BAhJIgKaFTxoMiBpZD0iZGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uPC9oMj4KCjxwPkFwYWNoZSBXaWNrZXQgaXMgb25lIG9mIHRoZSBtb3N0IGZhbW91cyBKYXZhIHdlYiBhcHBsaWNhdGlvbiBmcmFtZXdvcmtzLgpXaWNrZXQgc2ltcGxpZmllcyB3ZWIgZGV2ZWxvcG1lbnQgYW5kIG1ha2VzIGl0IGZ1bi4KQXJlIHlvdSBib3JlZCBvZiBnb2luZyB0aHJvdWdoIGNvdW50bGVzcyBwYWdlcyBvZiB0aGVvcnkgdG8gZmluZCBvdXQgaG93IHRvIGdldCB5b3VyIHdlYiBkZXZlbG9wbWVudCBkb25lPwpXaXRoIHRoaXMgYm9vayBpbiBoYW5kLCB5b3UgZG9u4oCZdCBuZWVkIHRvIGdvIHRocm91Z2ggaHVuZHJlZHMgb2YgcGFnZXMgdG8gZmlndXJlIG91dCBob3cgeW91IHdpbGwgYWN0dWFsbHkgYnVpbGQgYSB3ZWIgYXBwbGljYXRpb24uCllvdSB3aWxsIGdldCBwcmFjdGljYWwgc29sdXRpb25zIHRvIHlvdXIgY29tbW9uIGV2ZXJ5ZGF5IGRldmVsb3BtZW50IHRhc2tzIHRvIHBhY2UgdXAgeW91ciBkZXZlbG9wbWVudCBhY3Rpdml0aWVzLjwvcD4KCjxwPkFwYWNoZSBXaWNrZXQgQ29va2Jvb2sgcHJvdmlkZXMgeW91IHdpdGggaW5mb3JtYXRpb24gdGhhdCBnZXRzIHlvdXIgcHJvYmxlbXMgc29sdmVkIHF1aWNrbHkgd2l0aG91dCBiZWF0aW5nIGFyb3VuZCB0aGUgYnVzaC4KVGhpcyBib29rIGlzIHBlcmZlY3QgZm9yIHlvdSBpZiB5b3UgYXJlIHJlYWR5IHRvIHRha2UgdGhlIG5leHQgc3RlcCBmcm9tIHR1dG9yaWFscyBhbmQgc3RlcCBpbnRvIHRoZSBwcmFjdGljYWwgd29ybGQuCkl0IHdpbGwgdGFrZSB5b3UgYmV5b25kIHRoZSBiYXNpY3Mgb2YgdXNpbmcgQXBhY2hlIFdpY2tldCBhbmQgc2hvdyB5b3UgaG93IHRvIGxldmVyYWdlIFdpY2tldOKAmXMgYWR2YW5jZWQgZmVhdHVyZXMgdG8gY3JlYXRlIHNpbXBsZXIgYW5kIG1vcmUgbWFpbnRhaW5hYmxlIHNvbHV0aW9ucyB0byB3aGF0IGF0IGZpcnN0IG1heSBzZWVtIGNvbXBsZXggcHJvYmxlbXMuPC9wPgoKPHA+WW91IHdpbGwgbGVhcm4gaG93IHRvIGludGVncmF0ZSB3aXRoIGNsaWVudC1zaWRlIHRlY2hub2xvZ2llcyBzdWNoIGFzIEphdmFTY3JpcHQgbGlicmFyaWVzIG9yIEZsYXNoIGNvbXBvbmVudHMsIHdoaWNoIHdpbGwgaGVscCB5b3UgdG8gYnVpbGQgeW91ciBhcHBsaWNhdGlvbiBmYXN0ZXIuCllvdSB3aWxsIGRpc2NvdmVyIGhvdyB0byB1c2UgV2lja2V0IHBhcmFkaWdtcyB0byBmYWN0b3Igb3V0IGNvbW1vbmx5IHVzZWQgY29kZSBpbnRvIGN1c3RvbSBDb21wb25lbnRzLCB3aGljaCB3aWxsIHJlZHVjZSB0aGUgbWFpbnRlbmFuY2UgY29zdCBvZiB5b3VyIGFwcGxpY2F0aW9uLCBhbmQgaG93IHRvIGxldmVyYWdlIHRoZSBleGlzdGluZyBXaWNrZXQgQ29tcG9uZW50cyB0byBtYWtlIHlvdXIgb3duIGNvZGUgc2ltcGxlci48L3A+Cgo8cD5BIHN0cmFpZ2h0Zm9yd2FyZCBDb29rYm9vayB3aXRoIGhpZ2hseSBmb2N1c2VkIHByYWN0aWNhbCByZWNpcGVzIHRvIG1ha2UgeW91ciB3ZWIgYXBwbGljYXRpb24gZGV2ZWxvcG1lbnQgZWFzaWVyIHdpdGggdGhlIFdpY2tldCB3ZWIgZnJhbWV3b3JrLjwvcD4KCjxoMiBpZD0id2hhdC15b3Utd2lsbC1sZWFybi1mcm9tLXRoaXMtYm9vayI+V2hhdCB5b3Ugd2lsbCBsZWFybiBmcm9tIHRoaXMgYm9vazwvaDI+Cgo8dWw+CiAgPGxpPkxldmVyYWdlIFdpY2tldCB0byBpbXBsZW1lbnQgYSB3aWRlIHZhcmlldHkgb2YgYm90aCBzaW1wbGUgYW5kIGFkdmFuY2VkIHVzZSBjYXNlcyBpbiBhIG5hcnJhdGl2ZSB0aGF0IGdldHMgc3RyYWlnaHQgdG8gdGhlIHBvaW50PC9saT4KICA8bGk+TWFrZSBmb3JtcyB3b3JrIGluIHRoZSBjcmF6eSB3b3JsZCBvZiB0aGUgV2ViIGJ5IGxlYXJuaW5nIHRoZSB3YXlzIG9mIFdpY2tldOKAmXMgZm9ybSBwcm9jZXNzaW5nPC9saT4KICA8bGk+U2ltcGxpZnkgbG9jYWxpemluZyB5b3VyIFdpY2tldCBhcHBsaWNhdGlvbnM8L2xpPgogIDxsaT5UYWtlIHRoZSBib3Jpbmcgb3V0IG9mIHlvdXIgZm9ybXMgYnkgZGlzY292ZXJpbmcgaG93IHRvIGltcHJvdmUgdGhlIHVzZXIgZXhwZXJpZW5jZSB3aGlsZSBzaW1wbGlmeWluZyB5b3VyIGNvZGUgYXQgdGhlIHNhbWUgdGltZTwvbGk+CiAgPGxpPkxldmVyYWdlIHRoZSBidWlsdC1pbiBUYWJsZSBjb21wb25lbnQgdG8gbWFrZSBkaXNwbGF5aW5nIHRhYnVsYXIgZGF0YSBhIHNuYXA8L2xpPgogIDxsaT5UaGluayBXaWNrZXTigJlzIEJvcmRlcnMgYXJlIG5vdCB2ZXJ5IHVzZWZ1bD8gTGVhcm4gdG8gdXNlIHRoZW0gaW4gdW5leHBlY3RlZCBwbGFjZXMgdG8gc2ltcGxpZnkgdGhpbmdzPC9saT4KICA8bGk+U2VlIGhvdyB0byBpbnRlZ3JhdGUgd2l0aCBGbGFzaCBjb21wb25lbnRzIGFuZCBjcmVhdGUgaW50ZXJhY3RpdmUgY2hhcnRzIGF0IHRoZSBzYW1lIHRpbWU8L2xpPgogIDxsaT5XZWIgMS4wIHRvbyBib3Jpbmc/IExlYXJuIGhvdyB0byB0YW1lIFdpY2tldOKAmXMgQUpBWCBzdXBwb3J0IGFuZCBicmluZyB5b3VyIGFwcGxpY2F0aW9uIGludG8gV2ViIDIuMDwvbGk+CiAgPGxpPlNpbXBsaWZ5IHlvdXIgc2VjdXJpdHkgY29kZSBieSBsZWFybmluZyB2YXJpb3VzIHNlY3VyaXR5IHRlY2huaXF1ZXM8L2xpPgogIDxsaT5BbiBhcHBsaWNhdGlvbiBjYW5ub3QgYmUgYnVpbHQgd2l0aCBXaWNrZXQgYWxvbmU7IHNlZSBob3cgdG8gbWFrZSBpdCBwbGF5IG5pY2Ugd2l0aCBvdGhlciBmcmFtZXdvcmtzPC9saT4KPC91bD4KCjxoMiBpZD0iYXBwcm9hY2giPkFwcHJvYWNoPC9oMj4KCjxwPlRoaXMgaXMgYSBoYW5kcy1vbiBwcmFjdGljYWwgZ3VpZGUgdG8gYSBsYXJnZSB2YXJpZXR5IG9mIHRvcGljcyBhbmQgdXNlIGNhc2VzLgpUaGlzIGJvb2sgdHJpZXMgdG8gdXNlIHJlYWwtd29ybGQgZXhhbXBsZXMgd2hlbiBwb3NzaWJsZSwgYnV0IGlzIG5vdCBhZnJhaWQgdG8gY29tZSB1cCB3aXRoIGEgY29udHJpdmVkIHByZXRleHQgaWYgaXQgbWFrZXMgZXhwbGFpbmluZyB0aGUgcHJvYmxlbSBzaW1wbGVyLgpVbmxpa2UgYSBsb3Qgb2Ygb3RoZXIgYm9va3MsIHRoaXMgb25lIGRvZXMgbm90IHRyeSB0byBtYWludGFpbiBhIGNvbnRpbnVvdXMgdGhlbWUgZnJvbSBjaGFwdGVyIHRvIGNoYXB0ZXIsIHN1Y2ggYXMgZGVtb25zdHJhdGluZyBzb2x1dGlvbnMgb24gdGhlIHNhbWUgZmljdGlvbmFsIGFwcGxpY2F0aW9uOyBkb2luZyBzbyB3b3VsZCBiZSBhbG1vc3QgaW1wb3NzaWJsZSBnaXZlbiB0aGUgd2lkZSB2YXJpZXR5IG9mIHJlY2lwZXMgcHJlc2VudGVkIGhlcmUuCkluc3RlYWQsIHRoaXMgYm9vayBjb25jZW50cmF0ZXMgb24gZm9jdXNlZCBwcm9ibGVtcyB1c2VycyBhcmUgbGlrZWx5IHRvIGVuY291bnRlciBhbmQgc2hvd3MgY2xlYXIgc29sdXRpb25zIGluIGEgc3RlcC1ieS1zdGVwIG1hbm5lci4KVGhpcyBib29rIHRyaWVzIHRvIHRlYWNoIGJ5IGV4YW1wbGUgYW5kIGlzIG5vdCBhZnJhaWQgdG8gc2hvdyBhIGxvdCBvZiBjb2RlIGJlY2F1c2UsIGFmdGVyIGFsbCwgaXQgaXMgZm9yIGNvZGVycy48L3A+Cgo8aDIgaWQ9Indoby10aGlzLWJvb2staXMtd3JpdHRlbi1mb3IiPldobyB0aGlzIGJvb2sgaXMgd3JpdHRlbiBmb3I8L2gyPgoKPHA+VGhpcyBib29rIGlzIGZvciBjdXJyZW50IHVzZXJzIG9mIHRoZSBBcGFjaGUgV2lja2V0IGZyYW1ld29yazsgaXQgaXMgbm90IGFuIGludHJvZHVjdGlvbiB0byBXaWNrZXQgdGhhdCB3aWxsIGJvcmUgeW91IHdpdGggdG9ucyBvZiB0aGVvcnkuCllvdSBhcmUgZXhwZWN0ZWQgdG8gaGF2ZSBidWlsdCBvciBtYWludGFpbmVkIGEgc2ltcGxlIFdpY2tldCBhcHBsaWNhdGlvbiBpbiB0aGUgcGFzdCBhbmQgdG8gYmUgbG9va2luZyB0byBsZWFybiBuZXcgYW5kIGJldHRlciB3YXlzIG9mIHVzaW5nIFdpY2tldC4gCklmIHlvdSBhcmUgcmVhZHkgdG8gdGFrZSB5b3VyIFdpY2tldCBza2lsbHMgdG8gdGhlIG5leHQgbGV2ZWwgdGhpcyBib29rIGlzIGZvciB5b3UuPC9wPgoKPGgyIGlkPSJhYm91dC10aGUtYXV0aG9yIj5BYm91dCB0aGUgYXV0aG9yPC9oMj4KCjxwPklnb3IgVmF5bmJlcmcgaXMgYSBzb2Z0d2FyZSBhcmNoaXRlY3Qgd2l0aCBtb3JlIHRoYW4gdGVuIHllYXJzIG9mIGV4cGVyaWVuY2UgaW4gdGhlIHNvZnR3YXJlIGZpZWxkLgpIaXMgbGlraW5nIGZvciBjb21wdXRlcnMgd2FzIHNwYXJrZWQgd2hlbiBoaXMgcGFyZW50cyBnb3QgaGltIGEgU2luY2xhaXIgWjgwIHdoZW4gaGUgd2FzIGJ1dCB0ZW4geWVhcnMgb2xkLgpTaW5jZSB0aGVuIGhlIGhhcyB3b3JrZWQgd2l0aCBjb21wYW5pZXMgYm90aCBsYXJnZSBhbmQgc21hbGwgYnVpbGRpbmcgbW9kdWxhciBhbmQgc2NhbGFibGUgd2ViIGFwcGxpY2F0aW9ucy4KSWdvcuKAmXMgbWFpbiBpbnRlcmVzdCBpcyBmaW5kaW5nIHdheXMgdG8gc2ltcGxpZnkgdGhlIGRldmVsb3BtZW50IG9mIGNvbXBsZXggdXNlciBpbnRlcmZhY2VzIHJlcXVpcmVkIGJ5IG1vZGVybiB3ZWIgYXBwbGljYXRpb25zLgpJZ29yIGlzIGEgY29tbWl0dGVyIGZvciB0aGUgQXBhY2hlIFdpY2tldCBmcmFtZXdvcmssIHRoZSBhaW0gb2Ygd2hpY2ggaXMgdG8gc2ltcGxpZnkgdGhlIHByb2dyYW1taW5nIG1vZGVsIGFzIHdlbGwgYXMgcmVpbnRyb2R1Y2UgT09QIHRvIHRoZSB3ZWIgVUkgdGllci4KSW4gaGlzIEFGSyB0aW1lIGhlIGVuam95cyBzbm93Ym9hcmRpbmcgd2l0aCBoaXMgYmVhdXRpZnVsIHdpZmUgYW5kIHBsYXlpbmcgd2l0aCBoaXMgYW1hemluZyBjaGlsZHJlbi48L3A+Cgo8aDIgaWQ9ImJvb2stZGV0YWlscyI+Qm9vayBkZXRhaWxzPC9oMj4KCjx0YWJsZT4KCTx0cj4KCQk8dGg+VGl0bGU8L3RoPgoJCTx0ZD5BcGFjaGUgV2lja2V0IENvb2tib29rPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRoPkF1dGhvcjwvdGg+CgkJPHRkPklnb3IgVmF5bmJlcmc8L3RkPgoJPC90cj4KCTx0cj4KCQk8dGg+VmVyc2lvbiBjb3ZlcmVkPC90aD4KCQk8dGQ+V2lja2V0IDEuNCwgYnV0IG1vc3QgbWF0ZXJpYWwgaXMgYXBwbGljYWJsZSB0byBXaWNrZXQgMS41PC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRoPlB1Ymxpc2hlciBVUkw8L3RoPgoJCTx0ZD48YSBocmVmPSJodHRwOi8vd3d3LnBhY2t0cHViLmNvbS9hcGFjaGUtd2lja2V0LWNvb2tib29rL2Jvb2siPkFwYWNoZSBXaWNrZXQgQ29va2Jvb2s8L2E+PC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRoPlBhcGVyYmFjazwvdGg+CgkJPHRkPjMxMiBwYWdlczwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0aD5EYXRlPC90aD4KCQk8dGQ+TWFyY2gsIDIwMTE8L3RkPgoJPC90cj4KCTx0cj4KCQk8dGg+TGFuZ3VhZ2U8L3RoPgoJCTx0ZD5FbmdsaXNoPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRoPklTQk4tMTA8L3RoPgoJCTx0ZD4xODQ5NTExNjA4PC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRoPklTQk4tMTM8L3RoPgoJCTx0ZD45NzgtMS04NDk1MS0xNjAtNTwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0aD5CdXk8L3RoPgoJCTx0ZD48YSBocmVmPSJodHRwOi8vd3d3LnBhY2t0cHViLmNvbS9hcGFjaGUtd2lja2V0LWNvb2tib29rL2Jvb2siPlBBQ0tUIFB1Ymxpc2hpbmc8L2E+PC90ZD4KCTwvdHI+CjwvdGFibGU+CgoGOgZFVA==