From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbgbr2.qq.com (smtpbgbr2.qq.com [54.207.22.56]) by sourceware.org (Postfix) with ESMTPS id 8E2803858D34 for ; Wed, 8 May 2024 03:35:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8E2803858D34 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 8E2803858D34 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=54.207.22.56 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1715139326; cv=none; b=xxTEa99LUYPyANrhcoSuZMMgsL9W8PX2mMJoH8VOHJWysVYsBnuo7qQGqE4+c1sn+QjWTuShg9aW2ACJzY6JjNwRfPIm9avSS3TuaZKctBt9cLmJ+fIqrM4b9sUnhN0lTa25+37KydDQq+zZUM448VWVT3feCS8+uj6DFaJbWOg= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1715139326; c=relaxed/simple; bh=/TqhdnDMYszeibwNUbHzeQBPp+9IsZRgvq8XAKgXz9I=; h=From:To:Subject:Mime-Version:Date:Message-ID; b=DuzGIDKevC7soTttsr2UnkHny8smpQLMqmvvkqoN8oldDO+Q1pQWaRVSoTgalEbWXf5z7ANxQhVIL8vkUxffeWBDHn8QFbszpBsagrOnidncWgPpbee2U4OLJQZfDdlU3Zfv8QrpLsgDk/xxVE+w33qX/SNj+JG188qM7s1yIbE= ARC-Authentication-Results: i=1; server2.sourceware.org X-QQ-GoodBg: 2 X-QQ-SSF: 0040000000000060 X-QQ-XMRINFO: Mp0Kj//9VHAxr69bL5MkOOs= X-QQ-FEAT: CRJwvrMA7IhMUGWGwY/wyJBf1LmyJIsYRhex4pv5EpS2l0mWKdZbYmha3SA7D WHO4YPoEiqYz26pWXEjWMCQ8Q++eyRVgYpGfR/8/jp+J8ikS3JyCbVZnbaiD6DqjwNvMbXF dGiWrJDQaFq7oeDqdjXvm3khsrUHi0aTvOWwbQn9HnSauG3mienZrmq3ajZsTTs+6CCdsRj DEJt+K2fMY54+/jkFBhUk8xCqo9DmjSl5Lsgcc/zFQWZsQ8bCj5WTUzex+pBMl6lQObLRkn IDdCZEr0Wt4Y4JrkO8IULxcueRe/POxKg1CtD9laQgy1MpwLHXXmv1RI6G35TBXRpMQXTqo YLwilFVW3X0WQxQ2Lo6ubffMZLkWuygz75zfDyUDyFlBxDO/Ww= X-QQ-BUSINESS-ORIGIN: 2 X-QQ-Originating-IP: cLeEAD6eMfGu+jvFoLXLOciuqYC0ZBDHiYiJ+e9tbMQ= X-Originating-IP: 113.104.17.92 X-QQ-STYLE: X-QQ-mid: t6sz4a-1t1715139288t2230888 From: "=?utf-8?B?6ZmI56GV?=" To: "=?utf-8?B?RGltaXRhciBEaW1pdHJvdg==?=" , "=?utf-8?B?5LiB5LmQ5Y2O?=" Cc: "=?utf-8?B?Z2NjLXBhdGNoZXM=?=" , "=?utf-8?B?6ZKf5bGF5ZOy?=" , "=?utf-8?B?5aSP5pmL?=" , "=?utf-8?B?dm1ha2Fyb3Y=?=" , "=?utf-8?B?cmljaGFyZC5zYW5kaWZvcmQ=?=" Subject: Re: [PATCH 2/4] df: Add DF_LIVE_SUBREG problem Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_663AF2D8_1DA231E0_2B13786E" Content-Transfer-Encoding: 8Bit Date: Wed, 8 May 2024 11:34:48 +0800 X-Priority: 3 Message-ID: X-QQ-MIME: TCMime 1.0 by Tencent X-Mailer: QQMail 2.x X-QQ-Mailer: QQMail 2.x References: <20240424100505.1301-1-lehua.ding@rivai.ai> <20240424100505.1301-3-lehua.ding@rivai.ai> In-Reply-To: X-QQ-ReplyHash: 1405148131 X-BIZMAIL-ID: 1404992790696803508 X-QQ-SENDSIZE: 520 Received: from qq.com (unknown [127.0.0.1]) by smtp.qq.com (ESMTP) with SMTP id ; Wed, 08 May 2024 11:34:50 +0800 (CST) Feedback-ID: t:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-1 X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00,GIT_PATCH_0,HTML_MESSAGE,HTML_NONELEMENT_30_40,KAM_DMARC_STATUS,MSGID_FROM_MTA_HEADER,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SCC_5_SHORT_WORD_LINES,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. ------=_NextPart_663AF2D8_1DA231E0_2B13786E Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgRGltaXRhcg0KDQoNCkkgc2VuZCBhIHBhdGNoIGp1c3Qgbm93LCBtb2Rp ZmllcyBhY2NvcmRpbmdseQ0KDQoNCnNvbWUgY29tbWVudHM6DQoNCg0KJmd0 O05pdDogU2hvdWxkIGhhdmUgdHdvIHNwYWNlcyBhZnRlciB0aGUgZG90LCBw ZXIgR05VIGNvZGluZyBzdHlsZS4mbmJzcDsgSSdkIHN1Z2dlc3QNCiZndDt0 byBydW4gdGhlIGNvbnRyaWIvY2hlY2tfR05VX3N0eWxlLnB5IHNjcmlwdCBv biB5b3VyIHBhdGNoZXMuDQpEbyB5b3UgbWVhbiAic3RhciIgYnkgImRvdCIs IGkuZS4gIi8qLS0tLSIgc2hvdWxkIGJlICIvKiAtLS0tIj8NCg0KDQomZ3Q7 VGhlc2UgbmFtZXMgc2VlbSBhIGJpdCB0b28gc2hvcnQgZm9yIGdsb2JhbCB2 YXJpYWJsZXMuJm5ic3A7IFBlcmhhcHMgdHVjaw0KJmd0O3RoZW0gaW4gYSBu YW1lc3BhY2U/DQomZ3Q7DQomZ3Q7QWxzbywgc2luY2UgdGhlc2UgbXVzdCBy ZW1haW4gZW1wdHksIHNob3VsZG4ndCB0aGV5IGJlIGRlY2xhcmVkIGFzIGNv bnN0Pw0KJmd0Ow0KJmd0O25hbWVzcGFjZSBkZiB7DQomZ3Q7Jm5ic3A7Jm5i c3A7IGNvbnN0IGJpdG1hcF9oZWFkIGVtcHR5X2JpdG1hcDsNCiZndDsmbmJz cDsmbmJzcDsgY29uc3Qgc3VicmVnc19saXZlIGVtcHR5X2xpdmU7DQomZ3Q7 fQ0KDQoNCg0KTWF5IGJlIGJldHRlciBpZiAibmFtZXNwYWNlIGRmIiBjb250 YWlucyBhbGwgREYgcmVsYXRlZCBjb2RlPyBhcyBhIG1pbm9yIG1vZGlmaWNh dGlvbiwgSSBhZGQgYSBwcmVmaXggImRmXyIgdG8gdGhlIHZhcmlhYmxlcy4N Ck1lYW53aGlsZSwgY29uc3Qgc2VlbXMgaW5hcHJvcHJpYXRlIGhlcmUsIHNp bmNlIGl0J3MgcmV0dXJuZWQgYXMgbm9ybWFsIHBvaW50ZXIgcmF0aGVyIHRo YW4gY29uc3QgcG9pbnRlciBpbiBzb21lIGZ1bnRpb25zLCANCg0KY2hhbmdl IHRvIGNvbnN0IHdvdWxkIGJyZWFrIHRoaXMgcmV0dXJuIHZhbHVlIHR5cGUg Y2hlY2ssIGFuZCBhIGNvbnN0X2Nhc3Qgd291bGQgbWFrZSB0aGUgY29uc3Qg bWVhbmxpbmdsZXNzLg0KDQoNCm1vcmUgZGV0YWlscyBzZWUgaW4gdGhlIHBh dGNoDQoNCg0KcmVnYXJkcw0KU2h1bw0KDQombmJzcDsNCiZuYnNwOw0KLS0t LS0tLS0tLS0tLS0tLS0tJm5ic3A7T3JpZ2luYWwmbmJzcDstLS0tLS0tLS0t LS0tLS0tLS0NCkZyb206ICZuYnNwOyJEaW1pdGFyJm5ic3A7RGltaXRyb3Yi PGRpbWl0YXJAZGludXguZXUmZ3Q7Ow0KRGF0ZTogJm5ic3A7RnJpLCBBcHIg MjYsIDIwMjQgMDQ6NTYgQU0NClRvOiAmbmJzcDsiTGVodWEgRGluZyI8bGVo dWEuZGluZ0ByaXZhaS5haSZndDs7IA0KQ2M6ICZuYnNwOyJnY2MtcGF0Y2hl cyI8Z2NjLXBhdGNoZXNAZ2NjLmdudS5vcmcmZ3Q7OyAianV6aGUuemhvbmci PGp1emhlLnpob25nQHJpdmFpLmFpJmd0OzsgInNodW8uY2hlbiI8c2h1by5j aGVuQHJpdmFpLmFpJmd0OzsgImppbi54aWEiPGppbi54aWFAcml2YWkuYWkm Z3Q7OyAidm1ha2Fyb3YiPHZtYWthcm92QHJlZGhhdC5jb20mZ3Q7OyAicmlj aGFyZC5zYW5kaWZvcmQiPHJpY2hhcmQuc2FuZGlmb3JkQGFybS5jb20mZ3Q7 OyANClN1YmplY3Q6ICZuYnNwO1JlOiBbUEFUQ0ggMi80XSBkZjogQWRkIERG X0xJVkVfU1VCUkVHIHByb2JsZW0NCg0KJm5ic3A7DQoNCk9uIFdlZCwgQXBy IDI0LCAyMDI0IGF0IDA2OjA1OjAzUE0gKzA4MDAsIExlaHVhIERpbmcgd3Jv dGU6DQomZ3Q7IFRoaXMgcGF0Y2ggYWRkIGEgbmV3IERGIHByb2JsZW0sIG5h bWVkIERGX0xJVkVfU1VCUkVHLiBUaGlzIHByb2JsZW0NCiZndDsgaXMgZXh0 ZW5kZWQgZnJvbSB0aGUgREZfTFIgcHJvYmxlbSBhbmQgc3VwcG9ydCB0cmFj ayB0aGUgc3VicmVnIGxpdmVuZXNzDQomZ3Q7IG9mIG11bHRpcmVnIHBzZXVk byBpZiB0aGVzZSBwc2V1ZG8gc2F0aXNmeSB0aGUgZm9sbG93aW5nIGNvbmRp dGlvbnM6DQomZ3Q7IA0KJmd0OyZuYnNwOyZuYnNwOyAxLiB0aGUgbW9kZSBz aXplIGdyZWF0ZXIgdGhhbiBpdCdzIFJFR01PREVfTkFUVVJBTF9TSVpFLg0K Jmd0OyZuYnNwOyZuYnNwOyAyLiB0aGUgcmVnIGlzIHVzZWQgaW4gaW5zbnMg dmlhIHN1YnJlZyBwYXR0ZXJuLg0KJmd0OyANCiZndDsgVGhlIG1haW4gbWV0 aG9kcyBhcmUgYXMgZm9sbG93czoNCiZndDsgDQomZ3Q7Jm5ic3A7Jm5ic3A7 IDEuIHNwbGl0IGJpdG1hcCBpbi9vdXQvZGVmL3VzZSBmaWxlZHMgdG8gZnVs bF9pbi9vdXQvZGVmL3VzZSBhbmQNCiZndDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgcGFydGlhbF9pbi9vdXQvZGVmL3VzZS4gSWYgYSBwc2V1 ZG8gbmVlZCB0byBiZSB0cmFja2VkIGl0J3Mgc3VicmVnDQomZ3Q7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGxpdmVuZXNzLCB0aGVuIGl0IGlz IHJlY29yZGVkIGluIHBhcnRpYWxfaW4vb3V0L2RlZi91c2UgZmlsZWRzLg0K Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBNZWFudGltZXMs IHRoZXJlIGFyZSByYW5nZV9pbi9vdXQvZGVmL3VzZSBmaWxlZHMgd2hpY2gg cmVjb3JkcyB0aGUgbGl2ZQ0KJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyByYW5nZSBvZiB0aGUgdHJhY2tlZCBwc2V1ZG8uDQomZ3Q7Jm5i c3A7Jm5ic3A7IDIuIGluIHRoZSBkZl9saXZlX3N1YnJlZ19maW5hbGl6ZSBm dW5jdGlvbiwgd2UgbW92ZSB0aGUgdHJhY2tlZCBwc2V1ZG8gZnJvbQ0KJmd0 OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB0aGUgcGFydGlhbF9p bi9vdXQvZGVmL3VzZSB0byBmdWxsX2luL291dC9kZWYvdXNlIGlmIHRoZSBw c2V1ZG8ncyBsaXZlDQomZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IHJhbmdlIGlzIGZ1bGwuDQoNCkhpIExlaHVhLA0KDQpJJ20gbm90IGZh bWlsaWFyIHdpdGggTFJBLCBzbyBteSBjb21tZW50cyBiZWxsb3cgY291bGQg YmUgdG90YWxseSBvZmYNCnBvaW50LiZuYnNwOyBQbGVhc2UgdHJlYXQgdGhl bSBhcyBtaWxkIHN1Z2dlc3Rpb25zLg0KDQomZ3Q7IA0KJmd0OyBnY2MvQ2hh bmdlTG9nOg0KJmd0OyANCiZndDsgCSogTWFrZWZpbGUuaW46IEFkZCBzdWJy ZWctbGl2ZS1yYW5nZSBvYmplY3QgZmlsZS4NCiZndDsgCSogZGYtcHJvYmxl bXMuY2MgKHN0cnVjdCBkZl9saXZlX3N1YnJlZ19wcm9ibGVtX2RhdGEpOiBQ cml2YXRlIHN0cnVjdA0KJmd0OyAJZm9yIERGX0xJVkVfU1VCUkVHIHByb2Js ZW0uDQomZ3Q7IAkoZGZfbGl2ZV9zdWJyZWdfZ2V0X2JiX2luZm8pOiBnZXR0 aW5nIGJiIHJlZ3MgaW4vb3V0IGRhdGEuDQomZ3Q7IAkoZ2V0X2xpdmVfc3Vi cmVnX2xvY2FsX2JiX2luZm8pOiBnZXR0aW5nIGJiIHJlZ3MgdXNlL2RlZiBk YXRhLg0KJmd0OyAJKG11bHRpcmVnX3ApOiBjaGVja2luZyBpcyB0aGUgcmVn bm8gYSBwc2V1ZG8gbXVsdGlyZWcuDQomZ3Q7IAkobmVlZF90cmFja19zdWJy ZWdfcCk6IGNoZWNraW5nIGlzIHRoZSByZWdubyBuZWVkIHRvIGJlIHRyYWNr ZWQuDQomZ3Q7IAkoaW5pdF9yYW5nZSk6IGdldHRpbmcgdGhlIHJhbmdlIG9m IHN1YnJlZyBydHguDQomZ3Q7IAkocmVtb3ZlX3N1YnJlZ19yYW5nZSk6IHJl bW92aW5nIHVzZSBkYXRhIGZvciB0aGUgcmVnL3N1YnJlZyBydHguDQomZ3Q7 IAkoYWRkX3N1YnJlZ19yYW5nZSk6IGFkZGluZyBkZWYvdXNlIGRhdGEgZm9y IHRoZSByZWcvc3VicmVnIHJ0eC4NCiZndDsgCShkZl9saXZlX3N1YnJlZ19m cmVlX2JiX2luZm8pOiBGcmVlIGJhc2ljIGJsb2NrIGRmIGRhdGEuDQomZ3Q7 IAkoZGZfbGl2ZV9zdWJyZWdfYWxsb2MpOiBBbGxvY2F0ZSBhbmQgaW5pdCBk ZiBkYXRhLg0KJmd0OyAJKGRmX2xpdmVfc3VicmVnX3Jlc2V0KTogUmVzZXQg dGhlIGxpdmUgaW4vb3V0IGRmIGRhdGEuDQomZ3Q7IAkoZGZfbGl2ZV9zdWJy ZWdfYmJfbG9jYWxfY29tcHV0ZSk6IENvbXB1dGUgYmFzaWMgYmxvY2sgZGYg ZGF0YS4NCiZndDsgCShkZl9saXZlX3N1YnJlZ19sb2NhbF9jb21wdXRlKTog Q29tcHV0ZSBhbGwgYmFzaWMgYmxvY2tzIGRmIGRhdGEuDQomZ3Q7IAkoZGZf bGl2ZV9zdWJyZWdfaW5pdCk6IEluaXQgdGhlIGluL291dCBkZiBkYXRhLg0K Jmd0OyAJKGRmX2xpdmVfc3VicmVnX2NoZWNrX3Jlc3VsdCk6IEFzc2VydCB0 aGUgZnVsbCBhbmQgcGFydGlhbCBkZiBkYXRhLg0KJmd0OyAJKGRmX2xpdmVf c3VicmVnX2NvbmZsdWVuY2VfMCk6IENvbmZsdWVuY2UgZnVuY3Rpb24gZm9y IGluZmluaXRlIGxvb3BzLg0KJmd0OyAJKGRmX2xpdmVfc3VicmVnX2NvbmZs dWVuY2Vfbik6IENvbmZsdWVuY2UgZnVuY3Rpb24gZm9yIG5vcm1hbCBlZGdl Lg0KJmd0OyAJKGRmX2xpdmVfc3VicmVnX3RyYW5zZmVyX2Z1bmN0aW9uKTog VHJhbnNmZXIgZnVuY3Rpb24uDQomZ3Q7IAkoZGZfbGl2ZV9zdWJyZWdfZmlu YWxpemUpOiBGaW5hbGl6ZSB0aGUgYWxsX2luL2FsbF9vdXQgZGYgZGF0YS4N CiZndDsgCShkZl9saXZlX3N1YnJlZ19mcmVlKTogRnJlZSB0aGUgZGYgZGF0 YS4NCiZndDsgCShkZl9saXZlX3N1YnJlZ190b3BfZHVtcCk6IER1bXAgdG9w IGRmIGRhdGEuDQomZ3Q7IAkoZGZfbGl2ZV9zdWJyZWdfYm90dG9tX2R1bXAp OiBEdW1wIGJvdHRvbSBkZiBkYXRhLg0KJmd0OyAJKGRmX2xpdmVfc3VicmVn X2FkZF9wcm9ibGVtKTogQWRkIHRoZSBERl9MSVZFX1NVQlJFRyBwcm9ibGVt Lg0KJmd0OyAJKiBkZi5oIChlbnVtIGRmX3Byb2JsZW1faWQpOiBBZGQgREZf TElWRV9TVUJSRUcuDQomZ3Q7IAkoY2xhc3Mgc3VicmVnc19saXZlKTogU2lt cGxlIGRlY2FsYXJlLg0KJmd0OyAJKGNsYXNzIGRmX2xpdmVfc3VicmVnX2xv Y2FsX2JiX2luZm8pOiBOZXcgY2xhc3MgZm9yIGZ1bGwvcGFydGlhbCBkZWYv dXNlDQomZ3Q7IAlkZiBkYXRhLg0KJmd0OyAJKGNsYXNzIGRmX2xpdmVfc3Vi cmVnX2JiX2luZm8pOiBOZXcgY2xhc3MgZm9yIGZ1bGwvcGFydGlhbCBpbi9v dXQNCiZndDsgCWRmIGRhdGEuDQomZ3Q7IAkoZGZfbGl2ZV9zdWJyZWcpOiBn ZXR0aW5nIHRoZSBkZl9saXZlX3N1YnJlZyBkYXRhLg0KJmd0OyAJKGRmX2xp dmVfc3VicmVnX2FkZF9wcm9ibGVtKTogRXhwb3J0ZWQuDQomZ3Q7IAkoZGZf bGl2ZV9zdWJyZWdfZmluYWxpemUpOiBEaXR0by4NCiZndDsgCShkZl9saXZl X3N1YnJlZ19jaGVja19yZXN1bHQpOiBEaXR0by4NCiZndDsgCShtdWx0aXJl Z19wKTogRGl0dG8uDQomZ3Q7IAkoaW5pdF9yYW5nZSk6IERpdHRvLg0KJmd0 OyAJKGFkZF9zdWJyZWdfcmFuZ2UpOiBEaXR0by4NCiZndDsgCShyZW1vdmVf c3VicmVnX3JhbmdlKTogRGl0dG8uDQomZ3Q7IAkoZGZfZ2V0X3N1YnJlZ19s aXZlX2luKTogQWNjZXNzb3IgdGhlIGFsbF9pbiBkZiBkYXRhLg0KJmd0OyAJ KGRmX2dldF9zdWJyZWdfbGl2ZV9vdXQpOiBBY2Nlc3NvciB0aGUgYWxsX291 dCBkZiBkYXRhLg0KJmd0OyAJKGRmX2dldF9zdWJyZWdfbGl2ZV9mdWxsX2lu KTogQWNjZXNzb3IgdGhlIGZ1bGxfaW4gZGYgZGF0YS4NCiZndDsgCShkZl9n ZXRfc3VicmVnX2xpdmVfZnVsbF9vdXQpOiBBY2Nlc3NvciB0aGUgZnVsbF9v dXQgZGYgZGF0YS4NCiZndDsgCShkZl9nZXRfc3VicmVnX2xpdmVfcGFydGlh bF9pbik6IEFjY2Vzc29yIHRoZSBwYXJ0aWFsX2luIGRmIGRhdGEuDQomZ3Q7 IAkoZGZfZ2V0X3N1YnJlZ19saXZlX3BhcnRpYWxfb3V0KTogQWNjZXNzb3Ig dGhlIHBhcnRpYWxfb3V0IGRmIGRhdGEuDQomZ3Q7IAkoZGZfZ2V0X3N1YnJl Z19saXZlX3JhbmdlX2luKTogQWNjZXNzb3IgdGhlIHJhbmdlX2luIGRmIGRh dGEuDQomZ3Q7IAkoZGZfZ2V0X3N1YnJlZ19saXZlX3JhbmdlX291dCk6IEFj Y2Vzc29yIHRoZSByYW5nZV9vdXQgZGYgZGF0YS4NCiZndDsgCSogcmVncy5o IChnZXRfbmJsb2Nrcyk6IEdldCB0aGUgYmxvY2tzIG9mIG1vZGUuDQomZ3Q7 IAkqIHNiaXRtYXAuY2MgKGJpdG1hcF9mdWxsX3ApOiBzYml0bWFwIHByZWRp Y2F0b3IuDQomZ3Q7IAkoYml0bWFwX3NhbWVfcCk6IHNiaXRtYXAgcHJlZGlj YXRvci4NCiZndDsgCSh0ZXN0X2Z1bGwpOiB0ZXN0IGJpdG1hcF9mdWxsX3Au DQomZ3Q7IAkodGVzdF9zYW1lKTogdGVzdCBiaXRtYXBfc2FtZV9wLg0KJmd0 OyAJKHNiaXRtYXBfY2NfdGVzdHMpOiBBZGQgdGVzdF9mdWxsIGFuZCB0ZXN0 X3NhbWUuDQomZ3Q7IAkqIHNiaXRtYXAuaCAoYml0bWFwX2Z1bGxfcCk6IEV4 cG9ydGVkLg0KJmd0OyAJKGJpdG1hcF9zYW1lX3ApOiBEaXR0by4NCiZndDsg CSogdGltZXZhci5kZWYgKFRWX0RGX0xJVkVfU1VCUkVHKTogYWRkIERGX0xJ VkVfU1VCUkVHIHRpbWV2YXIuDQomZ3Q7IAkqIHN1YnJlZy1saXZlLXJhbmdl LmNjOiBOZXcgZmlsZS4NCiZndDsgCSogc3VicmVnLWxpdmUtcmFuZ2UuaDog TmV3IGZpbGUuDQomZ3Q7IC0tLQ0KJmd0OyZuYnNwOyBnY2MvTWFrZWZpbGUu aW4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgfCZuYnNwOyZuYnNwOyAxICsNCiZndDsmbmJzcDsgZ2Nj L2RmLXByb2JsZW1zLmNjJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IHwgODU1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrLQ0KJmd0OyZuYnNwOyBnY2MvZGYuaCZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8IDE1NSArKysr KysrDQomZ3Q7Jm5ic3A7IGdjYy9yZWdzLmgmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyZuYnNwOyA1ICsNCiZndDsm bmJzcDsgZ2NjL3NiaXRtYXAuY2MmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyA5 OCArKysrKw0KJmd0OyZuYnNwOyBnY2Mvc2JpdG1hcC5oJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7IHwmbmJzcDsmbmJzcDsgMiArDQomZ3Q7Jm5ic3A7IGdjYy9z dWJyZWctbGl2ZS1yYW5nZS5jYyB8Jm5ic3A7IDUzICsrKw0KJmd0OyZuYnNw OyBnY2Mvc3VicmVnLWxpdmUtcmFuZ2UuaCZuYnNwOyB8IDIwNiArKysrKysr KysrDQomZ3Q7Jm5ic3A7IGdjYy90aW1ldmFyLmRlZiZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5i c3A7Jm5ic3A7IDEgKw0KJmd0OyZuYnNwOyA5IGZpbGVzIGNoYW5nZWQsIDEz NzUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KJmd0OyZuYnNwOyBj cmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3N1YnJlZy1saXZlLXJhbmdlLmNjDQom Z3Q7Jm5ic3A7IGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2Mvc3VicmVnLWxpdmUt cmFuZ2UuaA0KJmd0OyANCiZndDsgZGlmZiAtLWdpdCBhL2djYy9NYWtlZmls ZS5pbiBiL2djYy9NYWtlZmlsZS5pbg0KJmd0OyBpbmRleCBhNzQ3NjFiN2Fi My4uZTE5NTIzOGY2YWIgMTAwNjQ0DQomZ3Q7IC0tLSBhL2djYy9NYWtlZmls ZS5pbg0KJmd0OyArKysgYi9nY2MvTWFrZWZpbGUuaW4NCiZndDsgQEAgLTE2 ODQsNiArMTY4NCw3IEBAIE9CSlMgPSBcDQomZ3Q7Jm5ic3A7IAlzdG9yZS1t b3Rpb24ubyBcDQomZ3Q7Jm5ic3A7IAlzdHJlYW1lci1ob29rcy5vIFwNCiZn dDsmbmJzcDsgCXN0cmluZ3Bvb2wubyBcDQomZ3Q7ICsJc3VicmVnLWxpdmUt cmFuZ2UubyBcDQomZ3Q7Jm5ic3A7IAlzdWJzdHJpbmctbG9jYXRpb25zLm8g XA0KJmd0OyZuYnNwOyAJdGFyZ2V0LWdsb2JhbHMubyBcDQomZ3Q7Jm5ic3A7 IAl0YXJnaG9va3MubyBcDQomZ3Q7IGRpZmYgLS1naXQgYS9nY2MvZGYtcHJv YmxlbXMuY2MgYi9nY2MvZGYtcHJvYmxlbXMuY2MNCiZndDsgaW5kZXggODhl ZTBkZDY3ZmMuLjkzYzViNTIxNDZjIDEwMDY0NA0KJmd0OyAtLS0gYS9nY2Mv ZGYtcHJvYmxlbXMuY2MNCiZndDsgKysrIGIvZ2NjL2RmLXByb2JsZW1zLmNj DQomZ3Q7IEBAIC0yOCw2ICsyOCw3IEBAIGFsb25nIHdpdGggR0NDOyBzZWUg dGhlIGZpbGUgQ09QWUlORzMuJm5ic3A7IElmIG5vdCBzZWUNCiZndDsmbmJz cDsgI2luY2x1ZGUgInRhcmdldC5oIg0KJmd0OyZuYnNwOyAjaW5jbHVkZSAi cnRsLmgiDQomZ3Q7Jm5ic3A7ICNpbmNsdWRlICJkZi5oIg0KJmd0OyArI2lu Y2x1ZGUgInN1YnJlZy1saXZlLXJhbmdlLmgiDQomZ3Q7Jm5ic3A7ICNpbmNs dWRlICJtZW1tb2RlbC5oIg0KJmd0OyZuYnNwOyAjaW5jbHVkZSAidG1fcC5o Ig0KJmd0OyZuYnNwOyAjaW5jbHVkZSAiaW5zbi1jb25maWcuaCINCiZndDsg QEAgLTEzNDQsOCArMTM0NSw4NjAgQEAgZGZfbHJfdmVyaWZ5X3RyYW5zZmVy X2Z1bmN0aW9ucyAodm9pZCkNCiZndDsmbmJzcDsmbmJzcDsmbmJzcDsgYml0 bWFwX2NsZWFyICgmYW1wO2FsbF9ibG9ja3MpOw0KJmd0OyZuYnNwOyB9DQom Z3Q7Jm5ic3A7IA0KJmd0OyArLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tDQomZ3Q7ICsmbmJzcDsmbmJzcDsgUkVHSVNURVIgQU5EIFNVQlJF R1MgTElWRVMNCiZndDsgKyZuYnNwOyZuYnNwOyBMaWtlIERGX0xSLCBidXQg aW5jbHVkZSB0cmFja2luZyBzdWJyZWcgbGl2ZW5lc3MuIEN1cnJlbnRseSB1 c2VkIHRvIHByb3ZpZGUNCk5pdDogU2hvdWxkIGhhdmUgdHdvIHNwYWNlcyBh ZnRlciB0aGUgZG90LCBwZXIgR05VIGNvZGluZyBzdHlsZS4mbmJzcDsgSSdk IHN1Z2dlc3QNCnRvIHJ1biB0aGUgY29udHJpYi9jaGVja19HTlVfc3R5bGUu cHkgc2NyaXB0IG9uIHlvdXIgcGF0Y2hlcy4NCg0KJmd0OyArJm5ic3A7Jm5i c3A7IHN1YnJlZyBsaXZlbmVzcyByZWxhdGVkIGluZm9ybWF0aW9uIHRvIHRo ZSByZWdpc3RlciBhbGxvY2F0b3IuIFRoZSBzdWJyZWcNCiZndDsgKyZuYnNw OyZuYnNwOyBpbmZvcm1hdGlvbiBpcyBjdXJyZW50bHkgdHJhY2tlZCBmb3Ig cmVnaXN0ZXJzIHRoYXQgc2F0aXNmeSB0aGUgZm9sbG93aW5nDQomZ3Q7ICsm bmJzcDsmbmJzcDsgY29uZGl0aW9uczoNCiZndDsgKyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyAxLiBSRUcgaXMgYSBwc2V1ZG8gcmVnaXN0ZXINCiZndDsg KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAyLiBNT0RFX1NJWkUgJmd0OyBV TklUX1NJWkUNCiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAzLiBN T0RFX1NJWkUgaXMgYSBtdWx0aXBsZSBvZiBVTklUX1NJWkUNCiZndDsgKyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyA0LiBSRUcgaXMgdXNlZCB2aWEgc3Vi cmVnIHBhdHRlcm4NCiZndDsgKyZuYnNwOyZuYnNwOyBBc3N1bWluZzogTU9E RSA9IHRoZSBtYWNoaW5lIG1vZGUgb2YgdGhlIFJFRw0KJmd0OyArCSZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyBNT0RFX1NJWkUgPSBHRVRfTU9ERV9TSVpF IChNT0RFKQ0KJmd0OyArCSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBVTklU X1NJWkUgPSBSRUdNT0RFX05BVFVSQUxfU0laRSAoTU9ERSkNCiZndDsgKyZu YnNwOyZuYnNwOyBDb25kaXRpb24gMyBpcyBjdXJyZW50bHkgc3RyaWN0LCBt YXliZSBpdCBjYW4gYmUgcmVtb3ZlZCBpbiB0aGUgZnV0dXJlLCBidXQNCiZn dDsgKyZuYnNwOyZuYnNwOyBmb3Igbm93IGl0IGlzIHN1ZmZpY2llbnQuDQom Z3Q7ICsmbmJzcDsmbmJzcDsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSovDQomZ3Q7ICsNCiZndDsgKy8qIFRoZXNlIHR3byBlbXB0eSBkYXRh IGFyZSB1c2VkIGFzIGRlZmF1bHQgZGF0YSBpbiBjYXNlIHRoZSB1c2VyIGRv ZXMgbm90IHR1cm4NCiZndDsgKyAqIG9uIHRoZSB0cmFjay1zdWJyZWctbGl2 ZW5lc3MgZmVhdHVyZS4mbmJzcDsgKi8NCiZndDsgK2JpdG1hcF9oZWFkIGVt cHR5X2JpdG1hcDsNCiZndDsgK3N1YnJlZ3NfbGl2ZSBlbXB0eV9saXZlOw0K VGhlc2UgbmFtZXMgc2VlbSBhIGJpdCB0b28gc2hvcnQgZm9yIGdsb2JhbCB2 YXJpYWJsZXMuJm5ic3A7IFBlcmhhcHMgdHVjaw0KdGhlbSBpbiBhIG5hbWVz cGFjZT8NCg0KQWxzbywgc2luY2UgdGhlc2UgbXVzdCByZW1haW4gZW1wdHks IHNob3VsZG4ndCB0aGV5IGJlIGRlY2xhcmVkIGFzIGNvbnN0Pw0KDQpuYW1l c3BhY2UgZGYgew0KJm5ic3A7Jm5ic3A7IGNvbnN0IGJpdG1hcF9oZWFkIGVt cHR5X2JpdG1hcDsNCiZuYnNwOyZuYnNwOyBjb25zdCBzdWJyZWdzX2xpdmUg ZW1wdHlfbGl2ZTsNCn0NCg0KDQomZ3Q7ICsNCiZndDsgKy8qIFByaXZhdGUg ZGF0YSBmb3IgbGl2ZV9zdWJyZWcgcHJvYmxlbS4mbmJzcDsgKi8NCiZndDsg K3N0cnVjdCBkZl9saXZlX3N1YnJlZ19wcm9ibGVtX2RhdGENCiZndDsgK3sN CiZndDsgKyZuYnNwOyAvKiBSZWNvcmQgcmVnaXN0ZXJzIHRoYXQgbmVlZCB0 byB0cmFjayBzdWJyZWcgbGl2ZW5lc3MuJm5ic3A7ICovDQomZ3Q7ICsmbmJz cDsgYml0bWFwX2hlYWQgdHJhY2tlZF9yZWdzOw0KJmd0OyArJm5ic3A7IC8q IEFuIG9ic3RhY2sgZm9yIHRoZSBiaXRtYXBzIHdlIG5lZWQgZm9yIHRoaXMg cHJvYmxlbS4mbmJzcDsgKi8NCiZndDsgKyZuYnNwOyBiaXRtYXBfb2JzdGFj ayBsaXZlX3N1YnJlZ19iaXRtYXBzOw0KJmd0OyArfTsNCiZndDsgKw0KJmd0 OyArLyogSGVscGVyIGZ1bmN0aW9ucyAqLw0KJmd0OyArDQomZ3Q7ICtzdGF0 aWMgZGZfbGl2ZV9zdWJyZWdfYmJfaW5mbyAqDQomZ3Q7ICtkZl9saXZlX3N1 YnJlZ19nZXRfYmJfaW5mbyAodW5zaWduZWQgaW50IGluZGV4KQ0KJmd0OyAr ew0KJmd0OyArJm5ic3A7IGlmIChpbmRleCA8IGRmX2xpdmVfc3VicmVnLSZn dDtibG9ja19pbmZvX3NpemUpDQomZ3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsg cmV0dXJuICZhbXA7KA0KJmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IChjbGFzcyBkZl9saXZlX3N1YnJlZ19iYl9pbmZvICopIGRmX2xp dmVfc3VicmVnLSZndDtibG9ja19pbmZvKVtpbmRleF07DQpQbGVhc2UgY29u c2lkZXIgdXNpbmcgQysrIGluc3RlYWQ6DQombmJzcDsmbmJzcDsgcmV0dXJu ICZhbXA7c3RhdGljX2Nhc3Q8ZGZfbGl2ZV9zdWJyZWdfYmJfaW5mbyAqJmd0 OyhkZl9saXZlX3N1YnJlZy0mZ3Q7YmxvY2tfaW5mbylbaW5kZXhdOw0KDQom Z3Q7ICsmbmJzcDsgZWxzZQ0KJmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7IHJl dHVybiBOVUxMOw0KVXNlIG51bGxwdHIgaW5zdGVhZD8NCg0KJmd0OyArfQ0K Jmd0OyArDQomZ3Q7ICtzdGF0aWMgZGZfbGl2ZV9zdWJyZWdfbG9jYWxfYmJf aW5mbyAqDQomZ3Q7ICtnZXRfbGl2ZV9zdWJyZWdfbG9jYWxfYmJfaW5mbyAo dW5zaWduZWQgaW50IGJiX2luZGV4KQ0KJmd0OyArew0KJmd0OyArJm5ic3A7 IHJldHVybiBkZl9saXZlX3N1YnJlZ19nZXRfYmJfaW5mbyAoYmJfaW5kZXgp Ow0KJmd0OyArfQ0KJmd0OyArDQomZ3Q7ICsvKiBSZXR1cm4gdHJ1ZSBpZiBy ZWdubyBpcyBhIG11bHRpcmVnLiZuYnNwOyAqLw0KJmd0OyArYm9vbA0KJmd0 OyArbXVsdGlyZWdfcCAoaW50IHJlZ25vKQ0KJmd0OyArew0KJmd0OyArJm5i c3A7IGlmIChyZWdubyA8IEZJUlNUX1BTRVVET19SRUdJU1RFUikNCiZndDsg KyZuYnNwOyZuYnNwOyZuYnNwOyByZXR1cm4gZmFsc2U7DQomZ3Q7ICsmbmJz cDsgcnR4IHJlZ25vX3J0eCA9IHJlZ25vX3JlZ19ydHhbcmVnbm9dOw0KJmd0 OyArJm5ic3A7IG1hY2hpbmVfbW9kZSByZWdfbW9kZSA9IEdFVF9NT0RFIChy ZWdub19ydHgpOw0KJmd0OyArJm5ic3A7IHBvbHlfaW50NjQgdG90YWxfc2l6 ZSA9IEdFVF9NT0RFX1NJWkUgKHJlZ19tb2RlKTsNCiZndDsgKyZuYnNwOyBw b2x5X2ludDY0IG5hdHVyYWxfc2l6ZSA9IFJFR01PREVfTkFUVVJBTF9TSVpF IChyZWdfbW9kZSk7DQomZ3Q7ICsmbmJzcDsgcmV0dXJuIG1heWJlX2d0ICh0 b3RhbF9zaXplLCBuYXR1cmFsX3NpemUpDQomZ3Q7ICsJICZhbXA7JmFtcDsg bXVsdGlwbGVfcCAodG90YWxfc2l6ZSwgbmF0dXJhbF9zaXplKTsNCiZndDsg K30NCiZndDsgKw0KJmd0OyArLyogUmV0dXJuIHRydWUgaWYgdGhlIFJFR05P IG5lZWQgYmUgdHJhY2sgd2l0aCBzdWJyZWcgbGl2ZW5lc3MuJm5ic3A7ICov DQomZ3Q7ICsNCiZndDsgK3N0YXRpYyBib29sDQomZ3Q7ICtuZWVkX3RyYWNr X3N1YnJlZ19wICh1bnNpZ25lZCByZWdubykNCiZndDsgK3sNCiZndDsgKyZu YnNwOyBzdHJ1Y3QgZGZfbGl2ZV9zdWJyZWdfcHJvYmxlbV9kYXRhICpwcm9i bGVtX2RhdGENCiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyA9IChzdHJ1Y3Qg ZGZfbGl2ZV9zdWJyZWdfcHJvYmxlbV9kYXRhICopIGRmX2xpdmVfc3VicmVn LSZndDtwcm9ibGVtX2RhdGE7DQoNCkhlcmUgYXV0byBjb3VsZCBiZSB1c2Vk Og0KDQombmJzcDsmbmJzcDsmbmJzcDsgYXV0byBwcm9ibGVtX2RhdGEgPSAo c3RydWN0IGRmX2xpdmVfc3VicmVnX3Byb2JsZW1fZGF0YSAqKSBkZl9saXZl X3N1YnJlZy0mZ3Q7cHJvYmxlbV9kYXRhOw0KDQomZ3Q7ICsmbmJzcDsgcmV0 dXJuIGJpdG1hcF9iaXRfcCAoJmFtcDtwcm9ibGVtX2RhdGEtJmd0O3RyYWNr ZWRfcmVncywgcmVnbm8pOw0KJmd0OyArfQ0KJmd0OyArDQomZ3Q7ICsvKiBS ZXR1cm4gdGhlIHN1YnJlZ19yYW5nZSBvZiBSRUYuJm5ic3A7ICovDQpJcyB0 aGlzIGNvbW1lbnQgdmFsaWQ/IEkgc2VlIG5laXRoZXIgYSBSRUYgcGFyYW1l dGVyLCBub3IgYSByZXR1cm5lZA0KdmFsdWUuJm5ic3A7IERpZCB5b3UgcGVy aGFwcyBtZWFuOg0KJm5ic3A7IC8qIEZpbGwgUkFOR0Ugd2l0aCB0aGUgc3Vi cmVnIHJhbmdlIGZvciBPUCBpbiBSRUdNT0RFX05BVFVSQUxfU0laRQ0KJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGdyYW51bGFyaXR5LiZuYnNwOyAqLw0K DQomZ3Q7ICt2b2lkDQomZ3Q7ICtpbml0X3JhbmdlIChydHggb3AsIHNiaXRt YXAgcmFuZ2UpDQomZ3Q7ICt7DQomZ3Q7ICsmbmJzcDsgcnR4IHJlZyA9IFNV QlJFR19QIChvcCkgPyBTVUJSRUdfUkVHIChvcCkgOiBvcDsNCiZndDsgKyZu YnNwOyBtYWNoaW5lX21vZGUgcmVnX21vZGUgPSBHRVRfTU9ERSAocmVnKTsN CiZndDsgKw0KJmd0OyArJm5ic3A7IGlmICghcmVhZF9tb2RpZnlfc3VicmVn X3AgKG9wKSkNCiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyB7DQomZ3Q7ICsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgYml0bWFwX3NldF9yYW5n ZSAocmFuZ2UsIDAsIGdldF9uYmxvY2tzIChyZWdfbW9kZSkpOw0KJmd0OyAr Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVybjsNCiZndDsg KyZuYnNwOyZuYnNwOyZuYnNwOyB9DQomZ3Q7ICsNCiZndDsgKyZuYnNwOyBy dHggc3VicmVnID0gb3A7DQomZ3Q7ICsmbmJzcDsgbWFjaGluZV9tb2RlIHN1 YnJlZ19tb2RlID0gR0VUX01PREUgKHN1YnJlZyk7DQomZ3Q7ICsmbmJzcDsg cG9seV9pbnQ2NCBvZmZzZXQgPSBTVUJSRUdfQllURSAoc3VicmVnKTsNCiZn dDsgKyZuYnNwOyBpbnQgbmJsb2NrcyA9IGdldF9uYmxvY2tzIChyZWdfbW9k ZSk7DQomZ3Q7ICsmbmJzcDsgcG9seV9pbnQ2NCB1bml0X3NpemUgPSBSRUdN T0RFX05BVFVSQUxfU0laRSAocmVnX21vZGUpOw0KJmd0OyArJm5ic3A7IHBv bHlfaW50NjQgc3VicmVnX3NpemUgPSBHRVRfTU9ERV9TSVpFIChzdWJyZWdf bW9kZSk7DQomZ3Q7ICsmbmJzcDsgcG9seV9pbnQ2NCBsZWZ0ID0gb2Zmc2V0 ICsgc3VicmVnX3NpemU7DQomZ3Q7ICsNCiZndDsgKyZuYnNwOyBpbnQgc3Vi cmVnX3N0YXJ0ID0gLTE7DQomZ3Q7ICsmbmJzcDsgaW50IHN1YnJlZ19uYmxv Y2tzID0gLTE7DQomZ3Q7ICsmbmJzcDsgZm9yIChpbnQgaSA9IDA7IGkgPCBu YmxvY2tzOyBpICs9IDEpDQomZ3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsgew0K Jmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHBvbHlfaW50 NjQgcmlnaHQgPSB1bml0X3NpemUgKiAoaSArIDEpOw0KJmd0OyArJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmIChzdWJyZWdfc3RhcnQgPCAw ICZhbXA7JmFtcDsgbWF5YmVfbHQgKG9mZnNldCwgcmlnaHQpKQ0KJmd0OyAr CXN1YnJlZ19zdGFydCA9IGk7DQomZ3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgaWYgKHN1YnJlZ19uYmxvY2tzIDwgMCAmYW1wOyZhbXA7 IG1heWJlX2xlIChsZWZ0LCByaWdodCkpDQomZ3Q7ICsJew0KJmd0OyArCSZu YnNwOyBzdWJyZWdfbmJsb2NrcyA9IGkgKyAxIC0gc3VicmVnX3N0YXJ0Ow0K Jmd0OyArCSZuYnNwOyBicmVhazsNCiZndDsgKwl9DQomZ3Q7ICsmbmJzcDsm bmJzcDsmbmJzcDsgfQ0KJmd0OyArJm5ic3A7IGdjY19hc3NlcnQgKHN1YnJl Z19zdGFydCAmZ3Q7PSAwICZhbXA7JmFtcDsgc3VicmVnX25ibG9ja3MgJmd0 OyAwKTsNCiZndDsgKw0KJmd0OyArJm5ic3A7IGJpdG1hcF9zZXRfcmFuZ2Ug KHJhbmdlLCBzdWJyZWdfc3RhcnQsIHN1YnJlZ19uYmxvY2tzKTsNCiZndDsg K30NCiZndDsgKw0KJmd0OyArLyogUmVtb3ZlIFJBTkdFIGZyb20gQkJfSU5G TydzIHVzZSBkYXRhLiZuYnNwOyAqLw0KJmd0OyArdm9pZA0KJmd0OyArcmVt b3ZlX3N1YnJlZ19yYW5nZSAoZGZfbGl2ZV9zdWJyZWdfbG9jYWxfYmJfaW5m byAqYmJfaW5mbywgdW5zaWduZWQgaW50IHJlZ25vLA0KJmd0OyArCQkmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgY29uc3Rfc2JpdG1hcCByYW5nZSkNCiZn dDsgK3sNCiZndDsgKyZuYnNwOyBiaXRtYXAgcGFydGlhbCA9ICZhbXA7YmJf aW5mby0mZ3Q7cGFydGlhbF91c2U7DQomZ3Q7ICsNCiZndDsgKyZuYnNwOyBi Yl9pbmZvLSZndDtyYW5nZV91c2UtJmd0O3JlbW92ZV9yYW5nZSAocmVnbm8s IHJhbmdlKTsNCiZndDsgKyZuYnNwOyBpZiAoYmJfaW5mby0mZ3Q7cmFuZ2Vf dXNlLSZndDtlbXB0eV9wIChyZWdubykpDQomZ3Q7ICsmbmJzcDsmbmJzcDsm bmJzcDsgYml0bWFwX2NsZWFyX2JpdCAocGFydGlhbCwgcmVnbm8pOw0KJmd0 OyArfQ0KJmd0OyArDQomZ3Q7ICsvKiBSZW1vdmUgUkFOR0Ugb2YgUkVGIGZy b20gQkJfSU5GTydzIHVzZSBkYXRhLiZuYnNwOyAqLw0KJmd0OyArc3RhdGlj IHZvaWQNCiZndDsgK3JlbW92ZV9zdWJyZWdfcmFuZ2UgKGRmX2xpdmVfc3Vi cmVnX2xvY2FsX2JiX2luZm8gKmJiX2luZm8sIGRmX3JlZiByZWYpDQomZ3Q7 ICt7DQomZ3Q7ICsmbmJzcDsgdW5zaWduZWQgaW50IHJlZ25vID0gREZfUkVG X1JFR05PIChyZWYpOw0KJmd0OyArJm5ic3A7IG1hY2hpbmVfbW9kZSByZWdf bW9kZSA9IEdFVF9NT0RFIChERl9SRUZfUkVBTF9SRUcgKHJlZikpOw0KJmd0 OyArDQomZ3Q7ICsmbmJzcDsgaWYgKG5lZWRfdHJhY2tfc3VicmVnX3AgKHJl Z25vKSkNCiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyB7DQomZ3Q7ICsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgYXV0b19zYml0bWFwIHJhbmdl IChnZXRfbmJsb2NrcyAocmVnX21vZGUpKTsNCiZndDsgKyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyBpbml0X3JhbmdlIChERl9SRUZfUkVHIChy ZWYpLCByYW5nZSk7DQomZ3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgcmVtb3ZlX3N1YnJlZ19yYW5nZSAoYmJfaW5mbywgcmVnbm8sIHJh bmdlKTsNCiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyB9DQomZ3Q7ICsmbmJz cDsgZWxzZQ0KJmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7IHsNCiZndDsgKyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBiaXRtYXBfY2xlYXJfYml0 ICgmYW1wO2JiX2luZm8tJmd0O2Z1bGxfdXNlLCByZWdubyk7DQomZ3Q7ICsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZ2NjX2Fzc2VydCAoIWJp dG1hcF9iaXRfcCAoJmFtcDtiYl9pbmZvLSZndDtwYXJ0aWFsX3VzZSwgcmVn bm8pKTsNCiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBn Y2NfYXNzZXJ0ICghYml0bWFwX2JpdF9wICgmYW1wO2JiX2luZm8tJmd0O3Bh cnRpYWxfZGVmLCByZWdubykpOw0KJmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7 IH0NCiZndDsgK30NCiZndDsgKw0KJmd0OyArLyogYWRkIFJBTkdFIHRvIEJC X0lORk8ncyBkZWYvdXNlLiBJZiBpc19kZWYgaXMgdHJ1ZSwgbWVhbnMgZm9y IEJCX0lORk8ncyBkZWYsDQomZ3Q7ICsmbmJzcDsmbmJzcDsgb3RoZXJ3aXNl IGZvciBCQl9JTkZPJ3MgdXNlLiZuYnNwOyAqLw0KJmd0OyArdm9pZA0KJmd0 OyArYWRkX3N1YnJlZ19yYW5nZSAoZGZfbGl2ZV9zdWJyZWdfbG9jYWxfYmJf aW5mbyAqYmJfaW5mbywgdW5zaWduZWQgaW50IHJlZ25vLA0KJmd0OyArCQkm bmJzcDsgY29uc3Rfc2JpdG1hcCByYW5nZSwgYm9vbCBpc19kZWYpDQpXb3Vs ZCBpdCBiZSBtb3JlIGNsZWFyIHRvIHNwbGl0IGludG8gdHdvIHNlcGFyYXRl IGZ1bmN0aW9ucw0KaW5zdGVhZCBvZiB1c2luZyBhIGJvb2xlYW4gZmxhZz8g RS5nLjoNCiZuYnNwOyBhZGRfc3VicmVnX3JhbmdlX3RvX2RlZiAoZGZfbGl2 ZV9zdWJyZWdfbG9jYWxfYmJfaW5mbyAqYmJfaW5mbywgdW5zaWduZWQgaW50 IHJlZ25vLA0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IGNvbnN0X3NiaXRtYXAgcmFuZ2UpDQombmJzcDsgYWRkX3N1YnJlZ19y YW5nZV90b191c2UgKGRmX2xpdmVfc3VicmVnX2xvY2FsX2JiX2luZm8gKmJi X2luZm8sIHVuc2lnbmVkIGludCByZWdubywNCiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBjb25zdF9zYml0bWFwIHJhbmdlKQ0K DQomZ3Q7ICt7DQomZ3Q7ICsmbmJzcDsgYml0bWFwIHBhcnRpYWwgPSBpc19k ZWYgPyAmYW1wO2JiX2luZm8tJmd0O3BhcnRpYWxfZGVmIDogJmFtcDtiYl9p bmZvLSZndDtwYXJ0aWFsX3VzZTsNCiZndDsgKyZuYnNwOyBzdWJyZWdzX2xp dmUgKnJhbmdlX2xpdmUgPSBpc19kZWYgPyBiYl9pbmZvLSZndDtyYW5nZV9k ZWYgOiBiYl9pbmZvLSZndDtyYW5nZV91c2U7DQomZ3Q7ICsNCiZndDsgKyZu YnNwOyBiaXRtYXBfc2V0X2JpdCAocGFydGlhbCwgcmVnbm8pOw0KJmd0OyAr Jm5ic3A7IHJhbmdlX2xpdmUtJmd0O2FkZF9yYW5nZSAocmVnbm8sIHJhbmdl KTsNCiZndDsgK30NCiZndDsgKw0KJmd0OyArLyogYWRkIFJBTkdFIG9mIFJF RiB0byBCQl9JTkZPIGRlZi91c2UuIElmIGlzX2RlZiBpcyB0cnVlLCBtZWFu cyBmb3IgQkJfSU5GTydzDQomZ3Q7ICsmbmJzcDsmbmJzcDsgZGVmLCBvdGhl cndpc2UgZm9yIEJCX0lORk8ncyB1c2UuJm5ic3A7ICovDQomZ3Q7ICtzdGF0 aWMgdm9pZA0KJmd0OyArYWRkX3N1YnJlZ19yYW5nZSAoZGZfbGl2ZV9zdWJy ZWdfbG9jYWxfYmJfaW5mbyAqYmJfaW5mbywgZGZfcmVmIHJlZiwNCiZndDsg KwkJJm5ic3A7IGJvb2wgaXNfZGVmKQ0KJmd0OyArew0KJmd0OyArJm5ic3A7 IHVuc2lnbmVkIGludCByZWdubyA9IERGX1JFRl9SRUdOTyAocmVmKTsNCiZn dDsgKyZuYnNwOyBtYWNoaW5lX21vZGUgcmVnX21vZGUgPSBHRVRfTU9ERSAo REZfUkVGX1JFQUxfUkVHIChyZWYpKTsNCiZndDsgKw0KJmd0OyArJm5ic3A7 IGlmIChuZWVkX3RyYWNrX3N1YnJlZ19wIChyZWdubykpDQomZ3Q7ICsmbmJz cDsmbmJzcDsmbmJzcDsgew0KJmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7IGF1dG9fc2JpdG1hcCByYW5nZSAoZ2V0X25ibG9ja3MgKHJl Z19tb2RlKSk7DQomZ3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgaW5pdF9yYW5nZSAoREZfUkVGX1JFRyAocmVmKSwgcmFuZ2UpOw0KJmd0 OyArJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGFkZF9zdWJyZWdf cmFuZ2UgKGJiX2luZm8sIHJlZ25vLCByYW5nZSwgaXNfZGVmKTsNCiZndDsg KyZuYnNwOyZuYnNwOyZuYnNwOyB9DQomZ3Q7ICsmbmJzcDsgZWxzZQ0KJmd0 OyArJm5ic3A7Jm5ic3A7Jm5ic3A7IHsNCiZndDsgKyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyBiaXRtYXAgZnVsbCA9IGlzX2RlZiA/ICZhbXA7 YmJfaW5mby0mZ3Q7ZnVsbF9kZWYgOiAmYW1wO2JiX2luZm8tJmd0O2Z1bGxf dXNlOw0KJmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGJp dG1hcCBwYXJ0aWFsID0gaXNfZGVmID8gJmFtcDtiYl9pbmZvLSZndDtwYXJ0 aWFsX2RlZiA6ICZhbXA7YmJfaW5mby0mZ3Q7cGFydGlhbF91c2U7DQomZ3Q7 ICsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgYml0bWFwX3NldF9i aXQgKGZ1bGwsIHJlZ25vKTsNCiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyBnY2NfYXNzZXJ0ICghYml0bWFwX2JpdF9wIChwYXJ0aWFs LCByZWdubykpOw0KJmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7IH0NCiZndDsg K30NCiZndDsgKw0KJmd0OyArLyogRnJlZSBiYXNpYyBibG9jayBpbmZvLiZu YnNwOyAqLw0KJmd0OyArDQomZ3Q7ICtzdGF0aWMgdm9pZA0KJmd0OyArZGZf bGl2ZV9zdWJyZWdfZnJlZV9iYl9pbmZvIChiYXNpY19ibG9jayBiYiBBVFRS SUJVVEVfVU5VU0VELCB2b2lkICp2YmJfaW5mbykNCiZndDsgK3sNCiZndDsg KyZuYnNwOyBkZl9saXZlX3N1YnJlZ19iYl9pbmZvICpiYl9pbmZvID0gKGRm X2xpdmVfc3VicmVnX2JiX2luZm8gKikgdmJiX2luZm87DQpQZXJoYXBzOg0K Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGF1dG8gYmJfaW5mbyA9IHN0YXRp Y19jYXN0PGRmX2xpdmVfc3VicmVnX2JiX2luZm8gKiZndDsgdmJiX2luZm87 DQoNCiZndDsgKyZuYnNwOyBpZiAoYmJfaW5mbykNCiZndDsgKyZuYnNwOyZu YnNwOyZuYnNwOyB7DQomZ3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgZGVsZXRlIGJiX2luZm8tJmd0O3JhbmdlX2luOw0KJmd0OyArJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGJiX2luZm8tJmd0O3Jhbmdl X2luID0gTlVMTDsNCiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyBkZWxldGUgYmJfaW5mby0mZ3Q7cmFuZ2Vfb3V0Ow0KJmd0OyArJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGJiX2luZm8tJmd0O3Jhbmdl X291dCA9IE5VTEw7DQomZ3Q7ICsNCiZndDsgKyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyBiaXRtYXBfY2xlYXIgKCZhbXA7YmJfaW5mby0mZ3Q7 YWxsX2luKTsNCiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyBiaXRtYXBfY2xlYXIgKCZhbXA7YmJfaW5mby0mZ3Q7ZnVsbF9pbik7DQom Z3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgYml0bWFwX2Ns ZWFyICgmYW1wO2JiX2luZm8tJmd0O3BhcnRpYWxfaW4pOw0KJmd0OyArJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGJpdG1hcF9jbGVhciAoJmFt cDtiYl9pbmZvLSZndDthbGxfb3V0KTsNCiZndDsgKyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyBiaXRtYXBfY2xlYXIgKCZhbXA7YmJfaW5mby0m Z3Q7ZnVsbF9vdXQpOw0KJmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IGJpdG1hcF9jbGVhciAoJmFtcDtiYl9pbmZvLSZndDtwYXJ0aWFs X291dCk7DQomZ3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsgfQ0KJmd0OyArfQ0K Jmd0OyArDQomZ3Q7ICsvKiBBbGxvY2F0ZSBvciByZXNldCBiaXRtYXBzIGZv ciBERl9MSVZFX1NVQlJFRyBibG9ja3MuIFRoZSBzb2x1dGlvbiBiaXRzIGFy ZQ0KJmd0OyArJm5ic3A7Jm5ic3A7IG5vdCB0b3VjaGVkIHVubGVzcyB0aGUg YmxvY2sgaXMgbmV3LiZuYnNwOyAqLw0KJmd0OyArDQomZ3Q7ICtzdGF0aWMg dm9pZA0KJmd0OyArZGZfbGl2ZV9zdWJyZWdfYWxsb2MgKGJpdG1hcCBhbGxf YmxvY2tzIEFUVFJJQlVURV9VTlVTRUQpDQomZ3Q7ICt7DQomZ3Q7ICsmbmJz cDsgc3RydWN0IGRmX2xpdmVfc3VicmVnX3Byb2JsZW1fZGF0YSAqcHJvYmxl bV9kYXRhOw0KJmd0OyArJm5ic3A7IGRmX2dyb3dfYmJfaW5mbyAoZGZfbGl2 ZV9zdWJyZWcpOw0KJmd0OyArJm5ic3A7IGlmIChkZl9saXZlX3N1YnJlZy0m Z3Q7cHJvYmxlbV9kYXRhKQ0KJmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7IHBy b2JsZW1fZGF0YQ0KJmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7ID0gKHN0cnVjdCBkZl9saXZlX3N1YnJlZ19wcm9ibGVtX2RhdGEgKikg ZGZfbGl2ZV9zdWJyZWctJmd0O3Byb2JsZW1fZGF0YTsNCiZndDsgKyZuYnNw OyBlbHNlDQomZ3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsgew0KJmd0OyArJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHByb2JsZW1fZGF0YSA9IFhO RVcgKHN0cnVjdCBkZl9saXZlX3N1YnJlZ19wcm9ibGVtX2RhdGEpOw0KJmd0 OyArJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGRmX2xpdmVfc3Vi cmVnLSZndDtwcm9ibGVtX2RhdGEgPSBwcm9ibGVtX2RhdGE7DQomZ3Q7ICsN CiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBiaXRtYXBf b2JzdGFja19pbml0aWFsaXplICgmYW1wO3Byb2JsZW1fZGF0YS0mZ3Q7bGl2 ZV9zdWJyZWdfYml0bWFwcyk7DQomZ3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgYml0bWFwX2luaXRpYWxpemUgKCZhbXA7cHJvYmxlbV9k YXRhLSZndDt0cmFja2VkX3JlZ3MsDQomZ3Q7ICsJCQkgJmFtcDtwcm9ibGVt X2RhdGEtJmd0O2xpdmVfc3VicmVnX2JpdG1hcHMpOw0KJmd0OyArJm5ic3A7 Jm5ic3A7Jm5ic3A7IH0NCiZndDsgKw0KJmd0OyArJm5ic3A7IGJpdG1hcF9j bGVhciAoJmFtcDtwcm9ibGVtX2RhdGEtJmd0O3RyYWNrZWRfcmVncyk7DQom Z3Q7ICsNCiZndDsgKyZuYnNwOyBiYXNpY19ibG9jayBiYjsNCiZndDsgKyZu YnNwOyBGT1JfRUFDSF9CQl9GTiAoYmIsIGNmdW4pDQomZ3Q7ICsmbmJzcDsm bmJzcDsmbmJzcDsgYml0bWFwX3NldF9iaXQgKGRmX2xpdmVfc3VicmVnLSZn dDtvdXRfb2ZfZGF0ZV90cmFuc2Zlcl9mdW5jdGlvbnMsIGJiLSZndDtpbmRl eCk7DQomZ3Q7ICsNCiZndDsgKyZuYnNwOyBiaXRtYXBfc2V0X2JpdCAoZGZf bGl2ZV9zdWJyZWctJmd0O291dF9vZl9kYXRlX3RyYW5zZmVyX2Z1bmN0aW9u cywgRU5UUllfQkxPQ0spOw0KJmd0OyArJm5ic3A7IGJpdG1hcF9zZXRfYml0 IChkZl9saXZlX3N1YnJlZy0mZ3Q7b3V0X29mX2RhdGVfdHJhbnNmZXJfZnVu Y3Rpb25zLCBFWElUX0JMT0NLKTsNCiZndDsgKw0KJmd0OyArJm5ic3A7IHVu c2lnbmVkIGludCBiYl9pbmRleDsNCiZndDsgKyZuYnNwOyBiaXRtYXBfaXRl cmF0b3IgYmk7DQomZ3Q7ICsmbmJzcDsgRVhFQ1VURV9JRl9TRVRfSU5fQklU TUFQIChkZl9saXZlX3N1YnJlZy0mZ3Q7b3V0X29mX2RhdGVfdHJhbnNmZXJf ZnVuY3Rpb25zLCAwLA0KJmd0OyArCQkJJm5ic3A7Jm5ic3A7Jm5ic3A7IGJi X2luZGV4LCBiaSkNCiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyB7DQomZ3Q7 ICsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgLyogRmluZCB0aGUg cmVncyB3aGljaCB3ZSBuZWVkIHRvIHRyYWNrIGl0J3Mgc3VicmVnIGxpdmVu ZXNzLiZuYnNwOyAqLw0KJmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IHJ0eF9pbnNuICppbnNuOw0KJmd0OyArJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7IGRmX3JlZiB1c2U7DQomZ3Q7ICsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgRk9SX0JCX0lOU05TIChiYiwgaW5zbikN CiZndDsgKwl7DQomZ3Q7ICsJJm5ic3A7IGlmICghTk9OREVCVUdfSU5TTl9Q IChpbnNuKSkNCiZndDsgKwkmbmJzcDsmbmJzcDsmbmJzcDsgY29udGludWU7 DQomZ3Q7ICsNCiZndDsgKwkmbmJzcDsgZGZfaW5zbl9pbmZvICppbnNuX2lu Zm8gPSBERl9JTlNOX0lORk9fR0VUIChpbnNuKTsNCiZndDsgKw0KJmd0OyAr CSZuYnNwOyBGT1JfRUFDSF9JTlNOX0lORk9fVVNFICh1c2UsIGluc25faW5m bykNCiZndDsgKwkmbmJzcDsmbmJzcDsmbmJzcDsgew0KJmd0OyArCSZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB1bnNpZ25lZCBpbnQgcmVnbm8g PSBERl9SRUZfUkVHTk8gKHVzZSk7DQomZ3Q7ICsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgLyogQSBtdWx0aXJlZyB3aGljaCBpcyB1c2Vk IHZpYSBzdWJyZWcgcGF0dGVybi4mbmJzcDsgKi8NCiZndDsgKwkmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgKG11bHRpcmVnX3AgKHJlZ25v KQ0KJmd0OyArCQkmbmJzcDsgJmFtcDsmYW1wOyBERl9SRUZfRkxBR1MgKHVz ZSkgJmFtcDsgKERGX1JFRl9TVUJSRUcpKQ0KJmd0OyArCQliaXRtYXBfc2V0 X2JpdCAoJmFtcDtwcm9ibGVtX2RhdGEtJmd0O3RyYWNrZWRfcmVncywgcmVn bm8pOw0KJmd0OyArCSZuYnNwOyZuYnNwOyZuYnNwOyB9DQomZ3Q7ICsJfQ0K Jmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7IH0NCiZndDsgKw0KJmd0OyArJm5i c3A7IGlmIChkdW1wX2ZpbGUpDQomZ3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsg ew0KJmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGZwcmlu dGYgKGR1bXBfZmlsZSwgIjs7IHJlZ3MgbmVlZCB0byBiZSB0cmFja2VkIHN1 YnJlZyBsaXZlbmVzczogIik7DQomZ3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgZGZfcHJpbnRfcmVnc2V0IChkdW1wX2ZpbGUsICZhbXA7 cHJvYmxlbV9kYXRhLSZndDt0cmFja2VkX3JlZ3MpOw0KJmd0OyArJm5ic3A7 Jm5ic3A7Jm5ic3A7IH0NCiZndDsgKw0KJmd0OyArJm5ic3A7IHNpemVfdCBu ID0gYml0bWFwX2NvdW50X2JpdHMgKCZhbXA7cHJvYmxlbV9kYXRhLSZndDt0 cmFja2VkX3JlZ3MpOw0KJmd0OyArDQomZ3Q7ICsmbmJzcDsgRVhFQ1VURV9J Rl9TRVRfSU5fQklUTUFQIChkZl9saXZlX3N1YnJlZy0mZ3Q7b3V0X29mX2Rh dGVfdHJhbnNmZXJfZnVuY3Rpb25zLCAwLA0KJmd0OyArCQkJJm5ic3A7Jm5i c3A7Jm5ic3A7IGJiX2luZGV4LCBiaSkNCiZndDsgKyZuYnNwOyZuYnNwOyZu YnNwOyB7DQomZ3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg LyogQ2xlYW4gZ2xvYmFsIGluZm9zLiZuYnNwOyAqLw0KJmd0OyArJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGRmX2xpdmVfc3VicmVnX2JiX2lu Zm8gKmJiX2luZm8gPSBkZl9saXZlX3N1YnJlZ19nZXRfYmJfaW5mbyAoYmJf aW5kZXgpOw0KDQpIZXJlIGFuZCBmb3IgdGhlIHJlc3Qgb2YgdGhlIGNhbGwg c2l0ZXMsIEkgdGhpbmsgYXV0byBpcyBhbGxvd2VkIHRvIGJlIHVzZWQ6DQom bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgYXV0byBiYl9pbmZvID0gZGZfbGl2ZV9zdWJyZWdfZ2V0X2JiX2luZm8g KGJiX2luZGV4KTsNCg0KDQpSZWdhcmRzLA0KRGltaXRhcg== ------=_NextPart_663AF2D8_1DA231E0_2B13786E--