From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: From: Roland Hieber Date: Tue, 7 Nov 2017 17:40:22 +0100 Message-Id: <20171107164025.31443-4-r.hieber@pengutronix.de> In-Reply-To: <20171107164025.31443-1-r.hieber@pengutronix.de> References: <20171107164025.31443-1-r.hieber@pengutronix.de> Subject: [ptxdist] [PATCH v4 4/7] poppler: version bump 0.18.0 -> 0.60.1 List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ptxdist-bounces@pengutronix.de Sender: "ptxdist" To: ptxdist@pengutronix.de Cc: Roland Hieber VGhpcyBpcyBxdWl0ZSBhIHZlcnNpb24gYnVtcCwgc3Bhbm5pbmcgc2l4IHllYXJzIG9mIHBvcHBs ZXIgZGV2ZWxvcG1lbnQuCgpVcHN0cmVhbSBub3cgcHJvdmlkZXMgZGF0YSBmb3IgcmVuZGVyaW5n IGN5cmlsbGljIGFuZCBDSksgbGFuZ3VhZ2VzIGluCnRoZSBwYWNrYWdlIHBvcHBsZXItZGF0YSwg YnV0IHRoaXMgZGVwZW5kZW5jeSBpcyBvbmx5IGRldGVjdGVkIGF0CmNvbXBpbGUgdGltZSwgc28g d2UgbWFrZSBzdXJlIHRoZSBidWlsZCBvcmRlciBpcyByaWdodC4gVGhlIGJ1aWxkIHN5c3RlbQpo YXMgY2hhbmdlZCBmcm9tIGF1dG90b29scyB0byBDTWFrZS4KClNvbWUgYXBwbGljYXRpb25zIHJl cXVpcmUgdGhlIG9sZCB4cGRmIGhlYWRlcnMsIHRoZSBDUFAgd3JhcHBlciBvciBDTVlLCnN1cHBv cnQsIHNvIG1ha2UgdGhlc2Ugb3B0aW9ucyBzZWxlY3RhYmxlLiBTYW1lIGZvciB0aGUgU3BsYXNo IGJhY2tlbmQsCndoaWNoIGNhbiBub3cgYWxzbyBiZSBidWlsdCB3aXRoIHNpbmdsZSBwcmVjaXNp b24gb3IgZml4ZWQtcG9pbnQKYXJpdGhtZXRpYy4KClBORyBhbmQgSlBFRyBzdXBwb3J0IGlzIG5v IGxvbmdlciBicm9rZW47IHBvcHBsZXIgbm93IGFsc28gaW5jbHVkZXMgYW4KaW50ZXJuYWwgRENU IGRlY29kZXIsIGJ1dCBpdCBpcyBvZmZpY2lhbGx5IHVubWFpbnRhaW5lZCwgc28gd2UgbGVhdmUg aXQKb3V0LiBMaWtld2lzZSwgcG9wcGxlciBhbGxvd3MgdXNpbmcgemxpYiB0byB1bmNvbXByZXNz IGZsYXRlIHN0cmVhbXMsCmJ1dCB3aXRoIHRoZSB3YXJuaW5nIHRoYXQgdGhpcyBpcyAibm90IHRv dGFsbHkgc2FmZSIsIHNvIGl0IGlzIGRpc2FibGVkCmZvciBub3cuIFRoZSBHVEsgZGVwZW5kZW5j eSBoYXMgYmVlbiBkcm9wcGVkIGFzIGl0IGlzIG9ubHkgbmVjZXNzYXJ5CmZvciB0aGUgZG9jdW1l bnRhdGlvbiBvciBzb21lIHRlc3RzLCB3aGljaCB3ZSBkb24ndCBidWlsZC4KCkFkZGl0aW9uYWxs eSwgcG9wcGxlciBjb3VsZCBiZW5lZml0IGZyb20gcGFja2FnaW5nIGxpYm9wZW5qcGVnIGFuZAps aWJ0aWZmIGluIHB0eGRpc3QgZm9yIHBhcnNpbmcgSlBFRzIwMDAgb3IgVElGRiBlbWJlZGRlZCBp biBQREZzLgpMaWtld2lzZSwgbGlibnNzIGNvdWxkIGJlIHBhY2thZ2VkIGZvciBQREYgc2lnbmF0 dXJlIHN1cHBvcnQuIEFsc28gdGhlClF0NSB3cmFwcGVyIGlzIG5vdyBzZWxlY3RhYmxlLCBidXQg dGhpcyBpcyBjdXJyZW50bHkgb25seSBidWlsZC10ZXN0ZWQKYW5kIG5lZWRzIHRvIGJlIHRlc3Rl ZCBpbiBydW50aW1lLgoKRmluYWxseSBoYXJtb25pemUgdGhlIHdvcmRpbmcgb2YgdGhlIGtjb25m aWcgb3B0aW9ucy4KClNpZ25lZC1vZmYtYnk6IFJvbGFuZCBIaWViZXIgPHIuaGllYmVyQHBlbmd1 dHJvbml4LmRlPgotLS0KCk5vdGVzOgogICAgY2hhbmdlcyBpbiB2MyAtPiB2NDoKICAgICAtIHZl cnNpb24gYnVtcCAwLjU5LjAgLT4gMC42MC4xCiAgICAgICAqIDAuNjAgZHJvcHBlZCBhdXRvdG9v bHMgc3VwcG9ydCwgbWlncmF0ZSB0byBjbWFrZQogICAgIC0gcmVtb3ZlIG9sZCAwLjE4IHBhdGNo ZXMgKHRoZXkgd2VyZSBvbmx5IHBhdGNoaW5nIGF1dG9jb25mKQogICAgIC0gc3BlY2lmeSBtaXNz aW5nIGxpY2Vuc2UKICAgICAtIHJlbW92ZSB0aGUgZGVidWcgb3B0aW9ucyBhZ2FpbiwgdGhlcmUg aXMgbm8gZXF1aXZhbGVudCBpbiBjbWFrZSBhbmQKICAgICAgIHN0cmlwcGluZyB0aGUgYmluYXJp ZXMgY29ycmVjdGx5IGlzIGEgcHJvYmxlbS4KICAgICAtIGluc3RhbGwgaW50cm9zcGVjdGlvbiBk YXRhIGFuZCBsaWJwb3BwbGVyLXF0NS5zbyB3aGVuIHRvbGQgdG8gZG8gc28KICAgICAtIHJlbmFt ZSBQT1BQTEVSX0dPSSAtPiBQT1BQTEVSX0lOVFJPU1BFQ1RJT04sIGFuZCByZW1vdmUgaXRzIHBy b21wdAogICAgIC0gQ01ZSyBpcyByZWFsbHkgYW4gb3B0aW9uIGZvciB0aGUgc3BsYXNoIGJhY2tl bmQsIHJlbmFtZSBhY2NvcmRpbmdseQogICAgIC0gUXQ0IHdyYXBwZXIgaXMgbm90IGEgcmVuZGVy aW5nIGJhY2tlbmQsIHJlbW92ZSBpdCBmcm9tIHRoZQogICAgICAgbm8tc2VsZWN0ZWQtYmFja2Vu ZHMgd2FybmluZyBpbiBrY29uZmlnCiAgICAgLSAiZGVmYXVsdCBuIiBtYWtlcyBubyBzZW5zZSwg cmVtb3ZlIGl0IGZyb20gZmxvYXQvZml4ZWQgcG9pbnQgb3B0aW9ucwogICAgIC0gbWFrZSBQT1BQ TEVSX1hQREYgYSBzaWxlbnQgb3B0aW9uLCBub3JtYWxseSBub3QgbmVlZGVkIGJ5IHVzZXJzCiAg ICAgLSByZW9yZ2FuaXplIHRoZSBTcGxhc2ggc3ViLW9wdGlvbnMgaW50byBhbiBpZiAuLi4gZW5k aWYKICAgICAtIGltcHJvdmUgc3RydWN0dXJlIG9mIGNvbW1pdCBtZXNzYWdlCgogLi4uLzAwMDEt bWFrZS1xdDQtdGVzdHMtb3B0aW9uYWwucGF0Y2ggICAgICAgICAgICAgfCAgNjAgLS0tLS0tLS0t CiBwYXRjaGVzL3BvcHBsZXItMC4xOC4wL2F1dG9nZW4uc2ggICAgICAgICAgICAgICAgICB8ICAg MSAtCiBwYXRjaGVzL3BvcHBsZXItMC4xOC4wL3NlcmllcyAgICAgICAgICAgICAgICAgICAgICB8 ICAgMyAtCiAuLi5kZC10aGUtY3VzdG9tLWJ1aWxkdGVzdHMtdGFyZ2V0LW9ubHktb25jZS5wYXRj aCB8ICA1OCArKysrKysrKwogLi4uTWFrZS1tYWtlLUZpbmRMQ01TLmNtYWtlLWNyb3NzLWNvbXBh dGlibGUucGF0Y2ggfCAgNjkgKysrKysrKysrKwogcGF0Y2hlcy9wb3BwbGVyLTAuNjAuMS9zZXJp ZXMgICAgICAgICAgICAgICAgICAgICAgfCAgIDUgKwogcnVsZXMvcG9wcGxlci5pbiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxNDYgKysrKysrKysrKysrKysrKy0tLS0tCiBy dWxlcy9wb3BwbGVyLm1ha2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA5MiAr KysrKysrKy0tLS0tCiA4IGZpbGVzIGNoYW5nZWQsIDMwOCBpbnNlcnRpb25zKCspLCAxMjYgZGVs ZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9wb3BwbGVyLTAuMTguMC8wMDAx LW1ha2UtcXQ0LXRlc3RzLW9wdGlvbmFsLnBhdGNoCiBkZWxldGUgbW9kZSAxMjAwMDAgcGF0Y2hl cy9wb3BwbGVyLTAuMTguMC9hdXRvZ2VuLnNoCiBkZWxldGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9w b3BwbGVyLTAuMTguMC9zZXJpZXMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL3BvcHBsZXIt MC42MC4xLzAwMDEtQ01ha2UtYWRkLXRoZS1jdXN0b20tYnVpbGR0ZXN0cy10YXJnZXQtb25seS1v bmNlLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9wb3BwbGVyLTAuNjAuMS8wMDAy LUNNYWtlLW1ha2UtRmluZExDTVMuY21ha2UtY3Jvc3MtY29tcGF0aWJsZS5wYXRjaAogY3JlYXRl IG1vZGUgMTAwNjQ0IHBhdGNoZXMvcG9wcGxlci0wLjYwLjEvc2VyaWVzCgpkaWZmIC0tZ2l0IGEv cGF0Y2hlcy9wb3BwbGVyLTAuMTguMC8wMDAxLW1ha2UtcXQ0LXRlc3RzLW9wdGlvbmFsLnBhdGNo IGIvcGF0Y2hlcy9wb3BwbGVyLTAuMTguMC8wMDAxLW1ha2UtcXQ0LXRlc3RzLW9wdGlvbmFsLnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OTk1MzVlY2YuLjAwMDAwMDAwMAot LS0gYS9wYXRjaGVzL3BvcHBsZXItMC4xOC4wLzAwMDEtbWFrZS1xdDQtdGVzdHMtb3B0aW9uYWwu cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MCArMCwwIEBACi1Gcm9tOiBNaWNoYWVsIE9sYnJp Y2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KLURhdGU6IFNhdCwgMTEgSnVuIDIwMTEgMjA6 MjM6MDIgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gbWFrZSBxdDQgdGVzdHMgb3B0aW9uYWwKLQot U2lnbmVkLW9mZi1ieTogTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+ Ci0tLS0KLSBjb25maWd1cmUuYWMgICAgICAgICAgfCAgIDEzICsrKysrKy0tLS0tLS0KLSBxdDQv dGVzdHMvTWFrZWZpbGUuYW0gfCAgICAyICstCi0gMiBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlv bnMoKyksIDggZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25m aWd1cmUuYWMKLWluZGV4IDQ3MWY5MDkuLmFmZjExZDggMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUu YWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTQ4MiwxOSArNDgyLDE3IEBAIEFDX0FSR19FTkFC TEUocG9wcGxlci1xdDQsCi0gaWYgdGVzdCB4JGVuYWJsZV9wb3BwbGVyX3F0NCA9IHh5ZXM7IHRo ZW4KLSAgIFBLR19DSEVDS19NT0RVTEVTKFBPUFBMRVJfUVQ0LCAKLSAJICAgICAgICAgICAgUXRD b3JlID49IDQuNC4wIFF0R3VpID49IDQuNC4wIFF0WG1sID49IDQuNC4wKQotLSAgUEtHX0NIRUNL X01PRFVMRVMoUE9QUExFUl9RVDRfVEVTVCwgCi0tCSAgICAgICAgICAgIFF0VGVzdCA+PSA0LjQu MCkKLSBlbGlmIHRlc3QgeCRlbmFibGVfcG9wcGxlcl9xdDQgPSB4dHJ5OyB0aGVuCi0gICBQS0df Q0hFQ0tfTU9EVUxFUyhQT1BQTEVSX1FUNCwKLSAgICAgICAgICAgICAgICAgICAgIFF0Q29yZSA+ PSA0LjQuMCBRdEd1aSA+PSA0LjQuMCBRdFhtbCA+PSA0LjQuMCwKLSAgICAgICAgICAgICAgICAg ICAgIFtlbmFibGVfcG9wcGxlcl9xdDQ9InllcyJdLAotICAgICAgICAgICAgICAgICAgICAgW2Vu YWJsZV9wb3BwbGVyX3F0ND0ibm8iXSkKLS0gIGlmIHRlc3QgeCRlbmFibGVfcG9wcGxlcl9xdDQg PSB4eWVzOyB0aGVuCi0tICAgIFBLR19DSEVDS19NT0RVTEVTKFBPUFBMRVJfUVQ0X1RFU1QsCi0r ZmkKLStpZiB0ZXN0IHgkZW5hYmxlX3BvcHBsZXJfcXQ0ID0geHllczsgdGhlbgotKyAgUEtHX0NI RUNLX01PRFVMRVMoUE9QUExFUl9RVDRfVEVTVCwKLSAgICAgICAgICAgICAgICAgICAgIFF0VGVz dCA+PSA0LjQuMCwKLS0gICAgICAgICAgICAgICAgICAgIFtlbmFibGVfcG9wcGxlcl9xdDQ9Inll cyJdLAotLSAgICAgICAgICAgICAgICAgICAgW2VuYWJsZV9wb3BwbGVyX3F0ND0ibm8iXSkKLS0g IGZpCi0rICAgICAgICAgICAgICAgICAgICBbZW5hYmxlX3BvcHBsZXJfcXQ0X3Rlc3RzPSJ5ZXMi XSwKLSsgICAgICAgICAgICAgICAgICAgIFtlbmFibGVfcG9wcGxlcl9xdDRfdGVzdHM9Im5vIl0p Ci0gZmkKLSAKLSBBQ19TVUJTVChQT1BQTEVSX1FUNF9DWFhGTEFHUykKLUBAIC01MjIsNiArNTIw LDcgQEAgaWYgdGVzdCB4JGVuYWJsZV9wb3BwbGVyX3F0NCA9IHh5ZXM7IHRoZW4KLSBmaQotIAot IEFNX0NPTkRJVElPTkFMKEJVSUxEX1BPUFBMRVJfUVQ0LCB0ZXN0ICJ4JGVuYWJsZV9wb3BwbGVy X3F0NCIgPSAieHllcyIpCi0rQU1fQ09ORElUSU9OQUwoQlVJTERfUE9QUExFUl9RVDRfVEVTVFMs IHRlc3QgIngkZW5hYmxlX3BvcHBsZXJfcXQ0X3Rlc3RzIiA9ICJ4eWVzIikKLSAKLSBkbmwKLSBk bmwgQ1BQIGZyb250ZW5kCi1kaWZmIC0tZ2l0IGEvcXQ0L3Rlc3RzL01ha2VmaWxlLmFtIGIvcXQ0 L3Rlc3RzL01ha2VmaWxlLmFtCi1pbmRleCA5M2UxMTMyLi45ZThkZWFmIDEwMDY0NAotLS0tIGEv cXQ0L3Rlc3RzL01ha2VmaWxlLmFtCi0rKysgYi9xdDQvdGVzdHMvTWFrZWZpbGUuYW0KLUBAIC02 NSw3ICs2NSw3IEBAIHN0cmVzc19wb3BwbGVyX2Rpcl9MREFERCA9ICQoTERBRERTKQotIGNsZWFu LWdlbmVyaWM6Ci0gCXJtIC1mICoubW9jCi0gCi0taWYgQlVJTERfUE9QUExFUl9RVDQKLStpZiBC VUlMRF9QT1BQTEVSX1FUNF9URVNUUwotIFRFU1RTID0gXAotIAljaGVja19hdHRhY2htZW50cwlc Ci0gCWNoZWNrX2FjdHVhbHRleHQJXApkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9wb3BwbGVyLTAuMTgu MC9hdXRvZ2VuLnNoIGIvcGF0Y2hlcy9wb3BwbGVyLTAuMTguMC9hdXRvZ2VuLnNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEyMDAwMAppbmRleCA5ZjhhNGNiN2QuLjAwMDAwMDAwMAotLS0gYS9wYXRjaGVz L3BvcHBsZXItMC4xOC4wL2F1dG9nZW4uc2gKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi0u Li9hdXRvZ2VuLnNoClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcGF0 Y2hlcy9wb3BwbGVyLTAuMTguMC9zZXJpZXMgYi9wYXRjaGVzL3BvcHBsZXItMC4xOC4wL3Nlcmll cwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWU5MThiMTFmLi4wMDAwMDAwMDAKLS0t IGEvcGF0Y2hlcy9wb3BwbGVyLTAuMTguMC9zZXJpZXMKKysrIC9kZXYvbnVsbApAQCAtMSwzICsw LDAgQEAKLSMgZ2VuZXJhdGVkIGJ5IGdpdC1wdHgtcGF0Y2hlcwotMDAwMS1tYWtlLXF0NC10ZXN0 cy1vcHRpb25hbC5wYXRjaAotIyA0M2Q4N2ZhNmIxZmUwNmNmZDQyMDVhZTRhNDk0ZTk2MCAgLSBn aXQtcHR4LXBhdGNoZXMgbWFnaWMKZGlmZiAtLWdpdCBhL3BhdGNoZXMvcG9wcGxlci0wLjYwLjEv MDAwMS1DTWFrZS1hZGQtdGhlLWN1c3RvbS1idWlsZHRlc3RzLXRhcmdldC1vbmx5LW9uY2UucGF0 Y2ggYi9wYXRjaGVzL3BvcHBsZXItMC42MC4xLzAwMDEtQ01ha2UtYWRkLXRoZS1jdXN0b20tYnVp bGR0ZXN0cy10YXJnZXQtb25seS1vbmNlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMC4uN2Q5OTY3NjBhCi0tLSAvZGV2L251bGwKKysrIGIvcGF0Y2hlcy9wb3BwbGVy LTAuNjAuMS8wMDAxLUNNYWtlLWFkZC10aGUtY3VzdG9tLWJ1aWxkdGVzdHMtdGFyZ2V0LW9ubHkt b25jZS5wYXRjaApAQCAtMCwwICsxLDU4IEBACitGcm9tOiBSb2xhbmQgSGllYmVyIDxyLmhpZWJl ckBwZW5ndXRyb25peC5kZT4KK0RhdGU6IE1vbiwgNiBOb3YgMjAxNyAxNTozNjozNCArMDEwMAor U3ViamVjdDogW1BBVENIXSBDTWFrZTogYWRkIHRoZSBjdXN0b20gYGJ1aWxkdGVzdHNgIHRhcmdl dCBvbmx5IG9uY2UKKworVGhpcyBmaXhlcyBidWlsZGluZyB3aXRoIC1EQlVJTERfUVQ0X1RFU1RT PU5PIG9yIC1EQlVJTERfUVQ1X1RFU1RTPU5PLAord2hpY2ggcmVzdWx0ZWQgaW4gZXJyb3IgbWVz c2FnZXMgbGlrZToKKworICBDTWFrZSBFcnJvciBhdCBjbWFrZS9tb2R1bGVzL1BvcHBsZXJNYWNy b3MuY21ha2U6NDEgKGFkZF9jdXN0b21fdGFyZ2V0KToKKyAgICBhZGRfY3VzdG9tX3RhcmdldCBj YW5ub3QgY3JlYXRlIHRhcmdldCAiYnVpbGR0ZXN0cyIgYmVjYXVzZSBhbm90aGVyCisgICAgdGFy Z2V0IHdpdGggdGhlIHNhbWUgbmFtZSBhbHJlYWR5IGV4aXN0cy4gIFRoZSBleGlzdGluZyB0YXJn ZXQgaXMgYQorICAgIGN1c3RvbSB0YXJnZXQgY3JlYXRlZCBpbiBzb3VyY2UgZGlyZWN0b3J5Cisg ICAgIlsuLi5dL3BvcHBsZXItMC42MC4xL3F0NC90ZXN0cyIuCisgICAgU2VlIGRvY3VtZW50YXRp b24gZm9yIHBvbGljeSBDTVAwMDAyIGZvciBtb3JlIGRldGFpbHMuCisgIENhbGwgU3RhY2sgKG1v c3QgcmVjZW50IGNhbGwgZmlyc3QpOgorICAgIHF0NC90ZXN0cy9DTWFrZUxpc3RzLnR4dDozMCAo cG9wcGxlcl9hZGRfdW5pdHRlc3QpCisgICAgcXQ0L3Rlc3RzL0NNYWtlTGlzdHMudHh0OjUyIChx dDRfYWRkX3F0ZXN0KQorCitTb2x2ZSB0aGlzIGJ5IG1ha2luZyBCVUlMRFRFU1RTX0FEREVEIGEg Z2xvYmFsIHByb3BlcnR5IHNvIGl0IGlzIG9ubHkKK3JlbWVtYmVyZWQgb25jZSBwZXIgcHJvamVj dCBpbnN0ZWFkIG9mIHBlciBkaXJlY3RvcnkuCisKK0ZpeGVzIGJ1ZyAjMTAzMDAzLgorCitGb3J3 YXJkZWQ6IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzAw MyNjNQorU2lnbmVkLW9mZi1ieTogUm9sYW5kIEhpZWJlciA8ci5oaWViZXJAcGVuZ3V0cm9uaXgu ZGU+CistLS0KKyBjbWFrZS9tb2R1bGVzL1BvcHBsZXJNYWNyb3MuY21ha2UgfCA4ICsrKystLS0t CisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlm ZiAtLWdpdCBhL2NtYWtlL21vZHVsZXMvUG9wcGxlck1hY3Jvcy5jbWFrZSBiL2NtYWtlL21vZHVs ZXMvUG9wcGxlck1hY3Jvcy5jbWFrZQoraW5kZXggYmE0YmNlYjM2YmE0Li40NTQyNzUxYTA4NTcg MTAwNjQ0CistLS0gYS9jbWFrZS9tb2R1bGVzL1BvcHBsZXJNYWNyb3MuY21ha2UKKysrKyBiL2Nt YWtlL21vZHVsZXMvUG9wcGxlck1hY3Jvcy5jbWFrZQorQEAgLTEzLDEwICsxMywxMCBAQCBtYWNy byhQT1BQTEVSX0FERF9URVNUIGV4ZSBidWlsZF9mbGFnKQorIAorICAgIyBpZiB0aGUgdGVzdHMg YXJlIEVYQ0xVREVfRlJPTV9BTEwsIGFkZCBhIHRhcmdldCAiYnVpbGR0ZXN0cyIgdG8gYnVpbGQg YWxsIHRlc3RzCisgICBpZihOT1QgYnVpbGRfdGVzdCBBTkQgTk9UIE1TVkNfSURFKQorLSAgICBn ZXRfZGlyZWN0b3J5X3Byb3BlcnR5KF9idWlsZHRlc3RzQWRkZWQgQlVJTERURVNUU19BRERFRCkK KysgICAgZ2V0X3Byb3BlcnR5KF9idWlsZHRlc3RzQWRkZWQgR0xPQkFMIFBST1BFUlRZIEJVSUxE VEVTVFNfQURERUQpCisgICAgIGlmKE5PVCBfYnVpbGR0ZXN0c0FkZGVkKQorICAgICAgIGFkZF9j dXN0b21fdGFyZ2V0KGJ1aWxkdGVzdHMpCistICAgICAgc2V0X2RpcmVjdG9yeV9wcm9wZXJ0aWVz KFBST1BFUlRJRVMgQlVJTERURVNUU19BRERFRCBUUlVFKQorKyAgICAgIHNldF9wcm9wZXJ0eShH TE9CQUwgUFJPUEVSVFkgQlVJTERURVNUU19BRERFRCBUUlVFKQorICAgICBlbmRpZihOT1QgX2J1 aWxkdGVzdHNBZGRlZCkKKyAgICAgYWRkX2RlcGVuZGVuY2llcyhidWlsZHRlc3RzICR7ZXhlfSkK KyAgIGVuZGlmKE5PVCBidWlsZF90ZXN0IEFORCBOT1QgTVNWQ19JREUpCitAQCAtMzMsMTAgKzMz LDEwIEBAIG1hY3JvKFBPUFBMRVJfQUREX1VOSVRURVNUIGV4ZSBidWlsZF9mbGFnKQorIAorICAg IyBpZiB0aGUgdGVzdHMgYXJlIEVYQ0xVREVfRlJPTV9BTEwsIGFkZCBhIHRhcmdldCAiYnVpbGR0 ZXN0cyIgdG8gYnVpbGQgYWxsIHRlc3RzCisgICBpZihOT1QgYnVpbGRfdGVzdCkKKy0gICAgZ2V0 X2RpcmVjdG9yeV9wcm9wZXJ0eShfYnVpbGR0ZXN0c0FkZGVkIEJVSUxEVEVTVFNfQURERUQpCisr ICAgIGdldF9wcm9wZXJ0eShfYnVpbGR0ZXN0c0FkZGVkIEdMT0JBTCBQUk9QRVJUWSBCVUlMRFRF U1RTX0FEREVEKQorICAgICBpZihOT1QgX2J1aWxkdGVzdHNBZGRlZCkKKyAgICAgICBhZGRfY3Vz dG9tX3RhcmdldChidWlsZHRlc3RzKQorLSAgICAgIHNldF9kaXJlY3RvcnlfcHJvcGVydGllcyhQ Uk9QRVJUSUVTIEJVSUxEVEVTVFNfQURERUQgVFJVRSkKKysgICAgICBzZXRfcHJvcGVydHkoR0xP QkFMIFBST1BFUlRZIEJVSUxEVEVTVFNfQURERUQgVFJVRSkKKyAgICAgZW5kaWYoTk9UIF9idWls ZHRlc3RzQWRkZWQpCisgICAgIGFkZF9kZXBlbmRlbmNpZXMoYnVpbGR0ZXN0cyAke2V4ZX0pCisg ICBlbmRpZihOT1QgYnVpbGRfdGVzdCkKZGlmZiAtLWdpdCBhL3BhdGNoZXMvcG9wcGxlci0wLjYw LjEvMDAwMi1DTWFrZS1tYWtlLUZpbmRMQ01TLmNtYWtlLWNyb3NzLWNvbXBhdGlibGUucGF0Y2gg Yi9wYXRjaGVzL3BvcHBsZXItMC42MC4xLzAwMDItQ01ha2UtbWFrZS1GaW5kTENNUy5jbWFrZS1j cm9zcy1jb21wYXRpYmxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MC4uMmU5Mjg1YzYyCi0tLSAvZGV2L251bGwKKysrIGIvcGF0Y2hlcy9wb3BwbGVyLTAuNjAuMS8w MDAyLUNNYWtlLW1ha2UtRmluZExDTVMuY21ha2UtY3Jvc3MtY29tcGF0aWJsZS5wYXRjaApAQCAt MCwwICsxLDY5IEBACitGcm9tOiBSb2xhbmQgSGllYmVyIDxyLmhpZWJlckBwZW5ndXRyb25peC5k ZT4KK0RhdGU6IE1vbiwgNiBOb3YgMjAxNyAxNzozMToxNyArMDEwMAorU3ViamVjdDogW1BBVENI XSBDTWFrZTogbWFrZSBGaW5kTENNUy5jbWFrZSBjcm9zcy1jb21wYXRpYmxlCisKK0ZpbmRMQ01T Lm1ha2UgY29tcGxhaW5zIHdoZW4gYmVpbmcgcnVuIGluIGNyb3NzLWNvbXBpbGUgbW9kZToKKwor ICAtLSBDaGVja2luZyBmb3IgbW9kdWxlICdsY21zJworICAtLSAgIEZvdW5kIGxjbXMsIHZlcnNp b24gMS4xOQorICBDTWFrZSBFcnJvcjogVFJZX1JVTigpIGludm9rZWQgaW4gY3Jvc3MtY29tcGls aW5nIG1vZGUsIHBsZWFzZSBzZXQgdGhlCisgIGZvbGxvd2luZyBjYWNoZSB2YXJpYWJsZXMgYXBw cm9wcmlhdGVseToKKyAgICAgTENNU19WRVJTSU9OIChhZHZhbmNlZCkKKyAgICAgTENNU19WRVJT SU9OX19UUllSVU5fT1VUUFVUIChhZHZhbmNlZCkKKyAgRm9yIGRldGFpbHMgc2VlIFsuLi5dL3Bv cHBsZXItMC42MC4xLWJ1aWxkL1RyeVJ1blJlc3VsdHMuY21ha2UKKyAgLS0gRm91bmQgbGNtcyB2 ZXJzaW9uIFAuTEUsIFsuLi5dL3N5c3Jvb3QtdGFyZ2V0L3Vzci9saWIvbGlibGNtcy5zbworCitU byB3b3JrIGFyb3VuZCB0aGlzLCByZXBsYWNlIHRyeV9ydW4oKSB3aXRoIHRoZSB2ZXJzaW9uIHBh cnNpbmcgcmVnZXgKK2Zyb20gRmluZExDTVMyLm1ha2UsIGFuZCBhZGFwdCBpdCBhY2NvcmRpbmds eSBmb3IgbGNtczEuCisKK0ZvcndhcmRlZDogaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9z aG93X2J1Zy5jZ2k/aWQ9MTAzNTkzI2MwCitTaWduZWQtb2ZmLWJ5OiBSb2xhbmQgSGllYmVyIDxy LmhpZWJlckBwZW5ndXRyb25peC5kZT4KKy0tLQorIGNtYWtlL21vZHVsZXMvRmluZExDTVMuY21h a2UgfCAyNSArKysrKystLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDYgaW5z ZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jbWFrZS9tb2R1bGVz L0ZpbmRMQ01TLmNtYWtlIGIvY21ha2UvbW9kdWxlcy9GaW5kTENNUy5jbWFrZQoraW5kZXggOWQx NjJkMmNmZGQ4Li41MDRmNjdmYTc1ZjEgMTAwNjQ0CistLS0gYS9jbWFrZS9tb2R1bGVzL0ZpbmRM Q01TLmNtYWtlCisrKysgYi9jbWFrZS9tb2R1bGVzL0ZpbmRMQ01TLmNtYWtlCitAQCAtNDIsMzQg KzQyLDIxIEBAIGVsc2UoTENNU19JTkNMVURFX0RJUiBBTkQgTENNU19MSUJSQVJJRVMpCisgZW5k aWYoTENNU19JTkNMVURFX0RJUiBBTkQgTENNU19MSUJSQVJJRVMpCisgCisgaWYoTENNU19GT1VO RCkKKy0gICBzZXQoRklORF9MQ01TX1ZFUlNJT05fU09VUkNFCistICAgICAgIiNpbmNsdWRlIDxs Y21zLmg+XG4gaW50IG1haW4oKVxuIHtcbiByZXR1cm4gTENNU19WRVJTSU9OO1xuIH1cbiIpCist ICAgc2V0KEZJTkRfTENNU19WRVJTSU9OX1NPVVJDRV9GSUxFICR7Q01BS0VfQklOQVJZX0RJUn0v Q01ha2VUbXAvRmluZExDTVMuY3h4KQorLSAgIGZpbGUoV1JJVEUgIiR7RklORF9MQ01TX1ZFUlNJ T05fU09VUkNFX0ZJTEV9IiAiJHtGSU5EX0xDTVNfVkVSU0lPTl9TT1VSQ0V9IikKKy0KKy0gICBz ZXQoRklORF9MQ01TX1ZFUlNJT05fQUREX0lOQ0xVREVTIAorLSAgICAgICItRElOQ0xVREVfRElS RUNUT1JJRVM6U1RSSU5HPSR7TENNU19JTkNMVURFX0RJUn0iKQorLQorLSAgIHRyeV9ydW4oTENN U19WRVJTSU9OIExDTVNfQ09NUElMRV9SRVNVTFQKKy0gICAgICAke0NNQUtFX0JJTkFSWV9ESVJ9 CistICAgICAgJHtGSU5EX0xDTVNfVkVSU0lPTl9TT1VSQ0VfRklMRX0KKy0gICAgICBDTUFLRV9G TEFHUyAiJHtGSU5EX0xDTVNfVkVSU0lPTl9BRERfSU5DTFVERVN9IgorLSAgICAgIE9VVFBVVF9W QVJJQUJMRSBPVVRQVVQpCistCistICAgaWYoTENNU19DT01QSUxFX1JFU1VMVCBBTkQgTk9UIExD TVNfVkVSU0lPTiBTVFJFUVVBTCBGQUlMRURfVE9fUlVOKQorKyAgIGZpbGUoUkVBRCAke0xDTVNf SU5DTFVERV9ESVJ9L2xjbXMuaCBMQ01TX1ZFUlNJT05fQ09OVEVOVCkKKysgICBzdHJpbmcoUkVH RVggTUFUQ0ggIiNkZWZpbmUgTENNU19WRVJTSU9OWyBdKlswLTldKlxuIiBMQ01TX1ZFUlNJT05f TUFUQ0ggJHtMQ01TX1ZFUlNJT05fQ09OVEVOVH0pCisrICAgaWYoTENNU19WRVJTSU9OX01BVENI KQorKyAgICAgIHN0cmluZyhSRUdFWCBSRVBMQUNFICIjZGVmaW5lIExDTVNfVkVSU0lPTlsgXSoo WzAtOV0qKVxuIiAiXFwxIiBMQ01TX1ZFUlNJT04gJHtMQ01TX1ZFUlNJT05fTUFUQ0h9KQorICAg ICAgIGlmKE5PVCBMQ01TX0ZJTkRfUVVJRVRMWSkKKyAgICAgICAgICBzdHJpbmcoU1VCU1RSSU5H ICR7TENNU19WRVJTSU9OfSAwIDEgTENNU19NQUpPUl9WRVJTSU9OKQorICAgICAgICAgIHN0cmlu ZyhTVUJTVFJJTkcgJHtMQ01TX1ZFUlNJT059IDEgMiBMQ01TX01JTk9SX1ZFUlNJT04pCisgICAg ICAgICAgbWVzc2FnZShTVEFUVVMgIkZvdW5kIGxjbXMgdmVyc2lvbiAke0xDTVNfTUFKT1JfVkVS U0lPTn0uJHtMQ01TX01JTk9SX1ZFUlNJT059LCAke0xDTVNfTElCUkFSSUVTfSIpCisgICAgICAg ZW5kaWYoTk9UIExDTVNfRklORF9RVUlFVExZKQorLSAgIGVsc2UoTENNU19DT01QSUxFX1JFU1VM VCBBTkQgTk9UIExDTVNfVkVSU0lPTiBTVFJFUVVBTCBGQUlMRURfVE9fUlVOKQorKyAgIGVsc2Uo TENNU19WRVJTSU9OX01BVENIKQorICAgICAgIGlmKE5PVCBMQ01TX0ZJTkRfUVVJRVRMWSkKKyAg ICAgICAgICBtZXNzYWdlKFNUQVRVUyAiRm91bmQgbGNtcyBidXQgZmFpbGVkIHRvIGZpbmQgdmVy c2lvbiAke0xDTVNfTElCUkFSSUVTfSIpCistICAgICAgICAgZmlsZShBUFBFTkQgJHtDTUFLRV9C SU5BUllfRElSfS9DTWFrZUZpbGVzL0NNYWtlRXJyb3IubG9nCistICAgICAgICAgICAgIkZpbmQg bGNtcyB2ZXJzaW9uIGZhaWxlZCB3aXRoIHRoZSBmb2xsb3dpbmcgb3V0cHV0OlxuJHtPVVRQVVR9 XG5GaW5kTENNUy5jeHg6XG4ke0ZJTkRfTENNU19WRVJTSU9OX1NPVVJDRX1cblxuIikKKyAgICAg ICBlbmRpZihOT1QgTENNU19GSU5EX1FVSUVUTFkpCisgICAgICAgc2V0KExDTVNfVkVSU0lPTiBO T1RGT1VORCkKKy0gICBlbmRpZihMQ01TX0NPTVBJTEVfUkVTVUxUIEFORCBOT1QgTENNU19WRVJT SU9OIFNUUkVRVUFMIEZBSUxFRF9UT19SVU4pCisrICAgIGVuZGlmKExDTVNfVkVSU0lPTl9NQVRD SCkKKyBlbHNlKExDTVNfRk9VTkQpCisgICAgaWYoTk9UIExDTVNfRklORF9RVUlFVExZKQorICAg ICAgIGlmKExDTVNfRklORF9SRVFVSVJFRCkKZGlmZiAtLWdpdCBhL3BhdGNoZXMvcG9wcGxlci0w LjYwLjEvc2VyaWVzIGIvcGF0Y2hlcy9wb3BwbGVyLTAuNjAuMS9zZXJpZXMKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi41MTEyZGUzMDMKLS0tIC9kZXYvbnVsbAorKysgYi9w YXRjaGVzL3BvcHBsZXItMC42MC4xL3NlcmllcwpAQCAtMCwwICsxLDUgQEAKKyMgZ2VuZXJhdGVk IGJ5IGdpdC1wdHgtcGF0Y2hlcworI3RhZzpiYXNlIC0tc3RhcnQtbnVtYmVyIDEKKzAwMDEtQ01h a2UtYWRkLXRoZS1jdXN0b20tYnVpbGR0ZXN0cy10YXJnZXQtb25seS1vbmNlLnBhdGNoCiswMDAy LUNNYWtlLW1ha2UtRmluZExDTVMuY21ha2UtY3Jvc3MtY29tcGF0aWJsZS5wYXRjaAorIyAyODhj ZjhiMzQwOWZhNTZmMzJiMDFhY2E2MWFjYjM1MiAgLSBnaXQtcHR4LXBhdGNoZXMgbWFnaWMKZGlm ZiAtLWdpdCBhL3J1bGVzL3BvcHBsZXIuaW4gYi9ydWxlcy9wb3BwbGVyLmluCmluZGV4IGIxMDdk YzdhNS4uNTdlYTc2M2UxIDEwMDY0NAotLS0gYS9ydWxlcy9wb3BwbGVyLmluCisrKyBiL3J1bGVz L3BvcHBsZXIuaW4KQEAgLTMsMjQgKzMsMzcgQEAKIG1lbnVjb25maWcgUE9QUExFUgogCXRyaXN0 YXRlCiAJcHJvbXB0ICJwb3BwbGVyICAgICAgICAgICAgICAgICAgICAgICAiCisJc2VsZWN0IEhP U1RfQ01BS0UKIAlzZWxlY3QgRk9OVENPTkZJRworCXNlbGVjdCBGUkVFVFlQRQogCXNlbGVjdCBI T1NUX0dFVFRFWFQKLQlzZWxlY3QgR0xJQgkJaWYgUE9QUExFUl9HTElCCi0Jc2VsZWN0IExJQlBO RwkJaWYgUE9QUExFUl9QTkcKLQlzZWxlY3QgTElCSlBFRwkJaWYgUE9QUExFUl9KUEVHCi0Jc2Vs ZWN0IENBSVJPCQlpZiBQT1BQTEVSX0NBSVJPCi0Jc2VsZWN0IEdUSwkJaWYgUE9QUExFUl9TUExB U0ggJiYgUE9QUExFUl9HTElCCi0Jc2VsZWN0IFpMSUIJCWlmIFBPUFBMRVJfWkxJQgotCXNlbGVj dCBMSUJDVVJMCQlpZiBQT1BQTEVSX0NVUkwKLQlzZWxlY3QgTENNUwkJaWYgUE9QUExFUl9DTVMK LQlzZWxlY3QgUVQ0CQlpZiBQT1BQTEVSX1FUNAotCXNlbGVjdCBRVDRfQlVJTERfR1VJCWlmIFBP UFBMRVJfUVQ0Ci0Jc2VsZWN0IFFUNF9CVUlMRF9YTUwJaWYgUE9QUExFUl9RVDQKKwlzZWxlY3Qg UE9QUExFUl9EQVRBCQkJaWYgUE9QUExFUl9XSVRIX0RBVEEKKwlzZWxlY3QgR0xJQgkJCQlpZiBQ T1BQTEVSX0dMSUIKKwlzZWxlY3QgSE9TVF9HTElCCQkJaWYgUE9QUExFUl9HTElCCisJc2VsZWN0 IEdPQkpFQ1RfSU5UUk9TUEVDVElPTl9IRUxQRVIJaWYgUE9QUExFUl9JTlRST1NQRUNUSU9OCisJ c2VsZWN0IEdPQkpFQ1RfSU5UUk9TUEVDVElPTgkJaWYgUE9QUExFUl9JTlRST1NQRUNUSU9OCisJ c2VsZWN0IExJQlBORwkJCQlpZiBQT1BQTEVSX1BORworCXNlbGVjdCBMSUJKUEVHCQkJCWlmIFBP UFBMRVJfSlBFRworCXNlbGVjdCBDQUlSTwkJCQlpZiBQT1BQTEVSX0NBSVJPCisJc2VsZWN0IENB SVJPX0ZSRUVUWVBFCQkJaWYgUE9QUExFUl9DQUlSTworCXNlbGVjdCBaTElCCQkJCWlmIFBPUFBM RVJfWkxJQgorCXNlbGVjdCBMSUJDVVJMCQkJCWlmIFBPUFBMRVJfQ1VSTAorCXNlbGVjdCBMQ01T CQkJCWlmIFBPUFBMRVJfQ01TCisJc2VsZWN0IFFUNAkJCQlpZiBQT1BQTEVSX1FUNAorCXNlbGVj dCBRVDRfQlVJTERfR1VJCQkJaWYgUE9QUExFUl9RVDQKKwlzZWxlY3QgUVQ0X0JVSUxEX1hNTAkJ CWlmIFBPUFBMRVJfUVQ0CisJc2VsZWN0IFFUNF9CVUlMRF9RVEVTVExJQgkJaWYgUE9QUExFUl9R VDQKKwlzZWxlY3QgUVQ1CQkJCWlmIFBPUFBMRVJfUVQ1CisJc2VsZWN0IFFUNV9HVUkJCQkJaWYg UE9QUExFUl9RVDUKKwlzZWxlY3QgUVQ1X01PRFVMRV9RVEJBU0UJCWlmIFBPUFBMRVJfUVQ1CisJ c2VsZWN0IFFUNV9NT0RVTEVfUVRCQVNFX1dJREdFVFMJaWYgUE9QUExFUl9RVDUKIAloZWxwCiAJ ICBQb3BwbGVyIGlzIGEgUERGIHJlbmRlcmluZyBsaWJyYXJ5IGJhc2VkIG9uIHRoZSB4cGRmLTMu MCBjb2RlIGJhc2UuCiAKIGlmIFBPUFBMRVIKIAorY29tbWVudCAiLS0tIEluc3RhbGwgY29tcG9u ZW50cyAtLS0iCisKIGNvbmZpZyBQT1BQTEVSX0JJTgogCWJvb2wKIAlwcm9tcHQgImluc3RhbGwg cG9wcGxlciB1dGlsaXRpZXMiCkBAIC0yOSw2NSArNDIsMTM4IEBAIGNvbmZpZyBQT1BQTEVSX0JJ TgogCSAgcGRmZm9udHMsIHBkZmltYWdlcywgcGRmaW5mbywgcGRmdG9hYncsIHBkZnRvaHRtbCwg cGRmdG9wcG0sIHBkZnRvcHMsCiAJICBwZGZ0b3RleHQuCiAKK2NvbmZpZyBQT1BQTEVSX1hQREYK Kwlib29sCisKK2NvbmZpZyBQT1BQTEVSX1dJVEhfREFUQQorCWJvb2wKKwlwcm9tcHQgImluc3Rh bGwgcG9wcGxlci1kYXRhIgorCWhlbHAKKwkgIHBvcHBsZXItZGF0YSBjb250YWlucyB0aGUgZW5j b2RpbmcgZmlsZXMgd2hpY2ggZW5hYmxlIHBvcHBsZXIgdG8KKwkgIGNvcnJlY3RseSByZW5kZXIg Q0pLIGFuZCBDeXJpbGxpYy4KKworY29tbWVudCAiLS0tIFdyYXBwZXJzIC0tLSIKKworY29uZmln IFBPUFBMRVJfQ1BQCisJYm9vbAorCXByb21wdCAiZW5hYmxlIENQUCB3cmFwcGVyIgorCiBjb25m aWcgUE9QUExFUl9HTElCCiAJc2VsZWN0IFBPUFBMRVJfQ0FJUk8KIAlib29sCi0JcHJvbXB0ICJl bmFibGUgcG9wcGxlciBnbGliIHdyYXBwZXIiCisJcHJvbXB0ICJlbmFibGUgR2xpYiB3cmFwcGVy IgogCWhlbHAKIAkgIGJ1aWxkIHBvcHBsZXIgZ2xpYiB3cmFwcGVyLgogCitjb25maWcgUE9QUExF Ul9JTlRST1NQRUNUSU9OCisJc2VsZWN0IFBPUFBMRVJfR0xJQgorCWJvb2wKKwogY29uZmlnIFBP UFBMRVJfUVQ0CiAJYm9vbAotCXByb21wdCAiZW5hYmxlIHBvcHBsZXIgUXQ0IHdyYXBwZXIiCisJ cHJvbXB0ICJlbmFibGUgUXQ0IHdyYXBwZXIiCiAJaGVscAogCSAgYnVpbGQgcG9wcGxlciBRdDQg d3JhcHBlci4KIAotY29tbWVudCAibGVhc3Qgb25lIGdyYXBoaWNzIGJhY2tlbmQgc2hvdWxkIGJl IHNlbGVjdGVkIgorY29uZmlnIFBPUFBMRVJfUVQ1CisJYm9vbAorCXByb21wdCAiZW5hYmxlIFF0 NSB3cmFwcGVyIgorCWhlbHAKKwkgIGJ1aWxkIHBvcHBsZXIgUXQ1IHdyYXBwZXIuCisKK2NvbW1l bnQgIi0tLSBSZW5kZXJpbmcgQmFja2VuZHMgLS0tIgorCitjb21tZW50ICJhdCBsZWFzdCBvbmUg cmVuZGVyaW5nIGJhY2tlbmQgc2hvdWxkIGJlIHNlbGVjdGVkIgogCWRlcGVuZHMgb24gIShQT1BQ TEVSX0NBSVJPIHx8IFBPUFBMRVJfU1BMQVNIKQogCiBjb25maWcgUE9QUExFUl9DQUlSTwogCWJv b2wKLQlwcm9tcHQgImVuYWJsZSBwb3BwbGVyIGNhaXJvIGdyYXBoaWNzIGJhY2tlbmQiCisJcHJv bXB0ICJlbmFibGUgY2Fpcm8gYmFja2VuZCIKIAloZWxwCi0JICBidWlsdCBjYWlybyBncmFwaGlj cyBiYWNrZW5kCisJICBidWlsZCBjYWlybyBncmFwaGljcyBiYWNrZW5kCiAKIGNvbmZpZyBQT1BQ TEVSX1NQTEFTSAogCWJvb2wKLQlwcm9tcHQgImVuYWJsZSBwb3BwbGVyIFNwbGFzaCBncmFwaGlj cyBiYWNrZW5kIgorCXByb21wdCAiZW5hYmxlIFNwbGFzaCBiYWNrZW5kIgogCWhlbHAKLQkgIGJ1 aWxkIHNwbGFzaCBncmFwaGljcyBiYWNrZW5kCisJICBidWlsZCB0aGUgU3BsYXNoIGdyYXBoaWNz IGJhY2tlbmQKKworaWYgUE9QUExFUl9TUExBU0gKKworY29uZmlnIFBPUFBMRVJfU1BMQVNIX0NN WUsKKwlib29sCisJcHJvbXB0ICJlbmFibGUgQ01ZSyByYXN0ZXIgc3VwcG9ydCIKKworY29uZmln IFBPUFBMRVJfU1BMQVNIX1NJTkdMRQorCWJvb2wKKwlwcm9tcHQgInVzZSBzaW5nbGUgcHJlY2lz aW9uIGZsb2F0IGFyaXRobWV0aWMiCisJaGVscAorCSAgVXNlIHNpbmdsZSBwcmVjaXNpb24gaW5z dGVhZCBvZiBkb3VibGUgcHJlY2lzaW9uIGZsb2F0aW5nIHBvaW50CisJICBhcml0aG1ldGljIGlu IFNwbGFzaCBiYWNrZW5kCisKK2NvbmZpZyBQT1BQTEVSX1NQTEFTSF9GSVhFRAorCWJvb2wKKwlw cm9tcHQgInVzZSBmaXhlZCBwb2ludCBhcml0aG1ldGljIgorCWRlcGVuZHMgb24gIVBPUFBMRVJf U1BMQVNIX1NJTkdMRQorCWhlbHAKKwkgIElmIGVuYWJsZWQsIHRoZSBTcGxhc2ggYmFja2VuZCB3 aWxsIHVzZSBmbG9hdGluZyBwb2ludCBvcGVyYXRpb25zCisJICBpbnN0ZWFkIG9mIGZpeGVkLXBv aW50IGFyaXRobWV0aWMuCisKK2VuZGlmICMgUE9QUExFUl9TUExBU0gKKworY29tbWVudCAiLS0t IEZlYXR1cmVzIC0tLSAiCiAKIGNvbmZpZyBQT1BQTEVSX1BORwogCWJvb2wKLQkjIGZhaWxzIHRv IGJ1aWxkIHdpdGggdGhlIGN1cnJlbnQgbGlicG5nCi0JZGVwZW5kcyBvbiBCUk9LRU4KLQlwcm9t cHQgImVuYWJsZSBwb3BwbGVyIHBuZyBzdXBwb3J0IgorCXByb21wdCAiZW5hYmxlIFBORyBzdXBw b3J0IgogCWhlbHAKLQkgIGNvbXBpbGVzIHBvcHBsZXIgd2l0aCBwbmcgc3VwcG9ydC4KKwkgIGNv bXBpbGUgcG9wcGxlciB3aXRoIHBuZyBzdXBwb3J0IHZpYSBsaWJwbmcKIAogY29uZmlnIFBPUFBM RVJfSlBFRwogCWJvb2wKKwlwcm9tcHQgImVuYWJsZSBKUEVHIHN1cHBvcnQiCisJaGVscAorCSAg Y29tcGlsZSBwb3BwbGVyIHdpdGgganBlZyBzdXBwb3J0IHZpYSBsaWJqcGVnCisKK2NvbmZpZyBQ T1BQTEVSX09QRU5KUEVHCisJYm9vbAogCWRlcGVuZHMgb24gQlJPS0VOCi0JcHJvbXB0ICJlbmFi bGUgcG9wcGxlciBqcGVnIHN1cHBvcnQiCisJcHJvbXB0ICJlbmFibGUgSlBFRzIwMDAgc3VwcG9y dCIKIAloZWxwCi0JICBjb21waWxlcyBwb3BwbGVyIHdpdGgganBlZyBzdXBwb3J0LgorCSAgY29t cGlsZSBwb3BwbGVyIHdpdGgganBlZzIwMDAgKEpQWCkgc3VwcG9ydCB2aWEgbGlib3BlbmpwZWcK KworY29uZmlnIFBPUFBMRVJfVElGRgorCWJvb2wKKwlkZXBlbmRzIG9uIEJST0tFTgorCXByb21w dCAiZW5hYmxlIFRJRkYgc3VwcG9ydCIKKwloZWxwCisJICBjb21waWxlIHBvcHBsZXIgd2l0aCBz dXBwb3J0IGZvciBUSUZGIHZpYSBsaWJ0aWZmCisKK2NvbmZpZyBQT1BQTEVSX05TUworCWJvb2wK KwlkZXBlbmRzIG9uIEJST0tFTgorCXByb21wdCAiZW5hYmxlIE5TUyBzdXBwb3J0IgorCWhlbHAK KwkgIGNvbXBpbGUgcG9wcGxlciB3aXRoIHN1cHBvcnQgZm9yIHNpZ25lZCBQREZzIHZpYSBsaWJu c3MKIAogY29uZmlnIFBPUFBMRVJfWkxJQgogCWJvb2wKLQlwcm9tcHQgImVuYWJsZSBwb3BwbGVy IHpsaWIgc3VwcG9ydCIKKwlwcm9tcHQgImVuYWJsZSB6bGliIHN1cHBvcnQiCiAJaGVscAotCSAg Y29tcGlsZXMgcG9wcGxlciB3aXRoIHpsaWIgc3VwcG9ydC4KKwkgIGNvbXBpbGUgcG9wcGxlciB3 aXRoIHpsaWIgc3VwcG9ydC4KIAogY29uZmlnIFBPUFBMRVJfQ1VSTAogCWJvb2wKLQlwcm9tcHQg ImVuYWJsZSBwb3BwbGVyIGN1cmwgc3VwcG9ydCIKKwlwcm9tcHQgImVuYWJsZSBjdXJsIHN1cHBv cnQiCiAJaGVscAotCSAgY29tcGlsZXMgcG9wcGxlciB3aXRoIGN1cmwgc3VwcG9ydC4KKwkgIGNv bXBpbGUgcG9wcGxlciB3aXRoIGxpYmN1cmwgc3VwcG9ydC4KIAogY29uZmlnIFBPUFBMRVJfQ01T CiAJYm9vbAotCXByb21wdCAiZW5hYmxlIHBvcHBsZXIgY21zIHN1cHBvcnQiCisJcHJvbXB0ICJl bmFibGUgY29sb3IgbWFuYWdlbWVudCBzdXBwb3J0IgogCWhlbHAKLQkgIGNvbXBpbGVzIHBvcHBs ZXIgd2l0aCBjb2xvciBtYW5hZ2VtZW50IHN5c3RlbSBzdXBwb3J0LgorCSAgY29tcGlsZSBwb3Bw bGVyIHdpdGggY29sb3IgbWFuYWdlbWVudCBzdXBwb3J0IHZpYSBsaWJjbXMxCiAKIGVuZGlmCisK KyMgdmltOiBmdD1rY29uZmlnIHRzPTggbm9ldCB0dz04MApkaWZmIC0tZ2l0IGEvcnVsZXMvcG9w cGxlci5tYWtlIGIvcnVsZXMvcG9wcGxlci5tYWtlCmluZGV4IDdhYzY3NmJmMS4uYmMzOGY5YmVi IDEwMDY0NAotLS0gYS9ydWxlcy9wb3BwbGVyLm1ha2UKKysrIGIvcnVsZXMvcG9wcGxlci5tYWtl CkBAIC0yLDEzICsyLDE5IEBACiAjCiAjIENvcHlyaWdodCAoQykgMjAwNyBieSBMdW90YW8gRnUg PGwuZnVAcGVuZ3V0cm9uaXguZGU+CiAjICAgICAgICAgICAgICAgMjAwOSBieSBSb2JlcnQgU2No d2ViZWwKKyMgICAgICAgICAgICAgICAyMDE3IGJ5IFJvbGFuZCBIaWViZXIgPHIuaGllYmVyQHBl bmd1dHJvbml4LmRlPgogIwogIyBTZWUgQ1JFRElUUyBmb3IgZGV0YWlscyBhYm91dCB3aG8gaGFz IGNvbnRyaWJ1dGVkIHRvIHRoaXMgcHJvamVjdC4KICMKICMgRm9yIGZ1cnRoZXIgaW5mb3JtYXRp b24gYWJvdXQgdGhlIFBUWGRpc3QgcHJvamVjdCBhbmQgbGljZW5zZSBjb25kaXRpb25zCiAjIHNl ZSB0aGUgUkVBRE1FIGZpbGUuCiAjCi0KKyMgVE9ET3MgZm9yIGltcHJvdmVtZW50OgorIyAtIHBh Y2thZ2UgbGlibnNzIGZvciBzaWduYXR1cmUgc3VwcG9ydCBpbiBQREZzCisjIC0gcGFja2FnZSBs aWJ0aWZmIGZvciBhZGRpdGlvbmFsIFRJRkYgc3VwcG9ydAorIyAtIHJ1bnRpbWUtdGVzdCB0aGUg UXQ1IGJhY2tlbmQKKyMgLSBwYWNrYWdlIGxpYm9wZW5qcGVnIGFuZCBidWlsZCB3aXRoIC0tZW5h YmxlLWxpYm9wZW5qcGVnCisjIC0gdXBkYXRlIGxjbXMgdG8gbGNtczIgYW5kIHVzZSAtLWVuYWJs ZS1jbXM9bGNtczIKICMKICMgV2UgcHJvdmlkZSB0aGlzIHBhY2thZ2UKICMKQEAgLTE3LDEzICsy MywxNCBAQCBQQUNLQUdFUy0kKFBUWENPTkZfUE9QUExFUikgKz0gcG9wcGxlcgogIwogIyBQYXRo cyBhbmQgbmFtZXMKICMKLVBPUFBMRVJfVkVSU0lPTgk6PSAwLjE4LjAKLVBPUFBMRVJfTUQ1CTo9 IDRjZDNiZjJhMGExM2ZhOGVhZjAwZDMxMzY4OTE1Zjc3CitQT1BQTEVSX1ZFUlNJT04JOj0gMC42 MC4xCitQT1BQTEVSX01ENQk6PSA3NjQ4NDE2ZDUxYTZlOWZiYzRhNzViNmY4YjUzZGQ3YwogUE9Q UExFUgkJOj0gcG9wcGxlci0kKFBPUFBMRVJfVkVSU0lPTikKLVBPUFBMRVJfU1VGRklYCTo9IHRh ci5negorUE9QUExFUl9TVUZGSVgJOj0gdGFyLnh6CiBQT1BQTEVSX1VSTAk6PSBodHRwOi8vcG9w cGxlci5mcmVlZGVza3RvcC5vcmcvJChQT1BQTEVSKS4kKFBPUFBMRVJfU1VGRklYKQogUE9QUExF Ul9TT1VSQ0UJOj0gJChTUkNESVIpLyQoUE9QUExFUikuJChQT1BQTEVSX1NVRkZJWCkKIFBPUFBM RVJfRElSCTo9ICQoQlVJTERESVIpLyQoUE9QUExFUikKK1BPUFBMRVJfTElDRU5TRQk6PSBHUEwt Mi4wIE9SIEdQTC0zLjAKIAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIFByZXBhcmUKQEAgLTM1 LDM0ICs0Miw0MyBAQCBQT1BQTEVSX0VOViAJOj0gJChDUk9TU19FTlYpCiAjCiAjIGF1dG9jb25m CiAjCi1QT1BQTEVSX0FVVE9DT05GIDo9IFwKLQkkKENST1NTX0FVVE9DT05GX1VTUikgXAotCSQo R0xPQkFMX0xBUkdFX0ZJTEVfT1BUSU9OKSBcCi0JLS1kaXNhYmxlLXhwZGYtaGVhZGVycyBcCi0J LS0kKGNhbGwgcHR4L2Rpc2VuLCBQVFhDT05GX0hBU19IQVJERkxPQVQpLXNpbmdsZS1wcmVjaXNp b24gXAotCS0tZGlzYWJsZS1maXhlZHBvaW50IFwKLQktLWRpc2FibGUtbGlib3BlbmpwZWcgXAot CS0tZGlzYWJsZS1saWJ0aWZmIFwKLQktLSQoY2FsbCBwdHgvZW5kaXMsIFBUWENPTkZfUE9QUExF Ul9aTElCKS16bGliIFwKLQktLSQoY2FsbCBwdHgvZW5kaXMsIFBUWENPTkZfUE9QUExFUl9DVVJM KS1saWJjdXJsIFwKLQktLSQoY2FsbCBwdHgvZW5kaXMsIFBUWENPTkZfUE9QUExFUl9KUEVHKS1s aWJqcGVnIFwKLQktLSQoY2FsbCBwdHgvZW5kaXMsIFBUWENPTkZfUE9QUExFUl9QTkcpLWxpYnBu ZyBcCi0JLS0kKGNhbGwgcHR4L2VuZGlzLCBQVFhDT05GX1BPUFBMRVJfU1BMQVNIKS1zcGxhc2gt b3V0cHV0IFwKLQktLSQoY2FsbCBwdHgvZW5kaXMsIFBUWENPTkZfUE9QUExFUl9DQUlSTyktY2Fp cm8tb3V0cHV0IFwKLQktLSQoY2FsbCBwdHgvZW5kaXMsIFBUWENPTkZfUE9QUExFUl9HTElCKS1w b3BwbGVyLWdsaWIgXAotCS0tZGlzYWJsZS1pbnRyb3NwZWN0aW9uIFwKLQktLWRpc2FibGUtZ3Rr LWRvYyBcCi0JLS1kaXNhYmxlLWd0ay1kb2MtaHRtbCBcCi0JLS1kaXNhYmxlLWd0ay1kb2MtcGRm IFwKLQktLSQoY2FsbCBwdHgvZW5kaXMsIFBUWENPTkZfUE9QUExFUl9RVDQpLXBvcHBsZXItcXQ0 IFwKLQktLWRpc2FibGUtcG9wcGxlci1jcHAgXAotCS0tZGlzYWJsZS1ndGstdGVzdCBcCi0JLS0k KGNhbGwgcHR4L2VuZGlzLCBQVFhDT05GX1BPUFBMRVJfQklOKS11dGlscyBcCi0JLS1kaXNhYmxl LWNvbXBpbGUtd2FybmluZ3MgXAotCS0tJChjYWxsIHB0eC9lbmRpcywgUFRYQ09ORl9QT1BQTEVS X0NNUyktY21zIFwKLQktLXdpdGhvdXQteCBcCi0JLS13aXRoLWZvbnQtY29uZmlndXJhdGlvbj1m b250Y29uZmlnIFwKLQktLXdpdGhvdXQtbGliaWNvbnYtcHJlZml4CitQT1BQTEVSX0NPTkZfVE9P TAk6PSBjbWFrZQorUE9QUExFUl9DT05GX09QVAk6PSBcCisJJChDUk9TU19DTUFLRV9VU1IpIFwK KwktREJVSUxEX1NIQVJFRF9MSUJTPU9OIFwKKwktREVYVFJBX1dBUk49Tk8gXAorCS1ERk9OVF9D T05GSUdVUkFUSU9OPWZvbnRjb25maWcgXAorCS1ERU5BQkxFX1VUSUxTPSQoY2FsbCBwdHgvb25v ZmYsUFRYQ09ORl9QT1BQTEVSX0JJTikgXAorCS1ERU5BQkxFX1hQREZfSEVBREVSUz0kKGNhbGwg cHR4L29ub2ZmLFBUWENPTkZfUE9QUExFUl9YUERGKSBcCisJLURFTkFCTEVfQ1BQPSQoY2FsbCBw dHgvb25vZmYsUFRYQ09ORl9QT1BQTEVSX0NQUCkgXAorCS1EV0lUSF9JY29udj1PTiBcCisJLURC VUlMRF9DUFBfVEVTVFM9Tk8gXAorCS1ERU5BQkxFX0dMSUI9JChjYWxsIHB0eC9vbm9mZixQVFhD T05GX1BPUFBMRVJfR0xJQikgXAorCS1EV0lUSF9HTElCPSQoY2FsbCBwdHgvb25vZmYsUFRYQ09O Rl9QT1BQTEVSX0dMSUIpIFwKKwktRFdJVEhfR09iamVjdEludHJvc3BlY3Rpb249JChjYWxsIHB0 eC9vbm9mZixQVFhDT05GX1BPUFBMRVJfSU5UUk9TUEVDVElPTikgXAorCS1ERU5BQkxFX1FUND0k KGNhbGwgcHR4L29ub2ZmLFBUWENPTkZfUE9QUExFUl9RVDQpIFwKKwktRFdJVEhfUXQ0PSQoY2Fs bCBwdHgvb25vZmYsUFRYQ09ORl9QT1BQTEVSX1FUNCkgXAorCS1EQlVJTERfUVQ0X1RFU1RTPU5P IFwKKwktREVOQUJMRV9RVDU9JChjYWxsIHB0eC9vbm9mZixQVFhDT05GX1BPUFBMRVJfUVQ1KSBc CisJLURCVUlMRF9RVDVfVEVTVFM9Tk8gXAorCS1EV0lUSF9DYWlybz0kKGNhbGwgcHR4L29ub2Zm LFBUWENPTkZfUE9QUExFUl9DQUlSTykgXAorCS1EV0lUSF9HVEs9Tk8gXAorCS1EQlVJTERfR1RL X1RFU1RTPU5PIFwKKwktREVOQUJMRV9HVEtfRE9DPU5PIFwKKwktREVOQUJMRV9TUExBU0g9JChj YWxsIHB0eC9vbm9mZixQVFhDT05GX1BPUFBMRVJfU1BMQVNIKSBcCisJLURTUExBU0hfQ01ZSz0k KGNhbGwgcHR4L29ub2ZmLFBUWENPTkZfUE9QUExFUl9TUExBU0hfQ01ZSykgXAorCS1EVVNFX0ZM T0FUPSQoY2FsbCBwdHgvb25vZmYsUFRYQ09ORl9QT1BQTEVSX1NJTkdMRSkgXAorCS1EVVNFX0ZJ WEVEUE9JTlQ9JChjYWxsIHB0eC9vbm9mZixQVFhDT05GX1BPUFBMRVJfRklYRUQpIFwKKwktRFdJ VEhfUE5HPSQoY2FsbCBwdHgvb25vZmYsUFRYQ09ORl9QT1BQTEVSX1BORykgXAorCS1EV0lUSF9K UEVHPSQoY2FsbCBwdHgvb25vZmYsUFRYQ09ORl9QT1BQTEVSX0pQRUcpIFwKKwktREVOQUJMRV9E Q1RERUNPREVSPSQoY2FsbCBwdHgvaWZkZWYsUFRYQ09ORl9QT1BQTEVSX0pQRUcsbGlianBlZyxu b25lKSBcCisJLURFTkFCTEVfTElCT1BFTkpQRUc9JChjYWxsIHB0eC9pZmRlZixQVFhDT05GX1BP UFBMRVJfT1BFTkpQRUcsb3BlbmpwZWcyLG5vbmUpIFwKKwktRFdJVEhfVElGRj0kKGNhbGwgcHR4 L29ub2ZmLFBUWENPTkZfUE9QUExFUl9USUZGKSBcCisJLURXSVRIX05TUzM9JChjYWxsIHB0eC9v bm9mZixQVFhDT05GX1BPUFBMRVJfTlNTKSBcCisJLURFTkFCTEVfWkxJQj0kKGNhbGwgcHR4L29u b2ZmLFBUWENPTkZfUE9QUExFUl9aTElCKSBcCisJLURFTkFCTEVfWkxJQl9VTkNPTVBSRVNTPU5P IFwKKwktREVOQUJMRV9MSUJDVVJMPSQoY2FsbCBwdHgvb25vZmYsUFRYQ09ORl9QT1BQTEVSX0NV UkwpIFwKKwktREVOQUJMRV9DTVM9JChjYWxsIHB0eC9pZmRlZixQVFhDT05GX1BPUFBMRVJfQ01T LGxjbXMxLCkKIAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIFRhcmdldC1JbnN0YWxsCkBAIC04 NSwxMiArMTAxLDI0IEBAIGlmZGVmIFBUWENPTkZfUE9QUExFUl9CSU4KIAkJJChjYWxsIGluc3Rh bGxfY29weSwgcG9wcGxlciwgMCwgMCwgMDc1NSwgLSwgL3Vzci9iaW4vJCRpKTsgXAogCWRvbmUK IGVuZGlmCitpZmRlZiBQVFhDT05GX1BPUFBMRVJfQ1BQCisJQCQoY2FsbCBpbnN0YWxsX2xpYiwg cG9wcGxlciwgMCwgMCwgMDY0NCwgbGlicG9wcGxlci1jcHApCitlbmRpZgogaWZkZWYgUFRYQ09O Rl9QT1BQTEVSX0dMSUIKIAlAJChjYWxsIGluc3RhbGxfbGliLCBwb3BwbGVyLCAwLCAwLCAwNjQ0 LCBsaWJwb3BwbGVyLWdsaWIpCiBlbmRpZgogaWZkZWYgUFRYQ09ORl9QT1BQTEVSX1FUNAogCUAk KGNhbGwgaW5zdGFsbF9saWIsIHBvcHBsZXIsIDAsIDAsIDA2NDQsIGxpYnBvcHBsZXItcXQ0KQog ZW5kaWYKK2lmZGVmIFBUWENPTkZfUE9QUExFUl9RVDUKKwlAJChjYWxsIGluc3RhbGxfbGliLCBw b3BwbGVyLCAwLCAwLCAwNjQ0LCBsaWJwb3BwbGVyLXF0NSkKK2VuZGlmCitpZmRlZiBQVFhDT05G X1BPUFBMRVJfSU5UUk9TUEVDVElPTgorCUAkKGNhbGwgaW5zdGFsbF9jb3B5LCBwb3BwbGVyLCAw LCAwLCAwNjQ0LCAtLCBcCisJCS91c3Ivc2hhcmUvZ2lyLTEuMC9Qb3BwbGVyLTAuMTguZ2lyKQor CUAkKGNhbGwgaW5zdGFsbF9jb3B5LCBwb3BwbGVyLCAwLCAwLCAwNjQ0LCAtLCBcCisJCS91c3Iv bGliL2dpcmVwb3NpdG9yeS0xLjAvUG9wcGxlci0wLjE4LnR5cGVsaWIpCitlbmRpZgogCUAkKGNh bGwgaW5zdGFsbF9maW5pc2gsIHBvcHBsZXIpCiAKIAlAJChjYWxsIHRvdWNoKQotLSAKMi4xMS4w CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KcHR4ZGlz dCBtYWlsaW5nIGxpc3QKcHR4ZGlzdEBwZW5ndXRyb25peC5kZQ==