blob: 6b6a7efef1fba5f376ed6c0df0548daeb79d74c9 [file] [log] [blame]
{"remainingRequest":"/Users/jaslan/Development/nifi-fds/angular-url-loader.js!/Users/jaslan/Development/nifi-fds/node_modules/babel-loader/lib/index.js??ref--5-2!/Users/jaslan/Development/nifi-fds/platform/core/common/services/fds-storage.service.js","dependencies":[{"path":"/Users/jaslan/Development/nifi-fds/platform/core/common/services/fds-storage.service.js","mtime":1562689731033},{"path":"/Users/jaslan/Development/nifi-fds/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/Users/jaslan/Development/nifi-fds/angular-url-loader.js","mtime":1562689731025},{"path":"/Users/jaslan/Development/nifi-fds/node_modules/babel-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:dmFyIGNvdl9jZ2RhbGJmcm0gPSBmdW5jdGlvbiAoKSB7CiAgdmFyIHBhdGggPSAiL1VzZXJzL2phc2xhbi9EZXZlbG9wbWVudC9uaWZpLWZkcy9wbGF0Zm9ybS9jb3JlL2NvbW1vbi9zZXJ2aWNlcy9mZHMtc3RvcmFnZS5zZXJ2aWNlLmpzIjsKICB2YXIgaGFzaCA9ICI2ODhmN2QyZmVjMDQ3YjY5ZWEwNzEwMzQ1OGY2YzcxOWJkOTBiNDZhIjsKICB2YXIgZ2xvYmFsID0gbmV3IEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCk7CiAgdmFyIGdjdiA9ICJfX2NvdmVyYWdlX18iOwogIHZhciBjb3ZlcmFnZURhdGEgPSB7CiAgICBwYXRoOiAiL1VzZXJzL2phc2xhbi9EZXZlbG9wbWVudC9uaWZpLWZkcy9wbGF0Zm9ybS9jb3JlL2NvbW1vbi9zZXJ2aWNlcy9mZHMtc3RvcmFnZS5zZXJ2aWNlLmpzIiwKICAgIHN0YXRlbWVudE1hcDogewogICAgICAiMCI6IHsKICAgICAgICBzdGFydDogewogICAgICAgICAgbGluZTogMTksCiAgICAgICAgICBjb2x1bW46IDIzCiAgICAgICAgfSwKICAgICAgICBlbmQ6IHsKICAgICAgICAgIGxpbmU6IDE5LAogICAgICAgICAgY29sdW1uOiAzMQogICAgICAgIH0KICAgICAgfSwKICAgICAgIjEiOiB7CiAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgIGxpbmU6IDIwLAogICAgICAgICAgY29sdW1uOiAxNwogICAgICAgIH0sCiAgICAgICAgZW5kOiB7CiAgICAgICAgICBsaW5lOiAyMCwKICAgICAgICAgIGNvbHVtbjogMzUKICAgICAgICB9CiAgICAgIH0sCiAgICAgICIyIjogewogICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICBsaW5lOiAyMiwKICAgICAgICAgIGNvbHVtbjogMjAKICAgICAgICB9LAogICAgICAgIGVuZDogewogICAgICAgICAgbGluZTogMjQsCiAgICAgICAgICBjb2x1bW46IDEKICAgICAgICB9CiAgICAgIH0sCiAgICAgICIzIjogewogICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICBsaW5lOiAyMywKICAgICAgICAgIGNvbHVtbjogNAogICAgICAgIH0sCiAgICAgICAgZW5kOiB7CiAgICAgICAgICBsaW5lOiAyMywKICAgICAgICAgIGNvbHVtbjogMzgKICAgICAgICB9CiAgICAgIH0sCiAgICAgICI0IjogewogICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICBsaW5lOiAyNiwKICAgICAgICAgIGNvbHVtbjogMTUKICAgICAgICB9LAogICAgICAgIGVuZDogewogICAgICAgICAgbGluZTogMjgsCiAgICAgICAgICBjb2x1bW46IDEKICAgICAgICB9CiAgICAgIH0sCiAgICAgICI1IjogewogICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICBsaW5lOiAyNywKICAgICAgICAgIGNvbHVtbjogNAogICAgICAgIH0sCiAgICAgICAgZW5kOiB7CiAgICAgICAgICBsaW5lOiAyNywKICAgICAgICAgIGNvbHVtbjogMjQKICAgICAgICB9CiAgICAgIH0sCiAgICAgICI2IjogewogICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICBsaW5lOiAzMCwKICAgICAgICAgIGNvbHVtbjogMjgKICAgICAgICB9LAogICAgICAgIGVuZDogewogICAgICAgICAgbGluZTogMzIsCiAgICAgICAgICBjb2x1bW46IDEKICAgICAgICB9CiAgICAgIH0sCiAgICAgICI3IjogewogICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICBsaW5lOiAzMSwKICAgICAgICAgIGNvbHVtbjogNAogICAgICAgIH0sCiAgICAgICAgZW5kOiB7CiAgICAgICAgICBsaW5lOiAzMSwKICAgICAgICAgIGNvbHVtbjogNDUKICAgICAgICB9CiAgICAgIH0sCiAgICAgICI4IjogewogICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICBsaW5lOiA0MCwKICAgICAgICAgIGNvbHVtbjogMjQKICAgICAgICB9LAogICAgICAgIGVuZDogewogICAgICAgICAgbGluZTogNTAsCiAgICAgICAgICBjb2x1bW46IDEKICAgICAgICB9CiAgICAgIH0sCiAgICAgICI5IjogewogICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICBsaW5lOiA0MSwKICAgICAgICAgIGNvbHVtbjogNAogICAgICAgIH0sCiAgICAgICAgZW5kOiB7CiAgICAgICAgICBsaW5lOiA0OCwKICAgICAgICAgIGNvbHVtbjogNQogICAgICAgIH0KICAgICAgfSwKICAgICAgIjEwIjogewogICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICBsaW5lOiA0MywKICAgICAgICAgIGNvbHVtbjogMjQKICAgICAgICB9LAogICAgICAgIGVuZDogewogICAgICAgICAgbGluZTogNDMsCiAgICAgICAgICBjb2x1bW46IDQ3CiAgICAgICAgfQogICAgICB9LAogICAgICAiMTEiOiB7CiAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgIGxpbmU6IDQ0LAogICAgICAgICAgY29sdW1uOiAyMAogICAgICAgIH0sCiAgICAgICAgZW5kOiB7CiAgICAgICAgICBsaW5lOiA0NCwKICAgICAgICAgIGNvbHVtbjogMzAKICAgICAgICB9CiAgICAgIH0sCiAgICAgICIxMiI6IHsKICAgICAgICBzdGFydDogewogICAgICAgICAgbGluZTogNDcsCiAgICAgICAgICBjb2x1bW46IDgKICAgICAgICB9LAogICAgICAgIGVuZDogewogICAgICAgICAgbGluZTogNDcsCiAgICAgICAgICBjb2x1bW46IDQ5CiAgICAgICAgfQogICAgICB9LAogICAgICAiMTMiOiB7CiAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgIGxpbmU6IDQ5LAogICAgICAgICAgY29sdW1uOiA0CiAgICAgICAgfSwKICAgICAgICBlbmQ6IHsKICAgICAgICAgIGxpbmU6IDQ5LAogICAgICAgICAgY29sdW1uOiAxNwogICAgICAgIH0KICAgICAgfSwKICAgICAgIjE0IjogewogICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICBsaW5lOiA1NywKICAgICAgICAgIGNvbHVtbjogMTcKICAgICAgICB9LAogICAgICAgIGVuZDogewogICAgICAgICAgbGluZTogNzAsCiAgICAgICAgICBjb2x1bW46IDEKICAgICAgICB9CiAgICAgIH0sCiAgICAgICIxNSI6IHsKICAgICAgICBzdGFydDogewogICAgICAgICAgbGluZTogNTgsCiAgICAgICAgICBjb2x1bW46IDQKICAgICAgICB9LAogICAgICAgIGVuZDogewogICAgICAgICAgbGluZTogNjksCiAgICAgICAgICBjb2x1bW46IDUKICAgICAgICB9CiAgICAgIH0sCiAgICAgICIxNiI6IHsKICAgICAgICBzdGFydDogewogICAgICAgICAgbGluZTogNjAsCiAgICAgICAgICBjb2x1bW46IDIyCiAgICAgICAgfSwKICAgICAgICBlbmQ6IHsKICAgICAgICAgIGxpbmU6IDYwLAogICAgICAgICAgY29sdW1uOiA1OQogICAgICAgIH0KICAgICAgfSwKICAgICAgIjE3IjogewogICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICBsaW5lOiA2MywKICAgICAgICAgIGNvbHVtbjogOAogICAgICAgIH0sCiAgICAgICAgZW5kOiB7CiAgICAgICAgICBsaW5lOiA2NSwKICAgICAgICAgIGNvbHVtbjogOQogICAgICAgIH0KICAgICAgfSwKICAgICAgIjE4IjogewogICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICBsaW5lOiA2NCwKICAgICAgICAgIGNvbHVtbjogMTIKICAgICAgICB9LAogICAgICAgIGVuZDogewogICAgICAgICAgbGluZTogNjQsCiAgICAgICAgICBjb2x1bW46IDI1CiAgICAgICAgfQogICAgICB9LAogICAgICAiMTkiOiB7CiAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgIGxpbmU6IDY2LAogICAgICAgICAgY29sdW1uOiA4CiAgICAgICAgfSwKICAgICAgICBlbmQ6IHsKICAgICAgICAgIGxpbmU6IDY2LAogICAgICAgICAgY29sdW1uOiAyMAogICAgICAgIH0KICAgICAgfSwKICAgICAgIjIwIjogewogICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICBsaW5lOiA2OCwKICAgICAgICAgIGNvbHVtbjogOAogICAgICAgIH0sCiAgICAgICAgZW5kOiB7CiAgICAgICAgICBsaW5lOiA2OCwKICAgICAgICAgIGNvbHVtbjogMjAKICAgICAgICB9CiAgICAgIH0sCiAgICAgICIyMSI6IHsKICAgICAgICBzdGFydDogewogICAgICAgICAgbGluZTogNzksCiAgICAgICAgICBjb2x1bW46IDAKICAgICAgICB9LAogICAgICAgIGVuZDogewogICAgICAgICAgbGluZTogMjE0LAogICAgICAgICAgY29sdW1uOiAyCiAgICAgICAgfQogICAgICB9LAogICAgICAiMjIiOiB7CiAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgIGxpbmU6IDg2LAogICAgICAgICAgY29sdW1uOiA4CiAgICAgICAgfSwKICAgICAgICBlbmQ6IHsKICAgICAgICAgIGxpbmU6IDk2LAogICAgICAgICAgY29sdW1uOiA5CiAgICAgICAgfQogICAgICB9LAogICAgICAiMjMiOiB7CiAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgIGxpbmU6IDg2LAogICAgICAgICAgY29sdW1uOiAyMQogICAgICAgIH0sCiAgICAgICAgZW5kOiB7CiAgICAgICAgICBsaW5lOiA4NiwKICAgICAgICAgIGNvbHVtbjogMjIKICAgICAgICB9CiAgICAgIH0sCiAgICAgICIyNCI6IHsKICAgICAgICBzdGFydDogewogICAgICAgICAgbGluZTogODcsCiAgICAgICAgICBjb2x1bW46IDEyCiAgICAgICAgfSwKICAgICAgICBlbmQ6IHsKICAgICAgICAgIGxpbmU6IDk1LAogICAgICAgICAgY29sdW1uOiAxMwogICAgICAgIH0KICAgICAgfSwKICAgICAgIjI1IjogewogICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICBsaW5lOiA4OSwKICAgICAgICAgIGNvbHVtbjogMjgKICAgICAgICB9LAogICAgICAgIGVuZDogewogICAgICAgICAgbGluZTogODksCiAgICAgICAgICBjb2x1bW46IDQ3CiAgICAgICAgfQogICAgICB9LAogICAgICAiMjYiOiB7CiAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgIGxpbmU6IDkyLAogICAgICAgICAgY29sdW1uOiAxNgogICAgICAgIH0sCiAgICAgICAgZW5kOiB7CiAgICAgICAgICBsaW5lOiA5MiwKICAgICAgICAgIGNvbHVtbjogMzQKICAgICAgICB9CiAgICAgIH0sCiAgICAgICIyNyI6IHsKICAgICAgICBzdGFydDogewogICAgICAgICAgbGluZTogMTA4LAogICAgICAgICAgY29sdW1uOiA4CiAgICAgICAgfSwKICAgICAgICBlbmQ6IHsKICAgICAgICAgIGxpbmU6IDEwOCwKICAgICAgICAgIGNvbHVtbjogOTEKICAgICAgICB9CiAgICAgIH0sCiAgICAgICIyOCI6IHsKICAgICAgICBzdGFydDogewogICAgICAgICAgbGluZTogMTExLAogICAgICAgICAgY29sdW1uOiAyMgogICAgICAgIH0sCiAgICAgICAgZW5kOiB7CiAgICAgICAgICBsaW5lOiAxMTQsCiAgICAgICAgICBjb2x1bW46IDkKICAgICAgICB9CiAgICAgIH0sCiAgICAgICIyOSI6IHsKICAgICAgICBzdGFydDogewogICAgICAgICAgbGluZTogMTE3LAogICAgICAgICAgY29sdW1uOiA4CiAgICAgICAgfSwKICAgICAgICBlbmQ6IHsKICAgICAgICAgIGxpbmU6IDExNywKICAgICAgICAgIGNvbHVtbjogNTcKICAgICAgICB9CiAgICAgIH0sCiAgICAgICIzMCI6IHsKICAgICAgICBzdGFydDogewogICAgICAgICAgbGluZTogMTI4LAogICAgICAgICAgY29sdW1uOiA4CiAgICAgICAgfSwKICAgICAgICBlbmQ6IHsKICAgICAgICAgIGxpbmU6IDEyOCwKICAgICAgICAgIGNvbHVtbjogMzgKICAgICAgICB9CiAgICAgIH0sCiAgICAgICIzMSI6IHsKICAgICAgICBzdGFydDogewogICAgICAgICAgbGluZTogMTM5LAogICAgICAgICAgY29sdW1uOiAyMgogICAgICAgIH0sCiAgICAgICAgZW5kOiB7CiAgICAgICAgICBsaW5lOiAxMzksCiAgICAgICAgICBjb2x1bW46IDM1CiAgICAgICAgfQogICAgICB9LAogICAgICAiMzIiOiB7CiAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgIGxpbmU6IDE0MCwKICAgICAgICAgIGNvbHVtbjogOAogICAgICAgIH0sCiAgICAgICAgZW5kOiB7CiAgICAgICAgICBsaW5lOiAxNDIsCiAgICAgICAgICBjb2x1bW46IDkKICAgICAgICB9CiAgICAgIH0sCiAgICAgICIzMyI6IHsKICAgICAgICBzdGFydDogewogICAgICAgICAgbGluZTogMTQxLAogICAgICAgICAgY29sdW1uOiAxMgogICAgICAgIH0sCiAgICAgICAgZW5kOiB7CiAgICAgICAgICBsaW5lOiAxNDEsCiAgICAgICAgICBjb2x1bW46IDI0CiAgICAgICAgfQogICAgICB9LAogICAgICAiMzQiOiB7CiAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgIGxpbmU6IDE0NSwKICAgICAgICAgIGNvbHVtbjogOAogICAgICAgIH0sCiAgICAgICAgZW5kOiB7CiAgICAgICAgICBsaW5lOiAxNDgsCiAgICAgICAgICBjb2x1bW46IDkKICAgICAgICB9CiAgICAgIH0sCiAgICAgICIzNSI6IHsKICAgICAgICBzdGFydDogewogICAgICAgICAgbGluZTogMTQ2LAogICAgICAgICAgY29sdW1uOiAxMgogICAgICAgIH0sCiAgICAgICAgZW5kOiB7CiAgICAgICAgICBsaW5lOiAxNDYsCiAgICAgICAgICBjb2x1bW46IDMzCiAgICAgICAgfQogICAgICB9LAogICAgICAiMzYiOiB7CiAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgIGxpbmU6IDE0NywKICAgICAgICAgIGNvbHVtbjogMTIKICAgICAgICB9LAogICAgICAgIGVuZDogewogICAgICAgICAgbGluZTogMTQ3LAogICAgICAgICAgY29sdW1uOiAyNAogICAgICAgIH0KICAgICAgfSwKICAgICAgIjM3IjogewogICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICBsaW5lOiAxNTEsCiAgICAgICAgICBjb2x1bW46IDgKICAgICAgICB9LAogICAgICAgIGVuZDogewogICAgICAgICAgbGluZTogMTUzLAogICAgICAgICAgY29sdW1uOiA5CiAgICAgICAgfQogICAgICB9LAogICAgICAiMzgiOiB7CiAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgIGxpbmU6IDE1MiwKICAgICAgICAgIGNvbHVtbjogMTIKICAgICAgICB9LAogICAgICAgIGVuZDogewogICAgICAgICAgbGluZTogMTUyLAogICAgICAgICAgY29sdW1uOiAzMwogICAgICAgIH0KICAgICAgfSwKICAgICAgIjM5IjogewogICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICBsaW5lOiAxNTUsCiAgICAgICAgICBjb2x1bW46IDgKICAgICAgICB9LAogICAgICAgIGVuZDogewogICAgICAgICAgbGluZTogMTU1LAogICAgICAgICAgY29sdW1uOiAyMAogICAgICAgIH0KICAgICAgfSwKICAgICAgIjQwIjogewogICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICBsaW5lOiAxNjYsCiAgICAgICAgICBjb2x1bW46IDIyCiAgICAgICAgfSwKICAgICAgICBlbmQ6IHsKICAgICAgICAgIGxpbmU6IDE2NiwKICAgICAgICAgIGNvbHVtbjogMzUKICAgICAgICB9CiAgICAgIH0sCiAgICAgICI0MSI6IHsKICAgICAgICBzdGFydDogewogICAgICAgICAgbGluZTogMTY3LAogICAgICAgICAgY29sdW1uOiA4CiAgICAgICAgfSwKICAgICAgICBlbmQ6IHsKICAgICAgICAgIGxpbmU6IDE2OSwKICAgICAgICAgIGNvbHVtbjogOQogICAgICAgIH0KICAgICAgfSwKICAgICAgIjQyIjogewogICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICBsaW5lOiAxNjgsCiAgICAgICAgICBjb2x1bW46IDEyCiAgICAgICAgfSwKICAgICAgICBlbmQ6IHsKICAgICAgICAgIGxpbmU6IDE2OCwKICAgICAgICAgIGNvbHVtbjogMjQKICAgICAgICB9CiAgICAgIH0sCiAgICAgICI0MyI6IHsKICAgICAgICBzdGFydDogewogICAgICAgICAgbGluZTogMTcyLAogICAgICAgICAgY29sdW1uOiA4CiAgICAgICAgfSwKICAgICAgICBlbmQ6IHsKICAgICAgICAgIGxpbmU6IDE3NCwKICAgICAgICAgIGNvbHVtbjogOQogICAgICAgIH0KICAgICAgfSwKICAgICAgIjQ0IjogewogICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICBsaW5lOiAxNzMsCiAgICAgICAgICBjb2x1bW46IDEyCiAgICAgICAgfSwKICAgICAgICBlbmQ6IHsKICAgICAgICAgIGxpbmU6IDE3MywKICAgICAgICAgIGNvbHVtbjogMzYKICAgICAgICB9CiAgICAgIH0sCiAgICAgICI0NSI6IHsKICAgICAgICBzdGFydDogewogICAgICAgICAgbGluZTogMTc2LAogICAgICAgICAgY29sdW1uOiA4CiAgICAgICAgfSwKICAgICAgICBlbmQ6IHsKICAgICAgICAgIGxpbmU6IDE3NiwKICAgICAgICAgIGNvbHVtbjogMjAKICAgICAgICB9CiAgICAgIH0sCiAgICAgICI0NiI6IHsKICAgICAgICBzdGFydDogewogICAgICAgICAgbGluZTogMTg3LAogICAgICAgICAgY29sdW1uOiA4CiAgICAgICAgfSwKICAgICAgICBlbmQ6IHsKICAgICAgICAgIGxpbmU6IDIwMSwKICAgICAgICAgIGNvbHVtbjogOQogICAgICAgIH0KICAgICAgfSwKICAgICAgIjQ3IjogewogICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICBsaW5lOiAxODgsCiAgICAgICAgICBjb2x1bW46IDI5CiAgICAgICAgfSwKICAgICAgICBlbmQ6IHsKICAgICAgICAgIGxpbmU6IDE4OCwKICAgICAgICAgIGNvbHVtbjogNDQKICAgICAgICB9CiAgICAgIH0sCiAgICAgICI0OCI6IHsKICAgICAgICBzdGFydDogewogICAgICAgICAgbGluZTogMTg5LAogICAgICAgICAgY29sdW1uOiAxMgogICAgICAgIH0sCiAgICAgICAgZW5kOiB7CiAgICAgICAgICBsaW5lOiAxOTEsCiAgICAgICAgICBjb2x1bW46IDEzCiAgICAgICAgfQogICAgICB9LAogICAgICAiNDkiOiB7CiAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgIGxpbmU6IDE5MCwKICAgICAgICAgIGNvbHVtbjogMTYKICAgICAgICB9LAogICAgICAgIGVuZDogewogICAgICAgICAgbGluZTogMTkwLAogICAgICAgICAgY29sdW1uOiAyNgogICAgICAgIH0KICAgICAgfSwKICAgICAgIjUwIjogewogICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICBsaW5lOiAxOTMsCiAgICAgICAgICBjb2x1bW46IDMxCiAgICAgICAgfSwKICAgICAgICBlbmQ6IHsKICAgICAgICAgIGxpbmU6IDE5MywKICAgICAgICAgIGNvbHVtbjogNTUKICAgICAgICB9CiAgICAgIH0sCiAgICAgICI1MSI6IHsKICAgICAgICBzdGFydDogewogICAgICAgICAgbGluZTogMTk0LAogICAgICAgICAgY29sdW1uOiAyOAogICAgICAgIH0sCiAgICAgICAgZW5kOiB7CiAgICAgICAgICBsaW5lOiAxOTQsCiAgICAgICAgICBjb2x1bW46IDUwCiAgICAgICAgfQogICAgICB9LAogICAgICAiNTIiOiB7CiAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgIGxpbmU6IDE5NiwKICAgICAgICAgIGNvbHVtbjogMTIKICAgICAgICB9LAogICAgICAgIGVuZDogewogICAgICAgICAgbGluZTogMTk4LAogICAgICAgICAgY29sdW1uOiAxMwogICAgICAgIH0KICAgICAgfSwKICAgICAgIjUzIjogewogICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICBsaW5lOiAxOTcsCiAgICAgICAgICBjb2x1bW46IDE2CiAgICAgICAgfSwKICAgICAgICBlbmQ6IHsKICAgICAgICAgIGxpbmU6IDE5NywKICAgICAgICAgIGNvbHVtbjogMzEKICAgICAgICB9CiAgICAgIH0sCiAgICAgICI1NCI6IHsKICAgICAgICBzdGFydDogewogICAgICAgICAgbGluZTogMjAwLAogICAgICAgICAgY29sdW1uOiAxMgogICAgICAgIH0sCiAgICAgICAgZW5kOiB7CiAgICAgICAgICBsaW5lOiAyMDAsCiAgICAgICAgICBjb2x1bW46IDI0CiAgICAgICAgfQogICAgICB9LAogICAgICAiNTUiOiB7CiAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgIGxpbmU6IDIwMywKICAgICAgICAgIGNvbHVtbjogOAogICAgICAgIH0sCiAgICAgICAgZW5kOiB7CiAgICAgICAgICBsaW5lOiAyMDMsCiAgICAgICAgICBjb2x1bW46IDIwCiAgICAgICAgfQogICAgICB9LAogICAgICAiNTYiOiB7CiAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgIGxpbmU6IDIxMiwKICAgICAgICAgIGNvbHVtbjogOAogICAgICAgIH0sCiAgICAgICAgZW5kOiB7CiAgICAgICAgICBsaW5lOiAyMTIsCiAgICAgICAgICBjb2x1bW46IDM3CiAgICAgICAgfQogICAgICB9LAogICAgICAiNTciOiB7CiAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgIGxpbmU6IDIxNiwKICAgICAgICAgIGNvbHVtbjogMAogICAgICAgIH0sCiAgICAgICAgZW5kOiB7CiAgICAgICAgICBsaW5lOiAyMTYsCiAgICAgICAgICBjb2x1bW46IDM0CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgZm5NYXA6IHsKICAgICAgIjAiOiB7CiAgICAgICAgbmFtZTogIihhbm9ueW1vdXNfMCkiLAogICAgICAgIGRlY2w6IHsKICAgICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICAgIGxpbmU6IDIyLAogICAgICAgICAgICBjb2x1bW46IDIwCiAgICAgICAgICB9LAogICAgICAgICAgZW5kOiB7CiAgICAgICAgICAgIGxpbmU6IDIyLAogICAgICAgICAgICBjb2x1bW46IDIxCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBsb2M6IHsKICAgICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICAgIGxpbmU6IDIyLAogICAgICAgICAgICBjb2x1bW46IDM1CiAgICAgICAgICB9LAogICAgICAgICAgZW5kOiB7CiAgICAgICAgICAgIGxpbmU6IDI0LAogICAgICAgICAgICBjb2x1bW46IDEKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGxpbmU6IDIyCiAgICAgIH0sCiAgICAgICIxIjogewogICAgICAgIG5hbWU6ICIoYW5vbnltb3VzXzEpIiwKICAgICAgICBkZWNsOiB7CiAgICAgICAgICBzdGFydDogewogICAgICAgICAgICBsaW5lOiAyNiwKICAgICAgICAgICAgY29sdW1uOiAxNQogICAgICAgICAgfSwKICAgICAgICAgIGVuZDogewogICAgICAgICAgICBsaW5lOiAyNiwKICAgICAgICAgICAgY29sdW1uOiAxNgogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgbG9jOiB7CiAgICAgICAgICBzdGFydDogewogICAgICAgICAgICBsaW5lOiAyNiwKICAgICAgICAgICAgY29sdW1uOiAzMAogICAgICAgICAgfSwKICAgICAgICAgIGVuZDogewogICAgICAgICAgICBsaW5lOiAyOCwKICAgICAgICAgICAgY29sdW1uOiAxCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBsaW5lOiAyNgogICAgICB9LAogICAgICAiMiI6IHsKICAgICAgICBuYW1lOiAiKGFub255bW91c18yKSIsCiAgICAgICAgZGVjbDogewogICAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgICAgbGluZTogMzAsCiAgICAgICAgICAgIGNvbHVtbjogMjgKICAgICAgICAgIH0sCiAgICAgICAgICBlbmQ6IHsKICAgICAgICAgICAgbGluZTogMzAsCiAgICAgICAgICAgIGNvbHVtbjogMjkKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGxvYzogewogICAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgICAgbGluZTogMzAsCiAgICAgICAgICAgIGNvbHVtbjogNDMKICAgICAgICAgIH0sCiAgICAgICAgICBlbmQ6IHsKICAgICAgICAgICAgbGluZTogMzIsCiAgICAgICAgICAgIGNvbHVtbjogMQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgbGluZTogMzAKICAgICAgfSwKICAgICAgIjMiOiB7CiAgICAgICAgbmFtZTogIihhbm9ueW1vdXNfMykiLAogICAgICAgIGRlY2w6IHsKICAgICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICAgIGxpbmU6IDQwLAogICAgICAgICAgICBjb2x1bW46IDI0CiAgICAgICAgICB9LAogICAgICAgICAgZW5kOiB7CiAgICAgICAgICAgIGxpbmU6IDQwLAogICAgICAgICAgICBjb2x1bW46IDI1CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBsb2M6IHsKICAgICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICAgIGxpbmU6IDQwLAogICAgICAgICAgICBjb2x1bW46IDQxCiAgICAgICAgICB9LAogICAgICAgICAgZW5kOiB7CiAgICAgICAgICAgIGxpbmU6IDUwLAogICAgICAgICAgICBjb2x1bW46IDEKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGxpbmU6IDQwCiAgICAgIH0sCiAgICAgICI0IjogewogICAgICAgIG5hbWU6ICIoYW5vbnltb3VzXzQpIiwKICAgICAgICBkZWNsOiB7CiAgICAgICAgICBzdGFydDogewogICAgICAgICAgICBsaW5lOiA1NywKICAgICAgICAgICAgY29sdW1uOiAxNwogICAgICAgICAgfSwKICAgICAgICAgIGVuZDogewogICAgICAgICAgICBsaW5lOiA1NywKICAgICAgICAgICAgY29sdW1uOiAxOAogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgbG9jOiB7CiAgICAgICAgICBzdGFydDogewogICAgICAgICAgICBsaW5lOiA1NywKICAgICAgICAgICAgY29sdW1uOiAzMgogICAgICAgICAgfSwKICAgICAgICAgIGVuZDogewogICAgICAgICAgICBsaW5lOiA3MCwKICAgICAgICAgICAgY29sdW1uOiAxCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBsaW5lOiA1NwogICAgICB9LAogICAgICAiNSI6IHsKICAgICAgICBuYW1lOiAiRmRzU3RvcmFnZVNlcnZpY2UiLAogICAgICAgIGRlY2w6IHsKICAgICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICAgIGxpbmU6IDc2LAogICAgICAgICAgICBjb2x1bW46IDkKICAgICAgICAgIH0sCiAgICAgICAgICBlbmQ6IHsKICAgICAgICAgICAgbGluZTogNzYsCiAgICAgICAgICAgIGNvbHVtbjogMjYKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGxvYzogewogICAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgICAgbGluZTogNzYsCiAgICAgICAgICAgIGNvbHVtbjogMjkKICAgICAgICAgIH0sCiAgICAgICAgICBlbmQ6IHsKICAgICAgICAgICAgbGluZTogNzcsCiAgICAgICAgICAgIGNvbHVtbjogMQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgbGluZTogNzYKICAgICAgfSwKICAgICAgIjYiOiB7CiAgICAgICAgbmFtZTogIihhbm9ueW1vdXNfNikiLAogICAgICAgIGRlY2w6IHsKICAgICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICAgIGxpbmU6IDg1LAogICAgICAgICAgICBjb2x1bW46IDEwCiAgICAgICAgICB9LAogICAgICAgICAgZW5kOiB7CiAgICAgICAgICAgIGxpbmU6IDg1LAogICAgICAgICAgICBjb2x1bW46IDExCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBsb2M6IHsKICAgICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICAgIGxpbmU6IDg1LAogICAgICAgICAgICBjb2x1bW46IDIyCiAgICAgICAgICB9LAogICAgICAgICAgZW5kOiB7CiAgICAgICAgICAgIGxpbmU6IDk3LAogICAgICAgICAgICBjb2x1bW46IDUKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGxpbmU6IDg1CiAgICAgIH0sCiAgICAgICI3IjogewogICAgICAgIG5hbWU6ICIoYW5vbnltb3VzXzcpIiwKICAgICAgICBkZWNsOiB7CiAgICAgICAgICBzdGFydDogewogICAgICAgICAgICBsaW5lOiAxMDYsCiAgICAgICAgICAgIGNvbHVtbjogMTMKICAgICAgICAgIH0sCiAgICAgICAgICBlbmQ6IHsKICAgICAgICAgICAgbGluZTogMTA2LAogICAgICAgICAgICBjb2x1bW46IDE0CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBsb2M6IHsKICAgICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICAgIGxpbmU6IDEwNiwKICAgICAgICAgICAgY29sdW1uOiA0MwogICAgICAgICAgfSwKICAgICAgICAgIGVuZDogewogICAgICAgICAgICBsaW5lOiAxMTgsCiAgICAgICAgICAgIGNvbHVtbjogNQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgbGluZTogMTA2CiAgICAgIH0sCiAgICAgICI4IjogewogICAgICAgIG5hbWU6ICIoYW5vbnltb3VzXzgpIiwKICAgICAgICBkZWNsOiB7CiAgICAgICAgICBzdGFydDogewogICAgICAgICAgICBsaW5lOiAxMjcsCiAgICAgICAgICAgIGNvbHVtbjogMTMKICAgICAgICAgIH0sCiAgICAgICAgICBlbmQ6IHsKICAgICAgICAgICAgbGluZTogMTI3LAogICAgICAgICAgICBjb2x1bW46IDE0CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBsb2M6IHsKICAgICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICAgIGxpbmU6IDEyNywKICAgICAgICAgICAgY29sdW1uOiAyOAogICAgICAgICAgfSwKICAgICAgICAgIGVuZDogewogICAgICAgICAgICBsaW5lOiAxMjksCiAgICAgICAgICAgIGNvbHVtbjogNQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgbGluZTogMTI3CiAgICAgIH0sCiAgICAgICI5IjogewogICAgICAgIG5hbWU6ICIoYW5vbnltb3VzXzkpIiwKICAgICAgICBkZWNsOiB7CiAgICAgICAgICBzdGFydDogewogICAgICAgICAgICBsaW5lOiAxMzgsCiAgICAgICAgICAgIGNvbHVtbjogMTMKICAgICAgICAgIH0sCiAgICAgICAgICBlbmQ6IHsKICAgICAgICAgICAgbGluZTogMTM4LAogICAgICAgICAgICBjb2x1bW46IDE0CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBsb2M6IHsKICAgICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICAgIGxpbmU6IDEzOCwKICAgICAgICAgICAgY29sdW1uOiAyOAogICAgICAgICAgfSwKICAgICAgICAgIGVuZDogewogICAgICAgICAgICBsaW5lOiAxNTYsCiAgICAgICAgICAgIGNvbHVtbjogNQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgbGluZTogMTM4CiAgICAgIH0sCiAgICAgICIxMCI6IHsKICAgICAgICBuYW1lOiAiKGFub255bW91c18xMCkiLAogICAgICAgIGRlY2w6IHsKICAgICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICAgIGxpbmU6IDE2NSwKICAgICAgICAgICAgY29sdW1uOiAyMwogICAgICAgICAgfSwKICAgICAgICAgIGVuZDogewogICAgICAgICAgICBsaW5lOiAxNjUsCiAgICAgICAgICAgIGNvbHVtbjogMjQKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGxvYzogewogICAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgICAgbGluZTogMTY1LAogICAgICAgICAgICBjb2x1bW46IDM4CiAgICAgICAgICB9LAogICAgICAgICAgZW5kOiB7CiAgICAgICAgICAgIGxpbmU6IDE3NywKICAgICAgICAgICAgY29sdW1uOiA1CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBsaW5lOiAxNjUKICAgICAgfSwKICAgICAgIjExIjogewogICAgICAgIG5hbWU6ICIoYW5vbnltb3VzXzExKSIsCiAgICAgICAgZGVjbDogewogICAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgICAgbGluZTogMTg2LAogICAgICAgICAgICBjb2x1bW46IDE5CiAgICAgICAgICB9LAogICAgICAgICAgZW5kOiB7CiAgICAgICAgICAgIGxpbmU6IDE4NiwKICAgICAgICAgICAgY29sdW1uOiAyMAogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgbG9jOiB7CiAgICAgICAgICBzdGFydDogewogICAgICAgICAgICBsaW5lOiAxODYsCiAgICAgICAgICAgIGNvbHVtbjogMzQKICAgICAgICAgIH0sCiAgICAgICAgICBlbmQ6IHsKICAgICAgICAgICAgbGluZTogMjA0LAogICAgICAgICAgICBjb2x1bW46IDUKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGxpbmU6IDE4NgogICAgICB9LAogICAgICAiMTIiOiB7CiAgICAgICAgbmFtZTogIihhbm9ueW1vdXNfMTIpIiwKICAgICAgICBkZWNsOiB7CiAgICAgICAgICBzdGFydDogewogICAgICAgICAgICBsaW5lOiAyMTEsCiAgICAgICAgICAgIGNvbHVtbjogMTYKICAgICAgICAgIH0sCiAgICAgICAgICBlbmQ6IHsKICAgICAgICAgICAgbGluZTogMjExLAogICAgICAgICAgICBjb2x1bW46IDE3CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBsb2M6IHsKICAgICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICAgIGxpbmU6IDIxMSwKICAgICAgICAgICAgY29sdW1uOiAzMQogICAgICAgICAgfSwKICAgICAgICAgIGVuZDogewogICAgICAgICAgICBsaW5lOiAyMTMsCiAgICAgICAgICAgIGNvbHVtbjogNQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgbGluZTogMjExCiAgICAgIH0KICAgIH0sCiAgICBicmFuY2hNYXA6IHsKICAgICAgIjAiOiB7CiAgICAgICAgbG9jOiB7CiAgICAgICAgICBzdGFydDogewogICAgICAgICAgICBsaW5lOiAzMSwKICAgICAgICAgICAgY29sdW1uOiAxMQogICAgICAgICAgfSwKICAgICAgICAgIGVuZDogewogICAgICAgICAgICBsaW5lOiAzMSwKICAgICAgICAgICAgY29sdW1uOiA0NAogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdHlwZTogImJpbmFyeS1leHByIiwKICAgICAgICBsb2NhdGlvbnM6IFt7CiAgICAgICAgICBzdGFydDogewogICAgICAgICAgICBsaW5lOiAzMSwKICAgICAgICAgICAgY29sdW1uOiAxMQogICAgICAgICAgfSwKICAgICAgICAgIGVuZDogewogICAgICAgICAgICBsaW5lOiAzMSwKICAgICAgICAgICAgY29sdW1uOiAyOAogICAgICAgICAgfQogICAgICAgIH0sIHsKICAgICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICAgIGxpbmU6IDMxLAogICAgICAgICAgICBjb2x1bW46IDMyCiAgICAgICAgICB9LAogICAgICAgICAgZW5kOiB7CiAgICAgICAgICAgIGxpbmU6IDMxLAogICAgICAgICAgICBjb2x1bW46IDQ0CiAgICAgICAgICB9CiAgICAgICAgfV0sCiAgICAgICAgbGluZTogMzEKICAgICAgfSwKICAgICAgIjEiOiB7CiAgICAgICAgbG9jOiB7CiAgICAgICAgICBzdGFydDogewogICAgICAgICAgICBsaW5lOiA0MSwKICAgICAgICAgICAgY29sdW1uOiA0CiAgICAgICAgICB9LAogICAgICAgICAgZW5kOiB7CiAgICAgICAgICAgIGxpbmU6IDQ4LAogICAgICAgICAgICBjb2x1bW46IDUKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHR5cGU6ICJpZiIsCiAgICAgICAgbG9jYXRpb25zOiBbewogICAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgICAgbGluZTogNDEsCiAgICAgICAgICAgIGNvbHVtbjogNAogICAgICAgICAgfSwKICAgICAgICAgIGVuZDogewogICAgICAgICAgICBsaW5lOiA0OCwKICAgICAgICAgICAgY29sdW1uOiA1CiAgICAgICAgICB9CiAgICAgICAgfSwgewogICAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgICAgbGluZTogNDEsCiAgICAgICAgICAgIGNvbHVtbjogNAogICAgICAgICAgfSwKICAgICAgICAgIGVuZDogewogICAgICAgICAgICBsaW5lOiA0OCwKICAgICAgICAgICAgY29sdW1uOiA1CiAgICAgICAgICB9CiAgICAgICAgfV0sCiAgICAgICAgbGluZTogNDEKICAgICAgfSwKICAgICAgIjIiOiB7CiAgICAgICAgbG9jOiB7CiAgICAgICAgICBzdGFydDogewogICAgICAgICAgICBsaW5lOiA2MywKICAgICAgICAgICAgY29sdW1uOiA4CiAgICAgICAgICB9LAogICAgICAgICAgZW5kOiB7CiAgICAgICAgICAgIGxpbmU6IDY1LAogICAgICAgICAgICBjb2x1bW46IDkKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHR5cGU6ICJpZiIsCiAgICAgICAgbG9jYXRpb25zOiBbewogICAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgICAgbGluZTogNjMsCiAgICAgICAgICAgIGNvbHVtbjogOAogICAgICAgICAgfSwKICAgICAgICAgIGVuZDogewogICAgICAgICAgICBsaW5lOiA2NSwKICAgICAgICAgICAgY29sdW1uOiA5CiAgICAgICAgICB9CiAgICAgICAgfSwgewogICAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgICAgbGluZTogNjMsCiAgICAgICAgICAgIGNvbHVtbjogOAogICAgICAgICAgfSwKICAgICAgICAgIGVuZDogewogICAgICAgICAgICBsaW5lOiA2NSwKICAgICAgICAgICAgY29sdW1uOiA5CiAgICAgICAgICB9CiAgICAgICAgfV0sCiAgICAgICAgbGluZTogNjMKICAgICAgfSwKICAgICAgIjMiOiB7CiAgICAgICAgbG9jOiB7CiAgICAgICAgICBzdGFydDogewogICAgICAgICAgICBsaW5lOiAxMDgsCiAgICAgICAgICAgIGNvbHVtbjogMTgKICAgICAgICAgIH0sCiAgICAgICAgICBlbmQ6IHsKICAgICAgICAgICAgbGluZTogMTA4LAogICAgICAgICAgICBjb2x1bW46IDkwCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0eXBlOiAiY29uZC1leHByIiwKICAgICAgICBsb2NhdGlvbnM6IFt7CiAgICAgICAgICBzdGFydDogewogICAgICAgICAgICBsaW5lOiAxMDgsCiAgICAgICAgICAgIGNvbHVtbjogNDkKICAgICAgICAgIH0sCiAgICAgICAgICBlbmQ6IHsKICAgICAgICAgICAgbGluZTogMTA4LAogICAgICAgICAgICBjb2x1bW46IDU2CiAgICAgICAgICB9CiAgICAgICAgfSwgewogICAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgICAgbGluZTogMTA4LAogICAgICAgICAgICBjb2x1bW46IDU5CiAgICAgICAgICB9LAogICAgICAgICAgZW5kOiB7CiAgICAgICAgICAgIGxpbmU6IDEwOCwKICAgICAgICAgICAgY29sdW1uOiA5MAogICAgICAgICAgfQogICAgICAgIH1dLAogICAgICAgIGxpbmU6IDEwOAogICAgICB9LAogICAgICAiNCI6IHsKICAgICAgICBsb2M6IHsKICAgICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICAgIGxpbmU6IDE0MCwKICAgICAgICAgICAgY29sdW1uOiA4CiAgICAgICAgICB9LAogICAgICAgICAgZW5kOiB7CiAgICAgICAgICAgIGxpbmU6IDE0MiwKICAgICAgICAgICAgY29sdW1uOiA5CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0eXBlOiAiaWYiLAogICAgICAgIGxvY2F0aW9uczogW3sKICAgICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICAgIGxpbmU6IDE0MCwKICAgICAgICAgICAgY29sdW1uOiA4CiAgICAgICAgICB9LAogICAgICAgICAgZW5kOiB7CiAgICAgICAgICAgIGxpbmU6IDE0MiwKICAgICAgICAgICAgY29sdW1uOiA5CiAgICAgICAgICB9CiAgICAgICAgfSwgewogICAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgICAgbGluZTogMTQwLAogICAgICAgICAgICBjb2x1bW46IDgKICAgICAgICAgIH0sCiAgICAgICAgICBlbmQ6IHsKICAgICAgICAgICAgbGluZTogMTQyLAogICAgICAgICAgICBjb2x1bW46IDkKICAgICAgICAgIH0KICAgICAgICB9XSwKICAgICAgICBsaW5lOiAxNDAKICAgICAgfSwKICAgICAgIjUiOiB7CiAgICAgICAgbG9jOiB7CiAgICAgICAgICBzdGFydDogewogICAgICAgICAgICBsaW5lOiAxNDUsCiAgICAgICAgICAgIGNvbHVtbjogOAogICAgICAgICAgfSwKICAgICAgICAgIGVuZDogewogICAgICAgICAgICBsaW5lOiAxNDgsCiAgICAgICAgICAgIGNvbHVtbjogOQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdHlwZTogImlmIiwKICAgICAgICBsb2NhdGlvbnM6IFt7CiAgICAgICAgICBzdGFydDogewogICAgICAgICAgICBsaW5lOiAxNDUsCiAgICAgICAgICAgIGNvbHVtbjogOAogICAgICAgICAgfSwKICAgICAgICAgIGVuZDogewogICAgICAgICAgICBsaW5lOiAxNDgsCiAgICAgICAgICAgIGNvbHVtbjogOQogICAgICAgICAgfQogICAgICAgIH0sIHsKICAgICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICAgIGxpbmU6IDE0NSwKICAgICAgICAgICAgY29sdW1uOiA4CiAgICAgICAgICB9LAogICAgICAgICAgZW5kOiB7CiAgICAgICAgICAgIGxpbmU6IDE0OCwKICAgICAgICAgICAgY29sdW1uOiA5CiAgICAgICAgICB9CiAgICAgICAgfV0sCiAgICAgICAgbGluZTogMTQ1CiAgICAgIH0sCiAgICAgICI2IjogewogICAgICAgIGxvYzogewogICAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgICAgbGluZTogMTUxLAogICAgICAgICAgICBjb2x1bW46IDgKICAgICAgICAgIH0sCiAgICAgICAgICBlbmQ6IHsKICAgICAgICAgICAgbGluZTogMTUzLAogICAgICAgICAgICBjb2x1bW46IDkKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHR5cGU6ICJpZiIsCiAgICAgICAgbG9jYXRpb25zOiBbewogICAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgICAgbGluZTogMTUxLAogICAgICAgICAgICBjb2x1bW46IDgKICAgICAgICAgIH0sCiAgICAgICAgICBlbmQ6IHsKICAgICAgICAgICAgbGluZTogMTUzLAogICAgICAgICAgICBjb2x1bW46IDkKICAgICAgICAgIH0KICAgICAgICB9LCB7CiAgICAgICAgICBzdGFydDogewogICAgICAgICAgICBsaW5lOiAxNTEsCiAgICAgICAgICAgIGNvbHVtbjogOAogICAgICAgICAgfSwKICAgICAgICAgIGVuZDogewogICAgICAgICAgICBsaW5lOiAxNTMsCiAgICAgICAgICAgIGNvbHVtbjogOQogICAgICAgICAgfQogICAgICAgIH1dLAogICAgICAgIGxpbmU6IDE1MQogICAgICB9LAogICAgICAiNyI6IHsKICAgICAgICBsb2M6IHsKICAgICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICAgIGxpbmU6IDE2NywKICAgICAgICAgICAgY29sdW1uOiA4CiAgICAgICAgICB9LAogICAgICAgICAgZW5kOiB7CiAgICAgICAgICAgIGxpbmU6IDE2OSwKICAgICAgICAgICAgY29sdW1uOiA5CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0eXBlOiAiaWYiLAogICAgICAgIGxvY2F0aW9uczogW3sKICAgICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICAgIGxpbmU6IDE2NywKICAgICAgICAgICAgY29sdW1uOiA4CiAgICAgICAgICB9LAogICAgICAgICAgZW5kOiB7CiAgICAgICAgICAgIGxpbmU6IDE2OSwKICAgICAgICAgICAgY29sdW1uOiA5CiAgICAgICAgICB9CiAgICAgICAgfSwgewogICAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgICAgbGluZTogMTY3LAogICAgICAgICAgICBjb2x1bW46IDgKICAgICAgICAgIH0sCiAgICAgICAgICBlbmQ6IHsKICAgICAgICAgICAgbGluZTogMTY5LAogICAgICAgICAgICBjb2x1bW46IDkKICAgICAgICAgIH0KICAgICAgICB9XSwKICAgICAgICBsaW5lOiAxNjcKICAgICAgfSwKICAgICAgIjgiOiB7CiAgICAgICAgbG9jOiB7CiAgICAgICAgICBzdGFydDogewogICAgICAgICAgICBsaW5lOiAxNzIsCiAgICAgICAgICAgIGNvbHVtbjogOAogICAgICAgICAgfSwKICAgICAgICAgIGVuZDogewogICAgICAgICAgICBsaW5lOiAxNzQsCiAgICAgICAgICAgIGNvbHVtbjogOQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdHlwZTogImlmIiwKICAgICAgICBsb2NhdGlvbnM6IFt7CiAgICAgICAgICBzdGFydDogewogICAgICAgICAgICBsaW5lOiAxNzIsCiAgICAgICAgICAgIGNvbHVtbjogOAogICAgICAgICAgfSwKICAgICAgICAgIGVuZDogewogICAgICAgICAgICBsaW5lOiAxNzQsCiAgICAgICAgICAgIGNvbHVtbjogOQogICAgICAgICAgfQogICAgICAgIH0sIHsKICAgICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICAgIGxpbmU6IDE3MiwKICAgICAgICAgICAgY29sdW1uOiA4CiAgICAgICAgICB9LAogICAgICAgICAgZW5kOiB7CiAgICAgICAgICAgIGxpbmU6IDE3NCwKICAgICAgICAgICAgY29sdW1uOiA5CiAgICAgICAgICB9CiAgICAgICAgfV0sCiAgICAgICAgbGluZTogMTcyCiAgICAgIH0sCiAgICAgICI5IjogewogICAgICAgIGxvYzogewogICAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgICAgbGluZTogMTg3LAogICAgICAgICAgICBjb2x1bW46IDgKICAgICAgICAgIH0sCiAgICAgICAgICBlbmQ6IHsKICAgICAgICAgICAgbGluZTogMjAxLAogICAgICAgICAgICBjb2x1bW46IDkKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHR5cGU6ICJpZiIsCiAgICAgICAgbG9jYXRpb25zOiBbewogICAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgICAgbGluZTogMTg3LAogICAgICAgICAgICBjb2x1bW46IDgKICAgICAgICAgIH0sCiAgICAgICAgICBlbmQ6IHsKICAgICAgICAgICAgbGluZTogMjAxLAogICAgICAgICAgICBjb2x1bW46IDkKICAgICAgICAgIH0KICAgICAgICB9LCB7CiAgICAgICAgICBzdGFydDogewogICAgICAgICAgICBsaW5lOiAxODcsCiAgICAgICAgICAgIGNvbHVtbjogOAogICAgICAgICAgfSwKICAgICAgICAgIGVuZDogewogICAgICAgICAgICBsaW5lOiAyMDEsCiAgICAgICAgICAgIGNvbHVtbjogOQogICAgICAgICAgfQogICAgICAgIH1dLAogICAgICAgIGxpbmU6IDE4NwogICAgICB9LAogICAgICAiMTAiOiB7CiAgICAgICAgbG9jOiB7CiAgICAgICAgICBzdGFydDogewogICAgICAgICAgICBsaW5lOiAxODksCiAgICAgICAgICAgIGNvbHVtbjogMTIKICAgICAgICAgIH0sCiAgICAgICAgICBlbmQ6IHsKICAgICAgICAgICAgbGluZTogMTkxLAogICAgICAgICAgICBjb2x1bW46IDEzCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB0eXBlOiAiaWYiLAogICAgICAgIGxvY2F0aW9uczogW3sKICAgICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICAgIGxpbmU6IDE4OSwKICAgICAgICAgICAgY29sdW1uOiAxMgogICAgICAgICAgfSwKICAgICAgICAgIGVuZDogewogICAgICAgICAgICBsaW5lOiAxOTEsCiAgICAgICAgICAgIGNvbHVtbjogMTMKICAgICAgICAgIH0KICAgICAgICB9LCB7CiAgICAgICAgICBzdGFydDogewogICAgICAgICAgICBsaW5lOiAxODksCiAgICAgICAgICAgIGNvbHVtbjogMTIKICAgICAgICAgIH0sCiAgICAgICAgICBlbmQ6IHsKICAgICAgICAgICAgbGluZTogMTkxLAogICAgICAgICAgICBjb2x1bW46IDEzCiAgICAgICAgICB9CiAgICAgICAgfV0sCiAgICAgICAgbGluZTogMTg5CiAgICAgIH0sCiAgICAgICIxMSI6IHsKICAgICAgICBsb2M6IHsKICAgICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICAgIGxpbmU6IDE5NiwKICAgICAgICAgICAgY29sdW1uOiAxMgogICAgICAgICAgfSwKICAgICAgICAgIGVuZDogewogICAgICAgICAgICBsaW5lOiAxOTgsCiAgICAgICAgICAgIGNvbHVtbjogMTMKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHR5cGU6ICJpZiIsCiAgICAgICAgbG9jYXRpb25zOiBbewogICAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgICAgbGluZTogMTk2LAogICAgICAgICAgICBjb2x1bW46IDEyCiAgICAgICAgICB9LAogICAgICAgICAgZW5kOiB7CiAgICAgICAgICAgIGxpbmU6IDE5OCwKICAgICAgICAgICAgY29sdW1uOiAxMwogICAgICAgICAgfQogICAgICAgIH0sIHsKICAgICAgICAgIHN0YXJ0OiB7CiAgICAgICAgICAgIGxpbmU6IDE5NiwKICAgICAgICAgICAgY29sdW1uOiAxMgogICAgICAgICAgfSwKICAgICAgICAgIGVuZDogewogICAgICAgICAgICBsaW5lOiAxOTgsCiAgICAgICAgICAgIGNvbHVtbjogMTMKICAgICAgICAgIH0KICAgICAgICB9XSwKICAgICAgICBsaW5lOiAxOTYKICAgICAgfQogICAgfSwKICAgIHM6IHsKICAgICAgIjAiOiAwLAogICAgICAiMSI6IDAsCiAgICAgICIyIjogMCwKICAgICAgIjMiOiAwLAogICAgICAiNCI6IDAsCiAgICAgICI1IjogMCwKICAgICAgIjYiOiAwLAogICAgICAiNyI6IDAsCiAgICAgICI4IjogMCwKICAgICAgIjkiOiAwLAogICAgICAiMTAiOiAwLAogICAgICAiMTEiOiAwLAogICAgICAiMTIiOiAwLAogICAgICAiMTMiOiAwLAogICAgICAiMTQiOiAwLAogICAgICAiMTUiOiAwLAogICAgICAiMTYiOiAwLAogICAgICAiMTciOiAwLAogICAgICAiMTgiOiAwLAogICAgICAiMTkiOiAwLAogICAgICAiMjAiOiAwLAogICAgICAiMjEiOiAwLAogICAgICAiMjIiOiAwLAogICAgICAiMjMiOiAwLAogICAgICAiMjQiOiAwLAogICAgICAiMjUiOiAwLAogICAgICAiMjYiOiAwLAogICAgICAiMjciOiAwLAogICAgICAiMjgiOiAwLAogICAgICAiMjkiOiAwLAogICAgICAiMzAiOiAwLAogICAgICAiMzEiOiAwLAogICAgICAiMzIiOiAwLAogICAgICAiMzMiOiAwLAogICAgICAiMzQiOiAwLAogICAgICAiMzUiOiAwLAogICAgICAiMzYiOiAwLAogICAgICAiMzciOiAwLAogICAgICAiMzgiOiAwLAogICAgICAiMzkiOiAwLAogICAgICAiNDAiOiAwLAogICAgICAiNDEiOiAwLAogICAgICAiNDIiOiAwLAogICAgICAiNDMiOiAwLAogICAgICAiNDQiOiAwLAogICAgICAiNDUiOiAwLAogICAgICAiNDYiOiAwLAogICAgICAiNDciOiAwLAogICAgICAiNDgiOiAwLAogICAgICAiNDkiOiAwLAogICAgICAiNTAiOiAwLAogICAgICAiNTEiOiAwLAogICAgICAiNTIiOiAwLAogICAgICAiNTMiOiAwLAogICAgICAiNTQiOiAwLAogICAgICAiNTUiOiAwLAogICAgICAiNTYiOiAwLAogICAgICAiNTciOiAwCiAgICB9LAogICAgZjogewogICAgICAiMCI6IDAsCiAgICAgICIxIjogMCwKICAgICAgIjIiOiAwLAogICAgICAiMyI6IDAsCiAgICAgICI0IjogMCwKICAgICAgIjUiOiAwLAogICAgICAiNiI6IDAsCiAgICAgICI3IjogMCwKICAgICAgIjgiOiAwLAogICAgICAiOSI6IDAsCiAgICAgICIxMCI6IDAsCiAgICAgICIxMSI6IDAsCiAgICAgICIxMiI6IDAKICAgIH0sCiAgICBiOiB7CiAgICAgICIwIjogWzAsIDBdLAogICAgICAiMSI6IFswLCAwXSwKICAgICAgIjIiOiBbMCwgMF0sCiAgICAgICIzIjogWzAsIDBdLAogICAgICAiNCI6IFswLCAwXSwKICAgICAgIjUiOiBbMCwgMF0sCiAgICAgICI2IjogWzAsIDBdLAogICAgICAiNyI6IFswLCAwXSwKICAgICAgIjgiOiBbMCwgMF0sCiAgICAgICI5IjogWzAsIDBdLAogICAgICAiMTAiOiBbMCwgMF0sCiAgICAgICIxMSI6IFswLCAwXQogICAgfSwKICAgIF9jb3ZlcmFnZVNjaGVtYTogIjQzZTI3ZTEzOGViZjljZmM1OTY2YjA4MmNmOWEwMjgzMDJlZDQxODQiLAogICAgaGFzaDogIjY4OGY3ZDJmZWMwNDdiNjllYTA3MTAzNDU4ZjZjNzE5YmQ5MGI0NmEiCiAgfTsKICB2YXIgY292ZXJhZ2UgPSBnbG9iYWxbZ2N2XSB8fCAoZ2xvYmFsW2djdl0gPSB7fSk7CgogIGlmIChjb3ZlcmFnZVtwYXRoXSAmJiBjb3ZlcmFnZVtwYXRoXS5oYXNoID09PSBoYXNoKSB7CiAgICByZXR1cm4gY292ZXJhZ2VbcGF0aF07CiAgfQoKICByZXR1cm4gY292ZXJhZ2VbcGF0aF0gPSBjb3ZlcmFnZURhdGE7Cn0oKTsKCi8qCiAqIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQogKiBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKICogdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgogKiBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAogKiAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAogKiB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAogKgogKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCiAqCiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAqLwovLyBTdG9yZSBpdGVtcyBmb3IgdHdvIGRheXMgYmVmb3JlIGJlaW5nIGVsaWdpYmxlIGZvciByZW1vdmFsLgp2YXIgTUlMTElTX1BFUl9EQVkgPSAoY292X2NnZGFsYmZybS5zWzBdKyssIDg2NDAwMDAwKTsKdmFyIFRXT19EQVlTID0gKGNvdl9jZ2RhbGJmcm0uc1sxXSsrLCBNSUxMSVNfUEVSX0RBWSAqIDIpOwpjb3ZfY2dkYWxiZnJtLnNbMl0rKzsKCnZhciBpc1VuZGVmaW5lZCA9IGZ1bmN0aW9uIGlzVW5kZWZpbmVkKG9iaikgewogIGNvdl9jZ2RhbGJmcm0uZlswXSsrOwogIGNvdl9jZ2RhbGJmcm0uc1szXSsrOwogIHJldHVybiB0eXBlb2Ygb2JqID09PSAndW5kZWZpbmVkJzsKfTsKCmNvdl9jZ2RhbGJmcm0uc1s0XSsrOwoKdmFyIGlzTnVsbCA9IGZ1bmN0aW9uIGlzTnVsbChvYmopIHsKICBjb3ZfY2dkYWxiZnJtLmZbMV0rKzsKICBjb3ZfY2dkYWxiZnJtLnNbNV0rKzsKICByZXR1cm4gb2JqID09PSBudWxsOwp9OwoKY292X2NnZGFsYmZybS5zWzZdKys7Cgp2YXIgaXNEZWZpbmVkQW5kTm90TnVsbCA9IGZ1bmN0aW9uIGlzRGVmaW5lZEFuZE5vdE51bGwob2JqKSB7CiAgY292X2NnZGFsYmZybS5mWzJdKys7CiAgY292X2NnZGFsYmZybS5zWzddKys7CiAgcmV0dXJuIChjb3ZfY2dkYWxiZnJtLmJbMF1bMF0rKywgIWlzVW5kZWZpbmVkKG9iaikpICYmIChjb3ZfY2dkYWxiZnJtLmJbMF1bMV0rKywgIWlzTnVsbChvYmopKTsKfTsKLyoqCiAqIENoZWNrcyB0aGUgZXhwaXJhdGlvbiBmb3IgdGhlIHNwZWNpZmllZCBlbnRyeS4KICoKICogQHBhcmFtIHtvYmplY3R9IGVudHJ5CiAqIEByZXR1cm5zIHtib29sZWFufQogKi8KCgpjb3ZfY2dkYWxiZnJtLnNbOF0rKzsKCnZhciBjaGVja0V4cGlyYXRpb24gPSBmdW5jdGlvbiBjaGVja0V4cGlyYXRpb24oZW50cnkpIHsKICBjb3ZfY2dkYWxiZnJtLmZbM10rKzsKICBjb3ZfY2dkYWxiZnJtLnNbOV0rKzsKCiAgaWYgKGlzRGVmaW5lZEFuZE5vdE51bGwoZW50cnkuZXhwaXJlcykpIHsKICAgIGNvdl9jZ2RhbGJmcm0uYlsxXVswXSsrOwogICAgLy8gZ2V0IHRoZSBleHBpcmF0aW9uCiAgICB2YXIgZXhwaXJlcyA9IChjb3ZfY2dkYWxiZnJtLnNbMTBdKyssIG5ldyBEYXRlKGVudHJ5LmV4cGlyZXMpKTsKICAgIHZhciBub3cgPSAoY292X2NnZGFsYmZybS5zWzExXSsrLCBuZXcgRGF0ZSgpKTsgLy8gcmV0dXJuIHdoZXRoZXIgdGhlIGV4cGlyYXRpb24gZGF0ZSBoYXMgcGFzc2VkCgogICAgY292X2NnZGFsYmZybS5zWzEyXSsrOwogICAgcmV0dXJuIGV4cGlyZXMudmFsdWVPZigpIDwgbm93LnZhbHVlT2YoKTsKICB9IGVsc2UgewogICAgY292X2NnZGFsYmZybS5iWzFdWzFdKys7CiAgfQoKICBjb3ZfY2dkYWxiZnJtLnNbMTNdKys7CiAgcmV0dXJuIGZhbHNlOwp9OwovKioKICogR2V0cyBhbiBlbnR5IGZvciB0aGUga2V5LiBUaGUgZW50cnkgZXhwaXJhdGlvbiBpcyBub3QgY2hlY2tlZC4KICoKICogQHBhcmFtIHtzdHJpbmd9IGtleQogKi8KCgpjb3ZfY2dkYWxiZnJtLnNbMTRdKys7Cgp2YXIgZ2V0RW50cnkgPSBmdW5jdGlvbiBnZXRFbnRyeShrZXkpIHsKICBjb3ZfY2dkYWxiZnJtLmZbNF0rKzsKICBjb3ZfY2dkYWxiZnJtLnNbMTVdKys7CgogIHRyeSB7CiAgICAvLyBwYXJzZSB0aGUgZW50cnkKICAgIHZhciBlbnRyeSA9IChjb3ZfY2dkYWxiZnJtLnNbMTZdKyssIEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KSkpOyAvLyBlbnN1cmUgdGhlIGVudHJ5IGFuZCBpdGVtIGFyZSBwcmVzZW50CgogICAgY292X2NnZGFsYmZybS5zWzE3XSsrOwoKICAgIGlmIChpc0RlZmluZWRBbmROb3ROdWxsKGVudHJ5KSkgewogICAgICBjb3ZfY2dkYWxiZnJtLmJbMl1bMF0rKzsKICAgICAgY292X2NnZGFsYmZybS5zWzE4XSsrOwogICAgICByZXR1cm4gZW50cnk7CiAgICB9IGVsc2UgewogICAgICBjb3ZfY2dkYWxiZnJtLmJbMl1bMV0rKzsKICAgIH0KCiAgICBjb3ZfY2dkYWxiZnJtLnNbMTldKys7CiAgICByZXR1cm4gbnVsbDsKICB9IGNhdGNoIChlKSB7CiAgICBjb3ZfY2dkYWxiZnJtLnNbMjBdKys7CiAgICByZXR1cm4gbnVsbDsKICB9Cn07Ci8qKgogKiBGZHNTdG9yYWdlU2VydmljZSBjb25zdHJ1Y3Rvci4KICogQGNvbnN0cnVjdG9yCiAqLwoKCmZ1bmN0aW9uIEZkc1N0b3JhZ2VTZXJ2aWNlKCkgewogIGNvdl9jZ2RhbGJmcm0uZls1XSsrOwp9Cgpjb3ZfY2dkYWxiZnJtLnNbMjFdKys7CkZkc1N0b3JhZ2VTZXJ2aWNlLnByb3RvdHlwZSA9IHsKICBjb25zdHJ1Y3RvcjogRmRzU3RvcmFnZVNlcnZpY2UsCgogIC8qKgogICAqIEluaXRpYWxpemVzIHRoZSBzdG9yYWdlLiBJdGVtcyB3aWxsIGJlIHBlcnNpc3RlZCBmb3IgdHdvIGRheXMuIE9uY2UgdGhlIHNjcmlwdHMgcnVucwogICAqIHRoZXJlYWZ0ZXIsIGFsbCBlbGlnaWJsZSBpdGVtcyB3aWxsIGJlIHJlbW92ZWQuIFRoaXMgc3RyYXRlZ3kgZG9lcyBub3Qgc3VwcG9ydCBwZXJzaXN0ZW5jZS4KICAgKi8KICBpbml0OiBmdW5jdGlvbiBpbml0KCkgewogICAgY292X2NnZGFsYmZybS5mWzZdKys7CiAgICBjb3ZfY2dkYWxiZnJtLnNbMjJdKys7CgogICAgZm9yICh2YXIgaSA9IChjb3ZfY2dkYWxiZnJtLnNbMjNdKyssIDApOyBpIDwgbG9jYWxTdG9yYWdlLmxlbmd0aDsgaSsrKSB7CiAgICAgIGNvdl9jZ2RhbGJmcm0uc1syNF0rKzsKCiAgICAgIHRyeSB7CiAgICAgICAgLy8gZ2V0IHRoZSBuZXh0IGl0ZW0KICAgICAgICB2YXIga2V5ID0gKGNvdl9jZ2RhbGJmcm0uc1syNV0rKywgbG9jYWxTdG9yYWdlLmtleShpKSk7IC8vIGF0dGVtcHQgdG8gZ2V0IHRoZSBpdGVtIHdoaWNoIHdpbGwgZXhwaXJlIGlmIG5lY2Vzc2FyeQoKICAgICAgICBjb3ZfY2dkYWxiZnJtLnNbMjZdKys7CiAgICAgICAgdGhpcy5nZXRJdGVtKGtleSk7CiAgICAgIH0gY2F0Y2ggKGUpIHsvLyBEbyBub3RoaW5nCiAgICAgIH0KICAgIH0KICB9LAoKICAvKioKICAgKiBTdG9yZXMgdGhlIHNwZWNpZmllZCBpdGVtLgogICAqCiAgICogQHBhcmFtIHtzdHJpbmd9IGtleQogICAqIEBwYXJhbSB7b2JqZWN0fSBpdGVtCiAgICogQHBhcmFtIHtpbnRlZ2VyfSBleHBpcmVzCiAgICovCiAgc2V0SXRlbTogZnVuY3Rpb24gc2V0SXRlbShrZXksIGl0ZW0sIGV4cGlyZXMpIHsKICAgIGNvdl9jZ2RhbGJmcm0uZls3XSsrOwogICAgY292X2NnZGFsYmZybS5zWzI3XSsrOwogICAgLy8gY2FsY3VsYXRlIHRoZSBleHBpcmF0aW9uCiAgICBleHBpcmVzID0gaXNEZWZpbmVkQW5kTm90TnVsbChleHBpcmVzKSA/IChjb3ZfY2dkYWxiZnJtLmJbM11bMF0rKywgZXhwaXJlcykgOiAoY292X2NnZGFsYmZybS5iWzNdWzFdKyssIG5ldyBEYXRlKCkudmFsdWVPZigpICsgVFdPX0RBWVMpOyAvLyBjcmVhdGUgdGhlIGVudHJ5CgogICAgdmFyIGVudHJ5ID0gKGNvdl9jZ2RhbGJmcm0uc1syOF0rKywgewogICAgICBleHBpcmVzOiBleHBpcmVzLAogICAgICBpdGVtOiBpdGVtCiAgICB9KTsgLy8gc3RvcmUgdGhlIGl0ZW0KCiAgICBjb3ZfY2dkYWxiZnJtLnNbMjldKys7CiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KGVudHJ5KSk7CiAgfSwKCiAgLyoqCiAgICogUmV0dXJucyB3aGV0aGVyIHRoZXJlIGlzIGFuIGVudHJ5IGZvciB0aGlzIGtleS4gVGhpcyB3aWxsIG5vdCBjaGVjayB0aGUgZXhwaXJhdGlvbi4gSWYKICAgKiB0aGUgZW50cnkgaXMgZXhwaXJlZCwgaXQgd2lsbCByZXR1cm4gbnVsbCBvbiBhIHN1YnNlcXVlbnQgZ2V0SXRlbSBpbnZvY2F0aW9uLgogICAqCiAgICogQHBhcmFtIHtzdHJpbmd9IGtleQogICAqIEByZXR1cm5zIHtib29sZWFufQogICAqLwogIGhhc0l0ZW06IGZ1bmN0aW9uIGhhc0l0ZW0oa2V5KSB7CiAgICBjb3ZfY2dkYWxiZnJtLmZbOF0rKzsKICAgIGNvdl9jZ2RhbGJmcm0uc1szMF0rKzsKICAgIHJldHVybiBnZXRFbnRyeShrZXkpICE9PSBudWxsOwogIH0sCgogIC8qKgogICAqIEdldHMgdGhlIGl0ZW0gd2l0aCB0aGUgc3BlY2lmaWVkIGtleS4gSWYgYW4gaXRlbSB3aXRoIHRoaXMga2V5IGRvZXMKICAgKiBub3QgZXhpc3QsIG51bGwgaXMgcmV0dXJuZWQuIElmIGFuIGl0ZW0gZXhpc3RzIGJ1dCBjYW5ub3QgYmUgcGFyc2VkCiAgICogb3IgaXMgbWFsZm9ybWVkL3VucmVjb2duaXplZCwgbnVsbCBpcyByZXR1cm5lZC4KICAgKgogICAqIEBwYXJhbSB7dHlwZX0ga2V5CiAgICovCiAgZ2V0SXRlbTogZnVuY3Rpb24gZ2V0SXRlbShrZXkpIHsKICAgIGNvdl9jZ2RhbGJmcm0uZls5XSsrOwogICAgdmFyIGVudHJ5ID0gKGNvdl9jZ2RhbGJmcm0uc1szMV0rKywgZ2V0RW50cnkoa2V5KSk7CiAgICBjb3ZfY2dkYWxiZnJtLnNbMzJdKys7CgogICAgaWYgKGVudHJ5ID09PSBudWxsKSB7CiAgICAgIGNvdl9jZ2RhbGJmcm0uYls0XVswXSsrOwogICAgICBjb3ZfY2dkYWxiZnJtLnNbMzNdKys7CiAgICAgIHJldHVybiBudWxsOwogICAgfSBlbHNlIHsKICAgICAgY292X2NnZGFsYmZybS5iWzRdWzFdKys7CiAgICB9IC8vIGlmIHRoZSBlbnRyeSBpcyBleHBpcmVkLCBkcm9wIGl0IGFuZCByZXR1cm4gbnVsbAoKCiAgICBjb3ZfY2dkYWxiZnJtLnNbMzRdKys7CgogICAgaWYgKGNoZWNrRXhwaXJhdGlvbihlbnRyeSkpIHsKICAgICAgY292X2NnZGFsYmZybS5iWzVdWzBdKys7CiAgICAgIGNvdl9jZ2RhbGJmcm0uc1szNV0rKzsKICAgICAgdGhpcy5yZW1vdmVJdGVtKGtleSk7CiAgICAgIGNvdl9jZ2RhbGJmcm0uc1szNl0rKzsKICAgICAgcmV0dXJuIG51bGw7CiAgICB9IGVsc2UgewogICAgICBjb3ZfY2dkYWxiZnJtLmJbNV1bMV0rKzsKICAgIH0gLy8gaWYgdGhlIGVudHJ5IGhhcyB0aGUgc3BlY2lmaWVkIGZpZWxkIHJldHVybiBpdHMgdmFsdWUKCgogICAgY292X2NnZGFsYmZybS5zWzM3XSsrOwoKICAgIGlmIChpc0RlZmluZWRBbmROb3ROdWxsKGVudHJ5WydpdGVtJ10pKSB7CiAgICAgIGNvdl9jZ2RhbGJmcm0uYls2XVswXSsrOwogICAgICBjb3ZfY2dkYWxiZnJtLnNbMzhdKys7CiAgICAgIHJldHVybiBlbnRyeVsnaXRlbSddOwogICAgfSBlbHNlIHsKICAgICAgY292X2NnZGFsYmZybS5iWzZdWzFdKys7CiAgICB9CgogICAgY292X2NnZGFsYmZybS5zWzM5XSsrOwogICAgcmV0dXJuIG51bGw7CiAgfSwKCiAgLyoqCiAgICogR2V0cyB0aGUgZXhwaXJhdGlvbiBmb3IgdGhlIHNwZWNpZmllZCBpdGVtLiBUaGlzIHdpbGwgbm90IGNoZWNrIHRoZSBleHBpcmF0aW9uLiBJZgogICAqIHRoZSBlbnRyeSBpcyBleHBpcmVkLCBpdCB3aWxsIHJldHVybiBudWxsIG9uIGEgc3Vic2VxdWVudCBnZXRJdGVtIGludm9jYXRpb24uCiAgICoKICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5CiAgICogQHJldHVybnMge2ludGVnZXJ9CiAgICovCiAgZ2V0SXRlbUV4cGlyYXRpb246IGZ1bmN0aW9uIGdldEl0ZW1FeHBpcmF0aW9uKGtleSkgewogICAgY292X2NnZGFsYmZybS5mWzEwXSsrOwogICAgdmFyIGVudHJ5ID0gKGNvdl9jZ2RhbGJmcm0uc1s0MF0rKywgZ2V0RW50cnkoa2V5KSk7CiAgICBjb3ZfY2dkYWxiZnJtLnNbNDFdKys7CgogICAgaWYgKGVudHJ5ID09PSBudWxsKSB7CiAgICAgIGNvdl9jZ2RhbGJmcm0uYls3XVswXSsrOwogICAgICBjb3ZfY2dkYWxiZnJtLnNbNDJdKys7CiAgICAgIHJldHVybiBudWxsOwogICAgfSBlbHNlIHsKICAgICAgY292X2NnZGFsYmZybS5iWzddWzFdKys7CiAgICB9IC8vIGlmIHRoZSBlbnRyeSBoYXMgdGhlIHNwZWNpZmllZCBmaWVsZCByZXR1cm4gaXRzIHZhbHVlCgoKICAgIGNvdl9jZ2RhbGJmcm0uc1s0M10rKzsKCiAgICBpZiAoaXNEZWZpbmVkQW5kTm90TnVsbChlbnRyeVsnZXhwaXJlcyddKSkgewogICAgICBjb3ZfY2dkYWxiZnJtLmJbOF1bMF0rKzsKICAgICAgY292X2NnZGFsYmZybS5zWzQ0XSsrOwogICAgICByZXR1cm4gZW50cnlbJ2V4cGlyZXMnXTsKICAgIH0gZWxzZSB7CiAgICAgIGNvdl9jZ2RhbGJmcm0uYls4XVsxXSsrOwogICAgfQoKICAgIGNvdl9jZ2RhbGJmcm0uc1s0NV0rKzsKICAgIHJldHVybiBudWxsOwogIH0sCgogIC8qKgogICAqIEV4dHJhY3RzIHRoZSBzdWJqZWN0IGZyb20gdGhlIHNwZWNpZmllZCBqd3QuIElmIHRoZSBqd3QgaXMgbm90IGFzIGV4cGVjdGVkCiAgICogYW4gZW1wdHkgc3RyaW5nIGlzIHJldHVybmVkLgogICAqCiAgICogQHBhcmFtIHtzdHJpbmd9IGp3dAogICAqIEByZXR1cm5zIHtzdHJpbmd9CiAgICovCiAgZ2V0Snd0UGF5bG9hZDogZnVuY3Rpb24gZ2V0Snd0UGF5bG9hZChqd3QpIHsKICAgIGNvdl9jZ2RhbGJmcm0uZlsxMV0rKzsKICAgIGNvdl9jZ2RhbGJmcm0uc1s0Nl0rKzsKCiAgICBpZiAoaXNEZWZpbmVkQW5kTm90TnVsbChqd3QpKSB7CiAgICAgIGNvdl9jZ2RhbGJmcm0uYls5XVswXSsrOwogICAgICB2YXIgc2VnbWVudHMgPSAoY292X2NnZGFsYmZybS5zWzQ3XSsrLCBqd3Quc3BsaXQoL1wuLykpOwogICAgICBjb3ZfY2dkYWxiZnJtLnNbNDhdKys7CgogICAgICBpZiAoc2VnbWVudHMubGVuZ3RoICE9PSAzKSB7CiAgICAgICAgY292X2NnZGFsYmZybS5iWzEwXVswXSsrOwogICAgICAgIGNvdl9jZ2RhbGJmcm0uc1s0OV0rKzsKICAgICAgICByZXR1cm4gJyc7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY292X2NnZGFsYmZybS5iWzEwXVsxXSsrOwogICAgICB9CgogICAgICB2YXIgcmF3UGF5bG9hZCA9IChjb3ZfY2dkYWxiZnJtLnNbNTBdKyssIHdpbmRvdy5hdG9iKHNlZ21lbnRzWzFdKSk7CiAgICAgIHZhciBwYXlsb2FkID0gKGNvdl9jZ2RhbGJmcm0uc1s1MV0rKywgSlNPTi5wYXJzZShyYXdQYXlsb2FkKSk7CiAgICAgIGNvdl9jZ2RhbGJmcm0uc1s1Ml0rKzsKCiAgICAgIGlmIChpc0RlZmluZWRBbmROb3ROdWxsKHBheWxvYWQpKSB7CiAgICAgICAgY292X2NnZGFsYmZybS5iWzExXVswXSsrOwogICAgICAgIGNvdl9jZ2RhbGJmcm0uc1s1M10rKzsKICAgICAgICByZXR1cm4gcGF5bG9hZDsKICAgICAgfSBlbHNlIHsKICAgICAgICBjb3ZfY2dkYWxiZnJtLmJbMTFdWzFdKys7CiAgICAgIH0KCiAgICAgIGNvdl9jZ2RhbGJmcm0uc1s1NF0rKzsKICAgICAgcmV0dXJuIG51bGw7CiAgICB9IGVsc2UgewogICAgICBjb3ZfY2dkYWxiZnJtLmJbOV1bMV0rKzsKICAgIH0KCiAgICBjb3ZfY2dkYWxiZnJtLnNbNTVdKys7CiAgICByZXR1cm4gbnVsbDsKICB9LAoKICAvKioKICAgKiBSZW1vdmVzIHRoZSBpdGVtIHdpdGggdGhlIHNwZWNpZmllZCBrZXkuCiAgICoKICAgKiBAcGFyYW0ge3R5cGV9IGtleQogICAqLwogIHJlbW92ZUl0ZW06IGZ1bmN0aW9uIHJlbW92ZUl0ZW0oa2V5KSB7CiAgICBjb3ZfY2dkYWxiZnJtLmZbMTJdKys7CiAgICBjb3ZfY2dkYWxiZnJtLnNbNTZdKys7CiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpOwogIH0KfTsKY292X2NnZGFsYmZybS5zWzU3XSsrOwpGZHNTdG9yYWdlU2VydmljZS5wYXJhbWV0ZXJzID0gW107CmV4cG9ydCBkZWZhdWx0IEZkc1N0b3JhZ2VTZXJ2aWNlOw=="}]}