ClNpbXBsZSBEaXJlY3RNZWRpYSBMYXllciBDUkVESVRTClRoYW5rcyB0byBldmVyeW9uZSB3aG8gbWFkZSB0aGlzIHBvc3NpYmxlLCBpbmNsdWRpbmc6CgoqIENsaWZmIE1hdHRoZXdzLCBmb3IgZ2l2aW5nIG1lIGEgcmVhc29uIHRvIHN0YXJ0IHRoaXMgcHJvamVjdC4gOikKIC0tIEV4ZWN1dG9yIHJvY2tzISAgKmdyaW4qCgoqIFNjb3R0IENhbGwsIGZvciBtYWtpbmcgYSBob21lIGZvciBTREwgb24gdGhlICdOZXQuLi4gVGhhbmtzISA6KQoKKiBUaGUgTGludXggRnVuZCwgQyBNYWdhemluZSwgRWR1Y2F0aW9uYWwgVGVjaG5vbG9neSBSZXNvdXJjZXMgSW5jLiwKICBHYXJldGggTm95Y2UsIEplc3NlIFBhdmVsLCBLZWl0aCBLaXRjaGluLCBKZXJlbXkgSG9ydmF0aCwgVGhvbWFzIE5pY2hvbHNvbiwKICBIYW5zLVBldGVyIEd5Z2F4LCB0aGUgRXRlcm5hbCBMYW5kcyBEZXZlbG9wbWVudCBUZWFtLCBMYXJzIEJydWJha2VyLAogIGFuZCBQaG9lbml4IEtva2lkbyBmb3IgZmluYW5jaWFsIGNvbnRyaWJ1dGlvbnMKCiogR2HrdGFuIGRlIE1lbnRlbiBmb3Igd3JpdGluZyB0aGUgUEhQIGFuZCBTUUwgYmVoaW5kIHRoZSBTREwgd2Vic2l0ZQoKKiBUaW0gSm9uZXMgZm9yIHRoZSBuZXcgbG9vayBvZiB0aGUgU0RMIHdlYnNpdGUKCiogTWFyY28gS3JhdXMgZm9yIHNldHRpbmcgdXAgU0RMIG1lcmNoYW5kaXNlCgoqIE1hcnRpbiBEb25sb24gZm9yIGhpcyB3b3JrIG9uIHRoZSBTREwgRG9jdW1lbnRhdGlvbiBQcm9qZWN0CgoqIFJ5YW4gR29yZG9uIGZvciBoZWxwaW5nIGV2ZXJ5Ym9keSBvdXQgYW5kIGtlZXBpbmcgdGhlIGRyZWFtIGFsaXZlLiA6KQoKKiBJQk0gUiZEIExhYiBmb3IgdGhlaXIgUFMzIFNQRSB2aWRlbyBhY2NlbGVyYXRpb24gY29kZQoKKiBNYXR0aWFzIEVuZ2RlZ+VyZCwgZm9yIGhlbHAgd2l0aCB0aGUgU29sYXJpcyBwb3J0IGFuZCBsb3RzIG9mIG90aGVyIGhlbHAKCiogTWF4IFdhdHNvbiwgTWF0dCBTbG90LCBhbmQgS3lsZSBmb3IgaGVscCB3aXRoIHRoZSBNYWNPUyBDbGFzc2ljIHBvcnQKCiogU3RhbiBTaGVicywgZm9yIHRoZSBpbml0aWFsIE1hYyBPUyBYIHBvcnQKCiogRXJpYyBXaW5nLCBNYXggSG9ybiwgYW5kIERhcnJlbGwgV2FsaXNzZXIgZm9yIHVuZmxhZ2dpbmcgd29yayBvbiB0aGUgTWFjIE9TIFggcG9ydAoKKiBQYXRyaWNrIFRyYWlub3IsIEppbSBCb3VjaGVyLCBhbmQgTWlrZSBHb3JjaGFrIGZvciB0aGUgUU5YIE5ldXRyaW5vIHBvcnQKCiogQ2Fyc3RlbiBHcml3b2R6IGZvciB0aGUgQUlYIHBvcnQKCiogR2FicmllbGUgR3JlY28sIGZvciB0aGUgQW1pZ2EgcG9ydAoKKiBQYXRyaWNlIE1hbmRpbiwgZm9yIHRoZSBBdGFyaSBwb3J0CgoqIEhhbm51IFZpaXRhbGEgZm9yIHRoZSBFUE9DIHBvcnQKCiogTWFyY3VzIE1lcnRhbWEgZm9yIHRoZSBTNjAgcG9ydC4KCiogUGV0ZXIgVmFsY2hldiBmb3IgbmFnZ2luZyBtZSBhYm91dCB0aGUgT3BlbkJTRCBwb3J0IHVudGlsIEkgZ290IGl0IHJpZ2h0LiA6KQoKKiBLZW50IEIgTWVpbiwgZm9yIGEgcGxhY2UgdG8gZG8gdGhlIElSSVggcG9ydAoKKiBBc2gsIGZvciBhIHBsYWNlIHRvIGRvIHRoZSBPU0YvMSBBbHBoYSBwb3J0CgoqIERhdmlkIFNvd3N5LCBmb3IgaGVscCB3aXRoIHRoZSBCZU9TIHBvcnQKCiogRXVnZW5pYSBMb2xpLCBmb3IgZW5kbGVzcyB3b3JrIG9uIHBvcnRpbmcgU0RMIGdhbWVzIHRvIEJlT1MKCiogSm9uIFRheWxvciBmb3IgdGhlIEdHSSBmcm9udC1lbmQKCiogUGF1bHVzIEVzdGVyaGF6eSwgZm9yIHRoZSBWaXN1YWwgQysrIHRlc3RpbmcgYW5kIGxpYnJhcmllcwoKKiBCcmVuZGEgVGFudHplbiwgZm9yIE1ldHJvd2Vya3MgQ29kZVdhcnJpb3Igb24gTWFjT1MKCiogQ2hyaXMgTmVudHdpY2gsIGZvciB0aGUgSGVybWVzIGFzc2VtYmx5IGJsaXR0ZXJzCgoqIE1pY2hhZWwgVmFuY2UgYW5kIEppbSBLdXR0ZXIgZm9yIHRoZSBYMTEgT3BlbkdMIHN1cHBvcnQKCiogU3RlcGhhbmUgUGV0ZXIsIGZvciB0aGUgQUFsaWIgZnJvbnQtZW5kIGFuZCBtdWx0aS10aHJlYWRlZCB0aW1lciBpZGVhLgoKKiBKb24gQXRraW5zIGZvciBTRExfaW1hZ2UsIFNETF9taXhlciBhbmQgU0RMX25ldCBkb2N1bWVudGF0aW9uCgoqIFBldGVyIFdpa2x1bmQsIGZvciB0aGUgMTk5OCB3aW5uaW5nIFNETCBsb2dvLAogIGFuZCBBcnRvIEhhbWFyYSwgU3RldmVuIFdvbmcsIGFuZCBLZW50IE1laW4gZm9yIG90aGVyIGxvZ28gZW50cmllcy4KCiogQXJuZSBDbGF1cywgZm9yIHRoZSAyMDA0IHdpbm5pbmcgU0RMIGxvZ28sCiAgYW5kIFNoYW5keSBCcm93biwgSmFjLCBBbGV4IEx5bWFuLCBNaWtrZWwgR2pvZWwsICNHdXksIEpvbmFzIEhhcnRtYW5uLAogIERhbmllbCBMaWxqZWJlcmcsICBSb25hbGQgU293YSwgRG9jRCwgUGVra2EgSmFlcnZpbmVuLCBQYXRyaWNrIEF2ZWxsYSwKICBFcmtraSBLb250aWxsYSwgTGV2b24gR2F2YWxpYW4sIEhhbCBFbWVyaWNoLCBEYXZpZCBXaWt0b3Jzc29uLAogIFMuIFNjaHVyeSBhbmQgRi4gSHVmc2t5LCBDaXNrYSBkZSBSdXl2ZXIsIFNocmVkd2VhdCwgVHlsZXIgTW9udGJyaWFuZCwKICBNYXJ0aW4gQW5kZXJzc29uLCBNZXJseW4gV3lzYXJkLCBGZXJuYW5kbyBJYmFuZXosIERhdmlkIE1pbGxlciwKICBBbmRyZSBCb21tZWxlLCBsb3Zlc2J5LmNvbSwgRnJhbmNpc2NvIENhbWVuZm9ydGUgVG9ycmVzLCBhbmQgRGF2aWQgSWdyZWphCiAgZm9yIG90aGVyIGxvZ28gZW50cmllcy4KCiogQm9iIFBlbmRsZXRvbiBhbmQgRGF2aWQgT2xvZnNvbiBmb3IgYmVpbmcgbG9uZyB0aW1lIGNvbnRyaWJ1dG9ycyB0bwogIHRoZSBTREwgbWFpbGluZyBsaXN0LgoKKiBFdmVyeWJvZHkgYXQgTG9raSBTb2Z0d2FyZSwgSW5jLiBmb3IgdGhlaXIgZ3JlYXQgY29udHJpYnV0aW9ucyEKCiBBbmQgYSBiaWcgaGFuZCB0byBldmVyeW9uZSBlbHNlIHdobyBnYXZlIG1lIGFwcHJlY2lhdGlvbiwgYWR2aWNlLAogYW5kIHN1Z2dlc3Rpb25zLCBlc3BlY2lhbGx5IHRoZSBnb29kIGZvbGtzIG9uIHRoZSBTREwgbWFpbGluZyBsaXN0LgoKVEhBTktTISA6KQoKICAtLSBTYW0gTGFudGluZ2EJCQk8c2xvdWtlbkBsaWJzZGwub3JnPgoK