From owner-svn-src-head@FreeBSD.ORG Fri Oct 2 01:32:41 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F31DE106566B; Fri, 2 Oct 2009 01:32:40 +0000 (UTC) (envelope-from tomelite82@gmail.com) Received: from mail-vw0-f171.google.com (mail-vw0-f171.google.com [209.85.212.171]) by mx1.freebsd.org (Postfix) with ESMTP id 70B828FC1B; Fri, 2 Oct 2009 01:32:40 +0000 (UTC) Received: by vws1 with SMTP id 1so403311vws.27 for ; Thu, 01 Oct 2009 18:32:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to :content-type:content-transfer-encoding; bh=LHp8BKTYzlISU317e3Zk90EaVbaprx5p/5ttG/RXR44=; b=qyct2uc4sBOLRZ9NkeMUxdkvnQp/DqwofiZyYYt0KG5nFY8ZAUW6WIWfMIh1mn8FA5 RcuSkOd5qh/PnYXD0sOqTlynwEvFgph3UxfnXdynMvhFPs6H42FvN2hczP/dVLf+j6Cn iqm9l40Ok1mKwQMitjlZUP03qdgLqO99Jyuco= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type :content-transfer-encoding; b=kZUQd7zy45dMao+nxJNtU9DgJuMjEe13kdjl8YEHLwyuR3ImqjIhA2LaX3KLtjz/Nj R/vqtRwtzLezLm+4WKfrCYxM/1jbUwiELUumLXMZibyvLHi8QsyRg9JBM1ipBJN/hZXb P9KPgueCqF0Vpx7WnZ8muMNI2PGW8BzJrwc6k= MIME-Version: 1.0 Sender: tomelite82@gmail.com Received: by 10.220.17.37 with SMTP id q37mr3440057vca.111.1254447159666; Thu, 01 Oct 2009 18:32:39 -0700 (PDT) In-Reply-To: <200910012032.n91KWTOa064111@svn.freebsd.org> References: <200910012032.n91KWTOa064111@svn.freebsd.org> Date: Thu, 1 Oct 2009 18:32:39 -0700 X-Google-Sender-Auth: f22102176f379ce2 Message-ID: <9ace436c0910011832q3fe6d273nbfd3c9a5d8d348ed@mail.gmail.com> From: Qing Li To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: base64 Cc: Subject: Re: svn commit: r197687 - head/sys/net X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Oct 2009 01:32:41 -0000 SSBtaXNpbnRlcnByZXRlZCB0aGUgIlN1Ym1pdHRlZCBieToiIGZpZWxkLgoKSSB0aG91Z2h0IEkg cHV0IGluIHRoZSBuYW1lcyBvZiBwZXJzb25zIHdobyByZXBvcnRlZCB0aGUgYnVnLgoKRGlzcmVn YXJkIHRoZSAiU3VibWl0dGVkIGJ5IiBmaWVsZCBmb3IgdGhpcyBjaGVja2luLgoKSXQncyBteSBj b2RlLiBTb21ldGhpbmcgYnJlYWtzLCBteSBmYXVsdCwgZW1haWwgbWUgLi4uCgotLSBRaW5nCgoK T24gVGh1LCBPY3QgMSwgMjAwOSBhdCAxOjMyIFBNLCBRaW5nIExpIDxxaW5nbGlAZnJlZWJzZC5v cmc+IHdyb3RlOgo+IEF1dGhvcjogcWluZ2xpCj4gRGF0ZTogVGh1IE9jdCCgMSAyMDozMjoyOSAy MDA5Cj4gTmV3IFJldmlzaW9uOiAxOTc2ODcKPiBVUkw6IGh0dHA6Ly9zdm4uZnJlZWJzZC5vcmcv Y2hhbmdlc2V0L2Jhc2UvMTk3Njg3Cj4KPiBMb2c6Cj4goFRoZSBmbG93LXRhYmxlIGFzc29jaWF0 ZXMgVENQL1VEUCBmbG93cyBhbmQgSVAgZGVzdGluYXRpb25zIHdpdGgKPiCgc3BlY2lmaWMgcm91 dGVzLiBXaGVuIHRoZSByb3V0aW5nIHRhYmxlIGNoYW5nZXMsIGZvciBleGFtcGxlLAo+IKB3aGVu IGEgbmV3IHJvdXRlIHdpdGggYSBtb3JlIHNwZWNpZmljIHByZWZpeCBpcyBpbnNlcnRlZCBpbnRv IHRoZQo+IKByb3V0aW5nIHRhYmxlLCB0aGUgZmxvdy10YWJsZSBpcyBub3QgdXBkYXRlZCB0byBy ZWZsZWN0IHRoYXQgY2hhbmdlLgo+IKBBcyBzdWNoIGV4aXN0aW5nIGNvbm5lY3Rpb25zIGNhbm5v dCB0YWtlIGFkdmFudGFnZSBvZiB0aGUgbmV3IHBhdGguCj4goEluIHNvbWUgY2FzZXMgdGhlIHBh dGggaXMgYnJva2VuLiBUaGlzIHBhdGNoIHdpbGwgdXBkYXRlIHRoZSBhZmZlY3RlZAo+IKBmbG93 LXRhYmxlIGVudHJpZXMgd2hlbiBhIG1vcmUgc3BlY2lmaWMgcm91dGUgaXMgYWRkZWQuIFRoZSBy b3V0ZQo+IKBlbnRyeSBpcyBwcm9wZXJseSBtYXJrZWQgd2hlbiBhIHJvdXRlIGlzIGRlbGV0ZWQg ZnJvbSB0aGUgdGFibGUuCj4goEluIHRoaXMgY2FzZSwgd2hlbiB0aGUgZmxvdy10YWJsZSBwZXJm b3JtcyBhIHNlYXJjaCwgdGhlIHN0YWxlCj4goGVudHJ5IGlzIHVwZGF0ZWQgYXV0b21hdGljYWxs eS4gVGhlcmVmb3JlIHRoaXMgcGF0Y2ggaXMgbm90Cj4goG5lY2Vzc2FyeSBmb3Igcm91dGUgZGVs ZXRpb24uCj4KPiCgU3VibWl0dGVkIGJ5OiBzaW1vbiwgcGhrCj4goFJldmlld2VkIGJ5OiCgYnos IGttYWN5Cj4goE1GQyBhZnRlcjogoCCgMyBkYXlzCj4KPiBNb2RpZmllZDoKPiCgaGVhZC9zeXMv bmV0L2Zsb3d0YWJsZS5jCj4goGhlYWQvc3lzL25ldC9mbG93dGFibGUuaAo+IKBoZWFkL3N5cy9u ZXQvcm91dGUuYwo+Cj4gTW9kaWZpZWQ6IGhlYWQvc3lzL25ldC9mbG93dGFibGUuYwo+ID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQo+IC0tLSBoZWFkL3N5cy9uZXQvZmxvd3RhYmxlLmMgoCCgVGh1IE9j dCCgMSAyMDoxMTo0MiAyMDA5IKAgoCCgIKAocjE5NzY4NikKPiArKysgaGVhZC9zeXMvbmV0L2Zs b3d0YWJsZS5jIKAgoFRodSBPY3QgoDEgMjA6MzI6MjkgMjAwOSCgIKAgoCCgKHIxOTc2ODcpCj4g QEAgLTgzMCw3ICs4MzAsNyBAQCBmbGVfZnJlZShzdHJ1Y3QgZmxlbnRyeSAqZmxlKQo+IKB9Cj4K PiCgc3RhdGljIHZvaWQKPiAtZmxvd3RhYmxlX2ZyZWVfc3RhbGUoc3RydWN0IGZsb3d0YWJsZSAq ZnQpCj4gK2Zsb3d0YWJsZV9mcmVlX3N0YWxlKHN0cnVjdCBmbG93dGFibGUgKmZ0LCBzdHJ1Y3Qg cnRlbnRyeSAqcnQpCj4goHsKPiCgIKAgoCCgaW50IGN1cmJpdCA9IDAsIGNvdW50Owo+IKAgoCCg IKBzdHJ1Y3QgZmxlbnRyeSAqZmxlLCCgKipmbGVoZWFkLCAqZmxlcHJldjsKPiBAQCAtODY2LDgg Kzg2NiwxNCBAQCBmbG93dGFibGVfZnJlZV9zdGFsZShzdHJ1Y3QgZmxvd3RhYmxlICpmCj4goCCg IKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgY3VyYml0KTsKPiCgIKAgoCCgIKAgoCCgIKB9Cj4goCNl bmRpZgo+IC0goCCgIKAgoCCgIKAgoCB3aGlsZSAoZmxlICE9IE5VTEwpIHsKPiAtIKAgoCCgIKAg oCCgIKAgoCCgIKAgoCBpZiAoIWZsb3dfc3RhbGUoZnQsIGZsZSkpIHsKPiArIKAgoCCgIKAgoCCg IKAgd2hpbGUgKGZsZSAhPSBOVUxMKSB7Cj4gKyCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgaWYgKHJ0 ICE9IE5VTEwpIHsKPiArIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIGlmIChfX0RFVk9M QVRJTEUoc3RydWN0IHJ0ZW50cnkgKiwgZmxlLT5mX3J0KSAhPSBydCkgewo+ICsgoCCgIKAgoCCg IKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCBmbGVwcmV2ID0gZmxlOwo+ICsgoCCgIKAgoCCg IKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCBmbGUgPSBmbGUtPmZfbmV4dDsKPiArIKAgoCCg IKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgY29udGludWU7Cj4gKyCgIKAgoCCgIKAg oCCgIKAgoCCgIKAgoCCgIKAgoCB9Cj4gKyCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgfSBlbHNlIGlm ICghZmxvd19zdGFsZShmdCwgZmxlKSkgewo+IKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCg IKBmbGVwcmV2ID0gZmxlOwo+IKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKBmbGUgPSBm bGUtPmZfbmV4dDsKPiCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgY29udGludWU7Cj4g QEAgLTkxNiw2ICs5MjIsMzAgQEAgZmxvd3RhYmxlX2ZyZWVfc3RhbGUoc3RydWN0IGZsb3d0YWJs ZSAqZgo+IKAgoCCgIKAgoCCgIKAgoGxvZyhMT0dfREVCVUcsICJmcmVlZCAlZCBmbG93IGVudHJp ZXNcbiIsIGNvdW50KTsKPiCgfQo+Cj4gK3ZvaWQKPiArZmxvd3RhYmxlX3JvdXRlX2ZsdXNoKHN0 cnVjdCBmbG93dGFibGUgKmZ0LCBzdHJ1Y3QgcnRlbnRyeSAqcnQpCj4gK3sKPiArIKAgoCCgIGlu dCBpOwo+ICsgoCCgIKAgaWYgKGZ0LT5mdF9mbGFncyAmIEZMX1BDUFUpIHsKPiArIKAgoCCgIKAg oCCgIKAgZm9yIChpID0gMDsgaSA8PSBtcF9tYXhpZDsgaSsrKSB7Cj4gKyCgIKAgoCCgIKAgoCCg IKAgoCCgIKAgaWYgKENQVV9BQlNFTlQoaSkpCj4gKyCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCg IKAgoCBjb250aW51ZTsKPiArCj4gKyCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgdGhyZWFkX2xvY2so Y3VydGhyZWFkKTsKPiArIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCBzY2hlZF9iaW5kKGN1cnRocmVh ZCwgaSk7Cj4gKyCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgdGhyZWFkX3VubG9jayhjdXJ0aHJlYWQp Owo+ICsKPiArIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCBmbG93dGFibGVfZnJlZV9zdGFsZShmdCwg cnQpOwo+ICsKPiArIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCB0aHJlYWRfbG9jayhjdXJ0aHJlYWQp Owo+ICsgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIHNjaGVkX3VuYmluZChjdXJ0aHJlYWQpOwo+ICsg oCCgIKAgoCCgIKAgoCCgIKAgoCCgIHRocmVhZF91bmxvY2soY3VydGhyZWFkKTsKPiArIKAgoCCg IKAgoCCgIKAgfQo+ICsgoCCgIKAgfSBlbHNlIHsKPiArIKAgoCCgIKAgoCCgIKAgZmxvd3RhYmxl X2ZyZWVfc3RhbGUoZnQsIHJ0KTsKPiArIKAgoCCgIH0KPiArfQo+ICsKPiCgc3RhdGljIHZvaWQK PiCgZmxvd3RhYmxlX2NsZWFuX3ZuZXQodm9pZCkKPiCgewo+IEBAIC05MzMsMTQgKzk2MywxNCBA QCBmbG93dGFibGVfY2xlYW5fdm5ldCh2b2lkKQo+IKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAg oCCgIKBzY2hlZF9iaW5kKGN1cnRocmVhZCwgaSk7Cj4goCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAg oCCgIKAgoHRocmVhZF91bmxvY2soY3VydGhyZWFkKTsKPgo+IC0goCCgIKAgoCCgIKAgoCCgIKAg oCCgIKAgoCCgIKAgZmxvd3RhYmxlX2ZyZWVfc3RhbGUoZnQpOwo+ICsgoCCgIKAgoCCgIKAgoCCg IKAgoCCgIKAgoCCgIKAgZmxvd3RhYmxlX2ZyZWVfc3RhbGUoZnQsIE5VTEwpOwo+Cj4goCCgIKAg oCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoHRocmVhZF9sb2NrKGN1cnRocmVhZCk7Cj4goCCgIKAg oCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoHNjaGVkX3VuYmluZChjdXJ0aHJlYWQpOwo+IKAgoCCg IKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKB0aHJlYWRfdW5sb2NrKGN1cnRocmVhZCk7Cj4goCCg IKAgoCCgIKAgoCCgIKAgoCCgIKB9Cj4goCCgIKAgoCCgIKAgoCCgfSBlbHNlIHsKPiAtIKAgoCCg IKAgoCCgIKAgoCCgIKAgoCBmbG93dGFibGVfZnJlZV9zdGFsZShmdCk7Cj4gKyCgIKAgoCCgIKAg oCCgIKAgoCCgIKAgZmxvd3RhYmxlX2ZyZWVfc3RhbGUoZnQsIE5VTEwpOwo+IKAgoCCgIKAgoCCg IKAgoH0KPiCgIKAgoCCgIKAgoCCgIKBmdCA9IGZ0LT5mdF9uZXh0Owo+IKAgoCCgIKB9Cj4KPiBN b2RpZmllZDogaGVhZC9zeXMvbmV0L2Zsb3d0YWJsZS5oCj4gPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Cj4gLS0tIGhlYWQvc3lzL25ldC9mbG93dGFibGUuaCCgIKBUaHUgT2N0IKAxIDIwOjExOjQyIDIw MDkgoCCgIKAgoChyMTk3Njg2KQo+ICsrKyBoZWFkL3N5cy9uZXQvZmxvd3RhYmxlLmggoCCgVGh1 IE9jdCCgMSAyMDozMjoyOSAyMDA5IKAgoCCgIKAocjE5NzY4NykKPiBAQCAtNTEsNSArNTEsNyBA QCBzdHJ1Y3QgZmxvd3RhYmxlICpmbG93dGFibGVfYWxsb2MoaW50IG5lCj4goGludCBmbG93dGFi bGVfbG9va3VwKHN0cnVjdCBmbG93dGFibGUgKmZ0LCBzdHJ1Y3QgbWJ1ZiAqbSwKPiCgIKAgc3Ry dWN0IHJvdXRlICpybywgdWludDMyX3QgZmlibnVtKTsKPgo+ICt2b2lkIGZsb3d0YWJsZV9yb3V0 ZV9mbHVzaChzdHJ1Y3QgZmxvd3RhYmxlICpmdCwgc3RydWN0IHJ0ZW50cnkgKnJ0KTsKPiArCj4g oCNlbmRpZiAvKiBfS0VSTkVMICovCj4goCNlbmRpZgo+Cj4gTW9kaWZpZWQ6IGhlYWQvc3lzL25l dC9yb3V0ZS5jCj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gLS0tIGhlYWQvc3lzL25ldC9yb3V0 ZS5jIKAgoCCgIKBUaHUgT2N0IKAxIDIwOjExOjQyIDIwMDkgoCCgIKAgoChyMTk3Njg2KQo+ICsr KyBoZWFkL3N5cy9uZXQvcm91dGUuYyCgIKAgoCCgVGh1IE9jdCCgMSAyMDozMjoyOSAyMDA5IKAg oCCgIKAocjE5NzY4NykKPiBAQCAtNTYsNiArNTYsNyBAQAo+IKAjaW5jbHVkZSA8bmV0L2lmX2Rs Lmg+Cj4goCNpbmNsdWRlIDxuZXQvcm91dGUuaD4KPiCgI2luY2x1ZGUgPG5ldC92bmV0Lmg+Cj4g KyNpbmNsdWRlIDxuZXQvZmxvd3RhYmxlLmg+Cj4KPiCgI2lmZGVmIFJBRElYX01QQVRICj4goCNp bmNsdWRlIDxuZXQvcmFkaXhfbXBhdGguaD4KPiBAQCAtOTk2LDYgKzk5Nyw5IEBAIHJ0cmVxdWVz dDFfZmliKGludCByZXEsIHN0cnVjdCBydF9hZGRyaW4KPiCgewo+IKAgoCCgIKBpbnQgZXJyb3Ig PSAwLCBuZWVkbG9jayA9IDA7Cj4goCCgIKAgoHJlZ2lzdGVyIHN0cnVjdCBydGVudHJ5ICpydDsK PiArI2lmZGVmIEZMT1dUQUJMRQo+ICsgoCCgIKAgcmVnaXN0ZXIgc3RydWN0IHJ0ZW50cnkgKnJ0 MDsKPiArI2VuZGlmCj4goCCgIKAgoHJlZ2lzdGVyIHN0cnVjdCByYWRpeF9ub2RlICpybjsKPiCg IKAgoCCgcmVnaXN0ZXIgc3RydWN0IHJhZGl4X25vZGVfaGVhZCAqcm5oOwo+IKAgoCCgIKBzdHJ1 Y3QgaWZhZGRyICppZmE7Cj4gQEAgLTExNTMsNiArMTE1Nyw1MyBAQCBydHJlcXVlc3QxX2ZpYihp bnQgcmVxLCBzdHJ1Y3QgcnRfYWRkcmluCj4goCCgIKAgoCCgIKAgoCCgfQo+IKAjZW5kaWYKPgo+ ICsjaWZkZWYgRkxPV1RBQkxFCj4gKyCgIKAgoCCgIKAgoCCgIHJ0MCA9IE5VTEw7Cj4gKyCgIKAg oCCgIKAgoCCgIC8qIFhYWAo+ICsgoCCgIKAgoCCgIKAgoCCgKiAiZmxvdy10YWJsZSIgb25seSBz dXBwb3J0IElQdjQgYXQgdGhlIG1vbWVudC4KPiArIKAgoCCgIKAgoCCgIKAgoCovCj4gKyCgIKAg oCCgIKAgoCCgIGlmIChkc3QtPnNhX2ZhbWlseSA9PSBBRl9JTkVUKSB7Cj4gKyCgIKAgoCCgIKAg oCCgIKAgoCCgIKAgcm4gPSBybmgtPnJuaF9tYXRjaGFkZHIoZHN0LCBybmgpOwo+ICsgoCCgIKAg oCCgIKAgoCCgIKAgoCCgIGlmIChybiAmJiAoKHJuLT5ybl9mbGFncyAmIFJORl9ST09UKSA9PSAw KSkgewo+ICsgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgc3RydWN0IHNvY2thZGRyICpt YXNrOwo+ICsgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgdV9jaGFyICptLCAqbjsKPiAr IKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIGludCBsZW47Cj4gKwo+ICsgoCCgIKAgoCCg IKAgoCCgIKAgoCCgIKAgoCCgIKAgLyoKPiArIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCg IKAqIGNvbXBhcmUgbWFzayB0byBzZWUgaWYgdGhlIG5ldyByb3V0ZSBpcwo+ICsgoCCgIKAgoCCg IKAgoCCgIKAgoCCgIKAgoCCgIKAgoCogbW9yZSBzcGVjaWZpYyB0aGFuIHRoZSBleGlzdGluZyBv bmUKPiArIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAqLwo+ICsgoCCgIKAgoCCgIKAg oCCgIKAgoCCgIKAgoCCgIKAgcnQwID0gUk5UT1JUKHJuKTsKPiArIKAgoCCgIKAgoCCgIKAgoCCg IKAgoCCgIKAgoCCgIFJUX0xPQ0socnQwKTsKPiArIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAg oCCgIFJUX0FERFJFRihydDApOwo+ICsgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgUlRf VU5MT0NLKHJ0MCk7Cj4gKyCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCAvKgo+ICsgoCCg IKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCogQSBob3N0IHJvdXRlIGlzIGFscmVhZHkgcHJl c2VudCwgc28KPiArIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAqIGxlYXZlIHRoZSBm bG93LXRhYmxlIGVudHJpZXMgYXMgaXMuCj4gKyCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAg oCCgKi8KPiArIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIGlmIChydDAtPnJ0X2ZsYWdz ICYgUlRGX0hPU1QpIHsKPiArIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAg UlRGUkVFKHJ0MCk7Cj4gKyCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIHJ0 MCA9IE5VTEw7Cj4gKyCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCB9IGVsc2UgaWYgKCEo ZmxhZ3MgJiBSVEZfSE9TVCkgJiYgbmV0bWFzaykgewo+ICsgoCCgIKAgoCCgIKAgoCCgIKAgoCCg IKAgoCCgIKAgoCCgIKAgoCBtYXNrID0gcnRfbWFzayhydDApOwo+ICsgoCCgIKAgoCCgIKAgoCCg IKAgoCCgIKAgoCCgIKAgoCCgIKAgoCBsZW4gPSBtYXNrLT5zYV9sZW47Cj4gKyCgIKAgoCCgIKAg oCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIG0gPSAodV9jaGFyICopbWFzazsKPiArIKAgoCCg IKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgbiA9ICh1X2NoYXIgKiluZXRtYXNrOwo+ ICsgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCB3aGlsZSAobGVuLS0gPiAw KSB7Cj4gKyCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgaWYg KCpuICE9ICptKQo+ICsgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAg oCCgIKAgoCCgIKAgYnJlYWs7Cj4gKyCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAg oCCgIKAgoCCgIKAgbisrOwo+ICsgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAg oCCgIKAgoCCgIG0rKzsKPiArIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAg fQo+ICsgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCBpZiAobGVuID09IDAg fHwgKCpuIDwgKm0pKSB7Cj4gKyCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCg IKAgoCCgIKAgUlRGUkVFKHJ0MCk7Cj4gKyCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCg IKAgoCCgIKAgoCCgIKAgcnQwID0gTlVMTDsKPiArIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAg oCCgIKAgoCCgIKAgfQo+ICsgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgfQo+ICsgoCCg IKAgoCCgIKAgoCCgIKAgoCCgIH0KPiArIKAgoCCgIKAgoCCgIKAgfQo+ICsjZW5kaWYKPiArCj4g oCCgIKAgoCCgIKAgoCCgLyogWFhYIG10dSBtYW5pcHVsYXRpb24gd2lsbCBiZSBkb25lIGluIHJu aF9hZGRhZGRyIC0tIGl0b2p1biAqLwo+IKAgoCCgIKAgoCCgIKAgoHJuID0gcm5oLT5ybmhfYWRk YWRkcihuZHN0LCBuZXRtYXNrLCBybmgsIHJ0LT5ydF9ub2Rlcyk7Cj4goCCgIKAgoCCgIKAgoCCg LyoKPiBAQCAtMTE2NSw4ICsxMjE2LDE4IEBAIHJ0cmVxdWVzdDFfZmliKGludCByZXEsIHN0cnVj dCBydF9hZGRyaW4KPiCgIKAgoCCgIKAgoCCgIKAgoCCgIKAgoEZyZWUocnRfa2V5KHJ0KSk7Cj4g oCCgIKAgoCCgIKAgoCCgIKAgoCCgIKBSVF9MT0NLX0RFU1RST1kocnQpOwo+IKAgoCCgIKAgoCCg IKAgoCCgIKAgoCCgdW1hX3pmcmVlKFZfcnR6b25lLCBydCk7Cj4gKyNpZmRlZiBGTE9XVEFCTEUK PiArIKAgoCCgIKAgoCCgIKAgoCCgIKAgoCBpZiAocnQwICE9IE5VTEwpCj4gKyCgIKAgoCCgIKAg oCCgIKAgoCCgIKAgoCCgIKAgoCBSVEZSRUUocnQwKTsKPiArI2VuZGlmCj4goCCgIKAgoCCgIKAg oCCgIKAgoCCgIKBzZW5kZXJyKEVFWElTVCk7Cj4gKyCgIKAgoCCgIKAgoCCgIH0KPiArI2lmZGVm IEZMT1dUQUJMRQo+ICsgoCCgIKAgoCCgIKAgoCBlbHNlIGlmIChydDAgIT0gTlVMTCkgewo+ICsg oCCgIKAgoCCgIKAgoCCgIKAgoCCgIGZsb3d0YWJsZV9yb3V0ZV9mbHVzaChWX2lwX2Z0LCBydDAp Owo+ICsgoCCgIKAgoCCgIKAgoCCgIKAgoCCgIFJURlJFRShydDApOwo+IKAgoCCgIKAgoCCgIKAg oH0KPiArI2VuZGlmCj4KPiCgIKAgoCCgIKAgoCCgIKAvKgo+IKAgoCCgIKAgoCCgIKAgoCAqIElm IHRoaXMgcHJvdG9jb2wgaGFzIHNvbWV0aGluZyB0byBhZGQgdG8gdGhpcyB0aGVuCj4K