From owner-freebsd-gecko@FreeBSD.ORG Sun Feb 15 21:00:28 2015 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6CA4B353 for ; Sun, 15 Feb 2015 21:00:28 +0000 (UTC) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4261079A for ; Sun, 15 Feb 2015 21:00:28 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.9/8.14.9) with ESMTP id t1FL0SuY017269 for ; Sun, 15 Feb 2015 21:00:28 GMT (envelope-from bugzilla-noreply@FreeBSD.org) Message-Id: <201502152100.t1FL0SuY017269@kenobi.freebsd.org> From: bugzilla-noreply@FreeBSD.org To: gecko@FreeBSD.org Subject: Problem reports for gecko@FreeBSD.org that need special attention X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 Date: Sun, 15 Feb 2015 21:00:28 +0000 Content-Type: text/plain; charset="UTF-8" X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Feb 2015 21:00:28 -0000 To view an individual PR, use: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=(Bug Id). The following is a listing of current problems submitted by FreeBSD users, which need special attention. These represent problem reports covering all versions including experimental development code and obsolete releases. Status | Bug Id | Description ------------+-----------+--------------------------------------------------- Open | 194414 | REGRESSION: www/firefox-i18n no longer depends on 1 problems total for which you should take action. From owner-freebsd-gecko@FreeBSD.ORG Mon Feb 16 17:43:02 2015 Return-Path: Delivered-To: gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6CC334A1 for ; Mon, 16 Feb 2015 17:43:02 +0000 (UTC) Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1bbn0105.outbound.protection.outlook.com [157.56.111.105]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "MSIT Machine Auth CA 2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id BD314863 for ; Mon, 16 Feb 2015 17:43:01 +0000 (UTC) Received: from BY2PR03CA004.namprd03.prod.outlook.com (10.255.93.21) by BLUPR03MB591.namprd03.prod.outlook.com (10.255.124.37) with Microsoft SMTP Server (TLS) id 15.1.81.19; Mon, 16 Feb 2015 17:42:53 +0000 Received: from BL2FFO11OLC004.protection.gbl (10.255.93.4) by BY2PR03CA004.outlook.office365.com (10.255.93.21) with Microsoft SMTP Server (TLS) id 15.1.87.18 via Frontend Transport; Mon, 16 Feb 2015 17:42:52 +0000 Received: from 027-smtp-out.mcd.com (206.191.245.84) by BL2FFO11OLC004.mail.protection.outlook.com (10.173.161.188) with Microsoft SMTP Server (TLS) id 15.1.99.6 via Frontend Transport; Mon, 16 Feb 2015 17:42:51 +0000 Received: from BN1PRD9102MB037.027d.mgd.msft.net ([169.254.14.45]) by BN1PRD9102HT001.027d.mgd.msft.net ([141.251.22.78]) with mapi id 14.16.0478.000; Mon, 16 Feb 2015 17:42:43 +0000 From: Javali Kartik To: "gecko@freebsd.org" Subject: RE: firefox installation error Thread-Topic: firefox installation error Thread-Index: AdBKDvQ9FYhnS1c0TYetA/TxTl0wdQAAPs+w Date: Mon, 16 Feb 2015 17:42:42 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [108.171.131.189] Content-Type: multipart/mixed; boundary="_006_C363C6AE639BBE4485EFCCDFE96BBFDD10EBC528BN1PRD9102MB037_" MIME-Version: 1.0 X-OrganizationHeadersPreserved: BN1PRD9102HT001.027d.mgd.msft.net X-EOPAttributedMessage: 0 Received-SPF: Pass (protection.outlook.com: domain of us.mcd.com designates 206.191.245.84 as permitted sender) receiver=protection.outlook.com; client-ip=206.191.245.84; helo=027-smtp-out.mcd.com; Authentication-Results: spf=pass (sender IP is 206.191.245.84) smtp.mailfrom=Kartik.Javali@us.mcd.com; freebsd.org; dkim=none (message not signed) header.d=none; X-Forefront-Antispam-Report: CIP:206.191.245.84; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(438002)(164054003)(2351001)(19580405001)(86362001)(16236675004)(22756005)(4610100001)(2501002)(18206015028)(19580395003)(33656002)(92566002)(46102003)(2900100001)(15975445007)(62966003)(450100001)(5260100001)(84326002)(6806004)(2920100001)(102836002)(568964001)(77156002)(2930100002)(19627595001)(19625215002)(104016003)(110136001)(17760045003)(2656002)(87936001)(86146001)(19300405004)(107886001)(99936001)(106466001)(55846006)(54356999)(512954002)(66066001)(50986999); DIR:OUT; SFP:1102; SCL:1; SRVR:BLUPR03MB591; H:027-smtp-out.mcd.com; FPR:; SPF:Pass; MLV:sfv; LANG:en; X-CrossPremisesHeadersPromoted: BL2FFO11OLC004.protection.gbl X-CrossPremisesHeadersFiltered: BL2FFO11OLC004.protection.gbl X-Microsoft-Antispam: UriScan:; X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB591; X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004); SRVR:BLUPR03MB591; X-Forefront-PRVS: 0489CFBAC9 X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB591; X-OriginatorOrg: us.mcd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Feb 2015 17:42:51.4605 (UTC) X-MS-Exchange-CrossTenant-Id: c05b8d5a-b883-4afb-ae93-db5db239911c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c05b8d5a-b883-4afb-ae93-db5db239911c; Ip=[206.191.245.84] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR03MB591 X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Feb 2015 17:43:02 -0000 --_006_C363C6AE639BBE4485EFCCDFE96BBFDD10EBC528BN1PRD9102MB037_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi, I recently downloaded FreeBSD RELEASE 10.1 image (iso for DVD) and installe= d on a target device having Intel Celeron processor@ 2Ghz 30GB harddrive. The FreeBSD install went through well ( I guess). Later, I tried to install firefox from ports collection. I changed my directory to following: root@/usr/ports/www/firefox and I ran following command, # make install clean It took really long and later the installation aborted with error message a= nd onscreen tip to send the 'config.log' to yourself. I have attached the c= onfig.log file for your reference. Could you please help me guide through the installation of firefox? In the meanwhile, I am also taking a look at other answers posted on forums= . Thanks, Kartik V Javali (Consultant, IGATE) [image007] ...........................................................................= ...........................................................................= .................... McDonalds Corporation, Oak Brook, IL, USA | Desk: 630-623-2768 | Cell: 617-= 417-1506 | Location: PLZ-3E-134-186 ________________________________ The information contained in this e-mail and any accompanying documents is = confidential, may be privileged, and is intended solely for the person and/= or entity to whom it is addressed (i.e. those identified in the "To" and "c= c" box). They are the property of McDonald's Corporation. Unauthorized revi= ew, use, disclosure, or copying of this communication, or any part thereof,= is strictly prohibited and may be unlawful. If you have received this e-ma= il in error, please return the e-mail and attachments to the sender and del= ete the e-mail and attachments and any copy from your system. McDonald's th= anks you for your cooperation. --_006_C363C6AE639BBE4485EFCCDFE96BBFDD10EBC528BN1PRD9102MB037_ Content-Type: application/octet-stream; name="config.log" Content-Description: config.log Content-Disposition: attachment; filename="config.log"; size=84709; creation-date="Mon, 16 Feb 2015 18:11:49 GMT"; modification-date="Mon, 16 Feb 2015 18:11:48 GMT" Content-Transfer-Encoding: base64 VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz IGEgbWlzdGFrZS4KCmNvbmZpZ3VyZToxMjA2OiBjaGVja2luZyBob3N0IHN5c3RlbSB0eXBlCmNv bmZpZ3VyZToxMjI3OiBjaGVja2luZyB0YXJnZXQgc3lzdGVtIHR5cGUKY29uZmlndXJlOjEyNDU6 IGNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlCmNvbmZpZ3VyZToxMzIxOiBjaGVja2luZyBmb3Ig bWF3awpjb25maWd1cmU6MTUxNjogY2hlY2tpbmcgUHl0aG9uIGVudmlyb25tZW50IGlzIE1vemls bGEgdmlydHVhbGVudgpjb25maWd1cmU6MTczNzogY2hlY2tpbmcgZm9yIC91c3IvbG9jYWwvYmlu L3BlcmwKY29uZmlndXJlOjMxNjQ6IGNoZWNraW5nIGZvciBnY2MKY29uZmlndXJlOjMyNzc6IGNo ZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgKGNjIC1PMiAtcGlwZSAgLU8zIC1mbm8tc3Ry aWN0LWFsaWFzaW5nICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIv ZmlyZWZveCkgd29ya3MKY29uZmlndXJlOjMyOTM6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAg LU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91 c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCBjb25mdGVzdC5j ICAxPiY1CmNvbmZpZ3VyZTozMjkwOjE6IHdhcm5pbmc6IHR5cGUgc3BlY2lmaWVyIG1pc3Npbmcs IGRlZmF1bHRzIHRvICdpbnQnIFstV2ltcGxpY2l0LWludF0KbWFpbigpe3JldHVybigwKTt9Cl5+ fn4KMSB3YXJuaW5nIGdlbmVyYXRlZC4KY29uZmlndXJlOjMzMTk6IGNoZWNraW5nIHdoZXRoZXIg dGhlIEMgY29tcGlsZXIgKGNjIC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAt TC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCkgaXMgYSBj cm9zcy1jb21waWxlcgpjb25maWd1cmU6MzMyNDogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNp bmcgR05VIEMKY29uZmlndXJlOjMzMzM6IGNjIC1FIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjMzNTI6 IGNoZWNraW5nIHdoZXRoZXIgY2MgYWNjZXB0cyAtZwpjb25maWd1cmU6MzM5MzogY2hlY2tpbmcg Zm9yIGMrKwpjb25maWd1cmU6MzQyNTogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVy IChjKysgLU8yIC1waXBlIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAgIC1ML3Vzci9sb2NhbC9s aWIgLVdsLC1ycGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94KSB3b3Jrcwpjb25maWd1cmU6MzQ0 MTogYysrIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1p c3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vz ci9sb2NhbC9saWIvZmlyZWZveCBjb25mdGVzdC5DICAxPiY1CmNvbmZpZ3VyZTozNDY3OiBjaGVj a2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgKGMrKyAtTzIgLXBpcGUgLU8zIC1mbm8tc3Ry aWN0LWFsaWFzaW5nICAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3IvbG9jYWwvbGli L2ZpcmVmb3gpIGlzIGEgY3Jvc3MtY29tcGlsZXIKY29uZmlndXJlOjM0NzI6IGNoZWNraW5nIHdo ZXRoZXIgd2UgYXJlIHVzaW5nIEdOVSBDKysKY29uZmlndXJlOjM0ODE6IGMrKyAtRSBjb25mdGVz dC5DCmNvbmZpZ3VyZTozNTAwOiBjaGVja2luZyB3aGV0aGVyIGMrKyBhY2NlcHRzIC1nCmNvbmZp Z3VyZTozNTM0OiBjaGVja2luZyBmb3IgcmFubGliCmNvbmZpZ3VyZTozNTY2OiBjaGVja2luZyBm b3IgYXMKY29uZmlndXJlOjM2MjA6IGNoZWNraW5nIGZvciBhcgpjb25maWd1cmU6MzY1NTogY2hl Y2tpbmcgZm9yIGxkCmNvbmZpZ3VyZTozNjkwOiBjaGVja2luZyBmb3Igc3RyaXAKY29uZmlndXJl OjM3MjU6IGNoZWNraW5nIGZvciB3aW5kcmVzCmNvbmZpZ3VyZTo0NjU2OiBjaGVja2luZyBob3cg dG8gcnVuIHRoZSBDIHByZXByb2Nlc3Nvcgpjb25maWd1cmU6NDczNjogY2hlY2tpbmcgaG93IHRv IHJ1biB0aGUgQysrIHByZXByb2Nlc3Nvcgpjb25maWd1cmU6NDc1NDogYysrIC1FIC1pc3lzdGVt L3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dApj b25maWd1cmU6NDgzODogY2hlY2tpbmcgZm9yIGEgQlNEIGNvbXBhdGlibGUgaW5zdGFsbApjb25m aWd1cmU6NDg5MTogY2hlY2tpbmcgd2hldGhlciBsbiAtcyB3b3Jrcwpjb25maWd1cmU6NDkxNDog Y2hlY2tpbmcgZm9yIG1pbmltdW0gcmVxdWlyZWQgcGVybCB2ZXJzaW9uID49IDUuMDA2CmNvbmZp Z3VyZTo0OTI1OiBjaGVja2luZyBmb3IgZnVsbCBwZXJsIGluc3RhbGxhdGlvbgpjb25maWd1cmU6 NDk0MzogY2hlY2tpbmcgZm9yIGRveHlnZW4KY29uZmlndXJlOjQ5OTI6IGNoZWNraW5nIGZvciBh dXRvY29uZgpjb25maWd1cmU6NTA0MzogY2hlY2tpbmcgZm9yIHVuemlwCmNvbmZpZ3VyZTo1MDk5 OiBjaGVja2luZyBmb3IgemlwCmNvbmZpZ3VyZTo1MTUzOiBjaGVja2luZyBmb3IgeGFyZ3MKY29u ZmlndXJlOjUyMDU6IGNoZWNraW5nIGZvciBycG1idWlsZApjb25maWd1cmU6NTQ1OTogY2hlY2tp bmcgZm9yIGdtYWtlCmNvbmZpZ3VyZTo1NTI2OiBjaGVja2luZyBmb3IgWApjb25maWd1cmU6NTg0 MzogY2hlY2tpbmcgZm9yIGRuZXRfbnRvYSBpbiAtbGRuZXQKY29uZmlndXJlOjU4NjI6IGNjIC1v IGNvbmZ0ZXN0IC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1pc3lzdGVtL3Vz ci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9s aWIvZmlyZWZveCBjb25mdGVzdC5jIC1sZG5ldCAgIDE+JjUKL3Vzci9iaW4vbGQ6IGNhbm5vdCBm aW5kIC1sZG5ldApjYzogZXJyb3I6IGxpbmtlciBjb21tYW5kIGZhaWxlZCB3aXRoIGV4aXQgY29k ZSAxICh1c2UgLXYgdG8gc2VlIGludm9jYXRpb24pCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOgojbGluZSA1ODUxICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBPdmVy cmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwov KiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2Yg YSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQg c3RpbGwgYXBwbHkuICAqLwpjaGFyIGRuZXRfbnRvYSgpOwoKaW50IG1haW4oKSB7CmRuZXRfbnRv YSgpCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjU4ODQ6IGNoZWNraW5nIGZvciBkbmV0X250b2Eg aW4gLWxkbmV0X3N0dWIKY29uZmlndXJlOjU5MDM6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAg LU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91 c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCBjb25mdGVzdC5j IC1sZG5ldF9zdHViICAgMT4mNQovdXNyL2Jpbi9sZDogY2Fubm90IGZpbmQgLWxkbmV0X3N0dWIK Y2M6IGVycm9yOiBsaW5rZXIgY29tbWFuZCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgMSAodXNlIC12 IHRvIHNlZSBpbnZvY2F0aW9uKQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUg NTg5MiAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogT3ZlcnJpZGUgYW55IGdj YzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KLyogV2UgdXNlIGNo YXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICAg YnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5 LiAgKi8KY2hhciBkbmV0X250b2EoKTsKCmludCBtYWluKCkgewpkbmV0X250b2EoKQo7IHJldHVy biAwOyB9CmNvbmZpZ3VyZTo1OTMyOiBjaGVja2luZyBmb3IgZ2V0aG9zdGJ5bmFtZQpjb25maWd1 cmU6NjAzNDogY2hlY2tpbmcgZm9yIGNvbm5lY3QKY29uZmlndXJlOjYwNjY6IGNjIC1vIGNvbmZ0 ZXN0IC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1pc3lzdGVtL3Vzci9sb2Nh bC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmly ZWZveCBjb25mdGVzdC5jICAxPiY1CmNvbmZpZ3VyZTo2MTMwOiBjaGVja2luZyBmb3IgcmVtb3Zl CmNvbmZpZ3VyZTo2MTYyOiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmlj dC1hbGlhc2luZyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAt V2wsLXJwYXRoLC91c3IvbG9jYWwvbGliL2ZpcmVmb3ggY29uZnRlc3QuYyAgMT4mNQpjb25maWd1 cmU6NjIyNjogY2hlY2tpbmcgZm9yIHNobWF0CmNvbmZpZ3VyZTo2MjU4OiBjYyAtbyBjb25mdGVz dCAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtaXN5c3RlbS91c3IvbG9jYWwv aW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3IvbG9jYWwvbGliL2ZpcmVm b3ggY29uZnRlc3QuYyAgMT4mNQpjb25maWd1cmU6NjMzMTogY2hlY2tpbmcgZm9yIEljZUNvbm5l Y3Rpb25OdW1iZXIgaW4gLWxJQ0UKY29uZmlndXJlOjYzNTA6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAt cGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRl ICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtTC91 c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgLWxJQ0UgICAxPiY1CmNvbmZpZ3VyZTo2NzY3OiBjYyAt YyAgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZTo2 NzYzOjE1OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnX190aHVtYjJfXycK cmV0dXJuIHNpemVvZihfX3RodW1iMl9fKTsKICAgICAgICAgICAgICBeCjEgZXJyb3IgZ2VuZXJh dGVkLgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNjc2MCAiY29uZmlndXJl IgojaW5jbHVkZSAiY29uZmRlZnMuaCIKCmludCBtYWluKCkgewpyZXR1cm4gc2l6ZW9mKF9fdGh1 bWIyX18pOwo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZTo3MDIxOiBjaGVja2luZyB0aGF0IHN0YXRp YyBhc3NlcnRpb24gbWFjcm9zIHVzZWQgaW4gYXV0b2NvbmYgdGVzdHMgd29yawpjb25maWd1cmU6 NzA0MjogY2MgLWMgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWlzeXN0ZW0v dXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZTo3MDU5OiBjYyAtYyAt TzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtaXN5c3RlbS91c3IvbG9jYWwvaW5j bHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjcwNTk6MTogZXJyb3I6ICdzdGF0aWNfYXNz ZXJ0X2xpbmVfNzA1OScgZGVjbGFyZWQgYXMgYW4gYXJyYXkgd2l0aCBhIG5lZ2F0aXZlIHNpemUK Q09ORklHVVJFX1NUQVRJQ19BU1NFUlQoMCkKXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KY29u ZmlndXJlOjcwNTQ6NDQ6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ0NPTkZJR1VSRV9TVEFU SUNfQVNTRVJUJwojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUKGNvbmRpdGlvbikgQ09O RklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTChjb25kaXRpb24sIF9fTElORV9fKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpjb25maWd1cmU6NzA1NTo1NTogbm90ZTogZXhwYW5k ZWQgZnJvbSBtYWNybyAnQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTCcKI2RlZmluZSBDT05G SUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMKGNvbmRpdGlvbiwgbGluZSkgQ09ORklHVVJFX1NUQVRJ Q19BU1NFUlRfSU1QTDIoY29uZGl0aW9uLCBsaW5lKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+CmNvbmZpZ3VyZTo3MDU2Ojk0OiBub3RlOiBleHBhbmRlZCBmcm9t IG1hY3JvICdDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMMicKI2RlZmluZSBDT05GSUdVUkVf U1RBVElDX0FTU0VSVF9JTVBMMihjb25kaXRpb24sIGxpbmUpIHR5cGVkZWYgaW50IHN0YXRpY19h c3NlcnRfbGluZV8jI2xpbmVbKGNvbmRpdGlvbikgPyAxIDogLTFdCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+CjEgZXJyb3IgZ2VuZXJhdGVk Lgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNzA1MiAiY29uZmlndXJlIgoj aW5jbHVkZSAiY29uZmRlZnMuaCIKCiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoY29u ZGl0aW9uKSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMKGNvbmRpdGlvbiwgX19MSU5FX18p CiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTChjb25kaXRpb24sIGxpbmUpIENP TkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwyKGNvbmRpdGlvbiwgbGluZSkKI2RlZmluZSBDT05G SUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMMihjb25kaXRpb24sIGxpbmUpIHR5cGVkZWYgaW50IHN0 YXRpY19hc3NlcnRfbGluZV8jI2xpbmVbKGNvbmRpdGlvbikgPyAxIDogLTFdCgppbnQgbWFpbigp IHsKQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoMCkKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6NzA4 MjogYysrIC1jIC1PMiAtcGlwZSAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1pc3lzdGVtL3Vz ci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6NzA5OTogYysrIC1jIC1P MiAtcGlwZSAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNs dWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6NzA5OToxOiBlcnJvcjogJ3N0YXRpY19hc3Nl cnRfbGluZV83MDk5JyBkZWNsYXJlZCBhcyBhbiBhcnJheSB3aXRoIGEgbmVnYXRpdmUgc2l6ZQpD T05GSUdVUkVfU1RBVElDX0FTU0VSVCgwKQpefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpjb25m aWd1cmU6NzA5NDo0NDogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnQ09ORklHVVJFX1NUQVRJ Q19BU1NFUlQnCiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoY29uZGl0aW9uKSBDT05G SUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMKGNvbmRpdGlvbiwgX19MSU5FX18pCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CmNvbmZpZ3VyZTo3MDk1OjU1OiBub3RlOiBleHBhbmRl ZCBmcm9tIG1hY3JvICdDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMJwojZGVmaW5lIENPTkZJ R1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwoY29uZGl0aW9uLCBsaW5lKSBDT05GSUdVUkVfU1RBVElD X0FTU0VSVF9JTVBMMihjb25kaXRpb24sIGxpbmUpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn4KY29uZmlndXJlOjcwOTY6OTQ6IG5vdGU6IGV4cGFuZGVkIGZyb20g bWFjcm8gJ0NPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwyJwojZGVmaW5lIENPTkZJR1VSRV9T VEFUSUNfQVNTRVJUX0lNUEwyKGNvbmRpdGlvbiwgbGluZSkgdHlwZWRlZiBpbnQgc3RhdGljX2Fz c2VydF9saW5lXyMjbGluZVsoY29uZGl0aW9uKSA/IDEgOiAtMV0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn4KMSBlcnJvciBnZW5lcmF0ZWQu CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSA3MDkyICJjb25maWd1cmUiCiNp bmNsdWRlICJjb25mZGVmcy5oIgoKI2RlZmluZSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVChjb25k aXRpb24pIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwoY29uZGl0aW9uLCBfX0xJTkVfXykK I2RlZmluZSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMKGNvbmRpdGlvbiwgbGluZSkgQ09O RklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTDIoY29uZGl0aW9uLCBsaW5lKQojZGVmaW5lIENPTkZJ R1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwyKGNvbmRpdGlvbiwgbGluZSkgdHlwZWRlZiBpbnQgc3Rh dGljX2Fzc2VydF9saW5lXyMjbGluZVsoY29uZGl0aW9uKSA/IDEgOiAtMV0KCmludCBtYWluKCkg ewpDT05GSUdVUkVfU1RBVElDX0FTU0VSVCgwKQo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZTo3Mjk0 OiBjaGVja2luZyBmb3IgLS1ub2V4ZWNzdGFjayBvcHRpb24gdG8gYXMKY29uZmlndXJlOjczMDU6 IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZn bnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLVdhLC0tbm9leGVjc3RhY2sgLVF1bnVz ZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpj b25maWd1cmU6NzMxODogY2hlY2tpbmcgZm9yIC16IG5vZXhlY3N0YWNrIG9wdGlvbiB0byBsZApj b25maWd1cmU6NzMyOTogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAt UXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2Nh bC9saWIgLVdsLC1ycGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94IC1XbCwteixub2V4ZWNzdGFj ayBjb25mdGVzdC5jICAxPiY1CmNvbmZpZ3VyZTo3MzQyOiBjaGVja2luZyBmb3IgLXogdGV4dCBv cHRpb24gdG8gbGQKY29uZmlndXJlOjczNTM6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAgLU8z IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRl ICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2ws LXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QuYyAgMT4mNQpjb25maWd1cmU6NzM2 NzogY2hlY2tpbmcgZm9yIC0tYnVpbGQtaWQgb3B0aW9uIHRvIGxkCmNvbmZpZ3VyZTo3Mzc4OiBj YyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdu dTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1RdW51c2VkLWFyZ3VtZW50 cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRo LC91c3IvbG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IC1X bCwtLWJ1aWxkLWlkIGNvbmZ0ZXN0LmMgIDE+JjUKL3Vzci9iaW4vbGQ6IHVucmVjb2duaXplZCBv cHRpb24gJy0tYnVpbGQtaWQnCi91c3IvYmluL2xkOiB1c2UgdGhlIC0taGVscCBvcHRpb24gZm9y IHVzYWdlIGluZm9ybWF0aW9uCmNjOiBlcnJvcjogbGlua2VyIGNvbW1hbmQgZmFpbGVkIHdpdGgg ZXhpdCBjb2RlIDEgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlvbikKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CiNsaW5lIDczNzEgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgi CgppbnQgbWFpbigpIHsKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjczOTI6IGNoZWNraW5nIGZv ciAtLWlnbm9yZS11bnJlc29sdmVkLXN5bWJvbCBvcHRpb24gdG8gbGQKY29uZmlndXJlOjc0MDQ6 IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9 Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLVF1bnVzZWQtYXJndW1l bnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBh dGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQg LVdsLC0taWdub3JlLXVucmVzb2x2ZWQtc3ltYm9sLGVudmlyb24gY29uZnRlc3QuYyAgMT4mNQov dXNyL2Jpbi9sZDogdW5yZWNvZ25pemVkIG9wdGlvbiAnLS1pZ25vcmUtdW5yZXNvbHZlZC1zeW1i b2wnCi91c3IvYmluL2xkOiB1c2UgdGhlIC0taGVscCBvcHRpb24gZm9yIHVzYWdlIGluZm9ybWF0 aW9uCmNjOiBlcnJvcjogbGlua2VyIGNvbW1hbmQgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEgKHVz ZSAtdiB0byBzZWUgaW52b2NhdGlvbikKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNs aW5lIDczOTcgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCgppbnQgbWFpbigpIHsK CjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjc0MTk6IGNoZWNraW5nIGlmIHRvb2xjaGFpbiBzdXBw b3J0cyAtbXNzc2UzIG9wdGlvbgpjb25maWd1cmU6NzQzMTogY2MgLWMgLU8yIC1waXBlICAtTzMg LWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmlj dC1hbGlhc2luZyAtbXNzc2UzIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwv aW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjc0NDY6IGNoZWNraW5nIGlmIHRvb2xj aGFpbiBzdXBwb3J0cyAtbXNzZTQuMSBvcHRpb24KY29uZmlndXJlOjc0NTg6IGNjIC1jIC1PMiAt cGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUg LWZuby1zdHJpY3QtYWxpYXNpbmcgLW1zc2U0LjEgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVt L3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6NzQ3NDogY2hlY2tp bmcgZm9yIHg4NiBBVlgyIGFzbSBzdXBwb3J0IGluIGNvbXBpbGVyCmNvbmZpZ3VyZTo3NDgzOiBj YyAtYyAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251 ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3Rl bS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjc1NDI6IGNoZWNr aW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgc3VwcG9ydHMgLVdlcnJvcj1yZXR1cm4tdHlwZQpj b25maWd1cmU6NzU2NTogY2MgLWMgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcg LXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtV2Vycm9yIC1X ZXJyb3I9cmV0dXJuLXR5cGUgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9p bmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6NzU5MzogY2hlY2tpbmcgd2hldGhlciB0 aGUgQyBjb21waWxlciBzdXBwb3J0cyAtV2Vycm9yPWludC10by1wb2ludGVyLWNhc3QKY29uZmln dXJlOjc2MTY6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9 Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLVdlcnJvciAtV2Vycm9y PWludC10by1wb2ludGVyLWNhc3QgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2Nh bC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6NzY0NDogY2hlY2tpbmcgd2hldGhl ciB0aGUgQyBjb21waWxlciBzdXBwb3J0cyAtV3R5cGUtbGltaXRzCmNvbmZpZ3VyZTo3NjY3OiBj YyAtYyAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251 ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1XZXJyb3IgLVd0eXBlLWxpbWl0cyAtUXVu dXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1 CmNvbmZpZ3VyZTo3Njk1OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHN1cHBvcnRz IC1XZW1wdHktYm9keQpjb25maWd1cmU6NzcxODogY2MgLWMgLU8yIC1waXBlICAtTzMgLWZuby1z dHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlh c2luZyAtV2Vycm9yIC1XZW1wdHktYm9keSAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNy L2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZTo3NzQ2OiBjaGVja2luZyB3 aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHN1cHBvcnRzIC1Xc2lnbi1jb21wYXJlCmNvbmZpZ3VyZTo3 NzY5OiBjYyAtYyAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5 IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1XZXJyb3IgLVdzaWduLWNvbXBh cmUgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0 LmMgMT4mNQpjb25maWd1cmU6Nzg1ODogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVy IHN1cHBvcnRzIC1XZXJyb3I9cmV0dXJuLXR5cGUKY29uZmlndXJlOjc4ODE6IGMrKyAtYyAtTzIg LXBpcGUgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLVdlcnJvciAtV2Vycm9yPXJldHVybi10eXBlIC1RdW51c2VkLWFyZ3VtZW50 cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJlOjc5 MDk6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciBzdXBwb3J0cyAtV2Vycm9yPWlu dC10by1wb2ludGVyLWNhc3QKY29uZmlndXJlOjc5MzI6IGMrKyAtYyAtTzIgLXBpcGUgLU8zIC1m bm8tc3RyaWN0LWFsaWFzaW5nICAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcg LVdlcnJvciAtV2Vycm9yPWludC10by1wb2ludGVyLWNhc3QgLVF1bnVzZWQtYXJndW1lbnRzIC1p c3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6Nzk2MDog Y2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIC1XdHlwZS1saW1pdHMK Y29uZmlndXJlOjc5ODM6IGMrKyAtYyAtTzIgLXBpcGUgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5n ICAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLVdlcnJvciAtV3R5cGUtbGlt aXRzIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVz dC5DIDE+JjUKY29uZmlndXJlOjgwMTE6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxl ciBzdXBwb3J0cyAtV2VtcHR5LWJvZHkKY29uZmlndXJlOjgwMzQ6IGMrKyAtYyAtTzIgLXBpcGUg LU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxp YXNpbmcgLVdlcnJvciAtV2VtcHR5LWJvZHkgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vz ci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6ODA2MjogY2hlY2tpbmcg d2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIC1Xc2lnbi1jb21wYXJlCmNvbmZpZ3Vy ZTo4MDg1OiBjKysgLWMgLU8yIC1waXBlIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAgLWZuby1l eGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1XZXJyb3IgLVdzaWduLWNvbXBhcmUgLVF1 bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4m NQpjb25maWd1cmU6ODEyMDogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBv cnRzIC1Xbm8taW52YWxpZC1vZmZzZXRvZgpjb25maWd1cmU6ODE0MzogYysrIC1jIC1PMiAtcGlw ZSAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1h bGlhc2luZyAtV2Vycm9yIC1XaW52YWxpZC1vZmZzZXRvZiAtUXVudXNlZC1hcmd1bWVudHMgLWlz eXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1CmNvbmZpZ3VyZTo4MTcxOiBj aGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgc3VwcG9ydHMgLVduby1pbmxpbmUtbmV3 LWRlbGV0ZQpjb25maWd1cmU6ODE5NDogYysrIC1jIC1PMiAtcGlwZSAtTzMgLWZuby1zdHJpY3Qt YWxpYXNpbmcgIC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtV2Vycm9yIC1X aW5saW5lLW5ldy1kZWxldGUgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9p bmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6ODI0NjogY2hlY2tpbmcgd2hldGhlciB0 aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIC1Xbm8tZXh0ZW5kZWQtb2Zmc2V0b2YKY29uZmlndXJl OjgyNjk6IGMrKyAtYyAtTzIgLXBpcGUgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAtZm5vLWV4 Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLVdlcnJvciAtV2V4dGVuZGVkLW9mZnNldG9m IC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5D IDE+JjUKY29uZmlndXJlOjgzMDc6IGNoZWNraW5nIHdoZXRoZXIgbGQgaGFzIGFyY2hpdmUgZXh0 cmFjdGlvbiBmbGFncwpjb25maWd1cmU6ODMzMTogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlICAt TzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0 cmljdC1hbGlhc2luZyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1 ZGUgLVdsLC0td2hvbGUtYXJjaGl2ZSBjb25mdGVzdC5jIC1XbCwtLW5vLXdob2xlLWFyY2hpdmUg MT4mNQpjb25maWd1cmU6ODM2NjogY2hlY2tpbmcgZm9yIDY0LWJpdCBPUwpjb25maWd1cmU6ODM3 NTogY2MgLWMgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAt ZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtUXVudXNlZC1hcmd1bWVudHMgLWlz eXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZTo4Mzc1OjE6 IGVycm9yOiAnc3RhdGljX2Fzc2VydF9saW5lXzgzNzUnIGRlY2xhcmVkIGFzIGFuIGFycmF5IHdp dGggYSBuZWdhdGl2ZSBzaXplCkNPTkZJR1VSRV9TVEFUSUNfQVNTRVJUKHNpemVvZih2b2lkKikg PT0gOCkKXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpjb25maWd1 cmU6ODM3MDo0NDogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnQ09ORklHVVJFX1NUQVRJQ19B U1NFUlQnCiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoY29uZGl0aW9uKSBDT05GSUdV UkVfU1RBVElDX0FTU0VSVF9JTVBMKGNvbmRpdGlvbiwgX19MSU5FX18pCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+CmNvbmZpZ3VyZTo4MzcxOjU1OiBub3RlOiBleHBhbmRlZCBm cm9tIG1hY3JvICdDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMJwojZGVmaW5lIENPTkZJR1VS RV9TVEFUSUNfQVNTRVJUX0lNUEwoY29uZGl0aW9uLCBsaW5lKSBDT05GSUdVUkVfU1RBVElDX0FT U0VSVF9JTVBMMihjb25kaXRpb24sIGxpbmUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn4KY29uZmlndXJlOjgzNzI6OTQ6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFj cm8gJ0NPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwyJwojZGVmaW5lIENPTkZJR1VSRV9TVEFU SUNfQVNTRVJUX0lNUEwyKGNvbmRpdGlvbiwgbGluZSkgdHlwZWRlZiBpbnQgc3RhdGljX2Fzc2Vy dF9saW5lXyMjbGluZVsoY29uZGl0aW9uKSA/IDEgOiAtMV0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn4KMSBlcnJvciBnZW5lcmF0ZWQuCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSA4MzY4ICJjb25maWd1cmUiCiNpbmNs dWRlICJjb25mZGVmcy5oIgoKI2RlZmluZSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVChjb25kaXRp b24pIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwoY29uZGl0aW9uLCBfX0xJTkVfXykKI2Rl ZmluZSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMKGNvbmRpdGlvbiwgbGluZSkgQ09ORklH VVJFX1NUQVRJQ19BU1NFUlRfSU1QTDIoY29uZGl0aW9uLCBsaW5lKQojZGVmaW5lIENPTkZJR1VS RV9TVEFUSUNfQVNTRVJUX0lNUEwyKGNvbmRpdGlvbiwgbGluZSkgdHlwZWRlZiBpbnQgc3RhdGlj X2Fzc2VydF9saW5lXyMjbGluZVsoY29uZGl0aW9uKSA/IDEgOiAtMV0KCmludCBtYWluKCkgewpD T05GSUdVUkVfU1RBVElDX0FTU0VSVChzaXplb2Yodm9pZCopID09IDgpCjsgcmV0dXJuIDA7IH0K Y29uZmlndXJlOjg3MjA6IGNoZWNraW5nIGZvciBjdXN0b20gPGludHR5cGVzLmg+IGltcGxlbWVu dGF0aW9uCmNvbmZpZ3VyZToxMDAxMTogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVy IChjKysgLU8yIC1waXBlIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAgLWZuby1leGNlcHRpb25z IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJw YXRoLC91c3IvbG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0 KSBhY3R1YWxseSBpcyBhIEMrKyBjb21waWxlcgpjb25maWd1cmU6MTAwMzA6IGMrKyAtbyBjb25m dGVzdCAtTzIgLXBpcGUgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAtZm5vLWV4Y2VwdGlvbnMg LWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3Rl bS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3IvbG9j YWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0ZXN0LkMg IDE+JjUKY29uZmlndXJlOjEwMjA4OiBjaGVja2luZyBmb3IgQU5TSSBDIGhlYWRlciBmaWxlcwpj b25maWd1cmU6MTAzMTU6IGNoZWNraW5nIGZvciB3b3JraW5nIGNvbnN0CmNvbmZpZ3VyZToxMDM2 OTogY2MgLWMgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAt ZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1m ZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVt L3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTAzOTM6IGNoZWNr aW5nIGZvciBtb2RlX3QKY29uZmlndXJlOjEwNDI5OiBjaGVja2luZyBmb3Igb2ZmX3QKY29uZmln dXJlOjEwNDY1OiBjaGVja2luZyBmb3IgcGlkX3QKY29uZmlndXJlOjEwNTAxOiBjaGVja2luZyBm b3Igc2l6ZV90CmNvbmZpZ3VyZToxMDU1MTogY2hlY2tpbmcgZm9yIHNzaXplX3QKY29uZmlndXJl OjEwNTg5OiBjaGVja2luZyBmb3Igc3RfYmxrc2l6ZSBpbiBzdHJ1Y3Qgc3RhdApjb25maWd1cmU6 MTA2MDI6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251 OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9u cyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5 c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjEwNTk4OjE4 OiB3YXJuaW5nOiBleHByZXNzaW9uIHJlc3VsdCB1bnVzZWQgWy1XdW51c2VkLXZhbHVlXQpzdHJ1 Y3Qgc3RhdCBzOyBzLnN0X2Jsa3NpemU7CiAgICAgICAgICAgICAgIH4gXn5+fn5+fn5+fgoxIHdh cm5pbmcgZ2VuZXJhdGVkLgpjb25maWd1cmU6MTA2MjY6IGNoZWNraW5nIGZvciBzaWdpbmZvX3QK Y29uZmlndXJlOjEwNjM5OiBjYyAtYyAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rp b24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtUXVudXNlZC1hcmd1 bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3Vy ZToxMDY4NTogY2hlY2tpbmcgZm9yIGdjYyBjKysweCBoZWFkZXJzIGJ1ZyB3aXRob3V0IHJ0dGkK Y29uZmlndXJlOjEwNjk3OiBjKysgLWMgLU8yIC1waXBlIC1PMyAtZm5vLXN0cmljdC1hbGlhc2lu ZyAgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0 aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1tYXRoLWVy cm5vIC1zdGQ9Z251KysweCAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2lu Y2x1ZGUgY29uZnRlc3QuQyAxPiY1CmNvbmZpZ3VyZToxMDkwODogY2hlY2tpbmcgZm9yIGdjYyBQ UjQ5OTExCmNvbmZpZ3VyZToxMDk2OTogYysrIC1vIGNvbmZ0ZXN0IC1PMiAtUXVudXNlZC1hcmd1 bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC1y cGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94IC1XbCwteixub2V4ZWNzdGFjayAtV2wsLXosdGV4 dCBjb25mdGVzdC5DICAxPiY1CmNvbmZpZ3VyZToxMTAwMjogY2hlY2tpbmcgZm9yIGdjYyBwcjM5 NjA4CmNvbmZpZ3VyZToxMTAzMjogYysrIC1jIC1PMiAtcGlwZSAtTzMgLWZuby1zdHJpY3QtYWxp YXNpbmcgIC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZm dW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1mbm8tbWF0 aC1lcnJubyAtc3RkPWdudSsrMHggLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2Nh bC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6MTEwMjg6MTogd2FybmluZzogZXhw cmVzc2lvbiByZXN1bHQgdW51c2VkIFstV3VudXNlZC12YWx1ZV0KdHJ1ZQpefn5+CjEgd2Fybmlu ZyBnZW5lcmF0ZWQuCmNvbmZpZ3VyZToxMTA2MjogY2hlY2tpbmcgZm9yIGxsdm0gcHI4OTI3CmNv bmZpZ3VyZToxMTEwMjogY2MgLW8gY29uZnRlc3QgLU8yIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5 c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3Iv bG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0ZXN0 LmMgIDE+JjUKY29uZmlndXJlOjExMTQwOiBjaGVja2luZyBmb3IgX19mb3JjZV9hbGlnbl9hcmdf cG9pbnRlcl9fIGF0dHJpYnV0ZQpjb25maWd1cmU6MTExNTI6IGNjIC1jIC1PMiAtcGlwZSAgLU8z IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRo LWVycm5vIC1XZXJyb3IgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNs dWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTExNzk6IGNoZWNraW5nIGZvciBkaXJlbnQu aCB0aGF0IGRlZmluZXMgRElSCmNvbmZpZ3VyZToxMTE5MjogY2MgLWMgLU8yIC1waXBlICAtTzMg LWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmlj dC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgt ZXJybm8gLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0 ZXN0LmMgMT4mNQpjb25maWd1cmU6MTEyMjA6IGNoZWNraW5nIGZvciBvcGVuZGlyIGluIC1sZGly CmNvbmZpZ3VyZToxMTIzOTogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlICAtTzMgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1 bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwv bGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sg LVdsLC16LHRleHQgY29uZnRlc3QuYyAtbGRpciAgIDE+JjUKL3Vzci9iaW4vbGQ6IGNhbm5vdCBm aW5kIC1sZGlyCmNjOiBlcnJvcjogbGlua2VyIGNvbW1hbmQgZmFpbGVkIHdpdGggZXhpdCBjb2Rl IDEgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlvbikKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CiNsaW5lIDExMjI4ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBPdmVy cmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwov KiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2Yg YSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQg c3RpbGwgYXBwbHkuICAqLwpjaGFyIG9wZW5kaXIoKTsKCmludCBtYWluKCkgewpvcGVuZGlyKCkK OyByZXR1cm4gMDsgfQpjb25maWd1cmU6MTEzMTQ6IGNoZWNraW5nIGZvciBzeXMvYnl0ZW9yZGVy LmgKY29uZmlndXJlOjExMzI3OiBjYyAtYyAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlh c2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVu Y3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtUXVudXNlZC1h cmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRl IGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTEzMjE6MTA6IGZhdGFsIGVycm9yOiAnc3lzL2J5 dGVvcmRlci5oJyBmaWxlIG5vdCBmb3VuZAojaW5jbHVkZSA8c3lzL2J5dGVvcmRlci5oPgogICAg ICAgICBeCjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK I2xpbmUgMTEzMTkgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCgojaW5jbHVkZSA8 c3lzL2J5dGVvcmRlci5oPgppbnQgbWFpbigpIHsKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjEx MzE0OiBjaGVja2luZyBmb3IgY29tcGF0LmgKY29uZmlndXJlOjExMzI3OiBjYyAtYyAtTzIgLXBp cGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1m bm8tbWF0aC1lcnJubyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1 ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTEzMjE6 MTA6IGZhdGFsIGVycm9yOiAnY29tcGF0LmgnIGZpbGUgbm90IGZvdW5kCiNpbmNsdWRlIDxjb21w YXQuaD4KICAgICAgICAgXgoxIGVycm9yIGdlbmVyYXRlZC4KY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CiNsaW5lIDExMzE5ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoK I2luY2x1ZGUgPGNvbXBhdC5oPgppbnQgbWFpbigpIHsKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJl OjExMzE0OiBjaGVja2luZyBmb3IgZ2V0b3B0LmgKY29uZmlndXJlOjExMzE0OiBjaGVja2luZyBm b3Igc3lzL2JpdHlwZXMuaApjb25maWd1cmU6MTEzMjc6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVy cm5vIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNy L2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMTMyMToxMDogZmF0YWwg ZXJyb3I6ICdzeXMvYml0eXBlcy5oJyBmaWxlIG5vdCBmb3VuZAojaW5jbHVkZSA8c3lzL2JpdHlw ZXMuaD4KICAgICAgICAgXgoxIGVycm9yIGdlbmVyYXRlZC4KY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CiNsaW5lIDExMzE5ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoK I2luY2x1ZGUgPHN5cy9iaXR5cGVzLmg+CmludCBtYWluKCkgewoKOyByZXR1cm4gMDsgfQpjb25m aWd1cmU6MTEzMTQ6IGNoZWNraW5nIGZvciBtZW1vcnkuaApjb25maWd1cmU6MTEzMTQ6IGNoZWNr aW5nIGZvciB1bmlzdGQuaApjb25maWd1cmU6MTEzMTQ6IGNoZWNraW5nIGZvciBnbnUvbGliYy12 ZXJzaW9uLmgKY29uZmlndXJlOjExMzI3OiBjYyAtYyAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmlj dC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtUXVu dXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9p bmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTEzMjE6MTA6IGZhdGFsIGVycm9yOiAn Z251L2xpYmMtdmVyc2lvbi5oJyBmaWxlIG5vdCBmb3VuZAojaW5jbHVkZSA8Z251L2xpYmMtdmVy c2lvbi5oPgogICAgICAgICBeCjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKI2xpbmUgMTEzMTkgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgi CgojaW5jbHVkZSA8Z251L2xpYmMtdmVyc2lvbi5oPgppbnQgbWFpbigpIHsKCjsgcmV0dXJuIDA7 IH0KY29uZmlndXJlOjExMzE0OiBjaGVja2luZyBmb3IgbmxfdHlwZXMuaApjb25maWd1cmU6MTEz Mjc6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkg LWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAt ZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3Rl bS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1 CmNvbmZpZ3VyZToxMTMxNDogY2hlY2tpbmcgZm9yIG1hbGxvYy5oCmNvbmZpZ3VyZToxMTMxNDog Y2hlY2tpbmcgZm9yIFgxMS9YS0JsaWIuaApjb25maWd1cmU6MTEzMjc6IGNjIC1jIC1PMiAtcGlw ZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZu by1tYXRoLWVycm5vIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVk ZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMTMxNDog Y2hlY2tpbmcgZm9yIGlvLmgKY29uZmlndXJlOjExMzI3OiBjYyAtYyAtTzIgLXBpcGUgIC1PMyAt Zm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1l cnJubyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTEzMjE6MTA6IGZhdGFs IGVycm9yOiAnaW8uaCcgZmlsZSBub3QgZm91bmQKI2luY2x1ZGUgPGlvLmg+CiAgICAgICAgIF4K MSBlcnJvciBnZW5lcmF0ZWQuCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAx MTMxOSAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKCiNpbmNsdWRlIDxpby5oPgpp bnQgbWFpbigpIHsKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjExMzE0OiBjaGVja2luZyBmb3Ig Y3B1aWQuaApjb25maWd1cmU6MTEzMjc6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcg LWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1RdW51 c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMTM2MjogY2hlY2tpbmcgZm9yIHN5cy9z dGF0dmZzLmgKY29uZmlndXJlOjExMzYyOiBjaGVja2luZyBmb3Igc3lzL3N0YXRmcy5oCmNvbmZp Z3VyZToxMTM3NTogY2MgLWMgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0 ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNl Y3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1bnVzZWQtYXJndW1lbnRz IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVz dC5jIDE+JjUKY29uZmlndXJlOjExMzY5OjEwOiBmYXRhbCBlcnJvcjogJ3N5cy9zdGF0ZnMuaCcg ZmlsZSBub3QgZm91bmQKI2luY2x1ZGUgPHN5cy9zdGF0ZnMuaD4KICAgICAgICAgXgoxIGVycm9y IGdlbmVyYXRlZC4KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDExMzY3ICJj b25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoKI2luY2x1ZGUgPHN5cy9zdGF0ZnMuaD4K aW50IG1haW4oKSB7Cgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxMTM2MjogY2hlY2tpbmcgZm9y IHN5cy92ZnMuaApjb25maWd1cmU6MTEzNzU6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNp bmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1R dW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMTM2OToxMDogZmF0YWwgZXJyb3I6 ICdzeXMvdmZzLmgnIGZpbGUgbm90IGZvdW5kCiNpbmNsdWRlIDxzeXMvdmZzLmg+CiAgICAgICAg IF4KMSBlcnJvciBnZW5lcmF0ZWQuCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGlu ZSAxMTM2NyAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKCiNpbmNsdWRlIDxzeXMv dmZzLmg+CmludCBtYWluKCkgewoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MTEzNjI6IGNoZWNr aW5nIGZvciBzeXMvbW91bnQuaApjb25maWd1cmU6MTE0MDk6IGNoZWNraW5nIGZvciBzeXMvcXVv dGEuaApjb25maWd1cmU6MTE0MjI6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZm dW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1RdW51c2Vk LWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMTQxNjoxMDogZmF0YWwgZXJyb3I6ICdzeXMv cXVvdGEuaCcgZmlsZSBub3QgZm91bmQKI2luY2x1ZGUgPHN5cy9xdW90YS5oPgogICAgICAgICBe CjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUg MTE0MTQgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCgojaW5jbHVkZSA8c3lzL3F1 b3RhLmg+CmludCBtYWluKCkgewoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MTE0MDk6IGNoZWNr aW5nIGZvciBzeXMvc3lzbWFjcm9zLmgKY29uZmlndXJlOjExNDIyOiBjYyAtYyAtTzIgLXBpcGUg IC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8t bWF0aC1lcnJubyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUg IC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTE0MTY6MTA6 IGZhdGFsIGVycm9yOiAnc3lzL3N5c21hY3Jvcy5oJyBmaWxlIG5vdCBmb3VuZAojaW5jbHVkZSA8 c3lzL3N5c21hY3Jvcy5oPgogICAgICAgICBeCjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMTE0MTQgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNv bmZkZWZzLmgiCgojaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgppbnQgbWFpbigpIHsKCjsgcmV0 dXJuIDA7IH0KY29uZmlndXJlOjExNDU1OiBjaGVja2luZyBmb3IgbGludXgvcXVvdGEuaApjb25m aWd1cmU6MTE0Njg6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1z dGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1z ZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1RdW51c2VkLWFyZ3VtZW50 cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRl c3QuYyAxPiY1CmNvbmZpZ3VyZToxMTQ2MjoxMDogZmF0YWwgZXJyb3I6ICdsaW51eC9xdW90YS5o JyBmaWxlIG5vdCBmb3VuZAojaW5jbHVkZSA8bGludXgvcXVvdGEuaD4KICAgICAgICAgXgoxIGVy cm9yIGdlbmVyYXRlZC4KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDExNDYw ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgojaW5jbHVkZSA8c3lzL3NvY2tldC5o PgojaW5jbHVkZSA8bGludXgvcXVvdGEuaD4KaW50IG1haW4oKSB7Cgo7IHJldHVybiAwOyB9CmNv bmZpZ3VyZToxMTUwMjogY2hlY2tpbmcgZm9yIGxpbnV4L2lmX2FkZHIuaApjb25maWd1cmU6MTE1 MTU6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkg LWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAt ZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3Rl bS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1 CmNvbmZpZ3VyZToxMTUwOToxMDogZmF0YWwgZXJyb3I6ICdsaW51eC9pZl9hZGRyLmgnIGZpbGUg bm90IGZvdW5kCiNpbmNsdWRlIDxsaW51eC9pZl9hZGRyLmg+CiAgICAgICAgIF4KMSBlcnJvciBn ZW5lcmF0ZWQuCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMTUwNyAiY29u ZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KI2lu Y2x1ZGUgPGxpbnV4L2lmX2FkZHIuaD4KaW50IG1haW4oKSB7Cgo7IHJldHVybiAwOyB9CmNvbmZp Z3VyZToxMTUwMjogY2hlY2tpbmcgZm9yIGxpbnV4L3J0bmV0bGluay5oCmNvbmZpZ3VyZToxMTUx NTogY2MgLWMgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAt ZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1m ZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVt L3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUK Y29uZmlndXJlOjExNTA5OjEwOiBmYXRhbCBlcnJvcjogJ2xpbnV4L3J0bmV0bGluay5oJyBmaWxl IG5vdCBmb3VuZAojaW5jbHVkZSA8bGludXgvcnRuZXRsaW5rLmg+CiAgICAgICAgIF4KMSBlcnJv ciBnZW5lcmF0ZWQuCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMTUwNyAi Y29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4K I2luY2x1ZGUgPGxpbnV4L3J0bmV0bGluay5oPgppbnQgbWFpbigpIHsKCjsgcmV0dXJuIDA7IH0K Y29uZmlndXJlOjExNTQ5OiBjaGVja2luZyBmb3Igc3lzL3R5cGVzLmgKY29uZmlndXJlOjExNTQ5 OiBjaGVja2luZyBmb3IgbmV0aW5ldC9pbi5oCmNvbmZpZ3VyZToxMTU0OTogY2hlY2tpbmcgZm9y IGJ5dGVzd2FwLmgKY29uZmlndXJlOjExNTkzOiBjaGVja2luZyBmb3Igc29ja2FkZHJfaW4uc2lu X2xlbgpjb25maWd1cmU6MTE2MTA6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZm dW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1RdW51c2Vk LWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMTY0MTogY2hlY2tpbmcgZm9yIHNvY2thZGRy X2luNi5zaW42X2xlbgpjb25maWd1cmU6MTE2NTg6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5v IC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMTY4MjogY2hlY2tpbmcgZm9y IHNvY2thZGRyLnNhX2xlbgpjb25maWd1cmU6MTE2OTk6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVy cm5vIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNy L2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMTc5MjogY2hlY2tpbmcg Zm9yIHN5cy9jZGVmcy5oCmNvbmZpZ3VyZToxMTg1NzogY2hlY2tpbmcgZm9yIGxpbnV4L3BlcmZf ZXZlbnQuaApjb25maWd1cmU6MTE4NzA6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcg LWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vICAtUXVu dXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9p bmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTE4NjQ6MTA6IGZhdGFsIGVycm9yOiAn bGludXgvcGVyZl9ldmVudC5oJyBmaWxlIG5vdCBmb3VuZAojaW5jbHVkZSA8bGludXgvcGVyZl9l dmVudC5oPgogICAgICAgICBeCjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKI2xpbmUgMTE4NjIgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgi CgojaW5jbHVkZSA8bGludXgvcGVyZl9ldmVudC5oPgppbnQgbWFpbigpIHsKCjsgcmV0dXJuIDA7 IH0KY29uZmlndXJlOjExOTMzOiBjaGVja2luZyBmb3IgZ2V0aG9zdGJ5bmFtZV9yIGluIC1sY19y CmNvbmZpZ3VyZToxMTk1MjogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlICAtTzMgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1 bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwv aW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3IvbG9jYWwvbGliL2ZpcmVm b3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0ZXN0LmMgLWxjX3IgICAxPiY1 Ci91c3IvYmluL2xkOiBjYW5ub3QgZmluZCAtbGNfcgpjYzogZXJyb3I6IGxpbmtlciBjb21tYW5k IGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxICh1c2UgLXYgdG8gc2VlIGludm9jYXRpb24pCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMTk0MSAiY29uZmlndXJlIgojaW5jbHVk ZSAiY29uZmRlZnMuaCIKLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRv IGF2b2lkIGFuIGVycm9yLiAgKi8KLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0 Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJn dW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBnZXRob3N0YnluYW1l X3IoKTsKCmludCBtYWluKCkgewpnZXRob3N0YnluYW1lX3IoKQo7IHJldHVybiAwOyB9CmNvbmZp Z3VyZToxMTk5MTogY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBkbG9wZW4KY29uZmln dXJlOjEyMDA5OiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlh c2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVu Y3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtUXVudXNlZC1h cmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRl ICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2ws LXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QuYyAgMT4mNQpjb25maWd1cmU6MTIw NDk6IGNoZWNraW5nIGZvciBkbGZjbi5oCmNvbmZpZ3VyZToxMjA5OTogY2hlY2tpbmcgZm9yIGRs YWRkcgpjb25maWd1cmU6MTIxMzE6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAgLU8zIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5v IC1EX0dOVV9TT1VSQ0UgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNs dWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91 c3IvbG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0 ZXN0LmMgIDE+JjUKY29uZmlndXJlOjEyMDk5OiBjaGVja2luZyBmb3IgbWVtbWVtCmNvbmZpZ3Vy ZToxMjEzMTogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNp bmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0 aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLURfR05VX1NPVVJD RSAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9s b2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIv ZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QuYyAgMT4mNQpj b25maWd1cmU6MTIyNzE6IGNoZWNraW5nIGZvciBzb2NrZXQgaW4gLWxzb2NrZXQKY29uZmlndXJl OjEyMjkwOiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rp b24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtUXVudXNlZC1hcmd1 bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAt TC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2wsLXos bm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QuYyAtbHNvY2tldCAgIDE+JjUKL3Vzci9i aW4vbGQ6IGNhbm5vdCBmaW5kIC1sc29ja2V0CmNjOiBlcnJvcjogbGlua2VyIGNvbW1hbmQgZmFp bGVkIHdpdGggZXhpdCBjb2RlIDEgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlvbikKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDEyMjc5ICJjb25maWd1cmUiCiNpbmNsdWRlICJj b25mZGVmcy5oIgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZv aWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0 aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVu dCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIHNvY2tldCgpOwoKaW50IG1h aW4oKSB7CnNvY2tldCgpCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjEyMzQ0OiBjaGVja2luZyBm b3IgWERyYXdMaW5lcyBpbiAtbFgxMQpjb25maWd1cmU6MTIzNjM6IGNjIC1vIGNvbmZ0ZXN0IC1P MiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxp bmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlv bnMgLWZuby1tYXRoLWVycm5vIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwv aW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgIC1ML3Vzci9s b2NhbC9saWIgLVdsLC1ycGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94IC1XbCwteixub2V4ZWNz dGFjayAtV2wsLXosdGV4dCBjb25mdGVzdC5jIC1sWDExIC1sWDExICAgMT4mNQpjb25maWd1cmU6 MTIzODU6IGNoZWNraW5nIGZvciBYZXh0QWRkRGlzcGxheSBpbiAtbFhleHQKY29uZmlndXJlOjEy NDA0OiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAt c3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24t c2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtUXVudXNlZC1hcmd1bWVu dHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91 c3IvbG9jYWwvbGliICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIv ZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QuYyAtbFhleHQg LWxYMTEgICAxPiY1CmNvbmZpZ3VyZToxMjQyNzogY2hlY2tpbmcgZm9yIFh0RnJlZSBpbiAtbFh0 CmNvbmZpZ3VyZToxMjQ0NjogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlICAtTzMgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1 bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwv aW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91 c3IvbG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0 ZXN0LmMgLWxYdCAgIDE+JjUKY29uZmlndXJlOjEyNjAwOiBjaGVja2luZyBmb3IgWFNobUNyZWF0 ZUltYWdlIGluIC1sWGV4dApjb25maWd1cmU6MTI2MTk6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlw ZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZu by1tYXRoLWVycm5vIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVk ZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgIC1ML3Vzci9sb2NhbC9s aWIgLVdsLC1ycGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94IC1XbCwteixub2V4ZWNzdGFjayAt V2wsLXosdGV4dCBjb25mdGVzdC5jIC1sWGV4dCAtbFgxMSAgLWxYZXh0ICAxPiY1CmNvbmZpZ3Vy ZToxMjY0MjogY2hlY2tpbmcgZm9yIFgxMS9leHRlbnNpb25zL3Njcm5zYXZlci5oCmNvbmZpZ3Vy ZToxMjY1NTogY2MgLWMgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1n bnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rp b25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1bnVzZWQtYXJndW1lbnRzIC1p c3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5j IDE+JjUKY29uZmlndXJlOjEyNjQ5OjEwOiBmYXRhbCBlcnJvcjogJ1gxMS9leHRlbnNpb25zL3Nj cm5zYXZlci5oJyBmaWxlIG5vdCBmb3VuZAojaW5jbHVkZSA8WDExL2V4dGVuc2lvbnMvc2NybnNh dmVyLmg+CiAgICAgICAgIF4KMSBlcnJvciBnZW5lcmF0ZWQuCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgojbGluZSAxMjY0NyAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIK CiNpbmNsdWRlIDxYMTEvZXh0ZW5zaW9ucy9zY3Juc2F2ZXIuaD4KaW50IG1haW4oKSB7Cgo7IHJl dHVybiAwOyB9CmNvbmZpZ3VyZToxMjczODogY2hlY2tpbmcgZm9yIHB0aHJlYWRfY3JlYXRlIGlu IC1scHRocmVhZHMKY29uZmlndXJlOjEyNzU3OiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgIC1P MyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0 aC1lcnJubyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1J L3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2Nh bC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QuYyAt bHB0aHJlYWRzICAgMT4mNQovdXNyL2Jpbi9sZDogY2Fubm90IGZpbmQgLWxwdGhyZWFkcwpjYzog ZXJyb3I6IGxpbmtlciBjb21tYW5kIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxICh1c2UgLXYgdG8g c2VlIGludm9jYXRpb24pCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMjc0 NiAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogT3ZlcnJpZGUgYW55IGdjYzIg aW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KLyogV2UgdXNlIGNoYXIg YmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICAgYnVp bHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAg Ki8KY2hhciBwdGhyZWFkX2NyZWF0ZSgpOwoKaW50IG1haW4oKSB7CnB0aHJlYWRfY3JlYXRlKCkK OyByZXR1cm4gMDsgfQpjb25maWd1cmU6MTI3NzY6IGNoZWNraW5nIGZvciBwdGhyZWFkX2NyZWF0 ZSBpbiAtbHB0aHJlYWQKY29uZmlndXJlOjEyNzk1OiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUg IC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8t bWF0aC1lcnJubyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUg IC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9s b2NhbC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3Qu YyAtbHB0aHJlYWQgICAxPiY1CmNvbmZpZ3VyZToxMjkyNjogY2hlY2tpbmcgd2hldGhlciBjYyBh Y2NlcHRzIC1wdGhyZWFkCmNvbmZpZ3VyZToxMzA1NTogY2hlY2tpbmcgd2hldGhlciBjYyBuZWVk cyAtdHJhZGl0aW9uYWwKY29uZmlndXJlOjEzMDYyOjEwOiBmYXRhbCBlcnJvcjogJ3NndHR5Lmgn IGZpbGUgbm90IGZvdW5kCiNpbmNsdWRlIDxzZ3R0eS5oPgogICAgICAgICBeCjEgZXJyb3IgZ2Vu ZXJhdGVkLgpjb25maWd1cmU6MTMwODA6MTA6IGZhdGFsIGVycm9yOiAndGVybWlvLmgnIGZpbGUg bm90IGZvdW5kCiNpbmNsdWRlIDx0ZXJtaW8uaD4KICAgICAgICAgXgoxIGVycm9yIGdlbmVyYXRl ZC4KY29uZmlndXJlOjEzMTAxOiBjaGVja2luZyBmb3IgOC1iaXQgY2xlYW4gbWVtY21wCmNvbmZp Z3VyZToxMzExOTogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxp YXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1 bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1bnVzZWQt YXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVk ZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3IvbG9jYWwvbGliL2Zp cmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0ZXN0LmMgIDE+JjUKY29u ZmlndXJlOjEzMTExOjE6IHdhcm5pbmc6IHR5cGUgc3BlY2lmaWVyIG1pc3NpbmcsIGRlZmF1bHRz IHRvICdpbnQnIFstV2ltcGxpY2l0LWludF0KbWFpbigpCl5+fn4KY29uZmlndXJlOjEzMTE0OjM6 IHdhcm5pbmc6IGltcGxpY2l0bHkgZGVjbGFyaW5nIGxpYnJhcnkgZnVuY3Rpb24gJ2V4aXQnIHdp dGggdHlwZSAndm9pZCAoaW50KSBfX2F0dHJpYnV0ZV9fKChub3JldHVybikpJwogIGV4aXQobWVt Y21wKCZjMCwgJmMyLCAxKSA8IDAgJiYgbWVtY21wKCZjMSwgJmMyLCAxKSA8IDAgPyAwIDogMSk7 CiAgXgpjb25maWd1cmU6MTMxMTQ6Mzogbm90ZTogcGxlYXNlIGluY2x1ZGUgdGhlIGhlYWRlciA8 c3RkbGliLmg+IG9yIGV4cGxpY2l0bHkgcHJvdmlkZSBhIGRlY2xhcmF0aW9uIGZvciAnZXhpdCcK Y29uZmlndXJlOjEzMTE0Ojg6IHdhcm5pbmc6IGltcGxpY2l0bHkgZGVjbGFyaW5nIGxpYnJhcnkg ZnVuY3Rpb24gJ21lbWNtcCcgd2l0aCB0eXBlICdpbnQgKGNvbnN0IHZvaWQgKiwgY29uc3Qgdm9p ZCAqLCB1bnNpZ25lZCBpbnQpJwogIGV4aXQobWVtY21wKCZjMCwgJmMyLCAxKSA8IDAgJiYgbWVt Y21wKCZjMSwgJmMyLCAxKSA8IDAgPyAwIDogMSk7CiAgICAgICBeCmNvbmZpZ3VyZToxMzExNDo4 OiBub3RlOiBwbGVhc2UgaW5jbHVkZSB0aGUgaGVhZGVyIDxzdHJpbmcuaD4gb3IgZXhwbGljaXRs eSBwcm92aWRlIGEgZGVjbGFyYXRpb24gZm9yICdtZW1jbXAnCjMgd2FybmluZ3MgZ2VuZXJhdGVk Lgpjb25maWd1cmU6MTMxMzk6IGNoZWNraW5nIGZvciBzdGF0NjQKY29uZmlndXJlOjEzMTcxOiBj YyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdu dTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlv bnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtUXVudXNlZC1hcmd1bWVudHMgLWlz eXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAt TC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2wsLXos bm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QuYyAgMT4mNQovdG1wL2NvbmZ0ZXN0LTFj NDJhYy5vOiBJbiBmdW5jdGlvbiBgbWFpbic6CmNvbmZ0ZXN0LmM6KC50ZXh0Lm1haW4rMHg0KTog dW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgc3RhdDY0JwpjYzogZXJyb3I6IGxpbmtlciBjb21tYW5k IGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxICh1c2UgLXYgdG8gc2VlIGludm9jYXRpb24pCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMzE0NCAiY29uZmlndXJlIgojZGVmaW5l IHN0YXQ2NCBpbm5vY3VvdXNfc3RhdDY0CiNpbmNsdWRlICJjb25mZGVmcy5oIgojdW5kZWYgc3Rh dDY0Ci8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxs eSBmZXcgcHJvdG90eXBlcywKICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgc3RhdDY0 KCk7IGJlbG93LiAgKi8KI2RlZmluZSBzdGF0NjQgaW5ub2N1b3VzX3N0YXQ2NAojaW5jbHVkZSA8 YXNzZXJ0Lmg+CiN1bmRlZiBzdGF0NjQKLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJv dG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQg bWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICAgYnVpbHRpbiBhbmQgdGhl biBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBzdGF0 NjQoKTsKCmludCBtYWluKCkgewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZv ciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBF Tk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBz dGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYg ZGVmaW5lZCAoX19zdHViX3N0YXQ2NCkgfHwgZGVmaW5lZCAoX19zdHViX19fc3RhdDY0KQpjaG9r ZSBtZQojZWxzZQpzdGF0NjQoKTsKI2VuZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxMzEz OTogY2hlY2tpbmcgZm9yIGxzdGF0NjQKY29uZmlndXJlOjEzMTcxOiBjYyAtbyBjb25mdGVzdCAt TzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5s aW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rp b25zIC1mbm8tbWF0aC1lcnJubyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2Fs L2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGli IC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVds LC16LHRleHQgY29uZnRlc3QuYyAgMT4mNQovdG1wL2NvbmZ0ZXN0LWY2NjA2NC5vOiBJbiBmdW5j dGlvbiBgbWFpbic6CmNvbmZ0ZXN0LmM6KC50ZXh0Lm1haW4rMHg0KTogdW5kZWZpbmVkIHJlZmVy ZW5jZSB0byBgbHN0YXQ2NCcKY2M6IGVycm9yOiBsaW5rZXIgY29tbWFuZCBmYWlsZWQgd2l0aCBl eGl0IGNvZGUgMSAodXNlIC12IHRvIHNlZSBpbnZvY2F0aW9uKQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKI2xpbmUgMTMxNDQgImNvbmZpZ3VyZSIKI2RlZmluZSBsc3RhdDY0IGlubm9j dW91c19sc3RhdDY0CiNpbmNsdWRlICJjb25mZGVmcy5oIgojdW5kZWYgbHN0YXQ2NAovKiBTeXN0 ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3Rv dHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGxzdGF0NjQoKTsgYmVsb3cu ICAqLwojZGVmaW5lIGxzdGF0NjQgaW5ub2N1b3VzX2xzdGF0NjQKI2luY2x1ZGUgPGFzc2VydC5o PgojdW5kZWYgbHN0YXQ2NAovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUg dG8gYXZvaWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBt YXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBh cmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIGxzdGF0NjQoKTsK CmludCBtYWluKCkgewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5j dGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMu ICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGlu ZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5l ZCAoX19zdHViX2xzdGF0NjQpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX2xzdGF0NjQpCmNob2tlIG1l CiNlbHNlCmxzdGF0NjQoKTsKI2VuZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxMzEzOTog Y2hlY2tpbmcgZm9yIHRydW5jYXRlNjQKY29uZmlndXJlOjEzMTcxOiBjYyAtbyBjb25mdGVzdCAt TzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5s aW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rp b25zIC1mbm8tbWF0aC1lcnJubyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2Fs L2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGli IC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVds LC16LHRleHQgY29uZnRlc3QuYyAgMT4mNQovdG1wL2NvbmZ0ZXN0LWE1ZWY0NC5vOiBJbiBmdW5j dGlvbiBgbWFpbic6CmNvbmZ0ZXN0LmM6KC50ZXh0Lm1haW4rMHg0KTogdW5kZWZpbmVkIHJlZmVy ZW5jZSB0byBgdHJ1bmNhdGU2NCcKY2M6IGVycm9yOiBsaW5rZXIgY29tbWFuZCBmYWlsZWQgd2l0 aCBleGl0IGNvZGUgMSAodXNlIC12IHRvIHNlZSBpbnZvY2F0aW9uKQpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoKI2xpbmUgMTMxNDQgImNvbmZpZ3VyZSIKI2RlZmluZSB0cnVuY2F0ZTY0 IGlubm9jdW91c190cnVuY2F0ZTY0CiNpbmNsdWRlICJjb25mZGVmcy5oIgojdW5kZWYgdHJ1bmNh dGU2NAovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVs bHkgZmV3IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHRydW5j YXRlNjQoKTsgYmVsb3cuICAqLwojZGVmaW5lIHRydW5jYXRlNjQgaW5ub2N1b3VzX3RydW5jYXRl NjQKI2luY2x1ZGUgPGFzc2VydC5oPgojdW5kZWYgdHJ1bmNhdGU2NAovKiBPdmVycmlkZSBhbnkg Z2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2Ug Y2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAg ICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBw bHkuICAqLwpjaGFyIHRydW5jYXRlNjQoKTsKCmludCBtYWluKCkgewoKLyogVGhlIEdOVSBDIGxp YnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAg dG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkg bmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUg aXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19zdHViX3RydW5jYXRlNjQpIHx8IGRlZmlu ZWQgKF9fc3R1Yl9fX3RydW5jYXRlNjQpCmNob2tlIG1lCiNlbHNlCnRydW5jYXRlNjQoKTsKI2Vu ZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxMzEzOTogY2hlY2tpbmcgZm9yIHN0YXR2ZnM2 NApjb25maWd1cmU6MTMxNzE6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAgLU8zIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNp bmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1R dW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC1ycGF0aCwvdXNyL2xvY2Fs L2xpYi9maXJlZm94IC1XbCwteixub2V4ZWNzdGFjayAtV2wsLXosdGV4dCBjb25mdGVzdC5jICAx PiY1Ci90bXAvY29uZnRlc3QtNjY1NThhLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKY29uZnRlc3Qu YzooLnRleHQubWFpbisweDQpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzdGF0dmZzNjQnCmNj OiBlcnJvcjogbGlua2VyIGNvbW1hbmQgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEgKHVzZSAtdiB0 byBzZWUgaW52b2NhdGlvbikKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDEz MTQ0ICJjb25maWd1cmUiCiNkZWZpbmUgc3RhdHZmczY0IGlubm9jdW91c19zdGF0dmZzNjQKI2lu Y2x1ZGUgImNvbmZkZWZzLmgiCiN1bmRlZiBzdGF0dmZzNjQKLyogU3lzdGVtIGhlYWRlciB0byBk ZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hp Y2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBzdGF0dmZzNjQoKTsgYmVsb3cuICAqLwojZGVmaW5l IHN0YXR2ZnM2NCBpbm5vY3VvdXNfc3RhdHZmczY0CiNpbmNsdWRlIDxhc3NlcnQuaD4KI3VuZGVm IHN0YXR2ZnM2NAovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZv aWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0 aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVu dCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIHN0YXR2ZnM2NCgpOwoKaW50 IG1haW4oKSB7CgovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9u cyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNv bWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdp dGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBkZWZpbmVkIChf X3N0dWJfc3RhdHZmczY0KSB8fCBkZWZpbmVkIChfX3N0dWJfX19zdGF0dmZzNjQpCmNob2tlIG1l CiNlbHNlCnN0YXR2ZnM2NCgpOwojZW5kaWYKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjEzMTM5 OiBjaGVja2luZyBmb3Igc3RhdHZmcwpjb25maWd1cmU6MTMxNzE6IGNjIC1vIGNvbmZ0ZXN0IC1P MiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxp bmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlv bnMgLWZuby1tYXRoLWVycm5vIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwv aW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIg LVdsLC1ycGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94IC1XbCwteixub2V4ZWNzdGFjayAtV2ws LXosdGV4dCBjb25mdGVzdC5jICAxPiY1CmNvbmZpZ3VyZToxMzEzOTogY2hlY2tpbmcgZm9yIHN0 YXRmczY0CmNvbmZpZ3VyZToxMzE3MTogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlICAtTzMgLWZu by1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1h bGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJy bm8gLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3Iv bG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3Iv bG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0ZXN0 LmMgIDE+JjUKL3RtcC9jb25mdGVzdC1iOGMyYjgubzogSW4gZnVuY3Rpb24gYG1haW4nOgpjb25m dGVzdC5jOigudGV4dC5tYWluKzB4NCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHN0YXRmczY0 JwpjYzogZXJyb3I6IGxpbmtlciBjb21tYW5kIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxICh1c2Ug LXYgdG8gc2VlIGludm9jYXRpb24pCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGlu ZSAxMzE0NCAiY29uZmlndXJlIgojZGVmaW5lIHN0YXRmczY0IGlubm9jdW91c19zdGF0ZnM2NAoj aW5jbHVkZSAiY29uZmRlZnMuaCIKI3VuZGVmIHN0YXRmczY0Ci8qIFN5c3RlbSBoZWFkZXIgdG8g ZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAgIHdo aWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgc3RhdGZzNjQoKTsgYmVsb3cuICAqLwojZGVmaW5l IHN0YXRmczY0IGlubm9jdW91c19zdGF0ZnM2NAojaW5jbHVkZSA8YXNzZXJ0Lmg+CiN1bmRlZiBz dGF0ZnM2NAovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQg YW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUg cmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBw cm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIHN0YXRmczY0KCk7CgppbnQgbWFp bigpIHsKCi8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdo aWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBm dW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBf XyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9fc3R1 Yl9zdGF0ZnM2NCkgfHwgZGVmaW5lZCAoX19zdHViX19fc3RhdGZzNjQpCmNob2tlIG1lCiNlbHNl CnN0YXRmczY0KCk7CiNlbmRpZgoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MTMxMzk6IGNoZWNr aW5nIGZvciBzdGF0ZnMKY29uZmlndXJlOjEzMTcxOiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUg IC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8t bWF0aC1lcnJubyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUg IC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBh dGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQg Y29uZnRlc3QuYyAgMT4mNQpjb25maWd1cmU6MTMxMzk6IGNoZWNraW5nIGZvciBnZXRwYWdlc2l6 ZQpjb25maWd1cmU6MTMxNzE6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAgLU8zIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNp bmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1R dW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC1ycGF0aCwvdXNyL2xvY2Fs L2xpYi9maXJlZm94IC1XbCwteixub2V4ZWNzdGFjayAtV2wsLXosdGV4dCBjb25mdGVzdC5jICAx PiY1CmNvbmZpZ3VyZToxMzEzOTogY2hlY2tpbmcgZm9yIGxvY2FsdGltZV9yCmNvbmZpZ3VyZTox MzE3MTogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcg LXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9u LXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1bnVzZWQtYXJndW1l bnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRo cmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3IvbG9jYWwvbGliL2ZpcmVmb3gg LVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0ZXN0LmMgIDE+JjUKY29uZmlndXJl OjEzMTM5OiBjaGVja2luZyBmb3IgYXJjNHJhbmRvbQpjb25maWd1cmU6MTMxNzE6IGNjIC1vIGNv bmZ0ZXN0IC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZn bnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRh dGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91 c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9s b2NhbC9saWIgLVdsLC1ycGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94IC1XbCwteixub2V4ZWNz dGFjayAtV2wsLXosdGV4dCBjb25mdGVzdC5jICAxPiY1CmNvbmZpZ3VyZToxMzEzOTogY2hlY2tp bmcgZm9yIGFyYzRyYW5kb21fYnVmCmNvbmZpZ3VyZToxMzE3MTogY2MgLW8gY29uZnRlc3QgLU8y IC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGlu ZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9u cyAtZm5vLW1hdGgtZXJybm8gLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9p bmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAt V2wsLXJwYXRoLC91c3IvbG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwt eix0ZXh0IGNvbmZ0ZXN0LmMgIDE+JjUKY29uZmlndXJlOjEzMjAwOiBjaGVja2luZyBmb3IgY2xv Y2tfZ2V0dGltZShDTE9DS19NT05PVE9OSUMpCmNvbmZpZ3VyZToxMzIxNjogY2MgLW8gY29uZnRl c3QgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5 LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1z ZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9s b2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2Fs L2xpYiAtV2wsLXJwYXRoLC91c3IvbG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNr IC1XbCwteix0ZXh0IGNvbmZ0ZXN0LmMgICAxPiY1CmNvbmZpZ3VyZToxMzI1NzogY2hlY2tpbmcg Zm9yIHdjcnRvbWIKY29uZmlndXJlOjEzMjY5OiBjKysgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1P MyAtZm5vLXN0cmljdC1hbGlhc2luZyAgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4 Y2VwdGlvbnMgLWZuby1tYXRoLWVycm5vIC1zdGQ9Z251KysweCAtUXVudXNlZC1hcmd1bWVudHMg LWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFk ICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2ws LXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QuQyAgMT4mNQpjb25maWd1cmU6MTMy OTI6IGNoZWNraW5nIGZvciBtYnJ0b3djCmNvbmZpZ3VyZToxMzMwNDogYysrIC1vIGNvbmZ0ZXN0 IC1PMiAtcGlwZSAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1mbm8tZXhjZXB0aW9ucyAtZm5v LXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2Vj dGlvbnMgLWZuby1leGNlcHRpb25zIC1mbm8tbWF0aC1lcnJubyAtc3RkPWdudSsrMHggLVF1bnVz ZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5j bHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3IvbG9jYWwvbGli L2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0ZXN0LkMgIDE+JjUK Y29uZmlndXJlOjEzMzM2OiBjaGVja2luZyBmb3IgcmVzX25pbml0KCkKY29uZmlndXJlOjEzMzU5 OiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3Rk PWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2Vj dGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtUXVudXNlZC1hcmd1bWVudHMg LWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFk ICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2ws LXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QuYyAgMT4mNQpjb25maWd1cmU6MTMz OTk6IGNoZWNraW5nIGZvciBpY29udiBpbiAtbGMKY29uZmlndXJlOjEzNDIxOiBjKysgLW8gY29u ZnRlc3QgLU8yIC1waXBlIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAgLWZuby1leGNlcHRpb25z IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0 YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1tYXRoLWVycm5vIC1zdGQ9Z251KysweCAt UXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2Nh bC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QuQyAt bGMgICAxPiY1CmNvbmZpZ3VyZToxMzUzMDogY2hlY2tpbmcgZm9yIGljb252KCkKY29uZmlndXJl OjEzNTQ5OiBjKysgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1PMyAtZm5vLXN0cmljdC1hbGlhc2lu ZyAgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0 aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1tYXRoLWVy cm5vIC1zdGQ9Z251KysweCAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2lu Y2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1X bCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVdsLC16 LHRleHQgY29uZnRlc3QuQyAgIDE+JjUKL3RtcC9jb25mdGVzdC1jY2ZhMzgubzogSW4gZnVuY3Rp b24gYG1haW4nOgpjb25mdGVzdC5DOigudGV4dC5tYWluKzB4MTcpOiB1bmRlZmluZWQgcmVmZXJl bmNlIHRvIGBsaWJpY29udl9vcGVuJwpjb25mdGVzdC5DOigudGV4dC5tYWluKzB4NDEpOiB1bmRl ZmluZWQgcmVmZXJlbmNlIHRvIGBsaWJpY29udicKY29uZnRlc3QuQzooLnRleHQubWFpbisweDQ5 KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgbGliaWNvbnZfY2xvc2UnCmMrKzogZXJyb3I6IGxp bmtlciBjb21tYW5kIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxICh1c2UgLXYgdG8gc2VlIGludm9j YXRpb24pCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMzUzNSAiY29uZmln dXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKCiAgICAgICAgI2luY2x1ZGUgPHN0ZGxpYi5oPgog ICAgICAgICNpbmNsdWRlIDxpY29udi5oPgogICAgICAgIAppbnQgbWFpbigpIHsKCiAgICAgICAg ICAgIGljb252X3QgaCA9IGljb252X29wZW4oIiIsICIiKTsKICAgICAgICAgICAgaWNvbnYoaCwg TlVMTCwgTlVMTCwgTlVMTCwgTlVMTCk7CiAgICAgICAgICAgIGljb252X2Nsb3NlKGgpOwogICAg ICAgIAo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxMzYyNzogY2hlY2tpbmcgZm9yIG5sX2xhbmdp bmZvIGFuZCBDT0RFU0VUCmNvbmZpZ3VyZToxMzYzOTogYysrIC1vIGNvbmZ0ZXN0IC1PMiAtcGlw ZSAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1h bGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZu by1leGNlcHRpb25zIC1mbm8tbWF0aC1lcnJubyAtc3RkPWdudSsrMHggLVF1bnVzZWQtYXJndW1l bnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRo cmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3IvbG9jYWwvbGliL2ZpcmVmb3gg LVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0ZXN0LkMgIDE+JjUKY29uZmlndXJl OjEzNjc0OiBjaGVja2luZyBmb3IgYW4gaW1wbGVtZW50YXRpb24gb2YgdmFfY29weSgpCmNvbmZp Z3VyZToxMzY5NTogY2MgLWMgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0 ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNl Y3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1bnVzZWQtYXJndW1lbnRz IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVz dC5jIDE+JjUKY29uZmlndXJlOjEzNzExOiBjaGVja2luZyB3aGV0aGVyIHZhX2xpc3QgY2FuIGJl IGNvcGllZCBieSB2YWx1ZQpjb25maWd1cmU6MTM3MzI6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVy cm5vIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNy L2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMzgyODogY2hlY2tpbmcg d2hldGhlciB0aGUgQysrICJ1c2luZyIga2V5d29yZCByZXNvbHZlcyBhbWJpZ3VpdHkKY29uZmln dXJlOjEzODQ5OiBjKysgLWMgLU8yIC1waXBlIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAgLWZu by1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNl Y3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1tYXRoLWVycm5vIC1z dGQ9Z251KysweCAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUg IC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6MTM4NzM6IGNo ZWNraW5nIGZvciBDKysgZHluYW1pY19jYXN0IHRvIHZvaWQqCmNvbmZpZ3VyZToxMzkwMDogYysr IC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1mbm8tZXhj ZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9u cyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1mbm8tbWF0aC1lcnJubyAtc3RkPWdu dSsrMHggLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91 c3IvbG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0 ZXN0LkMgIDE+JjUKY29uZmlndXJlOjEzOTI2OiBjaGVja2luZyB3aGV0aGVyIEMrKyByZXF1aXJl cyBpbXBsZW1lbnRhdGlvbiBvZiB1bnVzZWQgdmlydHVhbCBtZXRob2RzCmNvbmZpZ3VyZToxMzkz ODogYysrIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1m bm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1z ZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1mbm8tbWF0aC1lcnJubyAt c3RkPWdudSsrMHggLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRl ICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJw YXRoLC91c3IvbG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0 IGNvbmZ0ZXN0LkMgIDE+JjUKY29uZmlndXJlOjEzOTY0OiBjaGVja2luZyBmb3IgdHJvdWJsZSBj b21wYXJpbmcgdG8gemVybyBuZWFyIHN0ZDo6b3BlcmF0b3IhPSgpCmNvbmZpZ3VyZToxMzk4MDog YysrIC1jIC1PMiAtcGlwZSAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1mbm8tZXhjZXB0aW9u cyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRh dGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1mbm8tbWF0aC1lcnJubyAtc3RkPWdudSsrMHgg LVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9j YWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJlOjE0MDEwOiBjaGVja2luZyBmb3Ig X190aHJlYWQga2V5d29yZCBmb3IgVExTIHZhcmlhYmxlcwpjb25maWd1cmU6MTQwMjI6IGMrKyAt byBjb25mdGVzdCAtTzIgLXBpcGUgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAtZm5vLWV4Y2Vw dGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMg LWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtZm5vLW1hdGgtZXJybm8gLXN0ZD1nbnUr KzB4IC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC1ycGF0aCwvdXNy L2xvY2FsL2xpYi9maXJlZm94IC1XbCwteixub2V4ZWNzdGFjayAtV2wsLXosdGV4dCAtZlBJQyAt c2hhcmVkICBjb25mdGVzdC5DICAxPiY1CmNvbmZpZ3VyZToxNDEwODogY2hlY2tpbmcgZm9yIG1h bGxvYy5oCmNvbmZpZ3VyZToxNDEwODogY2hlY2tpbmcgZm9yIG1hbGxvY19ucC5oCmNvbmZpZ3Vy ZToxNDEyMTogYysrIC1jIC1PMiAtcGlwZSAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1mbm8t ZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0 aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1mbm8tbWF0aC1lcnJubyAtc3Rk PWdudSsrMHggLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAt SS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJlOjE0MTU2OiBjaGVj a2luZyBmb3Igc3RybmR1cApjb25maWd1cmU6MTQxOTE6IGMrKyAtbyBjb25mdGVzdCAtTzIgLXBp cGUgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1m bm8tZXhjZXB0aW9ucyAtZm5vLW1hdGgtZXJybm8gLXN0ZD1nbnUrKzB4IC1RdW51c2VkLWFyZ3Vt ZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0 aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC1ycGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94 IC1XbCwteixub2V4ZWNzdGFjayAtV2wsLXosdGV4dCBjb25mdGVzdC5DICAxPiY1CmNvbmZpZ3Vy ZToxNDE1NjogY2hlY2tpbmcgZm9yIHBvc2l4X21lbWFsaWduCmNvbmZpZ3VyZToxNDE5MTogYysr IC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1mbm8tZXhj ZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9u cyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1mbm8tbWF0aC1lcnJubyAtc3RkPWdu dSsrMHggLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91 c3IvbG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0 ZXN0LkMgIDE+JjUKY29uZmlndXJlOjE0MTU2OiBjaGVja2luZyBmb3IgbWVtYWxpZ24KY29uZmln dXJlOjE0MTkxOiBjKysgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1PMyAtZm5vLXN0cmljdC1hbGlh c2luZyAgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1 bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1tYXRo LWVycm5vIC1zdGQ9Z251KysweCAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2Fs L2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGli IC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVds LC16LHRleHQgY29uZnRlc3QuQyAgMT4mNQovdG1wL2NvbmZ0ZXN0LWVkMDhlYS5vOiBJbiBmdW5j dGlvbiBgbWFpbic6CmNvbmZ0ZXN0LkM6KC50ZXh0Lm1haW4rMHg0KTogdW5kZWZpbmVkIHJlZmVy ZW5jZSB0byBgbWVtYWxpZ24nCmMrKzogZXJyb3I6IGxpbmtlciBjb21tYW5kIGZhaWxlZCB3aXRo IGV4aXQgY29kZSAxICh1c2UgLXYgdG8gc2VlIGludm9jYXRpb24pCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOgojbGluZSAxNDE2MSAiY29uZmlndXJlIgojZGVmaW5lIG1lbWFsaWduIGlu bm9jdW91c19tZW1hbGlnbgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI3VuZGVmIG1lbWFsaWduCi8q IFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcg cHJvdG90eXBlcywKICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgbWVtYWxpZ24oKTsg YmVsb3cuICAqLwojZGVmaW5lIG1lbWFsaWduIGlubm9jdW91c19tZW1hbGlnbgojaW5jbHVkZSA8 YXNzZXJ0Lmg+CiN1bmRlZiBtZW1hbGlnbgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBw cm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwojaWZkZWYgX19jcGx1c3BsdXMKZXh0ZXJu ICJDIgojZW5kaWYKLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJl dHVybiB0eXBlIG9mIGEgZ2NjMgogICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJv dG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBtZW1hbGlnbigpOwoKaW50IG1haW4o KSB7CgovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGlj aCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVu Y3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18g YW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBkZWZpbmVkIChfX3N0dWJf bWVtYWxpZ24pIHx8IGRlZmluZWQgKF9fc3R1Yl9fX21lbWFsaWduKQpjaG9rZSBtZQojZWxzZQpt ZW1hbGlnbigpOwojZW5kaWYKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjE0MTU2OiBjaGVja2lu ZyBmb3IgdmFsbG9jCmNvbmZpZ3VyZToxNDE5MTogYysrIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAt TzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlh c2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1l eGNlcHRpb25zIC1mbm8tbWF0aC1lcnJubyAtc3RkPWdudSsrMHggLVF1bnVzZWQtYXJndW1lbnRz IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVh ZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3IvbG9jYWwvbGliL2ZpcmVmb3ggLVds LC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0ZXN0LkMgIDE+JjUKY29uZmlndXJlOjE0 MjIyOiBjaGVja2luZyBmb3IgbWFsbG9jX3VzYWJsZV9zaXplCmNvbmZpZ3VyZToxNDI1NzogYysr IC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1mbm8tZXhj ZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9u cyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1mbm8tbWF0aC1lcnJubyAtc3RkPWdu dSsrMHggLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91 c3IvbG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0 ZXN0LkMgIDE+JjUKY29uZmlndXJlOjE0Mjg3OiBjaGVja2luZyBmb3IgX19hdHRyaWJ1dGVfXygo YWx3YXlzX2lubGluZSkpCmNvbmZpZ3VyZToxNDI5OTogYysrIC1jIC1PMiAtcGlwZSAtTzMgLWZu by1zdHJpY3QtYWxpYXNpbmcgIC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAt Zm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRp b25zIC1mbm8tbWF0aC1lcnJubyAtc3RkPWdudSsrMHggLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lz dGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+ JjUKY29uZmlndXJlOjE0MzE0OiBjaGVja2luZyBmb3IgX19hdHRyaWJ1dGVfXygobWFsbG9jKSkK Y29uZmlndXJlOjE0MzI2OiBjKysgLWMgLU8yIC1waXBlIC1PMyAtZm5vLXN0cmljdC1hbGlhc2lu ZyAgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0 aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1tYXRoLWVy cm5vIC1zdGQ9Z251KysweCAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2lu Y2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6MTQz NDE6IGNoZWNraW5nIGZvciBfX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKQpjb25m aWd1cmU6MTQzNTM6IGMrKyAtYyAtTzIgLXBpcGUgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAt Zm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24t c2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtZm5vLW1hdGgtZXJybm8g LXN0ZD1nbnUrKzB4IC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVk ZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1CmNvbmZpZ3VyZToxNDM3Nzog Y2hlY2tpbmcgZm9yIExDX01FU1NBR0VTCmNvbmZpZ3VyZToxNDM4OTogY2MgLWMgLU8yIC1waXBl ICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5v LXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5v LW1hdGgtZXJybm8gLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRl ICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjE0NDE1OiBj aGVja2luZyBmb3IgbG9jYWxlY29udgpjb25maWd1cmU6MTQ0NDc6IGNjIC1vIGNvbmZ0ZXN0IC1P MiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxp bmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlv bnMgLWZuby1tYXRoLWVycm5vIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwv aW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIg LVdsLC1ycGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94IC1XbCwteixub2V4ZWNzdGFjayAtV2ws LXosdGV4dCBjb25mdGVzdC5jICAxPiY1CmNvbmZpZ3VyZToxNDY0NDogY2hlY2tpbmcgTlNQUiBz ZWxlY3Rpb24KY29uZmlndXJlOjE0NzQ4OiBjaGVja2luZyBmb3IgbnNwci1jb25maWcKY29uZmln dXJlOjE0NzgzOiBjaGVja2luZyBmb3IgTlNQUiAtIHZlcnNpb24gPj0gNC4xMC4zCmNvbmZpZ3Vy ZToxNDg1MTogY2MgLWMgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1n bnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rp b25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLUkvdXNyL2xvY2FsL2luY2x1ZGUv bnNwciAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTQ4NzA6IGNjIC1jIC1P MiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxp bmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlv bnMgLWZuby1tYXRoLWVycm5vIC1JL3Vzci9sb2NhbC9pbmNsdWRlL25zcHIgLVF1bnVzZWQtYXJn dW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBj b25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjE0OTE0OiBjYyAtYyAtTzIgLXBpcGUgIC1PMyAtZm5v LXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJu byAtSS91c3IvbG9jYWwvaW5jbHVkZS9uc3ByIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91 c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNv bmZpZ3VyZToxNTA1NjogY2hlY2tpbmcgZm9yIGxpYmV2ZW50CmNvbmZpZ3VyZToxNTA2MzogY2hl Y2tpbmcgTU9aX0xJQkVWRU5UX0NGTEFHUwpjb25maWd1cmU6MTUwNjg6IGNoZWNraW5nIE1PWl9M SUJFVkVOVF9MSUJTCmNvbmZpZ3VyZToxNTI0MzogY2hlY2tpbmcgZm9yIG5zcy1jb25maWcKY29u ZmlndXJlOjE1Mjc4OiBjaGVja2luZyBmb3IgTlNTIC0gdmVyc2lvbiA+PSAzLjE3LjEKY29uZmln dXJlOjE1MzQ1OiBjaGVja2luZyBmb3IgWUFTTSBhc3NlbWJsZXIKY29uZmlndXJlOjE1MzUxOiBj aGVja2luZyBmb3IgeWFzbQpjb25maWd1cmU6MTU0MDk6IGNoZWNraW5nIGZvciBqcGVnX2Rlc3Ry b3lfY29tcHJlc3MgaW4gLWxqcGVnCmNvbmZpZ3VyZToxNTQyODogY2MgLW8gY29uZnRlc3QgLUkv dXNyL2xvY2FsL2luY2x1ZGUgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0 ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNl Y3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1bnVzZWQtYXJndW1lbnRz IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtTC91c3Iv bG9jYWwvbGliIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2Nh bC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QuYyAt bGpwZWcgICAxPiY1CmNvbmZpZ3VyZToxNTQ2NDogY2MgLWMgLUkvdXNyL2xvY2FsL2luY2x1ZGUg LU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlu bGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0 aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2Nh bC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJl OjE1NTExOiBjaGVja2luZyBmb3IgZ3pyZWFkIGluIC1segpjb25maWd1cmU6MTU1MzA6IGNjIC1v IGNvbmZ0ZXN0IC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkg LWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAt ZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3Rl bS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vz ci9sb2NhbC9saWIgLVdsLC1ycGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94IC1XbCwteixub2V4 ZWNzdGFjayAtV2wsLXosdGV4dCBjb25mdGVzdC5jIC1seiAgIDE+JjUKY29uZmlndXJlOjE1NTY1 OiBjYyAtYyAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1m Z251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZk YXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0v dXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpj b25maWd1cmU6MTU2MTg6IGNoZWNraW5nIGZvciBCWjJfYnpyZWFkIGluIC1sYnoyCmNvbmZpZ3Vy ZToxNTYzNzogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNp bmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0 aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1bnVzZWQtYXJn dW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAt cHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3IvbG9jYWwvbGliL2ZpcmVm b3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0ZXN0LmMgLWxiejIgICAxPiY1 CmNvbmZpZ3VyZToxNTY4NjogY2hlY2tpbmcgZm9yIHBuZ19nZXRfdmFsaWQgaW4gLWxwbmcKY29u ZmlndXJlOjE1NzA1OiBjYyAtbyBjb25mdGVzdCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtTzIgLXBp cGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1m bm8tbWF0aC1lcnJubyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1 ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2NhbC9saWIgLXB0aHJlYWQgIC1ML3Vz ci9sb2NhbC9saWIgLVdsLC1ycGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94IC1XbCwteixub2V4 ZWNzdGFjayAtV2wsLXosdGV4dCBjb25mdGVzdC5jIC1scG5nICAgMT4mNQpjb25maWd1cmU6MTU3 Mjc6IGNoZWNraW5nIGZvciBwbmdfZ2V0X2FjVEwgaW4gLWxwbmcKY29uZmlndXJlOjE1NzQ2OiBj YyAtbyBjb25mdGVzdCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0 cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAt UXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIC1ML3Vzci9sb2NhbC9saWIgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLVds LC1ycGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94IC1XbCwteixub2V4ZWNzdGFjayAtV2wsLXos dGV4dCBjb25mdGVzdC5jIC1scG5nICAgMT4mNQpjb25maWd1cmU6MTU3OTQ6IGNjIC1jIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9 Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0 aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1RdW51c2VkLWFyZ3VtZW50cyAt aXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3Qu YyAxPiY1CmNvbmZpZ3VyZToxNTkwNzogY2hlY2tpbmcgZm9yIGh1bnNwZWxsCmNvbmZpZ3VyZTox NTkxNDogY2hlY2tpbmcgTU9aX0hVTlNQRUxMX0NGTEFHUwpjb25maWd1cmU6MTU5MTk6IGNoZWNr aW5nIE1PWl9IVU5TUEVMTF9MSUJTCmNvbmZpZ3VyZToxNjExMzogY2hlY2tpbmcgZm9yIGxpYmZm aSA+PSAzLjAuOQpjb25maWd1cmU6MTYxMjA6IGNoZWNraW5nIE1PWl9GRklfQ0ZMQUdTCmNvbmZp Z3VyZToxNjEyNTogY2hlY2tpbmcgTU9aX0ZGSV9MSUJTCmNvbmZpZ3VyZToxNjM0NjogY2hlY2tp bmcgZm9yIGFwcGxpY2F0aW9uIHRvIGJ1aWxkCmNvbmZpZ3VyZToxNjQzMTogY2hlY2tpbmcgaWYg YXBwLXNwZWNpZmljIGNvbmZ2YXJzLnNoIGV4aXN0cwpjb25maWd1cmU6MTc0MTk6IGNoZWNraW5n IGZvciBndGsrLTIuMCA+PSAyLjEwLjAgZ3RrKy11bml4LXByaW50LTIuMCBnbGliLTIuMCBnb2Jq ZWN0LTIuMCBnZGsteDExLTIuMApjb25maWd1cmU6MTc0MjY6IGNoZWNraW5nIE1PWl9HVEsyX0NG TEFHUwpjb25maWd1cmU6MTc0MzE6IGNoZWNraW5nIE1PWl9HVEsyX0xJQlMKY29uZmlndXJlOjE3 NTU3OiBjaGVja2luZyBmb3IgbGlic3RhcnR1cC1ub3RpZmljYXRpb24tMS4wID49IDAuOApjb25m aWd1cmU6MTc1NjQ6IGNoZWNraW5nIE1PWl9TVEFSVFVQX05PVElGSUNBVElPTl9DRkxBR1MKY29u ZmlndXJlOjE3NTY5OiBjaGVja2luZyBNT1pfU1RBUlRVUF9OT1RJRklDQVRJT05fTElCUwpjb25m aWd1cmU6MTg4NTg6IGNoZWNraW5nIGZvciBwYW5nbyA+PSAxLjIyLjAKY29uZmlndXJlOjE4ODY1 OiBjaGVja2luZyBfUEFOR09DSEtfQ0ZMQUdTCmNvbmZpZ3VyZToxODg3MDogY2hlY2tpbmcgX1BB TkdPQ0hLX0xJQlMKY29uZmlndXJlOjE4OTUwOiBjaGVja2luZyBmb3IgcGFuZ28gPj0gMS4yMi4w IHBhbmdvZnQyID49IDEuMjIuMCBwYW5nb2NhaXJvID49IDEuMjIuMApjb25maWd1cmU6MTg5NTc6 IGNoZWNraW5nIE1PWl9QQU5HT19DRkxBR1MKY29uZmlndXJlOjE4OTYyOiBjaGVja2luZyBNT1pf UEFOR09fTElCUwpjb25maWd1cmU6MTkxOTk6IGNoZWNraW5nIGZvciBndGsrLTIuMCA+PSAyLjE0 CmNvbmZpZ3VyZToxOTIwNjogY2hlY2tpbmcgX0dUS0NIRUNLX0NGTEFHUwpjb25maWd1cmU6MTky MTE6IGNoZWNraW5nIF9HVEtDSEVDS19MSUJTCmNvbmZpZ3VyZToxOTI5MTogY2hlY2tpbmcgZm9y IGdpby0yLjAgPj0gMi4yMApjb25maWd1cmU6MTkyOTg6IGNoZWNraW5nIE1PWl9HSU9fQ0ZMQUdT CmNvbmZpZ3VyZToxOTMwMzogY2hlY2tpbmcgTU9aX0dJT19MSUJTCmNvbmZpZ3VyZToxOTgyMDog Y2hlY2tpbmcgZm9yIGRidXMtMSA+PSAwLjYwCmNvbmZpZ3VyZToxOTgyNzogY2hlY2tpbmcgTU9a X0RCVVNfQ0ZMQUdTCmNvbmZpZ3VyZToxOTgzMjogY2hlY2tpbmcgTU9aX0RCVVNfTElCUwpjb25m aWd1cmU6MTk5MTE6IGNoZWNraW5nIGZvciBkYnVzLWdsaWItMSA+PSAwLjYwCmNvbmZpZ3VyZTox OTkxODogY2hlY2tpbmcgTU9aX0RCVVNfR0xJQl9DRkxBR1MKY29uZmlndXJlOjE5OTIzOiBjaGVj a2luZyBNT1pfREJVU19HTElCX0xJQlMKY29uZmlndXJlOjIwMTQ4OiBjYyAtYyAtTzIgLXBpcGUg IC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8t bWF0aC1lcnJubyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUg IC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MjAxNDI6MTA6 IGZhdGFsIGVycm9yOiAnbGludXgvZXRodG9vbC5oJyBmaWxlIG5vdCBmb3VuZAojaW5jbHVkZSA8 bGludXgvZXRodG9vbC5oPgogICAgICAgICBeCjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMjAxNDEgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNv bmZkZWZzLmgiCiNpbmNsdWRlIDxsaW51eC9ldGh0b29sLmg+CmludCBtYWluKCkgewogc3RydWN0 IGV0aHRvb2xfY21kIGNtZDsgY21kLnNwZWVkX2hpID0gMDsgCjsgcmV0dXJuIDA7IH0KY29uZmln dXJlOjIwMjUzOiBjaGVja2luZyBmb3IgbGlidjRsMgpjb25maWd1cmU6MjAyNjA6IGNoZWNraW5n IE1PWl9MSUJWNEwyX0NGTEFHUwpjb25maWd1cmU6MjAyNjU6IGNoZWNraW5nIE1PWl9MSUJWNEwy X0xJQlMKY29uZmlndXJlOjIwNDE2OiBjaGVja2luZyBfX2F0dHJpYnV0ZV9fICgoYWxpZ25lZCAo KSkpIHN1cHBvcnQKY29uZmlndXJlOjIwNDMzOiBjYyAtYyAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0 cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAt V2Vycm9yIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkv dXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToyMDUyNDogY2hlY2tp bmcgZm9yIG9nZyA+PSAxLjIuMQpjb25maWd1cmU6MjA1MzE6IGNoZWNraW5nIE1PWl9PR0dfQ0ZM QUdTCmNvbmZpZ3VyZToyMDUzNjogY2hlY2tpbmcgTU9aX09HR19MSUJTCmNvbmZpZ3VyZToyMDU2 OTogY2hlY2tpbmcgZm9yIG9nZ19zZXRfbWVtX2Z1bmN0aW9ucwpjb25maWd1cmU6MjA2MDE6IGNj IC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251 OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9u cyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5 c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1M L3Vzci9sb2NhbC9saWIgLVdsLC1ycGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94IC1XbCwteixu b2V4ZWNzdGFjayAtV2wsLXosdGV4dCBjb25mdGVzdC5jICAtTC91c3IvbG9jYWwvbGliIC1sb2dn ICAgMT4mNQovdG1wL2NvbmZ0ZXN0LWI1NWM2Ni5vOiBJbiBmdW5jdGlvbiBgbWFpbic6CmNvbmZ0 ZXN0LmM6KC50ZXh0Lm1haW4rMHg0KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgb2dnX3NldF9t ZW1fZnVuY3Rpb25zJwpjYzogZXJyb3I6IGxpbmtlciBjb21tYW5kIGZhaWxlZCB3aXRoIGV4aXQg Y29kZSAxICh1c2UgLXYgdG8gc2VlIGludm9jYXRpb24pCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOgojbGluZSAyMDU3NCAiY29uZmlndXJlIgojZGVmaW5lIG9nZ19zZXRfbWVtX2Z1bmN0 aW9ucyBpbm5vY3VvdXNfb2dnX3NldF9tZW1fZnVuY3Rpb25zCiNpbmNsdWRlICJjb25mZGVmcy5o IgojdW5kZWYgb2dnX3NldF9tZW1fZnVuY3Rpb25zCi8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5l IF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAgIHdoaWNoIGNh biBjb25mbGljdCB3aXRoIGNoYXIgb2dnX3NldF9tZW1fZnVuY3Rpb25zKCk7IGJlbG93LiAgKi8K I2RlZmluZSBvZ2dfc2V0X21lbV9mdW5jdGlvbnMgaW5ub2N1b3VzX29nZ19zZXRfbWVtX2Z1bmN0 aW9ucwojaW5jbHVkZSA8YXNzZXJ0Lmg+CiN1bmRlZiBvZ2dfc2V0X21lbV9mdW5jdGlvbnMKLyog T3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAg Ki8KLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBl IG9mIGEgZ2NjMgogICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdv dWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBvZ2dfc2V0X21lbV9mdW5jdGlvbnMoKTsKCmludCBt YWluKCkgewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMg d2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21l IGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRo IF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19z dHViX29nZ19zZXRfbWVtX2Z1bmN0aW9ucykgfHwgZGVmaW5lZCAoX19zdHViX19fb2dnX3NldF9t ZW1fZnVuY3Rpb25zKQpjaG9rZSBtZQojZWxzZQpvZ2dfc2V0X21lbV9mdW5jdGlvbnMoKTsKI2Vu ZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToyMDY5OTogY2hlY2tpbmcgZm9yIHZvcmJpcyB2 b3JiaXNlbmMgPj0gMS4zLjQKY29uZmlndXJlOjIwNzA2OiBjaGVja2luZyBNT1pfVk9SQklTX0NG TEFHUwpjb25maWd1cmU6MjA3MTE6IGNoZWNraW5nIE1PWl9WT1JCSVNfTElCUwpjb25maWd1cmU6 MjA5MzY6IGNoZWNraW5nIGZvciBvcHVzID49IDEuMQpjb25maWd1cmU6MjA5NDM6IGNoZWNraW5n IE1PWl9PUFVTX0NGTEFHUwpjb25maWd1cmU6MjA5NDg6IGNoZWNraW5nIE1PWl9PUFVTX0xJQlMK Y29uZmlndXJlOjIxMjc0OiBjaGVja2luZyBmb3Igc291bmR0b3VjaCA+PSAxLjguMApjb25maWd1 cmU6MjEyODE6IGNoZWNraW5nIE1PWl9TT1VORFRPVUNIX0NGTEFHUwpjb25maWd1cmU6MjEyODY6 IGNoZWNraW5nIE1PWl9TT1VORFRPVUNIX0xJQlMKY29uZmlndXJlOjIxMzI3OiBjaGVja2luZyBm b3Igc291bmR0b3VjaCBzYW1wbGUgdHlwZQpjb25maWd1cmU6MjEzNDI6IGMrKyAtYyAtTzIgLXBp cGUgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1m bm8tZXhjZXB0aW9ucyAtZm5vLW1hdGgtZXJybm8gLXN0ZD1nbnUrKzB4IC1JL3Vzci9sb2NhbC9p bmNsdWRlL3NvdW5kdG91Y2ggICAgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2Nh bC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJl OjIxMzM1OjM4OiBlcnJvcjogc291bmR0b3VjaCBleHBlY3RzIGZsb2F0IHNhbXBsZXMKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2Vycm9yIHNvdW5kdG91Y2ggZXhwZWN0cyBm bG9hdCBzYW1wbGVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCjEgZXJy b3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMjEzMzIg ImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCiNpbmNsdWRlIDxTb3VuZFRvdWNoLmg+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNpZm5kZWYgU09VTkRUT1VDSF9J TlRFR0VSX1NBTVBMRVMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2Vycm9y IHNvdW5kdG91Y2ggZXhwZWN0cyBmbG9hdCBzYW1wbGVzCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICNlbmRpZgppbnQgbWFpbigpIHsKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJl OjIxNzMwOiBjaGVja2luZyBmb3IgdnB4ID49IDEuMy4wCmNvbmZpZ3VyZToyMTczNzogY2hlY2tp bmcgTU9aX0xJQlZQWF9DRkxBR1MKY29uZmlndXJlOjIxNzQyOiBjaGVja2luZyBNT1pfTElCVlBY X0xJQlMKY29uZmlndXJlOjIxNzc3OiBjaGVja2luZyBmb3IgdnB4L3ZweF9kZWNvZGVyLmgKY29u ZmlndXJlOjIxNzkwOiBjYyAtYyAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAt c3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24t c2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtSS91c3IvbG9jYWwvaW5j bHVkZSAgIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkv dXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToyMTgxMjogY2hlY2tp bmcgZm9yIHZweF9jb2RlY19kZWNfaW5pdF92ZXIgaW4gLWx2cHgKY29uZmlndXJlOjIxODMxOiBj YyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdu dTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlv bnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtSS91c3IvbG9jYWwvaW5jbHVkZSAg IC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC1ycGF0aCwvdXNyL2xv Y2FsL2xpYi9maXJlZm94IC1XbCwteixub2V4ZWNzdGFjayAtV2wsLXosdGV4dCBjb25mdGVzdC5j IC1sdnB4ICAgLUwvdXNyL2xvY2FsL2xpYiAtbHZweCAtbG0gICAxPiY1CmNvbmZpZ3VyZToyMTg2 NTogY2hlY2tpbmcgZm9yIHZweF9tZW0vdnB4X21lbS5oCmNvbmZpZ3VyZToyMTg3ODogY2MgLWMg LU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlu bGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0 aW9ucyAtZm5vLW1hdGgtZXJybm8gLUkvdXNyL2xvY2FsL2luY2x1ZGUgICAtUXVudXNlZC1hcmd1 bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNv bmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MjE4NzI6MTA6IGZhdGFsIGVycm9yOiAndnB4X21lbS92 cHhfbWVtLmgnIGZpbGUgbm90IGZvdW5kCiNpbmNsdWRlIDx2cHhfbWVtL3ZweF9tZW0uaD4KICAg ICAgICAgXgoxIGVycm9yIGdlbmVyYXRlZC4KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CiNsaW5lIDIxODcwICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoKI2luY2x1ZGUg PHZweF9tZW0vdnB4X21lbS5oPgppbnQgbWFpbigpIHsKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJl OjIyMTU3OiBjaGVja2luZyBNT1pfT1NTX0NGTEFHUwpjb25maWd1cmU6MjIxNzU6IGNoZWNraW5n IGZvciBzeXMvc291bmRjYXJkLmgKY29uZmlndXJlOjIyMTg4OiBjYyAtYyAtTzIgLXBpcGUgIC1P MyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0 aC1lcnJubyAgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAt SS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjIyMTc1OiBjaGVj a2luZyBmb3IgbGludXgvc291bmRjYXJkLmgKY29uZmlndXJlOjIyMTg4OiBjYyAtYyAtTzIgLXBp cGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1m bm8tbWF0aC1lcnJubyAgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNs dWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjIyMTgy OjEwOiBmYXRhbCBlcnJvcjogJ2xpbnV4L3NvdW5kY2FyZC5oJyBmaWxlIG5vdCBmb3VuZAojaW5j bHVkZSA8bGludXgvc291bmRjYXJkLmg+CiAgICAgICAgIF4KMSBlcnJvciBnZW5lcmF0ZWQuCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAyMjE4MCAiY29uZmlndXJlIgojaW5j bHVkZSAiY29uZmRlZnMuaCIKCiNpbmNsdWRlIDxsaW51eC9zb3VuZGNhcmQuaD4KaW50IG1haW4o KSB7Cgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToyMjE3NTogY2hlY2tpbmcgZm9yIHNvdW5kY2Fy ZC5oCmNvbmZpZ3VyZToyMjE4ODogY2MgLWMgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxp YXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1 bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gIC1RdW51c2Vk LWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToyMjE4MjoxMDogZmF0YWwgZXJyb3I6ICdzb3Vu ZGNhcmQuaCcgZmlsZSBub3QgZm91bmQKI2luY2x1ZGUgPHNvdW5kY2FyZC5oPgogICAgICAgICBe CjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUg MjIxODAgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCgojaW5jbHVkZSA8c291bmRj YXJkLmg+CmludCBtYWluKCkgewoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MjIyMjU6IGNoZWNr aW5nIGZvciBfb3NzX2lvY3RsIGluIC1sb3NzYXVkaW8KY29uZmlndXJlOjIyMjQ0OiBjYyAtbyBj b25mdGVzdCAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1m Z251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZk YXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVt L3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNy L2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3IvbG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhl Y3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0ZXN0LmMgLWxvc3NhdWRpbyAgIDE+JjUKL3Vzci9iaW4v bGQ6IGNhbm5vdCBmaW5kIC1sb3NzYXVkaW8KY2M6IGVycm9yOiBsaW5rZXIgY29tbWFuZCBmYWls ZWQgd2l0aCBleGl0IGNvZGUgMSAodXNlIC12IHRvIHNlZSBpbnZvY2F0aW9uKQpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMjIyMzMgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNv bmZkZWZzLmgiCi8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9p ZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRo ZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50 IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgX29zc19pb2N0bCgpOwoKaW50 IG1haW4oKSB7Cl9vc3NfaW9jdGwoKQo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToyMjM2MTogY2hl Y2tpbmcgZm9yIGFsc2EKY29uZmlndXJlOjIyMzY4OiBjaGVja2luZyBNT1pfQUxTQV9DRkxBR1MK Y29uZmlndXJlOjIyMzczOiBjaGVja2luZyBNT1pfQUxTQV9MSUJTCmNvbmZpZ3VyZToyMjYzMTog Y2hlY2tpbmcgZm9yIGdzdHJlYW1lci0xLjAgPj0gMS4wCiAgICAgICAgICAgICAgICAgICAgICBn c3RyZWFtZXItYXBwLTEuMAogICAgICAgICAgICAgICAgICAgICAgZ3N0cmVhbWVyLXBsdWdpbnMt YmFzZS0xLjAKY29uZmlndXJlOjIyNjQyOiBjaGVja2luZyBHU1RSRUFNRVJfQ0ZMQUdTCmNvbmZp Z3VyZToyMjY0OTogY2hlY2tpbmcgR1NUUkVBTUVSX0xJQlMKY29uZmlndXJlOjIyNjk2OiBjYyAt byBjb25mdGVzdCAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5 IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMg LWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0 ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91 c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2wsLXosbm9l eGVjc3RhY2sgLVdsLC16LHRleHQgLWxnc3RhcHAtMS4wIC1sZ3N0YmFzZS0xLjAgLWxnc3RyZWFt ZXItMS4wIC1sZ29iamVjdC0yLjAgLUwvdXNyL2xvY2FsL2xpYiAtbGdsaWItMi4wIC1saW50bCAg IC1sZ3N0dmlkZW8tMS4wIGNvbmZ0ZXN0LmMgIDE+JjUKY29uZmlndXJlOjIyODMxOiBjaGVja2lu ZyBmb3IgamF2YQpjb25maWd1cmU6MjI4ODA6IGNoZWNraW5nIGZvciBqYXZhYwpjb25maWd1cmU6 MjI5Mjk6IGNoZWNraW5nIGZvciBqYXZhaApjb25maWd1cmU6MjI5Nzg6IGNoZWNraW5nIGZvciBq YXIKY29uZmlndXJlOjIzMDI3OiBjaGVja2luZyBmb3IgamFyc2lnbmVyCmNvbmZpZ3VyZToyMzA3 NjogY2hlY2tpbmcgZm9yIGtleXRvb2wKY29uZmlndXJlOjI0MDQyOiBjaGVja2luZyBmb3IgZ251 dGFyCmNvbmZpZ3VyZToyNDA0MjogY2hlY2tpbmcgZm9yIGd0YXIKY29uZmlndXJlOjI0MDQyOiBj aGVja2luZyBmb3IgdGFyCmNvbmZpZ3VyZToyNDA4MjogY2hlY2tpbmcgZm9yIHdnZXQKY29uZmln dXJlOjI0NTQ3OiBjaGVja2luZyBmb3Igc3FsaXRlMyA+PSAzLjguNQpjb25maWd1cmU6MjQ1NTQ6 IGNoZWNraW5nIFNRTElURV9DRkxBR1MKY29uZmlndXJlOjI0NTU5OiBjaGVja2luZyBTUUxJVEVf TElCUwpjb25maWd1cmU6MjQ1OTA6IGNoZWNraW5nIGZvciBTUUxJVEVfU0VDVVJFX0RFTEVURSBz dXBwb3J0IGluIHN5c3RlbSBTUUxpdGUKY29uZmlndXJlOjI0NjEzOiBjYyAtbyBjb25mdGVzdCAt TzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5s aW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rp b25zIC1mbm8tbWF0aC1lcnJubyAtSS91c3IvbG9jYWwvaW5jbHVkZSAgIC1RdW51c2VkLWFyZ3Vt ZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0 aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC1ycGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94 IC1XbCwteixub2V4ZWNzdGFjayAtV2wsLXosdGV4dCBjb25mdGVzdC5jICAtTC91c3IvbG9jYWwv bGliIC1sc3FsaXRlMyAgIDE+JjUKY29uZmlndXJlOjI0NjM2OiBjaGVja2luZyBmb3IgU1FMSVRF X1RIUkVBRFNBRkUgc3VwcG9ydCBpbiBzeXN0ZW0gU1FMaXRlCmNvbmZpZ3VyZToyNDY1OTogY2Mg LW8gY29uZnRlc3QgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5 OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25z IC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLUkvdXNyL2xvY2FsL2luY2x1ZGUgICAt UXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2Nh bC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QuYyAg LUwvdXNyL2xvY2FsL2xpYiAtbHNxbGl0ZTMgICAxPiY1CmNvbmZpZ3VyZToyNDY4MjogY2hlY2tp bmcgZm9yIFNRTElURV9FTkFCTEVfRlRTMyBzdXBwb3J0IGluIHN5c3RlbSBTUUxpdGUKY29uZmln dXJlOjI0NzA1OiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlh c2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVu Y3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtSS91c3IvbG9j YWwvaW5jbHVkZSAgIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVk ZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC1y cGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94IC1XbCwteixub2V4ZWNzdGFjayAtV2wsLXosdGV4 dCBjb25mdGVzdC5jICAtTC91c3IvbG9jYWwvbGliIC1sc3FsaXRlMyAgIDE+JjUKY29uZmlndXJl OjI0NzI4OiBjaGVja2luZyBmb3IgU1FMSVRFX0VOQUJMRV9VTkxPQ0tfTk9USUZZIHN1cHBvcnQg aW4gc3lzdGVtIFNRTGl0ZQpjb25maWd1cmU6MjQ3NTE6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlw ZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZu by1tYXRoLWVycm5vIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAgLVF1bnVzZWQtYXJndW1lbnRzIC1p c3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAg LUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3IvbG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16 LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0ZXN0LmMgIC1ML3Vzci9sb2NhbC9saWIgLWxz cWxpdGUzICAgMT4mNQpjb25maWd1cmU6MjQ5ODY6IGNoZWNraW5nIGZvciB2YWxpZCBvcHRpbWl6 YXRpb24gZmxhZ3MKY29uZmlndXJlOjI0OTk3OiBjYyAtYyAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0 cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAt TzIgLU8zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkv dXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToyNTczNTogY2hlY2tp bmcgZm9yIG1hbGxjdGwKY29uZmlndXJlOjI1NzY3OiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUg IC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8t bWF0aC1lcnJubyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUg IC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBh dGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQg Y29uZnRlc3QuYyAgMT4mNQpjb25maWd1cmU6MjU3MzU6IGNoZWNraW5nIGZvciBuYWxsb2NtCmNv bmZpZ3VyZToyNTc2NzogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAt ZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1bnVz ZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5j bHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3IvbG9jYWwvbGli L2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0ZXN0LmMgIDE+JjUK Y29uZmlndXJlOjI2NzUzOiBjaGVja2luZyBmb3IgX19jeGFfZGVtYW5nbGUKY29uZmlndXJlOjI2 Nzg4OiBjKysgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAg LWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9u LXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1tYXRoLWVycm5v IC1zdGQ9Z251KysweCAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1 ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwt cnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVdsLC16LHRl eHQgY29uZnRlc3QuQyAgMT4mNQpjb25maWd1cmU6MjY4NTA6IGNoZWNraW5nIGZvciB1bndpbmQu aApjb25maWd1cmU6MjY4NjM6IGMrKyAtYyAtTzIgLXBpcGUgLU8zIC1mbm8tc3RyaWN0LWFsaWFz aW5nICAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVu Y3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtZm5vLW1hdGgt ZXJybm8gLXN0ZD1nbnUrKzB4IC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwv aW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1CmNvbmZpZ3VyZToy Njg4MDogY2hlY2tpbmcgZm9yIF9VbndpbmRfQmFja3RyYWNlCmNvbmZpZ3VyZToyNjkxNzogYysr IC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1mbm8tZXhj ZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9u cyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1mbm8tbWF0aC1lcnJubyAtc3RkPWdu dSsrMHggLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91 c3IvbG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0 ZXN0LkMgIDE+JjUKY29uZmlndXJlOjI3MTAxOiBjaGVja2luZyBmb3IgLXBpcGUgc3VwcG9ydApj b25maWd1cmU6MjcxMTU6IGNoZWNraW5nIHdoZXRoZXIgQyBjb21waWxlciBzdXBwb3J0cyAtZnBy b2ZpbGUtZ2VuZXJhdGUKY29uZmlndXJlOjI3MTI0OiBjYyAtYyAtTzIgLXBpcGUgIC1PMyAtZm5v LXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJu byAtcGlwZSAtZnByb2ZpbGUtZ2VuZXJhdGUgLWZwcm9maWxlLWNvcnJlY3Rpb24gLVF1bnVzZWQt YXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVk ZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjI3MTY5OiBjaGVja2luZyB3aGV0aGVyIEMgY29t cGlsZXIgc3VwcG9ydHMgLWZuby1pbnRlZ3JhdGVkLWFzCmNvbmZpZ3VyZToyNzE3ODogY2MgLWMg LU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlu bGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0 aW9ucyAtZm5vLW1hdGgtZXJybm8gLXBpcGUgLWZuby1pbnRlZ3JhdGVkLWFzIC1TIC1RdW51c2Vk LWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgY29uZnRlc3QuYyAxPiY1CmNjOiBlcnJvcjogdW5rbm93biBhcmd1bWVudDogJy1mbm8taW50 ZWdyYXRlZC1hcycKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDI3MTcxICJj b25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoKaW50IG1haW4oKSB7CnJldHVybiAwOwo7 IHJldHVybiAwOyB9CmNvbmZpZ3VyZToyNzIxNjogY2hlY2tpbmcgd2hhdCBraW5kIG9mIGxpc3Qg ZmlsZXMgYXJlIHN1cHBvcnRlZCBieSB0aGUgbGlua2VyCmNvbmZpZ3VyZToyNzIyMTogY2MgLW8g Y29uZnRlc3QubyAtYyAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdu dTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlv bnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtcGlwZSAtUXVudXNlZC1hcmd1bWVu dHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0 ZXN0LmMgMT4mNQpjb25maWd1cmU6MjcyMjM6IGNjIC1vIGNvbmZ0ZXN0IC1wdGhyZWFkICAtTC91 c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2wsLXosbm9l eGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QubGlzdCAgMT4mNQpjb25maWd1cmU6Mjc0MTI6 IGNoZWNraW5nIGZvciBnbGliLTIuMCA+PSAxLjMuNyBnb2JqZWN0LTIuMApjb25maWd1cmU6Mjc0 MTk6IGNoZWNraW5nIEdMSUJfQ0ZMQUdTCmNvbmZpZ3VyZToyNzQyNDogY2hlY2tpbmcgR0xJQl9M SUJTCmNvbmZpZ3VyZToyNzU1OTogY2hlY2tpbmcgZm9yIGZyZWV0eXBlMiA+PSA2LjEuMApjb25m aWd1cmU6Mjc1NjY6IGNoZWNraW5nIEZUMl9DRkxBR1MKY29uZmlndXJlOjI3NTcxOiBjaGVja2lu ZyBGVDJfTElCUwpjb25maWd1cmU6Mjc2MDg6IGNoZWNraW5nIGZvciBGVF9CaXRtYXBfU2l6ZS55 X3BwZW0KY29uZmlndXJlOjI3NjIzOiBjYyAtYyAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1h bGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1m ZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtcGlwZSAt SS91c3IvbG9jYWwvaW5jbHVkZS9mcmVldHlwZTIgICAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0 ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4m NQpjb25maWd1cmU6Mjc2NTI6IGNoZWNraW5nIGZvciBGVF9HbHlwaFNsb3RfRW1ib2xkZW4KY29u ZmlndXJlOjI3Njg0OiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1h bGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1m ZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtcGlwZSAt SS91c3IvbG9jYWwvaW5jbHVkZS9mcmVldHlwZTIgICAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0 ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91 c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2wsLXosbm9l eGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QuYyAgLUwvdXNyL2xvY2FsL2xpYiAtbGZyZWV0 eXBlICAgMT4mNQpjb25maWd1cmU6Mjc2NTI6IGNoZWNraW5nIGZvciBGVF9Mb2FkX1NmbnRfVGFi bGUKY29uZmlndXJlOjI3Njg0OiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0 cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAt cGlwZSAtSS91c3IvbG9jYWwvaW5jbHVkZS9mcmVldHlwZTIgICAtUXVudXNlZC1hcmd1bWVudHMg LWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFk ICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2ws LXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QuYyAgLUwvdXNyL2xvY2FsL2xpYiAt bGZyZWV0eXBlICAgMT4mNQpjb25maWd1cmU6Mjc3MjI6IGNoZWNraW5nIGZvciBmb250Y29uZmln L2ZjZnJlZXR5cGUuaApjb25maWd1cmU6Mjc3MzU6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5v IC1waXBlIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkv dXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZnJlZXR5cGUyICAgIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6Mjc4MjU6IGNoZWNraW5n IGZvciBmb250Y29uZmlnCmNvbmZpZ3VyZToyNzgzMjogY2hlY2tpbmcgX0ZPTlRDT05GSUdfQ0ZM QUdTCmNvbmZpZ3VyZToyNzgzNzogY2hlY2tpbmcgX0ZPTlRDT05GSUdfTElCUwpjb25maWd1cmU6 Mjc5NDE6IGNoZWNraW5nIGZvciBoYXJmYnV6eiA+PSAwLjkuMjUKY29uZmlndXJlOjI3OTQ4OiBj aGVja2luZyBNT1pfSEFSRkJVWlpfQ0ZMQUdTCmNvbmZpZ3VyZToyNzk1MzogY2hlY2tpbmcgTU9a X0hBUkZCVVpaX0xJQlMKY29uZmlndXJlOjI4MDUyOiBjaGVja2luZyBmb3IgZ3JhcGhpdGUyCmNv bmZpZ3VyZToyODA1OTogY2hlY2tpbmcgTU9aX0dSQVBISVRFMl9DRkxBR1MKY29uZmlndXJlOjI4 MDY0OiBjaGVja2luZyBNT1pfR1JBUEhJVEUyX0xJQlMKY29uZmlndXJlOjI4MTExOiBjYyAtYyAt TzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5s aW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rp b25zIC1mbm8tbWF0aC1lcnJubyAtcGlwZSAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNy L2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25m aWd1cmU6MjgyMzU6IGNoZWNraW5nIGZvciBwaXhtYW4tMSA+PSAwLjE5LjIKY29uZmlndXJlOjI4 MjQyOiBjaGVja2luZyBQSVhNQU5fQ0ZMQUdTCmNvbmZpZ3VyZToyODI0NzogY2hlY2tpbmcgUElY TUFOX0xJQlMKY29uZmlndXJlOjI4Mjg4OiBjaGVja2luZyBmb3Igc3RkaW50LmgKY29uZmlndXJl OjI4Mjg4OiBjaGVja2luZyBmb3IgaW50dHlwZXMuaApjb25maWd1cmU6MjgyODg6IGNoZWNraW5n IGZvciBzeXMvaW50X3R5cGVzLmgKY29uZmlndXJlOjI4MzAxOiBjYyAtYyAtTzIgLXBpcGUgIC1P MyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0 aC1lcnJubyAtcGlwZSAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1 ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MjgyOTU6 MTA6IGZhdGFsIGVycm9yOiAnc3lzL2ludF90eXBlcy5oJyBmaWxlIG5vdCBmb3VuZAojaW5jbHVk ZSA8c3lzL2ludF90eXBlcy5oPgogICAgICAgICBeCjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMjgyOTMgImNvbmZpZ3VyZSIKI2luY2x1ZGUg ImNvbmZkZWZzLmgiCgojaW5jbHVkZSA8c3lzL2ludF90eXBlcy5oPgppbnQgbWFpbigpIHsKCjsg cmV0dXJuIDA7IH0KY29uZmlndXJlOjI4NTU4OiBjaGVja2luZyBmb3IgY2Fpcm8gPj0gMS4xMApj b25maWd1cmU6Mjg1NjU6IGNoZWNraW5nIENBSVJPX0NGTEFHUwpjb25maWd1cmU6Mjg1NzA6IGNo ZWNraW5nIENBSVJPX0xJQlMKY29uZmlndXJlOjI4NjUxOiBjaGVja2luZyBmb3IgY2Fpcm8tdGVl ID49IDEuMTAKY29uZmlndXJlOjI4NjU4OiBjaGVja2luZyBDQUlST19URUVfQ0ZMQUdTCmNvbmZp Z3VyZToyODY2MzogY2hlY2tpbmcgQ0FJUk9fVEVFX0xJQlMKY29uZmlndXJlOjI4NzQzOiBjaGVj a2luZyBmb3IgY2Fpcm8teGxpYi14cmVuZGVyID49IDEuMTAKY29uZmlndXJlOjI4NzUwOiBjaGVj a2luZyBDQUlST19YUkVOREVSX0NGTEFHUwpjb25maWd1cmU6Mjg3NTU6IGNoZWNraW5nIENBSVJP X1hSRU5ERVJfTElCUwpjb25maWd1cmU6Mjk2NzI6IGNoZWNraW5nIGZvciBwb3NpeF9mYWR2aXNl CmNvbmZpZ3VyZToyOTcwNDogY2MgLW8gY29uZnRlc3QgLVF1bnVzZWQtYXJndW1lbnRzIC1XYWxs IC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2Vycm9yPXJl dHVybi10eXBlIC1XZXJyb3I9aW50LXRvLXBvaW50ZXItY2FzdCAtV3R5cGUtbGltaXRzIC1XZW1w dHktYm9keSAtV3NpZ24tY29tcGFyZSAtV25vLXVudXNlZCAtTzIgLXBpcGUgLU8zIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNp bmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1w aXBlIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC1ycGF0aCwvdXNy L2xvY2FsL2xpYi9maXJlZm94IC1XbCwteixub2V4ZWNzdGFjayAtV2wsLXosdGV4dCBjb25mdGVz dC5jICAxPiY1CmNvbmZpZ3VyZToyOTY3MjogY2hlY2tpbmcgZm9yIHBvc2l4X2ZhbGxvY2F0ZQpj b25maWd1cmU6Mjk3MDQ6IGNjIC1vIGNvbmZ0ZXN0IC1RdW51c2VkLWFyZ3VtZW50cyAtV2FsbCAt V3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlcnJvcj1yZXR1 cm4tdHlwZSAtV2Vycm9yPWludC10by1wb2ludGVyLWNhc3QgLVd0eXBlLWxpbWl0cyAtV2VtcHR5 LWJvZHkgLVdzaWduLWNvbXBhcmUgLVduby11bnVzZWQgLU8yIC1waXBlIC1PMyAtZm5vLXN0cmlj dC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtcGlw ZSAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9s b2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9s b2NhbC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3Qu YyAgMT4mNQpjb25maWd1cmU6Mjk3NTg6IGNjIC1jIC1RdW51c2VkLWFyZ3VtZW50cyAtV2FsbCAt V3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlcnJvcj1yZXR1 cm4tdHlwZSAtV2Vycm9yPWludC10by1wb2ludGVyLWNhc3QgLVd0eXBlLWxpbWl0cyAtV2VtcHR5 LWJvZHkgLVdzaWduLWNvbXBhcmUgLVduby11bnVzZWQgLU8yIC1waXBlIC1PMyAtZm5vLXN0cmlj dC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtcGlw ZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9s b2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmln dXJlOjI5OTcyOiBjaGVja2luZyBmb3IgaWN1LWkxOG4gPj0gNTAuMQpjb25maWd1cmU6Mjk5Nzk6 IGNoZWNraW5nIE1PWl9JQ1VfQ0ZMQUdTCmNvbmZpZ3VyZToyOTk4NDogY2hlY2tpbmcgTU9aX0lD VV9MSUJTCg== --_006_C363C6AE639BBE4485EFCCDFE96BBFDD10EBC528BN1PRD9102MB037_-- From owner-freebsd-gecko@FreeBSD.ORG Tue Feb 17 12:01:31 2015 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6E1B9E88 for ; Tue, 17 Feb 2015 12:01:31 +0000 (UTC) Received: from elsa.codelab.cz (elsa.codelab.cz [94.124.105.4]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2A81A9FF for ; Tue, 17 Feb 2015 12:01:30 +0000 (UTC) Received: from elsa.codelab.cz (localhost [127.0.0.1]) by elsa.codelab.cz (Postfix) with ESMTP id 0FBC72842E for ; Tue, 17 Feb 2015 13:01:22 +0100 (CET) Received: from illbsd.quip.test (ip-89-177-50-74.net.upcbroadband.cz [89.177.50.74]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by elsa.codelab.cz (Postfix) with ESMTPSA id 145162842B for ; Tue, 17 Feb 2015 13:01:20 +0100 (CET) Message-ID: <54E32D90.70607@quip.cz> Date: Tue, 17 Feb 2015 13:01:20 +0100 From: Miroslav Lachman <000.fbsd@quip.cz> User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:35.0) Gecko/20100101 Firefox/35.0 SeaMonkey/2.32 MIME-Version: 1.0 To: gecko@FreeBSD.org Subject: FreeBSD Port: www/seamonkey Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Feb 2015 12:01:31 -0000 Can you make update to 2.32.1 please? There is a significant bug in 2.32 - Blog & News Feeds not updating https://bugzilla.mozilla.org/show_bug.cgi?id=1120067 http://www.seamonkey-project.org/releases/seamonkey2.32/ Thank you. Miroslav Lachman From owner-freebsd-gecko@FreeBSD.ORG Thu Feb 19 12:57:36 2015 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9B6462DE for ; Thu, 19 Feb 2015 12:57:36 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian.chruetertee.ch [217.150.244.247]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DDA0FFE for ; Thu, 19 Feb 2015 12:57:35 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian [217.150.244.247]) by trillian.chruetertee.ch (8.14.4/8.14.3) with ESMTP id t1JCo9Ba029391 for ; Thu, 19 Feb 2015 12:50:09 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: (from www@localhost) by trillian.chruetertee.ch (8.14.4/8.14.3/Submit) id t1JCo48n024465 for freebsd-gecko@freebsd.org; Thu, 19 Feb 2015 12:50:04 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Date: Thu, 19 Feb 2015 12:50:04 GMT Message-Id: <201502191250.t1JCo48n024465@trillian.chruetertee.ch> X-Authentication-Warning: trillian.chruetertee.ch: www set sender to svn-freebsd-gecko@chruetertee.ch using -f From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org Subject: [SVN-Commit] r1815 - in trunk: . Mk/Uses www/firefox www/firefox-i18n www/firefox-nightly www/firefox-nightly/files www/linux-firefox www/linux-seamonkey www/linux-tor-browser www/seamonkey www/seamonkey-i18n www/seamonkey/files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reply-To: freebsd-gecko@freebsd.org X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Feb 2015 12:57:36 -0000 Author: jbeich Date: Thu Feb 19 12:50:03 2015 New Revision: 1815 Log: update Added: trunk/www/seamonkey/files/patch-bug1122547 Deleted: trunk/Gecko_ChangeLog trunk/www/seamonkey/files/patch-bug1041795 trunk/www/seamonkey/files/patch-bug1082199 trunk/www/seamonkey/files/patch-bug1083461 trunk/www/seamonkey/files/patch-bug1122586 trunk/www/seamonkey/files/patch-bug858919 Modified: trunk/Gecko_TODO trunk/Mk/Uses/gecko.mk trunk/www/firefox-i18n/Makefile trunk/www/firefox-i18n/distinfo trunk/www/firefox-nightly/Makefile.hgrev trunk/www/firefox-nightly/distinfo trunk/www/firefox-nightly/files/patch-system-openh264 trunk/www/firefox/Makefile trunk/www/firefox/distinfo trunk/www/linux-firefox/Makefile trunk/www/linux-firefox/distinfo trunk/www/linux-seamonkey/Makefile trunk/www/linux-seamonkey/distinfo trunk/www/linux-seamonkey/pkg-plist trunk/www/linux-tor-browser/Makefile trunk/www/seamonkey-i18n/Makefile trunk/www/seamonkey-i18n/distinfo trunk/www/seamonkey/Makefile trunk/www/seamonkey/distinfo trunk/www/seamonkey/files/patch-bug847568 trunk/www/seamonkey/files/patch-ijg-libjpeg trunk/www/seamonkey/files/patch-system-openh264 trunk/www/seamonkey/files/patch-z-bug517422 Deleted: trunk/Gecko_ChangeLog ============================================================================== --- trunk/Gecko_ChangeLog Thu Feb 19 12:50:03 2015 (r1814) +++ /dev/null 00:00:00 1970 (deleted) @@ -1 +0,0 @@ -- drop GNOMEVFS2 option ahead of upstream in favor of GIO (gvfs) Modified: trunk/Gecko_TODO ============================================================================== --- trunk/Gecko_TODO Fri Feb 6 10:30:54 2015 (r1814) +++ trunk/Gecko_TODO Thu Feb 19 12:50:03 2015 (r1815) @@ -15,6 +15,8 @@ - obtain Bing Client ID + Secret mainly for Bing Translator API unassigned (ports): +- refactor bsd.gecko.mk and port Makefiles in order to make adding + more gecko ports easier, maybe starting from scratch - add BlueGriffon to replace www/kompozer: * linux version requires GLIBC_2.15 > GLIBC_2.12 (c6) > GLIBC_2.9 (f10) * native version needs hunting for exact hg revision where content.patch Modified: trunk/Mk/Uses/gecko.mk ============================================================================== --- trunk/Mk/Uses/gecko.mk Fri Feb 6 10:30:54 2015 (r1814) +++ trunk/Mk/Uses/gecko.mk Thu Feb 19 12:50:03 2015 (r1815) @@ -51,8 +51,8 @@ .elif ${gecko_ARGS:Mseamonkey} -_GECKO_DEFAULT_VERSION= 32 -_GECKO_VERSIONS= 32 +_GECKO_DEFAULT_VERSION= 33 +_GECKO_VERSIONS= 33 _GECKO_TYPE= seamonkey .if exists(${LOCALBASE}/bin/seamonkey) @@ -61,7 +61,7 @@ .endif # Dependence lines for different Seamonkey versions -32_DEPENDS= ${LOCALBASE}/lib/seamonkey/seamonkey:${PORTSDIR}/www/seamonkey +33_DEPENDS= ${LOCALBASE}/lib/seamonkey/seamonkey:${PORTSDIR}/www/seamonkey .elif ${gecko_ARGS:Mthunderbird} Modified: trunk/www/firefox-i18n/Makefile ============================================================================== --- trunk/www/firefox-i18n/Makefile Fri Feb 6 10:30:54 2015 (r1814) +++ trunk/www/firefox-i18n/Makefile Thu Feb 19 12:50:03 2015 (r1815) @@ -2,7 +2,7 @@ # $FreeBSD: head/www/firefox-i18n/Makefile 373830 2014-12-03 14:55:25Z beat $ PORTNAME= firefox-i18n -PORTVERSION= 36.0b6 +PORTVERSION= 36.0b10 CATEGORIES= www MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${PORTVERSION}/linux-i686/xpi PKGNAMEPREFIX= Modified: trunk/www/firefox-i18n/distinfo ============================================================================== --- trunk/www/firefox-i18n/distinfo Fri Feb 6 10:30:54 2015 (r1814) +++ trunk/www/firefox-i18n/distinfo Thu Feb 19 12:50:03 2015 (r1815) @@ -1,176 +1,176 @@ -SHA256 (xpi/firefox-i18n-36.0b6/ach.xpi) = 4103eae03025fc56066b85764ee09a307a7edc3b21eff85ba315d08a208d6309 -SIZE (xpi/firefox-i18n-36.0b6/ach.xpi) = 465575 -SHA256 (xpi/firefox-i18n-36.0b6/af.xpi) = bd46734651d09eccbbf074ee0e7995e2b591e9f2de0ae99b6001dd357fe73a77 -SIZE (xpi/firefox-i18n-36.0b6/af.xpi) = 471968 -SHA256 (xpi/firefox-i18n-36.0b6/an.xpi) = 22d299d45d4565d6aae6304776cdbf3df19ba5ebd46ac1045a2740511fbf835a -SIZE (xpi/firefox-i18n-36.0b6/an.xpi) = 449536 -SHA256 (xpi/firefox-i18n-36.0b6/ar.xpi) = 1d44e502dc042ac4798bf1384b29636095fa8d5ea0c32a6341e8fd8683d195a1 -SIZE (xpi/firefox-i18n-36.0b6/ar.xpi) = 504282 -SHA256 (xpi/firefox-i18n-36.0b6/as.xpi) = cdbac16e30092e60c29a5acc1439d8333c9aeaaf67f4cd776b77d7dd5c7ccfa1 -SIZE (xpi/firefox-i18n-36.0b6/as.xpi) = 494229 -SHA256 (xpi/firefox-i18n-36.0b6/ast.xpi) = 352693b5173b685603c03aa3bf20ca689c6193535e6f0e06aebdb799ad9df6f5 -SIZE (xpi/firefox-i18n-36.0b6/ast.xpi) = 377934 -SHA256 (xpi/firefox-i18n-36.0b6/az.xpi) = c1f63a74601fd5dad8e501a4bcb1c02e2b3eb2e63cdf803222c176775ef8685f -SIZE (xpi/firefox-i18n-36.0b6/az.xpi) = 475727 -SHA256 (xpi/firefox-i18n-36.0b6/be.xpi) = edccbccfdb45f1159aed836c3cd0cb2d9398945dc057da28847dbe1292051926 -SIZE (xpi/firefox-i18n-36.0b6/be.xpi) = 426870 -SHA256 (xpi/firefox-i18n-36.0b6/bg.xpi) = 29efeb5220a706ef3ce7b0015db9bf229cdc0ab25756f6229e50264199f82e30 -SIZE (xpi/firefox-i18n-36.0b6/bg.xpi) = 481497 -SHA256 (xpi/firefox-i18n-36.0b6/bn-BD.xpi) = 4a24cba7d28711a30ef516e88047ec3499eb59d913115c42c68c519d4700a752 -SIZE (xpi/firefox-i18n-36.0b6/bn-BD.xpi) = 515432 -SHA256 (xpi/firefox-i18n-36.0b6/bn-IN.xpi) = 01e52ba80d52484701b5ef7804abef38ec6c79f7a17adfb8c10e1d8071a5aa71 -SIZE (xpi/firefox-i18n-36.0b6/bn-IN.xpi) = 514350 -SHA256 (xpi/firefox-i18n-36.0b6/br.xpi) = e8bfa35b58aec8d27ed90c3c930cf282bcfca15d639018fd4cd79bad94e137ec -SIZE (xpi/firefox-i18n-36.0b6/br.xpi) = 430390 -SHA256 (xpi/firefox-i18n-36.0b6/bs.xpi) = bd2303ef8b68dcd839b112be53ae2538bc9f0754a512677e01f95df545422554 -SIZE (xpi/firefox-i18n-36.0b6/bs.xpi) = 472268 -SHA256 (xpi/firefox-i18n-36.0b6/ca.xpi) = 5a33275e7eb35e72ff61d11da1b83039fed2dcfafd8e6ec27a6f6d8254919b8b -SIZE (xpi/firefox-i18n-36.0b6/ca.xpi) = 446099 -SHA256 (xpi/firefox-i18n-36.0b6/cs.xpi) = 479948892738f58fccff9b0e8019ac9720e06cc6bb3e02f587c2a4d141481864 -SIZE (xpi/firefox-i18n-36.0b6/cs.xpi) = 434462 -SHA256 (xpi/firefox-i18n-36.0b6/cy.xpi) = bba4c13998b417e5dc899f28270525d8af0d30e2c6329d0b24995d1643d05e4f -SIZE (xpi/firefox-i18n-36.0b6/cy.xpi) = 432589 -SHA256 (xpi/firefox-i18n-36.0b6/da.xpi) = cb5924b62c79bdc1af15e80afd15d6b57e5bb013e634d4d4d6d9334d751b1988 -SIZE (xpi/firefox-i18n-36.0b6/da.xpi) = 439277 -SHA256 (xpi/firefox-i18n-36.0b6/de.xpi) = 29c7849b024cb1b4ef13d2d63ae8b97c912ea541b23ebd96f9e42e11be821321 -SIZE (xpi/firefox-i18n-36.0b6/de.xpi) = 439187 -SHA256 (xpi/firefox-i18n-36.0b6/dsb.xpi) = 322400ec319d7b7581ad96e90fddeaab44a8929073677267e89be5f28dc29f88 -SIZE (xpi/firefox-i18n-36.0b6/dsb.xpi) = 458448 -SHA256 (xpi/firefox-i18n-36.0b6/el.xpi) = 3363536e0990a4dc873e998fa885a89ab3be181fa645be8f94face0d4c47f2e7 -SIZE (xpi/firefox-i18n-36.0b6/el.xpi) = 485368 -SHA256 (xpi/firefox-i18n-36.0b6/en-GB.xpi) = 53294cdba42ccd1e6872ee2e814c501dfcee7224b2fa6a46e04f734c0229b80f -SIZE (xpi/firefox-i18n-36.0b6/en-GB.xpi) = 429600 -SHA256 (xpi/firefox-i18n-36.0b6/en-US.xpi) = 249332d236db49a5612125e43e085165c436ce2f1cab484c22859831ee802d10 -SIZE (xpi/firefox-i18n-36.0b6/en-US.xpi) = 458488 -SHA256 (xpi/firefox-i18n-36.0b6/en-ZA.xpi) = 95cf1a1a7e871764b31b273de38c98625aa926e66ce92590403ae66d7ac62bb3 -SIZE (xpi/firefox-i18n-36.0b6/en-ZA.xpi) = 425588 -SHA256 (xpi/firefox-i18n-36.0b6/eo.xpi) = ef8f84ca899cf1ee034397d99d5c0fff7992f532149f74ef71341def0ac14084 -SIZE (xpi/firefox-i18n-36.0b6/eo.xpi) = 473636 -SHA256 (xpi/firefox-i18n-36.0b6/es-AR.xpi) = c2462f1d01998d1f089a72b0d1c2a5a6e127132fa6fb586de90171f4c0991895 -SIZE (xpi/firefox-i18n-36.0b6/es-AR.xpi) = 442479 -SHA256 (xpi/firefox-i18n-36.0b6/es-CL.xpi) = d822fb4f8ba758934950827be7045a1399addbb89c65f0dc4293fdf46ad35eb8 -SIZE (xpi/firefox-i18n-36.0b6/es-CL.xpi) = 377184 -SHA256 (xpi/firefox-i18n-36.0b6/es-ES.xpi) = c6c210c04e1f82a46022896422ed1523e5e6bba7c8a75d921981452f859c0d27 -SIZE (xpi/firefox-i18n-36.0b6/es-ES.xpi) = 366987 -SHA256 (xpi/firefox-i18n-36.0b6/es-MX.xpi) = 4679f97da0f30ea3bddefa84da0dbca74f9b324e0a492605f0fcd957ce07e6e8 -SIZE (xpi/firefox-i18n-36.0b6/es-MX.xpi) = 444970 -SHA256 (xpi/firefox-i18n-36.0b6/et.xpi) = 24daee25a5158e0ef7ef1335afe9b1cd925880e31c869cc145fc1620aff6d1c7 -SIZE (xpi/firefox-i18n-36.0b6/et.xpi) = 431611 -SHA256 (xpi/firefox-i18n-36.0b6/eu.xpi) = 8eb059ecad76e4dfa05b01047b3794786ad0d6bb920011577bd7c58eb81512ef -SIZE (xpi/firefox-i18n-36.0b6/eu.xpi) = 454651 -SHA256 (xpi/firefox-i18n-36.0b6/fa.xpi) = d77b4b7a0b7ce9764d5a2719f1e51715378590ade9d1ad6055b096b5ee0385eb -SIZE (xpi/firefox-i18n-36.0b6/fa.xpi) = 500789 -SHA256 (xpi/firefox-i18n-36.0b6/ff.xpi) = bac0ade8952848aefd798268adf570673017ac4047a62c1a88c8875c23fc5bbd -SIZE (xpi/firefox-i18n-36.0b6/ff.xpi) = 442341 -SHA256 (xpi/firefox-i18n-36.0b6/fi.xpi) = 7aae02f91d2814c15d35274335c5540debb494878362b0530a526f9442dd1437 -SIZE (xpi/firefox-i18n-36.0b6/fi.xpi) = 433371 -SHA256 (xpi/firefox-i18n-36.0b6/fr.xpi) = 43f4516abc9b608f23b296bdf6d3b6ff5e8de7b5cfff45c452a3f3241d82eaf9 -SIZE (xpi/firefox-i18n-36.0b6/fr.xpi) = 449177 -SHA256 (xpi/firefox-i18n-36.0b6/fy-NL.xpi) = df4ea2d5f0942214fe9992b8dc978fde2afbcba2597462cb31b567cef9404a94 -SIZE (xpi/firefox-i18n-36.0b6/fy-NL.xpi) = 443805 -SHA256 (xpi/firefox-i18n-36.0b6/ga-IE.xpi) = ada919dc7ca24448825ff11950043726f4ab673865ef8192192086080358bb0c -SIZE (xpi/firefox-i18n-36.0b6/ga-IE.xpi) = 453001 -SHA256 (xpi/firefox-i18n-36.0b6/gd.xpi) = 2d5190701b5f788a8d61e9b0672fb46c28e0a656896620d5bed8641f9334f983 -SIZE (xpi/firefox-i18n-36.0b6/gd.xpi) = 442656 -SHA256 (xpi/firefox-i18n-36.0b6/gl.xpi) = 397fa1a16c254e769a283fc90da8726a5c3b293941587318fb4d2c5a80239e63 -SIZE (xpi/firefox-i18n-36.0b6/gl.xpi) = 433436 -SHA256 (xpi/firefox-i18n-36.0b6/gu-IN.xpi) = 2004061810251de0074c4048dad20ef57446cece2098cb17a04e9d78e7e979de -SIZE (xpi/firefox-i18n-36.0b6/gu-IN.xpi) = 463246 -SHA256 (xpi/firefox-i18n-36.0b6/he.xpi) = b7259d3c93cd64b5849db2937a15f34d4ec8b4638649e54fd9e8240e4d17b7c4 -SIZE (xpi/firefox-i18n-36.0b6/he.xpi) = 473285 -SHA256 (xpi/firefox-i18n-36.0b6/hi-IN.xpi) = e0a18f05c1c850bc28ff60b3cb19d263a4736e7abebdaf09d8239415de968168 -SIZE (xpi/firefox-i18n-36.0b6/hi-IN.xpi) = 493295 -SHA256 (xpi/firefox-i18n-36.0b6/hr.xpi) = 70e1bf33d862e8b3c6bf416d1fd85d8793333e8e30fe90edad29dd0413024cd1 -SIZE (xpi/firefox-i18n-36.0b6/hr.xpi) = 466270 -SHA256 (xpi/firefox-i18n-36.0b6/hsb.xpi) = 7ac6916087e06710310d43bb4432da322153f239eac9a8fb04563e9fbcc6015c -SIZE (xpi/firefox-i18n-36.0b6/hsb.xpi) = 456353 -SHA256 (xpi/firefox-i18n-36.0b6/hu.xpi) = 9984550ca7630488f7719ff98da6838ec4d090244b44d0f5f30b9997b62ea795 -SIZE (xpi/firefox-i18n-36.0b6/hu.xpi) = 441328 -SHA256 (xpi/firefox-i18n-36.0b6/hy-AM.xpi) = cf74f2089676bb632d60d00716ab5630a02e5ed912219b99c6b72bce68e5086f -SIZE (xpi/firefox-i18n-36.0b6/hy-AM.xpi) = 522068 -SHA256 (xpi/firefox-i18n-36.0b6/id.xpi) = 0455ed0ce29d9ee5acc475f65de67a9f705c37b68c6b9daf9617ced3a76e84ff -SIZE (xpi/firefox-i18n-36.0b6/id.xpi) = 421110 -SHA256 (xpi/firefox-i18n-36.0b6/is.xpi) = e3230ecccca0209b18e3f2a4edf444fb657f88ec605c9b2c49f37661bdfa999d -SIZE (xpi/firefox-i18n-36.0b6/is.xpi) = 473332 -SHA256 (xpi/firefox-i18n-36.0b6/it.xpi) = 35497bd6559e468b67558fe10deab62cae4b19506e5b3bdfce855a9e81fd1d0a -SIZE (xpi/firefox-i18n-36.0b6/it.xpi) = 361315 -SHA256 (xpi/firefox-i18n-36.0b6/ja.xpi) = d87d2d8be2d61d851c9e6dffdc4e4e2637c84a993ebd86fb170121dd1e6e4396 -SIZE (xpi/firefox-i18n-36.0b6/ja.xpi) = 465475 -SHA256 (xpi/firefox-i18n-36.0b6/kk.xpi) = 77de2632e12bd39e7752364a0809d746c7a97581e422eaaf65abd61b25db4766 -SIZE (xpi/firefox-i18n-36.0b6/kk.xpi) = 490170 -SHA256 (xpi/firefox-i18n-36.0b6/km.xpi) = ad5388825722a153da257a4919b99c8835a025fa8f6c845bec4dc40fe7f4647e -SIZE (xpi/firefox-i18n-36.0b6/km.xpi) = 550676 -SHA256 (xpi/firefox-i18n-36.0b6/kn.xpi) = cbb56525c4056b9c6be1c261a9ff3df1fed6b8400edc5c39aabbff7ab6a78646 -SIZE (xpi/firefox-i18n-36.0b6/kn.xpi) = 516616 -SHA256 (xpi/firefox-i18n-36.0b6/ko.xpi) = f36b2677471a3e3193fbac2202e83dea7f0998db6de7c76c2fa14c0b6a6b9c75 -SIZE (xpi/firefox-i18n-36.0b6/ko.xpi) = 448220 -SHA256 (xpi/firefox-i18n-36.0b6/lij.xpi) = 7c78fe18fb899966ba3a7ec9b3acb50dca8d4dc3b53f26f407addd4fc50d30ce -SIZE (xpi/firefox-i18n-36.0b6/lij.xpi) = 430851 -SHA256 (xpi/firefox-i18n-36.0b6/lt.xpi) = 5ac2abac20dd1c4130e982f7b9e3c2a7782cff4731794eaf222b0d73d8ace8ca -SIZE (xpi/firefox-i18n-36.0b6/lt.xpi) = 474005 -SHA256 (xpi/firefox-i18n-36.0b6/lv.xpi) = a6d7978d654a9f5231f3bbd40f35c7ab9579c7646cd7d9c15df4ce00632c4786 -SIZE (xpi/firefox-i18n-36.0b6/lv.xpi) = 436143 -SHA256 (xpi/firefox-i18n-36.0b6/mai.xpi) = 5ab0f47c916421ffee865dabca65396ffb1c88048b480678872b66061132e833 -SIZE (xpi/firefox-i18n-36.0b6/mai.xpi) = 485635 -SHA256 (xpi/firefox-i18n-36.0b6/mk.xpi) = ff02165658f96191ab4abf00162cd872020ce9bc59311788847f9f2f017bbfa7 -SIZE (xpi/firefox-i18n-36.0b6/mk.xpi) = 516290 -SHA256 (xpi/firefox-i18n-36.0b6/ml.xpi) = 474c62924a9e8b6f5d6c727585ab7cfd41875d3aca92904c43bcc97bca2b4ff8 -SIZE (xpi/firefox-i18n-36.0b6/ml.xpi) = 514512 -SHA256 (xpi/firefox-i18n-36.0b6/mr.xpi) = 5b1040bda39f521bd573cace44fe745314efb7e9e5e211b4dda2aa87d8c2ae37 -SIZE (xpi/firefox-i18n-36.0b6/mr.xpi) = 495229 -SHA256 (xpi/firefox-i18n-36.0b6/ms.xpi) = 87c80eabaf49cdb0e9e87a1454a766135db138405ec3804a48fecda429fd09c8 -SIZE (xpi/firefox-i18n-36.0b6/ms.xpi) = 478159 -SHA256 (xpi/firefox-i18n-36.0b6/nb-NO.xpi) = 3b6ad7f63cc1320ae85eb5d1de41ece4e5ec2e6490ed387be0d69dffa2fc6169 -SIZE (xpi/firefox-i18n-36.0b6/nb-NO.xpi) = 432556 -SHA256 (xpi/firefox-i18n-36.0b6/nl.xpi) = f7297ab3e722cd5816f607a778bedf0e68fab1b6287950a71a943e8f54156e92 -SIZE (xpi/firefox-i18n-36.0b6/nl.xpi) = 432348 -SHA256 (xpi/firefox-i18n-36.0b6/nn-NO.xpi) = de6de074106bce78879972275e8bcd0faaebab536f1b828b1f6118e480055f86 -SIZE (xpi/firefox-i18n-36.0b6/nn-NO.xpi) = 426609 -SHA256 (xpi/firefox-i18n-36.0b6/or.xpi) = ac51eded8d64f60e8ca5dc9339deb577ece2249ebfd33935a310bc7625db433d -SIZE (xpi/firefox-i18n-36.0b6/or.xpi) = 512012 -SHA256 (xpi/firefox-i18n-36.0b6/pa-IN.xpi) = 8b623ee5e9a460f1c6895938d3684214b1967485266a9b5e3abb41a6b9bd6b4a -SIZE (xpi/firefox-i18n-36.0b6/pa-IN.xpi) = 481892 -SHA256 (xpi/firefox-i18n-36.0b6/pl.xpi) = 12b82db6c17da444dab9da4c120f4011098419a41b2cffcba0ce1eaa0e030383 -SIZE (xpi/firefox-i18n-36.0b6/pl.xpi) = 402049 -SHA256 (xpi/firefox-i18n-36.0b6/pt-BR.xpi) = 99b9aebf33b895cab7a94ec4b441ee508a0c450cb3431c58db76522ad9a47244 -SIZE (xpi/firefox-i18n-36.0b6/pt-BR.xpi) = 447671 -SHA256 (xpi/firefox-i18n-36.0b6/pt-PT.xpi) = 619dc783dd7372fc97242487c6b4cc71dce835db3ca6cf6b8111529e891e40a9 -SIZE (xpi/firefox-i18n-36.0b6/pt-PT.xpi) = 428707 -SHA256 (xpi/firefox-i18n-36.0b6/rm.xpi) = d58b98c5f593a9ac321f606efeff876bd5f47c1423b1b71460ea13cd484571b1 -SIZE (xpi/firefox-i18n-36.0b6/rm.xpi) = 441420 -SHA256 (xpi/firefox-i18n-36.0b6/ro.xpi) = 833deb926cfe50ea74e45302e1e5ec9ab094526c755749812f64848e51371a74 -SIZE (xpi/firefox-i18n-36.0b6/ro.xpi) = 483482 -SHA256 (xpi/firefox-i18n-36.0b6/ru.xpi) = 44fb1558479ea98bfb06ac134272d8c3300e4a3512cd6cf61692a76546450d2c -SIZE (xpi/firefox-i18n-36.0b6/ru.xpi) = 406017 -SHA256 (xpi/firefox-i18n-36.0b6/si.xpi) = 975e2a5c4aa85a5b8f7fb9a290865460a4a57bb659fe35d9b731c2c5551b94b2 -SIZE (xpi/firefox-i18n-36.0b6/si.xpi) = 514656 -SHA256 (xpi/firefox-i18n-36.0b6/sk.xpi) = 6a90c107f7aa98e18d52ce717bcd33b68a1f4a617843f30d3cfc5d2e2c5ce08c -SIZE (xpi/firefox-i18n-36.0b6/sk.xpi) = 457188 -SHA256 (xpi/firefox-i18n-36.0b6/sl.xpi) = b2500ba7f9c4f9bc51327f1f43a6414d26b4baa54d70ece0ef191d5dce626d49 -SIZE (xpi/firefox-i18n-36.0b6/sl.xpi) = 429929 -SHA256 (xpi/firefox-i18n-36.0b6/son.xpi) = 42f6f7c8b7015153b1b6f44a0815492076197ddde2144ebfeb4f933a738c36d4 -SIZE (xpi/firefox-i18n-36.0b6/son.xpi) = 436772 -SHA256 (xpi/firefox-i18n-36.0b6/sq.xpi) = 69af56a0ccab1729d21191b9b1a78f1d33e78e9b38edabd0379bfc2c81605eba -SIZE (xpi/firefox-i18n-36.0b6/sq.xpi) = 473965 -SHA256 (xpi/firefox-i18n-36.0b6/sr.xpi) = f696327e7ff546a54a3f709807d81b1f0bb41ad5a165d5c508bd20025a8cb8ea -SIZE (xpi/firefox-i18n-36.0b6/sr.xpi) = 467365 -SHA256 (xpi/firefox-i18n-36.0b6/sv-SE.xpi) = 3544a80a739acf71be6be7f22a4a7cba701170e7c8d5783d3b2c2c1e939a165a -SIZE (xpi/firefox-i18n-36.0b6/sv-SE.xpi) = 440721 -SHA256 (xpi/firefox-i18n-36.0b6/ta.xpi) = e02951c43916bafc2b21970ecec9007e9b756191ee61e7fa8e55ed7e40787be4 -SIZE (xpi/firefox-i18n-36.0b6/ta.xpi) = 493859 -SHA256 (xpi/firefox-i18n-36.0b6/te.xpi) = 9f71ef3019e2e3edab008f165fc651686e65aa9d44e3764f3f567316854b113d -SIZE (xpi/firefox-i18n-36.0b6/te.xpi) = 513695 -SHA256 (xpi/firefox-i18n-36.0b6/th.xpi) = 7076627e3de245efe26b2b938b9a10af0c54438ed440dc3ef0beeb82dfc06cb1 -SIZE (xpi/firefox-i18n-36.0b6/th.xpi) = 521542 -SHA256 (xpi/firefox-i18n-36.0b6/tr.xpi) = ba4078cbe8f773c50408099cc84aa3ec333b3ed9bdeaaa36032b9219510b3fc4 -SIZE (xpi/firefox-i18n-36.0b6/tr.xpi) = 468961 -SHA256 (xpi/firefox-i18n-36.0b6/uk.xpi) = 7242c4c04c54affa1f64db1d68671836b23edfff0af50fe03f273bdf4b945fe5 -SIZE (xpi/firefox-i18n-36.0b6/uk.xpi) = 469172 -SHA256 (xpi/firefox-i18n-36.0b6/vi.xpi) = a3b92445268e848744f39e702fd6d53e85486fc31104d28400b0cfa57c070d8a -SIZE (xpi/firefox-i18n-36.0b6/vi.xpi) = 454447 -SHA256 (xpi/firefox-i18n-36.0b6/xh.xpi) = ec0f2efc9f5d2df0360dd28a898773a6e90bff95d8c97609c73eac9272b97b30 -SIZE (xpi/firefox-i18n-36.0b6/xh.xpi) = 436240 -SHA256 (xpi/firefox-i18n-36.0b6/zh-CN.xpi) = 639ba27b32619288301b40e4a643cd0d81d42a1ba5012b39101be5d487918062 -SIZE (xpi/firefox-i18n-36.0b6/zh-CN.xpi) = 475835 -SHA256 (xpi/firefox-i18n-36.0b6/zh-TW.xpi) = b7e984b5efc9ce6c420a1e05525bcb38d76f5e17e8b39abfa03ad85c62aeaf5b -SIZE (xpi/firefox-i18n-36.0b6/zh-TW.xpi) = 455306 +SHA256 (xpi/firefox-i18n-36.0b10/ach.xpi) = f34da542ee4b93f9eeb4ea048c89d0e0f8540ffd1629b309121378299864ae56 +SIZE (xpi/firefox-i18n-36.0b10/ach.xpi) = 465663 +SHA256 (xpi/firefox-i18n-36.0b10/af.xpi) = 574bd430eec259347f22f115a4a5107d8c2981c148e972a7f9dc1baf0cff6028 +SIZE (xpi/firefox-i18n-36.0b10/af.xpi) = 472056 +SHA256 (xpi/firefox-i18n-36.0b10/an.xpi) = bce7d3c3cba9607885c4af7a5071bbb73dd900be814aad205f63794c42eeaca4 +SIZE (xpi/firefox-i18n-36.0b10/an.xpi) = 449536 +SHA256 (xpi/firefox-i18n-36.0b10/ar.xpi) = 5f0c85cd3c4f35875283ac316310c55b4dc928ea361710fd77131d1f1a60c398 +SIZE (xpi/firefox-i18n-36.0b10/ar.xpi) = 504370 +SHA256 (xpi/firefox-i18n-36.0b10/as.xpi) = 9fe0392eb79901317d2a0a669ebf44e669f757c917b90290e8cb98c4d4346948 +SIZE (xpi/firefox-i18n-36.0b10/as.xpi) = 494229 +SHA256 (xpi/firefox-i18n-36.0b10/ast.xpi) = 44c2c63a0b64dc831f606071cb6da23c1644422419be4cd089919ff749f38bfa +SIZE (xpi/firefox-i18n-36.0b10/ast.xpi) = 377934 +SHA256 (xpi/firefox-i18n-36.0b10/az.xpi) = e2064e69d278ffe86bc939ed4aec3958575b24db7ec0dacff2759edffb5b3b7f +SIZE (xpi/firefox-i18n-36.0b10/az.xpi) = 475727 +SHA256 (xpi/firefox-i18n-36.0b10/be.xpi) = b61282935580185b326b5715a673d38811b88e975166daf42f7a870a53eba6e1 +SIZE (xpi/firefox-i18n-36.0b10/be.xpi) = 426958 +SHA256 (xpi/firefox-i18n-36.0b10/bg.xpi) = 4b83941563fb182e41621c4b6c19cb31303e00de361dafe3874b59d8b552e8e6 +SIZE (xpi/firefox-i18n-36.0b10/bg.xpi) = 481497 +SHA256 (xpi/firefox-i18n-36.0b10/bn-BD.xpi) = 8143958ee41983ee42de39d9f10afdf8ab242a8e0c18936b869bd496ac9fae58 +SIZE (xpi/firefox-i18n-36.0b10/bn-BD.xpi) = 515520 +SHA256 (xpi/firefox-i18n-36.0b10/bn-IN.xpi) = 861fd24d2b7c548ed21d5309ac6ff4b64f1aabb610fbf2e0692da91c03464437 +SIZE (xpi/firefox-i18n-36.0b10/bn-IN.xpi) = 514350 +SHA256 (xpi/firefox-i18n-36.0b10/br.xpi) = 9cb6f64b549ce21330d03f13c6aec92198d3bfdae8b51bc45e36f658c8e267f2 +SIZE (xpi/firefox-i18n-36.0b10/br.xpi) = 430390 +SHA256 (xpi/firefox-i18n-36.0b10/bs.xpi) = a1faafd0a4a43eaf92cf9cec64442d24490eb9882c021feb2c2e640ad6aad3d6 +SIZE (xpi/firefox-i18n-36.0b10/bs.xpi) = 472356 +SHA256 (xpi/firefox-i18n-36.0b10/ca.xpi) = b3c2bcb967fa4eff593d93ce2c216f83d149620a1c273d58ff03cf25a2f502fc +SIZE (xpi/firefox-i18n-36.0b10/ca.xpi) = 446099 +SHA256 (xpi/firefox-i18n-36.0b10/cs.xpi) = 8d263804bddb4054208cfe543b36c768101e5c5ca3bd20b29e96ee434a00549c +SIZE (xpi/firefox-i18n-36.0b10/cs.xpi) = 434462 +SHA256 (xpi/firefox-i18n-36.0b10/cy.xpi) = 05e2af9b6d3ec86ea094dea6dbdf84cf5952007512eee2e9842ae6e380bb5aa2 +SIZE (xpi/firefox-i18n-36.0b10/cy.xpi) = 432589 +SHA256 (xpi/firefox-i18n-36.0b10/da.xpi) = 12faed23bf3f2ce8e4a8453a1a0bb831457a6f909243ae19d361c8022757f59e +SIZE (xpi/firefox-i18n-36.0b10/da.xpi) = 439278 +SHA256 (xpi/firefox-i18n-36.0b10/de.xpi) = fe22f3a1dfb281192deb2a29f8eebeb43b8e2d9e19e0ea79e15b83e9059d6d16 +SIZE (xpi/firefox-i18n-36.0b10/de.xpi) = 439187 +SHA256 (xpi/firefox-i18n-36.0b10/dsb.xpi) = 2064934ecf807351b2525104735fb19f7b9b49891e795a10c42714cdf3d26117 +SIZE (xpi/firefox-i18n-36.0b10/dsb.xpi) = 458448 +SHA256 (xpi/firefox-i18n-36.0b10/el.xpi) = 9928cc3cf7f046e9baeadac8243f388771c44405419b9496beee4599d9b45483 +SIZE (xpi/firefox-i18n-36.0b10/el.xpi) = 485456 +SHA256 (xpi/firefox-i18n-36.0b10/en-GB.xpi) = e5cd27bd8bf6d7ea9783863d1f21b188ebf29d5360797bfd5d93f7b164757691 +SIZE (xpi/firefox-i18n-36.0b10/en-GB.xpi) = 429600 +SHA256 (xpi/firefox-i18n-36.0b10/en-US.xpi) = a64d81f6a5b830baa39c2cf6415481315e2624008cad7540c7f2dbbdee841719 +SIZE (xpi/firefox-i18n-36.0b10/en-US.xpi) = 458576 +SHA256 (xpi/firefox-i18n-36.0b10/en-ZA.xpi) = 72d5ecd1df62084aa71e273f93b4c3d061852f51a3871dd7620ed77c12a874df +SIZE (xpi/firefox-i18n-36.0b10/en-ZA.xpi) = 425588 +SHA256 (xpi/firefox-i18n-36.0b10/eo.xpi) = c7e36ce897ff0721550ff3b329cbf2c2877991f47f5a6bcb30291621d96ebcc5 +SIZE (xpi/firefox-i18n-36.0b10/eo.xpi) = 473724 +SHA256 (xpi/firefox-i18n-36.0b10/es-AR.xpi) = 6c91b5cee7a11614cf2fc04732e0e21e058b686c8b9ec87db4721de1e5a1b10f +SIZE (xpi/firefox-i18n-36.0b10/es-AR.xpi) = 442479 +SHA256 (xpi/firefox-i18n-36.0b10/es-CL.xpi) = 839a53b1c0e093516ac70118a9e0e87f6e293f38d47875bc98d916f749181bf8 +SIZE (xpi/firefox-i18n-36.0b10/es-CL.xpi) = 377184 +SHA256 (xpi/firefox-i18n-36.0b10/es-ES.xpi) = 66d8ed17d5e8fc9eb771efd30e96177f4036db79a57a7e23459cd5b9bf943e59 +SIZE (xpi/firefox-i18n-36.0b10/es-ES.xpi) = 366987 +SHA256 (xpi/firefox-i18n-36.0b10/es-MX.xpi) = acf9b2ce46585c29c32a4709f60a99a73333f600b66e5b1aac129b234c64f726 +SIZE (xpi/firefox-i18n-36.0b10/es-MX.xpi) = 444970 +SHA256 (xpi/firefox-i18n-36.0b10/et.xpi) = dbf6d19ae59187583fd5d7a33f1d525c179163a33d2218b24280a95e54340fdb +SIZE (xpi/firefox-i18n-36.0b10/et.xpi) = 431611 +SHA256 (xpi/firefox-i18n-36.0b10/eu.xpi) = 93ba6a1fabca0d6e5ddb699d9f0719e3fe7037332fb3a04cbc6f6cf7fbd653bb +SIZE (xpi/firefox-i18n-36.0b10/eu.xpi) = 454739 +SHA256 (xpi/firefox-i18n-36.0b10/fa.xpi) = 9669b5664fd3767dac24c9ea6db8ec836c95cd798149712b48034c32a7d84055 +SIZE (xpi/firefox-i18n-36.0b10/fa.xpi) = 500877 +SHA256 (xpi/firefox-i18n-36.0b10/ff.xpi) = 9ee5b5d39533f0a01d4fb79c2a7994a33dce92de1617ad6261e17c877e34aaef +SIZE (xpi/firefox-i18n-36.0b10/ff.xpi) = 442341 +SHA256 (xpi/firefox-i18n-36.0b10/fi.xpi) = a86e767fc3f4ff49d6bc1006eff48d8d85d905e44695854b1ef36699269aa4b6 +SIZE (xpi/firefox-i18n-36.0b10/fi.xpi) = 433371 +SHA256 (xpi/firefox-i18n-36.0b10/fr.xpi) = 37a7ee74780a8dd8491a500e35c1d20abade3748f6f740c789d8c3d42e0964b2 +SIZE (xpi/firefox-i18n-36.0b10/fr.xpi) = 449177 +SHA256 (xpi/firefox-i18n-36.0b10/fy-NL.xpi) = 9cc596cf7706654acab30a1a5d3232e74dd96f3bf422b5c7678e3c8ccb1082d3 +SIZE (xpi/firefox-i18n-36.0b10/fy-NL.xpi) = 443805 +SHA256 (xpi/firefox-i18n-36.0b10/ga-IE.xpi) = 354bd544f78ace9d665111c74e1aacc1545b7cc39b60f1e8041665c2297e6632 +SIZE (xpi/firefox-i18n-36.0b10/ga-IE.xpi) = 453001 +SHA256 (xpi/firefox-i18n-36.0b10/gd.xpi) = 089429fd31f65e44567f09ce24cb0f8b7eb6fa0976340c546b4c13f5636d85b0 +SIZE (xpi/firefox-i18n-36.0b10/gd.xpi) = 442656 +SHA256 (xpi/firefox-i18n-36.0b10/gl.xpi) = d835561035122c7c78625dacd5f902ca485f91ab8a28fbcfb7e591a676c1edf0 +SIZE (xpi/firefox-i18n-36.0b10/gl.xpi) = 433436 +SHA256 (xpi/firefox-i18n-36.0b10/gu-IN.xpi) = a946f504fd57c3ebb30a9555a6e2f95a1b57a47badb96650f8bca74ab650ac79 +SIZE (xpi/firefox-i18n-36.0b10/gu-IN.xpi) = 463246 +SHA256 (xpi/firefox-i18n-36.0b10/he.xpi) = f46dc850a3097c1207438d5a2cdc593ae89f47b21a14c9b92d456ee0682cd7aa +SIZE (xpi/firefox-i18n-36.0b10/he.xpi) = 473373 +SHA256 (xpi/firefox-i18n-36.0b10/hi-IN.xpi) = 767868315f727b5bc3797448d3846bba818ad3cfc3f964fc9fc6cdc08d84e0a3 +SIZE (xpi/firefox-i18n-36.0b10/hi-IN.xpi) = 493295 +SHA256 (xpi/firefox-i18n-36.0b10/hr.xpi) = 3d5c47a42d635d6862c0b2c19ca1ec226e51f30fd979eb4a0a5f2a92015eb3db +SIZE (xpi/firefox-i18n-36.0b10/hr.xpi) = 466358 +SHA256 (xpi/firefox-i18n-36.0b10/hsb.xpi) = af209930cad99933cc782ed86519606b2dac636eddd479b5d3ad25dcadaf7e66 +SIZE (xpi/firefox-i18n-36.0b10/hsb.xpi) = 456353 +SHA256 (xpi/firefox-i18n-36.0b10/hu.xpi) = 5a3b47cc34ffcc9e476e4cf18a86c26f61fc13bbf91c7a8ea786206caa7ccd6b +SIZE (xpi/firefox-i18n-36.0b10/hu.xpi) = 441328 +SHA256 (xpi/firefox-i18n-36.0b10/hy-AM.xpi) = 796d4bb50a6e1f1ae6a27264510a3ff1576d9a0dcfe803a68c33f64c699b1eb0 +SIZE (xpi/firefox-i18n-36.0b10/hy-AM.xpi) = 522156 +SHA256 (xpi/firefox-i18n-36.0b10/id.xpi) = a0c6bdefa4c02dda1906f04655c1714948dd3111612ccd0f41238e19de840b37 +SIZE (xpi/firefox-i18n-36.0b10/id.xpi) = 419615 +SHA256 (xpi/firefox-i18n-36.0b10/is.xpi) = e7aa3021baf4dfe0b84a77394058a1b2276d536ae794027f5f00f2754ea84aa0 +SIZE (xpi/firefox-i18n-36.0b10/is.xpi) = 473420 +SHA256 (xpi/firefox-i18n-36.0b10/it.xpi) = 0e3ae206febc37db7a57ce1a49136dbcaab55ebbf7be2dda27d8c08310396b82 +SIZE (xpi/firefox-i18n-36.0b10/it.xpi) = 361315 +SHA256 (xpi/firefox-i18n-36.0b10/ja.xpi) = 8da53226314aec24b8611c2fb9e27b44dc69f988fd8b641c390784f792061fbb +SIZE (xpi/firefox-i18n-36.0b10/ja.xpi) = 465475 +SHA256 (xpi/firefox-i18n-36.0b10/kk.xpi) = 3529bab8474ef4596b118b01c739727ec65fb7eb5b391f7e69e9fceea734e2ec +SIZE (xpi/firefox-i18n-36.0b10/kk.xpi) = 490170 +SHA256 (xpi/firefox-i18n-36.0b10/km.xpi) = 1e5c851a0c1b92e76ae8fc8cf70feefb7a4a21ed8d3fc6747bf578ea4e2ebbc3 +SIZE (xpi/firefox-i18n-36.0b10/km.xpi) = 550764 +SHA256 (xpi/firefox-i18n-36.0b10/kn.xpi) = d1e68f8419b7305b75ab5979926b175e32eb3590bb1fc5e618fb710a30d27b6a +SIZE (xpi/firefox-i18n-36.0b10/kn.xpi) = 516616 +SHA256 (xpi/firefox-i18n-36.0b10/ko.xpi) = a6ffc4da71229286a4f016c3abbb53e8831f39a4b039e943620382989b78cb9b +SIZE (xpi/firefox-i18n-36.0b10/ko.xpi) = 448220 +SHA256 (xpi/firefox-i18n-36.0b10/lij.xpi) = 6f7c6ebf74a1296b477e76b08588eb872d4113c7c6c6999aaf7f3d2703eb51f1 +SIZE (xpi/firefox-i18n-36.0b10/lij.xpi) = 430851 +SHA256 (xpi/firefox-i18n-36.0b10/lt.xpi) = f57e884c55d4df2f5280fe5923bdf20bcdf89b764e4b718143cec623291d215f +SIZE (xpi/firefox-i18n-36.0b10/lt.xpi) = 474005 +SHA256 (xpi/firefox-i18n-36.0b10/lv.xpi) = fabd36db4a06fef1ec0102d2798fe4903384ea65000c5a132489ed5afd7fa13b +SIZE (xpi/firefox-i18n-36.0b10/lv.xpi) = 436231 +SHA256 (xpi/firefox-i18n-36.0b10/mai.xpi) = 587fa186ae9138137664959054ae8022bb52a69fb9729ab6561622ce9f8cfa25 +SIZE (xpi/firefox-i18n-36.0b10/mai.xpi) = 485635 +SHA256 (xpi/firefox-i18n-36.0b10/mk.xpi) = 23f957e60aad7f4d208bc76acf953c9f48995146a93e7b6118014b1b1b8048a8 +SIZE (xpi/firefox-i18n-36.0b10/mk.xpi) = 516378 +SHA256 (xpi/firefox-i18n-36.0b10/ml.xpi) = 118b09f591405ca458d24cab17ba69d5fa7de13959a20e20412d4e292c9e7d64 +SIZE (xpi/firefox-i18n-36.0b10/ml.xpi) = 514512 +SHA256 (xpi/firefox-i18n-36.0b10/mr.xpi) = 772cc6672ac759419a34fb31a14d69ca5e9a1174c6148312d753d516745705be +SIZE (xpi/firefox-i18n-36.0b10/mr.xpi) = 495229 +SHA256 (xpi/firefox-i18n-36.0b10/ms.xpi) = 8e8a2711984ca793c5e16db43be407e4ce82ccb069a61ac1787bd0c85cef5d7b +SIZE (xpi/firefox-i18n-36.0b10/ms.xpi) = 478247 +SHA256 (xpi/firefox-i18n-36.0b10/nb-NO.xpi) = ab459ea1c57df8e2d79f7ec306f0f9e3da0ab7599aa5c31070a0b76a02c0bf84 +SIZE (xpi/firefox-i18n-36.0b10/nb-NO.xpi) = 432556 +SHA256 (xpi/firefox-i18n-36.0b10/nl.xpi) = 1ee8ee109bbd587391f9c8674c287e6172a585667ca7d7bd80b70a8cf7cb3c1f +SIZE (xpi/firefox-i18n-36.0b10/nl.xpi) = 432348 +SHA256 (xpi/firefox-i18n-36.0b10/nn-NO.xpi) = d6a5c8c73c25d590530a924c815f876803b267a75a3ebf4578ce6772c87a90e6 +SIZE (xpi/firefox-i18n-36.0b10/nn-NO.xpi) = 426609 +SHA256 (xpi/firefox-i18n-36.0b10/or.xpi) = eabad3f4e9bf131bfbdc68a263dc684862ac924ea4432f124ab014836a762089 +SIZE (xpi/firefox-i18n-36.0b10/or.xpi) = 512012 +SHA256 (xpi/firefox-i18n-36.0b10/pa-IN.xpi) = 93ffefc3cfdffd59f2d0859a8bfacdbb7d7274262ad8c236ca9a26ff806c2bfc +SIZE (xpi/firefox-i18n-36.0b10/pa-IN.xpi) = 481892 +SHA256 (xpi/firefox-i18n-36.0b10/pl.xpi) = 67f049eba51622b5e3ea1ecc9b814b8264b836ca58aa0b1a12d67cb6cb30a1f6 +SIZE (xpi/firefox-i18n-36.0b10/pl.xpi) = 402049 +SHA256 (xpi/firefox-i18n-36.0b10/pt-BR.xpi) = 406d11e948fa7d583b35479dc456bb3f2cd1842be72510a2b7f6a35497914cc4 +SIZE (xpi/firefox-i18n-36.0b10/pt-BR.xpi) = 447671 +SHA256 (xpi/firefox-i18n-36.0b10/pt-PT.xpi) = 3cc6da357f18f1255d837470f7401796ed7ab444ed909b2b6044988eb63bfe1f +SIZE (xpi/firefox-i18n-36.0b10/pt-PT.xpi) = 428707 +SHA256 (xpi/firefox-i18n-36.0b10/rm.xpi) = 1e77d7fc7728d1414812d4d3221b38b105c04004d9d1e732344f76e2ed462ae7 +SIZE (xpi/firefox-i18n-36.0b10/rm.xpi) = 443938 +SHA256 (xpi/firefox-i18n-36.0b10/ro.xpi) = b6a76063a3c15b3b258a6918f77674ab42173b29914c0854ec50cb84a242374c +SIZE (xpi/firefox-i18n-36.0b10/ro.xpi) = 483570 +SHA256 (xpi/firefox-i18n-36.0b10/ru.xpi) = a7f6e20ca5b796c5b3e7f3941f4fe2239176c168bc2e9d706fdb9f1658dc7093 +SIZE (xpi/firefox-i18n-36.0b10/ru.xpi) = 406024 +SHA256 (xpi/firefox-i18n-36.0b10/si.xpi) = c217675f4e865b67fffd3c5b6be4acf60ced491e8e72ffcffcc71c240c76ac0e +SIZE (xpi/firefox-i18n-36.0b10/si.xpi) = 514744 +SHA256 (xpi/firefox-i18n-36.0b10/sk.xpi) = f04d7fbedf681c6ae896160ba0d63ed4b22d958388d38625cc9dbdfd0913fc38 +SIZE (xpi/firefox-i18n-36.0b10/sk.xpi) = 457188 +SHA256 (xpi/firefox-i18n-36.0b10/sl.xpi) = 641382da3f4e1d45fd337a6b95b372c477bbbd74be57dfa6d69d9a8d80a3b3bb +SIZE (xpi/firefox-i18n-36.0b10/sl.xpi) = 429929 +SHA256 (xpi/firefox-i18n-36.0b10/son.xpi) = 82d55c6b518a74ebce01d457f0671828df71e0dea2cd1b791edcf1d0b702ef8e +SIZE (xpi/firefox-i18n-36.0b10/son.xpi) = 436772 +SHA256 (xpi/firefox-i18n-36.0b10/sq.xpi) = 4186da9f863e5572ced5e7c1db5227aab385b5fe9be37d85a6e2e22b354339f3 +SIZE (xpi/firefox-i18n-36.0b10/sq.xpi) = 474053 +SHA256 (xpi/firefox-i18n-36.0b10/sr.xpi) = 5a9e391e5c01dd615b2cb0ee923fcfa36b6d1e92e5bdfe18073968f79da5f2f5 +SIZE (xpi/firefox-i18n-36.0b10/sr.xpi) = 467365 +SHA256 (xpi/firefox-i18n-36.0b10/sv-SE.xpi) = e7efd080ba659ded666eeb24b7662e281b1db02a4ea45b5ab9661f8d74b2e1e5 +SIZE (xpi/firefox-i18n-36.0b10/sv-SE.xpi) = 440721 +SHA256 (xpi/firefox-i18n-36.0b10/ta.xpi) = 78ff2525f941d7050462b5177044a0583197a4ad7922b8d305afd71dc4870a9a +SIZE (xpi/firefox-i18n-36.0b10/ta.xpi) = 493859 +SHA256 (xpi/firefox-i18n-36.0b10/te.xpi) = 55170346603dcb787f4f537e547177ad0e2f2f4f3e750f7497e03723c1cbfa10 +SIZE (xpi/firefox-i18n-36.0b10/te.xpi) = 513695 +SHA256 (xpi/firefox-i18n-36.0b10/th.xpi) = bdc435debd2a8bd6e0275436ab4e14f3eb6b954fd7ba4abb1569bd11c3ff9bc7 +SIZE (xpi/firefox-i18n-36.0b10/th.xpi) = 521630 +SHA256 (xpi/firefox-i18n-36.0b10/tr.xpi) = 4300c60f669cfbde17c093818d0e329c5bea13aff01c44ef87d0449dafb58e21 +SIZE (xpi/firefox-i18n-36.0b10/tr.xpi) = 468961 +SHA256 (xpi/firefox-i18n-36.0b10/uk.xpi) = b71a09224b53dec5c42f2bd5e1646c167e7c6bdc736a075d2080ed4f8d48b416 +SIZE (xpi/firefox-i18n-36.0b10/uk.xpi) = 469172 +SHA256 (xpi/firefox-i18n-36.0b10/vi.xpi) = 57e4833c29af95bf7e7463faac6425b5fe0245401bbb4c67d9876d49a1bc8768 +SIZE (xpi/firefox-i18n-36.0b10/vi.xpi) = 454447 +SHA256 (xpi/firefox-i18n-36.0b10/xh.xpi) = 0845eb35089f1ad460aeccabd9b63750bbbe460635e1110d70d007f4c854661e +SIZE (xpi/firefox-i18n-36.0b10/xh.xpi) = 436240 +SHA256 (xpi/firefox-i18n-36.0b10/zh-CN.xpi) = 6295f78a83694a18587245ad885bfda3c349856c5b5e0c35c517cb6e65b9eb30 +SIZE (xpi/firefox-i18n-36.0b10/zh-CN.xpi) = 475835 +SHA256 (xpi/firefox-i18n-36.0b10/zh-TW.xpi) = cfe67152f1a63d61997bc9cee18557f05a0c2b088e5f853371e54f063e1c7d2f +SIZE (xpi/firefox-i18n-36.0b10/zh-TW.xpi) = 455306 Modified: trunk/www/firefox-nightly/Makefile.hgrev ============================================================================== --- trunk/www/firefox-nightly/Makefile.hgrev Fri Feb 6 10:30:54 2015 (r1814) +++ trunk/www/firefox-nightly/Makefile.hgrev Thu Feb 19 12:50:03 2015 (r1815) @@ -1 +1 @@ -HGREV= 227152:c6b67adc757c +HGREV= 229828:67ea8244ccf3 Modified: trunk/www/firefox-nightly/distinfo ============================================================================== --- trunk/www/firefox-nightly/distinfo Fri Feb 6 10:30:54 2015 (r1814) +++ trunk/www/firefox-nightly/distinfo Thu Feb 19 12:50:03 2015 (r1815) @@ -1,2 +1,2 @@ -SHA256 (firefox-nightly/c6b67adc757c.tar.bz2) = 96add20e7d6fc5a9f878129f0f5c57822656e449f1e460d55c712c156fd15c64 -SIZE (firefox-nightly/c6b67adc757c.tar.bz2) = 176661210 +SHA256 (firefox-nightly/67ea8244ccf3.tar.bz2) = e987dbfc2acc54ef609d3f7b19feee34d3ddc8accaab4a3075c6adcadd14b17b +SIZE (firefox-nightly/67ea8244ccf3.tar.bz2) = 177370223 Modified: trunk/www/firefox-nightly/files/patch-system-openh264 ============================================================================== --- trunk/www/firefox-nightly/files/patch-system-openh264 Fri Feb 6 10:30:54 2015 (r1814) +++ trunk/www/firefox-nightly/files/patch-system-openh264 Thu Feb 19 12:50:03 2015 (r1815) @@ -101,33 +101,60 @@ this._deferred.resolve(extractedPaths); }, err => { this._deferred.reject(err); -diff --git toolkit/mozapps/extensions/internal/OpenH264Provider.jsm toolkit/mozapps/extensions/internal/OpenH264Provider.jsm +diff --git toolkit/mozapps/extensions/internal/GMPProvider.jsm toolkit/mozapps/extensions/internal/GMPProvider.jsm index 1f3a0b1..93517be 100644 ---- toolkit/mozapps/extensions/internal/OpenH264Provider.jsm -+++ toolkit/mozapps/extensions/internal/OpenH264Provider.jsm -@@ -29,6 +29,7 @@ - const OPENH264_PLUGIN_ID = "gmp-gmpopenh264"; - const OPENH264_PREF_BRANCH = "media." + OPENH264_PLUGIN_ID + "."; - const OPENH264_PREF_ENABLED = "enabled"; -+const OPENH264_PREF_PATH = "path"; - const OPENH264_PREF_VERSION = "version"; - const OPENH264_PREF_LASTUPDATE = "lastUpdate"; - const OPENH264_PREF_AUTOUPDATE = "autoupdate"; -@@ -93,7 +94,12 @@ - - get description() { return pluginsBundle.GetStringFromName("openH264_description"); }, - -- get version() { return prefs.get(OPENH264_PREF_VERSION, ""); }, -+ get version() { +--- toolkit/mozapps/extensions/internal/GMPProvider.jsm ++++ toolkit/mozapps/extensions/internal/GMPProvider.jsm +@@ -40,6 +40,7 @@ const KEY_LOGGING_LEVEL = KEY_LOG_B + const KEY_LOGGING_DUMP = KEY_LOG_BASE + "dump"; + const KEY_EME_ENABLED = "media.eme.enabled"; // Global pref to enable/disable all EME plugins + const KEY_PLUGIN_ENABLED = "media.{0}.enabled"; ++const KEY_PLUGIN_PATH = "media.{0}.path"; + const KEY_PLUGIN_LAST_UPDATE = "media.{0}.lastUpdate"; + const KEY_PLUGIN_VERSION = "media.{0}.version"; + const KEY_PLUGIN_AUTOUPDATE = "media.{0}.autoupdate"; +@@ -165,8 +166,8 @@ function GMPWrapper(aPluginInfo) { + this._plugin.id + ") "); + Preferences.observe(GMPPrefs.getPrefKey(KEY_PLUGIN_ENABLED, this._plugin.id), + this.onPrefEnabledChanged, this); +- Preferences.observe(GMPPrefs.getPrefKey(KEY_PLUGIN_VERSION, this._plugin.id), +- this.onPrefVersionChanged, this); ++ Preferences.observe(GMPPrefs.getPrefKey(KEY_PLUGIN_PATH, this._plugin.id), ++ this.onPrefPathChanged, this); + if (this._plugin.isEME) { + Preferences.observe(GMPPrefs.getPrefKey(KEY_EME_ENABLED, this._plugin.id), + this.onPrefEnabledChanged, this); +@@ -183,11 +184,8 @@ GMPWrapper.prototype = { + + set gmpPath(aPath) { this._gmpPath = aPath; }, + get gmpPath() { +- if (!this._gmpPath && this.isInstalled) { +- this._gmpPath = OS.Path.join(OS.Constants.Path.profileDir, +- this._plugin.id, +- GMPPrefs.get(KEY_PLUGIN_VERSION, null, +- this._plugin.id)); ++ if (!this._gmpPath) { ++ this._gmpPath = GMPPrefs.get(KEY_PLUGIN_PATH, null, this._plugin.id); + } + return this._gmpPath; + }, +@@ -202,8 +200,13 @@ GMPWrapper.prototype = { + get description() { return this._plugin.description; }, + get fullDescription() { return this._plugin.fullDescription; }, + +- get version() { return GMPPrefs.get(KEY_PLUGIN_VERSION, null, +- this._plugin.id); }, ++ get version() { + if (this.isInstalled) { -+ return prefs.get(OPENH264_PREF_VERSION, ""); ++ return GMPPrefs.get(KEY_PLUGIN_VERSION, null, ++ this._plugin.id); + } -+ return ""; ++ return null; + }, get isActive() { return !this.userDisabled; }, get appDisabled() { return false; }, -@@ -217,24 +223,17 @@ +@@ -346,24 +349,17 @@ GMPWrapper.prototype = { get pluginMimeTypes() { return []; }, get pluginLibraries() { @@ -136,86 +163,67 @@ - return [path]; - } - return []; -+ let path = prefs.get(OPENH264_PREF_PATH, null); ++ let path = GMPPrefs.get(KEY_PLUGIN_PATH, null, this._plugin.id); + return path && path.length ? [OS.Path.basename(path)] : []; }, get pluginFullpath() { - if (this.isInstalled) { - let path = OS.Path.join(OS.Constants.Path.profileDir, -- OPENH264_PLUGIN_ID, +- this._plugin.id, - this.version); - return [path]; - } - return []; -+ let path = prefs.get(OPENH264_PREF_PATH, null); ++ let path = GMPPrefs.get(KEY_PLUGIN_PATH, null, this._plugin.id); + return path && path.length ? [path] : []; }, get isInstalled() { -- return this.version.length > 0; -+ let path = prefs.get(OPENH264_PREF_PATH, ""); -+ return path.length > 0; +- return this.version && this.version.length > 0; ++ let path = GMPPrefs.get(KEY_PLUGIN_PATH, null, this._plugin.id); ++ return path && path.length > 0; }, - }; -@@ -245,19 +244,14 @@ - "OpenH264Provider" + "::"); - OpenH264Wrapper._log = Log.repository.getLoggerWithMessagePrefix("Toolkit.OpenH264Provider", - "OpenH264Wrapper" + "::"); -- this.gmpPath = null; -- if (OpenH264Wrapper.isInstalled) { -- this.gmpPath = OS.Path.join(OS.Constants.Path.profileDir, -- OPENH264_PLUGIN_ID, -- prefs.get(OPENH264_PREF_VERSION, null)); -- } -+ this.gmpPath = prefs.get(OPENH264_PREF_PATH, null); - let enabled = prefs.get(OPENH264_PREF_ENABLED, true); - this._log.trace("startup() - enabled=" + enabled + ", gmpPath="+this.gmpPath); - - - Services.obs.addObserver(this, AddonManager.OPTIONS_NOTIFICATION_DISPLAYED, false); - prefs.observe(OPENH264_PREF_ENABLED, this.onPrefEnabledChanged, this); -- prefs.observe(OPENH264_PREF_VERSION, this.onPrefVersionChanged, this); -+ prefs.observe(OPENH264_PREF_PATH, this.onPrefPathChanged, this); - prefs.observe(OPENH264_PREF_LOGGING, configureLogging); - - if (this.gmpPath && enabled) { -@@ -270,7 +264,7 @@ - this._log.trace("shutdown()"); - Services.obs.removeObserver(this, AddonManager.OPTIONS_NOTIFICATION_DISPLAYED); - prefs.ignore(OPENH264_PREF_ENABLED, this.onPrefEnabledChanged, this); -- prefs.ignore(OPENH264_PREF_VERSION, this.onPrefVersionChanged, this); -+ prefs.ignore(OPENH264_PREF_PATH, this.onPrefPathChanged, this); - prefs.ignore(OPENH264_PREF_LOGGING, configureLogging); - - return OpenH264Wrapper._updateTask; -@@ -296,25 +290,20 @@ - wrapper); + onPrefEnabledChanged: function() { +@@ -386,10 +382,10 @@ GMPWrapper.prototype = { + this); }, - onPrefVersionChanged: function() { + onPrefPathChanged: function() { - let wrapper = OpenH264Wrapper; - - AddonManagerPrivate.callAddonListeners("onUninstalling", wrapper, false); - if (this.gmpPath) { -- this._log.info("onPrefVersionChanged() - unregistering gmp directory " + this.gmpPath); -+ this._log.info("onPrefPathChanged() - removing gmp directory " + this.gmpPath); - gmpService.removePluginDirectory(this.gmpPath); + AddonManagerPrivate.callAddonListeners("onUninstalling", this, false); + if (this._gmpPath) { +- this._log.info("onPrefVersionChanged() - unregistering gmp directory " + ++ this._log.info("onPrefPathChanged() - unregistering gmp directory " + + this._gmpPath); + gmpService.removePluginDirectory(this._gmpPath); } - AddonManagerPrivate.callAddonListeners("onUninstalled", wrapper); +@@ -397,15 +393,9 @@ GMPWrapper.prototype = { - AddonManagerPrivate.callInstallListeners("onExternalInstall", null, wrapper, null, false); -- this.gmpPath = null; -- if (OpenH264Wrapper.isInstalled) { -- this.gmpPath = OS.Path.join(OS.Constants.Path.profileDir, -- OPENH264_PLUGIN_ID, -- prefs.get(OPENH264_PREF_VERSION, null)); + AddonManagerPrivate.callInstallListeners("onExternalInstall", null, this, + null, false); +- this._gmpPath = null; +- if (this.isInstalled) { +- this._gmpPath = OS.Path.join(OS.Constants.Path.profileDir, +- this._plugin.id, +- GMPPrefs.get(KEY_PLUGIN_VERSION, null, +- this._plugin.id)); - } -+ this.gmpPath = prefs.get(OPENH264_PREF_PATH, null); - if (this.gmpPath && wrapper.isActive) { -- this._log.info("onPrefVersionChanged() - registering gmp directory " + this.gmpPath); -+ this._log.info("onPrefPathChanged() - adding gmp directory " + this.gmpPath); - gmpService.addPluginDirectory(this.gmpPath); ++ this._gmpPath = GMPPrefs.get(KEY_PLUGIN_PATH, null, this._plugin.id); + if (this._gmpPath && this.isActive) { +- this._log.info("onPrefVersionChanged() - registering gmp directory " + ++ this._log.info("onPrefPathChanged() - registering gmp directory " + + this._gmpPath); + gmpService.addPluginDirectory(this._gmpPath); } - AddonManagerPrivate.callAddonListeners("onInstalled", wrapper); +@@ -415,8 +405,8 @@ GMPWrapper.prototype = { + shutdown: function() { + Preferences.ignore(GMPPrefs.getPrefKey(KEY_PLUGIN_ENABLED, this._plugin.id), + this.onPrefEnabledChanged, this); +- Preferences.ignore(GMPPrefs.getPrefKey(KEY_PLUGIN_VERSION, this._plugin.id), +- this.onPrefVersionChanged, this); ++ Preferences.ignore(GMPPrefs.getPrefKey(KEY_PLUGIN_PATH, this._plugin.id), ++ this.onPrefPathChanged, this); + if (this._isEME) { + Preferences.ignore(GMPPrefs.getPrefKey(KEY_EME_ENABLED, this._plugin.id), + this.onPrefEnabledChanged, this); Modified: trunk/www/firefox/Makefile ============================================================================== --- trunk/www/firefox/Makefile Fri Feb 6 10:30:54 2015 (r1814) +++ trunk/www/firefox/Makefile Thu Feb 19 12:50:03 2015 (r1815) @@ -2,7 +2,7 @@ # $FreeBSD: head/www/firefox/Makefile 375599 2014-12-25 20:55:54Z bapt $ PORTNAME= firefox -DISTVERSION= 36.0b6 +DISTVERSION= 36.0b10 DISTVERSIONSUFFIX=.source PORTEPOCH= 1 CATEGORIES= www ipv6 Modified: trunk/www/firefox/distinfo ============================================================================== --- trunk/www/firefox/distinfo Fri Feb 6 10:30:54 2015 (r1814) +++ trunk/www/firefox/distinfo Thu Feb 19 12:50:03 2015 (r1815) @@ -1,2 +1,2 @@ -SHA256 (firefox-36.0b6.source.tar.bz2) = 396c4449501a3d34021d66d00928cd5974da3aa840eca5675195dbeefb21f713 -SIZE (firefox-36.0b6.source.tar.bz2) = 179872000 +SHA256 (firefox-36.0b10.source.tar.bz2) = 51568c2e5c9e95c58d2ae97a332c398e1ea2f75adfd42df6a995b98490c19eb2 +SIZE (firefox-36.0b10.source.tar.bz2) = 400397738 Modified: trunk/www/linux-firefox/Makefile ============================================================================== --- trunk/www/linux-firefox/Makefile Fri Feb 6 10:30:54 2015 (r1814) +++ trunk/www/linux-firefox/Makefile Thu Feb 19 12:50:03 2015 (r1815) @@ -2,7 +2,7 @@ # $FreeBSD: head/www/linux-firefox/Makefile 373830 2014-12-03 14:55:25Z beat $ PORTNAME= firefox -DISTVERSION= 36.0b6 +DISTVERSION= 36.0b10 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/linux-i686/en-US Modified: trunk/www/linux-firefox/distinfo ============================================================================== --- trunk/www/linux-firefox/distinfo Fri Feb 6 10:30:54 2015 (r1814) +++ trunk/www/linux-firefox/distinfo Thu Feb 19 12:50:03 2015 (r1815) @@ -1,5 +1,5 @@ -SHA256 (firefox-36.0b6.tar.bz2) = 65f59231bf609f4fb78e23d42e2cbdb1d32be4b3d9d7b6dc3062f063f5189011 -SIZE (firefox-36.0b6.tar.bz2) = 47891363 +SHA256 (firefox-36.0b10.tar.bz2) = e80ea39a0e72ce0fa90f0b75e096b814df6f702a538f4b942eeeb60cb7ab26f5 +SIZE (firefox-36.0b10.tar.bz2) = 47847269 SHA256 (glib2-2.22.2-2.fc12.i686.rpm) = e3b459c245ec14e7248e9de4b506963a4773407f3e58835db5070d0ed02ecc99 SIZE (glib2-2.22.2-2.fc12.i686.rpm) = 1162908 SHA256 (gtk2-2.18.3-19.fc12.i686.rpm) = aea9cf7ffe9c8dae0faa2bf3d2aa1b2117c55dce03da72dcce8c268279ec0a4b Modified: trunk/www/linux-seamonkey/Makefile ============================================================================== --- trunk/www/linux-seamonkey/Makefile Fri Feb 6 10:30:54 2015 (r1814) +++ trunk/www/linux-seamonkey/Makefile Thu Feb 19 12:50:03 2015 (r1815) @@ -2,7 +2,7 @@ # $FreeBSD: head/www/linux-seamonkey/Makefile 373997 2014-12-05 08:36:29Z beat $ PORTNAME= seamonkey -DISTVERSION= 2.32 +DISTVERSION= 2.33b1 CATEGORIES= www mail news editors irc ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/linux-i686/en-US Modified: trunk/www/linux-seamonkey/distinfo ============================================================================== --- trunk/www/linux-seamonkey/distinfo Fri Feb 6 10:30:54 2015 (r1814) +++ trunk/www/linux-seamonkey/distinfo Thu Feb 19 12:50:03 2015 (r1815) @@ -1,5 +1,5 @@ -SHA256 (seamonkey-2.32.tar.bz2) = 571829702f8dc5f869181ec31911797471e63ebac5b0b2bfb9f5ae1986478f47 -SIZE (seamonkey-2.32.tar.bz2) = 40849036 +SHA256 (seamonkey-2.33b1.tar.bz2) = 58bec4bc4e0b8990b0fbaff9bb0ea50fb6f7f82f064ae46f365d6c17bd60a5a0 +SIZE (seamonkey-2.33b1.tar.bz2) = 41385948 SHA256 (glib2-2.22.2-2.fc12.i686.rpm) = e3b459c245ec14e7248e9de4b506963a4773407f3e58835db5070d0ed02ecc99 SIZE (glib2-2.22.2-2.fc12.i686.rpm) = 1162908 SHA256 (gtk2-2.18.3-19.fc12.i686.rpm) = aea9cf7ffe9c8dae0faa2bf3d2aa1b2117c55dce03da72dcce8c268279ec0a4b Modified: trunk/www/linux-seamonkey/pkg-plist ============================================================================== --- trunk/www/linux-seamonkey/pkg-plist Fri Feb 6 10:30:54 2015 (r1814) +++ trunk/www/linux-seamonkey/pkg-plist Thu Feb 19 12:50:03 2015 (r1815) @@ -88,7 +88,6 @@ lib/%%APP_NAME%%/libldap60.so lib/%%APP_NAME%%/libldif60.so lib/%%APP_NAME%%/libmozalloc.so -lib/%%APP_NAME%%/libmozsandbox.so lib/%%APP_NAME%%/libmozsqlite3.so lib/%%APP_NAME%%/libnspr4.so lib/%%APP_NAME%%/libnss3.so @@ -105,7 +104,6 @@ lib/%%APP_NAME%%/libssl3.so lib/%%APP_NAME%%/libxul.so lib/%%APP_NAME%%/license.txt -lib/%%APP_NAME%%/mozilla-xremote-client lib/%%APP_NAME%%/omni.ja lib/%%APP_NAME%%/platform.ini lib/%%APP_NAME%%/plugin-container @@ -115,7 +113,7 @@ lib/%%APP_NAME%%/run-mozilla.sh lib/%%APP_NAME%%/seamonkey lib/%%APP_NAME%%/seamonkey-bin -lib/%%APP_NAME%%/searchplugins/creativecommons.xml +lib/%%APP_NAME%%/searchplugins/duckduckgo.xml lib/%%APP_NAME%%/searchplugins/google.xml lib/%%APP_NAME%%/searchplugins/wikipedia.xml lib/%%APP_NAME%%/searchplugins/yahoo.xml Modified: trunk/www/linux-tor-browser/Makefile ============================================================================== --- trunk/www/linux-tor-browser/Makefile Fri Feb 6 10:30:54 2015 (r1814) +++ trunk/www/linux-tor-browser/Makefile Thu Feb 19 12:50:03 2015 (r1815) @@ -5,7 +5,7 @@ DISTVERSION= 4.5a3 DISTVERSIONSUFFIX=_${LOCALE} CATEGORIES= www security linux -MASTER_SITES= \ +MASTER_SITES= https://people.torproject.org/~mikeperry/builds/${DISTVERSION}/ \ TOR/torbrowser/${DISTVERSION} PKGNAMEPREFIX= linux- Modified: trunk/www/seamonkey-i18n/Makefile ============================================================================== --- trunk/www/seamonkey-i18n/Makefile Fri Feb 6 10:30:54 2015 (r1814) +++ trunk/www/seamonkey-i18n/Makefile Thu Feb 19 12:50:03 2015 (r1815) @@ -2,7 +2,7 @@ # $FreeBSD: head/www/seamonkey-i18n/Makefile 373997 2014-12-05 08:36:29Z beat $ PORTNAME= seamonkey-i18n -PORTVERSION= 2.32 +PORTVERSION= 2.33b1 CATEGORIES= www mail news editors irc MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${PORTVERSION}/langpack PKGNAMEPREFIX= Modified: trunk/www/seamonkey-i18n/distinfo ============================================================================== --- trunk/www/seamonkey-i18n/distinfo Fri Feb 6 10:30:54 2015 (r1814) +++ trunk/www/seamonkey-i18n/distinfo Thu Feb 19 12:50:03 2015 (r1815) @@ -1,54 +1,28 @@ -SHA256 (xpi/seamonkey-i18n-2.32/seamonkey-2.32.be.langpack.xpi) = fec9ed55542d53940cc8c73c37519acbcbe5451106e495b661e85eda27b040c8 -SIZE (xpi/seamonkey-i18n-2.32/seamonkey-2.32.be.langpack.xpi) = 841560 -SHA256 (xpi/seamonkey-i18n-2.32/seamonkey-2.32.ca.langpack.xpi) = d2f1e695ce860c976fc8239f2315aee37e2a8c3fa482dbd2ec9b3f16dd6daff4 -SIZE (xpi/seamonkey-i18n-2.32/seamonkey-2.32.ca.langpack.xpi) = 832917 -SHA256 (xpi/seamonkey-i18n-2.32/seamonkey-2.32.cs.langpack.xpi) = 19616f12c39cc398b8e27197a81be822b08ee2bad104ec705d2877fa175831f8 -SIZE (xpi/seamonkey-i18n-2.32/seamonkey-2.32.cs.langpack.xpi) = 830451 -SHA256 (xpi/seamonkey-i18n-2.32/seamonkey-2.32.de.langpack.xpi) = 6588e65232922c57a7cdd53cab38a3d8cd8f26fa6105ae564a3ae231be2d67b8 -SIZE (xpi/seamonkey-i18n-2.32/seamonkey-2.32.de.langpack.xpi) = 838041 -SHA256 (xpi/seamonkey-i18n-2.32/seamonkey-2.32.en-GB.langpack.xpi) = f74ef701cb701527d4852591450864bd97ccd6f3b4b6392fedb474c260ab6a84 -SIZE (xpi/seamonkey-i18n-2.32/seamonkey-2.32.en-GB.langpack.xpi) = 804019 -SHA256 (xpi/seamonkey-i18n-2.32/seamonkey-2.32.en-US.langpack.xpi) = 73cdd17bc37fc4346b594ee35f5adcc0e3fcc870a66662e9a67faafa372a40f6 -SIZE (xpi/seamonkey-i18n-2.32/seamonkey-2.32.en-US.langpack.xpi) = 803478 -SHA256 (xpi/seamonkey-i18n-2.32/seamonkey-2.32.es-AR.langpack.xpi) = 2d40bc0f2f6e9a31618c149b7a1c9a69cbb92f5e79e1e90d063a94e9390d1326 -SIZE (xpi/seamonkey-i18n-2.32/seamonkey-2.32.es-AR.langpack.xpi) = 852545 -SHA256 (xpi/seamonkey-i18n-2.32/seamonkey-2.32.es-ES.langpack.xpi) = 2d1e94907a26ffef9b0df13c6d79ef238f5f3da271add0e1503174a1bccc70f1 -SIZE (xpi/seamonkey-i18n-2.32/seamonkey-2.32.es-ES.langpack.xpi) = 829553 -SHA256 (xpi/seamonkey-i18n-2.32/seamonkey-2.32.fi.langpack.xpi) = 84c3d99167bb99f9dca4eb2c7f9f6c96c5610b0e4cf69a43a5bfa720f4ac4f7f -SIZE (xpi/seamonkey-i18n-2.32/seamonkey-2.32.fi.langpack.xpi) = 799881 -SHA256 (xpi/seamonkey-i18n-2.32/seamonkey-2.32.fr.langpack.xpi) = faa3938631be0862bfc2f851caf7f065a255bb931d4d6bddea0af656c1ac472c -SIZE (xpi/seamonkey-i18n-2.32/seamonkey-2.32.fr.langpack.xpi) = 810711 -SHA256 (xpi/seamonkey-i18n-2.32/seamonkey-2.32.gl.langpack.xpi) = 2ddb7809dfbde64044c1b46b20ef9e86e82f13a9c1da18d8cd8b5c9cdc32038d -SIZE (xpi/seamonkey-i18n-2.32/seamonkey-2.32.gl.langpack.xpi) = 814445 -SHA256 (xpi/seamonkey-i18n-2.32/seamonkey-2.32.hu.langpack.xpi) = 7c87922eac25dd9cc8bfcc1f61e458c27197816be50d28948f759e5d5fdfae7e -SIZE (xpi/seamonkey-i18n-2.32/seamonkey-2.32.hu.langpack.xpi) = 844069 -SHA256 (xpi/seamonkey-i18n-2.32/seamonkey-2.32.it.langpack.xpi) = 1925e77234e5a4423d66b0e988a5ef9aeb067d8193e34a31273741570cb77540 -SIZE (xpi/seamonkey-i18n-2.32/seamonkey-2.32.it.langpack.xpi) = 742070 -SHA256 (xpi/seamonkey-i18n-2.32/seamonkey-2.32.ja-JP-mac.langpack.xpi) = d999898fc267310b68c419e56c7fc520791f2a03e596b5b150ea45e28b215ec6 -SIZE (xpi/seamonkey-i18n-2.32/seamonkey-2.32.ja-JP-mac.langpack.xpi) = 900391 -SHA256 (xpi/seamonkey-i18n-2.32/seamonkey-2.32.ja.langpack.xpi) = e44009f8ec92c476f0c04ea6862629db8884f8f143f707ae47418ac9ecbad6dd -SIZE (xpi/seamonkey-i18n-2.32/seamonkey-2.32.ja.langpack.xpi) = 884921 -SHA256 (xpi/seamonkey-i18n-2.32/seamonkey-2.32.lt.langpack.xpi) = f2b7a50cb4a8e02e2cdd4badcf5566ca520f95450a0d84d267297e6ca57b7a22 -SIZE (xpi/seamonkey-i18n-2.32/seamonkey-2.32.lt.langpack.xpi) = 852677 -SHA256 (xpi/seamonkey-i18n-2.32/seamonkey-2.32.nb-NO.langpack.xpi) = 0666795e29873639bf1cd127b22491a4c87d3d38894de5d5734a68e5a83356ea -SIZE (xpi/seamonkey-i18n-2.32/seamonkey-2.32.nb-NO.langpack.xpi) = 822959 -SHA256 (xpi/seamonkey-i18n-2.32/seamonkey-2.32.nl.langpack.xpi) = f7a93a63084268f9a593859d72fd207d33e01c87f2f0983ab4c536b529183b74 -SIZE (xpi/seamonkey-i18n-2.32/seamonkey-2.32.nl.langpack.xpi) = 796641 -SHA256 (xpi/seamonkey-i18n-2.32/seamonkey-2.32.pl.langpack.xpi) = f6b5ac5a752ba2e3d2b5145f5f05d2d486ccc3fc1c56898ef143b0009a60d3c6 -SIZE (xpi/seamonkey-i18n-2.32/seamonkey-2.32.pl.langpack.xpi) = 868114 -SHA256 (xpi/seamonkey-i18n-2.32/seamonkey-2.32.pt-PT.langpack.xpi) = 5bcdb4fa75d548301d7d16ecff4d97c7348f53c98cea6920a9154b3fa5c85611 -SIZE (xpi/seamonkey-i18n-2.32/seamonkey-2.32.pt-PT.langpack.xpi) = 833784 -SHA256 (xpi/seamonkey-i18n-2.32/seamonkey-2.32.ru.langpack.xpi) = 039e3c3ba62b2157c7a3da45a6fa1ebbb5276524dbb059f6352cb5d7f0d74368 -SIZE (xpi/seamonkey-i18n-2.32/seamonkey-2.32.ru.langpack.xpi) = 899661 -SHA256 (xpi/seamonkey-i18n-2.32/seamonkey-2.32.sk.langpack.xpi) = cb5111034a7561dc7a5928032920cdffe0e7a828c2e3188f37baebfd9619d496 -SIZE (xpi/seamonkey-i18n-2.32/seamonkey-2.32.sk.langpack.xpi) = 857464 -SHA256 (xpi/seamonkey-i18n-2.32/seamonkey-2.32.sv-SE.langpack.xpi) = b8d3c4b1d11d21b11a2fde81fa265a1cfc228678f2021f306329f90c8bfd1af1 -SIZE (xpi/seamonkey-i18n-2.32/seamonkey-2.32.sv-SE.langpack.xpi) = 825104 -SHA256 (xpi/seamonkey-i18n-2.32/seamonkey-2.32.tr.langpack.xpi) = 88075220e2f653ca2b318e54d80a2d4f56b3cea041d861892822e63b63c493b8 -SIZE (xpi/seamonkey-i18n-2.32/seamonkey-2.32.tr.langpack.xpi) = 811614 -SHA256 (xpi/seamonkey-i18n-2.32/seamonkey-2.32.uk.langpack.xpi) = 85772ee30485bd069ff97827d487ba974906369598ef80793ca41c0d59183c46 -SIZE (xpi/seamonkey-i18n-2.32/seamonkey-2.32.uk.langpack.xpi) = 873317 -SHA256 (xpi/seamonkey-i18n-2.32/seamonkey-2.32.zh-CN.langpack.xpi) = 6948c68c87c41587786f92f728cb0ac9568066f2e4e5e8cd858a09f8aa5c5d31 -SIZE (xpi/seamonkey-i18n-2.32/seamonkey-2.32.zh-CN.langpack.xpi) = 834251 -SHA256 (xpi/seamonkey-i18n-2.32/seamonkey-2.32.zh-TW.langpack.xpi) = 58e96499f4a412741b04ecd3026ebbd2cb50be14ec69d17b6e5373f6b2915b71 -SIZE (xpi/seamonkey-i18n-2.32/seamonkey-2.32.zh-TW.langpack.xpi) = 860363 +SHA256 (xpi/seamonkey-i18n-2.33b1/seamonkey-2.33b1.ca.langpack.xpi) = 20c30b0432b5507f65a0233eccf33b1765f45a053cb52aec2ca119ed3a909be5 +SIZE (xpi/seamonkey-i18n-2.33b1/seamonkey-2.33b1.ca.langpack.xpi) = 834198 +SHA256 (xpi/seamonkey-i18n-2.33b1/seamonkey-2.33b1.cs.langpack.xpi) = f90c403d70ca2202f843541936bc68b55797cfa5b6070ae1b687277a6da70672 +SIZE (xpi/seamonkey-i18n-2.33b1/seamonkey-2.33b1.cs.langpack.xpi) = 831809 +SHA256 (xpi/seamonkey-i18n-2.33b1/seamonkey-2.33b1.de.langpack.xpi) = 314f157f224a8cd86b8c76b0a7286423e943f27a5abd76fad7b69b378f08d3ee +SIZE (xpi/seamonkey-i18n-2.33b1/seamonkey-2.33b1.de.langpack.xpi) = 838260 +SHA256 (xpi/seamonkey-i18n-2.33b1/seamonkey-2.33b1.en-US.langpack.xpi) = f134ec0669f72c9cab855a496fa4fadb8d26c6c8872de86c394b5ce4076f6e61 +SIZE (xpi/seamonkey-i18n-2.33b1/seamonkey-2.33b1.en-US.langpack.xpi) = 803778 +SHA256 (xpi/seamonkey-i18n-2.33b1/seamonkey-2.33b1.fi.langpack.xpi) = 37fd223c97a5a29055c9bcad658b681fd0dd5fe5448336892674211356ab23b0 +SIZE (xpi/seamonkey-i18n-2.33b1/seamonkey-2.33b1.fi.langpack.xpi) = 801205 +SHA256 (xpi/seamonkey-i18n-2.33b1/seamonkey-2.33b1.it.langpack.xpi) = 6253da09e35537716f10e6063413c0862cf9eadef3c2642610a2245ca0ba9250 +SIZE (xpi/seamonkey-i18n-2.33b1/seamonkey-2.33b1.it.langpack.xpi) = 742286 +SHA256 (xpi/seamonkey-i18n-2.33b1/seamonkey-2.33b1.ja-JP-mac.langpack.xpi) = b02beb222c215355b7fd0f1b1e07dcef94adadba7576c80c373be09b836f4027 +SIZE (xpi/seamonkey-i18n-2.33b1/seamonkey-2.33b1.ja-JP-mac.langpack.xpi) = 901809 +SHA256 (xpi/seamonkey-i18n-2.33b1/seamonkey-2.33b1.ja.langpack.xpi) = 4ca7088d4c789ccc7de24c08c361f8daf9c8ea3c33e872af60e4e9b98daea4bb +SIZE (xpi/seamonkey-i18n-2.33b1/seamonkey-2.33b1.ja.langpack.xpi) = 886324 +SHA256 (xpi/seamonkey-i18n-2.33b1/seamonkey-2.33b1.pl.langpack.xpi) = f176f1b597451e5b609a2f7cf8b3083f60587d1ed62fd9f22c68617fb5d1f5e8 +SIZE (xpi/seamonkey-i18n-2.33b1/seamonkey-2.33b1.pl.langpack.xpi) = 867981 +SHA256 (xpi/seamonkey-i18n-2.33b1/seamonkey-2.33b1.pt-PT.langpack.xpi) = fbfd1c5d372ebbda63516f8736f20330c43d96bc3ee5d0783e2afa4d973e4e39 +SIZE (xpi/seamonkey-i18n-2.33b1/seamonkey-2.33b1.pt-PT.langpack.xpi) = 834973 +SHA256 (xpi/seamonkey-i18n-2.33b1/seamonkey-2.33b1.ru.langpack.xpi) = 0c45b54e95e816b2ee8bc774c2ae3e2680705623d7c35486a347ab3f113136f7 +SIZE (xpi/seamonkey-i18n-2.33b1/seamonkey-2.33b1.ru.langpack.xpi) = 899955 +SHA256 (xpi/seamonkey-i18n-2.33b1/seamonkey-2.33b1.sk.langpack.xpi) = e540e2fd681eddf61f7bf3d35afed168571fa0712df0e59d0db1087ad7040641 +SIZE (xpi/seamonkey-i18n-2.33b1/seamonkey-2.33b1.sk.langpack.xpi) = 857562 +SHA256 (xpi/seamonkey-i18n-2.33b1/seamonkey-2.33b1.tr.langpack.xpi) = 1551c54d6dc62571c22e31e8d61626de5da5b351678faedce229306c39fd9cca +SIZE (xpi/seamonkey-i18n-2.33b1/seamonkey-2.33b1.tr.langpack.xpi) = 812396 +SHA256 (xpi/seamonkey-i18n-2.33b1/seamonkey-2.33b1.zh-TW.langpack.xpi) = d9db44e77c6607eb168237ba8a622a4d57779e7c38754eaadce14f47b69b23d7 +SIZE (xpi/seamonkey-i18n-2.33b1/seamonkey-2.33b1.zh-TW.langpack.xpi) = 860685 Modified: trunk/www/seamonkey/Makefile ============================================================================== --- trunk/www/seamonkey/Makefile Fri Feb 6 10:30:54 2015 (r1814) +++ trunk/www/seamonkey/Makefile Thu Feb 19 12:50:03 2015 (r1815) @@ -2,7 +2,7 @@ # $FreeBSD: head/www/seamonkey/Makefile 375599 2014-12-25 20:55:54Z bapt $ PORTNAME= seamonkey -DISTVERSION= 2.32 +DISTVERSION= 2.33b1 CATEGORIES?= www mail news editors irc ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ https://ftp.mozilla.org/pub/mozilla.org/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source/ @@ -13,7 +13,7 @@ COMMENT= The open source, standards compliant web browser BUILD_DEPENDS= nspr>=4.10.6:${PORTSDIR}/devel/nspr \ - nss>=3.17.2:${PORTSDIR}/security/nss \ + nss>=3.17.3:${PORTSDIR}/security/nss \ libevent2>=2.0.21_2:${PORTSDIR}/devel/libevent2 \ cairo>=1.12.16_1,2:${PORTSDIR}/graphics/cairo \ soundtouch>=1.8.0:${PORTSDIR}/audio/soundtouch \ @@ -22,7 +22,7 @@ libvorbis>=1.3.4:${PORTSDIR}/audio/libvorbis \ opus>=1.1:${PORTSDIR}/audio/opus \ libvpx>=1.3.0:${PORTSDIR}/multimedia/libvpx \ - sqlite3>=3.8.6:${PORTSDIR}/databases/sqlite3 \ + sqlite3>=3.8.7.4:${PORTSDIR}/databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \ v4l_compat>0:${PORTSDIR}/multimedia/v4l_compat \ autoconf-2.13:${PORTSDIR}/devel/autoconf213 \ @@ -32,7 +32,7 @@ LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l EM_VERSION= 1.7.2 -L_VERSION= 3.7 +L_VERSION= 3.8 SSP_UNSAFE= yes USE_GECKO= gecko @@ -69,7 +69,7 @@ .include -WRKSRC= ${WRKDIR}/comm-release +WRKSRC= ${WRKDIR}/comm-beta MOZSRC:= ${WRKSRC}/mozilla XPI_LIBDIR= ${PREFIX}/lib/xpi Modified: trunk/www/seamonkey/distinfo ============================================================================== --- trunk/www/seamonkey/distinfo Fri Feb 6 10:30:54 2015 (r1814) +++ trunk/www/seamonkey/distinfo Thu Feb 19 12:50:03 2015 (r1815) @@ -1,4 +1,4 @@ -SHA256 (seamonkey-2.32.source.tar.bz2) = e174dc5093e49078c33f91b4e8658327957d59bd53ac59e304441d8d5f17ba9b -SIZE (seamonkey-2.32.source.tar.bz2) = 199700383 +SHA256 (seamonkey-2.33b1.source.tar.bz2) = 696a5d9e9b743419347694e7030132b676dc27255e447e3ebdf346541d33a1d1 +SIZE (seamonkey-2.33b1.source.tar.bz2) = 203009509 SHA256 (enigmail-1.7.2.tar.gz) = 7b3a62e83961bafec1cdac60075aa6c317c8f655a837e31a7d1f3ce6a49fc7d6 SIZE (enigmail-1.7.2.tar.gz) = 1420346 Deleted: trunk/www/seamonkey/files/patch-bug1041795 ============================================================================== --- trunk/www/seamonkey/files/patch-bug1041795 Thu Feb 19 12:50:03 2015 (r1814) +++ /dev/null 00:00:00 1970 (deleted) @@ -1,48 +0,0 @@ -diff --git config/rules.mk config/rules.mk -index 4d67eda..783942f 100644 ---- mozilla/config/rules.mk -+++ mozilla/config/rules.mk -@@ -858,7 +858,7 @@ ifdef DTRACE_PROBE_OBJ - ifndef DTRACE_LIB_DEPENDENT - NON_DTRACE_OBJS := $(filter-out $(DTRACE_PROBE_OBJ),$(OBJS)) - $(DTRACE_PROBE_OBJ): $(NON_DTRACE_OBJS) -- dtrace -G -C -s $(MOZILLA_DTRACE_SRC) -o $(DTRACE_PROBE_OBJ) $(NON_DTRACE_OBJS) -+ dtrace -x nolibs -G -C -s $(MOZILLA_DTRACE_SRC) -o $(DTRACE_PROBE_OBJ) $(NON_DTRACE_OBJS) - endif - endif - endif -@@ -876,7 +876,7 @@ ifndef INCREMENTAL_LINKER - endif - ifdef DTRACE_LIB_DEPENDENT - ifndef XP_MACOSX -- dtrace -G -C -s $(MOZILLA_DTRACE_SRC) -o $(DTRACE_PROBE_OBJ) $(shell $(EXPAND_LIBS) $(MOZILLA_PROBE_LIBS)) -+ dtrace -x nolibs -G -C -s $(MOZILLA_DTRACE_SRC) -o $(DTRACE_PROBE_OBJ) $(shell $(EXPAND_LIBS) $(MOZILLA_PROBE_LIBS)) - endif - $(EXPAND_MKSHLIB) $(SHLIB_LDSTARTFILE) $(OBJS) $(SUB_SHLOBJS) $(DTRACE_PROBE_OBJ) $(MOZILLA_PROBE_LIBS) $(RESFILE) $(LDFLAGS) $(WRAP_LDFLAGS) $(SHARED_LIBRARY_LIBS) $(EXTRA_DSO_LDOPTS) $(MOZ_GLUE_LDFLAGS) $(OS_LIBS) $(EXTRA_LIBS) $(DEF_FILE) $(SHLIB_LDENDFILE) $(if $(LIB_IS_C_ONLY),,$(STLPORT_LIBS)) - @$(RM) $(DTRACE_PROBE_OBJ) -diff --git js/src/Makefile.in js/src/Makefile.in -index 28ca5e8..96793d7 100644 ---- mozilla/js/src/Makefile.in -+++ mozilla/js/src/Makefile.in -@@ -342,7 +342,7 @@ endif - - ifdef HAVE_DTRACE - $(CURDIR)/javascript-trace.h: $(srcdir)/devtools/javascript-trace.d -- dtrace -h -s $(srcdir)/devtools/javascript-trace.d -o javascript-trace.h.in -+ dtrace -x nolibs -h -s $(srcdir)/devtools/javascript-trace.d -o javascript-trace.h.in - sed -e 's/if _DTRACE_VERSION/ifdef INCLUDE_MOZILLA_DTRACE/' \ - -e '/const/!s/char \*/const char */g' \ - javascript-trace.h.in > javascript-trace.h -diff --git probes/Makefile.in probes/Makefile.in -index 6d18f34..deec83f 100644 ---- mozilla/probes/Makefile.in -+++ mozilla/probes/Makefile.in -@@ -7,7 +7,7 @@ export:: $(DIST)/include/mozilla-trace.h - - # Replace _DTRACE_VERSION with INCLUDE_MOZILLA_DTRACE - $(DIST)/include/mozilla-trace.h: mozilla-trace.d Makefile -- dtrace -h -s $(srcdir)/mozilla-trace.d -o mozilla-trace.h.tmp -+ dtrace -x nolibs -h -s $(srcdir)/mozilla-trace.d -o mozilla-trace.h.tmp - sed -e 's/if _DTRACE_VERSION/ifdef INCLUDE_MOZILLA_DTRACE/' \ - mozilla-trace.h.tmp > $(DIST)/include/mozilla-trace.h - rm mozilla-trace.h.tmp Deleted: trunk/www/seamonkey/files/patch-bug1082199 ============================================================================== --- trunk/www/seamonkey/files/patch-bug1082199 Thu Feb 19 12:50:03 2015 (r1814) +++ /dev/null 00:00:00 1970 (deleted) @@ -1,26 +0,0 @@ -commit 258ec90 -Author: Guilherme Goncalves -Date: Fri Oct 17 15:55:00 2014 +0200 - - Bug 1082199 - Recompute stats in jemalloc_stats when using jemalloc3. r=glandium ---- - memory/build/mozjemalloc_compat.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git memory/build/mozjemalloc_compat.c memory/build/mozjemalloc_compat.c -index 78bb13a..70265a7 100644 ---- mozilla/memory/build/mozjemalloc_compat.c -+++ mozilla/memory/build/mozjemalloc_compat.c -@@ -68,6 +68,12 @@ jemalloc_stats_impl(jemalloc_stats_t *stats) - size_t active, allocated, mapped, page, pdirty; - size_t lg_chunk; - -+ // Refresh jemalloc's stats by updating its epoch, see ctl_refresh in -+ // src/ctl.c -+ uint64_t epoch = 0; -+ size_t esz = sizeof(epoch); -+ int ret = je_(mallctl)("epoch", &epoch, &esz, &epoch, esz); -+ - CTL_GET("arenas.narenas", narenas); - CTL_GET("arenas.page", page); - CTL_GET("stats.active", active); Deleted: trunk/www/seamonkey/files/patch-bug1083461 ============================================================================== --- trunk/www/seamonkey/files/patch-bug1083461 Thu Feb 19 12:50:03 2015 (r1814) +++ /dev/null 00:00:00 1970 (deleted) @@ -1,159 +0,0 @@ -commit 87f367b -Author: L. David Baron -Date: Sun Oct 19 23:31:39 2014 -0400 - - Bug 1083461 - Convert nsCSSValue{,Pair}List::operator== back to a static Equal method so that it can be validly called on null pointers. r=bzbarsky - - --HG-- - extra : transplant_source : %CD%5D%9BE%FE%DE%A4%F2%B8%CF%D7%AE%84%90%3B%E8%A0d%D7%2B ---- - layout/style/StyleAnimationValue.cpp | 6 ++++-- - layout/style/nsCSSValue.cpp | 28 ++++++++++++++++------------ - layout/style/nsCSSValue.h | 22 ++++++++++++++++------ - 3 files changed, 36 insertions(+), 20 deletions(-) - -diff --git layout/style/StyleAnimationValue.cpp layout/style/StyleAnimationValue.cpp -index 40bc8bf..1898fe6 100644 ---- mozilla/layout/style/StyleAnimationValue.cpp -+++ mozilla/layout/style/StyleAnimationValue.cpp -@@ -3851,11 +3851,13 @@ StyleAnimationValue::operator==(const StyleAnimationValue& aOther) const - case eUnit_Filter: - case eUnit_Shadow: - case eUnit_BackgroundPosition: -- return *mValue.mCSSValueList == *aOther.mValue.mCSSValueList; -+ return nsCSSValueList::Equal(mValue.mCSSValueList, -+ aOther.mValue.mCSSValueList); - case eUnit_Transform: - return *mValue.mCSSValueSharedList == *aOther.mValue.mCSSValueSharedList; - case eUnit_CSSValuePairList: -- return *mValue.mCSSValuePairList == *aOther.mValue.mCSSValuePairList; -+ return nsCSSValuePairList::Equal(mValue.mCSSValuePairList, -+ aOther.mValue.mCSSValuePairList); - case eUnit_UnparsedString: - return (NS_strcmp(GetStringBufferValue(), - aOther.GetStringBufferValue()) == 0); -diff --git layout/style/nsCSSValue.cpp layout/style/nsCSSValue.cpp -index dcb8496..fefb4f9 100644 ---- mozilla/layout/style/nsCSSValue.cpp -+++ mozilla/layout/style/nsCSSValue.cpp -@@ -264,13 +264,14 @@ bool nsCSSValue::operator==(const nsCSSValue& aOther) const - return *mValue.mRect == *aOther.mValue.mRect; - } - else if (eCSSUnit_List == mUnit) { -- return *mValue.mList == *aOther.mValue.mList; -+ return nsCSSValueList::Equal(mValue.mList, aOther.mValue.mList); - } - else if (eCSSUnit_SharedList == mUnit) { - return *mValue.mSharedList == *aOther.mValue.mSharedList; - } - else if (eCSSUnit_PairList == mUnit) { -- return *mValue.mPairList == *aOther.mValue.mPairList; -+ return nsCSSValuePairList::Equal(mValue.mPairList, -+ aOther.mValue.mPairList); - } - else if (eCSSUnit_GridTemplateAreas == mUnit) { - return *mValue.mGridTemplateAreas == *aOther.mValue.mGridTemplateAreas; -@@ -1875,13 +1876,15 @@ nsCSSValueList::AppendToString(nsCSSProperty aProperty, nsAString& aResult, - } - } - --bool --nsCSSValueList::operator==(const nsCSSValueList& aOther) const -+/* static */ bool -+nsCSSValueList::Equal(const nsCSSValueList* aList1, -+ const nsCSSValueList* aList2) - { -- if (this == &aOther) -+ if (aList1 == aList2) { - return true; -+ } - -- const nsCSSValueList *p1 = this, *p2 = &aOther; -+ const nsCSSValueList *p1 = aList1, *p2 = aList2; - for ( ; p1 && p2; p1 = p1->mNext, p2 = p2->mNext) { - if (p1->mValue != p2->mValue) - return false; -@@ -1934,8 +1937,7 @@ nsCSSValueSharedList::AppendToString(nsCSSProperty aProperty, nsAString& aResult - bool - nsCSSValueSharedList::operator==(const nsCSSValueSharedList& aOther) const - { -- return !mHead == !aOther.mHead && -- (!mHead || *mHead == *aOther.mHead); -+ return nsCSSValueList::Equal(mHead, aOther.mHead); - } - - size_t -@@ -2148,13 +2150,15 @@ nsCSSValuePairList::AppendToString(nsCSSProperty aProperty, - } - } - --bool --nsCSSValuePairList::operator==(const nsCSSValuePairList& aOther) const -+/* static */ bool -+nsCSSValuePairList::Equal(const nsCSSValuePairList* aList1, -+ const nsCSSValuePairList* aList2) - { -- if (this == &aOther) -+ if (aList1 == aList2) { - return true; -+ } - -- const nsCSSValuePairList *p1 = this, *p2 = &aOther; -+ const nsCSSValuePairList *p1 = aList1, *p2 = aList2; - for ( ; p1 && p2; p1 = p1->mNext, p2 = p2->mNext) { - if (p1->mXValue != p2->mXValue || - p1->mYValue != p2->mYValue) -diff --git layout/style/nsCSSValue.h layout/style/nsCSSValue.h -index 8418a2d..f0c4e63 100644 ---- mozilla/layout/style/nsCSSValue.h -+++ mozilla/layout/style/nsCSSValue.h -@@ -871,9 +871,8 @@ struct nsCSSValueList { - void AppendToString(nsCSSProperty aProperty, nsAString& aResult, - nsCSSValue::Serialization aValueSerialization) const; - -- bool operator==(nsCSSValueList const& aOther) const; -- bool operator!=(const nsCSSValueList& aOther) const -- { return !(*this == aOther); } -+ static bool Equal(const nsCSSValueList* aList1, -+ const nsCSSValueList* aList2); - - size_t SizeOfIncludingThis(mozilla::MallocSizeOf aMallocSizeOf) const; - -@@ -886,6 +885,12 @@ private: - { - MOZ_COUNT_CTOR(nsCSSValueList); - } -+ -+ // We don't want operator== or operator!= because they wouldn't be -+ // null-safe, which is generally what we need. Use |Equal| method -+ // above instead. -+ bool operator==(nsCSSValueList const& aOther) const MOZ_DELETE; -+ bool operator!=(const nsCSSValueList& aOther) const MOZ_DELETE; - }; - - // nsCSSValueList_heap differs from nsCSSValueList only in being -@@ -1264,9 +1269,8 @@ struct nsCSSValuePairList { - void AppendToString(nsCSSProperty aProperty, nsAString& aResult, - nsCSSValue::Serialization aValueSerialization) const; - -- bool operator==(const nsCSSValuePairList& aOther) const; -- bool operator!=(const nsCSSValuePairList& aOther) const -- { return !(*this == aOther); } -+ static bool Equal(const nsCSSValuePairList* aList1, -+ const nsCSSValuePairList* aList2); - - size_t SizeOfIncludingThis(mozilla::MallocSizeOf aMallocSizeOf) const; - -@@ -1280,6 +1284,12 @@ private: - { - MOZ_COUNT_CTOR(nsCSSValuePairList); - } -+ -+ // We don't want operator== or operator!= because they wouldn't be -+ // null-safe, which is generally what we need. Use |Equal| method -+ // above instead. -+ bool operator==(const nsCSSValuePairList& aOther) const MOZ_DELETE; -+ bool operator!=(const nsCSSValuePairList& aOther) const MOZ_DELETE; - }; - - // nsCSSValuePairList_heap differs from nsCSSValuePairList only in being Added: trunk/www/seamonkey/files/patch-bug1122547 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/seamonkey/files/patch-bug1122547 Thu Feb 19 12:50:03 2015 (r1815) @@ -0,0 +1,20 @@ +diff --git media/webrtc/trunk/webrtc/modules/video_coding/main/source/receiver.cc media/webrtc/trunk/webrtc/modules/video_coding/main/source/receiver.cc +index e68a104..a090241 100644 +--- mozilla/media/webrtc/trunk/webrtc/modules/video_coding/main/source/receiver.cc ++++ mozilla/media/webrtc/trunk/webrtc/modules/video_coding/main/source/receiver.cc +@@ -159,12 +159,13 @@ VCMEncodedFrame* VCMReceiver::FrameForDecoding( + // Assume that render timing errors are due to changes in the video stream. + if (next_render_time_ms < 0) { + timing_error = true; +- } else if (std::abs(next_render_time_ms - now_ms) > max_video_delay_ms_) { ++ } else if (std::abs(static_cast(next_render_time_ms - now_ms)) > ++ max_video_delay_ms_) { + WEBRTC_TRACE(webrtc::kTraceWarning, webrtc::kTraceVideoCoding, + VCMId(vcm_id_, receiver_id_), + "This frame is out of our delay bounds, resetting jitter " + "buffer: %d > %d", +- static_cast(std::abs(next_render_time_ms - now_ms)), ++ std::abs(static_cast(next_render_time_ms - now_ms)), + max_video_delay_ms_); + timing_error = true; + } else if (static_cast(timing_->TargetVideoDelay()) > Deleted: trunk/www/seamonkey/files/patch-bug1122586 ============================================================================== --- trunk/www/seamonkey/files/patch-bug1122586 Thu Feb 19 12:50:03 2015 (r1814) +++ /dev/null 00:00:00 1970 (deleted) @@ -1,30 +0,0 @@ -diff --git content/media/MediaDecoderStateMachine.cpp content/media/MediaDecoderStateMachine.cpp -index 36a6ccf..96d3bd0 100644 ---- mozilla/content/media/MediaDecoderStateMachine.cpp -+++ mozilla/content/media/MediaDecoderStateMachine.cpp -@@ -18,6 +18,7 @@ - #include "nsTArray.h" - #include "MediaDecoder.h" - #include "MediaDecoderReader.h" -+#include "mozilla/MathAlgorithms.h" - #include "mozilla/mozalloc.h" - #include "VideoUtils.h" - #include "mozilla/dom/TimeRanges.h" -@@ -165,7 +166,7 @@ static_assert(QUICK_BUFFERING_LOW_DATA_USECS <= AMPLE_AUDIO_USECS, - // MediaDecoderStateMachine::UpdateEstimatedDuration(); changes of duration - // less than this are ignored, as they're assumed to be the result of - // instability in the duration estimation. --static const int64_t ESTIMATED_DURATION_FUZZ_FACTOR_USECS = USECS_PER_S / 2; -+static const uint64_t ESTIMATED_DURATION_FUZZ_FACTOR_USECS = USECS_PER_S / 2; - - static TimeDuration UsecsToDuration(int64_t aUsecs) { - return TimeDuration::FromMicroseconds(aUsecs); -@@ -1447,7 +1448,7 @@ void MediaDecoderStateMachine::UpdateEstimatedDuration(int64_t aDuration) - AssertCurrentThreadInMonitor(); - int64_t duration = GetDuration(); - if (aDuration != duration && -- std::abs(aDuration - duration) > ESTIMATED_DURATION_FUZZ_FACTOR_USECS) { -+ mozilla::Abs(aDuration - duration) > ESTIMATED_DURATION_FUZZ_FACTOR_USECS) { - SetDuration(aDuration); - nsCOMPtr event = - NS_NewRunnableMethod(mDecoder, &MediaDecoder::DurationChanged); Modified: trunk/www/seamonkey/files/patch-bug847568 ============================================================================== --- trunk/www/seamonkey/files/patch-bug847568 Fri Feb 6 10:30:54 2015 (r1814) +++ trunk/www/seamonkey/files/patch-bug847568 Thu Feb 19 12:50:03 2015 (r1815) @@ -83,10 +83,10 @@ dnl Check for pixman and cairo dnl ======================================================== -diff --git content/base/src/moz.build content/base/src/moz.build +diff --git dom/base/moz.build dom/base/moz.build index a660ba4..6b2f602 100644 ---- mozilla/content/base/src/moz.build -+++ mozilla/content/base/src/moz.build +--- mozilla/dom/base/moz.build ++++ mozilla/dom/base/moz.build @@ -196,6 +196,9 @@ SOURCES += [ 'nsObjectLoadingContent.cpp', ] Deleted: trunk/www/seamonkey/files/patch-bug858919 ============================================================================== --- trunk/www/seamonkey/files/patch-bug858919 Thu Feb 19 12:50:03 2015 (r1814) +++ /dev/null 00:00:00 1970 (deleted) @@ -1,394 +0,0 @@ -commit a33d4f7 -Author: Martin Stransky -Date: Fri Nov 14 04:04:00 2014 +0100 - - Bug 858919 - Add support for libnotify calls which was removed for new notification API. r=karlt ---- - toolkit/components/alerts/nsAlertsService.cpp | 10 +-- - toolkit/system/gnome/moz.build | 2 + - toolkit/system/gnome/nsAlertsIconListener.cpp | 64 ++++++++++++------ - toolkit/system/gnome/nsAlertsIconListener.h | 89 ++++++++++++++++++++++++++ - toolkit/system/gnome/nsGnomeModule.cpp | 5 ++ - toolkit/system/gnome/nsSystemAlertsService.cpp | 54 ++++++++++++++++ - toolkit/system/gnome/nsSystemAlertsService.h | 27 ++++++++ - 7 files changed, 226 insertions(+), 25 deletions(-) - -diff --git toolkit/components/alerts/nsAlertsService.cpp toolkit/components/alerts/nsAlertsService.cpp -index 93f4536..f8b5e07 100644 ---- mozilla/toolkit/components/alerts/nsAlertsService.cpp -+++ mozilla/toolkit/components/alerts/nsAlertsService.cpp -@@ -100,10 +100,12 @@ NS_IMETHODIMP nsAlertsService::ShowAlertNotification(const nsAString & aImageUrl - nsCOMPtr sysAlerts(do_GetService(NS_SYSTEMALERTSERVICE_CONTRACTID)); - nsresult rv; - if (sysAlerts) { -- return sysAlerts->ShowAlertNotification(aImageUrl, aAlertTitle, aAlertText, aAlertTextClickable, -- aAlertCookie, aAlertListener, aAlertName, -- aBidi, aLang, aData, -- IPC::Principal(aPrincipal)); -+ rv = sysAlerts->ShowAlertNotification(aImageUrl, aAlertTitle, aAlertText, aAlertTextClickable, -+ aAlertCookie, aAlertListener, aAlertName, -+ aBidi, aLang, aData, -+ IPC::Principal(aPrincipal)); -+ if (NS_SUCCEEDED(rv)) -+ return NS_OK; - } - - if (!ShouldShowAlert()) { -diff --git toolkit/system/gnome/moz.build toolkit/system/gnome/moz.build -index c033f8b..9242209 100644 ---- mozilla/toolkit/system/gnome/moz.build -+++ mozilla/toolkit/system/gnome/moz.build -@@ -5,7 +5,9 @@ - # file, You can obtain one at http://mozilla.org/MPL/2.0/. - - SOURCES += [ -+ 'nsAlertsIconListener.cpp', - 'nsGnomeModule.cpp', -+ 'nsSystemAlertsService.cpp', - ] - - if CONFIG['MOZ_ENABLE_GCONF']: -diff --git toolkit/system/gnome/nsAlertsIconListener.cpp toolkit/system/gnome/nsAlertsIconListener.cpp -index f39335e..55f4356 100644 ---- mozilla/toolkit/system/gnome/nsAlertsIconListener.cpp -+++ mozilla/toolkit/system/gnome/nsAlertsIconListener.cpp -@@ -51,6 +51,21 @@ static void notify_closed_marshal(GClosure* closure, - NS_RELEASE(alert); - } - -+static GdkPixbuf* -+GetPixbufFromImgRequest(imgIRequest* aRequest) -+{ -+ nsCOMPtr image; -+ nsresult rv = aRequest->GetImage(getter_AddRefs(image)); -+ if (NS_FAILED(rv)) { -+ return nullptr; -+ } -+ -+ nsCOMPtr imgToPixbuf = -+ do_GetService("@mozilla.org/widget/image-to-gdk-pixbuf;1"); -+ -+ return imgToPixbuf->ConvertImageToPixbuf(image); -+} -+ - NS_IMPL_ISUPPORTS(nsAlertsIconListener, imgINotificationObserver, - nsIObserver, nsISupportsWeakReference) - -@@ -106,47 +121,45 @@ nsAlertsIconListener::Notify(imgIRequest *aRequest, int32_t aType, const nsIntRe - nsresult - nsAlertsIconListener::OnStopRequest(imgIRequest* aRequest) - { -+ NS_ASSERTION(mIconRequest == aRequest, "aRequest does not match!"); -+ - uint32_t imgStatus = imgIRequest::STATUS_ERROR; - nsresult rv = aRequest->GetImageStatus(&imgStatus); - NS_ENSURE_SUCCESS(rv, rv); - if (imgStatus == imgIRequest::STATUS_ERROR && !mLoadedFrame) { - // We have an error getting the image. Display the notification with no icon. - ShowAlert(nullptr); -- } - -- if (mIconRequest) { -+ // Cancel any pending request - mIconRequest->Cancel(NS_BINDING_ABORTED); - mIconRequest = nullptr; - } -+ - return NS_OK; - } - - nsresult - nsAlertsIconListener::OnStopFrame(imgIRequest* aRequest) - { -- if (aRequest != mIconRequest) -- return NS_ERROR_FAILURE; -+ NS_ASSERTION(mIconRequest == aRequest, "aRequest does not match!"); - - if (mLoadedFrame) - return NS_OK; // only use one frame - -- nsCOMPtr image; -- nsresult rv = aRequest->GetImage(getter_AddRefs(image)); -- if (NS_FAILED(rv)) -- return rv; -- -- nsCOMPtr imgToPixbuf = -- do_GetService("@mozilla.org/widget/image-to-gdk-pixbuf;1"); -- -- GdkPixbuf* imagePixbuf = imgToPixbuf->ConvertImageToPixbuf(image); -- if (!imagePixbuf) -- return NS_ERROR_FAILURE; -+ GdkPixbuf* imagePixbuf = GetPixbufFromImgRequest(aRequest); -+ if (!imagePixbuf) { -+ ShowAlert(nullptr); -+ } else { -+ ShowAlert(imagePixbuf); -+ g_object_unref(imagePixbuf); -+ } - -- ShowAlert(imagePixbuf); -+ mLoadedFrame = true; - -- g_object_unref(imagePixbuf); -+ // Cancel any pending request (multipart image loading/decoding for instance) -+ mIconRequest->Cancel(NS_BINDING_ABORTED); -+ mIconRequest = nullptr; - -- mLoadedFrame = true; - return NS_OK; - } - -@@ -180,6 +193,9 @@ nsAlertsIconListener::ShowAlert(GdkPixbuf* aPixbuf) - mClosureHandler = g_signal_connect_closure(mNotification, "closed", closure, FALSE); - gboolean result = notify_notification_show(mNotification, nullptr); - -+ if (result && mAlertListener) -+ mAlertListener->Observe(nullptr, "alertshow", mAlertCookie.get()); -+ - return result ? NS_OK : NS_ERROR_FAILURE; - } - -@@ -201,9 +217,15 @@ nsAlertsIconListener::StartRequest(const nsAString & aImageUrl) - if (!il) - return ShowAlert(nullptr); - -- return il->LoadImageXPCOM(imageUri, nullptr, nullptr, nullptr, nullptr, -- this, nullptr, nsIRequest::LOAD_NORMAL, nullptr, -- nullptr, getter_AddRefs(mIconRequest)); -+ nsresult rv = il->LoadImageXPCOM(imageUri, nullptr, nullptr, nullptr, nullptr, -+ this, nullptr, nsIRequest::LOAD_NORMAL, nullptr, -+ 0 /* use default */, getter_AddRefs(mIconRequest)); -+ if (NS_FAILED(rv)) -+ return rv; -+ -+ mIconRequest->StartDecoding(); -+ -+ return NS_OK; - } - - void -diff --git toolkit/system/gnome/nsAlertsIconListener.h toolkit/system/gnome/nsAlertsIconListener.h -new file mode 100644 -index 0000000..ac96db9 ---- /dev/null -+++ mozilla/toolkit/system/gnome/nsAlertsIconListener.h -@@ -0,0 +1,89 @@ -+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -+/* This Source Code Form is subject to the terms of the Mozilla Public -+ * License, v. 2.0. If a copy of the MPL was not distributed with this -+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -+ -+#ifndef nsAlertsIconListener_h__ -+#define nsAlertsIconListener_h__ -+ -+#include "nsCOMPtr.h" -+#include "imgINotificationObserver.h" -+#include "nsStringAPI.h" -+#include "nsIObserver.h" -+#include "nsWeakReference.h" -+ -+#include -+ -+class imgIRequest; -+ -+struct NotifyNotification; -+ -+class nsAlertsIconListener : public imgINotificationObserver, -+ public nsIObserver, -+ public nsSupportsWeakReference -+{ -+public: -+ NS_DECL_ISUPPORTS -+ NS_DECL_IMGINOTIFICATIONOBSERVER -+ NS_DECL_NSIOBSERVER -+ -+ nsAlertsIconListener(); -+ -+ nsresult InitAlertAsync(const nsAString & aImageUrl, -+ const nsAString & aAlertTitle, -+ const nsAString & aAlertText, -+ bool aAlertTextClickable, -+ const nsAString & aAlertCookie, -+ nsIObserver * aAlertListener); -+ -+ void SendCallback(); -+ void SendClosed(); -+ -+protected: -+ virtual ~nsAlertsIconListener(); -+ -+ nsresult OnStopRequest(imgIRequest* aRequest); -+ nsresult OnStopFrame(imgIRequest* aRequest); -+ -+ /** -+ * The only difference between libnotify.so.4 and libnotify.so.1 for these symbols -+ * is that notify_notification_new takes three arguments in libnotify.so.4 and -+ * four in libnotify.so.1. -+ * Passing the fourth argument as NULL is binary compatible. -+ */ -+ typedef void (*NotifyActionCallback)(NotifyNotification*, char*, gpointer); -+ typedef bool (*notify_is_initted_t)(void); -+ typedef bool (*notify_init_t)(const char*); -+ typedef GList* (*notify_get_server_caps_t)(void); -+ typedef NotifyNotification* (*notify_notification_new_t)(const char*, const char*, const char*, const char*); -+ typedef bool (*notify_notification_show_t)(void*, char*); -+ typedef void (*notify_notification_set_icon_from_pixbuf_t)(void*, GdkPixbuf*); -+ typedef void (*notify_notification_add_action_t)(void*, const char*, const char*, NotifyActionCallback, gpointer, GFreeFunc); -+ -+ nsCOMPtr mIconRequest; -+ nsCString mAlertTitle; -+ nsCString mAlertText; -+ -+ nsCOMPtr mAlertListener; -+ nsString mAlertCookie; -+ -+ bool mLoadedFrame; -+ bool mAlertHasAction; -+ -+ static void* libNotifyHandle; -+ static bool libNotifyNotAvail; -+ static notify_is_initted_t notify_is_initted; -+ static notify_init_t notify_init; -+ static notify_get_server_caps_t notify_get_server_caps; -+ static notify_notification_new_t notify_notification_new; -+ static notify_notification_show_t notify_notification_show; -+ static notify_notification_set_icon_from_pixbuf_t notify_notification_set_icon_from_pixbuf; -+ static notify_notification_add_action_t notify_notification_add_action; -+ NotifyNotification* mNotification; -+ gulong mClosureHandler; -+ -+ nsresult StartRequest(const nsAString & aImageUrl); -+ nsresult ShowAlert(GdkPixbuf* aPixbuf); -+}; -+ -+#endif -diff --git toolkit/system/gnome/nsGnomeModule.cpp toolkit/system/gnome/nsGnomeModule.cpp -index 5ccc8e5..f893893 100644 ---- mozilla/toolkit/system/gnome/nsGnomeModule.cpp -+++ mozilla/toolkit/system/gnome/nsGnomeModule.cpp -@@ -22,6 +22,8 @@ NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGnomeVFSService, Init) - NS_GENERIC_FACTORY_CONSTRUCTOR(nsGIOService) - NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGSettingsService, Init) - #endif -+#include "nsSystemAlertsService.h" -+NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsSystemAlertsService, Init) - - #ifdef MOZ_ENABLE_GCONF - NS_DEFINE_NAMED_CID(NS_GCONFSERVICE_CID); -@@ -33,6 +35,7 @@ NS_DEFINE_NAMED_CID(NS_GNOMEVFSSERVICE_CID); - NS_DEFINE_NAMED_CID(NS_GIOSERVICE_CID); - NS_DEFINE_NAMED_CID(NS_GSETTINGSSERVICE_CID); - #endif -+NS_DEFINE_NAMED_CID(NS_SYSTEMALERTSSERVICE_CID); - - static const mozilla::Module::CIDEntry kGnomeCIDs[] = { - #ifdef MOZ_ENABLE_GCONF -@@ -45,6 +48,7 @@ static const mozilla::Module::CIDEntry kGnomeCIDs[] = { - { &kNS_GIOSERVICE_CID, false, nullptr, nsGIOServiceConstructor }, - { &kNS_GSETTINGSSERVICE_CID, false, nullptr, nsGSettingsServiceConstructor }, - #endif -+ { &kNS_SYSTEMALERTSSERVICE_CID, false, nullptr, nsSystemAlertsServiceConstructor }, - { nullptr } - }; - -@@ -59,6 +63,7 @@ static const mozilla::Module::ContractIDEntry kGnomeContracts[] = { - { NS_GIOSERVICE_CONTRACTID, &kNS_GIOSERVICE_CID }, - { NS_GSETTINGSSERVICE_CONTRACTID, &kNS_GSETTINGSSERVICE_CID }, - #endif -+ { NS_SYSTEMALERTSERVICE_CONTRACTID, &kNS_SYSTEMALERTSSERVICE_CID }, - { nullptr } - }; - -diff --git toolkit/system/gnome/nsSystemAlertsService.cpp toolkit/system/gnome/nsSystemAlertsService.cpp -new file mode 100644 -index 0000000..b91b402 ---- /dev/null -+++ mozilla/toolkit/system/gnome/nsSystemAlertsService.cpp -@@ -0,0 +1,54 @@ -+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode:nil; c-basic-offset: 2 -*- */ -+/* This Source Code Form is subject to the terms of the Mozilla Public -+ * License, v. 2.0. If a copy of the MPL was not distributed with this -+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -+ -+#include "nsXULAppAPI.h" -+#include "nsSystemAlertsService.h" -+#include "nsAlertsIconListener.h" -+#include "nsAutoPtr.h" -+ -+NS_IMPL_ADDREF(nsSystemAlertsService) -+NS_IMPL_RELEASE(nsSystemAlertsService) -+ -+NS_INTERFACE_MAP_BEGIN(nsSystemAlertsService) -+ NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIAlertsService) -+ NS_INTERFACE_MAP_ENTRY(nsIAlertsService) -+NS_INTERFACE_MAP_END_THREADSAFE -+ -+nsSystemAlertsService::nsSystemAlertsService() -+{ -+} -+ -+nsSystemAlertsService::~nsSystemAlertsService() -+{} -+ -+nsresult -+nsSystemAlertsService::Init() -+{ -+ return NS_OK; -+} -+ -+NS_IMETHODIMP nsSystemAlertsService::ShowAlertNotification(const nsAString & aImageUrl, const nsAString & aAlertTitle, -+ const nsAString & aAlertText, bool aAlertTextClickable, -+ const nsAString & aAlertCookie, -+ nsIObserver * aAlertListener, -+ const nsAString & aAlertName, -+ const nsAString & aBidi, -+ const nsAString & aLang, -+ const nsAString & aData, -+ nsIPrincipal * aPrincipal) -+{ -+ nsRefPtr alertListener = new nsAlertsIconListener(); -+ if (!alertListener) -+ return NS_ERROR_OUT_OF_MEMORY; -+ -+ return alertListener->InitAlertAsync(aImageUrl, aAlertTitle, aAlertText, aAlertTextClickable, -+ aAlertCookie, aAlertListener); -+} -+ -+NS_IMETHODIMP nsSystemAlertsService::CloseAlert(const nsAString& aAlertName, -+ nsIPrincipal* aPrincipal) -+{ -+ return NS_ERROR_NOT_IMPLEMENTED; -+} -diff --git toolkit/system/gnome/nsSystemAlertsService.h toolkit/system/gnome/nsSystemAlertsService.h -new file mode 100644 -index 0000000..b0bd625 ---- /dev/null -+++ mozilla/toolkit/system/gnome/nsSystemAlertsService.h -@@ -0,0 +1,27 @@ -+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -+/* This Source Code Form is subject to the terms of the Mozilla Public -+ * License, v. 2.0. If a copy of the MPL was not distributed with this -+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -+ -+#ifndef nsSystemAlertsService_h__ -+#define nsSystemAlertsService_h__ -+ -+#include "nsIAlertsService.h" -+#include "nsCOMPtr.h" -+ -+class nsSystemAlertsService : public nsIAlertsService -+{ -+public: -+ NS_DECL_NSIALERTSSERVICE -+ NS_DECL_ISUPPORTS -+ -+ nsSystemAlertsService(); -+ -+ nsresult Init(); -+ -+protected: -+ virtual ~nsSystemAlertsService(); -+ -+}; -+ -+#endif /* nsSystemAlertsService_h__ */ Modified: trunk/www/seamonkey/files/patch-ijg-libjpeg ============================================================================== --- trunk/www/seamonkey/files/patch-ijg-libjpeg Fri Feb 6 10:30:54 2015 (r1814) +++ trunk/www/seamonkey/files/patch-ijg-libjpeg Thu Feb 19 12:50:03 2015 (r1815) @@ -51,26 +51,26 @@ static void cmyk_convert_rgb(JSAMPROW row, JDIMENSION width); -@@ -324,6 +340,7 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, uint32_t aCount) - case JCS_GRAYSCALE: - case JCS_RGB: - case JCS_YCbCr: +@@ -367,6 +382,7 @@ nsJPEGDecoder::WriteInternal(const char* + case JCS_GRAYSCALE: + case JCS_RGB: + case JCS_YCbCr: +#ifdef JCS_EXTENSIONS - // if we're not color managing we can decode directly to - // MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB - if (mCMSMode != eCMSMode_All) { -@@ -332,6 +349,9 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, uint32_t aCount) - } else { - mInfo.out_color_space = JCS_RGB; - } + // if we're not color managing we can decode directly to + // MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB + if (mCMSMode != eCMSMode_All) { +@@ -375,6 +391,9 @@ nsJPEGDecoder::WriteInternal(const char* + } else { + mInfo.out_color_space = JCS_RGB; + } +#else -+ mInfo.out_color_space = JCS_RGB; ++ mInfo.out_color_space = JCS_RGB; +#endif - break; - case JCS_CMYK: - case JCS_YCCK: -@@ -399,6 +419,15 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, uint32_t aCount) - return; /* I/O suspension */ + break; + case JCS_CMYK: + case JCS_YCCK: +@@ -433,6 +452,15 @@ nsJPEGDecoder::WriteInternal(const char* + return; // I/O suspension } +#ifndef JCS_EXTENSIONS @@ -83,10 +83,10 @@ + } +#endif - /* If this is a progressive JPEG ... */ - mState = mInfo.buffered_image ? JPEG_DECOMPRESS_PROGRESSIVE : JPEG_DECOMPRESS_SEQUENTIAL; -@@ -544,7 +573,11 @@ nsJPEGDecoder::OutputScanlines(bool* suspend) - uint32_t *imageRow = ((uint32_t*)mImageData) + + // If this is a progressive JPEG ... + mState = mInfo.buffered_image ? +@@ -605,7 +633,11 @@ nsJPEGDecoder::OutputScanlines(bool* sus + uint32_t* imageRow = ((uint32_t*)mImageData) + (mInfo.output_scanline * mInfo.output_width); +#ifdef JCS_EXTENSIONS @@ -94,10 +94,10 @@ +#else + if (mInfo.cconvert->color_convert == ycc_rgb_convert_argb) { +#endif - /* Special case: scanline will be directly converted into packed ARGB */ + // Special case: scanline will be directly converted into packed ARGB if (jpeg_read_scanlines(&mInfo, (JSAMPARRAY)&imageRow, 1) != 1) { - *suspend = true; /* suspend */ -@@ -854,6 +887,282 @@ term_source (j_decompress_ptr jd) + *suspend = true; // suspend +@@ -920,6 +952,282 @@ term_source (j_decompress_ptr jd) } // namespace mozilla @@ -377,6 +377,6 @@ +#endif + + - /**************** Inverted CMYK -> RGB conversion **************/ - /* - * Input is (Inverted) CMYK stored as 4 bytes per pixel. + ///*************** Inverted CMYK -> RGB conversion ************************* + /// Input is (Inverted) CMYK stored as 4 bytes per pixel. + /// Output is RGB stored as 3 bytes per pixel. Modified: trunk/www/seamonkey/files/patch-system-openh264 ============================================================================== --- trunk/www/seamonkey/files/patch-system-openh264 Fri Feb 6 10:30:54 2015 (r1814) +++ trunk/www/seamonkey/files/patch-system-openh264 Thu Feb 19 12:50:03 2015 (r1815) @@ -1,9 +1,9 @@ # Revert bug 1045209 to allow using absolute path -diff --git content/media/gmp/GMPChild.cpp content/media/gmp/GMPChild.cpp +diff --git dom/media/gmp/GMPChild.cpp dom/media/gmp/GMPChild.cpp index 1dde3ac..12c88cf 100644 ---- mozilla/content/media/gmp/GMPChild.cpp -+++ mozilla/content/media/gmp/GMPChild.cpp +--- mozilla/dom/media/gmp/GMPChild.cpp ++++ mozilla/dom/media/gmp/GMPChild.cpp @@ -76,21 +76,14 @@ GetFileBase(const std::string& aPluginPa } #endif @@ -30,10 +30,10 @@ return true; } -diff --git content/media/gmp/GMPParent.cpp content/media/gmp/GMPParent.cpp +diff --git dom/media/gmp/GMPParent.cpp dom/media/gmp/GMPParent.cpp index aa60acf..90878ca 100644 ---- mozilla/content/media/gmp/GMPParent.cpp -+++ mozilla/content/media/gmp/GMPParent.cpp +--- mozilla/dom/media/gmp/GMPParent.cpp ++++ mozilla/dom/media/gmp/GMPParent.cpp @@ -90,23 +90,16 @@ mService = aService; mDirectory = aPluginDir; Modified: trunk/www/seamonkey/files/patch-z-bug517422 ============================================================================== --- trunk/www/seamonkey/files/patch-z-bug517422 Fri Feb 6 10:30:54 2015 (r1814) +++ trunk/www/seamonkey/files/patch-z-bug517422 Thu Feb 19 12:50:03 2015 (r1815) @@ -268,10 +268,10 @@ dnl = Disable VP8 decoder support dnl ======================================================== MOZ_ARG_DISABLE_BOOL(webm, -diff --git content/media/AudioStream.h content/media/AudioStream.h +diff --git dom/media/AudioStream.h dom/media/AudioStream.h index 085676d..00c54fb 100644 ---- mozilla/content/media/AudioStream.h -+++ mozilla/content/media/AudioStream.h +--- mozilla/dom/media/AudioStream.h ++++ mozilla/dom/media/AudioStream.h @@ -17,7 +17,7 @@ #include "CubebUtils.h" @@ -281,10 +281,10 @@ } namespace mozilla { -diff --git content/media/moz.build content/media/moz.build +diff --git dom/media/moz.build dom/media/moz.build index 7526cff..e0a0ca0 100644 ---- mozilla/content/media/moz.build -+++ mozilla/content/media/moz.build +--- mozilla/dom/media/moz.build ++++ mozilla/dom/media/moz.build @@ -212,3 +212,24 @@ if CONFIG['ANDROID_VERSION'] > '15': CFLAGS += CONFIG['GSTREAMER_CFLAGS'] @@ -382,9 +382,9 @@ index 14265b1..3069e99 100644 --- mozilla/media/libtheora/moz.build +++ mozilla/media/libtheora/moz.build -@@ -6,3 +6,5 @@ - - DIRS += ['include', 'lib'] +@@ -93,3 +93,5 @@ if CONFIG['GNU_AS']: + if CONFIG['OS_TARGET'] == 'Android': + DEFINES['__linux__'] = True +if CONFIG['MOZ_NATIVE_OGG']: + CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] From owner-freebsd-gecko@FreeBSD.ORG Fri Feb 20 16:17:40 2015 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4FB3F199; Fri, 20 Feb 2015 16:17:40 +0000 (UTC) Received: from beefy2.isc.freebsd.org (beefy2.isc.freebsd.org [IPv6:2001:4f8:3:ffe0:4072:0:16:39]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2E45E1B9; Fri, 20 Feb 2015 16:17:40 +0000 (UTC) Received: from beefy2.isc.freebsd.org (localhost [127.0.0.1]) by beefy2.isc.freebsd.org (8.14.9/8.14.9) with ESMTP id t1KGHeXj045491; Fri, 20 Feb 2015 16:17:40 GMT (envelope-from pkg-fallout@FreeBSD.org) Received: (from root@localhost) by beefy2.isc.freebsd.org (8.14.9/8.14.9/Submit) id t1KGHeo2045466; Fri, 20 Feb 2015 16:17:40 GMT (envelope-from pkg-fallout@FreeBSD.org) Date: Fri, 20 Feb 2015 16:17:40 GMT From: pkg-fallout@FreeBSD.org Message-Id: <201502201617.t1KGHeo2045466@beefy2.isc.freebsd.org> To: gecko@FreeBSD.org Subject: [package - 84amd64-default][www/firefox] Failed for firefox-35.0.1_1, 1 in stage Cc: pkg-fallout@FreeBSD.org X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Feb 2015 16:17:40 -0000 You are receiving this mail as a port that you maintain is failing to build on the FreeBSD package build server. Please investigate the failure and submit a PR to fix build. Maintainer: gecko@FreeBSD.org Last committer: jbeich@FreeBSD.org Ident: $FreeBSD: head/www/firefox/Makefile 378529 2015-02-06 12:08:43Z jbeich $ Log URL: http://beefy2.isc.freebsd.org/data/84amd64-default/2015-02-20_14h36m13s/logs/firefox-35.0.1_1,1.log Build URL: http://beefy2.isc.freebsd.org/build.html?mastername=84amd64-default&build=2015-02-20_14h36m13s Log: ====>> Building www/firefox build started at Fri Feb 20 16:06:21 UTC 2015 port directory: /usr/ports/www/firefox building for: FreeBSD 84amd64-default-job-06 8.4-RELEASE-p16 FreeBSD 8.4-RELEASE-p16 amd64 maintained by: gecko@FreeBSD.org Makefile ident: $FreeBSD: head/www/firefox/Makefile 378529 2015-02-06 12:08:43Z jbeich $ Poudriere version: 3.1.1 Host OSVERSION: 1100058 Jail OSVERSION: 804000 ---Begin Environment--- OSVERSION=804000 UNAME_v=FreeBSD 8.4-RELEASE-p16 UNAME_r=8.4-RELEASE-p16 FTP_PASSIVE_MODE=YES BLOCKSIZE=K MAIL=/var/mail/root STATUS=1 SAVED_TERM= MASTERMNT=/usr/local/poudriere/data/.m/84amd64-default/ref PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin POUDRIERE_BUILD_TYPE=bulk PKGNAME=firefox-35.0.1_1,1 OLDPWD=/ PWD=/usr/local/poudriere/data/.m/84amd64-default/ref/.p/pool MASTERNAME=84amd64-default USER=root HOME=/root POUDRIERE_VERSION=3.1.1 LOCALBASE=/usr/local PACKAGE_BUILDING=yes ---End Environment--- ---Begin OPTIONS List--- ===> The following configuration options are available for firefox-35.0.1_1,1: DBUS=on: D-Bus IPC system support DEBUG=off: Build with debugging support DTRACE=off: Build with DTrace probes GCONF=off: GConf configuration backend support GIO=on: GIO for file I/O GNOMEUI=off: libgnomeui support module GSTREAMER=on: Multimedia support via GStreamer LIBPROXY=off: Proxy support via libproxy LOGGING=on: Additional log messages OPTIMIZED_CFLAGS=on: Use extra compiler optimizations PGO=off: Use Profile-Guided Optimization PROFILE=off: Build with profiling support TEST=off: Build and/or run tests ====> Options available for the multi AUDIO: you have to choose at least one of them ALSA=on: ALSA audio architecture support PULSEAUDIO=off: PulseAudio sound server support ====> Options available for the single TOOLKIT: you have to select exactly one of them GTK2=on: GTK+ 2 GUI toolkit support GTK3=off: GTK+ 3 GUI toolkit support ===> Use 'make config' to modify these settings ---End OPTIONS List--- --CONFIGURE_ARGS-- --End CONFIGURE_ARGS-- --CONFIGURE_ENV-- XDG_DATA_HOME=/wrkdirs/usr/ports/www/firefox/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/www/firefox/work HOME=/wrkdirs/usr/ports/www/firefox/work TMPDIR="/tmp" CPATH=/usr/local/include LIBRARY_PATH=/usr/local/lib MAKE=gmake ac_cv_path_PERL=/usr/local/bin/perl ac_cv_path_PERL_PATH=/usr/local/bin/perl PKG_CONFIG=pkgconf PYTHON="/usr/local/bin/python2.7" XDG_DATA_HOME=/wrkdirs/usr/ports/www/firefox/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/www/firefox/work HOME=/wrkdirs/usr/ports/www/firefox/work TMPDIR="/tmp" SHELL=/bin/sh CONFIG_SHELL=/bin/sh --End CONFIGURE_ENV-- --MAKE_ENV-- XDG_DATA_HOME=/wrkdirs/usr/ports/www/firefox/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/www/firefox/work HOME=/wrkdirs/usr/ports/www/firefox/work TMPDIR="/tmp" CPATH=/usr/local/include LIBRARY_PATH=/usr/local/lib XDG_DATA_HOME=/wrkdirs/usr/ports/www/firefox/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/www/firefox/work HOME=/wrkdirs/usr/ports/www/firefox/work TMPDIR="/tmp" NO_PIE=yes SHELL=/bin/sh NO_LINT=YES ADDR2LINE="/usr/local/bin/addr2line" AR="/usr/local/bin/ar" AS="/usr/local/bin/as" CPPFILT="/usr/local/bin/c++filt" GPROF="/usr/local/bin/gprof" LD="/usr/local/bin/ld" NM="/usr/local/bin/nm" OBJCOPY="/usr/local/bin/objcopy" OBJDUMP="/usr/local/bin/objdump" RANLIB="/usr/local/bin/ranlib" READELF="/usr/local/bin/readelf" SIZE="/usr/local/bin/size" STRINGS="/usr/local/bin/strings" PREFIX=/usr/local LOCALBASE=/usr/local LIBDIR="/usr/lib" CC="/usr/local/bin/clang34" CFLAGS="-O2 -pipe -O3 -fstack-protector -fno-strict-aliasing" CPP="/usr/local/bin/clang-cpp34" CPPFLAGS="-isystem/usr/l ocal/include" LDFLAGS=" -L/usr/local/lib -Wl,-rpath,/usr/local/lib/firefox -B/usr/local/bin -fstack-protector" LIBS="" CXX="/usr/local/bin/clang++34" CXXFLAGS="-O2 -pipe -O3 -fstack-protector -fno-strict-aliasing" MANPREFIX="/usr/local" BSD_INSTALL_PROGRAM="install -s -o root -g wheel -m 555" BSD_INSTALL_LIB="install -s -o root -g wheel -m 444" BSD_INSTALL_SCRIPT="install -o root -g wheel -m 555" BSD_INSTALL_DATA="install -o root -g wheel -m 0644" BSD_INSTALL_MAN="install -o root -g wheel -m 444" --End MAKE_ENV-- --PLIST_SUB-- QT_PREFIX="/usr/local" QT_BINDIR="lib/qt5/bin" QT_INCDIR="include/qt5" QT_LIBDIR="lib" QT_ARCHDIR="lib/qt5" QT_PLUGINDIR="lib/qt5/plugins" QT_LIBEXECDIR="libexec/qt5" QT_IMPORTDIR="lib/qt5/imports" QT_QMLDIR="lib/qt5/qml" QT_DATADIR="share/qt5" QT_DOCDIR="share/doc/qt5" QT_L10NDIR="share/qt5/translations" QT_ETCDIR="etc/xdg" QT_EXAMPLEDIR="share/examples/qt5" QT_TESTDIR="share/qt5/tests" QT_MKSPECDIR="lib/qt5/mkspecs" PYTHON_INCLUDEDIR=include/python2.7 PYTHON_LIBDIR=lib/python2.7 PYTHON_PLATFORM=freebsd8 PYTHON_SITELIBDIR=lib/python2.7/site-packages PYTHON_VERSION=python2.7 PYTHON_VER=2.7 OSREL=8.4 PREFIX=%D LOCALBASE=/usr/local RESETPREFIX=/usr/local PORTDOCS="" PORTEXAMPLES="" LIB32DIR=lib GTK2_VERSION="2.10.0" GTK3_VERSION="3.0.0" PERL_VERSION=5.18.4 PERL_VER=5.18 PERL5_MAN3=lib/perl5/site_perl/man/man3 SITE_PERL=lib/perl5/site_perl SITE_ARCH=lib/perl5/site_perl/mach/5.18 DOCSDIR="share/doc/firefox" EXAMPLESDIR="share/examples/firefox" DATADIR="share/firefox" WWWDIR="www/firefox" ETCDIR="etc/firefox" --End PLIST_SUB-- --SUB_LIST-- PREFIX=/usr/local LOCALBASE=/usr/local DATADIR=/usr/local/share/firefox DOCSDIR=/usr/local/share/doc/firefox EXAMPLESDIR=/usr/local/share/examples/firefox WWWDIR=/usr/local/www/firefox ETCDIR=/usr/local/etc/firefox --End SUB_LIST-- ---Begin make.conf--- USE_PACKAGE_DEPENDS=yes BATCH=yes WRKDIRPREFIX=/wrkdirs USE_PACKAGE_DEPENDS=yes BATCH=yes WRKDIRPREFIX=/wrkdirs PORTSDIR=/usr/ports PACKAGES=/packages DISTDIR=/distfiles #### /usr/local/etc/poudriere.d/make.conf #### WITH_PKGNG=yes #WITH_PKGNG=devel # clean-restricted ran via poudriere.conf NO_RESTRICTED #NO_RESTRICTED=yes DISABLE_MAKE_JOBS=poudriere ---End make.conf--- =================================================== =========================================================================== =================================================== ===> firefox-35.0.1_1,1 depends on file: /usr/local/sbin/pkg - not found ===> Verifying install for /usr/local/sbin/pkg in /usr/ports/ports-mgmt/pkg ===> Installing existing package /packages/All/pkg-1.4.12.txz [84amd64-default-job-06] Installing pkg-1.4.12... [84amd64-default-job-06] Extracting pkg-1.4.12... done Message for pkg-1.4.12: If you are upgrading from the old package format, first run: # pkg2ng ===> Returning to build of firefox-35.0.1_1,1 =========================================================================== =================================================== =========================================================================== =================================================== ===> Fetching all distfiles required by firefox-35.0.1_1,1 for building =========================================================================== =================================================== ===> Fetching all distfiles required by firefox-35.0.1_1,1 for building => SHA256 Checksum OK for firefox-35.0.1.source.tar.bz2. =========================================================================== =================================================== =========================================================================== =================================================== ===> Fetching all distfiles required by firefox-35.0.1_1,1 for building ===> Extracting for firefox-35.0.1_1,1 => SHA256 Checksum OK for firefox-35.0.1.source.tar.bz2. =========================================================================== =================================================== =========================================================================== =================================================== ===> Patching for firefox-35.0.1_1,1 ===> Converting DOS text files to UNIX text files ===> Applying FreeBSD patches for firefox-35.0.1_1,1 =========================================================================== =================================================== ===> firefox-35.0.1_1,1 depends on package: nspr>=4.10.6 - not found ===> Verifying install for nspr>=4.10.6 in /usr/ports/devel/nspr ===> Installing existing package /packages/All/nspr-4.10.8.txz [84amd64-default-job-06] Installing nspr-4.10.8... [84amd64-default-job-06] Extracting nspr-4.10.8... done ===> Returning to build of firefox-35.0.1_1,1 ===> firefox-35.0.1_1,1 depends on package: nss>=3.17.2 - not found ===> Verifying install for nss>=3.17.2 in /usr/ports/security/nss ===> Installing existing package /packages/All/nss-3.17.4.txz [84amd64-default-job-06] Installing nss-3.17.4... [84amd64-default-job-06] `-- Installing sqlite3-3.8.8.2... [84amd64-default-job-06] `-- Extracting sqlite3-3.8.8.2... done [84amd64-default-job-06] Extracting nss-3.17.4... done ===> Returning to build of firefox-35.0.1_1,1 ===> firefox-35.0.1_1,1 depends on package: libevent2>=2.0.21_2 - not found ===> Verifying install for libevent2>=2.0.21_2 in /usr/ports/devel/libevent2 ===> Installing existing package /packages/All/libevent2-2.0.22_1.txz [84amd64-default-job-06] Installing libevent2-2.0.22_1... [84amd64-default-job-06] Extracting libevent2-2.0.22_1... done ===> Returning to build of firefox-35.0.1_1,1 ===> firefox-35.0.1_1,1 depends on package: cairo>=1.12.16_1,2 - not found resource://gre/modules/commonjs/sdk/keyboard/hotkeys.js resource://gre/modules/commonjs/sdk/keyboard/observer.js resource://gre/modules/commonjs/sdk/keyboard/utils.js resource://gre/modules/commonjs/sdk/l10n.js resource://gre/modules/commonjs/sdk/l10n/core.js resource://gre/modules/commonjs/sdk/l10n/html.js resource://gre/modules/commonjs/sdk/l10n/json/core.js resource://gre/modules/commonjs/sdk/l10n/loader.js resource://gre/modules/commonjs/sdk/l10n/locale.js resource://gre/modules/commonjs/sdk/l10n/plural-rules.js resource://gre/modules/commonjs/sdk/l10n/prefs.js resource://gre/modules/commonjs/sdk/l10n/properties/core.js resource://gre/modules/commonjs/sdk/lang/functional.js resource://gre/modules/commonjs/sdk/lang/functional/concurrent.js resource://gre/modules/commonjs/sdk/lang/functional/core.js resource://gre/modules/commonjs/sdk/lang/functional/helpers.js resource://gre/modules/commonjs/sdk/lang/type.js resource://gre/modules/commonjs/sdk/lang/weak-set.js resource://gre/modules/commonjs/sdk/loader/cuddlefish.js resource://gre/modules/commonjs/sdk/loader/sandbox.js resource://gre/modules/commonjs/sdk/messaging.js resource://gre/modules/commonjs/sdk/model/core.js resource://gre/modules/commonjs/sdk/net/url.js resource://gre/modules/commonjs/sdk/net/xhr.js resource://gre/modules/commonjs/sdk/notifications.js resource://gre/modules/commonjs/sdk/output/system.js resource://gre/modules/commonjs/sdk/page-mod.js resource://gre/modules/commonjs/sdk/page-mod/match-pattern.js resource://gre/modules/commonjs/sdk/page-worker.js resource://gre/modules/commonjs/sdk/panel.js resource://gre/modules/commonjs/sdk/panel/events.js resource://gre/modules/commonjs/sdk/panel/utils.js resource://gre/modules/commonjs/sdk/panel/window.js resource://gre/modules/commonjs/sdk/passwords.js resource://gre/modules/commonjs/sdk/passwords/utils.js resource://gre/modules/commonjs/sdk/places/bookmarks.js resource://gre/modules/commonjs/sdk/places/contract.js resource://gre/modules/commonjs/sdk/places/events.js resource://gre/modules/commonjs/sdk/places/favicon.js resource://gre/modules/commonjs/sdk/places/history.js resource://gre/modules/commonjs/sdk/places/host/host-bookmarks.js resource://gre/modules/commonjs/sdk/places/host/host-query.js resource://gre/modules/commonjs/sdk/places/host/host-tags.js resource://gre/modules/commonjs/sdk/places/utils.js resource://gre/modules/commonjs/sdk/platform/xpcom.js resource://gre/modules/commonjs/sdk/preferences/event-target.js resource://gre/modules/commonjs/sdk/preferences/native-options.js resource://gre/modules/commonjs/sdk/preferences/service.js resource://gre/modules/commonjs/sdk/preferences/utils.js resource://gre/modules/commonjs/sdk/private-browsing.js resource://gre/modules/commonjs/sdk/private-browsing/utils.js resource://gre/modules/commonjs/sdk/querystring.js resource://gre/modules/commonjs/sdk/request.js resource://gre/modules/commonjs/sdk/selection.js resource://gre/modules/commonjs/sdk/self.js resource://gre/modules/commonjs/sdk/simple-prefs.js resource://gre/modules/commonjs/sdk/simple-storage.js resource://gre/modules/commonjs/sdk/stylesheet/style.js resource://gre/modules/commonjs/sdk/stylesheet/utils.js resource://gre/modules/commonjs/sdk/system.js resource://gre/modules/commonjs/sdk/system/child_process.js resource://gre/modules/commonjs/sdk/system/child_process/subprocess.js resource://gre/modules/commonjs/sdk/system/child_process/subprocess_worker_unix.js resource://gre/modules/commonjs/sdk/system/child_process/subprocess_worker_win.js resource://gre/modules/commonjs/sdk/system/environment.js resource://gre/modules/commonjs/sdk/system/events.js resource://gre/modules/commonjs/sdk/system/globals.js resource://gre/modules/commonjs/sdk/system/process.js resource://gre/modules/commonjs/sdk/system/runtime.js resource://gre/modules/commonjs/sdk/system/unload.js resource://gre/modules/commonjs/sdk/system/xul-app.js resource://gre/modules/commonjs/sdk/tab/events.js resource://gre/modules/commonjs/sdk/tabs.js resource://gre/modules/commonjs/sdk/tabs/common.js resource://gre/modules/commonjs/sdk/tabs/events.js resource://gre/modules/commonjs/sdk/tabs/helpers.js resource://gre/modules/commonjs/sdk/tabs/namespace.js resource://gre/modules/commonjs/sdk/tabs/observer.js resource://gre/modules/commonjs/sdk/tabs/tab-fennec.js resource://gre/modules/commonjs/sdk/tabs/tab-firefox.js resource://gre/modules/commonjs/sdk/tabs/tab.js resource://gre/modules/commonjs/sdk/tabs/tabs-firefox.js resource://gre/modules/commonjs/sdk/tabs/utils.js resource://gre/modules/commonjs/sdk/tabs/worker.js resource://gre/modules/commonjs/sdk/test.js resource://gre/modules/commonjs/sdk/test/assert.js resource://gre/modules/commonjs/sdk/test/harness.js resource://gre/modules/commonjs/sdk/test/httpd.js resource://gre/modules/commonjs/sdk/test/loader.js resource://gre/modules/commonjs/sdk/test/memory.js resource://gre/modules/commonjs/sdk/test/options.js resource://gre/modules/commonjs/sdk/test/runner.js resource://gre/modules/commonjs/sdk/test/tmp-file.js resource://gre/modules/commonjs/sdk/test/utils.js resource://gre/modules/commonjs/sdk/timers.js resource://gre/modules/commonjs/sdk/ui.js resource://gre/modules/commonjs/sdk/ui/button/action.js resource://gre/modules/commonjs/sdk/ui/button/contract.js resource://gre/modules/commonjs/sdk/ui/button/toggle.js resource://gre/modules/commonjs/sdk/ui/button/view.js resource://gre/modules/commonjs/sdk/ui/button/view/events.js resource://gre/modules/commonjs/sdk/ui/frame.js resource://gre/modules/commonjs/sdk/ui/frame/model.js resource://gre/modules/commonjs/sdk/ui/frame/view.js resource://gre/modules/commonjs/sdk/ui/id.js resource://gre/modules/commonjs/sdk/ui/sidebar.js resource://gre/modules/commonjs/sdk/ui/sidebar/actions.js resource://gre/modules/commonjs/sdk/ui/sidebar/contract.js resource://gre/modules/commonjs/sdk/ui/sidebar/namespace.js resource://gre/modules/commonjs/sdk/ui/sidebar/utils.js resource://gre/modules/commonjs/sdk/ui/sidebar/view.js resource://gre/modules/commonjs/sdk/ui/state.js resource://gre/modules/commonjs/sdk/ui/state/events.js resource://gre/modules/commonjs/sdk/ui/toolbar.js resource://gre/modules/commonjs/sdk/ui/toolbar/model.js resource://gre/modules/commonjs/sdk/ui/toolbar/view.js resource://gre/modules/commonjs/sdk/url.js resource://gre/modules/commonjs/sdk/url/utils.js resource://gre/modules/commonjs/sdk/util/array.js resource://gre/modules/commonjs/sdk/util/collection.js resource://gre/modules/commonjs/sdk/util/contract.js resource://gre/modules/commonjs/sdk/util/deprecate.js resource://gre/modules/commonjs/sdk/util/dispatcher.js resource://gre/modules/commonjs/sdk/util/iteration.js resource://gre/modules/commonjs/sdk/util/list.js resource://gre/modules/commonjs/sdk/util/match-pattern.js resource://gre/modules/commonjs/sdk/util/object.js resource://gre/modules/commonjs/sdk/util/registry.js resource://gre/modules/commonjs/sdk/util/rules.js resource://gre/modules/commonjs/sdk/util/sequence.js resource://gre/modules/commonjs/sdk/util/uuid.js resource://gre/modules/commonjs/sdk/view/core.js resource://gre/modules/commonjs/sdk/widget.js resource://gre/modules/commonjs/sdk/window/browser.js resource://gre/modules/commonjs/sdk/window/events.js resource://gre/modules/commonjs/sdk/window/helpers.js resource://gre/modules/commonjs/sdk/window/namespace.js resource://gre/modules/commonjs/sdk/window/utils.js resource://gre/modules/commonjs/sdk/windows.js resource://gre/modules/commonjs/sdk/windows/dom.js resource://gre/modules/commonjs/sdk/windows/fennec.js resource://gre/modules/commonjs/sdk/windows/firefox.js resource://gre/modules/commonjs/sdk/windows/loader.js resource://gre/modules/commonjs/sdk/windows/observer.js resource://gre/modules/commonjs/sdk/windows/tabs-fennec.js resource://gre/modules/commonjs/sdk/windows/tabs-firefox.js resource://gre/modules/commonjs/sdk/worker/utils.js resource://gre/modules/commonjs/sdk/zip/utils.js resource://gre/modules/commonjs/test.js resource://gre/modules/commonjs/toolkit/loader.js resource://gre/modules/ctypes.jsm resource://gre/modules/debug.js resource://gre/modules/devtools/Console.jsm resource://gre/modules/devtools/DevToolsUtils.js resource://gre/modules/devtools/DevToolsUtils.jsm resource://gre/modules/devtools/Devices.jsm resource://gre/modules/devtools/LayoutHelpers.jsm resource://gre/modules/devtools/Loader.jsm resource://gre/modules/devtools/Require.jsm resource://gre/modules/devtools/Simulator.jsm resource://gre/modules/devtools/SourceMap.jsm resource://gre/modules/devtools/Templater.jsm resource://gre/modules/devtools/acorn/acorn.js resource://gre/modules/devtools/acorn/acorn_loose.js resource://gre/modules/devtools/acorn/walk.js resource://gre/modules/devtools/app-actor-front.js resource://gre/modules/devtools/async-utils.js resource://gre/modules/devtools/client/connection-manager.js resource://gre/modules/devtools/content-observer.js resource://gre/modules/devtools/css-color.js resource://gre/modules/devtools/dbg-client.jsm resource://gre/modules/devtools/dbg-server.jsm resource://gre/modules/devtools/deprecated-sync-thenables.js resource://gre/modules/devtools/discovery/discovery.js resource://gre/modules/devtools/event-emitter.js resource://gre/modules/devtools/event-parsers.js resource://gre/modules/devtools/gcli.jsm Traceback (most recent call last): File "/wrkdirs/usr/ports/www/firefox/work/mozilla-release/toolkit/mozapps/installer/packager.py", line 402, in main() File "/wrkdirs/usr/ports/www/firefox/work/mozilla-release/toolkit/mozapps/installer/packager.py", line 394, in main args.source, gre_path, base) File "/wrkdirs/usr/ports/www/firefox/work/mozilla-release/toolkit/mozapps/installer/packager.py", line 158, in precompile_cache errors.fatal('Error while running startup cache precompilation') File "/wrkdirs/usr/ports/www/firefox/work/mozilla-release/python/mozbuild/mozpack/errors.py", line 101, in fatal self._handle(self.FATAL, msg) File "/wrkdirs/usr/ports/www/firefox/work/mozilla-release/python/mozbuild/mozpack/errors.py", line 96, in _handle raise ErrorMessage(msg) mozpack.errors.ErrorMessage: Error: Error while running startup cache precompilation /wrkdirs/usr/ports/www/firefox/work/mozilla-release/toolkit/mozapps/installer/packager.mk:691: recipe for target 'stage-package' failed gmake[2]: *** [stage-package] Error 1 gmake[2]: Leaving directory '/wrkdirs/usr/ports/www/firefox/work/mozilla-release/obj-x86_64-portbld-freebsd8.4/browser/installer' /wrkdirs/usr/ports/www/firefox/work/mozilla-release/browser/build.mk:21: recipe for target 'install' failed gmake[1]: *** [install] Error 2 gmake[1]: Leaving directory '/wrkdirs/usr/ports/www/firefox/work/mozilla-release/obj-x86_64-portbld-freebsd8.4' /wrkdirs/usr/ports/www/firefox/work/mozilla-release/client.mk:405: recipe for target 'install' failed gmake: *** [install] Error 2 *** Error code 2 Stop in /usr/ports/www/firefox. From owner-freebsd-gecko@FreeBSD.ORG Fri Feb 20 16:23:51 2015 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BE6C24AB; Fri, 20 Feb 2015 16:23:51 +0000 (UTC) Received: from beefy2.isc.freebsd.org (beefy2.isc.freebsd.org [IPv6:2001:4f8:3:ffe0:4072:0:16:39]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A8ABE2AE; Fri, 20 Feb 2015 16:23:51 +0000 (UTC) Received: from beefy2.isc.freebsd.org (localhost [127.0.0.1]) by beefy2.isc.freebsd.org (8.14.9/8.14.9) with ESMTP id t1KGNpY5094930; Fri, 20 Feb 2015 16:23:51 GMT (envelope-from pkg-fallout@FreeBSD.org) Received: (from root@localhost) by beefy2.isc.freebsd.org (8.14.9/8.14.9/Submit) id t1KGNpmu094919; Fri, 20 Feb 2015 16:23:51 GMT (envelope-from pkg-fallout@FreeBSD.org) Date: Fri, 20 Feb 2015 16:23:51 GMT From: pkg-fallout@FreeBSD.org Message-Id: <201502201623.t1KGNpmu094919@beefy2.isc.freebsd.org> To: gecko@FreeBSD.org Subject: [package - 84amd64-default][www/libxul] Failed for libxul-31.4.0_2 in stage Cc: pkg-fallout@FreeBSD.org X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Feb 2015 16:23:51 -0000 You are receiving this mail as a port that you maintain is failing to build on the FreeBSD package build server. Please investigate the failure and submit a PR to fix build. Maintainer: gecko@FreeBSD.org Last committer: jbeich@FreeBSD.org Ident: $FreeBSD: head/www/libxul/Makefile 378529 2015-02-06 12:08:43Z jbeich $ Log URL: http://beefy2.isc.freebsd.org/data/84amd64-default/2015-02-20_14h36m13s/logs/libxul-31.4.0_2.log Build URL: http://beefy2.isc.freebsd.org/build.html?mastername=84amd64-default&build=2015-02-20_14h36m13s Log: ====>> Building www/libxul build started at Fri Feb 20 16:08:29 UTC 2015 port directory: /usr/ports/www/libxul building for: FreeBSD 84amd64-default-job-19 8.4-RELEASE-p16 FreeBSD 8.4-RELEASE-p16 amd64 maintained by: gecko@FreeBSD.org Makefile ident: $FreeBSD: head/www/libxul/Makefile 378529 2015-02-06 12:08:43Z jbeich $ Poudriere version: 3.1.1 Host OSVERSION: 1100058 Jail OSVERSION: 804000 ---Begin Environment--- OSVERSION=804000 UNAME_v=FreeBSD 8.4-RELEASE-p16 UNAME_r=8.4-RELEASE-p16 FTP_PASSIVE_MODE=YES BLOCKSIZE=K MAIL=/var/mail/root STATUS=1 SAVED_TERM= MASTERMNT=/usr/local/poudriere/data/.m/84amd64-default/ref PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin POUDRIERE_BUILD_TYPE=bulk PKGNAME=libxul-31.4.0_2 OLDPWD=/ PWD=/usr/local/poudriere/data/.m/84amd64-default/ref/.p/pool MASTERNAME=84amd64-default USER=root HOME=/root POUDRIERE_VERSION=3.1.1 LOCALBASE=/usr/local PACKAGE_BUILDING=yes ---End Environment--- ---Begin OPTIONS List--- ===> The following configuration options are available for libxul-31.4.0_2: DBUS=on: D-Bus IPC system support DEBUG=off: Build with debugging support DTRACE=off: Build with DTrace probes GCONF=off: GConf configuration backend support GIO=on: GIO for file I/O GNOMEUI=off: libgnomeui support module GSTREAMER=on: Multimedia support via GStreamer LIBPROXY=off: Proxy support via libproxy LOGGING=on: Additional log messages OPTIMIZED_CFLAGS=on: Use extra compiler optimizations PGO=off: Use Profile-Guided Optimization PROFILE=off: Build with profiling support TEST=off: Build and/or run tests ====> Options available for the multi AUDIO: you have to choose at least one of them ALSA=on: ALSA audio architecture support PULSEAUDIO=off: PulseAudio sound server support ===> Use 'make config' to modify these settings ---End OPTIONS List--- --CONFIGURE_ARGS-- --End CONFIGURE_ARGS-- --CONFIGURE_ENV-- XDG_DATA_HOME=/wrkdirs/usr/ports/www/libxul/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/www/libxul/work HOME=/wrkdirs/usr/ports/www/libxul/work TMPDIR="/tmp" CPATH=/usr/local/include LIBRARY_PATH=/usr/local/lib MAKE=gmake ac_cv_path_PERL=/usr/local/bin/perl ac_cv_path_PERL_PATH=/usr/local/bin/perl PKG_CONFIG=pkgconf PYTHON="/usr/local/bin/python2.7" XDG_DATA_HOME=/wrkdirs/usr/ports/www/libxul/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/www/libxul/work HOME=/wrkdirs/usr/ports/www/libxul/work TMPDIR="/tmp" SHELL=/bin/sh CONFIG_SHELL=/bin/sh --End CONFIGURE_ENV-- --MAKE_ENV-- SKIP_GRE_REGISTRATION=1 mozappdir=/usr/local/lib/libxul XDG_DATA_HOME=/wrkdirs/usr/ports/www/libxul/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/www/libxul/work HOME=/wrkdirs/usr/ports/www/libxul/work TMPDIR="/tmp" CPATH=/usr/local/include LIBRARY_PATH=/usr/local/lib XDG_DATA_HOME=/wrkdirs/usr/ports/www/libxul/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/www/libxul/work HOME=/wrkdirs/usr/ports/www/libxul/work TMPDIR="/tmp" NO_PIE=yes SHELL=/bin/sh NO_LINT=YES ADDR2LINE="/usr/local/bin/addr2line" AR="/usr/local/bin/ar" AS="/usr/local/bin/as" CPPFILT="/usr/local/bin/c++filt" GPROF="/usr/local/bin/gprof" LD="/usr/local/bin/ld" NM="/usr/local/bin/nm" OBJCOPY="/usr/local/bin/objcopy" OBJDUMP="/usr/local/bin/objdump" RANLIB="/usr/local/bin/ranlib" READELF="/usr/local/bin/readelf" SIZE="/usr/local/bin/size" STRINGS="/usr/local/bin/strings" PREFIX=/usr/local LOCALBASE=/usr/local LIBDIR="/usr/lib" CC="/usr/local/bin/clang34" CFLAGS="-O2 -pipe -O3 -fstack-protector -fno-strict-aliasing" CPP="/u sr/local/bin/clang-cpp34" CPPFLAGS="-isystem/usr/local/include" LDFLAGS=" -Wl,-rpath,/usr/local/lib/libxul -L/usr/local/lib -Wl,-rpath,/usr/local/lib/libxul -B/usr/local/bin -fstack-protector" LIBS="" CXX="/usr/local/bin/clang++34" CXXFLAGS="-O2 -pipe -O3 -fstack-protector -fno-strict-aliasing" MANPREFIX="/usr/local" BSD_INSTALL_PROGRAM="install -s -o root -g wheel -m 555" BSD_INSTALL_LIB="install -s -o root -g wheel -m 444" BSD_INSTALL_SCRIPT="install -o root -g wheel -m 555" BSD_INSTALL_DATA="install -o root -g wheel -m 0644" BSD_INSTALL_MAN="install -o root -g wheel -m 444" --End MAKE_ENV-- --PLIST_SUB-- QT_PREFIX="/usr/local" QT_BINDIR="lib/qt5/bin" QT_INCDIR="include/qt5" QT_LIBDIR="lib" QT_ARCHDIR="lib/qt5" QT_PLUGINDIR="lib/qt5/plugins" QT_LIBEXECDIR="libexec/qt5" QT_IMPORTDIR="lib/qt5/imports" QT_QMLDIR="lib/qt5/qml" QT_DATADIR="share/qt5" QT_DOCDIR="share/doc/qt5" QT_L10NDIR="share/qt5/translations" QT_ETCDIR="etc/xdg" QT_EXAMPLEDIR="share/examples/qt5" QT_TESTDIR="share/qt5/tests" QT_MKSPECDIR="lib/qt5/mkspecs" PYTHON_INCLUDEDIR=include/python2.7 PYTHON_LIBDIR=lib/python2.7 PYTHON_PLATFORM=freebsd8 PYTHON_SITELIBDIR=lib/python2.7/site-packages PYTHON_VERSION=python2.7 PYTHON_VER=2.7 OSREL=8.4 PREFIX=%D LOCALBASE=/usr/local RESETPREFIX=/usr/local PORTDOCS="" PORTEXAMPLES="" LIB32DIR=lib GTK2_VERSION="2.10.0" GTK3_VERSION="3.0.0" PERL_VERSION=5.18.4 PERL_VER=5.18 PERL5_MAN3=lib/perl5/site_perl/man/man3 SITE_PERL=lib/perl5/site_perl SITE_ARCH=lib/perl5/site_perl/mach/5.18 DOCSDIR="share/doc/libxul" EXAMPLESDIR="share/examples/libxul" DATADIR="share/libxul" WWWDIR="www/libxul" ETCDIR="etc/libxul" --End PLIST_SUB-- --SUB_LIST-- PREFIX=/usr/local LOCALBASE=/usr/local DATADIR=/usr/local/share/libxul DOCSDIR=/usr/local/share/doc/libxul EXAMPLESDIR=/usr/local/share/examples/libxul WWWDIR=/usr/local/www/libxul ETCDIR=/usr/local/etc/libxul --End SUB_LIST-- ---Begin make.conf--- USE_PACKAGE_DEPENDS=yes BATCH=yes WRKDIRPREFIX=/wrkdirs USE_PACKAGE_DEPENDS=yes BATCH=yes WRKDIRPREFIX=/wrkdirs PORTSDIR=/usr/ports PACKAGES=/packages DISTDIR=/distfiles #### /usr/local/etc/poudriere.d/make.conf #### WITH_PKGNG=yes #WITH_PKGNG=devel # clean-restricted ran via poudriere.conf NO_RESTRICTED #NO_RESTRICTED=yes DISABLE_MAKE_JOBS=poudriere ---End make.conf--- =================================================== =========================================================================== =================================================== ===> libxul-31.4.0_2 depends on file: /usr/local/sbin/pkg - not found ===> Verifying install for /usr/local/sbin/pkg in /usr/ports/ports-mgmt/pkg ===> Installing existing package /packages/All/pkg-1.4.12.txz [84amd64-default-job-19] Installing pkg-1.4.12... [84amd64-default-job-19] Extracting pkg-1.4.12... done Message for pkg-1.4.12: If you are upgrading from the old package format, first run: # pkg2ng ===> Returning to build of libxul-31.4.0_2 =========================================================================== =================================================== =========================================================================== =================================================== ===> Fetching all distfiles required by libxul-31.4.0_2 for building =========================================================================== =================================================== ===> Fetching all distfiles required by libxul-31.4.0_2 for building => SHA256 Checksum OK for firefox-31.4.0esr.source.tar.bz2. =========================================================================== =================================================== =========================================================================== =================================================== ===> Fetching all distfiles required by libxul-31.4.0_2 for building ===> Extracting for libxul-31.4.0_2 => SHA256 Checksum OK for firefox-31.4.0esr.source.tar.bz2. =========================================================================== =================================================== =========================================================================== =================================================== ===> Patching for libxul-31.4.0_2 ===> Converting DOS text files to UNIX text files ===> Applying FreeBSD patches for libxul-31.4.0_2 =========================================================================== =================================================== ===> libxul-31.4.0_2 depends on package: nspr>=4.10.6 - not found ===> Verifying install for nspr>=4.10.6 in /usr/ports/devel/nspr ===> Installing existing package /packages/All/nspr-4.10.8.txz [84amd64-default-job-19] Installing nspr-4.10.8... [84amd64-default-job-19] Extracting nspr-4.10.8... done ===> Returning to build of libxul-31.4.0_2 ===> libxul-31.4.0_2 depends on package: nss>=3.16.2 - not found ===> Verifying install for nss>=3.16.2 in /usr/ports/security/nss ===> Installing existing package /packages/All/nss-3.17.4.txz [84amd64-default-job-19] Installing nss-3.17.4... [84amd64-default-job-19] `-- Installing sqlite3-3.8.8.2... [84amd64-default-job-19] `-- Extracting sqlite3-3.8.8.2... done [84amd64-default-job-19] Extracting nss-3.17.4... done ===> Returning to build of libxul-31.4.0_2 ===> libxul-31.4.0_2 depends on package: libevent2>=2.0.21_2 - not found ===> Verifying install for libevent2>=2.0.21_2 in /usr/ports/devel/libevent2 ===> Installing existing package /packages/All/libevent2-2.0.22_1.txz [84amd64-default-job-19] Installing libevent2-2.0.22_1... [84amd64-default-job-19] Extracting libevent2-2.0.22_1... done ===> Returning to build of libxul-31.4.0_2 ===> libxul-31.4.0_2 depends on package: cairo>=1.12.16_1,2 - not found ===> Verifying install for cairo>=1.12.16_1,2 in /usr/ports/graphics/cairo ===> Installing existing package /packages/All/cairo-1.12.18_1,2.txz [84amd64-default-job-19] Installing cairo-1.12.18_1,2... Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]" nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)" location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65" data: no] console.error: Failed to lookup langDesc Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]" nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)" location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65" data: no] console.error: Failed to lookup prefDesc Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]" nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)" location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65" data: no] console.error: Failed to lookup prefManual Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]" nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)" location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65" data: no] console.error: Failed to lookup prefShowDesc Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]" nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)" location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65" data: no] console.error: Failed to lookup prefShowManual Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]" nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)" location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65" data: no] console.error: Failed to lookup prefShowSettingDesc Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]" nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)" location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65" data: no] console.error: Failed to lookup prefShowSettingManual Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]" nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)" location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65" data: no] console.error: Failed to lookup prefSetDesc Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]" nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)" location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65" data: no] console.error: Failed to lookup prefSetManual Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]" nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)" location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65" data: no] console.error: Failed to lookup prefSetSettingDesc Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]" nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)" location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65" data: no] console.error: Failed to lookup prefSetSettingManual Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]" nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)" location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65" data: no] console.error: Failed to lookup prefSetValueDesc Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]" nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)" location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65" data: no] console.error: Failed to lookup prefSetValueManual Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]" nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)" location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65" data: no] console.error: Failed to lookup prefResetDesc Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]" nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)" location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65" data: no] console.error: Failed to lookup prefResetManual Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]" nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)" location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65" data: no] console.error: Failed to lookup prefResetSettingDesc Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]" nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)" location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65" data: no] console.error: Failed to lookup prefResetSettingManual Message: [Exception... "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIStringBundle.GetStringFromName]" nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)" location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/gcli/util/l10n.js :: exports.lookup :: line 65" data: no] resource://gre/modules/devtools/gcli/api.js resource://gre/modules/devtools/gcli/cli.js resource://gre/modules/devtools/gcli/commands/addon.js resource://gre/modules/devtools/gcli/commands/appcache.js resource://gre/modules/devtools/gcli/commands/calllog.js resource://gre/modules/devtools/gcli/commands/clear.js resource://gre/modules/devtools/gcli/commands/cmd.js resource://gre/modules/devtools/gcli/commands/commands.js resource://gre/modules/devtools/gcli/commands/connect.js resource://gre/modules/devtools/gcli/commands/context.js resource://gre/modules/devtools/gcli/commands/cookie.js resource://gre/modules/devtools/gcli/commands/exec.js resource://gre/modules/devtools/gcli/commands/global.js resource://gre/modules/devtools/gcli/commands/help.js resource://gre/modules/devtools/gcli/commands/intro.js resource://gre/modules/devtools/gcli/commands/jsb.js resource://gre/modules/devtools/gcli/commands/lang.js resource://gre/modules/devtools/gcli/commands/listen.js resource://gre/modules/devtools/gcli/commands/media.js resource://gre/modules/devtools/gcli/commands/mocks.js resource://gre/modules/devtools/gcli/commands/pagemod.js resource://gre/modules/devtools/gcli/commands/paintflashing.js resource://gre/modules/devtools/gcli/commands/pref.js resource://gre/modules/devtools/gcli/commands/preflist.js resource://gre/modules/devtools/gcli/commands/restart.js resource://gre/modules/devtools/gcli/commands/screenshot.js resource://gre/modules/devtools/gcli/commands/test.js resource://gre/modules/devtools/gcli/commands/tools.js resource://gre/modules/devtools/gcli/connectors/connectors.js resource://gre/modules/devtools/gcli/connectors/index.js resource://gre/modules/devtools/gcli/connectors/protocol.js resource://gre/modules/devtools/gcli/connectors/rdp.js resource://gre/modules/devtools/gcli/connectors/remoted.js resource://gre/modules/devtools/gcli/converters/basic.js resource://gre/modules/devtools/gcli/converters/converters.js resource://gre/modules/devtools/gcli/converters/html.js resource://gre/modules/devtools/gcli/converters/terminal.js resource://gre/modules/devtools/gcli/fields/delegate.js resource://gre/modules/devtools/gcli/fields/fields.js resource://gre/modules/devtools/gcli/fields/selection.js resource://gre/modules/devtools/gcli/index.js resource://gre/modules/devtools/gcli/languages/command.js resource://gre/modules/devtools/gcli/languages/javascript.js resource://gre/modules/devtools/gcli/languages/languages.js resource://gre/modules/devtools/gcli/mozui/completer.js resource://gre/modules/devtools/gcli/mozui/ffdisplay.js resource://gre/modules/devtools/gcli/mozui/inputter.js resource://gre/modules/devtools/gcli/mozui/tooltip.js resource://gre/modules/devtools/gcli/settings.js resource://gre/modules/devtools/gcli/types/array.js resource://gre/modules/devtools/gcli/types/boolean.js resource://gre/modules/devtools/gcli/types/command.js resource://gre/modules/devtools/gcli/types/date.js resource://gre/modules/devtools/gcli/types/delegate.js resource://gre/modules/devtools/gcli/types/file.js resource://gre/modules/devtools/gcli/types/fileparser.js resource://gre/modules/devtools/gcli/types/javascript.js resource://gre/modules/devtools/gcli/types/node.js resource://gre/modules/devtools/gcli/types/number.js resource://gre/modules/devtools/gcli/types/resource.js resource://gre/modules/devtools/gcli/types/selection.js resource://gre/modules/devtools/gcli/types/setting.js resource://gre/modules/devtools/gcli/types/string.js resource://gre/modules/devtools/gcli/types/types.js resource://gre/modules/devtools/gcli/ui/focus.js resource://gre/modules/devtools/gcli/ui/history.js resource://gre/modules/devtools/gcli/ui/intro.js resource://gre/modules/devtools/gcli/ui/menu.js resource://gre/modules/devtools/gcli/ui/view.js resource://gre/modules/devtools/gcli/util/domtemplate.js resource://gre/modules/devtools/gcli/util/fileparser.js resource://gre/modules/devtools/gcli/util/filesystem.js resource://gre/modules/devtools/gcli/util/host.js resource://gre/modules/devtools/gcli/util/l10n.js resource://gre/modules/devtools/gcli/util/legacy.js resource://gre/modules/devtools/gcli/util/prism.js resource://gre/modules/devtools/gcli/util/promise.js resource://gre/modules/devtools/gcli/util/spell.js resource://gre/modules/devtools/gcli/util/util.js resource://gre/modules/devtools/output-parser.js resource://gre/modules/devtools/pretty-fast.js resource://gre/modules/devtools/server/actors/call-watcher.js resource://gre/modules/devtools/server/actors/canvas.js resource://gre/modules/devtools/server/actors/childtab.js resource://gre/modules/devtools/server/actors/common.js resource://gre/modules/devtools/server/actors/device.js resource://gre/modules/devtools/server/actors/eventlooplag.js resource://gre/modules/devtools/server/actors/gcli.js resource://gre/modules/devtools/server/actors/highlighter.js resource://gre/modules/devtools/server/actors/inspector.js resource://gre/modules/devtools/server/actors/memory.js resource://gre/modules/devtools/server/actors/preference.js resource://gre/modules/devtools/server/actors/pretty-print-worker.js resource://gre/modules/devtools/server/actors/profiler.js resource://gre/modules/devtools/server/actors/root.js resource://gre/modules/devtools/server/actors/script.js resource://gre/modules/devtools/server/actors/storage.js resource://gre/modules/devtools/server/actors/string.js resource://gre/modules/devtools/server/actors/styleeditor.js resource://gre/modules/devtools/server/actors/styles.js resource://gre/modules/devtools/server/actors/stylesheets.js resource://gre/modules/devtools/server/actors/tracer.js resource://gre/modules/devtools/server/actors/webapps.js resource://gre/modules/devtools/server/actors/webaudio.js resource://gre/modules/devtools/server/actors/webbrowser.js resource://gre/modules/devtools/server/actors/webconsole.js resource://gre/modules/devtools/server/actors/webgl.js resource://gre/modules/devtools/server/child.js Traceback (most recent call last): File "/wrkdirs/usr/ports/www/libxul/work/mozilla-esr31/toolkit/mozapps/installer/packager.py", line 401, in main() File "/wrkdirs/usr/ports/www/libxul/work/mozilla-esr31/toolkit/mozapps/installer/packager.py", line 393, in main args.source, gre_path, base) File "/wrkdirs/usr/ports/www/libxul/work/mozilla-esr31/toolkit/mozapps/installer/packager.py", line 158, in precompile_cache errors.fatal('Error while running startup cache precompilation') File "/wrkdirs/usr/ports/www/libxul/work/mozilla-esr31/python/mozbuild/mozpack/errors.py", line 101, in fatal self._handle(self.FATAL, msg) File "/wrkdirs/usr/ports/www/libxul/work/mozilla-esr31/python/mozbuild/mozpack/errors.py", line 96, in _handle raise ErrorMessage(msg) mozpack.errors.ErrorMessage: Error: Error while running startup cache precompilation /wrkdirs/usr/ports/www/libxul/work/mozilla-esr31/toolkit/mozapps/installer/packager.mk:722: recipe for target 'stage-package' failed gmake[2]: *** [stage-package] Error 1 gmake[2]: Leaving directory '/wrkdirs/usr/ports/www/libxul/work/mozilla-esr31/obj-x86_64-portbld-freebsd8.4/xulrunner/installer' /wrkdirs/usr/ports/www/libxul/work/mozilla-esr31/xulrunner/build.mk:12: recipe for target 'install' failed gmake[1]: *** [install] Error 2 gmake[1]: Leaving directory '/wrkdirs/usr/ports/www/libxul/work/mozilla-esr31/obj-x86_64-portbld-freebsd8.4' /wrkdirs/usr/ports/www/libxul/work/mozilla-esr31/client.mk:388: recipe for target 'install' failed gmake: *** [install] Error 2 *** Error code 2 Stop in /usr/ports/www/libxul. From owner-freebsd-gecko@FreeBSD.ORG Fri Feb 20 20:15:17 2015 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4E146F49 for ; Fri, 20 Feb 2015 20:15:17 +0000 (UTC) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 39EA7152 for ; Fri, 20 Feb 2015 20:15:17 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.9/8.14.9) with ESMTP id t1KKFHUq028525 for ; Fri, 20 Feb 2015 20:15:17 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: gecko@FreeBSD.org Subject: maintainer-feedback requested: [Bug 197857] Fix www/libxul build with clang 3.6.0 Date: Fri, 20 Feb 2015 20:15:15 +0000 X-Bugzilla-Type: request Message-ID: In-Reply-To: References: X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Feb 2015 20:15:17 -0000 Dimitry Andric has reassigned Bugzilla Automation 's request for maintainer-feedback to gecko@FreeBSD.o= rg: Bug 197857: Fix www/libxul build with clang 3.6.0 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D197857 --- Description --- Created attachment 153233 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D153233&action= =3Dedit Fix invalid conversions of nullptr to bool in libxul During the exp-run in bug 197395, it was found that www/libxul gives errors with clang 3.6.0: http://package18.nyi.freebsd.org/data/headamd64PR197395-default/2015-02-11_= 23h0 4m51s/logs/errors/libxul-31.4.0_2.log These errors are all -Werror warnings, of the form: /wrkdirs/usr/ports/www/libxul/work/mozilla-esr31/js/src/builtin/TypedObject= .cpp :713:16: error: implicit conversion of nullptr constant to 'bool' [-Werror,-Wnull-conversion] return nullptr; ~~~~~~ ^~~~~~~ false where the function is supposed to return bool, not a pointer. These are bu= gs in the libxul code. The attached patch fixes all the instances of those bugs. --- Comment #1 from Bugzilla Automation --- Auto-assigned to maintainer gecko@FreeBSD.org= From owner-freebsd-gecko@FreeBSD.ORG Fri Feb 20 20:15:17 2015 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A4D98F4A for ; Fri, 20 Feb 2015 20:15:17 +0000 (UTC) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 73071153 for ; Fri, 20 Feb 2015 20:15:17 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.9/8.14.9) with ESMTP id t1KKFH6c028528 for ; Fri, 20 Feb 2015 20:15:17 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: gecko@FreeBSD.org Subject: [Bug 197857] Fix www/libxul build with clang 3.6.0 Date: Fri, 20 Feb 2015 20:15:15 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Ports & Packages X-Bugzilla-Component: Individual Port(s) X-Bugzilla-Version: Latest X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Many People X-Bugzilla-Who: dim@FreeBSD.org X-Bugzilla-Status: New X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: gecko@FreeBSD.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: maintainer-feedback? X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform op_sys bug_status bug_severity priority component assigned_to reporter flagtypes.name attachments.created Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Feb 2015 20:15:17 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197857 Bug ID: 197857 Summary: Fix www/libxul build with clang 3.6.0 Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Many People Priority: --- Component: Individual Port(s) Assignee: gecko@FreeBSD.org Reporter: dim@FreeBSD.org Flags: maintainer-feedback?(gecko@FreeBSD.org) Assignee: gecko@FreeBSD.org Created attachment 153233 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=153233&action=edit Fix invalid conversions of nullptr to bool in libxul During the exp-run in bug 197395, it was found that www/libxul gives errors with clang 3.6.0: http://package18.nyi.freebsd.org/data/headamd64PR197395-default/2015-02-11_23h04m51s/logs/errors/libxul-31.4.0_2.log These errors are all -Werror warnings, of the form: /wrkdirs/usr/ports/www/libxul/work/mozilla-esr31/js/src/builtin/TypedObject.cpp:713:16: error: implicit conversion of nullptr constant to 'bool' [-Werror,-Wnull-conversion] return nullptr; ~~~~~~ ^~~~~~~ false where the function is supposed to return bool, not a pointer. These are bugs in the libxul code. The attached patch fixes all the instances of those bugs. --- Comment #1 from Bugzilla Automation --- Auto-assigned to maintainer gecko@FreeBSD.org -- You are receiving this mail because: You are the assignee for the bug. From owner-freebsd-gecko@FreeBSD.ORG Fri Feb 20 20:15:48 2015 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 408B7112 for ; Fri, 20 Feb 2015 20:15:48 +0000 (UTC) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 27AB116A for ; Fri, 20 Feb 2015 20:15:48 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.9/8.14.9) with ESMTP id t1KKFmV3029137 for ; Fri, 20 Feb 2015 20:15:48 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: gecko@FreeBSD.org Subject: [Bug 197857] Fix www/libxul build with clang 3.6.0 Date: Fri, 20 Feb 2015 20:15:47 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Ports & Packages X-Bugzilla-Component: Individual Port(s) X-Bugzilla-Version: Latest X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Many People X-Bugzilla-Who: dim@FreeBSD.org X-Bugzilla-Status: New X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: gecko@FreeBSD.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: maintainer-feedback? X-Bugzilla-Changed-Fields: blocked Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Feb 2015 20:15:48 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197857 Dimitry Andric changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |197395 -- You are receiving this mail because: You are the assignee for the bug. From owner-freebsd-gecko@FreeBSD.ORG Sat Feb 21 05:58:13 2015 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CF890EDC for ; Sat, 21 Feb 2015 05:58:13 +0000 (UTC) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B57F179B for ; Sat, 21 Feb 2015 05:58:13 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.9/8.14.9) with ESMTP id t1L5wDAa055654 for ; Sat, 21 Feb 2015 05:58:13 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: gecko@FreeBSD.org Subject: [Bug 197857] Fix www/libxul build with clang 3.6.0 Date: Sat, 21 Feb 2015 05:58:13 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Ports & Packages X-Bugzilla-Component: Individual Port(s) X-Bugzilla-Version: Latest X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Many People X-Bugzilla-Who: jbeich@FreeBSD.org X-Bugzilla-Status: In Progress X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: gecko@FreeBSD.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: maintainer-feedback? X-Bugzilla-Changed-Fields: see_also bug_status Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Feb 2015 05:58:13 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197857 Jan Beich changed: What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://bugzilla.mozilla.or | |g/show_bug.cgi?id=1021171 Status|New |In Progress --- Comment #2 from Jan Beich --- Upstream also fixed in - js/xpconnect/wrappers/XrayWrapper.cpp - netwerk/ipc/NeckoParent.cpp I may need to check comm-esr31 code (as in mail/thunderbird) doesn't have more. -- You are receiving this mail because: You are the assignee for the bug. From owner-freebsd-gecko@FreeBSD.ORG Sat Feb 21 08:22:40 2015 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4226B58F for ; Sat, 21 Feb 2015 08:22:40 +0000 (UTC) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 28B3263E for ; Sat, 21 Feb 2015 08:22:40 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.9/8.14.9) with ESMTP id t1L8Medt035115 for ; Sat, 21 Feb 2015 08:22:40 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: gecko@FreeBSD.org Subject: [Bug 197857] Fix www/libxul build with clang 3.6.0 Date: Sat, 21 Feb 2015 08:22:40 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Ports & Packages X-Bugzilla-Component: Individual Port(s) X-Bugzilla-Version: Latest X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Many People X-Bugzilla-Who: commit-hook@freebsd.org X-Bugzilla-Status: In Progress X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: gecko@FreeBSD.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: maintainer-feedback? X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Feb 2015 08:22:40 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197857 --- Comment #3 from commit-hook@freebsd.org --- A commit references this bug: Author: jbeich Date: Sat Feb 21 08:22:29 UTC 2015 New revision: 379485 URL: https://svnweb.freebsd.org/changeset/ports/379485 Log: Fix invalid conversions of nullptr to bool to unbreak clang 3.6 build PR: 197857 Submitted by: dim (initial version) Obtained from: https://github.com/mozilla/gecko-dev/commit/dd19f59 Changes: head/mail/thunderbird/files/patch-bug1021171 head/www/firefox-esr/files/patch-bug1021171 head/www/libxul/files/patch-bug1021171 -- You are receiving this mail because: You are the assignee for the bug. From owner-freebsd-gecko@FreeBSD.ORG Sat Feb 21 08:23:55 2015 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C14445A0 for ; Sat, 21 Feb 2015 08:23:55 +0000 (UTC) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A78C2642 for ; Sat, 21 Feb 2015 08:23:55 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.9/8.14.9) with ESMTP id t1L8NtJ5035562 for ; Sat, 21 Feb 2015 08:23:55 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: gecko@FreeBSD.org Subject: [Bug 197857] Fix www/libxul build with clang 3.6.0 Date: Sat, 21 Feb 2015 08:23:55 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Ports & Packages X-Bugzilla-Component: Individual Port(s) X-Bugzilla-Version: Latest X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Many People X-Bugzilla-Who: jbeich@FreeBSD.org X-Bugzilla-Status: Closed X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: gecko@FreeBSD.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: maintainer-feedback? X-Bugzilla-Changed-Fields: bug_status resolution Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Feb 2015 08:23:55 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197857 Jan Beich changed: What |Removed |Added ---------------------------------------------------------------------------- Status|In Progress |Closed Resolution|--- |FIXED --- Comment #4 from Jan Beich --- Thanks. Committed. -- You are receiving this mail because: You are the assignee for the bug.