T24gV2VkbmVzZGF5IDE5IEZlYnJ1YXJ5IDIwMTQgMDI6MDQ6NTEgQWFyb24gSi4gU2VpZ28gd3Jv dGU6Cj4gaGkuLi4KPiAKPiBhcyB0aGUgb3RoZXIgdGhyZWFkIGlzIGEgYml0IHNwcmVhZCBvdXQg aW4gdGVybXMgb2YgdG9wb2ljLCBpIHRob3VnaHQgaeKAmWQKPiBzdGFydCBhZnJlc2ggYW5kIHRy eSB0byBjb2xsZWN0IHRoZSBpbXBsaWNhdGlvbnMgaW4gb25lIGV4aGF1c3RpdmUgbGlzdAo+IChp dOKAmXMgbG9uZyAuLiBzb3JyeSA6LykKPiAKPiA9PSBUaGlzIGlzIGEgam91cm5leSA9PQo+IAo+ IFRoaXMgd2lsbCB0YWtlIGEgbG9uZyB0aW1lIHRvIGNvbW11bmljYXRlLCBubyBtYXR0ZXIgd2hh dCBoYXBwZW5zOiBuYW1lCj4gY2hhbmdlIG9yIG5vdC4gSSBleHBlY3QgNiBtb250aHMgb2YgY29u c2lzdGVudCBtZXNzYWdpbmcgaXMgYSBiYXJlIG1pbmltdW0sCj4gYW5kIGl0IHdpbGwgbGlrZWx5 IHRha2UgbG9uZ2VyLiBUaGlzIGlzIG5vdCBhIG9uZS10aW1lIGNvbW11bmljYXRpb24KPiBxdWVz dGlvbiwgYnV0IHNvbWV0aGluZyB0aGF0IHNldHMgdGhlIHRvbmUgZm9yIGEgNiBtb250aCB0cmVr LCBhbmQgd2hpY2gKPiB3aWxsIGVhc2lseSBoYXZlIGltcGxpY2F0aW9ucyBmb3IgdGhlIG5leHQg MysgeWVhcnMuCk5vIGl0IGlzIG5vdC4gV2UgaGF2ZSBiZWVuIHRyeWluZyB0byBoaWRlIE5lcG9t dWsgZm9yIHRoZSBsYXN0IDIgeWVhcnMsIHVwIHRvIApzb21lIGV4dGVuZCB3ZSBoYXZlIHN1Y2Nl ZWQgb24gaXQgc3BlY2lhbGx5IGZvciB0aGUgdXNlcnMgdGhhdCBoYXZlIHN0YXJ0ZWQgCnVzaW5n IHVzIGFyb3VuZCB0aGUgNC4xMCB0byA0LjEyIHJlbGVhc2VzLgoKV2h5IGRvIHdlIG5lZWQgdG8g ZG8gYW55IGNvbW11bmljYXRpb24gYWJvdXQgc29tZXRoaW5nIHdlIGhhdmUgZXN0YWJsaXNoZWQg Cm1hbnkgdGltZXMgKGluY2x1ZGluZyBpbiB0aGUgcHJldmlvdXMgdGhyZWFkKSB0aGF0IGlzIHNv bWV0aGluZyB0ZWNobmljYWw/IEluIAphbnkgY2FzZSBpdCBzaG91bGQgYmUgY29tbXVuaWNhdGVk IHRvIGRldmVsb3BlcnMuCj4gPT0gRXN0YWJsaXNoZWQgaW52ZXN0bWVudCBuZXBvbXVrID09Cj4g Cj4gV2hpbGUgd2XigJl2ZSB0cmllZCB0byBrZWVwIE5lcG9tdWsgb3V0IG9mIHRoZSBkZWZhdWx0 IFVJIGFzIG11Y2ggYXMgcG9zc2libGUsCj4gaXQgc3RpbGwgc2hvd3MgdXAgaW4gcGxhY2VzLiBJ dCBpcyBhbHNvIHJlcXVpcmVkIGZvciB0cm91Ymxlc2hvb3RpbmcsIGFuZAo+IGFzIHN1Y2ggZXhp c3RzIG9uIG91ciBzdXBwb3J0IHdpa2lzLiBXZSBoYXZlIHJlY29nbml6ZWQgdmlzdWFsIGlkZW50 aXR5Cj4gY29tcG9uZW50cyAodGhlIG5lcG9tdWsgbG9nbyBpY29uKSB0aGF0IGhhdmUgYmVlbiBt b3JlIG9yIGxlc3MgdmlzaWJsZSBpbgo+IFBsYXNtYSBmb3Igc29tZSB0aW1lLgpXaGljaCBhcyBz dGF0ZWQgaW4gdGhlIHByZXZpb3VzIHRocmVhZCBicmluZyBnb29kIGFuZCBiYWQgdGhpbmdzLgoK PiBCZWluZyBhYmxlIHRvIGF0dGFjaCB0aGUg4oCcYmlnZ2VyLCBiZXR0ZXIsIGZhc3RlcuKAnSBz dG9yeSBvZiBCYWxvbyB0byBOZXBvbXVrCj4gaXMgYW4gZWFzaWVyIHN0b3J5IHRvIHRlbGwgdGhh biBoYXZpbmcgdG8gZXhwbGFpbiB3aHkgQmFsb28gcmVwbGFjZXMKPiBOZXBvbXVrLiBJdCBhbHNv IGFsbG93cyB1cyB0byBwcmVzZXJ2ZSB0aGUgYWJvdmUgaW52ZXN0bWVudHMgYWxyZWFkeSBtYWRl LgpOZXBvbXVrIDIgaXMgd2F5IGJpZ2dlciwgYmV0dGVyLCBmYXN0ZXIgdGhhbiBOZXBvbXVrIDEs IHlvdSBoYXZlIHRvIHRyeSBpdCEKQmFsb28gaXMgd2F5IGJpZ2dlciwgYmV0dGVyLCBmYXN0ZXIg dGhhbiBOZXBvbXVrISB5b3UgaGF2ZSB0byB0cnkgaXQhCgpBcyBmb3IgZXhwbGFpbmluZyB3aHkg d2UgYXJlIHJlcGxhY2luZyBpdCwgdGhlIHJlYXNvbnMgd2Ugc2hvdWxkIGV4cGxhaW4gCmNoYW5n ZSBkZXBlbmRpbmcgdGhlIHRhcmdldCBhdWRpZW5jZS4KU2ltcGxpc3RpYzoKCUl0IHdhcyBpbXBv c3NpYmxlIHRvIHJlYWNoIGZ1cnRoZXIgaW1wcm92ZW1lbnRzIHdpdGggTmVwb211ayBzbyB3ZSBo YXZlIHRvIAppdGVyYXRlIGFuZCBjb21lIG91dCB3aXRoIHNvbWV0aGluZyBuZXcuCkNvbXBsZXg6 CglBbGwgdGhlIHRlY2h5IHN0dWZmIHlvdSB3YW50IHRvIHB1dCBoZXJlLAo+ID09IEV4aXN0aW5n IOKAnGNvbW1vbiBrbm93bGVkZ2XigJ0gb2Ygd2hhdCBOZXBvbXVrIGlzID09Cj4gCj4gVGhlIGNv cmUgRnJlZSBzb2Z0d2FyZSB1c2VyIGNvbW11bml0eSBrbm93cyB3aGF0IE5lcG9tdWsgaXMgYW5k IGRvZXM6IGZpbGUKPiBpbmRleGluZyBhbmQgZGVza3RvcCBzZWFyY2guIFRoaXMgaXMgbm90IGFj dHVhbGx5IGFjY3VyYXRlLCBidXQgaXQgaXMgdGhlCj4gcHJldmFpbGluZyBjb21tb24gdW5kZXJz dGFuZGluZyBvZiBpdCBzaW5jZSB0aGF0IGlzIHdoYXQgcGVvcGxlIGhhdmUKPiBleHBlcmllbmNl ZCB3aXRoIGl0LiBVc2FnZSBieSBBa29uYWRpIG9yIFBsYXNtYSBBY3RpdmUgaXMgbm90IHdlbGwg a25vd247Cj4gc29tZSBldmVuIGNvbmZ1c2UgS1J1bm5lciB3aXRoIE5lcG9tdWsgc2luY2UgdGhl eSB1c2UgS1J1bm5lciB0byBzZWFyY2ggZm9yCj4gdGhpbmdzICghKQpTb3JyeSBidXQgdGhpcyBw YXJhZ3JhcGggY29udGFpbnMgYSBsb3Qgb2Ygc3ViamVjdGl2ZSBpbmZvcm1hdGlvbiwgaW5jbHVk aW5nIGEgCmRlZmluaXRpb24gdGhhdCB3aWxsIGJlIGRpZmZlcmVudCBvbiBlYWNoIG9mIHVzOiAi VGhlIGNvcmUgRnJlZSBzb2Z0d2FyZSB1c2VyIApjb21tdW5pdHkiLiBXZSBuZWVkIGJldHRlciB0 b29scyB0byBiZSBhYmxlIHRvIHdvcmsgb24gdGhlc2UgdGhpbmdzLgoKPiBJT1csIHBlb3BsZSBo YXZlIGEgdmFndWUgdW5kZXJzdGFuZGluZyBvZiB3aGF0IE5lcG9tdWsgZG9lcy4gSWYgdGhlIGRl dGFpbHMKPiB1bmRlciB0aGUgaG9vZCBjaGFuZ2UsIGl0IHJlYWxseSBkb2VzbuKAmXQgbWF0dGVy LiBSaXNrIG9mIGNvbmZ1c2lvbiBiZWNhdXNlCj4gdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMg Y2hhbmdlIGJ1dCB0aGUgbmFtZSBzdGF5cyB0aGUgc2FtZSwgdGhlcmVmb3JlLAo+IGlzIGxvdy4K KzEwIHRvIHRoaXMuCj4gV2UgYmVuZWZpdCBieSBub3QgaGF2aW5nIHRvIHJlLWV4cGxhaW4gd2hh dCBpdCBpcyBOZXBvbXVrIGRpZCBhbmQgQmFsb28gZG9lcwo+IG5vdy4KVGhpcyBpcyBhIG1hdHRl ciBvZiB3b3JkcywgdGhlIHNhbWUgd2F5IHlvdSBjb3VsZCBleHBsYWluIHdoYXQgYXJlIHRoZSAK ZGlmZmVyZW5jZXMgYmV0d2VlbiBCYWxvbyBhbmQgTmVwb211ayB5b3UgY2FuIGV4cGxhaW4gd2hh dCBhcmUgdGhlIGRpZmZlcmVuY2VzIApiZXR3ZWVuIE5lcG9tdWsgMSBhbmQgMi4gClNvIHlvdSBj YW4gaGF2ZSB0aGUgc2FtZSBwcm9ibGVtIGJvdGggd2F5cywgaXQgaXMgIG1hdHRlciBvZiB3aGF0 IHdvcmRzIHdlIApjaG9vc2UuCj4gSW4gZmFjdCwgYXMgQ2FybCBwb2ludGVkIG91dDogaXQgaXMg cmVhbGx5IGhhcmQgdG8gaW50cm9kdWNlIEJhbG9vCj4gd2l0aG91dCB0YWxraW5nIGFib3V0IE5l cG9tdWsgLi4gd2hpY2ggc2F5cyBhIGxvdC4KQmVjYXVzZSB3ZSBhcmUgcmVwbGFjaW5nIGl0LCBJ IHRoaW5rIHRoaXMgaXMgY29tbW9uIHNlbnNlIChtYXliZSBJJ20gbWlzc2luZyAKc29tZXRoaW5n PykuCj4gPT0gQVBJIGNoYW5nZSA9PQo+IAo+IFNvbWUgaGF2ZSBub3RlZCB0aGF0IHRoZXJlIGhh cyBiZWVuIHNpZ25pZmljYW50IEFQSSBjaGFuZ2VzLiBUaGlzIGlzIHRydWUgLi4KPiBleGNlcHQg Zm9yIHRoZSB3aWRnZXRzLiBLZWVwaW5nIHRoZSBuYW1lIG1ha2VzIHRoYXQgcGFydCBvZiB0aGUg c3RvcnkKPiBlYXNpZXIgdG8gY29tbXVuaWNhdGUsIHNvIHRoZSBxdWVzdGlvbiBpcyB3aGV0aGVy IGl0IGlzIHNpZ25pZmljYW50bHkKPiBlYXNpZXIgdG8gY29tbXVuaWNhdGUgYW4gQVBJIGNoYW5n ZSB3aXRoIGEgbmV3IG5hbWUuCj4gCj4gSWYgd2UgbG9vayBhdCB0aGluZ3MgbGlrZSBQZXJsIDYs IFB5dGhvbiAzIG9yIFF0NCAob3IgUXQyKSwgb3IgZnJhbWV3b3Jrcwo+IGxpa2Ugbm9kZS5qcyBh cyBpdCBldm9sdmVkOiBBUEkgY2hhbmdlcyBhcmUgcGFydCBvZiBsaWZlLiBEZXZlbG9wZXJzIGNo b29zZQo+IGEgZnJhbWV3b3JrIGJhc2VkIG9uIHdoYXQgaXQgZG9lcyAo4oCdZG9lcyB0aGlzIG9w ZW4gemlwIGZpbGVzPyDigJhjYXVzZSBJIG5lZWQKPiB0byBvcGVuIHppcCBmaWxlc+KAnSksIG1h dHVyaXR5LCBjb21taXRtZW50IGJ5IHRoZSB0ZWFtIGJlaGluZCBpdCBhbmQKPiBxdWFsaXR5Lgo+ IAo+IEdpdmVuIHBlb3BsZSBrbm93IHdoYXQgTmVwb211ayBkb2VzLCBrZWVwaW5nIHRoZSBuYW1l IGlzIGEgd2luIHRoZXJlLgpUaGVyZSBhcmUgdmVyeSBmZXcgcGVvcGxlIGluIG91ciBjb21tdW5p dHkgdGhhdCBrbm93IHdoYXQgTmVwb211ayB0ZWNobmljYWxseSAKZG9lcyAoSSdtIG5vdCBpbmNs dWRlZCkuIElmIHlvdSBhcmUgcmVmZXJyaW5nIHRvIGEgaGlnaCBsZXZlbCB2aWV3IG9mIHRoaW5n cyAKdGhlbiB0aGVyZSB3aWxsIGJlIG1hbnkgbWlzY29uY2VwdGlvbnMgc2luY2UgQmFsb28gaXMg c3BlY2lmaWNhbGx5IG5vdCBkb2luZyAKc29tZSBvZiB0aGUgdGhpbmdzIE5lcG9tdWsgd2FzIHVz ZWQgZm9yLCBsaWtlIGJlaW5nIGEgc3RvcmFnZS4KClNvLCB3ZSB3aWxsIGhhdmUgdG8gY2FsbCB0 aGlzIE5lcG9tdWsyIGFuZCBleHBsYWluIGFsbCB0aGUgdGhpbmdzIHdlIG5vIGxvbmdlciAKZG8g d2hpY2ggZm9yIGRldmVsb3BlcnMgaXMgY29uZnVzaW5nIGFuZCBtaXNsZWFkaW5nLgogCj4gPT0g VGhlIFF1YWxpdHkgSHVtcCA9PQo+IAo+IFRoaXMgaXMgYW4gaXNzdWUgZnJvbSBib3RoIHRoZSBl bmQgdXNlciBhbmQgZGV2ZWxvcGVyIHBlcnNwZWN0aXZlLgo+IAo+IE5lcG9tdWsgaGFzIGEgcmVs YXRpdmVseSBwb29yIHJlcHV0YXRpb24gKGZhaXJseSBvciBub3QpLiBLZWVwaW5nIHRoZSBuYW1l Cj4g4oCcTmVwb211a+KAnSB0aGVyZWZvcmUgY2FycmllcyBzb21lIG9mIHRoaXMgbmVnYXRpdml0 eS4gSW4gdGhlIOKAnGtlZXAgdGhlIG5hbWXigJ0KPiBzaXR1YXRpb24gd2UgdGhlbiBoYXZlIHRo ZSBqb2Igb2YgbWFraW5nIHRoZSBjYXNlIGZvciB3aHkvaG93IHRoZSBjdXJyZW50Cj4gd29yayBo YXMgaW1wcm92ZWQgLi4gd2VsbCAuLiBhbnl0aGluZy4KPiAKPiBJZiB3ZSBjaGFuZ2UgdGhlIG5h bWUsIHdlIG5lZWQgdG8gc3RpbGwgZXhwbGFpbiB3aHkvaG93IHRoZSBjdXJyZW50IHdvcmsgaGFz Cj4gaW1wcm92ZWQgYW55dGhpbmcuIFdlIGFsc28gbmVlZCB0byBleHBsYWluIHdoeSBOZXBvbXVr IHdhcyBlbnRpcmVseQo+IGFiYW5kb25lZC4gV2hpY2ggYWxzbyBpbXBsaWVzIOKAnHdoeSB3ZSBz dHVjayB3aXRoIGl0IGZvciBzbyBsb25nIGV2ZW4gdGhvdWdoCj4gaXQgbmVlZHMgYWJhbmRvbmlu ZyIuCkkgY29tcGxldGVseSBhZ3JlZSwgYW5kIHRoYXQgaXMgd2h5IHdlIHNob3VsZCBub3QgY29t bXVuaWNhdGUgYWxsIHRoaXMgaW4gdGhlIAphbm5vdW5jZW1lbnQsIHRoZSBwZW9wbGUgdGhhdCBh Y3R1YWxseSBjYXJlIHdpbGwgbG9vayBhdCAKdGVjaGJhc2UvbWFpbGlzdC9jb2RlL3BsYW5ldC5r ZGUub3JnIHdoZXJlIHRoZXkgd2lsbCBmaW5kIGdvb2QgaW5mb3JtYXRpb24gb2YgCmFsbCB0aGUg d2h5J3MgYW5kIGhvdydzIGFuZC4uLgoKQWdhaW4gKHNvcnJ5IGZvciByZXBlYXRpbmcgdGhpcyBz byBtYW55IHRpbWVzLCBidXQgSSB0aGluayBpdCBpcyBpbXBvcnRhbnQpIHdlIApuZWVkIHRvIGtu b3cgb3VyIGRlbW9ncmFwaGljIGFuZCBvdXIgdGFyZ2V0IGF1ZGllbmNlLgoKPiBTbyBjaGFuZ2lu ZyB0aGUgbmFtZSBkb2VzbuKAmXQgc2F2ZSB1cyBtdWNoIHdvcmsgYXQgYWxsOyBpdCBtYXkgZXZl biBjcmVhdGUKPiAqbW9yZSogd29yay4gVGhlIGN1cnJlbnQgYXJ0aWNsZSBoYXMgYW4gZW50aXJl IHNlY3Rpb24gY2FsbGVkICJXaHkgY2hhbmdlCj4gTmVwb211az/igJ0gVGhhdCBlbnRpcmUgc2Vj dGlvbiBjYW4gcHJldHR5IG11Y2ggYmUgc2NyYXBwZWQgaWYgdGhlIG5hbWUgaXMKPiBrZXB0LiBJ dCBjYW4gYmUgcmVjeWNsZWQgaW50byBhIOKAnGhvdyB0aGlzIG5ldyB2ZXJzaW9uIGlzIGJldHRl cuKAnSBhbmQgbWVyZ2VkCj4gd2l0aCB0aGUgY29udGVudCBjdXJyZW50bHkgdW5kZXIg4oCcQWJv dXQgQmFsb28iCldoaWNoIHdpbGwgcmVzdWx0IGluIHRoZSBzYW1lIGFtb3VudCBvZiB3b3JrIChp ZiBub3QgbW9yZSBzaW5jZSB0aGUgYXJ0aWNsZSBpcyAKYWxyZWFkeSB3cml0dGVuKSA6cAo+ID09 IERlcHJlY2F0aW9uIHN0b3J5ID09Cj4gCj4gU2F5aW5nIOKAnFRoZSBOZXBvbXVrIHByb2plY3Qg aXMgb2ZmaWNpYWxseSBkZXByZWNhdGVk4oCdIGlzIHByZXR0eSBoYXJzaAo+IHNvdW5kaW5nLiBJ dCBsZWF2ZXMgYW4gaW1tZWRpYXRlIHF1ZXN0aW9uOiAnd2hhdCB0byBtb3ZlIHRvIGlmIEnigJlt IHVzaW5nCj4gTmVwb211ayBub3c/4oCZIE9uIHRoZSBvdGhlciBoYW5kLCBwZW9wbGUgYXJlIHF1 aXRlIHVzZWQgdG8gb2xkIHZlcnNpb25zCj4gYmVpbmcgZGVwcmVjYXRlZCAodGhhdOKAmXMgYWxt b3N0IGF4aW9tYXRpYykuIEtlZXBpbmcgdGhlIG5hbWUgbWFrZXMgdGhlCj4gbWlncmF0aW9uIHBh dGggYSBsb3QgbW9yZSBvYnZpb3VzIHdoaWxlIHNvdW5kaW5nIGEgbG90IGxlc3MgbGlrZSB3ZeKA mXJlCj4gYWJhbmRvbmluZyB0aGluZ3MgYW5kIG1vcmUgbGlrZSB3ZeKAmXJlIGV2b2x2aW5nIHRo aW5ncy4KSSBhZ3JlZSwgYW5kIGFnYWluIHRoYXQncyB3aHkgSSB3aWxsIHJlbW92ZSByZWxldmFu Y2UgdG8gdGhpcyBjaGFuZ2UgYW5kIGF2b2lkIApoYXZpbmcgYSBkb3QgYXJ0aWNsZSBleHBsYWlu aW5nIHNvbWV0aGluZyB0aGF0IHNob3VsZCBiZSBoaWRkZW4gdG8gdGhlIHVzZXIuCj4gPT0gTWln cmF0aW9uIFN0b3J5ID09Cj4gCj4gS2VlcGluZyB0aGUgbmFtZSBhbHNvIHNvZnRlbnMgdGhlIG1p Z3JhdGlvbiBzdG9yeS4gQ29tcGFyZToKPiAKPiAiTmVwb211ayBhbmQgQmFsb28gY2FuIGNvZXhp c3Qgd2l0aG91dCBpc3N1ZXMuIEhvd2V2ZXIsIGl0IGlzIG5vdCBvcHRpbWFsIHRvCj4gcnVuIGJv dGggb2YgdGhlbSBvbiB0aGUgc2FtZSBzeXN0ZW0uIFRoZXkgYm90aCB3b3VsZCBiZSBpbmRleGlu ZyBmaWxlcywKPiBlbWFpbHMgYW5kIG90aGVyIGRhdGEsIGR1cGxpY2F0aW5nIGZ1bmN0aW9ucywg dGF4aW5nIHRoZSBzeXN0ZW0KPiB1bm5lY2Vzc2FyaWx5LCBwb3B1bGF0aW5nIGFuZCBzeW5jaHJv bml6aW5nIHRoZWlyIGRhdGFiYXNlcy7igJ0KPiAKPiB3aXRoOgo+IAo+ICJOZXBvbXVrIDEgYW5k IDIgY2FuIGNvZXhpc3Qgd2l0aG91dCBpc3N1ZXMsIGhvd2V2ZXIgaXQgaXMgbm90IHJlY29tbWVu ZGVkCj4gdG8gcnVuIGJvdGggb24gdGhlIHNhbWUgc3lzdGVtLiBEb2luZyBzbyB3b3VsZCByZXN1 bHQgaW4gaW5kZXhpbmcgYWxsCj4gZmlsZXMsIGVtYWlscyBhbmQgb3RoZXIgZGF0YSB0d2ljZSwg ZHVwbGljYXRpbmcgZnVuY3Rpb25zIGFuZCB0YXhpbmcgdGhlCj4gc3lzdGVtIHVubmVjZXNzYXJp bHkgZHVlIHRvIHBvcHVsYXRpbmcgYW5kIHN5bmNocm9uaXppbmcgdHdvIHNlcGFyYXRlCj4gZGF0 YWJhc2VzLuKAnQo+IAo+IG9yCj4gCj4gIktERSBBcHBsaWNhdGlvbnMgYW5kIFBsYXRmb3JtIDQu MTMgd2lsbCBub3Qgc2hpcCB3aXRoIE5lcG9tdWsgYmFzZWQgc2VhcmNoCj4gaW50ZWdyYXRlZC4g TmVwb211ayB3aWxsIHN0aWxsIGJlIGF2YWlsYWJsZSBmb3IgZGlzdHJpYnV0aW9ucyB0byBzaGlw IGFzIGEKPiBzZXBhcmF0ZSBjb21wb25lbnQsIGJ1dCBpdCBpcyByZWNvbW1lbmRlZCB0aGF0IHVz ZXJzIHdobyBkZXBlbmQgb24KPiBhcHBsaWNhdGlvbnMgcmVxdWlyaW5nIHRoZSBvbGQgdmVyc2lv biBvZiBOZXBvbXVrIHRvIGhvbGQgb2ZmIHVwZ3JhZGluZyB0bwo+IFBsYXRmb3JtIDQuMTMgdW50 aWwgdGhlc2UgYXBwbGljYXRpb25zIGhhdmUgYmVlbiBwb3J0ZWQuIExpbnV4IGRpc3RyaWJ1dGlv bnMKPiB3aWxsIG1vc3QgbGlrZWx5IHRha2UgY2FyZSBvZiB0aGlzLCBlbnN1cmluZyB0aGF0IGlm IGFueSBjb21wb25lbnQgbmVlZHMKPiBOZXBvbXVrIGl0IHdpbGwgYmUgaW5zdGFsbGVkIGFuZCBv dGhlcndpc2UsIEJhbG9vIHdpbGwgYmUgcHJvdmlkaW5nIHRoZQo+IHNlYXJjaCBhbmQgc3RvcmFn ZSBjYXBhYmlsaXRpZXMuIgo+IAo+IHdpdGgKPiAKPiDigJxLREUgUGxhdGZvcm0gNC4xMyB3aWxs IHNoaXAgd2l0aCBOZXBvbXVrIDIgaW50ZWdyYXRpb24gb25seS4gTGlrZXdpc2UsIEtERQo+IEFw cGxpY2F0aW9ucyA0LjEzIGhhcyBhbHNvIGJlZW4gdXBncmFkZWQgdG8gdXNlIE5lcG9tdWsgMiBl eGNsdXNpdmVseS4gVGhpcwo+IGNvdmVycyB0aGUgbWFqb3JpdHkgb2YgTmVwb211ayBhcHBsaWNh dGlvbnMgbW9zdCBwZW9wbGUgdXNlLiBIb3dldmVyLCB0aG9zZQo+IHJlbHlpbmcgb24gYXBwbGlj YXRpb25zIHdoaWNoIGhhdmUgbm90IHlldCBiZWVuIHBvcnRlZCB0byBOZXBvbXVrIDIgYXJlCj4g c3Ryb25nbHkgcmVjb21tZW5kZWQgdG8gc3RheSB3aXRoIEtERSBQbGF0Zm9ybSA0LjEyIHVudGls IHRob3NlIGFwcGxpY2F0aW9ucwo+IGFyZSBwb3J0ZWQuIgo+IApJJ20gbm90IGEgbmF0aXZlIHNw ZWFrZXIsIGJ1dCB5b3VyIHBhcmFncmFwaCBjYW4gYmUgZWFzaWx5IGFkYXB0ZWQgdG8gdGhlIApy ZW5hbWluZywgbWFraW5nIGl0IHNvdW5kIGFzIGVhc3kgYW5kIHByb2Zlc3Npb25hbDoKCiJLREUg UGxhdGZvcm0gNC4xMyB3aWxsIHNoaXAgd2l0aCBCYWxvbyBpbnRlZ3JhdGlvbiBvbmx5LiBMaWtl d2lzZSwgS0RFIApBcHBsaWNhdGlvbnMgNC4xMyBoYXMgYWxzbyBiZWVuIHVwZ3JhZGVkIHRvIHVz ZSBCYWxvbyBleGNsdXNpdmVseS4gVGhpcyBjb3ZlcnMgCnRoZSBtYWpvcml0eSBvZiBhcHBsaWNh dGlvbnMgbW9zdCBwZW9wbGUgdXNlLiBIb3dldmVyLCB0aG9zZSBtYWtpbmcgYSBsb3Qgb2YgCnVz ZSBvZiBOZXBvbXVrIGFyZSByZWNvbW1lbmRlZCB0byBzdGF5IGluIEtERSBQbGF0Zm9ybSA0LjEy IHVudGlsIGV2ZXJ5dGhpbmcgCmhhcyBiZWVuIHBvcnRlZC4KClNvIGZvciB0aGUgc2Vjb25kIHRp bWUsIGl0IGlzIGEgbWF0dGVyIG9mIGhvdyB3ZSB1c2Ugd29yZHMsIGFuZCBzbyBmYXIgYWxsIHRo ZSAKZ29vZCB3b3JkcyB5b3UgY2FuIHVzZSB3aXRoIE5lcG9tdWsxLzIgeW91IGNhbiB1c2UgYXMg d2VsbCB3aXRoIHRoZSByZW5hbWluZy4KCj4gPT0gUG9zc2libGUgcG9zdC1iYWxvbyBuYW1lIGNo dXJuID09Cj4gCj4gRnJvbSB0aGUg4oCccGVzc2ltaXN0c+KAnSBkZXBhcnRtZW50OiAqaWYqIEJh bG9vIHdlcmUgbm90IHRvIHdvcmsgb3V0IGFzIHdlIHdhbnQKPiBhbmQgZW5kcyB1cCBiZWluZyBy ZXBsYWNlZCAvIGF1Z21lbnRlZCB3aXRoIHNvbWV0aGluZyBlbHNlIGluIHRoZSBuZXh0Cj4geWVh cnMsIHdl4oCZbGwgaGF2ZSB0aGlzIHdob2xlIG5hbWUgY2hhbmdlIGlzc3VlIGFsbCBvdmVyIGFn YWluIC4uIGFuZCB0aGVuCj4gaXQgd291bGQgYmUgMyBuYW1lIGNoYW5nZXMgZm9yIHRoZSBzYW1l IHRoaW5nLgo+IAo+IChXaGljaCByZW1pbmRzIG1lIG9mIEthdCBhbmQgVGVub3IgOikKPiAKPiBU aGlzIHdpbGwgbGVhZCB0byBLREUgbG9va2luZyBsaWtlIGl0IGNhbuKAmXQgZmlndXJlIG91dCB3 aGF0IGl0IGlzIGRvaW5nIC4uLgo+IHNvcnQgb2YgbGlrZSB0aGUgTGludXggbWlkZGxld2FyZSBu YW1lIGNodXJuIHdoaWNoIGNlcnRhaW5seSBoYXNu4oCZdCBoZWxwZWQKPiB0aGVpciBjYXVzZSBp biBnZXR0aW5nIHBlb3BsZSB0byBhZG9wdCBuZXcgaXRlcmF0aW9ucyB3aXRob3V0IHNjcmVhbWlu Zwo+IGJsb29keSBtdXJkZXIgKGFuZCBmb3JraW5nIGluIHNvbWUgY2FzZXMpClRoaXMgcGFydCBh Ym91dCB0aGUgbWlkZGxlIHdhcmUgaXMgcXVpdGUgdW5mYWlyIGltbywgYW5kICBJIGRlYWwgd2l0 aCB0aGVtIApldmVyeWRheS4uLiBCdXQgbGV0cyBub3Qgb2ZmdG9waWMgdGhlIHRocmVhZC4KCkNo ZWVycy4KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpU aGlzIG1lc3NhZ2UgaXMgZnJvbSB0aGUga2RlLXByb21vIG1haWxpbmcgbGlzdC4KClZpc2l0IGh0 dHBzOi8vbWFpbC5rZGUub3JnL21haWxtYW4vbGlzdGluZm8va2RlLXByb21vIHRvIHVuc3Vic2Ny aWJlLCBzZXQgZGlnZXN0IG9uIG9yIHRlbXBvcmFyaWx5IHN0b3AgeW91ciBzdWJzY3JpcHRpb24u