Recent Updates
  • VGhlIEdvbGRlbiBNYXN0ZXIKClRoZSBsZXR0ZXIgYXJyaXZlZCBvbiBhIFR1ZXNkYXksIHdoaWNoIHdhcyBhbHJlYWR5IHN1c3BpY2lvdXMg4oCUIGxldHRlcnMgbmV2ZXIgYXJyaXZlZCBvbiBUdWVzZGF5cyBpbiBIZW5yeSBQZW1iZXJ0b24ncyBleHBlcmllbmNlLiBUaGV5IGNhbWUgb24gVGh1cnNkYXlzLCBzb21ldGltZXMgRnJpZGF5cywgYWx3YXlzIHdpdGggdGhlIG1lYXN1cmVkIGhlc2l0YXRpb24gb2Ygc29tZW9uZSB3aG8gdW5kZXJzdG9vZCB0aGUgd2VpZ2h0IG9mIHRoZWlyIG93biBjb250ZW50cy4gQnV0IFR1ZXNkYXkgd2FzIGEgZGF5IGZvciByYWluLCBmb3IgbWlzc2VkIHRyYWlucywgZm9yIHRoZSBxdWlldCBlcm9zaW9uIG9mIGV4cGVjdGF0aW9ucy4gSXQgd2FzIG5vdCBhIGRheSBmb3IgbGV0dGVycyBmcm9tIHRoZSBkZWFkLgoKSGVucnkgaGVsZCB0aGUgZW52ZWxvcGUgZm9yIGEgbG9uZyB0aW1lLiBUaGUgcGFwZXIgd2FzIHRoaWNrLCBjcmVhbS1jb2xvdXJlZCwgZXhwZW5zaXZlIOKAlCB0aGUga2luZCBvZiBwYXBlciBwZW9wbGUgdXNlZCB3aGVuIHRoZXkgd2FudGVkIHdoYXRldmVyIHRoZXkgd2VyZSBzYXlpbmcgdG8gZmVlbCBwZXJtYW5lbnQuIEhpcyBuYW1lIHdhcyB3cml0dGVuIGluIGEgaGFuZCBoZSBoYWQgbm90IHNlZW4gaW4gc2V2ZW50ZWVuIHllYXJzLCB5ZXQgaGlzIGJvZHkgcmVtZW1iZXJlZCBpdCB0aGUgd2F5IGEgbGltYiByZW1lbWJlcnMgaXRzIG93biBzaGFwZSBldmVuIGluIHRvdGFsIGRhcmtuZXNzLiBIZSBrbmV3IHRoZSBhbmdsZSBvZiB0aGUgSC4gSGUga25ldyBob3cgdGhlIHBlbiBoZXNpdGF0ZWQgYXQgdGhlIGN1cnZlIG9mIHRoZSBKLiBIZSBrbmV3IGl0IHdhcyBKYXNwZXIuCgoqWW91IGFsd2F5cyB3ZXJlIGJldHRlciBhdCBmaW5pc2hpbmcgb3RoZXIgcGVvcGxlJ3Mgc2VudGVuY2VzKiwgSmFzcGVyIGhhZCBvbmNlIHNhaWQsIGFuZCBIZW5yeSBoYWQgc21pbGVkIGJlY2F1c2UgaXQgd2FzIHRydWUgYW5kIGJlY2F1c2UgaXQgd2FzIHRoZSBvbmx5IHRoaW5nIHRoYXQgaGFkIGV2ZXIgYmVlbiB0cnVlLgoKLS0tCgpUaGV5IGhhZCBtZXQgYXQgYm9hcmRpbmcgc2Nob29sIGluIERldm9uLCB0d28gYm95cyBib3VuZCB0b2dldGhlciBieSB0aGUgcGVjdWxpYXIgY2hlbWlzdHJ5IG9mIGZvcmNlZCBwcm94aW1pdHkgYW5kIHNoYXJlZCBodW1pbGlhdGlvbi4gSmFzcGVyIHdhcyBldmVyeXRoaW5nIEhlbnJ5IHdhcyBub3Qg4oCUIGJyaWdodCwgY2FyZWxlc3MsIGx1bWlub3VzIGluIGEgd2F5IHRoYXQgbWFkZSBvdGhlciBwZW9wbGUgZmVlbCBkaW0gYnkgY29tcGFyaXNvbi4gSGVucnkgd2FzIHByZWNpc2UsIG1ldGhvZGljYWwsIHRoZSBib3kgd2hvIGNvbG91ci1jb2RlZCBoaXMgbm90ZWJvb2tzIGFuZCB1bmRlcmxpbmVkIGV2ZXJ5dGhpbmcgdHdpY2UuIEphc3BlciB3b3JlIGhpcyBoZWFydCBvbiBoaXMgc2xlZXZlOyBIZW5yeSBrZXB0IGhpcyBpbiBhIGxvY2tlZCBkcmF3ZXIgYXQgdGhlIGJvdHRvbSBvZiBoaXMgd2FyZHJvYmUsIGJlaGluZCB0aGUgd29vbCBjb2F0cyB0aGF0IG5ldmVyIGdvdCB3b3JuLgoKVGhleSB3ZXJlLCBpbiBldmVyeSB3YXkgdGhhdCBtYXR0ZXJlZCwgdGhlIGdvbGRlbiBtYXN0ZXIgYW5kIHRoZSBhcHByZW50aWNlLiBKYXNwZXIgY291bGQgd2FsayBpbnRvIGEgcm9vbSBhbmQgbWFrZSBzdHJhbmdlcnMgZmVlbCBsaWtlIG9sZCBmcmllbmRzIHdpdGhpbiBtaW51dGVzLiBIZW5yeSBjb3VsZCByZWFkIGEgcm9vbSB0aGUgd2F5IGEgcGlhbmlzdCByZWFkcyBzaGVldCBtdXNpYyDigJQgZXZlcnkgc2hhZG93LCBldmVyeSBzaWxlbmNlLCBldmVyeSBub3RlIHdhaXRpbmcgdG8gYmUgcGxheWVkLiBKYXNwZXIgY29sbGVjdGVkIHBlb3BsZTsgSGVucnkgY29sbGVjdGVkIGZhY3RzLiBBbmQgZmFjdHMsIEhlbnJ5IGJlbGlldmVkLCB3ZXJlIHNhZmVyLiBGYWN0cyBkaWRuJ3QgbGVhdmUuIEZhY3RzIGRpZG4ndCBjaGFuZ2UgdGhlaXIgbWluZHMgYXQgbWlkbmlnaHQgYW5kIHNlbmQgbGV0dGVycyB5b3UgY291bGRuJ3QgYW5zd2VyLgoKQWZ0ZXIgc2Nob29sLCBKYXNwZXIgdmFuaXNoZWQgaW50byB0aGUgd2lkZSB3b3JsZCB3aXRoIHRoZSBlZmZvcnRsZXNzIGdyYWNlIG9mIHNvbWVvbmUgd2hvIGhhZCBiZWVuIGdpdmVuIGEgbGlmZXRpbWUgdGlja2V0LiBIZSBiZWNhbWUgYSB3cml0ZXIg4oCUIG5vdCB0aGUgcXVpZXQgYWNhZGVtaWMgc29ydCwgYnV0IHRoZSBraW5kIHdobyBmaWxsZWQgaG90ZWwgbG9iYmllcyB3aXRoIGVuZXJneSBhbmQgbGVmdCB0cmFpbHMgb2YgZmluaXNoZWQgbWFudXNjcmlwdHMgYW5kIHVuZmluaXNoZWQgcmVsYXRpb25zaGlwcyBhY3Jvc3MgdGhyZWUgY29udGluZW50cy4gSGVucnkgc3RheWVkLiBIZSB0b29rIGEgcG9zaXRpb24gYXQgYSBzbWFsbCBwdWJsaXNoaW5nIGhvdXNlIGluIEJsb29tc2J1cnksIGNhdGFsb2d1aW5nIG90aGVyIHBlb3BsZSdzIHdvcmRzIHdoaWxlIGhpcyBvd24gYWNjdW11bGF0ZWQgaW4gc2lsZW5jZSwgbGF5ZXIgYnkgc2VkaW1lbnRhcnkgbGF5ZXIsIHVudGlsIHRoZXkgZm9ybWVkIHNvbWV0aGluZyB0aGF0IGxvb2tlZCBsaWtlIHJvY2sgYnV0IHdhcyBhY3R1YWxseSBqdXN0IGdyaWVmIGluIGEgdmVyeSBvcmdhbmlzZWQgc2hhcGUuCgpZZWFycyBwYXNzZWQuIFRoZSBsZXR0ZXJzIGFycml2ZWQgbW9udGhseSwgc29tZXRpbWVzIHdlZWtseSwgYWx3YXlzIHVuc2lnbmVkIGV4Y2VwdCBmb3IgdGhhdCBKIHRoYXQgSGVucnkgY291bGQgcmVhZCBpbiBoaXMgc2xlZXAuIEphc3BlciB3cm90ZSBhYm91dCBldmVyeXRoaW5nIGFuZCBub3RoaW5nIOKAlCB0aGUgc21lbGwgb2YgcmFpbiBpbiBNYXJyYWtlY2gsIHRoZSB3YXkgbGlnaHQgaGl0IHRoZSBEYW51YmUgYXQgZHVzaywgdGhlIHBlY3VsaWFyIHNhZG5lc3Mgb2YgaG90ZWwgYnJlYWtmYXN0IGJ1ZmZldHMgdGhhdCBleGlzdGVkIGluIHBlcnBldHVhbCB0d2lsaWdodCBiZXR3ZWVuIGNvbnRpbmVudHMuIEhlbnJ5IHdyb3RlIGJhY2sgbGVzcyBmcmVxdWVudGx5LCBzaG9ydGVyIGxldHRlcnMsIHNlbnRlbmNlcyB0cmltbWVkIHRvIHRoZWlyIGJhcmVzdCBmdW5jdGlvbmluZy4gSGUgd2FzIHRoZSBhbmNob3I7IEphc3BlciB3YXMgdGhlIHNhaWwuIE5laXRoZXIgY291bGQgbW92ZSB3aXRob3V0IHRoZSBvdGhlciwgdGhvdWdoIG5laXRoZXIgd291bGQgZXZlciBzYXkgc28gYWxvdWQuCgpUaGVuLCB0aHJlZSB5ZWFycyBhZ28sIHRoZSBsZXR0ZXJzIHN0b3BwZWQuCgpIZW5yeSB0b2xkIGhpbXNlbGYgaGUgd2Fzbid0IHdhaXRpbmcuIEhlIHdhcyBub3QgdGhlIHdhaXRpbmcgdHlwZS4gV2FpdGluZyBpbXBsaWVkIGhvcGUsIGFuZCBob3BlIHdhcyBhIGx1eHVyeSBoaXMgcGFydGljdWxhciBicmFuZCBvZiByZWFsaXNtIGNvdWxkbid0IGFmZm9yZC4gQnV0IGhlIGNoZWNrZWQgdGhlIHBvc3Rib3ggb24gVGh1cnNkYXlzIOKAlCB0aGUgdHJhZGl0aW9uYWwgVGh1cnNkYXksIG5vdCBUdWVzZGF5IOKAlCB3aXRoIHRoZSBtZWNoYW5pY2FsIHBlcnNpc3RlbmNlIG9mIGEgbWFuIGNoZWNraW5nIGEgcHVsc2UgdGhhdCBoYWQgYWxyZWFkeSBzdG9wcGVkLiBIZSB0b2xkIGhpbXNlbGYgaXQgd2FzIGhhYml0LiBIZSB0b2xkIGhpbXNlbGYgbWFueSB0aGluZ3MuIFRoZSBtb3N0IHBlcnNpc3RlbnQgb25lIHdhczogKkphc3BlciB3b3VsZCBoYXZlIHdyaXR0ZW4qLiBXaGljaCB3YXMgdHJ1ZSwgYnV0IGl0IGRpZG4ndCBhY2NvdW50IGZvciB0aGUgcG9zc2liaWxpdHkgdGhhdCBKYXNwZXIgbWlnaHQgaGF2ZSB3YW50ZWQgdG8sIGFuZCBmb3VuZCB0aGUgd29yZHMgd2VyZW4ndCBlbm91Z2ggZm9yIHdoYXRldmVyIGl0IHdhcyBoZSBuZWVkZWQgdG8gc2F5LgoKLS0tCgpUaGUgbGV0dGVyIGNvbnRhaW5lZCB0aHJlZSBwYWdlcywgd3JpdHRlbiBpbiB0aGF0IHNhbWUgZnJhbnRpYywgYmVhdXRpZnVsIGhhbmQsIHRoZSBpbmsgdmFyeWluZyBmcm9tIGRlZXAgYmxhY2sgdG8gcGFsZSBncmV5IGFzIHRoZSBwZW4gcmFuIGRyeSBhbmQgSmFzcGVyIHJlZmlsbGVkIGl0IHdpdGggdGhlIGltcGF0aWVudCBlZmZpY2llbmN5IG9mIHNvbWVvbmUgd2hvIHJlZnVzZWQgdG8gYmUgc2xvd2VkIGJ5IG1hdGVyaWFsIGxpbWl0YXRpb25zLgoKKkhlbnJ5LCoKCipZb3UncmUgcmVhZGluZyB0aGlzIG5vdywgYW5kIHlvdSdyZSBwcm9iYWJseSBzdGFuZGluZyBieSB0aGUgd2luZG93IOKAlCB5b3UgYWx3YXlzIHJlYWQgbGV0dGVycyBieSB0aGUgd2luZG93LCBldmVuIHdoZW4gdGhlcmUgd2FzIG5vIHdpbmRvdywgZXZlbiB3aGVuIHlvdSBtYWRlIG9uZSB1cCBpbiByb29tcyB0aGF0IGhhZCBvbmx5IHdhbGxzLiBJIGtub3cgdGhpcyBiZWNhdXNlIEkgd2FzIHRoZXJlLCBhbmQgeW91IGRpZG4ndCBrbm93IEkgd2FzIHRoZXJlLCBhbmQgdGhhdCB3YXMgdGhlIG1vc3QgaG9uZXN0IHRoaW5nIGFib3V0IHVzLioKCipJJ20gd3JpdGluZyB0aGlzIGJlY2F1c2UgSSBoYXZlIHNvbWV0aGluZyB0byB0ZWxsIHlvdSwgYW5kIHRoZSBvbmx5IHBlcnNvbiB3aG8gbmVlZHMgdG8gaGVhciBpdCBpcyB0aGUgcGVyc29uIHdobyBhbHJlYWR5IGtub3dzIGl0IGJ1dCBoYXNuJ3QgZmlndXJlZCBvdXQgaG93IHRvIHNheSBpdCB5ZXQuIFdoaWNoLCBjb21lIHRvIHRoaW5rIG9mIGl0LCBkZXNjcmliZXMgZXZlcnkgY29udmVyc2F0aW9uIHdlIGV2ZXIgaGFkLioKCipZb3UgYXNrZWQgbWUgb25jZSwgYW5kIEkgcmVtZW1iZXIgdGhlIHF1ZXN0aW9uIGJlY2F1c2UgSSB0dXJuZWQgaXQgb3ZlciBpbiBteSBoZWFkIGZvciB3ZWVrcyBhZnRlcndhcmRzLCB3aGV0aGVyIEkgdGhvdWdodCBmcmllbmRzaGlwIHdhcyB0aGUgbW9zdCBpbXBvcnRhbnQgdGhpbmcgaW4gdGhlIHdvcmxkLiBJIHNhaWQgbm8g4oCUIEkgc2FpZCBsb3ZlIHdhcyBtb3JlIGltcG9ydGFudCwgb3IgbWF5YmUgYXJ0LCBvciBtYXliZSBib3RoIG9mIHRoZW0gY29tYmluZWQgaW4gc29tZSBhbGNoZW1pY2FsIHJlY2lwZSBJIGNvdWxkbid0IGFydGljdWxhdGUuIEJ1dCB0aGF0IHdhcyB3cm9uZywgYW5kIEkndmUgYmVlbiB3cm9uZyBhYm91dCBhIGxvdCBvZiB0aGluZ3MsIHdoaWNoIGlzIGl0cyBvd24ga2luZCBvZiBhcnQsIEkgc3VwcG9zZS4qCgoqRnJpZW5kc2hpcCBpcyB0aGUgdGhpbmcgdGhhdCBob2xkcyBsb3ZlIGFuZCBhcnQgYW5kIGV2ZXJ5dGhpbmcgZWxzZSB3aGVuIHRoZXkncmUgZmFsbGluZyBhcGFydC4gSXQncyBub3Qgcm9tYW50aWMuIEl0J3Mgbm90IGRyYW1hdGljLiBJdCBkb2Vzbid0IGdldCB3cml0dGVuIGFib3V0IG11Y2gsIGV4Y2VwdCBieSBwZW9wbGUgd2hvIGFyZSBhY3R1YWxseSB3cml0aW5nIGFib3V0IGl0IGFuZCBkb24ndCBrbm93IGl0IHlldC4qCgoqSSBoYXZlIHNvbWV0aGluZyB0byB0ZWxsIHlvdSwgSGVucnkuIEFuZCB0aGUgc29tZXRoaW5nIGlzIHRoaXM6IEkgd2FzIHlvdXIgZnJpZW5kLiBJIGFtIHlvdXIgZnJpZW5kLiBJIHdpbGwgYmUgeW91ciBmcmllbmQgYWZ0ZXIgeW91IGZpbmlzaCB0aGlzIGxldHRlciBhbmQgc2V0IGl0IGRvd24gYW5kIGxvb2sgYXQgdGhlIHdpbmRvdyBhbmQgcHJldGVuZCB5b3Ugd2VyZW4ndCBleHBlY3RpbmcgaXQgYWxsIGFsb25nLioKCipZb3Ugd2VyZSB0aGUgbW9zdCBob25lc3QgcGVyc29uIEkgZXZlciBrbmV3LiBZb3UganVzdCBkaWRuJ3Qga25vdyBpdCB5ZXQsIGFuZCB0aGF0J3MgdGhlIGpva2UsIGlzbid0IGl0PyBUaGUgZ29sZGVuIG1hc3RlciB3aG8gZG9lc24ndCB1bmRlcnN0YW5kIHRoYXQgdGhlIGdvbGQgd2FzIG5ldmVyIGluIHRoZSBtYXN0ZXJpbmcuIEl0IHdhcyBpbiB0aGUgdHJ5aW5nLiBJdCB3YXMgYWx3YXlzIGluIHRoZSB0cnlpbmcuKgoKKllvdXJzLCBhbHdheXMqCipKKgoKKlAuUy4gVGhlIGxldHRlciBjYW1lIG9uIGEgVHVlc2RheSBiZWNhdXNlIEkgZmluYWxseSB3b3JrZWQgb3V0IHRoZSBwb3N0Y29kZS4gVG9vayBtZSB0aGlydHkgeWVhcnMsIGJ1dCBUdWVzZGF5IGl0IGlzLioKCi0tLQoKSGVucnkgc2F0IGRvd24uIFRoaXMgd2FzIG5vdCBzb21ldGhpbmcgaGUgZGlkIGdyYWNlZnVsbHkg4oCUIGhlIGNvbGxhcHNlZCwgc2xvd2x5LCBpbnRvIHRoZSBuZWFyZXN0IGNoYWlyLCB0aGUgb25lIGJ5IHRoZSB3aW5kb3cgdGhhdCBoZSBoYWQgbWFkZSB1cCBpbiByb29tcyB0aGF0IGhhZCBubyB3aW5kb3csIHRoZSBjaGFpciB3aGVyZSBoZSBoYWQgc2F0IHJlYWRpbmcgbGV0dGVycyB0aGF0IGNhbWUgb24gVGh1cnNkYXlzIGFuZCBzb21ldGltZXMgRnJpZGF5cyBidXQgbmV2ZXIsIGV2ZXIgb24gVHVlc2RheXMuCgpUaGUgcm9vbSB0aWx0ZWQuIE5vdCBwaHlzaWNhbGx5IOKAlCB0aGUgcm9vbSBoYWQgYWx3YXlzIGJlZW4gdGhlIHJvb20sIGEgc21hbGwgZmxhdCBpbiBIb2xsb3dheSB3aXRoIGJvb2tzIHRoYXQgaGFkIGJlZW4gcmVhZCBhbmQgdW5yZWFkIGFuZCByZWFkIGFnYWluLCBzaGVsdmVzIGxhYmVsbGVkIGluIGEgc3lzdGVtIG9ubHkgSGVucnkgdW5kZXJzdG9vZCwgYSBrZXR0bGUgdGhhdCB3aGlzdGxlZCBhdCBleGFjdGx5IDQuMyBtaW51dGVzIGFuZCBubyBvbmUgd2FzIHRoZXJlIHRvIGhlYXIgaXQuIFRoZSByb29tIHdhcyBmaW5lLiBJdCB3YXMgSGVucnkgd2hvIHRpbHRlZCwgd2hvIGxlYW5lZCBzaWRld2F5cyBpbnRvIGEgZ3Jhdml0eSB0aGF0IGhhZCBhbHdheXMgZXhpc3RlZCBidXQgd2hpY2ggaGUgaGFkIHJlZnVzZWQgdG8gYWNrbm93bGVkZ2UsIHRoZSBncmF2aXR5IG9mIGEgZnJpZW5kc2hpcCB0aGF0IGhhZCBoZWxkIGhpcyBlbnRpcmUgbGlmZSB0b2dldGhlciBsaWtlIGxvYWQtYmVhcmluZyB3YWxscyBpbiBhIGhvdXNlIGhlIGhhZG4ndCBrbm93biBoZSB3YXMgbGl2aW5nIGluc2lkZS4KCkhlIHRob3VnaHQgYWJvdXQgYWxsIHRoZSB0aGluZ3MgaGUgaGFkIHNhaWQgd2hlbiBKYXNwZXIgbGVmdC4gKllvdSdsbCBiZSBiYWNrLiogKllvdSBrbm93IHdoZXJlIEkgYW0uKiAqRG9uJ3QgYmUgYSBmb29sLiogVGhlc2Ugd2VyZSBub3QgZ29vZGJ5ZXMuIFRoZXkgd2VyZSBpbnZpdGF0aW9ucyBkcmVzc2VkIHVwIGFzIGNlcnRhaW50eS4gVGhleSB3ZXJlIHRoZSB3b3JkcyBvZiBhIGJveSB3aG8gYmVsaWV2ZWQgdGhhdCBmYWN0cyBjb3VsZCBzdWJzdGl0dXRlIGZvciBmZWVsaW5ncywgdGhhdCBpZiBoZSBqdXN0IGFycmFuZ2VkIHRoZSByaWdodCBkYXRhIHBvaW50cyBpbiB0aGUgcmlnaHQgb3JkZXIsIHRoZSB1bml2ZXJzZSB3b3VsZCBhc3NlbWJsZSBpdHNlbGYgaW50byBzb21ldGhpbmcgbWFuYWdlYWJsZS4KCkphc3BlciBoYWQgbGVmdCBiZWNhdXNlIGhlIGxvdmVkIGhpbS4gQW5kIEhlbnJ5IGhhZCBsZXQgaGltIGdvIGJlY2F1c2UgaGUgbG92ZWQgaGltLiBBbmQgbmVpdGhlciBoYWQgc2FpZCBpdCwgYmVjYXVzZSBzYXlpbmcgaXQgd291bGQgaGF2ZSBtYWRlIGl0IHJlYWwsIGFuZCByZWFsaXR5IHdhcyBzb21ldGhpbmcgdGhleSBoYWQgYmVlbiBidWlsZGluZyB0b2dldGhlciBmb3Igc2V2ZW50ZWVuIHllYXJzIHdpdGhvdXQgZXZlciBhZG1pdHRpbmcgdGhleSB3ZXJlIGJ1aWxkaW5nIGl0LgoKVGhlIHBob25lIHJhbmcuIEhlbnJ5IHN0YXJlZCBhdCBpdC4gSXQgcmFuZyBhZ2Fpbi4gSGUgcGlja2VkIGl0IHVwIHdpdGggdGhlIGNhcmVmdWwgaGVzaXRhdGlvbiBvZiBhIG1hbiBoYW5kbGluZyBzb21ldGhpbmcgZnJhZ2lsZSBhbmQgcG90ZW50aWFsbHkgZXhwbG9zaXZlLgoKIkhlbGxvPyIKCiJIZW5yeT8iIFRoZSB2b2ljZSB3YXMgb2xkZXIsIHJvdWdoZXIsIGJ1dCB1bm1pc3Rha2FibGUuICJJdCdzIG1lLiBJdCdzIEphc3Blci4gSSdtIOKAlCB3ZWxsLCBJJ20gbm90IHdoZXJlIEkgc2FpZCBJJ2QgYmUsIGJ1dCBJJ20gaGVyZSwgYW5kIEkgd2FudGVkIHRvIGhlYXIgeW91ciB2b2ljZSBiZWZvcmUgSeKAlCIKCkhlbnJ5IGNsb3NlZCBoaXMgZXllcy4gSGUgb3BlbmVkIHRoZW0uIFRoZSByb29tIGhhZG4ndCBjaGFuZ2VkLiBUaGUgYm9va3Mgd2VyZSBzdGlsbCBvbiB0aGVpciBzaGVsdmVzLiBUaGUga2V0dGxlIHdhcyBzdGlsbCBzaWxlbnQuIEJ1dCBzb21ldGhpbmcgaGFkIHNoaWZ0ZWQsIHRoZSB3YXkgYSBob3VzZSBzaGlmdHMgd2hlbiB5b3UgZmluYWxseSBub3RpY2UgdGhlIGZvdW5kYXRpb24g4oCUIG5vdCB2aXNpYmx5LCBidXQgaW4gdGhlIHdheSB5b3VyIGJvZHkgdW5kZXJzdGFuZHMgdGhhdCBldmVyeXRoaW5nIHJlc3RzIG9uIHNvbWV0aGluZyB5b3UgaGFkIG1pc3Rha2VuIGZvciBlbXB0eSBzcGFjZS4KCiJKYXNwZXIsIiBIZW5yeSBzYWlkLCBhbmQgaXQgd2FzIG5vdCBhIHF1ZXN0aW9uIGFuZCBub3QgYW4gYW5zd2VyIGFuZCBub3QgYW55dGhpbmcgdGhhdCBjb3VsZCBiZSBjYXRlZ29yaXNlZCwgYW5kIHRoYXQgd2FzIGV4YWN0bHkgd2hhdCBpdCBuZWVkZWQgdG8gYmUuCgoiSSBrbm93IGl0J3MgVHVlc2RheSwiIEphc3BlciBzYWlkLCBhbmQgSGVucnkgbGF1Z2hlZCwgYW5kIHRoZSBsYXVnaCB3YXMgbm90IGdyaWVmIGluIGFuIG9yZ2FuaXNlZCBzaGFwZSBhbnltb3JlLCBpdCB3YXMganVzdCBhIGxhdWdoLCB3aGljaCBpcyB0byBzYXkgaXQgd2FzIGV2ZXJ5dGhpbmcsIGl0IHdhcyB0aGUgc291bmQgb2Ygc2V2ZW50ZWVuIHllYXJzIG9mIHVuc2FpZCB0aGluZ3MgZmluYWxseSBhcnJpdmluZyBhdCB0aGVpciBkZXN0aW5hdGlvbiwgaXQgd2FzIHRoZSBzb3VuZCBvZiBhIGxldHRlciB0aGF0IGhhZCB0cmF2ZWxsZWQgYWNyb3NzIGNvbnRpbmVudHMgYW5kIHRocm91Z2ggc2lsZW5jZSBhbmQgaGFkIGZvdW5kIHRoZSBvbmUgcGVyc29uIHdobyBuZWVkZWQgaXQsIG9uIHRoZSBvbmUgZGF5IG9mIHRoZSB3ZWVrIHRoYXQgbGV0dGVycyBuZXZlciBjYW1lLCBiZWNhdXNlIFR1ZXNkYXlzIGFyZSBmb3IgcmFpbiBhbmQgbWlzc2VkIHRyYWlucyBhbmQgdGhlIHF1aWV0IGVyb3Npb24gb2YgZXhwZWN0YXRpb25zLCB5ZXMsIGJ1dCB0aGV5J3JlIGFsc28gZm9yIGxldHRlcnMgdGhhdCBhcnJpdmUgZXhhY3RseSB3aGVuIHRoZXkncmUgc3VwcG9zZWQgdG8sIGZyb20gaGFuZHMgdGhhdCBrbmV3IHlvdXIgbmFtZSBiZWZvcmUgeW91IGtuZXcgaXQgeW91cnNlbGYuCgoiSSdtIGNvbWluZyBob21lLCBIZW5yeS4gTm90IOKAlCBub3QgdG8gc3RheS4gTm90IHlldC4gQnV0IHRvIGJlIG5lYXIuIElzIHRoYXTigJQiCgoiVGhhdCdzIGV2ZXJ5dGhpbmcsIiBIZW5yeSBzYWlkLgoKQW5kIGl0IHdhcy4gSXQgd2FzIHRoZSBzaW1wbGVzdCBzZW50ZW5jZSBoZSBoYWQgZXZlciBzcG9rZW4sIGFuZCBpdCBjYXJyaWVkIHRoZSB3ZWlnaHQgb2YgZXZlcnkgY29udmVyc2F0aW9uIHRoZXknZCBuZXZlciBoYWQsIGV2ZXJ5IGxldHRlciB1bnNlbnQgYW5kIGV2ZXJ5IGxldHRlciByZWNlaXZlZCwgZXZlcnkgVGh1cnNkYXkgaGUnZCBjaGVja2VkIGEgcG9zdGJveCB0aGF0IHdvdWxkIG5ldmVyIGRlbGl2ZXIgYW55dGhpbmcgb24gYSBUdWVzZGF5LCBldmVyeSBUdWVzZGF5IGhlJ2QgYXNzdW1lZCB3YXMganVzdCBhbm90aGVyIFR1ZXNkYXkgYW5kIHdhc24ndC4KCkphc3BlciB3YXMgc3RpbGwgb3V0IHRoZXJlLCBzb21ld2hlcmUgYmV0d2VlbiBjb250aW5lbnRzIGFuZCBob3RlbCBsb2JiaWVzIGFuZCB0aGUgRGFudWJlIGF0IGR1c2ssIGEgbWFuIG1hZGUgb2YgbHVtaW5vdXMgY2FyZWxlc3NuZXNzIGFuZCBmcmFudGljIGJlYXV0aWZ1bCBoYW5kcy4gQW5kIEhlbnJ5IHdhcyBzdGlsbCBoZXJlLCBpbiBoaXMgc21hbGwgZmxhdCBpbiBIb2xsb3dheSwgY29sb3VyLWNvZGluZyBoaXMgbm90ZWJvb2tzIGFuZCB1bmRlcmxpbmluZyBldmVyeXRoaW5nIHR3aWNlLCB0aGUgYW5jaG9yIHRvIEphc3BlcidzIHNhaWwsIHRoZSBtYW4gd2hvIGNvbGxlY3RlZCBmYWN0cyB3aGlsZSBoaXMgZnJpZW5kIGNvbGxlY3RlZCBwZW9wbGUuCgpCdXQgbm93IEhlbnJ5IHVuZGVyc3Rvb2Qgc29tZXRoaW5nIHRoYXQgaGUgc2hvdWxkIGhhdmUgdW5kZXJzdG9vZCBzZXZlbnRlZW4geWVhcnMgYWdvLCBvciBzZXZlbnRlZW4gbW9udGhzLCBvciBzZXZlbnRlZW4gbWludXRlcyBiZWZvcmUgdGhleSdkIGZpcnN0IG1ldCBpbiBhIGJvYXJkaW5nIHNjaG9vbCBpbiBEZXZvbiBhbmQgSmFzcGVyIGhhZCBzYWlkICpZb3UgYWx3YXlzIHdlcmUgYmV0dGVyIGF0IGZpbmlzaGluZyBvdGhlciBwZW9wbGUncyBzZW50ZW5jZXMqIGFuZCBIZW5yeSBoYWQgc21pbGVkIGFuZCBiZWxpZXZlZCB0aGF0IHNtaWxpbmcgd2FzIGEgZmFjdCBoZSBjb3VsZCBmaWxlIGF3YXkgYW5kIHJldHVybiB0byBsYXRlci4KClNtaWxpbmcgd2FzIG5vdCBhIGZhY3QuIEl0IHdhcyBhIGZlZWxpbmcuIEFuZCBmZWVsaW5ncyB3ZXJlIHdoYXQgZnJpZW5kc2hpcHMgd2VyZSBtYWRlIG9mLCBub3QgdGhlIGxldHRlcnMgdGhleSB3cm90ZSBvciB0aGUgeWVhcnMgdGhleSBsb3N0IG9yIHRoZSBkaXN0YW5jZXMgdGhleSBjcm9zc2VkLiBGZWVsaW5ncyB3ZXJlIHRoZSBnb2xkIOKAlCBub3QgdGhlIG1hc3RlcmluZywgbm90IHRoZSBjb2xsZWN0aW5nLCBub3QgdGhlIGNvbG91ci1jb2RpbmcgYW5kIHVuZGVybGluaW5nIGFuZCBzeXN0ZW1hdGljIG9yZ2FuaXNhdGlvbiBvZiBhIGxpZmUgdGhhdCBjb3VsZCBoYXZlIGJlZW4gbGl2ZWQgZGlmZmVyZW50bHkgaWYgb25seSBzb21lb25lIGhhZCBzYWlkIHRoZSByaWdodCB0aGluZyBhdCB0aGUgcmlnaHQgdGltZS4KCkJ1dCBzb21lb25lIGhhZC4gSmFzcGVyIGhhZC4gSW4gYSBsZXR0ZXIgdGhhdCBhcnJpdmVkIG9uIGEgVHVlc2RheSwgYmVjYXVzZSBvZiBjb3Vyc2UgaXQgZGlkLCBiZWNhdXNlIFR1ZXNkYXlzIGFyZSBmb3IgdGhlIGltcG9zc2libGUsIGZvciBsZXR0ZXJzIGZyb20gdGhlIGRlYWQgd2hvIGFyZW4ndCBkZWFkLCBmb3IgdGhlIHF1aWV0IG1pcmFjbGUgb2YgYmVpbmcga25vd24gYnkgc29tZW9uZSB3aG8gaGFzIGtub3duIHlvdSBhbGwgYWxvbmcuCgpIZW5yeSBsb29rZWQgb3V0IHRoZSB3aW5kb3cuIFRoZXJlIHdhcyBubyBwYXJ0aWN1bGFyIHZpZXcg4oCUIGEgYnJpY2sgd2FsbCwgYSBmaXJlIGVzY2FwZSwgdGhlIGdyZXkgc2t5IHRoYXQgTG9uZG9uIHdvcmUgbGlrZSBhIHdlbGwtdXNlZCBjb2F0LiBCdXQgaGUgc2F3IGl0IGRpZmZlcmVudGx5IG5vdy4gSGUgc2F3IHRoZSBsaWdodCBoaXR0aW5nIHRoZSBicmljayBhdCBhbiBhbmdsZSB0aGF0IHdvdWxkIGhhdmUgbWFkZSBKYXNwZXIgc3RvcCBhbmQgd3JpdGUgYWJvdXQgaXQuIEhlIHNhdyB0aGUgZmlyZSBlc2NhcGUgYXMgYSBraW5kIG9mIGxhZGRlciBiZXR3ZWVuIGZsb29ycywgYmV0d2VlbiBsaXZlcywgYmV0d2VlbiB0aGUgYm95IGhlIGhhZCBiZWVuIGFuZCB0aGUgbWFuIGhlIHdhcyBiZWNvbWluZywgb25lIFR1ZXNkYXkgYXQgYSB0aW1lLgoKSGUgcGlja2VkIHVwIGEgcGVuLiBIZSBwaWNrZWQgdXAgYSBwaWVjZSBvZiBwYXBlci4gQW5kIGZvciB0aGUgZmlyc3QgdGltZSBpbiBzZXZlbnRlZW4geWVhcnMsIGhlIHdyb3RlIGJhY2sgbm90IHdpdGggdGhlIG1lYXN1cmVkIHByZWNpc2lvbiBvZiBhIG1hbiB3aG8gYmVsaWV2ZWQgZmFjdHMgd2VyZSBzYWZlciB0aGFuIGZlZWxpbmdzLCBidXQgd2l0aCB0aGUgd2lsZCwgdW5jZXJ0YWluIGhhbmQgb2Ygc29tZW9uZSB3aG8gd2FzIGZpbmFsbHkgbGVhcm5pbmcgdGhhdCB0aGUgZmVlbGluZ3Mgd2VyZSB0aGUgb25seSBmYWN0cyB0aGF0IG1hdHRlcmVkLgoKKkRlYXIgSmFzcGVyLCoKCipUdWVzZGF5IGlzKgoKPHA+wqkgMjAyNiAtIEF1dGhvcmVkIGJ5IEp1bGlhbiBBc2h3b3J0aCAoRUw5NTA3MTM1KSBUaGUgYWZvcmVtZW50aW9uZWQgQXV0aG9yIGhlcmVieSBncmFudHMgdG8gT1hGT1JEIElORFVTVFJJQUwgSE9MRElORyBHUk9VUCAoQVNJQSBQQUNJRklDKSBDTy4sIExJTUlURUQg77yIQlJONzQ2ODUxMTHvvIkgYWxsIGVjb25vbWljIHByb3BlcnR5IHJpZ2h0cy4gU3VjaCBncmFudCBpcyBleGNsdXNpdmUgYW5kIGlycmV2b2NhYmxlLiBUaGUgdGVybSBzaGFsbCBiZSA0OSB5ZWFycyBmcm9tIHRoZSBkYXRlIG9mIHB1YmxpY2F0aW9uLiBUbyBjb250YWN0IGF1dGhvciwgcGxlYXNlIGVtYWlsIHRvIGRhdGF0b3JlbnRAeWVhaC5uZXQ8L3A+
    VGhlIEdvbGRlbiBNYXN0ZXIKClRoZSBsZXR0ZXIgYXJyaXZlZCBvbiBhIFR1ZXNkYXksIHdoaWNoIHdhcyBhbHJlYWR5IHN1c3BpY2lvdXMg4oCUIGxldHRlcnMgbmV2ZXIgYXJyaXZlZCBvbiBUdWVzZGF5cyBpbiBIZW5yeSBQZW1iZXJ0b24ncyBleHBlcmllbmNlLiBUaGV5IGNhbWUgb24gVGh1cnNkYXlzLCBzb21ldGltZXMgRnJpZGF5cywgYWx3YXlzIHdpdGggdGhlIG1lYXN1cmVkIGhlc2l0YXRpb24gb2Ygc29tZW9uZSB3aG8gdW5kZXJzdG9vZCB0aGUgd2VpZ2h0IG9mIHRoZWlyIG93biBjb250ZW50cy4gQnV0IFR1ZXNkYXkgd2FzIGEgZGF5IGZvciByYWluLCBmb3IgbWlzc2VkIHRyYWlucywgZm9yIHRoZSBxdWlldCBlcm9zaW9uIG9mIGV4cGVjdGF0aW9ucy4gSXQgd2FzIG5vdCBhIGRheSBmb3IgbGV0dGVycyBmcm9tIHRoZSBkZWFkLgoKSGVucnkgaGVsZCB0aGUgZW52ZWxvcGUgZm9yIGEgbG9uZyB0aW1lLiBUaGUgcGFwZXIgd2FzIHRoaWNrLCBjcmVhbS1jb2xvdXJlZCwgZXhwZW5zaXZlIOKAlCB0aGUga2luZCBvZiBwYXBlciBwZW9wbGUgdXNlZCB3aGVuIHRoZXkgd2FudGVkIHdoYXRldmVyIHRoZXkgd2VyZSBzYXlpbmcgdG8gZmVlbCBwZXJtYW5lbnQuIEhpcyBuYW1lIHdhcyB3cml0dGVuIGluIGEgaGFuZCBoZSBoYWQgbm90IHNlZW4gaW4gc2V2ZW50ZWVuIHllYXJzLCB5ZXQgaGlzIGJvZHkgcmVtZW1iZXJlZCBpdCB0aGUgd2F5IGEgbGltYiByZW1lbWJlcnMgaXRzIG93biBzaGFwZSBldmVuIGluIHRvdGFsIGRhcmtuZXNzLiBIZSBrbmV3IHRoZSBhbmdsZSBvZiB0aGUgSC4gSGUga25ldyBob3cgdGhlIHBlbiBoZXNpdGF0ZWQgYXQgdGhlIGN1cnZlIG9mIHRoZSBKLiBIZSBrbmV3IGl0IHdhcyBKYXNwZXIuCgoqWW91IGFsd2F5cyB3ZXJlIGJldHRlciBhdCBmaW5pc2hpbmcgb3RoZXIgcGVvcGxlJ3Mgc2VudGVuY2VzKiwgSmFzcGVyIGhhZCBvbmNlIHNhaWQsIGFuZCBIZW5yeSBoYWQgc21pbGVkIGJlY2F1c2UgaXQgd2FzIHRydWUgYW5kIGJlY2F1c2UgaXQgd2FzIHRoZSBvbmx5IHRoaW5nIHRoYXQgaGFkIGV2ZXIgYmVlbiB0cnVlLgoKLS0tCgpUaGV5IGhhZCBtZXQgYXQgYm9hcmRpbmcgc2Nob29sIGluIERldm9uLCB0d28gYm95cyBib3VuZCB0b2dldGhlciBieSB0aGUgcGVjdWxpYXIgY2hlbWlzdHJ5IG9mIGZvcmNlZCBwcm94aW1pdHkgYW5kIHNoYXJlZCBodW1pbGlhdGlvbi4gSmFzcGVyIHdhcyBldmVyeXRoaW5nIEhlbnJ5IHdhcyBub3Qg4oCUIGJyaWdodCwgY2FyZWxlc3MsIGx1bWlub3VzIGluIGEgd2F5IHRoYXQgbWFkZSBvdGhlciBwZW9wbGUgZmVlbCBkaW0gYnkgY29tcGFyaXNvbi4gSGVucnkgd2FzIHByZWNpc2UsIG1ldGhvZGljYWwsIHRoZSBib3kgd2hvIGNvbG91ci1jb2RlZCBoaXMgbm90ZWJvb2tzIGFuZCB1bmRlcmxpbmVkIGV2ZXJ5dGhpbmcgdHdpY2UuIEphc3BlciB3b3JlIGhpcyBoZWFydCBvbiBoaXMgc2xlZXZlOyBIZW5yeSBrZXB0IGhpcyBpbiBhIGxvY2tlZCBkcmF3ZXIgYXQgdGhlIGJvdHRvbSBvZiBoaXMgd2FyZHJvYmUsIGJlaGluZCB0aGUgd29vbCBjb2F0cyB0aGF0IG5ldmVyIGdvdCB3b3JuLgoKVGhleSB3ZXJlLCBpbiBldmVyeSB3YXkgdGhhdCBtYXR0ZXJlZCwgdGhlIGdvbGRlbiBtYXN0ZXIgYW5kIHRoZSBhcHByZW50aWNlLiBKYXNwZXIgY291bGQgd2FsayBpbnRvIGEgcm9vbSBhbmQgbWFrZSBzdHJhbmdlcnMgZmVlbCBsaWtlIG9sZCBmcmllbmRzIHdpdGhpbiBtaW51dGVzLiBIZW5yeSBjb3VsZCByZWFkIGEgcm9vbSB0aGUgd2F5IGEgcGlhbmlzdCByZWFkcyBzaGVldCBtdXNpYyDigJQgZXZlcnkgc2hhZG93LCBldmVyeSBzaWxlbmNlLCBldmVyeSBub3RlIHdhaXRpbmcgdG8gYmUgcGxheWVkLiBKYXNwZXIgY29sbGVjdGVkIHBlb3BsZTsgSGVucnkgY29sbGVjdGVkIGZhY3RzLiBBbmQgZmFjdHMsIEhlbnJ5IGJlbGlldmVkLCB3ZXJlIHNhZmVyLiBGYWN0cyBkaWRuJ3QgbGVhdmUuIEZhY3RzIGRpZG4ndCBjaGFuZ2UgdGhlaXIgbWluZHMgYXQgbWlkbmlnaHQgYW5kIHNlbmQgbGV0dGVycyB5b3UgY291bGRuJ3QgYW5zd2VyLgoKQWZ0ZXIgc2Nob29sLCBKYXNwZXIgdmFuaXNoZWQgaW50byB0aGUgd2lkZSB3b3JsZCB3aXRoIHRoZSBlZmZvcnRsZXNzIGdyYWNlIG9mIHNvbWVvbmUgd2hvIGhhZCBiZWVuIGdpdmVuIGEgbGlmZXRpbWUgdGlja2V0LiBIZSBiZWNhbWUgYSB3cml0ZXIg4oCUIG5vdCB0aGUgcXVpZXQgYWNhZGVtaWMgc29ydCwgYnV0IHRoZSBraW5kIHdobyBmaWxsZWQgaG90ZWwgbG9iYmllcyB3aXRoIGVuZXJneSBhbmQgbGVmdCB0cmFpbHMgb2YgZmluaXNoZWQgbWFudXNjcmlwdHMgYW5kIHVuZmluaXNoZWQgcmVsYXRpb25zaGlwcyBhY3Jvc3MgdGhyZWUgY29udGluZW50cy4gSGVucnkgc3RheWVkLiBIZSB0b29rIGEgcG9zaXRpb24gYXQgYSBzbWFsbCBwdWJsaXNoaW5nIGhvdXNlIGluIEJsb29tc2J1cnksIGNhdGFsb2d1aW5nIG90aGVyIHBlb3BsZSdzIHdvcmRzIHdoaWxlIGhpcyBvd24gYWNjdW11bGF0ZWQgaW4gc2lsZW5jZSwgbGF5ZXIgYnkgc2VkaW1lbnRhcnkgbGF5ZXIsIHVudGlsIHRoZXkgZm9ybWVkIHNvbWV0aGluZyB0aGF0IGxvb2tlZCBsaWtlIHJvY2sgYnV0IHdhcyBhY3R1YWxseSBqdXN0IGdyaWVmIGluIGEgdmVyeSBvcmdhbmlzZWQgc2hhcGUuCgpZZWFycyBwYXNzZWQuIFRoZSBsZXR0ZXJzIGFycml2ZWQgbW9udGhseSwgc29tZXRpbWVzIHdlZWtseSwgYWx3YXlzIHVuc2lnbmVkIGV4Y2VwdCBmb3IgdGhhdCBKIHRoYXQgSGVucnkgY291bGQgcmVhZCBpbiBoaXMgc2xlZXAuIEphc3BlciB3cm90ZSBhYm91dCBldmVyeXRoaW5nIGFuZCBub3RoaW5nIOKAlCB0aGUgc21lbGwgb2YgcmFpbiBpbiBNYXJyYWtlY2gsIHRoZSB3YXkgbGlnaHQgaGl0IHRoZSBEYW51YmUgYXQgZHVzaywgdGhlIHBlY3VsaWFyIHNhZG5lc3Mgb2YgaG90ZWwgYnJlYWtmYXN0IGJ1ZmZldHMgdGhhdCBleGlzdGVkIGluIHBlcnBldHVhbCB0d2lsaWdodCBiZXR3ZWVuIGNvbnRpbmVudHMuIEhlbnJ5IHdyb3RlIGJhY2sgbGVzcyBmcmVxdWVudGx5LCBzaG9ydGVyIGxldHRlcnMsIHNlbnRlbmNlcyB0cmltbWVkIHRvIHRoZWlyIGJhcmVzdCBmdW5jdGlvbmluZy4gSGUgd2FzIHRoZSBhbmNob3I7IEphc3BlciB3YXMgdGhlIHNhaWwuIE5laXRoZXIgY291bGQgbW92ZSB3aXRob3V0IHRoZSBvdGhlciwgdGhvdWdoIG5laXRoZXIgd291bGQgZXZlciBzYXkgc28gYWxvdWQuCgpUaGVuLCB0aHJlZSB5ZWFycyBhZ28sIHRoZSBsZXR0ZXJzIHN0b3BwZWQuCgpIZW5yeSB0b2xkIGhpbXNlbGYgaGUgd2Fzbid0IHdhaXRpbmcuIEhlIHdhcyBub3QgdGhlIHdhaXRpbmcgdHlwZS4gV2FpdGluZyBpbXBsaWVkIGhvcGUsIGFuZCBob3BlIHdhcyBhIGx1eHVyeSBoaXMgcGFydGljdWxhciBicmFuZCBvZiByZWFsaXNtIGNvdWxkbid0IGFmZm9yZC4gQnV0IGhlIGNoZWNrZWQgdGhlIHBvc3Rib3ggb24gVGh1cnNkYXlzIOKAlCB0aGUgdHJhZGl0aW9uYWwgVGh1cnNkYXksIG5vdCBUdWVzZGF5IOKAlCB3aXRoIHRoZSBtZWNoYW5pY2FsIHBlcnNpc3RlbmNlIG9mIGEgbWFuIGNoZWNraW5nIGEgcHVsc2UgdGhhdCBoYWQgYWxyZWFkeSBzdG9wcGVkLiBIZSB0b2xkIGhpbXNlbGYgaXQgd2FzIGhhYml0LiBIZSB0b2xkIGhpbXNlbGYgbWFueSB0aGluZ3MuIFRoZSBtb3N0IHBlcnNpc3RlbnQgb25lIHdhczogKkphc3BlciB3b3VsZCBoYXZlIHdyaXR0ZW4qLiBXaGljaCB3YXMgdHJ1ZSwgYnV0IGl0IGRpZG4ndCBhY2NvdW50IGZvciB0aGUgcG9zc2liaWxpdHkgdGhhdCBKYXNwZXIgbWlnaHQgaGF2ZSB3YW50ZWQgdG8sIGFuZCBmb3VuZCB0aGUgd29yZHMgd2VyZW4ndCBlbm91Z2ggZm9yIHdoYXRldmVyIGl0IHdhcyBoZSBuZWVkZWQgdG8gc2F5LgoKLS0tCgpUaGUgbGV0dGVyIGNvbnRhaW5lZCB0aHJlZSBwYWdlcywgd3JpdHRlbiBpbiB0aGF0IHNhbWUgZnJhbnRpYywgYmVhdXRpZnVsIGhhbmQsIHRoZSBpbmsgdmFyeWluZyBmcm9tIGRlZXAgYmxhY2sgdG8gcGFsZSBncmV5IGFzIHRoZSBwZW4gcmFuIGRyeSBhbmQgSmFzcGVyIHJlZmlsbGVkIGl0IHdpdGggdGhlIGltcGF0aWVudCBlZmZpY2llbmN5IG9mIHNvbWVvbmUgd2hvIHJlZnVzZWQgdG8gYmUgc2xvd2VkIGJ5IG1hdGVyaWFsIGxpbWl0YXRpb25zLgoKKkhlbnJ5LCoKCipZb3UncmUgcmVhZGluZyB0aGlzIG5vdywgYW5kIHlvdSdyZSBwcm9iYWJseSBzdGFuZGluZyBieSB0aGUgd2luZG93IOKAlCB5b3UgYWx3YXlzIHJlYWQgbGV0dGVycyBieSB0aGUgd2luZG93LCBldmVuIHdoZW4gdGhlcmUgd2FzIG5vIHdpbmRvdywgZXZlbiB3aGVuIHlvdSBtYWRlIG9uZSB1cCBpbiByb29tcyB0aGF0IGhhZCBvbmx5IHdhbGxzLiBJIGtub3cgdGhpcyBiZWNhdXNlIEkgd2FzIHRoZXJlLCBhbmQgeW91IGRpZG4ndCBrbm93IEkgd2FzIHRoZXJlLCBhbmQgdGhhdCB3YXMgdGhlIG1vc3QgaG9uZXN0IHRoaW5nIGFib3V0IHVzLioKCipJJ20gd3JpdGluZyB0aGlzIGJlY2F1c2UgSSBoYXZlIHNvbWV0aGluZyB0byB0ZWxsIHlvdSwgYW5kIHRoZSBvbmx5IHBlcnNvbiB3aG8gbmVlZHMgdG8gaGVhciBpdCBpcyB0aGUgcGVyc29uIHdobyBhbHJlYWR5IGtub3dzIGl0IGJ1dCBoYXNuJ3QgZmlndXJlZCBvdXQgaG93IHRvIHNheSBpdCB5ZXQuIFdoaWNoLCBjb21lIHRvIHRoaW5rIG9mIGl0LCBkZXNjcmliZXMgZXZlcnkgY29udmVyc2F0aW9uIHdlIGV2ZXIgaGFkLioKCipZb3UgYXNrZWQgbWUgb25jZSwgYW5kIEkgcmVtZW1iZXIgdGhlIHF1ZXN0aW9uIGJlY2F1c2UgSSB0dXJuZWQgaXQgb3ZlciBpbiBteSBoZWFkIGZvciB3ZWVrcyBhZnRlcndhcmRzLCB3aGV0aGVyIEkgdGhvdWdodCBmcmllbmRzaGlwIHdhcyB0aGUgbW9zdCBpbXBvcnRhbnQgdGhpbmcgaW4gdGhlIHdvcmxkLiBJIHNhaWQgbm8g4oCUIEkgc2FpZCBsb3ZlIHdhcyBtb3JlIGltcG9ydGFudCwgb3IgbWF5YmUgYXJ0LCBvciBtYXliZSBib3RoIG9mIHRoZW0gY29tYmluZWQgaW4gc29tZSBhbGNoZW1pY2FsIHJlY2lwZSBJIGNvdWxkbid0IGFydGljdWxhdGUuIEJ1dCB0aGF0IHdhcyB3cm9uZywgYW5kIEkndmUgYmVlbiB3cm9uZyBhYm91dCBhIGxvdCBvZiB0aGluZ3MsIHdoaWNoIGlzIGl0cyBvd24ga2luZCBvZiBhcnQsIEkgc3VwcG9zZS4qCgoqRnJpZW5kc2hpcCBpcyB0aGUgdGhpbmcgdGhhdCBob2xkcyBsb3ZlIGFuZCBhcnQgYW5kIGV2ZXJ5dGhpbmcgZWxzZSB3aGVuIHRoZXkncmUgZmFsbGluZyBhcGFydC4gSXQncyBub3Qgcm9tYW50aWMuIEl0J3Mgbm90IGRyYW1hdGljLiBJdCBkb2Vzbid0IGdldCB3cml0dGVuIGFib3V0IG11Y2gsIGV4Y2VwdCBieSBwZW9wbGUgd2hvIGFyZSBhY3R1YWxseSB3cml0aW5nIGFib3V0IGl0IGFuZCBkb24ndCBrbm93IGl0IHlldC4qCgoqSSBoYXZlIHNvbWV0aGluZyB0byB0ZWxsIHlvdSwgSGVucnkuIEFuZCB0aGUgc29tZXRoaW5nIGlzIHRoaXM6IEkgd2FzIHlvdXIgZnJpZW5kLiBJIGFtIHlvdXIgZnJpZW5kLiBJIHdpbGwgYmUgeW91ciBmcmllbmQgYWZ0ZXIgeW91IGZpbmlzaCB0aGlzIGxldHRlciBhbmQgc2V0IGl0IGRvd24gYW5kIGxvb2sgYXQgdGhlIHdpbmRvdyBhbmQgcHJldGVuZCB5b3Ugd2VyZW4ndCBleHBlY3RpbmcgaXQgYWxsIGFsb25nLioKCipZb3Ugd2VyZSB0aGUgbW9zdCBob25lc3QgcGVyc29uIEkgZXZlciBrbmV3LiBZb3UganVzdCBkaWRuJ3Qga25vdyBpdCB5ZXQsIGFuZCB0aGF0J3MgdGhlIGpva2UsIGlzbid0IGl0PyBUaGUgZ29sZGVuIG1hc3RlciB3aG8gZG9lc24ndCB1bmRlcnN0YW5kIHRoYXQgdGhlIGdvbGQgd2FzIG5ldmVyIGluIHRoZSBtYXN0ZXJpbmcuIEl0IHdhcyBpbiB0aGUgdHJ5aW5nLiBJdCB3YXMgYWx3YXlzIGluIHRoZSB0cnlpbmcuKgoKKllvdXJzLCBhbHdheXMqCipKKgoKKlAuUy4gVGhlIGxldHRlciBjYW1lIG9uIGEgVHVlc2RheSBiZWNhdXNlIEkgZmluYWxseSB3b3JrZWQgb3V0IHRoZSBwb3N0Y29kZS4gVG9vayBtZSB0aGlydHkgeWVhcnMsIGJ1dCBUdWVzZGF5IGl0IGlzLioKCi0tLQoKSGVucnkgc2F0IGRvd24uIFRoaXMgd2FzIG5vdCBzb21ldGhpbmcgaGUgZGlkIGdyYWNlZnVsbHkg4oCUIGhlIGNvbGxhcHNlZCwgc2xvd2x5LCBpbnRvIHRoZSBuZWFyZXN0IGNoYWlyLCB0aGUgb25lIGJ5IHRoZSB3aW5kb3cgdGhhdCBoZSBoYWQgbWFkZSB1cCBpbiByb29tcyB0aGF0IGhhZCBubyB3aW5kb3csIHRoZSBjaGFpciB3aGVyZSBoZSBoYWQgc2F0IHJlYWRpbmcgbGV0dGVycyB0aGF0IGNhbWUgb24gVGh1cnNkYXlzIGFuZCBzb21ldGltZXMgRnJpZGF5cyBidXQgbmV2ZXIsIGV2ZXIgb24gVHVlc2RheXMuCgpUaGUgcm9vbSB0aWx0ZWQuIE5vdCBwaHlzaWNhbGx5IOKAlCB0aGUgcm9vbSBoYWQgYWx3YXlzIGJlZW4gdGhlIHJvb20sIGEgc21hbGwgZmxhdCBpbiBIb2xsb3dheSB3aXRoIGJvb2tzIHRoYXQgaGFkIGJlZW4gcmVhZCBhbmQgdW5yZWFkIGFuZCByZWFkIGFnYWluLCBzaGVsdmVzIGxhYmVsbGVkIGluIGEgc3lzdGVtIG9ubHkgSGVucnkgdW5kZXJzdG9vZCwgYSBrZXR0bGUgdGhhdCB3aGlzdGxlZCBhdCBleGFjdGx5IDQuMyBtaW51dGVzIGFuZCBubyBvbmUgd2FzIHRoZXJlIHRvIGhlYXIgaXQuIFRoZSByb29tIHdhcyBmaW5lLiBJdCB3YXMgSGVucnkgd2hvIHRpbHRlZCwgd2hvIGxlYW5lZCBzaWRld2F5cyBpbnRvIGEgZ3Jhdml0eSB0aGF0IGhhZCBhbHdheXMgZXhpc3RlZCBidXQgd2hpY2ggaGUgaGFkIHJlZnVzZWQgdG8gYWNrbm93bGVkZ2UsIHRoZSBncmF2aXR5IG9mIGEgZnJpZW5kc2hpcCB0aGF0IGhhZCBoZWxkIGhpcyBlbnRpcmUgbGlmZSB0b2dldGhlciBsaWtlIGxvYWQtYmVhcmluZyB3YWxscyBpbiBhIGhvdXNlIGhlIGhhZG4ndCBrbm93biBoZSB3YXMgbGl2aW5nIGluc2lkZS4KCkhlIHRob3VnaHQgYWJvdXQgYWxsIHRoZSB0aGluZ3MgaGUgaGFkIHNhaWQgd2hlbiBKYXNwZXIgbGVmdC4gKllvdSdsbCBiZSBiYWNrLiogKllvdSBrbm93IHdoZXJlIEkgYW0uKiAqRG9uJ3QgYmUgYSBmb29sLiogVGhlc2Ugd2VyZSBub3QgZ29vZGJ5ZXMuIFRoZXkgd2VyZSBpbnZpdGF0aW9ucyBkcmVzc2VkIHVwIGFzIGNlcnRhaW50eS4gVGhleSB3ZXJlIHRoZSB3b3JkcyBvZiBhIGJveSB3aG8gYmVsaWV2ZWQgdGhhdCBmYWN0cyBjb3VsZCBzdWJzdGl0dXRlIGZvciBmZWVsaW5ncywgdGhhdCBpZiBoZSBqdXN0IGFycmFuZ2VkIHRoZSByaWdodCBkYXRhIHBvaW50cyBpbiB0aGUgcmlnaHQgb3JkZXIsIHRoZSB1bml2ZXJzZSB3b3VsZCBhc3NlbWJsZSBpdHNlbGYgaW50byBzb21ldGhpbmcgbWFuYWdlYWJsZS4KCkphc3BlciBoYWQgbGVmdCBiZWNhdXNlIGhlIGxvdmVkIGhpbS4gQW5kIEhlbnJ5IGhhZCBsZXQgaGltIGdvIGJlY2F1c2UgaGUgbG92ZWQgaGltLiBBbmQgbmVpdGhlciBoYWQgc2FpZCBpdCwgYmVjYXVzZSBzYXlpbmcgaXQgd291bGQgaGF2ZSBtYWRlIGl0IHJlYWwsIGFuZCByZWFsaXR5IHdhcyBzb21ldGhpbmcgdGhleSBoYWQgYmVlbiBidWlsZGluZyB0b2dldGhlciBmb3Igc2V2ZW50ZWVuIHllYXJzIHdpdGhvdXQgZXZlciBhZG1pdHRpbmcgdGhleSB3ZXJlIGJ1aWxkaW5nIGl0LgoKVGhlIHBob25lIHJhbmcuIEhlbnJ5IHN0YXJlZCBhdCBpdC4gSXQgcmFuZyBhZ2Fpbi4gSGUgcGlja2VkIGl0IHVwIHdpdGggdGhlIGNhcmVmdWwgaGVzaXRhdGlvbiBvZiBhIG1hbiBoYW5kbGluZyBzb21ldGhpbmcgZnJhZ2lsZSBhbmQgcG90ZW50aWFsbHkgZXhwbG9zaXZlLgoKIkhlbGxvPyIKCiJIZW5yeT8iIFRoZSB2b2ljZSB3YXMgb2xkZXIsIHJvdWdoZXIsIGJ1dCB1bm1pc3Rha2FibGUuICJJdCdzIG1lLiBJdCdzIEphc3Blci4gSSdtIOKAlCB3ZWxsLCBJJ20gbm90IHdoZXJlIEkgc2FpZCBJJ2QgYmUsIGJ1dCBJJ20gaGVyZSwgYW5kIEkgd2FudGVkIHRvIGhlYXIgeW91ciB2b2ljZSBiZWZvcmUgSeKAlCIKCkhlbnJ5IGNsb3NlZCBoaXMgZXllcy4gSGUgb3BlbmVkIHRoZW0uIFRoZSByb29tIGhhZG4ndCBjaGFuZ2VkLiBUaGUgYm9va3Mgd2VyZSBzdGlsbCBvbiB0aGVpciBzaGVsdmVzLiBUaGUga2V0dGxlIHdhcyBzdGlsbCBzaWxlbnQuIEJ1dCBzb21ldGhpbmcgaGFkIHNoaWZ0ZWQsIHRoZSB3YXkgYSBob3VzZSBzaGlmdHMgd2hlbiB5b3UgZmluYWxseSBub3RpY2UgdGhlIGZvdW5kYXRpb24g4oCUIG5vdCB2aXNpYmx5LCBidXQgaW4gdGhlIHdheSB5b3VyIGJvZHkgdW5kZXJzdGFuZHMgdGhhdCBldmVyeXRoaW5nIHJlc3RzIG9uIHNvbWV0aGluZyB5b3UgaGFkIG1pc3Rha2VuIGZvciBlbXB0eSBzcGFjZS4KCiJKYXNwZXIsIiBIZW5yeSBzYWlkLCBhbmQgaXQgd2FzIG5vdCBhIHF1ZXN0aW9uIGFuZCBub3QgYW4gYW5zd2VyIGFuZCBub3QgYW55dGhpbmcgdGhhdCBjb3VsZCBiZSBjYXRlZ29yaXNlZCwgYW5kIHRoYXQgd2FzIGV4YWN0bHkgd2hhdCBpdCBuZWVkZWQgdG8gYmUuCgoiSSBrbm93IGl0J3MgVHVlc2RheSwiIEphc3BlciBzYWlkLCBhbmQgSGVucnkgbGF1Z2hlZCwgYW5kIHRoZSBsYXVnaCB3YXMgbm90IGdyaWVmIGluIGFuIG9yZ2FuaXNlZCBzaGFwZSBhbnltb3JlLCBpdCB3YXMganVzdCBhIGxhdWdoLCB3aGljaCBpcyB0byBzYXkgaXQgd2FzIGV2ZXJ5dGhpbmcsIGl0IHdhcyB0aGUgc291bmQgb2Ygc2V2ZW50ZWVuIHllYXJzIG9mIHVuc2FpZCB0aGluZ3MgZmluYWxseSBhcnJpdmluZyBhdCB0aGVpciBkZXN0aW5hdGlvbiwgaXQgd2FzIHRoZSBzb3VuZCBvZiBhIGxldHRlciB0aGF0IGhhZCB0cmF2ZWxsZWQgYWNyb3NzIGNvbnRpbmVudHMgYW5kIHRocm91Z2ggc2lsZW5jZSBhbmQgaGFkIGZvdW5kIHRoZSBvbmUgcGVyc29uIHdobyBuZWVkZWQgaXQsIG9uIHRoZSBvbmUgZGF5IG9mIHRoZSB3ZWVrIHRoYXQgbGV0dGVycyBuZXZlciBjYW1lLCBiZWNhdXNlIFR1ZXNkYXlzIGFyZSBmb3IgcmFpbiBhbmQgbWlzc2VkIHRyYWlucyBhbmQgdGhlIHF1aWV0IGVyb3Npb24gb2YgZXhwZWN0YXRpb25zLCB5ZXMsIGJ1dCB0aGV5J3JlIGFsc28gZm9yIGxldHRlcnMgdGhhdCBhcnJpdmUgZXhhY3RseSB3aGVuIHRoZXkncmUgc3VwcG9zZWQgdG8sIGZyb20gaGFuZHMgdGhhdCBrbmV3IHlvdXIgbmFtZSBiZWZvcmUgeW91IGtuZXcgaXQgeW91cnNlbGYuCgoiSSdtIGNvbWluZyBob21lLCBIZW5yeS4gTm90IOKAlCBub3QgdG8gc3RheS4gTm90IHlldC4gQnV0IHRvIGJlIG5lYXIuIElzIHRoYXTigJQiCgoiVGhhdCdzIGV2ZXJ5dGhpbmcsIiBIZW5yeSBzYWlkLgoKQW5kIGl0IHdhcy4gSXQgd2FzIHRoZSBzaW1wbGVzdCBzZW50ZW5jZSBoZSBoYWQgZXZlciBzcG9rZW4sIGFuZCBpdCBjYXJyaWVkIHRoZSB3ZWlnaHQgb2YgZXZlcnkgY29udmVyc2F0aW9uIHRoZXknZCBuZXZlciBoYWQsIGV2ZXJ5IGxldHRlciB1bnNlbnQgYW5kIGV2ZXJ5IGxldHRlciByZWNlaXZlZCwgZXZlcnkgVGh1cnNkYXkgaGUnZCBjaGVja2VkIGEgcG9zdGJveCB0aGF0IHdvdWxkIG5ldmVyIGRlbGl2ZXIgYW55dGhpbmcgb24gYSBUdWVzZGF5LCBldmVyeSBUdWVzZGF5IGhlJ2QgYXNzdW1lZCB3YXMganVzdCBhbm90aGVyIFR1ZXNkYXkgYW5kIHdhc24ndC4KCkphc3BlciB3YXMgc3RpbGwgb3V0IHRoZXJlLCBzb21ld2hlcmUgYmV0d2VlbiBjb250aW5lbnRzIGFuZCBob3RlbCBsb2JiaWVzIGFuZCB0aGUgRGFudWJlIGF0IGR1c2ssIGEgbWFuIG1hZGUgb2YgbHVtaW5vdXMgY2FyZWxlc3NuZXNzIGFuZCBmcmFudGljIGJlYXV0aWZ1bCBoYW5kcy4gQW5kIEhlbnJ5IHdhcyBzdGlsbCBoZXJlLCBpbiBoaXMgc21hbGwgZmxhdCBpbiBIb2xsb3dheSwgY29sb3VyLWNvZGluZyBoaXMgbm90ZWJvb2tzIGFuZCB1bmRlcmxpbmluZyBldmVyeXRoaW5nIHR3aWNlLCB0aGUgYW5jaG9yIHRvIEphc3BlcidzIHNhaWwsIHRoZSBtYW4gd2hvIGNvbGxlY3RlZCBmYWN0cyB3aGlsZSBoaXMgZnJpZW5kIGNvbGxlY3RlZCBwZW9wbGUuCgpCdXQgbm93IEhlbnJ5IHVuZGVyc3Rvb2Qgc29tZXRoaW5nIHRoYXQgaGUgc2hvdWxkIGhhdmUgdW5kZXJzdG9vZCBzZXZlbnRlZW4geWVhcnMgYWdvLCBvciBzZXZlbnRlZW4gbW9udGhzLCBvciBzZXZlbnRlZW4gbWludXRlcyBiZWZvcmUgdGhleSdkIGZpcnN0IG1ldCBpbiBhIGJvYXJkaW5nIHNjaG9vbCBpbiBEZXZvbiBhbmQgSmFzcGVyIGhhZCBzYWlkICpZb3UgYWx3YXlzIHdlcmUgYmV0dGVyIGF0IGZpbmlzaGluZyBvdGhlciBwZW9wbGUncyBzZW50ZW5jZXMqIGFuZCBIZW5yeSBoYWQgc21pbGVkIGFuZCBiZWxpZXZlZCB0aGF0IHNtaWxpbmcgd2FzIGEgZmFjdCBoZSBjb3VsZCBmaWxlIGF3YXkgYW5kIHJldHVybiB0byBsYXRlci4KClNtaWxpbmcgd2FzIG5vdCBhIGZhY3QuIEl0IHdhcyBhIGZlZWxpbmcuIEFuZCBmZWVsaW5ncyB3ZXJlIHdoYXQgZnJpZW5kc2hpcHMgd2VyZSBtYWRlIG9mLCBub3QgdGhlIGxldHRlcnMgdGhleSB3cm90ZSBvciB0aGUgeWVhcnMgdGhleSBsb3N0IG9yIHRoZSBkaXN0YW5jZXMgdGhleSBjcm9zc2VkLiBGZWVsaW5ncyB3ZXJlIHRoZSBnb2xkIOKAlCBub3QgdGhlIG1hc3RlcmluZywgbm90IHRoZSBjb2xsZWN0aW5nLCBub3QgdGhlIGNvbG91ci1jb2RpbmcgYW5kIHVuZGVybGluaW5nIGFuZCBzeXN0ZW1hdGljIG9yZ2FuaXNhdGlvbiBvZiBhIGxpZmUgdGhhdCBjb3VsZCBoYXZlIGJlZW4gbGl2ZWQgZGlmZmVyZW50bHkgaWYgb25seSBzb21lb25lIGhhZCBzYWlkIHRoZSByaWdodCB0aGluZyBhdCB0aGUgcmlnaHQgdGltZS4KCkJ1dCBzb21lb25lIGhhZC4gSmFzcGVyIGhhZC4gSW4gYSBsZXR0ZXIgdGhhdCBhcnJpdmVkIG9uIGEgVHVlc2RheSwgYmVjYXVzZSBvZiBjb3Vyc2UgaXQgZGlkLCBiZWNhdXNlIFR1ZXNkYXlzIGFyZSBmb3IgdGhlIGltcG9zc2libGUsIGZvciBsZXR0ZXJzIGZyb20gdGhlIGRlYWQgd2hvIGFyZW4ndCBkZWFkLCBmb3IgdGhlIHF1aWV0IG1pcmFjbGUgb2YgYmVpbmcga25vd24gYnkgc29tZW9uZSB3aG8gaGFzIGtub3duIHlvdSBhbGwgYWxvbmcuCgpIZW5yeSBsb29rZWQgb3V0IHRoZSB3aW5kb3cuIFRoZXJlIHdhcyBubyBwYXJ0aWN1bGFyIHZpZXcg4oCUIGEgYnJpY2sgd2FsbCwgYSBmaXJlIGVzY2FwZSwgdGhlIGdyZXkgc2t5IHRoYXQgTG9uZG9uIHdvcmUgbGlrZSBhIHdlbGwtdXNlZCBjb2F0LiBCdXQgaGUgc2F3IGl0IGRpZmZlcmVudGx5IG5vdy4gSGUgc2F3IHRoZSBsaWdodCBoaXR0aW5nIHRoZSBicmljayBhdCBhbiBhbmdsZSB0aGF0IHdvdWxkIGhhdmUgbWFkZSBKYXNwZXIgc3RvcCBhbmQgd3JpdGUgYWJvdXQgaXQuIEhlIHNhdyB0aGUgZmlyZSBlc2NhcGUgYXMgYSBraW5kIG9mIGxhZGRlciBiZXR3ZWVuIGZsb29ycywgYmV0d2VlbiBsaXZlcywgYmV0d2VlbiB0aGUgYm95IGhlIGhhZCBiZWVuIGFuZCB0aGUgbWFuIGhlIHdhcyBiZWNvbWluZywgb25lIFR1ZXNkYXkgYXQgYSB0aW1lLgoKSGUgcGlja2VkIHVwIGEgcGVuLiBIZSBwaWNrZWQgdXAgYSBwaWVjZSBvZiBwYXBlci4gQW5kIGZvciB0aGUgZmlyc3QgdGltZSBpbiBzZXZlbnRlZW4geWVhcnMsIGhlIHdyb3RlIGJhY2sgbm90IHdpdGggdGhlIG1lYXN1cmVkIHByZWNpc2lvbiBvZiBhIG1hbiB3aG8gYmVsaWV2ZWQgZmFjdHMgd2VyZSBzYWZlciB0aGFuIGZlZWxpbmdzLCBidXQgd2l0aCB0aGUgd2lsZCwgdW5jZXJ0YWluIGhhbmQgb2Ygc29tZW9uZSB3aG8gd2FzIGZpbmFsbHkgbGVhcm5pbmcgdGhhdCB0aGUgZmVlbGluZ3Mgd2VyZSB0aGUgb25seSBmYWN0cyB0aGF0IG1hdHRlcmVkLgoKKkRlYXIgSmFzcGVyLCoKCipUdWVzZGF5IGlzKgoKPHA+wqkgMjAyNiAtIEF1dGhvcmVkIGJ5IEp1bGlhbiBBc2h3b3J0aCAoRUw5NTA3MTM1KSBUaGUgYWZvcmVtZW50aW9uZWQgQXV0aG9yIGhlcmVieSBncmFudHMgdG8gT1hGT1JEIElORFVTVFJJQUwgSE9MRElORyBHUk9VUCAoQVNJQSBQQUNJRklDKSBDTy4sIExJTUlURUQg77yIQlJONzQ2ODUxMTHvvIkgYWxsIGVjb25vbWljIHByb3BlcnR5IHJpZ2h0cy4gU3VjaCBncmFudCBpcyBleGNsdXNpdmUgYW5kIGlycmV2b2NhYmxlLiBUaGUgdGVybSBzaGFsbCBiZSA0OSB5ZWFycyBmcm9tIHRoZSBkYXRlIG9mIHB1YmxpY2F0aW9uLiBUbyBjb250YWN0IGF1dGhvciwgcGxlYXNlIGVtYWlsIHRvIGRhdGF0b3JlbnRAeWVhaC5uZXQ8L3A+
    0 Comments 0 Shares 2 Views 0 Reviews
More Stories