From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: "Hermida, Isaac" To: Luiz Augusto von Dentz CC: "linux-bluetooth@vger.kernel.org" Subject: Re: how to advertise a GATT service only for LE or BR/EDR? Date: Mon, 9 Oct 2017 10:21:07 +0000 Message-ID: <59DB4D93.3050200@digi.com> References: <59CD26BE.8040803@digi.com> <59CDEBDF.3090200@digi.com> <59D1E4B0.2000106@digi.com> <59D3343B.6020103@digi.com> <59D501B9.9030602@digi.com> In-Reply-To: Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Sender: linux-bluetooth-owner@vger.kernel.org List-ID: SGkgTHVpeiwNCg0KT24gMTAvMDUvMjAxNyAxMTo0MCBBTSwgTHVpeiBBdWd1c3RvIHZvbiBEZW50 eiB3cm90ZToNCj4gSGkgSXNhYWMsDQo+DQo+IE9uIFdlZCwgT2N0IDQsIDIwMTcgYXQgNjo0MyBQ TSwgSGVybWlkYSwgSXNhYWMgPElzYWFjLkhlcm1pZGFAZGlnaS5jb20+IHdyb3RlOg0KPj4gSGkg THVpeiwNCj4+DQo+PiBPbiAxMC8wMy8yMDE3IDA4OjU0IEFNLCBIZXJtaWRhLCBJc2FhYyB3cm90 ZToNCj4+PiBIaSBMdWl6LA0KPj4+DQo+Pj4gT24gMTAvMDIvMjAxNyAwNjowMCBQTSwgTHVpeiBB dWd1c3RvIHZvbiBEZW50eiB3cm90ZToNCj4+Pj4gSGkgSXNhYWMsDQo+Pj4+DQo+Pj4+IE9uIE1v biwgT2N0IDIsIDIwMTcgYXQgMTA6MDMgQU0sIEhlcm1pZGEsIElzYWFjIDxJc2FhYy5IZXJtaWRh QGRpZ2kuY29tPiB3cm90ZToNCj4+Pj4+IEhpIEx1aXogZXQgYWxsLA0KPj4+Pj4NCj4+Pj4+IE9u IDA5LzI5LzIwMTcgMDg6NDQgQU0sIEhlcm1pZGEsIElzYWFjIHdyb3RlOg0KPj4+Pj4+IEhpIEx1 aXosDQo+Pj4+Pj4NCj4+Pj4+PiBPbiAwOS8yOC8yMDE3IDA4OjIxIFBNLCBMdWl6IEF1Z3VzdG8g dm9uIERlbnR6IHdyb3RlOg0KPj4+Pj4+PiBIaSBJc2FhYywNCj4+Pj4+Pj4NCj4+Pj4+Pj4gT24g VGh1LCBTZXAgMjgsIDIwMTcgYXQgNzo0MyBQTSwgSGVybWlkYSwgSXNhYWMgPElzYWFjLkhlcm1p ZGFAZGlnaS5jb20+IHdyb3RlOg0KPj4+Pj4+Pj4gSGkgZ3JvdXAsDQo+Pj4+Pj4+Pg0KPj4+Pj4+ Pj4gQXMgcGFydCBvZiB0aGUgYmx1ZXRvb3RoIFNJRyBjZXJ0aWZpY2F0aW9uIHRoZXJlIGFyZSB0 d28gdGVzdCBjYXNlcw0KPj4+Pj4+Pj4gL1RQL0dBUi9DTC9CSS0zNC1DIGFuZCAvVFAvR0FSL0NM L0JJLTM1LUMgKHlvdSBjYW4gc2VlIHRoZXkgZGVmaW5lZCBpbg0KPj4+Pj4+Pj4gdW5pdC90ZXN0 LWdhdHQuYykuDQo+Pj4+Pj4+PiBDdXJyZW50bHkgSSBhbSBhYmxlIHRvIHJ1biB0aGUgInRlc3Qv ZXhhbXBsZS1nYXR0LXNlcnZlciIgYW5kIHNlZSBteQ0KPj4+Pj4+Pj4gY3VzdG9tIHNlcnZpY2Vz IGFuZCBjaGFyYWN0ZXJpc3RpY3MsIGJ1dCBJIG5lZWQgdG8gZGVmaW5lIGFuIHNwZWNpZmljDQo+ Pj4+Pj4+PiBzZXJ2aWNlL2NoYXJhY3RlcmlzdGljIHRvIGJlIG9ubHkgYWNjZXNzaWJsZSB0cm91 Z2ggTEUgb3IgQlIvRURSDQo+Pj4+Pj4+PiB0cmFuc3BvcnQgcGFyYW1ldGVyLiBJIHdhcyBkaWdn aW5nIGludG8gdGhlIGNvZGUgYnV0IEkgd2FzIHVuYWJsZSB0bw0KPj4+Pj4+Pj4gZmluZCBob3cg dG8gc2V0IGl0IGZvciB0aGUgR0FUVCBzZXJ2ZXIuDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gSW4gb3Ro ZXIgd29yZHMsIHdoYXQgSSB3YW50IHRvIGRvIGlzIGxhdW5jaCB0aGUgZ2F0dC1zZXJ2ZXIgYW5k IHRoZW4sDQo+Pj4+Pj4+PiB3aGVuIGluc3BlY3RpbmcgdGhlIHNlcnZpY2VzL2NoYXJhY3Rlcmlz dGljIHdpdGggZ2F0dHRvb2wsIHRoZSByZXR1cm5lZA0KPj4+Pj4+Pj4gbGlzdCBzaG91bGQgYmUg ZGlmZmVyZW50IGlmIEkgcnVuIGdhdHR0b29sIHdpdGggIi1wIDMxIiBvciBub3QgKG5vdGljZQ0K Pj4+Pj4+Pj4gaG93IHRoZSBnYXR0dG9vbCBwcm9tcHQgaXMgc2V0IHRvIExFIG9yIEJSKS4NCj4+ Pj4+Pj4+DQo+Pj4+Pj4+PiAjIGdhdHR0b29sIC1JIC1iIDAwOjQwOjlEOjk4Ojk5OkJEIC1wIDAN Cj4+Pj4+Pj4+IFswMDo0MDo5RDo5ODo5OTpCRF1bTEVdPiBjb25uZWN0DQo+Pj4+Pj4+PiBBdHRl bXB0aW5nIHRvIGNvbm5lY3QgdG8gMDA6NDA6OUQ6OTg6OTk6QkQNCj4+Pj4+Pj4+IENvbm5lY3Rp b24gc3VjY2Vzc2Z1bA0KPj4+Pj4+Pj4gWzAwOjQwOjlEOjk4Ojk5OkJEXVtMRV0+IHByaW1hcnkN Cj4+Pj4+Pj4+IGF0dHIgaGFuZGxlOiAweDAwMDEsIGVuZCBncnAgaGFuZGxlOiAweDAwMDUgdXVp ZDoNCj4+Pj4+Pj4+IDAwMDAxODAwLTAwMDAtMTAwMC04MDAwLTAwODA1ZjliMzRmYg0KPj4+Pj4+ Pj4gYXR0ciBoYW5kbGU6IDB4MDAwNiwgZW5kIGdycCBoYW5kbGU6IDB4MDAwOSB1dWlkOg0KPj4+ Pj4+Pj4gMDAwMDE4MDEtMDAwMC0xMDAwLTgwMDAtMDA4MDVmOWIzNGZiDQo+Pj4+Pj4+PiBhdHRy IGhhbmRsZTogMHgwMDBhLCBlbmQgZ3JwIGhhbmRsZTogMHgwMDBkIHV1aWQ6DQo+Pj4+Pj4+PiAw MDAwMTgwZi0wMDAwLTEwMDAtODAwMC0wMDgwNWY5YjM0ZmINCj4+Pj4+Pj4+IGF0dHIgaGFuZGxl OiAweDAwMGUsIGVuZCBncnAgaGFuZGxlOiAweDAwMWQgdXVpZDoNCj4+Pj4+Pj4+IDEyMzQ1Njc4 LTEyMzQtNTY3OC0xMjM0LTU2Nzg5YWJjZGVmMA0KPj4+Pj4+Pj4gYXR0ciBoYW5kbGU6IDB4MDAx ZSwgZW5kIGdycCBoYW5kbGU6IDB4MDAyNSB1dWlkOg0KPj4+Pj4+Pj4gMDAwMDE4MGQtMDAwMC0x MDAwLTgwMDAtMDA4MDVmOWIzNGZiDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+ICMgL3Rt cC9nYXR0dG9vbCAtSSAtYiAwMDo0MDo5RDo5ODo5OTpCRCAtcCAzMQ0KPj4+Pj4+Pj4gWzAwOjQw OjlEOjk4Ojk5OkJEXVtCUl0+IGNvbm5lY3QNCj4+Pj4+Pj4+IEF0dGVtcHRpbmcgdG8gY29ubmVj dCB0byAwMDo0MDo5RDo5ODo5OTpCRA0KPj4+Pj4+Pj4gQ29ubmVjdGlvbiBzdWNjZXNzZnVsDQo+ Pj4+Pj4+PiBbMDA6NDA6OUQ6OTg6OTk6QkRdW0JSXT4gcHJpbWFyeQ0KPj4+Pj4+Pj4gYXR0ciBo YW5kbGU6IDB4MDAwMSwgZW5kIGdycCBoYW5kbGU6IDB4MDAwNSB1dWlkOg0KPj4+Pj4+Pj4gMDAw MDE4MDAtMDAwMC0xMDAwLTgwMDAtMDA4MDVmOWIzNGZiDQo+Pj4+Pj4+PiBhdHRyIGhhbmRsZTog MHgwMDA2LCBlbmQgZ3JwIGhhbmRsZTogMHgwMDA5IHV1aWQ6DQo+Pj4+Pj4+PiAwMDAwMTgwMS0w MDAwLTEwMDAtODAwMC0wMDgwNWY5YjM0ZmINCj4+Pj4+Pj4+IGF0dHIgaGFuZGxlOiAweDAwMGEs IGVuZCBncnAgaGFuZGxlOiAweDAwMTkgdXVpZDoNCj4+Pj4+Pj4+IDEyMzQ1Njc4LTEyMzQtNTY3 OC0xMjM0LTU2Nzg5YWJjZGVmMA0KPj4+Pj4+Pj4gYXR0ciBoYW5kbGU6IDB4MDAxYSwgZW5kIGdy cCBoYW5kbGU6IDB4MDAxZCB1dWlkOg0KPj4+Pj4+Pj4gMDAwMDE4MGYtMDAwMC0xMDAwLTgwMDAt MDA4MDVmOWIzNGZiDQo+Pj4+Pj4+PiBhdHRyIGhhbmRsZTogMHgwMDFlLCBlbmQgZ3JwIGhhbmRs ZTogMHgwMDI1IHV1aWQ6DQo+Pj4+Pj4+PiAwMDAwMTgwZC0wMDAwLTEwMDAtODAwMC0wMDgwNWY5 YjM0ZmINCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+IEkgYW0gdXNpbmcg Ymx1ZXogNS40MS4gSXMgcG9zc2libGUgdG8gYWR2ZXJ0aXNlIGEgc2VydmljZSBvbmx5IGZvciBM RSBvcg0KPj4+Pj4+Pj4gQlI/IEkgZ3Vlc3MgaXQgc2hvdWxkIGJlY2F1c2UgaXMgcGFydCBvZiB0 aGUgU0lHIGNlcnRpZmljYXRpb24gYW5kIGlzDQo+Pj4+Pj4+PiBwYXJ0IG9mIHRoZSB1bml0L3Rl c3QtZ2F0dC4NCj4+Pj4+Pj4gVGhpcyBtaWdodCBiZSBiZWNhdXNlIHRoZSBzcGVjIHdhcyBubyBj bGVhciBhYm91dCB0aGUgZGF0YWJhc2UgYmVpbmcNCj4+Pj4+Pj4gYmVhcmVyIHNwZWNpZmljLCB3 aGljaCBpbiBteSBvcGluaW9uIHRoaXMgaXMgYSBvdmVyc2lnaHQgc2luY2UgdGhlbiB3ZQ0KPj4+ Pj4+PiBjYW4ndCByZXByZXNlbnQgYXR0cmlidXRlcyBvZiBkdWFsIG1vZGUgZGV2aWNlcyB3aXRo IGEgdW5pZmllZCBvYmplY3QsDQo+Pj4+Pj4+IGFuZCBJIHJlYWxseSB3b25kZXIgaWYgdGhpcyBo YXMgdG8gYmUgZm9yY2VkIHVwIGludG8gdGhlIEFQSSwgaWYgaXQNCj4+Pj4+Pj4gZG9lcyB0aGVu IHdlIHdvdWxkIGhhdmUgdG8gZW5jb2RlIGJlYXJlciBpbmZvcm1hdGlvbiBpbnRvIHRoZSBvYmpl Y3QNCj4+Pj4+Pj4gcGF0aCAoYXJnaCEpIGZvciBjbGllbnQgYW5kIGZvciBzZXJ2ZXIgd291bGQg cHJvYmFibHkgbmVlZCBhIHByb3BlcnR5DQo+Pj4+Pj4+IHRlbGxpbmcgd2hpY2ggYmVhcmVyIHRo aXMgd291bGQgYmUgYXZhaWxhYmxlIGFuZCBlbmNvZGUgdGhpcyBpbnRvIHRvDQo+Pj4+Pj4+IHRo ZSBkYXRhYmFzZSB3aGljaCBtYXkgbGVhdmUgZ2FwcyBpbiB0aGUgaGFuZGxlcyBvciBqdXN0IGR1 cGxpY2F0ZQ0KPj4+Pj4+PiBldmVyeXRoaW5nLCBmb3Igc2VydmVyIElkIHByb2JhYmx5IGp1c3Qg aGlkZSB0aGUgc2VydmljZXMgYmFzZWQgb24gdGhlDQo+Pj4+Pj4+IGJlYXJlciwgYnV0IHdlIHN0 aWxsIG5lZWQgdG8gc3RvcmUgdGhlIENDQyBjb25maWd1cmF0aW9uIGluIGEgYmVhcmVyDQo+Pj4+ Pj4+IHNwZWNpZmljIG1hbm5lci4NCj4+Pj4+Pj4NCj4+Pj4+Pg0KPj4+Pj4+IFNvLCB3aGF0IGNh biBJIGRvIGluIG9yZGVyIHRvIHBhc3MgdGhhdCBzcGVjaWZpYyBibHVldG9vdGggU0lHIHRlc3Rz Pw0KPj4+Pj4+IFRoYXQgdGVzdCBjYXNlcyBuZWVkIHRvIGVuc3VyZSB0aGF0IGFuIHNwZWNpZmlj IHNlcnZpY2UvY2hhciBpbiBvbmx5DQo+Pj4+Pj4gYWNjZXNzaWJsZSBvbiBMRSBvciBCUiwgc28g dGhleSBoYWQgdG8gYmUgZGlmZmVyZW50Lg0KPj4+Pj4+IERvIHlvdSBoYXZlIGFueSBpZGVhIG9y IHN1Z2dlc3Rpb24/IEl0IHdvdWxkIGJlIHJlYWxseSB3ZWxjb21lLCBpZiBub3QgSQ0KPj4+Pj4+ IGhhdmUgbm8gaWRlYSBob3cgdG8gcHJvY2VlZCB0byBjb21wbGV0ZSB0aGUgU0lHIHZhbGlkYXRp b24gd2l0aCBibHVleiBzdHVmZi4NCj4+Pj4+PiBJIHdhcyBldmVuIHRyeWluZyB0byBtb2RpZnkg c29tZSBmaWxlcyBpbnRvIHRoZSBjb2RlLCBidXQgSSBhbSBub3QNCj4+Pj4+PiBmYW1pbGlhciB3 aXRoIHRoYXQgYW5kIGl0IG9idmlvdXNseSBkaWQgbm90IHdvcmsuDQo+Pj4+Pg0KPj4+Pj4gSSB1 bmRlcnN0YW5kIHRoZSBzaWxlbnQgdG8gdGhpcyBsYXN0IHF1ZXN0aW9uIGFzIGEgbm8uIFNvIEkg YXNzdW1lIHRoYXQNCj4+Pj4+IGFueSB1c2VyIHRyeWluZyB0byBwYXNzIHRoaXMgdGVzdCB3aWxs IGZhaWwgKGF0IGxlYXN0IGlmIHVzaW5nIGJsdWV6KS4NCj4+Pj4+IFNvIHNob3VsZCB0aGUgc3Bl Y2lmaWNhdGlvbiBiZSBjaGFuZ2VkPyBTaG91bGQgYmx1ZXogYWRhcHQgdG8gaXQ/IEluIHRoZQ0K Pj4+Pj4gY3VycmVudCBzdGF0ZSB0aGF0IFNJRyBjZXJ0aWZpY2F0aW9uIGNhbiBub3QgYmUgcGFz c2VkLg0KPj4+Pg0KPj4+PiBUaGF0IGlmIHlvdSB3YW50IHRvIHF1YWxpZnkgd2l0aCBHQVRUIG92 ZXIgQlIvRURSLCBzb21ldGhpbmcgdGhhdCB3ZQ0KPj4+PiBtYXkgYWN0dWFsbHkgaGF2ZSBhbiBv cHRpb24gdG8gZGlzYWJsZSBpbiB0aGUgZnV0dXJlLCBvciBwZXJoYXBzIGp1c3QNCj4+Pj4gcmVt b3ZlIGl0IGVudGlyZWx5IGdpdmVuIHRoaXMgdGVzdHMgd291bGQgcG9zc2libGUgYWZmZWN0IHRo YXQgR0FUVA0KPj4+PiBkYXRhYmFzZSBsYXlvdXQsIGVpdGhlciBieSBjcmVhdGluZyBoYW5kbGUg Z2FwcyBvciBkdXBsaWNhdGlvbi4gU28NCj4+Pj4gcGVyaGFwcyB5b3UgY291bGQgZ2l2ZSBzb21l IGZlZWRiYWNrIGlmIHlvdSBkbyBpbnRlbmQgdG8gdXNlIEdBVFQgb3Zlcg0KPj4+PiBCUi9FRFIg b3Igbm90PyBJZiBpdCB0dXJuIG91dCBubyBvbmUgYmVuZWZpdCBmcm9tIGl0IElkIGp1c3QgcmVt b3ZlDQo+Pj4+IGl0Lg0KPj4+Pg0KPj4+DQo+Pj4gVGhhbmtzIGZvciB0aGUgcXVpY2sgcmVwbHku IEkgZG8gbm90IGtub3cgaG93IGFueSBvdGhlciBwZW9wbGUgd2FzIGFibGUNCj4+PiB0byBwYXNz IHRoZXNlIFNJRyBsYWIgdGVzdHMgKEJJLTM0LUMgYW5kIEJJLTM1LUMpLg0KPj4+IEkgZG8gbm90 IHBsYW4gdG8gdXNlIEdBVFQgb3ZlciBCUi9FRFIuIEZvciBtZSBqdXN0IHJlbW92aW5nIGl0IHdv dWxkIGJlDQo+Pj4gZW5vdWdoLiBJZiB5b3UgY2FuIHBvaW50IG1lIHdoZXJlL2hvdyB0byBkbyB0 aGF0IGl0IHdvdWxkIGJlIGdyZWF0IHNvIEkNCj4+PiBjYW4gZGlnIGluIHRoZSBjb2RlIChJIGFt IG5vdCBmYW1pbGlhciB3aXRoIHRoYXQgY29kZSkuDQo+Pj4NCj4+PiBUaHgsDQo+Pj4gICAgICAg SXNhYWMNCj4+DQo+Pg0KPj4gWWVzdGVyZGF5IEkgZGlkIGFwcGx5IHRoZSBwYXRjaCAoZ2F0dDog UmVtb3ZlIHN1cHBvcnQgb2YgQVRUIG92ZXINCj4+IEJSL0VEUikgb24gYmx1ZXotNS40MSAobXkg Y3VycmVudCB2ZXJzaW9uKSBhbmQgcGFzc2VkIGl0IHRvIHRoZSBsYWIuIEkNCj4+IHdhcyB3YWl0 aW5nIGZvciB0aGVpciBmZWVkYmFjayBidXQgSSBkaWQgbm90IGdldCBhIHJlcGx5IHlldCwgc28g anVzdCB0bw0KPj4gbGV0IHlvdSBrbm93IHRoYXQgSSBnZXQgdGhlIHBhdGNoIGFuZCBhcHBsaWVk IGl0Lg0KPj4gQXMgSSBzZWUgaXQsIHRoYXQgcGF0Y2ggcmVtb3ZlZCB0aGUgc3VwcG9ydCBmb3Ig QVRUIG92ZXIgQlIvRURSLCBzbyBJDQo+PiBndWVzcyB0aGF0IGFub3RoZXIgd2F5IHRvIHBhc3Mg dGhhdCB0ZXN0IGlzIG1vZGlmeWluZyB0aGUgZmlybXdhcmUgb2YNCj4+IHRoZSBibHVldG9vdGgg Y2hpcCB0byBkaXNhYmxlIGl0IGF0IGEgaHcgbGV2ZWwuDQo+PiBBbmQsIGluIG9yZGVyIHRvIHBh c3MgdGhlIG90aGVyIHRlc3QgY2FzZSAoQkktMzUtQyksIEkgd2lsbCBuZWVkIHRvIGRvDQo+PiBu b3QgYXBwbHkgdGhlIG1lbnRpb25lZCBwYXRjaCBhbmQgY3JlYXRlIGEgc2ltaWxhciBvbmUgZm9y IEFUVCBvdmVyIExFLA0KPj4gb3IgaXMgdGhlcmUgYW5vdGhlciB3YXkgdG8gYWNjb21wbGlzaCAv VFAvR0FSL0NML0JJLTM1LUM/DQo+DQo+IElkIGFzc3VtZSB5b3Ugd291bGQgbm90IGhhdmUgdG8g cnVuIHRob3NlIHRlc3RzIGlmIEFUVCBvdmVyIEJSL0VEUiBpcw0KPiBub3Qgc3VwcG9ydGVkOg0K Pg0KPiA0LjUuNzIgVFAvR0FSL0NML0JJLTM1LUMgW1JlYWQgQ2hhcmFjdGVyaXN0aWMgVmFsdWUg XHUyMDEzIEludmFsaWQNCj4gVHJhbnNwb3J0IEFjY2VzcyBvdmVyDQo+IExFXQ0KPiBWZXJpZnkg R2VuZXJpYyBBdHRyaWJ1dGUgUHJvZmlsZSBjbGllbnQgYmVoYXZpb3Igd2hlbiBhbiBhdHRlbXB0 IHRvDQo+IHVzZSBMRSB0cmFuc3BvcnQgdG8gZXhlY3V0ZQ0KPiB0aGUgUmVhZCBDaGFyYWN0ZXJp c3RpYyBWYWx1ZSBwcm9jZWR1cmUgb24gYSBjaGFyYWN0ZXJpc3RpYyBjb250YWluZWQNCj4gd2l0 aGluIGEgc2VydmljZSBkZWZpbmVkDQo+IGZvciB1c2Ugb25seSBvdmVyIEJSL0VEUiB0cmFuc3Bv cnQuDQo+DQo+IFdpdGhvdXQgQlIvRURSIHRoZXJlIGlzIG5vIHJlYXNvbiB0byBydW4gdGhpcyB0 ZXN0IGFzIGFsbCB0aGUNCj4gYXR0cmlidXRlcyBzaG91bGQgYmUgdmFsaWQuDQo+DQoNCg0KT3Vy IHByb2R1Y3QgaXMgZHVhbCBzbyB0aG9zZSB0ZXN0cyBhcmUgbWFuZGF0b3J5LiBBZGRpdGlvbmFs bHksIG91ciANCnByb2R1Y3QgaXMgNC4yLCBubyA0LjAuDQpUaGUgcGF0Y2ggeW91IHByb3Bvc2Vk IChnYXR0OiBSZW1vdmUgc3VwcG9ydCBvZiBBVFQgb3ZlciBCUi9FRFIpIGlzIG5vdCANCnZhbGlk IGFuZCB3aWxsIG5vdCB3b3JrIChpZiB5b3Ugd2FudCBJIGNhbiBhZGQgZGV0YWlscyB0byB0aGUg b3RoZXIgDQp0aHJlYWQpIGFuZCBpdCB3aWxsIGJyZWFrIG90aGVyIHRlc3RzIG5lZWRlZCBmb3Ig dGhlIGNlcnRpZmljYXRpb24uIEkgDQp3b3VsZCBzdWdnZXN0IHRvIHJlamVjdCBpdC4NClRvIHB1 dCBzb21lIGxpZ2h0IGluIHRlc3RzIEJJLTM0LUMgYW5kIEJJLTM1LUMsIGl0IGNvbnNpc3RzIGlu IGRlZmluZSBhIA0KY2hhcmFjdGVyaXN0aWMgb25seSBhdmFpbGFibGUgdGhyb3VnaCB0aGUgdHJh bnNwb3J0IGxheWVyIExFIG9yIEJSL0VEUiwgDQpzbyBpbiBvbmUgY2FzZSB0aGUgdmFsdWUgY2Fu IGJlIHJlYWQsIGFuZCBpbiB0aGUgb3RoZXIgY2FzZSBpdCBpcyANCnJlamVjdGVkLiBJIGNhbiBh ZGQgbW9yZSBkZXRhaWxzIGlmIG5lZWRlZC4NCkN1cnJlbnRseSB0aGUgd29ya2Fyb3VuZCB0aGF0 IEkgYW0gZG9pbmcgaXMgcmVjb3JkIHRoZSB0eXBlIG9mIA0KY29ubmVjdGlvbiAoTEUgb3IgQlIv RURSKSBhbmQgcmV0dXJuIHRoZSBlcnJvciBjb2RlIGZvciBvbmUgc3BlY2lmaWMgDQpjaGFyYWN0 ZXJpc3RpYyAodGhhdCBJIHJlZ2lzdGVyIGluIG15IGdhdHQgc2VydmVyIGFwcGxpY2F0aW9uKSwg c28gSSANCmN1c3RvbWl6ZSBteSBhcHBsaWNhdGlvbi4gVGhlIGxhYiBkaWQgbm90IGNvbmZpcm0v ZGlzbWlzcyBpdCB5ZXQsIGJ1dCANCmhvcGVmdWxseSBpdCBpcyB3aGF0IHRoZXkgbmVlZC4NClRo YW5rcyBmb3IgdGhlIHN1cHBvcnQgb24gdGhpcyBpc3N1ZS4gTGV0IG1lIGtub3cgaWYgSSBjYW4g aGVscCBpbiANCmFueXRoaW5nLCBpZiBJIG5lZWQgdG8gcHJvdmlkZSBtb3JlIGRldGFpbHMsIGlm IHlvdSB3YW50IGEgcmVwbHkgaW4gdGhlIA0KcGF0Y2ggdGhyZWFkIG9yIGFueSBvdGhlciBzdHVm Zi4NClJlZ2FyZHMsDQogICBJc2FhYw==