From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH 2/3] docs: add xen-release-management.pandoc Date: Mon, 31 Jul 2017 12:22:47 +0100 Message-ID: <20170731112248.20670-3-wei.liu2@citrix.com> References: <20170731112248.20670-1-wei.liu2@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dc8mm-0006KH-9g for xen-devel@lists.xenproject.org; Mon, 31 Jul 2017 11:22:56 +0000 In-Reply-To: <20170731112248.20670-1-wei.liu2@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Juergen Gross , Lars Kurth , Julien Grall , Committers , Wei Liu List-Id: xen-devel@lists.xenproject.org QSBkb2N1bWVudCBmb3IgdGhlIHJlbGVhc2UgbWFuYWdlci4KClNpZ25lZC1vZmYtYnk6IFdlaSBM aXUgPHdlaS5saXUyQGNpdHJpeC5jb20+Ci0tLQogZG9jcy9wcm9jZXNzL3hlbi1yZWxlYXNlLW1h bmFnZW1lbnQucGFuZG9jIHwgNTk0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZp bGUgY2hhbmdlZCwgNTk0IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkb2NzL3By b2Nlc3MveGVuLXJlbGVhc2UtbWFuYWdlbWVudC5wYW5kb2MKCmRpZmYgLS1naXQgYS9kb2NzL3By b2Nlc3MveGVuLXJlbGVhc2UtbWFuYWdlbWVudC5wYW5kb2MgYi9kb2NzL3Byb2Nlc3MveGVuLXJl bGVhc2UtbWFuYWdlbWVudC5wYW5kb2MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMC4uYWZkZjU1OTQyOQotLS0gL2Rldi9udWxsCisrKyBiL2RvY3MvcHJvY2Vzcy94ZW4tcmVs ZWFzZS1tYW5hZ2VtZW50LnBhbmRvYwpAQCAtMCwwICsxLDU5NCBAQAorJSBYZW4gUmVsZWFzZSBN YW5hZ2VtZW50CislIFdlaSBMaXUgPDx3ZWkubGl1MkBjaXRyaXguY29tPj4KKyUgUmV2aXNpb24g MQorCisjIE1vdGl2YXRpb24KKworT3ZlciB0aGUgeWVhcnMgd2UgaGF2ZSBoYWQgZGlmZmVyZW50 IHBlb3BsZSBzaWduaW5nIHVwIGFzIHRoZSBSZWxlYXNlIE1hbmFnZXIKK29mIFhlbi4gSXQgd291 bGQgYmUgcmF0aGVyIHdhc3RlZnVsIGlmIGV2ZXJ5IG5ldyBSZWxlYXNlIE1hbmFnZXIgaGFzIHRv IGdvIG92ZXIKK2V2ZXJ5dGhpbmcgYW5kIHRyaXBwZWQgb3ZlciBieSB0aGUgc2FtZSBtaXN0YWtl cyBhZ2FpbiBhbmQgYWdhaW4uCisKK1RoaXMgZmlsZSBpbnRlbmRzIHRvIGRvY3VtZW50IHRoZSBw cm9jZXNzIG9mIG1hbmFnaW5nIGEgWGVuIHJlbGVhc2UuIEl0IGlzCittYWlubHkgd3JpdHRlbiBm b3IgUmVsZWFzZSBNYW5hZ2VyLCBidXQgb3RoZXIgcm9sZXMgKGNvbnRyaWJ1dG9ycywKK21haW50 YWluZXJzIGFuZCBjb21taXR0ZXJzKSBhcmUgYWxzbyBlbmNvdXJhZ2VkIHRvIHJlYWQgdGhpcyBk b2N1bWVudCwgc28KK3RoYXQgdGhleSBjYW4gaGF2ZSBhbiBpZGVhIHdoYXQgdG8gZXhwZWN0IGZy b20gdGhlIFJlbGVhc2UgTWFuYWdlci4KKworIyBYZW4gcmVsZWFzZSBjeWNsZQorCitUaGUgWGVu IGh5cGVydmlzb3IgcHJvamVjdCBub3cgcmVsZWFzZXMgdHdpY2UgYSB5ZWFyLCBhdCB0aGUgYmVn aW5uaW5nIG9mCitKdW5lIGFuZCB0aGUgYmVnaW5uaW5nIG9mIERlY2VtYmVyLiBUaGUgYWN0dWFs IHJlbGVhc2UgZGF0ZSBkZXBlbmRzIG9uIGEgbG90CitvZiBmYWN0b3JzLgorCitXZSBjYW4gcm91 Z2hseSBkaXZpZGUgb25lIHJlbGVhc2UgaW50byB0d28gcGVyaW9kcy4gVGhlIGRldmVsb3BtZW50 IHBlcmlvZAorYW5kIHRoZSBmcmVlemUgcGVyaW9kLiBUaGUgZm9ybWVyIGlzIDQgbW9udGhzIGxv bmcgYW5kIHRoZSBsYXR0ZXIgaXMgYWJvdXQgMgorbW9udGhzIGxvbmcuCisKK0R1cmluZyBkZXZl bG9wbWVudCBwZXJpb2QsIGNvbnRyaWJ1dG9ycyBzdWJtaXQgcGF0Y2hlcyB0byBiZSByZXZpZXdl ZCBhbmQKK2NvbW1pdHRlZCBpbnRvIHhlbi5naXQuIEFsbCBmZWF0dXJlIHBhdGNoZXMgbXVzdCBi ZSBjb21taXR0ZWQgYmVmb3JlIGEgZGF0ZSwKK3doaWNoIGlzIG5vcm1hbGx5IGNhbGxlZCB0aGUg ImN1dC1vZmYgZGF0ZSIsIGFmdGVyIHdoaWNoIHRoZSBmcmVlemUgcGVyaW9kCitzdGFydHMuIFRo ZXJlIHdpbGwgYmUgYSBkYXRlIGJlZm9yZSB3aGljaCBhbGwgcGF0Y2hlcyB0aGF0IHdpc2ggdG8g YmUgbWVyZ2VkCitmb3IgdGhlIHJlbGVhc2Ugc2hvdWxkIGJlIHBvc3RlZCAtLSBpdCBpcyBub3Jt YWxseSBjYWxsZWQgdGhlICJsYXN0IHBvc3RpbmcKK2RhdGUiIGFuZCBpdCBpcyBub3JtYWxseSB0 d28gd2Vla3MgYmVmb3JlIHRoZSAiY3V0LW9mZiBkYXRlIi4KKworRHVyaW5nIGZyZWV6ZSBwZXJp b2QsIHRoZSB0cmVlIGlzIGNsb3NlZCBmb3IgbmV3IGZlYXR1cmVzLiBPbmx5IGJ1ZyBmaXhlcyBh cmUKK2FjY2VwdGVkLiBUaGlzIHBlcmlvZCBjYW4gYmUgc2hvcnRlciBvciBsb25nZXIgdGhhbiAy IG1vbnRocy4gSWYgaXQgZW5kcyB1cAorbG9uZ2VyIHRoYW4gMiBtb250aHMsIGl0IGVhdHMgaW50 byB0aGUgbmV4dCBkZXZlbG9wbWVudCBwZXJpb2QuCisKK0hlcmUgaXMgYSBjb25qdXJlZCB1cCBl eGFtcGxlICh1c2UgYGBgY2FsIDIwMTdgYGAgdG8gZ2V0IGFuIGlkZWEpOgorCisqIERldmVsb3Bt ZW50IHBlcmlvZDogMjAxNyBKdW5lIDExIC0gMjAxNyBTZXB0ZW1iZXIgMjkKKyAgICAqIHRoZSAi Y3V0LW9mZiBkYXRlIiBpcyAyMDE3IFNlcHRlbWJlciAyOQorICAgICogdGhlICJsYXN0IHBvc3Rp bmcgZGF0ZSIgaXMgMjAxNyBTZXB0ZW1iZXIgMTUKKyogRnJlZXplIHBlcmlvZDogMjAxNyBPY3Rv YmVyIDIgLSAyMDE3IERlY2VtYmVyIDcKKyAgICAqIHRoZSBhbnRpY2lwYXRlZCByZWxlYXNlIGRh dGUgaXMgMjAxNyBEZWNlbWJlciA3CisKKyMgVGhlIGRpZmZlcmVudCByb2xlcyBpbiBhIFhlbiBy ZWxlYXNlCisKKyMjIFJlbGVhc2UgTWFuYWdlcgorCitBIHRydXN0ZWQgZGV2ZWxvcGVyIGluIHRo ZSBjb21tdW5pdHkgdGhhdCBvd25zIHRoZSByZWxlYXNlIHByb2Nlc3MuIFRoZSBtYWpvcgorZ29h bCBvZiB0aGUgUmVsZWFzZSBNYW5hZ2VyIGlzIHRvIG1ha2Ugc3VyZSBhIFhlbiByZWxlYXNlIGhh cyBoaWdoIHF1YWxpdHkKK2FuZCBkb2Vzbid0IHNsaXAgdG9vIG11Y2guCisKK1RoZSBSZWxlYXNl IE1hbmFnZXIgd2lsbCBub3Qgc2VlIG11Y2ggd29ya2xvYWQgZHVyaW5nIGRldmVsb3BtZW50IHBl cmlvZCwgYnV0CitleHBlY3RzIHRvIHNlZSBpbmNyZWFzaW5nIHdvcmtsb2FkIGR1cmluZyB0aGUg ZnJlZXplIHBlcmlvZCB1bnRpbCB0aGUgZmluYWwKK3JlbGVhc2UuIEhlIG9yIHNoZSBpcyBleHBl Y3RlZCB0byBrZWVwIHRyYWNrIG9mIGlzc3VlcywgYXJyYW5nZSBSQ3MsCituZWdvdGlhdGUgd2l0 aCByZWxldmFudCBzdGFrZWhvbGRlcnMsIGJhbGFuY2UgdGhlIG5lZWQgZnJvbSB2YXJpb3VzIHBh cnRpZXMKK2FuZCBtYWtlIGRpZmZpY3VsdCBkZWNpc2lvbnMgd2hlbiBuZWNlc3NhcnkuCisKK1Ro ZSBSZWxlYXNlIE1hbmFnZXIgZXNzZW50aWFsbHkgb3ducyB4ZW4tdW5zdGFibGUgYnJhbmNoIGR1 cmluZyB0aGUgZnJlZXplCitwZXJpb2QuIFRoZSBDb21taXR0ZXJzIHdpbGwgYWN0IG9uIHRoZSB3 aXNoZXMgb2YgdGhlIFJlbGVhc2UgTWFuYWdlciBkdXJpbmcKK3RoYXQgdGltZS4KKworIyMgTWFp bnRhaW5lcnMKKworQSBncm91cCBvZiB0cnVzdGVkIGRldmVsb3BlcnMgd2hvIGFyZSByZXNwb25z aWJsZSBmb3IgY2VydGFpbiBjb21wb25lbnRzIGluCit4ZW4uZ2l0LiBUaGV5IGFyZSBleHBlY3Rl ZCB0byByZXNwb25kIHRvIHBhdGNoZXMgLyBxdWVzdGlvbnMgd2l0aCByZWdhcmQgdG8KK3RoZWly IGNvbXBvbmVudHMgaW4gYSB0aW1lbHkgbWFubmVyLCBlc3BlY2lhbGx5IGR1cmluZyB0aGUgZnJl ZXplIHBlcmlvZC4KKworIyMgQ29tbWl0dGVycworCitBIGdyb3VwIG9mIHRydXN0ZWQgbWFpbnRh aW5lcnMgd2hvIGNhbiBjb21taXQgdG8geGVuLmdpdC4gRHVyaW5nIHRoZQorZGV2ZWxvcG1lbnQg d2luZG93IHRoZXkgbm9ybWFsbHkgcHVzaCB0aGluZ3MgYXMgdGhleSBzZWUgZml0LiBEdXJpbmcg dGhlCitmcmVlemUgcGVyaW9kIHRoZXkgdHJhbnNmZXIgeGVuLXVuc3RhYmxlIGJyYW5jaCBvd25l cnNoaXAgYW5kIGFjdCBvbiB0aGUKK3dpc2hlcyBvZiB0aGUgUmVsZWFzZSBNYW5hZ2VyLiBUaGF0 IG5vcm1hbGx5IG1lYW5zIHRoZXkgbmVlZCB0byBoYXZlIGFuCitSZWxlYXNlIEFjayBpbiBvcmRl ciB0byBwdXNoIGEgcGF0Y2guCisKKyMjIENvbnRyaWJ1dG9ycworCitDb250cmlidXRvcnMgYXJl IGFsc28gZXhwZWN0ZWQgdG8gcmVzcG9uZCBxdWlja2x5IHRvIGFueSBpc3N1ZXMgcmVnYXJkaW5n IHRoZQorY29kZSB0aGV5IHN1Ym1pdHRlZCBkdXJpbmcgZGV2ZWxvcG1lbnQgcGVyaW9kLiBGYWls aW5nIHRoYXQsIHRoZSBSZWxlYXNlCitNYW5hZ2VyIG1pZ2h0IGRlY2lkZSB0byByZXZlcnQgdGhl IGNoYW5nZXMsIGRlY2xhcmUgZmVhdHVyZSB1bnN1cHBvcnRlZCBvcgordGFrZSBhbnkgYWN0aW9u IGhlIC8gc2hlIGRlZW1zIGFwcHJvcHJpYXRlLgorCisjIyBUaGUgU2VjdXJpdHkgVGVhbQorCitU aGUgU2VjdXJpdHkgVGVhbSBvcGVyYXRlcyBpbmRlcGVuZGVudGx5LiBUaGUgdmlzaWJpbGl0eSBt aWdodCBiZSByYXRoZXIKK2xpbWl0ZWQgZHVlIHRvIHRoZSBzZW5zaXRpdmUgbmF0dXJlIG9mIHNl Y3VyaXR5IHdvcmsuIFRoZSBiZXN0IGFjdGlvbiB0aGUKK1JlbGVhc2UgTWFuYWdlciBjYW4gdGFr ZSBpcyB0byBzZXQgYXNpZGUgc29tZSB0aW1lIGZvciBwb3RlbnRpYWwgc2VjdXJpdHkKK2lzc3Vl cyB0byBiZSBmaXhlZC4KKworIyMgVGhlIFJlbGVhc2UgVGVjaG5pY2lhbgorCitUaGUgUmVsZWFz ZSBUZWNobmljaWFuIGlzIHRoZSBwZXJzb24gd2hvIHRhZ3MgdmFyaW91cyB0cmVlcywgcHJlcGFy ZXMgdGFyYmFsbAorZXRjLiBIZSBvciBzaGUgYWN0cyBvbiB0aGUgd2lzaGVzIG9mIHRoZSBSZWxl YXNlIE1hbmFnZXIuIFBsZWFzZSBtYWtlIHN1cmUKK3RoZSBjb21tdW5pY2F0aW9uIGlzIGFzIGNs ZWFyIGFzIGl0IGNhbiBiZS4KKworIyMgVGhlIENvbW11bml0eSBNYW5hZ2VyCisKK1RoZSBDb21t dW5pdHkgTWFuYWdlciBvd25zIHhlbnByb2plY3Qub3JnIGluZnJhc3RydWN0dXJlLiBIZSBvciBz aGUgaXMKK3Jlc3BvbnNpYmxlIGZvciB1cGRhdGluZyB2YXJpb3VzIHdlYiBhcmNoaXZlcywgdXBk YXRpbmcgd2lraSBwYWdlcyBhbmQKK2Nvb3JkaW5hdGluZyB3aXRoIHRoZSBQUiBQZXJzb25uZWwu CisKKyMjIFRoZSBQUiBQZXJzb25uZWwKKworVGhleSBhcmUgcmVzcG9uc2libGUgZm9yIGNvb3Jk aW5hdGluZyB3aXRoIGV4dGVybmFsIHJlcG9ydGVycyB0byBwdWJsaXNoIFhlbgorcmVsZWFzZSBh bm5vdW5jZW1lbnQuIFRoZSBSZWxlYXNlIE1hbmFnZXIgc2hvdWxkIGJlIGFic29sdXRlbHkgc3Vy ZSB0aGUKK3JlbGVhc2UgaXMgZ29pbmcgb3V0IG9uIGEgcGFydGljdWxhciBkYXRlIGJlZm9yZSBn aXZpbmcgdGhlbSB0aGUgc2lnbmFsIHRvCitwcm9jZWVkLCBiZWNhdXNlIHRoZXJlIGlzIGEgcG9p bnQgb2Ygbm8gcmV0dXJuIG9uY2UgdGhleSBzY2hlZHVsZSBhIGRhdGUgd2l0aAorZXh0ZXJuYWwg cmVwb3J0ZXJzLgorCisjIFdoYXQgaGFwcGVucyBkdXJpbmcgYSByZWxlYXNlCisKKyMjIERldmVs b3BtZW50IHBlcmlvZAorCitTZW5kIG91dCBtb250aGx5IHVwZGF0ZSBlbWFpbC4gVGhlIGVtYWls IGNvbnRhaW5zIHRoZSB0aW1lbGluZSBvZiB0aGUKK3JlbGVhc2UsIHRoZSBtYWpvciB3b3JrIGl0 ZW1zIGFuZCBhbnkgb3RoZXIgaW5mb3JtYXRpb24gdGhlIFJlbGVhc2UgTWFuYWdlcgorc2VlcyBm aXQuIFJlbWluZGVycyBzaG91bGQgYWxzbyBiZSBzZW50IG9uZSB3ZWVrIGJlZm9yZSBpbXBvcnRh bnQgZGF0ZXMgKHNlZQorYWJvdmUsICJsYXN0IHBvc3RpbmcgZGF0ZSIgYW5kICJjdXQtb2ZmIGRh dGUiKS4gUGxlYXNlIGNvbnNpZGVyIGFkZGluZworcmVsZXZhbnQgZXZlbnRzIHRvIHlvdXIgY2Fs ZW5kYXIuCisKK09jY2FzaW9uYWxseSBjaGVjayB0aGUgc3RhdHVzIG9mIHRoZSB4ZW4tdW5zdGFi bGUgYnJhbmNoLCBtYWtlIHN1cmUgaXQgZ2V0cwordGltZWx5IHB1c2hlcyB0byBtYXN0ZXIuCisK KyMjIEZyZWV6ZSBwZXJpb2QKKworQmVmb3JlIG9yIGF0IHZlcnkgZWFybHkgc3RhZ2Ugb2YgdGhl IGZyZWV6ZSBwZXJpb2QsIGFncmVlIHdpdGggdGhlIENvbW11bml0eQorTWFuYWdlciBhIHNjaGVk dWxlIGZvciBSQyB0ZXN0IGRheXMuCisKK09uY2UgdGhlIGZyZWV6ZSBzdGFydHMsIHRoZSBvd25l cnNoaXAgb2YgeGVuLXVuc3RhYmxlIGJyYW5jaCBhdXRvbWF0aWNhbGx5Cit0cmFuc2ZlcnMgdG8g dGhlIFJlbGVhc2UgTWFuYWdlci4gVGhlIFJlbGVhc2UgTWFuYWdlciBjYW4gc2F5ICJub3QgcmVs ZWFzaW5nCitub3ciIGJlY2F1c2Ugb2YgdG9vIG1hbnkgYnVncywgInVudGlsIHNvbWVvbmUgZml4 ZXMgdGhlc2UiLCBvciAibm8gbW9yZQorcGF0Y2hlcyB1bnRpbCBYLCBZLCBhbmQgWiBoYXBwZW4i LgorCitIZXJlIGlzIGEgbGlzdCBvZiB0aGluZ3MgdG8gZG8gZm9yIG1ha2luZyBSQ3M6CisKKzEu IENoZWNrIHRoZSBzdGF0dXMgb2YgdGhlIHRyZWUuIEFzayB0aGUgUmVsZWFzZSBUZWNobmljaWFu IHRvIG1ha2UgYW4gUkMgaWYKK3RoZSB0cmVlIGlzIGdvb2QuCisKKzIuIFNlbmQgYW4gZW1haWwg dG8geGVuLWRldmVsLCB4ZW4tdXNlcnMgYW5kIHhlbi1hbm5vdW5jZSB0byBhbm5vdW5jZSB0aGUg UkMuCisKKzMuIEJyYW5jaCBhbmQgLyBvciByZW9wZW4gdGhlIHRyZWUgZm9yIGZ1cnRoZXIgZmVh dHVyZSBzdWJtaXNzaW9uIGlmCithcHByb3ByaWF0ZS4KKworNC4gQ29sbGVjdCBhbmQgdHJhY2sg YW55IGlzc3VlcyByZXBvcnRlZCwgZGV0ZXJtaW5lIHRoZWlyIHNldmVyaXR5LCBwcm9kCityZWxl dmFudCBkZXZlbG9wZXJzIGFuZCBtYWludGFpbmVycyB0byBmaXggdGhlIGlzc3Vlcy4KKworNS4g V2hlbiBwYXRjaGVzIHRvIGZpeCBpc3N1ZXMgYXJlIHBvc3RlZCwgZGV0ZXJtaW5lIGlmIHRoZSBw YXRjaGVzIGFyZSBnb29kIHRvCitiZSBpbmNsdWRlZC4KKworNi4gR28gYmFjayB0byAxLgorCitJ dCBpcyBub3JtYWxseSBPSyBpbiB0aGUgZWFybHkgUkNzIHRoYXQgeW91IGhhbmQgYmFjayB4ZW4t dW5zdGFibGUgYnJhbmNoIHRvCitjb21taXR0ZXJzIHNvIHRoYXQgdGhleSBjYW4gY29tbWl0IGJ1 ZyBmaXhlcyBhdCB3aWxsLiBBcyB3ZSBhcHByb2FjaCBsYXRlCitSQ3MsIHRoZSBzdGFuZGFyZCBm b3IgYWNjZXB0aW5nIGEgcGF0Y2ggd2lsbCBnZXQgaGlnaGVyIGFuZCBoaWdoZXIuIFBsZWFzZQor Y29tbXVuaWNhdGUgY2xlYXJseSB3aGVuIGNvbW1pdHRlcnMgY2FuIGNvbW1pdCBhdCB3aWxsIGFu ZCB3aGVuIGZvcm1hbAorUmVsZWFzZSBBY2sgaXMgbmVlZGVkLgorCitBdCB0aGUgc2FtZSB0aW1l LCB3b3JrIHdpdGggdGhlIENvbW11bml0eSBNYW5hZ2VyLCBQUiBQZXJzb25uZWwgYW5kCitDb250 cmlidXRvcnMgdG8gZ2F0aGVyIGEgbGlzdCBvZiBmZWF0dXJlcyBmb3IgdGhlIHJlbGVhc2UuIERp c2N1c3MgdGhlCitzdXBwb3J0IHN0YXR1cyBvZiBuZXcgZmVhdHVyZXMgd2l0aCBzdGFrZWhvbGRl cnMuIEhlbHAgcHJlcGFyZSB0aGUgcHJlc3MKK3JlbGVhc2UsIHdyaXRlIGEgYmxvZyBwb3N0IGZv ciB0aGUgcmVsZWFzZS4KKworMS4gQ29sbGF0ZSBhIGxpc3Qgb2YgbWFqb3IgY2hhbmdlczogdGhp cyBzaG91bGQgYmUgZG9uZSBpbiBjb2xsYWJvcmF0aW9uCitiZXR3ZWVuIFJlbGVhc2UgTWFuYWdl ciwgUFIgUGVyc29ubmVsIGFuZCBrZXkgY29udHJpYnV0b3JzLiBUaGlzIHNob3VsZCAqbm90Kgor YmUgZG9uZSBvbiBhIHB1YmxpYyBtYWlsaW5nIGxpc3QsIHRvIG1pbmltaXplIHRoZSByaXNrIG9m IHJlbGVhc2UgcmVsYXRlZAorbWVkaWEgc3RvcmllcyBiZWluZyBwdWJsaXNoZWQgYmVmb3JlIHRo ZSByZWxlYXNlIGRhdGUuCisKKzIuIFBSIFBlcnNvbm5lbCB3aWxsIGlkZW50aWZ5IGZlYXR1cmUg aGlnaGxpZ2h0cywgYSB0aGVtZSBmb3IgdGhlIHByZXNzCityZWxlYXNlLCBjb21wYW5pZXMgcHJv dmlkaW5nIHN1cHBvcnRpbmcgcXVvdGVzIGZvciB0aGUgcHJlc3MgcmVsZWFzZSBhbmQKK21lZGlh IG91dGxldHMgd2Ugd291bGQgd2FudCB0byByZWFjaCBvdXQgdG8gYW5kIHdpbGwgbWFuYWdlIHRo ZSBjcmVhdGlvbiBvZgordGhlIHByZXNzIHJlbGVhc2UgaW4gcHJpdmF0ZS4KKworMy4gVGhlIENv bW11bml0eSBNYW5hZ2VyIHdpbGwgYWxzbyBkcmFmdCBibG9nIHBvc3Qgd2l0aCB0aGUgaGVscCBv ZiBQUgorUGVyc29ubmVsIGFuZCBSZWxlYXNlIE1hbmFnZXIsIHdoaWNoIHdpbGwgYmUgcHVibGlz aGVkIHVuZGVyIHRoZSBuYW1lIG9mIHRoZQorUmVsZWFzZSBNYW5hZ2VyLgorCis0LiBUaGUgQ29t bXVuaXR5IE1hbmFnZXIgd2lsbCBjcmVhdGUgcmVsZWFzZSByZWxhdGVkIGRvY3VtZW50YXRpb24g c3VjaCBhcworQWNrbm93bGVkZ2VtZW50cywgRmVhdHVyZSBMaXN0LCBNYW4gUGFnZXMgYW5kIFJl bGVhc2UgTm90ZXMgb24gdGhlIHdpa2kKK2FjY2Vzc2libGUgdmlhIGEgcmVsZWFzZSBjYXRlZ29y eS4gVGhpcyBjYW4gYmUgZG9uZSBpbiBwdWJsaWMuCisKKzUuIFBSIFBlcnNvbm5lbCB3aWxsIGdl dCBzdGFrZS1ob2xkZXIgYW5kIEFkdmlzb3J5IEJvYXJkIGFwcHJvdmFsIGZvciB0aGUKK3ByZXNz IHJlbGVhc2UgKDEtMiB3ZWVrcyBiZWZvcmUgdGhlIHJlbGVhc2UpLgorCisKK1doZW4geW91IHRo aW5rIGFsbCBwZW5kaW5nIGlzc3VlcyBhcmUgZml4ZWQgYW5kIFhlbiBpcyByZWFkeSB0byBiZSBy ZWxlYXNlZAorZnJvbSB0aGUgbGFzdCBSQzoKKworMS4gU2VuZCBvdXQgY29tbWl0IG1vcmF0b3Jp dW0gZW1haWxzIHRvIGNvbW1pdHRlcnNALgorCisyLiBDaGVjayBhbGwgdGhlIHRyZWVzIChtaW5p LW9zLCBxZW11LXRyYWQsIHFlbXUteGVuLCBzZWFiaW9zLCBvdm1mIGV0YykuCitUaGV5IGhhdmUg dGhlIGNvcnJlY3QgY29tbWl0cyBhbmQgYWxsIHNlY3VyaXR5IHBhdGNoZXMgYXBwbGllZC4gVGhl cmUgd2lsbCBiZQordG9vbHMgcHJvdmlkZWQuCisKKzMuIE5lZ290aWF0ZSByZWxlYXNlIGRhdGUg b3B0aW9ucyB3aXRoIFBSIHBlcnNvbm5lbC4gVHlwaWNhbGx5IHdlIG5lZWRzIDMtNAorZGF5cyB0 byBsaW5lIHVwIHByZXNzIGJyaWVmaW5ncyB3aXRoIHJlcG9ydGVycyB1bmRlciBlbWJhcmdvLiBQ UiBwZXJzb25uZWwKK3dpbGwgYWxzbyBuZWVkIHRvIGNvbnNpZGVyIGluZHVzdHJ5IGV2ZW50cyB0 byBlbnN1cmUgdGhhdCBQUiBpcyBlZmZlY3RpdmUuIFBSCityZWxlYXNlcyB0eXBpY2FsbHkgZG9u ZSBtaWQtd2VlayAoVHVlc2RheSAtIFRodXJzZGF5KS4KKworNC4gU2VsZWN0IHRoZSByZWxlYXNl IGRhdGUuCisKKzUuIENoZWNrIHdpdGggcmVsZXZhbnQgc3Rha2UtaG9sZGVycyAodHlwaWNhbGx5 IGNvbW11bml0eSBtYW5hZ2VyKSB3aGV0aGVyCit3aWtpIGRvY3VtZW50YXRpb24gYW5kIFBSIGlz IGluIGdvb2Qgc2hhcGUgKGZvciBhbiBleGFtcGxlIHNlZQoraHR0cHM6Ly93aWtpLnhlbnByb2pl Y3Qub3JnL3dpa2kvQ2F0ZWdvcnk6WGVuXzQuOQorPGh0dHBzOi8vd2lraS54ZW5wcm9qZWN0Lm9y Zy93aWtpL0NhdGVnb3J5Olhlbl80Ljk+KQorCis2LiBPYnRhaW4gYSBmb3JtYWwgZ28tYWhlYWQg ZnJvbQorCisgICAgKiB0aGUgQ29tbXVuaXR5IE1hbmFnZXIKKyAgICAqIHRoZSBSZWxlYXNlIFRl Y2huaWNpYW4KKworICAgIEFzayB0aGVtIHRvIGRyeS1ydW4gdGhlaXIgY2hlY2tsaXN0IGFuZCBj b25maXJtIGV2ZXJ5dGhpbmcgaXMgT0suIElmIG5vdCwKKyAgICBhcnJhbmdlIGFub3RoZXIgUkMg YW5kIHJlc3RhcnQgdGhpcyBjaGVja2xpc3QuCisKKzcuIEdpdmUgUFIgUGVyc29ubmVsIGZpbmFs IGdvLWFoZWFkLCBhbmQgaW5zdHJ1Y3QgUmVsZWFzZSBUZWNobmljaWFuIHRvIG1ha2UKK3JlbGVh c2UgZGVsaXZlcmFibGVzICh0YWdzIGFuZCB0YXJiYWxscyAtIHdpbGwgdXN1YWxseSBiZSBpbiBw bGFjZSB0aGUgZGF5CitiZWZvcmUgdGhlIHJlbGVhc2UpLiBBdCB0aGlzIHBvaW50LCBQUiBjb2xs YXRlcmFsIHdpbGwgYmUgc2VudCB0byByZXBvcnRlcnMKKyh0eXBpY2FsbHkgMi0zIHdvcmtpbmcg ZGF5cyBiZWZvcmUgdGhlIHJlbGVhc2UgZGF0ZSkgYW5kIHdlIGNhbm5vdCB1bmRvCitwdWJsaWNh dGlvbnMgd2l0aG91dCBxdWVzdGlvbnMgYmVpbmcgYXNrZWQgYW5kIHJpc2sgb2YgbmVnYXRpdmUg UFIuIEl0IGlzCithY2NlcHRhYmxlIHRvIG1ha2UgYSB4ZW4tZGV2ZWxAIGFubm91bmNlbWVudCAq YmVmb3JlKiB0aGUgUFIgcmVsZWFzZSBkYXRlCisoYmxvZywgeGVuLWFubm91bmNlQCwgcHJlc3Mg cmVsZWFzZSkuCisKKzguIE1ha2UgdGhlIGFubm91bmNlbWVudCBvbiB2YXJpb3VzIG1haWxpbmcg bGlzdCwgcHVibGlzaCB0aGUgYmxvZyBwb3N0LgorCitBbGxvdyBmb3IgY29udGluZ2VuY2llcy4g SXQgaXMgbm90IHVuY29tbW9uIHRoYXQgc29tZSBsYXN0IG1pbnV0ZSAoc2VjdXJpdHkgb3IKK25v dCkgYnVncyBhcmUgZGlzY292ZXJlZC4gVG8gcHJvdmlkZSBhIGZpeCB0YWtlcyB0aW1lLCB0aGUg dGVzdCBvZiB0aGUgZml4Cit3aWxsIGFsc28gdGFrZSB0aW1lLiBBbGxvdyBmb3IgYXQgbGVhc3Qg MSB3ZWVrIGZyb20gZ2V0dGluZyBhIGZpeCB0byBnZXR0aW5nCithIHB1c2guIEZvciBzZWN1cml0 eSBidWdzLCBjb29yZGluYXRlIHdpdGggdGhlIFNlY3VyaXR5IFRlYW0gdG8gYWRqdXN0IHRoZQor ZGF0ZXMgYWNjb3JkaW5nIHRvIG91ciBzZWN1cml0eSBwb2xpY3kuCisKKyMjIEhhbmQgb3ZlciBv ZiBSZWxlYXNlIE1hbmFnZXIgcmVzcG9uc2liaWxpdHkKKworSWYgdGhlcmUgaXMgYSBuZXcgUmVs ZWFzZSBNYW5hZ2VyIGZvciB0aGUgbmV4dCByZWxlYXNlLCBtYWtlIHN1cmUgdGhlCitmb2xsb3dp bmcgdGhpbmdzIGhhcHBlbiBmb3IgdGhlIG5ldyBSZWxlYXNlIE1hbmFnZXIuCisKKzEuIEEgSklS QSAoeGVucHJvamVjdC5hdGxhc3NpYW4ubmV0KSBpcyBjcmVhdGVkIGFuZCBwcm9wZXIgcGVybWlz c2lvbnMgZ3JhbnRlZC4KKzIuIEFjY2VzcyB0byBjb21tdW5pdHkgdGVzdCBpbmZyYXN0cnVjdHVy ZSBpcyBncmFudGVkLgorMy4gQWNjZXNzIHRvIG1haWxpbmcgbGlzdCBtb2RlcmF0aW9uIHBhbmVs IGlzIGdyYW50ZWQuCis0LiBBbiBhY2NvdW50IGZvciBibG9nLnhlbnByb2plY3Qub3JnIGlzIGNy ZWF0ZWQuCis1LiBBbiBhY2NvdW50IGZvciB3aWtpLnhlbnByb2plY3Qub3JnIGlzIGNyZWF0ZWQu CisKKyMgRW1haWwgdGVtcGxhdGVzIGFuZCBzY3JpcHRzCisKK05vdGU6IGlmIHlvdSB3YW50IHNw ZWNpZmljIGFjdGlvbnMgZnJvbSBjb21taXR0ZXJzLCBwbGVhc2UgbWFrZSBzdXJlIHlvdSBDQwor Y29tbWl0dGVyc0AuCisKKyMjIFJDIGVtYWlscworCitgYGAKK1N1YmplY3Q6IFhlbiBYLlkgcmNa CisKK0hpIGFsbCwKKworWGVuIFguWSByY1ogaXMgdGFnZ2VkLiBZb3UgY2FuIGNoZWNrIHRoYXQg b3V0IGZyb20geGVuLmdpdDoKKworZ2l0Oi8veGVuYml0cy54ZW4ub3JnL3hlbi5naXQgWC5ZLjAt cmNaCisKK0ZvciB5b3VyIGNvbnZlbmllbmNlIHRoZXJlIGlzIGFsc28gYSB0YXJiYWxsIGF0Ogor aHR0cHM6Ly9kb3dubG9hZHMueGVucHJvamVjdC5vcmcvcmVsZWFzZS94ZW4vWC5ZLjAtcmNaL3hl bi1YLlkuMC1yY1oudGFyLmd6CisKK0FuZCB0aGUgc2lnbmF0dXJlIGlzIGF0OgoraHR0cHM6Ly9k b3dubG9hZHMueGVucHJvamVjdC5vcmcvcmVsZWFzZS94ZW4vWC5ZLjAtcmNaL3hlbi1YLlkuMC1y Y1oudGFyLmd6LnNpZworCitQbGVhc2Ugc2VuZCBidWcgcmVwb3J0cyBhbmQgdGVzdCByZXBvcnRz IHRvIHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZy4KK1doZW4gc2VuZGluZyBidWcgcmVw b3J0cywgcGxlYXNlIENDIHJlbGV2YW50IG1haW50YWluZXJzIGFuZCBtZQorKGFiY0B4eXouY29t KS4KKworQXMgYSByZW1pbmRlciwgdGhlcmUgd2lsbCBiZSBhbm90aGVyIFhlbiBUZXN0IERheS4K KworU2VlIGluc3RydWN0aW9ucyBvbjogVVJMX1RPX1RFU1RfSU5TVFJVQ1RJT05TCitgYGAKKwor IyMgRm9yZWdvIGNvbnRyb2wgb2YgdGhlIHRyZWUKKworYGBgCitTdWJqZWN0OiBObyBSZWxlYXNl IEFjayBuZWVkZWQgYmVmb3JlIFJjWAorCitDb21taXR0ZXJzLAorCitUaGUgdHJlZSBpcyBpbiBn b29kIHN0YXRlLiBObyByZWxlYXNlIGFjayBpcyBuZWVkZWQgYmVmb3JlIFJjWC4gUGxlYXNlIGNv bW1pdAorYnVnIGZpeGVzIGF0IHdpbGwuCisKKyRSTQorYGBgCisKKyMjIENvbW1pdCBtb3JhdG9y aXVtCisKK2BgYAorU3ViamVjdDogQ29tbWl0IG1vcmF0b3JpdW0gZm9yICRSRUFTT04KKworQ29t bWl0dGVycywKKworUGxlYXNlIGRvbid0IHB1c2ggYW55IG5ldyBwYXRjaCB0byBzdGFnaW5nIGJl Y2F1c2UgJFJFQVNPTi4KKworQW5vdGhlciBlbWFpbCB3aWxsIGJlIHNlbnQgb25jZSB0aGUgbW9y YXRvcml1bSBpcyBsaWZ0ZWQuCisKKyRSTQorYGBgCisKKyMjIExpZnQgY29tbWl0IG1vcmF0b3Jp dW0KKworYGBgCitTdWJqZWN0OiBDb21taXQgbW9yYXRvcml1bSBpcyBsaWZ0ZWQgZm9yICRSRUFT T04KKworQ29tbWl0dGVycywKKworVGhlIGNvbW1pdCBtb3JhdG9yaXVtIGlzIGxpZnRlZCwgcGxl YXNlIGNvbW1pdCBwYXRjaGVzIHRoYXQgYXJlIGFscmVhZHkKK1JlbGVhc2UtYWNrZWQuCisKKyRS TQorYGBgCisKKyMjIFJlbWluZGVyIG9mIGxhc3QgcG9zdGluZyBkYXRlCisKK2BgYAorU3ViamVj dDogTGFzdCBwb3N0aW5nIGRhdGUgZm9yIFhlbiBYLlkgaXMgJERBVEUKKworSGkgYWxsLAorCitU aGUgbGFzdCBwb3N0aW5nIGRhdGUgZm9yIFhlbiBYLlkgaXMgJERBVEUuIElmIHlvdSB3YW50IHlv dXIgZmVhdHVyZXMgdG8gYmUKK2luY2x1ZGVkIGZvciB0aGUgcmVsZWFzZSwgcGxlYXNlIG1ha2Ug c3VyZSB0aGV5IGFyZSBwb3N0ZWQgZm9yIHRoZSBmaXJzdAordGltZSBiZWZvcmUgJERBVEUuCisK KyRSTQorYGBgCisKKyMjIFJlbWluZGVyIG9mIGN1dC1vZmYgZGF0ZQorCitgYGAKK1N1YmplY3Q6 IEN1dC1vZmYgZGF0ZSBmb3IgWGVuIFguWSBpcyAkREFURQorCitIaSBhbGwsCisKK1RoZSBjdXQt b2ZmIGRhdGUgZm9yIFhlbiBYLlkgaXMgJERBVEUuIElmIHlvdSB3YW50IHlvdXIgZmVhdHVyZXMg dG8gYmUKK2luY2x1ZGVkIGZvciB0aGUgcmVsZWFzZSwgcGxlYXNlIG1ha2Ugc3VyZSB0aGV5IGFy ZSBjb21taXR0ZWQgYnkgJERBVEUuCisKKyRSTQorYGBgCisKKyMjIFJlbGVhc2UgYW5ub3VuY2Vt ZW50CisKK2BgYAorIFN1YmplY3Q6IFtBTk5PVU5DRU1FTlRdIFhlbiBYLlkgaXMgcmVsZWFzZWQK KworIERlYXIgY29tbXVuaXR5IG1lbWJlcnMsCisKKyBJJ20gcGxlYXNlZCB0byBhbm5vdW5jZSB0 aGF0IFhlbiBYLlkuMCBpcyByZWxlYXNlZC4KKworIFBsZWFzZSBmaW5kIHRoZSB0YXJiYWxsIGFu ZCBpdHMgc2lnbmF0dXJlIGF0OgorCisgaHR0cHM6Ly94ZW5wcm9qZWN0Lm9yZy9kb3dubG9hZHMv eGVuLWFyY2hpdmVzL3hlbi1wcm9qZWN0LXh5LXNlcmllcy94ZW4tcHJvamVjdC14eTAuaHRtbAor CisgWW91IGNhbiBhbHNvIGNoZWNrIG91dCB0aGUgdGFnIGluIHhlbi5naXQ6CisKKyAgIGh0dHBz Oi8veGVuYml0cy54ZW4ub3JnL2dpdC1odHRwL3hlbi5naXQgUkVMRUFTRS1YLlkuMAorCisgR2l0 IGNoZWNrb3V0IGFuZCBidWlsZCBpbnN0cnVjdGlvbnMgY2FuIGJlIGZvdW5kIGF0OgorCisgaHR0 cHM6Ly93aWtpLnhlbnByb2plY3Qub3JnL3dpa2kvWGVuX1Byb2plY3RfWC5ZX1JlbGVhc2VfTm90 ZXMjQnVpbGRfUmVxdWlyZW1lbnRzCisKKyBSZWxlYXNlIG5vdGVzIGNhbiBiZSBmb3VuZCBhdDoK KworICAgaHR0cHM6Ly93aWtpLnhlbnByb2plY3Qub3JnL3dpa2kvWGVuX1Byb2plY3RfWC5ZX1Jl bGVhc2VfTm90ZXMKKworIEEgc3VtbWFyeSBmb3IgWC5ZIHJlbGVhc2UgZG9jdW1lbnRzIGNhbiBi ZSBmb3VuZCBhdDoKKworICAgaHR0cHM6Ly93aWtpLnhlbnByb2plY3Qub3JnL3dpa2kvQ2F0ZWdv cnk6WGVuX1guWQorCisgVGVjaG5pY2FsIGJsb2cgcG9zdCBmb3IgWC5ZIGNhbiBiZSBmb3VuZCBh dDoKKworICBVUkxfVE9fQkxPRworCisgVGhhbmtzIGV2ZXJ5b25lIHdobyBjb250cmlidXRlZCB0 byB0aGlzIHJlbGVhc2UuIFRoaXMgcmVsZWFzZSB3b3VsZAorIG5vdCBoYXZlIGhhcHBlbmVkIHdp dGhvdXQgYWxsIHRoZSBhd2Vzb21lIGNvbnRyaWJ1dGlvbnMgZnJvbSBhcm91bmQKKyB0aGUgZ2xv YmUuCisKKyBSZWdhcmRzLAorCisgJFJNIChvbiBiZWhhbGYgb2YgdGhlIFhlbiBQcm9qZWN0IEh5 cGVydmlzb3IgdGVhbSkKK2BgYAorCisKKyMjIFNjcmlwdCB0byBnZW5lcmF0ZSBtb250aHMgdXBk YXRlIGVtYWlscworCitgYGAKKyMhL2Jpbi9iYXNoCisjIFVzZSBzc210cCBmb3Igc2ltcGxpY2l0 eQorIyAuL3N0YXR1cy1yZWxlYXNlLnNoIHwgZm9ybWFpbCAtZiAtcyAvdXNyL3NiaW4vc3NtdHAg LWJtIC10CisKK0ZJTEU9YG1rdGVtcGAKK2NhdCA8PCBFT0YgPiAkRklMRQorCis9PSBIeXBlcnZp c29yID09CisKK1M6IFBlci1jcHUgdGFza2xldAorTzogS29ucmFkIFJ6ZXN6dXRlayBXaWxrCitF OiBrb25yYWQud2lsa0BvcmFjbGUuY29tCitKOiBYRU4tMjgKKworPT09IHg4NiA9PT0KKworPT09 IEFSTSA9PT0KKworPT0gQ29tcGxldGVkID09CisKK1M6CitFT0YKKworCitBV0tfRklMRT1gbWt0 ZW1wYAorY2F0IDw8IEVPRiA+ICRBV0tfRklMRQorQkVHSU4geyBzMl9jb3VudCA9IDE7c2NvcmUg PSAiIjsgZW1haWxzPTE7IGZpcnN0X3RpbWUgPSAxOyBzdWJqZWN0PSIifQorLz09IC8gIHsKKwlp ZiAoIHN1YmplY3QgIT0gIiIgKSAgeworCQlpZiAoc2NvcmUgIT0gIiIpCisJCQlwcmludCAiKiAi LCBzdWJqZWN0LCAgIigic2NvcmUiKSIKKyAgICAgICAgZWxzZSBpZiAodmVyc2lvbiAhPSAiIikK KyAgICAgICAgICAgIHByaW50ICIqICIsIHN1YmplY3QsICIoInZlcnNpb24iKSI7CisgICAgICAg IGVsc2UKKyAgICAgICAgICAgIHByaW50ICIqICIsIHN1YmplY3Q7CisJCWZvciAoaSA9IDE7IGkg PD0gczJfY291bnQ7IGkrKykgeworCQkJaWYgKGkgaW4gczIpCisJCQkJcHJpbnQgIiAiLHMyW2ld OworCQl9CisJCWlmIChidWcgIT0gIiIpCisJCQlwcmludCAiICBMaW5rOiBodHRwczovL2J1Z3Mu eGVucHJvamVjdC5vcmcveGVuL2J1Zy8iYnVnCisJCWlmIChqaXJhICE9ICIiKQorICAgICAgICAg ICAgcHJpbnQgIiAgLSAgImppcmEKKwkJZm9yIChpID0gMTsgaSA8PSBjb3VudDsgaSsrKSB7CisJ CQlpZiAoaSBpbiBvKQorCQkJCXByaW50ICIgIC0iLCBvW2ldCisJCX0KKwkJaWYgKGVtYWlscykK KwkJCXByaW50ICIiCisJCWZpcnN0X3RpbWUgPSAxOworCQlzdWJqZWN0PSIiCisJCWVtYWlsPSIi CisJCXNjb3JlPSIiCisJCWJ1Zz0iIgorICAgICAgICBqaXJhPSIiCisgICAgICAgIHZlcnNpb249 IiIKKwkJY291bnQgPSAxOworCQlzMl9jb3VudCA9IDE7CisJCWRlbGV0ZSBzOworCQlkZWxldGUg czI7CisJCWRlbGV0ZSBvOworCQlkZWxldGUgZTsKKwl9CisJcHJpbnQgXCQwLCJcbiIKKwl9Cisv Oy8geyB9OworL1M6Lwl7CisJaWYgKCAhZmlyc3RfdGltZSApICB7CisJCWlmIChzY29yZSAhPSAi IikKKwkJCXByaW50ICIqICIsIHN1YmplY3QsICAiKCJzY29yZSIpIgorICAgICAgICBlbHNlIGlm ICh2ZXJzaW9uICE9ICIiKQorICAgICAgICAgICAgcHJpbnQgIiogIiwgc3ViamVjdCwgIigidmVy c2lvbiIpIjsKKwkJZWxzZQorCQkJcHJpbnQgIiogIiwgc3ViamVjdAorCQlmb3IgKGkgPSAxOyBp IDw9IHMyX2NvdW50OyBpKyspIHsKKwkJCWlmIChpIGluIHMyKQorCQkJCXByaW50ICIgIixzMltp XTsKKwkJfQorCQlpZiAoYnVnICE9ICIiKQorCQkJcHJpbnQgIiAgTGluazogaHR0cHM6Ly9idWcu eGVucHJvamVjdC5vcmcveGVuL2J1Zy8iYnVnCisJCWlmIChqaXJhICE9ICIiKQorICAgICAgICAg ICAgcHJpbnQgIiAgLSAgImppcmEKKwkJZm9yIChpID0gMTsgaSA8PSBjb3VudDsgaSsrKSB7CisJ CQlpZiAoaSBpbiBvKQorCQkJCXByaW50ICIgIC0iLCBvW2ldCisJCX0KKwkJaWYgKGVtYWlscykK KwkJCXByaW50ICIiCisJfQorCWZpcnN0X3RpbWUgPSAwOworCXN1YihcJDEsICIiKTsKKwlzdWIo L15bIFx0XSsvLCAiIik7CisJc3ViamVjdD1cJDA7CisJZW1haWw9IiIKKwlidWc9IiIKKyAgICBq aXJhPSIiCisJY291bnQgPSAxOworCXMyX2NvdW50ID0gMTsKKwlkZWxldGUgczsKKwlkZWxldGUg czI7CisJZGVsZXRlIG87CisJZGVsZXRlIGU7CisJc2NvcmU9IiI7CisgICAgdmVyc2lvbj0iIjsK Kwl9CisvTzovCXsgc3ViKFwkMSwgIiIpOyBvW2NvdW50KytdPVwkMDsgfTsKKy9TMjovCXsgc3Vi KFwkMSwgIiIpOyBzMltzMl9jb3VudCsrXT1cJDA7fTsKKy9FOi8JeyBzdWIoXCQxLCAiIik7IHN1 YigvXlsgXHRdKy8sICIiKTsgZW1haWw9XCQwOyBlW2VtYWlscysrXT1cJDA7fTsKKy9QOi8JeyBz dWIoXCQxLCAiIik7IHN1YigvXlsgXHRdKy8sICIiKTsgc2NvcmU9XCQwOyB9OworL0I6Lwl7IHN1 YihcJDEsICIiKTsgc3ViKC9eWyBcdF0rLywgIiIpOyBidWc9XCQwOyB9OworL0o6Lwl7IHN1Yihc JDEsICIiKTsgc3ViKC9eWyBcdF0rLywgIiIpOyBqaXJhPVwkMDsgfTsKKy9WOi8gICAgeyBzdWIo XCQxLCAiIik7IHN1YigvXlsgXHRdKy8sICIiKTsgdmVyc2lvbj1cJDA7IH07CitFTkQJeworCX0K Ky8vIHsgIH0KK0VPRgorQVdLX0ZJTEVfRU1BSUw9YG1rdGVtcGAKK2NhdCA8PCBFT0YgPiAkQVdL X0ZJTEVfRU1BSUwKK0JFR0lOIHsgZW1haWxzPTE7fQorL0U6Lwl7CisJc3ViKFwkMSwgIiIpOyBz dWIoL15bIFx0XSsvLCAiIik7CisJZW1haWw9XCQwOworCWZvciAoIGkgPSAxOyBpIDw9IGVtYWls czsgaSsrICkgeworCQlpZiAoaSBpbiBlKSB7CisJCQlpZiAoZVtpXSA9PSBlbWFpbCkgeworCQkJ CWVtYWlsPSIiOworCQkJCWJyZWFrOworCQkJfQorCQl9CisJfQorCWlmIChlbWFpbCAhPSAiIikK KwkJZVtlbWFpbHMrK109ZW1haWw7Cit9CitFTkQJeworCXByaW50ZiAiQmNjOiAiCisJZm9yICgg aSA9IDE7IGkgPD0gZW1haWxzOyBpKysgKQorCQlpZiAoaSBpbiBlKSB7CisJCQlpZiAoaSA9PSBl bWFpbHMgLSAxKQorCQkJCXByaW50ZiAiPCVzPiIsIGVbaV07CisJCQllbHNlCisJCQkJcHJpbnRm ICI8JXM+LCIsIGVbaV07CisJCX0KKwlwcmludCAiIgorCX0KKy8vIHsgIH0KK0VPRgorCitlY2hv ICJGcm9tOiAkUkVMRUFTRV9NQU5BR0VSX05BTUUgPCRSRUxFQVNFX01BTkFHRVJfTUFJTD4iCitl Y2hvICJUbzogeGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnIgorZWNobyAiQ2M6ICRSRUxF QVNFX01BTkFHRVJfTUFJTCIKK2NhdCAkRklMRSB8IGF3ayAtZiAkQVdLX0ZJTEVfRU1BSUwKK3Jt ICRBV0tfRklMRV9FTUFJTAorCitlY2hvICJTdWJqZWN0OiBYZW4gJFJFTEVBU0VfVkVSU0lPTiBE ZXZlbG9wbWVudCBVcGRhdGUiCitQUkU9YG1rdGVtcGAKK2NhdCA8PCBFT0YgPiAkUFJFCisKK1Ro aXMgZW1haWwgb25seSB0cmFja3MgYmlnIGl0ZW1zIGZvciB4ZW4uZ2l0IHRyZWUuIFBsZWFzZSBy ZXBseSBmb3IgaXRlbXMgeW91Cit3b3VsayBsaWtlIHRvIHNlZSBpbiAkUkVMRUFTRV9WRVJTSU9O IHNvIHRoYXQgcGVvcGxlIGhhdmUgYW4gaWRlYSB3aGF0IGlzIGdvaW5nIG9uIGFuZAorcHJpb3Jp dGlzZSBhY2NvcmRpbmdseS4KKworWW91J3JlIHdlbGNvbWUgdG8gcHJvdmlkZSBkZXNjcmlwdGlv biBhbmQgdXNlIGNhc2VzIG9mIHRoZSBmZWF0dXJlIHlvdSdyZQord29ya2luZyBvbi4KKworPSBU aW1lbGluZSA9CisKK1dlIG5vdyBhZG9wdCBhIGZpeGVkIGN1dC1vZmYgZGF0ZSBzY2hlbWUuIFdl IHdpbGwgcmVsZWFzZSB0d2ljZSBhCit5ZWFyLiBUaGUgdXBjb21pbmcgJFJFTEVBU0VfVkVSU0lP TiB0aW1lbGluZSBhcmUgYXMgZm9sbG93ZWQ6CisKKyogTGFzdCBwb3N0aW5nIGRhdGU6ICRSRUxF QVNFX0NVVE9GRgorKiBIYXJkIGNvZGUgZnJlZXplOiAkUkVMRUFTRV9GUkVFWkUKKyogUkMxOiBU QkQKKyogUmVsZWFzZTogJFJFTEVBU0VfREFURQorCitOb3RlIHRoYXQgd2UgZG9uJ3QgaGF2ZSBm cmVlemUgZXhjZXB0aW9uIHNjaGVtZSBhbnltb3JlLiBBbGwgcGF0Y2hlcwordGhhdCB3aXNoIHRv IGdvIGludG8gJFJFTEVBU0VfVkVSU0lPTiBtdXN0IGJlIHBvc3RlZCBubyBsYXRlciB0aGFuIHRo ZSBsYXN0IHBvc3RpbmcKK2RhdGUuIEFsbCBwYXRjaGVzIHBvc3RlZCBhZnRlciB0aGF0IGRhdGUg d2lsbCBiZSBhdXRvbWF0aWNhbGx5IHF1ZXVlZAoraW50byBuZXh0IHJlbGVhc2UuCisKK1JDcyB3 aWxsIGJlIGFycmFuZ2VkIGltbWVkaWF0ZWx5IGFmdGVyIGZyZWV6ZS4KKworV2UgcmVjZW50bHkg aW50cm9kdWNlZCBhIGppcmEgaW5zdGFuY2UgdG8gdHJhY2sgYWxsIHRoZSB0YXNrcyAobm90IG9u bHkgYmlnKQorZm9yIHRoZSBwcm9qZWN0LiBTZWU6IGh0dHBzOi8veGVucHJvamVjdC5hdGxhc3Np YW4ubmV0L3Byb2plY3RzL1hFTi9pc3N1ZXMuCisKK01vc3Qgb2YgdGhlIHRhc2tzIHRyYWNrZWQg YnkgdGhpcyBlLW1haWwgYWxzbyBoYXZlIGEgY29ycmVzcG9uZGluZyBqaXJhIHRhc2sKK3JlZmVy cmVkIGJ5IFhFTi1OLgorCitJIGhhdmUgc3RhcnRlZCB0byBpbmNsdWRlIHRoZSB2ZXJzaW9uIG51 bWJlciBvZiBzZXJpZXMgYXNzb2NpYXRlZCB0byBlYWNoCitmZWF0dXJlLiBDYW4gZWFjaCBvd25l ciBzZW5kIGFuIHVwZGF0ZSBvbiB0aGUgdmVyc2lvbiBudW1iZXIgaWYgdGhlIHNlcmllcword2Fz IHBvc3RlZCB1cHN0cmVhbT8KKworPSBQcm9qZWN0cyA9CisKK0VPRgorCitQT1NUPWBta3RlbXBg CitjYXQgPDxFT0YgPiAkUE9TVAorCitFT0YKKworIyBQcmVhbWJsZQorY2F0ICRQUkUKK3JtICRQ UkUKKyMgQm9keQorY2F0ICRGSUxFIHwgYXdrIC1mICRBV0tfRklMRQorcm0gJEFXS19GSUxFCity bSAkRklMRQorY2F0ICRQT1NUCitybSAkUE9TVAorYGBgCi0tIAoyLjExLjAKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBs aXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2 ZWwK