From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: "Zhu Zihao" Newsgroups: gmane.emacs.devel Subject: New lisp library -- cell.el Date: Fri, 28 Feb 2020 14:21:11 +0800 (CST) Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_47368_1616866529.1582870871151" Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="74977"; mail-complaints-to="usenet@ciao.gmane.io" To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Feb 28 07:37:20 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1j7ZGx-000JQ6-MR for ged-emacs-devel@m.gmane-mx.org; Fri, 28 Feb 2020 07:37:19 +0100 Original-Received: from localhost ([::1]:42336 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j7ZGw-0002Jn-PJ for ged-emacs-devel@m.gmane-mx.org; Fri, 28 Feb 2020 01:37:18 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:56378) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j7ZGM-0001pn-Fy for emacs-devel@gnu.org; Fri, 28 Feb 2020 01:36:44 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j7ZGH-0005cD-M1 for emacs-devel@gnu.org; Fri, 28 Feb 2020 01:36:38 -0500 Original-Received: from m13-28.163.com ([220.181.13.28]:42325) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1j7ZGF-0005b1-AP for emacs-devel@gnu.org; Fri, 28 Feb 2020 01:36:37 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=Date:From:Subject:MIME-Version:Message-ID; bh=o2jM2 BG9yFXvM3rXlXnw3aoLQVQcZU1I527ZoTIb64Y=; b=UxLh8xbxBFYsOAuqSHz93 JpFY4yTB3Uwiardegzu8GAyDojY1Y5Q2cHuYlVmUfetNmjvXqMAAcNJcaz8YFV3W Cj+AVWe/faP7b28rosb3nPhuGjR5kK9lTziGN1NISmQjPtstwbHRs06NF9FRB1qE l4A+8DahlWTi7CY/+GRiDc= Original-Received: from all_but_last$163.com ( [183.19.167.101] ) by ajax-webmail-wmsvr28 (Coremail) ; Fri, 28 Feb 2020 14:21:11 +0800 (CST) X-Originating-IP: [183.19.167.101] X-Priority: 3 X-Mailer: Coremail Webmail Server Version XT5.0.10 build 20190724(ac680a23) Copyright (c) 2002-2020 www.mailtech.cn 163com X-CM-CTRLDATA: ezy8O2Zvb3Rlcl9odG09MjA5Njo1Ng== X-Coremail-Locale: zh_CN X-CM-TRANSID: HMGowAD34p1XsVheuks+AQ--.11650W X-CM-SenderInfo: pdoosuxxwbztlvw6il2tof0z/1tbiFBfXr1aD4rpCswAAsH X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU== X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 220.181.13.28 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:245094 Archived-At: ------=_Part_47368_1616866529.1582870871151 Content-Type: multipart/alternative; boundary="----=_Part_47370_1817540093.1582870871151" ------=_Part_47370_1817540093.1582870871151 Content-Type: text/plain; charset=GBK Content-Transfer-Encoding: base64 SW4gbGFzdCBtb250aCBJIHNlbnQgYW4gZW1haWwgdG8gcmVxdWVzdCBmb3Igc29tZSBjb21tZW50 cyBvbiB3ZWFrIHJlZmVyZW5jZSBmYWNpbGl0aWVzIGluIEVtYWNzLiBOb3cgSSBjcmVhdGUgYSBu ZXcgbGlzcCBsaWJyYXJ5IC0tIGNlbGwuZWwsIHdoaWNoIGltcGxlbWVudGVkIHdlYWsgcmVmZXJl bmNlIGluIEVsaXNwIHVzaW5nIHdlYWsgaGFzaCB0YWJsZSBhbmQgc29tZSBtb3JlIHV0aWwuCgoK VGhlcmUgYXJlIDMga2luZHMgb2YgY2VsbCBpbiBjZWxsLmVsCgoKLSBPcHRpb24gOjogR2l2aW5n ICJleGlzdGVuY2UiIGluZm9ybWF0aW9uIGZvciBhIHZhbHVlLCBMaWtlIE1heWJlIHR5cGUgaW4g SGFza2VsbCBvciBPcHRpb25hbCB0eXBlIGluIEphdmEuCi0gQm94IDo6IExpa2UgYSBzaW5nbGUg ZWxlbWVudCB2ZWN0b3IsIGNyZWF0ZSBhIG11dGFibGUgc3RvcmFnZS4KLSBXZWFrIDo6IFdlYWsg cmVmZXJlbmNlIEkgbWVudGlvbmVkIGFib3ZlLgoKCklNTywgdGhlc2UgY2FuIGhlbHAgdXNlciB0 byBidWlsZCBFbGlzcCBhcHBsaWNhdGlvbiBpbiBtb3JlIGNvbnZlbmllbnQgd2F5LgoKCkZvciBh IHNpbXBsZSBleGFtcGxlLgoKCihwbGlzdC1nZXQgJyg6a2V5IG5pbCkgOmtleSkgOyA9PiBuaWwK KHBsaXN0LWdldCAnKDprZXkgbmlsKSA6dmFsKSA7PT4gbmlsCgoKQnkgdXNpbmcgT3B0aW9uIENl bGwsIHdlIGNhbiBkaWZmZXJlbnRpYXRlIHRoZXNlIHR3byBzdGF0dXMuCgoKKGRlZnVuIGNsZWFy LXBsaXN0LWdldCAocGxpc3Qga2V5KQogIChwY2FzZSAocGxpc3QtbWVtYmVyIHBsaXN0IGtleSkK ICAgIChgKCxfayAsdikKICAgICAgKGNlbGwtb3B0aW9uLXNvbWUgdikpCiAgICAoXwogICAgIChj ZWxsLW9wdGlvbi1ub25lKSkpKQoKKGxldCAoKHBsaXN0ICcoOmtleSBuaWwpKSkKICAocGxpc3Qt Z2V0IHBsaXN0IDprZXkpICAgICAgICAgICAgICAgIDs9PiBuaWwKICAocGxpc3QtZ2V0IHBsaXN0 IDp2YWwpICAgICAgICAgICAgICAgIDs9PiBuaWwKCiAgKGNsZWFyLXBsaXN0LWdldCBwbGlzdCA6 a2V5KSAgICAgICAgICA7PT4gU29tZShuaWwpCiAgKGNsZWFyLXBsaXN0LWdldCBwbGlzdCA6dmFs KSAgICAgICAgICA7PT4gTm9uZQogICkKCgoKSSBkb24ndCB3YW50IHRvIGJyZWFrIHRoZSBiZWhh dmlvdXIgb2YgcGxpc3QtZ2V0LCBqdXN0IGEgZXhhbXBsZSB0byBzaG93IHRoZSBwb3dlciBvZiBP cHRpb24gQ2VsbC4gQW5kIHRoZXJlIGFyZSBkZXRhaWxlZCBkZXNjcmlwdGlvbiBpbiA7OzsgQ29t bWVudGFyeSBzZWN0aW9uLgoKCgpXb3VsZCB5b3UgY29uc2lkZXIgdGhpcyB0byBiZSBpbmNsdWRl ZCBpbiBFbWFjcyBjb3JlLCBvciBwdWJsaXNoIGl0IG9uIEdOVSBFTFBBPwo= ------=_Part_47370_1817540093.1582870871151 Content-Type: text/html; charset=GBK Content-Transfer-Encoding: base64 PGRpdiBzdHlsZT0ibGluZS1oZWlnaHQ6MS43O2NvbG9yOiMwMDAwMDA7Zm9udC1zaXplOjE0cHg7 Zm9udC1mYW1pbHk6QXJpYWwiPjxkaXY+SW4gbGFzdCBtb250aCBJIHNlbnQgYW4gZW1haWwgdG8g cmVxdWVzdCBmb3Igc29tZSBjb21tZW50cyBvbiB3ZWFrIHJlZmVyZW5jZSBmYWNpbGl0aWVzIGlu IEVtYWNzLiBOb3cgSSBjcmVhdGUgYSBuZXcgbGlzcCBsaWJyYXJ5IC0tIGNlbGwuZWwsIHdoaWNo IGltcGxlbWVudGVkIHdlYWsgcmVmZXJlbmNlIGluIEVsaXNwIHVzaW5nIHdlYWsgaGFzaCB0YWJs ZSBhbmQgc29tZSBtb3JlIHV0aWwuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5UaGVyZSBhcmUg MyBraW5kcyBvZiBjZWxsIGluIGNlbGwuZWw8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pi0gT3B0 aW9uIDo6IEdpdmluZyAiZXhpc3RlbmNlIiBpbmZvcm1hdGlvbiBmb3IgYSB2YWx1ZSwgTGlrZSBN YXliZSB0eXBlIGluIEhhc2tlbGwgb3IgT3B0aW9uYWwgdHlwZSBpbiBKYXZhLjwvZGl2PjxkaXY+ LSBCb3ggOjogTGlrZSBhIHNpbmdsZSBlbGVtZW50IHZlY3RvciwgY3JlYXRlIGEgbXV0YWJsZSBz dG9yYWdlLjwvZGl2PjxkaXY+LSBXZWFrIDo6IFdlYWsgcmVmZXJlbmNlIEkgbWVudGlvbmVkIGFi b3ZlLjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+SU1PLCB0aGVzZSBjYW4gaGVscCB1c2VyIHRv IGJ1aWxkIEVsaXNwIGFwcGxpY2F0aW9uIGluIG1vcmUgY29udmVuaWVudCB3YXkuPC9kaXY+PGRp dj48YnI+PC9kaXY+PGRpdj5Gb3IgYSBzaW1wbGUgZXhhbXBsZS48L2Rpdj48ZGl2Pjxicj48L2Rp dj48ZGl2PihwbGlzdC1nZXQgJyg6a2V5IG5pbCkgOmtleSkgOyA9Jmd0OyBuaWw8L2Rpdj48ZGl2 PihwbGlzdC1nZXQgJyg6a2V5IG5pbCkgOnZhbCkgOz0mZ3Q7IG5pbDwvZGl2PjxkaXY+PGJyPjwv ZGl2PjxkaXY+QnkgdXNpbmcgT3B0aW9uIENlbGwsIHdlIGNhbiBkaWZmZXJlbnRpYXRlIHRoZXNl IHR3byBzdGF0dXMuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj4oZGVmdW4gY2xlYXItcGxpc3Qt Z2V0IChwbGlzdCBrZXkpPGJyPiZuYnNwOyAocGNhc2UgKHBsaXN0LW1lbWJlciBwbGlzdCBrZXkp PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyAoYCgsX2sgLHYpPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyAoY2VsbC1vcHRpb24tc29tZSB2KSk8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7IChf PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAoY2VsbC1vcHRpb24tbm9uZSkpKSk8YnI+PGJy PihsZXQgKChwbGlzdCAnKDprZXkgbmlsKSkpPGJyPiZuYnNwOyAocGxpc3QtZ2V0IHBsaXN0IDpr ZXkpJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDs9Jmd0OyBuaWw8YnI+Jm5ic3A7 IChwbGlzdC1nZXQgcGxpc3QgOnZhbCkmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg Oz0mZ3Q7IG5pbDxicj48YnI+Jm5ic3A7IChjbGVhci1wbGlzdC1nZXQgcGxpc3QgOmtleSkmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgOz0mZ3Q7 IFNvbWUobmlsKTxicj4mbmJzcDsgKGNsZWFyLXBsaXN0LWdldCBwbGlzdCA6dmFsKSZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyA7PSZndDsgTm9u ZTxicj4mbmJzcDsgKTxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkkgZG9uJ3Qgd2FudCB0 byBicmVhayB0aGUgYmVoYXZpb3VyIG9mIHBsaXN0LWdldCwganVzdCBhIGV4YW1wbGUgdG8gc2hv dyB0aGUgcG93ZXIgb2YgT3B0aW9uIENlbGwuIEFuZCB0aGVyZSBhcmUgZGV0YWlsZWQgZGVzY3Jp cHRpb24gaW4gOzs7IENvbW1lbnRhcnkgc2VjdGlvbi48YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+ PGRpdj5Xb3VsZCB5b3UgY29uc2lkZXIgdGhpcyB0byBiZSBpbmNsdWRlZCBpbiBFbWFjcyBjb3Jl LCBvciBwdWJsaXNoIGl0IG9uIEdOVSBFTFBBPzxicj48L2Rpdj48L2Rpdj48YnI+PGJyPjxzcGFu IHRpdGxlPSJuZXRlYXNlZm9vdGVyIj48cD4mbmJzcDs8L3A+PC9zcGFuPg== ------=_Part_47370_1817540093.1582870871151-- ------=_Part_47368_1616866529.1582870871151 Content-Type: application/octet-stream; name=cell.el Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="cell.el" Ozs7IGNlbGwuZWwgLS0tIFZhbHVlIHdpdGggZXh0cmEgaW5mb3JtYXRpb24gLSotIGxleGljYWwt YmluZGluZzogdCAtKi0KCjs7IENvcHlyaWdodCAoQykgMjAyMCBaaHUgWmloYW8KCjs7IEF1dGhv cjogWmh1IFppaGFvIDxhbGxfYnV0X2xhc3RAMTYzLmNvbT4KOzsgVVJMOiBodHRwczovL2dpdGh1 Yi5jb20vY2lyZXUvZW1hY3MtY2VsbAo7OyBWZXJzaW9uOiAwLjAuMQo7OyBQYWNrYWdlLVJlcXVp cmVzOiAoKGVtYWNzICIyNC4zIikpCjs7IEtleXdvcmRzOiBsaXNwCgo7OyBUaGlzIGZpbGUgaXMg Tk9UIHBhcnQgb2YgR05VIEVtYWNzLgoKOzsgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKOzsgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKOzsgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMywgb3IgKGF0IHlvdXIg b3B0aW9uKQo7OyBhbnkgbGF0ZXIgdmVyc2lvbi4KCjs7IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo7OyBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo7OyBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl Cjs7IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgo7OyBGb3Ig YSBmdWxsIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCjs7IHNlZSA8aHR0 cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKOzs7IENvbW1lbnRhcnk6Cgo7OyAqIEludHJv ZHVjdGlvbgoKOzsgVGhpcyBsaWJyYXJ5IHByb3ZpZGVzIGEgc2V0IG9mICJDZWxsIiBmb3IgRWxp c3AgcHJvZ3JhbW1pbmcuIEEgIkNlbGwiIGlzIGEKOzsgY29udGFpbmVyIG9mIHNpbmdsZSBMaXNw IHZhbHVlLCB3aXRoIGV4dHJhIGluZm9ybWF0aW9uIGF0dGFjaGVkIG9uIGl0LgoKOzsgQ3VycmVu dGx5IHRoZXJlIGFyZSAzIGtpbmRzIG9mICJDZWxsIiBpbiB+Y2VsbC5lbH4KCjs7ICoqIE9wdGlv bgoKOzsgQSBPcHRpb24gQ2VsbCBhZGQgdGhlICJleGlzdGVuY2UiIGluZm9ybWF0aW9uIGZvciBh IGxpc3AgdmFsdWUuCjs7IEEgT3B0aW9uIENlbGwgbWF5IGluIDIgdmFyaWFudCwgflNvbWV+IHZh cmlhbnQgbWVhbnMgdGhlcmUncyBhIHZhbHVlIGFuZAo7OyB+Tm9uZX4gdmFyaWFudCBtZWFucyB0 aGVyZSdzIG5vIHZhbHVlLgoKOzsgT3B0aW9uIENlbGwgaXMgdXNlZnVsIHdoZW4gd3JpdGluZyBm dW50aW9uIHRvIHF1ZXJ5IGEgY29sbGVjdGlvbi4gWW91IGNhbiB1c2UKOzsgfk5vbmV+IHZhcmlh bnQgdG8gcHJlc2VudCAiTm90IGZvdW5kIi4gV2hlbiB1c2luZyB+bmlsfiB0byBwcmVzZW50ICJO b3QKOzsgICAgZm9udWQiIGluIHRyYW5kaXRpb25hbCBMaXNwIHByb2dyYW1taW5nIHN0eWxlLiBU aGUgY2FsbGVyIG9mIHlvdXIgcXVlcnkKOzsgZnVuY3Rpb24gbWF5IGhhdmUgbWlzdGFrZW4gb24g IkZvdW5kIGFuZCBnZXQgYSB+bmlsfiB2YWx1ZSIgYW5kICJOb3QgZm91bmQiLgoKOzsgIytiZWdp bl9zcmMgZW1hY3MtbGlzcAo7OyAoZGVmdW4gY2xlYXItcGxpc3QtZ2V0IChwbGlzdCBrZXkpCjs7 ICAgKHBjYXNlIChwbGlzdC1tZW1iZXIgcGxpc3Qga2V5KQo7OyAgICAgKGAoLF9rICx2KQo7OyAg ICAgICAoY2VsbC1vcHRpb24tc29tZSB2KSkKOzsgICAgIChfCjs7ICAgICAgKGNlbGwtb3B0aW9u LW5vbmUpKSkpCgo7OyAobGV0ICgocGxpc3QgJyg6a2V5IG5pbCkpKQo7OyAgIChwbGlzdC1nZXQg cGxpc3QgOmtleSkgICAgICAgICAgICAgICAgOz0+IG5pbAo7OyAgIChwbGlzdC1nZXQgcGxpc3Qg OnZhbCkgICAgICAgICAgICAgICAgOz0+IG5pbAoKOzsgICAoY2xlYXItcGxpc3QtZ2V0IHBsaXN0 IDprZXkpICAgICAgICAgIDs9PiBTb21lKG5pbCkKOzsgICAoY2xlYXItcGxpc3QtZ2V0IHBsaXN0 IDp2YWwpICAgICAgICAgIDs9PiBOb25lCjs7ICAgKQo7OyAjK2VuZF9zcmMKCjs7IH5jZWxsLmVs fiBhbHNvIHByb3ZpZGVzIHNvbWUgZmFjaWxpdHkgdG8gb3BlcmF0ZXMgb24gYSBPcHRpb24gQ2Vs bC4KCjs7ICMrYmVnaW5fc3JjIGVtYWNzLWxpc3AKOzsgKGxldCAoKHNvbWUgKGNlbGwtb3B0aW9u LXNvbWUgMSkpCjs7ICAgICAgIChub25lIChjZWxsLW9wdGlvbi1ub25lKSkpCjs7ICAgKGNlbGwt b3B0aW9uLW1hcCBzb21lICMnMSspICAgICAgICAgICA7PT4gU29tZSgyKQo7OyAgIChjZWxsLW9w dGlvbi1tYXAgbm9uZSAjJzErKSAgICAgICAgICAgOz0+IE5vbmUKCjs7ICAgKGNlbGwtb3B0aW9u LWlmLWxldCAoaW5uZXIgc29tZSkKOzsgICAgICAgKG1lc3NhZ2UgIlNvbWUoJWQpIiBpbm5lcikK OzsgICAgIChlcnJvciAiVW5yZWFjaGFibGUhIikpKQo7OyAjK2VuZF9zcmMKCjs7ICoqIEJveAoK OzsgQSBCb3ggQ2VsbCBpcyBsaWtlIGEgc2luZ2xlLWVsZW1lbnQgdmVjdG9yLCBub3JtYWxseSB1 c2VkIGFzIG1pbmltYWwgbXV0YWJsZQo7OyBzdG9yYWdlLgoKOzsgIytiZWdpbl9zcmMgZW1hY3Mt bGlzcAo7OyAobGV0KiAoKGJveCAoY2VsbC1ib3gtbWFrZSAiRW1hY3MiKSkKOzsgICAgICAgIChs c3QgKGxpc3QgYm94KSkKOzsgICAgICAgICh2ZWMgKHZlY3RvciBib3gpKSkKOzsgICAoY2wtYXNz ZXJ0IChlcSAoY2VsbC1ib3gtaW5uZXIgKG50aCAwIGxzdCkpCjs7ICAgICAgICAgICAgICAgICAg KGNlbGwtYm94LWlubmVyIChhcmVmIHZlYyAwKSkpKQoKOzsgICAoc2V0ZiAoY2VsbC1ib3gtaW5u ZXIgKG50aCAwIGxzdCkpICJlbWFjcyIpCjs7ICAgKGNsLWFzc2VydCAoZXEgKGNlbGwtYm94LWlu bmVyIChudGggMCBsc3QpKQo7OyAgICAgICAgICAgICAgICAgIChjZWxsLWJveC1pbm5lciAoYXJl ZiB2ZWMgMCkpKSkpCjs7ICMrZW5kX3NyYwoKCjs7ICoqIFdlYWsKCjs7IEEgV2VhayBDZWxsIGlz IGxpa2Ugd2VhayBwb2ludGVyIGluIG90aGVyIGxhbmd1YWdlcy4gVGhlIHJlZmVyZW5jZSBpbiBX ZWFrCjs7IENlbGwgd2lsbCBub3QgYmUgY29uc2lkZXJlZCBpbiBHQy4gVGhpcyBjYW4gaGVscCB5 b3UgbWFuYWdlIHN0cnVjdCB3aXRoCjs7IGN5Y2xpYyByZWZlcmVuY2UuCgo7OyBXaGVuIGRlc2ln biBhIFJBSUkgc3R5bGUgQVBJIGluIEVtYWNzIExpc3AsIFdlYWsgQ2VsbCBjYW4gaGVscCB5b3UK OzsgZGlmZmVyZW50aWF0ZSAiZmlyc3QgY2xhc3MiIHJlZmVyZW5jZSBhbmQgInNlY29uZCBjbGFz cyIgcmVmZXJlbmNlLiBBbmQKOzsgbWFrZSBzdXJlIGZpbmFsaXplciBjYW4gYmUgcnVuIGFzIGV4 cGVjdGVkLgoKOzsgIytiZWdpbl9zcmMgZW1hY3MtbGlzcAo7OyAobGV0ICgod2Vha3B0ciAoY2Vs bC13ZWFrLW1ha2UgKGxpc3QgMSAyIDMgNCkpKSkKOzsgICAoY2wtYXNzZXJ0IChlcXVhbCAoY2Vs bC13ZWFrLWdldCB3ZWFrcHRyKQo7OyAgICAgICAgICAgICAgICAgICAgIChjZWxsLW9wdGlvbi1z b21lIChsaXN0IDEgMiAzIDQpKSkpCjs7ICAgKGdhcmJhZ2UtY29sbGVjdCkKOzsgICA7OyB2YWx1 ZSBpbnNpZGUgd2Vha3B0ciB3YXMgR0NlZCBiZWNhdXNlIG5vdGhpbmcgb3RoZXIgdGhhbiBhIHdl YWsgY2VsbAo7OyAgIDs7IGhlbGQgaXRzIHJlZmVyZW5jZS4gU28gYGNlbGwtd2Vhay1nZXQnIHdp bGwgcmV0dXJuIGEgTm9uZS4KOzsgICAoY2wtYXNzZXJ0IChlcXVhbCAoY2VsbC13ZWFrLWdldCB3 ZWFrcHRyKQo7OyAgICAgICAgICAgICAgICAgICAgIChjZWxsLW9wdGlvbi1ub25lKSkpKQo7OyAj K2VuZF9zcmMKCjs7ICogQ29udHJpYnV0aW9ucwoKOzsgUGxlYXNlIHJlcG9ydCBhbiBpc3N1ZSBv ciBQUiBpZiB5b3UgZW5jb3VudGVyIGFueSBwcm9ibGVtIHdoZW4gdXNpbmcgdGhlIGxpYnJhcnku Cgo7OzsgQ29kZToKCjs7OyBPcHRpb24KCihldmFsLXdoZW4tY29tcGlsZSAocmVxdWlyZSAnY2wt bGliKSkKCihjbC1kZWZzdHJ1Y3QgKGNlbGwtb3B0aW9uCiAgICAgICAgICAgICAgICg6Y29uc3Ry dWN0b3IgbmlsKQogICAgICAgICAgICAgICAoOmNvbnN0cnVjdG9yIGNlbGwtb3B0aW9uLS1pbnRl cm5hbC1tYWtlICgtdmFsKSkKICAgICAgICAgICAgICAgKDpjb3BpZXIgbmlsKSkKICAoLXZhbCBu aWwgOnJlYWQtb25seSB0KSkKCjs7IENvbnN0cnVjdG9yCgooZGVmc3Vic3QgY2VsbC1vcHRpb24t c29tZSAodmFsdWUpCiAgIkNyZWF0ZSBhbiBvcHRpb24gaW4gU29tZSB2YXJpYW50IHdpdGggVkFM VUUuIgogIChjZWxsLW9wdGlvbi0taW50ZXJuYWwtbWFrZSB2YWx1ZSkpCgooZGVmY29uc3QgY2Vs bC1vcHRpb24tLW5vbmUtc2luZ2xldG9uCiAgKGxldCAoKHN5bSAobWFrZS1zeW1ib2wgInJzdHJl YW0tLW5vbmUiKSkpCiAgICAoY2VsbC1vcHRpb24tLWludGVybmFsLW1ha2Ugc3ltKSkpCgooZGVm c3Vic3QgY2VsbC1vcHRpb24tbm9uZSAoKQogICJDcmVhdGUgYW4gb3B0aW9uIGluIE5vbmUgdmFy aWFudC4iCiAgY2VsbC1vcHRpb24tLW5vbmUtc2luZ2xldG9uKQoKKGRlZnVuIGNlbGwtb3B0aW9u LWZyb20tbm9uLW5pbCAodmFsdWUpCiAgIkNyZWF0ZSBTb21lKFZBTFVFKSBpZiBWQUxVRSBpZiBu b24tbmlsLCBvdGhlcndpc2UgY3JlYXRlIGEgTm9uZS4iCiAgKGlmIHZhbHVlCiAgICAgIChjZWxs LW9wdGlvbi1zb21lIHZhbHVlKQogICAgKGNlbGwtb3B0aW9uLW5vbmUpKSkKCjs7IFByZWRpY2F0 b3IKCihkZWZ1biBjZWxsLW9wdGlvbi1ub25lLXAgKG9wdGlvbikKICAiUmV0dXJuIG5vbi1uaWwg aWYgT1BUSU9OIGluIE5vbmUgdmFyaWFudC4iCiAgKGlmIChjbC10eXBlcCBvcHRpb24gJ2NlbGwt b3B0aW9uKQogICAgICAoZXEgb3B0aW9uIChjZWxsLW9wdGlvbi1ub25lKSkKICAgIChzaWduYWwg J3dyb25nLXR5cGUtYXJndW1lbnQKICAgICAgICAgICAgKGxpc3QgJ2NlbGwtb3B0aW9uIG9wdGlv biAnb3B0aW9uKSkpKQoKKGRlZnN1YnN0IGNlbGwtb3B0aW9uLXNvbWUtcCAob3B0aW9uKQogICJS ZXR1cm4gbm9uLW5pbCBpZiBPUFRJT04gaW4gU29tZSB2YXJpYW50LiIKICAobm90IChjZWxsLW9w dGlvbi1ub25lLXAgb3B0aW9uKSkpCgo7OyBPcGVyYXRvcgoKKGNsLWRlZm1hY3JvIGNlbGwtb3B0 aW9uLWlmLWxldCAoKHZhciB2YWwpIHRoZW4gJnJlc3QgZWxzZSkKICAiQmluZCB0aGUgaW5uZXIg b2YgVkFMIHRvIFZBUiBhbmQgeWllbGQgVEhFTiBpZiBWQUwgaXMgYSBTb21lLCBvciB5aWVsZCBF TFNFLiIKICAoZGVjbGFyZSAoaW5kZW50IDIpIChkZWJ1ZyAoKHN5bWJvbHAgZm9ybSkgZm9ybSBi b2R5KSkpCiAgKG1hY3JvZXhwLWxldDIgbmlsIHZhbCB2YWwKICAgIGAoaWYgKGNlbGwtb3B0aW9u LXNvbWUtcCAsdmFsKQogICAgICAgICAobGV0ICgoLHZhciAoY2VsbC1vcHRpb24tLXZhbCAsdmFs KSkpCiAgICAgICAgICAgLHRoZW4pCiAgICAgICAsQGVsc2UpKSkKCihjbC1kZWZtYWNybyBjZWxs LW9wdGlvbi13aGVuLWxldCAoKHZhciB2YWwpICZyZXN0IGZvcm1zKQogICJCaW5kIHRoZSBpbm5l ciBvZiBWQUwgdG8gVkFSIGFuZCB5aWVsZCBGT1JNUyBpZiBWQUwgaXMgYSBTb21lLiIKICAoZGVj bGFyZSAoaW5kZW50IDEpIChkZWJ1ZyAoKHN5bWJvbHAgZm9ybSkgYm9keSkpKQogIGAoY2VsbC1v cHRpb24taWYtbGV0ICgsdmFyICx2YWwpCiAgICAgICAsKG1hY3JvZXhwLXByb2duIGZvcm1zKSkp CgooZGVmdW4gY2VsbC1vcHRpb24tbWFwIChvcHRpb24gZnVuYykKICAiVHJhbnNmb3JtIHRoZSBp bm5lciBvZiBPUFRJT04gdXNpbmcgRlVOQy4iCiAgKGNlbGwtb3B0aW9uLWlmLWxldCAoaW5uZXIg b3B0aW9uKQogICAgICAoY2VsbC1vcHRpb24tc29tZSAoZnVuY2FsbCBmdW5jIGlubmVyKSkKICAg IG9wdGlvbikpCgooZGVmYWxpYXMgJ2NlbGwtb3B0aW9uLWlubmVyLXVuY2hlY2tlZCAnY2VsbC1v cHRpb24tLXZhbAogICJSZXR1cm4gdGhlIGlubmVyIHZhbHVlIG9mIE9QVElPTiBkaXJlY3RseSwg c2tpcCBzdGF0dXMgY2hlY2tpbmcuCgpJdCdzIHlvdXIgZ3VhcmFudGVlIHRvIGVuc3VyZSB0aGUg T1BUSU9OIGlzIGEgU29tZSB0byBnZXQgbWVhbmluZ2Z1bCByZXN1bHQuClxuKGZuIE9QVElPTiki KQoKOzs7IEJveAoKKGNsLWRlZnN0cnVjdCAoY2VsbC1ib3gKICAgICAgICAgICAgICAgKDpjb25z dHJ1Y3RvciBuaWwpCiAgICAgICAgICAgICAgICg6Y29uc3RydWN0b3IgY2VsbC1ib3gtLW1ha2Ug KC1pbm5lcikpCiAgICAgICAgICAgICAgICg6Y29waWVyIG5pbCkpCiAgLWlubmVyKQoKKGRlZmFs aWFzICdjZWxsLWJveC1tYWtlICdjZWxsLWJveC0tbWFrZQogICJDcmVhdGUgYSBzaW5nbGUgbXV0 YWJsZSB1bml0IHdpdGggSU5JVElBTC1WQUxVRS4iKQoKKGRlZmFsaWFzICdjZWxsLWJveC1pbm5l ciAnY2VsbC1ib3gtLWlubmVyCiAgIlJldHVybiB0aGUgaW5uZXIgdmFsdWUgb2YgQk9YLgpcbihm biBCT1gpIikKCjs7OyBXZWFrCgooY2wtZGVmc3RydWN0IChjZWxsLXdlYWsKICAgICAgICAgICAg ICAgKDpjb25zdHJ1Y3RvciBuaWwpCiAgICAgICAgICAgICAgICg6Y29uc3RydWN0b3IgY2VsbC13 ZWFrLS1pbnRlcm5hbC1tYWtlKQogICAgICAgICAgICAgICAoOmNvcGllciBuaWwpKQogICgtaW5u ZXItdGFibGUgKG1ha2UtaGFzaC10YWJsZSA6dGVzdCAjJ2VxIDp3ZWFrbmVzcyAndmFsdWUpIDpy ZWFkLW9ubHkgdCkpCgooZGVmdW4gY2VsbC13ZWFrLW1ha2UgKGlubmVyKQogICJDcmVhdGUgYSBj ZWxsIHRha2VzIGEgd2VhayByZWZlcmVuY2Ugb2YgSU5ORVIuIgogIChsZXQqICgoY2VsbCAoY2Vs bC13ZWFrLS1pbnRlcm5hbC1tYWtlKSkKICAgICAgICAgKGludGVybmFsLWh0IChjZWxsLXdlYWst LWlubmVyLXRhYmxlIGNlbGwpKSkKICAgIChwdXRoYXNoIHQgaW5uZXIgaW50ZXJuYWwtaHQpCiAg ICBjZWxsKSkKCihkZWZ1biBjZWxsLXdlYWstZ2V0IChjZWxsKQogICJSZXR1cm4gU29tZShpbm5l cikgaWYgcmVmZXJlbmNlIGluIENFTEwgc3RpbGwgYWxpdmUsIG90aGVyd2lzZSByZXR1cm4gTm9u ZS4iCiAgKGxldCogKChnZW5zeW0gKG1ha2Utc3ltYm9sICJub3QtZm91bmQiKSkKICAgICAgICAg KHZhbCAoZ2V0aGFzaCB0IChjZWxsLXdlYWstLWlubmVyLXRhYmxlIGNlbGwpIGdlbnN5bSkpCiAg ICAgICAgIChmb3VuZCAobm90IChlcSBnZW5zeW0gdmFsKSkpKQogICAgKGlmIGZvdW5kCiAgICAg ICAgKGNlbGwtb3B0aW9uLXNvbWUgdmFsKQogICAgICAoY2VsbC1vcHRpb24tbm9uZSkpKSkKCihw cm92aWRlICdjZWxsKQoKOzsgTG9jYWwgVmFyaWFibGVzOgo7OyBjb2Rpbmc6IHV0Zi04Cjs7IEVu ZDoKCjs7OyBjZWxsLmVsIGVuZHMgaGVyZQo= ------=_Part_47368_1616866529.1582870871151--