Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: Mass Storage Gadget Device Falls from SuperSpeed to High Speed From: Rob Weber Message-Id: <20190410014844.GA19912@coops> Date: Tue, 9 Apr 2019 18:48:44 -0700 To: Felipe Balbi Cc: linux-usb@vger.kernel.org, mathias.nyman@intel.com List-ID: SGkgRmVsaXBlLAoKT24gVGh1LCBBcHIgMDQsIDIwMTkgYXQgMTI6NDM6MDFQTSArMDMwMCwgRmVs aXBlIEJhbGJpIHdyb3RlOgo+ID4gV2UndmUgaWRlbnRpZmllZCBhIGNvdXBsZSBvZiBhdXhpbGlh cnkgaXNzdWVzIHRoYXQgc2VlbSB0byBiZSB1bnJlbGF0ZWQsCj4gPiBidXQgd2UgYXJlIHRyeWlu ZyB0byBnYXRoZXIgbW9yZSBkYXRhIHRvIGJlIHN1cmUuIE9uZSBpc3N1ZSB3ZSBhcmUKPiA+IGV4 cGVyaWVuY2luZyBpcyBwYXJ0aWN1bGFybHkgY2xlYXI6IFdlIHNlZW0gdG8gaGF2ZSBhIHJhY2Ug Y29uZGl0aW9uCj4gPiBiZXR3ZWVuIHRoZSBzd2l0Y2hpbmcgb2YgY2hhbm5lbHMgb24gdGhlIFNT IG11eCBvbiBvdXIgcGxhdGZvcm0gYW5kIHRoZQo+ID4gZW51bWVyYXRpb24gb2Ygb3VyIGRldmlj ZS4gV2UgYmVsaWV2ZSBvdXIgZGV2aWNlIGdldHMgZW51bWVyYXRlZCBpbiBoaWdoCj4gPiBzcGVl ZCBiZWZvcmUgd2Ugc3dpdGNoIHRoZSBjaGFubmVsIG9mIHRoZSBTUyBtdXguIFRoaXMgY2FuIGJl IGNsZWFybHkKPiA+IG9ic2VydmVkIHdoaWxlIHdhdGNoaW5nIHRoZSBsb2dzIG9mIHRoZSBNQ1Ug b24gb3VyIHBsYXRmb3JtIHdoaWxlCj4gPiBzaW11bHRhbmVvdXNseSB3YXRjaGluZyBkbWVzZy4g QmVsb3cgaXMgYW4gZXhhbXBsZSBvZiB0aGlzIHRlc3Qgc2V0dXAuCj4gPiBQbGVhc2Ugbm90ZSB0 aGUgTUNVIGxvZ3MgYmVnaW4gd2l0aCBbZ2VuZXJhbF1bREJHXToKPiA+Cj4gPiByb290QGduYXJi b3gtMjp+IyBlY2hvIGRldmljZSA+IC9zeXMvY2xhc3MvdXNiX3JvbGUvaW50ZWxfeGhjaV91c2Jf c3ctcm9sZS1zd2l0Y2gvcm9sZQo+ID4gcm9vdEBnbmFyYm94LTI6fiMgLi9iaW4vdXNiLXRyYWNl IDEKPiA+IGVjaG8gMSA+IC90L2V2ZW50cy9kd2MzL2VuYWJsZQo+ID4gZWNobyAxID4gL3QvZXZl bnRzL3hoY2ktaGNkL2VuYWJsZQo+ID4gZWNobyAxID4gL3QvZXZlbnRzL2dhZGdldC9lbmFibGUK PiA+IHJvb3RAZ25hcmJveC0yOn4jIG1vZHByb2JlIGdfbWFzc19zdG9yYWdlIGZpbGU9L2Rldi9u dm1lMG4xcDcgaVNlcmlhbE51bWJlcj05MDQwNQo+ID4gcm9vdEBnbmFyYm94LTI6fiMgc3R0eSAt RiAvZGV2L3R0eVMyIDExNTIwMCBjczggY3N0b3BiIC1wYXJlbmIgLWljcm5sCj4gPiByb290QGdu YXJib3gtMjp+IyBjYXQgL2Rldi90dHlTMiAmCj4gPiBbMV0gMTczMwo+ID4gcm9vdEBnbmFyYm94 LTI6fiMgZG1lc2cgLXcKPiA+Cj4gPiBPa2F5LCBzZXR1cCBjb21wbGV0ZSwgYWFhbmQgd2UncmUg cm9sbGluZy4uLgo+ID4KPiA+IFtnZW5lcmFsXSBbREJHXSBoYW5kbGVfaW50cjogKG90ZykgZXZl bnQ6IFJwIENoYW5nZSBEZXRlY3RlZCgpCj4gPiBbZ2VuZXJhbF0gW0RCR10gYXBwbHlfcGRvOiBz ZXR0aW5nIGxpbWl0IGJhc2VkIG9uIFJwIHZhbCAwCj4gPiBbZ2VuZXJhbF0gW0RCR10gc2V0X2N1 cnJlbnRfbGltaXQ6IElJTl9IT1NUOiAxMDAgMHgwMTAwCj4gPiBbZ2VuZXJhbF0gW0RCR10gc2V0 X2N1cnJlbnRfbGltaXQ6IHN1Y2Nlc3MgKHRyaWVkIDEgdGltZXMpCj4gPiBbZ2VuZXJhbF0gW0RC R10gaGFuZGxlX2ludHI6IChvdGcpIGV2ZW50OiBUeXBlLUMgUG9ydCBDb25uZWN0IERldGVjdGVk KCkKPiA+IFtnZW5lcmFsXSBbREJHXSB1c2JfbXV4X3NlbDogKG90ZykgcG9sYXJpdHk6IDIKPiA+ Cj4gPiBIZXJlJ3Mgd2hlcmUgdGhlIFBEIGNvbnRyb2xsZXIgZGV0ZWN0cyB0aGUgY29ubmVjdGlv bi4gTm90ZSB0aGUgcG9sYXJpdHkKPiA+IG9mIHRoZSBjYWJsZSB0aGF0IHdlIGRldGVjdC4KPiA+ Cj4gPiBbZ2VuZXJhbF0gW0RCR10gaGFuZGxlX2ludHI6IChvdGcpIE5vdGhpbmcgdG8gZG8uCj4g PiBbZ2VuZXJhbF0gW0RCR10gaGFuZGxlX2ludHI6IChvdGcpIGV2ZW50OiBIYXJkIFJlc2V0IFNl bnQgdG8gUG9ydCBQYXJ0bmVyCj4gPiBbICAxNzkuOTA1ODM1XSBnX21hc3Nfc3RvcmFnZSBnYWRn ZXQ6IHN1cGVyLXNwZWVkIGNvbmZpZyAjMTogTGludXggRmlsZS1CYWNrZWQgU3RvcmFnZQo+ID4K PiA+IHNob3J0bHkgYWZ0ZXIsIHRoZSBkZXZpY2UgaXMgZW51bWVyYXRlZCBhbmQgdGhlIGxpbmsg c3BlZWQgaXMgc2V0IHRvIDVHYnBzCj4gPgo+ID4gW2dlbmVyYWxdIFtEQkddIGhhbmRsZV9pbnRy OiAob3RnKSBldmVudDogSGFyZCBSZXNldCBTZW50IHRvIFBvcnQgUGFydG5lcgo+ID4gW2dlbmVy YWxdIFtEQkddIGhhbmRsZV9pbnRyOiAob3RnKSBldmVudDogSGFyZCBSZXNldCBTZW50IHRvIFBv cnQgUGFydG5lcgo+ID4gW2dlbmVyYWxdIFtEQkddIGhhbmRsZV9pbnRyOiAob3RnKSBldmVudDog U291cmNlIERpc2FibGVkIFN0YXRlIEVudGVyZWQKPiA+IFtnZW5lcmFsXSBbREJHXSBlbmFibGVf Y2hhcmdpbmc6IGluY29ycmVjdCBjdXJyZW50IGxpbWl0KDMzMDApLCBzZXR0aW5nKDEwMCkKPiA+ IFtnZW5lcmFsXSBbREJHXSBzZXRfY3VycmVudF9saW1pdDogSUlOX0hPU1Q6IDEwMCAweDAxMDAK PiA+IFtnZW5lcmFsXSBbREJHXSBzZXRfY3VycmVudF9saW1pdDogc3VjY2VzcyAodHJpZWQgMSB0 aW1lcykKPiA+IC4uLgo+ID4gLi4uCj4gPiBbZ2VuZXJhbF0gW0RCR10gaGFuZGxlX2ludHI6IChv dGcpIGV2ZW50OiBUeXBlLUMgUG9ydCBEaXNjb25uZWN0IERldGVjdGVkKCkKPiA+IFtnZW5lcmFs XSBbREJHXSBhcHBseV9wZG86IHNldHRpbmcgbGltaXQgYmFzZWQgb24gUnAgdmFsIDAKPiA+IFtn ZW5lcmFsXSBbREJHXSBzZXRfY3VycmVudF9saW1pdDogSUlOX0hPU1Q6IDEwMCAweDAxMDAKPiA+ IFtnZW5lcmFsXSBbREJHXSBzZXRfY3VycmVudF9saW1pdDogc3VjY2VzcyAodHJpZWQgMSB0aW1l cykKPiA+IFtnZW5lcmFsXSBbREJHXSBkaXNhYmxlX2NoYXJnaW5nOgo+ID4KPiA+IEhlcmUgd2Ug ZGlzY29ubmVjdCB0aGUgY2FibGUgZnJvbSBvdXIgZGV2aWNlLgo+ID4KPiA+IFsgIDIyNi43NTk4 NDNdIGdfbWFzc19zdG9yYWdlIGdhZGdldDogaGlnaC1zcGVlZCBjb25maWcgIzE6IExpbnV4IEZp bGUtQmFja2VkIFN0b3JhZ2UKPiA+IFtnZW5lcmFsXSBbREJHXSBoYW5kbGVfaW50cjogKG90Zykg ZXZlbnQ6IFR5cGUtQyBQb3J0IENvbm5lY3QgRGV0ZWN0ZWQoKQo+ID4gW2dlbmVyYWxdIFtEQkdd IHVzYl9tdXhfc2VsOiAob3RnKSBwb2xhcml0eTogMAo+ID4KPiA+IEhlcmUgd2UgcmVjb25uZWN0 ZWQgb3VyIGRldmljZSB0byB0aGUgaG9zdCBidXQgd2l0aCB0aGUgY2FibGUgaW4gYQo+ID4gZGlm ZmVyZW50IHBvbGFyaXR5IHRoYW4gYmVmb3JlLiBUaGlzIG1lYW5zIHRoZSBTUyBtdXggaXMgbm90 IHByb3Blcmx5Cj4gPiBjb25maWd1cmVkIGZvciB0aGUgY3VycmVudCBjYWJsZSBvcmllbnRhdGlv biBhbmQgbXVzdCBiZSBzd2l0Y2hlZC4gQWxzbwo+ID4gbm90ZSBoZXJlIHRoYXQgbGludXggc2Vl bXMgdG8gcmVwb3J0IHRoZSBlbnVtZXJhdGlvbiBpbiBoaWdoIHNwZWVkCj4gPiBiZWZvcmUgb3Vy IE1DVSBoYWQgYSBjaGFuY2UgdG8gcmVhY3QgdG8gdGhlIG5ldyBjb25uZWN0aW9uLgo+ID4KPiA+ IFtnZW5lcmFsXSBbREJHXSBoYW5kbGVfaW50cjogKG90ZykgZXZlbnQ6IEhhcmQgUmVzZXQgU2Vu dCB0byBQb3J0IFBhcnRuZXIKPiA+IFtnZW5lcmFsXSBbREJHXSBoYW5kbGVfaW50cjogKG90Zykg ZXZlbnQ6IEhhcmQgUmVzZXQgU2VudCB0byBQb3J0IFBhcnRuZXIKPiA+IFtnZW5lcmFsXSBbREJH XSBoYW5kbGVfaW50cjogKG90ZykgZXZlbnQ6IEhhcmQgUmVzZXQgU2VudCB0byBQb3J0IFBhcnRu ZXIKPiA+IFtnZW5lcmFsXSBbREJHXSBoYW5kbGVfaW50cjogKG90ZykgZXZlbnQ6IFNvdXJjZSBE aXNhYmxlZCBTdGF0ZSBFbnRlcmVkCj4gPiBbZ2VuZXJhbF0gW0RCR10gZW5hYmxlX2NoYXJnaW5n OiBpbmNvcnJlY3QgY3VycmVudCBsaW1pdCgzMzAwKSwgc2V0dGluZygxMDApCj4gPiBbZ2VuZXJh bF0gW0RCR10gc2V0X2N1cnJlbnRfbGltaXQ6IElJTl9IT1NUOiAxMDAgMHgwMTAwCj4gPiBbZ2Vu ZXJhbF0gW0RCR10gc2V0X2N1cnJlbnRfbGltaXQ6IHN1Y2Nlc3MgKHRyaWVkIDEgdGltZXMpCj4g PiAuLi4KPiA+IC4uLgo+ID4gW2dlbmVyYWxdIFtEQkddIGhhbmRsZV9pbnRyOiAob3RnKSBldmVu dDogVHlwZS1DIFBvcnQgRGlzY29ubmVjdCBEZXRlY3RlZCgpCj4gPiBbZ2VuZXJhbF0gW0RCR10g YXBwbHlfcGRvOiBzZXR0aW5nIGxpbWl0IGJhc2VkIG9uIFJwIHZhbCAwCj4gPiBbZ2VuZXJhbF0g W0RCR10gc2V0X2N1cnJlbnRfbGltaXQ6IElJTl9IT1NUOiAxMDAgMHgwMTAwCj4gPiBbZ2VuZXJh bF0gW0RCR10gc2V0X2N1cnJlbnRfbGltaXQ6IHN1Y2Nlc3MgKHRyaWVkIDEgdGltZXMpCj4gPiBb Z2VuZXJhbF0gW0RCR10gZGlzYWJsZV9jaGFyZ2luZzoKPiA+Cj4gPiBIZXJlIHdlIGRpc2Nvbm5l Y3Qgb3VyIGRldmljZSBmcm9tIHRoZSBob3N0IGJ5IHJlbW92aW5nIHRoZSBjYWJsZSBmcm9tCj4g PiBvdXIgZGV2aWNlJ3MgdHlwZS1jIGNvbm5lY3Rvci4KPiA+Cj4gPiBbICAyNjIuNzgzMzE4XSBk d2MzIGR3YzMuMS5hdXRvOiByZXF1ZXN0IGZmZmY4ODAxNjhhZTMyNDAgd2FzIG5vdCBxdWV1ZWQg dG8gZXAxb3V0Cj4gPiBbICAyNjIuOTIwNDYxXSBnX21hc3Nfc3RvcmFnZSBnYWRnZXQ6IHN1cGVy LXNwZWVkIGNvbmZpZyAjMTogTGludXggRmlsZS1CYWNrZWQgU3RvcmFnZQo+ID4gW2dlbmVyYWxd IFtEQkddIGhhbmRsZV9pbnRyOiAob3RnKSBldmVudDogVHlwZS1DIFBvcnQgQ29ubmVjdCBEZXRl Y3RlZCgpCj4gPiBbZ2VuZXJhbF0gW0RCR10gdXNiX211eF9zZWw6IChvdGcpIHBvbGFyaXR5OiAw Cj4gPgo+ID4gSGVyZSB3ZSByZS1jb25uZWN0IG91ciBkZXZpY2UgdG8gdGhlIGhvc3QsIGJ1dCB3 ZSBtYWRlIHN1cmUgdG8gbGVhdmUgdGhlCj4gPiBjYWJsZSBpbiB0aGUgc2FtZSBvcmllbnRhdGlv biBhcyBiZWZvcmUuIFRoYXQgd2F5IHRoZSBTUyBtdXggaXMgYWxyZWFkeQo+ID4gY29uZmlndXJl ZCBmb3IgdGhlIGN1cnJlbnQgY2FibGUgb3JpZW50YXRpb24uIFdlIHN0aWxsIHNlZSB0aGUgVVNC Cj4gPiBkZXZpY2UgZW51bWVyYXRpb24gb2NjdXIgYmVmb3JlIHRoZSBNQ1UgaGFzIGEgY2hhbmNl IHRvIHJlc3BvbmQsIGJ1dCBpdAo+ID4gZ2V0cyBlbnVtZXJhdGVkIGluIFN1cGVyU3BlZWQgYmVj YXVzZSB0aGUgU1MgbXV4IHdhcyBhbHJlYWR5IGNvbmZpZ3VyZWQKPiA+IGZvciB0aGlzIGNhYmxl IG9yaWVudGF0aW9uLgo+IAo+IFRoaXMgbG9va3MgbGlrZSBhbiBvbGQgYnVnIG9uIHhoY2kgd2hp Y2ggd2FzIGZpeGVkIGxvbmcgYWdvLiBNYXRoaWFzLCBkbwo+IHlvdSByZW1lbWJlciB0aGF0IGJ1 Zz8gV2hpY2gga2VybmVsIGZpeGVkIHRoYXQgaXNzdWU/Cj4gCj4gPiBXZSd2ZSBjb21lIHVwIHdp dGggYSBmZXcgc29sdXRpb25zIHRoYXQgYXJlIHNwZWNpZmljIHRvIG91ciBwbGF0Zm9ybQo+ID4g aW4gb3JkZXIgdG8gcmVkdWNlIHRoZSBjaGFuY2VzIG9mIHRoaXMgcmFjZSBjb25kaXRpb24gb2Nj dXJpbmcsIGJ1dCBJCj4gPiB3YW50ZWQgdG8gYXNrIHlvdSBmb3IgeW91ciB0aG91Z2h0cyBhYm91 dCBob3cgd2UgbWlnaHQgYmUgYWJsZSB0byB3b3JrCj4gPiBhcm91bmQgdGhpcyBmcm9tIExpbnV4 LiBJbiB0aGUgZXZlbnQgdGhhdCB3ZSBjYW5ub3QgY29tcGxldGVseSBlbGltaW5hdGUKPiA+IHRo aXMgcmFjZSBjb25kaXRpb24sIHdlIHdvdWxkIGxpa2UgdG8gZmluZCBzb21lIHdheSB0byAidXBn cmFkZSIgdGhlCj4gPiBjb25uZWN0aW9uIGZyb20gaGlnaCBzcGVlZCB0byBTdXBlclNwZWVkLiBJ cyBzb21ldGhpbmcgbGlrZSB0aGlzCj4gPiBwb3NzaWJsZT8KPiAKPiBVbmZvcnR1bmF0ZWx5IG5v dC4gRG9lcyB0aGlzIGNvbnRpbnVlIHRvIGhhcHBlbiBpZiB5b3UgY2hhbmdlIHRoZSBob3N0Cj4g bWFjaGluZSB0byBlLmcuIFdpbmRvd3Mgb3IgYSBtb3JlIHJlY2VudCBsaW51eCBrZXJuZWw/CgpZ ZXMsIHRoaXMgaGFwcGVucyBvbiBhbGwgaG9zdHMgKFdpbmRvd3MsIE9TWCwgTGludXggb24gYSBy YW5nZSBvZgprZXJuZWxzKSwgd2hpY2ggbGVhZHMgbWUgdG8gYmVsaWV2ZSBpdCBtaWdodCBiZSB1 bnJlbGF0ZWQgdG8gdGhlIHhoY2kKYnVnIHlvdSByZWNhbGxlZCBlYXJsaWVyLgoKPiA+IE15IG5h aWl2ZSB1bmRlcnN0YW5kaW5nIHdzYXMgdGhhdCB0aGUgaG9zdCB3b3VsZCBjb250aW51b3VzbHkK PiA+IHBvbGwgdGhlIFNTIGxpbmVzIGZvciBhIHZhbGlkIGNvbm5lY3Rpb24sIGJ1dCBJIGJlbGll dmUgSSBhbSBtaXN0YWtlbgo+ID4gaGVyZS4gSSBub3RpY2VkIGluIHRoZSBVU0IgcHJvdG9jb2wg dHJhY2VzIHRoYXQgdGhlcmUgYXJlIGEgY291cGxlIG9mCj4gPiBMaW5rIE1hbmFnZW1lbnQgUGFj a2V0cyAoTFBNcykgdGhhdCB0aGUgaG9zdCBzZW5kcy4gT25lIG9mIHRoZW0gc2VlbXMgdG8KPiA+ IHJlcXVlc3QgdGhlIGNvbmZpZ3VyYXRpb24gZGVzY3JpcHRvciwgYW5kIGFub3RoZXIgc2VlbXMg dG8gcmVxdWVzdCB0aGUKPiA+IGxpbmsgc3BlZWQgYmUgc2V0IHRvIDUgR2JwcywgdG8gd2hpY2gg dGhlIGRldmljZSBhY2tub3dsZWRnZXMgYW5kCj4gPiBjb21wbGllcy4gSXMgaXQgcG9zc2libGUg dG8gZm9yY2UgdGhpcyBzb3J0IG9mIGV4Y2hhbmdlIHRvIGhhcHBlbiBhZ2Fpbj8gCj4gCj4gQUZB SUNULCB0aGF0J3MgaGFuZGxlZCBlbnRpcmVseSBhdCB0aGUgSFcgbGV2ZWwgd2l0aG91dCBTVyBp bnRlcnZlbnRpb24uCgpIbW0sIG9rYXkuIE1pZ2h0IGl0IGJlIHBvc3NpYmxlIHRvIHBlcmZvcm0g c29tZSBzb3J0IG9mIHNvZnQgcmVzZXQgb2YKdGhlIGR3YzMsIG9yIHBvc3NpYmx5IGFzayB0aGUg aG9zdCB0byByZXNldCB0aGUgZGV2aWNlPwoKV2UncmUgbG9va2luZyBmb3IgYW55IHdheSB0byBw b3NzaWJseSByZXNldCB0aGUgY29ubmVjdGlvbiBmcm9tIEhTIHRvIFNTCndoZW4gd2UgaGl0IHRo aXMgcmFjZSBjb25kaXRpb24uIFdlIGFyZSBhbHNvIGN1cnJlbnRseSBleHBsb3Jpbmcgd2F5cyBv Zgpzd2l0Y2hpbmcgdGhlIG9yaWVudGF0aW9uIG9mIHRoZSBTUyBtdXggbW9yZSBlZmZpY2llbnRs eS4KCj4gPiBJJ3ZlIGF0dGFjaGVkIHlldCBhbm90aGVyIHRhcmJhbGwgY29udGFpbmluZyB0aGUg ZHdjMyB0cmFjZXMsIFVTQgo+ID4gcHJvdG9jb2wgZGF0YSAoZnJvbSBhIFRlbGVkeW5lIExlQ3Jv eSBhbmFseXplciwgY29tcGF0aWJsZSB3aXRoIHRoZSAiVVNCCj4gPiBQcm90b2NvbCBTdWl0ZSIg YXBwbGljYXRpb24pLCBhbmQgYSByYXcgY29weSBvZiB0aGUgbG9ncyBJIGFubm90YXRlZAo+ID4g YWJvdmUuIFRoZSB0aW1lc3RhbXBzIGluIHRoZSBkd2MzIHRyYWNlcyBzaG91bGQgbGluZSB1cCB3 aXRoIHRoZQo+ID4gdGltZXN0YW1wcyBvZiB0aGUgZG1lc2cgb3V0cHV0IGluIHRoZSBhbm5vdGF0 ZWQgbG9ncy4gVGhlIFVTQiBwcm90b2NvbAo+ID4gZGF0YSBpcyBmcm9tIGEgZGlmZmVyZW50IHNl c3Npb24sIGJ1dCBzdGlsbCBjb250YWlucyBhbiBleGFtcGxlIG9mIHRoZQo+ID4gZmlyc3QgZW51 bWVyYXRpb24gaW4gaGlnaCBzcGVlZCwgYW5kIHRoZSBzZWNvbmQgaW4gU1MsIGFsbCBpbiBvbmUK PiA+IHNhbXBsZS4gVGhlIFNTIGVudW1lcmF0aW9uIGhhcHBlbnMgYXQgYXJvdW5kIDggc2Vjb25k cyBpbnRvIHRoZQo+ID4gMTItc2Vjb25kIGNhcHR1cmUuCj4gPgo+ID4gVGhhbmtzIGluIGFkdmFu Y2UgZm9yIHlvdXIgaW5wdXQgaGVyZSEKPiAKPiBJJ2xsIGhhdmUgdG8gc3BlbmQgc29tZSBtb3Jl IHRpbWUgd2l0aCB0aGUgbG9ncywgYnV0IGF0IGxlYXN0IGZyb20KPiB0cmFjZXMsIEkgY291bGRu J3Qgc2VlIGFueXRoaW5nIHRoYXQgd291bGQgZ2l2ZSBhIGhpbnQuIEknbGwgdHJ5IGxvb2tpbmcK PiBhdCBDQVRDIHRyYWNlcyBsYXRlciB0b2RheSB0b21vcnJvdy4KPiAKPiA+PiA+IEkndmUgYXR0 YWNoZWQgYSB0YXJiYWxsIGNvbnRhaW5pbmcgdGhlIGRtZXNnIG91dHB1dCwgcmVnZHVtcCwgYW5k Cj4gPj4gPiB0cmFjZXBvaW50cyBvZiBhIHN1Y2Nlc2Z1bCBzZXNzaW9uIHdpdGggdGhlIHBhdGNo IGFwcGxpZWQuIEkndmUgaW5jbHVkZWQKPiA+PiA+IHRoZSBwYXRjaCBpbiB0aGUgdGFyYmFsbCBp ZiB5b3Ugd291bGQgbGlrZSB0byBzZWUgaG93IEkgcG9ydGVkIGl0Lgo+ID4+ID4gQ291bGQgeW91 IHBsZWFzZSBkb3VibGUtY2hlY2sgdGhlIHRyYWNlcyB0byBtYWtlIHN1cmUgdGhleSBtZWV0IHlv dXIKPiA+PiA+IGV4cGVjdGF0aW9ucyBmb3IgZGlzYWJsaW5nIHRoZSBVMS9VMl9FTkFCTEUgZmVh dHVyZXM/IEkgbG9va2VkIHRocm91Z2gKPiA+PiA+IHRoZSB0cmFjZXMgYW5kIGNvdWxkIG5vdCBm aW5kIGFueSBsaW5rIHN0YXRlIGNoYW5nZXMgdG8gVTEgb3IgVTIsIHNvIGl0Cj4gPj4gPiBzZWVt cyBsaWtlIGl0J3Mgd29ya2luZy4KPiA+PiAKPiA+PiBUaGUgaG9zdCwgZnJvbSB0aGF0IHJ1biwg ZGlkbid0IGVuYWJsZSBkZXZpY2UtaW5pdGlhdGVkIFUxL1UyIGVudHJ5LiBTbwo+ID4+IG9ubHkg aG9zdC1pbml0aWF0ZWQgZW50cnkgaXMgYXZhaWFibGUuIFNpbmNlIHdlIGhhdmUgcmVtb3ZlZAo+ ID4+IEFDQ0VQVFUxL0FDQ0VQVFUyIGJpdHMgZnJvbSBEQ1RMLCBkd2MzIGlzIGRlbnlpbmcgTEdP X1UxIGFuZCBMR09fVTIuIFlvdQo+ID4+IGNhbiBjb25maXJtIHRoYXQgb25seSB3aXRoIGEgc25p ZmZlci4KPiA+PiAKPiA+PiA+IEkgaGF2ZSBhIGNvdXBsZSBvZiBmb2xsb3ctdXAgcXVlc3Rpb25z IGFib3V0IHRoaXMgcGF0Y2g6Cj4gPj4gPgo+ID4+ID4gKiBJIGFkZGVkIHNvbWUgdHJhY2Vwb2lu dHMgaW4gdGhlIHBhdGNoIEknbSBhcHBseWluZyBidXQgdGhleSBkb24ndCBzZWVtCj4gPj4gPiAg IHRvIGJlIGluY2x1ZGVkIGluIHRoZSB0cmFjZSBvdXRwdXQuIFRoaXMgcGF0Y2ggYXBwbGllcyBj bGVhbmx5IGFuZCBJCj4gPj4gPiAgIGhhdmVuJ3Qgc2VlbiBhbnkgY29tcGlsZXIgd2FybmluZ3Mg YWJvdXQgaXQuIElzIHRoZQo+ID4+ID4gICBkd2MzX2VwMF9oYW5kbGVfZmVhdHVyZSBmdW5jdGlv biBub3QgY2FsbGVkIGR1cmluZwo+ID4+IAo+ID4+IGl0J3MgY2FsbGVkIGZyb20gU2V0RmVhdHVy ZSgpIGNvbW1hbmQuIElmIFNldEZlYXR1cmUoKSBpcyBub3Qgc2VudCBieQo+ID4+IHRoZSBob3N0 LCB0aGVuIHlvdSB3b24ndCBzZWUgeW91ciB0cmFjZXBvaW50cy4gRllJLCBTZXRGZWF0dXJlIHdv dWxkCj4gPj4gaGF2ZSBhIGJSZXF1ZXN0IG9mIDMuIEhlcmUgd2UgY2FuIGFsbCBjdHJsIHJlcXVl c3RzOgo+ID4+IAo+ID4+ICAxOTI6ICAgICBpcnEvMjMtZHdjMy0xNzY1ICBbMDAwXSBkLi4xICAg MjEzLjAwNzU5MTogZHdjM19jdHJsX3JlcTogYlJlcXVlc3RUeXBlIDAwIGJSZXF1ZXN0IDA1IHdW YWx1ZSAwMDA1IHdJbmRleCAwMDAwIHdMZW5ndGggMAo+ID4+ICAyMDg6ICAgICBpcnEvMjMtZHdj My0xNzY1ICBbMDAwXSBkLi4xICAgMjEzLjAxMDQ1NzogZHdjM19jdHJsX3JlcTogYlJlcXVlc3RU eXBlIDgwIGJSZXF1ZXN0IDA2IHdWYWx1ZSAwMTAwIHdJbmRleCAwMDAwIHdMZW5ndGggMTgKPiA+ PiAgMjM3OiAgICAgaXJxLzIzLWR3YzMtMTc2NSAgWzAwMF0gZC4uMSAgIDIxMy4wMTA4NzE6IGR3 YzNfY3RybF9yZXE6IGJSZXF1ZXN0VHlwZSA4MCBiUmVxdWVzdCAwNiB3VmFsdWUgMDMwNCB3SW5k ZXggMDQwOSB3TGVuZ3RoIDIKPiA+PiAgMjY2OiAgICAgaXJxLzIzLWR3YzMtMTc2NSAgWzAwMF0g ZC4uMSAgIDIxMy4wMTEzMzA6IGR3YzNfY3RybF9yZXE6IGJSZXF1ZXN0VHlwZSA4MCBiUmVxdWVz dCAwNiB3VmFsdWUgMDMwNCB3SW5kZXggMDQwOSB3TGVuZ3RoIDQwCj4gPj4gIDI5NTogICAgIGly cS8yMy1kd2MzLTE3NjUgIFswMDBdIGQuLjEgICAyMTMuMDExNzA3OiBkd2MzX2N0cmxfcmVxOiBi UmVxdWVzdFR5cGUgODAgYlJlcXVlc3QgMDYgd1ZhbHVlIDAzMDMgd0luZGV4IDA0MDkgd0xlbmd0 aCAyCj4gPj4gIDMyNDogICAgIGlycS8yMy1kd2MzLTE3NjUgIFswMDBdIGQuLjEgICAyMTMuMDEy MTM3OiBkd2MzX2N0cmxfcmVxOiBiUmVxdWVzdFR5cGUgODAgYlJlcXVlc3QgMDYgd1ZhbHVlIDAz MDMgd0luZGV4IDA0MDkgd0xlbmd0aCA5Mgo+ID4+ICAzNTM6ICAgICBpcnEvMjMtZHdjMy0xNzY1 ICBbMDAwXSBkLi4xICAgMjEzLjAxMjU0ODogZHdjM19jdHJsX3JlcTogYlJlcXVlc3RUeXBlIDgw IGJSZXF1ZXN0IDA2IHdWYWx1ZSAwMzA1IHdJbmRleCAwNDA5IHdMZW5ndGggMgo+ID4+ICAzODI6 ICAgICBpcnEvMjMtZHdjMy0xNzY1ICBbMDAwXSBkLi4xICAgMjEzLjAxMjkzNDogZHdjM19jdHJs X3JlcTogYlJlcXVlc3RUeXBlIDgwIGJSZXF1ZXN0IDA2IHdWYWx1ZSAwMzA1IHdJbmRleCAwNDA5 IHdMZW5ndGggMTIKPiA+PiAgNDExOiAgICAgaXJxLzIzLWR3YzMtMTc2NSAgWzAwMF0gZC4uMSAg IDIxMy4wMTMzMzE6IGR3YzNfY3RybF9yZXE6IGJSZXF1ZXN0VHlwZSA4MCBiUmVxdWVzdCAwNiB3 VmFsdWUgMGYwMCB3SW5kZXggMDAwMCB3TGVuZ3RoIDUKPiA+PiAgNDQwOiAgICAgaXJxLzIzLWR3 YzMtMTc2NSAgWzAwMF0gZC4uMSAgIDIxMy4wMTM3NDg6IGR3YzNfY3RybF9yZXE6IGJSZXF1ZXN0 VHlwZSA4MCBiUmVxdWVzdCAwNiB3VmFsdWUgMGYwMCB3SW5kZXggMDAwMCB3TGVuZ3RoIDIyCj4g Pj4gIDQ2OTogICAgIGlycS8yMy1kd2MzLTE3NjUgIFswMDBdIGQuLjEgICAyMTMuMDE2MDA2OiBk d2MzX2N0cmxfcmVxOiBiUmVxdWVzdFR5cGUgODAgYlJlcXVlc3QgMDYgd1ZhbHVlIDAyMDAgd0lu ZGV4IDAwMDAgd0xlbmd0aCA5Cj4gPj4gIDQ5ODogICAgIGlycS8yMy1kd2MzLTE3NjUgIFswMDBd IGQuLjEgICAyMTMuMDE2NTQzOiBkd2MzX2N0cmxfcmVxOiBiUmVxdWVzdFR5cGUgODAgYlJlcXVl c3QgMDYgd1ZhbHVlIDAyMDAgd0luZGV4IDAwMDAgd0xlbmd0aCA0NAo+ID4+ICA1Mjc6ICAgICBp cnEvMjMtZHdjMy0xNzY1ICBbMDAwXSBkLi4xICAgMjEzLjAxNjk1MTogZHdjM19jdHJsX3JlcTog YlJlcXVlc3RUeXBlIDAwIGJSZXF1ZXN0IDA5IHdWYWx1ZSAwMDAxIHdJbmRleCAwMDAwIHdMZW5n dGggMAo+ID4+ICA1Njg6ICAgICBpcnEvMjMtZHdjMy0xNzY1ICBbMDAwXSBkLi4xICAgMjEzLjAx NzU2OTogZHdjM19jdHJsX3JlcTogYlJlcXVlc3RUeXBlIDgwIGJSZXF1ZXN0IDA2IHdWYWx1ZSAw MzAxIHdJbmRleCAwNDA5IHdMZW5ndGggMgo+ID4+ICA1OTc6ICAgICBpcnEvMjMtZHdjMy0xNzY1 ICBbMDAwXSBkLi4xICAgMjEzLjAxNzkyNjogZHdjM19jdHJsX3JlcTogYlJlcXVlc3RUeXBlIDgw IGJSZXF1ZXN0IDA2IHdWYWx1ZSAwMzAxIHdJbmRleCAwNDA5IHdMZW5ndGggMjYKPiA+PiAgNjI2 OiAgICAgaXJxLzIzLWR3YzMtMTc2NSAgWzAwMF0gZC4uMSAgIDIxMy4wMTgzNjc6IGR3YzNfY3Ry bF9yZXE6IGJSZXF1ZXN0VHlwZSA4MSBiUmVxdWVzdCAwMCB3VmFsdWUgMDAwMCB3SW5kZXggMDAw MCB3TGVuZ3RoIDIKPiA+PiAgNjUzOiAgICAgaXJxLzIzLWR3YzMtMTc2NSAgWzAwMF0gZC4uMSAg IDIxMy4wMjY0MDQ6IGR3YzNfY3RybF9yZXE6IGJSZXF1ZXN0VHlwZSBhMSBiUmVxdWVzdCBmZSB3 VmFsdWUgMDAwMCB3SW5kZXggMDAwMCB3TGVuZ3RoIDEKPiA+PiAgOTI5OiAgICAgaXJxLzIzLWR3 YzMtMTc2NSAgWzAwMF0gZC4uMSAgIDIxNC4xMzgzODU6IGR3YzNfY3RybF9yZXE6IGJSZXF1ZXN0 VHlwZSA4MiBiUmVxdWVzdCAwMCB3VmFsdWUgMDAwMCB3SW5kZXggMDA4MSB3TGVuZ3RoIDIKPiA+ PiAgOTU2OiAgICAgaXJxLzIzLWR3YzMtMTc2NSAgWzAwMF0gZC4uMSAgIDIxNC4xMzg3OTE6IGR3 YzNfY3RybF9yZXE6IGJSZXF1ZXN0VHlwZSAwMiBiUmVxdWVzdCAwMSB3VmFsdWUgMDAwMCB3SW5k ZXggMDA4MSB3TGVuZ3RoIDAKPiA+PiAxMDMxOiAgICAgaXJxLzIzLWR3YzMtMTc2NSAgWzAwMF0g ZC4uMSAgIDIxNC4xNDAyMTQ6IGR3YzNfY3RybF9yZXE6IGJSZXF1ZXN0VHlwZSA4MiBiUmVxdWVz dCAwMCB3VmFsdWUgMDAwMCB3SW5kZXggMDA4MSB3TGVuZ3RoIDIKPiA+PiAxMDU4OiAgICAgaXJx LzIzLWR3YzMtMTc2NSAgWzAwMF0gZC4uMSAgIDIxNC4xNDA2MTg6IGR3YzNfY3RybF9yZXE6IGJS ZXF1ZXN0VHlwZSAwMiBiUmVxdWVzdCAwMSB3VmFsdWUgMDAwMCB3SW5kZXggMDA4MSB3TGVuZ3Ro IDAKPiA+PiAxMTMzOiAgICAgaXJxLzIzLWR3YzMtMTc2NSAgWzAwMF0gZC4uMSAgIDIxNC4xNDIy MDg6IGR3YzNfY3RybF9yZXE6IGJSZXF1ZXN0VHlwZSA4MiBiUmVxdWVzdCAwMCB3VmFsdWUgMDAw MCB3SW5kZXggMDA4MSB3TGVuZ3RoIDIKPiA+PiAxMTYwOiAgICAgaXJxLzIzLWR3YzMtMTc2NSAg WzAwMF0gZC4uMSAgIDIxNC4xNDI1ODc6IGR3YzNfY3RybF9yZXE6IGJSZXF1ZXN0VHlwZSAwMiBi UmVxdWVzdCAwMSB3VmFsdWUgMDAwMCB3SW5kZXggMDA4MSB3TGVuZ3RoIDAKPiA+PiAKPiA+PiBO b3RlIHRoYXQgd2UgZG9uJ3QgaGF2ZSBhbnkgImJSZXF1ZXN0IDAzIiBzdWJzdHJpbmcuCj4gPgo+ ID4gSXMgaXQgbm9ybWFsIHRvIG5vdCBzZWUgYW55IFNldEZlYXR1cmUgY29tbWFuZHM/IEkgdGhp bmsgSSB3YXMgZXhwZWN0aW5nCj4gPiB0byBzZWUgdGhlbSBwcmV0dHkgZnJlcXVlbnRseS4KPiAK PiBUb3RhbGx5IG5vcm1hbCA6LSkgQSBob3N0IGlzIG5vdCByZXF1aXJlZCB0byBhbGxvdyBmb3Ig ZGV2aWNlLWluaXRpYXRlZAo+IFUxL1UyIGVudHJ5LiBOb3IgaXMgaXQgcmVxdWlyZWQgdG8gaGFs dCBhbmQgZW5kcG9pbnQsIGZvciBleGFtcGxlLgo+IAo+ID4+ID4+ID4gSSd2ZSBhdHRhY2hlZCB0 aGUgdHJhY2VzIGFuZCBkbWVzZyBvdXRwdXQgaW4gYW4gYXJjaGl2ZSB0aXRsZWQKPiA+PiA+PiA+ ICJnbmFyYm94LWVwMG91dC1mYWlsdXJlLnRhci54eiIuIFBsZWFzZSBsZXQgbWUga25vdyBpZiB5 b3UgbmVlZCBtb3JlCj4gPj4gPj4gPiBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIHBhcnRpY3VsYXIg aXNzdWUuCj4gPj4gPj4gCj4gPj4gPj4gSSdsbCBnbyBvdmVyIHRoZSB0cmFjZXMsIHRoaXMgY291 bGQgYmUgc29tZXRoaW5nIHRoYXQgaGFzIGJlZW4gZml4ZWQgaW4KPiA+PiA+PiB0aGUgcGFzdC4K PiA+PiA+Cj4gPj4gPiBEaWQgeW91IGdldCBhIGNoYW5jZSB0byB0YWtlIGEgbG9vayBhdCB0aGUg dHJhY2Vwb2ludHMgZm9yIHRoaXMgZXJyb3I/Cj4gPj4gPiBObyB3b3JyaWVzIGlmIHlvdSBoYXZl bid0IGdvdHRlbiBhIGNoYW5jZSB5ZXQuCj4gPj4gCj4gPj4gSSBkaWQsIG5vdGhpbmcgc2NyZWFt aW5nIHdyb25nIHdpdGggdGhlbS4gVGhhdCAiY2FuJ3QgZW5hYmxlIGVwMG91dCIKPiA+PiBzdGls bCBwdXp6bGVzIG1lIGEgYml0LiBXaGF0IHdlIHNlZSBvbiB0cmFjZXBvaW50cyBpcyBhIHRpbWUg b3V0Ogo+ID4+IAo+ID4+IAltb2Rwcm9iZS0xMjgxICBbMDAyXSBkLi4xICAgMjQ2LjUwNDA0Mzog ZHdjM19nYWRnZXRfZXBfY21kOiBlcDBvdXQ6IGNtZCAnU2V0IEVuZHBvaW50IFRyYW5zZmVyIFJl c291cmNlJyBbMl0gcGFyYW1zIDAwMDAwMDAxIDAwMDAwMDAwIDAwMDAwMDAwIC0tPiBzdGF0dXM6 IFRpbWVkIE91dAo+ID4+IAo+ID4+IEJ1dCBJIGhhdmUgbm8gaWRlYSB3aHkgdGhhdCBoYXBwZW5z LiBJdCBjb3VsZCBiZSB0aGF0IHRoaXMgd2FzIGZpeGVkCj4gPj4gbG9uZyBhZ28sIGJ1dCB3ZSB3 b24ndCBrbm93IHVubGVzcyB3ZSBydW4gYSByZWNlbnQga2VybmVsIG9uIHlvdXIKPiA+PiBzZXR1 cC4gSSwgY2VydGFpbmx5LCBoYXZlbid0IHNlZW4gdGhhdCA6LSkKPiA+Cj4gPiBPbmUgb2YgbXkg Y29sbGVhZ3VlcyBpcyBjdXJyZW50bHkgdGVzdGluZyBrZXJuZWwgNS4wLjUgd2l0aG91dCB0aGUg cGF0Y2gKPiA+IHlvdSBzdWdnZXN0ZWQgYW5kIGl0IGxvb2tzIHByZXR0eSBnb29kIHNvIGZhciEg V2UnbGwga2VlcCB5b3UgdXBkYXRlZCBpZgo+ID4gdGhpcyBjaGFuZ2VzLiBXaXRoIHRoaXMgaXNz dWUgaW4gcGFydGljdWxhciwgaXQgaXMgc3RpbGwgdW5jbGVhciBob3cgdG8KPiA+IGdldCBvdXIg ZGV2aWNlIGludG8gdGhpcyBzdGF0ZS4gV2UnbGwgZGVmaW5pdGVseSBrZWVwIGFuIGV5ZSBvdXQg Zm9yIGl0Cj4gPiBvbiA1LjAuNS4KPiAKPiBJZiA1LjAuNSBpcyB3b3JraW5nLCB0aGVuIHlvdSBj b3VsZCBydW4gYSBnaXQgYmlzZWN0IGFuZCBmaW5kIHRoZSBjb21taXQKPiB0aGF0IGZpeGVkIGl0 LiBJZiB3ZSBoYXZlIGEgZmFpbGluZyBjb21taXQgYW5kIGEgd29ya2luZyBjb21taXQsIGdpdAo+ IGJpc2VjdCB3aWxsIGhlbHAgZmluZGluZyB0aGUgZml4LCB0aGVuIHlvdSBjb3VsZCBzaW1wbHkg Y2hlcnJ5LXBpY2sgaXQuCgpJIHNwb2tlIHRvbyBzb29uLiA1LjAuNSAodW5wYXRjaGVkKSBzaG93 cyBzaWduaWZpY2FudCBpbXByb3ZlbWVudCB0aGFuIDQuOS4xMTUgYXMgaXQKdGFrZXMgYWJvdXQg MTUgbWludXRlcyBvZiBkYXRhIHRyYW5zZmVyIGJlZm9yZSB0aGUgbGluayBkcm9wcyBmcm9tIFNT IHRvCkhTLiBXZSB3aWxsIGJlIHN0aWNraW5nIHdpdGggdGhlIHBhdGNoIHRoYXQgeW91IHByb3Zp ZGVkIHVzIGVhcmxpZXIuCkl0J3MgYmVlbiB3b3JraW5nIHZlcnkgd2VsbCBmb3IgdXMgb24gNC45 LjExNS4gCgpDaGVlcnMsClJvYiBXZWJlcgo=