Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932111AbXKPXCy (ORCPT ); Fri, 16 Nov 2007 18:02:54 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1758422AbXKPXCp (ORCPT ); Fri, 16 Nov 2007 18:02:45 -0500 Received: from py-out-1112.google.com ([64.233.166.182]:13835 "EHLO py-out-1112.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757956AbXKPXCl (ORCPT ); Fri, 16 Nov 2007 18:02:41 -0500 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:references:x-google-sender-auth; b=iyWUbXQq1H1rslVjcnxnAhrtGgr7qYIWgs4oK8JuHSaWd5OinHDktHWVeHxYf4YFRlTjF1lAYsRkpO9K57jd14YQmRBXpssL9Mw30eFOCIyQTDnWEC8/QfFGbrxEy/2RlZq/HAkbdDvi5wLrDTjt+AQ9Rv7WE7Jx4xqfvgzSyyI= Message-ID: <3efb10970711161502m6216bf5rc19a34184b4f3a2b@mail.gmail.com> Date: Sat, 17 Nov 2007 00:02:39 +0100 From: "Remy Bohmer" To: "Steven Rostedt" Subject: Re: [BUG on PREEMPT_RT, 2.6.23.1-rt5] in rt-mutex code and signals Cc: "Ingo Molnar" , "Thomas Gleixner" , RT , linux-kernel In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_29510_14398445.1195254159478" References: <3efb10970711160751l279fe99dl9f3a130a4373a449@mail.gmail.com> X-Google-Sender-Auth: f858600be1388b14 Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 48282 Lines: 694 ------=_Part_29510_14398445.1195254159478 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hello Steven, Thanks for your reply > The above sounds more like you need a completion. Funny, I first started with using completion structures, but that did not work either. I get similar OOPses on all these kind of locking mechanisms, as long as I use the _interruptible() type. I tried every work-around I can think of, but none worked :-(( Even if I block on an ordinary rt-mutex in the same routine, wait a _interruptible() type, I get the same problem. > What's used to wake up the caller of down_interruptible? A call to up() is used from inside an interrupt(thread) context, but this is not relevant for the problem, because only blocking on a semaphore with down_interruptible() and waking the thread by CTRL-C is enough to get this Oops. I saw that the code is trying to wake 'other waiters', while there is only 1 thread waiting on the semaphore at most. I feel that the root cause of this problem has to be searched there. I believe that executing any PI code on semaphores is a strange behavior anyway, because a semaphore is never 'owned' by a thread, and it is always another thread that wakes the thread that blocks on a semaphore, and because the waker is unknown, the PI code will always boost the prio of the wrong thread. Strange is also, that I get different behavior on ARM if I use sema_init(&sema, 1) versus sema_init(&sema,0). The latter seems to crash less, it will not crash until the first up(); while the first will crash even without any up(). Attached I have put a sample driver I just hacked together a few minutes ago. It is NOT the driver that has generates the oops in the previous mail, but I have stripped a scull-driver down that much that it will be much easier to talk about, and to keep us focussed on the part of the code that is causing this. Besides: I tested this driver on X86 with 2.6.23.1-rt5 and I get the also OOPSes although slightly different than on ARM. See the attached dummy.txt file. Beware: The up(&sema) is NOT required to get this OOPS, I get it even without any up(&sema) ! I hope you can look at the attached driver source and help me with this... Kind Regards, Remy Bohmer 2007/11/16, Steven Rostedt : > > > On Fri, 16 Nov 2007, Remy Bohmer wrote: > > > Hello All, > > > > I have a problem with the RT-mutex code and signals. The problem is > > very easily reproducible, but I do not have found the root-cause yet. > > I hope someone can help me on this one. > > > > This is what I am doing: > > * I have a simple character driver with a read call.(called spi_read() > > in the logging below ) > > * The read call blocks on a semaphore until some condition in hardware > > is reached. (in the routine wait_for_io_level(), see logging below) > > * I use a down_interruptible() call on a 'struct semaphore' type > > semaphore, which eventually blocks on a mutex. (the semaphore is, of > > course, initialised with sema_init() ) > > The above sounds more like you need a completion. What's used to wake up > the caller of down_interruptible? > > Can you post some code to see what you are doing. That would make it much > easier to analyze. > > -- Steve > > > > > > What happens is that when a user-space RT-thread is waiting on the > > semaphore through the spi_read() call, and a signal arrives during the > > wait at this thread (like e.g. CTRL-C), the kernel starts oopsing > > until it is as good as brain-dead. > > > > If I do NOT sent a posix-signal the code/mutex/semaphore is working > > properly for days, > > So, it seems to be related by waking up from a blocking situation, > > because of a pending posix-signal. > > > > I tried also the types 'struct compat_semaphore', and mutexes; none of > > them work. > > In fact the real Mutex type, declared with init_MUTEX() has the same problem. > > > > Anyone an idea? > > Below the kernel oops output. (I run on ARM, but I think that should > > not matter for this problem) > > > ------=_Part_29510_14398445.1195254159478 Content-Type: application/x-gzip; name=dummy.tgz Content-Transfer-Encoding: base64 X-Attachment-Id: f_f93a7bh8 Content-Disposition: attachment; filename=dummy.tgz H4sIAM8UPkcAA+1WbW/bNhDOV/NXHJK0kzy/RM4bkMwdPNnpjNpxYTvrlwGCLFEOF4nURCmuN3S/ fUdKSuLUW9cPXlFUzwfL5B3vnuMdj0ypTNt7u8UR4vz0NP+enWx8C+xZR+fW+YnV6ZyhnnV02jnZ g9Md89LIZOomAHsJjdb/pjf9hPwrRaryP3bvaMBCuiMfKsFnJyf/lH/r+Nh6yD+OMP8d69Tag6Md 8dnAN55/cgC2iCLK03bGvfwfpLcUAhGGYsX4EkLGKaQCKHcXIW37TKov+HSRLZeoQA76g59uXkMX 1oQQFtDfwTg09JzZWJsEAP9fjXqvZ6jSnEBzCc3+zL4ZjWwnX3kA+83JPjAJnFKf+trb+9jlPjCu 3EtCQ0mfW+oQyn0WEGLnc993QfvVIxOaw0Nj1O8Pr22TkHlv+nowx2V+FkVrRZPnPN8MpteD0XQw GvRmA7OBqlqjKRa/SbjoQuQy3hKE4LgZ1S4KA2pGUyL5+v5wCj92oR2yRTsSfhZS2T405C0NQ8i4 G1FoJmZ7kbHQJ2/f9SHHhSKcK8UrH10XSy9I7dAY994MMAgbSo7ow4Rx99BAAybkkZWjYiEpd4Qw jnUdhmip+AdNHy0Nr2fz3kibeiLxUJJvkNkSz7SIF1KXo50kwhgCqKNG/S/wREKh5dMYHUKr3vIi H0V3KGshl5YHrTSKnXuaSCY48iKlavHFj47Stk10aJcpG+N6D16VamU5FcPGobHCHfTc5MGQaWKo Xpj5D2yKLfjSB+srge7/usa9nfn4RP8/Pj0+Kfu/ZZ2r/m+dWWdV//8/QA7K4/MDNtrsfdG9Wrev PpIwztJt83c04TTcJgnk1lmPp1vVIyY9n94zT7snBz4+SvDqKa6K8fB6MgWwOsequ6V5H3YEHnkw ZJpkXoqXhUBrdf1pQDGpHjZQx9/YJH+SWpzg4jtj/4X8le83wHGubq7t+XBy7TjmJXY5mmYJh6NL eEC7DjLzPCol1Nvkw1PvCcXmKOlOCChP7TqBOvTd1MV7iLtLqq7nC0io64O6HVcJS/FaRFoEyzhl XulT0siNb1WP1kQvUS7ZH9R5JI4WjI8INsC7xdPgOJmkCdQXWYBR5Os8kfG0QeAZQhEEKK0HTizk f4jvUX7FEolPDRapp4SX6NBgKagEceeuW7hYbYcvVtzBBTRJsjhl+PAwXuoQlLA01RdgQRaXa7J4 u05He5OgbH6W/XcU8N4JYREK7w64WDX07rMA1iKDOFGlYc+nI7ysg0REcEsTTP+KwpKmqAmTydvZ 5zp0MXd5Lag3mDarnmUqcYZZGiuKRedGF8xmlnV5bE8zXsrpzpP9Mb+8oOf6fRnLsnIf6KnjnGAd I7siBKWGrzZ01cKNQ55dzWT+83DmjCf9m9GggSJdzt2aFj0WuJLkW9B9ItEzSqRbx8YiNZOby491 94k5PdMgHy7LIK4Yx8fTuqHTkndNPH1ZEOioNo/jY2cr7OGgiCrCZpHUal0YD+3pxJ70B3mnUzzU w1GJ9vWifTWl9kNNvXzcnpxU4VD1JsdRrbrwpP8a94L5OmFKjqUnEnUUVZfQCkUJNsDSR1QrID9F G0NfMonlWugo6iq1WPyG1jNVGGUhqJeqM5hOcaaWs74Az+XfpZu2QHDQgXdf+KpwlPqz+JWPsn4K wjUsoM3+WAStoivC1a/VLH4SsXbs0+1hoI28ipzeaNjDkhrO7P7gF+PpnaO2JM9vvleP+4qSQkDf PwgKBij70nd7hQoVKlSoUKFChQoVKlSoUKFChQoVKlT4dvE3oTY8lAAoAAA= ------=_Part_29510_14398445.1195254159478 Content-Type: text/plain; name=dummy.txt Content-Transfer-Encoding: base64 X-Attachment-Id: f_f93b3wfb Content-Disposition: attachment; filename=dummy.txt TGludXggdmVyc2lvbiAyLjYuMjMuMS1ydDUgKHJlbXlAaHVpc2thbWVyKSAoZ2NjIHZlcnNpb24g NC4xLjIgMjAwNzA5MjUgKFJlZCBIYXQgNC4xLjItMzMpKSAjMSBTTVAgUFJFRU1QVCBSVCBGcmkg Tm92IDE2IDIzOjI4OjE4IENFVCAyMDA3CkJJT1MtcHJvdmlkZWQgcGh5c2ljYWwgUkFNIG1hcDoK IEJJT1MtZTgyMDogMDAwMDAwMDAwMDAwMDAwMCAtIDAwMDAwMDAwMDAwOWZjMDAgKHVzYWJsZSkK IEJJT1MtZTgyMDogMDAwMDAwMDAwMDA5ZmMwMCAtIDAwMDAwMDAwMDAwYTAwMDAgKHJlc2VydmVk KQogQklPUy1lODIwOiAwMDAwMDAwMDAwMGU4MDAwIC0gMDAwMDAwMDAwMDEwMDAwMCAocmVzZXJ2 ZWQpCiBCSU9TLWU4MjA6IDAwMDAwMDAwMDAxMDAwMDAgLSAwMDAwMDAwMDNmZjMwMDAwICh1c2Fi bGUpCiBCSU9TLWU4MjA6IDAwMDAwMDAwM2ZmMzAwMDAgLSAwMDAwMDAwMDNmZjQwMDAwIChBQ1BJ IGRhdGEpCiBCSU9TLWU4MjA6IDAwMDAwMDAwM2ZmNDAwMDAgLSAwMDAwMDAwMDNmZmYwMDAwIChB Q1BJIE5WUykKIEJJT1MtZTgyMDogMDAwMDAwMDAzZmZmMDAwMCAtIDAwMDAwMDAwNDAwMDAwMDAg KHJlc2VydmVkKQogQklPUy1lODIwOiAwMDAwMDAwMGZmYjgwMDAwIC0gMDAwMDAwMDEwMDAwMDAw MCAocmVzZXJ2ZWQpCjEyN01CIEhJR0hNRU0gYXZhaWxhYmxlLgo4OTZNQiBMT1dNRU0gYXZhaWxh YmxlLgpmb3VuZCBTTVAgTVAtdGFibGUgYXQgMDAwZmY3ODAKRW50ZXJpbmcgYWRkX2FjdGl2ZV9y YW5nZSgwLCAwLCAyNjE5MzYpIDAgZW50cmllcyBvZiAyNTYgdXNlZApab25lIFBGTiByYW5nZXM6 CiAgRE1BICAgICAgICAgICAgIDAgLT4gICAgIDQwOTYKICBOb3JtYWwgICAgICAgNDA5NiAtPiAg IDIyOTM3NgogIEhpZ2hNZW0gICAgMjI5Mzc2IC0+ICAgMjYxOTM2Ck1vdmFibGUgem9uZSBzdGFy dCBQRk4gZm9yIGVhY2ggbm9kZQplYXJseV9ub2RlX21hcFsxXSBhY3RpdmUgUEZOIHJhbmdlcwog ICAgMDogICAgICAgIDAgLT4gICAyNjE5MzYKT24gbm9kZSAwIHRvdGFscGFnZXM6IDI2MTkzNgog IERNQSB6b25lOiA1NiBwYWdlcyB1c2VkIGZvciBtZW1tYXAKICBETUEgem9uZTogMCBwYWdlcyBy ZXNlcnZlZAogIERNQSB6b25lOiA0MDQwIHBhZ2VzLCBMSUZPIGJhdGNoOjAKICBOb3JtYWwgem9u ZTogMzA4MCBwYWdlcyB1c2VkIGZvciBtZW1tYXAKICBOb3JtYWwgem9uZTogMjIyMjAwIHBhZ2Vz LCBMSUZPIGJhdGNoOjMxCiAgSGlnaE1lbSB6b25lOiA0NDUgcGFnZXMgdXNlZCBmb3IgbWVtbWFw CiAgSGlnaE1lbSB6b25lOiAzMjExNSBwYWdlcywgTElGTyBiYXRjaDo3CiAgTW92YWJsZSB6b25l OiAwIHBhZ2VzIHVzZWQgZm9yIG1lbW1hcApETUkgMi4zIHByZXNlbnQuClVzaW5nIEFQSUMgZHJp dmVyIGRlZmF1bHQKQUNQSTogUlNEUCAwMDBGOUUzMCwgMDAyMSAocjIgQUNQSUFNKQpBQ1BJOiBY U0RUIDNGRjMwMTAwLCAwMDNDIChyMSBBIE0gSSAgT0VNWFNEVCAgMTAwMDA0MTQgTVNGVCAgICAg ICA5NykKQUNQSTogRkFDUCAzRkYzMDI5MCwgMDBGNCAocjMgQSBNIEkgIE9FTUZBQ1AgIDEwMDAw NDE0IE1TRlQgICAgICAgOTcpCkFDUEk6IERTRFQgM0ZGMzAzRjAsIDM4MkQgKHIxICBQNFA4MSBQ NFA4MTEwNCAgICAgIDEwNCBJTlRMICAyMDAyMDI2KQpBQ1BJOiBGQUNTIDNGRjQwMDAwLCAwMDQw CkFDUEk6IEFQSUMgM0ZGMzAzOTAsIDAwNUMgKHIxIEEgTSBJICBPRU1BUElDICAxMDAwMDQxNCBN U0ZUICAgICAgIDk3KQpBQ1BJOiBPRU1CIDNGRjQwMDQwLCAwMDNGIChyMSBBIE0gSSAgT0VNQklP UyAgMTAwMDA0MTQgTVNGVCAgICAgICA5NykKQUNQSTogUE0tVGltZXIgSU8gUG9ydDogMHg4MDgK QUNQSTogTG9jYWwgQVBJQyBhZGRyZXNzIDB4ZmVlMDAwMDAKQUNQSTogTEFQSUMgKGFjcGlfaWRb MHgwMV0gbGFwaWNfaWRbMHgwMF0gZW5hYmxlZCkKUHJvY2Vzc29yICMwIDE1OjIgQVBJQyB2ZXJz aW9uIDIwCkFDUEk6IExBUElDIChhY3BpX2lkWzB4MDJdIGxhcGljX2lkWzB4MDFdIGVuYWJsZWQp ClByb2Nlc3NvciAjMSAxNToyIEFQSUMgdmVyc2lvbiAyMApBQ1BJOiBJT0FQSUMgKGlkWzB4MDJd IGFkZHJlc3NbMHhmZWMwMDAwMF0gZ3NpX2Jhc2VbMF0pCklPQVBJQ1swXTogYXBpY19pZCAyLCB2 ZXJzaW9uIDMyLCBhZGRyZXNzIDB4ZmVjMDAwMDAsIEdTSSAwLTIzCkFDUEk6IElOVF9TUkNfT1ZS IChidXMgMCBidXNfaXJxIDAgZ2xvYmFsX2lycSAyIGRmbCBkZmwpCkFDUEk6IElOVF9TUkNfT1ZS IChidXMgMCBidXNfaXJxIDkgZ2xvYmFsX2lycSA5IGhpZ2ggbGV2ZWwpCkFDUEk6IElSUTAgdXNl ZCBieSBvdmVycmlkZS4KQUNQSTogSVJRMiB1c2VkIGJ5IG92ZXJyaWRlLgpBQ1BJOiBJUlE5IHVz ZWQgYnkgb3ZlcnJpZGUuCkVuYWJsaW5nIEFQSUMgbW9kZTogIEZsYXQuICBVc2luZyAxIEkvTyBB UElDcwpVc2luZyBBQ1BJIChNQURUKSBmb3IgU01QIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24K QWxsb2NhdGluZyBQQ0kgcmVzb3VyY2VzIHN0YXJ0aW5nIGF0IDUwMDAwMDAwIChnYXA6IDQwMDAw MDAwOmJmYjgwMDAwKQpzd3N1c3A6IFJlZ2lzdGVyZWQgbm9zYXZlIG1lbW9yeSByZWdpb246IDAw MDAwMDAwMDAwOWYwMDAgLSAwMDAwMDAwMDAwMGEwMDAwCnN3c3VzcDogUmVnaXN0ZXJlZCBub3Nh dmUgbWVtb3J5IHJlZ2lvbjogMDAwMDAwMDAwMDBhMDAwMCAtIDAwMDAwMDAwMDAwZTgwMDAKc3dz dXNwOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnkgcmVnaW9uOiAwMDAwMDAwMDAwMGU4MDAwIC0g MDAwMDAwMDAwMDEwMDAwMApSZWFsLVRpbWUgUHJlZW1wdGlvbiBTdXBwb3J0IChDKSAyMDA0LTIw MDcgSW5nbyBNb2xuYXIKQnVpbHQgMSB6b25lbGlzdHMgaW4gWm9uZSBvcmRlci4gIFRvdGFsIHBh Z2VzOiAyNTgzNTUKS2VybmVsIGNvbW1hbmQgbGluZTogcm8gcm9vdD0vZGV2L2x2bWJhc2Uvcm9v dCByaGdiIHF1aWV0Cm1hcHBlZCBBUElDIHRvIGZmZmZiMDAwIChmZWUwMDAwMCkKbWFwcGVkIElP QVBJQyB0byBmZmZmYTAwMCAoZmVjMDAwMDApCkVuYWJsaW5nIGZhc3QgRlBVIHNhdmUgYW5kIHJl c3RvcmUuLi4gZG9uZS4KRW5hYmxpbmcgdW5tYXNrZWQgU0lNRCBGUFUgZXhjZXB0aW9uIHN1cHBv cnQuLi4gZG9uZS4KSW5pdGlhbGl6aW5nIENQVSMwCldBUk5JTkc6IGV4cGVyaW1lbnRhbCBSQ1Ug aW1wbGVtZW50YXRpb24uCkNQVSAwIGlycXN0YWNrcywgaGFyZD1jMDdiMDAwMCBzb2Z0PWMwNzkw MDAwClBJRCBoYXNoIHRhYmxlIGVudHJpZXM6IDQwOTYgKG9yZGVyOiAxMiwgMTYzODQgYnl0ZXMp CkRldGVjdGVkIDMxOTguNTQ1IE1IeiBwcm9jZXNzb3IuCkNvbnNvbGU6IGNvbG91ciBWR0ErIDgw eDI1CmNvbnNvbGUgW3R0eTBdIGVuYWJsZWQKRGVudHJ5IGNhY2hlIGhhc2ggdGFibGUgZW50cmll czogMTMxMDcyIChvcmRlcjogNywgNTI0Mjg4IGJ5dGVzKQpJbm9kZS1jYWNoZSBoYXNoIHRhYmxl IGVudHJpZXM6IDY1NTM2IChvcmRlcjogNiwgMjYyMTQ0IGJ5dGVzKQpNZW1vcnk6IDEwMjM3MDBr LzEwNDc3NDRrIGF2YWlsYWJsZSAoMjE4Mmsga2VybmVsIGNvZGUsIDIzMzM2ayByZXNlcnZlZCwg MTE1N2sgZGF0YSwgMjc2ayBpbml0LCAxMzAyNDBrIGhpZ2htZW0pCnZpcnR1YWwga2VybmVsIG1l bW9yeSBsYXlvdXQ6CiAgICBmaXhtYXAgIDogMHhmZmM1MzAwMCAtIDB4ZmZmZmYwMDAgICAoMzc2 MCBrQikKICAgIHBrbWFwICAgOiAweGZmODAwMDAwIC0gMHhmZmMwMDAwMCAgICg0MDk2IGtCKQog ICAgdm1hbGxvYyA6IDB4Zjg4MDAwMDAgLSAweGZmN2ZlMDAwICAgKCAxMTEgTUIpCiAgICBsb3dt ZW0gIDogMHhjMDAwMDAwMCAtIDB4ZjgwMDAwMDAgICAoIDg5NiBNQikKICAgICAgLmluaXQgOiAw eGMwNzQ4MDAwIC0gMHhjMDc4ZDAwMCAgICggMjc2IGtCKQogICAgICAuZGF0YSA6IDB4YzA2MjFi MGMgLSAweGMwNzQzMTI0ICAgKDExNTcga0IpCiAgICAgIC50ZXh0IDogMHhjMDQwMDAwMCAtIDB4 YzA2MjFiMGMgICAoMjE4MiBrQikKQ2hlY2tpbmcgaWYgdGhpcyBwcm9jZXNzb3IgaG9ub3VycyB0 aGUgV1AgYml0IGV2ZW4gaW4gc3VwZXJ2aXNvciBtb2RlLi4uIE9rLgpDYWxpYnJhdGluZyBkZWxh eSB1c2luZyB0aW1lciBzcGVjaWZpYyByb3V0aW5lLi4gNjM5OS41NyBCb2dvTUlQUyAobHBqPTMx OTk3ODgpClNlY3VyaXR5IEZyYW1ld29yayB2MS4wLjAgaW5pdGlhbGl6ZWQKU0VMaW51eDogIElu aXRpYWxpemluZy4KU0VMaW51eDogIFN0YXJ0aW5nIGluIHBlcm1pc3NpdmUgbW9kZQpzZWxpbnV4 X3JlZ2lzdGVyX3NlY3VyaXR5OiAgUmVnaXN0ZXJpbmcgc2Vjb25kYXJ5IG1vZHVsZSBjYXBhYmls aXR5CkNhcGFiaWxpdHkgTFNNIGluaXRpYWxpemVkIGFzIHNlY29uZGFyeQpNb3VudC1jYWNoZSBo YXNoIHRhYmxlIGVudHJpZXM6IDUxMgpDUFU6IEFmdGVyIGdlbmVyaWMgaWRlbnRpZnksIGNhcHM6 IGJmZWJmYmZmIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDA0NDAwIDAwMDAwMDAwIDAw MDAwMDAwIDAwMDAwMDAwCkNQVTogVHJhY2UgY2FjaGU6IDEySyB1b3BzLCBMMSBEIGNhY2hlOiA4 SwpDUFU6IEwyIGNhY2hlOiA1MTJLCkNQVTogUGh5c2ljYWwgUHJvY2Vzc29yIElEOiAwCkNQVTog QWZ0ZXIgYWxsIGluaXRzLCBjYXBzOiBiZmViZmJmZiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwYjA4 MCAwMDAwNDQwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApJbnRlbCBtYWNoaW5lIGNoZWNr IGFyY2hpdGVjdHVyZSBzdXBwb3J0ZWQuCkludGVsIG1hY2hpbmUgY2hlY2sgcmVwb3J0aW5nIGVu YWJsZWQgb24gQ1BVIzAuCkNQVTA6IEludGVsIFA0L1hlb24gRXh0ZW5kZWQgTUNFIE1TUnMgKDEy KSBhdmFpbGFibGUKQ1BVMDogVGhlcm1hbCBtb25pdG9yaW5nIGVuYWJsZWQKQ29tcGF0IHZEU08g bWFwcGVkIHRvIGZmZmZlMDAwLgpDaGVja2luZyAnaGx0JyBpbnN0cnVjdGlvbi4uLiBPSy4KU01Q IGFsdGVybmF0aXZlczogc3dpdGNoaW5nIHRvIFVQIGNvZGUKQUNQSTogQ29yZSByZXZpc2lvbiAy MDA3MDEyNgpDUFUwOiBJbnRlbChSKSBQZW50aXVtKFIpIDQgQ1BVIDMuMjBHSHogc3RlcHBpbmcg MDkKU01QIGFsdGVybmF0aXZlczogc3dpdGNoaW5nIHRvIFNNUCBjb2RlCkJvb3RpbmcgcHJvY2Vz c29yIDEvMSBlaXAgMzAwMApDUFUgMSBpcnFzdGFja3MsIGhhcmQ9YzA3YjEwMDAgc29mdD1jMDc5 MTAwMApJbml0aWFsaXppbmcgQ1BVIzEKQ2FsaWJyYXRpbmcgZGVsYXkgdXNpbmcgdGltZXIgc3Bl Y2lmaWMgcm91dGluZS4uIDYzOTUuOTcgQm9nb01JUFMgKGxwaj0zMTk3OTg3KQpDUFU6IEFmdGVy IGdlbmVyaWMgaWRlbnRpZnksIGNhcHM6IGJmZWJmYmZmIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw MDAwIDAwMDA0NDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCkNQVTogVHJhY2UgY2FjaGU6 IDEySyB1b3BzLCBMMSBEIGNhY2hlOiA4SwpDUFU6IEwyIGNhY2hlOiA1MTJLCkNQVTogUGh5c2lj YWwgUHJvY2Vzc29yIElEOiAwCkNQVTogQWZ0ZXIgYWxsIGluaXRzLCBjYXBzOiBiZmViZmJmZiAw MDAwMDAwMCAwMDAwMDAwMCAwMDAwYjA4MCAwMDAwNDQwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw MDAwMApJbnRlbCBtYWNoaW5lIGNoZWNrIGFyY2hpdGVjdHVyZSBzdXBwb3J0ZWQuCkludGVsIG1h Y2hpbmUgY2hlY2sgcmVwb3J0aW5nIGVuYWJsZWQgb24gQ1BVIzEuCkNQVTE6IEludGVsIFA0L1hl b24gRXh0ZW5kZWQgTUNFIE1TUnMgKDEyKSBhdmFpbGFibGUKQ1BVMTogVGhlcm1hbCBtb25pdG9y aW5nIGVuYWJsZWQKQ1BVMTogSW50ZWwoUikgUGVudGl1bShSKSA0IENQVSAzLjIwR0h6IHN0ZXBw aW5nIDA5ClRvdGFsIG9mIDIgcHJvY2Vzc29ycyBhY3RpdmF0ZWQgKDEyNzk1LjU1IEJvZ29NSVBT KS4KRU5BQkxJTkcgSU8tQVBJQyBJUlFzCi4uVElNRVI6IHZlY3Rvcj0weDMxIGFwaWMxPTAgcGlu MT0yIGFwaWMyPS0xIHBpbjI9LTEKY2hlY2tpbmcgVFNDIHN5bmNocm9uaXphdGlvbiBbQ1BVIzAg LT4gQ1BVIzFdOiBwYXNzZWQuCkJyb3VnaHQgdXAgMiBDUFVzCkJvb3RpbmcgcGFyYXZpcnR1YWxp emVkIGtlcm5lbCBvbiBiYXJlIGhhcmR3YXJlClRpbWU6IDIzOjQ0OjQ2ICBEYXRlOiAxMC8xNi8x MDcKTkVUOiBSZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAxNgpObyBkb2NrIGRldmljZXMgZm91 bmQuCkFDUEk6IGJ1cyB0eXBlIHBjaSByZWdpc3RlcmVkClBDSTogUENJIEJJT1MgcmV2aXNpb24g Mi4xMCBlbnRyeSBhdCAweGYwMDMxLCBsYXN0IGJ1cz0zClBDSTogVXNpbmcgY29uZmlndXJhdGlv biB0eXBlIDEKU2V0dGluZyB1cCBzdGFuZGFyZCBQQ0kgcmVzb3VyY2VzCkFDUEk6IEVDOiBMb29r IHVwIEVDIGluIERTRFQKQUNQSTogSW50ZXJwcmV0ZXIgZW5hYmxlZApBQ1BJOiAoc3VwcG9ydHMg UzAgUzEgUzMgUzQgUzUpCkFDUEk6IFVzaW5nIElPQVBJQyBmb3IgaW50ZXJydXB0IHJvdXRpbmcK QUNQSTogUENJIFJvb3QgQnJpZGdlIFtQQ0kwXSAoMDAwMDowMCkKRm9yY2UgZW5hYmxlZCBIUEVU IGF0IGJhc2UgYWRkcmVzcyAweGZlZDAwMDAwClBDSSBxdWlyazogcmVnaW9uIDA4MDAtMDg3ZiBj bGFpbWVkIGJ5IElDSDQgQUNQSS9HUElPL1RDTwpQQ0kgcXVpcms6IHJlZ2lvbiAwNDgwLTA0YmYg Y2xhaW1lZCBieSBJQ0g0IEdQSU8KUENJOiBUcmFuc3BhcmVudCBicmlkZ2UgLSAwMDAwOjAwOjFl LjAKQUNQSTogUENJIEludGVycnVwdCBSb3V0aW5nIFRhYmxlIFtcX1NCXy5QQ0kwLl9QUlRdCkFD UEk6IFBDSSBJbnRlcnJ1cHQgUm91dGluZyBUYWJsZSBbXF9TQl8uUENJMC5QMFA0Ll9QUlRdCkFD UEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbTE5LQV0gKElSUXMgMyA0IDUgNiA3ICoxMCAxMSAxMiAx NCAxNSkKQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtMTktCXSAoSVJRcyAzIDQgNSA2ICo3IDEw IDExIDEyIDE0IDE1KQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0xOS0NdIChJUlFzIDMgNCAq NSA2IDcgMTAgMTEgMTIgMTQgMTUpCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbTE5LRF0gKElS UXMgKjMgNCA1IDYgNyAxMCAxMSAxMiAxNCAxNSkKQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtM TktFXSAoSVJRcyAzIDQgKjUgNiA3IDEwIDExIDEyIDE0IDE1KQpBQ1BJOiBQQ0kgSW50ZXJydXB0 IExpbmsgW0xOS0ZdIChJUlFzIDMgNCA1IDYgNyAqMTAgMTEgMTIgMTQgMTUpCkFDUEk6IFBDSSBJ bnRlcnJ1cHQgTGluayBbTE5LR10gKElSUXMgMyA0IDUgNiA3ICoxMCAxMSAxMiAxNCAxNSkKQUNQ STogUENJIEludGVycnVwdCBMaW5rIFtMTktIXSAoSVJRcyAzIDQgNSA2IDcgMTAgKjExIDEyIDE0 IDE1KQpBQ1BJIFdhcm5pbmcgKHRidXRpbHMtMDIxNyk6IEluY29ycmVjdCBjaGVja3N1bSBpbiB0 YWJsZSBbT0VNQl0gLSAgMDMsIHNob3VsZCBiZSBGQSBbMjAwNzAxMjZdCkxpbnV4IFBsdWcgYW5k IFBsYXkgU3VwcG9ydCB2MC45NyAoYykgQWRhbSBCZWxheQpwbnA6IFBuUCBBQ1BJIGluaXQKQUNQ STogYnVzIHR5cGUgcG5wIHJlZ2lzdGVyZWQKcG5wOiBQblAgQUNQSTogZm91bmQgMTMgZGV2aWNl cwpBQ1BJOiBBQ1BJIGJ1cyB0eXBlIHBucCB1bnJlZ2lzdGVyZWQKdXNiY29yZTogcmVnaXN0ZXJl ZCBuZXcgaW50ZXJmYWNlIGRyaXZlciB1c2Jmcwp1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRl cmZhY2UgZHJpdmVyIGh1Ygp1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBkZXZpY2UgZHJpdmVyIHVz YgpQQ0k6IFVzaW5nIEFDUEkgZm9yIElSUSByb3V0aW5nClBDSTogSWYgYSBkZXZpY2UgZG9lc24n dCB3b3JrLCB0cnkgInBjaT1yb3V0ZWlycSIuICBJZiBpdCBoZWxwcywgcG9zdCBhIHJlcG9ydApQ Q0k6IENhbm5vdCBhbGxvY2F0ZSByZXNvdXJjZSByZWdpb24gMCBvZiBkZXZpY2UgMDAwMDowMDow MC4wCk5ldExhYmVsOiBJbml0aWFsaXppbmcKTmV0TGFiZWw6ICBkb21haW4gaGFzaCBzaXplID0g MTI4Ck5ldExhYmVsOiAgcHJvdG9jb2xzID0gVU5MQUJFTEVEIENJUFNPdjQKTmV0TGFiZWw6ICB1 bmxhYmVsZWQgdHJhZmZpYyBhbGxvd2VkIGJ5IGRlZmF1bHQKaHBldCBjbG9ja2V2ZW50IHJlZ2lz dGVyZWQKaHBldDA6IGF0IE1NSU8gMHhmZWQwMDAwMCwgSVJRcyAyLCA4LCAwCmhwZXQwOiAzIDY0 LWJpdCB0aW1lcnMsIDE0MzE4MTgwIEh6CnBucDogMDA6MDk6IGlvcG9ydCByYW5nZSAweDY4MC0w eDZmZiBoYXMgYmVlbiByZXNlcnZlZApwbnA6IDAwOjA5OiBpb3BvcnQgcmFuZ2UgMHgyOTAtMHgy OTcgaGFzIGJlZW4gcmVzZXJ2ZWQKcG5wOiAwMDowYTogaW9tZW0gcmFuZ2UgMHhmZWQyMDAwMC0w eGZlZDhmZmZmIGhhcyBiZWVuIHJlc2VydmVkCnBucDogMDA6MGE6IGlvbWVtIHJhbmdlIDB4ZmZi MDAwMDAtMHhmZmJmZmZmZiBjb3VsZCBub3QgYmUgcmVzZXJ2ZWQKcG5wOiAwMDowYjogaW9tZW0g cmFuZ2UgMHhmZWMwMDAwMC0weGZlYzAwZmZmIGhhcyBiZWVuIHJlc2VydmVkCnBucDogMDA6MGI6 IGlvbWVtIHJhbmdlIDB4ZmVlMDAwMDAtMHhmZWUwMGZmZiBoYXMgYmVlbiByZXNlcnZlZApwbnA6 IDAwOjBjOiBpb21lbSByYW5nZSAweDAtMHg5ZmZmZiBjb3VsZCBub3QgYmUgcmVzZXJ2ZWQKcG5w OiAwMDowYzogaW9tZW0gcmFuZ2UgMHhjMDAwMC0weGRmZmZmIGNvdWxkIG5vdCBiZSByZXNlcnZl ZApwbnA6IDAwOjBjOiBpb21lbSByYW5nZSAweGUwMDAwLTB4ZmZmZmYgY291bGQgbm90IGJlIHJl c2VydmVkCnBucDogMDA6MGM6IGlvbWVtIHJhbmdlIDB4MTAwMDAwLTB4M2ZmZWZmZmYgY291bGQg bm90IGJlIHJlc2VydmVkClBDSTogQnJpZGdlOiAwMDAwOjAwOjAxLjAKICBJTyB3aW5kb3c6IGQw MDAtZGZmZgogIE1FTSB3aW5kb3c6IGY2ZDAwMDAwLWY2ZGZmZmZmCiAgUFJFRkVUQ0ggd2luZG93 OiBkMDAwMDAwMC1mNWZmZmZmZgpQQ0k6IEJyaWRnZTogMDAwMDowMjowOS4wCiAgSU8gd2luZG93 OiBkaXNhYmxlZC4KICBNRU0gd2luZG93OiBmNmYwMDAwMC1mYmZmZmZmZgogIFBSRUZFVENIIHdp bmRvdzogZGlzYWJsZWQuClBDSTogQnJpZGdlOiAwMDAwOjAwOjFlLjAKICBJTyB3aW5kb3c6IGUw MDAtZWZmZgogIE1FTSB3aW5kb3c6IGY2ZTAwMDAwLWZiZmZmZmZmCiAgUFJFRkVUQ0ggd2luZG93 OiBkaXNhYmxlZC4KUENJOiBTZXR0aW5nIGxhdGVuY3kgdGltZXIgb2YgZGV2aWNlIDAwMDA6MDA6 MWUuMCB0byA2NApORVQ6IFJlZ2lzdGVyZWQgcHJvdG9jb2wgZmFtaWx5IDIKSVAgcm91dGUgY2Fj aGUgaGFzaCB0YWJsZSBlbnRyaWVzOiAzMjc2OCAob3JkZXI6IDUsIDEzMTA3MiBieXRlcykKVENQ IGVzdGFibGlzaGVkIGhhc2ggdGFibGUgZW50cmllczogNjU1MzYgKG9yZGVyOiA5LCAyODgzNTg0 IGJ5dGVzKQpUQ1AgYmluZCBoYXNoIHRhYmxlIGVudHJpZXM6IDY1NTM2IChvcmRlcjogOSwgMjM1 OTI5NiBieXRlcykKVENQOiBIYXNoIHRhYmxlcyBjb25maWd1cmVkIChlc3RhYmxpc2hlZCA2NTUz NiBiaW5kIDY1NTM2KQpUQ1AgcmVubyByZWdpc3RlcmVkCmNoZWNraW5nIGlmIGltYWdlIGlzIGlu aXRyYW1mcy4uLiBpdCBpcwpGcmVlaW5nIGluaXRyZCBtZW1vcnk6IDM1ODFrIGZyZWVkCmFwbTog QklPUyB2ZXJzaW9uIDEuMiBGbGFncyAweDAzIChEcml2ZXIgdmVyc2lvbiAxLjE2YWMpCmFwbTog ZGlzYWJsZWQgLSBBUE0gaXMgbm90IFNNUCBzYWZlLgphdWRpdDogaW5pdGlhbGl6aW5nIG5ldGxp bmsgc29ja2V0IChkaXNhYmxlZCkKYXVkaXQoMTE5NTI1NjY4NS4yMTA6MSk6IGluaXRpYWxpemVk CmhpZ2htZW0gYm91bmNlIHBvb2wgc2l6ZTogNjQgcGFnZXMKVG90YWwgSHVnZVRMQiBtZW1vcnkg YWxsb2NhdGVkLCAwClZGUzogRGlzayBxdW90YXMgZHF1b3RfNi41LjEKRHF1b3QtY2FjaGUgaGFz aCB0YWJsZSBlbnRyaWVzOiAxMDI0IChvcmRlciAwLCA0MDk2IGJ5dGVzKQpTRUxpbnV4OiAgUmVn aXN0ZXJpbmcgbmV0ZmlsdGVyIGhvb2tzCkJsb2NrIGxheWVyIFNDU0kgZ2VuZXJpYyAoYnNnKSBk cml2ZXIgdmVyc2lvbiAwLjQgbG9hZGVkIChtYWpvciAyNTMpCmlvIHNjaGVkdWxlciBub29wIHJl Z2lzdGVyZWQKaW8gc2NoZWR1bGVyIGFudGljaXBhdG9yeSByZWdpc3RlcmVkCmlvIHNjaGVkdWxl ciBkZWFkbGluZSByZWdpc3RlcmVkCmlvIHNjaGVkdWxlciBjZnEgcmVnaXN0ZXJlZCAoZGVmYXVs dCkKQm9vdCB2aWRlbyBkZXZpY2UgaXMgMDAwMDowMTowMC4wCnBjaV9ob3RwbHVnOiBQQ0kgSG90 IFBsdWcgUENJIENvcmUgdmVyc2lvbjogMC41CmlzYXBucDogU2Nhbm5pbmcgZm9yIFBuUCBjYXJk cy4uLgppc2FwbnA6IE5vIFBsdWcgJiBQbGF5IGRldmljZSBmb3VuZApSZWFsIFRpbWUgQ2xvY2sg RHJpdmVyIHYxLjEyYWMKTm9uLXZvbGF0aWxlIG1lbW9yeSBkcml2ZXIgdjEuMgpMaW51eCBhZ3Bn YXJ0IGludGVyZmFjZSB2MC4xMDIKYWdwZ2FydDogRGV0ZWN0ZWQgYW4gSW50ZWwgODY1IENoaXBz ZXQuCmFncGdhcnQ6IEFHUCBhcGVydHVyZSBpcyA2NE0gQCAweDU0MDAwMDAwClNlcmlhbDogODI1 MC8xNjU1MCBkcml2ZXIgJFJldmlzaW9uOiAxLjkwICQgNCBwb3J0cywgSVJRIHNoYXJpbmcgZW5h YmxlZApzZXJpYWw4MjUwOiB0dHlTMCBhdCBJL08gMHgzZjggKGlycSA9IDQpIGlzIGEgMTY1NTBB CjAwOjA3OiB0dHlTMCBhdCBJL08gMHgzZjggKGlycSA9IDQpIGlzIGEgMTY1NTBBClJBTURJU0sg ZHJpdmVyIGluaXRpYWxpemVkOiAxNiBSQU0gZGlza3Mgb2YgMTYzODRLIHNpemUgNDA5NiBibG9j a3NpemUKaW5wdXQ6IE1hY2ludG9zaCBtb3VzZSBidXR0b24gZW11bGF0aW9uIGFzIC9jbGFzcy9p bnB1dC9pbnB1dDAKUE5QOiBQUy8yIENvbnRyb2xsZXIgW1BOUDAzMDM6UFMySyxQTlAwZjAzOlBT Mk1dIGF0IDB4NjAsMHg2NCBpcnEgMSwxMgpzZXJpbzogaTgwNDIgS0JEIHBvcnQgYXQgMHg2MCww eDY0IGlycSAxCnNlcmlvOiBpODA0MiBBVVggcG9ydCBhdCAweDYwLDB4NjQgaXJxIDEyCm1pY2U6 IFBTLzIgbW91c2UgZGV2aWNlIGNvbW1vbiBmb3IgYWxsIG1pY2UKaW5wdXQ6IEFUIFRyYW5zbGF0 ZWQgU2V0IDIga2V5Ym9hcmQgYXMgL2NsYXNzL2lucHV0L2lucHV0MQpjcHVpZGxlOiB1c2luZyBn b3Zlcm5vciBtZW51CnVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgaGlk ZGV2CnVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNiaGlkCmRyaXZl cnMvaGlkL3VzYmhpZC9oaWQtY29yZS5jOiB2Mi42OlVTQiBISUQgY29yZSBkcml2ZXIKVENQIGN1 YmljIHJlZ2lzdGVyZWQKSW5pdGlhbGl6aW5nIFhGUk0gbmV0bGluayBzb2NrZXQKTkVUOiBSZWdp c3RlcmVkIHByb3RvY29sIGZhbWlseSAxCk5FVDogUmVnaXN0ZXJlZCBwcm90b2NvbCBmYW1pbHkg MTcKVXNpbmcgSVBJIE5vLVNob3J0Y3V0IG1vZGUKICBNYWdpYyBudW1iZXI6IDE1OjM1ODo3NTcK RnJlZWluZyB1bnVzZWQga2VybmVsIG1lbW9yeTogMjc2ayBmcmVlZApXcml0ZSBwcm90ZWN0aW5n IHRoZSBrZXJuZWwgcmVhZC1vbmx5IGRhdGE6IDg1NmsKbG9naXBzMnBwOiBEZXRlY3RlZCB1bmtu b3duIGxvZ2l0ZWNoIG1vdXNlIG1vZGVsIDEyNwpBQ1BJOiBQQ0kgSW50ZXJydXB0IDAwMDA6MDA6 MWQuN1tEXSAtPiBHU0kgMjMgKGxldmVsLCBsb3cpIC0+IElSUSAxNgpQQ0k6IFNldHRpbmcgbGF0 ZW5jeSB0aW1lciBvZiBkZXZpY2UgMDAwMDowMDoxZC43IHRvIDY0CmVoY2lfaGNkIDAwMDA6MDA6 MWQuNzogRUhDSSBIb3N0IENvbnRyb2xsZXIKZWhjaV9oY2QgMDAwMDowMDoxZC43OiBuZXcgVVNC IGJ1cyByZWdpc3RlcmVkLCBhc3NpZ25lZCBidXMgbnVtYmVyIDEKZWhjaV9oY2QgMDAwMDowMDox ZC43OiBkZWJ1ZyBwb3J0IDEKUENJOiBjYWNoZSBsaW5lIHNpemUgb2YgMTI4IGlzIG5vdCBzdXBw b3J0ZWQgYnkgZGV2aWNlIDAwMDA6MDA6MWQuNwplaGNpX2hjZCAwMDAwOjAwOjFkLjc6IGlycSAx NiwgaW8gbWVtIDB4ZjZjZmZjMDAKZWhjaV9oY2QgMDAwMDowMDoxZC43OiBVU0IgMi4wIHN0YXJ0 ZWQsIEVIQ0kgMS4wMCwgZHJpdmVyIDEwIERlYyAyMDA0CnVzYiB1c2IxOiBjb25maWd1cmF0aW9u ICMxIGNob3NlbiBmcm9tIDEgY2hvaWNlCmh1YiAxLTA6MS4wOiBVU0IgaHViIGZvdW5kCmh1YiAx LTA6MS4wOiA4IHBvcnRzIGRldGVjdGVkCm9oY2lfaGNkOiAyMDA2IEF1Z3VzdCAwNCBVU0IgMS4x ICdPcGVuJyBIb3N0IENvbnRyb2xsZXIgKE9IQ0kpIERyaXZlcgpVU0IgVW5pdmVyc2FsIEhvc3Qg Q29udHJvbGxlciBJbnRlcmZhY2UgZHJpdmVyIHYzLjAKQUNQSTogUENJIEludGVycnVwdCAwMDAw OjAwOjFkLjBbQV0gLT4gR1NJIDE2IChsZXZlbCwgbG93KSAtPiBJUlEgMTcKUENJOiBTZXR0aW5n IGxhdGVuY3kgdGltZXIgb2YgZGV2aWNlIDAwMDA6MDA6MWQuMCB0byA2NAp1aGNpX2hjZCAwMDAw OjAwOjFkLjA6IFVIQ0kgSG9zdCBDb250cm9sbGVyCnVoY2lfaGNkIDAwMDA6MDA6MWQuMDogbmV3 IFVTQiBidXMgcmVnaXN0ZXJlZCwgYXNzaWduZWQgYnVzIG51bWJlciAyCnVoY2lfaGNkIDAwMDA6 MDA6MWQuMDogaXJxIDE3LCBpbyBiYXNlIDB4MDAwMGM0ODAKdXNiIHVzYjI6IGNvbmZpZ3VyYXRp b24gIzEgY2hvc2VuIGZyb20gMSBjaG9pY2UKaHViIDItMDoxLjA6IFVTQiBodWIgZm91bmQKaHVi IDItMDoxLjA6IDIgcG9ydHMgZGV0ZWN0ZWQKQUNQSTogUENJIEludGVycnVwdCAwMDAwOjAwOjFk LjFbQl0gLT4gR1NJIDE5IChsZXZlbCwgbG93KSAtPiBJUlEgMTgKUENJOiBTZXR0aW5nIGxhdGVu Y3kgdGltZXIgb2YgZGV2aWNlIDAwMDA6MDA6MWQuMSB0byA2NAp1aGNpX2hjZCAwMDAwOjAwOjFk LjE6IFVIQ0kgSG9zdCBDb250cm9sbGVyCnVoY2lfaGNkIDAwMDA6MDA6MWQuMTogbmV3IFVTQiBi dXMgcmVnaXN0ZXJlZCwgYXNzaWduZWQgYnVzIG51bWJlciAzCnVoY2lfaGNkIDAwMDA6MDA6MWQu MTogaXJxIDE4LCBpbyBiYXNlIDB4MDAwMGM4MDAKdXNiIHVzYjM6IGNvbmZpZ3VyYXRpb24gIzEg Y2hvc2VuIGZyb20gMSBjaG9pY2UKaHViIDMtMDoxLjA6IFVTQiBodWIgZm91bmQKaHViIDMtMDox LjA6IDIgcG9ydHMgZGV0ZWN0ZWQKQUNQSTogUENJIEludGVycnVwdCAwMDAwOjAwOjFkLjJbQ10g LT4gR1NJIDE4IChsZXZlbCwgbG93KSAtPiBJUlEgMTkKUENJOiBTZXR0aW5nIGxhdGVuY3kgdGlt ZXIgb2YgZGV2aWNlIDAwMDA6MDA6MWQuMiB0byA2NAp1aGNpX2hjZCAwMDAwOjAwOjFkLjI6IFVI Q0kgSG9zdCBDb250cm9sbGVyCnVoY2lfaGNkIDAwMDA6MDA6MWQuMjogbmV3IFVTQiBidXMgcmVn aXN0ZXJlZCwgYXNzaWduZWQgYnVzIG51bWJlciA0CnVoY2lfaGNkIDAwMDA6MDA6MWQuMjogaXJx IDE5LCBpbyBiYXNlIDB4MDAwMGM4ODAKdXNiIHVzYjQ6IGNvbmZpZ3VyYXRpb24gIzEgY2hvc2Vu IGZyb20gMSBjaG9pY2UKaHViIDQtMDoxLjA6IFVTQiBodWIgZm91bmQKaHViIDQtMDoxLjA6IDIg cG9ydHMgZGV0ZWN0ZWQKaW5wdXQ6IEltRXhQUy8yIExvZ2l0ZWNoIEV4cGxvcmVyIE1vdXNlIGFz IC9jbGFzcy9pbnB1dC9pbnB1dDIKQUNQSTogUENJIEludGVycnVwdCAwMDAwOjAwOjFkLjNbQV0g LT4gR1NJIDE2IChsZXZlbCwgbG93KSAtPiBJUlEgMTcKUENJOiBTZXR0aW5nIGxhdGVuY3kgdGlt ZXIgb2YgZGV2aWNlIDAwMDA6MDA6MWQuMyB0byA2NAp1aGNpX2hjZCAwMDAwOjAwOjFkLjM6IFVI Q0kgSG9zdCBDb250cm9sbGVyCnVoY2lfaGNkIDAwMDA6MDA6MWQuMzogbmV3IFVTQiBidXMgcmVn aXN0ZXJlZCwgYXNzaWduZWQgYnVzIG51bWJlciA1CnVoY2lfaGNkIDAwMDA6MDA6MWQuMzogaXJx IDE3LCBpbyBiYXNlIDB4MDAwMGNjMDAKdXNiIHVzYjU6IGNvbmZpZ3VyYXRpb24gIzEgY2hvc2Vu IGZyb20gMSBjaG9pY2UKaHViIDUtMDoxLjA6IFVTQiBodWIgZm91bmQKaHViIDUtMDoxLjA6IDIg cG9ydHMgZGV0ZWN0ZWQKdXNiIDItMjogbmV3IGZ1bGwgc3BlZWQgVVNCIGRldmljZSB1c2luZyB1 aGNpX2hjZCBhbmQgYWRkcmVzcyAyClNDU0kgc3Vic3lzdGVtIGluaXRpYWxpemVkCmxpYmF0YSB2 ZXJzaW9uIDIuMjEgbG9hZGVkLgphdGFfcGlpeCAwMDAwOjAwOjFmLjE6IHZlcnNpb24gMi4xMgpQ Q0k6IEVuYWJsaW5nIGRldmljZSAwMDAwOjAwOjFmLjEgKDAwMDUgLT4gMDAwNykKQUNQSTogUENJ IEludGVycnVwdCAwMDAwOjAwOjFmLjFbQV0gLT4gR1NJIDE4IChsZXZlbCwgbG93KSAtPiBJUlEg MTkKUENJOiBTZXR0aW5nIGxhdGVuY3kgdGltZXIgb2YgZGV2aWNlIDAwMDA6MDA6MWYuMSB0byA2 NApzY3NpMCA6IGF0YV9waWl4CnNjc2kxIDogYXRhX3BpaXgKYXRhMTogUEFUQSBtYXggVURNQS8x MzMgY21kIDB4MDAwMTAxZjAgY3RsIDB4MDAwMTAzZjYgYm1kbWEgMHgwMDAxZmMwMCBpcnEgMTQK YXRhMjogUEFUQSBtYXggVURNQS8xMzMgY21kIDB4MDAwMTAxNzAgY3RsIDB4MDAwMTAzNzYgYm1k bWEgMHgwMDAxZmMwOCBpcnEgMTUKdXNiIDItMjogY29uZmlndXJhdGlvbiAjMSBjaG9zZW4gZnJv bSAxIGNob2ljZQpodWIgMi0yOjEuMDogVVNCIGh1YiBmb3VuZApodWIgMi0yOjEuMDogNCBwb3J0 cyBkZXRlY3RlZAphdGExLjAwOiBBVEFQSTogU09OWSAgICBEVkQgUlcgRFJVLTUwMEEsIDIuMWEs IG1heCBVRE1BLzMzCmF0YTEuMDA6IGNvbmZpZ3VyZWQgZm9yIFVETUEvMzMKYXRhMi4wMDogQVRB LTY6IFdEQyBXRDMyMDBKQi0wMEtGQTAsIDA4LjA1SjA4LCBtYXggVURNQS8xMDAKYXRhMi4wMDog NjI1MTQyNDQ4IHNlY3RvcnMsIG11bHRpIDE2OiBMQkE0OCAKYXRhMi4wMTogQVRBLTc6IE1heHRv ciA2RTA0MEwwLCBOQVI2MTU5MCwgbWF4IFVETUEvMTMzCmF0YTIuMDE6IDgwMjkzMjQ4IHNlY3Rv cnMsIG11bHRpIDE2OiBMQkEgCmF0YTIuMDA6IGNvbmZpZ3VyZWQgZm9yIFVETUEvMTAwCmF0YTIu MDE6IGNvbmZpZ3VyZWQgZm9yIFVETUEvMTMzCnNjc2kgMDowOjA6MDogQ0QtUk9NICAgICAgICAg ICAgU09OWSAgICAgRFZEIFJXIERSVS01MDBBICAyLjFhIFBROiAwIEFOU0k6IDUKc2NzaSAxOjA6 MDowOiBEaXJlY3QtQWNjZXNzICAgICBBVEEgICAgICBXREMgV0QzMjAwSkItMDBLIDA4LjAgUFE6 IDAgQU5TSTogNQpzZCAxOjA6MDowOiBbc2RhXSA2MjUxNDI0NDggNTEyLWJ5dGUgaGFyZHdhcmUg c2VjdG9ycyAoMzIwMDczIE1CKQpzZCAxOjA6MDowOiBbc2RhXSBXcml0ZSBQcm90ZWN0IGlzIG9m ZgpzZCAxOjA6MDowOiBbc2RhXSBNb2RlIFNlbnNlOiAwMCAzYSAwMCAwMApzZCAxOjA6MDowOiBb c2RhXSBXcml0ZSBjYWNoZTogZW5hYmxlZCwgcmVhZCBjYWNoZTogZW5hYmxlZCwgZG9lc24ndCBz dXBwb3J0IERQTyBvciBGVUEKc2QgMTowOjA6MDogW3NkYV0gNjI1MTQyNDQ4IDUxMi1ieXRlIGhh cmR3YXJlIHNlY3RvcnMgKDMyMDA3MyBNQikKc2QgMTowOjA6MDogW3NkYV0gV3JpdGUgUHJvdGVj dCBpcyBvZmYKc2QgMTowOjA6MDogW3NkYV0gTW9kZSBTZW5zZTogMDAgM2EgMDAgMDAKc2QgMTow OjA6MDogW3NkYV0gV3JpdGUgY2FjaGU6IGVuYWJsZWQsIHJlYWQgY2FjaGU6IGVuYWJsZWQsIGRv ZXNuJ3Qgc3VwcG9ydCBEUE8gb3IgRlVBCiBzZGE6IHNkYTEgc2RhMiA8IHNkYTUgPiBzZGEzIHNk YTQKc2QgMTowOjA6MDogW3NkYV0gQXR0YWNoZWQgU0NTSSBkaXNrCnNjc2kgMTowOjE6MDogRGly ZWN0LUFjY2VzcyAgICAgQVRBICAgICAgTWF4dG9yIDZFMDQwTDAgICBOQVI2IFBROiAwIEFOU0k6 IDUKc2QgMTowOjE6MDogW3NkYl0gODAyOTMyNDggNTEyLWJ5dGUgaGFyZHdhcmUgc2VjdG9ycyAo NDExMTAgTUIpCnNkIDE6MDoxOjA6IFtzZGJdIFdyaXRlIFByb3RlY3QgaXMgb2ZmCnNkIDE6MDox OjA6IFtzZGJdIE1vZGUgU2Vuc2U6IDAwIDNhIDAwIDAwCnNkIDE6MDoxOjA6IFtzZGJdIFdyaXRl IGNhY2hlOiBlbmFibGVkLCByZWFkIGNhY2hlOiBlbmFibGVkLCBkb2Vzbid0IHN1cHBvcnQgRFBP IG9yIEZVQQpzZCAxOjA6MTowOiBbc2RiXSA4MDI5MzI0OCA1MTItYnl0ZSBoYXJkd2FyZSBzZWN0 b3JzICg0MTExMCBNQikKc2QgMTowOjE6MDogW3NkYl0gV3JpdGUgUHJvdGVjdCBpcyBvZmYKc2Qg MTowOjE6MDogW3NkYl0gTW9kZSBTZW5zZTogMDAgM2EgMDAgMDAKc2QgMTowOjE6MDogW3NkYl0g V3JpdGUgY2FjaGU6IGVuYWJsZWQsIHJlYWQgY2FjaGU6IGVuYWJsZWQsIGRvZXNuJ3Qgc3VwcG9y dCBEUE8gb3IgRlVBCiBzZGI6IHNkYjEKc2QgMTowOjE6MDogW3NkYl0gQXR0YWNoZWQgU0NTSSBk aXNrCmF0YV9waWl4IDAwMDA6MDA6MWYuMjogTUFQIFsgUDAgLS0gUDEgLS0gXQpBQ1BJOiBQQ0kg SW50ZXJydXB0IDAwMDA6MDA6MWYuMltBXSAtPiBHU0kgMTggKGxldmVsLCBsb3cpIC0+IElSUSAx OQpQQ0k6IFNldHRpbmcgbGF0ZW5jeSB0aW1lciBvZiBkZXZpY2UgMDAwMDowMDoxZi4yIHRvIDY0 CnNjc2kyIDogYXRhX3BpaXgKc2NzaTMgOiBhdGFfcGlpeAphdGEzOiBTQVRBIG1heCBVRE1BLzEz MyBjbWQgMHgwMDAxYmMwMCBjdGwgMHgwMDAxYjg4MiBibWRtYSAweDAwMDFiNDAwIGlycSAxOQph dGE0OiBTQVRBIG1heCBVRE1BLzEzMyBjbWQgMHgwMDAxYjgwMCBjdGwgMHgwMDAxYjQ4MiBibWRt YSAweDAwMDFiNDA4IGlycSAxOQphdGEzLjAwOiBBVEEtNzogTWF4dG9yIDZZMDgwTTAsIFlBUjUx RVcwLCBtYXggVURNQS8xMzMKYXRhMy4wMDogMTYwMDg2NTI4IHNlY3RvcnMsIG11bHRpIDE2OiBM QkEgCmF0YTMuMDA6IGNvbmZpZ3VyZWQgZm9yIFVETUEvMTMzCnNjc2kgMjowOjA6MDogRGlyZWN0 LUFjY2VzcyAgICAgQVRBICAgICAgTWF4dG9yIDZZMDgwTTAgICBZQVI1IFBROiAwIEFOU0k6IDUK c2QgMjowOjA6MDogW3NkY10gMTYwMDg2NTI4IDUxMi1ieXRlIGhhcmR3YXJlIHNlY3RvcnMgKDgx OTY0IE1CKQpzZCAyOjA6MDowOiBbc2RjXSBXcml0ZSBQcm90ZWN0IGlzIG9mZgpzZCAyOjA6MDow OiBbc2RjXSBNb2RlIFNlbnNlOiAwMCAzYSAwMCAwMApzZCAyOjA6MDowOiBbc2RjXSBXcml0ZSBj YWNoZTogZW5hYmxlZCwgcmVhZCBjYWNoZTogZW5hYmxlZCwgZG9lc24ndCBzdXBwb3J0IERQTyBv ciBGVUEKc2QgMjowOjA6MDogW3NkY10gMTYwMDg2NTI4IDUxMi1ieXRlIGhhcmR3YXJlIHNlY3Rv cnMgKDgxOTY0IE1CKQpzZCAyOjA6MDowOiBbc2RjXSBXcml0ZSBQcm90ZWN0IGlzIG9mZgpzZCAy OjA6MDowOiBbc2RjXSBNb2RlIFNlbnNlOiAwMCAzYSAwMCAwMApzZCAyOjA6MDowOiBbc2RjXSBX cml0ZSBjYWNoZTogZW5hYmxlZCwgcmVhZCBjYWNoZTogZW5hYmxlZCwgZG9lc24ndCBzdXBwb3J0 IERQTyBvciBGVUEKIHNkYzogc2RjMSBzZGMyCnNkIDI6MDowOjA6IFtzZGNdIEF0dGFjaGVkIFND U0kgZGlzawpkZXZpY2UtbWFwcGVyOiBpb2N0bDogNC4xMS4wLWlvY3RsICgyMDA2LTEwLTEyKSBp bml0aWFsaXNlZDogZG0tZGV2ZWxAcmVkaGF0LmNvbQpram91cm5hbGQgc3RhcnRpbmcuICBDb21t aXQgaW50ZXJ2YWwgNSBzZWNvbmRzCkVYVDMtZnM6IG1vdW50ZWQgZmlsZXN5c3RlbSB3aXRoIG9y ZGVyZWQgZGF0YSBtb2RlLgpTRUxpbnV4OiAgRGlzYWJsZWQgYXQgcnVudGltZS4KU0VMaW51eDog IFVucmVnaXN0ZXJpbmcgbmV0ZmlsdGVyIGhvb2tzCmF1ZGl0KDExOTUyNTY2OTMuMjA5OjIpOiBz ZWxpbnV4PTAgYXVpZD00Mjk0OTY3Mjk1CmludGVsX3JuZzogRldIIG5vdCBkZXRlY3RlZApzcjA6 IHNjc2kzLW1tYyBkcml2ZTogMzJ4LzMyeCB3cml0ZXIgY2QvcncgeGEvZm9ybTIgY2RkYSB0cmF5 ClVuaWZvcm0gQ0QtUk9NIGRyaXZlciBSZXZpc2lvbjogMy4yMApzciAwOjA6MDowOiBBdHRhY2hl ZCBzY3NpIENELVJPTSBzcjAKaVRDT192ZW5kb3Jfc3VwcG9ydDogdmVuZG9yLXN1cHBvcnQ9MApz ciAwOjA6MDowOiBBdHRhY2hlZCBzY3NpIGdlbmVyaWMgc2cwIHR5cGUgNQpzZCAxOjA6MDowOiBB dHRhY2hlZCBzY3NpIGdlbmVyaWMgc2cxIHR5cGUgMApzZCAxOjA6MTowOiBBdHRhY2hlZCBzY3Np IGdlbmVyaWMgc2cyIHR5cGUgMApzZCAyOjA6MDowOiBBdHRhY2hlZCBzY3NpIGdlbmVyaWMgc2cz IHR5cGUgMAppVENPX3dkdDogSW50ZWwgVENPIFdhdGNoRG9nIFRpbWVyIERyaXZlciB2MS4wMiAo MjYtSnVsLTIwMDcpCmlUQ09fd2R0OiBGb3VuZCBhIElDSDUgb3IgSUNINVIgVENPIGRldmljZSAo VmVyc2lvbj0xLCBUQ09CQVNFPTB4MDg2MCkKaVRDT193ZHQ6IGluaXRpYWxpemVkLiBoZWFydGJl YXQ9MzAgc2VjIChub3dheW91dD0wKQpGbG9wcHkgZHJpdmUocyk6IGZkMCBpcyAxLjQ0TQpBQ1BJ OiBQQ0kgSW50ZXJydXB0IDAwMDA6MDA6MWYuM1tCXSAtPiBHU0kgMTcgKGxldmVsLCBsb3cpIC0+ IElSUSAyMApGREMgMCBpcyBhIHBvc3QtMTk5MSA4MjA3NwppbnB1dDogUG93ZXIgQnV0dG9uIChG RikgYXMgL2NsYXNzL2lucHV0L2lucHV0MwpBQ1BJOiBQb3dlciBCdXR0b24gKEZGKSBbUFdSRl0K aW5wdXQ6IFBvd2VyIEJ1dHRvbiAoQ00pIGFzIC9jbGFzcy9pbnB1dC9pbnB1dDQKQUNQSTogUG93 ZXIgQnV0dG9uIChDTSkgW1BXUkJdCkFDUEk6IFBDSSBJbnRlcnJ1cHQgMDAwMDowMjowNS4wW0Fd IC0+IEdTSSAyMiAobGV2ZWwsIGxvdykgLT4gSVJRIDIxCnNrZ2UgMS4xMSBhZGRyIDB4ZjZlZjgw MDAgaXJxIDIxIGNoaXAgWXVrb24gcmV2IDEKc2tnZSBldGgwOiBhZGRyIDAwOjBlOmE2OjJmOjJk OmE0CkFDUEk6IFBDSSBJbnRlcnJ1cHQgMDAwMDowMjowMy4wW0FdIC0+IEdTSSAyMCAobGV2ZWws IGxvdykgLT4gSVJRIDIyCmZpcmV3aXJlX29oY2k6IEFkZGVkIGZ3LW9oY2kgZGV2aWNlIDAwMDA6 MDI6MDMuMCwgT0hDSSB2ZXJzaW9uIDEuMApBQ1BJOiBQQ0kgSW50ZXJydXB0IDAwMDA6MDM6MGQu MFtBXSAtPiBHU0kgMjIgKGxldmVsLCBsb3cpIC0+IElSUSAyMQpmaXJld2lyZV9vaGNpOiBBZGRl ZCBmdy1vaGNpIGRldmljZSAwMDAwOjAzOjBkLjAsIE9IQ0kgdmVyc2lvbiAxLjEwCkxpbnV4IHZp ZGVvIGNhcHR1cmUgaW50ZXJmYWNlOiB2Mi4wMApmaXJld2lyZV9jb3JlOiBjcmVhdGVkIG5ldyBm dyBkZXZpY2UgZncwICgwIGNvbmZpZyByb20gcmV0cmllcywgUzQwMCkKZmlyZXdpcmVfY29yZTog Y3JlYXRlZCBuZXcgZncgZGV2aWNlIGZ3MSAoMCBjb25maWcgcm9tIHJldHJpZXMsIFM0MDApCmN4 MjM4OHggdjRsMiBkcml2ZXIgdmVyc2lvbiAwLjAuNiBsb2FkZWQKQUNQSTogUENJIEludGVycnVw dCAwMDAwOjAzOjBjLjBbQV0gLT4gR1NJIDIxIChsZXZlbCwgbG93KSAtPiBJUlEgMjMKQ09SRSBj eDg4WzBdOiBzdWJzeXN0ZW06IDEwN2Q6NjYyMCwgYm9hcmQ6IExlYWR0ZWsgV2luZmFzdCBEVjIw MDAgW2NhcmQ9OCxhdXRvZGV0ZWN0ZWRdClRWIHR1bmVyIDM4IGF0IDB4MWZlLCBSYWRpbyB0dW5l ciAtMSBhdCAweDFmZQpBQ1BJOiBQQ0kgSW50ZXJydXB0IDAwMDA6MDA6MWYuNVtCXSAtPiBHU0kg MTcgKGxldmVsLCBsb3cpIC0+IElSUSAyMApQQ0k6IFNldHRpbmcgbGF0ZW5jeSB0aW1lciBvZiBk ZXZpY2UgMDAwMDowMDoxZi41IHRvIDY0CmN4ODhbMF0vMDogZm91bmQgYXQgMDAwMDowMzowYy4w LCByZXY6IDUsIGlycTogMjMsIGxhdGVuY3k6IDY0LCBtbWlvOiAweGY3MDAwMDAwCnR1bmVyIDEt MDA0MzogY2hpcCBmb3VuZCBAIDB4ODYgKGN4ODhbMF0pCnRkYTk4ODcgMS0wMDQzOiB0ZGE5ODhb NS82LzddIGZvdW5kIEAgMHg0MyAodHVuZXIpCnR1bmVyIDEtMDA2MDogQWxsIGJ5dGVzIGFyZSBl cXVhbC4gSXQgaXMgbm90IGEgVEVBNTc2Nwp0dW5lciAxLTAwNjA6IGNoaXAgZm91bmQgQCAweGMw IChjeDg4WzBdKQp0dW5lciAxLTAwNjA6IHR5cGUgc2V0IHRvIDM4IChQaGlsaXBzIFBBTC9TRUNB TSBtdWx0aSAoRk0xMjE2TUUgTUszKSkKdHVuZXIgMS0wMDYwOiB0eXBlIHNldCB0byAzOCAoUGhp bGlwcyBQQUwvU0VDQU0gbXVsdGkgKEZNMTIxNk1FIE1LMykpCmN4ODhbMF0vMDogcmVnaXN0ZXJl ZCBkZXZpY2UgdmlkZW8wIFt2NGwyXQpjeDg4WzBdLzA6IHJlZ2lzdGVyZWQgZGV2aWNlIHZiaTAK Y3g4OFswXS8wOiByZWdpc3RlcmVkIGRldmljZSByYWRpbzAKQUMnOTcgMCBhbmFsb2cgc3Vic2Vj dGlvbnMgbm90IHJlYWR5CmludGVsOHgwX21lYXN1cmVfYWM5N19jbG9jazogbWVhc3VyZWQgNTAw NzYgdXNlY3MKaW50ZWw4eDA6IGNsb2NraW5nIHRvIDQ4MDAwCk5FVDogUmVnaXN0ZXJlZCBwcm90 b2NvbCBmYW1pbHkgMTAKbG86IERpc2FibGVkIFByaXZhY3kgRXh0ZW5zaW9ucwpBQ1BJOiBQQ0kg SW50ZXJydXB0IDAwMDA6MDE6MDAuMFtBXSAtPiBHU0kgMTYgKGxldmVsLCBsb3cpIC0+IElSUSAx NwpkZXZpY2UtbWFwcGVyOiBtdWx0aXBhdGg6IHZlcnNpb24gMS4wLjUgbG9hZGVkCkVYVDMgRlMg b24gZG0tMCwgaW50ZXJuYWwgam91cm5hbApram91cm5hbGQgc3RhcnRpbmcuICBDb21taXQgaW50 ZXJ2YWwgNSBzZWNvbmRzCkVYVDMgRlMgb24gc2RhMywgaW50ZXJuYWwgam91cm5hbApFWFQzLWZz OiBtb3VudGVkIGZpbGVzeXN0ZW0gd2l0aCBvcmRlcmVkIGRhdGEgbW9kZS4KZnVzZSBpbml0IChB UEkgdmVyc2lvbiA3LjgpCkFkZGluZyAyMDk3MTQ0ayBzd2FwIG9uIC9kZXYvbWFwcGVyL2x2bWJh c2Utc3dhcC4gIFByaW9yaXR5Oi0xIGV4dGVudHM6MSBhY3Jvc3M6MjA5NzE0NGsKaXBfdGFibGVz OiAoQykgMjAwMC0yMDA2IE5ldGZpbHRlciBDb3JlIFRlYW0KTmV0ZmlsdGVyIG1lc3NhZ2VzIHZp YSBORVRMSU5LIHYwLjMwLgpuZl9jb25udHJhY2sgdmVyc2lvbiAwLjUuMCAoMTYzODQgYnVja2V0 cywgNjU1MzYgbWF4KQpza2dlIGV0aDA6IGVuYWJsaW5nIGludGVyZmFjZQpBRERSQ09ORihORVRE RVZfVVApOiBldGgwOiBsaW5rIGlzIG5vdCByZWFkeQpza2dlIGV0aDA6IExpbmsgaXMgdXAgYXQg MTAwMCBNYnBzLCBmdWxsIGR1cGxleCwgZmxvdyBjb250cm9sIGJvdGgKQUREUkNPTkYoTkVUREVW X0NIQU5HRSk6IGV0aDA6IGxpbmsgYmVjb21lcyByZWFkeQpCbHVldG9vdGg6IENvcmUgdmVyIDIu MTEKTkVUOiBSZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAzMQpCbHVldG9vdGg6IEhDSSBkZXZp Y2UgYW5kIGNvbm5lY3Rpb24gbWFuYWdlciBpbml0aWFsaXplZApCbHVldG9vdGg6IEhDSSBzb2Nr ZXQgbGF5ZXIgaW5pdGlhbGl6ZWQKQmx1ZXRvb3RoOiBMMkNBUCB2ZXIgMi44CkJsdWV0b290aDog TDJDQVAgc29ja2V0IGxheWVyIGluaXRpYWxpemVkCkJsdWV0b290aDogUkZDT01NIHNvY2tldCBs YXllciBpbml0aWFsaXplZApCbHVldG9vdGg6IFJGQ09NTSBUVFkgbGF5ZXIgaW5pdGlhbGl6ZWQK Qmx1ZXRvb3RoOiBSRkNPTU0gdmVyIDEuOApldGgwOiBubyBJUHY2IHJvdXRlcnMgcHJlc2VudApC cmlkZ2UgZmlyZXdhbGxpbmcgcmVnaXN0ZXJlZAp2aXJicjA6IERyb3BwaW5nIE5FVElGX0ZfVUZP IHNpbmNlIG5vIE5FVElGX0ZfSFdfQ1NVTSBmZWF0dXJlLgp2aXJicjA6IG5vIElQdjYgcm91dGVy cyBwcmVzZW50CmR1bW15OiBtb2R1bGUgbGljZW5zZSAndW5zcGVjaWZpZWQnIHRhaW50cyBrZXJu ZWwuCmR1bW15X29wZW4KZHVtbXlfcmVhZApGaXJzdCB0aW1lIGRlY3JlbWVudCBnb2VzIG9rYXku CkRvIDEgdXAuCkRvIDIgdGltZXMgZG93bi4KV2Ugd2lsbCBibG9jayBub3csIGFuZCBpZiB5b3Ug cHJlc3MgQ1RSTC1DIGZyb20gaGVyZSwgd2UgZ2V0IGFuIE9PUFMuCldBUk5JTkc6IGF0IGtlcm5l bC9ydG11dGV4LmM6NTg1IHJlbW92ZV93YWl0ZXIoKQogWzxjMDQ0OWViNz5dIHJlbW92ZV93YWl0 ZXIrMHgxMDUvMHgxNGEKIFs8YzA2MWRhMzY+XSBydF9tdXRleF9zbG93bG9jaysweDFhZi8weDIw ZAogWzxjMDYxZDY2Yj5dIHJ0X211dGV4X2xvY2tfaW50ZXJydXB0aWJsZSsweDQxLzB4NDkKIFs8 ZjliZmUwODA+XSBkdW1teV9yZWFkKzB4MC8weDg4IFtkdW1teV0KIFs8YzA0NGEyYzU+XSBydF9k b3duX2ludGVycnVwdGlibGUrMHgxMS8weDMwCiBbPGY5YmZlMDgwPl0gZHVtbXlfcmVhZCsweDAv MHg4OCBbZHVtbXldCiBbPGY5YmZlMGYyPl0gZHVtbXlfcmVhZCsweDcyLzB4ODggW2R1bW15XQog WzxjMDQ4MTZiMD5dIHZmc19yZWFkKzB4YTYvMHgxNTIKIFs8YzA0ODFiMTI+XSBzeXNfcmVhZCsw eDQxLzB4NjcKIFs8YzA0MDUxMmE+XSBzeXNlbnRlcl9wYXN0X2VzcCsweDZiLzB4YTEKIFs8YzA2 MTAwMDA+XSBkdW1wX29uZV9zdGF0ZSsweDMxYi8weDNmOAogPT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnwgcHJlZW1wdCBjb3VudDogMDAwMDAwMDEg XQp8IDEtbGV2ZWwgZGVlcCBjcml0aWNhbCBzZWN0aW9uIG5lc3Rpbmc6Ci0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLi4gWzxjMDYxZTBjZT5dIC4uLi4gX19zcGluX2xv Y2tfaXJxKzB4MTcvMHgyNwouLi4uLls8MDAwMDAwMDA+XSAuLiAgICggPD0gMHgwKQoKV2UgYXJl IHJldHVybmluZyBmcm9tIHRoZSByZWFkKCkuCmR1bW15X3JlbGVhc2UKZHVtbXlfb3BlbgpkdW1t eV9yZWFkCkZpcnN0IHRpbWUgZGVjcmVtZW50IGdvZXMgb2theS4KV0FSTklORzogYXQga2VybmVs L3J0bXV0ZXguYzo1ODUgcmVtb3ZlX3dhaXRlcigpCiBbPGMwNDQ5ZWI3Pl0gcmVtb3ZlX3dhaXRl cisweDEwNS8weDE0YQogWzxjMDYxZGEzNj5dIHJ0X211dGV4X3Nsb3dsb2NrKzB4MWFmLzB4MjBk CiBbPGMwNjFkNjZiPl0gcnRfbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKzB4NDEvMHg0OQogWzxm OWJmZTA4MD5dIGR1bW15X3JlYWQrMHgwLzB4ODggW2R1bW15XQogWzxjMDQ0YTJjNT5dIHJ0X2Rv d25faW50ZXJydXB0aWJsZSsweDExLzB4MzAKIFs8ZjliZmUwODA+XSBkdW1teV9yZWFkKzB4MC8w eDg4IFtkdW1teV0KIFs8ZjliZmUwYjA+XSBkdW1teV9yZWFkKzB4MzAvMHg4OCBbZHVtbXldCiBb PGMwNDgxNmIwPl0gdmZzX3JlYWQrMHhhNi8weDE1MgogWzxjMDQ4MWIxMj5dIHN5c19yZWFkKzB4 NDEvMHg2NwogWzxjMDQwNTEyYT5dIHN5c2VudGVyX3Bhc3RfZXNwKzB4NmIvMHhhMQogWzxjMDYx MDAwMD5dIGR1bXBfb25lX3N0YXRlKzB4MzFiLzB4M2Y4CiA9PT09PT09PT09PT09PT09PT09PT09 PQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KfCBwcmVlbXB0IGNvdW50OiAwMDAwMDAwMSBd CnwgMS1sZXZlbCBkZWVwIGNyaXRpY2FsIHNlY3Rpb24gbmVzdGluZzoKLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQouLiBbPGMwNjFlMGNlPl0gLi4uLiBfX3NwaW5fbG9j a19pcnErMHgxNy8weDI3Ci4uLi4uWzwwMDAwMDAwMD5dIC4uICAgKCA8PSAweDApCgpEbyAxIHVw LgpEbyAyIHRpbWVzIGRvd24uCldlIHdpbGwgYmxvY2sgbm93LCBhbmQgaWYgeW91IHByZXNzIENU UkwtQyBmcm9tIGhlcmUsIHdlIGdldCBhbiBPT1BTLgpXZSBhcmUgcmV0dXJuaW5nIGZyb20gdGhl IHJlYWQoKS4KZHVtbXlfcmVsZWFzZQpkdW1teV9vcGVuCmR1bW15X3JlYWQKRmlyc3QgdGltZSBk ZWNyZW1lbnQgZ29lcyBva2F5LgpXQVJOSU5HOiBhdCBrZXJuZWwvcnRtdXRleC5jOjU4NSByZW1v dmVfd2FpdGVyKCkKIFs8YzA0NDllYjc+XSByZW1vdmVfd2FpdGVyKzB4MTA1LzB4MTRhCiBbPGMw NjFkYTM2Pl0gcnRfbXV0ZXhfc2xvd2xvY2srMHgxYWYvMHgyMGQKIFs8YzA2MWQ2NmI+XSBydF9t dXRleF9sb2NrX2ludGVycnVwdGlibGUrMHg0MS8weDQ5CiBbPGY5YmZlMDgwPl0gZHVtbXlfcmVh ZCsweDAvMHg4OCBbZHVtbXldCiBbPGMwNDRhMmM1Pl0gcnRfZG93bl9pbnRlcnJ1cHRpYmxlKzB4 MTEvMHgzMAogWzxmOWJmZTA4MD5dIGR1bW15X3JlYWQrMHgwLzB4ODggW2R1bW15XQogWzxmOWJm ZTBiMD5dIGR1bW15X3JlYWQrMHgzMC8weDg4IFtkdW1teV0KIFs8YzA0ODE2YjA+XSB2ZnNfcmVh ZCsweGE2LzB4MTUyCiBbPGMwNDgxYjEyPl0gc3lzX3JlYWQrMHg0MS8weDY3CiBbPGMwNDA1MTJh Pl0gc3lzZW50ZXJfcGFzdF9lc3ArMHg2Yi8weGExCiBbPGMwNjEwMDAwPl0gZHVtcF9vbmVfc3Rh dGUrMHgzMWIvMHgzZjgKID09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQp8IHByZWVtcHQgY291bnQ6IDAwMDAwMDAxIF0KfCAxLWxldmVsIGRlZXAgY3Jp dGljYWwgc2VjdGlvbiBuZXN0aW5nOgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCi4uIFs8YzA2MWUwY2U+XSAuLi4uIF9fc3Bpbl9sb2NrX2lycSsweDE3LzB4MjcKLi4u Li5bPDAwMDAwMDAwPl0gLi4gICAoIDw9IDB4MCkKCkRvIDEgdXAuCkRvIDIgdGltZXMgZG93bi4K V2Ugd2lsbCBibG9jayBub3csIGFuZCBpZiB5b3UgcHJlc3MgQ1RSTC1DIGZyb20gaGVyZSwgd2Ug Z2V0IGFuIE9PUFMuCldlIGFyZSByZXR1cm5pbmcgZnJvbSB0aGUgcmVhZCgpLgpkdW1teV9yZWxl YXNlCmR1bW15X29wZW4KZHVtbXlfcmVhZApGaXJzdCB0aW1lIGRlY3JlbWVudCBnb2VzIG9rYXku CldBUk5JTkc6IGF0IGtlcm5lbC9ydG11dGV4LmM6NTg1IHJlbW92ZV93YWl0ZXIoKQogWzxjMDQ0 OWViNz5dIHJlbW92ZV93YWl0ZXIrMHgxMDUvMHgxNGEKIFs8YzA2MWRhMzY+XSBydF9tdXRleF9z bG93bG9jaysweDFhZi8weDIwZAogWzxjMDYxZDY2Yj5dIHJ0X211dGV4X2xvY2tfaW50ZXJydXB0 aWJsZSsweDQxLzB4NDkKIFs8ZjliZmUwODA+XSBkdW1teV9yZWFkKzB4MC8weDg4IFtkdW1teV0K IFs8YzA0NGEyYzU+XSBydF9kb3duX2ludGVycnVwdGlibGUrMHgxMS8weDMwCiBbPGY5YmZlMDgw Pl0gZHVtbXlfcmVhZCsweDAvMHg4OCBbZHVtbXldCiBbPGY5YmZlMGIwPl0gZHVtbXlfcmVhZCsw eDMwLzB4ODggW2R1bW15XQogWzxjMDQ4MTZiMD5dIHZmc19yZWFkKzB4YTYvMHgxNTIKIFs8YzA0 ODFiMTI+XSBzeXNfcmVhZCsweDQxLzB4NjcKIFs8YzA0MDUxMmE+XSBzeXNlbnRlcl9wYXN0X2Vz cCsweDZiLzB4YTEKIFs8YzA2MTAwMDA+XSBkdW1wX29uZV9zdGF0ZSsweDMxYi8weDNmOAogPT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnwgcHJlZW1w dCBjb3VudDogMDAwMDAwMDEgXQp8IDEtbGV2ZWwgZGVlcCBjcml0aWNhbCBzZWN0aW9uIG5lc3Rp bmc6Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLi4gWzxjMDYxZTBj ZT5dIC4uLi4gX19zcGluX2xvY2tfaXJxKzB4MTcvMHgyNwouLi4uLls8MDAwMDAwMDA+XSAuLiAg ICggPD0gMHgwKQoKRG8gMSB1cC4KRG8gMiB0aW1lcyBkb3duLgpXZSB3aWxsIGJsb2NrIG5vdywg YW5kIGlmIHlvdSBwcmVzcyBDVFJMLUMgZnJvbSBoZXJlLCB3ZSBnZXQgYW4gT09QUy4KV2UgYXJl IHJldHVybmluZyBmcm9tIHRoZSByZWFkKCkuCmR1bW15X3JlbGVhc2UKZHVtbXlfb3BlbgpkdW1t eV9yZWFkCkZpcnN0IHRpbWUgZGVjcmVtZW50IGdvZXMgb2theS4KQlVHOiB1bmFibGUgdG8gaGFu ZGxlIGtlcm5lbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgYXQgdmlydHVhbCBhZGRyZXNzIDAw MDAwMDAwCiBwcmludGluZyBlaXA6CmMwNGY0NGNhCipwZGUgPSAwMDAwMDAwMApPb3BzOiAwMDAw IFsjMV0KUFJFRU1QVCBTTVAgCk1vZHVsZXMgbGlua2VkIGluOiBkdW1teShQKSBpcHRfTUFTUVVF UkFERSBpcHRhYmxlX25hdCBuZl9uYXQgYnJpZGdlIHJmY29tbSBsMmNhcCBibHVldG9vdGggYXV0 b2ZzNCBzdW5ycGMgbmZfY29ubnRyYWNrX25ldGJpb3NfbnMgbmZfY29ubnRyYWNrX2lwdjQgeHRf c3RhdGUgbmZfY29ubnRyYWNrIG5mbmV0bGluayB4dF90Y3B1ZHAgaXB0X1JFSkVDVCBpcHRhYmxl X2ZpbHRlciBpcF90YWJsZXMgeF90YWJsZXMgdmZhdCBmYXQgZnVzZSBkbV9tdWx0aXBhdGggaXB2 NiB0dW5lciBzbmRfaW50ZWw4eDAgc25kX2FjOTdfY29kZWMgYWM5N19idXMgc25kX3NlcV9kdW1t eSBjeDg4MDAgY3g4OHh4IGlyX2NvbW1vbiBpMmNfYWxnb19iaXQgdmlkZW9fYnVmIHNuZF9zZXFf b3NzIHNuZF9zZXFfbWlkaV9ldmVudCB0dmVlcHJvbSBzbmRfc2VxIHZpZGVvZGV2IHY0bDFfY29t cGF0IGNvbXBhdF9pb2N0bDMyIHNuZF9zZXFfZGV2aWNlIHNuZF9wY21fb3NzIHY0bDJfY29tbW9u IHNuZF9taXhlcl9vc3MgZmlyZXdpcmVfb2hjaSBidGN4X3Jpc2MgZmlyZXdpcmVfY29yZSBzbmRf cGNtIHNrZ2UgY3JjX2l0dV90IGJ1dHRvbiBzbmRfdGltZXIgZmxvcHB5IGkyY19pODAxIHNuZCBp MmNfY29yZSBpVENPX3dkdCBzZyBpVENPX3ZlbmRvcl9zdXBwb3J0IHNvdW5kY29yZSBzcl9tb2Qg c25kX3BhZ2VfYWxsb2MgY2Ryb20gZG1fc25hcHNob3QgZG1femVybyBkbV9taXJyb3IgZG1fbW9k IGF0YV9waWl4IGF0YV9nZW5lcmljIGxpYmF0YSBzZF9tb2Qgc2NzaV9tb2QgZXh0MyBqYmQgbWJj YWNoZSB1aGNpX2hjZCBvaGNpX2hjZCBlaGNpX2hjZApDUFU6ICAgIDAKRUlQOiAgICAwMDYwOls8 YzA0ZjQ0Y2E+XSAgICBUYWludGVkOiBQICAgICAgICBWTEkKRUZMQUdTOiAwMDAxMDAwNiAgICgy LjYuMjMuMS1ydDUgIzEpCkVJUCBpcyBhdCBwbGlzdF9hZGQrMHg0Zi8weDg1CmVheDogZmZmZmZm ZmMgICBlYng6IGZmZmZmZmZjICAgZWN4OiBkYWIxMmYyYyAgIGVkeDogMDAwMDAwMDAKZXNpOiBk YWIxMmYyMCAgIGVkaTogZGFlMDQ1YmMgICBlYnA6IGRhZTA0MDMwICAgZXNwOiBkYWIxMmVhYwpk czogMDA3YiAgIGVzOiAwMDdiICAgZnM6IDAwZDggIGdzOiAwMDMzICBzczogMDA2OCAgcHJlZW1w dDowMDAwMDAwMwpQcm9jZXNzIGNhdCAocGlkOiAzNjMyLCB0aT1kYWIxMjAwMCB0YXNrPWQzNzY2 MGIwIHRhc2sudGk9ZGFiMTIwMDApClN0YWNrOiAwMDBhODBkMiBjMDczNDYwMCBjMDZmZTRhMCBk YWUwNDViNCBkYWUwNDViYyBkYWUwNDViNCBkYWIxMmYwYyBjMDQ0YTAxNiAKICAgICAgIGMwNDU1 Yjc5IGY5YmZlMDgwIDAwMDAwMDAwIGY5YmZmOTg0IGRhYjEyZjBjIGRhYjEyZjIwIDAwMDAwMDAw IGY5YmZmOTg0IAogICAgICAgMDAwMDAwMDIgMDAwMDAwMDAgYzA2MWQ5YjcgMDAwMDAyODIgMDAw MDAwMDAgMDAwMDAwMDAgZmZmZmZmZmYgMDAwMDAyODIgCkNhbGwgVHJhY2U6CiBbPGMwNDRhMDE2 Pl0gdGFza19ibG9ja3Nfb25fcnRfbXV0ZXgrMHgxMWEvMHgxN2YKIFs8YzA0NTViNzk+XSBhZGRf cHJlZW1wdF9jb3VudCsweDEyLzB4Y2MKIFs8ZjliZmUwODA+XSBkdW1teV9yZWFkKzB4MC8weDg4 IFtkdW1teV0KIFs8YzA2MWQ5Yjc+XSBydF9tdXRleF9zbG93bG9jaysweDEzMC8weDIwZAogWzxj MDYxZDY2Yj5dIHJ0X211dGV4X2xvY2tfaW50ZXJydXB0aWJsZSsweDQxLzB4NDkKIFs8ZjliZmUw ODA+XSBkdW1teV9yZWFkKzB4MC8weDg4IFtkdW1teV0KIFs8YzA0NGEyYzU+XSBydF9kb3duX2lu dGVycnVwdGlibGUrMHgxMS8weDMwCiBbPGY5YmZlMDgwPl0gZHVtbXlfcmVhZCsweDAvMHg4OCBb ZHVtbXldCiBbPGY5YmZlMGIwPl0gZHVtbXlfcmVhZCsweDMwLzB4ODggW2R1bW15XQogWzxjMDQ4 MTZiMD5dIHZmc19yZWFkKzB4YTYvMHgxNTIKIFs8YzA0ODFiMTI+XSBzeXNfcmVhZCsweDQxLzB4 NjcKIFs8YzA0MDUxMmE+XSBzeXNlbnRlcl9wYXN0X2VzcCsweDZiLzB4YTEKIFs8YzA2MTAwMDA+ XSBkdW1wX29uZV9zdGF0ZSsweDMxYi8weDNmOAogPT09PT09PT09PT09PT09PT09PT09PT0KLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnwgcHJlZW1wdCBjb3VudDogMDAwMDAwMDMgXQp8IDMt bGV2ZWwgZGVlcCBjcml0aWNhbCBzZWN0aW9uIG5lc3Rpbmc6Ci0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KLi4gWzxjMDYxZTA0NT5dIC4uLi4gX19zcGluX2xvY2tfaXJx c2F2ZSsweDI0LzB4NWMKLi4uLi5bPDAwMDAwMDAwPl0gLi4gICAoIDw9IDB4MCkKLi4gWzxjMDYx ZGY1Mz5dIC4uLi4gX19zcGluX2xvY2srMHhkLzB4MWQKLi4uLi5bPDAwMDAwMDAwPl0gLi4gICAo IDw9IDB4MCkKLi4gWzxjMDYxZTA0NT5dIC4uLi4gX19zcGluX2xvY2tfaXJxc2F2ZSsweDI0LzB4 NWMKLi4uLi5bPDAwMDAwMDAwPl0gLi4gICAoIDw9IDB4MCkKCkNvZGU6IDI0IDA0IGE1IDBkIDZj IGMwIGM3IDA0IDI0IDdkIDgwIDZhIGMwIGU4IDRlIGEwIGYzIGZmIGU4IGZmIDI2IGYxIGZmIDhi IDFmIDgzIGViIDA0IGViIDBkIDhiIDAzIDM5IDA2IDdjIDE1IDhkIDQyIGZjIDc0IDMyIDg5IGMz IDw4Yj4gNTMgMDQgMGYgMTggMDIgOTAgOGQgNDMgMDQgMzkgZjggNzUgZTUgOGQgNGIgMDQgOGIg NTEgMDQgOGQgCkVJUDogWzxjMDRmNDRjYT5dIHBsaXN0X2FkZCsweDRmLzB4ODUgU1M6RVNQIDAw Njg6ZGFiMTJlYWMKbm90ZTogY2F0WzM2MzJdIGV4aXRlZCB3aXRoIHByZWVtcHRfY291bnQgMgpC VUc6IHNsZWVwaW5nIGZ1bmN0aW9uIGNhbGxlZCBmcm9tIGludmFsaWQgY29udGV4dCBjYXQoMzYz MikgYXQga2VybmVsL3J0bXV0ZXguYzoxMTc1CmluX2F0b21pYygpOjEgWzAwMDAwMDAyXSwgaXJx c19kaXNhYmxlZCgpOjAKIFs8YzA2MWQ3MTM+XSBydF9tdXRleF9sb2NrKzB4MTUvMHgzZgogWzxj MDQ0YTIwMT5dIF9fcnRfZG93bl9yZWFkKzB4MzIvMHgzYQogWzxjMDQ1MmQ0MT5dIGFjY3RfY29s bGVjdCsweDM4LzB4MTNmCiBbPGMwNDMwYTJmPl0gZG9fZXhpdCsweDFjNi8weDc0OAogWzxjMDQw Njc0OT5dIGRpZSsweDIyNi8weDI1YwogWzxjMDYxZmZjZD5dIGRvX3BhZ2VfZmF1bHQrMHg1M2Iv MHg2MDkKIFs8YzA0NjIxY2Y+XSBmaW5kX2xvY2tfcGFnZSsweDI1LzB4NTIKIFs8YzA2MWZhOTI+ XSBkb19wYWdlX2ZhdWx0KzB4MC8weDYwOQogWzxjMDYxZTVkMj5dIGVycm9yX2NvZGUrMHg3Mi8w eDc4CiBbPGMwNGY0NGNhPl0gcGxpc3RfYWRkKzB4NGYvMHg4NQogWzxjMDQ0YTAxNj5dIHRhc2tf YmxvY2tzX29uX3J0X211dGV4KzB4MTFhLzB4MTdmCiBbPGMwNDU1Yjc5Pl0gYWRkX3ByZWVtcHRf Y291bnQrMHgxMi8weGNjCiBbPGY5YmZlMDgwPl0gZHVtbXlfcmVhZCsweDAvMHg4OCBbZHVtbXld CiBbPGMwNjFkOWI3Pl0gcnRfbXV0ZXhfc2xvd2xvY2srMHgxMzAvMHgyMGQKIFs8YzA2MWQ2NmI+ XSBydF9tdXRleF9sb2NrX2ludGVycnVwdGlibGUrMHg0MS8weDQ5CiBbPGY5YmZlMDgwPl0gZHVt bXlfcmVhZCsweDAvMHg4OCBbZHVtbXldCiBbPGMwNDRhMmM1Pl0gcnRfZG93bl9pbnRlcnJ1cHRp YmxlKzB4MTEvMHgzMAogWzxmOWJmZTA4MD5dIGR1bW15X3JlYWQrMHgwLzB4ODggW2R1bW15XQog WzxmOWJmZTBiMD5dIGR1bW15X3JlYWQrMHgzMC8weDg4IFtkdW1teV0KIFs8YzA0ODE2YjA+XSB2 ZnNfcmVhZCsweGE2LzB4MTUyCiBbPGMwNDgxYjEyPl0gc3lzX3JlYWQrMHg0MS8weDY3CiBbPGMw NDA1MTJhPl0gc3lzZW50ZXJfcGFzdF9lc3ArMHg2Yi8weGExCiBbPGMwNjEwMDAwPl0gZHVtcF9v bmVfc3RhdGUrMHgzMWIvMHgzZjgKID09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQp8IHByZWVtcHQgY291bnQ6IDAwMDAwMDAyIF0KfCAyLWxldmVsIGRl ZXAgY3JpdGljYWwgc2VjdGlvbiBuZXN0aW5nOgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCi4uIFs8YzA2MWRmNTM+XSAuLi4uIF9fc3Bpbl9sb2NrKzB4ZC8weDFkCi4u Li4uWzwwMDAwMDAwMD5dIC4uICAgKCA8PSAweDApCi4uIFs8YzA2MWRmNTM+XSAuLi4uIF9fc3Bp bl9sb2NrKzB4ZC8weDFkCi4uLi4uWzwwMDAwMDAwMD5dIC4uICAgKCA8PSAweDApCgpCVUc6IHNj aGVkdWxpbmcgd2hpbGUgYXRvbWljOiBjYXQvMHgxMDAwMDAwMy8zNjMyLCBDUFUjMAogWzxjMDYx YzFhND5dIF9fc2NoZWRfdGV4dF9zdGFydCsweGFjLzB4OTEzCiBbPGMwNDU1Yjc5Pl0gYWRkX3By ZWVtcHRfY291bnQrMHgxMi8weGNjCiBbPGMwNDdjZTJmPl0ga21lbV9jYWNoZV9mcmVlKzB4OGEv MHg4ZgogWzxjMDQ1NWI3OT5dIGFkZF9wcmVlbXB0X2NvdW50KzB4MTIvMHhjYwogWzxjMDQyOTA5 Mz5dIF9fY29uZF9yZXNjaGVkKzB4MmIvMHg0NQogWzxjMDYxY2VjNz5dIGNvbmRfcmVzY2hlZCsw eDI2LzB4MzEKIFs8YzA0MmY5MGU+XSBwdXRfZmlsZXNfc3RydWN0KzB4NjQvMHhhNwogWzxjMDQz MGFhZD5dIGRvX2V4aXQrMHgyNDQvMHg3NDgKIFs8YzA0MDY3NDk+XSBkaWUrMHgyMjYvMHgyNWMK IFs8YzA2MWZmY2Q+XSBkb19wYWdlX2ZhdWx0KzB4NTNiLzB4NjA5CiBbPGMwNDYyMWNmPl0gZmlu ZF9sb2NrX3BhZ2UrMHgyNS8weDUyCiBbPGMwNjFmYTkyPl0gZG9fcGFnZV9mYXVsdCsweDAvMHg2 MDkKIFs8YzA2MWU1ZDI+XSBlcnJvcl9jb2RlKzB4NzIvMHg3OAogWzxjMDRmNDRjYT5dIHBsaXN0 X2FkZCsweDRmLzB4ODUKIFs8YzA0NGEwMTY+XSB0YXNrX2Jsb2Nrc19vbl9ydF9tdXRleCsweDEx YS8weDE3ZgogWzxjMDQ1NWI3OT5dIGFkZF9wcmVlbXB0X2NvdW50KzB4MTIvMHhjYwogWzxmOWJm ZTA4MD5dIGR1bW15X3JlYWQrMHgwLzB4ODggW2R1bW15XQogWzxjMDYxZDliNz5dIHJ0X211dGV4 X3Nsb3dsb2NrKzB4MTMwLzB4MjBkCiBbPGMwNjFkNjZiPl0gcnRfbXV0ZXhfbG9ja19pbnRlcnJ1 cHRpYmxlKzB4NDEvMHg0OQogWzxmOWJmZTA4MD5dIGR1bW15X3JlYWQrMHgwLzB4ODggW2R1bW15 XQogWzxjMDQ0YTJjNT5dIHJ0X2Rvd25faW50ZXJydXB0aWJsZSsweDExLzB4MzAKIFs8ZjliZmUw ODA+XSBkdW1teV9yZWFkKzB4MC8weDg4IFtkdW1teV0KIFs8ZjliZmUwYjA+XSBkdW1teV9yZWFk KzB4MzAvMHg4OCBbZHVtbXldCiBbPGMwNDgxNmIwPl0gdmZzX3JlYWQrMHhhNi8weDE1MgogWzxj MDQ4MWIxMj5dIHN5c19yZWFkKzB4NDEvMHg2NwogWzxjMDQwNTEyYT5dIHN5c2VudGVyX3Bhc3Rf ZXNwKzB4NmIvMHhhMQogWzxjMDYxMDAwMD5dIGR1bXBfb25lX3N0YXRlKzB4MzFiLzB4M2Y4CiA9 PT09PT09PT09PT09PT09PT09PT09PQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KfCBwcmVl bXB0IGNvdW50OiAxMDAwMDAwMyBdCnwgMy1sZXZlbCBkZWVwIGNyaXRpY2FsIHNlY3Rpb24gbmVz dGluZzoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQouLiBbPGMwNjFk ZjUzPl0gLi4uLiBfX3NwaW5fbG9jaysweGQvMHgxZAouLi4uLls8MDAwMDAwMDA+XSAuLiAgICgg PD0gMHgwKQouLiBbPGMwNjFkZjUzPl0gLi4uLiBfX3NwaW5fbG9jaysweGQvMHgxZAouLi4uLls8 MDAwMDAwMDA+XSAuLiAgICggPD0gMHgwKQouLiBbPGMwNjFjMTBiPl0gLi4uLiBfX3NjaGVkX3Rl eHRfc3RhcnQrMHgxMy8weDkxMwouLi4uLls8MDAwMDAwMDA+XSAuLiAgICggPD0gMHgwKQoKZHVt bXlfcmVsZWFzZQo= ------=_Part_29510_14398445.1195254159478-- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/