From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS31976 209.132.180.0/23 X-Spam-Status: No, score=-4.0 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI,T_DKIMWL_WL_HIGH shortcircuit=no autolearn=ham autolearn_force=no version=3.4.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by dcvr.yhbt.net (Postfix) with ESMTP id BBEC11F597 for ; Wed, 18 Jul 2018 20:45:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730460AbeGRVYz (ORCPT ); Wed, 18 Jul 2018 17:24:55 -0400 Received: from mail-sn1nam01on0112.outbound.protection.outlook.com ([104.47.32.112]:23886 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729863AbeGRVYz (ORCPT ); Wed, 18 Jul 2018 17:24:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JxWX5HfBZ+9/C98bQuizMGFl0skiqJZ9axVtgm4M/ds=; b=J05Kb45Wj2yGdwnKnGXyYpl2pwY0Hkb9ZqRHsnNroVcSECIC0SpIzCqVpx7N0dwJ6lGM+SxTSlCMMLRnAlY3Ql53OPb8at0JgCHQK/7IHDmkIVmE+lCqbybA7Bd+GdCYp70fCBtAD07vFRWhp6KUtIJUIBCZMPnQF97fLoL5Rpo= Received: from DM5PR2101MB1016.namprd21.prod.outlook.com (52.132.133.38) by DM5PR2101MB0966.namprd21.prod.outlook.com (52.132.133.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.995.1; Wed, 18 Jul 2018 20:45:14 +0000 Received: from DM5PR2101MB1016.namprd21.prod.outlook.com ([fe80::65fa:bfcd:22b6:7861]) by DM5PR2101MB1016.namprd21.prod.outlook.com ([fe80::65fa:bfcd:22b6:7861%4]) with mapi id 15.20.0995.008; Wed, 18 Jul 2018 20:45:14 +0000 From: Ben Peart To: "git@vger.kernel.org" CC: "gitster@pobox.com" , Ben Peart Subject: [PATCH v1 0/3] [RFC] Speeding up checkout (and merge, rebase, etc) Thread-Topic: [PATCH v1 0/3] [RFC] Speeding up checkout (and merge, rebase, etc) Thread-Index: AQHUHtg6u1yWFEavDUa0Y56FZ9eJhQ== Date: Wed, 18 Jul 2018 20:45:14 +0000 Message-ID: <20180718204458.20936-1-benpeart@microsoft.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [70.33.148.227] x-mailer: git-send-email 2.17.0.gvfs.1.123.g449c066 x-clientproxiedby: DM5PR04CA0032.namprd04.prod.outlook.com (2603:10b6:3:12b::18) To DM5PR2101MB1016.namprd21.prod.outlook.com (2603:10b6:4:a8::38) x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;DM5PR2101MB0966;6:4BI0JiSLSDAgzsuSMlbmt17axhrMskP0itFZ+UP6QxduOPRNmN3034DlxhGmohtKuMSVO/iBYwA6zc6TXttj81aEQCPvG2GCshYD0PD4x1SMKEKQUGVviK4OpEneT+F6oADCLzAjm64TRDddsQfc4nAZYJ0I7aTCpDl5l7CIwamLu4mDgnOMt+k7tayiF88/UuIqgIoNvGYUg5Xjs8NRrniiSdeveEqaXI62X/NsmFBe0vtnVPJ1omfwBX6sX8G6MKbDCYpdB5U9h6zeq128uTnzzQxedT5HkvxyswbI8OFoZujY/+l4Mh1DZLKC8pk2KojWXLtVK5D7+3vJ+OaHoOprTCO6qztacLGzN4HrNHa2mGO8Nb5tJAoCAUEOmKqJrLgSbd/IclSffBKq3bM41XFQIq9Ed1DgRv3j/Rod6/5dvdjd7wRba9OaZ+OJH5th1oQvmfiD9KIUZ3tpSPi4lA==;5:6o2GtGCeyCN7HwqITf67PNy+eWGpyhgsfEEaXwdA+XqiQklxthtI1EsJsXD5SL/bdO1+8xWGJhOeCYp8vEOaLWB28VIAJF2WmCC7F1pjX8D0y/PSNNHjrY6AJ/ki58PyuAjX4xbjn/3fCBDDM5qk0Ju3D0zvU9eQDv1uAlb5PiU=;7:qURHS747kKQfLPRan9kDAgzfJS6YPlK6YvP6lj9LYEv2Xj0KRvVhJOO0vyFV2XKSrxW+iVqcGDmShIaWY1sio38NbggNYoPW19w/EVhwSPJ5PSQECjV14YCdf2PoceW2M2jL48j1Dzbu+jYveJYafnV4pb9IYEdDR2PN46YZESBGo3y4AhevSDXIZBTKrVHEV3HIDdWf7UKZIVohwBecl14/e37LGzBTZbUVblgiUzYlGodFitABoM0JiSbzPt+n x-ms-office365-filtering-correlation-id: 2624fdc1-3ee6-4d42-81a3-08d5ecef5cdb x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(7020095)(4652040)(8989117)(5600067)(711020)(4618075)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7193020);SRVR:DM5PR2101MB0966; x-ms-traffictypediagnostic: DM5PR2101MB0966: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Ben.Peart@microsoft.com; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(166708455590820); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(3002001)(93006095)(93001095)(3231311)(944501410)(52105095)(2018427008)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123564045)(20161123560045)(20161123562045)(6072148)(201708071742011)(7699016);SRVR:DM5PR2101MB0966;BCL:0;PCL:0;RULEID:;SRVR:DM5PR2101MB0966; x-forefront-prvs: 0737B96801 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(39860400002)(136003)(366004)(376002)(346002)(396003)(189003)(199004)(6306002)(2351001)(5640700003)(105586002)(4326008)(6436002)(22452003)(106356001)(52116002)(5250100002)(8936002)(1730700003)(8676002)(81166006)(81156014)(6486002)(478600001)(10290500003)(2616005)(72206003)(966005)(476003)(486006)(66066001)(256004)(107886003)(14444005)(5024004)(6512007)(53936002)(86612001)(99286004)(305945005)(186003)(36756003)(2900100001)(14454004)(25786009)(7736002)(10090500001)(50226002)(1076002)(2501003)(2906002)(68736007)(97736004)(316002)(3846002)(6116002)(54906003)(5660300001)(6916009)(102836004)(26005)(386003)(6506007)(460985005)(2480315003);DIR:OUT;SFP:1102;SCL:1;SRVR:DM5PR2101MB0966;H:DM5PR2101MB1016.namprd21.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: S1HjAXzy7dwBy6EmoMYIG8UdF+iLChuan9vAngXzylKh+vFPglCd4iIbalncsRvdpytwe68xTcJBJL8sSA5yJ2qvoFFFkHQU40+f8aET37GQIdulnUAACKzl8GanmIlapzwEveL0uB0fBmsr4ICzRxf/V+QQcNLdlh8D86nMFa/XMfzSNvOYeniAhZM9qm3ueauzmTe7DTar0cqTBgPcKfXEvr81y/BCeHb4FaQiNvi8wnSkVisW7binDMkrBBpQd0a+wy4F3ywW3w3OkuEp2BN1mZb63aZUGM/5ZYWqRGDmojf+eant4qr/D11ci4BfKpXPDJftdTMoTCTBk0LGod5rdvwdP/LQleXW+XkRIXM= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: <486ABA5CE193F94BBFC2180579078900@namprd21.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2624fdc1-3ee6-4d42-81a3-08d5ecef5cdb X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jul 2018 20:45:14.7802 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR2101MB0966 Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org V2hlbiB3b3JraW5nIGRpcmVjdG9yaWVzIGdldCBiaWcsIGNoZWNrb3V0IHRpbWVzIHN0YXJ0IHRv IHN1ZmZlci4gIEV2ZW4gd2l0aA0KR1ZGUyB2aXJ0dWFsaXphdGlvbiAod2hpY2ggbGltaXRzIGdp dCB0byBvbmx5IGhhdmluZyB0byB1cGRhdGUgdGhvc2UgZmlsZXMNCnRoYXQgaGF2ZSBiZWVuIGNo YW5nZWQgbG9jYWxseSkgd2Xvv71yZSBzZWVpbmcgUDUwIHRpbWVzIGZvciBjaGVja291dCBvZiAz MQ0Kc2Vjb25kcyBhbmQgdGhlIFA4MCB0aW1lIGlzIDQzIHNlY29uZHMuDQoNCkhlcmUgaXMgYSBj aGVja291dCBjb21tYW5kIHdpdGggdHJhY2luZyB0dXJuZWQgb24gdG8gZGVtb25zdHJhdGUgd2hl cmUgdGhlDQp0aW1lIGlzIHNwZW50LiAgTm90ZSwgdGhpcyBpcyBzb21ld2hhdCBvZiBhIO+/vWJl c3QgY2FzZe+/vSBhcyBJ77+9bSBzaW1wbHkNCmNoZWNraW5nIG91dCB0aGUgY3VycmVudCBjb21t aXQ6DQoNCmJlbnBlYXJ0QGd2ZnMtcGVyZiBNSU5HVzY0IC9mL29zL3NyYyAob2ZmaWNpYWwvcnNf ZXNfZGVidWdfZGV2KQ0KJCAvdXNyL3NyYy9naXQvZ2l0LmV4ZSBjaGVja291dA0KMTI6MzE6NTAu NDE5MDE2IHJlYWQtY2FjaGUuYzoyMDA2ICAgICAgIHBlcmZvcm1hbmNlOiAxLjE4MDk2NjgwMCBz OiByZWFkIGNhY2hlIC5naXQvaW5kZXgNCjEyOjMxOjUxLjE4NDYzNiBuYW1lLWhhc2guYzo2MDUg ICAgICAgICBwZXJmb3JtYW5jZTogMC42NjQ1NzUyMDAgczogaW5pdGlhbGl6ZSBuYW1lIGhhc2gN CjEyOjMxOjUxLjIwMDI4MCBwcmVsb2FkLWluZGV4LmM6MTExICAgICBwZXJmb3JtYW5jZTogMC4w MTk4MTE2MDAgczogcHJlbG9hZCBpbmRleA0KMTI6MzE6NTEuMjk0MDEyIHJlYWQtY2FjaGUuYzox NTQzICAgICAgIHBlcmZvcm1hbmNlOiAwLjA5NDUxNTYwMCBzOiByZWZyZXNoIGluZGV4DQoxMjoz MjoyOS43MzEzNDQgdW5wYWNrLXRyZWVzLmM6MTM1OCAgICAgcGVyZm9ybWFuY2U6IDMzLjg4OTg0 MDIwMCBzOiB0cmF2ZXJzZV90cmVlcw0KMTI6MzI6MzcuNTEyNTU1IHJlYWQtY2FjaGUuYzoyNTQx ICAgICAgIHBlcmZvcm1hbmNlOiAxLjU2NDQzODMwMCBzOiB3cml0ZSBpbmRleCwgY2hhbmdlZCBt YXNrID0gMjgNCjEyOjMyOjQ0LjkxODczMCB1bnBhY2stdHJlZXMuYzoxMzU4ICAgICBwZXJmb3Jt YW5jZTogNy4yNDMxNTU2MDAgczogdHJhdmVyc2VfdHJlZXMNCjEyOjMyOjQ0Ljk2NTYxMSBkaWZm LWxpYi5jOjUyNyAgICAgICAgICBwZXJmb3JtYW5jZTogNy4zNzQ3MjkyMDAgczogZGlmZi1pbmRl eA0KV2FpdGluZyBmb3IgR1ZGUyB0byBwYXJzZSBpbmRleCBhbmQgdXBkYXRlIHBsYWNlaG9sZGVy IGZpbGVzLi4uU3VjY2VlZGVkDQoxMjozMjo0Ni44MjQ5ODYgdHJhY2UuYzo0MjAgICAgICAgICAg ICAgcGVyZm9ybWFuY2U6IDU3LjcxNTY1NjAwMCBzOiBnaXQgY29tbWFuZDogJ0M6XGdpdC1zZGst NjRcdXNyXHNyY1xnaXRcZ2l0LmV4ZScgY2hlY2tvdXQNCg0KQ2xlYXJseSwgbW9zdCBvZiB0aGUg dGltZSAoNDEgc2Vjb25kcykgaXMgc3BlbnQgaW4gdGhlIHRyYXZlcnNlX3RyZWVzKCkgY29kZQ0K c28gdGhlIHF1ZXN0aW9uIGlzLCBob3cgY2FuIHdlIHNpZ25pZmljYW50bHkgc3BlZWQgdXAgdGhh dCBwb3J0aW9uIG9mIHRoZQ0KY29tbWFuZD8NCg0KSSBpbnZlc3RpZ2F0ZWQgYSBmZXcgb3B0aW9u cyB3aXRoIGxpbWl0ZWQgc3VjY2VzczoNCg0KT0RCIGNhY2hlDQo9PT09PT09PT0NClNpbmNlIHRy YXZlcnNlX3RyZWVzKCkgaGl0cyB0aGUgT0RCIGZvciBlYWNoIHRyZWUgb2JqZWN0IChvZiB3aGlj aCB0aGVyZSBhcmUNCm92ZXIgNTAwSyBpbiB0aGlzIHJlcG8pIEkgd3JvdGUgYW5kIHRlc3RlZCBo YXZpbmcgYW4gaW4tbWVtb3J5IE9EQiBjYWNoZQ0KdGhhdCBjYWNoZWQgYWxsIHRyZWUgb2JqZWN0 cy4gIFRoaXMgcmVzdWx0ZWQgaW4gYSA+IDUwJSBoaXQgcmF0aW8gKGxhcmdlbHkNCmR1ZSB0byB0 aGUgZmFjdCB3ZSB0cmF2ZXJzZSB0aGUgdHJlZSB0d2ljZSBkdXJpbmcgY2hlY2tvdXQpIGJ1dCBy ZXN1bHRlZCBpbg0Kb25seSBhIG1pbmltYWwgc2F2aW5ncyAoMS4zIHNlY29uZHMpLg0KDQpUcmVl IEdyYXBoIEZpbGUNCj09PT09PT09PT09PT09PQ0KSSBhbHNvIGNvbnNpZGVyZWQgc3RvcmluZyB0 aGUgY29tbWl0IHRyZWUgaW4gYW4gYWx0ZXJuYXRlIHN0cnVjdHVyZSB0aGF0IGlzDQpmYXN0ZXIg dG8gbG9hZC9wYXJzZSAoYWxhIHRoZSBDb21taXQgZ3JhcGgpIGJ1dCB0aGUgY2FjaGUgcmVzdWx0 cyBhbG9uZyB3aXRoDQp0aGUgbmVnbGlnaWJsZSBpbXBhY3Qgb2YgcnVubmluZyBjaGVja291dCBi YWNrIHRvIGJhY2sgKHRodXMgZW5zdXJpbmcgdGhlDQpvYmplY3RzIHdlcmUgY2FjaGVkIGluIG15 IGZpbGUgc3lzdGVtIGNhY2hlKSBtYWRlIG1lIGJlbGlldmUgdGhpcyB3b3VsZCBub3QNCnJlc3Vs dCBpbiBtdWNoIHNhdmluZ3MuIE1JRFggaGFzIGFscmVhZHkgaGVscGVkIG91dCBoZXJlIGdpdmVu IHdlIGVuZCB1cA0Kd2l0aCBhIGxvdCBvZiBwYWNrIGZpbGVzIG9mIGNvbW1pdHMgYW5kIHRyZWVz Lg0KDQpTcGFyc2UgdHJlZSB0cmF2ZXJzYWwNCj09PT09PT09PT09PT09PT09PT09PQ0KV2Xvv712 ZSBzcGVkIHVwIG90aGVyIHBhcnRzIG9mIGdpdCBieSB0YWtpbmcgYWR2YW50YWdlIG9mIHRoZSBl eGlzdGluZw0Kc3BhcnNlLWNoZWNrb3V0L2V4Y2x1ZGVzIGxvZ2ljIHRvIGxpbWl0IHdoYXQgZmls ZXMgZ2l0IGhhcyB0byBjb25zaWRlciB0bw0KdGhvc2UgdGhhdCBoYXZlIGJlZW4gbW9kaWZpZWQg YnkgdGhlIHVzZXIgbG9jYWxseS4gIEkgaGF2ZW7vv710IGJlZW4gYWJsZSB0bw0KdGhpbmsgb2Yg YSB3YXkgdG8gdGFrZSBhZHZhbnRhZ2Ugb2YgdGhhdCB3aXRoIHVucGFjay10cmVlcygpIGFzIHdo ZW4geW91IGFyZQ0KbWVyZ2luZyBuIGNvbW1pdHMsIGEgY2hhbmdlL2NvbmZsaWN0IGNhbiBvY2N1 ciBpbiBhbnkgdHJlZSBvYmplY3Qgc28gdGhleQ0KbXVzdCBhbGwgYmUgdHJhdmVyc2VkLiAgSWYg Se+/vW0gbWlzc2luZyBzb21ldGhpbmcgaGVyZSBhbmQgdGhlcmUgX2lzXyBhIHdheQ0KdG8gZW50 aXJlbHkgc2tpcCBsYXJnZSBwYXJ0cyBvZiB0aGUgdHJlZSwgcGxlYXNlIGxldCBtZSBrbm93ISAg UGxlYXNlIG5vdGUNCnRoYXQgd2Xvv71yZSBhbHJlYWR5IGxpbWl0aW5nIHRoZSBmaWxlcyB0aGF0 IGdpdCBuZWVkcyB0byB1cGRhdGUgaW4gdGhlDQp3b3JraW5nIGRpcmVjdG9yeSB2aWEgc3BhcnNl LWNoZWNrb3V0L2V4Y2x1ZGVzIGJ1dCB0aGUgb3RoZXIvbWVyZ2UgbG9naWMNCnN0aWxsIGV4ZWN1 dGVzIGZvciB0aGUgZW50aXJlIHRyZWUgd2hldGhlciB0aGVyZSBhcmUgZmlsZXMgdG8gdXBkYXRl IG9yIG5vdC4NCg0KTXVsdGktdGhyZWFkaW5nIHVucGFja190cmVlcygpDQo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0NClRoZSBjdXJyZW50IG1vZGVsIG9mIHVucGFja190cmVlcygpIGlz IHRoYXQgYSBzaW5nbGUgdGhyZWFkIHJlY3Vyc2l2ZWx5DQp0cmF2ZXJzZXMgZWFjaCB0cmVlIG9i amVjdCBhcyBpdCBjb21lcyBhY3Jvc3MgaXQuICBPbmUgdGhvdWdodCBJIGhhZCB3YXMgdG8NCm11 bHRpLXRocmVhZCB0aGUgdHJhdmVyc2FsIHNvIHRoYXQgZWFjaCB0cmVlIG9iamVjdCBjb3VsZCBi ZSBwcm9jZXNzZWQgaW4NCnBhcmFsbGVsLiAgVG8gdGVzdCB0aGlzIGlkZWEgb3V0LCBJIHdyb3Rl IGFuIHVuYm91bmRlZA0KTXVsdGktUHJvZHVjdC1NdWx0aS1Db25zdW1lciBxdWV1ZSBhbmQgdGhl biB3cm90ZSBhDQp0cmF2ZXJzZV90cmVlc19wYXJhbGxlbCgpIGZ1bmN0aW9uIHRoYXQgd291bGQg YWRkIGFueSBuZXcgdHJlZSBvYmplY3RzIGludG8NCnRoZSBxdWV1ZSB3aGVyZSB0aGV5IGNhbiBi ZSBwcm9jZXNzZWQgYnkgYSBwb29sIG9mIHdvcmtlciB0aHJlYWRzLiAgRWFjaA0KdGhyZWFkIHdp bGwgd2FrZSB1cCB3aGVuIHRoZXJlIGlzIHdvcmsgaW4gdGhlIHF1ZXVlLCByZW1vdmUgYSB0cmVl IG9iamVjdCwNCnByb2Nlc3MgaXQgYWRkaW5nIGFueSBhZGRpdGlvbmFsIHRyZWUgb2JqZWN0cyBp dCBmaW5kcy4NCg0KTXVsdGktdGhyZWFkaW5nIGFueXRoaW5nIGluIGdpdCBpcyBmcmF1Z2h0IHdp dGggY2hhbGxlbmdlcyBhcyBtdWNoIG9mIHRoZQ0KY29kZSBiYXNlIGlzIG5vdCB0aHJlYWQgc2Fm ZS4gIFRvIG1ha2UgcHJvZ3Jlc3MsIEkgd3JhcHBlZCBtdXRleGVzIGFyb3VuZA0KY29kZSBwYXRo cyB0aGF0IHdlcmUgbm90IHRocmVhZCBzYWZlLiAgVGhlIGVuZCByZXN1bHQgaXMgdGhhdCBJIHdv bu+/vXQNCmluaXRpYWxseSBnZXQgbXVjaCBwYXJhbGxlbGl6YXRpb24gKGR1ZSB0byBtdXRleGVz IGFyb3VuZCBhbGwgdGhlIGV4cGVuc2l2ZQ0Kd29yaykgYnV0IGF0IGxlYXN0IEkgY2FuIHRlc3Qg b3V0IHRoZSBpZGVhIGFuZCByZXNvbHZlIGFueSBvdGhlciBpc3N1ZXMgd2l0aA0Kc3dpdGNoaW5n IGZyb20gYSBzZXJpYWwgdG8gYSBwYXJhbGxlbCBpbXBsZW1lbnRhdGlvbi4gIElmIHRoaXMgd29y a3Mgb3V0LCBJDQpjYW4gdXBkYXRlIG1vcmUgb2YgdGhlIGNvZGUgcGF0aHMgdG8gYmUgdGhyZWFk IHNhZmUgYW5kL29yIG1vdmUgdG8gbW9yZSBmaW5lDQpncmFpbmVkIG11dGV4ZXMgYXJvdW5kIHRo b3NlIHBhdGhzIHRoYXQgYXJlIGRpZmZpY3VsdCB0byBtYWtlIHRocmVhZCBzYWZlLg0KDQpGaW5h bCB0aG91Z2h0cw0KPT09PT09PT09PT09PT0NCg0KVGhlIGF0dGFjaGVkIHNldCBvZiBwYXRjaGVz IGRvbu+/vXQgd29yayEgIEZvciBzb21lIGNvbW1hbmRzIHRoZXkgc3VjY2VlZCBidXQNCknvv71t IGluY2x1ZGluZyB0aGVtIG9ubHkgdG8gbWFrZSBpdCBleHBsaWNpdCB3aGF0IEnvv71tIGN1cnJl bnRseSBpbnZlc3RpZ2F0aW5nLg0KSe+/vWQgYmUgdmVyeSBpbnRlcmVzdGVkIGluIGRlc2lnbiBm ZWVkYmFjayBidXQgZm9ybWF0dGluZy9zcGVsbGluZy93aGl0ZQ0Kc3BhY2UgZXJyb3JzIGFyZSBs ZXNzIHVzZWZ1bCBhdCB0aGlzIGVhcmx5IHN0YWdlIGluIHRoZSBpbnZlc3RpZ2F0aW9uLg0KDQpX aGVuIEkgYnJvdWdodCB1cCB0aGlzIGlkZWEgd2l0aCBzb21lIG90aGVyIGdpdCBjb250cmlidXRv cnMgdGhleSBtZW50aW9uZWQNCnRoYXQgbXVsdGkgdGhyZWFkaW5nIHVucGFja190cmVlcygpIGhh ZCBiZWVuIGRpc2N1c3NlZCBhIGZldyB5ZWFycyBhZ28gb24NCnRoZSBsaXN0IGJ1dCB0aGF0IHRo ZSBpZGVhIHdhcyBkaXNjYXJkZWQuICBUaGV5IGNvdWxkbu+/vXQgcmVtZW1iZXIgZXhhY3RseQ0K d2h5IGl0IHdhcyBkaXNjYXJkZWQgYW5kIG5vbmUgb2YgdXMgaGF2ZSBiZWVuIGFibGUgdG8gZmlu ZCB0aGUgZW1haWwgdGhyZWFkcw0KZnJvbSB0aGF0IGVhcmxpZXIgZGlzY3Vzc2lvbi4gQXMgYSBy ZXN1bHQsIEkgZGVjaWRlZCB0byB3cml0ZSB1cCB0aGlzIFJGQw0KYW5kIHNlZSBpZiB0aGUgZ3Jl YXRlciBnaXQgY29tbXVuaXR5IGhhcyBpZGVhcywgc3VnZ2VzdGlvbnMsIG9yIG1vcmUNCmJhY2tn cm91bmQvaGlzdG9yeSBvbiB3aGV0aGVyIHRoaXMgaXMgYSByZWFzb25hYmxlIHBhdGggdG8gcHVy c3VlIG9yIGlmDQp0aGVyZSBhcmUgb3RoZXIvYmV0dGVyIGlkZWFzIG9uIGhvdyB0byBzcGVlZCB1 cCBjaGVja291dCBlc3BlY2lhbGx5IG9uIGxhcmdlDQpyZXBvcy4NCg0KDQpCYXNlIFJlZjogbWFz dGVyDQpXZWItRGlmZjogaHR0cHM6Ly9naXRodWIuY29tL2JlbnBlYXJ0L2dpdC9jb21taXQvYTAy MmE5MWNlYg0KQ2hlY2tvdXQ6IGdpdCBmZXRjaCBodHRwczovL2dpdGh1Yi5jb20vYmVucGVhcnQv Z2l0IHVucGFja3RyZWVzLXYxICYmIGdpdCBjaGVja291dCBhMDIyYTkxY2ViDQoNCkJlbiBQZWFy dCAoMyk6DQogIGFkZCB1bmJvdW5kZWQgTXVsdGktUHJvZHVjZXItTXVsdGktQ29uc3VtZXIgcXVl dWUNCiAgYWRkIHBlcmZvcm1hbmNlIHRyYWNpbmcgYXJvdW5kIHRyYXZlcnNlX3RyZWVzKCkgaW4g dW5wYWNrX3RyZWVzKCkNCiAgQWRkIGluaXRpYWwgcGFyYWxsZWwgdmVyc2lvbiBvZiB1bnBhY2tf dHJlZXMoKQ0KDQogTWFrZWZpbGUgICAgICAgfCAgIDEgKw0KIGNhY2hlLmggICAgICAgIHwgICAx ICsNCiBjb25maWcuYyAgICAgICB8ICAgNSArDQogZW52aXJvbm1lbnQuYyAgfCAgIDEgKw0KIG1w bWNxdWV1ZS5jICAgIHwgIDQ5ICsrKysrKysrDQogbXBtY3F1ZXVlLmggICAgfCAgODAgKysrKysr KysrKysrKw0KIHVucGFjay10cmVlcy5jIHwgMzE0ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0NCiB1bnBhY2stdHJlZXMuaCB8ICAzMCArKysrKw0KIDgg ZmlsZXMgY2hhbmdlZCwgNDgwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCiBjcmVhdGUg bW9kZSAxMDA2NDQgbXBtY3F1ZXVlLmMNCiBjcmVhdGUgbW9kZSAxMDA2NDQgbXBtY3F1ZXVlLmgN Cg0KDQpiYXNlLWNvbW1pdDogZTMzMzE3NThmMTJkYTIyZjQxMDNlZWM3ZWZlMWI1MzA0YTliZTVl OQ0KLS0gDQoyLjE3LjAuZ3Zmcy4xLjEyMy5nNDQ5YzA2Ng0KDQoNCg==