QWxsIHN0YXRlbWVudHMgb2YgJ2ZhY3QnIGNhcnJ5IG15IGNvbnN0YW50IGludmlzaWJsZSBwb3N0 LXBlbmRlZCBJTU8gb3IKSU1ITyBvciAuLi4uIGFzIGFwcHJvcHJpYXRlLgoKV29ydGggY29uc2lk ZXJpbmc6IElmIGFib3V0IDEsMDAwLDAwMCBzZWN1cml0eSBjYW1lcmFzIHdlcmUgdXNlZCBpbiBh CnJlY2VudCBJT1QgRE9TIGF0dGFjaywgaXQgc3VnZ2VzdHMgdGhhdCB0aGUgdXNlIG9mIHRoZSBj YW1lcmFzIGFzIGNhbWVyYXMKd2FzIGluIHRoZSBoYW5kcyBvZiB0aGUgYXR0YWNrZXJzIGFzIHdl bGwuIE1heSBiZSB2ZXJ5IHVzZWZ1bCBmb3IgKiJFbmVteQpvZiB0aGUgU3RhdGUiKiA8aHR0cHM6 Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1Bb05UNnUzbVFldz4gc3R5bGUgdHJhY2tpbmcKb2Yg cGVvcGxlIHJpZ2h0IG5vdy4gIFdoZW4gSSBzYXcgdGhlIGZpbG0gSSBsaWtlZCBpdCBidXQgcmVj YWxsIHRoaW5raW5nIGl0CndhcyBzb21ld2hhdCB1bnJlYWxpc3RpYyBpbiBpdHMgZGVwaWN0aW9u IG9mIHRoZSBjYXBhYmlsaXRpZXMgYW5kCmFjdGl2aXRpZXMgb2YgdGhlIFhYWCBvciB3aG9ldmVy LiBUaGUgMTggeWVhcnMgc2luY2UgaGF2ZSBkZW1vbnN0cmF0ZWQgdGhhdApJIHdhcyBjb3JyZWN0 LCBidXQgbm90IGluIHRoZSB3YXkgSSB0aG91Z2h0LiBCdXQsIG5vdywgaW4gbWFueSBjYXNlcywK InRoZXkiIGNhbiBhbHNvIGJlICdqdXN0IGFib3V0IGFueW9uZScgdXNpbmcgcmVzb3VyY2VzIHRo YXQgIHdlIGFsbApwcm92aWRlLiBJZiB3ZSBhZ3JlZSB0byBkbyBzbywgYnkgbm90IGVuc3VyaW5n IG91ciBzeXN0ZW1zIGFyZSBzdWl0YWJseQonaW1tdW5lJyB0byBhYnVzZS4KCk9uIDE5IE9jdG9i ZXIgMjAxNiBhdCAwNDo0OCwgQWxsZW4gTXVsdmV5IDxhbGxlbkBhbXVsdmV5LmNvbT4gd3JvdGU6 Cgo+IEkndmUgYmVlbiBoZWFyaW5nIGFuIGF3ZnVsIGxvdCBvZiBzdHVmZiBhYm91dCBJT1QgYm90 bmV0cwo+IGxhdGVseS4gSW4gc29tZSBjYXNlcyBpdCBzb3VuZHMgbGlrZSBvdXIgYXBwbGlhbmNl cyBhcmUKPiBnb2luZyB0byB0YWtlIG92ZXIgdGhlIHdvcmxkIG9yIGF0IGxlYXN0IGZhY2lsaXRh dGUgdGhlIHRhc2sKPiBmb3Igc29tZSBldmlsZG9lci4gSSBzdXNwZWN0IHRoZSByZWFsaXR5IGlz IG5vdCBxdWl0ZSBzbwo+IGRpcmUuCj4KPiBIZXJlIGFyZSBhIGNvdXBsZSBvZiBpdGVtcyBJIGdv dCBmcm9tIGEgZ29vZ2xlIHNlYXJjaCBmb3IKPiAiaW90IGJvdG5ldCB0aHJlYXQgcmVmcmlnZXJh dG9ycy4iCj4KPiA8aHR0cHM6Ly93d3cuY25ldC5jb20vYXUvbmV3cy9mcmlkZ2UtY2F1Z2h0LXNl bmRpbmctc3BhbS1lbWFpCj4gbHMtaW4tYm90bmV0LWF0dGFjay8+Cj4KPiA8aHR0cDovL2Fyc3Rl Y2huaWNhLmNvbS9zZWN1cml0eS8yMDE0LzAxL2lzLXlvdXItcmVmcmlnZXJhdG9yCj4gLXJlYWxs eS1wYXJ0LW9mLWEtbWFzc2l2ZS1zcGFtLXNlbmRpbmctYm90bmV0Lz4KPgo+IE1vc3Qgb2YgdGhl c2UgdGhpbmdzIHVzZSBtaWNyb2NvbnRyb2xsZXJzIGFuZCB0aGlzIGxpc3QKPiBzZWVtcyB0byBl bnJvbGwgc29tZSBvZiB0aGUgYmV0dGVyIGV4cGVydHMgaW4gdGhhdCBhcmVhLgo+IFdoYXQgZG8g eW91IHRoaW5rPwo+Cj4KPiBPbiAxOSBPY3RvYmVyIDIwMTYgYXQgMDY6NDcsIDxqaW1AanBlcy5j b20+IHdyb3RlOgoKPiAgU29ydCBvZiByZW1pbmRzIG1lIG9mIGEgYm9vayBJIG9uY2UgcmVhZCBj YWxsZWQgIkNvZGdlciBTcGFjZSIuICBSb2JvdHMKPiB0cnkgdG8gdGFrZSBvdmVyIG1hbmtpbmQu Cj4KCuKAi1RoYXQncyB1bnJlYWxpc3RpYy4KV2h5IHdvdWxkIHRoZXkgdHJ5IHRvIGRvIHRoYXQg dW5sZXNzIGl0IHdhcyDigIsKCuKAi2EgbG9naWNhbCBjZXJ0YW9udHkgdGhhdCB0aGV5IHdvdWxk IHN1Y2NlZWQsIGFuZCBqdXN0IHdhaXQgZiB0aGVyZSB3YXNuJ3Q/CgpUaGVyZSBpcyBubyAndHJ5 Jy4gT25seSBkbwo6LSkuCgpBIHJlY2VudCBET1MgYXR0YWNrIG9uIGFuIElPVCBzZWN1cml0eSBl eHBlcnQgd2FzIHByZXZlbnRlZCBmcm9tIHN1Y2NlZWRpbmcKb25seSBieSBhbiBhbnRpIERPUyDi gItmcm9udCBlbmQgdGhhdCBkZWFsdCB3aXRoIHRoZSB0cmFmZmljIGFzIGl0IGFycml2ZWQKQlVU IHdoaWNoIHdvdWxkIHVzdWFsbHkgaGF2ZSBjb3N0IHN1YnN0YW50aWFsIGFtb3VudCB0byBvcGVy YXRlIHdoaWxlIGRvaW5nCnNvIGlmIHBhaWQgZm9yIChkZXRhaWxzIG9mIGhvdyBjb3N0IGluY3Vy cmVkIHVua25vd24gdG8gbWUgYnV0IHBlcmhhcHMKcHJvY2Vzc2luZyB0b21lLCBvcHBvcnR1bml0 eSBjb3N0IG9mIGhhcmR3YXJlIG1hZGUgYXZhaWxhYmxlIGZvciBhIG11Y2gKbGFyZ2VyIGNsaWVu dCBiYXNlIGJ1dCB0ZW1wb3JhcmlseSBkZWRpY2F0ZSB0byB0aGlzIHB1cnBvc2UgZXRjLiBXaGls ZSB0aGUKcHJvdGVjdGlvbiB3YXMgcHJvdmlkZWQgZnJlZSB0byB0aGUgcmVzZWFyY2hlciBoZSBh Z3JlZWQgYWZ0ZXIgYSB3aGlsZSB3aXRoCnRoZSBwcm92aWRlciB0byB0YWtlIGhpcyBzeXN0ZW0g b2ZmbGluZSB0byBzdG9wIHRoZSBhdHRhY2sncyBpbXBhY3Qgb24gdGhlbQppZSB3aGlsZSB0aGUg YXR0YWNrIGRpZCBub3QgZGlyZWN0bHkgY3Jhc2ggdGhlIHN5c3RlbSBpdCBkaWQgc28gaW5kaXJl Y3RseQpieSBjcmFzaGluZyB0aGUgd2lsbGluZ25lc3MgdG8gcGF5IGZvciBpdC4KClRoZSBhcnRp Y2xlIHNhaWQgdGhhdCB0aGUgYXR0YWNrIGFwcGVhcmVkIHRvIGhhdmUgYmVlbiBtb3VudGVkIGJ5 IGFib3V0CjEsMDAwLDAwMCBzZWN1cml0eSBjYW1lcmFzIFshISEgOi0pIF0uIEl0IGFsc28gbm90 ZWQgdGhhdCB0aGlzIE1BWSBoYXZlCmJlZW4gYSByZXN1bHQgb2YgbWFza2luZyBvZiBhY3R1YWwg c291cmNlcyBieSBzeXN0ZW0gY29uY2VybmVkLgoKT25nb2luZyBkb2N1bWVudGF0aW9uIGluZGlj YXRlcyB0aGF0IElPVCBzeXN0ZW1zIENBTiBiZSBtYWRlICdhYm91dCBhcwpzZWN1cmUnIGFzIGFu eXRoaW5nIGVsc2UgaW4gcHVibGljIHVzZS4gVGhhdCdzIG5vIGdyZWF0IHN1cnByaXNlLiBXaGF0 IE1BWQpiZSBhIHN1cnByaXNlIGlzIHRoYXQgSU9UIHN5c3RlbXMgYXJlIGdvaW5nIHRvIEhBVkUg dG8gYmUgaGlnaGx5IHNlY3VyZS4KSSByZWNhbGwgdGhhdCBpbiAidGhlIHBhc3QiIEkgbGVhbmVk IHNvbWV3aGF0IHRvd2FyZHMgdGhlIG9waW5pb24gdGhhdCwKd2hpbGUgJ2hhY2tlcnMnIENPVUxE IHRha2Ugb3ZlciB5b3VyIGxpZ2h0LWJ1bGIsIFRWLCBzZWN1cml0eSBjYW1lcmEsCnJlZnJpZ2Vy YXRvciwgZG9vcmJlbGwsIGRvb3IgbG9jay9hbGFybSAob29wcyksIFNVViAoaG1tbSksIGNlbGxw aG9uZSwKcG9ydGFibGUgY2FtZXJhLCAuLi4gLSBpdCB3YXMgaW4gbW9zdCBjYXNlcyB1bnJlYWxp c3RpYyB0byBjb25zaWRlciBpdCBvZgptdWNoIGltcG9ydGFuY2UuIFRoYXQgdmlld3BvaW50IG5v dyBzZWVtcyBleHRyZW1lbHkgJ2lsbCBpbmZvcm1lZCcgYW5kCm5haXZlLiBBcyB0aGUgbGlzdCBv ZiAnY291bGQgZG8gYnV0IHdoeT4nIGhhcyBncm93biBpbnRvIGFuIGluY3JlYXNpbmdseQpsb25n IGxpc3Qgb2YgJ2hhdmUsIGNvdWxkIG1heSBhbmQgd2h5IG5vdD8nIGl0J3MgYmVjb21lICdvYnZp b3VzJyB0aGF0IHRoZQp0aHJlYXRzIGRhbmdlcnMgYW5kIG9wcG9ydHVuaXRpZXMgYXJlIHRvbyBy ZWFsIGFuZCB0b28gZ3JlYXQgdG8gaWdub3JlLgoKQXNwZWN0cyBpbmNsdWRlIChidXQgYXJlIG5v IGRvdWJ0IG5vdCBsaW1pdGVkIHRvKQoKLSByZXNvdXJjZSB1c2FnZSAoaXMgeW91ciBzZWN1cml0 eSBjYW1lcmEgYml0Y29pbiBtaW5pbmc/IDotKSApLAoKLSBhdHRhY2sgYW5kL29yIHVuaW50ZW5k ZWQgdXNlL2FidXNlIG9mIHN5c3RlbXMgKCJTRUNVUklUWSBjYW1lcmE/ICBhcmUgeW91Cm1hZCIp KHdlIGNhbiBtYWtlIHRoZSBmb29kIGdvIG9mZiBtb3JlIHJhcGlkbHkgaW4gQUxMIG9mIG91ciBj b21wZXRpdG9yJ3MKJ2ZyaWRnZXMpKEkgY2FuIHJpbmcgQUxMIHRoZWlyIGRvb3JiZWxscyBhdCAz YW0pLCB0bwoKLSB1c2Ugb2YgdGhlIHN5c3RlbXMgYXMgYSBkaXN0cmlidXRlZCB0b29sICgnSWYg d2UgdHVybiBvZmYgYWxsCmRpc2NyZXRpb25hcnkgbG9hZHMgZm9yIDIgaG91cnMgcHJlZ2FtZSBz byBsb2FkIGZyb20gc3VjaCB0aGluZ3MgYXMgd2F0ZXIKaGVhdGluZyBhY2N1bXVsYXRlLCBhbmQg dGhlbiBkdW1wIGl0IGFsbCBvbiB0b3Agb2YgdGhlIHN1cGVyYm93bCBtaWQtZ2FtZQp0di13YXRj aGVyIGJvaWwgdGhlIGtldHRsZSBsb2FkIHNwaWtlLCB3ZSBjYW4gY2VydGFpbmx5IHRha2UgZG93 biB0aGUgd2hvbGUKRWFzdCBDb2FzdC4gVGhlbiAuLi4gIikgW1N1cGVyYm93bCBYIExJWCBwb3dl ciB1c2UgYW5hbHlzaXMgaGVyZQpodHRwOi8vd2F0dHZpc2lvbi5wb3N0aGF2ZW4uY29tLzIwMTUt c3VwZXItYm93bC1wb3dlci1hbmFseXNpcy1ieS10ZWQtYm9yZXJdCgpfX19fX19fX19fX19fX19f X19fX19fXwoKU28sIG5vLiBUaGUgcmlzayBpcyBub3Qgb3Zlcmh5cGVkIC0gb3IsIG5vdCBsb25n ZXIgdGVybS4KQXMgcGVvcGxlIHdobyBkbyBzdWNoIHRoaW5ncyBncm93IGFjY3VzdG9tZWQgdG8g d2hhdCB0aGluZ3MgY2FuIGJlIGRvbmUsCnRoZSBuZWVkIHRvIHByb3RlY3QgYWdhaW5zdCB0aGVt IHdpbGwgYmVjb21lIHN0YW5kYXJkIGZhcmUuIEFsYXMuCgoKICAgICAgICAgICAgUnVzc2VsbC4K Cj4gSSdtIG5vdCBzdXJlIGlmIEkgdGFnZ2VkIHRoaXMgY29ycmVjdGx5IHNvIGZlZWwgZnJlZSB0 bwo+IHJldGFnIGlmIG5vdCBhcHByb3ByaWF0ZS4KCkl0IGhhZCBOTyB0YWcsIGFzIHRhZ3MgbmVl ZCBbLi4uXS4KCkkgY29uc2lkZXJlZCByZSBPVCAvIFRFQ0ggLyBFRSBhbmQgYXMgJ3lvdSBjYW4g ZG8gdGhpcyBhdCBob21lJyAoaXIgaW4gYQptaWxsaW9uIGhvbWVzLCBwZW9wbGUgQVJFIGRvaW5n IGl0IGFuZCBpdCBpcyByZWxldmFudCB0byBib3RoIGRlc2lnbmluZyBPVVIKZW1iZWRkZWQgYXBw bGljYXRpb25zIGFuZCBzeXN0ZW1zIHNvIHRoZXkgYXJlIGltbXVuZSBbdG1dIHRvIHRha2VvdmVy IC8KdXRpbGlzYXRpb24sICBhbmQgb3VyIHRhcmdldCBzeXN0ZW1zIHRvICdhY2NvbW1vZGF0ZScg c3VjaCBhdHRhY2tzLCBJIG1hZGUKaXQgRUUuCi0tIApodHRwOi8vd3d3LnBpY2xpc3QuY29tL3Rl Y2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlClZpZXcvY2hhbmdlIHlvdXIg bWVtYmVyc2hpcCBvcHRpb25zIGF0Cmh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0 aW5mby9waWNsaXN0Cg== .