diff --git a/README.md b/README.md index 917ac10..2a4ceb7 100644 --- a/README.md +++ b/README.md @@ -1 +1 @@ -IyBPcGVuIFBhd3MgRG9jdW1lbnRhdGlvbgoKWyFbTGljZW5zZTogTUlUXShodHRwczovL2ltZy5zaGllbGRzLmlvL2JhZGdlL0xpY2Vuc2UtTUlULWdyZWVuLnN2ZyldKExJQ0VOU0UpClshW0xhc3QgQ29tbWl0XShodHRwczovL2ltZy5zaGllbGRzLmlvL2dpdGh1Yi9sYXN0LWNvbW1pdC9PcGVuLVBhd3MvZG9jdW1lbnRhdGlvbildKGh0dHBzOi8vZ2l0aHViLmNvbS9PcGVuLVBhd3MvZG9jdW1lbnRhdGlvbi9jb21taXRzL21haW4pClshW0h1Z2dpbmdGYWNlXShodHRwczovL2ltZy5zaGllbGRzLmlvL2JhZGdlL0h1Z2dpbmdGYWNlLW9wZW4tLXBhd3MteWVsbG93KV0oaHR0cHM6Ly9odWdnaW5nZmFjZS5jby9vcGVuLXBhd3MpCgotLS0KClRoaXMgcmVwbyBpcyB0aGUgZGV2ZWxvcGVyIGRvY3VtZW50YXRpb24gaHViIGZvciBPcGVuIFBhd3MgQUkgaW5mcmFzdHJ1Y3R1cmUg4oCUIGEgcHVycG9zZS1idWlsdCBzdGFjayBmb3IgYW5pbWFsIGFkdm9jYWN5IG9yZ2FuaXphdGlvbnMsIHJlc2VhcmNoZXJzLCBhbmQgZW5naW5lZXJzLiBJdCBjb3ZlcnMgdGhlIGZ1bGwgQUkgc3RhY2s6IGEgV2VhdmlhdGUgdmVjdG9yIGtub3dsZWRnZSBiYXNlLCBIdWdnaW5nRmFjZSB0ZXh0IHJlZ3Jlc3Npb24gcHJlZGljdGlvbiBtb2RlbHMsIDhCIGxhbmd1YWdlIG1vZGVscywgbjhuIHdvcmtmbG93IGF1dG9tYXRpb25zLCBhbmQgYSBjbGVhbi1yb29tIGFnZW50IGFyY2hpdGVjdHVyZSByZWZlcmVuY2UuIElmIHlvdSBhcmUgYnVpbGRpbmcgYWR2b2NhY3kgdG9vbHMsIGNhbXBhaWduIGF1dG9tYXRpb25zLCBvciBmaW5lLXR1bmVkIG1vZGVscyB1c2luZyBPcGVuIFBhd3MgcmVzb3VyY2VzLCBzdGFydCBoZXJlLgoKPiBbIU5PVEVdCj4gVGhpcyBwcm9qZWN0IGlzIHBhcnQgb2YgdGhlIFtPcGVuIFBhd3NdKGh0dHBzOi8vb3BlbnBhd3MuYWkpIGVjb3N5c3RlbSDigJQgQUkgaW5mcmFzdHJ1Y3R1cmUgZm9yIHRoZSBhbmltYWwgbGliZXJhdGlvbiBtb3ZlbWVudC4gW0V4cGxvcmUgdGhlIGZ1bGwgcGxhdGZvcm0g4oaSXShodHRwczovL2dpdGh1Yi5jb20vT3Blbi1QYXdzKQoKQW5pbWFsIGFkdm9jYWN5IG9yZ2FuaXphdGlvbnMgYXJlIHVuZGVyLXJlc291cmNlZCByZWxhdGl2ZSB0byB0aGUgaW5kdXN0cmllcyB0aGV5IGNoYWxsZW5nZS4gVGhpcyBkb2N1bWVudGF0aW9uIGV4aXN0cyB0byBsb3dlciB0aGUgYmFycmllciBmb3IgZGV2ZWxvcGVycyBhbmQgdGVjaG5pY2FsbHkgY2FwYWJsZSBhZHZvY2F0ZXMgdG8gYnVpbGQgQUkgdG9vbHMgdGhhdCBhY3R1YWxseSBtb3ZlIHRoZSBuZWVkbGUg4oCUIG5vdCBhZGFwdGVkIGZyb20gZ2VuZXJpYyB1c2UgY2FzZXMsIGJ1dCBkZXNpZ25lZCBmcm9tIHRoZSBncm91bmQgdXAgZm9yIGludmVzdGlnYXRpdmUgcmVzZWFyY2gsIGNhbXBhaWduIGV2YWx1YXRpb24sIGFuZCBtb3ZlbWVudCBjb29yZGluYXRpb24uCgotLS0KCiMjIEFyY2hpdGVjdHVyZQoKYGBgbWVybWFpZApncmFwaCBURAogICAgQVtZb3VyIEFwcGxpY2F0aW9uXSAtLT4gQltLbm93bGVkZ2VcbldlYXZpYXRlIFZlY3RvciBEQl0KICAgIEEgLS0+IENbUHJlZGljdGlvbnNcbkh1Z2dpbmdGYWNlIFJlZ3Jlc3Npb24gTW9kZWxzXQogICAgQSAtLT4gRFtHZW5lcmF0aW9uXG44QiBMYW5ndWFnZSBNb2RlbHNdCiAgICBBIC0tPiBFW0F1dG9tYXRpb25cbm44biBXb3JrZmxvdyBUZW1wbGF0ZXNdCiAgICBBIC0tPiBGW0luZnJhc3RydWN0dXJlXG5DbGVhbi1Sb29tIEFnZW50IFJ1bnRpbWVdCgogICAgQiAtLT4gR1soQWR2b2NhY3kgQ29udGVudFxuQXJ0aWNsZXMgwrcgUmVwb3J0cyDCtyBDYW1wYWlnbnMpXQogICAgQyAtLT4gSFsoSHVnZ2luZ0ZhY2Vcbm9wZW4tcGF3cyBjb2xsZWN0aW9uKV0KICAgIEQgLS0+IEgKICAgIEUgLS0+IElbKG44biBDcmVhdG9yIEh1YlxuV29ya2Zsb3cgVGVtcGxhdGVzKV0KYGBgCgpFYWNoIHNlY3Rpb24gaXMgc2VsZi1jb250YWluZWQ6IGNvbm5lY3Rpb24gZGV0YWlscywgd29ya2luZyBjb2RlIHNhbXBsZXMsIGFuZCBrbm93biBsaW1pdGF0aW9ucyBsaXZlIHRvZ2V0aGVyIGluIG9uZSBwbGFjZS4KCi0tLQoKIyMgUXVpY2tzdGFydAoKVGhpcyByZXBvIGNvbnRhaW5zIG5vIGFwcGxpY2F0aW9uIGNvZGUg4oCUIHRoZXJlIGlzIG5vdGhpbmcgdG8gYnVpbGQgb3IgZGVwbG95LiBCcm93c2UgdGhlIHNlY3Rpb24gdGhhdCBtYXRjaGVzIHlvdXIgdXNlIGNhc2U6CgpgYGBiYXNoCiMgQ2xvbmUgdG8gYnJvd3NlIGxvY2FsbHkKZ2l0IGNsb25lIGh0dHBzOi8vZ2l0aHViLmNvbS9PcGVuLVBhd3MvZG9jdW1lbnRhdGlvbi5naXQKY2QgZG9jdW1lbnRhdGlvbgoKIyBDb25uZWN0IHRvIHRoZSBXZWF2aWF0ZSBrbm93bGVkZ2UgYmFzZSAocmVxdWlyZXMgeW91ciBvd24gT3BlbkFJIEFQSSBrZXkpCiMgU2VlIEtub3dsZWRnZS9SRUFETUUubWQgZm9yIGZ1bGwgY29ubmVjdGlvbiBkZXRhaWxzCmV4cG9ydCBXRUFWSUFURV9VUkw9Imh0dHBzOi8vbGFybmQ5cmxlMXp3YXBzZGNxdy5jMC51cy1lYXN0MS5nY3Aud2VhdmlhdGUuY2xvdWQiCmV4cG9ydCBXRUFWSUFURV9BUElfS0VZPSI8cmVhZC1vbmx5IGtleSBpbiBLbm93bGVkZ2UvUkVBRE1FLm1kPiIKZXhwb3J0IE9QRU5BSV9BUElLRVk9Ijx5b3VyIGtleT4iCgojIFJ1biBhIHByZWRpY3Rpb24gbW9kZWwgKHJlcXVpcmVzIHRyYW5zZm9ybWVycykKcGlwIGluc3RhbGwgdHJhbnNmb3JtZXJzIHRvcmNoCnB5dGhvbiAtYyAiCmZyb20gdHJhbnNmb3JtZXJzIGltcG9ydCBwaXBlbGluZQpwID0gcGlwZWxpbmUoJ3RleHQtY2xhc3NpZmljYXRpb24nLCBtb2RlbD0nb3Blbi1wYXdzL3BlcmNlaXZlZF90cnVzdHdvcnRoaW5lc3NfcHJlZGljdGlvbicsIHJldHVybl9hbGxfc2NvcmVzPVRydWUpCnByaW50KHAoJ0FuaW1hbHMgZGVzZXJ2ZSB0byBsaXZlIGZyZWUgZnJvbSBleHBsb2l0YXRpb24uJykpCiIKYGBgCgpTZWUgW0tub3dsZWRnZS9SRUFETUUubWRdKEtub3dsZWRnZS9SRUFETUUubWQpLCBbUHJlZGljdGlvbnMvUkVBRE1FLm1kXShQcmVkaWN0aW9ucy9SRUFETUUubWQpLCBhbmQgW0dlbmVyYXRpb24vUkVBRE1FLm1kXShHZW5lcmF0aW9uL1JFQURNRS5tZCkgZm9yIGNvbXBsZXRlIHdvcmtpbmcgZXhhbXBsZXMuCgotLS0KCiMjIEZlYXR1cmVzCgotICoqV2VhdmlhdGUgdmVjdG9yIGtub3dsZWRnZSBiYXNlKiog4oCUIHJlYWQtb25seSBwdWJsaWMgYWNjZXNzIHRvIGEgdmVjdG9yLWdyYXBoIGRhdGFiYXNlIG9mIGFkdm9jYWN5IGNvbnRlbnQgKGFydGljbGVzLCByZXBvcnRzLCBjYW1wYWlnbiBtYXRlcmlhbHMsIGludmVzdGlnYXRpb24gZmluZGluZ3MpIHdpdGggcGVyLWRvY3VtZW50IHNjb3JpbmcgYWNyb3NzIHRydXN0d29ydGhpbmVzcywgaW5zaWdodCwgcmVsZXZhbmNlLCBwcmVkaWN0ZWQgcGVyZm9ybWFuY2UsIGFuZCBtb3JlCi0gKipWZWN0b3IsIGh5YnJpZCwgYW5kIGZpbHRlcmVkIHNlYXJjaCoqIOKAlCBxdWVyeSB0aGUga25vd2xlZGdlIGJhc2Ugd2l0aCBzZW1hbnRpYyBzaW1pbGFyaXR5LCBrZXl3b3JkIHdlaWdodGluZywgYW5kIHNjb3JlLWJhc2VkIGZpbHRlcnM7IGZ1bGwgUkFHIHN1cHBvcnQgdmlhIFdlYXZpYXRlJ3MgZ3JvdXBlZC10YXNrIGdlbmVyYXRpb24KLSAqKlRleHQgcmVncmVzc2lvbiBwcmVkaWN0aW9uIG1vZGVscyoqIOKAlCBIdWdnaW5nRmFjZSBwaXBlbGluZS1jb21wYXRpYmxlIG1vZGVscyBzY29yaW5nIGFkdm9jYWN5IG1lc3NhZ2VzIG9uIHBlcmZvcm1hbmNlIG1ldHJpY3MgKHNvY2lhbCBtZWRpYSBhbmFseXRpY3MsIHNlbnRpbWVudCkgYW5kIGh1bWFuLXByZWZlcmVuY2UgZGltZW5zaW9ucyAoY3VsdHVyYWwgc2Vuc2l0aXZpdHksIGVtb3Rpb25hbCBpbXBhY3QsIHBlcnN1YXNpdmVuZXNzKQotICoqOEIgYWR2b2NhY3kgbGFuZ3VhZ2UgbW9kZWxzKiog4oCUIExsYW1hIDMuMeKAk2Jhc2VkIG1vZGVscyBjb250aW51YWxseSBwcmUtdHJhaW5lZCBhbmQgaW5zdHJ1Y3Rpb24tdHVuZWQgb24gYW5pbWFsIGFkdm9jYWN5IGNvbnRlbnQ7IG9wdGltaXplZCBmb3IgbG9jYWwgYW5kIGxvdy1tZW1vcnkgZGVwbG95bWVudAotICoqbjhuIHdvcmtmbG93IHRlbXBsYXRlcyoqIOKAlCByZWFkeS10by1pbXBvcnQgYXV0b21hdGlvbiB0ZW1wbGF0ZXMgZm9yIGNvbW1vbiBhZHZvY2FjeSB3b3JrZmxvd3MsIGhvc3RlZCBvbiB0aGUgbjhuIENyZWF0b3IgSHViOyBob3N0aW5nIG9wdGlvbnMgZm9yIHRlYW1zLCBzb2xvIGFkdm9jYXRlcywgYW5kIGhpZ2gtc2VjdXJpdHkgdXNlcnMKLSAqKkNsZWFuLXJvb20gYWdlbnQgYXJjaGl0ZWN0dXJlIHJlZmVyZW5jZSoqIOKAlCBjYW5vbmljYWwgcGF0dGVybnMgZm9yIHNoYXJlZCB0b29sIHJlZ2lzdHJpZXMsIG9yY2hlc3RyYXRpb24sIG9wZXJhdG9yIGNvbnRyb2xzLCBhbmQgc2FmZXR5IGJvdW5kYXJpZXMgYWNyb3NzIE9wZW4gUGF3cyBwcm9qZWN0cwotICoqVHJhaW5pbmcgZGF0YXNldHMqKiDigJQgc2l4IEh1Z2dpbmdGYWNlIGRhdGFzZXRzIGNvdmVyaW5nIHN1cGVydmlzZWQgZmluZS10dW5pbmcsIGNvbnRpbnVhbCBwcmUtdHJhaW5pbmcsIHZpc3VhbCBRQSwgYWxpZ25tZW50IGZlZWRiYWNrLCByZWFzb25pbmcsIGFuZCB0b29sLXVzZSBkZW1vbnN0cmF0aW9ucwoKLS0tCgojIyBEb2N1bWVudGF0aW9uCgp8IFNlY3Rpb24gfCBXaGF0IGl0IGNvdmVycyB8CnwtLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tfAp8IFtLbm93bGVkZ2UvUkVBRE1FLm1kXShLbm93bGVkZ2UvUkVBRE1FLm1kKSB8IFdlYXZpYXRlIGNvbm5lY3Rpb24sIHNlYXJjaCBwYXR0ZXJucywgUkFHLCBzY2hlbWEsIGJlc3QgcHJhY3RpY2VzIHwKfCBbUHJlZGljdGlvbnMvUkVBRE1FLm1kXShQcmVkaWN0aW9ucy9SRUFETUUubWQpIHwgUHJlZGljdGlvbiBtb2RlbCB1c2FnZSwgYmF0Y2ggcHJvY2Vzc2luZywgc2NvcmUgY2xpcHBpbmcgfAp8IFtHZW5lcmF0aW9uL1JFQURNRS5tZF0oR2VuZXJhdGlvbi9SRUFETUUubWQpIHwgTGFuZ3VhZ2UgbW9kZWwgbG9hZGluZywgZ2VuZXJhdGlvbiBwYXJhbWV0ZXJzLCBrbm93biBsaW1pdGF0aW9ucyB8CnwgW0F1dG9tYXRpb24vUkVBRE1FLm1kXShBdXRvbWF0aW9uL1JFQURNRS5tZCkgfCBuOG4gaG9zdGluZyBvcHRpb25zLCB3b3JrZmxvdyBpbXBvcnQgZ3VpZGUgfAp8IFtJbmZyYXN0cnVjdHVyZS9SRUFETUUubWRdKEluZnJhc3RydWN0dXJlL1JFQURNRS5tZCkgfCBBZ2VudCBydW50aW1lIHBhdHRlcm5zLCB0b29sIHJlZ2lzdHJ5LCBzYWZldHkgYm91bmRhcmllcyB8CnwgW0NPTlRSSUJVVElORy5tZF0oQ09OVFJJQlVUSU5HLm1kKSB8IFBSIGd1aWRlbGluZXMsIHdyaXRpbmcgc3R5bGUsIHF1YWxpdHkgZ2F0ZXMgfAoKLS0tCgo8ZGV0YWlscz4KPHN1bW1hcnk+QXJjaGl0ZWN0dXJlIGRldGFpbDwvc3VtbWFyeT4KCiMjIyBLbm93bGVkZ2UgSW5mcmFzdHJ1Y3R1cmUgKFdlYXZpYXRlKQoKVGhlIGtub3dsZWRnZSBiYXNlIGhvbGRzIGFkdm9jYWN5IGNvbnRlbnQgc2NvcmVkIGFjcm9zcyAxMSBkaW1lbnNpb25zLiBUaGUgYENvbnRlbnRgIGNvbGxlY3Rpb24gaXMgdGhlIHByaW1hcnkgZW50cnkgcG9pbnQgZm9yIFJBRyBhbmQgc2VtYW50aWMgc2VhcmNoOgoKYGBgCkNvbnRlbnQK4pSc4pSA4pSAIHN1bW1hcnksIG1haW5fdGV4dCwgY29udGVudF90eXBlLCBzb3VyY2VfdXJsLCBkYXRlLCB0YWdzCuKUlOKUgOKUgCBzY29yZXMKICAgIOKUnOKUgOKUgCBnb29kX2Zvcl9hbmltYWxzLCBjdWx0dXJhbF9zZW5zaXRpdml0eSwgcmVsZXZhbmNlCiAgICDilJzilIDilIAgaW5zaWdodCwgdHJ1c3R3b3J0aGluZXNzLCBlbW90aW9uYWxfaW1wYWN0CiAgICDilJzilIDilIAgcmF0aW9uYWxpdHksIGluZmx1ZW5jZSwgYWxpZ25tZW50CiAgICDilJTilIDilIAgcHJlZGljdGVkX3BlcmZvcm1hbmNlLCBhdmVyYWdlX3Njb3JlCmBgYAoKVGhlIHJlY29tbWVuZGVkIHJldHJpZXZhbCBwYXR0ZXJuIGlzIHJldHJpZXZlLWFuZC1yZS1yYW5rOiBwdWxsIDIw4oCTMzAgcmVzdWx0cyBieSB2ZWN0b3Igc2ltaWxhcml0eSwgdGhlbiBzb3J0IGJ5IGNvbXBvc2l0ZSBzY29yZSBiZWZvcmUgcGFzc2luZyB0byB5b3VyIGFwcGxpY2F0aW9uIG9yIGdlbmVyYXRpb24gc3RlcC4KCiMjIyBQcmVkaWN0aW9uIE1vZGVscwoKTW9kZWxzIGFyZSB0ZXh0IHJlZ3Jlc3Npb24gcGlwZWxpbmVzIG9uIEh1Z2dpbmdGYWNlLiBPdXRwdXRzIGFyZSBjb250aW51b3VzIDDigJMxIHNjb3JlcyBidXQgbWF5IGV4Y2VlZCB0aGF0IHJhbmdlIG9uIG91dC1vZi1kaXN0cmlidXRpb24gaW5wdXRzIOKAlCBhbHdheXMgY2xpcCBiZWZvcmUgZG93bnN0cmVhbSB1c2UuIFR3byBtb2RlbCBmYW1pbGllcyBleGlzdDoKCi0gKipQZXJmb3JtYW5jZSBwcmVkaWN0aW9uKiog4oCUIHRyYWluZWQgb24gcmVhbC13b3JsZCBhZHZvY2FjeSBtZXRyaWNzIChzb2NpYWwgbWVkaWEgYW5kIGVtYWlsIG1hcmtldGluZyBhbmFseXRpY3MsIHNlbnRpbWVudCBhbmFseXNpcyBvZiByZXBsaWVzKQotICoqUHJlZmVyZW5jZSBwcmVkaWN0aW9uKiog4oCUIHRyYWluZWQgb24gaHVtYW4gYW5kIHN5bnRoZXRpYyBmZWVkYmFjayAoY3VsdHVyYWwgc2Vuc2l0aXZpdHksIGVtb3Rpb25hbCBpbXBhY3QsIHBlcnN1YXNpdmVuZXNzKQoKIyMjIExhbmd1YWdlIE1vZGVscwoKVGhlIDhCIG1vZGVscyBhcmUgTGxhbWEgMy4xIGJhc2Ugd2l0aCBjb250aW51YWwgcHJlLXRyYWluaW5nIG9uIGFuaW1hbCBhZHZvY2FjeSBjb250ZW50LCBmb2xsb3dlZCBieSBpbnN0cnVjdGlvbiB0dW5pbmcuIFR3byB2YXJpYW50czoKCi0gYG9wZW4tcGF3cy84Qi1iYXNlLW1vZGVsYCDigJQgcHJlLXRyYWluZWQgb25seSwgbm8gaW5zdHJ1Y3Rpb24gdHVuaW5nCi0gYG9wZW4tcGF3cy84Qi1pbnN0cnVjdC1jaGF0YCDigJQgY2hhdC10dW5lZCBpbnN0cnVjdCBtb2RlbAoKVGhlc2UgYXJlIHNtYWxsIG1vZGVscy4gVXNlIHRoZW0gd2hlbiBsb2NhbCBkZXBsb3ltZW50IG9uIGNvbnN1bWVyIGhhcmR3YXJlIGlzIGEgcmVxdWlyZW1lbnQuIEZvciBjb21wbGV4IHRhc2tzLCB1c2UgdGhlIG1vZGVscyB0aHJvdWdoIHRoZSBgb3Blbi1wYXdzYCBXZWF2aWF0ZSBSQUcgcGlwZWxpbmUgb3IgYSBsYXJnZXIgaG9zdGVkIG1vZGVsIHJvdXRlZCB0aHJvdWdoIE9wZW5Sb3V0ZXIuCgojIyMgQWdlbnQgSW5mcmFzdHJ1Y3R1cmUKClRoZSBjbGVhbi1yb29tIGFnZW50IGFyY2hpdGVjdHVyZSByZWZlcmVuY2UgZG9jdW1lbnRzIHRoZSBzaGFyZWQgcnVudGltZSBwYXR0ZXJuIHVzZWQgYWNyb3NzIE9wZW4gUGF3cyBwcm9qZWN0czogc2Nhbm5lciBpbmdlc3Rpb24g4oaSIHN0cnVjdHVyZWQgZXhwb3J0IOKGkiBwbGF0Zm9ybSBvcmNoZXN0cmF0aW9uIOKGkiB0b29sIHJlZ2lzdHJ5IOKGkiBodW1hbiByZXZpZXcgYmVmb3JlIGhpZ2gtaW1wYWN0IGFjdGlvbnMuIFNlZSBbSW5mcmFzdHJ1Y3R1cmUvUkVBRE1FLm1kXShJbmZyYXN0cnVjdHVyZS9SRUFETUUubWQpIGZvciB0aGUgZnVsbCBkZXNpZ24gYW5kIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gdHJhY2tzLgoKPC9kZXRhaWxzPgoKLS0tCgojIyBDb250cmlidXRpbmcKClNlZSBbQ09OVFJJQlVUSU5HLm1kXShDT05UUklCVVRJTkcubWQpIGZvciB0aGUgZnVsbCBndWlkZS4gRG9jdW1lbnRhdGlvbiBjb250cmlidXRpb25zIGFyZSB3ZWxjb21lIOKAlCBwYXJ0aWN1bGFybHkgd29ya2luZyBjb2RlIGV4YW1wbGVzLCBpbnRlZ3JhdGlvbiBndWlkZXMgZm9yIGNvbW1vbiBwYXR0ZXJucyAoUkFHLCBiYXRjaCBpbmZlcmVuY2UsIG44biBhdXRvbWF0aW9ucyksIGFuZCBjb3JyZWN0aW9ucyB0byBrbm93biBsaW1pdGF0aW9ucy4gT25lIHRvcGljIHBlciBQUiwgdW5kZXIgMjAwIGxpbmVzIHdoZXJlIHBvc3NpYmxlLiBUaGUgQ0kgd29ya2Zsb3cgZW5mb3JjZXMgc3BlY2llc2lzdCBsYW5ndWFnZSBydWxlcyBhdXRvbWF0aWNhbGx5IHZpYSBbbm8tYW5pbWFsLXZpb2xlbmNlXShodHRwczovL2dpdGh1Yi5jb20vT3Blbi1QYXdzL25vLWFuaW1hbC12aW9sZW5jZSkg4oCUIGZpeCBmbGFnZ2VkIHRlcm1zIHJhdGhlciB0aGFuIGJ5cGFzc2luZyB0aGUgY2hlY2suCgotLS0KCiMjIExpY2Vuc2UgKyBBY2tub3dsZWRnbWVudHMKCltNSVQgTGljZW5zZV0oTElDRU5TRSkg4oCUIENvcHlyaWdodCAoYykgMjAyNSBPcGVuIFBhd3MuCgpCdWlsdCBvbiBbV2VhdmlhdGVdKGh0dHBzOi8vd2VhdmlhdGUuaW8pLCBbSHVnZ2luZ0ZhY2UgVHJhbnNmb3JtZXJzXShodHRwczovL2h1Z2dpbmdmYWNlLmNvL2RvY3MvdHJhbnNmb3JtZXJzLyksIFtMbGFtYSAzLjFdKGh0dHBzOi8vd3d3LmxsYW1hLmNvbS9kb2NzLykgKE1ldGEpLCBhbmQgW244bl0oaHR0cHM6Ly9kb2NzLm44bi5pbykuIERhdGFzZXRzIGFuZCBtb2RlbHMgaG9zdGVkIGF0IFtodWdnaW5nZmFjZS5jby9vcGVuLXBhd3NdKGh0dHBzOi8vaHVnZ2luZ2ZhY2UuY28vb3Blbi1wYXdzKS4KCi0tLQoKW0RvbmF0ZV0oaHR0cHM6Ly9vcGVucGF3cy5haS9kb25hdGUpIMK3IFtEaXNjb3JkXShodHRwczovL2Rpc2NvcmQuZ2cvb3BlbnBhd3MpIMK3IFtvcGVucGF3cy5haV0oaHR0cHM6Ly9vcGVucGF3cy5haSkgwrcgW1ZvbHVudGVlcl0oaHR0cHM6Ly9vcGVucGF3cy5haS92b2x1bnRlZXIpCgotLS0KCiMjIE1ldGFkYXRhCgpgYGB5YW1sCnRlY2hfc3RhY2s6IFtXZWF2aWF0ZSwgUHl0aG9uLCBIdWdnaW5nRmFjZSBUcmFuc2Zvcm1lcnMsIExsYW1hIDMuMSwgbjhuLCBNYXJrZG93bl0KcHJvamVjdF9zdGF0dXM6IHN0YWJsZQpkaWZmaWN1bHR5OiBpbnRlcm1lZGlhdGUKc2tpbGxfdGFnczogW3ZlY3Rvci1zZWFyY2gsIFJBRywgdGV4dC1yZWdyZXNzaW9uLCBsYW5ndWFnZS1tb2RlbHMsIHdvcmtmbG93LWF1dG9tYXRpb24sIGFuaW1hbC1hZHZvY2FjeSwgQUktaW5mcmFzdHJ1Y3R1cmVdCnJlbGF0ZWRfcmVwb3M6IFtwbGF0Zm9ybSwgZ2FyeSwgcHJvamVjdC1jb21wYXNzaW9uYXRlLWNvZGUsIGdyYXplLWNsaSwgY29udGV4dF0KYGBgCg== \ No newline at end of file +IyBPcGVuIFBhd3MgRG9jdW1lbnRhdGlvbgoKWyFbTGljZW5zZTogTUlUXShodHRwczovL2ltZy5zaGllbGRzLmlvL2JhZGdlL0xpY2Vuc2UtTUlULWdyZWVuLnN2ZyldKExJQ0VOU0UpClshW2Rlc2xvcHBpZnkgc2NvcmVdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vYmFkZ2UvZGVzbG9wcGlmeS0wLjAlMkYxMDAtcmVkKV0oc2NvcmVjYXJkLnBuZykKWyFbTGFzdCBDb21taXRdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vZ2l0aHViL2xhc3QtY29tbWl0L09wZW4tUGF3cy9kb2N1bWVudGF0aW9uKV0oaHR0cHM6Ly9naXRodWIuY29tL09wZW4tUGF3cy9kb2N1bWVudGF0aW9uL2NvbW1pdHMvbWFpbikKWyFbSHVnZ2luZ0ZhY2VdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vYmFkZ2UvSHVnZ2luZ0ZhY2Utb3Blbi0tcGF3cy15ZWxsb3cpXShodHRwczovL2h1Z2dpbmdmYWNlLmNvL29wZW4tcGF3cykKCi0tLQoKVGhpcyByZXBvIGlzIHRoZSBkZXZlbG9wZXIgZG9jdW1lbnRhdGlvbiBodWIgZm9yIE9wZW4gUGF3cyBBSSBpbmZyYXN0cnVjdHVyZSDigJQgYSBwdXJwb3NlLWJ1aWx0IHN0YWNrIGZvciBhbmltYWwgYWR2b2NhY3kgb3JnYW5pemF0aW9ucywgcmVzZWFyY2hlcnMsIGFuZCBlbmdpbmVlcnMuIEl0IGNvdmVycyB0aGUgZnVsbCBBSSBzdGFjazogYSBXZWF2aWF0ZSB2ZWN0b3Iga25vd2xlZGdlIGJhc2UsIEh1Z2dpbmdGYWNlIHRleHQgcmVncmVzc2lvbiBwcmVkaWN0aW9uIG1vZGVscywgOEIgbGFuZ3VhZ2UgbW9kZWxzLCBuOG4gd29ya2Zsb3cgYXV0b21hdGlvbnMsIGFuZCBhIGNsZWFuLXJvb20gYWdlbnQgYXJjaGl0ZWN0dXJlIHJlZmVyZW5jZS4gSWYgeW91IGFyZSBidWlsZGluZyBhZHZvY2FjeSB0b29scywgY2FtcGFpZ24gYXV0b21hdGlvbnMsIG9yIGZpbmUtdHVuZWQgbW9kZWxzIHVzaW5nIE9wZW4gUGF3cyByZXNvdXJjZXMsIHN0YXJ0IGhlcmUuCgo+IFshTk9URV0KPiBUaGlzIHByb2plY3QgaXMgcGFydCBvZiB0aGUgW09wZW4gUGF3c10oaHR0cHM6Ly9vcGVucGF3cy5haSkgZWNvc3lzdGVtIOKAlCBBSSBpbmZyYXN0cnVjdHVyZSBmb3IgdGhlIGFuaW1hbCBsaWJlcmF0aW9uIG1vdmVtZW50LiBbRXhwbG9yZSB0aGUgZnVsbCBwbGF0Zm9ybSDihpJdKGh0dHBzOi8vZ2l0aHViLmNvbS9PcGVuLVBhd3MpCgpBbmltYWwgYWR2b2NhY3kgb3JnYW5pemF0aW9ucyBhcmUgdW5kZXItcmVzb3VyY2VkIHJlbGF0aXZlIHRvIHRoZSBpbmR1c3RyaWVzIHRoZXkgY2hhbGxlbmdlLiBUaGlzIGRvY3VtZW50YXRpb24gZXhpc3RzIHRvIGxvd2VyIHRoZSBiYXJyaWVyIGZvciBkZXZlbG9wZXJzIGFuZCB0ZWNobmljYWxseSBjYXBhYmxlIGFkdm9jYXRlcyB0byBidWlsZCBBSSB0b29scyB0aGF0IGFjdHVhbGx5IG1vdmUgdGhlIG5lZWRsZSDigJQgbm90IGFkYXB0ZWQgZnJvbSBnZW5lcmljIHVzZSBjYXNlcywgYnV0IGRlc2lnbmVkIGZyb20gdGhlIGdyb3VuZCB1cCBmb3IgaW52ZXN0aWdhdGl2ZSByZXNlYXJjaCwgY2FtcGFpZ24gZXZhbHVhdGlvbiwgYW5kIG1vdmVtZW50IGNvb3JkaW5hdGlvbi4KCi0tLQoKIyMgQXJjaGl0ZWN0dXJlCgpgYGBtZXJtYWlkCmdyYXBoIFRECiAgICBBW1lvdXIgQXBwbGljYXRpb25dIC0tPiBCW0tub3dsZWRnZVxuV2VhdmlhdGUgVmVjdG9yIERCXQogICAgQSAtLT4gQ1tQcmVkaWN0aW9uc1xuSHVnZ2luZ0ZhY2UgUmVncmVzc2lvbiBNb2RlbHNdCiAgICBBIC0tPiBEW0dlbmVyYXRpb25cbjhCIExhbmd1YWdlIE1vZGVsc10KICAgIEEgLS0+IEVbQXV0b21hdGlvblxubjhuIFdvcmtmbG93IFRlbXBsYXRlc10KICAgIEEgLS0+IEZbSW5mcmFzdHJ1Y3R1cmVcbkNsZWFuLVJvb20gQWdlbnQgUnVudGltZV0KCiAgICBCIC0tPiBHWyhBZHZvY2FjeSBDb250ZW50XG5BcnRpY2xlcyDCtyBSZXBvcnRzIMK3IENhbXBhaWducyldCiAgICBDIC0tPiBIWyhIdWdnaW5nRmFjZVxub3Blbi1wYXdzIGNvbGxlY3Rpb24pXQogICAgRCAtLT4gSAogICAgRSAtLT4gSVsobjhuIENyZWF0b3IgSHViXG5Xb3JrZmxvdyBUZW1wbGF0ZXMpXQpgYGAKCkVhY2ggc2VjdGlvbiBpcyBzZWxmLWNvbnRhaW5lZDogY29ubmVjdGlvbiBkZXRhaWxzLCB3b3JraW5nIGNvZGUgc2FtcGxlcywgYW5kIGtub3duIGxpbWl0YXRpb25zIGxpdmUgdG9nZXRoZXIgaW4gb25lIHBsYWNlLgoKLS0tCgojIyBRdWlja3N0YXJ0CgpUaGlzIHJlcG8gY29udGFpbnMgbm8gYXBwbGljYXRpb24gY29kZSDigJQgdGhlcmUgaXMgbm90aGluZyB0byBidWlsZCBvciBkZXBsb3kuIEJyb3dzZSB0aGUgc2VjdGlvbiB0aGF0IG1hdGNoZXMgeW91ciB1c2UgY2FzZToKCmBgYGJhc2gKIyBDbG9uZSB0byBicm93c2UgbG9jYWxseQpnaXQgY2xvbmUgaHR0cHM6Ly9naXRodWIuY29tL09wZW4tUGF3cy9kb2N1bWVudGF0aW9uLmdpdApjZCBkb2N1bWVudGF0aW9uCgojIENvbm5lY3QgdG8gdGhlIFdlYXZpYXRlIGtub3dsZWRnZSBiYXNlIChyZXF1aXJlcyB5b3VyIG93biBPcGVuQUkgQVBJIGtleSkKIyBTZWUgS25vd2xlZGdlL1JFQURNRS5tZCBmb3IgZnVsbCBjb25uZWN0aW9uIGRldGFpbHMKZXhwb3J0IFdFQVZJQVRFX1VSTD0iaHR0cHM6Ly9sYXJuZDlybGUxendhcHNkY3F3LmMwLnVzLWVhc3QxLmdjcC53ZWF2aWF0ZS5jbG91ZCIKZXhwb3J0IFdFQVZJQVRFX0FQSV9LRVk9IjxyZWFkLW9ubHkga2V5IGluIEtub3dsZWRnZS9SRUFETUUubWQ+IgpleHBvcnQgT1BFTkFJX0FQSUtFWT0iPHlvdXIga2V5PiIKCiMgUnVuIGEgcHJlZGljdGlvbiBtb2RlbCAocmVxdWlyZXMgdHJhbnNmb3JtZXJzKQpwaXAgaW5zdGFsbCB0cmFuc2Zvcm1lcnMgdG9yY2gKcHl0aG9uIC1jICIKZnJvbSB0cmFuc2Zvcm1lcnMgaW1wb3J0IHBpcGVsaW5lCnAgPSBwaXBlbGluZSgndGV4dC1jbGFzc2lmaWNhdGlvbicsIG1vZGVsPSdvcGVuLXBhd3MvcGVyY2VpdmVkX3RydXN0d29ydGhpbmVzc19wcmVkaWN0aW9uJywgcmV0dXJuX2FsbF9zY29yZXM9VHJ1ZSkKcHJpbnQocCgnQW5pbWFscyBkZXNlcnZlIHRvIGxpdmUgZnJlZSBmcm9tIGV4cGxvaXRhdGlvbi4nKSkKIgpgYGAKClNlZSBbS25vd2xlZGdlL1JFQURNRS5tZF0oS25vd2xlZGdlL1JFQURNRS5tZCksIFtQcmVkaWN0aW9ucy9SRUFETUUubWRdKFByZWRpY3Rpb25zL1JFQURNRS5tZCksIGFuZCBbR2VuZXJhdGlvbi9SRUFETUUubWRdKEdlbmVyYXRpb24vUkVBRE1FLm1kKSBmb3IgY29tcGxldGUgd29ya2luZyBleGFtcGxlcy4KCi0tLQoKIyMgRmVhdHVyZXMKCi0gKipXZWF2aWF0ZSB2ZWN0b3Iga25vd2xlZGdlIGJhc2UqKiDigJQgcmVhZC1vbmx5IHB1YmxpYyBhY2Nlc3MgdG8gYSB2ZWN0b3ItZ3JhcGggZGF0YWJhc2Ugb2YgYWR2b2NhY3kgY29udGVudCAoYXJ0aWNsZXMsIHJlcG9ydHMsIGNhbXBhaWduIG1hdGVyaWFscywgaW52ZXN0aWdhdGlvbiBmaW5kaW5ncykgd2l0aCBwZXItZG9jdW1lbnQgc2NvcmluZyBhY3Jvc3MgdHJ1c3R3b3J0aGluZXNzLCBpbnNpZ2h0LCByZWxldmFuY2UsIHByZWRpY3RlZCBwZXJmb3JtYW5jZSwgYW5kIG1vcmUKLSAqKlZlY3RvciwgaHlicmlkLCBhbmQgZmlsdGVyZWQgc2VhcmNoKiog4oCUIHF1ZXJ5IHRoZSBrbm93bGVkZ2UgYmFzZSB3aXRoIHNlbWFudGljIHNpbWlsYXJpdHksIGtleXdvcmQgd2VpZ2h0aW5nLCBhbmQgc2NvcmUtYmFzZWQgZmlsdGVyczsgZnVsbCBSQUcgc3VwcG9ydCB2aWEgV2VhdmlhdGUncyBncm91cGVkLXRhc2sgZ2VuZXJhdGlvbgotICoqVGV4dCByZWdyZXNzaW9uIHByZWRpY3Rpb24gbW9kZWxzKiog4oCUIEh1Z2dpbmdGYWNlIHBpcGVsaW5lLWNvbXBhdGlibGUgbW9kZWxzIHNjb3JpbmcgYWR2b2NhY3kgbWVzc2FnZXMgb24gcGVyZm9ybWFuY2UgbWV0cmljcyAoc29jaWFsIG1lZGlhIGFuYWx5dGljcywgc2VudGltZW50KSBhbmQgaHVtYW4tcHJlZmVyZW5jZSBkaW1lbnNpb25zIChjdWx0dXJhbCBzZW5zaXRpdml0eSwgZW1vdGlvbmFsIGltcGFjdCwgcGVyc3Vhc2l2ZW5lc3MpCi0gKio4QiBhZHZvY2FjeSBsYW5ndWFnZSBtb2RlbHMqKiDigJQgTGxhbWEgMy4x4oCTYmFzZWQgbW9kZWxzIGNvbnRpbnVhbGx5IHByZS10cmFpbmVkIGFuZCBpbnN0cnVjdGlvbi10dW5lZCBvbiBhbmltYWwgYWR2b2NhY3kgY29udGVudDsgb3B0aW1pemVkIGZvciBsb2NhbCBhbmQgbG93LW1lbW9yeSBkZXBsb3ltZW50Ci0gKipuOG4gd29ya2Zsb3cgdGVtcGxhdGVzKiog4oCUIHJlYWR5LXRvLWltcG9ydCBhdXRvbWF0aW9uIHRlbXBsYXRlcyBmb3IgY29tbW9uIGFkdm9jYWN5IHdvcmtmbG93cywgaG9zdGVkIG9uIHRoZSBuOG4gQ3JlYXRvciBIdWI7IGhvc3Rpbmcgb3B0aW9ucyBmb3IgdGVhbXMsIHNvbG8gYWR2b2NhdGVzLCBhbmQgaGlnaC1zZWN1cml0eSB1c2VycwotICoqQ2xlYW4tcm9vbSBhZ2VudCBhcmNoaXRlY3R1cmUgcmVmZXJlbmNlKiog4oCUIGNhbm9uaWNhbCBwYXR0ZXJucyBmb3Igc2hhcmVkIHRvb2wgcmVnaXN0cmllcywgb3JjaGVzdHJhdGlvbiwgb3BlcmF0b3IgY29udHJvbHMsIGFuZCBzYWZldHkgYm91bmRhcmllcyBhY3Jvc3MgT3BlbiBQYXdzIHByb2plY3RzCi0gKipUcmFpbmluZyBkYXRhc2V0cyoqIOKAlCBzaXggSHVnZ2luZ0ZhY2UgZGF0YXNldHMgY292ZXJpbmcgc3VwZXJ2aXNlZCBmaW5lLXR1bmluZywgY29udGludWFsIHByZS10cmFpbmluZywgdmlzdWFsIFFBLCBhbGlnbm1lbnQgZmVlZGJhY2ssIHJlYXNvbmluZywgYW5kIHRvb2wtdXNlIGRlbW9uc3RyYXRpb25zCgotLS0KCiMjIERvY3VtZW50YXRpb24KCnwgU2VjdGlvbiB8IFdoYXQgaXQgY292ZXJzIHwKfC0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS18CnwgW0tub3dsZWRnZS9SRUFETUUubWRdKEtub3dsZWRnZS9SRUFETUUubWQpIHwgV2VhdmlhdGUgY29ubmVjdGlvbiwgc2VhcmNoIHBhdHRlcm5zLCBSQUcsIHNjaGVtYSwgYmVzdCBwcmFjdGljZXMgfAp8IFtQcmVkaWN0aW9ucy9SRUFETUUubWRdKFByZWRpY3Rpb25zL1JFQURNRS5tZCkgfCBQcmVkaWN0aW9uIG1vZGVsIHVzYWdlLCBiYXRjaCBwcm9jZXNzaW5nLCBzY29yZSBjbGlwcGluZyB8CnwgW0dlbmVyYXRpb24vUkVBRE1FLm1kXShHZW5lcmF0aW9uL1JFQURNRS5tZCkgfCBMYW5ndWFnZSBtb2RlbCBsb2FkaW5nLCBnZW5lcmF0aW9uIHBhcmFtZXRlcnMsIGtub3duIGxpbWl0YXRpb25zIHwKfCBbQXV0b21hdGlvbi9SRUFETUUubWRdKEF1dG9tYXRpb24vUkVBRE1FLm1kKSB8IG44biBob3N0aW5nIG9wdGlvbnMsIHdvcmtmbG93IGltcG9ydCBndWlkZSB8CnwgW0luZnJhc3RydWN0dXJlL1JFQURNRS5tZF0oSW5mcmFzdHJ1Y3R1cmUvUkVBRE1FLm1kKSB8IEFnZW50IHJ1bnRpbWUgcGF0dGVybnMsIHRvb2wgcmVnaXN0cnksIHNhZmV0eSBib3VuZGFyaWVzIHwKfCBbQ09OVFJJQlVUSU5HLm1kXShDT05UUklCVVRJTkcubWQpIHwgUFIgZ3VpZGVsaW5lcywgd3JpdGluZyBzdHlsZSwgcXVhbGl0eSBnYXRlcyB8CgotLS0KCjxkZXRhaWxzPgo8c3VtbWFyeT5BcmNoaXRlY3R1cmUgZGV0YWlsPC9zdW1tYXJ5PgoKIyMjIEtub3dsZWRnZSBJbmZyYXN0cnVjdHVyZSAoV2VhdmlhdGUpCgpUaGUga25vd2xlZGdlIGJhc2UgaG9sZHMgYWR2b2NhY3kgY29udGVudCBzY29yZWQgYWNyb3NzIDExIGRpbWVuc2lvbnMuIFRoZSBgQ29udGVudGAgY29sbGVjdGlvbiBpcyB0aGUgcHJpbWFyeSBlbnRyeSBwb2ludCBmb3IgUkFHIGFuZCBzZW1hbnRpYyBzZWFyY2g6CgpgYGAKQ29udGVudArilJzilIDilIAgc3VtbWFyeSwgbWFpbl90ZXh0LCBjb250ZW50X3R5cGUsIHNvdXJjZV91cmwsIGRhdGUsIHRhZ3MK4pSU4pSA4pSAIHNjb3JlcwogICAg4pSc4pSA4pSAIGdvb2RfZm9yX2FuaW1hbHMsIGN1bHR1cmFsX3NlbnNpdGl2aXR5LCByZWxldmFuY2UKICAgIOKUnOKUgOKUgCBpbnNpZ2h0LCB0cnVzdHdvcnRoaW5lc3MsIGVtb3Rpb25hbF9pbXBhY3QKICAgIOKUnOKUgOKUgCByYXRpb25hbGl0eSwgaW5mbHVlbmNlLCBhbGlnbm1lbnQKICAgIOKUlOKUgOKUgCBwcmVkaWN0ZWRfcGVyZm9ybWFuY2UsIGF2ZXJhZ2Vfc2NvcmUKYGBgCgpUaGUgcmVjb21tZW5kZWQgcmV0cmlldmFsIHBhdHRlcm4gaXMgcmV0cmlldmUtYW5kLXJlLXJhbms6IHB1bGwgMjDigJMzMCByZXN1bHRzIGJ5IHZlY3RvciBzaW1pbGFyaXR5LCB0aGVuIHNvcnQgYnkgY29tcG9zaXRlIHNjb3JlIGJlZm9yZSBwYXNzaW5nIHRvIHlvdXIgYXBwbGljYXRpb24gb3IgZ2VuZXJhdGlvbiBzdGVwLgoKIyMjIFByZWRpY3Rpb24gTW9kZWxzCgpNb2RlbHMgYXJlIHRleHQgcmVncmVzc2lvbiBwaXBlbGluZXMgb24gSHVnZ2luZ0ZhY2UuIE91dHB1dHMgYXJlIGNvbnRpbnVvdXMgMOKAkzEgc2NvcmVzIGJ1dCBtYXkgZXhjZWVkIHRoYXQgcmFuZ2Ugb24gb3V0LW9mLWRpc3RyaWJ1dGlvbiBpbnB1dHMg4oCUIGFsd2F5cyBjbGlwIGJlZm9yZSBkb3duc3RyZWFtIHVzZS4gVHdvIG1vZGVsIGZhbWlsaWVzIGV4aXN0OgoKLSAqKlBlcmZvcm1hbmNlIHByZWRpY3Rpb24qKiDigJQgdHJhaW5lZCBvbiByZWFsLXdvcmxkIGFkdm9jYWN5IG1ldHJpY3MgKHNvY2lhbCBtZWRpYSBhbmQgZW1haWwgbWFya2V0aW5nIGFuYWx5dGljcywgc2VudGltZW50IGFuYWx5c2lzIG9mIHJlcGxpZXMpCi0gKipQcmVmZXJlbmNlIHByZWRpY3Rpb24qKiDigJQgdHJhaW5lZCBvbiBodW1hbiBhbmQgc3ludGhldGljIGZlZWRiYWNrIChjdWx0dXJhbCBzZW5zaXRpdml0eSwgZW1vdGlvbmFsIGltcGFjdCwgcGVyc3Vhc2l2ZW5lc3MpCgojIyMgTGFuZ3VhZ2UgTW9kZWxzCgpUaGUgOEIgbW9kZWxzIGFyZSBMbGFtYSAzLjEgYmFzZSB3aXRoIGNvbnRpbnVhbCBwcmUtdHJhaW5pbmcgb24gYW5pbWFsIGFkdm9jYWN5IGNvbnRlbnQsIGZvbGxvd2VkIGJ5IGluc3RydWN0aW9uIHR1bmluZy4gVHdvIHZhcmlhbnRzOgoKLSBgb3Blbi1wYXdzLzhCLWJhc2UtbW9kZWxgIOKAlCBwcmUtdHJhaW5lZCBvbmx5LCBubyBpbnN0cnVjdGlvbiB0dW5pbmcKLSBgb3Blbi1wYXdzLzhCLWluc3RydWN0LWNoYXRgIOKAlCBjaGF0LXR1bmVkIGluc3RydWN0IG1vZGVsCgpUaGVzZSBhcmUgc21hbGwgbW9kZWxzLiBVc2UgdGhlbSB3aGVuIGxvY2FsIGRlcGxveW1lbnQgb24gY29uc3VtZXIgaGFyZHdhcmUgaXMgYSByZXF1aXJlbWVudC4gRm9yIGNvbXBsZXggdGFza3MsIHVzZSB0aGUgbW9kZWxzIHRocm91Z2ggdGhlIGBvcGVuLXBhd3NgIFdlYXZpYXRlIFJBRyBwaXBlbGluZSBvciBhIGxhcmdlciBob3N0ZWQgbW9kZWwgcm91dGVkIHRocm91Z2ggT3BlblJvdXRlci4KCiMjIyBBZ2VudCBJbmZyYXN0cnVjdHVyZQoKVGhlIGNsZWFuLXJvb20gYWdlbnQgYXJjaGl0ZWN0dXJlIHJlZmVyZW5jZSBkb2N1bWVudHMgdGhlIHNoYXJlZCBydW50aW1lIHBhdHRlcm4gdXNlZCBhY3Jvc3MgT3BlbiBQYXdzIHByb2plY3RzOiBzY2FubmVyIGluZ2VzdGlvbiDihpIgc3RydWN0dXJlZCBleHBvcnQg4oaSIHBsYXRmb3JtIG9yY2hlc3RyYXRpb24g4oaSIHRvb2wgcmVnaXN0cnkg4oaSIGh1bWFuIHJldmlldyBiZWZvcmUgaGlnaC1pbXBhY3QgYWN0aW9ucy4gU2VlIFtJbmZyYXN0cnVjdHVyZS9SRUFETUUubWRdKEluZnJhc3RydWN0dXJlL1JFQURNRS5tZCkgZm9yIHRoZSBmdWxsIGRlc2lnbiBhbmQgY3VycmVudCBpbXBsZW1lbnRhdGlvbiB0cmFja3MuCgo8L2RldGFpbHM+CgotLS0KCiMjIENvZGUgUXVhbGl0eQoKPGltZyBzcmM9InNjb3JlY2FyZC5wbmciIHdpZHRoPSIxMDAlIj4KCiMjIENvbnRyaWJ1dGluZwoKU2VlIFtDT05UUklCVVRJTkcubWRdKENPTlRSSUJVVElORy5tZCkgZm9yIHRoZSBmdWxsIGd1aWRlLiBEb2N1bWVudGF0aW9uIGNvbnRyaWJ1dGlvbnMgYXJlIHdlbGNvbWUg4oCUIHBhcnRpY3VsYXJseSB3b3JraW5nIGNvZGUgZXhhbXBsZXMsIGludGVncmF0aW9uIGd1aWRlcyBmb3IgY29tbW9uIHBhdHRlcm5zIChSQUcsIGJhdGNoIGluZmVyZW5jZSwgbjhuIGF1dG9tYXRpb25zKSwgYW5kIGNvcnJlY3Rpb25zIHRvIGtub3duIGxpbWl0YXRpb25zLiBPbmUgdG9waWMgcGVyIFBSLCB1bmRlciAyMDAgbGluZXMgd2hlcmUgcG9zc2libGUuIFRoZSBDSSB3b3JrZmxvdyBlbmZvcmNlcyBzcGVjaWVzaXN0IGxhbmd1YWdlIHJ1bGVzIGF1dG9tYXRpY2FsbHkgdmlhIFtuby1hbmltYWwtdmlvbGVuY2VdKGh0dHBzOi8vZ2l0aHViLmNvbS9PcGVuLVBhd3Mvbm8tYW5pbWFsLXZpb2xlbmNlKSDigJQgZml4IGZsYWdnZWQgdGVybXMgcmF0aGVyIHRoYW4gYnlwYXNzaW5nIHRoZSBjaGVjay4KCi0tLQoKIyMgTGljZW5zZSArIEFja25vd2xlZGdtZW50cwoKW01JVCBMaWNlbnNlXShMSUNFTlNFKSDigJQgQ29weXJpZ2h0IChjKSAyMDI1IE9wZW4gUGF3cy4KCkJ1aWx0IG9uIFtXZWF2aWF0ZV0oaHR0cHM6Ly93ZWF2aWF0ZS5pbyksIFtIdWdnaW5nRmFjZSBUcmFuc2Zvcm1lcnNdKGh0dHBzOi8vaHVnZ2luZ2ZhY2UuY28vZG9jcy90cmFuc2Zvcm1lcnMvKSwgW0xsYW1hIDMuMV0oaHR0cHM6Ly93d3cubGxhbWEuY29tL2RvY3MvKSAoTWV0YSksIGFuZCBbbjhuXShodHRwczovL2RvY3MubjhuLmlvKS4gRGF0YXNldHMgYW5kIG1vZGVscyBob3N0ZWQgYXQgW2h1Z2dpbmdmYWNlLmNvL29wZW4tcGF3c10oaHR0cHM6Ly9odWdnaW5nZmFjZS5jby9vcGVuLXBhd3MpLgoKLS0tCgpbRG9uYXRlXShodHRwczovL29wZW5wYXdzLmFpL2RvbmF0ZSkgwrcgW0Rpc2NvcmRdKGh0dHBzOi8vZGlzY29yZC5nZy9vcGVucGF3cykgwrcgW29wZW5wYXdzLmFpXShodHRwczovL29wZW5wYXdzLmFpKSDCtyBbVm9sdW50ZWVyXShodHRwczovL29wZW5wYXdzLmFpL3ZvbHVudGVlcikKCi0tLQoKIyMgTWV0YWRhdGEKCmBgYHlhbWwKdGVjaF9zdGFjazogW1dlYXZpYXRlLCBQeXRob24sIEh1Z2dpbmdGYWNlIFRyYW5zZm9ybWVycywgTGxhbWEgMy4xLCBuOG4sIE1hcmtkb3duXQpwcm9qZWN0X3N0YXR1czogc3RhYmxlCmRpZmZpY3VsdHk6IGludGVybWVkaWF0ZQpza2lsbF90YWdzOiBbdmVjdG9yLXNlYXJjaCwgUkFHLCB0ZXh0LXJlZ3Jlc3Npb24sIGxhbmd1YWdlLW1vZGVscywgd29ya2Zsb3ctYXV0b21hdGlvbiwgYW5pbWFsLWFkdm9jYWN5LCBBSS1pbmZyYXN0cnVjdHVyZV0KcmVsYXRlZF9yZXBvczogW3BsYXRmb3JtLCBnYXJ5LCBwcm9qZWN0LWNvbXBhc3Npb25hdGUtY29kZSwgZ3JhemUtY2xpLCBjb250ZXh0XQpgYGAK diff --git a/scorecard.png b/scorecard.png new file mode 100644 index 0000000..4fb809c Binary files /dev/null and b/scorecard.png differ