ZGlmZiAtLWdpdCBhL0luY2x1ZGUvc3RtMzJmNzIyeHguaCBiL0luY2x1ZGUvc3RtMzJmNzIyeHguaAppbmRleCAwOTVlYzkzLi5hNDBiZjljIDEwMDY0NAotLS0gYS9JbmNsdWRlL3N0bTMyZjcyMnh4LmgKKysrIGIvSW5jbHVkZS9zdG0zMmY3MjJ4eC5oCkBAIC03LDE4ICs3LDE3IEBACiAgICogICAgICAgICAgVGhpcyBmaWxlIGNvbnRhaW5zOgogICAqICAgICAgICAgICAtIERhdGEgc3RydWN0dXJlcyBhbmQgdGhlIGFkZHJlc3MgbWFwcGluZyBmb3IgYWxsIHBlcmlwaGVyYWxzCiAgICogICAgICAgICAgIC0gUGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBkZWNsYXJhdGlvbnMgYW5kIGJpdHMgZGVmaW5pdGlvbgotICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbJJzIHJlZ2lzdGVycyBoYXJkd2FyZQorICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBoYXJkd2FyZQogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMTUzLDEzICsxNTIsMTMgQEAKICAqIEBicmllZiBDb25maWd1cmF0aW9uIG9mIHRoZSBDb3J0ZXgtTTcgUHJvY2Vzc29yIGFuZCBDb3JlIFBlcmlwaGVyYWxzCiAgKi8KICNkZWZpbmUgX19DTTdfUkVWICAgICAgICAgICAgICAgICAweDAxMDBVICAvKiE8IENvcnRleC1NNyByZXZpc2lvbiByMXAwICAgICAgICAgICAgICAgICAgICAgICAqLwotI2RlZmluZSBfX01QVV9QUkVTRU5UICAgICAgICAgICAgIDEgICAgICAgLyohPCBDTTcgcHJvdmlkZXMgYW4gTVBVICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgX19OVklDX1BSSU9fQklUUyAgICAgICAgICA0ICAgICAgIC8qITwgQ003IHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICAgICovCi0jZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMCAgICAgICAvKiE8IFNldCB0byAxIGlmIGRpZmZlcmVudCBTeXNUaWNrIENvbmZpZyBpcyB1c2VkICAqLwotI2RlZmluZSBfX0ZQVV9QUkVTRU5UICAgICAgICAgICAgIDEgICAgICAgLyohPCBGUFUgcHJlc2VudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgX19JQ0FDSEVfUFJFU0VOVCAgICAgICAgICAxICAgICAgIC8qITwgQ003IGluc3RydWN0aW9uIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIF9fRENBQ0hFX1BSRVNFTlQgICAgICAgICAgMSAgICAgICAvKiE8IENNNyBkYXRhIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICAgICAgICAqLwotI2luY2x1ZGUgImNvcmVfY203LmgiICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3J0ZXgtTTcgcHJvY2Vzc29yIGFuZCBjb3JlIHBlcmlwaGVyYWxzICAgICAgKi8KKyNkZWZpbmUgX19NUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgICAvKiE8IENNNyBwcm92aWRlcyBhbiBNUFUgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBfX05WSUNfUFJJT19CSVRTICAgICAgICAgIDRVICAgICAgIC8qITwgQ003IHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICAgICovCisjZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMFUgICAgICAgLyohPCBTZXQgdG8gMSBpZiBkaWZmZXJlbnQgU3lzVGljayBDb25maWcgaXMgdXNlZCAgKi8KKyNkZWZpbmUgX19GUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgICAvKiE8IEZQVSBwcmVzZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBfX0lDQUNIRV9QUkVTRU5UICAgICAgICAgIDFVICAgICAgIC8qITwgQ003IGluc3RydWN0aW9uIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIF9fRENBQ0hFX1BSRVNFTlQgICAgICAgICAgMVUgICAgICAgLyohPCBDTTcgZGF0YSBjYWNoZSBwcmVzZW50ICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNpbmNsdWRlICJjb3JlX2NtNy5oIiAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcnRleC1NNyBwcm9jZXNzb3IgYW5kIGNvcmUgcGVyaXBoZXJhbHMgICAgICAqLwogCiAKICNpbmNsdWRlICJzeXN0ZW1fc3RtMzJmN3h4LmgiCkBAIC0xMTY3LDYgKzExNjYsMTUgQEAKICAgKiBAewogICAqLwogCisgIC8qKiBAYWRkdG9ncm91cCBIYXJkd2FyZV9Db25zdGFudF9EZWZpbml0aW9uCisgICAgKiBAeworICAgICovCisjZGVmaW5lIExTSV9TVEFSVFVQX1RJTUUgNDBVIC8qITwgTFNJIE1heGltdW0gc3RhcnR1cCB0aW1lIGluIHVzICovCisKKyAgLyoqCisgICAgKiBAfQorICAgICovCisKICAgLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfUmVnaXN0ZXJzX0JpdHNfRGVmaW5pdGlvbgogICAqIEB7CiAgICovCkBAIC0xNTQ1OSw0ICsxNTQ2NywzIEBACiAjZW5kaWYgLyogX19TVE0zMkY3MjJ4eF9IICovCiAKIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luY2x1ZGUvc3RtMzJmNzIzeHguaCBiL0luY2x1ZGUvc3RtMzJmNzIzeHguaAppbmRleCA2OGY4ZjM0Li4yZDRkZDk0IDEwMDY0NAotLS0gYS9JbmNsdWRlL3N0bTMyZjcyM3h4LmgKKysrIGIvSW5jbHVkZS9zdG0zMmY3MjN4eC5oCkBAIC03LDE4ICs3LDE3IEBACiAgICogICAgICAgICAgVGhpcyBmaWxlIGNvbnRhaW5zOgogICAqICAgICAgICAgICAtIERhdGEgc3RydWN0dXJlcyBhbmQgdGhlIGFkZHJlc3MgbWFwcGluZyBmb3IgYWxsIHBlcmlwaGVyYWxzCiAgICogICAgICAgICAgIC0gUGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBkZWNsYXJhdGlvbnMgYW5kIGJpdHMgZGVmaW5pdGlvbgotICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbJJzIHJlZ2lzdGVycyBoYXJkd2FyZQorICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBoYXJkd2FyZQogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMTUzLDEzICsxNTIsMTMgQEAKICAqIEBicmllZiBDb25maWd1cmF0aW9uIG9mIHRoZSBDb3J0ZXgtTTcgUHJvY2Vzc29yIGFuZCBDb3JlIFBlcmlwaGVyYWxzCiAgKi8KICNkZWZpbmUgX19DTTdfUkVWICAgICAgICAgICAgICAgICAweDAxMDBVICAvKiE8IENvcnRleC1NNyByZXZpc2lvbiByMXAwICAgICAgICAgICAgICAgICAgICAgICAqLwotI2RlZmluZSBfX01QVV9QUkVTRU5UICAgICAgICAgICAgIDEgICAgICAgLyohPCBDTTcgcHJvdmlkZXMgYW4gTVBVICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgX19OVklDX1BSSU9fQklUUyAgICAgICAgICA0ICAgICAgIC8qITwgQ003IHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICAgICovCi0jZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMCAgICAgICAvKiE8IFNldCB0byAxIGlmIGRpZmZlcmVudCBTeXNUaWNrIENvbmZpZyBpcyB1c2VkICAqLwotI2RlZmluZSBfX0ZQVV9QUkVTRU5UICAgICAgICAgICAgIDEgICAgICAgLyohPCBGUFUgcHJlc2VudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgX19JQ0FDSEVfUFJFU0VOVCAgICAgICAgICAxICAgICAgIC8qITwgQ003IGluc3RydWN0aW9uIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIF9fRENBQ0hFX1BSRVNFTlQgICAgICAgICAgMSAgICAgICAvKiE8IENNNyBkYXRhIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICAgICAgICAqLwotI2luY2x1ZGUgImNvcmVfY203LmgiICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3J0ZXgtTTcgcHJvY2Vzc29yIGFuZCBjb3JlIHBlcmlwaGVyYWxzICAgICAgKi8KKyNkZWZpbmUgX19NUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgICAvKiE8IENNNyBwcm92aWRlcyBhbiBNUFUgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBfX05WSUNfUFJJT19CSVRTICAgICAgICAgIDRVICAgICAgIC8qITwgQ003IHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICAgICovCisjZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMFUgICAgICAgLyohPCBTZXQgdG8gMSBpZiBkaWZmZXJlbnQgU3lzVGljayBDb25maWcgaXMgdXNlZCAgKi8KKyNkZWZpbmUgX19GUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgICAvKiE8IEZQVSBwcmVzZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBfX0lDQUNIRV9QUkVTRU5UICAgICAgICAgIDFVICAgICAgIC8qITwgQ003IGluc3RydWN0aW9uIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIF9fRENBQ0hFX1BSRVNFTlQgICAgICAgICAgMVUgICAgICAgLyohPCBDTTcgZGF0YSBjYWNoZSBwcmVzZW50ICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNpbmNsdWRlICJjb3JlX2NtNy5oIiAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcnRleC1NNyBwcm9jZXNzb3IgYW5kIGNvcmUgcGVyaXBoZXJhbHMgICAgICAqLwogCiAKICNpbmNsdWRlICJzeXN0ZW1fc3RtMzJmN3h4LmgiCkBAIC0xMTgzLDYgKzExODIsMTUgQEAKICAgKiBAewogICAqLwogCisgIC8qKiBAYWRkdG9ncm91cCBIYXJkd2FyZV9Db25zdGFudF9EZWZpbml0aW9uCisgICAgKiBAeworICAgICovCisjZGVmaW5lIExTSV9TVEFSVFVQX1RJTUUgNDBVIC8qITwgTFNJIE1heGltdW0gc3RhcnR1cCB0aW1lIGluIHVzICovCisKKyAgLyoqCisgICAgKiBAfQorICAgICovCisKICAgLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfUmVnaXN0ZXJzX0JpdHNfRGVmaW5pdGlvbgogICAqIEB7CiAgICovCkBAIC0xNTU1Myw0ICsxNTU2MSwzIEBACiAjZW5kaWYgLyogX19TVE0zMkY3MjN4eF9IICovCiAKIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luY2x1ZGUvc3RtMzJmNzMweHguaCBiL0luY2x1ZGUvc3RtMzJmNzMweHguaAppbmRleCBhOTdiNTY4Li5hNDA1MmY4IDEwMDY0NAotLS0gYS9JbmNsdWRlL3N0bTMyZjczMHh4LmgKKysrIGIvSW5jbHVkZS9zdG0zMmY3MzB4eC5oCkBAIC03LDE4ICs3LDE3IEBACiAgICogICAgICAgICAgVGhpcyBmaWxlIGNvbnRhaW5zOgogICAqICAgICAgICAgICAtIERhdGEgc3RydWN0dXJlcyBhbmQgdGhlIGFkZHJlc3MgbWFwcGluZyBmb3IgYWxsIHBlcmlwaGVyYWxzCiAgICogICAgICAgICAgIC0gUGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBkZWNsYXJhdGlvbnMgYW5kIGJpdHMgZGVmaW5pdGlvbgotICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbJJzIHJlZ2lzdGVycyBoYXJkd2FyZQorICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBoYXJkd2FyZQogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMTU0LDEzICsxNTMsMTMgQEAKICAqIEBicmllZiBDb25maWd1cmF0aW9uIG9mIHRoZSBDb3J0ZXgtTTcgUHJvY2Vzc29yIGFuZCBDb3JlIFBlcmlwaGVyYWxzCiAgKi8KICNkZWZpbmUgX19DTTdfUkVWICAgICAgICAgICAgICAgICAweDAxMDBVICAvKiE8IENvcnRleC1NNyByZXZpc2lvbiByMXAwICAgICAgICAgICAgICAgICAgICAgICAqLwotI2RlZmluZSBfX01QVV9QUkVTRU5UICAgICAgICAgICAgIDEgICAgICAgLyohPCBDTTcgcHJvdmlkZXMgYW4gTVBVICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgX19OVklDX1BSSU9fQklUUyAgICAgICAgICA0ICAgICAgIC8qITwgQ003IHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICAgICovCi0jZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMCAgICAgICAvKiE8IFNldCB0byAxIGlmIGRpZmZlcmVudCBTeXNUaWNrIENvbmZpZyBpcyB1c2VkICAqLwotI2RlZmluZSBfX0ZQVV9QUkVTRU5UICAgICAgICAgICAgIDEgICAgICAgLyohPCBGUFUgcHJlc2VudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgX19JQ0FDSEVfUFJFU0VOVCAgICAgICAgICAxICAgICAgIC8qITwgQ003IGluc3RydWN0aW9uIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIF9fRENBQ0hFX1BSRVNFTlQgICAgICAgICAgMSAgICAgICAvKiE8IENNNyBkYXRhIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICAgICAgICAqLwotI2luY2x1ZGUgImNvcmVfY203LmgiICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3J0ZXgtTTcgcHJvY2Vzc29yIGFuZCBjb3JlIHBlcmlwaGVyYWxzICAgICAgKi8KKyNkZWZpbmUgX19NUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgICAvKiE8IENNNyBwcm92aWRlcyBhbiBNUFUgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBfX05WSUNfUFJJT19CSVRTICAgICAgICAgIDRVICAgICAgIC8qITwgQ003IHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICAgICovCisjZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMFUgICAgICAgLyohPCBTZXQgdG8gMSBpZiBkaWZmZXJlbnQgU3lzVGljayBDb25maWcgaXMgdXNlZCAgKi8KKyNkZWZpbmUgX19GUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgICAvKiE8IEZQVSBwcmVzZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBfX0lDQUNIRV9QUkVTRU5UICAgICAgICAgIDFVICAgICAgIC8qITwgQ003IGluc3RydWN0aW9uIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIF9fRENBQ0hFX1BSRVNFTlQgICAgICAgICAgMVUgICAgICAgLyohPCBDTTcgZGF0YSBjYWNoZSBwcmVzZW50ICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNpbmNsdWRlICJjb3JlX2NtNy5oIiAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcnRleC1NNyBwcm9jZXNzb3IgYW5kIGNvcmUgcGVyaXBoZXJhbHMgICAgICAqLwogCiAKICNpbmNsdWRlICJzeXN0ZW1fc3RtMzJmN3h4LmgiCkBAIC0xMjE3LDYgKzEyMTYsMTUgQEAKICAgKiBAewogICAqLwogCisgIC8qKiBAYWRkdG9ncm91cCBIYXJkd2FyZV9Db25zdGFudF9EZWZpbml0aW9uCisgICAgKiBAeworICAgICovCisjZGVmaW5lIExTSV9TVEFSVFVQX1RJTUUgNDBVIC8qITwgTFNJIE1heGltdW0gc3RhcnR1cCB0aW1lIGluIHVzICovCisKKyAgLyoqCisgICAgKiBAfQorICAgICovCisKICAgLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfUmVnaXN0ZXJzX0JpdHNfRGVmaW5pdGlvbgogICAqIEB7CiAgICovCkBAIC0xNTc3OCw0ICsxNTc4NiwzIEBACiAjZW5kaWYgLyogX19TVE0zMkY3MzB4eF9IICovCiAKIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luY2x1ZGUvc3RtMzJmNzMyeHguaCBiL0luY2x1ZGUvc3RtMzJmNzMyeHguaAppbmRleCA5NDZhNWI5Li5mNjYzMWI4IDEwMDY0NAotLS0gYS9JbmNsdWRlL3N0bTMyZjczMnh4LmgKKysrIGIvSW5jbHVkZS9zdG0zMmY3MzJ4eC5oCkBAIC03LDE4ICs3LDE3IEBACiAgICogICAgICAgICAgVGhpcyBmaWxlIGNvbnRhaW5zOgogICAqICAgICAgICAgICAtIERhdGEgc3RydWN0dXJlcyBhbmQgdGhlIGFkZHJlc3MgbWFwcGluZyBmb3IgYWxsIHBlcmlwaGVyYWxzCiAgICogICAgICAgICAgIC0gUGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBkZWNsYXJhdGlvbnMgYW5kIGJpdHMgZGVmaW5pdGlvbgotICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbJJzIHJlZ2lzdGVycyBoYXJkd2FyZQorICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBoYXJkd2FyZQogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMTU0LDEzICsxNTMsMTMgQEAKICAqIEBicmllZiBDb25maWd1cmF0aW9uIG9mIHRoZSBDb3J0ZXgtTTcgUHJvY2Vzc29yIGFuZCBDb3JlIFBlcmlwaGVyYWxzCiAgKi8KICNkZWZpbmUgX19DTTdfUkVWICAgICAgICAgICAgICAgICAweDAxMDBVICAvKiE8IENvcnRleC1NNyByZXZpc2lvbiByMXAwICAgICAgICAgICAgICAgICAgICAgICAqLwotI2RlZmluZSBfX01QVV9QUkVTRU5UICAgICAgICAgICAgIDEgICAgICAgLyohPCBDTTcgcHJvdmlkZXMgYW4gTVBVICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgX19OVklDX1BSSU9fQklUUyAgICAgICAgICA0ICAgICAgIC8qITwgQ003IHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICAgICovCi0jZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMCAgICAgICAvKiE8IFNldCB0byAxIGlmIGRpZmZlcmVudCBTeXNUaWNrIENvbmZpZyBpcyB1c2VkICAqLwotI2RlZmluZSBfX0ZQVV9QUkVTRU5UICAgICAgICAgICAgIDEgICAgICAgLyohPCBGUFUgcHJlc2VudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgX19JQ0FDSEVfUFJFU0VOVCAgICAgICAgICAxICAgICAgIC8qITwgQ003IGluc3RydWN0aW9uIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIF9fRENBQ0hFX1BSRVNFTlQgICAgICAgICAgMSAgICAgICAvKiE8IENNNyBkYXRhIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICAgICAgICAqLwotI2luY2x1ZGUgImNvcmVfY203LmgiICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3J0ZXgtTTcgcHJvY2Vzc29yIGFuZCBjb3JlIHBlcmlwaGVyYWxzICAgICAgKi8KKyNkZWZpbmUgX19NUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgICAvKiE8IENNNyBwcm92aWRlcyBhbiBNUFUgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBfX05WSUNfUFJJT19CSVRTICAgICAgICAgIDRVICAgICAgIC8qITwgQ003IHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICAgICovCisjZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMFUgICAgICAgLyohPCBTZXQgdG8gMSBpZiBkaWZmZXJlbnQgU3lzVGljayBDb25maWcgaXMgdXNlZCAgKi8KKyNkZWZpbmUgX19GUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgICAvKiE8IEZQVSBwcmVzZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBfX0lDQUNIRV9QUkVTRU5UICAgICAgICAgIDFVICAgICAgIC8qITwgQ003IGluc3RydWN0aW9uIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIF9fRENBQ0hFX1BSRVNFTlQgICAgICAgICAgMVUgICAgICAgLyohPCBDTTcgZGF0YSBjYWNoZSBwcmVzZW50ICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNpbmNsdWRlICJjb3JlX2NtNy5oIiAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcnRleC1NNyBwcm9jZXNzb3IgYW5kIGNvcmUgcGVyaXBoZXJhbHMgICAgICAqLwogCiAKICNpbmNsdWRlICJzeXN0ZW1fc3RtMzJmN3h4LmgiCkBAIC0xMjAxLDYgKzEyMDAsMTUgQEAKICAgKiBAewogICAqLwogCisgIC8qKiBAYWRkdG9ncm91cCBIYXJkd2FyZV9Db25zdGFudF9EZWZpbml0aW9uCisgICAgKiBAeworICAgICovCisjZGVmaW5lIExTSV9TVEFSVFVQX1RJTUUgNDBVIC8qITwgTFNJIE1heGltdW0gc3RhcnR1cCB0aW1lIGluIHVzICovCisKKyAgLyoqCisgICAgKiBAfQorICAgICovCisKICAgLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfUmVnaXN0ZXJzX0JpdHNfRGVmaW5pdGlvbgogICAqIEB7CiAgICovCkBAIC0xNTY4NCw0ICsxNTY5MiwzIEBACiAjZW5kaWYgLyogX19TVE0zMkY3MzJ4eF9IICovCiAKIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luY2x1ZGUvc3RtMzJmNzMzeHguaCBiL0luY2x1ZGUvc3RtMzJmNzMzeHguaAppbmRleCBlMTYwYzYyLi4yYjA4NmEwIDEwMDY0NAotLS0gYS9JbmNsdWRlL3N0bTMyZjczM3h4LmgKKysrIGIvSW5jbHVkZS9zdG0zMmY3MzN4eC5oCkBAIC03LDE4ICs3LDE3IEBACiAgICogICAgICAgICAgVGhpcyBmaWxlIGNvbnRhaW5zOgogICAqICAgICAgICAgICAtIERhdGEgc3RydWN0dXJlcyBhbmQgdGhlIGFkZHJlc3MgbWFwcGluZyBmb3IgYWxsIHBlcmlwaGVyYWxzCiAgICogICAgICAgICAgIC0gUGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBkZWNsYXJhdGlvbnMgYW5kIGJpdHMgZGVmaW5pdGlvbgotICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbJJzIHJlZ2lzdGVycyBoYXJkd2FyZQorICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBoYXJkd2FyZQogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMTU0LDEzICsxNTMsMTMgQEAKICAqIEBicmllZiBDb25maWd1cmF0aW9uIG9mIHRoZSBDb3J0ZXgtTTcgUHJvY2Vzc29yIGFuZCBDb3JlIFBlcmlwaGVyYWxzCiAgKi8KICNkZWZpbmUgX19DTTdfUkVWICAgICAgICAgICAgICAgICAweDAxMDBVICAvKiE8IENvcnRleC1NNyByZXZpc2lvbiByMXAwICAgICAgICAgICAgICAgICAgICAgICAqLwotI2RlZmluZSBfX01QVV9QUkVTRU5UICAgICAgICAgICAgIDEgICAgICAgLyohPCBDTTcgcHJvdmlkZXMgYW4gTVBVICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgX19OVklDX1BSSU9fQklUUyAgICAgICAgICA0ICAgICAgIC8qITwgQ003IHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICAgICovCi0jZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMCAgICAgICAvKiE8IFNldCB0byAxIGlmIGRpZmZlcmVudCBTeXNUaWNrIENvbmZpZyBpcyB1c2VkICAqLwotI2RlZmluZSBfX0ZQVV9QUkVTRU5UICAgICAgICAgICAgIDEgICAgICAgLyohPCBGUFUgcHJlc2VudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgX19JQ0FDSEVfUFJFU0VOVCAgICAgICAgICAxICAgICAgIC8qITwgQ003IGluc3RydWN0aW9uIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIF9fRENBQ0hFX1BSRVNFTlQgICAgICAgICAgMSAgICAgICAvKiE8IENNNyBkYXRhIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICAgICAgICAqLwotI2luY2x1ZGUgImNvcmVfY203LmgiICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3J0ZXgtTTcgcHJvY2Vzc29yIGFuZCBjb3JlIHBlcmlwaGVyYWxzICAgICAgKi8KKyNkZWZpbmUgX19NUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgICAvKiE8IENNNyBwcm92aWRlcyBhbiBNUFUgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBfX05WSUNfUFJJT19CSVRTICAgICAgICAgIDRVICAgICAgIC8qITwgQ003IHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICAgICovCisjZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMFUgICAgICAgLyohPCBTZXQgdG8gMSBpZiBkaWZmZXJlbnQgU3lzVGljayBDb25maWcgaXMgdXNlZCAgKi8KKyNkZWZpbmUgX19GUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgICAvKiE8IEZQVSBwcmVzZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBfX0lDQUNIRV9QUkVTRU5UICAgICAgICAgIDFVICAgICAgIC8qITwgQ003IGluc3RydWN0aW9uIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIF9fRENBQ0hFX1BSRVNFTlQgICAgICAgICAgMVUgICAgICAgLyohPCBDTTcgZGF0YSBjYWNoZSBwcmVzZW50ICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNpbmNsdWRlICJjb3JlX2NtNy5oIiAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcnRleC1NNyBwcm9jZXNzb3IgYW5kIGNvcmUgcGVyaXBoZXJhbHMgICAgICAqLwogCiAKICNpbmNsdWRlICJzeXN0ZW1fc3RtMzJmN3h4LmgiCkBAIC0xMjE3LDYgKzEyMTYsMTUgQEAKICAgKiBAewogICAqLwogCisgIC8qKiBAYWRkdG9ncm91cCBIYXJkd2FyZV9Db25zdGFudF9EZWZpbml0aW9uCisgICAgKiBAeworICAgICovCisjZGVmaW5lIExTSV9TVEFSVFVQX1RJTUUgNDBVIC8qITwgTFNJIE1heGltdW0gc3RhcnR1cCB0aW1lIGluIHVzICovCisKKyAgLyoqCisgICAgKiBAfQorICAgICovCisKICAgLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfUmVnaXN0ZXJzX0JpdHNfRGVmaW5pdGlvbgogICAqIEB7CiAgICovCkBAIC0xNTc3OCw0ICsxNTc4NiwzIEBACiAjZW5kaWYgLyogX19TVE0zMkY3MzN4eF9IICovCiAKIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luY2x1ZGUvc3RtMzJmNzQ1eHguaCBiL0luY2x1ZGUvc3RtMzJmNzQ1eHguaAppbmRleCAyNTAzOTkzLi40YTBiYTA2IDEwMDY0NAotLS0gYS9JbmNsdWRlL3N0bTMyZjc0NXh4LmgKKysrIGIvSW5jbHVkZS9zdG0zMmY3NDV4eC5oCkBAIC03LDE4ICs3LDE3IEBACiAgICogICAgICAgICAgVGhpcyBmaWxlIGNvbnRhaW5zOgogICAqICAgICAgICAgICAtIERhdGEgc3RydWN0dXJlcyBhbmQgdGhlIGFkZHJlc3MgbWFwcGluZyBmb3IgYWxsIHBlcmlwaGVyYWxzCiAgICogICAgICAgICAgIC0gUGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBkZWNsYXJhdGlvbnMgYW5kIGJpdHMgZGVmaW5pdGlvbgotICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbJJzIHJlZ2lzdGVycyBoYXJkd2FyZQorICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBoYXJkd2FyZQogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMTYzLDEzICsxNjIsMTMgQEAKICAqIEBicmllZiBDb25maWd1cmF0aW9uIG9mIHRoZSBDb3J0ZXgtTTcgUHJvY2Vzc29yIGFuZCBDb3JlIFBlcmlwaGVyYWxzCiAgKi8KICNkZWZpbmUgX19DTTdfUkVWICAgICAgICAgICAgICAgICAweDAwMDFVICAvKiE8IENvcnRleC1NNyByZXZpc2lvbiByMHAxICAgICAgICAgICAgICAgICAgICAgICAqLwotI2RlZmluZSBfX01QVV9QUkVTRU5UICAgICAgICAgICAgIDEgICAgICAgLyohPCBDTTcgcHJvdmlkZXMgYW4gTVBVICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgX19OVklDX1BSSU9fQklUUyAgICAgICAgICA0ICAgICAgIC8qITwgQ003IHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICAgICovCi0jZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMCAgICAgICAvKiE8IFNldCB0byAxIGlmIGRpZmZlcmVudCBTeXNUaWNrIENvbmZpZyBpcyB1c2VkICAqLwotI2RlZmluZSBfX0ZQVV9QUkVTRU5UICAgICAgICAgICAgIDEgICAgICAgLyohPCBGUFUgcHJlc2VudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgX19JQ0FDSEVfUFJFU0VOVCAgICAgICAgICAxICAgICAgIC8qITwgQ003IGluc3RydWN0aW9uIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIF9fRENBQ0hFX1BSRVNFTlQgICAgICAgICAgMSAgICAgICAvKiE8IENNNyBkYXRhIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICAgICAgICAqLwotI2luY2x1ZGUgImNvcmVfY203LmgiICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3J0ZXgtTTcgcHJvY2Vzc29yIGFuZCBjb3JlIHBlcmlwaGVyYWxzICAgICAgKi8KKyNkZWZpbmUgX19NUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgICAvKiE8IENNNyBwcm92aWRlcyBhbiBNUFUgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBfX05WSUNfUFJJT19CSVRTICAgICAgICAgIDRVICAgICAgIC8qITwgQ003IHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICAgICovCisjZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMFUgICAgICAgLyohPCBTZXQgdG8gMSBpZiBkaWZmZXJlbnQgU3lzVGljayBDb25maWcgaXMgdXNlZCAgKi8KKyNkZWZpbmUgX19GUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgICAvKiE8IEZQVSBwcmVzZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBfX0lDQUNIRV9QUkVTRU5UICAgICAgICAgIDFVICAgICAgIC8qITwgQ003IGluc3RydWN0aW9uIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIF9fRENBQ0hFX1BSRVNFTlQgICAgICAgICAgMVUgICAgICAgLyohPCBDTTcgZGF0YSBjYWNoZSBwcmVzZW50ICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNpbmNsdWRlICJjb3JlX2NtNy5oIiAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcnRleC1NNyBwcm9jZXNzb3IgYW5kIGNvcmUgcGVyaXBoZXJhbHMgICAgICAqLwogCiAKICNpbmNsdWRlICJzeXN0ZW1fc3RtMzJmN3h4LmgiCkBAIC0xMzUwLDYgKzEzNDksMTUgQEAKICAgKiBAewogICAqLwogCisgIC8qKiBAYWRkdG9ncm91cCBIYXJkd2FyZV9Db25zdGFudF9EZWZpbml0aW9uCisgICAgKiBAeworICAgICovCisjZGVmaW5lIExTSV9TVEFSVFVQX1RJTUUgNDBVIC8qITwgTFNJIE1heGltdW0gc3RhcnR1cCB0aW1lIGluIHVzICovCisKKyAgLyoqCisgICAgKiBAfQorICAgICovCisKICAgLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfUmVnaXN0ZXJzX0JpdHNfRGVmaW5pdGlvbgogICAqIEB7CiAgICovCkBAIC0xNzUzNyw0ICsxNzU0NSwzIEBACiAjZW5kaWYgLyogX19TVE0zMkY3NDV4eF9IICovCiAKIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luY2x1ZGUvc3RtMzJmNzQ2eHguaCBiL0luY2x1ZGUvc3RtMzJmNzQ2eHguaAppbmRleCAzZGE2NTgzLi4yNmU0MDc1IDEwMDY0NAotLS0gYS9JbmNsdWRlL3N0bTMyZjc0Nnh4LmgKKysrIGIvSW5jbHVkZS9zdG0zMmY3NDZ4eC5oCkBAIC03LDE4ICs3LDE3IEBACiAgICogICAgICAgICAgVGhpcyBmaWxlIGNvbnRhaW5zOgogICAqICAgICAgICAgICAtIERhdGEgc3RydWN0dXJlcyBhbmQgdGhlIGFkZHJlc3MgbWFwcGluZyBmb3IgYWxsIHBlcmlwaGVyYWxzCiAgICogICAgICAgICAgIC0gUGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBkZWNsYXJhdGlvbnMgYW5kIGJpdHMgZGVmaW5pdGlvbgotICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbJJzIHJlZ2lzdGVycyBoYXJkd2FyZQorICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBoYXJkd2FyZQogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMTY1LDEzICsxNjQsMTMgQEAKICAqIEBicmllZiBDb25maWd1cmF0aW9uIG9mIHRoZSBDb3J0ZXgtTTcgUHJvY2Vzc29yIGFuZCBDb3JlIFBlcmlwaGVyYWxzCiAgKi8KICNkZWZpbmUgX19DTTdfUkVWICAgICAgICAgICAgICAgICAweDAwMDFVICAvKiE8IENvcnRleC1NNyByZXZpc2lvbiByMHAxICAgICAgICAgICAgICAgICAgICAgICAqLwotI2RlZmluZSBfX01QVV9QUkVTRU5UICAgICAgICAgICAgIDEgICAgICAgLyohPCBDTTcgcHJvdmlkZXMgYW4gTVBVICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgX19OVklDX1BSSU9fQklUUyAgICAgICAgICA0ICAgICAgIC8qITwgQ003IHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICAgICovCi0jZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMCAgICAgICAvKiE8IFNldCB0byAxIGlmIGRpZmZlcmVudCBTeXNUaWNrIENvbmZpZyBpcyB1c2VkICAqLwotI2RlZmluZSBfX0ZQVV9QUkVTRU5UICAgICAgICAgICAgIDEgICAgICAgLyohPCBGUFUgcHJlc2VudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgX19JQ0FDSEVfUFJFU0VOVCAgICAgICAgICAxICAgICAgIC8qITwgQ003IGluc3RydWN0aW9uIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIF9fRENBQ0hFX1BSRVNFTlQgICAgICAgICAgMSAgICAgICAvKiE8IENNNyBkYXRhIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICAgICAgICAqLwotI2luY2x1ZGUgImNvcmVfY203LmgiICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3J0ZXgtTTcgcHJvY2Vzc29yIGFuZCBjb3JlIHBlcmlwaGVyYWxzICAgICAgKi8KKyNkZWZpbmUgX19NUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgICAvKiE8IENNNyBwcm92aWRlcyBhbiBNUFUgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBfX05WSUNfUFJJT19CSVRTICAgICAgICAgIDRVICAgICAgIC8qITwgQ003IHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICAgICovCisjZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMFUgICAgICAgLyohPCBTZXQgdG8gMSBpZiBkaWZmZXJlbnQgU3lzVGljayBDb25maWcgaXMgdXNlZCAgKi8KKyNkZWZpbmUgX19GUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgICAvKiE8IEZQVSBwcmVzZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBfX0lDQUNIRV9QUkVTRU5UICAgICAgICAgIDFVICAgICAgIC8qITwgQ003IGluc3RydWN0aW9uIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIF9fRENBQ0hFX1BSRVNFTlQgICAgICAgICAgMVUgICAgICAgLyohPCBDTTcgZGF0YSBjYWNoZSBwcmVzZW50ICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNpbmNsdWRlICJjb3JlX2NtNy5oIiAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcnRleC1NNyBwcm9jZXNzb3IgYW5kIGNvcmUgcGVyaXBoZXJhbHMgICAgICAqLwogCiAKICNpbmNsdWRlICJzeXN0ZW1fc3RtMzJmN3h4LmgiCkBAIC0xNDA1LDYgKzE0MDQsMTUgQEAKICAgKiBAewogICAqLwogCisgIC8qKiBAYWRkdG9ncm91cCBIYXJkd2FyZV9Db25zdGFudF9EZWZpbml0aW9uCisgICAgKiBAeworICAgICovCisjZGVmaW5lIExTSV9TVEFSVFVQX1RJTUUgNDBVIC8qITwgTFNJIE1heGltdW0gc3RhcnR1cCB0aW1lIGluIHVzICovCisKKyAgLyoqCisgICAgKiBAfQorICAgICovCisKICAgLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfUmVnaXN0ZXJzX0JpdHNfRGVmaW5pdGlvbgogICAqIEB7CiAgICovCkBAIC0xNzg4Nyw0ICsxNzg5NSwzIEBACiAjZW5kaWYgLyogX19TVE0zMkY3NDZ4eF9IICovCiAKIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luY2x1ZGUvc3RtMzJmNzUweHguaCBiL0luY2x1ZGUvc3RtMzJmNzUweHguaAppbmRleCA0YTBjZWU2Li44ODlmNTRmIDEwMDY0NAotLS0gYS9JbmNsdWRlL3N0bTMyZjc1MHh4LmgKKysrIGIvSW5jbHVkZS9zdG0zMmY3NTB4eC5oCkBAIC03LDE4ICs3LDE3IEBACiAgICogICAgICAgICAgVGhpcyBmaWxlIGNvbnRhaW5zOgogICAqICAgICAgICAgICAtIERhdGEgc3RydWN0dXJlcyBhbmQgdGhlIGFkZHJlc3MgbWFwcGluZyBmb3IgYWxsIHBlcmlwaGVyYWxzCiAgICogICAgICAgICAgIC0gUGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBkZWNsYXJhdGlvbnMgYW5kIGJpdHMgZGVmaW5pdGlvbgotICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbJJzIHJlZ2lzdGVycyBoYXJkd2FyZQorICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBoYXJkd2FyZQogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMTY2LDEzICsxNjUsMTMgQEAKICAqIEBicmllZiBDb25maWd1cmF0aW9uIG9mIHRoZSBDb3J0ZXgtTTcgUHJvY2Vzc29yIGFuZCBDb3JlIFBlcmlwaGVyYWxzCiAgKi8KICNkZWZpbmUgX19DTTdfUkVWICAgICAgICAgICAgICAgICAweDAwMDFVICAvKiE8IENvcnRleC1NNyByZXZpc2lvbiByMHAxICAgICAgICAgICAgICAgICAgICAgICAqLwotI2RlZmluZSBfX01QVV9QUkVTRU5UICAgICAgICAgICAgIDEgICAgICAgLyohPCBDTTcgcHJvdmlkZXMgYW4gTVBVICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgX19OVklDX1BSSU9fQklUUyAgICAgICAgICA0ICAgICAgIC8qITwgQ003IHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICAgICovCi0jZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMCAgICAgICAvKiE8IFNldCB0byAxIGlmIGRpZmZlcmVudCBTeXNUaWNrIENvbmZpZyBpcyB1c2VkICAqLwotI2RlZmluZSBfX0ZQVV9QUkVTRU5UICAgICAgICAgICAgIDEgICAgICAgLyohPCBGUFUgcHJlc2VudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgX19JQ0FDSEVfUFJFU0VOVCAgICAgICAgICAxICAgICAgIC8qITwgQ003IGluc3RydWN0aW9uIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIF9fRENBQ0hFX1BSRVNFTlQgICAgICAgICAgMSAgICAgICAvKiE8IENNNyBkYXRhIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICAgICAgICAqLwotI2luY2x1ZGUgImNvcmVfY203LmgiICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3J0ZXgtTTcgcHJvY2Vzc29yIGFuZCBjb3JlIHBlcmlwaGVyYWxzICAgICAgKi8KKyNkZWZpbmUgX19NUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgICAvKiE8IENNNyBwcm92aWRlcyBhbiBNUFUgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBfX05WSUNfUFJJT19CSVRTICAgICAgICAgIDRVICAgICAgIC8qITwgQ003IHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICAgICovCisjZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMFUgICAgICAgLyohPCBTZXQgdG8gMSBpZiBkaWZmZXJlbnQgU3lzVGljayBDb25maWcgaXMgdXNlZCAgKi8KKyNkZWZpbmUgX19GUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgICAvKiE8IEZQVSBwcmVzZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBfX0lDQUNIRV9QUkVTRU5UICAgICAgICAgIDFVICAgICAgIC8qITwgQ003IGluc3RydWN0aW9uIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIF9fRENBQ0hFX1BSRVNFTlQgICAgICAgICAgMVUgICAgICAgLyohPCBDTTcgZGF0YSBjYWNoZSBwcmVzZW50ICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNpbmNsdWRlICJjb3JlX2NtNy5oIiAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcnRleC1NNyBwcm9jZXNzb3IgYW5kIGNvcmUgcGVyaXBoZXJhbHMgICAgICAqLwogCiAKICNpbmNsdWRlICJzeXN0ZW1fc3RtMzJmN3h4LmgiCkBAIC0xNDgwLDYgKzE0NzksMTUgQEAKICAgKiBAewogICAqLwogCisgIC8qKiBAYWRkdG9ncm91cCBIYXJkd2FyZV9Db25zdGFudF9EZWZpbml0aW9uCisgICAgKiBAeworICAgICovCisjZGVmaW5lIExTSV9TVEFSVFVQX1RJTUUgNDBVIC8qITwgTFNJIE1heGltdW0gc3RhcnR1cCB0aW1lIGluIHVzICovCisKKyAgLyoqCisgICAgKiBAfQorICAgICovCisKICAgLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfUmVnaXN0ZXJzX0JpdHNfRGVmaW5pdGlvbgogICAqIEB7CiAgICovCkBAIC0xODE4MCw0ICsxODE4OCwzIEBACiAjZW5kaWYgLyogX19TVE0zMkY3NTB4eF9IICovCiAKIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luY2x1ZGUvc3RtMzJmNzU2eHguaCBiL0luY2x1ZGUvc3RtMzJmNzU2eHguaAppbmRleCAwYzg4OWM3Li41Mzc1YjEzIDEwMDY0NAotLS0gYS9JbmNsdWRlL3N0bTMyZjc1Nnh4LmgKKysrIGIvSW5jbHVkZS9zdG0zMmY3NTZ4eC5oCkBAIC03LDE4ICs3LDE3IEBACiAgICogICAgICAgICAgVGhpcyBmaWxlIGNvbnRhaW5zOgogICAqICAgICAgICAgICAtIERhdGEgc3RydWN0dXJlcyBhbmQgdGhlIGFkZHJlc3MgbWFwcGluZyBmb3IgYWxsIHBlcmlwaGVyYWxzCiAgICogICAgICAgICAgIC0gUGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBkZWNsYXJhdGlvbnMgYW5kIGJpdHMgZGVmaW5pdGlvbgotICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbJJzIHJlZ2lzdGVycyBoYXJkd2FyZQorICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBoYXJkd2FyZQogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMTY2LDEzICsxNjUsMTMgQEAKICAqIEBicmllZiBDb25maWd1cmF0aW9uIG9mIHRoZSBDb3J0ZXgtTTcgUHJvY2Vzc29yIGFuZCBDb3JlIFBlcmlwaGVyYWxzCiAgKi8KICNkZWZpbmUgX19DTTdfUkVWICAgICAgICAgICAgICAgICAweDAwMDFVICAvKiE8IENvcnRleC1NNyByZXZpc2lvbiByMHAxICAgICAgICAgICAgICAgICAgICAgICAqLwotI2RlZmluZSBfX01QVV9QUkVTRU5UICAgICAgICAgICAgIDEgICAgICAgLyohPCBDTTcgcHJvdmlkZXMgYW4gTVBVICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgX19OVklDX1BSSU9fQklUUyAgICAgICAgICA0ICAgICAgIC8qITwgQ003IHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICAgICovCi0jZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMCAgICAgICAvKiE8IFNldCB0byAxIGlmIGRpZmZlcmVudCBTeXNUaWNrIENvbmZpZyBpcyB1c2VkICAqLwotI2RlZmluZSBfX0ZQVV9QUkVTRU5UICAgICAgICAgICAgIDEgICAgICAgLyohPCBGUFUgcHJlc2VudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgX19JQ0FDSEVfUFJFU0VOVCAgICAgICAgICAxICAgICAgIC8qITwgQ003IGluc3RydWN0aW9uIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIF9fRENBQ0hFX1BSRVNFTlQgICAgICAgICAgMSAgICAgICAvKiE8IENNNyBkYXRhIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICAgICAgICAqLwotI2luY2x1ZGUgImNvcmVfY203LmgiICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3J0ZXgtTTcgcHJvY2Vzc29yIGFuZCBjb3JlIHBlcmlwaGVyYWxzICAgICAgKi8KKyNkZWZpbmUgX19NUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgICAvKiE8IENNNyBwcm92aWRlcyBhbiBNUFUgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBfX05WSUNfUFJJT19CSVRTICAgICAgICAgIDRVICAgICAgIC8qITwgQ003IHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICAgICovCisjZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMFUgICAgICAgLyohPCBTZXQgdG8gMSBpZiBkaWZmZXJlbnQgU3lzVGljayBDb25maWcgaXMgdXNlZCAgKi8KKyNkZWZpbmUgX19GUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgICAvKiE8IEZQVSBwcmVzZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBfX0lDQUNIRV9QUkVTRU5UICAgICAgICAgIDFVICAgICAgIC8qITwgQ003IGluc3RydWN0aW9uIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIF9fRENBQ0hFX1BSRVNFTlQgICAgICAgICAgMVUgICAgICAgLyohPCBDTTcgZGF0YSBjYWNoZSBwcmVzZW50ICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNpbmNsdWRlICJjb3JlX2NtNy5oIiAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcnRleC1NNyBwcm9jZXNzb3IgYW5kIGNvcmUgcGVyaXBoZXJhbHMgICAgICAqLwogCiAKICNpbmNsdWRlICJzeXN0ZW1fc3RtMzJmN3h4LmgiCkBAIC0xNDgwLDYgKzE0NzksMTUgQEAKICAgKiBAewogICAqLwogCisgIC8qKiBAYWRkdG9ncm91cCBIYXJkd2FyZV9Db25zdGFudF9EZWZpbml0aW9uCisgICAgKiBAeworICAgICovCisjZGVmaW5lIExTSV9TVEFSVFVQX1RJTUUgNDBVIC8qITwgTFNJIE1heGltdW0gc3RhcnR1cCB0aW1lIGluIHVzICovCisKKyAgLyoqCisgICAgKiBAfQorICAgICovCisKICAgLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfUmVnaXN0ZXJzX0JpdHNfRGVmaW5pdGlvbgogICAqIEB7CiAgICovCkBAIC0xODE4MCw0ICsxODE4OCwzIEBACiAjZW5kaWYgLyogX19TVE0zMkY3NTZ4eF9IICovCiAKIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luY2x1ZGUvc3RtMzJmNzY1eHguaCBiL0luY2x1ZGUvc3RtMzJmNzY1eHguaAppbmRleCAwZGQwYjI0Li40Yjg2ODQzIDEwMDY0NAotLS0gYS9JbmNsdWRlL3N0bTMyZjc2NXh4LmgKKysrIGIvSW5jbHVkZS9zdG0zMmY3NjV4eC5oCkBAIC03LDE4ICs3LDE3IEBACiAgICogICAgICAgICAgVGhpcyBmaWxlIGNvbnRhaW5zOgogICAqICAgICAgICAgICAtIERhdGEgc3RydWN0dXJlcyBhbmQgdGhlIGFkZHJlc3MgbWFwcGluZyBmb3IgYWxsIHBlcmlwaGVyYWxzCiAgICogICAgICAgICAgIC0gUGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBkZWNsYXJhdGlvbnMgYW5kIGJpdHMgZGVmaW5pdGlvbgotICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbJJzIHJlZ2lzdGVycyBoYXJkd2FyZQorICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBoYXJkd2FyZQogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMTczLDEzICsxNzIsMTMgQEAKICAqIEBicmllZiBDb25maWd1cmF0aW9uIG9mIHRoZSBDb3J0ZXgtTTcgUHJvY2Vzc29yIGFuZCBDb3JlIFBlcmlwaGVyYWxzCiAgKi8KICNkZWZpbmUgX19DTTdfUkVWICAgICAgICAgICAgICAgICAweDAxMDBVICAvKiE8IENvcnRleC1NNyByZXZpc2lvbiByMXAwICAgICAgICAgICAgICAgICAgICAgICAqLwotI2RlZmluZSBfX01QVV9QUkVTRU5UICAgICAgICAgICAgIDEgICAgICAgLyohPCBDTTcgcHJvdmlkZXMgYW4gTVBVICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgX19OVklDX1BSSU9fQklUUyAgICAgICAgICA0ICAgICAgIC8qITwgQ003IHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICAgICovCi0jZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMCAgICAgICAvKiE8IFNldCB0byAxIGlmIGRpZmZlcmVudCBTeXNUaWNrIENvbmZpZyBpcyB1c2VkICAqLwotI2RlZmluZSBfX0ZQVV9QUkVTRU5UICAgICAgICAgICAgIDEgICAgICAgLyohPCBGUFUgcHJlc2VudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgX19JQ0FDSEVfUFJFU0VOVCAgICAgICAgICAxICAgICAgIC8qITwgQ003IGluc3RydWN0aW9uIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIF9fRENBQ0hFX1BSRVNFTlQgICAgICAgICAgMSAgICAgICAvKiE8IENNNyBkYXRhIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICAgICAgICAqLwotI2luY2x1ZGUgImNvcmVfY203LmgiICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3J0ZXgtTTcgcHJvY2Vzc29yIGFuZCBjb3JlIHBlcmlwaGVyYWxzICAgICAgKi8KKyNkZWZpbmUgX19NUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgICAvKiE8IENNNyBwcm92aWRlcyBhbiBNUFUgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBfX05WSUNfUFJJT19CSVRTICAgICAgICAgIDRVICAgICAgIC8qITwgQ003IHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICAgICovCisjZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMFUgICAgICAgLyohPCBTZXQgdG8gMSBpZiBkaWZmZXJlbnQgU3lzVGljayBDb25maWcgaXMgdXNlZCAgKi8KKyNkZWZpbmUgX19GUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgICAvKiE8IEZQVSBwcmVzZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBfX0lDQUNIRV9QUkVTRU5UICAgICAgICAgIDFVICAgICAgIC8qITwgQ003IGluc3RydWN0aW9uIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIF9fRENBQ0hFX1BSRVNFTlQgICAgICAgICAgMVUgICAgICAgLyohPCBDTTcgZGF0YSBjYWNoZSBwcmVzZW50ICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNpbmNsdWRlICJjb3JlX2NtNy5oIiAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcnRleC1NNyBwcm9jZXNzb3IgYW5kIGNvcmUgcGVyaXBoZXJhbHMgICAgICAqLwogCiAKICNpbmNsdWRlICJzeXN0ZW1fc3RtMzJmN3h4LmgiCkBAIC0xNTA3LDYgKzE1MDYsMTUgQEAKICAgKiBAewogICAqLwogCisgIC8qKiBAYWRkdG9ncm91cCBIYXJkd2FyZV9Db25zdGFudF9EZWZpbml0aW9uCisgICAgKiBAeworICAgICovCisjZGVmaW5lIExTSV9TVEFSVFVQX1RJTUUgNDBVIC8qITwgTFNJIE1heGltdW0gc3RhcnR1cCB0aW1lIGluIHVzICovCisKKyAgLyoqCisgICAgKiBAfQorICAgICovCisKICAgLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfUmVnaXN0ZXJzX0JpdHNfRGVmaW5pdGlvbgogICAqIEB7CiAgICovCkBAIC0xODI3MCw0ICsxODI3OCwzIEBACiAjZW5kaWYgLyogX19TVE0zMkY3NjV4eF9IICovCiAKIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luY2x1ZGUvc3RtMzJmNzY3eHguaCBiL0luY2x1ZGUvc3RtMzJmNzY3eHguaAppbmRleCBlODljYzdkLi5jN2IzODMyIDEwMDY0NAotLS0gYS9JbmNsdWRlL3N0bTMyZjc2N3h4LmgKKysrIGIvSW5jbHVkZS9zdG0zMmY3Njd4eC5oCkBAIC03LDE4ICs3LDE3IEBACiAgICogICAgICAgICAgVGhpcyBmaWxlIGNvbnRhaW5zOgogICAqICAgICAgICAgICAtIERhdGEgc3RydWN0dXJlcyBhbmQgdGhlIGFkZHJlc3MgbWFwcGluZyBmb3IgYWxsIHBlcmlwaGVyYWxzCiAgICogICAgICAgICAgIC0gUGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBkZWNsYXJhdGlvbnMgYW5kIGJpdHMgZGVmaW5pdGlvbgotICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbJJzIHJlZ2lzdGVycyBoYXJkd2FyZQorICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBoYXJkd2FyZQogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMTc2LDEzICsxNzUsMTMgQEAKICAqIEBicmllZiBDb25maWd1cmF0aW9uIG9mIHRoZSBDb3J0ZXgtTTcgUHJvY2Vzc29yIGFuZCBDb3JlIFBlcmlwaGVyYWxzCiAgKi8KICNkZWZpbmUgX19DTTdfUkVWICAgICAgICAgICAgICAgICAweDAxMDBVICAvKiE8IENvcnRleC1NNyByZXZpc2lvbiByMXAwICAgICAgICAgICAgICAgICAgICAgICAqLwotI2RlZmluZSBfX01QVV9QUkVTRU5UICAgICAgICAgICAgIDEgICAgICAgLyohPCBDTTcgcHJvdmlkZXMgYW4gTVBVICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgX19OVklDX1BSSU9fQklUUyAgICAgICAgICA0ICAgICAgIC8qITwgQ003IHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICAgICovCi0jZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMCAgICAgICAvKiE8IFNldCB0byAxIGlmIGRpZmZlcmVudCBTeXNUaWNrIENvbmZpZyBpcyB1c2VkICAqLwotI2RlZmluZSBfX0ZQVV9QUkVTRU5UICAgICAgICAgICAgIDEgICAgICAgLyohPCBGUFUgcHJlc2VudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgX19JQ0FDSEVfUFJFU0VOVCAgICAgICAgICAxICAgICAgIC8qITwgQ003IGluc3RydWN0aW9uIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIF9fRENBQ0hFX1BSRVNFTlQgICAgICAgICAgMSAgICAgICAvKiE8IENNNyBkYXRhIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICAgICAgICAqLwotI2luY2x1ZGUgImNvcmVfY203LmgiICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3J0ZXgtTTcgcHJvY2Vzc29yIGFuZCBjb3JlIHBlcmlwaGVyYWxzICAgICAgKi8KKyNkZWZpbmUgX19NUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgICAvKiE8IENNNyBwcm92aWRlcyBhbiBNUFUgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBfX05WSUNfUFJJT19CSVRTICAgICAgICAgIDRVICAgICAgIC8qITwgQ003IHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICAgICovCisjZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMFUgICAgICAgLyohPCBTZXQgdG8gMSBpZiBkaWZmZXJlbnQgU3lzVGljayBDb25maWcgaXMgdXNlZCAgKi8KKyNkZWZpbmUgX19GUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgICAvKiE8IEZQVSBwcmVzZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBfX0lDQUNIRV9QUkVTRU5UICAgICAgICAgIDFVICAgICAgIC8qITwgQ003IGluc3RydWN0aW9uIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIF9fRENBQ0hFX1BSRVNFTlQgICAgICAgICAgMVUgICAgICAgLyohPCBDTTcgZGF0YSBjYWNoZSBwcmVzZW50ICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNpbmNsdWRlICJjb3JlX2NtNy5oIiAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcnRleC1NNyBwcm9jZXNzb3IgYW5kIGNvcmUgcGVyaXBoZXJhbHMgICAgICAqLwogCiAKICNpbmNsdWRlICJzeXN0ZW1fc3RtMzJmN3h4LmgiCkBAIC0xNjAxLDYgKzE2MDAsMTUgQEAKICAgKiBAewogICAqLwogCisgIC8qKiBAYWRkdG9ncm91cCBIYXJkd2FyZV9Db25zdGFudF9EZWZpbml0aW9uCisgICAgKiBAeworICAgICovCisjZGVmaW5lIExTSV9TVEFSVFVQX1RJTUUgNDBVIC8qITwgTFNJIE1heGltdW0gc3RhcnR1cCB0aW1lIGluIHVzICovCisKKyAgLyoqCisgICAgKiBAfQorICAgICovCisKICAgLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfUmVnaXN0ZXJzX0JpdHNfRGVmaW5pdGlvbgogICAqIEB7CiAgICovCkBAIC0xODkzMSw0ICsxODkzOSwzIEBACiAjZW5kaWYgLyogX19TVE0zMkY3Njd4eF9IICovCiAKIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luY2x1ZGUvc3RtMzJmNzY5eHguaCBiL0luY2x1ZGUvc3RtMzJmNzY5eHguaAppbmRleCBlMTFlYjc1Li42MWI4ZGMyIDEwMDY0NAotLS0gYS9JbmNsdWRlL3N0bTMyZjc2OXh4LmgKKysrIGIvSW5jbHVkZS9zdG0zMmY3Njl4eC5oCkBAIC03LDE4ICs3LDE3IEBACiAgICogICAgICAgICAgVGhpcyBmaWxlIGNvbnRhaW5zOgogICAqICAgICAgICAgICAtIERhdGEgc3RydWN0dXJlcyBhbmQgdGhlIGFkZHJlc3MgbWFwcGluZyBmb3IgYWxsIHBlcmlwaGVyYWxzCiAgICogICAgICAgICAgIC0gUGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBkZWNsYXJhdGlvbnMgYW5kIGJpdHMgZGVmaW5pdGlvbgotICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbJJzIHJlZ2lzdGVycyBoYXJkd2FyZQorICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBoYXJkd2FyZQogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMTc3LDEzICsxNzYsMTMgQEAKICAqIEBicmllZiBDb25maWd1cmF0aW9uIG9mIHRoZSBDb3J0ZXgtTTcgUHJvY2Vzc29yIGFuZCBDb3JlIFBlcmlwaGVyYWxzCiAgKi8KICNkZWZpbmUgX19DTTdfUkVWICAgICAgICAgICAgICAgICAweDAxMDBVICAvKiE8IENvcnRleC1NNyByZXZpc2lvbiByMXAwICAgICAgICAgICAgICAgICAgICAgICAqLwotI2RlZmluZSBfX01QVV9QUkVTRU5UICAgICAgICAgICAgIDEgICAgICAgLyohPCBDTTcgcHJvdmlkZXMgYW4gTVBVICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgX19OVklDX1BSSU9fQklUUyAgICAgICAgICA0ICAgICAgIC8qITwgQ003IHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICAgICovCi0jZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMCAgICAgICAvKiE8IFNldCB0byAxIGlmIGRpZmZlcmVudCBTeXNUaWNrIENvbmZpZyBpcyB1c2VkICAqLwotI2RlZmluZSBfX0ZQVV9QUkVTRU5UICAgICAgICAgICAgIDEgICAgICAgLyohPCBGUFUgcHJlc2VudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgX19JQ0FDSEVfUFJFU0VOVCAgICAgICAgICAxICAgICAgIC8qITwgQ003IGluc3RydWN0aW9uIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIF9fRENBQ0hFX1BSRVNFTlQgICAgICAgICAgMSAgICAgICAvKiE8IENNNyBkYXRhIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICAgICAgICAqLwotI2luY2x1ZGUgImNvcmVfY203LmgiICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3J0ZXgtTTcgcHJvY2Vzc29yIGFuZCBjb3JlIHBlcmlwaGVyYWxzICAgICAgKi8KKyNkZWZpbmUgX19NUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgICAvKiE8IENNNyBwcm92aWRlcyBhbiBNUFUgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBfX05WSUNfUFJJT19CSVRTICAgICAgICAgIDRVICAgICAgIC8qITwgQ003IHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICAgICovCisjZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMFUgICAgICAgLyohPCBTZXQgdG8gMSBpZiBkaWZmZXJlbnQgU3lzVGljayBDb25maWcgaXMgdXNlZCAgKi8KKyNkZWZpbmUgX19GUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgICAvKiE8IEZQVSBwcmVzZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBfX0lDQUNIRV9QUkVTRU5UICAgICAgICAgIDFVICAgICAgIC8qITwgQ003IGluc3RydWN0aW9uIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIF9fRENBQ0hFX1BSRVNFTlQgICAgICAgICAgMVUgICAgICAgLyohPCBDTTcgZGF0YSBjYWNoZSBwcmVzZW50ICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNpbmNsdWRlICJjb3JlX2NtNy5oIiAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcnRleC1NNyBwcm9jZXNzb3IgYW5kIGNvcmUgcGVyaXBoZXJhbHMgICAgICAqLwogCiAKICNpbmNsdWRlICJzeXN0ZW1fc3RtMzJmN3h4LmgiCkBAIC0xNjg0LDYgKzE2ODMsMTUgQEAKICAgKiBAewogICAqLwogCisgIC8qKiBAYWRkdG9ncm91cCBIYXJkd2FyZV9Db25zdGFudF9EZWZpbml0aW9uCisgICAgKiBAeworICAgICovCisjZGVmaW5lIExTSV9TVEFSVFVQX1RJTUUgNDBVIC8qITwgTFNJIE1heGltdW0gc3RhcnR1cCB0aW1lIGluIHVzICovCisKKyAgLyoqCisgICAgKiBAfQorICAgICovCisKICAgLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfUmVnaXN0ZXJzX0JpdHNfRGVmaW5pdGlvbgogICAqIEB7CiAgICovCkBAIC0yMjEwMSw0ICsyMjEwOSwzIEBACiAjZW5kaWYgLyogX19TVE0zMkY3Njl4eF9IICovCiAKIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luY2x1ZGUvc3RtMzJmNzc3eHguaCBiL0luY2x1ZGUvc3RtMzJmNzc3eHguaAppbmRleCA0ZTRiMmRiLi43MmI2MDg1IDEwMDY0NAotLS0gYS9JbmNsdWRlL3N0bTMyZjc3N3h4LmgKKysrIGIvSW5jbHVkZS9zdG0zMmY3Nzd4eC5oCkBAIC03LDE4ICs3LDE3IEBACiAgICogICAgICAgICAgVGhpcyBmaWxlIGNvbnRhaW5zOgogICAqICAgICAgICAgICAtIERhdGEgc3RydWN0dXJlcyBhbmQgdGhlIGFkZHJlc3MgbWFwcGluZyBmb3IgYWxsIHBlcmlwaGVyYWxzCiAgICogICAgICAgICAgIC0gUGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBkZWNsYXJhdGlvbnMgYW5kIGJpdHMgZGVmaW5pdGlvbgotICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbJJzIHJlZ2lzdGVycyBoYXJkd2FyZQorICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBoYXJkd2FyZQogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMTc3LDEzICsxNzYsMTMgQEAKICAqIEBicmllZiBDb25maWd1cmF0aW9uIG9mIHRoZSBDb3J0ZXgtTTcgUHJvY2Vzc29yIGFuZCBDb3JlIFBlcmlwaGVyYWxzCiAgKi8KICNkZWZpbmUgX19DTTdfUkVWICAgICAgICAgICAgICAgICAweDAxMDBVICAvKiE8IENvcnRleC1NNyByZXZpc2lvbiByMXAwICAgICAgICAgICAgICAgICAgICAgICAqLwotI2RlZmluZSBfX01QVV9QUkVTRU5UICAgICAgICAgICAgIDEgICAgICAgLyohPCBDTTcgcHJvdmlkZXMgYW4gTVBVICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgX19OVklDX1BSSU9fQklUUyAgICAgICAgICA0ICAgICAgIC8qITwgQ003IHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICAgICovCi0jZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMCAgICAgICAvKiE8IFNldCB0byAxIGlmIGRpZmZlcmVudCBTeXNUaWNrIENvbmZpZyBpcyB1c2VkICAqLwotI2RlZmluZSBfX0ZQVV9QUkVTRU5UICAgICAgICAgICAgIDEgICAgICAgLyohPCBGUFUgcHJlc2VudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgX19JQ0FDSEVfUFJFU0VOVCAgICAgICAgICAxICAgICAgIC8qITwgQ003IGluc3RydWN0aW9uIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIF9fRENBQ0hFX1BSRVNFTlQgICAgICAgICAgMSAgICAgICAvKiE8IENNNyBkYXRhIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICAgICAgICAqLwotI2luY2x1ZGUgImNvcmVfY203LmgiICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3J0ZXgtTTcgcHJvY2Vzc29yIGFuZCBjb3JlIHBlcmlwaGVyYWxzICAgICAgKi8KKyNkZWZpbmUgX19NUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgICAvKiE8IENNNyBwcm92aWRlcyBhbiBNUFUgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBfX05WSUNfUFJJT19CSVRTICAgICAgICAgIDRVICAgICAgIC8qITwgQ003IHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICAgICovCisjZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMFUgICAgICAgLyohPCBTZXQgdG8gMSBpZiBkaWZmZXJlbnQgU3lzVGljayBDb25maWcgaXMgdXNlZCAgKi8KKyNkZWZpbmUgX19GUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgICAvKiE8IEZQVSBwcmVzZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBfX0lDQUNIRV9QUkVTRU5UICAgICAgICAgIDFVICAgICAgIC8qITwgQ003IGluc3RydWN0aW9uIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIF9fRENBQ0hFX1BSRVNFTlQgICAgICAgICAgMVUgICAgICAgLyohPCBDTTcgZGF0YSBjYWNoZSBwcmVzZW50ICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNpbmNsdWRlICJjb3JlX2NtNy5oIiAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcnRleC1NNyBwcm9jZXNzb3IgYW5kIGNvcmUgcGVyaXBoZXJhbHMgICAgICAqLwogCiAKICNpbmNsdWRlICJzeXN0ZW1fc3RtMzJmN3h4LmgiCkBAIC0xNjc2LDYgKzE2NzUsMTUgQEAKICAgKiBAewogICAqLwogCisgIC8qKiBAYWRkdG9ncm91cCBIYXJkd2FyZV9Db25zdGFudF9EZWZpbml0aW9uCisgICAgKiBAeworICAgICovCisjZGVmaW5lIExTSV9TVEFSVFVQX1RJTUUgNDBVIC8qITwgTFNJIE1heGltdW0gc3RhcnR1cCB0aW1lIGluIHVzICovCisKKyAgLyoqCisgICAgKiBAfQorICAgICovCisKICAgLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfUmVnaXN0ZXJzX0JpdHNfRGVmaW5pdGlvbgogICAqIEB7CiAgICovCkBAIC0xOTIyNCw0ICsxOTIzMiwzIEBACiAjZW5kaWYgLyogX19TVE0zMkY3Nzd4eF9IICovCiAKIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luY2x1ZGUvc3RtMzJmNzc5eHguaCBiL0luY2x1ZGUvc3RtMzJmNzc5eHguaAppbmRleCAyYWY3NDY1Li40ZGM4ZWE1IDEwMDY0NAotLS0gYS9JbmNsdWRlL3N0bTMyZjc3OXh4LmgKKysrIGIvSW5jbHVkZS9zdG0zMmY3Nzl4eC5oCkBAIC03LDE4ICs3LDE3IEBACiAgICogICAgICAgICAgVGhpcyBmaWxlIGNvbnRhaW5zOgogICAqICAgICAgICAgICAtIERhdGEgc3RydWN0dXJlcyBhbmQgdGhlIGFkZHJlc3MgbWFwcGluZyBmb3IgYWxsIHBlcmlwaGVyYWxzCiAgICogICAgICAgICAgIC0gUGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBkZWNsYXJhdGlvbnMgYW5kIGJpdHMgZGVmaW5pdGlvbgotICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbJJzIHJlZ2lzdGVycyBoYXJkd2FyZQorICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBoYXJkd2FyZQogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMTc4LDEzICsxNzcsMTMgQEAKICAqIEBicmllZiBDb25maWd1cmF0aW9uIG9mIHRoZSBDb3J0ZXgtTTcgUHJvY2Vzc29yIGFuZCBDb3JlIFBlcmlwaGVyYWxzCiAgKi8KICNkZWZpbmUgX19DTTdfUkVWICAgICAgICAgICAgICAgICAweDAxMDBVICAvKiE8IENvcnRleC1NNyByZXZpc2lvbiByMXAwICAgICAgICAgICAgICAgICAgICAgICAqLwotI2RlZmluZSBfX01QVV9QUkVTRU5UICAgICAgICAgICAgIDEgICAgICAgLyohPCBDTTcgcHJvdmlkZXMgYW4gTVBVICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgX19OVklDX1BSSU9fQklUUyAgICAgICAgICA0ICAgICAgIC8qITwgQ003IHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICAgICovCi0jZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMCAgICAgICAvKiE8IFNldCB0byAxIGlmIGRpZmZlcmVudCBTeXNUaWNrIENvbmZpZyBpcyB1c2VkICAqLwotI2RlZmluZSBfX0ZQVV9QUkVTRU5UICAgICAgICAgICAgIDEgICAgICAgLyohPCBGUFUgcHJlc2VudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgX19JQ0FDSEVfUFJFU0VOVCAgICAgICAgICAxICAgICAgIC8qITwgQ003IGluc3RydWN0aW9uIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIF9fRENBQ0hFX1BSRVNFTlQgICAgICAgICAgMSAgICAgICAvKiE8IENNNyBkYXRhIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICAgICAgICAqLwotI2luY2x1ZGUgImNvcmVfY203LmgiICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3J0ZXgtTTcgcHJvY2Vzc29yIGFuZCBjb3JlIHBlcmlwaGVyYWxzICAgICAgKi8KKyNkZWZpbmUgX19NUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgICAvKiE8IENNNyBwcm92aWRlcyBhbiBNUFUgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBfX05WSUNfUFJJT19CSVRTICAgICAgICAgIDRVICAgICAgIC8qITwgQ003IHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICAgICovCisjZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMFUgICAgICAgLyohPCBTZXQgdG8gMSBpZiBkaWZmZXJlbnQgU3lzVGljayBDb25maWcgaXMgdXNlZCAgKi8KKyNkZWZpbmUgX19GUFVfUFJFU0VOVCAgICAgICAgICAgICAxVSAgICAgICAvKiE8IEZQVSBwcmVzZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBfX0lDQUNIRV9QUkVTRU5UICAgICAgICAgIDFVICAgICAgIC8qITwgQ003IGluc3RydWN0aW9uIGNhY2hlIHByZXNlbnQgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIF9fRENBQ0hFX1BSRVNFTlQgICAgICAgICAgMVUgICAgICAgLyohPCBDTTcgZGF0YSBjYWNoZSBwcmVzZW50ICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNpbmNsdWRlICJjb3JlX2NtNy5oIiAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcnRleC1NNyBwcm9jZXNzb3IgYW5kIGNvcmUgcGVyaXBoZXJhbHMgICAgICAqLwogCiAKICNpbmNsdWRlICJzeXN0ZW1fc3RtMzJmN3h4LmgiCkBAIC0xNzU5LDYgKzE3NTgsMTUgQEAKICAgKiBAewogICAqLwogCisgIC8qKiBAYWRkdG9ncm91cCBIYXJkd2FyZV9Db25zdGFudF9EZWZpbml0aW9uCisgICAgKiBAeworICAgICovCisjZGVmaW5lIExTSV9TVEFSVFVQX1RJTUUgNDBVIC8qITwgTFNJIE1heGltdW0gc3RhcnR1cCB0aW1lIGluIHVzICovCisKKyAgLyoqCisgICAgKiBAfQorICAgICovCisKICAgLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfUmVnaXN0ZXJzX0JpdHNfRGVmaW5pdGlvbgogICAqIEB7CiAgICovCkBAIC0yMjM5NCw0ICsyMjQwMiwzIEBACiAjZW5kaWYgLyogX19TVE0zMkY3Nzl4eF9IICovCiAKIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luY2x1ZGUvc3RtMzJmN3h4LmggYi9JbmNsdWRlL3N0bTMyZjd4eC5oCmluZGV4IDViYzIxN2YuLjlmNzBkNmYgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvc3RtMzJmN3h4LmgKKysrIGIvSW5jbHVkZS9zdG0zMmY3eHguaApAQCAtOCwyMSArOCwyMCBAQAogICAqICAgICAgICAgIGlzIHVzaW5nIGluIHRoZSBDIHNvdXJjZSBjb2RlLCB1c3VhbGx5IGluIG1haW4uYy4gVGhpcyBmaWxlIGNvbnRhaW5zOgogICAqICAgICAgICAgICAtIENvbmZpZ3VyYXRpb24gc2VjdGlvbiB0aGF0IGFsbG93cyB0byBzZWxlY3Q6CiAgICogICAgICAgICAgICAgIC0gVGhlIFNUTTMyRjd4eCBkZXZpY2UgdXNlZCBpbiB0aGUgdGFyZ2V0IGFwcGxpY2F0aW9uCi0gICogICAgICAgICAgICAgIC0gVG8gdXNlIG9yIG5vdCB0aGUgcGVyaXBoZXJhbJJzIGRyaXZlcnMgaW4gYXBwbGljYXRpb24gY29kZShpLmUuCi0gICogICAgICAgICAgICAgICAgY29kZSB3aWxsIGJlIGJhc2VkIG9uIGRpcmVjdCBhY2Nlc3MgdG8gcGVyaXBoZXJhbJJzIHJlZ2lzdGVycworICAqICAgICAgICAgICAgICAtIFRvIHVzZSBvciBub3QgdGhlIHBlcmlwaGVyYWwncyBkcml2ZXJzIGluIGFwcGxpY2F0aW9uIGNvZGUoaS5lLgorICAqICAgICAgICAgICAgICAgIGNvZGUgd2lsbCBiZSBiYXNlZCBvbiBkaXJlY3QgYWNjZXNzIHRvIHBlcmlwaGVyYWwncyByZWdpc3RlcnMKICAgKiAgICAgICAgICAgICAgICByYXRoZXIgdGhhbiBkcml2ZXJzIEFQSSksIHRoaXMgb3B0aW9uIGlzIGNvbnRyb2xsZWQgYnkKICAgKiAgICAgICAgICAgICAgICAiI2RlZmluZSBVU0VfSEFMX0RSSVZFUiIKICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTk3LDExICs5NiwxMSBAQAogI2VuZGlmIC8qIFVTRV9IQUxfRFJJVkVSICovCiAKIC8qKgotICAqIEBicmllZiBDTVNJUyBEZXZpY2UgdmVyc2lvbiBudW1iZXIgVjEuMi42CisgICogQGJyaWVmIENNU0lTIERldmljZSB2ZXJzaW9uIG51bWJlciBWMS4yLjcKICAgKi8KICNkZWZpbmUgX19TVE0zMkY3X0NNU0lTX1ZFUlNJT05fTUFJTiAgICgweDAxKSAvKiE8IFszMToyNF0gbWFpbiB2ZXJzaW9uICovCiAjZGVmaW5lIF9fU1RNMzJGN19DTVNJU19WRVJTSU9OX1NVQjEgICAoMHgwMikgLyohPCBbMjM6MTZdIHN1YjEgdmVyc2lvbiAqLwotI2RlZmluZSBfX1NUTTMyRjdfQ01TSVNfVkVSU0lPTl9TVUIyICAgKDB4MDYpIC8qITwgWzE1OjhdICBzdWIyIHZlcnNpb24gKi8KKyNkZWZpbmUgX19TVE0zMkY3X0NNU0lTX1ZFUlNJT05fU1VCMiAgICgweDA3KSAvKiE8IFsxNTo4XSAgc3ViMiB2ZXJzaW9uICovCiAjZGVmaW5lIF9fU1RNMzJGN19DTVNJU19WRVJTSU9OX1JDICAgICAoMHgwMCkgLyohPCBbNzowXSAgcmVsZWFzZSBjYW5kaWRhdGUgKi8KICNkZWZpbmUgX19TVE0zMkY3X0NNU0lTX1ZFUlNJT04gICAgICAgICgoX19TVE0zMkY3X0NNU0lTX1ZFUlNJT05fTUFJTiA8PCAyNClcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8KF9fU1RNMzJGN19DTVNJU19WRVJTSU9OX1NVQjEgPDwgMTYpXApAQCAtMTk1LDYgKzE5NCw2MSBAQAogCiAjZGVmaW5lIFBPU0lUSU9OX1ZBTChWQUwpICAgICAoX19DTFooX19SQklUKFZBTCkpKQogCisvKiBVc2Ugb2YgQ01TSVMgY29tcGlsZXIgaW50cmluc2ljcyBmb3IgcmVnaXN0ZXIgZXhjbHVzaXZlIGFjY2VzcyAqLworLyogQXRvbWljIDMyLWJpdCByZWdpc3RlciBhY2Nlc3MgbWFjcm8gdG8gc2V0IG9uZSBvciBzZXZlcmFsIGJpdHMgKi8KKyNkZWZpbmUgQVRPTUlDX1NFVF9CSVQoUkVHLCBCSVQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHVpbnQzMl90IHZhbDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICB2YWwgPSBfX0xEUkVYVygoX19JTyB1aW50MzJfdCAqKSYoUkVHKSkgfCAoQklUKTsgICAgICAgXAorICAgIH0gd2hpbGUgKChfX1NUUkVYVyh2YWwsKF9fSU8gdWludDMyX3QgKikmKFJFRykpKSAhPSAwVSk7IFwKKyAgfSB3aGlsZSgwKQorCisvKiBBdG9taWMgMzItYml0IHJlZ2lzdGVyIGFjY2VzcyBtYWNybyB0byBjbGVhciBvbmUgb3Igc2V2ZXJhbCBiaXRzICovCisjZGVmaW5lIEFUT01JQ19DTEVBUl9CSVQoUkVHLCBCSVQpICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB1aW50MzJfdCB2YWw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgdmFsID0gX19MRFJFWFcoKF9fSU8gdWludDMyX3QgKikmKFJFRykpICYgfihCSVQpOyAgICAgIFwKKyAgICB9IHdoaWxlICgoX19TVFJFWFcodmFsLChfX0lPIHVpbnQzMl90ICopJihSRUcpKSkgIT0gMFUpOyBcCisgIH0gd2hpbGUoMCkKKworLyogQXRvbWljIDMyLWJpdCByZWdpc3RlciBhY2Nlc3MgbWFjcm8gdG8gY2xlYXIgYW5kIHNldCBvbmUgb3Igc2V2ZXJhbCBiaXRzICovCisjZGVmaW5lIEFUT01JQ19NT0RJRllfUkVHKFJFRywgQ0xFQVJNU0ssIFNFVE1BU0spICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdWludDMyX3QgdmFsOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICB2YWwgPSAoX19MRFJFWFcoKF9fSU8gdWludDMyX3QgKikmKFJFRykpICYgfihDTEVBUk1TSykpIHwgKFNFVE1BU0spOyBcCisgICAgfSB3aGlsZSAoKF9fU1RSRVhXKHZhbCwoX19JTyB1aW50MzJfdCAqKSYoUkVHKSkpICE9IDBVKTsgICAgICAgICAgICAgICBcCisgIH0gd2hpbGUoMCkKKworLyogQXRvbWljIDE2LWJpdCByZWdpc3RlciBhY2Nlc3MgbWFjcm8gdG8gc2V0IG9uZSBvciBzZXZlcmFsIGJpdHMgKi8KKyNkZWZpbmUgQVRPTUlDX1NFVEhfQklUKFJFRywgQklUKSAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHVpbnQxNl90IHZhbDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICB2YWwgPSBfX0xEUkVYSCgoX19JTyB1aW50MTZfdCAqKSYoUkVHKSkgfCAoQklUKTsgICAgICAgXAorICAgIH0gd2hpbGUgKChfX1NUUkVYSCh2YWwsKF9fSU8gdWludDE2X3QgKikmKFJFRykpKSAhPSAwVSk7IFwKKyAgfSB3aGlsZSgwKQorCisvKiBBdG9taWMgMTYtYml0IHJlZ2lzdGVyIGFjY2VzcyBtYWNybyB0byBjbGVhciBvbmUgb3Igc2V2ZXJhbCBiaXRzICovCisjZGVmaW5lIEFUT01JQ19DTEVBUkhfQklUKFJFRywgQklUKSAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB1aW50MTZfdCB2YWw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgdmFsID0gX19MRFJFWEgoKF9fSU8gdWludDE2X3QgKikmKFJFRykpICYgfihCSVQpOyAgICAgIFwKKyAgICB9IHdoaWxlICgoX19TVFJFWEgodmFsLChfX0lPIHVpbnQxNl90ICopJihSRUcpKSkgIT0gMFUpOyBcCisgIH0gd2hpbGUoMCkKKworLyogQXRvbWljIDE2LWJpdCByZWdpc3RlciBhY2Nlc3MgbWFjcm8gdG8gY2xlYXIgYW5kIHNldCBvbmUgb3Igc2V2ZXJhbCBiaXRzICovCisjZGVmaW5lIEFUT01JQ19NT0RJRllIX1JFRyhSRUcsIENMRUFSTVNLLCBTRVRNQVNLKSAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdWludDE2X3QgdmFsOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICB2YWwgPSAoX19MRFJFWEgoKF9fSU8gdWludDE2X3QgKikmKFJFRykpICYgfihDTEVBUk1TSykpIHwgKFNFVE1BU0spOyBcCisgICAgfSB3aGlsZSAoKF9fU1RSRVhIKHZhbCwoX19JTyB1aW50MTZfdCAqKSYoUkVHKSkpICE9IDBVKTsgICAgICAgICAgICAgICBcCisgIH0gd2hpbGUoMCkKKwogLyoqCiAgICogQH0KICAgKi8KQEAgLTIxNyw0ICsyNzEsMyBAQAogICAqIEB9CiAgICovCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmNsdWRlL3N5c3RlbV9zdG0zMmY3eHguaCBiL0luY2x1ZGUvc3lzdGVtX3N0bTMyZjd4eC5oCmluZGV4IDE0MGJlMWIuLmZmZjc5MjYgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvc3lzdGVtX3N0bTMyZjd4eC5oCisrKyBiL0luY2x1ZGUvc3lzdGVtX3N0bTMyZjd4eC5oCkBAIC0zLDMyICszLDE1IEBACiAgICogQGZpbGUgICAgc3lzdGVtX3N0bTMyZjd4eC5oCiAgICogQGF1dGhvciAgTUNEIEFwcGxpY2F0aW9uIFRlYW0KICAgKiBAYnJpZWYgICBDTVNJUyBDb3J0ZXgtTTcgRGV2aWNlIFN5c3RlbSBTb3VyY2UgRmlsZSBmb3IgU1RNMzJGN3h4IGRldmljZXMuICAgICAgIAotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogIAorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ09QWVJJR0hUKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLAotICAqIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKLSAgKiAgIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKLSAgKiAgICAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gICogICAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCi0gICogICAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCi0gICogICAgICBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAgKiAgIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgU1RNaWNyb2VsZWN0cm9uaWNzIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycwotICAqICAgICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCi0gICogICAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAgKgotICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIgotICAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCi0gICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgotICAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCi0gICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKLSAgKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAgCiAgICovCkBAIC0xMjAsNCArMTAzLDMgQEAKIC8qKgogICAqIEB9CiAgICovICAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9MaWNlbnNlLm1kIGIvTElDRU5TRS5tZApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gTGljZW5zZS5tZApyZW5hbWUgdG8gTElDRU5TRS5tZApkaWZmIC0tZ2l0IGEvUkVBRE1FLm1kIGIvUkVBRE1FLm1kCmluZGV4IDdjMGRkNTguLjljNTE2YzMgMTAwNjQ0Ci0tLSBhL1JFQURNRS5tZAorKysgYi9SRUFETUUubWQKQEAgLTEsMTkgKzEsMjEgQEAKICMgU1RNMzJDdWJlRjcgQ01TSVMgRGV2aWNlIE1DVSBDb21wb25lbnQKIAorIVtsYXRlc3QgdGFnXShodHRwczovL2ltZy5zaGllbGRzLmlvL2dpdGh1Yi92L3RhZy9TVE1pY3JvZWxlY3Ryb25pY3Mvc3RtMzJmN3h4X2hhbF9kcml2ZXIuc3ZnP2NvbG9yPWJyaWdodGdyZWVuKQorCiAjIyBPdmVydmlldwogCi0qKlNUTTMyQ3ViZSoqIGlzIGFuIFNUTWljcm9lbGVjdHJvbmljcyBvcmlnaW5hbCBpbml0aWF0aXZlIHRvIGVhc2UgdGhlIGRldmVsb3BlcnMgbGlmZSBieSByZWR1Y2luZyBlZmZvcnRzLCB0aW1lIGFuZCBjb3N0LgorKipTVE0zMkN1YmUqKiBpcyBhbiBTVE1pY3JvZWxlY3Ryb25pY3Mgb3JpZ2luYWwgaW5pdGlhdGl2ZSB0byBlYXNlIGRldmVsb3BlcnMnIGxpZmUgYnkgcmVkdWNpbmcgZWZmb3J0cywgdGltZSBhbmQgY29zdC4KIAotKipTVE0zMkN1YmUqKiBjb3ZlcnMgdGhlIG92ZXJhbGwgU1RNMzIgcHJvZHVjdHMgcG9ydGZvbGlvLiBJdCBpbmNsdWRlcyBhIGNvbXByZWhlbnNpdmUgZW1iZWRkZWQgc29mdHdhcmUgcGxhdGZvcm0sIGRlbGl2ZXJlZCBmb3IgZWFjaCBTVE0zMiBzZXJpZXMuCi0gICAqIFRoZSBDTVNJUyBtb2R1bGVzIChjb3JlIGFuZCBkZXZpY2UpIGNvcnJlc3BvbmRpbmcgdG8gdGhlIEFSTSh0bSkgY29yZSBpbXBsZW1lbnRlZCBpbiB0aGlzIFNUTTMyIHByb2R1Y3QKLSAgICogVGhlIFNUTTMyIEhBTC1MTCBkcml2ZXJzIDogYW4gYWJzdHJhY3Rpb24gZHJpdmVycyBsYXllciwgdGhlIEFQSSBlbnN1cmluZyBtYXhpbWl6ZWQgcG9ydGFiaWxpdHkgYWNyb3NzIHRoZSBTVE0zMiBwb3J0Zm9saW8KLSAgICogVGhlIEJTUCBEcml2ZXJzIG9mIGVhY2ggZXZhbHVhdGlvbiBvciBkZW1vbnN0cmF0aW9uIGJvYXJkIHByb3ZpZGVkIGJ5IHRoaXMgU1RNMzIgc2VyaWVzCi0gICAqIEEgY29uc2lzdGVudCBzZXQgb2YgbWlkZGxld2FyZXMgY29tcG9uZW50cyBzdWNoIGFzIFJUT1MsIFVTQiwgRmF0RlMsIEdyYXBoaWNzLCBTVE0zMl9Ub3VjaFNlbnNpbmdfTGlicmFyeSAuLi4KLSAgICogQSBmdWxsIHNldCBvZiBzb2Z0d2FyZSBwcm9qZWN0cyAoYmFzaWMgZXhhbXBsZXMsIGFwcGxpY2F0aW9ucyBvciBkZW1vbnN0cmF0aW9ucykgZm9yIGVhY2ggYm9hcmQgcHJvdmlkZWQgYnkgdGhpcyBTVE0zMiBzZXJpZXMKKyoqU1RNMzJDdWJlKiogY292ZXJzIHRoZSBvdmVyYWxsIFNUTTMyIHByb2R1Y3RzIHBvcnRmb2xpby4gSXQgaW5jbHVkZXMgYSBjb21wcmVoZW5zaXZlIGVtYmVkZGVkIHNvZnR3YXJlIHBsYXRmb3JtIGRlbGl2ZXJlZCBmb3IgZWFjaCBTVE0zMiBzZXJpZXMuCisgICAqIFRoZSBDTVNJUyBtb2R1bGVzIChjb3JlIGFuZCBkZXZpY2UpIGNvcnJlc3BvbmRpbmcgdG8gdGhlIEFSTSh0bSkgY29yZSBpbXBsZW1lbnRlZCBpbiB0aGlzIFNUTTMyIHByb2R1Y3QuCisgICAqIFRoZSBTVE0zMiBIQUwtTEwgZHJpdmVycywgYW4gYWJzdHJhY3Rpb24gbGF5ZXIgb2ZmZXJpbmcgYSBzZXQgb2YgQVBJcyBlbnN1cmluZyBtYXhpbWl6ZWQgcG9ydGFiaWxpdHkgYWNyb3NzIHRoZSBTVE0zMiBwb3J0Zm9saW8uCisgICAqIFRoZSBCU1AgZHJpdmVycyBvZiBlYWNoIGV2YWx1YXRpb24sIGRlbW9uc3RyYXRpb24gb3IgbnVjbGVvIGJvYXJkIHByb3ZpZGVkIGZvciB0aGlzIFNUTTMyIHNlcmllcy4KKyAgICogQSBjb25zaXN0ZW50IHNldCBvZiBtaWRkbGV3YXJlIGxpYnJhcmllcyBzdWNoIGFzIFJUT1MsIFVTQiwgRmF0RlMsIGdyYXBoaWNzLCB0b3VjaCBzZW5zaW5nIGxpYnJhcnkuLi4KKyAgICogQSBmdWxsIHNldCBvZiBzb2Z0d2FyZSBwcm9qZWN0cyAoYmFzaWMgZXhhbXBsZXMsIGFwcGxpY2F0aW9ucywgYW5kIGRlbW9uc3RyYXRpb25zKSBmb3IgZWFjaCBib2FyZCBwcm92aWRlZCBmb3IgdGhpcyBTVE0zMiBzZXJpZXMuCiAKLVR3byBtb2RlbHMgb2YgcHVibGljYXRpb24gYXJlIHByb3Bvc2VkIGZvciB0aGUgU1RNMzJDdWJlIGVtYmVkZGVkIHNvZnR3YXJlIDoKLSAgICogVGhlIG1vbm9saXRoaWMgKipNQ1UgUGFja2FnZSoqIDogYWxsIFNUTTMyQ3ViZSBzb2Z0d2FyZSBtb2R1bGVzIG9mIG9uZSBTVE0zMiBzZXJpZXMgYXJlIHByZXNlbnQgKERyaXZlcnMsIE1pZGRsZXdhcmVzLCBQcm9qZWN0cywgVXRpbGl0aWVzKSBpbiB0aGUgcmVwb3NpdG9yeSAodXN1YWwgbmFtZSAqKlNUTTMyQ3ViZXh4KiosIHh4IGNvcnJlc3BvbmRpbmcgdG8gdGhlIFNUTTMyIHNlcmllcykuCi0gICAqIFRoZSAqKk1DVSBjb21wb25lbnQqKiA6IHByb2dyZXNzaXZlbHkgZnJvbSBOb3ZlbWJlciAyMDE5LCBlYWNoIFNUTTMyQ3ViZSBzb2Z0d2FyZSBtb2R1bGUgYmVpbmcgcGFydCBvZiB0aGUgU1RNMzJDdWJlIE1DVSBQYWNrYWdlLCB3aWxsIGJlIGRlbGl2ZXJlZCBhcyBhbiBpbmRpdmlkdWFsIHJlcG8sIGFsbG93aW5nIHRoZSB1c2VyIHRvIHNlbGVjdCBhbmQgZ2V0IG9ubHkgdGhlIHJlcXVpcmVkIHNvZnR3YXJlIGZ1bmN0aW9ucy4KK1R3byBtb2RlbHMgb2YgcHVibGljYXRpb24gYXJlIHByb3Bvc2VkIGZvciB0aGUgU1RNMzJDdWJlIGVtYmVkZGVkIHNvZnR3YXJlOgorICAgKiBUaGUgbW9ub2xpdGhpYyAqKk1DVSBQYWNrYWdlKio6IGFsbCBTVE0zMkN1YmUgc29mdHdhcmUgbW9kdWxlcyBvZiBvbmUgU1RNMzIgc2VyaWVzIGFyZSBwcmVzZW50IChEcml2ZXJzLCBNaWRkbGV3YXJlLCBQcm9qZWN0cywgVXRpbGl0aWVzKSBpbiB0aGUgcmVwb3NpdG9yeSAodXN1YWwgbmFtZSAqKlNUTTMyQ3ViZXh4KiosIHh4IGNvcnJlc3BvbmRpbmcgdG8gdGhlIFNUTTMyIHNlcmllcykuCisgICAqIFRoZSAqKk1DVSBjb21wb25lbnRzKio6IGVhY2ggU1RNMzJDdWJlIHNvZnR3YXJlIG1vZHVsZSBiZWluZyBwYXJ0IG9mIHRoZSBTVE0zMkN1YmUgTUNVIFBhY2thZ2UsIGlzIGRlbGl2ZXJlZCBhcyBhbiBpbmRpdmlkdWFsIHJlcG9zaXRvcnksIGFsbG93aW5nIHRoZSB1c2VyIHRvIHNlbGVjdCBhbmQgZ2V0IG9ubHkgdGhlIHJlcXVpcmVkIHNvZnR3YXJlIGZ1bmN0aW9ucy4KIAogIyMgRGVzY3JpcHRpb24KIApAQCAtMjcsMTUgKzI5LDE0IEBACiAKIEluIHRoaXMgdGFibGUsIHlvdSBjYW4gZmluZCB0aGUgc3VjY2Vzc2l2ZSB2ZXJzaW9ucyBvZiB0aGlzIENNU0lTIERldmljZSBjb21wb25lbnQsIGluLWxpbmUgd2l0aCB0aGUgY29ycmVzcG9uZGluZyB2ZXJzaW9ucyBvZiB0aGUgZnVsbCBNQ1UgcGFja2FnZToKIAotQ01TSVMgRGV2aWNlIEY3IHwgQ01TSVMgQ29yZSB8IFdhcyBkZWxpdmVyZWQgaW4gdGhlIGZ1bGwgTUNVIHBhY2thZ2UKLS0tLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1UYWcgdjEuMi40IHwgVGFnIHY1LjQuMF9jbTcgfCBUYWcgdjEuMTUuMAotVGFnIHYxLjIuNSB8IFRhZyB2NS40LjBfY200IHwgVGFnIHYxLjE2LjAKLVRhZyB2MS4yLjYgfCBUYWcgdjUuNC4wX2NtNCB8IFRhZyB2MS4xNi4xCitDTVNJUyBEZXZpY2UgRjcgfCBDTVNJUyBDb3JlICAgICB8IFdhcyBkZWxpdmVyZWQgaW4gdGhlIGZ1bGwgTUNVIHBhY2thZ2UKKy0tLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorVGFnIHYxLjIuNSAgICAgIHwgVGFnIHY1LjQuMF9jbTcgfCBUYWcgdjEuMTYuMAorVGFnIHYxLjIuNiAgICAgIHwgVGFnIHY1LjQuMF9jbTcgfCBUYWcgdjEuMTYuMQorVGFnIHYxLjIuNyAgICAgIHwgVGFnIHY1LjQuMF9jbTcgfCBUYWcgdjEuMTYuMgogCiBUaGUgZnVsbCAqKlNUTTMyQ3ViZUY3KiogTUNVIHBhY2thZ2UgaXMgYXZhaWxhYmxlIFtoZXJlXShodHRwczovL2dpdGh1Yi5jb20vU1RNaWNyb2VsZWN0cm9uaWNzL1NUTTMyQ3ViZUY3KS4KIAogIyMgVHJvdWJsZXNob290aW5nCi1JZiB5b3UgaGF2ZSBhbnkgaXNzdWUgd2l0aCB0aGUgKipTb2Z0d2FyZSBjb250ZW50Kiogb2YgdGhpcyByZXBvc2l0b3J5LCB5b3UgY2FuIFtmaWxlIGFuIGlzc3VlIG9uIEdpdGh1Yl0oaHR0cHM6Ly9naXRodWIuY29tL1NUTWljcm9lbGVjdHJvbmljcy9jbXNpc19kZXZpY2VfZjcvaXNzdWVzL25ldykuCiAKLUZvciBhbnkgb3RoZXIgcXVlc3Rpb24gcmVsYXRlZCB0byB0aGUgcHJvZHVjdCwgdGhlIHRvb2xzLCB0aGUgZW52aXJvbm1lbnQsIHlvdSBjYW4gc3VibWl0IGEgdG9waWMgb24gdGhlIFtTVCBDb21tdW5pdHkvU1RNMzIgTUNVcyBmb3J1bV0oaHR0cHM6Ly9jb21tdW5pdHkuc3QuY29tL3MvZ3JvdXAvMEY5MFgwMDAwMDBBWHNBU0FXL3N0bTMyLW1jdXMpLgorUGxlYXNlIHJlZmVyIHRvIHRoZSBbQ09OVFJJQlVUSU5HLm1kXShDT05UUklCVVRJTkcubWQpIGd1aWRlLgpkaWZmIC0tZ2l0IGEvUmVsZWFzZV9Ob3Rlcy5odG1sIGIvUmVsZWFzZV9Ob3Rlcy5odG1sCmluZGV4IDAxMjkzZjEuLjc0YTVhOWIgMTAwNjQ0Ci0tLSBhL1JlbGVhc2VfTm90ZXMuaHRtbAorKysgYi9SZWxlYXNlX05vdGVzLmh0bWwKQEAgLTUsMTQgKzUsMTEgQEAKICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJwYW5kb2MiIC8+CiAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wLCB1c2VyLXNjYWxhYmxlPXllcyIgLz4KICAgPHRpdGxlPlJlbGVhc2UgTm90ZXMgZm9yIFNUTTMyRjd4eCBDTVNJUzwvdGl0bGU+Ci0gIDxzdHlsZT4KLSAgICBjb2Rle3doaXRlLXNwYWNlOiBwcmUtd3JhcDt9Ci0gICAgc3Bhbi5zbWFsbGNhcHN7Zm9udC12YXJpYW50OiBzbWFsbC1jYXBzO30KLSAgICBzcGFuLnVuZGVybGluZXt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9Ci0gICAgZGl2LmNvbHVtbntkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHdpZHRoOiA1MCU7fQotICAgIGRpdi5oYW5naW5nLWluZGVudHttYXJnaW4tbGVmdDogMS41ZW07IHRleHQtaW5kZW50OiAtMS41ZW07fQotICAgIHVsLnRhc2stbGlzdHtsaXN0LXN0eWxlOiBub25lO30KLSAgICAuZGlzcGxheS5tYXRoe2Rpc3BsYXk6IGJsb2NrOyB0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbjogMC41cmVtIGF1dG87fQorICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgICAgY29kZXt3aGl0ZS1zcGFjZTogcHJlLXdyYXA7fQorICAgICAgc3Bhbi5zbWFsbGNhcHN7Zm9udC12YXJpYW50OiBzbWFsbC1jYXBzO30KKyAgICAgIHNwYW4udW5kZXJsaW5le3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO30KKyAgICAgIGRpdi5jb2x1bW57ZGlzcGxheTogaW5saW5lLWJsb2NrOyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB3aWR0aDogNTAlO30KICAgPC9zdHlsZT4KICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJfaHRtcmVzYy9taW5pLXN0LmNzcyIgLz4KICAgPCEtLVtpZiBsdCBJRSA5XT4KQEAgLTMyLDI2ICsyOSwzNiBAQAogPC9jZW50ZXI+CiA8L2Rpdj4KIDwvZGl2PgotPGgxIGlkPSJsaWNlbnNlIj5MaWNlbnNlPC9oMT4KLTxwPlRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLCB0aGUg4oCcTGljZW5zZeKAnTsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6PC9wPgotPGNlbnRlcj4KLTxhIGhyZWY9Imh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlIj5odHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZTwvYT4KLTwvY2VudGVyPgogPC9kaXY+Ci08c2VjdGlvbiBpZD0idXBkYXRlLWhpc3RvcnkiIGNsYXNzPSJjb2wtc20tMTIgY29sLWxnLTgiPgotPGgxPjxzdHJvbmc+VXBkYXRlIEhpc3Rvcnk8L3N0cm9uZz48L2gxPgorPGRpdiBjbGFzcz0iY29sLXNtLTEyIGNvbC1sZy04Ij4KKzxoMSBpZD0idXBkYXRlLWhpc3RvcnkiPjxzdHJvbmc+VXBkYXRlIEhpc3Rvcnk8L3N0cm9uZz48L2gxPgorPGRpdiBjbGFzcz0iY29sbGFwc2UiPgorPGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iY29sbGFwc2Utc2VjdGlvbjFfMl83IiAgY2hlY2tlZCBhcmlhLWhpZGRlbj0idHJ1ZSI+IDxsYWJlbCBmb3I9ImNvbGxhcHNlLXNlY3Rpb24xXzJfNyIgYXJpYS1oaWRkZW49InRydWUiPjxzdHJvbmc+VjEuMi43IC8gMjItTm92ZW1iZXItMjAyMTwvc3Ryb25nPjwvbGFiZWw+Cis8ZGl2PgorPGgyIGlkPSJtYWluLWNoYW5nZXMiPk1haW4gQ2hhbmdlczwvaDI+Cis8dWw+Cis8bGk+QWxsIHNvdXJjZSBmaWxlczogdXBkYXRlIGRpc2NsYWltZXIgdG8gYWRkIHJlZmVyZW5jZSB0byB0aGUgbmV3IGxpY2Vuc2UgYWdyZWVtZW50LjwvbGk+Cis8bGk+QWRkIG5ldyBhdG9taWMgcmVnaXN0ZXIgYWNjZXNzIG1hY3JvcyBpbiBzdG0zMmY3eHguaCBmaWxlLjwvbGk+Cis8bGk+QWRkIExTSSBtYXhpbXVtIHN0YXJ0dXAgdGltZSBkYXRhc2hlZXQgdmFsdWU6IExTSV9TVEFSVFVQX1RJTUUuPC9saT4KKzxsaT5fX0ZQVV9QUkVTRU5UIGRlZmluZWQgd2l0aCAxVSBpbnN0ZWFkIG9mIDEgdG8gYXZvaWQgY29tcGlsYXRpb24gd2FybmluZy48L2xpPgorPC91bD4KKzwvZGl2PgorPC9kaXY+CiA8ZGl2IGNsYXNzPSJjb2xsYXBzZSI+CiA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJjb2xsYXBzZS1zZWN0aW9uMV8yXzYiICBhcmlhLWhpZGRlbj0idHJ1ZSI+IDxsYWJlbCBmb3I9ImNvbGxhcHNlLXNlY3Rpb24xXzJfNiIgYXJpYS1oaWRkZW49InRydWUiPjxzdHJvbmc+VjEuMi42IC8gMTItRmVicnVhcnktMjAyMTwvc3Ryb25nPjwvbGFiZWw+Ci08aDIgaWQ9Im1haW4tY2hhbmdlcyI+TWFpbiBDaGFuZ2VzPC9oMj4KKzxkaXY+Cis8aDIgaWQ9Im1haW4tY2hhbmdlcy0xIj5NYWluIENoYW5nZXM8L2gyPgogPHVsPgogPGxpPkltcHJvdmVkIEdDQyBzdGFydHVwIGZpbGVzIHJvYnVzdG5lc3MuPC9saT4KIDxsaT5Qcm90ZWN0IFZlY3RvciB0YWJsZSBtb2RpZmljYXRpb24gZm9sbG93aW5nIFNSQU0gb3IgRkxBU0ggcHJlcHJvY2Vzc29yIGRpcmVjdGl2ZSBieSBhIGdlbmVyaWMgcHJlcHJvY2Vzc29yIGRpcmVjdGl2ZSA6IFVTRVJfVkVDVF9UQUJfQUREUkVTUy48L2xpPgogPGxpPkFkZGVkIExpY2Vuc2UubWQgYW5kIFJlYWRtZS5tZCBmaWxlcyByZXF1aXJlZCBmb3IgR2l0SHViIHB1YmxpY2F0aW9uLjwvbGk+CiA8L3VsPgogPC9kaXY+Cis8L2Rpdj4KIDxkaXYgY2xhc3M9ImNvbGxhcHNlIj4KIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImNvbGxhcHNlLXNlY3Rpb24xXzJfNSIgIGFyaWEtaGlkZGVuPSJ0cnVlIj4gPGxhYmVsIGZvcj0iY29sbGFwc2Utc2VjdGlvbjFfMl81IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHN0cm9uZz5WMS4yLjUgLyAxMy1GZWJydWFyeS0yMDIwPC9zdHJvbmc+PC9sYWJlbD4KLTxoMiBpZD0ibWFpbi1jaGFuZ2VzLTEiPk1haW4gQ2hhbmdlczwvaDI+Cis8ZGl2PgorPGgyIGlkPSJtYWluLWNoYW5nZXMtMiI+TWFpbiBDaGFuZ2VzPC9oMj4KIDx1bD4KIDxsaT5BZGQgQURDIG1pc3NpbmcgY2FsaWJyYXRpb24gYWRkcmVzcyBmb3IgVnJlZiBhbmQgVGVtcGVyYXR1cmUgc2Vuc29yLjwvbGk+CiA8bGk+QWxpZ24gR1BJTyBCaXRzIERlZmluaXRpb25zIHRvIHVzZSBfUE9TIGFuZCBfTVNLLjwvbGk+CkBAIC02Miw5ICs2OSwxMSBAQAogPGxpPlJlbW92ZSBJU19USU1fU1lOQ0hST19JTlNUQU5DRSBtYWNyby48L2xpPgogPC91bD4KIDwvZGl2PgorPC9kaXY+CiA8ZGl2IGNsYXNzPSJjb2xsYXBzZSI+CiA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJjb2xsYXBzZS1zZWN0aW9uMV8yXzQiICBhcmlhLWhpZGRlbj0idHJ1ZSI+IDxsYWJlbCBmb3I9ImNvbGxhcHNlLXNlY3Rpb24xXzJfNCIgYXJpYS1oaWRkZW49InRydWUiPjxzdHJvbmc+VjEuMi40IC8gMDgtRmVicnVhcnktMjAxOTwvc3Ryb25nPjwvbGFiZWw+Ci08aDIgaWQ9Im1haW4tY2hhbmdlcy0yIj5NYWluIENoYW5nZXM8L2gyPgorPGRpdj4KKzxoMiBpZD0ibWFpbi1jaGFuZ2VzLTMiPk1haW4gQ2hhbmdlczwvaDI+CiA8dWw+CiA8bGk+Q1JZUAogPHVsPgpAQCAtMTEzLDkgKzEyMiwxMSBAQAogPC91bD48L2xpPgogPC91bD4KIDwvZGl2PgorPC9kaXY+CiA8ZGl2IGNsYXNzPSJjb2xsYXBzZSI+CiA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJjb2xsYXBzZS1zZWN0aW9uMV8yXzMiICBhcmlhLWhpZGRlbj0idHJ1ZSI+IDxsYWJlbCBmb3I9ImNvbGxhcHNlLXNlY3Rpb24xXzJfMyIgYXJpYS1oaWRkZW49InRydWUiPjxzdHJvbmc+VjEuMi4zIC8gMjktSnVuZS0yMDE4PC9zdHJvbmc+PC9sYWJlbD4KLTxoMiBpZD0ibWFpbi1jaGFuZ2VzLTMiPk1haW4gQ2hhbmdlczwvaDI+Cis8ZGl2PgorPGgyIGlkPSJtYWluLWNoYW5nZXMtNCI+TWFpbiBDaGFuZ2VzPC9oMj4KIDx1bD4KIDxsaT5BZGQgdGhlIHN1cHBvcnQgb2YgPHN0cm9uZz5TVE0zMkY3MzB4eCBhbmQgU1RNMzJGNzUweHg8L3N0cm9uZz4gZGV2aWNlcwogPHVsPgpAQCAtMTI2LDI1ICsxMzcsMzEgQEAKIDwvdWw+PC9saT4KIDwvdWw+CiA8L2Rpdj4KKzwvZGl2PgogPGRpdiBjbGFzcz0iY29sbGFwc2UiPgogPGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iY29sbGFwc2Utc2VjdGlvbjFfMl8yIiAgYXJpYS1oaWRkZW49InRydWUiPiA8bGFiZWwgZm9yPSJjb2xsYXBzZS1zZWN0aW9uMV8yXzIiIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3Ryb25nPlYxLjIuMiAvIDI2LURlY2VtYmVyLTIwMTc8L3N0cm9uZz48L2xhYmVsPgotPGgyIGlkPSJtYWluLWNoYW5nZXMtNCI+TWFpbiBDaGFuZ2VzPC9oMj4KKzxkaXY+Cis8aDIgaWQ9Im1haW4tY2hhbmdlcy01Ij5NYWluIENoYW5nZXM8L2gyPgogPHVsPgogPGxpPlVwZGF0ZSBiaXRzIGRlZmluaXRpb24gZm9yIFVTQlBIWUNfUExMMSBhbmQgVVNCUEhZQ19MRE8gcmVnaXN0ZXJzIHRvIGJlIGlubGluZSB3aXRoIHByb2R1Y3RzIGRvY3VtZW50YXRpb24uPC9saT4KIDwvdWw+CiA8L2Rpdj4KKzwvZGl2PgogPGRpdiBjbGFzcz0iY29sbGFwc2UiPgogPGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iY29sbGFwc2Utc2VjdGlvbjFfMl8xIiAgYXJpYS1oaWRkZW49InRydWUiPiA8bGFiZWwgZm9yPSJjb2xsYXBzZS1zZWN0aW9uMV8yXzEiIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3Ryb25nPlYxLjIuMSAvIDI1LUF1Z3VzdC0yMDE3PC9zdHJvbmc+PC9sYWJlbD4KLTxoMiBpZD0ibWFpbi1jaGFuZ2VzLTUiPk1haW4gQ2hhbmdlczwvaDI+Cis8ZGl2PgorPGgyIGlkPSJtYWluLWNoYW5nZXMtNiI+TWFpbiBDaGFuZ2VzPC9oMj4KIDx1bD4KIDxsaT5VcGRhdGUgRkxBU0hTSVpFX0JBU0UgYW5kIFVJRF9CQVNFIGRlZmluZWQgdmFsdWVzIGZvciBTVE0zMkY3MnggYW5kIFNUTTMyRjczeCBkZXZpY2VzLjwvbGk+CiA8bGk+VXBkYXRlIHN0bTMyZjd4eC5oIHRvIGluY2x1ZGUgc3RtMzJmN3h4X2hhbC5oIGZpbGUgaW5zdGVhZCBvZiBzdG0zMmY3eHhfaGFsX2NvbmYuaCBmaWxlPC9saT4KIDxsaT5SZW1vdmUgRGF0ZSBhbmQgVmVyc2lvbiBmcm9tIGhlYWRlciBmaWxlczwvbGk+CiA8L3VsPgogPC9kaXY+Cis8L2Rpdj4KIDxkaXYgY2xhc3M9ImNvbGxhcHNlIj4KIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImNvbGxhcHNlLXNlY3Rpb24xXzJfMCIgIGFyaWEtaGlkZGVuPSJ0cnVlIj4gPGxhYmVsIGZvcj0iY29sbGFwc2Utc2VjdGlvbjFfMl8wIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHN0cm9uZz5WMS4yLjAgLyAzMC1EZWNlbWJlci0yMDE2PC9zdHJvbmc+PC9sYWJlbD4KLTxoMiBpZD0ibWFpbi1jaGFuZ2VzLTYiPk1haW4gQ2hhbmdlczwvaDI+Cis8ZGl2PgorPGgyIGlkPSJtYWluLWNoYW5nZXMtNyI+TWFpbiBDaGFuZ2VzPC9oMj4KIDx1bD4KIDxsaT5BZGQgdGhlIHN1cHBvcnQgb2YgPHN0cm9uZz5TVE0zMkY3MjJ4eCwgU1RNMzJGNzIzeHgsIFNUTTMyRjczMnh4IGFuZCBTVE0zMkY3MzN4eDwvc3Ryb25nPiBkZXZpY2VzCiA8dWw+CkBAIC0xNzksOSArMTk2LDExIEBACiA8L3VsPjwvbGk+CiA8L3VsPgogPC9kaXY+Cis8L2Rpdj4KIDxkaXYgY2xhc3M9ImNvbGxhcHNlIj4KIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImNvbGxhcHNlLXNlY3Rpb24xXzFfMSIgIGFyaWEtaGlkZGVuPSJ0cnVlIj4gPGxhYmVsIGZvcj0iY29sbGFwc2Utc2VjdGlvbjFfMV8xIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHN0cm9uZz5WMS4xLjEgLyAwMS1KdWx5LTIwMTY8L3N0cm9uZz48L2xhYmVsPgotPGgyIGlkPSJtYWluLWNoYW5nZXMtNyI+TWFpbiBDaGFuZ2VzPC9oMj4KKzxkaXY+Cis8aDIgaWQ9Im1haW4tY2hhbmdlcy04Ij5NYWluIENoYW5nZXM8L2gyPgogPHVsPgogPGxpPnN0bTMyZjd4eC5oCiA8dWw+CkBAIC0xODksOSArMjA4LDExIEBACiA8L3VsPjwvbGk+CiA8L3VsPgogPC9kaXY+Cis8L2Rpdj4KIDxkaXYgY2xhc3M9ImNvbGxhcHNlIj4KIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImNvbGxhcHNlLXNlY3Rpb24xXzFfMCIgIGFyaWEtaGlkZGVuPSJ0cnVlIj4gPGxhYmVsIGZvcj0iY29sbGFwc2Utc2VjdGlvbjFfMV8wIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHN0cm9uZz5WMS4xLjAgLyAyMi1BcHJpbC0yMDE2PC9zdHJvbmc+PC9sYWJlbD4KLTxoMiBpZD0ibWFpbi1jaGFuZ2VzLTgiPk1haW4gQ2hhbmdlczwvaDI+Cis8ZGl2PgorPGgyIGlkPSJtYWluLWNoYW5nZXMtOSI+TWFpbiBDaGFuZ2VzPC9oMj4KIDx1bD4KIDxsaT5BZGQgdGhlIHN1cHBvcnQgb2YgPHN0cm9uZz5TVE0zMkY3NjV4eCwgU1RNMzJGNzY3eHgsIFNUTTMyRjc2OHh4LCBTVE0zMkY3Njl4eCwgU1RNMzJGNzc3eHgsIFNUTTMyRjc3OHh4IGFuZCBTVE0zMkY3Nzl4eDwvc3Ryb25nPiBkZXZpY2VzCiA8dWw+CkBAIC0yNTEsOSArMjcyLDExIEBACiA8L3VsPjwvbGk+CiA8L3VsPgogPC9kaXY+Cis8L2Rpdj4KIDxkaXYgY2xhc3M9ImNvbGxhcHNlIj4KIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImNvbGxhcHNlLXNlY3Rpb24xXzBfMyIgIGFyaWEtaGlkZGVuPSJ0cnVlIj4gPGxhYmVsIGZvcj0iY29sbGFwc2Utc2VjdGlvbjFfMF8zIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHN0cm9uZz5WMS4wLjMgLyAxMy1Ob3ZlbWJlci0yMDE1PC9zdHJvbmc+PC9sYWJlbD4KLTxoMiBpZD0ibWFpbi1jaGFuZ2VzLTkiPk1haW4gQ2hhbmdlczwvaDI+Cis8ZGl2PgorPGgyIGlkPSJtYWluLWNoYW5nZXMtMTAiPk1haW4gQ2hhbmdlczwvaDI+CiA8dWw+CiA8bGk+c3RtMzJmNzQ1eHguaCwgc3RtMzJmNzQ2eHguaCBhbmQgc3RtMzJmNzU2eHguaCBmaWxlcwogPHVsPgpAQCAtMjY5LDkgKzI5MiwxMSBAQAogPC91bD48L2xpPgogPC91bD4KIDwvZGl2PgorPC9kaXY+CiA8ZGl2IGNsYXNzPSJjb2xsYXBzZSI+CiA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJjb2xsYXBzZS1zZWN0aW9uMV8wXzIiICBhcmlhLWhpZGRlbj0idHJ1ZSI+IDxsYWJlbCBmb3I9ImNvbGxhcHNlLXNlY3Rpb24xXzBfMiIgYXJpYS1oaWRkZW49InRydWUiPjxzdHJvbmc+VjEuMC4yIC8gMjEtU2VwdGVtYmVyLTIwMTU8L3N0cm9uZz48L2xhYmVsPgotPGgyIGlkPSJtYWluLWNoYW5nZXMtMTAiPk1haW4gQ2hhbmdlczwvaDI+Cis8ZGl2PgorPGgyIGlkPSJtYWluLWNoYW5nZXMtMTEiPk1haW4gQ2hhbmdlczwvaDI+CiA8dWw+CiA8bGk+c3RtMzJmNzQ1eHguaCwgc3RtMzJmNzQ2eHguaCBhbmQgc3RtMzJmNzU2eHguaCBmaWxlcwogPHVsPgpAQCAtMjgwLDkgKzMwNSwxMSBAQAogPC91bD48L2xpPgogPC91bD4KIDwvZGl2PgorPC9kaXY+CiA8ZGl2IGNsYXNzPSJjb2xsYXBzZSI+CiA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJjb2xsYXBzZS1zZWN0aW9uMV8wXzEiICBhcmlhLWhpZGRlbj0idHJ1ZSI+IDxsYWJlbCBmb3I9ImNvbGxhcHNlLXNlY3Rpb24xXzBfMSIgYXJpYS1oaWRkZW49InRydWUiPjxzdHJvbmc+VjEuMC4xIC8gMjUtSnVuZS0yMDE1PC9zdHJvbmc+PC9sYWJlbD4KLTxoMiBpZD0ibWFpbi1jaGFuZ2VzLTExIj5NYWluIENoYW5nZXM8L2gyPgorPGRpdj4KKzxoMiBpZD0ibWFpbi1jaGFuZ2VzLTEyIj5NYWluIENoYW5nZXM8L2gyPgogPHVsPgogPGxpPnN0bTMyZjc0NXh4LmgsIHN0bTMyZjc0Nnh4LmggYW5kIHN0bTMyZjc1Nnh4LmggZmlsZXMKIDx1bD4KQEAgLTI5OCwxMyArMzI1LDE2IEBACiA8L3VsPjwvbGk+CiA8L3VsPgogPC9kaXY+Cis8L2Rpdj4KIDxkaXYgY2xhc3M9ImNvbGxhcHNlIj4KIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImNvbGxhcHNlLXNlY3Rpb24xXzBfMCIgIGFyaWEtaGlkZGVuPSJ0cnVlIj4gPGxhYmVsIGZvcj0iY29sbGFwc2Utc2VjdGlvbjFfMF8wIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHN0cm9uZz5WMS4wLjAgLyAxMi1BcHJpbC0yMDE5PC9zdHJvbmc+PC9sYWJlbD4KLTxoMiBpZD0ibWFpbi1jaGFuZ2VzLTEyIj5NYWluIENoYW5nZXM8L2gyPgorPGRpdj4KKzxoMiBpZD0ibWFpbi1jaGFuZ2VzLTEzIj5NYWluIENoYW5nZXM8L2gyPgogPGgzIGlkPSJmaXJzdC1yZWxlYXNlIj5GaXJzdCByZWxlYXNlPC9oMz4KIDxwPkZpcnN0IG9mZmljaWFsIHJlbGVhc2UgZm9yIDxzdHJvbmc+U1RNMzJGNzU2eHgvNzQ2eHgvNzQ1eHg8L3N0cm9uZz4gZGV2aWNlczwvcD4KIDwvZGl2PgotPC9zZWN0aW9uPgorPC9kaXY+Cis8L2Rpdj4KIDwvZGl2PgogPGZvb3RlciBjbGFzcz0ic3RpY2t5Ij4KIEZvciBjb21wbGV0ZSBkb2N1bWVudGF0aW9uIG9uIFNUTTMyIE1pY3JvY29udHJvbGxlcnMgPC9tYXJrPiAsIHZpc2l0OiA8c3BhbiBzdHlsZT0iZm9udC1jb2xvcjogYmx1ZTsiPjxhIGhyZWY9Imh0dHA6Ly93d3cuc3QuY29tL3N0bTMyIj53d3cuc3QuY29tL3N0bTMyPC9hPjwvc3Bhbj4gPGVtPlRoaXMgcmVsZWFzZSBub3RlIHVzZXMgdXAgdG8gZGF0ZSB3ZWIgc3RhbmRhcmRzIGFuZCwgZm9yIHRoaXMgcmVhc29uLCBzaG91bGQgbm90IGJlIG9wZW5lZCB3aXRoIEludGVybmV0IEV4cGxvcmVyIGJ1dCBwcmVmZXJhYmx5IHdpdGggcG9wdWxhciBicm93c2VycyBzdWNoIGFzIEdvb2dsZSBDaHJvbWUsIE1vemlsbGEgRmlyZWZveCwgT3BlcmEgb3IgTWljcm9zb2Z0IEVkZ2UuPC9lbT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmNzIyeHgucyBiL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmNzIyeHgucwppbmRleCBiOGJkZDdjLi5lN2ExMTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjcyMnh4LnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmY3MjJ4eC5zCkBAIC0xMCwxNyArMTAsMTYgQEAKIDsqICAgICAgICAgICAgICAgICAgICAgICAgY2FsbHMgbWFpbigpKS4KIDsqICAgICAgICAgICAgICAgICAgICAgIEFmdGVyIFJlc2V0IHRoZSBDb3J0ZXhNNyBwcm9jZXNzb3IgaXMgaW4gVGhyZWFkIG1vZGUsCiA7KiAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eSBpcyBQcml2aWxlZ2VkLCBhbmQgdGhlIFN0YWNrIGlzIHNldCB0byBNYWluLgotOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKzsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogQGF0dGVudGlvbgogOyoKLTsqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotOyogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorOyogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKzsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7KgotOyogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi07KiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi07KiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci07KiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotOyoKKzsqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorOyogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorOyogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCis7CiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogPDw8IFVzZSBDb25maWd1cmF0aW9uIFdpemFyZCBpbiBDb250ZXh0IE1lbnUgPj4+CiA7CkBAIC00NDUsNCArNDQ0LDMgQEAKIAogICAgICAgICAgICAgICAgICBFTkQKIAotOyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmNzIzeHgucyBiL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmNzIzeHgucwppbmRleCBiYTEwN2Q0Li4yYjAxMzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjcyM3h4LnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmY3MjN4eC5zCkBAIC0xMCwxNyArMTAsMTYgQEAKIDsqICAgICAgICAgICAgICAgICAgICAgICAgY2FsbHMgbWFpbigpKS4KIDsqICAgICAgICAgICAgICAgICAgICAgIEFmdGVyIFJlc2V0IHRoZSBDb3J0ZXhNNyBwcm9jZXNzb3IgaXMgaW4gVGhyZWFkIG1vZGUsCiA7KiAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eSBpcyBQcml2aWxlZ2VkLCBhbmQgdGhlIFN0YWNrIGlzIHNldCB0byBNYWluLgotOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKzsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogQGF0dGVudGlvbgogOyoKLTsqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotOyogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorOyogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKzsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7KgotOyogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi07KiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi07KiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci07KiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotOyoKKzsqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorOyogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorOyogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCis7CiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogPDw8IFVzZSBDb25maWd1cmF0aW9uIFdpemFyZCBpbiBDb250ZXh0IE1lbnUgPj4+CiA7CkBAIC00NDUsNCArNDQ0LDMgQEAKIAogICAgICAgICAgICAgICAgICBFTkQKIAotOyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmNzMweHgucyBiL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmNzMweHgucwppbmRleCA5N2E3NzVhLi5iNWZlMjk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjczMHh4LnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmY3MzB4eC5zCkBAIC0xMCwxNyArMTAsMTYgQEAKIDsqICAgICAgICAgICAgICAgICAgICAgICAgY2FsbHMgbWFpbigpKS4KIDsqICAgICAgICAgICAgICAgICAgICAgIEFmdGVyIFJlc2V0IHRoZSBDb3J0ZXhNNyBwcm9jZXNzb3IgaXMgaW4gVGhyZWFkIG1vZGUsCiA7KiAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eSBpcyBQcml2aWxlZ2VkLCBhbmQgdGhlIFN0YWNrIGlzIHNldCB0byBNYWluLgotOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKzsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogQGF0dGVudGlvbgogOyoKLTsqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotOyogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorOyogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKzsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7KgotOyogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi07KiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi07KiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci07KiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotOyoKKzsqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorOyogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorOyogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCis7CiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogPDw8IFVzZSBDb25maWd1cmF0aW9uIFdpemFyZCBpbiBDb250ZXh0IE1lbnUgPj4+CiA7CkBAIC00NDcsNCArNDQ2LDMgQEAKIAogICAgICAgICAgICAgICAgICBFTkQKIAotOyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmNzMyeHgucyBiL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmNzMyeHgucwppbmRleCA3ZGYxN2EzLi5lNTc5ODM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjczMnh4LnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmY3MzJ4eC5zCkBAIC0xMCwxNyArMTAsMTYgQEAKIDsqICAgICAgICAgICAgICAgICAgICAgICAgY2FsbHMgbWFpbigpKS4KIDsqICAgICAgICAgICAgICAgICAgICAgIEFmdGVyIFJlc2V0IHRoZSBDb3J0ZXhNNyBwcm9jZXNzb3IgaXMgaW4gVGhyZWFkIG1vZGUsCiA7KiAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eSBpcyBQcml2aWxlZ2VkLCBhbmQgdGhlIFN0YWNrIGlzIHNldCB0byBNYWluLgotOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKzsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogQGF0dGVudGlvbgogOyoKLTsqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotOyogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorOyogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKzsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7KgotOyogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi07KiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi07KiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci07KiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotOyoKKzsqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorOyogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorOyogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCis7CiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogPDw8IFVzZSBDb25maWd1cmF0aW9uIFdpemFyZCBpbiBDb250ZXh0IE1lbnUgPj4+CiA7CkBAIC00NDcsNCArNDQ2LDMgQEAKIAogICAgICAgICAgICAgICAgICBFTkQKIAotOyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmNzMzeHgucyBiL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmNzMzeHgucwppbmRleCBiMmZjODAyLi5mOTg2NjVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjczM3h4LnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmY3MzN4eC5zCkBAIC0xMCwxNyArMTAsMTYgQEAKIDsqICAgICAgICAgICAgICAgICAgICAgICAgY2FsbHMgbWFpbigpKS4KIDsqICAgICAgICAgICAgICAgICAgICAgIEFmdGVyIFJlc2V0IHRoZSBDb3J0ZXhNNyBwcm9jZXNzb3IgaXMgaW4gVGhyZWFkIG1vZGUsCiA7KiAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eSBpcyBQcml2aWxlZ2VkLCBhbmQgdGhlIFN0YWNrIGlzIHNldCB0byBNYWluLgotOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKzsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogQGF0dGVudGlvbgogOyoKLTsqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotOyogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorOyogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKzsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7KgotOyogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi07KiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi07KiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci07KiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotOyoKKzsqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorOyogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorOyogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCis7CiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogPDw8IFVzZSBDb25maWd1cmF0aW9uIFdpemFyZCBpbiBDb250ZXh0IE1lbnUgPj4+CiA7CkBAIC00NDcsNCArNDQ2LDMgQEAKIAogICAgICAgICAgICAgICAgICBFTkQKIAotOyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmNzQ1eHgucyBiL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmNzQ1eHgucwppbmRleCA4ZGY4MThkLi4yN2MzOTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjc0NXh4LnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmY3NDV4eC5zCkBAIC0xMCwxNyArMTAsMTYgQEAKIDsqICAgICAgICAgICAgICAgICAgICAgICAgY2FsbHMgbWFpbigpKS4KIDsqICAgICAgICAgICAgICAgICAgICAgIEFmdGVyIFJlc2V0IHRoZSBDb3J0ZXhNNyBwcm9jZXNzb3IgaXMgaW4gVGhyZWFkIG1vZGUsCiA7KiAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eSBpcyBQcml2aWxlZ2VkLCBhbmQgdGhlIFN0YWNrIGlzIHNldCB0byBNYWluLgotOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKzsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogQGF0dGVudGlvbgogOyoKLTsqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotOyogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorOyogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKzsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7KgotOyogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi07KiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi07KiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci07KiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotOyoKKzsqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorOyogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorOyogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCis7CiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogPDw8IFVzZSBDb25maWd1cmF0aW9uIFdpemFyZCBpbiBDb250ZXh0IE1lbnUgPj4+CiA7CkBAIC00NjMsNCArNDYyLDMgQEAKIAogICAgICAgICAgICAgICAgICBFTkQKIAotOyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmNzQ2eHgucyBiL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmNzQ2eHgucwppbmRleCA0OWE3OTBhLi5jNTNhZjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjc0Nnh4LnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmY3NDZ4eC5zCkBAIC0xMCwxNyArMTAsMTYgQEAKIDsqICAgICAgICAgICAgICAgICAgICAgICAgY2FsbHMgbWFpbigpKS4KIDsqICAgICAgICAgICAgICAgICAgICAgIEFmdGVyIFJlc2V0IHRoZSBDb3J0ZXhNNyBwcm9jZXNzb3IgaXMgaW4gVGhyZWFkIG1vZGUsCiA7KiAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eSBpcyBQcml2aWxlZ2VkLCBhbmQgdGhlIFN0YWNrIGlzIHNldCB0byBNYWluLgotOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKzsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogQGF0dGVudGlvbgogOyoKLTsqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotOyogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorOyogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKzsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7KgotOyogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi07KiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi07KiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci07KiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotOyoKKzsqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorOyogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorOyogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCis7CiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogPDw8IFVzZSBDb25maWd1cmF0aW9uIFdpemFyZCBpbiBDb250ZXh0IE1lbnUgPj4+CiA7CkBAIC00NjcsNCArNDY2LDMgQEAKIAogICAgICAgICAgICAgICAgICBFTkQKIAotOyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmNzUweHgucyBiL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmNzUweHgucwppbmRleCBlMmIxNDJmLi5mMjMyMWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjc1MHh4LnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmY3NTB4eC5zCkBAIC0xMCwxNyArMTAsMTYgQEAKIDsqICAgICAgICAgICAgICAgICAgICAgICAgY2FsbHMgbWFpbigpKS4KIDsqICAgICAgICAgICAgICAgICAgICAgIEFmdGVyIFJlc2V0IHRoZSBDb3J0ZXhNNyBwcm9jZXNzb3IgaXMgaW4gVGhyZWFkIG1vZGUsCiA7KiAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eSBpcyBQcml2aWxlZ2VkLCBhbmQgdGhlIFN0YWNrIGlzIHNldCB0byBNYWluLgotOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKzsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogQGF0dGVudGlvbgogOyoKLTsqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotOyogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorOyogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKzsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7KgotOyogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi07KiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi07KiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci07KiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotOyoKKzsqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorOyogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorOyogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCis7CiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogPDw8IFVzZSBDb25maWd1cmF0aW9uIFdpemFyZCBpbiBDb250ZXh0IE1lbnUgPj4+CiA7CkBAIC00NjksNCArNDY4LDMgQEAKIAogICAgICAgICAgICAgICAgICBFTkQKIAotOyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmNzU2eHgucyBiL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmNzU2eHgucwppbmRleCBkNDU4YTBjLi42MDgyYTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjc1Nnh4LnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmY3NTZ4eC5zCkBAIC0xMCwxNyArMTAsMTYgQEAKIDsqICAgICAgICAgICAgICAgICAgICAgICAgY2FsbHMgbWFpbigpKS4KIDsqICAgICAgICAgICAgICAgICAgICAgIEFmdGVyIFJlc2V0IHRoZSBDb3J0ZXhNNyBwcm9jZXNzb3IgaXMgaW4gVGhyZWFkIG1vZGUsCiA7KiAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eSBpcyBQcml2aWxlZ2VkLCBhbmQgdGhlIFN0YWNrIGlzIHNldCB0byBNYWluLgotOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKzsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogQGF0dGVudGlvbgogOyoKLTsqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotOyogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorOyogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKzsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7KgotOyogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi07KiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi07KiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci07KiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotOyoKKzsqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorOyogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorOyogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCis7CiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogPDw8IFVzZSBDb25maWd1cmF0aW9uIFdpemFyZCBpbiBDb250ZXh0IE1lbnUgPj4+CiA7CkBAIC00NjksNCArNDY4LDMgQEAKIAogICAgICAgICAgICAgICAgICBFTkQKIAotOyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmNzY1eHgucyBiL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmNzY1eHgucwppbmRleCBiYWM0ZjE1Li40N2MyYTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjc2NXh4LnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmY3NjV4eC5zCkBAIC0xMCwxNyArMTAsMTYgQEAKIDsqICAgICAgICAgICAgICAgICAgICAgICAgY2FsbHMgbWFpbigpKS4KIDsqICAgICAgICAgICAgICAgICAgICAgIEFmdGVyIFJlc2V0IHRoZSBDb3J0ZXhNNyBwcm9jZXNzb3IgaXMgaW4gVGhyZWFkIG1vZGUsCiA7KiAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eSBpcyBQcml2aWxlZ2VkLCBhbmQgdGhlIFN0YWNrIGlzIHNldCB0byBNYWluLgotOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKzsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogQGF0dGVudGlvbgogOyoKLTsqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotOyogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorOyogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKzsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7KgotOyogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi07KiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi07KiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci07KiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotOyoKKzsqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorOyogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorOyogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCis7CiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogPDw8IFVzZSBDb25maWd1cmF0aW9uIFdpemFyZCBpbiBDb250ZXh0IE1lbnUgPj4+CiA7CkBAIC00OTUsNCArNDk0LDMgQEAKIAogICAgICAgICAgICAgICAgICBFTkQKIAotOyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmNzY3eHgucyBiL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmNzY3eHgucwppbmRleCAxMzlhY2U2Li5lMzA0NTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjc2N3h4LnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmY3Njd4eC5zCkBAIC0xMCwxNyArMTAsMTYgQEAKIDsqICAgICAgICAgICAgICAgICAgICAgICAgY2FsbHMgbWFpbigpKS4KIDsqICAgICAgICAgICAgICAgICAgICAgIEFmdGVyIFJlc2V0IHRoZSBDb3J0ZXhNNyBwcm9jZXNzb3IgaXMgaW4gVGhyZWFkIG1vZGUsCiA7KiAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eSBpcyBQcml2aWxlZ2VkLCBhbmQgdGhlIFN0YWNrIGlzIHNldCB0byBNYWluLgotOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKzsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogQGF0dGVudGlvbgogOyoKLTsqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotOyogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorOyogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKzsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7KgotOyogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi07KiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi07KiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci07KiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotOyoKKzsqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorOyogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorOyogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCis7CiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogPDw8IFVzZSBDb25maWd1cmF0aW9uIFdpemFyZCBpbiBDb250ZXh0IE1lbnUgPj4+CiA7CkBAIC01MDEsNCArNTAwLDMgQEAKIAogICAgICAgICAgICAgICAgICBFTkQKIAotOyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmNzY5eHgucyBiL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmNzY5eHgucwppbmRleCA1NjliMmRkLi5kM2Q5ZDU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjc2OXh4LnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmY3Njl4eC5zCkBAIC0xMCwxNyArMTAsMTYgQEAKIDsqICAgICAgICAgICAgICAgICAgICAgICAgY2FsbHMgbWFpbigpKS4KIDsqICAgICAgICAgICAgICAgICAgICAgIEFmdGVyIFJlc2V0IHRoZSBDb3J0ZXhNNyBwcm9jZXNzb3IgaXMgaW4gVGhyZWFkIG1vZGUsCiA7KiAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eSBpcyBQcml2aWxlZ2VkLCBhbmQgdGhlIFN0YWNrIGlzIHNldCB0byBNYWluLgotOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKzsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogQGF0dGVudGlvbgogOyoKLTsqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotOyogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorOyogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKzsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7KgotOyogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi07KiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi07KiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci07KiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotOyoKKzsqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorOyogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorOyogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCis7CiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogPDw8IFVzZSBDb25maWd1cmF0aW9uIFdpemFyZCBpbiBDb250ZXh0IE1lbnUgPj4+CiA7CkBAIC01MDMsNCArNTAyLDMgQEAKIAogICAgICAgICAgICAgICAgICBFTkQKIAotOyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmNzc3eHgucyBiL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmNzc3eHgucwppbmRleCA5YzEzZmZmLi5iMjU2MTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjc3N3h4LnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmY3Nzd4eC5zCkBAIC0xMCwxNyArMTAsMTYgQEAKIDsqICAgICAgICAgICAgICAgICAgICAgICAgY2FsbHMgbWFpbigpKS4KIDsqICAgICAgICAgICAgICAgICAgICAgIEFmdGVyIFJlc2V0IHRoZSBDb3J0ZXhNNyBwcm9jZXNzb3IgaXMgaW4gVGhyZWFkIG1vZGUsCiA7KiAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eSBpcyBQcml2aWxlZ2VkLCBhbmQgdGhlIFN0YWNrIGlzIHNldCB0byBNYWluLgotOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKzsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogQGF0dGVudGlvbgogOyoKLTsqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotOyogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorOyogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKzsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7KgotOyogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi07KiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi07KiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci07KiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotOyoKKzsqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorOyogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorOyogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCis7CiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogPDw8IFVzZSBDb25maWd1cmF0aW9uIFdpemFyZCBpbiBDb250ZXh0IE1lbnUgPj4+CiA7CkBAIC01MDMsNCArNTAyLDMgQEAKIAogICAgICAgICAgICAgICAgICBFTkQKIAotOyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmNzc5eHgucyBiL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmNzc5eHgucwppbmRleCAxZGI2YmJiLi4zNDhhM2I5IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjc3OXh4LnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmY3Nzl4eC5zCkBAIC0xMCwxNyArMTAsMTYgQEAKIDsqICAgICAgICAgICAgICAgICAgICAgICAgY2FsbHMgbWFpbigpKS4KIDsqICAgICAgICAgICAgICAgICAgICAgIEFmdGVyIFJlc2V0IHRoZSBDb3J0ZXhNNyBwcm9jZXNzb3IgaXMgaW4gVGhyZWFkIG1vZGUsCiA7KiAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eSBpcyBQcml2aWxlZ2VkLCBhbmQgdGhlIFN0YWNrIGlzIHNldCB0byBNYWluLgotOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKzsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogQGF0dGVudGlvbgogOyoKLTsqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotOyogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorOyogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKzsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7KgotOyogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi07KiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi07KiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci07KiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotOyoKKzsqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorOyogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorOyogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCis7CiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogPDw8IFVzZSBDb25maWd1cmF0aW9uIFdpemFyZCBpbiBDb250ZXh0IE1lbnUgPj4+CiA7CkBAIC01MDUsNCArNTA0LDMgQEAKIAogICAgICAgICAgICAgICAgICBFTkQKIAotOyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmNzIyeHgucyBiL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmNzIyeHgucwppbmRleCBhNmViZTQ5Li5lYWUyMTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjcyMnh4LnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmY3MjJ4eC5zCkBAIC0xNCwxMyArMTQsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC01MzUsNiArNTM0LDUgQEAKIAogICAgLndlYWsgICAgICBTRE1NQzJfSVJRSGFuZGxlciAgICAgICAgICAgIAogICAgLnRodW1iX3NldCBTRE1NQzJfSVJRSGFuZGxlcixEZWZhdWx0X0hhbmRsZXIgIAotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLyAgICAgICAgCisgICAgCiAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjcyM3h4LnMgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjcyM3h4LnMKaW5kZXggMThiZDJkNi4uNThmNTkzYiAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmY3MjN4eC5zCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmNzIzeHgucwpAQCAtMTQsMTMgKzE0LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtNTM1LDYgKzUzNCw1IEBACiAKICAgIC53ZWFrICAgICAgU0RNTUMyX0lSUUhhbmRsZXIgICAgICAgICAgICAKICAgIC50aHVtYl9zZXQgU0RNTUMyX0lSUUhhbmRsZXIsRGVmYXVsdF9IYW5kbGVyICAKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8gICAgICAgIAorICAgIAogIApkaWZmIC0tZ2l0IGEvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmY3MzB4eC5zIGIvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmY3MzB4eC5zCmluZGV4IGUwMWM0ZWIuLmE4ZmNiNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmNzMweHgucworKysgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjczMHh4LnMKQEAgLTE0LDEzICsxNCwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTUzOCw2ICs1MzcsNSBAQAogCiAgICAud2VhayAgICAgIFNETU1DMl9JUlFIYW5kbGVyICAgICAgICAgICAgCiAgICAudGh1bWJfc2V0IFNETU1DMl9JUlFIYW5kbGVyLERlZmF1bHRfSGFuZGxlciAgCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovICAgICAgICAKKyAgICAKICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmNzMyeHgucyBiL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmNzMyeHgucwppbmRleCA1MmNhOTZkLi5iODgxNGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjczMnh4LnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmY3MzJ4eC5zCkBAIC0xNCwxMyArMTQsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC01MzgsNiArNTM3LDUgQEAKIAogICAgLndlYWsgICAgICBTRE1NQzJfSVJRSGFuZGxlciAgICAgICAgICAgIAogICAgLnRodW1iX3NldCBTRE1NQzJfSVJRSGFuZGxlcixEZWZhdWx0X0hhbmRsZXIgIAotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLyAgICAgICAgCisgICAgCiAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjczM3h4LnMgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjczM3h4LnMKaW5kZXggYjYzY2MwNi4uNDkyNDk5NSAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmY3MzN4eC5zCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmNzMzeHgucwpAQCAtMTQsMTMgKzE0LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtNTM4LDYgKzUzNyw1IEBACiAKICAgIC53ZWFrICAgICAgU0RNTUMyX0lSUUhhbmRsZXIgICAgICAgICAgICAKICAgIC50aHVtYl9zZXQgU0RNTUMyX0lSUUhhbmRsZXIsRGVmYXVsdF9IYW5kbGVyICAKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8gICAgICAgIAorICAgIAogIApkaWZmIC0tZ2l0IGEvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmY3NDV4eC5zIGIvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmY3NDV4eC5zCmluZGV4IDhjNjdlYjkuLmQwNzIyZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmNzQ1eHgucworKysgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjc0NXh4LnMKQEAgLTE0LDEzICsxNCwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTU2NSw2ICs1NjQsNSBAQAogICAgCiAgICAud2VhayAgICAgIFNQRElGX1JYX0lSUUhhbmRsZXIgICAgICAgICAgICAKICAgIC50aHVtYl9zZXQgU1BESUZfUlhfSVJRSGFuZGxlcixEZWZhdWx0X0hhbmRsZXIgCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovICAgICAgICAKKyAgICAKICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmNzQ2eHgucyBiL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmNzQ2eHgucwppbmRleCBhNGU2MzNlLi4xYzgxZDQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjc0Nnh4LnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmY3NDZ4eC5zCkBAIC0xNCwxMyArMTQsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC01NzEsNiArNTcwLDUgQEAKICAgIAogICAgLndlYWsgICAgICBTUERJRl9SWF9JUlFIYW5kbGVyICAgICAgICAgICAgCiAgICAudGh1bWJfc2V0IFNQRElGX1JYX0lSUUhhbmRsZXIsRGVmYXVsdF9IYW5kbGVyIAotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLyAgICAgICAgCisgICAgCiAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjc1MHh4LnMgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjc1MHh4LnMKaW5kZXggMjI3MzQ1MS4uZDFiZDZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmY3NTB4eC5zCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmNzUweHgucwpAQCAtMTQsMTMgKzE0LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtNTc0LDYgKzU3Myw1IEBACiAgICAKICAgIC53ZWFrICAgICAgU1BESUZfUlhfSVJRSGFuZGxlciAgICAgICAgICAgIAogICAgLnRodW1iX3NldCBTUERJRl9SWF9JUlFIYW5kbGVyLERlZmF1bHRfSGFuZGxlciAKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8gICAgICAgIAorICAgIAogIApkaWZmIC0tZ2l0IGEvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmY3NTZ4eC5zIGIvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmY3NTZ4eC5zCmluZGV4IDMyMmNiMWMuLjBlNmY0ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmNzU2eHgucworKysgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjc1Nnh4LnMKQEAgLTE0LDEzICsxNCwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTU3NCw2ICs1NzMsNSBAQAogICAgCiAgICAud2VhayAgICAgIFNQRElGX1JYX0lSUUhhbmRsZXIgICAgICAgICAgICAKICAgIC50aHVtYl9zZXQgU1BESUZfUlhfSVJRSGFuZGxlcixEZWZhdWx0X0hhbmRsZXIgCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovICAgICAgICAKKyAgICAKICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmNzY1eHgucyBiL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmNzY1eHgucwppbmRleCA4YmM5MTgxLi43Mjk5MDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjc2NXh4LnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmY3NjV4eC5zCkBAIC0xNCwxMyArMTQsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC02MDgsNSArNjA3LDUgQEAKICAgIC53ZWFrICAgICAgTURJT1NfSVJRSGFuZGxlciAgICAgICAgICAgIAogICAgLnRodW1iX3NldCBNRElPU19JUlFIYW5kbGVyLERlZmF1bHRfSGFuZGxlciAgIAogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLworCiAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjc2N3h4LnMgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjc2N3h4LnMKaW5kZXggMTBiZTIxYy4uYTBhZDRjNCAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmY3Njd4eC5zCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmNzY3eHgucwpAQCAtMTQsMTMgKzE0LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtNjE3LDUgKzYxNiw1IEBACiAgICAud2VhayAgICAgIE1ESU9TX0lSUUhhbmRsZXIgICAgICAgICAgICAKICAgIC50aHVtYl9zZXQgTURJT1NfSVJRSGFuZGxlcixEZWZhdWx0X0hhbmRsZXIgICAKIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KKwogIApkaWZmIC0tZ2l0IGEvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmY3Njl4eC5zIGIvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmY3Njl4eC5zCmluZGV4IDIwMDFlODguLjVmZTI4NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmNzY5eHgucworKysgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjc2OXh4LnMKQEAgLTE0LDEzICsxNCwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTYxOSw2ICs2MTgsNSBAQAogCiAgICAud2VhayAgICAgIE1ESU9TX0lSUUhhbmRsZXIgICAgICAgICAgICAKICAgIC50aHVtYl9zZXQgTURJT1NfSVJRSGFuZGxlcixEZWZhdWx0X0hhbmRsZXIgICAKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8gICAgICAgIAorICAgIAogIApkaWZmIC0tZ2l0IGEvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmY3Nzd4eC5zIGIvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmY3Nzd4eC5zCmluZGV4IDczODljY2MuLmRjYmRkNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmNzc3eHgucworKysgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjc3N3h4LnMKQEAgLTE0LDEzICsxNCwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTYxOSw2ICs2MTgsNSBAQAogCiAgICAud2VhayAgICAgIE1ESU9TX0lSUUhhbmRsZXIgICAgICAgICAgICAKICAgIC50aHVtYl9zZXQgTURJT1NfSVJRSGFuZGxlcixEZWZhdWx0X0hhbmRsZXIgICAKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8gICAgICAgIAorICAgIAogIApkaWZmIC0tZ2l0IGEvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmY3Nzl4eC5zIGIvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmY3Nzl4eC5zCmluZGV4IDljYzdjNTQuLjRhYzIxYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmNzc5eHgucworKysgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjc3OXh4LnMKQEAgLTE0LDEzICsxNCwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTYyMiw2ICs2MjEsNSBAQAogCiAgICAud2VhayAgICAgIE1ESU9TX0lSUUhhbmRsZXIgICAgICAgICAgICAKICAgIC50aHVtYl9zZXQgTURJT1NfSVJRSGFuZGxlcixEZWZhdWx0X0hhbmRsZXIgICAKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8gICAgICAgIAorICAgIAogIApkaWZmIC0tZ2l0IGEvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmY3MjJ4eC5zIGIvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmY3MjJ4eC5zCmluZGV4IGIwYTVhNjEuLjFiZGRjMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmNzIyeHgucworKysgYi9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjcyMnh4LnMKQEAgLTE0LDE0ICsxNCwxMyBAQAogOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiA7KiBAYXR0ZW50aW9uCiA7KgotOyogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi07KiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Cis7KiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorOyogQWxsIHJpZ2h0cyByZXNlcnZlZC4KIDsqCi07KiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLTsqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLTsqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLTsqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi07KgorOyogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCis7KiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCis7KiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KKzsKIDsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiA7CiA7CkBAIC02NTAsNCArNjQ5LDQgQEAKIFNETU1DMl9JUlFIYW5kbGVyIAogICAgICAgICBCIFNETU1DMl9JUlFIYW5kbGVyICAgICAgICAgIAogICAgICAgICBFTkQKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmNzIzeHgucyBiL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmNzIzeHgucwppbmRleCBlMTRjNmQ4Li43ZTE0OWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjcyM3h4LnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmY3MjN4eC5zCkBAIC0xNCwxNCArMTQsMTMgQEAKIDsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogQGF0dGVudGlvbgogOyoKLTsqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotOyogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorOyogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKzsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7KgotOyogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi07KiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi07KiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci07KiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotOyoKKzsqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorOyogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorOyogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCis7CiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOwogOwpAQCAtNjUwLDQgKzY0OSw0IEBACiBTRE1NQzJfSVJRSGFuZGxlciAKICAgICAgICAgQiBTRE1NQzJfSVJRSGFuZGxlciAgICAgICAgICAKICAgICAgICAgRU5ECi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLworCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjczMHh4LnMgYi9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjczMHh4LnMKaW5kZXggMmVkMzliYi4uOWZmMWE4OSAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmY3MzB4eC5zCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmNzMweHgucwpAQCAtMTQsMTQgKzE0LDEzIEBACiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIDsqIEBhdHRlbnRpb24KIDsqCi07KiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLTsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKzsqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCis7KiBBbGwgcmlnaHRzIHJlc2VydmVkLgogOyoKLTsqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotOyogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotOyogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotOyogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLTsqCis7KiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKzsqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKzsqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorOwogOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIDsKIDsKQEAgLTY1NSw0ICs2NTQsNCBAQAogU0RNTUMyX0lSUUhhbmRsZXIgCiAgICAgICAgIEIgU0RNTUMyX0lSUUhhbmRsZXIgICAgICAgICAgCiAgICAgICAgIEVORAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KKwpkaWZmIC0tZ2l0IGEvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmY3MzJ4eC5zIGIvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmY3MzJ4eC5zCmluZGV4IDU0ZGQ3ZjEuLjcwM2FiZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmNzMyeHgucworKysgYi9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjczMnh4LnMKQEAgLTE0LDE0ICsxNCwxMyBAQAogOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiA7KiBAYXR0ZW50aW9uCiA7KgotOyogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi07KiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Cis7KiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorOyogQWxsIHJpZ2h0cyByZXNlcnZlZC4KIDsqCi07KiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLTsqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLTsqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLTsqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi07KgorOyogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCis7KiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCis7KiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KKzsKIDsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiA7CiA7CkBAIC02NTUsNCArNjU0LDQgQEAKIFNETU1DMl9JUlFIYW5kbGVyIAogICAgICAgICBCIFNETU1DMl9JUlFIYW5kbGVyICAgICAgICAgIAogICAgICAgICBFTkQKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmNzMzeHgucyBiL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmNzMzeHgucwppbmRleCA4YmRjYjZlLi5kMDZlZjMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjczM3h4LnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmY3MzN4eC5zCkBAIC0xNCwxNCArMTQsMTMgQEAKIDsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogQGF0dGVudGlvbgogOyoKLTsqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotOyogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorOyogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKzsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7KgotOyogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi07KiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi07KiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci07KiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotOyoKKzsqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorOyogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorOyogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCis7CiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOwogOwpAQCAtNjU1LDQgKzY1NCw0IEBACiBTRE1NQzJfSVJRSGFuZGxlciAKICAgICAgICAgQiBTRE1NQzJfSVJRSGFuZGxlciAgICAgICAgICAKICAgICAgICAgRU5ECi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLworCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjc0NXh4LnMgYi9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjc0NXh4LnMKaW5kZXggNTk0MTQ3ZC4uNzk3YTAwNiAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmY3NDV4eC5zCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmNzQ1eHgucwpAQCAtMTQsMTQgKzE0LDEzIEBACiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIDsqIEBhdHRlbnRpb24KIDsqCi07KiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLTsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKzsqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCis7KiBBbGwgcmlnaHRzIHJlc2VydmVkLgogOyoKLTsqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotOyogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotOyogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotOyogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLTsqCis7KiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKzsqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKzsqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorOwogOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIDsKIDsKQEAgLTcwNCw0ICs3MDMsNCBAQAogU1BESUZfUlhfSVJRSGFuZGxlciAKICAgICAgICAgQiBTUERJRl9SWF9JUlFIYW5kbGVyCiAgICAgICAgIEVORAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KKwpkaWZmIC0tZ2l0IGEvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmY3NDZ4eC5zIGIvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmY3NDZ4eC5zCmluZGV4IGEwNGMwZGEuLmI4YWEwYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmNzQ2eHgucworKysgYi9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjc0Nnh4LnMKQEAgLTE0LDE0ICsxNCwxMyBAQAogOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiA7KiBAYXR0ZW50aW9uCiA7KgotOyogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi07KiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Cis7KiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorOyogQWxsIHJpZ2h0cyByZXNlcnZlZC4KIDsqCi07KiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLTsqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLTsqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLTsqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi07KgorOyogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCis7KiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCis7KiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KKzsKIDsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiA7CiA7CkBAIC03MTQsNCArNzEzLDQgQEAKIFNQRElGX1JYX0lSUUhhbmRsZXIgCiAgICAgICAgIEIgU1BESUZfUlhfSVJRSGFuZGxlciAKICAgICAgICAgRU5ECi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLworCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjc1MHh4LnMgYi9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjc1MHh4LnMKaW5kZXggMTIwZTFkZS4uMDFiMjliMCAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmY3NTB4eC5zCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmNzUweHgucwpAQCAtMTQsMTQgKzE0LDEzIEBACiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIDsqIEBhdHRlbnRpb24KIDsqCi07KiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLTsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKzsqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCis7KiBBbGwgcmlnaHRzIHJlc2VydmVkLgogOyoKLTsqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotOyogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotOyogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotOyogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLTsqCis7KiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKzsqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKzsqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorOwogOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIDsKIDsKQEAgLTcxOSw0ICs3MTgsNCBAQAogU1BESUZfUlhfSVJRSGFuZGxlciAKICAgICAgICAgQiBTUERJRl9SWF9JUlFIYW5kbGVyIAogICAgICAgICBFTkQKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmNzU2eHgucyBiL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmNzU2eHgucwppbmRleCA5NGZiZDVkLi4zZTJiODI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjc1Nnh4LnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmY3NTZ4eC5zCkBAIC0xNCwxNCArMTQsMTMgQEAKIDsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogQGF0dGVudGlvbgogOyoKLTsqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotOyogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorOyogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKzsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7KgotOyogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi07KiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi07KiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci07KiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotOyoKKzsqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorOyogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorOyogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCis7CiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOwogOwpAQCAtNzE5LDQgKzcxOCw0IEBACiBTUERJRl9SWF9JUlFIYW5kbGVyIAogICAgICAgICBCIFNQRElGX1JYX0lSUUhhbmRsZXIgCiAgICAgICAgIEVORAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KKwpkaWZmIC0tZ2l0IGEvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmY3NjV4eC5zIGIvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmY3NjV4eC5zCmluZGV4IDY1MThiNGMuLjM1OTljZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmNzY1eHgucworKysgYi9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjc2NXh4LnMKQEAgLTE0LDE0ICsxNCwxMyBAQAogOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiA7KiBAYXR0ZW50aW9uCiA7KgotOyogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi07KiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Cis7KiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorOyogQWxsIHJpZ2h0cyByZXNlcnZlZC4KIDsqCi07KiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLTsqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLTsqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLTsqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi07KgorOyogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCis7KiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCis7KiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KKzsKIDsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiA7CiA7CkBAIC03NjYsNCArNzY1LDQgQEAKIE1ESU9TX0lSUUhhbmRsZXIgCiAgICAgICAgIEIgTURJT1NfSVJRSGFuZGxlcgogICAgICAgICBFTkQKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmNzY3eHgucyBiL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmNzY3eHgucwppbmRleCA4YjkzMTA2Li40ZWQzMTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjc2N3h4LnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmY3Njd4eC5zCkBAIC0xNCwxNCArMTQsMTMgQEAKIDsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogQGF0dGVudGlvbgogOyoKLTsqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotOyogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorOyogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKzsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7KgotOyogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi07KiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi07KiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci07KiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotOyoKKzsqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorOyogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorOyogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCis7CiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOwogOwpAQCAtNzgxLDQgKzc4MCw0IEBACiBNRElPU19JUlFIYW5kbGVyIAogICAgICAgICBCIE1ESU9TX0lSUUhhbmRsZXIKICAgICAgICAgRU5ECi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLworCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjc2OXh4LnMgYi9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjc2OXh4LnMKaW5kZXggOGNkYjllNy4uZmE5YmI5MiAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmY3Njl4eC5zCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmNzY5eHgucwpAQCAtMTQsMTQgKzE0LDEzIEBACiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIDsqIEBhdHRlbnRpb24KIDsqCi07KiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLTsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKzsqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCis7KiBBbGwgcmlnaHRzIHJlc2VydmVkLgogOyoKLTsqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotOyogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotOyogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotOyogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLTsqCis7KiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKzsqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKzsqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorOwogOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIDsKIDsKQEAgLTc4Niw0ICs3ODUsNCBAQAogTURJT1NfSVJRSGFuZGxlciAKICAgICAgICAgQiBNRElPU19JUlFIYW5kbGVyCiAgICAgICAgIEVORAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KKwpkaWZmIC0tZ2l0IGEvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmY3Nzd4eC5zIGIvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmY3Nzd4eC5zCmluZGV4IGUyOTcwYTYuLjZjZjA5MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmNzc3eHgucworKysgYi9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjc3N3h4LnMKQEAgLTE0LDE0ICsxNCwxMyBAQAogOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiA7KiBAYXR0ZW50aW9uCiA7KgotOyogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi07KiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Cis7KiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorOyogQWxsIHJpZ2h0cyByZXNlcnZlZC4KIDsqCi07KiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLTsqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLTsqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLTsqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi07KgorOyogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCis7KiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCis7KiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KKzsKIDsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiA7CiA7CkBAIC03ODYsNCArNzg1LDQgQEAKIE1ESU9TX0lSUUhhbmRsZXIgCiAgICAgICAgIEIgTURJT1NfSVJRSGFuZGxlciAgICAgICAgICAgIAogICAgICAgICBFTkQKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmNzc5eHgucyBiL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmNzc5eHgucwppbmRleCBkYjUwM2U2Li44MDVhNTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjc3OXh4LnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmY3Nzl4eC5zCkBAIC0xNCwxNCArMTQsMTMgQEAKIDsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogQGF0dGVudGlvbgogOyoKLTsqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotOyogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorOyogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKzsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7KgotOyogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi07KiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi07KiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci07KiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotOyoKKzsqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorOyogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorOyogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCis7CiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOwogOwpAQCAtNzkxLDQgKzc5MCw0IEBACiBNRElPU19JUlFIYW5kbGVyIAogICAgICAgICBCIE1ESU9TX0lSUUhhbmRsZXIgICAgICAgICAgICAKICAgICAgICAgRU5ECi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLworCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL3N5c3RlbV9zdG0zMmY3eHguYyBiL1NvdXJjZS9UZW1wbGF0ZXMvc3lzdGVtX3N0bTMyZjd4eC5jCmluZGV4IDc3MzZjMDguLmMwMDRmNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UZW1wbGF0ZXMvc3lzdGVtX3N0bTMyZjd4eC5jCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvc3lzdGVtX3N0bTMyZjd4eC5jCkBAIC0yMiwxMyArMjIsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCg==