@parity/product-sdk-descriptors 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/README.md +1 -1
  2. package/chains/bulletin/generated/dist/bulletin.d.ts +27 -27
  3. package/chains/bulletin/generated/dist/bulletin_metadata-Btf7Dcxv.js +3 -0
  4. package/chains/bulletin/generated/dist/common-types.d.ts +95 -95
  5. package/chains/bulletin/generated/dist/descriptors-BP_sIh_J.js +25 -0
  6. package/chains/bulletin/generated/dist/index.js +65 -236
  7. package/chains/bulletin/generated/dist/metadataTypes-CAWBUdSH.js +3 -0
  8. package/chains/individuality/generated/dist/common-types.d.ts +245 -245
  9. package/chains/individuality/generated/dist/descriptors-D3unnGtJ.js +25 -0
  10. package/chains/individuality/generated/dist/index.js +65 -236
  11. package/chains/individuality/generated/dist/individuality.d.ts +71 -71
  12. package/chains/individuality/generated/dist/individuality_metadata-DRlJN3X6.js +3 -0
  13. package/chains/individuality/generated/dist/metadataTypes-DOUrKMCQ.js +3 -0
  14. package/chains/kusama-asset-hub/.papi/polkadot-api.json +1 -1
  15. package/chains/kusama-asset-hub/generated/dist/common-types.d.ts +255 -255
  16. package/chains/kusama-asset-hub/generated/dist/descriptors-DYyEriME.js +25 -0
  17. package/chains/kusama-asset-hub/generated/dist/index.js +93 -292
  18. package/chains/kusama-asset-hub/generated/dist/kusama_asset_hub.d.ts +74 -74
  19. package/chains/kusama-asset-hub/generated/dist/kusama_asset_hub_metadata-C4kQ8RaO.js +3 -0
  20. package/chains/kusama-asset-hub/generated/dist/metadataTypes-DU1nurc8.js +3 -0
  21. package/chains/paseo-asset-hub/generated/dist/common-types.d.ts +256 -256
  22. package/chains/paseo-asset-hub/generated/dist/descriptors-BQiUtMPR.js +25 -0
  23. package/chains/paseo-asset-hub/generated/dist/index.js +94 -294
  24. package/chains/paseo-asset-hub/generated/dist/metadataTypes-BB9mDcdX.js +3 -0
  25. package/chains/paseo-asset-hub/generated/dist/paseo_asset_hub.d.ts +69 -69
  26. package/chains/paseo-asset-hub/generated/dist/paseo_asset_hub_metadata-DPz-Byze.js +3 -0
  27. package/chains/polkadot-asset-hub/generated/dist/common-types.d.ts +256 -256
  28. package/chains/polkadot-asset-hub/generated/dist/descriptors-BLVA_gBo.js +25 -0
  29. package/chains/polkadot-asset-hub/generated/dist/index.js +94 -294
  30. package/chains/polkadot-asset-hub/generated/dist/metadataTypes-BAQsZ8u3.js +3 -0
  31. package/chains/polkadot-asset-hub/generated/dist/polkadot_asset_hub.d.ts +69 -69
  32. package/chains/polkadot-asset-hub/generated/dist/polkadot_asset_hub_metadata-CQQZadL1.js +3 -0
  33. package/package.json +8 -13
  34. package/chains/bulletin/generated/dist/bulletin_metadata-ZWUBSZT2.mjs +0 -6
  35. package/chains/bulletin/generated/dist/descriptors-6AYAE4ZU.mjs +0 -27
  36. package/chains/bulletin/generated/dist/index.mjs +0 -170
  37. package/chains/bulletin/generated/dist/metadataTypes-QQHZQ7NV.mjs +0 -6
  38. package/chains/individuality/generated/dist/descriptors-WSAVDU67.mjs +0 -27
  39. package/chains/individuality/generated/dist/index.mjs +0 -170
  40. package/chains/individuality/generated/dist/individuality_metadata-K52S3PRM.mjs +0 -6
  41. package/chains/individuality/generated/dist/metadataTypes-7J5JOTD4.mjs +0 -6
  42. package/chains/kusama-asset-hub/generated/dist/descriptors-LD24UXAS.mjs +0 -27
  43. package/chains/kusama-asset-hub/generated/dist/index.mjs +0 -226
  44. package/chains/kusama-asset-hub/generated/dist/kusama_asset_hub_metadata-3SMOB25O.mjs +0 -6
  45. package/chains/kusama-asset-hub/generated/dist/metadataTypes-YAQTJRTG.mjs +0 -6
  46. package/chains/paseo-asset-hub/generated/dist/descriptors-SGZOCR6W.mjs +0 -27
  47. package/chains/paseo-asset-hub/generated/dist/index.mjs +0 -228
  48. package/chains/paseo-asset-hub/generated/dist/metadataTypes-FMC56OR6.mjs +0 -6
  49. package/chains/paseo-asset-hub/generated/dist/paseo_asset_hub_metadata-DYCTETUD.mjs +0 -6
  50. package/chains/polkadot-asset-hub/generated/dist/descriptors-YG75KGXS.mjs +0 -27
  51. package/chains/polkadot-asset-hub/generated/dist/index.mjs +0 -228
  52. package/chains/polkadot-asset-hub/generated/dist/metadataTypes-B4DAEUPM.mjs +0 -6
  53. package/chains/polkadot-asset-hub/generated/dist/polkadot_asset_hub_metadata-CM4WGYCW.mjs +0 -6
package/package.json CHANGED
@@ -1,38 +1,34 @@
1
1
  {
2
2
  "name": "@parity/product-sdk-descriptors",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "PAPI-generated chain descriptors for Polkadot ecosystem",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
+ "sideEffects": false,
7
8
  "exports": {
8
9
  "./bulletin": {
9
10
  "types": "./chains/bulletin/generated/dist/index.d.ts",
10
- "import": "./chains/bulletin/generated/dist/index.mjs",
11
- "require": "./chains/bulletin/generated/dist/index.js"
11
+ "import": "./chains/bulletin/generated/dist/index.js"
12
12
  },
13
13
  "./individuality": {
14
14
  "types": "./chains/individuality/generated/dist/index.d.ts",
15
- "import": "./chains/individuality/generated/dist/index.mjs",
16
- "require": "./chains/individuality/generated/dist/index.js"
15
+ "import": "./chains/individuality/generated/dist/index.js"
17
16
  },
18
17
  "./kusama-asset-hub": {
19
18
  "types": "./chains/kusama-asset-hub/generated/dist/index.d.ts",
20
- "import": "./chains/kusama-asset-hub/generated/dist/index.mjs",
21
- "require": "./chains/kusama-asset-hub/generated/dist/index.js"
19
+ "import": "./chains/kusama-asset-hub/generated/dist/index.js"
22
20
  },
23
21
  "./paseo-asset-hub": {
24
22
  "types": "./chains/paseo-asset-hub/generated/dist/index.d.ts",
25
- "import": "./chains/paseo-asset-hub/generated/dist/index.mjs",
26
- "require": "./chains/paseo-asset-hub/generated/dist/index.js"
23
+ "import": "./chains/paseo-asset-hub/generated/dist/index.js"
27
24
  },
28
25
  "./polkadot-asset-hub": {
29
26
  "types": "./chains/polkadot-asset-hub/generated/dist/index.d.ts",
30
- "import": "./chains/polkadot-asset-hub/generated/dist/index.mjs",
31
- "require": "./chains/polkadot-asset-hub/generated/dist/index.js"
27
+ "import": "./chains/polkadot-asset-hub/generated/dist/index.js"
32
28
  }
33
29
  },
34
30
  "dependencies": {
35
- "polkadot-api": "^1.9.5"
31
+ "polkadot-api": "^2.1.2"
36
32
  },
37
33
  "devDependencies": {
38
34
  "typescript": "^5.8.3"
@@ -40,7 +36,6 @@
40
36
  "files": [
41
37
  "chains/*/generated/dist/**/*.js",
42
38
  "chains/*/generated/dist/**/*.d.ts",
43
- "chains/*/generated/dist/**/*.mjs",
44
39
  "chains/*/.papi/**/*"
45
40
  ],
46
41
  "scripts": {
@@ -1,6 +0,0 @@
1
- // generated/src/bulletin_metadata.ts
2
- var binMeta = "bWV0YRBlBwAMKHNwX3J1bnRpbWUwbXVsdGlhZGRyZXNzME11bHRpQWRkcmVzcwgkQWNjb3VudElkAQQwQWNjb3VudEluZGV4ARABFAhJZAQABAEkQWNjb3VudElkAAAAFEluZGV4BAAUATBBY2NvdW50SW5kZXgAAQAMUmF3BAAYARxWZWM8dTg+AAIAJEFkZHJlc3MzMgQACAEgW3U4OyAzMl0AAwAkQWRkcmVzczIwBAAcASBbdTg7IDIwXQAEAAAEDBxzcF9jb3JlGGNyeXB0byxBY2NvdW50SWQzMgAABAAIASBbdTg7IDMyXQAACAAAAyAAAAAMAAwAAAUDABAAAAQAABQAAAYQABgAAAIMABwAAAMUAAAADAAgCGBidWxsZXRpbl93ZXN0ZW5kX3J1bnRpbWUsUnVudGltZUNhbGwAATgYU3lzdGVtBAAkAa0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFN5c3RlbSwgUnVudGltZT4AAAA8UGFyYWNoYWluU3lzdGVtBABAAdEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFBhcmFjaGFpblN5c3RlbSwgUnVudGltZT4AAQAkVGltZXN0YW1wBACwAbkBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFRpbWVzdGFtcCwgUnVudGltZT4AAwA0UGFyYWNoYWluSW5mbwQAuAHJAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxQYXJhY2hhaW5JbmZvLCBSdW50aW1lPgAEABxVdGlsaXR5BAC8AbEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFV0aWxpdHksIFJ1bnRpbWU+AAYAIEJhbGFuY2VzBAAtAQG1AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxCYWxhbmNlcywgUnVudGltZT4ACgBIVHJhbnNhY3Rpb25TdG9yYWdlBAA9AQHdAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxUcmFuc2FjdGlvblN0b3JhZ2UsIFJ1bnRpbWU+ACgARENvbGxhdG9yU2VsZWN0aW9uBABNAQHZAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxDb2xsYXRvclNlbGVjdGlvbiwgUnVudGltZT4AFQAcU2Vzc2lvbgQAUQEBsQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8U2Vzc2lvbiwgUnVudGltZT4AFgAkWGNtcFF1ZXVlBABdAQG5AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxYY21wUXVldWUsIFJ1bnRpbWU+AB4ALFBvbGthZG90WGNtBABhAQHBAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxQb2xrYWRvdFhjbSwgUnVudGltZT4AHwAoQ3VtdWx1c1hjbQQAMQMBvQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8Q3VtdWx1c1hjbSwgUnVudGltZT4AIAAwTWVzc2FnZVF1ZXVlBAA1AwHFAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxNZXNzYWdlUXVldWUsIFJ1bnRpbWU+ACIAEFN1ZG8EAD0DAaUBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFN1ZG8sIFJ1bnRpbWU+AGQAACQMMGZyYW1lX3N5c3RlbRhwYWxsZXQQQ2FsbAQEVAABLBhyZW1hcmsEARhyZW1hcmsYARxWZWM8dTg+AAAMaE1ha2Ugc29tZSBvbi1jaGFpbiByZW1hcmsuAIhDYW4gYmUgZXhlY3V0ZWQgYnkgZXZlcnkgYG9yaWdpbmAuOHNldF9oZWFwX3BhZ2VzBAEUcGFnZXMoAQx1NjQAAQT4U2V0IHRoZSBudW1iZXIgb2YgcGFnZXMgaW4gdGhlIFdlYkFzc2VtYmx5IGVudmlyb25tZW50J3MgaGVhcC4gc2V0X2NvZGUEARBjb2RlGAEcVmVjPHU4PgACBGRTZXQgdGhlIG5ldyBydW50aW1lIGNvZGUuXHNldF9jb2RlX3dpdGhvdXRfY2hlY2tzBAEQY29kZRgBHFZlYzx1OD4AAxAZAVNldCB0aGUgbmV3IHJ1bnRpbWUgY29kZSB3aXRob3V0IGRvaW5nIGFueSBjaGVja3Mgb2YgdGhlIGdpdmVuIGBjb2RlYC4AUQFOb3RlIHRoYXQgcnVudGltZSB1cGdyYWRlcyB3aWxsIG5vdCBydW4gaWYgdGhpcyBpcyBjYWxsZWQgd2l0aCBhIG5vdC1pbmNyZWFzaW5nIHNwZWMgdmVyc2lvbiEsc2V0X3N0b3JhZ2UEARRpdGVtcywBNFZlYzxLZXlWYWx1ZT4ABARoU2V0IHNvbWUgaXRlbXMgb2Ygc3RvcmFnZS4wa2lsbF9zdG9yYWdlBAEQa2V5czQBIFZlYzxLZXk+AAUEdEtpbGwgc29tZSBpdGVtcyBmcm9tIHN0b3JhZ2UuLGtpbGxfcHJlZml4CAEYcHJlZml4GAEMS2V5AAEcc3Via2V5czgBDHUzMgAGEBEBS2lsbCBhbGwgc3RvcmFnZSBpdGVtcyB3aXRoIGEga2V5IHRoYXQgc3RhcnRzIHdpdGggdGhlIGdpdmVuIHByZWZpeC4AOQEqKk5PVEU6KiogV2UgcmVseSBvbiB0aGUgUm9vdCBvcmlnaW4gdG8gcHJvdmlkZSB1cyB0aGUgbnVtYmVyIG9mIHN1YmtleXMgdW5kZXI9AXRoZSBwcmVmaXggd2UgYXJlIHJlbW92aW5nIHRvIGFjY3VyYXRlbHkgY2FsY3VsYXRlIHRoZSB3ZWlnaHQgb2YgdGhpcyBmdW5jdGlvbi5EcmVtYXJrX3dpdGhfZXZlbnQEARhyZW1hcmsYARxWZWM8dTg+AAcEpE1ha2Ugc29tZSBvbi1jaGFpbiByZW1hcmsgYW5kIGVtaXQgZXZlbnQuRGF1dGhvcml6ZV91cGdyYWRlBAEkY29kZV9oYXNoPAEcVDo6SGFzaAAJEGEBQXV0aG9yaXplIGFuIHVwZ3JhZGUgdG8gYSBnaXZlbiBgY29kZV9oYXNoYCBmb3IgdGhlIHJ1bnRpbWUuIFRoZSBydW50aW1lIGNhbiBiZSBzdXBwbGllZBhsYXRlci4AfFRoaXMgY2FsbCByZXF1aXJlcyBSb290IG9yaWdpbi6AYXV0aG9yaXplX3VwZ3JhZGVfd2l0aG91dF9jaGVja3MEASRjb2RlX2hhc2g8ARxUOjpIYXNoAAogYQFBdXRob3JpemUgYW4gdXBncmFkZSB0byBhIGdpdmVuIGBjb2RlX2hhc2hgIGZvciB0aGUgcnVudGltZS4gVGhlIHJ1bnRpbWUgY2FuIGJlIHN1cHBsaWVkGGxhdGVyLgBdAVdBUk5JTkc6IFRoaXMgYXV0aG9yaXplcyBhbiB1cGdyYWRlIHRoYXQgd2lsbCB0YWtlIHBsYWNlIHdpdGhvdXQgYW55IHNhZmV0eSBjaGVja3MsIGZvclkBZXhhbXBsZSB0aGF0IHRoZSBzcGVjIG5hbWUgcmVtYWlucyB0aGUgc2FtZSBhbmQgdGhhdCB0aGUgdmVyc2lvbiBudW1iZXIgaW5jcmVhc2VzLiBOb3TwcmVjb21tZW5kZWQgZm9yIG5vcm1hbCB1c2UuIFVzZSBgYXV0aG9yaXplX3VwZ3JhZGVgIGluc3RlYWQuAHxUaGlzIGNhbGwgcmVxdWlyZXMgUm9vdCBvcmlnaW4uYGFwcGx5X2F1dGhvcml6ZWRfdXBncmFkZQQBEGNvZGUYARxWZWM8dTg+AAskVQFQcm92aWRlIHRoZSBwcmVpbWFnZSAocnVudGltZSBiaW5hcnkpIGBjb2RlYCBmb3IgYW4gdXBncmFkZSB0aGF0IGhhcyBiZWVuIGF1dGhvcml6ZWQuAEkBSWYgdGhlIGF1dGhvcml6YXRpb24gcmVxdWlyZWQgYSB2ZXJzaW9uIGNoZWNrLCB0aGlzIGNhbGwgd2lsbCBlbnN1cmUgdGhlIHNwZWMgbmFtZehyZW1haW5zIHVuY2hhbmdlZCBhbmQgdGhhdCB0aGUgc3BlYyB2ZXJzaW9uIGhhcyBpbmNyZWFzZWQuAFkBRGVwZW5kaW5nIG9uIHRoZSBydW50aW1lJ3MgYE9uU2V0Q29kZWAgY29uZmlndXJhdGlvbiwgdGhpcyBmdW5jdGlvbiBtYXkgZGlyZWN0bHkgYXBwbHkRAXRoZSBuZXcgYGNvZGVgIGluIHRoZSBzYW1lIGJsb2NrIG9yIGF0dGVtcHQgdG8gc2NoZWR1bGUgdGhlIHVwZ3JhZGUuAGBBbGwgb3JpZ2lucyBhcmUgYWxsb3dlZC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuKAAABQYALAAAAjAAMAAABAgYGAA0AAACGAA4AAAFBQA8CDxwcmltaXRpdmVfdHlwZXMQSDI1NgAABAAIASBbdTg7IDMyXQAAQAx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbRhwYWxsZXQQQ2FsbAQEVAABCExzZXRfdmFsaWRhdGlvbl9kYXRhCAEQZGF0YUQBaEJhc2ljUGFyYWNoYWluSW5oZXJlbnREYXRhAAFUaW5ib3VuZF9tZXNzYWdlc19kYXRhfAFMSW5ib3VuZE1lc3NhZ2VzRGF0YQAAJIBTZXQgdGhlIGN1cnJlbnQgdmFsaWRhdGlvbiBkYXRhLgBBAVRoaXMgc2hvdWxkIGJlIGludm9rZWQgZXhhY3RseSBvbmNlIHBlciBibG9jay4gSXQgd2lsbCBwYW5pYyBhdCB0aGUgZmluYWxpemF0aW9uiHBoYXNlIGlmIHRoZSBjYWxsIHdhcyBub3QgaW52b2tlZC4A0FRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIGBJbmhlcmVudGAAIQFBcyBhIHNpZGUgZWZmZWN0LCB0aGlzIGZ1bmN0aW9uIHVwZ3JhZGVzIHRoZSBjdXJyZW50IHZhbGlkYXRpb24gZnVuY3Rpb26EaWYgdGhlIGFwcHJvcHJpYXRlIHRpbWUgaGFzIGNvbWUuYHN1ZG9fc2VuZF91cHdhcmRfbWVzc2FnZQQBHG1lc3NhZ2UYATRVcHdhcmRNZXNzYWdlAAEABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLkQMfGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW1IcGFyYWNoYWluX2luaGVyZW50aEJhc2ljUGFyYWNoYWluSW5oZXJlbnREYXRhAAAQATx2YWxpZGF0aW9uX2RhdGFIAVxQZXJzaXN0ZWRWYWxpZGF0aW9uRGF0YQABRHJlbGF5X2NoYWluX3N0YXRlUAFUc3BfdHJpZTo6U3RvcmFnZVByb29mAAFgcmVsYXlfcGFyZW50X2Rlc2NlbmRhbnRzWAFAVmVjPFJlbGF5SGVhZGVyPgABQGNvbGxhdG9yX3BlZXJfaWR0AVhPcHRpb248QXBwcm92ZWRQZWVySWQ+AABIDExwb2xrYWRvdF9wcmltaXRpdmVzCHY5XFBlcnNpc3RlZFZhbGlkYXRpb25EYXRhCARIATwETgE4ABABLHBhcmVudF9oZWFkTAEgSGVhZERhdGEAAUxyZWxheV9wYXJlbnRfbnVtYmVyOAEETgABZHJlbGF5X3BhcmVudF9zdG9yYWdlX3Jvb3Q8AQRIAAEwbWF4X3Bvdl9zaXplOAEMdTMyAABMDHRwb2xrYWRvdF9wYXJhY2hhaW5fcHJpbWl0aXZlcyhwcmltaXRpdmVzIEhlYWREYXRhAAAEABgBHFZlYzx1OD4AAFAMHHNwX3RyaWU0c3RvcmFnZV9wcm9vZjBTdG9yYWdlUHJvb2YAAAQBKHRyaWVfbm9kZXNUAURCVHJlZVNldDxWZWM8dTg+PgAAVAQgQlRyZWVTZXQEBFQBGAAEADQAAABYAAACXABcEChzcF9ydW50aW1lHGdlbmVyaWMYaGVhZGVyGEhlYWRlcggYTnVtYmVyATgQSGFzaAAAFAEscGFyZW50X2hhc2g8ATBIYXNoOjpPdXRwdXQAARhudW1iZXJgARhOdW1iZXIAAShzdGF0ZV9yb290PAEwSGFzaDo6T3V0cHV0AAE8ZXh0cmluc2ljc19yb290PAEwSGFzaDo6T3V0cHV0AAEYZGlnZXN0ZAEYRGlnZXN0AABgAAAGOABkEChzcF9ydW50aW1lHGdlbmVyaWMYZGlnZXN0GERpZ2VzdAAABAEQbG9nc2gBPFZlYzxEaWdlc3RJdGVtPgAAaAAAAmwAbBAoc3BfcnVudGltZRxnZW5lcmljGGRpZ2VzdChEaWdlc3RJdGVtAAEUKFByZVJ1bnRpbWUIAHABRENvbnNlbnN1c0VuZ2luZUlkAAAYARxWZWM8dTg+AAYAJENvbnNlbnN1cwgAcAFEQ29uc2Vuc3VzRW5naW5lSWQAABgBHFZlYzx1OD4ABAAQU2VhbAgAcAFEQ29uc2Vuc3VzRW5naW5lSWQAABgBHFZlYzx1OD4ABQAUT3RoZXIEABgBHFZlYzx1OD4AAABkUnVudGltZUVudmlyb25tZW50VXBkYXRlZAAIAABwAAADBAAAAAwAdAQYT3B0aW9uBARUAXgBCBBOb25lAAAAEFNvbWUEAHgAAAEAAHgMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEMBFMAAAQAGAEYVmVjPFQ+AAB8DHxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtSHBhcmFjaGFpbl9pbmhlcmVudExJbmJvdW5kTWVzc2FnZXNEYXRhAAAIAURkb3dud2FyZF9tZXNzYWdlc4ABfEFicmlkZ2VkSW5ib3VuZERvd253YXJkTWVzc2FnZXMAAUxob3Jpem9udGFsX21lc3NhZ2VzlAFsQWJyaWRnZWRJbmJvdW5kSHJtcE1lc3NhZ2VzAACADHxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtSHBhcmFjaGFpbl9pbmhlcmVudIRBYnJpZGdlZEluYm91bmRNZXNzYWdlc0NvbGxlY3Rpb24EHE1lc3NhZ2UBhAAIATRmdWxsX21lc3NhZ2VziAEwVmVjPE1lc3NhZ2U+AAE8aGFzaGVkX21lc3NhZ2VzjAF8VmVjPE1lc3NhZ2U6OkNvbXByZXNzZWRNZXNzYWdlPgAAhAhgcG9sa2Fkb3RfY29yZV9wcmltaXRpdmVzWEluYm91bmREb3dud2FyZE1lc3NhZ2UELEJsb2NrTnVtYmVyATgACAEcc2VudF9hdDgBLEJsb2NrTnVtYmVyAAEMbXNnGAE8RG93bndhcmRNZXNzYWdlAACIAAAChACMAAACkACQCJRjdW11bHVzX3ByaW1pdGl2ZXNfcGFyYWNoYWluX2luaGVyZW50NEhhc2hlZE1lc3NhZ2UAAAgBHHNlbnRfYXQ4AVRSZWxheUNoYWluQmxvY2tOdW1iZXIAASBtc2dfaGFzaDwBNHNwX2NvcmU6OkgyNTYAAJQMfGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW1IcGFyYWNoYWluX2luaGVyZW50hEFicmlkZ2VkSW5ib3VuZE1lc3NhZ2VzQ29sbGVjdGlvbgQcTWVzc2FnZQGYAAgBNGZ1bGxfbWVzc2FnZXOkATBWZWM8TWVzc2FnZT4AATxoYXNoZWRfbWVzc2FnZXOoAXxWZWM8TWVzc2FnZTo6Q29tcHJlc3NlZE1lc3NhZ2U+AACYAAAECJygAJwMdHBvbGthZG90X3BhcmFjaGFpbl9wcmltaXRpdmVzKHByaW1pdGl2ZXMISWQAAAQAOAEMdTMyAACgCGBwb2xrYWRvdF9jb3JlX3ByaW1pdGl2ZXNISW5ib3VuZEhybXBNZXNzYWdlBCxCbG9ja051bWJlcgE4AAgBHHNlbnRfYXQ4ASxCbG9ja051bWJlcgABEGRhdGEYAUxhbGxvYzo6dmVjOjpWZWM8dTg+AACkAAACmACoAAACrACsAAAECJyQALAMQHBhbGxldF90aW1lc3RhbXAYcGFsbGV0EENhbGwEBFQAAQQMc2V0BAEMbm93tAEkVDo6TW9tZW50AABMVFNldCB0aGUgY3VycmVudCB0aW1lLgBVAVRoaXMgY2FsbCBzaG91bGQgYmUgaW52b2tlZCBleGFjdGx5IG9uY2UgcGVyIGJsb2NrLiBJdCB3aWxsIHBhbmljIGF0IHRoZSBmaW5hbGl6YXRpb27UcGhhc2UsIGlmIHRoaXMgY2FsbCBoYXNuJ3QgYmVlbiBpbnZva2VkIGJ5IHRoYXQgdGltZS4AQQFUaGUgdGltZXN0YW1wIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gdGhlIHByZXZpb3VzIG9uZSBieSB0aGUgYW1vdW50IHNwZWNpZmllZCBieWhbYENvbmZpZzo6TWluaW11bVBlcmlvZGBdLgDEVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX05vbmVfLgBRAVRoaXMgZGlzcGF0Y2ggY2xhc3MgaXMgX01hbmRhdG9yeV8gdG8gZW5zdXJlIGl0IGdldHMgZXhlY3V0ZWQgaW4gdGhlIGJsb2NrLiBCZSBhd2FyZVEBdGhhdCBjaGFuZ2luZyB0aGUgY29tcGxleGl0eSBvZiB0aGlzIGNhbGwgY291bGQgcmVzdWx0IGV4aGF1c3RpbmcgdGhlIHJlc291cmNlcyBpbiBhhGJsb2NrIHRvIGV4ZWN1dGUgYW55IG90aGVyIGNhbGxzLgA0IyMgQ29tcGxleGl0eTEBLSBgTygxKWAgKE5vdGUgdGhhdCBpbXBsZW1lbnRhdGlvbnMgb2YgYE9uVGltZXN0YW1wU2V0YCBtdXN0IGFsc28gYmUgYE8oMSlgKVUBLSAxIHN0b3JhZ2UgcmVhZCBhbmQgMSBzdG9yYWdlIG11dGF0aW9uIChjb2RlYyBgTygxKWAgYmVjYXVzZSBvZiBgRGlkVXBkYXRlOjp0YWtlYCBpbkAgIGBvbl9maW5hbGl6ZWAp1C0gMSBldmVudCBoYW5kbGVyIGBvbl90aW1lc3RhbXBfc2V0YC4gTXVzdCBiZSBgTygxKWAuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLrQAAAYoALgMWHN0YWdpbmdfcGFyYWNoYWluX2luZm8YcGFsbGV0EENhbGwEBFQAAQAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuvAw4cGFsbGV0X3V0aWxpdHkYcGFsbGV0EENhbGwEBFQAASAUYmF0Y2gEARRjYWxsc8ABfFZlYzw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4AAEh8U2VuZCBhIGJhdGNoIG9mIGRpc3BhdGNoIGNhbGxzLgCwTWF5IGJlIGNhbGxlZCBmcm9tIGFueSBvcmlnaW4gZXhjZXB0IGBOb25lYC4AXQEtIGBjYWxsc2A6IFRoZSBjYWxscyB0byBiZSBkaXNwYXRjaGVkIGZyb20gdGhlIHNhbWUgb3JpZ2luLiBUaGUgbnVtYmVyIG9mIGNhbGwgbXVzdCBub3Q5ASAgZXhjZWVkIHRoZSBjb25zdGFudDogYGJhdGNoZWRfY2FsbHNfbGltaXRgIChhdmFpbGFibGUgaW4gY29uc3RhbnQgbWV0YWRhdGEpLgBVAUlmIG9yaWdpbiBpcyByb290IHRoZW4gdGhlIGNhbGxzIGFyZSBkaXNwYXRjaGVkIHdpdGhvdXQgY2hlY2tpbmcgb3JpZ2luIGZpbHRlci4gKFRoaXPsaW5jbHVkZXMgYnlwYXNzaW5nIGBmcmFtZV9zeXN0ZW06OkNvbmZpZzo6QmFzZUNhbGxGaWx0ZXJgKS4ANCMjIENvbXBsZXhpdHnQLSBPKEMpIHdoZXJlIEMgaXMgdGhlIG51bWJlciBvZiBjYWxscyB0byBiZSBiYXRjaGVkLgBVAVRoaXMgd2lsbCByZXR1cm4gYE9rYCBpbiBhbGwgY2lyY3Vtc3RhbmNlcy4gVG8gZGV0ZXJtaW5lIHRoZSBzdWNjZXNzIG9mIHRoZSBiYXRjaCwgYW4xAWV2ZW50IGlzIGRlcG9zaXRlZC4gSWYgYSBjYWxsIGZhaWxlZCBhbmQgdGhlIGJhdGNoIHdhcyBpbnRlcnJ1cHRlZCwgdGhlbiB0aGVVAWBCYXRjaEludGVycnVwdGVkYCBldmVudCBpcyBkZXBvc2l0ZWQsIGFsb25nIHdpdGggdGhlIG51bWJlciBvZiBzdWNjZXNzZnVsIGNhbGxzIG1hZGVNAWFuZCB0aGUgZXJyb3Igb2YgdGhlIGZhaWxlZCBjYWxsLiBJZiBhbGwgd2VyZSBzdWNjZXNzZnVsLCB0aGVuIHRoZSBgQmF0Y2hDb21wbGV0ZWRgTGV2ZW50IGlzIGRlcG9zaXRlZC40YXNfZGVyaXZhdGl2ZQgBFGluZGV4xAEMdTE2AAEQY2FsbCABfEJveDw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4AATTcU2VuZCBhIGNhbGwgdGhyb3VnaCBhbiBpbmRleGVkIHBzZXVkb255bSBvZiB0aGUgc2VuZGVyLgBVAUZpbHRlciBmcm9tIG9yaWdpbiBhcmUgcGFzc2VkIGFsb25nLiBUaGUgY2FsbCB3aWxsIGJlIGRpc3BhdGNoZWQgd2l0aCBhbiBvcmlnaW4gd2hpY2i8dXNlIHRoZSBzYW1lIGZpbHRlciBhcyB0aGUgb3JpZ2luIG9mIHRoaXMgY2FsbC4ARQFOT1RFOiBJZiB5b3UgbmVlZCB0byBlbnN1cmUgdGhhdCBhbnkgYWNjb3VudC1iYXNlZCBmaWx0ZXJpbmcgaXMgbm90IGhvbm9yZWQgKGkuZS5hAWJlY2F1c2UgeW91IGV4cGVjdCBgcHJveHlgIHRvIGhhdmUgYmVlbiB1c2VkIHByaW9yIGluIHRoZSBjYWxsIHN0YWNrIGFuZCB5b3UgZG8gbm90IHdhbnRRAXRoZSBjYWxsIHJlc3RyaWN0aW9ucyB0byBhcHBseSB0byBhbnkgc3ViLWFjY291bnRzKSwgdGhlbiB1c2UgYGFzX211bHRpX3RocmVzaG9sZF8xYHxpbiB0aGUgTXVsdGlzaWcgcGFsbGV0IGluc3RlYWQuAPROT1RFOiBQcmlvciB0byB2ZXJzaW9uICoxMiwgdGhpcyB3YXMgY2FsbGVkIGBhc19saW1pdGVkX3N1YmAuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4kYmF0Y2hfYWxsBAEUY2FsbHPAAXxWZWM8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAI07FNlbmQgYSBiYXRjaCBvZiBkaXNwYXRjaCBjYWxscyBhbmQgYXRvbWljYWxseSBleGVjdXRlIHRoZW0uIQFUaGUgd2hvbGUgdHJhbnNhY3Rpb24gd2lsbCByb2xsYmFjayBhbmQgZmFpbCBpZiBhbnkgb2YgdGhlIGNhbGxzIGZhaWxlZC4AsE1heSBiZSBjYWxsZWQgZnJvbSBhbnkgb3JpZ2luIGV4Y2VwdCBgTm9uZWAuAF0BLSBgY2FsbHNgOiBUaGUgY2FsbHMgdG8gYmUgZGlzcGF0Y2hlZCBmcm9tIHRoZSBzYW1lIG9yaWdpbi4gVGhlIG51bWJlciBvZiBjYWxsIG11c3Qgbm90OQEgIGV4Y2VlZCB0aGUgY29uc3RhbnQ6IGBiYXRjaGVkX2NhbGxzX2xpbWl0YCAoYXZhaWxhYmxlIGluIGNvbnN0YW50IG1ldGFkYXRhKS4AVQFJZiBvcmlnaW4gaXMgcm9vdCB0aGVuIHRoZSBjYWxscyBhcmUgZGlzcGF0Y2hlZCB3aXRob3V0IGNoZWNraW5nIG9yaWdpbiBmaWx0ZXIuIChUaGlz7GluY2x1ZGVzIGJ5cGFzc2luZyBgZnJhbWVfc3lzdGVtOjpDb25maWc6OkJhc2VDYWxsRmlsdGVyYCkuADQjIyBDb21wbGV4aXR50C0gTyhDKSB3aGVyZSBDIGlzIHRoZSBudW1iZXIgb2YgY2FsbHMgdG8gYmUgYmF0Y2hlZC4sZGlzcGF0Y2hfYXMIASRhc19vcmlnaW7IAVRCb3g8VDo6UGFsbGV0c09yaWdpbj4AARBjYWxsIAF8Qm94PDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgADGMhEaXNwYXRjaGVzIGEgZnVuY3Rpb24gY2FsbCB3aXRoIGEgcHJvdmlkZWQgb3JpZ2luLgDEVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1Jvb3RfLgA0IyMgQ29tcGxleGl0eRwtIE8oMSkuLGZvcmNlX2JhdGNoBAEUY2FsbHPAAXxWZWM8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAQ0fFNlbmQgYSBiYXRjaCBvZiBkaXNwYXRjaCBjYWxscy7UVW5saWtlIGBiYXRjaGAsIGl0IGFsbG93cyBlcnJvcnMgYW5kIHdvbid0IGludGVycnVwdC4AsE1heSBiZSBjYWxsZWQgZnJvbSBhbnkgb3JpZ2luIGV4Y2VwdCBgTm9uZWAuAF0BLSBgY2FsbHNgOiBUaGUgY2FsbHMgdG8gYmUgZGlzcGF0Y2hlZCBmcm9tIHRoZSBzYW1lIG9yaWdpbi4gVGhlIG51bWJlciBvZiBjYWxsIG11c3Qgbm90OQEgIGV4Y2VlZCB0aGUgY29uc3RhbnQ6IGBiYXRjaGVkX2NhbGxzX2xpbWl0YCAoYXZhaWxhYmxlIGluIGNvbnN0YW50IG1ldGFkYXRhKS4ATQFJZiBvcmlnaW4gaXMgcm9vdCB0aGVuIHRoZSBjYWxscyBhcmUgZGlzcGF0Y2ggd2l0aG91dCBjaGVja2luZyBvcmlnaW4gZmlsdGVyLiAoVGhpc+xpbmNsdWRlcyBieXBhc3NpbmcgYGZyYW1lX3N5c3RlbTo6Q29uZmlnOjpCYXNlQ2FsbEZpbHRlcmApLgA0IyMgQ29tcGxleGl0edAtIE8oQykgd2hlcmUgQyBpcyB0aGUgbnVtYmVyIG9mIGNhbGxzIHRvIGJlIGJhdGNoZWQuLHdpdGhfd2VpZ2h0CAEQY2FsbCABfEJveDw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4AARh3ZWlnaHQpAQEYV2VpZ2h0AAUYxERpc3BhdGNoIGEgZnVuY3Rpb24gY2FsbCB3aXRoIGEgc3BlY2lmaWVkIHdlaWdodC4ALQFUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IGNoZWNrIHRoZSB3ZWlnaHQgb2YgdGhlIGNhbGwsIGFuZCBpbnN0ZWFkIGFsbG93cyB0aGW4Um9vdCBvcmlnaW4gdG8gc3BlY2lmeSB0aGUgd2VpZ2h0IG9mIHRoZSBjYWxsLgDEVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1Jvb3RfLhxpZl9lbHNlCAEQbWFpbiABfEJveDw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4AASBmYWxsYmFjayABfEJveDw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4ABlwVAURpc3BhdGNoIGEgZmFsbGJhY2sgY2FsbCBpbiB0aGUgZXZlbnQgdGhlIG1haW4gY2FsbCBmYWlscyB0byBleGVjdXRlLrBNYXkgYmUgY2FsbGVkIGZyb20gYW55IG9yaWdpbiBleGNlcHQgYE5vbmVgLgDkVGhpcyBmdW5jdGlvbiBmaXJzdCBhdHRlbXB0cyB0byBkaXNwYXRjaCB0aGUgYG1haW5gIGNhbGwu1ElmIHRoZSBgbWFpbmAgY2FsbCBmYWlscywgdGhlIGBmYWxsYmFja2AgaXMgYXR0ZW10ZWQuFQFpZiB0aGUgZmFsbGJhY2sgaXMgc3VjY2Vzc2Z1bGx5IGRpc3BhdGNoZWQsIHRoZSB3ZWlnaHRzIG9mIGJvdGggY2FsbHMlAWFyZSBhY2N1bXVsYXRlZCBhbmQgYW4gZXZlbnQgY29udGFpbmluZyB0aGUgbWFpbiBjYWxsIGVycm9yIGlzIGRlcG9zaXRlZC4A3EluIHRoZSBldmVudCBvZiBhIGZhbGxiYWNrIGZhaWx1cmUgdGhlIHdob2xlIGNhbGwgZmFpbHNod2l0aCB0aGUgd2VpZ2h0cyByZXR1cm5lZC4AQQEtIGBtYWluYDogVGhlIG1haW4gY2FsbCB0byBiZSBkaXNwYXRjaGVkLiBUaGlzIGlzIHRoZSBwcmltYXJ5IGFjdGlvbiB0byBleGVjdXRlLj0BLSBgZmFsbGJhY2tgOiBUaGUgZmFsbGJhY2sgY2FsbCB0byBiZSBkaXNwYXRjaGVkIGluIGNhc2UgdGhlIGBtYWluYCBjYWxsIGZhaWxzLgBEIyMgRGlzcGF0Y2ggTG9naWNBAS0gSWYgdGhlIG9yaWdpbiBpcyBgcm9vdGAsIGJvdGggdGhlIG1haW4gYW5kIGZhbGxiYWNrIGNhbGxzIGFyZSBleGVjdXRlZCB3aXRob3V0eCAgYXBwbHlpbmcgYW55IG9yaWdpbiBmaWx0ZXJzLkkBLSBJZiB0aGUgb3JpZ2luIGlzIG5vdCBgcm9vdGAsIHRoZSBvcmlnaW4gZmlsdGVyIGlzIGFwcGxpZWQgdG8gYm90aCB0aGUgYG1haW5gIGFuZEwgIGBmYWxsYmFja2AgY2FsbHMuACwjIyBVc2UgQ2FzZVkBLSBTb21lIHVzZSBjYXNlcyBtaWdodCBpbnZvbHZlIHN1Ym1pdHRpbmcgYSBgYmF0Y2hgIHR5cGUgY2FsbCBpbiBlaXRoZXIgbWFpbiwgZmFsbGJhY2soICBvciBib3RoLlBkaXNwYXRjaF9hc19mYWxsaWJsZQgBJGFzX29yaWdpbsgBVEJveDxUOjpQYWxsZXRzT3JpZ2luPgABEGNhbGwgAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAcUyERpc3BhdGNoZXMgYSBmdW5jdGlvbiBjYWxsIHdpdGggYSBwcm92aWRlZCBvcmlnaW4uAFEBQWxtb3N0IHRoZSBzYW1lIGFzIFtgUGFsbGV0OjpkaXNwYXRjaF9hc2BdIGJ1dCBmb3J3YXJkcyBhbnkgZXJyb3Igb2YgdGhlIGlubmVyIGNhbGwuAMRUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfUm9vdF8uBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLsAAAAIgAMQAAAUEAMgIYGJ1bGxldGluX3dlc3RlbmRfcnVudGltZTBPcmlnaW5DYWxsZXIAARAYc3lzdGVtBADMAXRmcmFtZV9zeXN0ZW06Ok9yaWdpbjxSdW50aW1lPgAAAEhUcmFuc2FjdGlvblN0b3JhZ2UEANABrHBhbGxldF90cmFuc2FjdGlvbl9zdG9yYWdlOjpPcmlnaW48UnVudGltZT4AKAAsUG9sa2Fkb3RYY20EANwBSHBhbGxldF94Y206Ok9yaWdpbgAfAChDdW11bHVzWGNtBAAlAQFoY3VtdWx1c19wYWxsZXRfeGNtOjpPcmlnaW4AIAAAzAw0ZnJhbWVfc3VwcG9ydCBkaXNwYXRjaCRSYXdPcmlnaW4EJEFjY291bnRJZAEEARAQUm9vdAAAABhTaWduZWQEAAQBJEFjY291bnRJZAABABBOb25lAAIAKEF1dGhvcml6ZWQAAwAA0AxocGFsbGV0X3RyYW5zYWN0aW9uX3N0b3JhZ2UYcGFsbGV0GE9yaWdpbgQEVAHUAQQoQXV0aG9yaXplZAgBDHdobwQBMFQ6OkFjY291bnRJZAABFHNjb3Bl2AFgQXV0aG9yaXphdGlvblNjb3BlRm9yPFQ+AAAAANQIYGJ1bGxldGluX3dlc3RlbmRfcnVudGltZRxSdW50aW1lAAAAANgIaHBhbGxldF90cmFuc2FjdGlvbl9zdG9yYWdlSEF1dGhvcml6YXRpb25TY29wZQQkQWNjb3VudElkAQQBCBxBY2NvdW50BAAEASRBY2NvdW50SWQAAAAgUHJlaW1hZ2UEAAgBLENvbnRlbnRIYXNoAAEAANwMKHBhbGxldF94Y20YcGFsbGV0GE9yaWdpbgABCAxYY20EAOABIExvY2F0aW9uAAAAIFJlc3BvbnNlBADgASBMb2NhdGlvbgABAADgECxzdGFnaW5nX3hjbQh2NSBsb2NhdGlvbiBMb2NhdGlvbgAACAEccGFyZW50cwwBCHU4AAEgaW50ZXJpb3LkASRKdW5jdGlvbnMAAOQQLHN0YWdpbmdfeGNtCHY1JGp1bmN0aW9ucyRKdW5jdGlvbnMAASQQSGVyZQAAAAhYMQQA6AFIQXJjPFtKdW5jdGlvbjsgMV0+AAEACFgyBAAJAQFIQXJjPFtKdW5jdGlvbjsgMl0+AAIACFgzBAANAQFIQXJjPFtKdW5jdGlvbjsgM10+AAMACFg0BAARAQFIQXJjPFtKdW5jdGlvbjsgNF0+AAQACFg1BAAVAQFIQXJjPFtKdW5jdGlvbjsgNV0+AAUACFg2BAAZAQFIQXJjPFtKdW5jdGlvbjsgNl0+AAYACFg3BAAdAQFIQXJjPFtKdW5jdGlvbjsgN10+AAcACFg4BAAhAQFIQXJjPFtKdW5jdGlvbjsgOF0+AAgAAOgAAAMBAAAA7ADsECxzdGFnaW5nX3hjbQh2NSBqdW5jdGlvbiBKdW5jdGlvbgABKCRQYXJhY2hhaW4EAGABDHUzMgAAACxBY2NvdW50SWQzMggBHG5ldHdvcmvwAURPcHRpb248TmV0d29ya0lkPgABCGlkCAEgW3U4OyAzMl0AAQA4QWNjb3VudEluZGV4NjQIARxuZXR3b3Jr8AFET3B0aW9uPE5ldHdvcmtJZD4AARRpbmRleLQBDHU2NAACADBBY2NvdW50S2V5MjAIARxuZXR3b3Jr8AFET3B0aW9uPE5ldHdvcmtJZD4AAQxrZXkcASBbdTg7IDIwXQADADhQYWxsZXRJbnN0YW5jZQQADAEIdTgABAAwR2VuZXJhbEluZGV4BAD4ARB1MTI4AAUAKEdlbmVyYWxLZXkIARhsZW5ndGgMAQh1OAABEGRhdGEIASBbdTg7IDMyXQAGACRPbmx5Q2hpbGQABwAkUGx1cmFsaXR5CAEIaWQBAQEYQm9keUlkAAEQcGFydAUBASBCb2R5UGFydAAIADxHbG9iYWxDb25zZW5zdXMEAPQBJE5ldHdvcmtJZAAJAADwBBhPcHRpb24EBFQB9AEIEE5vbmUAAAAQU29tZQQA9AAAAQAA9BAsc3RhZ2luZ194Y20IdjUganVuY3Rpb24kTmV0d29ya0lkAAEgJEJ5R2VuZXNpcwQACAEgW3U4OyAzMl0AAAAYQnlGb3JrCAEwYmxvY2tfbnVtYmVyKAEMdTY0AAEoYmxvY2tfaGFzaAgBIFt1ODsgMzJdAAEAIFBvbGthZG90AAIAGEt1c2FtYQADACBFdGhlcmV1bQQBIGNoYWluX2lktAEMdTY0AAcALEJpdGNvaW5Db3JlAAgALEJpdGNvaW5DYXNoAAkAQFBvbGthZG90QnVsbGV0aW4ACgAA+AAABvwA/AAABQcAAQEQDHhjbQh2MyBqdW5jdGlvbhhCb2R5SWQAASgQVW5pdAAAABxNb25pa2VyBABwARxbdTg7IDRdAAEAFEluZGV4BABgAQx1MzIAAgAkRXhlY3V0aXZlAAMAJFRlY2huaWNhbAAEACxMZWdpc2xhdGl2ZQAFACBKdWRpY2lhbAAGABxEZWZlbnNlAAcAOEFkbWluaXN0cmF0aW9uAAgAIFRyZWFzdXJ5AAkAAAUBEAx4Y20IdjMganVuY3Rpb24gQm9keVBhcnQAARQUVm9pY2UAAAAcTWVtYmVycwQBFGNvdW50YAEMdTMyAAEAIEZyYWN0aW9uCAEMbm9tYAEMdTMyAAEUZGVub21gAQx1MzIAAgBEQXRMZWFzdFByb3BvcnRpb24IAQxub21gAQx1MzIAARRkZW5vbWABDHUzMgADAEhNb3JlVGhhblByb3BvcnRpb24IAQxub21gAQx1MzIAARRkZW5vbWABDHUzMgAEAAAJAQAAAwIAAADsAA0BAAADAwAAAOwAEQEAAAMEAAAA7AAVAQAAAwUAAADsABkBAAADBgAAAOwAHQEAAAMHAAAA7AAhAQAAAwgAAADsACUBDEhjdW11bHVzX3BhbGxldF94Y20YcGFsbGV0GE9yaWdpbgABCBRSZWxheQAAAEBTaWJsaW5nUGFyYWNoYWluBACcARhQYXJhSWQAAQAAKQEMKHNwX3dlaWdodHMkd2VpZ2h0X3YyGFdlaWdodAAACAEgcmVmX3RpbWW0AQx1NjQAAShwcm9vZl9zaXpltAEMdTY0AAAtAQw8cGFsbGV0X2JhbGFuY2VzGHBhbGxldBBDYWxsCARUAARJAAEkUHRyYW5zZmVyX2FsbG93X2RlYXRoCAEQZGVzdAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEUdmFsdWX4AShUOjpCYWxhbmNlAAAc1FRyYW5zZmVyIHNvbWUgbGlxdWlkIGZyZWUgYmFsYW5jZSB0byBhbm90aGVyIGFjY291bnQuADUBYHRyYW5zZmVyX2FsbG93X2RlYXRoYCB3aWxsIHNldCB0aGUgYEZyZWVCYWxhbmNlYCBvZiB0aGUgc2VuZGVyIGFuZCByZWNlaXZlci4RAUlmIHRoZSBzZW5kZXIncyBhY2NvdW50IGlzIGJlbG93IHRoZSBleGlzdGVudGlhbCBkZXBvc2l0IGFzIGEgcmVzdWx0sG9mIHRoZSB0cmFuc2ZlciwgdGhlIGFjY291bnQgd2lsbCBiZSByZWFwZWQuABUBVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgYFNpZ25lZGAgYnkgdGhlIHRyYW5zYWN0b3IuOGZvcmNlX3RyYW5zZmVyDAEYc291cmNlAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARBkZXN0AAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARR2YWx1ZfgBKFQ6OkJhbGFuY2UAAghhAUV4YWN0bHkgYXMgYHRyYW5zZmVyX2FsbG93X2RlYXRoYCwgZXhjZXB0IHRoZSBvcmlnaW4gbXVzdCBiZSByb290IGFuZCB0aGUgc291cmNlIGFjY291bnREbWF5IGJlIHNwZWNpZmllZC5MdHJhbnNmZXJfa2VlcF9hbGl2ZQgBEGRlc3QAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABFHZhbHVl+AEoVDo6QmFsYW5jZQADGFkBU2FtZSBhcyB0aGUgW2B0cmFuc2Zlcl9hbGxvd19kZWF0aGBdIGNhbGwsIGJ1dCB3aXRoIGEgY2hlY2sgdGhhdCB0aGUgdHJhbnNmZXIgd2lsbCBub3Rga2lsbCB0aGUgb3JpZ2luIGFjY291bnQuAOg5OSUgb2YgdGhlIHRpbWUgeW91IHdhbnQgW2B0cmFuc2Zlcl9hbGxvd19kZWF0aGBdIGluc3RlYWQuAPBbYHRyYW5zZmVyX2FsbG93X2RlYXRoYF06IHN0cnVjdC5QYWxsZXQuaHRtbCNtZXRob2QudHJhbnNmZXIwdHJhbnNmZXJfYWxsCAEQZGVzdAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEoa2VlcF9hbGl2ZTEBARBib29sAAQ8BQFUcmFuc2ZlciB0aGUgZW50aXJlIHRyYW5zZmVyYWJsZSBiYWxhbmNlIGZyb20gdGhlIGNhbGxlciBhY2NvdW50LgBZAU5PVEU6IFRoaXMgZnVuY3Rpb24gb25seSBhdHRlbXB0cyB0byB0cmFuc2ZlciBfdHJhbnNmZXJhYmxlXyBiYWxhbmNlcy4gVGhpcyBtZWFucyB0aGF0YQFhbnkgbG9ja2VkLCByZXNlcnZlZCwgb3IgZXhpc3RlbnRpYWwgZGVwb3NpdHMgKHdoZW4gYGtlZXBfYWxpdmVgIGlzIGB0cnVlYCksIHdpbGwgbm90IGJlXQF0cmFuc2ZlcnJlZCBieSB0aGlzIGZ1bmN0aW9uLiBUbyBlbnN1cmUgdGhhdCB0aGlzIGZ1bmN0aW9uIHJlc3VsdHMgaW4gYSBraWxsZWQgYWNjb3VudCxFAXlvdSBtaWdodCBuZWVkIHRvIHByZXBhcmUgdGhlIGFjY291bnQgYnkgcmVtb3ZpbmcgYW55IHJlZmVyZW5jZSBjb3VudGVycywgc3RvcmFnZUBkZXBvc2l0cywgZXRjLi4uAMBUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIFNpZ25lZC4AoC0gYGRlc3RgOiBUaGUgcmVjaXBpZW50IG9mIHRoZSB0cmFuc2Zlci5ZAS0gYGtlZXBfYWxpdmVgOiBBIGJvb2xlYW4gdG8gZGV0ZXJtaW5lIGlmIHRoZSBgdHJhbnNmZXJfYWxsYCBvcGVyYXRpb24gc2hvdWxkIHNlbmQgYWxsTQEgIG9mIHRoZSBmdW5kcyB0aGUgYWNjb3VudCBoYXMsIGNhdXNpbmcgdGhlIHNlbmRlciBhY2NvdW50IHRvIGJlIGtpbGxlZCAoZmFsc2UpLCBvclkBICB0cmFuc2ZlciBldmVyeXRoaW5nIGV4Y2VwdCBhdCBsZWFzdCB0aGUgZXhpc3RlbnRpYWwgZGVwb3NpdCwgd2hpY2ggd2lsbCBndWFyYW50ZWUgdG+cICBrZWVwIHRoZSBzZW5kZXIgYWNjb3VudCBhbGl2ZSAodHJ1ZSkuPGZvcmNlX3VucmVzZXJ2ZQgBDHdobwABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEYYW1vdW50/AEoVDo6QmFsYW5jZQAFDLBVbnJlc2VydmUgc29tZSBiYWxhbmNlIGZyb20gYSB1c2VyIGJ5IGZvcmNlLgBsQ2FuIG9ubHkgYmUgY2FsbGVkIGJ5IFJPT1QuQHVwZ3JhZGVfYWNjb3VudHMEAQx3aG81AQFEVmVjPFQ6OkFjY291bnRJZD4ABiBwVXBncmFkZSBhIHNwZWNpZmllZCBhY2NvdW50LgB0LSBgb3JpZ2luYDogTXVzdCBiZSBgU2lnbmVkYC6QLSBgd2hvYDogVGhlIGFjY291bnQgdG8gYmUgdXBncmFkZWQuAFUBVGhpcyB3aWxsIHdhaXZlIHRoZSB0cmFuc2FjdGlvbiBmZWUgaWYgYXQgbGVhc3QgYWxsIGJ1dCAxMCUgb2YgdGhlIGFjY291bnRzIG5lZWRlZCB0b0EBYmUgdXBncmFkZWQuIChXZSBsZXQgc29tZSBub3QgaGF2ZSB0byBiZSB1cGdyYWRlZCBqdXN0IGluIG9yZGVyIHRvIGFsbG93IGZvciB0aGVYcG9zc2liaWxpdHkgb2YgY2h1cm4pLkRmb3JjZV9zZXRfYmFsYW5jZQgBDHdobwABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEgbmV3X2ZyZWX4AShUOjpCYWxhbmNlAAgMrFNldCB0aGUgcmVndWxhciBiYWxhbmNlIG9mIGEgZ2l2ZW4gYWNjb3VudC4AsFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBpcyBgcm9vdGAubGZvcmNlX2FkanVzdF90b3RhbF9pc3N1YW5jZQgBJGRpcmVjdGlvbjkBAUxBZGp1c3RtZW50RGlyZWN0aW9uAAEUZGVsdGH4AShUOjpCYWxhbmNlAAkUuEFkanVzdCB0aGUgdG90YWwgaXNzdWFuY2UgaW4gYSBzYXR1cmF0aW5nIHdheS4A/ENhbiBvbmx5IGJlIGNhbGxlZCBieSByb290IGFuZCBhbHdheXMgbmVlZHMgYSBwb3NpdGl2ZSBgZGVsdGFgLgAkIyBFeGFtcGxlEGJ1cm4IARR2YWx1ZfgBKFQ6OkJhbGFuY2UAAShrZWVwX2FsaXZlMQEBEGJvb2wAChz8QnVybiB0aGUgc3BlY2lmaWVkIGxpcXVpZCBmcmVlIGJhbGFuY2UgZnJvbSB0aGUgb3JpZ2luIGFjY291bnQuACUBSWYgdGhlIG9yaWdpbidzIGFjY291bnQgZW5kcyB1cCBiZWxvdyB0aGUgZXhpc3RlbnRpYWwgZGVwb3NpdCBhcyBhIHJlc3VsdAkBb2YgdGhlIGJ1cm4gYW5kIGBrZWVwX2FsaXZlYCBpcyBmYWxzZSwgdGhlIGFjY291bnQgd2lsbCBiZSByZWFwZWQuAFEBVW5saWtlIHNlbmRpbmcgZnVuZHMgdG8gYSBfYnVybl8gYWRkcmVzcywgd2hpY2ggbWVyZWx5IG1ha2VzIHRoZSBmdW5kcyBpbmFjY2Vzc2libGUsIQF0aGlzIGBidXJuYCBvcGVyYXRpb24gd2lsbCByZWR1Y2UgdG90YWwgaXNzdWFuY2UgYnkgdGhlIGFtb3VudCBfYnVybmVkXy4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuMQEAAAUAADUBAAACBAA5AQw8cGFsbGV0X2JhbGFuY2VzFHR5cGVzTEFkanVzdG1lbnREaXJlY3Rpb24AAQggSW5jcmVhc2UAAAAgRGVjcmVhc2UAAQAAPQEMaHBhbGxldF90cmFuc2FjdGlvbl9zdG9yYWdlGHBhbGxldBBDYWxsBARUAAEoFHN0b3JlBAEQZGF0YRgBHFZlYzx1OD4AADgdAUluZGV4IGFuZCBzdG9yZSBkYXRhIG9mZiBjaGFpbi4gTWluaW11bSBkYXRhIHNpemUgaXMgMSBieXRlLCBtYXhpbXVtIGlzRQFgTWF4VHJhbnNhY3Rpb25TaXplYC4gRGF0YSB3aWxsIGJlIHJlbW92ZWQgYWZ0ZXIgYFJldGVudGlvblBlcmlvZGAgYmxvY2tzLCB1bmxlc3NIYHJlbmV3YCBpcyBjYWxsZWQuAE0BQXV0aG9yaXphdGlvbiBpcyByZXF1aXJlZCB0byBzdG9yZSBkYXRhIHVzaW5nIHJlZ3VsYXIgc2lnbmVkL3Vuc2lnbmVkIHRyYW5zYWN0aW9ucy74UmVndWxhciBzaWduZWQgdHJhbnNhY3Rpb25zIHJlcXVpcmUgYWNjb3VudCBhdXRob3JpemF0aW9uIChzZWVZAVtgYXV0aG9yaXplX2FjY291bnRgXShTZWxmOjphdXRob3JpemVfYWNjb3VudCkpLCByZWd1bGFyIHVuc2lnbmVkIHRyYW5zYWN0aW9ucyByZXF1aXJlOQFwcmVpbWFnZSBhdXRob3JpemF0aW9uIChzZWUgW2BhdXRob3JpemVfcHJlaW1hZ2VgXShTZWxmOjphdXRob3JpemVfcHJlaW1hZ2UpKS4AwEVtaXRzIFtgU3RvcmVkYF0oRXZlbnQ6OlN0b3JlZCkgd2hlbiBzdWNjZXNzZnVsLgA0IyMgQ29tcGxleGl0eQAVAU8obipsb2cobikpIG9mIGRhdGEgc2l6ZSwgYXMgYWxsIGRhdGEgaXMgcHVzaGVkIHRvIGFuIGluLW1lbW9yeSB0cmllLlRzdG9yZV93aXRoX2NpZF9jb25maWcIAQxjaWRBAQEkQ2lkQ29uZmlnAAEQZGF0YRgBHFZlYzx1OD4ACRgJAUluZGV4IGFuZCBzdG9yZSBkYXRhIG9mZiBjaGFpbiB3aXRoIGFuIGV4cGxpY2l0IENJRCBjb25maWd1cmF0aW9uLgAhAUJlaGF2ZXMgaWRlbnRpY2FsbHkgdG8gW2BzdG9yZWBdKFNlbGY6OnN0b3JlKSwgYnV0IHRoZSBDSUQgY29uZmlndXJhdGlvbgEBKGNvZGVjIGFuZCBoYXNoaW5nIGFsZ29yaXRobSkgaXMgcGFzc2VkIGRpcmVjdGx5IGFzIGEgcGFyYW1ldGVyLgDARW1pdHMgW2BTdG9yZWRgXShFdmVudDo6U3RvcmVkKSB3aGVuIHN1Y2Nlc3NmdWwuFHJlbmV3CAEUYmxvY2s4AURCbG9ja051bWJlckZvcjxUPgABFGluZGV4OAEMdTMyAAEwUQFSZW5ldyBwcmV2aW91c2x5IHN0b3JlZCBkYXRhLiBQYXJhbWV0ZXJzIGFyZSB0aGUgYmxvY2sgbnVtYmVyIHRoYXQgY29udGFpbnMgcHJldmlvdXNVAWBzdG9yZWAgb3IgYHJlbmV3YCBjYWxsIGFuZCB0cmFuc2FjdGlvbiBpbmRleCB3aXRoaW4gdGhhdCBibG9jay4gVHJhbnNhY3Rpb24gaW5kZXggaXOsZW1pdHRlZCBpbiB0aGUgYFN0b3JlZGAgb3IgYFJlbmV3ZWRgIGV2ZW50LgBVAUFzIHdpdGggW2BzdG9yZWBdKFNlbGY6OnN0b3JlKSwgYXV0aG9yaXphdGlvbiBpcyByZXF1aXJlZCB0byByZW5ldyBkYXRhIHVzaW5nIHJlZ3VsYXJ0c2lnbmVkL3Vuc2lnbmVkIHRyYW5zYWN0aW9ucy4AyEVtaXRzIFtgUmVuZXdlZGBdKEV2ZW50OjpSZW5ld2VkKSB3aGVuIHN1Y2Nlc3NmdWwuADQjIyBDb21wbGV4aXR5ABRPKDEpLixjaGVja19wcm9vZgQBFHByb29mSQEBXFRyYW5zYWN0aW9uU3RvcmFnZVByb29mAAIcYQFDaGVjayBzdG9yYWdlIHByb29mIGZvciBibG9jayBudW1iZXIgYGJsb2NrX251bWJlcigpIC0gUmV0ZW50aW9uUGVyaW9kYC4gSWYgc3VjaCBhIGJsb2NrzGRvZXMgbm90IGV4aXN0LCB0aGUgcHJvb2YgaXMgZXhwZWN0ZWQgdG8gYmUgYE5vbmVgLgA0IyMgQ29tcGxleGl0eQBdAUxpbmVhciB3LnIudCB0aGUgbnVtYmVyIG9mIGluZGV4ZWQgdHJhbnNhY3Rpb25zIGluIHRoZSBwcm92ZWQgYmxvY2sgZm9yIHJhbmRvbSBwcm9iaW5nLpxUaGVyZSdzIGEgREIgcmVhZCBmb3IgZWFjaCB0cmFuc2FjdGlvbi5EYXV0aG9yaXplX2FjY291bnQMAQx3aG8EATBUOjpBY2NvdW50SWQAATB0cmFuc2FjdGlvbnM4AQx1MzIAARRieXRlcygBDHU2NAADPF0BQXV0aG9yaXplIGFuIGFjY291bnQgdG8gc3RvcmUgdXAgdG8gYSBnaXZlbiBhbW91bnQgb2YgYXJiaXRyYXJ5IGRhdGEuIFRoZSBhdXRob3JpemF0aW9uwHdpbGwgZXhwaXJlIGFmdGVyIGEgY29uZmlndXJlZCBudW1iZXIgb2YgYmxvY2tzLgBRAUlmIHRoZSBhY2NvdW50IGlzIGFscmVhZHkgYXV0aG9yaXplZCB0byBzdG9yZSBkYXRhLCB0aGlzIHdpbGwgaW5jcmVhc2UgdGhlIGFtb3VudCBvZl0BZGF0YSB0aGUgYWNjb3VudCBpcyBhdXRob3JpemVkIHRvIHN0b3JlIChhbmQgdGhlIG51bWJlciBvZiB0cmFuc2FjdGlvbnMgdGhlIGFjY291bnQgbWF5/HN1Ym1pdCB0byBzdXBwbHkgdGhlIGRhdGEpLCBhbmQgcHVzaCBiYWNrIHRoZSBleHBpcmF0aW9uIGJsb2NrLgAsUGFyYW1ldGVyczoAIQEtIGB3aG9gOiBUaGUgYWNjb3VudCB0byBiZSBjcmVkaXRlZCB3aXRoIGFuIGF1dGhvcml6YXRpb24gdG8gc3RvcmUgZGF0YS5dAS0gYHRyYW5zYWN0aW9uc2A6IFRoZSBudW1iZXIgb2YgdHJhbnNhY3Rpb25zIHRoYXQgYHdob2AgbWF5IHN1Ym1pdCB0byBzdXBwbHkgdGhhdCBkYXRhLtQtIGBieXRlc2A6IFRoZSBudW1iZXIgb2YgYnl0ZXMgdGhhdCBgd2hvYCBtYXkgc3VibWl0LgAFAVRoZSBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIHRoZSBwYWxsZXQncyBgQXV0aG9yaXplcmAuIEVtaXRzAQFbYEFjY291bnRBdXRob3JpemVkYF0oRXZlbnQ6OkFjY291bnRBdXRob3JpemVkKSB3aGVuIHN1Y2Nlc3NmdWwuSGF1dGhvcml6ZV9wcmVpbWFnZQgBMGNvbnRlbnRfaGFzaAgBLENvbnRlbnRIYXNoAAEgbWF4X3NpemUoAQx1NjQABEBZAUF1dGhvcml6ZSBhbnlvbmUgdG8gc3RvcmUgYSBwcmVpbWFnZSBvZiB0aGUgZ2l2ZW4gY29udGVudCBoYXNoLiBUaGUgYXV0aG9yaXphdGlvbiB3aWxsrGV4cGlyZSBhZnRlciBhIGNvbmZpZ3VyZWQgbnVtYmVyIG9mIGJsb2Nrcy4ASQFJZiBhdXRob3JpemF0aW9uIGFscmVhZHkgZXhpc3RzIGZvciBhIHByZWltYWdlIG9mIHRoZSBnaXZlbiBoYXNoIHRvIGJlIHN0b3JlZCwgdGhlWQFtYXhpbXVtIHNpemUgb2YgdGhlIHByZWltYWdlIHdpbGwgYmUgaW5jcmVhc2VkIHRvIGBtYXhfc2l6ZWAsIGFuZCB0aGUgZXhwaXJhdGlvbiBibG9ja1B3aWxsIGJlIHB1c2hlZCBiYWNrLgAsUGFyYW1ldGVyczoAXQEtIGBjb250ZW50X2hhc2hgOiBUaGUgaGFzaCBvZiB0aGUgZGF0YSB0byBiZSBzdWJtaXR0ZWQuIEZvciBbYHN0b3JlYF0oU2VsZjo6c3RvcmUpIHRoaXNVASAgaXMgdGhlIEJMQUtFMmItMjU2IGhhc2g7IGZvciBbYHN0b3JlX3dpdGhfY2lkX2NvbmZpZ2BdKFNlbGY6OnN0b3JlX3dpdGhfY2lkX2NvbmZpZykJASAgdGhpcyBpcyB0aGUgaGFzaCBwcm9kdWNlZCBieSB0aGUgQ0lEIGNvbmZpZydzIGhhc2hpbmcgYWxnb3JpdGhtLugtIGBtYXhfc2l6ZWA6IFRoZSBtYXhpbXVtIHNpemUsIGluIGJ5dGVzLCBvZiB0aGUgcHJlaW1hZ2UuAAUBVGhlIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgdGhlIHBhbGxldCdzIGBBdXRob3JpemVyYC4gRW1pdHMJAVtgUHJlaW1hZ2VBdXRob3JpemVkYF0oRXZlbnQ6OlByZWltYWdlQXV0aG9yaXplZCkgd2hlbiBzdWNjZXNzZnVsLpByZW1vdmVfZXhwaXJlZF9hY2NvdW50X2F1dGhvcml6YXRpb24EAQx3aG8EATBUOjpBY2NvdW50SWQABSAtAVJlbW92ZSBhbiBleHBpcmVkIGFjY291bnQgYXV0aG9yaXphdGlvbiBmcm9tIHN0b3JhZ2UuIEFueW9uZSBjYW4gY2FsbCB0aGlzLgAsUGFyYW1ldGVyczoA9C0gYHdob2A6IFRoZSBhY2NvdW50IHdpdGggYW4gZXhwaXJlZCBhdXRob3JpemF0aW9uIHRvIHJlbW92ZS4AXQFFbWl0cyBbYEV4cGlyZWRBY2NvdW50QXV0aG9yaXphdGlvblJlbW92ZWRgXShFdmVudDo6RXhwaXJlZEFjY291bnRBdXRob3JpemF0aW9uUmVtb3ZlZClAd2hlbiBzdWNjZXNzZnVsLpRyZW1vdmVfZXhwaXJlZF9wcmVpbWFnZV9hdXRob3JpemF0aW9uBAEwY29udGVudF9oYXNoCAEsQ29udGVudEhhc2gABiQxAVJlbW92ZSBhbiBleHBpcmVkIHByZWltYWdlIGF1dGhvcml6YXRpb24gZnJvbSBzdG9yYWdlLiBBbnlvbmUgY2FuIGNhbGwgdGhpcy4ALFBhcmFtZXRlcnM6ANwtIGBjb250ZW50X2hhc2hgOiBUaGUgQkxBS0UyYiBoYXNoIHRoYXQgd2FzIGF1dGhvcml6ZWQuABRFbWl0c00BW2BFeHBpcmVkUHJlaW1hZ2VBdXRob3JpemF0aW9uUmVtb3ZlZGBdKEV2ZW50OjpFeHBpcmVkUHJlaW1hZ2VBdXRob3JpemF0aW9uUmVtb3ZlZClAd2hlbiBzdWNjZXNzZnVsLnRyZWZyZXNoX2FjY291bnRfYXV0aG9yaXphdGlvbgQBDHdobwQBMFQ6OkFjY291bnRJZAAHKA0BUmVmcmVzaCB0aGUgZXhwaXJhdGlvbiBvZiBhbiBleGlzdGluZyBhdXRob3JpemF0aW9uIGZvciBhbiBhY2NvdW50LgAJAUlmIHRoZSBhY2NvdW50IGRvZXMgbm90IGhhdmUgYW4gYXV0aG9yaXphdGlvbiwgdGhlIGNhbGwgd2lsbCBmYWlsLgAsUGFyYW1ldGVyczoAIQEtIGB3aG9gOiBUaGUgYWNjb3VudCB0byBiZSBjcmVkaXRlZCB3aXRoIGFuIGF1dGhvcml6YXRpb24gdG8gc3RvcmUgZGF0YS4ABQFUaGUgb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSB0aGUgcGFsbGV0J3MgYEF1dGhvcml6ZXJgLiBFbWl0c2EBW2BBY2NvdW50QXV0aG9yaXphdGlvblJlZnJlc2hlZGBdKEV2ZW50OjpBY2NvdW50QXV0aG9yaXphdGlvblJlZnJlc2hlZCkgd2hlbiBzdWNjZXNzZnVsLnhyZWZyZXNoX3ByZWltYWdlX2F1dGhvcml6YXRpb24EATBjb250ZW50X2hhc2gIASxDb250ZW50SGFzaAAILFUBUmVmcmVzaCB0aGUgZXhwaXJhdGlvbiBvZiBhbiBleGlzdGluZyBhdXRob3JpemF0aW9uIGZvciBhIHByZWltYWdlIG9mIGEgQkxBS0UyYiBoYXNoLgANAUlmIHRoZSBwcmVpbWFnZSBkb2VzIG5vdCBoYXZlIGFuIGF1dGhvcml6YXRpb24sIHRoZSBjYWxsIHdpbGwgZmFpbC4ALFBhcmFtZXRlcnM6APwtIGBjb250ZW50X2hhc2hgOiBUaGUgQkxBS0UyYiBoYXNoIG9mIHRoZSBkYXRhIHRvIGJlIHN1Ym1pdHRlZC4ABQFUaGUgb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSB0aGUgcGFsbGV0J3MgYEF1dGhvcml6ZXJgLiBFbWl0czkBW2BQcmVpbWFnZUF1dGhvcml6YXRpb25SZWZyZXNoZWRgXShFdmVudDo6UHJlaW1hZ2VBdXRob3JpemF0aW9uUmVmcmVzaGVkKSB3aGVuLHN1Y2Nlc3NmdWwuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLkEBDHh0cmFuc2FjdGlvbl9zdG9yYWdlX3ByaW1pdGl2ZXMQY2lkcyRDaWRDb25maWcAAAgBFGNvZGVjKAEgQ2lkQ29kZWMAARxoYXNoaW5nRQEBQEhhc2hpbmdBbGdvcml0aG0AAEUBDHh0cmFuc2FjdGlvbl9zdG9yYWdlX3ByaW1pdGl2ZXMQY2lkc0BIYXNoaW5nQWxnb3JpdGhtAAEMKEJsYWtlMmIyNTYAAAAgU2hhMl8yNTYAAQAkS2VjY2FrMjU2AAIAAEkBCHBzcF90cmFuc2FjdGlvbl9zdG9yYWdlX3Byb29mXFRyYW5zYWN0aW9uU3RvcmFnZVByb29mAAAIARRjaHVuaxgBHFZlYzx1OD4AARRwcm9vZjQBMFZlYzxWZWM8dTg+PgAATQEMZHBhbGxldF9jb2xsYXRvcl9zZWxlY3Rpb24YcGFsbGV0EENhbGwEBFQAASREc2V0X2ludnVsbmVyYWJsZXMEAQxuZXc1AQFEVmVjPFQ6OkFjY291bnRJZD4AADQxAVNldCB0aGUgbGlzdCBvZiBpbnZ1bG5lcmFibGUgKGZpeGVkKSBjb2xsYXRvcnMuIFRoZXNlIGNvbGxhdG9ycyBtdXN0IGRvIHNvbWXQcHJlcGFyYXRpb24sIG5hbWVseSB0byBoYXZlIHJlZ2lzdGVyZWQgc2Vzc2lvbiBrZXlzLgBZAVRoZSBjYWxsIHdpbGwgcmVtb3ZlIGFueSBhY2NvdW50cyB0aGF0IGhhdmUgbm90IHJlZ2lzdGVyZWQga2V5cyBmcm9tIHRoZSBzZXQuIFRoYXQgaXMsXQFpdCBpcyBub24tYXRvbWljOyB0aGUgY2FsbGVyIGFjY2VwdHMgYWxsIGBBY2NvdW50SWRgcyBwYXNzZWQgaW4gYG5ld2AgX2luZGl2aWR1YWxseV8gYXMxAWFjY2VwdGFibGUgSW52dWxuZXJhYmxlcywgYW5kIGlzIG5vdCBwcm9wb3NpbmcgYSBfc2V0XyBvZiBuZXcgSW52dWxuZXJhYmxlcy4AWQFUaGlzIGNhbGwgZG9lcyBub3QgbWFpbnRhaW4gbXV0dWFsIGV4Y2x1c2l2aXR5IG9mIGBJbnZ1bG5lcmFibGVzYCBhbmQgYENhbmRpZGF0ZXNgLiBJdGEBaXMgcmVjb21tZW5kZWQgdG8gdXNlIGEgYmF0Y2ggb2YgYGFkZF9pbnZ1bG5lcmFibGVgIGFuZCBgcmVtb3ZlX2ludnVsbmVyYWJsZWAgaW5zdGVhZC4gQVEBYGJhdGNoX2FsbGAgY2FuIGFsc28gYmUgdXNlZCB0byBlbmZvcmNlIGF0b21pY2l0eS4gSWYgYW55IGNhbmRpZGF0ZXMgYXJlIGluY2x1ZGVkIGluTQFgbmV3YCwgdGhleSBzaG91bGQgYmUgcmVtb3ZlZCB3aXRoIGByZW1vdmVfaW52dWxuZXJhYmxlX2NhbmRpZGF0ZWAgYWZ0ZXIgZXhlY3V0aW9uLgCUTXVzdCBiZSBjYWxsZWQgYnkgdGhlIGBVcGRhdGVPcmlnaW5gLlhzZXRfZGVzaXJlZF9jYW5kaWRhdGVzBAEMbWF4OAEMdTMyAAEUVQFTZXQgdGhlIGlkZWFsIG51bWJlciBvZiBub24taW52dWxuZXJhYmxlIGNvbGxhdG9ycy4gSWYgbG93ZXJpbmcgdGhpcyBudW1iZXIsIHRoZW4gdGhlYQFudW1iZXIgb2YgcnVubmluZyBjb2xsYXRvcnMgY291bGQgYmUgaGlnaGVyIHRoYW4gdGhpcyBmaWd1cmUuIEFzaWRlIGZyb20gdGhhdCBlZGdlIGNhc2UsNQF0aGVyZSBzaG91bGQgYmUgbm8gb3RoZXIgd2F5IHRvIGhhdmUgbW9yZSBjYW5kaWRhdGVzIHRoYW4gdGhlIGRlc2lyZWQgbnVtYmVyLgDQVGhlIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgdGhlIGBVcGRhdGVPcmlnaW5gLkhzZXRfY2FuZGlkYWN5X2JvbmQEARBib25k/AEwQmFsYW5jZU9mPFQ+AAIceFNldCB0aGUgY2FuZGlkYWN5IGJvbmQgYW1vdW50LgBRAUlmIHRoZSBjYW5kaWRhY3kgYm9uZCBpcyBpbmNyZWFzZWQgYnkgdGhpcyBjYWxsLCBhbGwgY3VycmVudCBjYW5kaWRhdGVzIHdoaWNoIGhhdmUgYU0BZGVwb3NpdCBsb3dlciB0aGFuIHRoZSBuZXcgYm9uZCB3aWxsIGJlIGtpY2tlZCBmcm9tIHRoZSBsaXN0IGFuZCBnZXQgdGhlaXIgZGVwb3NpdHMUYmFjay4A0FRoZSBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIHRoZSBgVXBkYXRlT3JpZ2luYC5UcmVnaXN0ZXJfYXNfY2FuZGlkYXRlAAMQQQFSZWdpc3RlciB0aGlzIGFjY291bnQgYXMgYSBjb2xsYXRvciBjYW5kaWRhdGUuIFRoZSBhY2NvdW50IG11c3QgKGEpIGFscmVhZHkgaGF2ZR0BcmVnaXN0ZXJlZCBzZXNzaW9uIGtleXMgYW5kIChiKSBiZSBhYmxlIHRvIHJlc2VydmUgdGhlIGBDYW5kaWRhY3lCb25kYC4A3FRoaXMgY2FsbCBpcyBub3QgYXZhaWxhYmxlIHRvIGBJbnZ1bG5lcmFibGVgIGNvbGxhdG9ycy4wbGVhdmVfaW50ZW50AAQUVQFEZXJlZ2lzdGVyIGBvcmlnaW5gIGFzIGEgY29sbGF0b3IgY2FuZGlkYXRlLiBOb3RlIHRoYXQgdGhlIGNvbGxhdG9yIGNhbiBvbmx5IGxlYXZlIG9uDQFzZXNzaW9uIGNoYW5nZS4gVGhlIGBDYW5kaWRhY3lCb25kYCB3aWxsIGJlIHVucmVzZXJ2ZWQgaW1tZWRpYXRlbHkuABkBVGhpcyBjYWxsIHdpbGwgZmFpbCBpZiB0aGUgdG90YWwgbnVtYmVyIG9mIGNhbmRpZGF0ZXMgd291bGQgZHJvcCBiZWxvd1xgTWluRWxpZ2libGVDb2xsYXRvcnNgLkBhZGRfaW52dWxuZXJhYmxlBAEMd2hvBAEwVDo6QWNjb3VudElkAAUQRQFBZGQgYSBuZXcgYWNjb3VudCBgd2hvYCB0byB0aGUgbGlzdCBvZiBgSW52dWxuZXJhYmxlc2AgY29sbGF0b3JzLiBgd2hvYCBtdXN0IGhhdmUdAXJlZ2lzdGVyZWQgc2Vzc2lvbiBrZXlzLiBJZiBgd2hvYCBpcyBhIGNhbmRpZGF0ZSwgdGhleSB3aWxsIGJlIHJlbW92ZWQuANBUaGUgb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSB0aGUgYFVwZGF0ZU9yaWdpbmAuTHJlbW92ZV9pbnZ1bG5lcmFibGUEAQx3aG8EATBUOjpBY2NvdW50SWQABhBhAVJlbW92ZSBhbiBhY2NvdW50IGB3aG9gIGZyb20gdGhlIGxpc3Qgb2YgYEludnVsbmVyYWJsZXNgIGNvbGxhdG9ycy4gYEludnVsbmVyYWJsZXNgIG11c3QoYmUgc29ydGVkLgDQVGhlIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgdGhlIGBVcGRhdGVPcmlnaW5gLix1cGRhdGVfYm9uZAQBLG5ld19kZXBvc2l0/AEwQmFsYW5jZU9mPFQ+AAccXQFVcGRhdGUgdGhlIGNhbmRpZGFjeSBib25kIG9mIGNvbGxhdG9yIGNhbmRpZGF0ZSBgb3JpZ2luYCB0byBhIG5ldyBhbW91bnQgYG5ld19kZXBvc2l0YC4AQQFTZXR0aW5nIGEgYG5ld19kZXBvc2l0YCB0aGF0IGlzIGxvd2VyIHRoYW4gdGhlIGN1cnJlbnQgZGVwb3NpdCB3aGlsZSBgb3JpZ2luYCBpc+BvY2N1cHlpbmcgYSB0b3AtYERlc2lyZWRDYW5kaWRhdGVzYCBzbG90IGlzIG5vdCBhbGxvd2VkLgBZAVRoaXMgY2FsbCB3aWxsIGZhaWwgaWYgYG9yaWdpbmAgaXMgbm90IGEgY29sbGF0b3IgY2FuZGlkYXRlLCB0aGUgdXBkYXRlZCBib25kIGlzIGxvd2VyGQF0aGFuIHRoZSBtaW5pbXVtIGNhbmRpZGFjeSBib25kLCBhbmQvb3IgdGhlIGFtb3VudCBjYW5ub3QgYmUgcmVzZXJ2ZWQuTHRha2VfY2FuZGlkYXRlX3Nsb3QIARxkZXBvc2l0/AEwQmFsYW5jZU9mPFQ+AAEYdGFyZ2V0BAEwVDo6QWNjb3VudElkAAgcTQFUaGUgY2FsbGVyIGBvcmlnaW5gIHJlcGxhY2VzIGEgY2FuZGlkYXRlIGB0YXJnZXRgIGluIHRoZSBjb2xsYXRvciBjYW5kaWRhdGUgbGlzdCBieVUBcmVzZXJ2aW5nIGBkZXBvc2l0YC4gVGhlIGFtb3VudCBgZGVwb3NpdGAgcmVzZXJ2ZWQgYnkgdGhlIGNhbGxlciBtdXN0IGJlIGdyZWF0ZXIgdGhhbuB0aGUgZXhpc3RpbmcgYm9uZCBvZiB0aGUgdGFyZ2V0IGl0IGlzIHRyeWluZyB0byByZXBsYWNlLgBZAVRoaXMgY2FsbCB3aWxsIGZhaWwgaWYgdGhlIGNhbGxlciBpcyBhbHJlYWR5IGEgY29sbGF0b3IgY2FuZGlkYXRlIG9yIGludnVsbmVyYWJsZSwgdGhlVQFjYWxsZXIgZG9lcyBub3QgaGF2ZSByZWdpc3RlcmVkIHNlc3Npb24ga2V5cywgdGhlIHRhcmdldCBpcyBub3QgYSBjb2xsYXRvciBjYW5kaWRhdGUsvGFuZC9vciB0aGUgYGRlcG9zaXRgIGFtb3VudCBjYW5ub3QgYmUgcmVzZXJ2ZWQuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLlEBDDhwYWxsZXRfc2Vzc2lvbhhwYWxsZXQQQ2FsbAQEVAABCCBzZXRfa2V5cwgBEGtleXNVAQEcVDo6S2V5cwABFHByb29mGAEcVmVjPHU4PgAALORTZXRzIHRoZSBzZXNzaW9uIGtleShzKSBvZiB0aGUgZnVuY3Rpb24gY2FsbGVyIHRvIGBrZXlzYC4AHQFBbGxvd3MgYW4gYWNjb3VudCB0byBzZXQgaXRzIHNlc3Npb24ga2V5IHByaW9yIHRvIGJlY29taW5nIGEgdmFsaWRhdG9yLsBUaGlzIGRvZXNuJ3QgdGFrZSBlZmZlY3QgdW50aWwgdGhlIG5leHQgc2Vzc2lvbi4AAQEtIGBvcmlnaW5gOiBUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgZnVuY3Rpb24gbXVzdCBiZSBzaWduZWQuVQEtIGBrZXlzYDogVGhlIG5ldyBzZXNzaW9uIGtleXMgdG8gc2V0LiBUaGVzZSBhcmUgdGhlIHB1YmxpYyBrZXlzIG9mIGFsbCBzZXNzaW9ucyBrZXlzXCAgc2V0dXAgaW4gdGhlIHJ1bnRpbWUuQQEtIGBwcm9vZmA6IFRoZSBwcm9vZiB0aGF0IGBvcmlnaW5gIGhhcyBhY2Nlc3MgdG8gdGhlIHByaXZhdGUga2V5cyBvZiBga2V5c2AuIFNlZU0BICBbYGltcGxfb3BhcXVlX2tleXNgXShzcF9ydW50aW1lOjppbXBsX29wYXF1ZV9rZXlzKSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGU8ICBwcm9vZiBmb3JtYXQuKHB1cmdlX2tleXMAASDIUmVtb3ZlcyBhbnkgc2Vzc2lvbiBrZXkocykgb2YgdGhlIGZ1bmN0aW9uIGNhbGxlci4AwFRoaXMgZG9lc24ndCB0YWtlIGVmZmVjdCB1bnRpbCB0aGUgbmV4dCBzZXNzaW9uLgBVAVRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBmdW5jdGlvbiBtdXN0IGJlIFNpZ25lZCBhbmQgdGhlIGFjY291bnQgbXVzdCBiZSBlaXRoZXIgYmVdAWNvbnZlcnRpYmxlIHRvIGEgdmFsaWRhdG9yIElEIHVzaW5nIHRoZSBjaGFpbidzIHR5cGljYWwgYWRkcmVzc2luZyBzeXN0ZW0gKHRoaXMgdXN1YWxseVEBbWVhbnMgYmVpbmcgYSBjb250cm9sbGVyIGFjY291bnQpIG9yIGRpcmVjdGx5IGNvbnZlcnRpYmxlIGludG8gYSB2YWxpZGF0b3IgSUQgKHdoaWNolHVzdWFsbHkgbWVhbnMgYmVpbmcgYSBzdGFzaCBhY2NvdW50KS4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuVQEIYGJ1bGxldGluX3dlc3RlbmRfcnVudGltZSxTZXNzaW9uS2V5cwAABAEQYXVyYVkBAcQ8QXVyYSBhcyAkY3JhdGU6OkJvdW5kVG9SdW50aW1lQXBwUHVibGljPjo6UHVibGljAABZARBEc3BfY29uc2Vuc3VzX2F1cmEcc3IyNTUxOSxhcHBfc3IyNTUxORhQdWJsaWMAAAQACAE8c3IyNTUxOTo6UHVibGljAABdAQxkY3VtdWx1c19wYWxsZXRfeGNtcF9xdWV1ZRhwYWxsZXQQQ2FsbAQEVAABFFRzdXNwZW5kX3hjbV9leGVjdXRpb24AAQxJAVN1c3BlbmRzIGFsbCBYQ00gZXhlY3V0aW9ucyBmb3IgdGhlIFhDTVAgcXVldWUsIHJlZ2FyZGxlc3Mgb2YgdGhlIHNlbmRlcidzIG9yaWdpbi4ApC0gYG9yaWdpbmA6IE11c3QgcGFzcyBgQ29udHJvbGxlck9yaWdpbmAuUHJlc3VtZV94Y21fZXhlY3V0aW9uAAIUuFJlc3VtZXMgYWxsIFhDTSBleGVjdXRpb25zIGZvciB0aGUgWENNUCBxdWV1ZS4APQFOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBkb2Vzbid0IGNoYW5nZSB0aGUgc3RhdHVzIG9mIHRoZSBpbi9vdXQgYm91bmQgY2hhbm5lbHMuAKQtIGBvcmlnaW5gOiBNdXN0IHBhc3MgYENvbnRyb2xsZXJPcmlnaW5gLmB1cGRhdGVfc3VzcGVuZF90aHJlc2hvbGQEAQxuZXc4AQx1MzIAAxRJAU92ZXJ3cml0ZXMgdGhlIG51bWJlciBvZiBwYWdlcyB3aGljaCBtdXN0IGJlIGluIHRoZSBxdWV1ZSBmb3IgdGhlIG90aGVyIHNpZGUgdG8gYmV4dG9sZCB0byBzdXNwZW5kIHRoZWlyIHNlbmRpbmcuAHQtIGBvcmlnaW5gOiBNdXN0IHBhc3MgYFJvb3RgLugtIGBuZXdgOiBEZXNpcmVkIHZhbHVlIGZvciBgUXVldWVDb25maWdEYXRhLnN1c3BlbmRfdmFsdWVgVHVwZGF0ZV9kcm9wX3RocmVzaG9sZAQBDG5ldzgBDHUzMgAEFEUBT3ZlcndyaXRlcyB0aGUgbnVtYmVyIG9mIHBhZ2VzIHdoaWNoIG11c3QgYmUgaW4gdGhlIHF1ZXVlIGFmdGVyIHdoaWNoIHdlIGRyb3AgYW55iGZ1cnRoZXIgbWVzc2FnZXMgZnJvbSB0aGUgY2hhbm5lbC4AdC0gYG9yaWdpbmA6IE11c3QgcGFzcyBgUm9vdGAu7C0gYG5ld2A6IERlc2lyZWQgdmFsdWUgZm9yIGBRdWV1ZUNvbmZpZ0RhdGEuZHJvcF90aHJlc2hvbGRgXHVwZGF0ZV9yZXN1bWVfdGhyZXNob2xkBAEMbmV3OAEMdTMyAAUUTQFPdmVyd3JpdGVzIHRoZSBudW1iZXIgb2YgcGFnZXMgd2hpY2ggdGhlIHF1ZXVlIG11c3QgYmUgcmVkdWNlZCB0byBiZWZvcmUgaXQgc2lnbmFscwEBdGhhdCBtZXNzYWdlIHNlbmRpbmcgbWF5IHJlY29tbWVuY2UgYWZ0ZXIgaXQgaGFzIGJlZW4gc3VzcGVuZGVkLgB0LSBgb3JpZ2luYDogTXVzdCBwYXNzIGBSb290YC70LSBgbmV3YDogRGVzaXJlZCB2YWx1ZSBmb3IgYFF1ZXVlQ29uZmlnRGF0YS5yZXN1bWVfdGhyZXNob2xkYAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy5hAQwocGFsbGV0X3hjbRhwYWxsZXQQQ2FsbAQEVAABRBBzZW5kCAEQZGVzdGUBAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEcbWVzc2FnZbEBAVRCb3g8VmVyc2lvbmVkWGNtPCgpPj4AAAA8dGVsZXBvcnRfYXNzZXRzEAEQZGVzdGUBAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEsYmVuZWZpY2lhcnllAQFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABGGFzc2V0c/ECAVBCb3g8VmVyc2lvbmVkQXNzZXRzPgABOGZlZV9hc3NldF9pdGVtOAEMdTMyAAFIEQFUZWxlcG9ydCBzb21lIGFzc2V0cyBmcm9tIHRoZSBsb2NhbCBjaGFpbiB0byBzb21lIGRlc3RpbmF0aW9uIGNoYWluLgAdASoqVGhpcyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkOiBVc2UgYGxpbWl0ZWRfdGVsZXBvcnRfYXNzZXRzYCBpbnN0ZWFkLioqAFEBRmVlIHBheW1lbnQgb24gdGhlIGRlc3RpbmF0aW9uIHNpZGUgaXMgbWFkZSBmcm9tIHRoZSBhc3NldCBpbiB0aGUgYGFzc2V0c2AgdmVjdG9yIG9mYQFpbmRleCBgZmVlX2Fzc2V0X2l0ZW1gLiBUaGUgd2VpZ2h0IGxpbWl0IGZvciBmZWVzIGlzIG5vdCBwcm92aWRlZCBhbmQgdGh1cyBpcyB1bmxpbWl0ZWQstHdpdGggYWxsIGZlZXMgdGFrZW4gYXMgbmVlZGVkIGZyb20gdGhlIGFzc2V0LgApAS0gYG9yaWdpbmA6IE11c3QgYmUgY2FwYWJsZSBvZiB3aXRoZHJhd2luZyB0aGUgYGFzc2V0c2AgYW5kIGV4ZWN1dGluZyBYQ00uJQEtIGBkZXN0YDogRGVzdGluYXRpb24gY29udGV4dCBmb3IgdGhlIGFzc2V0cy4gV2lsbCB0eXBpY2FsbHkgYmUgYFtQYXJlbnQsYQEgIFBhcmFjaGFpbiguLildYCB0byBzZW5kIGZyb20gcGFyYWNoYWluIHRvIHBhcmFjaGFpbiwgb3IgYFtQYXJhY2hhaW4oLi4pXWAgdG8gc2VuZCBmcm9tVCAgcmVsYXkgdG8gcGFyYWNoYWluLlUBLSBgYmVuZWZpY2lhcnlgOiBBIGJlbmVmaWNpYXJ5IGxvY2F0aW9uIGZvciB0aGUgYXNzZXRzIGluIHRoZSBjb250ZXh0IG9mIGBkZXN0YC4gV2lsbJggIGdlbmVyYWxseSBiZSBhbiBgQWNjb3VudElkMzJgIHZhbHVlLlkBLSBgYXNzZXRzYDogVGhlIGFzc2V0cyB0byBiZSB3aXRoZHJhd24uIFRoaXMgc2hvdWxkIGluY2x1ZGUgdGhlIGFzc2V0cyB1c2VkIHRvIHBheSB0aGVoICBmZWUgb24gdGhlIGBkZXN0YCBjaGFpbi5NAS0gYGZlZV9hc3NldF9pdGVtYDogVGhlIGluZGV4IGludG8gYGFzc2V0c2Agb2YgdGhlIGl0ZW0gd2hpY2ggc2hvdWxkIGJlIHVzZWQgdG8gcGF5HCAgZmVlcy5ccmVzZXJ2ZV90cmFuc2Zlcl9hc3NldHMQARBkZXN0ZQEBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AASxiZW5lZmljaWFyeWUBAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEYYXNzZXRz8QIBUEJveDxWZXJzaW9uZWRBc3NldHM+AAE4ZmVlX2Fzc2V0X2l0ZW04AQx1MzIAAnhdAVRyYW5zZmVyIHNvbWUgYXNzZXRzIGZyb20gdGhlIGxvY2FsIGNoYWluIHRvIHRoZSBkZXN0aW5hdGlvbiBjaGFpbiB0aHJvdWdoIHRoZWlyIGxvY2FsLHhkZXN0aW5hdGlvbiBvciByZW1vdGUgcmVzZXJ2ZS4APQFgYXNzZXRzYCBtdXN0IGhhdmUgc2FtZSByZXNlcnZlIGxvY2F0aW9uIGFuZCBtYXkgbm90IGJlIHRlbGVwb3J0YWJsZSB0byBgZGVzdGAuTQEgLSBgYXNzZXRzYCBoYXZlIGxvY2FsIHJlc2VydmU6IHRyYW5zZmVyIGFzc2V0cyB0byBzb3ZlcmVpZ24gYWNjb3VudCBvZiBkZXN0aW5hdGlvbk0BICAgY2hhaW4gYW5kIGZvcndhcmQgYSBub3RpZmljYXRpb24gWENNIHRvIGBkZXN0YCB0byBtaW50IGFuZCBkZXBvc2l0IHJlc2VydmUtYmFzZWRsICAgYXNzZXRzIHRvIGBiZW5lZmljaWFyeWAuVQEgLSBgYXNzZXRzYCBoYXZlIGRlc3RpbmF0aW9uIHJlc2VydmU6IGJ1cm4gbG9jYWwgYXNzZXRzIGFuZCBmb3J3YXJkIGEgbm90aWZpY2F0aW9uIHRvWQEgICBgZGVzdGAgY2hhaW4gdG8gd2l0aGRyYXcgdGhlIHJlc2VydmUgYXNzZXRzIGZyb20gdGhpcyBjaGFpbidzIHNvdmVyZWlnbiBhY2NvdW50IGFuZIQgICBkZXBvc2l0IHRoZW0gdG8gYGJlbmVmaWNpYXJ5YC5hASAtIGBhc3NldHNgIGhhdmUgcmVtb3RlIHJlc2VydmU6IGJ1cm4gbG9jYWwgYXNzZXRzLCBmb3J3YXJkIFhDTSB0byByZXNlcnZlIGNoYWluIHRvIG1vdmVhASAgIHJlc2VydmVzIGZyb20gdGhpcyBjaGFpbidzIFNBIHRvIGBkZXN0YCBjaGFpbidzIFNBLCBhbmQgZm9yd2FyZCBhbm90aGVyIFhDTSB0byBgZGVzdGD0ICAgdG8gbWludCBhbmQgZGVwb3NpdCByZXNlcnZlLWJhc2VkIGFzc2V0cyB0byBgYmVuZWZpY2lhcnlgLgA9ASoqVGhpcyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkOiBVc2UgYGxpbWl0ZWRfcmVzZXJ2ZV90cmFuc2Zlcl9hc3NldHNgIGluc3RlYWQuKioAUQFGZWUgcGF5bWVudCBvbiB0aGUgZGVzdGluYXRpb24gc2lkZSBpcyBtYWRlIGZyb20gdGhlIGFzc2V0IGluIHRoZSBgYXNzZXRzYCB2ZWN0b3Igb2ZhAWluZGV4IGBmZWVfYXNzZXRfaXRlbWAuIFRoZSB3ZWlnaHQgbGltaXQgZm9yIGZlZXMgaXMgbm90IHByb3ZpZGVkIGFuZCB0aHVzIGlzIHVubGltaXRlZCy0d2l0aCBhbGwgZmVlcyB0YWtlbiBhcyBuZWVkZWQgZnJvbSB0aGUgYXNzZXQuACkBLSBgb3JpZ2luYDogTXVzdCBiZSBjYXBhYmxlIG9mIHdpdGhkcmF3aW5nIHRoZSBgYXNzZXRzYCBhbmQgZXhlY3V0aW5nIFhDTS4lAS0gYGRlc3RgOiBEZXN0aW5hdGlvbiBjb250ZXh0IGZvciB0aGUgYXNzZXRzLiBXaWxsIHR5cGljYWxseSBiZSBgW1BhcmVudCxhASAgUGFyYWNoYWluKC4uKV1gIHRvIHNlbmQgZnJvbSBwYXJhY2hhaW4gdG8gcGFyYWNoYWluLCBvciBgW1BhcmFjaGFpbiguLildYCB0byBzZW5kIGZyb21UICByZWxheSB0byBwYXJhY2hhaW4uVQEtIGBiZW5lZmljaWFyeWA6IEEgYmVuZWZpY2lhcnkgbG9jYXRpb24gZm9yIHRoZSBhc3NldHMgaW4gdGhlIGNvbnRleHQgb2YgYGRlc3RgLiBXaWxsmCAgZ2VuZXJhbGx5IGJlIGFuIGBBY2NvdW50SWQzMmAgdmFsdWUuWQEtIGBhc3NldHNgOiBUaGUgYXNzZXRzIHRvIGJlIHdpdGhkcmF3bi4gVGhpcyBzaG91bGQgaW5jbHVkZSB0aGUgYXNzZXRzIHVzZWQgdG8gcGF5IHRoZcggIGZlZSBvbiB0aGUgYGRlc3RgIChhbmQgcG9zc2libHkgcmVzZXJ2ZSkgY2hhaW5zLk0BLSBgZmVlX2Fzc2V0X2l0ZW1gOiBUaGUgaW5kZXggaW50byBgYXNzZXRzYCBvZiB0aGUgaXRlbSB3aGljaCBzaG91bGQgYmUgdXNlZCB0byBwYXkcICBmZWVzLhxleGVjdXRlCAEcbWVzc2FnZfUCAbRCb3g8VmVyc2lvbmVkWGNtPDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPj4AAShtYXhfd2VpZ2h0KQEBGFdlaWdodAADINBFeGVjdXRlIGFuIFhDTSBtZXNzYWdlIGZyb20gYSBsb2NhbCwgc2lnbmVkLCBvcmlnaW4uAE0BQW4gZXZlbnQgaXMgZGVwb3NpdGVkIGluZGljYXRpbmcgd2hldGhlciBgbXNnYCBjb3VsZCBiZSBleGVjdXRlZCBjb21wbGV0ZWx5IG9yIG9ubHkocGFydGlhbGx5LgBdAU5vIG1vcmUgdGhhbiBgbWF4X3dlaWdodGAgd2lsbCBiZSB1c2VkIGluIGl0cyBhdHRlbXB0ZWQgZXhlY3V0aW9uLiBJZiB0aGlzIGlzIGxlc3MgdGhhbkEBdGhlIG1heGltdW0gYW1vdW50IG9mIHdlaWdodCB0aGF0IHRoZSBtZXNzYWdlIGNvdWxkIHRha2UgdG8gYmUgZXhlY3V0ZWQsIHRoZW4gbm98ZXhlY3V0aW9uIGF0dGVtcHQgd2lsbCBiZSBtYWRlLkRmb3JjZV94Y21fdmVyc2lvbggBIGxvY2F0aW9u4AE0Qm94PExvY2F0aW9uPgABHHZlcnNpb244AShYY21WZXJzaW9uAAQYSQFFeHRvbGwgdGhhdCBhIHBhcnRpY3VsYXIgZGVzdGluYXRpb24gY2FuIGJlIGNvbW11bmljYXRlZCB3aXRoIHRocm91Z2ggYSBwYXJ0aWN1bGFyPHZlcnNpb24gb2YgWENNLgDcLSBgb3JpZ2luYDogTXVzdCBiZSBhbiBvcmlnaW4gc3BlY2lmaWVkIGJ5IEFkbWluT3JpZ2luLtgtIGBsb2NhdGlvbmA6IFRoZSBkZXN0aW5hdGlvbiB0aGF0IGlzIGJlaW5nIGRlc2NyaWJlZC4RAS0gYHhjbV92ZXJzaW9uYDogVGhlIGxhdGVzdCB2ZXJzaW9uIG9mIFhDTSB0aGF0IGBsb2NhdGlvbmAgc3VwcG9ydHMuZGZvcmNlX2RlZmF1bHRfeGNtX3ZlcnNpb24EAURtYXliZV94Y21fdmVyc2lvbiEDAUhPcHRpb248WGNtVmVyc2lvbj4ABRRZAVNldCBhIHNhZmUgWENNIHZlcnNpb24gKHRoZSB2ZXJzaW9uIHRoYXQgWENNIHNob3VsZCBiZSBlbmNvZGVkIHdpdGggaWYgdGhlIG1vc3QgcmVjZW50tHZlcnNpb24gYSBkZXN0aW5hdGlvbiBjYW4gYWNjZXB0IGlzIHVua25vd24pLgDcLSBgb3JpZ2luYDogTXVzdCBiZSBhbiBvcmlnaW4gc3BlY2lmaWVkIGJ5IEFkbWluT3JpZ2luLjkBLSBgbWF5YmVfeGNtX3ZlcnNpb25gOiBUaGUgZGVmYXVsdCBYQ00gZW5jb2RpbmcgdmVyc2lvbiwgb3IgYE5vbmVgIHRvIGRpc2FibGUueGZvcmNlX3N1YnNjcmliZV92ZXJzaW9uX25vdGlmeQQBIGxvY2F0aW9uZQEBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4ABhA5AUFzayBhIGxvY2F0aW9uIHRvIG5vdGlmeSB1cyByZWdhcmRpbmcgdGhlaXIgWENNIHZlcnNpb24gYW5kIGFueSBjaGFuZ2VzIHRvIGl0LgDcLSBgb3JpZ2luYDogTXVzdCBiZSBhbiBvcmlnaW4gc3BlY2lmaWVkIGJ5IEFkbWluT3JpZ2luLlkBLSBgbG9jYXRpb25gOiBUaGUgbG9jYXRpb24gdG8gd2hpY2ggd2Ugc2hvdWxkIHN1YnNjcmliZSBmb3IgWENNIHZlcnNpb24gbm90aWZpY2F0aW9ucy6AZm9yY2VfdW5zdWJzY3JpYmVfdmVyc2lvbl9ub3RpZnkEASBsb2NhdGlvbmUBAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAcYSQFSZXF1aXJlIHRoYXQgYSBwYXJ0aWN1bGFyIGRlc3RpbmF0aW9uIHNob3VsZCBubyBsb25nZXIgbm90aWZ5IHVzIHJlZ2FyZGluZyBhbnkgWENNQHZlcnNpb24gY2hhbmdlcy4A3C0gYG9yaWdpbmA6IE11c3QgYmUgYW4gb3JpZ2luIHNwZWNpZmllZCBieSBBZG1pbk9yaWdpbi49AS0gYGxvY2F0aW9uYDogVGhlIGxvY2F0aW9uIHRvIHdoaWNoIHdlIGFyZSBjdXJyZW50bHkgc3Vic2NyaWJlZCBmb3IgWENNIHZlcnNpb26oICBub3RpZmljYXRpb25zIHdoaWNoIHdlIG5vIGxvbmdlciBkZXNpcmUufGxpbWl0ZWRfcmVzZXJ2ZV90cmFuc2Zlcl9hc3NldHMUARBkZXN0ZQEBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AASxiZW5lZmljaWFyeWUBAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEYYXNzZXRz8QIBUEJveDxWZXJzaW9uZWRBc3NldHM+AAE4ZmVlX2Fzc2V0X2l0ZW04AQx1MzIAATB3ZWlnaHRfbGltaXQlAgEsV2VpZ2h0TGltaXQACHhdAVRyYW5zZmVyIHNvbWUgYXNzZXRzIGZyb20gdGhlIGxvY2FsIGNoYWluIHRvIHRoZSBkZXN0aW5hdGlvbiBjaGFpbiB0aHJvdWdoIHRoZWlyIGxvY2FsLHhkZXN0aW5hdGlvbiBvciByZW1vdGUgcmVzZXJ2ZS4APQFgYXNzZXRzYCBtdXN0IGhhdmUgc2FtZSByZXNlcnZlIGxvY2F0aW9uIGFuZCBtYXkgbm90IGJlIHRlbGVwb3J0YWJsZSB0byBgZGVzdGAuTQEgLSBgYXNzZXRzYCBoYXZlIGxvY2FsIHJlc2VydmU6IHRyYW5zZmVyIGFzc2V0cyB0byBzb3ZlcmVpZ24gYWNjb3VudCBvZiBkZXN0aW5hdGlvbk0BICAgY2hhaW4gYW5kIGZvcndhcmQgYSBub3RpZmljYXRpb24gWENNIHRvIGBkZXN0YCB0byBtaW50IGFuZCBkZXBvc2l0IHJlc2VydmUtYmFzZWRsICAgYXNzZXRzIHRvIGBiZW5lZmljaWFyeWAuVQEgLSBgYXNzZXRzYCBoYXZlIGRlc3RpbmF0aW9uIHJlc2VydmU6IGJ1cm4gbG9jYWwgYXNzZXRzIGFuZCBmb3J3YXJkIGEgbm90aWZpY2F0aW9uIHRvWQEgICBgZGVzdGAgY2hhaW4gdG8gd2l0aGRyYXcgdGhlIHJlc2VydmUgYXNzZXRzIGZyb20gdGhpcyBjaGFpbidzIHNvdmVyZWlnbiBhY2NvdW50IGFuZIQgICBkZXBvc2l0IHRoZW0gdG8gYGJlbmVmaWNpYXJ5YC5hASAtIGBhc3NldHNgIGhhdmUgcmVtb3RlIHJlc2VydmU6IGJ1cm4gbG9jYWwgYXNzZXRzLCBmb3J3YXJkIFhDTSB0byByZXNlcnZlIGNoYWluIHRvIG1vdmVhASAgIHJlc2VydmVzIGZyb20gdGhpcyBjaGFpbidzIFNBIHRvIGBkZXN0YCBjaGFpbidzIFNBLCBhbmQgZm9yd2FyZCBhbm90aGVyIFhDTSB0byBgZGVzdGD0ICAgdG8gbWludCBhbmQgZGVwb3NpdCByZXNlcnZlLWJhc2VkIGFzc2V0cyB0byBgYmVuZWZpY2lhcnlgLgBRAUZlZSBwYXltZW50IG9uIHRoZSBkZXN0aW5hdGlvbiBzaWRlIGlzIG1hZGUgZnJvbSB0aGUgYXNzZXQgaW4gdGhlIGBhc3NldHNgIHZlY3RvciBvZmEBaW5kZXggYGZlZV9hc3NldF9pdGVtYCwgdXAgdG8gZW5vdWdoIHRvIHBheSBmb3IgYHdlaWdodF9saW1pdGAgb2Ygd2VpZ2h0LiBJZiBtb3JlIHdlaWdodFkBaXMgbmVlZGVkIHRoYW4gYHdlaWdodF9saW1pdGAsIHRoZW4gdGhlIG9wZXJhdGlvbiB3aWxsIGZhaWwgYW5kIHRoZSBzZW50IGFzc2V0cyBtYXkgYmUgYXQgcmlzay4AKQEtIGBvcmlnaW5gOiBNdXN0IGJlIGNhcGFibGUgb2Ygd2l0aGRyYXdpbmcgdGhlIGBhc3NldHNgIGFuZCBleGVjdXRpbmcgWENNLiUBLSBgZGVzdGA6IERlc3RpbmF0aW9uIGNvbnRleHQgZm9yIHRoZSBhc3NldHMuIFdpbGwgdHlwaWNhbGx5IGJlIGBbUGFyZW50LGEBICBQYXJhY2hhaW4oLi4pXWAgdG8gc2VuZCBmcm9tIHBhcmFjaGFpbiB0byBwYXJhY2hhaW4sIG9yIGBbUGFyYWNoYWluKC4uKV1gIHRvIHNlbmQgZnJvbVQgIHJlbGF5IHRvIHBhcmFjaGFpbi5VAS0gYGJlbmVmaWNpYXJ5YDogQSBiZW5lZmljaWFyeSBsb2NhdGlvbiBmb3IgdGhlIGFzc2V0cyBpbiB0aGUgY29udGV4dCBvZiBgZGVzdGAuIFdpbGyYICBnZW5lcmFsbHkgYmUgYW4gYEFjY291bnRJZDMyYCB2YWx1ZS5ZAS0gYGFzc2V0c2A6IFRoZSBhc3NldHMgdG8gYmUgd2l0aGRyYXduLiBUaGlzIHNob3VsZCBpbmNsdWRlIHRoZSBhc3NldHMgdXNlZCB0byBwYXkgdGhlyCAgZmVlIG9uIHRoZSBgZGVzdGAgKGFuZCBwb3NzaWJseSByZXNlcnZlKSBjaGFpbnMuTQEtIGBmZWVfYXNzZXRfaXRlbWA6IFRoZSBpbmRleCBpbnRvIGBhc3NldHNgIG9mIHRoZSBpdGVtIHdoaWNoIHNob3VsZCBiZSB1c2VkIHRvIHBheRwgIGZlZXMuRQEtIGB3ZWlnaHRfbGltaXRgOiBUaGUgcmVtb3RlLXNpZGUgd2VpZ2h0IGxpbWl0LCBpZiBhbnksIGZvciB0aGUgWENNIGZlZSBwdXJjaGFzZS5cbGltaXRlZF90ZWxlcG9ydF9hc3NldHMUARBkZXN0ZQEBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AASxiZW5lZmljaWFyeWUBAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEYYXNzZXRz8QIBUEJveDxWZXJzaW9uZWRBc3NldHM+AAE4ZmVlX2Fzc2V0X2l0ZW04AQx1MzIAATB3ZWlnaHRfbGltaXQlAgEsV2VpZ2h0TGltaXQACUgRAVRlbGVwb3J0IHNvbWUgYXNzZXRzIGZyb20gdGhlIGxvY2FsIGNoYWluIHRvIHNvbWUgZGVzdGluYXRpb24gY2hhaW4uAFEBRmVlIHBheW1lbnQgb24gdGhlIGRlc3RpbmF0aW9uIHNpZGUgaXMgbWFkZSBmcm9tIHRoZSBhc3NldCBpbiB0aGUgYGFzc2V0c2AgdmVjdG9yIG9mYQFpbmRleCBgZmVlX2Fzc2V0X2l0ZW1gLCB1cCB0byBlbm91Z2ggdG8gcGF5IGZvciBgd2VpZ2h0X2xpbWl0YCBvZiB3ZWlnaHQuIElmIG1vcmUgd2VpZ2h0WQFpcyBuZWVkZWQgdGhhbiBgd2VpZ2h0X2xpbWl0YCwgdGhlbiB0aGUgb3BlcmF0aW9uIHdpbGwgZmFpbCBhbmQgdGhlIHNlbnQgYXNzZXRzIG1heSBiZSBhdCByaXNrLgApAS0gYG9yaWdpbmA6IE11c3QgYmUgY2FwYWJsZSBvZiB3aXRoZHJhd2luZyB0aGUgYGFzc2V0c2AgYW5kIGV4ZWN1dGluZyBYQ00uJQEtIGBkZXN0YDogRGVzdGluYXRpb24gY29udGV4dCBmb3IgdGhlIGFzc2V0cy4gV2lsbCB0eXBpY2FsbHkgYmUgYFtQYXJlbnQsYQEgIFBhcmFjaGFpbiguLildYCB0byBzZW5kIGZyb20gcGFyYWNoYWluIHRvIHBhcmFjaGFpbiwgb3IgYFtQYXJhY2hhaW4oLi4pXWAgdG8gc2VuZCBmcm9tVCAgcmVsYXkgdG8gcGFyYWNoYWluLlUBLSBgYmVuZWZpY2lhcnlgOiBBIGJlbmVmaWNpYXJ5IGxvY2F0aW9uIGZvciB0aGUgYXNzZXRzIGluIHRoZSBjb250ZXh0IG9mIGBkZXN0YC4gV2lsbJggIGdlbmVyYWxseSBiZSBhbiBgQWNjb3VudElkMzJgIHZhbHVlLlkBLSBgYXNzZXRzYDogVGhlIGFzc2V0cyB0byBiZSB3aXRoZHJhd24uIFRoaXMgc2hvdWxkIGluY2x1ZGUgdGhlIGFzc2V0cyB1c2VkIHRvIHBheSB0aGVoICBmZWUgb24gdGhlIGBkZXN0YCBjaGFpbi5NAS0gYGZlZV9hc3NldF9pdGVtYDogVGhlIGluZGV4IGludG8gYGFzc2V0c2Agb2YgdGhlIGl0ZW0gd2hpY2ggc2hvdWxkIGJlIHVzZWQgdG8gcGF5HCAgZmVlcy5FAS0gYHdlaWdodF9saW1pdGA6IFRoZSByZW1vdGUtc2lkZSB3ZWlnaHQgbGltaXQsIGlmIGFueSwgZm9yIHRoZSBYQ00gZmVlIHB1cmNoYXNlLkBmb3JjZV9zdXNwZW5zaW9uBAEkc3VzcGVuZGVkMQEBEGJvb2wAChD0U2V0IG9yIHVuc2V0IHRoZSBnbG9iYWwgc3VzcGVuc2lvbiBzdGF0ZSBvZiB0aGUgWENNIGV4ZWN1dG9yLgDcLSBgb3JpZ2luYDogTXVzdCBiZSBhbiBvcmlnaW4gc3BlY2lmaWVkIGJ5IEFkbWluT3JpZ2luLtAtIGBzdXNwZW5kZWRgOiBgdHJ1ZWAgdG8gc3VzcGVuZCwgYGZhbHNlYCB0byByZXN1bWUuPHRyYW5zZmVyX2Fzc2V0cxQBEGRlc3RlAQFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABLGJlbmVmaWNpYXJ5ZQEBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AARhhc3NldHPxAgFQQm94PFZlcnNpb25lZEFzc2V0cz4AAThmZWVfYXNzZXRfaXRlbTgBDHUzMgABMHdlaWdodF9saW1pdCUCASxXZWlnaHRMaW1pdAALhF0BVHJhbnNmZXIgc29tZSBhc3NldHMgZnJvbSB0aGUgbG9jYWwgY2hhaW4gdG8gdGhlIGRlc3RpbmF0aW9uIGNoYWluIHRocm91Z2ggdGhlaXIgbG9jYWws0GRlc3RpbmF0aW9uIG9yIHJlbW90ZSByZXNlcnZlLCBvciB0aHJvdWdoIHRlbGVwb3J0cy4AUQFGZWUgcGF5bWVudCBvbiB0aGUgZGVzdGluYXRpb24gc2lkZSBpcyBtYWRlIGZyb20gdGhlIGFzc2V0IGluIHRoZSBgYXNzZXRzYCB2ZWN0b3Igb2Y1AWluZGV4IGBmZWVfYXNzZXRfaXRlbWAgKGhlbmNlIHJlZmVycmVkIHRvIGFzIGBmZWVzYCksIHVwIHRvIGVub3VnaCB0byBwYXkgZm9yQQFgd2VpZ2h0X2xpbWl0YCBvZiB3ZWlnaHQuIElmIG1vcmUgd2VpZ2h0IGlzIG5lZWRlZCB0aGFuIGB3ZWlnaHRfbGltaXRgLCB0aGVuIHRoZdxvcGVyYXRpb24gd2lsbCBmYWlsIGFuZCB0aGUgc2VudCBhc3NldHMgbWF5IGJlIGF0IHJpc2suAGEBYGFzc2V0c2AgKGV4Y2x1ZGluZyBgZmVlc2ApIG11c3QgaGF2ZSBzYW1lIHJlc2VydmUgbG9jYXRpb24gb3Igb3RoZXJ3aXNlIGJlIHRlbGVwb3J0YWJsZbB0byBgZGVzdGAsIG5vIGxpbWl0YXRpb25zIGltcG9zZWQgb24gYGZlZXNgLk0BIC0gZm9yIGxvY2FsIHJlc2VydmU6IHRyYW5zZmVyIGFzc2V0cyB0byBzb3ZlcmVpZ24gYWNjb3VudCBvZiBkZXN0aW5hdGlvbiBjaGFpbiBhbmRNASAgIGZvcndhcmQgYSBub3RpZmljYXRpb24gWENNIHRvIGBkZXN0YCB0byBtaW50IGFuZCBkZXBvc2l0IHJlc2VydmUtYmFzZWQgYXNzZXRzIHRvRCAgIGBiZW5lZmljaWFyeWAuYQEgLSBmb3IgZGVzdGluYXRpb24gcmVzZXJ2ZTogYnVybiBsb2NhbCBhc3NldHMgYW5kIGZvcndhcmQgYSBub3RpZmljYXRpb24gdG8gYGRlc3RgIGNoYWluWQEgICB0byB3aXRoZHJhdyB0aGUgcmVzZXJ2ZSBhc3NldHMgZnJvbSB0aGlzIGNoYWluJ3Mgc292ZXJlaWduIGFjY291bnQgYW5kIGRlcG9zaXQgdGhlbVAgICB0byBgYmVuZWZpY2lhcnlgLl0BIC0gZm9yIHJlbW90ZSByZXNlcnZlOiBidXJuIGxvY2FsIGFzc2V0cywgZm9yd2FyZCBYQ00gdG8gcmVzZXJ2ZSBjaGFpbiB0byBtb3ZlIHJlc2VydmVzXQEgICBmcm9tIHRoaXMgY2hhaW4ncyBTQSB0byBgZGVzdGAgY2hhaW4ncyBTQSwgYW5kIGZvcndhcmQgYW5vdGhlciBYQ00gdG8gYGRlc3RgIHRvIG1pbnTUICAgYW5kIGRlcG9zaXQgcmVzZXJ2ZS1iYXNlZCBhc3NldHMgdG8gYGJlbmVmaWNpYXJ5YC5RASAtIGZvciB0ZWxlcG9ydHM6IGJ1cm4gbG9jYWwgYXNzZXRzIGFuZCBmb3J3YXJkIFhDTSB0byBgZGVzdGAgY2hhaW4gdG8gbWludC90ZWxlcG9ydLAgICBhc3NldHMgYW5kIGRlcG9zaXQgdGhlbSB0byBgYmVuZWZpY2lhcnlgLgApAS0gYG9yaWdpbmA6IE11c3QgYmUgY2FwYWJsZSBvZiB3aXRoZHJhd2luZyB0aGUgYGFzc2V0c2AgYW5kIGV4ZWN1dGluZyBYQ00uLQEtIGBkZXN0YDogRGVzdGluYXRpb24gY29udGV4dCBmb3IgdGhlIGFzc2V0cy4gV2lsbCB0eXBpY2FsbHkgYmUgYFgyKFBhcmVudCxVASAgUGFyYWNoYWluKC4uKSlgIHRvIHNlbmQgZnJvbSBwYXJhY2hhaW4gdG8gcGFyYWNoYWluLCBvciBgWDEoUGFyYWNoYWluKC4uKSlgIHRvIHNlbmRoICBmcm9tIHJlbGF5IHRvIHBhcmFjaGFpbi5VAS0gYGJlbmVmaWNpYXJ5YDogQSBiZW5lZmljaWFyeSBsb2NhdGlvbiBmb3IgdGhlIGFzc2V0cyBpbiB0aGUgY29udGV4dCBvZiBgZGVzdGAuIFdpbGyYICBnZW5lcmFsbHkgYmUgYW4gYEFjY291bnRJZDMyYCB2YWx1ZS5ZAS0gYGFzc2V0c2A6IFRoZSBhc3NldHMgdG8gYmUgd2l0aGRyYXduLiBUaGlzIHNob3VsZCBpbmNsdWRlIHRoZSBhc3NldHMgdXNlZCB0byBwYXkgdGhlyCAgZmVlIG9uIHRoZSBgZGVzdGAgKGFuZCBwb3NzaWJseSByZXNlcnZlKSBjaGFpbnMuTQEtIGBmZWVfYXNzZXRfaXRlbWA6IFRoZSBpbmRleCBpbnRvIGBhc3NldHNgIG9mIHRoZSBpdGVtIHdoaWNoIHNob3VsZCBiZSB1c2VkIHRvIHBheRwgIGZlZXMuRQEtIGB3ZWlnaHRfbGltaXRgOiBUaGUgcmVtb3RlLXNpZGUgd2VpZ2h0IGxpbWl0LCBpZiBhbnksIGZvciB0aGUgWENNIGZlZSBwdXJjaGFzZS4wY2xhaW1fYXNzZXRzCAEYYXNzZXRz8QIBUEJveDxWZXJzaW9uZWRBc3NldHM+AAEsYmVuZWZpY2lhcnllAQFYQm94PFZlcnNpb25lZExvY2F0aW9uPgAMGFUBQ2xhaW1zIGFzc2V0cyB0cmFwcGVkIG9uIHRoaXMgcGFsbGV0IGJlY2F1c2Ugb2YgbGVmdG92ZXIgYXNzZXRzIGR1cmluZyBYQ00gZXhlY3V0aW9uLgCsLSBgb3JpZ2luYDogQW55b25lIGNhbiBjYWxsIHRoaXMgZXh0cmluc2ljLl0BLSBgYXNzZXRzYDogVGhlIGV4YWN0IGFzc2V0cyB0aGF0IHdlcmUgdHJhcHBlZC4gVXNlIHRoZSB2ZXJzaW9uIHRvIHNwZWNpZnkgd2hhdCB2ZXJzaW9umHdhcyB0aGUgbGF0ZXN0IHdoZW4gdGhleSB3ZXJlIHRyYXBwZWQuRQEtIGBiZW5lZmljaWFyeWA6IFRoZSBsb2NhdGlvbi9hY2NvdW50IHdoZXJlIHRoZSBjbGFpbWVkIGFzc2V0cyB3aWxsIGJlIGRlcG9zaXRlZC6MdHJhbnNmZXJfYXNzZXRzX3VzaW5nX3R5cGVfYW5kX3RoZW4cARBkZXN0ZQEBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AARhhc3NldHPxAgFQQm94PFZlcnNpb25lZEFzc2V0cz4AAVBhc3NldHNfdHJhbnNmZXJfdHlwZSUDAURCb3g8VHJhbnNmZXJUeXBlPgABOHJlbW90ZV9mZWVzX2lkKQMBVEJveDxWZXJzaW9uZWRBc3NldElkPgABSGZlZXNfdHJhbnNmZXJfdHlwZSUDAURCb3g8VHJhbnNmZXJUeXBlPgABSGN1c3RvbV94Y21fb25fZGVzdLEBAVRCb3g8VmVyc2lvbmVkWGNtPCgpPj4AATB3ZWlnaHRfbGltaXQlAgEsV2VpZ2h0TGltaXQADcBVAVRyYW5zZmVyIGFzc2V0cyBmcm9tIHRoZSBsb2NhbCBjaGFpbiB0byB0aGUgZGVzdGluYXRpb24gY2hhaW4gdXNpbmcgZXhwbGljaXQgdHJhbnNmZXJodHlwZXMgZm9yIGFzc2V0cyBhbmQgZmVlcy4AWQFgYXNzZXRzYCBtdXN0IGhhdmUgc2FtZSByZXNlcnZlIGxvY2F0aW9uIG9yIG1heSBiZSB0ZWxlcG9ydGFibGUgdG8gYGRlc3RgLiBDYWxsZXIgbXVzdOxwcm92aWRlIHRoZSBgYXNzZXRzX3RyYW5zZmVyX3R5cGVgIHRvIGJlIHVzZWQgZm9yIGBhc3NldHNgOlEBIC0gYFRyYW5zZmVyVHlwZTo6TG9jYWxSZXNlcnZlYDogdHJhbnNmZXIgYXNzZXRzIHRvIHNvdmVyZWlnbiBhY2NvdW50IG9mIGRlc3RpbmF0aW9uTQEgICBjaGFpbiBhbmQgZm9yd2FyZCBhIG5vdGlmaWNhdGlvbiBYQ00gdG8gYGRlc3RgIHRvIG1pbnQgYW5kIGRlcG9zaXQgcmVzZXJ2ZS1iYXNlZGwgICBhc3NldHMgdG8gYGJlbmVmaWNpYXJ5YC5ZASAtIGBUcmFuc2ZlclR5cGU6OkRlc3RpbmF0aW9uUmVzZXJ2ZWA6IGJ1cm4gbG9jYWwgYXNzZXRzIGFuZCBmb3J3YXJkIGEgbm90aWZpY2F0aW9uIHRvWQEgICBgZGVzdGAgY2hhaW4gdG8gd2l0aGRyYXcgdGhlIHJlc2VydmUgYXNzZXRzIGZyb20gdGhpcyBjaGFpbidzIHNvdmVyZWlnbiBhY2NvdW50IGFuZIQgICBkZXBvc2l0IHRoZW0gdG8gYGJlbmVmaWNpYXJ5YC5ZASAtIGBUcmFuc2ZlclR5cGU6OlJlbW90ZVJlc2VydmUocmVzZXJ2ZSlgOiBidXJuIGxvY2FsIGFzc2V0cywgZm9yd2FyZCBYQ00gdG8gYHJlc2VydmVgYQEgICBjaGFpbiB0byBtb3ZlIHJlc2VydmVzIGZyb20gdGhpcyBjaGFpbidzIFNBIHRvIGBkZXN0YCBjaGFpbidzIFNBLCBhbmQgZm9yd2FyZCBhbm90aGVyVQEgICBYQ00gdG8gYGRlc3RgIHRvIG1pbnQgYW5kIGRlcG9zaXQgcmVzZXJ2ZS1iYXNlZCBhc3NldHMgdG8gYGJlbmVmaWNpYXJ5YC4gVHlwaWNhbGx5lCAgIHRoZSByZW1vdGUgYHJlc2VydmVgIGlzIEFzc2V0IEh1Yi5FASAtIGBUcmFuc2ZlclR5cGU6OlRlbGVwb3J0YDogYnVybiBsb2NhbCBhc3NldHMgYW5kIGZvcndhcmQgWENNIHRvIGBkZXN0YCBjaGFpbiB0b+ggICBtaW50L3RlbGVwb3J0IGFzc2V0cyBhbmQgZGVwb3NpdCB0aGVtIHRvIGBiZW5lZmljaWFyeWAuAFUBT24gdGhlIGRlc3RpbmF0aW9uIGNoYWluLCBhcyB3ZWxsIGFzIGFueSBpbnRlcm1lZGlhcnkgaG9wcywgYEJ1eUV4ZWN1dGlvbmAgaXMgdXNlZCB0byEBYnV5IGV4ZWN1dGlvbiB1c2luZyB0cmFuc2ZlcnJlZCBgYXNzZXRzYCBpZGVudGlmaWVkIGJ5IGByZW1vdGVfZmVlc19pZGAuWQFNYWtlIHN1cmUgZW5vdWdoIG9mIHRoZSBzcGVjaWZpZWQgYHJlbW90ZV9mZWVzX2lkYCBhc3NldCBpcyBpbmNsdWRlZCBpbiB0aGUgZ2l2ZW4gbGlzdGEBb2YgYGFzc2V0c2AuIGByZW1vdGVfZmVlc19pZGAgc2hvdWxkIGJlIGVub3VnaCB0byBwYXkgZm9yIGB3ZWlnaHRfbGltaXRgLiBJZiBtb3JlIHdlaWdodFkBaXMgbmVlZGVkIHRoYW4gYHdlaWdodF9saW1pdGAsIHRoZW4gdGhlIG9wZXJhdGlvbiB3aWxsIGZhaWwgYW5kIHRoZSBzZW50IGFzc2V0cyBtYXkgYmUgYXQgcmlzay4ARQFgcmVtb3RlX2ZlZXNfaWRgIG1heSB1c2UgZGlmZmVyZW50IHRyYW5zZmVyIHR5cGUgdGhhbiByZXN0IG9mIGBhc3NldHNgIGFuZCBjYW4gYmWcc3BlY2lmaWVkIHRocm91Z2ggYGZlZXNfdHJhbnNmZXJfdHlwZWAuAGEBVGhlIGNhbGxlciBuZWVkcyB0byBzcGVjaWZ5IHdoYXQgc2hvdWxkIGhhcHBlbiB0byB0aGUgdHJhbnNmZXJyZWQgYXNzZXRzIG9uY2UgdGhleSByZWFjaEEBdGhlIGBkZXN0YCBjaGFpbi4gVGhpcyBpcyBkb25lIHRocm91Z2ggdGhlIGBjdXN0b21feGNtX29uX2Rlc3RgIHBhcmFtZXRlciwgd2hpY2j8Y29udGFpbnMgdGhlIGluc3RydWN0aW9ucyB0byBleGVjdXRlIG9uIGBkZXN0YCBhcyBhIGZpbmFsIHN0ZXAufCAgVGhpcyBpcyB1c3VhbGx5IGFzIHNpbXBsZSBhczpRASAgYFhjbSh2ZWMhW0RlcG9zaXRBc3NldCB7IGFzc2V0czogV2lsZChBbGxDb3VudGVkKGFzc2V0cy5sZW4oKSkpLCBiZW5lZmljaWFyeSB9XSlgLDEBICBidXQgY291bGQgYmUgc29tZXRoaW5nIG1vcmUgZXhvdGljIGxpa2Ugc2VuZGluZyB0aGUgYGFzc2V0c2AgZXZlbiBmdXJ0aGVyLgApAS0gYG9yaWdpbmA6IE11c3QgYmUgY2FwYWJsZSBvZiB3aXRoZHJhd2luZyB0aGUgYGFzc2V0c2AgYW5kIGV4ZWN1dGluZyBYQ00uJQEtIGBkZXN0YDogRGVzdGluYXRpb24gY29udGV4dCBmb3IgdGhlIGFzc2V0cy4gV2lsbCB0eXBpY2FsbHkgYmUgYFtQYXJlbnQsYQEgIFBhcmFjaGFpbiguLildYCB0byBzZW5kIGZyb20gcGFyYWNoYWluIHRvIHBhcmFjaGFpbiwgb3IgYFtQYXJhY2hhaW4oLi4pXWAgdG8gc2VuZCBmcm9tPQEgIHJlbGF5IHRvIHBhcmFjaGFpbiwgb3IgYChwYXJlbnRzOiAyLCAoR2xvYmFsQ29uc2Vuc3VzKC4uKSwgLi4pKWAgdG8gc2VuZCBmcm9t9CAgcGFyYWNoYWluIGFjcm9zcyBhIGJyaWRnZSB0byBhbm90aGVyIGVjb3N5c3RlbSBkZXN0aW5hdGlvbi5ZAS0gYGFzc2V0c2A6IFRoZSBhc3NldHMgdG8gYmUgd2l0aGRyYXduLiBUaGlzIHNob3VsZCBpbmNsdWRlIHRoZSBhc3NldHMgdXNlZCB0byBwYXkgdGhlyCAgZmVlIG9uIHRoZSBgZGVzdGAgKGFuZCBwb3NzaWJseSByZXNlcnZlKSBjaGFpbnMuPQEtIGBhc3NldHNfdHJhbnNmZXJfdHlwZWA6IFRoZSBYQ00gYFRyYW5zZmVyVHlwZWAgdXNlZCB0byB0cmFuc2ZlciB0aGUgYGFzc2V0c2AuIQEtIGByZW1vdGVfZmVlc19pZGA6IE9uZSBvZiB0aGUgaW5jbHVkZWQgYGFzc2V0c2AgdG8gYmUgdXNlZCB0byBwYXkgZmVlcy5JAS0gYGZlZXNfdHJhbnNmZXJfdHlwZWA6IFRoZSBYQ00gYFRyYW5zZmVyVHlwZWAgdXNlZCB0byB0cmFuc2ZlciB0aGUgYGZlZXNgIGFzc2V0cy5ZAS0gYGN1c3RvbV94Y21fb25fZGVzdGA6IFRoZSBYQ00gdG8gYmUgZXhlY3V0ZWQgb24gYGRlc3RgIGNoYWluIGFzIHRoZSBsYXN0IHN0ZXAgb2YgdGhlWQEgIHRyYW5zZmVyLCB3aGljaCBhbHNvIGRldGVybWluZXMgd2hhdCBoYXBwZW5zIHRvIHRoZSBhc3NldHMgb24gdGhlIGRlc3RpbmF0aW9uIGNoYWluLkUBLSBgd2VpZ2h0X2xpbWl0YDogVGhlIHJlbW90ZS1zaWRlIHdlaWdodCBsaW1pdCwgaWYgYW55LCBmb3IgdGhlIFhDTSBmZWUgcHVyY2hhc2UuUGFkZF9hdXRob3JpemVkX2FsaWFzCAEcYWxpYXNlcmUBAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEcZXhwaXJlcy0DASxPcHRpb248dTY0PgAOLF0BQXV0aG9yaXplIGFub3RoZXIgYGFsaWFzZXJgIGxvY2F0aW9uIHRvIGFsaWFzIGludG8gdGhlIGxvY2FsIGBvcmlnaW5gIG1ha2luZyB0aGlzIGNhbGwuKQFUaGUgYGFsaWFzZXJgIGlzIG9ubHkgYXV0aG9yaXplZCB1bnRpbCB0aGUgcHJvdmlkZWQgYGV4cGlyeWAgYmxvY2sgbnVtYmVyLkkBVGhlIGNhbGwgY2FuIGFsc28gYmUgdXNlZCBmb3IgYSBwcmV2aW91c2x5IGF1dGhvcml6ZWQgYWxpYXMgaW4gb3JkZXIgdG8gdXBkYXRlIGl0c1hgZXhwaXJ5YCBibG9jayBudW1iZXIuAFEBVXN1YWxseSB1c2VmdWwgdG8gYWxsb3cgeW91ciBsb2NhbCBhY2NvdW50IHRvIGJlIGFsaWFzZWQgaW50byBmcm9tIGEgcmVtb3RlIGxvY2F0aW9u9GFsc28gdW5kZXIgeW91ciBjb250cm9sIChsaWtlIHlvdXIgYWNjb3VudCBvbiBhbm90aGVyIGNoYWluKS4AUQFXQVJOSU5HOiBtYWtlIHN1cmUgdGhlIGNhbGxlciBgb3JpZ2luYCAoeW91KSB0cnVzdHMgdGhlIGBhbGlhc2VyYCBsb2NhdGlvbiB0byBhY3QgaW5ZAXRoZWlyL3lvdXIgbmFtZS4gT25jZSBhdXRob3JpemVkIHVzaW5nIHRoaXMgY2FsbCwgdGhlIGBhbGlhc2VyYCBjYW4gZnJlZWx5IGltcGVyc29uYXRl1GBvcmlnaW5gIGluIFhDTSBwcm9ncmFtcyBleGVjdXRlZCBvbiB0aGUgbG9jYWwgY2hhaW4uXHJlbW92ZV9hdXRob3JpemVkX2FsaWFzBAEcYWxpYXNlcmUBAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AA8IXQFSZW1vdmUgYSBwcmV2aW91c2x5IGF1dGhvcml6ZWQgYGFsaWFzZXJgIGZyb20gdGhlIGxpc3Qgb2YgbG9jYXRpb25zIHRoYXQgY2FuIGFsaWFzIGludG+QdGhlIGxvY2FsIGBvcmlnaW5gIG1ha2luZyB0aGlzIGNhbGwudHJlbW92ZV9hbGxfYXV0aG9yaXplZF9hbGlhc2VzABAISQFSZW1vdmUgYWxsIHByZXZpb3VzbHkgYXV0aG9yaXplZCBgYWxpYXNlcmBzIHRoYXQgY2FuIGFsaWFzIGludG8gdGhlIGxvY2FsIGBvcmlnaW5gRG1ha2luZyB0aGlzIGNhbGwuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLmUBCAx4Y21EVmVyc2lvbmVkTG9jYXRpb24AAQwIVjMEAGkBAUR2Mzo6TXVsdGlMb2NhdGlvbgADAAhWNAQAfQEBMHY0OjpMb2NhdGlvbgAEAAhWNQQA4AEwdjU6OkxvY2F0aW9uAAUAAGkBECxzdGFnaW5nX3hjbQh2MzRtdWx0aWxvY2F0aW9uNE11bHRpTG9jYXRpb24AAAgBHHBhcmVudHMMAQh1OAABIGludGVyaW9ybQEBJEp1bmN0aW9ucwAAbQEQDHhjbQh2MyRqdW5jdGlvbnMkSnVuY3Rpb25zAAEkEEhlcmUAAAAIWDEEAHEBASBKdW5jdGlvbgABAAhYMggAcQEBIEp1bmN0aW9uAABxAQEgSnVuY3Rpb24AAgAIWDMMAHEBASBKdW5jdGlvbgAAcQEBIEp1bmN0aW9uAABxAQEgSnVuY3Rpb24AAwAIWDQQAHEBASBKdW5jdGlvbgAAcQEBIEp1bmN0aW9uAABxAQEgSnVuY3Rpb24AAHEBASBKdW5jdGlvbgAEAAhYNRQAcQEBIEp1bmN0aW9uAABxAQEgSnVuY3Rpb24AAHEBASBKdW5jdGlvbgAAcQEBIEp1bmN0aW9uAABxAQEgSnVuY3Rpb24ABQAIWDYYAHEBASBKdW5jdGlvbgAAcQEBIEp1bmN0aW9uAABxAQEgSnVuY3Rpb24AAHEBASBKdW5jdGlvbgAAcQEBIEp1bmN0aW9uAABxAQEgSnVuY3Rpb24ABgAIWDccAHEBASBKdW5jdGlvbgAAcQEBIEp1bmN0aW9uAABxAQEgSnVuY3Rpb24AAHEBASBKdW5jdGlvbgAAcQEBIEp1bmN0aW9uAABxAQEgSnVuY3Rpb24AAHEBASBKdW5jdGlvbgAHAAhYOCAAcQEBIEp1bmN0aW9uAABxAQEgSnVuY3Rpb24AAHEBASBKdW5jdGlvbgAAcQEBIEp1bmN0aW9uAABxAQEgSnVuY3Rpb24AAHEBASBKdW5jdGlvbgAAcQEBIEp1bmN0aW9uAABxAQEgSnVuY3Rpb24ACAAAcQEQDHhjbQh2MyBqdW5jdGlvbiBKdW5jdGlvbgABKCRQYXJhY2hhaW4EAGABDHUzMgAAACxBY2NvdW50SWQzMggBHG5ldHdvcmt1AQFET3B0aW9uPE5ldHdvcmtJZD4AAQhpZAgBIFt1ODsgMzJdAAEAOEFjY291bnRJbmRleDY0CAEcbmV0d29ya3UBAURPcHRpb248TmV0d29ya0lkPgABFGluZGV4tAEMdTY0AAIAMEFjY291bnRLZXkyMAgBHG5ldHdvcmt1AQFET3B0aW9uPE5ldHdvcmtJZD4AAQxrZXkcASBbdTg7IDIwXQADADhQYWxsZXRJbnN0YW5jZQQADAEIdTgABAAwR2VuZXJhbEluZGV4BAD4ARB1MTI4AAUAKEdlbmVyYWxLZXkIARhsZW5ndGgMAQh1OAABEGRhdGEIASBbdTg7IDMyXQAGACRPbmx5Q2hpbGQABwAkUGx1cmFsaXR5CAEIaWQBAQEYQm9keUlkAAEQcGFydAUBASBCb2R5UGFydAAIADxHbG9iYWxDb25zZW5zdXMEAHkBASROZXR3b3JrSWQACQAAdQEEGE9wdGlvbgQEVAF5AQEIEE5vbmUAAAAQU29tZQQAeQEAAAEAAHkBEAx4Y20IdjMganVuY3Rpb24kTmV0d29ya0lkAAEsJEJ5R2VuZXNpcwQACAEgW3U4OyAzMl0AAAAYQnlGb3JrCAEwYmxvY2tfbnVtYmVyKAEMdTY0AAEoYmxvY2tfaGFzaAgBIFt1ODsgMzJdAAEAIFBvbGthZG90AAIAGEt1c2FtYQADABxXZXN0ZW5kAAQAGFJvY29jbwAFABhXb2NvY28ABgAgRXRoZXJldW0EASBjaGFpbl9pZLQBDHU2NAAHACxCaXRjb2luQ29yZQAIACxCaXRjb2luQ2FzaAAJAEBQb2xrYWRvdEJ1bGxldGluAAoAAH0BECxzdGFnaW5nX3hjbQh2NCBsb2NhdGlvbiBMb2NhdGlvbgAACAEccGFyZW50cwwBCHU4AAEgaW50ZXJpb3KBAQEkSnVuY3Rpb25zAACBARAsc3RhZ2luZ194Y20IdjQkanVuY3Rpb25zJEp1bmN0aW9ucwABJBBIZXJlAAAACFgxBACFAQFIQXJjPFtKdW5jdGlvbjsgMV0+AAEACFgyBACVAQFIQXJjPFtKdW5jdGlvbjsgMl0+AAIACFgzBACZAQFIQXJjPFtKdW5jdGlvbjsgM10+AAMACFg0BACdAQFIQXJjPFtKdW5jdGlvbjsgNF0+AAQACFg1BAChAQFIQXJjPFtKdW5jdGlvbjsgNV0+AAUACFg2BAClAQFIQXJjPFtKdW5jdGlvbjsgNl0+AAYACFg3BACpAQFIQXJjPFtKdW5jdGlvbjsgN10+AAcACFg4BACtAQFIQXJjPFtKdW5jdGlvbjsgOF0+AAgAAIUBAAADAQAAAIkBAIkBECxzdGFnaW5nX3hjbQh2NCBqdW5jdGlvbiBKdW5jdGlvbgABKCRQYXJhY2hhaW4EAGABDHUzMgAAACxBY2NvdW50SWQzMggBHG5ldHdvcmuNAQFET3B0aW9uPE5ldHdvcmtJZD4AAQhpZAgBIFt1ODsgMzJdAAEAOEFjY291bnRJbmRleDY0CAEcbmV0d29ya40BAURPcHRpb248TmV0d29ya0lkPgABFGluZGV4tAEMdTY0AAIAMEFjY291bnRLZXkyMAgBHG5ldHdvcmuNAQFET3B0aW9uPE5ldHdvcmtJZD4AAQxrZXkcASBbdTg7IDIwXQADADhQYWxsZXRJbnN0YW5jZQQADAEIdTgABAAwR2VuZXJhbEluZGV4BAD4ARB1MTI4AAUAKEdlbmVyYWxLZXkIARhsZW5ndGgMAQh1OAABEGRhdGEIASBbdTg7IDMyXQAGACRPbmx5Q2hpbGQABwAkUGx1cmFsaXR5CAEIaWQBAQEYQm9keUlkAAEQcGFydAUBASBCb2R5UGFydAAIADxHbG9iYWxDb25zZW5zdXMEAJEBASROZXR3b3JrSWQACQAAjQEEGE9wdGlvbgQEVAGRAQEIEE5vbmUAAAAQU29tZQQAkQEAAAEAAJEBECxzdGFnaW5nX3hjbQh2NCBqdW5jdGlvbiROZXR3b3JrSWQAASwkQnlHZW5lc2lzBAAIASBbdTg7IDMyXQAAABhCeUZvcmsIATBibG9ja19udW1iZXIoAQx1NjQAAShibG9ja19oYXNoCAEgW3U4OyAzMl0AAQAgUG9sa2Fkb3QAAgAYS3VzYW1hAAMAHFdlc3RlbmQABAAYUm9jb2NvAAUAGFdvY29jbwAGACBFdGhlcmV1bQQBIGNoYWluX2lktAEMdTY0AAcALEJpdGNvaW5Db3JlAAgALEJpdGNvaW5DYXNoAAkAQFBvbGthZG90QnVsbGV0aW4ACgAAlQEAAAMCAAAAiQEAmQEAAAMDAAAAiQEAnQEAAAMEAAAAiQEAoQEAAAMFAAAAiQEApQEAAAMGAAAAiQEAqQEAAAMHAAAAiQEArQEAAAMIAAAAiQEAsQEIDHhjbTBWZXJzaW9uZWRYY20ELFJ1bnRpbWVDYWxsAAEMCFYzBAC1AQFQdjM6OlhjbTxSdW50aW1lQ2FsbD4AAwAIVjQEACkCAVB2NDo6WGNtPFJ1bnRpbWVDYWxsPgAEAAhWNQQAdQIBUHY1OjpYY208UnVudGltZUNhbGw+AAUAALUBDAx4Y20IdjMMWGNtBBBDYWxsAAAEALkBAVhWZWM8SW5zdHJ1Y3Rpb248Q2FsbD4+AAC5AQAAAr0BAL0BDAx4Y20IdjMsSW5zdHJ1Y3Rpb24EEENhbGwAAcA0V2l0aGRyYXdBc3NldAQAwQEBLE11bHRpQXNzZXRzAAAAVFJlc2VydmVBc3NldERlcG9zaXRlZAQAwQEBLE11bHRpQXNzZXRzAAEAWFJlY2VpdmVUZWxlcG9ydGVkQXNzZXQEAMEBASxNdWx0aUFzc2V0cwACADRRdWVyeVJlc3BvbnNlEAEgcXVlcnlfaWS0ARxRdWVyeUlkAAEgcmVzcG9uc2XhAQEgUmVzcG9uc2UAAShtYXhfd2VpZ2h0KQEBGFdlaWdodAABHHF1ZXJpZXIJAgFUT3B0aW9uPE11bHRpTG9jYXRpb24+AAMANFRyYW5zZmVyQXNzZXQIARhhc3NldHPBAQEsTXVsdGlBc3NldHMAASxiZW5lZmljaWFyeWkBATRNdWx0aUxvY2F0aW9uAAQAUFRyYW5zZmVyUmVzZXJ2ZUFzc2V0DAEYYXNzZXRzwQEBLE11bHRpQXNzZXRzAAEQZGVzdGkBATRNdWx0aUxvY2F0aW9uAAEMeGNttQEBHFhjbTwoKT4ABQAgVHJhbnNhY3QMASxvcmlnaW5fa2luZA0CAShPcmlnaW5LaW5kAAFYcmVxdWlyZV93ZWlnaHRfYXRfbW9zdCkBARhXZWlnaHQAARBjYWxsEQIBTERvdWJsZUVuY29kZWQ8Q2FsbD4ABgBkSHJtcE5ld0NoYW5uZWxPcGVuUmVxdWVzdAwBGHNlbmRlcmABDHUzMgABQG1heF9tZXNzYWdlX3NpemVgAQx1MzIAATBtYXhfY2FwYWNpdHlgAQx1MzIABwBMSHJtcENoYW5uZWxBY2NlcHRlZAQBJHJlY2lwaWVudGABDHUzMgAIAEhIcm1wQ2hhbm5lbENsb3NpbmcMASRpbml0aWF0b3JgAQx1MzIAARhzZW5kZXJgAQx1MzIAASRyZWNpcGllbnRgAQx1MzIACQAsQ2xlYXJPcmlnaW4ACgA0RGVzY2VuZE9yaWdpbgQAbQEBVEludGVyaW9yTXVsdGlMb2NhdGlvbgALACxSZXBvcnRFcnJvcgQAFQIBRFF1ZXJ5UmVzcG9uc2VJbmZvAAwAMERlcG9zaXRBc3NldAgBGGFzc2V0cxkCAUBNdWx0aUFzc2V0RmlsdGVyAAEsYmVuZWZpY2lhcnlpAQE0TXVsdGlMb2NhdGlvbgANAExEZXBvc2l0UmVzZXJ2ZUFzc2V0DAEYYXNzZXRzGQIBQE11bHRpQXNzZXRGaWx0ZXIAARBkZXN0aQEBNE11bHRpTG9jYXRpb24AAQx4Y221AQEcWGNtPCgpPgAOADRFeGNoYW5nZUFzc2V0DAEQZ2l2ZRkCAUBNdWx0aUFzc2V0RmlsdGVyAAEQd2FudMEBASxNdWx0aUFzc2V0cwABHG1heGltYWwxAQEQYm9vbAAPAFxJbml0aWF0ZVJlc2VydmVXaXRoZHJhdwwBGGFzc2V0cxkCAUBNdWx0aUFzc2V0RmlsdGVyAAEccmVzZXJ2ZWkBATRNdWx0aUxvY2F0aW9uAAEMeGNttQEBHFhjbTwoKT4AEABASW5pdGlhdGVUZWxlcG9ydAwBGGFzc2V0cxkCAUBNdWx0aUFzc2V0RmlsdGVyAAEQZGVzdGkBATRNdWx0aUxvY2F0aW9uAAEMeGNttQEBHFhjbTwoKT4AEQA0UmVwb3J0SG9sZGluZwgBNHJlc3BvbnNlX2luZm8VAgFEUXVlcnlSZXNwb25zZUluZm8AARhhc3NldHMZAgFATXVsdGlBc3NldEZpbHRlcgASADBCdXlFeGVjdXRpb24IARBmZWVzyQEBKE11bHRpQXNzZXQAATB3ZWlnaHRfbGltaXQlAgEsV2VpZ2h0TGltaXQAEwA0UmVmdW5kU3VycGx1cwAUADxTZXRFcnJvckhhbmRsZXIEALUBASRYY208Q2FsbD4AFQAsU2V0QXBwZW5kaXgEALUBASRYY208Q2FsbD4AFgAoQ2xlYXJFcnJvcgAXAChDbGFpbUFzc2V0CAEYYXNzZXRzwQEBLE11bHRpQXNzZXRzAAEYdGlja2V0aQEBNE11bHRpTG9jYXRpb24AGAAQVHJhcAQAtAEMdTY0ABkAQFN1YnNjcmliZVZlcnNpb24IASBxdWVyeV9pZLQBHFF1ZXJ5SWQAAUxtYXhfcmVzcG9uc2Vfd2VpZ2h0KQEBGFdlaWdodAAaAEhVbnN1YnNjcmliZVZlcnNpb24AGwAkQnVybkFzc2V0BADBAQEsTXVsdGlBc3NldHMAHAAsRXhwZWN0QXNzZXQEAMEBASxNdWx0aUFzc2V0cwAdADBFeHBlY3RPcmlnaW4EAAkCAVRPcHRpb248TXVsdGlMb2NhdGlvbj4AHgAsRXhwZWN0RXJyb3IEAOUBAVBPcHRpb248KHUzMiwgRXJyb3IpPgAfAFBFeHBlY3RUcmFuc2FjdFN0YXR1cwQAAQIBOE1heWJlRXJyb3JDb2RlACAALFF1ZXJ5UGFsbGV0CAEsbW9kdWxlX25hbWUYARxWZWM8dTg+AAE0cmVzcG9uc2VfaW5mbxUCAURRdWVyeVJlc3BvbnNlSW5mbwAhADBFeHBlY3RQYWxsZXQUARRpbmRleGABDHUzMgABEG5hbWUYARxWZWM8dTg+AAEsbW9kdWxlX25hbWUYARxWZWM8dTg+AAEsY3JhdGVfbWFqb3JgAQx1MzIAATxtaW5fY3JhdGVfbWlub3JgAQx1MzIAIgBQUmVwb3J0VHJhbnNhY3RTdGF0dXMEABUCAURRdWVyeVJlc3BvbnNlSW5mbwAjAExDbGVhclRyYW5zYWN0U3RhdHVzACQAPFVuaXZlcnNhbE9yaWdpbgQAcQEBIEp1bmN0aW9uACUANEV4cG9ydE1lc3NhZ2UMARxuZXR3b3JreQEBJE5ldHdvcmtJZAABLGRlc3RpbmF0aW9ubQEBVEludGVyaW9yTXVsdGlMb2NhdGlvbgABDHhjbbUBARxYY208KCk+ACYAJExvY2tBc3NldAgBFGFzc2V0yQEBKE11bHRpQXNzZXQAASB1bmxvY2tlcmkBATRNdWx0aUxvY2F0aW9uACcALFVubG9ja0Fzc2V0CAEUYXNzZXTJAQEoTXVsdGlBc3NldAABGHRhcmdldGkBATRNdWx0aUxvY2F0aW9uACgAOE5vdGVVbmxvY2thYmxlCAEUYXNzZXTJAQEoTXVsdGlBc3NldAABFG93bmVyaQEBNE11bHRpTG9jYXRpb24AKQA0UmVxdWVzdFVubG9jawgBFGFzc2V0yQEBKE11bHRpQXNzZXQAARhsb2NrZXJpAQE0TXVsdGlMb2NhdGlvbgAqACxTZXRGZWVzTW9kZQQBMGppdF93aXRoZHJhdzEBARBib29sACsAIFNldFRvcGljBAAIASBbdTg7IDMyXQAsAChDbGVhclRvcGljAC0ALEFsaWFzT3JpZ2luBABpAQE0TXVsdGlMb2NhdGlvbgAuADxVbnBhaWRFeGVjdXRpb24IATB3ZWlnaHRfbGltaXQlAgEsV2VpZ2h0TGltaXQAATBjaGVja19vcmlnaW4JAgFUT3B0aW9uPE11bHRpTG9jYXRpb24+AC8AAMEBEAx4Y20IdjMobXVsdGlhc3NldCxNdWx0aUFzc2V0cwAABADFAQE8VmVjPE11bHRpQXNzZXQ+AADFAQAAAskBAMkBEAx4Y20IdjMobXVsdGlhc3NldChNdWx0aUFzc2V0AAAIAQhpZM0BARxBc3NldElkAAEMZnVu0QEBLEZ1bmdpYmlsaXR5AADNARAMeGNtCHYzKG11bHRpYXNzZXQcQXNzZXRJZAABCCBDb25jcmV0ZQQAaQEBNE11bHRpTG9jYXRpb24AAAAgQWJzdHJhY3QEAAgBIFt1ODsgMzJdAAEAANEBEAx4Y20IdjMobXVsdGlhc3NldCxGdW5naWJpbGl0eQABCCBGdW5naWJsZQQA+AEQdTEyOAAAACxOb25GdW5naWJsZQQA1QEBNEFzc2V0SW5zdGFuY2UAAQAA1QEQDHhjbQh2MyhtdWx0aWFzc2V0NEFzc2V0SW5zdGFuY2UAARgkVW5kZWZpbmVkAAAAFEluZGV4BAD4ARB1MTI4AAEAGEFycmF5NAQAcAEcW3U4OyA0XQACABhBcnJheTgEANkBARxbdTg7IDhdAAMAHEFycmF5MTYEAN0BASBbdTg7IDE2XQAEABxBcnJheTMyBAAIASBbdTg7IDMyXQAFAADZAQAAAwgAAAAMAN0BAAADEAAAAAwA4QEMDHhjbQh2MyBSZXNwb25zZQABGBBOdWxsAAAAGEFzc2V0cwQAwQEBLE11bHRpQXNzZXRzAAEAPEV4ZWN1dGlvblJlc3VsdAQA5QEBUE9wdGlvbjwodTMyLCBFcnJvcik+AAIAHFZlcnNpb24EADgBOHN1cGVyOjpWZXJzaW9uAAMALFBhbGxldHNJbmZvBADxAQGYQm91bmRlZFZlYzxQYWxsZXRJbmZvLCBNYXhQYWxsZXRzSW5mbz4ABAA4RGlzcGF0Y2hSZXN1bHQEAAECAThNYXliZUVycm9yQ29kZQAFAADlAQQYT3B0aW9uBARUAekBAQgQTm9uZQAAABBTb21lBADpAQAAAQAA6QEAAAQIOO0BAO0BEAx4Y20IdjMYdHJhaXRzFEVycm9yAAGgIE92ZXJmbG93AAAANFVuaW1wbGVtZW50ZWQAAQBgVW50cnVzdGVkUmVzZXJ2ZUxvY2F0aW9uAAIAZFVudHJ1c3RlZFRlbGVwb3J0TG9jYXRpb24AAwAwTG9jYXRpb25GdWxsAAQAVExvY2F0aW9uTm90SW52ZXJ0aWJsZQAFACRCYWRPcmlnaW4ABgA8SW52YWxpZExvY2F0aW9uAAcANEFzc2V0Tm90Rm91bmQACABURmFpbGVkVG9UcmFuc2FjdEFzc2V0AAkAPE5vdFdpdGhkcmF3YWJsZQAKAEhMb2NhdGlvbkNhbm5vdEhvbGQACwBURXhjZWVkc01heE1lc3NhZ2VTaXplAAwAWERlc3RpbmF0aW9uVW5zdXBwb3J0ZWQADQAkVHJhbnNwb3J0AA4AKFVucm91dGFibGUADwAwVW5rbm93bkNsYWltABAAOEZhaWxlZFRvRGVjb2RlABEAQE1heFdlaWdodEludmFsaWQAEgA4Tm90SG9sZGluZ0ZlZXMAEwAwVG9vRXhwZW5zaXZlABQAEFRyYXAEACgBDHU2NAAVAEBFeHBlY3RhdGlvbkZhbHNlABYAOFBhbGxldE5vdEZvdW5kABcAME5hbWVNaXNtYXRjaAAYAExWZXJzaW9uSW5jb21wYXRpYmxlABkAUEhvbGRpbmdXb3VsZE92ZXJmbG93ABoALEV4cG9ydEVycm9yABsAOFJlYW5jaG9yRmFpbGVkABwAGE5vRGVhbAAdAChGZWVzTm90TWV0AB4AJExvY2tFcnJvcgAfADBOb1Blcm1pc3Npb24AIAAoVW5hbmNob3JlZAAhADhOb3REZXBvc2l0YWJsZQAiAExVbmhhbmRsZWRYY21WZXJzaW9uACMASFdlaWdodExpbWl0UmVhY2hlZAQAKQEBGFdlaWdodAAkABxCYXJyaWVyACUATFdlaWdodE5vdENvbXB1dGFibGUAJgBERXhjZWVkc1N0YWNrTGltaXQAJwAA8QEMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAH1AQRTAAAEAP0BARhWZWM8VD4AAPUBDAx4Y20IdjMoUGFsbGV0SW5mbwAAGAEUaW5kZXhgAQx1MzIAARBuYW1l+QEBgEJvdW5kZWRWZWM8dTgsIE1heFBhbGxldE5hbWVMZW4+AAEsbW9kdWxlX25hbWX5AQGAQm91bmRlZFZlYzx1OCwgTWF4UGFsbGV0TmFtZUxlbj4AARRtYWpvcmABDHUzMgABFG1pbm9yYAEMdTMyAAEUcGF0Y2hgAQx1MzIAAPkBDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBDARTAAAEABgBGFZlYzxUPgAA/QEAAAL1AQABAgwMeGNtCHYzOE1heWJlRXJyb3JDb2RlAAEMHFN1Y2Nlc3MAAAAURXJyb3IEAAUCAYxCb3VuZGVkVmVjPHU4LCBNYXhEaXNwYXRjaEVycm9yTGVuPgABADhUcnVuY2F0ZWRFcnJvcgQABQIBjEJvdW5kZWRWZWM8dTgsIE1heERpc3BhdGNoRXJyb3JMZW4+AAIAAAUCDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBDARTAAAEABgBGFZlYzxUPgAACQIEGE9wdGlvbgQEVAFpAQEIEE5vbmUAAAAQU29tZQQAaQEAAAEAAA0CDAx4Y20IdjMoT3JpZ2luS2luZAABEBhOYXRpdmUAAABAU292ZXJlaWduQWNjb3VudAABACRTdXBlcnVzZXIAAgAMWGNtAAMAABECDAx4Y204ZG91YmxlX2VuY29kZWQ0RG91YmxlRW5jb2RlZAQEVAAABAEcZW5jb2RlZBgBHFZlYzx1OD4AABUCDAx4Y20IdjNEUXVlcnlSZXNwb25zZUluZm8AAAwBLGRlc3RpbmF0aW9uaQEBNE11bHRpTG9jYXRpb24AASBxdWVyeV9pZLQBHFF1ZXJ5SWQAAShtYXhfd2VpZ2h0KQEBGFdlaWdodAAAGQIQDHhjbQh2MyhtdWx0aWFzc2V0QE11bHRpQXNzZXRGaWx0ZXIAAQggRGVmaW5pdGUEAMEBASxNdWx0aUFzc2V0cwAAABBXaWxkBAAdAgE4V2lsZE11bHRpQXNzZXQAAQAAHQIQDHhjbQh2MyhtdWx0aWFzc2V0OFdpbGRNdWx0aUFzc2V0AAEQDEFsbAAAABRBbGxPZggBCGlkzQEBHEFzc2V0SWQAAQxmdW4hAgE8V2lsZEZ1bmdpYmlsaXR5AAEAKEFsbENvdW50ZWQEAGABDHUzMgACADBBbGxPZkNvdW50ZWQMAQhpZM0BARxBc3NldElkAAEMZnVuIQIBPFdpbGRGdW5naWJpbGl0eQABFGNvdW50YAEMdTMyAAMAACECEAx4Y20IdjMobXVsdGlhc3NldDxXaWxkRnVuZ2liaWxpdHkAAQggRnVuZ2libGUAAAAsTm9uRnVuZ2libGUAAQAAJQIMDHhjbQh2MyxXZWlnaHRMaW1pdAABCCRVbmxpbWl0ZWQAAAAcTGltaXRlZAQAKQEBGFdlaWdodAABAAApAgwsc3RhZ2luZ194Y20IdjQMWGNtBBBDYWxsAAAEAC0CAVhWZWM8SW5zdHJ1Y3Rpb248Q2FsbD4+AAAtAgAAAjECADECDCxzdGFnaW5nX3hjbQh2NCxJbnN0cnVjdGlvbgQQQ2FsbAABwDRXaXRoZHJhd0Fzc2V0BAA1AgEYQXNzZXRzAAAAVFJlc2VydmVBc3NldERlcG9zaXRlZAQANQIBGEFzc2V0cwABAFhSZWNlaXZlVGVsZXBvcnRlZEFzc2V0BAA1AgEYQXNzZXRzAAIANFF1ZXJ5UmVzcG9uc2UQASBxdWVyeV9pZLQBHFF1ZXJ5SWQAASByZXNwb25zZU0CASBSZXNwb25zZQABKG1heF93ZWlnaHQpAQEYV2VpZ2h0AAEccXVlcmllcmECAUBPcHRpb248TG9jYXRpb24+AAMANFRyYW5zZmVyQXNzZXQIARhhc3NldHM1AgEYQXNzZXRzAAEsYmVuZWZpY2lhcnl9AQEgTG9jYXRpb24ABABQVHJhbnNmZXJSZXNlcnZlQXNzZXQMARhhc3NldHM1AgEYQXNzZXRzAAEQZGVzdH0BASBMb2NhdGlvbgABDHhjbSkCARxYY208KCk+AAUAIFRyYW5zYWN0DAEsb3JpZ2luX2tpbmQNAgEoT3JpZ2luS2luZAABWHJlcXVpcmVfd2VpZ2h0X2F0X21vc3QpAQEYV2VpZ2h0AAEQY2FsbBECAUxEb3VibGVFbmNvZGVkPENhbGw+AAYAZEhybXBOZXdDaGFubmVsT3BlblJlcXVlc3QMARhzZW5kZXJgAQx1MzIAAUBtYXhfbWVzc2FnZV9zaXplYAEMdTMyAAEwbWF4X2NhcGFjaXR5YAEMdTMyAAcATEhybXBDaGFubmVsQWNjZXB0ZWQEASRyZWNpcGllbnRgAQx1MzIACABISHJtcENoYW5uZWxDbG9zaW5nDAEkaW5pdGlhdG9yYAEMdTMyAAEYc2VuZGVyYAEMdTMyAAEkcmVjaXBpZW50YAEMdTMyAAkALENsZWFyT3JpZ2luAAoANERlc2NlbmRPcmlnaW4EAIEBAUBJbnRlcmlvckxvY2F0aW9uAAsALFJlcG9ydEVycm9yBABlAgFEUXVlcnlSZXNwb25zZUluZm8ADAAwRGVwb3NpdEFzc2V0CAEYYXNzZXRzaQIBLEFzc2V0RmlsdGVyAAEsYmVuZWZpY2lhcnl9AQEgTG9jYXRpb24ADQBMRGVwb3NpdFJlc2VydmVBc3NldAwBGGFzc2V0c2kCASxBc3NldEZpbHRlcgABEGRlc3R9AQEgTG9jYXRpb24AAQx4Y20pAgEcWGNtPCgpPgAOADRFeGNoYW5nZUFzc2V0DAEQZ2l2ZWkCASxBc3NldEZpbHRlcgABEHdhbnQ1AgEYQXNzZXRzAAEcbWF4aW1hbDEBARBib29sAA8AXEluaXRpYXRlUmVzZXJ2ZVdpdGhkcmF3DAEYYXNzZXRzaQIBLEFzc2V0RmlsdGVyAAEccmVzZXJ2ZX0BASBMb2NhdGlvbgABDHhjbSkCARxYY208KCk+ABAAQEluaXRpYXRlVGVsZXBvcnQMARhhc3NldHNpAgEsQXNzZXRGaWx0ZXIAARBkZXN0fQEBIExvY2F0aW9uAAEMeGNtKQIBHFhjbTwoKT4AEQA0UmVwb3J0SG9sZGluZwgBNHJlc3BvbnNlX2luZm9lAgFEUXVlcnlSZXNwb25zZUluZm8AARhhc3NldHNpAgEsQXNzZXRGaWx0ZXIAEgAwQnV5RXhlY3V0aW9uCAEQZmVlcz0CARRBc3NldAABMHdlaWdodF9saW1pdCUCASxXZWlnaHRMaW1pdAATADRSZWZ1bmRTdXJwbHVzABQAPFNldEVycm9ySGFuZGxlcgQAKQIBJFhjbTxDYWxsPgAVACxTZXRBcHBlbmRpeAQAKQIBJFhjbTxDYWxsPgAWAChDbGVhckVycm9yABcAKENsYWltQXNzZXQIARhhc3NldHM1AgEYQXNzZXRzAAEYdGlja2V0fQEBIExvY2F0aW9uABgAEFRyYXAEALQBDHU2NAAZAEBTdWJzY3JpYmVWZXJzaW9uCAEgcXVlcnlfaWS0ARxRdWVyeUlkAAFMbWF4X3Jlc3BvbnNlX3dlaWdodCkBARhXZWlnaHQAGgBIVW5zdWJzY3JpYmVWZXJzaW9uABsAJEJ1cm5Bc3NldAQANQIBGEFzc2V0cwAcACxFeHBlY3RBc3NldAQANQIBGEFzc2V0cwAdADBFeHBlY3RPcmlnaW4EAGECAUBPcHRpb248TG9jYXRpb24+AB4ALEV4cGVjdEVycm9yBADlAQFQT3B0aW9uPCh1MzIsIEVycm9yKT4AHwBQRXhwZWN0VHJhbnNhY3RTdGF0dXMEAAECAThNYXliZUVycm9yQ29kZQAgACxRdWVyeVBhbGxldAgBLG1vZHVsZV9uYW1lGAEcVmVjPHU4PgABNHJlc3BvbnNlX2luZm9lAgFEUXVlcnlSZXNwb25zZUluZm8AIQAwRXhwZWN0UGFsbGV0FAEUaW5kZXhgAQx1MzIAARBuYW1lGAEcVmVjPHU4PgABLG1vZHVsZV9uYW1lGAEcVmVjPHU4PgABLGNyYXRlX21ham9yYAEMdTMyAAE8bWluX2NyYXRlX21pbm9yYAEMdTMyACIAUFJlcG9ydFRyYW5zYWN0U3RhdHVzBABlAgFEUXVlcnlSZXNwb25zZUluZm8AIwBMQ2xlYXJUcmFuc2FjdFN0YXR1cwAkADxVbml2ZXJzYWxPcmlnaW4EAIkBASBKdW5jdGlvbgAlADRFeHBvcnRNZXNzYWdlDAEcbmV0d29ya5EBASROZXR3b3JrSWQAASxkZXN0aW5hdGlvboEBAUBJbnRlcmlvckxvY2F0aW9uAAEMeGNtKQIBHFhjbTwoKT4AJgAkTG9ja0Fzc2V0CAEUYXNzZXQ9AgEUQXNzZXQAASB1bmxvY2tlcn0BASBMb2NhdGlvbgAnACxVbmxvY2tBc3NldAgBFGFzc2V0PQIBFEFzc2V0AAEYdGFyZ2V0fQEBIExvY2F0aW9uACgAOE5vdGVVbmxvY2thYmxlCAEUYXNzZXQ9AgEUQXNzZXQAARRvd25lcn0BASBMb2NhdGlvbgApADRSZXF1ZXN0VW5sb2NrCAEUYXNzZXQ9AgEUQXNzZXQAARhsb2NrZXJ9AQEgTG9jYXRpb24AKgAsU2V0RmVlc01vZGUEATBqaXRfd2l0aGRyYXcxAQEQYm9vbAArACBTZXRUb3BpYwQACAEgW3U4OyAzMl0ALAAoQ2xlYXJUb3BpYwAtACxBbGlhc09yaWdpbgQAfQEBIExvY2F0aW9uAC4APFVucGFpZEV4ZWN1dGlvbggBMHdlaWdodF9saW1pdCUCASxXZWlnaHRMaW1pdAABMGNoZWNrX29yaWdpbmECAUBPcHRpb248TG9jYXRpb24+AC8AADUCECxzdGFnaW5nX3hjbQh2NBRhc3NldBhBc3NldHMAAAQAOQIBKFZlYzxBc3NldD4AADkCAAACPQIAPQIQLHN0YWdpbmdfeGNtCHY0FGFzc2V0FEFzc2V0AAAIAQhpZEECARxBc3NldElkAAEMZnVuRQIBLEZ1bmdpYmlsaXR5AABBAhAsc3RhZ2luZ194Y20IdjQUYXNzZXQcQXNzZXRJZAAABAB9AQEgTG9jYXRpb24AAEUCECxzdGFnaW5nX3hjbQh2NBRhc3NldCxGdW5naWJpbGl0eQABCCBGdW5naWJsZQQA+AEQdTEyOAAAACxOb25GdW5naWJsZQQASQIBNEFzc2V0SW5zdGFuY2UAAQAASQIQLHN0YWdpbmdfeGNtCHY0FGFzc2V0NEFzc2V0SW5zdGFuY2UAARgkVW5kZWZpbmVkAAAAFEluZGV4BAD4ARB1MTI4AAEAGEFycmF5NAQAcAEcW3U4OyA0XQACABhBcnJheTgEANkBARxbdTg7IDhdAAMAHEFycmF5MTYEAN0BASBbdTg7IDE2XQAEABxBcnJheTMyBAAIASBbdTg7IDMyXQAFAABNAgwsc3RhZ2luZ194Y20IdjQgUmVzcG9uc2UAARgQTnVsbAAAABhBc3NldHMEADUCARhBc3NldHMAAQA8RXhlY3V0aW9uUmVzdWx0BADlAQFQT3B0aW9uPCh1MzIsIEVycm9yKT4AAgAcVmVyc2lvbgQAOAE4c3VwZXI6OlZlcnNpb24AAwAsUGFsbGV0c0luZm8EAFECAZhCb3VuZGVkVmVjPFBhbGxldEluZm8sIE1heFBhbGxldHNJbmZvPgAEADhEaXNwYXRjaFJlc3VsdAQAAQIBOE1heWJlRXJyb3JDb2RlAAUAAFECDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBVQIEUwAABABdAgEYVmVjPFQ+AABVAgwsc3RhZ2luZ194Y20IdjQoUGFsbGV0SW5mbwAAGAEUaW5kZXhgAQx1MzIAARBuYW1lWQIBgEJvdW5kZWRWZWM8dTgsIE1heFBhbGxldE5hbWVMZW4+AAEsbW9kdWxlX25hbWVZAgGAQm91bmRlZFZlYzx1OCwgTWF4UGFsbGV0TmFtZUxlbj4AARRtYWpvcmABDHUzMgABFG1pbm9yYAEMdTMyAAEUcGF0Y2hgAQx1MzIAAFkCDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBDARTAAAEABgBGFZlYzxUPgAAXQIAAAJVAgBhAgQYT3B0aW9uBARUAX0BAQgQTm9uZQAAABBTb21lBAB9AQAAAQAAZQIMLHN0YWdpbmdfeGNtCHY0RFF1ZXJ5UmVzcG9uc2VJbmZvAAAMASxkZXN0aW5hdGlvbn0BASBMb2NhdGlvbgABIHF1ZXJ5X2lktAEcUXVlcnlJZAABKG1heF93ZWlnaHQpAQEYV2VpZ2h0AABpAhAsc3RhZ2luZ194Y20IdjQUYXNzZXQsQXNzZXRGaWx0ZXIAAQggRGVmaW5pdGUEADUCARhBc3NldHMAAAAQV2lsZAQAbQIBJFdpbGRBc3NldAABAABtAhAsc3RhZ2luZ194Y20IdjQUYXNzZXQkV2lsZEFzc2V0AAEQDEFsbAAAABRBbGxPZggBCGlkQQIBHEFzc2V0SWQAAQxmdW5xAgE8V2lsZEZ1bmdpYmlsaXR5AAEAKEFsbENvdW50ZWQEAGABDHUzMgACADBBbGxPZkNvdW50ZWQMAQhpZEECARxBc3NldElkAAEMZnVucQIBPFdpbGRGdW5naWJpbGl0eQABFGNvdW50YAEMdTMyAAMAAHECECxzdGFnaW5nX3hjbQh2NBRhc3NldDxXaWxkRnVuZ2liaWxpdHkAAQggRnVuZ2libGUAAAAsTm9uRnVuZ2libGUAAQAAdQIMLHN0YWdpbmdfeGNtCHY1DFhjbQQQQ2FsbAAABAB5AgFYVmVjPEluc3RydWN0aW9uPENhbGw+PgAAeQIAAAJ9AgB9Agwsc3RhZ2luZ194Y20IdjUsSW5zdHJ1Y3Rpb24EEENhbGwAAdA0V2l0aGRyYXdBc3NldAQAgQIBGEFzc2V0cwAAAFRSZXNlcnZlQXNzZXREZXBvc2l0ZWQEAIECARhBc3NldHMAAQBYUmVjZWl2ZVRlbGVwb3J0ZWRBc3NldAQAgQIBGEFzc2V0cwACADRRdWVyeVJlc3BvbnNlEAEgcXVlcnlfaWS0ARxRdWVyeUlkAAEgcmVzcG9uc2WZAgEgUmVzcG9uc2UAAShtYXhfd2VpZ2h0KQEBGFdlaWdodAABHHF1ZXJpZXK5AgFAT3B0aW9uPExvY2F0aW9uPgADADRUcmFuc2ZlckFzc2V0CAEYYXNzZXRzgQIBGEFzc2V0cwABLGJlbmVmaWNpYXJ54AEgTG9jYXRpb24ABABQVHJhbnNmZXJSZXNlcnZlQXNzZXQMARhhc3NldHOBAgEYQXNzZXRzAAEQZGVzdOABIExvY2F0aW9uAAEMeGNtdQIBHFhjbTwoKT4ABQAgVHJhbnNhY3QMASxvcmlnaW5fa2luZA0CAShPcmlnaW5LaW5kAAFMZmFsbGJhY2tfbWF4X3dlaWdodL0CAThPcHRpb248V2VpZ2h0PgABEGNhbGwRAgFMRG91YmxlRW5jb2RlZDxDYWxsPgAGAGRIcm1wTmV3Q2hhbm5lbE9wZW5SZXF1ZXN0DAEYc2VuZGVyYAEMdTMyAAFAbWF4X21lc3NhZ2Vfc2l6ZWABDHUzMgABMG1heF9jYXBhY2l0eWABDHUzMgAHAExIcm1wQ2hhbm5lbEFjY2VwdGVkBAEkcmVjaXBpZW50YAEMdTMyAAgASEhybXBDaGFubmVsQ2xvc2luZwwBJGluaXRpYXRvcmABDHUzMgABGHNlbmRlcmABDHUzMgABJHJlY2lwaWVudGABDHUzMgAJACxDbGVhck9yaWdpbgAKADREZXNjZW5kT3JpZ2luBADkAUBJbnRlcmlvckxvY2F0aW9uAAsALFJlcG9ydEVycm9yBADBAgFEUXVlcnlSZXNwb25zZUluZm8ADAAwRGVwb3NpdEFzc2V0CAEYYXNzZXRzxQIBLEFzc2V0RmlsdGVyAAEsYmVuZWZpY2lhcnngASBMb2NhdGlvbgANAExEZXBvc2l0UmVzZXJ2ZUFzc2V0DAEYYXNzZXRzxQIBLEFzc2V0RmlsdGVyAAEQZGVzdOABIExvY2F0aW9uAAEMeGNtdQIBHFhjbTwoKT4ADgA0RXhjaGFuZ2VBc3NldAwBEGdpdmXFAgEsQXNzZXRGaWx0ZXIAARB3YW50gQIBGEFzc2V0cwABHG1heGltYWwxAQEQYm9vbAAPAFxJbml0aWF0ZVJlc2VydmVXaXRoZHJhdwwBGGFzc2V0c8UCASxBc3NldEZpbHRlcgABHHJlc2VydmXgASBMb2NhdGlvbgABDHhjbXUCARxYY208KCk+ABAAQEluaXRpYXRlVGVsZXBvcnQMARhhc3NldHPFAgEsQXNzZXRGaWx0ZXIAARBkZXN04AEgTG9jYXRpb24AAQx4Y211AgEcWGNtPCgpPgARADRSZXBvcnRIb2xkaW5nCAE0cmVzcG9uc2VfaW5mb8ECAURRdWVyeVJlc3BvbnNlSW5mbwABGGFzc2V0c8UCASxBc3NldEZpbHRlcgASADBCdXlFeGVjdXRpb24IARBmZWVziQIBFEFzc2V0AAEwd2VpZ2h0X2xpbWl0JQIBLFdlaWdodExpbWl0ABMANFJlZnVuZFN1cnBsdXMAFAA8U2V0RXJyb3JIYW5kbGVyBAB1AgEkWGNtPENhbGw+ABUALFNldEFwcGVuZGl4BAB1AgEkWGNtPENhbGw+ABYAKENsZWFyRXJyb3IAFwAoQ2xhaW1Bc3NldAgBGGFzc2V0c4ECARhBc3NldHMAARh0aWNrZXTgASBMb2NhdGlvbgAYABBUcmFwBAC0AQx1NjQAGQBAU3Vic2NyaWJlVmVyc2lvbggBIHF1ZXJ5X2lktAEcUXVlcnlJZAABTG1heF9yZXNwb25zZV93ZWlnaHQpAQEYV2VpZ2h0ABoASFVuc3Vic2NyaWJlVmVyc2lvbgAbACRCdXJuQXNzZXQEAIECARhBc3NldHMAHAAsRXhwZWN0QXNzZXQEAIECARhBc3NldHMAHQAwRXhwZWN0T3JpZ2luBAC5AgFAT3B0aW9uPExvY2F0aW9uPgAeACxFeHBlY3RFcnJvcgQAnQIBUE9wdGlvbjwodTMyLCBFcnJvcik+AB8AUEV4cGVjdFRyYW5zYWN0U3RhdHVzBAABAgE4TWF5YmVFcnJvckNvZGUAIAAsUXVlcnlQYWxsZXQIASxtb2R1bGVfbmFtZRgBHFZlYzx1OD4AATRyZXNwb25zZV9pbmZvwQIBRFF1ZXJ5UmVzcG9uc2VJbmZvACEAMEV4cGVjdFBhbGxldBQBFGluZGV4YAEMdTMyAAEQbmFtZRgBHFZlYzx1OD4AASxtb2R1bGVfbmFtZRgBHFZlYzx1OD4AASxjcmF0ZV9tYWpvcmABDHUzMgABPG1pbl9jcmF0ZV9taW5vcmABDHUzMgAiAFBSZXBvcnRUcmFuc2FjdFN0YXR1cwQAwQIBRFF1ZXJ5UmVzcG9uc2VJbmZvACMATENsZWFyVHJhbnNhY3RTdGF0dXMAJAA8VW5pdmVyc2FsT3JpZ2luBADsASBKdW5jdGlvbgAlADRFeHBvcnRNZXNzYWdlDAEcbmV0d29ya/QBJE5ldHdvcmtJZAABLGRlc3RpbmF0aW9u5AFASW50ZXJpb3JMb2NhdGlvbgABDHhjbXUCARxYY208KCk+ACYAJExvY2tBc3NldAgBFGFzc2V0iQIBFEFzc2V0AAEgdW5sb2NrZXLgASBMb2NhdGlvbgAnACxVbmxvY2tBc3NldAgBFGFzc2V0iQIBFEFzc2V0AAEYdGFyZ2V04AEgTG9jYXRpb24AKAA4Tm90ZVVubG9ja2FibGUIARRhc3NldIkCARRBc3NldAABFG93bmVy4AEgTG9jYXRpb24AKQA0UmVxdWVzdFVubG9jawgBFGFzc2V0iQIBFEFzc2V0AAEYbG9ja2Vy4AEgTG9jYXRpb24AKgAsU2V0RmVlc01vZGUEATBqaXRfd2l0aGRyYXcxAQEQYm9vbAArACBTZXRUb3BpYwQACAEgW3U4OyAzMl0ALAAoQ2xlYXJUb3BpYwAtACxBbGlhc09yaWdpbgQA4AEgTG9jYXRpb24ALgA8VW5wYWlkRXhlY3V0aW9uCAEwd2VpZ2h0X2xpbWl0JQIBLFdlaWdodExpbWl0AAEwY2hlY2tfb3JpZ2luuQIBQE9wdGlvbjxMb2NhdGlvbj4ALwAcUGF5RmVlcwQBFGFzc2V0iQIBFEFzc2V0ADAAQEluaXRpYXRlVHJhbnNmZXIUASxkZXN0aW5hdGlvbuABIExvY2F0aW9uAAEscmVtb3RlX2ZlZXPRAgFsT3B0aW9uPEFzc2V0VHJhbnNmZXJGaWx0ZXI+AAE8cHJlc2VydmVfb3JpZ2luMQEBEGJvb2wAARhhc3NldHPZAgHgQm91bmRlZFZlYzxBc3NldFRyYW5zZmVyRmlsdGVyLCBNYXhBc3NldFRyYW5zZmVyRmlsdGVycz4AAShyZW1vdGVfeGNtdQIBHFhjbTwoKT4AMQBERXhlY3V0ZVdpdGhPcmlnaW4IAURkZXNjZW5kYW50X29yaWdpbuECAWBPcHRpb248SW50ZXJpb3JMb2NhdGlvbj4AAQx4Y211AgEkWGNtPENhbGw+ADIAIFNldEhpbnRzBAEUaGludHPlAgGEQm91bmRlZFZlYzxIaW50LCBIaW50TnVtVmFyaWFudHM+ADMAAIECECxzdGFnaW5nX3hjbQh2NRRhc3NldBhBc3NldHMAAAQAhQIBKFZlYzxBc3NldD4AAIUCAAACiQIAiQIQLHN0YWdpbmdfeGNtCHY1FGFzc2V0FEFzc2V0AAAIAQhpZI0CARxBc3NldElkAAEMZnVukQIBLEZ1bmdpYmlsaXR5AACNAhAsc3RhZ2luZ194Y20IdjUUYXNzZXQcQXNzZXRJZAAABADgASBMb2NhdGlvbgAAkQIQLHN0YWdpbmdfeGNtCHY1FGFzc2V0LEZ1bmdpYmlsaXR5AAEIIEZ1bmdpYmxlBAD4ARB1MTI4AAAALE5vbkZ1bmdpYmxlBACVAgE0QXNzZXRJbnN0YW5jZQABAACVAhAsc3RhZ2luZ194Y20IdjUUYXNzZXQ0QXNzZXRJbnN0YW5jZQABGCRVbmRlZmluZWQAAAAUSW5kZXgEAPgBEHUxMjgAAQAYQXJyYXk0BABwARxbdTg7IDRdAAIAGEFycmF5OAQA2QEBHFt1ODsgOF0AAwAcQXJyYXkxNgQA3QEBIFt1ODsgMTZdAAQAHEFycmF5MzIEAAgBIFt1ODsgMzJdAAUAAJkCDCxzdGFnaW5nX3hjbQh2NSBSZXNwb25zZQABGBBOdWxsAAAAGEFzc2V0cwQAgQIBGEFzc2V0cwABADxFeGVjdXRpb25SZXN1bHQEAJ0CAVBPcHRpb248KHUzMiwgRXJyb3IpPgACABxWZXJzaW9uBAA4AThzdXBlcjo6VmVyc2lvbgADACxQYWxsZXRzSW5mbwQAqQIBmEJvdW5kZWRWZWM8UGFsbGV0SW5mbywgTWF4UGFsbGV0c0luZm8+AAQAOERpc3BhdGNoUmVzdWx0BAABAgE4TWF5YmVFcnJvckNvZGUABQAAnQIEGE9wdGlvbgQEVAGhAgEIEE5vbmUAAAAQU29tZQQAoQIAAAEAAKECAAAECDilAgClAhAMeGNtCHY1GHRyYWl0cxRFcnJvcgABpCBPdmVyZmxvdwAAADRVbmltcGxlbWVudGVkAAEAYFVudHJ1c3RlZFJlc2VydmVMb2NhdGlvbgACAGRVbnRydXN0ZWRUZWxlcG9ydExvY2F0aW9uAAMAMExvY2F0aW9uRnVsbAAEAFRMb2NhdGlvbk5vdEludmVydGlibGUABQAkQmFkT3JpZ2luAAYAPEludmFsaWRMb2NhdGlvbgAHADRBc3NldE5vdEZvdW5kAAgAVEZhaWxlZFRvVHJhbnNhY3RBc3NldAAJADxOb3RXaXRoZHJhd2FibGUACgBITG9jYXRpb25DYW5ub3RIb2xkAAsAVEV4Y2VlZHNNYXhNZXNzYWdlU2l6ZQAMAFhEZXN0aW5hdGlvblVuc3VwcG9ydGVkAA0AJFRyYW5zcG9ydAAOAChVbnJvdXRhYmxlAA8AMFVua25vd25DbGFpbQAQADhGYWlsZWRUb0RlY29kZQARAEBNYXhXZWlnaHRJbnZhbGlkABIAOE5vdEhvbGRpbmdGZWVzABMAMFRvb0V4cGVuc2l2ZQAUABBUcmFwBAAoAQx1NjQAFQBARXhwZWN0YXRpb25GYWxzZQAWADhQYWxsZXROb3RGb3VuZAAXADBOYW1lTWlzbWF0Y2gAGABMVmVyc2lvbkluY29tcGF0aWJsZQAZAFBIb2xkaW5nV291bGRPdmVyZmxvdwAaACxFeHBvcnRFcnJvcgAbADhSZWFuY2hvckZhaWxlZAAcABhOb0RlYWwAHQAoRmVlc05vdE1ldAAeACRMb2NrRXJyb3IAHwAwTm9QZXJtaXNzaW9uACAAKFVuYW5jaG9yZWQAIQA4Tm90RGVwb3NpdGFibGUAIgA0VG9vTWFueUFzc2V0cwAjAExVbmhhbmRsZWRYY21WZXJzaW9uACQASFdlaWdodExpbWl0UmVhY2hlZAQAKQEBGFdlaWdodAAlABxCYXJyaWVyACYATFdlaWdodE5vdENvbXB1dGFibGUAJwBERXhjZWVkc1N0YWNrTGltaXQAKAAAqQIMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAGtAgRTAAAEALUCARhWZWM8VD4AAK0CDCxzdGFnaW5nX3hjbQh2NShQYWxsZXRJbmZvAAAYARRpbmRleGABDHUzMgABEG5hbWWxAgGAQm91bmRlZFZlYzx1OCwgTWF4UGFsbGV0TmFtZUxlbj4AASxtb2R1bGVfbmFtZbECAYBCb3VuZGVkVmVjPHU4LCBNYXhQYWxsZXROYW1lTGVuPgABFG1ham9yYAEMdTMyAAEUbWlub3JgAQx1MzIAARRwYXRjaGABDHUzMgAAsQIMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEMBFMAAAQAGAEYVmVjPFQ+AAC1AgAAAq0CALkCBBhPcHRpb24EBFQB4AEIEE5vbmUAAAAQU29tZQQA4AAAAQAAvQIEGE9wdGlvbgQEVAEpAQEIEE5vbmUAAAAQU29tZQQAKQEAAAEAAMECDCxzdGFnaW5nX3hjbQh2NURRdWVyeVJlc3BvbnNlSW5mbwAADAEsZGVzdGluYXRpb27gASBMb2NhdGlvbgABIHF1ZXJ5X2lktAEcUXVlcnlJZAABKG1heF93ZWlnaHQpAQEYV2VpZ2h0AADFAhAsc3RhZ2luZ194Y20IdjUUYXNzZXQsQXNzZXRGaWx0ZXIAAQggRGVmaW5pdGUEAIECARhBc3NldHMAAAAQV2lsZAQAyQIBJFdpbGRBc3NldAABAADJAhAsc3RhZ2luZ194Y20IdjUUYXNzZXQkV2lsZEFzc2V0AAEQDEFsbAAAABRBbGxPZggBCGlkjQIBHEFzc2V0SWQAAQxmdW7NAgE8V2lsZEZ1bmdpYmlsaXR5AAEAKEFsbENvdW50ZWQEAGABDHUzMgACADBBbGxPZkNvdW50ZWQMAQhpZI0CARxBc3NldElkAAEMZnVuzQIBPFdpbGRGdW5naWJpbGl0eQABFGNvdW50YAEMdTMyAAMAAM0CECxzdGFnaW5nX3hjbQh2NRRhc3NldDxXaWxkRnVuZ2liaWxpdHkAAQggRnVuZ2libGUAAAAsTm9uRnVuZ2libGUAAQAA0QIEGE9wdGlvbgQEVAHVAgEIEE5vbmUAAAAQU29tZQQA1QIAAAEAANUCECxzdGFnaW5nX3hjbQh2NRRhc3NldExBc3NldFRyYW5zZmVyRmlsdGVyAAEMIFRlbGVwb3J0BADFAgEsQXNzZXRGaWx0ZXIAAAA4UmVzZXJ2ZURlcG9zaXQEAMUCASxBc3NldEZpbHRlcgABADxSZXNlcnZlV2l0aGRyYXcEAMUCASxBc3NldEZpbHRlcgACAADZAgxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAdUCBFMAAAQA3QIBGFZlYzxUPgAA3QIAAALVAgDhAgQYT3B0aW9uBARUAeQBCBBOb25lAAAAEFNvbWUEAOQAAAEAAOUCDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQB6QIEUwAABADtAgEYVmVjPFQ+AADpAgwsc3RhZ2luZ194Y20IdjUQSGludAABBDBBc3NldENsYWltZXIEASBsb2NhdGlvbuABIExvY2F0aW9uAAAAAO0CAAAC6QIA8QIIDHhjbTxWZXJzaW9uZWRBc3NldHMAAQwIVjMEAMEBATx2Mzo6TXVsdGlBc3NldHMAAwAIVjQEADUCASh2NDo6QXNzZXRzAAQACFY1BACBAgEodjU6OkFzc2V0cwAFAAD1AggMeGNtMFZlcnNpb25lZFhjbQQsUnVudGltZUNhbGwAAQwIVjMEAPkCAVB2Mzo6WGNtPFJ1bnRpbWVDYWxsPgADAAhWNAQACQMBUHY0OjpYY208UnVudGltZUNhbGw+AAQACFY1BAAVAwFQdjU6OlhjbTxSdW50aW1lQ2FsbD4ABQAA+QIMDHhjbQh2MwxYY20EEENhbGwAAAQA/QIBWFZlYzxJbnN0cnVjdGlvbjxDYWxsPj4AAP0CAAACAQMAAQMMDHhjbQh2MyxJbnN0cnVjdGlvbgQQQ2FsbAABwDRXaXRoZHJhd0Fzc2V0BADBAQEsTXVsdGlBc3NldHMAAABUUmVzZXJ2ZUFzc2V0RGVwb3NpdGVkBADBAQEsTXVsdGlBc3NldHMAAQBYUmVjZWl2ZVRlbGVwb3J0ZWRBc3NldAQAwQEBLE11bHRpQXNzZXRzAAIANFF1ZXJ5UmVzcG9uc2UQASBxdWVyeV9pZLQBHFF1ZXJ5SWQAASByZXNwb25zZeEBASBSZXNwb25zZQABKG1heF93ZWlnaHQpAQEYV2VpZ2h0AAEccXVlcmllcgkCAVRPcHRpb248TXVsdGlMb2NhdGlvbj4AAwA0VHJhbnNmZXJBc3NldAgBGGFzc2V0c8EBASxNdWx0aUFzc2V0cwABLGJlbmVmaWNpYXJ5aQEBNE11bHRpTG9jYXRpb24ABABQVHJhbnNmZXJSZXNlcnZlQXNzZXQMARhhc3NldHPBAQEsTXVsdGlBc3NldHMAARBkZXN0aQEBNE11bHRpTG9jYXRpb24AAQx4Y221AQEcWGNtPCgpPgAFACBUcmFuc2FjdAwBLG9yaWdpbl9raW5kDQIBKE9yaWdpbktpbmQAAVhyZXF1aXJlX3dlaWdodF9hdF9tb3N0KQEBGFdlaWdodAABEGNhbGwFAwFMRG91YmxlRW5jb2RlZDxDYWxsPgAGAGRIcm1wTmV3Q2hhbm5lbE9wZW5SZXF1ZXN0DAEYc2VuZGVyYAEMdTMyAAFAbWF4X21lc3NhZ2Vfc2l6ZWABDHUzMgABMG1heF9jYXBhY2l0eWABDHUzMgAHAExIcm1wQ2hhbm5lbEFjY2VwdGVkBAEkcmVjaXBpZW50YAEMdTMyAAgASEhybXBDaGFubmVsQ2xvc2luZwwBJGluaXRpYXRvcmABDHUzMgABGHNlbmRlcmABDHUzMgABJHJlY2lwaWVudGABDHUzMgAJACxDbGVhck9yaWdpbgAKADREZXNjZW5kT3JpZ2luBABtAQFUSW50ZXJpb3JNdWx0aUxvY2F0aW9uAAsALFJlcG9ydEVycm9yBAAVAgFEUXVlcnlSZXNwb25zZUluZm8ADAAwRGVwb3NpdEFzc2V0CAEYYXNzZXRzGQIBQE11bHRpQXNzZXRGaWx0ZXIAASxiZW5lZmljaWFyeWkBATRNdWx0aUxvY2F0aW9uAA0ATERlcG9zaXRSZXNlcnZlQXNzZXQMARhhc3NldHMZAgFATXVsdGlBc3NldEZpbHRlcgABEGRlc3RpAQE0TXVsdGlMb2NhdGlvbgABDHhjbbUBARxYY208KCk+AA4ANEV4Y2hhbmdlQXNzZXQMARBnaXZlGQIBQE11bHRpQXNzZXRGaWx0ZXIAARB3YW50wQEBLE11bHRpQXNzZXRzAAEcbWF4aW1hbDEBARBib29sAA8AXEluaXRpYXRlUmVzZXJ2ZVdpdGhkcmF3DAEYYXNzZXRzGQIBQE11bHRpQXNzZXRGaWx0ZXIAARxyZXNlcnZlaQEBNE11bHRpTG9jYXRpb24AAQx4Y221AQEcWGNtPCgpPgAQAEBJbml0aWF0ZVRlbGVwb3J0DAEYYXNzZXRzGQIBQE11bHRpQXNzZXRGaWx0ZXIAARBkZXN0aQEBNE11bHRpTG9jYXRpb24AAQx4Y221AQEcWGNtPCgpPgARADRSZXBvcnRIb2xkaW5nCAE0cmVzcG9uc2VfaW5mbxUCAURRdWVyeVJlc3BvbnNlSW5mbwABGGFzc2V0cxkCAUBNdWx0aUFzc2V0RmlsdGVyABIAMEJ1eUV4ZWN1dGlvbggBEGZlZXPJAQEoTXVsdGlBc3NldAABMHdlaWdodF9saW1pdCUCASxXZWlnaHRMaW1pdAATADRSZWZ1bmRTdXJwbHVzABQAPFNldEVycm9ySGFuZGxlcgQA+QIBJFhjbTxDYWxsPgAVACxTZXRBcHBlbmRpeAQA+QIBJFhjbTxDYWxsPgAWAChDbGVhckVycm9yABcAKENsYWltQXNzZXQIARhhc3NldHPBAQEsTXVsdGlBc3NldHMAARh0aWNrZXRpAQE0TXVsdGlMb2NhdGlvbgAYABBUcmFwBAC0AQx1NjQAGQBAU3Vic2NyaWJlVmVyc2lvbggBIHF1ZXJ5X2lktAEcUXVlcnlJZAABTG1heF9yZXNwb25zZV93ZWlnaHQpAQEYV2VpZ2h0ABoASFVuc3Vic2NyaWJlVmVyc2lvbgAbACRCdXJuQXNzZXQEAMEBASxNdWx0aUFzc2V0cwAcACxFeHBlY3RBc3NldAQAwQEBLE11bHRpQXNzZXRzAB0AMEV4cGVjdE9yaWdpbgQACQIBVE9wdGlvbjxNdWx0aUxvY2F0aW9uPgAeACxFeHBlY3RFcnJvcgQA5QEBUE9wdGlvbjwodTMyLCBFcnJvcik+AB8AUEV4cGVjdFRyYW5zYWN0U3RhdHVzBAABAgE4TWF5YmVFcnJvckNvZGUAIAAsUXVlcnlQYWxsZXQIASxtb2R1bGVfbmFtZRgBHFZlYzx1OD4AATRyZXNwb25zZV9pbmZvFQIBRFF1ZXJ5UmVzcG9uc2VJbmZvACEAMEV4cGVjdFBhbGxldBQBFGluZGV4YAEMdTMyAAEQbmFtZRgBHFZlYzx1OD4AASxtb2R1bGVfbmFtZRgBHFZlYzx1OD4AASxjcmF0ZV9tYWpvcmABDHUzMgABPG1pbl9jcmF0ZV9taW5vcmABDHUzMgAiAFBSZXBvcnRUcmFuc2FjdFN0YXR1cwQAFQIBRFF1ZXJ5UmVzcG9uc2VJbmZvACMATENsZWFyVHJhbnNhY3RTdGF0dXMAJAA8VW5pdmVyc2FsT3JpZ2luBABxAQEgSnVuY3Rpb24AJQA0RXhwb3J0TWVzc2FnZQwBHG5ldHdvcmt5AQEkTmV0d29ya0lkAAEsZGVzdGluYXRpb25tAQFUSW50ZXJpb3JNdWx0aUxvY2F0aW9uAAEMeGNttQEBHFhjbTwoKT4AJgAkTG9ja0Fzc2V0CAEUYXNzZXTJAQEoTXVsdGlBc3NldAABIHVubG9ja2VyaQEBNE11bHRpTG9jYXRpb24AJwAsVW5sb2NrQXNzZXQIARRhc3NldMkBAShNdWx0aUFzc2V0AAEYdGFyZ2V0aQEBNE11bHRpTG9jYXRpb24AKAA4Tm90ZVVubG9ja2FibGUIARRhc3NldMkBAShNdWx0aUFzc2V0AAEUb3duZXJpAQE0TXVsdGlMb2NhdGlvbgApADRSZXF1ZXN0VW5sb2NrCAEUYXNzZXTJAQEoTXVsdGlBc3NldAABGGxvY2tlcmkBATRNdWx0aUxvY2F0aW9uACoALFNldEZlZXNNb2RlBAEwaml0X3dpdGhkcmF3MQEBEGJvb2wAKwAgU2V0VG9waWMEAAgBIFt1ODsgMzJdACwAKENsZWFyVG9waWMALQAsQWxpYXNPcmlnaW4EAGkBATRNdWx0aUxvY2F0aW9uAC4APFVucGFpZEV4ZWN1dGlvbggBMHdlaWdodF9saW1pdCUCASxXZWlnaHRMaW1pdAABMGNoZWNrX29yaWdpbgkCAVRPcHRpb248TXVsdGlMb2NhdGlvbj4ALwAABQMMDHhjbThkb3VibGVfZW5jb2RlZDREb3VibGVFbmNvZGVkBARUAAAEARxlbmNvZGVkGAEcVmVjPHU4PgAACQMMLHN0YWdpbmdfeGNtCHY0DFhjbQQQQ2FsbAAABAANAwFYVmVjPEluc3RydWN0aW9uPENhbGw+PgAADQMAAAIRAwARAwwsc3RhZ2luZ194Y20IdjQsSW5zdHJ1Y3Rpb24EEENhbGwAAcA0V2l0aGRyYXdBc3NldAQANQIBGEFzc2V0cwAAAFRSZXNlcnZlQXNzZXREZXBvc2l0ZWQEADUCARhBc3NldHMAAQBYUmVjZWl2ZVRlbGVwb3J0ZWRBc3NldAQANQIBGEFzc2V0cwACADRRdWVyeVJlc3BvbnNlEAEgcXVlcnlfaWS0ARxRdWVyeUlkAAEgcmVzcG9uc2VNAgEgUmVzcG9uc2UAAShtYXhfd2VpZ2h0KQEBGFdlaWdodAABHHF1ZXJpZXJhAgFAT3B0aW9uPExvY2F0aW9uPgADADRUcmFuc2ZlckFzc2V0CAEYYXNzZXRzNQIBGEFzc2V0cwABLGJlbmVmaWNpYXJ5fQEBIExvY2F0aW9uAAQAUFRyYW5zZmVyUmVzZXJ2ZUFzc2V0DAEYYXNzZXRzNQIBGEFzc2V0cwABEGRlc3R9AQEgTG9jYXRpb24AAQx4Y20pAgEcWGNtPCgpPgAFACBUcmFuc2FjdAwBLG9yaWdpbl9raW5kDQIBKE9yaWdpbktpbmQAAVhyZXF1aXJlX3dlaWdodF9hdF9tb3N0KQEBGFdlaWdodAABEGNhbGwFAwFMRG91YmxlRW5jb2RlZDxDYWxsPgAGAGRIcm1wTmV3Q2hhbm5lbE9wZW5SZXF1ZXN0DAEYc2VuZGVyYAEMdTMyAAFAbWF4X21lc3NhZ2Vfc2l6ZWABDHUzMgABMG1heF9jYXBhY2l0eWABDHUzMgAHAExIcm1wQ2hhbm5lbEFjY2VwdGVkBAEkcmVjaXBpZW50YAEMdTMyAAgASEhybXBDaGFubmVsQ2xvc2luZwwBJGluaXRpYXRvcmABDHUzMgABGHNlbmRlcmABDHUzMgABJHJlY2lwaWVudGABDHUzMgAJACxDbGVhck9yaWdpbgAKADREZXNjZW5kT3JpZ2luBACBAQFASW50ZXJpb3JMb2NhdGlvbgALACxSZXBvcnRFcnJvcgQAZQIBRFF1ZXJ5UmVzcG9uc2VJbmZvAAwAMERlcG9zaXRBc3NldAgBGGFzc2V0c2kCASxBc3NldEZpbHRlcgABLGJlbmVmaWNpYXJ5fQEBIExvY2F0aW9uAA0ATERlcG9zaXRSZXNlcnZlQXNzZXQMARhhc3NldHNpAgEsQXNzZXRGaWx0ZXIAARBkZXN0fQEBIExvY2F0aW9uAAEMeGNtKQIBHFhjbTwoKT4ADgA0RXhjaGFuZ2VBc3NldAwBEGdpdmVpAgEsQXNzZXRGaWx0ZXIAARB3YW50NQIBGEFzc2V0cwABHG1heGltYWwxAQEQYm9vbAAPAFxJbml0aWF0ZVJlc2VydmVXaXRoZHJhdwwBGGFzc2V0c2kCASxBc3NldEZpbHRlcgABHHJlc2VydmV9AQEgTG9jYXRpb24AAQx4Y20pAgEcWGNtPCgpPgAQAEBJbml0aWF0ZVRlbGVwb3J0DAEYYXNzZXRzaQIBLEFzc2V0RmlsdGVyAAEQZGVzdH0BASBMb2NhdGlvbgABDHhjbSkCARxYY208KCk+ABEANFJlcG9ydEhvbGRpbmcIATRyZXNwb25zZV9pbmZvZQIBRFF1ZXJ5UmVzcG9uc2VJbmZvAAEYYXNzZXRzaQIBLEFzc2V0RmlsdGVyABIAMEJ1eUV4ZWN1dGlvbggBEGZlZXM9AgEUQXNzZXQAATB3ZWlnaHRfbGltaXQlAgEsV2VpZ2h0TGltaXQAEwA0UmVmdW5kU3VycGx1cwAUADxTZXRFcnJvckhhbmRsZXIEAAkDASRYY208Q2FsbD4AFQAsU2V0QXBwZW5kaXgEAAkDASRYY208Q2FsbD4AFgAoQ2xlYXJFcnJvcgAXAChDbGFpbUFzc2V0CAEYYXNzZXRzNQIBGEFzc2V0cwABGHRpY2tldH0BASBMb2NhdGlvbgAYABBUcmFwBAC0AQx1NjQAGQBAU3Vic2NyaWJlVmVyc2lvbggBIHF1ZXJ5X2lktAEcUXVlcnlJZAABTG1heF9yZXNwb25zZV93ZWlnaHQpAQEYV2VpZ2h0ABoASFVuc3Vic2NyaWJlVmVyc2lvbgAbACRCdXJuQXNzZXQEADUCARhBc3NldHMAHAAsRXhwZWN0QXNzZXQEADUCARhBc3NldHMAHQAwRXhwZWN0T3JpZ2luBABhAgFAT3B0aW9uPExvY2F0aW9uPgAeACxFeHBlY3RFcnJvcgQA5QEBUE9wdGlvbjwodTMyLCBFcnJvcik+AB8AUEV4cGVjdFRyYW5zYWN0U3RhdHVzBAABAgE4TWF5YmVFcnJvckNvZGUAIAAsUXVlcnlQYWxsZXQIASxtb2R1bGVfbmFtZRgBHFZlYzx1OD4AATRyZXNwb25zZV9pbmZvZQIBRFF1ZXJ5UmVzcG9uc2VJbmZvACEAMEV4cGVjdFBhbGxldBQBFGluZGV4YAEMdTMyAAEQbmFtZRgBHFZlYzx1OD4AASxtb2R1bGVfbmFtZRgBHFZlYzx1OD4AASxjcmF0ZV9tYWpvcmABDHUzMgABPG1pbl9jcmF0ZV9taW5vcmABDHUzMgAiAFBSZXBvcnRUcmFuc2FjdFN0YXR1cwQAZQIBRFF1ZXJ5UmVzcG9uc2VJbmZvACMATENsZWFyVHJhbnNhY3RTdGF0dXMAJAA8VW5pdmVyc2FsT3JpZ2luBACJAQEgSnVuY3Rpb24AJQA0RXhwb3J0TWVzc2FnZQwBHG5ldHdvcmuRAQEkTmV0d29ya0lkAAEsZGVzdGluYXRpb26BAQFASW50ZXJpb3JMb2NhdGlvbgABDHhjbSkCARxYY208KCk+ACYAJExvY2tBc3NldAgBFGFzc2V0PQIBFEFzc2V0AAEgdW5sb2NrZXJ9AQEgTG9jYXRpb24AJwAsVW5sb2NrQXNzZXQIARRhc3NldD0CARRBc3NldAABGHRhcmdldH0BASBMb2NhdGlvbgAoADhOb3RlVW5sb2NrYWJsZQgBFGFzc2V0PQIBFEFzc2V0AAEUb3duZXJ9AQEgTG9jYXRpb24AKQA0UmVxdWVzdFVubG9jawgBFGFzc2V0PQIBFEFzc2V0AAEYbG9ja2VyfQEBIExvY2F0aW9uACoALFNldEZlZXNNb2RlBAEwaml0X3dpdGhkcmF3MQEBEGJvb2wAKwAgU2V0VG9waWMEAAgBIFt1ODsgMzJdACwAKENsZWFyVG9waWMALQAsQWxpYXNPcmlnaW4EAH0BASBMb2NhdGlvbgAuADxVbnBhaWRFeGVjdXRpb24IATB3ZWlnaHRfbGltaXQlAgEsV2VpZ2h0TGltaXQAATBjaGVja19vcmlnaW5hAgFAT3B0aW9uPExvY2F0aW9uPgAvAAAVAwwsc3RhZ2luZ194Y20IdjUMWGNtBBBDYWxsAAAEABkDAVhWZWM8SW5zdHJ1Y3Rpb248Q2FsbD4+AAAZAwAAAh0DAB0DDCxzdGFnaW5nX3hjbQh2NSxJbnN0cnVjdGlvbgQQQ2FsbAAB0DRXaXRoZHJhd0Fzc2V0BACBAgEYQXNzZXRzAAAAVFJlc2VydmVBc3NldERlcG9zaXRlZAQAgQIBGEFzc2V0cwABAFhSZWNlaXZlVGVsZXBvcnRlZEFzc2V0BACBAgEYQXNzZXRzAAIANFF1ZXJ5UmVzcG9uc2UQASBxdWVyeV9pZLQBHFF1ZXJ5SWQAASByZXNwb25zZZkCASBSZXNwb25zZQABKG1heF93ZWlnaHQpAQEYV2VpZ2h0AAEccXVlcmllcrkCAUBPcHRpb248TG9jYXRpb24+AAMANFRyYW5zZmVyQXNzZXQIARhhc3NldHOBAgEYQXNzZXRzAAEsYmVuZWZpY2lhcnngASBMb2NhdGlvbgAEAFBUcmFuc2ZlclJlc2VydmVBc3NldAwBGGFzc2V0c4ECARhBc3NldHMAARBkZXN04AEgTG9jYXRpb24AAQx4Y211AgEcWGNtPCgpPgAFACBUcmFuc2FjdAwBLG9yaWdpbl9raW5kDQIBKE9yaWdpbktpbmQAAUxmYWxsYmFja19tYXhfd2VpZ2h0vQIBOE9wdGlvbjxXZWlnaHQ+AAEQY2FsbAUDAUxEb3VibGVFbmNvZGVkPENhbGw+AAYAZEhybXBOZXdDaGFubmVsT3BlblJlcXVlc3QMARhzZW5kZXJgAQx1MzIAAUBtYXhfbWVzc2FnZV9zaXplYAEMdTMyAAEwbWF4X2NhcGFjaXR5YAEMdTMyAAcATEhybXBDaGFubmVsQWNjZXB0ZWQEASRyZWNpcGllbnRgAQx1MzIACABISHJtcENoYW5uZWxDbG9zaW5nDAEkaW5pdGlhdG9yYAEMdTMyAAEYc2VuZGVyYAEMdTMyAAEkcmVjaXBpZW50YAEMdTMyAAkALENsZWFyT3JpZ2luAAoANERlc2NlbmRPcmlnaW4EAOQBQEludGVyaW9yTG9jYXRpb24ACwAsUmVwb3J0RXJyb3IEAMECAURRdWVyeVJlc3BvbnNlSW5mbwAMADBEZXBvc2l0QXNzZXQIARhhc3NldHPFAgEsQXNzZXRGaWx0ZXIAASxiZW5lZmljaWFyeeABIExvY2F0aW9uAA0ATERlcG9zaXRSZXNlcnZlQXNzZXQMARhhc3NldHPFAgEsQXNzZXRGaWx0ZXIAARBkZXN04AEgTG9jYXRpb24AAQx4Y211AgEcWGNtPCgpPgAOADRFeGNoYW5nZUFzc2V0DAEQZ2l2ZcUCASxBc3NldEZpbHRlcgABEHdhbnSBAgEYQXNzZXRzAAEcbWF4aW1hbDEBARBib29sAA8AXEluaXRpYXRlUmVzZXJ2ZVdpdGhkcmF3DAEYYXNzZXRzxQIBLEFzc2V0RmlsdGVyAAEccmVzZXJ2ZeABIExvY2F0aW9uAAEMeGNtdQIBHFhjbTwoKT4AEABASW5pdGlhdGVUZWxlcG9ydAwBGGFzc2V0c8UCASxBc3NldEZpbHRlcgABEGRlc3TgASBMb2NhdGlvbgABDHhjbXUCARxYY208KCk+ABEANFJlcG9ydEhvbGRpbmcIATRyZXNwb25zZV9pbmZvwQIBRFF1ZXJ5UmVzcG9uc2VJbmZvAAEYYXNzZXRzxQIBLEFzc2V0RmlsdGVyABIAMEJ1eUV4ZWN1dGlvbggBEGZlZXOJAgEUQXNzZXQAATB3ZWlnaHRfbGltaXQlAgEsV2VpZ2h0TGltaXQAEwA0UmVmdW5kU3VycGx1cwAUADxTZXRFcnJvckhhbmRsZXIEABUDASRYY208Q2FsbD4AFQAsU2V0QXBwZW5kaXgEABUDASRYY208Q2FsbD4AFgAoQ2xlYXJFcnJvcgAXAChDbGFpbUFzc2V0CAEYYXNzZXRzgQIBGEFzc2V0cwABGHRpY2tldOABIExvY2F0aW9uABgAEFRyYXAEALQBDHU2NAAZAEBTdWJzY3JpYmVWZXJzaW9uCAEgcXVlcnlfaWS0ARxRdWVyeUlkAAFMbWF4X3Jlc3BvbnNlX3dlaWdodCkBARhXZWlnaHQAGgBIVW5zdWJzY3JpYmVWZXJzaW9uABsAJEJ1cm5Bc3NldAQAgQIBGEFzc2V0cwAcACxFeHBlY3RBc3NldAQAgQIBGEFzc2V0cwAdADBFeHBlY3RPcmlnaW4EALkCAUBPcHRpb248TG9jYXRpb24+AB4ALEV4cGVjdEVycm9yBACdAgFQT3B0aW9uPCh1MzIsIEVycm9yKT4AHwBQRXhwZWN0VHJhbnNhY3RTdGF0dXMEAAECAThNYXliZUVycm9yQ29kZQAgACxRdWVyeVBhbGxldAgBLG1vZHVsZV9uYW1lGAEcVmVjPHU4PgABNHJlc3BvbnNlX2luZm/BAgFEUXVlcnlSZXNwb25zZUluZm8AIQAwRXhwZWN0UGFsbGV0FAEUaW5kZXhgAQx1MzIAARBuYW1lGAEcVmVjPHU4PgABLG1vZHVsZV9uYW1lGAEcVmVjPHU4PgABLGNyYXRlX21ham9yYAEMdTMyAAE8bWluX2NyYXRlX21pbm9yYAEMdTMyACIAUFJlcG9ydFRyYW5zYWN0U3RhdHVzBADBAgFEUXVlcnlSZXNwb25zZUluZm8AIwBMQ2xlYXJUcmFuc2FjdFN0YXR1cwAkADxVbml2ZXJzYWxPcmlnaW4EAOwBIEp1bmN0aW9uACUANEV4cG9ydE1lc3NhZ2UMARxuZXR3b3Jr9AEkTmV0d29ya0lkAAEsZGVzdGluYXRpb27kAUBJbnRlcmlvckxvY2F0aW9uAAEMeGNtdQIBHFhjbTwoKT4AJgAkTG9ja0Fzc2V0CAEUYXNzZXSJAgEUQXNzZXQAASB1bmxvY2tlcuABIExvY2F0aW9uACcALFVubG9ja0Fzc2V0CAEUYXNzZXSJAgEUQXNzZXQAARh0YXJnZXTgASBMb2NhdGlvbgAoADhOb3RlVW5sb2NrYWJsZQgBFGFzc2V0iQIBFEFzc2V0AAEUb3duZXLgASBMb2NhdGlvbgApADRSZXF1ZXN0VW5sb2NrCAEUYXNzZXSJAgEUQXNzZXQAARhsb2NrZXLgASBMb2NhdGlvbgAqACxTZXRGZWVzTW9kZQQBMGppdF93aXRoZHJhdzEBARBib29sACsAIFNldFRvcGljBAAIASBbdTg7IDMyXQAsAChDbGVhclRvcGljAC0ALEFsaWFzT3JpZ2luBADgASBMb2NhdGlvbgAuADxVbnBhaWRFeGVjdXRpb24IATB3ZWlnaHRfbGltaXQlAgEsV2VpZ2h0TGltaXQAATBjaGVja19vcmlnaW65AgFAT3B0aW9uPExvY2F0aW9uPgAvABxQYXlGZWVzBAEUYXNzZXSJAgEUQXNzZXQAMABASW5pdGlhdGVUcmFuc2ZlchQBLGRlc3RpbmF0aW9u4AEgTG9jYXRpb24AASxyZW1vdGVfZmVlc9ECAWxPcHRpb248QXNzZXRUcmFuc2ZlckZpbHRlcj4AATxwcmVzZXJ2ZV9vcmlnaW4xAQEQYm9vbAABGGFzc2V0c9kCAeBCb3VuZGVkVmVjPEFzc2V0VHJhbnNmZXJGaWx0ZXIsIE1heEFzc2V0VHJhbnNmZXJGaWx0ZXJzPgABKHJlbW90ZV94Y211AgEcWGNtPCgpPgAxAERFeGVjdXRlV2l0aE9yaWdpbggBRGRlc2NlbmRhbnRfb3JpZ2lu4QIBYE9wdGlvbjxJbnRlcmlvckxvY2F0aW9uPgABDHhjbRUDASRYY208Q2FsbD4AMgAgU2V0SGludHMEARRoaW50c+UCAYRCb3VuZGVkVmVjPEhpbnQsIEhpbnROdW1WYXJpYW50cz4AMwAAIQMEGE9wdGlvbgQEVAE4AQgQTm9uZQAAABBTb21lBAA4AAABAAAlAxBQc3RhZ2luZ194Y21fZXhlY3V0b3IYdHJhaXRzOGFzc2V0X3RyYW5zZmVyMFRyYW5zZmVyVHlwZQABECBUZWxlcG9ydAAAADBMb2NhbFJlc2VydmUAAQBIRGVzdGluYXRpb25SZXNlcnZlAAIANFJlbW90ZVJlc2VydmUEAGUBAURWZXJzaW9uZWRMb2NhdGlvbgADAAApAwgMeGNtQFZlcnNpb25lZEFzc2V0SWQAAQwIVjMEAM0BASx2Mzo6QXNzZXRJZAADAAhWNAQAQQIBLHY0OjpBc3NldElkAAQACFY1BACNAgEsdjU6OkFzc2V0SWQABQAALQMEGE9wdGlvbgQEVAEoAQgQTm9uZQAAABBTb21lBAAoAAABAAAxAwxIY3VtdWx1c19wYWxsZXRfeGNtGHBhbGxldBBDYWxsBARUAAEABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLjUDDFBwYWxsZXRfbWVzc2FnZV9xdWV1ZRhwYWxsZXQQQ2FsbAQEVAABCCRyZWFwX3BhZ2UIAThtZXNzYWdlX29yaWdpbjkDAUhNZXNzYWdlT3JpZ2luT2Y8VD4AAShwYWdlX2luZGV4OAEkUGFnZUluZGV4AAAEPQFSZW1vdmUgYSBwYWdlIHdoaWNoIGhhcyBubyBtb3JlIG1lc3NhZ2VzIHJlbWFpbmluZyB0byBiZSBwcm9jZXNzZWQgb3IgaXMgc3RhbGUuSGV4ZWN1dGVfb3ZlcndlaWdodBABOG1lc3NhZ2Vfb3JpZ2luOQMBSE1lc3NhZ2VPcmlnaW5PZjxUPgABEHBhZ2U4ASRQYWdlSW5kZXgAARRpbmRleDgBHFQ6OlNpemUAATB3ZWlnaHRfbGltaXQpAQEYV2VpZ2h0AAE0eEV4ZWN1dGUgYW4gb3ZlcndlaWdodCBtZXNzYWdlLgBNAVRlbXBvcmFyeSBwcm9jZXNzaW5nIGVycm9ycyB3aWxsIGJlIHByb3BhZ2F0ZWQgd2hlcmVhcyBwZXJtYW5lbnQgZXJyb3JzIGFyZSB0cmVhdGVkVGFzIHN1Y2Nlc3MgY29uZGl0aW9uLgB0LSBgb3JpZ2luYDogTXVzdCBiZSBgU2lnbmVkYC41AS0gYG1lc3NhZ2Vfb3JpZ2luYDogVGhlIG9yaWdpbiBmcm9tIHdoaWNoIHRoZSBtZXNzYWdlIHRvIGJlIGV4ZWN1dGVkIGFycml2ZWQuPQEtIGBwYWdlYDogVGhlIHBhZ2UgaW4gdGhlIHF1ZXVlIGluIHdoaWNoIHRoZSBtZXNzYWdlIHRvIGJlIGV4ZWN1dGVkIGlzIHNpdHRpbmcuCQEtIGBpbmRleGA6IFRoZSBpbmRleCBpbnRvIHRoZSBxdWV1ZSBvZiB0aGUgbWVzc2FnZSB0byBiZSBleGVjdXRlZC5ZAS0gYHdlaWdodF9saW1pdGA6IFRoZSBtYXhpbXVtIGFtb3VudCBvZiB3ZWlnaHQgYWxsb3dlZCB0byBiZSBjb25zdW1lZCBpbiB0aGUgZXhlY3V0aW9uRCAgb2YgdGhlIG1lc3NhZ2UuAPRCZW5jaG1hcmsgY29tcGxleGl0eSBjb25zaWRlcmF0aW9uczogTyhpbmRleCArIHdlaWdodF9saW1pdCkuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLjkDCFxjdW11bHVzX3ByaW1pdGl2ZXNfY29yZVhBZ2dyZWdhdGVNZXNzYWdlT3JpZ2luAAEMEEhlcmUAAAAYUGFyZW50AAEAHFNpYmxpbmcEAJwBGFBhcmFJZAACAAA9AwwscGFsbGV0X3N1ZG8YcGFsbGV0EENhbGwEBFQAARQQc3VkbwQBEGNhbGwgAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAAENQFBdXRoZW50aWNhdGVzIHRoZSBzdWRvIGtleSBhbmQgZGlzcGF0Y2hlcyBhIGZ1bmN0aW9uIGNhbGwgd2l0aCBgUm9vdGAgb3JpZ2luLlRzdWRvX3VuY2hlY2tlZF93ZWlnaHQIARBjYWxsIAF8Qm94PDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgABGHdlaWdodCkBARhXZWlnaHQAARQ1AUF1dGhlbnRpY2F0ZXMgdGhlIHN1ZG8ga2V5IGFuZCBkaXNwYXRjaGVzIGEgZnVuY3Rpb24gY2FsbCB3aXRoIGBSb290YCBvcmlnaW4uLQFUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IGNoZWNrIHRoZSB3ZWlnaHQgb2YgdGhlIGNhbGwsIGFuZCBpbnN0ZWFkIGFsbG93cyB0aGWwU3VkbyB1c2VyIHRvIHNwZWNpZnkgdGhlIHdlaWdodCBvZiB0aGUgY2FsbC4AzFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLhxzZXRfa2V5BAEMbmV3AAFQQWNjb3VudElkTG9va3VwT2Y8VD4AAghdAUF1dGhlbnRpY2F0ZXMgdGhlIGN1cnJlbnQgc3VkbyBrZXkgYW5kIHNldHMgdGhlIGdpdmVuIEFjY291bnRJZCAoYG5ld2ApIGFzIHRoZSBuZXcgc3VkbxBrZXkuHHN1ZG9fYXMIAQx3aG8AAVBBY2NvdW50SWRMb29rdXBPZjxUPgABEGNhbGwgAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAMQTQFBdXRoZW50aWNhdGVzIHRoZSBzdWRvIGtleSBhbmQgZGlzcGF0Y2hlcyBhIGZ1bmN0aW9uIGNhbGwgd2l0aCBgU2lnbmVkYCBvcmlnaW4gZnJvbUBhIGdpdmVuIGFjY291bnQuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4ocmVtb3ZlX2tleQAEDIRQZXJtYW5lbnRseSByZW1vdmVzIHRoZSBzdWRvIGtleS4AbCoqVGhpcyBjYW5ub3QgYmUgdW4tZG9uZS4qKgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy5BAwgoc3BfcnVudGltZThNdWx0aVNpZ25hdHVyZQABEBxFZDI1NTE5BABFAwFIZWQyNTUxOTo6U2lnbmF0dXJlAAAAHFNyMjU1MTkEAEUDAUhzcjI1NTE5OjpTaWduYXR1cmUAAQAURWNkc2EEAEkDAUBlY2RzYTo6U2lnbmF0dXJlAAIADEV0aAQASQMBWGVjZHNhOjpLZWNjYWtTaWduYXR1cmUAAwAARQMAAANAAAAADABJAwAAA0EAAAAMAE0DEDBmcmFtZV9zeXN0ZW0oZXh0ZW5zaW9uczhhdXRob3JpemVfY2FsbDRBdXRob3JpemVDYWxsBARUAAAAAFEDEDBmcmFtZV9zeXN0ZW0oZXh0ZW5zaW9uc1RjaGVja19ub25femVyb19zZW5kZXJIQ2hlY2tOb25aZXJvU2VuZGVyBARUAAAAAFUDEDBmcmFtZV9zeXN0ZW0oZXh0ZW5zaW9uc0hjaGVja19zcGVjX3ZlcnNpb25AQ2hlY2tTcGVjVmVyc2lvbgQEVAAAAABZAxAwZnJhbWVfc3lzdGVtKGV4dGVuc2lvbnNAY2hlY2tfdHhfdmVyc2lvbjhDaGVja1R4VmVyc2lvbgQEVAAAAABdAxAwZnJhbWVfc3lzdGVtKGV4dGVuc2lvbnM0Y2hlY2tfZ2VuZXNpczBDaGVja0dlbmVzaXMEBFQAAAAAYQMQMGZyYW1lX3N5c3RlbShleHRlbnNpb25zPGNoZWNrX21vcnRhbGl0eThDaGVja01vcnRhbGl0eQQEVAAABABlAwEMRXJhAABlAxAoc3BfcnVudGltZRxnZW5lcmljDGVyYQxFcmEAAQEEIEltbW9ydGFsAAAAHE1vcnRhbDEEAAwAAAEAHE1vcnRhbDIEAAwAAAIAHE1vcnRhbDMEAAwAAAMAHE1vcnRhbDQEAAwAAAQAHE1vcnRhbDUEAAwAAAUAHE1vcnRhbDYEAAwAAAYAHE1vcnRhbDcEAAwAAAcAHE1vcnRhbDgEAAwAAAgAHE1vcnRhbDkEAAwAAAkAIE1vcnRhbDEwBAAMAAAKACBNb3J0YWwxMQQADAAACwAgTW9ydGFsMTIEAAwAAAwAIE1vcnRhbDEzBAAMAAANACBNb3J0YWwxNAQADAAADgAgTW9ydGFsMTUEAAwAAA8AIE1vcnRhbDE2BAAMAAAQACBNb3J0YWwxNwQADAAAEQAgTW9ydGFsMTgEAAwAABIAIE1vcnRhbDE5BAAMAAATACBNb3J0YWwyMAQADAAAFAAgTW9ydGFsMjEEAAwAABUAIE1vcnRhbDIyBAAMAAAWACBNb3J0YWwyMwQADAAAFwAgTW9ydGFsMjQEAAwAABgAIE1vcnRhbDI1BAAMAAAZACBNb3J0YWwyNgQADAAAGgAgTW9ydGFsMjcEAAwAABsAIE1vcnRhbDI4BAAMAAAcACBNb3J0YWwyOQQADAAAHQAgTW9ydGFsMzAEAAwAAB4AIE1vcnRhbDMxBAAMAAAfACBNb3J0YWwzMgQADAAAIAAgTW9ydGFsMzMEAAwAACEAIE1vcnRhbDM0BAAMAAAiACBNb3J0YWwzNQQADAAAIwAgTW9ydGFsMzYEAAwAACQAIE1vcnRhbDM3BAAMAAAlACBNb3J0YWwzOAQADAAAJgAgTW9ydGFsMzkEAAwAACcAIE1vcnRhbDQwBAAMAAAoACBNb3J0YWw0MQQADAAAKQAgTW9ydGFsNDIEAAwAACoAIE1vcnRhbDQzBAAMAAArACBNb3J0YWw0NAQADAAALAAgTW9ydGFsNDUEAAwAAC0AIE1vcnRhbDQ2BAAMAAAuACBNb3J0YWw0NwQADAAALwAgTW9ydGFsNDgEAAwAADAAIE1vcnRhbDQ5BAAMAAAxACBNb3J0YWw1MAQADAAAMgAgTW9ydGFsNTEEAAwAADMAIE1vcnRhbDUyBAAMAAA0ACBNb3J0YWw1MwQADAAANQAgTW9ydGFsNTQEAAwAADYAIE1vcnRhbDU1BAAMAAA3ACBNb3J0YWw1NgQADAAAOAAgTW9ydGFsNTcEAAwAADkAIE1vcnRhbDU4BAAMAAA6ACBNb3J0YWw1OQQADAAAOwAgTW9ydGFsNjAEAAwAADwAIE1vcnRhbDYxBAAMAAA9ACBNb3J0YWw2MgQADAAAPgAgTW9ydGFsNjMEAAwAAD8AIE1vcnRhbDY0BAAMAABAACBNb3J0YWw2NQQADAAAQQAgTW9ydGFsNjYEAAwAAEIAIE1vcnRhbDY3BAAMAABDACBNb3J0YWw2OAQADAAARAAgTW9ydGFsNjkEAAwAAEUAIE1vcnRhbDcwBAAMAABGACBNb3J0YWw3MQQADAAARwAgTW9ydGFsNzIEAAwAAEgAIE1vcnRhbDczBAAMAABJACBNb3J0YWw3NAQADAAASgAgTW9ydGFsNzUEAAwAAEsAIE1vcnRhbDc2BAAMAABMACBNb3J0YWw3NwQADAAATQAgTW9ydGFsNzgEAAwAAE4AIE1vcnRhbDc5BAAMAABPACBNb3J0YWw4MAQADAAAUAAgTW9ydGFsODEEAAwAAFEAIE1vcnRhbDgyBAAMAABSACBNb3J0YWw4MwQADAAAUwAgTW9ydGFsODQEAAwAAFQAIE1vcnRhbDg1BAAMAABVACBNb3J0YWw4NgQADAAAVgAgTW9ydGFsODcEAAwAAFcAIE1vcnRhbDg4BAAMAABYACBNb3J0YWw4OQQADAAAWQAgTW9ydGFsOTAEAAwAAFoAIE1vcnRhbDkxBAAMAABbACBNb3J0YWw5MgQADAAAXAAgTW9ydGFsOTMEAAwAAF0AIE1vcnRhbDk0BAAMAABeACBNb3J0YWw5NQQADAAAXwAgTW9ydGFsOTYEAAwAAGAAIE1vcnRhbDk3BAAMAABhACBNb3J0YWw5OAQADAAAYgAgTW9ydGFsOTkEAAwAAGMAJE1vcnRhbDEwMAQADAAAZAAkTW9ydGFsMTAxBAAMAABlACRNb3J0YWwxMDIEAAwAAGYAJE1vcnRhbDEwMwQADAAAZwAkTW9ydGFsMTA0BAAMAABoACRNb3J0YWwxMDUEAAwAAGkAJE1vcnRhbDEwNgQADAAAagAkTW9ydGFsMTA3BAAMAABrACRNb3J0YWwxMDgEAAwAAGwAJE1vcnRhbDEwOQQADAAAbQAkTW9ydGFsMTEwBAAMAABuACRNb3J0YWwxMTEEAAwAAG8AJE1vcnRhbDExMgQADAAAcAAkTW9ydGFsMTEzBAAMAABxACRNb3J0YWwxMTQEAAwAAHIAJE1vcnRhbDExNQQADAAAcwAkTW9ydGFsMTE2BAAMAAB0ACRNb3J0YWwxMTcEAAwAAHUAJE1vcnRhbDExOAQADAAAdgAkTW9ydGFsMTE5BAAMAAB3ACRNb3J0YWwxMjAEAAwAAHgAJE1vcnRhbDEyMQQADAAAeQAkTW9ydGFsMTIyBAAMAAB6ACRNb3J0YWwxMjMEAAwAAHsAJE1vcnRhbDEyNAQADAAAfAAkTW9ydGFsMTI1BAAMAAB9ACRNb3J0YWwxMjYEAAwAAH4AJE1vcnRhbDEyNwQADAAAfwAkTW9ydGFsMTI4BAAMAACAACRNb3J0YWwxMjkEAAwAAIEAJE1vcnRhbDEzMAQADAAAggAkTW9ydGFsMTMxBAAMAACDACRNb3J0YWwxMzIEAAwAAIQAJE1vcnRhbDEzMwQADAAAhQAkTW9ydGFsMTM0BAAMAACGACRNb3J0YWwxMzUEAAwAAIcAJE1vcnRhbDEzNgQADAAAiAAkTW9ydGFsMTM3BAAMAACJACRNb3J0YWwxMzgEAAwAAIoAJE1vcnRhbDEzOQQADAAAiwAkTW9ydGFsMTQwBAAMAACMACRNb3J0YWwxNDEEAAwAAI0AJE1vcnRhbDE0MgQADAAAjgAkTW9ydGFsMTQzBAAMAACPACRNb3J0YWwxNDQEAAwAAJAAJE1vcnRhbDE0NQQADAAAkQAkTW9ydGFsMTQ2BAAMAACSACRNb3J0YWwxNDcEAAwAAJMAJE1vcnRhbDE0OAQADAAAlAAkTW9ydGFsMTQ5BAAMAACVACRNb3J0YWwxNTAEAAwAAJYAJE1vcnRhbDE1MQQADAAAlwAkTW9ydGFsMTUyBAAMAACYACRNb3J0YWwxNTMEAAwAAJkAJE1vcnRhbDE1NAQADAAAmgAkTW9ydGFsMTU1BAAMAACbACRNb3J0YWwxNTYEAAwAAJwAJE1vcnRhbDE1NwQADAAAnQAkTW9ydGFsMTU4BAAMAACeACRNb3J0YWwxNTkEAAwAAJ8AJE1vcnRhbDE2MAQADAAAoAAkTW9ydGFsMTYxBAAMAAChACRNb3J0YWwxNjIEAAwAAKIAJE1vcnRhbDE2MwQADAAAowAkTW9ydGFsMTY0BAAMAACkACRNb3J0YWwxNjUEAAwAAKUAJE1vcnRhbDE2NgQADAAApgAkTW9ydGFsMTY3BAAMAACnACRNb3J0YWwxNjgEAAwAAKgAJE1vcnRhbDE2OQQADAAAqQAkTW9ydGFsMTcwBAAMAACqACRNb3J0YWwxNzEEAAwAAKsAJE1vcnRhbDE3MgQADAAArAAkTW9ydGFsMTczBAAMAACtACRNb3J0YWwxNzQEAAwAAK4AJE1vcnRhbDE3NQQADAAArwAkTW9ydGFsMTc2BAAMAACwACRNb3J0YWwxNzcEAAwAALEAJE1vcnRhbDE3OAQADAAAsgAkTW9ydGFsMTc5BAAMAACzACRNb3J0YWwxODAEAAwAALQAJE1vcnRhbDE4MQQADAAAtQAkTW9ydGFsMTgyBAAMAAC2ACRNb3J0YWwxODMEAAwAALcAJE1vcnRhbDE4NAQADAAAuAAkTW9ydGFsMTg1BAAMAAC5ACRNb3J0YWwxODYEAAwAALoAJE1vcnRhbDE4NwQADAAAuwAkTW9ydGFsMTg4BAAMAAC8ACRNb3J0YWwxODkEAAwAAL0AJE1vcnRhbDE5MAQADAAAvgAkTW9ydGFsMTkxBAAMAAC/ACRNb3J0YWwxOTIEAAwAAMAAJE1vcnRhbDE5MwQADAAAwQAkTW9ydGFsMTk0BAAMAADCACRNb3J0YWwxOTUEAAwAAMMAJE1vcnRhbDE5NgQADAAAxAAkTW9ydGFsMTk3BAAMAADFACRNb3J0YWwxOTgEAAwAAMYAJE1vcnRhbDE5OQQADAAAxwAkTW9ydGFsMjAwBAAMAADIACRNb3J0YWwyMDEEAAwAAMkAJE1vcnRhbDIwMgQADAAAygAkTW9ydGFsMjAzBAAMAADLACRNb3J0YWwyMDQEAAwAAMwAJE1vcnRhbDIwNQQADAAAzQAkTW9ydGFsMjA2BAAMAADOACRNb3J0YWwyMDcEAAwAAM8AJE1vcnRhbDIwOAQADAAA0AAkTW9ydGFsMjA5BAAMAADRACRNb3J0YWwyMTAEAAwAANIAJE1vcnRhbDIxMQQADAAA0wAkTW9ydGFsMjEyBAAMAADUACRNb3J0YWwyMTMEAAwAANUAJE1vcnRhbDIxNAQADAAA1gAkTW9ydGFsMjE1BAAMAADXACRNb3J0YWwyMTYEAAwAANgAJE1vcnRhbDIxNwQADAAA2QAkTW9ydGFsMjE4BAAMAADaACRNb3J0YWwyMTkEAAwAANsAJE1vcnRhbDIyMAQADAAA3AAkTW9ydGFsMjIxBAAMAADdACRNb3J0YWwyMjIEAAwAAN4AJE1vcnRhbDIyMwQADAAA3wAkTW9ydGFsMjI0BAAMAADgACRNb3J0YWwyMjUEAAwAAOEAJE1vcnRhbDIyNgQADAAA4gAkTW9ydGFsMjI3BAAMAADjACRNb3J0YWwyMjgEAAwAAOQAJE1vcnRhbDIyOQQADAAA5QAkTW9ydGFsMjMwBAAMAADmACRNb3J0YWwyMzEEAAwAAOcAJE1vcnRhbDIzMgQADAAA6AAkTW9ydGFsMjMzBAAMAADpACRNb3J0YWwyMzQEAAwAAOoAJE1vcnRhbDIzNQQADAAA6wAkTW9ydGFsMjM2BAAMAADsACRNb3J0YWwyMzcEAAwAAO0AJE1vcnRhbDIzOAQADAAA7gAkTW9ydGFsMjM5BAAMAADvACRNb3J0YWwyNDAEAAwAAPAAJE1vcnRhbDI0MQQADAAA8QAkTW9ydGFsMjQyBAAMAADyACRNb3J0YWwyNDMEAAwAAPMAJE1vcnRhbDI0NAQADAAA9AAkTW9ydGFsMjQ1BAAMAAD1ACRNb3J0YWwyNDYEAAwAAPYAJE1vcnRhbDI0NwQADAAA9wAkTW9ydGFsMjQ4BAAMAAD4ACRNb3J0YWwyNDkEAAwAAPkAJE1vcnRhbDI1MAQADAAA+gAkTW9ydGFsMjUxBAAMAAD7ACRNb3J0YWwyNTIEAAwAAPwAJE1vcnRhbDI1MwQADAAA/QAkTW9ydGFsMjU0BAAMAAD+ACRNb3J0YWwyNTUEAAwAAP8AAGkDEDBmcmFtZV9zeXN0ZW0oZXh0ZW5zaW9ucyxjaGVja19ub25jZShDaGVja05vbmNlBARUAAAEAGABIFQ6Ok5vbmNlAABtAxAwZnJhbWVfc3lzdGVtKGV4dGVuc2lvbnMwY2hlY2tfd2VpZ2h0LENoZWNrV2VpZ2h0BARUAAAAAHEDCGhwYWxsZXRfdHJhbnNhY3Rpb25fcGF5bWVudGBDaGFyZ2VUcmFuc2FjdGlvblBheW1lbnQEBFQAAAQA+AEwQmFsYW5jZU9mPFQ+AAB1AwxocGFsbGV0X3RyYW5zYWN0aW9uX3N0b3JhZ2UkZXh0ZW5zaW9uUFZhbGlkYXRlU3RvcmFnZUNhbGxzCARUAARJAAAAAHkDCHRmcmFtZV9tZXRhZGF0YV9oYXNoX2V4dGVuc2lvbkRDaGVja01ldGFkYXRhSGFzaAQEVAAABAEQbW9kZX0DARBNb2RlAAB9Awh0ZnJhbWVfbWV0YWRhdGFfaGFzaF9leHRlbnNpb24QTW9kZQABCCBEaXNhYmxlZAAAABxFbmFibGVkAAEAAIEDBBhPcHRpb24EBFQBCAEIEE5vbmUAAAAQU29tZQQACAAAAQAAhQMIMGZyYW1lX3N5c3RlbSxBY2NvdW50SW5mbwgUTm9uY2UBOCxBY2NvdW50RGF0YQGJAwAUARRub25jZTgBFE5vbmNlAAEkY29uc3VtZXJzOAEgUmVmQ291bnQAASRwcm92aWRlcnM4ASBSZWZDb3VudAABLHN1ZmZpY2llbnRzOAEgUmVmQ291bnQAARBkYXRhiQMBLEFjY291bnREYXRhAACJAww8cGFsbGV0X2JhbGFuY2VzFHR5cGVzLEFjY291bnREYXRhBBxCYWxhbmNlAfwAEAEQZnJlZfwBHEJhbGFuY2UAASByZXNlcnZlZPwBHEJhbGFuY2UAARhmcm96ZW78ARxCYWxhbmNlAAEUZmxhZ3ONAwEoRXh0cmFGbGFncwAAjQMMPHBhbGxldF9iYWxhbmNlcxR0eXBlcyhFeHRyYUZsYWdzAAAEAPwBEHUxMjgAAJEDDDRmcmFtZV9zdXBwb3J0IGRpc3BhdGNoQFBlckRpc3BhdGNoQ2xhc3MEBFQBKQEADAEYbm9ybWFsKQEBBFQAASxvcGVyYXRpb25hbCkBAQRUAAEkbWFuZGF0b3J5KQEBBFQAAJUDAAACmQMAmQMIMGZyYW1lX3N5c3RlbSxFdmVudFJlY29yZAgERQGdAwRUATwADAEUcGhhc2UxBAEUUGhhc2UAARRldmVudJ0DAQRFAAEYdG9waWNzNQQBGFZlYzxUPgAAnQMIYGJ1bGxldGluX3dlc3RlbmRfcnVudGltZTBSdW50aW1lRXZlbnQAATgYU3lzdGVtBAChAwFwZnJhbWVfc3lzdGVtOjpFdmVudDxSdW50aW1lPgAAADxQYXJhY2hhaW5TeXN0ZW0EAMkDAbxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtOjpFdmVudDxSdW50aW1lPgABABxVdGlsaXR5BADNAwFUcGFsbGV0X3V0aWxpdHk6OkV2ZW50AAYAIEJhbGFuY2VzBADVAwF8cGFsbGV0X2JhbGFuY2VzOjpFdmVudDxSdW50aW1lPgAKAEhUcmFuc2FjdGlvblBheW1lbnQEAPEDAahwYWxsZXRfdHJhbnNhY3Rpb25fcGF5bWVudDo6RXZlbnQ8UnVudGltZT4ACwBIU2tpcEZlZWxlc3NQYXltZW50BAD1AwGscGFsbGV0X3NraXBfZmVlbGVzc19wYXltZW50OjpFdmVudDxSdW50aW1lPgAMAEhUcmFuc2FjdGlvblN0b3JhZ2UEAPkDAahwYWxsZXRfdHJhbnNhY3Rpb25fc3RvcmFnZTo6RXZlbnQ8UnVudGltZT4AKABEQ29sbGF0b3JTZWxlY3Rpb24EAAEEAaRwYWxsZXRfY29sbGF0b3Jfc2VsZWN0aW9uOjpFdmVudDxSdW50aW1lPgAVABxTZXNzaW9uBAAFBAF4cGFsbGV0X3Nlc3Npb246OkV2ZW50PFJ1bnRpbWU+ABYAJFhjbXBRdWV1ZQQACQQBpGN1bXVsdXNfcGFsbGV0X3hjbXBfcXVldWU6OkV2ZW50PFJ1bnRpbWU+AB4ALFBvbGthZG90WGNtBAANBAFocGFsbGV0X3hjbTo6RXZlbnQ8UnVudGltZT4AHwAoQ3VtdWx1c1hjbQQAHQQBiGN1bXVsdXNfcGFsbGV0X3hjbTo6RXZlbnQ8UnVudGltZT4AIAAwTWVzc2FnZVF1ZXVlBAAhBAGQcGFsbGV0X21lc3NhZ2VfcXVldWU6OkV2ZW50PFJ1bnRpbWU+ACIAEFN1ZG8EACkEAWxwYWxsZXRfc3Vkbzo6RXZlbnQ8UnVudGltZT4AZAAAoQMMMGZyYW1lX3N5c3RlbRhwYWxsZXQURXZlbnQEBFQAASBARXh0cmluc2ljU3VjY2VzcwQBNGRpc3BhdGNoX2luZm+lAwFERGlzcGF0Y2hFdmVudEluZm8AAASQQW4gZXh0cmluc2ljIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuPEV4dHJpbnNpY0ZhaWxlZAgBOGRpc3BhdGNoX2Vycm9ysQMBNERpc3BhdGNoRXJyb3IAATRkaXNwYXRjaF9pbmZvpQMBRERpc3BhdGNoRXZlbnRJbmZvAAEEUEFuIGV4dHJpbnNpYyBmYWlsZWQuLENvZGVVcGRhdGVkAAIEUGA6Y29kZWAgd2FzIHVwZGF0ZWQuKE5ld0FjY291bnQEARxhY2NvdW50BAEwVDo6QWNjb3VudElkAAMEaEEgbmV3IGFjY291bnQgd2FzIGNyZWF0ZWQuNEtpbGxlZEFjY291bnQEARxhY2NvdW50BAEwVDo6QWNjb3VudElkAAQEWEFuIGFjY291bnQgd2FzIHJlYXBlZC4gUmVtYXJrZWQIARhzZW5kZXIEATBUOjpBY2NvdW50SWQAARBoYXNoPAEcVDo6SGFzaAAFBHBPbiBvbi1jaGFpbiByZW1hcmsgaGFwcGVuZWQuRFVwZ3JhZGVBdXRob3JpemVkCAEkY29kZV9oYXNoPAEcVDo6SGFzaAABNGNoZWNrX3ZlcnNpb24xAQEQYm9vbAAGBGhBbiB1cGdyYWRlIHdhcyBhdXRob3JpemVkLoBSZWplY3RlZEludmFsaWRBdXRob3JpemVkVXBncmFkZQgBJGNvZGVfaGFzaDwBHFQ6Okhhc2gAARRlcnJvcrEDATREaXNwYXRjaEVycm9yAAcEEQFBbiBpbnZhbGlkIGF1dGhvcml6ZWQgdXBncmFkZSB3YXMgcmVqZWN0ZWQgd2hpbGUgdHJ5aW5nIHRvIGFwcGx5IGl0LgRwRXZlbnQgZm9yIHRoZSBTeXN0ZW0gcGFsbGV0LqUDCDBmcmFtZV9zeXN0ZW1ERGlzcGF0Y2hFdmVudEluZm8AAAwBGHdlaWdodCkBARhXZWlnaHQAARRjbGFzc6kDATREaXNwYXRjaENsYXNzAAEgcGF5c19mZWWtAwEQUGF5cwAAqQMMNGZyYW1lX3N1cHBvcnQgZGlzcGF0Y2g0RGlzcGF0Y2hDbGFzcwABDBhOb3JtYWwAAAAsT3BlcmF0aW9uYWwAAQAkTWFuZGF0b3J5AAIAAK0DDDRmcmFtZV9zdXBwb3J0IGRpc3BhdGNoEFBheXMAAQgMWWVzAAAACE5vAAEAALEDCChzcF9ydW50aW1lNERpc3BhdGNoRXJyb3IAATwUT3RoZXIAAAAwQ2Fubm90TG9va3VwAAEAJEJhZE9yaWdpbgACABhNb2R1bGUEALUDASxNb2R1bGVFcnJvcgADAERDb25zdW1lclJlbWFpbmluZwAEACxOb1Byb3ZpZGVycwAFAEBUb29NYW55Q29uc3VtZXJzAAYAFFRva2VuBAC5AwEoVG9rZW5FcnJvcgAHAChBcml0aG1ldGljBAC9AwE8QXJpdGhtZXRpY0Vycm9yAAgANFRyYW5zYWN0aW9uYWwEAMEDAUhUcmFuc2FjdGlvbmFsRXJyb3IACQAkRXhoYXVzdGVkAAoAKENvcnJ1cHRpb24ACwAsVW5hdmFpbGFibGUADAA4Um9vdE5vdEFsbG93ZWQADQAQVHJpZQQAxQMBJFRyaWVFcnJvcgAOAAC1Awgoc3BfcnVudGltZSxNb2R1bGVFcnJvcgAACAEUaW5kZXgMAQh1OAABFGVycm9ycAGMW3U4OyBNQVhfTU9EVUxFX0VSUk9SX0VOQ09ERURfU0laRV0AALkDCChzcF9ydW50aW1lKFRva2VuRXJyb3IAAShARnVuZHNVbmF2YWlsYWJsZQAAADBPbmx5UHJvdmlkZXIAAQAwQmVsb3dNaW5pbXVtAAIAMENhbm5vdENyZWF0ZQADADBVbmtub3duQXNzZXQABAAYRnJvemVuAAUALFVuc3VwcG9ydGVkAAYAQENhbm5vdENyZWF0ZUhvbGQABwA0Tm90RXhwZW5kYWJsZQAIABxCbG9ja2VkAAkAAL0DCDRzcF9hcml0aG1ldGljPEFyaXRobWV0aWNFcnJvcgABDCRVbmRlcmZsb3cAAAAgT3ZlcmZsb3cAAQA4RGl2aXNpb25CeVplcm8AAgAAwQMIKHNwX3J1bnRpbWVIVHJhbnNhY3Rpb25hbEVycm9yAAEIMExpbWl0UmVhY2hlZAAAABxOb0xheWVyAAEAAMUDDChzcF9ydW50aW1lMHByb3ZpbmdfdHJpZSRUcmllRXJyb3IAAThASW52YWxpZFN0YXRlUm9vdAAAAEhJbmNvbXBsZXRlRGF0YWJhc2UAAQBQVmFsdWVBdEluY29tcGxldGVLZXkAAgAwRGVjb2RlckVycm9yAAMALEludmFsaWRIYXNoAAQAMER1cGxpY2F0ZUtleQAFADhFeHRyYW5lb3VzTm9kZQAGADxFeHRyYW5lb3VzVmFsdWUABwBcRXh0cmFuZW91c0hhc2hSZWZlcmVuY2UACABUSW52YWxpZENoaWxkUmVmZXJlbmNlAAkANFZhbHVlTWlzbWF0Y2gACgA8SW5jb21wbGV0ZVByb29mAAsAMFJvb3RNaXNtYXRjaAAMACxEZWNvZGVFcnJvcgANAADJAwx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbRhwYWxsZXQURXZlbnQEBFQAARhgVmFsaWRhdGlvbkZ1bmN0aW9uU3RvcmVkAAAE0FRoZSB2YWxpZGF0aW9uIGZ1bmN0aW9uIGhhcyBiZWVuIHNjaGVkdWxlZCB0byBhcHBseS5kVmFsaWRhdGlvbkZ1bmN0aW9uQXBwbGllZAQBVHJlbGF5X2NoYWluX2Jsb2NrX251bTgBVFJlbGF5Q2hhaW5CbG9ja051bWJlcgABBEUBVGhlIHZhbGlkYXRpb24gZnVuY3Rpb24gd2FzIGFwcGxpZWQgYXMgb2YgdGhlIGNvbnRhaW5lZCByZWxheSBjaGFpbiBibG9jayBudW1iZXIubFZhbGlkYXRpb25GdW5jdGlvbkRpc2NhcmRlZAACBLBUaGUgcmVsYXktY2hhaW4gYWJvcnRlZCB0aGUgdXBncmFkZSBwcm9jZXNzLmBEb3dud2FyZE1lc3NhZ2VzUmVjZWl2ZWQEARRjb3VudDgBDHUzMgADBAEBU29tZSBkb3dud2FyZCBtZXNzYWdlcyBoYXZlIGJlZW4gcmVjZWl2ZWQgYW5kIHdpbGwgYmUgcHJvY2Vzc2VkLmREb3dud2FyZE1lc3NhZ2VzUHJvY2Vzc2VkCAEsd2VpZ2h0X3VzZWQpAQEYV2VpZ2h0AAEgZG1xX2hlYWQ8AURyZWxheV9jaGFpbjo6SGFzaAAEBOBEb3dud2FyZCBtZXNzYWdlcyB3ZXJlIHByb2Nlc3NlZCB1c2luZyB0aGUgZ2l2ZW4gd2VpZ2h0LkRVcHdhcmRNZXNzYWdlU2VudAQBMG1lc3NhZ2VfaGFzaIEDATxPcHRpb248WGNtSGFzaD4ABQS4QW4gdXB3YXJkIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gdGhlIHJlbGF5IGNoYWluLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldM0DDDhwYWxsZXRfdXRpbGl0eRhwYWxsZXQURXZlbnQAASBAQmF0Y2hJbnRlcnJ1cHRlZAgBFGluZGV4OAEMdTMyAAEUZXJyb3KxAwE0RGlzcGF0Y2hFcnJvcgAACFUBQmF0Y2ggb2YgZGlzcGF0Y2hlcyBkaWQgbm90IGNvbXBsZXRlIGZ1bGx5LiBJbmRleCBvZiBmaXJzdCBmYWlsaW5nIGRpc3BhdGNoIGdpdmVuLCBhc0h3ZWxsIGFzIHRoZSBlcnJvci44QmF0Y2hDb21wbGV0ZWQAAQTIQmF0Y2ggb2YgZGlzcGF0Y2hlcyBjb21wbGV0ZWQgZnVsbHkgd2l0aCBubyBlcnJvci5gQmF0Y2hDb21wbGV0ZWRXaXRoRXJyb3JzAAIEtEJhdGNoIG9mIGRpc3BhdGNoZXMgY29tcGxldGVkIGJ1dCBoYXMgZXJyb3JzLjRJdGVtQ29tcGxldGVkAAMEHQFBIHNpbmdsZSBpdGVtIHdpdGhpbiBhIEJhdGNoIG9mIGRpc3BhdGNoZXMgaGFzIGNvbXBsZXRlZCB3aXRoIG5vIGVycm9yLihJdGVtRmFpbGVkBAEUZXJyb3KxAwE0RGlzcGF0Y2hFcnJvcgAEBBEBQSBzaW5nbGUgaXRlbSB3aXRoaW4gYSBCYXRjaCBvZiBkaXNwYXRjaGVzIGhhcyBjb21wbGV0ZWQgd2l0aCBlcnJvci4wRGlzcGF0Y2hlZEFzBAEYcmVzdWx00QMBOERpc3BhdGNoUmVzdWx0AAUEWEEgY2FsbCB3YXMgZGlzcGF0Y2hlZC5ESWZFbHNlTWFpblN1Y2Nlc3MABgRkTWFpbiBjYWxsIHdhcyBkaXNwYXRjaGVkLlBJZkVsc2VGYWxsYmFja0NhbGxlZAQBKG1haW5fZXJyb3KxAwE0RGlzcGF0Y2hFcnJvcgAHBIRUaGUgZmFsbGJhY2sgY2FsbCB3YXMgZGlzcGF0Y2hlZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXTRAwQYUmVzdWx0CARUARAERQGxAwEICE9rBAAQAAAAAAxFcnIEALEDAAABAADVAww8cGFsbGV0X2JhbGFuY2VzGHBhbGxldBRFdmVudAgEVAAESQABeBxFbmRvd2VkCAEcYWNjb3VudAQBMFQ6OkFjY291bnRJZAABMGZyZWVfYmFsYW5jZfwBKFQ6OkJhbGFuY2UAAAS4QW4gYWNjb3VudCB3YXMgY3JlYXRlZCB3aXRoIHNvbWUgZnJlZSBiYWxhbmNlLiBEdXN0TG9zdAgBHGFjY291bnQEATBUOjpBY2NvdW50SWQAARhhbW91bnT8AShUOjpCYWxhbmNlAAEIPQFBbiBhY2NvdW50IHdhcyByZW1vdmVkIHdob3NlIGJhbGFuY2Ugd2FzIG5vbi16ZXJvIGJ1dCBiZWxvdyBFeGlzdGVudGlhbERlcG9zaXQseHJlc3VsdGluZyBpbiBhbiBvdXRyaWdodCBsb3NzLiBUcmFuc2ZlcgwBEGZyb20EATBUOjpBY2NvdW50SWQAAQh0bwQBMFQ6OkFjY291bnRJZAABGGFtb3VudPwBKFQ6OkJhbGFuY2UAAgRMVHJhbnNmZXIgc3VjY2VlZGVkLihCYWxhbmNlU2V0CAEMd2hvBAEwVDo6QWNjb3VudElkAAEQZnJlZfwBKFQ6OkJhbGFuY2UAAwRoQSBiYWxhbmNlIHdhcyBzZXQgYnkgcm9vdC4gUmVzZXJ2ZWQIAQx3aG8EATBUOjpBY2NvdW50SWQAARhhbW91bnT8AShUOjpCYWxhbmNlAAQE4FNvbWUgYmFsYW5jZSB3YXMgcmVzZXJ2ZWQgKG1vdmVkIGZyb20gZnJlZSB0byByZXNlcnZlZCkuKFVucmVzZXJ2ZWQIAQx3aG8EATBUOjpBY2NvdW50SWQAARhhbW91bnT8AShUOjpCYWxhbmNlAAUE6FNvbWUgYmFsYW5jZSB3YXMgdW5yZXNlcnZlZCAobW92ZWQgZnJvbSByZXNlcnZlZCB0byBmcmVlKS5IUmVzZXJ2ZVJlcGF0cmlhdGVkEAEQZnJvbQQBMFQ6OkFjY291bnRJZAABCHRvBAEwVDo6QWNjb3VudElkAAEYYW1vdW50/AEoVDo6QmFsYW5jZQABSGRlc3RpbmF0aW9uX3N0YXR1c9kDARhTdGF0dXMABghNAVNvbWUgYmFsYW5jZSB3YXMgbW92ZWQgZnJvbSB0aGUgcmVzZXJ2ZSBvZiB0aGUgZmlyc3QgYWNjb3VudCB0byB0aGUgc2Vjb25kIGFjY291bnQu2EZpbmFsIGFyZ3VtZW50IGluZGljYXRlcyB0aGUgZGVzdGluYXRpb24gYmFsYW5jZSB0eXBlLhxEZXBvc2l0CAEMd2hvBAEwVDo6QWNjb3VudElkAAEYYW1vdW50/AEoVDo6QmFsYW5jZQAHBNhTb21lIGFtb3VudCB3YXMgZGVwb3NpdGVkIChlLmcuIGZvciB0cmFuc2FjdGlvbiBmZWVzKS4gV2l0aGRyYXcIAQx3aG8EATBUOjpBY2NvdW50SWQAARhhbW91bnT8AShUOjpCYWxhbmNlAAgEHQFTb21lIGFtb3VudCB3YXMgd2l0aGRyYXduIGZyb20gdGhlIGFjY291bnQgKGUuZy4gZm9yIHRyYW5zYWN0aW9uIGZlZXMpLhxTbGFzaGVkCAEMd2hvBAEwVDo6QWNjb3VudElkAAEYYW1vdW50/AEoVDo6QmFsYW5jZQAJBAEBU29tZSBhbW91bnQgd2FzIHJlbW92ZWQgZnJvbSB0aGUgYWNjb3VudCAoZS5nLiBmb3IgbWlzYmVoYXZpb3IpLhhNaW50ZWQIAQx3aG8EATBUOjpBY2NvdW50SWQAARhhbW91bnT8AShUOjpCYWxhbmNlAAoEnFNvbWUgYW1vdW50IHdhcyBtaW50ZWQgaW50byBhbiBhY2NvdW50LjBNaW50ZWRDcmVkaXQEARhhbW91bnT8AShUOjpCYWxhbmNlAAsE4FNvbWUgY3JlZGl0IHdhcyBiYWxhbmNlZCBhbmQgYWRkZWQgdG8gdGhlIFRvdGFsSXNzdWFuY2UuGEJ1cm5lZAgBDHdobwQBMFQ6OkFjY291bnRJZAABGGFtb3VudPwBKFQ6OkJhbGFuY2UADAScU29tZSBhbW91bnQgd2FzIGJ1cm5lZCBmcm9tIGFuIGFjY291bnQuKEJ1cm5lZERlYnQEARhhbW91bnT8AShUOjpCYWxhbmNlAA0EzFNvbWUgZGVidCBoYXMgYmVlbiBkcm9wcGVkIGZyb20gdGhlIFRvdGFsIElzc3VhbmNlLiRTdXNwZW5kZWQIAQx3aG8EATBUOjpBY2NvdW50SWQAARhhbW91bnT8AShUOjpCYWxhbmNlAA4EFQFTb21lIGFtb3VudCB3YXMgc3VzcGVuZGVkIGZyb20gYW4gYWNjb3VudCAoaXQgY2FuIGJlIHJlc3RvcmVkIGxhdGVyKS4gUmVzdG9yZWQIAQx3aG8EATBUOjpBY2NvdW50SWQAARhhbW91bnT8AShUOjpCYWxhbmNlAA8EpFNvbWUgYW1vdW50IHdhcyByZXN0b3JlZCBpbnRvIGFuIGFjY291bnQuIFVwZ3JhZGVkBAEMd2hvBAEwVDo6QWNjb3VudElkABAEYEFuIGFjY291bnQgd2FzIHVwZ3JhZGVkLhhJc3N1ZWQEARhhbW91bnT8AShUOjpCYWxhbmNlABEELQFUb3RhbCBpc3N1YW5jZSB3YXMgaW5jcmVhc2VkIGJ5IGBhbW91bnRgLCBjcmVhdGluZyBhIGNyZWRpdCB0byBiZSBiYWxhbmNlZC4kUmVzY2luZGVkBAEYYW1vdW50/AEoVDo6QmFsYW5jZQASBCUBVG90YWwgaXNzdWFuY2Ugd2FzIGRlY3JlYXNlZCBieSBgYW1vdW50YCwgY3JlYXRpbmcgYSBkZWJ0IHRvIGJlIGJhbGFuY2VkLhhMb2NrZWQIAQx3aG8EATBUOjpBY2NvdW50SWQAARhhbW91bnT8AShUOjpCYWxhbmNlABMEYFNvbWUgYmFsYW5jZSB3YXMgbG9ja2VkLiBVbmxvY2tlZAgBDHdobwQBMFQ6OkFjY291bnRJZAABGGFtb3VudPwBKFQ6OkJhbGFuY2UAFARoU29tZSBiYWxhbmNlIHdhcyB1bmxvY2tlZC4YRnJvemVuCAEMd2hvBAEwVDo6QWNjb3VudElkAAEYYW1vdW50/AEoVDo6QmFsYW5jZQAVBGBTb21lIGJhbGFuY2Ugd2FzIGZyb3plbi4YVGhhd2VkCAEMd2hvBAEwVDo6QWNjb3VudElkAAEYYW1vdW50/AEoVDo6QmFsYW5jZQAWBGBTb21lIGJhbGFuY2Ugd2FzIHRoYXdlZC5MVG90YWxJc3N1YW5jZUZvcmNlZAgBDG9sZPwBKFQ6OkJhbGFuY2UAAQxuZXf8AShUOjpCYWxhbmNlABcErFRoZSBgVG90YWxJc3N1YW5jZWAgd2FzIGZvcmNlZnVsbHkgY2hhbmdlZC4QSGVsZAwBGHJlYXNvbt0DAVBUOjpSdW50aW1lSG9sZFJlYXNvbgABDHdobwQBMFQ6OkFjY291bnRJZAABGGFtb3VudPwBKFQ6OkJhbGFuY2UAGASAU29tZSBiYWxhbmNlIHdhcyBwbGFjZWQgb24gaG9sZC4oQnVybmVkSGVsZAwBGHJlYXNvbt0DAVBUOjpSdW50aW1lSG9sZFJlYXNvbgABDHdobwQBMFQ6OkFjY291bnRJZAABGGFtb3VudPwBKFQ6OkJhbGFuY2UAGQSgSGVsZCBiYWxhbmNlIHdhcyBidXJuZWQgZnJvbSBhbiBhY2NvdW50LjhUcmFuc2Zlck9uSG9sZBABGHJlYXNvbt0DAVBUOjpSdW50aW1lSG9sZFJlYXNvbgABGHNvdXJjZQQBMFQ6OkFjY291bnRJZAABEGRlc3QEATBUOjpBY2NvdW50SWQAARhhbW91bnT8AShUOjpCYWxhbmNlABoEFQFBIHRyYW5zZmVyIG9mIGBhbW91bnRgIG9uIGhvbGQgZnJvbSBgc291cmNlYCB0byBgZGVzdGAgd2FzIGluaXRpYXRlZC48VHJhbnNmZXJBbmRIb2xkEAEYcmVhc29u3QMBUFQ6OlJ1bnRpbWVIb2xkUmVhc29uAAEYc291cmNlBAEwVDo6QWNjb3VudElkAAEQZGVzdAQBMFQ6OkFjY291bnRJZAABLHRyYW5zZmVycmVk/AEoVDo6QmFsYW5jZQAbBAkBVGhlIGB0cmFuc2ZlcnJlZGAgYmFsYW5jZSBpcyBwbGFjZWQgb24gaG9sZCBhdCB0aGUgYGRlc3RgIGFjY291bnQuIFJlbGVhc2VkDAEYcmVhc29u3QMBUFQ6OlJ1bnRpbWVIb2xkUmVhc29uAAEMd2hvBAEwVDo6QWNjb3VudElkAAEYYW1vdW50/AEoVDo6QmFsYW5jZQAcBJBTb21lIGJhbGFuY2Ugd2FzIHJlbGVhc2VkIGZyb20gaG9sZC4oVW5leHBlY3RlZAQA7QMBOFVuZXhwZWN0ZWRLaW5kAB0EsEFuIHVuZXhwZWN0ZWQvZGVmZW5zaXZlIGV2ZW50IHdhcyB0cmlnZ2VyZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV02QMUNGZyYW1lX3N1cHBvcnQYdHJhaXRzGHRva2VucxBtaXNjNEJhbGFuY2VTdGF0dXMAAQgQRnJlZQAAACBSZXNlcnZlZAABAADdAwhgYnVsbGV0aW5fd2VzdGVuZF9ydW50aW1lRFJ1bnRpbWVIb2xkUmVhc29uAAEMSFRyYW5zYWN0aW9uU3RvcmFnZQQA4QMBmHBhbGxldF90cmFuc2FjdGlvbl9zdG9yYWdlOjpIb2xkUmVhc29uACgAHFNlc3Npb24EAOUDAWhwYWxsZXRfc2Vzc2lvbjo6SG9sZFJlYXNvbgAWACxQb2xrYWRvdFhjbQQA6QMBWHBhbGxldF94Y206OkhvbGRSZWFzb24AHwAA4QMMaHBhbGxldF90cmFuc2FjdGlvbl9zdG9yYWdlGHBhbGxldChIb2xkUmVhc29uAAEEOFN0b3JhZ2VGZWVIb2xkAAAAAOUDDDhwYWxsZXRfc2Vzc2lvbhhwYWxsZXQoSG9sZFJlYXNvbgABBBBLZXlzAAAAAOkDDChwYWxsZXRfeGNtGHBhbGxldChIb2xkUmVhc29uAAEEOEF1dGhvcml6ZUFsaWFzAAAAAO0DDDxwYWxsZXRfYmFsYW5jZXMYcGFsbGV0OFVuZXhwZWN0ZWRLaW5kAAEIOEJhbGFuY2VVcGRhdGVkAAAAVEZhaWxlZFRvTXV0YXRlQWNjb3VudAABAADxAwxocGFsbGV0X3RyYW5zYWN0aW9uX3BheW1lbnQYcGFsbGV0FEV2ZW50BARUAAEESFRyYW5zYWN0aW9uRmVlUGFpZAwBDHdobwQBMFQ6OkFjY291bnRJZAABKGFjdHVhbF9mZWX8ATBCYWxhbmNlT2Y8VD4AAQx0aXD8ATBCYWxhbmNlT2Y8VD4AAAhZAUEgdHJhbnNhY3Rpb24gZmVlIGBhY3R1YWxfZmVlYCwgb2Ygd2hpY2ggYHRpcGAgd2FzIGFkZGVkIHRvIHRoZSBtaW5pbXVtIGluY2x1c2lvbiBmZWUsXGhhcyBiZWVuIHBhaWQgYnkgYHdob2AuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV09QMMbHBhbGxldF9za2lwX2ZlZWxlc3NfcGF5bWVudBhwYWxsZXQURXZlbnQEBFQAAQQoRmVlU2tpcHBlZAQBGG9yaWdpbsgBwDxUOjpSdW50aW1lT3JpZ2luIGFzIE9yaWdpblRyYWl0Pjo6UGFsbGV0c09yaWdpbgAABHhBIHRyYW5zYWN0aW9uIGZlZSB3YXMgc2tpcHBlZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXT5AwxocGFsbGV0X3RyYW5zYWN0aW9uX3N0b3JhZ2UYcGFsbGV0FEV2ZW50BARUAAEkGFN0b3JlZAwBFGluZGV4OAEMdTMyAAEwY29udGVudF9oYXNoCAEsQ29udGVudEhhc2gAAQxjaWT9AwEsT3B0aW9uPENpZD4AAASIU3RvcmVkIGRhdGEgdW5kZXIgc3BlY2lmaWVkIGluZGV4LhxSZW5ld2VkCAEUaW5kZXg4AQx1MzIAATBjb250ZW50X2hhc2gIASxDb250ZW50SGFzaAABBIxSZW5ld2VkIGRhdGEgdW5kZXIgc3BlY2lmaWVkIGluZGV4LjBQcm9vZkNoZWNrZWQAAgScU3RvcmFnZSBwcm9vZiB3YXMgc3VjY2Vzc2Z1bGx5IGNoZWNrZWQuREFjY291bnRBdXRob3JpemVkDAEMd2hvBAEwVDo6QWNjb3VudElkAAEwdHJhbnNhY3Rpb25zOAEMdTMyAAEUYnl0ZXMoAQx1NjQAAwRZAUFuIGFjY291bnQgYHdob2Agd2FzIGF1dGhvcml6ZWQgdG8gc3RvcmUgYGJ5dGVzYCBieXRlcyBpbiBgdHJhbnNhY3Rpb25zYCB0cmFuc2FjdGlvbnMudEFjY291bnRBdXRob3JpemF0aW9uUmVmcmVzaGVkBAEMd2hvBAEwVDo6QWNjb3VudElkAAQExEFuIGF1dGhvcml6YXRpb24gZm9yIGFjY291bnQgYHdob2Agd2FzIHJlZnJlc2hlZC5IUHJlaW1hZ2VBdXRob3JpemVkCAEwY29udGVudF9oYXNoCAEsQ29udGVudEhhc2gAASBtYXhfc2l6ZSgBDHU2NAAFCFkBQXV0aG9yaXphdGlvbiB3YXMgZ2l2ZW4gZm9yIGEgcHJlaW1hZ2Ugb2YgYGNvbnRlbnRfaGFzaGAgKG5vdCBleGNlZWRpbmcgYG1heF9zaXplYCkgdG9QYmUgc3RvcmVkIGJ5IGFueW9uZS54UHJlaW1hZ2VBdXRob3JpemF0aW9uUmVmcmVzaGVkBAEwY29udGVudF9oYXNoCAEsQ29udGVudEhhc2gABgQBAUFuIGF1dGhvcml6YXRpb24gZm9yIGEgcHJlaW1hZ2Ugb2YgYGNvbnRlbnRfaGFzaGAgd2FzIHJlZnJlc2hlZC6IRXhwaXJlZEFjY291bnRBdXRob3JpemF0aW9uUmVtb3ZlZAQBDHdobwQBMFQ6OkFjY291bnRJZAAHBLRBbiBleHBpcmVkIGFjY291bnQgYXV0aG9yaXphdGlvbiB3YXMgcmVtb3ZlZC6MRXhwaXJlZFByZWltYWdlQXV0aG9yaXphdGlvblJlbW92ZWQEATBjb250ZW50X2hhc2gIASxDb250ZW50SGFzaAAIBLhBbiBleHBpcmVkIHByZWltYWdlIGF1dGhvcml6YXRpb24gd2FzIHJlbW92ZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0/QMEGE9wdGlvbgQEVAEYAQgQTm9uZQAAABBTb21lBAAYAAABAAABBAxkcGFsbGV0X2NvbGxhdG9yX3NlbGVjdGlvbhhwYWxsZXQURXZlbnQEBFQAAShATmV3SW52dWxuZXJhYmxlcwQBNGludnVsbmVyYWJsZXM1AQFEVmVjPFQ6OkFjY291bnRJZD4AAARsTmV3IEludnVsbmVyYWJsZXMgd2VyZSBzZXQuREludnVsbmVyYWJsZUFkZGVkBAEoYWNjb3VudF9pZAQBMFQ6OkFjY291bnRJZAABBHRBIG5ldyBJbnZ1bG5lcmFibGUgd2FzIGFkZGVkLkxJbnZ1bG5lcmFibGVSZW1vdmVkBAEoYWNjb3VudF9pZAQBMFQ6OkFjY291bnRJZAACBHBBbiBJbnZ1bG5lcmFibGUgd2FzIHJlbW92ZWQuUE5ld0Rlc2lyZWRDYW5kaWRhdGVzBAFIZGVzaXJlZF9jYW5kaWRhdGVzOAEMdTMyAAMEpFRoZSBudW1iZXIgb2YgZGVzaXJlZCBjYW5kaWRhdGVzIHdhcyBzZXQuQE5ld0NhbmRpZGFjeUJvbmQEASxib25kX2Ftb3VudPwBMEJhbGFuY2VPZjxUPgAEBGxUaGUgY2FuZGlkYWN5IGJvbmQgd2FzIHNldC44Q2FuZGlkYXRlQWRkZWQIAShhY2NvdW50X2lkBAEwVDo6QWNjb3VudElkAAEcZGVwb3NpdPwBMEJhbGFuY2VPZjxUPgAFBFxBIG5ldyBjYW5kaWRhdGUgam9pbmVkLlBDYW5kaWRhdGVCb25kVXBkYXRlZAgBKGFjY291bnRfaWQEATBUOjpBY2NvdW50SWQAARxkZXBvc2l0/AEwQmFsYW5jZU9mPFQ+AAYEcEJvbmQgb2YgYSBjYW5kaWRhdGUgdXBkYXRlZC5AQ2FuZGlkYXRlUmVtb3ZlZAQBKGFjY291bnRfaWQEATBUOjpBY2NvdW50SWQABwRgQSBjYW5kaWRhdGUgd2FzIHJlbW92ZWQuRENhbmRpZGF0ZVJlcGxhY2VkDAEMb2xkBAEwVDo6QWNjb3VudElkAAEMbmV3BAEwVDo6QWNjb3VudElkAAEcZGVwb3NpdPwBMEJhbGFuY2VPZjxUPgAIBPRBbiBhY2NvdW50IHdhcyByZXBsYWNlZCBpbiB0aGUgY2FuZGlkYXRlIGxpc3QgYnkgYW5vdGhlciBvbmUuaEludmFsaWRJbnZ1bG5lcmFibGVTa2lwcGVkBAEoYWNjb3VudF9pZAQBMFQ6OkFjY291bnRJZAAJCFUBQW4gYWNjb3VudCB3YXMgdW5hYmxlIHRvIGJlIGFkZGVkIHRvIHRoZSBJbnZ1bG5lcmFibGVzIGJlY2F1c2UgdGhleSBkaWQgbm90IGhhdmUga2V5c8hyZWdpc3RlcmVkLiBPdGhlciBJbnZ1bG5lcmFibGVzIG1heSBoYXZlIGJlZW4gc2V0LgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldAUEDDhwYWxsZXRfc2Vzc2lvbhhwYWxsZXQURXZlbnQEBFQAARAoTmV3U2Vzc2lvbgQBNHNlc3Npb25faW5kZXg4ATBTZXNzaW9uSW5kZXgAAAg5AU5ldyBzZXNzaW9uIGhhcyBoYXBwZW5lZC4gTm90ZSB0aGF0IHRoZSBhcmd1bWVudCBpcyB0aGUgc2Vzc2lvbiBpbmRleCwgbm90IHRoZZxibG9jayBudW1iZXIgYXMgdGhlIHR5cGUgbWlnaHQgc3VnZ2VzdC4kTmV3UXVldWVkAAEISQFUaGUgYE5ld1Nlc3Npb25gIGV2ZW50IGluIHRoZSBjdXJyZW50IGJsb2NrIGFsc28gaW1wbGllcyBhIG5ldyB2YWxpZGF0b3Igc2V0IHRvIGJlHHF1ZXVlZC5EVmFsaWRhdG9yRGlzYWJsZWQEASR2YWxpZGF0b3IEAThUOjpWYWxpZGF0b3JJZAACBHBWYWxpZGF0b3IgaGFzIGJlZW4gZGlzYWJsZWQuSFZhbGlkYXRvclJlZW5hYmxlZAQBJHZhbGlkYXRvcgQBOFQ6OlZhbGlkYXRvcklkAAMEeFZhbGlkYXRvciBoYXMgYmVlbiByZS1lbmFibGVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldAkEDGRjdW11bHVzX3BhbGxldF94Y21wX3F1ZXVlGHBhbGxldBRFdmVudAQEVAABBDxYY21wTWVzc2FnZVNlbnQEATBtZXNzYWdlX2hhc2gIARxYY21IYXNoAAAEwEFuIEhSTVAgbWVzc2FnZSB3YXMgc2VudCB0byBhIHNpYmxpbmcgcGFyYWNoYWluLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldA0EDChwYWxsZXRfeGNtGHBhbGxldBRFdmVudAQEVAABdCRBdHRlbXB0ZWQEARxvdXRjb21lEQQBUHhjbTo6bGF0ZXN0OjpPdXRjb21lAAAEqEV4ZWN1dGlvbiBvZiBhbiBYQ00gbWVzc2FnZSB3YXMgYXR0ZW1wdGVkLhBTZW50EAEYb3JpZ2lu4AEgTG9jYXRpb24AASxkZXN0aW5hdGlvbuABIExvY2F0aW9uAAEcbWVzc2FnZXUCARxYY208KCk+AAEobWVzc2FnZV9pZAgBHFhjbUhhc2gAAQRgQW4gWENNIG1lc3NhZ2Ugd2FzIHNlbnQuKFNlbmRGYWlsZWQQARhvcmlnaW7gASBMb2NhdGlvbgABLGRlc3RpbmF0aW9u4AEgTG9jYXRpb24AARRlcnJvchkEASRTZW5kRXJyb3IAAShtZXNzYWdlX2lkCAEcWGNtSGFzaAACBHhBbiBYQ00gbWVzc2FnZSBmYWlsZWQgdG8gc2VuZC48UHJvY2Vzc1hjbUVycm9yDAEYb3JpZ2lu4AEgTG9jYXRpb24AARRlcnJvcqUCASBYY21FcnJvcgABKG1lc3NhZ2VfaWQIARxYY21IYXNoAAMEhEFuIFhDTSBtZXNzYWdlIGZhaWxlZCB0byBwcm9jZXNzLkhVbmV4cGVjdGVkUmVzcG9uc2UIARhvcmlnaW7gASBMb2NhdGlvbgABIHF1ZXJ5X2lkKAEcUXVlcnlJZAAEDFkBUXVlcnkgcmVzcG9uc2UgcmVjZWl2ZWQgd2hpY2ggZG9lcyBub3QgbWF0Y2ggYSByZWdpc3RlcmVkIHF1ZXJ5LiBUaGlzIG1heSBiZSBiZWNhdXNlIGFVAW1hdGNoaW5nIHF1ZXJ5IHdhcyBuZXZlciByZWdpc3RlcmVkLCBpdCBtYXkgYmUgYmVjYXVzZSBpdCBpcyBhIGR1cGxpY2F0ZSByZXNwb25zZSwgb3JwYmVjYXVzZSB0aGUgcXVlcnkgdGltZWQgb3V0LjRSZXNwb25zZVJlYWR5CAEgcXVlcnlfaWQoARxRdWVyeUlkAAEgcmVzcG9uc2WZAgEgUmVzcG9uc2UABQhdAVF1ZXJ5IHJlc3BvbnNlIGhhcyBiZWVuIHJlY2VpdmVkIGFuZCBpcyByZWFkeSBmb3IgdGFraW5nIHdpdGggYHRha2VfcmVzcG9uc2VgLiBUaGVyZSBpc4BubyByZWdpc3RlcmVkIG5vdGlmaWNhdGlvbiBjYWxsLiBOb3RpZmllZAwBIHF1ZXJ5X2lkKAEcUXVlcnlJZAABMHBhbGxldF9pbmRleAwBCHU4AAEoY2FsbF9pbmRleAwBCHU4AAYIWQFRdWVyeSByZXNwb25zZSBoYXMgYmVlbiByZWNlaXZlZCBhbmQgcXVlcnkgaXMgcmVtb3ZlZC4gVGhlIHJlZ2lzdGVyZWQgbm90aWZpY2F0aW9uIGhhc6hiZWVuIGRpc3BhdGNoZWQgYW5kIGV4ZWN1dGVkIHN1Y2Nlc3NmdWxseS5ATm90aWZ5T3ZlcndlaWdodBQBIHF1ZXJ5X2lkKAEcUXVlcnlJZAABMHBhbGxldF9pbmRleAwBCHU4AAEoY2FsbF9pbmRleAwBCHU4AAE0YWN0dWFsX3dlaWdodCkBARhXZWlnaHQAAUxtYXhfYnVkZ2V0ZWRfd2VpZ2h0KQEBGFdlaWdodAAHDEkBUXVlcnkgcmVzcG9uc2UgaGFzIGJlZW4gcmVjZWl2ZWQgYW5kIHF1ZXJ5IGlzIHJlbW92ZWQuIFRoZSByZWdpc3RlcmVkIG5vdGlmaWNhdGlvblkBY291bGQgbm90IGJlIGRpc3BhdGNoZWQgYmVjYXVzZSB0aGUgZGlzcGF0Y2ggd2VpZ2h0IGlzIGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSB3ZWlnaHTkb3JpZ2luYWxseSBidWRnZXRlZCBieSB0aGlzIHJ1bnRpbWUgZm9yIHRoZSBxdWVyeSByZXN1bHQuTE5vdGlmeURpc3BhdGNoRXJyb3IMASBxdWVyeV9pZCgBHFF1ZXJ5SWQAATBwYWxsZXRfaW5kZXgMAQh1OAABKGNhbGxfaW5kZXgMAQh1OAAICFUBUXVlcnkgcmVzcG9uc2UgaGFzIGJlZW4gcmVjZWl2ZWQgYW5kIHF1ZXJ5IGlzIHJlbW92ZWQuIFRoZXJlIHdhcyBhIGdlbmVyYWwgZXJyb3Igd2l0aIhkaXNwYXRjaGluZyB0aGUgbm90aWZpY2F0aW9uIGNhbGwuSE5vdGlmeURlY29kZUZhaWxlZAwBIHF1ZXJ5X2lkKAEcUXVlcnlJZAABMHBhbGxldF9pbmRleAwBCHU4AAEoY2FsbF9pbmRleAwBCHU4AAkMUQFRdWVyeSByZXNwb25zZSBoYXMgYmVlbiByZWNlaXZlZCBhbmQgcXVlcnkgaXMgcmVtb3ZlZC4gVGhlIGRpc3BhdGNoIHdhcyB1bmFibGUgdG8gYmVZAWRlY29kZWQgaW50byBhIGBDYWxsYDsgdGhpcyBtaWdodCBiZSBkdWUgdG8gZGlzcGF0Y2ggZnVuY3Rpb24gaGF2aW5nIGEgc2lnbmF0dXJlIHdoaWNolGlzIG5vdCBgKG9yaWdpbiwgUXVlcnlJZCwgUmVzcG9uc2UpYC5ASW52YWxpZFJlc3BvbmRlcgwBGG9yaWdpbuABIExvY2F0aW9uAAEgcXVlcnlfaWQoARxRdWVyeUlkAAFEZXhwZWN0ZWRfbG9jYXRpb265AgFAT3B0aW9uPExvY2F0aW9uPgAKDFkBRXhwZWN0ZWQgcXVlcnkgcmVzcG9uc2UgaGFzIGJlZW4gcmVjZWl2ZWQgYnV0IHRoZSBvcmlnaW4gbG9jYXRpb24gb2YgdGhlIHJlc3BvbnNlIGRvZXNVAW5vdCBtYXRjaCB0aGF0IGV4cGVjdGVkLiBUaGUgcXVlcnkgcmVtYWlucyByZWdpc3RlcmVkIGZvciBhIGxhdGVyLCB2YWxpZCwgcmVzcG9uc2UgdG9sYmUgcmVjZWl2ZWQgYW5kIGFjdGVkIHVwb24uXEludmFsaWRSZXNwb25kZXJWZXJzaW9uCAEYb3JpZ2lu4AEgTG9jYXRpb24AASBxdWVyeV9pZCgBHFF1ZXJ5SWQACxxRAUV4cGVjdGVkIHF1ZXJ5IHJlc3BvbnNlIGhhcyBiZWVuIHJlY2VpdmVkIGJ1dCB0aGUgZXhwZWN0ZWQgb3JpZ2luIGxvY2F0aW9uIHBsYWNlZCBpbk0Bc3RvcmFnZSBieSB0aGlzIHJ1bnRpbWUgcHJldmlvdXNseSBjYW5ub3QgYmUgZGVjb2RlZC4gVGhlIHF1ZXJ5IHJlbWFpbnMgcmVnaXN0ZXJlZC4AQQFUaGlzIGlzIHVuZXhwZWN0ZWQgKHNpbmNlIGEgbG9jYXRpb24gcGxhY2VkIGluIHN0b3JhZ2UgaW4gYSBwcmV2aW91c2x5IGV4ZWN1dGluZ00BcnVudGltZSBzaG91bGQgYmUgcmVhZGFibGUgcHJpb3IgdG8gcXVlcnkgdGltZW91dCkgYW5kIGRhbmdlcm91cyBzaW5jZSB0aGUgcG9zc2libHlZAXZhbGlkIHJlc3BvbnNlIHdpbGwgYmUgZHJvcHBlZC4gTWFudWFsIGdvdmVybmFuY2UgaW50ZXJ2ZW50aW9uIGlzIHByb2JhYmx5IGdvaW5nIHRvIGJlHG5lZWRlZC40UmVzcG9uc2VUYWtlbgQBIHF1ZXJ5X2lkKAEcUXVlcnlJZAAMBMhSZWNlaXZlZCBxdWVyeSByZXNwb25zZSBoYXMgYmVlbiByZWFkIGFuZCByZW1vdmVkLjRBc3NldHNUcmFwcGVkDAEQaGFzaDwBEEgyNTYAARhvcmlnaW7gASBMb2NhdGlvbgABGGFzc2V0c/ECATxWZXJzaW9uZWRBc3NldHMADQS4U29tZSBhc3NldHMgaGF2ZSBiZWVuIHBsYWNlZCBpbiBhbiBhc3NldCB0cmFwLlRWZXJzaW9uQ2hhbmdlTm90aWZpZWQQASxkZXN0aW5hdGlvbuABIExvY2F0aW9uAAEYcmVzdWx0OAEoWGNtVmVyc2lvbgABEGNvc3SBAgEYQXNzZXRzAAEobWVzc2FnZV9pZAgBHFhjbUhhc2gADgwlAUFuIFhDTSB2ZXJzaW9uIGNoYW5nZSBub3RpZmljYXRpb24gbWVzc2FnZSBoYXMgYmVlbiBhdHRlbXB0ZWQgdG8gYmUgc2VudC4A4FRoZSBjb3N0IG9mIHNlbmRpbmcgaXQgKGJvcm5lIGJ5IHRoZSBjaGFpbikgaXMgaW5jbHVkZWQuXFN1cHBvcnRlZFZlcnNpb25DaGFuZ2VkCAEgbG9jYXRpb27gASBMb2NhdGlvbgABHHZlcnNpb244AShYY21WZXJzaW9uAA8IOQFUaGUgc3VwcG9ydGVkIHZlcnNpb24gb2YgYSBsb2NhdGlvbiBoYXMgYmVlbiBjaGFuZ2VkLiBUaGlzIG1pZ2h0IGJlIHRocm91Z2ggYW7AYXV0b21hdGljIG5vdGlmaWNhdGlvbiBvciBhIG1hbnVhbCBpbnRlcnZlbnRpb24uUE5vdGlmeVRhcmdldFNlbmRGYWlsDAEgbG9jYXRpb27gASBMb2NhdGlvbgABIHF1ZXJ5X2lkKAEcUXVlcnlJZAABFGVycm9ypQIBIFhjbUVycm9yABAIWQFBIGdpdmVuIGxvY2F0aW9uIHdoaWNoIGhhZCBhIHZlcnNpb24gY2hhbmdlIHN1YnNjcmlwdGlvbiB3YXMgZHJvcHBlZCBvd2luZyB0byBhbiBlcnJvcnxzZW5kaW5nIHRoZSBub3RpZmljYXRpb24gdG8gaXQuZE5vdGlmeVRhcmdldE1pZ3JhdGlvbkZhaWwIASBsb2NhdGlvbmUBAURWZXJzaW9uZWRMb2NhdGlvbgABIHF1ZXJ5X2lkKAEcUXVlcnlJZAARCFkBQSBnaXZlbiBsb2NhdGlvbiB3aGljaCBoYWQgYSB2ZXJzaW9uIGNoYW5nZSBzdWJzY3JpcHRpb24gd2FzIGRyb3BwZWQgb3dpbmcgdG8gYW4gZXJyb3K0bWlncmF0aW5nIHRoZSBsb2NhdGlvbiB0byBvdXIgbmV3IFhDTSBmb3JtYXQuVEludmFsaWRRdWVyaWVyVmVyc2lvbggBGG9yaWdpbuABIExvY2F0aW9uAAEgcXVlcnlfaWQoARxRdWVyeUlkABIcVQFFeHBlY3RlZCBxdWVyeSByZXNwb25zZSBoYXMgYmVlbiByZWNlaXZlZCBidXQgdGhlIGV4cGVjdGVkIHF1ZXJpZXIgbG9jYXRpb24gcGxhY2VkIGluTQFzdG9yYWdlIGJ5IHRoaXMgcnVudGltZSBwcmV2aW91c2x5IGNhbm5vdCBiZSBkZWNvZGVkLiBUaGUgcXVlcnkgcmVtYWlucyByZWdpc3RlcmVkLgBBAVRoaXMgaXMgdW5leHBlY3RlZCAoc2luY2UgYSBsb2NhdGlvbiBwbGFjZWQgaW4gc3RvcmFnZSBpbiBhIHByZXZpb3VzbHkgZXhlY3V0aW5nTQFydW50aW1lIHNob3VsZCBiZSByZWFkYWJsZSBwcmlvciB0byBxdWVyeSB0aW1lb3V0KSBhbmQgZGFuZ2Vyb3VzIHNpbmNlIHRoZSBwb3NzaWJseVkBdmFsaWQgcmVzcG9uc2Ugd2lsbCBiZSBkcm9wcGVkLiBNYW51YWwgZ292ZXJuYW5jZSBpbnRlcnZlbnRpb24gaXMgcHJvYmFibHkgZ29pbmcgdG8gYmUcbmVlZGVkLjhJbnZhbGlkUXVlcmllchABGG9yaWdpbuABIExvY2F0aW9uAAEgcXVlcnlfaWQoARxRdWVyeUlkAAFAZXhwZWN0ZWRfcXVlcmllcuABIExvY2F0aW9uAAFQbWF5YmVfYWN0dWFsX3F1ZXJpZXK5AgFAT3B0aW9uPExvY2F0aW9uPgATDF0BRXhwZWN0ZWQgcXVlcnkgcmVzcG9uc2UgaGFzIGJlZW4gcmVjZWl2ZWQgYnV0IHRoZSBxdWVyaWVyIGxvY2F0aW9uIG9mIHRoZSByZXNwb25zZSBkb2VzUQFub3QgbWF0Y2ggdGhlIGV4cGVjdGVkLiBUaGUgcXVlcnkgcmVtYWlucyByZWdpc3RlcmVkIGZvciBhIGxhdGVyLCB2YWxpZCwgcmVzcG9uc2UgdG9sYmUgcmVjZWl2ZWQgYW5kIGFjdGVkIHVwb24uUFZlcnNpb25Ob3RpZnlTdGFydGVkDAEsZGVzdGluYXRpb27gASBMb2NhdGlvbgABEGNvc3SBAgEYQXNzZXRzAAEobWVzc2FnZV9pZAgBHFhjbUhhc2gAFAhZAUEgcmVtb3RlIGhhcyByZXF1ZXN0ZWQgWENNIHZlcnNpb24gY2hhbmdlIG5vdGlmaWNhdGlvbiBmcm9tIHVzIGFuZCB3ZSBoYXZlIGhvbm9yZWQgaXQuHQFBIHZlcnNpb24gaW5mb3JtYXRpb24gbWVzc2FnZSBpcyBzZW50IHRvIHRoZW0gYW5kIGl0cyBjb3N0IGlzIGluY2x1ZGVkLlhWZXJzaW9uTm90aWZ5UmVxdWVzdGVkDAEsZGVzdGluYXRpb27gASBMb2NhdGlvbgABEGNvc3SBAgEYQXNzZXRzAAEobWVzc2FnZV9pZAgBHFhjbUhhc2gAFQQ9AVdlIGhhdmUgcmVxdWVzdGVkIHRoYXQgYSByZW1vdGUgY2hhaW4gc2VuZCB1cyBYQ00gdmVyc2lvbiBjaGFuZ2Ugbm90aWZpY2F0aW9ucy5gVmVyc2lvbk5vdGlmeVVucmVxdWVzdGVkDAEsZGVzdGluYXRpb27gASBMb2NhdGlvbgABEGNvc3SBAgEYQXNzZXRzAAEobWVzc2FnZV9pZAgBHFhjbUhhc2gAFgglAVdlIGhhdmUgcmVxdWVzdGVkIHRoYXQgYSByZW1vdGUgY2hhaW4gc3RvcHMgc2VuZGluZyB1cyBYQ00gdmVyc2lvbiBjaGFuZ2U4bm90aWZpY2F0aW9ucy4gRmVlc1BhaWQIARhwYXlpbmfgASBMb2NhdGlvbgABEGZlZXOBAgEYQXNzZXRzABcEMQFGZWVzIHdlcmUgcGFpZCBmcm9tIGEgbG9jYXRpb24gZm9yIGFuIG9wZXJhdGlvbiAob2Z0ZW4gZm9yIHVzaW5nIGBTZW5kWGNtYCkuNEFzc2V0c0NsYWltZWQMARBoYXNoPAEQSDI1NgABGG9yaWdpbuABIExvY2F0aW9uAAEYYXNzZXRz8QIBPFZlcnNpb25lZEFzc2V0cwAYBMBTb21lIGFzc2V0cyBoYXZlIGJlZW4gY2xhaW1lZCBmcm9tIGFuIGFzc2V0IHRyYXBgVmVyc2lvbk1pZ3JhdGlvbkZpbmlzaGVkBAEcdmVyc2lvbjgBKFhjbVZlcnNpb24AGQSEQSBYQ00gdmVyc2lvbiBtaWdyYXRpb24gZmluaXNoZWQuPEFsaWFzQXV0aG9yaXplZAwBHGFsaWFzZXLgASBMb2NhdGlvbgABGHRhcmdldOABIExvY2F0aW9uAAEYZXhwaXJ5LQMBLE9wdGlvbjx1NjQ+ABoIXQFBbiBgYWxpYXNlcmAgbG9jYXRpb24gd2FzIGF1dGhvcml6ZWQgYnkgYHRhcmdldGAgdG8gYWxpYXMgaXQsIGF1dGhvcml6YXRpb24gdmFsaWQgdW50aWxYYGV4cGlyeWAgYmxvY2sgbnVtYmVyLmRBbGlhc0F1dGhvcml6YXRpb25SZW1vdmVkCAEcYWxpYXNlcuABIExvY2F0aW9uAAEYdGFyZ2V04AEgTG9jYXRpb24AGwTMYHRhcmdldGAgcmVtb3ZlZCBhbGlhcyBhdXRob3JpemF0aW9uIGZvciBgYWxpYXNlcmAucEFsaWFzZXNBdXRob3JpemF0aW9uc1JlbW92ZWQEARh0YXJnZXTgASBMb2NhdGlvbgAcBKhgdGFyZ2V0YCByZW1vdmVkIGFsbCBhbGlhcyBhdXRob3JpemF0aW9ucy4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXQRBBAsc3RhZ2luZ194Y20IdjUYdHJhaXRzHE91dGNvbWUAAQwgQ29tcGxldGUEARB1c2VkKQEBGFdlaWdodAAAAChJbmNvbXBsZXRlCAEQdXNlZCkBARhXZWlnaHQAARRlcnJvchUEAUBJbnN0cnVjdGlvbkVycm9yAAEAFEVycm9yBAAVBAFASW5zdHJ1Y3Rpb25FcnJvcgACAAAVBBAsc3RhZ2luZ194Y20IdjUYdHJhaXRzQEluc3RydWN0aW9uRXJyb3IAAAgBFGluZGV4DAFASW5zdHJ1Y3Rpb25JbmRleAABFGVycm9ypQIBFEVycm9yAAAZBBAMeGNtCHYzGHRyYWl0cyRTZW5kRXJyb3IAARw0Tm90QXBwbGljYWJsZQAAACRUcmFuc3BvcnQAAQAoVW5yb3V0YWJsZQACAFhEZXN0aW5hdGlvblVuc3VwcG9ydGVkAAMAVEV4Y2VlZHNNYXhNZXNzYWdlU2l6ZQAEADxNaXNzaW5nQXJndW1lbnQABQAQRmVlcwAGAAAdBAxIY3VtdWx1c19wYWxsZXRfeGNtGHBhbGxldBRFdmVudAQEVAABDDRJbnZhbGlkRm9ybWF0BAAIASBbdTg7IDMyXQAACIBEb3dud2FyZCBtZXNzYWdlIGlzIGludmFsaWQgWENNLiBcWyBpZCBcXUhVbnN1cHBvcnRlZFZlcnNpb24EAAgBIFt1ODsgMzJdAAEIvERvd253YXJkIG1lc3NhZ2UgaXMgdW5zdXBwb3J0ZWQgdmVyc2lvbiBvZiBYQ00uIFxbIGlkIFxdQEV4ZWN1dGVkRG93bndhcmQIAAgBIFt1ODsgMzJdAAARBAEcT3V0Y29tZQACCMREb3dud2FyZCBtZXNzYWdlIGV4ZWN1dGVkIHdpdGggdGhlIGdpdmVuIG91dGNvbWUuRFxbIGlkLCBvdXRjb21lIFxdBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0IQQMUHBhbGxldF9tZXNzYWdlX3F1ZXVlGHBhbGxldBRFdmVudAQEVAABEEBQcm9jZXNzaW5nRmFpbGVkDAEIaWQ8ARBIMjU2BJRUaGUgYGJsYWtlMl8yNTZgIGhhc2ggb2YgdGhlIG1lc3NhZ2UuARhvcmlnaW45AwFITWVzc2FnZU9yaWdpbk9mPFQ+BGRUaGUgcXVldWUgb2YgdGhlIG1lc3NhZ2UuARRlcnJvciUEAUxQcm9jZXNzTWVzc2FnZUVycm9yEGBUaGUgZXJyb3IgdGhhdCBvY2N1cnJlZC4ASQFUaGlzIGVycm9yIGlzIHByZXR0eSBvcGFxdWUuIE1vcmUgZmluZS1ncmFpbmVkIGVycm9ycyBuZWVkIHRvIGJlIGVtaXR0ZWQgYXMgZXZlbnRzaGJ5IHRoZSBgTWVzc2FnZVByb2Nlc3NvcmAuAARVAU1lc3NhZ2UgZGlzY2FyZGVkIGR1ZSB0byBhbiBlcnJvciBpbiB0aGUgYE1lc3NhZ2VQcm9jZXNzb3JgICh1c3VhbGx5IGEgZm9ybWF0IGVycm9yKS4kUHJvY2Vzc2VkEAEIaWQ8ARBIMjU2BJRUaGUgYGJsYWtlMl8yNTZgIGhhc2ggb2YgdGhlIG1lc3NhZ2UuARhvcmlnaW45AwFITWVzc2FnZU9yaWdpbk9mPFQ+BGRUaGUgcXVldWUgb2YgdGhlIG1lc3NhZ2UuASx3ZWlnaHRfdXNlZCkBARhXZWlnaHQEwEhvdyBtdWNoIHdlaWdodCB3YXMgdXNlZCB0byBwcm9jZXNzIHRoZSBtZXNzYWdlLgEcc3VjY2VzczEBARBib29sGIhXaGV0aGVyIHRoZSBtZXNzYWdlIHdhcyBwcm9jZXNzZWQuAEkBTm90ZSB0aGF0IHRoaXMgZG9lcyBub3QgbWVhbiB0aGF0IHRoZSB1bmRlcmx5aW5nIGBNZXNzYWdlUHJvY2Vzc29yYCB3YXMgaW50ZXJuYWxseTUBc3VjY2Vzc2Z1bC4gSXQgKnNvbGVseSogbWVhbnMgdGhhdCB0aGUgTVEgcGFsbGV0IHdpbGwgdHJlYXQgdGhpcyBhcyBhIHN1Y2Nlc3NNAWNvbmRpdGlvbiBhbmQgZGlzY2FyZCB0aGUgbWVzc2FnZS4gQW55IGludGVybmFsIGVycm9yIG5lZWRzIHRvIGJlIGVtaXR0ZWQgYXMgZXZlbnRzaGJ5IHRoZSBgTWVzc2FnZVByb2Nlc3NvcmAuAQRUTWVzc2FnZSBpcyBwcm9jZXNzZWQuSE92ZXJ3ZWlnaHRFbnF1ZXVlZBABCGlkCAEgW3U4OyAzMl0ElFRoZSBgYmxha2UyXzI1NmAgaGFzaCBvZiB0aGUgbWVzc2FnZS4BGG9yaWdpbjkDAUhNZXNzYWdlT3JpZ2luT2Y8VD4EZFRoZSBxdWV1ZSBvZiB0aGUgbWVzc2FnZS4BKHBhZ2VfaW5kZXg4ASRQYWdlSW5kZXgEYFRoZSBwYWdlIG9mIHRoZSBtZXNzYWdlLgE0bWVzc2FnZV9pbmRleDgBHFQ6OlNpemUEpFRoZSBpbmRleCBvZiB0aGUgbWVzc2FnZSB3aXRoaW4gdGhlIHBhZ2UuAgSMTWVzc2FnZSBwbGFjZWQgaW4gb3ZlcndlaWdodCBxdWV1ZS4oUGFnZVJlYXBlZAgBGG9yaWdpbjkDAUhNZXNzYWdlT3JpZ2luT2Y8VD4EWFRoZSBxdWV1ZSBvZiB0aGUgcGFnZS4BFGluZGV4OAEkUGFnZUluZGV4BFhUaGUgaW5kZXggb2YgdGhlIHBhZ2UuAwRUVGhpcyBwYWdlIHdhcyByZWFwZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0JQQQNGZyYW1lX3N1cHBvcnQYdHJhaXRzIG1lc3NhZ2VzTFByb2Nlc3NNZXNzYWdlRXJyb3IAARgkQmFkRm9ybWF0AAAAHENvcnJ1cHQAAQAsVW5zdXBwb3J0ZWQAAgAoT3ZlcndlaWdodAQAKQEBGFdlaWdodAADABRZaWVsZAAEAERTdGFja0xpbWl0UmVhY2hlZAAFAAApBAwscGFsbGV0X3N1ZG8YcGFsbGV0FEV2ZW50BARUAAEQFFN1ZGlkBAEsc3Vkb19yZXN1bHTRAwE4RGlzcGF0Y2hSZXN1bHQEtFRoZSByZXN1bHQgb2YgdGhlIGNhbGwgbWFkZSBieSB0aGUgc3VkbyB1c2VyLgAEcEEgc3VkbyBjYWxsIGp1c3QgdG9vayBwbGFjZS4oS2V5Q2hhbmdlZAgBDG9sZC0EAVBPcHRpb248VDo6QWNjb3VudElkPgS0VGhlIG9sZCBzdWRvIGtleSAoaWYgb25lIHdhcyBwcmV2aW91c2x5IHNldCkuAQxuZXcEATBUOjpBY2NvdW50SWQEiFRoZSBuZXcgc3VkbyBrZXkgKGlmIG9uZSB3YXMgc2V0KS4BBHhUaGUgc3VkbyBrZXkgaGFzIGJlZW4gdXBkYXRlZC4oS2V5UmVtb3ZlZAACBIBUaGUga2V5IHdhcyBwZXJtYW5lbnRseSByZW1vdmVkLihTdWRvQXNEb25lBAEsc3Vkb19yZXN1bHTRAwE4RGlzcGF0Y2hSZXN1bHQEtFRoZSByZXN1bHQgb2YgdGhlIGNhbGwgbWFkZSBieSB0aGUgc3VkbyB1c2VyLgMEyEEgW3N1ZG9fYXNdKFBhbGxldDo6c3Vkb19hcykgY2FsbCBqdXN0IHRvb2sgcGxhY2UuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0LQQEGE9wdGlvbgQEVAEEAQgQTm9uZQAAABBTb21lBAAEAAABAAAxBAgwZnJhbWVfc3lzdGVtFFBoYXNlAAEMOEFwcGx5RXh0cmluc2ljBAA4AQx1MzIAAAAwRmluYWxpemF0aW9uAAEAOEluaXRpYWxpemF0aW9uAAIAADUEAAACPAA5BAAAAj0EAD0EAAAECDg4AEEECDBmcmFtZV9zeXN0ZW1YTGFzdFJ1bnRpbWVVcGdyYWRlSW5mbwAACAEwc3BlY192ZXJzaW9uYAFMY29kZWM6OkNvbXBhY3Q8dTMyPgABJHNwZWNfbmFtZUUEAURDb3c8J3N0YXRpYywgc3RyPgAARQQEDENvdwQEVAFJBAAEAEkEAAAASQQAAAUCAE0ECDBmcmFtZV9zeXN0ZW1gQ29kZVVwZ3JhZGVBdXRob3JpemF0aW9uBARUAAAIASRjb2RlX2hhc2g8ARxUOjpIYXNoAAE0Y2hlY2tfdmVyc2lvbjEBARBib29sAABRBAwwZnJhbWVfc3lzdGVtGGxpbWl0czBCbG9ja1dlaWdodHMAAAwBKGJhc2VfYmxvY2spAQEYV2VpZ2h0AAEkbWF4X2Jsb2NrKQEBGFdlaWdodAABJHBlcl9jbGFzc1UEAYRQZXJEaXNwYXRjaENsYXNzPFdlaWdodHNQZXJDbGFzcz4AAFUEDDRmcmFtZV9zdXBwb3J0IGRpc3BhdGNoQFBlckRpc3BhdGNoQ2xhc3MEBFQBWQQADAEYbm9ybWFsWQQBBFQAASxvcGVyYXRpb25hbFkEAQRUAAEkbWFuZGF0b3J5WQQBBFQAAFkEDDBmcmFtZV9zeXN0ZW0YbGltaXRzPFdlaWdodHNQZXJDbGFzcwAAEAE4YmFzZV9leHRyaW5zaWMpAQEYV2VpZ2h0AAE0bWF4X2V4dHJpbnNpY70CAThPcHRpb248V2VpZ2h0PgABJG1heF90b3RhbL0CAThPcHRpb248V2VpZ2h0PgABIHJlc2VydmVkvQIBOE9wdGlvbjxXZWlnaHQ+AABdBAwwZnJhbWVfc3lzdGVtGGxpbWl0cyxCbG9ja0xlbmd0aAAACAEMbWF4YQQBVFBlckRpc3BhdGNoQ2xhc3M8dTMyPgABPG1heF9oZWFkZXJfc2l6ZSEDASxPcHRpb248dTMyPgAAYQQMNGZyYW1lX3N1cHBvcnQgZGlzcGF0Y2hAUGVyRGlzcGF0Y2hDbGFzcwQEVAE4AAwBGG5vcm1hbDgBBFQAASxvcGVyYXRpb25hbDgBBFQAASRtYW5kYXRvcnk4AQRUAABlBAgoc3Bfd2VpZ2h0czxSdW50aW1lRGJXZWlnaHQAAAgBEHJlYWQoAQx1NjQAARR3cml0ZSgBDHU2NAAAaQQIKHNwX3ZlcnNpb244UnVudGltZVZlcnNpb24AACABJHNwZWNfbmFtZUUEAURDb3c8J3N0YXRpYywgc3RyPgABJGltcGxfbmFtZUUEAURDb3c8J3N0YXRpYywgc3RyPgABRGF1dGhvcmluZ192ZXJzaW9uOAEMdTMyAAEwc3BlY192ZXJzaW9uOAEMdTMyAAEwaW1wbF92ZXJzaW9uOAEMdTMyAAEQYXBpc20EARxBcGlzVmVjAAFMdHJhbnNhY3Rpb25fdmVyc2lvbjgBDHUzMgABOHN5c3RlbV92ZXJzaW9uDAEIdTgAAG0EBAxDb3cEBFQBcQQABABxBAAAAHEEAAACdQQAdQQAAAQI2QE4AHkEDDBmcmFtZV9zeXN0ZW0YcGFsbGV0FEVycm9yBARUAAEkPEludmFsaWRTcGVjTmFtZQAACBEBVGhlIG5hbWUgb2Ygc3BlY2lmaWNhdGlvbiBkb2VzIG5vdCBtYXRjaCBiZXR3ZWVuIHRoZSBjdXJyZW50IHJ1bnRpbWVQYW5kIHRoZSBuZXcgcnVudGltZS5oU3BlY1ZlcnNpb25OZWVkc1RvSW5jcmVhc2UAAQhBAVRoZSBzcGVjaWZpY2F0aW9uIHZlcnNpb24gaXMgbm90IGFsbG93ZWQgdG8gZGVjcmVhc2UgYmV0d2VlbiB0aGUgY3VycmVudCBydW50aW1lUGFuZCB0aGUgbmV3IHJ1bnRpbWUudEZhaWxlZFRvRXh0cmFjdFJ1bnRpbWVWZXJzaW9uAAIM7EZhaWxlZCB0byBleHRyYWN0IHRoZSBydW50aW1lIHZlcnNpb24gZnJvbSB0aGUgbmV3IHJ1bnRpbWUuAAkBRWl0aGVyIGNhbGxpbmcgYENvcmVfdmVyc2lvbmAgb3IgZGVjb2RpbmcgYFJ1bnRpbWVWZXJzaW9uYCBmYWlsZWQuTE5vbkRlZmF1bHRDb21wb3NpdGUAAwT8U3VpY2lkZSBjYWxsZWQgd2hlbiB0aGUgYWNjb3VudCBoYXMgbm9uLWRlZmF1bHQgY29tcG9zaXRlIGRhdGEuPE5vblplcm9SZWZDb3VudAAEBDUBVGhlcmUgaXMgYSBub24temVybyByZWZlcmVuY2UgY291bnQgcHJldmVudGluZyB0aGUgYWNjb3VudCBmcm9tIGJlaW5nIHB1cmdlZC4wQ2FsbEZpbHRlcmVkAAUE0FRoZSBvcmlnaW4gZmlsdGVyIHByZXZlbnQgdGhlIGNhbGwgdG8gYmUgZGlzcGF0Y2hlZC5sTXVsdGlCbG9ja01pZ3JhdGlvbnNPbmdvaW5nAAYEVQFBIG11bHRpLWJsb2NrIG1pZ3JhdGlvbiBpcyBvbmdvaW5nIGFuZCBwcmV2ZW50cyB0aGUgY3VycmVudCBjb2RlIGZyb20gYmVpbmcgcmVwbGFjZWQuRE5vdGhpbmdBdXRob3JpemVkAAcEWE5vIHVwZ3JhZGUgYXV0aG9yaXplZC4wVW5hdXRob3JpemVkAAgElFRoZSBzdWJtaXR0ZWQgY29kZSBpcyBub3QgYXV0aG9yaXplZC4EbEVycm9yIGZvciB0aGUgU3lzdGVtIHBhbGxldH0EDChzcF9ydW50aW1lGHRyYWl0cyxCbGFrZVR3bzI1NgAAAACBBBAoc3BfcnVudGltZRxnZW5lcmljFGJsb2NrFEJsb2NrCBhIZWFkZXIBXCRFeHRyaW5zaWMBhQQACAEYaGVhZGVyXAEYSGVhZGVyAAEoZXh0cmluc2ljc5EEAThWZWM8RXh0cmluc2ljPgAAhQQQKHNwX3J1bnRpbWUcZ2VuZXJpY0x1bmNoZWNrZWRfZXh0cmluc2ljSFVuY2hlY2tlZEV4dHJpbnNpYxAcQWRkcmVzcwEAEENhbGwBICRTaWduYXR1cmUBQQMURXh0cmEBiQQABAAYAAAAiQQIdGN1bXVsdXNfcGFsbGV0X3dlaWdodF9yZWNsYWltUFN0b3JhZ2VXZWlnaHRSZWNsYWltCARUAARTAY0EAAQAjQQBBFMAAI0EAAAELE0DUQNVA1kDXQNhA2kDbQNxA3UDeQMAkQQAAAKFBACVBAAAApkEAJkEDHxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtSHVuaW5jbHVkZWRfc2VnbWVudCBBbmNlc3RvcgQESAE8AAwBOHVzZWRfYmFuZHdpZHRonQQBNFVzZWRCYW5kd2lkdGgAAThwYXJhX2hlYWRfaGFzaLEEASRPcHRpb248SD4AAWBjb25zdW1lZF9nb19haGVhZF9zaWduYWy1BAGMT3B0aW9uPHJlbGF5X2NoYWluOjpVcGdyYWRlR29BaGVhZD4AAJ0EDHxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtSHVuaW5jbHVkZWRfc2VnbWVudDRVc2VkQmFuZHdpZHRoAAAMATR1bXBfbXNnX2NvdW50OAEMdTMyAAE8dW1wX3RvdGFsX2J5dGVzOAEMdTMyAAE0aHJtcF9vdXRnb2luZ6EEAYxCVHJlZU1hcDxQYXJhSWQsIEhybXBDaGFubmVsVXBkYXRlPgAAoQQEIEJUcmVlTWFwCARLAZwEVgGlBAAEAKkEAAAApQQMfGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW1IdW5pbmNsdWRlZF9zZWdtZW50REhybXBDaGFubmVsVXBkYXRlAAAIASRtc2dfY291bnQ4AQx1MzIAASx0b3RhbF9ieXRlczgBDHUzMgAAqQQAAAKtBACtBAAABAicpQQAsQQEGE9wdGlvbgQEVAE8AQgQTm9uZQAAABBTb21lBAA8AAABAAC1BAQYT3B0aW9uBARUAbkEAQgQTm9uZQAAABBTb21lBAC5BAAAAQAAuQQMTHBvbGthZG90X3ByaW1pdGl2ZXMIdjk4VXBncmFkZUdvQWhlYWQAAQgUQWJvcnQAAAAcR29BaGVhZAABAAC9BAx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbUh1bmluY2x1ZGVkX3NlZ21lbnQ4U2VnbWVudFRyYWNrZXIEBEgBPAAMATh1c2VkX2JhbmR3aWR0aJ0EATRVc2VkQmFuZHdpZHRoAAE4aHJtcF93YXRlcm1hcmshAwGAT3B0aW9uPHJlbGF5X2NoYWluOjpCbG9ja051bWJlcj4AAWBjb25zdW1lZF9nb19haGVhZF9zaWduYWy1BAGMT3B0aW9uPHJlbGF5X2NoYWluOjpVcGdyYWRlR29BaGVhZD4AAMEEBBhPcHRpb24EBFQBxQQBCBBOb25lAAAAEFNvbWUEAMUEAAABAADFBAxMcG9sa2Fkb3RfcHJpbWl0aXZlcwh2OUhVcGdyYWRlUmVzdHJpY3Rpb24AAQQcUHJlc2VudAAAAADJBAx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbVByZWxheV9zdGF0ZV9zbmFwc2hvdFhNZXNzYWdpbmdTdGF0ZVNuYXBzaG90AAAQATBkbXFfbXFjX2hlYWQ8AURyZWxheV9jaGFpbjo6SGFzaAABnHJlbGF5X2Rpc3BhdGNoX3F1ZXVlX3JlbWFpbmluZ19jYXBhY2l0ec0EAYxSZWxheURpc3BhdGNoUXVldWVSZW1haW5pbmdDYXBhY2l0eQABQGluZ3Jlc3NfY2hhbm5lbHPRBAGIVmVjPChQYXJhSWQsIEFicmlkZ2VkSHJtcENoYW5uZWwpPgABPGVncmVzc19jaGFubmVsc9EEAYhWZWM8KFBhcmFJZCwgQWJyaWRnZWRIcm1wQ2hhbm5lbCk+AADNBAx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbVByZWxheV9zdGF0ZV9zbmFwc2hvdIxSZWxheURpc3BhdGNoUXVldWVSZW1haW5pbmdDYXBhY2l0eQAACAE8cmVtYWluaW5nX2NvdW50OAEMdTMyAAE4cmVtYWluaW5nX3NpemU4AQx1MzIAANEEAAAC1QQA1QQAAAQInNkEANkEDExwb2xrYWRvdF9wcmltaXRpdmVzCHY5TEFicmlkZ2VkSHJtcENoYW5uZWwAABgBMG1heF9jYXBhY2l0eTgBDHUzMgABOG1heF90b3RhbF9zaXplOAEMdTMyAAFAbWF4X21lc3NhZ2Vfc2l6ZTgBDHUzMgABJG1zZ19jb3VudDgBDHUzMgABKHRvdGFsX3NpemU4AQx1MzIAASBtcWNfaGVhZLEEATBPcHRpb248SGFzaD4AAN0EDExwb2xrYWRvdF9wcmltaXRpdmVzCHY5ZEFicmlkZ2VkSG9zdENvbmZpZ3VyYXRpb24AACgBNG1heF9jb2RlX3NpemU4AQx1MzIAAUhtYXhfaGVhZF9kYXRhX3NpemU4AQx1MzIAAVhtYXhfdXB3YXJkX3F1ZXVlX2NvdW50OAEMdTMyAAFUbWF4X3Vwd2FyZF9xdWV1ZV9zaXplOAEMdTMyAAFcbWF4X3Vwd2FyZF9tZXNzYWdlX3NpemU4AQx1MzIAAZBtYXhfdXB3YXJkX21lc3NhZ2VfbnVtX3Blcl9jYW5kaWRhdGU4AQx1MzIAAYhocm1wX21heF9tZXNzYWdlX251bV9wZXJfY2FuZGlkYXRlOAEMdTMyAAFsdmFsaWRhdGlvbl91cGdyYWRlX2Nvb2xkb3duOAEsQmxvY2tOdW1iZXIAAWB2YWxpZGF0aW9uX3VwZ3JhZGVfZGVsYXk4ASxCbG9ja051bWJlcgABUGFzeW5jX2JhY2tpbmdfcGFyYW1z4QQBSEFzeW5jQmFja2luZ1BhcmFtcwAA4QQQTHBvbGthZG90X3ByaW1pdGl2ZXMIdjk0YXN5bmNfYmFja2luZ0hBc3luY0JhY2tpbmdQYXJhbXMAAAgBTG1heF9jYW5kaWRhdGVfZGVwdGg4AQx1MzIAAVBhbGxvd2VkX2FuY2VzdHJ5X2xlbjgBDHUzMgAA5QQIlGN1bXVsdXNfcHJpbWl0aXZlc19wYXJhY2hhaW5faW5oZXJlbnRETWVzc2FnZVF1ZXVlQ2hhaW4AAAQAPAEkUmVsYXlIYXNoAADpBAQgQlRyZWVNYXAIBEsBnARWAeUEAAQA7QQAAADtBAAAAvEEAPEEAAAECJzlBAD1BAx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbUhwYXJhY2hhaW5faW5oZXJlbnRASW5ib3VuZE1lc3NhZ2VJZAAACAEcc2VudF9hdDgBLEJsb2NrTnVtYmVyAAEscmV2ZXJzZV9pZHg4AQx1MzIAAPkEAAAC/QQA/QQIYHBvbGthZG90X2NvcmVfcHJpbWl0aXZlc0xPdXRib3VuZEhybXBNZXNzYWdlBAhJZAGcAAgBJHJlY2lwaWVudJwBCElkAAEQZGF0YRgBTGFsbG9jOjp2ZWM6OlZlYzx1OD4AAAEFDDRzcF9hcml0aG1ldGljLGZpeGVkX3BvaW50JEZpeGVkVTEyOAAABAD8ARB1MTI4AAAFBQx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbRhwYWxsZXQURXJyb3IEBFQAARhMT3ZlcmxhcHBpbmdVcGdyYWRlcwAABBkBQXR0ZW1wdCB0byB1cGdyYWRlIHZhbGlkYXRpb24gZnVuY3Rpb24gd2hpbGUgZXhpc3RpbmcgdXBncmFkZSBwZW5kaW5nLlBQcm9oaWJpdGVkQnlQb2xrYWRvdAABBE0BUG9sa2Fkb3QgY3VycmVudGx5IHByb2hpYml0cyB0aGlzIHBhcmFjaGFpbiBmcm9tIHVwZ3JhZGluZyBpdHMgdmFsaWRhdGlvbiBmdW5jdGlvbi4YVG9vQmlnAAIIRQFUaGUgc3VwcGxpZWQgdmFsaWRhdGlvbiBmdW5jdGlvbiBoYXMgY29tcGlsZWQgaW50byBhIGJsb2IgbGFyZ2VyIHRoYW4gUG9sa2Fkb3QgaXM8d2lsbGluZyB0byBydW4uaFZhbGlkYXRpb25EYXRhTm90QXZhaWxhYmxlAAMEHQFUaGUgaW5oZXJlbnQgd2hpY2ggc3VwcGxpZXMgdGhlIHZhbGlkYXRpb24gZGF0YSBkaWQgbm90IHJ1biB0aGlzIGJsb2NrLnRIb3N0Q29uZmlndXJhdGlvbk5vdEF2YWlsYWJsZQAEBCkBVGhlIGluaGVyZW50IHdoaWNoIHN1cHBsaWVzIHRoZSBob3N0IGNvbmZpZ3VyYXRpb24gZGlkIG5vdCBydW4gdGhpcyBibG9jay4wTm90U2NoZWR1bGVkAAUE2E5vIHZhbGlkYXRpb24gZnVuY3Rpb24gdXBncmFkZSBpcyBjdXJyZW50bHkgc2NoZWR1bGVkLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC4JBQw4cGFsbGV0X3V0aWxpdHkYcGFsbGV0FEVycm9yBARUAAEEMFRvb01hbnlDYWxscwAABFxUb28gbWFueSBjYWxscyBiYXRjaGVkLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC4NBQxMYm91bmRlZF9jb2xsZWN0aW9uc0B3ZWFrX2JvdW5kZWRfdmVjOFdlYWtCb3VuZGVkVmVjCARUAREFBFMAAAQAGQUBGFZlYzxUPgAAEQUMPHBhbGxldF9iYWxhbmNlcxR0eXBlcyxCYWxhbmNlTG9jawQcQmFsYW5jZQH8AAwBCGlk2QEBOExvY2tJZGVudGlmaWVyAAEYYW1vdW50/AEcQmFsYW5jZQABHHJlYXNvbnMVBQEcUmVhc29ucwAAFQUMPHBhbGxldF9iYWxhbmNlcxR0eXBlcxxSZWFzb25zAAEMDEZlZQAAABBNaXNjAAEADEFsbAACAAAZBQAAAhEFAB0FDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBIQUEUwAABAAlBQEYVmVjPFQ+AAAhBQw8cGFsbGV0X2JhbGFuY2VzFHR5cGVzLFJlc2VydmVEYXRhCERSZXNlcnZlSWRlbnRpZmllcgHZARxCYWxhbmNlAfwACAEIaWTZAQFEUmVzZXJ2ZUlkZW50aWZpZXIAARhhbW91bnT8ARxCYWxhbmNlAAAlBQAAAiEFACkFDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBLQUEUwAABAAxBQEYVmVjPFQ+AAAtBRQ0ZnJhbWVfc3VwcG9ydBh0cmFpdHMYdG9rZW5zEG1pc2MgSWRBbW91bnQICElkAd0DHEJhbGFuY2UB/AAIAQhpZN0DAQhJZAABGGFtb3VudPwBHEJhbGFuY2UAADEFAAACLQUANQUMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAE5BQRTAAAEAD0FARhWZWM8VD4AADkFFDRmcmFtZV9zdXBwb3J0GHRyYWl0cxh0b2tlbnMQbWlzYyBJZEFtb3VudAgISWQBEBxCYWxhbmNlAfwACAEIaWQQAQhJZAABGGFtb3VudPwBHEJhbGFuY2UAAD0FAAACOQUAQQUMPHBhbGxldF9iYWxhbmNlcxhwYWxsZXQURXJyb3IIBFQABEkAATA4VmVzdGluZ0JhbGFuY2UAAAScVmVzdGluZyBiYWxhbmNlIHRvbyBoaWdoIHRvIHNlbmQgdmFsdWUuVExpcXVpZGl0eVJlc3RyaWN0aW9ucwABBMhBY2NvdW50IGxpcXVpZGl0eSByZXN0cmljdGlvbnMgcHJldmVudCB3aXRoZHJhd2FsLkxJbnN1ZmZpY2llbnRCYWxhbmNlAAIEeEJhbGFuY2UgdG9vIGxvdyB0byBzZW5kIHZhbHVlLkhFeGlzdGVudGlhbERlcG9zaXQAAwTsVmFsdWUgdG9vIGxvdyB0byBjcmVhdGUgYWNjb3VudCBkdWUgdG8gZXhpc3RlbnRpYWwgZGVwb3NpdC40RXhwZW5kYWJpbGl0eQAEBJBUcmFuc2Zlci9wYXltZW50IHdvdWxkIGtpbGwgYWNjb3VudC5cRXhpc3RpbmdWZXN0aW5nU2NoZWR1bGUABQTMQSB2ZXN0aW5nIHNjaGVkdWxlIGFscmVhZHkgZXhpc3RzIGZvciB0aGlzIGFjY291bnQuLERlYWRBY2NvdW50AAYEjEJlbmVmaWNpYXJ5IGFjY291bnQgbXVzdCBwcmUtZXhpc3QuPFRvb01hbnlSZXNlcnZlcwAHBLhOdW1iZXIgb2YgbmFtZWQgcmVzZXJ2ZXMgZXhjZWVkIGBNYXhSZXNlcnZlc2AuMFRvb01hbnlIb2xkcwAIBPhOdW1iZXIgb2YgaG9sZHMgZXhjZWVkIGBWYXJpYW50Q291bnRPZjxUOjpSdW50aW1lSG9sZFJlYXNvbj5gLjhUb29NYW55RnJlZXplcwAJBJhOdW1iZXIgb2YgZnJlZXplcyBleGNlZWQgYE1heEZyZWV6ZXNgLkxJc3N1YW5jZURlYWN0aXZhdGVkAAoEAQFUaGUgaXNzdWFuY2UgY2Fubm90IGJlIG1vZGlmaWVkIHNpbmNlIGl0IGlzIGFscmVhZHkgZGVhY3RpdmF0ZWQuJERlbHRhWmVybwALBGRUaGUgZGVsdGEgY2Fubm90IGJlIHplcm8uBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LkUFCGhwYWxsZXRfdHJhbnNhY3Rpb25fcGF5bWVudCBSZWxlYXNlcwABCCRWMUFuY2llbnQAAAAIVjIAAQAASQUQNGZyYW1lX3N1cHBvcnQYdHJhaXRzHHN0b3JhZ2UYTm9Ecm9wBARUAU0FAAQATQUBBFQAAE0FGDRmcmFtZV9zdXBwb3J0GHRyYWl0cxh0b2tlbnMgZnVuZ2libGUkaW1iYWxhbmNlJEltYmFsYW5jZQwEQgH8GE9uRHJvcAA4T3Bwb3NpdGVPbkRyb3AAAAQBGGFtb3VudPwBBEIAAFEFCGhwYWxsZXRfdHJhbnNhY3Rpb25fc3RvcmFnZTRBdXRob3JpemF0aW9uBCxCbG9ja051bWJlcgE4AAgBGGV4dGVudFUFAUxBdXRob3JpemF0aW9uRXh0ZW50AAEoZXhwaXJhdGlvbjgBLEJsb2NrTnVtYmVyAABVBQhocGFsbGV0X3RyYW5zYWN0aW9uX3N0b3JhZ2VMQXV0aG9yaXphdGlvbkV4dGVudAAACAEwdHJhbnNhY3Rpb25zOAEMdTMyAAEUYnl0ZXMoAQx1NjQAAFkFDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBXQUEUwAABABhBQEYVmVjPFQ+AABdBQhocGFsbGV0X3RyYW5zYWN0aW9uX3N0b3JhZ2U8VHJhbnNhY3Rpb25JbmZvAAAYAShjaHVua19yb290PAF0PEJsYWtlVHdvMjU2IGFzIEhhc2g+OjpPdXRwdXQAATBjb250ZW50X2hhc2gIASxDb250ZW50SGFzaAABHGhhc2hpbmdFAQFASGFzaGluZ0FsZ29yaXRobQABJGNpZF9jb2RlYygBIENpZENvZGVjAAEQc2l6ZTgBDHUzMgABMGJsb2NrX2NodW5rczgBKENodW5rSW5kZXgAAGEFAAACXQUAZQUMaHBhbGxldF90cmFuc2FjdGlvbl9zdG9yYWdlGHBhbGxldBRFcnJvcgQEVAABOChCYWRDb250ZXh0AAAE9EF0dGVtcHRlZCB0byBjYWxsIGBzdG9yZWAvYHJlbmV3YCBvdXRzaWRlIG9mIGJsb2NrIGV4ZWN1dGlvbi4sQmFkRGF0YVNpemUAAQSYRGF0YSBzaXplIGlzIG5vdCBpbiB0aGUgYWxsb3dlZCByYW5nZS5MVG9vTWFueVRyYW5zYWN0aW9ucwACBIxUb28gbWFueSB0cmFuc2FjdGlvbnMgaW4gdGhlIGJsb2NrLjROb3RDb25maWd1cmVkAAMEWEludmFsaWQgY29uZmlndXJhdGlvbi48UmVuZXdlZE5vdEZvdW5kAAQEfFJlbmV3ZWQgZXh0cmluc2ljIGlzIG5vdCBmb3VuZC48VW5leHBlY3RlZFByb29mAAUElFByb29mIHdhcyBub3QgZXhwZWN0ZWQgaW4gdGhpcyBibG9jay4wSW52YWxpZFByb29mAAYEaFByb29mIGZhaWxlZCB2ZXJpZmljYXRpb24uME1pc3NpbmdQcm9vZgAHBFhNaXNzaW5nIHN0b3JhZ2UgcHJvb2YuQE1pc3NpbmdTdGF0ZURhdGEACATUVW5hYmxlIHRvIHZlcmlmeSBwcm9vZiBiZWNhdXNlIHN0YXRlIGRhdGEgaXMgbWlzc2luZy4sRG91YmxlQ2hlY2sACQSARG91YmxlIHByb29mIGNoZWNrIGluIHRoZSBibG9jay48UHJvb2ZOb3RDaGVja2VkAAoErFN0b3JhZ2UgcHJvb2Ygd2FzIG5vdCBjaGVja2VkIGluIHRoZSBibG9jay5UQXV0aG9yaXphdGlvbk5vdEZvdW5kAAsEcEF1dGhvcml6YXRpb24gd2FzIG5vdCBmb3VuZC5cQXV0aG9yaXphdGlvbk5vdEV4cGlyZWQADAR4QXV0aG9yaXphdGlvbiBoYXMgbm90IGV4cGlyZWQuSEludmFsaWRDb250ZW50SGFzaAANBIBDb250ZW50IGhhc2ggd2FzIG5vdCBjYWxjdWxhdGVkLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC5pBQxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQQEUwAABAA1AQEYVmVjPFQ+AABtBQxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAXEFBFMAAAQAdQUBGFZlYzxUPgAAcQUMZHBhbGxldF9jb2xsYXRvcl9zZWxlY3Rpb24YcGFsbGV0NENhbmRpZGF0ZUluZm8IJEFjY291bnRJZAEEHEJhbGFuY2UB/AAIAQx3aG8EASRBY2NvdW50SWQAARxkZXBvc2l0/AEcQmFsYW5jZQAAdQUAAAJxBQB5BQg0ZnJhbWVfc3VwcG9ydCBQYWxsZXRJZAAABADZAQEcW3U4OyA4XQAAfQUMZHBhbGxldF9jb2xsYXRvcl9zZWxlY3Rpb24YcGFsbGV0FEVycm9yBARUAAFERFRvb01hbnlDYW5kaWRhdGVzAAAEjFRoZSBwYWxsZXQgaGFzIHRvbyBtYW55IGNhbmRpZGF0ZXMuXFRvb0Zld0VsaWdpYmxlQ29sbGF0b3JzAAEErExlYXZpbmcgd291bGQgcmVzdWx0IGluIHRvbyBmZXcgY2FuZGlkYXRlcy5AQWxyZWFkeUNhbmRpZGF0ZQACBHxBY2NvdW50IGlzIGFscmVhZHkgYSBjYW5kaWRhdGUuME5vdENhbmRpZGF0ZQADBGxBY2NvdW50IGlzIG5vdCBhIGNhbmRpZGF0ZS5QVG9vTWFueUludnVsbmVyYWJsZXMABASEVGhlcmUgYXJlIHRvbyBtYW55IEludnVsbmVyYWJsZXMuTEFscmVhZHlJbnZ1bG5lcmFibGUABQSMQWNjb3VudCBpcyBhbHJlYWR5IGFuIEludnVsbmVyYWJsZS48Tm90SW52dWxuZXJhYmxlAAYEfEFjY291bnQgaXMgbm90IGFuIEludnVsbmVyYWJsZS5cTm9Bc3NvY2lhdGVkVmFsaWRhdG9ySWQABwScQWNjb3VudCBoYXMgbm8gYXNzb2NpYXRlZCB2YWxpZGF0b3IgSUQuWFZhbGlkYXRvck5vdFJlZ2lzdGVyZWQACASMVmFsaWRhdG9yIElEIGlzIG5vdCB5ZXQgcmVnaXN0ZXJlZC5sSW5zZXJ0VG9DYW5kaWRhdGVMaXN0RmFpbGVkAAkEnENvdWxkIG5vdCBpbnNlcnQgaW4gdGhlIGNhbmRpZGF0ZSBsaXN0LnRSZW1vdmVGcm9tQ2FuZGlkYXRlTGlzdEZhaWxlZAAKBKRDb3VsZCBub3QgcmVtb3ZlIGZyb20gdGhlIGNhbmRpZGF0ZSBsaXN0LjREZXBvc2l0VG9vTG93AAsE9E5ldyBkZXBvc2l0IGFtb3VudCB3b3VsZCBiZSBiZWxvdyB0aGUgbWluaW11bSBjYW5kaWRhY3kgYm9uZC5kVXBkYXRlQ2FuZGlkYXRlTGlzdEZhaWxlZAAMBJBDb3VsZCBub3QgdXBkYXRlIHRoZSBjYW5kaWRhdGUgbGlzdC5ASW5zdWZmaWNpZW50Qm9uZAANBCkBRGVwb3NpdCBhbW91bnQgaXMgdG9vIGxvdyB0byB0YWtlIHRoZSB0YXJnZXQncyBzbG90IGluIHRoZSBjYW5kaWRhdGUgbGlzdC5QVGFyZ2V0SXNOb3RDYW5kaWRhdGUADgQtAVRoZSB0YXJnZXQgYWNjb3VudCB0byBiZSByZXBsYWNlZCBpbiB0aGUgY2FuZGlkYXRlIGxpc3QgaXMgbm90IGEgY2FuZGlkYXRlLkBJZGVudGljYWxEZXBvc2l0AA8EDQFUaGUgdXBkYXRlZCBkZXBvc2l0IGFtb3VudCBpcyBlcXVhbCB0byB0aGUgYW1vdW50IGFscmVhZHkgcmVzZXJ2ZWQuQEludmFsaWRVbnJlc2VydmUAEAQ9AUNhbm5vdCBsb3dlciBjYW5kaWRhY3kgYm9uZCB3aGlsZSBvY2N1cHlpbmcgYSBmdXR1cmUgY29sbGF0b3Igc2xvdCBpbiB0aGUgbGlzdC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQugQUAAAKFBQCFBQAABAgEVQEAiQUAAAKNBQCNBQAABAg4kQUAkQUMKHNwX3N0YWtpbmccb2ZmZW5jZTxPZmZlbmNlU2V2ZXJpdHkAAAQAlQUBHFBlcmJpbGwAAJUFDDRzcF9hcml0aG1ldGljKHBlcl90aGluZ3McUGVyYmlsbAAABAA4AQx1MzIAAJkFAAAECJ0FGACdBQwcc3BfY29yZRhjcnlwdG8kS2V5VHlwZUlkAAAEAHABHFt1ODsgNF0AAKEFDDhwYWxsZXRfc2Vzc2lvbhhwYWxsZXQURXJyb3IEBFQAARQwSW52YWxpZFByb29mAAAEYEludmFsaWQgb3duZXJzaGlwIHByb29mLlxOb0Fzc29jaWF0ZWRWYWxpZGF0b3JJZAABBJxObyBhc3NvY2lhdGVkIHZhbGlkYXRvciBJRCBmb3IgYWNjb3VudC40RHVwbGljYXRlZEtleQACBGRSZWdpc3RlcmVkIGR1cGxpY2F0ZSBrZXkuGE5vS2V5cwADBKRObyBrZXlzIGFyZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBhY2NvdW50LiROb0FjY291bnQABAQZAUtleSBzZXR0aW5nIGFjY291bnQgaXMgbm90IGxpdmUsIHNvIGl0J3MgaW1wb3NzaWJsZSB0byBhc3NvY2lhdGUga2V5cy4EdEVycm9yIGZvciB0aGUgc2Vzc2lvbiBwYWxsZXQupQUMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAFZAQRTAAAEAKkFARhWZWM8VD4AAKkFAAACWQEArQUISHNwX2NvbnNlbnN1c19zbG90cxBTbG90AAAEACgBDHU2NAAAsQUAAAQIrQU4ALUFDExib3VuZGVkX2NvbGxlY3Rpb25zRGJvdW5kZWRfYnRyZWVfc2V0PEJvdW5kZWRCVHJlZVNldAgEVAGcBFMAAAQAuQUBLEJUcmVlU2V0PFQ+AAC5BQQgQlRyZWVTZXQEBFQBnAAEAL0FAAAAvQUAAAKcAMEFDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBxQUEUwAABADNBQEYVmVjPFQ+AADFBQhkY3VtdWx1c19wYWxsZXRfeGNtcF9xdWV1ZVhPdXRib3VuZENoYW5uZWxEZXRhaWxzAAAUASRyZWNpcGllbnScARhQYXJhSWQAARRzdGF0ZckFATRPdXRib3VuZFN0YXRlAAE0c2lnbmFsc19leGlzdDEBARBib29sAAEsZmlyc3RfaW5kZXjEAQx1MTYAAShsYXN0X2luZGV4xAEMdTE2AADJBQhkY3VtdWx1c19wYWxsZXRfeGNtcF9xdWV1ZTRPdXRib3VuZFN0YXRlAAEICE9rAAAAJFN1c3BlbmRlZAABAADNBQAAAsUFANEFAAAECJzEANUFDExib3VuZGVkX2NvbGxlY3Rpb25zQHdlYWtfYm91bmRlZF92ZWM4V2Vha0JvdW5kZWRWZWMIBFQBDARTAAAEABgBGFZlYzxUPgAA2QUIZGN1bXVsdXNfcGFsbGV0X3hjbXBfcXVldWU8UXVldWVDb25maWdEYXRhAAAMAURzdXNwZW5kX3RocmVzaG9sZDgBDHUzMgABOGRyb3BfdGhyZXNob2xkOAEMdTMyAAFAcmVzdW1lX3RocmVzaG9sZDgBDHUzMgAA3QUMZGN1bXVsdXNfcGFsbGV0X3hjbXBfcXVldWUYcGFsbGV0FEVycm9yBARUAAEUOEJhZFF1ZXVlQ29uZmlnAAAEEQFTZXR0aW5nIHRoZSBxdWV1ZSBjb25maWcgZmFpbGVkIHNpbmNlIG9uZSBvZiBpdHMgdmFsdWVzIHdhcyBpbnZhbGlkLkBBbHJlYWR5U3VzcGVuZGVkAAEEjFRoZSBleGVjdXRpb24gaXMgYWxyZWFkeSBzdXNwZW5kZWQuOEFscmVhZHlSZXN1bWVkAAIEhFRoZSBleGVjdXRpb24gaXMgYWxyZWFkeSByZXN1bWVkLnRUb29NYW55QWN0aXZlT3V0Ym91bmRDaGFubmVscwADBLBUaGVyZSBhcmUgdG9vIG1hbnkgYWN0aXZlIG91dGJvdW5kIGNoYW5uZWxzLhhUb29CaWcABARcVGhlIG1lc3NhZ2UgaXMgdG9vIGJpZy4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQu4QUMKHBhbGxldF94Y20YcGFsbGV0LFF1ZXJ5U3RhdHVzBCxCbG9ja051bWJlcgE4AQwcUGVuZGluZxABJHJlc3BvbmRlcmUBAURWZXJzaW9uZWRMb2NhdGlvbgABTG1heWJlX21hdGNoX3F1ZXJpZXLlBQFkT3B0aW9uPFZlcnNpb25lZExvY2F0aW9uPgABMG1heWJlX25vdGlmeekFAUBPcHRpb248KHU4LCB1OCk+AAEcdGltZW91dDgBLEJsb2NrTnVtYmVyAAAAPFZlcnNpb25Ob3RpZmllcggBGG9yaWdpbmUBAURWZXJzaW9uZWRMb2NhdGlvbgABJGlzX2FjdGl2ZTEBARBib29sAAEAFFJlYWR5CAEgcmVzcG9uc2XxBQFEVmVyc2lvbmVkUmVzcG9uc2UAAQhhdDgBLEJsb2NrTnVtYmVyAAIAAOUFBBhPcHRpb24EBFQBZQEBCBBOb25lAAAAEFNvbWUEAGUBAAABAADpBQQYT3B0aW9uBARUAe0FAQgQTm9uZQAAABBTb21lBADtBQAAAQAA7QUAAAQIDAwA8QUIDHhjbURWZXJzaW9uZWRSZXNwb25zZQABDAhWMwQA4QEBMHYzOjpSZXNwb25zZQADAAhWNAQATQIBMHY0OjpSZXNwb25zZQAEAAhWNQQAmQIBMHY1OjpSZXNwb25zZQAFAAD1BQAABAg4ZQEA+QUAAAQMKCkBOAD9BQxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQEGBFMAAAQABQYBGFZlYzxUPgAAAQYAAAQIZQE4AAUGAAACAQYACQYMKHBhbGxldF94Y20YcGFsbGV0VFZlcnNpb25NaWdyYXRpb25TdGFnZQABEFxNaWdyYXRlU3VwcG9ydGVkVmVyc2lvbgAAAFxNaWdyYXRlVmVyc2lvbk5vdGlmaWVycwABAFBOb3RpZnlDdXJyZW50VGFyZ2V0cwQA/QMBPE9wdGlvbjxWZWM8dTg+PgACAGhNaWdyYXRlQW5kTm90aWZ5T2xkVGFyZ2V0cwADAAANBgAABAw4BCkDABEGDChwYWxsZXRfeGNtGHBhbGxldGhSZW1vdGVMb2NrZWRGdW5naWJsZVJlY29yZAhIQ29uc3VtZXJJZGVudGlmaWVyARAwTWF4Q29uc3VtZXJzAAAQARhhbW91bnT8ARB1MTI4AAEUb3duZXJlAQFEVmVyc2lvbmVkTG9jYXRpb24AARhsb2NrZXJlAQFEVmVyc2lvbmVkTG9jYXRpb24AASRjb25zdW1lcnMVBgHQQm91bmRlZFZlYzwoQ29uc3VtZXJJZGVudGlmaWVyLCB1MTI4KSwgTWF4Q29uc3VtZXJzPgAAFQYMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEZBgRTAAAEAB0GARhWZWM8VD4AABkGAAAECBD8AB0GAAACGQYAIQYMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAElBgRTAAAEACkGARhWZWM8VD4AACUGAAAECPxlAQApBgAAAiUGAC0GCChwYWxsZXRfeGNtWEF1dGhvcml6ZWRBbGlhc2VzRW50cnkIGFRpY2tldAExBgxNQVgBNQYACAEgYWxpYXNlcnM5BgF4Qm91bmRlZFZlYzxPcmlnaW5BbGlhc2VyLCBNQVg+AAEYdGlja2V0MQYBGFRpY2tldAAAMQYUNGZyYW1lX3N1cHBvcnQYdHJhaXRzGHRva2VucyBmdW5naWJsZURIb2xkQ29uc2lkZXJhdGlvbhQEQQAERgAEUgAERAAIRnAAAAQA/AEoRjo6QmFsYW5jZQAANQYMKHBhbGxldF94Y20YcGFsbGV0UE1heEF1dGhvcml6ZWRBbGlhc2VzAAAAADkGDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBPQYEUwAABABBBgEYVmVjPFQ+AAA9BgxAeGNtX3J1bnRpbWVfYXBpc0hhdXRob3JpemVkX2FsaWFzZXM0T3JpZ2luQWxpYXNlcgAACAEgbG9jYXRpb25lAQFEVmVyc2lvbmVkTG9jYXRpb24AARhleHBpcnktAwEsT3B0aW9uPHU2ND4AAEEGAAACPQYARQYMKHBhbGxldF94Y20YcGFsbGV0FEVycm9yBARUAAFwLFVucmVhY2hhYmxlAAAIXQFUaGUgZGVzaXJlZCBkZXN0aW5hdGlvbiB3YXMgdW5yZWFjaGFibGUsIGdlbmVyYWxseSBiZWNhdXNlIHRoZXJlIGlzIGEgbm8gd2F5IG9mIHJvdXRpbmcYdG8gaXQuLFNlbmRGYWlsdXJlAAEIQQFUaGVyZSB3YXMgc29tZSBvdGhlciBpc3N1ZSAoaS5lLiBub3QgdG8gZG8gd2l0aCByb3V0aW5nKSBpbiBzZW5kaW5nIHRoZSBtZXNzYWdlLshQZXJoYXBzIGEgbGFjayBvZiBzcGFjZSBmb3IgYnVmZmVyaW5nIHRoZSBtZXNzYWdlLiBGaWx0ZXJlZAACBJxUaGUgbWVzc2FnZSBleGVjdXRpb24gZmFpbHMgdGhlIGZpbHRlci5IVW53ZWlnaGFibGVNZXNzYWdlAAMEtFRoZSBtZXNzYWdlJ3Mgd2VpZ2h0IGNvdWxkIG5vdCBiZSBkZXRlcm1pbmVkLmBEZXN0aW5hdGlvbk5vdEludmVydGlibGUABATcVGhlIGRlc3RpbmF0aW9uIGBMb2NhdGlvbmAgcHJvdmlkZWQgY2Fubm90IGJlIGludmVydGVkLhRFbXB0eQAFBIBUaGUgYXNzZXRzIHRvIGJlIHNlbnQgYXJlIGVtcHR5LjhDYW5ub3RSZWFuY2hvcgAGBDUBQ291bGQgbm90IHJlLWFuY2hvciB0aGUgYXNzZXRzIHRvIGRlY2xhcmUgdGhlIGZlZXMgZm9yIHRoZSBkZXN0aW5hdGlvbiBjaGFpbi40VG9vTWFueUFzc2V0cwAHBMRUb28gbWFueSBhc3NldHMgaGF2ZSBiZWVuIGF0dGVtcHRlZCBmb3IgdHJhbnNmZXIuNEludmFsaWRPcmlnaW4ACAR4T3JpZ2luIGlzIGludmFsaWQgZm9yIHNlbmRpbmcuKEJhZFZlcnNpb24ACQQhAVRoZSB2ZXJzaW9uIG9mIHRoZSBgVmVyc2lvbmVkYCB2YWx1ZSB1c2VkIGlzIG5vdCBhYmxlIHRvIGJlIGludGVycHJldGVkLixCYWRMb2NhdGlvbgAKCEEBVGhlIGdpdmVuIGxvY2F0aW9uIGNvdWxkIG5vdCBiZSB1c2VkIChlLmcuIGJlY2F1c2UgaXQgY2Fubm90IGJlIGV4cHJlc3NlZCBpbiB0aGVgZGVzaXJlZCB2ZXJzaW9uIG9mIFhDTSkuOE5vU3Vic2NyaXB0aW9uAAsEvFRoZSByZWZlcmVuY2VkIHN1YnNjcmlwdGlvbiBjb3VsZCBub3QgYmUgZm91bmQuREFscmVhZHlTdWJzY3JpYmVkAAwEEQFUaGUgbG9jYXRpb24gaXMgaW52YWxpZCBzaW5jZSBpdCBhbHJlYWR5IGhhcyBhIHN1YnNjcmlwdGlvbiBmcm9tIHVzLlhDYW5ub3RDaGVja091dFRlbGVwb3J0AA0EKQFDb3VsZCBub3QgY2hlY2stb3V0IHRoZSBhc3NldHMgZm9yIHRlbGVwb3J0YXRpb24gdG8gdGhlIGRlc3RpbmF0aW9uIGNoYWluLihMb3dCYWxhbmNlAA4EQQFUaGUgb3duZXIgZG9lcyBub3Qgb3duIChhbGwpIG9mIHRoZSBhc3NldCB0aGF0IHRoZXkgd2lzaCB0byBkbyB0aGUgb3BlcmF0aW9uIG9uLjBUb29NYW55TG9ja3MADwTAVGhlIGFzc2V0IG93bmVyIGhhcyB0b28gbWFueSBsb2NrcyBvbiB0aGUgYXNzZXQuTEFjY291bnROb3RTb3ZlcmVpZ24AEAQxAVRoZSBnaXZlbiBhY2NvdW50IGlzIG5vdCBhbiBpZGVudGlmaWFibGUgc292ZXJlaWduIGFjY291bnQgZm9yIGFueSBsb2NhdGlvbi4oRmVlc05vdE1ldAARBCkBVGhlIG9wZXJhdGlvbiByZXF1aXJlZCBmZWVzIHRvIGJlIHBhaWQgd2hpY2ggdGhlIGluaXRpYXRvciBjb3VsZCBub3QgbWVldC4wTG9ja05vdEZvdW5kABIE9EEgcmVtb3RlIGxvY2sgd2l0aCB0aGUgY29ycmVzcG9uZGluZyBkYXRhIGNvdWxkIG5vdCBiZSBmb3VuZC4USW5Vc2UAEwRJAVRoZSB1bmxvY2sgb3BlcmF0aW9uIGNhbm5vdCBzdWNjZWVkIGJlY2F1c2UgdGhlcmUgYXJlIHN0aWxsIGNvbnN1bWVycyBvZiB0aGUgbG9jay5oSW52YWxpZEFzc2V0VW5rbm93blJlc2VydmUAFQTwSW52YWxpZCBhc3NldCwgcmVzZXJ2ZSBjaGFpbiBjb3VsZCBub3QgYmUgZGV0ZXJtaW5lZCBmb3IgaXQueEludmFsaWRBc3NldFVuc3VwcG9ydGVkUmVzZXJ2ZQAWBEUBSW52YWxpZCBhc3NldCwgZG8gbm90IHN1cHBvcnQgcmVtb3RlIGFzc2V0IHJlc2VydmVzIHdpdGggZGlmZmVyZW50IGZlZXMgcmVzZXJ2ZXMuPFRvb01hbnlSZXNlcnZlcwAXBEkBVG9vIG1hbnkgYXNzZXRzIHdpdGggZGlmZmVyZW50IHJlc2VydmUgbG9jYXRpb25zIGhhdmUgYmVlbiBhdHRlbXB0ZWQgZm9yIHRyYW5zZmVyLmBMb2NhbEV4ZWN1dGlvbkluY29tcGxldGUAGAR8TG9jYWwgWENNIGV4ZWN1dGlvbiBpbmNvbXBsZXRlLmBUb29NYW55QXV0aG9yaXplZEFsaWFzZXMAGQS4VG9vIG1hbnkgbG9jYXRpb25zIGF1dGhvcml6ZWQgdG8gYWxpYXMgb3JpZ2luLjRFeHBpcmVzSW5QYXN0ABoEjEV4cGlyeSBibG9jayBudW1iZXIgaXMgaW4gdGhlIHBhc3QuNEFsaWFzTm90Rm91bmQAGwTQVGhlIGFsaWFzIHRvIHJlbW92ZSBhdXRob3JpemF0aW9uIGZvciB3YXMgbm90IGZvdW5kLoRMb2NhbEV4ZWN1dGlvbkluY29tcGxldGVXaXRoRXJyb3IIARRpbmRleAwBQEluc3RydWN0aW9uSW5kZXgAARRlcnJvckkGAThFeGVjdXRpb25FcnJvcgAcCDUBTG9jYWwgWENNIGV4ZWN1dGlvbiBpbmNvbXBsZXRlIHdpdGggdGhlIGFjdHVhbCBYQ00gZXJyb3IgYW5kIHRoZSBpbmRleCBvZiB0aGWIaW5zdHJ1Y3Rpb24gdGhhdCBjYXVzZWQgdGhlIGVycm9yLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC5JBgwocGFsbGV0X3hjbRhlcnJvcnM4RXhlY3V0aW9uRXJyb3IAAaQgT3ZlcmZsb3cAAAA0VW5pbXBsZW1lbnRlZAABAGBVbnRydXN0ZWRSZXNlcnZlTG9jYXRpb24AAgBkVW50cnVzdGVkVGVsZXBvcnRMb2NhdGlvbgADADBMb2NhdGlvbkZ1bGwABABUTG9jYXRpb25Ob3RJbnZlcnRpYmxlAAUAJEJhZE9yaWdpbgAGADxJbnZhbGlkTG9jYXRpb24ABwA0QXNzZXROb3RGb3VuZAAIAFRGYWlsZWRUb1RyYW5zYWN0QXNzZXQACQA8Tm90V2l0aGRyYXdhYmxlAAoASExvY2F0aW9uQ2Fubm90SG9sZAALAFRFeGNlZWRzTWF4TWVzc2FnZVNpemUADABYRGVzdGluYXRpb25VbnN1cHBvcnRlZAANACRUcmFuc3BvcnQADgAoVW5yb3V0YWJsZQAPADBVbmtub3duQ2xhaW0AEAA4RmFpbGVkVG9EZWNvZGUAEQBATWF4V2VpZ2h0SW52YWxpZAASADhOb3RIb2xkaW5nRmVlcwATADBUb29FeHBlbnNpdmUAFAAQVHJhcAAVAEBFeHBlY3RhdGlvbkZhbHNlABYAOFBhbGxldE5vdEZvdW5kABcAME5hbWVNaXNtYXRjaAAYAExWZXJzaW9uSW5jb21wYXRpYmxlABkAUEhvbGRpbmdXb3VsZE92ZXJmbG93ABoALEV4cG9ydEVycm9yABsAOFJlYW5jaG9yRmFpbGVkABwAGE5vRGVhbAAdAChGZWVzTm90TWV0AB4AJExvY2tFcnJvcgAfADBOb1Blcm1pc3Npb24AIAAoVW5hbmNob3JlZAAhADhOb3REZXBvc2l0YWJsZQAiADRUb29NYW55QXNzZXRzACMATFVuaGFuZGxlZFhjbVZlcnNpb24AJABIV2VpZ2h0TGltaXRSZWFjaGVkACUAHEJhcnJpZXIAJgBMV2VpZ2h0Tm90Q29tcHV0YWJsZQAnAERFeGNlZWRzU3RhY2tMaW1pdAAoAABNBghQcGFsbGV0X21lc3NhZ2VfcXVldWUkQm9va1N0YXRlBDRNZXNzYWdlT3JpZ2luATkDABgBFGJlZ2luOAEkUGFnZUluZGV4AAEMZW5kOAEkUGFnZUluZGV4AAEUY291bnQ4ASRQYWdlSW5kZXgAAUByZWFkeV9uZWlnaGJvdXJzUQYBhE9wdGlvbjxOZWlnaGJvdXJzPE1lc3NhZ2VPcmlnaW4+PgABNG1lc3NhZ2VfY291bnQoAQx1NjQAARBzaXplKAEMdTY0AABRBgQYT3B0aW9uBARUAVUGAQgQTm9uZQAAABBTb21lBABVBgAAAQAAVQYIUHBhbGxldF9tZXNzYWdlX3F1ZXVlKE5laWdoYm91cnMENE1lc3NhZ2VPcmlnaW4BOQMACAEQcHJldjkDATRNZXNzYWdlT3JpZ2luAAEQbmV4dDkDATRNZXNzYWdlT3JpZ2luAABZBgAABAg5AzgAXQYIUHBhbGxldF9tZXNzYWdlX3F1ZXVlEFBhZ2UIEFNpemUBOCBIZWFwU2l6ZQAAGAEkcmVtYWluaW5nOAEQU2l6ZQABOHJlbWFpbmluZ19zaXplOAEQU2l6ZQABLGZpcnN0X2luZGV4OAEQU2l6ZQABFGZpcnN0OAEQU2l6ZQABEGxhc3Q4ARBTaXplAAEQaGVhcGEGAZxCb3VuZGVkVmVjPHU4LCBJbnRvVTMyPEhlYXBTaXplLCBTaXplPj4AAGEGDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBDARTAAAEABgBGFZlYzxUPgAAZQYMUHBhbGxldF9tZXNzYWdlX3F1ZXVlGHBhbGxldBRFcnJvcgQEVAABJCxOb3RSZWFwYWJsZQAACEkBUGFnZSBpcyBub3QgcmVhcGFibGUgYmVjYXVzZSBpdCBoYXMgaXRlbXMgcmVtYWluaW5nIHRvIGJlIHByb2Nlc3NlZCBhbmQgaXMgbm90IG9sZBxlbm91Z2guGE5vUGFnZQABBIRQYWdlIHRvIGJlIHJlYXBlZCBkb2VzIG5vdCBleGlzdC4kTm9NZXNzYWdlAAIEqFRoZSByZWZlcmVuY2VkIG1lc3NhZ2UgY291bGQgbm90IGJlIGZvdW5kLkBBbHJlYWR5UHJvY2Vzc2VkAAMEAQFUaGUgbWVzc2FnZSB3YXMgYWxyZWFkeSBwcm9jZXNzZWQgYW5kIGNhbm5vdCBiZSBwcm9jZXNzZWQgYWdhaW4uGFF1ZXVlZAAEBKxUaGUgbWVzc2FnZSBpcyBxdWV1ZWQgZm9yIGZ1dHVyZSBleGVjdXRpb24uSEluc3VmZmljaWVudFdlaWdodAAFBBkBVGhlcmUgaXMgdGVtcG9yYXJpbHkgbm90IGVub3VnaCB3ZWlnaHQgdG8gY29udGludWUgc2VydmljaW5nIG1lc3NhZ2VzLmBUZW1wb3JhcmlseVVucHJvY2Vzc2FibGUABhCoVGhpcyBtZXNzYWdlIGlzIHRlbXBvcmFyaWx5IHVucHJvY2Vzc2FibGUuAFkBU3VjaCBlcnJvcnMgYXJlIGV4cGVjdGVkLCBidXQgbm90IGd1YXJhbnRlZWQsIHRvIHJlc29sdmUgdGhlbXNlbHZlcyBldmVudHVhbGx5IHRocm91Z2gkcmV0cnlpbmcuLFF1ZXVlUGF1c2VkAAcM7FRoZSBxdWV1ZSBpcyBwYXVzZWQgYW5kIG5vIG1lc3NhZ2UgY2FuIGJlIGV4ZWN1dGVkIGZyb20gaXQuAB0BVGhpcyBjYW4gY2hhbmdlIGF0IGFueSB0aW1lIGFuZCBtYXkgcmVzb2x2ZSBpbiB0aGUgZnV0dXJlIGJ5IHJlLXRyeWluZy5MUmVjdXJzaXZlRGlzYWxsb3dlZAAIBDEBQW5vdGhlciBjYWxsIGlzIGluIHByb2dyZXNzIGFuZCBuZWVkcyB0byBmaW5pc2ggYmVmb3JlIHRoaXMgY2FsbCBjYW4gaGFwcGVuLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC5pBgwscGFsbGV0X3N1ZG8YcGFsbGV0FEVycm9yBARUAAEELFJlcXVpcmVTdWRvAAAEgFNlbmRlciBtdXN0IGJlIHRoZSBTdWRvIGFjY291bnQuBGhFcnJvciBmb3IgdGhlIFN1ZG8gcGFsbGV0Lm0GCEhzcF9jb25zZW5zdXNfc2xvdHMwU2xvdER1cmF0aW9uAAAEACgBDHU2NAAAcQYQKHNwX3J1bnRpbWUcZ2VuZXJpYxRibG9jayRMYXp5QmxvY2sIGEhlYWRlcgFcJEV4dHJpbnNpYwGFBAAIARhoZWFkZXJcARhIZWFkZXIAAShleHRyaW5zaWNzdQYBUFZlYzxPcGFxdWVFeHRyaW5zaWM+AAB1BgAAAnkGAHkGCChzcF9ydW50aW1lPE9wYXF1ZUV4dHJpbnNpYwAABAAYARxWZWM8dTg+AAB9Bggoc3BfcnVudGltZVhFeHRyaW5zaWNJbmNsdXNpb25Nb2RlAAEINEFsbEV4dHJpbnNpY3MAAAA0T25seUluaGVyZW50cwABAACBBggcc3BfY29yZThPcGFxdWVNZXRhZGF0YQAABAAYARxWZWM8dTg+AACFBgQYT3B0aW9uBARUAYEGAQgQTm9uZQAAABBTb21lBACBBgAAAQAAiQYAAAI4AI0GBBhSZXN1bHQIBFQB0QMERQGRBgEICE9rBADRAwAAAAAMRXJyBACRBgAAAQAAkQYMKHNwX3J1bnRpbWVQdHJhbnNhY3Rpb25fdmFsaWRpdHlgVHJhbnNhY3Rpb25WYWxpZGl0eUVycm9yAAEIHEludmFsaWQEAJUGAUhJbnZhbGlkVHJhbnNhY3Rpb24AAAAcVW5rbm93bgQAmQYBSFVua25vd25UcmFuc2FjdGlvbgABAACVBgwoc3BfcnVudGltZVB0cmFuc2FjdGlvbl92YWxpZGl0eUhJbnZhbGlkVHJhbnNhY3Rpb24AATQQQ2FsbAAAABxQYXltZW50AAEAGEZ1dHVyZQACABRTdGFsZQADACBCYWRQcm9vZgAEAERBbmNpZW50QmlydGhCbG9jawAFAERFeGhhdXN0c1Jlc291cmNlcwAGABhDdXN0b20EAAwBCHU4AAcAMEJhZE1hbmRhdG9yeQAIAExNYW5kYXRvcnlWYWxpZGF0aW9uAAkAJEJhZFNpZ25lcgAKAFRJbmRldGVybWluYXRlSW1wbGljaXQACwA0VW5rbm93bk9yaWdpbgAMAACZBgwoc3BfcnVudGltZVB0cmFuc2FjdGlvbl92YWxpZGl0eUhVbmtub3duVHJhbnNhY3Rpb24AAQwwQ2Fubm90TG9va3VwAAAATE5vVW5zaWduZWRWYWxpZGF0b3IAAQAYQ3VzdG9tBAAMAQh1OAACAACdBggwc3BfaW5oZXJlbnRzMEluaGVyZW50RGF0YQAABAEQZGF0YaEGAZRCVHJlZU1hcDxJbmhlcmVudElkZW50aWZpZXIsIFZlYzx1OD4+AAChBgQgQlRyZWVNYXAIBEsB2QEEVgEYAAQApQYAAAClBgAAAqkGAKkGAAAECNkBGACtBggwc3BfaW5oZXJlbnRzUENoZWNrSW5oZXJlbnRzUmVzdWx0AAAMARBva2F5MQEBEGJvb2wAASxmYXRhbF9lcnJvcjEBARBib29sAAEYZXJyb3JznQYBMEluaGVyZW50RGF0YQAAsQYMKHNwX3J1bnRpbWVQdHJhbnNhY3Rpb25fdmFsaWRpdHlEVHJhbnNhY3Rpb25Tb3VyY2UAAQwcSW5CbG9jawAAABRMb2NhbAABACBFeHRlcm5hbAACAAC1BgQYUmVzdWx0CARUAbkGBEUBkQYBCAhPawQAuQYAAAAADEVycgQAkQYAAAEAALkGDChzcF9ydW50aW1lUHRyYW5zYWN0aW9uX3ZhbGlkaXR5QFZhbGlkVHJhbnNhY3Rpb24AABQBIHByaW9yaXR5KAFMVHJhbnNhY3Rpb25Qcmlvcml0eQABIHJlcXVpcmVzNAFMVmVjPFRyYW5zYWN0aW9uVGFnPgABIHByb3ZpZGVzNAFMVmVjPFRyYW5zYWN0aW9uVGFnPgABJGxvbmdldml0eSgBUFRyYW5zYWN0aW9uTG9uZ2V2aXR5AAEkcHJvcGFnYXRlMQEBEGJvb2wAAL0GDChzcF9zZXNzaW9uLHJ1bnRpbWVfYXBpaE9wYXF1ZUdlbmVyYXRlZFNlc3Npb25LZXlzAAAIARBrZXlzGAEcVmVjPHU4PgABFHByb29mGAEcVmVjPHU4PgAAwQYEGE9wdGlvbgQEVAHFBgEIEE5vbmUAAAAQU29tZQQAxQYAAAEAAMUGAAACyQYAyQYAAAQIGJ0FAM0GDGhwYWxsZXRfdHJhbnNhY3Rpb25fcGF5bWVudBR0eXBlc0xSdW50aW1lRGlzcGF0Y2hJbmZvCBxCYWxhbmNlAfwYV2VpZ2h0ASkBAAwBGHdlaWdodCkBARhXZWlnaHQAARRjbGFzc6kDATREaXNwYXRjaENsYXNzAAEscGFydGlhbF9mZWX8ARxCYWxhbmNlAADRBgxocGFsbGV0X3RyYW5zYWN0aW9uX3BheW1lbnQUdHlwZXMoRmVlRGV0YWlscwQcQmFsYW5jZQH8AAgBNGluY2x1c2lvbl9mZWXVBgF0T3B0aW9uPEluY2x1c2lvbkZlZTxCYWxhbmNlPj4AAQx0aXD8ARxCYWxhbmNlAADVBgQYT3B0aW9uBARUAdkGAQgQTm9uZQAAABBTb21lBADZBgAAAQAA2QYMaHBhbGxldF90cmFuc2FjdGlvbl9wYXltZW50FHR5cGVzMEluY2x1c2lvbkZlZQQcQmFsYW5jZQH8AAwBIGJhc2VfZmVl/AEcQmFsYW5jZQABHGxlbl9mZWX8ARxCYWxhbmNlAAFMYWRqdXN0ZWRfd2VpZ2h0X2ZlZfwBHEJhbGFuY2UAAN0GBBhSZXN1bHQIBFQB4QYERQHlBgEICE9rBADhBgAAAAAMRXJyBADlBgAAAQAA4QYAAAIpAwDlBgxAeGNtX3J1bnRpbWVfYXBpcxBmZWVzFEVycm9yAAEYNFVuaW1wbGVtZW50ZWQAAABkVmVyc2lvbmVkQ29udmVyc2lvbkZhaWxlZAABAExXZWlnaHROb3RDb21wdXRhYmxlAAIATFVuaGFuZGxlZFhjbVZlcnNpb24AAwA0QXNzZXROb3RGb3VuZAAEAChVbnJvdXRhYmxlAAUAAOkGBBhSZXN1bHQIBFQBKQEERQHlBgEICE9rBAApAQAAAAAMRXJyBADlBgAAAQAA7QYEGFJlc3VsdAgEVAH8BEUB5QYBCAhPawQA/AAAAAAMRXJyBADlBgAAAQAA8QYEGFJlc3VsdAgEVAHxAgRFAeUGAQgIT2sEAPECAAAAAAxFcnIEAOUGAAABAAD1BgQYUmVzdWx0CARUAfkGBEUBHQcBCAhPawQA+QYAAAAADEVycgQAHQcAAAEAAPkGDEB4Y21fcnVudGltZV9hcGlzHGRyeV9ydW5EQ2FsbERyeVJ1bkVmZmVjdHMEFEV2ZW50AZ0DABABQGV4ZWN1dGlvbl9yZXN1bHT9BgFoRGlzcGF0Y2hSZXN1bHRXaXRoUG9zdEluZm8AAThlbWl0dGVkX2V2ZW50cwkHAShWZWM8RXZlbnQ+AAEkbG9jYWxfeGNtDQcBYE9wdGlvbjxWZXJzaW9uZWRYY208KCk+PgABOGZvcndhcmRlZF94Y21zEQcBvFZlYzwoVmVyc2lvbmVkTG9jYXRpb24sIFZlYzxWZXJzaW9uZWRYY208KCk+Pik+AAD9BgQYUmVzdWx0CARUAQEHBEUBBQcBCAhPawQAAQcAAAAADEVycgQABQcAAAEAAAEHDDRmcmFtZV9zdXBwb3J0IGRpc3BhdGNoQFBvc3REaXNwYXRjaEluZm8AAAgBNGFjdHVhbF93ZWlnaHS9AgE4T3B0aW9uPFdlaWdodD4AASBwYXlzX2ZlZa0DARBQYXlzAAAFBwgoc3BfcnVudGltZWREaXNwYXRjaEVycm9yV2l0aFBvc3RJbmZvBBBJbmZvAQEHAAgBJHBvc3RfaW5mbwEHARBJbmZvAAEUZXJyb3KxAwE0RGlzcGF0Y2hFcnJvcgAACQcAAAKdAwANBwQYT3B0aW9uBARUAbEBAQgQTm9uZQAAABBTb21lBACxAQAAAQAAEQcAAAIVBwAVBwAABAhlARkHABkHAAACsQEAHQcMQHhjbV9ydW50aW1lX2FwaXMcZHJ5X3J1bhRFcnJvcgABCDRVbmltcGxlbWVudGVkAAAAZFZlcnNpb25lZENvbnZlcnNpb25GYWlsZWQAAQAAIQcEGFJlc3VsdAgEVAElBwRFAR0HAQgIT2sEACUHAAAAAAxFcnIEAB0HAAABAAAlBwxAeGNtX3J1bnRpbWVfYXBpcxxkcnlfcnVuQFhjbURyeVJ1bkVmZmVjdHMEFEV2ZW50AZ0DAAwBQGV4ZWN1dGlvbl9yZXN1bHQRBAEcT3V0Y29tZQABOGVtaXR0ZWRfZXZlbnRzCQcBKFZlYzxFdmVudD4AAThmb3J3YXJkZWRfeGNtcxEHAbxWZWM8KFZlcnNpb25lZExvY2F0aW9uLCBWZWM8VmVyc2lvbmVkWGNtPCgpPj4pPgAAKQcEGFJlc3VsdAgEVAEEBEUBLQcBCAhPawQABAAAAAAMRXJyBAAtBwAAAQAALQcMQHhjbV9ydW50aW1lX2FwaXMsY29udmVyc2lvbnMURXJyb3IAAQgsVW5zdXBwb3J0ZWQAAABkVmVyc2lvbmVkQ29udmVyc2lvbkZhaWxlZAABAAAxBwgMeGNtOFZlcnNpb25lZEFzc2V0AAEMCFYzBADJAQE4djM6Ok11bHRpQXNzZXQAAwAIVjQEAD0CASR2NDo6QXNzZXQABAAIVjUEAIkCASR2NTo6QXNzZXQABQAANQcEGFJlc3VsdAgEVAExAQRFATkHAQgIT2sEADEBAAAAAAxFcnIEADkHAAABAAA5BwxAeGNtX3J1bnRpbWVfYXBpczR0cnVzdGVkX3F1ZXJ5FEVycm9yAAEIeFZlcnNpb25lZEFzc2V0Q29udmVyc2lvbkZhaWxlZAAAAIRWZXJzaW9uZWRMb2NhdGlvbkNvbnZlcnNpb25GYWlsZWQAAQAAPQcEGFJlc3VsdAgEVAFBBgRFAUEHAQgIT2sEAEEGAAAAAAxFcnIEAEEHAAABAABBBwxAeGNtX3J1bnRpbWVfYXBpc0hhdXRob3JpemVkX2FsaWFzZXMURXJyb3IAAQR8TG9jYXRpb25WZXJzaW9uQ29udmVyc2lvbkZhaWxlZAAAAABFBwQYUmVzdWx0CARUATEBBEUBQQcBCAhPawQAMQEAAAAADEVycgQAQQcAAAEAAEkHCFxjdW11bHVzX3ByaW1pdGl2ZXNfY29yZTRDb2xsYXRpb25JbmZvAAAYATx1cHdhcmRfbWVzc2FnZXM0AUhWZWM8VXB3YXJkTWVzc2FnZT4AAUxob3Jpem9udGFsX21lc3NhZ2Vz+QQBYFZlYzxPdXRib3VuZEhybXBNZXNzYWdlPgABTG5ld192YWxpZGF0aW9uX2NvZGVNBwGMT3B0aW9uPHJlbGF5X2NoYWluOjpWYWxpZGF0aW9uQ29kZT4AAWxwcm9jZXNzZWRfZG93bndhcmRfbWVzc2FnZXM4AQx1MzIAAThocm1wX3dhdGVybWFyazgBYHJlbGF5X2NoYWluOjpCbG9ja051bWJlcgABJGhlYWRfZGF0YUwBIEhlYWREYXRhAABNBwQYT3B0aW9uBARUAVEHAQgQTm9uZQAAABBTb21lBABRBwAAAQAAUQcMdHBvbGthZG90X3BhcmFjaGFpbl9wcmltaXRpdmVzKHByaW1pdGl2ZXM4VmFsaWRhdGlvbkNvZGUAAAQAGAEcVmVjPHU4PgAAVQcEGFJlc3VsdAgEVAEQBEUBSQQBCAhPawQAEAAAAAAMRXJyBABJBAAAAQAAWQcEGE9wdGlvbgQEVAFJBAEIEE5vbmUAAAAQU29tZQQASQQAAAEAAF0HAAACSQQAYQcIYGJ1bGxldGluX3dlc3RlbmRfcnVudGltZTBSdW50aW1lRXJyb3IAASwYU3lzdGVtBAB5BAFwZnJhbWVfc3lzdGVtOjpFcnJvcjxSdW50aW1lPgAAADxQYXJhY2hhaW5TeXN0ZW0EAAUFAbxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtOjpFcnJvcjxSdW50aW1lPgABABxVdGlsaXR5BAAJBQF4cGFsbGV0X3V0aWxpdHk6OkVycm9yPFJ1bnRpbWU+AAYAIEJhbGFuY2VzBABBBQF8cGFsbGV0X2JhbGFuY2VzOjpFcnJvcjxSdW50aW1lPgAKAEhUcmFuc2FjdGlvblN0b3JhZ2UEAGUFAahwYWxsZXRfdHJhbnNhY3Rpb25fc3RvcmFnZTo6RXJyb3I8UnVudGltZT4AKABEQ29sbGF0b3JTZWxlY3Rpb24EAH0FAaRwYWxsZXRfY29sbGF0b3Jfc2VsZWN0aW9uOjpFcnJvcjxSdW50aW1lPgAVABxTZXNzaW9uBAChBQF4cGFsbGV0X3Nlc3Npb246OkVycm9yPFJ1bnRpbWU+ABYAJFhjbXBRdWV1ZQQA3QUBpGN1bXVsdXNfcGFsbGV0X3hjbXBfcXVldWU6OkVycm9yPFJ1bnRpbWU+AB4ALFBvbGthZG90WGNtBABFBgFocGFsbGV0X3hjbTo6RXJyb3I8UnVudGltZT4AHwAwTWVzc2FnZVF1ZXVlBABlBgGQcGFsbGV0X21lc3NhZ2VfcXVldWU6OkVycm9yPFJ1bnRpbWU+ACIAEFN1ZG8EAGkGAWxwYWxsZXRfc3Vkbzo6RXJyb3I8UnVudGltZT4AZAAAUBhTeXN0ZW0BGFN5c3RlbUwcQWNjb3VudAEBBAIEhQNBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACABOggVGhlIGZ1bGwgYWNjb3VudCBpbmZvcm1hdGlvbiBmb3IgYSBwYXJ0aWN1bGFyIGFjY291bnQgSUQuADhFeHRyaW5zaWNDb3VudAAAOAQABLggVG90YWwgZXh0cmluc2ljcyBjb3VudCBmb3IgdGhlIGN1cnJlbnQgYmxvY2suAEBJbmhlcmVudHNBcHBsaWVkAQAxAQQABKQgV2hldGhlciBhbGwgaW5oZXJlbnRzIGhhdmUgYmVlbiBhcHBsaWVkLgAsQmxvY2tXZWlnaHQBAJEDGAAAAAAAAASIIFRoZSBjdXJyZW50IHdlaWdodCBmb3IgdGhlIGJsb2NrLgAkQmxvY2tTaXplAAA4BAAMsCBUb3RhbCBzaXplIChpbiBieXRlcykgb2YgdGhlIGN1cnJlbnQgYmxvY2suAMggVHJhY2tzIHRoZSBzaXplIG9mIHRoZSBoZWFkZXIgYW5kIGFsbCBleHRyaW5zaWNzLgAkQmxvY2tIYXNoAQEEBTg8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJggTWFwIG9mIGJsb2NrIG51bWJlcnMgdG8gYmxvY2sgaGFzaGVzLgA0RXh0cmluc2ljRGF0YQEBBAU4GAQABD0BIEV4dHJpbnNpY3MgZGF0YSBmb3IgdGhlIGN1cnJlbnQgYmxvY2sgKG1hcHMgYW4gZXh0cmluc2ljJ3MgaW5kZXggdG8gaXRzIGRhdGEpLgAYTnVtYmVyAQA4EAAAAAAECQEgVGhlIGN1cnJlbnQgYmxvY2sgbnVtYmVyIGJlaW5nIHByb2Nlc3NlZC4gU2V0IGJ5IGBleGVjdXRlX2Jsb2NrYC4AKFBhcmVudEhhc2gBADyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEcCBIYXNoIG9mIHRoZSBwcmV2aW91cyBibG9jay4AGERpZ2VzdAEAZAQABPAgRGlnZXN0IG9mIHRoZSBjdXJyZW50IGJsb2NrLCBhbHNvIHBhcnQgb2YgdGhlIGJsb2NrIGhlYWRlci4AGEV2ZW50cwEAlQMEABygIEV2ZW50cyBkZXBvc2l0ZWQgZm9yIHRoZSBjdXJyZW50IGJsb2NrLgAdASBOT1RFOiBUaGUgaXRlbSBpcyB1bmJvdW5kIGFuZCBzaG91bGQgdGhlcmVmb3JlIG5ldmVyIGJlIHJlYWQgb24gY2hhaW4u0CBJdCBjb3VsZCBvdGhlcndpc2UgaW5mbGF0ZSB0aGUgUG9WIHNpemUgb2YgYSBibG9jay4ALQEgRXZlbnRzIGhhdmUgYSBsYXJnZSBpbi1tZW1vcnkgc2l6ZS4gQm94IHRoZSBldmVudHMgdG8gbm90IGdvIG91dC1vZi1tZW1vcnn8IGp1c3QgaW4gY2FzZSBzb21lb25lIHN0aWxsIHJlYWRzIHRoZW0gZnJvbSB3aXRoaW4gdGhlIHJ1bnRpbWUuAChFdmVudENvdW50AQA4EAAAAAAEuCBUaGUgbnVtYmVyIG9mIGV2ZW50cyBpbiB0aGUgYEV2ZW50czxUPmAgbGlzdC4ALEV2ZW50VG9waWNzAQEEAjw5BAQAKCUBIE1hcHBpbmcgYmV0d2VlbiBhIHRvcGljIChyZXByZXNlbnRlZCBieSBUOjpIYXNoKSBhbmQgYSB2ZWN0b3Igb2YgaW5kZXhlc5Qgb2YgZXZlbnRzIGluIHRoZSBgPEV2ZW50czxUPj5gIGxpc3QuAFEBIEFsbCB0b3BpYyB2ZWN0b3JzIGhhdmUgZGV0ZXJtaW5pc3RpYyBzdG9yYWdlIGxvY2F0aW9ucyBkZXBlbmRpbmcgb24gdGhlIHRvcGljLiBUaGlzRQEgYWxsb3dzIGxpZ2h0LWNsaWVudHMgdG8gbGV2ZXJhZ2UgdGhlIGNoYW5nZXMgdHJpZSBzdG9yYWdlIHRyYWNraW5nIG1lY2hhbmlzbSBhbmTkIGluIGNhc2Ugb2YgY2hhbmdlcyBmZXRjaCB0aGUgbGlzdCBvZiBldmVudHMgb2YgaW50ZXJlc3QuAFkBIFRoZSB2YWx1ZSBoYXMgdGhlIHR5cGUgYChCbG9ja051bWJlckZvcjxUPiwgRXZlbnRJbmRleClgIGJlY2F1c2UgaWYgd2UgdXNlZCBvbmx5IGp1c3RNASB0aGUgYEV2ZW50SW5kZXhgIHRoZW4gaW4gY2FzZSBpZiB0aGUgdG9waWMgaGFzIHRoZSBzYW1lIGNvbnRlbnRzIG9uIHRoZSBuZXh0IGJsb2NrAQEgbm8gbm90aWZpY2F0aW9uIHdpbGwgYmUgdHJpZ2dlcmVkIHRodXMgdGhlIGV2ZW50IG1pZ2h0IGJlIGxvc3QuAEhMYXN0UnVudGltZVVwZ3JhZGUAAEEEBAAEVQEgU3RvcmVzIHRoZSBgc3BlY192ZXJzaW9uYCBhbmQgYHNwZWNfbmFtZWAgb2Ygd2hlbiB0aGUgbGFzdCBydW50aW1lIHVwZ3JhZGUgaGFwcGVuZWQuAFRVcGdyYWRlZFRvVTMyUmVmQ291bnQBADEBBAAETQEgVHJ1ZSBpZiB3ZSBoYXZlIHVwZ3JhZGVkIHNvIHRoYXQgYHR5cGUgUmVmQ291bnRgIGlzIGB1MzJgLiBGYWxzZSAoZGVmYXVsdCkgaWYgbm90LgBgVXBncmFkZWRUb1RyaXBsZVJlZkNvdW50AQAxAQQACF0BIFRydWUgaWYgd2UgaGF2ZSB1cGdyYWRlZCBzbyB0aGF0IEFjY291bnRJbmZvIGNvbnRhaW5zIHRocmVlIHR5cGVzIG9mIGBSZWZDb3VudGAuIEZhbHNlSCAoZGVmYXVsdCkgaWYgbm90LgA4RXhlY3V0aW9uUGhhc2UAADEEBAAEiCBUaGUgZXhlY3V0aW9uIHBoYXNlIG9mIHRoZSBibG9jay4AREF1dGhvcml6ZWRVcGdyYWRlAABNBAQABLggYFNvbWVgIGlmIGEgY29kZSB1cGdyYWRlIGhhcyBiZWVuIGF1dGhvcml6ZWQuAGBFeHRyaW5zaWNXZWlnaHRSZWNsYWltZWQBACkBCAAAHKAgVGhlIHdlaWdodCByZWNsYWltZWQgZm9yIHRoZSBleHRyaW5zaWMuACEBIFRoaXMgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlIHVudGlsIHRoZSBlbmQgb2YgdGhlIGV4dHJpbnNpYyBleGVjdXRpb24uIQEgTW9yZSBwcmVjaXNlbHkgdGhpcyBpbmZvcm1hdGlvbiBpcyByZW1vdmVkIGluIGBub3RlX2FwcGxpZWRfZXh0cmluc2ljYC4AcQEgTG9naWMgZG9pbmcgc29tZSBwb3N0IGRpc3BhdGNoIHdlaWdodCByZWR1Y3Rpb24gbXVzdCB1cGRhdGUgdGhpcyBzdG9yYWdlIHRvIGF2b2lkIGR1cGxpY2F0ZSwgcmVkdWN0aW9uLgABJAABoQMAGDBCbG9ja1dlaWdodHNRBIkBBwDyBSoBAAsAIEqp0QECAIACAmXNHQABC8AOcsiLAQIAIAIBCwBQXBijAQIAQAIBAAACZc0dAAELwN5fWboBAgBgAgELACBKqdEBAgCAAgEHANDtkC4CAEAAAmXNHQAAAAAE0CBCbG9jayAmIGV4dHJpbnNpY3Mgd2VpZ2h0czogYmFzZSB2YWx1ZXMgYW5kIGxpbWl0cy4ALEJsb2NrTGVuZ3RoXQQ0AACQAAAAoAAAAKAAAASoIFRoZSBtYXhpbXVtIGxlbmd0aCBvZiBhIGJsb2NrIChpbiBieXRlcykuADhCbG9ja0hhc2hDb3VudDgQABAAAARVASBNYXhpbXVtIG51bWJlciBvZiBibG9jayBudW1iZXIgdG8gYmxvY2sgaGFzaCBtYXBwaW5ncyB0byBrZWVwIChvbGRlc3QgcHJ1bmVkIGZpcnN0KS4AIERiV2VpZ2h0ZQRAQHh9AQAAAAAA4fUFAAAAAAQJASBUaGUgd2VpZ2h0IG9mIHJ1bnRpbWUgZGF0YWJhc2Ugb3BlcmF0aW9ucyB0aGUgcnVudGltZSBjYW4gaW52b2tlLgAcVmVyc2lvbmkEwQRAYnVsbGV0aW4td2VzdGVuZEBidWxsZXRpbi13ZXN0ZW5kAQAAAEpCDwABAAAAVN1xjVzFMmLUAQAAAATnBSGg09L4AQAAANe92KJyyg1lAgAAAN9qy2iZB2CbBQAAADfjl/x8kfXkAgAAAED+OtQB+JWaBgAAANK8mJfu0I8VAwAAAPeLJ4vlP0VMAgAAAKs8BXIpH+uLAgAAALydiZBPW5I/AQAAADfIuxNQqaKoBAAAAPP/FNWrUnBZAwAAAG/1LuhY5sW9AgAAAJGxyLFjKOuSAgAAAJ/7UFqnONacAQAAACYJvoOsRGjcAQAAABLI49TX4G3gAQAAAOqT4/FvPWliAwAAADsc/EQN0j9JAQAAAPvFd7nXR+/WAQAAAKLdtqWEd79jAQAAAAEAAAABBIQgR2V0IHRoZSBjaGFpbidzIGluLWNvZGUgdmVyc2lvbi4AKFNTNThQcmVmaXjECCoAFKggVGhlIGRlc2lnbmF0ZWQgU1M1OCBwcmVmaXggb2YgdGhpcyBjaGFpbi4AOQEgVGhpcyByZXBsYWNlcyB0aGUgInNzNThGb3JtYXQiIHByb3BlcnR5IGRlY2xhcmVkIGluIHRoZSBjaGFpbiBzcGVjLiBSZWFzb24gaXMxASB0aGF0IHRoZSBydW50aW1lIHNob3VsZCBrbm93IGFib3V0IHRoZSBwcmVmaXggaW4gb3JkZXIgdG8gbWFrZSB1c2Ugb2YgaXQgYXNwIGFuIGlkZW50aWZpZXIgb2YgdGhlIGNoYWluLgABeQQAHCxSdW50aW1lQ2FsbCAEjCBUaGUgYWdncmVnYXRlZCBgUnVudGltZUNhbGxgIHR5cGUuFE5vbmNlOARJASBUaGlzIHN0b3JlcyB0aGUgbnVtYmVyIG9mIHByZXZpb3VzIHRyYW5zYWN0aW9ucyBhc3NvY2lhdGVkIHdpdGggYSBzZW5kZXIgYWNjb3VudC4QSGFzaDwEmCBUaGUgb3V0cHV0IG9mIHRoZSBgSGFzaGluZ2AgZnVuY3Rpb24uHEhhc2hpbmd9BAQhASBUaGUgaGFzaGluZyBzeXN0ZW0gKGFsZ29yaXRobSkgYmVpbmcgdXNlZCBpbiB0aGUgcnVudGltZSAoZS5nLiBCbGFrZTIpLiRBY2NvdW50SWQEBMggVGhlIHVzZXIgYWNjb3VudCBpZGVudGlmaWVyIHR5cGUgZm9yIHRoZSBydW50aW1lLhRCbG9ja4EECGEBIFRoZSBCbG9jayB0eXBlIHVzZWQgYnkgdGhlIHJ1bnRpbWUuIFRoaXMgaXMgdXNlZCBieSBgY29uc3RydWN0X3J1bnRpbWVgIHRvIHJldHJpZXZlIHRoZcwgZXh0cmluc2ljcyBvciBvdGhlciBibG9jayBzcGVjaWZpYyBkYXRhIGFzIG5lZWRlZC4sQWNjb3VudERhdGGJAwhhASBEYXRhIHRvIGJlIGFzc29jaWF0ZWQgd2l0aCBhbiBhY2NvdW50IChvdGhlciB0aGFuIG5vbmNlL3RyYW5zYWN0aW9uIGNvdW50ZXIsIHdoaWNoIHRoaXNkIHBhbGxldCBkb2VzIHJlZ2FyZGxlc3MpLgAAAAA8UGFyYWNoYWluU3lzdGVtATxQYXJhY2hhaW5TeXN0ZW1sRFVuaW5jbHVkZWRTZWdtZW50AQCVBAQAGEkBIExhdGVzdCBpbmNsdWRlZCBibG9jayBkZXNjZW5kYW50cyB0aGUgcnVudGltZSBhY2NlcHRlZC4gSW4gb3RoZXIgd29yZHMsIHRoZXNlIGFyZWEBIGFuY2VzdG9ycyBvZiB0aGUgY3VycmVudGx5IGV4ZWN1dGluZyBibG9jayB3aGljaCBoYXZlIG5vdCBiZWVuIGluY2x1ZGVkIGluIHRoZSBvYnNlcnZlZEwgcmVsYXktY2hhaW4gc3RhdGUuAHUBIFRoZSBzZWdtZW50IGxlbmd0aCBpcyBsaW1pdGVkIGJ5IHRoZSBjYXBhY2l0eSByZXR1cm5lZCBmcm9tIHRoZSBbYENvbnNlbnN1c0hvb2tgXSBjb25maWd1cmVkPCBpbiB0aGUgcGFsbGV0LgBsQWdncmVnYXRlZFVuaW5jbHVkZWRTZWdtZW50AAC9BAQADGkBIFN0b3JhZ2UgZmllbGQgdGhhdCBrZWVwcyB0cmFjayBvZiBiYW5kd2lkdGggdXNlZCBieSB0aGUgdW5pbmNsdWRlZCBzZWdtZW50IGFsb25nIHdpdGggdGhlLQEgbGF0ZXN0IEhSTVAgd2F0ZXJtYXJrLiBVc2VkIGZvciBsaW1pdGluZyB0aGUgYWNjZXB0YW5jZSBvZiBuZXcgYmxvY2tzIHdpdGiQIHJlc3BlY3QgdG8gcmVsYXkgY2hhaW4gY29uc3RyYWludHMuAFRQZW5kaW5nVmFsaWRhdGlvbkNvZGUBABgEABhZASBJbiBjYXNlIG9mIGEgc2NoZWR1bGVkIHVwZ3JhZGUsIHRoaXMgc3RvcmFnZSBmaWVsZCBjb250YWlucyB0aGUgdmFsaWRhdGlvbiBjb2RlIHRvIGJlJCBhcHBsaWVkLgA9ASBBcyBzb29uIGFzIHRoZSByZWxheSBjaGFpbiBnaXZlcyB1cyB0aGUgZ28tYWhlYWQgc2lnbmFsLCB3ZSB3aWxsIG92ZXJ3cml0ZSB0aGVxASBbYDpjb2RlYF1bc3BfY29yZTo6c3RvcmFnZTo6d2VsbF9rbm93bl9rZXlzOjpDT0RFXSB3aGljaCB3aWxsIHJlc3VsdCB0aGUgbmV4dCBibG9jayBwcm9jZXNzCQEgd2l0aCB0aGUgbmV3IHZhbGlkYXRpb24gY29kZS4gVGhpcyBjb25jbHVkZXMgdGhlIHVwZ3JhZGUgcHJvY2Vzcy4ARE5ld1ZhbGlkYXRpb25Db2RlAAAYBAAUXQEgVmFsaWRhdGlvbiBjb2RlIHRoYXQgaXMgc2V0IGJ5IHRoZSBwYXJhY2hhaW4gYW5kIGlzIHRvIGJlIGNvbW11bmljYXRlZCB0byBjb2xsYXRvciBhbmR4IGNvbnNlcXVlbnRseSB0aGUgcmVsYXktY2hhaW4uAGUBIFRoaXMgd2lsbCBiZSBjbGVhcmVkIGluIGBvbl9pbml0aWFsaXplYCBvZiBlYWNoIG5ldyBibG9jayBpZiBubyBvdGhlciBwYWxsZXQgYWxyZWFkeSBzZXQsIHRoZSB2YWx1ZS4AOFZhbGlkYXRpb25EYXRhAABIBAAM0CBUaGUgW2BQZXJzaXN0ZWRWYWxpZGF0aW9uRGF0YWBdIHNldCBmb3IgdGhpcyBibG9jay4AcQEgVGhpcyB2YWx1ZSBpcyBleHBlY3RlZCB0byBiZSBzZXQgb25seSBvbmNlIGJ5IHRoZSBbYFBhbGxldDo6c2V0X3ZhbGlkYXRpb25fZGF0YWBdIGluaGVyZW50LgBQRGlkU2V0VmFsaWRhdGlvbkNvZGUBADEBBAAE4CBXZXJlIHRoZSB2YWxpZGF0aW9uIGRhdGEgc2V0IHRvIG5vdGlmeSB0aGUgcmVsYXkgY2hhaW4/AGRMYXN0UmVsYXlDaGFpbkJsb2NrTnVtYmVyAQA4EAAAAAAMHQEgVGhlIHJlbGF5IGNoYWluIGJsb2NrIG51bWJlciBhc3NvY2lhdGVkIHdpdGggdGhlIGxhc3QgcGFyYWNoYWluIGJsb2NrLgCIIFRoaXMgaXMgdXBkYXRlZCBpbiBgb25fZmluYWxpemVgLgBgVXBncmFkZVJlc3RyaWN0aW9uU2lnbmFsAQDBBAQAHHUBIEFuIG9wdGlvbiB3aGljaCBpbmRpY2F0ZXMgaWYgdGhlIHJlbGF5LWNoYWluIHJlc3RyaWN0cyBzaWduYWxsaW5nIGEgdmFsaWRhdGlvbiBjb2RlIHVwZ3JhZGUuYQEgSW4gb3RoZXIgd29yZHMsIGlmIHRoaXMgaXMgYFNvbWVgIGFuZCBbYE5ld1ZhbGlkYXRpb25Db2RlYF0gaXMgYFNvbWVgIHRoZW4gdGhlIHByb2R1Y2VkbCBjYW5kaWRhdGUgd2lsbCBiZSBpbnZhbGlkLgBxASBUaGlzIHN0b3JhZ2UgaXRlbSBpcyBhIG1pcnJvciBvZiB0aGUgY29ycmVzcG9uZGluZyB2YWx1ZSBmb3IgdGhlIGN1cnJlbnQgcGFyYWNoYWluIGZyb20gdGhlbQEgcmVsYXktY2hhaW4uIFRoaXMgdmFsdWUgaXMgZXBoZW1lcmFsIHdoaWNoIG1lYW5zIGl0IGRvZXNuJ3QgaGl0IHRoZSBzdG9yYWdlLiBUaGlzIHZhbHVlIGlzYCBzZXQgYWZ0ZXIgdGhlIGluaGVyZW50LgA4VXBncmFkZUdvQWhlYWQBALUEBAAU3CBPcHRpb25hbCB1cGdyYWRlIGdvLWFoZWFkIHNpZ25hbCBmcm9tIHRoZSByZWxheS1jaGFpbi4AcQEgVGhpcyBzdG9yYWdlIGl0ZW0gaXMgYSBtaXJyb3Igb2YgdGhlIGNvcnJlc3BvbmRpbmcgdmFsdWUgZm9yIHRoZSBjdXJyZW50IHBhcmFjaGFpbiBmcm9tIHRoZW0BIHJlbGF5LWNoYWluLiBUaGlzIHZhbHVlIGlzIGVwaGVtZXJhbCB3aGljaCBtZWFucyBpdCBkb2Vzbid0IGhpdCB0aGUgc3RvcmFnZS4gVGhpcyB2YWx1ZSBpc2Agc2V0IGFmdGVyIHRoZSBpbmhlcmVudC4APFJlbGF5U3RhdGVQcm9vZgAAUAQAGMQgVGhlIHN0YXRlIHByb29mIGZvciB0aGUgbGFzdCByZWxheSBwYXJlbnQgYmxvY2suAG0BIFRoaXMgZmllbGQgaXMgbWVhbnQgdG8gYmUgdXBkYXRlZCBlYWNoIGJsb2NrIHdpdGggdGhlIHZhbGlkYXRpb24gZGF0YSBpbmhlcmVudC4gVGhlcmVmb3JlLE0BIGJlZm9yZSBwcm9jZXNzaW5nIG9mIHRoZSBpbmhlcmVudCwgZS5nLiBpbiBgb25faW5pdGlhbGl6ZWAgdGhpcyBkYXRhIG1heSBiZSBzdGFsZS4ArCBUaGlzIGRhdGEgaXMgYWxzbyBhYnNlbnQgZnJvbSB0aGUgZ2VuZXNpcy4AWFJlbGV2YW50TWVzc2FnaW5nU3RhdGUAAMkEBAAcZQEgVGhlIHNuYXBzaG90IG9mIHNvbWUgc3RhdGUgcmVsYXRlZCB0byBtZXNzYWdpbmcgcmVsZXZhbnQgdG8gdGhlIGN1cnJlbnQgcGFyYWNoYWluIGFzIHBlckggdGhlIHJlbGF5IHBhcmVudC4AbQEgVGhpcyBmaWVsZCBpcyBtZWFudCB0byBiZSB1cGRhdGVkIGVhY2ggYmxvY2sgd2l0aCB0aGUgdmFsaWRhdGlvbiBkYXRhIGluaGVyZW50LiBUaGVyZWZvcmUsTQEgYmVmb3JlIHByb2Nlc3Npbmcgb2YgdGhlIGluaGVyZW50LCBlLmcuIGluIGBvbl9pbml0aWFsaXplYCB0aGlzIGRhdGEgbWF5IGJlIHN0YWxlLgCsIFRoaXMgZGF0YSBpcyBhbHNvIGFic2VudCBmcm9tIHRoZSBnZW5lc2lzLgBESG9zdENvbmZpZ3VyYXRpb24AAN0EBAAYKQEgVGhlIHBhcmFjaGFpbiBob3N0IGNvbmZpZ3VyYXRpb24gdGhhdCB3YXMgb2J0YWluZWQgZnJvbSB0aGUgcmVsYXkgcGFyZW50LgBtASBUaGlzIGZpZWxkIGlzIG1lYW50IHRvIGJlIHVwZGF0ZWQgZWFjaCBibG9jayB3aXRoIHRoZSB2YWxpZGF0aW9uIGRhdGEgaW5oZXJlbnQuIFRoZXJlZm9yZSxNASBiZWZvcmUgcHJvY2Vzc2luZyBvZiB0aGUgaW5oZXJlbnQsIGUuZy4gaW4gYG9uX2luaXRpYWxpemVgIHRoaXMgZGF0YSBtYXkgYmUgc3RhbGUuAKwgVGhpcyBkYXRhIGlzIGFsc28gYWJzZW50IGZyb20gdGhlIGdlbmVzaXMuADhMYXN0RG1xTXFjSGVhZAEA5QSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ9CBUaGUgbGFzdCBkb3dud2FyZCBtZXNzYWdlIHF1ZXVlIGNoYWluIGhlYWQgd2UgaGF2ZSBvYnNlcnZlZC4AZQEgVGhpcyB2YWx1ZSBpcyBsb2FkZWQgYmVmb3JlIGFuZCBzYXZlZCBhZnRlciBwcm9jZXNzaW5nIGluYm91bmQgZG93bndhcmQgbWVzc2FnZXMgY2FycmllZGAgYnkgdGhlIHN5c3RlbSBpbmhlcmVudC4AQExhc3RIcm1wTXFjSGVhZHMBAOkEBAAQSQEgVGhlIG1lc3NhZ2UgcXVldWUgY2hhaW4gaGVhZHMgd2UgaGF2ZSBvYnNlcnZlZCBwZXIgZWFjaCBjaGFubmVsIGluY29taW5nIGNoYW5uZWwuAGUBIFRoaXMgdmFsdWUgaXMgbG9hZGVkIGJlZm9yZSBhbmQgc2F2ZWQgYWZ0ZXIgcHJvY2Vzc2luZyBpbmJvdW5kIGRvd253YXJkIG1lc3NhZ2VzIGNhcnJpZWRgIGJ5IHRoZSBzeXN0ZW0gaW5oZXJlbnQuAGRQcm9jZXNzZWREb3dud2FyZE1lc3NhZ2VzAQA4EAAAAAAMyCBOdW1iZXIgb2YgZG93bndhcmQgbWVzc2FnZXMgcHJvY2Vzc2VkIGluIGEgYmxvY2suAOwgVGhpcyB3aWxsIGJlIGNsZWFyZWQgaW4gYG9uX2luaXRpYWxpemVgIG9mIGVhY2ggbmV3IGJsb2NrLgBwTGFzdFByb2Nlc3NlZERvd253YXJkTWVzc2FnZQAA9QQEAAyUIFRoZSBsYXN0IHByb2Nlc3NlZCBkb3dud2FyZCBtZXNzYWdlLgBdASBXZSBuZWVkIHRvIGtlZXAgdHJhY2sgb2YgdGhpcyB0byBmaWx0ZXIgdGhlIG1lc3NhZ2VzIHRoYXQgaGF2ZSBiZWVuIGFscmVhZHkgcHJvY2Vzc2VkLgA0SHJtcFdhdGVybWFyawEAOBAAAAAABKAgSFJNUCB3YXRlcm1hcmsgdGhhdCB3YXMgc2V0IGluIGEgYmxvY2suAGBMYXN0UHJvY2Vzc2VkSHJtcE1lc3NhZ2UAAPUEBAAMhCBUaGUgbGFzdCBwcm9jZXNzZWQgSFJNUCBtZXNzYWdlLgBdASBXZSBuZWVkIHRvIGtlZXAgdHJhY2sgb2YgdGhpcyB0byBmaWx0ZXIgdGhlIG1lc3NhZ2VzIHRoYXQgaGF2ZSBiZWVuIGFscmVhZHkgcHJvY2Vzc2VkLgBQSHJtcE91dGJvdW5kTWVzc2FnZXMBAPkEBAAMpCBIUk1QIG1lc3NhZ2VzIHRoYXQgd2VyZSBzZW50IGluIGEgYmxvY2suAOwgVGhpcyB3aWxsIGJlIGNsZWFyZWQgaW4gYG9uX2luaXRpYWxpemVgIG9mIGVhY2ggbmV3IGJsb2NrLgA4VXB3YXJkTWVzc2FnZXMBADQEAAysIFVwd2FyZCBtZXNzYWdlcyB0aGF0IHdlcmUgc2VudCBpbiBhIGJsb2NrLgDwIFRoaXMgd2lsbCBiZSBjbGVhcmVkIGluIGBvbl9pbml0aWFsaXplYCBmb3IgZWFjaCBuZXcgYmxvY2suAFRQZW5kaW5nVXB3YXJkTWVzc2FnZXMBADQEAAQxASBVcHdhcmQgbWVzc2FnZXMgdGhhdCBhcmUgc3RpbGwgcGVuZGluZyBhbmQgbm90IHlldCBzZW50IHRvIHRoZSByZWxheSBjaGFpbi4AUFBlbmRpbmdVcHdhcmRTaWduYWxzAQA0BAAMLQEgVXB3YXJkIHNpZ25hbHMgdGhhdCBhcmUgc3RpbGwgcGVuZGluZyBhbmQgbm90IHlldCBzZW50IHRvIHRoZSByZWxheSBjaGFpbi4A2CBUaGlzIHdpbGwgYmUgY2xlYXJlZCBpbiBgb25fZmluYWxpemVgIGZvciBlYWNoIGJsb2NrLgBcVXB3YXJkRGVsaXZlcnlGZWVGYWN0b3IBAAEFQAAAZKeztuANAAAAAAAAAAAE5CBUaGUgZmFjdG9yIHRvIG11bHRpcGx5IHRoZSBiYXNlIGRlbGl2ZXJ5IGZlZSBieSBmb3IgVU1QLgCEQW5ub3VuY2VkSHJtcE1lc3NhZ2VzUGVyQ2FuZGlkYXRlAQA4EAAAAAAIZQEgVGhlIG51bWJlciBvZiBIUk1QIG1lc3NhZ2VzIHdlIG9ic2VydmVkIGluIGBvbl9pbml0aWFsaXplYCBhbmQgdGh1cyB1c2VkIHRoYXQgbnVtYmVyIGZvcvAgYW5ub3VuY2luZyB0aGUgd2VpZ2h0IG9mIGBvbl9pbml0aWFsaXplYCBhbmQgYG9uX2ZpbmFsaXplYC4AaFJlc2VydmVkWGNtcFdlaWdodE92ZXJyaWRlAAApAQQACF0BIFRoZSB3ZWlnaHQgd2UgcmVzZXJ2ZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBibG9jayBmb3IgcHJvY2Vzc2luZyBYQ01QIG1lc3NhZ2VzLiBUaGlzuCBvdmVycmlkZXMgdGhlIGFtb3VudCBzZXQgaW4gdGhlIENvbmZpZyB0cmFpdC4AZFJlc2VydmVkRG1wV2VpZ2h0T3ZlcnJpZGUAACkBBAAIWQEgVGhlIHdlaWdodCB3ZSByZXNlcnZlIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJsb2NrIGZvciBwcm9jZXNzaW5nIERNUCBtZXNzYWdlcy4gVGhpc7ggb3ZlcnJpZGVzIHRoZSBhbW91bnQgc2V0IGluIHRoZSBDb25maWcgdHJhaXQuAGBDdXN0b21WYWxpZGF0aW9uSGVhZERhdGEAABgEAAwpASBBIGN1c3RvbSBoZWFkIGRhdGEgdGhhdCBzaG91bGQgYmUgcmV0dXJuZWQgYXMgcmVzdWx0IG9mIGB2YWxpZGF0ZV9ibG9ja2AuABEBIFNlZSBgUGFsbGV0OjpzZXRfY3VzdG9tX3ZhbGlkYXRpb25faGVhZF9kYXRhYCBmb3IgbW9yZSBpbmZvcm1hdGlvbi4AAUAAAckDAAQoU2VsZlBhcmFJZJwQ/hMAAAS4IFJldHVybnMgdGhlIHBhcmFjaGFpbiBJRCB3ZSBhcmUgcnVubmluZyB3aXRoLgABBQUAAAABAAAkVGltZXN0YW1wASRUaW1lc3RhbXAIDE5vdwEAKCAAAAAAAAAAAASgIFRoZSBjdXJyZW50IHRpbWUgZm9yIHRoZSBjdXJyZW50IGJsb2NrLgAkRGlkVXBkYXRlAQAxAQQAENggV2hldGhlciB0aGUgdGltZXN0YW1wIGhhcyBiZWVuIHVwZGF0ZWQgaW4gdGhpcyBibG9jay4AVQEgVGhpcyB2YWx1ZSBpcyB1cGRhdGVkIHRvIGB0cnVlYCB1cG9uIHN1Y2Nlc3NmdWwgc3VibWlzc2lvbiBvZiBhIHRpbWVzdGFtcCBieSBhIG5vZGUuRQEgSXQgaXMgdGhlbiBjaGVja2VkIGF0IHRoZSBlbmQgb2YgZWFjaCBibG9jayBleGVjdXRpb24gaW4gdGhlIGBvbl9maW5hbGl6ZWAgaG9vay4AAbAAAAQ0TWluaW11bVBlcmlvZCggAAAAAAAAAAAYjCBUaGUgbWluaW11bSBwZXJpb2QgYmV0d2VlbiBibG9ja3MuAE0BIEJlIGF3YXJlIHRoYXQgdGhpcyBpcyBkaWZmZXJlbnQgdG8gdGhlICpleHBlY3RlZCogcGVyaW9kIHRoYXQgdGhlIGJsb2NrIHByb2R1Y3Rpb25JASBhcHBhcmF0dXMgcHJvdmlkZXMuIFlvdXIgY2hvc2VuIGNvbnNlbnN1cyBzeXN0ZW0gd2lsbCBnZW5lcmFsbHkgd29yayB3aXRoIHRoaXMgdG9hASBkZXRlcm1pbmUgYSBzZW5zaWJsZSBibG9jayB0aW1lLiBGb3IgZXhhbXBsZSwgaW4gdGhlIEF1cmEgcGFsbGV0IGl0IHdpbGwgYmUgZG91YmxlIHRoaXNwIHBlcmlvZCBvbiBkZWZhdWx0IHNldHRpbmdzLgAABBhNb21lbnQoBJggVHlwZSB1c2VkIGZvciBleHByZXNzaW5nIGEgdGltZXN0YW1wLgADAAA0UGFyYWNoYWluSW5mbwE0UGFyYWNoYWluSW5mbwQsUGFyYWNoYWluSWQBAJwQZAAAAAAAAbgAAAAAAAAEAAA0V2VpZ2h0UmVjbGFpbQAAAAAAAAAFCIEBIFBhbGxldCB0byB1c2UgYWxvbmdzaWRlIHRoZSB0cmFuc2FjdGlvbiBleHRlbnNpb24gW2BTdG9yYWdlV2VpZ2h0UmVjbGFpbWBdLCB0aGUgcGFsbGV0IHByb3ZpZGVzjCB3ZWlnaHQgaW5mb3JtYXRpb24gYW5kIGJlbmNobWFya3MuABxVdGlsaXR5AAG8AAHNAwAETGJhdGNoZWRfY2FsbHNfbGltaXQ4EKoqAAAEqCBUaGUgbGltaXQgb24gdGhlIG51bWJlciBvZiBiYXRjaGVkIGNhbGxzLgABCQUACCxSdW50aW1lQ2FsbCAEbCBUaGUgb3ZlcmFyY2hpbmcgY2FsbCB0eXBlLjRQYWxsZXRzT3JpZ2luyATwIFRoZSBjYWxsZXIgb3JpZ2luLCBvdmVyYXJjaGluZyB0eXBlIG9mIGFsbCBwYWxsZXRzIG9yaWdpbnMuAAYAACBCYWxhbmNlcwEgQmFsYW5jZXMcNFRvdGFsSXNzdWFuY2UBAPxAAAAAAAAAAAAAAAAAAAAAAASYIFRoZSB0b3RhbCB1bml0cyBpc3N1ZWQgaW4gdGhlIHN5c3RlbS4AQEluYWN0aXZlSXNzdWFuY2UBAPxAAAAAAAAAAAAAAAAAAAAAAAQJASBUaGUgdG90YWwgdW5pdHMgb2Ygb3V0c3RhbmRpbmcgZGVhY3RpdmF0ZWQgYmFsYW5jZSBpbiB0aGUgc3lzdGVtLgAcQWNjb3VudAEBBAIEiQMBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIBgCQEgVGhlIEJhbGFuY2VzIHBhbGxldCBleGFtcGxlIG9mIHN0b3JpbmcgdGhlIGJhbGFuY2Ugb2YgYW4gYWNjb3VudC4AKCAjIEV4YW1wbGUANCBgYGBub2NvbXBpbGWwICBpbXBsIHBhbGxldF9iYWxhbmNlczo6Q29uZmlnIGZvciBSdW50aW1lIHsZAiAgICB0eXBlIEFjY291bnRTdG9yZSA9IFN0b3JhZ2VNYXBTaGltPFNlbGY6OkFjY291bnQ8UnVudGltZT4sIGZyYW1lX3N5c3RlbTo6UHJvdmlkZXI8UnVudGltZT4sIEFjY291bnRJZCwgU2VsZjo6QWNjb3VudERhdGE8QmFsYW5jZT4+DCAgfRAgYGBgABUBIFlvdSBjYW4gYWxzbyBzdG9yZSB0aGUgYmFsYW5jZSBvZiBhbiBhY2NvdW50IGluIHRoZSBgU3lzdGVtYCBwYWxsZXQuACggIyBFeGFtcGxlADQgYGBgbm9jb21waWxlsCAgaW1wbCBwYWxsZXRfYmFsYW5jZXM6OkNvbmZpZyBmb3IgUnVudGltZSB7dCAgIHR5cGUgQWNjb3VudFN0b3JlID0gU3lzdGVtDCAgfRAgYGBgAFEBIEJ1dCB0aGlzIGNvbWVzIHdpdGggdHJhZGVvZmZzLCBzdG9yaW5nIGFjY291bnQgYmFsYW5jZXMgaW4gdGhlIHN5c3RlbSBwYWxsZXQgc3RvcmVzbQEgYGZyYW1lX3N5c3RlbWAgZGF0YSBhbG9uZ3NpZGUgdGhlIGFjY291bnQgZGF0YSBjb250cmFyeSB0byBzdG9yaW5nIGFjY291bnQgYmFsYW5jZXMgaW4gdGhlKQEgYEJhbGFuY2VzYCBwYWxsZXQsIHdoaWNoIHVzZXMgYSBgU3RvcmFnZU1hcGAgdG8gc3RvcmUgYmFsYW5jZXMgZGF0YSBvbmx5LkEBIE5PVEU6IFRoaXMgaXMgb25seSB1c2VkIGluIHRoZSBjYXNlIHRoYXQgdGhpcyBwYWxsZXQgaXMgdXNlZCB0byBzdG9yZSBiYWxhbmNlcy4AFExvY2tzAQEEAgQNBQQAELggQW55IGxpcXVpZGl0eSBsb2NrcyBvbiBzb21lIGFjY291bnQgYmFsYW5jZXMuJQEgTk9URTogU2hvdWxkIG9ubHkgYmUgYWNjZXNzZWQgd2hlbiBzZXR0aW5nLCBjaGFuZ2luZyBhbmQgZnJlZWluZyBhIGxvY2suAK0BIFVzZSBvZiBsb2NrcyBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiBmcmVlemVzLiBTZWUgYGh0dHBzOi8vZ2l0aHViLmNvbS9wYXJpdHl0ZWNoL3N1YnN0cmF0ZS9wdWxsLzEyOTUxL2AAIFJlc2VydmVzAQEEAgQdBQQADKQgTmFtZWQgcmVzZXJ2ZXMgb24gc29tZSBhY2NvdW50IGJhbGFuY2VzLgCxASBVc2Ugb2YgcmVzZXJ2ZXMgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgaG9sZHMuIFNlZSBgaHR0cHM6Ly9naXRodWIuY29tL3Bhcml0eXRlY2gvc3Vic3RyYXRlL3B1bGwvMTI5NTEvYAAUSG9sZHMBAQQCBCkFBAAEbCBIb2xkcyBvbiBhY2NvdW50IGJhbGFuY2VzLgAcRnJlZXplcwEBBAIENQUEAASIIEZyZWV6ZSBsb2NrcyBvbiBhY2NvdW50IGJhbGFuY2VzLgABLQEAAdUDABBIRXhpc3RlbnRpYWxEZXBvc2l0/EAAypo7AAAAAAAAAAAAAAAAIEEBIFRoZSBtaW5pbXVtIGFtb3VudCByZXF1aXJlZCB0byBrZWVwIGFuIGFjY291bnQgb3Blbi4gTVVTVCBCRSBHUkVBVEVSIFRIQU4gWkVSTyEAWQEgSWYgeW91ICpyZWFsbHkqIG5lZWQgaXQgdG8gYmUgemVybywgeW91IGNhbiBlbmFibGUgdGhlIGZlYXR1cmUgYGluc2VjdXJlX3plcm9fZWRgIGZvcmEBIHRoaXMgcGFsbGV0LiBIb3dldmVyLCB5b3UgZG8gc28gYXQgeW91ciBvd24gcmlzazogdGhpcyB3aWxsIG9wZW4gdXAgYSBtYWpvciBEb1MgdmVjdG9yLlkBIEluIGNhc2UgeW91IGhhdmUgbXVsdGlwbGUgc291cmNlcyBvZiBwcm92aWRlciByZWZlcmVuY2VzLCB5b3UgbWF5IGFsc28gZ2V0IHVuZXhwZWN0ZWSMIGJlaGF2aW91ciBpZiB5b3Ugc2V0IHRoaXMgdG8gemVyby4A8CBCb3R0b20gbGluZTogRG8geW91cnNlbGYgYSBmYXZvdXIgYW5kIG1ha2UgaXQgYXQgbGVhc3Qgb25lIQAgTWF4TG9ja3M4EDIAAAAQ9CBUaGUgbWF4aW11bSBudW1iZXIgb2YgbG9ja3MgdGhhdCBzaG91bGQgZXhpc3Qgb24gYW4gYWNjb3VudC7cIE5vdCBzdHJpY3RseSBlbmZvcmNlZCwgYnV0IHVzZWQgZm9yIHdlaWdodCBlc3RpbWF0aW9uLgCtASBVc2Ugb2YgbG9ja3MgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgZnJlZXplcy4gU2VlIGBodHRwczovL2dpdGh1Yi5jb20vcGFyaXR5dGVjaC9zdWJzdHJhdGUvcHVsbC8xMjk1MS9gACxNYXhSZXNlcnZlczgQMgAAAAwNASBUaGUgbWF4aW11bSBudW1iZXIgb2YgbmFtZWQgcmVzZXJ2ZXMgdGhhdCBjYW4gZXhpc3Qgb24gYW4gYWNjb3VudC4AsQEgVXNlIG9mIHJlc2VydmVzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIGhvbGRzLiBTZWUgYGh0dHBzOi8vZ2l0aHViLmNvbS9wYXJpdHl0ZWNoL3N1YnN0cmF0ZS9wdWxsLzEyOTUxL2AAKE1heEZyZWV6ZXM4EAAAAAAEYQEgVGhlIG1heGltdW0gbnVtYmVyIG9mIGluZGl2aWR1YWwgZnJlZXplIGxvY2tzIHRoYXQgY2FuIGV4aXN0IG9uIGFuIGFjY291bnQgYXQgYW55IHRpbWUuAAFBBQAQRFJ1bnRpbWVIb2xkUmVhc29u3QMEdCBUaGUgb3ZlcmFyY2hpbmcgaG9sZCByZWFzb24uHEJhbGFuY2X8BGwgVGhlIGJhbGFuY2Ugb2YgYW4gYWNjb3VudC5EUmVzZXJ2ZUlkZW50aWZpZXLZAQxoIFRoZSBJRCB0eXBlIGZvciByZXNlcnZlcy4AsQEgVXNlIG9mIHJlc2VydmVzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIGhvbGRzLiBTZWUgYGh0dHBzOi8vZ2l0aHViLmNvbS9wYXJpdHl0ZWNoL3N1YnN0cmF0ZS9wdWxsLzEyOTUxL2BARnJlZXplSWRlbnRpZmllchAEZCBUaGUgSUQgdHlwZSBmb3IgZnJlZXplcy4ACgAASFRyYW5zYWN0aW9uUGF5bWVudAFIVHJhbnNhY3Rpb25QYXltZW50DEROZXh0RmVlTXVsdGlwbGllcgEAAQVAAABkp7O24A0AAAAAAAAAAAAAOFN0b3JhZ2VWZXJzaW9uAQBFBQQAAAA8VHhQYXltZW50Q3JlZGl0AABJBQQADPAgVGhlIGBPbkNoYXJnZVRyYW5zYWN0aW9uYCBzdG9yZXMgdGhlIHdpdGhkcmF3biB0eCBmZWUgaGVyZS4ANQEgVXNlIGB3aXRoZHJhd190eGZlZWAgYW5kIGByZW1haW5pbmdfdHhmZWVgIHRvIGFjY2VzcyBmcm9tIG91dHNpZGUgdGhlIGNyYXRlLgAAAfEDAARgT3BlcmF0aW9uYWxGZWVNdWx0aXBsaWVyDAQFVFkBIEEgZmVlIG11bHRpcGxpZXIgZm9yIGBPcGVyYXRpb25hbGAgZXh0cmluc2ljcyB0byBjb21wdXRlICJ2aXJ0dWFsIHRpcCIgdG8gYm9vc3QgdGhlaXIsIGBwcmlvcml0eWAAUQEgVGhpcyB2YWx1ZSBpcyBtdWx0aXBsaWVkIGJ5IHRoZSBgZmluYWxfZmVlYCB0byBvYnRhaW4gYSAidmlydHVhbCB0aXAiIHRoYXQgaXMgbGF0ZXL0IGFkZGVkIHRvIGEgdGlwIGNvbXBvbmVudCBpbiByZWd1bGFyIGBwcmlvcml0eWAgY2FsY3VsYXRpb25zLk0BIEl0IG1lYW5zIHRoYXQgYSBgTm9ybWFsYCB0cmFuc2FjdGlvbiBjYW4gZnJvbnQtcnVuIGEgc2ltaWxhcmx5LXNpemVkIGBPcGVyYXRpb25hbGBBASBleHRyaW5zaWMgKHdpdGggbm8gdGlwKSwgYnkgaW5jbHVkaW5nIGEgdGlwIHZhbHVlIGdyZWF0ZXIgdGhhbiB0aGUgdmlydHVhbCB0aXAuADwgYGBgcnVzdCxpZ25vcmVAIC8vIEZvciBgTm9ybWFsYIwgbGV0IHByaW9yaXR5ID0gcHJpb3JpdHlfY2FsYyh0aXApOwBUIC8vIEZvciBgT3BlcmF0aW9uYWxgEQEgbGV0IHZpcnR1YWxfdGlwID0gKGluY2x1c2lvbl9mZWUgKyB0aXApICogT3BlcmF0aW9uYWxGZWVNdWx0aXBsaWVyO8QgbGV0IHByaW9yaXR5ID0gcHJpb3JpdHlfY2FsYyh0aXAgKyB2aXJ0dWFsX3RpcCk7ECBgYGAAUQEgTm90ZSB0aGF0IHNpbmNlIHdlIHVzZSBgZmluYWxfZmVlYCB0aGUgbXVsdGlwbGllciBhcHBsaWVzIGFsc28gdG8gdGhlIHJlZ3VsYXIgYHRpcGBdASBzZW50IHdpdGggdGhlIHRyYW5zYWN0aW9uLiBTbywgbm90IG9ubHkgZG9lcyB0aGUgdHJhbnNhY3Rpb24gZ2V0IGEgcHJpb3JpdHkgYnVtcCBiYXNlZGEBIG9uIHRoZSBgaW5jbHVzaW9uX2ZlZWAsIGJ1dCB3ZSBhbHNvIGFtcGxpZnkgdGhlIGltcGFjdCBvZiB0aXBzIGFwcGxpZWQgdG8gYE9wZXJhdGlvbmFsYDggdHJhbnNhY3Rpb25zLgAAAAALAABIU2tpcEZlZWxlc3NQYXltZW50AAAB9QMAAAAAAAwAAEhUcmFuc2FjdGlvblN0b3JhZ2UBSFRyYW5zYWN0aW9uU3RvcmFnZRw4QXV0aG9yaXphdGlvbnMAAQQC2FEFBAAEgCBBdXRob3JpemF0aW9ucywga2V5ZWQgYnkgc2NvcGUuADBUcmFuc2FjdGlvbnMAAQQCOFkFBAAE0CBDb2xsZWN0aW9uIG9mIHRyYW5zYWN0aW9uIG1ldGFkYXRhIGJ5IGJsb2NrIG51bWJlci4AHEJ5dGVGZWUAAPwEAARYIFN0b3JhZ2UgZmVlIHBlciBieXRlLgAgRW50cnlGZWUAAPwEAAR0IFN0b3JhZ2UgZmVlIHBlciB0cmFuc2FjdGlvbi4APFJldGVudGlvblBlcmlvZAEAOBAAAAAAFOQgTnVtYmVyIG9mIGJsb2NrcyBmb3Igd2hpY2ggc3RvcmVkIGRhdGEgbXVzdCBiZSByZXRhaW5lZC4ALQEgRGF0YSBvbGRlciB0aGFuIGBSZXRlbnRpb25QZXJpb2RgIGJsb2NrcyBpcyBlbGlnaWJsZSBmb3IgcmVtb3ZhbCB1bmxlc3MgaXQxASBoYXMgYmVlbiBleHBsaWNpdGx5IHJlbmV3ZWQuIFZhbGlkYXRvcnMgYXJlIHJlcXVpcmVkIHRvIHByb3ZlIHBvc3Nlc3Npb24gb2YxASBkYXRhIGNvcnJlc3BvbmRpbmcgdG8gYmxvY2sgYE4gLSBSZXRlbnRpb25QZXJpb2RgIHdoZW4gcHJvZHVjaW5nIGJsb2NrIGBOYC4AREJsb2NrVHJhbnNhY3Rpb25zAQBZBQQAAAAwUHJvb2ZDaGVja2VkAQAxAQQABJQgV2FzIHRoZSBwcm9vZiBjaGVja2VkIGluIHRoaXMgYmxvY2s/AAE9AQAB+QMAHFBNYXhCbG9ja1RyYW5zYWN0aW9uczgQAAIAAATUIE1heGltdW0gbnVtYmVyIG9mIGluZGV4ZWQgdHJhbnNhY3Rpb25zIGluIHRoZSBibG9jay4ASE1heFRyYW5zYWN0aW9uU2l6ZTgQAAAgAATMIE1heGltdW0gZGF0YSBzZXQgaW4gYSBzaW5nbGUgdHJhbnNhY3Rpb24gaW4gYnl0ZXMuAExBdXRob3JpemF0aW9uUGVyaW9kOBCAxhMABLggQXV0aG9yaXphdGlvbnMgZXhwaXJlIGFmdGVyIHRoaXMgbWFueSBibG9ja3MuAEhTdG9yZVJlbmV3UHJpb3JpdHkoIPz/////////BJggUHJpb3JpdHkgb2Ygc3RvcmUvcmVuZXcgdHJhbnNhY3Rpb25zLgBMU3RvcmVSZW5ld0xvbmdldml0eSggQDgAAAAAAAAEnCBMb25nZXZpdHkgb2Ygc3RvcmUvcmVuZXcgdHJhbnNhY3Rpb25zLgCIUmVtb3ZlRXhwaXJlZEF1dGhvcml6YXRpb25Qcmlvcml0eSgg/f////////8EEQEgUHJpb3JpdHkgb2YgdW5zaWduZWQgdHJhbnNhY3Rpb25zIHRvIHJlbW92ZSBleHBpcmVkIGF1dGhvcml6YXRpb25zLgCMUmVtb3ZlRXhwaXJlZEF1dGhvcml6YXRpb25Mb25nZXZpdHkoIEA4AAAAAAAABBUBIExvbmdldml0eSBvZiB1bnNpZ25lZCB0cmFuc2FjdGlvbnMgdG8gcmVtb3ZlIGV4cGlyZWQgYXV0aG9yaXphdGlvbnMuAAFlBQAELFJ1bnRpbWVDYWxsIARUIEEgZGlzcGF0Y2hhYmxlIGNhbGwuACgAAChBdXRob3JzaGlwAShBdXRob3JzaGlwBBhBdXRob3IAAAQEAARkIEF1dGhvciBvZiBjdXJyZW50IGJsb2NrLgAAAAAAAAAUAABEQ29sbGF0b3JTZWxlY3Rpb24BRENvbGxhdG9yU2VsZWN0aW9uFDRJbnZ1bG5lcmFibGVzAQBpBQQABBEBIFRoZSBpbnZ1bG5lcmFibGUsIHBlcm1pc3Npb25lZCBjb2xsYXRvcnMuIFRoaXMgbGlzdCBtdXN0IGJlIHNvcnRlZC4ANENhbmRpZGF0ZUxpc3QBAG0FBAAUaQEgVGhlIChjb21tdW5pdHksIGxpbWl0ZWQpIGNvbGxhdGlvbiBjYW5kaWRhdGVzLiBgQ2FuZGlkYXRlc2AgYW5kIGBJbnZ1bG5lcmFibGVzYCBzaG91bGQgYmVQIG11dHVhbGx5IGV4Y2x1c2l2ZS4AdQEgVGhpcyBsaXN0IGlzIHNvcnRlZCBpbiBhc2NlbmRpbmcgb3JkZXIgYnkgZGVwb3NpdCBhbmQgd2hlbiB0aGUgZGVwb3NpdHMgYXJlIGVxdWFsLCB0aGUgbGVhc3SgIHJlY2VudGx5IHVwZGF0ZWQgaXMgY29uc2lkZXJlZCBncmVhdGVyLgBETGFzdEF1dGhvcmVkQmxvY2sBAQQFBDgQAAAAAASEIExhc3QgYmxvY2sgYXV0aG9yZWQgYnkgY29sbGF0b3IuAEREZXNpcmVkQ2FuZGlkYXRlcwEAOBAAAAAADHggRGVzaXJlZCBudW1iZXIgb2YgY2FuZGlkYXRlcy4AdQEgVGhpcyBzaG91bGQgaWRlYWxseSBhbHdheXMgYmUgbGVzcyB0aGFuIFtgQ29uZmlnOjpNYXhDYW5kaWRhdGVzYF0gZm9yIHdlaWdodHMgdG8gYmUgY29ycmVjdC4ANENhbmRpZGFjeUJvbmQBAPxAAAAAAAAAAAAAAAAAAAAAAAy4IEZpeGVkIGFtb3VudCB0byBkZXBvc2l0IHRvIGJlY29tZSBhIGNvbGxhdG9yLgBBASBXaGVuIGEgY29sbGF0b3IgY2FsbHMgYGxlYXZlX2ludGVudGAgdGhleSBpbW1lZGlhdGVseSByZWNlaXZlIHRoZSBkZXBvc2l0IGJhY2suAAFNAQABAQQAGBRQb3RJZHkFIFBvdFN0YWtlBPQgQWNjb3VudCBJZGVudGlmaWVyIGZyb20gd2hpY2ggdGhlIGludGVybmFsIFBvdCBpcyBnZW5lcmF0ZWQuADRNYXhDYW5kaWRhdGVzOBBkAAAADMggTWF4aW11bSBudW1iZXIgb2YgY2FuZGlkYXRlcyB0aGF0IHdlIHNob3VsZCBoYXZlLgDMIFRoaXMgZG9lcyBub3QgdGFrZSBpbnRvIGFjY291bnQgdGhlIGludnVsbmVyYWJsZXMuAFBNaW5FbGlnaWJsZUNvbGxhdG9yczgQBAAAAAxVASBNaW5pbXVtIG51bWJlciBlbGlnaWJsZSBjb2xsYXRvcnMuIFNob3VsZCBhbHdheXMgYmUgZ3JlYXRlciB0aGFuIHplcm8uIFRoaXMgaW5jbHVkZXNRASBJbnZ1bG5lcmFibGUgY29sbGF0b3JzLiBUaGlzIGVuc3VyZXMgdGhhdCB0aGVyZSB3aWxsIGFsd2F5cyBiZSBvbmUgY29sbGF0b3Igd2hvIGNhbkQgcHJvZHVjZSBhIGJsb2NrLgBATWF4SW52dWxuZXJhYmxlczgQFAAAAASEIE1heGltdW0gbnVtYmVyIG9mIGludnVsbmVyYWJsZXMuADRLaWNrVGhyZXNob2xkOBAQDgAAAAAscG90X2FjY291bnQEgG1vZGxQb3RTdGFrZQAAAAAAAAAAAAAAAAAAAAAAAAAABKAgR2V0cyB0aGlzIHBhbGxldCdzIGRlcml2ZWQgcG90IGFjY291bnQuAAF9BQAELFZhbGlkYXRvcklkBAR0IEEgc3RhYmxlIElEIGZvciBhIHZhbGlkYXRvci4AFQAAHFNlc3Npb24BHFNlc3Npb24gKFZhbGlkYXRvcnMBADUBBAAEfCBUaGUgY3VycmVudCBzZXQgb2YgdmFsaWRhdG9ycy4AMEN1cnJlbnRJbmRleAEAOBAAAAAABHggQ3VycmVudCBpbmRleCBvZiB0aGUgc2Vzc2lvbi4ANFF1ZXVlZENoYW5nZWQBADEBBAAIOQEgVHJ1ZSBpZiB0aGUgdW5kZXJseWluZyBlY29ub21pYyBpZGVudGl0aWVzIG9yIHdlaWdodGluZyBiZWhpbmQgdGhlIHZhbGlkYXRvcnOkIGhhcyBjaGFuZ2VkIGluIHRoZSBxdWV1ZWQgdmFsaWRhdG9yIHNldC4AKFF1ZXVlZEtleXMBAIEFBAAIPQEgVGhlIHF1ZXVlZCBrZXlzIGZvciB0aGUgbmV4dCBzZXNzaW9uLiBXaGVuIHRoZSBuZXh0IHNlc3Npb24gYmVnaW5zLCB0aGVzZSBrZXlz4CB3aWxsIGJlIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSB2YWxpZGF0b3IncyBzZXNzaW9uIGtleXMuAEhEaXNhYmxlZFZhbGlkYXRvcnMBAIkFBAAUgCBJbmRpY2VzIG9mIGRpc2FibGVkIHZhbGlkYXRvcnMuAD0BIFRoZSB2ZWMgaXMgYWx3YXlzIGtlcHQgc29ydGVkIHNvIHRoYXQgd2UgY2FuIGZpbmQgd2hldGhlciBhIGdpdmVuIHZhbGlkYXRvciBpcz0BIGRpc2FibGVkIHVzaW5nIGJpbmFyeSBzZWFyY2guIEl0IGdldHMgY2xlYXJlZCB3aGVuIGBvbl9zZXNzaW9uX2VuZGluZ2AgcmV0dXJuc2QgYSBuZXcgc2V0IG9mIGlkZW50aXRpZXMuACBOZXh0S2V5cwABBAUEVQEEAAScIFRoZSBuZXh0IHNlc3Npb24ga2V5cyBmb3IgYSB2YWxpZGF0b3IuACBLZXlPd25lcgABBAWZBQQEAAQJASBUaGUgb3duZXIgb2YgYSBrZXkuIFRoZSBrZXkgaXMgdGhlIGBLZXlUeXBlSWRgICsgdGhlIGVuY29kZWQga2V5LgBERXh0ZXJuYWxseVNldEtleXMAAQQFBBAEABAxASBBY2NvdW50cyB3aG9zZSBrZXlzIHdlcmUgc2V0IHZpYSBgU2Vzc2lvbkludGVyZmFjZWAgKGV4dGVybmFsIHBhdGgpIHdpdGhvdXQ5ASBpbmNyZW1lbnRpbmcgdGhlIGNvbnN1bWVyIHJlZmVyZW5jZSBvciBwbGFjaW5nIGEga2V5IGRlcG9zaXQuIGBkb19wdXJnZV9rZXlzYDkBIG9ubHkgZGVjcmVtZW50cyBjb25zdW1lcnMgZm9yIGFjY291bnRzIHRoYXQgd2VyZSByZWdpc3RlcmVkIHRocm91Z2ggdGhlIGxvY2FsQCBzZXNzaW9uIHBhbGxldC4AAVEBAAEFBAAEKEtleURlcG9zaXT8QAAAAAAAAAAAAAAAAAAAAAAEpCBUaGUgYW1vdW50IHRvIGJlIGhlbGQgd2hlbiBzZXR0aW5nIGtleXMuAAGhBQAILFZhbGlkYXRvcklkBAR0IEEgc3RhYmxlIElEIGZvciBhIHZhbGlkYXRvci4QS2V5c1UBBCggVGhlIGtleXMuABYAABBBdXJhARBBdXJhCCxBdXRob3JpdGllcwEApQUEAARsIFRoZSBjdXJyZW50IGF1dGhvcml0eSBzZXQuACxDdXJyZW50U2xvdAEArQUgAAAAAAAAAAAMgCBUaGUgY3VycmVudCBzbG90IG9mIHRoaXMgYmxvY2suAJQgVGhpcyB3aWxsIGJlIHNldCBpbiBgb25faW5pdGlhbGl6ZWAuAAAABDBTbG90RHVyYXRpb24oIHAXAAAAAAAAFA0BIFRoZSBzbG90IGR1cmF0aW9uIEF1cmEgc2hvdWxkIHJ1biB3aXRoLCBleHByZXNzZWQgaW4gbWlsbGlzZWNvbmRzLgAhASBUaGUgZWZmZWN0aXZlIHZhbHVlIG9mIHRoaXMgdHlwZSBjYW4gYmUgY2hhbmdlZCB3aXRoIGEgcnVudGltZSB1cGdyYWRlLgA1ASBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZWl0aGVyIHVzZSBbYE1pbmltdW1QZXJpb2RUaW1lc1R3b2BdIG9yIGEgY29uc3QuAAAELEF1dGhvcml0eUlkWQEEmCBUaGUgaWRlbnRpZmllciB0eXBlIGZvciBhbiBhdXRob3JpdHkuABcAABxBdXJhRXh0ARxBdXJhRXh0CCxBdXRob3JpdGllcwEApQUEABSUIFNlcnZlcyBhcyBjYWNoZSBmb3IgdGhlIGF1dGhvcml0aWVzLgBxASBUaGUgYXV0aG9yaXRpZXMgaW4gQXVSYSBhcmUgb3ZlcndyaXR0ZW4gaW4gYG9uX2luaXRpYWxpemVgIHdoZW4gd2Ugc3dpdGNoIHRvIGEgbmV3IHNlc3Npb24sXQEgYnV0IHdlIHJlcXVpcmUgdGhlIG9sZCBhdXRob3JpdGllcyB0byB2ZXJpZnkgdGhlIHNlYWwgd2hlbiB2YWxpZGF0aW5nIGEgUG9WLiBUaGlzIHdpbGwNASBhbHdheXMgYmUgdXBkYXRlZCB0byB0aGUgbGF0ZXN0IEF1UmEgYXV0aG9yaXRpZXMgaW4gYG9uX2ZpbmFsaXplYC4ANFJlbGF5U2xvdEluZm8AALEFBAAQCQEgQ3VycmVudCByZWxheSBjaGFpbiBzbG90IHBhaXJlZCB3aXRoIGEgbnVtYmVyIG9mIGF1dGhvcmVkIGJsb2Nrcy4AZQEgVGhpcyBpcyB1cGRhdGVkIGluIFtgRml4ZWRWZWxvY2l0eUNvbnNlbnN1c0hvb2s6Om9uX3N0YXRlX3Byb29mYF0gd2l0aCB0aGUgY3VycmVudCByZWxhedwgY2hhaW4gc2xvdCBhcyBwcm92aWRlZCBieSB0aGUgcmVsYXkgY2hhaW4gc3RhdGUgcHJvb2YuAAAAAAAAABgAACRYY21wUXVldWUBJFhjbXBRdWV1ZRxQSW5ib3VuZFhjbXBTdXNwZW5kZWQBALUFBAAgDQEgVGhlIHN1c3BlbmRlZCBpbmJvdW5kIFhDTVAgY2hhbm5lbHMuIEFsbCBvdGhlcnMgYXJlIG5vdCBzdXNwZW5kZWQuAHEBIFRoaXMgaXMgYSBgU3RvcmFnZVZhbHVlYCBpbnN0ZWFkIG9mIGEgYFN0b3JhZ2VNYXBgIHNpbmNlIHdlIGV4cGVjdCBtdWx0aXBsZSByZWFkcyBwZXIgYmxvY2tpASB0byBkaWZmZXJlbnQga2V5cyB3aXRoIGEgb25lIGJ5dGUgcGF5bG9hZC4gVGhlIGFjY2VzcyB0byBgQm91bmRlZEJUcmVlU2V0YCB3aWxsIGJlIGNhY2hlZBUBIHdpdGhpbiB0aGUgYmxvY2sgYW5kIHRoZXJlZm9yZSBvbmx5IGluY2x1ZGVkIG9uY2UgaW4gdGhlIHByb29mIHNpemUuAGUBIE5PVEU6IFRoZSBQb1YgYmVuY2htYXJraW5nIGNhbm5vdCBrbm93IHRoaXMgYW5kIHdpbGwgb3Zlci1lc3RpbWF0ZSwgYnV0IHRoZSBhY3R1YWwgcHJvb2ZEIHdpbGwgYmUgc21hbGxlci4ASE91dGJvdW5kWGNtcFN0YXR1cwEAwQUEABhdASBUaGUgbm9uLWVtcHR5IFhDTVAgY2hhbm5lbHMgaW4gb3JkZXIgb2YgYmVjb21pbmcgbm9uLWVtcHR5LCBhbmQgdGhlIGluZGV4IG9mIHRoZSBmaXJzdFEBIGFuZCBsYXN0IG91dGJvdW5kIG1lc3NhZ2UuIElmIHRoZSB0d28gaW5kaWNlcyBhcmUgZXF1YWwsIHRoZW4gaXQgaW5kaWNhdGVzIGFuIGVtcHR5WQEgcXVldWUgYW5kIHRoZXJlIG11c3QgYmUgYSBub24tYE9rYCBgT3V0Ym91bmRTdGF0dXNgLiBXZSBhc3N1bWUgcXVldWVzIGdyb3cgbm8gZ3JlYXRlclkBIHRoYW4gNjU1MzUgaXRlbXMuIFF1ZXVlIGluZGljZXMgZm9yIG5vcm1hbCBtZXNzYWdlcyBiZWdpbiBhdCBvbmU7IHplcm8gaXMgcmVzZXJ2ZWQgaW4RASBjYXNlIG9mIHRoZSBuZWVkIHRvIHNlbmQgYSBoaWdoLXByaW9yaXR5IHNpZ25hbCBtZXNzYWdlIHRoaXMgYmxvY2suCQEgVGhlIGJvb2wgaXMgdHJ1ZSBpZiB0aGVyZSBpcyBhIHNpZ25hbCBtZXNzYWdlIHdhaXRpbmcgdG8gYmUgc2VudC4AUE91dGJvdW5kWGNtcE1lc3NhZ2VzAQEIAgXRBdUFBAAEvCBUaGUgbWVzc2FnZXMgb3V0Ym91bmQgaW4gYSBnaXZlbiBYQ01QIGNoYW5uZWwuADhTaWduYWxNZXNzYWdlcwEBBAKc1QUEAASgIEFueSBzaWduYWwgbWVzc2FnZXMgd2FpdGluZyB0byBiZSBzZW50LgAsUXVldWVDb25maWcBANkFMCAAAAAwAAAACAAAAAQVASBUaGUgY29uZmlndXJhdGlvbiB3aGljaCBjb250cm9scyB0aGUgZHluYW1pY3Mgb2YgdGhlIG91dGJvdW5kIHF1ZXVlLgA4UXVldWVTdXNwZW5kZWQBADEBBAAEQQEgV2hldGhlciBvciBub3QgdGhlIFhDTVAgcXVldWUgaXMgc3VzcGVuZGVkIGZyb20gZXhlY3V0aW5nIGluY29taW5nIFhDTXMgb3Igbm90LgBERGVsaXZlcnlGZWVGYWN0b3IBAQQFnAEFQAAAZKeztuANAAAAAAAAAAAExCBUaGUgZmFjdG9yIHRvIG11bHRpcGx5IHRoZSBiYXNlIGRlbGl2ZXJ5IGZlZSBieS4AAV0BAAEJBAAMTE1heEluYm91bmRTdXNwZW5kZWQ4EOgDAAAUSQEgVGhlIG1heGltdW0gbnVtYmVyIG9mIGluYm91bmQgWENNUCBjaGFubmVscyB0aGF0IGNhbiBiZSBzdXNwZW5kZWQgc2ltdWx0YW5lb3VzbHkuAF0BIEFueSBmdXJ0aGVyIGNoYW5uZWwgc3VzcGVuc2lvbnMgd2lsbCBmYWlsIGFuZCBtZXNzYWdlcyBtYXkgZ2V0IGRyb3BwZWQgd2l0aG91dCBmdXJ0aGVyRQEgbm90aWNlLiBDaG9vc2luZyBhIGhpZ2ggdmFsdWUgKDEwMDApIGlzIG9rYXk7IHRoZSB0cmFkZS1vZmYgdGhhdCBpcyBkZXNjcmliZWQgaW7YIFtgSW5ib3VuZFhjbXBTdXNwZW5kZWRgXSBzdGlsbCBhcHBsaWVzIGF0IHRoYXQgc2NhbGUuAGRNYXhBY3RpdmVPdXRib3VuZENoYW5uZWxzOBCAAAAAIGUBIE1heGltYWwgbnVtYmVyIG9mIG91dGJvdW5kIFhDTVAgY2hhbm5lbHMgdGhhdCBjYW4gaGF2ZSBtZXNzYWdlcyBxdWV1ZWQgYXQgdGhlIHNhbWUgdGltZS4AVQEgSWYgdGhpcyBpcyByZWFjaGVkLCB0aGVuIG5vIGZ1cnRoZXIgbWVzc2FnZXMgY2FuIGJlIHNlbnQgdG8gY2hhbm5lbHMgdGhhdCBkbyBub3QgeWV0XQEgaGF2ZSBhIG1lc3NhZ2UgcXVldWVkLiBUaGlzIHNob3VsZCBiZSBzZXQgdG8gdGhlIGV4cGVjdGVkIG1heGltdW0gb2Ygb3V0Ym91bmQgY2hhbm5lbHNhASB3aGljaCBpcyBkZXRlcm1pbmVkIGJ5IFtgU2VsZjo6Q2hhbm5lbEluZm9gXS4gSXQgaXMgaW1wb3J0YW50IHRvIHNldCB0aGlzIGxhcmdlIGVub3VnaCxdASBzaW5jZSBvdGhlcndpc2UgdGhlIGNvbmdlc3Rpb24gY29udHJvbCBwcm90b2NvbCB3aWxsIG5vdCB3b3JrIGFzIGludGVuZGVkIGFuZCBtZXNzYWdlc1EBIG1heSBiZSBkcm9wcGVkLiBUaGlzIHZhbHVlIGluY3JlYXNlcyB0aGUgUG9WIGFuZCBzaG91bGQgdGhlcmVmb3JlIG5vdCBiZSBwaWNrZWQgdG9vTQEgaGlnaC4gR292ZXJuYW5jZSBuZWVkcyB0byBwYXkgYXR0ZW50aW9uIHRvIG5vdCBvcGVuIG1vcmUgY2hhbm5lbHMgdGhhbiB0aGlzIHZhbHVlLgAsTWF4UGFnZVNpemU4EACcAQAUuCBUaGUgbWF4aW1hbCBwYWdlIHNpemUgZm9yIEhSTVAgbWVzc2FnZSBwYWdlcy4AYQEgQSBsb3dlciBsaW1pdCBjYW4gYmUgc2V0IGR5bmFtaWNhbGx5LCBidXQgdGhpcyBpcyB0aGUgaGFyZC1saW1pdCBmb3IgdGhlIFBvViB3b3JzdCBjYXNlVQEgYmVuY2htYXJraW5nLiBUaGUgbGltaXQgZm9yIHRoZSBzaXplIG9mIGEgbWVzc2FnZSBpcyBzbGlnaHRseSBiZWxvdyB0aGlzLCBzaW5jZSBzb21luCBvdmVyaGVhZCBpcyBpbmN1cnJlZCBmb3IgZW5jb2RpbmcgdGhlIGZvcm1hdC4AAd0FAAAAHgAALFBvbGthZG90WGNtASxQb2xrYWRvdFhjbTwwUXVlcnlDb3VudGVyAQAoIAAAAAAAAAAABIggVGhlIGxhdGVzdCBhdmFpbGFibGUgcXVlcnkgaW5kZXguABxRdWVyaWVzAAEEAijhBQQABFQgVGhlIG9uZ29pbmcgcXVlcmllcy4AKEFzc2V0VHJhcHMBAQQGPDgQAAAAABBoIFRoZSBleGlzdGluZyBhc3NldCB0cmFwcy4AYQEgS2V5IGlzIHRoZSBibGFrZTIgMjU2IGhhc2ggb2YgKG9yaWdpbiwgdmVyc2lvbmVkIGBBc3NldHNgKSBwYWlyLiBWYWx1ZSBpcyB0aGUgbnVtYmVyIG9mHQEgdGltZXMgdGhpcyBwYWlyIGhhcyBiZWVuIHRyYXBwZWQgKHVzdWFsbHkganVzdCAxIGlmIGl0IGV4aXN0cyBhdCBhbGwpLgA4U2FmZVhjbVZlcnNpb24AADgEAAhhASBEZWZhdWx0IHZlcnNpb24gdG8gZW5jb2RlIFhDTSB3aGVuIGxhdGVzdCB2ZXJzaW9uIG9mIGRlc3RpbmF0aW9uIGlzIHVua25vd24uIElmIGBOb25lYCw9ASB0aGVuIHRoZSBkZXN0aW5hdGlvbnMgd2hvc2UgWENNIHZlcnNpb24gaXMgdW5rbm93biBhcmUgY29uc2lkZXJlZCB1bnJlYWNoYWJsZS4AQFN1cHBvcnRlZFZlcnNpb24AAQgFAvUFOAQABPAgVGhlIExhdGVzdCB2ZXJzaW9ucyB0aGF0IHdlIGtub3cgdmFyaW91cyBsb2NhdGlvbnMgc3VwcG9ydC4AQFZlcnNpb25Ob3RpZmllcnMAAQgFAvUFKAQABAUBIEFsbCBsb2NhdGlvbnMgdGhhdCB3ZSBoYXZlIHJlcXVlc3RlZCB2ZXJzaW9uIG5vdGlmaWNhdGlvbnMgZnJvbS4AUFZlcnNpb25Ob3RpZnlUYXJnZXRzAAEIBQL1BfkFBAAIcQEgVGhlIHRhcmdldCBsb2NhdGlvbnMgdGhhdCBhcmUgc3Vic2NyaWJlZCB0byBvdXIgdmVyc2lvbiBjaGFuZ2VzLCBhcyB3ZWxsIGFzIHRoZSBtb3N0IHJlY2VudJQgb2Ygb3VyIHZlcnNpb25zIHdlIGluZm9ybWVkIHRoZW0gb2YuAFRWZXJzaW9uRGlzY292ZXJ5UXVldWUBAP0FBAAMZQEgRGVzdGluYXRpb25zIHdob3NlIGxhdGVzdCBYQ00gdmVyc2lvbiB3ZSB3b3VsZCBsaWtlIHRvIGtub3cuIER1cGxpY2F0ZXMgbm90IGFsbG93ZWQsIGFuZHEBIHRoZSBgdTMyYCBjb3VudGVyIGlzIHRoZSBudW1iZXIgb2YgdGltZXMgdGhhdCBhIHNlbmQgdG8gdGhlIGRlc3RpbmF0aW9uIGhhcyBiZWVuIGF0dGVtcHRlZCyMIHdoaWNoIGlzIHVzZWQgYXMgYSBwcmlvcml0aXphdGlvbi4AQEN1cnJlbnRNaWdyYXRpb24AAAkGBAAEnCBUaGUgY3VycmVudCBtaWdyYXRpb24ncyBzdGFnZSwgaWYgYW55LgBUUmVtb3RlTG9ja2VkRnVuZ2libGVzAAEMBQICDQYRBgQABPAgRnVuZ2libGUgYXNzZXRzIHdoaWNoIHdlIGtub3cgYXJlIGxvY2tlZCBvbiBhIHJlbW90ZSBjaGFpbi4APExvY2tlZEZ1bmdpYmxlcwABBAIEIQYEAATgIEZ1bmdpYmxlIGFzc2V0cyB3aGljaCB3ZSBrbm93IGFyZSBsb2NrZWQgb24gdGhpcyBjaGFpbi4AVFhjbUV4ZWN1dGlvblN1c3BlbmRlZAEAMQEEAAS0IEdsb2JhbCBzdXNwZW5zaW9uIHN0YXRlIG9mIHRoZSBYQ00gZXhlY3V0b3IuADxTaG91bGRSZWNvcmRYY20BADEBBAAcWQEgV2hldGhlciBvciBub3QgaW5jb21pbmcgWENNcyAoYm90aCBleGVjdXRlZCBsb2NhbGx5IGFuZCByZWNlaXZlZCkgc2hvdWxkIGJlIHJlY29yZGVkLsQgT25seSBvbmUgWENNIHByb2dyYW0gd2lsbCBiZSByZWNvcmRlZCBhdCBhIHRpbWUuKQEgVGhpcyBpcyBtZWFudCB0byBiZSB1c2VkIGluIHJ1bnRpbWUgQVBJcywgYW5kIGl0J3MgYWR2aXNlZCBpdCBzdGF5cyBmYWxzZQ0BIGZvciBhbGwgb3RoZXIgdXNlIGNhc2VzLCBzbyBhcyB0byBub3QgZGVncmFkZSByZWd1bGFyIHBlcmZvcm1hbmNlLgBZASBPbmx5IHJlbGV2YW50IGlmIHRoaXMgcGFsbGV0IGlzIGJlaW5nIHVzZWQgYXMgdGhlIFtgeGNtX2V4ZWN1dG9yOjp0cmFpdHM6OlJlY29yZFhjbWBdyCBpbXBsZW1lbnRhdGlvbiBpbiB0aGUgWENNIGV4ZWN1dG9yIGNvbmZpZ3VyYXRpb24uACxSZWNvcmRlZFhjbQAAdQIEABhJASBJZiBbYFNob3VsZFJlY29yZFhjbWBdIGlzIHNldCB0byB0cnVlLCB0aGVuIHRoZSBsYXN0IFhDTSBwcm9ncmFtIGV4ZWN1dGVkIGxvY2FsbHlUIHdpbGwgYmUgc3RvcmVkIGhlcmUuKQEgUnVudGltZSBBUElzIGNhbiBmZXRjaCB0aGUgWENNIHRoYXQgd2FzIGV4ZWN1dGVkIGJ5IGFjY2Vzc2luZyB0aGlzIHZhbHVlLgBZASBPbmx5IHJlbGV2YW50IGlmIHRoaXMgcGFsbGV0IGlzIGJlaW5nIHVzZWQgYXMgdGhlIFtgeGNtX2V4ZWN1dG9yOjp0cmFpdHM6OlJlY29yZFhjbWBdyCBpbXBsZW1lbnRhdGlvbiBpbiB0aGUgWENNIGV4ZWN1dG9yIGNvbmZpZ3VyYXRpb24uAERBdXRob3JpemVkQWxpYXNlcwABBAJlAS0GBAAMZQEgTWFwIG9mIGF1dGhvcml6ZWQgYWxpYXNlcnMgb2YgbG9jYWwgb3JpZ2lucy4gRWFjaCBsb2NhbCBsb2NhdGlvbiBjYW4gYXV0aG9yaXplIGEgbGlzdCBvZlkBIG90aGVyIGxvY2F0aW9ucyB0byBhbGlhcyBpbnRvIGl0LiBFYWNoIGFsaWFzZXIgaXMgb25seSB2YWxpZCB1bnRpbCBpdHMgaW5uZXIgYGV4cGlyeWA4IGJsb2NrIG51bWJlci4AAWEBCAECuQFUaGlzIGV4dHJpbnNpYyB1c2VzIGBXZWlnaHRMaW1pdDo6VW5saW1pdGVkYCwgcGxlYXNlIG1pZ3JhdGUgdG8gYGxpbWl0ZWRfdGVsZXBvcnRfYXNzZXRzYCBvciBgdHJhbnNmZXJfYXNzZXRzYAACAtkBVGhpcyBleHRyaW5zaWMgdXNlcyBgV2VpZ2h0TGltaXQ6OlVubGltaXRlZGAsIHBsZWFzZSBtaWdyYXRlIHRvIGBsaW1pdGVkX3Jlc2VydmVfdHJhbnNmZXJfYXNzZXRzYCBvciBgdHJhbnNmZXJfYXNzZXRzYAABDQQAEERVbml2ZXJzYWxMb2NhdGlvbuSYAgkA4UPyOAOsUOj2+OYmldHOnk4daKo2wc0s/RU0AhPzQj4A+U8EhCBUaGlzIGNoYWluJ3MgVW5pdmVyc2FsIExvY2F0aW9uLgBQQWR2ZXJ0aXNlZFhjbVZlcnNpb244EAUAAAAIJQEgVGhlIGxhdGVzdCBzdXBwb3J0ZWQgdmVyc2lvbiB0aGF0IHdlIGFkdmVydGlzZS4gR2VuZXJhbGx5IGp1c3Qgc2V0IGl0IHRvhCBgcGFsbGV0X3hjbTo6Q3VycmVudFhjbVZlcnNpb25gLgAoTWF4TG9ja2VyczgQCAAAAAQZASBUaGUgbWF4aW11bSBudW1iZXIgb2YgbG9jYWwgWENNIGxvY2tzIHRoYXQgYSBzaW5nbGUgYWNjb3VudCBtYXkgaGF2ZS4AWE1heFJlbW90ZUxvY2tDb25zdW1lcnM4EAAAAAAE/CBUaGUgbWF4aW11bSBudW1iZXIgb2YgY29uc3VtZXJzIGEgc2luZ2xlIHJlbW90ZSBsb2NrIG1heSBoYXZlLgABRQYEGAK8VXNlIGBMb2NhbEV4ZWN1dGlvbkluY29tcGxldGVXaXRoRXJyb3JgIGluc3RlYWQBGDIwLjAuMAgsUnVudGltZUNhbGwgBGQgVGhlIHJ1bnRpbWUgYENhbGxgIHR5cGUucFJlbW90ZUxvY2tDb25zdW1lcklkZW50aWZpZXIQBMQgVGhlIElEIHR5cGUgZm9yIGxvY2FsIGNvbnN1bWVycyBvZiByZW1vdGUgbG9ja3MuAB8AAChDdW11bHVzWGNtAAExAwABHQQAAAAAACAAADBNZXNzYWdlUXVldWUBME1lc3NhZ2VRdWV1ZQwwQm9va1N0YXRlRm9yAQEEBTkDTQZ0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEzCBUaGUgaW5kZXggb2YgdGhlIGZpcnN0IGFuZCBsYXN0IChub24tZW1wdHkpIHBhZ2VzLgAsU2VydmljZUhlYWQAADkDBAAEvCBUaGUgb3JpZ2luIGF0IHdoaWNoIHdlIHNob3VsZCBiZWdpbiBzZXJ2aWNpbmcuABRQYWdlcwABCAUFWQZdBgQABIggVGhlIG1hcCBvZiBwYWdlIGluZGljZXMgdG8gcGFnZXMuAAE1AwABIQQAECBIZWFwU2l6ZTgQAJwBABQ9ASBUaGUgc2l6ZSBvZiB0aGUgcGFnZTsgdGhpcyBpbXBsaWVzIHRoZSBtYXhpbXVtIG1lc3NhZ2Ugc2l6ZSB3aGljaCBjYW4gYmUgc2VudC4AWQEgQSBnb29kIHZhbHVlIGRlcGVuZHMgb24gdGhlIGV4cGVjdGVkIG1lc3NhZ2Ugc2l6ZXMsIHRoZWlyIHdlaWdodHMsIHRoZSB3ZWlnaHQgdGhhdCBpc10BIGF2YWlsYWJsZSBmb3IgcHJvY2Vzc2luZyB0aGVtIGFuZCB0aGUgbWF4aW1hbCBuZWVkZWQgbWVzc2FnZSBzaXplLiBUaGUgbWF4aW1hbCBtZXNzYWdlEQEgc2l6ZSBpcyBzbGlnaHRseSBsb3dlciB0aGFuIHRoaXMgYXMgZGVmaW5lZCBieSBbYE1heE1lc3NhZ2VMZW5PZmBdLgAgTWF4U3RhbGU4EAgAAAAMXQEgVGhlIG1heGltdW0gbnVtYmVyIG9mIHN0YWxlIHBhZ2VzIChpLmUuIG9mIG92ZXJ3ZWlnaHQgbWVzc2FnZXMpIGFsbG93ZWQgYmVmb3JlIGN1bGxpbmdRASBjYW4gaGFwcGVuLiBPbmNlIHRoZXJlIGFyZSBtb3JlIHN0YWxlIHBhZ2VzIHRoYW4gdGhpcywgdGhlbiBoaXN0b3JpY2FsIHBhZ2VzIG1heSBiZfwgZHJvcHBlZCwgZXZlbiBpZiB0aGV5IGNvbnRhaW4gdW5wcm9jZXNzZWQgb3ZlcndlaWdodCBtZXNzYWdlcy4ANFNlcnZpY2VXZWlnaHS9AiwBBwBYQPuiAgDgABhBASBUaGUgYW1vdW50IG9mIHdlaWdodCAoaWYgYW55KSB3aGljaCBzaG91bGQgYmUgcHJvdmlkZWQgdG8gdGhlIG1lc3NhZ2UgcXVldWUgZm9yqCBzZXJ2aWNpbmcgZW5xdWV1ZWQgaXRlbXMgYG9uX2luaXRpYWxpemVgLgD8IFRoaXMgbWF5IGJlIGxlZ2l0aW1hdGVseSBgTm9uZWAgaW4gdGhlIGNhc2UgdGhhdCB5b3Ugd2lsbCBjYWxsXQEgYFNlcnZpY2VRdWV1ZXM6OnNlcnZpY2VfcXVldWVzYCBtYW51YWxseSBvciBzZXQgW2BTZWxmOjpJZGxlTWF4U2VydmljZVdlaWdodGBdIHRvIGhhdmVUIGl0IHJ1biBpbiBgb25faWRsZWAuAFBJZGxlTWF4U2VydmljZVdlaWdodL0CLAEHAFhA+6ICAOAAFF0BIFRoZSBtYXhpbXVtIGFtb3VudCBvZiB3ZWlnaHQgKGlmIGFueSkgdG8gYmUgdXNlZCBmcm9tIHJlbWFpbmluZyB3ZWlnaHQgYG9uX2lkbGVgIHdoaWNoQQEgc2hvdWxkIGJlIHByb3ZpZGVkIHRvIHRoZSBtZXNzYWdlIHF1ZXVlIGZvciBzZXJ2aWNpbmcgZW5xdWV1ZWQgaXRlbXMgYG9uX2lkbGVgLj0BIFVzZWZ1bCBmb3IgcGFyYWNoYWlucyB0byBwcm9jZXNzIG1lc3NhZ2VzIGF0IHRoZSBzYW1lIGJsb2NrIHRoZXkgYXJlIHJlY2VpdmVkLgApASBJZiBgTm9uZWAsIGl0IHdpbGwgbm90IGNhbGwgYFNlcnZpY2VRdWV1ZXM6OnNlcnZpY2VfcXVldWVzYCBpbiBgb25faWRsZWAuAAFlBgAEEFNpemU4BFQgUGFnZS9oZWFwIHNpemUgdHlwZS4AIgAAEFN1ZG8BEFN1ZG8EDEtleQAABAQABIQgVGhlIGBBY2NvdW50SWRgIG9mIHRoZSBzdWRvIGtleS4AAT0DAAEpBAAAAWkGAAQsUnVudGltZUNhbGwgBEggQSBzdWRvLWFibGUgY2FsbC4AZAAACAQFACBBAwQAMAAECAwQFBgcICQoLDA0QXV0aG9yaXplQ2FsbE0DEEhDaGVja05vblplcm9TZW5kZXJRAxBAQ2hlY2tTcGVjVmVyc2lvblUDODhDaGVja1R4VmVyc2lvblkDODBDaGVja0dlbmVzaXNdAzw4Q2hlY2tNb3J0YWxpdHlhAzwoQ2hlY2tOb25jZWkDECxDaGVja1dlaWdodG0DEGBDaGFyZ2VUcmFuc2FjdGlvblBheW1lbnRxAxBQVmFsaWRhdGVTdG9yYWdlQ2FsbHN1AxBEQ2hlY2tNZXRhZGF0YUhhc2h5A4EDUFN0b3JhZ2VXZWlnaHRSZWNsYWltEBBUHEF1cmFBcGkINHNsb3RfZHVyYXRpb24AbQYMkCBSZXR1cm5zIHRoZSBzbG90IGR1cmF0aW9uIGZvciBBdXJhLgAlASBDdXJyZW50bHksIG9ubHkgdGhlIHZhbHVlIHByb3ZpZGVkIGJ5IHRoaXMgdHlwZSBhdCBnZW5lc2lzIHdpbGwgYmUgdXNlZC4ALGF1dGhvcml0aWVzAKkFBJwgUmV0dXJuIHRoZSBjdXJyZW50IHNldCBvZiBhdXRob3JpdGllcy4ABLggQVBJIG5lY2Vzc2FyeSBmb3IgYmxvY2sgYXV0aG9yc2hpcCB3aXRoIGF1cmEuBABQUmVsYXlQYXJlbnRPZmZzZXRBcGkETHJlbGF5X3BhcmVudF9vZmZzZXQAOAT0IEZldGNoIHRoZSBzbG90IG9mZnNldCB0aGF0IGlzIGV4cGVjdGVkIGZyb20gdGhlIHJlbGF5IGNoYWluLgAQBQEgQVBJIHRvIHRlbGwgdGhlIG5vZGUgc2lkZSBob3cgdGhlIHJlbGF5IHBhcmVudCBzaG91bGQgYmUgY2hvc2VuLgBpASBBIGxhcmdlciBvZmZzZXQgaW5kaWNhdGVzIHRoYXQgdGhlIHJlbGF5IHBhcmVudCBzaG91bGQgbm90IGJlIHRoZSB0aXAgb2YgdGhlIHJlbGF5IGNoYWluLDEBIGJ1dCBgTmAgYmxvY2tzIGJlaGluZCB0aGUgdGlwLiBUaGlzIG9mZnNldCBpcyB0aGVuIGVuZm9yY2VkIGJ5IHRoZSBydW50aW1lLgQAYEF1cmFVbmluY2x1ZGVkU2VnbWVudEFwaQQ4Y2FuX2J1aWxkX3Vwb24INGluY2x1ZGVkX2hhc2g8EHNsb3StBTEBKDkBIFdoZXRoZXIgaXQgaXMgbGVnYWwgdG8gZXh0ZW5kIHRoZSBjaGFpbiwgYXNzdW1pbmcgdGhlIGdpdmVuIGJsb2NrIGlzIHRoZSBtb3N0NQEgcmVjZW50bHkgaW5jbHVkZWQgb25lIGFzLW9mIHRoZSByZWxheSBwYXJlbnQgdGhhdCB3aWxsIGJlIGJ1aWx0IGFnYWluc3QsIGFuZHAgdGhlIGdpdmVuIHJlbGF5IGNoYWluIHNsb3QuAFEBIFRoaXMgc2hvdWxkIGJlIGNvbnNpc3RlbnQgd2l0aCB0aGUgbG9naWMgdGhlIHJ1bnRpbWUgdXNlcyB3aGVuIHZhbGlkYXRpbmcgYmxvY2tzIHRvOCBhdm9pZCBpc3N1ZXMuAGEBIFdoZW4gdGhlIHVuaW5jbHVkZWQgc2VnbWVudCBpcyBlbXB0eSwgaS5lLiBgaW5jbHVkZWRfaGFzaCA9PSBhdGAsIHdoZXJlIGF0IGlzIHRoZSBibG9ja2EBIHdob3NlIHN0YXRlIHdlIGFyZSBxdWVyeWluZyBhZ2FpbnN0LCB0aGlzIG11c3QgYWx3YXlzIHJldHVybiBgdHJ1ZWAgYXMgbG9uZyBhcyB0aGUgc2xvdLwgaXMgbW9yZSByZWNlbnQgdGhhbiB0aGUgaW5jbHVkZWQgYmxvY2sgaXRzZWxmLgA0NQEgVGhpcyBydW50aW1lIEFQSSBpcyB1c2VkIHRvIGluZm9ybSBwb3RlbnRpYWwgYmxvY2sgYXV0aG9ycyB3aGV0aGVyIHRoZXkgd2lsbCUBIGhhdmUgdGhlIHJpZ2h0IHRvIGF1dGhvciBhdCBhIHNsb3QsIGFzc3VtaW5nIHRoZXkgaGF2ZSBjbGFpbWVkIHRoZSBzbG90LgB1ASBJbiBwYXJ0aWN1bGFyLCB0aGlzIEFQSSBhbGxvd3MgQXVyYS1iYXNlZCBwYXJhY2hhaW5zIHRvIHJlZ3VsYXRlIHRoZWlyICJ1bmluY2x1ZGVkIHNlZ21lbnQiLG0BIHdoaWNoIGlzIHRoZSBzZWN0aW9uIG9mIHRoZSBoZWFkIG9mIHRoZSBjaGFpbiB3aGljaCBoYXMgbm90IHlldCBiZWVuIG1hZGUgYXZhaWxhYmxlIGluIHRoZTQgcmVsYXkgY2hhaW4uAGEBIFdoZW4gdGhlIHVuaW5jbHVkZWQgc2VnbWVudCBpcyBzaG9ydCwgQXVyYSBjaGFpbnMgd2lsbCBhbGxvdyBhdXRob3JzIHRvIGNyZWF0ZSBtdWx0aXBsZV0BIGJsb2NrcyBwZXIgc2xvdCBpbiBvcmRlciB0byBidWlsZCBhIGJhY2tsb2cuIFdoZW4gaXQgaXMgc2F0dXJhdGVkLCB0aGlzIEFQSSB3aWxsIGxpbWl0qCB0aGUgYW1vdW50IG9mIGJsb2NrcyB0aGF0IGNhbiBiZSBjcmVhdGVkLgAkIENoYW5nZXM6kQEgLSBWZXJzaW9uIDI6IFVwZGF0ZSB0byBgY2FuX2J1aWxkX3Vwb25gIHRvIHRha2UgYSByZWxheSBjaGFpbiBgU2xvdGAgaW5zdGVhZCBvZiBhIHBhcmFjaGFpbiBgU2xvdGAuCAAQQ29yZQwcdmVyc2lvbgBpBASQIFJldHVybnMgdGhlIHZlcnNpb24gb2YgdGhlIHJ1bnRpbWUuADRleGVjdXRlX2Jsb2NrBBRibG9ja3EGEARkIEV4ZWN1dGUgdGhlIGdpdmVuIGJsb2NrLgBAaW5pdGlhbGl6ZV9ibG9jawQYaGVhZGVyXH0GBEEBIEluaXRpYWxpemUgYSBibG9jayB3aXRoIHRoZSBnaXZlbiBoZWFkZXIgYW5kIHJldHVybiB0aGUgcnVudGltZSBleGVjdXRpdmUgbW9kZS4ABCEBIFRoZSBgQ29yZWAgcnVudGltZSBhcGkgdGhhdCBldmVyeSBTdWJzdHJhdGUgcnVudGltZSBuZWVkcyB0byBpbXBsZW1lbnQuFAAgTWV0YWRhdGEMIG1ldGFkYXRhAIEGBIwgUmV0dXJucyB0aGUgbWV0YWRhdGEgb2YgYSBydW50aW1lLgBMbWV0YWRhdGFfYXRfdmVyc2lvbgQcdmVyc2lvbjiFBhCkIFJldHVybnMgdGhlIG1ldGFkYXRhIGF0IGEgZ2l2ZW4gdmVyc2lvbi4ABQEgSWYgdGhlIGdpdmVuIGB2ZXJzaW9uYCBpc24ndCBzdXBwb3J0ZWQsIHRoaXMgd2lsbCByZXR1cm4gYE5vbmVgLnUBIFVzZSBbYFNlbGY6Om1ldGFkYXRhX3ZlcnNpb25zYF0gdG8gZmluZCBvdXQgYWJvdXQgc3VwcG9ydGVkIG1ldGFkYXRhIHZlcnNpb24gb2YgdGhlIHJ1bnRpbWUuAERtZXRhZGF0YV92ZXJzaW9ucwCJBgykIFJldHVybnMgdGhlIHN1cHBvcnRlZCBtZXRhZGF0YSB2ZXJzaW9ucy4AwCBUaGlzIGNhbiBiZSB1c2VkIHRvIGNhbGwgYG1ldGFkYXRhX2F0X3ZlcnNpb25gLgAEAQEgVGhlIGBNZXRhZGF0YWAgYXBpIHRyYWl0IHRoYXQgcmV0dXJucyBtZXRhZGF0YSBmb3IgdGhlIHJ1bnRpbWUuCAAwQmxvY2tCdWlsZGVyEDxhcHBseV9leHRyaW5zaWMEJGV4dHJpbnNpY4UEjQYQbCBBcHBseSB0aGUgZ2l2ZW4gZXh0cmluc2ljLgA5ASBSZXR1cm5zIGFuIGluY2x1c2lvbiBvdXRjb21lIHdoaWNoIHNwZWNpZmllcyBpZiB0aGlzIGV4dHJpbnNpYyBpcyBpbmNsdWRlZCBpbkwgdGhpcyBibG9jayBvciBub3QuADhmaW5hbGl6ZV9ibG9jawBcBGggRmluaXNoIHRoZSBjdXJyZW50IGJsb2NrLgBMaW5oZXJlbnRfZXh0cmluc2ljcwQgaW5oZXJlbnSdBpEEBD0BIEdlbmVyYXRlIGluaGVyZW50IGV4dHJpbnNpY3MuIFRoZSBpbmhlcmVudCBkYXRhIHdpbGwgdmFyeSBmcm9tIGNoYWluIHRvIGNoYWluLgA8Y2hlY2tfaW5oZXJlbnRzCBRibG9ja3EGEGRhdGGdBq0GBFUBIENoZWNrIHRoYXQgdGhlIGluaGVyZW50cyBhcmUgdmFsaWQuIFRoZSBpbmhlcmVudCBkYXRhIHdpbGwgdmFyeSBmcm9tIGNoYWluIHRvIGNoYWluLgAEcQEgVGhlIGBCbG9ja0J1aWxkZXJgIGFwaSB0cmFpdCB0aGF0IHByb3ZpZGVzIHRoZSByZXF1aXJlZCBmdW5jdGlvbmFsaXR5IGZvciBidWlsZGluZyBhIGJsb2NrLhgAWFRhZ2dlZFRyYW5zYWN0aW9uUXVldWUEUHZhbGlkYXRlX3RyYW5zYWN0aW9uDBhzb3VyY2WxBgh0eIUEKGJsb2NrX2hhc2g8tQYkaCBWYWxpZGF0ZSB0aGUgdHJhbnNhY3Rpb24uAGUBIFRoaXMgbWV0aG9kIGlzIGludm9rZWQgYnkgdGhlIHRyYW5zYWN0aW9uIHBvb2wgdG8gbGVhcm4gZGV0YWlscyBhYm91dCBnaXZlbiB0cmFuc2FjdGlvbi5FASBUaGUgaW1wbGVtZW50YXRpb24gc2hvdWxkIG1ha2Ugc3VyZSB0byB2ZXJpZnkgdGhlIGNvcnJlY3RuZXNzIG9mIHRoZSB0cmFuc2FjdGlvbk0BIGFnYWluc3QgY3VycmVudCBzdGF0ZS4gVGhlIGdpdmVuIGBibG9ja19oYXNoYCBjb3JyZXNwb25kcyB0byB0aGUgaGFzaCBvZiB0aGUgYmxvY2t8IHRoYXQgaXMgdXNlZCBhcyBjdXJyZW50IHN0YXRlLgBFASBOb3RlIHRoYXQgdGhpcyBjYWxsIG1heSBiZSBwZXJmb3JtZWQgYnkgdGhlIHBvb2wgbXVsdGlwbGUgdGltZXMgYW5kIHRyYW5zYWN0aW9uc6QgbWlnaHQgYmUgdmVyaWZpZWQgaW4gYW55IHBvc3NpYmxlIG9yZGVyLgAETQEgVGhlIGBUYWdnZWRUcmFuc2FjdGlvblF1ZXVlYCBhcGkgdHJhaXQgZm9yIGludGVyZmVyaW5nIHdpdGggdGhlIHRyYW5zYWN0aW9uIHF1ZXVlLgwARE9mZmNoYWluV29ya2VyQXBpBDxvZmZjaGFpbl93b3JrZXIEGGhlYWRlclwQBMggU3RhcnRzIHRoZSBvZmYtY2hhaW4gdGFzayBmb3IgZ2l2ZW4gYmxvY2sgaGVhZGVyLgAEZCBUaGUgb2ZmY2hhaW4gd29ya2VyIGFwaS4IACxTZXNzaW9uS2V5cwhUZ2VuZXJhdGVfc2Vzc2lvbl9rZXlzCBRvd25lchgQc2VlZP0DvQYcFQEgR2VuZXJhdGUgYSBzZXQgb2Ygc2Vzc2lvbiBrZXlzIHdpdGggb3B0aW9uYWxseSB1c2luZyB0aGUgZ2l2ZW4gc2VlZC4JASBUaGUga2V5cyBzaG91bGQgYmUgc3RvcmVkIHdpdGhpbiB0aGUga2V5c3RvcmUgZXhwb3NlZCB2aWEgcnVudGltZTwgZXh0ZXJuYWxpdGllcy4AsCBUaGUgc2VlZCBuZWVkcyB0byBiZSBhIHZhbGlkIGB1dGY4YCBzdHJpbmcuANAgUmV0dXJucyB0aGUgY29uY2F0ZW5hdGVkIFNDQUxFIGVuY29kZWQgcHVibGljIGtleXMuAExkZWNvZGVfc2Vzc2lvbl9rZXlzBBxlbmNvZGVkGMEGDJggRGVjb2RlIHRoZSBnaXZlbiBwdWJsaWMgc2Vzc2lvbiBrZXlzLgDcIFJldHVybnMgdGhlIGxpc3Qgb2YgcHVibGljIHJhdyBwdWJsaWMga2V5cyArIGtleSB0eXBlLgAEaCBTZXNzaW9uIGtleXMgcnVudGltZSBhcGkuCAA8QWNjb3VudE5vbmNlQXBpBDRhY2NvdW50X25vbmNlBBxhY2NvdW50BDgEwCBHZXQgY3VycmVudCBhY2NvdW50IG5vbmNlIG9mIGdpdmVuIGBBY2NvdW50SWRgLgAEgCBUaGUgQVBJIHRvIHF1ZXJ5IGFjY291bnQgbm9uY2UuBABUVHJhbnNhY3Rpb25QYXltZW50QXBpEChxdWVyeV9pbmZvCAx1eHSFBAxsZW44zQYAAERxdWVyeV9mZWVfZGV0YWlscwgMdXh0hQQMbGVuONEGAABMcXVlcnlfd2VpZ2h0X3RvX2ZlZQQYd2VpZ2h0KQH8AABMcXVlcnlfbGVuZ3RoX3RvX2ZlZQQYbGVuZ3RoOPwAAAAQAGRUcmFuc2FjdGlvblBheW1lbnRDYWxsQXBpEDxxdWVyeV9jYWxsX2luZm8IEGNhbGwgDGxlbjjNBgRJASBRdWVyeSBpbmZvcm1hdGlvbiBvZiBhIGRpc3BhdGNoIGNsYXNzLCB3ZWlnaHQsIGFuZCBmZWUgb2YgYSBnaXZlbiBlbmNvZGVkIGBDYWxsYC4AWHF1ZXJ5X2NhbGxfZmVlX2RldGFpbHMIEGNhbGwgDGxlbjjRBgS0IFF1ZXJ5IGZlZSBkZXRhaWxzIG9mIGEgZ2l2ZW4gZW5jb2RlZCBgQ2FsbGAuAExxdWVyeV93ZWlnaHRfdG9fZmVlBBh3ZWlnaHQpAfwEAQEgUXVlcnkgdGhlIG91dHB1dCBvZiB0aGUgY3VycmVudCBgV2VpZ2h0VG9GZWVgIGdpdmVuIHNvbWUgaW5wdXQuAExxdWVyeV9sZW5ndGhfdG9fZmVlBBhsZW5ndGg4/AQBASBRdWVyeSB0aGUgb3V0cHV0IG9mIHRoZSBjdXJyZW50IGBMZW5ndGhUb0ZlZWAgZ2l2ZW4gc29tZSBpbnB1dC4AAAwANFhjbVBheW1lbnRBcGkQfHF1ZXJ5X2FjY2VwdGFibGVfcGF5bWVudF9hc3NldHMELHhjbV92ZXJzaW9uON0GFLQgUmV0dXJucyBhIGxpc3Qgb2YgYWNjZXB0YWJsZSBwYXltZW50IGFzc2V0cy4AMCAjIEFyZ3VtZW50cwBoICogYHhjbV92ZXJzaW9uYDogVmVyc2lvbi4AQHF1ZXJ5X3hjbV93ZWlnaHQEHG1lc3NhZ2WxAekGFKggUmV0dXJucyBhIHdlaWdodCBuZWVkZWQgdG8gZXhlY3V0ZSBhIFhDTS4AMCAjIEFyZ3VtZW50cwB0ICogYG1lc3NhZ2VgOiBgVmVyc2lvbmVkWGNtYC4AZHF1ZXJ5X3dlaWdodF90b19hc3NldF9mZWUIGHdlaWdodCkBFGFzc2V0KQPtBhjoIENvbnZlcnRzIGEgd2VpZ2h0IGludG8gYSBmZWUgZm9yIHRoZSBzcGVjaWZpZWQgYEFzc2V0SWRgLgAwICMgQXJndW1lbnRzAIggKiBgd2VpZ2h0YDogY29udmVydGlibGUgYFdlaWdodGAufCAqIGBhc3NldGA6IGBWZXJzaW9uZWRBc3NldElkYC4ATHF1ZXJ5X2RlbGl2ZXJ5X2ZlZXMMLGRlc3RpbmF0aW9uZQEcbWVzc2FnZbEBIGFzc2V0X2lkKQPxBihgIFF1ZXJ5IGRlbGl2ZXJ5IGZlZXMgVjIuAB0BIEdldCBkZWxpdmVyeSBmZWVzIGZvciBzZW5kaW5nIGEgc3BlY2lmaWMgYG1lc3NhZ2VgIHRvIGEgYGRlc3RpbmF0aW9uYC70IFRoZXNlIGFsd2F5cyBjb21lIGluIGEgc3BlY2lmaWMgYXNzZXQsIGRlZmluZWQgYnkgdGhlIGNoYWluLgAwICMgQXJndW1lbnRzgQEgKiBgbWVzc2FnZWA6IFRoZSBtZXNzYWdlIHRoYXQnbGwgYmUgc2VudCwgbmVjZXNzYXJ5IGJlY2F1c2UgbW9zdCBkZWxpdmVyeSBmZWVzIGFyZSBiYXNlZCBvbiB0aGVcICAgc2l6ZSBvZiB0aGUgbWVzc2FnZS5hASAqIGBkZXN0aW5hdGlvbmA6IFRoZSBkZXN0aW5hdGlvbiB0byBzZW5kIHRoZSBtZXNzYWdlIHRvLiBEaWZmZXJlbnQgZGVzdGluYXRpb25zIG1heSB1c2XAICAgZGlmZmVyZW50IHNlbmRlcnMgdGhhdCBjaGFyZ2UgZGlmZmVyZW50IGZlZXMuACxwIEEgdHJhaXQgb2YgWENNIHBheW1lbnQgQVBJLgCoIEFQSSBwcm92aWRlcyBmdW5jdGlvbmFsaXR5IGZvciBvYnRhaW5pbmc6AMQgKiB0aGUgd2VpZ2h0IHJlcXVpcmVkIHRvIGV4ZWN1dGUgYW4gWENNIG1lc3NhZ2UsBQEgKiBhIGxpc3Qgb2YgYWNjZXB0YWJsZSBgQXNzZXRJZGBzIGZvciBtZXNzYWdlIGV4ZWN1dGlvbiBwYXltZW50LAEBICogdGhlIGNvc3Qgb2YgdGhlIHdlaWdodCBpbiB0aGUgc3BlY2lmaWVkIGFjY2VwdGFibGUgYEFzc2V0SWRgLqAgKiB0aGUgZmVlcyBmb3IgYW4gWENNIG1lc3NhZ2UgZGVsaXZlcnkuAPAgVG8gZGV0ZXJtaW5lIHRoZSBleGVjdXRpb24gd2VpZ2h0IG9mIHRoZSBjYWxscyByZXF1aXJlZCBmb3J1ASBbYHhjbTo6bGF0ZXN0OjpJbnN0cnVjdGlvbjo6VHJhbnNhY3RgXSBpbnN0cnVjdGlvbiwgYFRyYW5zYWN0aW9uUGF5bWVudENhbGxBcGlgIGNhbiBiZSB1c2VkLggAJERyeVJ1bkFwaQgwZHJ5X3J1bl9jYWxsDBhvcmlnaW7IEGNhbGwgTHJlc3VsdF94Y21zX3ZlcnNpb2449QYERCBEcnkgcnVuIGNhbGwgVjIuACxkcnlfcnVuX3hjbQg8b3JpZ2luX2xvY2F0aW9uZQEMeGNt9QIhBwRQIERyeSBydW4gWENNIHByb2dyYW0AJLEBIEFQSSBmb3IgZHJ5LXJ1bm5pbmcgZXh0cmluc2ljcyBhbmQgWENNIHByb2dyYW1zIHRvIGdldCB0aGUgcHJvZ3JhbXMgdGhhdCBuZWVkIHRvIGJlIHBhc3NlZCB0byB0aGUgZmVlcyBBUEkuAIEBIEFsbCBjYWxscyByZXR1cm4gYSB2ZWN0b3Igb2YgdHVwbGVzIChsb2NhdGlvbiwgeGNtKSB3aGVyZSBlYWNoICJ4Y20iIGlzIGV4ZWN1dGVkIGluICJsb2NhdGlvbiIu5CBJZiB0aGVyZSdzIGxvY2FsIGV4ZWN1dGlvbiwgdGhlIGxvY2F0aW9uIHdpbGwgYmUgIkhlcmUiLh0BIFRoaXMgdmVjdG9yIGNhbiBiZSB1c2VkIHRvIGNhbGN1bGF0ZSBib3RoIGV4ZWN1dGlvbiBhbmQgZGVsaXZlcnkgZmVlcy4AmQEgQ2FsbHMgb3IgWENNcyBtaWdodCBmYWlsIHdoZW4gZXhlY3V0ZWQsIHRoaXMgZG9lc24ndCBtZWFuIHRoZSByZXN1bHQgb2YgdGhlc2UgY2FsbHMgd2lsbCBiZSBhbiBgRXJyYC5lASBJbiB0aG9zZSBjYXNlcywgdGhlcmUgbWlnaHQgc3RpbGwgYmUgYSB2YWxpZCByZXN1bHQsIHdpdGggdGhlIGV4ZWN1dGlvbiBlcnJvciBpbnNpZGUgaXQuZQEgVGhlIG9ubHkgcmVhc29ucyB3aHkgdGhlc2UgY2FsbHMgbWlnaHQgcmV0dXJuIGFuIGVycm9yIGFyZSBsaXN0ZWQgaW4gdGhlIFtgRXJyb3JgXSBlbnVtLggAUExvY2F0aW9uVG9BY2NvdW50QXBpBEBjb252ZXJ0X2xvY2F0aW9uBCBsb2NhdGlvbmUBKQcEkCBDb252ZXJ0cyBgTG9jYXRpb25gIHRvIGBBY2NvdW50SWRgLgAEDQEgQVBJIGZvciB1c2VmdWwgY29udmVyc2lvbnMgYmV0d2VlbiBYQ00gYExvY2F0aW9uYCBhbmQgYEFjY291bnRJZGAuBAA8VHJ1c3RlZFF1ZXJ5QXBpCEhpc190cnVzdGVkX3Jlc2VydmUIFGFzc2V0MQcgbG9jYXRpb25lATUHFPAgUmV0dXJucyBpZiB0aGUgbG9jYXRpb24gaXMgYSB0cnVzdGVkIHJlc2VydmUgZm9yIHRoZSBhc3NldC4AMCAjIEFyZ3VtZW50c3QgKiBgYXNzZXRgOiBgVmVyc2lvbmVkQXNzZXRgLowgKiBgbG9jYXRpb25gOiBgVmVyc2lvbmVkTG9jYXRpb25gLgBUaXNfdHJ1c3RlZF90ZWxlcG9ydGVyCBRhc3NldDEHIGxvY2F0aW9uZQE1BxTgIFJldHVybnMgaWYgdGhlIGFzc2V0IGNhbiBiZSB0ZWxlcG9ydGVkIHRvIHRoZSBsb2NhdGlvbi4AMCAjIEFyZ3VtZW50c3QgKiBgYXNzZXRgOiBgVmVyc2lvbmVkQXNzZXRgLowgKiBgbG9jYXRpb25gOiBgVmVyc2lvbmVkTG9jYXRpb25gLgAE7CBBUEkgZm9yIHF1ZXJ5aW5nIHRydXN0ZWQgcmVzZXJ2ZXMgYW5kIHRydXN0ZWQgdGVsZXBvcnRlcnMuBABUQXV0aG9yaXplZEFsaWFzZXJzQXBpCExhdXRob3JpemVkX2FsaWFzZXJzBBh0YXJnZXRlAT0HBPQgUmV0dXJucyBsb2NhdGlvbnMgYWxsb3dlZCB0byBhbGlhcyBpbnRvIGFuZCBhY3QgYXMgYHRhcmdldGAuAExpc19hdXRob3JpemVkX2FsaWFzCBhvcmlnaW5lARh0YXJnZXRlAUUHBB0BIFJldHVybnMgd2hldGhlciBgb3JpZ2luYCBpcyBhbGxvd2VkIHRvIGFsaWFzIGludG8gYW5kIGFjdCBhcyBgdGFyZ2V0YC4ABKAgQVBJIGZvciBxdWVyeWluZyBYQ00gYXV0aG9yaXplZCBhbGlhc2VzBABQQ29sbGVjdENvbGxhdGlvbkluZm8EWGNvbGxlY3RfY29sbGF0aW9uX2luZm8EGGhlYWRlclxJBxCcIENvbGxlY3QgaW5mb3JtYXRpb24gYWJvdXQgYSBjb2xsYXRpb24uAPQgVGhlIGdpdmVuIGBoZWFkZXJgIGlzIHRoZSBoZWFkZXIgb2YgdGhlIGJ1aWx0IGJsb2NrIGZvciB0aGF0qCB3ZSBhcmUgY29sbGVjdGluZyB0aGUgY29sbGF0aW9uIGluZm8gZm9yLgAU2CBSdW50aW1lIGFwaSB0byBjb2xsZWN0IGluZm9ybWF0aW9uIGFib3V0IGEgY29sbGF0aW9uLgBEIFZlcnNpb24gaGlzdG9yeToBASAtIFZlcnNpb24gMjogQ2hhbmdlZCBbYFNlbGY6OmNvbGxlY3RfY29sbGF0aW9uX2luZm9gXSBzaWduYXR1cmU1ASAtIFZlcnNpb24gMzogU2lnbmFscyB0byB0aGUgbm9kZSB0byB1c2UgdmVyc2lvbiAxIG9mIFtgUGFyYWNoYWluQmxvY2tEYXRhYF0uDABUVHJhbnNhY3Rpb25TdG9yYWdlQXBpBEByZXRlbnRpb25fcGVyaW9kADgE2CBHZXQgdGhlIGFjdHVhbCB2YWx1ZSBvZiBhIHJldGVudGlvbiBwZXJpb2QgaW4gYmxvY2tzLgAEzCBSdW50aW1lIEFQSSB0cmFpdCBmb3IgdHJhbnNhY3Rpb24gc3RvcmFnZSBzdXBwb3J0LgQAOEdlbmVzaXNCdWlsZGVyDCxidWlsZF9zdGF0ZQQQanNvbhhVByhlASBCdWlsZCBgUnVudGltZUdlbmVzaXNDb25maWdgIGZyb20gYSBKU09OIGJsb2Igbm90IHVzaW5nIGFueSBkZWZhdWx0cyBhbmQgc3RvcmUgaXQgaW4gdGhlJCBzdG9yYWdlLgApASBJbiB0aGUgY2FzZSBvZiBhIEZSQU1FLWJhc2VkIHJ1bnRpbWUsIHRoaXMgZnVuY3Rpb24gZGVzZXJpYWxpemVzIHRoZSBmdWxsVQEgYFJ1bnRpbWVHZW5lc2lzQ29uZmlnYCBmcm9tIHRoZSBnaXZlbiBKU09OIGJsb2IgYW5kIHB1dHMgaXQgaW50byB0aGUgc3RvcmFnZS4gSWYgdGhlVQEgcHJvdmlkZWQgSlNPTiBibG9iIGlzIGluY29ycmVjdCBvciBpbmNvbXBsZXRlIG9yIHRoZSBkZXNlcmlhbGl6YXRpb24gZmFpbHMsIGFuIGVycm9yNCBpcyByZXR1cm5lZC4AXQEgUGxlYXNlIG5vdGUgdGhhdCBwcm92aWRlZCBKU09OIGJsb2IgbXVzdCBjb250YWluIGFsbCBgUnVudGltZUdlbmVzaXNDb25maWdgIGZpZWxkcywgbm9cIGRlZmF1bHRzIHdpbGwgYmUgdXNlZC4AKGdldF9wcmVzZXQECGlkWQf9AzhhASBSZXR1cm5zIGEgSlNPTiBibG9iIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBidWlsdC1pbiBgUnVudGltZUdlbmVzaXNDb25maWdgIGlkZW50aWZpZWQgYnkYIGBpZGAuAFUBIElmIGBpZGAgaXMgYE5vbmVgIHRoZSBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIEpTT04gYmxvYiByZXByZXNlbnRhdGlvbiBvZiB0aGUgZGVmYXVsdEkBIGBSdW50aW1lR2VuZXNpc0NvbmZpZ2Agc3RydWN0IG9mIHRoZSBydW50aW1lLiBJbXBsZW1lbnRhdGlvbiBtdXN0IHByb3ZpZGUgZGVmYXVsdGAgYFJ1bnRpbWVHZW5lc2lzQ29uZmlnYC4AIQEgT3RoZXJ3aXNlIGZ1bmN0aW9uIHJldHVybnMgYSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBidWlsdC1pbiwgbmFtZWRRASBgUnVudGltZUdlbmVzaXNDb25maWdgIHByZXNldCBpZGVudGlmaWVkIGJ5IGBpZGAsIG9yIGBOb25lYCBpZiBzdWNoIHByZXNldCBkb2VzIG5vdGEBIGV4aXN0LiBSZXR1cm5lZCBgVmVjPHU4PmAgY29udGFpbnMgYnl0ZXMgb2YgSlNPTiBibG9iIChwYXRjaCkgd2hpY2ggY29tcHJpc2VzIGEgbGlzdCBvZk0BIChwb3RlbnRpYWxseSBuZXN0ZWQpIGtleS12YWx1ZSBwYWlycyB0aGF0IGFyZSBpbnRlbmRlZCBmb3IgY3VzdG9taXppbmcgdGhlIGRlZmF1bHRlASBydW50aW1lIGdlbmVzaXMgY29uZmlnLiBUaGUgcGF0Y2ggc2hhbGwgYmUgbWVyZ2VkIChyZmM3Mzg2KSB3aXRoIHRoZSBKU09OIHJlcHJlc2VudGF0aW9uYQEgb2YgdGhlIGRlZmF1bHQgYFJ1bnRpbWVHZW5lc2lzQ29uZmlnYCB0byBjcmVhdGUgYSBjb21wcmVoZW5zaXZlIGdlbmVzaXMgY29uZmlnIHRoYXQgY2FuhCBiZSB1c2VkIGluIGBidWlsZF9zdGF0ZWAgbWV0aG9kLgAwcHJlc2V0X25hbWVzAF0HEFEBIFJldHVybnMgYSBsaXN0IG9mIGlkZW50aWZpZXJzIGZvciBhdmFpbGFibGUgYnVpbHRpbiBgUnVudGltZUdlbmVzaXNDb25maWdgIHByZXNldHMuAGEBIFRoZSBwcmVzZXRzIGZyb20gdGhlIGxpc3QgY2FuIGJlIHF1ZXJpZWQgd2l0aCBbYEdlbmVzaXNCdWlsZGVyOjpnZXRfcHJlc2V0YF0gbWV0aG9kLiBJZgEBIG5vIG5hbWVkIHByZXNldHMgYXJlIHByb3ZpZGVkIGJ5IHRoZSBydW50aW1lIHRoZSBsaXN0IGlzIGVtcHR5LgAE8CBBUEkgdG8gaW50ZXJhY3Qgd2l0aCBgUnVudGltZUdlbmVzaXNDb25maWdgIGZvciB0aGUgcnVudGltZQQAQEdldFBhcmFjaGFpbkluZm8EMHBhcmFjaGFpbl9pZACcBLAgUmV0cmlldmUgdGhlIHBhcmFjaGFpbiBpZCB1c2VkIGZvciBydW50aW1lLgAEDQEgUnVudGltZSBhcGkgdXNlZCB0byBhY2Nlc3MgZ2VuZXJhbCBpbmZvIGFib3V0IGEgcGFyYWNoYWluIHJ1bnRpbWUuBAAgnQNhBwA=";
3
- var bulletin_metadata_default = binMeta;
4
- export {
5
- bulletin_metadata_default as default
6
- };