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CgBy9QYBAQFuAQBYZAIAUyhhAAAAc30EAABPUyByb3V0aW5lcyBmb3IgTlQgb3IgUG9zaXggZGVwZW5kaW5nIG9uIHdoYXQgc3lzdGVtIHdlJ3JlIG9uLgoKVGhpcyBleHBvcnRzOgogIC0gYWxsIGZ1bmN0aW9ucyBmcm9tIHBvc2l4LCBudCwgb3MyLCBvciBjZSwgZS5nLiB1bmxpbmssIHN0YXQsIGV0Yy4KICAtIG9zLnBhdGggaXMgb25lIG9mIHRoZSBtb2R1bGVzIHBvc2l4cGF0aCwgb3IgbnRwYXRoCiAgLSBvcy5uYW1lIGlzICdwb3NpeCcsICdudCcsICdvczInLCAnY2UnIG9yICdyaXNjb3MnCiAgLSBvcy5jdXJkaXIgaXMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBjdXJyZW50IGRpcmVjdG9yeSAoJy4nIG9yICc6JykKICAtIG9zLnBhcmRpciBpcyBhIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIHBhcmVudCBkaXJlY3RvcnkgKCcuLicgb3IgJzo6JykKICAtIG9zLnNlcCBpcyB0aGUgKG9yIGEgbW9zdCBjb21tb24pIHBhdGhuYW1lIHNlcGFyYXRvciAoJy8nIG9yICc6JyBvciAnXFwnKQogIC0gb3MuZXh0c2VwIGlzIHRoZSBleHRlbnNpb24gc2VwYXJhdG9yICgnLicgb3IgJy8nKQogIC0gb3MuYWx0c2VwIGlzIHRoZSBhbHRlcm5hdGUgcGF0aG5hbWUgc2VwYXJhdG9yIChOb25lIG9yICcvJykKICAtIG9zLnBhdGhzZXAgaXMgdGhlIGNvbXBvbmVudCBzZXBhcmF0b3IgdXNlZCBpbiAkUEFUSCBldGMKICAtIG9zLmxpbmVzZXAgaXMgdGhlIGxpbmUgc2VwYXJhdG9yIGluIHRleHQgZmlsZXMgKCdccicgb3IgJ1xuJyBvciAnXHJcbicpCiAgLSBvcy5kZWZwYXRoIGlzIHRoZSBkZWZhdWx0IHNlYXJjaCBwYXRoIGZvciBleGVjdXRhYmxlcwogIC0gb3MuZGV2bnVsbCBpcyB0aGUgZmlsZSBwYXRoIG9mIHRoZSBudWxsIGRldmljZSAoJy9kZXYvbnVsbCcsIGV0Yy4pCgpQcm9ncmFtcyB0aGF0IGltcG9ydCBhbmQgdXNlICdvcycgc3RhbmQgYSBiZXR0ZXIgY2hhbmNlIG9mIGJlaW5nCnBvcnRhYmxlIGJldHdlZW4gZGlmZmVyZW50IHBsYXRmb3Jtcy4gIE9mIGNvdXJzZSwgdGhleSBtdXN0IHRoZW4Kb25seSB1c2UgZnVuY3Rpb25zIHRoYXQgYXJlIGRlZmluZWQgYnkgYWxsIHBsYXRmb3JtcyAoZS5nLiwgdW5saW5rCmFuZCBvcGVuZGlyKSwgYW5kIGxlYXZlIGFsbCBwYXRobmFtZSBtYW5pcHVsYXRpb24gdG8gb3MucGF0aAooZS5nLiwgc3BsaXQgYW5kIGpvaW4pLgpp/////050BgAAAGFsdHNlcHQGAAAAY3VyZGlydAYAAABwYXJkaXJ0AwAAAHNlcHQGAAAAZXh0c2VwdAcAAABwYXRoc2VwdAcAAABsaW5lc2VwdAcAAABkZWZwYXRodAQAAABuYW1ldAQAAABwYXRodAcAAABkZXZudWxsdAgAAABTRUVLX1NFVHQIAAAAU0VFS19DVVJ0CAAAAFNFRUtfRU5EYwEAAAACAAAABQAAAEMAAABzUwAAAHkRAHQAAHwAAGoBAIMBAFNXbjsABHQCAGsKAHJOAAEBAWcAAHQDAHwAAIMBAERdHAB9AQB8AQBkAQAZZAIAawMAci4AfAEAXgIAcS4AU1hkAABTKAMAAABOaQAAAAB0AQAAAF8oBAAAAHQEAAAAbGlzdHQHAAAAX19hbGxfX3QOAAAAQXR0cmlidXRlRXJyb3J0AwAAAGRpcigCAAAAdAYAAABtb2R1bGV0AQAAAG4oAAAAACgAAAAAczEAAABEOlxzcmNcdG1wXHB5dGhvbi12aGFycm9uXFB5dGhvbi0yLjcuMTBcbGliXG9zLnB5dBEAAABfZ2V0X2V4cG9ydHNfbGlzdCMAAABzCAAAAAABAwERAQ0BdAUAAABwb3NpeHMBAAAACigBAAAAdAEAAAAqKAEAAAB0BQAAAF9leGl0dAIAAABudHMCAAAADQp0AwAAAG9zMnMHAAAARU1YIEdDQygBAAAAdAQAAABsaW5rdAIAAABjZXQGAAAAcmlzY29zcxsAAABubyBvcyBzcGVjaWZpYyBtb2R1bGUgZm91bmRzBwAAAG9zLnBhdGgoCAAAAFIBAAAAUgIAAABSAwAAAFIFAAAAUgcAAABSBAAAAFIAAAAAUgoAAABpAAAAAGkBAAAAaQIAAABp/wEAAGMCAAAABQAAAAUAAABDAAAAc7IAAAB0AABqAQB8AACDAQBcAgB9AgB9AwB8AwBzMwB0AABqAQB8AgCDAQBcAgB9AgB9AwBuAAB8AgByoQB8AwByoQB0AABqAgB8AgCDAQAMcqEAeREAdAMAfAIAfAEAgwIAAVduKwAEdAQAawoAco0AAX0EAAF8BABqBQB0BQBqBgBrAwByjgCCAABxjgBuAQBYfAMAdAcAawIAcqEAZAEAU24AAHQIAHwAAHwBAIMCAAFkAQBTKAIAAABzAgEAAG1ha2VkaXJzKHBhdGggWywgbW9kZT0wNzc3XSkKCiAgICBTdXBlci1ta2RpcjsgY3JlYXRlIGEgbGVhZiBkaXJlY3RvcnkgYW5kIGFsbCBpbnRlcm1lZGlhdGUgb25lcy4KICAgIFdvcmtzIGxpa2UgbWtkaXIsIGV4Y2VwdCB0aGF0IGFueSBpbnRlcm1lZGlhdGUgcGF0aCBzZWdtZW50IChub3QKICAgIGp1c3QgdGhlIHJpZ2h0bW9zdCkgd2lsbCBiZSBjcmVhdGVkIGlmIGl0IGRvZXMgbm90IGV4aXN0LiAgVGhpcyBpcwogICAgcmVjdXJzaXZlLgoKICAgIE4oCQAAAFIJAAAAdAUAAABzcGxpdHQGAAAAZXhpc3RzdAgAAABtYWtlZGlyc3QHAAAAT1NFcnJvcnQFAAAAZXJybm90BgAAAEVFWElTVFIBAAAAdAUAAABta2RpcigFAAAAUggAAAB0BAAAAG1vZGV0BAAAAGhlYWR0BAAAAHRhaWx0AQAAAGUoAAAAACgAAAAAczEAAABEOlxzcmNcdG1wXHB5dGhvbi12aGFycm9uXFB5dGhvbi0yLjcuMTBcbGliXG9zLnB5UiAAAACIAAAAcxgAAAAACRUBBgEYARwBAwERAQ8CEgEKAQwBBwFjAQAAAAMAAAAFAAAAQwAAAHOMAAAAdAAAfAAAgwEAAXQBAGoCAHwAAIMBAFwCAH0BAH0CAHwCAHM9AHQBAGoCAHwBAIMBAFwCAH0BAH0CAG4AAHhIAHwBAHKHAHwCAHKHAHkOAHQAAHwBAIMBAAFXbhIABHQDAGsKAHJuAAEBAVBuAQBYdAEAagIAfAEAgwEAXAIAfQEAfQIAcUAAV2QBAFMoAgAAAHOsAQAAcmVtb3ZlZGlycyhwYXRoKQoKICAgIFN1cGVyLXJtZGlyOyByZW1vdmUgYSBsZWFmIGRpcmVjdG9yeSBhbmQgYWxsIGVtcHR5IGludGVybWVkaWF0ZQogICAgb25lcy4gIFdvcmtzIGxpa2Ugcm1kaXIgZXhjZXB0IHRoYXQsIGlmIHRoZSBsZWFmIGRpcmVjdG9yeSBpcwogICAgc3VjY2Vzc2Z1bGx5IHJlbW92ZWQsIGRpcmVjdG9yaWVzIGNvcnJlc3BvbmRpbmcgdG8gcmlnaHRtb3N0IHBhdGgKICAgIHNlZ21lbnRzIHdpbGwgYmUgcHJ1bmVkIGF3YXkgdW50aWwgZWl0aGVyIHRoZSB3aG9sZSBwYXRoIGlzCiAgICBjb25zdW1lZCBvciBhbiBlcnJvciBvY2N1cnMuICBFcnJvcnMgZHVyaW5nIHRoaXMgbGF0dGVyIHBoYXNlIGFyZQogICAgaWdub3JlZCAtLSB0aGV5IGdlbmVyYWxseSBtZWFuIHRoYXQgYSBkaXJlY3Rvcnkgd2FzIG5vdCBlbXB0eS4KCiAgICBOKAQAAAB0BQAAAHJtZGlyUgkAAABSHgAAAHQFAAAAZXJyb3IoAwAAAFIIAAAAUiYAAABSJwAAACgAAAAAKAAAAABzMQAAAEQ6XHNyY1x0bXBccHl0aG9uLXZoYXJyb25cUHl0aG9uLTIuNy4xMFxsaWJcb3MucHl0CgAAAHJlbW92ZWRpcnOfAAAAcxQAAAAACwoBFQEGARgBDwEDAQ4BDQEFAWMCAAAABAAAAAUAAABDAAAAc5UAAAB0AABqAQB8AQCDAQBcAgB9AgB9AwB8AgByPgB8AwByPgB0AABqAgB8AgCDAQAMcj4AdAMAfAIAgwEAAW4AAHQEAHwAAHwBAIMCAAF0AABqAQB8AACDAQBcAgB9AgB9AwB8AgBykQB8AwBykQB5DgB0BQB8AgCDAQABV3GRAAR0BgBrCgByjQABAQFxkQBYbgAAZAEAUygCAAAAczwCAAByZW5hbWVzKG9sZCwgbmV3KQoKICAgIFN1cGVyLXJlbmFtZTsgY3JlYXRlIGRpcmVjdG9yaWVzIGFzIG5lY2Vzc2FyeSBhbmQgZGVsZXRlIGFueSBsZWZ0CiAgICBlbXB0eS4gIFdvcmtzIGxpa2UgcmVuYW1lLCBleGNlcHQgY3JlYXRpb24gb2YgYW55IGludGVybWVkaWF0ZQogICAgZGlyZWN0b3JpZXMgbmVlZGVkIHRvIG1ha2UgdGhlIG5ldyBwYXRobmFtZSBnb29kIGlzIGF0dGVtcHRlZAogICAgZmlyc3QuICBBZnRlciB0aGUgcmVuYW1lLCBkaXJlY3RvcmllcyBjb3JyZXNwb25kaW5nIHRvIHJpZ2h0bW9zdAogICAgcGF0aCBzZWdtZW50cyBvZiB0aGUgb2xkIG5hbWUgd2lsbCBiZSBwcnVuZWQgdW50aWwgZWl0aGVyIHRoZQogICAgd2hvbGUgcGF0aCBpcyBjb25zdW1lZCBvciBhIG5vbmVtcHR5IGRpcmVjdG9yeSBpcyBmb3VuZC4KCiAgICBOb3RlOiB0aGlzIGZ1bmN0aW9uIGNhbiBmYWlsIHdpdGggdGhlIG5ldyBkaXJlY3Rvcnkgc3RydWN0dXJlIG1hZGUKICAgIGlmIHlvdSBsYWNrIHBlcm1pc3Npb25zIG5lZWRlZCB0byB1bmxpbmsgdGhlIGxlYWYgZGlyZWN0b3J5IG9yCiAgICBmaWxlLgoKICAgIE4oBwAAAFIJAAAAUh4AAABSHwAAAFIgAAAAdAYAAAByZW5hbWVSKwAAAFIqAAAAKAQAAAB0AwAAAG9sZHQDAAAAbmV3UiYAAABSJwAAACgAAAAAKAAAAABzMQAAAEQ6XHNyY1x0bXBccHl0aG9uLXZoYXJyb25cUHl0aG9uLTIuNy4xMFxsaWJcb3MucHl0BwAAAHJlbmFtZXO1AAAAcxQAAAAADxUBHAENAQ0BFQEMAQMBDgENAVIgAAAAUisAAABSLwAAAGMEAAAADgAAAAYAAABjAAAAczoBAAB0AABqAQB0AABqAgB0AABqAwADAn0EAH0FAH0GAHkQAHQEAHwAAIMBAH0HAFduLQAEdAUAawoAclwAAX0IAAF8AgBkAQBrCQByWAB8AgB8CACDAQABbgAAZAEAU1hnAABnAAACfQkAfQoAeEAAfAcARF04AH0LAHwGAHwFAHwAAHwLAIMCAIMBAHKcAHwJAGoHAHwLAIMBAAFxcQB8CgBqBwB8CwCDAQABcXEAV3wBAHLEAHwAAHwJAHwKAGYDAFYBbgAAeFgAfAkARF1QAH0LAHwFAHwAAHwLAIMCAH0MAHwDAHPzAHwEAHwMAIMBAAxyywB4JQB0CAB8DAB8AQB8AgB8AwCDBABEXQsAfQ0AfA0AVgFxCQFXccsAccsAV3wBAHM2AXwAAHwJAHwKAGYDAFYBbgAAZAEAUygCAAAAc9MKAABEaXJlY3RvcnkgdHJlZSBnZW5lcmF0b3IuCgogICAgRm9yIGVhY2ggZGlyZWN0b3J5IGluIHRoZSBkaXJlY3RvcnkgdHJlZSByb290ZWQgYXQgdG9wIChpbmNsdWRpbmcgdG9wCiAgICBpdHNlbGYsIGJ1dCBleGNsdWRpbmcgJy4nIGFuZCAnLi4nKSwgeWllbGRzIGEgMy10dXBsZQoKICAgICAgICBkaXJwYXRoLCBkaXJuYW1lcywgZmlsZW5hbWVzCgogICAgZGlycGF0aCBpcyBhIHN0cmluZywgdGhlIHBhdGggdG8gdGhlIGRpcmVjdG9yeS4gIGRpcm5hbWVzIGlzIGEgbGlzdCBvZgogICAgdGhlIG5hbWVzIG9mIHRoZSBzdWJkaXJlY3RvcmllcyBpbiBkaXJwYXRoIChleGNsdWRpbmcgJy4nIGFuZCAnLi4nKS4KICAgIGZpbGVuYW1lcyBpcyBhIGxpc3Qgb2YgdGhlIG5hbWVzIG9mIHRoZSBub24tZGlyZWN0b3J5IGZpbGVzIGluIGRpcnBhdGguCiAgICBOb3RlIHRoYXQgdGhlIG5hbWVzIGluIHRoZSBsaXN0cyBhcmUganVzdCBuYW1lcywgd2l0aCBubyBwYXRoIGNvbXBvbmVudHMuCiAgICBUbyBnZXQgYSBmdWxsIHBhdGggKHdoaWNoIGJlZ2lucyB3aXRoIHRvcCkgdG8gYSBmaWxlIG9yIGRpcmVjdG9yeSBpbgogICAgZGlycGF0aCwgZG8gb3MucGF0aC5qb2luKGRpcnBhdGgsIG5hbWUpLgoKICAgIElmIG9wdGlvbmFsIGFyZyAndG9wZG93bicgaXMgdHJ1ZSBvciBub3Qgc3BlY2lmaWVkLCB0aGUgdHJpcGxlIGZvciBhCiAgICBkaXJlY3RvcnkgaXMgZ2VuZXJhdGVkIGJlZm9yZSB0aGUgdHJpcGxlcyBmb3IgYW55IG9mIGl0cyBzdWJkaXJlY3RvcmllcwogICAgKGRpcmVjdG9yaWVzIGFyZSBnZW5lcmF0ZWQgdG9wIGRvd24pLiAgSWYgdG9wZG93biBpcyBmYWxzZSwgdGhlIHRyaXBsZQogICAgZm9yIGEgZGlyZWN0b3J5IGlzIGdlbmVyYXRlZCBhZnRlciB0aGUgdHJpcGxlcyBmb3IgYWxsIG9mIGl0cwogICAgc3ViZGlyZWN0b3JpZXMgKGRpcmVjdG9yaWVzIGFyZSBnZW5lcmF0ZWQgYm90dG9tIHVwKS4KCiAgICBXaGVuIHRvcGRvd24gaXMgdHJ1ZSwgdGhlIGNhbGxlciBjYW4gbW9kaWZ5IHRoZSBkaXJuYW1lcyBsaXN0IGluLXBsYWNlCiAgICAoZS5nLiwgdmlhIGRlbCBvciBzbGljZSBhc3NpZ25tZW50KSwgYW5kIHdhbGsgd2lsbCBvbmx5IHJlY3Vyc2UgaW50byB0aGUKICAgIHN1YmRpcmVjdG9yaWVzIHdob3NlIG5hbWVzIHJlbWFpbiBpbiBkaXJuYW1lczsgdGhpcyBjYW4gYmUgdXNlZCB0byBwcnVuZSB0aGUKICAgIHNlYXJjaCwgb3IgdG8gaW1wb3NlIGEgc3BlY2lmaWMgb3JkZXIgb2YgdmlzaXRpbmcuICBNb2RpZnlpbmcgZGlybmFtZXMgd2hlbgogICAgdG9wZG93biBpcyBmYWxzZSBpcyBpbmVmZmVjdGl2ZSwgc2luY2UgdGhlIGRpcmVjdG9yaWVzIGluIGRpcm5hbWVzIGhhdmUKICAgIGFscmVhZHkgYmVlbiBnZW5lcmF0ZWQgYnkgdGhlIHRpbWUgZGlybmFtZXMgaXRzZWxmIGlzIGdlbmVyYXRlZC4gTm8gbWF0dGVyCiAgICB0aGUgdmFsdWUgb2YgdG9wZG93biwgdGhlIGxpc3Qgb2Ygc3ViZGlyZWN0b3JpZXMgaXMgcmV0cmlldmVkIGJlZm9yZSB0aGUKICAgIHR1cGxlcyBmb3IgdGhlIGRpcmVjdG9yeSBhbmQgaXRzIHN1YmRpcmVjdG9yaWVzIGFyZSBnZW5lcmF0ZWQuCgogICAgQnkgZGVmYXVsdCBlcnJvcnMgZnJvbSB0aGUgb3MubGlzdGRpcigpIGNhbGwgYXJlIGlnbm9yZWQuICBJZgogICAgb3B0aW9uYWwgYXJnICdvbmVycm9yJyBpcyBzcGVjaWZpZWQsIGl0IHNob3VsZCBiZSBhIGZ1bmN0aW9uOyBpdAogICAgd2lsbCBiZSBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQsIGFuIG9zLmVycm9yIGluc3RhbmNlLiAgSXQgY2FuCiAgICByZXBvcnQgdGhlIGVycm9yIHRvIGNvbnRpbnVlIHdpdGggdGhlIHdhbGssIG9yIHJhaXNlIHRoZSBleGNlcHRpb24KICAgIHRvIGFib3J0IHRoZSB3YWxrLiAgTm90ZSB0aGF0IHRoZSBmaWxlbmFtZSBpcyBhdmFpbGFibGUgYXMgdGhlCiAgICBmaWxlbmFtZSBhdHRyaWJ1dGUgb2YgdGhlIGV4Y2VwdGlvbiBvYmplY3QuCgogICAgQnkgZGVmYXVsdCwgb3Mud2FsayBkb2VzIG5vdCBmb2xsb3cgc3ltYm9saWMgbGlua3MgdG8gc3ViZGlyZWN0b3JpZXMgb24KICAgIHN5c3RlbXMgdGhhdCBzdXBwb3J0IHRoZW0uICBJbiBvcmRlciB0byBnZXQgdGhpcyBmdW5jdGlvbmFsaXR5LCBzZXQgdGhlCiAgICBvcHRpb25hbCBhcmd1bWVudCAnZm9sbG93bGlua3MnIHRvIHRydWUuCgogICAgQ2F1dGlvbjogIGlmIHlvdSBwYXNzIGEgcmVsYXRpdmUgcGF0aG5hbWUgZm9yIHRvcCwgZG9uJ3QgY2hhbmdlIHRoZQogICAgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSBiZXR3ZWVuIHJlc3VtcHRpb25zIG9mIHdhbGsuICB3YWxrIG5ldmVyCiAgICBjaGFuZ2VzIHRoZSBjdXJyZW50IGRpcmVjdG9yeSwgYW5kIGFzc3VtZXMgdGhhdCB0aGUgY2xpZW50IGRvZXNuJ3QKICAgIGVpdGhlci4KCiAgICBFeGFtcGxlOgoKICAgIGltcG9ydCBvcwogICAgZnJvbSBvcy5wYXRoIGltcG9ydCBqb2luLCBnZXRzaXplCiAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2FsaygncHl0aG9uL0xpYi9lbWFpbCcpOgogICAgICAgIHByaW50IHJvb3QsICJjb25zdW1lcyIsCiAgICAgICAgcHJpbnQgc3VtKFtnZXRzaXpl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