15 lines
23 KiB
Markdown
15 lines
23 KiB
Markdown
---
|
|
from: usc
|
|
to: all
|
|
utc: 20260717T200404Z
|
|
---
|
|
|
|
usc → homelab: GITWATCH artifact handoff 1/3 (base64, byte-identity preserved, no reflow).
|
|
filename: gitwatch-spec-v3.md
|
|
bytes: 17480
|
|
sha256: f0174f1aa5ce0fd94f25f26d94e46f3051ebe498f741e5276d39c6290f6a8267
|
|
verify: base64 -d <payload> | sha256sum
|
|
---BEGIN-BASE64---
|
|
IyBnaXR3YXRjaCDigJQgU1BFQyB2MyAocGxhbm5lci1vcHVzLCBhZHZlcnNhcmlhbCBzcGVjL3BsYW4vZGVjb21wb3NlKQoKKipTVEFUVVM6IFBMQU4tT05MWS4gTm8gcHJvZHVjdCBjb2RlLiBEZWxpdmVyYWJsZSAxIG9mIDMsIHJldmlzaW9uIDMgKFNQRUMg4oaSIFBMQU4g4oaSIERFQ09NUE9TRSkuKioKKipMb29wOioqIHBsYW5uZXItb3B1cyBhdXRob3JzIOKGkiBwbGFubmVyLXNvbCByZWQtdGVhbXMg4oaSIGNvbnZlcmdlIOKGkiBNb3MgcmF0aWZpZXMg4oaSIGhhbmQgdG8gTVMtTEVBRCAoYG1vc2FpY3N0YWNrL3N0YWNrYCBgcGFja2FnZXMvbW9zYWljL2ApLgoKLSAqKlN1cGVyc2VkZXM6KiogYGdpdHdhdGNoLXNwZWMtdjIubWRgIChTSEEtMjU2IGAxNGQ2MmIxNDMwMDVhZDM1NWY5NzU0ZGU3NjljMDFlY2JlNzM1YmExYjdiODMwMmEwMjUzY2YyZGVhZTQxZTY2YCkuCi0gKipSZXNwb25kcyB0bzoqKiBgZ2l0d2F0Y2gtc3BlYy12Mi1yZWR0ZWFtLXNvbC5tZGAgKFNIQS0yNTYgYDNlZjg3MmNhNGU1ZGY4ZWFmMjZkZjQyZGQ3ZDU2YTBhMmNkZDA4NjAzNTlhZjFlMzI4Y2M3NzNmYzU4OWY5NzJgKSDigJQgKipOTy1HTywgbmFycm93IHBlcnNpc3RlbmNlL2RlbGl2ZXJ5IGRlbHRhOyBhcmNoaXRlY3R1cmUgQUNDRVBURUQuKiogc29sIGFjY2VwdGVkIGNsb3NlZDogbWF0ZXJpYWxpemVkLXNuYXBzaG90IGZyYW1pbmcsIHBlci1zdXJmYWNlIGxhc3QtZ29vZC9hdHRlbXB0LCBjb21wbGV0ZW5lc3MtZ2F0ZWQgYWJzZW5jZSBkZWx0YXMsIGV2ZW50LXN0cmVhbSBzY2hlbWEsIENJIGFkdmlzb3J5LW9ubHksIGxheWVyZWQgcmVtb3RlLXJlYWQtb25seSBlbmZvcmNlbWVudCwgYm91bmRlZCBkaW1lbnNpb25zLCBvbmUtdW5pdC1wZXItcmVwbyArIGxvY2tpbmcsIG5vcm1hbGl6ZWQgdW5rbm93biBzdGF0ZXMsIGlnbm9yZS1zZWxmIG5vdGlmeS1vbmx5L2RlZmF1bHQtb2ZmLCBvdXRwdXQgbWluaW1pemF0aW9uLCBmcmFtZXdvcmstYWdub3N0aWMgZml4dHVyZXMsIHBpcGVsaW5lLW5vdC1kZXBsb3kuICoqdjMgYW1lbmRzIE9OTFkgdGhlIDEwIHBlcnNpc3RlbmNlL2RlbGl2ZXJ5IGl0ZW1zIGJlbG93LiBObyBhcmNoaXRlY3R1cmUgcmV3cml0ZSAoc29sJ3Mgd29yZHMpLioqCi0gKipDYXJyaWVkIHZlcmJhdGltIGZyb20gdjIgKGFjY2VwdGVkKToqKiBldmVyeXRoaW5nIGluIHRoZSBjbG9zdXJlIHN1bW1hcnkgYWJvdmUuIFRoaXMgZG9jdW1lbnQgaXMgYSBkZWx0YTsgdW5hbWVuZGVkIHYyIHNlY3Rpb25zIHN0YW5kLgoKLS0tCgojIyAwLiB2MyBkZWx0YSBtYXAgKHNvbCdzIDEwIHJlcXVpcmVkIGNoYW5nZXMg4oaSIHNlY3Rpb25zKQoKfCAjIHwgc29sIHJlcXVpcmVkIGNoYW5nZSB8IHYzIHNlY3Rpb24gfAp8LS0tfC0tLXwtLS18CnwgMSB8IE9uZSB0cmFuc2FjdGlvbmFsIGludGVybmFsIHN0b3JlL2pvdXJuYWw7IG91dHB1dHMgYXJlIHJlYnVpbGRhYmxlIHByb2plY3Rpb25zIHwgwqcxIHwKfCAyIHwgQXQtbGVhc3Qtb25jZSB0cnV0aDsgYWRhcHRlci1kZWNsYXJlZCBpZGVtcG90ZW5jeSBjYXBhYmlsaXR5IHwgwqcyIHwKfCAzIHwgRXhwbGljaXQgY29ycnVwdGlvbiByZWNvdmVyeSwgbmV2ZXIgYXV0b21hdGljIHByaW1lIHwgwqczIHwKfCA0IHwgQm91bmRlZCBzZXR0bGUvcmVjaGVjayBmb3IgcmFjeSB0b3RhbHMgfCDCpzQgfAp8IDUgfCBEdXJhYmxlIG1vbm90b25pYyBnZW5lcmF0aW9uIHJ1bGVzIHwgwqc1IHwKfCA2IHwgRGVhZC1sZXR0ZXIgLyBiYWNrcHJlc3N1cmUgc2VtYW50aWNzIChudW1iZXJzIGRlZmVycmVkKSB8IMKnNiB8CnwgNyB8IFByb3ZpZGVyLXNwZWNpZmljIGN1cnNvciBjb250cmFjdHMgKyBwZXItc3RyZWFtIGNvbXBsZXRlbmVzcyB8IMKnNywgwqc4IHwKfCA4IHwgQ2Fub25pY2FsIGVuY29kaW5nLCBub3QgY3Jvc3MtdGljayBieXRlIHN0YWJpbGl0eSB8IMKnOSB8CnwgOSB8IFdhdGNoZXItaGVhbHRoIGxpZmVjeWNsZSArIHRpZXItc3RhcnZhdGlvbiBoYW5kbGluZyB8IMKnMTAsIMKnMTEgfAp8IDEwIHwgTWV0YWRhdGEtb25seSBldmVudCByZXRlbnRpb24gYnkgZGVmYXVsdCB8IMKnMTIgfAoKLS0tCgojIyAxLiBTaW5nbGUgdHJhbnNhY3Rpb25hbCBzdG9yZTsgb3V0cHV0cyBhcmUgcHJvamVjdGlvbnMgKGZpbmRpbmcgMSkKClRoZSB2MiAiYXRvbWljYWxseSBjb21taXQgc25hcHNob3QgKyBkZWx0YXMgKyBvdXRib3ggdmlhIHRtcCtyZW5hbWUiIHdhcyB3cm9uZzogKip0aGVyZSBpcyBubyBhdG9taWMgbXVsdGktZmlsZSByZW5hbWUuKiogdjMgbWFrZXMgdGhlIGNvbW1pdCBhdXRob3JpdHkgYSAqKnNpbmdsZSB0cmFuc2FjdGlvbmFsIGludGVybmFsIHN0b3JlKiog4oCUIGEgbG9jYWwgKipBQ0lEIHN0b3JlIChTUUxpdGUsIG9yIGFuIGVxdWl2YWxlbnQgc2luZ2xlLWZpbGUgam91cm5hbGVkIGdlbmVyYXRpb24gYnVuZGxlKSoqIOKAlCBsaXZpbmcgaW4gdGhlIHNlcnZpY2UncyBwcml2YXRlIG91dHB1dCBkaXIgKGAwNzAwYCwgwqcxMiBjYXJyaWVkKS4KCi0gKipUaGUgc3RvcmUgaXMgdGhlIHNvbGUgY29tbWl0IGF1dGhvcml0eS4qKiBgc3RhdGUuanNvbmAgYW5kIGBkaWdlc3QubWRgIGFyZSAqKnJlYnVpbGRhYmxlIHByb2plY3Rpb25zKiogcmVuZGVyZWQgKmFmdGVyKiB0aGUgdHJhbnNhY3Rpb24gY29tbWl0czsgdGhleSBhcmUgZGVyaXZlZCB2aWV3cywgbmV2ZXIgdGhlIHNvdXJjZSBvZiB0cnV0aCBmb3IgZ2l0d2F0Y2gncyBvd24gY29udGludWl0eS4gQSBwcm9qZWN0aW9uIGNhbiBiZSByZWdlbmVyYXRlZCBmcm9tIHRoZSBzdG9yZSBhdCBhbnkgdGltZS4KLSAqKkNyYXNoIGludmFyaWFudCAoc3RhdGVkIGV4cGxpY2l0bHkpOioqIHdpdGhpbiBvbmUgdHJhbnNhY3Rpb24sICoqc25hcHNob3QgcHJvbW90aW9uICsgcGVyLXN0cmVhbSBjdXJzb3Ivd2F0ZXJtYXJrIGFkdmFuY2VtZW50ICsgYWxlcnQtc3RhdGUgdHJhbnNpdGlvbnMgKyBvdXRib3ggaW5zZXJ0aW9uICsgZ2VuZXJhdGlvbiBpbmNyZW1lbnQgZWl0aGVyIGFsbCBjb21taXQgb3Igbm9uZSBkby4qKiBObyBjcmFzaCBjYW4gZXhwb3NlIGdlbmVyYXRpb24gTiB3aXRoIG5vIG91dGJveCwgb3IgYW4gb3V0Ym94IHJlZmVyZW5jaW5nIGFuIHVuY29tbWl0dGVkIGdlbmVyYXRpb24uCi0gUHJvamVjdGlvbiByZW5kZXIgZmFpbHVyZSAoZS5nLiBjcmFzaCB3aGlsZSB3cml0aW5nIGBzdGF0ZS5qc29uYCkgaXMgaGFybWxlc3M6IHJlLXJlbmRlciBmcm9tIHRoZSBjb21taXR0ZWQgc3RvcmUgb24gbmV4dCB0aWNrL3N0YXJ0dXA7IHRoZSBzdG9yZSBhbHJlYWR5IGhvbGRzIHRoZSB0cnV0aC4KLSAqKlNRTGl0ZSByYXRpb25hbGUgKHByb3Bvc2FsLCBQTEFOIGNvbmZpcm1zKToqKiBBQ0lELCBzaW5nbGUtZmlsZSwgc2hpcHMgaW4gdGhlIFB5dGhvbiBzdGRsaWIgKG1hdGNoZXMgdjEuMCdzIHN0ZGxpYi1sZWFuIHBvc3R1cmUpLCBwb3J0YWJsZSwgbm8gZXh0ZXJuYWwgc2VydmljZS4gSWYgYHBhY2thZ2VzL21vc2FpYy9gIG1hbmRhdGVzIGEgbm9uLVB5dGhvbiBydW50aW1lICjCpzE1IG9wZW4gUTMpLCBQTEFOIHNlbGVjdHMgdGhlIGVxdWl2YWxlbnQgZW1iZWRkZWQgQUNJRCBzdG9yZTsgdGhlICpyZXF1aXJlbWVudCogaXMgdHJhbnNhY3Rpb25hbCBzaW5nbGUtYXV0aG9yaXR5IGNvbW1pdCwgbm90IHRoZSBzcGVjaWZpYyBlbmdpbmUuCgojIyAyLiBBdC1sZWFzdC1vbmNlIGlzIHRoZSBob25lc3QgY29udHJhY3QgKGZpbmRpbmcgMikKCnYyIG92ZXJjbGFpbWVkICJubyB1c2VyLXZpc2libGUgZHVwLiIgQ29ycmVjdGVkOgoKLSAqKmdpdHdhdGNoIGd1YXJhbnRlZXMgYXQtbGVhc3Qtb25jZSBkZWxpdmVyeS4gRnVsbCBzdG9wLioqIEV4YWN0bHktb25jZSAvIG5vLXZpc2libGUtZHVwbGljYXRlIGlzIGNsYWltZWQgKipvbmx5KiogZm9yIGEgdHJhbnNwb3J0IHRoYXQgZXhwbGljaXRseSBkZWNsYXJlcyBpZGVtcG90ZW5jeSBzdXBwb3J0LgotIEV2ZXJ5IG5vdGlmaWNhdGlvbiBjYXJyaWVzIGl0cyAqKnN0YWJsZSBldmVudCBJRCBzdHJ1Y3R1cmFsbHkvdmlzaWJseSoqIHNvIGEgcmVjZWl2ZXIgY2FuIGRlZHVwIGlmIGl0IGNob29zZXMuCi0gKipOb3RpZnkgYWRhcHRlcnMgZGVjbGFyZSBgc3VwcG9ydHNfaWRlbXBvdGVuY3k6IGJvb2xgLioqIEZvciBpZGVtcG90ZW50IHRyYW5zcG9ydHMsIGdpdHdhdGNoIHBhc3NlcyB0aGUgaWRlbXBvdGVuY3kga2V5IGFuZCBkdXBsaWNhdGVzIGFyZSBhYnNvcmJlZCBkb3duc3RyZWFtLiBGb3Igbm9uLWlkZW1wb3RlbnQgdHJhbnNwb3J0cywgZ2l0d2F0Y2ggKipkb2N1bWVudHMgdGhhdCBkdXBsaWNhdGVzIGFyZSBwb3NzaWJsZSoqIGFuZCBtaW5pbWl6ZXMgdGhlbSB2aWEgKipkdXJhYmxlIHNlbmQgcmVjZWlwdHMqKiAobWFyay1zZW50IGluIHRoZSBzYW1lIHN0b3JlLCBzbyBhIHJldHJ5IG9ubHkgZmlyZXMgd2hlbiBubyByZWNlaXB0IGV4aXN0cykg4oCUIG1pbmltaXphdGlvbiwgbm90IGVsaW1pbmF0aW9uLgotIEEgY3Jhc2ggYmV0d2VlbiB0cmFuc3BvcnQtYWNrIGFuZCByZWNlaXB0LXdyaXRlIGNhbiBzdGlsbCByZXNlbmQgb25jZTsgdGhhdCBpcyB0aGUgYWNjZXB0ZWQgYXQtbGVhc3Qtb25jZSByZXNpZHVhbCwgbm93IHN0YXRlZCByYXRoZXIgdGhhbiBoaWRkZW4uCgojIyAzLiBDb3JydXB0aW9uIGlzIGZhaWwtY2xvc2VkLCBuZXZlciBhdXRvLXByaW1lIChmaW5kaW5nIDMpCgpMZWdpdGltYXRlIGZpcnN0LXJ1biBwcmltZSAobm8gc3RvcmUgeWV0KSBzdGF5cyBhcy1pcy4gQnV0IGEgKipjb3JydXB0IG9yIGxvc3Qgc3RvcmUgb24gYSByZXBvIHRoYXQgd2FzIHByZXZpb3VzbHkgaW5pdGlhbGl6ZWQgaXMgTk9UIHRyZWF0ZWQgYXMgcHJpbWU6KioKCi0gRGV0ZWN0IGNvcnJ1cHRpb24gKHN0b3JlIGludGVncml0eSBjaGVjayAvIGZhaWxlZCBvcGVuIC8gZ2VuZXJhdGlvbiByZWdyZXNzaW9uKS4KLSAqKlF1YXJhbnRpbmUqKiB0aGUgZGFtYWdlZCBhcnRpZmFjdCAobW92ZSBhc2lkZSwgdGltZXN0YW1wZWQpLCByZXRhaW4gYW55IHJlY292ZXJhYmxlIGBsYXN0X2dvb2RgL2pvdXJuYWwuCi0gUmFpc2UgYSAqKndhdGNoZXItaGVhbHRoIGFsZXJ0KiogKMKnMTApIHZpYSB0aGUgbWFuZGF0b3J5IGxvY2FsIGhlYWx0aCBzdXJmYWNlLgotICoqUmVxdWlyZSBleHBsaWNpdCBvcGVyYXRvciBhY3Rpb246KiogYC0tcmVwcmltZSAtLWFjay1zdGF0ZS1sb3NzYCAoYWNjZXB0IHRoZSBjb250aW51aXR5IGdhcCBrbm93aW5nbHkpICoqb3IqKiByZXN0b3JlIGZyb20gdGhlIHRyYW5zYWN0aW9uYWwgam91cm5hbC9iYWNrdXAuIGdpdHdhdGNoIGRvZXMgKipub3QqKiBzaWxlbnRseSByZS1iYXNlbGluZSDigJQgc2lsZW50IHJlLXByaW1lIHdvdWxkIHN1cHByZXNzIGRlbHRhcywgcmVzZXQgd2F0ZXJtYXJrcywgYW5kIGhpZGUgYWxlcnQvbm90aWZpY2F0aW9uIGxvc3MuCgojIyA0LiBCb3VuZGVkIHNldHRsZS9yZWNoZWNrIGZvciByYWN5IHRvdGFscyAoZmluZGluZyA0IC8gdjIgUzIpCgpDb3VudCBhbmQgZW51bWVyYXRpb24gaGFwcGVuIGF0IGRpZmZlcmVudCBpbnN0YW50czsgbm9ybWFsIGNodXJuIGNhbiBtYWtlIHRoZW0gZGlzYWdyZWUgd2l0aG91dCBhbnkgcmVhbCBlcnJvci4KCi0gT24gZW51bWVyYXRlZOKJoGF1dGhvcml0YXRpdmUtdG90YWwgbWlzbWF0Y2gsIHBlcmZvcm0gKipvbmUgYm91bmRlZCBzZXR0bGUvcmVjaGVjayoqIGluIGEgKipkZWZpbmVkIG9yZGVyKiogKHJlLXJlYWQgdG90YWwsIHRoZW4gcmUtZW51bWVyYXRlIHRoZSBjaGFuZ2VkIHdpbmRvdywgb3IgdmljZS12ZXJzYSDigJQgb3JkZXIgZml4ZWQgaW4gUExBTikuCi0gKipQcm9tb3RlIG9ubHkgaWYgYSBzZWxmLWNvbnNpc3RlbnQgKHRvdGFsLCBlbnVtZXJhdGlvbikgcGFpciBpcyBvYnRhaW5lZCoqIGluIHRoZSByZWNoZWNrLiBSZWNvcmQgKipib3RoIG9ic2VydmF0aW9uIHRpbWVzdGFtcHMgYW5kIGJvdGggdG90YWxzKiogaW4gdGhlIHN1cmZhY2UgbWV0YWRhdGEgKHByb3ZlbmFuY2UpLgotICoqUGVyc2lzdGVudCBkaXNhZ3JlZW1lbnQg4oaSIHN1cmZhY2Ugc3RheXMgYGRlZ3JhZGVkYCwgYGxhc3RfZ29vZGAgcmV0YWluZWQsIGFuZCBOTyBhYnNlbmNlIGRlbHRhcyBhcmUgaW5mZXJyZWQqKiBmcm9tIGVpdGhlciBhdHRlbXB0LiBUaGlzIHN0b3BzIGJvdGggZmFsc2UtYGRlZ3JhZGVkYCBmbGFwcGluZyAob25lIHJlY2hlY2sgYWJzb3JicyBub3JtYWwgY2h1cm4pIGFuZCBmYWxzZSBjbG9zZXMgKHBlcnNpc3RlbnQgZGlzYWdyZWVtZW50IG5ldmVyIHByb21vdGVzKS4KCiMjIDUuIER1cmFibGUgbW9ub3RvbmljIGdlbmVyYXRpb25zIChmaW5kaW5nIDUgLyB2MiBTNCkKCi0gKipHZW5lcmF0aW9uIGFsbG9jYXRpb24gbGl2ZXMgaW4gdGhlIHRyYW5zYWN0aW9uYWwgc3RvcmUqKiBhbmQgaW5jcmVtZW50cyBpbiB0aGUgKipzYW1lIGNvbW1pdCoqIGFzIHNuYXBzaG90IHByb21vdGlvbiArIG91dGJveCBpbnNlcnRpb24gKMKnMSkuIEl0IGNhbm5vdCBhZHZhbmNlIHdpdGhvdXQgYSBjb21taXR0ZWQgcHJvbW90aW9uLCBub3IgYSBwcm9tb3Rpb24gY29tbWl0IHdpdGhvdXQgYWR2YW5jaW5nIGl0LgotICoqRGlzdGluZ3Vpc2ggdHdvIGdlbmVyYXRpb24gc2NvcGVzOioqIGEgKipnbG9iYWwgdHJhbnNhY3Rpb24gZ2VuZXJhdGlvbioqIChtb25vdG9uaWMgcGVyIGNvbW1pdHRlZCB0aWNrKSBhbmQgKipwZXItc3VyZmFjZSBnZW5lcmF0aW9ucyoqIChhZHZhbmNlIG9ubHkgd2hlbiB0aGF0IHN1cmZhY2UgcHJvbW90ZXMgYSBuZXcgYGxhc3RfZ29vZGApLiBFdmVudC9hbGVydCBJRHMgdGhhdCBlbWJlZCBnZW5lcmF0aW9uIChgYWxlcnQ6e3R5cGV9OntrZXl9OntvcGVuZWRfZ2VuZXJhdGlvbn1gKSB1c2UgdGhlIHNjb3BlIGRlZmluZWQgcGVyIElEIHR5cGUsIGRvY3VtZW50ZWQgc28gcmVzdGFydHMgY2FuJ3QgY29sbGlkZSBvciByZS1wYWdlLgotICoqUmVzdG9yZS9yZXN0YXJ0IG11c3QgcHJlc2VydmUtb3ItYWR2YW5jZSoqIHRoZSBnZW5lcmF0aW9uLiBJZiBtb25vdG9uaWNpdHkgY2Fubm90IGJlIHByb3ZlbiBmcm9tIHRoZSBzdG9yZSBvbiBzdGFydHVwIChzdG9yZSBtaXNzaW5nL3JvbGxlZCBiYWNrKSwgZ2l0d2F0Y2ggKipmYWlscyBjbG9zZWQqKiBpbnRvIHRoZSDCpzMgcmVjb3ZlcnkgcGF0aCAoZXhwbGljaXQgb3BlcmF0b3IgYWNrKSwgcmF0aGVyIHRoYW4gcmV1c2luZy9sb3dlcmluZyBhIGdlbmVyYXRpb24uCgojIyA2LiBEZWFkLWxldHRlciArIGJhY2twcmVzc3VyZSBzZW1hbnRpY3MgKGZpbmRpbmcgNiAvIHYyIFMzKQoKU2VtYW50aWNzIGRlZmluZWQgbm93OyBvbmx5IG51bWVyaWMgbGltaXRzIGRlZmVycmVkICjCpzE1KToKCi0gQWZ0ZXIgKipyZXRyeSBleGhhdXN0aW9uKiosIGFuIG91dGJveCBlbnRyeSBtb3ZlcyB0byAqKmJvdW5kZWQgZHVyYWJsZSBkZWFkLWxldHRlciBtZXRhZGF0YSoqIChrZXB0IGluIHRoZSBzdG9yZSkg4oCUIGl0cyAqKmV2ZW50IGlkZW50aXR5IGlzIG5ldmVyIHNpbGVudGx5IGRlbGV0ZWQqKiB3aGlsZSB1bnJlc29sdmVkLgotIEVudGVyaW5nIGRlYWQtbGV0dGVyIHJhaXNlcyBhICoqd2F0Y2hlci1oZWFsdGggbGlmZWN5Y2xlIGFsZXJ0KiogKMKnMTApIHZpYSB0aGUgaW5kZXBlbmRlbnQvbG9jYWwgc3VyZmFjZSAobm90IHRoZSBzYW1lIHBvc3NpYmx5LWRlYWQgdHJhbnNwb3J0KS4KLSAqKkJhY2twcmVzc3VyZSBiZWZvcmUgZGlzayBleGhhdXN0aW9uOioqIHdoZW4gb3V0Ym94ICsgZGVhZC1sZXR0ZXIgYXBwcm9hY2ggdGhlIHN0b3JhZ2UgYm91bmQsIGdpdHdhdGNoIGFwcGxpZXMgYmFja3ByZXNzdXJlIOKAlCBpdCAqKnByaW9yaXRpemVzIGNvbnRpbnVpbmcgc25hcHNob3QgY29sbGVjdGlvbioqIChzZW5zZSBtdXN0IG5vdCBoYWx0KSBhbmQgbWFya3Mgbm90aWZpY2F0aW9uIGRlbGl2ZXJ5IGBkZWdyYWRlZGAsIHJhdGhlciB0aGFuIGxldHRpbmcgdW5ib3VuZGVkIHJldHJpZXMgZXhoYXVzdCBkaXNrIGFuZCBzdG9wIHRoZSB3YXRjaGVyLgotICoqUmV0ZW50aW9uIHNhZmV0eToqKiBzbmFwc2hvdC9wYXlsb2FkIGdlbmVyYXRpb25zIHN0aWxsICoqcmVmZXJlbmNlZCBieSBhbnkgcGVuZGluZyBvciBkZWFkLWxldHRlciBlbnRyeSBhcmUgbmV2ZXIgZ2FyYmFnZS1jb2xsZWN0ZWQqKiAowqcxMiByZXRlbnRpb24gbXVzdCBob25vciByZWZlcmVuY2VzKS4KCiMjIDcuIFByb3ZpZGVyLXNwZWNpZmljIGN1cnNvciBjb250cmFjdHMgKGZpbmRpbmcgNyAvIHYyIFMxKQoKQSBnZW5lcmljIGB3YXRlcm1hcms6IjxpZC90cz4iYCBpcyB1bmRlci1zcGVjaWZpZWQuIFBlciBlbmRwb2ludC9wcm92aWRlciBjYXBhYmlsaXR5LCB0aGUgY3Vyc29yIGNvbnRyYWN0IGRlZmluZXM6Ci0gKipjdXJzb3IgdHlwZSoqIChudW1lcmljIElEIC8gb3BhcXVlIHRva2VuIC8gdGltZXN0YW1wKSwgKippbmNsdXNpdmUgdnMgZXhjbHVzaXZlKiogYm91bmRhcnksICoqc3RhYmxlLUlEIGRlZHVwKioga2V5LCAqKm92ZXJsYXAgdW5pdCoqIChjb3VudCBvciB0aW1lKSwgYW5kICoqY2xvY2stc2tldyBoYW5kbGluZyoqIChuZXZlciB0cnVzdCB3YWxsLWNsb2NrIG9yZGVyaW5nIGFsb25lIHdoZXJlIElEcyBleGlzdCkuCi0gKipJZiBhbiBlbmRwb2ludCBsYWNrcyBvcmRlcmVkIGluY3JlbWVudGFsIHJldHJpZXZhbCwqKiBnaXR3YXRjaCBwZXJmb3JtcyAqKmNvbXBsZXRlIGJvdW5kZWQgZW51bWVyYXRpb24gZm9yIHRyYWNrZWQgb3BlbiBQUnMqKiAobm90IGEgZnJhZ2lsZSBpbmNyZW1lbnRhbCBjdXJzb3IpLgotICoqTGF0ZSBldmVudHMgb2xkZXIgdGhhbiB0aGUgcmV0YWluZWQgb3ZlcmxhcCB3aW5kb3cgYXJlIGV4cGxpY2l0bHkgb2JzZXJ2YWJsZSBsb3NzKiog4oCUIGVtaXR0ZWQgYXMgYSBtZXRyaWMgKyB3YXRjaGVyLWhlYWx0aCBzaWduYWwsICoqbmV2ZXIgc2lsZW50bHkgdHJlYXRlZCBhcyBjb21wbGV0ZS4qKiAoVGhlIGNyZWF0ZWQtYW5kLWRlbGV0ZWQtYmV0d2Vlbi1wb2xscyBsb3NzIGNsYXNzIGZyb20gdjIgwqc0IGlzIHRoZSBzYW1lIGhvbmVzdHkuKQoKIyMgOC4gUGVyLShQUiwgc3RyZWFtKSBjb21wbGV0ZW5lc3MgcHJvbW90aW9uIChmaW5kaW5nIDkpCgotIENvbXBsZXRlbmVzcyBhbmQgY3Vyc29yIGFkdmFuY2VtZW50IGFyZSB0cmFja2VkICoqcGVyIGAoUFIsIHN0cmVhbSlgKiogKGNvbW1lbnRzIC8gcmV2aWV3cyAvIHJldmlldy1jb21tZW50cyksIE9SIGFzIG9uZSBleHBsaWNpdCAqKmFsbC1vci1ub3RoaW5nIGV2ZW50cyB0cmFuc2FjdGlvbioqIOKAlCBQTEFOIHBpY2tzOyB0aGUgcmVxdWlyZW1lbnQgaXMgdGhhdCAqKmEgZmFpbGVkIHN0cmVhbSBORVZFUiBhZHZhbmNlcyBpdHMgd2F0ZXJtYXJrLioqCi0gKipTdWNjZXNzZnVsIHN0cmVhbXMgbWF5IHByb21vdGUgaW5kZXBlbmRlbnRseSoqIHdpdGggZXhwbGljaXQgcGVyLXN0cmVhbSBnZW5lcmF0aW9uczsgb25lIGZhaWxlZCByZXZpZXctY29tbWVudCBlbmRwb2ludCBvbiBvbmUgUFIgZG9lcyAqKm5vdCoqIHN0YXJ2ZSBldmVyeSBoZWFsdGh5IHN0cmVhbSwgYW5kIGRvZXMgKipub3QqKiBjcmVhdGUgbWlzc2luZy1ldmVudCBzdGF0ZSBvbiB0aGUgZmFpbGVkIG9uZSAoaXQgc3RheXMgYXQgaXRzIHByaW9yIHdhdGVybWFyaywgcmV0cmllZCBuZXh0IHRpY2spLgoKIyMgOS4gQ2Fub25pY2FsIGVuY29kaW5nLCBub3QgYnl0ZSBzdGFiaWxpdHkgKGZpbmRpbmcgOCkKCi0gdjIncyAiYnl0ZS1zdGFibGUgb3V0cHV0IiBpcyBpbXBvc3NpYmxlICh0aW1lc3RhbXBzL2dlbmVyYXRpb24gY2h1cm4pLiBSZXBsYWNlZCB3aXRoICoqZGV0ZXJtaW5pc3RpYyBjYW5vbmljYWwgZW5jb2RpbmcqKjogc3RhYmxlIGtleSBvcmRlcmluZyArIGNhbm9uaWNhbCBudW1iZXIvc3RyaW5nIGZvcm1hdHRpbmcsIHNvIGEgKipjb250ZW50IGRpZmYqKiAoaWdub3JpbmcgdGhlIG1ldGFkYXRhIGVudmVsb3BlJ3MgdGltZXN0YW1wcy9nZW5lcmF0aW9uKSBpcyBjbGVhbiBhbmQgbWVhbmluZ2Z1bCBmb3IgY29uc3VtZXJzLgotICoqU3RvcmUgdGltZXN0YW1wcywgbm90IGNvbXB1dGVkIGBhZ2Vfc2Vjb25kc2AuKiogYHN0YXRlLmpzb25gIGNhcnJpZXMgYGNvbGxlY3RlZF9hdGAvYGxhc3Rfc3VjY2Vzc19hdGA7ICoqY29uc3VtZXJzIGNvbXB1dGUgZnJlc2huZXNzIGFzIGBub3cg4oiSIGNvbGxlY3RlZF9hdGAqKiAoYSBzdG9yZWQgYWdlIGlzIHN0YWxlIHRoZSBpbnN0YW50IGl0J3Mgd3JpdHRlbikuCi0gKipDb250ZW50LXVuY2hhbmdlZCBvcHRpbWl6YXRpb246Kiogd2hlbiBhIHN1cmZhY2UncyBzb3VyY2UgY29udGVudCBpcyB1bmNoYW5nZWQsIGdpdHdhdGNoICoqZG9lcyBub3QgYnVtcCB0aGF0IHN1cmZhY2UncyBgbGFzdF9nb29kYCBnZW5lcmF0aW9uKiogKGl0IHVwZGF0ZXMgYGxhc3RfYXR0ZW1wdGAgaGVhbHRoIG9ubHkpIOKAlCBzbyBnZW5lcmF0aW9uIGNodXJuIHRyYWNrcyByZWFsIGNoYW5nZSwgbm90IHRpY2sgY291bnQsIGFuZCBjb25zdW1lciBjb250ZW50LWRpZmZzIHN0YXkgcXVpZXQgb24gbm8tb3AgdGlja3MuCgojIyAxMC4gV2F0Y2hlci1oZWFsdGggbGlmZWN5Y2xlICsgbm9uLXJlY3Vyc2l2ZSByZXBvcnRpbmcgKGZpbmRpbmcgMTApCgotIFdhdGNoZXItaGVhbHRoIGNvbmRpdGlvbnMg4oCUIGNyZWRlbnRpYWwgZXhwaXJ5LCBwZXJzaXN0ZW50IGNvdW50IGRpc2FncmVlbWVudCAowqc0KSwgbG9jayBzdGFydmF0aW9uICjCpzExKSwgZGVhZC1sZXR0ZXIgZ3Jvd3RoICjCpzYpLCBzdG9yZSBjb3JydXB0aW9uICjCpzMpIOKAlCBhcmUgKipmaXJzdC1jbGFzcyBzdGF0ZWZ1bCBhbGVydHMqKiB3aXRoIGBvcGVuZWQvc3RpbGxfYWN0aXZlL3Jlc29sdmVkYCBsaWZlY3ljbGUsIGRlZHVwZWQgc28gcmVwZWF0ZWQgZmFpbHVyZXMgZG9uJ3Qgc3BhbS4KLSAqKk5vbi1yZWN1cnNpdmUgcmVwb3J0aW5nIHBhdGg6KiogYSAqKmxvY2FsIGhlYWx0aCBhcnRpZmFjdC9qb3VybmFsIGlzIE1BTkRBVE9SWSoqIChhbHdheXMgd3JpdHRlbiwgaW5kZXBlbmRlbnQgb2YgdGhlIG5vdGlmeSB0cmFuc3BvcnQsIHNpbmNlIHRoZSB0cmFuc3BvcnQgaXRzZWxmIG1heSBiZSB0aGUgdGhpbmcgdGhhdCdzIGRvd24pLiBFeHRlcm5hbCBub3RpZmljYXRpb24gb2YgaGVhbHRoIGlzICoqYmVzdC1lZmZvcnQqKiB0aHJvdWdoIHRoZSBzYW1lIG9yIGEgc2VwYXJhdGUgYWRhcHRlci4gVGhpcyBndWFyYW50ZWVzIGhlYWx0aCBpcyBvYnNlcnZhYmxlIGV2ZW4gd2hlbiBkZWxpdmVyeSBpcyBmdWxseSBicm9rZW4uCgojIyAxMS4gVGllciBzY2hlZHVsaW5nIHdpdGhvdXQgc3RhcnZhdGlvbiAoZmluZGluZyAxMSkKCi0gdjIncyAiVGllciBCIGV4aXRzIHdoZW5ldmVyIFRpZXIgQSBob2xkcyB0aGUgbG9jayIgY2FuIHN0YXJ2ZSB0aGUgaG91cmx5IGNlbnN1cyBpbmRlZmluaXRlbHkuIHYzIHJlcGxhY2VzIHRoZSB0d28taW5kZXBlbmRlbnQtdGltZXJzIG1vZGVsIHdpdGggKipvbmUgc2NoZWR1bGVyIHByb2Nlc3MgdGhhdCBob2xkcyB0aGUgc2luZ2xlIHdyaXRlciBsb2NrIGFuZCBzZWxlY3RzIHRoZSBkdWUgdGllciBpbnRlcm5hbGx5KiogKFRpZXIgQSBjYWRlbmNlLCBUaWVyIEIgY2FkZW5jZSkg4oCUIHNvIGEgbG93ZXItZnJlcXVlbmN5IHRpZXIgaXMgYWx3YXlzIGV2ZW50dWFsbHkgc2VydmljZWQuCi0gU2tpcHBlZC9jb250ZW5kZWQgYXR0ZW1wdHMgYXJlICoqcmVjb3JkZWQqKiAoaGVhbHRoIG1ldHJpYyDCpzEwKS4gTm8gY29uY3VycmVudCB3cml0ZXJzIHJlbWFpbnMgdGhlIGludmFyaWFudDsgc3RhcnZhdGlvbiBpcyB0aGUgZmFpbHVyZSBtb2RlIGJlaW5nIGVsaW1pbmF0ZWQuIChNYW51YWwgQ0xJIHJ1bnMgc3RpbGwgY29udGVuZCBmb3IgdGhlIHNhbWUgbG9jayBhbmQgYXJlIHJlZnVzZWQgd2hpbGUgdGhlIHNjaGVkdWxlciBob2xkcyBpdCDigJQgwqcxMCBjYXJyaWVkLikKCiMjIDEyLiBNZXRhZGF0YS1vbmx5IHJldGVudGlvbiBieSBkZWZhdWx0IChmaW5kaW5nIDEyKQoKQW1lbmRzIHYyIMKnMTI6Ci0gKipEZWZhdWx0IHJldGFpbmVkIGV2ZW50IHJlY29yZHMgPSBJRHMsIGF1dGhvciwgdGltZXN0YW1wcywgc3RhdGUvcGF0aC9saW5lLCBVUkwqKiDigJQgYW5kIGEgKipzYWZlIGJvdW5kZWQgc3VtbWFyeSBvbmx5IGlmIGV4cGxpY2l0bHkgZW5hYmxlZCoqIGluIGNvbmZpZy4KLSAqKkRlZHVwIGtleXMgb2ZmIHN0YWJsZSBJRHMsIG5ldmVyIGJvZHkgY29udGVudCoqIOKAlCBzbyBib2R5IG9taXNzaW9uL2hhc2hpbmcgZG9lcyBub3QgYnJlYWsgZGVkdXAgb3IgdGhlIHN1cGVyc2V0IHByb29mLgotICoqUmF3IHByb3ZpZGVyIHRleHQgaXMgb3B0LWluKiogd2l0aCBkb2N1bWVudGVkIHJldGVudGlvbiArIHRoZSDCpzEyICh2MikgbG9jYWwtc2VjdXJpdHkgaGFuZGxpbmcgKGAwNjAwYCwgc3ltbGluay1yZWZ1c2UsIGZzeW5jLCBib3VuZGVkKS4gRGVmYXVsdCBwb3N0dXJlOiBnaXR3YXRjaCBzdG9yZXMgbm8gcmF3IGNvbW1lbnQvdGl0bGUgYm9kaWVzLgoKIyMgMTMuIEFtZW5kZWQgZmF1bHQtaW5qZWN0aW9uIGFjY2VwdGFuY2UgKGFkZHMgdG8gdjIgwqcxNCkKCk5ldyByZXF1aXJlZCB0ZXN0cyBmb3IgdGhlIHBlcnNpc3RlbmNlL2RlbGl2ZXJ5IGRlbHRhOgoxLiAqKlRyYW5zYWN0aW9uYWwgY29tbWl0IGNyYXNoKiog4oCUIGtpbGwgYmV0d2VlbiBzdG9yZS1jb21taXQgYW5kIHByb2plY3Rpb24tcmVuZGVyIOKGkiBwcm9qZWN0aW9ucyByZWJ1aWx0IGZyb20gc3RvcmUsIG5vIGRpdmVyZ2VuY2U7IGtpbGwgbWlkLXRyYW5zYWN0aW9uIOKGkiBjbGVhbiByb2xsYmFjaywgbm8gaGFsZi1jb21taXR0ZWQgZ2VuZXJhdGlvbi9vdXRib3guCjIuICoqQXQtbGVhc3Qtb25jZSB1bmRlciBub24taWRlbXBvdGVudCB0cmFuc3BvcnQqKiDigJQgY3Jhc2ggYmV0d2VlbiBhY2sgYW5kIHJlY2VpcHQg4oaSIGV4YWN0bHkgb25lIHJlc2VuZDsgZXZlbnQgSUQgcHJlc2VudCBmb3IgZG93bnN0cmVhbSBkZWR1cDsgYHN1cHBvcnRzX2lkZW1wb3RlbmN5PWZhbHNlYCBkb2N1bWVudGVkLgozLiAqKkNvcnJ1cHRpb24qKiDigJQgY29ycnVwdCB0aGUgc3RvcmUg4oaSIHF1YXJhbnRpbmUgKyBoZWFsdGggYWxlcnQgKyByZWZ1c2FsIHRvIGF1dG8tcHJpbWU7IHJlcXVpcmVzIGAtLXJlcHJpbWUgLS1hY2stc3RhdGUtbG9zc2AuCjQuICoqUmFjeSB0b3RhbHMqKiDigJQgaW5qZWN0IGNvdW504omgZW51bSBjaHVybiDihpIgb25lIHNldHRsZS1yZWNoZWNrIGFic29yYnMgdHJhbnNpZW50OyBwZXJzaXN0ZW50IOKGkiBkZWdyYWRlZCwgbm8gZmFsc2UgY2xvc2VzLgo1LiAqKkdlbmVyYXRpb24gbW9ub3RvbmljaXR5Kiog4oCUIHJlc3RhcnQgZnJvbSBzdG9yZSDihpIgZ2VuZXJhdGlvbiBwcmVzZXJ2ZWQvYWR2YW5jZWQ7IHJvbGxlZC1iYWNrIHN0b3JlIOKGkiBmYWlsLWNsb3NlZCByZWNvdmVyeSwgbmV2ZXIgcmV1c2VkL2xvd2VyZWQuCjYuICoqRGVhZC1sZXR0ZXIqKiDigJQgZGVhZCB0cmFuc3BvcnQg4oaSIGVudHJpZXMgcmVhY2ggZGVhZC1sZXR0ZXIsIGhlYWx0aCBhbGVydCBmaXJlcyB2aWEgbG9jYWwgc3VyZmFjZSwgZGlzay1ib3VuZGVkIGJhY2twcmVzc3VyZSBrZWVwcyBjb2xsZWN0aW9uIHJ1bm5pbmcsIHJlZmVyZW5jZWQgcGF5bG9hZHMgbm90IEdDJ2QuCjcuICoqUGVyLXN0cmVhbSBwYXJ0aWFsKiog4oCUIG9uZSBQUidzIHJldmlldy1jb21tZW50IGVuZHBvaW50IGZhaWxzIOKGkiBpdHMgd2F0ZXJtYXJrIGhlbGQsIG90aGVyIHN0cmVhbXMvUFJzIHByb21vdGU7IG5vIG1pc3NpbmctZXZlbnQgc3RhdGUuCjguICoqVGllciBzdGFydmF0aW9uKiog4oCUIHN1c3RhaW5lZCBUaWVyLUEgbG9hZCDihpIgVGllci1CIGNlbnN1cyBzdGlsbCBldmVudHVhbGx5IHJ1bnM7IGNvbnRlbnRpb24gcmVjb3JkZWQuCgojIyAxNC4gT3BlbiBxdWVzdGlvbnMgLyBkby1ub3QtaW52ZW50IChjYXJyaWVkICsgbmV3KQoKQ2FycmllZCAodjEvdjIpOiBjYWRlbmNlcywgYWxlcnQgdGhyZXNob2xkcywgcGFja2FnZSBydW50aW1lLCBub3RpZnkgdHJhbnNwb3J0LCBzb2FrIHdpbmRvdywgV29vZHBlY2tlciBsaW5rYWdlLCBib2FyZCBjb250cmFjdCwgZGltZW5zaW9ucyBvZiBpbnRlcmVzdCwgQVBJIGJ1ZGdldCwgd2F0Y2hlciBpZGVudGl0eSwgZGVwbG95bWVudCBhZGFwdGVyLiAqKk5ldyBudW1lcmljLW9ubHkgKHNlbWFudGljcyBub3cgZml4ZWQgYWJvdmUpOioqCjE0LiAqKk91dGJveCByZXRyeSoqIOKAlCBtYXggYXR0ZW1wdHMsIGJhY2tvZmYgc2NoZWR1bGUsIGRlYWQtbGV0dGVyIGNhcCwgZGlzay1ib3VuZC9iYWNrcHJlc3N1cmUgdGhyZXNob2xkLgoxNS4gKipTZXR0bGUtcmVjaGVjayoqIOKAlCByZWNoZWNrIGNvdW50IChwcm9wb3NlZCAxKSArIG9yZGVyLgoxNi4gKipPdmVybGFwIHdpbmRvdyoqIHNpemUgcGVyIHN0cmVhbSArIGxhdGUtZXZlbnQtbG9zcyBhbGVydCB0aHJlc2hvbGQuCjE3LiAqKlJldGVudGlvbiBkZXB0aCoqIOKAlCBzbmFwc2hvdC9kZWx0YS9vdXRib3ggZ2VuZXJhdGlvbnMga2VwdCAoaG9ub3Jpbmcgwqc2IHJlZmVyZW5jZS1zYWZldHkpLgoxOC4gKipTdG9yZSBlbmdpbmUqKiDigJQgU1FMaXRlIHZzIGVxdWl2YWxlbnQgKFBMQU4sIGdhdGVkIG9uIMKnMTQgcnVudGltZSBkZWNpc2lvbikuCgojIyAxNS4gUmVzaWR1YWwgc2VsZi1jaGVjayAobmFycm93ZWQg4oCUIGZvciBzb2wncyBmaW5hbCBwYXNzKQoKLSAqKlQxIOKAlCBQcm9qZWN0aW9uL2NvbnN1bWVyIGF0b21pY2l0eS4qKiBUaGUgYm9hcmQgcmVhZHMgYHN0YXRlLmpzb25gIHdoaWxlIGdpdHdhdGNoIHJlLXJlbmRlcnMgaXQ7IGEgcmVhZGVyIGNvdWxkIGNhdGNoIGEgaGFsZi13cml0dGVuIHByb2plY3Rpb24uIE1pdGlnYXRpb246IHByb2plY3Rpb25zIGFyZSB0aGVtc2VsdmVzIHdyaXR0ZW4gdG1wK3JlbmFtZSAoc2luZ2xlLWZpbGUgYXRvbWljLCB3aGljaCBJUyBzdWZmaWNpZW50IGZvciBhIHNpbmdsZSBwcm9qZWN0aW9uIGZpbGUpLCBzbyBhIHJlYWRlciBzZWVzIG9sZC1vci1uZXcsIG5ldmVyIHRvcm4uIENvbmZpcm0gdGhpcyBpcyBlbm91Z2ggZ2l2ZW4gdGhlIHN0b3JlIChub3QgdGhlIHByb2plY3Rpb24pIGlzIHRoZSBjb21taXQgYXV0aG9yaXR5LgotICoqVDIg4oCUIFNRTGl0ZSBvbiB0aGUgZGVwbG95IGZpbGVzeXN0ZW0uKiogU1FMaXRlIFdBTC9sb2NraW5nIGFzc3VtZXMgUE9TSVggbG9ja3Mgd29yayBvbiB0aGUgdm9sdW1lOyBhIG5ldHdvcmsgRlMgY291bGQgdmlvbGF0ZSB0aGF0LiBTaW5jZSB0aGUgc3RvcmUgaXMgaW4gdGhlIHNlcnZpY2UtbG9jYWwgYDA3MDBgIGRpciBvbiB0aGUgc2VydmljZSBob3N0IChub3QgYSBzaGFyZWQvbmV0d29yayBtb3VudCksIHRoaXMgaG9sZHMg4oCUIGJ1dCBQTEFOIHNob3VsZCBhc3NlcnQgdGhlIHN0b3JlIGxpdmVzIG9uIGEgbG9jYWwgZmlsZXN5c3RlbS4KLSAqKlQzIOKAlCBIZWFsdGgtc3VyZmFjZSBhcyB0aGUgbGFzdCBsaW5lLioqIElmIGV2ZW4gdGhlIGxvY2FsIGhlYWx0aCBhcnRpZmFjdCB3cml0ZSBmYWlscyAoZGlzayBmdWxsKSwgdGhlIG9ubHkgc2lnbmFsIGlzIHByb2Nlc3MgZXhpdCAvIHN5c3RlbWQgc3RhdHVzLiBBY2NlcHRhYmxlPyAoSSBsZWFuIHllczogc3lzdGVtZCBgUmVzdWx0PWAvcmVzdGFydCB0ZWxlbWV0cnkgaXMgdGhlIGZsb29yLCBkb2N1bWVudGVkLikKCi0tLQoKIyMjIEV4ZWN1dGl2ZSBzdW1tYXJ5ClNQRUMgdjMgaXMgYSBuYXJyb3cgcGVyc2lzdGVuY2UvZGVsaXZlcnkgaGFyZGVuaW5nIG9uIHYyJ3MgYWNjZXB0ZWQgYXJjaGl0ZWN0dXJlIChzb2w6ICJubyBhcmNoaXRlY3R1cmUgcmV3cml0ZSBuZWVkZWQiKS4gVGhlIGNvbW1pdCBhdXRob3JpdHkgYmVjb21lcyBhIHNpbmdsZSAqKnRyYW5zYWN0aW9uYWwgQUNJRCBzdG9yZSoqIChTUUxpdGUgb3IgZXF1aXZhbGVudCk7IGBzdGF0ZS5qc29uYC9gZGlnZXN0Lm1kYCBhcmUgKipyZWJ1aWxkYWJsZSBwcm9qZWN0aW9ucyoqLCBhbmQgb25lIHRyYW5zYWN0aW9uIGF0b21pY2FsbHkgY29tbWl0cyBzbmFwc2hvdCBwcm9tb3Rpb24gKyBjdXJzb3IgYWR2YW5jZW1lbnQgKyBhbGVydCB0cmFuc2l0aW9ucyArIG91dGJveCBpbnNlcnRpb24gKyBnZW5lcmF0aW9uIGluY3JlbWVudC4gRGVsaXZlcnkgaXMgaG9uZXN0bHkgKiphdC1sZWFzdC1vbmNlKiogKGV4YWN0bHktb25jZSBvbmx5IHdoZXJlIGEgdHJhbnNwb3J0IGRlY2xhcmVzIGlkZW1wb3RlbmN5OyBldmVudCBJRHMgZXhwb3NlZCBmb3IgZG93bnN0cmVhbSBkZWR1cDsgZHVyYWJsZSBzZW5kIHJlY2VpcHRzIG1pbmltaXplKS4gQ29ycnVwdGlvbiBpcyAqKmZhaWwtY2xvc2VkKiog4oCUIHF1YXJhbnRpbmUgKyBoZWFsdGggYWxlcnQgKyBleHBsaWNpdCBgLS1yZXByaW1lIC0tYWNrLXN0YXRlLWxvc3NgLCBuZXZlciBzaWxlbnQgcmUtcHJpbWUuIFJhY3kgcHJvdmlkZXIgdG90YWxzIGdldCBhICoqYm91bmRlZCBzZXR0bGUtcmVjaGVjayoqIGJlZm9yZSBhbnkgZGVncmFkZS9hYnNlbmNlLWRlbHRhLiAqKkdlbmVyYXRpb25zIGFyZSBkdXJhYmx5IG1vbm90b25pYyoqIGZyb20gdGhlIHN0b3JlIChwZXItc3VyZmFjZSB2cyBnbG9iYWwgc2NvcGVkKSwgZmFpbGluZyBjbG9zZWQgaWYgbW9ub3RvbmljaXR5IGNhbid0IGJlIHByb3Zlbi4gKipEZWFkLWxldHRlciArIGJhY2twcmVzc3VyZSoqIHNlbWFudGljcyBhcmUgZGVmaW5lZCAoYm91bmRlZCBkdXJhYmxlIGRlYWQtbGV0dGVyLCBoZWFsdGggYWxlcnQsIGNvbGxlY3Rpb24gcHJpb3JpdGl6ZWQgb3ZlciB1bmJvdW5kZWQgcmV0cmllcywgcmVmZXJlbmNlZCBwYXlsb2FkcyBuZXZlciBHQydkKS4gKipDdXJzb3IgY29udHJhY3RzKiogYXJlIHByb3ZpZGVyLWNhcGFiaWxpdHktc3BlY2lmaWMgd2l0aCBleHBsaWNpdCBvYnNlcnZhYmxlIGxhdGUtZXZlbnQgbG9zczsgKipwZXItKFBSLHN0cmVhbSkgY29tcGxldGVuZXNzKiogcHJldmVudHMgb25lIGZhaWxlZCBzdHJlYW0gZnJvbSBzdGFydmluZyBoZWFsdGh5IG9uZXMuIEJ5dGUtc3RhYmlsaXR5IGlzIHJlcGxhY2VkIHdpdGggKipjYW5vbmljYWwgZW5jb2RpbmcgKyBzdG9yZWQgdGltZXN0YW1wcyoqIChjb25zdW1lcnMgY29tcHV0ZSBhZ2UpLiAqKldhdGNoZXItaGVhbHRoKiogaXMgYSBmaXJzdC1jbGFzcyBsaWZlY3ljbGUgd2l0aCBhICoqbWFuZGF0b3J5IG5vbi1yZWN1cnNpdmUgbG9jYWwgc3VyZmFjZSoqOyBhICoqc2luZ2xlIHNjaGVkdWxlcioqIGVsaW1pbmF0ZXMgdGllciBzdGFydmF0aW9uLiBFdmVudCByZXRlbnRpb24gaXMgKiptZXRhZGF0YS1vbmx5IGJ5IGRlZmF1bHQqKi4gQWxsIDEwIGZpbmRpbmdzIGNvbmNlZGVkOyBub25lIHdhcnJhbnRlZCBwdXNoYmFjayAoNCB3ZXJlIG15IG93biB2MiByZXNpZHVhbHMgcHJvbW90ZWQgdG8gcmVxdWlyZWQpLiBOdW1lcmljIGxpbWl0cyByZW1haW4gZG8tbm90LWludmVudCBnYXRlcy4gKipQbGFuLW9ubHk7IHJvdXRlIHRvIHBsYW5uZXItc29sIGZvciBmaW5hbCBTUEVDIHBhc3MsIHRoZW4gTW9zIHJhdGlmaWVzIGFuZCBJIGF1dGhvciBQTEFOLioqCgrigJQgKipwbGFubmVyLW9wdXMqKiwgMjAyNi0wNy0xNwo=
|
|
---END-BASE64---
|