@creator.co/creatorco-prisma-client 1.0.15-alpha-9e76a4a → 1.0.15-alpha-2abb938

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.
package/edge.js CHANGED
@@ -1214,7 +1214,7 @@ const config = {
1214
1214
  "value": "prisma-client-js"
1215
1215
  },
1216
1216
  "output": {
1217
- "value": "/home/runner/github-runner-WOZAaCyBqQzix/creator-database/creator-database/client/creatorco/client",
1217
+ "value": "/home/runner/github-runner-Gb2uibpFKEdBJ/creator-database/creator-database/client/creatorco/client",
1218
1218
  "fromEnvVar": null
1219
1219
  },
1220
1220
  "config": {
@@ -1281,8 +1281,8 @@ const config = {
1281
1281
  }
1282
1282
  }
1283
1283
  },
1284
- "inlineSchema": "Z2VuZXJhdG9yIGVyZCB7CiAgcHJvdmlkZXIgICAgICAgICAgICAgICAgICA9ICJwcmlzbWEtZXJkLWdlbmVyYXRvciIKICBpbmNsdWRlUmVsYXRpb25Gcm9tRmllbGRzID0gdHJ1ZQogIG91dHB1dCA9ICIuLi8uLi9kb2NzL2NyZWF0b3Jjb19lcmQubWQiCn0KCmdlbmVyYXRvciBreXNlbHkgewogIHByb3ZpZGVyICAgICAgICAgPSAicHJpc21hLWt5c2VseSIKICBvdXRwdXQgICAgICAgICAgID0gIi4uLy4uL2NsaWVudC9jcmVhdG9yY28va3lzZWx5IgogIGZpbGVOYW1lICAgICAgICAgPSAidHlwZXMudHMiCiAgZW51bUZpbGVOYW1lICAgICA9ICJlbnVtcy50cyIKICByZWFkT25seUlkcyAgICAgID0gdHJ1ZQogIGpzb25UeXBlT3ZlcnJpZGUgPSBKc29uCn0KCmdlbmVyYXRvciBjbGllbnQgewogIHByb3ZpZGVyICAgICAgICA9ICJwcmlzbWEtY2xpZW50LWpzIgogIG91dHB1dCAgICAgICAgICA9ICIuLi8uLi9jbGllbnQvY3JlYXRvcmNvL2NsaWVudCIKICBwcmV2aWV3RmVhdHVyZXMgPSBbImZ1bGxUZXh0SW5kZXgiLCAiZnVsbFRleHRTZWFyY2giXQogIC8vIG1hY29zIChhcm0gb3IgeDg2KSwgbmF0aXZlLCBsaW51eCBhcm02NCBzc2wzLngsIHdpbmRvd3MKICBiaW5hcnlUYXJnZXRzICAgPSBbIm5hdGl2ZSIsICJkYXJ3aW4iLCAiZGFyd2luLWFybTY0IiwgImxpbnV4LWFybTY0LW9wZW5zc2wtMy4wLngiLCAid2luZG93cyIsICJkZWJpYW4tb3BlbnNzbC0zLjAueCIsICJsaW51eC1tdXNsLWFybTY0LW9wZW5zc2wtMy4wLngiLCAibGludXgtYXJtNjQtb3BlbnNzbC0xLjAueCJdCn0KCmRhdGFzb3VyY2UgZGIgewogIHByb3ZpZGVyID0gInBvc3RncmVzcWwiCiAgdXJsICAgICAgPSBlbnYoIkRBVEFCQVNFX1VSTCIpCn0KCm1vZGVsIFVzZXIgewogIGlkICAgICAgICAgICAgICAgICAgSW50ICAgICAgICAgICAgIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkgQGlkCiAgcm9sZSAgICAgICAgICAgICAgICBTdHJpbmcKICBlbWFpbCAgICAgICAgICAgICAgIFN0cmluZz8gICAgICAgICBAdW5pcXVlCiAgcGFzc3dvcmQgICAgICAgICAgICBTdHJpbmc/CiAgcmVnaXN0ZXJlZCAgICAgICAgICBEYXRlVGltZSAgICAgICAgQGRlZmF1bHQobm93KCkpCiAgbGFzdExvZ2luRGF0ZSAgICAgICBEYXRlVGltZT8gCiAgZmlyc3ROYW1lICAgICAgICAgICBTdHJpbmc/CiAgbGFzdE5hbWUgICAgICAgICAgICBTdHJpbmc/CiAgcGhvbmUgICAgICAgICAgICAgICBTdHJpbmc/CiAgcGhvbmVDb2RlICAgICAgICAgICBJbnQ/CiAgcGhvbmVTaG9ydCAgICAgICAgICBTdHJpbmc/CiAgcHJvZmlsZVBpY1VybCAgICAgICBTdHJpbmc/ICAgICAgICAgQGRiLlZhckNoYXIoMjA4MykKICBmb3Jnb3RQYXNzd29yZEtleSAgIFN0cmluZz8gICAgICAgICBAdW5pcXVlCiAgYWZmaWxpYXRlU2x1ZyAgICAgICBTdHJpbmc/ICAgICAgICAgQHVuaXF1ZQogIGNsb3NlZCAgICAgICAgICAgICAgRGF0ZVRpbWU/CiAgY2xvc2VkUmVhc29uICAgICAgICBTdHJpbmc/CiAgdXNlcmNvbUxhc3RTeW5jZWQgICBEYXRlVGltZT8KICBleHRyYURhdGEgICAgICAgICAgIEpzb24gICAgICAgICAgICBAZGVmYXVsdCgie30iKQoKICByZWZlcnJlcklkIEludD8KCiAgcmVmZXJyZXIgICAgICAgICAgICBVc2VyPyAgICAgICAgICAgICAgICBAcmVsYXRpb24oIlJlZmVycmFscyIsIGZpZWxkczogW3JlZmVycmVySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHJlZmVycmVkVXNlcnMgICAgICAgVXNlcltdICAgICAgICAgICAgICAgQHJlbGF0aW9uKCJSZWZlcnJhbHMiKQogIGxvZ3MgICAgICAgICAgICAgICAgTG9nW10KICBjcmVhdG9yUHJvZmlsZSAgICAgIENyZWF0b3JQcm9maWxlPwogIGluc3RhZ3JhbVByb2ZpbGUgICAgSW5zdGFncmFtUHJvZmlsZT8KICB5b3V0dWJlUHJvZmlsZSAgICAgIFlvdXR1YmVQcm9maWxlPwogIHRpa3Rva1Byb2ZpbGUgICAgICAgVGlrdG9rUHJvZmlsZT8KICBmYWNlYm9va1Byb2ZpbGUgICAgIEZhY2Vib29rUHJvZmlsZT8KICB0d2l0dGVyUHJvZmlsZSAgICAgIFR3aXR0ZXJQcm9maWxlPwogIHR3aXRjaFByb2ZpbGUgICAgICAgVHdpdGNoUHJvZmlsZT8KICBicmFuZFByb2ZpbGVzICAgICAgIEJyYW5kVXNlclByb2ZpbGVbXQogIG9wdElucyAgICAgICAgICAgICAgT3B0SW5bXQogIGFzc2lnbmVkQnJhbmRzICAgICAgQnJhbmRbXQogIG1lc3NhZ2VzICAgICAgICAgICAgTWVzc2FnZVtdCiAgc29jaWFsUG9zdHMgICAgICAgICBTb2NpYWxQb3N0W10KICBwYXltZW50VHJhbnNhY3Rpb25zIFBheW1lbnRUcmFuc2FjdGlvbltdCiAgYWZmaWxpYXRlTGlua3MgICAgICBBZmZpbGlhdGVMaW5rW10KICBjYW1wYWlnblBpbnMgICAgICAgIENhbXBhaWduUGluW10KICBzb2NpYWxQcm9maWxlcyAgICAgIFNvY2lhbFByb2ZpbGVbXQogIHJha3V0ZW5BY3Rpdml0eSAgICAgUmFrdXRlbkFjdGl2aXR5W10KICBpbXBhY3RSYWRpdXNFdmVudHMgIEltcGFjdFJhZGl1c0V2ZW50W10KCiAgQEBtYXAoInVzZXIiKQogIC8vIEBAZnVsbHRleHQoW2ZpcnN0TmFtZSwgbGFzdE5hbWVdKQp9Cgptb2RlbCBMb2cgewogIGlkIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQoKICB1c2VySWQgSW50PwogIHVzZXIgICBVc2VyPyBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIGRhdGEgSnNvbj8KfQoKbW9kZWwgQ3JlYXRvclByb2ZpbGUgewogIGlkICAgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY291bnRyeSAgICAgICAgICBTdHJpbmc/CiAgcmVnaW9uICAgICAgICAgICBTdHJpbmc/CiAgYmlydGhEYXRlICAgICAgICBEYXRlVGltZT8KICBpbnRlcmVzdHMgICAgICAgIEpzb24/IC8vIGRlcHJlY2F0ZWQKICBnZW5kZXIgICAgICAgICAgIFN0cmluZz8KICBzaGlwcGluZ0FkZHJlc3MxIFN0cmluZz8KICBzaGlwcGluZ0FkZHJlc3MyIFN0cmluZz8KICBzaGlwcGluZ0NpdHkgICAgIFN0cmluZz8KICBzaGlwcGluZ1JlZ2lvbiAgIFN0cmluZz8KICBzaGlwcGluZ0NvdW50cnkgIFN0cmluZz8KICBzaGlwcGluZ1Bvc3Rjb2RlIFN0cmluZz8KICBwaHlsbG9Vc2VySWQgICAgIFN0cmluZz8KICBwcm9maWxlU2x1ZyAgICAgIFN0cmluZz8gICBAdW5pcXVlCiAgcHJvZmlsZVNldHRpbmdzICBKc29uPwogIHdhbGxldEFkZHJlc3MgICAgU3RyaW5nPyAgIEB1bmlxdWUKCiAgbmljaGVzIENyZWF0b3JUb0NhdGVnb3J5W10KCiAgdXNlcklkIEludCAgQHVuaXF1ZQogIHVzZXIgICBVc2VyIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBpbmRleChwaHlsbG9Vc2VySWQpCiAgQEBtYXAoImNyZWF0b3Jwcm9maWxlIikKfQoKbW9kZWwgSW5zdGFncmFtUHJvZmlsZSB7CiAgaWQgICAgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGluc3RhZ3JhbUlkIFN0cmluZz8KCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nCiAgdXJsICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBwcm9maWxlUGljVXJsIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgbGFzdFVwZGF0ZWQgICBEYXRlVGltZT8KCiAgZnVsbE5hbWUgICAgICAgICAgU3RyaW5nPyBAZGIuVmFyQ2hhcigxMDI0KQogIGlzQnVzaW5lc3MgICAgICAgIEJvb2xlYW4/CiAgaXNQcml2YXRlICAgICAgICAgQm9vbGVhbj8KICBpc1ZlcmlmaWVkICAgICAgICBCb29sZWFuPwogIG1lZGlhQ291bnQgICAgICAgIEludD8KICBmb2xsb3dpbmdDb3VudCAgICBJbnQ/CiAgdG90YWxDb21tZW50cyAgICAgSW50PwogIHRvdGFsTGlrZXMgICAgICAgIEludD8KICBhdmdDb21tZW50cyAgICAgICBGbG9hdD8KICBhdmdMaWtlcyAgICAgICAgICBGbG9hdD8KICBiaW8gICAgICAgICAgICAgICBTdHJpbmc/CiAgZXh0ZXJuYWxVcmwgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgaGFzSGlnaGxpZ2h0UmVlbHMgQm9vbGVhbj8KICBjYXRlZ29yeSAgICAgICAgICBTdHJpbmc/CiAgaGFzQ2xpcHMgICAgICAgICAgQm9vbGVhbj8KICBoYXNHdWlkZXMgICAgICAgICBCb29sZWFuPwogIGhhc0NoYW5uZWwgICAgICAgIEJvb2xlYW4/CiAgdG90YWxJZ3R2VmlkZW9zICAgSW50PwogIHByb2ZpbGVQaWNVcmxIZCAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKSAvLyBERVBSRUNBVEVECiAgbGFzdFN0b3JpZXNVcGRhdGUgRGF0ZVRpbWU/CgogIGV4dHJhRGF0YSAgICBKc29uPwogIHBoeWxsb0RhdGEgICBKc29uPwogIGF1ZGllbmNlRGF0YSBKc29uICAgIEBkZWZhdWx0KCJ7fSIpCiAgdmlzaWJpbGl0eSAgIFN0cmluZz8gQGRlZmF1bHQoInB1YmxpYyIpCgogIHVzZXJJZCAgSW50PyAgIEB1bmlxdWUKICB1c2VyICAgIFVzZXI/ICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgYnJhbmRJZCBJbnQ/ICAgQHVuaXF1ZQogIGJyYW5kICAgQnJhbmQ/IEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAaW5kZXgodXNlcm5hbWUpCiAgQEBpbmRleChpbnN0YWdyYW1JZCkKICBAQG1hcCgiaW5zdGFncmFtcHJvZmlsZSIpCn0KCm1vZGVsIFRpa3Rva1Byb2ZpbGUgewogIGlkICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpa3Rva0lkIFN0cmluZyBAdW5pcXVlCgogIC8vIGZpZWxkcyBjb25zaXN0ZW50IGFjY3Jvc3MgcHJvZmlsZXMKICB1c2VybmFtZSAgICAgIFN0cmluZz8KICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwoKICBoYW5kbGUgICAgICAgICBTdHJpbmc/CiAgbmlja25hbWUgICAgICAgU3RyaW5nPwogIGZvbGxvd2luZ0NvdW50IEludD8KICB0b3RhbENvbW1lbnRzICBJbnQ/CiAgdG90YWxMaWtlcyAgICAgSW50PwoKICBleHRyYURhdGEgICAgSnNvbj8KICBwaHlsbG9EYXRhICAgSnNvbj8KICBhdWRpZW5jZURhdGEgSnNvbiAgICBAZGVmYXVsdCgie30iKQogIHZpc2liaWxpdHkgICBTdHJpbmc/IEBkZWZhdWx0KCJwdWJsaWMiKQoKICB1c2VySWQgIEludD8gICBAdW5pcXVlCiAgdXNlciAgICBVc2VyPyAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGJyYW5kSWQgSW50PyAgIEB1bmlxdWUKICBicmFuZCAgIEJyYW5kPyBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQGluZGV4KHVzZXJuYW1lKQogIEBAbWFwKCJ0aWt0b2twcm9maWxlIikKfQoKbW9kZWwgWW91dHViZVByb2ZpbGUgewogIGlkICAgICAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB5b3V0dWJlSWQgU3RyaW5nIEB1bmlxdWUKCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nCiAgdXJsICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBwcm9maWxlUGljVXJsIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgbGFzdFVwZGF0ZWQgICBEYXRlVGltZT8KCiAgZm9sbG93aW5nQ291bnQgSW50PwogIGZ1bGxOYW1lICAgICAgIFN0cmluZz8gIEBkYi5WYXJDaGFyKDEwMjQpCiAgaXNWZXJpZmllZCAgICAgQm9vbGVhbj8KICBzdWJzY3JpYmVycyAgICBJbnQ/CiAgZGVzY3JpcHRpb24gICAgU3RyaW5nPyAgQGRiLlRleHQKICBjb3VudHJ5ICAgICAgICBTdHJpbmc/CiAgdG90YWxWaWV3cyAgICAgSW50PwogIHRvdGFsVmlkZW9zICAgIEludD8KCiAgZXh0cmFEYXRhICAgIEpzb24/CiAgcGh5bGxvRGF0YSAgIEpzb24/CiAgYXVkaWVuY2VEYXRhIEpzb24gICAgQGRlZmF1bHQoInt9IikKICB2aXNpYmlsaXR5ICAgU3RyaW5nPyBAZGVmYXVsdCgicHVibGljIikKCiAgdXNlcklkICBJbnQ/ICAgQHVuaXF1ZQogIHVzZXIgICAgVXNlcj8gIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBicmFuZElkIEludD8gICBAdW5pcXVlCiAgYnJhbmQgICBCcmFuZD8gQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBpbmRleCh1c2VybmFtZSkKICBAQG1hcCgieW91dHViZXByb2ZpbGUiKQp9Cgptb2RlbCBUd2l0Y2hQcm9maWxlIHsKICBpZCAgICAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0d2l0Y2hJZCBTdHJpbmcgQHVuaXF1ZQoKICAvLyBmaWVsZHMgY29uc2lzdGVudCBhY2Nyb3NzIHByb2ZpbGVzCiAgdXNlcm5hbWUgICAgICBTdHJpbmcgICAgQHVuaXF1ZQogIHVybCAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgcHJvZmlsZVBpY1VybCBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBmb2xsb3dlckNvdW50IEludD8KICBlbmdhZ2VtZW50ICAgIEZsb2F0PwogIGxhc3RVcGRhdGVkICAgRGF0ZVRpbWU/CgogIGV4dHJhRGF0YSAgSnNvbj8KICBwaHlsbG9EYXRhIEpzb24/CiAgdmlzaWJpbGl0eSBTdHJpbmc/IEBkZWZhdWx0KCJwdWJsaWMiKQoKICB1c2VySWQgSW50PyAgQHVuaXF1ZQogIHVzZXIgICBVc2VyPyBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJ0d2l0Y2hwcm9maWxlIikKfQoKbW9kZWwgRmFjZWJvb2tQcm9maWxlIHsKICBpZCAgICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGZhY2Vib29rSWQgU3RyaW5nIEB1bmlxdWUKCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwoKICBleHRyYURhdGEgIEpzb24/CiAgcGh5bGxvRGF0YSBKc29uPwogIHZpc2liaWxpdHkgU3RyaW5nPyBAZGVmYXVsdCgicHVibGljIikKCiAgdXNlcklkIEludD8gIEB1bmlxdWUKICB1c2VyICAgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgiZmFjZWJvb2twcm9maWxlIikKfQoKbW9kZWwgVHdpdHRlclByb2ZpbGUgewogIGlkICAgICAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0d2l0dGVySWQgU3RyaW5nIEB1bmlxdWUKCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwoKICBleHRyYURhdGEgIEpzb24/CiAgcGh5bGxvRGF0YSBKc29uPwogIHZpc2liaWxpdHkgU3RyaW5nPyBAZGVmYXVsdCgicHVibGljIikKCiAgdXNlcklkIEludD8gIEB1bmlxdWUKICB1c2VyICAgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgidHdpdHRlcnByb2ZpbGUiKQp9Cgptb2RlbCBCcmFuZFVzZXJQcm9maWxlIHsKICBpZCAgICAgIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHVzZXJJZCAgSW50CiAgYnJhbmRJZCBJbnQKCiAgdXNlciAgVXNlciAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGJyYW5kIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJicmFuZHVzZXJwcm9maWxlIikKfQoKbW9kZWwgQnJhbmQgewogIGlkICAgICAgICAgICAgICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIG5hbWUgICAgICAgICAgICAgICAgICAgIFN0cmluZwogIGRlc2NyaXB0aW9uICAgICAgICAgICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHdlYnNpdGUgICAgICAgICAgICAgICAgIFN0cmluZwogIG1vbnRobHlDb250YWN0cyAgICAgICAgIEludD8KICBtb250aGx5UmVwb3J0cyAgICAgICAgICBJbnQ/CiAgbGFzdENvbnRhY3REaXN0cmlidXRpb24gRGF0ZVRpbWU/CiAgbG9nb1VybCAgICAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgYWZmaWxpYXRlQmFzZVVybCAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgYWZmaWxpYXRlQ29tbWlzc2lvbiAgICAgRmxvYXQ/CiAgZXh0cmFEYXRhICAgICAgICAgICAgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCgogIHNwZWNpYWxpc3RJZCAgICAgICAgSW50PwogIGRlZGljYXRlZFNwZWNpYWxpc3QgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3NwZWNpYWxpc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgaW5zdGFncmFtUHJvZmlsZSAgICAgSW5zdGFncmFtUHJvZmlsZT8KICB5b3V0dWJlUHJvZmlsZSAgICAgICBZb3V0dWJlUHJvZmlsZT8KICB0aWt0b2tQcm9maWxlICAgICAgICBUaWt0b2tQcm9maWxlPwogIGNhbXBhaWducyAgICAgICAgICAgIENhbXBhaWduW10KICBicmFuZFVzZXJzICAgICAgICAgICBCcmFuZFVzZXJQcm9maWxlW10KICBzZWFyY2hDb250YWN0cyAgICAgICBTZWFyY2hDb250YWN0c1tdCiAgcmVwb3J0Q3JlZGl0cyAgICAgICAgUmVwb3J0Q3JlZGl0c1tdCiAgY2F0ZWdvcmllcyAgICAgICAgICAgQnJhbmRUb0NhdGVnb3J5W10KICBwYXltZW50VHJhbnNhY3Rpb25zICBQYXltZW50VHJhbnNhY3Rpb25bXQogIHNhdmVkZmlsZXMgICAgICAgICAgIFNhdmVkRmlsZVtdCiAgY3JlYXRvckxpc3RzICAgICAgICAgQ3JlYXRvckxpc3RbXQogIGFmZmlsaWF0ZUxpbmtzICAgICAgIEJyYW5kQWZmaWxpYXRlTGlua1tdCiAgbWVzc2FnZVRlbXBsYXRlICAgICAgTWVzc2FnZVRlbXBsYXRlW10KICBlbWFpbFRlbXBsYXRlcyAgICAgICBFbWFpbFRlbXBsYXRlW10KICBzb2NpYWxMaXN0ZW5pbmdMaXN0cyBTb2NpYWxMaXN0ZW5pbmdMaXN0W10KICBjYW1wYWlnbkludml0ZXMgICAgICBDYW1wYWlnbkludml0ZVtdCiAgaW1hZ2VzICAgICAgICAgICAgICAgQnJhbmRUb0ltYWdlW10KICBjcmVhdG9yc2VhcmNoZmlsdGVyICBDcmVhdG9yU2VhcmNoRmlsdGVyW10KICBzZXF1ZW5jZXMgICAgICAgICAgICBTZXF1ZW5jZVtdCiAgaW1wYWN0UmFkaXVzRXZlbnRzICAgSW1wYWN0UmFkaXVzRXZlbnRbXQoKICAgIC8vIGZvciBhZ2VuY2llcwogIHBhcmVudEJyYW5kSWQgICAgICAgSW50PwogIHBhcmVudEJyYW5kICAgICAgICAgQnJhbmQ/IEByZWxhdGlvbigiQ2hpbGRCcmFuZHMiLCBmaWVsZHM6IFtwYXJlbnRCcmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjaGlsZEJyYW5kcyAgICAgICAgIEJyYW5kW10gQHJlbGF0aW9uKCJDaGlsZEJyYW5kcyIpCiAgIC8vIGdlbmVyYXRlZCAoZm9yIHNlYXJjaCkKICBzZWFyY2hOYW1lICAgICAgICAgIFN0cmluZz8gQGRlZmF1bHQoZGJnZW5lcmF0ZWQoKSkKCiAgQEBtYXAoImJyYW5kIikKfQoKbW9kZWwgU2VhcmNoQ29udGFjdHMgewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdHlwZSAgICAgICBTdHJpbmcKICBwcmV2UXR5ICAgIEZsb2F0CiAgY2hhbmdlUXR5ICBGbG9hdAogIGN1cnJlbnRRdHkgRmxvYXQKICBjcmVhdGVkICAgIERhdGVUaW1lPyBAZGVmYXVsdChub3coKSkKCiAgcHJldlF0eVBvc3RJZCBJbnQ/ICAgICAgICAgICAgQHVuaXF1ZQogIHByZXZRdHlQb3N0ICAgU2VhcmNoQ29udGFjdHM/IEByZWxhdGlvbigicHJldlNlYXJjaFF0eVBvc3RJZCIsIGZpZWxkczogW3ByZXZRdHlQb3N0SWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG5leHRRdHlQb3N0ICAgU2VhcmNoQ29udGFjdHM/IEByZWxhdGlvbigicHJldlNlYXJjaFF0eVBvc3RJZCIpCgogIGJyYW5kSWQgSW50CiAgYnJhbmQgICBCcmFuZCBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJzZWFyY2hjb250YWN0cyIpCn0KCm1vZGVsIFJlcG9ydENyZWRpdHMgewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdHlwZSAgICAgICBTdHJpbmcKICBwcmV2UXR5ICAgIEZsb2F0CiAgY2hhbmdlUXR5ICBGbG9hdAogIGN1cnJlbnRRdHkgRmxvYXQKICBjcmVhdGVkICAgIERhdGVUaW1lPyBAZGVmYXVsdChub3coKSkKCiAgcHJldlF0eVBvc3RJZCBJbnQ/ICAgICAgICAgICBAdW5pcXVlCiAgcHJldlF0eVBvc3QgICBSZXBvcnRDcmVkaXRzPyBAcmVsYXRpb24oInByZXZSZXBvcnRzUXR5UG9zdElkIiwgZmllbGRzOiBbcHJldlF0eVBvc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgbmV4dFF0eVBvc3QgICBSZXBvcnRDcmVkaXRzPyBAcmVsYXRpb24oInByZXZSZXBvcnRzUXR5UG9zdElkIikKCiAgYnJhbmRJZCBJbnQKICBicmFuZCAgIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInJlcG9ydGNyZWRpdHMiKQp9Cgptb2RlbCBCcmFuZFRvSW1hZ2UgewogIGlkICAgICAgICAgIEludCAgIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkgQGlkCiAgYnJhbmRJZCAgICAgSW50CiAgdHlwZSAgICAgICAgU3RyaW5nCgogIGJyYW5kICAgICAgIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIHNpemVzICAgICAgIEJyYW5kSW1hZ2VbXQoKICBAQG1hcCgiYnJhbmR0b2ltYWdlIikKfQoKbW9kZWwgQnJhbmRUb0NhdGVnb3J5IHsKICBicmFuZElkICAgIEludAogIGNhdGVnb3J5SWQgSW50CgogIGNhbXBhaWduIEJyYW5kICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgY2F0ZWdvcnkgQ2F0ZWdvcnkgQHJlbGF0aW9uKGZpZWxkczogW2NhdGVnb3J5SWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQGlkKFticmFuZElkLCBjYXRlZ29yeUlkXSkKICBAQG1hcCgiYnJhbmR0b2NhdGVnb3J5IikKfQoKbW9kZWwgQ3JlYXRvclRvQ2F0ZWdvcnkgewogIGNyZWF0b3JQcm9maWxlSWQgSW50CiAgY2F0ZWdvcnlJZCAgICAgICBJbnQKCiAgY3JlYXRvclByb2ZpbGUgQ3JlYXRvclByb2ZpbGUgQHJlbGF0aW9uKGZpZWxkczogW2NyZWF0b3JQcm9maWxlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYXRlZ29yeSAgICAgICBDYXRlZ29yeSAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY2F0ZWdvcnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaWQoW2NyZWF0b3JQcm9maWxlSWQsIGNhdGVnb3J5SWRdKQp9Cgptb2RlbCBDaGF0IHsKICBpZCAgICAgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjcmVhdGVkICAgICAgICBEYXRlVGltZT8gQGRlZmF1bHQobm93KCkpCiAgY29udmVyc2F0aW9uSWQgU3RyaW5nPyAgIEB1bmlxdWUKICBtZXRhRGF0YSAgICAgICBKc29uICAgICAgQGRlZmF1bHQoInt9IikKCiAgb3B0SW5JZCBJbnQ/IEB1bmlxdWUKCiAgb3B0SW4gICAgT3B0SW4/ICAgIEByZWxhdGlvbihmaWVsZHM6IFtvcHRJbklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBtZXNzYWdlcyBNZXNzYWdlW10KCiAgQEBtYXAoImNoYXQiKQp9Cgptb2RlbCBNZXNzYWdlIHsKICBpZCAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNyZWF0ZWQgICAgRGF0ZVRpbWU/IEBkZWZhdWx0KG5vdygpKQogIHNlbmRlciAgICAgU3RyaW5nCiAgY29udGVudCAgICBTdHJpbmcgICAgQGRiLlRleHQKICByZWFkICAgICAgIEJvb2xlYW4gICBAZGVmYXVsdChmYWxzZSkKICB0eXBlICAgICAgIFN0cmluZyAgICBAZGVmYXVsdCgidGV4dCIpCiAgbWVzc2FnZVNpZCBTdHJpbmc/CgogIHVzZXJJZCBJbnQ/CiAgY2hhdElkIEludAoKICB1c2VyIFVzZXI/IEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNoYXQgQ2hhdCAgQHJlbGF0aW9uKGZpZWxkczogW2NoYXRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgibWVzc2FnZSIpCn0KCm1vZGVsIENhbXBhaWduIHsKICBpZCAgICAgICAgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICAgICAgICAgICAgICAgIFN0cmluZwogIHNsdWcgICAgICAgICAgICAgICAgICBTdHJpbmc/ICAgQHVuaXF1ZQogIHN0YXR1cyAgICAgICAgICAgICAgICBTdHJpbmcgICAgQGRlZmF1bHQoImRyYWZ0IikgLy8gZHJhZnQsIHBhdXNlZCwgcGVuZGluZywgcHJpdmF0ZSwgcHVibGlzaCwgdHJhc2gKICBkYXRlICAgICAgICAgICAgICAgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIHB1Ymxpc2hEYXRlICAgICAgICAgICBEYXRlVGltZT8KICBkZXNjcmlwdGlvbiAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5UZXh0CiAgcHJvZHVjdERlc2NyaXB0aW9uICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHByaXplRGVzY3JpcHRpb24gICAgICBTdHJpbmc/ICAgQGRiLlRleHQKICBzdHJhdGVneSAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkZWZhdWx0KCJzaG91dG91dCIpCiAgc29jaWFsQ2hhbm5lbCAgICAgICAgIFN0cmluZz8KICBzb2NpYWxDaGFubmVscyAgICAgICAgSnNvbj8KICBmYWNlYm9va1JlYWNoICAgICAgICAgSW50PwogIGZhY2Vib29rRW5nYWdlbWVudCAgICBGbG9hdD8KICBpbnN0YWdyYW1SZWFjaCAgICAgICAgSW50PwogIGluc3RhZ3JhbUVuZ2FnZW1lbnQgICBGbG9hdD8KICB5b3V0dWJlUmVhY2ggICAgICAgICAgSW50PwogIHlvdXR1YmVFbmdhZ2VtZW50ICAgICBGbG9hdD8KICB0d2l0dGVyUmVhY2ggICAgICAgICAgSW50PwogIHR3aXR0ZXJFbmdhZ2VtZW50ICAgICBGbG9hdD8KICB0aWt0b2tSZWFjaCAgICAgICAgICAgSW50PwogIHRpa3Rva0VuZ2FnZW1lbnQgICAgICBGbG9hdD8KICB0d2l0Y2hSZWFjaCAgICAgICAgICAgSW50PwogIHR3aXRjaEVuZ2FnZW1lbnQgICAgICBGbG9hdD8KICBxdWFudGl0eSAgICAgICAgICAgICAgSW50ICAgICAgIEBkZWZhdWx0KDApCiAgaG9sZENvc3QgICAgICAgICAgICAgIEZsb2F0PwogIHZhbHVlICAgICAgICAgICAgICAgICBGbG9hdD8KICBwYWlkQW1vdW50ICAgICAgICAgICAgRmxvYXQ/CiAgbWluQWdlICAgICAgICAgICAgICAgIEludD8KICBtYXhBZ2UgICAgICAgICAgICAgICAgSW50PwogIHZpc3VhbHMgICAgICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlRleHQKICBwaG90b1RhZ3MgICAgICAgICAgICAgSnNvbj8KICBoYXNodGFncyAgICAgICAgICAgICAgSnNvbj8KICBzdG9yeUhhc2h0YWdzICAgICAgICAgSnNvbj8KICBzdG9yeU1lbnRpb25zICAgICAgICAgSnNvbj8KICBjYXB0aW9uICAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5UZXh0CiAgcGFzc3dvcmQgICAgICAgICAgICAgIFN0cmluZz8KICBjb250ZW50Rm9ybWF0cyAgICAgICAgSnNvbj8KICBwYWlkQ2FtcGFpZ24gICAgICAgICAgQm9vbGVhbj8KICBtaW5QYWlkQW1vdW50ICAgICAgICAgRmxvYXQ/CiAgbWF4UGFpZEFtb3VudCAgICAgICAgIEZsb2F0PwogIHBheW1lbnRUeXBlICAgICAgICAgICBTdHJpbmc/CiAgbW9udGhseUFjdGl2YXRlZEdvYWwgIEludD8gLy8gUmVkdW5kYW50L0RlcHJlY2F0ZWQKICBleHBlY3RlZE9wdElucyAgICAgICAgSW50PyAvLyBSZWR1bmRhbnQvRGVwcmVjYXRlZAogIGdvYWxBY3RpdmF0aW9ucyAgICAgICBGbG9hdD8KICBnb2FsT3B0SW5zICAgICAgICAgICAgRmxvYXQ/CiAgcmVxdWlyZXNTaGlwcGluZyAgICAgIEJvb2xlYW4/CiAgZGlzYWJsZVF1YWxpZmljYXRpb25zIEJvb2xlYW4/CiAgZGlzYWJsZUFjdGl2YXRpb25zICAgIEJvb2xlYW4/CiAgYWZmaWxpYXRlTGlua1BhdGggICAgIFN0cmluZz8KICBtZXRhRGF0YSAgICAgICAgICAgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCgogIHN0ZXBzICAgICAgICBDYW1wYWlnblN0ZXBbXQogIGNhdGVnb3JpZXMgICBDYW1wYWlnblRvQ2F0ZWdvcnlbXQogIG9wdElucyAgICAgICBPcHRJbltdCiAgaW1hZ2VzICAgICAgIENhbXBhaWduVG9JbWFnZVtdCiAgdmFyaWFibGVzICAgIFZhcmlhYmxlW10KICBjb3VudHJpZXMgICAgQ2FtcGFpZ25Ub0NvdW50cnlbXQogIGNhbXBhaWduUGlucyBDYW1wYWlnblBpbltdCiAgc29jaWFsUG9zdHMgIFNvY2lhbFBvc3RbXQogIGNhbXBhaWduSW52aXRlcyBDYW1wYWlnbkludml0ZVtdCgogIGJyYW5kSWQgICAgICBJbnQKICBicmFuZCAgICAgICAgQnJhbmQgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNyZWF0b3JMaXN0cyBDcmVhdG9yTGlzdFtdCiAgb3B0SW5WaWV3cyAgIE9wdEluVmlld1tdCiAgc2VxdWVuY2VzICAgIFNlcXVlbmNlW10KCiAgQEBtYXAoImNhbXBhaWduIikKfQoKbW9kZWwgQ2FtcGFpZ25QaW4gewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdXNlcklkICAgICBJbnQKICBjYW1wYWlnbklkIEludAogIGNyZWF0ZWQgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIG5vdGlmaWVkICAgRGF0ZVRpbWU/CgogIHVzZXIgICAgIFVzZXIgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnbiBDYW1wYWlnbiBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgiY2FtcGFpZ25waW4iKQp9Cgptb2RlbCBDYW1wYWlnblRvSW1hZ2UgewogIGlkICAgICAgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY2FtcGFpZ25JZCBJbnQKICB0eXBlICAgICAgIFN0cmluZwoKICBjYW1wYWlnbiBDYW1wYWlnbiBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBzaXplcyBJbWFnZVtdCgogIEBAbWFwKCJjYW1wYWlnbnRvaW1hZ2UiKQp9Cgptb2RlbCBDYW1wYWlnblRvQ2F0ZWdvcnkgewogIGNhbXBhaWduSWQgSW50CiAgY2F0ZWdvcnlJZCBJbnQKCiAgY2FtcGFpZ24gQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYXRlZ29yeSBDYXRlZ29yeSBAcmVsYXRpb24oZmllbGRzOiBbY2F0ZWdvcnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaWQoW2NhbXBhaWduSWQsIGNhdGVnb3J5SWRdKQogIEBAbWFwKCJjYW1wYWlnbnRvY2F0ZWdvcnkiKQp9Cgptb2RlbCBDYW1wYWlnblRvQ291bnRyeSB7CiAgY2FtcGFpZ25JZCBJbnQKICBjb3VudHJ5SWQgIEludAoKICBjYW1wYWlnbiBDYW1wYWlnbiBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNvdW50cnkgIENvdW50cnkgIEByZWxhdGlvbihmaWVsZHM6IFtjb3VudHJ5SWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQGlkKFtjYW1wYWlnbklkLCBjb3VudHJ5SWRdKQogIEBAbWFwKCJjYW1wYWlnbnRvY291bnRyeSIpCn0KCm1vZGVsIFZhcmlhYmxlIHsKICBpZCAgICAgICAgICBJbnQgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICAgICAgU3RyaW5nCiAgZGVzY3JpcHRpb24gU3RyaW5nPyBAZGIuVGV4dAogIG1ldGFEYXRhICAgIEpzb24gICAgQGRlZmF1bHQoInt9IikKCiAgY2FtcGFpZ25JZCBJbnQKCiAgY2FtcGFpZ24gQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgb3B0aW9ucyAgICAgICAgVmFyaWFibGVPcHRpb25bXQogIG9wdEluVmFyaWFibGVzIE9wdEluVmFyaWFibGVbXQp9Cgptb2RlbCBWYXJpYWJsZU9wdGlvbiB7CiAgaWQgICAgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpdGxlICAgICAgIFN0cmluZwogIGRlc2NyaXB0aW9uIFN0cmluZz8gQGRiLlRleHQKICBtZXRhRGF0YSAgICBKc29uICAgIEBkZWZhdWx0KCJ7fSIpCgogIHZhcmlhYmxlSWQgSW50CgogIHZhcmlhYmxlIFZhcmlhYmxlIEByZWxhdGlvbihmaWVsZHM6IFt2YXJpYWJsZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIG9wdEluVmFyaWFibGVzIE9wdEluVmFyaWFibGVbXQp9Cgptb2RlbCBTdGVwIHsKICBpZCAgICAgICAgICBJbnQgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc2x1ZyAgICAgICAgU3RyaW5nICBAdW5pcXVlCiAgdGl0bGUgICAgICAgU3RyaW5nPwogIGRlc2NyaXB0aW9uIFN0cmluZz8gQGRiLlRleHQKICBkYXRhICAgICAgICBKc29uPwoKICBjYW1wYWlnblN0ZXBzIENhbXBhaWduU3RlcFtdCgogIEBAbWFwKCJzdGVwIikKfQoKbW9kZWwgQ2FtcGFpZ25TdGVwIHsKICBpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKSBAaWQKICBwbGFjZW1lbnQgICAgICAgICAgICAgICAgICAgICBJbnQKICBzdGVwU2V0dGluZ3MgICAgICAgICAgICAgICAgICBKc29uPwogIGFjdGlvbmVlICAgICAgICAgICAgICAgICAgICAgIFN0cmluZz8KICBpbnN0cnVjdGlvbnMgICAgICAgICAgICAgICAgICBTdHJpbmc/IEBkYi5UZXh0CiAgY3VzdG9tU3RlcFRpdGxlICAgICAgICAgICAgICAgU3RyaW5nPwogIGN1c3RvbUZvcm0gICAgICAgICAgICAgICAgICAgIEpzb24/CiAgbWV0YURhdGEgICAgICAgICAgICAgICAgICAgICAgSnNvbiBAZGVmYXVsdCgie30iKQogIGNhbXBhaWduSWQgICAgSW50CiAgc3RlcElkICAgICAgICBJbnQ/CgogIGNhbXBhaWduICAgICAgQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBzdGVwICAgICAgICAgIFN0ZXA/ICAgIEByZWxhdGlvbihmaWVsZHM6IFtzdGVwSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGN1cnJlbnRPcHRJbnMgT3B0SW5bXQoKICBvcHRJblN0ZXBzIE9wdEluU3RlcFtdCgogIEBAbWFwKCJjYW1wYWlnbnN0ZXAiKQp9Cgptb2RlbCBPcHRJblN0ZXAgewogIGlkICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjb21wbGV0ZWQgRGF0ZVRpbWU/CiAgZGF0YSAgICAgIEpzb24/CgogIG9wdEluSWQgICAgICAgIEludAogIGNhbXBhaWduU3RlcElkIEludAogIHNvY2lhbFBvc3RJZCAgIEludD8gLy8gdGVtcG9yYXJ5IGZvciBtb3Zpbmcgc2hvdXRvdXREYXRhIHRvIHNvY2lhbFBvc3RzCgogIG9wdEluICAgICAgICBPcHRJbiAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW29wdEluSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnblN0ZXAgQ2FtcGFpZ25TdGVwIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnblN0ZXBJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgib3B0aW5zdGVwIikKfQoKbW9kZWwgQ2F0ZWdvcnkgewogIGlkICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHNsdWcgIFN0cmluZyBAdW5pcXVlCiAgdGl0bGUgU3RyaW5nCgogIGNhbXBhaWducyBDYW1wYWlnblRvQ2F0ZWdvcnlbXQogIGJyYW5kcyAgICBCcmFuZFRvQ2F0ZWdvcnlbXQogIGNyZWF0b3JzICBDcmVhdG9yVG9DYXRlZ29yeVtdCgogIEBAbWFwKCJjYXRlZ29yeSIpCn0KCm1vZGVsIE9wdEluIHsKICBpZCAgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc3RhdHVzICAgICAgICAgIFN0cmluZyAgICBAZGVmYXVsdCgicGVuZGluZyIpCiAgY3JlYXRlZCAgICAgICAgIERhdGVUaW1lICBAZGVmYXVsdChub3coKSkKICBhY3RpdmF0ZWQgICAgICAgRGF0ZVRpbWU/CiAgY29tcGxldGVkICAgICAgIERhdGVUaW1lPwogIGNhbmNlbGxlZCAgICAgICBEYXRlVGltZT8KICBjYW5jZWxsZWREYXRhICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgY2FuY2VsUmVxdWVzdGVkIERhdGVUaW1lPwogIHJlaW52aXRlZCAgICAgICBEYXRlVGltZT8KICBzZWVuICAgICAgICAgICAgQm9vbGVhbiAgIEBkZWZhdWx0KGZhbHNlKQogIGluc3RydWN0aW9ucyAgICBTdHJpbmc/ICAgQGRiLlRleHQKICBwYXltZW50QW1vdW50ICAgRmxvYXQ/CiAgcGF5bWVudFN0YXR1cyAgIFN0cmluZyAgICBAZGVmYXVsdCgicGVuZGluZyIpCiAgZXh0cmFEYXRhICAgICAgIEpzb24gICAgICBAZGVmYXVsdCgie30iKQoKICB1c2VySWQgICAgICAgIEludAogIGNhbXBhaWduSWQgICAgSW50CiAgY3VycmVudFN0ZXBJZCBJbnQ/CgogIHVzZXIgICAgICAgIFVzZXIgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhbXBhaWduICAgIENhbXBhaWduICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjdXJyZW50U3RlcCBDYW1wYWlnblN0ZXA/IEByZWxhdGlvbihmaWVsZHM6IFtjdXJyZW50U3RlcElkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgdmFyaWFibGVzICBPcHRJblZhcmlhYmxlW10KICBvcHRJblN0ZXBzIE9wdEluU3RlcFtdCiAgY2hhdCAgICAgICBDaGF0PwogIGNhbXBhaWduSW52aXRlcyBDYW1wYWlnbkludml0ZVtdCgogIEBAbWFwKCJvcHRpbiIpCn0KCm1vZGVsIE9wdEluVmFyaWFibGUgewogIGlkIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQoKICBvcHRJbklkICAgICAgICAgIEludAogIHZhcmlhYmxlSWQgICAgICAgSW50CiAgc2VsZWN0ZWRPcHRpb25JZCBJbnQKCiAgb3B0SW4gICAgICAgICAgT3B0SW4gICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW29wdEluSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICB2YXJpYWJsZSAgICAgICBWYXJpYWJsZSAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdmFyaWFibGVJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHNlbGVjdGVkT3B0aW9uIFZhcmlhYmxlT3B0aW9uIEByZWxhdGlvbihmaWVsZHM6IFtzZWxlY3RlZE9wdGlvbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCn0KCm1vZGVsIFNvY2lhbFBvc3QgewogIGlkICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHBoeWxsb0lkICAgIFN0cmluZz8gICBAdW5pcXVlCiAgbWV0YURhdGEgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgZGF0YSAgICAgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpIC8vIERFUFJFQ0FURUQsIFVTRSBtZXRhRGF0YSBpbnN0ZWFkLCBzZWVtcyB0byBiZSBhbiBlcnJvciB3aGVuIGF0dGVtcHRpbmcgdG8gcmVtb3ZlIHRoaXMgZmllbGQsIHByb2FiYWJseSBkdWUgdG8gdGFibGUgc2l6ZQogIGxhc3RGZXRjaGVkIERhdGVUaW1lPwogIGxhc3RXZWJob29rIERhdGVUaW1lPwogIGlzU3RhbGUgICAgIEJvb2xlYW4/IC8vIFRPRE86IHRoaXMgZmllbGQgaXMgaGVyZSBiZWNhdXNlIHByaXNtYSBkb2Vzbid0IHN1cHBvcnQgY29tcGFyaW5nIG9uZSBjb2x1bW4gdG8gYW5vdGhlciwgaWRlYWxseSB3ZSBjb3VsZCBqdXN0IGNoZWNrIGlmIGxhc3RGZXRjaGVkID4gbGFzdFdlYmhvb2sgYnV0IGZvciBub3cgd2UgbmVlZCB0byBjb250cm9sL2NoZWNrIHRoaXMgZmllbGQKCiAgLy8gQkFTSUMgSU5GTwogIHBvc3RlZCAgICAgICAgICAgICBEYXRlVGltZT8KICB0aXRsZSAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5UZXh0CiAgZGVzY3JpcHRpb24gICAgICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHVybCAgICAgICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICB1cmxQYXRoICAgICAgICAgICAgU3RyaW5nPyAgIEB1bmlxdWUgLy8gVGhpcyBpcyBoZXJlIHNvIHdlIGhhdmUgc29tZSBleHRlcm5hbCBpZGVudGlmaWVyIHRvIHF1aWNrbHkgc2VhcmNoIGJ5CiAgZm9ybWF0ICAgICAgICAgICAgIFN0cmluZz8KICB0eXBlICAgICAgICAgICAgICAgU3RyaW5nPwogIHBsYXRmb3JtICAgICAgICAgICBTdHJpbmc/CiAgdmlzaWJpbGl0eSAgICAgICAgIFN0cmluZz8KICBpc1Nwb25zb3JlZCAgICAgICAgQm9vbGVhbj8KICBoYXNDb2xsYWJvcmF0b3JzICAgQm9vbGVhbj8KICBpc093bmVkQnlVc2VyICAgICAgQm9vbGVhbj8KICAvLyBNRVRSSUNTCiAgdmlld3MgICAgICAgICAgICAgIEludD8KICBpbXByZXNzaW9ucyAgICAgICAgSW50PwogIGltcHJlc3Npb25zT3JnYW5pYyBJbnQ/CiAgaW1wcmVzc2lvbnNQYWlkICAgIEludD8KICByZWFjaCAgICAgICAgICAgICAgSW50PwogIHJlYWNoT3JnYW5pYyAgICAgICBJbnQ/CiAgcmVhY2hQYWlkICAgICAgICAgIEludD8KICB3YXRjaEhvdXJzICAgICAgICAgRmxvYXQ/CiAgLy8gRU5HQUdFTUVOVCBNRVRSSUNTCiAgbGlrZXMgICAgICAgICAgICAgIEludD8KICBkaXNsaWtlcyAgICAgICAgICAgSW50PwogIGNvbW1lbnRzICAgICAgICAgICBJbnQ/CiAgc2F2ZXMgICAgICAgICAgICAgIEludD8KICBzaGFyZXMgICAgICAgICAgICAgSW50PwoKICB1c2VySWQgICAgIEludD8KICBjYW1wYWlnbklkIEludD8KCiAgdXNlciAgICAgVXNlcj8gICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNhbXBhaWduIENhbXBhaWduPyAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgbGlzdHMgICAgTGlzdFRvU29jaWFsUG9zdFtdCgogIHNvY2lhbFBvc3RUYWdzIFNvY2lhbFBvc3RUYWdbXQoKICBAQGluZGV4KGNhbXBhaWduSWQpCiAgQEBpbmRleChpc1N0YWxlKQogIEBAaW5kZXgodXNlcklkKQogIEBAaW5kZXgocGxhdGZvcm0pCiAgQEBpbmRleCh0eXBlKQogIEBAaW5kZXgoZm9ybWF0KQogIAogIEBAbWFwKCJzb2NpYWxwb3N0IikKfQoKbW9kZWwgU29jaWFsUG9zdFRhZyB7CiAgaWQgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgU3RyaW5nCiAgdHlwZSAgU3RyaW5nCgogIHNvY2lhbFBvc3RJZCBJbnQKCiAgc29jaWFsUG9zdCBTb2NpYWxQb3N0IEByZWxhdGlvbihmaWVsZHM6IFtzb2NpYWxQb3N0SWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQGluZGV4KFt0aXRsZSwgdHlwZV0pCiAgQEBtYXAoInNvY2lhbHBvc3R0YWciKQp9Cgptb2RlbCBJbWFnZSB7CiAgaWQgICAgICAgICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHVybCAgICAgICAgICAgICBTdHJpbmcgQGRiLlZhckNoYXIoMjA4MykKICBzaXplICAgICAgICAgICAgU3RyaW5nCiAgY2FtcGFpZ25JbWFnZUlkIEludAoKICBjYW1wYWlnbkltYWdlIENhbXBhaWduVG9JbWFnZSBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JbWFnZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJpbWFnZSIpCn0KCm1vZGVsIEJyYW5kSW1hZ2UgewogIGlkICAgICAgICAgICAgICBJbnQgICBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpIEBpZAogIHVybCAgICAgICAgICAgICBTdHJpbmcgQGRiLlZhckNoYXIoMjA4MykKICBzaXplICAgICAgICAgICAgU3RyaW5nCiAgYnJhbmRJbWFnZUlkICAgIEludAoKICBicmFuZEltYWdlICAgICAgQnJhbmRUb0ltYWdlIEByZWxhdGlvbihmaWVsZHM6IFticmFuZEltYWdlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBAQG1hcCgiYnJhbmRpbWFnZSIpCn0KCm1vZGVsIENvdW50cnkgewogIGlkICAgICAgICAgIEludCAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjb3VudHJ5Q29kZSBTdHJpbmcgIEB1bmlxdWUgQGRiLlZhckNoYXIoMikKICBjb3VudHJ5TmFtZSBTdHJpbmcgIEBkYi5WYXJDaGFyKDUwMCkKICB0ZWxlQ29kZSAgICBTdHJpbmcgIEBkYi5WYXJDaGFyKDEwKQogIHN0YXRlcyAgICAgIFN0YXRlW10KCiAgY2FtcGFpZ25zIENhbXBhaWduVG9Db3VudHJ5W10KCiAgQEBtYXAoImNvdW50cnkiKQp9Cgptb2RlbCBTdGF0ZSB7CiAgaWQgICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNvdW50cnlJZCBJbnQKICBzdGF0ZUNvZGUgU3RyaW5nIEBkYi5WYXJDaGFyKDUwKQogIHN0YXRlTmFtZSBTdHJpbmcgQGRiLlZhckNoYXIoNTAwKQoKICBjb3VudHJ5IENvdW50cnkgQHJlbGF0aW9uKGZpZWxkczogW2NvdW50cnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJzdGF0ZSIpCn0KCm1vZGVsIFBheW1lbnRUcmFuc2FjdGlvbiB7CiAgaWQgICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgYW1vdW50ICAgIEZsb2F0CiAgYmFsYW5jZSAgIEZsb2F0CiAgdHlwZSAgICAgIFN0cmluZwogIGRhdGUgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBub3RlcyAgICAgU3RyaW5nPyAgQGRiLlRleHQKICBtZXRhRGF0YSAgSnNvbiAgICAgQGRlZmF1bHQoInt9IikKICBhY2NvdW50SWQgSW50CgogIGJyYW5kSWQgICAgICAgICAgIEludD8KICBjcmVhdG9ySWQgICAgICAgICBJbnQ/CiAgcHJldlRyYW5zYWN0aW9uSWQgSW50PyBAdW5pcXVlCgogIGJyYW5kICAgICAgICAgICBCcmFuZD8gICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjcmVhdG9yICAgICAgICAgVXNlcj8gICAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY3JlYXRvcklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBwcmV2VHJhbnNhY3Rpb24gUGF5bWVudFRyYW5zYWN0aW9uPyBAcmVsYXRpb24oIlRyYW5zYWN0aW9uSGlzdG9yeSIsIGZpZWxkczogW3ByZXZUcmFuc2FjdGlvbklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBuZXh0VHJhbnNhY3Rpb24gUGF5bWVudFRyYW5zYWN0aW9uPyBAcmVsYXRpb24oIlRyYW5zYWN0aW9uSGlzdG9yeSIpCn0KCm1vZGVsIEJyYW5kQWZmaWxpYXRlTGluayB7CiAgaWQgICAgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjcmVhdGVkICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBkZXNjcmlwdGlvbiBTdHJpbmc/CiAgdXJsUGF0aCAgICAgU3RyaW5nCiAgY29tbWlzc2lvbiAgRmxvYXQgICAgQGRlZmF1bHQoMC4yKQogIG1ldGFEYXRhICAgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGJyYW5kSWQgICAgICAgIEludAogIGFmZmlsaWF0ZUxpbmtzIEFmZmlsaWF0ZUxpbmtbXQoKICBicmFuZCBCcmFuZCBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCn0KCm1vZGVsIEFmZmlsaWF0ZUxpbmsgewogIGlkICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY3JlYXRlZCAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgbWV0YURhdGEgSnNvbiAgICAgQGRlZmF1bHQoInt9IikKCiAgdXNlcklkICAgICAgICAgICAgICAgSW50CiAgYnJhbmRBZmZpbGlhdGVMaW5rSWQgSW50CiAgYWZmaWxpYXRlQ2xpY2tzICAgICAgQWZmaWxpYXRlQ2xpY2tbXQoKICBhZmZpbGlhdGUgICAgICAgICAgVXNlciAgICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGJyYW5kQWZmaWxpYXRlTGluayBCcmFuZEFmZmlsaWF0ZUxpbmsgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kQWZmaWxpYXRlTGlua0lkXSwgcmVmZXJlbmNlczogW2lkXSkKfQoKbW9kZWwgQWZmaWxpYXRlQ2xpY2sgewogIGlkICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNyZWF0ZWQgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICB2aXNpdG9ySXAgU3RyaW5nPwogIG1ldGFEYXRhICBKc29uICAgICBAZGVmYXVsdCgie30iKQoKICBhZmZpbGlhdGVMaW5rSWQgSW50CgogIGFmZmlsaWF0ZUxpbmsgIEFmZmlsaWF0ZUxpbmsgICAgQHJlbGF0aW9uKGZpZWxkczogW2FmZmlsaWF0ZUxpbmtJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgYWZmaWxpYXRlRXZlbnQgQWZmaWxpYXRlRXZlbnRbXQp9Cgptb2RlbCBBZmZpbGlhdGVFdmVudCB7CiAgaWQgICAgICAgICAgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBldmVudCAgICAgICAgICAgICBTdHJpbmcgLy8gY2xpY2ssIHB1cmNoYXNlLCBldGMuCiAgY3JlYXRlZCAgICAgICAgICAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgdmlzaXRvcklwICAgICAgICAgU3RyaW5nPwogIHVybFBhdGggICAgICAgICAgIFN0cmluZz8KICByZXZlbnVlICAgICAgICAgICBGbG9hdD8KICBjb21taXNzaW9uQW1vdW50ICBGbG9hdD8KICBjb21taXNzaW9uUGVyY2VudCBGbG9hdD8KICBtZXRhRGF0YSAgICAgICAgICBKc29uICAgICBAZGVmYXVsdCgie30iKQoKICBhZmZpbGlhdGVDbGlja0lkIEludAoKICBhZmZpbGlhdGVDbGljayBBZmZpbGlhdGVDbGljaz8gQHJlbGF0aW9uKGZpZWxkczogW2FmZmlsaWF0ZUNsaWNrSWRdLCByZWZlcmVuY2VzOiBbaWRdKQp9Cgptb2RlbCBTYXZlZEZpbGUgewogIGlkICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0aXRsZSAgICAgU3RyaW5nPwogIHR5cGUgICAgICBTdHJpbmc/IC8vIGF1ZGllbmNlLXJlcG9ydCwgc2VhcmNoLWV4cG9ydCwgY2FtcGFpZ24taW52aXRlCiAgdXJsICAgICAgIFN0cmluZz8KICBzYXZlZERhdGUgRGF0ZVRpbWU/CiAgbWV0YURhdGEgIEpzb24/ICAgICBAZGVmYXVsdCgie30iKQoKICBicmFuZElkIEludD8KICBicmFuZCAgIEJyYW5kPyBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJzYXZlZGZpbGUiKQp9Cgptb2RlbCBDYW1wYWlnbkludml0ZSB7CiAgaWQgICAgICAgICAgICAgICAgSW50IEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkgQGlkCiAgc29jaWFsUHJvZmlsZUlkICAgSW50PyAKICBicmFuZElkICAgICAgICAgICBJbnQKICBjYW1wYWlnbklkICAgICAgICBJbnQ/CiAgb3B0SW5JZCAgICAgICAgICAgSW50PyBAdW5pcXVlCiAgY29kZSAgICAgICAgICAgICAgU3RyaW5nPyBAdW5pcXVlCiAgY3JlYXRlZEF0ICAgICAgICAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgZGVjbGluZURhdGUgICAgICBEYXRlVGltZT8KICBkZWNsaW5lUmVhc29uICAgIFN0cmluZz8gIEBkYi5UZXh0CiAgCiAgbWV0YURhdGEgICAgICAgICAgSnNvbj8gQGRlZmF1bHQoInt9IikKCiAgYnJhbmQgICAgICAgICAgICAgQnJhbmQgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnbiAgICAgICAgICBDYW1wYWlnbj8gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHNvY2lhbFByb2ZpbGUgICAgIFNvY2lhbFByb2ZpbGU/IEByZWxhdGlvbihmaWVsZHM6IFtzb2NpYWxQcm9maWxlSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG9wdEluICAgICAgICAgICAgIE9wdEluPyBAcmVsYXRpb24oZmllbGRzOiBbb3B0SW5JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgCn0KCm1vZGVsIENyZWF0b3JMaXN0IHsKICBpZCAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGJyYW5kSWQgICAgSW50CiAgY2FtcGFpZ25JZCBJbnQ/CiAgY3JlYXRlZCAgICBEYXRlVGltZSAgQGRlZmF1bHQobm93KCkpCiAgYXJjaGl2ZWQgICBEYXRlVGltZT8KICB0aXRsZSAgICAgIFN0cmluZwogIG1ldGFEYXRhICAgSnNvbj8gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGNyZWF0b3JzICBDcmVhdG9yTGlzdEl0ZW1bXQogIGJyYW5kICAgICBCcmFuZCAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhbXBhaWduICBDYW1wYWlnbj8gICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgc2VxdWVuY2VzIFNlcXVlbmNlW10KCiAgQEBtYXAoImNyZWF0b3JsaXN0IikKfQoKbW9kZWwgQ3JlYXRvckxpc3RJdGVtIHsKICBpZCAgICAgICAgICAgICAgSW50IEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc29jaWFsUHJvZmlsZUlkIEludAogIGNyZWF0b3JMaXN0SWQgICBJbnQKCiAgc2F2ZWQgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIGludml0ZWQgIERhdGVUaW1lPwogIHRhZ3MgICAgIEpzb24/CiAgZmVlZGJhY2sgU3RyaW5nPyAgIEBkYi5UZXh0CiAgYXJjaGl2ZWQgRGF0ZVRpbWU/CiAgbWV0YURhdGEgSnNvbj8gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGNyZWF0b3JMaXN0ICAgQ3JlYXRvckxpc3QgICAgQHJlbGF0aW9uKGZpZWxkczogW2NyZWF0b3JMaXN0SWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBzb2NpYWxQcm9maWxlIFNvY2lhbFByb2ZpbGU/IEByZWxhdGlvbihmaWVsZHM6IFtzb2NpYWxQcm9maWxlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICAKICBzZXF1ZW5jZU91dGJvdW5kRW1haWxzICBTZXF1ZW5jZU91dGJvdW5kRW1haWxbXQogIHNlcXVlbmNlSW5ib3VuZEVtYWlscyAgIFNlcXVlbmNlSW5ib3VuZEVtYWlsW10KICBzZXF1ZW5jZUltYXBDaGVja3BvaW50cyBTZXF1ZW5jZUltYXBDaGVja3BvaW50W10KCiAgQEBtYXAoImNyZWF0b3JsaXN0aXRlbSIpCn0KCm1vZGVsIFNvY2lhbFByb2ZpbGUgewogIGlkICAgICAgIEludCAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBzb2NpYWxJZCBTdHJpbmc/IEB1bmlxdWUgLy8gbmVlZCB0byBtYWtlIHN1cmUgdGhpcyBjYW4gbmV2ZXIgb3ZlcmxhcCBhY3Jvc3MgbXVsdGlwbGUgcGxhdGZvcm1zLCB3ZSBzaG91bGQgYXBwZW5kIHRoZSBwbGF0Zm9ybSB0byB0aGUgYmVnaW5uaW5nIHRvIGVuc3VyZSBpdOKAmXMgYWx3YXlzIHVuaXF1ZQogIHVzZXJJZCAgIEludD8gLy8gcmVnaXN0ZXJlZCB1c2VyIGlkLCBpZiBhdmFpbGFibGUKCiAgLy8gc29jaWFsIGRhdGEKICBwbGF0Zm9ybSAgICAgIFN0cmluZwogIHVzZXJuYW1lICAgICAgU3RyaW5nCiAgZnVsbG5hbWUgICAgICBTdHJpbmc/ICBAZGIuVmFyQ2hhcigxMDI0KQogIHByb2ZpbGVVcmwgICAgU3RyaW5nPwogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgQGRiLlZhckNoYXIoMjA4MykgLy8gbmVlZCB0byBzcGVjaWZ5IGxlbmd0aCwgZGVmYXVsdCBzaXplIGlzIHRvbyBzbWFsbAogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgYXZnVmlld3MgICAgICBJbnQ/CiAgdmVyaWZpZWQgICAgICBCb29sZWFuPwogIG1ldGFEYXRhICAgICAgSnNvbiAgICAgQGRlZmF1bHQoInt9IikKICBhdWRpZW5jZURhdGEgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCiAgcGh5bGxvRGF0YSAgICBKc29uICAgICBAZGVmYXVsdCgie30iKQoKICBjcmVhdGVkIERhdGVUaW1lICBAZGVmYXVsdChub3coKSkKICB1cGRhdGVkIERhdGVUaW1lPwoKICBjcmVhdG9yTGlzdEl0ZW1zICBDcmVhdG9yTGlzdEl0ZW1bXQogIGNhbXBhaWduSW52aXRlcyAgIENhbXBhaWduSW52aXRlW10KICB1c2VyICAgICAgICAgICAgICBVc2VyPyAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBpbmRleCh1c2VybmFtZSkKICBAQGluZGV4KHVzZXJJZCkKICBAQG1hcCgic29jaWFscHJvZmlsZSIpCn0KCm1vZGVsIE1lc3NhZ2VUZW1wbGF0ZSB7CiAgaWQgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGxhYmVsICAgIFN0cmluZz8KICB0ZW1wbGF0ZSBTdHJpbmcgIEBkYi5UZXh0CiAgYnJhbmRJZCAgSW50PwogIGJyYW5kICAgIEJyYW5kPyAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG1ldGFEYXRhIEpzb24gICAgQGRlZmF1bHQoInt9IikgLy8gdG8gc2F2ZSBhbnkgYWRkaXRpb25hbCBkYXRhIHN1Y2ggYXMgdXNlciBkZWZpbmVkIHZhcmlhYmxlcwoKICBAQG1hcCgibWVzc2FnZXRlbXBsYXRlIikKfQoKbW9kZWwgRW1haWxUZW1wbGF0ZSB7CiAgaWQgICAgICAgICBJbnQgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgbGFiZWwgICAgICBTdHJpbmc/CiAgc3ViamVjdCAgICBTdHJpbmc/CiAgdGVtcGxhdGUgICBTdHJpbmcgIEBkYi5UZXh0CiAgYnJhbmRJZCAgICBJbnQ/CiAgCiAgYnJhbmQgICAgICBCcmFuZD8gIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBtZXRhRGF0YSAgIEpzb24gICAgQGRlZmF1bHQoInt9IikgLy8gdG8gc2F2ZSBhbnkgYWRkaXRpb25hbCBkYXRhIHN1Y2ggYXMgdXNlciBkZWZpbmVkIHZhcmlhYmxlcwoKICBzZXF1ZW5jZVN0ZXBzICAgU2VxdWVuY2VTdGVwW10KfQoKbW9kZWwgU29jaWFsTGlzdGVuaW5nTGlzdCB7CiAgaWQgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBicmFuZElkICAgIEludAogIGNhbXBhaWduSWQgSW50PyAgICAgIEB1bmlxdWUgLy8gb3B0aW9uYWxseSBsaW5rZWQgdG8gYSBjYW1wYWlnbgogIGNyZWF0ZWQgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIHVwZGF0ZWQgICAgRGF0ZVRpbWU/CiAgdGl0bGUgICAgICBTdHJpbmcKICBwb3N0VHlwZSAgIFN0cmluZyAvLyBzcG9uc29yZWQgcG9zdHMsIHRvcCBwb3N0cywgb3IgcmVjZW50IHBvc3RzCiAgZmlsdGVycyAgICBKc29uPyAgICAgQGRlZmF1bHQoInt9IikgLy8gZmlsdGVycyB0byBzZWFyY2ggcG9zdHMgYnkgKGxvY2F0aW9uLCBkYXRlLCBoYXNodGFncywgbWVudGlvbnMsIGV0Yy4pCgogIGxhc3RGZXRjaGVkIERhdGVUaW1lPyAvLyBsYXN0IHRpbWUgcG9zdHMgd2VyZSBmZXRjaGVkCgogIGJyYW5kIEJyYW5kICAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHBvc3RzIExpc3RUb1NvY2lhbFBvc3RbXQoKICBAQG1hcCgic29jaWFsbGlzdGVuaW5nbGlzdCIpCn0KCm1vZGVsIExpc3RUb1NvY2lhbFBvc3QgewogIGlkICAgICBJbnQgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBsaXN0SWQgSW50CiAgcG9zdElkIEludAoKICBsaXN0ICAgICAgIFNvY2lhbExpc3RlbmluZ0xpc3QgQHJlbGF0aW9uKGZpZWxkczogW2xpc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHNvY2lhbFBvc3QgU29jaWFsUG9zdCAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbcG9zdElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJsaXN0dG9zb2NpYWxwb3N0IikKfQoKbW9kZWwgT3B0SW5WaWV3IHsKICBpZCAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpdGxlICAgU3RyaW5nCiAgZmlsdGVycyBKc29uICAgQGRlZmF1bHQoInt9IikKCiAgY2FtcGFpZ25JZCBJbnQ/CiAgY2FtcGFpZ24gICBDYW1wYWlnbj8gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQG1hcCgib3B0aW52aWV3IikKfQoKbW9kZWwgUmFrdXRlbkFjdGl2aXR5IHsKICBpZCAgICAgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBvcmRlcklkICAgICAgU3RyaW5nPwogIG1ldGFEYXRhICAgICBKc29uICAgICBAZGVmYXVsdCgie30iKQogIGNyZWF0ZWQgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBjbGlja3MgICAgICAgSW50PwogIG9yZGVycyAgICAgICBJbnQ/CiAgc2FsZXMgICAgICAgIEZsb2F0PwogIGNvbW1pc3Npb24gICBGbG9hdD8KICBhZHZlcnRpc2VySWQgSW50PwoKICB1c2VySWQgSW50CgogIHVzZXIgVXNlciBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInJha3V0ZW5hY3Rpdml0eSIpCn0KbW9kZWwgSW1wYWN0UmFkaXVzRXZlbnQgewogIGlkICAgICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHR5cGUgICAgICAgICBTdHJpbmcgIC8vIGFjdGlvbi9jbGljawogIGNyZWF0ZWQgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBhbW91bnQgICAgICAgRmxvYXQ/CiAgY29tbWlzc2lvbiAgIEZsb2F0PwogIG1ldGFEYXRhICAgICBKc29uICAgICBAZGVmYXVsdCgie30iKQoKICB1c2VySWQgSW50CiAgYnJhbmRJZCBJbnQ/CgogIHVzZXIgVXNlciBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBicmFuZCBCcmFuZD8gQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQp9Cgptb2RlbCBDcmVhdG9yU2VhcmNoRmlsdGVyIHsKICBpZCAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgYnJhbmRJZCAgIEludAogIHRpdGxlICAgICBTdHJpbmcKICBmaWx0ZXJzICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgY3JlYXRlZEF0IERhdGVUaW1lICBAZGVmYXVsdChub3coKSkKICB1cGRhdGVkQXQgRGF0ZVRpbWU/CiAgYnJhbmQgICAgIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgQEBtYXAoImNyZWF0b3JzZWFyY2hmaWx0ZXIiKQp9Cgptb2RlbCBTZXF1ZW5jZSB7CiAgaWQgICAgICAgICAgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjYW1wYWlnbklkICAgICAgICBJbnQKICBjcmVhdG9yTGlzdElkICAgICBJbnQKICB0aXRsZSAgICAgICAgICAgICBTdHJpbmcgICBAZGIuVmFyQ2hhcigyNTUpCiAgY3JlYXRlZEF0ICAgICAgICAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgY29tcGxldGVkICAgICAgICAgQm9vbGVhbiAgQGRlZmF1bHQoZmFsc2UpCiAgYnJhbmRJZCAgICAgICAgICAgSW50CiAgZW5hYmxlZCAgICAgICAgICAgQm9vbGVhbiAgQGRlZmF1bHQoZmFsc2UpCgogIGNhbXBhaWduICAgICAgICAgIENhbXBhaWduIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjcmVhdG9yTGlzdCAgICAgICBDcmVhdG9yTGlzdCBAcmVsYXRpb24oZmllbGRzOiBbY3JlYXRvckxpc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgYnJhbmQgICAgICAgICAgICAgQnJhbmQgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBzdGVwcyAgICAgICAgICAgICBTZXF1ZW5jZVN0ZXBbXQogIG91dGJvdW5kRW1haWxzICAgIFNlcXVlbmNlT3V0Ym91bmRFbWFpbFtdCiAgaW5ib3VuZEVtYWlscyAgICAgU2VxdWVuY2VJbmJvdW5kRW1haWxbXQogIGltYXBDaGVja3BvaW50cyAgIFNlcXVlbmNlSW1hcENoZWNrcG9pbnRbXQoKICBAQG1hcCgic2VxdWVuY2UiKQp9Cgptb2RlbCBTZXF1ZW5jZVN0ZXAgewogIGlkICAgICAgICAgICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc2VxdWVuY2VJZCAgICAgICAgSW50CiAgY3JlYXRlZEF0ICAgICAgICAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgZW1haWxUZW1wbGF0ZUlkICAgSW50CiAgZGF5c0FmdGVyUHJldmlvdXMgSW50CiAgb3JkZXIgICAgICAgICAgICAgSW50CiAgc3RlcElkICAgICAgICAgICAgSW50CgogIHNlcXVlbmNlICAgICAgICAgIFNlcXVlbmNlIEByZWxhdGlvbihmaWVsZHM6IFtzZXF1ZW5jZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgZW1haWxUZW1wbGF0ZSAgICAgRW1haWxUZW1wbGF0ZSBAcmVsYXRpb24oZmllbGRzOiBbZW1haWxUZW1wbGF0ZUlkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgb3V0Ym91bmRFbWFpbHMgIFNlcXVlbmNlT3V0Ym91bmRFbWFpbFtdCgogIEBAbWFwKCJzZXF1ZW5jZXN0ZXAiKQp9Cgptb2RlbCBTZXF1ZW5jZU91dGJvdW5kRW1haWwgewogIGlkICAgICAgICAgICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc2VxdWVuY2VJZCAgICAgICAgSW50CiAgY3JlYXRvckxpc3RJdGVtSWQgSW50CiAgc2VxdWVuY2VTdGVwSWQgICAgSW50CiAgc2VudEF0ICAgICAgICAgICAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCgogIHNlcXVlbmNlICAgICAgU2VxdWVuY2UgQHJlbGF0aW9uKGZpZWxkczogW3NlcXVlbmNlSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNyZWF0b3JMaXN0ICAgQ3JlYXRvckxpc3RJdGVtIEByZWxhdGlvbihmaWVsZHM6IFtjcmVhdG9yTGlzdEl0ZW1JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgc2VxdWVuY2VTdGVwICBTZXF1ZW5jZVN0ZXAgQHJlbGF0aW9uKGZpZWxkczogW3NlcXVlbmNlU3RlcElkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInNlcXVlbmNlb3V0Ym91bmRlbWFpbCIpCn0KCm1vZGVsIFNlcXVlbmNlSW5ib3VuZEVtYWlsIHsKICBpZCAgICAgICAgICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHNlcXVlbmNlSWQgICAgICAgIEludAogIGNyZWF0b3JMaXN0SXRlbUlkIEludAogIHJlY2VpdmVkQXQgICAgICAgIERhdGVUaW1lIEBkZWZhdWx0KG5vdygpKQogIG1zZ0hhc2ggICAgICAgICAgIFN0cmluZwoKICBzZXF1ZW5jZSAgICAgIFNlcXVlbmNlIEByZWxhdGlvbihmaWVsZHM6IFtzZXF1ZW5jZUlkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjcmVhdG9yTGlzdElkIENyZWF0b3JMaXN0SXRlbSBAcmVsYXRpb24oZmllbGRzOiBbY3JlYXRvckxpc3RJdGVtSWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQG1hcCgic2VxdWVuY2VpbmJvdW5kZW1haWwiKQp9Cgptb2RlbCBTZXF1ZW5jZUltYXBDaGVja3BvaW50IHsKICBzZXF1ZW5jZUlkICAgICAgICBJbnQKICBjcmVhdG9yTGlzdEl0ZW1JZCBJbnQKICBsYXN0UmVhZE1zZ0RhdGUgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBjcmVhdGVkQXQgICAgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICB1cGRhdGVkQXQgICAgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKCiAgc2VxdWVuY2UgICAgICBTZXF1ZW5jZSBAcmVsYXRpb24oZmllbGRzOiBbc2VxdWVuY2VJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgY3JlYXRvckxpc3RJZCBDcmVhdG9yTGlzdEl0ZW0gQHJlbGF0aW9uKGZpZWxkczogW2NyZWF0b3JMaXN0SXRlbUlkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBpZChbc2VxdWVuY2VJZCwgY3JlYXRvckxpc3RJdGVtSWRdKQogIEBAbWFwKCJzZXF1ZW5jZWltYXBjaGVja3BvaW50IikKfQ==",
1285
- "inlineSchemaHash": "364132ad22a0ce323e173a0fb7ba056ededcf2b9f94f5fbb4c63bf71e61755d2",
1284
+ "inlineSchema": "Z2VuZXJhdG9yIGVyZCB7CiAgcHJvdmlkZXIgICAgICAgICAgICAgICAgICA9ICJwcmlzbWEtZXJkLWdlbmVyYXRvciIKICBpbmNsdWRlUmVsYXRpb25Gcm9tRmllbGRzID0gdHJ1ZQogIG91dHB1dCA9ICIuLi8uLi9kb2NzL2NyZWF0b3Jjb19lcmQubWQiCn0KCmdlbmVyYXRvciBreXNlbHkgewogIHByb3ZpZGVyICAgICAgICAgPSAicHJpc21hLWt5c2VseSIKICBvdXRwdXQgICAgICAgICAgID0gIi4uLy4uL2NsaWVudC9jcmVhdG9yY28va3lzZWx5IgogIGZpbGVOYW1lICAgICAgICAgPSAidHlwZXMudHMiCiAgZW51bUZpbGVOYW1lICAgICA9ICJlbnVtcy50cyIKICByZWFkT25seUlkcyAgICAgID0gdHJ1ZQogIGpzb25UeXBlT3ZlcnJpZGUgPSBKc29uCn0KCmdlbmVyYXRvciBjbGllbnQgewogIHByb3ZpZGVyICAgICAgICA9ICJwcmlzbWEtY2xpZW50LWpzIgogIG91dHB1dCAgICAgICAgICA9ICIuLi8uLi9jbGllbnQvY3JlYXRvcmNvL2NsaWVudCIKICBwcmV2aWV3RmVhdHVyZXMgPSBbImZ1bGxUZXh0SW5kZXgiLCAiZnVsbFRleHRTZWFyY2giXQogIC8vIG1hY29zIChhcm0gb3IgeDg2KSwgbmF0aXZlLCBsaW51eCBhcm02NCBzc2wzLngsIHdpbmRvd3MKICBiaW5hcnlUYXJnZXRzICAgPSBbIm5hdGl2ZSIsICJkYXJ3aW4iLCAiZGFyd2luLWFybTY0IiwgImxpbnV4LWFybTY0LW9wZW5zc2wtMy4wLngiLCAid2luZG93cyIsICJkZWJpYW4tb3BlbnNzbC0zLjAueCIsICJsaW51eC1tdXNsLWFybTY0LW9wZW5zc2wtMy4wLngiLCAibGludXgtYXJtNjQtb3BlbnNzbC0xLjAueCJdCn0KCmRhdGFzb3VyY2UgZGIgewogIHByb3ZpZGVyID0gInBvc3RncmVzcWwiCiAgdXJsICAgICAgPSBlbnYoIkRBVEFCQVNFX1VSTCIpCn0KCm1vZGVsIFVzZXIgewogIGlkICAgICAgICAgICAgICAgICAgSW50ICAgICAgICAgICAgIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkgQGlkCiAgcm9sZSAgICAgICAgICAgICAgICBTdHJpbmcKICBlbWFpbCAgICAgICAgICAgICAgIFN0cmluZz8gICAgICAgICBAdW5pcXVlCiAgcGFzc3dvcmQgICAgICAgICAgICBTdHJpbmc/CiAgcmVnaXN0ZXJlZCAgICAgICAgICBEYXRlVGltZSAgICAgICAgQGRlZmF1bHQobm93KCkpCiAgbGFzdExvZ2luRGF0ZSAgICAgICBEYXRlVGltZT8gCiAgZmlyc3ROYW1lICAgICAgICAgICBTdHJpbmc/CiAgbGFzdE5hbWUgICAgICAgICAgICBTdHJpbmc/CiAgcGhvbmUgICAgICAgICAgICAgICBTdHJpbmc/CiAgcGhvbmVDb2RlICAgICAgICAgICBJbnQ/CiAgcGhvbmVTaG9ydCAgICAgICAgICBTdHJpbmc/CiAgcHJvZmlsZVBpY1VybCAgICAgICBTdHJpbmc/ICAgICAgICAgQGRiLlZhckNoYXIoMjA4MykKICBmb3Jnb3RQYXNzd29yZEtleSAgIFN0cmluZz8gICAgICAgICBAdW5pcXVlCiAgYWZmaWxpYXRlU2x1ZyAgICAgICBTdHJpbmc/ICAgICAgICAgQHVuaXF1ZQogIGNsb3NlZCAgICAgICAgICAgICAgRGF0ZVRpbWU/CiAgY2xvc2VkUmVhc29uICAgICAgICBTdHJpbmc/CiAgdXNlcmNvbUxhc3RTeW5jZWQgICBEYXRlVGltZT8KICBleHRyYURhdGEgICAgICAgICAgIEpzb24gICAgICAgICAgICBAZGVmYXVsdCgie30iKQoKICByZWZlcnJlcklkIEludD8KCiAgcmVmZXJyZXIgICAgICAgICAgICBVc2VyPyAgICAgICAgICAgICAgICBAcmVsYXRpb24oIlJlZmVycmFscyIsIGZpZWxkczogW3JlZmVycmVySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHJlZmVycmVkVXNlcnMgICAgICAgVXNlcltdICAgICAgICAgICAgICAgQHJlbGF0aW9uKCJSZWZlcnJhbHMiKQogIGxvZ3MgICAgICAgICAgICAgICAgTG9nW10KICBjcmVhdG9yUHJvZmlsZSAgICAgIENyZWF0b3JQcm9maWxlPwogIGluc3RhZ3JhbVByb2ZpbGUgICAgSW5zdGFncmFtUHJvZmlsZT8KICB5b3V0dWJlUHJvZmlsZSAgICAgIFlvdXR1YmVQcm9maWxlPwogIHRpa3Rva1Byb2ZpbGUgICAgICAgVGlrdG9rUHJvZmlsZT8KICBmYWNlYm9va1Byb2ZpbGUgICAgIEZhY2Vib29rUHJvZmlsZT8KICB0d2l0dGVyUHJvZmlsZSAgICAgIFR3aXR0ZXJQcm9maWxlPwogIHR3aXRjaFByb2ZpbGUgICAgICAgVHdpdGNoUHJvZmlsZT8KICBicmFuZFByb2ZpbGVzICAgICAgIEJyYW5kVXNlclByb2ZpbGVbXQogIG9wdElucyAgICAgICAgICAgICAgT3B0SW5bXQogIGFzc2lnbmVkQnJhbmRzICAgICAgQnJhbmRbXQogIG1lc3NhZ2VzICAgICAgICAgICAgTWVzc2FnZVtdCiAgc29jaWFsUG9zdHMgICAgICAgICBTb2NpYWxQb3N0W10KICBwYXltZW50VHJhbnNhY3Rpb25zIFBheW1lbnRUcmFuc2FjdGlvbltdCiAgYWZmaWxpYXRlTGlua3MgICAgICBBZmZpbGlhdGVMaW5rW10KICBjYW1wYWlnblBpbnMgICAgICAgIENhbXBhaWduUGluW10KICBzb2NpYWxQcm9maWxlcyAgICAgIFNvY2lhbFByb2ZpbGVbXQogIHJha3V0ZW5BY3Rpdml0eSAgICAgUmFrdXRlbkFjdGl2aXR5W10KICBpbXBhY3RSYWRpdXNFdmVudHMgIEltcGFjdFJhZGl1c0V2ZW50W10KCiAgQEBtYXAoInVzZXIiKQogIC8vIEBAZnVsbHRleHQoW2ZpcnN0TmFtZSwgbGFzdE5hbWVdKQp9Cgptb2RlbCBMb2cgewogIGlkIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQoKICB1c2VySWQgSW50PwogIHVzZXIgICBVc2VyPyBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIGRhdGEgSnNvbj8KfQoKbW9kZWwgQ3JlYXRvclByb2ZpbGUgewogIGlkICAgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY291bnRyeSAgICAgICAgICBTdHJpbmc/CiAgcmVnaW9uICAgICAgICAgICBTdHJpbmc/CiAgYmlydGhEYXRlICAgICAgICBEYXRlVGltZT8KICBpbnRlcmVzdHMgICAgICAgIEpzb24/IC8vIGRlcHJlY2F0ZWQKICBnZW5kZXIgICAgICAgICAgIFN0cmluZz8KICBzaGlwcGluZ0FkZHJlc3MxIFN0cmluZz8KICBzaGlwcGluZ0FkZHJlc3MyIFN0cmluZz8KICBzaGlwcGluZ0NpdHkgICAgIFN0cmluZz8KICBzaGlwcGluZ1JlZ2lvbiAgIFN0cmluZz8KICBzaGlwcGluZ0NvdW50cnkgIFN0cmluZz8KICBzaGlwcGluZ1Bvc3Rjb2RlIFN0cmluZz8KICBwaHlsbG9Vc2VySWQgICAgIFN0cmluZz8KICBwcm9maWxlU2x1ZyAgICAgIFN0cmluZz8gICBAdW5pcXVlCiAgcHJvZmlsZVNldHRpbmdzICBKc29uPwogIHdhbGxldEFkZHJlc3MgICAgU3RyaW5nPyAgIEB1bmlxdWUKCiAgbmljaGVzIENyZWF0b3JUb0NhdGVnb3J5W10KCiAgdXNlcklkIEludCAgQHVuaXF1ZQogIHVzZXIgICBVc2VyIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBpbmRleChwaHlsbG9Vc2VySWQpCiAgQEBtYXAoImNyZWF0b3Jwcm9maWxlIikKfQoKbW9kZWwgSW5zdGFncmFtUHJvZmlsZSB7CiAgaWQgICAgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGluc3RhZ3JhbUlkIFN0cmluZz8KCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nCiAgdXJsICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBwcm9maWxlUGljVXJsIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgbGFzdFVwZGF0ZWQgICBEYXRlVGltZT8KCiAgZnVsbE5hbWUgICAgICAgICAgU3RyaW5nPyBAZGIuVmFyQ2hhcigxMDI0KQogIGlzQnVzaW5lc3MgICAgICAgIEJvb2xlYW4/CiAgaXNQcml2YXRlICAgICAgICAgQm9vbGVhbj8KICBpc1ZlcmlmaWVkICAgICAgICBCb29sZWFuPwogIG1lZGlhQ291bnQgICAgICAgIEludD8KICBmb2xsb3dpbmdDb3VudCAgICBJbnQ/CiAgdG90YWxDb21tZW50cyAgICAgSW50PwogIHRvdGFsTGlrZXMgICAgICAgIEludD8KICBhdmdDb21tZW50cyAgICAgICBGbG9hdD8KICBhdmdMaWtlcyAgICAgICAgICBGbG9hdD8KICBiaW8gICAgICAgICAgICAgICBTdHJpbmc/CiAgZXh0ZXJuYWxVcmwgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgaGFzSGlnaGxpZ2h0UmVlbHMgQm9vbGVhbj8KICBjYXRlZ29yeSAgICAgICAgICBTdHJpbmc/CiAgaGFzQ2xpcHMgICAgICAgICAgQm9vbGVhbj8KICBoYXNHdWlkZXMgICAgICAgICBCb29sZWFuPwogIGhhc0NoYW5uZWwgICAgICAgIEJvb2xlYW4/CiAgdG90YWxJZ3R2VmlkZW9zICAgSW50PwogIHByb2ZpbGVQaWNVcmxIZCAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKSAvLyBERVBSRUNBVEVECiAgbGFzdFN0b3JpZXNVcGRhdGUgRGF0ZVRpbWU/CgogIGV4dHJhRGF0YSAgICBKc29uPwogIHBoeWxsb0RhdGEgICBKc29uPwogIGF1ZGllbmNlRGF0YSBKc29uICAgIEBkZWZhdWx0KCJ7fSIpCiAgdmlzaWJpbGl0eSAgIFN0cmluZz8gQGRlZmF1bHQoInB1YmxpYyIpCgogIHVzZXJJZCAgSW50PyAgIEB1bmlxdWUKICB1c2VyICAgIFVzZXI/ICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgYnJhbmRJZCBJbnQ/ICAgQHVuaXF1ZQogIGJyYW5kICAgQnJhbmQ/IEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAaW5kZXgodXNlcm5hbWUpCiAgQEBpbmRleChpbnN0YWdyYW1JZCkKICBAQG1hcCgiaW5zdGFncmFtcHJvZmlsZSIpCn0KCm1vZGVsIFRpa3Rva1Byb2ZpbGUgewogIGlkICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpa3Rva0lkIFN0cmluZyBAdW5pcXVlCgogIC8vIGZpZWxkcyBjb25zaXN0ZW50IGFjY3Jvc3MgcHJvZmlsZXMKICB1c2VybmFtZSAgICAgIFN0cmluZz8KICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwoKICBoYW5kbGUgICAgICAgICBTdHJpbmc/CiAgbmlja25hbWUgICAgICAgU3RyaW5nPwogIGZvbGxvd2luZ0NvdW50IEludD8KICB0b3RhbENvbW1lbnRzICBJbnQ/CiAgdG90YWxMaWtlcyAgICAgSW50PwoKICBleHRyYURhdGEgICAgSnNvbj8KICBwaHlsbG9EYXRhICAgSnNvbj8KICBhdWRpZW5jZURhdGEgSnNvbiAgICBAZGVmYXVsdCgie30iKQogIHZpc2liaWxpdHkgICBTdHJpbmc/IEBkZWZhdWx0KCJwdWJsaWMiKQoKICB1c2VySWQgIEludD8gICBAdW5pcXVlCiAgdXNlciAgICBVc2VyPyAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGJyYW5kSWQgSW50PyAgIEB1bmlxdWUKICBicmFuZCAgIEJyYW5kPyBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQGluZGV4KHVzZXJuYW1lKQogIEBAbWFwKCJ0aWt0b2twcm9maWxlIikKfQoKbW9kZWwgWW91dHViZVByb2ZpbGUgewogIGlkICAgICAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB5b3V0dWJlSWQgU3RyaW5nIEB1bmlxdWUKCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nCiAgdXJsICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBwcm9maWxlUGljVXJsIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgbGFzdFVwZGF0ZWQgICBEYXRlVGltZT8KCiAgZm9sbG93aW5nQ291bnQgSW50PwogIGZ1bGxOYW1lICAgICAgIFN0cmluZz8gIEBkYi5WYXJDaGFyKDEwMjQpCiAgaXNWZXJpZmllZCAgICAgQm9vbGVhbj8KICBzdWJzY3JpYmVycyAgICBJbnQ/CiAgZGVzY3JpcHRpb24gICAgU3RyaW5nPyAgQGRiLlRleHQKICBjb3VudHJ5ICAgICAgICBTdHJpbmc/CiAgdG90YWxWaWV3cyAgICAgSW50PwogIHRvdGFsVmlkZW9zICAgIEludD8KCiAgZXh0cmFEYXRhICAgIEpzb24/CiAgcGh5bGxvRGF0YSAgIEpzb24/CiAgYXVkaWVuY2VEYXRhIEpzb24gICAgQGRlZmF1bHQoInt9IikKICB2aXNpYmlsaXR5ICAgU3RyaW5nPyBAZGVmYXVsdCgicHVibGljIikKCiAgdXNlcklkICBJbnQ/ICAgQHVuaXF1ZQogIHVzZXIgICAgVXNlcj8gIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBicmFuZElkIEludD8gICBAdW5pcXVlCiAgYnJhbmQgICBCcmFuZD8gQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBpbmRleCh1c2VybmFtZSkKICBAQG1hcCgieW91dHViZXByb2ZpbGUiKQp9Cgptb2RlbCBUd2l0Y2hQcm9maWxlIHsKICBpZCAgICAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0d2l0Y2hJZCBTdHJpbmcgQHVuaXF1ZQoKICAvLyBmaWVsZHMgY29uc2lzdGVudCBhY2Nyb3NzIHByb2ZpbGVzCiAgdXNlcm5hbWUgICAgICBTdHJpbmcgICAgQHVuaXF1ZQogIHVybCAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgcHJvZmlsZVBpY1VybCBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBmb2xsb3dlckNvdW50IEludD8KICBlbmdhZ2VtZW50ICAgIEZsb2F0PwogIGxhc3RVcGRhdGVkICAgRGF0ZVRpbWU/CgogIGV4dHJhRGF0YSAgSnNvbj8KICBwaHlsbG9EYXRhIEpzb24/CiAgdmlzaWJpbGl0eSBTdHJpbmc/IEBkZWZhdWx0KCJwdWJsaWMiKQoKICB1c2VySWQgSW50PyAgQHVuaXF1ZQogIHVzZXIgICBVc2VyPyBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJ0d2l0Y2hwcm9maWxlIikKfQoKbW9kZWwgRmFjZWJvb2tQcm9maWxlIHsKICBpZCAgICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGZhY2Vib29rSWQgU3RyaW5nIEB1bmlxdWUKCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwoKICBleHRyYURhdGEgIEpzb24/CiAgcGh5bGxvRGF0YSBKc29uPwogIHZpc2liaWxpdHkgU3RyaW5nPyBAZGVmYXVsdCgicHVibGljIikKCiAgdXNlcklkIEludD8gIEB1bmlxdWUKICB1c2VyICAgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgiZmFjZWJvb2twcm9maWxlIikKfQoKbW9kZWwgVHdpdHRlclByb2ZpbGUgewogIGlkICAgICAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0d2l0dGVySWQgU3RyaW5nIEB1bmlxdWUKCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwoKICBleHRyYURhdGEgIEpzb24/CiAgcGh5bGxvRGF0YSBKc29uPwogIHZpc2liaWxpdHkgU3RyaW5nPyBAZGVmYXVsdCgicHVibGljIikKCiAgdXNlcklkIEludD8gIEB1bmlxdWUKICB1c2VyICAgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgidHdpdHRlcnByb2ZpbGUiKQp9Cgptb2RlbCBCcmFuZFVzZXJQcm9maWxlIHsKICBpZCAgICAgIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHVzZXJJZCAgSW50CiAgYnJhbmRJZCBJbnQKCiAgdXNlciAgVXNlciAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGJyYW5kIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJicmFuZHVzZXJwcm9maWxlIikKfQoKbW9kZWwgQnJhbmQgewogIGlkICAgICAgICAgICAgICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIG5hbWUgICAgICAgICAgICAgICAgICAgIFN0cmluZwogIGRlc2NyaXB0aW9uICAgICAgICAgICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHdlYnNpdGUgICAgICAgICAgICAgICAgIFN0cmluZwogIG1vbnRobHlDb250YWN0cyAgICAgICAgIEludD8KICBtb250aGx5UmVwb3J0cyAgICAgICAgICBJbnQ/CiAgbGFzdENvbnRhY3REaXN0cmlidXRpb24gRGF0ZVRpbWU/CiAgbG9nb1VybCAgICAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgYWZmaWxpYXRlQmFzZVVybCAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgYWZmaWxpYXRlQ29tbWlzc2lvbiAgICAgRmxvYXQ/CiAgZXh0cmFEYXRhICAgICAgICAgICAgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCgogIHNwZWNpYWxpc3RJZCAgICAgICAgSW50PwogIGRlZGljYXRlZFNwZWNpYWxpc3QgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3NwZWNpYWxpc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgaW5zdGFncmFtUHJvZmlsZSAgICAgSW5zdGFncmFtUHJvZmlsZT8KICB5b3V0dWJlUHJvZmlsZSAgICAgICBZb3V0dWJlUHJvZmlsZT8KICB0aWt0b2tQcm9maWxlICAgICAgICBUaWt0b2tQcm9maWxlPwogIGNhbXBhaWducyAgICAgICAgICAgIENhbXBhaWduW10KICBicmFuZFVzZXJzICAgICAgICAgICBCcmFuZFVzZXJQcm9maWxlW10KICBzZWFyY2hDb250YWN0cyAgICAgICBTZWFyY2hDb250YWN0c1tdCiAgcmVwb3J0Q3JlZGl0cyAgICAgICAgUmVwb3J0Q3JlZGl0c1tdCiAgY2F0ZWdvcmllcyAgICAgICAgICAgQnJhbmRUb0NhdGVnb3J5W10KICBwYXltZW50VHJhbnNhY3Rpb25zICBQYXltZW50VHJhbnNhY3Rpb25bXQogIHNhdmVkZmlsZXMgICAgICAgICAgIFNhdmVkRmlsZVtdCiAgY3JlYXRvckxpc3RzICAgICAgICAgQ3JlYXRvckxpc3RbXQogIGFmZmlsaWF0ZUxpbmtzICAgICAgIEJyYW5kQWZmaWxpYXRlTGlua1tdCiAgbWVzc2FnZVRlbXBsYXRlICAgICAgTWVzc2FnZVRlbXBsYXRlW10KICBlbWFpbFRlbXBsYXRlcyAgICAgICBFbWFpbFRlbXBsYXRlW10KICBzb2NpYWxMaXN0ZW5pbmdMaXN0cyBTb2NpYWxMaXN0ZW5pbmdMaXN0W10KICBjYW1wYWlnbkludml0ZXMgICAgICBDYW1wYWlnbkludml0ZVtdCiAgaW1hZ2VzICAgICAgICAgICAgICAgQnJhbmRUb0ltYWdlW10KICBjcmVhdG9yc2VhcmNoZmlsdGVyICBDcmVhdG9yU2VhcmNoRmlsdGVyW10KICBzZXF1ZW5jZXMgICAgICAgICAgICBTZXF1ZW5jZVtdCiAgaW1wYWN0UmFkaXVzRXZlbnRzICAgSW1wYWN0UmFkaXVzRXZlbnRbXQoKICAgIC8vIGZvciBhZ2VuY2llcwogIHBhcmVudEJyYW5kSWQgICAgICAgSW50PwogIHBhcmVudEJyYW5kICAgICAgICAgQnJhbmQ/IEByZWxhdGlvbigiQ2hpbGRCcmFuZHMiLCBmaWVsZHM6IFtwYXJlbnRCcmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjaGlsZEJyYW5kcyAgICAgICAgIEJyYW5kW10gQHJlbGF0aW9uKCJDaGlsZEJyYW5kcyIpCiAgIC8vIGdlbmVyYXRlZCAoZm9yIHNlYXJjaCkKICBzZWFyY2hOYW1lICAgICAgICAgIFN0cmluZz8gQGRlZmF1bHQoZGJnZW5lcmF0ZWQoKSkKCiAgQEBtYXAoImJyYW5kIikKfQoKbW9kZWwgU2VhcmNoQ29udGFjdHMgewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdHlwZSAgICAgICBTdHJpbmcKICBwcmV2UXR5ICAgIEZsb2F0CiAgY2hhbmdlUXR5ICBGbG9hdAogIGN1cnJlbnRRdHkgRmxvYXQKICBjcmVhdGVkICAgIERhdGVUaW1lPyBAZGVmYXVsdChub3coKSkKCiAgcHJldlF0eVBvc3RJZCBJbnQ/ICAgICAgICAgICAgQHVuaXF1ZQogIHByZXZRdHlQb3N0ICAgU2VhcmNoQ29udGFjdHM/IEByZWxhdGlvbigicHJldlNlYXJjaFF0eVBvc3RJZCIsIGZpZWxkczogW3ByZXZRdHlQb3N0SWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG5leHRRdHlQb3N0ICAgU2VhcmNoQ29udGFjdHM/IEByZWxhdGlvbigicHJldlNlYXJjaFF0eVBvc3RJZCIpCgogIGJyYW5kSWQgSW50CiAgYnJhbmQgICBCcmFuZCBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJzZWFyY2hjb250YWN0cyIpCn0KCm1vZGVsIFJlcG9ydENyZWRpdHMgewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdHlwZSAgICAgICBTdHJpbmcKICBwcmV2UXR5ICAgIEZsb2F0CiAgY2hhbmdlUXR5ICBGbG9hdAogIGN1cnJlbnRRdHkgRmxvYXQKICBjcmVhdGVkICAgIERhdGVUaW1lPyBAZGVmYXVsdChub3coKSkKCiAgcHJldlF0eVBvc3RJZCBJbnQ/ICAgICAgICAgICBAdW5pcXVlCiAgcHJldlF0eVBvc3QgICBSZXBvcnRDcmVkaXRzPyBAcmVsYXRpb24oInByZXZSZXBvcnRzUXR5UG9zdElkIiwgZmllbGRzOiBbcHJldlF0eVBvc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgbmV4dFF0eVBvc3QgICBSZXBvcnRDcmVkaXRzPyBAcmVsYXRpb24oInByZXZSZXBvcnRzUXR5UG9zdElkIikKCiAgYnJhbmRJZCBJbnQKICBicmFuZCAgIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInJlcG9ydGNyZWRpdHMiKQp9Cgptb2RlbCBCcmFuZFRvSW1hZ2UgewogIGlkICAgICAgICAgIEludCAgIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkgQGlkCiAgYnJhbmRJZCAgICAgSW50CiAgdHlwZSAgICAgICAgU3RyaW5nCgogIGJyYW5kICAgICAgIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIHNpemVzICAgICAgIEJyYW5kSW1hZ2VbXQoKICBAQG1hcCgiYnJhbmR0b2ltYWdlIikKfQoKbW9kZWwgQnJhbmRUb0NhdGVnb3J5IHsKICBicmFuZElkICAgIEludAogIGNhdGVnb3J5SWQgSW50CgogIGNhbXBhaWduIEJyYW5kICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgY2F0ZWdvcnkgQ2F0ZWdvcnkgQHJlbGF0aW9uKGZpZWxkczogW2NhdGVnb3J5SWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQGlkKFticmFuZElkLCBjYXRlZ29yeUlkXSkKICBAQG1hcCgiYnJhbmR0b2NhdGVnb3J5IikKfQoKbW9kZWwgQ3JlYXRvclRvQ2F0ZWdvcnkgewogIGNyZWF0b3JQcm9maWxlSWQgSW50CiAgY2F0ZWdvcnlJZCAgICAgICBJbnQKCiAgY3JlYXRvclByb2ZpbGUgQ3JlYXRvclByb2ZpbGUgQHJlbGF0aW9uKGZpZWxkczogW2NyZWF0b3JQcm9maWxlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYXRlZ29yeSAgICAgICBDYXRlZ29yeSAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY2F0ZWdvcnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaWQoW2NyZWF0b3JQcm9maWxlSWQsIGNhdGVnb3J5SWRdKQp9Cgptb2RlbCBDaGF0IHsKICBpZCAgICAgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjcmVhdGVkICAgICAgICBEYXRlVGltZT8gQGRlZmF1bHQobm93KCkpCiAgY29udmVyc2F0aW9uSWQgU3RyaW5nPyAgIEB1bmlxdWUKICBtZXRhRGF0YSAgICAgICBKc29uICAgICAgQGRlZmF1bHQoInt9IikKCiAgb3B0SW5JZCBJbnQ/IEB1bmlxdWUKCiAgb3B0SW4gICAgT3B0SW4/ICAgIEByZWxhdGlvbihmaWVsZHM6IFtvcHRJbklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBtZXNzYWdlcyBNZXNzYWdlW10KCiAgQEBtYXAoImNoYXQiKQp9Cgptb2RlbCBNZXNzYWdlIHsKICBpZCAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNyZWF0ZWQgICAgRGF0ZVRpbWU/IEBkZWZhdWx0KG5vdygpKQogIHNlbmRlciAgICAgU3RyaW5nCiAgY29udGVudCAgICBTdHJpbmcgICAgQGRiLlRleHQKICByZWFkICAgICAgIEJvb2xlYW4gICBAZGVmYXVsdChmYWxzZSkKICB0eXBlICAgICAgIFN0cmluZyAgICBAZGVmYXVsdCgidGV4dCIpCiAgbWVzc2FnZVNpZCBTdHJpbmc/CgogIHVzZXJJZCBJbnQ/CiAgY2hhdElkIEludAoKICB1c2VyIFVzZXI/IEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNoYXQgQ2hhdCAgQHJlbGF0aW9uKGZpZWxkczogW2NoYXRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgibWVzc2FnZSIpCn0KCm1vZGVsIENhbXBhaWduIHsKICBpZCAgICAgICAgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICAgICAgICAgICAgICAgIFN0cmluZwogIHNsdWcgICAgICAgICAgICAgICAgICBTdHJpbmc/ICAgQHVuaXF1ZQogIHN0YXR1cyAgICAgICAgICAgICAgICBTdHJpbmcgICAgQGRlZmF1bHQoImRyYWZ0IikgLy8gZHJhZnQsIHBhdXNlZCwgcGVuZGluZywgcHJpdmF0ZSwgcHVibGlzaCwgdHJhc2gKICBkYXRlICAgICAgICAgICAgICAgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIHB1Ymxpc2hEYXRlICAgICAgICAgICBEYXRlVGltZT8KICBkZXNjcmlwdGlvbiAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5UZXh0CiAgcHJvZHVjdERlc2NyaXB0aW9uICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHByaXplRGVzY3JpcHRpb24gICAgICBTdHJpbmc/ICAgQGRiLlRleHQKICBzdHJhdGVneSAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkZWZhdWx0KCJzaG91dG91dCIpCiAgc29jaWFsQ2hhbm5lbCAgICAgICAgIFN0cmluZz8KICBzb2NpYWxDaGFubmVscyAgICAgICAgSnNvbj8KICBmYWNlYm9va1JlYWNoICAgICAgICAgSW50PwogIGZhY2Vib29rRW5nYWdlbWVudCAgICBGbG9hdD8KICBpbnN0YWdyYW1SZWFjaCAgICAgICAgSW50PwogIGluc3RhZ3JhbUVuZ2FnZW1lbnQgICBGbG9hdD8KICB5b3V0dWJlUmVhY2ggICAgICAgICAgSW50PwogIHlvdXR1YmVFbmdhZ2VtZW50ICAgICBGbG9hdD8KICB0d2l0dGVyUmVhY2ggICAgICAgICAgSW50PwogIHR3aXR0ZXJFbmdhZ2VtZW50ICAgICBGbG9hdD8KICB0aWt0b2tSZWFjaCAgICAgICAgICAgSW50PwogIHRpa3Rva0VuZ2FnZW1lbnQgICAgICBGbG9hdD8KICB0d2l0Y2hSZWFjaCAgICAgICAgICAgSW50PwogIHR3aXRjaEVuZ2FnZW1lbnQgICAgICBGbG9hdD8KICBxdWFudGl0eSAgICAgICAgICAgICAgSW50ICAgICAgIEBkZWZhdWx0KDApCiAgaG9sZENvc3QgICAgICAgICAgICAgIEZsb2F0PwogIHZhbHVlICAgICAgICAgICAgICAgICBGbG9hdD8KICBwYWlkQW1vdW50ICAgICAgICAgICAgRmxvYXQ/CiAgbWluQWdlICAgICAgICAgICAgICAgIEludD8KICBtYXhBZ2UgICAgICAgICAgICAgICAgSW50PwogIHZpc3VhbHMgICAgICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlRleHQKICBwaG90b1RhZ3MgICAgICAgICAgICAgSnNvbj8KICBoYXNodGFncyAgICAgICAgICAgICAgSnNvbj8KICBzdG9yeUhhc2h0YWdzICAgICAgICAgSnNvbj8KICBzdG9yeU1lbnRpb25zICAgICAgICAgSnNvbj8KICBjYXB0aW9uICAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5UZXh0CiAgcGFzc3dvcmQgICAgICAgICAgICAgIFN0cmluZz8KICBjb250ZW50Rm9ybWF0cyAgICAgICAgSnNvbj8KICBwYWlkQ2FtcGFpZ24gICAgICAgICAgQm9vbGVhbj8KICBtaW5QYWlkQW1vdW50ICAgICAgICAgRmxvYXQ/CiAgbWF4UGFpZEFtb3VudCAgICAgICAgIEZsb2F0PwogIHBheW1lbnRUeXBlICAgICAgICAgICBTdHJpbmc/CiAgbW9udGhseUFjdGl2YXRlZEdvYWwgIEludD8gLy8gUmVkdW5kYW50L0RlcHJlY2F0ZWQKICBleHBlY3RlZE9wdElucyAgICAgICAgSW50PyAvLyBSZWR1bmRhbnQvRGVwcmVjYXRlZAogIGdvYWxBY3RpdmF0aW9ucyAgICAgICBGbG9hdD8KICBnb2FsT3B0SW5zICAgICAgICAgICAgRmxvYXQ/CiAgcmVxdWlyZXNTaGlwcGluZyAgICAgIEJvb2xlYW4/CiAgZGlzYWJsZVF1YWxpZmljYXRpb25zIEJvb2xlYW4/CiAgZGlzYWJsZUFjdGl2YXRpb25zICAgIEJvb2xlYW4/CiAgYWZmaWxpYXRlTGlua1BhdGggICAgIFN0cmluZz8KICBtZXRhRGF0YSAgICAgICAgICAgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCgogIHN0ZXBzICAgICAgICBDYW1wYWlnblN0ZXBbXQogIGNhdGVnb3JpZXMgICBDYW1wYWlnblRvQ2F0ZWdvcnlbXQogIG9wdElucyAgICAgICBPcHRJbltdCiAgaW1hZ2VzICAgICAgIENhbXBhaWduVG9JbWFnZVtdCiAgdmFyaWFibGVzICAgIFZhcmlhYmxlW10KICBjb3VudHJpZXMgICAgQ2FtcGFpZ25Ub0NvdW50cnlbXQogIGNhbXBhaWduUGlucyBDYW1wYWlnblBpbltdCiAgc29jaWFsUG9zdHMgIFNvY2lhbFBvc3RbXQogIGNhbXBhaWduSW52aXRlcyBDYW1wYWlnbkludml0ZVtdCgogIGJyYW5kSWQgICAgICBJbnQKICBicmFuZCAgICAgICAgQnJhbmQgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNyZWF0b3JMaXN0cyBDcmVhdG9yTGlzdFtdCiAgb3B0SW5WaWV3cyAgIE9wdEluVmlld1tdCiAgc2VxdWVuY2VzICAgIFNlcXVlbmNlW10KCiAgQEBtYXAoImNhbXBhaWduIikKfQoKbW9kZWwgQ2FtcGFpZ25QaW4gewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdXNlcklkICAgICBJbnQKICBjYW1wYWlnbklkIEludAogIGNyZWF0ZWQgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIG5vdGlmaWVkICAgRGF0ZVRpbWU/CgogIHVzZXIgICAgIFVzZXIgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnbiBDYW1wYWlnbiBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgiY2FtcGFpZ25waW4iKQp9Cgptb2RlbCBDYW1wYWlnblRvSW1hZ2UgewogIGlkICAgICAgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY2FtcGFpZ25JZCBJbnQKICB0eXBlICAgICAgIFN0cmluZwoKICBjYW1wYWlnbiBDYW1wYWlnbiBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBzaXplcyBJbWFnZVtdCgogIEBAbWFwKCJjYW1wYWlnbnRvaW1hZ2UiKQp9Cgptb2RlbCBDYW1wYWlnblRvQ2F0ZWdvcnkgewogIGNhbXBhaWduSWQgSW50CiAgY2F0ZWdvcnlJZCBJbnQKCiAgY2FtcGFpZ24gQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYXRlZ29yeSBDYXRlZ29yeSBAcmVsYXRpb24oZmllbGRzOiBbY2F0ZWdvcnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaWQoW2NhbXBhaWduSWQsIGNhdGVnb3J5SWRdKQogIEBAbWFwKCJjYW1wYWlnbnRvY2F0ZWdvcnkiKQp9Cgptb2RlbCBDYW1wYWlnblRvQ291bnRyeSB7CiAgY2FtcGFpZ25JZCBJbnQKICBjb3VudHJ5SWQgIEludAoKICBjYW1wYWlnbiBDYW1wYWlnbiBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNvdW50cnkgIENvdW50cnkgIEByZWxhdGlvbihmaWVsZHM6IFtjb3VudHJ5SWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQGlkKFtjYW1wYWlnbklkLCBjb3VudHJ5SWRdKQogIEBAbWFwKCJjYW1wYWlnbnRvY291bnRyeSIpCn0KCm1vZGVsIFZhcmlhYmxlIHsKICBpZCAgICAgICAgICBJbnQgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICAgICAgU3RyaW5nCiAgZGVzY3JpcHRpb24gU3RyaW5nPyBAZGIuVGV4dAogIG1ldGFEYXRhICAgIEpzb24gICAgQGRlZmF1bHQoInt9IikKCiAgY2FtcGFpZ25JZCBJbnQKCiAgY2FtcGFpZ24gQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgb3B0aW9ucyAgICAgICAgVmFyaWFibGVPcHRpb25bXQogIG9wdEluVmFyaWFibGVzIE9wdEluVmFyaWFibGVbXQp9Cgptb2RlbCBWYXJpYWJsZU9wdGlvbiB7CiAgaWQgICAgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpdGxlICAgICAgIFN0cmluZwogIGRlc2NyaXB0aW9uIFN0cmluZz8gQGRiLlRleHQKICBtZXRhRGF0YSAgICBKc29uICAgIEBkZWZhdWx0KCJ7fSIpCgogIHZhcmlhYmxlSWQgSW50CgogIHZhcmlhYmxlIFZhcmlhYmxlIEByZWxhdGlvbihmaWVsZHM6IFt2YXJpYWJsZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIG9wdEluVmFyaWFibGVzIE9wdEluVmFyaWFibGVbXQp9Cgptb2RlbCBTdGVwIHsKICBpZCAgICAgICAgICBJbnQgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc2x1ZyAgICAgICAgU3RyaW5nICBAdW5pcXVlCiAgdGl0bGUgICAgICAgU3RyaW5nPwogIGRlc2NyaXB0aW9uIFN0cmluZz8gQGRiLlRleHQKICBkYXRhICAgICAgICBKc29uPwoKICBjYW1wYWlnblN0ZXBzIENhbXBhaWduU3RlcFtdCgogIEBAbWFwKCJzdGVwIikKfQoKbW9kZWwgQ2FtcGFpZ25TdGVwIHsKICBpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKSBAaWQKICBwbGFjZW1lbnQgICAgICAgICAgICAgICAgICAgICBJbnQKICBzdGVwU2V0dGluZ3MgICAgICAgICAgICAgICAgICBKc29uPwogIGFjdGlvbmVlICAgICAgICAgICAgICAgICAgICAgIFN0cmluZz8KICBpbnN0cnVjdGlvbnMgICAgICAgICAgICAgICAgICBTdHJpbmc/IEBkYi5UZXh0CiAgY3VzdG9tU3RlcFRpdGxlICAgICAgICAgICAgICAgU3RyaW5nPwogIGN1c3RvbUZvcm0gICAgICAgICAgICAgICAgICAgIEpzb24/CiAgbWV0YURhdGEgICAgICAgICAgICAgICAgICAgICAgSnNvbiBAZGVmYXVsdCgie30iKQogIGNhbXBhaWduSWQgICAgSW50CiAgc3RlcElkICAgICAgICBJbnQ/CgogIGNhbXBhaWduICAgICAgQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBzdGVwICAgICAgICAgIFN0ZXA/ICAgIEByZWxhdGlvbihmaWVsZHM6IFtzdGVwSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGN1cnJlbnRPcHRJbnMgT3B0SW5bXQoKICBvcHRJblN0ZXBzIE9wdEluU3RlcFtdCgogIEBAbWFwKCJjYW1wYWlnbnN0ZXAiKQp9Cgptb2RlbCBPcHRJblN0ZXAgewogIGlkICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjb21wbGV0ZWQgRGF0ZVRpbWU/CiAgZGF0YSAgICAgIEpzb24/CgogIG9wdEluSWQgICAgICAgIEludAogIGNhbXBhaWduU3RlcElkIEludAogIHNvY2lhbFBvc3RJZCAgIEludD8gLy8gdGVtcG9yYXJ5IGZvciBtb3Zpbmcgc2hvdXRvdXREYXRhIHRvIHNvY2lhbFBvc3RzCgogIG9wdEluICAgICAgICBPcHRJbiAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW29wdEluSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnblN0ZXAgQ2FtcGFpZ25TdGVwIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnblN0ZXBJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgib3B0aW5zdGVwIikKfQoKbW9kZWwgQ2F0ZWdvcnkgewogIGlkICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHNsdWcgIFN0cmluZyBAdW5pcXVlCiAgdGl0bGUgU3RyaW5nCgogIGNhbXBhaWducyBDYW1wYWlnblRvQ2F0ZWdvcnlbXQogIGJyYW5kcyAgICBCcmFuZFRvQ2F0ZWdvcnlbXQogIGNyZWF0b3JzICBDcmVhdG9yVG9DYXRlZ29yeVtdCgogIEBAbWFwKCJjYXRlZ29yeSIpCn0KCm1vZGVsIE9wdEluIHsKICBpZCAgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc3RhdHVzICAgICAgICAgIFN0cmluZyAgICBAZGVmYXVsdCgicGVuZGluZyIpCiAgY3JlYXRlZCAgICAgICAgIERhdGVUaW1lICBAZGVmYXVsdChub3coKSkKICBhY3RpdmF0ZWQgICAgICAgRGF0ZVRpbWU/CiAgY29tcGxldGVkICAgICAgIERhdGVUaW1lPwogIGNhbmNlbGxlZCAgICAgICBEYXRlVGltZT8KICBjYW5jZWxsZWREYXRhICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgY2FuY2VsUmVxdWVzdGVkIERhdGVUaW1lPwogIHJlaW52aXRlZCAgICAgICBEYXRlVGltZT8KICBzZWVuICAgICAgICAgICAgQm9vbGVhbiAgIEBkZWZhdWx0KGZhbHNlKQogIGluc3RydWN0aW9ucyAgICBTdHJpbmc/ICAgQGRiLlRleHQKICBwYXltZW50QW1vdW50ICAgRmxvYXQ/CiAgcGF5bWVudFN0YXR1cyAgIFN0cmluZyAgICBAZGVmYXVsdCgicGVuZGluZyIpCiAgZXh0cmFEYXRhICAgICAgIEpzb24gICAgICBAZGVmYXVsdCgie30iKQoKICB1c2VySWQgICAgICAgIEludAogIGNhbXBhaWduSWQgICAgSW50CiAgY3VycmVudFN0ZXBJZCBJbnQ/CgogIHVzZXIgICAgICAgIFVzZXIgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhbXBhaWduICAgIENhbXBhaWduICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjdXJyZW50U3RlcCBDYW1wYWlnblN0ZXA/IEByZWxhdGlvbihmaWVsZHM6IFtjdXJyZW50U3RlcElkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgdmFyaWFibGVzICBPcHRJblZhcmlhYmxlW10KICBvcHRJblN0ZXBzIE9wdEluU3RlcFtdCiAgY2hhdCAgICAgICBDaGF0PwogIGNhbXBhaWduSW52aXRlcyBDYW1wYWlnbkludml0ZVtdCgogIEBAbWFwKCJvcHRpbiIpCn0KCm1vZGVsIE9wdEluVmFyaWFibGUgewogIGlkIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQoKICBvcHRJbklkICAgICAgICAgIEludAogIHZhcmlhYmxlSWQgICAgICAgSW50CiAgc2VsZWN0ZWRPcHRpb25JZCBJbnQKCiAgb3B0SW4gICAgICAgICAgT3B0SW4gICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW29wdEluSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICB2YXJpYWJsZSAgICAgICBWYXJpYWJsZSAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdmFyaWFibGVJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHNlbGVjdGVkT3B0aW9uIFZhcmlhYmxlT3B0aW9uIEByZWxhdGlvbihmaWVsZHM6IFtzZWxlY3RlZE9wdGlvbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCn0KCm1vZGVsIFNvY2lhbFBvc3QgewogIGlkICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHBoeWxsb0lkICAgIFN0cmluZz8gICBAdW5pcXVlCiAgbWV0YURhdGEgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgZGF0YSAgICAgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpIC8vIERFUFJFQ0FURUQsIFVTRSBtZXRhRGF0YSBpbnN0ZWFkLCBzZWVtcyB0byBiZSBhbiBlcnJvciB3aGVuIGF0dGVtcHRpbmcgdG8gcmVtb3ZlIHRoaXMgZmllbGQsIHByb2FiYWJseSBkdWUgdG8gdGFibGUgc2l6ZQogIGxhc3RGZXRjaGVkIERhdGVUaW1lPwogIGxhc3RXZWJob29rIERhdGVUaW1lPwogIGlzU3RhbGUgICAgIEJvb2xlYW4/IC8vIFRPRE86IHRoaXMgZmllbGQgaXMgaGVyZSBiZWNhdXNlIHByaXNtYSBkb2Vzbid0IHN1cHBvcnQgY29tcGFyaW5nIG9uZSBjb2x1bW4gdG8gYW5vdGhlciwgaWRlYWxseSB3ZSBjb3VsZCBqdXN0IGNoZWNrIGlmIGxhc3RGZXRjaGVkID4gbGFzdFdlYmhvb2sgYnV0IGZvciBub3cgd2UgbmVlZCB0byBjb250cm9sL2NoZWNrIHRoaXMgZmllbGQKCiAgLy8gQkFTSUMgSU5GTwogIHBvc3RlZCAgICAgICAgICAgICBEYXRlVGltZT8KICB0aXRsZSAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5UZXh0CiAgZGVzY3JpcHRpb24gICAgICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHVybCAgICAgICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICB1cmxQYXRoICAgICAgICAgICAgU3RyaW5nPyAgIEB1bmlxdWUgLy8gVGhpcyBpcyBoZXJlIHNvIHdlIGhhdmUgc29tZSBleHRlcm5hbCBpZGVudGlmaWVyIHRvIHF1aWNrbHkgc2VhcmNoIGJ5CiAgZm9ybWF0ICAgICAgICAgICAgIFN0cmluZz8KICB0eXBlICAgICAgICAgICAgICAgU3RyaW5nPwogIHBsYXRmb3JtICAgICAgICAgICBTdHJpbmc/CiAgdmlzaWJpbGl0eSAgICAgICAgIFN0cmluZz8KICBpc1Nwb25zb3JlZCAgICAgICAgQm9vbGVhbj8KICBoYXNDb2xsYWJvcmF0b3JzICAgQm9vbGVhbj8KICBpc093bmVkQnlVc2VyICAgICAgQm9vbGVhbj8KICAvLyBNRVRSSUNTCiAgdmlld3MgICAgICAgICAgICAgIEludD8KICBpbXByZXNzaW9ucyAgICAgICAgSW50PwogIGltcHJlc3Npb25zT3JnYW5pYyBJbnQ/CiAgaW1wcmVzc2lvbnNQYWlkICAgIEludD8KICByZWFjaCAgICAgICAgICAgICAgSW50PwogIHJlYWNoT3JnYW5pYyAgICAgICBJbnQ/CiAgcmVhY2hQYWlkICAgICAgICAgIEludD8KICB3YXRjaEhvdXJzICAgICAgICAgRmxvYXQ/CiAgLy8gRU5HQUdFTUVOVCBNRVRSSUNTCiAgbGlrZXMgICAgICAgICAgICAgIEludD8KICBkaXNsaWtlcyAgICAgICAgICAgSW50PwogIGNvbW1lbnRzICAgICAgICAgICBJbnQ/CiAgc2F2ZXMgICAgICAgICAgICAgIEludD8KICBzaGFyZXMgICAgICAgICAgICAgSW50PwoKICB1c2VySWQgICAgIEludD8KICBjYW1wYWlnbklkIEludD8KCiAgdXNlciAgICAgVXNlcj8gICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNhbXBhaWduIENhbXBhaWduPyAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgbGlzdHMgICAgTGlzdFRvU29jaWFsUG9zdFtdCgogIHNvY2lhbFBvc3RUYWdzIFNvY2lhbFBvc3RUYWdbXQoKICBAQGluZGV4KGNhbXBhaWduSWQpCiAgQEBpbmRleChpc1N0YWxlKQogIEBAaW5kZXgodXNlcklkKQogIEBAaW5kZXgocGxhdGZvcm0pCiAgQEBpbmRleCh0eXBlKQogIEBAaW5kZXgoZm9ybWF0KQogIEBAaW5kZXgocG9zdGVkKQogIAogIEBAbWFwKCJzb2NpYWxwb3N0IikKfQoKbW9kZWwgU29jaWFsUG9zdFRhZyB7CiAgaWQgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgU3RyaW5nCiAgdHlwZSAgU3RyaW5nCgogIHNvY2lhbFBvc3RJZCBJbnQKCiAgc29jaWFsUG9zdCBTb2NpYWxQb3N0IEByZWxhdGlvbihmaWVsZHM6IFtzb2NpYWxQb3N0SWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQGluZGV4KFt0aXRsZSwgdHlwZV0pCiAgQEBtYXAoInNvY2lhbHBvc3R0YWciKQp9Cgptb2RlbCBJbWFnZSB7CiAgaWQgICAgICAgICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHVybCAgICAgICAgICAgICBTdHJpbmcgQGRiLlZhckNoYXIoMjA4MykKICBzaXplICAgICAgICAgICAgU3RyaW5nCiAgY2FtcGFpZ25JbWFnZUlkIEludAoKICBjYW1wYWlnbkltYWdlIENhbXBhaWduVG9JbWFnZSBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JbWFnZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJpbWFnZSIpCn0KCm1vZGVsIEJyYW5kSW1hZ2UgewogIGlkICAgICAgICAgICAgICBJbnQgICBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpIEBpZAogIHVybCAgICAgICAgICAgICBTdHJpbmcgQGRiLlZhckNoYXIoMjA4MykKICBzaXplICAgICAgICAgICAgU3RyaW5nCiAgYnJhbmRJbWFnZUlkICAgIEludAoKICBicmFuZEltYWdlICAgICAgQnJhbmRUb0ltYWdlIEByZWxhdGlvbihmaWVsZHM6IFticmFuZEltYWdlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBAQG1hcCgiYnJhbmRpbWFnZSIpCn0KCm1vZGVsIENvdW50cnkgewogIGlkICAgICAgICAgIEludCAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjb3VudHJ5Q29kZSBTdHJpbmcgIEB1bmlxdWUgQGRiLlZhckNoYXIoMikKICBjb3VudHJ5TmFtZSBTdHJpbmcgIEBkYi5WYXJDaGFyKDUwMCkKICB0ZWxlQ29kZSAgICBTdHJpbmcgIEBkYi5WYXJDaGFyKDEwKQogIHN0YXRlcyAgICAgIFN0YXRlW10KCiAgY2FtcGFpZ25zIENhbXBhaWduVG9Db3VudHJ5W10KCiAgQEBtYXAoImNvdW50cnkiKQp9Cgptb2RlbCBTdGF0ZSB7CiAgaWQgICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNvdW50cnlJZCBJbnQKICBzdGF0ZUNvZGUgU3RyaW5nIEBkYi5WYXJDaGFyKDUwKQogIHN0YXRlTmFtZSBTdHJpbmcgQGRiLlZhckNoYXIoNTAwKQoKICBjb3VudHJ5IENvdW50cnkgQHJlbGF0aW9uKGZpZWxkczogW2NvdW50cnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJzdGF0ZSIpCn0KCm1vZGVsIFBheW1lbnRUcmFuc2FjdGlvbiB7CiAgaWQgICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgYW1vdW50ICAgIEZsb2F0CiAgYmFsYW5jZSAgIEZsb2F0CiAgdHlwZSAgICAgIFN0cmluZwogIGRhdGUgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBub3RlcyAgICAgU3RyaW5nPyAgQGRiLlRleHQKICBtZXRhRGF0YSAgSnNvbiAgICAgQGRlZmF1bHQoInt9IikKICBhY2NvdW50SWQgSW50CgogIGJyYW5kSWQgICAgICAgICAgIEludD8KICBjcmVhdG9ySWQgICAgICAgICBJbnQ/CiAgcHJldlRyYW5zYWN0aW9uSWQgSW50PyBAdW5pcXVlCgogIGJyYW5kICAgICAgICAgICBCcmFuZD8gICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjcmVhdG9yICAgICAgICAgVXNlcj8gICAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY3JlYXRvcklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBwcmV2VHJhbnNhY3Rpb24gUGF5bWVudFRyYW5zYWN0aW9uPyBAcmVsYXRpb24oIlRyYW5zYWN0aW9uSGlzdG9yeSIsIGZpZWxkczogW3ByZXZUcmFuc2FjdGlvbklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBuZXh0VHJhbnNhY3Rpb24gUGF5bWVudFRyYW5zYWN0aW9uPyBAcmVsYXRpb24oIlRyYW5zYWN0aW9uSGlzdG9yeSIpCn0KCm1vZGVsIEJyYW5kQWZmaWxpYXRlTGluayB7CiAgaWQgICAgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjcmVhdGVkICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBkZXNjcmlwdGlvbiBTdHJpbmc/CiAgdXJsUGF0aCAgICAgU3RyaW5nCiAgY29tbWlzc2lvbiAgRmxvYXQgICAgQGRlZmF1bHQoMC4yKQogIG1ldGFEYXRhICAgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGJyYW5kSWQgICAgICAgIEludAogIGFmZmlsaWF0ZUxpbmtzIEFmZmlsaWF0ZUxpbmtbXQoKICBicmFuZCBCcmFuZCBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCn0KCm1vZGVsIEFmZmlsaWF0ZUxpbmsgewogIGlkICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY3JlYXRlZCAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgbWV0YURhdGEgSnNvbiAgICAgQGRlZmF1bHQoInt9IikKCiAgdXNlcklkICAgICAgICAgICAgICAgSW50CiAgYnJhbmRBZmZpbGlhdGVMaW5rSWQgSW50CiAgYWZmaWxpYXRlQ2xpY2tzICAgICAgQWZmaWxpYXRlQ2xpY2tbXQoKICBhZmZpbGlhdGUgICAgICAgICAgVXNlciAgICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGJyYW5kQWZmaWxpYXRlTGluayBCcmFuZEFmZmlsaWF0ZUxpbmsgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kQWZmaWxpYXRlTGlua0lkXSwgcmVmZXJlbmNlczogW2lkXSkKfQoKbW9kZWwgQWZmaWxpYXRlQ2xpY2sgewogIGlkICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNyZWF0ZWQgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICB2aXNpdG9ySXAgU3RyaW5nPwogIG1ldGFEYXRhICBKc29uICAgICBAZGVmYXVsdCgie30iKQoKICBhZmZpbGlhdGVMaW5rSWQgSW50CgogIGFmZmlsaWF0ZUxpbmsgIEFmZmlsaWF0ZUxpbmsgICAgQHJlbGF0aW9uKGZpZWxkczogW2FmZmlsaWF0ZUxpbmtJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgYWZmaWxpYXRlRXZlbnQgQWZmaWxpYXRlRXZlbnRbXQp9Cgptb2RlbCBBZmZpbGlhdGVFdmVudCB7CiAgaWQgICAgICAgICAgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBldmVudCAgICAgICAgICAgICBTdHJpbmcgLy8gY2xpY2ssIHB1cmNoYXNlLCBldGMuCiAgY3JlYXRlZCAgICAgICAgICAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgdmlzaXRvcklwICAgICAgICAgU3RyaW5nPwogIHVybFBhdGggICAgICAgICAgIFN0cmluZz8KICByZXZlbnVlICAgICAgICAgICBGbG9hdD8KICBjb21taXNzaW9uQW1vdW50ICBGbG9hdD8KICBjb21taXNzaW9uUGVyY2VudCBGbG9hdD8KICBtZXRhRGF0YSAgICAgICAgICBKc29uICAgICBAZGVmYXVsdCgie30iKQoKICBhZmZpbGlhdGVDbGlja0lkIEludAoKICBhZmZpbGlhdGVDbGljayBBZmZpbGlhdGVDbGljaz8gQHJlbGF0aW9uKGZpZWxkczogW2FmZmlsaWF0ZUNsaWNrSWRdLCByZWZlcmVuY2VzOiBbaWRdKQp9Cgptb2RlbCBTYXZlZEZpbGUgewogIGlkICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0aXRsZSAgICAgU3RyaW5nPwogIHR5cGUgICAgICBTdHJpbmc/IC8vIGF1ZGllbmNlLXJlcG9ydCwgc2VhcmNoLWV4cG9ydCwgY2FtcGFpZ24taW52aXRlCiAgdXJsICAgICAgIFN0cmluZz8KICBzYXZlZERhdGUgRGF0ZVRpbWU/CiAgbWV0YURhdGEgIEpzb24/ICAgICBAZGVmYXVsdCgie30iKQoKICBicmFuZElkIEludD8KICBicmFuZCAgIEJyYW5kPyBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJzYXZlZGZpbGUiKQp9Cgptb2RlbCBDYW1wYWlnbkludml0ZSB7CiAgaWQgICAgICAgICAgICAgICAgSW50IEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkgQGlkCiAgc29jaWFsUHJvZmlsZUlkICAgSW50PyAKICBicmFuZElkICAgICAgICAgICBJbnQKICBjYW1wYWlnbklkICAgICAgICBJbnQ/CiAgb3B0SW5JZCAgICAgICAgICAgSW50PyBAdW5pcXVlCiAgY29kZSAgICAgICAgICAgICAgU3RyaW5nPyBAdW5pcXVlCiAgY3JlYXRlZEF0ICAgICAgICAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgZGVjbGluZURhdGUgICAgICBEYXRlVGltZT8KICBkZWNsaW5lUmVhc29uICAgIFN0cmluZz8gIEBkYi5UZXh0CiAgCiAgbWV0YURhdGEgICAgICAgICAgSnNvbj8gQGRlZmF1bHQoInt9IikKCiAgYnJhbmQgICAgICAgICAgICAgQnJhbmQgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnbiAgICAgICAgICBDYW1wYWlnbj8gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHNvY2lhbFByb2ZpbGUgICAgIFNvY2lhbFByb2ZpbGU/IEByZWxhdGlvbihmaWVsZHM6IFtzb2NpYWxQcm9maWxlSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG9wdEluICAgICAgICAgICAgIE9wdEluPyBAcmVsYXRpb24oZmllbGRzOiBbb3B0SW5JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgCn0KCm1vZGVsIENyZWF0b3JMaXN0IHsKICBpZCAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGJyYW5kSWQgICAgSW50CiAgY2FtcGFpZ25JZCBJbnQ/CiAgY3JlYXRlZCAgICBEYXRlVGltZSAgQGRlZmF1bHQobm93KCkpCiAgYXJjaGl2ZWQgICBEYXRlVGltZT8KICB0aXRsZSAgICAgIFN0cmluZwogIG1ldGFEYXRhICAgSnNvbj8gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGNyZWF0b3JzICBDcmVhdG9yTGlzdEl0ZW1bXQogIGJyYW5kICAgICBCcmFuZCAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhbXBhaWduICBDYW1wYWlnbj8gICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgc2VxdWVuY2VzIFNlcXVlbmNlW10KCiAgQEBtYXAoImNyZWF0b3JsaXN0IikKfQoKbW9kZWwgQ3JlYXRvckxpc3RJdGVtIHsKICBpZCAgICAgICAgICAgICAgSW50IEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc29jaWFsUHJvZmlsZUlkIEludAogIGNyZWF0b3JMaXN0SWQgICBJbnQKCiAgc2F2ZWQgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIGludml0ZWQgIERhdGVUaW1lPwogIHRhZ3MgICAgIEpzb24/CiAgZmVlZGJhY2sgU3RyaW5nPyAgIEBkYi5UZXh0CiAgYXJjaGl2ZWQgRGF0ZVRpbWU/CiAgbWV0YURhdGEgSnNvbj8gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGNyZWF0b3JMaXN0ICAgQ3JlYXRvckxpc3QgICAgQHJlbGF0aW9uKGZpZWxkczogW2NyZWF0b3JMaXN0SWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBzb2NpYWxQcm9maWxlIFNvY2lhbFByb2ZpbGU/IEByZWxhdGlvbihmaWVsZHM6IFtzb2NpYWxQcm9maWxlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICAKICBzZXF1ZW5jZU91dGJvdW5kRW1haWxzICBTZXF1ZW5jZU91dGJvdW5kRW1haWxbXQogIHNlcXVlbmNlSW5ib3VuZEVtYWlscyAgIFNlcXVlbmNlSW5ib3VuZEVtYWlsW10KICBzZXF1ZW5jZUltYXBDaGVja3BvaW50cyBTZXF1ZW5jZUltYXBDaGVja3BvaW50W10KCiAgQEBtYXAoImNyZWF0b3JsaXN0aXRlbSIpCn0KCm1vZGVsIFNvY2lhbFByb2ZpbGUgewogIGlkICAgICAgIEludCAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBzb2NpYWxJZCBTdHJpbmc/IEB1bmlxdWUgLy8gbmVlZCB0byBtYWtlIHN1cmUgdGhpcyBjYW4gbmV2ZXIgb3ZlcmxhcCBhY3Jvc3MgbXVsdGlwbGUgcGxhdGZvcm1zLCB3ZSBzaG91bGQgYXBwZW5kIHRoZSBwbGF0Zm9ybSB0byB0aGUgYmVnaW5uaW5nIHRvIGVuc3VyZSBpdOKAmXMgYWx3YXlzIHVuaXF1ZQogIHVzZXJJZCAgIEludD8gLy8gcmVnaXN0ZXJlZCB1c2VyIGlkLCBpZiBhdmFpbGFibGUKCiAgLy8gc29jaWFsIGRhdGEKICBwbGF0Zm9ybSAgICAgIFN0cmluZwogIHVzZXJuYW1lICAgICAgU3RyaW5nCiAgZnVsbG5hbWUgICAgICBTdHJpbmc/ICBAZGIuVmFyQ2hhcigxMDI0KQogIHByb2ZpbGVVcmwgICAgU3RyaW5nPwogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgQGRiLlZhckNoYXIoMjA4MykgLy8gbmVlZCB0byBzcGVjaWZ5IGxlbmd0aCwgZGVmYXVsdCBzaXplIGlzIHRvbyBzbWFsbAogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgYXZnVmlld3MgICAgICBJbnQ/CiAgdmVyaWZpZWQgICAgICBCb29sZWFuPwogIG1ldGFEYXRhICAgICAgSnNvbiAgICAgQGRlZmF1bHQoInt9IikKICBhdWRpZW5jZURhdGEgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCiAgcGh5bGxvRGF0YSAgICBKc29uICAgICBAZGVmYXVsdCgie30iKQoKICBjcmVhdGVkIERhdGVUaW1lICBAZGVmYXVsdChub3coKSkKICB1cGRhdGVkIERhdGVUaW1lPwoKICBjcmVhdG9yTGlzdEl0ZW1zICBDcmVhdG9yTGlzdEl0ZW1bXQogIGNhbXBhaWduSW52aXRlcyAgIENhbXBhaWduSW52aXRlW10KICB1c2VyICAgICAgICAgICAgICBVc2VyPyAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBpbmRleCh1c2VybmFtZSkKICBAQGluZGV4KHVzZXJJZCkKICBAQG1hcCgic29jaWFscHJvZmlsZSIpCn0KCm1vZGVsIE1lc3NhZ2VUZW1wbGF0ZSB7CiAgaWQgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGxhYmVsICAgIFN0cmluZz8KICB0ZW1wbGF0ZSBTdHJpbmcgIEBkYi5UZXh0CiAgYnJhbmRJZCAgSW50PwogIGJyYW5kICAgIEJyYW5kPyAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG1ldGFEYXRhIEpzb24gICAgQGRlZmF1bHQoInt9IikgLy8gdG8gc2F2ZSBhbnkgYWRkaXRpb25hbCBkYXRhIHN1Y2ggYXMgdXNlciBkZWZpbmVkIHZhcmlhYmxlcwoKICBAQG1hcCgibWVzc2FnZXRlbXBsYXRlIikKfQoKbW9kZWwgRW1haWxUZW1wbGF0ZSB7CiAgaWQgICAgICAgICBJbnQgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgbGFiZWwgICAgICBTdHJpbmc/CiAgc3ViamVjdCAgICBTdHJpbmc/CiAgdGVtcGxhdGUgICBTdHJpbmcgIEBkYi5UZXh0CiAgYnJhbmRJZCAgICBJbnQ/CiAgCiAgYnJhbmQgICAgICBCcmFuZD8gIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBtZXRhRGF0YSAgIEpzb24gICAgQGRlZmF1bHQoInt9IikgLy8gdG8gc2F2ZSBhbnkgYWRkaXRpb25hbCBkYXRhIHN1Y2ggYXMgdXNlciBkZWZpbmVkIHZhcmlhYmxlcwoKICBzZXF1ZW5jZVN0ZXBzICAgU2VxdWVuY2VTdGVwW10KfQoKbW9kZWwgU29jaWFsTGlzdGVuaW5nTGlzdCB7CiAgaWQgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBicmFuZElkICAgIEludAogIGNhbXBhaWduSWQgSW50PyAgICAgIEB1bmlxdWUgLy8gb3B0aW9uYWxseSBsaW5rZWQgdG8gYSBjYW1wYWlnbgogIGNyZWF0ZWQgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIHVwZGF0ZWQgICAgRGF0ZVRpbWU/CiAgdGl0bGUgICAgICBTdHJpbmcKICBwb3N0VHlwZSAgIFN0cmluZyAvLyBzcG9uc29yZWQgcG9zdHMsIHRvcCBwb3N0cywgb3IgcmVjZW50IHBvc3RzCiAgZmlsdGVycyAgICBKc29uPyAgICAgQGRlZmF1bHQoInt9IikgLy8gZmlsdGVycyB0byBzZWFyY2ggcG9zdHMgYnkgKGxvY2F0aW9uLCBkYXRlLCBoYXNodGFncywgbWVudGlvbnMsIGV0Yy4pCgogIGxhc3RGZXRjaGVkIERhdGVUaW1lPyAvLyBsYXN0IHRpbWUgcG9zdHMgd2VyZSBmZXRjaGVkCgogIGJyYW5kIEJyYW5kICAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHBvc3RzIExpc3RUb1NvY2lhbFBvc3RbXQoKICBAQG1hcCgic29jaWFsbGlzdGVuaW5nbGlzdCIpCn0KCm1vZGVsIExpc3RUb1NvY2lhbFBvc3QgewogIGlkICAgICBJbnQgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBsaXN0SWQgSW50CiAgcG9zdElkIEludAoKICBsaXN0ICAgICAgIFNvY2lhbExpc3RlbmluZ0xpc3QgQHJlbGF0aW9uKGZpZWxkczogW2xpc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHNvY2lhbFBvc3QgU29jaWFsUG9zdCAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbcG9zdElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJsaXN0dG9zb2NpYWxwb3N0IikKfQoKbW9kZWwgT3B0SW5WaWV3IHsKICBpZCAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpdGxlICAgU3RyaW5nCiAgZmlsdGVycyBKc29uICAgQGRlZmF1bHQoInt9IikKCiAgY2FtcGFpZ25JZCBJbnQ/CiAgY2FtcGFpZ24gICBDYW1wYWlnbj8gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQG1hcCgib3B0aW52aWV3IikKfQoKbW9kZWwgUmFrdXRlbkFjdGl2aXR5IHsKICBpZCAgICAgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBvcmRlcklkICAgICAgU3RyaW5nPwogIG1ldGFEYXRhICAgICBKc29uICAgICBAZGVmYXVsdCgie30iKQogIGNyZWF0ZWQgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBjbGlja3MgICAgICAgSW50PwogIG9yZGVycyAgICAgICBJbnQ/CiAgc2FsZXMgICAgICAgIEZsb2F0PwogIGNvbW1pc3Npb24gICBGbG9hdD8KICBhZHZlcnRpc2VySWQgSW50PwoKICB1c2VySWQgSW50CgogIHVzZXIgVXNlciBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInJha3V0ZW5hY3Rpdml0eSIpCn0KbW9kZWwgSW1wYWN0UmFkaXVzRXZlbnQgewogIGlkICAgICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHR5cGUgICAgICAgICBTdHJpbmcgIC8vIGFjdGlvbi9jbGljawogIGNyZWF0ZWQgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBhbW91bnQgICAgICAgRmxvYXQ/CiAgY29tbWlzc2lvbiAgIEZsb2F0PwogIG1ldGFEYXRhICAgICBKc29uICAgICBAZGVmYXVsdCgie30iKQoKICB1c2VySWQgSW50CiAgYnJhbmRJZCBJbnQ/CgogIHVzZXIgVXNlciBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBicmFuZCBCcmFuZD8gQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQp9Cgptb2RlbCBDcmVhdG9yU2VhcmNoRmlsdGVyIHsKICBpZCAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgYnJhbmRJZCAgIEludAogIHRpdGxlICAgICBTdHJpbmcKICBmaWx0ZXJzICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgY3JlYXRlZEF0IERhdGVUaW1lICBAZGVmYXVsdChub3coKSkKICB1cGRhdGVkQXQgRGF0ZVRpbWU/CiAgYnJhbmQgICAgIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgQEBtYXAoImNyZWF0b3JzZWFyY2hmaWx0ZXIiKQp9Cgptb2RlbCBTZXF1ZW5jZSB7CiAgaWQgICAgICAgICAgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjYW1wYWlnbklkICAgICAgICBJbnQKICBjcmVhdG9yTGlzdElkICAgICBJbnQKICB0aXRsZSAgICAgICAgICAgICBTdHJpbmcgICBAZGIuVmFyQ2hhcigyNTUpCiAgY3JlYXRlZEF0ICAgICAgICAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgY29tcGxldGVkICAgICAgICAgQm9vbGVhbiAgQGRlZmF1bHQoZmFsc2UpCiAgYnJhbmRJZCAgICAgICAgICAgSW50CiAgZW5hYmxlZCAgICAgICAgICAgQm9vbGVhbiAgQGRlZmF1bHQoZmFsc2UpCgogIGNhbXBhaWduICAgICAgICAgIENhbXBhaWduIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjcmVhdG9yTGlzdCAgICAgICBDcmVhdG9yTGlzdCBAcmVsYXRpb24oZmllbGRzOiBbY3JlYXRvckxpc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgYnJhbmQgICAgICAgICAgICAgQnJhbmQgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBzdGVwcyAgICAgICAgICAgICBTZXF1ZW5jZVN0ZXBbXQogIG91dGJvdW5kRW1haWxzICAgIFNlcXVlbmNlT3V0Ym91bmRFbWFpbFtdCiAgaW5ib3VuZEVtYWlscyAgICAgU2VxdWVuY2VJbmJvdW5kRW1haWxbXQogIGltYXBDaGVja3BvaW50cyAgIFNlcXVlbmNlSW1hcENoZWNrcG9pbnRbXQoKICBAQG1hcCgic2VxdWVuY2UiKQp9Cgptb2RlbCBTZXF1ZW5jZVN0ZXAgewogIGlkICAgICAgICAgICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc2VxdWVuY2VJZCAgICAgICAgSW50CiAgY3JlYXRlZEF0ICAgICAgICAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgZW1haWxUZW1wbGF0ZUlkICAgSW50CiAgZGF5c0FmdGVyUHJldmlvdXMgSW50CiAgb3JkZXIgICAgICAgICAgICAgSW50CiAgc3RlcElkICAgICAgICAgICAgSW50CgogIHNlcXVlbmNlICAgICAgICAgIFNlcXVlbmNlIEByZWxhdGlvbihmaWVsZHM6IFtzZXF1ZW5jZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgZW1haWxUZW1wbGF0ZSAgICAgRW1haWxUZW1wbGF0ZSBAcmVsYXRpb24oZmllbGRzOiBbZW1haWxUZW1wbGF0ZUlkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgb3V0Ym91bmRFbWFpbHMgIFNlcXVlbmNlT3V0Ym91bmRFbWFpbFtdCgogIEBAbWFwKCJzZXF1ZW5jZXN0ZXAiKQp9Cgptb2RlbCBTZXF1ZW5jZU91dGJvdW5kRW1haWwgewogIGlkICAgICAgICAgICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc2VxdWVuY2VJZCAgICAgICAgSW50CiAgY3JlYXRvckxpc3RJdGVtSWQgSW50CiAgc2VxdWVuY2VTdGVwSWQgICAgSW50CiAgc2VudEF0ICAgICAgICAgICAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCgogIHNlcXVlbmNlICAgICAgU2VxdWVuY2UgQHJlbGF0aW9uKGZpZWxkczogW3NlcXVlbmNlSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNyZWF0b3JMaXN0ICAgQ3JlYXRvckxpc3RJdGVtIEByZWxhdGlvbihmaWVsZHM6IFtjcmVhdG9yTGlzdEl0ZW1JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgc2VxdWVuY2VTdGVwICBTZXF1ZW5jZVN0ZXAgQHJlbGF0aW9uKGZpZWxkczogW3NlcXVlbmNlU3RlcElkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInNlcXVlbmNlb3V0Ym91bmRlbWFpbCIpCn0KCm1vZGVsIFNlcXVlbmNlSW5ib3VuZEVtYWlsIHsKICBpZCAgICAgICAgICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHNlcXVlbmNlSWQgICAgICAgIEludAogIGNyZWF0b3JMaXN0SXRlbUlkIEludAogIHJlY2VpdmVkQXQgICAgICAgIERhdGVUaW1lIEBkZWZhdWx0KG5vdygpKQogIG1zZ0hhc2ggICAgICAgICAgIFN0cmluZwoKICBzZXF1ZW5jZSAgICAgIFNlcXVlbmNlIEByZWxhdGlvbihmaWVsZHM6IFtzZXF1ZW5jZUlkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjcmVhdG9yTGlzdElkIENyZWF0b3JMaXN0SXRlbSBAcmVsYXRpb24oZmllbGRzOiBbY3JlYXRvckxpc3RJdGVtSWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQG1hcCgic2VxdWVuY2VpbmJvdW5kZW1haWwiKQp9Cgptb2RlbCBTZXF1ZW5jZUltYXBDaGVja3BvaW50IHsKICBzZXF1ZW5jZUlkICAgICAgICBJbnQKICBjcmVhdG9yTGlzdEl0ZW1JZCBJbnQKICBsYXN0UmVhZE1zZ0RhdGUgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBjcmVhdGVkQXQgICAgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICB1cGRhdGVkQXQgICAgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKCiAgc2VxdWVuY2UgICAgICBTZXF1ZW5jZSBAcmVsYXRpb24oZmllbGRzOiBbc2VxdWVuY2VJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgY3JlYXRvckxpc3RJZCBDcmVhdG9yTGlzdEl0ZW0gQHJlbGF0aW9uKGZpZWxkczogW2NyZWF0b3JMaXN0SXRlbUlkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBpZChbc2VxdWVuY2VJZCwgY3JlYXRvckxpc3RJdGVtSWRdKQogIEBAbWFwKCJzZXF1ZW5jZWltYXBjaGVja3BvaW50IikKfQ==",
1285
+ "inlineSchemaHash": "6db706dbdd21cdae476bd7c0a33de53cb9796d37993ae11f18ca30bea63b21a7",
1286
1286
  "noEngine": false
1287
1287
  }
1288
1288
  config.dirname = '/'
package/index.js CHANGED
@@ -1215,7 +1215,7 @@ const config = {
1215
1215
  "value": "prisma-client-js"
1216
1216
  },
1217
1217
  "output": {
1218
- "value": "/home/runner/github-runner-WOZAaCyBqQzix/creator-database/creator-database/client/creatorco/client",
1218
+ "value": "/home/runner/github-runner-Gb2uibpFKEdBJ/creator-database/creator-database/client/creatorco/client",
1219
1219
  "fromEnvVar": null
1220
1220
  },
1221
1221
  "config": {
@@ -1282,8 +1282,8 @@ const config = {
1282
1282
  }
1283
1283
  }
1284
1284
  },
1285
- "inlineSchema": "Z2VuZXJhdG9yIGVyZCB7CiAgcHJvdmlkZXIgICAgICAgICAgICAgICAgICA9ICJwcmlzbWEtZXJkLWdlbmVyYXRvciIKICBpbmNsdWRlUmVsYXRpb25Gcm9tRmllbGRzID0gdHJ1ZQogIG91dHB1dCA9ICIuLi8uLi9kb2NzL2NyZWF0b3Jjb19lcmQubWQiCn0KCmdlbmVyYXRvciBreXNlbHkgewogIHByb3ZpZGVyICAgICAgICAgPSAicHJpc21hLWt5c2VseSIKICBvdXRwdXQgICAgICAgICAgID0gIi4uLy4uL2NsaWVudC9jcmVhdG9yY28va3lzZWx5IgogIGZpbGVOYW1lICAgICAgICAgPSAidHlwZXMudHMiCiAgZW51bUZpbGVOYW1lICAgICA9ICJlbnVtcy50cyIKICByZWFkT25seUlkcyAgICAgID0gdHJ1ZQogIGpzb25UeXBlT3ZlcnJpZGUgPSBKc29uCn0KCmdlbmVyYXRvciBjbGllbnQgewogIHByb3ZpZGVyICAgICAgICA9ICJwcmlzbWEtY2xpZW50LWpzIgogIG91dHB1dCAgICAgICAgICA9ICIuLi8uLi9jbGllbnQvY3JlYXRvcmNvL2NsaWVudCIKICBwcmV2aWV3RmVhdHVyZXMgPSBbImZ1bGxUZXh0SW5kZXgiLCAiZnVsbFRleHRTZWFyY2giXQogIC8vIG1hY29zIChhcm0gb3IgeDg2KSwgbmF0aXZlLCBsaW51eCBhcm02NCBzc2wzLngsIHdpbmRvd3MKICBiaW5hcnlUYXJnZXRzICAgPSBbIm5hdGl2ZSIsICJkYXJ3aW4iLCAiZGFyd2luLWFybTY0IiwgImxpbnV4LWFybTY0LW9wZW5zc2wtMy4wLngiLCAid2luZG93cyIsICJkZWJpYW4tb3BlbnNzbC0zLjAueCIsICJsaW51eC1tdXNsLWFybTY0LW9wZW5zc2wtMy4wLngiLCAibGludXgtYXJtNjQtb3BlbnNzbC0xLjAueCJdCn0KCmRhdGFzb3VyY2UgZGIgewogIHByb3ZpZGVyID0gInBvc3RncmVzcWwiCiAgdXJsICAgICAgPSBlbnYoIkRBVEFCQVNFX1VSTCIpCn0KCm1vZGVsIFVzZXIgewogIGlkICAgICAgICAgICAgICAgICAgSW50ICAgICAgICAgICAgIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkgQGlkCiAgcm9sZSAgICAgICAgICAgICAgICBTdHJpbmcKICBlbWFpbCAgICAgICAgICAgICAgIFN0cmluZz8gICAgICAgICBAdW5pcXVlCiAgcGFzc3dvcmQgICAgICAgICAgICBTdHJpbmc/CiAgcmVnaXN0ZXJlZCAgICAgICAgICBEYXRlVGltZSAgICAgICAgQGRlZmF1bHQobm93KCkpCiAgbGFzdExvZ2luRGF0ZSAgICAgICBEYXRlVGltZT8gCiAgZmlyc3ROYW1lICAgICAgICAgICBTdHJpbmc/CiAgbGFzdE5hbWUgICAgICAgICAgICBTdHJpbmc/CiAgcGhvbmUgICAgICAgICAgICAgICBTdHJpbmc/CiAgcGhvbmVDb2RlICAgICAgICAgICBJbnQ/CiAgcGhvbmVTaG9ydCAgICAgICAgICBTdHJpbmc/CiAgcHJvZmlsZVBpY1VybCAgICAgICBTdHJpbmc/ICAgICAgICAgQGRiLlZhckNoYXIoMjA4MykKICBmb3Jnb3RQYXNzd29yZEtleSAgIFN0cmluZz8gICAgICAgICBAdW5pcXVlCiAgYWZmaWxpYXRlU2x1ZyAgICAgICBTdHJpbmc/ICAgICAgICAgQHVuaXF1ZQogIGNsb3NlZCAgICAgICAgICAgICAgRGF0ZVRpbWU/CiAgY2xvc2VkUmVhc29uICAgICAgICBTdHJpbmc/CiAgdXNlcmNvbUxhc3RTeW5jZWQgICBEYXRlVGltZT8KICBleHRyYURhdGEgICAgICAgICAgIEpzb24gICAgICAgICAgICBAZGVmYXVsdCgie30iKQoKICByZWZlcnJlcklkIEludD8KCiAgcmVmZXJyZXIgICAgICAgICAgICBVc2VyPyAgICAgICAgICAgICAgICBAcmVsYXRpb24oIlJlZmVycmFscyIsIGZpZWxkczogW3JlZmVycmVySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHJlZmVycmVkVXNlcnMgICAgICAgVXNlcltdICAgICAgICAgICAgICAgQHJlbGF0aW9uKCJSZWZlcnJhbHMiKQogIGxvZ3MgICAgICAgICAgICAgICAgTG9nW10KICBjcmVhdG9yUHJvZmlsZSAgICAgIENyZWF0b3JQcm9maWxlPwogIGluc3RhZ3JhbVByb2ZpbGUgICAgSW5zdGFncmFtUHJvZmlsZT8KICB5b3V0dWJlUHJvZmlsZSAgICAgIFlvdXR1YmVQcm9maWxlPwogIHRpa3Rva1Byb2ZpbGUgICAgICAgVGlrdG9rUHJvZmlsZT8KICBmYWNlYm9va1Byb2ZpbGUgICAgIEZhY2Vib29rUHJvZmlsZT8KICB0d2l0dGVyUHJvZmlsZSAgICAgIFR3aXR0ZXJQcm9maWxlPwogIHR3aXRjaFByb2ZpbGUgICAgICAgVHdpdGNoUHJvZmlsZT8KICBicmFuZFByb2ZpbGVzICAgICAgIEJyYW5kVXNlclByb2ZpbGVbXQogIG9wdElucyAgICAgICAgICAgICAgT3B0SW5bXQogIGFzc2lnbmVkQnJhbmRzICAgICAgQnJhbmRbXQogIG1lc3NhZ2VzICAgICAgICAgICAgTWVzc2FnZVtdCiAgc29jaWFsUG9zdHMgICAgICAgICBTb2NpYWxQb3N0W10KICBwYXltZW50VHJhbnNhY3Rpb25zIFBheW1lbnRUcmFuc2FjdGlvbltdCiAgYWZmaWxpYXRlTGlua3MgICAgICBBZmZpbGlhdGVMaW5rW10KICBjYW1wYWlnblBpbnMgICAgICAgIENhbXBhaWduUGluW10KICBzb2NpYWxQcm9maWxlcyAgICAgIFNvY2lhbFByb2ZpbGVbXQogIHJha3V0ZW5BY3Rpdml0eSAgICAgUmFrdXRlbkFjdGl2aXR5W10KICBpbXBhY3RSYWRpdXNFdmVudHMgIEltcGFjdFJhZGl1c0V2ZW50W10KCiAgQEBtYXAoInVzZXIiKQogIC8vIEBAZnVsbHRleHQoW2ZpcnN0TmFtZSwgbGFzdE5hbWVdKQp9Cgptb2RlbCBMb2cgewogIGlkIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQoKICB1c2VySWQgSW50PwogIHVzZXIgICBVc2VyPyBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIGRhdGEgSnNvbj8KfQoKbW9kZWwgQ3JlYXRvclByb2ZpbGUgewogIGlkICAgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY291bnRyeSAgICAgICAgICBTdHJpbmc/CiAgcmVnaW9uICAgICAgICAgICBTdHJpbmc/CiAgYmlydGhEYXRlICAgICAgICBEYXRlVGltZT8KICBpbnRlcmVzdHMgICAgICAgIEpzb24/IC8vIGRlcHJlY2F0ZWQKICBnZW5kZXIgICAgICAgICAgIFN0cmluZz8KICBzaGlwcGluZ0FkZHJlc3MxIFN0cmluZz8KICBzaGlwcGluZ0FkZHJlc3MyIFN0cmluZz8KICBzaGlwcGluZ0NpdHkgICAgIFN0cmluZz8KICBzaGlwcGluZ1JlZ2lvbiAgIFN0cmluZz8KICBzaGlwcGluZ0NvdW50cnkgIFN0cmluZz8KICBzaGlwcGluZ1Bvc3Rjb2RlIFN0cmluZz8KICBwaHlsbG9Vc2VySWQgICAgIFN0cmluZz8KICBwcm9maWxlU2x1ZyAgICAgIFN0cmluZz8gICBAdW5pcXVlCiAgcHJvZmlsZVNldHRpbmdzICBKc29uPwogIHdhbGxldEFkZHJlc3MgICAgU3RyaW5nPyAgIEB1bmlxdWUKCiAgbmljaGVzIENyZWF0b3JUb0NhdGVnb3J5W10KCiAgdXNlcklkIEludCAgQHVuaXF1ZQogIHVzZXIgICBVc2VyIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBpbmRleChwaHlsbG9Vc2VySWQpCiAgQEBtYXAoImNyZWF0b3Jwcm9maWxlIikKfQoKbW9kZWwgSW5zdGFncmFtUHJvZmlsZSB7CiAgaWQgICAgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGluc3RhZ3JhbUlkIFN0cmluZz8KCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nCiAgdXJsICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBwcm9maWxlUGljVXJsIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgbGFzdFVwZGF0ZWQgICBEYXRlVGltZT8KCiAgZnVsbE5hbWUgICAgICAgICAgU3RyaW5nPyBAZGIuVmFyQ2hhcigxMDI0KQogIGlzQnVzaW5lc3MgICAgICAgIEJvb2xlYW4/CiAgaXNQcml2YXRlICAgICAgICAgQm9vbGVhbj8KICBpc1ZlcmlmaWVkICAgICAgICBCb29sZWFuPwogIG1lZGlhQ291bnQgICAgICAgIEludD8KICBmb2xsb3dpbmdDb3VudCAgICBJbnQ/CiAgdG90YWxDb21tZW50cyAgICAgSW50PwogIHRvdGFsTGlrZXMgICAgICAgIEludD8KICBhdmdDb21tZW50cyAgICAgICBGbG9hdD8KICBhdmdMaWtlcyAgICAgICAgICBGbG9hdD8KICBiaW8gICAgICAgICAgICAgICBTdHJpbmc/CiAgZXh0ZXJuYWxVcmwgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgaGFzSGlnaGxpZ2h0UmVlbHMgQm9vbGVhbj8KICBjYXRlZ29yeSAgICAgICAgICBTdHJpbmc/CiAgaGFzQ2xpcHMgICAgICAgICAgQm9vbGVhbj8KICBoYXNHdWlkZXMgICAgICAgICBCb29sZWFuPwogIGhhc0NoYW5uZWwgICAgICAgIEJvb2xlYW4/CiAgdG90YWxJZ3R2VmlkZW9zICAgSW50PwogIHByb2ZpbGVQaWNVcmxIZCAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKSAvLyBERVBSRUNBVEVECiAgbGFzdFN0b3JpZXNVcGRhdGUgRGF0ZVRpbWU/CgogIGV4dHJhRGF0YSAgICBKc29uPwogIHBoeWxsb0RhdGEgICBKc29uPwogIGF1ZGllbmNlRGF0YSBKc29uICAgIEBkZWZhdWx0KCJ7fSIpCiAgdmlzaWJpbGl0eSAgIFN0cmluZz8gQGRlZmF1bHQoInB1YmxpYyIpCgogIHVzZXJJZCAgSW50PyAgIEB1bmlxdWUKICB1c2VyICAgIFVzZXI/ICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgYnJhbmRJZCBJbnQ/ICAgQHVuaXF1ZQogIGJyYW5kICAgQnJhbmQ/IEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAaW5kZXgodXNlcm5hbWUpCiAgQEBpbmRleChpbnN0YWdyYW1JZCkKICBAQG1hcCgiaW5zdGFncmFtcHJvZmlsZSIpCn0KCm1vZGVsIFRpa3Rva1Byb2ZpbGUgewogIGlkICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpa3Rva0lkIFN0cmluZyBAdW5pcXVlCgogIC8vIGZpZWxkcyBjb25zaXN0ZW50IGFjY3Jvc3MgcHJvZmlsZXMKICB1c2VybmFtZSAgICAgIFN0cmluZz8KICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwoKICBoYW5kbGUgICAgICAgICBTdHJpbmc/CiAgbmlja25hbWUgICAgICAgU3RyaW5nPwogIGZvbGxvd2luZ0NvdW50IEludD8KICB0b3RhbENvbW1lbnRzICBJbnQ/CiAgdG90YWxMaWtlcyAgICAgSW50PwoKICBleHRyYURhdGEgICAgSnNvbj8KICBwaHlsbG9EYXRhICAgSnNvbj8KICBhdWRpZW5jZURhdGEgSnNvbiAgICBAZGVmYXVsdCgie30iKQogIHZpc2liaWxpdHkgICBTdHJpbmc/IEBkZWZhdWx0KCJwdWJsaWMiKQoKICB1c2VySWQgIEludD8gICBAdW5pcXVlCiAgdXNlciAgICBVc2VyPyAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGJyYW5kSWQgSW50PyAgIEB1bmlxdWUKICBicmFuZCAgIEJyYW5kPyBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQGluZGV4KHVzZXJuYW1lKQogIEBAbWFwKCJ0aWt0b2twcm9maWxlIikKfQoKbW9kZWwgWW91dHViZVByb2ZpbGUgewogIGlkICAgICAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB5b3V0dWJlSWQgU3RyaW5nIEB1bmlxdWUKCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nCiAgdXJsICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBwcm9maWxlUGljVXJsIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgbGFzdFVwZGF0ZWQgICBEYXRlVGltZT8KCiAgZm9sbG93aW5nQ291bnQgSW50PwogIGZ1bGxOYW1lICAgICAgIFN0cmluZz8gIEBkYi5WYXJDaGFyKDEwMjQpCiAgaXNWZXJpZmllZCAgICAgQm9vbGVhbj8KICBzdWJzY3JpYmVycyAgICBJbnQ/CiAgZGVzY3JpcHRpb24gICAgU3RyaW5nPyAgQGRiLlRleHQKICBjb3VudHJ5ICAgICAgICBTdHJpbmc/CiAgdG90YWxWaWV3cyAgICAgSW50PwogIHRvdGFsVmlkZW9zICAgIEludD8KCiAgZXh0cmFEYXRhICAgIEpzb24/CiAgcGh5bGxvRGF0YSAgIEpzb24/CiAgYXVkaWVuY2VEYXRhIEpzb24gICAgQGRlZmF1bHQoInt9IikKICB2aXNpYmlsaXR5ICAgU3RyaW5nPyBAZGVmYXVsdCgicHVibGljIikKCiAgdXNlcklkICBJbnQ/ICAgQHVuaXF1ZQogIHVzZXIgICAgVXNlcj8gIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBicmFuZElkIEludD8gICBAdW5pcXVlCiAgYnJhbmQgICBCcmFuZD8gQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBpbmRleCh1c2VybmFtZSkKICBAQG1hcCgieW91dHViZXByb2ZpbGUiKQp9Cgptb2RlbCBUd2l0Y2hQcm9maWxlIHsKICBpZCAgICAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0d2l0Y2hJZCBTdHJpbmcgQHVuaXF1ZQoKICAvLyBmaWVsZHMgY29uc2lzdGVudCBhY2Nyb3NzIHByb2ZpbGVzCiAgdXNlcm5hbWUgICAgICBTdHJpbmcgICAgQHVuaXF1ZQogIHVybCAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgcHJvZmlsZVBpY1VybCBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBmb2xsb3dlckNvdW50IEludD8KICBlbmdhZ2VtZW50ICAgIEZsb2F0PwogIGxhc3RVcGRhdGVkICAgRGF0ZVRpbWU/CgogIGV4dHJhRGF0YSAgSnNvbj8KICBwaHlsbG9EYXRhIEpzb24/CiAgdmlzaWJpbGl0eSBTdHJpbmc/IEBkZWZhdWx0KCJwdWJsaWMiKQoKICB1c2VySWQgSW50PyAgQHVuaXF1ZQogIHVzZXIgICBVc2VyPyBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJ0d2l0Y2hwcm9maWxlIikKfQoKbW9kZWwgRmFjZWJvb2tQcm9maWxlIHsKICBpZCAgICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGZhY2Vib29rSWQgU3RyaW5nIEB1bmlxdWUKCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwoKICBleHRyYURhdGEgIEpzb24/CiAgcGh5bGxvRGF0YSBKc29uPwogIHZpc2liaWxpdHkgU3RyaW5nPyBAZGVmYXVsdCgicHVibGljIikKCiAgdXNlcklkIEludD8gIEB1bmlxdWUKICB1c2VyICAgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgiZmFjZWJvb2twcm9maWxlIikKfQoKbW9kZWwgVHdpdHRlclByb2ZpbGUgewogIGlkICAgICAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0d2l0dGVySWQgU3RyaW5nIEB1bmlxdWUKCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwoKICBleHRyYURhdGEgIEpzb24/CiAgcGh5bGxvRGF0YSBKc29uPwogIHZpc2liaWxpdHkgU3RyaW5nPyBAZGVmYXVsdCgicHVibGljIikKCiAgdXNlcklkIEludD8gIEB1bmlxdWUKICB1c2VyICAgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgidHdpdHRlcnByb2ZpbGUiKQp9Cgptb2RlbCBCcmFuZFVzZXJQcm9maWxlIHsKICBpZCAgICAgIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHVzZXJJZCAgSW50CiAgYnJhbmRJZCBJbnQKCiAgdXNlciAgVXNlciAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGJyYW5kIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJicmFuZHVzZXJwcm9maWxlIikKfQoKbW9kZWwgQnJhbmQgewogIGlkICAgICAgICAgICAgICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIG5hbWUgICAgICAgICAgICAgICAgICAgIFN0cmluZwogIGRlc2NyaXB0aW9uICAgICAgICAgICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHdlYnNpdGUgICAgICAgICAgICAgICAgIFN0cmluZwogIG1vbnRobHlDb250YWN0cyAgICAgICAgIEludD8KICBtb250aGx5UmVwb3J0cyAgICAgICAgICBJbnQ/CiAgbGFzdENvbnRhY3REaXN0cmlidXRpb24gRGF0ZVRpbWU/CiAgbG9nb1VybCAgICAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgYWZmaWxpYXRlQmFzZVVybCAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgYWZmaWxpYXRlQ29tbWlzc2lvbiAgICAgRmxvYXQ/CiAgZXh0cmFEYXRhICAgICAgICAgICAgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCgogIHNwZWNpYWxpc3RJZCAgICAgICAgSW50PwogIGRlZGljYXRlZFNwZWNpYWxpc3QgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3NwZWNpYWxpc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgaW5zdGFncmFtUHJvZmlsZSAgICAgSW5zdGFncmFtUHJvZmlsZT8KICB5b3V0dWJlUHJvZmlsZSAgICAgICBZb3V0dWJlUHJvZmlsZT8KICB0aWt0b2tQcm9maWxlICAgICAgICBUaWt0b2tQcm9maWxlPwogIGNhbXBhaWducyAgICAgICAgICAgIENhbXBhaWduW10KICBicmFuZFVzZXJzICAgICAgICAgICBCcmFuZFVzZXJQcm9maWxlW10KICBzZWFyY2hDb250YWN0cyAgICAgICBTZWFyY2hDb250YWN0c1tdCiAgcmVwb3J0Q3JlZGl0cyAgICAgICAgUmVwb3J0Q3JlZGl0c1tdCiAgY2F0ZWdvcmllcyAgICAgICAgICAgQnJhbmRUb0NhdGVnb3J5W10KICBwYXltZW50VHJhbnNhY3Rpb25zICBQYXltZW50VHJhbnNhY3Rpb25bXQogIHNhdmVkZmlsZXMgICAgICAgICAgIFNhdmVkRmlsZVtdCiAgY3JlYXRvckxpc3RzICAgICAgICAgQ3JlYXRvckxpc3RbXQogIGFmZmlsaWF0ZUxpbmtzICAgICAgIEJyYW5kQWZmaWxpYXRlTGlua1tdCiAgbWVzc2FnZVRlbXBsYXRlICAgICAgTWVzc2FnZVRlbXBsYXRlW10KICBlbWFpbFRlbXBsYXRlcyAgICAgICBFbWFpbFRlbXBsYXRlW10KICBzb2NpYWxMaXN0ZW5pbmdMaXN0cyBTb2NpYWxMaXN0ZW5pbmdMaXN0W10KICBjYW1wYWlnbkludml0ZXMgICAgICBDYW1wYWlnbkludml0ZVtdCiAgaW1hZ2VzICAgICAgICAgICAgICAgQnJhbmRUb0ltYWdlW10KICBjcmVhdG9yc2VhcmNoZmlsdGVyICBDcmVhdG9yU2VhcmNoRmlsdGVyW10KICBzZXF1ZW5jZXMgICAgICAgICAgICBTZXF1ZW5jZVtdCiAgaW1wYWN0UmFkaXVzRXZlbnRzICAgSW1wYWN0UmFkaXVzRXZlbnRbXQoKICAgIC8vIGZvciBhZ2VuY2llcwogIHBhcmVudEJyYW5kSWQgICAgICAgSW50PwogIHBhcmVudEJyYW5kICAgICAgICAgQnJhbmQ/IEByZWxhdGlvbigiQ2hpbGRCcmFuZHMiLCBmaWVsZHM6IFtwYXJlbnRCcmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjaGlsZEJyYW5kcyAgICAgICAgIEJyYW5kW10gQHJlbGF0aW9uKCJDaGlsZEJyYW5kcyIpCiAgIC8vIGdlbmVyYXRlZCAoZm9yIHNlYXJjaCkKICBzZWFyY2hOYW1lICAgICAgICAgIFN0cmluZz8gQGRlZmF1bHQoZGJnZW5lcmF0ZWQoKSkKCiAgQEBtYXAoImJyYW5kIikKfQoKbW9kZWwgU2VhcmNoQ29udGFjdHMgewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdHlwZSAgICAgICBTdHJpbmcKICBwcmV2UXR5ICAgIEZsb2F0CiAgY2hhbmdlUXR5ICBGbG9hdAogIGN1cnJlbnRRdHkgRmxvYXQKICBjcmVhdGVkICAgIERhdGVUaW1lPyBAZGVmYXVsdChub3coKSkKCiAgcHJldlF0eVBvc3RJZCBJbnQ/ICAgICAgICAgICAgQHVuaXF1ZQogIHByZXZRdHlQb3N0ICAgU2VhcmNoQ29udGFjdHM/IEByZWxhdGlvbigicHJldlNlYXJjaFF0eVBvc3RJZCIsIGZpZWxkczogW3ByZXZRdHlQb3N0SWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG5leHRRdHlQb3N0ICAgU2VhcmNoQ29udGFjdHM/IEByZWxhdGlvbigicHJldlNlYXJjaFF0eVBvc3RJZCIpCgogIGJyYW5kSWQgSW50CiAgYnJhbmQgICBCcmFuZCBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJzZWFyY2hjb250YWN0cyIpCn0KCm1vZGVsIFJlcG9ydENyZWRpdHMgewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdHlwZSAgICAgICBTdHJpbmcKICBwcmV2UXR5ICAgIEZsb2F0CiAgY2hhbmdlUXR5ICBGbG9hdAogIGN1cnJlbnRRdHkgRmxvYXQKICBjcmVhdGVkICAgIERhdGVUaW1lPyBAZGVmYXVsdChub3coKSkKCiAgcHJldlF0eVBvc3RJZCBJbnQ/ICAgICAgICAgICBAdW5pcXVlCiAgcHJldlF0eVBvc3QgICBSZXBvcnRDcmVkaXRzPyBAcmVsYXRpb24oInByZXZSZXBvcnRzUXR5UG9zdElkIiwgZmllbGRzOiBbcHJldlF0eVBvc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgbmV4dFF0eVBvc3QgICBSZXBvcnRDcmVkaXRzPyBAcmVsYXRpb24oInByZXZSZXBvcnRzUXR5UG9zdElkIikKCiAgYnJhbmRJZCBJbnQKICBicmFuZCAgIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInJlcG9ydGNyZWRpdHMiKQp9Cgptb2RlbCBCcmFuZFRvSW1hZ2UgewogIGlkICAgICAgICAgIEludCAgIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkgQGlkCiAgYnJhbmRJZCAgICAgSW50CiAgdHlwZSAgICAgICAgU3RyaW5nCgogIGJyYW5kICAgICAgIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIHNpemVzICAgICAgIEJyYW5kSW1hZ2VbXQoKICBAQG1hcCgiYnJhbmR0b2ltYWdlIikKfQoKbW9kZWwgQnJhbmRUb0NhdGVnb3J5IHsKICBicmFuZElkICAgIEludAogIGNhdGVnb3J5SWQgSW50CgogIGNhbXBhaWduIEJyYW5kICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgY2F0ZWdvcnkgQ2F0ZWdvcnkgQHJlbGF0aW9uKGZpZWxkczogW2NhdGVnb3J5SWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQGlkKFticmFuZElkLCBjYXRlZ29yeUlkXSkKICBAQG1hcCgiYnJhbmR0b2NhdGVnb3J5IikKfQoKbW9kZWwgQ3JlYXRvclRvQ2F0ZWdvcnkgewogIGNyZWF0b3JQcm9maWxlSWQgSW50CiAgY2F0ZWdvcnlJZCAgICAgICBJbnQKCiAgY3JlYXRvclByb2ZpbGUgQ3JlYXRvclByb2ZpbGUgQHJlbGF0aW9uKGZpZWxkczogW2NyZWF0b3JQcm9maWxlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYXRlZ29yeSAgICAgICBDYXRlZ29yeSAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY2F0ZWdvcnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaWQoW2NyZWF0b3JQcm9maWxlSWQsIGNhdGVnb3J5SWRdKQp9Cgptb2RlbCBDaGF0IHsKICBpZCAgICAgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjcmVhdGVkICAgICAgICBEYXRlVGltZT8gQGRlZmF1bHQobm93KCkpCiAgY29udmVyc2F0aW9uSWQgU3RyaW5nPyAgIEB1bmlxdWUKICBtZXRhRGF0YSAgICAgICBKc29uICAgICAgQGRlZmF1bHQoInt9IikKCiAgb3B0SW5JZCBJbnQ/IEB1bmlxdWUKCiAgb3B0SW4gICAgT3B0SW4/ICAgIEByZWxhdGlvbihmaWVsZHM6IFtvcHRJbklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBtZXNzYWdlcyBNZXNzYWdlW10KCiAgQEBtYXAoImNoYXQiKQp9Cgptb2RlbCBNZXNzYWdlIHsKICBpZCAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNyZWF0ZWQgICAgRGF0ZVRpbWU/IEBkZWZhdWx0KG5vdygpKQogIHNlbmRlciAgICAgU3RyaW5nCiAgY29udGVudCAgICBTdHJpbmcgICAgQGRiLlRleHQKICByZWFkICAgICAgIEJvb2xlYW4gICBAZGVmYXVsdChmYWxzZSkKICB0eXBlICAgICAgIFN0cmluZyAgICBAZGVmYXVsdCgidGV4dCIpCiAgbWVzc2FnZVNpZCBTdHJpbmc/CgogIHVzZXJJZCBJbnQ/CiAgY2hhdElkIEludAoKICB1c2VyIFVzZXI/IEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNoYXQgQ2hhdCAgQHJlbGF0aW9uKGZpZWxkczogW2NoYXRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgibWVzc2FnZSIpCn0KCm1vZGVsIENhbXBhaWduIHsKICBpZCAgICAgICAgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICAgICAgICAgICAgICAgIFN0cmluZwogIHNsdWcgICAgICAgICAgICAgICAgICBTdHJpbmc/ICAgQHVuaXF1ZQogIHN0YXR1cyAgICAgICAgICAgICAgICBTdHJpbmcgICAgQGRlZmF1bHQoImRyYWZ0IikgLy8gZHJhZnQsIHBhdXNlZCwgcGVuZGluZywgcHJpdmF0ZSwgcHVibGlzaCwgdHJhc2gKICBkYXRlICAgICAgICAgICAgICAgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIHB1Ymxpc2hEYXRlICAgICAgICAgICBEYXRlVGltZT8KICBkZXNjcmlwdGlvbiAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5UZXh0CiAgcHJvZHVjdERlc2NyaXB0aW9uICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHByaXplRGVzY3JpcHRpb24gICAgICBTdHJpbmc/ICAgQGRiLlRleHQKICBzdHJhdGVneSAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkZWZhdWx0KCJzaG91dG91dCIpCiAgc29jaWFsQ2hhbm5lbCAgICAgICAgIFN0cmluZz8KICBzb2NpYWxDaGFubmVscyAgICAgICAgSnNvbj8KICBmYWNlYm9va1JlYWNoICAgICAgICAgSW50PwogIGZhY2Vib29rRW5nYWdlbWVudCAgICBGbG9hdD8KICBpbnN0YWdyYW1SZWFjaCAgICAgICAgSW50PwogIGluc3RhZ3JhbUVuZ2FnZW1lbnQgICBGbG9hdD8KICB5b3V0dWJlUmVhY2ggICAgICAgICAgSW50PwogIHlvdXR1YmVFbmdhZ2VtZW50ICAgICBGbG9hdD8KICB0d2l0dGVyUmVhY2ggICAgICAgICAgSW50PwogIHR3aXR0ZXJFbmdhZ2VtZW50ICAgICBGbG9hdD8KICB0aWt0b2tSZWFjaCAgICAgICAgICAgSW50PwogIHRpa3Rva0VuZ2FnZW1lbnQgICAgICBGbG9hdD8KICB0d2l0Y2hSZWFjaCAgICAgICAgICAgSW50PwogIHR3aXRjaEVuZ2FnZW1lbnQgICAgICBGbG9hdD8KICBxdWFudGl0eSAgICAgICAgICAgICAgSW50ICAgICAgIEBkZWZhdWx0KDApCiAgaG9sZENvc3QgICAgICAgICAgICAgIEZsb2F0PwogIHZhbHVlICAgICAgICAgICAgICAgICBGbG9hdD8KICBwYWlkQW1vdW50ICAgICAgICAgICAgRmxvYXQ/CiAgbWluQWdlICAgICAgICAgICAgICAgIEludD8KICBtYXhBZ2UgICAgICAgICAgICAgICAgSW50PwogIHZpc3VhbHMgICAgICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlRleHQKICBwaG90b1RhZ3MgICAgICAgICAgICAgSnNvbj8KICBoYXNodGFncyAgICAgICAgICAgICAgSnNvbj8KICBzdG9yeUhhc2h0YWdzICAgICAgICAgSnNvbj8KICBzdG9yeU1lbnRpb25zICAgICAgICAgSnNvbj8KICBjYXB0aW9uICAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5UZXh0CiAgcGFzc3dvcmQgICAgICAgICAgICAgIFN0cmluZz8KICBjb250ZW50Rm9ybWF0cyAgICAgICAgSnNvbj8KICBwYWlkQ2FtcGFpZ24gICAgICAgICAgQm9vbGVhbj8KICBtaW5QYWlkQW1vdW50ICAgICAgICAgRmxvYXQ/CiAgbWF4UGFpZEFtb3VudCAgICAgICAgIEZsb2F0PwogIHBheW1lbnRUeXBlICAgICAgICAgICBTdHJpbmc/CiAgbW9udGhseUFjdGl2YXRlZEdvYWwgIEludD8gLy8gUmVkdW5kYW50L0RlcHJlY2F0ZWQKICBleHBlY3RlZE9wdElucyAgICAgICAgSW50PyAvLyBSZWR1bmRhbnQvRGVwcmVjYXRlZAogIGdvYWxBY3RpdmF0aW9ucyAgICAgICBGbG9hdD8KICBnb2FsT3B0SW5zICAgICAgICAgICAgRmxvYXQ/CiAgcmVxdWlyZXNTaGlwcGluZyAgICAgIEJvb2xlYW4/CiAgZGlzYWJsZVF1YWxpZmljYXRpb25zIEJvb2xlYW4/CiAgZGlzYWJsZUFjdGl2YXRpb25zICAgIEJvb2xlYW4/CiAgYWZmaWxpYXRlTGlua1BhdGggICAgIFN0cmluZz8KICBtZXRhRGF0YSAgICAgICAgICAgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCgogIHN0ZXBzICAgICAgICBDYW1wYWlnblN0ZXBbXQogIGNhdGVnb3JpZXMgICBDYW1wYWlnblRvQ2F0ZWdvcnlbXQogIG9wdElucyAgICAgICBPcHRJbltdCiAgaW1hZ2VzICAgICAgIENhbXBhaWduVG9JbWFnZVtdCiAgdmFyaWFibGVzICAgIFZhcmlhYmxlW10KICBjb3VudHJpZXMgICAgQ2FtcGFpZ25Ub0NvdW50cnlbXQogIGNhbXBhaWduUGlucyBDYW1wYWlnblBpbltdCiAgc29jaWFsUG9zdHMgIFNvY2lhbFBvc3RbXQogIGNhbXBhaWduSW52aXRlcyBDYW1wYWlnbkludml0ZVtdCgogIGJyYW5kSWQgICAgICBJbnQKICBicmFuZCAgICAgICAgQnJhbmQgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNyZWF0b3JMaXN0cyBDcmVhdG9yTGlzdFtdCiAgb3B0SW5WaWV3cyAgIE9wdEluVmlld1tdCiAgc2VxdWVuY2VzICAgIFNlcXVlbmNlW10KCiAgQEBtYXAoImNhbXBhaWduIikKfQoKbW9kZWwgQ2FtcGFpZ25QaW4gewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdXNlcklkICAgICBJbnQKICBjYW1wYWlnbklkIEludAogIGNyZWF0ZWQgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIG5vdGlmaWVkICAgRGF0ZVRpbWU/CgogIHVzZXIgICAgIFVzZXIgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnbiBDYW1wYWlnbiBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgiY2FtcGFpZ25waW4iKQp9Cgptb2RlbCBDYW1wYWlnblRvSW1hZ2UgewogIGlkICAgICAgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY2FtcGFpZ25JZCBJbnQKICB0eXBlICAgICAgIFN0cmluZwoKICBjYW1wYWlnbiBDYW1wYWlnbiBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBzaXplcyBJbWFnZVtdCgogIEBAbWFwKCJjYW1wYWlnbnRvaW1hZ2UiKQp9Cgptb2RlbCBDYW1wYWlnblRvQ2F0ZWdvcnkgewogIGNhbXBhaWduSWQgSW50CiAgY2F0ZWdvcnlJZCBJbnQKCiAgY2FtcGFpZ24gQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYXRlZ29yeSBDYXRlZ29yeSBAcmVsYXRpb24oZmllbGRzOiBbY2F0ZWdvcnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaWQoW2NhbXBhaWduSWQsIGNhdGVnb3J5SWRdKQogIEBAbWFwKCJjYW1wYWlnbnRvY2F0ZWdvcnkiKQp9Cgptb2RlbCBDYW1wYWlnblRvQ291bnRyeSB7CiAgY2FtcGFpZ25JZCBJbnQKICBjb3VudHJ5SWQgIEludAoKICBjYW1wYWlnbiBDYW1wYWlnbiBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNvdW50cnkgIENvdW50cnkgIEByZWxhdGlvbihmaWVsZHM6IFtjb3VudHJ5SWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQGlkKFtjYW1wYWlnbklkLCBjb3VudHJ5SWRdKQogIEBAbWFwKCJjYW1wYWlnbnRvY291bnRyeSIpCn0KCm1vZGVsIFZhcmlhYmxlIHsKICBpZCAgICAgICAgICBJbnQgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICAgICAgU3RyaW5nCiAgZGVzY3JpcHRpb24gU3RyaW5nPyBAZGIuVGV4dAogIG1ldGFEYXRhICAgIEpzb24gICAgQGRlZmF1bHQoInt9IikKCiAgY2FtcGFpZ25JZCBJbnQKCiAgY2FtcGFpZ24gQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgb3B0aW9ucyAgICAgICAgVmFyaWFibGVPcHRpb25bXQogIG9wdEluVmFyaWFibGVzIE9wdEluVmFyaWFibGVbXQp9Cgptb2RlbCBWYXJpYWJsZU9wdGlvbiB7CiAgaWQgICAgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpdGxlICAgICAgIFN0cmluZwogIGRlc2NyaXB0aW9uIFN0cmluZz8gQGRiLlRleHQKICBtZXRhRGF0YSAgICBKc29uICAgIEBkZWZhdWx0KCJ7fSIpCgogIHZhcmlhYmxlSWQgSW50CgogIHZhcmlhYmxlIFZhcmlhYmxlIEByZWxhdGlvbihmaWVsZHM6IFt2YXJpYWJsZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIG9wdEluVmFyaWFibGVzIE9wdEluVmFyaWFibGVbXQp9Cgptb2RlbCBTdGVwIHsKICBpZCAgICAgICAgICBJbnQgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc2x1ZyAgICAgICAgU3RyaW5nICBAdW5pcXVlCiAgdGl0bGUgICAgICAgU3RyaW5nPwogIGRlc2NyaXB0aW9uIFN0cmluZz8gQGRiLlRleHQKICBkYXRhICAgICAgICBKc29uPwoKICBjYW1wYWlnblN0ZXBzIENhbXBhaWduU3RlcFtdCgogIEBAbWFwKCJzdGVwIikKfQoKbW9kZWwgQ2FtcGFpZ25TdGVwIHsKICBpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKSBAaWQKICBwbGFjZW1lbnQgICAgICAgICAgICAgICAgICAgICBJbnQKICBzdGVwU2V0dGluZ3MgICAgICAgICAgICAgICAgICBKc29uPwogIGFjdGlvbmVlICAgICAgICAgICAgICAgICAgICAgIFN0cmluZz8KICBpbnN0cnVjdGlvbnMgICAgICAgICAgICAgICAgICBTdHJpbmc/IEBkYi5UZXh0CiAgY3VzdG9tU3RlcFRpdGxlICAgICAgICAgICAgICAgU3RyaW5nPwogIGN1c3RvbUZvcm0gICAgICAgICAgICAgICAgICAgIEpzb24/CiAgbWV0YURhdGEgICAgICAgICAgICAgICAgICAgICAgSnNvbiBAZGVmYXVsdCgie30iKQogIGNhbXBhaWduSWQgICAgSW50CiAgc3RlcElkICAgICAgICBJbnQ/CgogIGNhbXBhaWduICAgICAgQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBzdGVwICAgICAgICAgIFN0ZXA/ICAgIEByZWxhdGlvbihmaWVsZHM6IFtzdGVwSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGN1cnJlbnRPcHRJbnMgT3B0SW5bXQoKICBvcHRJblN0ZXBzIE9wdEluU3RlcFtdCgogIEBAbWFwKCJjYW1wYWlnbnN0ZXAiKQp9Cgptb2RlbCBPcHRJblN0ZXAgewogIGlkICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjb21wbGV0ZWQgRGF0ZVRpbWU/CiAgZGF0YSAgICAgIEpzb24/CgogIG9wdEluSWQgICAgICAgIEludAogIGNhbXBhaWduU3RlcElkIEludAogIHNvY2lhbFBvc3RJZCAgIEludD8gLy8gdGVtcG9yYXJ5IGZvciBtb3Zpbmcgc2hvdXRvdXREYXRhIHRvIHNvY2lhbFBvc3RzCgogIG9wdEluICAgICAgICBPcHRJbiAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW29wdEluSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnblN0ZXAgQ2FtcGFpZ25TdGVwIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnblN0ZXBJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgib3B0aW5zdGVwIikKfQoKbW9kZWwgQ2F0ZWdvcnkgewogIGlkICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHNsdWcgIFN0cmluZyBAdW5pcXVlCiAgdGl0bGUgU3RyaW5nCgogIGNhbXBhaWducyBDYW1wYWlnblRvQ2F0ZWdvcnlbXQogIGJyYW5kcyAgICBCcmFuZFRvQ2F0ZWdvcnlbXQogIGNyZWF0b3JzICBDcmVhdG9yVG9DYXRlZ29yeVtdCgogIEBAbWFwKCJjYXRlZ29yeSIpCn0KCm1vZGVsIE9wdEluIHsKICBpZCAgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc3RhdHVzICAgICAgICAgIFN0cmluZyAgICBAZGVmYXVsdCgicGVuZGluZyIpCiAgY3JlYXRlZCAgICAgICAgIERhdGVUaW1lICBAZGVmYXVsdChub3coKSkKICBhY3RpdmF0ZWQgICAgICAgRGF0ZVRpbWU/CiAgY29tcGxldGVkICAgICAgIERhdGVUaW1lPwogIGNhbmNlbGxlZCAgICAgICBEYXRlVGltZT8KICBjYW5jZWxsZWREYXRhICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgY2FuY2VsUmVxdWVzdGVkIERhdGVUaW1lPwogIHJlaW52aXRlZCAgICAgICBEYXRlVGltZT8KICBzZWVuICAgICAgICAgICAgQm9vbGVhbiAgIEBkZWZhdWx0KGZhbHNlKQogIGluc3RydWN0aW9ucyAgICBTdHJpbmc/ICAgQGRiLlRleHQKICBwYXltZW50QW1vdW50ICAgRmxvYXQ/CiAgcGF5bWVudFN0YXR1cyAgIFN0cmluZyAgICBAZGVmYXVsdCgicGVuZGluZyIpCiAgZXh0cmFEYXRhICAgICAgIEpzb24gICAgICBAZGVmYXVsdCgie30iKQoKICB1c2VySWQgICAgICAgIEludAogIGNhbXBhaWduSWQgICAgSW50CiAgY3VycmVudFN0ZXBJZCBJbnQ/CgogIHVzZXIgICAgICAgIFVzZXIgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhbXBhaWduICAgIENhbXBhaWduICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjdXJyZW50U3RlcCBDYW1wYWlnblN0ZXA/IEByZWxhdGlvbihmaWVsZHM6IFtjdXJyZW50U3RlcElkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgdmFyaWFibGVzICBPcHRJblZhcmlhYmxlW10KICBvcHRJblN0ZXBzIE9wdEluU3RlcFtdCiAgY2hhdCAgICAgICBDaGF0PwogIGNhbXBhaWduSW52aXRlcyBDYW1wYWlnbkludml0ZVtdCgogIEBAbWFwKCJvcHRpbiIpCn0KCm1vZGVsIE9wdEluVmFyaWFibGUgewogIGlkIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQoKICBvcHRJbklkICAgICAgICAgIEludAogIHZhcmlhYmxlSWQgICAgICAgSW50CiAgc2VsZWN0ZWRPcHRpb25JZCBJbnQKCiAgb3B0SW4gICAgICAgICAgT3B0SW4gICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW29wdEluSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICB2YXJpYWJsZSAgICAgICBWYXJpYWJsZSAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdmFyaWFibGVJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHNlbGVjdGVkT3B0aW9uIFZhcmlhYmxlT3B0aW9uIEByZWxhdGlvbihmaWVsZHM6IFtzZWxlY3RlZE9wdGlvbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCn0KCm1vZGVsIFNvY2lhbFBvc3QgewogIGlkICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHBoeWxsb0lkICAgIFN0cmluZz8gICBAdW5pcXVlCiAgbWV0YURhdGEgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgZGF0YSAgICAgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpIC8vIERFUFJFQ0FURUQsIFVTRSBtZXRhRGF0YSBpbnN0ZWFkLCBzZWVtcyB0byBiZSBhbiBlcnJvciB3aGVuIGF0dGVtcHRpbmcgdG8gcmVtb3ZlIHRoaXMgZmllbGQsIHByb2FiYWJseSBkdWUgdG8gdGFibGUgc2l6ZQogIGxhc3RGZXRjaGVkIERhdGVUaW1lPwogIGxhc3RXZWJob29rIERhdGVUaW1lPwogIGlzU3RhbGUgICAgIEJvb2xlYW4/IC8vIFRPRE86IHRoaXMgZmllbGQgaXMgaGVyZSBiZWNhdXNlIHByaXNtYSBkb2Vzbid0IHN1cHBvcnQgY29tcGFyaW5nIG9uZSBjb2x1bW4gdG8gYW5vdGhlciwgaWRlYWxseSB3ZSBjb3VsZCBqdXN0IGNoZWNrIGlmIGxhc3RGZXRjaGVkID4gbGFzdFdlYmhvb2sgYnV0IGZvciBub3cgd2UgbmVlZCB0byBjb250cm9sL2NoZWNrIHRoaXMgZmllbGQKCiAgLy8gQkFTSUMgSU5GTwogIHBvc3RlZCAgICAgICAgICAgICBEYXRlVGltZT8KICB0aXRsZSAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5UZXh0CiAgZGVzY3JpcHRpb24gICAgICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHVybCAgICAgICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICB1cmxQYXRoICAgICAgICAgICAgU3RyaW5nPyAgIEB1bmlxdWUgLy8gVGhpcyBpcyBoZXJlIHNvIHdlIGhhdmUgc29tZSBleHRlcm5hbCBpZGVudGlmaWVyIHRvIHF1aWNrbHkgc2VhcmNoIGJ5CiAgZm9ybWF0ICAgICAgICAgICAgIFN0cmluZz8KICB0eXBlICAgICAgICAgICAgICAgU3RyaW5nPwogIHBsYXRmb3JtICAgICAgICAgICBTdHJpbmc/CiAgdmlzaWJpbGl0eSAgICAgICAgIFN0cmluZz8KICBpc1Nwb25zb3JlZCAgICAgICAgQm9vbGVhbj8KICBoYXNDb2xsYWJvcmF0b3JzICAgQm9vbGVhbj8KICBpc093bmVkQnlVc2VyICAgICAgQm9vbGVhbj8KICAvLyBNRVRSSUNTCiAgdmlld3MgICAgICAgICAgICAgIEludD8KICBpbXByZXNzaW9ucyAgICAgICAgSW50PwogIGltcHJlc3Npb25zT3JnYW5pYyBJbnQ/CiAgaW1wcmVzc2lvbnNQYWlkICAgIEludD8KICByZWFjaCAgICAgICAgICAgICAgSW50PwogIHJlYWNoT3JnYW5pYyAgICAgICBJbnQ/CiAgcmVhY2hQYWlkICAgICAgICAgIEludD8KICB3YXRjaEhvdXJzICAgICAgICAgRmxvYXQ/CiAgLy8gRU5HQUdFTUVOVCBNRVRSSUNTCiAgbGlrZXMgICAgICAgICAgICAgIEludD8KICBkaXNsaWtlcyAgICAgICAgICAgSW50PwogIGNvbW1lbnRzICAgICAgICAgICBJbnQ/CiAgc2F2ZXMgICAgICAgICAgICAgIEludD8KICBzaGFyZXMgICAgICAgICAgICAgSW50PwoKICB1c2VySWQgICAgIEludD8KICBjYW1wYWlnbklkIEludD8KCiAgdXNlciAgICAgVXNlcj8gICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNhbXBhaWduIENhbXBhaWduPyAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgbGlzdHMgICAgTGlzdFRvU29jaWFsUG9zdFtdCgogIHNvY2lhbFBvc3RUYWdzIFNvY2lhbFBvc3RUYWdbXQoKICBAQGluZGV4KGNhbXBhaWduSWQpCiAgQEBpbmRleChpc1N0YWxlKQogIEBAaW5kZXgodXNlcklkKQogIEBAaW5kZXgocGxhdGZvcm0pCiAgQEBpbmRleCh0eXBlKQogIEBAaW5kZXgoZm9ybWF0KQogIAogIEBAbWFwKCJzb2NpYWxwb3N0IikKfQoKbW9kZWwgU29jaWFsUG9zdFRhZyB7CiAgaWQgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgU3RyaW5nCiAgdHlwZSAgU3RyaW5nCgogIHNvY2lhbFBvc3RJZCBJbnQKCiAgc29jaWFsUG9zdCBTb2NpYWxQb3N0IEByZWxhdGlvbihmaWVsZHM6IFtzb2NpYWxQb3N0SWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQGluZGV4KFt0aXRsZSwgdHlwZV0pCiAgQEBtYXAoInNvY2lhbHBvc3R0YWciKQp9Cgptb2RlbCBJbWFnZSB7CiAgaWQgICAgICAgICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHVybCAgICAgICAgICAgICBTdHJpbmcgQGRiLlZhckNoYXIoMjA4MykKICBzaXplICAgICAgICAgICAgU3RyaW5nCiAgY2FtcGFpZ25JbWFnZUlkIEludAoKICBjYW1wYWlnbkltYWdlIENhbXBhaWduVG9JbWFnZSBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JbWFnZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJpbWFnZSIpCn0KCm1vZGVsIEJyYW5kSW1hZ2UgewogIGlkICAgICAgICAgICAgICBJbnQgICBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpIEBpZAogIHVybCAgICAgICAgICAgICBTdHJpbmcgQGRiLlZhckNoYXIoMjA4MykKICBzaXplICAgICAgICAgICAgU3RyaW5nCiAgYnJhbmRJbWFnZUlkICAgIEludAoKICBicmFuZEltYWdlICAgICAgQnJhbmRUb0ltYWdlIEByZWxhdGlvbihmaWVsZHM6IFticmFuZEltYWdlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBAQG1hcCgiYnJhbmRpbWFnZSIpCn0KCm1vZGVsIENvdW50cnkgewogIGlkICAgICAgICAgIEludCAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjb3VudHJ5Q29kZSBTdHJpbmcgIEB1bmlxdWUgQGRiLlZhckNoYXIoMikKICBjb3VudHJ5TmFtZSBTdHJpbmcgIEBkYi5WYXJDaGFyKDUwMCkKICB0ZWxlQ29kZSAgICBTdHJpbmcgIEBkYi5WYXJDaGFyKDEwKQogIHN0YXRlcyAgICAgIFN0YXRlW10KCiAgY2FtcGFpZ25zIENhbXBhaWduVG9Db3VudHJ5W10KCiAgQEBtYXAoImNvdW50cnkiKQp9Cgptb2RlbCBTdGF0ZSB7CiAgaWQgICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNvdW50cnlJZCBJbnQKICBzdGF0ZUNvZGUgU3RyaW5nIEBkYi5WYXJDaGFyKDUwKQogIHN0YXRlTmFtZSBTdHJpbmcgQGRiLlZhckNoYXIoNTAwKQoKICBjb3VudHJ5IENvdW50cnkgQHJlbGF0aW9uKGZpZWxkczogW2NvdW50cnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJzdGF0ZSIpCn0KCm1vZGVsIFBheW1lbnRUcmFuc2FjdGlvbiB7CiAgaWQgICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgYW1vdW50ICAgIEZsb2F0CiAgYmFsYW5jZSAgIEZsb2F0CiAgdHlwZSAgICAgIFN0cmluZwogIGRhdGUgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBub3RlcyAgICAgU3RyaW5nPyAgQGRiLlRleHQKICBtZXRhRGF0YSAgSnNvbiAgICAgQGRlZmF1bHQoInt9IikKICBhY2NvdW50SWQgSW50CgogIGJyYW5kSWQgICAgICAgICAgIEludD8KICBjcmVhdG9ySWQgICAgICAgICBJbnQ/CiAgcHJldlRyYW5zYWN0aW9uSWQgSW50PyBAdW5pcXVlCgogIGJyYW5kICAgICAgICAgICBCcmFuZD8gICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjcmVhdG9yICAgICAgICAgVXNlcj8gICAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY3JlYXRvcklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBwcmV2VHJhbnNhY3Rpb24gUGF5bWVudFRyYW5zYWN0aW9uPyBAcmVsYXRpb24oIlRyYW5zYWN0aW9uSGlzdG9yeSIsIGZpZWxkczogW3ByZXZUcmFuc2FjdGlvbklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBuZXh0VHJhbnNhY3Rpb24gUGF5bWVudFRyYW5zYWN0aW9uPyBAcmVsYXRpb24oIlRyYW5zYWN0aW9uSGlzdG9yeSIpCn0KCm1vZGVsIEJyYW5kQWZmaWxpYXRlTGluayB7CiAgaWQgICAgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjcmVhdGVkICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBkZXNjcmlwdGlvbiBTdHJpbmc/CiAgdXJsUGF0aCAgICAgU3RyaW5nCiAgY29tbWlzc2lvbiAgRmxvYXQgICAgQGRlZmF1bHQoMC4yKQogIG1ldGFEYXRhICAgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGJyYW5kSWQgICAgICAgIEludAogIGFmZmlsaWF0ZUxpbmtzIEFmZmlsaWF0ZUxpbmtbXQoKICBicmFuZCBCcmFuZCBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCn0KCm1vZGVsIEFmZmlsaWF0ZUxpbmsgewogIGlkICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY3JlYXRlZCAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgbWV0YURhdGEgSnNvbiAgICAgQGRlZmF1bHQoInt9IikKCiAgdXNlcklkICAgICAgICAgICAgICAgSW50CiAgYnJhbmRBZmZpbGlhdGVMaW5rSWQgSW50CiAgYWZmaWxpYXRlQ2xpY2tzICAgICAgQWZmaWxpYXRlQ2xpY2tbXQoKICBhZmZpbGlhdGUgICAgICAgICAgVXNlciAgICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGJyYW5kQWZmaWxpYXRlTGluayBCcmFuZEFmZmlsaWF0ZUxpbmsgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kQWZmaWxpYXRlTGlua0lkXSwgcmVmZXJlbmNlczogW2lkXSkKfQoKbW9kZWwgQWZmaWxpYXRlQ2xpY2sgewogIGlkICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNyZWF0ZWQgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICB2aXNpdG9ySXAgU3RyaW5nPwogIG1ldGFEYXRhICBKc29uICAgICBAZGVmYXVsdCgie30iKQoKICBhZmZpbGlhdGVMaW5rSWQgSW50CgogIGFmZmlsaWF0ZUxpbmsgIEFmZmlsaWF0ZUxpbmsgICAgQHJlbGF0aW9uKGZpZWxkczogW2FmZmlsaWF0ZUxpbmtJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgYWZmaWxpYXRlRXZlbnQgQWZmaWxpYXRlRXZlbnRbXQp9Cgptb2RlbCBBZmZpbGlhdGVFdmVudCB7CiAgaWQgICAgICAgICAgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBldmVudCAgICAgICAgICAgICBTdHJpbmcgLy8gY2xpY2ssIHB1cmNoYXNlLCBldGMuCiAgY3JlYXRlZCAgICAgICAgICAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgdmlzaXRvcklwICAgICAgICAgU3RyaW5nPwogIHVybFBhdGggICAgICAgICAgIFN0cmluZz8KICByZXZlbnVlICAgICAgICAgICBGbG9hdD8KICBjb21taXNzaW9uQW1vdW50ICBGbG9hdD8KICBjb21taXNzaW9uUGVyY2VudCBGbG9hdD8KICBtZXRhRGF0YSAgICAgICAgICBKc29uICAgICBAZGVmYXVsdCgie30iKQoKICBhZmZpbGlhdGVDbGlja0lkIEludAoKICBhZmZpbGlhdGVDbGljayBBZmZpbGlhdGVDbGljaz8gQHJlbGF0aW9uKGZpZWxkczogW2FmZmlsaWF0ZUNsaWNrSWRdLCByZWZlcmVuY2VzOiBbaWRdKQp9Cgptb2RlbCBTYXZlZEZpbGUgewogIGlkICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0aXRsZSAgICAgU3RyaW5nPwogIHR5cGUgICAgICBTdHJpbmc/IC8vIGF1ZGllbmNlLXJlcG9ydCwgc2VhcmNoLWV4cG9ydCwgY2FtcGFpZ24taW52aXRlCiAgdXJsICAgICAgIFN0cmluZz8KICBzYXZlZERhdGUgRGF0ZVRpbWU/CiAgbWV0YURhdGEgIEpzb24/ICAgICBAZGVmYXVsdCgie30iKQoKICBicmFuZElkIEludD8KICBicmFuZCAgIEJyYW5kPyBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJzYXZlZGZpbGUiKQp9Cgptb2RlbCBDYW1wYWlnbkludml0ZSB7CiAgaWQgICAgICAgICAgICAgICAgSW50IEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkgQGlkCiAgc29jaWFsUHJvZmlsZUlkICAgSW50PyAKICBicmFuZElkICAgICAgICAgICBJbnQKICBjYW1wYWlnbklkICAgICAgICBJbnQ/CiAgb3B0SW5JZCAgICAgICAgICAgSW50PyBAdW5pcXVlCiAgY29kZSAgICAgICAgICAgICAgU3RyaW5nPyBAdW5pcXVlCiAgY3JlYXRlZEF0ICAgICAgICAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgZGVjbGluZURhdGUgICAgICBEYXRlVGltZT8KICBkZWNsaW5lUmVhc29uICAgIFN0cmluZz8gIEBkYi5UZXh0CiAgCiAgbWV0YURhdGEgICAgICAgICAgSnNvbj8gQGRlZmF1bHQoInt9IikKCiAgYnJhbmQgICAgICAgICAgICAgQnJhbmQgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnbiAgICAgICAgICBDYW1wYWlnbj8gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHNvY2lhbFByb2ZpbGUgICAgIFNvY2lhbFByb2ZpbGU/IEByZWxhdGlvbihmaWVsZHM6IFtzb2NpYWxQcm9maWxlSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG9wdEluICAgICAgICAgICAgIE9wdEluPyBAcmVsYXRpb24oZmllbGRzOiBbb3B0SW5JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgCn0KCm1vZGVsIENyZWF0b3JMaXN0IHsKICBpZCAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGJyYW5kSWQgICAgSW50CiAgY2FtcGFpZ25JZCBJbnQ/CiAgY3JlYXRlZCAgICBEYXRlVGltZSAgQGRlZmF1bHQobm93KCkpCiAgYXJjaGl2ZWQgICBEYXRlVGltZT8KICB0aXRsZSAgICAgIFN0cmluZwogIG1ldGFEYXRhICAgSnNvbj8gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGNyZWF0b3JzICBDcmVhdG9yTGlzdEl0ZW1bXQogIGJyYW5kICAgICBCcmFuZCAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhbXBhaWduICBDYW1wYWlnbj8gICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgc2VxdWVuY2VzIFNlcXVlbmNlW10KCiAgQEBtYXAoImNyZWF0b3JsaXN0IikKfQoKbW9kZWwgQ3JlYXRvckxpc3RJdGVtIHsKICBpZCAgICAgICAgICAgICAgSW50IEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc29jaWFsUHJvZmlsZUlkIEludAogIGNyZWF0b3JMaXN0SWQgICBJbnQKCiAgc2F2ZWQgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIGludml0ZWQgIERhdGVUaW1lPwogIHRhZ3MgICAgIEpzb24/CiAgZmVlZGJhY2sgU3RyaW5nPyAgIEBkYi5UZXh0CiAgYXJjaGl2ZWQgRGF0ZVRpbWU/CiAgbWV0YURhdGEgSnNvbj8gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGNyZWF0b3JMaXN0ICAgQ3JlYXRvckxpc3QgICAgQHJlbGF0aW9uKGZpZWxkczogW2NyZWF0b3JMaXN0SWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBzb2NpYWxQcm9maWxlIFNvY2lhbFByb2ZpbGU/IEByZWxhdGlvbihmaWVsZHM6IFtzb2NpYWxQcm9maWxlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICAKICBzZXF1ZW5jZU91dGJvdW5kRW1haWxzICBTZXF1ZW5jZU91dGJvdW5kRW1haWxbXQogIHNlcXVlbmNlSW5ib3VuZEVtYWlscyAgIFNlcXVlbmNlSW5ib3VuZEVtYWlsW10KICBzZXF1ZW5jZUltYXBDaGVja3BvaW50cyBTZXF1ZW5jZUltYXBDaGVja3BvaW50W10KCiAgQEBtYXAoImNyZWF0b3JsaXN0aXRlbSIpCn0KCm1vZGVsIFNvY2lhbFByb2ZpbGUgewogIGlkICAgICAgIEludCAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBzb2NpYWxJZCBTdHJpbmc/IEB1bmlxdWUgLy8gbmVlZCB0byBtYWtlIHN1cmUgdGhpcyBjYW4gbmV2ZXIgb3ZlcmxhcCBhY3Jvc3MgbXVsdGlwbGUgcGxhdGZvcm1zLCB3ZSBzaG91bGQgYXBwZW5kIHRoZSBwbGF0Zm9ybSB0byB0aGUgYmVnaW5uaW5nIHRvIGVuc3VyZSBpdOKAmXMgYWx3YXlzIHVuaXF1ZQogIHVzZXJJZCAgIEludD8gLy8gcmVnaXN0ZXJlZCB1c2VyIGlkLCBpZiBhdmFpbGFibGUKCiAgLy8gc29jaWFsIGRhdGEKICBwbGF0Zm9ybSAgICAgIFN0cmluZwogIHVzZXJuYW1lICAgICAgU3RyaW5nCiAgZnVsbG5hbWUgICAgICBTdHJpbmc/ICBAZGIuVmFyQ2hhcigxMDI0KQogIHByb2ZpbGVVcmwgICAgU3RyaW5nPwogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgQGRiLlZhckNoYXIoMjA4MykgLy8gbmVlZCB0byBzcGVjaWZ5IGxlbmd0aCwgZGVmYXVsdCBzaXplIGlzIHRvbyBzbWFsbAogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgYXZnVmlld3MgICAgICBJbnQ/CiAgdmVyaWZpZWQgICAgICBCb29sZWFuPwogIG1ldGFEYXRhICAgICAgSnNvbiAgICAgQGRlZmF1bHQoInt9IikKICBhdWRpZW5jZURhdGEgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCiAgcGh5bGxvRGF0YSAgICBKc29uICAgICBAZGVmYXVsdCgie30iKQoKICBjcmVhdGVkIERhdGVUaW1lICBAZGVmYXVsdChub3coKSkKICB1cGRhdGVkIERhdGVUaW1lPwoKICBjcmVhdG9yTGlzdEl0ZW1zICBDcmVhdG9yTGlzdEl0ZW1bXQogIGNhbXBhaWduSW52aXRlcyAgIENhbXBhaWduSW52aXRlW10KICB1c2VyICAgICAgICAgICAgICBVc2VyPyAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBpbmRleCh1c2VybmFtZSkKICBAQGluZGV4KHVzZXJJZCkKICBAQG1hcCgic29jaWFscHJvZmlsZSIpCn0KCm1vZGVsIE1lc3NhZ2VUZW1wbGF0ZSB7CiAgaWQgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGxhYmVsICAgIFN0cmluZz8KICB0ZW1wbGF0ZSBTdHJpbmcgIEBkYi5UZXh0CiAgYnJhbmRJZCAgSW50PwogIGJyYW5kICAgIEJyYW5kPyAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG1ldGFEYXRhIEpzb24gICAgQGRlZmF1bHQoInt9IikgLy8gdG8gc2F2ZSBhbnkgYWRkaXRpb25hbCBkYXRhIHN1Y2ggYXMgdXNlciBkZWZpbmVkIHZhcmlhYmxlcwoKICBAQG1hcCgibWVzc2FnZXRlbXBsYXRlIikKfQoKbW9kZWwgRW1haWxUZW1wbGF0ZSB7CiAgaWQgICAgICAgICBJbnQgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgbGFiZWwgICAgICBTdHJpbmc/CiAgc3ViamVjdCAgICBTdHJpbmc/CiAgdGVtcGxhdGUgICBTdHJpbmcgIEBkYi5UZXh0CiAgYnJhbmRJZCAgICBJbnQ/CiAgCiAgYnJhbmQgICAgICBCcmFuZD8gIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBtZXRhRGF0YSAgIEpzb24gICAgQGRlZmF1bHQoInt9IikgLy8gdG8gc2F2ZSBhbnkgYWRkaXRpb25hbCBkYXRhIHN1Y2ggYXMgdXNlciBkZWZpbmVkIHZhcmlhYmxlcwoKICBzZXF1ZW5jZVN0ZXBzICAgU2VxdWVuY2VTdGVwW10KfQoKbW9kZWwgU29jaWFsTGlzdGVuaW5nTGlzdCB7CiAgaWQgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBicmFuZElkICAgIEludAogIGNhbXBhaWduSWQgSW50PyAgICAgIEB1bmlxdWUgLy8gb3B0aW9uYWxseSBsaW5rZWQgdG8gYSBjYW1wYWlnbgogIGNyZWF0ZWQgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIHVwZGF0ZWQgICAgRGF0ZVRpbWU/CiAgdGl0bGUgICAgICBTdHJpbmcKICBwb3N0VHlwZSAgIFN0cmluZyAvLyBzcG9uc29yZWQgcG9zdHMsIHRvcCBwb3N0cywgb3IgcmVjZW50IHBvc3RzCiAgZmlsdGVycyAgICBKc29uPyAgICAgQGRlZmF1bHQoInt9IikgLy8gZmlsdGVycyB0byBzZWFyY2ggcG9zdHMgYnkgKGxvY2F0aW9uLCBkYXRlLCBoYXNodGFncywgbWVudGlvbnMsIGV0Yy4pCgogIGxhc3RGZXRjaGVkIERhdGVUaW1lPyAvLyBsYXN0IHRpbWUgcG9zdHMgd2VyZSBmZXRjaGVkCgogIGJyYW5kIEJyYW5kICAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHBvc3RzIExpc3RUb1NvY2lhbFBvc3RbXQoKICBAQG1hcCgic29jaWFsbGlzdGVuaW5nbGlzdCIpCn0KCm1vZGVsIExpc3RUb1NvY2lhbFBvc3QgewogIGlkICAgICBJbnQgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBsaXN0SWQgSW50CiAgcG9zdElkIEludAoKICBsaXN0ICAgICAgIFNvY2lhbExpc3RlbmluZ0xpc3QgQHJlbGF0aW9uKGZpZWxkczogW2xpc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHNvY2lhbFBvc3QgU29jaWFsUG9zdCAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbcG9zdElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJsaXN0dG9zb2NpYWxwb3N0IikKfQoKbW9kZWwgT3B0SW5WaWV3IHsKICBpZCAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpdGxlICAgU3RyaW5nCiAgZmlsdGVycyBKc29uICAgQGRlZmF1bHQoInt9IikKCiAgY2FtcGFpZ25JZCBJbnQ/CiAgY2FtcGFpZ24gICBDYW1wYWlnbj8gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQG1hcCgib3B0aW52aWV3IikKfQoKbW9kZWwgUmFrdXRlbkFjdGl2aXR5IHsKICBpZCAgICAgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBvcmRlcklkICAgICAgU3RyaW5nPwogIG1ldGFEYXRhICAgICBKc29uICAgICBAZGVmYXVsdCgie30iKQogIGNyZWF0ZWQgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBjbGlja3MgICAgICAgSW50PwogIG9yZGVycyAgICAgICBJbnQ/CiAgc2FsZXMgICAgICAgIEZsb2F0PwogIGNvbW1pc3Npb24gICBGbG9hdD8KICBhZHZlcnRpc2VySWQgSW50PwoKICB1c2VySWQgSW50CgogIHVzZXIgVXNlciBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInJha3V0ZW5hY3Rpdml0eSIpCn0KbW9kZWwgSW1wYWN0UmFkaXVzRXZlbnQgewogIGlkICAgICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHR5cGUgICAgICAgICBTdHJpbmcgIC8vIGFjdGlvbi9jbGljawogIGNyZWF0ZWQgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBhbW91bnQgICAgICAgRmxvYXQ/CiAgY29tbWlzc2lvbiAgIEZsb2F0PwogIG1ldGFEYXRhICAgICBKc29uICAgICBAZGVmYXVsdCgie30iKQoKICB1c2VySWQgSW50CiAgYnJhbmRJZCBJbnQ/CgogIHVzZXIgVXNlciBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBicmFuZCBCcmFuZD8gQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQp9Cgptb2RlbCBDcmVhdG9yU2VhcmNoRmlsdGVyIHsKICBpZCAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgYnJhbmRJZCAgIEludAogIHRpdGxlICAgICBTdHJpbmcKICBmaWx0ZXJzICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgY3JlYXRlZEF0IERhdGVUaW1lICBAZGVmYXVsdChub3coKSkKICB1cGRhdGVkQXQgRGF0ZVRpbWU/CiAgYnJhbmQgICAgIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgQEBtYXAoImNyZWF0b3JzZWFyY2hmaWx0ZXIiKQp9Cgptb2RlbCBTZXF1ZW5jZSB7CiAgaWQgICAgICAgICAgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjYW1wYWlnbklkICAgICAgICBJbnQKICBjcmVhdG9yTGlzdElkICAgICBJbnQKICB0aXRsZSAgICAgICAgICAgICBTdHJpbmcgICBAZGIuVmFyQ2hhcigyNTUpCiAgY3JlYXRlZEF0ICAgICAgICAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgY29tcGxldGVkICAgICAgICAgQm9vbGVhbiAgQGRlZmF1bHQoZmFsc2UpCiAgYnJhbmRJZCAgICAgICAgICAgSW50CiAgZW5hYmxlZCAgICAgICAgICAgQm9vbGVhbiAgQGRlZmF1bHQoZmFsc2UpCgogIGNhbXBhaWduICAgICAgICAgIENhbXBhaWduIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjcmVhdG9yTGlzdCAgICAgICBDcmVhdG9yTGlzdCBAcmVsYXRpb24oZmllbGRzOiBbY3JlYXRvckxpc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgYnJhbmQgICAgICAgICAgICAgQnJhbmQgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBzdGVwcyAgICAgICAgICAgICBTZXF1ZW5jZVN0ZXBbXQogIG91dGJvdW5kRW1haWxzICAgIFNlcXVlbmNlT3V0Ym91bmRFbWFpbFtdCiAgaW5ib3VuZEVtYWlscyAgICAgU2VxdWVuY2VJbmJvdW5kRW1haWxbXQogIGltYXBDaGVja3BvaW50cyAgIFNlcXVlbmNlSW1hcENoZWNrcG9pbnRbXQoKICBAQG1hcCgic2VxdWVuY2UiKQp9Cgptb2RlbCBTZXF1ZW5jZVN0ZXAgewogIGlkICAgICAgICAgICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc2VxdWVuY2VJZCAgICAgICAgSW50CiAgY3JlYXRlZEF0ICAgICAgICAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgZW1haWxUZW1wbGF0ZUlkICAgSW50CiAgZGF5c0FmdGVyUHJldmlvdXMgSW50CiAgb3JkZXIgICAgICAgICAgICAgSW50CiAgc3RlcElkICAgICAgICAgICAgSW50CgogIHNlcXVlbmNlICAgICAgICAgIFNlcXVlbmNlIEByZWxhdGlvbihmaWVsZHM6IFtzZXF1ZW5jZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgZW1haWxUZW1wbGF0ZSAgICAgRW1haWxUZW1wbGF0ZSBAcmVsYXRpb24oZmllbGRzOiBbZW1haWxUZW1wbGF0ZUlkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgb3V0Ym91bmRFbWFpbHMgIFNlcXVlbmNlT3V0Ym91bmRFbWFpbFtdCgogIEBAbWFwKCJzZXF1ZW5jZXN0ZXAiKQp9Cgptb2RlbCBTZXF1ZW5jZU91dGJvdW5kRW1haWwgewogIGlkICAgICAgICAgICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc2VxdWVuY2VJZCAgICAgICAgSW50CiAgY3JlYXRvckxpc3RJdGVtSWQgSW50CiAgc2VxdWVuY2VTdGVwSWQgICAgSW50CiAgc2VudEF0ICAgICAgICAgICAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCgogIHNlcXVlbmNlICAgICAgU2VxdWVuY2UgQHJlbGF0aW9uKGZpZWxkczogW3NlcXVlbmNlSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNyZWF0b3JMaXN0ICAgQ3JlYXRvckxpc3RJdGVtIEByZWxhdGlvbihmaWVsZHM6IFtjcmVhdG9yTGlzdEl0ZW1JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgc2VxdWVuY2VTdGVwICBTZXF1ZW5jZVN0ZXAgQHJlbGF0aW9uKGZpZWxkczogW3NlcXVlbmNlU3RlcElkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInNlcXVlbmNlb3V0Ym91bmRlbWFpbCIpCn0KCm1vZGVsIFNlcXVlbmNlSW5ib3VuZEVtYWlsIHsKICBpZCAgICAgICAgICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHNlcXVlbmNlSWQgICAgICAgIEludAogIGNyZWF0b3JMaXN0SXRlbUlkIEludAogIHJlY2VpdmVkQXQgICAgICAgIERhdGVUaW1lIEBkZWZhdWx0KG5vdygpKQogIG1zZ0hhc2ggICAgICAgICAgIFN0cmluZwoKICBzZXF1ZW5jZSAgICAgIFNlcXVlbmNlIEByZWxhdGlvbihmaWVsZHM6IFtzZXF1ZW5jZUlkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjcmVhdG9yTGlzdElkIENyZWF0b3JMaXN0SXRlbSBAcmVsYXRpb24oZmllbGRzOiBbY3JlYXRvckxpc3RJdGVtSWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQG1hcCgic2VxdWVuY2VpbmJvdW5kZW1haWwiKQp9Cgptb2RlbCBTZXF1ZW5jZUltYXBDaGVja3BvaW50IHsKICBzZXF1ZW5jZUlkICAgICAgICBJbnQKICBjcmVhdG9yTGlzdEl0ZW1JZCBJbnQKICBsYXN0UmVhZE1zZ0RhdGUgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBjcmVhdGVkQXQgICAgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICB1cGRhdGVkQXQgICAgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKCiAgc2VxdWVuY2UgICAgICBTZXF1ZW5jZSBAcmVsYXRpb24oZmllbGRzOiBbc2VxdWVuY2VJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgY3JlYXRvckxpc3RJZCBDcmVhdG9yTGlzdEl0ZW0gQHJlbGF0aW9uKGZpZWxkczogW2NyZWF0b3JMaXN0SXRlbUlkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBpZChbc2VxdWVuY2VJZCwgY3JlYXRvckxpc3RJdGVtSWRdKQogIEBAbWFwKCJzZXF1ZW5jZWltYXBjaGVja3BvaW50IikKfQ==",
1286
- "inlineSchemaHash": "364132ad22a0ce323e173a0fb7ba056ededcf2b9f94f5fbb4c63bf71e61755d2",
1285
+ "inlineSchema": "Z2VuZXJhdG9yIGVyZCB7CiAgcHJvdmlkZXIgICAgICAgICAgICAgICAgICA9ICJwcmlzbWEtZXJkLWdlbmVyYXRvciIKICBpbmNsdWRlUmVsYXRpb25Gcm9tRmllbGRzID0gdHJ1ZQogIG91dHB1dCA9ICIuLi8uLi9kb2NzL2NyZWF0b3Jjb19lcmQubWQiCn0KCmdlbmVyYXRvciBreXNlbHkgewogIHByb3ZpZGVyICAgICAgICAgPSAicHJpc21hLWt5c2VseSIKICBvdXRwdXQgICAgICAgICAgID0gIi4uLy4uL2NsaWVudC9jcmVhdG9yY28va3lzZWx5IgogIGZpbGVOYW1lICAgICAgICAgPSAidHlwZXMudHMiCiAgZW51bUZpbGVOYW1lICAgICA9ICJlbnVtcy50cyIKICByZWFkT25seUlkcyAgICAgID0gdHJ1ZQogIGpzb25UeXBlT3ZlcnJpZGUgPSBKc29uCn0KCmdlbmVyYXRvciBjbGllbnQgewogIHByb3ZpZGVyICAgICAgICA9ICJwcmlzbWEtY2xpZW50LWpzIgogIG91dHB1dCAgICAgICAgICA9ICIuLi8uLi9jbGllbnQvY3JlYXRvcmNvL2NsaWVudCIKICBwcmV2aWV3RmVhdHVyZXMgPSBbImZ1bGxUZXh0SW5kZXgiLCAiZnVsbFRleHRTZWFyY2giXQogIC8vIG1hY29zIChhcm0gb3IgeDg2KSwgbmF0aXZlLCBsaW51eCBhcm02NCBzc2wzLngsIHdpbmRvd3MKICBiaW5hcnlUYXJnZXRzICAgPSBbIm5hdGl2ZSIsICJkYXJ3aW4iLCAiZGFyd2luLWFybTY0IiwgImxpbnV4LWFybTY0LW9wZW5zc2wtMy4wLngiLCAid2luZG93cyIsICJkZWJpYW4tb3BlbnNzbC0zLjAueCIsICJsaW51eC1tdXNsLWFybTY0LW9wZW5zc2wtMy4wLngiLCAibGludXgtYXJtNjQtb3BlbnNzbC0xLjAueCJdCn0KCmRhdGFzb3VyY2UgZGIgewogIHByb3ZpZGVyID0gInBvc3RncmVzcWwiCiAgdXJsICAgICAgPSBlbnYoIkRBVEFCQVNFX1VSTCIpCn0KCm1vZGVsIFVzZXIgewogIGlkICAgICAgICAgICAgICAgICAgSW50ICAgICAgICAgICAgIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkgQGlkCiAgcm9sZSAgICAgICAgICAgICAgICBTdHJpbmcKICBlbWFpbCAgICAgICAgICAgICAgIFN0cmluZz8gICAgICAgICBAdW5pcXVlCiAgcGFzc3dvcmQgICAgICAgICAgICBTdHJpbmc/CiAgcmVnaXN0ZXJlZCAgICAgICAgICBEYXRlVGltZSAgICAgICAgQGRlZmF1bHQobm93KCkpCiAgbGFzdExvZ2luRGF0ZSAgICAgICBEYXRlVGltZT8gCiAgZmlyc3ROYW1lICAgICAgICAgICBTdHJpbmc/CiAgbGFzdE5hbWUgICAgICAgICAgICBTdHJpbmc/CiAgcGhvbmUgICAgICAgICAgICAgICBTdHJpbmc/CiAgcGhvbmVDb2RlICAgICAgICAgICBJbnQ/CiAgcGhvbmVTaG9ydCAgICAgICAgICBTdHJpbmc/CiAgcHJvZmlsZVBpY1VybCAgICAgICBTdHJpbmc/ICAgICAgICAgQGRiLlZhckNoYXIoMjA4MykKICBmb3Jnb3RQYXNzd29yZEtleSAgIFN0cmluZz8gICAgICAgICBAdW5pcXVlCiAgYWZmaWxpYXRlU2x1ZyAgICAgICBTdHJpbmc/ICAgICAgICAgQHVuaXF1ZQogIGNsb3NlZCAgICAgICAgICAgICAgRGF0ZVRpbWU/CiAgY2xvc2VkUmVhc29uICAgICAgICBTdHJpbmc/CiAgdXNlcmNvbUxhc3RTeW5jZWQgICBEYXRlVGltZT8KICBleHRyYURhdGEgICAgICAgICAgIEpzb24gICAgICAgICAgICBAZGVmYXVsdCgie30iKQoKICByZWZlcnJlcklkIEludD8KCiAgcmVmZXJyZXIgICAgICAgICAgICBVc2VyPyAgICAgICAgICAgICAgICBAcmVsYXRpb24oIlJlZmVycmFscyIsIGZpZWxkczogW3JlZmVycmVySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHJlZmVycmVkVXNlcnMgICAgICAgVXNlcltdICAgICAgICAgICAgICAgQHJlbGF0aW9uKCJSZWZlcnJhbHMiKQogIGxvZ3MgICAgICAgICAgICAgICAgTG9nW10KICBjcmVhdG9yUHJvZmlsZSAgICAgIENyZWF0b3JQcm9maWxlPwogIGluc3RhZ3JhbVByb2ZpbGUgICAgSW5zdGFncmFtUHJvZmlsZT8KICB5b3V0dWJlUHJvZmlsZSAgICAgIFlvdXR1YmVQcm9maWxlPwogIHRpa3Rva1Byb2ZpbGUgICAgICAgVGlrdG9rUHJvZmlsZT8KICBmYWNlYm9va1Byb2ZpbGUgICAgIEZhY2Vib29rUHJvZmlsZT8KICB0d2l0dGVyUHJvZmlsZSAgICAgIFR3aXR0ZXJQcm9maWxlPwogIHR3aXRjaFByb2ZpbGUgICAgICAgVHdpdGNoUHJvZmlsZT8KICBicmFuZFByb2ZpbGVzICAgICAgIEJyYW5kVXNlclByb2ZpbGVbXQogIG9wdElucyAgICAgICAgICAgICAgT3B0SW5bXQogIGFzc2lnbmVkQnJhbmRzICAgICAgQnJhbmRbXQogIG1lc3NhZ2VzICAgICAgICAgICAgTWVzc2FnZVtdCiAgc29jaWFsUG9zdHMgICAgICAgICBTb2NpYWxQb3N0W10KICBwYXltZW50VHJhbnNhY3Rpb25zIFBheW1lbnRUcmFuc2FjdGlvbltdCiAgYWZmaWxpYXRlTGlua3MgICAgICBBZmZpbGlhdGVMaW5rW10KICBjYW1wYWlnblBpbnMgICAgICAgIENhbXBhaWduUGluW10KICBzb2NpYWxQcm9maWxlcyAgICAgIFNvY2lhbFByb2ZpbGVbXQogIHJha3V0ZW5BY3Rpdml0eSAgICAgUmFrdXRlbkFjdGl2aXR5W10KICBpbXBhY3RSYWRpdXNFdmVudHMgIEltcGFjdFJhZGl1c0V2ZW50W10KCiAgQEBtYXAoInVzZXIiKQogIC8vIEBAZnVsbHRleHQoW2ZpcnN0TmFtZSwgbGFzdE5hbWVdKQp9Cgptb2RlbCBMb2cgewogIGlkIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQoKICB1c2VySWQgSW50PwogIHVzZXIgICBVc2VyPyBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIGRhdGEgSnNvbj8KfQoKbW9kZWwgQ3JlYXRvclByb2ZpbGUgewogIGlkICAgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY291bnRyeSAgICAgICAgICBTdHJpbmc/CiAgcmVnaW9uICAgICAgICAgICBTdHJpbmc/CiAgYmlydGhEYXRlICAgICAgICBEYXRlVGltZT8KICBpbnRlcmVzdHMgICAgICAgIEpzb24/IC8vIGRlcHJlY2F0ZWQKICBnZW5kZXIgICAgICAgICAgIFN0cmluZz8KICBzaGlwcGluZ0FkZHJlc3MxIFN0cmluZz8KICBzaGlwcGluZ0FkZHJlc3MyIFN0cmluZz8KICBzaGlwcGluZ0NpdHkgICAgIFN0cmluZz8KICBzaGlwcGluZ1JlZ2lvbiAgIFN0cmluZz8KICBzaGlwcGluZ0NvdW50cnkgIFN0cmluZz8KICBzaGlwcGluZ1Bvc3Rjb2RlIFN0cmluZz8KICBwaHlsbG9Vc2VySWQgICAgIFN0cmluZz8KICBwcm9maWxlU2x1ZyAgICAgIFN0cmluZz8gICBAdW5pcXVlCiAgcHJvZmlsZVNldHRpbmdzICBKc29uPwogIHdhbGxldEFkZHJlc3MgICAgU3RyaW5nPyAgIEB1bmlxdWUKCiAgbmljaGVzIENyZWF0b3JUb0NhdGVnb3J5W10KCiAgdXNlcklkIEludCAgQHVuaXF1ZQogIHVzZXIgICBVc2VyIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBpbmRleChwaHlsbG9Vc2VySWQpCiAgQEBtYXAoImNyZWF0b3Jwcm9maWxlIikKfQoKbW9kZWwgSW5zdGFncmFtUHJvZmlsZSB7CiAgaWQgICAgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGluc3RhZ3JhbUlkIFN0cmluZz8KCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nCiAgdXJsICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBwcm9maWxlUGljVXJsIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgbGFzdFVwZGF0ZWQgICBEYXRlVGltZT8KCiAgZnVsbE5hbWUgICAgICAgICAgU3RyaW5nPyBAZGIuVmFyQ2hhcigxMDI0KQogIGlzQnVzaW5lc3MgICAgICAgIEJvb2xlYW4/CiAgaXNQcml2YXRlICAgICAgICAgQm9vbGVhbj8KICBpc1ZlcmlmaWVkICAgICAgICBCb29sZWFuPwogIG1lZGlhQ291bnQgICAgICAgIEludD8KICBmb2xsb3dpbmdDb3VudCAgICBJbnQ/CiAgdG90YWxDb21tZW50cyAgICAgSW50PwogIHRvdGFsTGlrZXMgICAgICAgIEludD8KICBhdmdDb21tZW50cyAgICAgICBGbG9hdD8KICBhdmdMaWtlcyAgICAgICAgICBGbG9hdD8KICBiaW8gICAgICAgICAgICAgICBTdHJpbmc/CiAgZXh0ZXJuYWxVcmwgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgaGFzSGlnaGxpZ2h0UmVlbHMgQm9vbGVhbj8KICBjYXRlZ29yeSAgICAgICAgICBTdHJpbmc/CiAgaGFzQ2xpcHMgICAgICAgICAgQm9vbGVhbj8KICBoYXNHdWlkZXMgICAgICAgICBCb29sZWFuPwogIGhhc0NoYW5uZWwgICAgICAgIEJvb2xlYW4/CiAgdG90YWxJZ3R2VmlkZW9zICAgSW50PwogIHByb2ZpbGVQaWNVcmxIZCAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKSAvLyBERVBSRUNBVEVECiAgbGFzdFN0b3JpZXNVcGRhdGUgRGF0ZVRpbWU/CgogIGV4dHJhRGF0YSAgICBKc29uPwogIHBoeWxsb0RhdGEgICBKc29uPwogIGF1ZGllbmNlRGF0YSBKc29uICAgIEBkZWZhdWx0KCJ7fSIpCiAgdmlzaWJpbGl0eSAgIFN0cmluZz8gQGRlZmF1bHQoInB1YmxpYyIpCgogIHVzZXJJZCAgSW50PyAgIEB1bmlxdWUKICB1c2VyICAgIFVzZXI/ICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgYnJhbmRJZCBJbnQ/ICAgQHVuaXF1ZQogIGJyYW5kICAgQnJhbmQ/IEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAaW5kZXgodXNlcm5hbWUpCiAgQEBpbmRleChpbnN0YWdyYW1JZCkKICBAQG1hcCgiaW5zdGFncmFtcHJvZmlsZSIpCn0KCm1vZGVsIFRpa3Rva1Byb2ZpbGUgewogIGlkICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpa3Rva0lkIFN0cmluZyBAdW5pcXVlCgogIC8vIGZpZWxkcyBjb25zaXN0ZW50IGFjY3Jvc3MgcHJvZmlsZXMKICB1c2VybmFtZSAgICAgIFN0cmluZz8KICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwoKICBoYW5kbGUgICAgICAgICBTdHJpbmc/CiAgbmlja25hbWUgICAgICAgU3RyaW5nPwogIGZvbGxvd2luZ0NvdW50IEludD8KICB0b3RhbENvbW1lbnRzICBJbnQ/CiAgdG90YWxMaWtlcyAgICAgSW50PwoKICBleHRyYURhdGEgICAgSnNvbj8KICBwaHlsbG9EYXRhICAgSnNvbj8KICBhdWRpZW5jZURhdGEgSnNvbiAgICBAZGVmYXVsdCgie30iKQogIHZpc2liaWxpdHkgICBTdHJpbmc/IEBkZWZhdWx0KCJwdWJsaWMiKQoKICB1c2VySWQgIEludD8gICBAdW5pcXVlCiAgdXNlciAgICBVc2VyPyAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGJyYW5kSWQgSW50PyAgIEB1bmlxdWUKICBicmFuZCAgIEJyYW5kPyBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQGluZGV4KHVzZXJuYW1lKQogIEBAbWFwKCJ0aWt0b2twcm9maWxlIikKfQoKbW9kZWwgWW91dHViZVByb2ZpbGUgewogIGlkICAgICAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB5b3V0dWJlSWQgU3RyaW5nIEB1bmlxdWUKCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nCiAgdXJsICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBwcm9maWxlUGljVXJsIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgbGFzdFVwZGF0ZWQgICBEYXRlVGltZT8KCiAgZm9sbG93aW5nQ291bnQgSW50PwogIGZ1bGxOYW1lICAgICAgIFN0cmluZz8gIEBkYi5WYXJDaGFyKDEwMjQpCiAgaXNWZXJpZmllZCAgICAgQm9vbGVhbj8KICBzdWJzY3JpYmVycyAgICBJbnQ/CiAgZGVzY3JpcHRpb24gICAgU3RyaW5nPyAgQGRiLlRleHQKICBjb3VudHJ5ICAgICAgICBTdHJpbmc/CiAgdG90YWxWaWV3cyAgICAgSW50PwogIHRvdGFsVmlkZW9zICAgIEludD8KCiAgZXh0cmFEYXRhICAgIEpzb24/CiAgcGh5bGxvRGF0YSAgIEpzb24/CiAgYXVkaWVuY2VEYXRhIEpzb24gICAgQGRlZmF1bHQoInt9IikKICB2aXNpYmlsaXR5ICAgU3RyaW5nPyBAZGVmYXVsdCgicHVibGljIikKCiAgdXNlcklkICBJbnQ/ICAgQHVuaXF1ZQogIHVzZXIgICAgVXNlcj8gIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBicmFuZElkIEludD8gICBAdW5pcXVlCiAgYnJhbmQgICBCcmFuZD8gQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgQEBpbmRleCh1c2VybmFtZSkKICBAQG1hcCgieW91dHViZXByb2ZpbGUiKQp9Cgptb2RlbCBUd2l0Y2hQcm9maWxlIHsKICBpZCAgICAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0d2l0Y2hJZCBTdHJpbmcgQHVuaXF1ZQoKICAvLyBmaWVsZHMgY29uc2lzdGVudCBhY2Nyb3NzIHByb2ZpbGVzCiAgdXNlcm5hbWUgICAgICBTdHJpbmcgICAgQHVuaXF1ZQogIHVybCAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgcHJvZmlsZVBpY1VybCBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICBmb2xsb3dlckNvdW50IEludD8KICBlbmdhZ2VtZW50ICAgIEZsb2F0PwogIGxhc3RVcGRhdGVkICAgRGF0ZVRpbWU/CgogIGV4dHJhRGF0YSAgSnNvbj8KICBwaHlsbG9EYXRhIEpzb24/CiAgdmlzaWJpbGl0eSBTdHJpbmc/IEBkZWZhdWx0KCJwdWJsaWMiKQoKICB1c2VySWQgSW50PyAgQHVuaXF1ZQogIHVzZXIgICBVc2VyPyBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJ0d2l0Y2hwcm9maWxlIikKfQoKbW9kZWwgRmFjZWJvb2tQcm9maWxlIHsKICBpZCAgICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGZhY2Vib29rSWQgU3RyaW5nIEB1bmlxdWUKCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwoKICBleHRyYURhdGEgIEpzb24/CiAgcGh5bGxvRGF0YSBKc29uPwogIHZpc2liaWxpdHkgU3RyaW5nPyBAZGVmYXVsdCgicHVibGljIikKCiAgdXNlcklkIEludD8gIEB1bmlxdWUKICB1c2VyICAgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgiZmFjZWJvb2twcm9maWxlIikKfQoKbW9kZWwgVHdpdHRlclByb2ZpbGUgewogIGlkICAgICAgICBJbnQgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0d2l0dGVySWQgU3RyaW5nIEB1bmlxdWUKCiAgLy8gZmllbGRzIGNvbnNpc3RlbnQgYWNjcm9zcyBwcm9maWxlcwogIHVzZXJuYW1lICAgICAgU3RyaW5nICAgIEB1bmlxdWUKICB1cmwgICAgICAgICAgIFN0cmluZz8gICBAZGIuVmFyQ2hhcigyMDgzKQogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgZm9sbG93ZXJDb3VudCBJbnQ/CiAgZW5nYWdlbWVudCAgICBGbG9hdD8KICBsYXN0VXBkYXRlZCAgIERhdGVUaW1lPwoKICBleHRyYURhdGEgIEpzb24/CiAgcGh5bGxvRGF0YSBKc29uPwogIHZpc2liaWxpdHkgU3RyaW5nPyBAZGVmYXVsdCgicHVibGljIikKCiAgdXNlcklkIEludD8gIEB1bmlxdWUKICB1c2VyICAgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgidHdpdHRlcnByb2ZpbGUiKQp9Cgptb2RlbCBCcmFuZFVzZXJQcm9maWxlIHsKICBpZCAgICAgIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHVzZXJJZCAgSW50CiAgYnJhbmRJZCBJbnQKCiAgdXNlciAgVXNlciAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGJyYW5kIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJicmFuZHVzZXJwcm9maWxlIikKfQoKbW9kZWwgQnJhbmQgewogIGlkICAgICAgICAgICAgICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIG5hbWUgICAgICAgICAgICAgICAgICAgIFN0cmluZwogIGRlc2NyaXB0aW9uICAgICAgICAgICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHdlYnNpdGUgICAgICAgICAgICAgICAgIFN0cmluZwogIG1vbnRobHlDb250YWN0cyAgICAgICAgIEludD8KICBtb250aGx5UmVwb3J0cyAgICAgICAgICBJbnQ/CiAgbGFzdENvbnRhY3REaXN0cmlidXRpb24gRGF0ZVRpbWU/CiAgbG9nb1VybCAgICAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgYWZmaWxpYXRlQmFzZVVybCAgICAgICAgU3RyaW5nPyAgIEBkYi5WYXJDaGFyKDIwODMpCiAgYWZmaWxpYXRlQ29tbWlzc2lvbiAgICAgRmxvYXQ/CiAgZXh0cmFEYXRhICAgICAgICAgICAgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCgogIHNwZWNpYWxpc3RJZCAgICAgICAgSW50PwogIGRlZGljYXRlZFNwZWNpYWxpc3QgVXNlcj8gQHJlbGF0aW9uKGZpZWxkczogW3NwZWNpYWxpc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgaW5zdGFncmFtUHJvZmlsZSAgICAgSW5zdGFncmFtUHJvZmlsZT8KICB5b3V0dWJlUHJvZmlsZSAgICAgICBZb3V0dWJlUHJvZmlsZT8KICB0aWt0b2tQcm9maWxlICAgICAgICBUaWt0b2tQcm9maWxlPwogIGNhbXBhaWducyAgICAgICAgICAgIENhbXBhaWduW10KICBicmFuZFVzZXJzICAgICAgICAgICBCcmFuZFVzZXJQcm9maWxlW10KICBzZWFyY2hDb250YWN0cyAgICAgICBTZWFyY2hDb250YWN0c1tdCiAgcmVwb3J0Q3JlZGl0cyAgICAgICAgUmVwb3J0Q3JlZGl0c1tdCiAgY2F0ZWdvcmllcyAgICAgICAgICAgQnJhbmRUb0NhdGVnb3J5W10KICBwYXltZW50VHJhbnNhY3Rpb25zICBQYXltZW50VHJhbnNhY3Rpb25bXQogIHNhdmVkZmlsZXMgICAgICAgICAgIFNhdmVkRmlsZVtdCiAgY3JlYXRvckxpc3RzICAgICAgICAgQ3JlYXRvckxpc3RbXQogIGFmZmlsaWF0ZUxpbmtzICAgICAgIEJyYW5kQWZmaWxpYXRlTGlua1tdCiAgbWVzc2FnZVRlbXBsYXRlICAgICAgTWVzc2FnZVRlbXBsYXRlW10KICBlbWFpbFRlbXBsYXRlcyAgICAgICBFbWFpbFRlbXBsYXRlW10KICBzb2NpYWxMaXN0ZW5pbmdMaXN0cyBTb2NpYWxMaXN0ZW5pbmdMaXN0W10KICBjYW1wYWlnbkludml0ZXMgICAgICBDYW1wYWlnbkludml0ZVtdCiAgaW1hZ2VzICAgICAgICAgICAgICAgQnJhbmRUb0ltYWdlW10KICBjcmVhdG9yc2VhcmNoZmlsdGVyICBDcmVhdG9yU2VhcmNoRmlsdGVyW10KICBzZXF1ZW5jZXMgICAgICAgICAgICBTZXF1ZW5jZVtdCiAgaW1wYWN0UmFkaXVzRXZlbnRzICAgSW1wYWN0UmFkaXVzRXZlbnRbXQoKICAgIC8vIGZvciBhZ2VuY2llcwogIHBhcmVudEJyYW5kSWQgICAgICAgSW50PwogIHBhcmVudEJyYW5kICAgICAgICAgQnJhbmQ/IEByZWxhdGlvbigiQ2hpbGRCcmFuZHMiLCBmaWVsZHM6IFtwYXJlbnRCcmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjaGlsZEJyYW5kcyAgICAgICAgIEJyYW5kW10gQHJlbGF0aW9uKCJDaGlsZEJyYW5kcyIpCiAgIC8vIGdlbmVyYXRlZCAoZm9yIHNlYXJjaCkKICBzZWFyY2hOYW1lICAgICAgICAgIFN0cmluZz8gQGRlZmF1bHQoZGJnZW5lcmF0ZWQoKSkKCiAgQEBtYXAoImJyYW5kIikKfQoKbW9kZWwgU2VhcmNoQ29udGFjdHMgewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdHlwZSAgICAgICBTdHJpbmcKICBwcmV2UXR5ICAgIEZsb2F0CiAgY2hhbmdlUXR5ICBGbG9hdAogIGN1cnJlbnRRdHkgRmxvYXQKICBjcmVhdGVkICAgIERhdGVUaW1lPyBAZGVmYXVsdChub3coKSkKCiAgcHJldlF0eVBvc3RJZCBJbnQ/ICAgICAgICAgICAgQHVuaXF1ZQogIHByZXZRdHlQb3N0ICAgU2VhcmNoQ29udGFjdHM/IEByZWxhdGlvbigicHJldlNlYXJjaFF0eVBvc3RJZCIsIGZpZWxkczogW3ByZXZRdHlQb3N0SWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG5leHRRdHlQb3N0ICAgU2VhcmNoQ29udGFjdHM/IEByZWxhdGlvbigicHJldlNlYXJjaFF0eVBvc3RJZCIpCgogIGJyYW5kSWQgSW50CiAgYnJhbmQgICBCcmFuZCBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJzZWFyY2hjb250YWN0cyIpCn0KCm1vZGVsIFJlcG9ydENyZWRpdHMgewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdHlwZSAgICAgICBTdHJpbmcKICBwcmV2UXR5ICAgIEZsb2F0CiAgY2hhbmdlUXR5ICBGbG9hdAogIGN1cnJlbnRRdHkgRmxvYXQKICBjcmVhdGVkICAgIERhdGVUaW1lPyBAZGVmYXVsdChub3coKSkKCiAgcHJldlF0eVBvc3RJZCBJbnQ/ICAgICAgICAgICBAdW5pcXVlCiAgcHJldlF0eVBvc3QgICBSZXBvcnRDcmVkaXRzPyBAcmVsYXRpb24oInByZXZSZXBvcnRzUXR5UG9zdElkIiwgZmllbGRzOiBbcHJldlF0eVBvc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgbmV4dFF0eVBvc3QgICBSZXBvcnRDcmVkaXRzPyBAcmVsYXRpb24oInByZXZSZXBvcnRzUXR5UG9zdElkIikKCiAgYnJhbmRJZCBJbnQKICBicmFuZCAgIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInJlcG9ydGNyZWRpdHMiKQp9Cgptb2RlbCBCcmFuZFRvSW1hZ2UgewogIGlkICAgICAgICAgIEludCAgIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkgQGlkCiAgYnJhbmRJZCAgICAgSW50CiAgdHlwZSAgICAgICAgU3RyaW5nCgogIGJyYW5kICAgICAgIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIHNpemVzICAgICAgIEJyYW5kSW1hZ2VbXQoKICBAQG1hcCgiYnJhbmR0b2ltYWdlIikKfQoKbW9kZWwgQnJhbmRUb0NhdGVnb3J5IHsKICBicmFuZElkICAgIEludAogIGNhdGVnb3J5SWQgSW50CgogIGNhbXBhaWduIEJyYW5kICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgY2F0ZWdvcnkgQ2F0ZWdvcnkgQHJlbGF0aW9uKGZpZWxkczogW2NhdGVnb3J5SWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQGlkKFticmFuZElkLCBjYXRlZ29yeUlkXSkKICBAQG1hcCgiYnJhbmR0b2NhdGVnb3J5IikKfQoKbW9kZWwgQ3JlYXRvclRvQ2F0ZWdvcnkgewogIGNyZWF0b3JQcm9maWxlSWQgSW50CiAgY2F0ZWdvcnlJZCAgICAgICBJbnQKCiAgY3JlYXRvclByb2ZpbGUgQ3JlYXRvclByb2ZpbGUgQHJlbGF0aW9uKGZpZWxkczogW2NyZWF0b3JQcm9maWxlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYXRlZ29yeSAgICAgICBDYXRlZ29yeSAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY2F0ZWdvcnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaWQoW2NyZWF0b3JQcm9maWxlSWQsIGNhdGVnb3J5SWRdKQp9Cgptb2RlbCBDaGF0IHsKICBpZCAgICAgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjcmVhdGVkICAgICAgICBEYXRlVGltZT8gQGRlZmF1bHQobm93KCkpCiAgY29udmVyc2F0aW9uSWQgU3RyaW5nPyAgIEB1bmlxdWUKICBtZXRhRGF0YSAgICAgICBKc29uICAgICAgQGRlZmF1bHQoInt9IikKCiAgb3B0SW5JZCBJbnQ/IEB1bmlxdWUKCiAgb3B0SW4gICAgT3B0SW4/ICAgIEByZWxhdGlvbihmaWVsZHM6IFtvcHRJbklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBtZXNzYWdlcyBNZXNzYWdlW10KCiAgQEBtYXAoImNoYXQiKQp9Cgptb2RlbCBNZXNzYWdlIHsKICBpZCAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNyZWF0ZWQgICAgRGF0ZVRpbWU/IEBkZWZhdWx0KG5vdygpKQogIHNlbmRlciAgICAgU3RyaW5nCiAgY29udGVudCAgICBTdHJpbmcgICAgQGRiLlRleHQKICByZWFkICAgICAgIEJvb2xlYW4gICBAZGVmYXVsdChmYWxzZSkKICB0eXBlICAgICAgIFN0cmluZyAgICBAZGVmYXVsdCgidGV4dCIpCiAgbWVzc2FnZVNpZCBTdHJpbmc/CgogIHVzZXJJZCBJbnQ/CiAgY2hhdElkIEludAoKICB1c2VyIFVzZXI/IEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNoYXQgQ2hhdCAgQHJlbGF0aW9uKGZpZWxkczogW2NoYXRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgibWVzc2FnZSIpCn0KCm1vZGVsIENhbXBhaWduIHsKICBpZCAgICAgICAgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICAgICAgICAgICAgICAgIFN0cmluZwogIHNsdWcgICAgICAgICAgICAgICAgICBTdHJpbmc/ICAgQHVuaXF1ZQogIHN0YXR1cyAgICAgICAgICAgICAgICBTdHJpbmcgICAgQGRlZmF1bHQoImRyYWZ0IikgLy8gZHJhZnQsIHBhdXNlZCwgcGVuZGluZywgcHJpdmF0ZSwgcHVibGlzaCwgdHJhc2gKICBkYXRlICAgICAgICAgICAgICAgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIHB1Ymxpc2hEYXRlICAgICAgICAgICBEYXRlVGltZT8KICBkZXNjcmlwdGlvbiAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5UZXh0CiAgcHJvZHVjdERlc2NyaXB0aW9uICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHByaXplRGVzY3JpcHRpb24gICAgICBTdHJpbmc/ICAgQGRiLlRleHQKICBzdHJhdGVneSAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkZWZhdWx0KCJzaG91dG91dCIpCiAgc29jaWFsQ2hhbm5lbCAgICAgICAgIFN0cmluZz8KICBzb2NpYWxDaGFubmVscyAgICAgICAgSnNvbj8KICBmYWNlYm9va1JlYWNoICAgICAgICAgSW50PwogIGZhY2Vib29rRW5nYWdlbWVudCAgICBGbG9hdD8KICBpbnN0YWdyYW1SZWFjaCAgICAgICAgSW50PwogIGluc3RhZ3JhbUVuZ2FnZW1lbnQgICBGbG9hdD8KICB5b3V0dWJlUmVhY2ggICAgICAgICAgSW50PwogIHlvdXR1YmVFbmdhZ2VtZW50ICAgICBGbG9hdD8KICB0d2l0dGVyUmVhY2ggICAgICAgICAgSW50PwogIHR3aXR0ZXJFbmdhZ2VtZW50ICAgICBGbG9hdD8KICB0aWt0b2tSZWFjaCAgICAgICAgICAgSW50PwogIHRpa3Rva0VuZ2FnZW1lbnQgICAgICBGbG9hdD8KICB0d2l0Y2hSZWFjaCAgICAgICAgICAgSW50PwogIHR3aXRjaEVuZ2FnZW1lbnQgICAgICBGbG9hdD8KICBxdWFudGl0eSAgICAgICAgICAgICAgSW50ICAgICAgIEBkZWZhdWx0KDApCiAgaG9sZENvc3QgICAgICAgICAgICAgIEZsb2F0PwogIHZhbHVlICAgICAgICAgICAgICAgICBGbG9hdD8KICBwYWlkQW1vdW50ICAgICAgICAgICAgRmxvYXQ/CiAgbWluQWdlICAgICAgICAgICAgICAgIEludD8KICBtYXhBZ2UgICAgICAgICAgICAgICAgSW50PwogIHZpc3VhbHMgICAgICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlRleHQKICBwaG90b1RhZ3MgICAgICAgICAgICAgSnNvbj8KICBoYXNodGFncyAgICAgICAgICAgICAgSnNvbj8KICBzdG9yeUhhc2h0YWdzICAgICAgICAgSnNvbj8KICBzdG9yeU1lbnRpb25zICAgICAgICAgSnNvbj8KICBjYXB0aW9uICAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5UZXh0CiAgcGFzc3dvcmQgICAgICAgICAgICAgIFN0cmluZz8KICBjb250ZW50Rm9ybWF0cyAgICAgICAgSnNvbj8KICBwYWlkQ2FtcGFpZ24gICAgICAgICAgQm9vbGVhbj8KICBtaW5QYWlkQW1vdW50ICAgICAgICAgRmxvYXQ/CiAgbWF4UGFpZEFtb3VudCAgICAgICAgIEZsb2F0PwogIHBheW1lbnRUeXBlICAgICAgICAgICBTdHJpbmc/CiAgbW9udGhseUFjdGl2YXRlZEdvYWwgIEludD8gLy8gUmVkdW5kYW50L0RlcHJlY2F0ZWQKICBleHBlY3RlZE9wdElucyAgICAgICAgSW50PyAvLyBSZWR1bmRhbnQvRGVwcmVjYXRlZAogIGdvYWxBY3RpdmF0aW9ucyAgICAgICBGbG9hdD8KICBnb2FsT3B0SW5zICAgICAgICAgICAgRmxvYXQ/CiAgcmVxdWlyZXNTaGlwcGluZyAgICAgIEJvb2xlYW4/CiAgZGlzYWJsZVF1YWxpZmljYXRpb25zIEJvb2xlYW4/CiAgZGlzYWJsZUFjdGl2YXRpb25zICAgIEJvb2xlYW4/CiAgYWZmaWxpYXRlTGlua1BhdGggICAgIFN0cmluZz8KICBtZXRhRGF0YSAgICAgICAgICAgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCgogIHN0ZXBzICAgICAgICBDYW1wYWlnblN0ZXBbXQogIGNhdGVnb3JpZXMgICBDYW1wYWlnblRvQ2F0ZWdvcnlbXQogIG9wdElucyAgICAgICBPcHRJbltdCiAgaW1hZ2VzICAgICAgIENhbXBhaWduVG9JbWFnZVtdCiAgdmFyaWFibGVzICAgIFZhcmlhYmxlW10KICBjb3VudHJpZXMgICAgQ2FtcGFpZ25Ub0NvdW50cnlbXQogIGNhbXBhaWduUGlucyBDYW1wYWlnblBpbltdCiAgc29jaWFsUG9zdHMgIFNvY2lhbFBvc3RbXQogIGNhbXBhaWduSW52aXRlcyBDYW1wYWlnbkludml0ZVtdCgogIGJyYW5kSWQgICAgICBJbnQKICBicmFuZCAgICAgICAgQnJhbmQgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNyZWF0b3JMaXN0cyBDcmVhdG9yTGlzdFtdCiAgb3B0SW5WaWV3cyAgIE9wdEluVmlld1tdCiAgc2VxdWVuY2VzICAgIFNlcXVlbmNlW10KCiAgQEBtYXAoImNhbXBhaWduIikKfQoKbW9kZWwgQ2FtcGFpZ25QaW4gewogIGlkICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdXNlcklkICAgICBJbnQKICBjYW1wYWlnbklkIEludAogIGNyZWF0ZWQgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIG5vdGlmaWVkICAgRGF0ZVRpbWU/CgogIHVzZXIgICAgIFVzZXIgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnbiBDYW1wYWlnbiBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgiY2FtcGFpZ25waW4iKQp9Cgptb2RlbCBDYW1wYWlnblRvSW1hZ2UgewogIGlkICAgICAgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY2FtcGFpZ25JZCBJbnQKICB0eXBlICAgICAgIFN0cmluZwoKICBjYW1wYWlnbiBDYW1wYWlnbiBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBzaXplcyBJbWFnZVtdCgogIEBAbWFwKCJjYW1wYWlnbnRvaW1hZ2UiKQp9Cgptb2RlbCBDYW1wYWlnblRvQ2F0ZWdvcnkgewogIGNhbXBhaWduSWQgSW50CiAgY2F0ZWdvcnlJZCBJbnQKCiAgY2FtcGFpZ24gQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYXRlZ29yeSBDYXRlZ29yeSBAcmVsYXRpb24oZmllbGRzOiBbY2F0ZWdvcnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAaWQoW2NhbXBhaWduSWQsIGNhdGVnb3J5SWRdKQogIEBAbWFwKCJjYW1wYWlnbnRvY2F0ZWdvcnkiKQp9Cgptb2RlbCBDYW1wYWlnblRvQ291bnRyeSB7CiAgY2FtcGFpZ25JZCBJbnQKICBjb3VudHJ5SWQgIEludAoKICBjYW1wYWlnbiBDYW1wYWlnbiBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNvdW50cnkgIENvdW50cnkgIEByZWxhdGlvbihmaWVsZHM6IFtjb3VudHJ5SWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQGlkKFtjYW1wYWlnbklkLCBjb3VudHJ5SWRdKQogIEBAbWFwKCJjYW1wYWlnbnRvY291bnRyeSIpCn0KCm1vZGVsIFZhcmlhYmxlIHsKICBpZCAgICAgICAgICBJbnQgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgICAgICAgU3RyaW5nCiAgZGVzY3JpcHRpb24gU3RyaW5nPyBAZGIuVGV4dAogIG1ldGFEYXRhICAgIEpzb24gICAgQGRlZmF1bHQoInt9IikKCiAgY2FtcGFpZ25JZCBJbnQKCiAgY2FtcGFpZ24gQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKCiAgb3B0aW9ucyAgICAgICAgVmFyaWFibGVPcHRpb25bXQogIG9wdEluVmFyaWFibGVzIE9wdEluVmFyaWFibGVbXQp9Cgptb2RlbCBWYXJpYWJsZU9wdGlvbiB7CiAgaWQgICAgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpdGxlICAgICAgIFN0cmluZwogIGRlc2NyaXB0aW9uIFN0cmluZz8gQGRiLlRleHQKICBtZXRhRGF0YSAgICBKc29uICAgIEBkZWZhdWx0KCJ7fSIpCgogIHZhcmlhYmxlSWQgSW50CgogIHZhcmlhYmxlIFZhcmlhYmxlIEByZWxhdGlvbihmaWVsZHM6IFt2YXJpYWJsZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIG9wdEluVmFyaWFibGVzIE9wdEluVmFyaWFibGVbXQp9Cgptb2RlbCBTdGVwIHsKICBpZCAgICAgICAgICBJbnQgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc2x1ZyAgICAgICAgU3RyaW5nICBAdW5pcXVlCiAgdGl0bGUgICAgICAgU3RyaW5nPwogIGRlc2NyaXB0aW9uIFN0cmluZz8gQGRiLlRleHQKICBkYXRhICAgICAgICBKc29uPwoKICBjYW1wYWlnblN0ZXBzIENhbXBhaWduU3RlcFtdCgogIEBAbWFwKCJzdGVwIikKfQoKbW9kZWwgQ2FtcGFpZ25TdGVwIHsKICBpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKSBAaWQKICBwbGFjZW1lbnQgICAgICAgICAgICAgICAgICAgICBJbnQKICBzdGVwU2V0dGluZ3MgICAgICAgICAgICAgICAgICBKc29uPwogIGFjdGlvbmVlICAgICAgICAgICAgICAgICAgICAgIFN0cmluZz8KICBpbnN0cnVjdGlvbnMgICAgICAgICAgICAgICAgICBTdHJpbmc/IEBkYi5UZXh0CiAgY3VzdG9tU3RlcFRpdGxlICAgICAgICAgICAgICAgU3RyaW5nPwogIGN1c3RvbUZvcm0gICAgICAgICAgICAgICAgICAgIEpzb24/CiAgbWV0YURhdGEgICAgICAgICAgICAgICAgICAgICAgSnNvbiBAZGVmYXVsdCgie30iKQogIGNhbXBhaWduSWQgICAgSW50CiAgc3RlcElkICAgICAgICBJbnQ/CgogIGNhbXBhaWduICAgICAgQ2FtcGFpZ24gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBzdGVwICAgICAgICAgIFN0ZXA/ICAgIEByZWxhdGlvbihmaWVsZHM6IFtzdGVwSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGN1cnJlbnRPcHRJbnMgT3B0SW5bXQoKICBvcHRJblN0ZXBzIE9wdEluU3RlcFtdCgogIEBAbWFwKCJjYW1wYWlnbnN0ZXAiKQp9Cgptb2RlbCBPcHRJblN0ZXAgewogIGlkICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjb21wbGV0ZWQgRGF0ZVRpbWU/CiAgZGF0YSAgICAgIEpzb24/CgogIG9wdEluSWQgICAgICAgIEludAogIGNhbXBhaWduU3RlcElkIEludAogIHNvY2lhbFBvc3RJZCAgIEludD8gLy8gdGVtcG9yYXJ5IGZvciBtb3Zpbmcgc2hvdXRvdXREYXRhIHRvIHNvY2lhbFBvc3RzCgogIG9wdEluICAgICAgICBPcHRJbiAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW29wdEluSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnblN0ZXAgQ2FtcGFpZ25TdGVwIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnblN0ZXBJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQoKICBAQG1hcCgib3B0aW5zdGVwIikKfQoKbW9kZWwgQ2F0ZWdvcnkgewogIGlkICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHNsdWcgIFN0cmluZyBAdW5pcXVlCiAgdGl0bGUgU3RyaW5nCgogIGNhbXBhaWducyBDYW1wYWlnblRvQ2F0ZWdvcnlbXQogIGJyYW5kcyAgICBCcmFuZFRvQ2F0ZWdvcnlbXQogIGNyZWF0b3JzICBDcmVhdG9yVG9DYXRlZ29yeVtdCgogIEBAbWFwKCJjYXRlZ29yeSIpCn0KCm1vZGVsIE9wdEluIHsKICBpZCAgICAgICAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc3RhdHVzICAgICAgICAgIFN0cmluZyAgICBAZGVmYXVsdCgicGVuZGluZyIpCiAgY3JlYXRlZCAgICAgICAgIERhdGVUaW1lICBAZGVmYXVsdChub3coKSkKICBhY3RpdmF0ZWQgICAgICAgRGF0ZVRpbWU/CiAgY29tcGxldGVkICAgICAgIERhdGVUaW1lPwogIGNhbmNlbGxlZCAgICAgICBEYXRlVGltZT8KICBjYW5jZWxsZWREYXRhICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgY2FuY2VsUmVxdWVzdGVkIERhdGVUaW1lPwogIHJlaW52aXRlZCAgICAgICBEYXRlVGltZT8KICBzZWVuICAgICAgICAgICAgQm9vbGVhbiAgIEBkZWZhdWx0KGZhbHNlKQogIGluc3RydWN0aW9ucyAgICBTdHJpbmc/ICAgQGRiLlRleHQKICBwYXltZW50QW1vdW50ICAgRmxvYXQ/CiAgcGF5bWVudFN0YXR1cyAgIFN0cmluZyAgICBAZGVmYXVsdCgicGVuZGluZyIpCiAgZXh0cmFEYXRhICAgICAgIEpzb24gICAgICBAZGVmYXVsdCgie30iKQoKICB1c2VySWQgICAgICAgIEludAogIGNhbXBhaWduSWQgICAgSW50CiAgY3VycmVudFN0ZXBJZCBJbnQ/CgogIHVzZXIgICAgICAgIFVzZXIgICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW3VzZXJJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhbXBhaWduICAgIENhbXBhaWduICAgICAgQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjdXJyZW50U3RlcCBDYW1wYWlnblN0ZXA/IEByZWxhdGlvbihmaWVsZHM6IFtjdXJyZW50U3RlcElkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgdmFyaWFibGVzICBPcHRJblZhcmlhYmxlW10KICBvcHRJblN0ZXBzIE9wdEluU3RlcFtdCiAgY2hhdCAgICAgICBDaGF0PwogIGNhbXBhaWduSW52aXRlcyBDYW1wYWlnbkludml0ZVtdCgogIEBAbWFwKCJvcHRpbiIpCn0KCm1vZGVsIE9wdEluVmFyaWFibGUgewogIGlkIEludCBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQoKICBvcHRJbklkICAgICAgICAgIEludAogIHZhcmlhYmxlSWQgICAgICAgSW50CiAgc2VsZWN0ZWRPcHRpb25JZCBJbnQKCiAgb3B0SW4gICAgICAgICAgT3B0SW4gICAgICAgICAgQHJlbGF0aW9uKGZpZWxkczogW29wdEluSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICB2YXJpYWJsZSAgICAgICBWYXJpYWJsZSAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdmFyaWFibGVJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHNlbGVjdGVkT3B0aW9uIFZhcmlhYmxlT3B0aW9uIEByZWxhdGlvbihmaWVsZHM6IFtzZWxlY3RlZE9wdGlvbklkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCn0KCm1vZGVsIFNvY2lhbFBvc3QgewogIGlkICAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHBoeWxsb0lkICAgIFN0cmluZz8gICBAdW5pcXVlCiAgbWV0YURhdGEgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgZGF0YSAgICAgICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpIC8vIERFUFJFQ0FURUQsIFVTRSBtZXRhRGF0YSBpbnN0ZWFkLCBzZWVtcyB0byBiZSBhbiBlcnJvciB3aGVuIGF0dGVtcHRpbmcgdG8gcmVtb3ZlIHRoaXMgZmllbGQsIHByb2FiYWJseSBkdWUgdG8gdGFibGUgc2l6ZQogIGxhc3RGZXRjaGVkIERhdGVUaW1lPwogIGxhc3RXZWJob29rIERhdGVUaW1lPwogIGlzU3RhbGUgICAgIEJvb2xlYW4/IC8vIFRPRE86IHRoaXMgZmllbGQgaXMgaGVyZSBiZWNhdXNlIHByaXNtYSBkb2Vzbid0IHN1cHBvcnQgY29tcGFyaW5nIG9uZSBjb2x1bW4gdG8gYW5vdGhlciwgaWRlYWxseSB3ZSBjb3VsZCBqdXN0IGNoZWNrIGlmIGxhc3RGZXRjaGVkID4gbGFzdFdlYmhvb2sgYnV0IGZvciBub3cgd2UgbmVlZCB0byBjb250cm9sL2NoZWNrIHRoaXMgZmllbGQKCiAgLy8gQkFTSUMgSU5GTwogIHBvc3RlZCAgICAgICAgICAgICBEYXRlVGltZT8KICB0aXRsZSAgICAgICAgICAgICAgU3RyaW5nPyAgIEBkYi5UZXh0CiAgZGVzY3JpcHRpb24gICAgICAgIFN0cmluZz8gICBAZGIuVGV4dAogIHVybCAgICAgICAgICAgICAgICBTdHJpbmc/ICAgQGRiLlZhckNoYXIoMjA4MykKICB1cmxQYXRoICAgICAgICAgICAgU3RyaW5nPyAgIEB1bmlxdWUgLy8gVGhpcyBpcyBoZXJlIHNvIHdlIGhhdmUgc29tZSBleHRlcm5hbCBpZGVudGlmaWVyIHRvIHF1aWNrbHkgc2VhcmNoIGJ5CiAgZm9ybWF0ICAgICAgICAgICAgIFN0cmluZz8KICB0eXBlICAgICAgICAgICAgICAgU3RyaW5nPwogIHBsYXRmb3JtICAgICAgICAgICBTdHJpbmc/CiAgdmlzaWJpbGl0eSAgICAgICAgIFN0cmluZz8KICBpc1Nwb25zb3JlZCAgICAgICAgQm9vbGVhbj8KICBoYXNDb2xsYWJvcmF0b3JzICAgQm9vbGVhbj8KICBpc093bmVkQnlVc2VyICAgICAgQm9vbGVhbj8KICAvLyBNRVRSSUNTCiAgdmlld3MgICAgICAgICAgICAgIEludD8KICBpbXByZXNzaW9ucyAgICAgICAgSW50PwogIGltcHJlc3Npb25zT3JnYW5pYyBJbnQ/CiAgaW1wcmVzc2lvbnNQYWlkICAgIEludD8KICByZWFjaCAgICAgICAgICAgICAgSW50PwogIHJlYWNoT3JnYW5pYyAgICAgICBJbnQ/CiAgcmVhY2hQYWlkICAgICAgICAgIEludD8KICB3YXRjaEhvdXJzICAgICAgICAgRmxvYXQ/CiAgLy8gRU5HQUdFTUVOVCBNRVRSSUNTCiAgbGlrZXMgICAgICAgICAgICAgIEludD8KICBkaXNsaWtlcyAgICAgICAgICAgSW50PwogIGNvbW1lbnRzICAgICAgICAgICBJbnQ/CiAgc2F2ZXMgICAgICAgICAgICAgIEludD8KICBzaGFyZXMgICAgICAgICAgICAgSW50PwoKICB1c2VySWQgICAgIEludD8KICBjYW1wYWlnbklkIEludD8KCiAgdXNlciAgICAgVXNlcj8gICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNhbXBhaWduIENhbXBhaWduPyAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgbGlzdHMgICAgTGlzdFRvU29jaWFsUG9zdFtdCgogIHNvY2lhbFBvc3RUYWdzIFNvY2lhbFBvc3RUYWdbXQoKICBAQGluZGV4KGNhbXBhaWduSWQpCiAgQEBpbmRleChpc1N0YWxlKQogIEBAaW5kZXgodXNlcklkKQogIEBAaW5kZXgocGxhdGZvcm0pCiAgQEBpbmRleCh0eXBlKQogIEBAaW5kZXgoZm9ybWF0KQogIEBAaW5kZXgocG9zdGVkKQogIAogIEBAbWFwKCJzb2NpYWxwb3N0IikKfQoKbW9kZWwgU29jaWFsUG9zdFRhZyB7CiAgaWQgICAgSW50ICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgdGl0bGUgU3RyaW5nCiAgdHlwZSAgU3RyaW5nCgogIHNvY2lhbFBvc3RJZCBJbnQKCiAgc29jaWFsUG9zdCBTb2NpYWxQb3N0IEByZWxhdGlvbihmaWVsZHM6IFtzb2NpYWxQb3N0SWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQGluZGV4KFt0aXRsZSwgdHlwZV0pCiAgQEBtYXAoInNvY2lhbHBvc3R0YWciKQp9Cgptb2RlbCBJbWFnZSB7CiAgaWQgICAgICAgICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHVybCAgICAgICAgICAgICBTdHJpbmcgQGRiLlZhckNoYXIoMjA4MykKICBzaXplICAgICAgICAgICAgU3RyaW5nCiAgY2FtcGFpZ25JbWFnZUlkIEludAoKICBjYW1wYWlnbkltYWdlIENhbXBhaWduVG9JbWFnZSBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JbWFnZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJpbWFnZSIpCn0KCm1vZGVsIEJyYW5kSW1hZ2UgewogIGlkICAgICAgICAgICAgICBJbnQgICBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpIEBpZAogIHVybCAgICAgICAgICAgICBTdHJpbmcgQGRiLlZhckNoYXIoMjA4MykKICBzaXplICAgICAgICAgICAgU3RyaW5nCiAgYnJhbmRJbWFnZUlkICAgIEludAoKICBicmFuZEltYWdlICAgICAgQnJhbmRUb0ltYWdlIEByZWxhdGlvbihmaWVsZHM6IFticmFuZEltYWdlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBAQG1hcCgiYnJhbmRpbWFnZSIpCn0KCm1vZGVsIENvdW50cnkgewogIGlkICAgICAgICAgIEludCAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjb3VudHJ5Q29kZSBTdHJpbmcgIEB1bmlxdWUgQGRiLlZhckNoYXIoMikKICBjb3VudHJ5TmFtZSBTdHJpbmcgIEBkYi5WYXJDaGFyKDUwMCkKICB0ZWxlQ29kZSAgICBTdHJpbmcgIEBkYi5WYXJDaGFyKDEwKQogIHN0YXRlcyAgICAgIFN0YXRlW10KCiAgY2FtcGFpZ25zIENhbXBhaWduVG9Db3VudHJ5W10KCiAgQEBtYXAoImNvdW50cnkiKQp9Cgptb2RlbCBTdGF0ZSB7CiAgaWQgICAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNvdW50cnlJZCBJbnQKICBzdGF0ZUNvZGUgU3RyaW5nIEBkYi5WYXJDaGFyKDUwKQogIHN0YXRlTmFtZSBTdHJpbmcgQGRiLlZhckNoYXIoNTAwKQoKICBjb3VudHJ5IENvdW50cnkgQHJlbGF0aW9uKGZpZWxkczogW2NvdW50cnlJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJzdGF0ZSIpCn0KCm1vZGVsIFBheW1lbnRUcmFuc2FjdGlvbiB7CiAgaWQgICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgYW1vdW50ICAgIEZsb2F0CiAgYmFsYW5jZSAgIEZsb2F0CiAgdHlwZSAgICAgIFN0cmluZwogIGRhdGUgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBub3RlcyAgICAgU3RyaW5nPyAgQGRiLlRleHQKICBtZXRhRGF0YSAgSnNvbiAgICAgQGRlZmF1bHQoInt9IikKICBhY2NvdW50SWQgSW50CgogIGJyYW5kSWQgICAgICAgICAgIEludD8KICBjcmVhdG9ySWQgICAgICAgICBJbnQ/CiAgcHJldlRyYW5zYWN0aW9uSWQgSW50PyBAdW5pcXVlCgogIGJyYW5kICAgICAgICAgICBCcmFuZD8gICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjcmVhdG9yICAgICAgICAgVXNlcj8gICAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY3JlYXRvcklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBwcmV2VHJhbnNhY3Rpb24gUGF5bWVudFRyYW5zYWN0aW9uPyBAcmVsYXRpb24oIlRyYW5zYWN0aW9uSGlzdG9yeSIsIGZpZWxkczogW3ByZXZUcmFuc2FjdGlvbklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBuZXh0VHJhbnNhY3Rpb24gUGF5bWVudFRyYW5zYWN0aW9uPyBAcmVsYXRpb24oIlRyYW5zYWN0aW9uSGlzdG9yeSIpCn0KCm1vZGVsIEJyYW5kQWZmaWxpYXRlTGluayB7CiAgaWQgICAgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjcmVhdGVkICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBkZXNjcmlwdGlvbiBTdHJpbmc/CiAgdXJsUGF0aCAgICAgU3RyaW5nCiAgY29tbWlzc2lvbiAgRmxvYXQgICAgQGRlZmF1bHQoMC4yKQogIG1ldGFEYXRhICAgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGJyYW5kSWQgICAgICAgIEludAogIGFmZmlsaWF0ZUxpbmtzIEFmZmlsaWF0ZUxpbmtbXQoKICBicmFuZCBCcmFuZCBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCn0KCm1vZGVsIEFmZmlsaWF0ZUxpbmsgewogIGlkICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgY3JlYXRlZCAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgbWV0YURhdGEgSnNvbiAgICAgQGRlZmF1bHQoInt9IikKCiAgdXNlcklkICAgICAgICAgICAgICAgSW50CiAgYnJhbmRBZmZpbGlhdGVMaW5rSWQgSW50CiAgYWZmaWxpYXRlQ2xpY2tzICAgICAgQWZmaWxpYXRlQ2xpY2tbXQoKICBhZmZpbGlhdGUgICAgICAgICAgVXNlciAgICAgICAgICAgICAgIEByZWxhdGlvbihmaWVsZHM6IFt1c2VySWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGJyYW5kQWZmaWxpYXRlTGluayBCcmFuZEFmZmlsaWF0ZUxpbmsgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kQWZmaWxpYXRlTGlua0lkXSwgcmVmZXJlbmNlczogW2lkXSkKfQoKbW9kZWwgQWZmaWxpYXRlQ2xpY2sgewogIGlkICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGNyZWF0ZWQgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICB2aXNpdG9ySXAgU3RyaW5nPwogIG1ldGFEYXRhICBKc29uICAgICBAZGVmYXVsdCgie30iKQoKICBhZmZpbGlhdGVMaW5rSWQgSW50CgogIGFmZmlsaWF0ZUxpbmsgIEFmZmlsaWF0ZUxpbmsgICAgQHJlbGF0aW9uKGZpZWxkczogW2FmZmlsaWF0ZUxpbmtJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgYWZmaWxpYXRlRXZlbnQgQWZmaWxpYXRlRXZlbnRbXQp9Cgptb2RlbCBBZmZpbGlhdGVFdmVudCB7CiAgaWQgICAgICAgICAgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBldmVudCAgICAgICAgICAgICBTdHJpbmcgLy8gY2xpY2ssIHB1cmNoYXNlLCBldGMuCiAgY3JlYXRlZCAgICAgICAgICAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgdmlzaXRvcklwICAgICAgICAgU3RyaW5nPwogIHVybFBhdGggICAgICAgICAgIFN0cmluZz8KICByZXZlbnVlICAgICAgICAgICBGbG9hdD8KICBjb21taXNzaW9uQW1vdW50ICBGbG9hdD8KICBjb21taXNzaW9uUGVyY2VudCBGbG9hdD8KICBtZXRhRGF0YSAgICAgICAgICBKc29uICAgICBAZGVmYXVsdCgie30iKQoKICBhZmZpbGlhdGVDbGlja0lkIEludAoKICBhZmZpbGlhdGVDbGljayBBZmZpbGlhdGVDbGljaz8gQHJlbGF0aW9uKGZpZWxkczogW2FmZmlsaWF0ZUNsaWNrSWRdLCByZWZlcmVuY2VzOiBbaWRdKQp9Cgptb2RlbCBTYXZlZEZpbGUgewogIGlkICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICB0aXRsZSAgICAgU3RyaW5nPwogIHR5cGUgICAgICBTdHJpbmc/IC8vIGF1ZGllbmNlLXJlcG9ydCwgc2VhcmNoLWV4cG9ydCwgY2FtcGFpZ24taW52aXRlCiAgdXJsICAgICAgIFN0cmluZz8KICBzYXZlZERhdGUgRGF0ZVRpbWU/CiAgbWV0YURhdGEgIEpzb24/ICAgICBAZGVmYXVsdCgie30iKQoKICBicmFuZElkIEludD8KICBicmFuZCAgIEJyYW5kPyBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCgogIEBAbWFwKCJzYXZlZGZpbGUiKQp9Cgptb2RlbCBDYW1wYWlnbkludml0ZSB7CiAgaWQgICAgICAgICAgICAgICAgSW50IEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkgQGlkCiAgc29jaWFsUHJvZmlsZUlkICAgSW50PyAKICBicmFuZElkICAgICAgICAgICBJbnQKICBjYW1wYWlnbklkICAgICAgICBJbnQ/CiAgb3B0SW5JZCAgICAgICAgICAgSW50PyBAdW5pcXVlCiAgY29kZSAgICAgICAgICAgICAgU3RyaW5nPyBAdW5pcXVlCiAgY3JlYXRlZEF0ICAgICAgICAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgZGVjbGluZURhdGUgICAgICBEYXRlVGltZT8KICBkZWNsaW5lUmVhc29uICAgIFN0cmluZz8gIEBkYi5UZXh0CiAgCiAgbWV0YURhdGEgICAgICAgICAgSnNvbj8gQGRlZmF1bHQoInt9IikKCiAgYnJhbmQgICAgICAgICAgICAgQnJhbmQgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBjYW1wYWlnbiAgICAgICAgICBDYW1wYWlnbj8gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIHNvY2lhbFByb2ZpbGUgICAgIFNvY2lhbFByb2ZpbGU/IEByZWxhdGlvbihmaWVsZHM6IFtzb2NpYWxQcm9maWxlSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG9wdEluICAgICAgICAgICAgIE9wdEluPyBAcmVsYXRpb24oZmllbGRzOiBbb3B0SW5JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgCn0KCm1vZGVsIENyZWF0b3JMaXN0IHsKICBpZCAgICAgICAgIEludCAgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGJyYW5kSWQgICAgSW50CiAgY2FtcGFpZ25JZCBJbnQ/CiAgY3JlYXRlZCAgICBEYXRlVGltZSAgQGRlZmF1bHQobm93KCkpCiAgYXJjaGl2ZWQgICBEYXRlVGltZT8KICB0aXRsZSAgICAgIFN0cmluZwogIG1ldGFEYXRhICAgSnNvbj8gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGNyZWF0b3JzICBDcmVhdG9yTGlzdEl0ZW1bXQogIGJyYW5kICAgICBCcmFuZCAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIGNhbXBhaWduICBDYW1wYWlnbj8gICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbY2FtcGFpZ25JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgc2VxdWVuY2VzIFNlcXVlbmNlW10KCiAgQEBtYXAoImNyZWF0b3JsaXN0IikKfQoKbW9kZWwgQ3JlYXRvckxpc3RJdGVtIHsKICBpZCAgICAgICAgICAgICAgSW50IEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc29jaWFsUHJvZmlsZUlkIEludAogIGNyZWF0b3JMaXN0SWQgICBJbnQKCiAgc2F2ZWQgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIGludml0ZWQgIERhdGVUaW1lPwogIHRhZ3MgICAgIEpzb24/CiAgZmVlZGJhY2sgU3RyaW5nPyAgIEBkYi5UZXh0CiAgYXJjaGl2ZWQgRGF0ZVRpbWU/CiAgbWV0YURhdGEgSnNvbj8gICAgIEBkZWZhdWx0KCJ7fSIpCgogIGNyZWF0b3JMaXN0ICAgQ3JlYXRvckxpc3QgICAgQHJlbGF0aW9uKGZpZWxkczogW2NyZWF0b3JMaXN0SWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICBzb2NpYWxQcm9maWxlIFNvY2lhbFByb2ZpbGU/IEByZWxhdGlvbihmaWVsZHM6IFtzb2NpYWxQcm9maWxlSWRdLCByZWZlcmVuY2VzOiBbaWRdLCBvbkRlbGV0ZTogQ2FzY2FkZSkKICAKICBzZXF1ZW5jZU91dGJvdW5kRW1haWxzICBTZXF1ZW5jZU91dGJvdW5kRW1haWxbXQogIHNlcXVlbmNlSW5ib3VuZEVtYWlscyAgIFNlcXVlbmNlSW5ib3VuZEVtYWlsW10KICBzZXF1ZW5jZUltYXBDaGVja3BvaW50cyBTZXF1ZW5jZUltYXBDaGVja3BvaW50W10KCiAgQEBtYXAoImNyZWF0b3JsaXN0aXRlbSIpCn0KCm1vZGVsIFNvY2lhbFByb2ZpbGUgewogIGlkICAgICAgIEludCAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBzb2NpYWxJZCBTdHJpbmc/IEB1bmlxdWUgLy8gbmVlZCB0byBtYWtlIHN1cmUgdGhpcyBjYW4gbmV2ZXIgb3ZlcmxhcCBhY3Jvc3MgbXVsdGlwbGUgcGxhdGZvcm1zLCB3ZSBzaG91bGQgYXBwZW5kIHRoZSBwbGF0Zm9ybSB0byB0aGUgYmVnaW5uaW5nIHRvIGVuc3VyZSBpdOKAmXMgYWx3YXlzIHVuaXF1ZQogIHVzZXJJZCAgIEludD8gLy8gcmVnaXN0ZXJlZCB1c2VyIGlkLCBpZiBhdmFpbGFibGUKCiAgLy8gc29jaWFsIGRhdGEKICBwbGF0Zm9ybSAgICAgIFN0cmluZwogIHVzZXJuYW1lICAgICAgU3RyaW5nCiAgZnVsbG5hbWUgICAgICBTdHJpbmc/ICBAZGIuVmFyQ2hhcigxMDI0KQogIHByb2ZpbGVVcmwgICAgU3RyaW5nPwogIHByb2ZpbGVQaWNVcmwgU3RyaW5nPyAgQGRiLlZhckNoYXIoMjA4MykgLy8gbmVlZCB0byBzcGVjaWZ5IGxlbmd0aCwgZGVmYXVsdCBzaXplIGlzIHRvbyBzbWFsbAogIGZvbGxvd2VyQ291bnQgSW50PwogIGVuZ2FnZW1lbnQgICAgRmxvYXQ/CiAgYXZnVmlld3MgICAgICBJbnQ/CiAgdmVyaWZpZWQgICAgICBCb29sZWFuPwogIG1ldGFEYXRhICAgICAgSnNvbiAgICAgQGRlZmF1bHQoInt9IikKICBhdWRpZW5jZURhdGEgIEpzb24gICAgIEBkZWZhdWx0KCJ7fSIpCiAgcGh5bGxvRGF0YSAgICBKc29uICAgICBAZGVmYXVsdCgie30iKQoKICBjcmVhdGVkIERhdGVUaW1lICBAZGVmYXVsdChub3coKSkKICB1cGRhdGVkIERhdGVUaW1lPwoKICBjcmVhdG9yTGlzdEl0ZW1zICBDcmVhdG9yTGlzdEl0ZW1bXQogIGNhbXBhaWduSW52aXRlcyAgIENhbXBhaWduSW52aXRlW10KICB1c2VyICAgICAgICAgICAgICBVc2VyPyAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBpbmRleCh1c2VybmFtZSkKICBAQGluZGV4KHVzZXJJZCkKICBAQG1hcCgic29jaWFscHJvZmlsZSIpCn0KCm1vZGVsIE1lc3NhZ2VUZW1wbGF0ZSB7CiAgaWQgICAgICAgSW50ICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIGxhYmVsICAgIFN0cmluZz8KICB0ZW1wbGF0ZSBTdHJpbmcgIEBkYi5UZXh0CiAgYnJhbmRJZCAgSW50PwogIGJyYW5kICAgIEJyYW5kPyAgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIG1ldGFEYXRhIEpzb24gICAgQGRlZmF1bHQoInt9IikgLy8gdG8gc2F2ZSBhbnkgYWRkaXRpb25hbCBkYXRhIHN1Y2ggYXMgdXNlciBkZWZpbmVkIHZhcmlhYmxlcwoKICBAQG1hcCgibWVzc2FnZXRlbXBsYXRlIikKfQoKbW9kZWwgRW1haWxUZW1wbGF0ZSB7CiAgaWQgICAgICAgICBJbnQgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgbGFiZWwgICAgICBTdHJpbmc/CiAgc3ViamVjdCAgICBTdHJpbmc/CiAgdGVtcGxhdGUgICBTdHJpbmcgIEBkYi5UZXh0CiAgYnJhbmRJZCAgICBJbnQ/CiAgCiAgYnJhbmQgICAgICBCcmFuZD8gIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSkKICBtZXRhRGF0YSAgIEpzb24gICAgQGRlZmF1bHQoInt9IikgLy8gdG8gc2F2ZSBhbnkgYWRkaXRpb25hbCBkYXRhIHN1Y2ggYXMgdXNlciBkZWZpbmVkIHZhcmlhYmxlcwoKICBzZXF1ZW5jZVN0ZXBzICAgU2VxdWVuY2VTdGVwW10KfQoKbW9kZWwgU29jaWFsTGlzdGVuaW5nTGlzdCB7CiAgaWQgICAgICAgICBJbnQgICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBicmFuZElkICAgIEludAogIGNhbXBhaWduSWQgSW50PyAgICAgIEB1bmlxdWUgLy8gb3B0aW9uYWxseSBsaW5rZWQgdG8gYSBjYW1wYWlnbgogIGNyZWF0ZWQgICAgRGF0ZVRpbWUgIEBkZWZhdWx0KG5vdygpKQogIHVwZGF0ZWQgICAgRGF0ZVRpbWU/CiAgdGl0bGUgICAgICBTdHJpbmcKICBwb3N0VHlwZSAgIFN0cmluZyAvLyBzcG9uc29yZWQgcG9zdHMsIHRvcCBwb3N0cywgb3IgcmVjZW50IHBvc3RzCiAgZmlsdGVycyAgICBKc29uPyAgICAgQGRlZmF1bHQoInt9IikgLy8gZmlsdGVycyB0byBzZWFyY2ggcG9zdHMgYnkgKGxvY2F0aW9uLCBkYXRlLCBoYXNodGFncywgbWVudGlvbnMsIGV0Yy4pCgogIGxhc3RGZXRjaGVkIERhdGVUaW1lPyAvLyBsYXN0IHRpbWUgcG9zdHMgd2VyZSBmZXRjaGVkCgogIGJyYW5kIEJyYW5kICAgICAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbYnJhbmRJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHBvc3RzIExpc3RUb1NvY2lhbFBvc3RbXQoKICBAQG1hcCgic29jaWFsbGlzdGVuaW5nbGlzdCIpCn0KCm1vZGVsIExpc3RUb1NvY2lhbFBvc3QgewogIGlkICAgICBJbnQgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBsaXN0SWQgSW50CiAgcG9zdElkIEludAoKICBsaXN0ICAgICAgIFNvY2lhbExpc3RlbmluZ0xpc3QgQHJlbGF0aW9uKGZpZWxkczogW2xpc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0sIG9uRGVsZXRlOiBDYXNjYWRlKQogIHNvY2lhbFBvc3QgU29jaWFsUG9zdCAgICAgICAgICBAcmVsYXRpb24oZmllbGRzOiBbcG9zdElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCgogIEBAbWFwKCJsaXN0dG9zb2NpYWxwb3N0IikKfQoKbW9kZWwgT3B0SW5WaWV3IHsKICBpZCAgICAgIEludCAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHRpdGxlICAgU3RyaW5nCiAgZmlsdGVycyBKc29uICAgQGRlZmF1bHQoInt9IikKCiAgY2FtcGFpZ25JZCBJbnQ/CiAgY2FtcGFpZ24gICBDYW1wYWlnbj8gQHJlbGF0aW9uKGZpZWxkczogW2NhbXBhaWduSWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQG1hcCgib3B0aW52aWV3IikKfQoKbW9kZWwgUmFrdXRlbkFjdGl2aXR5IHsKICBpZCAgICAgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBvcmRlcklkICAgICAgU3RyaW5nPwogIG1ldGFEYXRhICAgICBKc29uICAgICBAZGVmYXVsdCgie30iKQogIGNyZWF0ZWQgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBjbGlja3MgICAgICAgSW50PwogIG9yZGVycyAgICAgICBJbnQ/CiAgc2FsZXMgICAgICAgIEZsb2F0PwogIGNvbW1pc3Npb24gICBGbG9hdD8KICBhZHZlcnRpc2VySWQgSW50PwoKICB1c2VySWQgSW50CgogIHVzZXIgVXNlciBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInJha3V0ZW5hY3Rpdml0eSIpCn0KbW9kZWwgSW1wYWN0UmFkaXVzRXZlbnQgewogIGlkICAgICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHR5cGUgICAgICAgICBTdHJpbmcgIC8vIGFjdGlvbi9jbGljawogIGNyZWF0ZWQgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBhbW91bnQgICAgICAgRmxvYXQ/CiAgY29tbWlzc2lvbiAgIEZsb2F0PwogIG1ldGFEYXRhICAgICBKc29uICAgICBAZGVmYXVsdCgie30iKQoKICB1c2VySWQgSW50CiAgYnJhbmRJZCBJbnQ/CgogIHVzZXIgVXNlciBAcmVsYXRpb24oZmllbGRzOiBbdXNlcklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBicmFuZCBCcmFuZD8gQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQp9Cgptb2RlbCBDcmVhdG9yU2VhcmNoRmlsdGVyIHsKICBpZCAgICAgICAgSW50ICAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgYnJhbmRJZCAgIEludAogIHRpdGxlICAgICBTdHJpbmcKICBmaWx0ZXJzICAgSnNvbiAgICAgIEBkZWZhdWx0KCJ7fSIpCiAgY3JlYXRlZEF0IERhdGVUaW1lICBAZGVmYXVsdChub3coKSkKICB1cGRhdGVkQXQgRGF0ZVRpbWU/CiAgYnJhbmQgICAgIEJyYW5kIEByZWxhdGlvbihmaWVsZHM6IFticmFuZElkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgQEBtYXAoImNyZWF0b3JzZWFyY2hmaWx0ZXIiKQp9Cgptb2RlbCBTZXF1ZW5jZSB7CiAgaWQgICAgICAgICAgICAgICAgSW50ICAgICAgQGlkIEBkZWZhdWx0KGF1dG9pbmNyZW1lbnQoKSkKICBjYW1wYWlnbklkICAgICAgICBJbnQKICBjcmVhdG9yTGlzdElkICAgICBJbnQKICB0aXRsZSAgICAgICAgICAgICBTdHJpbmcgICBAZGIuVmFyQ2hhcigyNTUpCiAgY3JlYXRlZEF0ICAgICAgICAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgY29tcGxldGVkICAgICAgICAgQm9vbGVhbiAgQGRlZmF1bHQoZmFsc2UpCiAgYnJhbmRJZCAgICAgICAgICAgSW50CiAgZW5hYmxlZCAgICAgICAgICAgQm9vbGVhbiAgQGRlZmF1bHQoZmFsc2UpCgogIGNhbXBhaWduICAgICAgICAgIENhbXBhaWduIEByZWxhdGlvbihmaWVsZHM6IFtjYW1wYWlnbklkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjcmVhdG9yTGlzdCAgICAgICBDcmVhdG9yTGlzdCBAcmVsYXRpb24oZmllbGRzOiBbY3JlYXRvckxpc3RJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgYnJhbmQgICAgICAgICAgICAgQnJhbmQgQHJlbGF0aW9uKGZpZWxkczogW2JyYW5kSWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBzdGVwcyAgICAgICAgICAgICBTZXF1ZW5jZVN0ZXBbXQogIG91dGJvdW5kRW1haWxzICAgIFNlcXVlbmNlT3V0Ym91bmRFbWFpbFtdCiAgaW5ib3VuZEVtYWlscyAgICAgU2VxdWVuY2VJbmJvdW5kRW1haWxbXQogIGltYXBDaGVja3BvaW50cyAgIFNlcXVlbmNlSW1hcENoZWNrcG9pbnRbXQoKICBAQG1hcCgic2VxdWVuY2UiKQp9Cgptb2RlbCBTZXF1ZW5jZVN0ZXAgewogIGlkICAgICAgICAgICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc2VxdWVuY2VJZCAgICAgICAgSW50CiAgY3JlYXRlZEF0ICAgICAgICAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCiAgZW1haWxUZW1wbGF0ZUlkICAgSW50CiAgZGF5c0FmdGVyUHJldmlvdXMgSW50CiAgb3JkZXIgICAgICAgICAgICAgSW50CiAgc3RlcElkICAgICAgICAgICAgSW50CgogIHNlcXVlbmNlICAgICAgICAgIFNlcXVlbmNlIEByZWxhdGlvbihmaWVsZHM6IFtzZXF1ZW5jZUlkXSwgcmVmZXJlbmNlczogW2lkXSwgb25EZWxldGU6IENhc2NhZGUpCiAgZW1haWxUZW1wbGF0ZSAgICAgRW1haWxUZW1wbGF0ZSBAcmVsYXRpb24oZmllbGRzOiBbZW1haWxUZW1wbGF0ZUlkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgb3V0Ym91bmRFbWFpbHMgIFNlcXVlbmNlT3V0Ym91bmRFbWFpbFtdCgogIEBAbWFwKCJzZXF1ZW5jZXN0ZXAiKQp9Cgptb2RlbCBTZXF1ZW5jZU91dGJvdW5kRW1haWwgewogIGlkICAgICAgICAgICAgICAgIEludCAgICAgIEBpZCBAZGVmYXVsdChhdXRvaW5jcmVtZW50KCkpCiAgc2VxdWVuY2VJZCAgICAgICAgSW50CiAgY3JlYXRvckxpc3RJdGVtSWQgSW50CiAgc2VxdWVuY2VTdGVwSWQgICAgSW50CiAgc2VudEF0ICAgICAgICAgICAgRGF0ZVRpbWUgQGRlZmF1bHQobm93KCkpCgogIHNlcXVlbmNlICAgICAgU2VxdWVuY2UgQHJlbGF0aW9uKGZpZWxkczogW3NlcXVlbmNlSWRdLCByZWZlcmVuY2VzOiBbaWRdKQogIGNyZWF0b3JMaXN0ICAgQ3JlYXRvckxpc3RJdGVtIEByZWxhdGlvbihmaWVsZHM6IFtjcmVhdG9yTGlzdEl0ZW1JZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgc2VxdWVuY2VTdGVwICBTZXF1ZW5jZVN0ZXAgQHJlbGF0aW9uKGZpZWxkczogW3NlcXVlbmNlU3RlcElkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBtYXAoInNlcXVlbmNlb3V0Ym91bmRlbWFpbCIpCn0KCm1vZGVsIFNlcXVlbmNlSW5ib3VuZEVtYWlsIHsKICBpZCAgICAgICAgICAgICAgICBJbnQgICAgICBAaWQgQGRlZmF1bHQoYXV0b2luY3JlbWVudCgpKQogIHNlcXVlbmNlSWQgICAgICAgIEludAogIGNyZWF0b3JMaXN0SXRlbUlkIEludAogIHJlY2VpdmVkQXQgICAgICAgIERhdGVUaW1lIEBkZWZhdWx0KG5vdygpKQogIG1zZ0hhc2ggICAgICAgICAgIFN0cmluZwoKICBzZXF1ZW5jZSAgICAgIFNlcXVlbmNlIEByZWxhdGlvbihmaWVsZHM6IFtzZXF1ZW5jZUlkXSwgcmVmZXJlbmNlczogW2lkXSkKICBjcmVhdG9yTGlzdElkIENyZWF0b3JMaXN0SXRlbSBAcmVsYXRpb24oZmllbGRzOiBbY3JlYXRvckxpc3RJdGVtSWRdLCByZWZlcmVuY2VzOiBbaWRdKQoKICBAQG1hcCgic2VxdWVuY2VpbmJvdW5kZW1haWwiKQp9Cgptb2RlbCBTZXF1ZW5jZUltYXBDaGVja3BvaW50IHsKICBzZXF1ZW5jZUlkICAgICAgICBJbnQKICBjcmVhdG9yTGlzdEl0ZW1JZCBJbnQKICBsYXN0UmVhZE1zZ0RhdGUgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICBjcmVhdGVkQXQgICAgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKICB1cGRhdGVkQXQgICAgICAgICBEYXRlVGltZSBAZGVmYXVsdChub3coKSkKCiAgc2VxdWVuY2UgICAgICBTZXF1ZW5jZSBAcmVsYXRpb24oZmllbGRzOiBbc2VxdWVuY2VJZF0sIHJlZmVyZW5jZXM6IFtpZF0pCiAgY3JlYXRvckxpc3RJZCBDcmVhdG9yTGlzdEl0ZW0gQHJlbGF0aW9uKGZpZWxkczogW2NyZWF0b3JMaXN0SXRlbUlkXSwgcmVmZXJlbmNlczogW2lkXSkKCiAgQEBpZChbc2VxdWVuY2VJZCwgY3JlYXRvckxpc3RJdGVtSWRdKQogIEBAbWFwKCJzZXF1ZW5jZWltYXBjaGVja3BvaW50IikKfQ==",
1286
+ "inlineSchemaHash": "6db706dbdd21cdae476bd7c0a33de53cb9796d37993ae11f18ca30bea63b21a7",
1287
1287
  "noEngine": false
1288
1288
  }
1289
1289
 
package/package.json CHANGED
@@ -5,5 +5,5 @@
5
5
  "browser": "index-browser.js",
6
6
  "sideEffects": false,
7
7
  "description": "Prisma client for creatorco Database",
8
- "version": "1.0.15-alpha-9e76a4a"
8
+ "version": "1.0.15-alpha-2abb938"
9
9
  }
package/schema.prisma CHANGED
@@ -752,6 +752,7 @@ model SocialPost {
752
752
  @@index(platform)
753
753
  @@index(type)
754
754
  @@index(format)
755
+ @@index(posted)
755
756
 
756
757
  @@map("socialpost")
757
758
  }