From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from wb2flw.octothorp.org ([63.224.68.2] ident=root) by speech.braille.uwo.ca with esmtp (Exim 3.32 #1 (Debian)) id 162zBT-0001kr-00 for ; Sun, 11 Nov 2001 13:18:19 -0500 Received: from localhost (wacker@localhost) by wb2flw.octothorp.org (8.11.6/8.11.6) with ESMTP id fABIIEW02935 for ; Sun, 11 Nov 2001 18:18:20 GMT X-Authentication-Warning: wb2flw.octothorp.org: wacker owned process doing -bs Date: Sun, 11 Nov 2001 11:18:14 -0700 (MST) From: "William F. Acker WB2FLW +1-303-777-8123" To: speakup@braille.uwo.ca Subject: Re: system hardware information In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="8323328-190621556-1005502694=:32593" Sender: speakup-admin@braille.uwo.ca Errors-To: speakup-admin@braille.uwo.ca X-BeenThere: speakup@braille.uwo.ca X-Mailman-Version: 2.0.6 Precedence: bulk Reply-To: speakup@braille.uwo.ca List-Help: List-Post: List-Subscribe: , List-Id: Speakup is a screen review system for Linux. List-Unsubscribe: , List-Archive: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --8323328-190621556-1005502694=:32593 Content-Type: TEXT/PLAIN; charset=US-ASCII Hi, Here's a hardware inventory program written in Perl. HTH. Bill On Sat, 10 Nov 2001, Richard Villa wrote: > I am wondering if anyone knows of a function under Linux that is simular > to the system information function under windowsx that will let the user > know what hardware is configured. > > Richard > > > > _______________________________________________ > Speakup mailing list > Speakup@braille.uwo.ca > http://speech.braille.uwo.ca/mailman/listinfo/speakup > --8323328-190621556-1005502694=:32593 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=hinv Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=hinv IyEvdXNyL2Jpbi9wZXJsIA0KIw0KIyBDb3B5cmlnaHQgKEMpIDE5OTgsIExh cnJ5IE1jVm95IChsbUBiaXRtb3Zlci5jb20pDQojIENvcHlyaWdodCAoQykg MTk5OCwgMTk5OSwgUmFqdSBNYXRodXIgKHJhanVAbGludXgtZGVsaGkub3Jn KQ0KIw0KIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KIyBpdCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz IHB1Ymxpc2hlZCBieQ0KIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KIyAoYXQg eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KIw0KIyBUaGlzIHBy b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwgYnV0DQojIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZSBHTlUNCiMgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLg0KIw0KIyBoaW52IHYgMS40cHJlMg0KIw0KIyBDaGFuZ2Vz Og0KIwkxLjAgLSAxLjENCiMJLS0tLS0tLS0tDQojCQlGcmkgTm92IDI4IDE0 OjI4OjMxIElTVCAxOTk3DQojCUFkZGVkIHN1cHBvcnQgZm9yIElERSBkaXNr cyAtLSBQYXVsIERhbnNldCAocGF1bEBvei5uZXQpLCANCiMJCUZyaSBOb3Yg MjggMTQ6Mzk6MzAgSVNUIDE5OTcNCiMJQ2hhbmdlZCBldGggc2Nhbm5pbmcg cm91dGluZSB0byBleHBsaWNpdGVseSBjaGVjayBmb3IgYW4NCiMJZXRoZXJu ZXQtc3R5bGUgYWRkcmVzcyBpbiB0aGUgbGluZS4NCiMJCQkJCS0tIFJhanUg TWF0aHVyIChyYWp1QGxpbnV4LWRlbGhpLm9yZykNCiMJCUZyaSBOb3YgMjgg MTk6MDI6MjIgSVNUIDE5OTcNCiMJMS4xLTEuMWENCiMJLS0tLS0tLS0NCiMJ U21hbGwgc2NyZXctdXAgaW4gdGhlIGV0aCBjb2RlIGZpeGVkLiBUaGFua3Ms IFRob21hcyBHZWJoYXJkdCENCiMJMS4xYS0xLjINCiMJLS0tLS0tLS0NCiMJ CU1vbiBEZWMgIDEgMTI6MDY6NTUgSVNUIDE5OTcNCiMJQWRkZWQgc3VwcG9y dCBmb3Igc291bmQgZGV2aWNlcy4gSSd2ZSBvbmx5IGNoZWNrZWQgdGhpcyBv dXQgb24NCiMJYSBjb21tZXJjaWFsIE9TUyBzeXN0ZW0sIG5vdCB3aXRoIHRo ZSBidWlsdC1pbiBPU1MvTGludXgvRnJlZS4NCiMJSSdtIG5vIGhvdHNob3Qg UGVybCBwcm9ncmFtbWVyLCBzbyBpZiB0aGUgY29kZSBsb29rcyB1Z2x5IGl0 J3MNCiMJeW91ciBhZXN0aGV0aWNzIHdoaWNoIGFyZSB0byBibGFtZSA6LSkN CiMNCiMJMS4yLTEuMw0KIwktLS0tLS0tDQojCU1lbW9yeS1oYW5kbGluZyBj b2RlIGltcHJvdmVtZW50cw0KIwlGbG9wcHkgY29kZSBjaGFuZ2VzDQojDQoj CTEuMy0xLjRwcmUyDQojCS0tLS0tLS0NCiMJCVR1ZSBKdWwgMjAgMjA6MjQ6 MDMgSVNUIDE5OTkNCiMJVGhlIE9TUyBjaGFuZ2VzIHdvcmsgZmluZSBvbiBP U1MgaW5jbHVkZWQgaW4gdGhlIGtlcm5lbC4NCiMJQ2hhbmdlZCB0aGUgSURF IGNvZGUgYXJvdW5kOg0KIwkJLSBObyBtb3JlIGR1cGxpY2F0ZSBJREUncw0K IwkJLSBVc2UgYSBoYXNoIGluc3RlYWQgb2YgYW4gYXJyYXkNCiMJCS0gQ2hh bmdlIHRvIGdpdmUgbW9yZSB2ZXJib3NlIG91dHB1dA0KIwlDUFUgY29kZSBj aGFuZ2VkIHRvIGhhbmRsZSBuZXcgMi4yLnggL3Byb2MvY3B1aW5mbyBzdHls ZQ0KIwlTb3VuZCBjb2RlIGNoYW5nZWQgdG8gdXNlIC9wcm9jL3NvdW5kIChk b2Vzbid0IGF1dG9tYXRpY2FsbHkNCiMJCWxvYWQgc291bmQgZHJpdmVycyku DQojCURpc3BsYXkgcGFyYWxsZWwgcG9ydHMgZnJvbSAvcHJvYy9wYXJwb3J0 LyoNCiMJR2V0IG1lbW9yeSBpbmZvIGZyb20gL3Byb2MvbWVtaW5mbyByYXRo ZXIgdGhhbiBkbWVzZyAod2hpY2gNCiMJCXNjcm9sbHMgYXJvdW5kKQ0KIwlM YXJyeSBoYXMgYWdyZWVkIHRvIHRvIEdQTCB0aGUgY29kZS4uLiBFeWFob29v IQ0KIw0KIwkxLjRwcmUxIC0gMS40cHJlMg0KIwktLS0tLS0tLS0tLS0tLS0t LQ0KIwkJU2F0IFNlcCAxMSAwOToxNDoyNCBJU1QgMTk5OQ0KIwlBZGRlZCBz dXBwb3J0IGZvciBBTFNBIHNvdW5kIGRldmljZXMgKC9wcm9jL2Fzb3VuZC9z bmRzdGF0KQ0KIw0KIwlUaGVyZSBtYXkgc3RpbGwgYmUgcHJvYmxlbXMgaW4g dGhlIENQVSBjb3VudGluZyBjb2RlLiAgUGxlYXNlDQojCXNlbmQgc2FtcGxl cyBvZiAvcHJvYy9jcHVpbmZvIGFuZCBoaW52IG91dHB1dCBmb3IgbXVsdGkt Q1BVDQojCXN5c3RlbXMuDQojCQkJCQktLSBSYWp1IE1hdGh1ciAocmFqdUBs aW51eC1kZWxoaS5vcmcpDQojDQojIEF1dGhvcjoJCUxhcnJ5IE1jdm95IChs bUBiaXRtb3Zlci5jb20pDQojDQojIE1haW50YWluZXI6CQlSYWp1IE1hdGh1 ciAocmFqdUBsaW51eC1kZWxoaS5vcmcpDQojDQojIFRyeSBhbmQgZW11bGF0 ZSBTR0kncyBoaW52IGNvbW1hbmQNCiMgV2Ugd2FudCB0byBmaWd1cmUgb3V0 IHRoZSBmb2xsb3dpbmc6DQojIENQVSB0eXBlLCBtaHosIG1lbW9yeSwgYnVz c2VzLCBmbG9wcGllcywgZGlza3MsIHRhcGVzLCBjZHJvbXMsIHR0eXMsDQoj IG5ldHdvcmtzLCBncmFwaGljcywgc291bmQNCg0KIyBpbmR5IH4gaGludg0K IyBJcmlzIEF1ZGlvIFByb2Nlc3NvcjogdmVyc2lvbiBBMiByZXZpc2lvbiA0 LjEuMA0KIyAxIDE3NSBNSFogSVAyMiBQcm9jZXNzb3INCiMgRlBVOiBNSVBT IFI0MDAwIEZsb2F0aW5nIFBvaW50IENvcHJvY2Vzc29yIFJldmlzaW9uOiAw LjANCiMgQ1BVOiBNSVBTIFI0NDAwIFByb2Nlc3NvciBDaGlwIFJldmlzaW9u OiA2LjANCiMgT24tYm9hcmQgc2VyaWFsIHBvcnRzOiAyDQojIE9uLWJvYXJk IGJpLWRpcmVjdGlvbmFsIHBhcmFsbGVsIHBvcnQNCiMgRGF0YSBjYWNoZSBz aXplOiAxNiBLYnl0ZXMNCiMgSW5zdHJ1Y3Rpb24gY2FjaGUgc2l6ZTogMTYg S2J5dGVzDQojIFNlY29uZGFyeSB1bmlmaWVkIGluc3RydWN0aW9uL2RhdGEg Y2FjaGUgc2l6ZTogMSBNYnl0ZSBvbiBQcm9jZXNzb3IgMA0KIyBNYWluIG1l bW9yeSBzaXplOiA2NCBNYnl0ZXMNCiMgVmlubyB2aWRlbzogdW5pdCAwLCBy ZXZpc2lvbiAwDQojIEludGVncmFsIElTRE46IEJhc2ljIFJhdGUgSW50ZXJm YWNlIHVuaXQgMCwgcmV2aXNpb24gMS4wDQojIFhQSSBGRERJIGNvbnRyb2xs ZXI6IHhwaTAsIGZpcm13YXJlIHZlcnNpb24gOTYwMTIyMTIzMywgU0FTDQoj IEludGVncmFsIEV0aGVybmV0OiBlYzAsIHZlcnNpb24gMQ0KIyBJbnRlZ3Jh bCBTQ1NJIGNvbnRyb2xsZXIgMDogVmVyc2lvbiBXRDMzQzkzQiwgcmV2aXNp b24gRA0KIyAgRGlzayBkcml2ZTogdW5pdCAyIG9uIFNDU0kgY29udHJvbGxl ciAwDQojICBEaXNrIGRyaXZlOiB1bml0IDEgb24gU0NTSSBjb250cm9sbGVy IDANCiMgR3JhcGhpY3MgYm9hcmQ6IEluZHkgMjQtYml0DQoNCiMgaTU4NiB+ IGhpbnYNCiMgTWFpbiBtZW1vcnkgc2l6ZTogMjU1IE1ieXRlcw0KIyAxIEdl bnVpbmVJbnRlbCAwMC8wNyBwcm9jZXNzb3INCiMgMiAxNjU1MEEgc2VyaWFs IHBvcnRzDQojIDEgTmF0aW9uYWwgU2VtaWNvbmR1Y3RvciBQQzg3MzA2IGZs b3BweSBjb250cm9sbGVyDQojIDEgMS40NE0gZmxvcHB5IGRyaXZlDQojIDEg dmdhKyBncmFwaGljcyBkZXZpY2UNCiMgMSBwYXJhbGxlbCBwb3J0Og0KIyAg IGxwMDogYmFzZSAweDM3OCwgbm8gaXJxLCBubyBkbWEsIG1vZGVzIFNQUCxF Q1AsRUNQUFMyDQojIDEgSURFIGRldmljZToNCiMgICAvZGV2L2hkYTogQVRB UEkgMzJYIENELVJPTSBkcml2ZSwgMTI4a0IgQ2FjaGUNCiMgMSBldGhlcm5l dCBpbnRlcmZhY2UNCiMgICBldGgwOiBPRU0gaTgyNTU3L2k4MjU1OCAxMC8x MDAgRXRoZXJuZXQNCiMgMSBTQ1NJIGRpc2sNCiMgICBJQk0gICAgICBETkVT LTMwOTE3MFkNCiMgICBFU0ctU0hWICBTQ0EgSFNCUCBNNg0KIyBTb3VuZCBk ZXZpY2VzOg0KIyAgIDEgQXVkaW8gZGV2aWNlDQojICAgICBNQUQxNiBXU1Mg KDgyQzkzMCkgKERVUExFWCkNCiMgICAxIE1JREkgZGV2aWNlDQojICAgICBN YWQxNi9Nb3phcnQNCiMgICAxIFRpbWVyDQojICAgICBTeXN0ZW0gY2xvY2sN CiMgICAxIE1peGVyDQojICAgICBNQUQxNiBXU1MgKDgyQzkzMCkNCiMgUENJ IGJ1cyBkZXZpY2VzOg0KIyAgICAgRXRoZXJuZXQgY29udHJvbGxlcjogSW50 ZWwgODI1NTcgKHJldiA1KS4NCiMgICAgIFNDU0kgc3RvcmFnZSBjb250cm9s bGVyOiBOQ1IgNTNjODEwIChyZXYgMzUpLg0KIyAgICAgVkdBIGNvbXBhdGli bGUgY29udHJvbGxlcjogQ2lycnVzIExvZ2ljIEdEIDU0ODAgKHJldiAzNSku DQojICAgICBQSUM6IEludGVsIFVua25vd24gZGV2aWNlIChyZXYgMCkuDQoj ICAgICBJU0EgYnJpZGdlOiBJbnRlbCA4MjM3MUFCIFBJSVg0IElTQSAocmV2 IDIpLg0KIyAgICAgSURFIGludGVyZmFjZTogSW50ZWwgODIzNzFBQiBQSUlY NCBJREUgKHJldiAxKS4NCiMgICAgIFVTQiBDb250cm9sbGVyOiBJbnRlbCA4 MjM3MUFCIFBJSVg0IFVTQiAocmV2IDEpLg0KIyAgICAgQnJpZGdlOiBJbnRl bCA4MjM3MUFCIFBJSVg0IEFDUEkgKHJldiAyKS4NCiMgICAgIEhvc3QgYnJp ZGdlOiBJbnRlbCBVbmtub3duIGRldmljZSAocmV2IDMpLg0KIyAgICAgSG9z dCBicmlkZ2U6IEludGVsIFVua25vd24gZGV2aWNlIChyZXYgMikuDQojICAg ICBIb3N0IGJyaWRnZTogSW50ZWwgVW5rbm93biBkZXZpY2UgKHJldiAyKS4N CiMgICAgIFNDU0kgc3RvcmFnZSBjb250cm9sbGVyOiBOQ1IgNTNjODk2IChy ZXYgMSkuDQojICAgICBTQ1NJIHN0b3JhZ2UgY29udHJvbGxlcjogTkNSIDUz Yzg5NiAocmV2IDEpLg0KDQokbWVtc2l6ZSA9ICggc3RhdCAiL3Byb2Mva2Nv cmUiICkgWzddIHx8IGRpZSAiQ2Fubm90IHN0YXQgL3Byb2Mva2NvcmUiIDsN CiMgVXNlIG9ubHkgaW50IHBvcnRpb24gb2YgdGhlIHJlc3VsdCBvbiBjb252 ZXJ0aW5nIHRvIE1CLg0KcHJpbnRmICJNYWluIG1lbW9yeSBzaXplOiAlZCBN Ynl0ZXNcbiIgLCAkbWVtc2l6ZSAvIDEwMjQgLyAxMDI0ICsgLjUgOw0Kb3Bl bihGRCwgImRtZXNnfCIpIHx8IGRpZSAibm8gZG1lc2ciOw0Kd2hpbGUgKDxG RD4pIHsNCiAgICBAXyA9IHNwbGl0Ow0KICAgIGlmICgvXnR0eS8pIHsNCgkk dHR5c3skX1skI19dfSsrOw0KICAgIH0gZWxzaWYgKC9eRmxvcHB5Lykgew0K CSRmbG9wcHlSRSA9ICJmZFswLTldIGlzIChbMC05Lk1HS0JdKikiIDsNCgl3 aGlsZSAoIC8kZmxvcHB5UkUvbyApDQoJew0KCSAgICAkZmxvcHB5eyQxfSsr IDsNCgkgICAgcy8kZmxvcHB5UkUvLyA7DQoJfQ0KICAgIH0gZWxzaWYgKC9e RkRDIC8pIHsNCglzLy4qaXMgYSAvLzsNCgljaG9wOw0KCSRmZGN7JF99Kys7 DQogICAgfSBlbHNpZiAoL15zY3NpIDogZGV0ZWN0ZWQvKSB7DQoJJHNjc2kg PSAkXzsNCiAgICB9IGVsc2lmICgvXmV0aFxkLiogYXQgLio6Li46Li46Li46 Li46LiovKSB7DQoJcy9ccyphdCAuKi8vOw0KCXB1c2goQGV0aCwgJF8pOw0K ICAgIH0gZWxzaWYgKC9eKGhkW2Etel0pLiosIC8pIHsNCgkkaWRlZGV2PSQx IDsNCglzLy4qOlxzKi8vOw0KCSRpZGV7JGlkZWRldn0gPSAkXyA7DQogICAg fSANCn0NCm9wZW4oRkQsICIvcHJvYy9jcHVpbmZvIik7DQp3aGlsZSAoPEZE Pikgew0KICAgICAgICBAXyA9IHNwbGl0IC9ccyo6XHMqLzsNCiAgICAgICAg aWYgKC9tb2RlbCBuYW1lLykgew0KICAgICAgICAgICAgICAgICRjcHUgPSAk X1skI19dOw0KCQljaG9tcCAkY3B1IDsNCgkJJGNwdXN7IiR2ZW5kb3IgJGNw dSJ9Kys7CQkNCiAgICAgICAgfQ0KICAgICAgICBpZiAoL3ZlbmRvci8pDQoJ ew0KCSAgICAkdmVuZG9yID0gJF9bJCNfXSA7DQoJICAgIGNob21wICR2ZW5k b3IgOw0KICAgICAgICB9DQp9DQpvcGVuKEZELCAiL3Byb2MvaW9wb3J0cyIp Ow0Kd2hpbGUgKDxGRD4pIHsNCiAgICAgICAgaWYgKC9rYmQvKSB7DQogICAg ICAgICAgICAgICAgJGtiZCsrOw0KICAgICAgICB9IGVsc2lmICgvdmdhLykg ew0KICAgICAgICAgICAgICAgIEBfID0gc3BsaXQ7DQogICAgICAgICAgICAg ICAgJGdyYXBoaWNzeyRfWyQjX119Kys7DQogICAgICAgIH0NCn0NCg0KY2xv c2UgRkQgOw0KZm9yZWFjaCAkcG9ydCAoIDwvcHJvYy9wYXJwb3J0Lyo+ICkN CnsNCiAgICBvcGVuIEZEICwgIiRwb3J0L2hhcmR3YXJlIiA7DQogICAgJHN0 ciA9ICIiIDsNCiAgICB3aGlsZSAoIDxGRD4gKQ0KICAgIHsNCglAXyA9IHNw bGl0IC9ccyo6XHMqLyA7DQoJY2hvbXAgJF9bJCNfXSA7DQoJJHN0ciAuPSAi LCAiIGlmICQuICE9IDEgOw0KCWlmICggJF9bJCNfXSBlcSAibm9uZSIgKQ0K CXsNCgkgICAgJHN0ciAuPSAibm8gJF9bMF0iIDsNCgl9DQoJZWxzZQ0KCXsN CgkgICAgJHN0ciAuPSAiJF9bMF0gJF9bJCNfXSIgOw0KCX0NCiAgICB9DQog ICAgJG5scCsrIDsNCiAgICBjbG9zZSBGRCA7DQogICAgJGxwe2Nob3AgJHBv cnR9ID0gJHN0ciA7DQogICAgdW5kZWYgJHN0ciA7DQp9DQoNCnByaW50ICRt ZW0gaWYgKGRlZmluZWQgJG1lbSk7DQpmb3JlYWNoICRrZXkgKGtleXMgJWNw dXMpIHsNCiAgICAgICAgcHJpbnQgIiRjcHVzeyRrZXl9ICRrZXkgcHJvY2Vz c29yIjsNCiAgICAgICAgcHJpbnQgJGNwdXN7JGtleX0gPiAxID8gInNcbiIg OiAiXG4iOw0KfQ0KZm9yZWFjaCAka2V5IChrZXlzICV0dHlzKSB7DQogICAg ICAgIHByaW50ICIkdHR5c3ska2V5fSAka2V5IHNlcmlhbCBwb3J0IjsNCiAg ICAgICAgcHJpbnQgJHR0eXN7JGtleX0gPiAxID8gInNcbiIgOiAiXG4iOw0K fQ0KZm9yZWFjaCAka2V5IChrZXlzICVmZGMpIHsNCiAgICAgICAgcHJpbnQg IiRmZGN7JGtleX0gJGtleSBmbG9wcHkgY29udHJvbGxlciI7DQogICAgICAg IHByaW50ICRmZGN7JGtleX0gPiAxID8gInNcbiIgOiAiXG4iOw0KfQ0KZm9y ZWFjaCAka2V5IChrZXlzICVmbG9wcHkpIHsNCiAgICAgICAgcHJpbnQgIiRm bG9wcHl7JGtleX0gJGtleSBmbG9wcHkgZHJpdmUiOw0KICAgICAgICBwcmlu dCAkZmxvcHB5eyRrZXl9ID4gMSA/ICJzXG4iIDogIlxuIjsNCn0NCmZvcmVh Y2ggJGtleSAoa2V5cyAlZ3JhcGhpY3MpIHsNCiAgICAgICAgcHJpbnQgIiRn cmFwaGljc3ska2V5fSAka2V5IGdyYXBoaWNzIGRldmljZSI7DQogICAgICAg IHByaW50ICRncmFwaGljc3ska2V5fSA+IDEgPyAic1xuIiA6ICJcbiI7DQp9 DQppZiAoZGVmaW5lZCAka2JkKSB7DQogICAgICAgIHByaW50ICIka2JkIGtl eWJvYXJkIjsNCiAgICAgICAgcHJpbnQgJGtiZCA+IDEgPyAic1xuIiA6ICJc biI7DQp9DQppZiAoICRubHAgKQ0Kew0KICAgIHByaW50ZiAiJG5scCBwYXJh bGxlbCBwb3J0JXM6XG4iICwgJG5scCA9PSAxID8gIiIgOiAicyIgOw0KfQ0K Zm9yZWFjaCAka2V5cyAoc29ydCBrZXlzICVscCApDQp7DQogICAgcHJpbnQg IiAgbHAka2V5czogJGxweyRrZXlzfVxuIiA7DQp9DQpAaWRlID0gc29ydCBr ZXlzICVpZGUgOw0KaWYgKCQjaWRlID4gLTEpIHsNCiAgICAgICAgJG4gPSAk I2lkZSArIDE7DQogICAgICAgIHByaW50ICIkbiBJREUgZGV2aWNlIjsNCiAg ICAgICAgcHJpbnQgJG4gPiAxID8gInM6XG4iIDogIjpcbiI7DQogICAgICAg IGZvcmVhY2ggJGlkZSAoQGlkZSkgew0KICAgICAgICAgICAgICAgIHByaW50 ICIgIC9kZXYvJGlkZTogJGlkZXskaWRlfSI7DQogICAgICAgIH0NCn0NCmlm ICgkI2V0aCA+IC0xKSB7DQogICAgICAgICRuID0gJCNldGggKyAxOw0KICAg ICAgICBwcmludCAiJG4gZXRoZXJuZXQgaW50ZXJmYWNlIjsNCiAgICAgICAg cHJpbnQgJG4gPiAxID8gInNcbiIgOiAiXG4iOw0KICAgICAgICBmb3JlYWNo ICRldGggKEBldGgpIHsNCiAgICAgICAgICAgICAgICBwcmludCAiICAkZXRo IjsNCiAgICAgICAgfQ0KfQ0KaWYgKGRlZmluZWQgJHNjc2kpIHsNCiAgICAg ICAgJHNjc2kgPX4gcy8uKmRldGVjdGVkIC8vOw0KICAgICAgICAkc2NzaSA9 fiBzLyB0b3RhbC4vLzsNCiAgICAgICAgcHJpbnQgJHNjc2k7DQogICAgICAg IG9wZW4oRkQsICIvcHJvYy9zY3NpL3Njc2kiKTsNCiAgICAgICAgJF8gPSA8 RkQ+Ow0KICAgICAgICB3aGlsZSAoPEZEPikgew0KICAgICAgICAgICAgICAg IG5leHQgdW5sZXNzIC9WZW5kb3IvOw0KICAgICAgICAgICAgICAgIHMvLipW ZW5kb3I6XHMqLy87DQogICAgICAgICAgICAgICAgcy9ccypSZXY6LiovLzsN CiAgICAgICAgICAgICAgICBzL01vZGVsOlxzKi8vOw0KICAgICAgICAgICAg ICAgIHByaW50ICIgICRfIjsNCiAgICAgICAgfQ0KfQ0KIw0KIyBTb3VuZCBj b2RlIGFkZGVkIGJ5IFJhanUgTWF0aHVyIChyYWp1QGxpbnV4LWRlbGhpLm9y ZykNCiMNCmlmICggb3BlbiAoIEZEICwgIi9wcm9jL3NvdW5kIiApIHx8IG9w ZW4gKCBGRCAsICIvcHJvYy9hc291bmQvc25kc3RhdCIgKSApDQp7DQogICAg JGRvbmUgPSAwIDsNCiAgICB3aGlsZSAoIDxGRD4gKQ0KICAgIHsNCglpZiAo ICEgJGRvbmUgKQ0KCXsNCgkgICAgcHJpbnQgIlNvdW5kIGRldmljZXM6XG4i IDsNCgkgICAgJG5BdWRpb2RldiA9IDAgOw0KCSAgICAkblN5bnRoZGV2ID0g MCA7DQoJICAgICRuTUlESWRldiA9IDAgOw0KCSAgICAkblRpbWVyID0gMCA7 DQoJICAgICRuTWl4ZXIgPSAwIDsNCgkgICAgJGRvbmUgPSAxIDsNCgl9DQoJ aWYgKCAvXkF1ZGlvIGRldmljZXM6LyApDQoJew0KCSAgICB3aGlsZSAoIDxG RD4gKQ0KCSAgICB7DQoJCWlmICggL14kLyApDQoJCXsNCgkJICAgIGdvdG8g YnJlYWsxIDsNCgkJfQ0KCQlzL15bMC05XSo6XHMqLy8gOw0KCQlwdXNoIEBB dWRpb2RldiAsICRfIDsNCgkJJG5BdWRpb2RldisrIDsNCgkgICAgfQ0KCSAg YnJlYWsxOg0KCX0NCglpZiAoIC9eU3ludGggZGV2aWNlczovICkNCgl7DQoJ ICAgIHdoaWxlICggPEZEPiApDQoJICAgIHsNCgkJaWYgKCAvXiQvICkNCgkJ ew0KCQkgICAgZ290byBicmVhazIgOw0KCQl9DQoJCXMvXlswLTldKjpccyov LyA7DQoJCXB1c2ggQFN5bnRoZGV2ICwgJF8gOw0KCQkkblN5bnRoZGV2Kysg Ow0KCSAgICB9DQoJICBicmVhazI6DQoJfQ0KCWlmICggL15NaWRpIGRldmlj ZXM6LyApDQoJew0KCSAgICB3aGlsZSAoIDxGRD4gKQ0KCSAgICB7DQoJCWlm ICggL14kLyApDQoJCXsNCgkJICAgIGdvdG8gYnJlYWszIDsNCgkJfQ0KCQlz L15bMC05XSo6XHMqLy8gOw0KCQlwdXNoIEBNSURJZGV2ICwgJF8gOw0KCQkk bk1JRElkZXYrKyA7DQoJICAgIH0NCgkgIGJyZWFrMzoNCgl9DQoJaWYgKCAv XlRpbWVyczovICkNCgl7DQoJICAgIHdoaWxlICggPEZEPiApDQoJICAgIHsN CgkJaWYgKCAvXiQvICkNCgkJew0KCQkgICAgZ290byBicmVhazQgOw0KCQl9 DQoJCXMvXlswLTldKjpccyovLyA7DQoJCXB1c2ggQFRpbWVyICwgJF8gOw0K CQkkblRpbWVyKysgOw0KCSAgICB9DQoJICBicmVhazQ6DQoJfQ0KCWlmICgg L15NaXhlcnM6LyApDQoJew0KCSAgICB3aGlsZSAoIDxGRD4gKQ0KCSAgICB7 DQoJCWlmICggL14kLyApDQoJCXsNCgkJICAgIGdvdG8gYnJlYWs1IDsNCgkJ fQ0KCQlzL15bMC05XSo6XHMqLy8gOw0KCQlwdXNoIEBNaXhlciAsICRfIDsN CgkJJG5NaXhlcisrIDsNCgkgICAgfQ0KCSAgYnJlYWs1Og0KCX0NCiAgICB9 DQogICAgaWYgKCAkbkF1ZGlvZGV2ICkNCiAgICB7DQoJcHJpbnRmICggIiAg JWQgQXVkaW8gZGV2aWNlJXNcbiIgLCAkbkF1ZGlvZGV2ICwNCgkJJG5BdWRp b2RldiA+IDEgPyAicyIgOiAiIiApIDsNCgl3aGlsZSAoICR2YWwgPSBzaGlm dCBAQXVkaW9kZXYgKQ0KCXsNCgkgICAgcHJpbnQgIiAgICAkdmFsIiA7DQoJ fQ0KICAgIH0NCiAgICBpZiAoICRuU3ludGhkZXYgKQ0KICAgIHsNCglwcmlu dGYgKCAiICAlZCBTeW50aCBkZXZpY2Ulc1xuIiAsICRuU3ludGhkZXYgLA0K CQkkblN5bnRoZGV2ID4gMSA/ICJzIiA6ICIiICkgOw0KCXdoaWxlICggJHZh bCA9IHNoaWZ0IEBTeW50aGRldiApDQoJew0KCSAgICBwcmludCAiICAgICR2 YWwiIDsNCgl9DQogICAgfQ0KICAgIGlmICggJG5NSURJZGV2ICkNCiAgICB7 DQoJcHJpbnRmICggIiAgJWQgTUlESSBkZXZpY2Ulc1xuIiAsICRuTUlESWRl diAsDQoJCSRuTUlESWRldiA+IDEgPyAicyIgOiAiIiApIDsNCgl3aGlsZSAo ICR2YWwgPSBzaGlmdCBATUlESWRldiApDQoJew0KCSAgICBwcmludCAiICAg ICR2YWwiIDsNCgl9DQogICAgfQ0KICAgIGlmICggJG5UaW1lciApDQogICAg ew0KCXByaW50ZiAoICIgICVkIFRpbWVyJXNcbiIgLCAkblRpbWVyICwgJG5U aW1lciA+IDEgPyAicyIgOiAiIiApIDsNCgl3aGlsZSAoICR2YWwgPSBzaGlm dCBAVGltZXIgKQ0KCXsNCgkgICAgcHJpbnQgIiAgICAkdmFsIiA7DQoJfQ0K ICAgIH0NCiAgICBpZiAoICRuTWl4ZXIgKQ0KICAgIHsNCglwcmludGYgIiAg JWQgTWl4ZXIlc1xuIiAsICRuTWl4ZXIgLCAkbk1peGVyID4gMSA/ICJzIiA6 ICIiIDsNCgl3aGlsZSAoICR2YWwgPSBzaGlmdCBATWl4ZXIgKQ0KCXsNCgkg ICAgcHJpbnQgIiAgICAkdmFsIiA7DQoJfQ0KICAgIH0NCn0NCg0Kb3BlbihG RCwgIi9wcm9jL3BjaSIpOw0KJGRvbmUgPSAwOw0Kd2hpbGUgKDxGRD4pIHsN CiAgICAgICAgaWYgKC9eXHMqQnVzLykgew0KICAgICAgICAgICAgICAgIGlm ICgkZG9uZSA9PSAwKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBwcmlu dCAiUENJIGJ1cyBkZXZpY2VzOlxuIjsNCiAgICAgICAgICAgICAgICAgICAg ICAgICRkb25lKys7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg ICAgICRfID0gPEZEPjsNCiAgICAgICAgICAgICAgICBwcmludDsNCiAgICAg ICAgfQ0KfQ0K --8323328-190621556-1005502694=:32593--