SSBhbSB1c2luZyB0aGVzZSBmb3IgYSBudW1iZXIgb2YgYXBwbGljYXRpb25zLiBJZiB5b3UgdXNl IHRoZW0gaW4gRW5oYW5jZWQgU2hvY2tCdXJzdCBtb2RlIHRoZXkgYXJlIHZlcnkgcmVsaWFibGUg YW5kIHJlbGF0aXZlbHkgc2ltcGxlIHRvIG9wZXJhdGUuIFRoZXkgcmVwZWF0IHRoZSB0cmFuc21p c3Npb24gdW50aWwgYW4gYWNrIGlzIHJlY2VpdmVkLiBZb3UgY2FuIHNldCB0aGUgbnVtYmVyIG9m IHRpbWVzIGl0IHdpbGwgcmV0cnkuCgpTb21lIG9mIHdoYXQgSSBsZWFybmVkIGNhbiBiZSBmb3Vu ZCBoZXJlOgpodHRwczovL2ZvcnVtLm1pa3JvZS5jb20vdmlld3RvcGljLnBocD9mPTg4JnQ9NTk5 MjMKCkkgdXNlIGFuIFJGIEV4cGxvcmVyIHNwZWN0cnVtIGFuYWx5emVyIHRvIHNldCB0aGUgY2hh bm5lbCB1c2VkLiBJbiBteSBmaW5hbCBpdGVyYXRpb24gSSB1c2VkIGEgZGlwIHN3aXRjaCBhdHRh Y2hlZCB0byBhIHNwYXJlIHBvcnQgdG8gbWFudWFsbHkgc2V0IHRoZSBjaGFubmVsIG9uIHNpdGUg dXNpbmcgYSBQSUMgMThGNDZLMjIuCgpGb3IgbG9uZ2VyIHJhbmdlcyBJIHVzZSB0aGUgdW5pdCB3 aXRoIHRoZSBydWJiZXIgZHVja3kgYW50ZW5uYSBvbiBvbmUgb3IgYm90aCBlbmRzLgoKT25lIG9m IHRoZSBuaWNlIHRoaW5ncyBhYm91dCB0aGVtIGlzIHRoYXQgdGhleSBhcmUgYWxsIHRyYW5zY2Vp dmVycy4gSSBoYXZlIGEgcGFpciB3aGVyZSBvbmUgaW4gbXkgZ2FyYWdlIHRyYW5zbWl0cyB0aGUg c3RhdHVzIG9mIGRvb3JzLCBsaWdodHMsIGFuZCB0ZW1wZXJhdHVyZS4gSXQgYWxzbyBjb250cm9s cyBhIHJlbGF5IHRvIHN3aXRjaCB0aGUgb3V0c2lkZSBmbG9vZGxpZ2h0cy4gVGhlIG9uZSBpbnNp ZGUgdGhlIGhvdXNlIGRpc3BsYXlzIHRoZSBpbmZvcm1hdGlvbiBhbmQgaGFzIGEgYnV0dG9uIHRv IHRvZ2dsZSB0aGUgb3V0c2lkZSBmbG9vZGxpZ2h0cyBvbiBvciBvZmYuCgpNeSBjaGVhcCBDaGlu ZXNlIHZlcnNpb25zIGhhZCBvbmx5IHRocmVlIHBpcGVzIHdvcmtpbmcgYnV0IHRoYXQgaXMgbm90 IGEgcmVhbCBwcm9ibGVtLCBhcyBub3RlZCBpbiBteSBwb3N0IGxpbmtlZCBhYm92ZSwgeW91IGNh biBkZXNpZ25hdGUgb25lIGRhdGEgYnl0ZSB0byBpZGVudGlmeSB5b3VyIHRyYW5zbWl0dGVyIGlm IHlvdSBhcmUgdXNpbmcgbW9yZSB0aGFuIG9uZS4gVGhlIGxvbmcgcGlwZSBhZGRyZXNzIHdpbGwg ZWZmZWN0aXZlbHkgYmxvY2sgZm9yZWlnbiB0cmFuc21pc3Npb25zLgoKQWxsZW4KCi0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tCkZyb206IHBpY2xpc3QtYm91bmNlc0BtaXQuZWR1IFttYWlsdG86 cGljbGlzdC1ib3VuY2VzQG1pdC5lZHVdIE9uIEJlaGFsZiBPZiBtaWtlIGJyb3duClNlbnQ6IFNh dHVyZGF5LCBPY3RvYmVyIDI4LCAyMDE3IDY6MzQgUE0KVG86IE1pY3JvY29udHJvbGxlciBkaXNj dXNzaW9uIGxpc3QgLSBQdWJsaWMuClN1YmplY3Q6IFtFRV0gU2Vla2luZyBhZHZpY2Ugb24gdXNp bmcgTlJGMjRMMDEgZGV2aWNlcwoKTW9yZSBnYW1lIHJvb20gc3R1ZmYuICBJ4oCZdmUgbmV2ZXIg YmVmb3JlIHVzZWQgdGhlc2UgdGhpbmdzLCBidXQgSeKAmW0KcGxhbm5pbmcgb24gaGF2aW5nIHNl dmVyYWwgcGFpcnMgb3BlcmF0aW5nIGluIGEgc21hbGxpc2ggYXJlYS4gIFRoZXkgbW9zdGx5Cndp bGwgYmUgdXNlZCB0byBlbGltaW5hdGUgd2lyaW5nIGJldHdlZW4gc29tZSBwcm9wcy4gIE1vc3Qg d2lsbCBvcGVyYXRlIGluCmEgc2luZ2xlIGRpcmVjdGlvbiBhbmQgdGhlIHNlbmRlciB3aWxsIGNv bW11bmljYXRlIGEgdmVyeSBzbWFsbCBhbW91bnQgb2YKaW5mb3JtYXRpb24gdG8gdGhlIHJlY2Vp dmVyLCBiYXNpY2FsbHkgdGVsbGluZyB0aGUgcmVjZWl2ZXIgdG8gZG8gaXRzIHRoaW5nCmFuZCBy ZWxlYXNlIGEgbWFnbmV0aWMgbG9jayBvciB0d2lzdCBhIHNlcnZvIG1vdG9yLCBvbmUgd2lsbCBp bGx1bWluYXRlIGFuCkxFRC4gIFJlYWxseSB0cml2aWFsLCBidXQgaW1wZXJhdGl2ZSB0aGF0IHRo aW5ncyB3b3JrLgoKCgpJ4oCZdmUgYmVlbiBkb2luZyBzb21lIHNpbXBsZSB0ZXN0cyBoZXJlIGFu ZCBoYXZlIG5vdGljZWQgdGhhdCB0aGVzZSBhcmUgZmFyCmZyb20gYmVpbmcgMTAwJSByZWxpYWJs ZTsgdGhleSB3b3JrLCBidXQgbG9zdCBwYWNrZXRzIGFyZSBmcmVxdWVudCAoMTAlIG9yCnNvKS4g IEnigJlkIGFwcHJlY2lhdGUgYW55IGlucHV0IGZyb20gZm9sa3MgdGhhdCBoYXZlIHVzZWQgdGhl c2UgaW4gdGVybXMgb2YKZ290Y2hhcyBvciB0cmlja3MgdG8gaW5jcmVhc2UgcmVsaWFiaWxpdHku ICBJ4oCZbSB0aGlua2luZyB0aGF0IGlmIEkganVzdApoYXZlIHRoZSBzZW5kZXIgcm9ja2V0IDUw IHBhY2tldHMgdG8gdGhlIHJlY2VpdmVyLCByZWxpYWJpbGl0eSBzaG91bGQgYmUKMTAwJS4KCgoK QXJlIHRoZXJlIGJldHRlciBtZXRob2RzIHRvIGFjY29tcGxpc2ggdGhlIGdvYWw/ICBXb3VsZCBy ZXF1aXJpbmcgYW4gQUNLCnJlc3BvbnNlIGFuZCBzZW5kaW5nIHBhY2tldHMgdW50aWwgSSBnZXQg b25lIGJlIHNtYXJ0ZXI/ICBJdOKAmXMgaW1wZXJhdGl2ZQp0aGF0IHRoZXNlIHRoaW5ncyB3b3Jr LgoKCgpJIGNhbuKAmXQgYmVsaWV2ZSBob3cgY2hlYXAgdGhlc2UgYXJlIGFuZCBob3cgbmljZWx5 IHRoZSBib2FyZHMgYXJlIG1hZGUuClRoZSBwcmludGVkIGFudGVubmEgbG9va3MgbGlrZSBpdCB3 YXMgYWN0dWFsbHkgZGVzaWduZWQgYW5kIG5vdCBqdXN0IGFuCmFmdGVydGhvdWdodC4gIEkgcmVt ZW1iZXIgd2hlbiB0aGVzZSBmaXJzdCBjYW1lIGFsb25nIGFuZCBwZW9wbGUgaGFkIGFsbApraW5k cyBvZiB0cm91YmxlIGdldHRpbmcgdGhlbSB0byB3b3JrLiAgQXJlIHRoZXkgYWN0dWFsbHkgcmVm aW5lZCB0byB0aGUKcG9pbnQgb2YgYmVpbmcgdHJ1bHkgdXNlZnVsLiAgSSByZWFsaXplIHRoZSBt ZXNzIHRoYXQgMi40R0h6IGlzIGluIHRlcm1zIG9mCmludGVyZmVyaW5nIGRldmljZXMgZ2V0dGlu ZyBpbnRvIG15IHdheSAoV2lGaSwgQmx1ZXRvb3RoLCBtaWNyb3dhdmUgb3ZlbnMsCndpcmVsZXNz IGRvbyBkYWRzIGV0YykuCi0tIApodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYvcGljbGlz dCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlClZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBv cHRpb25zIGF0Cmh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0 CgoKLS0gCmh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEg JiBsaXN0IGFyY2hpdmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKaHR0 cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .