diff --git a/.github/workflows/ios_build.yaml b/.github/workflows/ios_build.yaml new file mode 100644 index 000000000..ea73f2e21 --- /dev/null +++ b/.github/workflows/ios_build.yaml @@ -0,0 +1,57 @@ +name: iOS Build Verification + +on: + pull_request: + paths: + - "lib/src/commands/create/templates/**" + push: + branches: [main] + paths: + - "lib/src/commands/create/templates/**" + +jobs: + ios-build: + runs-on: macos-latest + strategy: + matrix: + template: + - very_good_core + - very_good_flame_game + steps: + - uses: actions/checkout@v4 + + - uses: subosito/flutter-action@v2 + with: + flutter-version: "3.38.x" + channel: stable + + - name: Install Dependencies + run: dart pub get + + - name: Generate Test Project + run: | + if [ "${{ matrix.template }}" = "very_good_core" ]; then + dart run bin/very_good.dart create flutter_app test_app --template core -o /tmp + else + dart run bin/very_good.dart create flutter_app test_app --template ${{ matrix.template }} -o /tmp + fi + + - name: Build iOS (no-codesign) + working-directory: /tmp/test_app + run: flutter build ios --no-codesign --debug + + - name: Verify UIScene Configuration + run: | + echo "Checking for UIApplicationSceneManifest in Info.plist..." + grep -q "UIApplicationSceneManifest" /tmp/test_app/ios/Runner/Info.plist || (echo "FAILED: UIApplicationSceneManifest not found" && exit 1) + + echo "Checking for SceneDelegate.swift..." + test -f /tmp/test_app/ios/Runner/SceneDelegate.swift || (echo "FAILED: SceneDelegate.swift not found" && exit 1) + + echo "Checking for @main in AppDelegate.swift..." + grep -q "@main" /tmp/test_app/ios/Runner/AppDelegate.swift || (echo "FAILED: @main not found in AppDelegate.swift" && exit 1) + + echo "Checking for FlutterImplicitEngineDelegate in AppDelegate.swift..." + grep -q "FlutterImplicitEngineDelegate" /tmp/test_app/ios/Runner/AppDelegate.swift || (echo "FAILED: FlutterImplicitEngineDelegate not found" && exit 1) + + echo "All UIScene configuration checks passed!" diff --git a/CHANGELOG.md b/CHANGELOG.md index 5bc3c19f7..bc2bfaa3a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Changelog +## Unreleased + +### Features + +* update iOS templates to use UIScene lifecycle for Flutter 3.38+ ([#1436](https://github.com/VeryGoodOpenSource/very_good_cli/issues/1436)) + +### Continuous Integration + +* add iOS build verification workflow ([#1436](https://github.com/VeryGoodOpenSource/very_good_cli/issues/1436)) + ## [0.28.0](https://github.com/VeryGoodOpenSource/very_good_cli/compare/v0.27.0...v0.28.0) (2025-10-03) diff --git a/lib/src/commands/create/templates/very_good_core/very_good_core_bundle.dart b/lib/src/commands/create/templates/very_good_core/very_good_core_bundle.dart index 703e74550..2aa9b07c7 100644 --- a/lib/src/commands/create/templates/very_good_core/very_good_core_bundle.dart +++ b/lib/src/commands/create/templates/very_good_core/very_good_core_bundle.dart @@ -26,7 +26,7 @@ final veryGoodCoreBundle = MasonBundle.fromJson({ { "path": ".github/workflows/main.yaml", "data": - "bmFtZToge3twcm9qZWN0X25hbWUuc25ha2VDYXNlKCl9fQoKY29uY3VycmVuY3k6CiAgZ3JvdXA6ICR7eyNtdXN0YWNoZUNhc2V9fWdpdGh1Yi53b3JrZmxvd3t7L211c3RhY2hlQ2FzZX19LSR7eyNtdXN0YWNoZUNhc2V9fWdpdGh1Yi5yZWZ7ey9tdXN0YWNoZUNhc2V9fQogIGNhbmNlbC1pbi1wcm9ncmVzczogdHJ1ZQoKb246CiAgcHVzaDoKICAgIGJyYW5jaGVzOgogICAgICAtIG1haW4KICBwdWxsX3JlcXVlc3Q6CiAgICBicmFuY2hlczoKICAgICAgLSBtYWluCgpqb2JzOgogIHNlbWFudGljLXB1bGwtcmVxdWVzdDoKICAgIHVzZXM6IFZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2Rfd29ya2Zsb3dzLy5naXRodWIvd29ya2Zsb3dzL3NlbWFudGljX3B1bGxfcmVxdWVzdC55bWxAdjEKCiAgYnVpbGQ6CiAgICB1c2VzOiBWZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3dvcmtmbG93cy8uZ2l0aHViL3dvcmtmbG93cy9mbHV0dGVyX3BhY2thZ2UueW1sQHYxCiAgICB3aXRoOgogICAgICBmbHV0dGVyX3ZlcnNpb246ICIzLjM1LngiCgogIHNwZWxsLWNoZWNrOgogICAgdXNlczogVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF93b3JrZmxvd3MvLmdpdGh1Yi93b3JrZmxvd3Mvc3BlbGxfY2hlY2sueW1sQHYxCiAgICB3aXRoOgogICAgICBpbmNsdWRlczogfAogICAgICAgICoqLyoubWQKICAgICAgbW9kaWZpZWRfZmlsZXNfb25seTogZmFsc2UK", + "bmFtZToge3twcm9qZWN0X25hbWUuc25ha2VDYXNlKCl9fQoKY29uY3VycmVuY3k6CiAgZ3JvdXA6ICR7eyNtdXN0YWNoZUNhc2V9fWdpdGh1Yi53b3JrZmxvd3t7L211c3RhY2hlQ2FzZX19LSR7eyNtdXN0YWNoZUNhc2V9fWdpdGh1Yi5yZWZ7ey9tdXN0YWNoZUNhc2V9fQogIGNhbmNlbC1pbi1wcm9ncmVzczogdHJ1ZQoKb246CiAgcHVzaDoKICAgIGJyYW5jaGVzOgogICAgICAtIG1haW4KICBwdWxsX3JlcXVlc3Q6CiAgICBicmFuY2hlczoKICAgICAgLSBtYWluCgpqb2JzOgogIHNlbWFudGljLXB1bGwtcmVxdWVzdDoKICAgIHVzZXM6IFZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2Rfd29ya2Zsb3dzLy5naXRodWIvd29ya2Zsb3dzL3NlbWFudGljX3B1bGxfcmVxdWVzdC55bWxAdjEKCiAgYnVpbGQ6CiAgICB1c2VzOiBWZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3dvcmtmbG93cy8uZ2l0aHViL3dvcmtmbG93cy9mbHV0dGVyX3BhY2thZ2UueW1sQHYxCiAgICB3aXRoOgogICAgICBmbHV0dGVyX3ZlcnNpb246ICIzLjM1LngiCiAgICAgIHJ1bl9ibG9jX2xpbnQ6IHRydWUKCiAgc3BlbGwtY2hlY2s6CiAgICB1c2VzOiBWZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3dvcmtmbG93cy8uZ2l0aHViL3dvcmtmbG93cy9zcGVsbF9jaGVjay55bWxAdjEKICAgIHdpdGg6CiAgICAgIGluY2x1ZGVzOiB8CiAgICAgICAgKiovKi5tZAogICAgICBtb2RpZmllZF9maWxlc19vbmx5OiBmYWxzZQo=", "type": "text", }, { @@ -74,7 +74,7 @@ final veryGoodCoreBundle = MasonBundle.fromJson({ { "path": "analysis_options.yaml", "data": - "aW5jbHVkZTogcGFja2FnZTp2ZXJ5X2dvb2RfYW5hbHlzaXMvYW5hbHlzaXNfb3B0aW9ucy55YW1sCmFuYWx5emVyOgogIGV4Y2x1ZGU6CiAgICAtIGxpYi9sMTBuL2dlbi8qCmxpbnRlcjoKICBydWxlczoKICAgIHB1YmxpY19tZW1iZXJfYXBpX2RvY3M6IGZhbHNlCg==", + "aW5jbHVkZToKICAtIHBhY2thZ2U6dmVyeV9nb29kX2FuYWx5c2lzL2FuYWx5c2lzX29wdGlvbnMueWFtbAogIC0gcGFja2FnZTpibG9jX2xpbnQvcmVjb21tZW5kZWQueWFtbAphbmFseXplcjoKICBleGNsdWRlOgogICAgLSBsaWIvbDEwbi9nZW4vKgpsaW50ZXI6CiAgcnVsZXM6CiAgICBwdWJsaWNfbWVtYmVyX2FwaV9kb2NzOiBmYWxzZQo=", "type": "text", }, { @@ -465,7 +465,7 @@ final veryGoodCoreBundle = MasonBundle.fromJson({ { "path": "ios/Flutter/AppFrameworkInfo.plist", "data": - "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CjxwbGlzdCB2ZXJzaW9uPSIxLjAiPgo8ZGljdD4KICA8a2V5PkNGQnVuZGxlRGV2ZWxvcG1lbnRSZWdpb248L2tleT4KICA8c3RyaW5nPiQoREVWRUxPUE1FTlRfTEFOR1VBR0UpPC9zdHJpbmc+CiAgPGtleT5DRkJ1bmRsZUV4ZWN1dGFibGU8L2tleT4KICA8c3RyaW5nPkFwcDwvc3RyaW5nPgogIDxrZXk+Q0ZCdW5kbGVJZGVudGlmaWVyPC9rZXk+CiAgPHN0cmluZz5pby5mbHV0dGVyLmZsdXR0ZXIuYXBwPC9zdHJpbmc+CiAgPGtleT5DRkJ1bmRsZUluZm9EaWN0aW9uYXJ5VmVyc2lvbjwva2V5PgogIDxzdHJpbmc+Ni4wPC9zdHJpbmc+CiAgPGtleT5DRkJ1bmRsZU5hbWU8L2tleT4KICA8c3RyaW5nPkFwcDwvc3RyaW5nPgogIDxrZXk+Q0ZCdW5kbGVQYWNrYWdlVHlwZTwva2V5PgogIDxzdHJpbmc+Rk1XSzwvc3RyaW5nPgogIDxrZXk+Q0ZCdW5kbGVTaG9ydFZlcnNpb25TdHJpbmc8L2tleT4KICA8c3RyaW5nPjEuMDwvc3RyaW5nPgogIDxrZXk+Q0ZCdW5kbGVTaWduYXR1cmU8L2tleT4KICA8c3RyaW5nPj8/Pz88L3N0cmluZz4KICA8a2V5PkNGQnVuZGxlVmVyc2lvbjwva2V5PgogIDxzdHJpbmc+MS4wPC9zdHJpbmc+CiAgPGtleT5NaW5pbXVtT1NWZXJzaW9uPC9rZXk+CiAgPHN0cmluZz4xMS4wPC9zdHJpbmc+CjwvZGljdD4KPC9wbGlzdD4K", + "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CjxwbGlzdCB2ZXJzaW9uPSIxLjAiPgo8ZGljdD4KICA8a2V5PkNGQnVuZGxlRGV2ZWxvcG1lbnRSZWdpb248L2tleT4KICA8c3RyaW5nPiQoREVWRUxPUE1FTlRfTEFOR1VBR0UpPC9zdHJpbmc+CiAgPGtleT5DRkJ1bmRsZUV4ZWN1dGFibGU8L2tleT4KICA8c3RyaW5nPkFwcDwvc3RyaW5nPgogIDxrZXk+Q0ZCdW5kbGVJZGVudGlmaWVyPC9rZXk+CiAgPHN0cmluZz5pby5mbHV0dGVyLmZsdXR0ZXIuYXBwPC9zdHJpbmc+CiAgPGtleT5DRkJ1bmRsZUluZm9EaWN0aW9uYXJ5VmVyc2lvbjwva2V5PgogIDxzdHJpbmc+Ni4wPC9zdHJpbmc+CiAgPGtleT5DRkJ1bmRsZU5hbWU8L2tleT4KICA8c3RyaW5nPkFwcDwvc3RyaW5nPgogIDxrZXk+Q0ZCdW5kbGVQYWNrYWdlVHlwZTwva2V5PgogIDxzdHJpbmc+Rk1XSzwvc3RyaW5nPgogIDxrZXk+Q0ZCdW5kbGVTaG9ydFZlcnNpb25TdHJpbmc8L2tleT4KICA8c3RyaW5nPjEuMDwvc3RyaW5nPgogIDxrZXk+Q0ZCdW5kbGVTaWduYXR1cmU8L2tleT4KICA8c3RyaW5nPj8/Pz88L3N0cmluZz4KICA8a2V5PkNGQnVuZGxlVmVyc2lvbjwva2V5PgogIDxzdHJpbmc+MS4wPC9zdHJpbmc+CiAgPGtleT5NaW5pbXVtT1NWZXJzaW9uPC9rZXk+CiAgPHN0cmluZz4xMy4wPC9zdHJpbmc+CjwvZGljdD4KPC9wbGlzdD4K", "type": "text", }, { @@ -481,7 +481,7 @@ final veryGoodCoreBundle = MasonBundle.fromJson({ { "path": "ios/Runner.xcodeproj/project.pbxproj", "data": - "Ly8gISQqVVRGOCokIQp7CglhcmNoaXZlVmVyc2lvbiA9IDE7CgljbGFzc2VzID0gewoJfTsKCW9iamVjdFZlcnNpb24gPSA1NDsKCW9iamVjdHMgPSB7CgovKiBCZWdpbiBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwoJCTE0OThEMjM0MUU4RTg5MjIwMDQwRjRDMiAvKiBHZW5lcmF0ZWRQbHVnaW5SZWdpc3RyYW50Lm0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDk4RDIzMzFFOEU4OTIyMDA0MEY0QzIgLyogR2VuZXJhdGVkUGx1Z2luUmVnaXN0cmFudC5tICovOyB9OwoJCTMzMUM4MDhCMjk0QTYzQUIwMDI2M0JFNSAvKiBSdW5uZXJUZXN0cy5zd2lmdCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzMUM4MDdCMjk0QTYxODcwMDI2M0JFNSAvKiBSdW5uZXJUZXN0cy5zd2lmdCAqLzsgfTsKCQkzQjM5NjcxNjFFODMzQ0FBMDA0RjU5NzAgLyogQXBwRnJhbWV3b3JrSW5mby5wbGlzdCBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gM0IzOTY3MTUxRTgzM0NBQTAwNEY1OTcwIC8qIEFwcEZyYW1ld29ya0luZm8ucGxpc3QgKi87IH07CgkJNzQ4NThGQUYxRUQyREM1NjAwNTE1ODEwIC8qIEFwcERlbGVnYXRlLnN3aWZ0IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzQ4NThGQUUxRUQyREM1NjAwNTE1ODEwIC8qIEFwcERlbGVnYXRlLnN3aWZ0ICovOyB9OwoJCTk3QzE0NkZDMUNGOTAwMEYwMDdDMTE3RCAvKiBNYWluLnN0b3J5Ym9hcmQgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3QzE0NkZBMUNGOTAwMEYwMDdDMTE3RCAvKiBNYWluLnN0b3J5Ym9hcmQgKi87IH07CgkJOTdDMTQ2RkUxQ0Y5MDAwRjAwN0MxMTdEIC8qIEFzc2V0cy54Y2Fzc2V0cyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdDMTQ2RkQxQ0Y5MDAwRjAwN0MxMTdEIC8qIEFzc2V0cy54Y2Fzc2V0cyAqLzsgfTsKCQk5N0MxNDcwMTFDRjkwMDBGMDA3QzExN0QgLyogTGF1bmNoU2NyZWVuLnN0b3J5Ym9hcmQgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3QzE0NkZGMUNGOTAwMEYwMDdDMTE3RCAvKiBMYXVuY2hTY3JlZW4uc3Rvcnlib2FyZCAqLzsgfTsKLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCgovKiBCZWdpbiBQQlhDb250YWluZXJJdGVtUHJveHkgc2VjdGlvbiAqLwoJCTMzMUM4MDg1Mjk0QTYzQTQwMDI2M0JFNSAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CgkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKCQkJY29udGFpbmVyUG9ydGFsID0gOTdDMTQ2RTYxQ0Y5MDAwRjAwN0MxMTdEIC8qIFByb2plY3Qgb2JqZWN0ICovOwoJCQlwcm94eVR5cGUgPSAxOwoJCQlyZW1vdGVHbG9iYWxJRFN0cmluZyA9IDk3QzE0NkVEMUNGOTAwMEYwMDdDMTE3RDsKCQkJcmVtb3RlSW5mbyA9IFJ1bm5lcjsKCQl9OwovKiBFbmQgUEJYQ29udGFpbmVySXRlbVByb3h5IHNlY3Rpb24gKi8KCi8qIEJlZ2luIFBCWENvcHlGaWxlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwoJCTk3MDVBMUM0MUNGOTA0ODUwMDUzODQ4OSAvKiBFbWJlZCBGcmFtZXdvcmtzICovID0gewoJCQlpc2EgPSBQQlhDb3B5RmlsZXNCdWlsZFBoYXNlOwoJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwoJCQlkc3RQYXRoID0gIiI7CgkJCWRzdFN1YmZvbGRlclNwZWMgPSAxMDsKCQkJZmlsZXMgPSAoCgkJCSk7CgkJCW5hbWUgPSAiRW1iZWQgRnJhbWV3b3JrcyI7CgkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwoJCX07Ci8qIEVuZCBQQlhDb3B5RmlsZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KCi8qIEJlZ2luIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwoJCTE0OThEMjMyMUU4RTg2MjMwMDQwRjRDMiAvKiBHZW5lcmF0ZWRQbHVnaW5SZWdpc3RyYW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdlbmVyYXRlZFBsdWdpblJlZ2lzdHJhbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQkxNDk4RDIzMzFFOEU4OTIyMDA0MEY0QzIgLyogR2VuZXJhdGVkUGx1Z2luUmVnaXN0cmFudC5tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLm9iamM7IHBhdGggPSBHZW5lcmF0ZWRQbHVnaW5SZWdpc3RyYW50Lm07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJMzMxQzgwN0IyOTRBNjE4NzAwMjYzQkU1IC8qIFJ1bm5lclRlc3RzLnN3aWZ0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5zd2lmdDsgcGF0aCA9IFJ1bm5lclRlc3RzLnN3aWZ0OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogICAgICAgIDMzMUM4MDgxMjk0QTYzQTQwMDI2M0JFNSAvKiBSdW5uZXJUZXN0cy54Y3Rlc3QgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHdyYXBwZXIuY2ZidW5kbGU7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IFJ1bm5lclRlc3RzLnhjdGVzdDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKCQkzQjM5NjcxNTFFODMzQ0FBMDA0RjU5NzAgLyogQXBwRnJhbWV3b3JrSW5mby5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQucGxpc3QueG1sOyBuYW1lID0gQXBwRnJhbWV3b3JrSW5mby5wbGlzdDsgcGF0aCA9IEZsdXR0ZXIvQXBwRnJhbWV3b3JrSW5mby5wbGlzdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQk3NDg1OEZBRDFFRDJEQzU2MDA1MTU4MTAgLyogUnVubmVyLUJyaWRnaW5nLUhlYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSAiUnVubmVyLUJyaWRnaW5nLUhlYWRlci5oIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQk3NDg1OEZBRTFFRDJEQzU2MDA1MTU4MTAgLyogQXBwRGVsZWdhdGUuc3dpZnQgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLnN3aWZ0OyBwYXRoID0gQXBwRGVsZWdhdGUuc3dpZnQ7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJN0FGQTNDOEUxRDM1MzYwQzAwODMwODJFIC8qIFJlbGVhc2UueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBuYW1lID0gUmVsZWFzZS54Y2NvbmZpZzsgcGF0aCA9IEZsdXR0ZXIvUmVsZWFzZS54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQk5NzQwRUVCMjFDRjkwMTk1MDA0Mzg0RkMgLyogRGVidWcueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBuYW1lID0gRGVidWcueGNjb25maWc7IHBhdGggPSBGbHV0dGVyL0RlYnVnLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTk3NDBFRUIzMUNGOTAxOTUwMDQzODRGQyAvKiBHZW5lcmF0ZWQueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBuYW1lID0gR2VuZXJhdGVkLnhjY29uZmlnOyBwYXRoID0gRmx1dHRlci9HZW5lcmF0ZWQueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJOTdDMTQ2RUUxQ0Y5MDAwRjAwN0MxMTdEIC8qIFJ1bm5lci5hcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHdyYXBwZXIuYXBwbGljYXRpb247IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IFJ1bm5lci5hcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CgkJOTdDMTQ2RkIxQ0Y5MDAwRjAwN0MxMTdEIC8qIEJhc2UgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBmaWxlLnN0b3J5Ym9hcmQ7IG5hbWUgPSBCYXNlOyBwYXRoID0gQmFzZS5scHJvai9NYWluLnN0b3J5Ym9hcmQ7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJOTdDMTQ2RkQxQ0Y5MDAwRjAwN0MxMTdEIC8qIEFzc2V0cy54Y2Fzc2V0cyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGZvbGRlci5hc3NldGNhdGFsb2c7IHBhdGggPSBBc3NldHMueGNhc3NldHM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJOTdDMTQ3MDAxQ0Y5MDAwRjAwN0MxMTdEIC8qIEJhc2UgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBmaWxlLnN0b3J5Ym9hcmQ7IG5hbWUgPSBCYXNlOyBwYXRoID0gQmFzZS5scHJvai9MYXVuY2hTY3JlZW4uc3Rvcnlib2FyZDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQk5N0MxNDcwMjFDRjkwMDBGMDA3QzExN0QgLyogSW5mby5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQucGxpc3QueG1sOyBwYXRoID0gSW5mby5wbGlzdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLyogRW5kIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwoKLyogQmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwoJCTk3QzE0NkVCMUNGOTAwMEYwMDdDMTE3RCAvKiBGcmFtZXdvcmtzICovID0gewoJCQlpc2EgPSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsKCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKCQkJZmlsZXMgPSAoCgkJCSk7CgkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwoJCX07Ci8qIEVuZCBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICovCgovKiBCZWdpbiBQQlhHcm91cCBzZWN0aW9uICovCiAgICAgICAgMzMxQzgwODIyOTRBNjNBNDAwMjYzQkU1IC8qIFJ1bm5lclRlc3RzICovID0gewoJCQlpc2EgPSBQQlhHcm91cDsKCQkJY2hpbGRyZW4gPSAoCgkJCQkzMzFDODA3QjI5NEE2MTg3MDAyNjNCRTUgLyogUnVubmVyVGVzdHMuc3dpZnQgKi8sCgkJCSk7CgkJCXBhdGggPSBSdW5uZXJUZXN0czsKCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKCQl9OwoJCTk3NDBFRUIxMUNGOTAxODYwMDQzODRGQyAvKiBGbHV0dGVyICovID0gewoJCQlpc2EgPSBQQlhHcm91cDsKCQkJY2hpbGRyZW4gPSAoCgkJCQkzQjM5NjcxNTFFODMzQ0FBMDA0RjU5NzAgLyogQXBwRnJhbWV3b3JrSW5mby5wbGlzdCAqLywKCQkJCTk3NDBFRUIyMUNGOTAxOTUwMDQzODRGQyAvKiBEZWJ1Zy54Y2NvbmZpZyAqLywKCQkJCTdBRkEzQzhFMUQzNTM2MEMwMDgzMDgyRSAvKiBSZWxlYXNlLnhjY29uZmlnICovLAoJCQkJOTc0MEVFQjMxQ0Y5MDE5NTAwNDM4NEZDIC8qIEdlbmVyYXRlZC54Y2NvbmZpZyAqLywKCQkJKTsKCQkJbmFtZSA9IEZsdXR0ZXI7CgkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CgkJfTsKCQk5N0MxNDZFNTFDRjkwMDBGMDA3QzExN0QgPSB7CgkJCWlzYSA9IFBCWEdyb3VwOwoJCQljaGlsZHJlbiA9ICgKCQkJCTk3NDBFRUIxMUNGOTAxODYwMDQzODRGQyAvKiBGbHV0dGVyICovLAoJCQkJOTdDMTQ2RjAxQ0Y5MDAwRjAwN0MxMTdEIC8qIFJ1bm5lciAqLywKCQkJCTk3QzE0NkVGMUNGOTAwMEYwMDdDMTE3RCAvKiBQcm9kdWN0cyAqLywKCQkJCTMzMUM4MDgyMjk0QTYzQTQwMDI2M0JFNSAvKiBSdW5uZXJUZXN0cyAqLywKCQkJKTsKCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKCQl9OwoJCTk3QzE0NkVGMUNGOTAwMEYwMDdDMTE3RCAvKiBQcm9kdWN0cyAqLyA9IHsKCQkJaXNhID0gUEJYR3JvdXA7CgkJCWNoaWxkcmVuID0gKAoJCQkJOTdDMTQ2RUUxQ0Y5MDAwRjAwN0MxMTdEIC8qIFJ1bm5lci5hcHAgKi8sCgkJCQkzMzFDODA4MTI5NEE2M0E0MDAyNjNCRTUgLyogUnVubmVyVGVzdHMueGN0ZXN0ICovLAoJCQkpOwoJCQluYW1lID0gUHJvZHVjdHM7CgkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CgkJfTsKCQk5N0MxNDZGMDFDRjkwMDBGMDA3QzExN0QgLyogUnVubmVyICovID0gewoJCQlpc2EgPSBQQlhHcm91cDsKCQkJY2hpbGRyZW4gPSAoCgkJCQk5N0MxNDZGQTFDRjkwMDBGMDA3QzExN0QgLyogTWFpbi5zdG9yeWJvYXJkICovLAoJCQkJOTdDMTQ2RkQxQ0Y5MDAwRjAwN0MxMTdEIC8qIEFzc2V0cy54Y2Fzc2V0cyAqLywKCQkJCTk3QzE0NkZGMUNGOTAwMEYwMDdDMTE3RCAvKiBMYXVuY2hTY3JlZW4uc3Rvcnlib2FyZCAqLywKCQkJCTk3QzE0NzAyMUNGOTAwMEYwMDdDMTE3RCAvKiBJbmZvLnBsaXN0ICovLAoJCQkJMTQ5OEQyMzIxRThFODYyMzAwNDBGNEMyIC8qIEdlbmVyYXRlZFBsdWdpblJlZ2lzdHJhbnQuaCAqLywKCQkJCTE0OThEMjMzMUU4RTg5MjIwMDQwRjRDMiAvKiBHZW5lcmF0ZWRQbHVnaW5SZWdpc3RyYW50Lm0gKi8sCgkJCQk3NDg1OEZBRTFFRDJEQzU2MDA1MTU4MTAgLyogQXBwRGVsZWdhdGUuc3dpZnQgKi8sCgkJCQk3NDg1OEZBRDFFRDJEQzU2MDA1MTU4MTAgLyogUnVubmVyLUJyaWRnaW5nLUhlYWRlci5oICovLAoJCQkpOwoJCQlwYXRoID0gUnVubmVyOwoJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwoJCX07Ci8qIEVuZCBQQlhHcm91cCBzZWN0aW9uICovCgovKiBCZWdpbiBQQlhOYXRpdmVUYXJnZXQgc2VjdGlvbiAqLwogICAgICAgIDMzMUM4MDgwMjk0QTYzQTQwMDI2M0JFNSAvKiBSdW5uZXJUZXN0cyAqLyA9IHsKCQkJaXNhID0gUEJYTmF0aXZlVGFyZ2V0OwoJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMzMxQzgwODcyOTRBNjNBNDAwMjYzQkU1IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJSdW5uZXJUZXN0cyIgKi87CgkJCWJ1aWxkUGhhc2VzID0gKAoJCQkJMzMxQzgwN0QyOTRBNjNBNDAwMjYzQkU1IC8qIFNvdXJjZXMgKi8sCgkJCQkzMzFDODA3RjI5NEE2M0E0MDAyNjNCRTUgLyogUmVzb3VyY2VzICovLAoJCQkpOwoJCQlidWlsZFJ1bGVzID0gKAoJCQkpOwoJCQlkZXBlbmRlbmNpZXMgPSAoCgkJCQkzMzFDODA4NjI5NEE2M0E0MDAyNjNCRTUgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKCQkJKTsKCQkJbmFtZSA9IFJ1bm5lclRlc3RzOwoJCQlwcm9kdWN0TmFtZSA9IFJ1bm5lclRlc3RzOwoJCQlwcm9kdWN0UmVmZXJlbmNlID0gMzMxQzgwODEyOTRBNjNBNDAwMjYzQkU1IC8qIFJ1bm5lclRlc3RzLnhjdGVzdCAqLzsKCQkJcHJvZHVjdFR5cGUgPSAiY29tLmFwcGxlLnByb2R1Y3QtdHlwZS5idW5kbGUudW5pdC10ZXN0IjsKCQl9OwoJCTk3QzE0NkVEMUNGOTAwMEYwMDdDMTE3RCAvKiBSdW5uZXIgKi8gPSB7CgkJCWlzYSA9IFBCWE5hdGl2ZVRhcmdldDsKCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDk3QzE0NzA1MUNGOTAwMEYwMDdDMTE3RCAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiUnVubmVyIiAqLzsKCQkJYnVpbGRQaGFzZXMgPSAoCgkJCQk5NzQwRUVCNjFDRjkwMUY2MDA0Mzg0RkMgLyogUnVuIFNjcmlwdCAqLywKCQkJCTk3QzE0NkVBMUNGOTAwMEYwMDdDMTE3RCAvKiBTb3VyY2VzICovLAoJCQkJOTdDMTQ2RUIxQ0Y5MDAwRjAwN0MxMTdEIC8qIEZyYW1ld29ya3MgKi8sCgkJCQk5N0MxNDZFQzFDRjkwMDBGMDA3QzExN0QgLyogUmVzb3VyY2VzICovLAoJCQkJOTcwNUExQzQxQ0Y5MDQ4NTAwNTM4NDg5IC8qIEVtYmVkIEZyYW1ld29ya3MgKi8sCgkJCQkzQjA2QUQxRTFFNDkyM0Y1MDA0RDI2MDggLyogVGhpbiBCaW5hcnkgKi8sCgkJCSk7CgkJCWJ1aWxkUnVsZXMgPSAoCgkJCSk7CgkJCWRlcGVuZGVuY2llcyA9ICgKCQkJKTsKCQkJbmFtZSA9IFJ1bm5lcjsKCQkJcHJvZHVjdE5hbWUgPSBSdW5uZXI7CgkJCXByb2R1Y3RSZWZlcmVuY2UgPSA5N0MxNDZFRTFDRjkwMDBGMDA3QzExN0QgLyogUnVubmVyLmFwcCAqLzsKCQkJcHJvZHVjdFR5cGUgPSAiY29tLmFwcGxlLnByb2R1Y3QtdHlwZS5hcHBsaWNhdGlvbiI7CgkJfTsKLyogRW5kIFBCWE5hdGl2ZVRhcmdldCBzZWN0aW9uICovCgovKiBCZWdpbiBQQlhQcm9qZWN0IHNlY3Rpb24gKi8KCQk5N0MxNDZFNjFDRjkwMDBGMDA3QzExN0QgLyogUHJvamVjdCBvYmplY3QgKi8gPSB7CgkJCWlzYSA9IFBCWFByb2plY3Q7CgkJCWF0dHJpYnV0ZXMgPSB7CgkJCSAgICBCdWlsZEluZGVwZW5kZW50VGFyZ2V0c0luUGFyYWxsZWwgPSBOTzsKCQkJCUxhc3RVcGdyYWRlQ2hlY2sgPSAxNDMwOwoJCQkJT1JHQU5JWkFUSU9OTkFNRSA9ICIiOwoJCQkJVGFyZ2V0QXR0cmlidXRlcyA9IHsKCQkJCSAgICAzMzFDODA4MDI5NEE2M0E0MDAyNjNCRTUgPSB7CgkJCQkJCUNyZWF0ZWRPblRvb2xzVmVyc2lvbiA9IDE0LjA7CgkJCQkJCVRlc3RUYXJnZXRJRCA9IDk3QzE0NkVEMUNGOTAwMEYwMDdDMTE3RDsKCQkJCQl9OwoJCQkJCTk3QzE0NkVEMUNGOTAwMEYwMDdDMTE3RCA9IHsKCQkJCQkJQ3JlYXRlZE9uVG9vbHNWZXJzaW9uID0gNy4zLjE7CgkJCQkJCUxhc3RTd2lmdE1pZ3JhdGlvbiA9IDExMDA7CgkJCQkJfTsKCQkJCX07CgkJCX07CgkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSA5N0MxNDZFOTFDRjkwMDBGMDA3QzExN0QgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQcm9qZWN0ICJSdW5uZXIiICovOwoJCQljb21wYXRpYmlsaXR5VmVyc2lvbiA9ICJYY29kZSA5LjMiOwoJCQlkZXZlbG9wbWVudFJlZ2lvbiA9IGVuOwoJCQloYXNTY2FubmVkRm9yRW5jb2RpbmdzID0gMDsKCQkJa25vd25SZWdpb25zID0gKAoJCQkJZW4sCgkJCQlCYXNlLAoJCQkpOwoJCQltYWluR3JvdXAgPSA5N0MxNDZFNTFDRjkwMDBGMDA3QzExN0Q7CgkJCXByb2R1Y3RSZWZHcm91cCA9IDk3QzE0NkVGMUNGOTAwMEYwMDdDMTE3RCAvKiBQcm9kdWN0cyAqLzsKCQkJcHJvamVjdERpclBhdGggPSAiIjsKCQkJcHJvamVjdFJvb3QgPSAiIjsKCQkJdGFyZ2V0cyA9ICgKCQkJCTk3QzE0NkVEMUNGOTAwMEYwMDdDMTE3RCAvKiBSdW5uZXIgKi8sCgkJCQkzMzFDODA4MDI5NEE2M0E0MDAyNjNCRTUgLyogUnVubmVyVGVzdHMgKi8sCgkJCSk7CgkJfTsKLyogRW5kIFBCWFByb2plY3Qgc2VjdGlvbiAqLwoKLyogQmVnaW4gUEJYUmVzb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCiAgICAgICAgMzMxQzgwN0YyOTRBNjNBNDAwMjYzQkU1IC8qIFJlc291cmNlcyAqLyA9IHsKCQkJaXNhID0gUEJYUmVzb3VyY2VzQnVpbGRQaGFzZTsKCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKCQkJZmlsZXMgPSAoCgkJCSk7CgkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwoJCX07CgkJOTdDMTQ2RUMxQ0Y5MDAwRjAwN0MxMTdEIC8qIFJlc291cmNlcyAqLyA9IHsKCQkJaXNhID0gUEJYUmVzb3VyY2VzQnVpbGRQaGFzZTsKCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKCQkJZmlsZXMgPSAoCgkJCQk5N0MxNDcwMTFDRjkwMDBGMDA3QzExN0QgLyogTGF1bmNoU2NyZWVuLnN0b3J5Ym9hcmQgaW4gUmVzb3VyY2VzICovLAoJCQkJM0IzOTY3MTYxRTgzM0NBQTAwNEY1OTcwIC8qIEFwcEZyYW1ld29ya0luZm8ucGxpc3QgaW4gUmVzb3VyY2VzICovLAoJCQkJOTdDMTQ2RkUxQ0Y5MDAwRjAwN0MxMTdEIC8qIEFzc2V0cy54Y2Fzc2V0cyBpbiBSZXNvdXJjZXMgKi8sCgkJCQk5N0MxNDZGQzFDRjkwMDBGMDA3QzExN0QgLyogTWFpbi5zdG9yeWJvYXJkIGluIFJlc291cmNlcyAqLywKCQkJKTsKCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CgkJfTsKLyogRW5kIFBCWFJlc291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwoKLyogQmVnaW4gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlIHNlY3Rpb24gKi8KCQkzQjA2QUQxRTFFNDkyM0Y1MDA0RDI2MDggLyogVGhpbiBCaW5hcnkgKi8gPSB7CgkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKCQkJYWx3YXlzT3V0T2ZEYXRlID0gMTsKCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKCQkJZmlsZXMgPSAoCgkJCSk7CgkJCWlucHV0UGF0aHMgPSAoCgkJCQkiJHtUQVJHRVRfQlVJTERfRElSfS8ke0lORk9QTElTVF9QQVRIfSIsCgkJCSk7CgkJCW5hbWUgPSAiVGhpbiBCaW5hcnkiOwoJCQlvdXRwdXRQYXRocyA9ICgKCQkJKTsKCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CgkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CgkJCXNoZWxsU2NyaXB0ID0gIi9iaW4vc2ggXCIkRkxVVFRFUl9ST09UL3BhY2thZ2VzL2ZsdXR0ZXJfdG9vbHMvYmluL3hjb2RlX2JhY2tlbmQuc2hcIiBlbWJlZF9hbmRfdGhpbiI7CgkJfTsKCQk5NzQwRUVCNjFDRjkwMUY2MDA0Mzg0RkMgLyogUnVuIFNjcmlwdCAqLyA9IHsKCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOwoJCQlhbHdheXNPdXRPZkRhdGUgPSAxOwoJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwoJCQlmaWxlcyA9ICgKCQkJKTsKCQkJaW5wdXRQYXRocyA9ICgKCQkJKTsKCQkJbmFtZSA9ICJSdW4gU2NyaXB0IjsKCQkJb3V0cHV0UGF0aHMgPSAoCgkJCSk7CgkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwoJCQlzaGVsbFBhdGggPSAvYmluL3NoOwoJCQlzaGVsbFNjcmlwdCA9ICIvYmluL3NoIFwiJEZMVVRURVJfUk9PVC9wYWNrYWdlcy9mbHV0dGVyX3Rvb2xzL2Jpbi94Y29kZV9iYWNrZW5kLnNoXCIgYnVpbGQiOwoJCX07Ci8qIEVuZCBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2Ugc2VjdGlvbiAqLwoKLyogQmVnaW4gUEJYU291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwogICAgICAgIDMzMUM4MDdEMjk0QTYzQTQwMDI2M0JFNSAvKiBTb3VyY2VzICovID0gewoJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsKCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKCQkJZmlsZXMgPSAoCgkJCQkzMzFDODA4QjI5NEE2M0FCMDAyNjNCRTUgLyogUnVubmVyVGVzdHMuc3dpZnQgaW4gU291cmNlcyAqLywKCQkJKTsKCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CgkJfTsKCQk5N0MxNDZFQTFDRjkwMDBGMDA3QzExN0QgLyogU291cmNlcyAqLyA9IHsKCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CgkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CgkJCWZpbGVzID0gKAoJCQkJNzQ4NThGQUYxRUQyREM1NjAwNTE1ODEwIC8qIEFwcERlbGVnYXRlLnN3aWZ0IGluIFNvdXJjZXMgKi8sCgkJCQkxNDk4RDIzNDFFOEU4OTIyMDA0MEY0QzIgLyogR2VuZXJhdGVkUGx1Z2luUmVnaXN0cmFudC5tIGluIFNvdXJjZXMgKi8sCgkJCSk7CgkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwoJCX07Ci8qIEVuZCBQQlhTb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCgovKiBCZWdpbiBQQlhUYXJnZXREZXBlbmRlbmN5IHNlY3Rpb24gKi8KCQkzMzFDODA4NjI5NEE2M0E0MDAyNjNCRTUgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKCQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5jeTsKCQkJdGFyZ2V0ID0gOTdDMTQ2RUQxQ0Y5MDAwRjAwN0MxMTdEIC8qIFJ1bm5lciAqLzsKCQkJdGFyZ2V0UHJveHkgPSAzMzFDODA4NTI5NEE2M0E0MDAyNjNCRTUgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovOwoJCX07Ci8qIEVuZCBQQlhUYXJnZXREZXBlbmRlbmN5IHNlY3Rpb24gKi8KCi8qIEJlZ2luIFBCWFZhcmlhbnRHcm91cCBzZWN0aW9uICovCgkJOTdDMTQ2RkExQ0Y5MDAwRjAwN0MxMTdEIC8qIE1haW4uc3Rvcnlib2FyZCAqLyA9IHsKCQkJaXNhID0gUEJYVmFyaWFudEdyb3VwOwoJCQljaGlsZHJlbiA9ICgKCQkJCTk3QzE0NkZCMUNGOTAwMEYwMDdDMTE3RCAvKiBCYXNlICovLAoJCQkpOwoJCQluYW1lID0gTWFpbi5zdG9yeWJvYXJkOwoJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwoJCX07CgkJOTdDMTQ2RkYxQ0Y5MDAwRjAwN0MxMTdEIC8qIExhdW5jaFNjcmVlbi5zdG9yeWJvYXJkICovID0gewoJCQlpc2EgPSBQQlhWYXJpYW50R3JvdXA7CgkJCWNoaWxkcmVuID0gKAoJCQkJOTdDMTQ3MDAxQ0Y5MDAwRjAwN0MxMTdEIC8qIEJhc2UgKi8sCgkJCSk7CgkJCW5hbWUgPSBMYXVuY2hTY3JlZW4uc3Rvcnlib2FyZDsKCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKCQl9OwovKiBFbmQgUEJYVmFyaWFudEdyb3VwIHNlY3Rpb24gKi8KCi8qIEJlZ2luIFhDQnVpbGRDb25maWd1cmF0aW9uIHNlY3Rpb24gKi8KCQkzQzlDNTUxOTJCMDdBQzk5MDAwRTVGQ0QgLyogRGVidWctcHJvZHVjdGlvbiAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTzsKCQkJCUNMQU5HX0FOQUxZWkVSX05PTk5VTEwgPSBZRVM7CgkJCQlDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSAiZ251KysweCI7CgkJCQlDTEFOR19DWFhfTElCUkFSWSA9ICJsaWJjKysiOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDTEFOR19FTkFCTEVfT0JKQ19BUkMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0JMT0NLX0NBUFRVUkVfQVVUT1JFTEVBU0lORyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT01NQSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fREVQUkVDQVRFRF9PQkpDX0lNUExFTUVOVEFUSU9OUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fRElSRUNUX09CSkNfSVNBX1VTQUdFID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9FTVBUWV9CT0RZID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0lORklOSVRFX1JFQ1VSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5UX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX05PTl9MSVRFUkFMX05VTExfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19JTVBMSUNJVF9SRVRBSU5fU0VMRiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19MSVRFUkFMX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfUk9PVF9DTEFTUyA9IFlFU19FUlJPUjsKCQkJCUNMQU5HX1dBUk5fUkFOR0VfTE9PUF9BTkFMWVNJUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1RSSUNUX1BST1RPVFlQRVMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1NVU1BJQ0lPVVNfTU9WRSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fVU5SRUFDSEFCTEVfQ09ERSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fX0RVUExJQ0FURV9NRVRIT0RfTUFUQ0ggPSBZRVM7CgkJCQkiQ09ERV9TSUdOX0lERU5USVRZW3Nkaz1pcGhvbmVvcypdIiA9ICJpUGhvbmUgRGV2ZWxvcGVyIjsKCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBOTzsKCQkJCURFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9IGR3YXJmOwoJCQkJRU5BQkxFX1NUUklDVF9PQkpDX01TR1NFTkQgPSBZRVM7CgkJCQlFTkFCTEVfVEVTVEFCSUxJVFkgPSBZRVM7CgkJCQlHQ0NfQ19MQU5HVUFHRV9TVEFOREFSRCA9IGdudTk5OwoJCQkJR0NDX0RZTkFNSUNfTk9fUElDID0gTk87CgkJCQlHQ0NfTk9fQ09NTU9OX0JMT0NLUyA9IFlFUzsKCQkJCUdDQ19PUFRJTUlaQVRJT05fTEVWRUwgPSAwOwoJCQkJR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICgKCQkJCQkiREVCVUc9MSIsCgkJCQkJIiQoaW5oZXJpdGVkKSIsCgkJCQkpOwoJCQkJR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9BQk9VVF9SRVRVUk5fVFlQRSA9IFlFU19FUlJPUjsKCQkJCUdDQ19XQVJOX1VOREVDTEFSRURfU0VMRUNUT1IgPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTklOSVRJQUxJWkVEX0FVVE9TID0gWUVTX0FHR1JFU1NJVkU7CgkJCQlHQ0NfV0FSTl9VTlVTRURfRlVOQ1RJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTlVTRURfVkFSSUFCTEUgPSBZRVM7CgkJCQlJUEhPTkVPU19ERVBMT1lNRU5UX1RBUkdFVCA9IDEyLjA7CgkJCQlNVExfRU5BQkxFX0RFQlVHX0lORk8gPSBZRVM7CgkJCQlPTkxZX0FDVElWRV9BUkNIID0gWUVTOwoJCQkJU0RLUk9PVCA9IGlwaG9uZW9zOwoJCQkJVEFSR0VURURfREVWSUNFX0ZBTUlMWSA9ICIxLDIiOwoJCQl9OwoJCQluYW1lID0gIkRlYnVnLXByb2R1Y3Rpb24iOwoJCX07CgkJM0M5QzU1MUEyQjA3QUM5OTAwMEU1RkNEIC8qIERlYnVnLXByb2R1Y3Rpb24gKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDk3NDBFRUIyMUNGOTAxOTUwMDQzODRGQyAvKiBEZWJ1Zy54Y2NvbmZpZyAqLzsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUFTU0VUQ0FUQUxPR19DT01QSUxFUl9BUFBJQ09OX05BTUUgPSBBcHBJY29uOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDVVJSRU5UX1BST0pFQ1RfVkVSU0lPTiA9ICIkKEZMVVRURVJfQlVJTERfTlVNQkVSKSI7CgkJCQlFTkFCTEVfQklUQ09ERSA9IE5POwoJCQkJRkxBVk9SX0FQUF9OQU1FID0gInt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX0iOwoJCQkJSU5GT1BMSVNUX0ZJTEUgPSBSdW5uZXIvSW5mby5wbGlzdDsKCQkJCUxEX1JVTlBBVEhfU0VBUkNIX1BBVEhTID0gKAoJCQkJCSIkKGluaGVyaXRlZCkiLAoJCQkJCSJAZXhlY3V0YWJsZV9wYXRoL0ZyYW1ld29ya3MiLAoJCQkJKTsKCQkJCVBBQ0tBR0VfQ09ORklHID0gLmRhcnRfdG9vbC9wYWNrYWdlX2NvbmZpZy5qc29uOwoJCQkJUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9IHt7aW9zX2FwcGxpY2F0aW9uX2lkfX07CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfT0JKQ19CUklER0lOR19IRUFERVIgPSAiUnVubmVyL1J1bm5lci1CcmlkZ2luZy1IZWFkZXIuaCI7CgkJCQlTV0lGVF9PUFRJTUlaQVRJT05fTEVWRUwgPSAiLU9ub25lIjsKCQkJCVNXSUZUX1ZFUlNJT04gPSA1LjA7CgkJCQlWRVJTSU9OSU5HX1NZU1RFTSA9ICJhcHBsZS1nZW5lcmljIjsKCQkJfTsKCQkJbmFtZSA9ICJEZWJ1Zy1wcm9kdWN0aW9uIjsKCQl9OwoJCTNDOUM1NTFCMkIwN0FDOTkwMDBFNUZDRCAvKiBEZWJ1Zy1wcm9kdWN0aW9uICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUJVTkRMRV9MT0FERVIgPSAiJChURVNUX0hPU1QpIjsKCQkJCUNPREVfU0lHTl9TVFlMRSA9IEF1dG9tYXRpYzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gMTsKCQkJCUdFTkVSQVRFX0lORk9QTElTVF9GSUxFID0gWUVTOwoJCQkJTUFSS0VUSU5HX1ZFUlNJT04gPSAxLjA7CgkJCQlQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0ge3tpb3NfYXBwbGljYXRpb25faWR9fS5SdW5uZXJUZXN0czsKCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CgkJCQlTV0lGVF9BQ1RJVkVfQ09NUElMQVRJT05fQ09ORElUSU9OUyA9IERFQlVHOwoJCQkJU1dJRlRfT1BUSU1JWkFUSU9OX0xFVkVMID0gIi1Pbm9uZSI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVEVTVF9IT1NUID0gIiQoQlVJTFRfUFJPRFVDVFNfRElSKS9SdW5uZXIuYXBwLyQoQlVORExFX0VYRUNVVEFCTEVfRk9MREVSX1BBVEgpL1J1bm5lciI7CgkJCX07CgkJCW5hbWUgPSAiRGVidWctcHJvZHVjdGlvbiI7CgkJfTsKCQkzQzlDNTUxQzJCMDdBQ0E0MDAwRTVGQ0QgLyogUmVsZWFzZS1wcm9kdWN0aW9uICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POwoJCQkJQ0xBTkdfQU5BTFlaRVJfTk9OTlVMTCA9IFlFUzsKCQkJCUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9ICJnbnUrKzB4IjsKCQkJCUNMQU5HX0NYWF9MSUJSQVJZID0gImxpYmMrKyI7CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNMQU5HX0VOQUJMRV9PQkpDX0FSQyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQkxPQ0tfQ0FQVFVSRV9BVVRPUkVMRUFTSU5HID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9CT09MX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0NPTU1BID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT05TVEFOVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ERVBSRUNBVEVEX09CSkNfSU1QTEVNRU5UQVRJT05TID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ESVJFQ1RfT0JKQ19JU0FfVVNBR0UgPSBZRVNfRVJST1I7CgkJCQlDTEFOR19XQVJOX0VNUFRZX0JPRFkgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0VOVU1fQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5GSU5JVEVfUkVDVVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9JTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fTk9OX0xJVEVSQUxfTlVMTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0lNUExJQ0lUX1JFVEFJTl9TRUxGID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0xJVEVSQUxfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19ST09UX0NMQVNTID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9SQU5HRV9MT09QX0FOQUxZU0lTID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9TVFJJQ1RfUFJPVE9UWVBFUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1VTUElDSU9VU19NT1ZFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9VTlJFQUNIQUJMRV9DT0RFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9fRFVQTElDQVRFX01FVEhPRF9NQVRDSCA9IFlFUzsKCQkJCSJDT0RFX1NJR05fSURFTlRJVFlbc2RrPWlwaG9uZW9zKl0iID0gImlQaG9uZSBEZXZlbG9wZXIiOwoJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IE5POwoJCQkJREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gImR3YXJmLXdpdGgtZHN5bSI7CgkJCQlFTkFCTEVfTlNfQVNTRVJUSU9OUyA9IE5POwoJCQkJRU5BQkxFX1NUUklDVF9PQkpDX01TR1NFTkQgPSBZRVM7CgkJCQlHQ0NfQ19MQU5HVUFHRV9TVEFOREFSRCA9IGdudTk5OwoJCQkJR0NDX05PX0NPTU1PTl9CTE9DS1MgPSBZRVM7CgkJCQlHQ0NfV0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX0FCT1VUX1JFVFVSTl9UWVBFID0gWUVTX0VSUk9SOwoJCQkJR0NDX1dBUk5fVU5ERUNMQVJFRF9TRUxFQ1RPUiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOSU5JVElBTElaRURfQVVUT1MgPSBZRVNfQUdHUkVTU0lWRTsKCQkJCUdDQ19XQVJOX1VOVVNFRF9GVU5DVElPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9IFlFUzsKCQkJCUlQSE9ORU9TX0RFUExPWU1FTlRfVEFSR0VUID0gMTIuMDsKCQkJCU1UTF9FTkFCTEVfREVCVUdfSU5GTyA9IE5POwoJCQkJU0RLUk9PVCA9IGlwaG9uZW9zOwoJCQkJU1VQUE9SVEVEX1BMQVRGT1JNUyA9IGlwaG9uZW9zOwoJCQkJU1dJRlRfQ09NUElMQVRJT05fTU9ERSA9IHdob2xlbW9kdWxlOwoJCQkJU1dJRlRfT1BUSU1JWkFUSU9OX0xFVkVMID0gIi1PIjsKCQkJCVRBUkdFVEVEX0RFVklDRV9GQU1JTFkgPSAiMSwyIjsKCQkJCVZBTElEQVRFX1BST0RVQ1QgPSBZRVM7CgkJCX07CgkJCW5hbWUgPSAiUmVsZWFzZS1wcm9kdWN0aW9uIjsKCQl9OwoJCTNDOUM1NTFEMkIwN0FDQTQwMDBFNUZDRCAvKiBSZWxlYXNlLXByb2R1Y3Rpb24gKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDdBRkEzQzhFMUQzNTM2MEMwMDgzMDgyRSAvKiBSZWxlYXNlLnhjY29uZmlnICovOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQVNTRVRDQVRBTE9HX0NPTVBJTEVSX0FQUElDT05fTkFNRSA9IEFwcEljb247CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gIiQoRkxVVFRFUl9CVUlMRF9OVU1CRVIpIjsKCQkJCUVOQUJMRV9CSVRDT0RFID0gTk87CgkJCQlGTEFWT1JfQVBQX05BTUUgPSAie3twcm9qZWN0X25hbWUudGl0bGVDYXNlKCl9fSI7CgkJCQlJTkZPUExJU1RfRklMRSA9IFJ1bm5lci9JbmZvLnBsaXN0OwoJCQkJTERfUlVOUEFUSF9TRUFSQ0hfUEFUSFMgPSAoCgkJCQkJIiQoaW5oZXJpdGVkKSIsCgkJCQkJIkBleGVjdXRhYmxlX3BhdGgvRnJhbWV3b3JrcyIsCgkJCQkpOwoJCQkJUEFDS0FHRV9DT05GSUcgPSAuZGFydF90b29sL3BhY2thZ2VfY29uZmlnLmpzb247CgkJCQlQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0ge3tpb3NfYXBwbGljYXRpb25faWR9fTsKCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CgkJCQlTV0lGVF9PQkpDX0JSSURHSU5HX0hFQURFUiA9ICJSdW5uZXIvUnVubmVyLUJyaWRnaW5nLUhlYWRlci5oIjsKCQkJCVNXSUZUX1ZFUlNJT04gPSA1LjA7CgkJCQlWRVJTSU9OSU5HX1NZU1RFTSA9ICJhcHBsZS1nZW5lcmljIjsKCQkJfTsKCQkJbmFtZSA9ICJSZWxlYXNlLXByb2R1Y3Rpb24iOwoJCX07CgkJM0M5QzU1MUUyQjA3QUNBNDAwMEU1RkNEIC8qIFJlbGVhc2UtcHJvZHVjdGlvbiAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlCVU5ETEVfTE9BREVSID0gIiQoVEVTVF9IT1NUKSI7CgkJCQlDT0RFX1NJR05fU1RZTEUgPSBBdXRvbWF0aWM7CgkJCQlDVVJSRU5UX1BST0pFQ1RfVkVSU0lPTiA9IDE7CgkJCQlHRU5FUkFURV9JTkZPUExJU1RfRklMRSA9IFlFUzsKCQkJCU1BUktFVElOR19WRVJTSU9OID0gMS4wOwoJCQkJUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9IHt7aW9zX2FwcGxpY2F0aW9uX2lkfX0uUnVubmVyVGVzdHM7CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfVkVSU0lPTiA9IDUuMDsKCQkJCVRFU1RfSE9TVCA9ICIkKEJVSUxUX1BST0RVQ1RTX0RJUikvUnVubmVyLmFwcC8kKEJVTkRMRV9FWEVDVVRBQkxFX0ZPTERFUl9QQVRIKS9SdW5uZXIiOwoJCQl9OwoJCQluYW1lID0gIlJlbGVhc2UtcHJvZHVjdGlvbiI7CgkJfTsKCQkzQzlDNTUyMjJCMDdBQ0JEMDAwRTVGQ0QgLyogUHJvZmlsZS1wcm9kdWN0aW9uICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POwoJCQkJQ0xBTkdfQU5BTFlaRVJfTk9OTlVMTCA9IFlFUzsKCQkJCUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9ICJnbnUrKzB4IjsKCQkJCUNMQU5HX0NYWF9MSUJSQVJZID0gImxpYmMrKyI7CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNMQU5HX0VOQUJMRV9PQkpDX0FSQyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQkxPQ0tfQ0FQVFVSRV9BVVRPUkVMRUFTSU5HID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9CT09MX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0NPTU1BID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT05TVEFOVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ERVBSRUNBVEVEX09CSkNfSU1QTEVNRU5UQVRJT05TID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ESVJFQ1RfT0JKQ19JU0FfVVNBR0UgPSBZRVNfRVJST1I7CgkJCQlDTEFOR19XQVJOX0VNUFRZX0JPRFkgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0VOVU1fQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5GSU5JVEVfUkVDVVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9JTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fTk9OX0xJVEVSQUxfTlVMTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0lNUExJQ0lUX1JFVEFJTl9TRUxGID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0xJVEVSQUxfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19ST09UX0NMQVNTID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9SQU5HRV9MT09QX0FOQUxZU0lTID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9TVFJJQ1RfUFJPVE9UWVBFUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1VTUElDSU9VU19NT1ZFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9VTlJFQUNIQUJMRV9DT0RFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9fRFVQTElDQVRFX01FVEhPRF9NQVRDSCA9IFlFUzsKCQkJCSJDT0RFX1NJR05fSURFTlRJVFlbc2RrPWlwaG9uZW9zKl0iID0gImlQaG9uZSBEZXZlbG9wZXIiOwoJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IE5POwoJCQkJREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gImR3YXJmLXdpdGgtZHN5bSI7CgkJCQlFTkFCTEVfTlNfQVNTRVJUSU9OUyA9IE5POwoJCQkJRU5BQkxFX1NUUklDVF9PQkpDX01TR1NFTkQgPSBZRVM7CgkJCQlHQ0NfQ19MQU5HVUFHRV9TVEFOREFSRCA9IGdudTk5OwoJCQkJR0NDX05PX0NPTU1PTl9CTE9DS1MgPSBZRVM7CgkJCQlHQ0NfV0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX0FCT1VUX1JFVFVSTl9UWVBFID0gWUVTX0VSUk9SOwoJCQkJR0NDX1dBUk5fVU5ERUNMQVJFRF9TRUxFQ1RPUiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOSU5JVElBTElaRURfQVVUT1MgPSBZRVNfQUdHUkVTU0lWRTsKCQkJCUdDQ19XQVJOX1VOVVNFRF9GVU5DVElPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9IFlFUzsKCQkJCUlQSE9ORU9TX0RFUExPWU1FTlRfVEFSR0VUID0gMTIuMDsKCQkJCU1UTF9FTkFCTEVfREVCVUdfSU5GTyA9IE5POwoJCQkJU0RLUk9PVCA9IGlwaG9uZW9zOwoJCQkJU1VQUE9SVEVEX1BMQVRGT1JNUyA9IGlwaG9uZW9zOwoJCQkJVEFSR0VURURfREVWSUNFX0ZBTUlMWSA9ICIxLDIiOwoJCQkJVkFMSURBVEVfUFJPRFVDVCA9IFlFUzsKCQkJfTsKCQkJbmFtZSA9ICJQcm9maWxlLXByb2R1Y3Rpb24iOwoJCX07CgkJM0M5QzU1MjMyQjA3QUNCRDAwMEU1RkNEIC8qIFByb2ZpbGUtcHJvZHVjdGlvbiAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gN0FGQTNDOEUxRDM1MzYwQzAwODMwODJFIC8qIFJlbGVhc2UueGNjb25maWcgKi87CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBU1NFVENBVEFMT0dfQ09NUElMRVJfQVBQSUNPTl9OQU1FID0gQXBwSWNvbjsKCQkJCUNMQU5HX0VOQUJMRV9NT0RVTEVTID0gWUVTOwoJCQkJQ1VSUkVOVF9QUk9KRUNUX1ZFUlNJT04gPSAiJChGTFVUVEVSX0JVSUxEX05VTUJFUikiOwoJCQkJRU5BQkxFX0JJVENPREUgPSBOTzsKCQkJCUZMQVZPUl9BUFBfTkFNRSA9ICJ7e3Byb2plY3RfbmFtZS50aXRsZUNhc2UoKX19IjsKCQkJCUlORk9QTElTVF9GSUxFID0gUnVubmVyL0luZm8ucGxpc3Q7CgkJCQlMRF9SVU5QQVRIX1NFQVJDSF9QQVRIUyA9ICgKCQkJCQkiJChpbmhlcml0ZWQpIiwKCQkJCQkiQGV4ZWN1dGFibGVfcGF0aC9GcmFtZXdvcmtzIiwKCQkJCSk7CgkJCQlQQUNLQUdFX0NPTkZJRyA9IC5kYXJ0X3Rvb2wvcGFja2FnZV9jb25maWcuanNvbjsKCQkJCVBST0RVQ1RfQlVORExFX0lERU5USUZJRVIgPSB7e2lvc19hcHBsaWNhdGlvbl9pZH19OwoJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKCQkJCVNXSUZUX09CSkNfQlJJREdJTkdfSEVBREVSID0gIlJ1bm5lci9SdW5uZXItQnJpZGdpbmctSGVhZGVyLmgiOwoJCQkJU1dJRlRfVkVSU0lPTiA9IDUuMDsKCQkJCVZFUlNJT05JTkdfU1lTVEVNID0gImFwcGxlLWdlbmVyaWMiOwoJCQl9OwoJCQluYW1lID0gIlByb2ZpbGUtcHJvZHVjdGlvbiI7CgkJfTsKCQkzQzlDNTUyNDJCMDdBQ0JEMDAwRTVGQ0QgLyogUHJvZmlsZS1wcm9kdWN0aW9uICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJICAgIEJVTkRMRV9MT0FERVIgPSAiJChURVNUX0hPU1QpIjsKCQkJCUNPREVfU0lHTl9TVFlMRSA9IEF1dG9tYXRpYzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gMTsKCQkJCUdFTkVSQVRFX0lORk9QTElTVF9GSUxFID0gWUVTOwoJCQkJTUFSS0VUSU5HX1ZFUlNJT04gPSAxLjA7CgkJCQlQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0ge3tpb3NfYXBwbGljYXRpb25faWR9fTsKCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVEVTVF9IT1NUID0gIiQoQlVJTFRfUFJPRFVDVFNfRElSKS9SdW5uZXIuYXBwLyQoQlVORExFX0VYRUNVVEFCTEVfRk9MREVSX1BBVEgpL1J1bm5lciI7CgkJCX07CgkJCW5hbWUgPSAiUHJvZmlsZS1wcm9kdWN0aW9uIjsKCQl9OwoJCTNDOUM1NTI1MkIwN0FDRTcwMDBFNUZDRCAvKiBEZWJ1Zy1kZXZlbG9wbWVudCAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTzsKCQkJCUNMQU5HX0FOQUxZWkVSX05PTk5VTEwgPSBZRVM7CgkJCQlDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSAiZ251KysweCI7CgkJCQlDTEFOR19DWFhfTElCUkFSWSA9ICJsaWJjKysiOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDTEFOR19FTkFCTEVfT0JKQ19BUkMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0JMT0NLX0NBUFRVUkVfQVVUT1JFTEVBU0lORyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT01NQSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fREVQUkVDQVRFRF9PQkpDX0lNUExFTUVOVEFUSU9OUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fRElSRUNUX09CSkNfSVNBX1VTQUdFID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9FTVBUWV9CT0RZID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0lORklOSVRFX1JFQ1VSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5UX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX05PTl9MSVRFUkFMX05VTExfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19JTVBMSUNJVF9SRVRBSU5fU0VMRiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19MSVRFUkFMX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfUk9PVF9DTEFTUyA9IFlFU19FUlJPUjsKCQkJCUNMQU5HX1dBUk5fUkFOR0VfTE9PUF9BTkFMWVNJUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1RSSUNUX1BST1RPVFlQRVMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1NVU1BJQ0lPVVNfTU9WRSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fVU5SRUFDSEFCTEVfQ09ERSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fX0RVUExJQ0FURV9NRVRIT0RfTUFUQ0ggPSBZRVM7CgkJCQkiQ09ERV9TSUdOX0lERU5USVRZW3Nkaz1pcGhvbmVvcypdIiA9ICJpUGhvbmUgRGV2ZWxvcGVyIjsKCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBOTzsKCQkJCURFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9IGR3YXJmOwoJCQkJRU5BQkxFX1NUUklDVF9PQkpDX01TR1NFTkQgPSBZRVM7CgkJCQlFTkFCTEVfVEVTVEFCSUxJVFkgPSBZRVM7CgkJCQlHQ0NfQ19MQU5HVUFHRV9TVEFOREFSRCA9IGdudTk5OwoJCQkJR0NDX0RZTkFNSUNfTk9fUElDID0gTk87CgkJCQlHQ0NfTk9fQ09NTU9OX0JMT0NLUyA9IFlFUzsKCQkJCUdDQ19PUFRJTUlaQVRJT05fTEVWRUwgPSAwOwoJCQkJR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICgKCQkJCQkiREVCVUc9MSIsCgkJCQkJIiQoaW5oZXJpdGVkKSIsCgkJCQkpOwoJCQkJR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9BQk9VVF9SRVRVUk5fVFlQRSA9IFlFU19FUlJPUjsKCQkJCUdDQ19XQVJOX1VOREVDTEFSRURfU0VMRUNUT1IgPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTklOSVRJQUxJWkVEX0FVVE9TID0gWUVTX0FHR1JFU1NJVkU7CgkJCQlHQ0NfV0FSTl9VTlVTRURfRlVOQ1RJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTlVTRURfVkFSSUFCTEUgPSBZRVM7CgkJCQlJUEhPTkVPU19ERVBMT1lNRU5UX1RBUkdFVCA9IDEyLjA7CgkJCQlNVExfRU5BQkxFX0RFQlVHX0lORk8gPSBZRVM7CgkJCQlPTkxZX0FDVElWRV9BUkNIID0gWUVTOwoJCQkJU0RLUk9PVCA9IGlwaG9uZW9zOwoJCQkJVEFSR0VURURfREVWSUNFX0ZBTUlMWSA9ICIxLDIiOwoJCQl9OwoJCQluYW1lID0gIkRlYnVnLWRldmVsb3BtZW50IjsKCQl9OwoJCTNDOUM1NTI2MkIwN0FDRTcwMDBFNUZDRCAvKiBEZWJ1Zy1kZXZlbG9wbWVudCAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gOTc0MEVFQjIxQ0Y5MDE5NTAwNDM4NEZDIC8qIERlYnVnLnhjY29uZmlnICovOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQVNTRVRDQVRBTE9HX0NPTVBJTEVSX0FQUElDT05fTkFNRSA9ICJBcHBJY29uLWRldiI7CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gIiQoRkxVVFRFUl9CVUlMRF9OVU1CRVIpIjsKCQkJCUVOQUJMRV9CSVRDT0RFID0gTk87CgkJCQlGTEFWT1JfQVBQX05BTUUgPSAiW0RFVl0ge3twcm9qZWN0X25hbWUudGl0bGVDYXNlKCl9fSI7CgkJCQlJTkZPUExJU1RfRklMRSA9IFJ1bm5lci9JbmZvLnBsaXN0OwoJCQkJTERfUlVOUEFUSF9TRUFSQ0hfUEFUSFMgPSAoCgkJCQkJIiQoaW5oZXJpdGVkKSIsCgkJCQkJIkBleGVjdXRhYmxlX3BhdGgvRnJhbWV3b3JrcyIsCgkJCQkpOwoJCQkJUEFDS0FHRV9DT05GSUcgPSAuZGFydF90b29sL3BhY2thZ2VfY29uZmlnLmpzb247CgkJCQlQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0ge3tpb3NfYXBwbGljYXRpb25faWR9fS5kZXY7CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfT0JKQ19CUklER0lOR19IRUFERVIgPSAiUnVubmVyL1J1bm5lci1CcmlkZ2luZy1IZWFkZXIuaCI7CgkJCQlTV0lGVF9PUFRJTUlaQVRJT05fTEVWRUwgPSAiLU9ub25lIjsKCQkJCVNXSUZUX1ZFUlNJT04gPSA1LjA7CgkJCQlWRVJTSU9OSU5HX1NZU1RFTSA9ICJhcHBsZS1nZW5lcmljIjsKCQkJfTsKCQkJbmFtZSA9ICJEZWJ1Zy1kZXZlbG9wbWVudCI7CgkJfTsKCQkzQzlDNTUyNzJCMDdBQ0U3MDAwRTVGQ0QgLyogRGVidWctZGV2ZWxvcG1lbnQgKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQlVORExFX0xPQURFUiA9ICIkKFRFU1RfSE9TVCkiOwoJCQkJQ09ERV9TSUdOX1NUWUxFID0gQXV0b21hdGljOwoJCQkJQ1VSUkVOVF9QUk9KRUNUX1ZFUlNJT04gPSAxOwoJCQkJR0VORVJBVEVfSU5GT1BMSVNUX0ZJTEUgPSBZRVM7CgkJCQlNQVJLRVRJTkdfVkVSU0lPTiA9IDEuMDsKCQkJCVBST0RVQ1RfQlVORExFX0lERU5USUZJRVIgPSB7e2lvc19hcHBsaWNhdGlvbl9pZH19LlJ1bm5lclRlc3RzOwoJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKCQkJCVNXSUZUX0FDVElWRV9DT01QSUxBVElPTl9DT05ESVRJT05TID0gREVCVUc7CgkJCQlTV0lGVF9PUFRJTUlaQVRJT05fTEVWRUwgPSAiLU9ub25lIjsKCQkJCVNXSUZUX1ZFUlNJT04gPSA1LjA7CgkJCQlURVNUX0hPU1QgPSAiJChCVUlMVF9QUk9EVUNUU19ESVIpL1J1bm5lci5hcHAvJChCVU5ETEVfRVhFQ1VUQUJMRV9GT0xERVJfUEFUSCkvUnVubmVyIjsKCQkJfTsKCQkJbmFtZSA9ICJEZWJ1Zy1kZXZlbG9wbWVudCI7CgkJfTsKCQkzQzlDNTUyQjJCMDdBRDA5MDAwRTVGQ0QgLyogUHJvZmlsZS1kZXZlbG9wbWVudCAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTzsKCQkJCUNMQU5HX0FOQUxZWkVSX05PTk5VTEwgPSBZRVM7CgkJCQlDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSAiZ251KysweCI7CgkJCQlDTEFOR19DWFhfTElCUkFSWSA9ICJsaWJjKysiOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDTEFOR19FTkFCTEVfT0JKQ19BUkMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0JMT0NLX0NBUFRVUkVfQVVUT1JFTEVBU0lORyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT01NQSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fREVQUkVDQVRFRF9PQkpDX0lNUExFTUVOVEFUSU9OUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fRElSRUNUX09CSkNfSVNBX1VTQUdFID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9FTVBUWV9CT0RZID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0lORklOSVRFX1JFQ1VSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5UX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX05PTl9MSVRFUkFMX05VTExfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19JTVBMSUNJVF9SRVRBSU5fU0VMRiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19MSVRFUkFMX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfUk9PVF9DTEFTUyA9IFlFU19FUlJPUjsKCQkJCUNMQU5HX1dBUk5fUkFOR0VfTE9PUF9BTkFMWVNJUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1RSSUNUX1BST1RPVFlQRVMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1NVU1BJQ0lPVVNfTU9WRSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fVU5SRUFDSEFCTEVfQ09ERSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fX0RVUExJQ0FURV9NRVRIT0RfTUFUQ0ggPSBZRVM7CgkJCQkiQ09ERV9TSUdOX0lERU5USVRZW3Nkaz1pcGhvbmVvcypdIiA9ICJpUGhvbmUgRGV2ZWxvcGVyIjsKCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBOTzsKCQkJCURFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9ICJkd2FyZi13aXRoLWRzeW0iOwoJCQkJRU5BQkxFX05TX0FTU0VSVElPTlMgPSBOTzsKCQkJCUVOQUJMRV9TVFJJQ1RfT0JKQ19NU0dTRU5EID0gWUVTOwoJCQkJR0NDX0NfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnU5OTsKCQkJCUdDQ19OT19DT01NT05fQkxPQ0tTID0gWUVTOwoJCQkJR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9BQk9VVF9SRVRVUk5fVFlQRSA9IFlFU19FUlJPUjsKCQkJCUdDQ19XQVJOX1VOREVDTEFSRURfU0VMRUNUT1IgPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTklOSVRJQUxJWkVEX0FVVE9TID0gWUVTX0FHR1JFU1NJVkU7CgkJCQlHQ0NfV0FSTl9VTlVTRURfRlVOQ1RJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTlVTRURfVkFSSUFCTEUgPSBZRVM7CgkJCQlJUEhPTkVPU19ERVBMT1lNRU5UX1RBUkdFVCA9IDEyLjA7CgkJCQlNVExfRU5BQkxFX0RFQlVHX0lORk8gPSBOTzsKCQkJCVNES1JPT1QgPSBpcGhvbmVvczsKCQkJCVNVUFBPUlRFRF9QTEFURk9STVMgPSBpcGhvbmVvczsKCQkJCVRBUkdFVEVEX0RFVklDRV9GQU1JTFkgPSAiMSwyIjsKCQkJCVZBTElEQVRFX1BST0RVQ1QgPSBZRVM7CgkJCX07CgkJCW5hbWUgPSAiUHJvZmlsZS1kZXZlbG9wbWVudCI7CgkJfTsKCQkzQzlDNTUyQzJCMDdBRDA5MDAwRTVGQ0QgLyogUHJvZmlsZS1kZXZlbG9wbWVudCAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gN0FGQTNDOEUxRDM1MzYwQzAwODMwODJFIC8qIFJlbGVhc2UueGNjb25maWcgKi87CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBU1NFVENBVEFMT0dfQ09NUElMRVJfQVBQSUNPTl9OQU1FID0gIkFwcEljb24tZGV2IjsKCQkJCUNMQU5HX0VOQUJMRV9NT0RVTEVTID0gWUVTOwoJCQkJQ1VSUkVOVF9QUk9KRUNUX1ZFUlNJT04gPSAiJChGTFVUVEVSX0JVSUxEX05VTUJFUikiOwoJCQkJRU5BQkxFX0JJVENPREUgPSBOTzsKCQkJCUZMQVZPUl9BUFBfTkFNRSA9ICJbREVWXSB7e3Byb2plY3RfbmFtZS50aXRsZUNhc2UoKX19IjsKCQkJCUlORk9QTElTVF9GSUxFID0gUnVubmVyL0luZm8ucGxpc3Q7CgkJCQlMRF9SVU5QQVRIX1NFQVJDSF9QQVRIUyA9ICgKCQkJCQkiJChpbmhlcml0ZWQpIiwKCQkJCQkiQGV4ZWN1dGFibGVfcGF0aC9GcmFtZXdvcmtzIiwKCQkJCSk7CgkJCQlQQUNLQUdFX0NPTkZJRyA9IC5kYXJ0X3Rvb2wvcGFja2FnZV9jb25maWcuanNvbjsKCQkJCVBST0RVQ1RfQlVORExFX0lERU5USUZJRVIgPSB7e2lvc19hcHBsaWNhdGlvbl9pZH19LmRldjsKCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CgkJCQlTV0lGVF9PQkpDX0JSSURHSU5HX0hFQURFUiA9ICJSdW5uZXIvUnVubmVyLUJyaWRnaW5nLUhlYWRlci5oIjsKCQkJCVNXSUZUX1ZFUlNJT04gPSA1LjA7CgkJCQlWRVJTSU9OSU5HX1NZU1RFTSA9ICJhcHBsZS1nZW5lcmljIjsKCQkJfTsKCQkJbmFtZSA9ICJQcm9maWxlLWRldmVsb3BtZW50IjsKCQl9OwoJCTNDOUM1NTJEMkIwN0FEMDkwMDBFNUZDRCAvKiBQcm9maWxlLWRldmVsb3BtZW50ICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUJVTkRMRV9MT0FERVIgPSAiJChURVNUX0hPU1QpIjsKCQkJCUNPREVfU0lHTl9TVFlMRSA9IEF1dG9tYXRpYzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gMTsKCQkJCUdFTkVSQVRFX0lORk9QTElTVF9GSUxFID0gWUVTOwoJCQkJTUFSS0VUSU5HX1ZFUlNJT04gPSAxLjA7CgkJCQlQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0ge3tpb3NfYXBwbGljYXRpb25faWR9fS5SdW5uZXJUZXN0czsKCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVEVTVF9IT1NUID0gIiQoQlVJTFRfUFJPRFVDVFNfRElSKS9SdW5uZXIuYXBwLyQoQlVORExFX0VYRUNVVEFCTEVfRk9MREVSX1BBVEgpL1J1bm5lciI7CgkJCX07CgkJCW5hbWUgPSAiUHJvZmlsZS1kZXZlbG9wbWVudCI7CgkJfTsKCQkzQzlDNTUyRTJCMDdBRDFCMDAwRTVGQ0QgLyogUmVsZWFzZS1kZXZlbG9wbWVudCAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTzsKCQkJCUNMQU5HX0FOQUxZWkVSX05PTk5VTEwgPSBZRVM7CgkJCQlDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSAiZ251KysweCI7CgkJCQlDTEFOR19DWFhfTElCUkFSWSA9ICJsaWJjKysiOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDTEFOR19FTkFCTEVfT0JKQ19BUkMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0JMT0NLX0NBUFRVUkVfQVVUT1JFTEVBU0lORyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT01NQSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fREVQUkVDQVRFRF9PQkpDX0lNUExFTUVOVEFUSU9OUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fRElSRUNUX09CSkNfSVNBX1VTQUdFID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9FTVBUWV9CT0RZID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0lORklOSVRFX1JFQ1VSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5UX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX05PTl9MSVRFUkFMX05VTExfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19JTVBMSUNJVF9SRVRBSU5fU0VMRiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19MSVRFUkFMX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfUk9PVF9DTEFTUyA9IFlFU19FUlJPUjsKCQkJCUNMQU5HX1dBUk5fUkFOR0VfTE9PUF9BTkFMWVNJUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1RSSUNUX1BST1RPVFlQRVMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1NVU1BJQ0lPVVNfTU9WRSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fVU5SRUFDSEFCTEVfQ09ERSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fX0RVUExJQ0FURV9NRVRIT0RfTUFUQ0ggPSBZRVM7CgkJCQkiQ09ERV9TSUdOX0lERU5USVRZW3Nkaz1pcGhvbmVvcypdIiA9ICJpUGhvbmUgRGV2ZWxvcGVyIjsKCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBOTzsKCQkJCURFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9ICJkd2FyZi13aXRoLWRzeW0iOwoJCQkJRU5BQkxFX05TX0FTU0VSVElPTlMgPSBOTzsKCQkJCUVOQUJMRV9TVFJJQ1RfT0JKQ19NU0dTRU5EID0gWUVTOwoJCQkJR0NDX0NfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnU5OTsKCQkJCUdDQ19OT19DT01NT05fQkxPQ0tTID0gWUVTOwoJCQkJR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9BQk9VVF9SRVRVUk5fVFlQRSA9IFlFU19FUlJPUjsKCQkJCUdDQ19XQVJOX1VOREVDTEFSRURfU0VMRUNUT1IgPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTklOSVRJQUxJWkVEX0FVVE9TID0gWUVTX0FHR1JFU1NJVkU7CgkJCQlHQ0NfV0FSTl9VTlVTRURfRlVOQ1RJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTlVTRURfVkFSSUFCTEUgPSBZRVM7CgkJCQlJUEhPTkVPU19ERVBMT1lNRU5UX1RBUkdFVCA9IDEyLjA7CgkJCQlNVExfRU5BQkxFX0RFQlVHX0lORk8gPSBOTzsKCQkJCVNES1JPT1QgPSBpcGhvbmVvczsKCQkJCVNVUFBPUlRFRF9QTEFURk9STVMgPSBpcGhvbmVvczsKCQkJCVRBUkdFVEVEX0RFVklDRV9GQU1JTFkgPSAiMSwyIjsKCQkJCVNXSUZUX0NPTVBJTEFUSU9OX01PREUgPSB3aG9sZW1vZHVsZTsKCQkJCVNXSUZUX09QVElNSVpBVElPTl9MRVZFTCA9ICItTyI7CgkJCQlWQUxJREFURV9QUk9EVUNUID0gWUVTOwoJCQl9OwoJCQluYW1lID0gIlJlbGVhc2UtZGV2ZWxvcG1lbnQiOwoJCX07CgkJM0M5QzU1MkYyQjA3QUQxQjAwMEU1RkNEIC8qIFJlbGVhc2UtZGV2ZWxvcG1lbnQgKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDdBRkEzQzhFMUQzNTM2MEMwMDgzMDgyRSAvKiBSZWxlYXNlLnhjY29uZmlnICovOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQVNTRVRDQVRBTE9HX0NPTVBJTEVSX0FQUElDT05fTkFNRSA9ICJBcHBJY29uLWRldiI7CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gIiQoRkxVVFRFUl9CVUlMRF9OVU1CRVIpIjsKCQkJCUVOQUJMRV9CSVRDT0RFID0gTk87CgkJCQlGTEFWT1JfQVBQX05BTUUgPSAiW0RFVl0ge3twcm9qZWN0X25hbWUudGl0bGVDYXNlKCl9fSI7CgkJCQlJTkZPUExJU1RfRklMRSA9IFJ1bm5lci9JbmZvLnBsaXN0OwoJCQkJTERfUlVOUEFUSF9TRUFSQ0hfUEFUSFMgPSAoCgkJCQkJIiQoaW5oZXJpdGVkKSIsCgkJCQkJIkBleGVjdXRhYmxlX3BhdGgvRnJhbWV3b3JrcyIsCgkJCQkpOwoJCQkJUEFDS0FHRV9DT05GSUcgPSAuZGFydF90b29sL3BhY2thZ2VfY29uZmlnLmpzb247CgkJCQlQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0ge3tpb3NfYXBwbGljYXRpb25faWR9fS5kZXY7CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfT0JKQ19CUklER0lOR19IRUFERVIgPSAiUnVubmVyL1J1bm5lci1CcmlkZ2luZy1IZWFkZXIuaCI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVkVSU0lPTklOR19TWVNURU0gPSAiYXBwbGUtZ2VuZXJpYyI7CgkJCX07CgkJCW5hbWUgPSAiUmVsZWFzZS1kZXZlbG9wbWVudCI7CgkJfTsKCQkzQzlDNTUzMDJCMDdBRDFCMDAwRTVGQ0QgLyogUmVsZWFzZS1kZXZlbG9wbWVudCAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlCVU5ETEVfTE9BREVSID0gIiQoVEVTVF9IT1NUKSI7CgkJCQlDT0RFX1NJR05fU1RZTEUgPSBBdXRvbWF0aWM7CgkJCQlDVVJSRU5UX1BST0pFQ1RfVkVSU0lPTiA9IDE7CgkJCQlHRU5FUkFURV9JTkZPUExJU1RfRklMRSA9IFlFUzsKCQkJCU1BUktFVElOR19WRVJTSU9OID0gMS4wOwoJCQkJUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9IHt7aW9zX2FwcGxpY2F0aW9uX2lkfX0uUnVubmVyVGVzdHM7CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfVkVSU0lPTiA9IDUuMDsKCQkJCVRFU1RfSE9TVCA9ICIkKEJVSUxUX1BST0RVQ1RTX0RJUikvUnVubmVyLmFwcC8kKEJVTkRMRV9FWEVDVVRBQkxFX0ZPTERFUl9QQVRIKS9SdW5uZXIiOwoJCQl9OwoJCQluYW1lID0gIlJlbGVhc2UtZGV2ZWxvcG1lbnQiOwoJCX07CgkJM0M5QzU1MzEyQjA3QUQyNjAwMEU1RkNEIC8qIERlYnVnLXN0YWdpbmcgKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQUxXQVlTX1NFQVJDSF9VU0VSX1BBVEhTID0gTk87CgkJCQlDTEFOR19BTkFMWVpFUl9OT05OVUxMID0gWUVTOwoJCQkJQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gImdudSsrMHgiOwoJCQkJQ0xBTkdfQ1hYX0xJQlJBUlkgPSAibGliYysrIjsKCQkJCUNMQU5HX0VOQUJMRV9NT0RVTEVTID0gWUVTOwoJCQkJQ0xBTkdfRU5BQkxFX09CSkNfQVJDID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9CTE9DS19DQVBUVVJFX0FVVE9SRUxFQVNJTkcgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0JPT0xfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQ09NTUEgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0NPTlNUQU5UX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0RFUFJFQ0FURURfT0JKQ19JTVBMRU1FTlRBVElPTlMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0RJUkVDVF9PQkpDX0lTQV9VU0FHRSA9IFlFU19FUlJPUjsKCQkJCUNMQU5HX1dBUk5fRU1QVFlfQk9EWSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fRU5VTV9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9JTkZJTklURV9SRUNVUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0lOVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9OT05fTElURVJBTF9OVUxMX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfSU1QTElDSVRfUkVUQUlOX1NFTEYgPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfTElURVJBTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX1JPT1RfQ0xBU1MgPSBZRVNfRVJST1I7CgkJCQlDTEFOR19XQVJOX1JBTkdFX0xPT1BfQU5BTFlTSVMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1NUUklDVF9QUk9UT1RZUEVTID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9TVVNQSUNJT1VTX01PVkUgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1VOUkVBQ0hBQkxFX0NPREUgPSBZRVM7CgkJCQlDTEFOR19XQVJOX19EVVBMSUNBVEVfTUVUSE9EX01BVENIID0gWUVTOwoJCQkJIkNPREVfU0lHTl9JREVOVElUWVtzZGs9aXBob25lb3MqXSIgPSAiaVBob25lIERldmVsb3BlciI7CgkJCQlDT1BZX1BIQVNFX1NUUklQID0gTk87CgkJCQlERUJVR19JTkZPUk1BVElPTl9GT1JNQVQgPSBkd2FyZjsKCQkJCUVOQUJMRV9TVFJJQ1RfT0JKQ19NU0dTRU5EID0gWUVTOwoJCQkJRU5BQkxFX1RFU1RBQklMSVRZID0gWUVTOwoJCQkJR0NDX0NfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnU5OTsKCQkJCUdDQ19EWU5BTUlDX05PX1BJQyA9IE5POwoJCQkJR0NDX05PX0NPTU1PTl9CTE9DS1MgPSBZRVM7CgkJCQlHQ0NfT1BUSU1JWkFUSU9OX0xFVkVMID0gMDsKCQkJCUdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAoCgkJCQkJIkRFQlVHPTEiLAoJCQkJCSIkKGluaGVyaXRlZCkiLAoJCQkJKTsKCQkJCUdDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJR0NDX1dBUk5fQUJPVVRfUkVUVVJOX1RZUEUgPSBZRVNfRVJST1I7CgkJCQlHQ0NfV0FSTl9VTkRFQ0xBUkVEX1NFTEVDVE9SID0gWUVTOwoJCQkJR0NDX1dBUk5fVU5JTklUSUFMSVpFRF9BVVRPUyA9IFlFU19BR0dSRVNTSVZFOwoJCQkJR0NDX1dBUk5fVU5VU0VEX0ZVTkNUSU9OID0gWUVTOwoJCQkJR0NDX1dBUk5fVU5VU0VEX1ZBUklBQkxFID0gWUVTOwoJCQkJSVBIT05FT1NfREVQTE9ZTUVOVF9UQVJHRVQgPSAxMi4wOwoJCQkJTVRMX0VOQUJMRV9ERUJVR19JTkZPID0gWUVTOwoJCQkJT05MWV9BQ1RJVkVfQVJDSCA9IFlFUzsKCQkJCVNES1JPT1QgPSBpcGhvbmVvczsKCQkJCVRBUkdFVEVEX0RFVklDRV9GQU1JTFkgPSAiMSwyIjsKCQkJfTsKCQkJbmFtZSA9ICJEZWJ1Zy1zdGFnaW5nIjsKCQl9OwoJCTNDOUM1NTMyMkIwN0FEMjYwMDBFNUZDRCAvKiBEZWJ1Zy1zdGFnaW5nICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSA5NzQwRUVCMjFDRjkwMTk1MDA0Mzg0RkMgLyogRGVidWcueGNjb25maWcgKi87CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBU1NFVENBVEFMT0dfQ09NUElMRVJfQVBQSUNPTl9OQU1FID0gIkFwcEljb24tc3RnIjsKCQkJCUNMQU5HX0VOQUJMRV9NT0RVTEVTID0gWUVTOwoJCQkJQ1VSUkVOVF9QUk9KRUNUX1ZFUlNJT04gPSAiJChGTFVUVEVSX0JVSUxEX05VTUJFUikiOwoJCQkJRU5BQkxFX0JJVENPREUgPSBOTzsKCQkJCUZMQVZPUl9BUFBfTkFNRSA9ICJbU1RHXSB7e3Byb2plY3RfbmFtZS50aXRsZUNhc2UoKX19IjsKCQkJCUlORk9QTElTVF9GSUxFID0gUnVubmVyL0luZm8ucGxpc3Q7CgkJCQlMRF9SVU5QQVRIX1NFQVJDSF9QQVRIUyA9ICgKCQkJCQkiJChpbmhlcml0ZWQpIiwKCQkJCQkiQGV4ZWN1dGFibGVfcGF0aC9GcmFtZXdvcmtzIiwKCQkJCSk7CgkJCQlQQUNLQUdFX0NPTkZJRyA9IC5kYXJ0X3Rvb2wvcGFja2FnZV9jb25maWcuanNvbjsKCQkJCVBST0RVQ1RfQlVORExFX0lERU5USUZJRVIgPSB7e2lvc19hcHBsaWNhdGlvbl9pZH19LnN0ZzsKCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CgkJCQlTV0lGVF9PQkpDX0JSSURHSU5HX0hFQURFUiA9ICJSdW5uZXIvUnVubmVyLUJyaWRnaW5nLUhlYWRlci5oIjsKCQkJCVNXSUZUX09QVElNSVpBVElPTl9MRVZFTCA9ICItT25vbmUiOwoJCQkJU1dJRlRfVkVSU0lPTiA9IDUuMDsKCQkJCVZFUlNJT05JTkdfU1lTVEVNID0gImFwcGxlLWdlbmVyaWMiOwoJCQl9OwoJCQluYW1lID0gIkRlYnVnLXN0YWdpbmciOwoJCX07CgkJM0M5QzU1MzMyQjA3QUQyNjAwMEU1RkNEIC8qIERlYnVnLXN0YWdpbmcgKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQlVORExFX0xPQURFUiA9ICIkKFRFU1RfSE9TVCkiOwoJCQkJQ09ERV9TSUdOX1NUWUxFID0gQXV0b21hdGljOwoJCQkJQ1VSUkVOVF9QUk9KRUNUX1ZFUlNJT04gPSAxOwoJCQkJR0VORVJBVEVfSU5GT1BMSVNUX0ZJTEUgPSBZRVM7CgkJCQlNQVJLRVRJTkdfVkVSU0lPTiA9IDEuMDsKCQkJCVBST0RVQ1RfQlVORExFX0lERU5USUZJRVIgPSB7e2lvc19hcHBsaWNhdGlvbl9pZH19LlJ1bm5lclRlc3RzOwoJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKCQkJCVNXSUZUX0FDVElWRV9DT01QSUxBVElPTl9DT05ESVRJT05TID0gREVCVUc7CgkJCQlTV0lGVF9PUFRJTUlaQVRJT05fTEVWRUwgPSAiLU9ub25lIjsKCQkJCVNXSUZUX1ZFUlNJT04gPSA1LjA7CgkJCQlURVNUX0hPU1QgPSAiJChCVUlMVF9QUk9EVUNUU19ESVIpL1J1bm5lci5hcHAvJChCVU5ETEVfRVhFQ1VUQUJMRV9GT0xERVJfUEFUSCkvUnVubmVyIjsKCQkJfTsKCQkJbmFtZSA9ICJEZWJ1Zy1zdGFnaW5nIjsKCQl9OwoJCTNDOUM1NTM0MkIwN0FENDEwMDBFNUZDRCAvKiBSZWxlYXNlLXN0YWdpbmcgKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQUxXQVlTX1NFQVJDSF9VU0VSX1BBVEhTID0gTk87CgkJCQlDTEFOR19BTkFMWVpFUl9OT05OVUxMID0gWUVTOwoJCQkJQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gImdudSsrMHgiOwoJCQkJQ0xBTkdfQ1hYX0xJQlJBUlkgPSAibGliYysrIjsKCQkJCUNMQU5HX0VOQUJMRV9NT0RVTEVTID0gWUVTOwoJCQkJQ0xBTkdfRU5BQkxFX09CSkNfQVJDID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9CTE9DS19DQVBUVVJFX0FVVE9SRUxFQVNJTkcgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0JPT0xfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQ09NTUEgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0NPTlNUQU5UX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0RFUFJFQ0FURURfT0JKQ19JTVBMRU1FTlRBVElPTlMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0RJUkVDVF9PQkpDX0lTQV9VU0FHRSA9IFlFU19FUlJPUjsKCQkJCUNMQU5HX1dBUk5fRU1QVFlfQk9EWSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fRU5VTV9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9JTkZJTklURV9SRUNVUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0lOVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9OT05fTElURVJBTF9OVUxMX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfSU1QTElDSVRfUkVUQUlOX1NFTEYgPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfTElURVJBTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX1JPT1RfQ0xBU1MgPSBZRVNfRVJST1I7CgkJCQlDTEFOR19XQVJOX1JBTkdFX0xPT1BfQU5BTFlTSVMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1NUUklDVF9QUk9UT1RZUEVTID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9TVVNQSUNJT1VTX01PVkUgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1VOUkVBQ0hBQkxFX0NPREUgPSBZRVM7CgkJCQlDTEFOR19XQVJOX19EVVBMSUNBVEVfTUVUSE9EX01BVENIID0gWUVTOwoJCQkJIkNPREVfU0lHTl9JREVOVElUWVtzZGs9aXBob25lb3MqXSIgPSAiaVBob25lIERldmVsb3BlciI7CgkJCQlDT1BZX1BIQVNFX1NUUklQID0gTk87CgkJCQlERUJVR19JTkZPUk1BVElPTl9GT1JNQVQgPSAiZHdhcmYtd2l0aC1kc3ltIjsKCQkJCUVOQUJMRV9OU19BU1NFUlRJT05TID0gTk87CgkJCQlFTkFCTEVfU1RSSUNUX09CSkNfTVNHU0VORCA9IFlFUzsKCQkJCUdDQ19DX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251OTk7CgkJCQlHQ0NfTk9fQ09NTU9OX0JMT0NLUyA9IFlFUzsKCQkJCUdDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJR0NDX1dBUk5fQUJPVVRfUkVUVVJOX1RZUEUgPSBZRVNfRVJST1I7CgkJCQlHQ0NfV0FSTl9VTkRFQ0xBUkVEX1NFTEVDVE9SID0gWUVTOwoJCQkJR0NDX1dBUk5fVU5JTklUSUFMSVpFRF9BVVRPUyA9IFlFU19BR0dSRVNTSVZFOwoJCQkJR0NDX1dBUk5fVU5VU0VEX0ZVTkNUSU9OID0gWUVTOwoJCQkJR0NDX1dBUk5fVU5VU0VEX1ZBUklBQkxFID0gWUVTOwoJCQkJSVBIT05FT1NfREVQTE9ZTUVOVF9UQVJHRVQgPSAxMi4wOwoJCQkJTVRMX0VOQUJMRV9ERUJVR19JTkZPID0gTk87CgkJCQlTREtST09UID0gaXBob25lb3M7CgkJCQlTVVBQT1JURURfUExBVEZPUk1TID0gaXBob25lb3M7CgkJCQlTV0lGVF9DT01QSUxBVElPTl9NT0RFID0gd2hvbGVtb2R1bGU7CgkJCQlTV0lGVF9PUFRJTUlaQVRJT05fTEVWRUwgPSAiLU8iOwoJCQkJVEFSR0VURURfREVWSUNFX0ZBTUlMWSA9ICIxLDIiOwoJCQkJVkFMSURBVEVfUFJPRFVDVCA9IFlFUzsKCQkJfTsKCQkJbmFtZSA9ICJSZWxlYXNlLXN0YWdpbmciOwoJCX07CgkJM0M5QzU1MzUyQjA3QUQ0MTAwMEU1RkNEIC8qIFJlbGVhc2Utc3RhZ2luZyAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gN0FGQTNDOEUxRDM1MzYwQzAwODMwODJFIC8qIFJlbGVhc2UueGNjb25maWcgKi87CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBU1NFVENBVEFMT0dfQ09NUElMRVJfQVBQSUNPTl9OQU1FID0gIkFwcEljb24tc3RnIjsKCQkJCUNMQU5HX0VOQUJMRV9NT0RVTEVTID0gWUVTOwoJCQkJQ1VSUkVOVF9QUk9KRUNUX1ZFUlNJT04gPSAiJChGTFVUVEVSX0JVSUxEX05VTUJFUikiOwoJCQkJRU5BQkxFX0JJVENPREUgPSBOTzsKCQkJCUZMQVZPUl9BUFBfTkFNRSA9ICJbU1RHXSB7e3Byb2plY3RfbmFtZS50aXRsZUNhc2UoKX19IjsKCQkJCUlORk9QTElTVF9GSUxFID0gUnVubmVyL0luZm8ucGxpc3Q7CgkJCQlMRF9SVU5QQVRIX1NFQVJDSF9QQVRIUyA9ICgKCQkJCQkiJChpbmhlcml0ZWQpIiwKCQkJCQkiQGV4ZWN1dGFibGVfcGF0aC9GcmFtZXdvcmtzIiwKCQkJCSk7CgkJCQlQQUNLQUdFX0NPTkZJRyA9IC5kYXJ0X3Rvb2wvcGFja2FnZV9jb25maWcuanNvbjsKCQkJCVBST0RVQ1RfQlVORExFX0lERU5USUZJRVIgPSB7e2lvc19hcHBsaWNhdGlvbl9pZH19LnN0ZzsKCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CgkJCQlTV0lGVF9PQkpDX0JSSURHSU5HX0hFQURFUiA9ICJSdW5uZXIvUnVubmVyLUJyaWRnaW5nLUhlYWRlci5oIjsKCQkJCVNXSUZUX1ZFUlNJT04gPSA1LjA7CgkJCQlWRVJTSU9OSU5HX1NZU1RFTSA9ICJhcHBsZS1nZW5lcmljIjsKCQkJfTsKCQkJbmFtZSA9ICJSZWxlYXNlLXN0YWdpbmciOwoJCX07CgkJM0M5QzU1MzYyQjA3QUQ0MTAwMEU1RkNEIC8qIFJlbGVhc2Utc3RhZ2luZyAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlCVU5ETEVfTE9BREVSID0gIiQoVEVTVF9IT1NUKSI7CgkJCQlDT0RFX1NJR05fU1RZTEUgPSBBdXRvbWF0aWM7CgkJCQlDVVJSRU5UX1BST0pFQ1RfVkVSU0lPTiA9IDE7CgkJCQlHRU5FUkFURV9JTkZPUExJU1RfRklMRSA9IFlFUzsKCQkJCU1BUktFVElOR19WRVJTSU9OID0gMS4wOwoJCQkJUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9IHt7aW9zX2FwcGxpY2F0aW9uX2lkfX0uUnVubmVyVGVzdHM7CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfVkVSU0lPTiA9IDUuMDsKCQkJCVRFU1RfSE9TVCA9ICIkKEJVSUxUX1BST0RVQ1RTX0RJUikvUnVubmVyLmFwcC8kKEJVTkRMRV9FWEVDVVRBQkxFX0ZPTERFUl9QQVRIKS9SdW5uZXIiOwoJCQl9OwoJCQluYW1lID0gIlJlbGVhc2Utc3RhZ2luZyI7CgkJfTsKCQkzQzlDNTUzNzJCMDdBRDRCMDAwRTVGQ0QgLyogUHJvZmlsZS1zdGFnaW5nICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POwoJCQkJQ0xBTkdfQU5BTFlaRVJfTk9OTlVMTCA9IFlFUzsKCQkJCUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9ICJnbnUrKzB4IjsKCQkJCUNMQU5HX0NYWF9MSUJSQVJZID0gImxpYmMrKyI7CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNMQU5HX0VOQUJMRV9PQkpDX0FSQyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQkxPQ0tfQ0FQVFVSRV9BVVRPUkVMRUFTSU5HID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9CT09MX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0NPTU1BID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT05TVEFOVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ERVBSRUNBVEVEX09CSkNfSU1QTEVNRU5UQVRJT05TID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ESVJFQ1RfT0JKQ19JU0FfVVNBR0UgPSBZRVNfRVJST1I7CgkJCQlDTEFOR19XQVJOX0VNUFRZX0JPRFkgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0VOVU1fQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5GSU5JVEVfUkVDVVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9JTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fTk9OX0xJVEVSQUxfTlVMTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0lNUExJQ0lUX1JFVEFJTl9TRUxGID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0xJVEVSQUxfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19ST09UX0NMQVNTID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9SQU5HRV9MT09QX0FOQUxZU0lTID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9TVFJJQ1RfUFJPVE9UWVBFUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1VTUElDSU9VU19NT1ZFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9VTlJFQUNIQUJMRV9DT0RFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9fRFVQTElDQVRFX01FVEhPRF9NQVRDSCA9IFlFUzsKCQkJCSJDT0RFX1NJR05fSURFTlRJVFlbc2RrPWlwaG9uZW9zKl0iID0gImlQaG9uZSBEZXZlbG9wZXIiOwoJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IE5POwoJCQkJREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gImR3YXJmLXdpdGgtZHN5bSI7CgkJCQlFTkFCTEVfTlNfQVNTRVJUSU9OUyA9IE5POwoJCQkJRU5BQkxFX1NUUklDVF9PQkpDX01TR1NFTkQgPSBZRVM7CgkJCQlHQ0NfQ19MQU5HVUFHRV9TVEFOREFSRCA9IGdudTk5OwoJCQkJR0NDX05PX0NPTU1PTl9CTE9DS1MgPSBZRVM7CgkJCQlHQ0NfV0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX0FCT1VUX1JFVFVSTl9UWVBFID0gWUVTX0VSUk9SOwoJCQkJR0NDX1dBUk5fVU5ERUNMQVJFRF9TRUxFQ1RPUiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOSU5JVElBTElaRURfQVVUT1MgPSBZRVNfQUdHUkVTU0lWRTsKCQkJCUdDQ19XQVJOX1VOVVNFRF9GVU5DVElPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9IFlFUzsKCQkJCUlQSE9ORU9TX0RFUExPWU1FTlRfVEFSR0VUID0gMTIuMDsKCQkJCU1UTF9FTkFCTEVfREVCVUdfSU5GTyA9IE5POwoJCQkJU0RLUk9PVCA9IGlwaG9uZW9zOwoJCQkJU1VQUE9SVEVEX1BMQVRGT1JNUyA9IGlwaG9uZW9zOwoJCQkJVEFSR0VURURfREVWSUNFX0ZBTUlMWSA9ICIxLDIiOwoJCQkJVkFMSURBVEVfUFJPRFVDVCA9IFlFUzsKCQkJfTsKCQkJbmFtZSA9ICJQcm9maWxlLXN0YWdpbmciOwoJCX07CgkJM0M5QzU1MzgyQjA3QUQ0QjAwMEU1RkNEIC8qIFByb2ZpbGUtc3RhZ2luZyAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gN0FGQTNDOEUxRDM1MzYwQzAwODMwODJFIC8qIFJlbGVhc2UueGNjb25maWcgKi87CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBU1NFVENBVEFMT0dfQ09NUElMRVJfQVBQSUNPTl9OQU1FID0gIkFwcEljb24tc3RnIjsKCQkJCUNMQU5HX0VOQUJMRV9NT0RVTEVTID0gWUVTOwoJCQkJQ1VSUkVOVF9QUk9KRUNUX1ZFUlNJT04gPSAiJChGTFVUVEVSX0JVSUxEX05VTUJFUikiOwoJCQkJRU5BQkxFX0JJVENPREUgPSBOTzsKCQkJCUZMQVZPUl9BUFBfTkFNRSA9ICJbU1RHXSB7e3Byb2plY3RfbmFtZS50aXRsZUNhc2UoKX19IjsKCQkJCUlORk9QTElTVF9GSUxFID0gUnVubmVyL0luZm8ucGxpc3Q7CgkJCQlMRF9SVU5QQVRIX1NFQVJDSF9QQVRIUyA9ICgKCQkJCQkiJChpbmhlcml0ZWQpIiwKCQkJCQkiQGV4ZWN1dGFibGVfcGF0aC9GcmFtZXdvcmtzIiwKCQkJCSk7CgkJCQlQQUNLQUdFX0NPTkZJRyA9IC5kYXJ0X3Rvb2wvcGFja2FnZV9jb25maWcuanNvbjsKCQkJCVBST0RVQ1RfQlVORExFX0lERU5USUZJRVIgPSB7e2lvc19hcHBsaWNhdGlvbl9pZH19LnN0ZzsKCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CgkJCQlTV0lGVF9PQkpDX0JSSURHSU5HX0hFQURFUiA9ICJSdW5uZXIvUnVubmVyLUJyaWRnaW5nLUhlYWRlci5oIjsKCQkJCVNXSUZUX1ZFUlNJT04gPSA1LjA7CgkJCQlWRVJTSU9OSU5HX1NZU1RFTSA9ICJhcHBsZS1nZW5lcmljIjsKCQkJfTsKCQkJbmFtZSA9ICJQcm9maWxlLXN0YWdpbmciOwoJCX07CgkJM0M5QzU1MzkyQjA3QUQ0QjAwMEU1RkNEIC8qIFByb2ZpbGUtc3RhZ2luZyAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlCVU5ETEVfTE9BREVSID0gIiQoVEVTVF9IT1NUKSI7CgkJCQlDT0RFX1NJR05fU1RZTEUgPSBBdXRvbWF0aWM7CgkJCQlDVVJSRU5UX1BST0pFQ1RfVkVSU0lPTiA9IDE7CgkJCQlHRU5FUkFURV9JTkZPUExJU1RfRklMRSA9IFlFUzsKCQkJCU1BUktFVElOR19WRVJTSU9OID0gMS4wOwoJCQkJUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9IHt7aW9zX2FwcGxpY2F0aW9uX2lkfX0uUnVubmVyVGVzdHM7CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfVkVSU0lPTiA9IDUuMDsKCQkJCVRFU1RfSE9TVCA9ICIkKEJVSUxUX1BST0RVQ1RTX0RJUikvUnVubmVyLmFwcC8kKEJVTkRMRV9FWEVDVVRBQkxFX0ZPTERFUl9QQVRIKS9SdW5uZXIiOwoJCQl9OwoJCQluYW1lID0gIlByb2ZpbGUtc3RhZ2luZyI7CgkJfTsKLyogRW5kIFhDQnVpbGRDb25maWd1cmF0aW9uIHNlY3Rpb24gKi8KCi8qIEJlZ2luIFhDQ29uZmlndXJhdGlvbkxpc3Qgc2VjdGlvbiAqLwogICAgICAgIDMzMUM4MDg3Mjk0QTYzQTQwMDI2M0JFNSAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiUnVubmVyVGVzdHMiICovID0gewoJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OwoJCQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAoJCQkJM0M5QzU1MUIyQjA3QUM5OTAwMEU1RkNEIC8qIERlYnVnLXByb2R1Y3Rpb24gKi8sCgkJCQkzQzlDNTUzMzJCMDdBRDI2MDAwRTVGQ0QgLyogRGVidWctc3RhZ2luZyAqLywKCQkJCTNDOUM1NTI3MkIwN0FDRTcwMDBFNUZDRCAvKiBEZWJ1Zy1kZXZlbG9wbWVudCAqLywKCQkJCTNDOUM1NTFFMkIwN0FDQTQwMDBFNUZDRCAvKiBSZWxlYXNlLXByb2R1Y3Rpb24gKi8sCgkJCQkzQzlDNTUzNjJCMDdBRDQxMDAwRTVGQ0QgLyogUmVsZWFzZS1zdGFnaW5nICovLAoJCQkJM0M5QzU1MzAyQjA3QUQxQjAwMEU1RkNEIC8qIFJlbGVhc2UtZGV2ZWxvcG1lbnQgKi8sCgkJCQkzQzlDNTUyNDJCMDdBQ0JEMDAwRTVGQ0QgLyogUHJvZmlsZS1wcm9kdWN0aW9uICovLAoJCQkJM0M5QzU1MzkyQjA3QUQ0QjAwMEU1RkNEIC8qIFByb2ZpbGUtc3RhZ2luZyAqLywKCQkJCTNDOUM1NTJEMkIwN0FEMDkwMDBFNUZDRCAvKiBQcm9maWxlLWRldmVsb3BtZW50ICovLAoJCQkpOwoJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CgkJCWRlZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9ICJSZWxlYXNlLXByb2R1Y3Rpb24iOwoJCX07CgkJOTdDMTQ2RTkxQ0Y5MDAwRjAwN0MxMTdEIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJvamVjdCAiUnVubmVyIiAqLyA9IHsKCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKCQkJCTNDOUM1NTE5MkIwN0FDOTkwMDBFNUZDRCAvKiBEZWJ1Zy1wcm9kdWN0aW9uICovLAoJCQkJM0M5QzU1MzEyQjA3QUQyNjAwMEU1RkNEIC8qIERlYnVnLXN0YWdpbmcgKi8sCgkJCQkzQzlDNTUyNTJCMDdBQ0U3MDAwRTVGQ0QgLyogRGVidWctZGV2ZWxvcG1lbnQgKi8sCgkJCQkzQzlDNTUxQzJCMDdBQ0E0MDAwRTVGQ0QgLyogUmVsZWFzZS1wcm9kdWN0aW9uICovLAoJCQkJM0M5QzU1MzQyQjA3QUQ0MTAwMEU1RkNEIC8qIFJlbGVhc2Utc3RhZ2luZyAqLywKCQkJCTNDOUM1NTJFMkIwN0FEMUIwMDBFNUZDRCAvKiBSZWxlYXNlLWRldmVsb3BtZW50ICovLAoJCQkJM0M5QzU1MjIyQjA3QUNCRDAwMEU1RkNEIC8qIFByb2ZpbGUtcHJvZHVjdGlvbiAqLywKCQkJCTNDOUM1NTM3MkIwN0FENEIwMDBFNUZDRCAvKiBQcm9maWxlLXN0YWdpbmcgKi8sCgkJCQkzQzlDNTUyQjJCMDdBRDA5MDAwRTVGQ0QgLyogUHJvZmlsZS1kZXZlbG9wbWVudCAqLywKCQkJKTsKCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOwoJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSAiUmVsZWFzZS1wcm9kdWN0aW9uIjsKCQl9OwoJCTk3QzE0NzA1MUNGOTAwMEYwMDdDMTE3RCAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiUnVubmVyIiAqLyA9IHsKCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKCQkJCTNDOUM1NTFBMkIwN0FDOTkwMDBFNUZDRCAvKiBEZWJ1Zy1wcm9kdWN0aW9uICovLAoJCQkJM0M5QzU1MzIyQjA3QUQyNjAwMEU1RkNEIC8qIERlYnVnLXN0YWdpbmcgKi8sCgkJCQkzQzlDNTUyNjJCMDdBQ0U3MDAwRTVGQ0QgLyogRGVidWctZGV2ZWxvcG1lbnQgKi8sCgkJCQkzQzlDNTUxRDJCMDdBQ0E0MDAwRTVGQ0QgLyogUmVsZWFzZS1wcm9kdWN0aW9uICovLAoJCQkJM0M5QzU1MzUyQjA3QUQ0MTAwMEU1RkNEIC8qIFJlbGVhc2Utc3RhZ2luZyAqLywKCQkJCTNDOUM1NTJGMkIwN0FEMUIwMDBFNUZDRCAvKiBSZWxlYXNlLWRldmVsb3BtZW50ICovLAoJCQkJM0M5QzU1MjMyQjA3QUNCRDAwMEU1RkNEIC8qIFByb2ZpbGUtcHJvZHVjdGlvbiAqLywKCQkJCTNDOUM1NTM4MkIwN0FENEIwMDBFNUZDRCAvKiBQcm9maWxlLXN0YWdpbmcgKi8sCgkJCQkzQzlDNTUyQzJCMDdBRDA5MDAwRTVGQ0QgLyogUHJvZmlsZS1kZXZlbG9wbWVudCAqLywKCQkJKTsKCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOwoJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSAiUmVsZWFzZS1wcm9kdWN0aW9uIjsKCQl9OwovKiBFbmQgWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9uICovCgl9OwoJcm9vdE9iamVjdCA9IDk3QzE0NkU2MUNGOTAwMEYwMDdDMTE3RCAvKiBQcm9qZWN0IG9iamVjdCAqLzsKfQo=", + "Ly8gISQqVVRGOCokIQp7CglhcmNoaXZlVmVyc2lvbiA9IDE7CgljbGFzc2VzID0gewoJfTsKCW9iamVjdFZlcnNpb24gPSA1NDsKCW9iamVjdHMgPSB7CgovKiBCZWdpbiBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwoJCTE0OThEMjM0MUU4RTg5MjIwMDQwRjRDMiAvKiBHZW5lcmF0ZWRQbHVnaW5SZWdpc3RyYW50Lm0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDk4RDIzMzFFOEU4OTIyMDA0MEY0QzIgLyogR2VuZXJhdGVkUGx1Z2luUmVnaXN0cmFudC5tICovOyB9OwoJCTMzMUM4MDhCMjk0QTYzQUIwMDI2M0JFNSAvKiBSdW5uZXJUZXN0cy5zd2lmdCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzMUM4MDdCMjk0QTYxODcwMDI2M0JFNSAvKiBSdW5uZXJUZXN0cy5zd2lmdCAqLzsgfTsKCQkzQjM5NjcxNjFFODMzQ0FBMDA0RjU5NzAgLyogQXBwRnJhbWV3b3JrSW5mby5wbGlzdCBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gM0IzOTY3MTUxRTgzM0NBQTAwNEY1OTcwIC8qIEFwcEZyYW1ld29ya0luZm8ucGxpc3QgKi87IH07CgkJNzQ4NThGQUYxRUQyREM1NjAwNTE1ODEwIC8qIEFwcERlbGVnYXRlLnN3aWZ0IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzQ4NThGQUUxRUQyREM1NjAwNTE1ODEwIC8qIEFwcERlbGVnYXRlLnN3aWZ0ICovOyB9OwoJCTk3QzE0NzEwMUNGOTAwMEYwMDdDMTE3RCAvKiBTY2VuZURlbGVnYXRlLnN3aWZ0IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdDMTQ3MTExQ0Y5MDAwRjAwN0MxMTdEIC8qIFNjZW5lRGVsZWdhdGUuc3dpZnQgKi87IH07CgkJOTdDMTQ2RkMxQ0Y5MDAwRjAwN0MxMTdEIC8qIE1haW4uc3Rvcnlib2FyZCBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdDMTQ2RkExQ0Y5MDAwRjAwN0MxMTdEIC8qIE1haW4uc3Rvcnlib2FyZCAqLzsgfTsKCQk5N0MxNDZGRTFDRjkwMDBGMDA3QzExN0QgLyogQXNzZXRzLnhjYXNzZXRzIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5N0MxNDZGRDFDRjkwMDBGMDA3QzExN0QgLyogQXNzZXRzLnhjYXNzZXRzICovOyB9OwoJCTk3QzE0NzAxMUNGOTAwMEYwMDdDMTE3RCAvKiBMYXVuY2hTY3JlZW4uc3Rvcnlib2FyZCBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdDMTQ2RkYxQ0Y5MDAwRjAwN0MxMTdEIC8qIExhdW5jaFNjcmVlbi5zdG9yeWJvYXJkICovOyB9OwovKiBFbmQgUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8KCi8qIEJlZ2luIFBCWENvbnRhaW5lckl0ZW1Qcm94eSBzZWN0aW9uICovCgkJMzMxQzgwODUyOTRBNjNBNDAwMjYzQkU1IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5OwoJCQljb250YWluZXJQb3J0YWwgPSA5N0MxNDZFNjFDRjkwMDBGMDA3QzExN0QgLyogUHJvamVjdCBvYmplY3QgKi87CgkJCXByb3h5VHlwZSA9IDE7CgkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gOTdDMTQ2RUQxQ0Y5MDAwRjAwN0MxMTdEOwoJCQlyZW1vdGVJbmZvID0gUnVubmVyOwoJCX07Ci8qIEVuZCBQQlhDb250YWluZXJJdGVtUHJveHkgc2VjdGlvbiAqLwoKLyogQmVnaW4gUEJYQ29weUZpbGVzQnVpbGRQaGFzZSBzZWN0aW9uICovCgkJOTcwNUExQzQxQ0Y5MDQ4NTAwNTM4NDg5IC8qIEVtYmVkIEZyYW1ld29ya3MgKi8gPSB7CgkJCWlzYSA9IFBCWENvcHlGaWxlc0J1aWxkUGhhc2U7CgkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CgkJCWRzdFBhdGggPSAiIjsKCQkJZHN0U3ViZm9sZGVyU3BlYyA9IDEwOwoJCQlmaWxlcyA9ICgKCQkJKTsKCQkJbmFtZSA9ICJFbWJlZCBGcmFtZXdvcmtzIjsKCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CgkJfTsKLyogRW5kIFBCWENvcHlGaWxlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwoKLyogQmVnaW4gUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCgkJMTQ5OEQyMzIxRThFODYyMzAwNDBGNEMyIC8qIEdlbmVyYXRlZFBsdWdpblJlZ2lzdHJhbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2VuZXJhdGVkUGx1Z2luUmVnaXN0cmFudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTE0OThEMjMzMUU4RTg5MjIwMDQwRjRDMiAvKiBHZW5lcmF0ZWRQbHVnaW5SZWdpc3RyYW50Lm0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMub2JqYzsgcGF0aCA9IEdlbmVyYXRlZFBsdWdpblJlZ2lzdHJhbnQubTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQkzMzFDODA3QjI5NEE2MTg3MDAyNjNCRTUgLyogUnVubmVyVGVzdHMuc3dpZnQgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLnN3aWZ0OyBwYXRoID0gUnVubmVyVGVzdHMuc3dpZnQ7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAgICAgICAgMzMxQzgwODEyOTRBNjNBNDAwMjYzQkU1IC8qIFJ1bm5lclRlc3RzLnhjdGVzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gd3JhcHBlci5jZmJ1bmRsZTsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0gUnVubmVyVGVzdHMueGN0ZXN0OyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwoJCTNCMzk2NzE1MUU4MzNDQUEwMDRGNTk3MCAvKiBBcHBGcmFtZXdvcmtJbmZvLnBsaXN0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5wbGlzdC54bWw7IG5hbWUgPSBBcHBGcmFtZXdvcmtJbmZvLnBsaXN0OyBwYXRoID0gRmx1dHRlci9BcHBGcmFtZXdvcmtJbmZvLnBsaXN0OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTc0ODU4RkFEMUVEMkRDNTYwMDUxNTgxMCAvKiBSdW5uZXItQnJpZGdpbmctSGVhZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9ICJSdW5uZXItQnJpZGdpbmctSGVhZGVyLmgiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTc0ODU4RkFFMUVEMkRDNTYwMDUxNTgxMCAvKiBBcHBEZWxlZ2F0ZS5zd2lmdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuc3dpZnQ7IHBhdGggPSBBcHBEZWxlZ2F0ZS5zd2lmdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQk5N0MxNDcxMTFDRjkwMDBGMDA3QzExN0QgLyogU2NlbmVEZWxlZ2F0ZS5zd2lmdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuc3dpZnQ7IHBhdGggPSBTY2VuZURlbGVnYXRlLnN3aWZ0OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTdBRkEzQzhFMUQzNTM2MEMwMDgzMDgyRSAvKiBSZWxlYXNlLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgbmFtZSA9IFJlbGVhc2UueGNjb25maWc7IHBhdGggPSBGbHV0dGVyL1JlbGVhc2UueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJOTc0MEVFQjIxQ0Y5MDE5NTAwNDM4NEZDIC8qIERlYnVnLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgbmFtZSA9IERlYnVnLnhjY29uZmlnOyBwYXRoID0gRmx1dHRlci9EZWJ1Zy54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQk5NzQwRUVCMzFDRjkwMTk1MDA0Mzg0RkMgLyogR2VuZXJhdGVkLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgbmFtZSA9IEdlbmVyYXRlZC54Y2NvbmZpZzsgcGF0aCA9IEZsdXR0ZXIvR2VuZXJhdGVkLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTk3QzE0NkVFMUNGOTAwMEYwMDdDMTE3RCAvKiBSdW5uZXIuYXBwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSB3cmFwcGVyLmFwcGxpY2F0aW9uOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSBSdW5uZXIuYXBwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwoJCTk3QzE0NkZCMUNGOTAwMEYwMDdDMTE3RCAvKiBCYXNlICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZS5zdG9yeWJvYXJkOyBuYW1lID0gQmFzZTsgcGF0aCA9IEJhc2UubHByb2ovTWFpbi5zdG9yeWJvYXJkOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTk3QzE0NkZEMUNGOTAwMEYwMDdDMTE3RCAvKiBBc3NldHMueGNhc3NldHMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBmb2xkZXIuYXNzZXRjYXRhbG9nOyBwYXRoID0gQXNzZXRzLnhjYXNzZXRzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTk3QzE0NzAwMUNGOTAwMEYwMDdDMTE3RCAvKiBCYXNlICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZS5zdG9yeWJvYXJkOyBuYW1lID0gQmFzZTsgcGF0aCA9IEJhc2UubHByb2ovTGF1bmNoU2NyZWVuLnN0b3J5Ym9hcmQ7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJOTdDMTQ3MDIxQ0Y5MDAwRjAwN0MxMTdEIC8qIEluZm8ucGxpc3QgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnBsaXN0LnhtbDsgcGF0aCA9IEluZm8ucGxpc3Q7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci8qIEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KCi8qIEJlZ2luIFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KCQk5N0MxNDZFQjFDRjkwMDBGMDA3QzExN0QgLyogRnJhbWV3b3JrcyAqLyA9IHsKCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CgkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CgkJCWZpbGVzID0gKAoJCQkpOwoJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKCQl9OwovKiBFbmQgUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwoKLyogQmVnaW4gUEJYR3JvdXAgc2VjdGlvbiAqLwogICAgICAgIDMzMUM4MDgyMjk0QTYzQTQwMDI2M0JFNSAvKiBSdW5uZXJUZXN0cyAqLyA9IHsKCQkJaXNhID0gUEJYR3JvdXA7CgkJCWNoaWxkcmVuID0gKAoJCQkJMzMxQzgwN0IyOTRBNjE4NzAwMjYzQkU1IC8qIFJ1bm5lclRlc3RzLnN3aWZ0ICovLAoJCQkpOwoJCQlwYXRoID0gUnVubmVyVGVzdHM7CgkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CgkJfTsKCQk5NzQwRUVCMTFDRjkwMTg2MDA0Mzg0RkMgLyogRmx1dHRlciAqLyA9IHsKCQkJaXNhID0gUEJYR3JvdXA7CgkJCWNoaWxkcmVuID0gKAoJCQkJM0IzOTY3MTUxRTgzM0NBQTAwNEY1OTcwIC8qIEFwcEZyYW1ld29ya0luZm8ucGxpc3QgKi8sCgkJCQk5NzQwRUVCMjFDRjkwMTk1MDA0Mzg0RkMgLyogRGVidWcueGNjb25maWcgKi8sCgkJCQk3QUZBM0M4RTFEMzUzNjBDMDA4MzA4MkUgLyogUmVsZWFzZS54Y2NvbmZpZyAqLywKCQkJCTk3NDBFRUIzMUNGOTAxOTUwMDQzODRGQyAvKiBHZW5lcmF0ZWQueGNjb25maWcgKi8sCgkJCSk7CgkJCW5hbWUgPSBGbHV0dGVyOwoJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwoJCX07CgkJOTdDMTQ2RTUxQ0Y5MDAwRjAwN0MxMTdEID0gewoJCQlpc2EgPSBQQlhHcm91cDsKCQkJY2hpbGRyZW4gPSAoCgkJCQk5NzQwRUVCMTFDRjkwMTg2MDA0Mzg0RkMgLyogRmx1dHRlciAqLywKCQkJCTk3QzE0NkYwMUNGOTAwMEYwMDdDMTE3RCAvKiBSdW5uZXIgKi8sCgkJCQk5N0MxNDZFRjFDRjkwMDBGMDA3QzExN0QgLyogUHJvZHVjdHMgKi8sCgkJCQkzMzFDODA4MjI5NEE2M0E0MDAyNjNCRTUgLyogUnVubmVyVGVzdHMgKi8sCgkJCSk7CgkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CgkJfTsKCQk5N0MxNDZFRjFDRjkwMDBGMDA3QzExN0QgLyogUHJvZHVjdHMgKi8gPSB7CgkJCWlzYSA9IFBCWEdyb3VwOwoJCQljaGlsZHJlbiA9ICgKCQkJCTk3QzE0NkVFMUNGOTAwMEYwMDdDMTE3RCAvKiBSdW5uZXIuYXBwICovLAoJCQkJMzMxQzgwODEyOTRBNjNBNDAwMjYzQkU1IC8qIFJ1bm5lclRlc3RzLnhjdGVzdCAqLywKCQkJKTsKCQkJbmFtZSA9IFByb2R1Y3RzOwoJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwoJCX07CgkJOTdDMTQ2RjAxQ0Y5MDAwRjAwN0MxMTdEIC8qIFJ1bm5lciAqLyA9IHsKCQkJaXNhID0gUEJYR3JvdXA7CgkJCWNoaWxkcmVuID0gKAoJCQkJOTdDMTQ2RkExQ0Y5MDAwRjAwN0MxMTdEIC8qIE1haW4uc3Rvcnlib2FyZCAqLywKCQkJCTk3QzE0NkZEMUNGOTAwMEYwMDdDMTE3RCAvKiBBc3NldHMueGNhc3NldHMgKi8sCgkJCQk5N0MxNDZGRjFDRjkwMDBGMDA3QzExN0QgLyogTGF1bmNoU2NyZWVuLnN0b3J5Ym9hcmQgKi8sCgkJCQk5N0MxNDcwMjFDRjkwMDBGMDA3QzExN0QgLyogSW5mby5wbGlzdCAqLywKCQkJCTE0OThEMjMyMUU4RTg2MjMwMDQwRjRDMiAvKiBHZW5lcmF0ZWRQbHVnaW5SZWdpc3RyYW50LmggKi8sCgkJCQkxNDk4RDIzMzFFOEU4OTIyMDA0MEY0QzIgLyogR2VuZXJhdGVkUGx1Z2luUmVnaXN0cmFudC5tICovLAoJCQkJNzQ4NThGQUUxRUQyREM1NjAwNTE1ODEwIC8qIEFwcERlbGVnYXRlLnN3aWZ0ICovLAoJCQkJOTdDMTQ3MTExQ0Y5MDAwRjAwN0MxMTdEIC8qIFNjZW5lRGVsZWdhdGUuc3dpZnQgKi8sCgkJCQk3NDg1OEZBRDFFRDJEQzU2MDA1MTU4MTAgLyogUnVubmVyLUJyaWRnaW5nLUhlYWRlci5oICovLAoJCQkpOwoJCQlwYXRoID0gUnVubmVyOwoJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwoJCX07Ci8qIEVuZCBQQlhHcm91cCBzZWN0aW9uICovCgovKiBCZWdpbiBQQlhOYXRpdmVUYXJnZXQgc2VjdGlvbiAqLwogICAgICAgIDMzMUM4MDgwMjk0QTYzQTQwMDI2M0JFNSAvKiBSdW5uZXJUZXN0cyAqLyA9IHsKCQkJaXNhID0gUEJYTmF0aXZlVGFyZ2V0OwoJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMzMxQzgwODcyOTRBNjNBNDAwMjYzQkU1IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJSdW5uZXJUZXN0cyIgKi87CgkJCWJ1aWxkUGhhc2VzID0gKAoJCQkJMzMxQzgwN0QyOTRBNjNBNDAwMjYzQkU1IC8qIFNvdXJjZXMgKi8sCgkJCQkzMzFDODA3RjI5NEE2M0E0MDAyNjNCRTUgLyogUmVzb3VyY2VzICovLAoJCQkpOwoJCQlidWlsZFJ1bGVzID0gKAoJCQkpOwoJCQlkZXBlbmRlbmNpZXMgPSAoCgkJCQkzMzFDODA4NjI5NEE2M0E0MDAyNjNCRTUgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKCQkJKTsKCQkJbmFtZSA9IFJ1bm5lclRlc3RzOwoJCQlwcm9kdWN0TmFtZSA9IFJ1bm5lclRlc3RzOwoJCQlwcm9kdWN0UmVmZXJlbmNlID0gMzMxQzgwODEyOTRBNjNBNDAwMjYzQkU1IC8qIFJ1bm5lclRlc3RzLnhjdGVzdCAqLzsKCQkJcHJvZHVjdFR5cGUgPSAiY29tLmFwcGxlLnByb2R1Y3QtdHlwZS5idW5kbGUudW5pdC10ZXN0IjsKCQl9OwoJCTk3QzE0NkVEMUNGOTAwMEYwMDdDMTE3RCAvKiBSdW5uZXIgKi8gPSB7CgkJCWlzYSA9IFBCWE5hdGl2ZVRhcmdldDsKCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDk3QzE0NzA1MUNGOTAwMEYwMDdDMTE3RCAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiUnVubmVyIiAqLzsKCQkJYnVpbGRQaGFzZXMgPSAoCgkJCQk5NzQwRUVCNjFDRjkwMUY2MDA0Mzg0RkMgLyogUnVuIFNjcmlwdCAqLywKCQkJCTk3QzE0NkVBMUNGOTAwMEYwMDdDMTE3RCAvKiBTb3VyY2VzICovLAoJCQkJOTdDMTQ2RUIxQ0Y5MDAwRjAwN0MxMTdEIC8qIEZyYW1ld29ya3MgKi8sCgkJCQk5N0MxNDZFQzFDRjkwMDBGMDA3QzExN0QgLyogUmVzb3VyY2VzICovLAoJCQkJOTcwNUExQzQxQ0Y5MDQ4NTAwNTM4NDg5IC8qIEVtYmVkIEZyYW1ld29ya3MgKi8sCgkJCQkzQjA2QUQxRTFFNDkyM0Y1MDA0RDI2MDggLyogVGhpbiBCaW5hcnkgKi8sCgkJCSk7CgkJCWJ1aWxkUnVsZXMgPSAoCgkJCSk7CgkJCWRlcGVuZGVuY2llcyA9ICgKCQkJKTsKCQkJbmFtZSA9IFJ1bm5lcjsKCQkJcHJvZHVjdE5hbWUgPSBSdW5uZXI7CgkJCXByb2R1Y3RSZWZlcmVuY2UgPSA5N0MxNDZFRTFDRjkwMDBGMDA3QzExN0QgLyogUnVubmVyLmFwcCAqLzsKCQkJcHJvZHVjdFR5cGUgPSAiY29tLmFwcGxlLnByb2R1Y3QtdHlwZS5hcHBsaWNhdGlvbiI7CgkJfTsKLyogRW5kIFBCWE5hdGl2ZVRhcmdldCBzZWN0aW9uICovCgovKiBCZWdpbiBQQlhQcm9qZWN0IHNlY3Rpb24gKi8KCQk5N0MxNDZFNjFDRjkwMDBGMDA3QzExN0QgLyogUHJvamVjdCBvYmplY3QgKi8gPSB7CgkJCWlzYSA9IFBCWFByb2plY3Q7CgkJCWF0dHJpYnV0ZXMgPSB7CgkJCSAgICBCdWlsZEluZGVwZW5kZW50VGFyZ2V0c0luUGFyYWxsZWwgPSBOTzsKCQkJCUxhc3RVcGdyYWRlQ2hlY2sgPSAxNDMwOwoJCQkJT1JHQU5JWkFUSU9OTkFNRSA9ICIiOwoJCQkJVGFyZ2V0QXR0cmlidXRlcyA9IHsKCQkJCSAgICAzMzFDODA4MDI5NEE2M0E0MDAyNjNCRTUgPSB7CgkJCQkJCUNyZWF0ZWRPblRvb2xzVmVyc2lvbiA9IDE0LjA7CgkJCQkJCVRlc3RUYXJnZXRJRCA9IDk3QzE0NkVEMUNGOTAwMEYwMDdDMTE3RDsKCQkJCQl9OwoJCQkJCTk3QzE0NkVEMUNGOTAwMEYwMDdDMTE3RCA9IHsKCQkJCQkJQ3JlYXRlZE9uVG9vbHNWZXJzaW9uID0gNy4zLjE7CgkJCQkJCUxhc3RTd2lmdE1pZ3JhdGlvbiA9IDExMDA7CgkJCQkJfTsKCQkJCX07CgkJCX07CgkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSA5N0MxNDZFOTFDRjkwMDBGMDA3QzExN0QgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQcm9qZWN0ICJSdW5uZXIiICovOwoJCQljb21wYXRpYmlsaXR5VmVyc2lvbiA9ICJYY29kZSA5LjMiOwoJCQlkZXZlbG9wbWVudFJlZ2lvbiA9IGVuOwoJCQloYXNTY2FubmVkRm9yRW5jb2RpbmdzID0gMDsKCQkJa25vd25SZWdpb25zID0gKAoJCQkJZW4sCgkJCQlCYXNlLAoJCQkpOwoJCQltYWluR3JvdXAgPSA5N0MxNDZFNTFDRjkwMDBGMDA3QzExN0Q7CgkJCXByb2R1Y3RSZWZHcm91cCA9IDk3QzE0NkVGMUNGOTAwMEYwMDdDMTE3RCAvKiBQcm9kdWN0cyAqLzsKCQkJcHJvamVjdERpclBhdGggPSAiIjsKCQkJcHJvamVjdFJvb3QgPSAiIjsKCQkJdGFyZ2V0cyA9ICgKCQkJCTk3QzE0NkVEMUNGOTAwMEYwMDdDMTE3RCAvKiBSdW5uZXIgKi8sCgkJCQkzMzFDODA4MDI5NEE2M0E0MDAyNjNCRTUgLyogUnVubmVyVGVzdHMgKi8sCgkJCSk7CgkJfTsKLyogRW5kIFBCWFByb2plY3Qgc2VjdGlvbiAqLwoKLyogQmVnaW4gUEJYUmVzb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCiAgICAgICAgMzMxQzgwN0YyOTRBNjNBNDAwMjYzQkU1IC8qIFJlc291cmNlcyAqLyA9IHsKCQkJaXNhID0gUEJYUmVzb3VyY2VzQnVpbGRQaGFzZTsKCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKCQkJZmlsZXMgPSAoCgkJCSk7CgkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwoJCX07CgkJOTdDMTQ2RUMxQ0Y5MDAwRjAwN0MxMTdEIC8qIFJlc291cmNlcyAqLyA9IHsKCQkJaXNhID0gUEJYUmVzb3VyY2VzQnVpbGRQaGFzZTsKCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKCQkJZmlsZXMgPSAoCgkJCQk5N0MxNDcwMTFDRjkwMDBGMDA3QzExN0QgLyogTGF1bmNoU2NyZWVuLnN0b3J5Ym9hcmQgaW4gUmVzb3VyY2VzICovLAoJCQkJM0IzOTY3MTYxRTgzM0NBQTAwNEY1OTcwIC8qIEFwcEZyYW1ld29ya0luZm8ucGxpc3QgaW4gUmVzb3VyY2VzICovLAoJCQkJOTdDMTQ2RkUxQ0Y5MDAwRjAwN0MxMTdEIC8qIEFzc2V0cy54Y2Fzc2V0cyBpbiBSZXNvdXJjZXMgKi8sCgkJCQk5N0MxNDZGQzFDRjkwMDBGMDA3QzExN0QgLyogTWFpbi5zdG9yeWJvYXJkIGluIFJlc291cmNlcyAqLywKCQkJKTsKCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CgkJfTsKLyogRW5kIFBCWFJlc291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwoKLyogQmVnaW4gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlIHNlY3Rpb24gKi8KCQkzQjA2QUQxRTFFNDkyM0Y1MDA0RDI2MDggLyogVGhpbiBCaW5hcnkgKi8gPSB7CgkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKCQkJYWx3YXlzT3V0T2ZEYXRlID0gMTsKCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKCQkJZmlsZXMgPSAoCgkJCSk7CgkJCWlucHV0UGF0aHMgPSAoCgkJCQkiJHtUQVJHRVRfQlVJTERfRElSfS8ke0lORk9QTElTVF9QQVRIfSIsCgkJCSk7CgkJCW5hbWUgPSAiVGhpbiBCaW5hcnkiOwoJCQlvdXRwdXRQYXRocyA9ICgKCQkJKTsKCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CgkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CgkJCXNoZWxsU2NyaXB0ID0gIi9iaW4vc2ggXCIkRkxVVFRFUl9ST09UL3BhY2thZ2VzL2ZsdXR0ZXJfdG9vbHMvYmluL3hjb2RlX2JhY2tlbmQuc2hcIiBlbWJlZF9hbmRfdGhpbiI7CgkJfTsKCQk5NzQwRUVCNjFDRjkwMUY2MDA0Mzg0RkMgLyogUnVuIFNjcmlwdCAqLyA9IHsKCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOwoJCQlhbHdheXNPdXRPZkRhdGUgPSAxOwoJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwoJCQlmaWxlcyA9ICgKCQkJKTsKCQkJaW5wdXRQYXRocyA9ICgKCQkJKTsKCQkJbmFtZSA9ICJSdW4gU2NyaXB0IjsKCQkJb3V0cHV0UGF0aHMgPSAoCgkJCSk7CgkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwoJCQlzaGVsbFBhdGggPSAvYmluL3NoOwoJCQlzaGVsbFNjcmlwdCA9ICIvYmluL3NoIFwiJEZMVVRURVJfUk9PVC9wYWNrYWdlcy9mbHV0dGVyX3Rvb2xzL2Jpbi94Y29kZV9iYWNrZW5kLnNoXCIgYnVpbGQiOwoJCX07Ci8qIEVuZCBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2Ugc2VjdGlvbiAqLwoKLyogQmVnaW4gUEJYU291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwogICAgICAgIDMzMUM4MDdEMjk0QTYzQTQwMDI2M0JFNSAvKiBTb3VyY2VzICovID0gewoJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsKCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKCQkJZmlsZXMgPSAoCgkJCQkzMzFDODA4QjI5NEE2M0FCMDAyNjNCRTUgLyogUnVubmVyVGVzdHMuc3dpZnQgaW4gU291cmNlcyAqLywKCQkJKTsKCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CgkJfTsKCQk5N0MxNDZFQTFDRjkwMDBGMDA3QzExN0QgLyogU291cmNlcyAqLyA9IHsKCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CgkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CgkJCWZpbGVzID0gKAoJCQkJNzQ4NThGQUYxRUQyREM1NjAwNTE1ODEwIC8qIEFwcERlbGVnYXRlLnN3aWZ0IGluIFNvdXJjZXMgKi8sCgkJCQk5N0MxNDcxMDFDRjkwMDBGMDA3QzExN0QgLyogU2NlbmVEZWxlZ2F0ZS5zd2lmdCBpbiBTb3VyY2VzICovLAoJCQkJMTQ5OEQyMzQxRThFODkyMjAwNDBGNEMyIC8qIEdlbmVyYXRlZFBsdWdpblJlZ2lzdHJhbnQubSBpbiBTb3VyY2VzICovLAoJCQkpOwoJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKCQl9OwovKiBFbmQgUEJYU291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwoKLyogQmVnaW4gUEJYVGFyZ2V0RGVwZW5kZW5jeSBzZWN0aW9uICovCgkJMzMxQzgwODYyOTRBNjNBNDAwMjYzQkU1IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CgkJCWlzYSA9IFBCWFRhcmdldERlcGVuZGVuY3k7CgkJCXRhcmdldCA9IDk3QzE0NkVEMUNGOTAwMEYwMDdDMTE3RCAvKiBSdW5uZXIgKi87CgkJCXRhcmdldFByb3h5ID0gMzMxQzgwODUyOTRBNjNBNDAwMjYzQkU1IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKCQl9OwovKiBFbmQgUEJYVGFyZ2V0RGVwZW5kZW5jeSBzZWN0aW9uICovCgovKiBCZWdpbiBQQlhWYXJpYW50R3JvdXAgc2VjdGlvbiAqLwoJCTk3QzE0NkZBMUNGOTAwMEYwMDdDMTE3RCAvKiBNYWluLnN0b3J5Ym9hcmQgKi8gPSB7CgkJCWlzYSA9IFBCWFZhcmlhbnRHcm91cDsKCQkJY2hpbGRyZW4gPSAoCgkJCQk5N0MxNDZGQjFDRjkwMDBGMDA3QzExN0QgLyogQmFzZSAqLywKCQkJKTsKCQkJbmFtZSA9IE1haW4uc3Rvcnlib2FyZDsKCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKCQl9OwoJCTk3QzE0NkZGMUNGOTAwMEYwMDdDMTE3RCAvKiBMYXVuY2hTY3JlZW4uc3Rvcnlib2FyZCAqLyA9IHsKCQkJaXNhID0gUEJYVmFyaWFudEdyb3VwOwoJCQljaGlsZHJlbiA9ICgKCQkJCTk3QzE0NzAwMUNGOTAwMEYwMDdDMTE3RCAvKiBCYXNlICovLAoJCQkpOwoJCQluYW1lID0gTGF1bmNoU2NyZWVuLnN0b3J5Ym9hcmQ7CgkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CgkJfTsKLyogRW5kIFBCWFZhcmlhbnRHcm91cCBzZWN0aW9uICovCgovKiBCZWdpbiBYQ0J1aWxkQ29uZmlndXJhdGlvbiBzZWN0aW9uICovCgkJM0M5QzU1MTkyQjA3QUM5OTAwMEU1RkNEIC8qIERlYnVnLXByb2R1Y3Rpb24gKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQUxXQVlTX1NFQVJDSF9VU0VSX1BBVEhTID0gTk87CgkJCQlDTEFOR19BTkFMWVpFUl9OT05OVUxMID0gWUVTOwoJCQkJQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gImdudSsrMHgiOwoJCQkJQ0xBTkdfQ1hYX0xJQlJBUlkgPSAibGliYysrIjsKCQkJCUNMQU5HX0VOQUJMRV9NT0RVTEVTID0gWUVTOwoJCQkJQ0xBTkdfRU5BQkxFX09CSkNfQVJDID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9CTE9DS19DQVBUVVJFX0FVVE9SRUxFQVNJTkcgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0JPT0xfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQ09NTUEgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0NPTlNUQU5UX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0RFUFJFQ0FURURfT0JKQ19JTVBMRU1FTlRBVElPTlMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0RJUkVDVF9PQkpDX0lTQV9VU0FHRSA9IFlFU19FUlJPUjsKCQkJCUNMQU5HX1dBUk5fRU1QVFlfQk9EWSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fRU5VTV9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9JTkZJTklURV9SRUNVUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0lOVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9OT05fTElURVJBTF9OVUxMX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfSU1QTElDSVRfUkVUQUlOX1NFTEYgPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfTElURVJBTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX1JPT1RfQ0xBU1MgPSBZRVNfRVJST1I7CgkJCQlDTEFOR19XQVJOX1JBTkdFX0xPT1BfQU5BTFlTSVMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1NUUklDVF9QUk9UT1RZUEVTID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9TVVNQSUNJT1VTX01PVkUgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1VOUkVBQ0hBQkxFX0NPREUgPSBZRVM7CgkJCQlDTEFOR19XQVJOX19EVVBMSUNBVEVfTUVUSE9EX01BVENIID0gWUVTOwoJCQkJIkNPREVfU0lHTl9JREVOVElUWVtzZGs9aXBob25lb3MqXSIgPSAiaVBob25lIERldmVsb3BlciI7CgkJCQlDT1BZX1BIQVNFX1NUUklQID0gTk87CgkJCQlERUJVR19JTkZPUk1BVElPTl9GT1JNQVQgPSBkd2FyZjsKCQkJCUVOQUJMRV9TVFJJQ1RfT0JKQ19NU0dTRU5EID0gWUVTOwoJCQkJRU5BQkxFX1RFU1RBQklMSVRZID0gWUVTOwoJCQkJR0NDX0NfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnU5OTsKCQkJCUdDQ19EWU5BTUlDX05PX1BJQyA9IE5POwoJCQkJR0NDX05PX0NPTU1PTl9CTE9DS1MgPSBZRVM7CgkJCQlHQ0NfT1BUSU1JWkFUSU9OX0xFVkVMID0gMDsKCQkJCUdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAoCgkJCQkJIkRFQlVHPTEiLAoJCQkJCSIkKGluaGVyaXRlZCkiLAoJCQkJKTsKCQkJCUdDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJR0NDX1dBUk5fQUJPVVRfUkVUVVJOX1RZUEUgPSBZRVNfRVJST1I7CgkJCQlHQ0NfV0FSTl9VTkRFQ0xBUkVEX1NFTEVDVE9SID0gWUVTOwoJCQkJR0NDX1dBUk5fVU5JTklUSUFMSVpFRF9BVVRPUyA9IFlFU19BR0dSRVNTSVZFOwoJCQkJR0NDX1dBUk5fVU5VU0VEX0ZVTkNUSU9OID0gWUVTOwoJCQkJR0NDX1dBUk5fVU5VU0VEX1ZBUklBQkxFID0gWUVTOwoJCQkJSVBIT05FT1NfREVQTE9ZTUVOVF9UQVJHRVQgPSAxMy4wOwoJCQkJTVRMX0VOQUJMRV9ERUJVR19JTkZPID0gWUVTOwoJCQkJT05MWV9BQ1RJVkVfQVJDSCA9IFlFUzsKCQkJCVNES1JPT1QgPSBpcGhvbmVvczsKCQkJCVRBUkdFVEVEX0RFVklDRV9GQU1JTFkgPSAiMSwyIjsKCQkJfTsKCQkJbmFtZSA9ICJEZWJ1Zy1wcm9kdWN0aW9uIjsKCQl9OwoJCTNDOUM1NTFBMkIwN0FDOTkwMDBFNUZDRCAvKiBEZWJ1Zy1wcm9kdWN0aW9uICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSA5NzQwRUVCMjFDRjkwMTk1MDA0Mzg0RkMgLyogRGVidWcueGNjb25maWcgKi87CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBU1NFVENBVEFMT0dfQ09NUElMRVJfQVBQSUNPTl9OQU1FID0gQXBwSWNvbjsKCQkJCUNMQU5HX0VOQUJMRV9NT0RVTEVTID0gWUVTOwoJCQkJQ1VSUkVOVF9QUk9KRUNUX1ZFUlNJT04gPSAiJChGTFVUVEVSX0JVSUxEX05VTUJFUikiOwoJCQkJRU5BQkxFX0JJVENPREUgPSBOTzsKCQkJCUZMQVZPUl9BUFBfTkFNRSA9ICJ7e3Byb2plY3RfbmFtZS50aXRsZUNhc2UoKX19IjsKCQkJCUlORk9QTElTVF9GSUxFID0gUnVubmVyL0luZm8ucGxpc3Q7CgkJCQlMRF9SVU5QQVRIX1NFQVJDSF9QQVRIUyA9ICgKCQkJCQkiJChpbmhlcml0ZWQpIiwKCQkJCQkiQGV4ZWN1dGFibGVfcGF0aC9GcmFtZXdvcmtzIiwKCQkJCSk7CgkJCQlQQUNLQUdFX0NPTkZJRyA9IC5kYXJ0X3Rvb2wvcGFja2FnZV9jb25maWcuanNvbjsKCQkJCVBST0RVQ1RfQlVORExFX0lERU5USUZJRVIgPSB7e2lvc19hcHBsaWNhdGlvbl9pZH19OwoJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKCQkJCVNXSUZUX09CSkNfQlJJREdJTkdfSEVBREVSID0gIlJ1bm5lci9SdW5uZXItQnJpZGdpbmctSGVhZGVyLmgiOwoJCQkJU1dJRlRfT1BUSU1JWkFUSU9OX0xFVkVMID0gIi1Pbm9uZSI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVkVSU0lPTklOR19TWVNURU0gPSAiYXBwbGUtZ2VuZXJpYyI7CgkJCX07CgkJCW5hbWUgPSAiRGVidWctcHJvZHVjdGlvbiI7CgkJfTsKCQkzQzlDNTUxQjJCMDdBQzk5MDAwRTVGQ0QgLyogRGVidWctcHJvZHVjdGlvbiAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlCVU5ETEVfTE9BREVSID0gIiQoVEVTVF9IT1NUKSI7CgkJCQlDT0RFX1NJR05fU1RZTEUgPSBBdXRvbWF0aWM7CgkJCQlDVVJSRU5UX1BST0pFQ1RfVkVSU0lPTiA9IDE7CgkJCQlHRU5FUkFURV9JTkZPUExJU1RfRklMRSA9IFlFUzsKCQkJCU1BUktFVElOR19WRVJTSU9OID0gMS4wOwoJCQkJUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9IHt7aW9zX2FwcGxpY2F0aW9uX2lkfX0uUnVubmVyVGVzdHM7CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfQUNUSVZFX0NPTVBJTEFUSU9OX0NPTkRJVElPTlMgPSBERUJVRzsKCQkJCVNXSUZUX09QVElNSVpBVElPTl9MRVZFTCA9ICItT25vbmUiOwoJCQkJU1dJRlRfVkVSU0lPTiA9IDUuMDsKCQkJCVRFU1RfSE9TVCA9ICIkKEJVSUxUX1BST0RVQ1RTX0RJUikvUnVubmVyLmFwcC8kKEJVTkRMRV9FWEVDVVRBQkxFX0ZPTERFUl9QQVRIKS9SdW5uZXIiOwoJCQl9OwoJCQluYW1lID0gIkRlYnVnLXByb2R1Y3Rpb24iOwoJCX07CgkJM0M5QzU1MUMyQjA3QUNBNDAwMEU1RkNEIC8qIFJlbGVhc2UtcHJvZHVjdGlvbiAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTzsKCQkJCUNMQU5HX0FOQUxZWkVSX05PTk5VTEwgPSBZRVM7CgkJCQlDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSAiZ251KysweCI7CgkJCQlDTEFOR19DWFhfTElCUkFSWSA9ICJsaWJjKysiOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDTEFOR19FTkFCTEVfT0JKQ19BUkMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0JMT0NLX0NBUFRVUkVfQVVUT1JFTEVBU0lORyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT01NQSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fREVQUkVDQVRFRF9PQkpDX0lNUExFTUVOVEFUSU9OUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fRElSRUNUX09CSkNfSVNBX1VTQUdFID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9FTVBUWV9CT0RZID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0lORklOSVRFX1JFQ1VSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5UX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX05PTl9MSVRFUkFMX05VTExfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19JTVBMSUNJVF9SRVRBSU5fU0VMRiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19MSVRFUkFMX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfUk9PVF9DTEFTUyA9IFlFU19FUlJPUjsKCQkJCUNMQU5HX1dBUk5fUkFOR0VfTE9PUF9BTkFMWVNJUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1RSSUNUX1BST1RPVFlQRVMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1NVU1BJQ0lPVVNfTU9WRSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fVU5SRUFDSEFCTEVfQ09ERSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fX0RVUExJQ0FURV9NRVRIT0RfTUFUQ0ggPSBZRVM7CgkJCQkiQ09ERV9TSUdOX0lERU5USVRZW3Nkaz1pcGhvbmVvcypdIiA9ICJpUGhvbmUgRGV2ZWxvcGVyIjsKCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBOTzsKCQkJCURFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9ICJkd2FyZi13aXRoLWRzeW0iOwoJCQkJRU5BQkxFX05TX0FTU0VSVElPTlMgPSBOTzsKCQkJCUVOQUJMRV9TVFJJQ1RfT0JKQ19NU0dTRU5EID0gWUVTOwoJCQkJR0NDX0NfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnU5OTsKCQkJCUdDQ19OT19DT01NT05fQkxPQ0tTID0gWUVTOwoJCQkJR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9BQk9VVF9SRVRVUk5fVFlQRSA9IFlFU19FUlJPUjsKCQkJCUdDQ19XQVJOX1VOREVDTEFSRURfU0VMRUNUT1IgPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTklOSVRJQUxJWkVEX0FVVE9TID0gWUVTX0FHR1JFU1NJVkU7CgkJCQlHQ0NfV0FSTl9VTlVTRURfRlVOQ1RJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTlVTRURfVkFSSUFCTEUgPSBZRVM7CgkJCQlJUEhPTkVPU19ERVBMT1lNRU5UX1RBUkdFVCA9IDEzLjA7CgkJCQlNVExfRU5BQkxFX0RFQlVHX0lORk8gPSBOTzsKCQkJCVNES1JPT1QgPSBpcGhvbmVvczsKCQkJCVNVUFBPUlRFRF9QTEFURk9STVMgPSBpcGhvbmVvczsKCQkJCVNXSUZUX0NPTVBJTEFUSU9OX01PREUgPSB3aG9sZW1vZHVsZTsKCQkJCVNXSUZUX09QVElNSVpBVElPTl9MRVZFTCA9ICItTyI7CgkJCQlUQVJHRVRFRF9ERVZJQ0VfRkFNSUxZID0gIjEsMiI7CgkJCQlWQUxJREFURV9QUk9EVUNUID0gWUVTOwoJCQl9OwoJCQluYW1lID0gIlJlbGVhc2UtcHJvZHVjdGlvbiI7CgkJfTsKCQkzQzlDNTUxRDJCMDdBQ0E0MDAwRTVGQ0QgLyogUmVsZWFzZS1wcm9kdWN0aW9uICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSA3QUZBM0M4RTFEMzUzNjBDMDA4MzA4MkUgLyogUmVsZWFzZS54Y2NvbmZpZyAqLzsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUFTU0VUQ0FUQUxPR19DT01QSUxFUl9BUFBJQ09OX05BTUUgPSBBcHBJY29uOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDVVJSRU5UX1BST0pFQ1RfVkVSU0lPTiA9ICIkKEZMVVRURVJfQlVJTERfTlVNQkVSKSI7CgkJCQlFTkFCTEVfQklUQ09ERSA9IE5POwoJCQkJRkxBVk9SX0FQUF9OQU1FID0gInt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX0iOwoJCQkJSU5GT1BMSVNUX0ZJTEUgPSBSdW5uZXIvSW5mby5wbGlzdDsKCQkJCUxEX1JVTlBBVEhfU0VBUkNIX1BBVEhTID0gKAoJCQkJCSIkKGluaGVyaXRlZCkiLAoJCQkJCSJAZXhlY3V0YWJsZV9wYXRoL0ZyYW1ld29ya3MiLAoJCQkJKTsKCQkJCVBBQ0tBR0VfQ09ORklHID0gLmRhcnRfdG9vbC9wYWNrYWdlX2NvbmZpZy5qc29uOwoJCQkJUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9IHt7aW9zX2FwcGxpY2F0aW9uX2lkfX07CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfT0JKQ19CUklER0lOR19IRUFERVIgPSAiUnVubmVyL1J1bm5lci1CcmlkZ2luZy1IZWFkZXIuaCI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVkVSU0lPTklOR19TWVNURU0gPSAiYXBwbGUtZ2VuZXJpYyI7CgkJCX07CgkJCW5hbWUgPSAiUmVsZWFzZS1wcm9kdWN0aW9uIjsKCQl9OwoJCTNDOUM1NTFFMkIwN0FDQTQwMDBFNUZDRCAvKiBSZWxlYXNlLXByb2R1Y3Rpb24gKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQlVORExFX0xPQURFUiA9ICIkKFRFU1RfSE9TVCkiOwoJCQkJQ09ERV9TSUdOX1NUWUxFID0gQXV0b21hdGljOwoJCQkJQ1VSUkVOVF9QUk9KRUNUX1ZFUlNJT04gPSAxOwoJCQkJR0VORVJBVEVfSU5GT1BMSVNUX0ZJTEUgPSBZRVM7CgkJCQlNQVJLRVRJTkdfVkVSU0lPTiA9IDEuMDsKCQkJCVBST0RVQ1RfQlVORExFX0lERU5USUZJRVIgPSB7e2lvc19hcHBsaWNhdGlvbl9pZH19LlJ1bm5lclRlc3RzOwoJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKCQkJCVNXSUZUX1ZFUlNJT04gPSA1LjA7CgkJCQlURVNUX0hPU1QgPSAiJChCVUlMVF9QUk9EVUNUU19ESVIpL1J1bm5lci5hcHAvJChCVU5ETEVfRVhFQ1VUQUJMRV9GT0xERVJfUEFUSCkvUnVubmVyIjsKCQkJfTsKCQkJbmFtZSA9ICJSZWxlYXNlLXByb2R1Y3Rpb24iOwoJCX07CgkJM0M5QzU1MjIyQjA3QUNCRDAwMEU1RkNEIC8qIFByb2ZpbGUtcHJvZHVjdGlvbiAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTzsKCQkJCUNMQU5HX0FOQUxZWkVSX05PTk5VTEwgPSBZRVM7CgkJCQlDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSAiZ251KysweCI7CgkJCQlDTEFOR19DWFhfTElCUkFSWSA9ICJsaWJjKysiOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDTEFOR19FTkFCTEVfT0JKQ19BUkMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0JMT0NLX0NBUFRVUkVfQVVUT1JFTEVBU0lORyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT01NQSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fREVQUkVDQVRFRF9PQkpDX0lNUExFTUVOVEFUSU9OUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fRElSRUNUX09CSkNfSVNBX1VTQUdFID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9FTVBUWV9CT0RZID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0lORklOSVRFX1JFQ1VSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5UX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX05PTl9MSVRFUkFMX05VTExfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19JTVBMSUNJVF9SRVRBSU5fU0VMRiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19MSVRFUkFMX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfUk9PVF9DTEFTUyA9IFlFU19FUlJPUjsKCQkJCUNMQU5HX1dBUk5fUkFOR0VfTE9PUF9BTkFMWVNJUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1RSSUNUX1BST1RPVFlQRVMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1NVU1BJQ0lPVVNfTU9WRSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fVU5SRUFDSEFCTEVfQ09ERSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fX0RVUExJQ0FURV9NRVRIT0RfTUFUQ0ggPSBZRVM7CgkJCQkiQ09ERV9TSUdOX0lERU5USVRZW3Nkaz1pcGhvbmVvcypdIiA9ICJpUGhvbmUgRGV2ZWxvcGVyIjsKCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBOTzsKCQkJCURFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9ICJkd2FyZi13aXRoLWRzeW0iOwoJCQkJRU5BQkxFX05TX0FTU0VSVElPTlMgPSBOTzsKCQkJCUVOQUJMRV9TVFJJQ1RfT0JKQ19NU0dTRU5EID0gWUVTOwoJCQkJR0NDX0NfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnU5OTsKCQkJCUdDQ19OT19DT01NT05fQkxPQ0tTID0gWUVTOwoJCQkJR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9BQk9VVF9SRVRVUk5fVFlQRSA9IFlFU19FUlJPUjsKCQkJCUdDQ19XQVJOX1VOREVDTEFSRURfU0VMRUNUT1IgPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTklOSVRJQUxJWkVEX0FVVE9TID0gWUVTX0FHR1JFU1NJVkU7CgkJCQlHQ0NfV0FSTl9VTlVTRURfRlVOQ1RJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTlVTRURfVkFSSUFCTEUgPSBZRVM7CgkJCQlJUEhPTkVPU19ERVBMT1lNRU5UX1RBUkdFVCA9IDEzLjA7CgkJCQlNVExfRU5BQkxFX0RFQlVHX0lORk8gPSBOTzsKCQkJCVNES1JPT1QgPSBpcGhvbmVvczsKCQkJCVNVUFBPUlRFRF9QTEFURk9STVMgPSBpcGhvbmVvczsKCQkJCVRBUkdFVEVEX0RFVklDRV9GQU1JTFkgPSAiMSwyIjsKCQkJCVZBTElEQVRFX1BST0RVQ1QgPSBZRVM7CgkJCX07CgkJCW5hbWUgPSAiUHJvZmlsZS1wcm9kdWN0aW9uIjsKCQl9OwoJCTNDOUM1NTIzMkIwN0FDQkQwMDBFNUZDRCAvKiBQcm9maWxlLXByb2R1Y3Rpb24gKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDdBRkEzQzhFMUQzNTM2MEMwMDgzMDgyRSAvKiBSZWxlYXNlLnhjY29uZmlnICovOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQVNTRVRDQVRBTE9HX0NPTVBJTEVSX0FQUElDT05fTkFNRSA9IEFwcEljb247CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gIiQoRkxVVFRFUl9CVUlMRF9OVU1CRVIpIjsKCQkJCUVOQUJMRV9CSVRDT0RFID0gTk87CgkJCQlGTEFWT1JfQVBQX05BTUUgPSAie3twcm9qZWN0X25hbWUudGl0bGVDYXNlKCl9fSI7CgkJCQlJTkZPUExJU1RfRklMRSA9IFJ1bm5lci9JbmZvLnBsaXN0OwoJCQkJTERfUlVOUEFUSF9TRUFSQ0hfUEFUSFMgPSAoCgkJCQkJIiQoaW5oZXJpdGVkKSIsCgkJCQkJIkBleGVjdXRhYmxlX3BhdGgvRnJhbWV3b3JrcyIsCgkJCQkpOwoJCQkJUEFDS0FHRV9DT05GSUcgPSAuZGFydF90b29sL3BhY2thZ2VfY29uZmlnLmpzb247CgkJCQlQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0ge3tpb3NfYXBwbGljYXRpb25faWR9fTsKCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CgkJCQlTV0lGVF9PQkpDX0JSSURHSU5HX0hFQURFUiA9ICJSdW5uZXIvUnVubmVyLUJyaWRnaW5nLUhlYWRlci5oIjsKCQkJCVNXSUZUX1ZFUlNJT04gPSA1LjA7CgkJCQlWRVJTSU9OSU5HX1NZU1RFTSA9ICJhcHBsZS1nZW5lcmljIjsKCQkJfTsKCQkJbmFtZSA9ICJQcm9maWxlLXByb2R1Y3Rpb24iOwoJCX07CgkJM0M5QzU1MjQyQjA3QUNCRDAwMEU1RkNEIC8qIFByb2ZpbGUtcHJvZHVjdGlvbiAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCSAgICBCVU5ETEVfTE9BREVSID0gIiQoVEVTVF9IT1NUKSI7CgkJCQlDT0RFX1NJR05fU1RZTEUgPSBBdXRvbWF0aWM7CgkJCQlDVVJSRU5UX1BST0pFQ1RfVkVSU0lPTiA9IDE7CgkJCQlHRU5FUkFURV9JTkZPUExJU1RfRklMRSA9IFlFUzsKCQkJCU1BUktFVElOR19WRVJTSU9OID0gMS4wOwoJCQkJUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9IHt7aW9zX2FwcGxpY2F0aW9uX2lkfX07CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfVkVSU0lPTiA9IDUuMDsKCQkJCVRFU1RfSE9TVCA9ICIkKEJVSUxUX1BST0RVQ1RTX0RJUikvUnVubmVyLmFwcC8kKEJVTkRMRV9FWEVDVVRBQkxFX0ZPTERFUl9QQVRIKS9SdW5uZXIiOwoJCQl9OwoJCQluYW1lID0gIlByb2ZpbGUtcHJvZHVjdGlvbiI7CgkJfTsKCQkzQzlDNTUyNTJCMDdBQ0U3MDAwRTVGQ0QgLyogRGVidWctZGV2ZWxvcG1lbnQgKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQUxXQVlTX1NFQVJDSF9VU0VSX1BBVEhTID0gTk87CgkJCQlDTEFOR19BTkFMWVpFUl9OT05OVUxMID0gWUVTOwoJCQkJQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gImdudSsrMHgiOwoJCQkJQ0xBTkdfQ1hYX0xJQlJBUlkgPSAibGliYysrIjsKCQkJCUNMQU5HX0VOQUJMRV9NT0RVTEVTID0gWUVTOwoJCQkJQ0xBTkdfRU5BQkxFX09CSkNfQVJDID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9CTE9DS19DQVBUVVJFX0FVVE9SRUxFQVNJTkcgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0JPT0xfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQ09NTUEgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0NPTlNUQU5UX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0RFUFJFQ0FURURfT0JKQ19JTVBMRU1FTlRBVElPTlMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0RJUkVDVF9PQkpDX0lTQV9VU0FHRSA9IFlFU19FUlJPUjsKCQkJCUNMQU5HX1dBUk5fRU1QVFlfQk9EWSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fRU5VTV9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9JTkZJTklURV9SRUNVUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0lOVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9OT05fTElURVJBTF9OVUxMX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfSU1QTElDSVRfUkVUQUlOX1NFTEYgPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfTElURVJBTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX1JPT1RfQ0xBU1MgPSBZRVNfRVJST1I7CgkJCQlDTEFOR19XQVJOX1JBTkdFX0xPT1BfQU5BTFlTSVMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1NUUklDVF9QUk9UT1RZUEVTID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9TVVNQSUNJT1VTX01PVkUgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1VOUkVBQ0hBQkxFX0NPREUgPSBZRVM7CgkJCQlDTEFOR19XQVJOX19EVVBMSUNBVEVfTUVUSE9EX01BVENIID0gWUVTOwoJCQkJIkNPREVfU0lHTl9JREVOVElUWVtzZGs9aXBob25lb3MqXSIgPSAiaVBob25lIERldmVsb3BlciI7CgkJCQlDT1BZX1BIQVNFX1NUUklQID0gTk87CgkJCQlERUJVR19JTkZPUk1BVElPTl9GT1JNQVQgPSBkd2FyZjsKCQkJCUVOQUJMRV9TVFJJQ1RfT0JKQ19NU0dTRU5EID0gWUVTOwoJCQkJRU5BQkxFX1RFU1RBQklMSVRZID0gWUVTOwoJCQkJR0NDX0NfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnU5OTsKCQkJCUdDQ19EWU5BTUlDX05PX1BJQyA9IE5POwoJCQkJR0NDX05PX0NPTU1PTl9CTE9DS1MgPSBZRVM7CgkJCQlHQ0NfT1BUSU1JWkFUSU9OX0xFVkVMID0gMDsKCQkJCUdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAoCgkJCQkJIkRFQlVHPTEiLAoJCQkJCSIkKGluaGVyaXRlZCkiLAoJCQkJKTsKCQkJCUdDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJR0NDX1dBUk5fQUJPVVRfUkVUVVJOX1RZUEUgPSBZRVNfRVJST1I7CgkJCQlHQ0NfV0FSTl9VTkRFQ0xBUkVEX1NFTEVDVE9SID0gWUVTOwoJCQkJR0NDX1dBUk5fVU5JTklUSUFMSVpFRF9BVVRPUyA9IFlFU19BR0dSRVNTSVZFOwoJCQkJR0NDX1dBUk5fVU5VU0VEX0ZVTkNUSU9OID0gWUVTOwoJCQkJR0NDX1dBUk5fVU5VU0VEX1ZBUklBQkxFID0gWUVTOwoJCQkJSVBIT05FT1NfREVQTE9ZTUVOVF9UQVJHRVQgPSAxMy4wOwoJCQkJTVRMX0VOQUJMRV9ERUJVR19JTkZPID0gWUVTOwoJCQkJT05MWV9BQ1RJVkVfQVJDSCA9IFlFUzsKCQkJCVNES1JPT1QgPSBpcGhvbmVvczsKCQkJCVRBUkdFVEVEX0RFVklDRV9GQU1JTFkgPSAiMSwyIjsKCQkJfTsKCQkJbmFtZSA9ICJEZWJ1Zy1kZXZlbG9wbWVudCI7CgkJfTsKCQkzQzlDNTUyNjJCMDdBQ0U3MDAwRTVGQ0QgLyogRGVidWctZGV2ZWxvcG1lbnQgKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDk3NDBFRUIyMUNGOTAxOTUwMDQzODRGQyAvKiBEZWJ1Zy54Y2NvbmZpZyAqLzsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUFTU0VUQ0FUQUxPR19DT01QSUxFUl9BUFBJQ09OX05BTUUgPSAiQXBwSWNvbi1kZXYiOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDVVJSRU5UX1BST0pFQ1RfVkVSU0lPTiA9ICIkKEZMVVRURVJfQlVJTERfTlVNQkVSKSI7CgkJCQlFTkFCTEVfQklUQ09ERSA9IE5POwoJCQkJRkxBVk9SX0FQUF9OQU1FID0gIltERVZdIHt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX0iOwoJCQkJSU5GT1BMSVNUX0ZJTEUgPSBSdW5uZXIvSW5mby5wbGlzdDsKCQkJCUxEX1JVTlBBVEhfU0VBUkNIX1BBVEhTID0gKAoJCQkJCSIkKGluaGVyaXRlZCkiLAoJCQkJCSJAZXhlY3V0YWJsZV9wYXRoL0ZyYW1ld29ya3MiLAoJCQkJKTsKCQkJCVBBQ0tBR0VfQ09ORklHID0gLmRhcnRfdG9vbC9wYWNrYWdlX2NvbmZpZy5qc29uOwoJCQkJUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9IHt7aW9zX2FwcGxpY2F0aW9uX2lkfX0uZGV2OwoJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKCQkJCVNXSUZUX09CSkNfQlJJREdJTkdfSEVBREVSID0gIlJ1bm5lci9SdW5uZXItQnJpZGdpbmctSGVhZGVyLmgiOwoJCQkJU1dJRlRfT1BUSU1JWkFUSU9OX0xFVkVMID0gIi1Pbm9uZSI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVkVSU0lPTklOR19TWVNURU0gPSAiYXBwbGUtZ2VuZXJpYyI7CgkJCX07CgkJCW5hbWUgPSAiRGVidWctZGV2ZWxvcG1lbnQiOwoJCX07CgkJM0M5QzU1MjcyQjA3QUNFNzAwMEU1RkNEIC8qIERlYnVnLWRldmVsb3BtZW50ICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUJVTkRMRV9MT0FERVIgPSAiJChURVNUX0hPU1QpIjsKCQkJCUNPREVfU0lHTl9TVFlMRSA9IEF1dG9tYXRpYzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gMTsKCQkJCUdFTkVSQVRFX0lORk9QTElTVF9GSUxFID0gWUVTOwoJCQkJTUFSS0VUSU5HX1ZFUlNJT04gPSAxLjA7CgkJCQlQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0ge3tpb3NfYXBwbGljYXRpb25faWR9fS5SdW5uZXJUZXN0czsKCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CgkJCQlTV0lGVF9BQ1RJVkVfQ09NUElMQVRJT05fQ09ORElUSU9OUyA9IERFQlVHOwoJCQkJU1dJRlRfT1BUSU1JWkFUSU9OX0xFVkVMID0gIi1Pbm9uZSI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVEVTVF9IT1NUID0gIiQoQlVJTFRfUFJPRFVDVFNfRElSKS9SdW5uZXIuYXBwLyQoQlVORExFX0VYRUNVVEFCTEVfRk9MREVSX1BBVEgpL1J1bm5lciI7CgkJCX07CgkJCW5hbWUgPSAiRGVidWctZGV2ZWxvcG1lbnQiOwoJCX07CgkJM0M5QzU1MkIyQjA3QUQwOTAwMEU1RkNEIC8qIFByb2ZpbGUtZGV2ZWxvcG1lbnQgKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQUxXQVlTX1NFQVJDSF9VU0VSX1BBVEhTID0gTk87CgkJCQlDTEFOR19BTkFMWVpFUl9OT05OVUxMID0gWUVTOwoJCQkJQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gImdudSsrMHgiOwoJCQkJQ0xBTkdfQ1hYX0xJQlJBUlkgPSAibGliYysrIjsKCQkJCUNMQU5HX0VOQUJMRV9NT0RVTEVTID0gWUVTOwoJCQkJQ0xBTkdfRU5BQkxFX09CSkNfQVJDID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9CTE9DS19DQVBUVVJFX0FVVE9SRUxFQVNJTkcgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0JPT0xfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQ09NTUEgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0NPTlNUQU5UX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0RFUFJFQ0FURURfT0JKQ19JTVBMRU1FTlRBVElPTlMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0RJUkVDVF9PQkpDX0lTQV9VU0FHRSA9IFlFU19FUlJPUjsKCQkJCUNMQU5HX1dBUk5fRU1QVFlfQk9EWSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fRU5VTV9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9JTkZJTklURV9SRUNVUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0lOVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9OT05fTElURVJBTF9OVUxMX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfSU1QTElDSVRfUkVUQUlOX1NFTEYgPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfTElURVJBTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX1JPT1RfQ0xBU1MgPSBZRVNfRVJST1I7CgkJCQlDTEFOR19XQVJOX1JBTkdFX0xPT1BfQU5BTFlTSVMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1NUUklDVF9QUk9UT1RZUEVTID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9TVVNQSUNJT1VTX01PVkUgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1VOUkVBQ0hBQkxFX0NPREUgPSBZRVM7CgkJCQlDTEFOR19XQVJOX19EVVBMSUNBVEVfTUVUSE9EX01BVENIID0gWUVTOwoJCQkJIkNPREVfU0lHTl9JREVOVElUWVtzZGs9aXBob25lb3MqXSIgPSAiaVBob25lIERldmVsb3BlciI7CgkJCQlDT1BZX1BIQVNFX1NUUklQID0gTk87CgkJCQlERUJVR19JTkZPUk1BVElPTl9GT1JNQVQgPSAiZHdhcmYtd2l0aC1kc3ltIjsKCQkJCUVOQUJMRV9OU19BU1NFUlRJT05TID0gTk87CgkJCQlFTkFCTEVfU1RSSUNUX09CSkNfTVNHU0VORCA9IFlFUzsKCQkJCUdDQ19DX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251OTk7CgkJCQlHQ0NfTk9fQ09NTU9OX0JMT0NLUyA9IFlFUzsKCQkJCUdDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJR0NDX1dBUk5fQUJPVVRfUkVUVVJOX1RZUEUgPSBZRVNfRVJST1I7CgkJCQlHQ0NfV0FSTl9VTkRFQ0xBUkVEX1NFTEVDVE9SID0gWUVTOwoJCQkJR0NDX1dBUk5fVU5JTklUSUFMSVpFRF9BVVRPUyA9IFlFU19BR0dSRVNTSVZFOwoJCQkJR0NDX1dBUk5fVU5VU0VEX0ZVTkNUSU9OID0gWUVTOwoJCQkJR0NDX1dBUk5fVU5VU0VEX1ZBUklBQkxFID0gWUVTOwoJCQkJSVBIT05FT1NfREVQTE9ZTUVOVF9UQVJHRVQgPSAxMy4wOwoJCQkJTVRMX0VOQUJMRV9ERUJVR19JTkZPID0gTk87CgkJCQlTREtST09UID0gaXBob25lb3M7CgkJCQlTVVBQT1JURURfUExBVEZPUk1TID0gaXBob25lb3M7CgkJCQlUQVJHRVRFRF9ERVZJQ0VfRkFNSUxZID0gIjEsMiI7CgkJCQlWQUxJREFURV9QUk9EVUNUID0gWUVTOwoJCQl9OwoJCQluYW1lID0gIlByb2ZpbGUtZGV2ZWxvcG1lbnQiOwoJCX07CgkJM0M5QzU1MkMyQjA3QUQwOTAwMEU1RkNEIC8qIFByb2ZpbGUtZGV2ZWxvcG1lbnQgKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDdBRkEzQzhFMUQzNTM2MEMwMDgzMDgyRSAvKiBSZWxlYXNlLnhjY29uZmlnICovOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQVNTRVRDQVRBTE9HX0NPTVBJTEVSX0FQUElDT05fTkFNRSA9ICJBcHBJY29uLWRldiI7CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gIiQoRkxVVFRFUl9CVUlMRF9OVU1CRVIpIjsKCQkJCUVOQUJMRV9CSVRDT0RFID0gTk87CgkJCQlGTEFWT1JfQVBQX05BTUUgPSAiW0RFVl0ge3twcm9qZWN0X25hbWUudGl0bGVDYXNlKCl9fSI7CgkJCQlJTkZPUExJU1RfRklMRSA9IFJ1bm5lci9JbmZvLnBsaXN0OwoJCQkJTERfUlVOUEFUSF9TRUFSQ0hfUEFUSFMgPSAoCgkJCQkJIiQoaW5oZXJpdGVkKSIsCgkJCQkJIkBleGVjdXRhYmxlX3BhdGgvRnJhbWV3b3JrcyIsCgkJCQkpOwoJCQkJUEFDS0FHRV9DT05GSUcgPSAuZGFydF90b29sL3BhY2thZ2VfY29uZmlnLmpzb247CgkJCQlQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0ge3tpb3NfYXBwbGljYXRpb25faWR9fS5kZXY7CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfT0JKQ19CUklER0lOR19IRUFERVIgPSAiUnVubmVyL1J1bm5lci1CcmlkZ2luZy1IZWFkZXIuaCI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVkVSU0lPTklOR19TWVNURU0gPSAiYXBwbGUtZ2VuZXJpYyI7CgkJCX07CgkJCW5hbWUgPSAiUHJvZmlsZS1kZXZlbG9wbWVudCI7CgkJfTsKCQkzQzlDNTUyRDJCMDdBRDA5MDAwRTVGQ0QgLyogUHJvZmlsZS1kZXZlbG9wbWVudCAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlCVU5ETEVfTE9BREVSID0gIiQoVEVTVF9IT1NUKSI7CgkJCQlDT0RFX1NJR05fU1RZTEUgPSBBdXRvbWF0aWM7CgkJCQlDVVJSRU5UX1BST0pFQ1RfVkVSU0lPTiA9IDE7CgkJCQlHRU5FUkFURV9JTkZPUExJU1RfRklMRSA9IFlFUzsKCQkJCU1BUktFVElOR19WRVJTSU9OID0gMS4wOwoJCQkJUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9IHt7aW9zX2FwcGxpY2F0aW9uX2lkfX0uUnVubmVyVGVzdHM7CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfVkVSU0lPTiA9IDUuMDsKCQkJCVRFU1RfSE9TVCA9ICIkKEJVSUxUX1BST0RVQ1RTX0RJUikvUnVubmVyLmFwcC8kKEJVTkRMRV9FWEVDVVRBQkxFX0ZPTERFUl9QQVRIKS9SdW5uZXIiOwoJCQl9OwoJCQluYW1lID0gIlByb2ZpbGUtZGV2ZWxvcG1lbnQiOwoJCX07CgkJM0M5QzU1MkUyQjA3QUQxQjAwMEU1RkNEIC8qIFJlbGVhc2UtZGV2ZWxvcG1lbnQgKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQUxXQVlTX1NFQVJDSF9VU0VSX1BBVEhTID0gTk87CgkJCQlDTEFOR19BTkFMWVpFUl9OT05OVUxMID0gWUVTOwoJCQkJQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gImdudSsrMHgiOwoJCQkJQ0xBTkdfQ1hYX0xJQlJBUlkgPSAibGliYysrIjsKCQkJCUNMQU5HX0VOQUJMRV9NT0RVTEVTID0gWUVTOwoJCQkJQ0xBTkdfRU5BQkxFX09CSkNfQVJDID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9CTE9DS19DQVBUVVJFX0FVVE9SRUxFQVNJTkcgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0JPT0xfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQ09NTUEgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0NPTlNUQU5UX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0RFUFJFQ0FURURfT0JKQ19JTVBMRU1FTlRBVElPTlMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0RJUkVDVF9PQkpDX0lTQV9VU0FHRSA9IFlFU19FUlJPUjsKCQkJCUNMQU5HX1dBUk5fRU1QVFlfQk9EWSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fRU5VTV9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9JTkZJTklURV9SRUNVUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0lOVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9OT05fTElURVJBTF9OVUxMX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfSU1QTElDSVRfUkVUQUlOX1NFTEYgPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfTElURVJBTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX1JPT1RfQ0xBU1MgPSBZRVNfRVJST1I7CgkJCQlDTEFOR19XQVJOX1JBTkdFX0xPT1BfQU5BTFlTSVMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1NUUklDVF9QUk9UT1RZUEVTID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9TVVNQSUNJT1VTX01PVkUgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1VOUkVBQ0hBQkxFX0NPREUgPSBZRVM7CgkJCQlDTEFOR19XQVJOX19EVVBMSUNBVEVfTUVUSE9EX01BVENIID0gWUVTOwoJCQkJIkNPREVfU0lHTl9JREVOVElUWVtzZGs9aXBob25lb3MqXSIgPSAiaVBob25lIERldmVsb3BlciI7CgkJCQlDT1BZX1BIQVNFX1NUUklQID0gTk87CgkJCQlERUJVR19JTkZPUk1BVElPTl9GT1JNQVQgPSAiZHdhcmYtd2l0aC1kc3ltIjsKCQkJCUVOQUJMRV9OU19BU1NFUlRJT05TID0gTk87CgkJCQlFTkFCTEVfU1RSSUNUX09CSkNfTVNHU0VORCA9IFlFUzsKCQkJCUdDQ19DX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251OTk7CgkJCQlHQ0NfTk9fQ09NTU9OX0JMT0NLUyA9IFlFUzsKCQkJCUdDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJR0NDX1dBUk5fQUJPVVRfUkVUVVJOX1RZUEUgPSBZRVNfRVJST1I7CgkJCQlHQ0NfV0FSTl9VTkRFQ0xBUkVEX1NFTEVDVE9SID0gWUVTOwoJCQkJR0NDX1dBUk5fVU5JTklUSUFMSVpFRF9BVVRPUyA9IFlFU19BR0dSRVNTSVZFOwoJCQkJR0NDX1dBUk5fVU5VU0VEX0ZVTkNUSU9OID0gWUVTOwoJCQkJR0NDX1dBUk5fVU5VU0VEX1ZBUklBQkxFID0gWUVTOwoJCQkJSVBIT05FT1NfREVQTE9ZTUVOVF9UQVJHRVQgPSAxMy4wOwoJCQkJTVRMX0VOQUJMRV9ERUJVR19JTkZPID0gTk87CgkJCQlTREtST09UID0gaXBob25lb3M7CgkJCQlTVVBQT1JURURfUExBVEZPUk1TID0gaXBob25lb3M7CgkJCQlUQVJHRVRFRF9ERVZJQ0VfRkFNSUxZID0gIjEsMiI7CgkJCQlTV0lGVF9DT01QSUxBVElPTl9NT0RFID0gd2hvbGVtb2R1bGU7CgkJCQlTV0lGVF9PUFRJTUlaQVRJT05fTEVWRUwgPSAiLU8iOwoJCQkJVkFMSURBVEVfUFJPRFVDVCA9IFlFUzsKCQkJfTsKCQkJbmFtZSA9ICJSZWxlYXNlLWRldmVsb3BtZW50IjsKCQl9OwoJCTNDOUM1NTJGMkIwN0FEMUIwMDBFNUZDRCAvKiBSZWxlYXNlLWRldmVsb3BtZW50ICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSA3QUZBM0M4RTFEMzUzNjBDMDA4MzA4MkUgLyogUmVsZWFzZS54Y2NvbmZpZyAqLzsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUFTU0VUQ0FUQUxPR19DT01QSUxFUl9BUFBJQ09OX05BTUUgPSAiQXBwSWNvbi1kZXYiOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDVVJSRU5UX1BST0pFQ1RfVkVSU0lPTiA9ICIkKEZMVVRURVJfQlVJTERfTlVNQkVSKSI7CgkJCQlFTkFCTEVfQklUQ09ERSA9IE5POwoJCQkJRkxBVk9SX0FQUF9OQU1FID0gIltERVZdIHt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX0iOwoJCQkJSU5GT1BMSVNUX0ZJTEUgPSBSdW5uZXIvSW5mby5wbGlzdDsKCQkJCUxEX1JVTlBBVEhfU0VBUkNIX1BBVEhTID0gKAoJCQkJCSIkKGluaGVyaXRlZCkiLAoJCQkJCSJAZXhlY3V0YWJsZV9wYXRoL0ZyYW1ld29ya3MiLAoJCQkJKTsKCQkJCVBBQ0tBR0VfQ09ORklHID0gLmRhcnRfdG9vbC9wYWNrYWdlX2NvbmZpZy5qc29uOwoJCQkJUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9IHt7aW9zX2FwcGxpY2F0aW9uX2lkfX0uZGV2OwoJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKCQkJCVNXSUZUX09CSkNfQlJJREdJTkdfSEVBREVSID0gIlJ1bm5lci9SdW5uZXItQnJpZGdpbmctSGVhZGVyLmgiOwoJCQkJU1dJRlRfVkVSU0lPTiA9IDUuMDsKCQkJCVZFUlNJT05JTkdfU1lTVEVNID0gImFwcGxlLWdlbmVyaWMiOwoJCQl9OwoJCQluYW1lID0gIlJlbGVhc2UtZGV2ZWxvcG1lbnQiOwoJCX07CgkJM0M5QzU1MzAyQjA3QUQxQjAwMEU1RkNEIC8qIFJlbGVhc2UtZGV2ZWxvcG1lbnQgKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQlVORExFX0xPQURFUiA9ICIkKFRFU1RfSE9TVCkiOwoJCQkJQ09ERV9TSUdOX1NUWUxFID0gQXV0b21hdGljOwoJCQkJQ1VSUkVOVF9QUk9KRUNUX1ZFUlNJT04gPSAxOwoJCQkJR0VORVJBVEVfSU5GT1BMSVNUX0ZJTEUgPSBZRVM7CgkJCQlNQVJLRVRJTkdfVkVSU0lPTiA9IDEuMDsKCQkJCVBST0RVQ1RfQlVORExFX0lERU5USUZJRVIgPSB7e2lvc19hcHBsaWNhdGlvbl9pZH19LlJ1bm5lclRlc3RzOwoJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKCQkJCVNXSUZUX1ZFUlNJT04gPSA1LjA7CgkJCQlURVNUX0hPU1QgPSAiJChCVUlMVF9QUk9EVUNUU19ESVIpL1J1bm5lci5hcHAvJChCVU5ETEVfRVhFQ1VUQUJMRV9GT0xERVJfUEFUSCkvUnVubmVyIjsKCQkJfTsKCQkJbmFtZSA9ICJSZWxlYXNlLWRldmVsb3BtZW50IjsKCQl9OwoJCTNDOUM1NTMxMkIwN0FEMjYwMDBFNUZDRCAvKiBEZWJ1Zy1zdGFnaW5nICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POwoJCQkJQ0xBTkdfQU5BTFlaRVJfTk9OTlVMTCA9IFlFUzsKCQkJCUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9ICJnbnUrKzB4IjsKCQkJCUNMQU5HX0NYWF9MSUJSQVJZID0gImxpYmMrKyI7CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNMQU5HX0VOQUJMRV9PQkpDX0FSQyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQkxPQ0tfQ0FQVFVSRV9BVVRPUkVMRUFTSU5HID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9CT09MX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0NPTU1BID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT05TVEFOVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ERVBSRUNBVEVEX09CSkNfSU1QTEVNRU5UQVRJT05TID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ESVJFQ1RfT0JKQ19JU0FfVVNBR0UgPSBZRVNfRVJST1I7CgkJCQlDTEFOR19XQVJOX0VNUFRZX0JPRFkgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0VOVU1fQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5GSU5JVEVfUkVDVVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9JTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fTk9OX0xJVEVSQUxfTlVMTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0lNUExJQ0lUX1JFVEFJTl9TRUxGID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0xJVEVSQUxfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19ST09UX0NMQVNTID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9SQU5HRV9MT09QX0FOQUxZU0lTID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9TVFJJQ1RfUFJPVE9UWVBFUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1VTUElDSU9VU19NT1ZFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9VTlJFQUNIQUJMRV9DT0RFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9fRFVQTElDQVRFX01FVEhPRF9NQVRDSCA9IFlFUzsKCQkJCSJDT0RFX1NJR05fSURFTlRJVFlbc2RrPWlwaG9uZW9zKl0iID0gImlQaG9uZSBEZXZlbG9wZXIiOwoJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IE5POwoJCQkJREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gZHdhcmY7CgkJCQlFTkFCTEVfU1RSSUNUX09CSkNfTVNHU0VORCA9IFlFUzsKCQkJCUVOQUJMRV9URVNUQUJJTElUWSA9IFlFUzsKCQkJCUdDQ19DX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251OTk7CgkJCQlHQ0NfRFlOQU1JQ19OT19QSUMgPSBOTzsKCQkJCUdDQ19OT19DT01NT05fQkxPQ0tTID0gWUVTOwoJCQkJR0NDX09QVElNSVpBVElPTl9MRVZFTCA9IDA7CgkJCQlHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gKAoJCQkJCSJERUJVRz0xIiwKCQkJCQkiJChpbmhlcml0ZWQpIiwKCQkJCSk7CgkJCQlHQ0NfV0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX0FCT1VUX1JFVFVSTl9UWVBFID0gWUVTX0VSUk9SOwoJCQkJR0NDX1dBUk5fVU5ERUNMQVJFRF9TRUxFQ1RPUiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOSU5JVElBTElaRURfQVVUT1MgPSBZRVNfQUdHUkVTU0lWRTsKCQkJCUdDQ19XQVJOX1VOVVNFRF9GVU5DVElPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9IFlFUzsKCQkJCUlQSE9ORU9TX0RFUExPWU1FTlRfVEFSR0VUID0gMTMuMDsKCQkJCU1UTF9FTkFCTEVfREVCVUdfSU5GTyA9IFlFUzsKCQkJCU9OTFlfQUNUSVZFX0FSQ0ggPSBZRVM7CgkJCQlTREtST09UID0gaXBob25lb3M7CgkJCQlUQVJHRVRFRF9ERVZJQ0VfRkFNSUxZID0gIjEsMiI7CgkJCX07CgkJCW5hbWUgPSAiRGVidWctc3RhZ2luZyI7CgkJfTsKCQkzQzlDNTUzMjJCMDdBRDI2MDAwRTVGQ0QgLyogRGVidWctc3RhZ2luZyAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gOTc0MEVFQjIxQ0Y5MDE5NTAwNDM4NEZDIC8qIERlYnVnLnhjY29uZmlnICovOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQVNTRVRDQVRBTE9HX0NPTVBJTEVSX0FQUElDT05fTkFNRSA9ICJBcHBJY29uLXN0ZyI7CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gIiQoRkxVVFRFUl9CVUlMRF9OVU1CRVIpIjsKCQkJCUVOQUJMRV9CSVRDT0RFID0gTk87CgkJCQlGTEFWT1JfQVBQX05BTUUgPSAiW1NUR10ge3twcm9qZWN0X25hbWUudGl0bGVDYXNlKCl9fSI7CgkJCQlJTkZPUExJU1RfRklMRSA9IFJ1bm5lci9JbmZvLnBsaXN0OwoJCQkJTERfUlVOUEFUSF9TRUFSQ0hfUEFUSFMgPSAoCgkJCQkJIiQoaW5oZXJpdGVkKSIsCgkJCQkJIkBleGVjdXRhYmxlX3BhdGgvRnJhbWV3b3JrcyIsCgkJCQkpOwoJCQkJUEFDS0FHRV9DT05GSUcgPSAuZGFydF90b29sL3BhY2thZ2VfY29uZmlnLmpzb247CgkJCQlQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0ge3tpb3NfYXBwbGljYXRpb25faWR9fS5zdGc7CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfT0JKQ19CUklER0lOR19IRUFERVIgPSAiUnVubmVyL1J1bm5lci1CcmlkZ2luZy1IZWFkZXIuaCI7CgkJCQlTV0lGVF9PUFRJTUlaQVRJT05fTEVWRUwgPSAiLU9ub25lIjsKCQkJCVNXSUZUX1ZFUlNJT04gPSA1LjA7CgkJCQlWRVJTSU9OSU5HX1NZU1RFTSA9ICJhcHBsZS1nZW5lcmljIjsKCQkJfTsKCQkJbmFtZSA9ICJEZWJ1Zy1zdGFnaW5nIjsKCQl9OwoJCTNDOUM1NTMzMkIwN0FEMjYwMDBFNUZDRCAvKiBEZWJ1Zy1zdGFnaW5nICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUJVTkRMRV9MT0FERVIgPSAiJChURVNUX0hPU1QpIjsKCQkJCUNPREVfU0lHTl9TVFlMRSA9IEF1dG9tYXRpYzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gMTsKCQkJCUdFTkVSQVRFX0lORk9QTElTVF9GSUxFID0gWUVTOwoJCQkJTUFSS0VUSU5HX1ZFUlNJT04gPSAxLjA7CgkJCQlQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0ge3tpb3NfYXBwbGljYXRpb25faWR9fS5SdW5uZXJUZXN0czsKCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CgkJCQlTV0lGVF9BQ1RJVkVfQ09NUElMQVRJT05fQ09ORElUSU9OUyA9IERFQlVHOwoJCQkJU1dJRlRfT1BUSU1JWkFUSU9OX0xFVkVMID0gIi1Pbm9uZSI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVEVTVF9IT1NUID0gIiQoQlVJTFRfUFJPRFVDVFNfRElSKS9SdW5uZXIuYXBwLyQoQlVORExFX0VYRUNVVEFCTEVfRk9MREVSX1BBVEgpL1J1bm5lciI7CgkJCX07CgkJCW5hbWUgPSAiRGVidWctc3RhZ2luZyI7CgkJfTsKCQkzQzlDNTUzNDJCMDdBRDQxMDAwRTVGQ0QgLyogUmVsZWFzZS1zdGFnaW5nICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POwoJCQkJQ0xBTkdfQU5BTFlaRVJfTk9OTlVMTCA9IFlFUzsKCQkJCUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9ICJnbnUrKzB4IjsKCQkJCUNMQU5HX0NYWF9MSUJSQVJZID0gImxpYmMrKyI7CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNMQU5HX0VOQUJMRV9PQkpDX0FSQyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQkxPQ0tfQ0FQVFVSRV9BVVRPUkVMRUFTSU5HID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9CT09MX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0NPTU1BID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT05TVEFOVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ERVBSRUNBVEVEX09CSkNfSU1QTEVNRU5UQVRJT05TID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ESVJFQ1RfT0JKQ19JU0FfVVNBR0UgPSBZRVNfRVJST1I7CgkJCQlDTEFOR19XQVJOX0VNUFRZX0JPRFkgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0VOVU1fQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5GSU5JVEVfUkVDVVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9JTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fTk9OX0xJVEVSQUxfTlVMTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0lNUExJQ0lUX1JFVEFJTl9TRUxGID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0xJVEVSQUxfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19ST09UX0NMQVNTID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9SQU5HRV9MT09QX0FOQUxZU0lTID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9TVFJJQ1RfUFJPVE9UWVBFUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1VTUElDSU9VU19NT1ZFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9VTlJFQUNIQUJMRV9DT0RFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9fRFVQTElDQVRFX01FVEhPRF9NQVRDSCA9IFlFUzsKCQkJCSJDT0RFX1NJR05fSURFTlRJVFlbc2RrPWlwaG9uZW9zKl0iID0gImlQaG9uZSBEZXZlbG9wZXIiOwoJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IE5POwoJCQkJREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gImR3YXJmLXdpdGgtZHN5bSI7CgkJCQlFTkFCTEVfTlNfQVNTRVJUSU9OUyA9IE5POwoJCQkJRU5BQkxFX1NUUklDVF9PQkpDX01TR1NFTkQgPSBZRVM7CgkJCQlHQ0NfQ19MQU5HVUFHRV9TVEFOREFSRCA9IGdudTk5OwoJCQkJR0NDX05PX0NPTU1PTl9CTE9DS1MgPSBZRVM7CgkJCQlHQ0NfV0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX0FCT1VUX1JFVFVSTl9UWVBFID0gWUVTX0VSUk9SOwoJCQkJR0NDX1dBUk5fVU5ERUNMQVJFRF9TRUxFQ1RPUiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOSU5JVElBTElaRURfQVVUT1MgPSBZRVNfQUdHUkVTU0lWRTsKCQkJCUdDQ19XQVJOX1VOVVNFRF9GVU5DVElPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9IFlFUzsKCQkJCUlQSE9ORU9TX0RFUExPWU1FTlRfVEFSR0VUID0gMTMuMDsKCQkJCU1UTF9FTkFCTEVfREVCVUdfSU5GTyA9IE5POwoJCQkJU0RLUk9PVCA9IGlwaG9uZW9zOwoJCQkJU1VQUE9SVEVEX1BMQVRGT1JNUyA9IGlwaG9uZW9zOwoJCQkJU1dJRlRfQ09NUElMQVRJT05fTU9ERSA9IHdob2xlbW9kdWxlOwoJCQkJU1dJRlRfT1BUSU1JWkFUSU9OX0xFVkVMID0gIi1PIjsKCQkJCVRBUkdFVEVEX0RFVklDRV9GQU1JTFkgPSAiMSwyIjsKCQkJCVZBTElEQVRFX1BST0RVQ1QgPSBZRVM7CgkJCX07CgkJCW5hbWUgPSAiUmVsZWFzZS1zdGFnaW5nIjsKCQl9OwoJCTNDOUM1NTM1MkIwN0FENDEwMDBFNUZDRCAvKiBSZWxlYXNlLXN0YWdpbmcgKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDdBRkEzQzhFMUQzNTM2MEMwMDgzMDgyRSAvKiBSZWxlYXNlLnhjY29uZmlnICovOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQVNTRVRDQVRBTE9HX0NPTVBJTEVSX0FQUElDT05fTkFNRSA9ICJBcHBJY29uLXN0ZyI7CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gIiQoRkxVVFRFUl9CVUlMRF9OVU1CRVIpIjsKCQkJCUVOQUJMRV9CSVRDT0RFID0gTk87CgkJCQlGTEFWT1JfQVBQX05BTUUgPSAiW1NUR10ge3twcm9qZWN0X25hbWUudGl0bGVDYXNlKCl9fSI7CgkJCQlJTkZPUExJU1RfRklMRSA9IFJ1bm5lci9JbmZvLnBsaXN0OwoJCQkJTERfUlVOUEFUSF9TRUFSQ0hfUEFUSFMgPSAoCgkJCQkJIiQoaW5oZXJpdGVkKSIsCgkJCQkJIkBleGVjdXRhYmxlX3BhdGgvRnJhbWV3b3JrcyIsCgkJCQkpOwoJCQkJUEFDS0FHRV9DT05GSUcgPSAuZGFydF90b29sL3BhY2thZ2VfY29uZmlnLmpzb247CgkJCQlQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0ge3tpb3NfYXBwbGljYXRpb25faWR9fS5zdGc7CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfT0JKQ19CUklER0lOR19IRUFERVIgPSAiUnVubmVyL1J1bm5lci1CcmlkZ2luZy1IZWFkZXIuaCI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVkVSU0lPTklOR19TWVNURU0gPSAiYXBwbGUtZ2VuZXJpYyI7CgkJCX07CgkJCW5hbWUgPSAiUmVsZWFzZS1zdGFnaW5nIjsKCQl9OwoJCTNDOUM1NTM2MkIwN0FENDEwMDBFNUZDRCAvKiBSZWxlYXNlLXN0YWdpbmcgKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQlVORExFX0xPQURFUiA9ICIkKFRFU1RfSE9TVCkiOwoJCQkJQ09ERV9TSUdOX1NUWUxFID0gQXV0b21hdGljOwoJCQkJQ1VSUkVOVF9QUk9KRUNUX1ZFUlNJT04gPSAxOwoJCQkJR0VORVJBVEVfSU5GT1BMSVNUX0ZJTEUgPSBZRVM7CgkJCQlNQVJLRVRJTkdfVkVSU0lPTiA9IDEuMDsKCQkJCVBST0RVQ1RfQlVORExFX0lERU5USUZJRVIgPSB7e2lvc19hcHBsaWNhdGlvbl9pZH19LlJ1bm5lclRlc3RzOwoJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKCQkJCVNXSUZUX1ZFUlNJT04gPSA1LjA7CgkJCQlURVNUX0hPU1QgPSAiJChCVUlMVF9QUk9EVUNUU19ESVIpL1J1bm5lci5hcHAvJChCVU5ETEVfRVhFQ1VUQUJMRV9GT0xERVJfUEFUSCkvUnVubmVyIjsKCQkJfTsKCQkJbmFtZSA9ICJSZWxlYXNlLXN0YWdpbmciOwoJCX07CgkJM0M5QzU1MzcyQjA3QUQ0QjAwMEU1RkNEIC8qIFByb2ZpbGUtc3RhZ2luZyAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTzsKCQkJCUNMQU5HX0FOQUxZWkVSX05PTk5VTEwgPSBZRVM7CgkJCQlDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSAiZ251KysweCI7CgkJCQlDTEFOR19DWFhfTElCUkFSWSA9ICJsaWJjKysiOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDTEFOR19FTkFCTEVfT0JKQ19BUkMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0JMT0NLX0NBUFRVUkVfQVVUT1JFTEVBU0lORyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT01NQSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fREVQUkVDQVRFRF9PQkpDX0lNUExFTUVOVEFUSU9OUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fRElSRUNUX09CSkNfSVNBX1VTQUdFID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9FTVBUWV9CT0RZID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0lORklOSVRFX1JFQ1VSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5UX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX05PTl9MSVRFUkFMX05VTExfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19JTVBMSUNJVF9SRVRBSU5fU0VMRiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19MSVRFUkFMX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfUk9PVF9DTEFTUyA9IFlFU19FUlJPUjsKCQkJCUNMQU5HX1dBUk5fUkFOR0VfTE9PUF9BTkFMWVNJUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1RSSUNUX1BST1RPVFlQRVMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1NVU1BJQ0lPVVNfTU9WRSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fVU5SRUFDSEFCTEVfQ09ERSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fX0RVUExJQ0FURV9NRVRIT0RfTUFUQ0ggPSBZRVM7CgkJCQkiQ09ERV9TSUdOX0lERU5USVRZW3Nkaz1pcGhvbmVvcypdIiA9ICJpUGhvbmUgRGV2ZWxvcGVyIjsKCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBOTzsKCQkJCURFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9ICJkd2FyZi13aXRoLWRzeW0iOwoJCQkJRU5BQkxFX05TX0FTU0VSVElPTlMgPSBOTzsKCQkJCUVOQUJMRV9TVFJJQ1RfT0JKQ19NU0dTRU5EID0gWUVTOwoJCQkJR0NDX0NfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnU5OTsKCQkJCUdDQ19OT19DT01NT05fQkxPQ0tTID0gWUVTOwoJCQkJR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9BQk9VVF9SRVRVUk5fVFlQRSA9IFlFU19FUlJPUjsKCQkJCUdDQ19XQVJOX1VOREVDTEFSRURfU0VMRUNUT1IgPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTklOSVRJQUxJWkVEX0FVVE9TID0gWUVTX0FHR1JFU1NJVkU7CgkJCQlHQ0NfV0FSTl9VTlVTRURfRlVOQ1RJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTlVTRURfVkFSSUFCTEUgPSBZRVM7CgkJCQlJUEhPTkVPU19ERVBMT1lNRU5UX1RBUkdFVCA9IDEzLjA7CgkJCQlNVExfRU5BQkxFX0RFQlVHX0lORk8gPSBOTzsKCQkJCVNES1JPT1QgPSBpcGhvbmVvczsKCQkJCVNVUFBPUlRFRF9QTEFURk9STVMgPSBpcGhvbmVvczsKCQkJCVRBUkdFVEVEX0RFVklDRV9GQU1JTFkgPSAiMSwyIjsKCQkJCVZBTElEQVRFX1BST0RVQ1QgPSBZRVM7CgkJCX07CgkJCW5hbWUgPSAiUHJvZmlsZS1zdGFnaW5nIjsKCQl9OwoJCTNDOUM1NTM4MkIwN0FENEIwMDBFNUZDRCAvKiBQcm9maWxlLXN0YWdpbmcgKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDdBRkEzQzhFMUQzNTM2MEMwMDgzMDgyRSAvKiBSZWxlYXNlLnhjY29uZmlnICovOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQVNTRVRDQVRBTE9HX0NPTVBJTEVSX0FQUElDT05fTkFNRSA9ICJBcHBJY29uLXN0ZyI7CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gIiQoRkxVVFRFUl9CVUlMRF9OVU1CRVIpIjsKCQkJCUVOQUJMRV9CSVRDT0RFID0gTk87CgkJCQlGTEFWT1JfQVBQX05BTUUgPSAiW1NUR10ge3twcm9qZWN0X25hbWUudGl0bGVDYXNlKCl9fSI7CgkJCQlJTkZPUExJU1RfRklMRSA9IFJ1bm5lci9JbmZvLnBsaXN0OwoJCQkJTERfUlVOUEFUSF9TRUFSQ0hfUEFUSFMgPSAoCgkJCQkJIiQoaW5oZXJpdGVkKSIsCgkJCQkJIkBleGVjdXRhYmxlX3BhdGgvRnJhbWV3b3JrcyIsCgkJCQkpOwoJCQkJUEFDS0FHRV9DT05GSUcgPSAuZGFydF90b29sL3BhY2thZ2VfY29uZmlnLmpzb247CgkJCQlQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0ge3tpb3NfYXBwbGljYXRpb25faWR9fS5zdGc7CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfT0JKQ19CUklER0lOR19IRUFERVIgPSAiUnVubmVyL1J1bm5lci1CcmlkZ2luZy1IZWFkZXIuaCI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVkVSU0lPTklOR19TWVNURU0gPSAiYXBwbGUtZ2VuZXJpYyI7CgkJCX07CgkJCW5hbWUgPSAiUHJvZmlsZS1zdGFnaW5nIjsKCQl9OwoJCTNDOUM1NTM5MkIwN0FENEIwMDBFNUZDRCAvKiBQcm9maWxlLXN0YWdpbmcgKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQlVORExFX0xPQURFUiA9ICIkKFRFU1RfSE9TVCkiOwoJCQkJQ09ERV9TSUdOX1NUWUxFID0gQXV0b21hdGljOwoJCQkJQ1VSUkVOVF9QUk9KRUNUX1ZFUlNJT04gPSAxOwoJCQkJR0VORVJBVEVfSU5GT1BMSVNUX0ZJTEUgPSBZRVM7CgkJCQlNQVJLRVRJTkdfVkVSU0lPTiA9IDEuMDsKCQkJCVBST0RVQ1RfQlVORExFX0lERU5USUZJRVIgPSB7e2lvc19hcHBsaWNhdGlvbl9pZH19LlJ1bm5lclRlc3RzOwoJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKCQkJCVNXSUZUX1ZFUlNJT04gPSA1LjA7CgkJCQlURVNUX0hPU1QgPSAiJChCVUlMVF9QUk9EVUNUU19ESVIpL1J1bm5lci5hcHAvJChCVU5ETEVfRVhFQ1VUQUJMRV9GT0xERVJfUEFUSCkvUnVubmVyIjsKCQkJfTsKCQkJbmFtZSA9ICJQcm9maWxlLXN0YWdpbmciOwoJCX07Ci8qIEVuZCBYQ0J1aWxkQ29uZmlndXJhdGlvbiBzZWN0aW9uICovCgovKiBCZWdpbiBYQ0NvbmZpZ3VyYXRpb25MaXN0IHNlY3Rpb24gKi8KICAgICAgICAzMzFDODA4NzI5NEE2M0E0MDAyNjNCRTUgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIlJ1bm5lclRlc3RzIiAqLyA9IHsKCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKCQkJCTNDOUM1NTFCMkIwN0FDOTkwMDBFNUZDRCAvKiBEZWJ1Zy1wcm9kdWN0aW9uICovLAoJCQkJM0M5QzU1MzMyQjA3QUQyNjAwMEU1RkNEIC8qIERlYnVnLXN0YWdpbmcgKi8sCgkJCQkzQzlDNTUyNzJCMDdBQ0U3MDAwRTVGQ0QgLyogRGVidWctZGV2ZWxvcG1lbnQgKi8sCgkJCQkzQzlDNTUxRTJCMDdBQ0E0MDAwRTVGQ0QgLyogUmVsZWFzZS1wcm9kdWN0aW9uICovLAoJCQkJM0M5QzU1MzYyQjA3QUQ0MTAwMEU1RkNEIC8qIFJlbGVhc2Utc3RhZ2luZyAqLywKCQkJCTNDOUM1NTMwMkIwN0FEMUIwMDBFNUZDRCAvKiBSZWxlYXNlLWRldmVsb3BtZW50ICovLAoJCQkJM0M5QzU1MjQyQjA3QUNCRDAwMEU1RkNEIC8qIFByb2ZpbGUtcHJvZHVjdGlvbiAqLywKCQkJCTNDOUM1NTM5MkIwN0FENEIwMDBFNUZDRCAvKiBQcm9maWxlLXN0YWdpbmcgKi8sCgkJCQkzQzlDNTUyRDJCMDdBRDA5MDAwRTVGQ0QgLyogUHJvZmlsZS1kZXZlbG9wbWVudCAqLywKCQkJKTsKCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOwoJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSAiUmVsZWFzZS1wcm9kdWN0aW9uIjsKCQl9OwoJCTk3QzE0NkU5MUNGOTAwMEYwMDdDMTE3RCAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3QgIlJ1bm5lciIgKi8gPSB7CgkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CgkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCgkJCQkzQzlDNTUxOTJCMDdBQzk5MDAwRTVGQ0QgLyogRGVidWctcHJvZHVjdGlvbiAqLywKCQkJCTNDOUM1NTMxMkIwN0FEMjYwMDBFNUZDRCAvKiBEZWJ1Zy1zdGFnaW5nICovLAoJCQkJM0M5QzU1MjUyQjA3QUNFNzAwMEU1RkNEIC8qIERlYnVnLWRldmVsb3BtZW50ICovLAoJCQkJM0M5QzU1MUMyQjA3QUNBNDAwMEU1RkNEIC8qIFJlbGVhc2UtcHJvZHVjdGlvbiAqLywKCQkJCTNDOUM1NTM0MkIwN0FENDEwMDBFNUZDRCAvKiBSZWxlYXNlLXN0YWdpbmcgKi8sCgkJCQkzQzlDNTUyRTJCMDdBRDFCMDAwRTVGQ0QgLyogUmVsZWFzZS1kZXZlbG9wbWVudCAqLywKCQkJCTNDOUM1NTIyMkIwN0FDQkQwMDBFNUZDRCAvKiBQcm9maWxlLXByb2R1Y3Rpb24gKi8sCgkJCQkzQzlDNTUzNzJCMDdBRDRCMDAwRTVGQ0QgLyogUHJvZmlsZS1zdGFnaW5nICovLAoJCQkJM0M5QzU1MkIyQjA3QUQwOTAwMEU1RkNEIC8qIFByb2ZpbGUtZGV2ZWxvcG1lbnQgKi8sCgkJCSk7CgkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gIlJlbGVhc2UtcHJvZHVjdGlvbiI7CgkJfTsKCQk5N0MxNDcwNTFDRjkwMDBGMDA3QzExN0QgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIlJ1bm5lciIgKi8gPSB7CgkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CgkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCgkJCQkzQzlDNTUxQTJCMDdBQzk5MDAwRTVGQ0QgLyogRGVidWctcHJvZHVjdGlvbiAqLywKCQkJCTNDOUM1NTMyMkIwN0FEMjYwMDBFNUZDRCAvKiBEZWJ1Zy1zdGFnaW5nICovLAoJCQkJM0M5QzU1MjYyQjA3QUNFNzAwMEU1RkNEIC8qIERlYnVnLWRldmVsb3BtZW50ICovLAoJCQkJM0M5QzU1MUQyQjA3QUNBNDAwMEU1RkNEIC8qIFJlbGVhc2UtcHJvZHVjdGlvbiAqLywKCQkJCTNDOUM1NTM1MkIwN0FENDEwMDBFNUZDRCAvKiBSZWxlYXNlLXN0YWdpbmcgKi8sCgkJCQkzQzlDNTUyRjJCMDdBRDFCMDAwRTVGQ0QgLyogUmVsZWFzZS1kZXZlbG9wbWVudCAqLywKCQkJCTNDOUM1NTIzMkIwN0FDQkQwMDBFNUZDRCAvKiBQcm9maWxlLXByb2R1Y3Rpb24gKi8sCgkJCQkzQzlDNTUzODJCMDdBRDRCMDAwRTVGQ0QgLyogUHJvZmlsZS1zdGFnaW5nICovLAoJCQkJM0M5QzU1MkMyQjA3QUQwOTAwMEU1RkNEIC8qIFByb2ZpbGUtZGV2ZWxvcG1lbnQgKi8sCgkJCSk7CgkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gIlJlbGVhc2UtcHJvZHVjdGlvbiI7CgkJfTsKLyogRW5kIFhDQ29uZmlndXJhdGlvbkxpc3Qgc2VjdGlvbiAqLwoJfTsKCXJvb3RPYmplY3QgPSA5N0MxNDZFNjFDRjkwMDBGMDA3QzExN0QgLyogUHJvamVjdCBvYmplY3QgKi87Cn0K", "type": "text", }, { @@ -552,7 +552,7 @@ final veryGoodCoreBundle = MasonBundle.fromJson({ { "path": "ios/Runner/AppDelegate.swift", "data": - "aW1wb3J0IFVJS2l0CmltcG9ydCBGbHV0dGVyCgpAVUlBcHBsaWNhdGlvbk1haW4KQG9iamMgY2xhc3MgQXBwRGVsZWdhdGU6IEZsdXR0ZXJBcHBEZWxlZ2F0ZSB7CiAgb3ZlcnJpZGUgZnVuYyBhcHBsaWNhdGlvbigKICAgIF8gYXBwbGljYXRpb246IFVJQXBwbGljYXRpb24sCiAgICBkaWRGaW5pc2hMYXVuY2hpbmdXaXRoT3B0aW9ucyBsYXVuY2hPcHRpb25zOiBbVUlBcHBsaWNhdGlvbi5MYXVuY2hPcHRpb25zS2V5OiBBbnldPwogICkgLT4gQm9vbCB7CiAgICBHZW5lcmF0ZWRQbHVnaW5SZWdpc3RyYW50LnJlZ2lzdGVyKHdpdGg6IHNlbGYpCiAgICByZXR1cm4gc3VwZXIuYXBwbGljYXRpb24oYXBwbGljYXRpb24sIGRpZEZpbmlzaExhdW5jaGluZ1dpdGhPcHRpb25zOiBsYXVuY2hPcHRpb25zKQogIH0KfQo=", + "aW1wb3J0IEZsdXR0ZXIKaW1wb3J0IFVJS2l0CgpAbWFpbgpAb2JqYyBjbGFzcyBBcHBEZWxlZ2F0ZTogRmx1dHRlckFwcERlbGVnYXRlLCBGbHV0dGVySW1wbGljaXRFbmdpbmVEZWxlZ2F0ZSB7CiAgb3ZlcnJpZGUgZnVuYyBhcHBsaWNhdGlvbigKICAgIF8gYXBwbGljYXRpb246IFVJQXBwbGljYXRpb24sCiAgICBkaWRGaW5pc2hMYXVuY2hpbmdXaXRoT3B0aW9ucyBsYXVuY2hPcHRpb25zOiBbVUlBcHBsaWNhdGlvbi5MYXVuY2hPcHRpb25zS2V5OiBBbnldPwogICkgLT4gQm9vbCB7CiAgICByZXR1cm4gc3VwZXIuYXBwbGljYXRpb24oYXBwbGljYXRpb24sIGRpZEZpbmlzaExhdW5jaGluZ1dpdGhPcHRpb25zOiBsYXVuY2hPcHRpb25zKQogIH0KCiAgZnVuYyBkaWRJbml0aWFsaXplSW1wbGljaXRGbHV0dGVyRW5naW5lKF8gZW5naW5lQnJpZGdlOiBGbHV0dGVySW1wbGljaXRFbmdpbmVCcmlkZ2UpIHsKICAgIEdlbmVyYXRlZFBsdWdpblJlZ2lzdHJhbnQucmVnaXN0ZXIod2l0aDogZW5naW5lQnJpZGdlLnBsdWdpblJlZ2lzdHJ5KQogIH0KfQo=", "type": "text", }, { @@ -753,7 +753,7 @@ final veryGoodCoreBundle = MasonBundle.fromJson({ { "path": "ios/Runner/Info.plist", "data": - "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CjxwbGlzdCB2ZXJzaW9uPSIxLjAiPgo8ZGljdD4KCTxrZXk+Q0ZCdW5kbGVMb2NhbGl6YXRpb25zPC9rZXk+Cgk8YXJyYXk+CgkJPHN0cmluZz5lbjwvc3RyaW5nPgoJCTxzdHJpbmc+ZXM8L3N0cmluZz4KCTwvYXJyYXk+Cgk8a2V5PkNGQnVuZGxlRGV2ZWxvcG1lbnRSZWdpb248L2tleT4KCTxzdHJpbmc+JChERVZFTE9QTUVOVF9MQU5HVUFHRSk8L3N0cmluZz4KCTxrZXk+Q0ZCdW5kbGVEaXNwbGF5TmFtZTwva2V5PgoJPHN0cmluZz4kKEZMQVZPUl9BUFBfTkFNRSk8L3N0cmluZz4KCTxrZXk+Q0ZCdW5kbGVFeGVjdXRhYmxlPC9rZXk+Cgk8c3RyaW5nPiQoRVhFQ1VUQUJMRV9OQU1FKTwvc3RyaW5nPgoJPGtleT5DRkJ1bmRsZUlkZW50aWZpZXI8L2tleT4KCTxzdHJpbmc+JChQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSKTwvc3RyaW5nPgoJPGtleT5DRkJ1bmRsZUluZm9EaWN0aW9uYXJ5VmVyc2lvbjwva2V5PgoJPHN0cmluZz42LjA8L3N0cmluZz4KCTxrZXk+Q0ZCdW5kbGVOYW1lPC9rZXk+Cgk8c3RyaW5nPiQoRkxBVk9SX0FQUF9OQU1FKTwvc3RyaW5nPgoJPGtleT5DRkJ1bmRsZVBhY2thZ2VUeXBlPC9rZXk+Cgk8c3RyaW5nPkFQUEw8L3N0cmluZz4KCTxrZXk+Q0ZCdW5kbGVTaG9ydFZlcnNpb25TdHJpbmc8L2tleT4KCTxzdHJpbmc+JChGTFVUVEVSX0JVSUxEX05BTUUpPC9zdHJpbmc+Cgk8a2V5PkNGQnVuZGxlU2lnbmF0dXJlPC9rZXk+Cgk8c3RyaW5nPj8/Pz88L3N0cmluZz4KCTxrZXk+Q0ZCdW5kbGVWZXJzaW9uPC9rZXk+Cgk8c3RyaW5nPiQoRkxVVFRFUl9CVUlMRF9OVU1CRVIpPC9zdHJpbmc+Cgk8a2V5PkxTUmVxdWlyZXNJUGhvbmVPUzwva2V5PgoJPHRydWUvPgoJPGtleT5VSUxhdW5jaFN0b3J5Ym9hcmROYW1lPC9rZXk+Cgk8c3RyaW5nPkxhdW5jaFNjcmVlbjwvc3RyaW5nPgoJPGtleT5VSU1haW5TdG9yeWJvYXJkRmlsZTwva2V5PgoJPHN0cmluZz5NYWluPC9zdHJpbmc+Cgk8a2V5PlVJU3VwcG9ydGVkSW50ZXJmYWNlT3JpZW50YXRpb25zPC9rZXk+Cgk8YXJyYXk+CgkJPHN0cmluZz5VSUludGVyZmFjZU9yaWVudGF0aW9uUG9ydHJhaXQ8L3N0cmluZz4KCQk8c3RyaW5nPlVJSW50ZXJmYWNlT3JpZW50YXRpb25MYW5kc2NhcGVMZWZ0PC9zdHJpbmc+CgkJPHN0cmluZz5VSUludGVyZmFjZU9yaWVudGF0aW9uTGFuZHNjYXBlUmlnaHQ8L3N0cmluZz4KCTwvYXJyYXk+Cgk8a2V5PlVJU3VwcG9ydGVkSW50ZXJmYWNlT3JpZW50YXRpb25zfmlwYWQ8L2tleT4KCTxhcnJheT4KCQk8c3RyaW5nPlVJSW50ZXJmYWNlT3JpZW50YXRpb25Qb3J0cmFpdDwvc3RyaW5nPgoJCTxzdHJpbmc+VUlJbnRlcmZhY2VPcmllbnRhdGlvblBvcnRyYWl0VXBzaWRlRG93bjwvc3RyaW5nPgoJCTxzdHJpbmc+VUlJbnRlcmZhY2VPcmllbnRhdGlvbkxhbmRzY2FwZUxlZnQ8L3N0cmluZz4KCQk8c3RyaW5nPlVJSW50ZXJmYWNlT3JpZW50YXRpb25MYW5kc2NhcGVSaWdodDwvc3RyaW5nPgoJPC9hcnJheT4KCTxrZXk+VUlWaWV3Q29udHJvbGxlckJhc2VkU3RhdHVzQmFyQXBwZWFyYW5jZTwva2V5PgoJPGZhbHNlLz4KCTxrZXk+Q0FEaXNhYmxlTWluaW11bUZyYW1lRHVyYXRpb25PblBob25lPC9rZXk+Cgk8dHJ1ZS8+Cgk8a2V5PlVJQXBwbGljYXRpb25TdXBwb3J0c0luZGlyZWN0SW5wdXRFdmVudHM8L2tleT4KCTx0cnVlLz4KPC9kaWN0Pgo8L3BsaXN0Pgo=", + "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CjxwbGlzdCB2ZXJzaW9uPSIxLjAiPgo8ZGljdD4KCTxrZXk+Q0ZCdW5kbGVMb2NhbGl6YXRpb25zPC9rZXk+Cgk8YXJyYXk+CgkJPHN0cmluZz5lbjwvc3RyaW5nPgoJCTxzdHJpbmc+ZXM8L3N0cmluZz4KCTwvYXJyYXk+Cgk8a2V5PkNGQnVuZGxlRGV2ZWxvcG1lbnRSZWdpb248L2tleT4KCTxzdHJpbmc+JChERVZFTE9QTUVOVF9MQU5HVUFHRSk8L3N0cmluZz4KCTxrZXk+Q0ZCdW5kbGVEaXNwbGF5TmFtZTwva2V5PgoJPHN0cmluZz4kKEZMQVZPUl9BUFBfTkFNRSk8L3N0cmluZz4KCTxrZXk+Q0ZCdW5kbGVFeGVjdXRhYmxlPC9rZXk+Cgk8c3RyaW5nPiQoRVhFQ1VUQUJMRV9OQU1FKTwvc3RyaW5nPgoJPGtleT5DRkJ1bmRsZUlkZW50aWZpZXI8L2tleT4KCTxzdHJpbmc+JChQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSKTwvc3RyaW5nPgoJPGtleT5DRkJ1bmRsZUluZm9EaWN0aW9uYXJ5VmVyc2lvbjwva2V5PgoJPHN0cmluZz42LjA8L3N0cmluZz4KCTxrZXk+Q0ZCdW5kbGVOYW1lPC9rZXk+Cgk8c3RyaW5nPiQoRkxBVk9SX0FQUF9OQU1FKTwvc3RyaW5nPgoJPGtleT5DRkJ1bmRsZVBhY2thZ2VUeXBlPC9rZXk+Cgk8c3RyaW5nPkFQUEw8L3N0cmluZz4KCTxrZXk+Q0ZCdW5kbGVTaG9ydFZlcnNpb25TdHJpbmc8L2tleT4KCTxzdHJpbmc+JChGTFVUVEVSX0JVSUxEX05BTUUpPC9zdHJpbmc+Cgk8a2V5PkNGQnVuZGxlU2lnbmF0dXJlPC9rZXk+Cgk8c3RyaW5nPj8/Pz88L3N0cmluZz4KCTxrZXk+Q0ZCdW5kbGVWZXJzaW9uPC9rZXk+Cgk8c3RyaW5nPiQoRkxVVFRFUl9CVUlMRF9OVU1CRVIpPC9zdHJpbmc+Cgk8a2V5PkxTUmVxdWlyZXNJUGhvbmVPUzwva2V5PgoJPHRydWUvPgoJPGtleT5VSUxhdW5jaFN0b3J5Ym9hcmROYW1lPC9rZXk+Cgk8c3RyaW5nPkxhdW5jaFNjcmVlbjwvc3RyaW5nPgoJPGtleT5VSU1haW5TdG9yeWJvYXJkRmlsZTwva2V5PgoJPHN0cmluZz5NYWluPC9zdHJpbmc+Cgk8a2V5PlVJU3VwcG9ydGVkSW50ZXJmYWNlT3JpZW50YXRpb25zPC9rZXk+Cgk8YXJyYXk+CgkJPHN0cmluZz5VSUludGVyZmFjZU9yaWVudGF0aW9uUG9ydHJhaXQ8L3N0cmluZz4KCQk8c3RyaW5nPlVJSW50ZXJmYWNlT3JpZW50YXRpb25MYW5kc2NhcGVMZWZ0PC9zdHJpbmc+CgkJPHN0cmluZz5VSUludGVyZmFjZU9yaWVudGF0aW9uTGFuZHNjYXBlUmlnaHQ8L3N0cmluZz4KCTwvYXJyYXk+Cgk8a2V5PlVJU3VwcG9ydGVkSW50ZXJmYWNlT3JpZW50YXRpb25zfmlwYWQ8L2tleT4KCTxhcnJheT4KCQk8c3RyaW5nPlVJSW50ZXJmYWNlT3JpZW50YXRpb25Qb3J0cmFpdDwvc3RyaW5nPgoJCTxzdHJpbmc+VUlJbnRlcmZhY2VPcmllbnRhdGlvblBvcnRyYWl0VXBzaWRlRG93bjwvc3RyaW5nPgoJCTxzdHJpbmc+VUlJbnRlcmZhY2VPcmllbnRhdGlvbkxhbmRzY2FwZUxlZnQ8L3N0cmluZz4KCQk8c3RyaW5nPlVJSW50ZXJmYWNlT3JpZW50YXRpb25MYW5kc2NhcGVSaWdodDwvc3RyaW5nPgoJPC9hcnJheT4KCTxrZXk+VUlWaWV3Q29udHJvbGxlckJhc2VkU3RhdHVzQmFyQXBwZWFyYW5jZTwva2V5PgoJPGZhbHNlLz4KCTxrZXk+Q0FEaXNhYmxlTWluaW11bUZyYW1lRHVyYXRpb25PblBob25lPC9rZXk+Cgk8dHJ1ZS8+Cgk8a2V5PlVJQXBwbGljYXRpb25TdXBwb3J0c0luZGlyZWN0SW5wdXRFdmVudHM8L2tleT4KCTx0cnVlLz4KCTxrZXk+VUlBcHBsaWNhdGlvblNjZW5lTWFuaWZlc3Q8L2tleT4KCTxkaWN0PgoJCTxrZXk+VUlBcHBsaWNhdGlvblN1cHBvcnRzTXVsdGlwbGVTY2VuZXM8L2tleT4KCQk8ZmFsc2UvPgoJCTxrZXk+VUlTY2VuZUNvbmZpZ3VyYXRpb25zPC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+VUlXaW5kb3dTY2VuZVNlc3Npb25Sb2xlQXBwbGljYXRpb248L2tleT4KCQkJPGFycmF5PgoJCQkJPGRpY3Q+CgkJCQkJPGtleT5VSVNjZW5lQ2xhc3NOYW1lPC9rZXk+CgkJCQkJPHN0cmluZz5VSVdpbmRvd1NjZW5lPC9zdHJpbmc+CgkJCQkJPGtleT5VSVNjZW5lRGVsZWdhdGVDbGFzc05hbWU8L2tleT4KCQkJCQk8c3RyaW5nPiQoUFJPRFVDVF9NT0RVTEVfTkFNRSkuU2NlbmVEZWxlZ2F0ZTwvc3RyaW5nPgoJCQkJCTxrZXk+VUlTY2VuZUNvbmZpZ3VyYXRpb25OYW1lPC9rZXk+CgkJCQkJPHN0cmluZz5mbHV0dGVyPC9zdHJpbmc+CgkJCQkJPGtleT5VSVNjZW5lU3Rvcnlib2FyZEZpbGU8L2tleT4KCQkJCQk8c3RyaW5nPk1haW48L3N0cmluZz4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8L2RpY3Q+Cgk8L2RpY3Q+CjwvZGljdD4KPC9wbGlzdD4K", "type": "text", }, { @@ -761,6 +761,12 @@ final veryGoodCoreBundle = MasonBundle.fromJson({ "data": "I2ltcG9ydCAiR2VuZXJhdGVkUGx1Z2luUmVnaXN0cmFudC5oIgo=", "type": "text", }, + { + "path": "ios/Runner/SceneDelegate.swift", + "data": + "aW1wb3J0IEZsdXR0ZXIKaW1wb3J0IFVJS2l0CgpjbGFzcyBTY2VuZURlbGVnYXRlOiBGbHV0dGVyU2NlbmVEZWxlZ2F0ZSB7CiAgLy8gRmx1dHRlclNjZW5lRGVsZWdhdGUgaGFuZGxlcyBhbGwgc2NlbmUgbGlmZWN5Y2xlIGV2ZW50cwp9Cg==", + "type": "text", + }, { "path": "ios/RunnerTests/RunnerTests.swift", "data": @@ -922,7 +928,7 @@ final veryGoodCoreBundle = MasonBundle.fromJson({ { "path": "macos/Runner/AppDelegate.swift", "data": - "aW1wb3J0IENvY29hCmltcG9ydCBGbHV0dGVyTWFjT1MKCkBOU0FwcGxpY2F0aW9uTWFpbgpjbGFzcyBBcHBEZWxlZ2F0ZTogRmx1dHRlckFwcERlbGVnYXRlIHsKICBvdmVycmlkZSBmdW5jIGFwcGxpY2F0aW9uU2hvdWxkVGVybWluYXRlQWZ0ZXJMYXN0V2luZG93Q2xvc2VkKF8gc2VuZGVyOiBOU0FwcGxpY2F0aW9uKSAtPiBCb29sIHsKICAgIHJldHVybiB0cnVlCiAgfQp9Cg==", + "aW1wb3J0IENvY29hCmltcG9ydCBGbHV0dGVyTWFjT1MKCkBtYWluCmNsYXNzIEFwcERlbGVnYXRlOiBGbHV0dGVyQXBwRGVsZWdhdGUgewogIG92ZXJyaWRlIGZ1bmMgYXBwbGljYXRpb25TaG91bGRUZXJtaW5hdGVBZnRlckxhc3RXaW5kb3dDbG9zZWQoXyBzZW5kZXI6IE5TQXBwbGljYXRpb24pIC0+IEJvb2wgewogICAgcmV0dXJuIHRydWUKICB9CgogIG92ZXJyaWRlIGZ1bmMgYXBwbGljYXRpb25TdXBwb3J0c1NlY3VyZVJlc3RvcmFibGVTdGF0ZShfIGFwcDogTlNBcHBsaWNhdGlvbikgLT4gQm9vbCB7CiAgICByZXR1cm4gdHJ1ZQogIH0KfQo=", "type": "text", }, { @@ -1221,13 +1227,13 @@ final veryGoodCoreBundle = MasonBundle.fromJson({ { "path": "pubspec.yaml", "data": - "bmFtZToge3twcm9qZWN0X25hbWUuc25ha2VDYXNlKCl9fQpkZXNjcmlwdGlvbjoge3t7ZGVzY3JpcHRpb259fX0KdmVyc2lvbjogMS4wLjArMQpwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6IF4zLjkuMAogIGZsdXR0ZXI6IF4zLjM1LjAKCmRlcGVuZGVuY2llczoKICBibG9jOiBeOS4wLjEKICBmbHV0dGVyOgogICAgc2RrOiBmbHV0dGVyCiAgZmx1dHRlcl9ibG9jOiBeOS4xLjEKICBmbHV0dGVyX2xvY2FsaXphdGlvbnM6CiAgICBzZGs6IGZsdXR0ZXIKICBpbnRsOiBeMC4yMC4yCgpkZXZfZGVwZW5kZW5jaWVzOgogIGJsb2NfdGVzdDogXjEwLjAuMAogIGZsdXR0ZXJfdGVzdDoKICAgIHNkazogZmx1dHRlcgogIG1vY2t0YWlsOiBeMS4wLjQKICB2ZXJ5X2dvb2RfYW5hbHlzaXM6IF4xMC4wLjAKCmZsdXR0ZXI6CiAgZ2VuZXJhdGU6IHRydWUKICB1c2VzLW1hdGVyaWFsLWRlc2lnbjogdHJ1ZQo=", + "bmFtZToge3twcm9qZWN0X25hbWUuc25ha2VDYXNlKCl9fQpkZXNjcmlwdGlvbjoge3t7ZGVzY3JpcHRpb259fX0KdmVyc2lvbjogMS4wLjArMQpwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6IF4zLjEwLjAKICBmbHV0dGVyOiBeMy4zOC4xCgpkZXBlbmRlbmNpZXM6CiAgYmxvYzogXjkuMS4wCiAgZmx1dHRlcjoKICAgIHNkazogZmx1dHRlcgogIGZsdXR0ZXJfYmxvYzogXjkuMS4xCiAgZmx1dHRlcl9sb2NhbGl6YXRpb25zOgogICAgc2RrOiBmbHV0dGVyCiAgaW50bDogXjAuMjAuMgoKZGV2X2RlcGVuZGVuY2llczoKICBibG9jX2xpbnQ6IF4wLjMuMwogIGJsb2NfdGVzdDogXjEwLjAuMAogIGJsb2NfdG9vbHM6IF4wLjEuMC1kZXYuMjAKICBmbHV0dGVyX3Rlc3Q6CiAgICBzZGs6IGZsdXR0ZXIKICBtb2NrdGFpbDogXjEuMC40CiAgdmVyeV9nb29kX2FuYWx5c2lzOiBeMTAuMC4wCgpmbHV0dGVyOgogIGdlbmVyYXRlOiB0cnVlCiAgdXNlcy1tYXRlcmlhbC1kZXNpZ246IHRydWUK", "type": "text", }, { "path": "README.md", "data": - "IyB7e3Byb2plY3RfbmFtZS50aXRsZUNhc2UoKX19CgohW2NvdmVyYWdlXVtjb3ZlcmFnZV9iYWRnZV0KWyFbc3R5bGU6IHZlcnkgZ29vZCBhbmFseXNpc11bdmVyeV9nb29kX2FuYWx5c2lzX2JhZGdlXV1bdmVyeV9nb29kX2FuYWx5c2lzX2xpbmtdClshW0xpY2Vuc2U6IE1JVF1bbGljZW5zZV9iYWRnZV1dW2xpY2Vuc2VfbGlua10KCkdlbmVyYXRlZCBieSB0aGUgW1ZlcnkgR29vZCBDTEldW3ZlcnlfZ29vZF9jbGlfbGlua10g8J+klgoKe3t7ZGVzY3JpcHRpb259fX0KCi0tLQoKIyMgR2V0dGluZyBTdGFydGVkIPCfmoAKClRoaXMgcHJvamVjdCBjb250YWlucyAzIGZsYXZvcnM6CgotIGRldmVsb3BtZW50Ci0gc3RhZ2luZwotIHByb2R1Y3Rpb24KClRvIHJ1biB0aGUgZGVzaXJlZCBmbGF2b3IgZWl0aGVyIHVzZSB0aGUgbGF1bmNoIGNvbmZpZ3VyYXRpb24gaW4gVlNDb2RlL0FuZHJvaWQgU3R1ZGlvIG9yIHVzZSB0aGUgZm9sbG93aW5nIGNvbW1hbmRzOgoKYGBgc2gKIyBEZXZlbG9wbWVudAokIGZsdXR0ZXIgcnVuIC0tZmxhdm9yIGRldmVsb3BtZW50IC0tdGFyZ2V0IGxpYi9tYWluX2RldmVsb3BtZW50LmRhcnQKCiMgU3RhZ2luZwokIGZsdXR0ZXIgcnVuIC0tZmxhdm9yIHN0YWdpbmcgLS10YXJnZXQgbGliL21haW5fc3RhZ2luZy5kYXJ0CgojIFByb2R1Y3Rpb24KJCBmbHV0dGVyIHJ1biAtLWZsYXZvciBwcm9kdWN0aW9uIC0tdGFyZ2V0IGxpYi9tYWluX3Byb2R1Y3Rpb24uZGFydApgYGAKCl9cKnt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX0gd29ya3Mgb24gaU9TLCBBbmRyb2lkLCBXZWIsIGFuZCBXaW5kb3dzLl8KCi0tLQoKIyMgUnVubmluZyBUZXN0cyDwn6eqCgpUbyBydW4gYWxsIHVuaXQgYW5kIHdpZGdldCB0ZXN0cyB1c2UgdGhlIGZvbGxvd2luZyBjb21tYW5kOgoKYGBgc2gKJCB2ZXJ5X2dvb2QgdGVzdCAtLWNvdmVyYWdlIC0tdGVzdC1yYW5kb21pemUtb3JkZXJpbmctc2VlZCByYW5kb20KYGBgCgpUbyB2aWV3IHRoZSBnZW5lcmF0ZWQgY292ZXJhZ2UgcmVwb3J0IHlvdSBjYW4gdXNlIFtsY292XShodHRwczovL2dpdGh1Yi5jb20vbGludXgtdGVzdC1wcm9qZWN0L2xjb3YpLgoKYGBgc2gKIyBHZW5lcmF0ZSBDb3ZlcmFnZSBSZXBvcnQKJCBnZW5odG1sIGNvdmVyYWdlL2xjb3YuaW5mbyAtbyBjb3ZlcmFnZS8KCiMgT3BlbiBDb3ZlcmFnZSBSZXBvcnQKJCBvcGVuIGNvdmVyYWdlL2luZGV4Lmh0bWwKYGBgCgotLS0KCiMjIFdvcmtpbmcgd2l0aCBUcmFuc2xhdGlvbnMg8J+MkAoKVGhpcyBwcm9qZWN0IHJlbGllcyBvbiBbZmx1dHRlcl9sb2NhbGl6YXRpb25zXVtmbHV0dGVyX2xvY2FsaXphdGlvbnNfbGlua10gYW5kIGZvbGxvd3MgdGhlIFtvZmZpY2lhbCBpbnRlcm5hdGlvbmFsaXphdGlvbiBndWlkZSBmb3IgRmx1dHRlcl1baW50ZXJuYXRpb25hbGl6YXRpb25fbGlua10uCgojIyMgQWRkaW5nIFN0cmluZ3MKCjEuIFRvIGFkZCBhIG5ldyBsb2NhbGl6YWJsZSBzdHJpbmcsIG9wZW4gdGhlIGBhcHBfZW4uYXJiYCBmaWxlIGF0IGBsaWIvbDEwbi9hcmIvYXBwX2VuLmFyYmAuCgpgYGBhcmIKewogICAgIkBAbG9jYWxlIjogImVuIiwKICAgICJjb3VudGVyQXBwQmFyVGl0bGUiOiAiQ291bnRlciIsCiAgICAiQGNvdW50ZXJBcHBCYXJUaXRsZSI6IHsKICAgICAgICAiZGVzY3JpcHRpb24iOiAiVGV4dCBzaG93biBpbiB0aGUgQXBwQmFyIG9mIHRoZSBDb3VudGVyIFBhZ2UiCiAgICB9Cn0KYGBgCgoyLiBUaGVuIGFkZCBhIG5ldyBrZXkvdmFsdWUgYW5kIGRlc2NyaXB0aW9uCgpgYGBhcmIKewogICAgIkBAbG9jYWxlIjogImVuIiwKICAgICJjb3VudGVyQXBwQmFyVGl0bGUiOiAiQ291bnRlciIsCiAgICAiQGNvdW50ZXJBcHBCYXJUaXRsZSI6IHsKICAgICAgICAiZGVzY3JpcHRpb24iOiAiVGV4dCBzaG93biBpbiB0aGUgQXBwQmFyIG9mIHRoZSBDb3VudGVyIFBhZ2UiCiAgICB9LAogICAgImhlbGxvV29ybGQiOiAiSGVsbG8gV29ybGQiLAogICAgIkBoZWxsb1dvcmxkIjogewogICAgICAgICJkZXNjcmlwdGlvbiI6ICJIZWxsbyBXb3JsZCBUZXh0IgogICAgfQp9CmBgYAoKMy4gVXNlIHRoZSBuZXcgc3RyaW5nCgpgYGBkYXJ0CmltcG9ydCAncGFja2FnZTp7e3Byb2plY3RfbmFtZS5zbmFrZUNhc2UoKX19L2wxMG4vbDEwbi5kYXJ0JzsKCkBvdmVycmlkZQpXaWRnZXQgYnVpbGQoQnVpbGRDb250ZXh0IGNvbnRleHQpIHsKICBmaW5hbCBsMTBuID0gY29udGV4dC5sMTBuOwogIHJldHVybiBUZXh0KGwxMG4uaGVsbG9Xb3JsZCk7Cn0KYGBgCgojIyMgQWRkaW5nIFN1cHBvcnRlZCBMb2NhbGVzCgpVcGRhdGUgdGhlIGBDRkJ1bmRsZUxvY2FsaXphdGlvbnNgIGFycmF5IGluIHRoZSBgSW5mby5wbGlzdGAgYXQgYGlvcy9SdW5uZXIvSW5mby5wbGlzdGAgdG8gaW5jbHVkZSB0aGUgbmV3IGxvY2FsZS4KCmBgYHhtbAogICAgLi4uCgogICAgPGtleT5DRkJ1bmRsZUxvY2FsaXphdGlvbnM8L2tleT4KCTxhcnJheT4KCQk8c3RyaW5nPmVuPC9zdHJpbmc+CgkJPHN0cmluZz5lczwvc3RyaW5nPgoJPC9hcnJheT4KCiAgICAuLi4KYGBgCgojIyMgQWRkaW5nIFRyYW5zbGF0aW9ucwoKMS4gRm9yIGVhY2ggc3VwcG9ydGVkIGxvY2FsZSwgYWRkIGEgbmV3IEFSQiBmaWxlIGluIGBsaWIvbDEwbi9hcmJgLgoKYGBgCuKUnOKUgOKUgCBsMTBuCuKUgiAgIOKUnOKUgOKUgCBhcmIK4pSCICAg4pSCICAg4pSc4pSA4pSAIGFwcF9lbi5hcmIK4pSCICAg4pSCICAg4pSU4pSA4pSAIGFwcF9lcy5hcmIKYGBgCgoyLiBBZGQgdGhlIHRyYW5zbGF0ZWQgc3RyaW5ncyB0byBlYWNoIGAuYXJiYCBmaWxlOgoKYGFwcF9lbi5hcmJgCgpgYGBhcmIKewogICAgIkBAbG9jYWxlIjogImVuIiwKICAgICJjb3VudGVyQXBwQmFyVGl0bGUiOiAiQ291bnRlciIsCiAgICAiQGNvdW50ZXJBcHBCYXJUaXRsZSI6IHsKICAgICAgICAiZGVzY3JpcHRpb24iOiAiVGV4dCBzaG93biBpbiB0aGUgQXBwQmFyIG9mIHRoZSBDb3VudGVyIFBhZ2UiCiAgICB9Cn0KYGBgCgpgYXBwX2VzLmFyYmAKCmBgYGFyYgp7CiAgICAiQEBsb2NhbGUiOiAiZXMiLAogICAgImNvdW50ZXJBcHBCYXJUaXRsZSI6ICJDb250YWRvciIsCiAgICAiQGNvdW50ZXJBcHBCYXJUaXRsZSI6IHsKICAgICAgICAiZGVzY3JpcHRpb24iOiAiVGV4dG8gbW9zdHJhZG8gZW4gbGEgQXBwQmFyIGRlIGxhIHDDoWdpbmEgZGVsIGNvbnRhZG9yIgogICAgfQp9CmBgYAoKIyMjIEdlbmVyYXRpbmcgVHJhbnNsYXRpb25zCgpUbyB1c2UgdGhlIGxhdGVzdCB0cmFuc2xhdGlvbnMgY2hhbmdlcywgeW91IHdpbGwgbmVlZCB0byBnZW5lcmF0ZSB0aGVtOgoKMS4gR2VuZXJhdGUgbG9jYWxpemF0aW9ucyBmb3IgdGhlIGN1cnJlbnQgcHJvamVjdDoKCmBgYHNoCmZsdXR0ZXIgZ2VuLWwxMG4gLS1hcmItZGlyPSJsaWIvbDEwbi9hcmIiCmBgYAoKQWx0ZXJuYXRpdmVseSwgcnVuIGBmbHV0dGVyIHJ1bmAgYW5kIGNvZGUgZ2VuZXJhdGlvbiB3aWxsIHRha2UgcGxhY2UgYXV0b21hdGljYWxseS4KCltjb3ZlcmFnZV9iYWRnZV06IGNvdmVyYWdlX2JhZGdlLnN2ZwpbZmx1dHRlcl9sb2NhbGl6YXRpb25zX2xpbmtdOiBodHRwczovL2FwaS5mbHV0dGVyLmRldi9mbHV0dGVyL2ZsdXR0ZXJfbG9jYWxpemF0aW9ucy9mbHV0dGVyX2xvY2FsaXphdGlvbnMtbGlicmFyeS5odG1sCltpbnRlcm5hdGlvbmFsaXphdGlvbl9saW5rXTogaHR0cHM6Ly9mbHV0dGVyLmRldi9kb2NzL2RldmVsb3BtZW50L2FjY2Vzc2liaWxpdHktYW5kLWxvY2FsaXphdGlvbi9pbnRlcm5hdGlvbmFsaXphdGlvbgpbbGljZW5zZV9iYWRnZV06IGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vYmFkZ2UvbGljZW5zZS1NSVQtYmx1ZS5zdmcKW2xpY2Vuc2VfbGlua106IGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUClt2ZXJ5X2dvb2RfYW5hbHlzaXNfYmFkZ2VdOiBodHRwczovL2ltZy5zaGllbGRzLmlvL2JhZGdlL3N0eWxlLXZlcnlfZ29vZF9hbmFseXNpcy1CMjJDODkuc3ZnClt2ZXJ5X2dvb2RfYW5hbHlzaXNfbGlua106IGh0dHBzOi8vcHViLmRldi9wYWNrYWdlcy92ZXJ5X2dvb2RfYW5hbHlzaXMKW3ZlcnlfZ29vZF9jbGlfbGlua106IGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX2NsaQo=", + "IyB7e3Byb2plY3RfbmFtZS50aXRsZUNhc2UoKX19CgohW2NvdmVyYWdlXVtjb3ZlcmFnZV9iYWRnZV0KWyFbc3R5bGU6IHZlcnkgZ29vZCBhbmFseXNpc11bdmVyeV9nb29kX2FuYWx5c2lzX2JhZGdlXV1bdmVyeV9nb29kX2FuYWx5c2lzX2xpbmtdClshW0xpY2Vuc2U6IE1JVF1bbGljZW5zZV9iYWRnZV1dW2xpY2Vuc2VfbGlua10KCkdlbmVyYXRlZCBieSB0aGUgW1ZlcnkgR29vZCBDTEldW3ZlcnlfZ29vZF9jbGlfbGlua10g8J+klgoKe3t7ZGVzY3JpcHRpb259fX0KCi0tLQoKIyMgR2V0dGluZyBTdGFydGVkIPCfmoAKClRoaXMgcHJvamVjdCBjb250YWlucyAzIGZsYXZvcnM6CgotIGRldmVsb3BtZW50Ci0gc3RhZ2luZwotIHByb2R1Y3Rpb24KClRvIHJ1biB0aGUgZGVzaXJlZCBmbGF2b3IgZWl0aGVyIHVzZSB0aGUgbGF1bmNoIGNvbmZpZ3VyYXRpb24gaW4gVlNDb2RlL0FuZHJvaWQgU3R1ZGlvIG9yIHVzZSB0aGUgZm9sbG93aW5nIGNvbW1hbmRzOgoKYGBgc2gKIyBEZXZlbG9wbWVudAokIGZsdXR0ZXIgcnVuIC0tZmxhdm9yIGRldmVsb3BtZW50IC0tdGFyZ2V0IGxpYi9tYWluX2RldmVsb3BtZW50LmRhcnQKCiMgU3RhZ2luZwokIGZsdXR0ZXIgcnVuIC0tZmxhdm9yIHN0YWdpbmcgLS10YXJnZXQgbGliL21haW5fc3RhZ2luZy5kYXJ0CgojIFByb2R1Y3Rpb24KJCBmbHV0dGVyIHJ1biAtLWZsYXZvciBwcm9kdWN0aW9uIC0tdGFyZ2V0IGxpYi9tYWluX3Byb2R1Y3Rpb24uZGFydApgYGAKCl9cKnt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX0gd29ya3Mgb24gaU9TLCBBbmRyb2lkLCBXZWIsIGFuZCBXaW5kb3dzLl8KCi0tLQoKIyMgUnVubmluZyBUZXN0cyDwn6eqCgpUbyBydW4gYWxsIHVuaXQgYW5kIHdpZGdldCB0ZXN0cyB1c2UgdGhlIGZvbGxvd2luZyBjb21tYW5kOgoKYGBgc2gKJCB2ZXJ5X2dvb2QgdGVzdCAtLWNvdmVyYWdlIC0tdGVzdC1yYW5kb21pemUtb3JkZXJpbmctc2VlZCByYW5kb20KYGBgCgpUbyB2aWV3IHRoZSBnZW5lcmF0ZWQgY292ZXJhZ2UgcmVwb3J0IHlvdSBjYW4gdXNlIFtsY292XShodHRwczovL2dpdGh1Yi5jb20vbGludXgtdGVzdC1wcm9qZWN0L2xjb3YpLgoKYGBgc2gKIyBHZW5lcmF0ZSBDb3ZlcmFnZSBSZXBvcnQKJCBnZW5odG1sIGNvdmVyYWdlL2xjb3YuaW5mbyAtbyBjb3ZlcmFnZS8KCiMgT3BlbiBDb3ZlcmFnZSBSZXBvcnQKJCBvcGVuIGNvdmVyYWdlL2luZGV4Lmh0bWwKYGBgCgotLS0KCiMjIEJsb2MgTGludHMg8J+UjQoKVGhpcyBwcm9qZWN0IHVzZXMgdGhlIFtibG9jX2xpbnRdKGh0dHBzOi8vcHViLmRldi9wYWNrYWdlcy9ibG9jX2xpbnQpIHBhY2thZ2UgdG8gZW5mb3JjZSBiZXN0IHByYWN0aWNlcyB1c2luZyBbYmxvY10oaHR0cHM6Ly9wdWIuZGV2L3BhY2thZ2VzL2Jsb2MpLgoKVG8gdmFsaWRhdGUgbGludGVyIGVycm9ycywgcnVuCgpgYGBiYXNoCmRhcnQgcnVuIGJsb2NfdG9vbHM6YmxvYyBsaW50IC4KYGBgCgpZb3UgY2FuIGFsc28gdmFsaWRhdGUgd2l0aCBWU0NvZGUtYmFzZWQgSURFcyB1c2luZyB0aGUgW29mZmljaWFsIGJsb2MgZXh0ZW5zaW9uXShodHRwczovL21hcmtldHBsYWNlLnZpc3VhbHN0dWRpby5jb20vaXRlbXM/aXRlbU5hbWU9RmVsaXhBbmdlbG92LmJsb2MpLgoKVG8gbGVhcm4gbW9yZSwgdmlzaXQgaHR0cHM6Ly9ibG9jbGlicmFyeS5kZXYvbGludC8KCi0tLQoKIyMgV29ya2luZyB3aXRoIFRyYW5zbGF0aW9ucyDwn4yQCgpUaGlzIHByb2plY3QgcmVsaWVzIG9uIFtmbHV0dGVyX2xvY2FsaXphdGlvbnNdW2ZsdXR0ZXJfbG9jYWxpemF0aW9uc19saW5rXSBhbmQgZm9sbG93cyB0aGUgW29mZmljaWFsIGludGVybmF0aW9uYWxpemF0aW9uIGd1aWRlIGZvciBGbHV0dGVyXVtpbnRlcm5hdGlvbmFsaXphdGlvbl9saW5rXS4KCiMjIyBBZGRpbmcgU3RyaW5ncwoKMS4gVG8gYWRkIGEgbmV3IGxvY2FsaXphYmxlIHN0cmluZywgb3BlbiB0aGUgYGFwcF9lbi5hcmJgIGZpbGUgYXQgYGxpYi9sMTBuL2FyYi9hcHBfZW4uYXJiYC4KCmBgYGFyYgp7CiAgICAiQEBsb2NhbGUiOiAiZW4iLAogICAgImNvdW50ZXJBcHBCYXJUaXRsZSI6ICJDb3VudGVyIiwKICAgICJAY291bnRlckFwcEJhclRpdGxlIjogewogICAgICAgICJkZXNjcmlwdGlvbiI6ICJUZXh0IHNob3duIGluIHRoZSBBcHBCYXIgb2YgdGhlIENvdW50ZXIgUGFnZSIKICAgIH0KfQpgYGAKCjIuIFRoZW4gYWRkIGEgbmV3IGtleS92YWx1ZSBhbmQgZGVzY3JpcHRpb24KCmBgYGFyYgp7CiAgICAiQEBsb2NhbGUiOiAiZW4iLAogICAgImNvdW50ZXJBcHBCYXJUaXRsZSI6ICJDb3VudGVyIiwKICAgICJAY291bnRlckFwcEJhclRpdGxlIjogewogICAgICAgICJkZXNjcmlwdGlvbiI6ICJUZXh0IHNob3duIGluIHRoZSBBcHBCYXIgb2YgdGhlIENvdW50ZXIgUGFnZSIKICAgIH0sCiAgICAiaGVsbG9Xb3JsZCI6ICJIZWxsbyBXb3JsZCIsCiAgICAiQGhlbGxvV29ybGQiOiB7CiAgICAgICAgImRlc2NyaXB0aW9uIjogIkhlbGxvIFdvcmxkIFRleHQiCiAgICB9Cn0KYGBgCgozLiBVc2UgdGhlIG5ldyBzdHJpbmcKCmBgYGRhcnQKaW1wb3J0ICdwYWNrYWdlOnt7cHJvamVjdF9uYW1lLnNuYWtlQ2FzZSgpfX0vbDEwbi9sMTBuLmRhcnQnOwoKQG92ZXJyaWRlCldpZGdldCBidWlsZChCdWlsZENvbnRleHQgY29udGV4dCkgewogIGZpbmFsIGwxMG4gPSBjb250ZXh0LmwxMG47CiAgcmV0dXJuIFRleHQobDEwbi5oZWxsb1dvcmxkKTsKfQpgYGAKCiMjIyBBZGRpbmcgU3VwcG9ydGVkIExvY2FsZXMKClVwZGF0ZSB0aGUgYENGQnVuZGxlTG9jYWxpemF0aW9uc2AgYXJyYXkgaW4gdGhlIGBJbmZvLnBsaXN0YCBhdCBgaW9zL1J1bm5lci9JbmZvLnBsaXN0YCB0byBpbmNsdWRlIHRoZSBuZXcgbG9jYWxlLgoKYGBgeG1sCiAgICAuLi4KCiAgICA8a2V5PkNGQnVuZGxlTG9jYWxpemF0aW9uczwva2V5PgoJPGFycmF5PgoJCTxzdHJpbmc+ZW48L3N0cmluZz4KCQk8c3RyaW5nPmVzPC9zdHJpbmc+Cgk8L2FycmF5PgoKICAgIC4uLgpgYGAKCiMjIyBBZGRpbmcgVHJhbnNsYXRpb25zCgoxLiBGb3IgZWFjaCBzdXBwb3J0ZWQgbG9jYWxlLCBhZGQgYSBuZXcgQVJCIGZpbGUgaW4gYGxpYi9sMTBuL2FyYmAuCgpgYGAK4pSc4pSA4pSAIGwxMG4K4pSCICAg4pSc4pSA4pSAIGFyYgrilIIgICDilIIgICDilJzilIDilIAgYXBwX2VuLmFyYgrilIIgICDilIIgICDilJTilIDilIAgYXBwX2VzLmFyYgpgYGAKCjIuIEFkZCB0aGUgdHJhbnNsYXRlZCBzdHJpbmdzIHRvIGVhY2ggYC5hcmJgIGZpbGU6CgpgYXBwX2VuLmFyYmAKCmBgYGFyYgp7CiAgICAiQEBsb2NhbGUiOiAiZW4iLAogICAgImNvdW50ZXJBcHBCYXJUaXRsZSI6ICJDb3VudGVyIiwKICAgICJAY291bnRlckFwcEJhclRpdGxlIjogewogICAgICAgICJkZXNjcmlwdGlvbiI6ICJUZXh0IHNob3duIGluIHRoZSBBcHBCYXIgb2YgdGhlIENvdW50ZXIgUGFnZSIKICAgIH0KfQpgYGAKCmBhcHBfZXMuYXJiYAoKYGBgYXJiCnsKICAgICJAQGxvY2FsZSI6ICJlcyIsCiAgICAiY291bnRlckFwcEJhclRpdGxlIjogIkNvbnRhZG9yIiwKICAgICJAY291bnRlckFwcEJhclRpdGxlIjogewogICAgICAgICJkZXNjcmlwdGlvbiI6ICJUZXh0byBtb3N0cmFkbyBlbiBsYSBBcHBCYXIgZGUgbGEgcMOhZ2luYSBkZWwgY29udGFkb3IiCiAgICB9Cn0KYGBgCgojIyMgR2VuZXJhdGluZyBUcmFuc2xhdGlvbnMKClRvIHVzZSB0aGUgbGF0ZXN0IHRyYW5zbGF0aW9ucyBjaGFuZ2VzLCB5b3Ugd2lsbCBuZWVkIHRvIGdlbmVyYXRlIHRoZW06CgoxLiBHZW5lcmF0ZSBsb2NhbGl6YXRpb25zIGZvciB0aGUgY3VycmVudCBwcm9qZWN0OgoKYGBgc2gKZmx1dHRlciBnZW4tbDEwbiAtLWFyYi1kaXI9ImxpYi9sMTBuL2FyYiIKYGBgCgpBbHRlcm5hdGl2ZWx5LCBydW4gYGZsdXR0ZXIgcnVuYCBhbmQgY29kZSBnZW5lcmF0aW9uIHdpbGwgdGFrZSBwbGFjZSBhdXRvbWF0aWNhbGx5LgoKW2NvdmVyYWdlX2JhZGdlXTogY292ZXJhZ2VfYmFkZ2Uuc3ZnCltmbHV0dGVyX2xvY2FsaXphdGlvbnNfbGlua106IGh0dHBzOi8vYXBpLmZsdXR0ZXIuZGV2L2ZsdXR0ZXIvZmx1dHRlcl9sb2NhbGl6YXRpb25zL2ZsdXR0ZXJfbG9jYWxpemF0aW9ucy1saWJyYXJ5Lmh0bWwKW2ludGVybmF0aW9uYWxpemF0aW9uX2xpbmtdOiBodHRwczovL2ZsdXR0ZXIuZGV2L2RvY3MvZGV2ZWxvcG1lbnQvYWNjZXNzaWJpbGl0eS1hbmQtbG9jYWxpemF0aW9uL2ludGVybmF0aW9uYWxpemF0aW9uCltsaWNlbnNlX2JhZGdlXTogaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9iYWRnZS9saWNlbnNlLU1JVC1ibHVlLnN2ZwpbbGljZW5zZV9saW5rXTogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQKW3ZlcnlfZ29vZF9hbmFseXNpc19iYWRnZV06IGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vYmFkZ2Uvc3R5bGUtdmVyeV9nb29kX2FuYWx5c2lzLUIyMkM4OS5zdmcKW3ZlcnlfZ29vZF9hbmFseXNpc19saW5rXTogaHR0cHM6Ly9wdWIuZGV2L3BhY2thZ2VzL3ZlcnlfZ29vZF9hbmFseXNpcwpbdmVyeV9nb29kX2NsaV9saW5rXTogaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfY2xpCg==", "type": "text", }, { @@ -1438,7 +1444,7 @@ final veryGoodCoreBundle = MasonBundle.fromJson({ { "path": "lib/src/models/very_good_core_configuration.dart", "data": - "aW1wb3J0ICdwYWNrYWdlOmVxdWF0YWJsZS9lcXVhdGFibGUuZGFydCc7CmltcG9ydCAncGFja2FnZTp2ZXJ5X2dvb2RfY29yZV9ob29rcy92ZXJ5X2dvb2RfY29yZV9ob29rcy5kYXJ0JzsKCi8vLyBUaGUgdmFyaWFibGVzIHNwZWNpZmllZCBieSB0aGlzIGhvb2suCi8vLwovLy8gVGhlIHZhcmlhYmxlcyBjYW4gYmUgZm91bmQgaW4gdGhlIEJyaWNrJ3MgYGJyaWNrLnlhbWxgIGZpbGUuIFRoZXkgYXJlCi8vLyBpbml0aWFsbHkgaW5jbHVkZWQgaW4gdGhlIGBIb29rQ29udGV4dC52YXJzYCBtYXAuCi8vLwovLy8gU2VlIGFsc286Ci8vLwovLy8gKiBbYnJpY2sueWFtbCBkb2N1bWVudGF0aW9uXShodHRwczovL2RvY3MuYnJpY2todWIuZGV2L2JyaWNrLXN0cnVjdHVyZSNicmlja3lhbWwpCmVudW0gX1ZlcnlHb29kQ29yZUNvbmZpZ3VyYXRpb25WYXJpYWJsZXMgewogIC8vLyB7QHRlbXBsYXRlIHZlcnlfZ29vZF9jb3JlX2NvbmZpZ3VyYXRpb25fdmFyaWFibGVzLnByb2plY3RfbmFtZX0KICAvLy8gVGhlIHByb2plY3QgbmFtZS4KICAvLy8KICAvLy8gRGVmYXVsdHMgdG8gYG15X2FwcGAuCiAgLy8vIHtAZW5kdGVtcGxhdGV9CiAgcHJvamVjdE5hbWUuXygncHJvamVjdF9uYW1lJyksCgogIC8vLyB7QHRlbXBsYXRlIHZlcnlfZ29vZF9jb3JlX2NvbmZpZ3VyYXRpb25fdmFyaWFibGVzLm9yZ2FuaXphdGlvbl9uYW1lfQogIC8vLyBUaGUgb3JnYW5pemF0aW9uIG5hbWUuCiAgLy8vCiAgLy8vIERlZmF1bHRzIHRvIGBjb20uZXhhbXBsZWAuCiAgLy8vIHtAZW5kdGVtcGxhdGV9CiAgb3JnYW5pemF0aW9uTmFtZS5fKCdvcmdfbmFtZScpLAoKICAvLy8ge0B0ZW1wbGF0ZSB2ZXJ5X2dvb2RfY29yZV9jb25maWd1cmF0aW9uX3ZhcmlhYmxlcy5hcHBsaWNhdGlvbl9pZH0KICAvLy8gVGhlIGFwcGxpY2F0aW9uIGlkIG9uIEFuZHJvaWQsIEJ1bmRsZSBJRCBvbiBpT1MgYW5kIGNvbXBhbnkgbmFtZSBvbgogIC8vLyBXaW5kb3dzLiBJZiBvbWl0dGVkIHZhbHVlIHdpbGwgYmUgZm9ybWVkIGJ5IG9yZ19uYW1lICsgLiArIHByb2plY3RfbmFtZS4KICAvLy8KICAvLy8gSGFzIG5vIGRlZmF1bHQgc3BlY2lmaWVkIHdpdGhpbiB0aGUgYGJyaWNrLnlhbWxgLgogIC8vLyB7QGVuZHRlbXBsYXRlfQogIGFwcGxpY2F0aW9uSWQuXygnYXBwbGljYXRpb25faWQnKSwKCiAgLy8vIHtAdGVtcGxhdGUgdmVyeV9nb29kX2NvcmVfY29uZmlndXJhdGlvbl92YXJpYWJsZXMuZGVzY3JpcHRpb259CiAgLy8vIEEgc2hvcnQgcHJvamVjdCBkZXNjcmlwdGlvbi4KICAvLy8KICAvLy8gRGVmYXVsdHMgdG8gYEEgVmVyeSBHb29kIEFwcGAuCiAgLy8vIHtAZW5kdGVtcGxhdGV9CiAgZGVzY3JpcHRpb24uXygnZGVzY3JpcHRpb24nKTsKCiAgY29uc3QgX1ZlcnlHb29kQ29yZUNvbmZpZ3VyYXRpb25WYXJpYWJsZXMuXyh0aGlzLmtleSk7CgogIC8vLyBUaGUga2V5IHVzZWQgaW4gdGhlIGBIb29rQ29udGV4dC52YXJzYCBbTWFwXS4KICAvLy8KICAvLy8gVGhpcyBzaG91bGQgbWF0Y2ggdGhlIHZhcmlhYmxlIGtleSBpbiB0aGUgYGJyaWNrLnlhbWxgLgogIGZpbmFsIFN0cmluZyBrZXk7Cn0KCi8vLyB7QHRlbXBsYXRlIHZlcnlfZ29vZF9jb3JlX2NvbmZpZ3VyYXRpb259Ci8vLyBDb25maWd1cmF0aW9uIGZvciB0aGUgYHZlcnlfZ29vZF9jb3JlYCBicmljay4KLy8vIHtAZW5kdGVtcGxhdGV9CmNsYXNzIFZlcnlHb29kQ29yZUNvbmZpZ3VyYXRpb24gZXh0ZW5kcyBFcXVhdGFibGUgewogIC8vLyB7QG1hY3JvIHZlcnlfZ29vZF9jb3JlX2NvbmZpZ3VyYXRpb259CiAgVmVyeUdvb2RDb3JlQ29uZmlndXJhdGlvbih7CiAgICBTdHJpbmc/IHByb2plY3ROYW1lLAogICAgU3RyaW5nPyBvcmdhbml6YXRpb25OYW1lLAogICAgU3RyaW5nPyBkZXNjcmlwdGlvbiwKICAgIFdpbmRvd3NBcHBsaWNhdGlvbklkPyB3aW5kb3dzQXBwbGljYXRpb25JZCwKICAgIEFwcGxlQXBwbGljYXRpb25JZD8gaU9zQXBwbGljYXRpb25JZCwKICAgIEFwcGxlQXBwbGljYXRpb25JZD8gbWFjT3NBcHBsaWNhdGlvbklkLAogICAgQW5kcm9pZEFwcGxpY2F0aW9uSWQ/IGFuZHJvaWRBcHBsaWNhdGlvbklkLAogICAgQW5kcm9pZE5hbWVzcGFjZT8gYW5kcm9pZE5hbWVzcGFjZSwKICB9KSA6IHByb2plY3ROYW1lID0gcHJvamVjdE5hbWUgPz8gJ215X2FwcCcsCiAgICAgICBvcmdhbml6YXRpb25OYW1lID0gb3JnYW5pemF0aW9uTmFtZSA/PyAnY29tLmV4YW1wbGUnLAogICAgICAgZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbiA/PyAnQSBWZXJ5IEdvb2QgQXBwJyB7CiAgICB0aGlzLndpbmRvd3NBcHBsaWNhdGlvbklkID0KICAgICAgICB3aW5kb3dzQXBwbGljYXRpb25JZCA/PwogICAgICAgIFdpbmRvd3NBcHBsaWNhdGlvbklkLmZhbGxiYWNrKAogICAgICAgICAgb3JnYW5pemF0aW9uTmFtZTogdGhpcy5vcmdhbml6YXRpb25OYW1lLAogICAgICAgICAgcHJvamVjdE5hbWU6IHRoaXMucHJvamVjdE5hbWUsCiAgICAgICAgKTsKICAgIHRoaXMuaU9zQXBwbGljYXRpb25JZCA9CiAgICAgICAgaU9zQXBwbGljYXRpb25JZCA/PwogICAgICAgIEFwcGxlQXBwbGljYXRpb25JZC5mYWxsYmFjaygKICAgICAgICAgIG9yZ2FuaXphdGlvbk5hbWU6IHRoaXMub3JnYW5pemF0aW9uTmFtZSwKICAgICAgICAgIHByb2plY3ROYW1lOiB0aGlzLnByb2plY3ROYW1lLAogICAgICAgICk7CiAgICB0aGlzLm1hY09zQXBwbGljYXRpb25JZCA9CiAgICAgICAgbWFjT3NBcHBsaWNhdGlvbklkID8/CiAgICAgICAgQXBwbGVBcHBsaWNhdGlvbklkLmZhbGxiYWNrKAogICAgICAgICAgb3JnYW5pemF0aW9uTmFtZTogdGhpcy5vcmdhbml6YXRpb25OYW1lLAogICAgICAgICAgcHJvamVjdE5hbWU6IHRoaXMucHJvamVjdE5hbWUsCiAgICAgICAgKTsKICAgIHRoaXMuYW5kcm9pZEFwcGxpY2F0aW9uSWQgPQogICAgICAgIGFuZHJvaWRBcHBsaWNhdGlvbklkID8/CiAgICAgICAgQW5kcm9pZEFwcGxpY2F0aW9uSWQuZmFsbGJhY2soCiAgICAgICAgICBvcmdhbml6YXRpb25OYW1lOiB0aGlzLm9yZ2FuaXphdGlvbk5hbWUsCiAgICAgICAgICBwcm9qZWN0TmFtZTogdGhpcy5wcm9qZWN0TmFtZSwKICAgICAgICApOwogICAgaWYgKCF0aGlzLmFuZHJvaWRBcHBsaWNhdGlvbklkLmlzVmFsaWQpIHsKICAgICAgdGhyb3cgSW52YWxpZEFuZHJvaWRBcHBsaWNhdGlvbklkRm9ybWF0KHRoaXMuYW5kcm9pZEFwcGxpY2F0aW9uSWQpOwogICAgfQoKICAgIHRoaXMuYW5kcm9pZE5hbWVzcGFjZSA9CiAgICAgICAgYW5kcm9pZE5hbWVzcGFjZSA/PwogICAgICAgIEFuZHJvaWROYW1lc3BhY2UuZnJvbUFwcGxpY2F0aW9uSWQodGhpcy5hbmRyb2lkQXBwbGljYXRpb25JZCk7CiAgfQoKICAvLy8gRGVzZXJpYWxpemVzIGEgW1ZlcnlHb29kQ29yZUNvbmZpZ3VyYXRpb25dIGZyb20gYSBgTWFwPFN0cmluZywgZHluYW1pYz5gCiAgLy8vIHVzZWQgdG8gcmVwcmVzZW50IHRoZSBjb25maWd1cmF0aW9uIGluIHRoZSBgSG9va0NvbnRleHQudmFyc2AgbWFwLgogIGZhY3RvcnkgVmVyeUdvb2RDb3JlQ29uZmlndXJhdGlvbi5mcm9tSG9va1ZhcnMoTWFwPFN0cmluZywgZHluYW1pYz4gdmFycykgewogICAgZmluYWwgcHJvamVjdE5hbWUgPQogICAgICAgIHZhcnNbX1ZlcnlHb29kQ29yZUNvbmZpZ3VyYXRpb25WYXJpYWJsZXMucHJvamVjdE5hbWUua2V5XTsKICAgIGlmIChwcm9qZWN0TmFtZSBpcyEgU3RyaW5nPykgewogICAgICB0aHJvdyBBcmd1bWVudEVycm9yLnZhbHVlKAogICAgICAgIHZhcnMsCiAgICAgICAgJ3ZhcnMnLAogICAgICAgICcnJ0V4cGVjdGVkIGEgdmFsdWUgZm9yIGtleSAiJHtfVmVyeUdvb2RDb3JlQ29uZmlndXJhdGlvblZhcmlhYmxlcy5wcm9qZWN0TmFtZS5rZXl9IiB0byBiZSBvZiB0eXBlIFN0cmluZz8sIGdvdCAkcHJvamVjdE5hbWUuJycnLAogICAgICApOwogICAgfQoKICAgIGZpbmFsIG9yZ2FuaXphdGlvbk5hbWUgPQogICAgICAgIHZhcnNbX1ZlcnlHb29kQ29yZUNvbmZpZ3VyYXRpb25WYXJpYWJsZXMub3JnYW5pemF0aW9uTmFtZS5rZXldOwogICAgaWYgKG9yZ2FuaXphdGlvbk5hbWUgaXMhIFN0cmluZz8pIHsKICAgICAgdGhyb3cgQXJndW1lbnRFcnJvci52YWx1ZSgKICAgICAgICB2YXJzLAogICAgICAgICd2YXJzJywKICAgICAgICAnJydFeHBlY3RlZCBhIHZhbHVlIGZvciBrZXkgIiR7X1ZlcnlHb29kQ29yZUNvbmZpZ3VyYXRpb25WYXJpYWJsZXMub3JnYW5pemF0aW9uTmFtZS5rZXl9IiB0byBiZSBvZiB0eXBlIFN0cmluZz8sIGdvdCAkb3JnYW5pemF0aW9uTmFtZS4nJycsCiAgICAgICk7CiAgICB9CgogICAgZmluYWwgYXBwbGljYXRpb25JZCA9CiAgICAgICAgdmFyc1tfVmVyeUdvb2RDb3JlQ29uZmlndXJhdGlvblZhcmlhYmxlcy5hcHBsaWNhdGlvbklkLmtleV07CiAgICBpZiAoYXBwbGljYXRpb25JZCBpcyEgU3RyaW5nPykgewogICAgICB0aHJvdyBBcmd1bWVudEVycm9yLnZhbHVlKAogICAgICAgIHZhcnMsCiAgICAgICAgJ3ZhcnMnLAogICAgICAgICcnJ0V4cGVjdGVkIGEgdmFsdWUgZm9yIGtleSAiJHtfVmVyeUdvb2RDb3JlQ29uZmlndXJhdGlvblZhcmlhYmxlcy5hcHBsaWNhdGlvbklkLmtleX0iIHRvIGJlIG9mIHR5cGUgU3RyaW5nPywgZ290ICRhcHBsaWNhdGlvbklkLicnJywKICAgICAgKTsKICAgIH0KCiAgICBmaW5hbCBkZXNjcmlwdGlvbiA9CiAgICAgICAgdmFyc1tfVmVyeUdvb2RDb3JlQ29uZmlndXJhdGlvblZhcmlhYmxlcy5kZXNjcmlwdGlvbi5rZXldOwogICAgaWYgKGRlc2NyaXB0aW9uIGlzISBTdHJpbmc/KSB7CiAgICAgIHRocm93IEFyZ3VtZW50RXJyb3IudmFsdWUoCiAgICAgICAgdmFycywKICAgICAgICAndmFycycsCiAgICAgICAgJycnRXhwZWN0ZWQgYSB2YWx1ZSBmb3Iga2V5ICIke19WZXJ5R29vZENvcmVDb25maWd1cmF0aW9uVmFyaWFibGVzLmRlc2NyaXB0aW9uLmtleX0iIHRvIGJlIG9mIHR5cGUgU3RyaW5nPywgZ290ICRkZXNjcmlwdGlvbi4nJycsCiAgICAgICk7CiAgICB9CgogICAgcmV0dXJuIFZlcnlHb29kQ29yZUNvbmZpZ3VyYXRpb24oCiAgICAgIHByb2plY3ROYW1lOiBwcm9qZWN0TmFtZSwKICAgICAgb3JnYW5pemF0aW9uTmFtZTogb3JnYW5pemF0aW9uTmFtZSwKICAgICAgaU9zQXBwbGljYXRpb25JZDogYXBwbGljYXRpb25JZCA9PSBudWxsIHx8IGFwcGxpY2F0aW9uSWQuaXNFbXB0eQogICAgICAgICAgPyBudWxsCiAgICAgICAgICA6IEFwcGxlQXBwbGljYXRpb25JZChhcHBsaWNhdGlvbklkKSwKICAgICAgbWFjT3NBcHBsaWNhdGlvbklkOiBhcHBsaWNhdGlvbklkID09IG51bGwgfHwgYXBwbGljYXRpb25JZC5pc0VtcHR5CiAgICAgICAgICA/IG51bGwKICAgICAgICAgIDogQXBwbGVBcHBsaWNhdGlvbklkKGFwcGxpY2F0aW9uSWQpLAogICAgICB3aW5kb3dzQXBwbGljYXRpb25JZDogYXBwbGljYXRpb25JZCA9PSBudWxsIHx8IGFwcGxpY2F0aW9uSWQuaXNFbXB0eQogICAgICAgICAgPyBudWxsCiAgICAgICAgICA6IFdpbmRvd3NBcHBsaWNhdGlvbklkKGFwcGxpY2F0aW9uSWQpLAogICAgICBhbmRyb2lkQXBwbGljYXRpb25JZDogYXBwbGljYXRpb25JZCA9PSBudWxsIHx8IGFwcGxpY2F0aW9uSWQuaXNFbXB0eQogICAgICAgICAgPyBudWxsCiAgICAgICAgICA6IEFuZHJvaWRBcHBsaWNhdGlvbklkKGFwcGxpY2F0aW9uSWQpLAogICAgICBkZXNjcmlwdGlvbjogZGVzY3JpcHRpb24sCiAgICApOwogIH0KCiAgLy8vIHtAbWFjcm8gdmVyeV9nb29kX2NvcmVfY29uZmlndXJhdGlvbl92YXJpYWJsZXMucHJvamVjdF9uYW1lfQogIGZpbmFsIFN0cmluZyBwcm9qZWN0TmFtZTsKCiAgLy8vIHtAbWFjcm8gdmVyeV9nb29kX2NvcmVfY29uZmlndXJhdGlvbl92YXJpYWJsZXMub3JnYW5pemF0aW9uX25hbWV9CiAgZmluYWwgU3RyaW5nIG9yZ2FuaXphdGlvbk5hbWU7CgogIC8vLyB7QG1hY3JvIHZlcnlfZ29vZF9jb3JlX2NvbmZpZ3VyYXRpb25fdmFyaWFibGVzLmRlc2NyaXB0aW9ufQogIGZpbmFsIFN0cmluZyBkZXNjcmlwdGlvbjsKCiAgLy8vIHtAbWFjcm8gd2luZG93c19hcHBsaWNhdGlvbl9pZH0KICBsYXRlIGZpbmFsIFdpbmRvd3NBcHBsaWNhdGlvbklkIHdpbmRvd3NBcHBsaWNhdGlvbklkOwoKICAvLy8ge0BtYWNybyBhcHBsZV9hcHBsaWNhdGlvbl9pZH0KICBsYXRlIGZpbmFsIEFwcGxlQXBwbGljYXRpb25JZCBpT3NBcHBsaWNhdGlvbklkOwoKICAvLy8ge0BtYWNybyBhcHBsZV9hcHBsaWNhdGlvbl9pZH0KICBsYXRlIGZpbmFsIEFwcGxlQXBwbGljYXRpb25JZCBtYWNPc0FwcGxpY2F0aW9uSWQ7CgogIC8vLyB7QG1hY3JvIGFuZHJvaWRfbmFtZXNwYWNlfQogIGxhdGUgZmluYWwgQW5kcm9pZE5hbWVzcGFjZSBhbmRyb2lkTmFtZXNwYWNlOwoKICAvLy8ge0BtYWNybyBhbmRyb2lkX2FwcGxpY2F0aW9uX2lkfQogIGxhdGUgZmluYWwgQW5kcm9pZEFwcGxpY2F0aW9uSWQgYW5kcm9pZEFwcGxpY2F0aW9uSWQ7CgogIEBvdmVycmlkZQogIExpc3Q8T2JqZWN0Pz4gZ2V0IHByb3BzID0+IFsKICAgIHByb2plY3ROYW1lLAogICAgb3JnYW5pemF0aW9uTmFtZSwKICAgIGRlc2NyaXB0aW9uLAogICAgd2luZG93c0FwcGxpY2F0aW9uSWQsCiAgICBpT3NBcHBsaWNhdGlvbklkLAogICAgbWFjT3NBcHBsaWNhdGlvbklkLAogICAgYW5kcm9pZE5hbWVzcGFjZSwKICAgIGFuZHJvaWRBcHBsaWNhdGlvbklkLAogIF07Cn0K", + "aW1wb3J0ICdwYWNrYWdlOmVxdWF0YWJsZS9lcXVhdGFibGUuZGFydCc7CmltcG9ydCAncGFja2FnZTp2ZXJ5X2dvb2RfY29yZV9ob29rcy92ZXJ5X2dvb2RfY29yZV9ob29rcy5kYXJ0JzsKCi8vLyBUaGUgdmFyaWFibGVzIHNwZWNpZmllZCBieSB0aGlzIGhvb2suCi8vLwovLy8gVGhlIHZhcmlhYmxlcyBjYW4gYmUgZm91bmQgaW4gdGhlIEJyaWNrJ3MgYGJyaWNrLnlhbWxgIGZpbGUuIFRoZXkgYXJlCi8vLyBpbml0aWFsbHkgaW5jbHVkZWQgaW4gdGhlIGBIb29rQ29udGV4dC52YXJzYCBtYXAuCi8vLwovLy8gU2VlIGFsc286Ci8vLwovLy8gKiBbYnJpY2sueWFtbCBkb2N1bWVudGF0aW9uXShodHRwczovL2RvY3MuYnJpY2todWIuZGV2L2JyaWNrLXN0cnVjdHVyZSNicmlja3lhbWwpCmVudW0gX1ZlcnlHb29kQ29yZUNvbmZpZ3VyYXRpb25WYXJpYWJsZXMgewogIC8vLyB7QHRlbXBsYXRlIHZlcnlfZ29vZF9jb3JlX2NvbmZpZ3VyYXRpb25fdmFyaWFibGVzLnByb2plY3RfbmFtZX0KICAvLy8gVGhlIHByb2plY3QgbmFtZS4KICAvLy8KICAvLy8gRGVmYXVsdHMgdG8gYG15X2FwcGAuCiAgLy8vIHtAZW5kdGVtcGxhdGV9CiAgcHJvamVjdE5hbWUuXygncHJvamVjdF9uYW1lJyksCgogIC8vLyB7QHRlbXBsYXRlIHZlcnlfZ29vZF9jb3JlX2NvbmZpZ3VyYXRpb25fdmFyaWFibGVzLm9yZ2FuaXphdGlvbl9uYW1lfQogIC8vLyBUaGUgb3JnYW5pemF0aW9uIG5hbWUuCiAgLy8vCiAgLy8vIERlZmF1bHRzIHRvIGBjb20uZXhhbXBsZWAuCiAgLy8vIHtAZW5kdGVtcGxhdGV9CiAgb3JnYW5pemF0aW9uTmFtZS5fKCdvcmdfbmFtZScpLAoKICAvLy8ge0B0ZW1wbGF0ZSB2ZXJ5X2dvb2RfY29yZV9jb25maWd1cmF0aW9uX3ZhcmlhYmxlcy5hcHBsaWNhdGlvbl9pZH0KICAvLy8gVGhlIGFwcGxpY2F0aW9uIGlkIG9uIEFuZHJvaWQsIEJ1bmRsZSBJRCBvbiBpT1MgYW5kIGNvbXBhbnkgbmFtZSBvbgogIC8vLyBXaW5kb3dzLiBJZiBvbWl0dGVkIHZhbHVlIHdpbGwgYmUgZm9ybWVkIGJ5IG9yZ19uYW1lICsgLiArIHByb2plY3RfbmFtZS4KICAvLy8KICAvLy8gSGFzIG5vIGRlZmF1bHQgc3BlY2lmaWVkIHdpdGhpbiB0aGUgYGJyaWNrLnlhbWxgLgogIC8vLyB7QGVuZHRlbXBsYXRlfQogIGFwcGxpY2F0aW9uSWQuXygnYXBwbGljYXRpb25faWQnKSwKCiAgLy8vIHtAdGVtcGxhdGUgdmVyeV9nb29kX2NvcmVfY29uZmlndXJhdGlvbl92YXJpYWJsZXMuZGVzY3JpcHRpb259CiAgLy8vIEEgc2hvcnQgcHJvamVjdCBkZXNjcmlwdGlvbi4KICAvLy8KICAvLy8gRGVmYXVsdHMgdG8gYEEgVmVyeSBHb29kIEFwcGAuCiAgLy8vIHtAZW5kdGVtcGxhdGV9CiAgZGVzY3JpcHRpb24uXygnZGVzY3JpcHRpb24nKQogIDsKCiAgY29uc3QgX1ZlcnlHb29kQ29yZUNvbmZpZ3VyYXRpb25WYXJpYWJsZXMuXyh0aGlzLmtleSk7CgogIC8vLyBUaGUga2V5IHVzZWQgaW4gdGhlIGBIb29rQ29udGV4dC52YXJzYCBbTWFwXS4KICAvLy8KICAvLy8gVGhpcyBzaG91bGQgbWF0Y2ggdGhlIHZhcmlhYmxlIGtleSBpbiB0aGUgYGJyaWNrLnlhbWxgLgogIGZpbmFsIFN0cmluZyBrZXk7Cn0KCi8vLyB7QHRlbXBsYXRlIHZlcnlfZ29vZF9jb3JlX2NvbmZpZ3VyYXRpb259Ci8vLyBDb25maWd1cmF0aW9uIGZvciB0aGUgYHZlcnlfZ29vZF9jb3JlYCBicmljay4KLy8vIHtAZW5kdGVtcGxhdGV9CmNsYXNzIFZlcnlHb29kQ29yZUNvbmZpZ3VyYXRpb24gZXh0ZW5kcyBFcXVhdGFibGUgewogIC8vLyB7QG1hY3JvIHZlcnlfZ29vZF9jb3JlX2NvbmZpZ3VyYXRpb259CiAgVmVyeUdvb2RDb3JlQ29uZmlndXJhdGlvbih7CiAgICBTdHJpbmc/IHByb2plY3ROYW1lLAogICAgU3RyaW5nPyBvcmdhbml6YXRpb25OYW1lLAogICAgU3RyaW5nPyBkZXNjcmlwdGlvbiwKICAgIFdpbmRvd3NBcHBsaWNhdGlvbklkPyB3aW5kb3dzQXBwbGljYXRpb25JZCwKICAgIEFwcGxlQXBwbGljYXRpb25JZD8gaU9zQXBwbGljYXRpb25JZCwKICAgIEFwcGxlQXBwbGljYXRpb25JZD8gbWFjT3NBcHBsaWNhdGlvbklkLAogICAgQW5kcm9pZEFwcGxpY2F0aW9uSWQ/IGFuZHJvaWRBcHBsaWNhdGlvbklkLAogICAgQW5kcm9pZE5hbWVzcGFjZT8gYW5kcm9pZE5hbWVzcGFjZSwKICB9KSA6IHByb2plY3ROYW1lID0gcHJvamVjdE5hbWUgPz8gJ215X2FwcCcsCiAgICAgICBvcmdhbml6YXRpb25OYW1lID0gb3JnYW5pemF0aW9uTmFtZSA/PyAnY29tLmV4YW1wbGUnLAogICAgICAgZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbiA/PyAnQSBWZXJ5IEdvb2QgQXBwJyB7CiAgICB0aGlzLndpbmRvd3NBcHBsaWNhdGlvbklkID0KICAgICAgICB3aW5kb3dzQXBwbGljYXRpb25JZCA/PwogICAgICAgIFdpbmRvd3NBcHBsaWNhdGlvbklkLmZhbGxiYWNrKAogICAgICAgICAgb3JnYW5pemF0aW9uTmFtZTogdGhpcy5vcmdhbml6YXRpb25OYW1lLAogICAgICAgICAgcHJvamVjdE5hbWU6IHRoaXMucHJvamVjdE5hbWUsCiAgICAgICAgKTsKICAgIHRoaXMuaU9zQXBwbGljYXRpb25JZCA9CiAgICAgICAgaU9zQXBwbGljYXRpb25JZCA/PwogICAgICAgIEFwcGxlQXBwbGljYXRpb25JZC5mYWxsYmFjaygKICAgICAgICAgIG9yZ2FuaXphdGlvbk5hbWU6IHRoaXMub3JnYW5pemF0aW9uTmFtZSwKICAgICAgICAgIHByb2plY3ROYW1lOiB0aGlzLnByb2plY3ROYW1lLAogICAgICAgICk7CiAgICB0aGlzLm1hY09zQXBwbGljYXRpb25JZCA9CiAgICAgICAgbWFjT3NBcHBsaWNhdGlvbklkID8/CiAgICAgICAgQXBwbGVBcHBsaWNhdGlvbklkLmZhbGxiYWNrKAogICAgICAgICAgb3JnYW5pemF0aW9uTmFtZTogdGhpcy5vcmdhbml6YXRpb25OYW1lLAogICAgICAgICAgcHJvamVjdE5hbWU6IHRoaXMucHJvamVjdE5hbWUsCiAgICAgICAgKTsKICAgIHRoaXMuYW5kcm9pZEFwcGxpY2F0aW9uSWQgPQogICAgICAgIGFuZHJvaWRBcHBsaWNhdGlvbklkID8/CiAgICAgICAgQW5kcm9pZEFwcGxpY2F0aW9uSWQuZmFsbGJhY2soCiAgICAgICAgICBvcmdhbml6YXRpb25OYW1lOiB0aGlzLm9yZ2FuaXphdGlvbk5hbWUsCiAgICAgICAgICBwcm9qZWN0TmFtZTogdGhpcy5wcm9qZWN0TmFtZSwKICAgICAgICApOwogICAgaWYgKCF0aGlzLmFuZHJvaWRBcHBsaWNhdGlvbklkLmlzVmFsaWQpIHsKICAgICAgdGhyb3cgSW52YWxpZEFuZHJvaWRBcHBsaWNhdGlvbklkRm9ybWF0KHRoaXMuYW5kcm9pZEFwcGxpY2F0aW9uSWQpOwogICAgfQoKICAgIHRoaXMuYW5kcm9pZE5hbWVzcGFjZSA9CiAgICAgICAgYW5kcm9pZE5hbWVzcGFjZSA/PwogICAgICAgIEFuZHJvaWROYW1lc3BhY2UuZnJvbUFwcGxpY2F0aW9uSWQodGhpcy5hbmRyb2lkQXBwbGljYXRpb25JZCk7CiAgfQoKICAvLy8gRGVzZXJpYWxpemVzIGEgW1ZlcnlHb29kQ29yZUNvbmZpZ3VyYXRpb25dIGZyb20gYSBgTWFwPFN0cmluZywgZHluYW1pYz5gCiAgLy8vIHVzZWQgdG8gcmVwcmVzZW50IHRoZSBjb25maWd1cmF0aW9uIGluIHRoZSBgSG9va0NvbnRleHQudmFyc2AgbWFwLgogIGZhY3RvcnkgVmVyeUdvb2RDb3JlQ29uZmlndXJhdGlvbi5mcm9tSG9va1ZhcnMoTWFwPFN0cmluZywgZHluYW1pYz4gdmFycykgewogICAgZmluYWwgcHJvamVjdE5hbWUgPQogICAgICAgIHZhcnNbX1ZlcnlHb29kQ29yZUNvbmZpZ3VyYXRpb25WYXJpYWJsZXMucHJvamVjdE5hbWUua2V5XTsKICAgIGlmIChwcm9qZWN0TmFtZSBpcyEgU3RyaW5nPykgewogICAgICB0aHJvdyBBcmd1bWVudEVycm9yLnZhbHVlKAogICAgICAgIHZhcnMsCiAgICAgICAgJ3ZhcnMnLAogICAgICAgICcnJ0V4cGVjdGVkIGEgdmFsdWUgZm9yIGtleSAiJHtfVmVyeUdvb2RDb3JlQ29uZmlndXJhdGlvblZhcmlhYmxlcy5wcm9qZWN0TmFtZS5rZXl9IiB0byBiZSBvZiB0eXBlIFN0cmluZz8sIGdvdCAkcHJvamVjdE5hbWUuJycnLAogICAgICApOwogICAgfQoKICAgIGZpbmFsIG9yZ2FuaXphdGlvbk5hbWUgPQogICAgICAgIHZhcnNbX1ZlcnlHb29kQ29yZUNvbmZpZ3VyYXRpb25WYXJpYWJsZXMub3JnYW5pemF0aW9uTmFtZS5rZXldOwogICAgaWYgKG9yZ2FuaXphdGlvbk5hbWUgaXMhIFN0cmluZz8pIHsKICAgICAgdGhyb3cgQXJndW1lbnRFcnJvci52YWx1ZSgKICAgICAgICB2YXJzLAogICAgICAgICd2YXJzJywKICAgICAgICAnJydFeHBlY3RlZCBhIHZhbHVlIGZvciBrZXkgIiR7X1ZlcnlHb29kQ29yZUNvbmZpZ3VyYXRpb25WYXJpYWJsZXMub3JnYW5pemF0aW9uTmFtZS5rZXl9IiB0byBiZSBvZiB0eXBlIFN0cmluZz8sIGdvdCAkb3JnYW5pemF0aW9uTmFtZS4nJycsCiAgICAgICk7CiAgICB9CgogICAgZmluYWwgYXBwbGljYXRpb25JZCA9CiAgICAgICAgdmFyc1tfVmVyeUdvb2RDb3JlQ29uZmlndXJhdGlvblZhcmlhYmxlcy5hcHBsaWNhdGlvbklkLmtleV07CiAgICBpZiAoYXBwbGljYXRpb25JZCBpcyEgU3RyaW5nPykgewogICAgICB0aHJvdyBBcmd1bWVudEVycm9yLnZhbHVlKAogICAgICAgIHZhcnMsCiAgICAgICAgJ3ZhcnMnLAogICAgICAgICcnJ0V4cGVjdGVkIGEgdmFsdWUgZm9yIGtleSAiJHtfVmVyeUdvb2RDb3JlQ29uZmlndXJhdGlvblZhcmlhYmxlcy5hcHBsaWNhdGlvbklkLmtleX0iIHRvIGJlIG9mIHR5cGUgU3RyaW5nPywgZ290ICRhcHBsaWNhdGlvbklkLicnJywKICAgICAgKTsKICAgIH0KCiAgICBmaW5hbCBkZXNjcmlwdGlvbiA9CiAgICAgICAgdmFyc1tfVmVyeUdvb2RDb3JlQ29uZmlndXJhdGlvblZhcmlhYmxlcy5kZXNjcmlwdGlvbi5rZXldOwogICAgaWYgKGRlc2NyaXB0aW9uIGlzISBTdHJpbmc/KSB7CiAgICAgIHRocm93IEFyZ3VtZW50RXJyb3IudmFsdWUoCiAgICAgICAgdmFycywKICAgICAgICAndmFycycsCiAgICAgICAgJycnRXhwZWN0ZWQgYSB2YWx1ZSBmb3Iga2V5ICIke19WZXJ5R29vZENvcmVDb25maWd1cmF0aW9uVmFyaWFibGVzLmRlc2NyaXB0aW9uLmtleX0iIHRvIGJlIG9mIHR5cGUgU3RyaW5nPywgZ290ICRkZXNjcmlwdGlvbi4nJycsCiAgICAgICk7CiAgICB9CgogICAgcmV0dXJuIFZlcnlHb29kQ29yZUNvbmZpZ3VyYXRpb24oCiAgICAgIHByb2plY3ROYW1lOiBwcm9qZWN0TmFtZSwKICAgICAgb3JnYW5pemF0aW9uTmFtZTogb3JnYW5pemF0aW9uTmFtZSwKICAgICAgaU9zQXBwbGljYXRpb25JZDogYXBwbGljYXRpb25JZCA9PSBudWxsIHx8IGFwcGxpY2F0aW9uSWQuaXNFbXB0eQogICAgICAgICAgPyBudWxsCiAgICAgICAgICA6IEFwcGxlQXBwbGljYXRpb25JZChhcHBsaWNhdGlvbklkKSwKICAgICAgbWFjT3NBcHBsaWNhdGlvbklkOiBhcHBsaWNhdGlvbklkID09IG51bGwgfHwgYXBwbGljYXRpb25JZC5pc0VtcHR5CiAgICAgICAgICA/IG51bGwKICAgICAgICAgIDogQXBwbGVBcHBsaWNhdGlvbklkKGFwcGxpY2F0aW9uSWQpLAogICAgICB3aW5kb3dzQXBwbGljYXRpb25JZDogYXBwbGljYXRpb25JZCA9PSBudWxsIHx8IGFwcGxpY2F0aW9uSWQuaXNFbXB0eQogICAgICAgICAgPyBudWxsCiAgICAgICAgICA6IFdpbmRvd3NBcHBsaWNhdGlvbklkKGFwcGxpY2F0aW9uSWQpLAogICAgICBhbmRyb2lkQXBwbGljYXRpb25JZDogYXBwbGljYXRpb25JZCA9PSBudWxsIHx8IGFwcGxpY2F0aW9uSWQuaXNFbXB0eQogICAgICAgICAgPyBudWxsCiAgICAgICAgICA6IEFuZHJvaWRBcHBsaWNhdGlvbklkKGFwcGxpY2F0aW9uSWQpLAogICAgICBkZXNjcmlwdGlvbjogZGVzY3JpcHRpb24sCiAgICApOwogIH0KCiAgLy8vIHtAbWFjcm8gdmVyeV9nb29kX2NvcmVfY29uZmlndXJhdGlvbl92YXJpYWJsZXMucHJvamVjdF9uYW1lfQogIGZpbmFsIFN0cmluZyBwcm9qZWN0TmFtZTsKCiAgLy8vIHtAbWFjcm8gdmVyeV9nb29kX2NvcmVfY29uZmlndXJhdGlvbl92YXJpYWJsZXMub3JnYW5pemF0aW9uX25hbWV9CiAgZmluYWwgU3RyaW5nIG9yZ2FuaXphdGlvbk5hbWU7CgogIC8vLyB7QG1hY3JvIHZlcnlfZ29vZF9jb3JlX2NvbmZpZ3VyYXRpb25fdmFyaWFibGVzLmRlc2NyaXB0aW9ufQogIGZpbmFsIFN0cmluZyBkZXNjcmlwdGlvbjsKCiAgLy8vIHtAbWFjcm8gd2luZG93c19hcHBsaWNhdGlvbl9pZH0KICBsYXRlIGZpbmFsIFdpbmRvd3NBcHBsaWNhdGlvbklkIHdpbmRvd3NBcHBsaWNhdGlvbklkOwoKICAvLy8ge0BtYWNybyBhcHBsZV9hcHBsaWNhdGlvbl9pZH0KICBsYXRlIGZpbmFsIEFwcGxlQXBwbGljYXRpb25JZCBpT3NBcHBsaWNhdGlvbklkOwoKICAvLy8ge0BtYWNybyBhcHBsZV9hcHBsaWNhdGlvbl9pZH0KICBsYXRlIGZpbmFsIEFwcGxlQXBwbGljYXRpb25JZCBtYWNPc0FwcGxpY2F0aW9uSWQ7CgogIC8vLyB7QG1hY3JvIGFuZHJvaWRfbmFtZXNwYWNlfQogIGxhdGUgZmluYWwgQW5kcm9pZE5hbWVzcGFjZSBhbmRyb2lkTmFtZXNwYWNlOwoKICAvLy8ge0BtYWNybyBhbmRyb2lkX2FwcGxpY2F0aW9uX2lkfQogIGxhdGUgZmluYWwgQW5kcm9pZEFwcGxpY2F0aW9uSWQgYW5kcm9pZEFwcGxpY2F0aW9uSWQ7CgogIEBvdmVycmlkZQogIExpc3Q8T2JqZWN0Pz4gZ2V0IHByb3BzID0+IFsKICAgIHByb2plY3ROYW1lLAogICAgb3JnYW5pemF0aW9uTmFtZSwKICAgIGRlc2NyaXB0aW9uLAogICAgd2luZG93c0FwcGxpY2F0aW9uSWQsCiAgICBpT3NBcHBsaWNhdGlvbklkLAogICAgbWFjT3NBcHBsaWNhdGlvbklkLAogICAgYW5kcm9pZE5hbWVzcGFjZSwKICAgIGFuZHJvaWRBcHBsaWNhdGlvbklkLAogIF07Cn0K", "type": "text", }, { @@ -1461,7 +1467,7 @@ final veryGoodCoreBundle = MasonBundle.fromJson({ { "path": "pubspec.yaml", "data": - "bmFtZTogdmVyeV9nb29kX2NvcmVfaG9va3MKCmVudmlyb25tZW50OgogIHNkazogXjMuOS4wCgpkZXBlbmRlbmNpZXM6CiAgY2xvY2s6IF4xLjEuMQogIGVxdWF0YWJsZTogXjIuMC41CiAgbWFzb246IF4wLjEuMAoKZGV2X2RlcGVuZGVuY2llczoKICBtb2NrdGFpbDogXjEuMC4zCiAgdGVzdDogXjEuMjUuMgogIHZlcnlfZ29vZF9hbmFseXNpczogXjEwLjAuMAo=", + "bmFtZTogdmVyeV9nb29kX2NvcmVfaG9va3MKCmVudmlyb25tZW50OgogIHNkazogXjMuMTAuMAoKZGVwZW5kZW5jaWVzOgogIGNsb2NrOiBeMS4xLjEKICBlcXVhdGFibGU6IF4yLjAuNQogIG1hc29uOiBeMC4xLjAKCmRldl9kZXBlbmRlbmNpZXM6CiAgbW9ja3RhaWw6IF4xLjAuMwogIHRlc3Q6ICI+PTEuMjUuMiA8MS4yNy4wIgogIHZlcnlfZ29vZF9hbmFseXNpczogXjEwLjAuMAo=", "type": "text", }, { @@ -1510,7 +1516,7 @@ final veryGoodCoreBundle = MasonBundle.fromJson({ "changelog": { "path": "CHANGELOG.md", "data": - "IyMgWzEuMC4xXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tcGFyZS92ZXJ5X2dvb2RfY29yZS12MS4wLjAuLi52ZXJ5X2dvb2RfY29yZS12MS4wLjEpICgyMDI1LTA4LTE4KQoKCiMjIyBCdWcgRml4ZXMKCiogR3VhcmFudGVlIDEwMCUgY292ZXJhZ2Ugb24gY29yZSBhcHAgKFsjMzM0XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvaXNzdWVzLzMzNCkpIChbNjk3MGZhNV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2NvbW1pdC82OTcwZmE1NWZlYWYyOTEyYzAxYjY0ZmVhNTYwOTMzNzg0ZmRjMzk2KSkKCgojIyMgTWlzY2VsbGFuZW91cyBDaG9yZXMKCiogYXV0b21hdGUgcmVsZWFzZXMgKFsjMzE5XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvaXNzdWVzLzMxOSkpIChbMTdmYjNhNV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2NvbW1pdC8xN2ZiM2E1Yzc0MmE0MmU3ZmZmNzBiMjY5ZGVlYTk2MWU0YTE1YjRmKSkKCiMjIFsxLjEuMl0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2NvbXBhcmUvdmVyeV9nb29kX2NvcmUtdjEuMS4xLi4udmVyeV9nb29kX2NvcmUtdjEuMS4yKSAoMjAyNS0xMC0wMSkKCgojIyMgQnVnIEZpeGVzCgoqICoqdmVyeV9nb29kX2NvcmU6KiogdGVzdGluZyBjb3ZlcmFnZSAoWyMzNjldKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9pc3N1ZXMvMzY5KSkgKFtlOWQ1ZjY4XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tbWl0L2U5ZDVmNjg5NTUyMjZhMmM1ODQyMDcxY2U4YTUxOWY2OTM3MWJiMzUpKQoKIyMgWzEuMS4xXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tcGFyZS92ZXJ5X2dvb2RfY29yZS12MS4xLjAuLi52ZXJ5X2dvb2RfY29yZS12MS4xLjEpICgyMDI1LTA5LTMwKQoKCiMjIyBNaXNjZWxsYW5lb3VzIENob3JlcwoKKiB0aWdodGVuIHRlbXBsYXRlIGRlcGVuZGVuY2llcyAoWyMzNjNdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9pc3N1ZXMvMzYzKSkgKFswMTMwN2E3XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tbWl0LzAxMzA3YTdiZDk1NWZhOWQ2NzNjYjUzNDc0NmNiMjY1Njg1NTMwYzEpKQoKIyMgWzEuMS4wXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tcGFyZS92ZXJ5X2dvb2RfY29yZS12MS4wLjEuLi52ZXJ5X2dvb2RfY29yZS12MS4xLjApICgyMDI1LTA5LTIyKQoKCiMjIyBGZWF0dXJlcwoKKiB1cGdyYWRlIHRvIGZsdXR0ZXIgMy4zNS4wIChbIzM0Ml0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2lzc3Vlcy8zNDIpKSAoWzY4MTgwNDFdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9jb21taXQvNjgxODA0MTk4YzAzYTZhYjI1NTgwMmNlZGMxNTI0MjgzMjkyOGU1NCkpCiogdXBncmFkZSB0byB2ZXJ5X2dvb2RfYW5hbHlzaXMgMTAuMC4wIChbIzM0Nl0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2lzc3Vlcy8zNDYpKSAoWzVhN2QwZGNdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9jb21taXQvNWE3ZDBkYzczMjNhNzc1ODMxNThhY2ZiYmU5MzNhNjAzMDJlZDUzMikpCiogdXBncmFkZWQgcGx1Z2luIHZlcnNpb24gYW5kIHJlbW92ZWQgamRrNyBkZXBlbmRlbmN5IG9uIGJ1aWxkLmt0cyAoWyMzMzldKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9pc3N1ZXMvMzM5KSkgKFs4ZTYwOTcxXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tbWl0LzhlNjA5NzE1MjE3NDM2OGU4OTIzMDI0ZWYxYjJiZjM1ZjRhNjc1YWMpKQoKCiMjIyBSZWZhY3RvcnMKCiogKip2ZXJ5X2dvb2RfY29yZToqKiB1c2Ugc2luZ2xlIHNpemUgaWNvbiBvbiBpT1MgYW5kIHdhdGNoT1MgKFsjMzQ0XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvaXNzdWVzLzM0NCkpIChbMTZhODRkY10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2NvbW1pdC8xNmE4NGRjNTA1Y2NlNDBlMTM4OGNhM2FhNzlhZDg2ZGQwNTUwOGEzKSkKCiMjIDEuMC4wCgpyZWZhY3Rvcih2ZXJ5X2dvb2RfY29yZSkhOiByZW1vdmUgcm9vdC1sZXZlbCBwcm9qZWN0X25hbWUgZm9sZGVyIGZyb20gYnJpY2sgc3RydWN0dXJlLgoKIyMjIE1pZ3JhdGlvbiBkZXRhaWxzCgpUaGUgYHZlcnlfZ29vZF9jb3JlYCBicmljayBubyBsb25nZXIgaW5jbHVkZXMgYSB0b3AtbGV2ZWwgcHJvamVjdCBuYW1lIGZvbGRlci4KVGhpcyBhbGxvd3MgZ2VuZXJhdGluZyB0aGUgcHJvamVjdCBkaXJlY3RseSBpbnRvIHRoZSBjdXJyZW50IG9yIGEgY3VzdG9tIGRpcmVjdG9yeS4KCklmIHlvdSBwcmVmZXIgdG8ga2VlcCB0aGUgb3V0cHV0IGluc2lkZSBpdHMgb3duIGZvbGRlciAoYXMgYmVmb3JlKSwgdXNlIHRoZSAtbyBmbGFnOgoKYGBgZGFydAovLyBCZWZvcmU6Cm1hc29uIG1ha2UgdmVyeV9nb29kX2NvcmUKCi8vIEFmdGVyOgptYXNvbiBtYWtlIHZlcnlfZ29vZF9jb3JlIC1vIC4vb3V0cHV0X2ZvbGRlcgpgYGAKCiMjIDAuMTEuMSAKCi0gZG9jczogdXBkYXRlIHRlc3QgY29tbWFuZCBpbiB2ZXJ5IGdvb2QgY29yZSBSRUFETUUgKFsjMjg3XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8yODcpKQotIGNob3JlKHZlcnlfZ29vZF9jb3JlKTogZGVwcmVjYXRlZCBzY3JpcHQtYmFzZWQgYXBwbGljYXRpb24gb2YgdGhlIGZsdXR0ZXIgZ3JhZGxlIHBsdWdpbiAoWyMyNDldKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzI0OSkpCi0gY2hvcmUodmVyeV9nb29kX2NvcmUpOiB1cGRhdGUgZm9ybWF0IG9uIE1haW5BY3Rpdml0eS5rdCAoWyMyOTBdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzI5MCkpCi0gZml4KGFuZHJvaWQpOiBjb3JyZWN0IHNvdXJjZSBzZXRzIHRvIGVuc3VyZSBwbHVnaW4gY29tcGF0aWJpbGl0eSAoWyMyOTJdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzI5MikpCgojIyAwLjExLjAKCi0gY2hvcmUoZGVwcyk6IGJ1bXAgdmVyeV9nb29kX2FuYWx5c2lzIGZyb20gNi4wLjAgdG8gNy4wLjAgaW4gL3ZlcnlfZ29vZF9jb3JlL2hvb2tzIFsjMjMzXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8yMzMpCi0gY2hvcmU6IHRpZ2h0ZW4gdGVtcGxhdGUgZGVwZW5kZW5jaWVzIFsjMjM3XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8yMzcpCi0gY2hvcmU6IHRpZ2h0ZW4gdGVtcGxhdGUgZGVwZW5kZW5jaWVzIFsjMjQwXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8yNDApCi0gZml4OiBldmFsdWF0ZSBicmljayBvdXRwdXQgY29ycmVjdGx5IG9uIGNpIFsjMjQ4XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8yNDgpCi0gY2hvcmU6IHVwZGF0ZSB0byBGbHV0dGVyIDMuMjkgYW5kIERhcnQgMy43IFsjMjUwXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8yNTApCi0gY2hvcmU6IHVwZGF0ZSBmbHV0dGVyIDMuMzIuMCBhbmQgZGFydCAzLjguMCBbIzI1M10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjUzKQotIGNob3JlOiB0aWdodGVuIHRlbXBsYXRlIGRlcGVuZGVuY2llcyBbIzI0M10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjQzKQotIGZpeCh2ZXJ5X2dvb2RfY29yZSk6IFVwZGF0ZSBjb25jdXJyZW5jeSBncm91cCBuYW1lIHRlbXBsYXRlIFsjMjU1XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8yNTUpCi0gY2hvcmU6IGJ1bXAgdmVyeV9nb29kX2FuYWx5c2lzIHRvIDkuMC4wIFsjMjYxXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8yNjEpCgojIyAwLjEwLjAKCi0gZmVhdDogdXBkYXRlIHB1bGwgcmVxdWVzdCB0ZW1wbGF0ZXMgdG8gYWRkIGB0ZXN0YCB0eXBlIG9wdGlvbiAoWyMyMTRdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzIxNCkpCi0gY2hvcmU6IHVwZGF0ZSB0byBGbHV0dGVyIDMuMjcgYW5kIERhcnQgMy42IChbIzIyM10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjIzKSkKCiMjIDAuOS4wCgotIGNob3JlOiB1cGRhdGUgY29weXJpZ2h0IHllYXIgaW4gV2luZG93cyBSdW5uZXIucmMgKFsjMTg4XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8xODgpKQotIHJlZmFjdG9yOiBtb3ZlIGN1cnJlbnRfeWVhciBvdXQgZnJvbSBjb25maWd1cmF0aW9uIChbIzE5M10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMTkzKSkKLSBmaXg6IHVwZGF0ZSBhbmRyb2lkIGJ1aWxkIHZlcnNpb25zIChbIzIwNV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjA1KSkKCiMjIDAuOC4wCgotIGZlYXQ6IHVwZGF0ZSB0byBGbHV0dGVyIDMuMjQgYW5kIERhcnQgMy41IChbIzE3N10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMTc3KSkKCiMjIDAuNy4yCgotIGZpeDogdXBkYXRlIGFwcGxpY2F0aW9uIGlkZW50aWZpZXIgdXNhZ2UgKFsjMTQ4XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8xNDgpKQotIGZlYXQ6IHVzZSBhcHBsaWNhdGlvbiBpZCBvbiBtYWNPUyBwcm9qZWN0IChbIzE1OV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMTU5KSkKLSBmaXg6IGRlZmF1bHQgaWQgd2hlbiBhcHBsaWNhdGlvbiBpZCBpcyBlbXB0eSAoWyMxNjVdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzE2NSkpCgojIyAwLjcuMQoKLSBzdHlsZTogQWRkaW5nIGV4dHJhIHNwYWNlIHRvIHRoZSBhcHBsaWNhdGlvbiBvcGVuaW5nIHRhZyAoWyMxMjZdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzEyNikpCi0gY2hvcmU6IHVwZGF0ZSBKYXZhIHZlcnNpb25zIG9uIFZlcnkgR29vZCBDb3JlIChbIzEyOF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMTI4KSkKLSBjaG9yZTogdXBkYXRlIHRvIFZlcnkgR29vZCBBbmFseXNpcyA2LjAuMCAoWyMxMzVdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzEzNSkpCi0gY2hvcmU6IHRpZ2h0ZW4gdGVtcGxhdGUgZGVwZW5kZW5jaWVzIChbIzEzN10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMTM3KSkKCiMjIDAuNy4wCgotIGZlYXQhOiBlbnN1cmUgdGVtcGxhdGUgdXNlcyBGbHV0dGVyIDMuMjIgd2l0aCBEYXJ0IDMuNCAoWyM5N10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvOTcpKQotIGZpeDogdXBkYXRlIGluZGV4Lmh0bWwgdG8gc3VwcG9ydCBsYXRlc3QgY29udmVudGlvbiAoWyMxMDZdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzEwNikpCgojIyAwLjYuMQoKLSBmaXg6IGRlcHJlY2F0ZWQgaW1wZXJhdGl2ZSBhcHBseSBvZiBGbHV0dGVyJ3MgR3JhZGxlIHBsdWdpbnMgKFsjNzBdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzcwKSkKCiMjIDAuNi4wCgotIGNob3JlOiBtaWdyYXRlIHZlcnlfZ29vZF9jb3JlIChbIzFdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzEpKQotIGZlYXQhOiB1cGRhdGUgdG8gRmx1dHRlciAzLjE5LjAgKFsjMjRdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzI0KSkKLSBjaG9yZTogdXBkYXRlIGJyaWNrcyB0byBNYXNvbiAwLjEuMC1kZXYuNTIgKFsjMjhdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzI4KSkKCiMjIDAuNS4xCgotIGZlYXQ6IG1pbmlmeSBpY29uIHBuZ3MgKFsjMzE3XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF9jb3JlL3B1bGwvMzE3KSkKLSBmaXg6IHRlbXBsYXRlZCBwcm9qZWN0IG5hbWUgZm9yIFJlbGVhc2UtcHJvZHVjdGlvbiBmbGF2b3IgKFsjMzE5XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF9jb3JlL3B1bGwvMzE5KSkKCiMjIDAuNS4wCgotIGZlYXQ6IGNoYW5nZSBsYXVuY2hNb2RlIG9uIEFuZHJvaWQgdG8gc2luZ2xlVGFzayAoWyMyOTddKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX2NvcmUvcHVsbC8yOTcpKQotIGZlYXQ6IGFkZCBtYWNPUyBwbGF0Zm9ybSBzdXBwb3J0IChbIzI5OV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfY29yZS9wdWxsLzI5OSkpCi0gcmVmYWN0b3I6IHJlbW92ZSBnZW5lcmF0b3Igc2NyaXB0IChbIzMwNl0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfY29yZS9wdWxsLzMwNikpCi0gZG9jczogdXBkYXRlIHNlbWFudGljIGNvbW1pdCBsaW5rIChbIzMxM10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfY29yZS9wdWxsLzMxMykpCi0gZml4OiByZWdlbmVyYXRlIGlvcyBkaXJlY3RvcnkgKFsjMzEwXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF9jb3JlL3B1bGwvMzEwKSkKCiMjIDAuNC4wCgotIGZlYXQhOiBidW1wIG1pbiBEYXJ0IFNESyB0byAzLjEuMAotIGZlYXQhOiB1cGRhdGUgdG8gRmx1dHRlciAzLjEzLjIKLSBmaXg6IGFkZGVkIFJ1bm5lclRlc3RzIGlPUyBTY2hlbWEKLSBmZWF0OiB1cGRhdGUgdG8gTWF0ZXJpYWwgMwotIGRvY3M6IHVwZGF0ZSBsMTBuIFJFQURNRSBkb2N1bWVudGF0aW9uCi0gZG9jczogdHJhbnNsYXRpb24gZ2VuZXJhdGlvbiBpbiBSRUFETUUubWQKLSBmaXg6IHZlcnlfZ29vZCBjcmVhdGUgZmx1dHRlcl9hcHAgZG9lc24ndCBjcmVhdGUgLmdyYWRsZXcgZmlsZXMKLSBmZWF0OiB1cGdyYWRlIHRvIGB2ZXJ5X2dvb2RfYW5hbHlzaXMgXjUuMS4wYAoKIyMgMC4zLjAKCi0gZmVhdCE6IHVwZGF0ZSB0byBGbHV0dGVyIDMuMTAuMAotIGZpeDogdXNlIHZhbGlkIGFwcCBsYWJlbAotIGZlYXQ6IHVwZGF0ZSBibG9jCgojIyAwLjIuMAoKLSBmZWF0ITogYnVtcCBtaW4gRGFydCBTREsgdG8gMi4xOS4wCgojIyAwLjEuMTUKCi0gY2hvcmU6IHN1cHBvcnQgZGFydCBzZGsgMi4xOC4wCi0gZml4OiByb2xsYmFjayB2ZXJ5X2dvb2RfYW5hbHlzaXMgdG8gMy4xLjAKLSB0ZXN0OiBpbmNsdWRlIGUyZSB0ZXN0CgojIyAwLjEuMTQKCi0gZmVhdDogdXBkYXRlIHdvcmtmbG93cyBhbmQgYWRkIHNwZWxsY2hlY2sKLSBjaG9yZTogcmVtb3ZlIGV4cGxpY2l0IEZsdXR0ZXIgdmVyc2lvbiBjb25zdHJhaW50CgojIyAwLjEuMTMKCi0gZmVhdDogdXBncmFkZSB0byBgdmVyeV9nb29kX2FuYWx5c2lzIF40LjAuMGAKCiMjIDAuMS4xMgoKLSBmZWF0OiB1cGdyYWRlIGJsb2MKICAtIGJsb2MgXjguMS4xCiAgLSBmbHV0dGVyX2Jsb2MgXjguMS4yCiAgLSBibG9jX3Rlc3QgXjkuMS4xCi0gZmVhdDogdXBncmFkZSB0byBGbHV0dGVyIDMuNy4xCgojIyAwLjEuMTEKCi0gZmVhdDogdXBncmFkZSB0byBGbHV0dGVyIDMuNy4wCgojIyAwLjEuMTAKCi0gZml4OiBwcmVfZ2VuLmRhcnQgcmVjYXNlIGV4dGVuc2lvbiBmaXgKCiMjIDAuMS45CgotIGZlYXQ6IHVwZ3JhZGUgdG8gRmx1dHRlciAzLjMuMTAKLSBmZWF0OiB1cGdyYWRlIHRvIG1hc29uIHYwLjEuMC1kZXYuNDAKLSBmaXg6IHVzZSBjb3JyZWN0IGRlc2NyaXB0aW9uIGluIGluZGV4Lmh0bWwKCiMjIDAuMS44CgotIGRvY3M6IHJlbW92ZSBjb3B5cmlnaHQgaGVhZGVyIGFuZCBsaWNlbnNlIGZyb20gZ2VuZXJhdGVkIGNvZGUKLSBmZWF0OiB1c2UgZmxhdm9yIGFwcCBuYW1lIGZvciB0aGUgYnVuZGxlIG5hbWUKCiMjIDAuMS43CgotIGZlYXQ6IHVwZ3JhZGUgdG8gRmx1dHRlciAzLjMuOAotIGZlYXQ6IGFkZCBvcHRpb25hbCBgYXBwbGljYXRpb25JZGAKCiMjIDAuMS42CgotIGZlYXQ6IHVwZ3JhZGUgdG8gRmx1dHRlciAzLjMuNwoKIyMgMC4xLjUKCi0gZmVhdDogdXBncmFkZSB0byBGbHV0dGVyIDMuMy42Ci0gZml4OiBhZGQgc3VwcG9ydCBmb3IgYEdsb2JhbEN1cGVydGlub0xvY2FsaXphdGlvbnNgCgojIyAwLjEuNAoKLSBmZWF0OiBmaXggZGVwZW5kYWJvdCBjb25maWcgZmlsZQoKIyMgMC4xLjMKCi0gZmVhdDogdXBncmFkZSB0byBGbHV0dGVyIDMuMy4zCgojIyAwLjEuMgoKLSBmZWF0OiB1cGdyYWRlIHRvIEZsdXR0ZXIgMy4zLjIKLSBmZWF0OiB1cGdyYWRlIHRvIHZlcnlfZ29vZF9hbmFseXNpcyBeMy4xLjAKCiMjIDAuMS4xCgotIGZlYXQ6IHVwZ3JhZGUgdG8gRmx1dHRlciAzLjMuMQotIGZlYXQ6IHVwZ3JhZGUgdG8gdmVyeV9nb29kX2FuYWx5c2lzIF4zLjAuMgotIGZlYXQ6IGFkZCBkZXBlbmRhYm90IGludGVncmF0aW9uCgojIyAwLjEuMAoKLSBmZWF0OiB1cGdyYWRlIHRvIEZsdXR0ZXIgMy4zIGFuZCBEYXJ0IDIuMTgKCiMjIDAuMC4xCgotIGZlYXQ6IGluaXRpYWwgcmVsZWFzZSDwn46JCg==", + "IyBDaGFuZ2Vsb2cKCiMjIFsxLjEuMl0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2NvbXBhcmUvdmVyeV9nb29kX2NvcmUtdjEuMS4xLi4udmVyeV9nb29kX2NvcmUtdjEuMS4yKSAoMjAyNS0xMC0wMSkKCgojIyMgQnVnIEZpeGVzCgoqICoqdmVyeV9nb29kX2NvcmU6KiogdGVzdGluZyBjb3ZlcmFnZSAoWyMzNjldKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9pc3N1ZXMvMzY5KSkgKFtlOWQ1ZjY4XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tbWl0L2U5ZDVmNjg5NTUyMjZhMmM1ODQyMDcxY2U4YTUxOWY2OTM3MWJiMzUpKQoKIyMgWzEuMS4xXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tcGFyZS92ZXJ5X2dvb2RfY29yZS12MS4xLjAuLi52ZXJ5X2dvb2RfY29yZS12MS4xLjEpICgyMDI1LTA5LTMwKQoKCiMjIyBNaXNjZWxsYW5lb3VzIENob3JlcwoKKiB0aWdodGVuIHRlbXBsYXRlIGRlcGVuZGVuY2llcyAoWyMzNjNdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9pc3N1ZXMvMzYzKSkgKFswMTMwN2E3XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tbWl0LzAxMzA3YTdiZDk1NWZhOWQ2NzNjYjUzNDc0NmNiMjY1Njg1NTMwYzEpKQoKIyMgWzEuMS4wXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tcGFyZS92ZXJ5X2dvb2RfY29yZS12MS4wLjEuLi52ZXJ5X2dvb2RfY29yZS12MS4xLjApICgyMDI1LTA5LTIyKQoKCiMjIyBGZWF0dXJlcwoKKiB1cGdyYWRlIHRvIGZsdXR0ZXIgMy4zNS4wIChbIzM0Ml0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2lzc3Vlcy8zNDIpKSAoWzY4MTgwNDFdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9jb21taXQvNjgxODA0MTk4YzAzYTZhYjI1NTgwMmNlZGMxNTI0MjgzMjkyOGU1NCkpCiogdXBncmFkZSB0byB2ZXJ5X2dvb2RfYW5hbHlzaXMgMTAuMC4wIChbIzM0Nl0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2lzc3Vlcy8zNDYpKSAoWzVhN2QwZGNdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9jb21taXQvNWE3ZDBkYzczMjNhNzc1ODMxNThhY2ZiYmU5MzNhNjAzMDJlZDUzMikpCiogdXBncmFkZWQgcGx1Z2luIHZlcnNpb24gYW5kIHJlbW92ZWQgamRrNyBkZXBlbmRlbmN5IG9uIGJ1aWxkLmt0cyAoWyMzMzldKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9pc3N1ZXMvMzM5KSkgKFs4ZTYwOTcxXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tbWl0LzhlNjA5NzE1MjE3NDM2OGU4OTIzMDI0ZWYxYjJiZjM1ZjRhNjc1YWMpKQoKCiMjIyBSZWZhY3RvcnMKCiogKip2ZXJ5X2dvb2RfY29yZToqKiB1c2Ugc2luZ2xlIHNpemUgaWNvbiBvbiBpT1MgYW5kIHdhdGNoT1MgKFsjMzQ0XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvaXNzdWVzLzM0NCkpIChbMTZhODRkY10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2NvbW1pdC8xNmE4NGRjNTA1Y2NlNDBlMTM4OGNhM2FhNzlhZDg2ZGQwNTUwOGEzKSkKCiMjIFsxLjAuMV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2NvbXBhcmUvdmVyeV9nb29kX2NvcmUtdjEuMC4wLi4udmVyeV9nb29kX2NvcmUtdjEuMC4xKSAoMjAyNS0wOC0xOCkKCgojIyMgQnVnIEZpeGVzCgoqIEd1YXJhbnRlZSAxMDAlIGNvdmVyYWdlIG9uIGNvcmUgYXBwIChbIzMzNF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2lzc3Vlcy8zMzQpKSAoWzY5NzBmYTVdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9jb21taXQvNjk3MGZhNTVmZWFmMjkxMmMwMWI2NGZlYTU2MDkzMzc4NGZkYzM5NikpCgoKIyMjIE1pc2NlbGxhbmVvdXMgQ2hvcmVzCgoqIGF1dG9tYXRlIHJlbGVhc2VzIChbIzMxOV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2lzc3Vlcy8zMTkpKSAoWzE3ZmIzYTVdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9jb21taXQvMTdmYjNhNWM3NDJhNDJlN2ZmZjcwYjI2OWRlZWE5NjFlNGExNWI0ZikpCgojIyAxLjAuMAoKcmVmYWN0b3IodmVyeV9nb29kX2NvcmUpITogcmVtb3ZlIHJvb3QtbGV2ZWwgcHJvamVjdF9uYW1lIGZvbGRlciBmcm9tIGJyaWNrIHN0cnVjdHVyZS4KCiMjIyBNaWdyYXRpb24gZGV0YWlscwoKVGhlIGB2ZXJ5X2dvb2RfY29yZWAgYnJpY2sgbm8gbG9uZ2VyIGluY2x1ZGVzIGEgdG9wLWxldmVsIHByb2plY3QgbmFtZSBmb2xkZXIuClRoaXMgYWxsb3dzIGdlbmVyYXRpbmcgdGhlIHByb2plY3QgZGlyZWN0bHkgaW50byB0aGUgY3VycmVudCBvciBhIGN1c3RvbSBkaXJlY3RvcnkuCgpJZiB5b3UgcHJlZmVyIHRvIGtlZXAgdGhlIG91dHB1dCBpbnNpZGUgaXRzIG93biBmb2xkZXIgKGFzIGJlZm9yZSksIHVzZSB0aGUgLW8gZmxhZzoKCmBgYGRhcnQKLy8gQmVmb3JlOgptYXNvbiBtYWtlIHZlcnlfZ29vZF9jb3JlCgovLyBBZnRlcjoKbWFzb24gbWFrZSB2ZXJ5X2dvb2RfY29yZSAtbyAuL291dHB1dF9mb2xkZXIKYGBgCgojIyAwLjExLjEgCgotIGRvY3M6IHVwZGF0ZSB0ZXN0IGNvbW1hbmQgaW4gdmVyeSBnb29kIGNvcmUgUkVBRE1FIChbIzI4N10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjg3KSkKLSBjaG9yZSh2ZXJ5X2dvb2RfY29yZSk6IGRlcHJlY2F0ZWQgc2NyaXB0LWJhc2VkIGFwcGxpY2F0aW9uIG9mIHRoZSBmbHV0dGVyIGdyYWRsZSBwbHVnaW4gKFsjMjQ5XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8yNDkpKQotIGNob3JlKHZlcnlfZ29vZF9jb3JlKTogdXBkYXRlIGZvcm1hdCBvbiBNYWluQWN0aXZpdHkua3QgKFsjMjkwXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8yOTApKQotIGZpeChhbmRyb2lkKTogY29ycmVjdCBzb3VyY2Ugc2V0cyB0byBlbnN1cmUgcGx1Z2luIGNvbXBhdGliaWxpdHkgKFsjMjkyXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8yOTIpKQoKIyMgMC4xMS4wCgotIGNob3JlKGRlcHMpOiBidW1wIHZlcnlfZ29vZF9hbmFseXNpcyBmcm9tIDYuMC4wIHRvIDcuMC4wIGluIC92ZXJ5X2dvb2RfY29yZS9ob29rcyBbIzIzM10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjMzKQotIGNob3JlOiB0aWdodGVuIHRlbXBsYXRlIGRlcGVuZGVuY2llcyBbIzIzN10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjM3KQotIGNob3JlOiB0aWdodGVuIHRlbXBsYXRlIGRlcGVuZGVuY2llcyBbIzI0MF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjQwKQotIGZpeDogZXZhbHVhdGUgYnJpY2sgb3V0cHV0IGNvcnJlY3RseSBvbiBjaSBbIzI0OF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjQ4KQotIGNob3JlOiB1cGRhdGUgdG8gRmx1dHRlciAzLjI5IGFuZCBEYXJ0IDMuNyBbIzI1MF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjUwKQotIGNob3JlOiB1cGRhdGUgZmx1dHRlciAzLjMyLjAgYW5kIGRhcnQgMy44LjAgWyMyNTNdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzI1MykKLSBjaG9yZTogdGlnaHRlbiB0ZW1wbGF0ZSBkZXBlbmRlbmNpZXMgWyMyNDNdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzI0MykKLSBmaXgodmVyeV9nb29kX2NvcmUpOiBVcGRhdGUgY29uY3VycmVuY3kgZ3JvdXAgbmFtZSB0ZW1wbGF0ZSBbIzI1NV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjU1KQotIGNob3JlOiBidW1wIHZlcnlfZ29vZF9hbmFseXNpcyB0byA5LjAuMCBbIzI2MV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjYxKQoKIyMgMC4xMC4wCgotIGZlYXQ6IHVwZGF0ZSBwdWxsIHJlcXVlc3QgdGVtcGxhdGVzIHRvIGFkZCBgdGVzdGAgdHlwZSBvcHRpb24gKFsjMjE0XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8yMTQpKQotIGNob3JlOiB1cGRhdGUgdG8gRmx1dHRlciAzLjI3IGFuZCBEYXJ0IDMuNiAoWyMyMjNdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzIyMykpCgojIyAwLjkuMAoKLSBjaG9yZTogdXBkYXRlIGNvcHlyaWdodCB5ZWFyIGluIFdpbmRvd3MgUnVubmVyLnJjIChbIzE4OF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMTg4KSkKLSByZWZhY3RvcjogbW92ZSBjdXJyZW50X3llYXIgb3V0IGZyb20gY29uZmlndXJhdGlvbiAoWyMxOTNdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzE5MykpCi0gZml4OiB1cGRhdGUgYW5kcm9pZCBidWlsZCB2ZXJzaW9ucyAoWyMyMDVdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzIwNSkpCgojIyAwLjguMAoKLSBmZWF0OiB1cGRhdGUgdG8gRmx1dHRlciAzLjI0IGFuZCBEYXJ0IDMuNSAoWyMxNzddKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzE3NykpCgojIyAwLjcuMgoKLSBmaXg6IHVwZGF0ZSBhcHBsaWNhdGlvbiBpZGVudGlmaWVyIHVzYWdlIChbIzE0OF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMTQ4KSkKLSBmZWF0OiB1c2UgYXBwbGljYXRpb24gaWQgb24gbWFjT1MgcHJvamVjdCAoWyMxNTldKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzE1OSkpCi0gZml4OiBkZWZhdWx0IGlkIHdoZW4gYXBwbGljYXRpb24gaWQgaXMgZW1wdHkgKFsjMTY1XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8xNjUpKQoKIyMgMC43LjEKCi0gc3R5bGU6IEFkZGluZyBleHRyYSBzcGFjZSB0byB0aGUgYXBwbGljYXRpb24gb3BlbmluZyB0YWcgKFsjMTI2XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8xMjYpKQotIGNob3JlOiB1cGRhdGUgSmF2YSB2ZXJzaW9ucyBvbiBWZXJ5IEdvb2QgQ29yZSAoWyMxMjhdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzEyOCkpCi0gY2hvcmU6IHVwZGF0ZSB0byBWZXJ5IEdvb2QgQW5hbHlzaXMgNi4wLjAgKFsjMTM1XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8xMzUpKQotIGNob3JlOiB0aWdodGVuIHRlbXBsYXRlIGRlcGVuZGVuY2llcyAoWyMxMzddKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzEzNykpCgojIyAwLjcuMAoKLSBmZWF0ITogZW5zdXJlIHRlbXBsYXRlIHVzZXMgRmx1dHRlciAzLjIyIHdpdGggRGFydCAzLjQgKFsjOTddKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzk3KSkKLSBmaXg6IHVwZGF0ZSBpbmRleC5odG1sIHRvIHN1cHBvcnQgbGF0ZXN0IGNvbnZlbnRpb24gKFsjMTA2XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8xMDYpKQoKIyMgMC42LjEKCi0gZml4OiBkZXByZWNhdGVkIGltcGVyYXRpdmUgYXBwbHkgb2YgRmx1dHRlcidzIEdyYWRsZSBwbHVnaW5zIChbIzcwXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC83MCkpCgojIyAwLjYuMAoKLSBjaG9yZTogbWlncmF0ZSB2ZXJ5X2dvb2RfY29yZSAoWyMxXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8xKSkKLSBmZWF0ITogdXBkYXRlIHRvIEZsdXR0ZXIgMy4xOS4wIChbIzI0XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8yNCkpCi0gY2hvcmU6IHVwZGF0ZSBicmlja3MgdG8gTWFzb24gMC4xLjAtZGV2LjUyIChbIzI4XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8yOCkpCgojIyAwLjUuMQoKLSBmZWF0OiBtaW5pZnkgaWNvbiBwbmdzIChbIzMxN10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfY29yZS9wdWxsLzMxNykpCi0gZml4OiB0ZW1wbGF0ZWQgcHJvamVjdCBuYW1lIGZvciBSZWxlYXNlLXByb2R1Y3Rpb24gZmxhdm9yIChbIzMxOV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfY29yZS9wdWxsLzMxOSkpCgojIyAwLjUuMAoKLSBmZWF0OiBjaGFuZ2UgbGF1bmNoTW9kZSBvbiBBbmRyb2lkIHRvIHNpbmdsZVRhc2sgKFsjMjk3XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF9jb3JlL3B1bGwvMjk3KSkKLSBmZWF0OiBhZGQgbWFjT1MgcGxhdGZvcm0gc3VwcG9ydCAoWyMyOTldKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX2NvcmUvcHVsbC8yOTkpKQotIHJlZmFjdG9yOiByZW1vdmUgZ2VuZXJhdG9yIHNjcmlwdCAoWyMzMDZdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX2NvcmUvcHVsbC8zMDYpKQotIGRvY3M6IHVwZGF0ZSBzZW1hbnRpYyBjb21taXQgbGluayAoWyMzMTNdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX2NvcmUvcHVsbC8zMTMpKQotIGZpeDogcmVnZW5lcmF0ZSBpb3MgZGlyZWN0b3J5IChbIzMxMF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfY29yZS9wdWxsLzMxMCkpCgojIyAwLjQuMAoKLSBmZWF0ITogYnVtcCBtaW4gRGFydCBTREsgdG8gMy4xLjAKLSBmZWF0ITogdXBkYXRlIHRvIEZsdXR0ZXIgMy4xMy4yCi0gZml4OiBhZGRlZCBSdW5uZXJUZXN0cyBpT1MgU2NoZW1hCi0gZmVhdDogdXBkYXRlIHRvIE1hdGVyaWFsIDMKLSBkb2NzOiB1cGRhdGUgbDEwbiBSRUFETUUgZG9jdW1lbnRhdGlvbgotIGRvY3M6IHRyYW5zbGF0aW9uIGdlbmVyYXRpb24gaW4gUkVBRE1FLm1kCi0gZml4OiB2ZXJ5X2dvb2QgY3JlYXRlIGZsdXR0ZXJfYXBwIGRvZXNuJ3QgY3JlYXRlIC5ncmFkbGV3IGZpbGVzCi0gZmVhdDogdXBncmFkZSB0byBgdmVyeV9nb29kX2FuYWx5c2lzIF41LjEuMGAKCiMjIDAuMy4wCgotIGZlYXQhOiB1cGRhdGUgdG8gRmx1dHRlciAzLjEwLjAKLSBmaXg6IHVzZSB2YWxpZCBhcHAgbGFiZWwKLSBmZWF0OiB1cGRhdGUgYmxvYwoKIyMgMC4yLjAKCi0gZmVhdCE6IGJ1bXAgbWluIERhcnQgU0RLIHRvIDIuMTkuMAoKIyMgMC4xLjE1CgotIGNob3JlOiBzdXBwb3J0IGRhcnQgc2RrIDIuMTguMAotIGZpeDogcm9sbGJhY2sgdmVyeV9nb29kX2FuYWx5c2lzIHRvIDMuMS4wCi0gdGVzdDogaW5jbHVkZSBlMmUgdGVzdAoKIyMgMC4xLjE0CgotIGZlYXQ6IHVwZGF0ZSB3b3JrZmxvd3MgYW5kIGFkZCBzcGVsbGNoZWNrCi0gY2hvcmU6IHJlbW92ZSBleHBsaWNpdCBGbHV0dGVyIHZlcnNpb24gY29uc3RyYWludAoKIyMgMC4xLjEzCgotIGZlYXQ6IHVwZ3JhZGUgdG8gYHZlcnlfZ29vZF9hbmFseXNpcyBeNC4wLjBgCgojIyAwLjEuMTIKCi0gZmVhdDogdXBncmFkZSBibG9jCiAgLSBibG9jIF44LjEuMQogIC0gZmx1dHRlcl9ibG9jIF44LjEuMgogIC0gYmxvY190ZXN0IF45LjEuMQotIGZlYXQ6IHVwZ3JhZGUgdG8gRmx1dHRlciAzLjcuMQoKIyMgMC4xLjExCgotIGZlYXQ6IHVwZ3JhZGUgdG8gRmx1dHRlciAzLjcuMAoKIyMgMC4xLjEwCgotIGZpeDogcHJlX2dlbi5kYXJ0IHJlY2FzZSBleHRlbnNpb24gZml4CgojIyAwLjEuOQoKLSBmZWF0OiB1cGdyYWRlIHRvIEZsdXR0ZXIgMy4zLjEwCi0gZmVhdDogdXBncmFkZSB0byBtYXNvbiB2MC4xLjAtZGV2LjQwCi0gZml4OiB1c2UgY29ycmVjdCBkZXNjcmlwdGlvbiBpbiBpbmRleC5odG1sCgojIyAwLjEuOAoKLSBkb2NzOiByZW1vdmUgY29weXJpZ2h0IGhlYWRlciBhbmQgbGljZW5zZSBmcm9tIGdlbmVyYXRlZCBjb2RlCi0gZmVhdDogdXNlIGZsYXZvciBhcHAgbmFtZSBmb3IgdGhlIGJ1bmRsZSBuYW1lCgojIyAwLjEuNwoKLSBmZWF0OiB1cGdyYWRlIHRvIEZsdXR0ZXIgMy4zLjgKLSBmZWF0OiBhZGQgb3B0aW9uYWwgYGFwcGxpY2F0aW9uSWRgCgojIyAwLjEuNgoKLSBmZWF0OiB1cGdyYWRlIHRvIEZsdXR0ZXIgMy4zLjcKCiMjIDAuMS41CgotIGZlYXQ6IHVwZ3JhZGUgdG8gRmx1dHRlciAzLjMuNgotIGZpeDogYWRkIHN1cHBvcnQgZm9yIGBHbG9iYWxDdXBlcnRpbm9Mb2NhbGl6YXRpb25zYAoKIyMgMC4xLjQKCi0gZmVhdDogZml4IGRlcGVuZGFib3QgY29uZmlnIGZpbGUKCiMjIDAuMS4zCgotIGZlYXQ6IHVwZ3JhZGUgdG8gRmx1dHRlciAzLjMuMwoKIyMgMC4xLjIKCi0gZmVhdDogdXBncmFkZSB0byBGbHV0dGVyIDMuMy4yCi0gZmVhdDogdXBncmFkZSB0byB2ZXJ5X2dvb2RfYW5hbHlzaXMgXjMuMS4wCgojIyAwLjEuMQoKLSBmZWF0OiB1cGdyYWRlIHRvIEZsdXR0ZXIgMy4zLjEKLSBmZWF0OiB1cGdyYWRlIHRvIHZlcnlfZ29vZF9hbmFseXNpcyBeMy4wLjIKLSBmZWF0OiBhZGQgZGVwZW5kYWJvdCBpbnRlZ3JhdGlvbgoKIyMgMC4xLjAKCi0gZmVhdDogdXBncmFkZSB0byBGbHV0dGVyIDMuMyBhbmQgRGFydCAyLjE4CgojIyAwLjAuMQoKLSBmZWF0OiBpbml0aWFsIHJlbGVhc2Ug8J+OiQo=", "type": "text", }, "license": { diff --git a/lib/src/commands/create/templates/very_good_flame_game/very_good_flame_game_bundle.dart b/lib/src/commands/create/templates/very_good_flame_game/very_good_flame_game_bundle.dart index d257fd1bf..eef35597b 100644 --- a/lib/src/commands/create/templates/very_good_flame_game/very_good_flame_game_bundle.dart +++ b/lib/src/commands/create/templates/very_good_flame_game/very_good_flame_game_bundle.dart @@ -97,7 +97,7 @@ final veryGoodFlameGameBundle = MasonBundle.fromJson({ { "path": ".github/workflows/main.yaml", "data": - "bmFtZToge3twcm9qZWN0X25hbWUuc25ha2VDYXNlKCl9fQoKY29uY3VycmVuY3k6CiAgZ3JvdXA6ICR7eyBnaXRodWIud29ya2Zsb3cgfX0tJHt7IGdpdGh1Yi5yZWYgfX0KICBjYW5jZWwtaW4tcHJvZ3Jlc3M6IHRydWUKCm9uOgogIHB1c2g6CiAgICBicmFuY2hlczoKICAgICAgLSBtYWluCiAgcHVsbF9yZXF1ZXN0OgogICAgYnJhbmNoZXM6CiAgICAgIC0gbWFpbgoKam9iczoKICBzZW1hbnRpYy1wdWxsLXJlcXVlc3Q6CiAgICB1c2VzOiBWZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3dvcmtmbG93cy8uZ2l0aHViL3dvcmtmbG93cy9zZW1hbnRpY19wdWxsX3JlcXVlc3QueW1sQHYxCgogIGJ1aWxkOgogICAgdXNlczogVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF93b3JrZmxvd3MvLmdpdGh1Yi93b3JrZmxvd3MvZmx1dHRlcl9wYWNrYWdlLnltbEB2MQogICAgd2l0aDoKICAgICAgZmx1dHRlcl92ZXJzaW9uOiAiMy4zNS54IgoKICBzcGVsbC1jaGVjazoKICAgIHVzZXM6IFZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2Rfd29ya2Zsb3dzLy5naXRodWIvd29ya2Zsb3dzL3NwZWxsX2NoZWNrLnltbEB2MQogICAgd2l0aDoKICAgICAgaW5jbHVkZXM6IHwKICAgICAgICAqKi8qLm1kCiAgICAgIG1vZGlmaWVkX2ZpbGVzX29ubHk6IGZhbHNlCg==", + "bmFtZToge3twcm9qZWN0X25hbWUuc25ha2VDYXNlKCl9fQoKY29uY3VycmVuY3k6CiAgZ3JvdXA6ICR7eyBnaXRodWIud29ya2Zsb3cgfX0tJHt7IGdpdGh1Yi5yZWYgfX0KICBjYW5jZWwtaW4tcHJvZ3Jlc3M6IHRydWUKCm9uOgogIHB1c2g6CiAgICBicmFuY2hlczoKICAgICAgLSBtYWluCiAgcHVsbF9yZXF1ZXN0OgogICAgYnJhbmNoZXM6CiAgICAgIC0gbWFpbgoKam9iczoKICBzZW1hbnRpYy1wdWxsLXJlcXVlc3Q6CiAgICB1c2VzOiBWZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3dvcmtmbG93cy8uZ2l0aHViL3dvcmtmbG93cy9zZW1hbnRpY19wdWxsX3JlcXVlc3QueW1sQHYxCgogIGJ1aWxkOgogICAgdXNlczogVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF93b3JrZmxvd3MvLmdpdGh1Yi93b3JrZmxvd3MvZmx1dHRlcl9wYWNrYWdlLnltbEB2MQogICAgd2l0aDoKICAgICAgZmx1dHRlcl92ZXJzaW9uOiAiMy4zNS54IgogICAgICBydW5fYmxvY19saW50OiB0cnVlCgogIHNwZWxsLWNoZWNrOgogICAgdXNlczogVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF93b3JrZmxvd3MvLmdpdGh1Yi93b3JrZmxvd3Mvc3BlbGxfY2hlY2sueW1sQHYxCiAgICB3aXRoOgogICAgICBpbmNsdWRlczogfAogICAgICAgICoqLyoubWQKICAgICAgbW9kaWZpZWRfZmlsZXNfb25seTogZmFsc2UK", "type": "text", }, { @@ -145,7 +145,7 @@ final veryGoodFlameGameBundle = MasonBundle.fromJson({ { "path": "analysis_options.yaml", "data": - "aW5jbHVkZTogcGFja2FnZTp2ZXJ5X2dvb2RfYW5hbHlzaXMvYW5hbHlzaXNfb3B0aW9ucy55YW1sCmFuYWx5emVyOgogIGV4Y2x1ZGU6CiAgICAtIGxpYi9nZW4vKgogICAgLSBsaWIvbDEwbi9nZW4vKgpsaW50ZXI6CiAgcnVsZXM6CiAgICBwdWJsaWNfbWVtYmVyX2FwaV9kb2NzOiBmYWxzZQo=", + "aW5jbHVkZToKICAtIHBhY2thZ2U6dmVyeV9nb29kX2FuYWx5c2lzL2FuYWx5c2lzX29wdGlvbnMueWFtbAogIC0gcGFja2FnZTpibG9jX2xpbnQvcmVjb21tZW5kZWQueWFtbAphbmFseXplcjoKICBleGNsdWRlOgogICAgLSBsaWIvZ2VuLyoKICAgIC0gbGliL2wxMG4vZ2VuLyoKbGludGVyOgogIHJ1bGVzOgogICAgcHVibGljX21lbWJlcl9hcGlfZG9jczogZmFsc2UK", "type": "text", }, { @@ -374,13 +374,13 @@ final veryGoodFlameGameBundle = MasonBundle.fromJson({ { "path": "pubspec.yaml", "data": - "bmFtZToge3twcm9qZWN0X25hbWUuc25ha2VDYXNlKCl9fQpkZXNjcmlwdGlvbjoge3t7ZGVzY3JpcHRpb259fX0KdmVyc2lvbjogMS4wLjArMQpwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6IF4zLjkuMAogIGZsdXR0ZXI6IF4zLjM1LjAKCmRlcGVuZGVuY2llczoKICBhdWRpb3BsYXllcnM6IF42LjUuMQogIGJsb2M6IF45LjAuMQogIGVxdWF0YWJsZTogXjIuMC43CiAgZmxhbWU6IF4xLjMyLjAKICBmbGFtZV9hdWRpbzogXjIuMTEuMTAKICBmbGFtZV9iZWhhdmlvcnM6IF4xLjIuMAogIGZsdXR0ZXI6CiAgICBzZGs6IGZsdXR0ZXIKICBmbHV0dGVyX2Jsb2M6IF45LjEuMQogIGZsdXR0ZXJfbG9jYWxpemF0aW9uczoKICAgIHNkazogZmx1dHRlcgogIGdvb2dsZV9mb250czogXjYuMy4yCiAgaW50bDogXjAuMjAuMgoKZGV2X2RlcGVuZGVuY2llczoKICBibG9jX3Rlc3Q6IF4xMC4wLjAKICBmbGFtZV90ZXN0OiBeMi4wLjMKICBmbHV0dGVyX3Rlc3Q6CiAgICBzZGs6IGZsdXR0ZXIKICBtb2NraW5namF5OiBeMi4wLjAKICBtb2NrdGFpbDogXjEuMC40CiAgdmVyeV9nb29kX2FuYWx5c2lzOiBeMTAuMC4wCgpmbHV0dGVyOgogIGdlbmVyYXRlOiB0cnVlCiAgdXNlcy1tYXRlcmlhbC1kZXNpZ246IHRydWUKICBhc3NldHM6CiAgICAtIGFzc2V0cy9hdWRpby8KICAgIC0gYXNzZXRzL2ltYWdlcy8KICAgIC0gYXNzZXRzL2xpY2Vuc2VzL3BvcHBpbnMvCg==", + "bmFtZToge3twcm9qZWN0X25hbWUuc25ha2VDYXNlKCl9fQpkZXNjcmlwdGlvbjoge3t7ZGVzY3JpcHRpb259fX0KdmVyc2lvbjogMS4wLjArMQpwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6IF4zLjEwLjAKICBmbHV0dGVyOiBeMy4zOC4xCgpkZXBlbmRlbmNpZXM6CiAgYXVkaW9wbGF5ZXJzOiBeNi41LjEKICBibG9jOiBeOS4xLjAKICBlcXVhdGFibGU6IF4yLjAuNwogIGZsYW1lOiBeMS4zMy4wCiAgZmxhbWVfYXVkaW86IF4yLjExLjExCiAgZmxhbWVfYmVoYXZpb3JzOiBeMS4zLjAKICBmbHV0dGVyOgogICAgc2RrOiBmbHV0dGVyCiAgZmx1dHRlcl9ibG9jOiBeOS4xLjEKICBmbHV0dGVyX2xvY2FsaXphdGlvbnM6CiAgICBzZGs6IGZsdXR0ZXIKICBnb29nbGVfZm9udHM6IF42LjMuMgogIGludGw6IF4wLjIwLjIKCmRldl9kZXBlbmRlbmNpZXM6CiAgYmxvY19saW50OiBeMC4zLjMKICBibG9jX3Rlc3Q6IF4xMC4wLjAKICBibG9jX3Rvb2xzOiBeMC4xLjAtZGV2LjIwCiAgZmxhbWVfdGVzdDogXjIuMS4wCiAgZmx1dHRlcl90ZXN0OgogICAgc2RrOiBmbHV0dGVyCiAgbW9ja2luZ2pheTogXjIuMC4wCiAgbW9ja3RhaWw6IF4xLjAuNAogIHZlcnlfZ29vZF9hbmFseXNpczogXjEwLjAuMAoKZmx1dHRlcjoKICBnZW5lcmF0ZTogdHJ1ZQogIHVzZXMtbWF0ZXJpYWwtZGVzaWduOiB0cnVlCiAgYXNzZXRzOgogICAgLSBhc3NldHMvYXVkaW8vCiAgICAtIGFzc2V0cy9pbWFnZXMvCiAgICAtIGFzc2V0cy9saWNlbnNlcy9wb3BwaW5zLwo=", "type": "text", }, { "path": "README.md", "data": - "IyB7e3Byb2plY3RfbmFtZS50aXRsZUNhc2UoKX19CgohW2NvdmVyYWdlXVtjb3ZlcmFnZV9iYWRnZV0KWyFbc3R5bGU6IHZlcnkgZ29vZCBhbmFseXNpc11bdmVyeV9nb29kX2FuYWx5c2lzX2JhZGdlXV1bdmVyeV9nb29kX2FuYWx5c2lzX2xpbmtdClshW0xpY2Vuc2U6IE1JVF1bbGljZW5zZV9iYWRnZV1dW2xpY2Vuc2VfbGlua10KCkdlbmVyYXRlZCBieSB0aGUgW1ZlcnkgR29vZCBDTEldW3ZlcnlfZ29vZF9jbGlfbGlua10g8J+klgoKe3t7ZGVzY3JpcHRpb259fX0KCi0tLQoKIyMgR2V0dGluZyBTdGFydGVkIPCfmoAKClRoaXMgcHJvamVjdCBjb250YWlucyAzIGZsYXZvcnM6CgotIGRldmVsb3BtZW50Ci0gc3RhZ2luZwotIHByb2R1Y3Rpb24KClRvIHJ1biB0aGUgZGVzaXJlZCBmbGF2b3IgZWl0aGVyIHVzZSB0aGUgbGF1bmNoIGNvbmZpZ3VyYXRpb24gaW4gVlNDb2RlL0FuZHJvaWQgU3R1ZGlvIG9yIHVzZSB0aGUgZm9sbG93aW5nIGNvbW1hbmRzOgoKYGBgc2gKIyBEZXZlbG9wbWVudAokIGZsdXR0ZXIgcnVuIC0tZmxhdm9yIGRldmVsb3BtZW50IC0tdGFyZ2V0IGxpYi9tYWluX2RldmVsb3BtZW50LmRhcnQKCiMgU3RhZ2luZwokIGZsdXR0ZXIgcnVuIC0tZmxhdm9yIHN0YWdpbmcgLS10YXJnZXQgbGliL21haW5fc3RhZ2luZy5kYXJ0CgojIFByb2R1Y3Rpb24KJCBmbHV0dGVyIHJ1biAtLWZsYXZvciBwcm9kdWN0aW9uIC0tdGFyZ2V0IGxpYi9tYWluX3Byb2R1Y3Rpb24uZGFydApgYGAKCl9cKnt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX0gd29ya3Mgb24gaU9TLCBBbmRyb2lkLCBXZWIsIGFuZCBXaW5kb3dzLl8KCi0tLQoKIyMgUnVubmluZyBUZXN0cyDwn6eqCgpUbyBydW4gYWxsIHVuaXQgYW5kIHdpZGdldCB0ZXN0cyB1c2UgdGhlIGZvbGxvd2luZyBjb21tYW5kOgoKYGBgc2gKJCBmbHV0dGVyIHRlc3QgLS1jb3ZlcmFnZSAtLXRlc3QtcmFuZG9taXplLW9yZGVyaW5nLXNlZWQgcmFuZG9tCmBgYAoKVG8gdmlldyB0aGUgZ2VuZXJhdGVkIGNvdmVyYWdlIHJlcG9ydCB5b3UgY2FuIHVzZSBbbGNvdl0oaHR0cHM6Ly9naXRodWIuY29tL2xpbnV4LXRlc3QtcHJvamVjdC9sY292KS4KCmBgYHNoCiMgR2VuZXJhdGUgQ292ZXJhZ2UgUmVwb3J0CiQgZ2VuaHRtbCBjb3ZlcmFnZS9sY292LmluZm8gLW8gY292ZXJhZ2UvCgojIE9wZW4gQ292ZXJhZ2UgUmVwb3J0CiQgb3BlbiBjb3ZlcmFnZS9pbmRleC5odG1sCmBgYAoKLS0tCgojIyBXb3JraW5nIHdpdGggVHJhbnNsYXRpb25zIPCfjJAKClRoaXMgcHJvamVjdCByZWxpZXMgb24gW2ZsdXR0ZXJfbG9jYWxpemF0aW9uc11bZmx1dHRlcl9sb2NhbGl6YXRpb25zX2xpbmtdIGFuZCBmb2xsb3dzIHRoZSBbb2ZmaWNpYWwgaW50ZXJuYXRpb25hbGl6YXRpb24gZ3VpZGUgZm9yIEZsdXR0ZXJdW2ludGVybmF0aW9uYWxpemF0aW9uX2xpbmtdLgoKIyMjIEFkZGluZyBTdHJpbmdzCgoxLiBUbyBhZGQgYSBuZXcgbG9jYWxpemFibGUgc3RyaW5nLCBvcGVuIHRoZSBgYXBwX2VuLmFyYmAgZmlsZSBhdCBgbGliL2wxMG4vYXJiL2FwcF9lbi5hcmJgLgoKYGBgYXJiCnsKICAiQEBsb2NhbGUiOiAiZW4iLAogICJzdGFydFZlcnlHb29kR2FtZSI6ICJTdGFydCB0aGUgVmVyeSBHb29kIEdhbWUiLAogICJAc3RhcnRWZXJ5R29vZEdhbWUiOiB7CiAgICAiZGVzY3JpcHRpb24iOiAiVGhlIGluaXRpYWwgc3RhcnQgYnV0dG9uIG9mIHRoZSBnYW1lIGFwcGxpY2F0aW9uIgogIH0KfQpgYGAKCjIuIFRoZW4gYWRkIGEgbmV3IGtleS92YWx1ZSBhbmQgZGVzY3JpcHRpb24KCmBgYGFyYgp7CiAgIkBAbG9jYWxlIjogImVuIiwKICAic3RhcnRWZXJ5R29vZEdhbWUiOiAiU3RhcnQgdGhlIFZlcnkgR29vZCBHYW1lIiwKICAiQHN0YXJ0VmVyeUdvb2RHYW1lIjogewogICAgImRlc2NyaXB0aW9uIjogIlRoZSBpbml0aWFsIHN0YXJ0IGJ1dHRvbiBvZiB0aGUgZ2FtZSBhcHBsaWNhdGlvbiIKICB9LAogICJoZWxsb1dvcmxkIjogIkhlbGxvIFdvcmxkIiwKICAiQGhlbGxvV29ybGQiOiB7CiAgICAiZGVzY3JpcHRpb24iOiAiSGVsbG8gV29ybGQgVGV4dCIKICB9Cn0KYGBgCgozLiBVc2UgdGhlIG5ldyBzdHJpbmcKCmBgYGRhcnQKaW1wb3J0ICdwYWNrYWdlOnt7cHJvamVjdF9uYW1lLnNuYWtlQ2FzZSgpfX0vbDEwbi9sMTBuLmRhcnQnOwoKQG92ZXJyaWRlCldpZGdldCBidWlsZChCdWlsZENvbnRleHQgY29udGV4dCkgewogIGZpbmFsIGwxMG4gPSBjb250ZXh0LmwxMG47CiAgcmV0dXJuIFRleHQobDEwbi5oZWxsb1dvcmxkKTsKfQpgYGAKCiMjIyBBZGRpbmcgU3VwcG9ydGVkIExvY2FsZXMKClVwZGF0ZSB0aGUgYENGQnVuZGxlTG9jYWxpemF0aW9uc2AgYXJyYXkgaW4gdGhlIGBJbmZvLnBsaXN0YCBhdCBgaW9zL1J1bm5lci9JbmZvLnBsaXN0YCB0byBpbmNsdWRlIHRoZSBuZXcgbG9jYWxlLgoKYGBgeG1sCiAgICAuLi4KCiAgICA8a2V5PkNGQnVuZGxlTG9jYWxpemF0aW9uczwva2V5PgoJPGFycmF5PgoJCTxzdHJpbmc+ZW48L3N0cmluZz4KCQk8c3RyaW5nPmVzPC9zdHJpbmc+Cgk8L2FycmF5PgoKICAgIC4uLgpgYGAKCiMjIyBBZGRpbmcgVHJhbnNsYXRpb25zCgoxLiBGb3IgZWFjaCBzdXBwb3J0ZWQgbG9jYWxlLCBhZGQgYSBuZXcgQVJCIGZpbGUgaW4gYGxpYi9sMTBuL2FyYmAuCgpgYGAK4pSc4pSA4pSAIGwxMG4K4pSCICAg4pSc4pSA4pSAIGFyYgrilIIgICDilIIgICDilJzilIDilIAgYXBwX2VuLmFyYgrilIIgICDilIIgICDilJTilIDilIAgYXBwX2VzLmFyYgpgYGAKCjIuIEFkZCB0aGUgdHJhbnNsYXRlZCBzdHJpbmdzIHRvIGVhY2ggYC5hcmJgIGZpbGU6CgpgYXBwX2VuLmFyYmAKCmBgYGFyYgp7CiAgIkBAbG9jYWxlIjogImVuIiwKICAic3RhcnRWZXJ5R29vZEdhbWUiOiAiU3RhcnQgdGhlIFZlcnkgR29vZCBHYW1lIiwKICAiQHN0YXJ0VmVyeUdvb2RHYW1lIjogewogICAgImRlc2NyaXB0aW9uIjogIlRoZSBpbml0aWFsIHN0YXJ0IGJ1dHRvbiBvZiB0aGUgZ2FtZSBhcHBsaWNhdGlvbiIKICB9Cn0KYGBgCgpgYXBwX2VzLmFyYmAKCmBgYGFyYgp7CiAgIkBAbG9jYWxlIjogImVzIiwKICAic3RhcnRWZXJ5R29vZEdhbWUiOiAiRW1waWV6YSBlbCBNdXkgQnVlbiBKdWVnbyIsCiAgIkBzdGFydFZlcnlHb29kR2FtZSI6IHsKICAgICJkZXNjcmlwdGlvbiI6ICJFbCBib3TDs24gZGUgaW5pY2lvIGluaWNpYWwgZGUgbGEgYXBsaWNhY2nDs24gZGVsIGp1ZWdvIgogIH0KfQpgYGAKCltjb3ZlcmFnZV9iYWRnZV06IGNvdmVyYWdlX2JhZGdlLnN2ZwpbZmx1dHRlcl9sb2NhbGl6YXRpb25zX2xpbmtdOiBodHRwczovL2FwaS5mbHV0dGVyLmRldi9mbHV0dGVyL2ZsdXR0ZXJfbG9jYWxpemF0aW9ucy9mbHV0dGVyX2xvY2FsaXphdGlvbnMtbGlicmFyeS5odG1sCltpbnRlcm5hdGlvbmFsaXphdGlvbl9saW5rXTogaHR0cHM6Ly9mbHV0dGVyLmRldi9kb2NzL2RldmVsb3BtZW50L2FjY2Vzc2liaWxpdHktYW5kLWxvY2FsaXphdGlvbi9pbnRlcm5hdGlvbmFsaXphdGlvbgpbbGljZW5zZV9iYWRnZV06IGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vYmFkZ2UvbGljZW5zZS1NSVQtYmx1ZS5zdmcKW2xpY2Vuc2VfbGlua106IGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUClt2ZXJ5X2dvb2RfYW5hbHlzaXNfYmFkZ2VdOiBodHRwczovL2ltZy5zaGllbGRzLmlvL2JhZGdlL3N0eWxlLXZlcnlfZ29vZF9hbmFseXNpcy1CMjJDODkuc3ZnClt2ZXJ5X2dvb2RfYW5hbHlzaXNfbGlua106IGh0dHBzOi8vcHViLmRldi9wYWNrYWdlcy92ZXJ5X2dvb2RfYW5hbHlzaXMKW3ZlcnlfZ29vZF9jbGlfbGlua106IGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX2NsaQo=", + "IyB7e3Byb2plY3RfbmFtZS50aXRsZUNhc2UoKX19CgohW2NvdmVyYWdlXVtjb3ZlcmFnZV9iYWRnZV0KWyFbc3R5bGU6IHZlcnkgZ29vZCBhbmFseXNpc11bdmVyeV9nb29kX2FuYWx5c2lzX2JhZGdlXV1bdmVyeV9nb29kX2FuYWx5c2lzX2xpbmtdClshW0xpY2Vuc2U6IE1JVF1bbGljZW5zZV9iYWRnZV1dW2xpY2Vuc2VfbGlua10KCkdlbmVyYXRlZCBieSB0aGUgW1ZlcnkgR29vZCBDTEldW3ZlcnlfZ29vZF9jbGlfbGlua10g8J+klgoKe3t7ZGVzY3JpcHRpb259fX0KCi0tLQoKIyMgR2V0dGluZyBTdGFydGVkIPCfmoAKClRoaXMgcHJvamVjdCBjb250YWlucyAzIGZsYXZvcnM6CgotIGRldmVsb3BtZW50Ci0gc3RhZ2luZwotIHByb2R1Y3Rpb24KClRvIHJ1biB0aGUgZGVzaXJlZCBmbGF2b3IgZWl0aGVyIHVzZSB0aGUgbGF1bmNoIGNvbmZpZ3VyYXRpb24gaW4gVlNDb2RlL0FuZHJvaWQgU3R1ZGlvIG9yIHVzZSB0aGUgZm9sbG93aW5nIGNvbW1hbmRzOgoKYGBgc2gKIyBEZXZlbG9wbWVudAokIGZsdXR0ZXIgcnVuIC0tZmxhdm9yIGRldmVsb3BtZW50IC0tdGFyZ2V0IGxpYi9tYWluX2RldmVsb3BtZW50LmRhcnQKCiMgU3RhZ2luZwokIGZsdXR0ZXIgcnVuIC0tZmxhdm9yIHN0YWdpbmcgLS10YXJnZXQgbGliL21haW5fc3RhZ2luZy5kYXJ0CgojIFByb2R1Y3Rpb24KJCBmbHV0dGVyIHJ1biAtLWZsYXZvciBwcm9kdWN0aW9uIC0tdGFyZ2V0IGxpYi9tYWluX3Byb2R1Y3Rpb24uZGFydApgYGAKCl9cKnt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX0gd29ya3Mgb24gaU9TLCBBbmRyb2lkLCBXZWIsIGFuZCBXaW5kb3dzLl8KCi0tLQoKIyMgUnVubmluZyBUZXN0cyDwn6eqCgpUbyBydW4gYWxsIHVuaXQgYW5kIHdpZGdldCB0ZXN0cyB1c2UgdGhlIGZvbGxvd2luZyBjb21tYW5kOgoKYGBgc2gKJCBmbHV0dGVyIHRlc3QgLS1jb3ZlcmFnZSAtLXRlc3QtcmFuZG9taXplLW9yZGVyaW5nLXNlZWQgcmFuZG9tCmBgYAoKVG8gdmlldyB0aGUgZ2VuZXJhdGVkIGNvdmVyYWdlIHJlcG9ydCB5b3UgY2FuIHVzZSBbbGNvdl0oaHR0cHM6Ly9naXRodWIuY29tL2xpbnV4LXRlc3QtcHJvamVjdC9sY292KS4KCmBgYHNoCiMgR2VuZXJhdGUgQ292ZXJhZ2UgUmVwb3J0CiQgZ2VuaHRtbCBjb3ZlcmFnZS9sY292LmluZm8gLW8gY292ZXJhZ2UvCgojIE9wZW4gQ292ZXJhZ2UgUmVwb3J0CiQgb3BlbiBjb3ZlcmFnZS9pbmRleC5odG1sCmBgYAoKLS0tCgojIyBCbG9jIExpbnRzIPCflI0KClRoaXMgcHJvamVjdCB1c2VzIHRoZSBbYmxvY19saW50XShodHRwczovL3B1Yi5kZXYvcGFja2FnZXMvYmxvY19saW50KSBwYWNrYWdlIHRvIGVuZm9yY2UgYmVzdCBwcmFjdGljZXMgdXNpbmcgW2Jsb2NdKGh0dHBzOi8vcHViLmRldi9wYWNrYWdlcy9ibG9jKS4KClRvIHZhbGlkYXRlIGxpbnRlciBlcnJvcnMsIHJ1bgoKYGBgYmFzaApkYXJ0IHJ1biBibG9jX3Rvb2xzOmJsb2MgbGludCAuCmBgYAoKWW91IGNhbiBhbHNvIHZhbGlkYXRlIHdpdGggVlNDb2RlLWJhc2VkIElERXMgdXNpbmcgdGhlIFtvZmZpY2lhbCBibG9jIGV4dGVuc2lvbl0oaHR0cHM6Ly9tYXJrZXRwbGFjZS52aXN1YWxzdHVkaW8uY29tL2l0ZW1zP2l0ZW1OYW1lPUZlbGl4QW5nZWxvdi5ibG9jKS4KClRvIGxlYXJuIG1vcmUsIHZpc2l0IGh0dHBzOi8vYmxvY2xpYnJhcnkuZGV2L2xpbnQvCgotLS0KCiMjIFdvcmtpbmcgd2l0aCBUcmFuc2xhdGlvbnMg8J+MkAoKVGhpcyBwcm9qZWN0IHJlbGllcyBvbiBbZmx1dHRlcl9sb2NhbGl6YXRpb25zXVtmbHV0dGVyX2xvY2FsaXphdGlvbnNfbGlua10gYW5kIGZvbGxvd3MgdGhlIFtvZmZpY2lhbCBpbnRlcm5hdGlvbmFsaXphdGlvbiBndWlkZSBmb3IgRmx1dHRlcl1baW50ZXJuYXRpb25hbGl6YXRpb25fbGlua10uCgojIyMgQWRkaW5nIFN0cmluZ3MKCjEuIFRvIGFkZCBhIG5ldyBsb2NhbGl6YWJsZSBzdHJpbmcsIG9wZW4gdGhlIGBhcHBfZW4uYXJiYCBmaWxlIGF0IGBsaWIvbDEwbi9hcmIvYXBwX2VuLmFyYmAuCgpgYGBhcmIKewogICJAQGxvY2FsZSI6ICJlbiIsCiAgInN0YXJ0VmVyeUdvb2RHYW1lIjogIlN0YXJ0IHRoZSBWZXJ5IEdvb2QgR2FtZSIsCiAgIkBzdGFydFZlcnlHb29kR2FtZSI6IHsKICAgICJkZXNjcmlwdGlvbiI6ICJUaGUgaW5pdGlhbCBzdGFydCBidXR0b24gb2YgdGhlIGdhbWUgYXBwbGljYXRpb24iCiAgfQp9CmBgYAoKMi4gVGhlbiBhZGQgYSBuZXcga2V5L3ZhbHVlIGFuZCBkZXNjcmlwdGlvbgoKYGBgYXJiCnsKICAiQEBsb2NhbGUiOiAiZW4iLAogICJzdGFydFZlcnlHb29kR2FtZSI6ICJTdGFydCB0aGUgVmVyeSBHb29kIEdhbWUiLAogICJAc3RhcnRWZXJ5R29vZEdhbWUiOiB7CiAgICAiZGVzY3JpcHRpb24iOiAiVGhlIGluaXRpYWwgc3RhcnQgYnV0dG9uIG9mIHRoZSBnYW1lIGFwcGxpY2F0aW9uIgogIH0sCiAgImhlbGxvV29ybGQiOiAiSGVsbG8gV29ybGQiLAogICJAaGVsbG9Xb3JsZCI6IHsKICAgICJkZXNjcmlwdGlvbiI6ICJIZWxsbyBXb3JsZCBUZXh0IgogIH0KfQpgYGAKCjMuIFVzZSB0aGUgbmV3IHN0cmluZwoKYGBgZGFydAppbXBvcnQgJ3BhY2thZ2U6e3twcm9qZWN0X25hbWUuc25ha2VDYXNlKCl9fS9sMTBuL2wxMG4uZGFydCc7CgpAb3ZlcnJpZGUKV2lkZ2V0IGJ1aWxkKEJ1aWxkQ29udGV4dCBjb250ZXh0KSB7CiAgZmluYWwgbDEwbiA9IGNvbnRleHQubDEwbjsKICByZXR1cm4gVGV4dChsMTBuLmhlbGxvV29ybGQpOwp9CmBgYAoKIyMjIEFkZGluZyBTdXBwb3J0ZWQgTG9jYWxlcwoKVXBkYXRlIHRoZSBgQ0ZCdW5kbGVMb2NhbGl6YXRpb25zYCBhcnJheSBpbiB0aGUgYEluZm8ucGxpc3RgIGF0IGBpb3MvUnVubmVyL0luZm8ucGxpc3RgIHRvIGluY2x1ZGUgdGhlIG5ldyBsb2NhbGUuCgpgYGB4bWwKICAgIC4uLgoKICAgIDxrZXk+Q0ZCdW5kbGVMb2NhbGl6YXRpb25zPC9rZXk+Cgk8YXJyYXk+CgkJPHN0cmluZz5lbjwvc3RyaW5nPgoJCTxzdHJpbmc+ZXM8L3N0cmluZz4KCTwvYXJyYXk+CgogICAgLi4uCmBgYAoKIyMjIEFkZGluZyBUcmFuc2xhdGlvbnMKCjEuIEZvciBlYWNoIHN1cHBvcnRlZCBsb2NhbGUsIGFkZCBhIG5ldyBBUkIgZmlsZSBpbiBgbGliL2wxMG4vYXJiYC4KCmBgYArilJzilIDilIAgbDEwbgrilIIgICDilJzilIDilIAgYXJiCuKUgiAgIOKUgiAgIOKUnOKUgOKUgCBhcHBfZW4uYXJiCuKUgiAgIOKUgiAgIOKUlOKUgOKUgCBhcHBfZXMuYXJiCmBgYAoKMi4gQWRkIHRoZSB0cmFuc2xhdGVkIHN0cmluZ3MgdG8gZWFjaCBgLmFyYmAgZmlsZToKCmBhcHBfZW4uYXJiYAoKYGBgYXJiCnsKICAiQEBsb2NhbGUiOiAiZW4iLAogICJzdGFydFZlcnlHb29kR2FtZSI6ICJTdGFydCB0aGUgVmVyeSBHb29kIEdhbWUiLAogICJAc3RhcnRWZXJ5R29vZEdhbWUiOiB7CiAgICAiZGVzY3JpcHRpb24iOiAiVGhlIGluaXRpYWwgc3RhcnQgYnV0dG9uIG9mIHRoZSBnYW1lIGFwcGxpY2F0aW9uIgogIH0KfQpgYGAKCmBhcHBfZXMuYXJiYAoKYGBgYXJiCnsKICAiQEBsb2NhbGUiOiAiZXMiLAogICJzdGFydFZlcnlHb29kR2FtZSI6ICJFbXBpZXphIGVsIE11eSBCdWVuIEp1ZWdvIiwKICAiQHN0YXJ0VmVyeUdvb2RHYW1lIjogewogICAgImRlc2NyaXB0aW9uIjogIkVsIGJvdMOzbiBkZSBpbmljaW8gaW5pY2lhbCBkZSBsYSBhcGxpY2FjacOzbiBkZWwganVlZ28iCiAgfQp9CmBgYAoKW2NvdmVyYWdlX2JhZGdlXTogY292ZXJhZ2VfYmFkZ2Uuc3ZnCltmbHV0dGVyX2xvY2FsaXphdGlvbnNfbGlua106IGh0dHBzOi8vYXBpLmZsdXR0ZXIuZGV2L2ZsdXR0ZXIvZmx1dHRlcl9sb2NhbGl6YXRpb25zL2ZsdXR0ZXJfbG9jYWxpemF0aW9ucy1saWJyYXJ5Lmh0bWwKW2ludGVybmF0aW9uYWxpemF0aW9uX2xpbmtdOiBodHRwczovL2ZsdXR0ZXIuZGV2L2RvY3MvZGV2ZWxvcG1lbnQvYWNjZXNzaWJpbGl0eS1hbmQtbG9jYWxpemF0aW9uL2ludGVybmF0aW9uYWxpemF0aW9uCltsaWNlbnNlX2JhZGdlXTogaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9iYWRnZS9saWNlbnNlLU1JVC1ibHVlLnN2ZwpbbGljZW5zZV9saW5rXTogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQKW3ZlcnlfZ29vZF9hbmFseXNpc19iYWRnZV06IGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vYmFkZ2Uvc3R5bGUtdmVyeV9nb29kX2FuYWx5c2lzLUIyMkM4OS5zdmcKW3ZlcnlfZ29vZF9hbmFseXNpc19saW5rXTogaHR0cHM6Ly9wdWIuZGV2L3BhY2thZ2VzL3ZlcnlfZ29vZF9hbmFseXNpcwpbdmVyeV9nb29kX2NsaV9saW5rXTogaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfY2xpCg==", "type": "text", }, { @@ -891,7 +891,7 @@ final veryGoodFlameGameBundle = MasonBundle.fromJson({ { "path": "{{#ios}}ios{{/ios}}/Flutter/AppFrameworkInfo.plist", "data": - "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CjxwbGlzdCB2ZXJzaW9uPSIxLjAiPgo8ZGljdD4KCTxrZXk+Q0ZCdW5kbGVEZXZlbG9wbWVudFJlZ2lvbjwva2V5PgoJPHN0cmluZz4kKERFVkVMT1BNRU5UX0xBTkdVQUdFKTwvc3RyaW5nPgoJPGtleT5DRkJ1bmRsZUV4ZWN1dGFibGU8L2tleT4KCTxzdHJpbmc+QXBwPC9zdHJpbmc+Cgk8a2V5PkNGQnVuZGxlSWRlbnRpZmllcjwva2V5PgoJPHN0cmluZz5pby5mbHV0dGVyLmZsdXR0ZXIuYXBwPC9zdHJpbmc+Cgk8a2V5PkNGQnVuZGxlSW5mb0RpY3Rpb25hcnlWZXJzaW9uPC9rZXk+Cgk8c3RyaW5nPjYuMDwvc3RyaW5nPgoJPGtleT5DRkJ1bmRsZU5hbWU8L2tleT4KCTxzdHJpbmc+QXBwPC9zdHJpbmc+Cgk8a2V5PkNGQnVuZGxlUGFja2FnZVR5cGU8L2tleT4KCTxzdHJpbmc+Rk1XSzwvc3RyaW5nPgoJPGtleT5DRkJ1bmRsZVNob3J0VmVyc2lvblN0cmluZzwva2V5PgoJPHN0cmluZz4xLjA8L3N0cmluZz4KCTxrZXk+Q0ZCdW5kbGVTaWduYXR1cmU8L2tleT4KCTxzdHJpbmc+Pz8/Pzwvc3RyaW5nPgoJPGtleT5DRkJ1bmRsZVZlcnNpb248L2tleT4KCTxzdHJpbmc+MS4wPC9zdHJpbmc+Cgk8a2V5Pk1pbmltdW1PU1ZlcnNpb248L2tleT4KCTxzdHJpbmc+MTEuMDwvc3RyaW5nPgo8L2RpY3Q+CjwvcGxpc3Q+Cg==", + "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CjxwbGlzdCB2ZXJzaW9uPSIxLjAiPgo8ZGljdD4KCTxrZXk+Q0ZCdW5kbGVEZXZlbG9wbWVudFJlZ2lvbjwva2V5PgoJPHN0cmluZz4kKERFVkVMT1BNRU5UX0xBTkdVQUdFKTwvc3RyaW5nPgoJPGtleT5DRkJ1bmRsZUV4ZWN1dGFibGU8L2tleT4KCTxzdHJpbmc+QXBwPC9zdHJpbmc+Cgk8a2V5PkNGQnVuZGxlSWRlbnRpZmllcjwva2V5PgoJPHN0cmluZz5pby5mbHV0dGVyLmZsdXR0ZXIuYXBwPC9zdHJpbmc+Cgk8a2V5PkNGQnVuZGxlSW5mb0RpY3Rpb25hcnlWZXJzaW9uPC9rZXk+Cgk8c3RyaW5nPjYuMDwvc3RyaW5nPgoJPGtleT5DRkJ1bmRsZU5hbWU8L2tleT4KCTxzdHJpbmc+QXBwPC9zdHJpbmc+Cgk8a2V5PkNGQnVuZGxlUGFja2FnZVR5cGU8L2tleT4KCTxzdHJpbmc+Rk1XSzwvc3RyaW5nPgoJPGtleT5DRkJ1bmRsZVNob3J0VmVyc2lvblN0cmluZzwva2V5PgoJPHN0cmluZz4xLjA8L3N0cmluZz4KCTxrZXk+Q0ZCdW5kbGVTaWduYXR1cmU8L2tleT4KCTxzdHJpbmc+Pz8/Pzwvc3RyaW5nPgoJPGtleT5DRkJ1bmRsZVZlcnNpb248L2tleT4KCTxzdHJpbmc+MS4wPC9zdHJpbmc+Cgk8a2V5Pk1pbmltdW1PU1ZlcnNpb248L2tleT4KCTxzdHJpbmc+MTMuMDwvc3RyaW5nPgo8L2RpY3Q+CjwvcGxpc3Q+Cg==", "type": "text", }, { @@ -909,13 +909,13 @@ final veryGoodFlameGameBundle = MasonBundle.fromJson({ { "path": "{{#ios}}ios{{/ios}}/Podfile", "data": - "IyBVbmNvbW1lbnQgdGhpcyBsaW5lIHRvIGRlZmluZSBhIGdsb2JhbCBwbGF0Zm9ybSBmb3IgeW91ciBwcm9qZWN0CiMgcGxhdGZvcm0gOmlvcywgJzExLjAnCgojIENvY29hUG9kcyBhbmFseXRpY3Mgc2VuZHMgbmV0d29yayBzdGF0cyBzeW5jaHJvbm91c2x5IGFmZmVjdGluZyBmbHV0dGVyIGJ1aWxkIGxhdGVuY3kuCkVOVlsnQ09DT0FQT0RTX0RJU0FCTEVfU1RBVFMnXSA9ICd0cnVlJwoKcHJvamVjdCAnUnVubmVyJywgewogICdEZWJ1ZycgPT4gOmRlYnVnLAogICdQcm9maWxlJyA9PiA6cmVsZWFzZSwKICAnUmVsZWFzZScgPT4gOnJlbGVhc2UsCn0KCmRlZiBmbHV0dGVyX3Jvb3QKICBnZW5lcmF0ZWRfeGNvZGVfYnVpbGRfc2V0dGluZ3NfcGF0aCA9IEZpbGUuZXhwYW5kX3BhdGgoRmlsZS5qb2luKCcuLicsICdGbHV0dGVyJywgJ0dlbmVyYXRlZC54Y2NvbmZpZycpLCBfX0ZJTEVfXykKICB1bmxlc3MgRmlsZS5leGlzdD8oZ2VuZXJhdGVkX3hjb2RlX2J1aWxkX3NldHRpbmdzX3BhdGgpCiAgICByYWlzZSAiI3tnZW5lcmF0ZWRfeGNvZGVfYnVpbGRfc2V0dGluZ3NfcGF0aH0gbXVzdCBleGlzdC4gSWYgeW91J3JlIHJ1bm5pbmcgcG9kIGluc3RhbGwgbWFudWFsbHksIG1ha2Ugc3VyZSBmbHV0dGVyIHB1YiBnZXQgaXMgZXhlY3V0ZWQgZmlyc3QiCiAgZW5kCgogIEZpbGUuZm9yZWFjaChnZW5lcmF0ZWRfeGNvZGVfYnVpbGRfc2V0dGluZ3NfcGF0aCkgZG8gfGxpbmV8CiAgICBtYXRjaGVzID0gbGluZS5tYXRjaCgvRkxVVFRFUl9ST09UXD0oLiopLykKICAgIHJldHVybiBtYXRjaGVzWzFdLnN0cmlwIGlmIG1hdGNoZXMKICBlbmQKICByYWlzZSAiRkxVVFRFUl9ST09UIG5vdCBmb3VuZCBpbiAje2dlbmVyYXRlZF94Y29kZV9idWlsZF9zZXR0aW5nc19wYXRofS4gVHJ5IGRlbGV0aW5nIEdlbmVyYXRlZC54Y2NvbmZpZywgdGhlbiBydW4gZmx1dHRlciBwdWIgZ2V0IgplbmQKCnJlcXVpcmUgRmlsZS5leHBhbmRfcGF0aChGaWxlLmpvaW4oJ3BhY2thZ2VzJywgJ2ZsdXR0ZXJfdG9vbHMnLCAnYmluJywgJ3BvZGhlbHBlcicpLCBmbHV0dGVyX3Jvb3QpCgpmbHV0dGVyX2lvc19wb2RmaWxlX3NldHVwCgp0YXJnZXQgJ1J1bm5lcicgZG8KICB1c2VfZnJhbWV3b3JrcyEKICB1c2VfbW9kdWxhcl9oZWFkZXJzIQoKICBmbHV0dGVyX2luc3RhbGxfYWxsX2lvc19wb2RzIEZpbGUuZGlybmFtZShGaWxlLnJlYWxwYXRoKF9fRklMRV9fKSkKICB0YXJnZXQgJ1J1bm5lclRlc3RzJyBkbwogICAgaW5oZXJpdCEgOnNlYXJjaF9wYXRocwogIGVuZAplbmQKCnBvc3RfaW5zdGFsbCBkbyB8aW5zdGFsbGVyfAogIGluc3RhbGxlci5wb2RzX3Byb2plY3QudGFyZ2V0cy5lYWNoIGRvIHx0YXJnZXR8CiAgICBmbHV0dGVyX2FkZGl0aW9uYWxfaW9zX2J1aWxkX3NldHRpbmdzKHRhcmdldCkKICBlbmQKZW5kCg==", + "IyBVbmNvbW1lbnQgdGhpcyBsaW5lIHRvIGRlZmluZSBhIGdsb2JhbCBwbGF0Zm9ybSBmb3IgeW91ciBwcm9qZWN0CiMgcGxhdGZvcm0gOmlvcywgJzEzLjAnCgojIENvY29hUG9kcyBhbmFseXRpY3Mgc2VuZHMgbmV0d29yayBzdGF0cyBzeW5jaHJvbm91c2x5IGFmZmVjdGluZyBmbHV0dGVyIGJ1aWxkIGxhdGVuY3kuCkVOVlsnQ09DT0FQT0RTX0RJU0FCTEVfU1RBVFMnXSA9ICd0cnVlJwoKcHJvamVjdCAnUnVubmVyJywgewogICdEZWJ1ZycgPT4gOmRlYnVnLAogICdQcm9maWxlJyA9PiA6cmVsZWFzZSwKICAnUmVsZWFzZScgPT4gOnJlbGVhc2UsCn0KCmRlZiBmbHV0dGVyX3Jvb3QKICBnZW5lcmF0ZWRfeGNvZGVfYnVpbGRfc2V0dGluZ3NfcGF0aCA9IEZpbGUuZXhwYW5kX3BhdGgoRmlsZS5qb2luKCcuLicsICdGbHV0dGVyJywgJ0dlbmVyYXRlZC54Y2NvbmZpZycpLCBfX0ZJTEVfXykKICB1bmxlc3MgRmlsZS5leGlzdD8oZ2VuZXJhdGVkX3hjb2RlX2J1aWxkX3NldHRpbmdzX3BhdGgpCiAgICByYWlzZSAiI3tnZW5lcmF0ZWRfeGNvZGVfYnVpbGRfc2V0dGluZ3NfcGF0aH0gbXVzdCBleGlzdC4gSWYgeW91J3JlIHJ1bm5pbmcgcG9kIGluc3RhbGwgbWFudWFsbHksIG1ha2Ugc3VyZSBmbHV0dGVyIHB1YiBnZXQgaXMgZXhlY3V0ZWQgZmlyc3QiCiAgZW5kCgogIEZpbGUuZm9yZWFjaChnZW5lcmF0ZWRfeGNvZGVfYnVpbGRfc2V0dGluZ3NfcGF0aCkgZG8gfGxpbmV8CiAgICBtYXRjaGVzID0gbGluZS5tYXRjaCgvRkxVVFRFUl9ST09UXD0oLiopLykKICAgIHJldHVybiBtYXRjaGVzWzFdLnN0cmlwIGlmIG1hdGNoZXMKICBlbmQKICByYWlzZSAiRkxVVFRFUl9ST09UIG5vdCBmb3VuZCBpbiAje2dlbmVyYXRlZF94Y29kZV9idWlsZF9zZXR0aW5nc19wYXRofS4gVHJ5IGRlbGV0aW5nIEdlbmVyYXRlZC54Y2NvbmZpZywgdGhlbiBydW4gZmx1dHRlciBwdWIgZ2V0IgplbmQKCnJlcXVpcmUgRmlsZS5leHBhbmRfcGF0aChGaWxlLmpvaW4oJ3BhY2thZ2VzJywgJ2ZsdXR0ZXJfdG9vbHMnLCAnYmluJywgJ3BvZGhlbHBlcicpLCBmbHV0dGVyX3Jvb3QpCgpmbHV0dGVyX2lvc19wb2RmaWxlX3NldHVwCgp0YXJnZXQgJ1J1bm5lcicgZG8KICB1c2VfZnJhbWV3b3JrcyEKICB1c2VfbW9kdWxhcl9oZWFkZXJzIQoKICBmbHV0dGVyX2luc3RhbGxfYWxsX2lvc19wb2RzIEZpbGUuZGlybmFtZShGaWxlLnJlYWxwYXRoKF9fRklMRV9fKSkKICB0YXJnZXQgJ1J1bm5lclRlc3RzJyBkbwogICAgaW5oZXJpdCEgOnNlYXJjaF9wYXRocwogIGVuZAplbmQKCnBvc3RfaW5zdGFsbCBkbyB8aW5zdGFsbGVyfAogIGluc3RhbGxlci5wb2RzX3Byb2plY3QudGFyZ2V0cy5lYWNoIGRvIHx0YXJnZXR8CiAgICBmbHV0dGVyX2FkZGl0aW9uYWxfaW9zX2J1aWxkX3NldHRpbmdzKHRhcmdldCkKICBlbmQKZW5kCg==", "type": "text", }, { "path": "{{#ios}}ios{{/ios}}/Runner.xcodeproj/project.pbxproj", "data": - "Ly8gISQqVVRGOCokIQp7CglhcmNoaXZlVmVyc2lvbiA9IDE7CgljbGFzc2VzID0gewoJfTsKCW9iamVjdFZlcnNpb24gPSA1NDsKCW9iamVjdHMgPSB7CgovKiBCZWdpbiBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwoJCTE0OThEMjM0MUU4RTg5MjIwMDQwRjRDMiAvKiBHZW5lcmF0ZWRQbHVnaW5SZWdpc3RyYW50Lm0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDk4RDIzMzFFOEU4OTIyMDA0MEY0QzIgLyogR2VuZXJhdGVkUGx1Z2luUmVnaXN0cmFudC5tICovOyB9OwoJCTMzMUM4MDhCMjk0QTYzQUIwMDI2M0JFNSAvKiBSdW5uZXJUZXN0cy5zd2lmdCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzMUM4MDdCMjk0QTYxODcwMDI2M0JFNSAvKiBSdW5uZXJUZXN0cy5zd2lmdCAqLzsgfTsKCQkzNjhBQzMwMjI3NjUxMTBFMDVDQzQ2NEQgLyogUG9kc19SdW5uZXIuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODIwNEM0QUJDOTEwMzNFQjA0REJENDAwIC8qIFBvZHNfUnVubmVyLmZyYW1ld29yayAqLzsgfTsKCQkzQjM5NjcxNjFFODMzQ0FBMDA0RjU5NzAgLyogQXBwRnJhbWV3b3JrSW5mby5wbGlzdCBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gM0IzOTY3MTUxRTgzM0NBQTAwNEY1OTcwIC8qIEFwcEZyYW1ld29ya0luZm8ucGxpc3QgKi87IH07CgkJNzQ4NThGQUYxRUQyREM1NjAwNTE1ODEwIC8qIEFwcERlbGVnYXRlLnN3aWZ0IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzQ4NThGQUUxRUQyREM1NjAwNTE1ODEwIC8qIEFwcERlbGVnYXRlLnN3aWZ0ICovOyB9OwoJCTk3QzE0NkZDMUNGOTAwMEYwMDdDMTE3RCAvKiBNYWluLnN0b3J5Ym9hcmQgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3QzE0NkZBMUNGOTAwMEYwMDdDMTE3RCAvKiBNYWluLnN0b3J5Ym9hcmQgKi87IH07CgkJOTdDMTQ2RkUxQ0Y5MDAwRjAwN0MxMTdEIC8qIEFzc2V0cy54Y2Fzc2V0cyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdDMTQ2RkQxQ0Y5MDAwRjAwN0MxMTdEIC8qIEFzc2V0cy54Y2Fzc2V0cyAqLzsgfTsKCQk5N0MxNDcwMTFDRjkwMDBGMDA3QzExN0QgLyogTGF1bmNoU2NyZWVuLnN0b3J5Ym9hcmQgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3QzE0NkZGMUNGOTAwMEYwMDdDMTE3RCAvKiBMYXVuY2hTY3JlZW4uc3Rvcnlib2FyZCAqLzsgfTsKCQlGNUE5OUJCQkY5QzlGQjA5NURDNkFGM0UgLyogUG9kc19SdW5uZXJUZXN0cy5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNDEzNjc5QUI4M0Y5OUUzOTMxQUExMzMgLyogUG9kc19SdW5uZXJUZXN0cy5mcmFtZXdvcmsgKi87IH07Ci8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwoKLyogQmVnaW4gUEJYQ29udGFpbmVySXRlbVByb3h5IHNlY3Rpb24gKi8KCQkzMzFDODA4NTI5NEE2M0E0MDAyNjNCRTUgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovID0gewoJCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJveHk7CgkJCWNvbnRhaW5lclBvcnRhbCA9IDk3QzE0NkU2MUNGOTAwMEYwMDdDMTE3RCAvKiBQcm9qZWN0IG9iamVjdCAqLzsKCQkJcHJveHlUeXBlID0gMTsKCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcgPSA5N0MxNDZFRDFDRjkwMDBGMDA3QzExN0Q7CgkJCXJlbW90ZUluZm8gPSBSdW5uZXI7CgkJfTsKLyogRW5kIFBCWENvbnRhaW5lckl0ZW1Qcm94eSBzZWN0aW9uICovCgovKiBCZWdpbiBQQlhDb3B5RmlsZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KCQk5NzA1QTFDNDFDRjkwNDg1MDA1Mzg0ODkgLyogRW1iZWQgRnJhbWV3b3JrcyAqLyA9IHsKCQkJaXNhID0gUEJYQ29weUZpbGVzQnVpbGRQaGFzZTsKCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKCQkJZHN0UGF0aCA9ICIiOwoJCQlkc3RTdWJmb2xkZXJTcGVjID0gMTA7CgkJCWZpbGVzID0gKAoJCQkpOwoJCQluYW1lID0gIkVtYmVkIEZyYW1ld29ya3MiOwoJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKCQl9OwovKiBFbmQgUEJYQ29weUZpbGVzQnVpbGRQaGFzZSBzZWN0aW9uICovCgovKiBCZWdpbiBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KCQkwMTFBQ0U5MTU0NjRGODhGM0E2Njc1MzQgLyogUG9kcy1SdW5uZXIucmVsZWFzZS1kZXZlbG9wbWVudC54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBpbmNsdWRlSW5JbmRleCA9IDE7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgbmFtZSA9ICJQb2RzLVJ1bm5lci5yZWxlYXNlLWRldmVsb3BtZW50LnhjY29uZmlnIjsgcGF0aCA9ICJUYXJnZXQgU3VwcG9ydCBGaWxlcy9Qb2RzLVJ1bm5lci9Qb2RzLVJ1bm5lci5yZWxlYXNlLWRldmVsb3BtZW50LnhjY29uZmlnIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQkwNDEzNjc5QUI4M0Y5OUUzOTMxQUExMzMgLyogUG9kc19SdW5uZXJUZXN0cy5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSBQb2RzX1J1bm5lclRlc3RzLmZyYW1ld29yazsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKCQkxNDk4RDIzMjFFOEU4NjIzMDA0MEY0QzIgLyogR2VuZXJhdGVkUGx1Z2luUmVnaXN0cmFudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZW5lcmF0ZWRQbHVnaW5SZWdpc3RyYW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJMTQ5OEQyMzMxRThFODkyMjAwNDBGNEMyIC8qIEdlbmVyYXRlZFBsdWdpblJlZ2lzdHJhbnQubSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5vYmpjOyBwYXRoID0gR2VuZXJhdGVkUGx1Z2luUmVnaXN0cmFudC5tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTE0QkU3RjlFMTA1NDk4RkI3NTQ0MjJCNSAvKiBQb2RzLVJ1bm5lci5wcm9maWxlLWRldmVsb3BtZW50LnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGluY2x1ZGVJbkluZGV4ID0gMTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBuYW1lID0gIlBvZHMtUnVubmVyLnByb2ZpbGUtZGV2ZWxvcG1lbnQueGNjb25maWciOyBwYXRoID0gIlRhcmdldCBTdXBwb3J0IEZpbGVzL1BvZHMtUnVubmVyL1BvZHMtUnVubmVyLnByb2ZpbGUtZGV2ZWxvcG1lbnQueGNjb25maWciOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTMzMUM4MDdCMjk0QTYxODcwMDI2M0JFNSAvKiBSdW5uZXJUZXN0cy5zd2lmdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuc3dpZnQ7IHBhdGggPSBSdW5uZXJUZXN0cy5zd2lmdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQkzMzFDODA4MTI5NEE2M0E0MDAyNjNCRTUgLyogUnVubmVyVGVzdHMueGN0ZXN0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSB3cmFwcGVyLmNmYnVuZGxlOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSBSdW5uZXJUZXN0cy54Y3Rlc3Q7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CgkJMzUzNkZEOUM5MkIzOUQxQURDREIxQUM1IC8qIFBvZHMtUnVubmVyVGVzdHMucHJvZmlsZS1wcm9kdWN0aW9uLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGluY2x1ZGVJbkluZGV4ID0gMTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBuYW1lID0gIlBvZHMtUnVubmVyVGVzdHMucHJvZmlsZS1wcm9kdWN0aW9uLnhjY29uZmlnIjsgcGF0aCA9ICJUYXJnZXQgU3VwcG9ydCBGaWxlcy9Qb2RzLVJ1bm5lclRlc3RzL1BvZHMtUnVubmVyVGVzdHMucHJvZmlsZS1wcm9kdWN0aW9uLnhjY29uZmlnIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQkzQjM5NjcxNTFFODMzQ0FBMDA0RjU5NzAgLyogQXBwRnJhbWV3b3JrSW5mby5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQucGxpc3QueG1sOyBuYW1lID0gQXBwRnJhbWV3b3JrSW5mby5wbGlzdDsgcGF0aCA9IEZsdXR0ZXIvQXBwRnJhbWV3b3JrSW5mby5wbGlzdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQkzQkVEQkI1OTAzREYyNTlCMzk4NjhEQjQgLyogUG9kcy1SdW5uZXIuZGVidWctc3RhZ2luZy54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBpbmNsdWRlSW5JbmRleCA9IDE7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgbmFtZSA9ICJQb2RzLVJ1bm5lci5kZWJ1Zy1zdGFnaW5nLnhjY29uZmlnIjsgcGF0aCA9ICJUYXJnZXQgU3VwcG9ydCBGaWxlcy9Qb2RzLVJ1bm5lci9Qb2RzLVJ1bm5lci5kZWJ1Zy1zdGFnaW5nLnhjY29uZmlnIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQk0MUVDNDZBNzExMUMyQzRCMDI3MkFBN0YgLyogUG9kcy1SdW5uZXJUZXN0cy5wcm9maWxlLXN0YWdpbmcueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgaW5jbHVkZUluSW5kZXggPSAxOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IG5hbWUgPSAiUG9kcy1SdW5uZXJUZXN0cy5wcm9maWxlLXN0YWdpbmcueGNjb25maWciOyBwYXRoID0gIlRhcmdldCBTdXBwb3J0IEZpbGVzL1BvZHMtUnVubmVyVGVzdHMvUG9kcy1SdW5uZXJUZXN0cy5wcm9maWxlLXN0YWdpbmcueGNjb25maWciOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTQzRkQxOUU4MjRENzhDMERCQTEwNUZFNyAvKiBQb2RzLVJ1bm5lclRlc3RzLnByb2ZpbGUtZGV2ZWxvcG1lbnQueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgaW5jbHVkZUluSW5kZXggPSAxOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IG5hbWUgPSAiUG9kcy1SdW5uZXJUZXN0cy5wcm9maWxlLWRldmVsb3BtZW50LnhjY29uZmlnIjsgcGF0aCA9ICJUYXJnZXQgU3VwcG9ydCBGaWxlcy9Qb2RzLVJ1bm5lclRlc3RzL1BvZHMtUnVubmVyVGVzdHMucHJvZmlsZS1kZXZlbG9wbWVudC54Y2NvbmZpZyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJNEExMzQzRDA3MjlBQjc0RjgwN0UwMkZBIC8qIFBvZHMtUnVubmVyLmRlYnVnLWRldmVsb3BtZW50LnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGluY2x1ZGVJbkluZGV4ID0gMTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBuYW1lID0gIlBvZHMtUnVubmVyLmRlYnVnLWRldmVsb3BtZW50LnhjY29uZmlnIjsgcGF0aCA9ICJUYXJnZXQgU3VwcG9ydCBGaWxlcy9Qb2RzLVJ1bm5lci9Qb2RzLVJ1bm5lci5kZWJ1Zy1kZXZlbG9wbWVudC54Y2NvbmZpZyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJNjc3MDY1RTA0MDBGN0EyN0Y3RDBDMjJEIC8qIFBvZHMtUnVubmVyLnJlbGVhc2UtcHJvZHVjdGlvbi54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBpbmNsdWRlSW5JbmRleCA9IDE7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgbmFtZSA9ICJQb2RzLVJ1bm5lci5yZWxlYXNlLXByb2R1Y3Rpb24ueGNjb25maWciOyBwYXRoID0gIlRhcmdldCBTdXBwb3J0IEZpbGVzL1BvZHMtUnVubmVyL1BvZHMtUnVubmVyLnJlbGVhc2UtcHJvZHVjdGlvbi54Y2NvbmZpZyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJNzQ4NThGQUQxRUQyREM1NjAwNTE1ODEwIC8qIFJ1bm5lci1CcmlkZ2luZy1IZWFkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gIlJ1bm5lci1CcmlkZ2luZy1IZWFkZXIuaCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJNzQ4NThGQUUxRUQyREM1NjAwNTE1ODEwIC8qIEFwcERlbGVnYXRlLnN3aWZ0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5zd2lmdDsgcGF0aCA9IEFwcERlbGVnYXRlLnN3aWZ0OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTdBRkEzQzhFMUQzNTM2MEMwMDgzMDgyRSAvKiBSZWxlYXNlLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgbmFtZSA9IFJlbGVhc2UueGNjb25maWc7IHBhdGggPSBGbHV0dGVyL1JlbGVhc2UueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJODIwNEM0QUJDOTEwMzNFQjA0REJENDAwIC8qIFBvZHNfUnVubmVyLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IFBvZHNfUnVubmVyLmZyYW1ld29yazsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKCQk5MzQyOUU3MjIzNUJCQzhBNzkyMUU4QzkgLyogUG9kcy1SdW5uZXIucmVsZWFzZS1zdGFnaW5nLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGluY2x1ZGVJbkluZGV4ID0gMTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBuYW1lID0gIlBvZHMtUnVubmVyLnJlbGVhc2Utc3RhZ2luZy54Y2NvbmZpZyI7IHBhdGggPSAiVGFyZ2V0IFN1cHBvcnQgRmlsZXMvUG9kcy1SdW5uZXIvUG9kcy1SdW5uZXIucmVsZWFzZS1zdGFnaW5nLnhjY29uZmlnIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQk5NzQwRUVCMjFDRjkwMTk1MDA0Mzg0RkMgLyogRGVidWcueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBuYW1lID0gRGVidWcueGNjb25maWc7IHBhdGggPSBGbHV0dGVyL0RlYnVnLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTk3NDBFRUIzMUNGOTAxOTUwMDQzODRGQyAvKiBHZW5lcmF0ZWQueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBuYW1lID0gR2VuZXJhdGVkLnhjY29uZmlnOyBwYXRoID0gRmx1dHRlci9HZW5lcmF0ZWQueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJOTdDMTQ2RUUxQ0Y5MDAwRjAwN0MxMTdEIC8qIFJ1bm5lci5hcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHdyYXBwZXIuYXBwbGljYXRpb247IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IFJ1bm5lci5hcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CgkJOTdDMTQ2RkIxQ0Y5MDAwRjAwN0MxMTdEIC8qIEJhc2UgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBmaWxlLnN0b3J5Ym9hcmQ7IG5hbWUgPSBCYXNlOyBwYXRoID0gQmFzZS5scHJvai9NYWluLnN0b3J5Ym9hcmQ7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJOTdDMTQ2RkQxQ0Y5MDAwRjAwN0MxMTdEIC8qIEFzc2V0cy54Y2Fzc2V0cyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGZvbGRlci5hc3NldGNhdGFsb2c7IHBhdGggPSBBc3NldHMueGNhc3NldHM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJOTdDMTQ3MDAxQ0Y5MDAwRjAwN0MxMTdEIC8qIEJhc2UgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBmaWxlLnN0b3J5Ym9hcmQ7IG5hbWUgPSBCYXNlOyBwYXRoID0gQmFzZS5scHJvai9MYXVuY2hTY3JlZW4uc3Rvcnlib2FyZDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQk5N0MxNDcwMjFDRjkwMDBGMDA3QzExN0QgLyogSW5mby5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQucGxpc3QueG1sOyBwYXRoID0gSW5mby5wbGlzdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQlCQ0Q4MTBCM0E2MkE2MDRFNTQyOEJCQkIgLyogUG9kcy1SdW5uZXJUZXN0cy5kZWJ1Zy1kZXZlbG9wbWVudC54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBpbmNsdWRlSW5JbmRleCA9IDE7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgbmFtZSA9ICJQb2RzLVJ1bm5lclRlc3RzLmRlYnVnLWRldmVsb3BtZW50LnhjY29uZmlnIjsgcGF0aCA9ICJUYXJnZXQgU3VwcG9ydCBGaWxlcy9Qb2RzLVJ1bm5lclRlc3RzL1BvZHMtUnVubmVyVGVzdHMuZGVidWctZGV2ZWxvcG1lbnQueGNjb25maWciOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCUJFQzEzQjkxODg3QTM3RDg0RTg2MjdGMCAvKiBQb2RzLVJ1bm5lclRlc3RzLmRlYnVnLXByb2R1Y3Rpb24ueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgaW5jbHVkZUluSW5kZXggPSAxOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IG5hbWUgPSAiUG9kcy1SdW5uZXJUZXN0cy5kZWJ1Zy1wcm9kdWN0aW9uLnhjY29uZmlnIjsgcGF0aCA9ICJUYXJnZXQgU3VwcG9ydCBGaWxlcy9Qb2RzLVJ1bm5lclRlc3RzL1BvZHMtUnVubmVyVGVzdHMuZGVidWctcHJvZHVjdGlvbi54Y2NvbmZpZyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJQkYxREIxNjIyNzFDQ0ZGOUY4MjVGMzEyIC8qIFBvZHMtUnVubmVyVGVzdHMucmVsZWFzZS1kZXZlbG9wbWVudC54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBpbmNsdWRlSW5JbmRleCA9IDE7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgbmFtZSA9ICJQb2RzLVJ1bm5lclRlc3RzLnJlbGVhc2UtZGV2ZWxvcG1lbnQueGNjb25maWciOyBwYXRoID0gIlRhcmdldCBTdXBwb3J0IEZpbGVzL1BvZHMtUnVubmVyVGVzdHMvUG9kcy1SdW5uZXJUZXN0cy5yZWxlYXNlLWRldmVsb3BtZW50LnhjY29uZmlnIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQlDMDFCNTI0QzlCNkE4OTUyMDVCRjkyQjIgLyogUG9kcy1SdW5uZXJUZXN0cy5yZWxlYXNlLXByb2R1Y3Rpb24ueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgaW5jbHVkZUluSW5kZXggPSAxOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IG5hbWUgPSAiUG9kcy1SdW5uZXJUZXN0cy5yZWxlYXNlLXByb2R1Y3Rpb24ueGNjb25maWciOyBwYXRoID0gIlRhcmdldCBTdXBwb3J0IEZpbGVzL1BvZHMtUnVubmVyVGVzdHMvUG9kcy1SdW5uZXJUZXN0cy5yZWxlYXNlLXByb2R1Y3Rpb24ueGNjb25maWciOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCUUwQUNFOERGRkM2ODAyNjZGRTQzMTM1RSAvKiBQb2RzLVJ1bm5lci5wcm9maWxlLXN0YWdpbmcueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgaW5jbHVkZUluSW5kZXggPSAxOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IG5hbWUgPSAiUG9kcy1SdW5uZXIucHJvZmlsZS1zdGFnaW5nLnhjY29uZmlnIjsgcGF0aCA9ICJUYXJnZXQgU3VwcG9ydCBGaWxlcy9Qb2RzLVJ1bm5lci9Qb2RzLVJ1bm5lci5wcm9maWxlLXN0YWdpbmcueGNjb25maWciOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCUYxOEQ5QTczNTVENzJGMzRCRTJDNjQ3QiAvKiBQb2RzLVJ1bm5lclRlc3RzLmRlYnVnLXN0YWdpbmcueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgaW5jbHVkZUluSW5kZXggPSAxOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IG5hbWUgPSAiUG9kcy1SdW5uZXJUZXN0cy5kZWJ1Zy1zdGFnaW5nLnhjY29uZmlnIjsgcGF0aCA9ICJUYXJnZXQgU3VwcG9ydCBGaWxlcy9Qb2RzLVJ1bm5lclRlc3RzL1BvZHMtUnVubmVyVGVzdHMuZGVidWctc3RhZ2luZy54Y2NvbmZpZyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJRjRGMjJBNDE2QzgzRjM4N0ExNzE0RjI2IC8qIFBvZHMtUnVubmVyLmRlYnVnLXByb2R1Y3Rpb24ueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgaW5jbHVkZUluSW5kZXggPSAxOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IG5hbWUgPSAiUG9kcy1SdW5uZXIuZGVidWctcHJvZHVjdGlvbi54Y2NvbmZpZyI7IHBhdGggPSAiVGFyZ2V0IFN1cHBvcnQgRmlsZXMvUG9kcy1SdW5uZXIvUG9kcy1SdW5uZXIuZGVidWctcHJvZHVjdGlvbi54Y2NvbmZpZyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJRjcwMkNCRTIyQzJFNDhBMzc1RjQyOTM4IC8qIFBvZHMtUnVubmVyVGVzdHMucmVsZWFzZS1zdGFnaW5nLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGluY2x1ZGVJbkluZGV4ID0gMTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBuYW1lID0gIlBvZHMtUnVubmVyVGVzdHMucmVsZWFzZS1zdGFnaW5nLnhjY29uZmlnIjsgcGF0aCA9ICJUYXJnZXQgU3VwcG9ydCBGaWxlcy9Qb2RzLVJ1bm5lclRlc3RzL1BvZHMtUnVubmVyVGVzdHMucmVsZWFzZS1zdGFnaW5nLnhjY29uZmlnIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQlGOURFMDRCQ0I1QkRCODRBRTkyOTkwRTAgLyogUG9kcy1SdW5uZXIucHJvZmlsZS1wcm9kdWN0aW9uLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGluY2x1ZGVJbkluZGV4ID0gMTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBuYW1lID0gIlBvZHMtUnVubmVyLnByb2ZpbGUtcHJvZHVjdGlvbi54Y2NvbmZpZyI7IHBhdGggPSAiVGFyZ2V0IFN1cHBvcnQgRmlsZXMvUG9kcy1SdW5uZXIvUG9kcy1SdW5uZXIucHJvZmlsZS1wcm9kdWN0aW9uLnhjY29uZmlnIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLyogRW5kIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwoKLyogQmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwoJCTk3QzE0NkVCMUNGOTAwMEYwMDdDMTE3RCAvKiBGcmFtZXdvcmtzICovID0gewoJCQlpc2EgPSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsKCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKCQkJZmlsZXMgPSAoCgkJCQkzNjhBQzMwMjI3NjUxMTBFMDVDQzQ2NEQgLyogUG9kc19SdW5uZXIuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCgkJCSk7CgkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwoJCX07CgkJRENGMzhEMDAzREY2Q0NBMTMwRkNERDc1IC8qIEZyYW1ld29ya3MgKi8gPSB7CgkJCWlzYSA9IFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlOwoJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwoJCQlmaWxlcyA9ICgKCQkJCUY1QTk5QkJCRjlDOUZCMDk1REM2QUYzRSAvKiBQb2RzX1J1bm5lclRlc3RzLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAoJCQkpOwoJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKCQl9OwovKiBFbmQgUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwoKLyogQmVnaW4gUEJYR3JvdXAgc2VjdGlvbiAqLwoJCTEyQzczMDlGMDUwODU3QUE1MkUwQ0U0MyAvKiBQb2RzICovID0gewoJCQlpc2EgPSBQQlhHcm91cDsKCQkJY2hpbGRyZW4gPSAoCgkJCQlGNEYyMkE0MTZDODNGMzg3QTE3MTRGMjYgLyogUG9kcy1SdW5uZXIuZGVidWctcHJvZHVjdGlvbi54Y2NvbmZpZyAqLywKCQkJCTNCRURCQjU5MDNERjI1OUIzOTg2OERCNCAvKiBQb2RzLVJ1bm5lci5kZWJ1Zy1zdGFnaW5nLnhjY29uZmlnICovLAoJCQkJNEExMzQzRDA3MjlBQjc0RjgwN0UwMkZBIC8qIFBvZHMtUnVubmVyLmRlYnVnLWRldmVsb3BtZW50LnhjY29uZmlnICovLAoJCQkJNjc3MDY1RTA0MDBGN0EyN0Y3RDBDMjJEIC8qIFBvZHMtUnVubmVyLnJlbGVhc2UtcHJvZHVjdGlvbi54Y2NvbmZpZyAqLywKCQkJCTkzNDI5RTcyMjM1QkJDOEE3OTIxRThDOSAvKiBQb2RzLVJ1bm5lci5yZWxlYXNlLXN0YWdpbmcueGNjb25maWcgKi8sCgkJCQkwMTFBQ0U5MTU0NjRGODhGM0E2Njc1MzQgLyogUG9kcy1SdW5uZXIucmVsZWFzZS1kZXZlbG9wbWVudC54Y2NvbmZpZyAqLywKCQkJCUY5REUwNEJDQjVCREI4NEFFOTI5OTBFMCAvKiBQb2RzLVJ1bm5lci5wcm9maWxlLXByb2R1Y3Rpb24ueGNjb25maWcgKi8sCgkJCQlFMEFDRThERkZDNjgwMjY2RkU0MzEzNUUgLyogUG9kcy1SdW5uZXIucHJvZmlsZS1zdGFnaW5nLnhjY29uZmlnICovLAoJCQkJMTRCRTdGOUUxMDU0OThGQjc1NDQyMkI1IC8qIFBvZHMtUnVubmVyLnByb2ZpbGUtZGV2ZWxvcG1lbnQueGNjb25maWcgKi8sCgkJCQlCRUMxM0I5MTg4N0EzN0Q4NEU4NjI3RjAgLyogUG9kcy1SdW5uZXJUZXN0cy5kZWJ1Zy1wcm9kdWN0aW9uLnhjY29uZmlnICovLAoJCQkJRjE4RDlBNzM1NUQ3MkYzNEJFMkM2NDdCIC8qIFBvZHMtUnVubmVyVGVzdHMuZGVidWctc3RhZ2luZy54Y2NvbmZpZyAqLywKCQkJCUJDRDgxMEIzQTYyQTYwNEU1NDI4QkJCQiAvKiBQb2RzLVJ1bm5lclRlc3RzLmRlYnVnLWRldmVsb3BtZW50LnhjY29uZmlnICovLAoJCQkJQzAxQjUyNEM5QjZBODk1MjA1QkY5MkIyIC8qIFBvZHMtUnVubmVyVGVzdHMucmVsZWFzZS1wcm9kdWN0aW9uLnhjY29uZmlnICovLAoJCQkJRjcwMkNCRTIyQzJFNDhBMzc1RjQyOTM4IC8qIFBvZHMtUnVubmVyVGVzdHMucmVsZWFzZS1zdGFnaW5nLnhjY29uZmlnICovLAoJCQkJQkYxREIxNjIyNzFDQ0ZGOUY4MjVGMzEyIC8qIFBvZHMtUnVubmVyVGVzdHMucmVsZWFzZS1kZXZlbG9wbWVudC54Y2NvbmZpZyAqLywKCQkJCTM1MzZGRDlDOTJCMzlEMUFEQ0RCMUFDNSAvKiBQb2RzLVJ1bm5lclRlc3RzLnByb2ZpbGUtcHJvZHVjdGlvbi54Y2NvbmZpZyAqLywKCQkJCTQxRUM0NkE3MTExQzJDNEIwMjcyQUE3RiAvKiBQb2RzLVJ1bm5lclRlc3RzLnByb2ZpbGUtc3RhZ2luZy54Y2NvbmZpZyAqLywKCQkJCTQzRkQxOUU4MjRENzhDMERCQTEwNUZFNyAvKiBQb2RzLVJ1bm5lclRlc3RzLnByb2ZpbGUtZGV2ZWxvcG1lbnQueGNjb25maWcgKi8sCgkJCSk7CgkJCW5hbWUgPSBQb2RzOwoJCQlwYXRoID0gUG9kczsKCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKCQl9OwoJCTMzMUM4MDgyMjk0QTYzQTQwMDI2M0JFNSAvKiBSdW5uZXJUZXN0cyAqLyA9IHsKCQkJaXNhID0gUEJYR3JvdXA7CgkJCWNoaWxkcmVuID0gKAoJCQkJMzMxQzgwN0IyOTRBNjE4NzAwMjYzQkU1IC8qIFJ1bm5lclRlc3RzLnN3aWZ0ICovLAoJCQkpOwoJCQlwYXRoID0gUnVubmVyVGVzdHM7CgkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CgkJfTsKCQk5NzQwRUVCMTFDRjkwMTg2MDA0Mzg0RkMgLyogRmx1dHRlciAqLyA9IHsKCQkJaXNhID0gUEJYR3JvdXA7CgkJCWNoaWxkcmVuID0gKAoJCQkJM0IzOTY3MTUxRTgzM0NBQTAwNEY1OTcwIC8qIEFwcEZyYW1ld29ya0luZm8ucGxpc3QgKi8sCgkJCQk5NzQwRUVCMjFDRjkwMTk1MDA0Mzg0RkMgLyogRGVidWcueGNjb25maWcgKi8sCgkJCQk3QUZBM0M4RTFEMzUzNjBDMDA4MzA4MkUgLyogUmVsZWFzZS54Y2NvbmZpZyAqLywKCQkJCTk3NDBFRUIzMUNGOTAxOTUwMDQzODRGQyAvKiBHZW5lcmF0ZWQueGNjb25maWcgKi8sCgkJCSk7CgkJCW5hbWUgPSBGbHV0dGVyOwoJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwoJCX07CgkJOTdDMTQ2RTUxQ0Y5MDAwRjAwN0MxMTdEID0gewoJCQlpc2EgPSBQQlhHcm91cDsKCQkJY2hpbGRyZW4gPSAoCgkJCQk5NzQwRUVCMTFDRjkwMTg2MDA0Mzg0RkMgLyogRmx1dHRlciAqLywKCQkJCTk3QzE0NkYwMUNGOTAwMEYwMDdDMTE3RCAvKiBSdW5uZXIgKi8sCgkJCQk5N0MxNDZFRjFDRjkwMDBGMDA3QzExN0QgLyogUHJvZHVjdHMgKi8sCgkJCQkzMzFDODA4MjI5NEE2M0E0MDAyNjNCRTUgLyogUnVubmVyVGVzdHMgKi8sCgkJCQkxMkM3MzA5RjA1MDg1N0FBNTJFMENFNDMgLyogUG9kcyAqLywKCQkJCUFGQjE4QkQ4NkJCMDlGMUJEMDI4MDUyQiAvKiBGcmFtZXdvcmtzICovLAoJCQkpOwoJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwoJCX07CgkJOTdDMTQ2RUYxQ0Y5MDAwRjAwN0MxMTdEIC8qIFByb2R1Y3RzICovID0gewoJCQlpc2EgPSBQQlhHcm91cDsKCQkJY2hpbGRyZW4gPSAoCgkJCQk5N0MxNDZFRTFDRjkwMDBGMDA3QzExN0QgLyogUnVubmVyLmFwcCAqLywKCQkJCTMzMUM4MDgxMjk0QTYzQTQwMDI2M0JFNSAvKiBSdW5uZXJUZXN0cy54Y3Rlc3QgKi8sCgkJCSk7CgkJCW5hbWUgPSBQcm9kdWN0czsKCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKCQl9OwoJCTk3QzE0NkYwMUNGOTAwMEYwMDdDMTE3RCAvKiBSdW5uZXIgKi8gPSB7CgkJCWlzYSA9IFBCWEdyb3VwOwoJCQljaGlsZHJlbiA9ICgKCQkJCTk3QzE0NkZBMUNGOTAwMEYwMDdDMTE3RCAvKiBNYWluLnN0b3J5Ym9hcmQgKi8sCgkJCQk5N0MxNDZGRDFDRjkwMDBGMDA3QzExN0QgLyogQXNzZXRzLnhjYXNzZXRzICovLAoJCQkJOTdDMTQ2RkYxQ0Y5MDAwRjAwN0MxMTdEIC8qIExhdW5jaFNjcmVlbi5zdG9yeWJvYXJkICovLAoJCQkJOTdDMTQ3MDIxQ0Y5MDAwRjAwN0MxMTdEIC8qIEluZm8ucGxpc3QgKi8sCgkJCQkxNDk4RDIzMjFFOEU4NjIzMDA0MEY0QzIgLyogR2VuZXJhdGVkUGx1Z2luUmVnaXN0cmFudC5oICovLAoJCQkJMTQ5OEQyMzMxRThFODkyMjAwNDBGNEMyIC8qIEdlbmVyYXRlZFBsdWdpblJlZ2lzdHJhbnQubSAqLywKCQkJCTc0ODU4RkFFMUVEMkRDNTYwMDUxNTgxMCAvKiBBcHBEZWxlZ2F0ZS5zd2lmdCAqLywKCQkJCTc0ODU4RkFEMUVEMkRDNTYwMDUxNTgxMCAvKiBSdW5uZXItQnJpZGdpbmctSGVhZGVyLmggKi8sCgkJCSk7CgkJCXBhdGggPSBSdW5uZXI7CgkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CgkJfTsKCQlBRkIxOEJEODZCQjA5RjFCRDAyODA1MkIgLyogRnJhbWV3b3JrcyAqLyA9IHsKCQkJaXNhID0gUEJYR3JvdXA7CgkJCWNoaWxkcmVuID0gKAoJCQkJODIwNEM0QUJDOTEwMzNFQjA0REJENDAwIC8qIFBvZHNfUnVubmVyLmZyYW1ld29yayAqLywKCQkJCTA0MTM2NzlBQjgzRjk5RTM5MzFBQTEzMyAvKiBQb2RzX1J1bm5lclRlc3RzLmZyYW1ld29yayAqLywKCQkJKTsKCQkJbmFtZSA9IEZyYW1ld29ya3M7CgkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CgkJfTsKLyogRW5kIFBCWEdyb3VwIHNlY3Rpb24gKi8KCi8qIEJlZ2luIFBCWE5hdGl2ZVRhcmdldCBzZWN0aW9uICovCgkJMzMxQzgwODAyOTRBNjNBNDAwMjYzQkU1IC8qIFJ1bm5lclRlc3RzICovID0gewoJCQlpc2EgPSBQQlhOYXRpdmVUYXJnZXQ7CgkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAzMzFDODA4NzI5NEE2M0E0MDAyNjNCRTUgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIlJ1bm5lclRlc3RzIiAqLzsKCQkJYnVpbGRQaGFzZXMgPSAoCgkJCQk3NURBMTM0RURFQzc4QTUyMTAxRkUwQjIgLyogW0NQXSBDaGVjayBQb2RzIE1hbmlmZXN0LmxvY2sgKi8sCgkJCQkzMzFDODA3RDI5NEE2M0E0MDAyNjNCRTUgLyogU291cmNlcyAqLywKCQkJCTMzMUM4MDdGMjk0QTYzQTQwMDI2M0JFNSAvKiBSZXNvdXJjZXMgKi8sCgkJCQlEQ0YzOEQwMDNERjZDQ0ExMzBGQ0RENzUgLyogRnJhbWV3b3JrcyAqLywKCQkJKTsKCQkJYnVpbGRSdWxlcyA9ICgKCQkJKTsKCQkJZGVwZW5kZW5jaWVzID0gKAoJCQkJMzMxQzgwODYyOTRBNjNBNDAwMjYzQkU1IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8sCgkJCSk7CgkJCW5hbWUgPSBSdW5uZXJUZXN0czsKCQkJcHJvZHVjdE5hbWUgPSBSdW5uZXJUZXN0czsKCQkJcHJvZHVjdFJlZmVyZW5jZSA9IDMzMUM4MDgxMjk0QTYzQTQwMDI2M0JFNSAvKiBSdW5uZXJUZXN0cy54Y3Rlc3QgKi87CgkJCXByb2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUuYnVuZGxlLnVuaXQtdGVzdCI7CgkJfTsKCQk5N0MxNDZFRDFDRjkwMDBGMDA3QzExN0QgLyogUnVubmVyICovID0gewoJCQlpc2EgPSBQQlhOYXRpdmVUYXJnZXQ7CgkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSA5N0MxNDcwNTFDRjkwMDBGMDA3QzExN0QgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIlJ1bm5lciIgKi87CgkJCWJ1aWxkUGhhc2VzID0gKAoJCQkJNEEyNTI4RjVERjdGNTU5REZDOUU1ODdGIC8qIFtDUF0gQ2hlY2sgUG9kcyBNYW5pZmVzdC5sb2NrICovLAoJCQkJOTc0MEVFQjYxQ0Y5MDFGNjAwNDM4NEZDIC8qIFJ1biBTY3JpcHQgKi8sCgkJCQk5N0MxNDZFQTFDRjkwMDBGMDA3QzExN0QgLyogU291cmNlcyAqLywKCQkJCTk3QzE0NkVCMUNGOTAwMEYwMDdDMTE3RCAvKiBGcmFtZXdvcmtzICovLAoJCQkJOTdDMTQ2RUMxQ0Y5MDAwRjAwN0MxMTdEIC8qIFJlc291cmNlcyAqLywKCQkJCTk3MDVBMUM0MUNGOTA0ODUwMDUzODQ4OSAvKiBFbWJlZCBGcmFtZXdvcmtzICovLAoJCQkJM0IwNkFEMUUxRTQ5MjNGNTAwNEQyNjA4IC8qIFRoaW4gQmluYXJ5ICovLAoJCQkJNDNENzZBOUI3Mzg2RUU4QzhEN0M3NTFDIC8qIFtDUF0gRW1iZWQgUG9kcyBGcmFtZXdvcmtzICovLAoJCQkpOwoJCQlidWlsZFJ1bGVzID0gKAoJCQkpOwoJCQlkZXBlbmRlbmNpZXMgPSAoCgkJCSk7CgkJCW5hbWUgPSBSdW5uZXI7CgkJCXByb2R1Y3ROYW1lID0gUnVubmVyOwoJCQlwcm9kdWN0UmVmZXJlbmNlID0gOTdDMTQ2RUUxQ0Y5MDAwRjAwN0MxMTdEIC8qIFJ1bm5lci5hcHAgKi87CgkJCXByb2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUuYXBwbGljYXRpb24iOwoJCX07Ci8qIEVuZCBQQlhOYXRpdmVUYXJnZXQgc2VjdGlvbiAqLwoKLyogQmVnaW4gUEJYUHJvamVjdCBzZWN0aW9uICovCgkJOTdDMTQ2RTYxQ0Y5MDAwRjAwN0MxMTdEIC8qIFByb2plY3Qgb2JqZWN0ICovID0gewoJCQlpc2EgPSBQQlhQcm9qZWN0OwoJCQlhdHRyaWJ1dGVzID0gewoJCQkJQnVpbGRJbmRlcGVuZGVudFRhcmdldHNJblBhcmFsbGVsID0gTk87CgkJCQlMYXN0VXBncmFkZUNoZWNrID0gMTQzMDsKCQkJCU9SR0FOSVpBVElPTk5BTUUgPSAiIjsKCQkJCVRhcmdldEF0dHJpYnV0ZXMgPSB7CgkJCQkJMzMxQzgwODAyOTRBNjNBNDAwMjYzQkU1ID0gewoJCQkJCQlDcmVhdGVkT25Ub29sc1ZlcnNpb24gPSAxNC4wOwoJCQkJCQlUZXN0VGFyZ2V0SUQgPSA5N0MxNDZFRDFDRjkwMDBGMDA3QzExN0Q7CgkJCQkJfTsKCQkJCQk5N0MxNDZFRDFDRjkwMDBGMDA3QzExN0QgPSB7CgkJCQkJCUNyZWF0ZWRPblRvb2xzVmVyc2lvbiA9IDcuMy4xOwoJCQkJCQlMYXN0U3dpZnRNaWdyYXRpb24gPSAxMTAwOwoJCQkJCX07CgkJCQl9OwoJCQl9OwoJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gOTdDMTQ2RTkxQ0Y5MDAwRjAwN0MxMTdEIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJvamVjdCAiUnVubmVyIiAqLzsKCQkJY29tcGF0aWJpbGl0eVZlcnNpb24gPSAiWGNvZGUgOS4zIjsKCQkJZGV2ZWxvcG1lbnRSZWdpb24gPSBlbjsKCQkJaGFzU2Nhbm5lZEZvckVuY29kaW5ncyA9IDA7CgkJCWtub3duUmVnaW9ucyA9ICgKCQkJCWVuLAoJCQkJQmFzZSwKCQkJKTsKCQkJbWFpbkdyb3VwID0gOTdDMTQ2RTUxQ0Y5MDAwRjAwN0MxMTdEOwoJCQlwcm9kdWN0UmVmR3JvdXAgPSA5N0MxNDZFRjFDRjkwMDBGMDA3QzExN0QgLyogUHJvZHVjdHMgKi87CgkJCXByb2plY3REaXJQYXRoID0gIiI7CgkJCXByb2plY3RSb290ID0gIiI7CgkJCXRhcmdldHMgPSAoCgkJCQk5N0MxNDZFRDFDRjkwMDBGMDA3QzExN0QgLyogUnVubmVyICovLAoJCQkJMzMxQzgwODAyOTRBNjNBNDAwMjYzQkU1IC8qIFJ1bm5lclRlc3RzICovLAoJCQkpOwoJCX07Ci8qIEVuZCBQQlhQcm9qZWN0IHNlY3Rpb24gKi8KCi8qIEJlZ2luIFBCWFJlc291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwoJCTMzMUM4MDdGMjk0QTYzQTQwMDI2M0JFNSAvKiBSZXNvdXJjZXMgKi8gPSB7CgkJCWlzYSA9IFBCWFJlc291cmNlc0J1aWxkUGhhc2U7CgkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CgkJCWZpbGVzID0gKAoJCQkpOwoJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKCQl9OwoJCTk3QzE0NkVDMUNGOTAwMEYwMDdDMTE3RCAvKiBSZXNvdXJjZXMgKi8gPSB7CgkJCWlzYSA9IFBCWFJlc291cmNlc0J1aWxkUGhhc2U7CgkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CgkJCWZpbGVzID0gKAoJCQkJOTdDMTQ3MDExQ0Y5MDAwRjAwN0MxMTdEIC8qIExhdW5jaFNjcmVlbi5zdG9yeWJvYXJkIGluIFJlc291cmNlcyAqLywKCQkJCTNCMzk2NzE2MUU4MzNDQUEwMDRGNTk3MCAvKiBBcHBGcmFtZXdvcmtJbmZvLnBsaXN0IGluIFJlc291cmNlcyAqLywKCQkJCTk3QzE0NkZFMUNGOTAwMEYwMDdDMTE3RCAvKiBBc3NldHMueGNhc3NldHMgaW4gUmVzb3VyY2VzICovLAoJCQkJOTdDMTQ2RkMxQ0Y5MDAwRjAwN0MxMTdEIC8qIE1haW4uc3Rvcnlib2FyZCBpbiBSZXNvdXJjZXMgKi8sCgkJCSk7CgkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwoJCX07Ci8qIEVuZCBQQlhSZXNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KCi8qIEJlZ2luIFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZSBzZWN0aW9uICovCgkJM0IwNkFEMUUxRTQ5MjNGNTAwNEQyNjA4IC8qIFRoaW4gQmluYXJ5ICovID0gewoJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CgkJCWFsd2F5c091dE9mRGF0ZSA9IDE7CgkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CgkJCWZpbGVzID0gKAoJCQkpOwoJCQlpbnB1dFBhdGhzID0gKAoJCQkJIiR7VEFSR0VUX0JVSUxEX0RJUn0vJHtJTkZPUExJU1RfUEFUSH0iLAoJCQkpOwoJCQluYW1lID0gIlRoaW4gQmluYXJ5IjsKCQkJb3V0cHV0UGF0aHMgPSAoCgkJCSk7CgkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwoJCQlzaGVsbFBhdGggPSAvYmluL3NoOwoJCQlzaGVsbFNjcmlwdCA9ICIvYmluL3NoIFwiJEZMVVRURVJfUk9PVC9wYWNrYWdlcy9mbHV0dGVyX3Rvb2xzL2Jpbi94Y29kZV9iYWNrZW5kLnNoXCIgZW1iZWRfYW5kX3RoaW4iOwoJCX07CgkJNDNENzZBOUI3Mzg2RUU4QzhEN0M3NTFDIC8qIFtDUF0gRW1iZWQgUG9kcyBGcmFtZXdvcmtzICovID0gewoJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CgkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CgkJCWZpbGVzID0gKAoJCQkpOwoJCQlpbnB1dEZpbGVMaXN0UGF0aHMgPSAoCgkJCQkiJHtQT0RTX1JPT1R9L1RhcmdldCBTdXBwb3J0IEZpbGVzL1BvZHMtUnVubmVyL1BvZHMtUnVubmVyLWZyYW1ld29ya3MtJHtDT05GSUdVUkFUSU9OfS1pbnB1dC1maWxlcy54Y2ZpbGVsaXN0IiwKCQkJKTsKCQkJbmFtZSA9ICJbQ1BdIEVtYmVkIFBvZHMgRnJhbWV3b3JrcyI7CgkJCW91dHB1dEZpbGVMaXN0UGF0aHMgPSAoCgkJCQkiJHtQT0RTX1JPT1R9L1RhcmdldCBTdXBwb3J0IEZpbGVzL1BvZHMtUnVubmVyL1BvZHMtUnVubmVyLWZyYW1ld29ya3MtJHtDT05GSUdVUkFUSU9OfS1vdXRwdXQtZmlsZXMueGNmaWxlbGlzdCIsCgkJCSk7CgkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwoJCQlzaGVsbFBhdGggPSAvYmluL3NoOwoJCQlzaGVsbFNjcmlwdCA9ICJcIiR7UE9EU19ST09UfS9UYXJnZXQgU3VwcG9ydCBGaWxlcy9Qb2RzLVJ1bm5lci9Qb2RzLVJ1bm5lci1mcmFtZXdvcmtzLnNoXCJcbiI7CgkJCXNob3dFbnZWYXJzSW5Mb2cgPSAwOwoJCX07CgkJNEEyNTI4RjVERjdGNTU5REZDOUU1ODdGIC8qIFtDUF0gQ2hlY2sgUG9kcyBNYW5pZmVzdC5sb2NrICovID0gewoJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CgkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CgkJCWZpbGVzID0gKAoJCQkpOwoJCQlpbnB1dEZpbGVMaXN0UGF0aHMgPSAoCgkJCSk7CgkJCWlucHV0UGF0aHMgPSAoCgkJCQkiJHtQT0RTX1BPREZJTEVfRElSX1BBVEh9L1BvZGZpbGUubG9jayIsCgkJCQkiJHtQT0RTX1JPT1R9L01hbmlmZXN0LmxvY2siLAoJCQkpOwoJCQluYW1lID0gIltDUF0gQ2hlY2sgUG9kcyBNYW5pZmVzdC5sb2NrIjsKCQkJb3V0cHV0RmlsZUxpc3RQYXRocyA9ICgKCQkJKTsKCQkJb3V0cHV0UGF0aHMgPSAoCgkJCQkiJChERVJJVkVEX0ZJTEVfRElSKS9Qb2RzLVJ1bm5lci1jaGVja01hbmlmZXN0TG9ja1Jlc3VsdC50eHQiLAoJCQkpOwoJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKCQkJc2hlbGxTY3JpcHQgPSAiZGlmZiBcIiR7UE9EU19QT0RGSUxFX0RJUl9QQVRIfS9Qb2RmaWxlLmxvY2tcIiBcIiR7UE9EU19ST09UfS9NYW5pZmVzdC5sb2NrXCIgPiAvZGV2L251bGxcbmlmIFsgJD8gIT0gMCBdIDsgdGhlblxuICAgICMgcHJpbnQgZXJyb3IgdG8gU1RERVJSXG4gICAgZWNobyBcImVycm9yOiBUaGUgc2FuZGJveCBpcyBub3QgaW4gc3luYyB3aXRoIHRoZSBQb2RmaWxlLmxvY2suIFJ1biAncG9kIGluc3RhbGwnIG9yIHVwZGF0ZSB5b3VyIENvY29hUG9kcyBpbnN0YWxsYXRpb24uXCIgPiYyXG4gICAgZXhpdCAxXG5maVxuIyBUaGlzIG91dHB1dCBpcyB1c2VkIGJ5IFhjb2RlICdvdXRwdXRzJyB0byBhdm9pZCByZS1ydW5uaW5nIHRoaXMgc2NyaXB0IHBoYXNlLlxuZWNobyBcIlNVQ0NFU1NcIiA+IFwiJHtTQ1JJUFRfT1VUUFVUX0ZJTEVfMH1cIlxuIjsKCQkJc2hvd0VudlZhcnNJbkxvZyA9IDA7CgkJfTsKCQk3NURBMTM0RURFQzc4QTUyMTAxRkUwQjIgLyogW0NQXSBDaGVjayBQb2RzIE1hbmlmZXN0LmxvY2sgKi8gPSB7CgkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKCQkJZmlsZXMgPSAoCgkJCSk7CgkJCWlucHV0RmlsZUxpc3RQYXRocyA9ICgKCQkJKTsKCQkJaW5wdXRQYXRocyA9ICgKCQkJCSIke1BPRFNfUE9ERklMRV9ESVJfUEFUSH0vUG9kZmlsZS5sb2NrIiwKCQkJCSIke1BPRFNfUk9PVH0vTWFuaWZlc3QubG9jayIsCgkJCSk7CgkJCW5hbWUgPSAiW0NQXSBDaGVjayBQb2RzIE1hbmlmZXN0LmxvY2siOwoJCQlvdXRwdXRGaWxlTGlzdFBhdGhzID0gKAoJCQkpOwoJCQlvdXRwdXRQYXRocyA9ICgKCQkJCSIkKERFUklWRURfRklMRV9ESVIpL1BvZHMtUnVubmVyVGVzdHMtY2hlY2tNYW5pZmVzdExvY2tSZXN1bHQudHh0IiwKCQkJKTsKCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CgkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CgkJCXNoZWxsU2NyaXB0ID0gImRpZmYgXCIke1BPRFNfUE9ERklMRV9ESVJfUEFUSH0vUG9kZmlsZS5sb2NrXCIgXCIke1BPRFNfUk9PVH0vTWFuaWZlc3QubG9ja1wiID4gL2Rldi9udWxsXG5pZiBbICQ/ICE9IDAgXSA7IHRoZW5cbiAgICAjIHByaW50IGVycm9yIHRvIFNUREVSUlxuICAgIGVjaG8gXCJlcnJvcjogVGhlIHNhbmRib3ggaXMgbm90IGluIHN5bmMgd2l0aCB0aGUgUG9kZmlsZS5sb2NrLiBSdW4gJ3BvZCBpbnN0YWxsJyBvciB1cGRhdGUgeW91ciBDb2NvYVBvZHMgaW5zdGFsbGF0aW9uLlwiID4mMlxuICAgIGV4aXQgMVxuZmlcbiMgVGhpcyBvdXRwdXQgaXMgdXNlZCBieSBYY29kZSAnb3V0cHV0cycgdG8gYXZvaWQgcmUtcnVubmluZyB0aGlzIHNjcmlwdCBwaGFzZS5cbmVjaG8gXCJTVUNDRVNTXCIgPiBcIiR7U0NSSVBUX09VVFBVVF9GSUxFXzB9XCJcbiI7CgkJCXNob3dFbnZWYXJzSW5Mb2cgPSAwOwoJCX07CgkJOTc0MEVFQjYxQ0Y5MDFGNjAwNDM4NEZDIC8qIFJ1biBTY3JpcHQgKi8gPSB7CgkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKCQkJYWx3YXlzT3V0T2ZEYXRlID0gMTsKCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKCQkJZmlsZXMgPSAoCgkJCSk7CgkJCWlucHV0UGF0aHMgPSAoCgkJCSk7CgkJCW5hbWUgPSAiUnVuIFNjcmlwdCI7CgkJCW91dHB1dFBhdGhzID0gKAoJCQkpOwoJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKCQkJc2hlbGxTY3JpcHQgPSAiL2Jpbi9zaCBcIiRGTFVUVEVSX1JPT1QvcGFja2FnZXMvZmx1dHRlcl90b29scy9iaW4veGNvZGVfYmFja2VuZC5zaFwiIGJ1aWxkIjsKCQl9OwovKiBFbmQgUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlIHNlY3Rpb24gKi8KCi8qIEJlZ2luIFBCWFNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KCQkzMzFDODA3RDI5NEE2M0E0MDAyNjNCRTUgLyogU291cmNlcyAqLyA9IHsKCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CgkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CgkJCWZpbGVzID0gKAoJCQkJMzMxQzgwOEIyOTRBNjNBQjAwMjYzQkU1IC8qIFJ1bm5lclRlc3RzLnN3aWZ0IGluIFNvdXJjZXMgKi8sCgkJCSk7CgkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwoJCX07CgkJOTdDMTQ2RUExQ0Y5MDAwRjAwN0MxMTdEIC8qIFNvdXJjZXMgKi8gPSB7CgkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOwoJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwoJCQlmaWxlcyA9ICgKCQkJCTc0ODU4RkFGMUVEMkRDNTYwMDUxNTgxMCAvKiBBcHBEZWxlZ2F0ZS5zd2lmdCBpbiBTb3VyY2VzICovLAoJCQkJMTQ5OEQyMzQxRThFODkyMjAwNDBGNEMyIC8qIEdlbmVyYXRlZFBsdWdpblJlZ2lzdHJhbnQubSBpbiBTb3VyY2VzICovLAoJCQkpOwoJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKCQl9OwovKiBFbmQgUEJYU291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwoKLyogQmVnaW4gUEJYVGFyZ2V0RGVwZW5kZW5jeSBzZWN0aW9uICovCgkJMzMxQzgwODYyOTRBNjNBNDAwMjYzQkU1IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CgkJCWlzYSA9IFBCWFRhcmdldERlcGVuZGVuY3k7CgkJCXRhcmdldCA9IDk3QzE0NkVEMUNGOTAwMEYwMDdDMTE3RCAvKiBSdW5uZXIgKi87CgkJCXRhcmdldFByb3h5ID0gMzMxQzgwODUyOTRBNjNBNDAwMjYzQkU1IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKCQl9OwovKiBFbmQgUEJYVGFyZ2V0RGVwZW5kZW5jeSBzZWN0aW9uICovCgovKiBCZWdpbiBQQlhWYXJpYW50R3JvdXAgc2VjdGlvbiAqLwoJCTk3QzE0NkZBMUNGOTAwMEYwMDdDMTE3RCAvKiBNYWluLnN0b3J5Ym9hcmQgKi8gPSB7CgkJCWlzYSA9IFBCWFZhcmlhbnRHcm91cDsKCQkJY2hpbGRyZW4gPSAoCgkJCQk5N0MxNDZGQjFDRjkwMDBGMDA3QzExN0QgLyogQmFzZSAqLywKCQkJKTsKCQkJbmFtZSA9IE1haW4uc3Rvcnlib2FyZDsKCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKCQl9OwoJCTk3QzE0NkZGMUNGOTAwMEYwMDdDMTE3RCAvKiBMYXVuY2hTY3JlZW4uc3Rvcnlib2FyZCAqLyA9IHsKCQkJaXNhID0gUEJYVmFyaWFudEdyb3VwOwoJCQljaGlsZHJlbiA9ICgKCQkJCTk3QzE0NzAwMUNGOTAwMEYwMDdDMTE3RCAvKiBCYXNlICovLAoJCQkpOwoJCQluYW1lID0gTGF1bmNoU2NyZWVuLnN0b3J5Ym9hcmQ7CgkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CgkJfTsKLyogRW5kIFBCWFZhcmlhbnRHcm91cCBzZWN0aW9uICovCgovKiBCZWdpbiBYQ0J1aWxkQ29uZmlndXJhdGlvbiBzZWN0aW9uICovCgkJMjQ5MDIxRDMyMTdFNEZEQjAwQUU5NUI5IC8qIFByb2ZpbGUtcHJvZHVjdGlvbiAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTzsKCQkJCUNMQU5HX0FOQUxZWkVSX05PTk5VTEwgPSBZRVM7CgkJCQlDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSAiZ251KysweCI7CgkJCQlDTEFOR19DWFhfTElCUkFSWSA9ICJsaWJjKysiOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDTEFOR19FTkFCTEVfT0JKQ19BUkMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0JMT0NLX0NBUFRVUkVfQVVUT1JFTEVBU0lORyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT01NQSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fREVQUkVDQVRFRF9PQkpDX0lNUExFTUVOVEFUSU9OUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fRElSRUNUX09CSkNfSVNBX1VTQUdFID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9FTVBUWV9CT0RZID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0lORklOSVRFX1JFQ1VSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5UX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX05PTl9MSVRFUkFMX05VTExfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19JTVBMSUNJVF9SRVRBSU5fU0VMRiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19MSVRFUkFMX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfUk9PVF9DTEFTUyA9IFlFU19FUlJPUjsKCQkJCUNMQU5HX1dBUk5fUkFOR0VfTE9PUF9BTkFMWVNJUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1RSSUNUX1BST1RPVFlQRVMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1NVU1BJQ0lPVVNfTU9WRSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fVU5SRUFDSEFCTEVfQ09ERSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fX0RVUExJQ0FURV9NRVRIT0RfTUFUQ0ggPSBZRVM7CgkJCQkiQ09ERV9TSUdOX0lERU5USVRZW3Nkaz1pcGhvbmVvcypdIiA9ICJpUGhvbmUgRGV2ZWxvcGVyIjsKCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBOTzsKCQkJCURFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9ICJkd2FyZi13aXRoLWRzeW0iOwoJCQkJRU5BQkxFX05TX0FTU0VSVElPTlMgPSBOTzsKCQkJCUVOQUJMRV9TVFJJQ1RfT0JKQ19NU0dTRU5EID0gWUVTOwoJCQkJR0NDX0NfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnU5OTsKCQkJCUdDQ19OT19DT01NT05fQkxPQ0tTID0gWUVTOwoJCQkJR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9BQk9VVF9SRVRVUk5fVFlQRSA9IFlFU19FUlJPUjsKCQkJCUdDQ19XQVJOX1VOREVDTEFSRURfU0VMRUNUT1IgPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTklOSVRJQUxJWkVEX0FVVE9TID0gWUVTX0FHR1JFU1NJVkU7CgkJCQlHQ0NfV0FSTl9VTlVTRURfRlVOQ1RJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTlVTRURfVkFSSUFCTEUgPSBZRVM7CgkJCQlJUEhPTkVPU19ERVBMT1lNRU5UX1RBUkdFVCA9IDEyLjA7CgkJCQlNVExfRU5BQkxFX0RFQlVHX0lORk8gPSBOTzsKCQkJCVNES1JPT1QgPSBpcGhvbmVvczsKCQkJCVNVUFBPUlRFRF9QTEFURk9STVMgPSBpcGhvbmVvczsKCQkJCVRBUkdFVEVEX0RFVklDRV9GQU1JTFkgPSAiMSwyIjsKCQkJCVZBTElEQVRFX1BST0RVQ1QgPSBZRVM7CgkJCX07CgkJCW5hbWUgPSAiUHJvZmlsZS1wcm9kdWN0aW9uIjsKCQl9OwoJCTI0OTAyMUQ0MjE3RTRGREIwMEFFOTVCOSAvKiBQcm9maWxlLXByb2R1Y3Rpb24gKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDdBRkEzQzhFMUQzNTM2MEMwMDgzMDgyRSAvKiBSZWxlYXNlLnhjY29uZmlnICovOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQVNTRVRDQVRBTE9HX0NPTVBJTEVSX0FQUElDT05fTkFNRSA9IEFwcEljb247CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gIiQoRkxVVFRFUl9CVUlMRF9OVU1CRVIpIjsKCQkJCUVOQUJMRV9CSVRDT0RFID0gTk87CgkJCQlGTEFWT1JfQVBQX05BTUUgPSAie3twcm9qZWN0X25hbWUudGl0bGVDYXNlKCl9fSI7CgkJCQlJTkZPUExJU1RfRklMRSA9IFJ1bm5lci9JbmZvLnBsaXN0OwoJCQkJTERfUlVOUEFUSF9TRUFSQ0hfUEFUSFMgPSAoCgkJCQkJIiQoaW5oZXJpdGVkKSIsCgkJCQkJIkBleGVjdXRhYmxlX3BhdGgvRnJhbWV3b3JrcyIsCgkJCQkpOwoJCQkJUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9IHt7aW9zX2FwcGxpY2F0aW9uX2lkfX07CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfT0JKQ19CUklER0lOR19IRUFERVIgPSAiUnVubmVyL1J1bm5lci1CcmlkZ2luZy1IZWFkZXIuaCI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVkVSU0lPTklOR19TWVNURU0gPSAiYXBwbGUtZ2VuZXJpYyI7CgkJCX07CgkJCW5hbWUgPSAiUHJvZmlsZS1wcm9kdWN0aW9uIjsKCQl9OwoJCTMzMUM4MDg4Mjk0QTYzQTQwMDI2M0JFNSAvKiBEZWJ1Zy1wcm9kdWN0aW9uICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBCRUMxM0I5MTg4N0EzN0Q4NEU4NjI3RjAgLyogUG9kcy1SdW5uZXJUZXN0cy5kZWJ1Zy1wcm9kdWN0aW9uLnhjY29uZmlnICovOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQlVORExFX0xPQURFUiA9ICIkKFRFU1RfSE9TVCkiOwoJCQkJQ09ERV9TSUdOX1NUWUxFID0gQXV0b21hdGljOwoJCQkJQ1VSUkVOVF9QUk9KRUNUX1ZFUlNJT04gPSAxOwoJCQkJR0VORVJBVEVfSU5GT1BMSVNUX0ZJTEUgPSBZRVM7CgkJCQlNQVJLRVRJTkdfVkVSU0lPTiA9IDEuMDsKCQkJCVBST0RVQ1RfQlVORExFX0lERU5USUZJRVIgPSB7e2lvc19hcHBsaWNhdGlvbl9pZH19LlJ1bm5lclRlc3RzOwoJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKCQkJCVNXSUZUX0FDVElWRV9DT01QSUxBVElPTl9DT05ESVRJT05TID0gREVCVUc7CgkJCQlTV0lGVF9PUFRJTUlaQVRJT05fTEVWRUwgPSAiLU9ub25lIjsKCQkJCVNXSUZUX1ZFUlNJT04gPSA1LjA7CgkJCQlURVNUX0hPU1QgPSAiJChCVUlMVF9QUk9EVUNUU19ESVIpL1J1bm5lci5hcHAvJChCVU5ETEVfRVhFQ1VUQUJMRV9GT0xERVJfUEFUSCkvUnVubmVyIjsKCQkJfTsKCQkJbmFtZSA9ICJEZWJ1Zy1wcm9kdWN0aW9uIjsKCQl9OwoJCTMzMUM4MDg5Mjk0QTYzQTQwMDI2M0JFNSAvKiBSZWxlYXNlLXByb2R1Y3Rpb24gKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEMwMUI1MjRDOUI2QTg5NTIwNUJGOTJCMiAvKiBQb2RzLVJ1bm5lclRlc3RzLnJlbGVhc2UtcHJvZHVjdGlvbi54Y2NvbmZpZyAqLzsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUJVTkRMRV9MT0FERVIgPSAiJChURVNUX0hPU1QpIjsKCQkJCUNPREVfU0lHTl9TVFlMRSA9IEF1dG9tYXRpYzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gMTsKCQkJCUdFTkVSQVRFX0lORk9QTElTVF9GSUxFID0gWUVTOwoJCQkJTUFSS0VUSU5HX1ZFUlNJT04gPSAxLjA7CgkJCQlQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0ge3tpb3NfYXBwbGljYXRpb25faWR9fS5SdW5uZXJUZXN0czsKCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVEVTVF9IT1NUID0gIiQoQlVJTFRfUFJPRFVDVFNfRElSKS9SdW5uZXIuYXBwLyQoQlVORExFX0VYRUNVVEFCTEVfRk9MREVSX1BBVEgpL1J1bm5lciI7CgkJCX07CgkJCW5hbWUgPSAiUmVsZWFzZS1wcm9kdWN0aW9uIjsKCQl9OwoJCTMzMUM4MDhBMjk0QTYzQTQwMDI2M0JFNSAvKiBQcm9maWxlLXByb2R1Y3Rpb24gKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDM1MzZGRDlDOTJCMzlEMUFEQ0RCMUFDNSAvKiBQb2RzLVJ1bm5lclRlc3RzLnByb2ZpbGUtcHJvZHVjdGlvbi54Y2NvbmZpZyAqLzsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUJVTkRMRV9MT0FERVIgPSAiJChURVNUX0hPU1QpIjsKCQkJCUNPREVfU0lHTl9TVFlMRSA9IEF1dG9tYXRpYzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gMTsKCQkJCUdFTkVSQVRFX0lORk9QTElTVF9GSUxFID0gWUVTOwoJCQkJTUFSS0VUSU5HX1ZFUlNJT04gPSAxLjA7CgkJCQlQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0ge3tpb3NfYXBwbGljYXRpb25faWR9fS5SdW5uZXJUZXN0czsKCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVEVTVF9IT1NUID0gIiQoQlVJTFRfUFJPRFVDVFNfRElSKS9SdW5uZXIuYXBwLyQoQlVORExFX0VYRUNVVEFCTEVfRk9MREVSX1BBVEgpL1J1bm5lciI7CgkJCX07CgkJCW5hbWUgPSAiUHJvZmlsZS1wcm9kdWN0aW9uIjsKCQl9OwoJCTNDQzA0NzY0MkIwRjhFOUYwMDcxM0Q5MiAvKiBEZWJ1Zy1kZXZlbG9wbWVudCAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTzsKCQkJCUNMQU5HX0FOQUxZWkVSX05PTk5VTEwgPSBZRVM7CgkJCQlDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSAiZ251KysweCI7CgkJCQlDTEFOR19DWFhfTElCUkFSWSA9ICJsaWJjKysiOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDTEFOR19FTkFCTEVfT0JKQ19BUkMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0JMT0NLX0NBUFRVUkVfQVVUT1JFTEVBU0lORyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT01NQSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fREVQUkVDQVRFRF9PQkpDX0lNUExFTUVOVEFUSU9OUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fRElSRUNUX09CSkNfSVNBX1VTQUdFID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9FTVBUWV9CT0RZID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0lORklOSVRFX1JFQ1VSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5UX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX05PTl9MSVRFUkFMX05VTExfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19JTVBMSUNJVF9SRVRBSU5fU0VMRiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19MSVRFUkFMX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfUk9PVF9DTEFTUyA9IFlFU19FUlJPUjsKCQkJCUNMQU5HX1dBUk5fUkFOR0VfTE9PUF9BTkFMWVNJUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1RSSUNUX1BST1RPVFlQRVMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1NVU1BJQ0lPVVNfTU9WRSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fVU5SRUFDSEFCTEVfQ09ERSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fX0RVUExJQ0FURV9NRVRIT0RfTUFUQ0ggPSBZRVM7CgkJCQkiQ09ERV9TSUdOX0lERU5USVRZW3Nkaz1pcGhvbmVvcypdIiA9ICJpUGhvbmUgRGV2ZWxvcGVyIjsKCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBOTzsKCQkJCURFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9IGR3YXJmOwoJCQkJRU5BQkxFX1NUUklDVF9PQkpDX01TR1NFTkQgPSBZRVM7CgkJCQlFTkFCTEVfVEVTVEFCSUxJVFkgPSBZRVM7CgkJCQlHQ0NfQ19MQU5HVUFHRV9TVEFOREFSRCA9IGdudTk5OwoJCQkJR0NDX0RZTkFNSUNfTk9fUElDID0gTk87CgkJCQlHQ0NfTk9fQ09NTU9OX0JMT0NLUyA9IFlFUzsKCQkJCUdDQ19PUFRJTUlaQVRJT05fTEVWRUwgPSAwOwoJCQkJR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICgKCQkJCQkiREVCVUc9MSIsCgkJCQkJIiQoaW5oZXJpdGVkKSIsCgkJCQkpOwoJCQkJR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9BQk9VVF9SRVRVUk5fVFlQRSA9IFlFU19FUlJPUjsKCQkJCUdDQ19XQVJOX1VOREVDTEFSRURfU0VMRUNUT1IgPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTklOSVRJQUxJWkVEX0FVVE9TID0gWUVTX0FHR1JFU1NJVkU7CgkJCQlHQ0NfV0FSTl9VTlVTRURfRlVOQ1RJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTlVTRURfVkFSSUFCTEUgPSBZRVM7CgkJCQlJUEhPTkVPU19ERVBMT1lNRU5UX1RBUkdFVCA9IDEyLjA7CgkJCQlNVExfRU5BQkxFX0RFQlVHX0lORk8gPSBZRVM7CgkJCQlPTkxZX0FDVElWRV9BUkNIID0gWUVTOwoJCQkJU0RLUk9PVCA9IGlwaG9uZW9zOwoJCQkJVEFSR0VURURfREVWSUNFX0ZBTUlMWSA9ICIxLDIiOwoJCQl9OwoJCQluYW1lID0gIkRlYnVnLWRldmVsb3BtZW50IjsKCQl9OwoJCTNDQzA0NzY1MkIwRjhFOUYwMDcxM0Q5MiAvKiBEZWJ1Zy1kZXZlbG9wbWVudCAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gOTc0MEVFQjIxQ0Y5MDE5NTAwNDM4NEZDIC8qIERlYnVnLnhjY29uZmlnICovOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQVNTRVRDQVRBTE9HX0NPTVBJTEVSX0FQUElDT05fTkFNRSA9ICJBcHBJY29uLWRldiI7CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gIiQoRkxVVFRFUl9CVUlMRF9OVU1CRVIpIjsKCQkJCUVOQUJMRV9CSVRDT0RFID0gTk87CgkJCQlGTEFWT1JfQVBQX05BTUUgPSAiW0RFVl0ge3twcm9qZWN0X25hbWUudGl0bGVDYXNlKCl9fSI7CgkJCQlJTkZPUExJU1RfRklMRSA9IFJ1bm5lci9JbmZvLnBsaXN0OwoJCQkJTERfUlVOUEFUSF9TRUFSQ0hfUEFUSFMgPSAoCgkJCQkJIiQoaW5oZXJpdGVkKSIsCgkJCQkJIkBleGVjdXRhYmxlX3BhdGgvRnJhbWV3b3JrcyIsCgkJCQkpOwoJCQkJUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9IHt7aW9zX2FwcGxpY2F0aW9uX2lkfX0uZGV2OwoJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKCQkJCVNXSUZUX09CSkNfQlJJREdJTkdfSEVBREVSID0gIlJ1bm5lci9SdW5uZXItQnJpZGdpbmctSGVhZGVyLmgiOwoJCQkJU1dJRlRfT1BUSU1JWkFUSU9OX0xFVkVMID0gIi1Pbm9uZSI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVkVSU0lPTklOR19TWVNURU0gPSAiYXBwbGUtZ2VuZXJpYyI7CgkJCX07CgkJCW5hbWUgPSAiRGVidWctZGV2ZWxvcG1lbnQiOwoJCX07CgkJM0NDMDQ3NjYyQjBGOEU5RjAwNzEzRDkyIC8qIERlYnVnLWRldmVsb3BtZW50ICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBCQ0Q4MTBCM0E2MkE2MDRFNTQyOEJCQkIgLyogUG9kcy1SdW5uZXJUZXN0cy5kZWJ1Zy1kZXZlbG9wbWVudC54Y2NvbmZpZyAqLzsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUJVTkRMRV9MT0FERVIgPSAiJChURVNUX0hPU1QpIjsKCQkJCUNPREVfU0lHTl9TVFlMRSA9IEF1dG9tYXRpYzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gMTsKCQkJCUdFTkVSQVRFX0lORk9QTElTVF9GSUxFID0gWUVTOwoJCQkJTUFSS0VUSU5HX1ZFUlNJT04gPSAxLjA7CgkJCQlQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0ge3tpb3NfYXBwbGljYXRpb25faWR9fS5SdW5uZXJUZXN0czsKCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CgkJCQlTV0lGVF9BQ1RJVkVfQ09NUElMQVRJT05fQ09ORElUSU9OUyA9IERFQlVHOwoJCQkJU1dJRlRfT1BUSU1JWkFUSU9OX0xFVkVMID0gIi1Pbm9uZSI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVEVTVF9IT1NUID0gIiQoQlVJTFRfUFJPRFVDVFNfRElSKS9SdW5uZXIuYXBwLyQoQlVORExFX0VYRUNVVEFCTEVfRk9MREVSX1BBVEgpL1J1bm5lciI7CgkJCX07CgkJCW5hbWUgPSAiRGVidWctZGV2ZWxvcG1lbnQiOwoJCX07CgkJM0NDMDQ3NjcyQjBGOEVBRjAwNzEzRDkyIC8qIFJlbGVhc2UtZGV2ZWxvcG1lbnQgKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQUxXQVlTX1NFQVJDSF9VU0VSX1BBVEhTID0gTk87CgkJCQlDTEFOR19BTkFMWVpFUl9OT05OVUxMID0gWUVTOwoJCQkJQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gImdudSsrMHgiOwoJCQkJQ0xBTkdfQ1hYX0xJQlJBUlkgPSAibGliYysrIjsKCQkJCUNMQU5HX0VOQUJMRV9NT0RVTEVTID0gWUVTOwoJCQkJQ0xBTkdfRU5BQkxFX09CSkNfQVJDID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9CTE9DS19DQVBUVVJFX0FVVE9SRUxFQVNJTkcgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0JPT0xfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQ09NTUEgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0NPTlNUQU5UX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0RFUFJFQ0FURURfT0JKQ19JTVBMRU1FTlRBVElPTlMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0RJUkVDVF9PQkpDX0lTQV9VU0FHRSA9IFlFU19FUlJPUjsKCQkJCUNMQU5HX1dBUk5fRU1QVFlfQk9EWSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fRU5VTV9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9JTkZJTklURV9SRUNVUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0lOVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9OT05fTElURVJBTF9OVUxMX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfSU1QTElDSVRfUkVUQUlOX1NFTEYgPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfTElURVJBTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX1JPT1RfQ0xBU1MgPSBZRVNfRVJST1I7CgkJCQlDTEFOR19XQVJOX1JBTkdFX0xPT1BfQU5BTFlTSVMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1NUUklDVF9QUk9UT1RZUEVTID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9TVVNQSUNJT1VTX01PVkUgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1VOUkVBQ0hBQkxFX0NPREUgPSBZRVM7CgkJCQlDTEFOR19XQVJOX19EVVBMSUNBVEVfTUVUSE9EX01BVENIID0gWUVTOwoJCQkJIkNPREVfU0lHTl9JREVOVElUWVtzZGs9aXBob25lb3MqXSIgPSAiaVBob25lIERldmVsb3BlciI7CgkJCQlDT1BZX1BIQVNFX1NUUklQID0gTk87CgkJCQlERUJVR19JTkZPUk1BVElPTl9GT1JNQVQgPSAiZHdhcmYtd2l0aC1kc3ltIjsKCQkJCUVOQUJMRV9OU19BU1NFUlRJT05TID0gTk87CgkJCQlFTkFCTEVfU1RSSUNUX09CSkNfTVNHU0VORCA9IFlFUzsKCQkJCUdDQ19DX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251OTk7CgkJCQlHQ0NfTk9fQ09NTU9OX0JMT0NLUyA9IFlFUzsKCQkJCUdDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJR0NDX1dBUk5fQUJPVVRfUkVUVVJOX1RZUEUgPSBZRVNfRVJST1I7CgkJCQlHQ0NfV0FSTl9VTkRFQ0xBUkVEX1NFTEVDVE9SID0gWUVTOwoJCQkJR0NDX1dBUk5fVU5JTklUSUFMSVpFRF9BVVRPUyA9IFlFU19BR0dSRVNTSVZFOwoJCQkJR0NDX1dBUk5fVU5VU0VEX0ZVTkNUSU9OID0gWUVTOwoJCQkJR0NDX1dBUk5fVU5VU0VEX1ZBUklBQkxFID0gWUVTOwoJCQkJSVBIT05FT1NfREVQTE9ZTUVOVF9UQVJHRVQgPSAxMi4wOwoJCQkJTVRMX0VOQUJMRV9ERUJVR19JTkZPID0gTk87CgkJCQlTREtST09UID0gaXBob25lb3M7CgkJCQlTVVBQT1JURURfUExBVEZPUk1TID0gaXBob25lb3M7CgkJCQlTV0lGVF9DT01QSUxBVElPTl9NT0RFID0gd2hvbGVtb2R1bGU7CgkJCQlTV0lGVF9PUFRJTUlaQVRJT05fTEVWRUwgPSAiLU8iOwoJCQkJVEFSR0VURURfREVWSUNFX0ZBTUlMWSA9ICIxLDIiOwoJCQkJVkFMSURBVEVfUFJPRFVDVCA9IFlFUzsKCQkJfTsKCQkJbmFtZSA9ICJSZWxlYXNlLWRldmVsb3BtZW50IjsKCQl9OwoJCTNDQzA0NzY4MkIwRjhFQUYwMDcxM0Q5MiAvKiBSZWxlYXNlLWRldmVsb3BtZW50ICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSA3QUZBM0M4RTFEMzUzNjBDMDA4MzA4MkUgLyogUmVsZWFzZS54Y2NvbmZpZyAqLzsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUFTU0VUQ0FUQUxPR19DT01QSUxFUl9BUFBJQ09OX05BTUUgPSAiQXBwSWNvbi1kZXYiOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDVVJSRU5UX1BST0pFQ1RfVkVSU0lPTiA9ICIkKEZMVVRURVJfQlVJTERfTlVNQkVSKSI7CgkJCQlFTkFCTEVfQklUQ09ERSA9IE5POwoJCQkJRkxBVk9SX0FQUF9OQU1FID0gIltERVZdIHt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX0iOwoJCQkJSU5GT1BMSVNUX0ZJTEUgPSBSdW5uZXIvSW5mby5wbGlzdDsKCQkJCUxEX1JVTlBBVEhfU0VBUkNIX1BBVEhTID0gKAoJCQkJCSIkKGluaGVyaXRlZCkiLAoJCQkJCSJAZXhlY3V0YWJsZV9wYXRoL0ZyYW1ld29ya3MiLAoJCQkJKTsKCQkJCVBST0RVQ1RfQlVORExFX0lERU5USUZJRVIgPSB7e2lvc19hcHBsaWNhdGlvbl9pZH19LmRldjsKCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CgkJCQlTV0lGVF9PQkpDX0JSSURHSU5HX0hFQURFUiA9ICJSdW5uZXIvUnVubmVyLUJyaWRnaW5nLUhlYWRlci5oIjsKCQkJCVNXSUZUX1ZFUlNJT04gPSA1LjA7CgkJCQlWRVJTSU9OSU5HX1NZU1RFTSA9ICJhcHBsZS1nZW5lcmljIjsKCQkJfTsKCQkJbmFtZSA9ICJSZWxlYXNlLWRldmVsb3BtZW50IjsKCQl9OwoJCTNDQzA0NzY5MkIwRjhFQUYwMDcxM0Q5MiAvKiBSZWxlYXNlLWRldmVsb3BtZW50ICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBCRjFEQjE2MjI3MUNDRkY5RjgyNUYzMTIgLyogUG9kcy1SdW5uZXJUZXN0cy5yZWxlYXNlLWRldmVsb3BtZW50LnhjY29uZmlnICovOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQlVORExFX0xPQURFUiA9ICIkKFRFU1RfSE9TVCkiOwoJCQkJQ09ERV9TSUdOX1NUWUxFID0gQXV0b21hdGljOwoJCQkJQ1VSUkVOVF9QUk9KRUNUX1ZFUlNJT04gPSAxOwoJCQkJR0VORVJBVEVfSU5GT1BMSVNUX0ZJTEUgPSBZRVM7CgkJCQlNQVJLRVRJTkdfVkVSU0lPTiA9IDEuMDsKCQkJCVBST0RVQ1RfQlVORExFX0lERU5USUZJRVIgPSB7e2lvc19hcHBsaWNhdGlvbl9pZH19LlJ1bm5lclRlc3RzOwoJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKCQkJCVNXSUZUX1ZFUlNJT04gPSA1LjA7CgkJCQlURVNUX0hPU1QgPSAiJChCVUlMVF9QUk9EVUNUU19ESVIpL1J1bm5lci5hcHAvJChCVU5ETEVfRVhFQ1VUQUJMRV9GT0xERVJfUEFUSCkvUnVubmVyIjsKCQkJfTsKCQkJbmFtZSA9ICJSZWxlYXNlLWRldmVsb3BtZW50IjsKCQl9OwoJCTNDQzA0NzZBMkIwRjhFQjQwMDcxM0Q5MiAvKiBQcm9maWxlLWRldmVsb3BtZW50ICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POwoJCQkJQ0xBTkdfQU5BTFlaRVJfTk9OTlVMTCA9IFlFUzsKCQkJCUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9ICJnbnUrKzB4IjsKCQkJCUNMQU5HX0NYWF9MSUJSQVJZID0gImxpYmMrKyI7CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNMQU5HX0VOQUJMRV9PQkpDX0FSQyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQkxPQ0tfQ0FQVFVSRV9BVVRPUkVMRUFTSU5HID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9CT09MX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0NPTU1BID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT05TVEFOVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ERVBSRUNBVEVEX09CSkNfSU1QTEVNRU5UQVRJT05TID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ESVJFQ1RfT0JKQ19JU0FfVVNBR0UgPSBZRVNfRVJST1I7CgkJCQlDTEFOR19XQVJOX0VNUFRZX0JPRFkgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0VOVU1fQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5GSU5JVEVfUkVDVVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9JTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fTk9OX0xJVEVSQUxfTlVMTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0lNUExJQ0lUX1JFVEFJTl9TRUxGID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0xJVEVSQUxfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19ST09UX0NMQVNTID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9SQU5HRV9MT09QX0FOQUxZU0lTID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9TVFJJQ1RfUFJPVE9UWVBFUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1VTUElDSU9VU19NT1ZFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9VTlJFQUNIQUJMRV9DT0RFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9fRFVQTElDQVRFX01FVEhPRF9NQVRDSCA9IFlFUzsKCQkJCSJDT0RFX1NJR05fSURFTlRJVFlbc2RrPWlwaG9uZW9zKl0iID0gImlQaG9uZSBEZXZlbG9wZXIiOwoJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IE5POwoJCQkJREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gImR3YXJmLXdpdGgtZHN5bSI7CgkJCQlFTkFCTEVfTlNfQVNTRVJUSU9OUyA9IE5POwoJCQkJRU5BQkxFX1NUUklDVF9PQkpDX01TR1NFTkQgPSBZRVM7CgkJCQlHQ0NfQ19MQU5HVUFHRV9TVEFOREFSRCA9IGdudTk5OwoJCQkJR0NDX05PX0NPTU1PTl9CTE9DS1MgPSBZRVM7CgkJCQlHQ0NfV0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX0FCT1VUX1JFVFVSTl9UWVBFID0gWUVTX0VSUk9SOwoJCQkJR0NDX1dBUk5fVU5ERUNMQVJFRF9TRUxFQ1RPUiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOSU5JVElBTElaRURfQVVUT1MgPSBZRVNfQUdHUkVTU0lWRTsKCQkJCUdDQ19XQVJOX1VOVVNFRF9GVU5DVElPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9IFlFUzsKCQkJCUlQSE9ORU9TX0RFUExPWU1FTlRfVEFSR0VUID0gMTIuMDsKCQkJCU1UTF9FTkFCTEVfREVCVUdfSU5GTyA9IE5POwoJCQkJU0RLUk9PVCA9IGlwaG9uZW9zOwoJCQkJU1VQUE9SVEVEX1BMQVRGT1JNUyA9IGlwaG9uZW9zOwoJCQkJVEFSR0VURURfREVWSUNFX0ZBTUlMWSA9ICIxLDIiOwoJCQkJVkFMSURBVEVfUFJPRFVDVCA9IFlFUzsKCQkJfTsKCQkJbmFtZSA9ICJQcm9maWxlLWRldmVsb3BtZW50IjsKCQl9OwoJCTNDQzA0NzZCMkIwRjhFQjQwMDcxM0Q5MiAvKiBQcm9maWxlLWRldmVsb3BtZW50ICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSA3QUZBM0M4RTFEMzUzNjBDMDA4MzA4MkUgLyogUmVsZWFzZS54Y2NvbmZpZyAqLzsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUFTU0VUQ0FUQUxPR19DT01QSUxFUl9BUFBJQ09OX05BTUUgPSAiQXBwSWNvbi1kZXYiOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDVVJSRU5UX1BST0pFQ1RfVkVSU0lPTiA9ICIkKEZMVVRURVJfQlVJTERfTlVNQkVSKSI7CgkJCQlFTkFCTEVfQklUQ09ERSA9IE5POwoJCQkJRkxBVk9SX0FQUF9OQU1FID0gIltERVZdIHt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX0iOwoJCQkJSU5GT1BMSVNUX0ZJTEUgPSBSdW5uZXIvSW5mby5wbGlzdDsKCQkJCUxEX1JVTlBBVEhfU0VBUkNIX1BBVEhTID0gKAoJCQkJCSIkKGluaGVyaXRlZCkiLAoJCQkJCSJAZXhlY3V0YWJsZV9wYXRoL0ZyYW1ld29ya3MiLAoJCQkJKTsKCQkJCVBST0RVQ1RfQlVORExFX0lERU5USUZJRVIgPSB7e2lvc19hcHBsaWNhdGlvbl9pZH19LmRldjsKCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CgkJCQlTV0lGVF9PQkpDX0JSSURHSU5HX0hFQURFUiA9ICJSdW5uZXIvUnVubmVyLUJyaWRnaW5nLUhlYWRlci5oIjsKCQkJCVNXSUZUX1ZFUlNJT04gPSA1LjA7CgkJCQlWRVJTSU9OSU5HX1NZU1RFTSA9ICJhcHBsZS1nZW5lcmljIjsKCQkJfTsKCQkJbmFtZSA9ICJQcm9maWxlLWRldmVsb3BtZW50IjsKCQl9OwoJCTNDQzA0NzZDMkIwRjhFQjQwMDcxM0Q5MiAvKiBQcm9maWxlLWRldmVsb3BtZW50ICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSA0M0ZEMTlFODI0RDc4QzBEQkExMDVGRTcgLyogUG9kcy1SdW5uZXJUZXN0cy5wcm9maWxlLWRldmVsb3BtZW50LnhjY29uZmlnICovOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQlVORExFX0xPQURFUiA9ICIkKFRFU1RfSE9TVCkiOwoJCQkJQ09ERV9TSUdOX1NUWUxFID0gQXV0b21hdGljOwoJCQkJQ1VSUkVOVF9QUk9KRUNUX1ZFUlNJT04gPSAxOwoJCQkJR0VORVJBVEVfSU5GT1BMSVNUX0ZJTEUgPSBZRVM7CgkJCQlNQVJLRVRJTkdfVkVSU0lPTiA9IDEuMDsKCQkJCVBST0RVQ1RfQlVORExFX0lERU5USUZJRVIgPSB7e2lvc19hcHBsaWNhdGlvbl9pZH19LlJ1bm5lclRlc3RzOwoJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKCQkJCVNXSUZUX1ZFUlNJT04gPSA1LjA7CgkJCQlURVNUX0hPU1QgPSAiJChCVUlMVF9QUk9EVUNUU19ESVIpL1J1bm5lci5hcHAvJChCVU5ETEVfRVhFQ1VUQUJMRV9GT0xERVJfUEFUSCkvUnVubmVyIjsKCQkJfTsKCQkJbmFtZSA9ICJQcm9maWxlLWRldmVsb3BtZW50IjsKCQl9OwoJCTNDQzA0NzZEMkIwRjhFQkYwMDcxM0Q5MiAvKiBEZWJ1Zy1zdGFnaW5nICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POwoJCQkJQ0xBTkdfQU5BTFlaRVJfTk9OTlVMTCA9IFlFUzsKCQkJCUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9ICJnbnUrKzB4IjsKCQkJCUNMQU5HX0NYWF9MSUJSQVJZID0gImxpYmMrKyI7CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNMQU5HX0VOQUJMRV9PQkpDX0FSQyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQkxPQ0tfQ0FQVFVSRV9BVVRPUkVMRUFTSU5HID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9CT09MX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0NPTU1BID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT05TVEFOVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ERVBSRUNBVEVEX09CSkNfSU1QTEVNRU5UQVRJT05TID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ESVJFQ1RfT0JKQ19JU0FfVVNBR0UgPSBZRVNfRVJST1I7CgkJCQlDTEFOR19XQVJOX0VNUFRZX0JPRFkgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0VOVU1fQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5GSU5JVEVfUkVDVVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9JTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fTk9OX0xJVEVSQUxfTlVMTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0lNUExJQ0lUX1JFVEFJTl9TRUxGID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0xJVEVSQUxfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19ST09UX0NMQVNTID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9SQU5HRV9MT09QX0FOQUxZU0lTID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9TVFJJQ1RfUFJPVE9UWVBFUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1VTUElDSU9VU19NT1ZFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9VTlJFQUNIQUJMRV9DT0RFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9fRFVQTElDQVRFX01FVEhPRF9NQVRDSCA9IFlFUzsKCQkJCSJDT0RFX1NJR05fSURFTlRJVFlbc2RrPWlwaG9uZW9zKl0iID0gImlQaG9uZSBEZXZlbG9wZXIiOwoJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IE5POwoJCQkJREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gZHdhcmY7CgkJCQlFTkFCTEVfU1RSSUNUX09CSkNfTVNHU0VORCA9IFlFUzsKCQkJCUVOQUJMRV9URVNUQUJJTElUWSA9IFlFUzsKCQkJCUdDQ19DX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251OTk7CgkJCQlHQ0NfRFlOQU1JQ19OT19QSUMgPSBOTzsKCQkJCUdDQ19OT19DT01NT05fQkxPQ0tTID0gWUVTOwoJCQkJR0NDX09QVElNSVpBVElPTl9MRVZFTCA9IDA7CgkJCQlHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gKAoJCQkJCSJERUJVRz0xIiwKCQkJCQkiJChpbmhlcml0ZWQpIiwKCQkJCSk7CgkJCQlHQ0NfV0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX0FCT1VUX1JFVFVSTl9UWVBFID0gWUVTX0VSUk9SOwoJCQkJR0NDX1dBUk5fVU5ERUNMQVJFRF9TRUxFQ1RPUiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOSU5JVElBTElaRURfQVVUT1MgPSBZRVNfQUdHUkVTU0lWRTsKCQkJCUdDQ19XQVJOX1VOVVNFRF9GVU5DVElPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9IFlFUzsKCQkJCUlQSE9ORU9TX0RFUExPWU1FTlRfVEFSR0VUID0gMTIuMDsKCQkJCU1UTF9FTkFCTEVfREVCVUdfSU5GTyA9IFlFUzsKCQkJCU9OTFlfQUNUSVZFX0FSQ0ggPSBZRVM7CgkJCQlTREtST09UID0gaXBob25lb3M7CgkJCQlUQVJHRVRFRF9ERVZJQ0VfRkFNSUxZID0gIjEsMiI7CgkJCX07CgkJCW5hbWUgPSAiRGVidWctc3RhZ2luZyI7CgkJfTsKCQkzQ0MwNDc2RTJCMEY4RUJGMDA3MTNEOTIgLyogRGVidWctc3RhZ2luZyAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gOTc0MEVFQjIxQ0Y5MDE5NTAwNDM4NEZDIC8qIERlYnVnLnhjY29uZmlnICovOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQVNTRVRDQVRBTE9HX0NPTVBJTEVSX0FQUElDT05fTkFNRSA9ICJBcHBJY29uLXN0ZyI7CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gIiQoRkxVVFRFUl9CVUlMRF9OVU1CRVIpIjsKCQkJCUVOQUJMRV9CSVRDT0RFID0gTk87CgkJCQlGTEFWT1JfQVBQX05BTUUgPSAiW1NUR10ge3twcm9qZWN0X25hbWUudGl0bGVDYXNlKCl9fSI7CgkJCQlJTkZPUExJU1RfRklMRSA9IFJ1bm5lci9JbmZvLnBsaXN0OwoJCQkJTERfUlVOUEFUSF9TRUFSQ0hfUEFUSFMgPSAoCgkJCQkJIiQoaW5oZXJpdGVkKSIsCgkJCQkJIkBleGVjdXRhYmxlX3BhdGgvRnJhbWV3b3JrcyIsCgkJCQkpOwoJCQkJUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9IHt7aW9zX2FwcGxpY2F0aW9uX2lkfX0uc3RnOwoJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKCQkJCVNXSUZUX09CSkNfQlJJREdJTkdfSEVBREVSID0gIlJ1bm5lci9SdW5uZXItQnJpZGdpbmctSGVhZGVyLmgiOwoJCQkJU1dJRlRfT1BUSU1JWkFUSU9OX0xFVkVMID0gIi1Pbm9uZSI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVkVSU0lPTklOR19TWVNURU0gPSAiYXBwbGUtZ2VuZXJpYyI7CgkJCX07CgkJCW5hbWUgPSAiRGVidWctc3RhZ2luZyI7CgkJfTsKCQkzQ0MwNDc2RjJCMEY4RUJGMDA3MTNEOTIgLyogRGVidWctc3RhZ2luZyAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gRjE4RDlBNzM1NUQ3MkYzNEJFMkM2NDdCIC8qIFBvZHMtUnVubmVyVGVzdHMuZGVidWctc3RhZ2luZy54Y2NvbmZpZyAqLzsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUJVTkRMRV9MT0FERVIgPSAiJChURVNUX0hPU1QpIjsKCQkJCUNPREVfU0lHTl9TVFlMRSA9IEF1dG9tYXRpYzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gMTsKCQkJCUdFTkVSQVRFX0lORk9QTElTVF9GSUxFID0gWUVTOwoJCQkJTUFSS0VUSU5HX1ZFUlNJT04gPSAxLjA7CgkJCQlQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0ge3tpb3NfYXBwbGljYXRpb25faWR9fS5SdW5uZXJUZXN0czsKCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CgkJCQlTV0lGVF9BQ1RJVkVfQ09NUElMQVRJT05fQ09ORElUSU9OUyA9IERFQlVHOwoJCQkJU1dJRlRfT1BUSU1JWkFUSU9OX0xFVkVMID0gIi1Pbm9uZSI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVEVTVF9IT1NUID0gIiQoQlVJTFRfUFJPRFVDVFNfRElSKS9SdW5uZXIuYXBwLyQoQlVORExFX0VYRUNVVEFCTEVfRk9MREVSX1BBVEgpL1J1bm5lciI7CgkJCX07CgkJCW5hbWUgPSAiRGVidWctc3RhZ2luZyI7CgkJfTsKCQkzQ0MwNDc3MDJCMEY4RUNBMDA3MTNEOTIgLyogUmVsZWFzZS1zdGFnaW5nICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POwoJCQkJQ0xBTkdfQU5BTFlaRVJfTk9OTlVMTCA9IFlFUzsKCQkJCUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9ICJnbnUrKzB4IjsKCQkJCUNMQU5HX0NYWF9MSUJSQVJZID0gImxpYmMrKyI7CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNMQU5HX0VOQUJMRV9PQkpDX0FSQyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQkxPQ0tfQ0FQVFVSRV9BVVRPUkVMRUFTSU5HID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9CT09MX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0NPTU1BID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT05TVEFOVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ERVBSRUNBVEVEX09CSkNfSU1QTEVNRU5UQVRJT05TID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ESVJFQ1RfT0JKQ19JU0FfVVNBR0UgPSBZRVNfRVJST1I7CgkJCQlDTEFOR19XQVJOX0VNUFRZX0JPRFkgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0VOVU1fQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5GSU5JVEVfUkVDVVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9JTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fTk9OX0xJVEVSQUxfTlVMTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0lNUExJQ0lUX1JFVEFJTl9TRUxGID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0xJVEVSQUxfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19ST09UX0NMQVNTID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9SQU5HRV9MT09QX0FOQUxZU0lTID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9TVFJJQ1RfUFJPVE9UWVBFUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1VTUElDSU9VU19NT1ZFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9VTlJFQUNIQUJMRV9DT0RFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9fRFVQTElDQVRFX01FVEhPRF9NQVRDSCA9IFlFUzsKCQkJCSJDT0RFX1NJR05fSURFTlRJVFlbc2RrPWlwaG9uZW9zKl0iID0gImlQaG9uZSBEZXZlbG9wZXIiOwoJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IE5POwoJCQkJREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gImR3YXJmLXdpdGgtZHN5bSI7CgkJCQlFTkFCTEVfTlNfQVNTRVJUSU9OUyA9IE5POwoJCQkJRU5BQkxFX1NUUklDVF9PQkpDX01TR1NFTkQgPSBZRVM7CgkJCQlHQ0NfQ19MQU5HVUFHRV9TVEFOREFSRCA9IGdudTk5OwoJCQkJR0NDX05PX0NPTU1PTl9CTE9DS1MgPSBZRVM7CgkJCQlHQ0NfV0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX0FCT1VUX1JFVFVSTl9UWVBFID0gWUVTX0VSUk9SOwoJCQkJR0NDX1dBUk5fVU5ERUNMQVJFRF9TRUxFQ1RPUiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOSU5JVElBTElaRURfQVVUT1MgPSBZRVNfQUdHUkVTU0lWRTsKCQkJCUdDQ19XQVJOX1VOVVNFRF9GVU5DVElPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9IFlFUzsKCQkJCUlQSE9ORU9TX0RFUExPWU1FTlRfVEFSR0VUID0gMTIuMDsKCQkJCU1UTF9FTkFCTEVfREVCVUdfSU5GTyA9IE5POwoJCQkJU0RLUk9PVCA9IGlwaG9uZW9zOwoJCQkJU1VQUE9SVEVEX1BMQVRGT1JNUyA9IGlwaG9uZW9zOwoJCQkJU1dJRlRfQ09NUElMQVRJT05fTU9ERSA9IHdob2xlbW9kdWxlOwoJCQkJU1dJRlRfT1BUSU1JWkFUSU9OX0xFVkVMID0gIi1PIjsKCQkJCVRBUkdFVEVEX0RFVklDRV9GQU1JTFkgPSAiMSwyIjsKCQkJCVZBTElEQVRFX1BST0RVQ1QgPSBZRVM7CgkJCX07CgkJCW5hbWUgPSAiUmVsZWFzZS1zdGFnaW5nIjsKCQl9OwoJCTNDQzA0NzcxMkIwRjhFQ0EwMDcxM0Q5MiAvKiBSZWxlYXNlLXN0YWdpbmcgKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDdBRkEzQzhFMUQzNTM2MEMwMDgzMDgyRSAvKiBSZWxlYXNlLnhjY29uZmlnICovOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQVNTRVRDQVRBTE9HX0NPTVBJTEVSX0FQUElDT05fTkFNRSA9ICJBcHBJY29uLXN0ZyI7CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gIiQoRkxVVFRFUl9CVUlMRF9OVU1CRVIpIjsKCQkJCUVOQUJMRV9CSVRDT0RFID0gTk87CgkJCQlGTEFWT1JfQVBQX05BTUUgPSAiW1NUR10ge3twcm9qZWN0X25hbWUudGl0bGVDYXNlKCl9fSI7CgkJCQlJTkZPUExJU1RfRklMRSA9IFJ1bm5lci9JbmZvLnBsaXN0OwoJCQkJTERfUlVOUEFUSF9TRUFSQ0hfUEFUSFMgPSAoCgkJCQkJIiQoaW5oZXJpdGVkKSIsCgkJCQkJIkBleGVjdXRhYmxlX3BhdGgvRnJhbWV3b3JrcyIsCgkJCQkpOwoJCQkJUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9IHt7aW9zX2FwcGxpY2F0aW9uX2lkfX0uc3RnOwoJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKCQkJCVNXSUZUX09CSkNfQlJJREdJTkdfSEVBREVSID0gIlJ1bm5lci9SdW5uZXItQnJpZGdpbmctSGVhZGVyLmgiOwoJCQkJU1dJRlRfVkVSU0lPTiA9IDUuMDsKCQkJCVZFUlNJT05JTkdfU1lTVEVNID0gImFwcGxlLWdlbmVyaWMiOwoJCQl9OwoJCQluYW1lID0gIlJlbGVhc2Utc3RhZ2luZyI7CgkJfTsKCQkzQ0MwNDc3MjJCMEY4RUNBMDA3MTNEOTIgLyogUmVsZWFzZS1zdGFnaW5nICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBGNzAyQ0JFMjJDMkU0OEEzNzVGNDI5MzggLyogUG9kcy1SdW5uZXJUZXN0cy5yZWxlYXNlLXN0YWdpbmcueGNjb25maWcgKi87CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlCVU5ETEVfTE9BREVSID0gIiQoVEVTVF9IT1NUKSI7CgkJCQlDT0RFX1NJR05fU1RZTEUgPSBBdXRvbWF0aWM7CgkJCQlDVVJSRU5UX1BST0pFQ1RfVkVSU0lPTiA9IDE7CgkJCQlHRU5FUkFURV9JTkZPUExJU1RfRklMRSA9IFlFUzsKCQkJCU1BUktFVElOR19WRVJTSU9OID0gMS4wOwoJCQkJUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9IHt7aW9zX2FwcGxpY2F0aW9uX2lkfX0uUnVubmVyVGVzdHM7CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfVkVSU0lPTiA9IDUuMDsKCQkJCVRFU1RfSE9TVCA9ICIkKEJVSUxUX1BST0RVQ1RTX0RJUikvUnVubmVyLmFwcC8kKEJVTkRMRV9FWEVDVVRBQkxFX0ZPTERFUl9QQVRIKS9SdW5uZXIiOwoJCQl9OwoJCQluYW1lID0gIlJlbGVhc2Utc3RhZ2luZyI7CgkJfTsKCQkzQ0MwNDc3MzJCMEY4RUNGMDA3MTNEOTIgLyogUHJvZmlsZS1zdGFnaW5nICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POwoJCQkJQ0xBTkdfQU5BTFlaRVJfTk9OTlVMTCA9IFlFUzsKCQkJCUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9ICJnbnUrKzB4IjsKCQkJCUNMQU5HX0NYWF9MSUJSQVJZID0gImxpYmMrKyI7CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNMQU5HX0VOQUJMRV9PQkpDX0FSQyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQkxPQ0tfQ0FQVFVSRV9BVVRPUkVMRUFTSU5HID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9CT09MX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0NPTU1BID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT05TVEFOVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ERVBSRUNBVEVEX09CSkNfSU1QTEVNRU5UQVRJT05TID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ESVJFQ1RfT0JKQ19JU0FfVVNBR0UgPSBZRVNfRVJST1I7CgkJCQlDTEFOR19XQVJOX0VNUFRZX0JPRFkgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0VOVU1fQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5GSU5JVEVfUkVDVVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9JTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fTk9OX0xJVEVSQUxfTlVMTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0lNUExJQ0lUX1JFVEFJTl9TRUxGID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0xJVEVSQUxfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19ST09UX0NMQVNTID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9SQU5HRV9MT09QX0FOQUxZU0lTID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9TVFJJQ1RfUFJPVE9UWVBFUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1VTUElDSU9VU19NT1ZFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9VTlJFQUNIQUJMRV9DT0RFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9fRFVQTElDQVRFX01FVEhPRF9NQVRDSCA9IFlFUzsKCQkJCSJDT0RFX1NJR05fSURFTlRJVFlbc2RrPWlwaG9uZW9zKl0iID0gImlQaG9uZSBEZXZlbG9wZXIiOwoJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IE5POwoJCQkJREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gImR3YXJmLXdpdGgtZHN5bSI7CgkJCQlFTkFCTEVfTlNfQVNTRVJUSU9OUyA9IE5POwoJCQkJRU5BQkxFX1NUUklDVF9PQkpDX01TR1NFTkQgPSBZRVM7CgkJCQlHQ0NfQ19MQU5HVUFHRV9TVEFOREFSRCA9IGdudTk5OwoJCQkJR0NDX05PX0NPTU1PTl9CTE9DS1MgPSBZRVM7CgkJCQlHQ0NfV0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX0FCT1VUX1JFVFVSTl9UWVBFID0gWUVTX0VSUk9SOwoJCQkJR0NDX1dBUk5fVU5ERUNMQVJFRF9TRUxFQ1RPUiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOSU5JVElBTElaRURfQVVUT1MgPSBZRVNfQUdHUkVTU0lWRTsKCQkJCUdDQ19XQVJOX1VOVVNFRF9GVU5DVElPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9IFlFUzsKCQkJCUlQSE9ORU9TX0RFUExPWU1FTlRfVEFSR0VUID0gMTIuMDsKCQkJCU1UTF9FTkFCTEVfREVCVUdfSU5GTyA9IE5POwoJCQkJU0RLUk9PVCA9IGlwaG9uZW9zOwoJCQkJU1VQUE9SVEVEX1BMQVRGT1JNUyA9IGlwaG9uZW9zOwoJCQkJVEFSR0VURURfREVWSUNFX0ZBTUlMWSA9ICIxLDIiOwoJCQkJVkFMSURBVEVfUFJPRFVDVCA9IFlFUzsKCQkJfTsKCQkJbmFtZSA9ICJQcm9maWxlLXN0YWdpbmciOwoJCX07CgkJM0NDMDQ3NzQyQjBGOEVDRjAwNzEzRDkyIC8qIFByb2ZpbGUtc3RhZ2luZyAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gN0FGQTNDOEUxRDM1MzYwQzAwODMwODJFIC8qIFJlbGVhc2UueGNjb25maWcgKi87CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBU1NFVENBVEFMT0dfQ09NUElMRVJfQVBQSUNPTl9OQU1FID0gIkFwcEljb24tc3RnIjsKCQkJCUNMQU5HX0VOQUJMRV9NT0RVTEVTID0gWUVTOwoJCQkJQ1VSUkVOVF9QUk9KRUNUX1ZFUlNJT04gPSAiJChGTFVUVEVSX0JVSUxEX05VTUJFUikiOwoJCQkJRU5BQkxFX0JJVENPREUgPSBOTzsKCQkJCUZMQVZPUl9BUFBfTkFNRSA9ICJbU1RHXSB7e3Byb2plY3RfbmFtZS50aXRsZUNhc2UoKX19IjsKCQkJCUlORk9QTElTVF9GSUxFID0gUnVubmVyL0luZm8ucGxpc3Q7CgkJCQlMRF9SVU5QQVRIX1NFQVJDSF9QQVRIUyA9ICgKCQkJCQkiJChpbmhlcml0ZWQpIiwKCQkJCQkiQGV4ZWN1dGFibGVfcGF0aC9GcmFtZXdvcmtzIiwKCQkJCSk7CgkJCQlQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0ge3tpb3NfYXBwbGljYXRpb25faWR9fS5zdGc7CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfT0JKQ19CUklER0lOR19IRUFERVIgPSAiUnVubmVyL1J1bm5lci1CcmlkZ2luZy1IZWFkZXIuaCI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVkVSU0lPTklOR19TWVNURU0gPSAiYXBwbGUtZ2VuZXJpYyI7CgkJCX07CgkJCW5hbWUgPSAiUHJvZmlsZS1zdGFnaW5nIjsKCQl9OwoJCTNDQzA0Nzc1MkIwRjhFQ0YwMDcxM0Q5MiAvKiBQcm9maWxlLXN0YWdpbmcgKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDQxRUM0NkE3MTExQzJDNEIwMjcyQUE3RiAvKiBQb2RzLVJ1bm5lclRlc3RzLnByb2ZpbGUtc3RhZ2luZy54Y2NvbmZpZyAqLzsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUJVTkRMRV9MT0FERVIgPSAiJChURVNUX0hPU1QpIjsKCQkJCUNPREVfU0lHTl9TVFlMRSA9IEF1dG9tYXRpYzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gMTsKCQkJCUdFTkVSQVRFX0lORk9QTElTVF9GSUxFID0gWUVTOwoJCQkJTUFSS0VUSU5HX1ZFUlNJT04gPSAxLjA7CgkJCQlQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0ge3tpb3NfYXBwbGljYXRpb25faWR9fS5SdW5uZXJUZXN0czsKCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVEVTVF9IT1NUID0gIiQoQlVJTFRfUFJPRFVDVFNfRElSKS9SdW5uZXIuYXBwLyQoQlVORExFX0VYRUNVVEFCTEVfRk9MREVSX1BBVEgpL1J1bm5lciI7CgkJCX07CgkJCW5hbWUgPSAiUHJvZmlsZS1zdGFnaW5nIjsKCQl9OwoJCTk3QzE0NzAzMUNGOTAwMEYwMDdDMTE3RCAvKiBEZWJ1Zy1wcm9kdWN0aW9uICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POwoJCQkJQ0xBTkdfQU5BTFlaRVJfTk9OTlVMTCA9IFlFUzsKCQkJCUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9ICJnbnUrKzB4IjsKCQkJCUNMQU5HX0NYWF9MSUJSQVJZID0gImxpYmMrKyI7CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNMQU5HX0VOQUJMRV9PQkpDX0FSQyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQkxPQ0tfQ0FQVFVSRV9BVVRPUkVMRUFTSU5HID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9CT09MX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0NPTU1BID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT05TVEFOVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ERVBSRUNBVEVEX09CSkNfSU1QTEVNRU5UQVRJT05TID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ESVJFQ1RfT0JKQ19JU0FfVVNBR0UgPSBZRVNfRVJST1I7CgkJCQlDTEFOR19XQVJOX0VNUFRZX0JPRFkgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0VOVU1fQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5GSU5JVEVfUkVDVVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9JTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fTk9OX0xJVEVSQUxfTlVMTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0lNUExJQ0lUX1JFVEFJTl9TRUxGID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0xJVEVSQUxfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19ST09UX0NMQVNTID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9SQU5HRV9MT09QX0FOQUxZU0lTID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9TVFJJQ1RfUFJPVE9UWVBFUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1VTUElDSU9VU19NT1ZFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9VTlJFQUNIQUJMRV9DT0RFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9fRFVQTElDQVRFX01FVEhPRF9NQVRDSCA9IFlFUzsKCQkJCSJDT0RFX1NJR05fSURFTlRJVFlbc2RrPWlwaG9uZW9zKl0iID0gImlQaG9uZSBEZXZlbG9wZXIiOwoJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IE5POwoJCQkJREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gZHdhcmY7CgkJCQlFTkFCTEVfU1RSSUNUX09CSkNfTVNHU0VORCA9IFlFUzsKCQkJCUVOQUJMRV9URVNUQUJJTElUWSA9IFlFUzsKCQkJCUdDQ19DX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251OTk7CgkJCQlHQ0NfRFlOQU1JQ19OT19QSUMgPSBOTzsKCQkJCUdDQ19OT19DT01NT05fQkxPQ0tTID0gWUVTOwoJCQkJR0NDX09QVElNSVpBVElPTl9MRVZFTCA9IDA7CgkJCQlHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gKAoJCQkJCSJERUJVRz0xIiwKCQkJCQkiJChpbmhlcml0ZWQpIiwKCQkJCSk7CgkJCQlHQ0NfV0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX0FCT1VUX1JFVFVSTl9UWVBFID0gWUVTX0VSUk9SOwoJCQkJR0NDX1dBUk5fVU5ERUNMQVJFRF9TRUxFQ1RPUiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOSU5JVElBTElaRURfQVVUT1MgPSBZRVNfQUdHUkVTU0lWRTsKCQkJCUdDQ19XQVJOX1VOVVNFRF9GVU5DVElPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9IFlFUzsKCQkJCUlQSE9ORU9TX0RFUExPWU1FTlRfVEFSR0VUID0gMTIuMDsKCQkJCU1UTF9FTkFCTEVfREVCVUdfSU5GTyA9IFlFUzsKCQkJCU9OTFlfQUNUSVZFX0FSQ0ggPSBZRVM7CgkJCQlTREtST09UID0gaXBob25lb3M7CgkJCQlUQVJHRVRFRF9ERVZJQ0VfRkFNSUxZID0gIjEsMiI7CgkJCX07CgkJCW5hbWUgPSAiRGVidWctcHJvZHVjdGlvbiI7CgkJfTsKCQk5N0MxNDcwNDFDRjkwMDBGMDA3QzExN0QgLyogUmVsZWFzZS1wcm9kdWN0aW9uICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POwoJCQkJQ0xBTkdfQU5BTFlaRVJfTk9OTlVMTCA9IFlFUzsKCQkJCUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9ICJnbnUrKzB4IjsKCQkJCUNMQU5HX0NYWF9MSUJSQVJZID0gImxpYmMrKyI7CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNMQU5HX0VOQUJMRV9PQkpDX0FSQyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQkxPQ0tfQ0FQVFVSRV9BVVRPUkVMRUFTSU5HID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9CT09MX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0NPTU1BID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT05TVEFOVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ERVBSRUNBVEVEX09CSkNfSU1QTEVNRU5UQVRJT05TID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ESVJFQ1RfT0JKQ19JU0FfVVNBR0UgPSBZRVNfRVJST1I7CgkJCQlDTEFOR19XQVJOX0VNUFRZX0JPRFkgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0VOVU1fQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5GSU5JVEVfUkVDVVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9JTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fTk9OX0xJVEVSQUxfTlVMTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0lNUExJQ0lUX1JFVEFJTl9TRUxGID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0xJVEVSQUxfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19ST09UX0NMQVNTID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9SQU5HRV9MT09QX0FOQUxZU0lTID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9TVFJJQ1RfUFJPVE9UWVBFUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1VTUElDSU9VU19NT1ZFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9VTlJFQUNIQUJMRV9DT0RFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9fRFVQTElDQVRFX01FVEhPRF9NQVRDSCA9IFlFUzsKCQkJCSJDT0RFX1NJR05fSURFTlRJVFlbc2RrPWlwaG9uZW9zKl0iID0gImlQaG9uZSBEZXZlbG9wZXIiOwoJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IE5POwoJCQkJREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gImR3YXJmLXdpdGgtZHN5bSI7CgkJCQlFTkFCTEVfTlNfQVNTRVJUSU9OUyA9IE5POwoJCQkJRU5BQkxFX1NUUklDVF9PQkpDX01TR1NFTkQgPSBZRVM7CgkJCQlHQ0NfQ19MQU5HVUFHRV9TVEFOREFSRCA9IGdudTk5OwoJCQkJR0NDX05PX0NPTU1PTl9CTE9DS1MgPSBZRVM7CgkJCQlHQ0NfV0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX0FCT1VUX1JFVFVSTl9UWVBFID0gWUVTX0VSUk9SOwoJCQkJR0NDX1dBUk5fVU5ERUNMQVJFRF9TRUxFQ1RPUiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOSU5JVElBTElaRURfQVVUT1MgPSBZRVNfQUdHUkVTU0lWRTsKCQkJCUdDQ19XQVJOX1VOVVNFRF9GVU5DVElPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9IFlFUzsKCQkJCUlQSE9ORU9TX0RFUExPWU1FTlRfVEFSR0VUID0gMTIuMDsKCQkJCU1UTF9FTkFCTEVfREVCVUdfSU5GTyA9IE5POwoJCQkJU0RLUk9PVCA9IGlwaG9uZW9zOwoJCQkJU1VQUE9SVEVEX1BMQVRGT1JNUyA9IGlwaG9uZW9zOwoJCQkJU1dJRlRfQ09NUElMQVRJT05fTU9ERSA9IHdob2xlbW9kdWxlOwoJCQkJU1dJRlRfT1BUSU1JWkFUSU9OX0xFVkVMID0gIi1PIjsKCQkJCVRBUkdFVEVEX0RFVklDRV9GQU1JTFkgPSAiMSwyIjsKCQkJCVZBTElEQVRFX1BST0RVQ1QgPSBZRVM7CgkJCX07CgkJCW5hbWUgPSAiUmVsZWFzZS1wcm9kdWN0aW9uIjsKCQl9OwoJCTk3QzE0NzA2MUNGOTAwMEYwMDdDMTE3RCAvKiBEZWJ1Zy1wcm9kdWN0aW9uICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSA5NzQwRUVCMjFDRjkwMTk1MDA0Mzg0RkMgLyogRGVidWcueGNjb25maWcgKi87CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBU1NFVENBVEFMT0dfQ09NUElMRVJfQVBQSUNPTl9OQU1FID0gQXBwSWNvbjsKCQkJCUNMQU5HX0VOQUJMRV9NT0RVTEVTID0gWUVTOwoJCQkJQ1VSUkVOVF9QUk9KRUNUX1ZFUlNJT04gPSAiJChGTFVUVEVSX0JVSUxEX05VTUJFUikiOwoJCQkJRU5BQkxFX0JJVENPREUgPSBOTzsKCQkJCUZMQVZPUl9BUFBfTkFNRSA9ICJ7e3Byb2plY3RfbmFtZS50aXRsZUNhc2UoKX19IjsKCQkJCUlORk9QTElTVF9GSUxFID0gUnVubmVyL0luZm8ucGxpc3Q7CgkJCQlMRF9SVU5QQVRIX1NFQVJDSF9QQVRIUyA9ICgKCQkJCQkiJChpbmhlcml0ZWQpIiwKCQkJCQkiQGV4ZWN1dGFibGVfcGF0aC9GcmFtZXdvcmtzIiwKCQkJCSk7CgkJCQlQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0ge3tpb3NfYXBwbGljYXRpb25faWR9fTsKCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CgkJCQlTV0lGVF9PQkpDX0JSSURHSU5HX0hFQURFUiA9ICJSdW5uZXIvUnVubmVyLUJyaWRnaW5nLUhlYWRlci5oIjsKCQkJCVNXSUZUX09QVElNSVpBVElPTl9MRVZFTCA9ICItT25vbmUiOwoJCQkJU1dJRlRfVkVSU0lPTiA9IDUuMDsKCQkJCVZFUlNJT05JTkdfU1lTVEVNID0gImFwcGxlLWdlbmVyaWMiOwoJCQl9OwoJCQluYW1lID0gIkRlYnVnLXByb2R1Y3Rpb24iOwoJCX07CgkJOTdDMTQ3MDcxQ0Y5MDAwRjAwN0MxMTdEIC8qIFJlbGVhc2UtcHJvZHVjdGlvbiAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gN0FGQTNDOEUxRDM1MzYwQzAwODMwODJFIC8qIFJlbGVhc2UueGNjb25maWcgKi87CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBU1NFVENBVEFMT0dfQ09NUElMRVJfQVBQSUNPTl9OQU1FID0gQXBwSWNvbjsKCQkJCUNMQU5HX0VOQUJMRV9NT0RVTEVTID0gWUVTOwoJCQkJQ1VSUkVOVF9QUk9KRUNUX1ZFUlNJT04gPSAiJChGTFVUVEVSX0JVSUxEX05VTUJFUikiOwoJCQkJRU5BQkxFX0JJVENPREUgPSBOTzsKCQkJCUZMQVZPUl9BUFBfTkFNRSA9ICJ7e3Byb2plY3RfbmFtZS50aXRsZUNhc2UoKX19IjsKCQkJCUlORk9QTElTVF9GSUxFID0gUnVubmVyL0luZm8ucGxpc3Q7CgkJCQlMRF9SVU5QQVRIX1NFQVJDSF9QQVRIUyA9ICgKCQkJCQkiJChpbmhlcml0ZWQpIiwKCQkJCQkiQGV4ZWN1dGFibGVfcGF0aC9GcmFtZXdvcmtzIiwKCQkJCSk7CgkJCQlQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0ge3tpb3NfYXBwbGljYXRpb25faWR9fTsKCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CgkJCQlTV0lGVF9PQkpDX0JSSURHSU5HX0hFQURFUiA9ICJSdW5uZXIvUnVubmVyLUJyaWRnaW5nLUhlYWRlci5oIjsKCQkJCVNXSUZUX1ZFUlNJT04gPSA1LjA7CgkJCQlWRVJTSU9OSU5HX1NZU1RFTSA9ICJhcHBsZS1nZW5lcmljIjsKCQkJfTsKCQkJbmFtZSA9ICJSZWxlYXNlLXByb2R1Y3Rpb24iOwoJCX07Ci8qIEVuZCBYQ0J1aWxkQ29uZmlndXJhdGlvbiBzZWN0aW9uICovCgovKiBCZWdpbiBYQ0NvbmZpZ3VyYXRpb25MaXN0IHNlY3Rpb24gKi8KCQkzMzFDODA4NzI5NEE2M0E0MDAyNjNCRTUgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIlJ1bm5lclRlc3RzIiAqLyA9IHsKCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKCQkJCTMzMUM4MDg4Mjk0QTYzQTQwMDI2M0JFNSAvKiBEZWJ1Zy1wcm9kdWN0aW9uICovLAoJCQkJM0NDMDQ3NkYyQjBGOEVCRjAwNzEzRDkyIC8qIERlYnVnLXN0YWdpbmcgKi8sCgkJCQkzQ0MwNDc2NjJCMEY4RTlGMDA3MTNEOTIgLyogRGVidWctZGV2ZWxvcG1lbnQgKi8sCgkJCQkzMzFDODA4OTI5NEE2M0E0MDAyNjNCRTUgLyogUmVsZWFzZS1wcm9kdWN0aW9uICovLAoJCQkJM0NDMDQ3NzIyQjBGOEVDQTAwNzEzRDkyIC8qIFJlbGVhc2Utc3RhZ2luZyAqLywKCQkJCTNDQzA0NzY5MkIwRjhFQUYwMDcxM0Q5MiAvKiBSZWxlYXNlLWRldmVsb3BtZW50ICovLAoJCQkJMzMxQzgwOEEyOTRBNjNBNDAwMjYzQkU1IC8qIFByb2ZpbGUtcHJvZHVjdGlvbiAqLywKCQkJCTNDQzA0Nzc1MkIwRjhFQ0YwMDcxM0Q5MiAvKiBQcm9maWxlLXN0YWdpbmcgKi8sCgkJCQkzQ0MwNDc2QzJCMEY4RUI0MDA3MTNEOTIgLyogUHJvZmlsZS1kZXZlbG9wbWVudCAqLywKCQkJKTsKCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOwoJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSAiUmVsZWFzZS1wcm9kdWN0aW9uIjsKCQl9OwoJCTk3QzE0NkU5MUNGOTAwMEYwMDdDMTE3RCAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3QgIlJ1bm5lciIgKi8gPSB7CgkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CgkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCgkJCQk5N0MxNDcwMzFDRjkwMDBGMDA3QzExN0QgLyogRGVidWctcHJvZHVjdGlvbiAqLywKCQkJCTNDQzA0NzZEMkIwRjhFQkYwMDcxM0Q5MiAvKiBEZWJ1Zy1zdGFnaW5nICovLAoJCQkJM0NDMDQ3NjQyQjBGOEU5RjAwNzEzRDkyIC8qIERlYnVnLWRldmVsb3BtZW50ICovLAoJCQkJOTdDMTQ3MDQxQ0Y5MDAwRjAwN0MxMTdEIC8qIFJlbGVhc2UtcHJvZHVjdGlvbiAqLywKCQkJCTNDQzA0NzcwMkIwRjhFQ0EwMDcxM0Q5MiAvKiBSZWxlYXNlLXN0YWdpbmcgKi8sCgkJCQkzQ0MwNDc2NzJCMEY4RUFGMDA3MTNEOTIgLyogUmVsZWFzZS1kZXZlbG9wbWVudCAqLywKCQkJCTI0OTAyMUQzMjE3RTRGREIwMEFFOTVCOSAvKiBQcm9maWxlLXByb2R1Y3Rpb24gKi8sCgkJCQkzQ0MwNDc3MzJCMEY4RUNGMDA3MTNEOTIgLyogUHJvZmlsZS1zdGFnaW5nICovLAoJCQkJM0NDMDQ3NkEyQjBGOEVCNDAwNzEzRDkyIC8qIFByb2ZpbGUtZGV2ZWxvcG1lbnQgKi8sCgkJCSk7CgkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gIlJlbGVhc2UtcHJvZHVjdGlvbiI7CgkJfTsKCQk5N0MxNDcwNTFDRjkwMDBGMDA3QzExN0QgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIlJ1bm5lciIgKi8gPSB7CgkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CgkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCgkJCQk5N0MxNDcwNjFDRjkwMDBGMDA3QzExN0QgLyogRGVidWctcHJvZHVjdGlvbiAqLywKCQkJCTNDQzA0NzZFMkIwRjhFQkYwMDcxM0Q5MiAvKiBEZWJ1Zy1zdGFnaW5nICovLAoJCQkJM0NDMDQ3NjUyQjBGOEU5RjAwNzEzRDkyIC8qIERlYnVnLWRldmVsb3BtZW50ICovLAoJCQkJOTdDMTQ3MDcxQ0Y5MDAwRjAwN0MxMTdEIC8qIFJlbGVhc2UtcHJvZHVjdGlvbiAqLywKCQkJCTNDQzA0NzcxMkIwRjhFQ0EwMDcxM0Q5MiAvKiBSZWxlYXNlLXN0YWdpbmcgKi8sCgkJCQkzQ0MwNDc2ODJCMEY4RUFGMDA3MTNEOTIgLyogUmVsZWFzZS1kZXZlbG9wbWVudCAqLywKCQkJCTI0OTAyMUQ0MjE3RTRGREIwMEFFOTVCOSAvKiBQcm9maWxlLXByb2R1Y3Rpb24gKi8sCgkJCQkzQ0MwNDc3NDJCMEY4RUNGMDA3MTNEOTIgLyogUHJvZmlsZS1zdGFnaW5nICovLAoJCQkJM0NDMDQ3NkIyQjBGOEVCNDAwNzEzRDkyIC8qIFByb2ZpbGUtZGV2ZWxvcG1lbnQgKi8sCgkJCSk7CgkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gIlJlbGVhc2UtcHJvZHVjdGlvbiI7CgkJfTsKLyogRW5kIFhDQ29uZmlndXJhdGlvbkxpc3Qgc2VjdGlvbiAqLwoJfTsKCXJvb3RPYmplY3QgPSA5N0MxNDZFNjFDRjkwMDBGMDA3QzExN0QgLyogUHJvamVjdCBvYmplY3QgKi87Cn0K", + "Ly8gISQqVVRGOCokIQp7CglhcmNoaXZlVmVyc2lvbiA9IDE7CgljbGFzc2VzID0gewoJfTsKCW9iamVjdFZlcnNpb24gPSA1NDsKCW9iamVjdHMgPSB7CgovKiBCZWdpbiBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwoJCTE0OThEMjM0MUU4RTg5MjIwMDQwRjRDMiAvKiBHZW5lcmF0ZWRQbHVnaW5SZWdpc3RyYW50Lm0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDk4RDIzMzFFOEU4OTIyMDA0MEY0QzIgLyogR2VuZXJhdGVkUGx1Z2luUmVnaXN0cmFudC5tICovOyB9OwoJCTMzMUM4MDhCMjk0QTYzQUIwMDI2M0JFNSAvKiBSdW5uZXJUZXN0cy5zd2lmdCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzMUM4MDdCMjk0QTYxODcwMDI2M0JFNSAvKiBSdW5uZXJUZXN0cy5zd2lmdCAqLzsgfTsKCQkzNjhBQzMwMjI3NjUxMTBFMDVDQzQ2NEQgLyogUG9kc19SdW5uZXIuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODIwNEM0QUJDOTEwMzNFQjA0REJENDAwIC8qIFBvZHNfUnVubmVyLmZyYW1ld29yayAqLzsgfTsKCQkzQjM5NjcxNjFFODMzQ0FBMDA0RjU5NzAgLyogQXBwRnJhbWV3b3JrSW5mby5wbGlzdCBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gM0IzOTY3MTUxRTgzM0NBQTAwNEY1OTcwIC8qIEFwcEZyYW1ld29ya0luZm8ucGxpc3QgKi87IH07CgkJNzQ4NThGQUYxRUQyREM1NjAwNTE1ODEwIC8qIEFwcERlbGVnYXRlLnN3aWZ0IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzQ4NThGQUUxRUQyREM1NjAwNTE1ODEwIC8qIEFwcERlbGVnYXRlLnN3aWZ0ICovOyB9OwoJCTk3QzE0NzEwMUNGOTAwMEYwMDdDMTE3RCAvKiBTY2VuZURlbGVnYXRlLnN3aWZ0IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdDMTQ3MTExQ0Y5MDAwRjAwN0MxMTdEIC8qIFNjZW5lRGVsZWdhdGUuc3dpZnQgKi87IH07CgkJOTdDMTQ2RkMxQ0Y5MDAwRjAwN0MxMTdEIC8qIE1haW4uc3Rvcnlib2FyZCBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdDMTQ2RkExQ0Y5MDAwRjAwN0MxMTdEIC8qIE1haW4uc3Rvcnlib2FyZCAqLzsgfTsKCQk5N0MxNDZGRTFDRjkwMDBGMDA3QzExN0QgLyogQXNzZXRzLnhjYXNzZXRzIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5N0MxNDZGRDFDRjkwMDBGMDA3QzExN0QgLyogQXNzZXRzLnhjYXNzZXRzICovOyB9OwoJCTk3QzE0NzAxMUNGOTAwMEYwMDdDMTE3RCAvKiBMYXVuY2hTY3JlZW4uc3Rvcnlib2FyZCBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdDMTQ2RkYxQ0Y5MDAwRjAwN0MxMTdEIC8qIExhdW5jaFNjcmVlbi5zdG9yeWJvYXJkICovOyB9OwoJCUY1QTk5QkJCRjlDOUZCMDk1REM2QUYzRSAvKiBQb2RzX1J1bm5lclRlc3RzLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA0MTM2NzlBQjgzRjk5RTM5MzFBQTEzMyAvKiBQb2RzX1J1bm5lclRlc3RzLmZyYW1ld29yayAqLzsgfTsKLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCgovKiBCZWdpbiBQQlhDb250YWluZXJJdGVtUHJveHkgc2VjdGlvbiAqLwoJCTMzMUM4MDg1Mjk0QTYzQTQwMDI2M0JFNSAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CgkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKCQkJY29udGFpbmVyUG9ydGFsID0gOTdDMTQ2RTYxQ0Y5MDAwRjAwN0MxMTdEIC8qIFByb2plY3Qgb2JqZWN0ICovOwoJCQlwcm94eVR5cGUgPSAxOwoJCQlyZW1vdGVHbG9iYWxJRFN0cmluZyA9IDk3QzE0NkVEMUNGOTAwMEYwMDdDMTE3RDsKCQkJcmVtb3RlSW5mbyA9IFJ1bm5lcjsKCQl9OwovKiBFbmQgUEJYQ29udGFpbmVySXRlbVByb3h5IHNlY3Rpb24gKi8KCi8qIEJlZ2luIFBCWENvcHlGaWxlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwoJCTk3MDVBMUM0MUNGOTA0ODUwMDUzODQ4OSAvKiBFbWJlZCBGcmFtZXdvcmtzICovID0gewoJCQlpc2EgPSBQQlhDb3B5RmlsZXNCdWlsZFBoYXNlOwoJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwoJCQlkc3RQYXRoID0gIiI7CgkJCWRzdFN1YmZvbGRlclNwZWMgPSAxMDsKCQkJZmlsZXMgPSAoCgkJCSk7CgkJCW5hbWUgPSAiRW1iZWQgRnJhbWV3b3JrcyI7CgkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwoJCX07Ci8qIEVuZCBQQlhDb3B5RmlsZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KCi8qIEJlZ2luIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwoJCTAxMUFDRTkxNTQ2NEY4OEYzQTY2NzUzNCAvKiBQb2RzLVJ1bm5lci5yZWxlYXNlLWRldmVsb3BtZW50LnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGluY2x1ZGVJbkluZGV4ID0gMTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBuYW1lID0gIlBvZHMtUnVubmVyLnJlbGVhc2UtZGV2ZWxvcG1lbnQueGNjb25maWciOyBwYXRoID0gIlRhcmdldCBTdXBwb3J0IEZpbGVzL1BvZHMtUnVubmVyL1BvZHMtUnVubmVyLnJlbGVhc2UtZGV2ZWxvcG1lbnQueGNjb25maWciOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTA0MTM2NzlBQjgzRjk5RTM5MzFBQTEzMyAvKiBQb2RzX1J1bm5lclRlc3RzLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IFBvZHNfUnVubmVyVGVzdHMuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwoJCTE0OThEMjMyMUU4RTg2MjMwMDQwRjRDMiAvKiBHZW5lcmF0ZWRQbHVnaW5SZWdpc3RyYW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdlbmVyYXRlZFBsdWdpblJlZ2lzdHJhbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQkxNDk4RDIzMzFFOEU4OTIyMDA0MEY0QzIgLyogR2VuZXJhdGVkUGx1Z2luUmVnaXN0cmFudC5tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLm9iamM7IHBhdGggPSBHZW5lcmF0ZWRQbHVnaW5SZWdpc3RyYW50Lm07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJMTRCRTdGOUUxMDU0OThGQjc1NDQyMkI1IC8qIFBvZHMtUnVubmVyLnByb2ZpbGUtZGV2ZWxvcG1lbnQueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgaW5jbHVkZUluSW5kZXggPSAxOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IG5hbWUgPSAiUG9kcy1SdW5uZXIucHJvZmlsZS1kZXZlbG9wbWVudC54Y2NvbmZpZyI7IHBhdGggPSAiVGFyZ2V0IFN1cHBvcnQgRmlsZXMvUG9kcy1SdW5uZXIvUG9kcy1SdW5uZXIucHJvZmlsZS1kZXZlbG9wbWVudC54Y2NvbmZpZyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJMzMxQzgwN0IyOTRBNjE4NzAwMjYzQkU1IC8qIFJ1bm5lclRlc3RzLnN3aWZ0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5zd2lmdDsgcGF0aCA9IFJ1bm5lclRlc3RzLnN3aWZ0OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTMzMUM4MDgxMjk0QTYzQTQwMDI2M0JFNSAvKiBSdW5uZXJUZXN0cy54Y3Rlc3QgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHdyYXBwZXIuY2ZidW5kbGU7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IFJ1bm5lclRlc3RzLnhjdGVzdDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKCQkzNTM2RkQ5QzkyQjM5RDFBRENEQjFBQzUgLyogUG9kcy1SdW5uZXJUZXN0cy5wcm9maWxlLXByb2R1Y3Rpb24ueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgaW5jbHVkZUluSW5kZXggPSAxOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IG5hbWUgPSAiUG9kcy1SdW5uZXJUZXN0cy5wcm9maWxlLXByb2R1Y3Rpb24ueGNjb25maWciOyBwYXRoID0gIlRhcmdldCBTdXBwb3J0IEZpbGVzL1BvZHMtUnVubmVyVGVzdHMvUG9kcy1SdW5uZXJUZXN0cy5wcm9maWxlLXByb2R1Y3Rpb24ueGNjb25maWciOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTNCMzk2NzE1MUU4MzNDQUEwMDRGNTk3MCAvKiBBcHBGcmFtZXdvcmtJbmZvLnBsaXN0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5wbGlzdC54bWw7IG5hbWUgPSBBcHBGcmFtZXdvcmtJbmZvLnBsaXN0OyBwYXRoID0gRmx1dHRlci9BcHBGcmFtZXdvcmtJbmZvLnBsaXN0OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTNCRURCQjU5MDNERjI1OUIzOTg2OERCNCAvKiBQb2RzLVJ1bm5lci5kZWJ1Zy1zdGFnaW5nLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGluY2x1ZGVJbkluZGV4ID0gMTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBuYW1lID0gIlBvZHMtUnVubmVyLmRlYnVnLXN0YWdpbmcueGNjb25maWciOyBwYXRoID0gIlRhcmdldCBTdXBwb3J0IEZpbGVzL1BvZHMtUnVubmVyL1BvZHMtUnVubmVyLmRlYnVnLXN0YWdpbmcueGNjb25maWciOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTQxRUM0NkE3MTExQzJDNEIwMjcyQUE3RiAvKiBQb2RzLVJ1bm5lclRlc3RzLnByb2ZpbGUtc3RhZ2luZy54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBpbmNsdWRlSW5JbmRleCA9IDE7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgbmFtZSA9ICJQb2RzLVJ1bm5lclRlc3RzLnByb2ZpbGUtc3RhZ2luZy54Y2NvbmZpZyI7IHBhdGggPSAiVGFyZ2V0IFN1cHBvcnQgRmlsZXMvUG9kcy1SdW5uZXJUZXN0cy9Qb2RzLVJ1bm5lclRlc3RzLnByb2ZpbGUtc3RhZ2luZy54Y2NvbmZpZyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJNDNGRDE5RTgyNEQ3OEMwREJBMTA1RkU3IC8qIFBvZHMtUnVubmVyVGVzdHMucHJvZmlsZS1kZXZlbG9wbWVudC54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBpbmNsdWRlSW5JbmRleCA9IDE7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgbmFtZSA9ICJQb2RzLVJ1bm5lclRlc3RzLnByb2ZpbGUtZGV2ZWxvcG1lbnQueGNjb25maWciOyBwYXRoID0gIlRhcmdldCBTdXBwb3J0IEZpbGVzL1BvZHMtUnVubmVyVGVzdHMvUG9kcy1SdW5uZXJUZXN0cy5wcm9maWxlLWRldmVsb3BtZW50LnhjY29uZmlnIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQk0QTEzNDNEMDcyOUFCNzRGODA3RTAyRkEgLyogUG9kcy1SdW5uZXIuZGVidWctZGV2ZWxvcG1lbnQueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgaW5jbHVkZUluSW5kZXggPSAxOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IG5hbWUgPSAiUG9kcy1SdW5uZXIuZGVidWctZGV2ZWxvcG1lbnQueGNjb25maWciOyBwYXRoID0gIlRhcmdldCBTdXBwb3J0IEZpbGVzL1BvZHMtUnVubmVyL1BvZHMtUnVubmVyLmRlYnVnLWRldmVsb3BtZW50LnhjY29uZmlnIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQk2NzcwNjVFMDQwMEY3QTI3RjdEMEMyMkQgLyogUG9kcy1SdW5uZXIucmVsZWFzZS1wcm9kdWN0aW9uLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGluY2x1ZGVJbkluZGV4ID0gMTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBuYW1lID0gIlBvZHMtUnVubmVyLnJlbGVhc2UtcHJvZHVjdGlvbi54Y2NvbmZpZyI7IHBhdGggPSAiVGFyZ2V0IFN1cHBvcnQgRmlsZXMvUG9kcy1SdW5uZXIvUG9kcy1SdW5uZXIucmVsZWFzZS1wcm9kdWN0aW9uLnhjY29uZmlnIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQk3NDg1OEZBRDFFRDJEQzU2MDA1MTU4MTAgLyogUnVubmVyLUJyaWRnaW5nLUhlYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSAiUnVubmVyLUJyaWRnaW5nLUhlYWRlci5oIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQk3NDg1OEZBRTFFRDJEQzU2MDA1MTU4MTAgLyogQXBwRGVsZWdhdGUuc3dpZnQgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLnN3aWZ0OyBwYXRoID0gQXBwRGVsZWdhdGUuc3dpZnQ7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJOTdDMTQ3MTExQ0Y5MDAwRjAwN0MxMTdEIC8qIFNjZW5lRGVsZWdhdGUuc3dpZnQgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLnN3aWZ0OyBwYXRoID0gU2NlbmVEZWxlZ2F0ZS5zd2lmdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQk3QUZBM0M4RTFEMzUzNjBDMDA4MzA4MkUgLyogUmVsZWFzZS54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IG5hbWUgPSBSZWxlYXNlLnhjY29uZmlnOyBwYXRoID0gRmx1dHRlci9SZWxlYXNlLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTgyMDRDNEFCQzkxMDMzRUIwNERCRDQwMCAvKiBQb2RzX1J1bm5lci5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSBQb2RzX1J1bm5lci5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CgkJOTM0MjlFNzIyMzVCQkM4QTc5MjFFOEM5IC8qIFBvZHMtUnVubmVyLnJlbGVhc2Utc3RhZ2luZy54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBpbmNsdWRlSW5JbmRleCA9IDE7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgbmFtZSA9ICJQb2RzLVJ1bm5lci5yZWxlYXNlLXN0YWdpbmcueGNjb25maWciOyBwYXRoID0gIlRhcmdldCBTdXBwb3J0IEZpbGVzL1BvZHMtUnVubmVyL1BvZHMtUnVubmVyLnJlbGVhc2Utc3RhZ2luZy54Y2NvbmZpZyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJOTc0MEVFQjIxQ0Y5MDE5NTAwNDM4NEZDIC8qIERlYnVnLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgbmFtZSA9IERlYnVnLnhjY29uZmlnOyBwYXRoID0gRmx1dHRlci9EZWJ1Zy54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQk5NzQwRUVCMzFDRjkwMTk1MDA0Mzg0RkMgLyogR2VuZXJhdGVkLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgbmFtZSA9IEdlbmVyYXRlZC54Y2NvbmZpZzsgcGF0aCA9IEZsdXR0ZXIvR2VuZXJhdGVkLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTk3QzE0NkVFMUNGOTAwMEYwMDdDMTE3RCAvKiBSdW5uZXIuYXBwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSB3cmFwcGVyLmFwcGxpY2F0aW9uOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSBSdW5uZXIuYXBwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwoJCTk3QzE0NkZCMUNGOTAwMEYwMDdDMTE3RCAvKiBCYXNlICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZS5zdG9yeWJvYXJkOyBuYW1lID0gQmFzZTsgcGF0aCA9IEJhc2UubHByb2ovTWFpbi5zdG9yeWJvYXJkOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTk3QzE0NkZEMUNGOTAwMEYwMDdDMTE3RCAvKiBBc3NldHMueGNhc3NldHMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBmb2xkZXIuYXNzZXRjYXRhbG9nOyBwYXRoID0gQXNzZXRzLnhjYXNzZXRzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTk3QzE0NzAwMUNGOTAwMEYwMDdDMTE3RCAvKiBCYXNlICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZS5zdG9yeWJvYXJkOyBuYW1lID0gQmFzZTsgcGF0aCA9IEJhc2UubHByb2ovTGF1bmNoU2NyZWVuLnN0b3J5Ym9hcmQ7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJOTdDMTQ3MDIxQ0Y5MDAwRjAwN0MxMTdEIC8qIEluZm8ucGxpc3QgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnBsaXN0LnhtbDsgcGF0aCA9IEluZm8ucGxpc3Q7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJQkNEODEwQjNBNjJBNjA0RTU0MjhCQkJCIC8qIFBvZHMtUnVubmVyVGVzdHMuZGVidWctZGV2ZWxvcG1lbnQueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgaW5jbHVkZUluSW5kZXggPSAxOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IG5hbWUgPSAiUG9kcy1SdW5uZXJUZXN0cy5kZWJ1Zy1kZXZlbG9wbWVudC54Y2NvbmZpZyI7IHBhdGggPSAiVGFyZ2V0IFN1cHBvcnQgRmlsZXMvUG9kcy1SdW5uZXJUZXN0cy9Qb2RzLVJ1bm5lclRlc3RzLmRlYnVnLWRldmVsb3BtZW50LnhjY29uZmlnIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQlCRUMxM0I5MTg4N0EzN0Q4NEU4NjI3RjAgLyogUG9kcy1SdW5uZXJUZXN0cy5kZWJ1Zy1wcm9kdWN0aW9uLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGluY2x1ZGVJbkluZGV4ID0gMTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBuYW1lID0gIlBvZHMtUnVubmVyVGVzdHMuZGVidWctcHJvZHVjdGlvbi54Y2NvbmZpZyI7IHBhdGggPSAiVGFyZ2V0IFN1cHBvcnQgRmlsZXMvUG9kcy1SdW5uZXJUZXN0cy9Qb2RzLVJ1bm5lclRlc3RzLmRlYnVnLXByb2R1Y3Rpb24ueGNjb25maWciOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCUJGMURCMTYyMjcxQ0NGRjlGODI1RjMxMiAvKiBQb2RzLVJ1bm5lclRlc3RzLnJlbGVhc2UtZGV2ZWxvcG1lbnQueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgaW5jbHVkZUluSW5kZXggPSAxOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IG5hbWUgPSAiUG9kcy1SdW5uZXJUZXN0cy5yZWxlYXNlLWRldmVsb3BtZW50LnhjY29uZmlnIjsgcGF0aCA9ICJUYXJnZXQgU3VwcG9ydCBGaWxlcy9Qb2RzLVJ1bm5lclRlc3RzL1BvZHMtUnVubmVyVGVzdHMucmVsZWFzZS1kZXZlbG9wbWVudC54Y2NvbmZpZyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJQzAxQjUyNEM5QjZBODk1MjA1QkY5MkIyIC8qIFBvZHMtUnVubmVyVGVzdHMucmVsZWFzZS1wcm9kdWN0aW9uLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGluY2x1ZGVJbkluZGV4ID0gMTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBuYW1lID0gIlBvZHMtUnVubmVyVGVzdHMucmVsZWFzZS1wcm9kdWN0aW9uLnhjY29uZmlnIjsgcGF0aCA9ICJUYXJnZXQgU3VwcG9ydCBGaWxlcy9Qb2RzLVJ1bm5lclRlc3RzL1BvZHMtUnVubmVyVGVzdHMucmVsZWFzZS1wcm9kdWN0aW9uLnhjY29uZmlnIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQlFMEFDRThERkZDNjgwMjY2RkU0MzEzNUUgLyogUG9kcy1SdW5uZXIucHJvZmlsZS1zdGFnaW5nLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGluY2x1ZGVJbkluZGV4ID0gMTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBuYW1lID0gIlBvZHMtUnVubmVyLnByb2ZpbGUtc3RhZ2luZy54Y2NvbmZpZyI7IHBhdGggPSAiVGFyZ2V0IFN1cHBvcnQgRmlsZXMvUG9kcy1SdW5uZXIvUG9kcy1SdW5uZXIucHJvZmlsZS1zdGFnaW5nLnhjY29uZmlnIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQlGMThEOUE3MzU1RDcyRjM0QkUyQzY0N0IgLyogUG9kcy1SdW5uZXJUZXN0cy5kZWJ1Zy1zdGFnaW5nLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGluY2x1ZGVJbkluZGV4ID0gMTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBuYW1lID0gIlBvZHMtUnVubmVyVGVzdHMuZGVidWctc3RhZ2luZy54Y2NvbmZpZyI7IHBhdGggPSAiVGFyZ2V0IFN1cHBvcnQgRmlsZXMvUG9kcy1SdW5uZXJUZXN0cy9Qb2RzLVJ1bm5lclRlc3RzLmRlYnVnLXN0YWdpbmcueGNjb25maWciOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCUY0RjIyQTQxNkM4M0YzODdBMTcxNEYyNiAvKiBQb2RzLVJ1bm5lci5kZWJ1Zy1wcm9kdWN0aW9uLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGluY2x1ZGVJbkluZGV4ID0gMTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBuYW1lID0gIlBvZHMtUnVubmVyLmRlYnVnLXByb2R1Y3Rpb24ueGNjb25maWciOyBwYXRoID0gIlRhcmdldCBTdXBwb3J0IEZpbGVzL1BvZHMtUnVubmVyL1BvZHMtUnVubmVyLmRlYnVnLXByb2R1Y3Rpb24ueGNjb25maWciOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCUY3MDJDQkUyMkMyRTQ4QTM3NUY0MjkzOCAvKiBQb2RzLVJ1bm5lclRlc3RzLnJlbGVhc2Utc3RhZ2luZy54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBpbmNsdWRlSW5JbmRleCA9IDE7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgbmFtZSA9ICJQb2RzLVJ1bm5lclRlc3RzLnJlbGVhc2Utc3RhZ2luZy54Y2NvbmZpZyI7IHBhdGggPSAiVGFyZ2V0IFN1cHBvcnQgRmlsZXMvUG9kcy1SdW5uZXJUZXN0cy9Qb2RzLVJ1bm5lclRlc3RzLnJlbGVhc2Utc3RhZ2luZy54Y2NvbmZpZyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJRjlERTA0QkNCNUJEQjg0QUU5Mjk5MEUwIC8qIFBvZHMtUnVubmVyLnByb2ZpbGUtcHJvZHVjdGlvbi54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBpbmNsdWRlSW5JbmRleCA9IDE7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgbmFtZSA9ICJQb2RzLVJ1bm5lci5wcm9maWxlLXByb2R1Y3Rpb24ueGNjb25maWciOyBwYXRoID0gIlRhcmdldCBTdXBwb3J0IEZpbGVzL1BvZHMtUnVubmVyL1BvZHMtUnVubmVyLnByb2ZpbGUtcHJvZHVjdGlvbi54Y2NvbmZpZyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci8qIEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KCi8qIEJlZ2luIFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KCQk5N0MxNDZFQjFDRjkwMDBGMDA3QzExN0QgLyogRnJhbWV3b3JrcyAqLyA9IHsKCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CgkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CgkJCWZpbGVzID0gKAoJCQkJMzY4QUMzMDIyNzY1MTEwRTA1Q0M0NjREIC8qIFBvZHNfUnVubmVyLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAoJCQkpOwoJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKCQl9OwoJCURDRjM4RDAwM0RGNkNDQTEzMEZDREQ3NSAvKiBGcmFtZXdvcmtzICovID0gewoJCQlpc2EgPSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsKCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKCQkJZmlsZXMgPSAoCgkJCQlGNUE5OUJCQkY5QzlGQjA5NURDNkFGM0UgLyogUG9kc19SdW5uZXJUZXN0cy5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKCQkJKTsKCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CgkJfTsKLyogRW5kIFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KCi8qIEJlZ2luIFBCWEdyb3VwIHNlY3Rpb24gKi8KCQkxMkM3MzA5RjA1MDg1N0FBNTJFMENFNDMgLyogUG9kcyAqLyA9IHsKCQkJaXNhID0gUEJYR3JvdXA7CgkJCWNoaWxkcmVuID0gKAoJCQkJRjRGMjJBNDE2QzgzRjM4N0ExNzE0RjI2IC8qIFBvZHMtUnVubmVyLmRlYnVnLXByb2R1Y3Rpb24ueGNjb25maWcgKi8sCgkJCQkzQkVEQkI1OTAzREYyNTlCMzk4NjhEQjQgLyogUG9kcy1SdW5uZXIuZGVidWctc3RhZ2luZy54Y2NvbmZpZyAqLywKCQkJCTRBMTM0M0QwNzI5QUI3NEY4MDdFMDJGQSAvKiBQb2RzLVJ1bm5lci5kZWJ1Zy1kZXZlbG9wbWVudC54Y2NvbmZpZyAqLywKCQkJCTY3NzA2NUUwNDAwRjdBMjdGN0QwQzIyRCAvKiBQb2RzLVJ1bm5lci5yZWxlYXNlLXByb2R1Y3Rpb24ueGNjb25maWcgKi8sCgkJCQk5MzQyOUU3MjIzNUJCQzhBNzkyMUU4QzkgLyogUG9kcy1SdW5uZXIucmVsZWFzZS1zdGFnaW5nLnhjY29uZmlnICovLAoJCQkJMDExQUNFOTE1NDY0Rjg4RjNBNjY3NTM0IC8qIFBvZHMtUnVubmVyLnJlbGVhc2UtZGV2ZWxvcG1lbnQueGNjb25maWcgKi8sCgkJCQlGOURFMDRCQ0I1QkRCODRBRTkyOTkwRTAgLyogUG9kcy1SdW5uZXIucHJvZmlsZS1wcm9kdWN0aW9uLnhjY29uZmlnICovLAoJCQkJRTBBQ0U4REZGQzY4MDI2NkZFNDMxMzVFIC8qIFBvZHMtUnVubmVyLnByb2ZpbGUtc3RhZ2luZy54Y2NvbmZpZyAqLywKCQkJCTE0QkU3RjlFMTA1NDk4RkI3NTQ0MjJCNSAvKiBQb2RzLVJ1bm5lci5wcm9maWxlLWRldmVsb3BtZW50LnhjY29uZmlnICovLAoJCQkJQkVDMTNCOTE4ODdBMzdEODRFODYyN0YwIC8qIFBvZHMtUnVubmVyVGVzdHMuZGVidWctcHJvZHVjdGlvbi54Y2NvbmZpZyAqLywKCQkJCUYxOEQ5QTczNTVENzJGMzRCRTJDNjQ3QiAvKiBQb2RzLVJ1bm5lclRlc3RzLmRlYnVnLXN0YWdpbmcueGNjb25maWcgKi8sCgkJCQlCQ0Q4MTBCM0E2MkE2MDRFNTQyOEJCQkIgLyogUG9kcy1SdW5uZXJUZXN0cy5kZWJ1Zy1kZXZlbG9wbWVudC54Y2NvbmZpZyAqLywKCQkJCUMwMUI1MjRDOUI2QTg5NTIwNUJGOTJCMiAvKiBQb2RzLVJ1bm5lclRlc3RzLnJlbGVhc2UtcHJvZHVjdGlvbi54Y2NvbmZpZyAqLywKCQkJCUY3MDJDQkUyMkMyRTQ4QTM3NUY0MjkzOCAvKiBQb2RzLVJ1bm5lclRlc3RzLnJlbGVhc2Utc3RhZ2luZy54Y2NvbmZpZyAqLywKCQkJCUJGMURCMTYyMjcxQ0NGRjlGODI1RjMxMiAvKiBQb2RzLVJ1bm5lclRlc3RzLnJlbGVhc2UtZGV2ZWxvcG1lbnQueGNjb25maWcgKi8sCgkJCQkzNTM2RkQ5QzkyQjM5RDFBRENEQjFBQzUgLyogUG9kcy1SdW5uZXJUZXN0cy5wcm9maWxlLXByb2R1Y3Rpb24ueGNjb25maWcgKi8sCgkJCQk0MUVDNDZBNzExMUMyQzRCMDI3MkFBN0YgLyogUG9kcy1SdW5uZXJUZXN0cy5wcm9maWxlLXN0YWdpbmcueGNjb25maWcgKi8sCgkJCQk0M0ZEMTlFODI0RDc4QzBEQkExMDVGRTcgLyogUG9kcy1SdW5uZXJUZXN0cy5wcm9maWxlLWRldmVsb3BtZW50LnhjY29uZmlnICovLAoJCQkpOwoJCQluYW1lID0gUG9kczsKCQkJcGF0aCA9IFBvZHM7CgkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CgkJfTsKCQkzMzFDODA4MjI5NEE2M0E0MDAyNjNCRTUgLyogUnVubmVyVGVzdHMgKi8gPSB7CgkJCWlzYSA9IFBCWEdyb3VwOwoJCQljaGlsZHJlbiA9ICgKCQkJCTMzMUM4MDdCMjk0QTYxODcwMDI2M0JFNSAvKiBSdW5uZXJUZXN0cy5zd2lmdCAqLywKCQkJKTsKCQkJcGF0aCA9IFJ1bm5lclRlc3RzOwoJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwoJCX07CgkJOTc0MEVFQjExQ0Y5MDE4NjAwNDM4NEZDIC8qIEZsdXR0ZXIgKi8gPSB7CgkJCWlzYSA9IFBCWEdyb3VwOwoJCQljaGlsZHJlbiA9ICgKCQkJCTNCMzk2NzE1MUU4MzNDQUEwMDRGNTk3MCAvKiBBcHBGcmFtZXdvcmtJbmZvLnBsaXN0ICovLAoJCQkJOTc0MEVFQjIxQ0Y5MDE5NTAwNDM4NEZDIC8qIERlYnVnLnhjY29uZmlnICovLAoJCQkJN0FGQTNDOEUxRDM1MzYwQzAwODMwODJFIC8qIFJlbGVhc2UueGNjb25maWcgKi8sCgkJCQk5NzQwRUVCMzFDRjkwMTk1MDA0Mzg0RkMgLyogR2VuZXJhdGVkLnhjY29uZmlnICovLAoJCQkpOwoJCQluYW1lID0gRmx1dHRlcjsKCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKCQl9OwoJCTk3QzE0NkU1MUNGOTAwMEYwMDdDMTE3RCA9IHsKCQkJaXNhID0gUEJYR3JvdXA7CgkJCWNoaWxkcmVuID0gKAoJCQkJOTc0MEVFQjExQ0Y5MDE4NjAwNDM4NEZDIC8qIEZsdXR0ZXIgKi8sCgkJCQk5N0MxNDZGMDFDRjkwMDBGMDA3QzExN0QgLyogUnVubmVyICovLAoJCQkJOTdDMTQ2RUYxQ0Y5MDAwRjAwN0MxMTdEIC8qIFByb2R1Y3RzICovLAoJCQkJMzMxQzgwODIyOTRBNjNBNDAwMjYzQkU1IC8qIFJ1bm5lclRlc3RzICovLAoJCQkJMTJDNzMwOUYwNTA4NTdBQTUyRTBDRTQzIC8qIFBvZHMgKi8sCgkJCQlBRkIxOEJEODZCQjA5RjFCRDAyODA1MkIgLyogRnJhbWV3b3JrcyAqLywKCQkJKTsKCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKCQl9OwoJCTk3QzE0NkVGMUNGOTAwMEYwMDdDMTE3RCAvKiBQcm9kdWN0cyAqLyA9IHsKCQkJaXNhID0gUEJYR3JvdXA7CgkJCWNoaWxkcmVuID0gKAoJCQkJOTdDMTQ2RUUxQ0Y5MDAwRjAwN0MxMTdEIC8qIFJ1bm5lci5hcHAgKi8sCgkJCQkzMzFDODA4MTI5NEE2M0E0MDAyNjNCRTUgLyogUnVubmVyVGVzdHMueGN0ZXN0ICovLAoJCQkpOwoJCQluYW1lID0gUHJvZHVjdHM7CgkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CgkJfTsKCQk5N0MxNDZGMDFDRjkwMDBGMDA3QzExN0QgLyogUnVubmVyICovID0gewoJCQlpc2EgPSBQQlhHcm91cDsKCQkJY2hpbGRyZW4gPSAoCgkJCQk5N0MxNDZGQTFDRjkwMDBGMDA3QzExN0QgLyogTWFpbi5zdG9yeWJvYXJkICovLAoJCQkJOTdDMTQ2RkQxQ0Y5MDAwRjAwN0MxMTdEIC8qIEFzc2V0cy54Y2Fzc2V0cyAqLywKCQkJCTk3QzE0NkZGMUNGOTAwMEYwMDdDMTE3RCAvKiBMYXVuY2hTY3JlZW4uc3Rvcnlib2FyZCAqLywKCQkJCTk3QzE0NzAyMUNGOTAwMEYwMDdDMTE3RCAvKiBJbmZvLnBsaXN0ICovLAoJCQkJMTQ5OEQyMzIxRThFODYyMzAwNDBGNEMyIC8qIEdlbmVyYXRlZFBsdWdpblJlZ2lzdHJhbnQuaCAqLywKCQkJCTE0OThEMjMzMUU4RTg5MjIwMDQwRjRDMiAvKiBHZW5lcmF0ZWRQbHVnaW5SZWdpc3RyYW50Lm0gKi8sCgkJCQk3NDg1OEZBRTFFRDJEQzU2MDA1MTU4MTAgLyogQXBwRGVsZWdhdGUuc3dpZnQgKi8sCgkJCQk5N0MxNDcxMTFDRjkwMDBGMDA3QzExN0QgLyogU2NlbmVEZWxlZ2F0ZS5zd2lmdCAqLywKCQkJCTc0ODU4RkFEMUVEMkRDNTYwMDUxNTgxMCAvKiBSdW5uZXItQnJpZGdpbmctSGVhZGVyLmggKi8sCgkJCSk7CgkJCXBhdGggPSBSdW5uZXI7CgkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CgkJfTsKCQlBRkIxOEJEODZCQjA5RjFCRDAyODA1MkIgLyogRnJhbWV3b3JrcyAqLyA9IHsKCQkJaXNhID0gUEJYR3JvdXA7CgkJCWNoaWxkcmVuID0gKAoJCQkJODIwNEM0QUJDOTEwMzNFQjA0REJENDAwIC8qIFBvZHNfUnVubmVyLmZyYW1ld29yayAqLywKCQkJCTA0MTM2NzlBQjgzRjk5RTM5MzFBQTEzMyAvKiBQb2RzX1J1bm5lclRlc3RzLmZyYW1ld29yayAqLywKCQkJKTsKCQkJbmFtZSA9IEZyYW1ld29ya3M7CgkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CgkJfTsKLyogRW5kIFBCWEdyb3VwIHNlY3Rpb24gKi8KCi8qIEJlZ2luIFBCWE5hdGl2ZVRhcmdldCBzZWN0aW9uICovCgkJMzMxQzgwODAyOTRBNjNBNDAwMjYzQkU1IC8qIFJ1bm5lclRlc3RzICovID0gewoJCQlpc2EgPSBQQlhOYXRpdmVUYXJnZXQ7CgkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAzMzFDODA4NzI5NEE2M0E0MDAyNjNCRTUgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIlJ1bm5lclRlc3RzIiAqLzsKCQkJYnVpbGRQaGFzZXMgPSAoCgkJCQk3NURBMTM0RURFQzc4QTUyMTAxRkUwQjIgLyogW0NQXSBDaGVjayBQb2RzIE1hbmlmZXN0LmxvY2sgKi8sCgkJCQkzMzFDODA3RDI5NEE2M0E0MDAyNjNCRTUgLyogU291cmNlcyAqLywKCQkJCTMzMUM4MDdGMjk0QTYzQTQwMDI2M0JFNSAvKiBSZXNvdXJjZXMgKi8sCgkJCQlEQ0YzOEQwMDNERjZDQ0ExMzBGQ0RENzUgLyogRnJhbWV3b3JrcyAqLywKCQkJKTsKCQkJYnVpbGRSdWxlcyA9ICgKCQkJKTsKCQkJZGVwZW5kZW5jaWVzID0gKAoJCQkJMzMxQzgwODYyOTRBNjNBNDAwMjYzQkU1IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8sCgkJCSk7CgkJCW5hbWUgPSBSdW5uZXJUZXN0czsKCQkJcHJvZHVjdE5hbWUgPSBSdW5uZXJUZXN0czsKCQkJcHJvZHVjdFJlZmVyZW5jZSA9IDMzMUM4MDgxMjk0QTYzQTQwMDI2M0JFNSAvKiBSdW5uZXJUZXN0cy54Y3Rlc3QgKi87CgkJCXByb2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUuYnVuZGxlLnVuaXQtdGVzdCI7CgkJfTsKCQk5N0MxNDZFRDFDRjkwMDBGMDA3QzExN0QgLyogUnVubmVyICovID0gewoJCQlpc2EgPSBQQlhOYXRpdmVUYXJnZXQ7CgkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSA5N0MxNDcwNTFDRjkwMDBGMDA3QzExN0QgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIlJ1bm5lciIgKi87CgkJCWJ1aWxkUGhhc2VzID0gKAoJCQkJNEEyNTI4RjVERjdGNTU5REZDOUU1ODdGIC8qIFtDUF0gQ2hlY2sgUG9kcyBNYW5pZmVzdC5sb2NrICovLAoJCQkJOTc0MEVFQjYxQ0Y5MDFGNjAwNDM4NEZDIC8qIFJ1biBTY3JpcHQgKi8sCgkJCQk5N0MxNDZFQTFDRjkwMDBGMDA3QzExN0QgLyogU291cmNlcyAqLywKCQkJCTk3QzE0NkVCMUNGOTAwMEYwMDdDMTE3RCAvKiBGcmFtZXdvcmtzICovLAoJCQkJOTdDMTQ2RUMxQ0Y5MDAwRjAwN0MxMTdEIC8qIFJlc291cmNlcyAqLywKCQkJCTk3MDVBMUM0MUNGOTA0ODUwMDUzODQ4OSAvKiBFbWJlZCBGcmFtZXdvcmtzICovLAoJCQkJM0IwNkFEMUUxRTQ5MjNGNTAwNEQyNjA4IC8qIFRoaW4gQmluYXJ5ICovLAoJCQkJNDNENzZBOUI3Mzg2RUU4QzhEN0M3NTFDIC8qIFtDUF0gRW1iZWQgUG9kcyBGcmFtZXdvcmtzICovLAoJCQkpOwoJCQlidWlsZFJ1bGVzID0gKAoJCQkpOwoJCQlkZXBlbmRlbmNpZXMgPSAoCgkJCSk7CgkJCW5hbWUgPSBSdW5uZXI7CgkJCXByb2R1Y3ROYW1lID0gUnVubmVyOwoJCQlwcm9kdWN0UmVmZXJlbmNlID0gOTdDMTQ2RUUxQ0Y5MDAwRjAwN0MxMTdEIC8qIFJ1bm5lci5hcHAgKi87CgkJCXByb2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUuYXBwbGljYXRpb24iOwoJCX07Ci8qIEVuZCBQQlhOYXRpdmVUYXJnZXQgc2VjdGlvbiAqLwoKLyogQmVnaW4gUEJYUHJvamVjdCBzZWN0aW9uICovCgkJOTdDMTQ2RTYxQ0Y5MDAwRjAwN0MxMTdEIC8qIFByb2plY3Qgb2JqZWN0ICovID0gewoJCQlpc2EgPSBQQlhQcm9qZWN0OwoJCQlhdHRyaWJ1dGVzID0gewoJCQkJQnVpbGRJbmRlcGVuZGVudFRhcmdldHNJblBhcmFsbGVsID0gTk87CgkJCQlMYXN0VXBncmFkZUNoZWNrID0gMTQzMDsKCQkJCU9SR0FOSVpBVElPTk5BTUUgPSAiIjsKCQkJCVRhcmdldEF0dHJpYnV0ZXMgPSB7CgkJCQkJMzMxQzgwODAyOTRBNjNBNDAwMjYzQkU1ID0gewoJCQkJCQlDcmVhdGVkT25Ub29sc1ZlcnNpb24gPSAxNC4wOwoJCQkJCQlUZXN0VGFyZ2V0SUQgPSA5N0MxNDZFRDFDRjkwMDBGMDA3QzExN0Q7CgkJCQkJfTsKCQkJCQk5N0MxNDZFRDFDRjkwMDBGMDA3QzExN0QgPSB7CgkJCQkJCUNyZWF0ZWRPblRvb2xzVmVyc2lvbiA9IDcuMy4xOwoJCQkJCQlMYXN0U3dpZnRNaWdyYXRpb24gPSAxMTAwOwoJCQkJCX07CgkJCQl9OwoJCQl9OwoJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gOTdDMTQ2RTkxQ0Y5MDAwRjAwN0MxMTdEIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJvamVjdCAiUnVubmVyIiAqLzsKCQkJY29tcGF0aWJpbGl0eVZlcnNpb24gPSAiWGNvZGUgOS4zIjsKCQkJZGV2ZWxvcG1lbnRSZWdpb24gPSBlbjsKCQkJaGFzU2Nhbm5lZEZvckVuY29kaW5ncyA9IDA7CgkJCWtub3duUmVnaW9ucyA9ICgKCQkJCWVuLAoJCQkJQmFzZSwKCQkJKTsKCQkJbWFpbkdyb3VwID0gOTdDMTQ2RTUxQ0Y5MDAwRjAwN0MxMTdEOwoJCQlwcm9kdWN0UmVmR3JvdXAgPSA5N0MxNDZFRjFDRjkwMDBGMDA3QzExN0QgLyogUHJvZHVjdHMgKi87CgkJCXByb2plY3REaXJQYXRoID0gIiI7CgkJCXByb2plY3RSb290ID0gIiI7CgkJCXRhcmdldHMgPSAoCgkJCQk5N0MxNDZFRDFDRjkwMDBGMDA3QzExN0QgLyogUnVubmVyICovLAoJCQkJMzMxQzgwODAyOTRBNjNBNDAwMjYzQkU1IC8qIFJ1bm5lclRlc3RzICovLAoJCQkpOwoJCX07Ci8qIEVuZCBQQlhQcm9qZWN0IHNlY3Rpb24gKi8KCi8qIEJlZ2luIFBCWFJlc291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwoJCTMzMUM4MDdGMjk0QTYzQTQwMDI2M0JFNSAvKiBSZXNvdXJjZXMgKi8gPSB7CgkJCWlzYSA9IFBCWFJlc291cmNlc0J1aWxkUGhhc2U7CgkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CgkJCWZpbGVzID0gKAoJCQkpOwoJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKCQl9OwoJCTk3QzE0NkVDMUNGOTAwMEYwMDdDMTE3RCAvKiBSZXNvdXJjZXMgKi8gPSB7CgkJCWlzYSA9IFBCWFJlc291cmNlc0J1aWxkUGhhc2U7CgkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CgkJCWZpbGVzID0gKAoJCQkJOTdDMTQ3MDExQ0Y5MDAwRjAwN0MxMTdEIC8qIExhdW5jaFNjcmVlbi5zdG9yeWJvYXJkIGluIFJlc291cmNlcyAqLywKCQkJCTNCMzk2NzE2MUU4MzNDQUEwMDRGNTk3MCAvKiBBcHBGcmFtZXdvcmtJbmZvLnBsaXN0IGluIFJlc291cmNlcyAqLywKCQkJCTk3QzE0NkZFMUNGOTAwMEYwMDdDMTE3RCAvKiBBc3NldHMueGNhc3NldHMgaW4gUmVzb3VyY2VzICovLAoJCQkJOTdDMTQ2RkMxQ0Y5MDAwRjAwN0MxMTdEIC8qIE1haW4uc3Rvcnlib2FyZCBpbiBSZXNvdXJjZXMgKi8sCgkJCSk7CgkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwoJCX07Ci8qIEVuZCBQQlhSZXNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KCi8qIEJlZ2luIFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZSBzZWN0aW9uICovCgkJM0IwNkFEMUUxRTQ5MjNGNTAwNEQyNjA4IC8qIFRoaW4gQmluYXJ5ICovID0gewoJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CgkJCWFsd2F5c091dE9mRGF0ZSA9IDE7CgkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CgkJCWZpbGVzID0gKAoJCQkpOwoJCQlpbnB1dFBhdGhzID0gKAoJCQkJIiR7VEFSR0VUX0JVSUxEX0RJUn0vJHtJTkZPUExJU1RfUEFUSH0iLAoJCQkpOwoJCQluYW1lID0gIlRoaW4gQmluYXJ5IjsKCQkJb3V0cHV0UGF0aHMgPSAoCgkJCSk7CgkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwoJCQlzaGVsbFBhdGggPSAvYmluL3NoOwoJCQlzaGVsbFNjcmlwdCA9ICIvYmluL3NoIFwiJEZMVVRURVJfUk9PVC9wYWNrYWdlcy9mbHV0dGVyX3Rvb2xzL2Jpbi94Y29kZV9iYWNrZW5kLnNoXCIgZW1iZWRfYW5kX3RoaW4iOwoJCX07CgkJNDNENzZBOUI3Mzg2RUU4QzhEN0M3NTFDIC8qIFtDUF0gRW1iZWQgUG9kcyBGcmFtZXdvcmtzICovID0gewoJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CgkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CgkJCWZpbGVzID0gKAoJCQkpOwoJCQlpbnB1dEZpbGVMaXN0UGF0aHMgPSAoCgkJCQkiJHtQT0RTX1JPT1R9L1RhcmdldCBTdXBwb3J0IEZpbGVzL1BvZHMtUnVubmVyL1BvZHMtUnVubmVyLWZyYW1ld29ya3MtJHtDT05GSUdVUkFUSU9OfS1pbnB1dC1maWxlcy54Y2ZpbGVsaXN0IiwKCQkJKTsKCQkJbmFtZSA9ICJbQ1BdIEVtYmVkIFBvZHMgRnJhbWV3b3JrcyI7CgkJCW91dHB1dEZpbGVMaXN0UGF0aHMgPSAoCgkJCQkiJHtQT0RTX1JPT1R9L1RhcmdldCBTdXBwb3J0IEZpbGVzL1BvZHMtUnVubmVyL1BvZHMtUnVubmVyLWZyYW1ld29ya3MtJHtDT05GSUdVUkFUSU9OfS1vdXRwdXQtZmlsZXMueGNmaWxlbGlzdCIsCgkJCSk7CgkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwoJCQlzaGVsbFBhdGggPSAvYmluL3NoOwoJCQlzaGVsbFNjcmlwdCA9ICJcIiR7UE9EU19ST09UfS9UYXJnZXQgU3VwcG9ydCBGaWxlcy9Qb2RzLVJ1bm5lci9Qb2RzLVJ1bm5lci1mcmFtZXdvcmtzLnNoXCJcbiI7CgkJCXNob3dFbnZWYXJzSW5Mb2cgPSAwOwoJCX07CgkJNEEyNTI4RjVERjdGNTU5REZDOUU1ODdGIC8qIFtDUF0gQ2hlY2sgUG9kcyBNYW5pZmVzdC5sb2NrICovID0gewoJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CgkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CgkJCWZpbGVzID0gKAoJCQkpOwoJCQlpbnB1dEZpbGVMaXN0UGF0aHMgPSAoCgkJCSk7CgkJCWlucHV0UGF0aHMgPSAoCgkJCQkiJHtQT0RTX1BPREZJTEVfRElSX1BBVEh9L1BvZGZpbGUubG9jayIsCgkJCQkiJHtQT0RTX1JPT1R9L01hbmlmZXN0LmxvY2siLAoJCQkpOwoJCQluYW1lID0gIltDUF0gQ2hlY2sgUG9kcyBNYW5pZmVzdC5sb2NrIjsKCQkJb3V0cHV0RmlsZUxpc3RQYXRocyA9ICgKCQkJKTsKCQkJb3V0cHV0UGF0aHMgPSAoCgkJCQkiJChERVJJVkVEX0ZJTEVfRElSKS9Qb2RzLVJ1bm5lci1jaGVja01hbmlmZXN0TG9ja1Jlc3VsdC50eHQiLAoJCQkpOwoJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKCQkJc2hlbGxTY3JpcHQgPSAiZGlmZiBcIiR7UE9EU19QT0RGSUxFX0RJUl9QQVRIfS9Qb2RmaWxlLmxvY2tcIiBcIiR7UE9EU19ST09UfS9NYW5pZmVzdC5sb2NrXCIgPiAvZGV2L251bGxcbmlmIFsgJD8gIT0gMCBdIDsgdGhlblxuICAgICMgcHJpbnQgZXJyb3IgdG8gU1RERVJSXG4gICAgZWNobyBcImVycm9yOiBUaGUgc2FuZGJveCBpcyBub3QgaW4gc3luYyB3aXRoIHRoZSBQb2RmaWxlLmxvY2suIFJ1biAncG9kIGluc3RhbGwnIG9yIHVwZGF0ZSB5b3VyIENvY29hUG9kcyBpbnN0YWxsYXRpb24uXCIgPiYyXG4gICAgZXhpdCAxXG5maVxuIyBUaGlzIG91dHB1dCBpcyB1c2VkIGJ5IFhjb2RlICdvdXRwdXRzJyB0byBhdm9pZCByZS1ydW5uaW5nIHRoaXMgc2NyaXB0IHBoYXNlLlxuZWNobyBcIlNVQ0NFU1NcIiA+IFwiJHtTQ1JJUFRfT1VUUFVUX0ZJTEVfMH1cIlxuIjsKCQkJc2hvd0VudlZhcnNJbkxvZyA9IDA7CgkJfTsKCQk3NURBMTM0RURFQzc4QTUyMTAxRkUwQjIgLyogW0NQXSBDaGVjayBQb2RzIE1hbmlmZXN0LmxvY2sgKi8gPSB7CgkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKCQkJZmlsZXMgPSAoCgkJCSk7CgkJCWlucHV0RmlsZUxpc3RQYXRocyA9ICgKCQkJKTsKCQkJaW5wdXRQYXRocyA9ICgKCQkJCSIke1BPRFNfUE9ERklMRV9ESVJfUEFUSH0vUG9kZmlsZS5sb2NrIiwKCQkJCSIke1BPRFNfUk9PVH0vTWFuaWZlc3QubG9jayIsCgkJCSk7CgkJCW5hbWUgPSAiW0NQXSBDaGVjayBQb2RzIE1hbmlmZXN0LmxvY2siOwoJCQlvdXRwdXRGaWxlTGlzdFBhdGhzID0gKAoJCQkpOwoJCQlvdXRwdXRQYXRocyA9ICgKCQkJCSIkKERFUklWRURfRklMRV9ESVIpL1BvZHMtUnVubmVyVGVzdHMtY2hlY2tNYW5pZmVzdExvY2tSZXN1bHQudHh0IiwKCQkJKTsKCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CgkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CgkJCXNoZWxsU2NyaXB0ID0gImRpZmYgXCIke1BPRFNfUE9ERklMRV9ESVJfUEFUSH0vUG9kZmlsZS5sb2NrXCIgXCIke1BPRFNfUk9PVH0vTWFuaWZlc3QubG9ja1wiID4gL2Rldi9udWxsXG5pZiBbICQ/ICE9IDAgXSA7IHRoZW5cbiAgICAjIHByaW50IGVycm9yIHRvIFNUREVSUlxuICAgIGVjaG8gXCJlcnJvcjogVGhlIHNhbmRib3ggaXMgbm90IGluIHN5bmMgd2l0aCB0aGUgUG9kZmlsZS5sb2NrLiBSdW4gJ3BvZCBpbnN0YWxsJyBvciB1cGRhdGUgeW91ciBDb2NvYVBvZHMgaW5zdGFsbGF0aW9uLlwiID4mMlxuICAgIGV4aXQgMVxuZmlcbiMgVGhpcyBvdXRwdXQgaXMgdXNlZCBieSBYY29kZSAnb3V0cHV0cycgdG8gYXZvaWQgcmUtcnVubmluZyB0aGlzIHNjcmlwdCBwaGFzZS5cbmVjaG8gXCJTVUNDRVNTXCIgPiBcIiR7U0NSSVBUX09VVFBVVF9GSUxFXzB9XCJcbiI7CgkJCXNob3dFbnZWYXJzSW5Mb2cgPSAwOwoJCX07CgkJOTc0MEVFQjYxQ0Y5MDFGNjAwNDM4NEZDIC8qIFJ1biBTY3JpcHQgKi8gPSB7CgkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKCQkJYWx3YXlzT3V0T2ZEYXRlID0gMTsKCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKCQkJZmlsZXMgPSAoCgkJCSk7CgkJCWlucHV0UGF0aHMgPSAoCgkJCSk7CgkJCW5hbWUgPSAiUnVuIFNjcmlwdCI7CgkJCW91dHB1dFBhdGhzID0gKAoJCQkpOwoJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKCQkJc2hlbGxTY3JpcHQgPSAiL2Jpbi9zaCBcIiRGTFVUVEVSX1JPT1QvcGFja2FnZXMvZmx1dHRlcl90b29scy9iaW4veGNvZGVfYmFja2VuZC5zaFwiIGJ1aWxkIjsKCQl9OwovKiBFbmQgUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlIHNlY3Rpb24gKi8KCi8qIEJlZ2luIFBCWFNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KCQkzMzFDODA3RDI5NEE2M0E0MDAyNjNCRTUgLyogU291cmNlcyAqLyA9IHsKCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CgkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CgkJCWZpbGVzID0gKAoJCQkJMzMxQzgwOEIyOTRBNjNBQjAwMjYzQkU1IC8qIFJ1bm5lclRlc3RzLnN3aWZ0IGluIFNvdXJjZXMgKi8sCgkJCSk7CgkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwoJCX07CgkJOTdDMTQ2RUExQ0Y5MDAwRjAwN0MxMTdEIC8qIFNvdXJjZXMgKi8gPSB7CgkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOwoJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwoJCQlmaWxlcyA9ICgKCQkJCTc0ODU4RkFGMUVEMkRDNTYwMDUxNTgxMCAvKiBBcHBEZWxlZ2F0ZS5zd2lmdCBpbiBTb3VyY2VzICovLAoJCQkJOTdDMTQ3MTAxQ0Y5MDAwRjAwN0MxMTdEIC8qIFNjZW5lRGVsZWdhdGUuc3dpZnQgaW4gU291cmNlcyAqLywKCQkJCTE0OThEMjM0MUU4RTg5MjIwMDQwRjRDMiAvKiBHZW5lcmF0ZWRQbHVnaW5SZWdpc3RyYW50Lm0gaW4gU291cmNlcyAqLywKCQkJKTsKCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CgkJfTsKLyogRW5kIFBCWFNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KCi8qIEJlZ2luIFBCWFRhcmdldERlcGVuZGVuY3kgc2VjdGlvbiAqLwoJCTMzMUM4MDg2Mjk0QTYzQTQwMDI2M0JFNSAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0gewoJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OwoJCQl0YXJnZXQgPSA5N0MxNDZFRDFDRjkwMDBGMDA3QzExN0QgLyogUnVubmVyICovOwoJCQl0YXJnZXRQcm94eSA9IDMzMUM4MDg1Mjk0QTYzQTQwMDI2M0JFNSAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CgkJfTsKLyogRW5kIFBCWFRhcmdldERlcGVuZGVuY3kgc2VjdGlvbiAqLwoKLyogQmVnaW4gUEJYVmFyaWFudEdyb3VwIHNlY3Rpb24gKi8KCQk5N0MxNDZGQTFDRjkwMDBGMDA3QzExN0QgLyogTWFpbi5zdG9yeWJvYXJkICovID0gewoJCQlpc2EgPSBQQlhWYXJpYW50R3JvdXA7CgkJCWNoaWxkcmVuID0gKAoJCQkJOTdDMTQ2RkIxQ0Y5MDAwRjAwN0MxMTdEIC8qIEJhc2UgKi8sCgkJCSk7CgkJCW5hbWUgPSBNYWluLnN0b3J5Ym9hcmQ7CgkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CgkJfTsKCQk5N0MxNDZGRjFDRjkwMDBGMDA3QzExN0QgLyogTGF1bmNoU2NyZWVuLnN0b3J5Ym9hcmQgKi8gPSB7CgkJCWlzYSA9IFBCWFZhcmlhbnRHcm91cDsKCQkJY2hpbGRyZW4gPSAoCgkJCQk5N0MxNDcwMDFDRjkwMDBGMDA3QzExN0QgLyogQmFzZSAqLywKCQkJKTsKCQkJbmFtZSA9IExhdW5jaFNjcmVlbi5zdG9yeWJvYXJkOwoJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwoJCX07Ci8qIEVuZCBQQlhWYXJpYW50R3JvdXAgc2VjdGlvbiAqLwoKLyogQmVnaW4gWENCdWlsZENvbmZpZ3VyYXRpb24gc2VjdGlvbiAqLwoJCTI0OTAyMUQzMjE3RTRGREIwMEFFOTVCOSAvKiBQcm9maWxlLXByb2R1Y3Rpb24gKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQUxXQVlTX1NFQVJDSF9VU0VSX1BBVEhTID0gTk87CgkJCQlDTEFOR19BTkFMWVpFUl9OT05OVUxMID0gWUVTOwoJCQkJQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gImdudSsrMHgiOwoJCQkJQ0xBTkdfQ1hYX0xJQlJBUlkgPSAibGliYysrIjsKCQkJCUNMQU5HX0VOQUJMRV9NT0RVTEVTID0gWUVTOwoJCQkJQ0xBTkdfRU5BQkxFX09CSkNfQVJDID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9CTE9DS19DQVBUVVJFX0FVVE9SRUxFQVNJTkcgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0JPT0xfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQ09NTUEgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0NPTlNUQU5UX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0RFUFJFQ0FURURfT0JKQ19JTVBMRU1FTlRBVElPTlMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0RJUkVDVF9PQkpDX0lTQV9VU0FHRSA9IFlFU19FUlJPUjsKCQkJCUNMQU5HX1dBUk5fRU1QVFlfQk9EWSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fRU5VTV9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9JTkZJTklURV9SRUNVUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0lOVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9OT05fTElURVJBTF9OVUxMX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfSU1QTElDSVRfUkVUQUlOX1NFTEYgPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfTElURVJBTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX1JPT1RfQ0xBU1MgPSBZRVNfRVJST1I7CgkJCQlDTEFOR19XQVJOX1JBTkdFX0xPT1BfQU5BTFlTSVMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1NUUklDVF9QUk9UT1RZUEVTID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9TVVNQSUNJT1VTX01PVkUgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1VOUkVBQ0hBQkxFX0NPREUgPSBZRVM7CgkJCQlDTEFOR19XQVJOX19EVVBMSUNBVEVfTUVUSE9EX01BVENIID0gWUVTOwoJCQkJIkNPREVfU0lHTl9JREVOVElUWVtzZGs9aXBob25lb3MqXSIgPSAiaVBob25lIERldmVsb3BlciI7CgkJCQlDT1BZX1BIQVNFX1NUUklQID0gTk87CgkJCQlERUJVR19JTkZPUk1BVElPTl9GT1JNQVQgPSAiZHdhcmYtd2l0aC1kc3ltIjsKCQkJCUVOQUJMRV9OU19BU1NFUlRJT05TID0gTk87CgkJCQlFTkFCTEVfU1RSSUNUX09CSkNfTVNHU0VORCA9IFlFUzsKCQkJCUdDQ19DX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251OTk7CgkJCQlHQ0NfTk9fQ09NTU9OX0JMT0NLUyA9IFlFUzsKCQkJCUdDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJR0NDX1dBUk5fQUJPVVRfUkVUVVJOX1RZUEUgPSBZRVNfRVJST1I7CgkJCQlHQ0NfV0FSTl9VTkRFQ0xBUkVEX1NFTEVDVE9SID0gWUVTOwoJCQkJR0NDX1dBUk5fVU5JTklUSUFMSVpFRF9BVVRPUyA9IFlFU19BR0dSRVNTSVZFOwoJCQkJR0NDX1dBUk5fVU5VU0VEX0ZVTkNUSU9OID0gWUVTOwoJCQkJR0NDX1dBUk5fVU5VU0VEX1ZBUklBQkxFID0gWUVTOwoJCQkJSVBIT05FT1NfREVQTE9ZTUVOVF9UQVJHRVQgPSAxMy4wOwoJCQkJTVRMX0VOQUJMRV9ERUJVR19JTkZPID0gTk87CgkJCQlTREtST09UID0gaXBob25lb3M7CgkJCQlTVVBQT1JURURfUExBVEZPUk1TID0gaXBob25lb3M7CgkJCQlUQVJHRVRFRF9ERVZJQ0VfRkFNSUxZID0gIjEsMiI7CgkJCQlWQUxJREFURV9QUk9EVUNUID0gWUVTOwoJCQl9OwoJCQluYW1lID0gIlByb2ZpbGUtcHJvZHVjdGlvbiI7CgkJfTsKCQkyNDkwMjFENDIxN0U0RkRCMDBBRTk1QjkgLyogUHJvZmlsZS1wcm9kdWN0aW9uICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSA3QUZBM0M4RTFEMzUzNjBDMDA4MzA4MkUgLyogUmVsZWFzZS54Y2NvbmZpZyAqLzsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUFTU0VUQ0FUQUxPR19DT01QSUxFUl9BUFBJQ09OX05BTUUgPSBBcHBJY29uOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDVVJSRU5UX1BST0pFQ1RfVkVSU0lPTiA9ICIkKEZMVVRURVJfQlVJTERfTlVNQkVSKSI7CgkJCQlFTkFCTEVfQklUQ09ERSA9IE5POwoJCQkJRkxBVk9SX0FQUF9OQU1FID0gInt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX0iOwoJCQkJSU5GT1BMSVNUX0ZJTEUgPSBSdW5uZXIvSW5mby5wbGlzdDsKCQkJCUxEX1JVTlBBVEhfU0VBUkNIX1BBVEhTID0gKAoJCQkJCSIkKGluaGVyaXRlZCkiLAoJCQkJCSJAZXhlY3V0YWJsZV9wYXRoL0ZyYW1ld29ya3MiLAoJCQkJKTsKCQkJCVBST0RVQ1RfQlVORExFX0lERU5USUZJRVIgPSB7e2lvc19hcHBsaWNhdGlvbl9pZH19OwoJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKCQkJCVNXSUZUX09CSkNfQlJJREdJTkdfSEVBREVSID0gIlJ1bm5lci9SdW5uZXItQnJpZGdpbmctSGVhZGVyLmgiOwoJCQkJU1dJRlRfVkVSU0lPTiA9IDUuMDsKCQkJCVZFUlNJT05JTkdfU1lTVEVNID0gImFwcGxlLWdlbmVyaWMiOwoJCQl9OwoJCQluYW1lID0gIlByb2ZpbGUtcHJvZHVjdGlvbiI7CgkJfTsKCQkzMzFDODA4ODI5NEE2M0E0MDAyNjNCRTUgLyogRGVidWctcHJvZHVjdGlvbiAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gQkVDMTNCOTE4ODdBMzdEODRFODYyN0YwIC8qIFBvZHMtUnVubmVyVGVzdHMuZGVidWctcHJvZHVjdGlvbi54Y2NvbmZpZyAqLzsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUJVTkRMRV9MT0FERVIgPSAiJChURVNUX0hPU1QpIjsKCQkJCUNPREVfU0lHTl9TVFlMRSA9IEF1dG9tYXRpYzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gMTsKCQkJCUdFTkVSQVRFX0lORk9QTElTVF9GSUxFID0gWUVTOwoJCQkJTUFSS0VUSU5HX1ZFUlNJT04gPSAxLjA7CgkJCQlQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0ge3tpb3NfYXBwbGljYXRpb25faWR9fS5SdW5uZXJUZXN0czsKCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CgkJCQlTV0lGVF9BQ1RJVkVfQ09NUElMQVRJT05fQ09ORElUSU9OUyA9IERFQlVHOwoJCQkJU1dJRlRfT1BUSU1JWkFUSU9OX0xFVkVMID0gIi1Pbm9uZSI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVEVTVF9IT1NUID0gIiQoQlVJTFRfUFJPRFVDVFNfRElSKS9SdW5uZXIuYXBwLyQoQlVORExFX0VYRUNVVEFCTEVfRk9MREVSX1BBVEgpL1J1bm5lciI7CgkJCX07CgkJCW5hbWUgPSAiRGVidWctcHJvZHVjdGlvbiI7CgkJfTsKCQkzMzFDODA4OTI5NEE2M0E0MDAyNjNCRTUgLyogUmVsZWFzZS1wcm9kdWN0aW9uICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBDMDFCNTI0QzlCNkE4OTUyMDVCRjkyQjIgLyogUG9kcy1SdW5uZXJUZXN0cy5yZWxlYXNlLXByb2R1Y3Rpb24ueGNjb25maWcgKi87CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlCVU5ETEVfTE9BREVSID0gIiQoVEVTVF9IT1NUKSI7CgkJCQlDT0RFX1NJR05fU1RZTEUgPSBBdXRvbWF0aWM7CgkJCQlDVVJSRU5UX1BST0pFQ1RfVkVSU0lPTiA9IDE7CgkJCQlHRU5FUkFURV9JTkZPUExJU1RfRklMRSA9IFlFUzsKCQkJCU1BUktFVElOR19WRVJTSU9OID0gMS4wOwoJCQkJUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9IHt7aW9zX2FwcGxpY2F0aW9uX2lkfX0uUnVubmVyVGVzdHM7CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfVkVSU0lPTiA9IDUuMDsKCQkJCVRFU1RfSE9TVCA9ICIkKEJVSUxUX1BST0RVQ1RTX0RJUikvUnVubmVyLmFwcC8kKEJVTkRMRV9FWEVDVVRBQkxFX0ZPTERFUl9QQVRIKS9SdW5uZXIiOwoJCQl9OwoJCQluYW1lID0gIlJlbGVhc2UtcHJvZHVjdGlvbiI7CgkJfTsKCQkzMzFDODA4QTI5NEE2M0E0MDAyNjNCRTUgLyogUHJvZmlsZS1wcm9kdWN0aW9uICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSAzNTM2RkQ5QzkyQjM5RDFBRENEQjFBQzUgLyogUG9kcy1SdW5uZXJUZXN0cy5wcm9maWxlLXByb2R1Y3Rpb24ueGNjb25maWcgKi87CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlCVU5ETEVfTE9BREVSID0gIiQoVEVTVF9IT1NUKSI7CgkJCQlDT0RFX1NJR05fU1RZTEUgPSBBdXRvbWF0aWM7CgkJCQlDVVJSRU5UX1BST0pFQ1RfVkVSU0lPTiA9IDE7CgkJCQlHRU5FUkFURV9JTkZPUExJU1RfRklMRSA9IFlFUzsKCQkJCU1BUktFVElOR19WRVJTSU9OID0gMS4wOwoJCQkJUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9IHt7aW9zX2FwcGxpY2F0aW9uX2lkfX0uUnVubmVyVGVzdHM7CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfVkVSU0lPTiA9IDUuMDsKCQkJCVRFU1RfSE9TVCA9ICIkKEJVSUxUX1BST0RVQ1RTX0RJUikvUnVubmVyLmFwcC8kKEJVTkRMRV9FWEVDVVRBQkxFX0ZPTERFUl9QQVRIKS9SdW5uZXIiOwoJCQl9OwoJCQluYW1lID0gIlByb2ZpbGUtcHJvZHVjdGlvbiI7CgkJfTsKCQkzQ0MwNDc2NDJCMEY4RTlGMDA3MTNEOTIgLyogRGVidWctZGV2ZWxvcG1lbnQgKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQUxXQVlTX1NFQVJDSF9VU0VSX1BBVEhTID0gTk87CgkJCQlDTEFOR19BTkFMWVpFUl9OT05OVUxMID0gWUVTOwoJCQkJQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gImdudSsrMHgiOwoJCQkJQ0xBTkdfQ1hYX0xJQlJBUlkgPSAibGliYysrIjsKCQkJCUNMQU5HX0VOQUJMRV9NT0RVTEVTID0gWUVTOwoJCQkJQ0xBTkdfRU5BQkxFX09CSkNfQVJDID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9CTE9DS19DQVBUVVJFX0FVVE9SRUxFQVNJTkcgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0JPT0xfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQ09NTUEgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0NPTlNUQU5UX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0RFUFJFQ0FURURfT0JKQ19JTVBMRU1FTlRBVElPTlMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0RJUkVDVF9PQkpDX0lTQV9VU0FHRSA9IFlFU19FUlJPUjsKCQkJCUNMQU5HX1dBUk5fRU1QVFlfQk9EWSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fRU5VTV9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9JTkZJTklURV9SRUNVUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0lOVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9OT05fTElURVJBTF9OVUxMX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfSU1QTElDSVRfUkVUQUlOX1NFTEYgPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfTElURVJBTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX1JPT1RfQ0xBU1MgPSBZRVNfRVJST1I7CgkJCQlDTEFOR19XQVJOX1JBTkdFX0xPT1BfQU5BTFlTSVMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1NUUklDVF9QUk9UT1RZUEVTID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9TVVNQSUNJT1VTX01PVkUgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1VOUkVBQ0hBQkxFX0NPREUgPSBZRVM7CgkJCQlDTEFOR19XQVJOX19EVVBMSUNBVEVfTUVUSE9EX01BVENIID0gWUVTOwoJCQkJIkNPREVfU0lHTl9JREVOVElUWVtzZGs9aXBob25lb3MqXSIgPSAiaVBob25lIERldmVsb3BlciI7CgkJCQlDT1BZX1BIQVNFX1NUUklQID0gTk87CgkJCQlERUJVR19JTkZPUk1BVElPTl9GT1JNQVQgPSBkd2FyZjsKCQkJCUVOQUJMRV9TVFJJQ1RfT0JKQ19NU0dTRU5EID0gWUVTOwoJCQkJRU5BQkxFX1RFU1RBQklMSVRZID0gWUVTOwoJCQkJR0NDX0NfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnU5OTsKCQkJCUdDQ19EWU5BTUlDX05PX1BJQyA9IE5POwoJCQkJR0NDX05PX0NPTU1PTl9CTE9DS1MgPSBZRVM7CgkJCQlHQ0NfT1BUSU1JWkFUSU9OX0xFVkVMID0gMDsKCQkJCUdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAoCgkJCQkJIkRFQlVHPTEiLAoJCQkJCSIkKGluaGVyaXRlZCkiLAoJCQkJKTsKCQkJCUdDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJR0NDX1dBUk5fQUJPVVRfUkVUVVJOX1RZUEUgPSBZRVNfRVJST1I7CgkJCQlHQ0NfV0FSTl9VTkRFQ0xBUkVEX1NFTEVDVE9SID0gWUVTOwoJCQkJR0NDX1dBUk5fVU5JTklUSUFMSVpFRF9BVVRPUyA9IFlFU19BR0dSRVNTSVZFOwoJCQkJR0NDX1dBUk5fVU5VU0VEX0ZVTkNUSU9OID0gWUVTOwoJCQkJR0NDX1dBUk5fVU5VU0VEX1ZBUklBQkxFID0gWUVTOwoJCQkJSVBIT05FT1NfREVQTE9ZTUVOVF9UQVJHRVQgPSAxMy4wOwoJCQkJTVRMX0VOQUJMRV9ERUJVR19JTkZPID0gWUVTOwoJCQkJT05MWV9BQ1RJVkVfQVJDSCA9IFlFUzsKCQkJCVNES1JPT1QgPSBpcGhvbmVvczsKCQkJCVRBUkdFVEVEX0RFVklDRV9GQU1JTFkgPSAiMSwyIjsKCQkJfTsKCQkJbmFtZSA9ICJEZWJ1Zy1kZXZlbG9wbWVudCI7CgkJfTsKCQkzQ0MwNDc2NTJCMEY4RTlGMDA3MTNEOTIgLyogRGVidWctZGV2ZWxvcG1lbnQgKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDk3NDBFRUIyMUNGOTAxOTUwMDQzODRGQyAvKiBEZWJ1Zy54Y2NvbmZpZyAqLzsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUFTU0VUQ0FUQUxPR19DT01QSUxFUl9BUFBJQ09OX05BTUUgPSAiQXBwSWNvbi1kZXYiOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDVVJSRU5UX1BST0pFQ1RfVkVSU0lPTiA9ICIkKEZMVVRURVJfQlVJTERfTlVNQkVSKSI7CgkJCQlFTkFCTEVfQklUQ09ERSA9IE5POwoJCQkJRkxBVk9SX0FQUF9OQU1FID0gIltERVZdIHt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX0iOwoJCQkJSU5GT1BMSVNUX0ZJTEUgPSBSdW5uZXIvSW5mby5wbGlzdDsKCQkJCUxEX1JVTlBBVEhfU0VBUkNIX1BBVEhTID0gKAoJCQkJCSIkKGluaGVyaXRlZCkiLAoJCQkJCSJAZXhlY3V0YWJsZV9wYXRoL0ZyYW1ld29ya3MiLAoJCQkJKTsKCQkJCVBST0RVQ1RfQlVORExFX0lERU5USUZJRVIgPSB7e2lvc19hcHBsaWNhdGlvbl9pZH19LmRldjsKCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CgkJCQlTV0lGVF9PQkpDX0JSSURHSU5HX0hFQURFUiA9ICJSdW5uZXIvUnVubmVyLUJyaWRnaW5nLUhlYWRlci5oIjsKCQkJCVNXSUZUX09QVElNSVpBVElPTl9MRVZFTCA9ICItT25vbmUiOwoJCQkJU1dJRlRfVkVSU0lPTiA9IDUuMDsKCQkJCVZFUlNJT05JTkdfU1lTVEVNID0gImFwcGxlLWdlbmVyaWMiOwoJCQl9OwoJCQluYW1lID0gIkRlYnVnLWRldmVsb3BtZW50IjsKCQl9OwoJCTNDQzA0NzY2MkIwRjhFOUYwMDcxM0Q5MiAvKiBEZWJ1Zy1kZXZlbG9wbWVudCAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gQkNEODEwQjNBNjJBNjA0RTU0MjhCQkJCIC8qIFBvZHMtUnVubmVyVGVzdHMuZGVidWctZGV2ZWxvcG1lbnQueGNjb25maWcgKi87CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlCVU5ETEVfTE9BREVSID0gIiQoVEVTVF9IT1NUKSI7CgkJCQlDT0RFX1NJR05fU1RZTEUgPSBBdXRvbWF0aWM7CgkJCQlDVVJSRU5UX1BST0pFQ1RfVkVSU0lPTiA9IDE7CgkJCQlHRU5FUkFURV9JTkZPUExJU1RfRklMRSA9IFlFUzsKCQkJCU1BUktFVElOR19WRVJTSU9OID0gMS4wOwoJCQkJUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9IHt7aW9zX2FwcGxpY2F0aW9uX2lkfX0uUnVubmVyVGVzdHM7CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfQUNUSVZFX0NPTVBJTEFUSU9OX0NPTkRJVElPTlMgPSBERUJVRzsKCQkJCVNXSUZUX09QVElNSVpBVElPTl9MRVZFTCA9ICItT25vbmUiOwoJCQkJU1dJRlRfVkVSU0lPTiA9IDUuMDsKCQkJCVRFU1RfSE9TVCA9ICIkKEJVSUxUX1BST0RVQ1RTX0RJUikvUnVubmVyLmFwcC8kKEJVTkRMRV9FWEVDVVRBQkxFX0ZPTERFUl9QQVRIKS9SdW5uZXIiOwoJCQl9OwoJCQluYW1lID0gIkRlYnVnLWRldmVsb3BtZW50IjsKCQl9OwoJCTNDQzA0NzY3MkIwRjhFQUYwMDcxM0Q5MiAvKiBSZWxlYXNlLWRldmVsb3BtZW50ICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POwoJCQkJQ0xBTkdfQU5BTFlaRVJfTk9OTlVMTCA9IFlFUzsKCQkJCUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9ICJnbnUrKzB4IjsKCQkJCUNMQU5HX0NYWF9MSUJSQVJZID0gImxpYmMrKyI7CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNMQU5HX0VOQUJMRV9PQkpDX0FSQyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQkxPQ0tfQ0FQVFVSRV9BVVRPUkVMRUFTSU5HID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9CT09MX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0NPTU1BID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT05TVEFOVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ERVBSRUNBVEVEX09CSkNfSU1QTEVNRU5UQVRJT05TID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ESVJFQ1RfT0JKQ19JU0FfVVNBR0UgPSBZRVNfRVJST1I7CgkJCQlDTEFOR19XQVJOX0VNUFRZX0JPRFkgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0VOVU1fQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5GSU5JVEVfUkVDVVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9JTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fTk9OX0xJVEVSQUxfTlVMTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0lNUExJQ0lUX1JFVEFJTl9TRUxGID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0xJVEVSQUxfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19ST09UX0NMQVNTID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9SQU5HRV9MT09QX0FOQUxZU0lTID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9TVFJJQ1RfUFJPVE9UWVBFUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1VTUElDSU9VU19NT1ZFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9VTlJFQUNIQUJMRV9DT0RFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9fRFVQTElDQVRFX01FVEhPRF9NQVRDSCA9IFlFUzsKCQkJCSJDT0RFX1NJR05fSURFTlRJVFlbc2RrPWlwaG9uZW9zKl0iID0gImlQaG9uZSBEZXZlbG9wZXIiOwoJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IE5POwoJCQkJREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gImR3YXJmLXdpdGgtZHN5bSI7CgkJCQlFTkFCTEVfTlNfQVNTRVJUSU9OUyA9IE5POwoJCQkJRU5BQkxFX1NUUklDVF9PQkpDX01TR1NFTkQgPSBZRVM7CgkJCQlHQ0NfQ19MQU5HVUFHRV9TVEFOREFSRCA9IGdudTk5OwoJCQkJR0NDX05PX0NPTU1PTl9CTE9DS1MgPSBZRVM7CgkJCQlHQ0NfV0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX0FCT1VUX1JFVFVSTl9UWVBFID0gWUVTX0VSUk9SOwoJCQkJR0NDX1dBUk5fVU5ERUNMQVJFRF9TRUxFQ1RPUiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOSU5JVElBTElaRURfQVVUT1MgPSBZRVNfQUdHUkVTU0lWRTsKCQkJCUdDQ19XQVJOX1VOVVNFRF9GVU5DVElPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9IFlFUzsKCQkJCUlQSE9ORU9TX0RFUExPWU1FTlRfVEFSR0VUID0gMTMuMDsKCQkJCU1UTF9FTkFCTEVfREVCVUdfSU5GTyA9IE5POwoJCQkJU0RLUk9PVCA9IGlwaG9uZW9zOwoJCQkJU1VQUE9SVEVEX1BMQVRGT1JNUyA9IGlwaG9uZW9zOwoJCQkJU1dJRlRfQ09NUElMQVRJT05fTU9ERSA9IHdob2xlbW9kdWxlOwoJCQkJU1dJRlRfT1BUSU1JWkFUSU9OX0xFVkVMID0gIi1PIjsKCQkJCVRBUkdFVEVEX0RFVklDRV9GQU1JTFkgPSAiMSwyIjsKCQkJCVZBTElEQVRFX1BST0RVQ1QgPSBZRVM7CgkJCX07CgkJCW5hbWUgPSAiUmVsZWFzZS1kZXZlbG9wbWVudCI7CgkJfTsKCQkzQ0MwNDc2ODJCMEY4RUFGMDA3MTNEOTIgLyogUmVsZWFzZS1kZXZlbG9wbWVudCAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gN0FGQTNDOEUxRDM1MzYwQzAwODMwODJFIC8qIFJlbGVhc2UueGNjb25maWcgKi87CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBU1NFVENBVEFMT0dfQ09NUElMRVJfQVBQSUNPTl9OQU1FID0gIkFwcEljb24tZGV2IjsKCQkJCUNMQU5HX0VOQUJMRV9NT0RVTEVTID0gWUVTOwoJCQkJQ1VSUkVOVF9QUk9KRUNUX1ZFUlNJT04gPSAiJChGTFVUVEVSX0JVSUxEX05VTUJFUikiOwoJCQkJRU5BQkxFX0JJVENPREUgPSBOTzsKCQkJCUZMQVZPUl9BUFBfTkFNRSA9ICJbREVWXSB7e3Byb2plY3RfbmFtZS50aXRsZUNhc2UoKX19IjsKCQkJCUlORk9QTElTVF9GSUxFID0gUnVubmVyL0luZm8ucGxpc3Q7CgkJCQlMRF9SVU5QQVRIX1NFQVJDSF9QQVRIUyA9ICgKCQkJCQkiJChpbmhlcml0ZWQpIiwKCQkJCQkiQGV4ZWN1dGFibGVfcGF0aC9GcmFtZXdvcmtzIiwKCQkJCSk7CgkJCQlQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0ge3tpb3NfYXBwbGljYXRpb25faWR9fS5kZXY7CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfT0JKQ19CUklER0lOR19IRUFERVIgPSAiUnVubmVyL1J1bm5lci1CcmlkZ2luZy1IZWFkZXIuaCI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVkVSU0lPTklOR19TWVNURU0gPSAiYXBwbGUtZ2VuZXJpYyI7CgkJCX07CgkJCW5hbWUgPSAiUmVsZWFzZS1kZXZlbG9wbWVudCI7CgkJfTsKCQkzQ0MwNDc2OTJCMEY4RUFGMDA3MTNEOTIgLyogUmVsZWFzZS1kZXZlbG9wbWVudCAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gQkYxREIxNjIyNzFDQ0ZGOUY4MjVGMzEyIC8qIFBvZHMtUnVubmVyVGVzdHMucmVsZWFzZS1kZXZlbG9wbWVudC54Y2NvbmZpZyAqLzsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUJVTkRMRV9MT0FERVIgPSAiJChURVNUX0hPU1QpIjsKCQkJCUNPREVfU0lHTl9TVFlMRSA9IEF1dG9tYXRpYzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gMTsKCQkJCUdFTkVSQVRFX0lORk9QTElTVF9GSUxFID0gWUVTOwoJCQkJTUFSS0VUSU5HX1ZFUlNJT04gPSAxLjA7CgkJCQlQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0ge3tpb3NfYXBwbGljYXRpb25faWR9fS5SdW5uZXJUZXN0czsKCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVEVTVF9IT1NUID0gIiQoQlVJTFRfUFJPRFVDVFNfRElSKS9SdW5uZXIuYXBwLyQoQlVORExFX0VYRUNVVEFCTEVfRk9MREVSX1BBVEgpL1J1bm5lciI7CgkJCX07CgkJCW5hbWUgPSAiUmVsZWFzZS1kZXZlbG9wbWVudCI7CgkJfTsKCQkzQ0MwNDc2QTJCMEY4RUI0MDA3MTNEOTIgLyogUHJvZmlsZS1kZXZlbG9wbWVudCAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTzsKCQkJCUNMQU5HX0FOQUxZWkVSX05PTk5VTEwgPSBZRVM7CgkJCQlDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSAiZ251KysweCI7CgkJCQlDTEFOR19DWFhfTElCUkFSWSA9ICJsaWJjKysiOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDTEFOR19FTkFCTEVfT0JKQ19BUkMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0JMT0NLX0NBUFRVUkVfQVVUT1JFTEVBU0lORyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT01NQSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fREVQUkVDQVRFRF9PQkpDX0lNUExFTUVOVEFUSU9OUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fRElSRUNUX09CSkNfSVNBX1VTQUdFID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9FTVBUWV9CT0RZID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0lORklOSVRFX1JFQ1VSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5UX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX05PTl9MSVRFUkFMX05VTExfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19JTVBMSUNJVF9SRVRBSU5fU0VMRiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19MSVRFUkFMX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfUk9PVF9DTEFTUyA9IFlFU19FUlJPUjsKCQkJCUNMQU5HX1dBUk5fUkFOR0VfTE9PUF9BTkFMWVNJUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1RSSUNUX1BST1RPVFlQRVMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1NVU1BJQ0lPVVNfTU9WRSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fVU5SRUFDSEFCTEVfQ09ERSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fX0RVUExJQ0FURV9NRVRIT0RfTUFUQ0ggPSBZRVM7CgkJCQkiQ09ERV9TSUdOX0lERU5USVRZW3Nkaz1pcGhvbmVvcypdIiA9ICJpUGhvbmUgRGV2ZWxvcGVyIjsKCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBOTzsKCQkJCURFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9ICJkd2FyZi13aXRoLWRzeW0iOwoJCQkJRU5BQkxFX05TX0FTU0VSVElPTlMgPSBOTzsKCQkJCUVOQUJMRV9TVFJJQ1RfT0JKQ19NU0dTRU5EID0gWUVTOwoJCQkJR0NDX0NfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnU5OTsKCQkJCUdDQ19OT19DT01NT05fQkxPQ0tTID0gWUVTOwoJCQkJR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9BQk9VVF9SRVRVUk5fVFlQRSA9IFlFU19FUlJPUjsKCQkJCUdDQ19XQVJOX1VOREVDTEFSRURfU0VMRUNUT1IgPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTklOSVRJQUxJWkVEX0FVVE9TID0gWUVTX0FHR1JFU1NJVkU7CgkJCQlHQ0NfV0FSTl9VTlVTRURfRlVOQ1RJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTlVTRURfVkFSSUFCTEUgPSBZRVM7CgkJCQlJUEhPTkVPU19ERVBMT1lNRU5UX1RBUkdFVCA9IDEzLjA7CgkJCQlNVExfRU5BQkxFX0RFQlVHX0lORk8gPSBOTzsKCQkJCVNES1JPT1QgPSBpcGhvbmVvczsKCQkJCVNVUFBPUlRFRF9QTEFURk9STVMgPSBpcGhvbmVvczsKCQkJCVRBUkdFVEVEX0RFVklDRV9GQU1JTFkgPSAiMSwyIjsKCQkJCVZBTElEQVRFX1BST0RVQ1QgPSBZRVM7CgkJCX07CgkJCW5hbWUgPSAiUHJvZmlsZS1kZXZlbG9wbWVudCI7CgkJfTsKCQkzQ0MwNDc2QjJCMEY4RUI0MDA3MTNEOTIgLyogUHJvZmlsZS1kZXZlbG9wbWVudCAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gN0FGQTNDOEUxRDM1MzYwQzAwODMwODJFIC8qIFJlbGVhc2UueGNjb25maWcgKi87CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBU1NFVENBVEFMT0dfQ09NUElMRVJfQVBQSUNPTl9OQU1FID0gIkFwcEljb24tZGV2IjsKCQkJCUNMQU5HX0VOQUJMRV9NT0RVTEVTID0gWUVTOwoJCQkJQ1VSUkVOVF9QUk9KRUNUX1ZFUlNJT04gPSAiJChGTFVUVEVSX0JVSUxEX05VTUJFUikiOwoJCQkJRU5BQkxFX0JJVENPREUgPSBOTzsKCQkJCUZMQVZPUl9BUFBfTkFNRSA9ICJbREVWXSB7e3Byb2plY3RfbmFtZS50aXRsZUNhc2UoKX19IjsKCQkJCUlORk9QTElTVF9GSUxFID0gUnVubmVyL0luZm8ucGxpc3Q7CgkJCQlMRF9SVU5QQVRIX1NFQVJDSF9QQVRIUyA9ICgKCQkJCQkiJChpbmhlcml0ZWQpIiwKCQkJCQkiQGV4ZWN1dGFibGVfcGF0aC9GcmFtZXdvcmtzIiwKCQkJCSk7CgkJCQlQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0ge3tpb3NfYXBwbGljYXRpb25faWR9fS5kZXY7CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfT0JKQ19CUklER0lOR19IRUFERVIgPSAiUnVubmVyL1J1bm5lci1CcmlkZ2luZy1IZWFkZXIuaCI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVkVSU0lPTklOR19TWVNURU0gPSAiYXBwbGUtZ2VuZXJpYyI7CgkJCX07CgkJCW5hbWUgPSAiUHJvZmlsZS1kZXZlbG9wbWVudCI7CgkJfTsKCQkzQ0MwNDc2QzJCMEY4RUI0MDA3MTNEOTIgLyogUHJvZmlsZS1kZXZlbG9wbWVudCAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gNDNGRDE5RTgyNEQ3OEMwREJBMTA1RkU3IC8qIFBvZHMtUnVubmVyVGVzdHMucHJvZmlsZS1kZXZlbG9wbWVudC54Y2NvbmZpZyAqLzsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUJVTkRMRV9MT0FERVIgPSAiJChURVNUX0hPU1QpIjsKCQkJCUNPREVfU0lHTl9TVFlMRSA9IEF1dG9tYXRpYzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gMTsKCQkJCUdFTkVSQVRFX0lORk9QTElTVF9GSUxFID0gWUVTOwoJCQkJTUFSS0VUSU5HX1ZFUlNJT04gPSAxLjA7CgkJCQlQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0ge3tpb3NfYXBwbGljYXRpb25faWR9fS5SdW5uZXJUZXN0czsKCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVEVTVF9IT1NUID0gIiQoQlVJTFRfUFJPRFVDVFNfRElSKS9SdW5uZXIuYXBwLyQoQlVORExFX0VYRUNVVEFCTEVfRk9MREVSX1BBVEgpL1J1bm5lciI7CgkJCX07CgkJCW5hbWUgPSAiUHJvZmlsZS1kZXZlbG9wbWVudCI7CgkJfTsKCQkzQ0MwNDc2RDJCMEY4RUJGMDA3MTNEOTIgLyogRGVidWctc3RhZ2luZyAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTzsKCQkJCUNMQU5HX0FOQUxZWkVSX05PTk5VTEwgPSBZRVM7CgkJCQlDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSAiZ251KysweCI7CgkJCQlDTEFOR19DWFhfTElCUkFSWSA9ICJsaWJjKysiOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDTEFOR19FTkFCTEVfT0JKQ19BUkMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0JMT0NLX0NBUFRVUkVfQVVUT1JFTEVBU0lORyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT01NQSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fREVQUkVDQVRFRF9PQkpDX0lNUExFTUVOVEFUSU9OUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fRElSRUNUX09CSkNfSVNBX1VTQUdFID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9FTVBUWV9CT0RZID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0lORklOSVRFX1JFQ1VSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5UX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX05PTl9MSVRFUkFMX05VTExfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19JTVBMSUNJVF9SRVRBSU5fU0VMRiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19MSVRFUkFMX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfUk9PVF9DTEFTUyA9IFlFU19FUlJPUjsKCQkJCUNMQU5HX1dBUk5fUkFOR0VfTE9PUF9BTkFMWVNJUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1RSSUNUX1BST1RPVFlQRVMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1NVU1BJQ0lPVVNfTU9WRSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fVU5SRUFDSEFCTEVfQ09ERSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fX0RVUExJQ0FURV9NRVRIT0RfTUFUQ0ggPSBZRVM7CgkJCQkiQ09ERV9TSUdOX0lERU5USVRZW3Nkaz1pcGhvbmVvcypdIiA9ICJpUGhvbmUgRGV2ZWxvcGVyIjsKCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBOTzsKCQkJCURFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9IGR3YXJmOwoJCQkJRU5BQkxFX1NUUklDVF9PQkpDX01TR1NFTkQgPSBZRVM7CgkJCQlFTkFCTEVfVEVTVEFCSUxJVFkgPSBZRVM7CgkJCQlHQ0NfQ19MQU5HVUFHRV9TVEFOREFSRCA9IGdudTk5OwoJCQkJR0NDX0RZTkFNSUNfTk9fUElDID0gTk87CgkJCQlHQ0NfTk9fQ09NTU9OX0JMT0NLUyA9IFlFUzsKCQkJCUdDQ19PUFRJTUlaQVRJT05fTEVWRUwgPSAwOwoJCQkJR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICgKCQkJCQkiREVCVUc9MSIsCgkJCQkJIiQoaW5oZXJpdGVkKSIsCgkJCQkpOwoJCQkJR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9BQk9VVF9SRVRVUk5fVFlQRSA9IFlFU19FUlJPUjsKCQkJCUdDQ19XQVJOX1VOREVDTEFSRURfU0VMRUNUT1IgPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTklOSVRJQUxJWkVEX0FVVE9TID0gWUVTX0FHR1JFU1NJVkU7CgkJCQlHQ0NfV0FSTl9VTlVTRURfRlVOQ1RJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTlVTRURfVkFSSUFCTEUgPSBZRVM7CgkJCQlJUEhPTkVPU19ERVBMT1lNRU5UX1RBUkdFVCA9IDEzLjA7CgkJCQlNVExfRU5BQkxFX0RFQlVHX0lORk8gPSBZRVM7CgkJCQlPTkxZX0FDVElWRV9BUkNIID0gWUVTOwoJCQkJU0RLUk9PVCA9IGlwaG9uZW9zOwoJCQkJVEFSR0VURURfREVWSUNFX0ZBTUlMWSA9ICIxLDIiOwoJCQl9OwoJCQluYW1lID0gIkRlYnVnLXN0YWdpbmciOwoJCX07CgkJM0NDMDQ3NkUyQjBGOEVCRjAwNzEzRDkyIC8qIERlYnVnLXN0YWdpbmcgKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDk3NDBFRUIyMUNGOTAxOTUwMDQzODRGQyAvKiBEZWJ1Zy54Y2NvbmZpZyAqLzsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUFTU0VUQ0FUQUxPR19DT01QSUxFUl9BUFBJQ09OX05BTUUgPSAiQXBwSWNvbi1zdGciOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDVVJSRU5UX1BST0pFQ1RfVkVSU0lPTiA9ICIkKEZMVVRURVJfQlVJTERfTlVNQkVSKSI7CgkJCQlFTkFCTEVfQklUQ09ERSA9IE5POwoJCQkJRkxBVk9SX0FQUF9OQU1FID0gIltTVEddIHt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX0iOwoJCQkJSU5GT1BMSVNUX0ZJTEUgPSBSdW5uZXIvSW5mby5wbGlzdDsKCQkJCUxEX1JVTlBBVEhfU0VBUkNIX1BBVEhTID0gKAoJCQkJCSIkKGluaGVyaXRlZCkiLAoJCQkJCSJAZXhlY3V0YWJsZV9wYXRoL0ZyYW1ld29ya3MiLAoJCQkJKTsKCQkJCVBST0RVQ1RfQlVORExFX0lERU5USUZJRVIgPSB7e2lvc19hcHBsaWNhdGlvbl9pZH19LnN0ZzsKCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CgkJCQlTV0lGVF9PQkpDX0JSSURHSU5HX0hFQURFUiA9ICJSdW5uZXIvUnVubmVyLUJyaWRnaW5nLUhlYWRlci5oIjsKCQkJCVNXSUZUX09QVElNSVpBVElPTl9MRVZFTCA9ICItT25vbmUiOwoJCQkJU1dJRlRfVkVSU0lPTiA9IDUuMDsKCQkJCVZFUlNJT05JTkdfU1lTVEVNID0gImFwcGxlLWdlbmVyaWMiOwoJCQl9OwoJCQluYW1lID0gIkRlYnVnLXN0YWdpbmciOwoJCX07CgkJM0NDMDQ3NkYyQjBGOEVCRjAwNzEzRDkyIC8qIERlYnVnLXN0YWdpbmcgKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEYxOEQ5QTczNTVENzJGMzRCRTJDNjQ3QiAvKiBQb2RzLVJ1bm5lclRlc3RzLmRlYnVnLXN0YWdpbmcueGNjb25maWcgKi87CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlCVU5ETEVfTE9BREVSID0gIiQoVEVTVF9IT1NUKSI7CgkJCQlDT0RFX1NJR05fU1RZTEUgPSBBdXRvbWF0aWM7CgkJCQlDVVJSRU5UX1BST0pFQ1RfVkVSU0lPTiA9IDE7CgkJCQlHRU5FUkFURV9JTkZPUExJU1RfRklMRSA9IFlFUzsKCQkJCU1BUktFVElOR19WRVJTSU9OID0gMS4wOwoJCQkJUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9IHt7aW9zX2FwcGxpY2F0aW9uX2lkfX0uUnVubmVyVGVzdHM7CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfQUNUSVZFX0NPTVBJTEFUSU9OX0NPTkRJVElPTlMgPSBERUJVRzsKCQkJCVNXSUZUX09QVElNSVpBVElPTl9MRVZFTCA9ICItT25vbmUiOwoJCQkJU1dJRlRfVkVSU0lPTiA9IDUuMDsKCQkJCVRFU1RfSE9TVCA9ICIkKEJVSUxUX1BST0RVQ1RTX0RJUikvUnVubmVyLmFwcC8kKEJVTkRMRV9FWEVDVVRBQkxFX0ZPTERFUl9QQVRIKS9SdW5uZXIiOwoJCQl9OwoJCQluYW1lID0gIkRlYnVnLXN0YWdpbmciOwoJCX07CgkJM0NDMDQ3NzAyQjBGOEVDQTAwNzEzRDkyIC8qIFJlbGVhc2Utc3RhZ2luZyAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTzsKCQkJCUNMQU5HX0FOQUxZWkVSX05PTk5VTEwgPSBZRVM7CgkJCQlDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSAiZ251KysweCI7CgkJCQlDTEFOR19DWFhfTElCUkFSWSA9ICJsaWJjKysiOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDTEFOR19FTkFCTEVfT0JKQ19BUkMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0JMT0NLX0NBUFRVUkVfQVVUT1JFTEVBU0lORyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT01NQSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fREVQUkVDQVRFRF9PQkpDX0lNUExFTUVOVEFUSU9OUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fRElSRUNUX09CSkNfSVNBX1VTQUdFID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9FTVBUWV9CT0RZID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0lORklOSVRFX1JFQ1VSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5UX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX05PTl9MSVRFUkFMX05VTExfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19JTVBMSUNJVF9SRVRBSU5fU0VMRiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19MSVRFUkFMX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfUk9PVF9DTEFTUyA9IFlFU19FUlJPUjsKCQkJCUNMQU5HX1dBUk5fUkFOR0VfTE9PUF9BTkFMWVNJUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1RSSUNUX1BST1RPVFlQRVMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1NVU1BJQ0lPVVNfTU9WRSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fVU5SRUFDSEFCTEVfQ09ERSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fX0RVUExJQ0FURV9NRVRIT0RfTUFUQ0ggPSBZRVM7CgkJCQkiQ09ERV9TSUdOX0lERU5USVRZW3Nkaz1pcGhvbmVvcypdIiA9ICJpUGhvbmUgRGV2ZWxvcGVyIjsKCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBOTzsKCQkJCURFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9ICJkd2FyZi13aXRoLWRzeW0iOwoJCQkJRU5BQkxFX05TX0FTU0VSVElPTlMgPSBOTzsKCQkJCUVOQUJMRV9TVFJJQ1RfT0JKQ19NU0dTRU5EID0gWUVTOwoJCQkJR0NDX0NfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnU5OTsKCQkJCUdDQ19OT19DT01NT05fQkxPQ0tTID0gWUVTOwoJCQkJR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9BQk9VVF9SRVRVUk5fVFlQRSA9IFlFU19FUlJPUjsKCQkJCUdDQ19XQVJOX1VOREVDTEFSRURfU0VMRUNUT1IgPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTklOSVRJQUxJWkVEX0FVVE9TID0gWUVTX0FHR1JFU1NJVkU7CgkJCQlHQ0NfV0FSTl9VTlVTRURfRlVOQ1RJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTlVTRURfVkFSSUFCTEUgPSBZRVM7CgkJCQlJUEhPTkVPU19ERVBMT1lNRU5UX1RBUkdFVCA9IDEzLjA7CgkJCQlNVExfRU5BQkxFX0RFQlVHX0lORk8gPSBOTzsKCQkJCVNES1JPT1QgPSBpcGhvbmVvczsKCQkJCVNVUFBPUlRFRF9QTEFURk9STVMgPSBpcGhvbmVvczsKCQkJCVNXSUZUX0NPTVBJTEFUSU9OX01PREUgPSB3aG9sZW1vZHVsZTsKCQkJCVNXSUZUX09QVElNSVpBVElPTl9MRVZFTCA9ICItTyI7CgkJCQlUQVJHRVRFRF9ERVZJQ0VfRkFNSUxZID0gIjEsMiI7CgkJCQlWQUxJREFURV9QUk9EVUNUID0gWUVTOwoJCQl9OwoJCQluYW1lID0gIlJlbGVhc2Utc3RhZ2luZyI7CgkJfTsKCQkzQ0MwNDc3MTJCMEY4RUNBMDA3MTNEOTIgLyogUmVsZWFzZS1zdGFnaW5nICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSA3QUZBM0M4RTFEMzUzNjBDMDA4MzA4MkUgLyogUmVsZWFzZS54Y2NvbmZpZyAqLzsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUFTU0VUQ0FUQUxPR19DT01QSUxFUl9BUFBJQ09OX05BTUUgPSAiQXBwSWNvbi1zdGciOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDVVJSRU5UX1BST0pFQ1RfVkVSU0lPTiA9ICIkKEZMVVRURVJfQlVJTERfTlVNQkVSKSI7CgkJCQlFTkFCTEVfQklUQ09ERSA9IE5POwoJCQkJRkxBVk9SX0FQUF9OQU1FID0gIltTVEddIHt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX0iOwoJCQkJSU5GT1BMSVNUX0ZJTEUgPSBSdW5uZXIvSW5mby5wbGlzdDsKCQkJCUxEX1JVTlBBVEhfU0VBUkNIX1BBVEhTID0gKAoJCQkJCSIkKGluaGVyaXRlZCkiLAoJCQkJCSJAZXhlY3V0YWJsZV9wYXRoL0ZyYW1ld29ya3MiLAoJCQkJKTsKCQkJCVBST0RVQ1RfQlVORExFX0lERU5USUZJRVIgPSB7e2lvc19hcHBsaWNhdGlvbl9pZH19LnN0ZzsKCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CgkJCQlTV0lGVF9PQkpDX0JSSURHSU5HX0hFQURFUiA9ICJSdW5uZXIvUnVubmVyLUJyaWRnaW5nLUhlYWRlci5oIjsKCQkJCVNXSUZUX1ZFUlNJT04gPSA1LjA7CgkJCQlWRVJTSU9OSU5HX1NZU1RFTSA9ICJhcHBsZS1nZW5lcmljIjsKCQkJfTsKCQkJbmFtZSA9ICJSZWxlYXNlLXN0YWdpbmciOwoJCX07CgkJM0NDMDQ3NzIyQjBGOEVDQTAwNzEzRDkyIC8qIFJlbGVhc2Utc3RhZ2luZyAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gRjcwMkNCRTIyQzJFNDhBMzc1RjQyOTM4IC8qIFBvZHMtUnVubmVyVGVzdHMucmVsZWFzZS1zdGFnaW5nLnhjY29uZmlnICovOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQlVORExFX0xPQURFUiA9ICIkKFRFU1RfSE9TVCkiOwoJCQkJQ09ERV9TSUdOX1NUWUxFID0gQXV0b21hdGljOwoJCQkJQ1VSUkVOVF9QUk9KRUNUX1ZFUlNJT04gPSAxOwoJCQkJR0VORVJBVEVfSU5GT1BMSVNUX0ZJTEUgPSBZRVM7CgkJCQlNQVJLRVRJTkdfVkVSU0lPTiA9IDEuMDsKCQkJCVBST0RVQ1RfQlVORExFX0lERU5USUZJRVIgPSB7e2lvc19hcHBsaWNhdGlvbl9pZH19LlJ1bm5lclRlc3RzOwoJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKCQkJCVNXSUZUX1ZFUlNJT04gPSA1LjA7CgkJCQlURVNUX0hPU1QgPSAiJChCVUlMVF9QUk9EVUNUU19ESVIpL1J1bm5lci5hcHAvJChCVU5ETEVfRVhFQ1VUQUJMRV9GT0xERVJfUEFUSCkvUnVubmVyIjsKCQkJfTsKCQkJbmFtZSA9ICJSZWxlYXNlLXN0YWdpbmciOwoJCX07CgkJM0NDMDQ3NzMyQjBGOEVDRjAwNzEzRDkyIC8qIFByb2ZpbGUtc3RhZ2luZyAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTzsKCQkJCUNMQU5HX0FOQUxZWkVSX05PTk5VTEwgPSBZRVM7CgkJCQlDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSAiZ251KysweCI7CgkJCQlDTEFOR19DWFhfTElCUkFSWSA9ICJsaWJjKysiOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDTEFOR19FTkFCTEVfT0JKQ19BUkMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0JMT0NLX0NBUFRVUkVfQVVUT1JFTEVBU0lORyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT01NQSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fREVQUkVDQVRFRF9PQkpDX0lNUExFTUVOVEFUSU9OUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fRElSRUNUX09CSkNfSVNBX1VTQUdFID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9FTVBUWV9CT0RZID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0lORklOSVRFX1JFQ1VSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5UX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX05PTl9MSVRFUkFMX05VTExfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19JTVBMSUNJVF9SRVRBSU5fU0VMRiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19MSVRFUkFMX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfUk9PVF9DTEFTUyA9IFlFU19FUlJPUjsKCQkJCUNMQU5HX1dBUk5fUkFOR0VfTE9PUF9BTkFMWVNJUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1RSSUNUX1BST1RPVFlQRVMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1NVU1BJQ0lPVVNfTU9WRSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fVU5SRUFDSEFCTEVfQ09ERSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fX0RVUExJQ0FURV9NRVRIT0RfTUFUQ0ggPSBZRVM7CgkJCQkiQ09ERV9TSUdOX0lERU5USVRZW3Nkaz1pcGhvbmVvcypdIiA9ICJpUGhvbmUgRGV2ZWxvcGVyIjsKCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBOTzsKCQkJCURFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9ICJkd2FyZi13aXRoLWRzeW0iOwoJCQkJRU5BQkxFX05TX0FTU0VSVElPTlMgPSBOTzsKCQkJCUVOQUJMRV9TVFJJQ1RfT0JKQ19NU0dTRU5EID0gWUVTOwoJCQkJR0NDX0NfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnU5OTsKCQkJCUdDQ19OT19DT01NT05fQkxPQ0tTID0gWUVTOwoJCQkJR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9BQk9VVF9SRVRVUk5fVFlQRSA9IFlFU19FUlJPUjsKCQkJCUdDQ19XQVJOX1VOREVDTEFSRURfU0VMRUNUT1IgPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTklOSVRJQUxJWkVEX0FVVE9TID0gWUVTX0FHR1JFU1NJVkU7CgkJCQlHQ0NfV0FSTl9VTlVTRURfRlVOQ1RJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTlVTRURfVkFSSUFCTEUgPSBZRVM7CgkJCQlJUEhPTkVPU19ERVBMT1lNRU5UX1RBUkdFVCA9IDEzLjA7CgkJCQlNVExfRU5BQkxFX0RFQlVHX0lORk8gPSBOTzsKCQkJCVNES1JPT1QgPSBpcGhvbmVvczsKCQkJCVNVUFBPUlRFRF9QTEFURk9STVMgPSBpcGhvbmVvczsKCQkJCVRBUkdFVEVEX0RFVklDRV9GQU1JTFkgPSAiMSwyIjsKCQkJCVZBTElEQVRFX1BST0RVQ1QgPSBZRVM7CgkJCX07CgkJCW5hbWUgPSAiUHJvZmlsZS1zdGFnaW5nIjsKCQl9OwoJCTNDQzA0Nzc0MkIwRjhFQ0YwMDcxM0Q5MiAvKiBQcm9maWxlLXN0YWdpbmcgKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDdBRkEzQzhFMUQzNTM2MEMwMDgzMDgyRSAvKiBSZWxlYXNlLnhjY29uZmlnICovOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQVNTRVRDQVRBTE9HX0NPTVBJTEVSX0FQUElDT05fTkFNRSA9ICJBcHBJY29uLXN0ZyI7CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gIiQoRkxVVFRFUl9CVUlMRF9OVU1CRVIpIjsKCQkJCUVOQUJMRV9CSVRDT0RFID0gTk87CgkJCQlGTEFWT1JfQVBQX05BTUUgPSAiW1NUR10ge3twcm9qZWN0X25hbWUudGl0bGVDYXNlKCl9fSI7CgkJCQlJTkZPUExJU1RfRklMRSA9IFJ1bm5lci9JbmZvLnBsaXN0OwoJCQkJTERfUlVOUEFUSF9TRUFSQ0hfUEFUSFMgPSAoCgkJCQkJIiQoaW5oZXJpdGVkKSIsCgkJCQkJIkBleGVjdXRhYmxlX3BhdGgvRnJhbWV3b3JrcyIsCgkJCQkpOwoJCQkJUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9IHt7aW9zX2FwcGxpY2F0aW9uX2lkfX0uc3RnOwoJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKCQkJCVNXSUZUX09CSkNfQlJJREdJTkdfSEVBREVSID0gIlJ1bm5lci9SdW5uZXItQnJpZGdpbmctSGVhZGVyLmgiOwoJCQkJU1dJRlRfVkVSU0lPTiA9IDUuMDsKCQkJCVZFUlNJT05JTkdfU1lTVEVNID0gImFwcGxlLWdlbmVyaWMiOwoJCQl9OwoJCQluYW1lID0gIlByb2ZpbGUtc3RhZ2luZyI7CgkJfTsKCQkzQ0MwNDc3NTJCMEY4RUNGMDA3MTNEOTIgLyogUHJvZmlsZS1zdGFnaW5nICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSA0MUVDNDZBNzExMUMyQzRCMDI3MkFBN0YgLyogUG9kcy1SdW5uZXJUZXN0cy5wcm9maWxlLXN0YWdpbmcueGNjb25maWcgKi87CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlCVU5ETEVfTE9BREVSID0gIiQoVEVTVF9IT1NUKSI7CgkJCQlDT0RFX1NJR05fU1RZTEUgPSBBdXRvbWF0aWM7CgkJCQlDVVJSRU5UX1BST0pFQ1RfVkVSU0lPTiA9IDE7CgkJCQlHRU5FUkFURV9JTkZPUExJU1RfRklMRSA9IFlFUzsKCQkJCU1BUktFVElOR19WRVJTSU9OID0gMS4wOwoJCQkJUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9IHt7aW9zX2FwcGxpY2F0aW9uX2lkfX0uUnVubmVyVGVzdHM7CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfVkVSU0lPTiA9IDUuMDsKCQkJCVRFU1RfSE9TVCA9ICIkKEJVSUxUX1BST0RVQ1RTX0RJUikvUnVubmVyLmFwcC8kKEJVTkRMRV9FWEVDVVRBQkxFX0ZPTERFUl9QQVRIKS9SdW5uZXIiOwoJCQl9OwoJCQluYW1lID0gIlByb2ZpbGUtc3RhZ2luZyI7CgkJfTsKCQk5N0MxNDcwMzFDRjkwMDBGMDA3QzExN0QgLyogRGVidWctcHJvZHVjdGlvbiAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTzsKCQkJCUNMQU5HX0FOQUxZWkVSX05PTk5VTEwgPSBZRVM7CgkJCQlDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSAiZ251KysweCI7CgkJCQlDTEFOR19DWFhfTElCUkFSWSA9ICJsaWJjKysiOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDTEFOR19FTkFCTEVfT0JKQ19BUkMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0JMT0NLX0NBUFRVUkVfQVVUT1JFTEVBU0lORyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT01NQSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fREVQUkVDQVRFRF9PQkpDX0lNUExFTUVOVEFUSU9OUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fRElSRUNUX09CSkNfSVNBX1VTQUdFID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9FTVBUWV9CT0RZID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0lORklOSVRFX1JFQ1VSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5UX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX05PTl9MSVRFUkFMX05VTExfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19JTVBMSUNJVF9SRVRBSU5fU0VMRiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19MSVRFUkFMX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfUk9PVF9DTEFTUyA9IFlFU19FUlJPUjsKCQkJCUNMQU5HX1dBUk5fUkFOR0VfTE9PUF9BTkFMWVNJUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1RSSUNUX1BST1RPVFlQRVMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1NVU1BJQ0lPVVNfTU9WRSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fVU5SRUFDSEFCTEVfQ09ERSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fX0RVUExJQ0FURV9NRVRIT0RfTUFUQ0ggPSBZRVM7CgkJCQkiQ09ERV9TSUdOX0lERU5USVRZW3Nkaz1pcGhvbmVvcypdIiA9ICJpUGhvbmUgRGV2ZWxvcGVyIjsKCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBOTzsKCQkJCURFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9IGR3YXJmOwoJCQkJRU5BQkxFX1NUUklDVF9PQkpDX01TR1NFTkQgPSBZRVM7CgkJCQlFTkFCTEVfVEVTVEFCSUxJVFkgPSBZRVM7CgkJCQlHQ0NfQ19MQU5HVUFHRV9TVEFOREFSRCA9IGdudTk5OwoJCQkJR0NDX0RZTkFNSUNfTk9fUElDID0gTk87CgkJCQlHQ0NfTk9fQ09NTU9OX0JMT0NLUyA9IFlFUzsKCQkJCUdDQ19PUFRJTUlaQVRJT05fTEVWRUwgPSAwOwoJCQkJR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICgKCQkJCQkiREVCVUc9MSIsCgkJCQkJIiQoaW5oZXJpdGVkKSIsCgkJCQkpOwoJCQkJR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9BQk9VVF9SRVRVUk5fVFlQRSA9IFlFU19FUlJPUjsKCQkJCUdDQ19XQVJOX1VOREVDTEFSRURfU0VMRUNUT1IgPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTklOSVRJQUxJWkVEX0FVVE9TID0gWUVTX0FHR1JFU1NJVkU7CgkJCQlHQ0NfV0FSTl9VTlVTRURfRlVOQ1RJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTlVTRURfVkFSSUFCTEUgPSBZRVM7CgkJCQlJUEhPTkVPU19ERVBMT1lNRU5UX1RBUkdFVCA9IDEzLjA7CgkJCQlNVExfRU5BQkxFX0RFQlVHX0lORk8gPSBZRVM7CgkJCQlPTkxZX0FDVElWRV9BUkNIID0gWUVTOwoJCQkJU0RLUk9PVCA9IGlwaG9uZW9zOwoJCQkJVEFSR0VURURfREVWSUNFX0ZBTUlMWSA9ICIxLDIiOwoJCQl9OwoJCQluYW1lID0gIkRlYnVnLXByb2R1Y3Rpb24iOwoJCX07CgkJOTdDMTQ3MDQxQ0Y5MDAwRjAwN0MxMTdEIC8qIFJlbGVhc2UtcHJvZHVjdGlvbiAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTzsKCQkJCUNMQU5HX0FOQUxZWkVSX05PTk5VTEwgPSBZRVM7CgkJCQlDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSAiZ251KysweCI7CgkJCQlDTEFOR19DWFhfTElCUkFSWSA9ICJsaWJjKysiOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDTEFOR19FTkFCTEVfT0JKQ19BUkMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0JMT0NLX0NBUFRVUkVfQVVUT1JFTEVBU0lORyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT01NQSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fREVQUkVDQVRFRF9PQkpDX0lNUExFTUVOVEFUSU9OUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fRElSRUNUX09CSkNfSVNBX1VTQUdFID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9FTVBUWV9CT0RZID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0lORklOSVRFX1JFQ1VSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5UX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX05PTl9MSVRFUkFMX05VTExfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19JTVBMSUNJVF9SRVRBSU5fU0VMRiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19MSVRFUkFMX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfUk9PVF9DTEFTUyA9IFlFU19FUlJPUjsKCQkJCUNMQU5HX1dBUk5fUkFOR0VfTE9PUF9BTkFMWVNJUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1RSSUNUX1BST1RPVFlQRVMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1NVU1BJQ0lPVVNfTU9WRSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fVU5SRUFDSEFCTEVfQ09ERSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fX0RVUExJQ0FURV9NRVRIT0RfTUFUQ0ggPSBZRVM7CgkJCQkiQ09ERV9TSUdOX0lERU5USVRZW3Nkaz1pcGhvbmVvcypdIiA9ICJpUGhvbmUgRGV2ZWxvcGVyIjsKCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBOTzsKCQkJCURFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9ICJkd2FyZi13aXRoLWRzeW0iOwoJCQkJRU5BQkxFX05TX0FTU0VSVElPTlMgPSBOTzsKCQkJCUVOQUJMRV9TVFJJQ1RfT0JKQ19NU0dTRU5EID0gWUVTOwoJCQkJR0NDX0NfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnU5OTsKCQkJCUdDQ19OT19DT01NT05fQkxPQ0tTID0gWUVTOwoJCQkJR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9BQk9VVF9SRVRVUk5fVFlQRSA9IFlFU19FUlJPUjsKCQkJCUdDQ19XQVJOX1VOREVDTEFSRURfU0VMRUNUT1IgPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTklOSVRJQUxJWkVEX0FVVE9TID0gWUVTX0FHR1JFU1NJVkU7CgkJCQlHQ0NfV0FSTl9VTlVTRURfRlVOQ1RJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTlVTRURfVkFSSUFCTEUgPSBZRVM7CgkJCQlJUEhPTkVPU19ERVBMT1lNRU5UX1RBUkdFVCA9IDEzLjA7CgkJCQlNVExfRU5BQkxFX0RFQlVHX0lORk8gPSBOTzsKCQkJCVNES1JPT1QgPSBpcGhvbmVvczsKCQkJCVNVUFBPUlRFRF9QTEFURk9STVMgPSBpcGhvbmVvczsKCQkJCVNXSUZUX0NPTVBJTEFUSU9OX01PREUgPSB3aG9sZW1vZHVsZTsKCQkJCVNXSUZUX09QVElNSVpBVElPTl9MRVZFTCA9ICItTyI7CgkJCQlUQVJHRVRFRF9ERVZJQ0VfRkFNSUxZID0gIjEsMiI7CgkJCQlWQUxJREFURV9QUk9EVUNUID0gWUVTOwoJCQl9OwoJCQluYW1lID0gIlJlbGVhc2UtcHJvZHVjdGlvbiI7CgkJfTsKCQk5N0MxNDcwNjFDRjkwMDBGMDA3QzExN0QgLyogRGVidWctcHJvZHVjdGlvbiAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gOTc0MEVFQjIxQ0Y5MDE5NTAwNDM4NEZDIC8qIERlYnVnLnhjY29uZmlnICovOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQVNTRVRDQVRBTE9HX0NPTVBJTEVSX0FQUElDT05fTkFNRSA9IEFwcEljb247CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gIiQoRkxVVFRFUl9CVUlMRF9OVU1CRVIpIjsKCQkJCUVOQUJMRV9CSVRDT0RFID0gTk87CgkJCQlGTEFWT1JfQVBQX05BTUUgPSAie3twcm9qZWN0X25hbWUudGl0bGVDYXNlKCl9fSI7CgkJCQlJTkZPUExJU1RfRklMRSA9IFJ1bm5lci9JbmZvLnBsaXN0OwoJCQkJTERfUlVOUEFUSF9TRUFSQ0hfUEFUSFMgPSAoCgkJCQkJIiQoaW5oZXJpdGVkKSIsCgkJCQkJIkBleGVjdXRhYmxlX3BhdGgvRnJhbWV3b3JrcyIsCgkJCQkpOwoJCQkJUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9IHt7aW9zX2FwcGxpY2F0aW9uX2lkfX07CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfT0JKQ19CUklER0lOR19IRUFERVIgPSAiUnVubmVyL1J1bm5lci1CcmlkZ2luZy1IZWFkZXIuaCI7CgkJCQlTV0lGVF9PUFRJTUlaQVRJT05fTEVWRUwgPSAiLU9ub25lIjsKCQkJCVNXSUZUX1ZFUlNJT04gPSA1LjA7CgkJCQlWRVJTSU9OSU5HX1NZU1RFTSA9ICJhcHBsZS1nZW5lcmljIjsKCQkJfTsKCQkJbmFtZSA9ICJEZWJ1Zy1wcm9kdWN0aW9uIjsKCQl9OwoJCTk3QzE0NzA3MUNGOTAwMEYwMDdDMTE3RCAvKiBSZWxlYXNlLXByb2R1Y3Rpb24gKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDdBRkEzQzhFMUQzNTM2MEMwMDgzMDgyRSAvKiBSZWxlYXNlLnhjY29uZmlnICovOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQVNTRVRDQVRBTE9HX0NPTVBJTEVSX0FQUElDT05fTkFNRSA9IEFwcEljb247CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gIiQoRkxVVFRFUl9CVUlMRF9OVU1CRVIpIjsKCQkJCUVOQUJMRV9CSVRDT0RFID0gTk87CgkJCQlGTEFWT1JfQVBQX05BTUUgPSAie3twcm9qZWN0X25hbWUudGl0bGVDYXNlKCl9fSI7CgkJCQlJTkZPUExJU1RfRklMRSA9IFJ1bm5lci9JbmZvLnBsaXN0OwoJCQkJTERfUlVOUEFUSF9TRUFSQ0hfUEFUSFMgPSAoCgkJCQkJIiQoaW5oZXJpdGVkKSIsCgkJCQkJIkBleGVjdXRhYmxlX3BhdGgvRnJhbWV3b3JrcyIsCgkJCQkpOwoJCQkJUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9IHt7aW9zX2FwcGxpY2F0aW9uX2lkfX07CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfT0JKQ19CUklER0lOR19IRUFERVIgPSAiUnVubmVyL1J1bm5lci1CcmlkZ2luZy1IZWFkZXIuaCI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVkVSU0lPTklOR19TWVNURU0gPSAiYXBwbGUtZ2VuZXJpYyI7CgkJCX07CgkJCW5hbWUgPSAiUmVsZWFzZS1wcm9kdWN0aW9uIjsKCQl9OwovKiBFbmQgWENCdWlsZENvbmZpZ3VyYXRpb24gc2VjdGlvbiAqLwoKLyogQmVnaW4gWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9uICovCgkJMzMxQzgwODcyOTRBNjNBNDAwMjYzQkU1IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJSdW5uZXJUZXN0cyIgKi8gPSB7CgkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CgkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCgkJCQkzMzFDODA4ODI5NEE2M0E0MDAyNjNCRTUgLyogRGVidWctcHJvZHVjdGlvbiAqLywKCQkJCTNDQzA0NzZGMkIwRjhFQkYwMDcxM0Q5MiAvKiBEZWJ1Zy1zdGFnaW5nICovLAoJCQkJM0NDMDQ3NjYyQjBGOEU5RjAwNzEzRDkyIC8qIERlYnVnLWRldmVsb3BtZW50ICovLAoJCQkJMzMxQzgwODkyOTRBNjNBNDAwMjYzQkU1IC8qIFJlbGVhc2UtcHJvZHVjdGlvbiAqLywKCQkJCTNDQzA0NzcyMkIwRjhFQ0EwMDcxM0Q5MiAvKiBSZWxlYXNlLXN0YWdpbmcgKi8sCgkJCQkzQ0MwNDc2OTJCMEY4RUFGMDA3MTNEOTIgLyogUmVsZWFzZS1kZXZlbG9wbWVudCAqLywKCQkJCTMzMUM4MDhBMjk0QTYzQTQwMDI2M0JFNSAvKiBQcm9maWxlLXByb2R1Y3Rpb24gKi8sCgkJCQkzQ0MwNDc3NTJCMEY4RUNGMDA3MTNEOTIgLyogUHJvZmlsZS1zdGFnaW5nICovLAoJCQkJM0NDMDQ3NkMyQjBGOEVCNDAwNzEzRDkyIC8qIFByb2ZpbGUtZGV2ZWxvcG1lbnQgKi8sCgkJCSk7CgkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gIlJlbGVhc2UtcHJvZHVjdGlvbiI7CgkJfTsKCQk5N0MxNDZFOTFDRjkwMDBGMDA3QzExN0QgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQcm9qZWN0ICJSdW5uZXIiICovID0gewoJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OwoJCQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAoJCQkJOTdDMTQ3MDMxQ0Y5MDAwRjAwN0MxMTdEIC8qIERlYnVnLXByb2R1Y3Rpb24gKi8sCgkJCQkzQ0MwNDc2RDJCMEY4RUJGMDA3MTNEOTIgLyogRGVidWctc3RhZ2luZyAqLywKCQkJCTNDQzA0NzY0MkIwRjhFOUYwMDcxM0Q5MiAvKiBEZWJ1Zy1kZXZlbG9wbWVudCAqLywKCQkJCTk3QzE0NzA0MUNGOTAwMEYwMDdDMTE3RCAvKiBSZWxlYXNlLXByb2R1Y3Rpb24gKi8sCgkJCQkzQ0MwNDc3MDJCMEY4RUNBMDA3MTNEOTIgLyogUmVsZWFzZS1zdGFnaW5nICovLAoJCQkJM0NDMDQ3NjcyQjBGOEVBRjAwNzEzRDkyIC8qIFJlbGVhc2UtZGV2ZWxvcG1lbnQgKi8sCgkJCQkyNDkwMjFEMzIxN0U0RkRCMDBBRTk1QjkgLyogUHJvZmlsZS1wcm9kdWN0aW9uICovLAoJCQkJM0NDMDQ3NzMyQjBGOEVDRjAwNzEzRDkyIC8qIFByb2ZpbGUtc3RhZ2luZyAqLywKCQkJCTNDQzA0NzZBMkIwRjhFQjQwMDcxM0Q5MiAvKiBQcm9maWxlLWRldmVsb3BtZW50ICovLAoJCQkpOwoJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CgkJCWRlZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9ICJSZWxlYXNlLXByb2R1Y3Rpb24iOwoJCX07CgkJOTdDMTQ3MDUxQ0Y5MDAwRjAwN0MxMTdEIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJSdW5uZXIiICovID0gewoJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OwoJCQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAoJCQkJOTdDMTQ3MDYxQ0Y5MDAwRjAwN0MxMTdEIC8qIERlYnVnLXByb2R1Y3Rpb24gKi8sCgkJCQkzQ0MwNDc2RTJCMEY4RUJGMDA3MTNEOTIgLyogRGVidWctc3RhZ2luZyAqLywKCQkJCTNDQzA0NzY1MkIwRjhFOUYwMDcxM0Q5MiAvKiBEZWJ1Zy1kZXZlbG9wbWVudCAqLywKCQkJCTk3QzE0NzA3MUNGOTAwMEYwMDdDMTE3RCAvKiBSZWxlYXNlLXByb2R1Y3Rpb24gKi8sCgkJCQkzQ0MwNDc3MTJCMEY4RUNBMDA3MTNEOTIgLyogUmVsZWFzZS1zdGFnaW5nICovLAoJCQkJM0NDMDQ3NjgyQjBGOEVBRjAwNzEzRDkyIC8qIFJlbGVhc2UtZGV2ZWxvcG1lbnQgKi8sCgkJCQkyNDkwMjFENDIxN0U0RkRCMDBBRTk1QjkgLyogUHJvZmlsZS1wcm9kdWN0aW9uICovLAoJCQkJM0NDMDQ3NzQyQjBGOEVDRjAwNzEzRDkyIC8qIFByb2ZpbGUtc3RhZ2luZyAqLywKCQkJCTNDQzA0NzZCMkIwRjhFQjQwMDcxM0Q5MiAvKiBQcm9maWxlLWRldmVsb3BtZW50ICovLAoJCQkpOwoJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CgkJCWRlZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9ICJSZWxlYXNlLXByb2R1Y3Rpb24iOwoJCX07Ci8qIEVuZCBYQ0NvbmZpZ3VyYXRpb25MaXN0IHNlY3Rpb24gKi8KCX07Cglyb290T2JqZWN0ID0gOTdDMTQ2RTYxQ0Y5MDAwRjAwN0MxMTdEIC8qIFByb2plY3Qgb2JqZWN0ICovOwp9Cg==", "type": "text", }, { @@ -990,7 +990,7 @@ final veryGoodFlameGameBundle = MasonBundle.fromJson({ { "path": "{{#ios}}ios{{/ios}}/Runner/AppDelegate.swift", "data": - "aW1wb3J0IFVJS2l0CmltcG9ydCBGbHV0dGVyCgpAVUlBcHBsaWNhdGlvbk1haW4KQG9iamMgY2xhc3MgQXBwRGVsZWdhdGU6IEZsdXR0ZXJBcHBEZWxlZ2F0ZSB7CiAgb3ZlcnJpZGUgZnVuYyBhcHBsaWNhdGlvbigKICAgIF8gYXBwbGljYXRpb246IFVJQXBwbGljYXRpb24sCiAgICBkaWRGaW5pc2hMYXVuY2hpbmdXaXRoT3B0aW9ucyBsYXVuY2hPcHRpb25zOiBbVUlBcHBsaWNhdGlvbi5MYXVuY2hPcHRpb25zS2V5OiBBbnldPwogICkgLT4gQm9vbCB7CiAgICBHZW5lcmF0ZWRQbHVnaW5SZWdpc3RyYW50LnJlZ2lzdGVyKHdpdGg6IHNlbGYpCiAgICByZXR1cm4gc3VwZXIuYXBwbGljYXRpb24oYXBwbGljYXRpb24sIGRpZEZpbmlzaExhdW5jaGluZ1dpdGhPcHRpb25zOiBsYXVuY2hPcHRpb25zKQogIH0KfQo=", + "aW1wb3J0IEZsdXR0ZXIKaW1wb3J0IFVJS2l0CgpAbWFpbgpAb2JqYyBjbGFzcyBBcHBEZWxlZ2F0ZTogRmx1dHRlckFwcERlbGVnYXRlLCBGbHV0dGVySW1wbGljaXRFbmdpbmVEZWxlZ2F0ZSB7CiAgb3ZlcnJpZGUgZnVuYyBhcHBsaWNhdGlvbigKICAgIF8gYXBwbGljYXRpb246IFVJQXBwbGljYXRpb24sCiAgICBkaWRGaW5pc2hMYXVuY2hpbmdXaXRoT3B0aW9ucyBsYXVuY2hPcHRpb25zOiBbVUlBcHBsaWNhdGlvbi5MYXVuY2hPcHRpb25zS2V5OiBBbnldPwogICkgLT4gQm9vbCB7CiAgICByZXR1cm4gc3VwZXIuYXBwbGljYXRpb24oYXBwbGljYXRpb24sIGRpZEZpbmlzaExhdW5jaGluZ1dpdGhPcHRpb25zOiBsYXVuY2hPcHRpb25zKQogIH0KCiAgZnVuYyBkaWRJbml0aWFsaXplSW1wbGljaXRGbHV0dGVyRW5naW5lKF8gZW5naW5lQnJpZGdlOiBGbHV0dGVySW1wbGljaXRFbmdpbmVCcmlkZ2UpIHsKICAgIEdlbmVyYXRlZFBsdWdpblJlZ2lzdHJhbnQucmVnaXN0ZXIod2l0aDogZW5naW5lQnJpZGdlLnBsdWdpblJlZ2lzdHJ5KQogIH0KfQo=", "type": "text", }, { @@ -1721,7 +1721,7 @@ final veryGoodFlameGameBundle = MasonBundle.fromJson({ { "path": "{{#ios}}ios{{/ios}}/Runner/Info.plist", "data": - "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CjxwbGlzdCB2ZXJzaW9uPSIxLjAiPgo8ZGljdD4KCTxrZXk+Q0ZCdW5kbGVMb2NhbGl6YXRpb25zPC9rZXk+Cgk8YXJyYXk+CgkJPHN0cmluZz5lbjwvc3RyaW5nPgoJCTxzdHJpbmc+ZXM8L3N0cmluZz4KCTwvYXJyYXk+Cgk8a2V5PlVJVmlld0NvbnRyb2xsZXJCYXNlZFN0YXR1c0JhckFwcGVhcmFuY2U8L2tleT4KCTxmYWxzZS8+Cgk8a2V5PkNGQnVuZGxlRGV2ZWxvcG1lbnRSZWdpb248L2tleT4KCTxzdHJpbmc+JChERVZFTE9QTUVOVF9MQU5HVUFHRSk8L3N0cmluZz4KCTxrZXk+Q0ZCdW5kbGVEaXNwbGF5TmFtZTwva2V5PgoJPHN0cmluZz4kKEZMQVZPUl9BUFBfTkFNRSk8L3N0cmluZz4KCTxrZXk+Q0ZCdW5kbGVFeGVjdXRhYmxlPC9rZXk+Cgk8c3RyaW5nPiQoRVhFQ1VUQUJMRV9OQU1FKTwvc3RyaW5nPgoJPGtleT5DRkJ1bmRsZUlkZW50aWZpZXI8L2tleT4KCTxzdHJpbmc+JChQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSKTwvc3RyaW5nPgoJPGtleT5DRkJ1bmRsZUluZm9EaWN0aW9uYXJ5VmVyc2lvbjwva2V5PgoJPHN0cmluZz42LjA8L3N0cmluZz4KCTxrZXk+Q0ZCdW5kbGVOYW1lPC9rZXk+Cgk8c3RyaW5nPnt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX08L3N0cmluZz4KCTxrZXk+Q0ZCdW5kbGVQYWNrYWdlVHlwZTwva2V5PgoJPHN0cmluZz5BUFBMPC9zdHJpbmc+Cgk8a2V5PkNGQnVuZGxlU2hvcnRWZXJzaW9uU3RyaW5nPC9rZXk+Cgk8c3RyaW5nPiQoRkxVVFRFUl9CVUlMRF9OQU1FKTwvc3RyaW5nPgoJPGtleT5DRkJ1bmRsZVNpZ25hdHVyZTwva2V5PgoJPHN0cmluZz4/Pz8/PC9zdHJpbmc+Cgk8a2V5PkNGQnVuZGxlVmVyc2lvbjwva2V5PgoJPHN0cmluZz4kKEZMVVRURVJfQlVJTERfTlVNQkVSKTwvc3RyaW5nPgoJPGtleT5MU1JlcXVpcmVzSVBob25lT1M8L2tleT4KCTx0cnVlLz4KCTxrZXk+VUlMYXVuY2hTdG9yeWJvYXJkTmFtZTwva2V5PgoJPHN0cmluZz5MYXVuY2hTY3JlZW48L3N0cmluZz4KCTxrZXk+VUlNYWluU3Rvcnlib2FyZEZpbGU8L2tleT4KCTxzdHJpbmc+TWFpbjwvc3RyaW5nPgoJPGtleT5VSVN1cHBvcnRlZEludGVyZmFjZU9yaWVudGF0aW9uczwva2V5PgoJPGFycmF5PgoJCTxzdHJpbmc+VUlJbnRlcmZhY2VPcmllbnRhdGlvblBvcnRyYWl0PC9zdHJpbmc+CgkJPHN0cmluZz5VSUludGVyZmFjZU9yaWVudGF0aW9uTGFuZHNjYXBlTGVmdDwvc3RyaW5nPgoJCTxzdHJpbmc+VUlJbnRlcmZhY2VPcmllbnRhdGlvbkxhbmRzY2FwZVJpZ2h0PC9zdHJpbmc+Cgk8L2FycmF5PgoJPGtleT5VSVN1cHBvcnRlZEludGVyZmFjZU9yaWVudGF0aW9uc35pcGFkPC9rZXk+Cgk8YXJyYXk+CgkJPHN0cmluZz5VSUludGVyZmFjZU9yaWVudGF0aW9uUG9ydHJhaXQ8L3N0cmluZz4KCQk8c3RyaW5nPlVJSW50ZXJmYWNlT3JpZW50YXRpb25Qb3J0cmFpdFVwc2lkZURvd248L3N0cmluZz4KCQk8c3RyaW5nPlVJSW50ZXJmYWNlT3JpZW50YXRpb25MYW5kc2NhcGVMZWZ0PC9zdHJpbmc+CgkJPHN0cmluZz5VSUludGVyZmFjZU9yaWVudGF0aW9uTGFuZHNjYXBlUmlnaHQ8L3N0cmluZz4KCTwvYXJyYXk+Cgk8a2V5PkNBRGlzYWJsZU1pbmltdW1GcmFtZUR1cmF0aW9uT25QaG9uZTwva2V5PgoJPHRydWUvPgoJPGtleT5VSUFwcGxpY2F0aW9uU3VwcG9ydHNJbmRpcmVjdElucHV0RXZlbnRzPC9rZXk+Cgk8dHJ1ZS8+CjwvZGljdD4KPC9wbGlzdD4K", + "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CjxwbGlzdCB2ZXJzaW9uPSIxLjAiPgo8ZGljdD4KCTxrZXk+Q0ZCdW5kbGVMb2NhbGl6YXRpb25zPC9rZXk+Cgk8YXJyYXk+CgkJPHN0cmluZz5lbjwvc3RyaW5nPgoJCTxzdHJpbmc+ZXM8L3N0cmluZz4KCTwvYXJyYXk+Cgk8a2V5PlVJVmlld0NvbnRyb2xsZXJCYXNlZFN0YXR1c0JhckFwcGVhcmFuY2U8L2tleT4KCTxmYWxzZS8+Cgk8a2V5PkNGQnVuZGxlRGV2ZWxvcG1lbnRSZWdpb248L2tleT4KCTxzdHJpbmc+JChERVZFTE9QTUVOVF9MQU5HVUFHRSk8L3N0cmluZz4KCTxrZXk+Q0ZCdW5kbGVEaXNwbGF5TmFtZTwva2V5PgoJPHN0cmluZz4kKEZMQVZPUl9BUFBfTkFNRSk8L3N0cmluZz4KCTxrZXk+Q0ZCdW5kbGVFeGVjdXRhYmxlPC9rZXk+Cgk8c3RyaW5nPiQoRVhFQ1VUQUJMRV9OQU1FKTwvc3RyaW5nPgoJPGtleT5DRkJ1bmRsZUlkZW50aWZpZXI8L2tleT4KCTxzdHJpbmc+JChQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSKTwvc3RyaW5nPgoJPGtleT5DRkJ1bmRsZUluZm9EaWN0aW9uYXJ5VmVyc2lvbjwva2V5PgoJPHN0cmluZz42LjA8L3N0cmluZz4KCTxrZXk+Q0ZCdW5kbGVOYW1lPC9rZXk+Cgk8c3RyaW5nPnt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX08L3N0cmluZz4KCTxrZXk+Q0ZCdW5kbGVQYWNrYWdlVHlwZTwva2V5PgoJPHN0cmluZz5BUFBMPC9zdHJpbmc+Cgk8a2V5PkNGQnVuZGxlU2hvcnRWZXJzaW9uU3RyaW5nPC9rZXk+Cgk8c3RyaW5nPiQoRkxVVFRFUl9CVUlMRF9OQU1FKTwvc3RyaW5nPgoJPGtleT5DRkJ1bmRsZVNpZ25hdHVyZTwva2V5PgoJPHN0cmluZz4/Pz8/PC9zdHJpbmc+Cgk8a2V5PkNGQnVuZGxlVmVyc2lvbjwva2V5PgoJPHN0cmluZz4kKEZMVVRURVJfQlVJTERfTlVNQkVSKTwvc3RyaW5nPgoJPGtleT5MU1JlcXVpcmVzSVBob25lT1M8L2tleT4KCTx0cnVlLz4KCTxrZXk+VUlMYXVuY2hTdG9yeWJvYXJkTmFtZTwva2V5PgoJPHN0cmluZz5MYXVuY2hTY3JlZW48L3N0cmluZz4KCTxrZXk+VUlNYWluU3Rvcnlib2FyZEZpbGU8L2tleT4KCTxzdHJpbmc+TWFpbjwvc3RyaW5nPgoJPGtleT5VSVN1cHBvcnRlZEludGVyZmFjZU9yaWVudGF0aW9uczwva2V5PgoJPGFycmF5PgoJCTxzdHJpbmc+VUlJbnRlcmZhY2VPcmllbnRhdGlvblBvcnRyYWl0PC9zdHJpbmc+CgkJPHN0cmluZz5VSUludGVyZmFjZU9yaWVudGF0aW9uTGFuZHNjYXBlTGVmdDwvc3RyaW5nPgoJCTxzdHJpbmc+VUlJbnRlcmZhY2VPcmllbnRhdGlvbkxhbmRzY2FwZVJpZ2h0PC9zdHJpbmc+Cgk8L2FycmF5PgoJPGtleT5VSVN1cHBvcnRlZEludGVyZmFjZU9yaWVudGF0aW9uc35pcGFkPC9rZXk+Cgk8YXJyYXk+CgkJPHN0cmluZz5VSUludGVyZmFjZU9yaWVudGF0aW9uUG9ydHJhaXQ8L3N0cmluZz4KCQk8c3RyaW5nPlVJSW50ZXJmYWNlT3JpZW50YXRpb25Qb3J0cmFpdFVwc2lkZURvd248L3N0cmluZz4KCQk8c3RyaW5nPlVJSW50ZXJmYWNlT3JpZW50YXRpb25MYW5kc2NhcGVMZWZ0PC9zdHJpbmc+CgkJPHN0cmluZz5VSUludGVyZmFjZU9yaWVudGF0aW9uTGFuZHNjYXBlUmlnaHQ8L3N0cmluZz4KCTwvYXJyYXk+Cgk8a2V5PkNBRGlzYWJsZU1pbmltdW1GcmFtZUR1cmF0aW9uT25QaG9uZTwva2V5PgoJPHRydWUvPgoJPGtleT5VSUFwcGxpY2F0aW9uU3VwcG9ydHNJbmRpcmVjdElucHV0RXZlbnRzPC9rZXk+Cgk8dHJ1ZS8+Cgk8a2V5PlVJQXBwbGljYXRpb25TY2VuZU1hbmlmZXN0PC9rZXk+Cgk8ZGljdD4KCQk8a2V5PlVJQXBwbGljYXRpb25TdXBwb3J0c011bHRpcGxlU2NlbmVzPC9rZXk+CgkJPGZhbHNlLz4KCQk8a2V5PlVJU2NlbmVDb25maWd1cmF0aW9uczwva2V5PgoJCTxkaWN0PgoJCQk8a2V5PlVJV2luZG93U2NlbmVTZXNzaW9uUm9sZUFwcGxpY2F0aW9uPC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+VUlTY2VuZUNsYXNzTmFtZTwva2V5PgoJCQkJCTxzdHJpbmc+VUlXaW5kb3dTY2VuZTwvc3RyaW5nPgoJCQkJCTxrZXk+VUlTY2VuZURlbGVnYXRlQ2xhc3NOYW1lPC9rZXk+CgkJCQkJPHN0cmluZz4kKFBST0RVQ1RfTU9EVUxFX05BTUUpLlNjZW5lRGVsZWdhdGU8L3N0cmluZz4KCQkJCQk8a2V5PlVJU2NlbmVDb25maWd1cmF0aW9uTmFtZTwva2V5PgoJCQkJCTxzdHJpbmc+Zmx1dHRlcjwvc3RyaW5nPgoJCQkJCTxrZXk+VUlTY2VuZVN0b3J5Ym9hcmRGaWxlPC9rZXk+CgkJCQkJPHN0cmluZz5NYWluPC9zdHJpbmc+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJPC9kaWN0Pgo8L2RpY3Q+CjwvcGxpc3Q+Cg==", "type": "text", }, { @@ -1729,6 +1729,12 @@ final veryGoodFlameGameBundle = MasonBundle.fromJson({ "data": "I2ltcG9ydCAiR2VuZXJhdGVkUGx1Z2luUmVnaXN0cmFudC5oIgo=", "type": "text", }, + { + "path": "{{#ios}}ios{{/ios}}/Runner/SceneDelegate.swift", + "data": + "aW1wb3J0IEZsdXR0ZXIKaW1wb3J0IFVJS2l0CgpjbGFzcyBTY2VuZURlbGVnYXRlOiBGbHV0dGVyU2NlbmVEZWxlZ2F0ZSB7CiAgLy8gRmx1dHRlclNjZW5lRGVsZWdhdGUgaGFuZGxlcyBhbGwgc2NlbmUgbGlmZWN5Y2xlIGV2ZW50cwp9Cg==", + "type": "text", + }, { "path": "{{#ios}}ios{{/ios}}/RunnerTests/RunnerTests.swift", "data": @@ -1830,7 +1836,7 @@ final veryGoodFlameGameBundle = MasonBundle.fromJson({ { "path": "{{#macos}}macos{{/macos}}/Runner/AppDelegate.swift", "data": - "aW1wb3J0IENvY29hCmltcG9ydCBGbHV0dGVyTWFjT1MKCkBOU0FwcGxpY2F0aW9uTWFpbgpjbGFzcyBBcHBEZWxlZ2F0ZTogRmx1dHRlckFwcERlbGVnYXRlIHsKICBvdmVycmlkZSBmdW5jIGFwcGxpY2F0aW9uU2hvdWxkVGVybWluYXRlQWZ0ZXJMYXN0V2luZG93Q2xvc2VkKF8gc2VuZGVyOiBOU0FwcGxpY2F0aW9uKSAtPiBCb29sIHsKICAgIHJldHVybiB0cnVlCiAgfQp9Cg==", + "aW1wb3J0IENvY29hCmltcG9ydCBGbHV0dGVyTWFjT1MKCkBtYWluCmNsYXNzIEFwcERlbGVnYXRlOiBGbHV0dGVyQXBwRGVsZWdhdGUgewogIG92ZXJyaWRlIGZ1bmMgYXBwbGljYXRpb25TaG91bGRUZXJtaW5hdGVBZnRlckxhc3RXaW5kb3dDbG9zZWQoXyBzZW5kZXI6IE5TQXBwbGljYXRpb24pIC0+IEJvb2wgewogICAgcmV0dXJuIHRydWUKICB9CgogIG92ZXJyaWRlIGZ1bmMgYXBwbGljYXRpb25TdXBwb3J0c1NlY3VyZVJlc3RvcmFibGVTdGF0ZShfIGFwcDogTlNBcHBsaWNhdGlvbikgLT4gQm9vbCB7CiAgICByZXR1cm4gdHJ1ZQogIH0KfQo=", "type": "text", }, { @@ -2275,7 +2281,7 @@ final veryGoodFlameGameBundle = MasonBundle.fromJson({ { "path": "pubspec.yaml", "data": - "bmFtZTogdmVyeV9nb29kX2ZsYW1lX2dhbWVfaG9va3MKCmVudmlyb25tZW50OgogIHNkazogXjMuOS4wCgpkZXBlbmRlbmNpZXM6CiAgY2xvY2s6IF4xLjEuMQogIGVxdWF0YWJsZTogXjIuMC41CiAgbWFzb246IF4wLjEuMAogIG1ldGE6IF4xLjE2LjAKICB2ZXJ5X2dvb2RfY29yZV9ob29rczoKICAgIGdpdDoKICAgICAgcGF0aDogdmVyeV9nb29kX2NvcmUvaG9va3MKICAgICAgcmVmOiAwMjFiMjgyOGRjNzg2ODQ0NzRhYTI1YTZlNjE0Yjc1NzY4M2RhZDY4CiAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzCgpkZXZfZGVwZW5kZW5jaWVzOgogIG1vY2t0YWlsOiBeMS4wLjMKICB0ZXN0OiBeMS4yNS4yCiAgdmVyeV9nb29kX2FuYWx5c2lzOiBeMTAuMC4wCg==", + "bmFtZTogdmVyeV9nb29kX2ZsYW1lX2dhbWVfaG9va3MKCmVudmlyb25tZW50OgogIHNkazogXjMuMTAuMAoKZGVwZW5kZW5jaWVzOgogIGNsb2NrOiBeMS4xLjEKICBlcXVhdGFibGU6IF4yLjAuNQogIG1hc29uOiBeMC4xLjAKICBtZXRhOiBeMS4xNi4wCiAgdmVyeV9nb29kX2NvcmVfaG9va3M6CiAgICBnaXQ6CiAgICAgIHBhdGg6IHZlcnlfZ29vZF9jb3JlL2hvb2tzCiAgICAgIHJlZjogNWQ3ZjM4NDhiNDMyMjk2ZjAyYWEzNzI4ODgzYWRmMmU3NTYxNWIzYQogICAgICB1cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcwoKZGV2X2RlcGVuZGVuY2llczoKICBtb2NrdGFpbDogXjEuMC4zCiAgdGVzdDogIj49MS4yNS4yIDwxLjI3LjAiCiAgdmVyeV9nb29kX2FuYWx5c2lzOiBeMTAuMC4wCg==", "type": "text", }, { @@ -2306,7 +2312,7 @@ final veryGoodFlameGameBundle = MasonBundle.fromJson({ "changelog": { "path": "CHANGELOG.md", "data": - "IyMgWzEuMS4wXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tcGFyZS92ZXJ5X2dvb2RfZmxhbWVfZ2FtZS12MS4wLjAuLi52ZXJ5X2dvb2RfZmxhbWVfZ2FtZS12MS4xLjApICgyMDI1LTA5LTIyKQoKCiMjIyBGZWF0dXJlcwoKKiB1cGdyYWRlIHRvIGZsdXR0ZXIgMy4zNS4wIChbIzM0Ml0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2lzc3Vlcy8zNDIpKSAoWzY4MTgwNDFdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9jb21taXQvNjgxODA0MTk4YzAzYTZhYjI1NTgwMmNlZGMxNTI0MjgzMjkyOGU1NCkpCiogdXBncmFkZSB0byB2ZXJ5X2dvb2RfYW5hbHlzaXMgMTAuMC4wIChbIzM0Nl0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2lzc3Vlcy8zNDYpKSAoWzVhN2QwZGNdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9jb21taXQvNWE3ZDBkYzczMjNhNzc1ODMxNThhY2ZiYmU5MzNhNjAzMDJlZDUzMikpCiogdXBncmFkZWQgcGx1Z2luIHZlcnNpb24gYW5kIHJlbW92ZWQgamRrNyBkZXBlbmRlbmN5IG9uIGJ1aWxkLmt0cyAoWyMzMzldKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9pc3N1ZXMvMzM5KSkgKFs4ZTYwOTcxXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tbWl0LzhlNjA5NzE1MjE3NDM2OGU4OTIzMDI0ZWYxYjJiZjM1ZjRhNjc1YWMpKQoqICoqdmVyeV9nb29kX2ZsYW1lX2dhbWU6KiogYWRkIHBsYXRmb3JtIG9wdGlvbnMgKFsjMzQwXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvaXNzdWVzLzM0MCkpIChbZjNhNjc5Ml0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2NvbW1pdC9mM2E2NzkyYWY3MGM2MDA2YmZiZjRiMzBkOTJlMGQ5MWI2MjQ2MjA1KSkKKiAqKnZlcnlfZ29vZF9mbGFtZToqKiB1cGRhdGUgYXNzZXRzLmdlbi5kYXJ0IChbIzM0OV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2lzc3Vlcy8zNDkpKSAoWzJmOWRhOGNdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9jb21taXQvMmY5ZGE4YzNiYmI0MjM4NzZmZjEyNWEwNjc3NTU5MzJhNzRhMmIzOCkpCgoKIyMjIEJ1ZyBGaXhlcwoKKiAqKnZlcnlfZ29vZF9mbGFtZV9nYW1lOioqIENoYW5nZSBzbyAidGFwIGNvdW50IiBtZXNzYWdlIGlzIHJlc3BvbnNpdmUgdG8gd2luZG93IHNpemUgKFsjMzM4XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvaXNzdWVzLzMzOCkpIChbM2I4YzExZV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2NvbW1pdC8zYjhjMTFlNWM3NzEyNDY0NWM3NDJiMTQ3NWViZjlhOTIwOTY4MGViKSkKKiAqKnZlcnlfZ29vZF9mbGFtZV9nYW1lOioqIGRlcHJlY2F0ZWQgYW5kcm9pZCBncmFkbGUgcGx1Z2luIHZlcnNpb24gKFsjMzE1XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvaXNzdWVzLzMxNSkpIChbZmI0Mzg1ZF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2NvbW1pdC9mYjQzODVkZDVhY2IzYzdlYWFlM2IxYTFiZGMwYTRmYWM1ZTkxNDQ5KSkKKiAqKnZlcnlfZ29vZF9mbGFtZV9nYW1lOioqIEltcHJvdmUgdGV4dCByZWFkYWJpbGl0eSBieSBjaGFuZ2luZyBjb2xvcuKApiAoWyMzMzVdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9pc3N1ZXMvMzM1KSkgKFswYTQyZWUyXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tbWl0LzBhNDJlZTI5MjIzOGJkYTdjODZiOTIyMGE2NDBiMzExNTQwNzBkY2QpKQoqICoqdmVyeV9nb29kX2ZsYW1lX2dhbWU6KiogdHJpbSBhdWRpbyB0byBub3QgcmVwZWF0IHNvdW5kIGVmZmVjdCAoWyMzMzZdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9pc3N1ZXMvMzM2KSkgKFs5YjQyM2FjXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tbWl0LzliNDIzYWM3YWI3MDdhODNmYWM0YTQ1NmVhNzk4ZDUyNTUxM2ZhYzIpKQoKCiMjIyBNaXNjZWxsYW5lb3VzIENob3JlcwoKKiBhdXRvbWF0ZSByZWxlYXNlcyAoWyMzMTldKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9pc3N1ZXMvMzE5KSkgKFsxN2ZiM2E1XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tbWl0LzE3ZmIzYTVjNzQyYTQyZTdmZmY3MGIyNjlkZWVhOTYxZTRhMTViNGYpKQoqIHRpZ2h0ZW4gdGVtcGxhdGUgZGVwZW5kZW5jaWVzIChbIzMxOF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2lzc3Vlcy8zMTgpKSAoWzcwYTFmMGNdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9jb21taXQvNzBhMWYwY2VkMmVjNjYzYmNhY2U4NjE2NmNhMzFkZTYxNmI4ZGU1OSkpCiogdGlnaHRlbiB0ZW1wbGF0ZSBkZXBlbmRlbmNpZXMgKFsjMzQ4XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvaXNzdWVzLzM0OCkpIChbNDE2N2EyNV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2NvbW1pdC80MTY3YTI1NWMzYjEyNjQxOGZlZmJhZGJlYjY5NjhjN2JkODYxZWQ4KSkKKiB0aWdodGVuIHRlbXBsYXRlIGRlcGVuZGVuY2llcyAoWyMzNTFdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9pc3N1ZXMvMzUxKSkgKFs2OGI2NjUxXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tbWl0LzY4YjY2NTEzOWE3ODkzYTVlYzc2MGYyMDc0OTI4Zjk5MGVlNDUwNDUpKQoqIHRpZ2h0ZW4gdGVtcGxhdGUgZGVwZW5kZW5jaWVzIChbIzM1M10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2lzc3Vlcy8zNTMpKSAoW2E3ZjI0YTddKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9jb21taXQvYTdmMjRhN2I5NTJhYjJmNTliNmZiNjkwMjNmMzE5Y2Q3YTRmMGEzZikpCiogKip2ZXJ5X2dvb2RfZmxhbWVfZ2FtZToqKiBtaWdyYXRlcyBHcm9vdnkgc2NyaXB0cyB0byBLb3RsaW4gRFNMIChbIzMxNF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2lzc3Vlcy8zMTQpKSAoW2UzODRiZWRdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9jb21taXQvZTM4NGJlZGFkOWM0ZjMyY2I5N2VkMTM5NWNlYjAyYWQ4NTIwMGRlOSkpCgojIyBbMS4xLjJdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9jb21wYXJlL3ZlcnlfZ29vZF9mbGFtZV9nYW1lLXYxLjEuMS4uLnZlcnlfZ29vZF9mbGFtZV9nYW1lLXYxLjEuMikgKDIwMjUtMDktMzApCgoKIyMjIE1pc2NlbGxhbmVvdXMgQ2hvcmVzCgoqIHRpZ2h0ZW4gdGVtcGxhdGUgZGVwZW5kZW5jaWVzIChbIzM2M10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2lzc3Vlcy8zNjMpKSAoWzAxMzA3YTddKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9jb21taXQvMDEzMDdhN2JkOTU1ZmE5ZDY3M2NiNTM0NzQ2Y2IyNjU2ODU1MzBjMSkpCgojIyBbMS4xLjFdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9jb21wYXJlL3ZlcnlfZ29vZF9mbGFtZV9nYW1lLXYxLjEuMC4uLnZlcnlfZ29vZF9mbGFtZV9nYW1lLXYxLjEuMSkgKDIwMjUtMDktMjUpCgoKIyMjIEJ1ZyBGaXhlcwoKKiAqKnZlcnlfZ29vZF9mbGFtZV9nYW1lOioqIHNlbGVjdGVkIHBsYXRmb3JtcyBjYW4gYmUgbnVsbGFibGUgKFsjMzYwXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvaXNzdWVzLzM2MCkpIChbNWNkNWU4Ml0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2NvbW1pdC81Y2Q1ZTgyYzE2Zjg0MzEzNDhlNDM1NDk4MDllNTRmODM2NzkyZmRjKSkKCiMjIDEuMC4wCgpyZWZhY3Rvcih2ZXJ5X2dvb2RfZmxhbWVfZ2FtZSkhOiByZW1vdmUgcm9vdC1sZXZlbCBwcm9qZWN0X25hbWUgZm9sZGVyIGZyb20gYnJpY2sgc3RydWN0dXJlLgoKIyMjIE1pZ3JhdGlvbiBkZXRhaWxzCgpUaGUgYHZlcnlfZ29vZF9mbGFtZV9nYW1lYCBicmljayBubyBsb25nZXIgaW5jbHVkZXMgYSB0b3AtbGV2ZWwgcHJvamVjdCBuYW1lIGZvbGRlci4KVGhpcyBhbGxvd3MgZ2VuZXJhdGluZyB0aGUgcHJvamVjdCBkaXJlY3RseSBpbnRvIHRoZSBjdXJyZW50IG9yIGEgY3VzdG9tIGRpcmVjdG9yeS4KCklmIHlvdSBwcmVmZXIgdG8ga2VlcCB0aGUgb3V0cHV0IGluc2lkZSBpdHMgb3duIGZvbGRlciAoYXMgYmVmb3JlKSwgdXNlIHRoZSAtbyBmbGFnOgoKYGBgZGFydAovLyBCZWZvcmU6Cm1hc29uIG1ha2UgdmVyeV9nb29kX2ZsYW1lX2dhbWUKCi8vIEFmdGVyOgptYXNvbiBtYWtlIHZlcnlfZ29vZF9mbGFtZV9nYW1lIC1vIC4vb3V0cHV0X2ZvbGRlcgpgYGAKCiMjIDAuMTEuMAoKLSBjaG9yZTogdGlnaHRlbiB0ZW1wbGF0ZSBkZXBlbmRlbmNpZXMgWyMyMzddKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzIzNykKLSBjaG9yZTogdGlnaHRlbiB0ZW1wbGF0ZSBkZXBlbmRlbmNpZXMgWyMyNDBdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzI0MCkKLSBmaXg6IGV2YWx1YXRlIGJyaWNrIG91dHB1dCBjb3JyZWN0bHkgb24gY2kgWyMyNDhdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzI0OCkKLSBjaG9yZTogdXBkYXRlIHRvIEZsdXR0ZXIgMy4yOSBhbmQgRGFydCAzLjcgWyMyNTBdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzI1MCkKLSBjaG9yZTogdXBkYXRlIGZsdXR0ZXIgMy4zMi4wIGFuZCBkYXJ0IDMuOC4wIFsjMjUzXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8yNTMpCi0gY2hvcmUodmVyeV9nb29kX2ZsYW1lX2dhbWUpOiB1cGRhdGUgdG8gbW9ja2luZ2pheSAyLjAuMCBbIzI2MF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjYwKQotIGNob3JlOiB0aWdodGVuIHRlbXBsYXRlIGRlcGVuZGVuY2llcyBbIzI0M10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjQzKQotIGNob3JlOiBidW1wIHZlcnlfZ29vZF9hbmFseXNpcyB0byA5LjAuMCBbIzI2MV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjYxKQoKIyMgMC4xMC4wCgotIGNob3JlOiB0aWdodGVuIHRlbXBsYXRlIGRlcGVuZGVuY2llcyAoWyMyMTFdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzIxMSksIFsjMjEzXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8yMTMpLCBbIzIyMF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjIwKSkKLSBmZWF0OiB1cGRhdGUgcHVsbCByZXF1ZXN0IHRlbXBsYXRlcyB0byBhZGQgYHRlc3RgIHR5cGUgb3B0aW9uIChbIzIxNF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjE0KSkKLSBjaG9yZTogdXBkYXRlIHRvIEZsdXR0ZXIgMy4yNyBhbmQgRGFydCAzLjYgKFsjMjIzXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8yMjMpKQoKIyMgMC45LjAKCi0gZml4OiBzZXQgY3VycmVudCB5ZWFyIGNvcHlyaWdodCAoWyMxOTJdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzE5MikpCi0gY2hvcmU6IHRpZ2h0ZW4gdGVtcGxhdGUgZGVwZW5kZW5jaWVzIChbIzIwNF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjA0KSkKLSBmaXg6IHVwZGF0ZSBhbmRyb2lkIGJ1aWxkIHZlcnNpb25zIChbIzIwNV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjA1KSkKCiMjIDAuOC4xCgotIGNob3JlOiB0aWdodGVuIHRlbXBsYXRlIGRlcGVuZGVuY2llcyAoWyMxOTBdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzE5MCkpCi0gZml4OiBhZGQgY2xvc2luZyB9IGluIGJ1aWxkLmdyYWRsZSAoWyMxODldKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzE4OSkpCgojIyAwLjguMAoKLSBmZWF0OiB1cGRhdGUgdG8gRmx1dHRlciAzLjI0IGFuZCBEYXJ0IDMuNSAoWyMxNzddKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzE3NykpCgojIyAwLjcuMwoKLSBjaG9yZTogdXNlIGdpdCBkZXBlbmRlbmN5IG92ZXIgcGF0aCBkZXBlbmRlbmN5IChbIzE3MV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMTcxKSkKCiMjIDAuNy4yCgotIGZlYXQ6IHVwZGF0ZSB1c2FnZSBvZiBhcHBsaWNhdGlvbl9pZCB2YXIgKFsjMTU3XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8xNTcpKQoKIyMgMC43LjEKCi0gc3R5bGU6IEFkZGluZyBleHRyYSBzcGFjZSB0byB0aGUgYXBwbGljYXRpb24gb3BlbmluZyB0YWcgKFsjMTI2XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8xMjYpKQotIGNob3JlOiB1cGRhdGUgSmF2YSB2ZXJzaW9uIGZvciBWZXJ5IEdvb2QgRmxhbWUgR2FtZSAoWyMxMjldKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzEyOSkpCi0gY2hvcmU6IHVwZGF0ZSB0byBWZXJ5IEdvb2QgQW5hbHlzaXMgNi4wLjAgKFsjMTM1XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8xMzUpKQotIGNob3JlOiB0aWdodGVuIHRlbXBsYXRlIGRlcGVuZGVuY2llcyAoWyMxMzddKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzEzNykpCgojIyAwLjcuMAoKLSBmZWF0ITogZW5zdXJlIHRlbXBsYXRlIHVzZXMgRmx1dHRlciAzLjIyIHdpdGggRGFydCAzLjQgKFsjMTAyXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8xMDIpKQotIGZpeDogdXBkYXRlIGluZGV4Lmh0bWwgdG8gc3VwcG9ydCBsYXRlc3QgY29udmVudGlvbiAoWyMxMDddKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzEwNykpCgojIyAwLjYuMQoKLSBmaXg6IGRlcHJlY2F0ZWQgaW1wZXJhdGl2ZSBhcHBseSBvZiBGbHV0dGVyJ3MgR3JhZGxlIHBsdWdpbnMgKFsjNzhdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzc4KSkKCiMjIDAuNi4wCgotIGRvY3M6IGZpeGVkIGNvcHkgZm9ybWF0IGFuZCBjb21tYW5kIChbIzE0Nl0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfZmxhbWVfZ2FtZS9wdWxsLzE0NikpCi0gZml4OiByZXNvbHZlIGltYWdlIGNhY2hpbmcgaXNzdWUgb24gZmxhbWVfZ2FtZSB0ZW1wbGF0ZSAoWyMxNDNdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX2ZsYW1lX2dhbWUvcHVsbC8xNDMpKQotIGNob3JlOiBtaWdyYXRlIHZlcnlfZ29vZF9mbGFtZV9nYW1lIHRvIHZlcnlfZ29vZF90ZW1wbGF0ZXMgKFsjN10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvNykpCi0gZmVhdCE6IHVwZGF0ZSB0byBGbHV0dGVyIDMuMTkuMCAoWyMyMF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjApKQotIGNob3JlOiB1cGRhdGUgYnJpY2tzIHRvIE1hc29uIDAuMS4wLWRldi41MiAoWyMyOF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2NvbW1pdC85ZGNhNDcyZmI4Yzk3YTJmZDA4ZGJlZWExMGVhZjkzZDMyMGFjNTUwKSkKCiMjIDAuNS4xCgotIGZpeDogcmVtb3ZlIGVwaGVtZXJhbCBhbmQgaWdub3JlZCBmaWxlcyBmcm9tIHRlbXBsYXRlIChbIzE0MV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfZmxhbWVfZ2FtZS9pc3N1ZXMvMTQxKSkKCiMjIDAuNS4wCgotIGJ1aWxkKGRlcHMpOiBidW1wIGdvb2dsZV9mb250cyBpbiAvc3JjL3ZlcnlfZ29vZF9mbGFtZV9nYW1lIChbIzExOF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfZmxhbWVfZ2FtZS9wdWxsLzExOCkpCi0gYnVpbGQoZGVwcyk6IGJ1bXAgYWN0aW9ucy9jaGVja291dCBmcm9tIDQuMC4wIHRvIDQuMS4wIChbIzEyMV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfZmxhbWVfZ2FtZS9wdWxsLzEyMSkpCi0gYnVpbGQoZGVwcyk6IGJ1bXAgYWN0aW9ucy9jaGVja291dCBmcm9tIDQuMS4wIHRvIDQuMS4xIChbIzEyM10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfZmxhbWVfZ2FtZS9wdWxsLzEyMykpCi0gZmVhdDogYWRkIG1hY09TIHBsYXRmb3JtIHN1cHBvcnQgKFsjMTI1XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF9mbGFtZV9nYW1lL3B1bGwvMTI1KSkKLSBmaXg6IHJlcGxhY2UgYFZlcnlHb29kRmxhbWVHYW1lYCB3aXRoIHRlbXBsYXRlIChbIzEzMF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfZmxhbWVfZ2FtZS9wdWxsLzEzMCkpCi0gZmVhdDogdXBkYXRlIHRvIGZsYW1lIDEuMTAgKFsjMTI5XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF9mbGFtZV9nYW1lL3B1bGwvMTI5KSkKLSBidWlsZChkZXBzKTogYnVtcCBtb2NraW5namF5IGZyb20gMC40LjAgdG8gMC41LjAgaW4gL3NyYy92ZXJ5X2dvb2RfZmxhbWVfZ2FtZSAoWyMxMzNdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX2ZsYW1lX2dhbWUvcHVsbC8xMzMpKQotIGZpeDogcmVnZW5lcmF0ZSBpb3MgcGxhdGZvcm0gZGlyIChbIzEzNF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfZmxhbWVfZ2FtZS9wdWxsLzEzNCkpCgojIyAwLjQuMAoKLSBmZWF0ITogdXBkYXRlIHRvIEZsYW1lIDEuOC4yCi0gZmVhdCE6IGJ1bXAgbWluIERhcnQgU0RLIHRvIDMuMS4wCi0gZmVhdCE6IHVwZGF0ZSB0byBGbHV0dGVyIDMuMTMuMgotIGZpeDogYWRkZWQgUnVubmVyVGVzdHMgaU9TIFNjaGVtYQotIGZpeDogdmVyeV9nb29kIGNyZWF0ZSBmbHV0dGVyX2FwcCBkb2Vzbid0IGNyZWF0ZSAuZ3JhZGxldyBmaWxlcwotIGZlYXQ6IHVwZ3JhZGUgdG8gYHZlcnlfZ29vZF9hbmFseXNpcyBeNS4xLjBgCi0gZml4OiB0ZXh0IHN0eWxlIHRlc3RzIGZvciBgQ291bnRlckNvbXBvbmVudGAKCiMjIDAuMy4wCgotIGZlYXQhOiB1cGRhdGUgdG8gRGFydCAzLjAuMAoKIyMgMC4yLjAKCi0gZmVhdCE6IGJ1bXAgbWluIERhcnQgU0RLIHRvIDIuMTkuMAoKIyMgMC4xLjMKCi0gY2hvcmU6IHN1cHBvcnQgZGFydCBzZGsgMi4xOC4wCgojIyAwLjEuMgoKLSBmZWF0OiB1cGRhdGUgd29ya2Zsb3dzLCBhZGQgc3BlbGxjaGVjawotIGJ1aWxkKGRlcHMpOiB1cGRhdGUgZ29vZ2xlX2ZvbnRzCgojIyAwLjEuMQoKLSBmZWF0OiB1cGRhdGUgYHZlcnlfZ29vZF9hbmFseXNpcyB0byBeNC4wLjBgCgojIyAwLjEuMAoKLSBmZWF0OiB1cGdyYWRlIGJsb2MKICAtIGJsb2MgXjguMS4xCiAgLSBmbHV0dGVyX2Jsb2MgXjguMS4yCiAgLSBibG9jX3Rlc3QgXjkuMS4xCi0gZmVhdDogdXBncmFkZSB0byBGbHV0dGVyIDMuNy4xCgojIyAwLjAuNQoKLSBmaXg6IGdvb2dsZSBmb250cyB0ZXN0IGlzc3VlCgojIyAwLjAuNAoKLSBmZWF0OiB1cGdyYWRlIHRvIEZsdXR0ZXIgMy43LjAgYW5kIEZsYW1lIDEuNi4wCgojIyAwLjAuMwoKLSBkb2NzOiByZW1vdmUgY29weXJpZ2h0IGhlYWRlciBhbmQgbGljZW5zZSBmcm9tIGdlbmVyYXRlZCBjb2RlCgojIyAwLjAuMgoKLSBmaXg6IGFkZCBzdXBwb3J0IGZvciBHbG9iYWxDdXBlcnRpbm9Mb2NhbGl6YXRpb25zCgojIyAwLjAuMQoKLSBmZWF0OiBpbml0aWFsIHJlbGVhc2Ug8J+OiQo=", + "IyBDaGFuZ2Vsb2cKCiMjIFsxLjEuMl0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2NvbXBhcmUvdmVyeV9nb29kX2ZsYW1lX2dhbWUtdjEuMS4xLi4udmVyeV9nb29kX2ZsYW1lX2dhbWUtdjEuMS4yKSAoMjAyNS0wOS0zMCkKCgojIyMgTWlzY2VsbGFuZW91cyBDaG9yZXMKCiogdGlnaHRlbiB0ZW1wbGF0ZSBkZXBlbmRlbmNpZXMgKFsjMzYzXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvaXNzdWVzLzM2MykpIChbMDEzMDdhN10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2NvbW1pdC8wMTMwN2E3YmQ5NTVmYTlkNjczY2I1MzQ3NDZjYjI2NTY4NTUzMGMxKSkKCiMjIFsxLjEuMV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2NvbXBhcmUvdmVyeV9nb29kX2ZsYW1lX2dhbWUtdjEuMS4wLi4udmVyeV9nb29kX2ZsYW1lX2dhbWUtdjEuMS4xKSAoMjAyNS0wOS0yNSkKCgojIyMgQnVnIEZpeGVzCgoqICoqdmVyeV9nb29kX2ZsYW1lX2dhbWU6Kiogc2VsZWN0ZWQgcGxhdGZvcm1zIGNhbiBiZSBudWxsYWJsZSAoWyMzNjBdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9pc3N1ZXMvMzYwKSkgKFs1Y2Q1ZTgyXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tbWl0LzVjZDVlODJjMTZmODQzMTM0OGU0MzU0OTgwOWU1NGY4MzY3OTJmZGMpKQoKIyMgWzEuMS4wXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tcGFyZS92ZXJ5X2dvb2RfZmxhbWVfZ2FtZS12MS4wLjAuLi52ZXJ5X2dvb2RfZmxhbWVfZ2FtZS12MS4xLjApICgyMDI1LTA5LTIyKQoKCiMjIyBGZWF0dXJlcwoKKiB1cGdyYWRlIHRvIGZsdXR0ZXIgMy4zNS4wIChbIzM0Ml0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2lzc3Vlcy8zNDIpKSAoWzY4MTgwNDFdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9jb21taXQvNjgxODA0MTk4YzAzYTZhYjI1NTgwMmNlZGMxNTI0MjgzMjkyOGU1NCkpCiogdXBncmFkZSB0byB2ZXJ5X2dvb2RfYW5hbHlzaXMgMTAuMC4wIChbIzM0Nl0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2lzc3Vlcy8zNDYpKSAoWzVhN2QwZGNdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9jb21taXQvNWE3ZDBkYzczMjNhNzc1ODMxNThhY2ZiYmU5MzNhNjAzMDJlZDUzMikpCiogdXBncmFkZWQgcGx1Z2luIHZlcnNpb24gYW5kIHJlbW92ZWQgamRrNyBkZXBlbmRlbmN5IG9uIGJ1aWxkLmt0cyAoWyMzMzldKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9pc3N1ZXMvMzM5KSkgKFs4ZTYwOTcxXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tbWl0LzhlNjA5NzE1MjE3NDM2OGU4OTIzMDI0ZWYxYjJiZjM1ZjRhNjc1YWMpKQoqICoqdmVyeV9nb29kX2ZsYW1lX2dhbWU6KiogYWRkIHBsYXRmb3JtIG9wdGlvbnMgKFsjMzQwXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvaXNzdWVzLzM0MCkpIChbZjNhNjc5Ml0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2NvbW1pdC9mM2E2NzkyYWY3MGM2MDA2YmZiZjRiMzBkOTJlMGQ5MWI2MjQ2MjA1KSkKKiAqKnZlcnlfZ29vZF9mbGFtZToqKiB1cGRhdGUgYXNzZXRzLmdlbi5kYXJ0IChbIzM0OV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2lzc3Vlcy8zNDkpKSAoWzJmOWRhOGNdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9jb21taXQvMmY5ZGE4YzNiYmI0MjM4NzZmZjEyNWEwNjc3NTU5MzJhNzRhMmIzOCkpCgoKIyMjIEJ1ZyBGaXhlcwoKKiAqKnZlcnlfZ29vZF9mbGFtZV9nYW1lOioqIENoYW5nZSBzbyAidGFwIGNvdW50IiBtZXNzYWdlIGlzIHJlc3BvbnNpdmUgdG8gd2luZG93IHNpemUgKFsjMzM4XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvaXNzdWVzLzMzOCkpIChbM2I4YzExZV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2NvbW1pdC8zYjhjMTFlNWM3NzEyNDY0NWM3NDJiMTQ3NWViZjlhOTIwOTY4MGViKSkKKiAqKnZlcnlfZ29vZF9mbGFtZV9nYW1lOioqIGRlcHJlY2F0ZWQgYW5kcm9pZCBncmFkbGUgcGx1Z2luIHZlcnNpb24gKFsjMzE1XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvaXNzdWVzLzMxNSkpIChbZmI0Mzg1ZF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2NvbW1pdC9mYjQzODVkZDVhY2IzYzdlYWFlM2IxYTFiZGMwYTRmYWM1ZTkxNDQ5KSkKKiAqKnZlcnlfZ29vZF9mbGFtZV9nYW1lOioqIEltcHJvdmUgdGV4dCByZWFkYWJpbGl0eSBieSBjaGFuZ2luZyBjb2xvcuKApiAoWyMzMzVdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9pc3N1ZXMvMzM1KSkgKFswYTQyZWUyXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tbWl0LzBhNDJlZTI5MjIzOGJkYTdjODZiOTIyMGE2NDBiMzExNTQwNzBkY2QpKQoqICoqdmVyeV9nb29kX2ZsYW1lX2dhbWU6KiogdHJpbSBhdWRpbyB0byBub3QgcmVwZWF0IHNvdW5kIGVmZmVjdCAoWyMzMzZdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9pc3N1ZXMvMzM2KSkgKFs5YjQyM2FjXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tbWl0LzliNDIzYWM3YWI3MDdhODNmYWM0YTQ1NmVhNzk4ZDUyNTUxM2ZhYzIpKQoKCiMjIyBNaXNjZWxsYW5lb3VzIENob3JlcwoKKiBhdXRvbWF0ZSByZWxlYXNlcyAoWyMzMTldKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9pc3N1ZXMvMzE5KSkgKFsxN2ZiM2E1XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tbWl0LzE3ZmIzYTVjNzQyYTQyZTdmZmY3MGIyNjlkZWVhOTYxZTRhMTViNGYpKQoqIHRpZ2h0ZW4gdGVtcGxhdGUgZGVwZW5kZW5jaWVzIChbIzMxOF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2lzc3Vlcy8zMTgpKSAoWzcwYTFmMGNdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9jb21taXQvNzBhMWYwY2VkMmVjNjYzYmNhY2U4NjE2NmNhMzFkZTYxNmI4ZGU1OSkpCiogdGlnaHRlbiB0ZW1wbGF0ZSBkZXBlbmRlbmNpZXMgKFsjMzQ4XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvaXNzdWVzLzM0OCkpIChbNDE2N2EyNV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2NvbW1pdC80MTY3YTI1NWMzYjEyNjQxOGZlZmJhZGJlYjY5NjhjN2JkODYxZWQ4KSkKKiB0aWdodGVuIHRlbXBsYXRlIGRlcGVuZGVuY2llcyAoWyMzNTFdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9pc3N1ZXMvMzUxKSkgKFs2OGI2NjUxXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tbWl0LzY4YjY2NTEzOWE3ODkzYTVlYzc2MGYyMDc0OTI4Zjk5MGVlNDUwNDUpKQoqIHRpZ2h0ZW4gdGVtcGxhdGUgZGVwZW5kZW5jaWVzIChbIzM1M10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2lzc3Vlcy8zNTMpKSAoW2E3ZjI0YTddKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9jb21taXQvYTdmMjRhN2I5NTJhYjJmNTliNmZiNjkwMjNmMzE5Y2Q3YTRmMGEzZikpCiogKip2ZXJ5X2dvb2RfZmxhbWVfZ2FtZToqKiBtaWdyYXRlcyBHcm9vdnkgc2NyaXB0cyB0byBLb3RsaW4gRFNMIChbIzMxNF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2lzc3Vlcy8zMTQpKSAoW2UzODRiZWRdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9jb21taXQvZTM4NGJlZGFkOWM0ZjMyY2I5N2VkMTM5NWNlYjAyYWQ4NTIwMGRlOSkpCgojIyAxLjAuMAoKcmVmYWN0b3IodmVyeV9nb29kX2ZsYW1lX2dhbWUpITogcmVtb3ZlIHJvb3QtbGV2ZWwgcHJvamVjdF9uYW1lIGZvbGRlciBmcm9tIGJyaWNrIHN0cnVjdHVyZS4KCiMjIyBNaWdyYXRpb24gZGV0YWlscwoKVGhlIGB2ZXJ5X2dvb2RfZmxhbWVfZ2FtZWAgYnJpY2sgbm8gbG9uZ2VyIGluY2x1ZGVzIGEgdG9wLWxldmVsIHByb2plY3QgbmFtZSBmb2xkZXIuClRoaXMgYWxsb3dzIGdlbmVyYXRpbmcgdGhlIHByb2plY3QgZGlyZWN0bHkgaW50byB0aGUgY3VycmVudCBvciBhIGN1c3RvbSBkaXJlY3RvcnkuCgpJZiB5b3UgcHJlZmVyIHRvIGtlZXAgdGhlIG91dHB1dCBpbnNpZGUgaXRzIG93biBmb2xkZXIgKGFzIGJlZm9yZSksIHVzZSB0aGUgLW8gZmxhZzoKCmBgYGRhcnQKLy8gQmVmb3JlOgptYXNvbiBtYWtlIHZlcnlfZ29vZF9mbGFtZV9nYW1lCgovLyBBZnRlcjoKbWFzb24gbWFrZSB2ZXJ5X2dvb2RfZmxhbWVfZ2FtZSAtbyAuL291dHB1dF9mb2xkZXIKYGBgCgojIyAwLjExLjAKCi0gY2hvcmU6IHRpZ2h0ZW4gdGVtcGxhdGUgZGVwZW5kZW5jaWVzIFsjMjM3XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8yMzcpCi0gY2hvcmU6IHRpZ2h0ZW4gdGVtcGxhdGUgZGVwZW5kZW5jaWVzIFsjMjQwXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8yNDApCi0gZml4OiBldmFsdWF0ZSBicmljayBvdXRwdXQgY29ycmVjdGx5IG9uIGNpIFsjMjQ4XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8yNDgpCi0gY2hvcmU6IHVwZGF0ZSB0byBGbHV0dGVyIDMuMjkgYW5kIERhcnQgMy43IFsjMjUwXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8yNTApCi0gY2hvcmU6IHVwZGF0ZSBmbHV0dGVyIDMuMzIuMCBhbmQgZGFydCAzLjguMCBbIzI1M10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjUzKQotIGNob3JlKHZlcnlfZ29vZF9mbGFtZV9nYW1lKTogdXBkYXRlIHRvIG1vY2tpbmdqYXkgMi4wLjAgWyMyNjBdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzI2MCkKLSBjaG9yZTogdGlnaHRlbiB0ZW1wbGF0ZSBkZXBlbmRlbmNpZXMgWyMyNDNdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzI0MykKLSBjaG9yZTogYnVtcCB2ZXJ5X2dvb2RfYW5hbHlzaXMgdG8gOS4wLjAgWyMyNjFdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzI2MSkKCiMjIDAuMTAuMAoKLSBjaG9yZTogdGlnaHRlbiB0ZW1wbGF0ZSBkZXBlbmRlbmNpZXMgKFsjMjExXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8yMTEpLCBbIzIxM10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjEzKSwgWyMyMjBdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzIyMCkpCi0gZmVhdDogdXBkYXRlIHB1bGwgcmVxdWVzdCB0ZW1wbGF0ZXMgdG8gYWRkIGB0ZXN0YCB0eXBlIG9wdGlvbiAoWyMyMTRdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzIxNCkpCi0gY2hvcmU6IHVwZGF0ZSB0byBGbHV0dGVyIDMuMjcgYW5kIERhcnQgMy42IChbIzIyM10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjIzKSkKCiMjIDAuOS4wCgotIGZpeDogc2V0IGN1cnJlbnQgeWVhciBjb3B5cmlnaHQgKFsjMTkyXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8xOTIpKQotIGNob3JlOiB0aWdodGVuIHRlbXBsYXRlIGRlcGVuZGVuY2llcyAoWyMyMDRdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzIwNCkpCi0gZml4OiB1cGRhdGUgYW5kcm9pZCBidWlsZCB2ZXJzaW9ucyAoWyMyMDVdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzIwNSkpCgojIyAwLjguMQoKLSBjaG9yZTogdGlnaHRlbiB0ZW1wbGF0ZSBkZXBlbmRlbmNpZXMgKFsjMTkwXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8xOTApKQotIGZpeDogYWRkIGNsb3NpbmcgfSBpbiBidWlsZC5ncmFkbGUgKFsjMTg5XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8xODkpKQoKIyMgMC44LjAKCi0gZmVhdDogdXBkYXRlIHRvIEZsdXR0ZXIgMy4yNCBhbmQgRGFydCAzLjUgKFsjMTc3XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8xNzcpKQoKIyMgMC43LjMKCi0gY2hvcmU6IHVzZSBnaXQgZGVwZW5kZW5jeSBvdmVyIHBhdGggZGVwZW5kZW5jeSAoWyMxNzFdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzE3MSkpCgojIyAwLjcuMgoKLSBmZWF0OiB1cGRhdGUgdXNhZ2Ugb2YgYXBwbGljYXRpb25faWQgdmFyIChbIzE1N10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMTU3KSkKCiMjIDAuNy4xCgotIHN0eWxlOiBBZGRpbmcgZXh0cmEgc3BhY2UgdG8gdGhlIGFwcGxpY2F0aW9uIG9wZW5pbmcgdGFnIChbIzEyNl0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMTI2KSkKLSBjaG9yZTogdXBkYXRlIEphdmEgdmVyc2lvbiBmb3IgVmVyeSBHb29kIEZsYW1lIEdhbWUgKFsjMTI5XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8xMjkpKQotIGNob3JlOiB1cGRhdGUgdG8gVmVyeSBHb29kIEFuYWx5c2lzIDYuMC4wIChbIzEzNV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMTM1KSkKLSBjaG9yZTogdGlnaHRlbiB0ZW1wbGF0ZSBkZXBlbmRlbmNpZXMgKFsjMTM3XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8xMzcpKQoKIyMgMC43LjAKCi0gZmVhdCE6IGVuc3VyZSB0ZW1wbGF0ZSB1c2VzIEZsdXR0ZXIgMy4yMiB3aXRoIERhcnQgMy40IChbIzEwMl0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMTAyKSkKLSBmaXg6IHVwZGF0ZSBpbmRleC5odG1sIHRvIHN1cHBvcnQgbGF0ZXN0IGNvbnZlbnRpb24gKFsjMTA3XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8xMDcpKQoKIyMgMC42LjEKCi0gZml4OiBkZXByZWNhdGVkIGltcGVyYXRpdmUgYXBwbHkgb2YgRmx1dHRlcidzIEdyYWRsZSBwbHVnaW5zIChbIzc4XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC83OCkpCgojIyAwLjYuMAoKLSBkb2NzOiBmaXhlZCBjb3B5IGZvcm1hdCBhbmQgY29tbWFuZCAoWyMxNDZdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX2ZsYW1lX2dhbWUvcHVsbC8xNDYpKQotIGZpeDogcmVzb2x2ZSBpbWFnZSBjYWNoaW5nIGlzc3VlIG9uIGZsYW1lX2dhbWUgdGVtcGxhdGUgKFsjMTQzXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF9mbGFtZV9nYW1lL3B1bGwvMTQzKSkKLSBjaG9yZTogbWlncmF0ZSB2ZXJ5X2dvb2RfZmxhbWVfZ2FtZSB0byB2ZXJ5X2dvb2RfdGVtcGxhdGVzIChbIzddKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzcpKQotIGZlYXQhOiB1cGRhdGUgdG8gRmx1dHRlciAzLjE5LjAgKFsjMjBdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzIwKSkKLSBjaG9yZTogdXBkYXRlIGJyaWNrcyB0byBNYXNvbiAwLjEuMC1kZXYuNTIgKFsjMjhdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9jb21taXQvOWRjYTQ3MmZiOGM5N2EyZmQwOGRiZWVhMTBlYWY5M2QzMjBhYzU1MCkpCgojIyAwLjUuMQoKLSBmaXg6IHJlbW92ZSBlcGhlbWVyYWwgYW5kIGlnbm9yZWQgZmlsZXMgZnJvbSB0ZW1wbGF0ZSAoWyMxNDFdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX2ZsYW1lX2dhbWUvaXNzdWVzLzE0MSkpCgojIyAwLjUuMAoKLSBidWlsZChkZXBzKTogYnVtcCBnb29nbGVfZm9udHMgaW4gL3NyYy92ZXJ5X2dvb2RfZmxhbWVfZ2FtZSAoWyMxMThdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX2ZsYW1lX2dhbWUvcHVsbC8xMTgpKQotIGJ1aWxkKGRlcHMpOiBidW1wIGFjdGlvbnMvY2hlY2tvdXQgZnJvbSA0LjAuMCB0byA0LjEuMCAoWyMxMjFdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX2ZsYW1lX2dhbWUvcHVsbC8xMjEpKQotIGJ1aWxkKGRlcHMpOiBidW1wIGFjdGlvbnMvY2hlY2tvdXQgZnJvbSA0LjEuMCB0byA0LjEuMSAoWyMxMjNdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX2ZsYW1lX2dhbWUvcHVsbC8xMjMpKQotIGZlYXQ6IGFkZCBtYWNPUyBwbGF0Zm9ybSBzdXBwb3J0IChbIzEyNV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfZmxhbWVfZ2FtZS9wdWxsLzEyNSkpCi0gZml4OiByZXBsYWNlIGBWZXJ5R29vZEZsYW1lR2FtZWAgd2l0aCB0ZW1wbGF0ZSAoWyMxMzBdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX2ZsYW1lX2dhbWUvcHVsbC8xMzApKQotIGZlYXQ6IHVwZGF0ZSB0byBmbGFtZSAxLjEwIChbIzEyOV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfZmxhbWVfZ2FtZS9wdWxsLzEyOSkpCi0gYnVpbGQoZGVwcyk6IGJ1bXAgbW9ja2luZ2pheSBmcm9tIDAuNC4wIHRvIDAuNS4wIGluIC9zcmMvdmVyeV9nb29kX2ZsYW1lX2dhbWUgKFsjMTMzXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF9mbGFtZV9nYW1lL3B1bGwvMTMzKSkKLSBmaXg6IHJlZ2VuZXJhdGUgaW9zIHBsYXRmb3JtIGRpciAoWyMxMzRdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX2ZsYW1lX2dhbWUvcHVsbC8xMzQpKQoKIyMgMC40LjAKCi0gZmVhdCE6IHVwZGF0ZSB0byBGbGFtZSAxLjguMgotIGZlYXQhOiBidW1wIG1pbiBEYXJ0IFNESyB0byAzLjEuMAotIGZlYXQhOiB1cGRhdGUgdG8gRmx1dHRlciAzLjEzLjIKLSBmaXg6IGFkZGVkIFJ1bm5lclRlc3RzIGlPUyBTY2hlbWEKLSBmaXg6IHZlcnlfZ29vZCBjcmVhdGUgZmx1dHRlcl9hcHAgZG9lc24ndCBjcmVhdGUgLmdyYWRsZXcgZmlsZXMKLSBmZWF0OiB1cGdyYWRlIHRvIGB2ZXJ5X2dvb2RfYW5hbHlzaXMgXjUuMS4wYAotIGZpeDogdGV4dCBzdHlsZSB0ZXN0cyBmb3IgYENvdW50ZXJDb21wb25lbnRgCgojIyAwLjMuMAoKLSBmZWF0ITogdXBkYXRlIHRvIERhcnQgMy4wLjAKCiMjIDAuMi4wCgotIGZlYXQhOiBidW1wIG1pbiBEYXJ0IFNESyB0byAyLjE5LjAKCiMjIDAuMS4zCgotIGNob3JlOiBzdXBwb3J0IGRhcnQgc2RrIDIuMTguMAoKIyMgMC4xLjIKCi0gZmVhdDogdXBkYXRlIHdvcmtmbG93cywgYWRkIHNwZWxsY2hlY2sKLSBidWlsZChkZXBzKTogdXBkYXRlIGdvb2dsZV9mb250cwoKIyMgMC4xLjEKCi0gZmVhdDogdXBkYXRlIGB2ZXJ5X2dvb2RfYW5hbHlzaXMgdG8gXjQuMC4wYAoKIyMgMC4xLjAKCi0gZmVhdDogdXBncmFkZSBibG9jCiAgLSBibG9jIF44LjEuMQogIC0gZmx1dHRlcl9ibG9jIF44LjEuMgogIC0gYmxvY190ZXN0IF45LjEuMQotIGZlYXQ6IHVwZ3JhZGUgdG8gRmx1dHRlciAzLjcuMQoKIyMgMC4wLjUKCi0gZml4OiBnb29nbGUgZm9udHMgdGVzdCBpc3N1ZQoKIyMgMC4wLjQKCi0gZmVhdDogdXBncmFkZSB0byBGbHV0dGVyIDMuNy4wIGFuZCBGbGFtZSAxLjYuMAoKIyMgMC4wLjMKCi0gZG9jczogcmVtb3ZlIGNvcHlyaWdodCBoZWFkZXIgYW5kIGxpY2Vuc2UgZnJvbSBnZW5lcmF0ZWQgY29kZQoKIyMgMC4wLjIKCi0gZml4OiBhZGQgc3VwcG9ydCBmb3IgR2xvYmFsQ3VwZXJ0aW5vTG9jYWxpemF0aW9ucwoKIyMgMC4wLjEKCi0gZmVhdDogaW5pdGlhbCByZWxlYXNlIPCfjokK", "type": "text", }, "license": { diff --git a/lib/src/commands/create/templates/very_good_flutter_plugin/very_good_flutter_plugin_bundle.dart b/lib/src/commands/create/templates/very_good_flutter_plugin/very_good_flutter_plugin_bundle.dart index 34cc99100..b7fcb8c82 100644 --- a/lib/src/commands/create/templates/very_good_flutter_plugin/very_good_flutter_plugin_bundle.dart +++ b/lib/src/commands/create/templates/very_good_flutter_plugin/very_good_flutter_plugin_bundle.dart @@ -847,7 +847,7 @@ final veryGoodFlutterPluginBundle = MasonBundle.fromJson({ "path": "{{project_name.snakeCase()}}/example/{{#ios}}ios{{/ios}}/Flutter/AppFrameworkInfo.plist", "data": - "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CjxwbGlzdCB2ZXJzaW9uPSIxLjAiPgo8ZGljdD4KICA8a2V5PkNGQnVuZGxlRGV2ZWxvcG1lbnRSZWdpb248L2tleT4KICA8c3RyaW5nPmVuPC9zdHJpbmc+CiAgPGtleT5DRkJ1bmRsZUV4ZWN1dGFibGU8L2tleT4KICA8c3RyaW5nPkFwcDwvc3RyaW5nPgogIDxrZXk+Q0ZCdW5kbGVJZGVudGlmaWVyPC9rZXk+CiAgPHN0cmluZz5pby5mbHV0dGVyLmZsdXR0ZXIuYXBwPC9zdHJpbmc+CiAgPGtleT5DRkJ1bmRsZUluZm9EaWN0aW9uYXJ5VmVyc2lvbjwva2V5PgogIDxzdHJpbmc+Ni4wPC9zdHJpbmc+CiAgPGtleT5DRkJ1bmRsZU5hbWU8L2tleT4KICA8c3RyaW5nPkFwcDwvc3RyaW5nPgogIDxrZXk+Q0ZCdW5kbGVQYWNrYWdlVHlwZTwva2V5PgogIDxzdHJpbmc+Rk1XSzwvc3RyaW5nPgogIDxrZXk+Q0ZCdW5kbGVTaG9ydFZlcnNpb25TdHJpbmc8L2tleT4KICA8c3RyaW5nPjEuMDwvc3RyaW5nPgogIDxrZXk+Q0ZCdW5kbGVTaWduYXR1cmU8L2tleT4KICA8c3RyaW5nPj8/Pz88L3N0cmluZz4KICA8a2V5PkNGQnVuZGxlVmVyc2lvbjwva2V5PgogIDxzdHJpbmc+MS4wPC9zdHJpbmc+CiAgPGtleT5NaW5pbXVtT1NWZXJzaW9uPC9rZXk+CiAgPHN0cmluZz4xMS4wPC9zdHJpbmc+CjwvZGljdD4KPC9wbGlzdD4K", + "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CjxwbGlzdCB2ZXJzaW9uPSIxLjAiPgo8ZGljdD4KICA8a2V5PkNGQnVuZGxlRGV2ZWxvcG1lbnRSZWdpb248L2tleT4KICA8c3RyaW5nPmVuPC9zdHJpbmc+CiAgPGtleT5DRkJ1bmRsZUV4ZWN1dGFibGU8L2tleT4KICA8c3RyaW5nPkFwcDwvc3RyaW5nPgogIDxrZXk+Q0ZCdW5kbGVJZGVudGlmaWVyPC9rZXk+CiAgPHN0cmluZz5pby5mbHV0dGVyLmZsdXR0ZXIuYXBwPC9zdHJpbmc+CiAgPGtleT5DRkJ1bmRsZUluZm9EaWN0aW9uYXJ5VmVyc2lvbjwva2V5PgogIDxzdHJpbmc+Ni4wPC9zdHJpbmc+CiAgPGtleT5DRkJ1bmRsZU5hbWU8L2tleT4KICA8c3RyaW5nPkFwcDwvc3RyaW5nPgogIDxrZXk+Q0ZCdW5kbGVQYWNrYWdlVHlwZTwva2V5PgogIDxzdHJpbmc+Rk1XSzwvc3RyaW5nPgogIDxrZXk+Q0ZCdW5kbGVTaG9ydFZlcnNpb25TdHJpbmc8L2tleT4KICA8c3RyaW5nPjEuMDwvc3RyaW5nPgogIDxrZXk+Q0ZCdW5kbGVTaWduYXR1cmU8L2tleT4KICA8c3RyaW5nPj8/Pz88L3N0cmluZz4KICA8a2V5PkNGQnVuZGxlVmVyc2lvbjwva2V5PgogIDxzdHJpbmc+MS4wPC9zdHJpbmc+CiAgPGtleT5NaW5pbXVtT1NWZXJzaW9uPC9rZXk+CiAgPHN0cmluZz4xMy4wPC9zdHJpbmc+CjwvZGljdD4KPC9wbGlzdD4K", "type": "text", }, { @@ -868,14 +868,14 @@ final veryGoodFlutterPluginBundle = MasonBundle.fromJson({ "path": "{{project_name.snakeCase()}}/example/{{#ios}}ios{{/ios}}/Podfile", "data": - "IyBVbmNvbW1lbnQgdGhpcyBsaW5lIHRvIGRlZmluZSBhIGdsb2JhbCBwbGF0Zm9ybSBmb3IgeW91ciBwcm9qZWN0CiMgcGxhdGZvcm0gOmlvcywgJzExLjAnCgojIENvY29hUG9kcyBhbmFseXRpY3Mgc2VuZHMgbmV0d29yayBzdGF0cyBzeW5jaHJvbm91c2x5IGFmZmVjdGluZyBmbHV0dGVyIGJ1aWxkIGxhdGVuY3kuCkVOVlsnQ09DT0FQT0RTX0RJU0FCTEVfU1RBVFMnXSA9ICd0cnVlJwoKcHJvamVjdCAnUnVubmVyJywgewogICdEZWJ1ZycgPT4gOmRlYnVnLAogICdQcm9maWxlJyA9PiA6cmVsZWFzZSwKICAnUmVsZWFzZScgPT4gOnJlbGVhc2UsCn0KCmRlZiBmbHV0dGVyX3Jvb3QKICBnZW5lcmF0ZWRfeGNvZGVfYnVpbGRfc2V0dGluZ3NfcGF0aCA9IEZpbGUuZXhwYW5kX3BhdGgoRmlsZS5qb2luKCcuLicsICdGbHV0dGVyJywgJ0dlbmVyYXRlZC54Y2NvbmZpZycpLCBfX0ZJTEVfXykKICB1bmxlc3MgRmlsZS5leGlzdD8oZ2VuZXJhdGVkX3hjb2RlX2J1aWxkX3NldHRpbmdzX3BhdGgpCiAgICByYWlzZSAiI3tnZW5lcmF0ZWRfeGNvZGVfYnVpbGRfc2V0dGluZ3NfcGF0aH0gbXVzdCBleGlzdC4gSWYgeW91J3JlIHJ1bm5pbmcgcG9kIGluc3RhbGwgbWFudWFsbHksIG1ha2Ugc3VyZSBmbHV0dGVyIHB1YiBnZXQgaXMgZXhlY3V0ZWQgZmlyc3QiCiAgZW5kCgogIEZpbGUuZm9yZWFjaChnZW5lcmF0ZWRfeGNvZGVfYnVpbGRfc2V0dGluZ3NfcGF0aCkgZG8gfGxpbmV8CiAgICBtYXRjaGVzID0gbGluZS5tYXRjaCgvRkxVVFRFUl9ST09UXD0oLiopLykKICAgIHJldHVybiBtYXRjaGVzWzFdLnN0cmlwIGlmIG1hdGNoZXMKICBlbmQKICByYWlzZSAiRkxVVFRFUl9ST09UIG5vdCBmb3VuZCBpbiAje2dlbmVyYXRlZF94Y29kZV9idWlsZF9zZXR0aW5nc19wYXRofS4gVHJ5IGRlbGV0aW5nIEdlbmVyYXRlZC54Y2NvbmZpZywgdGhlbiBydW4gZmx1dHRlciBwdWIgZ2V0IgplbmQKCnJlcXVpcmUgRmlsZS5leHBhbmRfcGF0aChGaWxlLmpvaW4oJ3BhY2thZ2VzJywgJ2ZsdXR0ZXJfdG9vbHMnLCAnYmluJywgJ3BvZGhlbHBlcicpLCBmbHV0dGVyX3Jvb3QpCgpmbHV0dGVyX2lvc19wb2RmaWxlX3NldHVwCgp0YXJnZXQgJ1J1bm5lcicgZG8KICB1c2VfZnJhbWV3b3JrcyEKICB1c2VfbW9kdWxhcl9oZWFkZXJzIQoKICBmbHV0dGVyX2luc3RhbGxfYWxsX2lvc19wb2RzIEZpbGUuZGlybmFtZShGaWxlLnJlYWxwYXRoKF9fRklMRV9fKSkKZW5kCgpwb3N0X2luc3RhbGwgZG8gfGluc3RhbGxlcnwKICBpbnN0YWxsZXIucG9kc19wcm9qZWN0LnRhcmdldHMuZWFjaCBkbyB8dGFyZ2V0fAogICAgZmx1dHRlcl9hZGRpdGlvbmFsX2lvc19idWlsZF9zZXR0aW5ncyh0YXJnZXQpCiAgZW5kCmVuZAo=", + "IyBVbmNvbW1lbnQgdGhpcyBsaW5lIHRvIGRlZmluZSBhIGdsb2JhbCBwbGF0Zm9ybSBmb3IgeW91ciBwcm9qZWN0CiMgcGxhdGZvcm0gOmlvcywgJzEzLjAnCgojIENvY29hUG9kcyBhbmFseXRpY3Mgc2VuZHMgbmV0d29yayBzdGF0cyBzeW5jaHJvbm91c2x5IGFmZmVjdGluZyBmbHV0dGVyIGJ1aWxkIGxhdGVuY3kuCkVOVlsnQ09DT0FQT0RTX0RJU0FCTEVfU1RBVFMnXSA9ICd0cnVlJwoKcHJvamVjdCAnUnVubmVyJywgewogICdEZWJ1ZycgPT4gOmRlYnVnLAogICdQcm9maWxlJyA9PiA6cmVsZWFzZSwKICAnUmVsZWFzZScgPT4gOnJlbGVhc2UsCn0KCmRlZiBmbHV0dGVyX3Jvb3QKICBnZW5lcmF0ZWRfeGNvZGVfYnVpbGRfc2V0dGluZ3NfcGF0aCA9IEZpbGUuZXhwYW5kX3BhdGgoRmlsZS5qb2luKCcuLicsICdGbHV0dGVyJywgJ0dlbmVyYXRlZC54Y2NvbmZpZycpLCBfX0ZJTEVfXykKICB1bmxlc3MgRmlsZS5leGlzdD8oZ2VuZXJhdGVkX3hjb2RlX2J1aWxkX3NldHRpbmdzX3BhdGgpCiAgICByYWlzZSAiI3tnZW5lcmF0ZWRfeGNvZGVfYnVpbGRfc2V0dGluZ3NfcGF0aH0gbXVzdCBleGlzdC4gSWYgeW91J3JlIHJ1bm5pbmcgcG9kIGluc3RhbGwgbWFudWFsbHksIG1ha2Ugc3VyZSBmbHV0dGVyIHB1YiBnZXQgaXMgZXhlY3V0ZWQgZmlyc3QiCiAgZW5kCgogIEZpbGUuZm9yZWFjaChnZW5lcmF0ZWRfeGNvZGVfYnVpbGRfc2V0dGluZ3NfcGF0aCkgZG8gfGxpbmV8CiAgICBtYXRjaGVzID0gbGluZS5tYXRjaCgvRkxVVFRFUl9ST09UXD0oLiopLykKICAgIHJldHVybiBtYXRjaGVzWzFdLnN0cmlwIGlmIG1hdGNoZXMKICBlbmQKICByYWlzZSAiRkxVVFRFUl9ST09UIG5vdCBmb3VuZCBpbiAje2dlbmVyYXRlZF94Y29kZV9idWlsZF9zZXR0aW5nc19wYXRofS4gVHJ5IGRlbGV0aW5nIEdlbmVyYXRlZC54Y2NvbmZpZywgdGhlbiBydW4gZmx1dHRlciBwdWIgZ2V0IgplbmQKCnJlcXVpcmUgRmlsZS5leHBhbmRfcGF0aChGaWxlLmpvaW4oJ3BhY2thZ2VzJywgJ2ZsdXR0ZXJfdG9vbHMnLCAnYmluJywgJ3BvZGhlbHBlcicpLCBmbHV0dGVyX3Jvb3QpCgpmbHV0dGVyX2lvc19wb2RmaWxlX3NldHVwCgp0YXJnZXQgJ1J1bm5lcicgZG8KICB1c2VfZnJhbWV3b3JrcyEKICB1c2VfbW9kdWxhcl9oZWFkZXJzIQoKICBmbHV0dGVyX2luc3RhbGxfYWxsX2lvc19wb2RzIEZpbGUuZGlybmFtZShGaWxlLnJlYWxwYXRoKF9fRklMRV9fKSkKZW5kCgpwb3N0X2luc3RhbGwgZG8gfGluc3RhbGxlcnwKICBpbnN0YWxsZXIucG9kc19wcm9qZWN0LnRhcmdldHMuZWFjaCBkbyB8dGFyZ2V0fAogICAgZmx1dHRlcl9hZGRpdGlvbmFsX2lvc19idWlsZF9zZXR0aW5ncyh0YXJnZXQpCiAgZW5kCmVuZAo=", "type": "text", }, { "path": "{{project_name.snakeCase()}}/example/{{#ios}}ios{{/ios}}/Runner.xcodeproj/project.pbxproj", "data": - "Ly8gISQqVVRGOCokIQp7CglhcmNoaXZlVmVyc2lvbiA9IDE7CgljbGFzc2VzID0gewoJfTsKCW9iamVjdFZlcnNpb24gPSA1NDsKCW9iamVjdHMgPSB7CgovKiBCZWdpbiBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwoJCTE0OThEMjM0MUU4RTg5MjIwMDQwRjRDMiAvKiBHZW5lcmF0ZWRQbHVnaW5SZWdpc3RyYW50Lm0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDk4RDIzMzFFOEU4OTIyMDA0MEY0QzIgLyogR2VuZXJhdGVkUGx1Z2luUmVnaXN0cmFudC5tICovOyB9OwoJCTNCMzk2NzE2MUU4MzNDQUEwMDRGNTk3MCAvKiBBcHBGcmFtZXdvcmtJbmZvLnBsaXN0IGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzQjM5NjcxNTFFODMzQ0FBMDA0RjU5NzAgLyogQXBwRnJhbWV3b3JrSW5mby5wbGlzdCAqLzsgfTsKCQk2NTc4RUVBMkM4M0I2Mzg4Qjg4Njk2OEMgLyogUG9kc19SdW5uZXIuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUQ2OTg2MTU3NzM5RDk2ODdBQjZBRkQ2IC8qIFBvZHNfUnVubmVyLmZyYW1ld29yayAqLzsgfTsKCQk3NDg1OEZBRjFFRDJEQzU2MDA1MTU4MTAgLyogQXBwRGVsZWdhdGUuc3dpZnQgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NDg1OEZBRTFFRDJEQzU2MDA1MTU4MTAgLyogQXBwRGVsZWdhdGUuc3dpZnQgKi87IH07CgkJOTdDMTQ2RkMxQ0Y5MDAwRjAwN0MxMTdEIC8qIE1haW4uc3Rvcnlib2FyZCBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdDMTQ2RkExQ0Y5MDAwRjAwN0MxMTdEIC8qIE1haW4uc3Rvcnlib2FyZCAqLzsgfTsKCQk5N0MxNDZGRTFDRjkwMDBGMDA3QzExN0QgLyogQXNzZXRzLnhjYXNzZXRzIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5N0MxNDZGRDFDRjkwMDBGMDA3QzExN0QgLyogQXNzZXRzLnhjYXNzZXRzICovOyB9OwoJCTk3QzE0NzAxMUNGOTAwMEYwMDdDMTE3RCAvKiBMYXVuY2hTY3JlZW4uc3Rvcnlib2FyZCBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdDMTQ2RkYxQ0Y5MDAwRjAwN0MxMTdEIC8qIExhdW5jaFNjcmVlbi5zdG9yeWJvYXJkICovOyB9OwovKiBFbmQgUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8KCi8qIEJlZ2luIFBCWENvcHlGaWxlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwoJCTk3MDVBMUM0MUNGOTA0ODUwMDUzODQ4OSAvKiBFbWJlZCBGcmFtZXdvcmtzICovID0gewoJCQlpc2EgPSBQQlhDb3B5RmlsZXNCdWlsZFBoYXNlOwoJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwoJCQlkc3RQYXRoID0gIiI7CgkJCWRzdFN1YmZvbGRlclNwZWMgPSAxMDsKCQkJZmlsZXMgPSAoCgkJCSk7CgkJCW5hbWUgPSAiRW1iZWQgRnJhbWV3b3JrcyI7CgkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwoJCX07Ci8qIEVuZCBQQlhDb3B5RmlsZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KCi8qIEJlZ2luIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwoJCTE0OThEMjMyMUU4RTg2MjMwMDQwRjRDMiAvKiBHZW5lcmF0ZWRQbHVnaW5SZWdpc3RyYW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdlbmVyYXRlZFBsdWdpblJlZ2lzdHJhbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQkxNDk4RDIzMzFFOEU4OTIyMDA0MEY0QzIgLyogR2VuZXJhdGVkUGx1Z2luUmVnaXN0cmFudC5tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLm9iamM7IHBhdGggPSBHZW5lcmF0ZWRQbHVnaW5SZWdpc3RyYW50Lm07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJMUQ2OTg2MTU3NzM5RDk2ODdBQjZBRkQ2IC8qIFBvZHNfUnVubmVyLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IFBvZHNfUnVubmVyLmZyYW1ld29yazsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKCQkzQjM5NjcxNTFFODMzQ0FBMDA0RjU5NzAgLyogQXBwRnJhbWV3b3JrSW5mby5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQucGxpc3QueG1sOyBuYW1lID0gQXBwRnJhbWV3b3JrSW5mby5wbGlzdDsgcGF0aCA9IEZsdXR0ZXIvQXBwRnJhbWV3b3JrSW5mby5wbGlzdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQk3NDg1OEZBRDFFRDJEQzU2MDA1MTU4MTAgLyogUnVubmVyLUJyaWRnaW5nLUhlYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSAiUnVubmVyLUJyaWRnaW5nLUhlYWRlci5oIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQk3NDg1OEZBRTFFRDJEQzU2MDA1MTU4MTAgLyogQXBwRGVsZWdhdGUuc3dpZnQgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLnN3aWZ0OyBwYXRoID0gQXBwRGVsZWdhdGUuc3dpZnQ7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJN0FGQTNDOEUxRDM1MzYwQzAwODMwODJFIC8qIFJlbGVhc2UueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBuYW1lID0gUmVsZWFzZS54Y2NvbmZpZzsgcGF0aCA9IEZsdXR0ZXIvUmVsZWFzZS54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQk5MkI0M0REMEFENThFNjM1NkQxNTg5MkMgLyogUG9kcy1SdW5uZXIuZGVidWcueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgaW5jbHVkZUluSW5kZXggPSAxOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IG5hbWUgPSAiUG9kcy1SdW5uZXIuZGVidWcueGNjb25maWciOyBwYXRoID0gIlRhcmdldCBTdXBwb3J0IEZpbGVzL1BvZHMtUnVubmVyL1BvZHMtUnVubmVyLmRlYnVnLnhjY29uZmlnIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQk5NzQwRUVCMjFDRjkwMTk1MDA0Mzg0RkMgLyogRGVidWcueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBuYW1lID0gRGVidWcueGNjb25maWc7IHBhdGggPSBGbHV0dGVyL0RlYnVnLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTk3NDBFRUIzMUNGOTAxOTUwMDQzODRGQyAvKiBHZW5lcmF0ZWQueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBuYW1lID0gR2VuZXJhdGVkLnhjY29uZmlnOyBwYXRoID0gRmx1dHRlci9HZW5lcmF0ZWQueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJOTdDMTQ2RUUxQ0Y5MDAwRjAwN0MxMTdEIC8qIFJ1bm5lci5hcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHdyYXBwZXIuYXBwbGljYXRpb247IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IFJ1bm5lci5hcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CgkJOTdDMTQ2RkIxQ0Y5MDAwRjAwN0MxMTdEIC8qIEJhc2UgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBmaWxlLnN0b3J5Ym9hcmQ7IG5hbWUgPSBCYXNlOyBwYXRoID0gQmFzZS5scHJvai9NYWluLnN0b3J5Ym9hcmQ7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJOTdDMTQ2RkQxQ0Y5MDAwRjAwN0MxMTdEIC8qIEFzc2V0cy54Y2Fzc2V0cyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGZvbGRlci5hc3NldGNhdGFsb2c7IHBhdGggPSBBc3NldHMueGNhc3NldHM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJOTdDMTQ3MDAxQ0Y5MDAwRjAwN0MxMTdEIC8qIEJhc2UgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBmaWxlLnN0b3J5Ym9hcmQ7IG5hbWUgPSBCYXNlOyBwYXRoID0gQmFzZS5scHJvai9MYXVuY2hTY3JlZW4uc3Rvcnlib2FyZDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQk5N0MxNDcwMjFDRjkwMDBGMDA3QzExN0QgLyogSW5mby5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQucGxpc3QueG1sOyBwYXRoID0gSW5mby5wbGlzdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQlDMzJEQzkzOURFNzVBMEJERjdCNjQ3QTQgLyogUG9kcy1SdW5uZXIucmVsZWFzZS54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBpbmNsdWRlSW5JbmRleCA9IDE7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgbmFtZSA9ICJQb2RzLVJ1bm5lci5yZWxlYXNlLnhjY29uZmlnIjsgcGF0aCA9ICJUYXJnZXQgU3VwcG9ydCBGaWxlcy9Qb2RzLVJ1bm5lci9Qb2RzLVJ1bm5lci5yZWxlYXNlLnhjY29uZmlnIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQlGQzk1REI4NDlCRjY0MUNBRDI2QjgxMjMgLyogUG9kcy1SdW5uZXIucHJvZmlsZS54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBpbmNsdWRlSW5JbmRleCA9IDE7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgbmFtZSA9ICJQb2RzLVJ1bm5lci5wcm9maWxlLnhjY29uZmlnIjsgcGF0aCA9ICJUYXJnZXQgU3VwcG9ydCBGaWxlcy9Qb2RzLVJ1bm5lci9Qb2RzLVJ1bm5lci5wcm9maWxlLnhjY29uZmlnIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLyogRW5kIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwoKLyogQmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwoJCTk3QzE0NkVCMUNGOTAwMEYwMDdDMTE3RCAvKiBGcmFtZXdvcmtzICovID0gewoJCQlpc2EgPSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsKCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKCQkJZmlsZXMgPSAoCgkJCQk2NTc4RUVBMkM4M0I2Mzg4Qjg4Njk2OEMgLyogUG9kc19SdW5uZXIuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCgkJCSk7CgkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwoJCX07Ci8qIEVuZCBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICovCgovKiBCZWdpbiBQQlhHcm91cCBzZWN0aW9uICovCgkJNzFBOUExNjA3RTAzNkUzOTFCQTZBMzAxIC8qIEZyYW1ld29ya3MgKi8gPSB7CgkJCWlzYSA9IFBCWEdyb3VwOwoJCQljaGlsZHJlbiA9ICgKCQkJCTFENjk4NjE1NzczOUQ5Njg3QUI2QUZENiAvKiBQb2RzX1J1bm5lci5mcmFtZXdvcmsgKi8sCgkJCSk7CgkJCW5hbWUgPSBGcmFtZXdvcmtzOwoJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwoJCX07CgkJOTU2N0NGREQ4Rjc3MTRCMEQ0MDMxMDVBIC8qIFBvZHMgKi8gPSB7CgkJCWlzYSA9IFBCWEdyb3VwOwoJCQljaGlsZHJlbiA9ICgKCQkJCTkyQjQzREQwQUQ1OEU2MzU2RDE1ODkyQyAvKiBQb2RzLVJ1bm5lci5kZWJ1Zy54Y2NvbmZpZyAqLywKCQkJCUMzMkRDOTM5REU3NUEwQkRGN0I2NDdBNCAvKiBQb2RzLVJ1bm5lci5yZWxlYXNlLnhjY29uZmlnICovLAoJCQkJRkM5NURCODQ5QkY2NDFDQUQyNkI4MTIzIC8qIFBvZHMtUnVubmVyLnByb2ZpbGUueGNjb25maWcgKi8sCgkJCSk7CgkJCW5hbWUgPSBQb2RzOwoJCQlwYXRoID0gUG9kczsKCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKCQl9OwoJCTk3NDBFRUIxMUNGOTAxODYwMDQzODRGQyAvKiBGbHV0dGVyICovID0gewoJCQlpc2EgPSBQQlhHcm91cDsKCQkJY2hpbGRyZW4gPSAoCgkJCQkzQjM5NjcxNTFFODMzQ0FBMDA0RjU5NzAgLyogQXBwRnJhbWV3b3JrSW5mby5wbGlzdCAqLywKCQkJCTk3NDBFRUIyMUNGOTAxOTUwMDQzODRGQyAvKiBEZWJ1Zy54Y2NvbmZpZyAqLywKCQkJCTdBRkEzQzhFMUQzNTM2MEMwMDgzMDgyRSAvKiBSZWxlYXNlLnhjY29uZmlnICovLAoJCQkJOTc0MEVFQjMxQ0Y5MDE5NTAwNDM4NEZDIC8qIEdlbmVyYXRlZC54Y2NvbmZpZyAqLywKCQkJKTsKCQkJbmFtZSA9IEZsdXR0ZXI7CgkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CgkJfTsKCQk5N0MxNDZFNTFDRjkwMDBGMDA3QzExN0QgPSB7CgkJCWlzYSA9IFBCWEdyb3VwOwoJCQljaGlsZHJlbiA9ICgKCQkJCTk3NDBFRUIxMUNGOTAxODYwMDQzODRGQyAvKiBGbHV0dGVyICovLAoJCQkJOTdDMTQ2RjAxQ0Y5MDAwRjAwN0MxMTdEIC8qIFJ1bm5lciAqLywKCQkJCTk3QzE0NkVGMUNGOTAwMEYwMDdDMTE3RCAvKiBQcm9kdWN0cyAqLywKCQkJCTk1NjdDRkREOEY3NzE0QjBENDAzMTA1QSAvKiBQb2RzICovLAoJCQkJNzFBOUExNjA3RTAzNkUzOTFCQTZBMzAxIC8qIEZyYW1ld29ya3MgKi8sCgkJCSk7CgkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CgkJfTsKCQk5N0MxNDZFRjFDRjkwMDBGMDA3QzExN0QgLyogUHJvZHVjdHMgKi8gPSB7CgkJCWlzYSA9IFBCWEdyb3VwOwoJCQljaGlsZHJlbiA9ICgKCQkJCTk3QzE0NkVFMUNGOTAwMEYwMDdDMTE3RCAvKiBSdW5uZXIuYXBwICovLAoJCQkpOwoJCQluYW1lID0gUHJvZHVjdHM7CgkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CgkJfTsKCQk5N0MxNDZGMDFDRjkwMDBGMDA3QzExN0QgLyogUnVubmVyICovID0gewoJCQlpc2EgPSBQQlhHcm91cDsKCQkJY2hpbGRyZW4gPSAoCgkJCQk5N0MxNDZGQTFDRjkwMDBGMDA3QzExN0QgLyogTWFpbi5zdG9yeWJvYXJkICovLAoJCQkJOTdDMTQ2RkQxQ0Y5MDAwRjAwN0MxMTdEIC8qIEFzc2V0cy54Y2Fzc2V0cyAqLywKCQkJCTk3QzE0NkZGMUNGOTAwMEYwMDdDMTE3RCAvKiBMYXVuY2hTY3JlZW4uc3Rvcnlib2FyZCAqLywKCQkJCTk3QzE0NzAyMUNGOTAwMEYwMDdDMTE3RCAvKiBJbmZvLnBsaXN0ICovLAoJCQkJMTQ5OEQyMzIxRThFODYyMzAwNDBGNEMyIC8qIEdlbmVyYXRlZFBsdWdpblJlZ2lzdHJhbnQuaCAqLywKCQkJCTE0OThEMjMzMUU4RTg5MjIwMDQwRjRDMiAvKiBHZW5lcmF0ZWRQbHVnaW5SZWdpc3RyYW50Lm0gKi8sCgkJCQk3NDg1OEZBRTFFRDJEQzU2MDA1MTU4MTAgLyogQXBwRGVsZWdhdGUuc3dpZnQgKi8sCgkJCQk3NDg1OEZBRDFFRDJEQzU2MDA1MTU4MTAgLyogUnVubmVyLUJyaWRnaW5nLUhlYWRlci5oICovLAoJCQkpOwoJCQlwYXRoID0gUnVubmVyOwoJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwoJCX07Ci8qIEVuZCBQQlhHcm91cCBzZWN0aW9uICovCgovKiBCZWdpbiBQQlhOYXRpdmVUYXJnZXQgc2VjdGlvbiAqLwoJCTk3QzE0NkVEMUNGOTAwMEYwMDdDMTE3RCAvKiBSdW5uZXIgKi8gPSB7CgkJCWlzYSA9IFBCWE5hdGl2ZVRhcmdldDsKCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDk3QzE0NzA1MUNGOTAwMEYwMDdDMTE3RCAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiUnVubmVyIiAqLzsKCQkJYnVpbGRQaGFzZXMgPSAoCgkJCQkwMjY2NDU0NDQ0QTY0MUY0RUIxMTBGQzUgLyogW0NQXSBDaGVjayBQb2RzIE1hbmlmZXN0LmxvY2sgKi8sCgkJCQk5NzQwRUVCNjFDRjkwMUY2MDA0Mzg0RkMgLyogUnVuIFNjcmlwdCAqLywKCQkJCTk3QzE0NkVBMUNGOTAwMEYwMDdDMTE3RCAvKiBTb3VyY2VzICovLAoJCQkJOTdDMTQ2RUIxQ0Y5MDAwRjAwN0MxMTdEIC8qIEZyYW1ld29ya3MgKi8sCgkJCQk5N0MxNDZFQzFDRjkwMDBGMDA3QzExN0QgLyogUmVzb3VyY2VzICovLAoJCQkJOTcwNUExQzQxQ0Y5MDQ4NTAwNTM4NDg5IC8qIEVtYmVkIEZyYW1ld29ya3MgKi8sCgkJCQkzQjA2QUQxRTFFNDkyM0Y1MDA0RDI2MDggLyogVGhpbiBCaW5hcnkgKi8sCgkJCQk0MDc2MEUxNEYzRTY2NDE1M0RBRDJBQkMgLyogW0NQXSBFbWJlZCBQb2RzIEZyYW1ld29ya3MgKi8sCgkJCSk7CgkJCWJ1aWxkUnVsZXMgPSAoCgkJCSk7CgkJCWRlcGVuZGVuY2llcyA9ICgKCQkJKTsKCQkJbmFtZSA9IFJ1bm5lcjsKCQkJcHJvZHVjdE5hbWUgPSBSdW5uZXI7CgkJCXByb2R1Y3RSZWZlcmVuY2UgPSA5N0MxNDZFRTFDRjkwMDBGMDA3QzExN0QgLyogUnVubmVyLmFwcCAqLzsKCQkJcHJvZHVjdFR5cGUgPSAiY29tLmFwcGxlLnByb2R1Y3QtdHlwZS5hcHBsaWNhdGlvbiI7CgkJfTsKLyogRW5kIFBCWE5hdGl2ZVRhcmdldCBzZWN0aW9uICovCgovKiBCZWdpbiBQQlhQcm9qZWN0IHNlY3Rpb24gKi8KCQk5N0MxNDZFNjFDRjkwMDBGMDA3QzExN0QgLyogUHJvamVjdCBvYmplY3QgKi8gPSB7CgkJCWlzYSA9IFBCWFByb2plY3Q7CgkJCWF0dHJpYnV0ZXMgPSB7CgkJCQlMYXN0VXBncmFkZUNoZWNrID0gMTQzMDsKCQkJCU9SR0FOSVpBVElPTk5BTUUgPSAiIjsKCQkJCVRhcmdldEF0dHJpYnV0ZXMgPSB7CgkJCQkJOTdDMTQ2RUQxQ0Y5MDAwRjAwN0MxMTdEID0gewoJCQkJCQlDcmVhdGVkT25Ub29sc1ZlcnNpb24gPSA3LjMuMTsKCQkJCQkJTGFzdFN3aWZ0TWlncmF0aW9uID0gMTEwMDsKCQkJCQl9OwoJCQkJfTsKCQkJfTsKCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDk3QzE0NkU5MUNGOTAwMEYwMDdDMTE3RCAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3QgIlJ1bm5lciIgKi87CgkJCWNvbXBhdGliaWxpdHlWZXJzaW9uID0gIlhjb2RlIDkuMyI7CgkJCWRldmVsb3BtZW50UmVnaW9uID0gZW47CgkJCWhhc1NjYW5uZWRGb3JFbmNvZGluZ3MgPSAwOwoJCQlrbm93blJlZ2lvbnMgPSAoCgkJCQllbiwKCQkJCUJhc2UsCgkJCSk7CgkJCW1haW5Hcm91cCA9IDk3QzE0NkU1MUNGOTAwMEYwMDdDMTE3RDsKCQkJcHJvZHVjdFJlZkdyb3VwID0gOTdDMTQ2RUYxQ0Y5MDAwRjAwN0MxMTdEIC8qIFByb2R1Y3RzICovOwoJCQlwcm9qZWN0RGlyUGF0aCA9ICIiOwoJCQlwcm9qZWN0Um9vdCA9ICIiOwoJCQl0YXJnZXRzID0gKAoJCQkJOTdDMTQ2RUQxQ0Y5MDAwRjAwN0MxMTdEIC8qIFJ1bm5lciAqLywKCQkJKTsKCQl9OwovKiBFbmQgUEJYUHJvamVjdCBzZWN0aW9uICovCgovKiBCZWdpbiBQQlhSZXNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KCQk5N0MxNDZFQzFDRjkwMDBGMDA3QzExN0QgLyogUmVzb3VyY2VzICovID0gewoJCQlpc2EgPSBQQlhSZXNvdXJjZXNCdWlsZFBoYXNlOwoJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwoJCQlmaWxlcyA9ICgKCQkJCTk3QzE0NzAxMUNGOTAwMEYwMDdDMTE3RCAvKiBMYXVuY2hTY3JlZW4uc3Rvcnlib2FyZCBpbiBSZXNvdXJjZXMgKi8sCgkJCQkzQjM5NjcxNjFFODMzQ0FBMDA0RjU5NzAgLyogQXBwRnJhbWV3b3JrSW5mby5wbGlzdCBpbiBSZXNvdXJjZXMgKi8sCgkJCQk5N0MxNDZGRTFDRjkwMDBGMDA3QzExN0QgLyogQXNzZXRzLnhjYXNzZXRzIGluIFJlc291cmNlcyAqLywKCQkJCTk3QzE0NkZDMUNGOTAwMEYwMDdDMTE3RCAvKiBNYWluLnN0b3J5Ym9hcmQgaW4gUmVzb3VyY2VzICovLAoJCQkpOwoJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKCQl9OwovKiBFbmQgUEJYUmVzb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCgovKiBCZWdpbiBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2Ugc2VjdGlvbiAqLwoJCTAyNjY0NTQ0NDRBNjQxRjRFQjExMEZDNSAvKiBbQ1BdIENoZWNrIFBvZHMgTWFuaWZlc3QubG9jayAqLyA9IHsKCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOwoJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwoJCQlmaWxlcyA9ICgKCQkJKTsKCQkJaW5wdXRGaWxlTGlzdFBhdGhzID0gKAoJCQkpOwoJCQlpbnB1dFBhdGhzID0gKAoJCQkJIiR7UE9EU19QT0RGSUxFX0RJUl9QQVRIfS9Qb2RmaWxlLmxvY2siLAoJCQkJIiR7UE9EU19ST09UfS9NYW5pZmVzdC5sb2NrIiwKCQkJKTsKCQkJbmFtZSA9ICJbQ1BdIENoZWNrIFBvZHMgTWFuaWZlc3QubG9jayI7CgkJCW91dHB1dEZpbGVMaXN0UGF0aHMgPSAoCgkJCSk7CgkJCW91dHB1dFBhdGhzID0gKAoJCQkJIiQoREVSSVZFRF9GSUxFX0RJUikvUG9kcy1SdW5uZXItY2hlY2tNYW5pZmVzdExvY2tSZXN1bHQudHh0IiwKCQkJKTsKCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CgkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CgkJCXNoZWxsU2NyaXB0ID0gImRpZmYgXCIke1BPRFNfUE9ERklMRV9ESVJfUEFUSH0vUG9kZmlsZS5sb2NrXCIgXCIke1BPRFNfUk9PVH0vTWFuaWZlc3QubG9ja1wiID4gL2Rldi9udWxsXG5pZiBbICQ/ICE9IDAgXSA7IHRoZW5cbiAgICAjIHByaW50IGVycm9yIHRvIFNUREVSUlxuICAgIGVjaG8gXCJlcnJvcjogVGhlIHNhbmRib3ggaXMgbm90IGluIHN5bmMgd2l0aCB0aGUgUG9kZmlsZS5sb2NrLiBSdW4gJ3BvZCBpbnN0YWxsJyBvciB1cGRhdGUgeW91ciBDb2NvYVBvZHMgaW5zdGFsbGF0aW9uLlwiID4mMlxuICAgIGV4aXQgMVxuZmlcbiMgVGhpcyBvdXRwdXQgaXMgdXNlZCBieSBYY29kZSAnb3V0cHV0cycgdG8gYXZvaWQgcmUtcnVubmluZyB0aGlzIHNjcmlwdCBwaGFzZS5cbmVjaG8gXCJTVUNDRVNTXCIgPiBcIiR7U0NSSVBUX09VVFBVVF9GSUxFXzB9XCJcbiI7CgkJCXNob3dFbnZWYXJzSW5Mb2cgPSAwOwoJCX07CgkJM0IwNkFEMUUxRTQ5MjNGNTAwNEQyNjA4IC8qIFRoaW4gQmluYXJ5ICovID0gewoJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CgkJCWFsd2F5c091dE9mRGF0ZSA9IDE7CgkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CgkJCWZpbGVzID0gKAoJCQkpOwoJCQlpbnB1dFBhdGhzID0gKAoJCQkJIiR7VEFSR0VUX0JVSUxEX0RJUn0vJHtJTkZPUExJU1RfUEFUSH0iLAoJCQkpOwoJCQluYW1lID0gIlRoaW4gQmluYXJ5IjsKCQkJb3V0cHV0UGF0aHMgPSAoCgkJCSk7CgkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwoJCQlzaGVsbFBhdGggPSAvYmluL3NoOwoJCQlzaGVsbFNjcmlwdCA9ICIvYmluL3NoIFwiJEZMVVRURVJfUk9PVC9wYWNrYWdlcy9mbHV0dGVyX3Rvb2xzL2Jpbi94Y29kZV9iYWNrZW5kLnNoXCIgZW1iZWRfYW5kX3RoaW4iOwoJCX07CgkJNDA3NjBFMTRGM0U2NjQxNTNEQUQyQUJDIC8qIFtDUF0gRW1iZWQgUG9kcyBGcmFtZXdvcmtzICovID0gewoJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CgkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CgkJCWZpbGVzID0gKAoJCQkpOwoJCQlpbnB1dEZpbGVMaXN0UGF0aHMgPSAoCgkJCQkiJHtQT0RTX1JPT1R9L1RhcmdldCBTdXBwb3J0IEZpbGVzL1BvZHMtUnVubmVyL1BvZHMtUnVubmVyLWZyYW1ld29ya3MtJHtDT05GSUdVUkFUSU9OfS1pbnB1dC1maWxlcy54Y2ZpbGVsaXN0IiwKCQkJKTsKCQkJbmFtZSA9ICJbQ1BdIEVtYmVkIFBvZHMgRnJhbWV3b3JrcyI7CgkJCW91dHB1dEZpbGVMaXN0UGF0aHMgPSAoCgkJCQkiJHtQT0RTX1JPT1R9L1RhcmdldCBTdXBwb3J0IEZpbGVzL1BvZHMtUnVubmVyL1BvZHMtUnVubmVyLWZyYW1ld29ya3MtJHtDT05GSUdVUkFUSU9OfS1vdXRwdXQtZmlsZXMueGNmaWxlbGlzdCIsCgkJCSk7CgkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwoJCQlzaGVsbFBhdGggPSAvYmluL3NoOwoJCQlzaGVsbFNjcmlwdCA9ICJcIiR7UE9EU19ST09UfS9UYXJnZXQgU3VwcG9ydCBGaWxlcy9Qb2RzLVJ1bm5lci9Qb2RzLVJ1bm5lci1mcmFtZXdvcmtzLnNoXCJcbiI7CgkJCXNob3dFbnZWYXJzSW5Mb2cgPSAwOwoJCX07CgkJOTc0MEVFQjYxQ0Y5MDFGNjAwNDM4NEZDIC8qIFJ1biBTY3JpcHQgKi8gPSB7CgkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKCQkJYWx3YXlzT3V0T2ZEYXRlID0gMTsKCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKCQkJZmlsZXMgPSAoCgkJCSk7CgkJCWlucHV0UGF0aHMgPSAoCgkJCSk7CgkJCW5hbWUgPSAiUnVuIFNjcmlwdCI7CgkJCW91dHB1dFBhdGhzID0gKAoJCQkpOwoJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKCQkJc2hlbGxTY3JpcHQgPSAiL2Jpbi9zaCBcIiRGTFVUVEVSX1JPT1QvcGFja2FnZXMvZmx1dHRlcl90b29scy9iaW4veGNvZGVfYmFja2VuZC5zaFwiIGJ1aWxkIjsKCQl9OwovKiBFbmQgUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlIHNlY3Rpb24gKi8KCi8qIEJlZ2luIFBCWFNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KCQk5N0MxNDZFQTFDRjkwMDBGMDA3QzExN0QgLyogU291cmNlcyAqLyA9IHsKCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CgkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CgkJCWZpbGVzID0gKAoJCQkJNzQ4NThGQUYxRUQyREM1NjAwNTE1ODEwIC8qIEFwcERlbGVnYXRlLnN3aWZ0IGluIFNvdXJjZXMgKi8sCgkJCQkxNDk4RDIzNDFFOEU4OTIyMDA0MEY0QzIgLyogR2VuZXJhdGVkUGx1Z2luUmVnaXN0cmFudC5tIGluIFNvdXJjZXMgKi8sCgkJCSk7CgkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwoJCX07Ci8qIEVuZCBQQlhTb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCgovKiBCZWdpbiBQQlhWYXJpYW50R3JvdXAgc2VjdGlvbiAqLwoJCTk3QzE0NkZBMUNGOTAwMEYwMDdDMTE3RCAvKiBNYWluLnN0b3J5Ym9hcmQgKi8gPSB7CgkJCWlzYSA9IFBCWFZhcmlhbnRHcm91cDsKCQkJY2hpbGRyZW4gPSAoCgkJCQk5N0MxNDZGQjFDRjkwMDBGMDA3QzExN0QgLyogQmFzZSAqLywKCQkJKTsKCQkJbmFtZSA9IE1haW4uc3Rvcnlib2FyZDsKCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKCQl9OwoJCTk3QzE0NkZGMUNGOTAwMEYwMDdDMTE3RCAvKiBMYXVuY2hTY3JlZW4uc3Rvcnlib2FyZCAqLyA9IHsKCQkJaXNhID0gUEJYVmFyaWFudEdyb3VwOwoJCQljaGlsZHJlbiA9ICgKCQkJCTk3QzE0NzAwMUNGOTAwMEYwMDdDMTE3RCAvKiBCYXNlICovLAoJCQkpOwoJCQluYW1lID0gTGF1bmNoU2NyZWVuLnN0b3J5Ym9hcmQ7CgkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CgkJfTsKLyogRW5kIFBCWFZhcmlhbnRHcm91cCBzZWN0aW9uICovCgovKiBCZWdpbiBYQ0J1aWxkQ29uZmlndXJhdGlvbiBzZWN0aW9uICovCgkJMjQ5MDIxRDMyMTdFNEZEQjAwQUU5NUI5IC8qIFByb2ZpbGUgKi8gPSB7CgkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQUxXQVlTX1NFQVJDSF9VU0VSX1BBVEhTID0gTk87CgkJCQlDTEFOR19BTkFMWVpFUl9OT05OVUxMID0gWUVTOwoJCQkJQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gImdudSsrMHgiOwoJCQkJQ0xBTkdfQ1hYX0xJQlJBUlkgPSAibGliYysrIjsKCQkJCUNMQU5HX0VOQUJMRV9NT0RVTEVTID0gWUVTOwoJCQkJQ0xBTkdfRU5BQkxFX09CSkNfQVJDID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9CTE9DS19DQVBUVVJFX0FVVE9SRUxFQVNJTkcgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0JPT0xfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQ09NTUEgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0NPTlNUQU5UX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0RFUFJFQ0FURURfT0JKQ19JTVBMRU1FTlRBVElPTlMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0RJUkVDVF9PQkpDX0lTQV9VU0FHRSA9IFlFU19FUlJPUjsKCQkJCUNMQU5HX1dBUk5fRU1QVFlfQk9EWSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fRU5VTV9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9JTkZJTklURV9SRUNVUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0lOVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9OT05fTElURVJBTF9OVUxMX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfSU1QTElDSVRfUkVUQUlOX1NFTEYgPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfTElURVJBTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX1JPT1RfQ0xBU1MgPSBZRVNfRVJST1I7CgkJCQlDTEFOR19XQVJOX1JBTkdFX0xPT1BfQU5BTFlTSVMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1NUUklDVF9QUk9UT1RZUEVTID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9TVVNQSUNJT1VTX01PVkUgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1VOUkVBQ0hBQkxFX0NPREUgPSBZRVM7CgkJCQlDTEFOR19XQVJOX19EVVBMSUNBVEVfTUVUSE9EX01BVENIID0gWUVTOwoJCQkJIkNPREVfU0lHTl9JREVOVElUWVtzZGs9aXBob25lb3MqXSIgPSAiaVBob25lIERldmVsb3BlciI7CgkJCQlDT1BZX1BIQVNFX1NUUklQID0gTk87CgkJCQlERUJVR19JTkZPUk1BVElPTl9GT1JNQVQgPSAiZHdhcmYtd2l0aC1kc3ltIjsKCQkJCUVOQUJMRV9OU19BU1NFUlRJT05TID0gTk87CgkJCQlFTkFCTEVfU1RSSUNUX09CSkNfTVNHU0VORCA9IFlFUzsKCQkJCUdDQ19DX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251OTk7CgkJCQlHQ0NfTk9fQ09NTU9OX0JMT0NLUyA9IFlFUzsKCQkJCUdDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJR0NDX1dBUk5fQUJPVVRfUkVUVVJOX1RZUEUgPSBZRVNfRVJST1I7CgkJCQlHQ0NfV0FSTl9VTkRFQ0xBUkVEX1NFTEVDVE9SID0gWUVTOwoJCQkJR0NDX1dBUk5fVU5JTklUSUFMSVpFRF9BVVRPUyA9IFlFU19BR0dSRVNTSVZFOwoJCQkJR0NDX1dBUk5fVU5VU0VEX0ZVTkNUSU9OID0gWUVTOwoJCQkJR0NDX1dBUk5fVU5VU0VEX1ZBUklBQkxFID0gWUVTOwoJCQkJSVBIT05FT1NfREVQTE9ZTUVOVF9UQVJHRVQgPSAxMS4wOwoJCQkJTVRMX0VOQUJMRV9ERUJVR19JTkZPID0gTk87CgkJCQlTREtST09UID0gaXBob25lb3M7CgkJCQlTVVBQT1JURURfUExBVEZPUk1TID0gaXBob25lb3M7CgkJCQlUQVJHRVRFRF9ERVZJQ0VfRkFNSUxZID0gIjEsMiI7CgkJCQlWQUxJREFURV9QUk9EVUNUID0gWUVTOwoJCQl9OwoJCQluYW1lID0gUHJvZmlsZTsKCQl9OwoJCTI0OTAyMUQ0MjE3RTRGREIwMEFFOTVCOSAvKiBQcm9maWxlICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSA3QUZBM0M4RTFEMzUzNjBDMDA4MzA4MkUgLyogUmVsZWFzZS54Y2NvbmZpZyAqLzsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUFTU0VUQ0FUQUxPR19DT01QSUxFUl9BUFBJQ09OX05BTUUgPSBBcHBJY29uOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDVVJSRU5UX1BST0pFQ1RfVkVSU0lPTiA9ICIkKEZMVVRURVJfQlVJTERfTlVNQkVSKSI7CgkJCQlERVZFTE9QTUVOVF9URUFNID0gWDNQMjc0VktQRjsKCQkJCUVOQUJMRV9CSVRDT0RFID0gTk87CgkJCQlJTkZPUExJU1RfRklMRSA9IFJ1bm5lci9JbmZvLnBsaXN0OwoJCQkJTERfUlVOUEFUSF9TRUFSQ0hfUEFUSFMgPSAoCgkJCQkJIiQoaW5oZXJpdGVkKSIsCgkJCQkJIkBleGVjdXRhYmxlX3BhdGgvRnJhbWV3b3JrcyIsCgkJCQkpOwoJCQkJUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9IHt7b3JnX25hbWUuZG90Q2FzZSgpfX07CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfT0JKQ19CUklER0lOR19IRUFERVIgPSAiUnVubmVyL1J1bm5lci1CcmlkZ2luZy1IZWFkZXIuaCI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVkVSU0lPTklOR19TWVNURU0gPSAiYXBwbGUtZ2VuZXJpYyI7CgkJCX07CgkJCW5hbWUgPSBQcm9maWxlOwoJCX07CgkJOTdDMTQ3MDMxQ0Y5MDAwRjAwN0MxMTdEIC8qIERlYnVnICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POwoJCQkJQ0xBTkdfQU5BTFlaRVJfTk9OTlVMTCA9IFlFUzsKCQkJCUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9ICJnbnUrKzB4IjsKCQkJCUNMQU5HX0NYWF9MSUJSQVJZID0gImxpYmMrKyI7CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNMQU5HX0VOQUJMRV9PQkpDX0FSQyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQkxPQ0tfQ0FQVFVSRV9BVVRPUkVMRUFTSU5HID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9CT09MX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0NPTU1BID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT05TVEFOVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ERVBSRUNBVEVEX09CSkNfSU1QTEVNRU5UQVRJT05TID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ESVJFQ1RfT0JKQ19JU0FfVVNBR0UgPSBZRVNfRVJST1I7CgkJCQlDTEFOR19XQVJOX0VNUFRZX0JPRFkgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0VOVU1fQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5GSU5JVEVfUkVDVVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9JTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fTk9OX0xJVEVSQUxfTlVMTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0lNUExJQ0lUX1JFVEFJTl9TRUxGID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0xJVEVSQUxfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19ST09UX0NMQVNTID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9SQU5HRV9MT09QX0FOQUxZU0lTID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9TVFJJQ1RfUFJPVE9UWVBFUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1VTUElDSU9VU19NT1ZFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9VTlJFQUNIQUJMRV9DT0RFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9fRFVQTElDQVRFX01FVEhPRF9NQVRDSCA9IFlFUzsKCQkJCSJDT0RFX1NJR05fSURFTlRJVFlbc2RrPWlwaG9uZW9zKl0iID0gImlQaG9uZSBEZXZlbG9wZXIiOwoJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IE5POwoJCQkJREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gZHdhcmY7CgkJCQlFTkFCTEVfU1RSSUNUX09CSkNfTVNHU0VORCA9IFlFUzsKCQkJCUVOQUJMRV9URVNUQUJJTElUWSA9IFlFUzsKCQkJCUdDQ19DX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251OTk7CgkJCQlHQ0NfRFlOQU1JQ19OT19QSUMgPSBOTzsKCQkJCUdDQ19OT19DT01NT05fQkxPQ0tTID0gWUVTOwoJCQkJR0NDX09QVElNSVpBVElPTl9MRVZFTCA9IDA7CgkJCQlHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gKAoJCQkJCSJERUJVRz0xIiwKCQkJCQkiJChpbmhlcml0ZWQpIiwKCQkJCSk7CgkJCQlHQ0NfV0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX0FCT1VUX1JFVFVSTl9UWVBFID0gWUVTX0VSUk9SOwoJCQkJR0NDX1dBUk5fVU5ERUNMQVJFRF9TRUxFQ1RPUiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOSU5JVElBTElaRURfQVVUT1MgPSBZRVNfQUdHUkVTU0lWRTsKCQkJCUdDQ19XQVJOX1VOVVNFRF9GVU5DVElPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9IFlFUzsKCQkJCUlQSE9ORU9TX0RFUExPWU1FTlRfVEFSR0VUID0gMTEuMDsKCQkJCU1UTF9FTkFCTEVfREVCVUdfSU5GTyA9IFlFUzsKCQkJCU9OTFlfQUNUSVZFX0FSQ0ggPSBZRVM7CgkJCQlTREtST09UID0gaXBob25lb3M7CgkJCQlUQVJHRVRFRF9ERVZJQ0VfRkFNSUxZID0gIjEsMiI7CgkJCX07CgkJCW5hbWUgPSBEZWJ1ZzsKCQl9OwoJCTk3QzE0NzA0MUNGOTAwMEYwMDdDMTE3RCAvKiBSZWxlYXNlICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POwoJCQkJQ0xBTkdfQU5BTFlaRVJfTk9OTlVMTCA9IFlFUzsKCQkJCUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9ICJnbnUrKzB4IjsKCQkJCUNMQU5HX0NYWF9MSUJSQVJZID0gImxpYmMrKyI7CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNMQU5HX0VOQUJMRV9PQkpDX0FSQyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQkxPQ0tfQ0FQVFVSRV9BVVRPUkVMRUFTSU5HID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9CT09MX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0NPTU1BID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT05TVEFOVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ERVBSRUNBVEVEX09CSkNfSU1QTEVNRU5UQVRJT05TID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ESVJFQ1RfT0JKQ19JU0FfVVNBR0UgPSBZRVNfRVJST1I7CgkJCQlDTEFOR19XQVJOX0VNUFRZX0JPRFkgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0VOVU1fQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5GSU5JVEVfUkVDVVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9JTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fTk9OX0xJVEVSQUxfTlVMTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0lNUExJQ0lUX1JFVEFJTl9TRUxGID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0xJVEVSQUxfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19ST09UX0NMQVNTID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9SQU5HRV9MT09QX0FOQUxZU0lTID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9TVFJJQ1RfUFJPVE9UWVBFUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1VTUElDSU9VU19NT1ZFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9VTlJFQUNIQUJMRV9DT0RFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9fRFVQTElDQVRFX01FVEhPRF9NQVRDSCA9IFlFUzsKCQkJCSJDT0RFX1NJR05fSURFTlRJVFlbc2RrPWlwaG9uZW9zKl0iID0gImlQaG9uZSBEZXZlbG9wZXIiOwoJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IE5POwoJCQkJREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gImR3YXJmLXdpdGgtZHN5bSI7CgkJCQlFTkFCTEVfTlNfQVNTRVJUSU9OUyA9IE5POwoJCQkJRU5BQkxFX1NUUklDVF9PQkpDX01TR1NFTkQgPSBZRVM7CgkJCQlHQ0NfQ19MQU5HVUFHRV9TVEFOREFSRCA9IGdudTk5OwoJCQkJR0NDX05PX0NPTU1PTl9CTE9DS1MgPSBZRVM7CgkJCQlHQ0NfV0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX0FCT1VUX1JFVFVSTl9UWVBFID0gWUVTX0VSUk9SOwoJCQkJR0NDX1dBUk5fVU5ERUNMQVJFRF9TRUxFQ1RPUiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOSU5JVElBTElaRURfQVVUT1MgPSBZRVNfQUdHUkVTU0lWRTsKCQkJCUdDQ19XQVJOX1VOVVNFRF9GVU5DVElPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9IFlFUzsKCQkJCUlQSE9ORU9TX0RFUExPWU1FTlRfVEFSR0VUID0gMTEuMDsKCQkJCU1UTF9FTkFCTEVfREVCVUdfSU5GTyA9IE5POwoJCQkJU0RLUk9PVCA9IGlwaG9uZW9zOwoJCQkJU1VQUE9SVEVEX1BMQVRGT1JNUyA9IGlwaG9uZW9zOwoJCQkJU1dJRlRfQ09NUElMQVRJT05fTU9ERSA9IHdob2xlbW9kdWxlOwoJCQkJU1dJRlRfT1BUSU1JWkFUSU9OX0xFVkVMID0gIi1PIjsKCQkJCVRBUkdFVEVEX0RFVklDRV9GQU1JTFkgPSAiMSwyIjsKCQkJCVZBTElEQVRFX1BST0RVQ1QgPSBZRVM7CgkJCX07CgkJCW5hbWUgPSBSZWxlYXNlOwoJCX07CgkJOTdDMTQ3MDYxQ0Y5MDAwRjAwN0MxMTdEIC8qIERlYnVnICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSA5NzQwRUVCMjFDRjkwMTk1MDA0Mzg0RkMgLyogRGVidWcueGNjb25maWcgKi87CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBU1NFVENBVEFMT0dfQ09NUElMRVJfQVBQSUNPTl9OQU1FID0gQXBwSWNvbjsKCQkJCUNMQU5HX0VOQUJMRV9NT0RVTEVTID0gWUVTOwoJCQkJQ1VSUkVOVF9QUk9KRUNUX1ZFUlNJT04gPSAiJChGTFVUVEVSX0JVSUxEX05VTUJFUikiOwoJCQkJREVWRUxPUE1FTlRfVEVBTSA9IFgzUDI3NFZLUEY7CgkJCQlFTkFCTEVfQklUQ09ERSA9IE5POwoJCQkJSU5GT1BMSVNUX0ZJTEUgPSBSdW5uZXIvSW5mby5wbGlzdDsKCQkJCUxEX1JVTlBBVEhfU0VBUkNIX1BBVEhTID0gKAoJCQkJCSIkKGluaGVyaXRlZCkiLAoJCQkJCSJAZXhlY3V0YWJsZV9wYXRoL0ZyYW1ld29ya3MiLAoJCQkJKTsKCQkJCVBST0RVQ1RfQlVORExFX0lERU5USUZJRVIgPSB7e29yZ19uYW1lLmRvdENhc2UoKX19OwoJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKCQkJCVNXSUZUX09CSkNfQlJJREdJTkdfSEVBREVSID0gIlJ1bm5lci9SdW5uZXItQnJpZGdpbmctSGVhZGVyLmgiOwoJCQkJU1dJRlRfT1BUSU1JWkFUSU9OX0xFVkVMID0gIi1Pbm9uZSI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVkVSU0lPTklOR19TWVNURU0gPSAiYXBwbGUtZ2VuZXJpYyI7CgkJCX07CgkJCW5hbWUgPSBEZWJ1ZzsKCQl9OwoJCTk3QzE0NzA3MUNGOTAwMEYwMDdDMTE3RCAvKiBSZWxlYXNlICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSA3QUZBM0M4RTFEMzUzNjBDMDA4MzA4MkUgLyogUmVsZWFzZS54Y2NvbmZpZyAqLzsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUFTU0VUQ0FUQUxPR19DT01QSUxFUl9BUFBJQ09OX05BTUUgPSBBcHBJY29uOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDVVJSRU5UX1BST0pFQ1RfVkVSU0lPTiA9ICIkKEZMVVRURVJfQlVJTERfTlVNQkVSKSI7CgkJCQlERVZFTE9QTUVOVF9URUFNID0gWDNQMjc0VktQRjsKCQkJCUVOQUJMRV9CSVRDT0RFID0gTk87CgkJCQlJTkZPUExJU1RfRklMRSA9IFJ1bm5lci9JbmZvLnBsaXN0OwoJCQkJTERfUlVOUEFUSF9TRUFSQ0hfUEFUSFMgPSAoCgkJCQkJIiQoaW5oZXJpdGVkKSIsCgkJCQkJIkBleGVjdXRhYmxlX3BhdGgvRnJhbWV3b3JrcyIsCgkJCQkpOwoJCQkJUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9IHt7b3JnX25hbWUuZG90Q2FzZSgpfX07CgkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwoJCQkJU1dJRlRfT0JKQ19CUklER0lOR19IRUFERVIgPSAiUnVubmVyL1J1bm5lci1CcmlkZ2luZy1IZWFkZXIuaCI7CgkJCQlTV0lGVF9WRVJTSU9OID0gNS4wOwoJCQkJVkVSU0lPTklOR19TWVNURU0gPSAiYXBwbGUtZ2VuZXJpYyI7CgkJCX07CgkJCW5hbWUgPSBSZWxlYXNlOwoJCX07Ci8qIEVuZCBYQ0J1aWxkQ29uZmlndXJhdGlvbiBzZWN0aW9uICovCgovKiBCZWdpbiBYQ0NvbmZpZ3VyYXRpb25MaXN0IHNlY3Rpb24gKi8KCQk5N0MxNDZFOTFDRjkwMDBGMDA3QzExN0QgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQcm9qZWN0ICJSdW5uZXIiICovID0gewoJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OwoJCQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAoJCQkJOTdDMTQ3MDMxQ0Y5MDAwRjAwN0MxMTdEIC8qIERlYnVnICovLAoJCQkJOTdDMTQ3MDQxQ0Y5MDAwRjAwN0MxMTdEIC8qIFJlbGVhc2UgKi8sCgkJCQkyNDkwMjFEMzIxN0U0RkRCMDBBRTk1QjkgLyogUHJvZmlsZSAqLywKCQkJKTsKCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOwoJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBSZWxlYXNlOwoJCX07CgkJOTdDMTQ3MDUxQ0Y5MDAwRjAwN0MxMTdEIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJSdW5uZXIiICovID0gewoJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OwoJCQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAoJCQkJOTdDMTQ3MDYxQ0Y5MDAwRjAwN0MxMTdEIC8qIERlYnVnICovLAoJCQkJOTdDMTQ3MDcxQ0Y5MDAwRjAwN0MxMTdEIC8qIFJlbGVhc2UgKi8sCgkJCQkyNDkwMjFENDIxN0U0RkRCMDBBRTk1QjkgLyogUHJvZmlsZSAqLywKCQkJKTsKCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOwoJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBSZWxlYXNlOwoJCX07Ci8qIEVuZCBYQ0NvbmZpZ3VyYXRpb25MaXN0IHNlY3Rpb24gKi8KCX07Cglyb290T2JqZWN0ID0gOTdDMTQ2RTYxQ0Y5MDAwRjAwN0MxMTdEIC8qIFByb2plY3Qgb2JqZWN0ICovOwp9Cg==", + "Ly8gISQqVVRGOCokIQp7CglhcmNoaXZlVmVyc2lvbiA9IDE7CgljbGFzc2VzID0gewoJfTsKCW9iamVjdFZlcnNpb24gPSA1NDsKCW9iamVjdHMgPSB7CgovKiBCZWdpbiBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwoJCTE0OThEMjM0MUU4RTg5MjIwMDQwRjRDMiAvKiBHZW5lcmF0ZWRQbHVnaW5SZWdpc3RyYW50Lm0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDk4RDIzMzFFOEU4OTIyMDA0MEY0QzIgLyogR2VuZXJhdGVkUGx1Z2luUmVnaXN0cmFudC5tICovOyB9OwoJCTNCMzk2NzE2MUU4MzNDQUEwMDRGNTk3MCAvKiBBcHBGcmFtZXdvcmtJbmZvLnBsaXN0IGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzQjM5NjcxNTFFODMzQ0FBMDA0RjU5NzAgLyogQXBwRnJhbWV3b3JrSW5mby5wbGlzdCAqLzsgfTsKCQk2NTc4RUVBMkM4M0I2Mzg4Qjg4Njk2OEMgLyogUG9kc19SdW5uZXIuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUQ2OTg2MTU3NzM5RDk2ODdBQjZBRkQ2IC8qIFBvZHNfUnVubmVyLmZyYW1ld29yayAqLzsgfTsKCQk3NDg1OEZBRjFFRDJEQzU2MDA1MTU4MTAgLyogQXBwRGVsZWdhdGUuc3dpZnQgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NDg1OEZBRTFFRDJEQzU2MDA1MTU4MTAgLyogQXBwRGVsZWdhdGUuc3dpZnQgKi87IH07CgkJOTdDMTQ3MTAxQ0Y5MDAwRjAwN0MxMTdEIC8qIFNjZW5lRGVsZWdhdGUuc3dpZnQgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5N0MxNDcxMTFDRjkwMDBGMDA3QzExN0QgLyogU2NlbmVEZWxlZ2F0ZS5zd2lmdCAqLzsgfTsKCQk5N0MxNDZGQzFDRjkwMDBGMDA3QzExN0QgLyogTWFpbi5zdG9yeWJvYXJkIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5N0MxNDZGQTFDRjkwMDBGMDA3QzExN0QgLyogTWFpbi5zdG9yeWJvYXJkICovOyB9OwoJCTk3QzE0NkZFMUNGOTAwMEYwMDdDMTE3RCAvKiBBc3NldHMueGNhc3NldHMgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3QzE0NkZEMUNGOTAwMEYwMDdDMTE3RCAvKiBBc3NldHMueGNhc3NldHMgKi87IH07CgkJOTdDMTQ3MDExQ0Y5MDAwRjAwN0MxMTdEIC8qIExhdW5jaFNjcmVlbi5zdG9yeWJvYXJkIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5N0MxNDZGRjFDRjkwMDBGMDA3QzExN0QgLyogTGF1bmNoU2NyZWVuLnN0b3J5Ym9hcmQgKi87IH07Ci8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwoKLyogQmVnaW4gUEJYQ29weUZpbGVzQnVpbGRQaGFzZSBzZWN0aW9uICovCgkJOTcwNUExQzQxQ0Y5MDQ4NTAwNTM4NDg5IC8qIEVtYmVkIEZyYW1ld29ya3MgKi8gPSB7CgkJCWlzYSA9IFBCWENvcHlGaWxlc0J1aWxkUGhhc2U7CgkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CgkJCWRzdFBhdGggPSAiIjsKCQkJZHN0U3ViZm9sZGVyU3BlYyA9IDEwOwoJCQlmaWxlcyA9ICgKCQkJKTsKCQkJbmFtZSA9ICJFbWJlZCBGcmFtZXdvcmtzIjsKCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CgkJfTsKLyogRW5kIFBCWENvcHlGaWxlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwoKLyogQmVnaW4gUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCgkJMTQ5OEQyMzIxRThFODYyMzAwNDBGNEMyIC8qIEdlbmVyYXRlZFBsdWdpblJlZ2lzdHJhbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2VuZXJhdGVkUGx1Z2luUmVnaXN0cmFudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTE0OThEMjMzMUU4RTg5MjIwMDQwRjRDMiAvKiBHZW5lcmF0ZWRQbHVnaW5SZWdpc3RyYW50Lm0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMub2JqYzsgcGF0aCA9IEdlbmVyYXRlZFBsdWdpblJlZ2lzdHJhbnQubTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQkxRDY5ODYxNTc3MzlEOTY4N0FCNkFGRDYgLyogUG9kc19SdW5uZXIuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0gUG9kc19SdW5uZXIuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwoJCTNCMzk2NzE1MUU4MzNDQUEwMDRGNTk3MCAvKiBBcHBGcmFtZXdvcmtJbmZvLnBsaXN0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5wbGlzdC54bWw7IG5hbWUgPSBBcHBGcmFtZXdvcmtJbmZvLnBsaXN0OyBwYXRoID0gRmx1dHRlci9BcHBGcmFtZXdvcmtJbmZvLnBsaXN0OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTc0ODU4RkFEMUVEMkRDNTYwMDUxNTgxMCAvKiBSdW5uZXItQnJpZGdpbmctSGVhZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9ICJSdW5uZXItQnJpZGdpbmctSGVhZGVyLmgiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTc0ODU4RkFFMUVEMkRDNTYwMDUxNTgxMCAvKiBBcHBEZWxlZ2F0ZS5zd2lmdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuc3dpZnQ7IHBhdGggPSBBcHBEZWxlZ2F0ZS5zd2lmdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQk5N0MxNDcxMTFDRjkwMDBGMDA3QzExN0QgLyogU2NlbmVEZWxlZ2F0ZS5zd2lmdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuc3dpZnQ7IHBhdGggPSBTY2VuZURlbGVnYXRlLnN3aWZ0OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTdBRkEzQzhFMUQzNTM2MEMwMDgzMDgyRSAvKiBSZWxlYXNlLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgbmFtZSA9IFJlbGVhc2UueGNjb25maWc7IHBhdGggPSBGbHV0dGVyL1JlbGVhc2UueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJOTJCNDNERDBBRDU4RTYzNTZEMTU4OTJDIC8qIFBvZHMtUnVubmVyLmRlYnVnLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGluY2x1ZGVJbkluZGV4ID0gMTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBuYW1lID0gIlBvZHMtUnVubmVyLmRlYnVnLnhjY29uZmlnIjsgcGF0aCA9ICJUYXJnZXQgU3VwcG9ydCBGaWxlcy9Qb2RzLVJ1bm5lci9Qb2RzLVJ1bm5lci5kZWJ1Zy54Y2NvbmZpZyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJOTc0MEVFQjIxQ0Y5MDE5NTAwNDM4NEZDIC8qIERlYnVnLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgbmFtZSA9IERlYnVnLnhjY29uZmlnOyBwYXRoID0gRmx1dHRlci9EZWJ1Zy54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKCQk5NzQwRUVCMzFDRjkwMTk1MDA0Mzg0RkMgLyogR2VuZXJhdGVkLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgbmFtZSA9IEdlbmVyYXRlZC54Y2NvbmZpZzsgcGF0aCA9IEZsdXR0ZXIvR2VuZXJhdGVkLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTk3QzE0NkVFMUNGOTAwMEYwMDdDMTE3RCAvKiBSdW5uZXIuYXBwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSB3cmFwcGVyLmFwcGxpY2F0aW9uOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSBSdW5uZXIuYXBwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwoJCTk3QzE0NkZCMUNGOTAwMEYwMDdDMTE3RCAvKiBCYXNlICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZS5zdG9yeWJvYXJkOyBuYW1lID0gQmFzZTsgcGF0aCA9IEJhc2UubHByb2ovTWFpbi5zdG9yeWJvYXJkOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTk3QzE0NkZEMUNGOTAwMEYwMDdDMTE3RCAvKiBBc3NldHMueGNhc3NldHMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBmb2xkZXIuYXNzZXRjYXRhbG9nOyBwYXRoID0gQXNzZXRzLnhjYXNzZXRzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwoJCTk3QzE0NzAwMUNGOTAwMEYwMDdDMTE3RCAvKiBCYXNlICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZS5zdG9yeWJvYXJkOyBuYW1lID0gQmFzZTsgcGF0aCA9IEJhc2UubHByb2ovTGF1bmNoU2NyZWVuLnN0b3J5Ym9hcmQ7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJOTdDMTQ3MDIxQ0Y5MDAwRjAwN0MxMTdEIC8qIEluZm8ucGxpc3QgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnBsaXN0LnhtbDsgcGF0aCA9IEluZm8ucGxpc3Q7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJQzMyREM5MzlERTc1QTBCREY3QjY0N0E0IC8qIFBvZHMtUnVubmVyLnJlbGVhc2UueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgaW5jbHVkZUluSW5kZXggPSAxOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IG5hbWUgPSAiUG9kcy1SdW5uZXIucmVsZWFzZS54Y2NvbmZpZyI7IHBhdGggPSAiVGFyZ2V0IFN1cHBvcnQgRmlsZXMvUG9kcy1SdW5uZXIvUG9kcy1SdW5uZXIucmVsZWFzZS54Y2NvbmZpZyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CgkJRkM5NURCODQ5QkY2NDFDQUQyNkI4MTIzIC8qIFBvZHMtUnVubmVyLnByb2ZpbGUueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgaW5jbHVkZUluSW5kZXggPSAxOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IG5hbWUgPSAiUG9kcy1SdW5uZXIucHJvZmlsZS54Y2NvbmZpZyI7IHBhdGggPSAiVGFyZ2V0IFN1cHBvcnQgRmlsZXMvUG9kcy1SdW5uZXIvUG9kcy1SdW5uZXIucHJvZmlsZS54Y2NvbmZpZyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci8qIEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KCi8qIEJlZ2luIFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KCQk5N0MxNDZFQjFDRjkwMDBGMDA3QzExN0QgLyogRnJhbWV3b3JrcyAqLyA9IHsKCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CgkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CgkJCWZpbGVzID0gKAoJCQkJNjU3OEVFQTJDODNCNjM4OEI4ODY5NjhDIC8qIFBvZHNfUnVubmVyLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAoJCQkpOwoJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKCQl9OwovKiBFbmQgUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwoKLyogQmVnaW4gUEJYR3JvdXAgc2VjdGlvbiAqLwoJCTcxQTlBMTYwN0UwMzZFMzkxQkE2QTMwMSAvKiBGcmFtZXdvcmtzICovID0gewoJCQlpc2EgPSBQQlhHcm91cDsKCQkJY2hpbGRyZW4gPSAoCgkJCQkxRDY5ODYxNTc3MzlEOTY4N0FCNkFGRDYgLyogUG9kc19SdW5uZXIuZnJhbWV3b3JrICovLAoJCQkpOwoJCQluYW1lID0gRnJhbWV3b3JrczsKCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKCQl9OwoJCTk1NjdDRkREOEY3NzE0QjBENDAzMTA1QSAvKiBQb2RzICovID0gewoJCQlpc2EgPSBQQlhHcm91cDsKCQkJY2hpbGRyZW4gPSAoCgkJCQk5MkI0M0REMEFENThFNjM1NkQxNTg5MkMgLyogUG9kcy1SdW5uZXIuZGVidWcueGNjb25maWcgKi8sCgkJCQlDMzJEQzkzOURFNzVBMEJERjdCNjQ3QTQgLyogUG9kcy1SdW5uZXIucmVsZWFzZS54Y2NvbmZpZyAqLywKCQkJCUZDOTVEQjg0OUJGNjQxQ0FEMjZCODEyMyAvKiBQb2RzLVJ1bm5lci5wcm9maWxlLnhjY29uZmlnICovLAoJCQkpOwoJCQluYW1lID0gUG9kczsKCQkJcGF0aCA9IFBvZHM7CgkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CgkJfTsKCQk5NzQwRUVCMTFDRjkwMTg2MDA0Mzg0RkMgLyogRmx1dHRlciAqLyA9IHsKCQkJaXNhID0gUEJYR3JvdXA7CgkJCWNoaWxkcmVuID0gKAoJCQkJM0IzOTY3MTUxRTgzM0NBQTAwNEY1OTcwIC8qIEFwcEZyYW1ld29ya0luZm8ucGxpc3QgKi8sCgkJCQk5NzQwRUVCMjFDRjkwMTk1MDA0Mzg0RkMgLyogRGVidWcueGNjb25maWcgKi8sCgkJCQk3QUZBM0M4RTFEMzUzNjBDMDA4MzA4MkUgLyogUmVsZWFzZS54Y2NvbmZpZyAqLywKCQkJCTk3NDBFRUIzMUNGOTAxOTUwMDQzODRGQyAvKiBHZW5lcmF0ZWQueGNjb25maWcgKi8sCgkJCSk7CgkJCW5hbWUgPSBGbHV0dGVyOwoJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwoJCX07CgkJOTdDMTQ2RTUxQ0Y5MDAwRjAwN0MxMTdEID0gewoJCQlpc2EgPSBQQlhHcm91cDsKCQkJY2hpbGRyZW4gPSAoCgkJCQk5NzQwRUVCMTFDRjkwMTg2MDA0Mzg0RkMgLyogRmx1dHRlciAqLywKCQkJCTk3QzE0NkYwMUNGOTAwMEYwMDdDMTE3RCAvKiBSdW5uZXIgKi8sCgkJCQk5N0MxNDZFRjFDRjkwMDBGMDA3QzExN0QgLyogUHJvZHVjdHMgKi8sCgkJCQk5NTY3Q0ZERDhGNzcxNEIwRDQwMzEwNUEgLyogUG9kcyAqLywKCQkJCTcxQTlBMTYwN0UwMzZFMzkxQkE2QTMwMSAvKiBGcmFtZXdvcmtzICovLAoJCQkpOwoJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwoJCX07CgkJOTdDMTQ2RUYxQ0Y5MDAwRjAwN0MxMTdEIC8qIFByb2R1Y3RzICovID0gewoJCQlpc2EgPSBQQlhHcm91cDsKCQkJY2hpbGRyZW4gPSAoCgkJCQk5N0MxNDZFRTFDRjkwMDBGMDA3QzExN0QgLyogUnVubmVyLmFwcCAqLywKCQkJKTsKCQkJbmFtZSA9IFByb2R1Y3RzOwoJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwoJCX07CgkJOTdDMTQ2RjAxQ0Y5MDAwRjAwN0MxMTdEIC8qIFJ1bm5lciAqLyA9IHsKCQkJaXNhID0gUEJYR3JvdXA7CgkJCWNoaWxkcmVuID0gKAoJCQkJOTdDMTQ2RkExQ0Y5MDAwRjAwN0MxMTdEIC8qIE1haW4uc3Rvcnlib2FyZCAqLywKCQkJCTk3QzE0NkZEMUNGOTAwMEYwMDdDMTE3RCAvKiBBc3NldHMueGNhc3NldHMgKi8sCgkJCQk5N0MxNDZGRjFDRjkwMDBGMDA3QzExN0QgLyogTGF1bmNoU2NyZWVuLnN0b3J5Ym9hcmQgKi8sCgkJCQk5N0MxNDcwMjFDRjkwMDBGMDA3QzExN0QgLyogSW5mby5wbGlzdCAqLywKCQkJCTE0OThEMjMyMUU4RTg2MjMwMDQwRjRDMiAvKiBHZW5lcmF0ZWRQbHVnaW5SZWdpc3RyYW50LmggKi8sCgkJCQkxNDk4RDIzMzFFOEU4OTIyMDA0MEY0QzIgLyogR2VuZXJhdGVkUGx1Z2luUmVnaXN0cmFudC5tICovLAoJCQkJNzQ4NThGQUUxRUQyREM1NjAwNTE1ODEwIC8qIEFwcERlbGVnYXRlLnN3aWZ0ICovLAoJCQkJOTdDMTQ3MTExQ0Y5MDAwRjAwN0MxMTdEIC8qIFNjZW5lRGVsZWdhdGUuc3dpZnQgKi8sCgkJCQk3NDg1OEZBRDFFRDJEQzU2MDA1MTU4MTAgLyogUnVubmVyLUJyaWRnaW5nLUhlYWRlci5oICovLAoJCQkpOwoJCQlwYXRoID0gUnVubmVyOwoJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwoJCX07Ci8qIEVuZCBQQlhHcm91cCBzZWN0aW9uICovCgovKiBCZWdpbiBQQlhOYXRpdmVUYXJnZXQgc2VjdGlvbiAqLwoJCTk3QzE0NkVEMUNGOTAwMEYwMDdDMTE3RCAvKiBSdW5uZXIgKi8gPSB7CgkJCWlzYSA9IFBCWE5hdGl2ZVRhcmdldDsKCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDk3QzE0NzA1MUNGOTAwMEYwMDdDMTE3RCAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiUnVubmVyIiAqLzsKCQkJYnVpbGRQaGFzZXMgPSAoCgkJCQkwMjY2NDU0NDQ0QTY0MUY0RUIxMTBGQzUgLyogW0NQXSBDaGVjayBQb2RzIE1hbmlmZXN0LmxvY2sgKi8sCgkJCQk5NzQwRUVCNjFDRjkwMUY2MDA0Mzg0RkMgLyogUnVuIFNjcmlwdCAqLywKCQkJCTk3QzE0NkVBMUNGOTAwMEYwMDdDMTE3RCAvKiBTb3VyY2VzICovLAoJCQkJOTdDMTQ2RUIxQ0Y5MDAwRjAwN0MxMTdEIC8qIEZyYW1ld29ya3MgKi8sCgkJCQk5N0MxNDZFQzFDRjkwMDBGMDA3QzExN0QgLyogUmVzb3VyY2VzICovLAoJCQkJOTcwNUExQzQxQ0Y5MDQ4NTAwNTM4NDg5IC8qIEVtYmVkIEZyYW1ld29ya3MgKi8sCgkJCQkzQjA2QUQxRTFFNDkyM0Y1MDA0RDI2MDggLyogVGhpbiBCaW5hcnkgKi8sCgkJCQk0MDc2MEUxNEYzRTY2NDE1M0RBRDJBQkMgLyogW0NQXSBFbWJlZCBQb2RzIEZyYW1ld29ya3MgKi8sCgkJCSk7CgkJCWJ1aWxkUnVsZXMgPSAoCgkJCSk7CgkJCWRlcGVuZGVuY2llcyA9ICgKCQkJKTsKCQkJbmFtZSA9IFJ1bm5lcjsKCQkJcHJvZHVjdE5hbWUgPSBSdW5uZXI7CgkJCXByb2R1Y3RSZWZlcmVuY2UgPSA5N0MxNDZFRTFDRjkwMDBGMDA3QzExN0QgLyogUnVubmVyLmFwcCAqLzsKCQkJcHJvZHVjdFR5cGUgPSAiY29tLmFwcGxlLnByb2R1Y3QtdHlwZS5hcHBsaWNhdGlvbiI7CgkJfTsKLyogRW5kIFBCWE5hdGl2ZVRhcmdldCBzZWN0aW9uICovCgovKiBCZWdpbiBQQlhQcm9qZWN0IHNlY3Rpb24gKi8KCQk5N0MxNDZFNjFDRjkwMDBGMDA3QzExN0QgLyogUHJvamVjdCBvYmplY3QgKi8gPSB7CgkJCWlzYSA9IFBCWFByb2plY3Q7CgkJCWF0dHJpYnV0ZXMgPSB7CgkJCQlMYXN0VXBncmFkZUNoZWNrID0gMTQzMDsKCQkJCU9SR0FOSVpBVElPTk5BTUUgPSAiIjsKCQkJCVRhcmdldEF0dHJpYnV0ZXMgPSB7CgkJCQkJOTdDMTQ2RUQxQ0Y5MDAwRjAwN0MxMTdEID0gewoJCQkJCQlDcmVhdGVkT25Ub29sc1ZlcnNpb24gPSA3LjMuMTsKCQkJCQkJTGFzdFN3aWZ0TWlncmF0aW9uID0gMTEwMDsKCQkJCQl9OwoJCQkJfTsKCQkJfTsKCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDk3QzE0NkU5MUNGOTAwMEYwMDdDMTE3RCAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3QgIlJ1bm5lciIgKi87CgkJCWNvbXBhdGliaWxpdHlWZXJzaW9uID0gIlhjb2RlIDkuMyI7CgkJCWRldmVsb3BtZW50UmVnaW9uID0gZW47CgkJCWhhc1NjYW5uZWRGb3JFbmNvZGluZ3MgPSAwOwoJCQlrbm93blJlZ2lvbnMgPSAoCgkJCQllbiwKCQkJCUJhc2UsCgkJCSk7CgkJCW1haW5Hcm91cCA9IDk3QzE0NkU1MUNGOTAwMEYwMDdDMTE3RDsKCQkJcHJvZHVjdFJlZkdyb3VwID0gOTdDMTQ2RUYxQ0Y5MDAwRjAwN0MxMTdEIC8qIFByb2R1Y3RzICovOwoJCQlwcm9qZWN0RGlyUGF0aCA9ICIiOwoJCQlwcm9qZWN0Um9vdCA9ICIiOwoJCQl0YXJnZXRzID0gKAoJCQkJOTdDMTQ2RUQxQ0Y5MDAwRjAwN0MxMTdEIC8qIFJ1bm5lciAqLywKCQkJKTsKCQl9OwovKiBFbmQgUEJYUHJvamVjdCBzZWN0aW9uICovCgovKiBCZWdpbiBQQlhSZXNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KCQk5N0MxNDZFQzFDRjkwMDBGMDA3QzExN0QgLyogUmVzb3VyY2VzICovID0gewoJCQlpc2EgPSBQQlhSZXNvdXJjZXNCdWlsZFBoYXNlOwoJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwoJCQlmaWxlcyA9ICgKCQkJCTk3QzE0NzAxMUNGOTAwMEYwMDdDMTE3RCAvKiBMYXVuY2hTY3JlZW4uc3Rvcnlib2FyZCBpbiBSZXNvdXJjZXMgKi8sCgkJCQkzQjM5NjcxNjFFODMzQ0FBMDA0RjU5NzAgLyogQXBwRnJhbWV3b3JrSW5mby5wbGlzdCBpbiBSZXNvdXJjZXMgKi8sCgkJCQk5N0MxNDZGRTFDRjkwMDBGMDA3QzExN0QgLyogQXNzZXRzLnhjYXNzZXRzIGluIFJlc291cmNlcyAqLywKCQkJCTk3QzE0NkZDMUNGOTAwMEYwMDdDMTE3RCAvKiBNYWluLnN0b3J5Ym9hcmQgaW4gUmVzb3VyY2VzICovLAoJCQkpOwoJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKCQl9OwovKiBFbmQgUEJYUmVzb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCgovKiBCZWdpbiBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2Ugc2VjdGlvbiAqLwoJCTAyNjY0NTQ0NDRBNjQxRjRFQjExMEZDNSAvKiBbQ1BdIENoZWNrIFBvZHMgTWFuaWZlc3QubG9jayAqLyA9IHsKCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOwoJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwoJCQlmaWxlcyA9ICgKCQkJKTsKCQkJaW5wdXRGaWxlTGlzdFBhdGhzID0gKAoJCQkpOwoJCQlpbnB1dFBhdGhzID0gKAoJCQkJIiR7UE9EU19QT0RGSUxFX0RJUl9QQVRIfS9Qb2RmaWxlLmxvY2siLAoJCQkJIiR7UE9EU19ST09UfS9NYW5pZmVzdC5sb2NrIiwKCQkJKTsKCQkJbmFtZSA9ICJbQ1BdIENoZWNrIFBvZHMgTWFuaWZlc3QubG9jayI7CgkJCW91dHB1dEZpbGVMaXN0UGF0aHMgPSAoCgkJCSk7CgkJCW91dHB1dFBhdGhzID0gKAoJCQkJIiQoREVSSVZFRF9GSUxFX0RJUikvUG9kcy1SdW5uZXItY2hlY2tNYW5pZmVzdExvY2tSZXN1bHQudHh0IiwKCQkJKTsKCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CgkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CgkJCXNoZWxsU2NyaXB0ID0gImRpZmYgXCIke1BPRFNfUE9ERklMRV9ESVJfUEFUSH0vUG9kZmlsZS5sb2NrXCIgXCIke1BPRFNfUk9PVH0vTWFuaWZlc3QubG9ja1wiID4gL2Rldi9udWxsXG5pZiBbICQ/ICE9IDAgXSA7IHRoZW5cbiAgICAjIHByaW50IGVycm9yIHRvIFNUREVSUlxuICAgIGVjaG8gXCJlcnJvcjogVGhlIHNhbmRib3ggaXMgbm90IGluIHN5bmMgd2l0aCB0aGUgUG9kZmlsZS5sb2NrLiBSdW4gJ3BvZCBpbnN0YWxsJyBvciB1cGRhdGUgeW91ciBDb2NvYVBvZHMgaW5zdGFsbGF0aW9uLlwiID4mMlxuICAgIGV4aXQgMVxuZmlcbiMgVGhpcyBvdXRwdXQgaXMgdXNlZCBieSBYY29kZSAnb3V0cHV0cycgdG8gYXZvaWQgcmUtcnVubmluZyB0aGlzIHNjcmlwdCBwaGFzZS5cbmVjaG8gXCJTVUNDRVNTXCIgPiBcIiR7U0NSSVBUX09VVFBVVF9GSUxFXzB9XCJcbiI7CgkJCXNob3dFbnZWYXJzSW5Mb2cgPSAwOwoJCX07CgkJM0IwNkFEMUUxRTQ5MjNGNTAwNEQyNjA4IC8qIFRoaW4gQmluYXJ5ICovID0gewoJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CgkJCWFsd2F5c091dE9mRGF0ZSA9IDE7CgkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CgkJCWZpbGVzID0gKAoJCQkpOwoJCQlpbnB1dFBhdGhzID0gKAoJCQkJIiR7VEFSR0VUX0JVSUxEX0RJUn0vJHtJTkZPUExJU1RfUEFUSH0iLAoJCQkpOwoJCQluYW1lID0gIlRoaW4gQmluYXJ5IjsKCQkJb3V0cHV0UGF0aHMgPSAoCgkJCSk7CgkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwoJCQlzaGVsbFBhdGggPSAvYmluL3NoOwoJCQlzaGVsbFNjcmlwdCA9ICIvYmluL3NoIFwiJEZMVVRURVJfUk9PVC9wYWNrYWdlcy9mbHV0dGVyX3Rvb2xzL2Jpbi94Y29kZV9iYWNrZW5kLnNoXCIgZW1iZWRfYW5kX3RoaW4iOwoJCX07CgkJNDA3NjBFMTRGM0U2NjQxNTNEQUQyQUJDIC8qIFtDUF0gRW1iZWQgUG9kcyBGcmFtZXdvcmtzICovID0gewoJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CgkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CgkJCWZpbGVzID0gKAoJCQkpOwoJCQlpbnB1dEZpbGVMaXN0UGF0aHMgPSAoCgkJCQkiJHtQT0RTX1JPT1R9L1RhcmdldCBTdXBwb3J0IEZpbGVzL1BvZHMtUnVubmVyL1BvZHMtUnVubmVyLWZyYW1ld29ya3MtJHtDT05GSUdVUkFUSU9OfS1pbnB1dC1maWxlcy54Y2ZpbGVsaXN0IiwKCQkJKTsKCQkJbmFtZSA9ICJbQ1BdIEVtYmVkIFBvZHMgRnJhbWV3b3JrcyI7CgkJCW91dHB1dEZpbGVMaXN0UGF0aHMgPSAoCgkJCQkiJHtQT0RTX1JPT1R9L1RhcmdldCBTdXBwb3J0IEZpbGVzL1BvZHMtUnVubmVyL1BvZHMtUnVubmVyLWZyYW1ld29ya3MtJHtDT05GSUdVUkFUSU9OfS1vdXRwdXQtZmlsZXMueGNmaWxlbGlzdCIsCgkJCSk7CgkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwoJCQlzaGVsbFBhdGggPSAvYmluL3NoOwoJCQlzaGVsbFNjcmlwdCA9ICJcIiR7UE9EU19ST09UfS9UYXJnZXQgU3VwcG9ydCBGaWxlcy9Qb2RzLVJ1bm5lci9Qb2RzLVJ1bm5lci1mcmFtZXdvcmtzLnNoXCJcbiI7CgkJCXNob3dFbnZWYXJzSW5Mb2cgPSAwOwoJCX07CgkJOTc0MEVFQjYxQ0Y5MDFGNjAwNDM4NEZDIC8qIFJ1biBTY3JpcHQgKi8gPSB7CgkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKCQkJYWx3YXlzT3V0T2ZEYXRlID0gMTsKCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKCQkJZmlsZXMgPSAoCgkJCSk7CgkJCWlucHV0UGF0aHMgPSAoCgkJCSk7CgkJCW5hbWUgPSAiUnVuIFNjcmlwdCI7CgkJCW91dHB1dFBhdGhzID0gKAoJCQkpOwoJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKCQkJc2hlbGxTY3JpcHQgPSAiL2Jpbi9zaCBcIiRGTFVUVEVSX1JPT1QvcGFja2FnZXMvZmx1dHRlcl90b29scy9iaW4veGNvZGVfYmFja2VuZC5zaFwiIGJ1aWxkIjsKCQl9OwovKiBFbmQgUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlIHNlY3Rpb24gKi8KCi8qIEJlZ2luIFBCWFNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KCQk5N0MxNDZFQTFDRjkwMDBGMDA3QzExN0QgLyogU291cmNlcyAqLyA9IHsKCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CgkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CgkJCWZpbGVzID0gKAoJCQkJNzQ4NThGQUYxRUQyREM1NjAwNTE1ODEwIC8qIEFwcERlbGVnYXRlLnN3aWZ0IGluIFNvdXJjZXMgKi8sCgkJCQk5N0MxNDcxMDFDRjkwMDBGMDA3QzExN0QgLyogU2NlbmVEZWxlZ2F0ZS5zd2lmdCBpbiBTb3VyY2VzICovLAoJCQkJMTQ5OEQyMzQxRThFODkyMjAwNDBGNEMyIC8qIEdlbmVyYXRlZFBsdWdpblJlZ2lzdHJhbnQubSBpbiBTb3VyY2VzICovLAoJCQkpOwoJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKCQl9OwovKiBFbmQgUEJYU291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwoKLyogQmVnaW4gUEJYVmFyaWFudEdyb3VwIHNlY3Rpb24gKi8KCQk5N0MxNDZGQTFDRjkwMDBGMDA3QzExN0QgLyogTWFpbi5zdG9yeWJvYXJkICovID0gewoJCQlpc2EgPSBQQlhWYXJpYW50R3JvdXA7CgkJCWNoaWxkcmVuID0gKAoJCQkJOTdDMTQ2RkIxQ0Y5MDAwRjAwN0MxMTdEIC8qIEJhc2UgKi8sCgkJCSk7CgkJCW5hbWUgPSBNYWluLnN0b3J5Ym9hcmQ7CgkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CgkJfTsKCQk5N0MxNDZGRjFDRjkwMDBGMDA3QzExN0QgLyogTGF1bmNoU2NyZWVuLnN0b3J5Ym9hcmQgKi8gPSB7CgkJCWlzYSA9IFBCWFZhcmlhbnRHcm91cDsKCQkJY2hpbGRyZW4gPSAoCgkJCQk5N0MxNDcwMDFDRjkwMDBGMDA3QzExN0QgLyogQmFzZSAqLywKCQkJKTsKCQkJbmFtZSA9IExhdW5jaFNjcmVlbi5zdG9yeWJvYXJkOwoJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwoJCX07Ci8qIEVuZCBQQlhWYXJpYW50R3JvdXAgc2VjdGlvbiAqLwoKLyogQmVnaW4gWENCdWlsZENvbmZpZ3VyYXRpb24gc2VjdGlvbiAqLwoJCTI0OTAyMUQzMjE3RTRGREIwMEFFOTVCOSAvKiBQcm9maWxlICovID0gewoJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKCQkJYnVpbGRTZXR0aW5ncyA9IHsKCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POwoJCQkJQ0xBTkdfQU5BTFlaRVJfTk9OTlVMTCA9IFlFUzsKCQkJCUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9ICJnbnUrKzB4IjsKCQkJCUNMQU5HX0NYWF9MSUJSQVJZID0gImxpYmMrKyI7CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNMQU5HX0VOQUJMRV9PQkpDX0FSQyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQkxPQ0tfQ0FQVFVSRV9BVVRPUkVMRUFTSU5HID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9CT09MX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0NPTU1BID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT05TVEFOVF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ERVBSRUNBVEVEX09CSkNfSU1QTEVNRU5UQVRJT05TID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9ESVJFQ1RfT0JKQ19JU0FfVVNBR0UgPSBZRVNfRVJST1I7CgkJCQlDTEFOR19XQVJOX0VNUFRZX0JPRFkgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0VOVU1fQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5GSU5JVEVfUkVDVVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9JTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fTk9OX0xJVEVSQUxfTlVMTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0lNUExJQ0lUX1JFVEFJTl9TRUxGID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9PQkpDX0xJVEVSQUxfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19ST09UX0NMQVNTID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9SQU5HRV9MT09QX0FOQUxZU0lTID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9TVFJJQ1RfUFJPVE9UWVBFUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1VTUElDSU9VU19NT1ZFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9VTlJFQUNIQUJMRV9DT0RFID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9fRFVQTElDQVRFX01FVEhPRF9NQVRDSCA9IFlFUzsKCQkJCSJDT0RFX1NJR05fSURFTlRJVFlbc2RrPWlwaG9uZW9zKl0iID0gImlQaG9uZSBEZXZlbG9wZXIiOwoJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IE5POwoJCQkJREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gImR3YXJmLXdpdGgtZHN5bSI7CgkJCQlFTkFCTEVfTlNfQVNTRVJUSU9OUyA9IE5POwoJCQkJRU5BQkxFX1NUUklDVF9PQkpDX01TR1NFTkQgPSBZRVM7CgkJCQlHQ0NfQ19MQU5HVUFHRV9TVEFOREFSRCA9IGdudTk5OwoJCQkJR0NDX05PX0NPTU1PTl9CTE9DS1MgPSBZRVM7CgkJCQlHQ0NfV0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX0FCT1VUX1JFVFVSTl9UWVBFID0gWUVTX0VSUk9SOwoJCQkJR0NDX1dBUk5fVU5ERUNMQVJFRF9TRUxFQ1RPUiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOSU5JVElBTElaRURfQVVUT1MgPSBZRVNfQUdHUkVTU0lWRTsKCQkJCUdDQ19XQVJOX1VOVVNFRF9GVU5DVElPTiA9IFlFUzsKCQkJCUdDQ19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9IFlFUzsKCQkJCUlQSE9ORU9TX0RFUExPWU1FTlRfVEFSR0VUID0gMTMuMDsKCQkJCU1UTF9FTkFCTEVfREVCVUdfSU5GTyA9IE5POwoJCQkJU0RLUk9PVCA9IGlwaG9uZW9zOwoJCQkJU1VQUE9SVEVEX1BMQVRGT1JNUyA9IGlwaG9uZW9zOwoJCQkJVEFSR0VURURfREVWSUNFX0ZBTUlMWSA9ICIxLDIiOwoJCQkJVkFMSURBVEVfUFJPRFVDVCA9IFlFUzsKCQkJfTsKCQkJbmFtZSA9IFByb2ZpbGU7CgkJfTsKCQkyNDkwMjFENDIxN0U0RkRCMDBBRTk1QjkgLyogUHJvZmlsZSAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gN0FGQTNDOEUxRDM1MzYwQzAwODMwODJFIC8qIFJlbGVhc2UueGNjb25maWcgKi87CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBU1NFVENBVEFMT0dfQ09NUElMRVJfQVBQSUNPTl9OQU1FID0gQXBwSWNvbjsKCQkJCUNMQU5HX0VOQUJMRV9NT0RVTEVTID0gWUVTOwoJCQkJQ1VSUkVOVF9QUk9KRUNUX1ZFUlNJT04gPSAiJChGTFVUVEVSX0JVSUxEX05VTUJFUikiOwoJCQkJREVWRUxPUE1FTlRfVEVBTSA9IFgzUDI3NFZLUEY7CgkJCQlFTkFCTEVfQklUQ09ERSA9IE5POwoJCQkJSU5GT1BMSVNUX0ZJTEUgPSBSdW5uZXIvSW5mby5wbGlzdDsKCQkJCUxEX1JVTlBBVEhfU0VBUkNIX1BBVEhTID0gKAoJCQkJCSIkKGluaGVyaXRlZCkiLAoJCQkJCSJAZXhlY3V0YWJsZV9wYXRoL0ZyYW1ld29ya3MiLAoJCQkJKTsKCQkJCVBST0RVQ1RfQlVORExFX0lERU5USUZJRVIgPSB7e29yZ19uYW1lLmRvdENhc2UoKX19OwoJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKCQkJCVNXSUZUX09CSkNfQlJJREdJTkdfSEVBREVSID0gIlJ1bm5lci9SdW5uZXItQnJpZGdpbmctSGVhZGVyLmgiOwoJCQkJU1dJRlRfVkVSU0lPTiA9IDUuMDsKCQkJCVZFUlNJT05JTkdfU1lTVEVNID0gImFwcGxlLWdlbmVyaWMiOwoJCQl9OwoJCQluYW1lID0gUHJvZmlsZTsKCQl9OwoJCTk3QzE0NzAzMUNGOTAwMEYwMDdDMTE3RCAvKiBEZWJ1ZyAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTzsKCQkJCUNMQU5HX0FOQUxZWkVSX05PTk5VTEwgPSBZRVM7CgkJCQlDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSAiZ251KysweCI7CgkJCQlDTEFOR19DWFhfTElCUkFSWSA9ICJsaWJjKysiOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDTEFOR19FTkFCTEVfT0JKQ19BUkMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0JMT0NLX0NBUFRVUkVfQVVUT1JFTEVBU0lORyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT01NQSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fREVQUkVDQVRFRF9PQkpDX0lNUExFTUVOVEFUSU9OUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fRElSRUNUX09CSkNfSVNBX1VTQUdFID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9FTVBUWV9CT0RZID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0lORklOSVRFX1JFQ1VSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5UX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX05PTl9MSVRFUkFMX05VTExfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19JTVBMSUNJVF9SRVRBSU5fU0VMRiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19MSVRFUkFMX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfUk9PVF9DTEFTUyA9IFlFU19FUlJPUjsKCQkJCUNMQU5HX1dBUk5fUkFOR0VfTE9PUF9BTkFMWVNJUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1RSSUNUX1BST1RPVFlQRVMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1NVU1BJQ0lPVVNfTU9WRSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fVU5SRUFDSEFCTEVfQ09ERSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fX0RVUExJQ0FURV9NRVRIT0RfTUFUQ0ggPSBZRVM7CgkJCQkiQ09ERV9TSUdOX0lERU5USVRZW3Nkaz1pcGhvbmVvcypdIiA9ICJpUGhvbmUgRGV2ZWxvcGVyIjsKCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBOTzsKCQkJCURFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9IGR3YXJmOwoJCQkJRU5BQkxFX1NUUklDVF9PQkpDX01TR1NFTkQgPSBZRVM7CgkJCQlFTkFCTEVfVEVTVEFCSUxJVFkgPSBZRVM7CgkJCQlHQ0NfQ19MQU5HVUFHRV9TVEFOREFSRCA9IGdudTk5OwoJCQkJR0NDX0RZTkFNSUNfTk9fUElDID0gTk87CgkJCQlHQ0NfTk9fQ09NTU9OX0JMT0NLUyA9IFlFUzsKCQkJCUdDQ19PUFRJTUlaQVRJT05fTEVWRUwgPSAwOwoJCQkJR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICgKCQkJCQkiREVCVUc9MSIsCgkJCQkJIiQoaW5oZXJpdGVkKSIsCgkJCQkpOwoJCQkJR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9BQk9VVF9SRVRVUk5fVFlQRSA9IFlFU19FUlJPUjsKCQkJCUdDQ19XQVJOX1VOREVDTEFSRURfU0VMRUNUT1IgPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTklOSVRJQUxJWkVEX0FVVE9TID0gWUVTX0FHR1JFU1NJVkU7CgkJCQlHQ0NfV0FSTl9VTlVTRURfRlVOQ1RJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTlVTRURfVkFSSUFCTEUgPSBZRVM7CgkJCQlJUEhPTkVPU19ERVBMT1lNRU5UX1RBUkdFVCA9IDEzLjA7CgkJCQlNVExfRU5BQkxFX0RFQlVHX0lORk8gPSBZRVM7CgkJCQlPTkxZX0FDVElWRV9BUkNIID0gWUVTOwoJCQkJU0RLUk9PVCA9IGlwaG9uZW9zOwoJCQkJVEFSR0VURURfREVWSUNFX0ZBTUlMWSA9ICIxLDIiOwoJCQl9OwoJCQluYW1lID0gRGVidWc7CgkJfTsKCQk5N0MxNDcwNDFDRjkwMDBGMDA3QzExN0QgLyogUmVsZWFzZSAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTzsKCQkJCUNMQU5HX0FOQUxZWkVSX05PTk5VTEwgPSBZRVM7CgkJCQlDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSAiZ251KysweCI7CgkJCQlDTEFOR19DWFhfTElCUkFSWSA9ICJsaWJjKysiOwoJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CgkJCQlDTEFOR19FTkFCTEVfT0JKQ19BUkMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX0JMT0NLX0NBUFRVUkVfQVVUT1JFTEVBU0lORyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9DT01NQSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fREVQUkVDQVRFRF9PQkpDX0lNUExFTUVOVEFUSU9OUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fRElSRUNUX09CSkNfSVNBX1VTQUdFID0gWUVTX0VSUk9SOwoJCQkJQ0xBTkdfV0FSTl9FTVBUWV9CT0RZID0gWUVTOwoJCQkJQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX0lORklOSVRFX1JFQ1VSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fSU5UX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX05PTl9MSVRFUkFMX05VTExfQ09OVkVSU0lPTiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19JTVBMSUNJVF9SRVRBSU5fU0VMRiA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fT0JKQ19MSVRFUkFMX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlDTEFOR19XQVJOX09CSkNfUk9PVF9DTEFTUyA9IFlFU19FUlJPUjsKCQkJCUNMQU5HX1dBUk5fUkFOR0VfTE9PUF9BTkFMWVNJUyA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fU1RSSUNUX1BST1RPVFlQRVMgPSBZRVM7CgkJCQlDTEFOR19XQVJOX1NVU1BJQ0lPVVNfTU9WRSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fVU5SRUFDSEFCTEVfQ09ERSA9IFlFUzsKCQkJCUNMQU5HX1dBUk5fX0RVUExJQ0FURV9NRVRIT0RfTUFUQ0ggPSBZRVM7CgkJCQkiQ09ERV9TSUdOX0lERU5USVRZW3Nkaz1pcGhvbmVvcypdIiA9ICJpUGhvbmUgRGV2ZWxvcGVyIjsKCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBOTzsKCQkJCURFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9ICJkd2FyZi13aXRoLWRzeW0iOwoJCQkJRU5BQkxFX05TX0FTU0VSVElPTlMgPSBOTzsKCQkJCUVOQUJMRV9TVFJJQ1RfT0JKQ19NU0dTRU5EID0gWUVTOwoJCQkJR0NDX0NfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnU5OTsKCQkJCUdDQ19OT19DT01NT05fQkxPQ0tTID0gWUVTOwoJCQkJR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9BQk9VVF9SRVRVUk5fVFlQRSA9IFlFU19FUlJPUjsKCQkJCUdDQ19XQVJOX1VOREVDTEFSRURfU0VMRUNUT1IgPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTklOSVRJQUxJWkVEX0FVVE9TID0gWUVTX0FHR1JFU1NJVkU7CgkJCQlHQ0NfV0FSTl9VTlVTRURfRlVOQ1RJT04gPSBZRVM7CgkJCQlHQ0NfV0FSTl9VTlVTRURfVkFSSUFCTEUgPSBZRVM7CgkJCQlJUEhPTkVPU19ERVBMT1lNRU5UX1RBUkdFVCA9IDEzLjA7CgkJCQlNVExfRU5BQkxFX0RFQlVHX0lORk8gPSBOTzsKCQkJCVNES1JPT1QgPSBpcGhvbmVvczsKCQkJCVNVUFBPUlRFRF9QTEFURk9STVMgPSBpcGhvbmVvczsKCQkJCVNXSUZUX0NPTVBJTEFUSU9OX01PREUgPSB3aG9sZW1vZHVsZTsKCQkJCVNXSUZUX09QVElNSVpBVElPTl9MRVZFTCA9ICItTyI7CgkJCQlUQVJHRVRFRF9ERVZJQ0VfRkFNSUxZID0gIjEsMiI7CgkJCQlWQUxJREFURV9QUk9EVUNUID0gWUVTOwoJCQl9OwoJCQluYW1lID0gUmVsZWFzZTsKCQl9OwoJCTk3QzE0NzA2MUNGOTAwMEYwMDdDMTE3RCAvKiBEZWJ1ZyAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gOTc0MEVFQjIxQ0Y5MDE5NTAwNDM4NEZDIC8qIERlYnVnLnhjY29uZmlnICovOwoJCQlidWlsZFNldHRpbmdzID0gewoJCQkJQVNTRVRDQVRBTE9HX0NPTVBJTEVSX0FQUElDT05fTkFNRSA9IEFwcEljb247CgkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKCQkJCUNVUlJFTlRfUFJPSkVDVF9WRVJTSU9OID0gIiQoRkxVVFRFUl9CVUlMRF9OVU1CRVIpIjsKCQkJCURFVkVMT1BNRU5UX1RFQU0gPSBYM1AyNzRWS1BGOwoJCQkJRU5BQkxFX0JJVENPREUgPSBOTzsKCQkJCUlORk9QTElTVF9GSUxFID0gUnVubmVyL0luZm8ucGxpc3Q7CgkJCQlMRF9SVU5QQVRIX1NFQVJDSF9QQVRIUyA9ICgKCQkJCQkiJChpbmhlcml0ZWQpIiwKCQkJCQkiQGV4ZWN1dGFibGVfcGF0aC9GcmFtZXdvcmtzIiwKCQkJCSk7CgkJCQlQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0ge3tvcmdfbmFtZS5kb3RDYXNlKCl9fTsKCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CgkJCQlTV0lGVF9PQkpDX0JSSURHSU5HX0hFQURFUiA9ICJSdW5uZXIvUnVubmVyLUJyaWRnaW5nLUhlYWRlci5oIjsKCQkJCVNXSUZUX09QVElNSVpBVElPTl9MRVZFTCA9ICItT25vbmUiOwoJCQkJU1dJRlRfVkVSU0lPTiA9IDUuMDsKCQkJCVZFUlNJT05JTkdfU1lTVEVNID0gImFwcGxlLWdlbmVyaWMiOwoJCQl9OwoJCQluYW1lID0gRGVidWc7CgkJfTsKCQk5N0MxNDcwNzFDRjkwMDBGMDA3QzExN0QgLyogUmVsZWFzZSAqLyA9IHsKCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CgkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gN0FGQTNDOEUxRDM1MzYwQzAwODMwODJFIC8qIFJlbGVhc2UueGNjb25maWcgKi87CgkJCWJ1aWxkU2V0dGluZ3MgPSB7CgkJCQlBU1NFVENBVEFMT0dfQ09NUElMRVJfQVBQSUNPTl9OQU1FID0gQXBwSWNvbjsKCQkJCUNMQU5HX0VOQUJMRV9NT0RVTEVTID0gWUVTOwoJCQkJQ1VSUkVOVF9QUk9KRUNUX1ZFUlNJT04gPSAiJChGTFVUVEVSX0JVSUxEX05VTUJFUikiOwoJCQkJREVWRUxPUE1FTlRfVEVBTSA9IFgzUDI3NFZLUEY7CgkJCQlFTkFCTEVfQklUQ09ERSA9IE5POwoJCQkJSU5GT1BMSVNUX0ZJTEUgPSBSdW5uZXIvSW5mby5wbGlzdDsKCQkJCUxEX1JVTlBBVEhfU0VBUkNIX1BBVEhTID0gKAoJCQkJCSIkKGluaGVyaXRlZCkiLAoJCQkJCSJAZXhlY3V0YWJsZV9wYXRoL0ZyYW1ld29ya3MiLAoJCQkJKTsKCQkJCVBST0RVQ1RfQlVORExFX0lERU5USUZJRVIgPSB7e29yZ19uYW1lLmRvdENhc2UoKX19OwoJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKCQkJCVNXSUZUX09CSkNfQlJJREdJTkdfSEVBREVSID0gIlJ1bm5lci9SdW5uZXItQnJpZGdpbmctSGVhZGVyLmgiOwoJCQkJU1dJRlRfVkVSU0lPTiA9IDUuMDsKCQkJCVZFUlNJT05JTkdfU1lTVEVNID0gImFwcGxlLWdlbmVyaWMiOwoJCQl9OwoJCQluYW1lID0gUmVsZWFzZTsKCQl9OwovKiBFbmQgWENCdWlsZENvbmZpZ3VyYXRpb24gc2VjdGlvbiAqLwoKLyogQmVnaW4gWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9uICovCgkJOTdDMTQ2RTkxQ0Y5MDAwRjAwN0MxMTdEIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJvamVjdCAiUnVubmVyIiAqLyA9IHsKCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKCQkJCTk3QzE0NzAzMUNGOTAwMEYwMDdDMTE3RCAvKiBEZWJ1ZyAqLywKCQkJCTk3QzE0NzA0MUNGOTAwMEYwMDdDMTE3RCAvKiBSZWxlYXNlICovLAoJCQkJMjQ5MDIxRDMyMTdFNEZEQjAwQUU5NUI5IC8qIFByb2ZpbGUgKi8sCgkJCSk7CgkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUmVsZWFzZTsKCQl9OwoJCTk3QzE0NzA1MUNGOTAwMEYwMDdDMTE3RCAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiUnVubmVyIiAqLyA9IHsKCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKCQkJCTk3QzE0NzA2MUNGOTAwMEYwMDdDMTE3RCAvKiBEZWJ1ZyAqLywKCQkJCTk3QzE0NzA3MUNGOTAwMEYwMDdDMTE3RCAvKiBSZWxlYXNlICovLAoJCQkJMjQ5MDIxRDQyMTdFNEZEQjAwQUU5NUI5IC8qIFByb2ZpbGUgKi8sCgkJCSk7CgkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUmVsZWFzZTsKCQl9OwovKiBFbmQgWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9uICovCgl9OwoJcm9vdE9iamVjdCA9IDk3QzE0NkU2MUNGOTAwMEYwMDdDMTE3RCAvKiBQcm9qZWN0IG9iamVjdCAqLzsKfQo=", "type": "text", }, { @@ -931,7 +931,7 @@ final veryGoodFlutterPluginBundle = MasonBundle.fromJson({ "path": "{{project_name.snakeCase()}}/example/{{#ios}}ios{{/ios}}/Runner/AppDelegate.swift", "data": - "aW1wb3J0IFVJS2l0CmltcG9ydCBGbHV0dGVyCgpAbWFpbgpAb2JqYyBjbGFzcyBBcHBEZWxlZ2F0ZTogRmx1dHRlckFwcERlbGVnYXRlIHsKICBvdmVycmlkZSBmdW5jIGFwcGxpY2F0aW9uKAogICAgXyBhcHBsaWNhdGlvbjogVUlBcHBsaWNhdGlvbiwKICAgIGRpZEZpbmlzaExhdW5jaGluZ1dpdGhPcHRpb25zIGxhdW5jaE9wdGlvbnM6IFtVSUFwcGxpY2F0aW9uLkxhdW5jaE9wdGlvbnNLZXk6IEFueV0/CiAgKSAtPiBCb29sIHsKICAgIEdlbmVyYXRlZFBsdWdpblJlZ2lzdHJhbnQucmVnaXN0ZXIod2l0aDogc2VsZikKICAgIHJldHVybiBzdXBlci5hcHBsaWNhdGlvbihhcHBsaWNhdGlvbiwgZGlkRmluaXNoTGF1bmNoaW5nV2l0aE9wdGlvbnM6IGxhdW5jaE9wdGlvbnMpCiAgfQp9Cg==", + "aW1wb3J0IFVJS2l0CmltcG9ydCBGbHV0dGVyCgpAbWFpbgpAb2JqYyBjbGFzcyBBcHBEZWxlZ2F0ZTogRmx1dHRlckFwcERlbGVnYXRlLCBGbHV0dGVySW1wbGljaXRFbmdpbmVEZWxlZ2F0ZSB7CiAgb3ZlcnJpZGUgZnVuYyBhcHBsaWNhdGlvbigKICAgIF8gYXBwbGljYXRpb246IFVJQXBwbGljYXRpb24sCiAgICBkaWRGaW5pc2hMYXVuY2hpbmdXaXRoT3B0aW9ucyBsYXVuY2hPcHRpb25zOiBbVUlBcHBsaWNhdGlvbi5MYXVuY2hPcHRpb25zS2V5OiBBbnldPwogICkgLT4gQm9vbCB7CiAgICByZXR1cm4gc3VwZXIuYXBwbGljYXRpb24oYXBwbGljYXRpb24sIGRpZEZpbmlzaExhdW5jaGluZ1dpdGhPcHRpb25zOiBsYXVuY2hPcHRpb25zKQogIH0KCiAgZnVuYyBkaWRJbml0aWFsaXplSW1wbGljaXRGbHV0dGVyRW5naW5lKF8gZW5naW5lQnJpZGdlOiBGbHV0dGVySW1wbGljaXRFbmdpbmVCcmlkZ2UpIHsKICAgIEdlbmVyYXRlZFBsdWdpblJlZ2lzdHJhbnQucmVnaXN0ZXIod2l0aDogZW5naW5lQnJpZGdlLnBsdWdpblJlZ2lzdHJ5KQogIH0KfQo=", "type": "text", }, { @@ -1099,7 +1099,7 @@ final veryGoodFlutterPluginBundle = MasonBundle.fromJson({ "path": "{{project_name.snakeCase()}}/example/{{#ios}}ios{{/ios}}/Runner/Info.plist", "data": - "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CjxwbGlzdCB2ZXJzaW9uPSIxLjAiPgo8ZGljdD4KCTxrZXk+Q0ZCdW5kbGVEZXZlbG9wbWVudFJlZ2lvbjwva2V5PgoJPHN0cmluZz4kKERFVkVMT1BNRU5UX0xBTkdVQUdFKTwvc3RyaW5nPgoJPGtleT5DRkJ1bmRsZURpc3BsYXlOYW1lPC9rZXk+Cgk8c3RyaW5nPkV4YW1wbGU8L3N0cmluZz4KCTxrZXk+Q0ZCdW5kbGVFeGVjdXRhYmxlPC9rZXk+Cgk8c3RyaW5nPiQoRVhFQ1VUQUJMRV9OQU1FKTwvc3RyaW5nPgoJPGtleT5DRkJ1bmRsZUlkZW50aWZpZXI8L2tleT4KCTxzdHJpbmc+JChQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSKTwvc3RyaW5nPgoJPGtleT5DRkJ1bmRsZUluZm9EaWN0aW9uYXJ5VmVyc2lvbjwva2V5PgoJPHN0cmluZz42LjA8L3N0cmluZz4KCTxrZXk+Q0ZCdW5kbGVOYW1lPC9rZXk+Cgk8c3RyaW5nPmV4YW1wbGU8L3N0cmluZz4KCTxrZXk+Q0ZCdW5kbGVQYWNrYWdlVHlwZTwva2V5PgoJPHN0cmluZz5BUFBMPC9zdHJpbmc+Cgk8a2V5PkNGQnVuZGxlU2hvcnRWZXJzaW9uU3RyaW5nPC9rZXk+Cgk8c3RyaW5nPiQoRkxVVFRFUl9CVUlMRF9OQU1FKTwvc3RyaW5nPgoJPGtleT5DRkJ1bmRsZVNpZ25hdHVyZTwva2V5PgoJPHN0cmluZz4/Pz8/PC9zdHJpbmc+Cgk8a2V5PkNGQnVuZGxlVmVyc2lvbjwva2V5PgoJPHN0cmluZz4kKEZMVVRURVJfQlVJTERfTlVNQkVSKTwvc3RyaW5nPgoJPGtleT5MU1JlcXVpcmVzSVBob25lT1M8L2tleT4KCTx0cnVlLz4KCTxrZXk+VUlMYXVuY2hTdG9yeWJvYXJkTmFtZTwva2V5PgoJPHN0cmluZz5MYXVuY2hTY3JlZW48L3N0cmluZz4KCTxrZXk+VUlNYWluU3Rvcnlib2FyZEZpbGU8L2tleT4KCTxzdHJpbmc+TWFpbjwvc3RyaW5nPgoJPGtleT5VSVN1cHBvcnRlZEludGVyZmFjZU9yaWVudGF0aW9uczwva2V5PgoJPGFycmF5PgoJCTxzdHJpbmc+VUlJbnRlcmZhY2VPcmllbnRhdGlvblBvcnRyYWl0PC9zdHJpbmc+CgkJPHN0cmluZz5VSUludGVyZmFjZU9yaWVudGF0aW9uTGFuZHNjYXBlTGVmdDwvc3RyaW5nPgoJCTxzdHJpbmc+VUlJbnRlcmZhY2VPcmllbnRhdGlvbkxhbmRzY2FwZVJpZ2h0PC9zdHJpbmc+Cgk8L2FycmF5PgoJPGtleT5VSVN1cHBvcnRlZEludGVyZmFjZU9yaWVudGF0aW9uc35pcGFkPC9rZXk+Cgk8YXJyYXk+CgkJPHN0cmluZz5VSUludGVyZmFjZU9yaWVudGF0aW9uUG9ydHJhaXQ8L3N0cmluZz4KCQk8c3RyaW5nPlVJSW50ZXJmYWNlT3JpZW50YXRpb25Qb3J0cmFpdFVwc2lkZURvd248L3N0cmluZz4KCQk8c3RyaW5nPlVJSW50ZXJmYWNlT3JpZW50YXRpb25MYW5kc2NhcGVMZWZ0PC9zdHJpbmc+CgkJPHN0cmluZz5VSUludGVyZmFjZU9yaWVudGF0aW9uTGFuZHNjYXBlUmlnaHQ8L3N0cmluZz4KCTwvYXJyYXk+Cgk8a2V5PlVJVmlld0NvbnRyb2xsZXJCYXNlZFN0YXR1c0JhckFwcGVhcmFuY2U8L2tleT4KCTxmYWxzZS8+Cgk8a2V5PkNBRGlzYWJsZU1pbmltdW1GcmFtZUR1cmF0aW9uT25QaG9uZTwva2V5PgoJPHRydWUvPgoJPGtleT5VSUFwcGxpY2F0aW9uU3VwcG9ydHNJbmRpcmVjdElucHV0RXZlbnRzPC9rZXk+Cgk8dHJ1ZS8+CjwvZGljdD4KPC9wbGlzdD4K", + "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CjxwbGlzdCB2ZXJzaW9uPSIxLjAiPgo8ZGljdD4KCTxrZXk+Q0ZCdW5kbGVEZXZlbG9wbWVudFJlZ2lvbjwva2V5PgoJPHN0cmluZz4kKERFVkVMT1BNRU5UX0xBTkdVQUdFKTwvc3RyaW5nPgoJPGtleT5DRkJ1bmRsZURpc3BsYXlOYW1lPC9rZXk+Cgk8c3RyaW5nPkV4YW1wbGU8L3N0cmluZz4KCTxrZXk+Q0ZCdW5kbGVFeGVjdXRhYmxlPC9rZXk+Cgk8c3RyaW5nPiQoRVhFQ1VUQUJMRV9OQU1FKTwvc3RyaW5nPgoJPGtleT5DRkJ1bmRsZUlkZW50aWZpZXI8L2tleT4KCTxzdHJpbmc+JChQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSKTwvc3RyaW5nPgoJPGtleT5DRkJ1bmRsZUluZm9EaWN0aW9uYXJ5VmVyc2lvbjwva2V5PgoJPHN0cmluZz42LjA8L3N0cmluZz4KCTxrZXk+Q0ZCdW5kbGVOYW1lPC9rZXk+Cgk8c3RyaW5nPmV4YW1wbGU8L3N0cmluZz4KCTxrZXk+Q0ZCdW5kbGVQYWNrYWdlVHlwZTwva2V5PgoJPHN0cmluZz5BUFBMPC9zdHJpbmc+Cgk8a2V5PkNGQnVuZGxlU2hvcnRWZXJzaW9uU3RyaW5nPC9rZXk+Cgk8c3RyaW5nPiQoRkxVVFRFUl9CVUlMRF9OQU1FKTwvc3RyaW5nPgoJPGtleT5DRkJ1bmRsZVNpZ25hdHVyZTwva2V5PgoJPHN0cmluZz4/Pz8/PC9zdHJpbmc+Cgk8a2V5PkNGQnVuZGxlVmVyc2lvbjwva2V5PgoJPHN0cmluZz4kKEZMVVRURVJfQlVJTERfTlVNQkVSKTwvc3RyaW5nPgoJPGtleT5MU1JlcXVpcmVzSVBob25lT1M8L2tleT4KCTx0cnVlLz4KCTxrZXk+VUlMYXVuY2hTdG9yeWJvYXJkTmFtZTwva2V5PgoJPHN0cmluZz5MYXVuY2hTY3JlZW48L3N0cmluZz4KCTxrZXk+VUlNYWluU3Rvcnlib2FyZEZpbGU8L2tleT4KCTxzdHJpbmc+TWFpbjwvc3RyaW5nPgoJPGtleT5VSVN1cHBvcnRlZEludGVyZmFjZU9yaWVudGF0aW9uczwva2V5PgoJPGFycmF5PgoJCTxzdHJpbmc+VUlJbnRlcmZhY2VPcmllbnRhdGlvblBvcnRyYWl0PC9zdHJpbmc+CgkJPHN0cmluZz5VSUludGVyZmFjZU9yaWVudGF0aW9uTGFuZHNjYXBlTGVmdDwvc3RyaW5nPgoJCTxzdHJpbmc+VUlJbnRlcmZhY2VPcmllbnRhdGlvbkxhbmRzY2FwZVJpZ2h0PC9zdHJpbmc+Cgk8L2FycmF5PgoJPGtleT5VSVN1cHBvcnRlZEludGVyZmFjZU9yaWVudGF0aW9uc35pcGFkPC9rZXk+Cgk8YXJyYXk+CgkJPHN0cmluZz5VSUludGVyZmFjZU9yaWVudGF0aW9uUG9ydHJhaXQ8L3N0cmluZz4KCQk8c3RyaW5nPlVJSW50ZXJmYWNlT3JpZW50YXRpb25Qb3J0cmFpdFVwc2lkZURvd248L3N0cmluZz4KCQk8c3RyaW5nPlVJSW50ZXJmYWNlT3JpZW50YXRpb25MYW5kc2NhcGVMZWZ0PC9zdHJpbmc+CgkJPHN0cmluZz5VSUludGVyZmFjZU9yaWVudGF0aW9uTGFuZHNjYXBlUmlnaHQ8L3N0cmluZz4KCTwvYXJyYXk+Cgk8a2V5PlVJVmlld0NvbnRyb2xsZXJCYXNlZFN0YXR1c0JhckFwcGVhcmFuY2U8L2tleT4KCTxmYWxzZS8+Cgk8a2V5PkNBRGlzYWJsZU1pbmltdW1GcmFtZUR1cmF0aW9uT25QaG9uZTwva2V5PgoJPHRydWUvPgoJPGtleT5VSUFwcGxpY2F0aW9uU3VwcG9ydHNJbmRpcmVjdElucHV0RXZlbnRzPC9rZXk+Cgk8dHJ1ZS8+Cgk8a2V5PlVJQXBwbGljYXRpb25TY2VuZU1hbmlmZXN0PC9rZXk+Cgk8ZGljdD4KCQk8a2V5PlVJQXBwbGljYXRpb25TdXBwb3J0c011bHRpcGxlU2NlbmVzPC9rZXk+CgkJPGZhbHNlLz4KCQk8a2V5PlVJU2NlbmVDb25maWd1cmF0aW9uczwva2V5PgoJCTxkaWN0PgoJCQk8a2V5PlVJV2luZG93U2NlbmVTZXNzaW9uUm9sZUFwcGxpY2F0aW9uPC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+VUlTY2VuZUNsYXNzTmFtZTwva2V5PgoJCQkJCTxzdHJpbmc+VUlXaW5kb3dTY2VuZTwvc3RyaW5nPgoJCQkJCTxrZXk+VUlTY2VuZURlbGVnYXRlQ2xhc3NOYW1lPC9rZXk+CgkJCQkJPHN0cmluZz4kKFBST0RVQ1RfTU9EVUxFX05BTUUpLlNjZW5lRGVsZWdhdGU8L3N0cmluZz4KCQkJCQk8a2V5PlVJU2NlbmVDb25maWd1cmF0aW9uTmFtZTwva2V5PgoJCQkJCTxzdHJpbmc+Zmx1dHRlcjwvc3RyaW5nPgoJCQkJCTxrZXk+VUlTY2VuZVN0b3J5Ym9hcmRGaWxlPC9rZXk+CgkJCQkJPHN0cmluZz5NYWluPC9zdHJpbmc+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJPC9kaWN0Pgo8L2RpY3Q+CjwvcGxpc3Q+Cg==", "type": "text", }, { @@ -1108,6 +1108,13 @@ final veryGoodFlutterPluginBundle = MasonBundle.fromJson({ "data": "I2ltcG9ydCAiR2VuZXJhdGVkUGx1Z2luUmVnaXN0cmFudC5oIgo=", "type": "text", }, + { + "path": + "{{project_name.snakeCase()}}/example/{{#ios}}ios{{/ios}}/Runner/SceneDelegate.swift", + "data": + "aW1wb3J0IEZsdXR0ZXIKaW1wb3J0IFVJS2l0CgpjbGFzcyBTY2VuZURlbGVnYXRlOiBGbHV0dGVyU2NlbmVEZWxlZ2F0ZSB7CiAgLy8gRmx1dHRlclNjZW5lRGVsZWdhdGUgaGFuZGxlcyBhbGwgc2NlbmUgbGlmZWN5Y2xlIGV2ZW50cwp9Cg==", + "type": "text", + }, { "path": "{{project_name.snakeCase()}}/example/{{#linux}}linux{{/linux}}/.gitignore", @@ -1632,7 +1639,7 @@ final veryGoodFlutterPluginBundle = MasonBundle.fromJson({ { "path": "lib/version.dart", "data": - "Ly8vIFZlcnNpb24gaW5mb3JtYXRpb24gYWJvdXQgdGhlIHRlbXBsYXRlLgovLy8KLy8vIFRoaXMgZmlsZSBpcyBub3QgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQuIEl0IGlzIG1hbnVhbGx5IG1haW50YWluZWQgYW5kCi8vLyBzaG91bGQgYmUgdXBkYXRlZCB3aGVuIHRoZSB0ZW1wbGF0ZSByZXF1aXJlcyB0byBiZSB1cGRhdGVkLgpsaWJyYXJ5OwoKLy8vIFRoZSB2ZXJzaW9uIG9mIHRoZSB0ZW1wbGF0ZS4KY29uc3QgJHRlbXBsYXRlVmVyc2lvbiA9ICcxLjAuMCc7CgovLy8gVGhlIEZsdXR0ZXIgdmVyc2lvbiBhc3NvY2lhdGVkIHdpdGggdGhlIHRlbXBsYXRlIHZlcnNpb24uCmNvbnN0ICRmbHV0dGVyVmVyc2lvbiA9ICczLjM1LjAnOwoKLy8vIFRoZSBtaW5pbXVtIERhcnQgdmVyc2lvbiByZXF1aXJlZCBieSB0aGUgdGVtcGxhdGUuCi8vLwovLy8gVGhpcyBzaG91bGQgbWF0Y2ggd2l0aCB0aGUgRGFydCB2ZXJzaW9uIGFzc29jaWF0ZWQgd2l0aCB0aGUgRmx1dHRlciB2ZXJzaW9uCi8vLyBbJGZsdXR0ZXJWZXJzaW9uXS4KLy8vCi8vLyBTZWUgYWxzbzoKLy8vCi8vLyAqIFtGbHV0dGVyIFNESyBhcmNoaXZlXShodHRwczovL2RvY3MuZmx1dHRlci5kZXYvcmVsZWFzZS9hcmNoaXZlKQpjb25zdCAkbWluRGFydFZlcnNpb24gPSAnMy45LjAnOwo=", + "Ly8vIFZlcnNpb24gaW5mb3JtYXRpb24gYWJvdXQgdGhlIHRlbXBsYXRlLgovLy8KLy8vIFRoaXMgZmlsZSBpcyBub3QgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQuIEl0IGlzIG1hbnVhbGx5IG1haW50YWluZWQgYW5kCi8vLyBzaG91bGQgYmUgdXBkYXRlZCB3aGVuIHRoZSB0ZW1wbGF0ZSByZXF1aXJlcyB0byBiZSB1cGRhdGVkLgpsaWJyYXJ5OwoKLy8vIFRoZSB2ZXJzaW9uIG9mIHRoZSB0ZW1wbGF0ZS4KY29uc3QgJHRlbXBsYXRlVmVyc2lvbiA9ICcxLjAuMCc7CgovLy8gVGhlIEZsdXR0ZXIgdmVyc2lvbiBhc3NvY2lhdGVkIHdpdGggdGhlIHRlbXBsYXRlIHZlcnNpb24uCmNvbnN0ICRmbHV0dGVyVmVyc2lvbiA9ICczLjM4LjEnOwoKLy8vIFRoZSBtaW5pbXVtIERhcnQgdmVyc2lvbiByZXF1aXJlZCBieSB0aGUgdGVtcGxhdGUuCi8vLwovLy8gVGhpcyBzaG91bGQgbWF0Y2ggd2l0aCB0aGUgRGFydCB2ZXJzaW9uIGFzc29jaWF0ZWQgd2l0aCB0aGUgRmx1dHRlciB2ZXJzaW9uCi8vLyBbJGZsdXR0ZXJWZXJzaW9uXS4KLy8vCi8vLyBTZWUgYWxzbzoKLy8vCi8vLyAqIFtGbHV0dGVyIFNESyBhcmNoaXZlXShodHRwczovL2RvY3MuZmx1dHRlci5kZXYvcmVsZWFzZS9hcmNoaXZlKQpjb25zdCAkbWluRGFydFZlcnNpb24gPSAnMy4xMC4wJzsK", "type": "text", }, { @@ -1656,7 +1663,7 @@ final veryGoodFlutterPluginBundle = MasonBundle.fromJson({ { "path": "pubspec.yaml", "data": - "bmFtZTogdmVyeV9nb29kX2ZsdXR0ZXJfcGx1Z2luX2hvb2tzCgplbnZpcm9ubWVudDoKICBzZGs6IF4zLjkuMAoKZGVwZW5kZW5jaWVzOgogIG1hc29uOiBeMC4xLjAKICBtZXRhOiBeMS4xMi4wCgpkZXZfZGVwZW5kZW5jaWVzOgogIG1vY2t0YWlsOiBeMS4wLjMKICB0ZXN0OiBeMS4yNS4yCiAgdmVyeV9nb29kX2FuYWx5c2lzOiBeMTAuMC4wCg==", + "bmFtZTogdmVyeV9nb29kX2ZsdXR0ZXJfcGx1Z2luX2hvb2tzCgplbnZpcm9ubWVudDoKICBzZGs6IF4zLjEwLjAKCmRlcGVuZGVuY2llczoKICBtYXNvbjogXjAuMS4wCiAgbWV0YTogXjEuMTIuMAoKZGV2X2RlcGVuZGVuY2llczoKICBtb2NrdGFpbDogXjEuMC4zCiAgdGVzdDogIj49MS4yNS4yIDwxLjI3LjAiCiAgdmVyeV9nb29kX2FuYWx5c2lzOiBeMTAuMC4wCg==", "type": "text", }, { @@ -1706,7 +1713,7 @@ final veryGoodFlutterPluginBundle = MasonBundle.fromJson({ "changelog": { "path": "CHANGELOG.md", "data": - "IyMgWzEuMS4wXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tcGFyZS92ZXJ5X2dvb2RfZmx1dHRlcl9wbHVnaW4tdjEuMC4wLi4udmVyeV9nb29kX2ZsdXR0ZXJfcGx1Z2luLXYxLjEuMCkgKDIwMjUtMDktMjIpCgoKIyMjIEZlYXR1cmVzCgoqIHVwZ3JhZGUgdG8gZmx1dHRlciAzLjM1LjAgKFsjMzQyXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvaXNzdWVzLzM0MikpIChbNjgxODA0MV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2NvbW1pdC82ODE4MDQxOThjMDNhNmFiMjU1ODAyY2VkYzE1MjQyODMyOTI4ZTU0KSkKKiB1cGdyYWRlIHRvIHZlcnlfZ29vZF9hbmFseXNpcyAxMC4wLjAgKFsjMzQ2XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvaXNzdWVzLzM0NikpIChbNWE3ZDBkY10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2NvbW1pdC81YTdkMGRjNzMyM2E3NzU4MzE1OGFjZmJiZTkzM2E2MDMwMmVkNTMyKSkKKiB1cGdyYWRlZCBwbHVnaW4gdmVyc2lvbiBhbmQgcmVtb3ZlZCBqZGs3IGRlcGVuZGVuY3kgb24gYnVpbGQua3RzIChbIzMzOV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2lzc3Vlcy8zMzkpKSAoWzhlNjA5NzFdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9jb21taXQvOGU2MDk3MTUyMTc0MzY4ZTg5MjMwMjRlZjFiMmJmMzVmNGE2NzVhYykpCgoKIyMjIFJlZmFjdG9ycwoKKiAqKnZlcnlfZ29vZF9mbHV0dGVyX3BsdWdpbjoqKiBtaWdyYXRlIHRvIHN3aWZ0IHBhY2thZ2UgbWFuYWdlciAoWyMzNTRdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9pc3N1ZXMvMzU0KSkgKFsyZjAyNzc4XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tbWl0LzJmMDI3Nzg4ZGYzZWJiMzhjZjdmZmVkYjRmNTcxOGU2MWU0MWIzNTUpKQoKCiMjIyBNaXNjZWxsYW5lb3VzIENob3JlcwoKKiBhdXRvbWF0ZSByZWxlYXNlcyAoWyMzMTldKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9pc3N1ZXMvMzE5KSkgKFsxN2ZiM2E1XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tbWl0LzE3ZmIzYTVjNzQyYTQyZTdmZmY3MGIyNjlkZWVhOTYxZTRhMTViNGYpKQoqICoqdmVyeV9nb29kX2ZsdXR0ZXJfcGx1Z2luOioqIG1pZ3JhdGVzIEdyb292eSBzY3JpcHRzIHRvIEtvdGxpbiBEU0wgKFsjMzE2XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvaXNzdWVzLzMxNikpIChbM2U1NjI4ZF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2NvbW1pdC8zZTU2MjhkNjVkMmMzM2FiMDFjNDQzZGY4YjMzZTZlMGZmMzVhMDdhKSkKCiMjIDEuMC4wCgpyZWZhY3Rvcih2ZXJ5X2dvb2RfZmx1dHRlcl9wbHVnaW4pITogcmVtb3ZlIHJvb3QtbGV2ZWwgcHJvamVjdF9uYW1lIGZvbGRlciBmcm9tIGJyaWNrIHN0cnVjdHVyZS4KCiMjIyBNaWdyYXRpb24gZGV0YWlscwoKVGhlIGB2ZXJ5X2dvb2RfZmx1dHRlcl9wbHVnaW5gIGJyaWNrIG5vIGxvbmdlciBpbmNsdWRlcyBhIHRvcC1sZXZlbCBwcm9qZWN0IG5hbWUgZm9sZGVyLgpUaGlzIGFsbG93cyBnZW5lcmF0aW5nIHRoZSBwcm9qZWN0IGRpcmVjdGx5IGludG8gdGhlIGN1cnJlbnQgb3IgYSBjdXN0b20gZGlyZWN0b3J5LgoKSWYgeW91IHByZWZlciB0byBrZWVwIHRoZSBvdXRwdXQgaW5zaWRlIGl0cyBvd24gZm9sZGVyIChhcyBiZWZvcmUpLCB1c2UgdGhlIC1vIGZsYWc6CgpgYGBkYXJ0Ci8vIEJlZm9yZToKbWFzb24gbWFrZSB2ZXJ5X2dvb2RfZmx1dHRlcl9wbHVnaW4KCi8vIEFmdGVyOgptYXNvbiBtYWtlIHZlcnlfZ29vZF9mbHV0dGVyX3BsdWdpbiAtbyAuL291dHB1dF9mb2xkZXIKYGBgCgojIyAwLjExLjEKCi0gZml4OiBsaW50aW5nIGlzc3VlcyBbIzI4MF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjgwKQoKIyMgMC4xMS4wCgotIGNob3JlKGRlcHMpOiBidW1wIHZlcnlfZ29vZF9hbmFseXNpcyBmcm9tIDYuMC4wIHRvIDcuMC4wIGluIC92ZXJ5X2dvb2RfZmx1dHRlcl9wbHVnaW4vaG9va3MgWyMyMzVdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzIzNSkKLSBjaG9yZTogdGlnaHRlbiB0ZW1wbGF0ZSBkZXBlbmRlbmNpZXMgWyMyMzddKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzIzNykKLSBmaXg6IGV2YWx1YXRlIGJyaWNrIG91dHB1dCBjb3JyZWN0bHkgb24gY2kgWyMyNDhdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzI0OCkKLSBjaG9yZTogdXBkYXRlIHRvIEZsdXR0ZXIgMy4yOSBhbmQgRGFydCAzLjcgWyMyNTBdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzI1MCkKLSBjaG9yZTogdXBkYXRlIGZsdXR0ZXIgMy4zMi4wIGFuZCBkYXJ0IDMuOC4wIFsjMjUzXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8yNTMpCi0gY2hvcmU6IHRpZ2h0ZW4gdGVtcGxhdGUgZGVwZW5kZW5jaWVzIFsjMjQzXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8yNDMpCi0gY2hvcmU6IGJ1bXAgdmVyeV9nb29kX2FuYWx5c2lzIHRvIDkuMC4wIFsjMjYxXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8yNjEpCgojIyAwLjEwLjAKCi0gZmVhdDogdXBkYXRlIHB1bGwgcmVxdWVzdCB0ZW1wbGF0ZXMgdG8gYWRkIGB0ZXN0YCB0eXBlIG9wdGlvbiAoWyMyMTRdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzIxNCkpCi0gY2hvcmU6IHVwZGF0ZSB0byBGbHV0dGVyIDMuMjcgYW5kIERhcnQgMy42IChbIzIyM10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjIzKSkKCiMjIDAuOS4wCgotIGZlYXQ6IHVwZGF0ZSB0byBGbHV0dGVyIDMuMjQgYW5kIERhcnQgMy41IChbIzE3N10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMTc3KSkKCiMjIDAuOC4yCgotIGNob3JlOiB1cGRhdGUgZ3JhZGxlIHRvIDcuNi4xIChbIzE1MF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMTUwKSkKLSBjaG9yZTogdXBkYXRlIGV4YW1wbGUgS290bGluIGFuZCBBR1AgKFsjMTUxXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8xNTEpKQotIGNob3JlOiBkZXByZWNhdGUgaW1wZXJhdGl2ZSBhcHBseSBvZiBGbHV0dGVyJ3MgR3JhZGxlIHBsdWdpbnMgKFsjMTUyXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8xNTIpKQotIGNob3JlOiByZW1vdmUgbGVnYWN5IHBhY2thZ2UgdGFnIGluIEFuZHJvaWRNYW5pZmVzdC54bWwgKFsjMTYwXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8xNjApKQotIGNob3JlOiBhbmRyb2lkIGZsdXR0ZXIgcGx1Z2luIHRvIHVzZSByZWNvbW1lbmRlZCBwbHVnaW4gRFNMIChbIzE1M10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMTUzKSkKCiMjIDAuOC4xCgotIHN0eWxlOiBBZGRpbmcgZXh0cmEgc3BhY2UgdG8gdGhlIGFwcGxpY2F0aW9uIG9wZW5pbmcgdGFnIChbIzEyNl0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMTI2KSkKLSBjaG9yZShkZXBzKTogYnVtcCB2ZXJ5X2dvb2RfYW5hbHlzaXMgZnJvbSA1LjEuMCB0byA2LjAuMCBpbiAvdmVyeV9nb29kX2ZsdXR0ZXJfcGx1Z2luL2hvb2tzIChbIzEzM10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMTMzKSkKLSBjaG9yZTogdXBkYXRlIHRvIFZlcnkgR29vZCBBbmFseXNpcyA2LjAuMCAoWyMxMzVdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzEzNSkpCi0gY2hvcmU6IHRpZ2h0ZW4gdGVtcGxhdGUgZGVwZW5kZW5jaWVzIChbIzEzN10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMTM3KSkKCiMjIDAuOC4wCgotIHJlZmFjdG9yOiByZW1vdmUgZXhwbGljaXRseSBuYW1lZCBsaWJyYXJpZXMgKFsjNzddKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzc3KSkKLSB0ZXN0OiB2ZXJ5X2dvb2RfZmx1dHRlcl9wbHVnaW4gZG9lc24ndCBoYXZlIGZ1bGwgY29kZSBjb3ZlcmFnZSAoWyM4OV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvODkpKQotIGZlYXQ6IHVwZGF0ZSBhbmRyb2lkIHBsdWdpbiB0ZW1wbGF0ZSB3aXRoIGxhdGVzdCBmbHV0dGVyIGNoYW5nZXMgKFsjOTVdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzk1KSkKLSBmZWF0ITogZW5zdXJlIHRlbXBsYXRlIHVzZXMgRmx1dHRlciAzLjIyIHdpdGggRGFydCAzLjQgKFsjMTA1XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8xMDUpKQoKIyMgMC43LjEKCi0gcmVmYWN0b3I6IHJlbW92ZSBsb2dzIGR1cmluZyBwcmVfZ2VuIChbIzcyXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF9jbGkvcHVsbC85NzYpKQoKIyMgMC43LjAKCi0gdGVzdDogYWRkIHByZSBnZW5lcmF0aW9uIHRlc3RzIChbIzEzOF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfZmx1dHRlcl9wbHVnaW4vcHVsbC8xMzgpKQotIGZlYXQ6IGFsbG93IG9wdGlvbmFsbHkgZml4aW5nIHRlbXBsYXRlIG91dHB1dCAoWyMxNTFdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX2ZsdXR0ZXJfcGx1Z2luL3B1bGwvMTUxKSkKLSBmaXg6IGFkZCBzdXBwb3J0IGZvciBwbGF0Zm9ybSB0ZXN0aW5nIChbIzE1NV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfZmx1dHRlcl9wbHVnaW4vcHVsbC8xNTUpKQotIGZlYXQ6IHJlbW92ZSBnZW5lcmF0b3Igc2NyaXB0IChbIzE0MV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfZmx1dHRlcl9wbHVnaW4vY29tbWl0Lzc4YzFhNmZiNzYxOWZhODBkODI0ZTk3MDY1ZDAwYTg3MjkzYmI3YjUpKQotIGNob3JlOiB1cGRhdGUgcmVwb3NpdG9yeSB1cmwgKFsjNDFdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzQxKSkKLSByZWZhY3RvcjogdGVtcGxhdGUgZGFydFNka1ZlcnNpb25Cb3VuZHMgKFsjNDddKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzQ3KSkKLSByZWZhY3RvcjogdGVtcGxhdGUgZmx1dHRlclZlcnNpb24gKFsjNDhdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzQ4KSkKLSByZWZhY3RvcjogZGVmaW5lIHZlcnNpb25zIGluIHZlcnNpb24uZGFydCBmaWxlIChbIzQ5XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC80OSkpCi0gZmVhdCE6IGJ1bXAgdmVyc2lvbiB0byAzLjE5LjAgKFsjNTBdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzUwKSkKLSBjaG9yZTogdGlnaHRlbiBob29rIGRlcGVuZGVuY2llcyAoWyM1MV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvNTEpKQotIGNob3JlOiB1cGRhdGUgYnJpY2sgdG8gTWFzb24gMC4xLjAtZGV2LjUyIChbIzUyXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC81MikpCi0gY2hvcmU6IHRpZ2h0ZW4gZGVwZW5kZW5jaWVzIChbIzUzXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC81MykpCgojIyAwLjYuMAoKLSBmaXg6IGZsYWt5IGludGVncmF0ZWQgdGVzdHMKLSBmZWF0OiB1cGdyYWRlIHRvIGB2ZXJ5X2dvb2RfYW5hbHlzaXMgXjUuMS4wYAotIGZlYXQ6IGFkZCBmbHV0dGl1bSB0ZXN0IHdvcmtmbG93Ci0gZG9jczogYWRkIGRvY3MgZm9yIGludGVncmF0aW9uIHRlc3RzCgojIyAwLjUuMAoKLSBmZWF0ITogYnVtcCBtaW4gRGFydCBTREsgdG8gMy4wLjAKCiMjIDAuNC4wCgotIGZlYXQhOiBidW1wIG1pbiBEYXJ0IFNESyB0byAyLjE5LjAKCiMjIDAuMy4zCgotIGNob3JlOiBmaXggZ2VuZXJhdG9yIHJ1bgotIGZpeDogdXBkYXRlZCByZWdleCBtYXRjaGluZwotIGNob3JlOiBzdXBwb3J0IGRhcnQgc2RrIDIuMTguMAoKIyMgMC4zLjIKCi0gZmVhdDogdXBkYXRlIHdvcmtmbG93cywgZGVwZW5kYWJvdCBnZW5lcmF0aW9uLCBhZGQgc3BlbGxjaGVjawotIGZpeDogaW50ZWdyYXRpb24gdGVzdHMKLSBmZWF0OiB1c2Ugc3dpZnQgaW4gaU9TIHBsdWdpbgoKIyMgMC4zLjEKCi0gZmVhdDogdXBncmFkZSB0byBgdmVyeV9nb29kX2FuYWx5c2lzIDQuMC4wYAoKIyMgMC4zLjAKCi0gZmVhdDogdXBncmFkZSB0byBmbHV0dGVyIDMuNy4xCgojIyAwLjIuMQoKLSBmaXg6IHdpbmRvd3MgcGF0aCByZXNvbHV0aW9uCi0gZmVhdDogYWRkIGNpIGNvbmN1cnJlbmN5IGdyb3VwIHRvIHdvcmtmbG93CgojIyAwLjIuMAoKLSAqKkJSRUFLSU5HKiogZmVhdDogYWRkIGBwdWJsaXNoYWJsZWAgZmxhZyAoZGVmYXVsdHMgdG8gYGZhbHNlYCkKCiMjIDAuMS4yCgotIGRvY3M6IHJlbW92ZSBjb3B5cmlnaHQgaGVhZGVyIGFuZCBsaWNlbnNlIGZyb20gZ2VuZXJhdGVkIGNvZGUKCiMjIDAuMS4xCgotIGZlYXQ6IHVwZ3JhZGUgdG8gRmx1dHRlciAzLjMuMgotIGZlYXQ6IHVwZ3JhZGUgdG8gdmVyeV9nb29kX2FuYWx5c2lzIDMuMS4wCgojIyAwLjEuMCsxCgotIGRvY3M6IG1pbm9yIFJFQURNRSB1cGRhdGVzCiAgLSBhZGQgZGVwZW5kYWJvdCBpbnRlZ3JhdGlvbgogIC0gZml4IGJyb2tlbiBsaW5rIHRvIHZlcnlfZ29vZF9hbmFseXNpcwoKIyMgMC4xLjAKCi0gZmVhdDogdXBncmFkZSB0byBGbHV0dGVyIDMuMy4xCi0gZmVhdDogdXBncmFkZSB0byB2ZXJ5X2dvb2RfYW5hbHlzaXMgMy4wLjIKLSBmaXg6IGRlcGVuZGFib3QgaW50ZWdyYXRpb24KCiMjIDAuMC4xKzEKCi0gY2hvcmU6IHJlbW92ZSBkdXBsaWNhdGUgaW1hZ2VzIGZyb20gUkVBRE1FCgojIyAwLjAuMQoKLSBmZWF0OiBpbml0aWFsIHJlbGVhc2Ug8J+OiQo=", + "IyBDaGFuZ2Vsb2cgCgojIyBbMS4xLjBdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9jb21wYXJlL3ZlcnlfZ29vZF9mbHV0dGVyX3BsdWdpbi12MS4wLjAuLi52ZXJ5X2dvb2RfZmx1dHRlcl9wbHVnaW4tdjEuMS4wKSAoMjAyNS0wOS0yMikKCgojIyMgRmVhdHVyZXMKCiogdXBncmFkZSB0byBmbHV0dGVyIDMuMzUuMCAoWyMzNDJdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9pc3N1ZXMvMzQyKSkgKFs2ODE4MDQxXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tbWl0LzY4MTgwNDE5OGMwM2E2YWIyNTU4MDJjZWRjMTUyNDI4MzI5MjhlNTQpKQoqIHVwZ3JhZGUgdG8gdmVyeV9nb29kX2FuYWx5c2lzIDEwLjAuMCAoWyMzNDZdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9pc3N1ZXMvMzQ2KSkgKFs1YTdkMGRjXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tbWl0LzVhN2QwZGM3MzIzYTc3NTgzMTU4YWNmYmJlOTMzYTYwMzAyZWQ1MzIpKQoqIHVwZ3JhZGVkIHBsdWdpbiB2ZXJzaW9uIGFuZCByZW1vdmVkIGpkazcgZGVwZW5kZW5jeSBvbiBidWlsZC5rdHMgKFsjMzM5XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvaXNzdWVzLzMzOSkpIChbOGU2MDk3MV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2NvbW1pdC84ZTYwOTcxNTIxNzQzNjhlODkyMzAyNGVmMWIyYmYzNWY0YTY3NWFjKSkKCgojIyMgUmVmYWN0b3JzCgoqICoqdmVyeV9nb29kX2ZsdXR0ZXJfcGx1Z2luOioqIG1pZ3JhdGUgdG8gc3dpZnQgcGFja2FnZSBtYW5hZ2VyIChbIzM1NF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2lzc3Vlcy8zNTQpKSAoWzJmMDI3NzhdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9jb21taXQvMmYwMjc3ODhkZjNlYmIzOGNmN2ZmZWRiNGY1NzE4ZTYxZTQxYjM1NSkpCgoKIyMjIE1pc2NlbGxhbmVvdXMgQ2hvcmVzCgoqIGF1dG9tYXRlIHJlbGVhc2VzIChbIzMxOV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL2lzc3Vlcy8zMTkpKSAoWzE3ZmIzYTVdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9jb21taXQvMTdmYjNhNWM3NDJhNDJlN2ZmZjcwYjI2OWRlZWE5NjFlNGExNWI0ZikpCiogKip2ZXJ5X2dvb2RfZmx1dHRlcl9wbHVnaW46KiogbWlncmF0ZXMgR3Jvb3Z5IHNjcmlwdHMgdG8gS290bGluIERTTCAoWyMzMTZdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9pc3N1ZXMvMzE2KSkgKFszZTU2MjhkXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvY29tbWl0LzNlNTYyOGQ2NWQyYzMzYWIwMWM0NDNkZjhiMzNlNmUwZmYzNWEwN2EpKQoKIyMgMS4wLjAKCnJlZmFjdG9yKHZlcnlfZ29vZF9mbHV0dGVyX3BsdWdpbikhOiByZW1vdmUgcm9vdC1sZXZlbCBwcm9qZWN0X25hbWUgZm9sZGVyIGZyb20gYnJpY2sgc3RydWN0dXJlLgoKIyMjIE1pZ3JhdGlvbiBkZXRhaWxzCgpUaGUgYHZlcnlfZ29vZF9mbHV0dGVyX3BsdWdpbmAgYnJpY2sgbm8gbG9uZ2VyIGluY2x1ZGVzIGEgdG9wLWxldmVsIHByb2plY3QgbmFtZSBmb2xkZXIuClRoaXMgYWxsb3dzIGdlbmVyYXRpbmcgdGhlIHByb2plY3QgZGlyZWN0bHkgaW50byB0aGUgY3VycmVudCBvciBhIGN1c3RvbSBkaXJlY3RvcnkuCgpJZiB5b3UgcHJlZmVyIHRvIGtlZXAgdGhlIG91dHB1dCBpbnNpZGUgaXRzIG93biBmb2xkZXIgKGFzIGJlZm9yZSksIHVzZSB0aGUgLW8gZmxhZzoKCmBgYGRhcnQKLy8gQmVmb3JlOgptYXNvbiBtYWtlIHZlcnlfZ29vZF9mbHV0dGVyX3BsdWdpbgoKLy8gQWZ0ZXI6Cm1hc29uIG1ha2UgdmVyeV9nb29kX2ZsdXR0ZXJfcGx1Z2luIC1vIC4vb3V0cHV0X2ZvbGRlcgpgYGAKCiMjIDAuMTEuMQoKLSBmaXg6IGxpbnRpbmcgaXNzdWVzIFsjMjgwXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8yODApCgojIyAwLjExLjAKCi0gY2hvcmUoZGVwcyk6IGJ1bXAgdmVyeV9nb29kX2FuYWx5c2lzIGZyb20gNi4wLjAgdG8gNy4wLjAgaW4gL3ZlcnlfZ29vZF9mbHV0dGVyX3BsdWdpbi9ob29rcyBbIzIzNV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjM1KQotIGNob3JlOiB0aWdodGVuIHRlbXBsYXRlIGRlcGVuZGVuY2llcyBbIzIzN10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjM3KQotIGZpeDogZXZhbHVhdGUgYnJpY2sgb3V0cHV0IGNvcnJlY3RseSBvbiBjaSBbIzI0OF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjQ4KQotIGNob3JlOiB1cGRhdGUgdG8gRmx1dHRlciAzLjI5IGFuZCBEYXJ0IDMuNyBbIzI1MF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjUwKQotIGNob3JlOiB1cGRhdGUgZmx1dHRlciAzLjMyLjAgYW5kIGRhcnQgMy44LjAgWyMyNTNdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzI1MykKLSBjaG9yZTogdGlnaHRlbiB0ZW1wbGF0ZSBkZXBlbmRlbmNpZXMgWyMyNDNdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzI0MykKLSBjaG9yZTogYnVtcCB2ZXJ5X2dvb2RfYW5hbHlzaXMgdG8gOS4wLjAgWyMyNjFdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzI2MSkKCiMjIDAuMTAuMAoKLSBmZWF0OiB1cGRhdGUgcHVsbCByZXF1ZXN0IHRlbXBsYXRlcyB0byBhZGQgYHRlc3RgIHR5cGUgb3B0aW9uIChbIzIxNF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMjE0KSkKLSBjaG9yZTogdXBkYXRlIHRvIEZsdXR0ZXIgMy4yNyBhbmQgRGFydCAzLjYgKFsjMjIzXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8yMjMpKQoKIyMgMC45LjAKCi0gZmVhdDogdXBkYXRlIHRvIEZsdXR0ZXIgMy4yNCBhbmQgRGFydCAzLjUgKFsjMTc3XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8xNzcpKQoKIyMgMC44LjIKCi0gY2hvcmU6IHVwZGF0ZSBncmFkbGUgdG8gNy42LjEgKFsjMTUwXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8xNTApKQotIGNob3JlOiB1cGRhdGUgZXhhbXBsZSBLb3RsaW4gYW5kIEFHUCAoWyMxNTFdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzE1MSkpCi0gY2hvcmU6IGRlcHJlY2F0ZSBpbXBlcmF0aXZlIGFwcGx5IG9mIEZsdXR0ZXIncyBHcmFkbGUgcGx1Z2lucyAoWyMxNTJdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzE1MikpCi0gY2hvcmU6IHJlbW92ZSBsZWdhY3kgcGFja2FnZSB0YWcgaW4gQW5kcm9pZE1hbmlmZXN0LnhtbCAoWyMxNjBdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzE2MCkpCi0gY2hvcmU6IGFuZHJvaWQgZmx1dHRlciBwbHVnaW4gdG8gdXNlIHJlY29tbWVuZGVkIHBsdWdpbiBEU0wgKFsjMTUzXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8xNTMpKQoKIyMgMC44LjEKCi0gc3R5bGU6IEFkZGluZyBleHRyYSBzcGFjZSB0byB0aGUgYXBwbGljYXRpb24gb3BlbmluZyB0YWcgKFsjMTI2XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8xMjYpKQotIGNob3JlKGRlcHMpOiBidW1wIHZlcnlfZ29vZF9hbmFseXNpcyBmcm9tIDUuMS4wIHRvIDYuMC4wIGluIC92ZXJ5X2dvb2RfZmx1dHRlcl9wbHVnaW4vaG9va3MgKFsjMTMzXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8xMzMpKQotIGNob3JlOiB1cGRhdGUgdG8gVmVyeSBHb29kIEFuYWx5c2lzIDYuMC4wIChbIzEzNV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvMTM1KSkKLSBjaG9yZTogdGlnaHRlbiB0ZW1wbGF0ZSBkZXBlbmRlbmNpZXMgKFsjMTM3XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC8xMzcpKQoKIyMgMC44LjAKCi0gcmVmYWN0b3I6IHJlbW92ZSBleHBsaWNpdGx5IG5hbWVkIGxpYnJhcmllcyAoWyM3N10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvNzcpKQotIHRlc3Q6IHZlcnlfZ29vZF9mbHV0dGVyX3BsdWdpbiBkb2Vzbid0IGhhdmUgZnVsbCBjb2RlIGNvdmVyYWdlIChbIzg5XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC84OSkpCi0gZmVhdDogdXBkYXRlIGFuZHJvaWQgcGx1Z2luIHRlbXBsYXRlIHdpdGggbGF0ZXN0IGZsdXR0ZXIgY2hhbmdlcyAoWyM5NV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvOTUpKQotIGZlYXQhOiBlbnN1cmUgdGVtcGxhdGUgdXNlcyBGbHV0dGVyIDMuMjIgd2l0aCBEYXJ0IDMuNCAoWyMxMDVdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzEwNSkpCgojIyAwLjcuMQoKLSByZWZhY3RvcjogcmVtb3ZlIGxvZ3MgZHVyaW5nIHByZV9nZW4gKFsjNzJdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX2NsaS9wdWxsLzk3NikpCgojIyAwLjcuMAoKLSB0ZXN0OiBhZGQgcHJlIGdlbmVyYXRpb24gdGVzdHMgKFsjMTM4XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF9mbHV0dGVyX3BsdWdpbi9wdWxsLzEzOCkpCi0gZmVhdDogYWxsb3cgb3B0aW9uYWxseSBmaXhpbmcgdGVtcGxhdGUgb3V0cHV0IChbIzE1MV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfZmx1dHRlcl9wbHVnaW4vcHVsbC8xNTEpKQotIGZpeDogYWRkIHN1cHBvcnQgZm9yIHBsYXRmb3JtIHRlc3RpbmcgKFsjMTU1XShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF9mbHV0dGVyX3BsdWdpbi9wdWxsLzE1NSkpCi0gZmVhdDogcmVtb3ZlIGdlbmVyYXRvciBzY3JpcHQgKFsjMTQxXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF9mbHV0dGVyX3BsdWdpbi9jb21taXQvNzhjMWE2ZmI3NjE5ZmE4MGQ4MjRlOTcwNjVkMDBhODcyOTNiYjdiNSkpCi0gY2hvcmU6IHVwZGF0ZSByZXBvc2l0b3J5IHVybCAoWyM0MV0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvNDEpKQotIHJlZmFjdG9yOiB0ZW1wbGF0ZSBkYXJ0U2RrVmVyc2lvbkJvdW5kcyAoWyM0N10oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvNDcpKQotIHJlZmFjdG9yOiB0ZW1wbGF0ZSBmbHV0dGVyVmVyc2lvbiAoWyM0OF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvNDgpKQotIHJlZmFjdG9yOiBkZWZpbmUgdmVyc2lvbnMgaW4gdmVyc2lvbi5kYXJ0IGZpbGUgKFsjNDldKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzQ5KSkKLSBmZWF0ITogYnVtcCB2ZXJzaW9uIHRvIDMuMTkuMCAoWyM1MF0oaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlHb29kT3BlblNvdXJjZS92ZXJ5X2dvb2RfdGVtcGxhdGVzL3B1bGwvNTApKQotIGNob3JlOiB0aWdodGVuIGhvb2sgZGVwZW5kZW5jaWVzIChbIzUxXShodHRwczovL2dpdGh1Yi5jb20vVmVyeUdvb2RPcGVuU291cmNlL3ZlcnlfZ29vZF90ZW1wbGF0ZXMvcHVsbC81MSkpCi0gY2hvcmU6IHVwZGF0ZSBicmljayB0byBNYXNvbiAwLjEuMC1kZXYuNTIgKFsjNTJdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzUyKSkKLSBjaG9yZTogdGlnaHRlbiBkZXBlbmRlbmNpZXMgKFsjNTNdKGh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5R29vZE9wZW5Tb3VyY2UvdmVyeV9nb29kX3RlbXBsYXRlcy9wdWxsLzUzKSkKCiMjIDAuNi4wCgotIGZpeDogZmxha3kgaW50ZWdyYXRlZCB0ZXN0cwotIGZlYXQ6IHVwZ3JhZGUgdG8gYHZlcnlfZ29vZF9hbmFseXNpcyBeNS4xLjBgCi0gZmVhdDogYWRkIGZsdXR0aXVtIHRlc3Qgd29ya2Zsb3cKLSBkb2NzOiBhZGQgZG9jcyBmb3IgaW50ZWdyYXRpb24gdGVzdHMKCiMjIDAuNS4wCgotIGZlYXQhOiBidW1wIG1pbiBEYXJ0IFNESyB0byAzLjAuMAoKIyMgMC40LjAKCi0gZmVhdCE6IGJ1bXAgbWluIERhcnQgU0RLIHRvIDIuMTkuMAoKIyMgMC4zLjMKCi0gY2hvcmU6IGZpeCBnZW5lcmF0b3IgcnVuCi0gZml4OiB1cGRhdGVkIHJlZ2V4IG1hdGNoaW5nCi0gY2hvcmU6IHN1cHBvcnQgZGFydCBzZGsgMi4xOC4wCgojIyAwLjMuMgoKLSBmZWF0OiB1cGRhdGUgd29ya2Zsb3dzLCBkZXBlbmRhYm90IGdlbmVyYXRpb24sIGFkZCBzcGVsbGNoZWNrCi0gZml4OiBpbnRlZ3JhdGlvbiB0ZXN0cwotIGZlYXQ6IHVzZSBzd2lmdCBpbiBpT1MgcGx1Z2luCgojIyAwLjMuMQoKLSBmZWF0OiB1cGdyYWRlIHRvIGB2ZXJ5X2dvb2RfYW5hbHlzaXMgNC4wLjBgCgojIyAwLjMuMAoKLSBmZWF0OiB1cGdyYWRlIHRvIGZsdXR0ZXIgMy43LjEKCiMjIDAuMi4xCgotIGZpeDogd2luZG93cyBwYXRoIHJlc29sdXRpb24KLSBmZWF0OiBhZGQgY2kgY29uY3VycmVuY3kgZ3JvdXAgdG8gd29ya2Zsb3cKCiMjIDAuMi4wCgotICoqQlJFQUtJTkcqKiBmZWF0OiBhZGQgYHB1Ymxpc2hhYmxlYCBmbGFnIChkZWZhdWx0cyB0byBgZmFsc2VgKQoKIyMgMC4xLjIKCi0gZG9jczogcmVtb3ZlIGNvcHlyaWdodCBoZWFkZXIgYW5kIGxpY2Vuc2UgZnJvbSBnZW5lcmF0ZWQgY29kZQoKIyMgMC4xLjEKCi0gZmVhdDogdXBncmFkZSB0byBGbHV0dGVyIDMuMy4yCi0gZmVhdDogdXBncmFkZSB0byB2ZXJ5X2dvb2RfYW5hbHlzaXMgMy4xLjAKCiMjIDAuMS4wKzEKCi0gZG9jczogbWlub3IgUkVBRE1FIHVwZGF0ZXMKICAtIGFkZCBkZXBlbmRhYm90IGludGVncmF0aW9uCiAgLSBmaXggYnJva2VuIGxpbmsgdG8gdmVyeV9nb29kX2FuYWx5c2lzCgojIyAwLjEuMAoKLSBmZWF0OiB1cGdyYWRlIHRvIEZsdXR0ZXIgMy4zLjEKLSBmZWF0OiB1cGdyYWRlIHRvIHZlcnlfZ29vZF9hbmFseXNpcyAzLjAuMgotIGZpeDogZGVwZW5kYWJvdCBpbnRlZ3JhdGlvbgoKIyMgMC4wLjErMQoKLSBjaG9yZTogcmVtb3ZlIGR1cGxpY2F0ZSBpbWFnZXMgZnJvbSBSRUFETUUKCiMjIDAuMC4xCgotIGZlYXQ6IGluaXRpYWwgcmVsZWFzZSDwn46JCg==", "type": "text", }, "license": { diff --git a/site/docs/templates/core.md b/site/docs/templates/core.md index 9280b2f73..54e61955d 100644 --- a/site/docs/templates/core.md +++ b/site/docs/templates/core.md @@ -262,6 +262,29 @@ When you create a new project, it has a default launcher icon. To customize this 3. Verify the icon has been replaced by running your app using `flutter run`. +## iOS Requirements 🍏 + +Very Good Core uses Apple's UIScene lifecycle, which is required for all UIKit apps built with iOS 26+ SDK. This ensures your app is future-proof and follows Apple's current platform guidance. + +### Requirements + +- **Flutter**: 3.38.0 or later +- **Xcode**: 15.0 or later + +### UIScene Architecture + +The generated iOS project includes: + +- **`SceneDelegate.swift`** - Extends `FlutterSceneDelegate` to handle scene lifecycle events +- **`AppDelegate.swift`** - Implements `FlutterImplicitEngineDelegate` for plugin registration +- **`Info.plist`** - Contains `UIApplicationSceneManifest` configuration + +This architecture follows [Flutter's official UIScene migration guide][flutter_uiscene_migration]. + +:::note +If you're migrating an existing project to the UIScene lifecycle, refer to [Flutter's breaking changes documentation][flutter_uiscene_migration]. +::: + [android_application_element]: https://developer.android.com/guide/topics/manifest/application-element [android_configuration_qualifiers]: https://developer.android.com/guide/topics/resources/providing-resources#AlternativeResources [bloc_pub]: https://pub.dev/packages/bloc @@ -279,5 +302,6 @@ When you create a new project, it has a default launcher icon. To customize this [material_design_product_icons]: https://material.io/design/iconography/ [sentry_link]: https://sentry.io [very_good_coverage]: https://github.com/marketplace/actions/very-good-coverage +[flutter_uiscene_migration]: https://docs.flutter.dev/release/breaking-changes/ios-flutterviewcontroller-scenedelegate [vga]: https://github.com/VeryGoodOpenSource/very_good_analysis [vgv]: https://verygood.ventures