From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zhang, Jerry (Junwei)" Subject: Re: [PATCH] drm/amdgpu: update documentation for amdgpu_drv.c Date: Thu, 28 Jun 2018 10:27:02 +0800 Message-ID: <5B344776.9090100@amd.com> References: <1530123285-28043-1-git-send-email-sonny.jiang@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1530123285-28043-1-git-send-email-sonny.jiang-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Sonny Jiang , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org T24gMDYvMjgvMjAxOCAwMjoxNCBBTSwgU29ubnkgSmlhbmcgd3JvdGU6Cj4gU2lnbmVkLW9mZi1i eTogU29ubnkgSmlhbmcgPHNvbm55LmppYW5nQGFtZC5jb20+CgpOaWNrIHdvcmsgZm9yIGFtZGdw dSBwYXJhbWV0ZXJzLgoKPiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV9kcnYuYyB8IDExNyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICAgMSBmaWxl IGNoYW5nZWQsIDExNyBpbnNlcnRpb25zKCspCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X2Rydi5jCj4gaW5kZXggNjg0MTQ5Ny4uOGU0MThlNCAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2LmMKPiBAQCAtODEsNiArODEsMTIzIEBACj4gICAjZGVm aW5lIEtNU19EUklWRVJfTUlOT1IJMjYKPiAgICNkZWZpbmUgS01TX0RSSVZFUl9QQVRDSExFVkVM CTAKPgo+ICsvKioKPiArICogRE9DOiBtb2R1bGVfcGFyYW1ldGVycwo+ICsgKgo+ICsgKiAtIHZy YW1saW1pdCAoaW50KSAtIFJlc3RyaWN0IHRoZSB0b3RhbCBhbW91bnQgb2YgVlJBTSBpbiBNaUIg Zm9yIHRlc3RpbmcuICBUaGUgZGVmYXVsdCBpcyAwIChVc2UgZnVsbCBWUkFNKS4KPiArICoKPiAr ICogLSB2aXNfdnJhbWxpbWl0IChpbnQpIC0gUmVzdHJpY3QgdGhlIGFtb3VudCBvZiBDUFUgdmlz aWJsZSBWUkFNIGluIE1pQiBmb3IgdGVzdGluZy4gIFRoZSBkZWZhdWx0IGlzIDAgKFVzZSBmdWxs IENQVSB2aXNpYmxlIFZSQU0pLgo+ICsgKgo+ICsgKiAtIGdhcnRzaXplICh1aW50KSAtIFJlc3Ry aWN0IHRoZSBzaXplIG9mIEdBUlQgaW4gTWliICgzMiwgNjQsIGV0Yy4pIGZvciB0ZXN0aW5nLiBU aGUgZGVmYXVsdCBpcyAtMSAoVGhlIHNpemUgZGVwZW5kcyBvbiBhc2ljKS4KPiArICoKPiArICog LSBndHRzaXplIChpbnQpIC0gUmVzdHJpY3QgdGhlIHNpemUgb2YgR1RUIGRvbWFpbiBpbiBNaUIg Zm9yIHRlc3RpbmcuIFRoZSBkZWZhdWx0IGlzIC0xICgzLzR0aCB0aGUgc2l6ZSBvZiBSQU0pLgoK TW1tLCBpdCBhIGJpdCB0cmlja3kgdG8gZGVzY3JpYmUgdGhhdC4KCklmIDNHIDwgdnJhbV9zaXpl IDwgMy80IFJBTSwgdGhlIGRlZmF1bHQgdmFsdWUgaXMgdnJhbV9zaXplLCBhbHRob3VnaCB0aGUg Y29tbWVudCBzYXlzIDMvNCBSQU0uCgo+ICsgKgo+ICsgKiAtIG1vdmVyYXRlIChpbnQpIC0gU2V0 IG1heGltdW0gYnVmZmVyIG1pZ3JhdGlvbiByYXRlIGluIE1CL3MuIFRoZSBkZWZhdWx0IGlzIC0x ICg4IE1CL3MpLgo+ICsgKgo+ICsgKiAtIGJlbmNobWFyayAoaW50KSAtIFJ1biBiZW5jaG1hcmtz LiBUaGUgZGVmYXVsdCBpcyAwIChTa2lwIGJlbmNobWFya3MpLgo+ICsgKgo+ICsgKiAtIHRlc3Qg KGludCkgIC0gVGVzdCBCTyBHVFQtPlZSQU0gYW5kIFZSQU0tPkdUVCBHUFUgY29waWVzLiBUaGUg ZGVmYXVsdCBpcyAwIChTa2lwIHRlc3QsIG9ubHkgc2V0IDEgdG8gcnVuIHRlc3QpLgo+ICsgKgo+ ICsgKiAtIGF1ZGlvIChpbnQpIC0gU2V0IEF1ZGlvLiBUaGUgZGVmYXVsdCBpcyAtMSAoRW5hYmxl ZCksIHNldCAwIHRvIGRpc2FibGVkIGl0Lgo+ICsgKgo+ICsgKiAtIGRpc3BfcHJpb3JpdHkgKGlu dCkgLSBTZXQgZGlzcGxheSBQcmlvcml0eSAoMCA9IGF1dG8sIDEgPSBub3JtYWwsIDIgPSBoaWdo KS4gVGhlIGRlZmF1bHQgaXMgMC4KPiArICoKPiArICogLSBod19pMmMgKGludCkgLSBUbyBlbmFi bGUgaHcgaTJjIGVuZ2luZS4gVGhlIGRlZmF1bHQgaXMgMCAoRGlzYWJsZWQpLgo+ICsgKgo+ICsg KiAtIHBjaWVfZ2VuMiAoaW50KSAtIFRvIGRpc2FibGUgUENJRSBHZW4yIG1vZGUgKDAgPSBkaXNh YmxlLCAxID0gZW5hYmxlKS4gVGhlIGRlZmF1bHQgaXMgLTEgKGF1dG8gZW5hYmxlZCkuCj4gKyAq Cj4gKyAqIC0gbXNpIChpbnQpIC0gVG8gZGlzYWJsZSBNU0kgZnVuY3Rpb25hbGl0eSAoMSA9IGVu YWJsZSwgMCA9IGRpc2FibGUpLiBUaGUgZGVmYXVsdCBpcyAtMSAoYXV0bywgZW5hYmxlZCkuCj4g KyAqCj4gKyAqIC0gbG9ja3VwX3RpbWVvdXQgKGludCkgLSBTZXQgR1BVIHNjaGVkdWxlciB0aW1l b3V0IHZhbHVlIGluIG1zLiBJdCBtdXN0IGJlID4gMC4gIFRoZSBkZWZhdWx0IGlzIDEwMDAwLgo+ ICsgKgo+ICsgKiAtIGRwbSAoaW50KSAtIE92ZXJyaWRlIGZvciBkeW5hbWljIHBvd2VyIG1hbmFn ZW1lbnQgc2V0dGluZyAoMSA9IGVuYWJsZSwgMCA9IGRpc2FibGUpLiBUaGUgZGVmYXVsdCBpcyAt MSAoYXV0bykuCj4gKyAqCj4gKyAqIC0gZndfbG9hZF90eXBlIChpbnQpIC0gU2V0IGRpZmZlcmVu dCBmaXJtd2FyZSBsb2FkaW5nIHR5cGUgZm9yIGRlYnVnZ2luZyAoMCA9IGRpcmVjdCwgMSA9IFNN VSwgMiA9IFBTUCkuIFRoZSBkZWZhdWx0IGlzIC0xIChhdXRvKS4KPiArICoKPiArICogLSBhc3Bt IChpbnQpIC0gVG8gZGlzYWJsZSBBU1BNICgxID0gZW5hYmxlLCAwID0gZGlzYWJsZSkuIFRoZSBk ZWZhdWx0IGlzIC0xIChhdXRvIGVuYWJsZWQpLgo+ICsgKgo+ICsgKiAtIHJ1bnBtIChpbnQpIC0g T3ZlcnJpZGUgZm9yIHJ1bnRpbWUgcG93ZXIgbWFuYWdlbWVudCBjb250cm9sIGZvciBkR1BVcyBp biBQWC9IRyBsYXB0b3BzLiBUaGUgYW1kZ3B1IGRyaXZlciBjYW4gZHluYW1pY2FsbHkgcG93ZXIg ZG93bgo+ICsgKiB0aGUgZEdQVSBvbiBQWC9IRyBsYXB0b3BzIHdoZW4gaXQgaXMgaWRsZS4gVGhl IGRlZmF1bHQgaXMgLTEgKGF1dG8gZW5hYmxlKS4gU2V0dGluZyB0aGUgdmFsdWUgdG8gMCBkaXNh YmxlcyB0aGlzIGZ1bmN0aW9uYWxpdHkuCj4gKyAqCj4gKyAqIC0gaXBfYmxvY2tfbWFzayAodWlu dCkgLSBPdmVycmlkZSB3aGF0IElQIGJsb2NrcyBhcmUgZW5hYmxlZCBvbiB0aGUgR1BVLiAgRWFj aCBHUFUgaXMgYSBjb2xsZWN0aW9uIG9mIElQIGJsb2NrcyAoZ2Z4LCBkaXNwbGF5LCB2aWRlbywK PiArICogZXRjLikuIFVzZSB0aGlzIHBhcmFtZXRlciB0byBkaXNhYmxlIHNwZWNpZmljIGJsb2Nr cy4gTm90ZSB0aGF0IHRoZSBJUCBibG9ja3MgZG8gbm90IGhhdmUgYSBmaXhlZCBpbmRleCAoZS5n LiwgeW91IG1pZ2h0IGhhdmUgYSBkZXZpY2UKPiArICogd2l0aCBtdWx0aXBsZSBpbnN0YW5jZXMg b2YgYW4gSVAgYmxvY2spIHNvIHRoZSBtYXNrIGlzIGJvYXJkIHNwZWNpZmljLiBUaGUgZGVmYXVs dCBpcyAweGZmZmZmZmZmIChlbmFibGUgYWxsIGJsb2NrcyBvbiBhIGRldmljZSkuCj4gKyAqCj4g KyAqIC0gYmFwbSAoaW50KSAtIFRvIGRpc2FibGUgQkFQTSAoMCA9IGRpc2FibGUpLiBUaGUgZGVm YXVsdCAtMSAoYXV0bywgZW5hYmxlZCkKPiArICoKPiArICogLSBkZWVwX2NvbG9yIChpbnQpIC0g U2V0IDEgdG8gZW5hYmxlIERlZXAgQ29sb3Igc3VwcG9ydC4gVGhlIGRlZmF1bHQgaXMgMCAoZGlz YWJsZWQpLgo+ICsgKgo+ICsgKiAtIHZtX3NpemUgKGludCkgLSBPdmVycmlkZSB0aGUgc2l6ZSBv ZiB0aGUgR1BVJ3MgcGVyIGNsaWVudCB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2UgaW4gR2lCLiAgVGhl IGRlZmF1bHQgaXMgLTEgKGF1dG9tYXRpYyBmb3IgZWFjaCBhc2ljKS4KPiArICoKPiArICogLSB2 bV9mcmFnbWVudF9zaXplIChpbnQpIC0gT3ZlcnJpZGUgVk0gZnJhZ21lbnQgc2l6ZSBpbiBiaXRz ICg0LCA1LCBldGMuIDQgPSA2NEssIDkgPSAyTSkuIFRoZSBkZWZhdWx0IGlzIC0xIChhdXRvbWF0 aWMgZm9yIGVhY2ggYXNpYykuCj4gKyAqCj4gKyAqIC0gdm1fYmxvY2tfc2l6ZSAoaW50KSAtIE92 ZXJyaWRlIFZNIHBhZ2UgdGFibGUgc2l6ZSBpbiBiaXRzIChkZWZhdWx0IGRlcGVuZGluZyBvbiB2 bV9zaXplIGFuZCBodyBzZXR1cCkuIFRoZSBkZWZhdWx0IGlzIC0xIChhdXRvbWF0aWMgZm9yIGVh Y2ggYXNpYykuCj4gKyAqCj4gKyAqIC0gdm1fZmF1bHRfc3RvcCAoaW50KSAtIFN0b3Agb24gVk0g ZmF1bHQgZm9yIGRlYnVnZ2luZyAoMCA9IG5ldmVyLCAxID0gcHJpbnQgZmlyc3QsIDIgPSBhbHdh eXMpLiBUaGUgZGVmYXVsdCBpcyAwIChObyBzdG9wKS4KPiArICoKPiArICogLSB2bV9kZWJ1ZyAo aW50KSAtIERlYnVnIFZNIGhhbmRsaW5nICgwID0gZGlzYWJsZWQsIDEgPSBlbmFibGVkKS4gVGhl IGRlZmF1bHQgaXMgMCAoRGlzYWJsZWQpLgo+ICsgKgo+ICsgKiAtIHZtX3VwZGF0ZV9tb2RlIChp bnQpIC0gT3ZlcnJpZGUgVk0gdXBkYXRlIG1vZGUuCj4gKyAqIFVwZGF0ZWQgYnkgdXNpbmcgQ1BV ICgwID0gbmV2ZXIsIDEgPSBHcmFwaGljcyBvbmx5LCAyID0gQ29tcHV0ZSBvbmx5LCAzID0gQm90 aCkuIFRoZSBkZWZhdWx0IGlzIC0xIChPbmx5IGluIGxhcmdlIEJBUihMQikgc3lzdGVtcyBDb21w dXRlIFZNIHRhYmxlcwo+ICsgKiB3aWxsIGJlIHVwZGF0ZWQgYnkgQ1BVLCBvdGhlcndpc2UgMCwg bmV2ZXIpCj4gKyAqCj4gKyAqIC0gdnJhbV9wYWdlX3NwbGl0IChpbnQpIC0gT3ZlcnJpZGUgdGhl IG51bWJlciBvZiBwYWdlcyBhZnRlciB3ZSBzcGxpdCBWUkFNIGFsbG9jYXRpb25zIChkZWZhdWx0 IDUxMiwgLTEgPSBkaXNhYmxlKS4gVGhlIGRlZmF1bHQgaXMgNTEyLgo+ICsgKgo+ICsgKiAtIGV4 cF9od19zdXBwb3J0IChpbnQpIC0gRW5hYmxlIGV4cGVyaW1lbnRhbCBodyBzdXBwb3J0ICgxID0g ZW5hYmxlKS4gVGhlIGRlZmF1bHQgaXMgMCAoZGlzYWJsZWQpLgo+ICsgKgo+ICsgKiAtIGRjIChp bnQpIC0gRGlzYWJsZSBEaXNwbGF5IENvcmUgZHJpdmVyIGZvciBkZWJ1Z2dpbmcgKDEgPSBlbmFi bGUsIDAgPSBkaXNhYmxlKS4gVGhlIGRlZmF1bHQgaXMgLTEgKGF1dG9tYXRpYyBmb3IgZWFjaCBh c2ljKS4KPiArICoKPiArICogLSBzY2hlZF9qb2JzIChpbnQpIC0gT3ZlcnJpZGUgdGhlIG1heCBu dW1iZXIgb2Ygam9icyBzdXBwb3J0ZWQgaW4gdGhlIHN3IHF1ZXVlLiBUaGUgZGVmYXVsdCBpcyAz Mi4KPiArICoKPiArICogLSBzY2hlZF9od19zdWJtaXNzaW9uIChpbnQpIC0gT3ZlcnJpZGUgdGhl IG1heCBudW1iZXIgb2YgSFcgc3VibWlzc2lvbnMuIFRoZSBkZWZhdWx0IGlzIDIuCj4gKyAqCj4g KyAqIC0gcHBmZWF0dXJlbWFzayAodWludCkgLSBPdmVycmlkZSB3aGF0IHBvd2VyIGZlYXR1cmVz IGFyZSBlbmFibGVkLiBUaGUgZGVmYXVsdCBpcyAweGZmZmYzZmZmIChnZnhvZmYoYml0IDE1KSwg b3ZlcmRyaXZlcihiaXQgMTQpIGRpc2FibGVkKS4KPiArICoKPiArICogLSBwY2llX2dlbl9jYXAg KHVpbnQpIC0gT3ZlcnJpZGUgUENJRSBnZW4gc3BlZWQgY2FwYWJpbGl0aWVzLiBUaGUgZGVmYXVs dCBpcyAwIChhdXRvbWF0aWMgZm9yIGVhY2ggYXNpYykuCj4gKyAqCj4gKyAqIC0gcGNpZV9sYW5l X2NhcCAodWludCkgLSBPdmVycmlkZSBQQ0lFIGxhbmVzIGNhcGFiaWxpdGllcy4gVGhlIGRlZmF1 bHQgaXMgMCAoYXV0b21hdGljIGZvciBlYWNoIGFzaWMpLgo+ICsgKgo+ICsgKiAtIGNnX21hc2sg KHVpbnQpIC0gT3ZlcnJpZGUgd2hhdCBDbG9ja2dhdGluZyBmZWF0dXJlcyBhcmUgZW5hYmxlZCBv biBHUFUgKDAgPSBkaXNhYmxlIGNsb2NrIGdhdGluZykuIFRoZSBkZWZhdWx0IGlzIDB4ZmZmZmZm ZmYgKGFsbCBlbmFibGVkKS4KPiArICoKPiArICogLSBwZ19tYXNrICh1aW50KSAtIE92ZXJyaWRl IHdoYXQgUG93ZXJnYXRpbmcgZmVhdHVyZXMgYXJlIGVuYWJsZWQgb24gR1BVICgwID0gZGlzYWJs ZSBwb3dlciBnYXRpbmcpLiBUaGUgZGVmYXVsdCBpcyAweGZmZmZmZmZmIChhbGwgZW5hYmxlZCku Cj4gKyAqCj4gKyAqIC0gc2RtYV9waGFzZV9xdWFudHVtICh1aW50KSAtIE92ZXJyaWRlIFNETUEg Y29udGV4dCBzd2l0Y2ggcGhhc2UgcXVhbnR1bSAoeCAxSyBHUFUgY2xvY2sgY3ljbGVzLCAwID0g bm8gY2hhbmdlKS4gVGhlIGRlZmF1bHQgaXMgMzIuCj4gKyAqCj4gKyAqIC0gZGlzYWJsZV9jdSAo Y2hhcnApIC0gU2V0IHRvIGRpc2FibGUgQ1VzIChJdCdzIHNldCBsaWtlIHNlLnNoLmN1LC4uLiku IFRoZSBkZWZhdWx0IGlzIE5VTEwuCj4gKyAqCj4gKyAqIC0gdmlydHVhbF9kaXNwbGF5IChjaGFy cCkgLSBTZXQgdG8gZW5hYmxlIHZpcnR1YWwgZGlzcGxheSBmZWF0dXJlLiBUaGlzIGZlYXR1cmUg cHJvdmlkZXMgYSB2aXJ0dWFsIGRpc3BsYXkgaGFyZHdhcmUgb24gaGVhZGxlc3MgYm9hcmRzCj4g KyAqIG9yIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cy4gSXQgd2lsbCBiZSBzZXQgbGlrZSB4 eHh4Onh4Onh4LngseDt4eHh4Onh4Onh4LngseC4gVGhlIGRlZmF1bHQgaXMgTlVMTC4KPiArICoK PiArICogLSBuZ2cgKGludCkgLSBTZXQgdG8gZW5hYmxlIE5leHQgR2VuZXJhdGlvbiBHcmFwaGlj cyAoMSA9IGVuYWJsZSkuIFRoZSBkZWZhdWx0IGlzIDAgKGRpc2FibGVkKS4KPiArICoKPiArICog LSBwcmltX2J1Zl9wZXJfc2UgKGludCkgLSBPdmVycmlkZSB0aGUgc2l6ZSBvZiBQcmltaXRpdmUg QnVmZmVyIHBlciBTaGFkZXIgRW5naW5lLiBUaGUgZGVmYXVsdCBpcyAwIChkZXBlbmRpbmcgb24g Z2Z4KS4KPiArICoKPiArICogLSBwb3NfYnVmX3Blcl9zZSAoaW50KSAtIE92ZXJyaWRlIHRoZSBz aXplIG9mIFBvc2l0aW9uIEJ1ZmZlciBwZXIgU2hhZGVyIEVuZ2luZS4gVGhlIGRlZmF1bHQgaXMg MCAoZGVwZW5kaW5nIG9uIGdmeCkuCj4gKyAqCj4gKyAqIC0gY250bF9zYl9idWZfcGVyX3NlIChp bnQpIC0gT3ZlcnJpZGUgdGhlIHNpemUgb2YgQ29udHJvbCBTaWRlYmFuZCBwZXIgU2hhZGVyIEVu Z2luZS4gVGhlIGRlZmF1bHQgaXMgMCAoZGVwZW5kaW5nIG9uIGdmeCkuCj4gKyAqCj4gKyAqIC0g cGFyYW1fYnVmX3Blcl9zZSAoaW50KSAtIE92ZXJyaWRlIHRoZSBzaXplIG9mIE9mZi1DaGlwIFBy YW1hdGVyIENhY2hlIHBlciBTaGFkZXIgRW5naW5lLiBUaGUgZGVmYXVsdCBpcyAwIChkZXBlbmRp bmcgb24gZ2Z4KS4KCkFib3ZlIDQgc2l6ZXMgYXJlIGluIEJ5dGUuCgo+ICsgKgo+ICsgKiAtIGpv Yl9oYW5nX2xpbWl0IChpbnQpIC0gU2V0IGhvdyBtdWNoIHRpbWUgYWxsb3cgYSBqb2IgaGFuZyBh bmQgbm90IGRyb3AgaXQuIFRoZSBkZWZhdWx0IGlzIDAuCj4gKyAqCj4gKyAqIC0gbGJwdyAoaW50 KSAtIE92ZXJyaWRlIExvYWQgQmFsYW5jaW5nIFBlciBXYXR0IChMQlBXKSBzdXBwb3J0ICgxID0g ZW5hYmxlLCAwID0gZGlzYWJsZSkuIFRoZSBkZWZhdWx0IGlzIC0xIChhdXRvIGVuYWJsZWQpLgo+ ICsgKgo+ICsgKiAtIGdwdV9yZWNvdmVyeSAoaW50KSAtIFNldCB0byBlbmFibGUgR1BVIHJlY292 ZXJ5IG1lY2hhbmlzbSAoMSA9IGVuYWJsZSwgMCA9IGRpc2FibGUpLiBUaGUgZGVmYXVsdCBpcyAt MSAoYXV0bywgZGlzYWJsZWQgZXhjZXB0IFNSSU9WKS4KPiArICoKPiArICogLSBlbXVfbW9kZSAo aW50KSAtIFNldCB2YWx1ZSAxIHRvIGVuYWJsZSBlbXVsYXRpb24gbW9kZS4gVGhlIGRlZmF1bHQg aXMgMCAoZGlzYWJsZWQpLgo+ICsgKgo+ICsgKiAtIHNpX3N1cHBvcnQgKGludCkgLSBTZXQgU0kg c3VwcG9ydCBkcml2ZXIuIFRoaXMgcGFyYW1ldGVyIHdvcmtzIGFmdGVyIHNldCBjb25maWcgQ09O RklHX0RSTV9BTURHUFVfU0kuIEZvciBTSSBhc2ljLCB3aGVuIHJhZGVvbiBkcml2ZXIgaXMKPiAr ICogZW5hYmxlZCwgc2V0IHZhbHVlIDAgdG8gdXNlIHJhZGVvbiBkcml2ZXIsIHdoaWxlIHNldCB2 YWx1ZSAxIHRvIHVzZSBhbWRncHUgZHJpdmVyLiBUaGUgZGVmYXVsdCBpcyB1c2luZyByYWRlb24g ZHJpdmVyIHdoZW4gaXQgYXZhaWxhYmxlLAo+ICsgKiBvdGhlcndpc2UgdXNpbmcgYW1kZ3B1IGRy aXZlci4KPiArICoKPiArICogLSBjaWtfc3VwcG9ydCAoaW50KSAtIFNldCBDSUsgc3VwcG9ydCBk cml2ZXIuIFRoaXMgcGFyYW1ldGVyIHdvcmtzIGFmdGVyIHNldCBjb25maWcgQ09ORklHX0RSTV9B TURHUFVfQ0lLLiBGb3IgQ0lLIGFzaWMsIHdoZW4gcmFkZW9uIGRyaXZlciBpcwo+ICsgKiBlbmFi bGVkLCBzZXQgdmFsdWUgMCB0byB1c2UgcmFkZW9uIGRyaXZlciwgd2hpbGUgc2V0IHZhbHVlIDEg dG8gdXNlIGFtZGdwdSBkcml2ZXIuIFRoZSBkZWZhdWx0IGlzIHVzaW5nIHJhZGVvbiBkcml2ZXIg d2hlbiBpdCBhdmFpbGFibGUsCj4gKyAqIG90aGVyd2lzZSB1c2luZyBhbWRncHUgZHJpdmVyLgo+ ICsgKgo+ICsgKiAtIHNtdV9tZW1vcnlfcG9vbF9zaXplICh1aW50KSAtIEl0IGlzIHVzZWQgdG8g cmVzZXJ2ZSBndHQgZm9yIHNtdSBkZWJ1ZyB1c2FnZSwgc2V0dGluZyB2YWx1ZSAwIHRvIGRpc2Fi bGUgaXQuIFRoZSBhY3R1YWwgc2l6ZSBpcyB2YWx1ZSAqIDI1Nk1pQi4KPiArICogRS5nLiAweDEg PSAyNTZNYnl0ZSwgMHgyID0gNTEyTWJ5dGUsIDB4NCA9IDEgR2J5dGUsIDB4OCA9IDJHQnl0ZS4g VGhlIGRlZmF1bHQgaXMgMCAoZGlzYWJsZWQpLgo+ICsgKi8KPiArCj4gICBpbnQgYW1kZ3B1X3Zy YW1fbGltaXQgPSAwOwo+ICAgaW50IGFtZGdwdV92aXNfdnJhbV9saW1pdCA9IDA7Cj4gICBpbnQg YW1kZ3B1X2dhcnRfc2l6ZSA9IC0xOyAvKiBhdXRvICovCj4KX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9hbWQtZ2Z4Cg==