From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Jean-Philippe Gravel Newsgroups: gmane.emacs.bugs Subject: bug#13845: 24.3.50; gud commands stop responding when using gdb-mi Date: Tue, 30 Apr 2013 22:46:29 -0400 Message-ID: References: <3yobcvetnu.fsf@fencepost.gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=20cf301e2e15fdd04504db9f1f31 X-Trace: ger.gmane.org 1367376472 26591 80.91.229.3 (1 May 2013 02:47:52 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 1 May 2013 02:47:52 +0000 (UTC) Cc: 13845@debbugs.gnu.org To: Glenn Morris Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed May 01 04:47:52 2013 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1UXN5B-0004Th-LO for geb-bug-gnu-emacs@m.gmane.org; Wed, 01 May 2013 04:47:50 +0200 Original-Received: from localhost ([::1]:47223 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UXN5B-0006iH-8E for geb-bug-gnu-emacs@m.gmane.org; Tue, 30 Apr 2013 22:47:49 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:33555) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UXN52-0006gt-Q9 for bug-gnu-emacs@gnu.org; Tue, 30 Apr 2013 22:47:45 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UXN4y-0006kO-PX for bug-gnu-emacs@gnu.org; Tue, 30 Apr 2013 22:47:40 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:48960) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UXN4y-0006kH-L7 for bug-gnu-emacs@gnu.org; Tue, 30 Apr 2013 22:47:36 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1UXN5O-0003MR-8G for bug-gnu-emacs@gnu.org; Tue, 30 Apr 2013 22:48:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Jean-Philippe Gravel Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 01 May 2013 02:48:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 13845 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 13845-submit@debbugs.gnu.org id=B13845.136737642512790 (code B ref 13845); Wed, 01 May 2013 02:48:02 +0000 Original-Received: (at 13845) by debbugs.gnu.org; 1 May 2013 02:47:05 +0000 Original-Received: from localhost ([127.0.0.1]:53069 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UXN4R-0003K3-AT for submit@debbugs.gnu.org; Tue, 30 Apr 2013 22:47:05 -0400 Original-Received: from mail-bk0-f49.google.com ([209.85.214.49]:42465) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UXN4L-0003JO-Dw for 13845@debbugs.gnu.org; Tue, 30 Apr 2013 22:47:00 -0400 Original-Received: by mail-bk0-f49.google.com with SMTP id w5so508780bku.8 for <13845@debbugs.gnu.org>; Tue, 30 Apr 2013 19:46:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=JCk0Gp8Z6lBBbBXsgZxbFAoU/eeKgr4XrhfEsRW8ezE=; b=QfoEW3AefB0zztEeQmYGUaDRXYCK6DGuzj7ZmpwLcWKhzaNqvl2pgvhqgWsXDKWeTw lnmzr8i0WXDZQpMcB0NsasNClE0BySSNsdtGGFPK59tgE3VBkb6Ztvy4v4zVfqQiuDOO aGJr0m3Grn3X6+UVSXi3sunA9dUw4D+zIDLEwXSyQ3L2eMUfxbqS+q0oorte1//QjKMP fwC0pR6D8Ju5IQWPcHakj2OXj4hGOtisk9Wrsm0L+P5x8xy34NzJgZreT9ao5FgO0Mb2 174PNwgtxyHOPzZLNY48wjYMMvieJMs79Runw/tQQnLItKl7HCr8a3xY0dXg7ztTGiPs Rw+g== X-Received: by 10.205.25.6 with SMTP id rg6mr206184bkb.101.1367376389836; Tue, 30 Apr 2013 19:46:29 -0700 (PDT) Original-Received: by 10.205.113.134 with HTTP; Tue, 30 Apr 2013 19:46:29 -0700 (PDT) In-Reply-To: <3yobcvetnu.fsf@fencepost.gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:73862 Archived-At: --20cf301e2e15fdd04504db9f1f31 Content-Type: text/plain; charset=ISO-8859-1 Glenn Morris wrote: > Could you send the change you propose to install to this address as a > flat diff? I'm assuming it is not enormous. Certainly. I divided my branch into three distinct patches that could be committed separately. --20cf301e2e15fdd04504db9f1f31 Content-Type: text/x-patch; charset=US-ASCII; name="invalidSignals.patch" Content-Disposition: attachment; filename="invalidSignals.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: 9a0e4f30cbb4609c_0.1 PT09IG1vZGlmaWVkIGZpbGUgJ2xpc3AvQ2hhbmdlTG9nJw0KKioqIGxpc3AvQ2hhbmdlTG9nCTIw MTMtMDQtMzAgMTY6Mjc6MzYgKzAwMDANCi0tLSBsaXNwL0NoYW5nZUxvZwkyMDEzLTA1LTAxIDAx OjE3OjM3ICswMDAwDQoqKioqKioqKioqKioqKioNCioqKiAxLDMgKioqKg0KLS0tIDEsOCAtLS0t DQorIDIwMTMtMDQtMzAgIEplYW4tUGhpbGlwcGUgR3JhdmVsICA8anBncmF2ZWxAZ21haWwuY29t Pg0KKyANCisgCSogcHJvZ21vZGVzL2dkYi1taS5lbCAoZ2RiLXJ1bm5pbmcsIGdkYi1zdGFydGlu Zyk6IFJlbW92ZWQNCisgCXNpZ25hbHMgZm9yIHdoaWNoIHJlcGxpZXMgd2VyZSBuZXZlciByZWNl aXZlZC4NCisgDQogIDIwMTMtMDQtMzAgIExlbyBMaXUgIDxzZGwud2ViQGdtYWlsLmNvbT4NCiAg DQogIAkqIHByb2dtb2Rlcy9vY3RhdmUuZWwgKGluZmVyaW9yLW9jdGF2ZS1wcm9tcHQtcmVhZC1v bmx5KTogRml4IGxhc3QNCg0KPT09IG1vZGlmaWVkIGZpbGUgJ2xpc3AvcHJvZ21vZGVzL2dkYi1t aS5lbCcNCioqKiBsaXNwL3Byb2dtb2Rlcy9nZGItbWkuZWwJMjAxMy0wNC0yMCAxNjoyNDowNCAr MDAwMA0KLS0tIGxpc3AvcHJvZ21vZGVzL2dkYi1taS5lbAkyMDEzLTA1LTAxIDAxOjExOjMzICsw MDAwDQoqKioqKioqKioqKioqKioNCioqKiAyMjkzLDIzMDAgKioqKg0KICAgICAocHJvcGVydGl6 ZSBnZGItaW5mZXJpb3Itc3RhdHVzICdmYWNlIGZvbnQtbG9jay10eXBlLWZhY2UpKQ0KICAgICh3 aGVuIChub3QgZ2RiLW5vbi1zdG9wKQ0KICAgICAgKHNldHEgZ3VkLXJ1bm5pbmcgdCkpDQohICAg KHNldHEgZ2RiLWFjdGl2ZS1wcm9jZXNzIHQpDQohICAgKGdkYi1lbWl0LXNpZ25hbCBnZGItYnVm LXB1Ymxpc2hlciAndXBkYXRlLXRocmVhZHMpKQ0KICANCiAgKGRlZnVuIGdkYi1zdGFydGluZyAo X291dHB1dC1maWVsZCBfcmVzdWx0KQ0KICAgIDs7IENMSSBjb21tYW5kcyBkb24ndCBlbWl0IF5y dW5uaW5nIGF0IHRoZSBtb21lbnQgc28gdXNlIGdkYi1ydW5uaW5nIHRvby4NCi0tLSAyMjkzLDIy OTkgLS0tLQ0KICAgICAocHJvcGVydGl6ZSBnZGItaW5mZXJpb3Itc3RhdHVzICdmYWNlIGZvbnQt bG9jay10eXBlLWZhY2UpKQ0KICAgICh3aGVuIChub3QgZ2RiLW5vbi1zdG9wKQ0KICAgICAgKHNl dHEgZ3VkLXJ1bm5pbmcgdCkpDQohICAgKHNldHEgZ2RiLWFjdGl2ZS1wcm9jZXNzIHQpKQ0KICAN CiAgKGRlZnVuIGdkYi1zdGFydGluZyAoX291dHB1dC1maWVsZCBfcmVzdWx0KQ0KICAgIDs7IENM SSBjb21tYW5kcyBkb24ndCBlbWl0IF5ydW5uaW5nIGF0IHRoZSBtb21lbnQgc28gdXNlIGdkYi1y dW5uaW5nIHRvby4NCioqKioqKioqKioqKioqKg0KKioqIDIzMDIsMjMxMiAqKioqDQogICAgKGdk Yi1mb3JjZS1tb2RlLWxpbmUtdXBkYXRlDQogICAgIChwcm9wZXJ0aXplIGdkYi1pbmZlcmlvci1z dGF0dXMgJ2ZhY2UgZm9udC1sb2NrLXR5cGUtZmFjZSkpDQogICAgKHNldHEgZ2RiLWFjdGl2ZS1w cm9jZXNzIHQpDQohICAgKHNldHEgZ3VkLXJ1bm5pbmcgdCkNCiEgICA7OyBHREIgZG9lc24ndCBz ZWVtIHRvIHJlc3BvbmQgdG8gLXRocmVhZC1pbmZvIGJlZm9yZSBmaXJzdCBzdG9wIG9yDQohICAg OzsgdGhyZWFkIGV4aXQgKGV2ZW4gaW4gbm9uLXN0b3AgbW9kZSksIHNvIHRoaXMgaXMgdXNlbGVz cy4NCiEgICA7OyBCZWhhdmlvciBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuDQohICAgKGdkYi1l bWl0LXNpZ25hbCBnZGItYnVmLXB1Ymxpc2hlciAndXBkYXRlLXRocmVhZHMpKQ0KICANCiAgOzsg LWJyZWFrLWluc2VydCAtdCBkaWRuJ3QgZ2l2ZSBhIHJlYXNvbiBiZWZvcmUgZ2RiIDYuOQ0KICAN Ci0tLSAyMzAxLDIzMDcgLS0tLQ0KICAgIChnZGItZm9yY2UtbW9kZS1saW5lLXVwZGF0ZQ0KICAg ICAocHJvcGVydGl6ZSBnZGItaW5mZXJpb3Itc3RhdHVzICdmYWNlIGZvbnQtbG9jay10eXBlLWZh Y2UpKQ0KICAgIChzZXRxIGdkYi1hY3RpdmUtcHJvY2VzcyB0KQ0KISAgIChzZXRxIGd1ZC1ydW5u aW5nIHQpKQ0KICANCiAgOzsgLWJyZWFrLWluc2VydCAtdCBkaWRuJ3QgZ2l2ZSBhIHJlYXNvbiBi ZWZvcmUgZ2RiIDYuOQ0KICANCg0K --20cf301e2e15fdd04504db9f1f31 Content-Type: text/x-patch; charset=US-ASCII; name="bug13845.patch" Content-Disposition: attachment; filename="bug13845.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: 9a0e4f30cbb4609c_0.2 PT09IG1vZGlmaWVkIGZpbGUgJ2xpc3AvQ2hhbmdlTG9nJw0KKioqIGxpc3AvQ2hhbmdlTG9nCTIw MTMtMDQtMzAgMTY6Mjc6MzYgKzAwMDANCi0tLSBsaXNwL0NoYW5nZUxvZwkyMDEzLTA1LTAxIDAx OjQzOjMzICswMDAwDQoqKioqKioqKioqKioqKioNCioqKiAxLDMgKioqKg0KLS0tIDEsMjkgLS0t LQ0KKyAyMDEzLTA0LTI4ICBKZWFuLVBoaWxpcHBlIEdyYXZlbCAgPGpwZ3JhdmVsQGdtYWlsLmNv bT4NCisgDQorIAkqIHByb2dtb2Rlcy9nZGItbWkuZWw6IEZpeCBub24tcmVzcG9uc2l2ZSBndWQg Y29tbWFuZHMgKGJ1ZyMxMzg0NSkNCisgCShnZGItaGFuZGxlci1hbGlzdCwgZ2RiLWhhbmRsZXIt bnVtYmVyKTogUmVtb3ZlIHZhcmlhYmxlcy4NCisgCShnZGItaGFuZGxlci1saXN0KTogTmV3IHZh cmlhYmxlLg0KKyAJKGdkYi1hZGQtaGFuZGxlciwgZ2RiLWRlbGV0ZS1oYW5kbGVyLCBnZGItZ2V0 LWhhbmRsZXItZnVuY3Rpb24pDQorIAkoZ2RiLXBlbmRpbmctaGFuZGxlci1wLCBnZGItaGFuZGxl LXJlcGx5KQ0KKyAJKGdkYi1yZW1vdmUtYWxsLXBlbmRpbmctdHJpZ2dlcnMpOiBOZXcgZnVuY3Rp b25zLg0KKyAJKGdkYi1kaXNjYXJkLXVub3JkZXJlZC1yZXBsaWVzKTogTmV3IGRlZmN1c3RvbS4N CisgCShnZGItaGFuZGxlcik6IE5ldyBkZWZzdHJ1Y3QuDQorIAkoZ2RiLXdhaXQtZm9yLXBlbmRp bmcpOiBGaXggaW52YWxpZCBiYWNrcXVvdGUuIFVzZSBnZGItaGFuZGxlci1saXN0Lg0KKyAJaW5z dGVhZCBvZiBnZGItcGVuZGluZy10cmlnZ2Vycy4gVXBkYXRlIGRvY3N0cmluZy4NCisgCShnZGIt aW5pdC0xKTogUmVtb3ZlIGRlYWQgdmFyaWFibGVzLiAgSW5pdGlhbGl6ZSBnZGItaGFuZGxlci1s aXN0Lg0KKyAJKGdkYi1zcGVlZGJhci11cGRhdGUsIGdkYi1zcGVlZGJhci10aW1lci1mbiwgZ2Ri LXZhci11cGRhdGUpDQorIAkoZ2RiLXZhci11cGRhdGUtaGFuZGxlciwgZGVmLWdkYi1hdXRvLXVw ZGF0ZS10cmlnZ2VyKQ0KKyAJKGRlZi1nZGItYXV0by11cGRhdGUtaGFuZGxlciwgZ2RiLWdldC1j aGFuZ2VkLXJlZ2lzdGVycykNCisgCShnZGItY2hhbmdlZC1yZWdpc3RlcnMtaGFuZGxlciwgZ2Ri LWdldC1tYWluLXNlbGVjdGVkLWZyYW1lKQ0KKyAJKGdkYi1mcmFtZS1oYW5kbGVyKTogUGVuZGlu ZyB0cmlnZ2VycyBhcmUgbm93IGF1dG9tYXRpY2FsbHkgbWFuYWdlZC4NCisgCShkZWYtZ2RiLXRy aWdnZXItYW5kLWhhbmRsZXIsIGRlZi1nZGItYXV0by11cGRhdGUtaGFuZGxlcik6DQorIAlSZW1v dmUgYXJndW1lbnQuDQorIAkoZ2RiLWlucHV0KTogQXV0b21hdGljYWxseSBoYW5kbGVzIHBlbmRp bmcgdHJpZ2dlcnMuIFVwZGF0ZSBkb2NzdHJpbmcuDQorIAkoZ2RiLXJlc3luYyk6IFJlcGxhY2Vk IGdkYi1wZW5kaW5nLXRyaWdnZXJzIGJ5IGdkYi1oYW5kbGVyLWxpc3QuDQorIAkoZ2RiLXRocmVh ZC1leGl0ZWQsIGdkYi10aHJlYWQtc2VsZWN0ZWQsIGdkYi1yZWdpc3Rlci1uYW1lcy1oYW5kbGVy KToNCisgCVVwZGF0ZSBjb21tZW50cy4NCisgCShnZGItZG9uZS1vci1lcnJvcik6IE5vdyB1c2Ug Z2RiLWhhbmRsZS1yZXBseS4NCisgDQogIDIwMTMtMDQtMzAgIExlbyBMaXUgIDxzZGwud2ViQGdt YWlsLmNvbT4NCiAgDQogIAkqIHByb2dtb2Rlcy9vY3RhdmUuZWwgKGluZmVyaW9yLW9jdGF2ZS1w cm9tcHQtcmVhZC1vbmx5KTogRml4IGxhc3QNCg0KPT09IG1vZGlmaWVkIGZpbGUgJ2xpc3AvcHJv Z21vZGVzL2dkYi1taS5lbCcNCioqKiBsaXNwL3Byb2dtb2Rlcy9nZGItbWkuZWwJMjAxMy0wNC0y MCAxNjoyNDowNCArMDAwMA0KLS0tIGxpc3AvcHJvZ21vZGVzL2dkYi1taS5lbAkyMDEzLTA1LTAx IDAxOjUxOjE5ICswMDAwDQoqKioqKioqKioqKioqKioNCioqKiA5MSw5NyAqKioqDQogIChyZXF1 aXJlICdndWQpDQogIChyZXF1aXJlICdqc29uKQ0KICAocmVxdWlyZSAnYmluZGF0KQ0KISAoZXZh bC13aGVuLWNvbXBpbGUgKHJlcXVpcmUgJ2NsLWxpYikpDQogIA0KICAoZGVjbGFyZS1mdW5jdGlv biBzcGVlZGJhci1jaGFuZ2UtaW5pdGlhbC1leHBhbnNpb24tbGlzdA0KICAgICAgICAgICAgICAg ICAgICAic3BlZWRiYXIiIChuZXctZGVmYXVsdCkpDQotLS0gOTEsOTcgLS0tLQ0KICAocmVxdWly ZSAnZ3VkKQ0KICAocmVxdWlyZSAnanNvbikNCiAgKHJlcXVpcmUgJ2JpbmRhdCkNCiEgKHJlcXVp cmUgJ2NsLWxpYikNCiAgDQogIChkZWNsYXJlLWZ1bmN0aW9uIHNwZWVkYmFyLWNoYW5nZS1pbml0 aWFsLWV4cGFuc2lvbi1saXN0DQogICAgICAgICAgICAgICAgICAgICJzcGVlZGJhciIgKG5ldy1k ZWZhdWx0KSkNCioqKioqKioqKioqKioqKg0KKioqIDIwNiwyMTMgKioqKg0KICAoZGVmdmFyIGdk Yi1sYXN0LWNvbW1hbmQgbmlsKQ0KICAoZGVmdmFyIGdkYi1wcm9tcHQtbmFtZSBuaWwpDQogIChk ZWZ2YXIgZ2RiLXRva2VuLW51bWJlciAwKQ0KISAoZGVmdmFyIGdkYi1oYW5kbGVyLWFsaXN0ICco KSkNCiEgKGRlZnZhciBnZGItaGFuZGxlci1udW1iZXIgbmlsKQ0KICAoZGVmdmFyIGdkYi1zb3Vy Y2UtZmlsZS1saXN0IG5pbA0KICAgICJMaXN0IG9mIHNvdXJjZSBmaWxlcyBmb3IgdGhlIGN1cnJl bnQgZXhlY3V0YWJsZS4iKQ0KICAoZGVmdmFyIGdkYi1maXJzdC1kb25lLW9yLWVycm9yIHQpDQot LS0gMjA2LDIxMyAtLS0tDQogIChkZWZ2YXIgZ2RiLWxhc3QtY29tbWFuZCBuaWwpDQogIChkZWZ2 YXIgZ2RiLXByb21wdC1uYW1lIG5pbCkNCiAgKGRlZnZhciBnZGItdG9rZW4tbnVtYmVyIDApDQoh IChkZWZ2YXIgZ2RiLWhhbmRsZXItbGlzdCAnKCkNCiEgICAiTGlzdCBvZiBnZGItaGFuZGxlciBr ZWVwaW5nIHRyYWNrIG9mIGFsbCBwZW5kaW5nIEdEQiBjb21tYW5kcy4iKQ0KICAoZGVmdmFyIGdk Yi1zb3VyY2UtZmlsZS1saXN0IG5pbA0KICAgICJMaXN0IG9mIHNvdXJjZSBmaWxlcyBmb3IgdGhl IGN1cnJlbnQgZXhlY3V0YWJsZS4iKQ0KICAoZGVmdmFyIGdkYi1maXJzdC1kb25lLW9yLWVycm9y IHQpDQoqKioqKioqKioqKioqKioNCioqKiAyNDIsMjc0ICoqKioNCiAgCSAgICAgICBkaXNwb3Np dGlvbiBvZiBvdXRwdXQgZ2VuZXJhdGVkIGJ5IGNvbW1hbmRzIHRoYXQNCiAgCSAgICAgICBnZGIg bW9kZSBzZW5kcyB0byBnZGIgb24gaXRzIG93biBiZWhhbGYuIikNCiAgDQohIDs7IFBlbmRpbmcg dHJpZ2dlcnMgcHJldmVudCBjb25nZXN0aW9uOiBFbWFjcyB3b24ndCBzZW5kIHR3byBzaW1pbGFy DQohIDs7IGNvbnNlY3V0aXZlIHJlcXVlc3RzLg0KISANCiEgKGRlZnZhciBnZGItcGVuZGluZy10 cmlnZ2VycyAnKCkNCiEgICAiQSBsaXN0IG9mIHRyaWdnZXIgZnVuY3Rpb25zIHdoaWNoIGhhdmUg bm90IHlldCBiZWVuIGhhbmRsZWQuDQohIA0KISBFbGVtZW50cyBhcmUgZWl0aGVyIGZ1bmN0aW9u IG5hbWVzIG9yIHBhaXJzIChidWZmZXIgLiBmdW5jdGlvbikiKQ0KICANCiEgKGRlZm1hY3JvIGdk Yi1hZGQtcGVuZGluZyAoaXRlbSkNCiEgICBgKHB1c2ggLGl0ZW0gZ2RiLXBlbmRpbmctdHJpZ2dl cnMpKQ0KISAoZGVmbWFjcm8gZ2RiLXBlbmRpbmctcCAoaXRlbSkNCiEgICBgKG1lbWJlciAsaXRl bSBnZGItcGVuZGluZy10cmlnZ2VycykpDQohIChkZWZtYWNybyBnZGItZGVsZXRlLXBlbmRpbmcg KGl0ZW0pDQohICAgYChzZXRxIGdkYi1wZW5kaW5nLXRyaWdnZXJzDQohICAgICAgICAgIChkZWxl dGUgLGl0ZW0gZ2RiLXBlbmRpbmctdHJpZ2dlcnMpKSkNCiAgDQogIChkZWZtYWNybyBnZGItd2Fp dC1mb3ItcGVuZGluZyAoJnJlc3QgYm9keSkNCiEgICAiV2FpdCB1bnRpbCBgZ2RiLXBlbmRpbmct dHJpZ2dlcnMnIGlzIGVtcHR5IGFuZCBldmFsdWF0ZSBGT1JNLg0KICANCiEgVGhpcyBmdW5jdGlv biBjaGVja3MgYGdkYi1wZW5kaW5nLXRyaWdnZXJzJyB2YWx1ZSBldmVyeQ0KISBgZ2RiLXdhaXQt Zm9yLXBlbmRpbmcnIHNlY29uZHMuIg0KISAgIChydW4td2l0aC10aW1lcg0KISAgICAwLjUgbmls DQohICAgIGAobGFtYmRhICgpDQohICAgICAgIChpZiAobm90IGdkYi1wZW5kaW5nLXRyaWdnZXJz KQ0KISAgICAgICAgICAgKHByb2duICxAYm9keSkNCiEgICAgICAgICAoZ2RiLXdhaXQtZm9yLXBl bmRpbmcgLEBib2R5KSkpKSkNCiAgDQogIDs7IFB1Ymxpc2gtc3Vic2NyaWJlDQogIA0KLS0tIDI0 MiwzNTUgLS0tLQ0KICAJICAgICAgIGRpc3Bvc2l0aW9uIG9mIG91dHB1dCBnZW5lcmF0ZWQgYnkg Y29tbWFuZHMgdGhhdA0KICAJICAgICAgIGdkYiBtb2RlIHNlbmRzIHRvIGdkYiBvbiBpdHMgb3du IGJlaGFsZi4iKQ0KICANCiEgKGRlZmN1c3RvbSBnZGItZGlzY2FyZC11bm9yZGVyZWQtcmVwbGll cyB0DQohICAgIldoZW4gbm9uLW5pbCwgYW55IG91dC1vZi1vcmRlciBHREIgcmVwbGllcyBhcmUg ZGlzY2FyZGVkLg0KISBUaGlzIG1lY2hhbmlzbSBpcyBwcm92aWRlZCBhcyBhIHByb3RlY3Rpb24g YWdhaW5zdCBsb3N0IEdEQiByZXBsaWVzLA0KISBhc3N1bWluZyB0aGF0IEdEQiBhbHdheXMgcmVw bGllcyBpbiB0aGUgc2FtZSBvcmRlciBFbWFjcyBpcyBzZW5kaW5nDQohIGNvbW1hbmRzLiAgV2hl biByZWNlaXZpbmcgYSByZXBseSB3aXRoIGEgZ2l2ZW4gdG9rZW4tbnVtYmVyLCBhbnkNCiEgcGVu ZGluZyBtZXNzYWdlcyB3aXRoIGEgbG93ZXIgdG9rZW4tbnVtYmVyIGFyZSBjb25zaWRlcmVkIG91 dC1vZi1vcmRlci4iDQohICAgOnR5cGUgJ2Jvb2xlYW4NCiEgICA6Z3JvdXAgJ2d1ZA0KISAgIDp2 ZXJzaW9uICIyNC40IikNCiAgDQohIChjbC1kZWZzdHJ1Y3QgZ2RiLWhhbmRsZXINCiEgICAiU3Ry dWN0dXJlIHVzZWQgdG8ga2VlcCB0cmFjayBvZiB0aGUgY29tbWFuZHMgc2VudCB0byBHREIgYW5k DQohIGhhbmRsZSB0aGUgcmVwbGllcyByZWNlaXZlZC4iDQohICAgOzsgUHJlZml4IG9mIHRoZSBj b21tYW5kIHNlbnQgdG8gR0RCLiAgVGhlIEdEQiByZXBseSBmb3IgdGhpcyBjb21tYW5kDQohICAg Ozsgd2lsbCBiZSBwcmVmaXhlZCB3aXRoIHRoaXMgc2FtZSBUT0tFTi1OVU1CRVINCiEgICAodG9r ZW4tbnVtYmVyIG5pbCA6cmVhZC1vbmx5IHQpDQohICAgOzsgQ2FsbGJhY2sgdG8gaW52b2tlIHdo ZW4gdGhlIHJlcGx5IGlzIHJlY2VpdmVkIGZyb20gR0RCDQohICAgKGZ1bmN0aW9uIG5pbCA6cmVh ZC1vbmx5IHQpDQohICAgOzsgUEVORElORy1UUklHR0VSIGlzIHVzZWQgdG8gcHJldmVudCBjb25n ZXN0aW9uOiBFbWFjcyB3b24ndCBzZW5kDQohICAgOzsgdHdvIHJlcXVlc3RzIHdpdGggdGhlIHNh bWUgUEVORElORy1UUklHR0VSIHVudGlsIGEgcmVwbHkgaXMgcmVjZWl2ZWQNCiEgICA7OyBmb3Ig dGhlIGZpcnN0IG9uZS4iDQohICAgKHBlbmRpbmctdHJpZ2dlciBuaWwpKQ0KISANCiEgKGRlZnVu IGdkYi1hZGQtaGFuZGxlciAodG9rZW4tbnVtYmVyIGhhbmRsZXItZnVuY3Rpb24gJm9wdGlvbmFs IHBlbmRpbmctdHJpZ2dlcikNCiEgICAiSW5zZXJ0IGEgbmV3IEdEQiBjb21tYW5kIGhhbmRsZXIg aW4gYGdkYi1oYW5kbGVyLWxpc3QnLg0KISBIYW5kbGVycyBhcmUgdXNlZCB0byBrZWVwIHRyYWNr IHRoZSBjb21tYW5kcyBzZW50IHRvIEdEQiBhbmQgdG8gaGFuZGxlIHRoZQ0KISByZXBsaWVzIHJl Y2VpdmVkLiAgVE9LRU4tTlVNQkVSIGlzIHRoZSBudW1iZXIgdXNlZCBhcyBwcmVmaXggb2YgdGhl IEdEQi9taQ0KISBjb21tYW5kIHNlbnQuICBVcG9uIHJlY2VwdGlvbiBvZiBhIHJlcGx5IHByZWZp eGVkIHdpdGggdGhlIHNhbWUgVE9LRU4tTlVNQkVSLA0KISB0aGUgY2FsbGJhY2sgSEFORExFUi1G VU5DVElPTiBpcyBpbnZva2VkLiAgSWYgUEVORElORy1UUklHR0VSIGlzIHNwZWNpZmllZCwNCiEg bm8gbmV3IEdEQiBjb21tYW5kcyB3aWxsIGJlIHNlbnQgd2l0aCB0aGlzIHNhbWUgUEVORElORy1U UklHR0VSIHVudGlsIGEgcmVwbHkgaXMNCiEgcmVjZWl2ZWQgZm9yIHRoaXMgaGFuZGxlci4iDQoh IA0KISAgIChwdXNoIChtYWtlLWdkYi1oYW5kbGVyIDp0b2tlbi1udW1iZXIgdG9rZW4tbnVtYmVy DQohICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZ1bmN0aW9uIGhhbmRsZXItZnVuY3Rpb24N CiEgICAgICAgICAgICAgICAgICAgICAgICAgICA6cGVuZGluZy10cmlnZ2VyIHBlbmRpbmctdHJp Z2dlcikNCiEgICAgICAgICBnZGItaGFuZGxlci1saXN0KSkNCiEgDQohIChkZWZ1biBnZGItZGVs ZXRlLWhhbmRsZXIgKHRva2VuLW51bWJlcikNCiEgICAiUmVtb3ZlIHRoZSBoYW5kbGVyIFRPS0VO LU5VTUJFUiBmcm9tIGBnZGItaGFuZGxlci1saXN0Jy4NCiEgQWRkaXRpb25hbGx5LCBpZiBgZ2Ri LWRpc2NhcmQtdW5vcmRlcmVkLXJlcGxpZXMnIGlzIG5vbi1uaWwsIGFsbCBoYW5kbGVycw0KISBo YXZpbmcgYSB0b2tlbiBudW1iZXIgbGVzcyB0aGFuIFRPS0VOLU5VTUJFUiBhcmUgZGlzY2FyZGVk LiINCiEgICAoaWYgZ2RiLWRpc2NhcmQtdW5vcmRlcmVkLXJlcGxpZXMNCiEgDQohICAgICAgIChz ZXRxIGdkYi1oYW5kbGVyLWxpc3QNCiEgICAgICAgICAgICAgKGNsLWRlbGV0ZS1pZg0KISAgICAg ICAgICAgICAgKGxhbWJkYSAoaGFuZGxlcikNCiEgICAgICAgICAgICAgICAgIkRpc2NhcmQgYW55 IEhBTkRMRVIgd2l0aCBhIHRva2VuIG51bWJlciBgPD0nIHRoYW4gVE9LRU4tTlVNQkVSLiINCiEg ICAgICAgICAgICAgICAgKHdoZW4gKDwgKGdkYi1oYW5kbGVyLXRva2VuLW51bWJlciBoYW5kbGVy KSB0b2tlbi1udW1iZXIpDQohICAgICAgICAgICAgICAgICAgKG1lc3NhZ2UgKGZvcm1hdA0KISAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiV0FSTklORyEgRGlzY2FyZGluZyBHREIgaGFuZGxl ciB3aXRoIHRva2VuICMlZFxuIg0KISAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZ2RiLWhh bmRsZXItdG9rZW4tbnVtYmVyIGhhbmRsZXIpKSkpDQohICAgICAgICAgICAgICAgICg8PSAoZ2Ri LWhhbmRsZXItdG9rZW4tbnVtYmVyIGhhbmRsZXIpIHRva2VuLW51bWJlcikpDQohICAgICAgICAg ICAgICBnZGItaGFuZGxlci1saXN0KSkNCiEgDQohICAgICAoc2V0cSBnZGItaGFuZGxlci1saXN0 DQohICAgICAgICAgICAoY2wtZGVsZXRlLWlmDQohICAgICAgICAgICAgKGxhbWJkYSAoaGFuZGxl cikNCiEgICAgICAgICAgICAgICJEaXNjYXJkIGFueSBIQU5ETEVSIHdpdGggYSB0b2tlbiBudW1i ZXIgYGVxJyB0byBUT0tFTi1OVU1CRVIuIg0KISAgICAgICAgICAgICAgKGVxIChnZGItaGFuZGxl ci10b2tlbi1udW1iZXIgaGFuZGxlcikgdG9rZW4tbnVtYmVyKSkNCiEgICAgICAgICAgICBnZGIt aGFuZGxlci1saXN0KSkpKQ0KISANCiEgKGRlZnVuIGdkYi1nZXQtaGFuZGxlci1mdW5jdGlvbiAo dG9rZW4tbnVtYmVyKQ0KISAgICJSZXR1cm4gdGhlIGZ1bmN0aW9uIGNhbGxiYWNrIHJlZ2lzdGVy ZWQgd2l0aCB0aGUgaGFuZGxlciBUT0tFTi1OVU1CRVIuIg0KISAgIChnZGItaGFuZGxlci1mdW5j dGlvbg0KISAgICAoY2wtZmluZC1pZiAobGFtYmRhIChoYW5kbGVyKSAoZXEgKGdkYi1oYW5kbGVy LXRva2VuLW51bWJlciBoYW5kbGVyKQ0KISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHRva2VuLW51bWJlcikpDQohICAgICAgICAgICAgICAgICBnZGItaGFuZGxlci1saXN0 KSkpDQohIA0KISANCiEgKGRlZnVuIGdkYi1wZW5kaW5nLWhhbmRsZXItcCAocGVuZGluZy10cmln Z2VyKQ0KISAgICJSZXR1cm4gbm9uLW5pbCBpZiBhIGNvbW1hbmQgaGFuZGxlciBpcyBwZW5kaW5n IHdpdGggdHJpZ2dlciBQRU5ESU5HLVRSSUdHRVIuIg0KISAgIChjbC1maW5kLWlmIChsYW1iZGEg KGhhbmRsZXIpIChlcSAoZ2RiLWhhbmRsZXItcGVuZGluZy10cmlnZ2VyIGhhbmRsZXIpDQohICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZW5kaW5nLXRyaWdnZXIpKQ0KISAg ICAgICAgICAgICAgICBnZGItaGFuZGxlci1saXN0KSkNCiEgDQohIA0KISAoZGVmdW4gZ2RiLWhh bmRsZS1yZXBseSAodG9rZW4tbnVtYmVyKQ0KISAgICJIYW5kbGUgdGhlIEdEQiByZXBseSBUT0tF Ti1OVU1CRVIuDQohIFRoaXMgaW52b2x2ZXMgaW52b2tpbmcgdGhlIGNhbGxiYWNrIHJlZ2lzdGVy ZWQgd2l0aCB0aGlzIHRva2VuIG51bWJlcg0KISBpbiBgZ2RiLWhhbmRsZXItbGlzdCcgYW5kIGNs ZWFyaW5nIGFsbCBwZW5kaW5nIGhhbmRsZXJzIGludmFsaWRhdGVkDQohIGJ5IHRoZSByZWNlcHRp b24gb2YgdGhpcyByZXBseS4iDQohICAgKGxldCAoKGhhbmRsZXItZnVuY3Rpb24gKGdkYi1nZXQt aGFuZGxlci1mdW5jdGlvbiB0b2tlbi1udW1iZXIpKSkNCiEgICAgICh3aGVuIGhhbmRsZXItZnVu Y3Rpb24NCiEgICAgICAgKGZ1bmNhbGwgaGFuZGxlci1mdW5jdGlvbikNCiEgICAgICAgKGdkYi1k ZWxldGUtaGFuZGxlciB0b2tlbi1udW1iZXIpKSkpDQohIA0KISAoZGVmdW4gZ2RiLXJlbW92ZS1h bGwtcGVuZGluZy10cmlnZ2VycyAoKQ0KISAgICJSZW1vdmUgYWxsIHBlbmRpbmcgdHJpZ2dlcnMg ZnJvbSBnZGItaGFuZGxlci1saXN0Lg0KISBUaGUgaGFuZGxlcnMgYXJlIGxlZnQgaW4gZ2RiLWhh bmRsZXItbGlzdCBzbyB0aGF0IHJlcGxpZXMgcmVjZWl2ZWQNCiEgZnJvbSBHREIgY291bGQgc3Rp bGwgYmUgaGFuZGxlZC4gIEhvd2V2ZXIsIHJlbW92aW5nIHRoZSBwZW5kaW5nIHRyaWdnZXJzDQoh IGFsbG93cyBFbWFjcyB0byBzZW5kIG5ldyBjb21tYW5kcyBldmVuIGlmIHJlcGxpZXMgb2YgcHJl dmlvdXMgY29tbWFuZHMNCiEgd2VyZSBub3QgeWV0IHJlY2VpdmVkLiINCiEgICAoZG9saXN0ICho YW5kbGVyIGdkYi1oYW5kbGVyLWxpc3QpDQohICAgICAoc2V0ZiAoZ2RiLWhhbmRsZXItcGVuZGlu Zy10cmlnZ2VyIGhhbmRsZXIpIG5pbCkpKQ0KICANCiAgKGRlZm1hY3JvIGdkYi13YWl0LWZvci1w ZW5kaW5nICgmcmVzdCBib2R5KQ0KISAgICJXYWl0IGZvciBhbGwgcGVuZGluZyBHREIgY29tbWFu ZHMgdG8gZmluaXNoIGFuZCBldmFsdWF0ZSBCT0RZLg0KICANCiEgVGhpcyBmdW5jdGlvbiBjaGVj a3MgZXZlcnkgMC41IHNlY29uZHMgaWYgdGhlcmUgYXJlIGFueSBwZW5kaW5nDQohIHRyaWdnZXJz IGluIGBnZGItaGFuZGxlci1saXN0Jy4iDQohICAgYChydW4td2l0aC10aW1lcg0KISAgICAgMC41 IG5pbA0KISAgICAgJyhsYW1iZGEgKCkNCiEgICAgICAgIChpZiAobm90IChnZGItZmluZC1pZiAo bGFtYmRhIChoYW5kbGVyKQ0KISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdkYi1o YW5kbGVyLXBlbmRpbmctdHJpZ2dlciBoYW5kbGVyKSkNCiEgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBnZGItaGFuZGxlci1saXN0KSkNCiEgCSAgIChwcm9nbiAsQGJvZHkpDQohIAkgKGdk Yi13YWl0LWZvci1wZW5kaW5nICxAYm9keSkpKSkpDQogIA0KICA7OyBQdWJsaXNoLXN1YnNjcmli ZQ0KICANCioqKioqKioqKioqKioqKg0KKioqIDgyMCw4MzMgKioqKg0KICAJZ2RiLWZyYW1lLW51 bWJlciBuaWwNCiAgICAgICAgICBnZGItdGhyZWFkLW51bWJlciBuaWwNCiAgCWdkYi12YXItbGlz dCBuaWwNCi0gCWdkYi1wZW5kaW5nLXRyaWdnZXJzIG5pbA0KICAJZ2RiLW91dHB1dC1zaW5rICd1 c2VyDQogIAlnZGItbG9jYXRpb24tYWxpc3QgbmlsDQogIAlnZGItc291cmNlLWZpbGUtbGlzdCBu aWwNCiAgCWdkYi1sYXN0LWNvbW1hbmQgbmlsDQogIAlnZGItdG9rZW4tbnVtYmVyIDANCiEgCWdk Yi1oYW5kbGVyLWFsaXN0ICcoKQ0KISAJZ2RiLWhhbmRsZXItbnVtYmVyIG5pbA0KICAJZ2RiLXBy b21wdC1uYW1lIG5pbA0KICAJZ2RiLWZpcnN0LWRvbmUtb3ItZXJyb3IgdA0KICAJZ2RiLWJ1ZmZl ci1mcmluZ2Utd2lkdGggKGNhciAod2luZG93LWZyaW5nZXMpKQ0KLS0tIDkwMSw5MTIgLS0tLQ0K ICAJZ2RiLWZyYW1lLW51bWJlciBuaWwNCiAgICAgICAgICBnZGItdGhyZWFkLW51bWJlciBuaWwN CiAgCWdkYi12YXItbGlzdCBuaWwNCiAgCWdkYi1vdXRwdXQtc2luayAndXNlcg0KICAJZ2RiLWxv Y2F0aW9uLWFsaXN0IG5pbA0KICAJZ2RiLXNvdXJjZS1maWxlLWxpc3QgbmlsDQogIAlnZGItbGFz dC1jb21tYW5kIG5pbA0KICAJZ2RiLXRva2VuLW51bWJlciAwDQohIAlnZGItaGFuZGxlci1saXN0 ICcoKQ0KICAJZ2RiLXByb21wdC1uYW1lIG5pbA0KICAJZ2RiLWZpcnN0LWRvbmUtb3ItZXJyb3Ig dA0KICAJZ2RiLWJ1ZmZlci1mcmluZ2Utd2lkdGggKGNhciAod2luZG93LWZyaW5nZXMpKQ0KKioq KioqKioqKioqKioqDQoqKiogMTEwNywxMTIzICoqKioNCiAgICAgICAgKG1lc3NhZ2UtYm94ICJO byBzeW1ib2wgXCIlc1wiIGluIGN1cnJlbnQgY29udGV4dC4iIGV4cHIpKSkpDQogIA0KICAoZGVm dW4gZ2RiLXNwZWVkYmFyLXVwZGF0ZSAoKQ0KISAgICh3aGVuIChhbmQgKGJvdW5kcCAnc3BlZWRi YXItZnJhbWUpIChmcmFtZS1saXZlLXAgc3BlZWRiYXItZnJhbWUpDQohIAkgICAgIChub3QgKGdk Yi1wZW5kaW5nLXAgJ2dkYi1zcGVlZGJhci10aW1lcikpKQ0KICAgICAgOzsgRHVtbXkgY29tbWFu ZCB0byB1cGRhdGUgc3BlZWRiYXIgZXZlbiB3aGVuIGlkbGUuDQohICAgICAoZ2RiLWlucHV0ICIt ZW52aXJvbm1lbnQtcHdkIiAnZ2RiLXNwZWVkYmFyLXRpbWVyLWZuKQ0KISAgICAgOzsgS2VlcCBn ZGItcGVuZGluZy10cmlnZ2VycyBub24tbmlsIHRpbGwgZW5kLg0KISAgICAgKGdkYi1hZGQtcGVu ZGluZyAnZ2RiLXNwZWVkYmFyLXRpbWVyKSkpDQogIA0KICAoZGVmdW4gZ2RiLXNwZWVkYmFyLXRp bWVyLWZuICgpDQogICAgKGlmIGdkYi1zcGVlZGJhci1hdXRvLXJhaXNlDQogICAgICAgIChyYWlz ZS1mcmFtZSBzcGVlZGJhci1mcmFtZSkpDQotICAgKGdkYi1kZWxldGUtcGVuZGluZyAnZ2RiLXNw ZWVkYmFyLXRpbWVyKQ0KICAgIChzcGVlZGJhci10aW1lci1mbikpDQogIA0KICAoZGVmdW4gZ2Ri LXZhci1ldmFsdWF0ZS1leHByZXNzaW9uLWhhbmRsZXIgKHZhcm51bSBjaGFuZ2VkKQ0KLS0tIDEx ODYsMTIwMCAtLS0tDQogICAgICAgIChtZXNzYWdlLWJveCAiTm8gc3ltYm9sIFwiJXNcIiBpbiBj dXJyZW50IGNvbnRleHQuIiBleHByKSkpKQ0KICANCiAgKGRlZnVuIGdkYi1zcGVlZGJhci11cGRh dGUgKCkNCiEgICAod2hlbiAoYW5kIChib3VuZHAgJ3NwZWVkYmFyLWZyYW1lKSAoZnJhbWUtbGl2 ZS1wIHNwZWVkYmFyLWZyYW1lKSkNCiAgICAgIDs7IER1bW15IGNvbW1hbmQgdG8gdXBkYXRlIHNw ZWVkYmFyIGV2ZW4gd2hlbiBpZGxlLg0KISAgICAgKGdkYi1pbnB1dCAiLWVudmlyb25tZW50LXB3 ZCINCiEgICAgICAgICAgICAgICAgJ2dkYi1zcGVlZGJhci10aW1lci1mbg0KISAgICAgICAgICAg ICAgICAnZ2RiLXNwZWVkYmFyLXVwZGF0ZSkpKQ0KICANCiAgKGRlZnVuIGdkYi1zcGVlZGJhci10 aW1lci1mbiAoKQ0KICAgIChpZiBnZGItc3BlZWRiYXItYXV0by1yYWlzZQ0KICAgICAgICAocmFp c2UtZnJhbWUgc3BlZWRiYXItZnJhbWUpKQ0KICAgIChzcGVlZGJhci10aW1lci1mbikpDQogIA0K ICAoZGVmdW4gZ2RiLXZhci1ldmFsdWF0ZS1leHByZXNzaW9uLWhhbmRsZXIgKHZhcm51bSBjaGFu Z2VkKQ0KKioqKioqKioqKioqKioqDQoqKiogMTIwNywxMjE1ICoqKioNCiAgDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7IFVzZXMgIi12YXItdXBkYXRlIC0tYWxs LXZhbHVlcyIuICBOZWVkcyBHREIgNi40IG9ud2FyZHMuDQogIChkZWZ1biBnZGItdmFyLXVwZGF0 ZSAoKQ0KISAgIChpZiAobm90IChnZGItcGVuZGluZy1wICdnZGItdmFyLXVwZGF0ZSkpDQohICAg ICAgIChnZGItaW5wdXQgIi12YXItdXBkYXRlIC0tYWxsLXZhbHVlcyAqIiAnZ2RiLXZhci11cGRh dGUtaGFuZGxlcikpDQohICAgKGdkYi1hZGQtcGVuZGluZyAnZ2RiLXZhci11cGRhdGUpKQ0KICAN CiAgKGRlZnVuIGdkYi12YXItdXBkYXRlLWhhbmRsZXIgKCkNCiAgICAobGV0ICgoY2hhbmdlbGlz dCAoYmluZGF0LWdldC1maWVsZCAoZ2RiLWpzb24tcGFydGlhbC1vdXRwdXQpICdjaGFuZ2VsaXN0 KSkpDQotLS0gMTI4NCwxMjkyIC0tLS0NCiAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA7IFVzZXMgIi12YXItdXBkYXRlIC0tYWxsLXZhbHVlcyIuICBOZWVkcyBH REIgNi40IG9ud2FyZHMuDQogIChkZWZ1biBnZGItdmFyLXVwZGF0ZSAoKQ0KISAgIChnZGItaW5w dXQgIi12YXItdXBkYXRlIC0tYWxsLXZhbHVlcyAqIg0KISAgICAgICAgICAgICAgJ2dkYi12YXIt dXBkYXRlLWhhbmRsZXINCiEgICAgICAgICAgICAgICdnZGItdmFyLXVwZGF0ZSkpDQogIA0KICAo ZGVmdW4gZ2RiLXZhci11cGRhdGUtaGFuZGxlciAoKQ0KICAgIChsZXQgKChjaGFuZ2VsaXN0IChi aW5kYXQtZ2V0LWZpZWxkIChnZGItanNvbi1wYXJ0aWFsLW91dHB1dCkgJ2NoYW5nZWxpc3QpKSkN CioqKioqKioqKioqKioqKg0KKioqIDEyNzIsMTI3OSAqKioqDQogICAgICAgICAgICAgICAgICAg IChwdXNoIHZhcjEgdmFyLWxpc3QpKQ0KICAgICAgICAgICAgICAgICAgKHNldHEgdmFyMSAocG9w IHRlbXAtdmFyLWxpc3QpKSkNCiAgICAgICAgICAgICAgICAoc2V0cSBnZGItdmFyLWxpc3QgKG5y ZXZlcnNlIHZhci1saXN0KSkpKSkpKSkNCi0gICAoc2V0cSBnZGItcGVuZGluZy10cmlnZ2Vycw0K LSAJKGRlbHEgJ2dkYi12YXItdXBkYXRlIGdkYi1wZW5kaW5nLXRyaWdnZXJzKSkNCiAgICAoZ2Ri LXNwZWVkYmFyLXVwZGF0ZSkpDQogIA0KICAoZGVmdW4gZ2RiLXNwZWVkYmFyLWV4cGFuZC1ub2Rl ICh0ZXh0IHRva2VuIGluZGVudCkNCi0tLSAxMzQ5LDEzNTQgLS0tLQ0KKioqKioqKioqKioqKioq DQoqKiogMTcyNywxNzQ0ICoqKioNCiAgICAoc2V0cSBzdHJpbmcgKHJlcGxhY2UtcmVnZXhwLWlu LXN0cmluZyAiXG4iICJcXG4iIHN0cmluZyB0IHQpKQ0KICAgIChjb25jYXQgIlwiIiBzdHJpbmcg IlwiIikpDQogIA0KISAoZGVmdW4gZ2RiLWlucHV0IChjb21tYW5kIGhhbmRsZXItZnVuY3Rpb24p DQogICAgIlNlbmQgQ09NTUFORCB0byBHREIgdmlhIHRoZSBNSSBpbnRlcmZhY2UuDQogIFJ1biB0 aGUgZnVuY3Rpb24gSEFORExFUi1GVU5DVElPTiwgd2l0aCBubyBhcmd1bWVudHMsIG9uY2UgdGhl IGNvbW1hbmQgaXMNCiEgY29tcGxldGUuIg0KISAgIChpZiBnZGItZW5hYmxlLWRlYnVnIChwdXNo IChsaXN0ICdzZW5kLWl0ZW0gY29tbWFuZCBoYW5kbGVyLWZ1bmN0aW9uKQ0KISAJCQkgICAgIGdk Yi1kZWJ1Zy1sb2cpKQ0KISAgIChzZXRxIGdkYi10b2tlbi1udW1iZXIgKDErIGdkYi10b2tlbi1u dW1iZXIpKQ0KISAgIChzZXRxIGNvbW1hbmQgKGNvbmNhdCAobnVtYmVyLXRvLXN0cmluZyBnZGIt dG9rZW4tbnVtYmVyKSBjb21tYW5kKSkNCiEgICAocHVzaCAoY29ucyBnZGItdG9rZW4tbnVtYmVy IGhhbmRsZXItZnVuY3Rpb24pIGdkYi1oYW5kbGVyLWFsaXN0KQ0KISAgIChpZiBnZGJtaS1kZWJ1 Zy1tb2RlIChtZXNzYWdlICJnZGItaW5wdXQ6ICVzIiBjb21tYW5kKSkNCiEgICAocHJvY2Vzcy1z ZW5kLXN0cmluZyAoZ2V0LWJ1ZmZlci1wcm9jZXNzIGd1ZC1jb21pbnQtYnVmZmVyKQ0KISAJCSAg ICAgICAoY29uY2F0IGNvbW1hbmQgIlxuIikpKQ0KICANCiAgOzsgTk9GUkFNRSBpcyB1c2VkIGZv ciBndWQgZXhlY3V0aW9uIGNvbnRyb2wgY29tbWFuZHMNCiAgKGRlZnVuIGdkYi1jdXJyZW50LWNv bnRleHQtY29tbWFuZCAoY29tbWFuZCkNCi0tLSAxODAyLDE4MjYgLS0tLQ0KICAgIChzZXRxIHN0 cmluZyAocmVwbGFjZS1yZWdleHAtaW4tc3RyaW5nICJcbiIgIlxcbiIgc3RyaW5nIHQgdCkpDQog ICAgKGNvbmNhdCAiXCIiIHN0cmluZyAiXCIiKSkNCiAgDQohIChkZWZ1biBnZGItaW5wdXQgKGNv bW1hbmQgaGFuZGxlci1mdW5jdGlvbiAmb3B0aW9uYWwgdHJpZ2dlci1uYW1lKQ0KICAgICJTZW5k IENPTU1BTkQgdG8gR0RCIHZpYSB0aGUgTUkgaW50ZXJmYWNlLg0KICBSdW4gdGhlIGZ1bmN0aW9u IEhBTkRMRVItRlVOQ1RJT04sIHdpdGggbm8gYXJndW1lbnRzLCBvbmNlIHRoZSBjb21tYW5kIGlz DQohIGNvbXBsZXRlLiAgSWYgVFJJR0dFUi1OQU1FIGlzIG5vbi1uaWwsIHRoZSBDT01NQU5EIHdp bGwgbm90IGJlIHNlbnQgdG8gR0RCDQohIGlmIEVtYWNzIGlzIHN0aWxsIHdhaXRpbmcgZm9yIGEg cmVwbHkgZnJvbSBhbm90aGVyIGNvbW1hbmQgd2FzIHByZXZpb3VzbHkNCiEgc2VudCB3aXRoIHRo ZSBzYW1lIFRSSUdHRVItTkFNRS4iDQohICAgKHdoZW4gKG9yIChub3QgdHJpZ2dlci1uYW1lKQ0K ISAgICAgICAgICAgICAobm90IChnZGItcGVuZGluZy1oYW5kbGVyLXAgdHJpZ2dlci1uYW1lKSkp DQohIA0KISAgICAgKGlmIGdkYi1lbmFibGUtZGVidWcgKHB1c2ggKGxpc3QgJ3NlbmQtaXRlbSBj b21tYW5kIGhhbmRsZXItZnVuY3Rpb24pDQohICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBnZGItZGVidWctbG9nKSkNCiEgICAgIChzZXRxIGdkYi10b2tlbi1udW1iZXIgKDErIGdkYi10 b2tlbi1udW1iZXIpKQ0KISAgICAgKHNldHEgY29tbWFuZCAoY29uY2F0IChudW1iZXItdG8tc3Ry aW5nIGdkYi10b2tlbi1udW1iZXIpIGNvbW1hbmQpKQ0KISANCiEgICAgIChnZGItYWRkLWhhbmRs ZXIgZ2RiLXRva2VuLW51bWJlciBoYW5kbGVyLWZ1bmN0aW9uIHRyaWdnZXItbmFtZSkNCiEgDQoh ICAgICAoaWYgZ2RibWktZGVidWctbW9kZSAobWVzc2FnZSAiZ2RiLWlucHV0OiAlcyIgY29tbWFu ZCkpDQohICAgICAocHJvY2Vzcy1zZW5kLXN0cmluZyAoZ2V0LWJ1ZmZlci1wcm9jZXNzIGd1ZC1j b21pbnQtYnVmZmVyKQ0KISAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbmNhdCBjb21tYW5k ICJcbiIpKSkpDQogIA0KICA7OyBOT0ZSQU1FIGlzIHVzZWQgZm9yIGd1ZCBleGVjdXRpb24gY29u dHJvbCBjb21tYW5kcw0KICAoZGVmdW4gZ2RiLWN1cnJlbnQtY29udGV4dC1jb21tYW5kIChjb21t YW5kKQ0KKioqKioqKioqKioqKioqDQoqKiogMTc3NCwxNzgwICoqKioNCiAgKGRlZnVuIGdkYi1y ZXN5bmMoKQ0KICAgIChzZXRxIGd1ZC1ydW5uaW5nIG5pbCkNCiAgICAoc2V0cSBnZGItb3V0cHV0 LXNpbmsgJ3VzZXIpDQohICAgKHNldHEgZ2RiLXBlbmRpbmctdHJpZ2dlcnMgbmlsKSkNCiAgDQog IChkZWZ1biBnZGItdXBkYXRlICgmb3B0aW9uYWwgbm8tcHJvYykNCiAgICAiVXBkYXRlIGJ1ZmZl cnMgc2hvd2luZyBzdGF0dXMgb2YgZGVidWcgc2Vzc2lvbi4NCi0tLSAxODU2LDE4NjIgLS0tLQ0K ICAoZGVmdW4gZ2RiLXJlc3luYygpDQogICAgKHNldHEgZ3VkLXJ1bm5pbmcgbmlsKQ0KICAgIChz ZXRxIGdkYi1vdXRwdXQtc2luayAndXNlcikNCiEgICAoZ2RiLXJlbW92ZS1hbGwtcGVuZGluZy10 cmlnZ2VycykpDQogIA0KICAoZGVmdW4gZ2RiLXVwZGF0ZSAoJm9wdGlvbmFsIG5vLXByb2MpDQog ICAgIlVwZGF0ZSBidWZmZXJzIHNob3dpbmcgc3RhdHVzIG9mIGRlYnVnIHNlc3Npb24uDQoqKioq KioqKioqKioqKioNCioqKiAyMjU1LDIyNjMgKioqKg0KICAgICAgKGlmIChzdHJpbmc9IGdkYi10 aHJlYWQtbnVtYmVyIHRocmVhZC1pZCkNCiAgICAgICAgICAoZ2RiLXNldHEtdGhyZWFkLW51bWJl ciBuaWwpKQ0KICAgICAgOzsgV2hlbiB3ZSBjb250aW51ZSBjdXJyZW50IHRocmVhZCBhbmQgaXQg cXVpY2tseSBleGl0cywNCiEgICAgIDs7IGdkYi1wZW5kaW5nLXRyaWdnZXJzIGxlZnQgYWZ0ZXIg Z2RiLXJ1bm5pbmcgZGlzYWxsb3cgdXMgdG8NCiEgICAgIDs7IHByb3Blcmx5IGNhbGwgLXRocmVh ZC1pbmZvIHdpdGhvdXQgLS10aHJlYWQgb3B0aW9uLiBUaHVzIHdlDQohICAgICA7OyBuZWVkIHRv IHVzZSBnZGItd2FpdC1mb3ItcGVuZGluZy4NCiAgICAgIChnZGItd2FpdC1mb3ItcGVuZGluZw0K ICAgICAgIChnZGItZW1pdC1zaWduYWwgZ2RiLWJ1Zi1wdWJsaXNoZXIgJ3VwZGF0ZS10aHJlYWRz KSkpKQ0KICANCi0tLSAyMzM3LDIzNDUgLS0tLQ0KICAgICAgKGlmIChzdHJpbmc9IGdkYi10aHJl YWQtbnVtYmVyIHRocmVhZC1pZCkNCiAgICAgICAgICAoZ2RiLXNldHEtdGhyZWFkLW51bWJlciBu aWwpKQ0KICAgICAgOzsgV2hlbiB3ZSBjb250aW51ZSBjdXJyZW50IHRocmVhZCBhbmQgaXQgcXVp Y2tseSBleGl0cywNCiEgICAgIDs7IHRoZSBwZW5kaW5nIHRyaWdnZXJzIGluIGdkYi1oYW5kbGVy LWxpc3QgbGVmdCBhZnRlciBnZGItcnVubmluZw0KISAgICAgOzsgZGlzYWxsb3cgdXMgdG8gcHJv cGVybHkgY2FsbCAtdGhyZWFkLWluZm8gd2l0aG91dCAtLXRocmVhZCBvcHRpb24uDQohICAgICA7 OyBUaHVzIHdlIG5lZWQgdG8gdXNlIGdkYi13YWl0LWZvci1wZW5kaW5nLg0KICAgICAgKGdkYi13 YWl0LWZvci1wZW5kaW5nDQogICAgICAgKGdkYi1lbWl0LXNpZ25hbCBnZGItYnVmLXB1Ymxpc2hl ciAndXBkYXRlLXRocmVhZHMpKSkpDQogIA0KKioqKioqKioqKioqKioqDQoqKiogMjI3MiwyMjgw ICoqKioNCiAgICAgIDs7IGJ5IGA9dGhyZWFkLXNlbGVjdGVkYCBub3RpZmljYXRpb24uIGBeZG9u ZWAgY2F1c2VzIGBnZGItdXBkYXRlYA0KICAgICAgOzsgYXMgdXN1YWxseS4gVGhpbmdzIGhhcHBl biB0byBmYXN0IGFuZCBzZWNvbmQgY2FsbCAoZnJvbQ0KICAgICAgOzsgZ2RiLXRocmVhZC1zZWxl Y3RlZCBoYW5kbGVyKSBnZXRzIGN1dCBvZmYgYnkgb3VyIGJlbG92ZWQNCiEgICAgIDs7IGdkYi1w ZW5kaW5nLXRyaWdnZXJzLg0KISAgICAgOzsgU29sdXRpb24gaXMgYGdkYi13YWl0LWZvci1wZW5k aW5nYCBtYWNybzogaXQgZ3VhcmFudGVlcyB0aGF0IGl0cw0KISAgICAgOzsgYm9keSB3aWxsIGdl dCBleGVjdXRlZCB3aGVuIGBnZGItcGVuZGluZy10cmlnZ2Vyc2AgaXMgZW1wdHkuDQogICAgICAo Z2RiLXdhaXQtZm9yLXBlbmRpbmcNCiAgICAgICAoZ2RiLXVwZGF0ZSkpKSkNCiAgDQotLS0gMjM1 NCwyMzYzIC0tLS0NCiAgICAgIDs7IGJ5IGA9dGhyZWFkLXNlbGVjdGVkYCBub3RpZmljYXRpb24u IGBeZG9uZWAgY2F1c2VzIGBnZGItdXBkYXRlYA0KICAgICAgOzsgYXMgdXN1YWxseS4gVGhpbmdz IGhhcHBlbiB0byBmYXN0IGFuZCBzZWNvbmQgY2FsbCAoZnJvbQ0KICAgICAgOzsgZ2RiLXRocmVh ZC1zZWxlY3RlZCBoYW5kbGVyKSBnZXRzIGN1dCBvZmYgYnkgb3VyIGJlbG92ZWQNCiEgICAgIDs7 IHBlbmRpbmcgdHJpZ2dlcnMuDQohICAgICA7OyBTb2x1dGlvbiBpcyBgZ2RiLXdhaXQtZm9yLXBl bmRpbmcnIG1hY3JvOiBpdCBndWFyYW50ZWVzIHRoYXQgaXRzDQohICAgICA7OyBib2R5IHdpbGwg Z2V0IGV4ZWN1dGVkIHdoZW4gYGdkYi1oYW5kbGVyLWxpc3QnIGlmIGZyZWUgb2YNCiEgICAgIDs7 IHBlbmRpbmcgdHJpZ2dlcnMuDQogICAgICAoZ2RiLXdhaXQtZm9yLXBlbmRpbmcNCiAgICAgICAo Z2RiLXVwZGF0ZSkpKSkNCiAgDQoqKioqKioqKioqKioqKioNCioqKiAyNDM4LDI0NDcgKioqKg0K ICAgICAgKHdoZW4gKGFuZCB0b2tlbi1udW1iZXIgaXMtY29tcGxldGUpDQogICAgICAgICh3aXRo LWN1cnJlbnQtYnVmZmVyDQogIAkgIChnZGItZ2V0LWJ1ZmZlci1jcmVhdGUgJ2dkYi1wYXJ0aWFs LW91dHB1dC1idWZmZXIpDQohIAkoZnVuY2FsbA0KISAJIChjZHIgKGFzc29jIChzdHJpbmctdG8t bnVtYmVyIHRva2VuLW51bWJlcikgZ2RiLWhhbmRsZXItYWxpc3QpKSkpDQohICAgICAgIChzZXRx IGdkYi1oYW5kbGVyLWFsaXN0DQohICAgICAgICAgICAgIChhc3NxLWRlbGV0ZS1hbGwgdG9rZW4t bnVtYmVyIGdkYi1oYW5kbGVyLWFsaXN0KSkpDQogIA0KICAgICh3aGVuIGlzLWNvbXBsZXRlDQog ICAgICAoZ2RiLWNsZWFyLXBhcnRpYWwtb3V0cHV0KSkpKQ0KLS0tIDI1MjEsMjUyNyAtLS0tDQog ICAgICAod2hlbiAoYW5kIHRva2VuLW51bWJlciBpcy1jb21wbGV0ZSkNCiAgICAgICAgKHdpdGgt Y3VycmVudC1idWZmZXINCiAgCSAgKGdkYi1nZXQtYnVmZmVyLWNyZWF0ZSAnZ2RiLXBhcnRpYWwt b3V0cHV0LWJ1ZmZlcikNCiEgCShnZGItaGFuZGxlLXJlcGx5IChzdHJpbmctdG8tbnVtYmVyIHRv a2VuLW51bWJlcikpKSkNCiAgDQogICAgKHdoZW4gaXMtY29tcGxldGUNCiAgICAgIChnZGItY2xl YXItcGFydGlhbC1vdXRwdXQpKSkpDQoqKioqKioqKioqKioqKioNCioqKiAyNjU5LDI2ODUgKioq Kg0KICAgICAgICh3aGVuDQogICAgICAgICAgIChvciAobm90ICxzaWduYWwtbGlzdCkNCiAgICAg ICAgICAgICAgIChtZW1xIHNpZ25hbCAsc2lnbmFsLWxpc3QpKQ0KISAgICAgICAgKHdoZW4gKG5v dCAoZ2RiLXBlbmRpbmctcA0KISAgICAgICAgICAgICAgICAgICAgKGNvbnMgKGN1cnJlbnQtYnVm ZmVyKSAnLHRyaWdnZXItbmFtZSkpKQ0KISAgICAgICAgICAoZ2RiLWlucHV0ICxnZGItY29tbWFu ZA0KISAJCSAgICAoZ2RiLWJpbmQtZnVuY3Rpb24tdG8tYnVmZmVyICcsaGFuZGxlci1uYW1lIChj dXJyZW50LWJ1ZmZlcikpKQ0KISAgICAgICAgICAoZ2RiLWFkZC1wZW5kaW5nIChjb25zIChjdXJy ZW50LWJ1ZmZlcikgJyx0cmlnZ2VyLW5hbWUpKSkpKSkNCiAgDQogIDs7IFVzZWQgYnkgZGlzYXNz ZW1ibHkgYnVmZmVyIG9ubHksIHRoZSByZXN0IHVzZQ0KICA7OyBkZWYtZ2RiLXRyaWdnZXItYW5k LWhhbmRsZXINCiEgKGRlZm1hY3JvIGRlZi1nZGItYXV0by11cGRhdGUtaGFuZGxlciAoaGFuZGxl ci1uYW1lIHRyaWdnZXItbmFtZSBjdXN0b20tZGVmdW4NCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZvcHRpb25hbCBub3ByZXNlcnZlKQ0KISAg ICJEZWZpbmUgYSBoYW5kbGVyIEhBTkRMRVItTkFNRSBmb3IgVFJJR0dFUi1OQU1FIHdpdGggQ1VT VE9NLURFRlVOLg0KICANCiAgSGFuZGxlcnMgYXJlIG5vcm1hbGx5IGNhbGxlZCBmcm9tIHRoZSBi dWZmZXJzIHRoZXkgcHV0IG91dHB1dCBpbi4NCiAgDQohIERlbGV0ZSAoKGN1cnJlbnQtYnVmZmVy KSAuIFRSSUdHRVItTkFNRSkgZnJvbQ0KISBgZ2RiLXBlbmRpbmctdHJpZ2dlcnMnLCBlcmFzZSBj dXJyZW50IGJ1ZmZlciBhbmQgZXZhbHVhdGUNCiEgQ1VTVE9NLURFRlVOLiAgVGhlbiBgZ2RiLXVw ZGF0ZS1idWZmZXItbmFtZScgaXMgY2FsbGVkLg0KICANCiAgSWYgTk9QUkVTRVJWRSBpcyBub24t bmlsLCB3aW5kb3cgcG9pbnQgaXMgbm90IHJlc3RvcmVkIGFmdGVyIENVU1RPTS1ERUZVTi4iDQog ICAgYChkZWZ1biAsaGFuZGxlci1uYW1lICgpDQotICAgICAgKGdkYi1kZWxldGUtcGVuZGluZyAo Y29ucyAoY3VycmVudC1idWZmZXIpICcsdHJpZ2dlci1uYW1lKSkNCiAgICAgICAobGV0KiAoKGlu aGliaXQtcmVhZC1vbmx5IHQpDQogICAgICAgICAgICAgICxAKHVubGVzcyBub3ByZXNlcnZlDQog ICAgICAgICAgICAgICAgICAnKCh3aW5kb3cgKGdldC1idWZmZXItd2luZG93IChjdXJyZW50LWJ1 ZmZlcikgMCkpDQotLS0gMjczOSwyNzYxIC0tLS0NCiAgICAgICAod2hlbg0KICAgICAgICAgICAo b3IgKG5vdCAsc2lnbmFsLWxpc3QpDQogICAgICAgICAgICAgICAobWVtcSBzaWduYWwgLHNpZ25h bC1saXN0KSkNCiEgICAgICAgIChnZGItaW5wdXQgLGdkYi1jb21tYW5kDQohICAgICAgICAgICAg ICAgICAgIChnZGItYmluZC1mdW5jdGlvbi10by1idWZmZXIgJyxoYW5kbGVyLW5hbWUgKGN1cnJl bnQtYnVmZmVyKSkNCiEgICAgICAgICAgICAgICAgICAgKGNvbnMgKGN1cnJlbnQtYnVmZmVyKSAn LHRyaWdnZXItbmFtZSkpKSkpDQogIA0KICA7OyBVc2VkIGJ5IGRpc2Fzc2VtYmx5IGJ1ZmZlciBv bmx5LCB0aGUgcmVzdCB1c2UNCiAgOzsgZGVmLWdkYi10cmlnZ2VyLWFuZC1oYW5kbGVyDQohIChk ZWZtYWNybyBkZWYtZ2RiLWF1dG8tdXBkYXRlLWhhbmRsZXIgKGhhbmRsZXItbmFtZSBjdXN0b20t ZGVmdW4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZvcHRpb25hbCBub3ByZXNlcnZlKQ0KISAgICJEZWZpbmUgYSBoYW5kbGVyIEhBTkRMRVIt TkFNRSBjYWxsaW5nIENVU1RPTS1ERUZVTi4NCiAgDQogIEhhbmRsZXJzIGFyZSBub3JtYWxseSBj YWxsZWQgZnJvbSB0aGUgYnVmZmVycyB0aGV5IHB1dCBvdXRwdXQgaW4uDQogIA0KISBFcmFzZSBj dXJyZW50IGJ1ZmZlciBhbmQgZXZhbHVhdGUgQ1VTVE9NLURFRlVOLg0KISBUaGVuIGBnZGItdXBk YXRlLWJ1ZmZlci1uYW1lJyBpcyBjYWxsZWQuDQogIA0KICBJZiBOT1BSRVNFUlZFIGlzIG5vbi1u aWwsIHdpbmRvdyBwb2ludCBpcyBub3QgcmVzdG9yZWQgYWZ0ZXIgQ1VTVE9NLURFRlVOLiINCiAg ICBgKGRlZnVuICxoYW5kbGVyLW5hbWUgKCkNCiAgICAgICAobGV0KiAoKGluaGliaXQtcmVhZC1v bmx5IHQpDQogICAgICAgICAgICAgICxAKHVubGVzcyBub3ByZXNlcnZlDQogICAgICAgICAgICAg ICAgICAnKCh3aW5kb3cgKGdldC1idWZmZXItd2luZG93IChjdXJyZW50LWJ1ZmZlcikgMCkpDQoq KioqKioqKioqKioqKioNCioqKiAyNzA3LDI3MTMgKioqKg0KICAgICAgICAgLGdkYi1jb21tYW5k DQogICAgICAgICAsaGFuZGxlci1uYW1lICxzaWduYWwtbGlzdCkNCiAgICAgICAoZGVmLWdkYi1h dXRvLXVwZGF0ZS1oYW5kbGVyICxoYW5kbGVyLW5hbWUNCiEgICAgICAgICx0cmlnZ2VyLW5hbWUg LGN1c3RvbS1kZWZ1bikpKQ0KICANCiAgDA0KICANCi0tLSAyNzgzLDI3ODkgLS0tLQ0KICAgICAg ICAgLGdkYi1jb21tYW5kDQogICAgICAgICAsaGFuZGxlci1uYW1lICxzaWduYWwtbGlzdCkNCiAg ICAgICAoZGVmLWdkYi1hdXRvLXVwZGF0ZS1oYW5kbGVyICxoYW5kbGVyLW5hbWUNCiEgICAgICAg ICxjdXN0b20tZGVmdW4pKSkNCiAgDQogIAwNCiAgDQoqKioqKioqKioqKioqKioNCioqKiAzNjI0 LDM2MzAgKioqKg0KICANCiAgKGRlZi1nZGItYXV0by11cGRhdGUtaGFuZGxlcg0KICAgIGdkYi1k aXNhc3NlbWJseS1oYW5kbGVyDQotICAgZ2RiLWludmFsaWRhdGUtZGlzYXNzZW1ibHkNCiAgICBn ZGItZGlzYXNzZW1ibHktaGFuZGxlci1jdXN0b20NCiAgICB0KQ0KICANCi0tLSAzNzAwLDM3MDUg LS0tLQ0KKioqKioqKioqKioqKioqDQoqKiogNDExNiw0MTM2ICoqKioNCiAgDQogIDs7IE5lZWRz IEdEQiA2LjQgb253YXJkcyAodXNlZCB0byBmYWlsIHdpdGggbm8gc3RhY2spLg0KICAoZGVmdW4g Z2RiLWdldC1jaGFuZ2VkLXJlZ2lzdGVycyAoKQ0KISAgICh3aGVuIChhbmQgKGdkYi1nZXQtYnVm ZmVyICdnZGItcmVnaXN0ZXJzLWJ1ZmZlcikNCiEgCSAgICAgKG5vdCAoZ2RiLXBlbmRpbmctcCAn Z2RiLWdldC1jaGFuZ2VkLXJlZ2lzdGVycykpKQ0KICAgICAgKGdkYi1pbnB1dCAiLWRhdGEtbGlz dC1jaGFuZ2VkLXJlZ2lzdGVycyINCiEgCSAgICAgICAnZ2RiLWNoYW5nZWQtcmVnaXN0ZXJzLWhh bmRsZXIpDQohICAgICAoZ2RiLWFkZC1wZW5kaW5nICdnZGItZ2V0LWNoYW5nZWQtcmVnaXN0ZXJz KSkpDQogIA0KICAoZGVmdW4gZ2RiLWNoYW5nZWQtcmVnaXN0ZXJzLWhhbmRsZXIgKCkNCi0gICAo Z2RiLWRlbGV0ZS1wZW5kaW5nICdnZGItZ2V0LWNoYW5nZWQtcmVnaXN0ZXJzKQ0KICAgIChzZXRx IGdkYi1jaGFuZ2VkLXJlZ2lzdGVycyBuaWwpDQogICAgKGRvbGlzdCAocmVnaXN0ZXItbnVtYmVy DQogICAgICAgICAgICAgKGJpbmRhdC1nZXQtZmllbGQgKGdkYi1qc29uLXBhcnRpYWwtb3V0cHV0 KSAnY2hhbmdlZC1yZWdpc3RlcnMpKQ0KICAgICAgKHB1c2ggcmVnaXN0ZXItbnVtYmVyIGdkYi1j aGFuZ2VkLXJlZ2lzdGVycykpKQ0KICANCiAgKGRlZnVuIGdkYi1yZWdpc3Rlci1uYW1lcy1oYW5k bGVyICgpDQohICAgOzsgRG9uJ3QgdXNlIGdkYi1wZW5kaW5nLXRyaWdnZXJzIGJlY2F1c2UgdGhp cyBoYW5kbGVyIGlzIGNhbGxlZA0KICAgIDs7IG9ubHkgb25jZSAoaW4gZ2RiLWluaXQtMSkNCiAg ICAoc2V0cSBnZGItcmVnaXN0ZXItbmFtZXMgbmlsKQ0KICAgIChkb2xpc3QgKHJlZ2lzdGVyLW5h bWUNCi0tLSA0MTkxLDQyMDkgLS0tLQ0KICANCiAgOzsgTmVlZHMgR0RCIDYuNCBvbndhcmRzICh1 c2VkIHRvIGZhaWwgd2l0aCBubyBzdGFjaykuDQogIChkZWZ1biBnZGItZ2V0LWNoYW5nZWQtcmVn aXN0ZXJzICgpDQohICAgKHdoZW4gKGdkYi1nZXQtYnVmZmVyICdnZGItcmVnaXN0ZXJzLWJ1ZmZl cikNCiAgICAgIChnZGItaW5wdXQgIi1kYXRhLWxpc3QtY2hhbmdlZC1yZWdpc3RlcnMiDQohICAg ICAgICAgICAgICAgICdnZGItY2hhbmdlZC1yZWdpc3RlcnMtaGFuZGxlcg0KISAgICAgICAgICAg ICAgICAnZ2RiLWdldC1jaGFuZ2VkLXJlZ2lzdGVycykpKQ0KICANCiAgKGRlZnVuIGdkYi1jaGFu Z2VkLXJlZ2lzdGVycy1oYW5kbGVyICgpDQogICAgKHNldHEgZ2RiLWNoYW5nZWQtcmVnaXN0ZXJz IG5pbCkNCiAgICAoZG9saXN0IChyZWdpc3Rlci1udW1iZXINCiAgICAgICAgICAgICAoYmluZGF0 LWdldC1maWVsZCAoZ2RiLWpzb24tcGFydGlhbC1vdXRwdXQpICdjaGFuZ2VkLXJlZ2lzdGVycykp DQogICAgICAocHVzaCByZWdpc3Rlci1udW1iZXIgZ2RiLWNoYW5nZWQtcmVnaXN0ZXJzKSkpDQog IA0KICAoZGVmdW4gZ2RiLXJlZ2lzdGVyLW5hbWVzLWhhbmRsZXIgKCkNCiEgICA7OyBEb24ndCB1 c2UgcGVuZGluZyB0cmlnZ2VycyBiZWNhdXNlIHRoaXMgaGFuZGxlciBpcyBjYWxsZWQNCiAgICA7 OyBvbmx5IG9uY2UgKGluIGdkYi1pbml0LTEpDQogICAgKHNldHEgZ2RiLXJlZ2lzdGVyLW5hbWVz IG5pbCkNCiAgICAoZG9saXN0IChyZWdpc3Rlci1uYW1lDQoqKioqKioqKioqKioqKioNCioqKiA0 MTU0LDQxNjkgKioqKg0KICAoZGVmdW4gZ2RiLWdldC1tYWluLXNlbGVjdGVkLWZyYW1lICgpDQog ICAgIlRyaWdnZXIgZm9yIGBnZGItZnJhbWUtaGFuZGxlcicgd2hpY2ggdXNlcyBtYWluIGN1cnJl bnQgdGhyZWFkLg0KICBDYWxsZWQgZnJvbSBgZ2RiLXVwZGF0ZScuIg0KISAgIChpZiAobm90IChn ZGItcGVuZGluZy1wICdnZGItZ2V0LW1haW4tc2VsZWN0ZWQtZnJhbWUpKQ0KISAgICAgICAocHJv Z24NCiEgCShnZGItaW5wdXQgKGdkYi1jdXJyZW50LWNvbnRleHQtY29tbWFuZCAiLXN0YWNrLWlu Zm8tZnJhbWUiKQ0KISAJCSAgICdnZGItZnJhbWUtaGFuZGxlcikNCiEgCShnZGItYWRkLXBlbmRp bmcgJ2dkYi1nZXQtbWFpbi1zZWxlY3RlZC1mcmFtZSkpKSkNCiAgDQogIChkZWZ1biBnZGItZnJh bWUtaGFuZGxlciAoKQ0KICAgICJTZXQgYGdkYi1zZWxlY3RlZC1mcmFtZScgYW5kIGBnZGItc2Vs ZWN0ZWQtZmlsZScgdG8gc2hvdw0KICBvdmVybGF5IGFycm93IGluIHNvdXJjZSBidWZmZXIuIg0K LSAgIChnZGItZGVsZXRlLXBlbmRpbmcgJ2dkYi1nZXQtbWFpbi1zZWxlY3RlZC1mcmFtZSkNCiAg ICAobGV0ICgoZnJhbWUgKGJpbmRhdC1nZXQtZmllbGQgKGdkYi1qc29uLXBhcnRpYWwtb3V0cHV0 KSAnZnJhbWUpKSkNCiAgICAgICh3aGVuIGZyYW1lDQogICAgICAgIChzZXRxIGdkYi1zZWxlY3Rl ZC1mcmFtZSAoYmluZGF0LWdldC1maWVsZCBmcmFtZSAnZnVuYykpDQotLS0gNDIyNyw0MjM5IC0t LS0NCiAgKGRlZnVuIGdkYi1nZXQtbWFpbi1zZWxlY3RlZC1mcmFtZSAoKQ0KICAgICJUcmlnZ2Vy IGZvciBgZ2RiLWZyYW1lLWhhbmRsZXInIHdoaWNoIHVzZXMgbWFpbiBjdXJyZW50IHRocmVhZC4N CiAgQ2FsbGVkIGZyb20gYGdkYi11cGRhdGUnLiINCiEgICAoZ2RiLWlucHV0IChnZGItY3VycmVu dC1jb250ZXh0LWNvbW1hbmQgIi1zdGFjay1pbmZvLWZyYW1lIikNCiEgICAgICAgICAgICAgICdn ZGItZnJhbWUtaGFuZGxlcg0KISAgICAgICAgICAgICAgJ2dkYi1nZXQtbWFpbi1zZWxlY3RlZC1m cmFtZSkpDQogIA0KICAoZGVmdW4gZ2RiLWZyYW1lLWhhbmRsZXIgKCkNCiAgICAiU2V0IGBnZGIt c2VsZWN0ZWQtZnJhbWUnIGFuZCBgZ2RiLXNlbGVjdGVkLWZpbGUnIHRvIHNob3cNCiAgb3Zlcmxh eSBhcnJvdyBpbiBzb3VyY2UgYnVmZmVyLiINCiAgICAobGV0ICgoZnJhbWUgKGJpbmRhdC1nZXQt ZmllbGQgKGdkYi1qc29uLXBhcnRpYWwtb3V0cHV0KSAnZnJhbWUpKSkNCiAgICAgICh3aGVuIGZy YW1lDQogICAgICAgIChzZXRxIGdkYi1zZWxlY3RlZC1mcmFtZSAoYmluZGF0LWdldC1maWVsZCBm cmFtZSAnZnVuYykpDQoNCg== --20cf301e2e15fdd04504db9f1f31 Content-Type: text/x-patch; charset=US-ASCII; name="tokenNumber.patch" Content-Disposition: attachment; filename="tokenNumber.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: 9a0e4f30cbb4609c_0.3 PT09IG1vZGlmaWVkIGZpbGUgJ2xpc3AvQ2hhbmdlTG9nJw0KKioqIGxpc3AvQ2hhbmdlTG9nCTIw MTMtMDQtMzAgMTY6Mjc6MzYgKzAwMDANCi0tLSBsaXNwL0NoYW5nZUxvZwkyMDEzLTA1LTAxIDAx OjI5OjAxICswMDAwDQoqKioqKioqKioqKioqKioNCioqKiAxLDMgKioqKg0KLS0tIDEsOCAtLS0t DQorIDIwMTMtMDQtMzAgIEplYW4tUGhpbGlwcGUgR3JhdmVsICA8anBncmF2ZWxAZ21haWwuY29t Pg0KKyANCisgCSogcHJvZ21vZGVzL2dkYi1taS5lbCAoZ2RiLWlucHV0KTogSW5jbHVkZSB0b2tl biBudW1iZXJzIGluDQorIAlnZGItZGVidWctbG9nLg0KKyANCiAgMjAxMy0wNC0zMCAgTGVvIExp dSAgPHNkbC53ZWJAZ21haWwuY29tPg0KICANCiAgCSogcHJvZ21vZGVzL29jdGF2ZS5lbCAoaW5m ZXJpb3Itb2N0YXZlLXByb21wdC1yZWFkLW9ubHkpOiBGaXggbGFzdA0KDQo9PT0gbW9kaWZpZWQg ZmlsZSAnbGlzcC9wcm9nbW9kZXMvZ2RiLW1pLmVsJw0KKioqIGxpc3AvcHJvZ21vZGVzL2dkYi1t aS5lbAkyMDEzLTA0LTIwIDE2OjI0OjA0ICswMDAwDQotLS0gbGlzcC9wcm9nbW9kZXMvZ2RiLW1p LmVsCTIwMTMtMDUtMDEgMDE6NDg6MzEgKzAwMDANCioqKioqKioqKioqKioqKg0KKioqIDE3MzEs MTc0MCAqKioqDQogICAgIlNlbmQgQ09NTUFORCB0byBHREIgdmlhIHRoZSBNSSBpbnRlcmZhY2Uu DQogIFJ1biB0aGUgZnVuY3Rpb24gSEFORExFUi1GVU5DVElPTiwgd2l0aCBubyBhcmd1bWVudHMs IG9uY2UgdGhlIGNvbW1hbmQgaXMNCiAgY29tcGxldGUuIg0KLSAgIChpZiBnZGItZW5hYmxlLWRl YnVnIChwdXNoIChsaXN0ICdzZW5kLWl0ZW0gY29tbWFuZCBoYW5kbGVyLWZ1bmN0aW9uKQ0KLSAJ CQkgICAgIGdkYi1kZWJ1Zy1sb2cpKQ0KICAgIChzZXRxIGdkYi10b2tlbi1udW1iZXIgKDErIGdk Yi10b2tlbi1udW1iZXIpKQ0KICAgIChzZXRxIGNvbW1hbmQgKGNvbmNhdCAobnVtYmVyLXRvLXN0 cmluZyBnZGItdG9rZW4tbnVtYmVyKSBjb21tYW5kKSkNCiAgICAocHVzaCAoY29ucyBnZGItdG9r ZW4tbnVtYmVyIGhhbmRsZXItZnVuY3Rpb24pIGdkYi1oYW5kbGVyLWFsaXN0KQ0KICAgIChpZiBn ZGJtaS1kZWJ1Zy1tb2RlIChtZXNzYWdlICJnZGItaW5wdXQ6ICVzIiBjb21tYW5kKSkNCiAgICAo cHJvY2Vzcy1zZW5kLXN0cmluZyAoZ2V0LWJ1ZmZlci1wcm9jZXNzIGd1ZC1jb21pbnQtYnVmZmVy KQ0KLS0tIDE3MzEsMTc0MSAtLS0tDQogICAgIlNlbmQgQ09NTUFORCB0byBHREIgdmlhIHRoZSBN SSBpbnRlcmZhY2UuDQogIFJ1biB0aGUgZnVuY3Rpb24gSEFORExFUi1GVU5DVElPTiwgd2l0aCBu byBhcmd1bWVudHMsIG9uY2UgdGhlIGNvbW1hbmQgaXMNCiAgY29tcGxldGUuIg0KICAgIChzZXRx IGdkYi10b2tlbi1udW1iZXIgKDErIGdkYi10b2tlbi1udW1iZXIpKQ0KICAgIChzZXRxIGNvbW1h bmQgKGNvbmNhdCAobnVtYmVyLXRvLXN0cmluZyBnZGItdG9rZW4tbnVtYmVyKSBjb21tYW5kKSkN CisgDQorICAgKGlmIGdkYi1lbmFibGUtZGVidWcgKHB1c2ggKGxpc3QgJ3NlbmQtaXRlbSBjb21t YW5kIGhhbmRsZXItZnVuY3Rpb24pDQorIAkJCSAgICAgZ2RiLWRlYnVnLWxvZykpDQogICAgKHB1 c2ggKGNvbnMgZ2RiLXRva2VuLW51bWJlciBoYW5kbGVyLWZ1bmN0aW9uKSBnZGItaGFuZGxlci1h bGlzdCkNCiAgICAoaWYgZ2RibWktZGVidWctbW9kZSAobWVzc2FnZSAiZ2RiLWlucHV0OiAlcyIg Y29tbWFuZCkpDQogICAgKHByb2Nlc3Mtc2VuZC1zdHJpbmcgKGdldC1idWZmZXItcHJvY2VzcyBn dWQtY29taW50LWJ1ZmZlcikNCg0K --20cf301e2e15fdd04504db9f1f31--