From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id B76947CB7 for ; Thu, 25 Aug 2016 18:27:37 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 891A98F8035 for ; Thu, 25 Aug 2016 16:27:37 -0700 (PDT) Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81]) by cuda.sgi.com with ESMTP id mmTouwSChobgutlp (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Thu, 25 Aug 2016 16:27:34 -0700 (PDT) Subject: [PATCH 5/7] xfsdocs: reverse-mapping btree documentation From: "Darrick J. Wong" Date: Thu, 25 Aug 2016 16:27:29 -0700 Message-ID: <147216764941.32447.12308463028876567031.stgit@birch.djwong.org> In-Reply-To: <147216761636.32447.4229640006064129056.stgit@birch.djwong.org> References: <147216761636.32447.4229640006064129056.stgit@birch.djwong.org> MIME-Version: 1.0 List-Id: XFS Filesystem from SGI List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xfs-bounces@oss.sgi.com Sender: xfs-bounces@oss.sgi.com To: david@fromorbit.com, darrick.wong@oracle.com Cc: linux-xfs@vger.kernel.org, xfs@oss.sgi.com QWRkIGNoYXB0ZXJzIG9uIHRoZSBvcGVyYXRpb24gb2YgdGhlIHJldmVyc2UgbWFwcGluZyBidHJl ZSBhbmQgZnV0dXJlCnRoaW5ncyB3ZSBjb3VsZCBkbyB3aXRoIHJtYXAgZGF0YS4KCnYyOiBBZGQg bWFnaWMgbnVtYmVyIHRvIHRoZSB0YWJsZS4KClNpZ25lZC1vZmYtYnk6IERhcnJpY2sgSi4gV29u ZyA8ZGFycmljay53b25nQG9yYWNsZS5jb20+Ci0tLQogLi4uL2FsbG9jYXRpb25fZ3JvdXBzLmFz Y2lpZG9jICAgICAgICAgICAgICAgICAgICAgfCAgIDMxICstCiBkZXNpZ24vWEZTX0ZpbGVzeXN0 ZW1fU3RydWN0dXJlL2RvY2luZm8ueG1sICAgICAgICB8ICAgMTcgKwogLi4uL2pvdXJuYWxpbmdf bG9nLmFzY2lpZG9jICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTIyICsrKysrKysrCiBkZXNp Z24vWEZTX0ZpbGVzeXN0ZW1fU3RydWN0dXJlL21hZ2ljLmFzY2lpZG9jICAgICB8ICAgIDMgCiAu Li4vcmVjb25zdHJ1Y3Rpb24uYXNjaWlkb2MgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNTMg KysrCiBkZXNpZ24vWEZTX0ZpbGVzeXN0ZW1fU3RydWN0dXJlL3JtYXBidC5hc2NpaWRvYyAgICB8 ICAzMDUgKysrKysrKysrKysrKysrKysrKysKIC4uLi94ZnNfZmlsZXN5c3RlbV9zdHJ1Y3R1cmUu YXNjaWlkb2MgICAgICAgICAgICAgIHwgICAgNCAKIDcgZmlsZXMgY2hhbmdlZCwgNTI2IGluc2Vy dGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZGVzaWduL1hGU19G aWxlc3lzdGVtX1N0cnVjdHVyZS9yZWNvbnN0cnVjdGlvbi5hc2NpaWRvYwogY3JlYXRlIG1vZGUg MTAwNjQ0IGRlc2lnbi9YRlNfRmlsZXN5c3RlbV9TdHJ1Y3R1cmUvcm1hcGJ0LmFzY2lpZG9jCgoK ZGlmZiAtLWdpdCBhL2Rlc2lnbi9YRlNfRmlsZXN5c3RlbV9TdHJ1Y3R1cmUvYWxsb2NhdGlvbl9n cm91cHMuYXNjaWlkb2MgYi9kZXNpZ24vWEZTX0ZpbGVzeXN0ZW1fU3RydWN0dXJlL2FsbG9jYXRp b25fZ3JvdXBzLmFzY2lpZG9jCmluZGV4IDU1YmJjNTAuLjlmY2Y5NzUgMTAwNjQ0Ci0tLSBhL2Rl c2lnbi9YRlNfRmlsZXN5c3RlbV9TdHJ1Y3R1cmUvYWxsb2NhdGlvbl9ncm91cHMuYXNjaWlkb2MK KysrIGIvZGVzaWduL1hGU19GaWxlc3lzdGVtX1N0cnVjdHVyZS9hbGxvY2F0aW9uX2dyb3Vwcy5h c2NpaWRvYwpAQCAtMTIsNiArMTIsNyBAQCBFYWNoIEFHIGhhcyB0aGUgZm9sbG93aW5nIGNoYXJh Y3RlcmlzdGljczoKICAgICAgICAgICogQSBzdXBlciBibG9jayBkZXNjcmliaW5nIG92ZXJhbGwg ZmlsZXN5c3RlbSBpbmZvCiAgICAgICAgICAqIEZyZWUgc3BhY2UgbWFuYWdlbWVudAogICAgICAg ICAgKiBJbm9kZSBhbGxvY2F0aW9uIGFuZCB0cmFja2luZworICAgICAgICAgKiBSZXZlcnNlIGJs b2NrLW1hcHBpbmcgaW5kZXggKG9wdGlvbmFsKQogCiBIYXZpbmcgbXVsdGlwbGUgQUdzIGFsbG93 cyBYRlMgdG8gaGFuZGxlIG1vc3Qgb3BlcmF0aW9ucyBpbiBwYXJhbGxlbCB3aXRob3V0CiBkZWdy YWRpbmcgcGVyZm9ybWFuY2UgYXMgdGhlIG51bWJlciBvZiBjb25jdXJyZW50IGFjY2Vzc2VzIGlu Y3JlYXNlcy4KQEAgLTM3OSw2ICszODAsMTIgQEAgaXQgZG9lc24ndCB1bmRlcnN0YW5kIHRoZSBm bGFnLgogRnJlZSBpbm9kZSBCK3RyZWUuICBFYWNoIGFsbG9jYXRpb24gZ3JvdXAgY29udGFpbnMg YSBCK3RyZWUgdG8gdHJhY2sgaW5vZGUgY2h1bmtzCiBjb250YWluaW5nIGZyZWUgaW5vZGVzLiAg VGhpcyBpcyBhIHBlcmZvcm1hbmNlIG9wdGltaXphdGlvbiB0byByZWR1Y2UgdGhlIHRpbWUKIHJl cXVpcmVkIHRvIGFsbG9jYXRlIGlub2Rlcy4KKworfCArWEZTX1NCX0ZFQVRfUk9fQ09NUEFUX1JN QVBCVCsgfAorUmV2ZXJzZSBtYXBwaW5nIEIrdHJlZS4gIEVhY2ggYWxsb2NhdGlvbiBncm91cCBj b250YWlucyBhIEIrdHJlZSBjb250YWluaW5nCityZWNvcmRzIG1hcHBpbmcgQUcgYmxvY2tzIHRv IHRoZWlyIG93bmVycy4gIFNlZSB0aGUgc2VjdGlvbiBhYm91dAoreHJlZjpSZWNvbnN0cnVjdGlv bltyZWNvbnN0cnVjdGlvbl0gZm9yIG1vcmUgZGV0YWlscy4KKwogfD09PT09CiAKICpzYl9mZWF0 dXJlc19pbmNvbXBhdCo6OgpAQCAtNTI5LDkgKzUzNiw3IEBAIHN0cnVjdCB4ZnNfYWdmIHsKICAg ICAgX19iZTMyICAgICAgICAgICAgICBhZ2Zfc2Vxbm87CiAgICAgIF9fYmUzMiAgICAgICAgICAg ICAgYWdmX2xlbmd0aDsKICAgICAgX19iZTMyICAgICAgICAgICAgICBhZ2Zfcm9vdHNbWEZTX0JU TlVNX0FHRl07Ci0gICAgIF9fYmUzMiAgICAgICAgICAgICAgYWdmX3NwYXJlMDsKICAgICAgX19i ZTMyICAgICAgICAgICAgICBhZ2ZfbGV2ZWxzW1hGU19CVE5VTV9BR0ZdOwotICAgICBfX2JlMzIg ICAgICAgICAgICAgIGFnZl9zcGFyZTE7CiAgICAgIF9fYmUzMiAgICAgICAgICAgICAgYWdmX2Zs Zmlyc3Q7CiAgICAgIF9fYmUzMiAgICAgICAgICAgICAgYWdmX2ZsbGFzdDsKICAgICAgX19iZTMy ICAgICAgICAgICAgICBhZ2ZfZmxjb3VudDsKQEAgLTU0MSw3ICs1NDYsOSBAQCBzdHJ1Y3QgeGZz X2FnZiB7CiAKICAgICAgLyogdmVyc2lvbiA1IGZpbGVzeXN0ZW0gZmllbGRzIHN0YXJ0IGhlcmUg Ki8KICAgICAgdXVpZF90ICAgICAgICAgICAgICBhZ2ZfdXVpZDsKLSAgICAgX19iZTY0ICAgICAg ICAgICAgICBhZ2Zfc3BhcmU2NFsxNl07CisgICAgIF9fYmUzMiAgICAgICAgICAgICAgYWdmX3Jt YXBfYmxvY2tzOworICAgICBfX2JlMzIgICAgICAgICAgICAgIF9fcGFkOworICAgICBfX2JlNjQg ICAgICAgICAgICAgIGFnZl9zcGFyZTY0WzE1XTsKIAogICAgICAvKiB1bmxvZ2dlZCBmaWVsZHMs IHdyaXR0ZW4gZHVyaW5nIGJ1ZmZlciB3cml0ZWJhY2suICovCiAgICAgIF9fYmU2NCAgICAgICAg ICAgICAgYWdmX2xzbjsKQEAgLTU1MCw5ICs1NTcsMTAgQEAgc3RydWN0IHhmc19hZ2YgewogfTsK IC0tLS0KIAotVGhlIHJlc3Qgb2YgdGhlIGJ5dGVzIGluIHRoZSBzZWN0b3IgYXJlIHplcm9lZC4g K1hGU19CVE5VTV9BR0YrIGlzIHNldCB0byAyOgotaW5kZXggMCBmb3IgdGhlIGZyZWUgc3BhY2Ug Qit0cmVlIGluZGV4ZWQgYnkgYmxvY2sgbnVtYmVyOyBhbmQgaW5kZXggMSBmb3IgdGhlCi1mcmVl IHNwYWNlIEIrdHJlZSBpbmRleGVkIGJ5IGV4dGVudCBzaXplLgorVGhlIHJlc3Qgb2YgdGhlIGJ5 dGVzIGluIHRoZSBzZWN0b3IgYXJlIHplcm9lZC4gK1hGU19CVE5VTV9BR0YrIGlzIHNldCB0byAz OgoraW5kZXggMCBmb3IgdGhlIGZyZWUgc3BhY2UgQit0cmVlIGluZGV4ZWQgYnkgYmxvY2sgbnVt YmVyOyBpbmRleCAxIGZvciB0aGUgZnJlZQorc3BhY2UgQit0cmVlIGluZGV4ZWQgYnkgZXh0ZW50 IHNpemU7IGFuZCBpbmRleCAyIGZvciB0aGUgcmV2ZXJzZS1tYXBwaW5nCitCK3RyZWUuCiAKICph Z2ZfbWFnaWNudW0qOjoKIFNwZWNpZmllcyB0aGUgbWFnaWMgbnVtYmVyIGZvciB0aGUgQUdGIHNl Y3RvcjogYGBYQUdGJycgKDB4NTg0MTQ3NDYpLgpAQCAtNTcwLDExICs1NzgsMTMgQEAgdGhpcyBj b3VsZCBiZSBsZXNzIHRoYW4gdGhlICtzYl9hZ2Jsb2NrcysgdmFsdWUuIEl0IGlzIHRoaXMgdmFs dWUgdGhhdCBzaG91bGQKIGJlIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBzaXplIG9mIHRoZSBBRy4K IAogKmFnZl9yb290cyo6OgotU3BlY2lmaWVzIHRoZSBibG9jayBudW1iZXIgZm9yIHRoZSByb290 IG9mIHRoZSB0d28gZnJlZSBzcGFjZSBCK3RyZWVzLgorU3BlY2lmaWVzIHRoZSBibG9jayBudW1i ZXIgZm9yIHRoZSByb290IG9mIHRoZSB0d28gZnJlZSBzcGFjZSBCK3RyZWVzIGFuZCB0aGUKK3Jl dmVyc2UtbWFwcGluZyBCK3RyZWUsIGlmIGVuYWJsZWQuCiAKICphZ2ZfbGV2ZWxzKjo6Ci1TcGVj aWZpZXMgdGhlIGxldmVsIG9yIGRlcHRoIG9mIHRoZSB0d28gZnJlZSBzcGFjZSBCK3RyZWVzLiBG b3IgYSBmcmVzaCBBRywgdGhpcwotd2lsbCBiZSBvbmUsIGFuZCB0aGUgYGByb290cycnIHdpbGwg cG9pbnQgdG8gYSBzaW5nbGUgbGVhZiBvZiBsZXZlbCAwLgorU3BlY2lmaWVzIHRoZSBsZXZlbCBv ciBkZXB0aCBvZiB0aGUgdHdvIGZyZWUgc3BhY2UgQit0cmVlcyBhbmQgdGhlCityZXZlcnNlLW1h cHBpbmcgQit0cmVlLCBpZiBlbmFibGVkLiAgRm9yIGEgZnJlc2ggQUcsIHRoaXMgdmFsdWUgd2ls bCBiZSBvbmUsCithbmQgdGhlIGBgcm9vdHMnJyB3aWxsIHBvaW50IHRvIGEgc2luZ2xlIGxlYWYg b2YgbGV2ZWwgMC4KIAogKmFnZl9mbGZpcnN0Kjo6CiBTcGVjaWZpZXMgdGhlIGluZGV4IG9mIHRo ZSBmaXJzdCBgYGZyZWUgbGlzdCcnIGJsb2NrLiBGcmVlIGxpc3RzIGFyZSBjb3ZlcmVkIGluCkBA IC02MDAsNiArNjEwLDkgQEAgdXNlZCBpZiB0aGUgK1hGU19TQl9WRVJTSU9OMl9MQVpZU0JDT1VO VEJJVCsgYml0IGlzIHNldCBpbiArc2JfZmVhdHVyZXMyKy4KIFRoZSBVVUlEIG9mIHRoaXMgYmxv Y2ssIHdoaWNoIG11c3QgbWF0Y2ggZWl0aGVyICtzYl91dWlkKyBvciArc2JfbWV0YV91dWlkKwog ZGVwZW5kaW5nIG9uIHdoaWNoIGZlYXR1cmVzIGFyZSBzZXQuCiAKKyphZ2Zfcm1hcF9ibG9ja3Mq OjoKK1RoZSBzaXplIG9mIHRoZSByZXZlcnNlIG1hcHBpbmcgQit0cmVlIGluIHRoaXMgYWxsb2Nh dGlvbiBncm91cCwgaW4gYmxvY2tzLgorCiAqYWdmX3NwYXJlNjQqOjoKIEVtcHR5IHNwYWNlIGlu IHRoZSBsb2dnZWQgcGFydCBvZiB0aGUgQUdGIHNlY3RvciwgZm9yIHVzZSBmb3IgZnV0dXJlIGZl YXR1cmVzLgogCmRpZmYgLS1naXQgYS9kZXNpZ24vWEZTX0ZpbGVzeXN0ZW1fU3RydWN0dXJlL2Rv Y2luZm8ueG1sIGIvZGVzaWduL1hGU19GaWxlc3lzdGVtX1N0cnVjdHVyZS9kb2NpbmZvLnhtbApp bmRleCBjYzU1OTZkLi40NGY5NDRhIDEwMDY0NAotLS0gYS9kZXNpZ24vWEZTX0ZpbGVzeXN0ZW1f U3RydWN0dXJlL2RvY2luZm8ueG1sCisrKyBiL2Rlc2lnbi9YRlNfRmlsZXN5c3RlbV9TdHJ1Y3R1 cmUvZG9jaW5mby54bWwKQEAgLTEyMiw0ICsxMjIsMjEgQEAKIAkJCTwvc2ltcGxlbGlzdD4KIAkJ PC9yZXZkZXNjcmlwdGlvbj4KIAk8L3JldmlzaW9uPgorCTxyZXZpc2lvbj4KKwkJPHJldm51bWJl cj4zLjE0MTwvcmV2bnVtYmVyPgorCQk8ZGF0ZT5KdW5lIDIwMTY8L2RhdGU+CisJCTxhdXRob3I+ CisJCQk8Zmlyc3RuYW1lPkRhcnJpY2s8L2ZpcnN0bmFtZT4KKwkJCTxzdXJuYW1lPldvbmc8L3N1 cm5hbWU+CisJCQk8ZW1haWw+PC9lbWFpbD4KKwkJPC9hdXRob3I+CisJCTxyZXZkZXNjcmlwdGlv bj4KKwkJCTxzaW1wbGVsaXN0PgorCQkJCTxtZW1iZXI+RG9jdW1lbnQgdGhlIHJldmVyc2UtbWFw cGluZyBidHJlZS48L21lbWJlcj4KKwkJCQk8bWVtYmVyPk1vdmUgdGhlIGIrdHJlZSBpbmZvIHRv IGEgc2VwYXJhdGUgY2hhcHRlci48L21lbWJlcj4KKwkJCQk8bWVtYmVyPkRpc2N1c3Mgb3Zlcmxh cHBpbmcgaW50ZXJ2YWwgYit0cmVlcy48L21lbWJlcj4KKwkJCQk8bWVtYmVyPkRpc2N1c3MgbmV3 IGxvZyBpdGVtcyBmb3IgYXRvbWljIHVwZGF0ZXMuPC9tZW1iZXI+CisJCQk8L3NpbXBsZWxpc3Q+ CisJCTwvcmV2ZGVzY3JpcHRpb24+CisJPC9yZXZpc2lvbj4KIDwvcmV2aGlzdG9yeT4KZGlmZiAt LWdpdCBhL2Rlc2lnbi9YRlNfRmlsZXN5c3RlbV9TdHJ1Y3R1cmUvam91cm5hbGluZ19sb2cuYXNj aWlkb2MgYi9kZXNpZ24vWEZTX0ZpbGVzeXN0ZW1fU3RydWN0dXJlL2pvdXJuYWxpbmdfbG9nLmFz Y2lpZG9jCmluZGV4IDY3ZDIwOWYuLjc4Y2U0MzYgMTAwNjQ0Ci0tLSBhL2Rlc2lnbi9YRlNfRmls ZXN5c3RlbV9TdHJ1Y3R1cmUvam91cm5hbGluZ19sb2cuYXNjaWlkb2MKKysrIGIvZGVzaWduL1hG U19GaWxlc3lzdGVtX1N0cnVjdHVyZS9qb3VybmFsaW5nX2xvZy5hc2NpaWRvYwpAQCAtMjA5LDYg KzIwOSw4IEBAIG1hZ2ljIG51bWJlciB0byBkaXN0aW5ndWlzaCB0aGVtc2VsdmVzLiAgQnVmZmVy IGRhdGEgaXRlbXMgb25seSBhcHBlYXIgYWZ0ZXIKIHwgK1hGU19MSV9EUVVPVCsJCXwgMHgxMjNk ICAgICAgICB8IHhyZWY6UXVvdGFfVXBkYXRlX0xvZ19JdGVtW1VwZGF0ZSBRdW90YV0KIHwgK1hG U19MSV9RVU9UQU9GRisJCXwgMHgxMjNlICAgICAgICB8IHhyZWY6UXVvdGFfT2ZmX0xvZ19JdGVt W1F1b3RhIE9mZl0KIHwgK1hGU19MSV9JQ1JFQVRFKwkJfCAweDEyM2YgICAgICAgIHwgeHJlZjpJ bm9kZV9DcmVhdGVfTG9nX0l0ZW1bSW5vZGUgQ3JlYXRpb25dCit8ICtYRlNfTElfUlVJKwkJCXwg MHgxMjQwICAgICAgICB8IHhyZWY6UlVJX0xvZ19JdGVtW1JldmVyc2UgTWFwcGluZyBVcGRhdGUg SW50ZW50XQorfCArWEZTX0xJX1JVRCsJCQl8IDB4MTI0MSAgICAgICAgfCB4cmVmOlJVRF9Mb2df SXRlbVtSZXZlcnNlIE1hcHBpbmcgVXBkYXRlIERvbmVdCiB8PT09PT0KIAogW1tMb2dfVHJhbnNh Y3Rpb25fSGVhZGVyc11dCkBAIC0zODYsNiArMzg4LDEyNiBAQCBWYXJpYWJsZS1sZW5ndGggYXJy YXkgb2YgZXh0ZW50cyB0byBiZSBmcmVlZC4gIFRoZSBhcnJheSBsZW5ndGggaXMgZ2l2ZW4gYnkK ICt4ZnNfZXh0ZW50XzMyX3QrOyB0aGlzIGNhbiBiZSBkZXRlcm1pbmVkIGZyb20gdGhlIGxvZyBp dGVtIHNpemUgKCtvaF9sZW4rKSBhbmQKIHRoZSBudW1iZXIgb2YgZXh0ZW50cyAoK2VmZF9uZXh0 ZW50cyspLgogCitbW1JVSV9Mb2dfSXRlbV1dCis9PT0gUmV2ZXJzZSBNYXBwaW5nIFVwZGF0ZXMg SW50ZW50CisKK1RoZSBuZXh0IHR3byBvcGVyYXRpb24gdHlwZXMgd29yayB0b2dldGhlciB0byBo YW5kbGUgZGVmZXJyZWQgcmV2ZXJzZSBtYXBwaW5nCit1cGRhdGVzLiAgTmF0dXJhbGx5LCB0aGUg bWFwcGluZ3MgdG8gYmUgdXBkYXRlZCBjYW4gYmUgZXhwcmVzc2VkIGluIHRlcm1zIG9mCittYXBw aW5nIGV4dGVudHM6CisKK1tzb3VyY2UsIGNdCistLS0tCitzdHJ1Y3QgeGZzX21hcF9leHRlbnQg eworICAgICBfX3VpbnQ2NF90ICAgICAgICAgICAgICAgIG1lX293bmVyOworICAgICBfX3VpbnQ2 NF90ICAgICAgICAgICAgICAgIG1lX3N0YXJ0YmxvY2s7CisgICAgIF9fdWludDY0X3QgICAgICAg ICAgICAgICAgbWVfc3RhcnRvZmY7CisgICAgIF9fdWludDMyX3QgICAgICAgICAgICAgICAgbWVf bGVuOworICAgICBfX3VpbnQzMl90ICAgICAgICAgICAgICAgIG1lX2ZsYWdzOworfTsKKy0tLS0K KworKm1lX293bmVyKjo6CitPd25lciBvZiB0aGlzIHJldmVyc2UgbWFwcGluZy4gIFNlZSB0aGUg dmFsdWVzIGluIHRoZSBzZWN0aW9uIGFib3V0Cit4cmVmOlJldmVyc2VfTWFwcGluZ19CdHJlZVty ZXZlcnNlIG1hcHBpbmddIGZvciBtb3JlIGluZm9ybWF0aW9uLgorCisqbWVfc3RhcnRibG9jayo6 OgorRmlsZXN5c3RlbSBibG9jayBvZiB0aGlzIG1hcHBpbmcuCisKKyptZV9zdGFydG9mZio6Ogor TG9naWNhbCBibG9jayBvZmZzZXQgb2YgdGhpcyBtYXBwaW5nLgorCisqbWVfbGVuKjo6CitUaGUg bGVuZ3RoIG9mIHRoaXMgbWFwcGluZy4KKworKm1lX2ZsYWdzKjo6CitUaGUgbG93ZXIgYnl0ZSBv ZiB0aGlzIGZpZWxkIGlzIGEgdHlwZSBjb2RlIGluZGljYXRpbmcgd2hhdCBzb3J0IG9mCityZXZl cnNlIG1hcHBpbmcgb3BlcmF0aW9uIHdlIHdhbnQuICBUaGUgdXBwZXIgdGhyZWUgYnl0ZXMgYXJl IGZsYWcgYml0cy4KKworLlJldmVyc2UgbWFwcGluZyB1cGRhdGUgbG9nIGludGVudCB0eXBlcwor W29wdGlvbnM9ImhlYWRlciJdCit8PT09PT0KK3wgVmFsdWUJCQkJfCBEZXNjcmlwdGlvbgorfCAr WEZTX1JNQVBfRVhURU5UX01BUCsJCXwgQWRkIGEgcmV2ZXJzZSBtYXBwaW5nIGZvciBmaWxlIGRh dGEuCit8ICtYRlNfUk1BUF9FWFRFTlRfTUFQX1NIQVJFRCsJfCBBZGQgYSByZXZlcnNlIG1hcHBp bmcgZm9yIGZpbGUgZGF0YSBmb3IgYSBmaWxlIHdpdGggc2hhcmVkIGJsb2Nrcy4KK3wgK1hGU19S TUFQX0VYVEVOVF9VTk1BUCsJfCBSZW1vdmUgYSByZXZlcnNlIG1hcHBpbmcgZm9yIGZpbGUgZGF0 YS4KK3wgK1hGU19STUFQX0VYVEVOVF9VTk1BUF9TSEFSRUQrCXwgUmVtb3ZlIGEgcmV2ZXJzZSBt YXBwaW5nIGZvciBmaWxlIGRhdGEgZm9yIGEgZmlsZSB3aXRoIHNoYXJlZCBibG9ja3MuCit8ICtY RlNfUk1BUF9FWFRFTlRfQ09OVkVSVCsJfCBDb252ZXJ0IGEgcmV2ZXJzZSBtYXBwaW5nIGZvciBm aWxlIGRhdGEgYmV0d2VlbiB1bndyaXR0ZW4gYW5kIG5vcm1hbC4KK3wgK1hGU19STUFQX0VYVEVO VF9DT05WRVJUX1NIQVJFRCsJfCBDb252ZXJ0IGEgcmV2ZXJzZSBtYXBwaW5nIGZvciBmaWxlIGRh dGEgYmV0d2VlbiB1bndyaXR0ZW4gYW5kIG5vcm1hbCBmb3IgYSBmaWxlIHdpdGggc2hhcmVkIGJs b2Nrcy4KK3wgK1hGU19STUFQX0VYVEVOVF9BTExPQysJfCBBZGQgYSByZXZlcnNlIG1hcHBpbmcg Zm9yIG5vbi1maWxlIGRhdGEuCit8ICtYRlNfUk1BUF9FWFRFTlRfRlJFRSsJfCBSZW1vdmUgYSBy ZXZlcnNlIG1hcHBpbmcgZm9yIG5vbi1maWxlIGRhdGEuCit8PT09PT0KKworLlJldmVyc2UgbWFw cGluZyB1cGRhdGUgbG9nIGludGVudCBmbGFncworW29wdGlvbnM9ImhlYWRlciJdCit8PT09PT0K K3wgVmFsdWUJCQkJfCBEZXNjcmlwdGlvbgorfCArWEZTX1JNQVBfRVhURU5UX0FUVFJfRk9SSysJ fCBFeHRlbnQgaXMgZm9yIHRoZSBhdHRyaWJ1dGUgZm9yay4KK3wgK1hGU19STUFQX0VYVEVOVF9C TUJUX0JMT0NLKwl8IEV4dGVudCBpcyBmb3IgYSBibG9jayBtYXBwaW5nIGJ0cmVlIGJsb2NrLgor fCArWEZTX1JNQVBfRVhURU5UX1VOV1JJVFRFTisJfCBFeHRlbnQgaXMgdW53cml0dGVuLgorfD09 PT09CisKK1RoZSBgYHJtYXAgdXBkYXRlIGludGVudCcnIG9wZXJhdGlvbiBjb21lcyBmaXJzdDsg aXQgdGVsbHMgdGhlIGxvZyB0aGF0IFhGUword2FudHMgdG8gdXBkYXRlIHNvbWUgcmV2ZXJzZSBt YXBwaW5ncy4gIFRoaXMgcmVjb3JkIGlzIGNydWNpYWwgZm9yIGNvcnJlY3QgbG9nCityZWNvdmVy eSBiZWNhdXNlIGl0IGVuYWJsZXMgdXMgdG8gc3ByZWFkIGEgY29tcGxleCBtZXRhZGF0YSB1cGRh dGUgYWNyb3NzCittdWx0aXBsZSB0cmFuc2FjdGlvbnMgd2hpbGUgZW5zdXJpbmcgdGhhdCBhIGNy YXNoIG1pZHdheSB0aHJvdWdoIHRoZSBjb21wbGV4Cit1cGRhdGUgd2lsbCBiZSByZXBsYXllZCBm dWxseSBkdXJpbmcgbG9nIHJlY292ZXJ5LgorCitbc291cmNlLCBjXQorLS0tLQorc3RydWN0IHhm c19ydWlfbG9nX2Zvcm1hdCB7CisgICAgIF9fdWludDE2X3QgICAgICAgICAgICAgICAgcnVpX3R5 cGU7CisgICAgIF9fdWludDE2X3QgICAgICAgICAgICAgICAgcnVpX3NpemU7CisgICAgIF9fdWlu dDMyX3QgICAgICAgICAgICAgICAgcnVpX25leHRlbnRzOworICAgICBfX3VpbnQ2NF90ICAgICAg ICAgICAgICAgIHJ1aV9pZDsJCisgICAgIHN0cnVjdCB4ZnNfbWFwX2V4dGVudCAgICAgcnVpX2V4 dGVudHNbMV07Cit9OworLS0tLQorCisqcnVpX3R5cGUqOjoKK1RoZSBzaWduYXR1cmUgb2YgYW4g UlVJIG9wZXJhdGlvbiwgMHgxMjQwLiAgVGhpcyB2YWx1ZSBpcyBpbiBob3N0LWVuZGlhbiBvcmRl ciwKK25vdCBiaWctZW5kaWFuIGxpa2UgdGhlIHJlc3Qgb2YgWEZTLgorCisqcnVpX3NpemUqOjoK K1NpemUgb2YgdGhpcyBsb2cgaXRlbS4gIFNob3VsZCBiZSAxLgorCisqcnVpX25leHRlbnRzKjo6 CitOdW1iZXIgb2YgcmV2ZXJzZSBtYXBwaW5ncy4KKworKnJ1aV9pZCo6OgorQSA2NC1iaXQgbnVt YmVyIHRoYXQgYmluZHMgdGhlIGNvcnJlc3BvbmRpbmcgUlVEIGxvZyBpdGVtIHRvIHRoaXMgUlVJ IGxvZyBpdGVtLgorCisqcnVpX2V4dGVudHMqOjoKK1ZhcmlhYmxlLWxlbmd0aCBhcnJheSBvZiBy ZXZlcnNlIG1hcHBpbmdzIHRvIHVwZGF0ZS4KKworW1tSVURfTG9nX0l0ZW1dXQorPT09IENvbXBs ZXRpb24gb2YgUmV2ZXJzZSBNYXBwaW5nIFVwZGF0ZXMKKworVGhlIGBgcmV2ZXJzZSBtYXBwaW5n IHVwZGF0ZSBkb25lJycgb3BlcmF0aW9uIGNvbXBsZW1lbnRzIHRoZSBgYHJldmVyc2UgbWFwcGlu ZwordXBkYXRlIGludGVudCcnIG9wZXJhdGlvbi4gIFRoaXMgc2Vjb25kIG9wZXJhdGlvbiBpbmRp Y2F0ZXMgdGhhdCB0aGUgdXBkYXRlCithY3R1YWxseSBoYXBwZW5lZCwgc28gdGhhdCBsb2cgcmVj b3ZlcnkgbmVlZG4ndCByZXBsYXkgdGhlIHVwZGF0ZS4gIFRoZSBSVUQgYW5kCit0aGUgYWN0dWFs IHVwZGF0ZXMgYXJlIHR5cGljYWxseSBmb3VuZCBpbiBhIG5ldyB0cmFuc2FjdGlvbiBmb2xsb3dp bmcgdGhlCit0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgUlVJIHdhcyBsb2dnZWQuCisKK1tzb3Vy Y2UsIGNdCistLS0tCitzdHJ1Y3QgeGZzX3J1ZF9sb2dfZm9ybWF0IHsKKyAgICAgIF9fdWludDE2 X3QgICAgICAgICAgICAgICBydWRfdHlwZTsKKyAgICAgIF9fdWludDE2X3QgICAgICAgICAgICAg ICBydWRfc2l6ZTsKKyAgICAgIF9fdWludDMyX3QgICAgICAgICAgICAgICBfX3BhZDsKKyAgICAg IF9fdWludDY0X3QgICAgICAgICAgICAgICBydWRfcnVpX2lkOworfTsKKy0tLS0KKworKnJ1ZF90 eXBlKjo6CitUaGUgc2lnbmF0dXJlIG9mIGFuIFJVRCBvcGVyYXRpb24sIDB4MTI0MS4gIFRoaXMg dmFsdWUgaXMgaW4gaG9zdC1lbmRpYW4gb3JkZXIsCitub3QgYmlnLWVuZGlhbiBsaWtlIHRoZSBy ZXN0IG9mIFhGUy4KKworKnJ1ZF9zaXplKjo6CitTaXplIG9mIHRoaXMgbG9nIGl0ZW0uICBTaG91 bGQgYmUgMS4KKworKnJ1ZF9ydWlfaWQqOjoKK0EgNjQtYml0IG51bWJlciB0aGF0IGJpbmRzIHRo ZSBjb3JyZXNwb25kaW5nIFJVSSBsb2cgaXRlbSB0byB0aGlzIFJVRCBsb2cgaXRlbS4KKwogW1tJ bm9kZV9Mb2dfSXRlbV1dCiA9PT0gSW5vZGUgVXBkYXRlcwogCmRpZmYgLS1naXQgYS9kZXNpZ24v WEZTX0ZpbGVzeXN0ZW1fU3RydWN0dXJlL21hZ2ljLmFzY2lpZG9jIGIvZGVzaWduL1hGU19GaWxl c3lzdGVtX1N0cnVjdHVyZS9tYWdpYy5hc2NpaWRvYwppbmRleCAzMDFjZmEwLi4xMGZkMTVmIDEw MDY0NAotLS0gYS9kZXNpZ24vWEZTX0ZpbGVzeXN0ZW1fU3RydWN0dXJlL21hZ2ljLmFzY2lpZG9j CisrKyBiL2Rlc2lnbi9YRlNfRmlsZXN5c3RlbV9TdHJ1Y3R1cmUvbWFnaWMuYXNjaWlkb2MKQEAg LTQ0LDYgKzQ0LDcgQEAgcmVsZXZhbnQgY2hhcHRlcnMuICBNYWdpYyBudW1iZXJzIHRlbmQgdG8g aGF2ZSBjb25zaXN0ZW50IGxvY2F0aW9uczoKIHwgK1hGU19BVFRSX0xFQUZfTUFHSUMrCQl8IDB4 ZmJlZQl8ICAgICAJfCB4cmVmOkxlYWZfQXR0cmlidXRlc1tMZWFmIEF0dHJpYnV0ZV0KIHwgK1hG U19BVFRSM19MRUFGX01BR0lDKwl8IDB4M2JlZQl8ICAgICAJfCB4cmVmOkxlYWZfQXR0cmlidXRl c1tMZWFmIEF0dHJpYnV0ZV0sIHY1IG9ubHkKIHwgK1hGU19BVFRSM19STVRfTUFHSUMrCQl8IDB4 NTg0MTUyNGQJfCBYQVJNCXwgeHJlZjpSZW1vdGVfVmFsdWVzW1JlbW90ZSBBdHRyaWJ1dGUgVmFs dWVdLCB2NSBvbmx5Cit8ICtYRlNfUk1BUF9DUkNfTUFHSUMrCQl8IDB4NTI0ZDQyMzMJfCBSTUIz CXwgeHJlZjpSZXZlcnNlX01hcHBpbmdfQnRyZWVbUmV2ZXJzZSBNYXBwaW5nIEIrdHJlZV0sIHY1 IG9ubHkKIHw9PT09PQogCiBUaGUgbWFnaWMgbnVtYmVycyBmb3IgbG9nIGl0ZW1zIGFyZSBhdCBv ZmZzZXQgemVybyBpbiBlYWNoIGxvZyBpdGVtLCBidXQgaXRlbXMKQEAgLTYxLDYgKzYyLDggQEAg YXJlIG5vdCBhbGlnbmVkIHRvIGJsb2Nrcy4KIHwgK1hGU19MSV9EUVVPVCsJCXwgMHgxMjNkICAg ICAgICB8ICAgICAgIHwgeHJlZjpRdW90YV9VcGRhdGVfTG9nX0l0ZW1bVXBkYXRlIFF1b3RhIExv ZyBJdGVtXQogfCArWEZTX0xJX1FVT1RBT0ZGKwkJfCAweDEyM2UgICAgICAgIHwgICAgICAgfCB4 cmVmOlF1b3RhX09mZl9Mb2dfSXRlbVtRdW90YSBPZmYgTG9nIEl0ZW1dCiB8ICtYRlNfTElfSUNS RUFURSsJCXwgMHgxMjNmICAgICAgICB8ICAgICAgIHwgeHJlZjpJbm9kZV9DcmVhdGVfTG9nX0l0 ZW1bSW5vZGUgQ3JlYXRpb24gTG9nIEl0ZW1dCit8ICtYRlNfTElfUlVJKwkJCXwgMHgxMjQwICAg ICAgICB8ICAgICAgIHwgeHJlZjpSVUlfTG9nX0l0ZW1bUmV2ZXJzZSBNYXBwaW5nIFVwZGF0ZSBJ bnRlbnRdCit8ICtYRlNfTElfUlVEKwkJCXwgMHgxMjQxICAgICAgICB8ICAgICAgIHwgeHJlZjpS VURfTG9nX0l0ZW1bUmV2ZXJzZSBNYXBwaW5nIFVwZGF0ZSBEb25lXQogfD09PT09CiAKID0gVGhl b3JldGljYWwgTGltaXRzCmRpZmYgLS1naXQgYS9kZXNpZ24vWEZTX0ZpbGVzeXN0ZW1fU3RydWN0 dXJlL3JlY29uc3RydWN0aW9uLmFzY2lpZG9jIGIvZGVzaWduL1hGU19GaWxlc3lzdGVtX1N0cnVj dHVyZS9yZWNvbnN0cnVjdGlvbi5hc2NpaWRvYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi5mMTcyZTBmCi0tLSAvZGV2L251bGwKKysrIGIvZGVzaWduL1hGU19GaWxlc3lzdGVt X1N0cnVjdHVyZS9yZWNvbnN0cnVjdGlvbi5hc2NpaWRvYwpAQCAtMCwwICsxLDUzIEBACitbW1Jl Y29uc3RydWN0aW9uXV0KKz0gTWV0YWRhdGEgUmVjb25zdHJ1Y3Rpb24KKworW05PVEVdCitUaGlz IGlzIGEgdGhlb3JldGljYWwgZGlzY3Vzc2lvbiBvZiBob3cgcmVjb25zdHJ1Y3Rpb24gY291bGQg d29yazsgbm9uZSBvZiB0aGlzCitpcyBpbXBsZW1lbnRlZCBhcyBvZiAyMDE1LgorCitBIHNpbXBs ZSBVTklYIGZpbGVzeXN0ZW0gY2FuIGJlIHRob3VnaHQgb2YgaW4gdGVybXMgb2YgYSBkaXJlY3Rl ZCBhY3ljbGljIGdyYXBoLgorVG8gYSBmaXJzdCBhcHByb3hpbWF0aW9uLCB0aGVyZSBleGlzdHMg YSByb290IGRpcmVjdG9yeSBub2RlLCB3aGljaCBwb2ludHMgdG8KK290aGVyIG5vZGVzLiAgVGhv c2Ugb3RoZXIgbm9kZXMgY2FuIHRoZW1zZWx2ZXMgYmUgZGlyZWN0b3JpZXMgb3IgdGhleSBjYW4g YmUKK2ZpbGVzLiAgRWFjaCBmaWxlLCBpbiB0dXJuLCBwb2ludHMgdG8gZGF0YSBibG9ja3MuCisK K1hGUyBhZGRzIGEgZmV3IG1vcmUgZGV0YWlscyB0byB0aGlzIHBpY3R1cmU6CisKKyogVGhlIHJl YWwgcm9vdChzKSBvZiBhbiBYRlMgZmlsZXN5c3RlbSBhcmUgdGhlIGFsbG9jYXRpb24gZ3JvdXAg aGVhZGVycworKHN1cGVyYmxvY2ssIEFHRiwgQUdJLCBBR0ZMKS4KKyogRWFjaCBhbGxvY2F0aW9u IGdyb3Vw4oCZcyBoZWFkZXJzIHBvaW50IHRvIHZhcmlvdXMgcGVyLUFHIEIrdHJlZXMgKGZyZWUg c3BhY2UsCitpbm9kZSwgZnJlZSBpbm9kZXMsIGZyZWUgbGlzdCwgZXRjLikKKyogVGhlIGZyZWUg c3BhY2UgQit0cmVlcyBwb2ludCB0byB1bnVzZWQgZXh0ZW50czsKKyogVGhlIGlub2RlIEIrdHJl ZXMgcG9pbnQgdG8gYmxvY2tzIGNvbnRhaW5pbmcgaW5vZGUgY2h1bmtzOworKiBBbGwgc3VwZXJi bG9ja3MgcG9pbnQgdG8gdGhlIHJvb3QgZGlyZWN0b3J5IGFuZCB0aGUgbG9nOworKiBIYXJkbGlu a3MgbWVhbiB0aGF0IG11bHRpcGxlIGRpcmVjdG9yaWVzIGNhbiBwb2ludCB0byBhIHNpbmdsZSBm aWxlIG5vZGU7CisqIEZpbGUgZGF0YSBibG9jayBwb2ludGVycyBhcmUgaW5kZXhlZCBieSBmaWxl IG9mZnNldDsKKyogRmlsZXMgYW5kIGRpcmVjdG9yaWVzIGNhbiBoYXZlIGEgc2Vjb25kIGNvbGxl Y3Rpb24gb2YgcG9pbnRlcnMgdG8gZGF0YSBibG9ja3MKK3doaWNoIGNvbnRhaW4gZXh0ZW5kZWQg YXR0cmlidXRlczsKKyogTGFyZ2UgZGlyZWN0b3JpZXMgcmVxdWlyZSBtdWx0aXBsZSBkYXRhIGJs b2NrcyB0byBzdG9yZSBhbGwgdGhlIHN1YnBvaW50ZXJzOworKiBTdGlsbCBsYXJnZXIgZGlyZWN0 b3JpZXMgdXNlIGhpZ2gtb2Zmc2V0IGRhdGEgYmxvY2tzIHRvIHN0b3JlIGEgQit0cmVlIG9mCito YXNoZXMgdG8gZGlyZWN0b3J5IGVudHJpZXM7CisqIExhcmdlIGV4dGVuZGVkIGF0dHJpYnV0ZSBm b3JrcyBzaW1pbGFybHkgdXNlIGhpZ2gtb2Zmc2V0IGRhdGEgYmxvY2tzIHRvIHN0b3JlCithIEIr dHJlZSBvZiBoYXNoZXMgdG8gYXR0cmlidXRlIGtleXM7IGFuZAorKiBTeW1ib2xpYyBsaW5rcyBj YW4gcG9pbnQgdG8gZGF0YSBibG9ja3MuCisKK1RoZSBiZWF1dHkgb2YgdGhpcyBtYXNzaXZlIGdy YXBoIHN0cnVjdHVyZSBpcyB0aGF0IHVuZGVyIG5vcm1hbCBjaXJjdW1zdGFuY2VzLAorZXZlcnl0 aGluZyBrbm93biB0byB0aGUgZmlsZXN5c3RlbSBpcyBkaXNjb3ZlcmFibGUgKGFjY2VzcyBjb250 cm9scworbm90d2l0aHN0YW5kaW5nKSBmcm9tIHRoZSByb290LiAgVGhlIG1ham9yIHdlYWtuZXNz IG9mIHRoaXMgc3RydWN0dXJlIG9mIGNvdXJzZQoraXMgdGhhdCBicmVha2luZyBhIGVkZ2UgaW4g dGhlIGdyYXBoIGNhbiByZW5kZXIgZW50aXJlIHN1YnRyZWVzIGluYWNjZXNzaWJsZS4KKyt4ZnNf cmVwYWlyKyDigJxyZWNvdmVyc+KAnSBmcm9tIGJyb2tlbiBkaXJlY3RvcmllcyBieSBzY2Fubmlu ZyBmb3IgdW5saW5rZWQgaW5vZGVzCithbmQgY29ubmVjdGluZyB0aGVtIHRvICsvbG9zdCtmb3Vu ZCssIGJ1dCB0aGlzIGlzbuKAmXQgc3VmZmljaWVudGx5IGdlbmVyYWwgdG8KK3JlY292ZXIgZnJv bSBicmVha3MgaW4gb3RoZXIgcGFydHMgb2YgdGhlIGdyYXBoIHN0cnVjdHVyZS4gIFdvdWxkbuKA mXQgaXQgYmUKK3VzZWZ1bCB0byBoYXZlIGJhY2sgcG9pbnRlcnMgYXMgYSBzZWNvbmRhcnkgZGF0 YSBzdHJ1Y3R1cmU/ICBUaGUgY3VycmVudCByZXBhaXIKK3N0cmF0ZWd5IGlzIHRvIHJlY29uc3Ry dWN0IHdoYXRldmVyIGNhbiBiZSByZWJ1aWx0LCBidXQgdG8gc2NyYXAgYW55dGhpbmcgdGhhdAor ZG9lc24ndCBjaGVjayBvdXQuCisKK1RoZSB4cmVmOlJldmVyc2VfTWFwcGluZ19CdHJlZVtyZXZl cnNlLW1hcHBpbmcgQit0cmVlXSBmaWxscyBpbiBwYXJ0IG9mIHRoZQorcHV6emxlLiAgU2luY2Ug aXQgY29udGFpbnMgY29waWVzIG9mIGV2ZXJ5IGVudHJ5IGluIGVhY2ggaW5vZGXigJlzIGRhdGEg YW5kCithdHRyaWJ1dGUgZm9ya3MsIHdlIGNhbiBmaXggYSBjb3JydXB0ZWQgYmxvY2sgbWFwIHdp dGggdGhlc2UgcmVjb3Jkcy4KK0Z1cnRoZXJtb3JlLCBpZiB0aGUgaW5vZGUgQit0cmVlcyBiZWNv bWUgY29ycnVwdCwgaXQgaXMgcG9zc2libGUgdG8gdmlzaXQgYWxsCitpbm9kZSBjaHVua3MgdXNp bmcgdGhlIHJldmVyc2UtbWFwcGluZyBkYXRhLiAgU2hvdWxkIFhGUyBldmVyIGdhaW4gdGhlIGFi aWxpdHkKK3RvIHN0b3JlIHBhcmVudCBkaXJlY3RvcnkgaW5mb3JtYXRpb24gaW4gZWFjaCBpbm9k ZSwgaXQgYWxzbyBiZWNvbWVzIHBvc3NpYmxlCit0byByZXN1cnJlY3QgZGFtYWdlZCBkaXJlY3Rv cnkgdHJlZXMsIHdoaWNoIHNob3VsZCByZWR1Y2UgdGhlIGNvbXBsYWludHMgYWJvdXQKK2lub2Rl cyBlbmRpbmcgdXAgaW4gKy9sb3N0K2ZvdW5kKy4gIEV2ZXJ5dGhpbmcgZWxzZSBpbiB0aGUgcGVy LUFHIHByaW1hcnkKK21ldGFkYXRhIGNhbiBhbHJlYWR5IGJlIHJlY29uc3RydWN0ZWQgdmlhICt4 ZnNfcmVwYWlyKy4gIEhvcGVmdWxseSwKK3JlY29uc3RydWN0aW9uIHdpbGwgbm90IHR1cm4gb3V0 IHRvIGJlIGEgZm9vbCdzIGVycmFuZC4KZGlmZiAtLWdpdCBhL2Rlc2lnbi9YRlNfRmlsZXN5c3Rl bV9TdHJ1Y3R1cmUvcm1hcGJ0LmFzY2lpZG9jIGIvZGVzaWduL1hGU19GaWxlc3lzdGVtX1N0cnVj dHVyZS9ybWFwYnQuYXNjaWlkb2MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u YThhMjEwYgotLS0gL2Rldi9udWxsCisrKyBiL2Rlc2lnbi9YRlNfRmlsZXN5c3RlbV9TdHJ1Y3R1 cmUvcm1hcGJ0LmFzY2lpZG9jCkBAIC0wLDAgKzEsMzA1IEBACitbW1JldmVyc2VfTWFwcGluZ19C dHJlZV1dCis9PSBSZXZlcnNlLU1hcHBpbmcgQit0cmVlCisKK1tOT1RFXQorVGhpcyBkYXRhIHN0 cnVjdHVyZSBpcyB1bmRlciBjb25zdHJ1Y3Rpb24hICBEZXRhaWxzIG1heSBjaGFuZ2UuCisKK0lm IHRoZSBmZWF0dXJlIGlzIGVuYWJsZWQsIGVhY2ggYWxsb2NhdGlvbiBncm91cCBoYXMgaXRzIG93 biByZXZlcnNlCitibG9jay1tYXBwaW5nIEIrdHJlZSwgd2hpY2ggZ3Jvd3MgaW4gdGhlIGZyZWUg c3BhY2UgbGlrZSB0aGUgZnJlZSBzcGFjZQorQit0cmVlcy4gIEFzIG1lbnRpb25lZCBpbiB0aGUg Y2hhcHRlciBhYm91dAoreHJlZjpSZWNvbnN0cnVjdGlvbltyZWNvbnN0cnVjdGlvbl0sIHRoaXMg ZGF0YSBzdHJ1Y3R1cmUgaXMgYW5vdGhlciBwaWVjZSBvZgordGhlIHB1enpsZSBuZWNlc3Nhcnkg dG8gcmVjb25zdHJ1Y3QgdGhlIGRhdGEgb3IgYXR0cmlidXRlIGZvcmsgb2YgYSBmaWxlIGZyb20K K3JldmVyc2UtbWFwcGluZyByZWNvcmRzOyB3ZSBjYW4gYWxzbyB1c2UgaXQgdG8gZG91YmxlLWNo ZWNrIGFsbG9jYXRpb25zIHRvCitlbnN1cmUgdGhhdCB3ZSBhcmUgbm90IGFjY2lkZW50YWxseSBj cm9zcy1saW5raW5nIGJsb2Nrcywgd2hpY2ggY2FuIGNhdXNlCitzZXZlcmUgZGFtYWdlIHRvIHRo ZSBmaWxlc3lzdGVtLgorCitUaGlzIEIrdHJlZSBpcyBvbmx5IHByZXNlbnQgaWYgdGhlICtYRlNf U0JfRkVBVF9ST19DT01QQVRfUk1BUEJUKworZmVhdHVyZSBpcyBlbmFibGVkLiAgVGhlIGZlYXR1 cmUgcmVxdWlyZXMgYSB2ZXJzaW9uIDUgZmlsZXN5c3RlbS4KKworRWFjaCByZWNvcmQgaW4gdGhl IHJldmVyc2UtbWFwcGluZyBCK3RyZWUgaGFzIHRoZSBmb2xsb3dpbmcgc3RydWN0dXJlOgorCitb c291cmNlLCBjXQorLS0tLQorc3RydWN0IHhmc19ybWFwX3JlYyB7CisgICAgIF9fYmUzMiAgICAg ICAgICAgICAgICAgICAgIHJtX3N0YXJ0YmxvY2s7CisgICAgIF9fYmUzMiAgICAgICAgICAgICAg ICAgICAgIHJtX2Jsb2NrY291bnQ7CisgICAgIF9fYmU2NCAgICAgICAgICAgICAgICAgICAgIHJt X293bmVyOworICAgICBfX2JlNjQgICAgICAgICAgICAgICAgICAgICBybV9mb3JrOjE7CisgICAg IF9fYmU2NCAgICAgICAgICAgICAgICAgICAgIHJtX2JtYnQ6MTsKKyAgICAgX19iZTY0ICAgICAg ICAgICAgICAgICAgICAgcm1fdW53cml0dGVuOjE7CisgICAgIF9fYmU2NCAgICAgICAgICAgICAg ICAgICAgIHJtX3VudXNlZDo3OworICAgICBfX2JlNjQgICAgICAgICAgICAgICAgICAgICBybV9v ZmZzZXQ6NTQ7Cit9OworLS0tLQorCisqcm1fc3RhcnRibG9jayo6OgorQUcgYmxvY2sgbnVtYmVy IG9mIHRoaXMgcmVjb3JkLgorCisqcm1fYmxvY2tjb3VudCo6OgorVGhlIGxlbmd0aCBvZiB0aGlz IGV4dGVudC4KKworKnJtX293bmVyKjo6CitBIDY0LWJpdCBudW1iZXIgZGVzY3JpYmluZyB0aGUg b3duZXIgb2YgdGhpcyBleHRlbnQuICBUaGlzIGlzIHR5cGljYWxseSB0aGUKK2Fic29sdXRlIGlu b2RlIG51bWJlciwgYnV0IGNhbiBhbHNvIGNvcnJlc3BvbmQgdG8gb25lIG9mIHRoZSBmb2xsb3dp bmc6CisKKy5TcGVjaWFsIG93bmVyIHZhbHVlcworW29wdGlvbnM9ImhlYWRlciJdCit8PT09PT0K K3wgVmFsdWUJCQkJfCBEZXNjcmlwdGlvbgorfCArWEZTX1JNQVBfT1dOX05VTEwrICAgICAgICAg ICB8IE5vIG93bmVyLiAgVGhpcyBzaG91bGQgbmV2ZXIgYXBwZWFyIG9uIGRpc2suCit8ICtYRlNf Uk1BUF9PV05fVU5LTk9XTisgICAgICAgIHwgVW5rbm93biBvd25lcjsgZm9yIEVGSSByZWNvdmVy eS4gIFRoaXMgc2hvdWxkIG5ldmVyIGFwcGVhciBvbiBkaXNrLgorfCArWEZTX1JNQVBfT1dOX0ZT KyAgICAgICAgICAgICB8IEFsbG9jYXRpb24gZ3JvdXAgaGVhZGVycworfCArWEZTX1JNQVBfT1dO X0xPRysgICAgICAgICAgICB8IFhGUyBsb2cgYmxvY2tzCit8ICtYRlNfUk1BUF9PV05fQUcrICAg ICAgICAgICAgIHwgUGVyLWFsbG9jYXRpb24gZ3JvdXAgQit0cmVlIGJsb2Nrcy4gIFRoaXMgbWVh bnMgZnJlZSBzcGFjZSBCK3RyZWUgYmxvY2tzLCBibG9ja3Mgb24gdGhlIGZyZWVsaXN0LCBhbmQg cmV2ZXJzZS1tYXBwaW5nIEIrdHJlZSBibG9ja3MuCit8ICtYRlNfUk1BUF9PV05fSU5PQlQrICAg ICAgICAgIHwgUGVyLWFsbG9jYXRpb24gZ3JvdXAgaW5vZGUgQit0cmVlIGJsb2Nrcy4gIFRoaXMg aW5jbHVkZXMgZnJlZSBpbm9kZSBCK3RyZWUgYmxvY2tzLgorfCArWEZTX1JNQVBfT1dOX0lOT0RF UysgICAgICAgICB8IElub2RlIGNodW5rcworfD09PT09CisKKypybV9mb3JrKjo6CitJZiArcm1f b3duZXIrIGRlc2NyaWJlcyBhbiBpbm9kZSwgdGhpcyBjYW4gYmUgMSBpZiB0aGlzIHJlY29yZCBp cyBmb3IgYW4KK2F0dHJpYnV0ZSBmb3JrLgorCisqcm1fYm1idCo6OgorSWYgK3JtX293bmVyKyBk ZXNjcmliZXMgYW4gaW5vZGUsIHRoaXMgY2FuIGJlIDEgdG8gc2lnbmlmeSB0aGF0IHRoaXMgcmVj b3JkIGlzCitmb3IgYSBibG9jayBtYXAgQit0cmVlIGJsb2NrLiAgSW4gdGhpcyBjYXNlLCArcm1f b2Zmc2V0KyBoYXMgbm8gbWVhbmluZy4KKworKnJtX3Vud3JpdHRlbio6OgorQSBmbGFnIGluZGlj YXRpbmcgdGhhdCB0aGUgZXh0ZW50IGlzIHVud3JpdHRlbi4gIFRoaXMgY29ycmVzcG9uZHMgdG8g dGhlIGZsYWcgaW4KK3RoZSB4cmVmOkRhdGFfRXh0ZW50c1tleHRlbnQgcmVjb3JkXSBmb3JtYXQg d2hpY2ggbWVhbnMgK1hGU19FWFRfVU5XUklUVEVOKy4KKworKnJtX29mZnNldCo6OgorVGhlIDU0 LWJpdCBsb2dpY2FsIGZpbGUgYmxvY2sgb2Zmc2V0LCBpZiArcm1fb3duZXIrIGRlc2NyaWJlcyBh biBpbm9kZS4KK01lYW5pbmdsZXNzIG90aGVyd2lzZS4KKworW05PVEVdCitUaGUgc2luZ2xlLWJp dCBmbGFnIHZhbHVlcyArcm1fdW53cml0dGVuKywgK3JtX2ZvcmsrLCBhbmQgK3JtX2JtYnQrIGFy ZSBwYWNrZWQKK2ludG8gdGhlIGxhcmdlciBmaWVsZHMgaW4gdGhlIEMgc3RydWN0dXJlIGRlZmlu aXRpb24uCisKK1RoZSBrZXkgaGFzIHRoZSBmb2xsb3dpbmcgc3RydWN0dXJlOgorCitbc291cmNl LCBjXQorLS0tLQorc3RydWN0IHhmc19ybWFwX2tleSB7CisgICAgIF9fYmUzMiAgICAgICAgICAg ICAgICAgICAgIHJtX3N0YXJ0YmxvY2s7CisgICAgIF9fYmU2NCAgICAgICAgICAgICAgICAgICAg IHJtX293bmVyOworICAgICBfX2JlNjQgICAgICAgICAgICAgICAgICAgICBybV9mb3JrOjE7Cisg ICAgIF9fYmU2NCAgICAgICAgICAgICAgICAgICAgIHJtX2JtYnQ6MTsKKyAgICAgX19iZTY0ICAg ICAgICAgICAgICAgICAgICAgcm1fcmVzZXJ2ZWQ6MTsKKyAgICAgX19iZTY0ICAgICAgICAgICAg ICAgICAgICAgcm1fdW51c2VkOjc7CisgICAgIF9fYmU2NCAgICAgICAgICAgICAgICAgICAgIHJt X29mZnNldDo1NDsKK307CistLS0tCisKK0ZvciB0aGUgcmV2ZXJzZS1tYXBwaW5nIEIrdHJlZSBv biBhIGZpbGVzeXN0ZW0gdGhhdCBzdXBwb3J0cyBzaGFyaW5nIG9mIGZpbGUKK2RhdGEgYmxvY2tz LCB0aGUga2V5IGRlZmluaXRpb24gaXMgbGFyZ2VyIHRoYW4gdGhlIHVzdWFsIEFHIGJsb2NrIG51 bWJlci4gIE9uIGEKK2NsYXNzaWMgWEZTIGZpbGVzeXN0ZW0sIGVhY2ggYmxvY2sgaGFzIG9ubHkg b25lIG93bmVyLCB3aGljaCBtZWFucyB0aGF0Cisrcm1fc3RhcnRibG9jaysgaXMgc3VmZmljaWVu dCB0byB1bmlxdWVseSBpZGVudGlmeSBlYWNoIHJlY29yZC4gIEhvd2V2ZXIsCitzaGFyZWQgYmxv Y2sgc3VwcG9ydCAocmVmbGluaykgb24gWEZTIGJyZWFrcyB0aGF0IGFzc3VtcHRpb247IG5vdyBm aWxlc3lzdGVtCitibG9ja3MgY2FuIGJlIGxpbmtlZCB0byBhbnkgbG9naWNhbCBibG9jayBvZmZz ZXQgb2YgYW55IGZpbGUgaW5vZGUuICBUaGVyZWZvcmUsCit0aGUga2V5IG11c3QgaW5jbHVkZSB0 aGUgb3duZXIgYW5kIG9mZnNldCBpbmZvcm1hdGlvbiB0byBwcmVzZXJ2ZSB0aGUgMSB0byAxCity ZWxhdGlvbiBiZXR3ZWVuIGtleSBhbmQgcmVjb3JkLgorCisqIEFzIHRoZSByZWZlcmVuY2UgY291 bnRpbmcgaXMgQUcgcmVsYXRpdmUsIGFsbCB0aGUgYmxvY2sgbnVtYmVycyBhcmUgb25seQorMzIt Yml0cy4KKyogVGhlICtiYl9tYWdpYysgdmFsdWUgaXMgIlJNQjMiICgweDUyNGQ0MjMzKS4KKyog VGhlICt4ZnNfYnRyZWVfc2Jsb2NrX3QrIGhlYWRlciBpcyB1c2VkIGZvciBpbnRlcm1lZGlhdGUg Qit0cmVlIG5vZGUgYXMgd2VsbAorYXMgdGhlIGxlYXZlcy4KKyogRWFjaCBwb2ludGVyIGlzIGFz c29jaWF0ZWQgd2l0aCB0d28ga2V5cy4gIFRoZSBmaXJzdCBvZiB0aGVzZSBpcyB0aGUgImxvdwor a2V5Iiwgd2hpY2ggaXMgdGhlIGtleSBvZiB0aGUgc21hbGxlc3QgcmVjb3JkIGFjY2Vzc2libGUg dGhyb3VnaCB0aGUgcG9pbnRlci4KK1RoaXMgbG93IGtleSBoYXMgdGhlIHNhbWUgbWVhbmluZyBh cyB0aGUga2V5IGluIGFsbCBvdGhlciBidHJlZXMuICBUaGUgc2Vjb25kCitrZXkgaXMgdGhlIGhp Z2gga2V5LCB3aGljaCBpcyB0aGUgbWF4aW11bSBvZiB0aGUgbGFyZ2VzdCBrZXkgdGhhdCBjYW4g YmUgdXNlZAordG8gYWNjZXNzIGEgZ2l2ZW4gcmVjb3JkIHVuZGVybmVhdGggdGhlIHBvaW50ZXIu ICBSZWNhbGwgdGhhdCBlYWNoIHJlY29yZAoraW4gdGhlIHJldmVyc2UgbWFwcGluZyBiK3RyZWUg ZGVzY3JpYmVzIGFuIGludGVydmFsIG9mIHBoeXNpY2FsIGJsb2NrcyBtYXBwZWQKK3RvIGFuIGlu dGVydmFsIG9mIGxvZ2ljYWwgZmlsZSBibG9jayBvZmZzZXRzOyB0aGVyZWZvcmUsIGl0IG1ha2Vz IHNlbnNlIHRoYXQKK2EgcmFuZ2Ugb2Yga2V5cyBjYW4gYmUgdXNlZCB0byBmaW5kIHRvIGEgcmVj b3JkLgorCis9PT0geGZzX2RiIHJtYXBidCBFeGFtcGxlCisKK1RoaXMgZXhhbXBsZSBzaG93cyBh IHJldmVyc2UtbWFwcGluZyBCK3RyZWUgZnJvbSBhIGZyZXNobHkgcG9wdWxhdGVkIHJvb3QKK2Zp bGVzeXN0ZW06CisKKy0tLS0KK3hmc19kYj4gYWdmIDAKK3hmc19kYj4gYWRkciBybWFwcm9vdAor eGZzX2RiPiBwCittYWdpYyA9IDB4NTI0ZDQyMzMKK2xldmVsID0gMQorbnVtcmVjcyA9IDQzCits ZWZ0c2liID0gbnVsbAorcmlnaHRzaWIgPSBudWxsCitibm8gPSA1NgorbHNuID0gMHgzMDAwMDA0 YzgKK3V1aWQgPSAxOTc3MjIxZC04MzQ1LTQ2NGUtYjFmNC1hYTJlYTM2ODk1ZjQKK293bmVyID0g MAorY3JjID0gMHg3Y2Y4YmU2ZiAoY29ycmVjdCkKK2tleXNbMS00M10gPSBbc3RhcnRibG9jayxv d25lcixvZmZzZXRdCitrZXlzWzEtNDNdID0gW3N0YXJ0YmxvY2ssb3duZXIsb2Zmc2V0LGF0dHJm b3JrLGJtYnRibG9jayxzdGFydGJsb2NrX2hpLG93bmVyX2hpLAorCSAgICAgb2Zmc2V0X2hpLGF0 dHJmb3JrX2hpLGJtYnRibG9ja19oaV0KKyAgICAgICAgMTpbMCwtMywwLDAsMCwzNTEsNDQxOCw2 NiwwLDBdCisgICAgICAgIDI6WzQxNywyODUsMCwwLDAsODI3LDQ0MTksMiwwLDBdCisgICAgICAg IDM6WzgyOSw0OTksMCwwLDAsMjM1Miw1NzMsNTUsMCwwXQorICAgICAgICA0OlsxMjkyLDcxMCww LDAsMCwzMjE2OCwyNjI5MjMsNDcsMCwwXQorICAgICAgICA1OlszMjIxNSwtNSwwLDAsMCwzNDY1 NSwyMzY1LDM0MTEsMCwwXQorICAgICAgICA2OlszNDA4MywxMTYxLDAsMCwwLDM0ODk1LDI2NTIy MCwxLDAsMV0KKyAgICAgICAgNzpbMzQ4OTYsMjU2MTkxLDAsMCwwLDM2NTIyLC05LDAsMCwwXQor ICAgICAgICAuLi4KKyAgICAgICAgNDE6WzUwOTk4LDMyNjczNCwwLDAsMCw1MTQzMCwtNSwwLDAs MF0KKyAgICAgICAgNDI6WzUxNDMxLDMyNzAxMCwwLDAsMCw1MTYwMCwzMjU3MjIsMTEsMCwwXQor ICAgICAgICA0MzpbNTE2MTEsMzI3MTEyLDAsMCwwLDk0MDYzLDIzNTIyLDI4Mzc1MjcyLDAsMF0K K3B0cnNbMS00M10gPSAxOjUgMjo2IDM6OCA0OjkgNToxMCA2OjExIDc6NDE4IC4uLiA0MTo0NjM3 NyA0Mjo0ODc4NCA0Mzo0OTUyMgorLS0tLQorCitXZSBhcmJpdHJhcmlseSBwaWNrIHBvaW50ZXIg MTcgdG8gdHJhdmVyc2UgZG93bndhcmRzOgorCistLS0tCit4ZnNfZGI+IGFkZHIgcHRyc1sxN10K K3hmc19kYj4gcAorbWFnaWMgPSAweDUyNGQ0MjMzCitsZXZlbCA9IDAKK251bXJlY3MgPSAxNjgK K2xlZnRzaWIgPSAzNjI4NAorcmlnaHRzaWIgPSAzNzYxNworYm5vID0gMjk0NzYwCitsc24gPSAw eDIwMDAwMjc2MQordXVpZCA9IDE5NzcyMjFkLTgzNDUtNDY0ZS1iMWY0LWFhMmVhMzY4OTVmNAor b3duZXIgPSAwCitjcmMgPSAweDJkYWQzZmJlIChjb3JyZWN0KQorcmVjc1sxLTE2OF0gPSBbc3Rh cnRibG9jayxibG9ja2NvdW50LG93bmVyLG9mZnNldCxleHRlbnRmbGFnLGF0dHJmb3JrLGJtYnRi bG9ja10KKyAgICAgICAgMTpbNDAzMjYsMSwyNTk2MTUsMCwwLDAsMF0gMjpbNDAzMjcsMSwtNSww LDAsMCwwXQorICAgICAgICAzOls0MDMyOCwyLDI1OTYxOCwwLDAsMCwwXSA0Ols0MDMzMCwxLDI1 OTYxOSwwLDAsMCwwXQorICAgICAgICAuLi4KKyAgICAgICAgMTI3Ols0MDU0MCwxLDMyNDI2Niww LDAsMCwwXSAxMjg6WzQwNTQxLDEsMzI0MjY2LDgzODg2MDgsMCwwLDBdCisgICAgICAgIDEyOTpb NDA1NDIsMiwzMjQyNjYsMSwwLDAsMF0gMTMwOls0MDU0NCwzMiwtNywwLDAsMCwwXQorLS0tLQor CitTZXZlcmFsIGludGVyZXN0aW5nIHRoaW5ncyBwb3Agb3V0IGhlcmUuICBUaGUgZmlyc3QgcmVj b3JkIHNob3dzIHRoYXQgaW5vZGUKKzI1OSw2MTUgaGFzIG1hcHBlZCBBRyBibG9jayA0MCwzMjYg YXQgb2Zmc2V0IDAuICBXZSBjb25maXJtIHRoaXMgYnkgbG9va2luZyBhdAordGhlIGJsb2NrIG1h cCBmb3IgdGhhdCBpbm9kZToKKworLS0tLQoreGZzX2RiPiBpbm9kZSAyNTk2MTUKK3hmc19kYj4g Ym1hcAorZGF0YSBvZmZzZXQgMCBzdGFydGJsb2NrIDQwMzI2ICgwLzQwMzI2KSBjb3VudCAxIGZs YWcgMAorLS0tLQorCitOZXh0LCBub3RpY2UgcmVjb3JkcyAxMjcgYW5kIDEyOCwgd2hpY2ggZGVz Y3JpYmUgbmVpZ2hib3JpbmcgQUcgYmxvY2tzIHRoYXQgYXJlCittYXBwZWQgdG8gbm9uLWNvbnRp Z3VvdXMgbG9naWNhbCBibG9ja3MgaW4gaW5vZGUgMzI0LDI2Ni4gIEdpdmVuIHRoZSBsb2dpY2Fs CitvZmZzZXQgb2YgOCwzODgsNjA4IHdlIHN1cm1pc2UgdGhhdCB0aGlzIGlzIGEgbGVhZiBkaXJl Y3RvcnksIGJ1dCBsZXQgdXMKK2NvbmZpcm06CisKKy0tLS0KK3hmc19kYj4gaW5vZGUgMzI0MjY2 Cit4ZnNfZGI+IHAgY29yZS5tb2RlCitjb3JlLm1vZGUgPSAwNDA3NTUKK3hmc19kYj4gYm1hcAor ZGF0YSBvZmZzZXQgMCBzdGFydGJsb2NrIDQwNTQwICgwLzQwNTQwKSBjb3VudCAxIGZsYWcgMAor ZGF0YSBvZmZzZXQgMSBzdGFydGJsb2NrIDQwNTQyICgwLzQwNTQyKSBjb3VudCAyIGZsYWcgMAor ZGF0YSBvZmZzZXQgMyBzdGFydGJsb2NrIDQwNTc2ICgwLzQwNTc2KSBjb3VudCAxIGZsYWcgMAor ZGF0YSBvZmZzZXQgODM4ODYwOCBzdGFydGJsb2NrIDQwNTQxICgwLzQwNTQxKSBjb3VudCAxIGZs YWcgMAoreGZzX2RiPiBwIGNvcmUubW9kZQorY29yZS5tb2RlID0gMDEwMDY0NAoreGZzX2RiPiBk YmxvY2sgMAoreGZzX2RiPiBwIGRoZHIuaGRyLm1hZ2ljCitkaGRyLmhkci5tYWdpYyA9IDB4NTg0 NDQ0MzMKK3hmc19kYj4gZGJsb2NrIDgzODg2MDgKK3hmc19kYj4gcCBsaGRyLmluZm8uaGRyLm1h Z2ljCitsaGRyLmluZm8uaGRyLm1hZ2ljID0gMHgzZGYxCistLS0tCisKK0luZGVlZCwgdGhpcyBp bm9kZSAzMjQsMjY2IGFwcGVhcnMgdG8gYmUgYSBsZWFmIGRpcmVjdG9yeSwgYXMgaXQgaGFzIHJl Z3VsYXIKK2RpcmVjdG9yeSBkYXRhIGJsb2NrcyBhdCBsb3cgb2Zmc2V0cywgYW5kIGEgc2luZ2xl IGxlYWYgYmxvY2suCisKK05vdGljZSBmdXJ0aGVyIHRoZSB0d28gcmV2ZXJzZS1tYXBwaW5nIHJl Y29yZHMgd2l0aCBuZWdhdGl2ZSBvd25lcnMuICBBbiBvd25lcgorb2YgLTcgY29ycmVzcG9uZHMg dG8gK1hGU19STUFQX09XTl9JTk9ERVMrLCB3aGljaCBpcyBhbiBpbm9kZSBjaHVuaywgYW5kIGFu Citvd25lciBjb2RlIG9mIC01IGNvcnJlc3BvbmRzIHRvICtYRlNfUk1BUF9PV05fQUcrLCB3aGlj aCBjb3ZlcnMgZnJlZSBzcGFjZQorQit0cmVlcyBhbmQgZnJlZSBzcGFjZS4gIExldCdzIHNlZSBp ZiBibG9jayA0MCw1NDQgaXMgcGFydCBvZiBhbiBpbm9kZSBjaHVuazoKKworLS0tLQoreGZzX2Ri PiBibG9ja2dldAoreGZzX2RiPiBmc2Jsb2NrIDQwNTQ0Cit4ZnNfZGI+IGJsb2NrdXNlCitibG9j ayA0MDU0NCAoMC80MDU0NCkgdHlwZSBpbm9kZQoreGZzX2RiPiBzdGFjaworMToKKyAgICAgICAg Ynl0ZSBvZmZzZXQgMTY2MDY4MjI0LCBsZW5ndGggNDA5NgorICAgICAgICBidWZmZXIgYmxvY2sg MzI0MzUyIChmc2JubyA0MDU0NCksIDggYmJzCisgICAgICAgIGlub2RlIDMyNDI2NiwgZGlyIGlu b2RlIDMyNDI2NiwgdHlwZSBkYXRhCit4ZnNfZGI+IHR5cGUgaW5vZGUKK3hmc19kYj4gcAorY29y ZS5tYWdpYyA9IDB4NDk0ZQorLS0tLQorCitPdXIgc3VzcGljaW9ucyBhcmUgY29uZmlybWVkLiAg TGV0J3MgYWxzbyBzZWUgaWYgNDAsMzI3IGlzIHBhcnQgb2YgYSBmcmVlIHNwYWNlCit0cmVlOgor CistLS0tCit4ZnNfZGI+IGZzYmxvY2sgNDAzMjcKK3hmc19kYj4gYmxvY2t1c2UKK2Jsb2NrIDQw MzI3ICgwLzQwMzI3KSB0eXBlIGJ0cm1hcAoreGZzX2RiPiB0eXBlIHJtYXBidAoreGZzX2RiPiBw CittYWdpYyA9IDB4NTI0ZDQyMzMKKy0tLS0KKworQXMgeW91IGNhbiBzZWUsIHRoZSByZXZlcnNl IGJsb2NrLW1hcHBpbmcgQit0cmVlIGlzIGFuIGltcG9ydGFudCBzZWNvbmRhcnkKK21ldGFkYXRh IHN0cnVjdHVyZSwgd2hpY2ggY2FuIGJlIHVzZWQgdG8gcmVjb25zdHJ1Y3QgZGFtYWdlZCBwcmlt YXJ5IG1ldGFkYXRhLgorTm93IGxldCdzIGxvb2sgYXQgYW4gZXh0ZW5kIHJtYXAgYnRyZWU6CisK Ky0tLS0KK3hmc19kYj4gYWdmIDAKK3hmc19kYj4gYWRkciBybWFwcm9vdAoreGZzX2RiPiBwCitt YWdpYyA9IDB4MzQ1MjRkNDIKK2xldmVsID0gMQorbnVtcmVjcyA9IDUKK2xlZnRzaWIgPSBudWxs CityaWdodHNpYiA9IG51bGwKK2JubyA9IDYzNjgKK2xzbiA9IDB4MTAwMDAwZDFiCit1dWlkID0g NDAwZjA5MjgtNmI4OC00YzM3LWFmMWUtY2VmMWY4OTExZjNmCitvd25lciA9IDAKK2NyYyA9IDB4 OGQ0YWNlMDUgKGNvcnJlY3QpCitrZXlzWzEtNV0gPSBbc3RhcnRibG9jayxvd25lcixvZmZzZXQs YXR0cmZvcmssYm1idGJsb2NrLHN0YXJ0YmxvY2tfaGksb3duZXJfaGksb2Zmc2V0X2hpLGF0dHJm b3JrX2hpLGJtYnRibG9ja19oaV0KKzE6WzAsLTMsMCwwLDAsNzA1LDEzMiw2ODEsMCwwXQorMjpb MjQsNTc2MSwwLDAsMCw1NDgsNTc2MSw1MjQsMCwwXQorMzpbMjQsNTkyOSwwLDAsMCwzODAsNTky OSwzNTYsMCwwXQorNDpbMjQsNjA5NywwLDAsMCwyMTIsNjA5NywxODgsMCwwXQorNTpbMjQsNjI3 NywwLDAsMCw4MDcsLTcsMCwwLDBdCitwdHJzWzEtNV0gPSAxOjUgMjo3NzEgMzo5IDQ6MTAgNTox MQorLS0tLQorCitUaGUgc2Vjb25kIHBvaW50ZXIgc3RvcmVzIGJvdGggdGhlIGxvdyBrZXkgWzI0 LDU3NjEsMCwwLDBdIGFuZCB0aGUgaGlnaCBrZXkKK1s1NDgsNTc2MSw1MjQsMCwwXSwgd2hpY2gg bWVhbnMgdGhhdCB3ZSBjYW4gZXhwZWN0IGJsb2NrIDc3MSB0byBjb250YWluIHJlY29yZHMKK3N0 YXJ0aW5nIGF0IHBoeXNpY2FsIGJsb2NrIDI0LCBpbm9kZSA1NzYxLCBvZmZzZXQgemVybzsgYW5k IHRoYXQgb25lIG9mIHRoZQorcmVjb3JkcyBjYW4gYmUgdXNlZCB0byBmaW5kIGEgcmV2ZXJzZSBt YXBwaW5nIGZvciBwaHlzaWNhbCBibG9jayA1NDgsIGlub2RlCis1NzYxLCBhbmQgb2Zmc2V0IDUy NDoKKworLS0tLQoreGZzX2RiPiBhZGRyIHB0cnNbMl0KK3hmc19kYj4gcAorbWFnaWMgPSAweDM0 NTI0ZDQyCitsZXZlbCA9IDAKK251bXJlY3MgPSAxNjgKK2xlZnRzaWIgPSA1CityaWdodHNpYiA9 IDkKK2JubyA9IDYxNjgKK2xzbiA9IDB4MTAwMDAwZDFiCit1dWlkID0gNDAwZjA5MjgtNmI4OC00 YzM3LWFmMWUtY2VmMWY4OTExZjNmCitvd25lciA9IDAKK2NyYyA9IDB4ZDU4ZWZmMGUgKGNvcnJl Y3QpCityZWNzWzEtMTY4XSA9IFtzdGFydGJsb2NrLGJsb2NrY291bnQsb3duZXIsb2Zmc2V0LGV4 dGVudGZsYWcsYXR0cmZvcmssYm1idGJsb2NrXQorMTpbMjQsNTI1LDU3NjEsMCwwLDAsMF0KKzI6 WzI0LDUyNCw1NzYyLDAsMCwwLDBdCiszOlsyNCw1MjMsNTc2MywwLDAsMCwwXQorLi4uCisxNjY6 WzI0LDM2MCw1OTI2LDAsMCwwLDBdCisxNjc6WzI0LDM1OSw1OTI3LDAsMCwwLDBdCisxNjg6WzI0 LDM1OCw1OTI4LDAsMCwwLDBdCistLS0tCisKK09ic2VydmUgdGhhdCB0aGUgZmlyc3QgcmVjb3Jk IGluIHRoZSBibG9jayBzdGFydHMgYXQgcGh5c2ljYWwgYmxvY2sgMjQsIGlub2RlCis1NzYxLCBv ZmZzZXQgemVybywganVzdCBhcyB3ZSBleHBlY3RlZC4gIE5vdGUgdGhhdCB0aGlzIGZpcnN0IHJl Y29yZCBpcyBhbHNvCitpbmRleGVkIGJ5IHRoZSBoaWdoZXN0IGtleSBhcyBwcm92aWRlZCBpbiB0 aGUgbm9kZSBibG9jazsgcGh5c2ljYWwgYmxvY2sgNTQ4LAoraW5vZGUgNTc2MSwgb2Zmc2V0IDUy NCBpcyB0aGUgdmVyeSBsYXN0IGJsb2NrIG1hcHBlZCBieSB0aGlzIHJlY29yZC4gIEZ1cnRoZXJt b3JlLAorbm90ZSB0aGF0IHJlY29yZCAxNjgsIGRlc3BpdGUgYmVpbmcgdGhlIGxhc3QgcmVjb3Jk IGluIHRoaXMgYmxvY2ssIGhhcyBhIGxvd2VyCittYXhpbXVtIGtleSAocGh5c2ljYWwgYmxvY2sg MzgyLCBpbm9kZSA1OTI4LCBvZmZzZXQgMjMpIHRoYW4gdGhlIGZpcnN0IHJlY29yZC4KZGlmZiAt LWdpdCBhL2Rlc2lnbi9YRlNfRmlsZXN5c3RlbV9TdHJ1Y3R1cmUveGZzX2ZpbGVzeXN0ZW1fc3Ry dWN0dXJlLmFzY2lpZG9jIGIvZGVzaWduL1hGU19GaWxlc3lzdGVtX1N0cnVjdHVyZS94ZnNfZmls ZXN5c3RlbV9zdHJ1Y3R1cmUuYXNjaWlkb2MKaW5kZXggNjI1MDJiMy4uMWI4NjU4ZCAxMDA2NDQK LS0tIGEvZGVzaWduL1hGU19GaWxlc3lzdGVtX1N0cnVjdHVyZS94ZnNfZmlsZXN5c3RlbV9zdHJ1 Y3R1cmUuYXNjaWlkb2MKKysrIGIvZGVzaWduL1hGU19GaWxlc3lzdGVtX1N0cnVjdHVyZS94ZnNf ZmlsZXN5c3RlbV9zdHJ1Y3R1cmUuYXNjaWlkb2MKQEAgLTQ4LDYgKzQ4LDggQEAgaW5jbHVkZTo6 b3ZlcnZpZXcuYXNjaWlkb2NbXQogCiBpbmNsdWRlOjptZXRhZGF0YV9pbnRlZ3JpdHkuYXNjaWlk b2NbXQogCitpbmNsdWRlOjpyZWNvbnN0cnVjdGlvbi5hc2NpaWRvY1tdCisKIGluY2x1ZGU6OmNv bW1vbl90eXBlcy5hc2NpaWRvY1tdCiAKIGluY2x1ZGU6Om1hZ2ljLmFzY2lpZG9jW10KQEAgLTY2 LDYgKzY4LDggQEAgaW5jbHVkZTo6YnRyZWVzLmFzY2lpZG9jW10KIAogaW5jbHVkZTo6YWxsb2Nh dGlvbl9ncm91cHMuYXNjaWlkb2NbXQogCitpbmNsdWRlOjpybWFwYnQuYXNjaWlkb2NbXQorCiBp bmNsdWRlOjpqb3VybmFsaW5nX2xvZy5hc2NpaWRvY1tdCiAKIGluY2x1ZGU6OmludGVybmFsX2lu b2Rlcy5hc2NpaWRvY1tdCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwp4ZnMgbWFpbGluZyBsaXN0Cnhmc0Bvc3Muc2dpLmNvbQpodHRwOi8vb3NzLnNnaS5j b20vbWFpbG1hbi9saXN0aW5mby94ZnMK