From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: lukas huonker Newsgroups: gmane.emacs.devel Subject: patch for tetris.el Date: Mon, 19 Apr 2010 00:33:28 +0200 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=00148527ae60f412d004848a6ea6 X-Trace: dough.gmane.org 1271639365 11201 80.91.229.12 (19 Apr 2010 01:09:25 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 19 Apr 2010 01:09:25 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Apr 19 03:09:23 2010 connect(): No such file or directory Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1O3fUG-0002r7-Ti for ged-emacs-devel@m.gmane.org; Mon, 19 Apr 2010 03:09:21 +0200 Original-Received: from localhost ([127.0.0.1]:37039 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O3fUG-0003SF-4n for ged-emacs-devel@m.gmane.org; Sun, 18 Apr 2010 21:09:20 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1O3d3V-0000Ki-HJ for emacs-devel@gnu.org; Sun, 18 Apr 2010 18:33:33 -0400 Original-Received: from [140.186.70.92] (port=41573 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O3d3T-0000KW-Tg for emacs-devel@gnu.org; Sun, 18 Apr 2010 18:33:33 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1O3d3S-0002G2-RR for emacs-devel@gnu.org; Sun, 18 Apr 2010 18:33:31 -0400 Original-Received: from ey-out-1920.google.com ([74.125.78.146]:7700) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O3d3S-0002FV-Cx for emacs-devel@gnu.org; Sun, 18 Apr 2010 18:33:30 -0400 Original-Received: by ey-out-1920.google.com with SMTP id 13so130158eye.2 for ; Sun, 18 Apr 2010 15:33:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:received:message-id :subject:from:to:content-type; bh=9isBX6X5O83Ri7k62woAjYUBFXl6gXT3NHHZlEdTkmw=; b=hLSGERiCVCxsSNun2FLLT2YPaiuFVUDKAjODlt+wjlkbh+XX8ZkwoKQwKk10CFdr10 36QfQFbZybY1QEfkf2zufXkxP1O2Ro4qPvULbTcDpgwHpJEfBlGtMBmXOnduuWP5xfOL KfbL2aFvVSXwZzUAJwxJaSPfJD4DJGKDAzcbY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=Zej28NPzSVxPZYDyDhFFNtOGftWTc8bXX3AuxyTOhdGjr8FIo31zSyUWqxGn40F4F6 555YaLvEQbBAHHLPZ7dDtl1qw/Opl+IRINaQ9VvWvOwX1bdGYi1CyezKtJIxTsY+9AEf iqJrIgFGZ71OkSeWPDFwOsn8LljzeO6z4jHRM= Original-Received: by 10.213.33.140 with HTTP; Sun, 18 Apr 2010 15:33:28 -0700 (PDT) Original-Received: by 10.213.59.10 with SMTP id j10mr2323395ebh.26.1271630008684; Sun, 18 Apr 2010 15:33:28 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Mailman-Approved-At: Sun, 18 Apr 2010 21:08:24 -0400 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:123861 Archived-At: --00148527ae60f412d004848a6ea6 Content-Type: multipart/alternative; boundary=00148527ae60f412c104848a6ea4 --00148527ae60f412c104848a6ea4 Content-Type: text/plain; charset=ISO-8859-1 hello attached is a small patch that improves on the OO-features of tetris.el. it allows pieces to be rotated in arbitrary ways, giving rotation a more natural look and feel. also the initial rotations of pieces are different from the last version. lukas h --00148527ae60f412c104848a6ea4 Content-Type: text/html; charset=ISO-8859-1 hello

attached is a small patch that improves on the OO-features of tetris.el. it allows pieces to be rotated in arbitrary ways, giving rotation a more natural look and feel. also the initial rotations of pieces are different from the last version.

lukas h
--00148527ae60f412c104848a6ea4-- --00148527ae60f412d004848a6ea6 Content-Type: application/octet-stream; name="tetris.patch" Content-Disposition: attachment; filename="tetris.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g86fnbxb0 LS0tIHRldHJpcy5lbAkyMDEwLTA0LTE4IDIyOjU1OjQ0LjAwMDAwMDAwMCArMDIwMAorKysgdGV0 cmlzLmVsCTIwMTAtMDQtMTggMjM6Mjk6NDYuMDAwMDAwMDAwICswMjAwCkBAIC0xLDcgKzEsNyBA QAogOzs7IHRldHJpcy5lbCAtLS0gaW1wbGVtZW50YXRpb24gb2YgVGV0cmlzIGZvciBFbWFjcwog Ci07OyBDb3B5cmlnaHQgKEMpIDE5OTcsIDIwMDEsIDIwMDIsIDIwMDMsIDIwMDQsIDIwMDUsIDIw MDYsIDIwMDcsIDIwMDgsCi07OyAgIDIwMDkgIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgorOzsgQ29weXJpZ2h0IChDKSAxOTk3LCAyMDAxLCAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1LAor OzsgICAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLgogCiA7OyBBdXRob3I6IEdseW5uIENsZW1lbnRzIDxnbHlubkBzZW5zZWkuY28udWs+ CiA7OyBWZXJzaW9uOiAyLjAxCkBAIC0xOTYsNDAgKzE5NiwzMSBAQCBFbGVtZW50IDAgaXMgaWdu b3JlZC4iCiA7OyA7Ozs7Ozs7Ozs7Ozs7IGNvbnN0YW50cyA7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsKIAogKGRlZmNvbnN0IHRldHJpcy1zaGFwZXMK LSAgW1tbWzEgMSAwIDBdIFsxIDEgMCAwXSBbMSAxIDAgMF0gWzEgMSAwIDBdXQotICAgIFtbMSAx IDAgMF0gWzEgMSAwIDBdIFsxIDEgMCAwXSBbMSAxIDAgMF1dCi0gICAgW1swIDAgMCAwXSBbMCAw IDAgMF0gWzAgMCAwIDBdIFswIDAgMCAwXV0KLSAgICBbWzAgMCAwIDBdIFswIDAgMCAwXSBbMCAw IDAgMF0gWzAgMCAwIDBdXV0KLQotICAgW1tbMiAyIDIgMF0gWzAgMiAwIDBdIFsyIDAgMCAwXSBb MiAyIDAgMF1dCi0gICAgW1swIDAgMiAwXSBbMCAyIDAgMF0gWzIgMiAyIDBdIFsyIDAgMCAwXV0K LSAgICBbWzAgMCAwIDBdIFsyIDIgMCAwXSBbMCAwIDAgMF0gWzIgMCAwIDBdXQotICAgIFtbMCAw IDAgMF0gWzAgMCAwIDBdIFswIDAgMCAwXSBbMCAwIDAgMF1dXQotCi0gICBbW1szIDMgMyAwXSBb MyAzIDAgMF0gWzAgMCAzIDBdIFszIDAgMCAwXV0KLSAgICBbWzMgMCAwIDBdIFswIDMgMCAwXSBb MyAzIDMgMF0gWzMgMCAwIDBdXQotICAgIFtbMCAwIDAgMF0gWzAgMyAwIDBdIFswIDAgMCAwXSBb MyAzIDAgMF1dCi0gICAgW1swIDAgMCAwXSBbMCAwIDAgMF0gWzAgMCAwIDBdIFswIDAgMCAwXV1d Ci0KLSAgIFtbWzQgNCAwIDBdIFswIDQgMCAwXSBbNCA0IDAgMF0gWzAgNCAwIDBdXQotICAgIFtb MCA0IDQgMF0gWzQgNCAwIDBdIFswIDQgNCAwXSBbNCA0IDAgMF1dCi0gICAgW1swIDAgMCAwXSBb NCAwIDAgMF0gWzAgMCAwIDBdIFs0IDAgMCAwXV0KLSAgICBbWzAgMCAwIDBdIFswIDAgMCAwXSBb MCAwIDAgMF0gWzAgMCAwIDBdXV0KLQotICAgW1tbMCA1IDUgMF0gWzUgMCAwIDBdIFswIDUgNSAw XSBbNSAwIDAgMF1dCi0gICAgW1s1IDUgMCAwXSBbNSA1IDAgMF0gWzUgNSAwIDBdIFs1IDUgMCAw XV0KLSAgICBbWzAgMCAwIDBdIFswIDUgMCAwXSBbMCAwIDAgMF0gWzAgNSAwIDBdXQotICAgIFtb MCAwIDAgMF0gWzAgMCAwIDBdIFswIDAgMCAwXSBbMCAwIDAgMF1dXQotCi0gICBbW1swIDYgMCAw XSBbNiAwIDAgMF0gWzYgNiA2IDBdIFswIDYgMCAwXV0KLSAgICBbWzYgNiA2IDBdIFs2IDYgMCAw XSBbMCA2IDAgMF0gWzYgNiAwIDBdXQotICAgIFtbMCAwIDAgMF0gWzYgMCAwIDBdIFswIDAgMCAw XSBbMCA2IDAgMF1dCi0gICAgW1swIDAgMCAwXSBbMCAwIDAgMF0gWzAgMCAwIDBdIFswIDAgMCAw XV1dCi0KLSAgIFtbWzcgNyA3IDddIFs3IDAgMCAwXSBbNyA3IDcgN10gWzcgMCAwIDBdXQotICAg IFtbMCAwIDAgMF0gWzcgMCAwIDBdIFswIDAgMCAwXSBbNyAwIDAgMF1dCi0gICAgW1swIDAgMCAw XSBbNyAwIDAgMF0gWzAgMCAwIDBdIFs3IDAgMCAwXV0KLSAgICBbWzAgMCAwIDBdIFs3IDAgMCAw XSBbMCAwIDAgMF0gWzcgMCAwIDBdXV1dKQorICBbW1tbMCAwXSBbMSAwXSBbMCAxXSBbMSAxXV1d ICAKKyAgIAorICAgW1tbMSAwXSBbMiAwXSBbMSAxXSBbMSAyXV0gCisgICAgW1swIDBdIFswIDFd IFsxIDFdIFsyIDFdXSAKKyAgICBbWzEgMF0gWzEgMV0gWzAgMl0gWzEgMl1dIAorICAgIFtbMCAx XSBbMSAxXSBbMiAxXSBbMiAyXV1dIAorICAgCisgICBbW1sxIDBdIFsxIDFdIFsxIDJdIFsyIDJd XSAKKyAgICBbWzAgMV0gWzEgMV0gWzIgMV0gWzIgMF1dIAorICAgIFtbMCAwXSBbMSAwXSBbMSAx XSBbMSAyXV0gCisgICAgW1swIDFdIFsxIDFdIFsyIDFdIFswIDJdXV0gIAorICAgCisgICBbW1sx IDBdIFswIDFdIFsxIDFdIFswIDJdXSAKKyAgICBbWzAgMF0gWzEgMF0gWzEgMV0gWzIgMV1dXQor ICAgCisgICBbW1swIDBdIFswIDFdIFsxIDFdIFsxIDJdXSAKKyAgICBbWzEgMF0gWzIgMF0gWzAg MV0gWzEgMV1dXSAgCisgICAKKyAgIFtbWzAgMV0gWzEgMV0gWzIgMV0gWzEgMl1dIAorICAgIFtb MSAwXSBbMSAxXSBbMiAxXSBbMSAyXV0gICAgICAgICAgICAgICAgCisgICAgW1swIDFdIFsxIDFd IFsyIDFdIFsxIDBdXSAKKyAgICBbWzAgMV0gWzEgMF0gWzEgMV0gWzEgMl1dXQorICAgCisgICBb W1sxIDBdIFsxIDFdIFsxIDJdIFsxIDNdXSAKKyAgICBbWzAgMV0gWzEgMV0gWzIgMV0gWzMgMV1d XV0pCiAKIDs7dGhlIHNjb3JpbmcgcnVsZXMgd2VyZSB0YWtlbiBmcm9tICJ4dGV0cmlzIi4gIEJs b2NrcyBzY29yZSBkaWZmZXJlbnRseQogOztkZXBlbmRpbmcgb24gdGhlaXIgcm90YXRpb24KQEAg LTIzNyw5ICsyMjgsNiBAQCBFbGVtZW50IDAgaXMgaWdub3JlZC4iCiAoZGVmY29uc3QgdGV0cmlz LXNoYXBlLXNjb3JlcwogICBbIFs2IDYgNiA2XSBbNiA3IDYgN10gWzYgNyA2IDddIFs2IDcgNiA3 XSBbNiA3IDYgN10gWzUgNSA2IDVdIFs1IDggNSA4XV0gKQogCi0oZGVmY29uc3QgdGV0cmlzLXNo YXBlLWRpbWVuc2lvbnMKLSAgW1syIDJdIFszIDJdIFszIDJdIFszIDJdIFszIDJdIFszIDJdIFs0 IDFdXSkKLQogKGRlZmNvbnN0IHRldHJpcy1ibGFuayAwKQogCiAoZGVmY29uc3QgdGV0cmlzLWJv cmRlciA4KQpAQCAtMzIwLDIwICszMDgsMTMgQEAgRWxlbWVudCAwIGlzIGlnbm9yZWQuIgogCQkJ ICAgdGV0cmlzLW4tcm93cyBuaWwpKSkKIAkoYW5kIChudW1iZXJwIHBlcmlvZCkgcGVyaW9kKSkp KQogCi0oZGVmdW4gdGV0cmlzLWdldC1zaGFwZS1jZWxsICh4IHkpCi0gIChhcmVmIChhcmVmIChh cmVmIChhcmVmIHRldHJpcy1zaGFwZXMKLQkJCSAgdGV0cmlzLXNoYXBlKQotCQkgICAgeSkKLQkg ICAgICB0ZXRyaXMtcm90KQotCXgpKQotCi0oZGVmdW4gdGV0cmlzLXNoYXBlLXdpZHRoICgpCi0g IChhcmVmIChhcmVmIHRldHJpcy1zaGFwZS1kaW1lbnNpb25zIHRldHJpcy1zaGFwZSkKLQkoJSB0 ZXRyaXMtcm90IDIpKSkKLQotKGRlZnVuIHRldHJpcy1zaGFwZS1oZWlnaHQgKCkKLSAgKGFyZWYg KGFyZWYgdGV0cmlzLXNoYXBlLWRpbWVuc2lvbnMgdGV0cmlzLXNoYXBlKQotCSgtIDEgKCUgdGV0 cmlzLXJvdCAyKSkpKQorKGRlZnVuIHRldHJpcy1nZXQtc2hhcGUtY2VsbCAoYmxvY2spCisgIChh cmVmIChhcmVmICAoYXJlZiB0ZXRyaXMtc2hhcGVzCisgICAgICAgICAgICAgICAgICAgICB0ZXRy aXMtc2hhcGUpIHRldHJpcy1yb3QpCisgICAgICAgIGJsb2NrKSkKKworKGRlZnVuIHRldHJpcy1n ZXQtc2hhcGUtcm90YXRpb25zICgpCisgIChsZW5ndGggKGFyZWYgdGV0cmlzLXNoYXBlcyB0ZXRy aXMtc2hhcGUpKSkKIAogKGRlZnVuIHRldHJpcy1kcmF3LXNjb3JlICgpCiAgIChsZXQgKChzdHJp bmdzICh2ZWN0b3IgKGZvcm1hdCAiU2hhcGVzOiAlMDVkIiB0ZXRyaXMtbi1zaGFwZXMpCkBAIC0z NTYsNyArMzM3LDcgQEAgRWxlbWVudCAwIGlzIGlnbm9yZWQuIgogICAoc2V0cSB0ZXRyaXMtc2hh cGUgdGV0cmlzLW5leHQtc2hhcGUpCiAgIChzZXRxIHRldHJpcy1yb3QgMCkKICAgKHNldHEgdGV0 cmlzLW5leHQtc2hhcGUgKHJhbmRvbSA3KSkKLSAgKHNldHEgdGV0cmlzLXBvcy14ICgvICgtIHRl dHJpcy13aWR0aCAodGV0cmlzLXNoYXBlLXdpZHRoKSkgMikpCisgIChzZXRxIHRldHJpcy1wb3Mt eCAoLSAoLyB0ZXRyaXMtd2lkdGggMikgMSkpCiAgIChzZXRxIHRldHJpcy1wb3MteSAwKQogICAo aWYgKHRldHJpcy10ZXN0LXNoYXBlKQogICAgICAgKHRldHJpcy1lbmQtZ2FtZSkKQEAgLTM2NSw1 MiArMzQ2LDU4IEBAIEVsZW1lbnQgMCBpcyBpZ25vcmVkLiIKICAgICAodGV0cmlzLXVwZGF0ZS1z Y29yZSkpKQogCiAoZGVmdW4gdGV0cmlzLWRyYXctbmV4dC1zaGFwZSAoKQotICAobG9vcCBmb3Ig eSBmcm9tIDAgdG8gMyBkbwotCShsb29wIGZvciB4IGZyb20gMCB0byAzIGRvCi0JICAgICAgKGdh bWVncmlkLXNldC1jZWxsICgrIHRldHJpcy1uZXh0LXggeCkKLQkJCQkgKCsgdGV0cmlzLW5leHQt eSB5KQotCQkJCSAobGV0ICgodGV0cmlzLXNoYXBlIHRldHJpcy1uZXh0LXNoYXBlKQotCQkJCSAg ICAgICAodGV0cmlzLXJvdCAwKSkKLQkJCQkgICAodGV0cmlzLWdldC1zaGFwZS1jZWxsIHggeSkp KSkpKQorICAobG9vcCBmb3IgeCBmcm9tIDAgdG8gMyBkbworICAgICAgICAobG9vcCBmb3IgeSBm cm9tIDAgdG8gMyBkbworICAgICAgICAgICAgICAoZ2FtZWdyaWQtc2V0LWNlbGwgKCsgdGV0cmlz LW5leHQteCB4KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCsgdGV0cmlzLW5l eHQteSB5KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCkpKQorICAobG9vcCBm b3IgaSBmcm9tIDAgdG8gMyBkbworICAgICAgICAobGV0ICgodGV0cmlzLXNoYXBlIHRldHJpcy1u ZXh0LXNoYXBlKQorICAgICAgICAgICAgICAodGV0cmlzLXJvdCAwKSkKKyAgICAgICAgICAoZ2Ft ZWdyaWQtc2V0LWNlbGwgKCsgdGV0cmlzLW5leHQteAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoYXJlZiAodGV0cmlzLWdldC1zaGFwZS1jZWxsIGkpIDApKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoKyB0ZXRyaXMtbmV4dC15CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChhcmVmICh0ZXRyaXMtZ2V0LXNoYXBlLWNlbGwgaSkgMSkpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICgxKyB0ZXRyaXMtc2hhcGUpKSkpKQogCiAoZGVmdW4gdGV0cmlz LWRyYXctc2hhcGUgKCkKLSAgKGxvb3AgZm9yIHkgZnJvbSAwIHRvICgxLSAodGV0cmlzLXNoYXBl LWhlaWdodCkpIGRvCi0JKGxvb3AgZm9yIHggZnJvbSAwIHRvICgxLSAodGV0cmlzLXNoYXBlLXdp ZHRoKSkgZG8KLQkgICAgICAobGV0ICgoYyAodGV0cmlzLWdldC1zaGFwZS1jZWxsIHggeSkpKQot CQkoaWYgKC89IGMgdGV0cmlzLWJsYW5rKQotCQkgICAgKGdhbWVncmlkLXNldC1jZWxsICgrIHRl dHJpcy10b3AtbGVmdC14Ci0JCQkJCSAgdGV0cmlzLXBvcy14Ci0JCQkJCSAgeCkKLQkJCQkgICAg ICAgKCsgdGV0cmlzLXRvcC1sZWZ0LXkKLQkJCQkJICB0ZXRyaXMtcG9zLXkKLQkJCQkJICB5KQot CQkJCSAgICAgICBjKSkpKSkpCisgIChsb29wIGZvciBpIGZyb20gMCB0byAzIGRvCisgICAgICAg IChsZXQgKChjICh0ZXRyaXMtZ2V0LXNoYXBlLWNlbGwgaSkpKQorICAgICAgICAgIChnYW1lZ3Jp ZC1zZXQtY2VsbCAoKyB0ZXRyaXMtdG9wLWxlZnQteAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB0ZXRyaXMtcG9zLXgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFy ZWYgYyAwKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCsgdGV0cmlzLXRvcC1sZWZ0 LXkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV0cmlzLXBvcy15CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChhcmVmIGMgMSkpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICgxKyB0ZXRyaXMtc2hhcGUpKSkpKQogCiAoZGVmdW4gdGV0cmlzLWVyYXNlLXNo YXBlICgpCi0gIChsb29wIGZvciB5IGZyb20gMCB0byAoMS0gKHRldHJpcy1zaGFwZS1oZWlnaHQp KSBkbwotCShsb29wIGZvciB4IGZyb20gMCB0byAoMS0gKHRldHJpcy1zaGFwZS13aWR0aCkpIGRv Ci0JICAgICAgKGxldCAoKGMgKHRldHJpcy1nZXQtc2hhcGUtY2VsbCB4IHkpKQotCQkgICAgKHB4 ICgrIHRldHJpcy10b3AtbGVmdC14IHRldHJpcy1wb3MteCB4KSkKLQkJICAgIChweSAoKyB0ZXRy aXMtdG9wLWxlZnQteSB0ZXRyaXMtcG9zLXkgeSkpKQotCQkoaWYgKC89IGMgdGV0cmlzLWJsYW5r KQotCQkgICAgKGdhbWVncmlkLXNldC1jZWxsIHB4IHB5IHRldHJpcy1ibGFuaykpKSkpKQorICAo bG9vcCBmb3IgaSBmcm9tIDAgdG8gMyBkbworICAgICAgICAobGV0ICgoYyAodGV0cmlzLWdldC1z aGFwZS1jZWxsIGkpKSkKKyAgICAgICAgICAoZ2FtZWdyaWQtc2V0LWNlbGwgKCsgdGV0cmlzLXRv cC1sZWZ0LXgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV0cmlzLXBvcy14IAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXJlZiBjIDApKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoKyB0ZXRyaXMtdG9wLWxlZnQteQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB0ZXRyaXMtcG9zLXkgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChhcmVmIGMgMSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRldHJpcy1ibGFu aykpKSkKIAogKGRlZnVuIHRldHJpcy10ZXN0LXNoYXBlICgpCiAgIChsZXQgKChoaXQgbmlsKSkK LSAgICAobG9vcCBmb3IgeSBmcm9tIDAgdG8gKDEtICh0ZXRyaXMtc2hhcGUtaGVpZ2h0KSkgZG8K LQkgIChsb29wIGZvciB4IGZyb20gMCB0byAoMS0gKHRldHJpcy1zaGFwZS13aWR0aCkpIGRvCi0J CSh1bmxlc3MgaGl0Ci0JCSAgKHNldHEgaGl0Ci0JCQkobGV0KiAoKGMgKHRldHJpcy1nZXQtc2hh cGUtY2VsbCB4IHkpKQotCQkJICAgICAgKHh4ICgrIHRldHJpcy1wb3MteCB4KSkKLQkJCSAgICAg ICh5eSAoKyB0ZXRyaXMtcG9zLXkgeSkpCi0JCQkgICAgICAocHggKCsgdGV0cmlzLXRvcC1sZWZ0 LXggeHgpKQotCQkJICAgICAgKHB5ICgrIHRldHJpcy10b3AtbGVmdC15IHl5KSkpCi0JCQkgIChh bmQgKC89IGMgdGV0cmlzLWJsYW5rKQotCQkJICAgICAgIChvciAoPj0geHggdGV0cmlzLXdpZHRo KQotCQkJCSAgICg+PSB5eSB0ZXRyaXMtaGVpZ2h0KQotCQkJCSAgICgvPSAoZ2FtZWdyaWQtZ2V0 LWNlbGwgcHggcHkpCi0JCQkJICAgICAgIHRldHJpcy1ibGFuaykpKSkpKSkpCisgICAgKGxvb3Ag Zm9yIGkgZnJvbSAwIHRvIDMgZG8KKyAgICAgICAgICAodW5sZXNzIGhpdAorICAgICAgICAgICAg KHNldHEgaGl0CisgICAgICAgICAgICAgICAgICAobGV0KiAoKGMgKHRldHJpcy1nZXQtc2hhcGUt Y2VsbCBpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAoeHggKCsgdGV0cmlzLXBvcy14IAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXJlZiBjIDApKSkKKyAgICAgICAgICAg ICAgICAgICAgICAgICAoeXkgKCsgdGV0cmlzLXBvcy15IAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoYXJlZiBjIDEpKSkpCisgICAgICAgICAgICAgICAgICAgIChvciAoPj0geHgg dGV0cmlzLXdpZHRoKQorICAgICAgICAgICAgICAgICAgICAgICAgKD49IHl5IHRldHJpcy1oZWln aHQpCisgICAgICAgICAgICAgICAgICAgICAgICAoLz0gKGdhbWVncmlkLWdldC1jZWxsIAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoKyB4eCB0ZXRyaXMtdG9wLWxlZnQteCkgCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICgrIHl5IHRldHJpcy10b3AtbGVmdC15KSkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICB0ZXRyaXMtYmxhbmspKSkpKSkKICAgICBoaXQpKQogCiAo ZGVmdW4gdGV0cmlzLWZ1bGwtcm93ICh5KQpAQCAtNTIzLDcgKzUxMCw3IEBAIERyb3BzIHRoZSBz aGFwZSBvbmUgc3F1YXJlLCB0ZXN0aW5nIGZvciAKIChkZWZ1biB0ZXRyaXMtbW92ZS1sZWZ0ICgp CiAgICJNb3ZlcyB0aGUgc2hhcGUgb25lIHNxdWFyZSB0byB0aGUgbGVmdCIKICAgKGludGVyYWN0 aXZlKQotICAodW5sZXNzIChvciAoPSB0ZXRyaXMtcG9zLXggMCkKKyAgKHVubGVzcyAob3IgKDwg dGV0cmlzLXBvcy14IDApCiAgICAgICAgICAgICAgIHRldHJpcy1wYXVzZWQpCiAgICAgKHRldHJp cy1lcmFzZS1zaGFwZSkKICAgICAoc2V0cSB0ZXRyaXMtcG9zLXggKDEtIHRldHJpcy1wb3MteCkp CkBAIC01MzQsOCArNTIxLDcgQEAgRHJvcHMgdGhlIHNoYXBlIG9uZSBzcXVhcmUsIHRlc3Rpbmcg Zm9yIAogKGRlZnVuIHRldHJpcy1tb3ZlLXJpZ2h0ICgpCiAgICJNb3ZlcyB0aGUgc2hhcGUgb25l IHNxdWFyZSB0byB0aGUgcmlnaHQiCiAgIChpbnRlcmFjdGl2ZSkKLSAgKHVubGVzcyAob3IgKD0g KCsgdGV0cmlzLXBvcy14ICh0ZXRyaXMtc2hhcGUtd2lkdGgpKQotICAgICAgICAgICAgICAgICB0 ZXRyaXMtd2lkdGgpCisgICh1bmxlc3MgKG9yICg9IHRldHJpcy1wb3MteCB0ZXRyaXMtd2lkdGgp CiAgICAgICAgICAgICAgIHRldHJpcy1wYXVzZWQpCiAgICAgKHRldHJpcy1lcmFzZS1zaGFwZSkK ICAgICAoc2V0cSB0ZXRyaXMtcG9zLXggKDErIHRldHJpcy1wb3MteCkpCkBAIC01NDgsOSArNTM0 LDkgQEAgRHJvcHMgdGhlIHNoYXBlIG9uZSBzcXVhcmUsIHRlc3RpbmcgZm9yIAogICAoaW50ZXJh Y3RpdmUpCiAgIChpZiAobm90IHRldHJpcy1wYXVzZWQpCiAgICAgICAocHJvZ24gKHRldHJpcy1l cmFzZS1zaGFwZSkKLSAgICAgICAgICAgICAoc2V0cSB0ZXRyaXMtcm90ICglICgrIDEgdGV0cmlz LXJvdCkgNCkpCisgICAgICAgICAgICAgKHNldHEgdGV0cmlzLXJvdCAoJSAoKyAxIHRldHJpcy1y b3QpICh0ZXRyaXMtZ2V0LXNoYXBlLXJvdGF0aW9ucykpKQogICAgICAgICAgICAgIChpZiAodGV0 cmlzLXRlc3Qtc2hhcGUpCi0gICAgICAgICAgICAgICAgIChzZXRxIHRldHJpcy1yb3QgKCUgKCsg MyB0ZXRyaXMtcm90KSA0KSkpCisgICAgICAgICAgICAgICAgIChzZXRxIHRldHJpcy1yb3QgKCUg KCsgMyB0ZXRyaXMtcm90KSAodGV0cmlzLWdldC1zaGFwZS1yb3RhdGlvbnMpKSkpCiAgICAgICAg ICAgICAgKHRldHJpcy1kcmF3LXNoYXBlKSkpKQogCiAoZGVmdW4gdGV0cmlzLXJvdGF0ZS1uZXh0 ICgpCkBAIC01NTksOSArNTQ1LDExIEBAIERyb3BzIHRoZSBzaGFwZSBvbmUgc3F1YXJlLCB0ZXN0 aW5nIGZvciAKICAgKGlmIChub3QgdGV0cmlzLXBhdXNlZCkKICAgICAgIChwcm9nbgogICAgICAg ICAodGV0cmlzLWVyYXNlLXNoYXBlKQotICAgICAgICAoc2V0cSB0ZXRyaXMtcm90ICglICgrIDMg dGV0cmlzLXJvdCkgNCkpCisgICAgICAgIChzZXRxIHRldHJpcy1yb3QgKCUgKCsgMyB0ZXRyaXMt cm90KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0ZXRyaXMtZ2V0LXNoYXBlLXJvdGF0 aW9ucykpKQogICAgICAgICAoaWYgKHRldHJpcy10ZXN0LXNoYXBlKQotICAgICAgICAgICAgKHNl dHEgdGV0cmlzLXJvdCAoJSAoKyAxIHRldHJpcy1yb3QpIDQpKSkKKyAgICAgICAgICAgIChzZXRx IHRldHJpcy1yb3QgKCUgKCsgMSB0ZXRyaXMtcm90KQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAodGV0cmlzLWdldC1zaGFwZS1yb3RhdGlvbnMpKSkpCiAgICAgICAgICh0ZXRyaXMt ZHJhdy1zaGFwZSkpKSkKIAogKGRlZnVuIHRldHJpcy1lbmQtZ2FtZSAoKQo= --00148527ae60f412d004848a6ea6--