ZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3BlbGwvYmcvYmdfQkcuZGlmZiBiL3J1bnRpbWUvc3BlbGwvYmcvYmdfQkcuZGlmZgppbmRleCAzZDliYjk4Li5lM2NjYmI2IDEwMDY0NAotLS0gYS9ydW50aW1lL3NwZWxsL2JnL2JnX0JHLmRpZmYKKysrIGIvcnVudGltZS9zcGVsbC9iZy9iZ19CRy5kaWZmCkBAIC0xLDUgKzEsNSBAQAogKioqIGJnX0JHLm9yaWcuYWZmCVN1biBBdWcgMjggMjE6MzQ6NDQgMjAwNQotLS0tIGJnX0JHLmFmZglTdW4gQXVnIDI4IDIxOjM0OjQ0IDIwMDUKKy0tLSBiZ19CRy5hZmYJVGh1IFNlcCAyOSAyMTo1OTozMSAyMDA1CiAqKioqKioqKioqKioqKioKICoqKiAxLDIgKioqKgogISBTRVQgbWljcm9zb2Z0LWNwMTI1MQpAQCAtMzMsMTAgKzMzLDE1NCBAQAogICBNQVAgUNAKIC0gTUFQIFnTCiAgIE1BUCBY1QotLS0tIDE3MDYsMTcxMSAtLS0tCistLS0gMTcwNiwxODU1IC0tLS0KICAgTUFQIFDQCiAgIE1BUCBY1QogKyAKICsgUkVQIDIKICsgUkVQIFkg0wogKyBSRVAg0yBZCisrIAorKyAjICAgQnVsZ2FyaWFuIHBob25ldGljIHRyYW5zZm9ybWF0aW9uIHJ1bGVzIGZvciB1c2Ugd2l0aCBBc3BlbGwKKysgIyAgIENvcHlyaWdodCAoQykgMjAwMyBBbnRvbiBaaW5vdmlldgorKyAjCisrICMgICBUaGlzIHNvZnR3YXJlIG1heSBiZSB1c2VkIGFuZCBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSB0ZXJtcyBhcworKyAjICAgdGhlIG90aGVyIHBhcnRzIG9mIHRoZSBiZ29mZmljZSBwcm9qZWN0LgorKyAjCisrICMgICBDaGFuZ2Vsb2c6CisrICMKKysgIyAgIDE5LklYLjIwMDMgIEFudG9uIFppbm92aWV2IDx6aW5vdmlldkBkZWJpYW4ub3JnPgorKyAjICAgICAgICAgICAgICAgSW5pdGlhbCByZWxlYXNlCisrIAorKyBTQUwgdmVyc2lvbiAgICAgICAgIDEKKysgU0FMIGZvbGxvd3VwICAgICAgICAwCisrIFNBTCBjb2xsYXBzZV9yZXN1bHQgMQorKyAKKysgU0FMIMAgICAgICAgICAgICAgICAgICAgICAgICAgICDaCisrIFNBTCDaICAgICAgICAgICAgICAgICAgICAgICAgICAg2gorKyBTQUwgziAgICAgICAgICAgICAgICAgICAgICAgICAgINMKKysgU0FMINMgICAgICAgICAgICAgICAgICAgICAgICAgICDTCisrIFNBTCDFICAgICAgICAgICAgICAgICAgICAgICAgICAgyAorKyBTQUwgyCAgICAgICAgICAgICAgICAgICAgICAgICAgIMgKKysgU0FMIN4gICAgICAgICAgICAgICAgICAgICAgICAgICDTCisrIFNBTCDfICAgICAgICAgICAgICAgICAgICAgICAgICAg2gorKyBTQUwgySAgICAgICAgICAgICAgICAgICAgICAgICAgIF8KKysgU0FMINwgICAgICAgICAgICAgICAgICAgICAgICAgICBfCisrIFNBTCDB0cogICAgICAgICAgICAgICAgICAgICAgICAgz8oKKysgU0FMIMHEKMHCw8TGx8rLzM3P0NHSw9XW19jZKS0gICDPCisrIFNBTCDBVCjBwsPExsfKy8zNz9DR0sPV1tfY2SktICAgzworKyBTQUwgwcQkICAgICAgICAgICAgICAgICAgICAgICAgIM8KKysgU0FMIMFUJCAgICAgICAgICAgICAgICAgICAgICAgICDPCisrIFNBTCDBICAgICAgICAgICAgICAgICAgICAgICAgICAgzworKyBTQUwgwtHKICAgICAgICAgICAgICAgICAgICAgICAgINTKCisrIFNBTCDCxCjBwsPExsfKy8zNz9DR0sPV1tfY2SktICAg1AorKyBTQUwgwlQowcLDxMbHysvMzc/Q0dLD1dbX2NkpLSAgINQKKysgU0FMIMLEJCAgICAgICAgICAgICAgICAgICAgICAgICDUCisrIFNBTCDCVCQgICAgICAgICAgICAgICAgICAgICAgICAg1AorKyBTQUwgwiAgICAgICAgICAgICAgICAgICAgICAgICAgINQKKysgU0FMIMPRyiAgICAgICAgICAgICAgICAgICAgICAgICDKCisrIFNBTCDDxCjBwsPExsfKy8zNz9DR0sPV1tfY2SktICAgygorKyBTQUwgw1QowcLDxMbHysvMzc/Q0dLD1dbX2NkpLSAgIMoKKysgU0FMIMPEJCAgICAgICAgICAgICAgICAgICAgICAgICDKCisrIFNBTCDDVCQgICAgICAgICAgICAgICAgICAgICAgICAgygorKyBTQUwgwyAgICAgICAgICAgICAgICAgICAgICAgICAgIMoKKysgU0FMIMTRyjwgICAgICAgICAgICAgICAgICAgICAgICDSygorKyBTQUwgxMQowcLDxMbHysvMzc/Q0dLD1dbX2NkpLSAgINIKKysgU0FMIMRUKMHCw8TGx8rLzM3P0NHSw9XW19jZKS0gICDSCisrIFNBTCDExCQgICAgICAgICAgICAgICAgICAgICAgICAg0gorKyBTQUwgxFQkICAgICAgICAgICAgICAgICAgICAgICAgINIKKysgU0FMIMQgICAgICAgICAgICAgICAgICAgICAgICAgICDSCisrIFNBTCDG0cogICAgICAgICAgICAgICAgICAgICAgICAg2MoKKysgU0FMIMbEKMHCw8TGx8rLzM3P0NHSw9XW19jZKS0gICDYCisrIFNBTCDGVCjBwsPExsfKy8zNz9DR0sPV1tfY2SktICAg2AorKyBTQUwgxsQkICAgICAgICAgICAgICAgICAgICAgICAgINgKKysgU0FMIMZUJCAgICAgICAgICAgICAgICAgICAgICAgICDYCisrIFNBTCDGICAgICAgICAgICAgICAgICAgICAgICAgICAg2AorKyBTQUwgx9HKICAgICAgICAgICAgICAgICAgICAgICAgINHKCisrIFNBTCDHxCjBwsPExsfKy8zNz9DR0sPV1tfY2SktICAg0QorKyBTQUwgx1QowcLDxMbHysvMzc/Q0dLD1dbX2NkpLSAgINEKKysgU0FMIMfEJCAgICAgICAgICAgICAgICAgICAgICAgICDRCisrIFNBTCDHVCQgICAgICAgICAgICAgICAgICAgICAgICAg0QorKyBTQUwgxyAgICAgICAgICAgICAgICAgICAgICAgICAgINEKKysgU0FMIMrRyiAgICAgICAgICAgICAgICAgICAgICAgICDKCisrIFNBTCDKxCjBwsPExsfKy8zNz9DR0sPV1tfY2SktICAgygorKyBTQUwgylQowcLDxMbHysvMzc/Q0dLD1dbX2NkpLSAgIMoKKysgU0FMIMrEJCAgICAgICAgICAgICAgICAgICAgICAgICDKCisrIFNBTCDKVCQgICAgICAgICAgICAgICAgICAgICAgICAgygorKyBTQUwgyiAgICAgICAgICAgICAgICAgICAgICAgICAgIMoKKysgU0FMIMvRyiAgICAgICAgICAgICAgICAgICAgICAgICDLygorKyBTQUwgy8QowcLDxMbHysvMzc/Q0dLD1dbX2NkpLSAgIMsKKysgU0FMIMtUKMHCw8TGx8rLzM3P0NHSw9XW19jZKS0gICDLCisrIFNBTCDLxCQgICAgICAgICAgICAgICAgICAgICAgICAgyworKyBTQUwgy1QkICAgICAgICAgICAgICAgICAgICAgICAgIMsKKysgU0FMIMsgICAgICAgICAgICAgICAgICAgICAgICAgICDLCisrIFNBTCDM0cogICAgICAgICAgICAgICAgICAgICAgICAgzMoKKysgU0FMIMzEKMHCw8TGx8rLzM3P0NHSw9XW19jZKS0gICDMCisrIFNBTCDMVCjBwsPExsfKy8zNz9DR0sPV1tfY2SktICAgzAorKyBTQUwgzMQkICAgICAgICAgICAgICAgICAgICAgICAgIMwKKysgU0FMIMxUJCAgICAgICAgICAgICAgICAgICAgICAgICDMCisrIFNBTCDMICAgICAgICAgICAgICAgICAgICAgICAgICAgzAorKyBTQUwgzdHKICAgICAgICAgICAgICAgICAgICAgICAgIM3KCisrIFNBTCDNxCjBwsPExsfKy8zNz9DR0sPV1tfY2SktICAgzQorKyBTQUwgzVQowcLDxMbHysvMzc/Q0dLD1dbX2NkpLSAgIM0KKysgU0FMIM3EJCAgICAgICAgICAgICAgICAgICAgICAgICDNCisrIFNBTCDNVCQgICAgICAgICAgICAgICAgICAgICAgICAgzQorKyBTQUwgzSAgICAgICAgICAgICAgICAgICAgICAgICAgIM0KKysgU0FMIM/RyiAgICAgICAgICAgICAgICAgICAgICAgICDPygorKyBTQUwgz8QowcLDxMbHysvMzc/Q0dLD1dbX2NkpLSAgIM8KKysgU0FMIM9UKMHCw8TGx8rLzM3P0NHSw9XW19jZKS0gICDPCisrIFNBTCDPxCQgICAgICAgICAgICAgICAgICAgICAgICAgzworKyBTQUwgz1QkICAgICAgICAgICAgICAgICAgICAgICAgIM8KKysgU0FMIM8gICAgICAgICAgICAgICAgICAgICAgICAgICDPCisrIFNBTCDQ0cogICAgICAgICAgICAgICAgICAgICAgICAg0MoKKysgU0FMINDEKMHCw8TGx8rLzM3P0NHSw9XW19jZKS0gICDQCisrIFNBTCDQVCjBwsPExsfKy8zNz9DR0sPV1tfY2SktICAg0AorKyBTQUwg0MQkICAgICAgICAgICAgICAgICAgICAgICAgINAKKysgU0FMINBUJCAgICAgICAgICAgICAgICAgICAgICAgICDQCisrIFNBTCDQICAgICAgICAgICAgICAgICAgICAgICAgICAg0AorKyBTQUwg0dHKICAgICAgICAgICAgICAgICAgICAgICAgINHKCisrIFNBTCDRxCjBwsPExsfKy8zNz9DR0sPV1tfY2SktICAg0QorKyBTQUwg0VQowcLDxMbHysvMzc/Q0dLD1dbX2NkpLSAgINEKKysgU0FMINHEJCAgICAgICAgICAgICAgICAgICAgICAgICDRCisrIFNBTCDRVCQgICAgICAgICAgICAgICAgICAgICAgICAg0QorKyBTQUwg0SAgICAgICAgICAgICAgICAgICAgICAgICAgINEKKysgU0FMINLRyjwgICAgICAgICAgICAgICAgICAgICAgICDSygorKyBTQUwg0sQowcLDxMbHysvMzc/Q0dLD1dbX2NkpLSAgINIKKysgU0FMINJUKMHCw8TGx8rLzM3P0NHSw9XW19jZKS0gICDSCisrIFNBTCDSxCQgICAgICAgICAgICAgICAgICAgICAgICAg0gorKyBTQUwg0lQkICAgICAgICAgICAgICAgICAgICAgICAgINIKKysgU0FMINIgICAgICAgICAgICAgICAgICAgICAgICAgICDSCisrIFNBTCDU0cogICAgICAgICAgICAgICAgICAgICAgICAg1MoKKysgU0FMINTEKMHCw8TGx8rLzM3P0NHSw9XW19jZKS0gICDUCisrIFNBTCDUVCjBwsPExsfKy8zNz9DR0sPV1tfY2SktICAg1AorKyBTQUwg1MQkICAgICAgICAgICAgICAgICAgICAgICAgINQKKysgU0FMINRUJCAgICAgICAgICAgICAgICAgICAgICAgICDUCisrIFNBTCDUICAgICAgICAgICAgICAgICAgICAgICAgICAg1AorKyBTQUwg1dHKICAgICAgICAgICAgICAgICAgICAgICAgINXKCisrIFNBTCDVxCjBwsPExsfKy8zNz9DR0sPV1tfY2SktICAg1QorKyBTQUwg1VQowcLDxMbHysvMzc/Q0dLD1dbX2NkpLSAgINUKKysgU0FMINXEJCAgICAgICAgICAgICAgICAgICAgICAgICDVCisrIFNBTCDVVCQgICAgICAgICAgICAgICAgICAgICAgICAg1QorKyBTQUwg1SAgICAgICAgICAgICAgICAgICAgICAgICAgINUKKysgU0FMINbRyiAgICAgICAgICAgICAgICAgICAgICAgICDWygorKyBTQUwg1sQowcLDxMbHysvMzc/Q0dLD1dbX2NkpLSAgINYKKysgU0FMINZUKMHCw8TGx8rLzM3P0NHSw9XW19jZKS0gICDWCisrIFNBTCDWxCQgICAgICAgICAgICAgICAgICAgICAgICAg1gorKyBTQUwg1lQkICAgICAgICAgICAgICAgICAgICAgICAgINYKKysgU0FMINYgICAgICAgICAgICAgICAgICAgICAgICAgICDWCisrIFNBTCDX0cogICAgICAgICAgICAgICAgICAgICAgICAg18oKKysgU0FMINfEKMHCw8TGx8rLzM3P0NHSw9XW19jZKS0gICDXCisrIFNBTCDXVCjBwsPExsfKy8zNz9DR0sPV1tfY2SktICAg1worKyBTQUwg18QkICAgICAgICAgICAgICAgICAgICAgICAgINcKKysgU0FMINdUJCAgICAgICAgICAgICAgICAgICAgICAgICDXCisrIFNBTCDXICAgICAgICAgICAgICAgICAgICAgICAgICAg1worKyBTQUwg2NHKICAgICAgICAgICAgICAgICAgICAgICAgINjKCisrIFNBTCDYxCjBwsPExsfKy8zNz9DR0sPV1tfY2SktICAg2AorKyBTQUwg2FQowcLDxMbHysvMzc/Q0dLD1dbX2NkpLSAgINgKKysgU0FMINjEJCAgICAgICAgICAgICAgICAgICAgICAgICDYCisrIFNBTCDYVCQgICAgICAgICAgICAgICAgICAgICAgICAg2AorKyBTQUwg2CAgICAgICAgICAgICAgICAgICAgICAgICAgINgKKysgU0FMINnRyiAgICAgICAgICAgICAgICAgICAgICAgICDYygorKyBTQUwg2SjBwsPExsfKy8zNz9DR0sPV1tfY2SktICAgINgKKysgU0FMINkkICAgICAgICAgICAgICAgICAgICAgICAgICDYCisrIFNBTCDZICAgICAgICAgICAgICAgICAgICAgICAgICAg2QpkaWZmIC0tZ2l0IGEvcnVudGltZS9zcGVsbC9nZC9nZF9HQi5kaWZmIGIvcnVudGltZS9zcGVsbC9nZC9nZF9HQi5kaWZmCmluZGV4IDYxNmJhZTcuLmVjNDc5N2MgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3BlbGwvZ2QvZ2RfR0IuZGlmZgorKysgYi9ydW50aW1lL3NwZWxsL2dkL2dkX0dCLmRpZmYKQEAgLTEsMTcgKzEsMTQgQEAKICoqKiBnZF9HQi5vcmlnLmFmZglXZWQgQXVnIDMxIDIwOjUwOjAyIDIwMDUKLS0tLSBnZF9HQi5hZmYJV2VkIEF1ZyAzMSAyMDo1MDo0MyAyMDA1CistLS0gZ2RfR0IuYWZmCUZyaSBTZXAgMzAgMTM6MDQ6MzAgMjAwNQogKioqKioqKioqKioqKioqCiAqKiogMTkgKioqKgotLS0tIDE5LDM5IC0tLS0KKy0tLSAxOSwzMTcgLS0tLQogICBUUlkgYWhpbnJkZXNjbGdvdXRtYuBmLfJBQ+xU+UJwR1NETehJUlBMTkVG6U8nVfPA0szZSMnICiArIAogKyBGT0wgIN/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vj5+vv8/f7/CiArIExPVyAg3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX2+Pn6+/z9/v8KICsgVVBQICDfwMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbY2drb3N3e/wogKyAKLSsgU09GT0ZST00gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWuDh4uPk5ebn6Onq6+zt7u/w8fLz9PX2+Pn6+/z9/t//wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbY2drb3N3evwotKyBTT0ZPVE8gICBlYmN0ZWZnaGVqa2xubmVwa3JzdGV2dmtlc2ViY3RlZmdoZWprbG5uZXBrcnN0ZXZ2a2VzZWVlZWVlZWNlZWVlZWVlZWRuZWVlZWVlZWVlZWVwc2VlZWVlZWVlY2VlZWVlZWVlZG5lZWVlZWVlZWVlZXA/Ci0rIAogKyBNSURXT1JECSctCiArIAogKyBNQVAgOQpAQCAtMjQsMyArMjEsMjg0IEBACiArIE1BUCBj5wogKyBNQVAgef/9CiArIE1BUCBz3worKyAKKysgIyBzb3VuZHNsaWtlIG1hcHBpbmcgZnJvbSBBc3BlbGwKKysgIyBBc3BlbGwgcGhvbmV0aWNzIGZvciBJcmlzaCwgYnkgS2V2aW4gU2Nhbm5lbGwgPHNjYW5uZWxsQHNsdS5lZHU+CisrICMgQ29weXJpZ2h0IDIwMDIsIDIwMDMgS2V2aW4gUC4gU2Nhbm5lbGwsIGRpc3RyaWJ1dGVkIHVuZGVyIEdOVSBHUEwKKysgIyB2ZXJzaW9uIDIuMAorKyAKKysgU0FMIGZvbGxvd3VwIDAgICAgICAgICAgICAgICAgICAgICMgZWxzZSBicmVha3MgUVVeLCBlLmcuCisrIFNBTCBjb2xsYXBzZV9yZXN1bHQgMSAgICAgICAgICAgICAjIG5vIGRvdWJsZSBsZXR0ZXJzIGluIHJlc3VsdGluZyBzdHJpbmdzCisrIAorKyBTQUwgQU5CSEFOTi0tLS0tICAgICAgICAgKk4qICAgICAgIyBlcGVudGhldGljIHZvd2VsLCBhbmJoYW5uYT8gb25seSwgc2VlIE5CSC0tCisrIFNBTCBBTkJIQUlOLS0tLS0gICAgICAgICAqTiogICAgICAjIGVwZW50aGV0aWMgdm93ZWwsIGFuYmhhaW5uZT8gb25seSwgc2VlIE5CSC0tCisrIFNBTCBBRVJHQS0tICAgICAgICAgICAgICAqUiAgICAgICAjIGVwZW50aGV0aWMgZXhjZXB0aW9uLCBzZWUgUkcsIGFlcmdhIG9ubHkKKysgU0FMIEFPUkctICAgICAgICAgICAgICAgICpSICAgICAgICMgZXBlbnRoZXRpYyBleGNlcHRpb24sIHNlZSBSRywgW21zXWFvcmcqLCBldGMuCisrIFNBTCBBRUlMRy0gICAgICAgICAgICAgICAqTCAgICAgICAjIGVwZW50aGV0aWMgZXhjZXB0aW9uLCBHYWVpbGdlKiBvbmx5LCBzZWUgTEcgCisrIFNBTCBBSUxCSC0tICAgICAgICAgICAgICAqTCogICAgICAjIGVwZW50aGV0aWMgdm93ZWwsIFtiY3NdYWlsYmgqIG9ubHksIHNlZSBMQkgtLQorKyBTQUwgQUxCSMFELS0tLSAgICAgICAgICAgKkwgICAgICAgIyBnYWxiaOFkIG9ubHksIG5leHQgZmV3IGFyZSBleGNlcHRpb25zIHRvIEFMQkgKKysgU0FMIEFMQkjBSUQtLS0tLSAgICAgICAgICpMICAgICAgICMgZ2FsYmjhaWQgb25seSAoY29pbm5lYWxiaOFpZO1zLCBldGMuIGI0KQorKyBTQUwgQUxCSFItLS0gICAgICAgICAgICAgKkwgICAgICAgIyBwb2JhbGJocmVpdGgsIGdhbGJocnVpdGgsIGV0Yy4gZXhjZXB0LiB0byBuZXh0CisrIFNBTCBBTEJILS0gICAgICAgICAgICAgICAqTCogICAgICAjIGVwZW50aGV0aWMgdm93ZWwKKysgU0FMIEFSQkjBRC0tLS0gICAgICAgICAgICpSICAgICAgICMgbfN0YXJiaOFkIG9ubHksIGV4Y2VwdGlvbiB0byBBUkJIIGVwZW50aC4KKysgU0FMIEFSQkjBSUQtLS0tLSAgICAgICAgICpSICAgICAgICMgbfN0YXJiaOFpZCBvbmx5LCAgICIgICAgICAgIiAgICIgICAgIiAKKysgU0FMIEFSQkhVSUwtLS0tLSAgICAgICAgICpSICAgICAgICMgZXBlbnRoLiBleGNlcHRpb24sIGdhcmJodWlsbGUgb25seSwgY3VhcmJoKiBiNAorKyBTQUwgQVJCSFVBLS0tLSAgICAgICAgICAgKlIgICAgICAgIyBlcGVudGguIGV4Y2VwdGlvbiwgZWFkYXJiaHVhcyogb25seQorKyBTQUwgQVJCSElOLS0tLSAgICAgICAgICAgKlIqICAgICAgIyBleGNlcHRpb24gdG8gbmV4dCwgbWFyYmhpbnRpbm4qIG9ubHkKKysgU0FMIEFSQkgoRUkpLS0tICAgICAgICAgICpSICAgICAgICMgZXBlbnRoZXRpYyBleGNlcHRpb24gdG8gbmV4dCwgKnRhcmJoZWFsYWNoLCBldGMuCisrIFNBTCBBUkJILS0gICAgICAgICAgICAgICAqUiogICAgICAjIGVwZW50aGV0aWMsIGdhcmJoLCBkZWFyYmgsIGV0Yy4gLSBbSVVdQVJCSCBiNAorKyBTQUwgQVRIRkgowcnTQUVJT1UpLS0tICAgKkggICAgICAgIyBhdGhmaGlsbCx1YXRoZmhlaWRobWVhY2gsZXRjLi1leGNlcHRpb24gdG8gbmV4dAorKyBTQUwgQVRIKEJDREZHTE1OUFJTVCktICAgKiAgICAgICAgIyBhdGhsYXMsIG1pb25hdGhy+iwgZXRjLiAtIGV4Y2VwdGlvbiB0byBUSC0+SAorKyBTQUwgQURIICAgICAgICAgICAgICAgICAgKiAgICAgICAgIyBibGFkaG0sIGZlYWRoYWluLCB0YWRoYWxsLCBhZGhtYWQsIC1hZGgkLCBldGMuCisrIFNBTCBBR0hJLS0tICAgICAgICAgICAgICAqICAgICAgICAjIGV4Y2VwdGlvbiB0byBBR0gsIGNvcnJhZ2hpb2Igb25seQorKyBTQUwgQUdITE9JTi0tLS0tLSAgICAgICAgKiAgICAgICAgIyAgICIgICAgICAgIiAgIiwgcGxlaWNzZWFnaGwtIG9ubHkgKG5vdCBhZ2hsb2l0KQorKyBTQUwgQUdIICAgICAgICAgICAgICAgICAgKiAgICAgICAgIyBzbGFnaGThbiwgdHJlYWdoZCwgc2FnaGFzLCBldGMuCisrIFNBTCBBT01IKEZMTlNUKS0tLSAgICAgICAqICAgICAgICAjIGZhb21oW2Z0XS0sY2FvbWhuKixuYW9taCogb25seSwgT01IIGV4Y2VwdGlvbgorKyBTQUwgQSAgICAgICAgICAgICAgICAgICAgKgorKyBTQUwgwUlSRy0gICAgICAgICAgICAgICAgKlIgICAgICAgIyBlcGVudGhldGljIGV4Y2VwdGlvbiwgc2VlIFJHLCB04WlyZyosIGV0Yy4KKysgU0FMIMFESFUtLS0gICAgICAgICAgICAgICogICAgICAgICMgcOFkaHVpbGxlIG9ubHksIGV4Y2VwdGlvbiB0byBuZXh0CisrIFNBTCDBREggICAgICAgICAgICAgICAgICAqICAgICAgICAjIOFkaPppbCwgLeFkaCQgb25seQorKyBTQUwgwVRIRkgtLSAgICAgICAgICAgICAgKkggICAgICAgIyB04XRoZmjpaXRobGVhbm4sIGdu4XRoZmgtIG9ubHkgZXhjZXB0aW9uIHRvIG5leHQKKysgU0FMIMFUSChCQ0RGR0xNTlBSU1QpLSAgICogICAgICAgICMgZuF0aHNj6WFsLCBnbuF0aCosIGJs4XRoZmhsZWFzYywgZXRjLgorKyBTQUwgwSAgICAgICAgICAgICAgICAgICAgKgorKyBTQUwgQkFOQkheJCAgICAgICAgICAgICAgQipOKlYgICAgIyBlcGVudGhldGljIHZvd2VsLCBzZWUgTkJILS0sIGJhbmJoLCBub3QgLWFy+m4KKysgU0FMIEJIQU5CSF4kICAgICAgICAgICAgIFYqTipWICAgICMgZXBlbnRoZXRpYyB2b3dlbCwgc2VlIE5CSC0tCisrIFNBTCBCQUlOQkheJCAgICAgICAgICAgICBCKk4qViAgICAjIGVwZW50aGV0aWMgdm93ZWwsIHNlZSBOQkgtLSwgYmFpbmJoIG9ubHkKKysgU0FMIEJIQUlOQkheJCAgICAgICAgICAgIFYqTipWICAgICMgZXBlbnRoZXRpYyB2b3dlbCwgc2VlIE5CSC0tCisrIFNBTCBCSCAgICAgICAgICAgICAgICAgICBWICAgICAgICAjIGluY2x1ZGVzIGJoJCwgZWNsaXBzaXMgb2YgRiB2aWEgY29sbGFwc2luZworKyBTQUwgQiAgICAgICAgICAgICAgICAgICAgQiAgICAgICAgIyBub3RlIGVjbGlwc2lzIG9mIFAgdmlhIGNvbGxhcHNpbmcKKysgU0FMIENIyUFERkHNLS0kICAgICAgICAgIEsqVFYgICAgICMgZXhjZXB0aW9uIHRvIEZBzSQsIChiculhZ3xkb3xt7SkKKysgU0FMIENIRUFSQ0gtLSAgICAgICAgICAgIEsqUiogICAgICMgZXBlbnRoZXRpYyB2b3dlbCwgY2hlYXJjaGFpbGwgb25seQorKyBTQUwgQ0VBUkNILS0gICAgICAgICAgICAgSypSKiAgICAgIyBlcGVudGhldGljIHZvd2VsLCBnP2NlYXJjaGFpbGwgb25seQorKyBTQUwgQ0hPTkYgICAgICAgICAgICAgICAgSypOKlYgICAgIyBlcGVudGhldGljIHZvd2VsLG5vIGRhc2g9PmhhbmRsZXMgRkFJP0RIJGV4Y2VwdHMKKysgU0FMIENPTkYgICAgICAgICAgICAgICAgIEsqTipWICAgICMgICAgICIgICAgICAgICIgICAgIiAgICIgICAgICIgICAgICAgIiAgICAgICAiCisrIFNBTCBDQU5CSC0tICAgICAgICAgICAgICBLKk4qICAgICAjIGVwZW50aGV0aWMgdm93ZWwsIHNlZSBOQkgtLSwgZz9jYW5iaOFzKiBvbmx5CisrIFNBTCBDSEFOQkgtLSAgICAgICAgICAgICBLKk4qICAgICAjIGVwZW50aGV0aWMgdm93ZWwsIHNlZSBOQkgtLSwgY2hhbmJo4XMqIG9ubHkKKysgU0FMIENPTEJIQS0tLSAgICAgICAgICAgIEsqTCogICAgICMgZXBlbnRoZXRpYyB2b3dlbCwgc2VlIExCSC0tLCBnP2NvbGJoYe0/IG9ubHkKKysgU0FMIENIT0xCSEEtLS0gICAgICAgICAgIEsqTCogICAgICMgZXBlbnRoZXRpYyB2b3dlbCwgc2VlIExCSC0tLCBjaG9sYmhh7T8gb25seQorKyBTQUwgQ1VSRiAgICAgICAgICAgICAgICAgSypSViAgICAgIyBleGNlcHRpb24gdG8gRsEkLCBnP2N1cmbhKG5uYSkgb25seQorKyBTQUwgQ0hVUkYgICAgICAgICAgICAgICAgSypSViAgICAgIyBleGNlcHRpb24gdG8gRsEkLCBjaHVyZuEobm5hKSBvbmx5CisrIFNBTCBDSCAgICAgICAgICAgICAgICAgICBLICAgICAgICAjIE9LCisrIFNBTCBDICAgICAgICAgICAgICAgICAgICBLCisrIFNBTCBESE9SQ0gtLSAgICAgICAgICAgICBLKlIqICAgICAjIGVwZW50aGV0aWMgdm93ZWwsIGRvcmNoYSByb290IG9ubHkKKysgU0FMIERPUkNILS0gICAgICAgICAgICAgIFQqUiogICAgICMgZXBlbnRoZXRpYyB2b3dlbCwgZG9yY2hhIHJvb3Qgb25seQorKyBTQUwgREhFQVJGICAgICAgICAgICAgICAgWSpSKiAgICAgIyBlcGVudGhldGljIHZvd2VsLGluaXQgb25seSwgbm8gZGFzaD0+RkHNIGV4Y2VwdAorKyBTQUwgREVBUkYgICAgICAgICAgICAgICAgVCpSKiAgICAgIyBlcGVudGhldGljIHZvd2VsLGluaXRpYWwgb25seSAobmQtIGRvbmUgYjQpCisrIFNBTCBESEVJUkYtICAgICAgICAgICAgICBZKlIqICAgICAjIGVwZW50aGV0aWMgdm93ZWwsIGluaXRpYWwgb25seQorKyBTQUwgREVJUkYtICAgICAgICAgICAgICAgVCpSKiAgICAgIyBlcGVudGhldGljIHZvd2VsLCAobGVhcyk/ZGVpcmYqIG9ubHkKKysgU0FMIERIT0lMKEJGKS0gICAgICAgICAgIEsqTCogICAgICMgZXBlbnRoZXRpYyxzZWUgTEJILS0saW5pdGlhbCBvbmx5LGRob2lsKGZlfGJoKSoKKysgU0FMIERPSUwoQkYpLSAgICAgICAgICAgIFQqTCogICAgICMgZXBlbnRoZXRpYywgc2VlIExCSC0tLCAiICAgICAgIiAgKG5kLSBkb25lIGI0KQorKyBTQUwgREhJRkVBUiAgICAgICAgICAgICAgWSpWKlIgICAgIyBleGNlcHRpb24gdG8gRkVBUiQsIF5kaGlmZWFyJCBvbmx5CisrIFNBTCBESUZFQVIgICAgICAgICAgICAgICBUKlYqUiAgICAjIGV4Y2VwdGlvbiB0byBGRUFSJCwgXmRpZmVhciQgb25seSAobmQtIGI0KQorKyBTQUwgREgkICAgICAgICAgICAgICAgICAgXyAgICAgICAgIyBbYeF1XWRoK21vc3QgW2lvXWRoIGRvbmUgYjQsW2Xp7fP6XWRoIGRvbmUgaGVyZQorKyBTQUwgREgoQcFP01XaKS0gICAgICAgICAgSyAgICAgICAgIyBhdGhkaPpjaGFzLCBide1kaG9ubiwgY29taGRo4WlsLCBldGMuCisrIFNBTCBESChFyUnNKS0gICAgICAgICAgICBZICAgICAgICAjIGF0aGRo6WFuLCBjYW9yZGhlYXJnLCBjaW5lZGhlaWdoaWx0LCBldGMuCisrIFNBTCBESEwoQVXaKS0tICAgICAgICAgICBLICAgICAgICAjIGNvbWhkaGz6dGhhaWdoLCBeZGhsLSAgb25seQorKyBTQUwgREhMKEVJzSktLSAgICAgICAgICAgWSAgICAgICAgIyAobe18bmVhbWgpZGhsKGlzdGVhbnxlYXRofO10aGn6KSwgXmRobCAgb25seQorKyBTQUwgREhSKEHBT9NV2iktLSAgICAgICAgSyAgICAgICAgIyAqZGhyb2ltLG1hcmJoZGhyYSosKmRoclvhdV1tYSwgXmRociBvbmx5CisrIFNBTCBESFIoyUVJzSktLSAgICAgICAgICBZICAgICAgICAjICpkaHJlYWNoLGZlaXJkaHJpcywqZGhy6WFjaHQsKmRocmVhc2FjaHQsXmRocgorKyBTQUwgRCAgICAgICAgICAgICAgICAgICAgVCAgICAgICAgIyBub3RlIGVjbGlwc2lzIG9mIFQgdmlhIGNvbGxhcHNpbmcKKysgU0FMIEVBRkFSLS0kICAgICAgICAgICAgICpWICAgICAgICMgZ2VhZmFyLCBtZWFmYXIgb25seSwgRkFSJCBleGNlcHRpb24KKysgU0FMIEVPRkFSLS0kICAgICAgICAgICAgICogICAgICAgICMgc2lsZW50IHZlcmIgZW5kaW5nLCBleGNlcHRpb24gdG8gT0ZBUiQgZXhjZXB0IQorKyBTQUwgRUlMQkgtLSAgICAgICAgICAgICAgKkwqICAgICAgIyBlcGVudGhldGljIHZvd2VsLCBzZWUgTEJILS0gZXhjZXB0aW9uIGJlbG93CisrIFNBTCBFSURIKEVJKS0gICAgICAgICAgICAqICAgICAgICAjIGF1Z21lbnRzIElESCBydWxlLGVpZGhlYW5uLHRlaWRoZWFjaCxtZWlkaGlyLGV0YworKyBTQUwgRU9NSChGVCktLS0gICAgICAgICAgKiAgICAgICAgIyBsZW9taFtmdF0tIG9ubHksIGV4Y2VwdGlvbiB0byAtb21oIHJ1bGUKKysgU0FMIEUgICAgICAgICAgICAgICAgICAgICoKKysgU0FMIMlBUkJILS0gICAgICAgICAgICAgICpSICAgICAgICMgZXBlbnRoZXRpYyBleGNlcHRpb24sIGfpYXJiaC0gb25seQorKyBTQUwgyUFSTS0gICAgICAgICAgICAgICAgKlIgICAgICAgIyBlcGVudGhldGljIGV4Y2VwdGlvbiwg6WFybWgrIHTpYXJtYSByb290IG9ubHkKKysgU0FMIMlBUkctICAgICAgICAgICAgICAgICpSICAgICAgICMgZXBlbnRoZXRpYyBleGNlcHRpb24sIOlhcmdoKyhs4W4pP2zpYXJnYXMgb25seQorKyBTQUwgyUlSRy0gICAgICAgICAgICAgICAgKlIgICAgICAgIyBlcGVudGhldGljIGV4Y2VwdGlvbiwg6WlyZ2grIGFpbGzpaXJnZSBvbmx5CisrIFNBTCDJSVJCSC0tICAgICAgICAgICAgICAqUiAgICAgICAjIGVwZW50aGV0aWMgZXhjZXB0LiBs6WlyYmhyZWl0aCosIHNw6WlyYmhlYW4gb25seQorKyBTQUwgyUFMQkgtLSAgICAgICAgICAgICAgKkwgICAgICAgIyBi6WFsYmhhY2ggb25seSwgZXhjZXB0aW9uIHRvIEFMQkgKKysgU0FMIMlBRsEgICAgICAgICAgICAgICAgICpWKiAgICAgICMg6WFm4SBvbmx5LCBleGNlcHRpb24gdG8gRsEkCisrIFNBTCDJICAgICAgICAgICAgICAgICAgICAqCisrIFNBTCBGSEFJUkNILS0gICAgICAgICAgICAqUiogICAgICAjIGVwZW50aGV0aWMgdm93ZWwsIGZoYWlyY2gqIG9ubHkKKysgU0FMIEZBSVJDSC0tICAgICAgICAgICAgIFYqUiogICAgICMgZXBlbnRoZXRpYyB2b3dlbCwgKGJoKT9mYWlyY2gqIG9ubHkKKysgU0FMIEZIT0lSRi0gICAgICAgICAgICAgICpSKiAgICAgICMgZXBlbnRoZXRpYyB2b3dlbCwgZm9pcmZlIHJvb3Qgb25seQorKyBTQUwgRk9JUkYtICAgICAgICAgICAgICAgVipSKiAgICAgIyBlcGVudGhldGljIHZvd2VsLCBpbml0aWFsIChiaCk/Zm9pcmYqIG9ubHkKKysgU0FMIEZIT05OTUgtLSAgICAgICAgICAgICpOKiAgICAgICMgZXBlbnRoZXRpYyB2b3dlbCwgc2VlIE5NSC0tLCBmaG9ubm1oYWk/ciogb25seQorKyBTQUwgRk9OTk1ILS0gICAgICAgICAgICAgVipOKiAgICAgIyAgICAiICAgICAgICAgIiAgICAgIiAgICAiLCAoYmgpP2Zvbm5taGFpP3IqIG9ubHkKKysgU0FMIEZIT0lMTUgtLSAgICAgICAgICAgICpMKiAgICAgICMgZXBlbnRoZXRpYyB2b3dlbCwgc2VlIExNSC0tLCBmaG9pbG1oZSBvbmx5CisrIFNBTCBGT0lMTUgtLSAgICAgICAgICAgICBWKkwqICAgICAjIGVwZW50aGV0aWMgdm93ZWwsIHNlZSBMTUgtLSwgKGJoKT9mb2lsbWhlIG9ubHkKKysgU0FMIEZIT0xNSC0tICAgICAgICAgICAgICpMKiAgICAgICMgZXBlbnRoZXRpYyB2b3dlbCwgc2VlIExNSC0tLCBmaG9sbWgqIG9ubHkKKysgU0FMIEZPTE1ILS0gICAgICAgICAgICAgIFYqTCogICAgICMgZXBlbnRoZXRpYyB2b3dlbCwgc2VlIExNSC0tLCAoYmgpP2ZvbG1oKiBvbmx5CisrIFNBTCBGRUFESF4kICAgICAgICAgICAgICBWKiAgICAgICAjIGV4Y2VwdGlvbiB0byB2ZXJiIGVuZGluZyBiZWxvdywgZWNsaXBzaXMgYnkgbHVjaworKyBTQUwgRkVBUl4kICAgICAgICAgICAgICAgVipSICAgICAgIyAgICAgIiAgICAgICIgICAiICAgICAiICAgICAiICAgICAgICAiICAgICAiICAgIiAKKysgU0FMIEZJTk5eJCAgICAgICAgICAgICAgIFYqTiAgICAgICMgICAgICIgICAgICAiICAgIiAgICAgIiAgICAgIiAgICAgICAgIiAgICAgIiAgICIgCisrIFNBTCBGRcFeJCAgICAgICAgICAgICAgICBWKiAgICAgICAjICAgICAiICAgICAgIiAgICIgICAgICIgICAgICIgICAgICAgICIgICAgICIgICAiIAorKyBTQUwgRkHNXiQgICAgICAgICAgICAgICAgViogICAgICAgIyAgICAgIiAgICAgICIgICAiICAgICAiICAgICAiICAgICAgICAiICAgICAiICAgIiAKKysgU0FMIEbNXiQgICAgICAgICAgICAgICAgIFYqICAgICAgICMgICAgICIgICAgICAiICAgIiAgICAgIiAgICAgIiAgICAgICAgIiAgICAgIiAgICIgCisrIFNBTCBGQUlESC0tLS0kICAgICAgICAgICBfICAgICAgICAjIHNpbGVudCAnZicgaW4gdmVyYiBlbmRpbmcKKysgU0FMIEZBREgtLS0kICAgICAgICAgICAgIF8gICAgICAgICMgICAiICAgICAiICAgIiAgICIgICAgIgorKyBTQUwgRklESC0tLSQgICAgICAgICAgICAgXyAgICAgICAgIyAgICIgICAgICIgICAiICAgIiAgICAiCisrIFNBTCBGRUFESC0tLS0kICAgICAgICAgICBfICAgICAgICAjICAgIiAgICAgIiAgICIgICAiICAgICIgICAgCisrIFNBTCBGRUFSLS0tJCAgICAgICAgICAgICBfICAgICAgICAjICAgIiAgICAgIiAgICIgICAiICAgICIgICAgCisrIFNBTCBGQVItLSQgICAgICAgICAgICAgICBfICAgICAgICAjICAgIiAgICAgIiAgICIgICAiICAgICIKKysgU0FMIEZJTk4tLS0kICAgICAgICAgICAgIF8gICAgICAgICMgICAiICAgICAiICAgIiAgICIgICAgIiAgICAKKysgU0FMIEZBSU5OLS0tLSQgICAgICAgICAgIF8gICAgICAgICMgICAiICAgICAiICAgIiAgICIgICAgIiAgICAKKysgU0FMIEbBLSQgICAgICAgICAgICAgICAgIF8gICAgICAgICMgICAiICAgICAiICAgIiAgICIgICAgIiAKKysgU0FMIEZFwS0tJCAgICAgICAgICAgICAgIF8gICAgICAgICMgICAiICAgICAiICAgIiAgICIgICAgIiAKKysgU0FMIEZBzS0tJCAgICAgICAgICAgICAgIF8gICAgICAgICMgICAiICAgICAiICAgIiAgICIgICAgIgorKyBTQUwgRs0tJCAgICAgICAgICAgICAgICAgXyAgICAgICAgIyAgICIgICAgICIgICAiICAgIiAgICAiCisrIFNBTCBGQUlNSShEUyktLS0tLSQgICAgICBfICAgICAgICAjICAgIiAgICAgIiAgICIgICAiICAgICIgIChubyBleGNlcHRpb25zKQorKyBTQUwgRklNSShEUyktLS0tJCAgICAgICAgXyAgICAgICAgIyAgICIgICAgICIgICAiICAgIiAgICAiICAobm8gZXhjZXB0aW9ucykKKysgU0FMIEZBSUTNUy0tLS0tJCAgICAgICAgIF8gICAgICAgICMgICAiICAgICAiICAgIiAgICIgICAgIiAgKG5vIGV4Y2VwdGlvbnMpCisrIFNBTCBGSUTNUy0tLS0kICAgICAgICAgICBfICAgICAgICAjICAgIiAgICAgIiAgICIgICAiICAgICIgIChubyBleGNlcHRpb25zKQorKyBTQUwgRkggICAgICAgICAgICAgICAgICAgXyAgICAgICAgIyBhbHdheXMgc2lsZW50IAorKyBTQUwgRiAgICAgICAgICAgICAgICAgICAgVgorKyBTQUwgR0hBSU5NSC0tICAgICAgICAgICAgSypOKiAgICAgIyBlcGVudGhldGljIHZvd2VsLHNlZSBOTUgtLSxeZ2hhaW5taCogb25seQorKyBTQUwgR0FJTk1ILS0gICAgICAgICAgICAgSypOKiAgICAgIyBlcGVudGhldGljIHZvd2VsLHNlZSBOTUgtLSxeZ2Fpbm1oKiBvbmx5LCBuZy0gYjQKKysgU0FMIEdIRUFMTE1ILS0gICAgICAgICAgIFkqTCogICAgICMgZXBlbnRoZXRpYyB2b3dlbCxzZWUgTE1ILS0sZ2hlYWxsbWhhciBvbmx5CisrIFNBTCBHRUFMTE1ILS0gICAgICAgICAgICBLKkwqICAgICAjIGVwZW50aGV0aWMgdm93ZWwsc2VlIExNSC0tLGdlYWxsbWhhciBvbmx5CisrIFNBTCBHTEFGQURIICAgICAgICAgICAgICBLTCpWKiAgICAjIGV4Y2VwdGlvbiB0byBGQURIJCwgbm90IGdsYWZhcm5hY2gKKysgU0FMIEdITEFGQURIICAgICAgICAgICAgIEtMKlYqICAgICMgZXhjZXB0aW9uIHRvIEZBREgkIAorKyBTQUwgR0xBRkFJREggICAgICAgICAgICAgS0wqViogICAgIyBleGNlcHRpb24gdG8gRkFJREgkLCBub3QgZ2xhZmFpcmUKKysgU0FMIEdITEFGQUlESCAgICAgICAgICAgIEtMKlYqICAgICMgZXhjZXB0aW9uIHRvIEZBSURIJCAKKysgU0FMIEdIJCAgICAgICAgICAgICAgICAgIF8gICAgICAgICMgW2Fp83VdZ2gsbW9zdCBvZ2ggZG9uZSBiNCxbZeHp7fpdZ2ggYWxsIHRlcm1pbmFsCisrIFNBTCBHSChBwU/TVdopLSAgICAgICAgICBLICAgICAgICAjIGJvYmdoYWlzdGUsIGRlb2lyZ2jhcywgc29naG9udGEsIGV0Yy4KKysgU0FMIEdIKEXJSc0pLSAgICAgICAgICAgIFkgICAgICAgICMgYXRoZ2hpbiwgbHVhc2do6WFyYWlnaCwgZXRjLgorKyBTQUwgR0hMKEHBT9NV2iktLSAgICAgICAgSyAgICAgICAgIyBhcmRnaGzzcmFjaCwgZm9s+nNnaGxhbnTzaXIsIGV0Yy4KKysgU0FMIEdITChFyUkpLS0gICAgICAgICAgIFkgICAgICAgICMgY29taGdobOlhcywgY29taGdobGVhY2HtLCBzY29pbHRnaGxlYW5uLCBldGMuCisrIFNBTCBHSFIoQcFP01XaKS0tICAgICAgICBLICAgICAgICAjIHTtcmdocuEsIGdyaWFuZ2hyYWYsIGFvaXNnaHL6cGEsIGV0Yy4gCisrIFNBTCBHSFIoRclJzSktLSAgICAgICAgICBZICAgICAgICAjIGlkaXJnaHLpYXPhbiwgYnJlaXRoZ2hyZWFtYW5uYWNoLCBldGMuCisrIFNBTCBHSE4oQcFP01XaKS0tICAgICAgICBLICAgICAgICAjIGRlYXNnaG7hdGgsIG5lYW1oZ2hu4WNoLCBldGMuCisrIFNBTCBHSE4oRclJzSktLSAgICAgICAgICBZICAgICAgICAjIGxlb3Jnbu1vbWgsIGFvbmdobulpdGhlYWNoLCBldGMuCisrIFNBTCBHICAgICAgICAgICAgICAgICAgICBLICAgICAgICAjIG5vdGUgZWNsaXBzaXMgb2YgQyB2aWEgY29sbGFwc2luZworKyBTQUwgSCAgICAgICAgICAgICAgICAgICAgSCAgICAgICAgIyBiZXR3ZWVuIHZvd2VscytGYXJhbmhh7XQsZm9yaGFsbGEsZXRjLgorKyBTQUwgSUFSRy0gICAgICAgICAgICAgICAgKlIgICAgICAgIyBlcGVudGhldGljIGV4Y2VwdGlvbiwgaWFyZ/ppbCwgdGlhcmfhaWwsIGV0Yy4KKysgU0FMIElBUkJILS0gICAgICAgICAgICAgICpSICAgICAgICMgaWFyYmjhaXMsIGdpYXJiaG9zY2EsIGV0Yy4gZXBlbnRoLiBleGNlcHRpb24KKysgU0FMIElESVJCSC0tICAgICAgICAgICAgICpUKlIgICAgICMgaWRpcmJoZWFydCwgaWRpcmJobGlhaW4sIGV0Yy4sIGV4Y2VwdGlvbiB0byBJUkJICisrIFNBTCBJUkJIUtotLS0tICAgICAgICAgICAqUiAgICAgICAjIG11aXJiaHL6Y2h0KiBvbmx5LCBleGNlcHRpb24gdG8gSVJCSC0tCisrIFNBTCBJUkJIVS0tLSAgICAgICAgICAgICAqUiAgICAgICAjIGVvY2hhaXJiaHVpbGxlLGxpdGlyYmh1YW1hIG9ubHksIGV4Y2VwdC4gdG8gbmV4dAorKyBTQUwgSVJCSC0tICAgICAgICAgICAgICAgKlIqICAgICAgIyAqc2VpcmJo7XMsIHRhaXJiaCosIHRvaXJiaCosIGV0Yy4gZXBlbnRoZXRpYworKyBTQUwgSUbNLSQgICAgICAgICAgICAgICAgKlYgICAgICAgIyBleGNlcHRpb24gdG8gRs0kLCDJSUbNJCBkb25lIGJlZm9yZQorKyBTQUwgSU5NSEUoQcEpLS0tLSAgICAgICAgKk4gICAgICAgIyBleGNlcHRpb24gdG8gbmV4dCxhaW5taGVhc2FydGhhLGlubWhlYWJocvosIGV0Yy4KKysgU0FMIElOTUhFLS0tICAgICAgICAgICAgICpOKiAgICAgICMgZXBlbnRoZXRpYyB2b3dlbCwgaW5taGUkIG9ubHkgYnkgcHJldmlvdXMKKysgU0FMIElOTk1ILS0gICAgICAgICAgICAgICpOKiAgICAgICMgZXBlbnRoZXRpYyB2b3dlbCwgZnVpbm5taC0sIGNvaW5ubWhlIG9ubHkKKysgU0FMIElPTk1IQUctLS0tICAgICAgICAgICpOICAgICAgICMgZXhjZXB0aW9uIHRvIG5leHQsIG1pb25taGFnYWRoIG9ubHkKKysgU0FMIElPTk1IQS0tLSAgICAgICAgICAgICpOKiAgICAgICMgZXBlbnRoZXRpYyB2b3dlbCwgY2lvbm1oYXIgb25seSwgc2VlIE5NSC0tCisrIFNBTCBJVEhGSChBRUlPVcHJzdPaKS0tLSAqSCAgICAgICAjIGNpdGhmaG9sYyosY3JpdGhmaHVhY2h0LGZyaXRoKiBvbmx5LSBzZWUgbmV4dAorKyBTQUwgSVRIKEJDREZHTE1OUFJTVCktICAgKiAgICAgICAgIyBhaXRocmlzLCBmcml0aCosIGV0Yy4gIGV4Y2VwdGlvbiB0byBUSC0+SAorKyBTQUwgSURIKEJDREZHTE1OUFJTVCktICAgKiAgICAgICAgIyBmZWlkaG0sIHRyYWlkaGZpbCwgb2lkaHJlLCBldGMuCisrIFNBTCBJR0goQ0RFRklMTlJTVCktICAgICAqICAgICAgICAjIGZvaWdobmUsY2FpZ2hkZeFuLG9pZ2hyaWdoLG9pZ2hlYXIsZmVpZ2hpbCxldGMuCisrIFNBTCBJICAgICAgICAgICAgICAgICAgICAqCisrIFNBTCDNT1JNLSAgICAgICAgICAgICAgICAqUiAgICAgICAjIGVwZW50aGV0aWMgZXhjZXB0aW9uLCBk7W9ybWEsIGbtb3ItIG9ubHkKKysgU0FMIM1PTUgoQkNERkdMTU5QUlNUKS0tLSAqICAgICAgICMgKHByfHJ8bHxzbnxnbintb21oLSBvbmx5LCBleGNlcHRpb25zIHRvIG9taC0KKysgU0FMIM1USFMtICAgICAgICAgICAgICAgICogICAgICAgICMgY2ztdGhzZWFjaCBvbmx5IChubyBleGNwLiBmb3IgZO10aHJlYWJoLCBldGMuKQorKyBTQUwgzSAgICAgICAgICAgICAgICAgICAgKgorKyBTQUwgSiAgICAgICAgICAgICAgICAgICAgVCAgICAgICAgIyBpbml0aWFsIGosIGRpb3NjLWphY2HtIG9ubHk7IGJpdCBsaWtlIHNsZW5kZXIgZAorKyBTQUwgSyAgICAgICAgICAgICAgICAgICAgSyAgICAgICAgIyBrYXJhdOkgb25seQorKyBTQUwgTEVBTkJILS0gICAgICAgICAgICAgTCpOKiAgICAgIyBlcGVudGhldGljIHZvd2VsLCAodWNodCk/bGVhbmJoKGFvaXMpPyxzZWUgTkJILS0KKysgU0FMIExJTkJILS0gICAgICAgICAgICAgIEwqTiogICAgICMgZXBlbnRoZXRpYyB2b3dlbCwgKHVjaHQpP2xpbmJoIG9ubHksIHNlZSBOQkgtLQorKyBTQUwgTE1ILS0gICAgICAgICAgICAgICAgTCAgICAgICAgIyBmZWFsbG1oYXL6LCBldGMuLCBlcGVudGguIGV4Y2VwdGlvbgorKyBTQUwgTEJILS0gICAgICAgICAgICAgICAgTCAgICAgICAgIyB1YWlsbGJocmVhcywgZXRjLiwgZXBlbnRoLiBleGNlcHRpb24KKysgU0FMIExHSC0tICAgICAgICAgICAgICAgIEwgICAgICAgICMgdGltcGVhbGxnaGVhcnIsIGV0Yy4sIGVwZW50aC4gZXhjZXB0aW9uCisrIFNBTCBMKEJHTSktICAgICAgICAgICAgICBMKiAgICAgICAjIGVwZW50aGV0aWMgdm93ZWwsIHNlZSBhbHNvIFVMQ0gtLQorKyBTQUwgTCAgICAgICAgICAgICAgICAgICAgTAorKyBTQUwgTU9SRkHNLS0kICAgICAgICAgICAgTSpSViAgICAgIyBleGNlcHRpb24gdG8gc2lsZW50IEZBzSQKKysgU0FMIE1CQU5CSF4kICAgICAgICAgICAgIE0qTipWICAgICMgZXBlbnRoZXRpYyB2b3dlbCwgc2VlIE5CSC0tLCBub3QgLWFy+m4KKysgU0FMIE1CQUlOQkheJCAgICAgICAgICAgIE0qTipWICAgICMgZXBlbnRoZXRpYyB2b3dlbCwgc2VlIE5CSC0tCisrIFNBTCBNQl4gICAgICAgICAgICAgICAgICBNICAgICAgICAjIGVjbGlwc2lzCisrIFNBTCBNSEFSRi0gICAgICAgICAgICAgICBWKlIqICAgICAjIGVwZW50aGV0aWMgdm93ZWwKKysgU0FMIE1BUkYtICAgICAgICAgICAgICAgIE0qUiogICAgICMgZXBlbnRoZXRpYyB2b3dlbCwgaW5pdGlhbCBvbmx5CisrIFNBTCBNSE9ESCAgICAgICAgICAgICAgICBWKiAgICAgICAjIE9ESCBleGNlcHRpb24sIHVzdWFsbHkgaW5pdGlhbAorKyBTQUwgTU9ESCAgICAgICAgICAgICAgICAgTSogICAgICAgIyAgIiAgICAgIiAgICAgLCAgICIgICAgICAgIgorKyBTQUwgTUggICAgICAgICAgICAgICAgICAgViAgICAgICAgIyBpbmNsdWRlcyBtaCQsL3cvLC92LyArIHNlZSBVTUgKKysgU0FMIE0gICAgICAgICAgICAgICAgICAgIE0KKysgU0FMIE5BRkHNLS0gICAgICAgICAgICAgIE4qViAgICAgICMgZXhjZXB0aW9uIHRvIEZBzSQsIHNuYWZh7SBvbmx5CisrIFNBTCBOTkFSQi0gICAgICAgICAgICAgICBOKlIgICAgICAjIGV4Y2VwdGlvbiB0byBSQiBlcGVudGhldGljLCBpb25uYXJiKiBvbmx5CisrIFNBTCBOTkVBTEJILS0gICAgICAgICAgICBOKkwgICAgICAjIGV4Y2VwdGlvbiB0byBBTEJIIGVwZW50aGV0aWMsIGNvaW5uZWFsYmjhIG9ubHkKKysgU0FMIE5ET1JDSC0tICAgICAgICAgICAgIE4qUiogICAgICMgZXBlbnRoZXRpYyB2b3dlbCwgc2VlIERPUkNILS0KKysgU0FMIE5ERUFSRi0gICAgICAgICAgICAgIE4qUiogICAgICMgZXBlbnRoZXRpYyB2b3dlbCwgc2VlIERFQVJGLQorKyBTQUwgTkRFSVJGLSAgICAgICAgICAgICAgTipSKiAgICAgIyBlcGVudGhldGljIHZvd2VsLCBzZWUgREVJUkYtCisrIFNBTCBORE9JTChCRiktICAgICAgICAgICBOKkwqICAgICAjIGVwZW50aGV0aWMgdm93ZWwsIHNlZSBET0lMKEJGKS0KKysgU0FMIE5ESUZFQVIgICAgICAgICAgICAgIE4qVipSICAgICMgZXhjZXB0aW9uIHRvIEZFQVIkLCBebmRpZmVhciQgb25seQorKyBTQUwgTkdBSU5NSC0tICAgICAgICAgICAgTipOKiAgICAgIyBlcGVudGhldGljIHZvd2VsLCBzZWUgR0FJTk1ILS0KKysgU0FMIE5HRUFMTE1ILS0gICAgICAgICAgIE4qTCogICAgICMgZXBlbnRoZXRpYyB2b3dlbCwgc2VlIEdFQUxMTUgtCisrIFNBTCBOR0xBRkFESCAgICAgICAgICAgICBOTCpWKiAgICAjIGV4Y2VwdGlvbiB0byBGQURIJCwgXm5nbGFmYWRoJCBvbmx5CisrIFNBTCBOR0xBRkFJREggICAgICAgICAgICBOTCpWKiAgICAjIGV4Y2VwdGlvbiB0byBGQUlESCQsIF5uZ2xhZmFpZGgkIG9ubHkKKysgU0FMIE5DSEEozVMpLS0tLSAgICAgICAgIE4qICAgICAgICMgZXBlbnRoZXRpYyB2b3dlbCwgKnNoP2VhbmNoYSjtcykqLGlvbmNoYXMgb25seQorKyBTQUwgTkNIQUlSRC0tLS0tLSAgICAgICAgTiAgICAgICAgIyBleGNlcHRpb24gdG8gbmV4dCwgZGFvbmNoYWlyZCogb25seQorKyBTQUwgTkNIQUkoUlMpLS0tLS0gICAgICAgTiogICAgICAgIyBlcGVudGguIHRpb25jaGFpciosIGlvbmNoYWlzLCAqc2g/ZWFuY2hhaSosIGV0Yy4KKysgU0FMIE5DSEFJVEhFLS0tLS0tLSAgICAgIE4qICAgICAgICMgICAgICIgICAgICAgICIgICwgc2g/ZWFuY2hhaXRoZSwgbm90IHNlYW5jaGFpdGUKKysgU0FMIE4oREcpXiAgICAgICAgICAgICAgIE4gICAgICAgICMgZWNsaXBzaXMKKysgU0FMIE5NSC0tICAgICAgICAgICAgICAgIE4gICAgICAgICMgZXhjZXB0aW9uIHRvIE4oQk0pLSwgcGlhbm1oYXIsIG9ubm1oYWlyZSwgZXRjLiAKKysgU0FMIE5CSC0tICAgICAgICAgICAgICAgIE4gICAgICAgICMgICAgIiAgICAgICAiICAgIiwgYW9uYmhlYW5uYWNoLCBidW5iaHJhdCwgZXRjLgorKyBTQUwgTihCTSktICAgICAgICAgICAgICAgTiogICAgICAgIyBlcGVudGhldGljIHZvd2VsLCBiaW5iLCBhaW5tLCBldGMuCisrIFNBTCBOICAgICAgICAgICAgICAgICAgICBOCisrIFNBTCBPRkFSLS0kICAgICAgICAgICAgICAqViAgICAgICAjIGV4Y2VwdGlvbiB0byBGQVIkLCBFT0ZBUiBkb25lIGI0CisrIFNBTCBPSVJDSC0tICAgICAgICAgICAgICAqUiogICAgICAjIGVwZW50aGV0aWMgdm93ZWwsIHQ/b2lyY2gqIG9ubHkKKysgU0FMIE9DQUxCSC0tICAgICAgICAgICAgICpLKkwgICAgICMgZXhjZXB0aW9uIHRvIEFMQkggLSBmb2NhbGJo4Sogb25seQorKyBTQUwgT1JCSMEtLS0gICAgICAgICAgICAgKlIqICAgICAgIyBlcGVudGhldGljIHZvd2VsLCBmb3JiaOFzIG9ubHkKKysgU0FMIE9OTkNIQS0tLSAgICAgICAgICAgICpOKiAgICAgICMgZXBlbnRoZXRpYyB2b3dlbCAgIGZpb25uY2hhLCBEb25uY2hhIG9ubHkKKysgU0FMIE9NSEFSQi0gICAgICAgICAgICAgICpSICAgICAgICMgZXhjZXB0aW9uIHRvIGVwZW50aC4gUihCRkdNKS0sIGNvbWhhcmJhKiBvbmx5CisrIFNBTCBPTUgoQkNERkdMTU5QUlNUKS0gICAqICAgICAgICAjIGNvbWgtLCBEb21obmFjaCwgZXRjLiAoc2V2ZXJhbCBleGNwdHMgYjQgdGhpcykKKysgU0FMIE9USChCQ0RHTE1OUFJTKS0gICAgICogICAgICAgICMgY290aHJvbSwgYmFvdGhjaGFpbnQsIGdhb3Roc2PhdGgsIGV0Yy4KKysgU0FMIE9ESEFPLS0tLSAgICAgICAgICAgICogICAgICAgICMgZm9kaGFvKiBvbmx5LCBleGNlcHRpb24gdG8gbmV4dAorKyBTQUwgT0RIKEFDTE5SKS0gICAgICAgICAgKiAgICAgICAgIyBib2RocuFuLG1vZGhuYWlnaCx0b2RoY2hh7Sxmb2RobGEsYm9kaGFyIGV0Yy4KKysgU0FMIE9HSFLaUC0tLS0tICAgICAgICAgICogICAgICAgICMgZm9naHL6cGEsIHRoaXMgYW5kIG5leHQgZmV3IGFyZSBPR0gtPiogZXhjZXB0cy4KKysgU0FMIE9HSExVQS0tLS0tICAgICAgICAgICogICAgICAgICMgc28vZG9naGx1YWlzdGUqIG9ubHkKKysgU0FMIE9HSEFGLS0tLSAgICAgICAgICAgICogICAgICAgICMgZG9naGFmYSBvbmx5CisrIFNBTCBPR0goQcFCQ0RGR0xNTlBSU1QpLSAqICAgICAgICAjIG9naGFtLCBmb2dobGFpbSwgYm9naGTzaXIsIHRvZ2hjaOFuLCBldGMuCisrIFNBTCBPICAgICAgICAgICAgICAgICAgICAqCisrIFNBTCDTUihHTSktICAgICAgICAgICAgICAqUiAgICAgICAjIGVwZW50aGV0aWMgZXhjZXB0aW9uLCAoZm9yKT90aD/zcm1hY2gsIPNyZ2EsZXRjLgorKyBTQUwg00dIICAgICAgICAgICAgICAgICAgKiAgICAgICAgIyDzZ2hhPyQgb25seQorKyBTQUwg0yAgICAgICAgICAgICAgICAgICAgKgorKyBTQUwgUEggICAgICAgICAgICAgICAgICAgViAgICAgICAgIyBPSworKyBTQUwgUCAgICAgICAgICAgICAgICAgICAgQgorKyBTQUwgUVUgICAgICAgICAgICAgICAgICAgS1YgICAgICAgIyBecXVpbu1uJCwgXnF1YXJ0byQgb25seQorKyBTQUwgUkFORkHNLS0gICAgICAgICAgICAgUipOViAgICAgIyBleGNlcHRpb24gdG8gc2lsZW50IEZBzSQsIC1jaHVhcmFuZmHtIG9ubHkKKysgU0FMIFJBRkHNLS0gICAgICAgICAgICAgIFIqViAgICAgICMgZXhjZXB0aW9uIHRvIHNpbGVudCBGQc0kLCBhbGwgKmdyYWYtCisrIFNBTCBSUkJIQS0tLSAgICAgICAgICAgICBSKiAgICAgICAjIGVwZW50aGV0aWMgdm93ZWwsIGNlYXJyYmgqIG9ubHksIG5vIGNhcnJiaHVhbWEKKysgU0FMIFJFQUxNSC0tICAgICAgICAgICAgIFIqTCogICAgICMgZXBlbnRoZXRpYyB2b3dlbCwgc2VlIExNSC0tLCB0cmVhbG1oKiBvbmx5CisrIFNBTCBSzUZFQVJeJCAgICAgICAgICAgICBSKlYqUiAgICAjIGV4Y2VwdGlvbiB0byBGRUFSJCwgbm90IGF0aHLtZmVhciEKKysgU0FMIFJPTUgoRlQpLS0tICAgICAgICAgIFIqICAgICAgICMgcHJvbWhbZnRdLSBvbmx5LCBleGNlcHRpb24gdG8gLW9taCBydWxlCisrIFNBTCBSRkVBTi0tLS0gICAgICAgICAgICBSKiAgICAgICAjIGVwZW50aGV0aWMgdm93ZWwsIChiZXxzZXxnYSlpcmZlYW4gb25seQorKyBTQUwgUkZJTi0tLSQgICAgICAgICAgICAgUiogICAgICAgIyBlcGVudGhldGljIHZvd2VsLCBzYW1lIHdvcmRzIGFzIHByZXZpb3VzCisrIFNBTCBSQkgtLSAgICAgICAgICAgICAgICBSICAgICAgICAjIGPtb3JiaHXtLCBhZXJiaHJhdCwgZXRjLiwgZXBlbnRoLiBleGNlcHRpb24KKysgU0FMIFJNSC0tICAgICAgICAgICAgICAgIFIgICAgICAgICMgaWFybWhhciwgbOlpcm1oZWFzLCBldGMuLCBlcGVudGguIGV4Y2VwdGlvbgorKyBTQUwgUkdILS0gICAgICAgICAgICAgICAgUiAgICAgICAgIyBkYW9yZ2hhbGFyLCBldGMuLCBlcGVudGguIGV4Y2VwdGlvbgorKyBTQUwgUkJPLS0gICAgICAgICAgICAgICAgUiAgICAgICAgIyBjb3NhcmJvbGcgb25seSwgZXBlbnRoLiBleGNlcHRpb24KKysgU0FMIFIoQkdNKS0gICAgICAgICAgICAgIFIqICAgICAgICMgZXBlbnRoZXRpYyB2b3dlbAorKyBTQUwgUiAgICAgICAgICAgICAgICAgICAgUgorKyBTQUwgU0hPUkNILS0gICAgICAgICAgICAgSCpSKiAgICAgIyBlcGVudGhldGljIHZvd2VsLCBzb3JjaGEgcm9vdCBvbmx5CisrIFNBTCBTT1JDSC0tICAgICAgICAgICAgICBTKlIqICAgICAjIGVwZW50aGV0aWMgdm93ZWwsIHNvcmNoYSByb290IG9ubHkKKysgU0FMIFNIT0lMQkgtLSAgICAgICAgICAgIEgqTCogICAgICMgZXBlbnRoZXRpYywgc2VlIExCSC0tCisrIFNBTCBTT0lMQkgtLSAgICAgICAgICAgICBTKkwqICAgICAjIGVwZW50aGV0aWMsIHNlZSBMQkgtLQorKyBTQUwgU0ggICAgICAgICAgICAgICAgICAgSCAgICAgICAgIyBPSworKyBTQUwgUyAgICAgICAgICAgICAgICAgICAgUworKyBTQUwgVEFMTUgtLSAgICAgICAgICAgICAgVCpMKiAgICAgIyBlcGVudGhldGljIHZvd2VsLCBzZWUgTE1ILS0sIHRhbG1oYWlnaCBvbmx5CisrIFNBTCBUSEFMTUgtLSAgICAgICAgICAgICBIKkwqICAgICAjIGVwZW50aGV0aWMgdm93ZWwsIHNlZSBMTUgtLSwgICAgIiAgICAgICAiCisrIFNBTCBUSU5GKEVJKS0gICAgICAgICAgICBUKk5WICAgICAjIGV4Y2VwdGlvbiB0byBGKEVBfEkpREgkLCBkP3RpbmYoZWF8aSlkaCBvbmx5CisrIFNBTCBUSElORihFSSktICAgICAgICAgICBIKk5WICAgICAjIGV4Y2VwdGlvbiB0byBGKEVBfEkpREgkLCB0aGluZihlYXxpKWRoIG9ubHkKKysgU0FMIFRBRkEtICAgICAgICAgICAgICAgIFQqViAgICAgICMgZXhjZXB0aW9uIHRvIEZBSU5OJCwgZD90YWZhaW5uIG9ubHkKKysgU0FMIFRIQUZBLSAgICAgICAgICAgICAgIEgqViAgICAgICMgZXhjZXB0aW9uIHRvIEZBSU5OJCwgdGhhZmFpbm4gb25seQorKyBTQUwgVFNPUkNILS0gICAgICAgICAgICAgVCpSKiAgICAgIyBlcGVudGhldGljIHZvd2VsLCBzZWUgU09SQ0gtLQorKyBTQUwgVFNPSUxCSC0tICAgICAgICAgICAgVCpMKiAgICAgIyBlcGVudGhldGljIHZvd2VsLCBzZWUgU09JTEJILS0KKysgU0FMIFRTXiAgICAgICAgICAgICAgICAgIFQgICAgICAgICMgcHJlZml4LXQKKysgU0FMIFRIJCAgICAgICAgICAgICAgICAgIF8gICAgICAgICMgbm8gZXhjZXB0aW9ucworKyBTQUwgVEggICAgICAgICAgICAgICAgICAgSAorKyBTQUwgVCAgICAgICAgICAgICAgICAgICAgVAorKyBTQUwgVUZBKM1SKS0tJCAgICAgICAgICAgKlYgICAgICAgIyBleGNlcHRpb24gdG8gRkFSJCwgYnJ1ZmFyL1tjcl11ZmHtIG9ubHkKKysgU0FMIFVBUkctICAgICAgICAgICAgICAgICpSICAgICAgICMgZXBlbnRoZXRpYyBleGNlcHRpb24sIGZ1YXJnYSosIHR1YXJnYWluIG9ubHkKKysgU0FMIFVBSVJHLSAgICAgICAgICAgICAgICpSICAgICAgICMgZXBlbnRoZXRpYyBleGNlcHRpb24sIHR1YWlyZ24qIG9ubHkKKysgU0FMIFVBUkJILS0gICAgICAgICAgICAgICpSICAgICAgICMgZXBlbnRoZXRpYyBleGNlcHRpb24sIGZ1YXJiaCosIGN1YXJiaCogb25seSAKKysgU0FMIFVBTEdBLS0gICAgICAgICAgICAgICpMICAgICAgICMgZXBlbnRoZXRpYyBleGNlcHRpb24sIGR1YWxnYXMgb25seQorKyBTQUwgVUxMTUgtLSAgICAgICAgICAgICAgKkwqICAgICAgIyBlcGVudGhldGljIHZvd2VsLCBzZWUgTE1ILS0KKysgU0FMIFVNSCAgICAgICAgICAgICAgICAgICogICAgICAgICMgY3VtaGFjaHQsIHVtaGxh7W9jaHQsIGNpdW1oYWlzLCBleGNlcHQuIHRvIE1ILT5WCisrIFNBTCBVVEgoQkNER0xNTlBSKS0gICAgICAqICAgICAgICAjIHNydXRoKiwgZ3V0aHBob3N0IG9ubHksIFRILT5IIGV4Y2VwdGlvbgorKyBTQUwgVUxDSC0tICAgICAgICAgICAgICAgKkwqICAgICAgIyBlcGVudGguIHZvd2VsLHVsY2hhLFt0bV11bGNo4W4sYW1odWxjaGFjaCBvbmx5CisrIFNBTCBVUkNIKEHTKS0tLSAgICAgICAgICAqUiogICAgICAjIGVwZW50aGV0aWMgdm93ZWwsIHVyY2hhciwgdXJjaGFsbCwgdXJjaPNpZCwgZXRjLgorKyBTQUwgVURIICAgICAgICAgICAgICAgICAgKiAgICAgICAgIyBtdWRoKiBvbmx5IChsaXRlcmFyeSkKKysgU0FMIFVHSCAgICAgICAgICAgICAgICAgICogICAgICAgICMgYnJ1Z2gqIG9ubHkgKGxpdGVyYXJ5KQorKyBTQUwgVSAgICAgICAgICAgICAgICAgICAgKgorKyBTQUwg2klSRy0gICAgICAgICAgICAgICAgKlIgICAgICAgIyBlcGVudGhldGljIGV4Y2VwdGlvbiwgbGlvdPppcmcqIG9ubHksIHNlZSBSRworKyBTQUwg2lRIKEJDREZMUFIpLSAgICAgICAgKiAgICAgICAgIyBs+nRoY2hsZWFzYSwgZPp0aHJhY2h0LCBldGMuIC0gVEgtPkggZXhjZXB0aW9uCisrIFNBTCDaICAgICAgICAgICAgICAgICAgICAqCisrIFNBTCBWICAgICAgICAgICAgICAgICAgICBWCisrIFNBTCBXICAgICAgICAgICAgICAgICAgICBWICAgICAgICAjIHdpZ3dhbSBvbmx5CisrIFNBTCBYKEFFyUnNKS1eICAgICAgICAgICBTICAgICAgICAjIHhpbGVhZvNuLCBldGMuCisrIFNBTCBYXiAgICAgICAgICAgICAgICAgICAqS1MgICAgICAjIHgtZ2hhKiBvbmx5CisrIFNBTCBYICAgICAgICAgICAgICAgICAgICBLUyAgICAgICAjIE1hcnhhY2ggb25seQorKyBTQUwgWSAgICAgICAgICAgICAgICAgICAgWSAgICAgICAgIyB583nzIG9ubHkKKysgU0FMIFogICAgICAgICAgICAgICAgICAgIFMgICAgICAgICMgevosIHB1emFsLCBldGMuCmRpZmYgLS1naXQgYS9ydW50aW1lL3NwZWxsL3N2L3N2X1NFLmRpZmYgYi9ydW50aW1lL3NwZWxsL3N2L3N2X1NFLmRpZmYKaW5kZXggODU5YjIyNS4uM2RmYzUxNSAxMDA2NDQKLS0tIGEvcnVudGltZS9zcGVsbC9zdi9zdl9TRS5kaWZmCisrKyBiL3J1bnRpbWUvc3BlbGwvc3Yvc3ZfU0UuZGlmZgpAQCAtMSwxNiArMSwxMyBAQAogKioqIHN2X1NFLm9yaWcuYWZmCVdlZCBBdWcgMzEgMjE6MDA6MTkgMjAwNQotLS0tIHN2X1NFLmFmZglXZWQgQXVnIDMxIDIxOjAyOjUzIDIwMDUKKy0tLSBzdl9TRS5hZmYJRnJpIFNlcCAzMCAxNDowOToxOSAyMDA1CiAqKioqKioqKioqKioqKioKICoqKiA2LDcgKioqKgotLS0tIDYsMjUgLS0tLQorLS0tIDYsMjIgLS0tLQogICAKICsgRk9MICDf4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb4+fr7/P3+/wogKyBMT1cgIN/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vj5+vv8/f7/CiArIFVQUCAg38DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW2Nna29zd3v8KICsgCi0rIFNPRk9GUk9NIGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVrg4eLj5OXm5+jp6uvs7e7v8PHy8/T19vj5+vv8/f7f/8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW2Nna29zd3r8KLSsgU09GT1RPICAgZWJjdGVmZ2hlamtsbm5lcGtyc3RldnZrZXNlYmN0ZWZnaGVqa2xubmVwa3JzdGV2dmtlc2VlZWVlZWVjZWVlZWVlZWVkbmVlZWVlZWVlZWVlcHNlZWVlZWVlZWNlZWVlZWVlZWRuZWVlZWVlZWVlZWVwPwotKyAKICsgTUFQIDkKICsgTUFQIGHg4eLj5OUKICsgTUFQIGXo6errCkBAIC0yOCw3ICsyNSw3IEBACiAgIAogISBTRlggIEMgIFkgIDE2CiAgIFNGWCAgQyAgMCAgdCAgW2FlaW91eeXk9uldCi0tLS0gMzMsMzUgLS0tLQorLS0tIDMwLDMyIC0tLS0KICAgCiAhIFNGWCAgQyAgWSAgMTUKICAgU0ZYICBDICAwICB0ICBbYWVpb3V55eT26V0KQEAgLTM3LDQgKzM0LDEwOCBAQAogICBTRlggIEMgIGVuIG5ldHMgZW4KIC0gU0ZYICBDICAwICBuZXQgIG5ldHMgW15lXW4KICAgU0ZYICBDICAwICBuZXRzICBbXmVdbgotLS0tIDQ4LDQ5IC0tLS0KKy0tLSA0NSw0NiAtLS0tCisqKioqKioqKioqKioqKioKKyoqKiA0MjcgKioqKgorLS0tIDQ0MSw1NDEgLS0tLQorICBTRlggIFQgIGVsICBsYSAgZWwKKysgCisrICMgc291bmRzbGlrZSBtYXBwaW5nIGZyb20gQXNwZWxsCisrICMgc3dlZGlzaF9waG9uZXQuZGF0IC0gU3dlZGlzaCBwaG9uZXRpYyB0cmFuc2Zvcm1hdGlvbiBydWxlcyBmb3IgYXNwZWxsCisrICMgQ29weXJpZ2h0IChDKSAyMDAwICBNYXJ0aW4gTm9yYuRjayAgPGQ5NW1iYWNrQGR0ZWsuY2hhbG1lcnMuc2U+CisrICMgZGlzdHJpYnV0ZWQgdW5kZXIgR05VIEdQTAorKyAjIHZlcnNpb24gMC4yCisrIAorKyBTQUwgJgkmCisrIFNBTCBACUAKKysgU0FMIEFORyhFSVnE1iktXglBTkkJIyBm9nJsZWRldCBhbi0gc2thIGludGUgYmxpIEAtbGp1ZAorKyBTQUwgQUdOTzYJQUtOTwkjIGFnbm9zdGlrZXIgb3N2LgorKyBTQUwgQUcoSUUpLTYJQUsJIyB2b2thbCtnKGllKSBnZXIgZWogai1sanVkCisrIFNBTCBBCUEKKysgU0FMIEJCLTwJXworKyBTQUwgQglQCisrIFNBTCBDQ08tCUsJIyBicm9jY29saSwgcGljY29sbworKyBTQUwgQ0MJS1MJIyBzdWNjZXNzaXYsIGFjY2Vzcywgc3VjY+kKKysgU0FMIENICSYJIyBjaG9rbGFkIG9zdi4KKysgU0FMIENLCUsJIyBjayAtPiBrIHNvbSB2YW5saWd0CisrIFNBTCBDKEVJWcTWKS08CVMJIyBjICsgbWp1ayB2b2thbCAtPiBzCisrIFNBTCBDCUsJIyBjICsgYW5uYXQgLT4gaworKyBTQUwgREooVcTWKS0JSQkjIGRqdW5nZWwsIGRq5HZlbCwgYWRq9gorKyBTQUwgREQtCV8KKysgU0FMIEQJVAorKyBTQUwgRUcoSUUpLTYJRUsJIyB2b2thbCtnKGllKSBnZXIgZWogai1sanVkCisrIFNBTCBFCUUKKysgU0FMIMkJRQorKyBTQUwgRkYJRgorKyBTQUwgRglGCisrIFNBTCBHKEVJWcTWKS0zCUkJIyBnK21qdWsgdm9rYWwgZ2VyIGotbGp1ZAorKyBTQUwgR0c2CUsKKysgU0FMIEdOCUBOCSMgdWduLCBsdWduLi4uCisrIFNBTCBHCUsKKysgU0FMIEgoQU9VxUVJWcTWKS1eCUgJIyBoIGkgYvZyamFuIGF2IG9yZCBo9nJzCisrIFNBTCBIKEFVT8VFSVnE1iktCV8JIyBhbm5hcnMgc3R1bXQgZnJhbWb2ciB2b2thbAorKyBTQUwgSEoJSQkjIGhqLT5qIChoauRydGEgb3N2LikKKysgU0FMIEgJSAorKyBTQUwgSUcoSUUpLTYJSUsJIyB2b2thbCtnKGllKSBnZXIgZWogai1sanVkCisrIFNBTCBJCUkKKysgU0FMIEoJSQorKyBTQUwgSyhFSVnE1iktXgkmCSMgayttanVrIHZva2FsIGdlciBzamUtbGp1ZAorKyBTQUwgS0oJJgkjIGtqb2wKKysgU0FMIEsJSworKyBTQUwgTEpVLQlJCSMgbGp1Z2EsIGxqdXMKKysgU0FMIExMLQlfCisrIFNBTCBMCUwKKysgU0FMIE1NLQlfCisrIFNBTCBNCU0KKysgU0FMIE5HNglACisrIFNBTCBOTi0JXworKyBTQUwgTglOCisrIFNBTCBPUklHSTgJT1JLSQkjIHNwZWNpYWxmYWxsCisrIFNBTCBPRyhJRSktNglPSwkjIHZva2FsK2coaWUpIGdlciBlaiBqLWxqdWQKKysgU0FMIE8JTworKyBTQUwgUFJPSkVLVAlQUk8mRUtUCSMgc3BlY2lhbGZhbGwKKysgU0FMIFBTQUxUPAlTQUxUCSMgc3BlY2lhbGZhbGwKKysgU0FMIFBTQUxNPAlTQUxNCSMgc3BlY2lhbGZhbGwKKysgU0FMIFBQLQlfCisrIFNBTCBQCVAKKysgU0FMIFEJSworKyBTQUwgUkdJJDYJUkdJCSMgaW5nZXQgaiBpIHNsdXRldAorKyBTQUwgUkdBJDYJUklBCSMgaORyIORyIGRldCBk5HJlbW90IGogKGFyZ2EsZuRyZ2EpCisrIFNBTCBSR0UkNglSSUUJIyBo5HIgb2Nrc+UgKE5vcmdlLCD2dmVyZ2UpCisrIFNBTCBSR1MkCVJJUwkjIHJncyBpIHNsdXRldAorKyBTQUwgUkckCVJJCSMgcmcgaSBzbHV0ZXQKKysgU0FMIFJECVQJIyAiYmz2dHQiIGQKKysgU0FMIFJOCU4JIyAiYmz2dHQiIG4KKysgU0FMIFJUCVQJIyAiYmz2dHQiIHQKKysgU0FMIFJMRAlUCSMgduRybGQKKysgU0FMIFJMCUwJIyAiYmz2dHQiIGwKKysgU0FMIFJTCSYJIyBzamUtbGp1ZCAoZmFycywgZ+Ryc2flcmQpCisrIFNBTCBSUi0JXworKyBTQUwgUglSCisrIFNBTCBTUy0JXworKyBTQUwgU0NISVo2CVNLSVRTCSMgc3BlY2lhbGZhbGwKKysgU0FMIFNDSDYJJgorKyBTQUwgU0tKCSYJIyBza2pvcnRhLCBza2p1dGEKKysgU0FMIFNKCSYJIyBzamUtbGp1ZAorKyBTQUwgUwlTCisrIFNBTCBUSU9OOV4JVElPTgkjIHRpb25kZQorKyBTQUwgVElPTjYJJk9OCSMgc3RhdGlvbiBvc3YuCisrIFNBTCBUVC0JXworKyBTQUwgVAlUCisrIFNBTCBVRyhJRSktNglVSwkjIHZva2FsK2coaWUpIGdlciBlaiBqLWxqdWQKKysgU0FMIFUJVQorKyBTQUwgVglGCisrIFNBTCBXCUYKKysgU0FMIFg5CUtTCisrIFNBTCBZRyhJRSktNglZSwkjIHZva2FsK2coaWUpIGdlciBlaiBqLWxqdWQKKysgU0FMIFkJSQorKyBTQUwgWloJVFMKKysgU0FMIFoJUworKyBTQUwgxVRUSU85CU9USU8JIyBzcGVjaWFsZmFsbCAoZWogc2plLWxqdWQpCisrIFNBTCDFUlRJT045CU9SVElPTgkjIHNwZWNpYWxmYWxsIChyIGj2cnMpCisrIFNBTCDFRyhJRSktNglPSwkjIHZva2FsK2coaWUpIGdlciBlaiBqLWxqdWQKKysgU0FMIMUJTworKyBTQUwgxEcoSUUpLTYJRUsJIyB2b2thbCtnKGllKSBnZXIgZWogai1sanVkCisrIFNBTCDECUUKKysgU0FMINZHKElFKS02CdZLCSMgdm9rYWwrZyhpZSkgZ2VyIGVqIGotbGp1ZAorKyBTQUwg1gnWCmRpZmYgLS1naXQgYS9ydW50aW1lL3NwZWxsL3lpL3lpLmRpZmYgYi9ydW50aW1lL3NwZWxsL3lpL3lpLmRpZmYKaW5kZXggMDk5NDg4YS4uMDE1YThmYyAxMDA2NDQKLS0tIGEvcnVudGltZS9zcGVsbC95aS95aS5kaWZmCisrKyBiL3J1bnRpbWUvc3BlbGwveWkveWkuZGlmZgpAQCAtNiw3ICs2LDcgQEAKICsgOTk5OTk5CiAgINeS16jXldeg15jXotec16LXntei16DXmAogICDXk9eW16nXkNa415HXoteg15PXmden16EKLSoqKiAvZGV2L251bGwJVGh1IFNlcCAyOSAyMDowNjo1NyAyMDA1CisqKiogL2Rldi9udWxsCUZyaSBTZXAgMzAgMTQ6MTU6NDMgMjAwNQogLS0tIHlpLmFmZglNb24gQXVnIDE1IDIzOjA2OjAwIDIwMDUKICoqKioqKioqKioqKioqKgogKioqIDAgKioqKgo=