From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Qiantan Hong Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] Add user content APIs for WebKit Xwidgets Date: Sat, 15 Oct 2022 07:53:21 +0000 Message-ID: <0F1442C8-45E2-408C-B310-448B4A26496E@stanford.edu> References: <763B89A7-AF82-4AAB-A0E9-A04D9958CAE8@stanford.edu> <878rlianx4.fsf@yahoo.com> <9FF9464C-1369-423E-A581-A900D132845F@stanford.edu> <87zgdy97t1.fsf@yahoo.com> <63F00459-018C-4634-9B52-A89A3ED1AA36@stanford.edu> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="_004_0F1442C845E2408CB310448B4A26496Estanfordedu_" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="36655"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Lars Ingebrigtsen , "emacs-devel@gnu.org" To: Po Lu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Oct 15 12:07:59 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oje5G-0009MV-Ih for ged-emacs-devel@m.gmane-mx.org; Sat, 15 Oct 2022 12:07:58 +0200 Original-Received: from localhost ([::1]:33328 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oje5F-0005Xi-M4 for ged-emacs-devel@m.gmane-mx.org; Sat, 15 Oct 2022 06:07:57 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:48710) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ojbzD-0006Mn-GR for emacs-devel@gnu.org; Sat, 15 Oct 2022 03:53:35 -0400 Original-Received: from mx0b-00000d04.pphosted.com ([148.163.153.235]:52540) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ojbz9-0004Dm-2e for emacs-devel@gnu.org; Sat, 15 Oct 2022 03:53:34 -0400 Original-Received: from pps.filterd (m0102892.ppops.net [127.0.0.1]) by mx0a-00000d04.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 29F3Oimk031270; Sat, 15 Oct 2022 00:53:26 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=stanford.edu; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=pps05272020; bh=fpoOJEhVyNPM0qxbAVr4mHk9pmFssZYkCGwmBgL7NQk=; b=aLI4RzvB+WbCWYeIPepQkqsNmINgaJilBtRnUQfm3W/LPiDHn7zsF3WUzUb0OrtbCTte yUBeyHEwCM2pgBE5kruucWCEUKD/jRhl5epgP9J6JHLjRKjmee1b/n7X3KwJVwBTp2k4 I2YcFslfEgtTCflf9W3AVEatfN5k9J9tWaWqjCFyykg9WSFcLXMwAAJSp2SF8v7eedKO 80tuMn37SdBAWT+rUZCAm3S0YHDLhW95gSyQGYU6AYBXV/QVKy3QFOopOyccHJMj88ge Xn5wageGardS31IUxJ6VHXotH4HtpGConzrJlj2XjJfgC2W83SHVo88nc0CiZkhY4nsb Dg== Original-Received: from mx0b-00000d03.pphosted.com (mx0b-00000d03.pphosted.com [148.163.153.234]) by mx0a-00000d04.pphosted.com (PPS) with ESMTPS id 3k7mv9gdb1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 15 Oct 2022 00:53:26 -0700 Original-Received: from pps.filterd (m0190086.ppops.net [127.0.0.1]) by mx0a-00000d03.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 29F7P7Z1026453; Sat, 15 Oct 2022 00:53:25 -0700 Original-Received: from mx0a-00000d06.pphosted.com (mx0a-00000d06.pphosted.com [148.163.135.119]) by mx0a-00000d03.pphosted.com (PPS) with ESMTPS id 3k7ret81u2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 15 Oct 2022 00:53:25 -0700 Original-Received: from pps.filterd (m0167935.ppops.net [127.0.0.1]) by mx0a-00000d06.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 29F7PQPW030613; Sat, 15 Oct 2022 00:53:24 -0700 Original-Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2169.outbound.protection.outlook.com [104.47.57.169]) by mx0a-00000d06.pphosted.com (PPS) with ESMTPS id 3k7msjg5eq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 15 Oct 2022 00:53:24 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jrl9TnDUlD8ugGspHGZz0/WzS6CloIwHO/vQKeZMInlbNDm5pU6YsSP5JkbPLb+BhkiFYGbh2+9ODcafNuCnsHpTimDsVu6884pNTNNhAFXYsZ1I8xKQliM/AvoxctnPFZ70E7X2/IPpQt0l3xhQJkOKHrC/UjLtD/dP1FYK26cWoT9DUN7x6aYHZnr6Q01pQZe7+PXfCveDBZw+K3s9k+podlJOPTxJAMfHwYiYAxyV4jVA+tD0MxSdyNjIlpPZgjdGpaI4HPyiWHHYQgMdsX/4OMG8RZz8VV7TOL99H5dfPggUwbxHrQH2e91pFvQGGZffdjRrvcV7HD13X6iZXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=fpoOJEhVyNPM0qxbAVr4mHk9pmFssZYkCGwmBgL7NQk=; b=k9mYu6Qm4Rob8pcJ1CmYJe1vMzYVXeHQs5uD8P+cP+SDQsXAct6Kq+xSQpeVbwcO9cuPPvon6RkkEgIQD9PpiFVZTa+0i68u+UgvMdXfJYwRcNplnAIaEU7K9sDrv3HwOBuohRAq/jgPXbyJyNDazEkl8qWrsdZRC2kV66/p8tqqlv+QLUP12O0WwOH/TDzYMxyUzPphVpvJ3bbiZdtUHTK3xbfyo6aH2JgTHEqCtplbQ/TsL4VkavpHew5AT4ibKt7Khmm8D9hq4mFWl0sPOBJD34D1iiiy8fWTzQkvUVvOSeP+T4nHCv+OjvUpAfGNt878Bpw8dV4rhNoRlifrIQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=stanford.edu; dmarc=pass action=none header.from=stanford.edu; dkim=pass header.d=stanford.edu; arc=none Original-Received: from BY5PR02MB6771.namprd02.prod.outlook.com (2603:10b6:a03:200::10) by PH0PR02MB7157.namprd02.prod.outlook.com (2603:10b6:510:17::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.26; Sat, 15 Oct 2022 07:53:21 +0000 Original-Received: from BY5PR02MB6771.namprd02.prod.outlook.com ([fe80::9bf9:1cfb:b090:cc9]) by BY5PR02MB6771.namprd02.prod.outlook.com ([fe80::9bf9:1cfb:b090:cc9%6]) with mapi id 15.20.5723.026; Sat, 15 Oct 2022 07:53:21 +0000 Thread-Topic: [PATCH] Add user content APIs for WebKit Xwidgets Thread-Index: AQHY35b+ISYWRDJ9PkKWpJcMREJMA64NdpqagAAC6wCAAAZiuoAA5JIAgABJuICAAGkDAA== In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BY5PR02MB6771:EE_|PH0PR02MB7157:EE_ x-ms-office365-filtering-correlation-id: f66e6302-9f51-4eac-3330-08daae825466 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 51esZFhCv0P8IoIN7JwkOn1om56G5jaQIuuIKIfH0dfrDZpauTf4m/2ikPVyIxEP25vFTC13AwCK2W7KU3boaeaqKImLQHtrcgp3eGvfmCKZELRrdoeJ0Zt1HCpeREjAwEedcqoof9LSH/XgLCAEnTA+uEiXFyjAUZldei+Hzx6n1lIgIuv9Cj3ggSu+Dk2bc7uGg1wmngXE57QNtNOM6CyH99/ffD48fs3EDXb0dTc7GpgXQnbp2KzkKQ3J6lHty7UhOc34vr/p1JIsArLHai1YepcJ9UotnJpsoj1BteowrwU0nFIpVEehpIs8jqngSNYTv9za/W2FZhiRajmO7/+fvVwurpROtK42qXzhHEeQyZOo4C6AsA21dbnY2/UW5NWc5PxcP2Eu0hoBTOVeR9+ow7CrOHWb9e8e1bxZ+rF6bmwa0AgD+4sSAyO4v0MA3SSo9IroiSe1JrSqhv/pWXDslXK5cZQmytZU0ZeG6zwHeJ09bCFu9J96xCsESLg83U5CQh2r3GQ0WXosi0j8sD46NEq038BhiqZ2nedEhLn7dTxmi1hyxRstCHO3q5QotMRskNIDGPGi4Y//ZPLeO/I1mi9Ok5X/lJAti413qyPgq7pXYenvoXAl9Xjfhsv44JSoPxf3J90lsUWhDAkQbN11X+yeuK6VJLF6c6zcAkoyRQ56dA0cHVvMCR6kt0vg0Q458O/cWZXE/ZsxVLewUZjZadYS47ntSjCtwnqemvOQG10apqSrEBrOa0idp jAaKy2NCSwTuGMQTB0+GwhM0mBeWIzTY7PfBoSKxZAEL821vXztaLO/oySAIHPgu/0i x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR02MB6771.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(136003)(376002)(346002)(396003)(39860400002)(366004)(451199015)(478600001)(6512007)(53546011)(38070700005)(26005)(5660300002)(36756003)(66476007)(91956017)(66556008)(41300700001)(6506007)(76116006)(66446008)(4326008)(64756008)(41320700001)(8676002)(75432002)(166002)(8936002)(99936003)(83380400001)(122000001)(33656002)(86362001)(186003)(38100700002)(66946007)(2616005)(2906002)(6486002)(966005)(786003)(71200400001)(54906003)(316002)(6916009)(45980500001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?OURSS2tMbDl1MFVnTFR5b3czQSt0NnhxSWNMZURySzlDM0x0dW4xOVI4SVhF?= =?utf-8?B?d3ZnQ0NMcURCMms4ZlkxR1BsYTlLM2VIRW9HRDZzTDhZUVVQTGZzY0JWNW9v?= =?utf-8?B?djByVklTdWU4ekJ4QU4zUFJCaHFocnNzRHdXQk00dFJySVFBTmVobXRQbnNX?= =?utf-8?B?T21lMUZ2a0tLNzYxWUxxeDVEak1CY3pUMUJSTUNnWXNHSzdWUG81TVRqMkNO?= =?utf-8?B?VkhuSC9zN3MwcmE5a3JvOGlvbXFYRDNTOFp1aHlTakZKYk5nd28wYUl6OGZ1?= =?utf-8?B?YUxBRDAzZHhWVVVoeTRTQ1RZMjZHeHlNVjRWd3ovcFBmbjR3MjdxWDZVdzRR?= =?utf-8?B?ZEV4THJOeXY2QkIxOUp1MzhDTFVGRklCdUVrWVFWZ3lBSUkzZXVkbWZWQVJv?= =?utf-8?B?Z0xkYTQ1SXkyRDRlVHRpS0N6azRSYkNYdGZnYkpkR0ZvZ1o5WFFTZXROWCtG?= =?utf-8?B?ZHRkRFhBdXkxV1lpSXlUc2dDZ2R6MnhoYzltQXNIYnh1amxTQmIvNmlyS2ky?= =?utf-8?B?bEdITTNOL0xrYlI2emw2ZDUrY0IvOGpHaWRzcUpqN0hNd1ZhQ3dXTysyc2dv?= =?utf-8?B?WU9BclBGRHJJRnh3SEx2bkFjV1BVaEgvSm81MWJObGhBRmxPVDcwOFNVRjBu?= =?utf-8?B?c3FoOTJTbE8xWkZvc0xBOGlqbjA4NVhCdEpoNl X-OriginatorOrg: stanford.edu X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR02MB6771.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f66e6302-9f51-4eac-3330-08daae825466 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Oct 2022 07:53:21.1155 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 396573cb-f378-4b68-9bc8-15755c0c51f3 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: rkLHmxOQXj/LeZWB3VX42lY3AbWC5/HsOGNuL6qWY93trzLqpF4j69RjPcGvL/nDRM9/7pIOzWFxfbQ3B/M6kw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR02MB7157 x-proofpoint-stanford-dir: outbound X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-10-15_03,2022-10-14_01,2022-06-22_01 X-Proofpoint-ORIG-GUID: DVyicokdGViETk9MWnVHoPTkrn1_BVrO X-Proofpoint-GUID: DVyicokdGViETk9MWnVHoPTkrn1_BVrO X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-10-15_03,2022-10-14_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 clxscore=1015 malwarescore=0 adultscore=100 impostorscore=0 mlxlogscore=999 mlxscore=0 phishscore=0 priorityscore=1501 suspectscore=0 lowpriorityscore=0 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2210150044 Received-SPF: pass client-ip=148.163.153.235; envelope-from=qthong@stanford.edu; helo=mx0b-00000d04.pphosted.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Sat, 15 Oct 2022 06:05:59 -0400 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:297770 Archived-At: --_004_0F1442C845E2408CB310448B4A26496Estanfordedu_ Content-Type: multipart/alternative; boundary="_000_0F1442C845E2408CB310448B4A26496Estanfordedu_" --_000_0F1442C845E2408CB310448B4A26496Estanfordedu_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGVyZSBpdCBnb2VzLCB0ZXN0ZWQgb24gR1RLIQ0KDQoNCg0KQmVzdCwNClFpYW50YW4NCg0KDQoN Cj4gT24gT2N0IDE0LCAyMDIyLCBhdCA2OjM3IFBNLCBRaWFudGFuIEhvbmcgPHF0aG9uZ0BzdGFu Zm9yZC5lZHU+IHdyb3RlOg0KPg0KPiBBaCBzb3JyeSBmb3IgdGhlIG5vaXNlLCBwbGVhc2UgZG9u 4oCZdCBtZXJnZSB5ZXQuIEkgb25seSB0ZXN0ZWQgaXQgb24gTlMgYmVmb3JlDQo+IGFuZCBvbmx5 IHRyaWVkIGl0IG9uIEdUSyBqdXN0IG5vdy4gSXQgaXMgYnJva2VuIG9uIEdUSy4gV2lsbCBmaXgg c29vbi4NCj4NCj4gQmVzdCwNCj4gUWlhbnRhbg0KPg0KPg0KPg0KPj4gT24gT2N0IDE0LCAyMDIy LCBhdCAyOjEzIFBNLCBRaWFudGFuIEhvbmcgPHF0aG9uZ0BzdGFuZm9yZC5lZHU+IHdyb3RlOg0K Pj4NCj4+IEhpLA0KPj4NCj4+IEhlcmXigJlzIHRoZSB1cGRhdGVkIHBhdGNoLg0KPj4gPDAwMDEt SW1wbG1lbnQtc29tZS11c2VyLWNvbnRlbnQtQVBJcy1mb3ItV2ViS2l0LVh3aWRnZXRzLnR4dD4N Cj4+DQo+PiBCZXN0LA0KPj4gUWlhbnRhbg0KPj4NCj4+DQo+Pg0KPj4+IE9uIE9jdCAxNCwgMjAy MiwgYXQgMTI6MzUgQU0sIFBvIEx1IDxsdWFuZ3J1b0B5YWhvby5jb20+IHdyb3RlOg0KPj4+DQo+ Pj4gUWlhbnRhbiBIb25nIDxxdGhvbmdAc3RhbmZvcmQuZWR1PiB3cml0ZXM6DQo+Pj4NCj4+Pj4g QWggc29ycnksIEnigJltIHJlcGx5aW5nIHRvIGEgcmVhbGx5IGFuY2llbnQgdGhyZWFkIGluIDIw MjAsIHRoZSBwYXRjaCBpcyBhdA0KPj4+PiBodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9o dG1sL2VtYWNzLWRldmVsLzIwMjAtMDgvdHh0TnJFUVJKTnRnZC50eHQNCj4+Pj4NCj4+Pj4gSSBo b3BlIHRoZSBwYXRjaCBpcyBzdGlsbCBhcHBsaWNhYmxl4oCmIElmIGl04oCZcyBub3QgSeKAmWxs IGZpbmQgc29tZXRpbWUgdGhpcyB3ZWVrZW5kIHRvIHVwZGF0ZSBpdC4NCj4+Pg0KPj4+IFRoYW5r cy4gIFBsZWFzZSBkbyB0aGF0LCBhbmQgYWxzbyBmaXggdGhlIGNvZGluZyBzdHlsZSB0byBjb21w bHkgd2l0aA0KPj4+IG91ciBjb2RpbmcgZ3VpZGVsaW5lcy4NCj4+DQo+DQoNCg== --_000_0F1442C845E2408CB310448B4A26496Estanfordedu_ Content-Type: text/html; charset="utf-8" Content-ID: <838653AC7415D94F8FFEDA1CBA5A1E6A@namprd02.prod.outlook.com> Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5Pg0KPGRpdiBjbGFzcz0i Qm9keUZyYWdtZW50Ij48Zm9udCBzaXplPSIyIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExcHQ7 Ij4NCjxkaXYgY2xhc3M9IlBsYWluVGV4dCI+SGVyZSBpdCBnb2VzLCB0ZXN0ZWQgb24gR1RLITxi cj4NCjxicj4NCjwvZGl2Pg0KPC9zcGFuPjwvZm9udD48L2Rpdj4NCjxkaXYgY2xhc3M9IkJvZHlG cmFnbWVudCI+PGZvbnQgc2l6ZT0iMiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB0OyI+DQo8 ZGl2IGNsYXNzPSJQbGFpblRleHQiPjxicj4NCjxicj4NCkJlc3QsPGJyPg0KUWlhbnRhbjxicj4N Cjxicj4NCjxicj4NCjxicj4NCiZndDsgT24gT2N0IDE0LCAyMDIyLCBhdCA2OjM3IFBNLCBRaWFu dGFuIEhvbmcgJmx0O3F0aG9uZ0BzdGFuZm9yZC5lZHUmZ3Q7IHdyb3RlOjxicj4NCiZndDsgPGJy Pg0KJmd0OyBBaCBzb3JyeSBmb3IgdGhlIG5vaXNlLCBwbGVhc2UgZG9u4oCZdCBtZXJnZSB5ZXQu IEkgb25seSB0ZXN0ZWQgaXQgb24gTlMgYmVmb3JlPGJyPg0KJmd0OyBhbmQgb25seSB0cmllZCBp dCBvbiBHVEsganVzdCBub3cuIEl0IGlzIGJyb2tlbiBvbiBHVEsuIFdpbGwgZml4IHNvb24uPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7IEJlc3QsPGJyPg0KJmd0OyBRaWFudGFuPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7IDxicj4NCiZndDsgPGJyPg0KJmd0OyZndDsgT24gT2N0IDE0LCAyMDIyLCBhdCAyOjEz IFBNLCBRaWFudGFuIEhvbmcgJmx0O3F0aG9uZ0BzdGFuZm9yZC5lZHUmZ3Q7IHdyb3RlOjxicj4N CiZndDsmZ3Q7IDxicj4NCiZndDsmZ3Q7IEhpLDxicj4NCiZndDsmZ3Q7IDxicj4NCiZndDsmZ3Q7 IEhlcmXigJlzIHRoZSB1cGRhdGVkIHBhdGNoLjxicj4NCiZndDsmZ3Q7ICZsdDswMDAxLUltcGxt ZW50LXNvbWUtdXNlci1jb250ZW50LUFQSXMtZm9yLVdlYktpdC1Yd2lkZ2V0cy50eHQmZ3Q7PGJy Pg0KJmd0OyZndDsgPGJyPg0KJmd0OyZndDsgQmVzdCw8YnI+DQomZ3Q7Jmd0OyBRaWFudGFuPGJy Pg0KJmd0OyZndDsgPGJyPg0KJmd0OyZndDsgPGJyPg0KJmd0OyZndDsgPGJyPg0KJmd0OyZndDsm Z3Q7IE9uIE9jdCAxNCwgMjAyMiwgYXQgMTI6MzUgQU0sIFBvIEx1ICZsdDtsdWFuZ3J1b0B5YWhv by5jb20mZ3Q7IHdyb3RlOjxicj4NCiZndDsmZ3Q7Jmd0OyA8YnI+DQomZ3Q7Jmd0OyZndDsgUWlh bnRhbiBIb25nICZsdDtxdGhvbmdAc3RhbmZvcmQuZWR1Jmd0OyB3cml0ZXM6PGJyPg0KJmd0OyZn dDsmZ3Q7IDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsgQWggc29ycnksIEnigJltIHJlcGx5aW5nIHRv IGEgcmVhbGx5IGFuY2llbnQgdGhyZWFkIGluIDIwMjAsIHRoZSBwYXRjaCBpcyBhdDxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsgPGEgaHJlZj0iaHR0cHM6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRt bC9lbWFjcy1kZXZlbC8yMDIwLTA4L3R4dE5yRVFSSk50Z2QudHh0Ij4NCmh0dHBzOi8vbGlzdHMu Z251Lm9yZy9hcmNoaXZlL2h0bWwvZW1hY3MtZGV2ZWwvMjAyMC0wOC90eHROckVRUkpOdGdkLnR4 dDwvYT48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7IDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsgSSBob3Bl IHRoZSBwYXRjaCBpcyBzdGlsbCBhcHBsaWNhYmxl4oCmIElmIGl04oCZcyBub3QgSeKAmWxsIGZp bmQgc29tZXRpbWUgdGhpcyB3ZWVrZW5kIHRvIHVwZGF0ZSBpdC48YnI+DQomZ3Q7Jmd0OyZndDsg PGJyPg0KJmd0OyZndDsmZ3Q7IFRoYW5rcy4mbmJzcDsgUGxlYXNlIGRvIHRoYXQsIGFuZCBhbHNv IGZpeCB0aGUgY29kaW5nIHN0eWxlIHRvIGNvbXBseSB3aXRoPGJyPg0KJmd0OyZndDsmZ3Q7IG91 ciBjb2RpbmcgZ3VpZGVsaW5lcy48YnI+DQomZ3Q7Jmd0OyA8YnI+DQomZ3Q7IDxicj4NCjxicj4N CjwvZGl2Pg0KPC9zcGFuPjwvZm9udD48L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg== --_000_0F1442C845E2408CB310448B4A26496Estanfordedu_-- --_004_0F1442C845E2408CB310448B4A26496Estanfordedu_ Content-Type: text/plain; name="0002-Implment-some-user-content-APIs-for-WebKit-Xwidgets.txt" Content-Description: 0002-Implment-some-user-content-APIs-for-WebKit-Xwidgets.txt Content-Disposition: attachment; filename="0002-Implment-some-user-content-APIs-for-WebKit-Xwidgets.txt"; size=19000; creation-date="Sat, 15 Oct 2022 07:53:20 GMT"; modification-date="Sat, 15 Oct 2022 07:53:20 GMT" Content-ID: Content-Transfer-Encoding: base64 RnJvbSBhYWMyNDljNGYwYTNlMGYyMWFhZTgxZTBhMjZjMzYyYjY3MzM2YWYyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQ0KRnJvbTogUWlhbnRhbiBIb25nIDxxaG9uZ0BhbHVtLm1pdC5lZHU+DQpE YXRlOiBGcmksIDE0IE9jdCAyMDIyIDE0OjA4OjQwIC0wNzAwDQpTdWJqZWN0OiBbUEFUQ0hdIElt cGxtZW50IHNvbWUgdXNlciBjb250ZW50IEFQSXMgZm9yIFdlYktpdCBYd2lkZ2V0cw0KDQpJbXBs ZW1lbnQgV2ViS2l0IHVzZXIgc2NyaXB0cyBhbmQgc2NyaXB0IG1lc3NhZ2UgaGFuZGxlcnMuDQoq IHNyYy94d2lkZ2V0LmggKHN0b3JlX3h3aWRnZXRfc2NyaXB0X21lc3NhZ2VfZXZlbnQpOiBzdG9y ZSBzY3JpcHQNCiAgbWVzc2FnZSBldmVudCBpbnRvIGV2ZW50IHF1ZXVlDQoqIHNyYy94d2lkZ2V0 LmMgKHN0b3JlX3h3aWRnZXRfc2NyaXB0X21lc3NhZ2VfZXZlbnQsIG1ha2UteHdpZGdldCwNCiAg d2Via2l0X3NjcmlwdF9tZXNzYWdlX2NiLCB4d2lkZ2V0LXdlYmtpdC1hZGQtdXNlci1zY3JpcHQs DQogIHh3aWRnZXQtd2Via2l0LXJlbW92ZS1hbGwtdXNlci1zY3JpcHRzLA0KICB4d2lkZ2V0LXdl YmtpdC1yZWdpc3Rlci1zY3JpcHQtbWVzc2FnZSwNCiAgeHdpZGdldC13ZWJraXQtdW5yZWdpc3Rl ci1zY3JpcHQtbWVzc2FnZSk6IEltcGxlbWVudCB1c2VyIHNjcmlwdA0KICBhbmQgc2NyaXB0IG1l c3NhZ2UgaGFuZGxlciBwcmltaXRpdmVzLg0KKiBzcmMvbnN4d2lkZ2V0LmMgKG5zeHdpZGdldF93 ZWJraXRfYWRkX3VzZXJfc2NyaXB0LA0KICBuc3h3aWRnZXRfd2Via2l0X3JlbW92ZV9hbGxfdXNl cl9zY3JpcHRzLA0KICBuc3h3aWRnZXRfd2Via2l0X3JlZ2lzdGVyX3NjcmlwdF9tZXNzYWdlLA0K ICBuc3h3aWRnZXRfd2Via2l0X3VucmVnaXN0ZXJfc2NyaXB0X21lc3NhZ2UsDQogIGluaXRXaXRo RnJhbWUsIGluaXRpYWxpemUsIHVzZXJDb250ZW50Q29udHJvbGxlcik6IE5TDQogIGltcGxlbWVu dGF0aW9uLiBDaGFuZ2VkIG5hbWluZyBvZiBhIHByZXZpb3VzIHVzZWQgIHNjcmlwdCBtZXNzYWdl DQogIGhhbmRsZXIgdG8gYXZvaWQgbmFtZXNwYWNlIHBvbGx1dGlvbi4NCiogc3JjL25zeHdpZGdl dC5oIChuc3h3aWRnZXRfd2Via2l0X2FkZF91c2VyX3NjcmlwdCwNCiAgbnN4d2lkZ2V0X3dlYmtp dF9yZW1vdmVfYWxsX3VzZXJfc2NyaXB0cywNCiAgbnN4d2lkZ2V0X3dlYmtpdF9yZWdpc3Rlcl9z Y3JpcHRfbWVzc2FnZSwNCiAgbnN4d2lkZ2V0X3dlYmtpdF91bnJlZ2lzdGVyX3NjcmlwdF9tZXNz YWdlKTogTlMgaW1wbGVtZW50YXRpb24NCiogbGlzcC94d2lkZ2V0LmVsICh4d2lkZ2V0LXdlYmtp dC1jYWxsYmFjaywNCiAgeHdpZGdldC13ZWJraXQtcHVzaC1zY3JpcHQtbWVzc2FnZS1oYW5kbGVy LA0KICB4d2lkZ2V0LXdlYmtpdC1wb3Atc2NyaXB0LW1lc3NhZ2UtaGFuZGxlcik6DQogIGxldCBs aXNwIHJlY29nbml6ZSBhbmQgZGlzcGF0Y2ggc2NyaXB0IG1lc3NhZ2UgZXZlbnRzDQoNCkFja2Vk LWJ5OiBRaWFudGFuIEhvbmcgPHFob25nQG1pdC5lZHU+DQotLS0NCiBsaXNwL3h3aWRnZXQuZWwg fCAgMzIgKysrKysrKysrDQogc3JjL25zeHdpZGdldC5oIHwgICA1ICsrDQogc3JjL25zeHdpZGdl dC5tIHwgIDgwICsrKysrKysrKysrKysrKysrKystLQ0KIHNyYy94d2lkZ2V0LmMgICB8IDE4MSAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCiBzcmMveHdp ZGdldC5oICAgfCAgIDQgKysNCiA1IGZpbGVzIGNoYW5nZWQsIDI5NSBpbnNlcnRpb25zKCspLCA3 IGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvbGlzcC94d2lkZ2V0LmVsIGIvbGlzcC94d2lk Z2V0LmVsDQppbmRleCA0MWExMTkwYzY0Li43OWM5Y2MyYWZkIDEwMDY0NA0KLS0tIGEvbGlzcC94 d2lkZ2V0LmVsDQorKysgYi9saXNwL3h3aWRnZXQuZWwNCkBAIC00ODUsOCArNDg1LDQwIEBAIHh3 aWRnZXQtd2Via2l0LWNhbGxiYWNrDQogICAgICAgICAgICAobGV0ICgocHJvYyAobnRoIDMgbGFz dC1pbnB1dC1ldmVudCkpDQogICAgICAgICAgICAgICAgICAoYXJnICAobnRoIDQgbGFzdC1pbnB1 dC1ldmVudCkpKQ0KICAgICAgICAgICAgICAoZnVuY2FsbCBwcm9jIGFyZykpKQ0KKyAgICAgICAg ICAoKGVxIHh3aWRnZXQtZXZlbnQtdHlwZSAnc2NyaXB0LW1lc3NhZ2UpDQorICAgICAgICAgICAo bGV0ICgobmFtZSAobnRoIDMgbGFzdC1pbnB1dC1ldmVudCkpDQorICAgICAgICAgICAgICAgICAo dmFsdWUgKG50aCA0IGxhc3QtaW5wdXQtZXZlbnQpKSkNCisgICAgICAgICAgICAgKGxldCAoKGhh bmRsZXItcGFpciAoYXNzcSBuYW1lICh4d2lkZ2V0LWdldCB4d2lkZ2V0ICdzY3JpcHQtbWVzc2Fn ZS1oYW5kbGVycykpKSkNCisgICAgICAgICAgICAgICAoaWYgaGFuZGxlci1wYWlyDQorICAgICAg ICAgICAgICAgICAgIChmdW5jYWxsIChjZHIgaGFuZGxlci1wYWlyKSB4d2lkZ2V0IHZhbHVlKQ0K KyAgICAgICAgICAgICAgICAgKHh3aWRnZXQtbG9nICJ1bmhhbmRsZWQgc2NyaXB0IG1lc3NhZ2U6 JXMiIG5hbWUpKSkpKQ0KICAgICAgICAgICAodCAoeHdpZGdldC1sb2cgInVuaGFuZGxlZCBldmVu dDolcyIgeHdpZGdldC1ldmVudC10eXBlKSkpKSkNCiANCisoZGVmdW4geHdpZGdldC13ZWJraXQt cHVzaC1zY3JpcHQtbWVzc2FnZS1oYW5kbGVyICh4d2lkZ2V0IG5hbWUgaGFuZGxlcikNCisgICJB c3NvY2lhdGUgSEFORExFUiB3aXRoIHNjcmlwdCBtZXNzYWdlcyB1bmRlciBzeW1ib2wgTkFNRSBm b3IgV2Via2l0IFhXSURHRVQuDQorDQorSEFORExFUiB3aWxsIGJlIGNhbGxlZCB3aXRoIHR3byBh cmd1bWVudHM6IHRoZSBXZWJraXQgWFdJREdFVCBhbmQNCit0aGUgamF2YXNjcmlwdCBvYmplY3Qg cGFzc2VkIGZyb20gdGhlIHNjcmlwdCBtZXNzYWdlIGNvbnZlcnRlZCB0bw0KK2EgTGlzcCBvYmpl Y3QuIg0KKyAgKHh3aWRnZXQtd2Via2l0LXJlZ2lzdGVyLXNjcmlwdC1tZXNzYWdlICh4d2lkZ2V0 LXdlYmtpdC1jdXJyZW50LXNlc3Npb24pIG5hbWUpDQorICAoeHdpZGdldC1wdXQgeHdpZGdldCAn c2NyaXB0LW1lc3NhZ2UtaGFuZGxlcnMNCisgICAgICAgICAgICAgICAoY29ucyAoY29ucyBuYW1l IGhhbmRsZXIpICh4d2lkZ2V0LWdldCB4d2lkZ2V0ICdzY3JpcHQtbWVzc2FnZS1oYW5kbGVycykp KQ0KKyAgbmFtZSkNCisNCisoZGVmdW4geHdpZGdldC13ZWJraXQtcG9wLXNjcmlwdC1tZXNzYWdl LWhhbmRsZXIgKHh3aWRnZXQgbmFtZSkNCisgICJSZW1vdmUgYSBoYW5kbGVyIGFzc29jaWF0ZWQg d2l0aCBzeW1ib2wgTkFNRSBmb3IgV2Via2l0IFhXSURHRVQuDQorDQorUmV0dXJucyB0aGUgcmVt b3ZlZCBoYW5kbGVyIGZ1bmN0aW9uLCBvciBOSUwgaWYgc3VjaCBoYW5kbGVyIGlzDQorbm90IGZv dW5kLiINCisgIChsZXQqICgob2xkLWFsaXN0ICh4d2lkZ2V0LWdldCB4d2lkZ2V0ICdzY3JpcHQt bWVzc2FnZS1oYW5kbGVycykpDQorICAgICAgICAgKGhhbmRsZXItcGFpciAoYXNzcSBuYW1lIG9s ZC1hbGlzdCkpKQ0KKyAgICAod2hlbiBoYW5kbGVyLXBhaXINCisgICAgICAobGV0ICgobmV3LWFs aXN0IChkZWxxIGhhbmRsZXItcGFpciBvbGQtYWxpc3QpKSkNCisgICAgICAgICh4d2lkZ2V0LXB1 dCB4d2lkZ2V0ICdzY3JpcHQtbWVzc2FnZS1oYW5kbGVycyBuZXctYWxpc3QpDQorICAgICAgICAo dW5sZXNzIChhc3NxIG5hbWUgbmV3LWFsaXN0KQ0KKyAgICAgICAgICAoeHdpZGdldC13ZWJraXQt dW5yZWdpc3Rlci1zY3JpcHQtbWVzc2FnZSAoeHdpZGdldC13ZWJraXQtY3VycmVudC1zZXNzaW9u KSBuYW1lKSkpDQorICAgICAgKGNkciBoYW5kbGVyLXBhaXIpKSkpDQorDQogKGRlZnZhciBib29r bWFyay1tYWtlLXJlY29yZC1mdW5jdGlvbikNCiAod2hlbiAobWVtcSB3aW5kb3ctc3lzdGVtICco bWFjIG5zKSkNCiAgIChkZWZjdXN0b20geHdpZGdldC13ZWJraXQtZW5hYmxlLXBsdWdpbnMgbmls DQpkaWZmIC0tZ2l0IGEvc3JjL25zeHdpZGdldC5oIGIvc3JjL25zeHdpZGdldC5oDQppbmRleCA2 NjY1MDk3NDRhLi5jZDFkYzFiYzJjIDEwMDY0NA0KLS0tIGEvc3JjL25zeHdpZGdldC5oDQorKysg Yi9zcmMvbnN4d2lkZ2V0LmgNCkBAIC00MCw2ICs0MCwxMSBAQCAjZGVmaW5lIE5TWFdJREdFVF9I X0lOQ0xVREVEDQogdm9pZCBuc3h3aWRnZXRfd2Via2l0X2V4ZWN1dGVfc2NyaXB0IChzdHJ1Y3Qg eHdpZGdldCAqeHcsIGNvbnN0IGNoYXIgKnNjcmlwdCwNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIExpc3BfT2JqZWN0IGZ1bik7DQogDQordm9pZCBuc3h3aWRnZXRfd2Vi a2l0X2FkZF91c2VyX3NjcmlwdCAoc3RydWN0IHh3aWRnZXQgKnh3LCBjb25zdCBjaGFyICpzY3Jp cHQsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGluamVjdGlv bl90aW1lX3N0YXJ0LCBpbnQgbWFpbl9mcmFtZV9vbmx5KTsNCit2b2lkIG5zeHdpZGdldF93ZWJr aXRfcmVtb3ZlX2FsbF91c2VyX3NjcmlwdHMgKHN0cnVjdCB4d2lkZ2V0ICp4dyk7DQorTGlzcF9P YmplY3QgbnN4d2lkZ2V0X3dlYmtpdF9yZWdpc3Rlcl9zY3JpcHRfbWVzc2FnZSAoc3RydWN0IHh3 aWRnZXQgKnh3LCBjb25zdCBjaGFyICpuYW1lKTsNCit2b2lkIG5zeHdpZGdldF93ZWJraXRfdW5y ZWdpc3Rlcl9zY3JpcHRfbWVzc2FnZSAoc3RydWN0IHh3aWRnZXQgKnh3LCBjb25zdCBjaGFyICpu YW1lKTsNCiAvKiBGdW5jdGlvbnMgZm9yIHh3aWRnZXQgbW9kZWwuICAqLw0KIA0KICNpZmRlZiBf X09CSkNfXw0KZGlmZiAtLWdpdCBhL3NyYy9uc3h3aWRnZXQubSBiL3NyYy9uc3h3aWRnZXQubQ0K aW5kZXggYmUwZWJhMGJjYi4uZTA5NzU5Zjc1NCAxMDA2NDQNCi0tLSBhL3NyYy9uc3h3aWRnZXQu bQ0KKysrIGIvc3JjL25zeHdpZGdldC5tDQpAQCAtODgsNyArODgsNyBAQCAtIChpZClpbml0V2l0 aEZyYW1lOihDR1JlY3QpZnJhbWUNCiAgICAgICAgIEAiTW96aWxsYS81LjAgKE1hY2ludG9zaDsg SW50ZWwgTWFjIE9TIFggMTBfMTJfNikiDQogICAgICAgICBAIiBBcHBsZVdlYktpdC82MDMuMy44 IChLSFRNTCwgbGlrZSBHZWNrbykiDQogICAgICAgICBAIiBWZXJzaW9uLzExLjAuMSBTYWZhcmkv NjAzLjMuOCI7DQotICAgICAgW3NjcmlwdG9yIGFkZFNjcmlwdE1lc3NhZ2VIYW5kbGVyOnNlbGYg bmFtZTpAImtleURvd24iXTsNCisgICAgICBbc2NyaXB0b3IgYWRkU2NyaXB0TWVzc2FnZUhhbmRs ZXI6c2VsZiBuYW1lOkAiX194d2lkZ2V0X2ludGVybmFsX2tleURvd24iXTsNCiAgICAgICBbc2Ny aXB0b3IgYWRkVXNlclNjcmlwdDpbW1dLVXNlclNjcmlwdCBhbGxvY10NCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGluaXRXaXRoU291cmNlOnh3U2NyaXB0DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaW5qZWN0aW9uVGltZToNCkBAIC0yNzUsMjMgKzI3NSwzNCBA QCArICh2b2lkKWluaXRpYWxpemUNCiAgICAgICBAIn0iDQogICAgICAgQCJmdW5jdGlvbiB4d0tl eURvd24oZXZlbnQpIHsiDQogICAgICAgQCIgIGlmIChldmVudC5jdHJsS2V5ICYmIGV2ZW50Lmtl eSA9PSAnZycpIHsiDQotICAgICAgQCIgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMu a2V5RG93bi5wb3N0TWVzc2FnZSgnQy1nJyk7Ig0KKyAgICAgIEAiICAgIHdpbmRvdy53ZWJraXQu bWVzc2FnZUhhbmRsZXJzLl9feHdpZGdldF9pbnRlcm5hbF9rZXlEb3duLnBvc3RNZXNzYWdlKCdD LWcnKTsiDQogICAgICAgQCIgIH0iDQogICAgICAgQCJ9Ig0KICAgICAgIEAiZG9jdW1lbnQuYWRk RXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHh3S2V5RG93bik7Ig0KICAgICAgIDsNCiB9DQogDQor c3RhdGljIExpc3BfT2JqZWN0IGpzX3RvX2xpc3AgKGlkIHZhbHVlKTsNCisNCiAvKiBDb25maXJt aW5nIHRvIFdLU2NyaXB0TWVzc2FnZUhhbmRsZXIsIGxpc3RlbnMgY29uY2VybmluZyBrZXlEb3du IGluDQogICAgd2Via2l0LiBDdXJyZW50bHkgJ0MtZycuICAqLw0KIC0gKHZvaWQpdXNlckNvbnRl bnRDb250cm9sbGVyOihXS1VzZXJDb250ZW50Q29udHJvbGxlciAqKXVzZXJDb250ZW50Q29udHJv bGxlcg0KICAgICAgIGRpZFJlY2VpdmVTY3JpcHRNZXNzYWdlOihXS1NjcmlwdE1lc3NhZ2UgKilt ZXNzYWdlDQogew0KLSAgaWYgKFttZXNzYWdlLmJvZHkgaXNFcXVhbFRvU3RyaW5nOkAiQy1nIl0p DQorICBpZiAoW21lc3NhZ2UubmFtZSBpc0VxdWFsVG9TdHJpbmc6QCJfX3h3aWRnZXRfaW50ZXJu YWxfa2V5RG93biJdKQ0KICAgICB7DQotICAgICAgLyogSnVzdCBnaXZlIHVwIGZvY3VzLCBubyBy ZWxheSAiQy1nIiB0byBlbWFjcywgYW5vdGhlciAiQy1nIg0KLSAgICAgICAgIGZvbGxvd3Mgd2ls bCBiZSBoYW5kbGVkIGJ5IGVtYWNzLiAgKi8NCi0gICAgICBbc2VsZi53aW5kb3cgbWFrZUZpcnN0 UmVzcG9uZGVyOnNlbGYueHctPnh2LT5lbWFjc3dpbmRvd107DQorICAgICAgaWYgKFttZXNzYWdl LmJvZHkgaXNFcXVhbFRvU3RyaW5nOkAiQy1nIl0pDQorICAgICAgICB7DQorICAgICAgICAgIC8q IEp1c3QgZ2l2ZSB1cCBmb2N1cywgbm8gcmVsYXkgIkMtZyIgdG8gZW1hY3MsIGFub3RoZXIgIkMt ZyINCisgICAgICAgICAgICAgZm9sbG93cyB3aWxsIGJlIGhhbmRsZWQgYnkgZW1hY3MuICAqLw0K KyAgICAgICAgICBbc2VsZi53aW5kb3cgbWFrZUZpcnN0UmVzcG9uZGVyOnNlbGYueHctPnh2LT5l bWFjc3dpbmRvd107DQorICAgICAgICB9DQorICAgIH0NCisgIGVsc2UNCisgICAgew0KKyAgICAg IHN0b3JlX3h3aWRnZXRfc2NyaXB0X21lc3NhZ2VfZXZlbnQgKHNlbGYueHcsDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZS5uYW1lLlVURjhTdHJpbmcs DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAganNfdG9fbGlzcCAo bWVzc2FnZS5ib2R5KSk7DQogICAgIH0NCiB9DQogDQpAQCAtNDM3LDYgKzQ0OCw2MSBAQCAtICh2 b2lkKXVzZXJDb250ZW50Q29udHJvbGxlcjooV0tVc2VyQ29udGVudENvbnRyb2xsZXIgKil1c2Vy Q29udGVudENvbnRyb2xsZXINCiAgICAgfV07DQogfQ0KIA0KK3ZvaWQNCituc3h3aWRnZXRfd2Vi a2l0X2FkZF91c2VyX3NjcmlwdCAoc3RydWN0IHh3aWRnZXQgKnh3LCBjb25zdCBjaGFyICpzY3Jp cHQsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBpbmplY3Rpb25fdGlt ZV9zdGFydCwgaW50IG1haW5fZnJhbWVfb25seSkNCit7DQorICBYd1dlYlZpZXcgKnh3V2ViVmll dyA9IChYd1dlYlZpZXcgKikgeHctPnh3V2lkZ2V0Ow0KKyAgV0tVc2VyQ29udGVudENvbnRyb2xs ZXIgKnNjcmlwdG9yID0geHdXZWJWaWV3LmNvbmZpZ3VyYXRpb24udXNlckNvbnRlbnRDb250cm9s bGVyOw0KKw0KKyAgTlNTdHJpbmcgKmphdmFzY3JpcHRTdHJpbmcgPSBbTlNTdHJpbmcgc3RyaW5n V2l0aFVURjhTdHJpbmc6c2NyaXB0XTsNCisgIFdLVXNlclNjcmlwdEluamVjdGlvblRpbWUgaW5q ZWN0aW9uVGltZSA9IGluamVjdGlvbl90aW1lX3N0YXJ0Pw0KKyAgICBXS1VzZXJTY3JpcHRJbmpl Y3Rpb25UaW1lQXREb2N1bWVudFN0YXJ0IDogV0tVc2VyU2NyaXB0SW5qZWN0aW9uVGltZUF0RG9j dW1lbnRFbmQ7DQorICBXS1VzZXJTY3JpcHQgKnVzZXJTY3JpcHQgPSBbW1dLVXNlclNjcmlwdCBh bGxvY10NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdFdpdGhTb3VyY2U6IGph dmFzY3JpcHRTdHJpbmcNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluamVjdGlv blRpbWU6IGluamVjdGlvblRpbWUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9y TWFpbkZyYW1lT25seTogbWFpbl9mcmFtZV9vbmx5XTsNCisgIFtzY3JpcHRvciBhZGRVc2VyU2Ny aXB0OiB1c2VyU2NyaXB0XTsNCit9DQorDQordm9pZA0KK25zeHdpZGdldF93ZWJraXRfcmVtb3Zl X2FsbF91c2VyX3NjcmlwdHMgKHN0cnVjdCB4d2lkZ2V0ICp4dykNCit7DQorICBYd1dlYlZpZXcg Knh3V2ViVmlldyA9IChYd1dlYlZpZXcgKikgeHctPnh3V2lkZ2V0Ow0KKyAgV0tVc2VyQ29udGVu dENvbnRyb2xsZXIgKnNjcmlwdG9yID0geHdXZWJWaWV3LmNvbmZpZ3VyYXRpb24udXNlckNvbnRl bnRDb250cm9sbGVyOw0KKw0KKyAgW3NjcmlwdG9yIHJlbW92ZUFsbFVzZXJTY3JpcHRzXTsNCit9 DQorDQorTGlzcF9PYmplY3QNCituc3h3aWRnZXRfd2Via2l0X3JlZ2lzdGVyX3NjcmlwdF9tZXNz YWdlIChzdHJ1Y3QgeHdpZGdldCAqeHcsIGNvbnN0IGNoYXIgKm5hbWUpDQorew0KKyAgWHdXZWJW aWV3ICp4d1dlYlZpZXcgPSAoWHdXZWJWaWV3ICopIHh3LT54d1dpZGdldDsNCisgIFdLVXNlckNv bnRlbnRDb250cm9sbGVyICpzY3JpcHRvciA9IHh3V2ViVmlldy5jb25maWd1cmF0aW9uLnVzZXJD b250ZW50Q29udHJvbGxlcjsNCisNCisgIE5TU3RyaW5nICptZXNzYWdlTmFtZSA9IFtOU1N0cmlu ZyBzdHJpbmdXaXRoVVRGOFN0cmluZzpuYW1lXTsNCisNCisgIEB0cnkNCisgICAgew0KKyAgICAg IFtzY3JpcHRvciBhZGRTY3JpcHRNZXNzYWdlSGFuZGxlcjp4d1dlYlZpZXcgbmFtZTptZXNzYWdl TmFtZV07DQorICAgIH0NCisgIEBjYXRjaCAoTlNFeGNlcHRpb24gKmUpDQorICAgIHsNCisgICAg ICByZXR1cm4gUW5pbDsNCisgICAgfQ0KKyAgcmV0dXJuIFF0Ow0KK30NCisNCit2b2lkDQorbnN4 d2lkZ2V0X3dlYmtpdF91bnJlZ2lzdGVyX3NjcmlwdF9tZXNzYWdlIChzdHJ1Y3QgeHdpZGdldCAq eHcsIGNvbnN0IGNoYXIgKm5hbWUpDQorew0KKyAgWHdXZWJWaWV3ICp4d1dlYlZpZXcgPSAoWHdX ZWJWaWV3ICopIHh3LT54d1dpZGdldDsNCisgIFdLVXNlckNvbnRlbnRDb250cm9sbGVyICpzY3Jp cHRvciA9IHh3V2ViVmlldy5jb25maWd1cmF0aW9uLnVzZXJDb250ZW50Q29udHJvbGxlcjsNCisN CisgIE5TU3RyaW5nICptZXNzYWdlTmFtZSA9IFtOU1N0cmluZyBzdHJpbmdXaXRoVVRGOFN0cmlu ZzpuYW1lXTsNCisgIFtzY3JpcHRvciByZW1vdmVTY3JpcHRNZXNzYWdlSGFuZGxlckZvck5hbWU6 bWVzc2FnZU5hbWVdOw0KK30NCisNCiAvKiBXaW5kb3cgY29udGFpbmluZyBhbiB4d2lkZ2V0LiAg Ki8NCiANCiBAaW1wbGVtZW50YXRpb24gWHdXaW5kb3cNCkBAIC00NjksNyArNTM1LDcgQEAgLSAo Qk9PTClpc0ZsaXBwZWQgeyByZXR1cm4gWUVTOyB9DQogICAgICAgV0tVc2VyQ29udGVudENvbnRy b2xsZXIgKnNjcmlwdG9yID0NCiAgICAgICAgICgoWHdXZWJWaWV3ICopIHh3LT54d1dpZGdldCku Y29uZmlndXJhdGlvbi51c2VyQ29udGVudENvbnRyb2xsZXI7DQogICAgICAgW3NjcmlwdG9yIHJl bW92ZUFsbFVzZXJTY3JpcHRzXTsNCi0gICAgICBbc2NyaXB0b3IgcmVtb3ZlU2NyaXB0TWVzc2Fn ZUhhbmRsZXJGb3JOYW1lOkAia2V5RG93biJdOw0KKyAgICAgIFtzY3JpcHRvciByZW1vdmVTY3Jp cHRNZXNzYWdlSGFuZGxlckZvck5hbWU6QCJfX3h3aWRnZXRfaW50ZXJuYWxfa2V5RG93biJdOw0K ICAgICAgIFtzY3JpcHRvciByZWxlYXNlXTsNCiAgICAgICBpZiAoeHctPnh2KQ0KICAgICAgICAg eHctPnh2LT5tb2RlbCA9IFFuaWw7IC8qIE1ha2Ugc3VyZSByZWxhdGVkIHZpZXcgc3RhbGUuICAq Lw0KZGlmZiAtLWdpdCBhL3NyYy94d2lkZ2V0LmMgYi9zcmMveHdpZGdldC5jDQppbmRleCA4YmRm YWIwMmZkLi5lNDI1MDA2NWI5IDEwMDY0NA0KLS0tIGEvc3JjL3h3aWRnZXQuYw0KKysrIGIvc3Jj L3h3aWRnZXQuYw0KQEAgLTEyNiw2ICsxMjYsMTYgQEAgd2Via2l0X2RlY2lkZV9wb2xpY3lfY2Ig KFdlYktpdFdlYlZpZXcgKiwNCiB9Ow0KIA0KIHN0YXRpYyB2b2lkIGZpbmRfd2lkZ2V0IChHdGtX aWRnZXQgKnQsIHN0cnVjdCB3aWRnZXRfc2VhcmNoX2RhdGEgKik7DQorDQorc3RydWN0IHdlYmtp dF9zY3JpcHRfbWVzc2FnZV9jYl9kYXRhDQorew0KKyAgc3RydWN0IHh3aWRnZXQgKnh3Ow0KKyAg Y2hhciBuYW1lWzBdOw0KK307DQorc3RhdGljIHZvaWQgd2Via2l0X3NjcmlwdF9tZXNzYWdlX2Ni IChXZWJLaXRVc2VyQ29udGVudE1hbmFnZXIgKiwNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBXZWJLaXRKYXZhc2NyaXB0UmVzdWx0ICosDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3BvaW50ZXIpOw0KKw0KICNlbmRpZg0KIA0K ICNpZmRlZiBIQVZFX1BHVEsNCkBAIC0zODAsNiArMzkwLDggQEAgREVGVU4gKCJtYWtlLXh3aWRn ZXQiLA0KIAkgIHNldHRpbmdzID0gd2Via2l0X3dlYl92aWV3X2dldF9zZXR0aW5ncyAoV0VCS0lU X1dFQl9WSUVXICh4dy0+d2lkZ2V0X29zcikpOw0KIAkgIGdfb2JqZWN0X3NldCAoR19PQkpFQ1Qg KHNldHRpbmdzKSwgImVuYWJsZS1kZXZlbG9wZXItZXh0cmFzIiwgVFJVRSwgTlVMTCk7DQogCX0N CisgICAgICBXZWJLaXRVc2VyQ29udGVudE1hbmFnZXIgKnNjcmlwdG9yID0gd2Via2l0X3VzZXJf Y29udGVudF9tYW5hZ2VyX25ldyAoKTsNCisgICAgICB4dy0+d2lkZ2V0X29zciA9IHdlYmtpdF93 ZWJfdmlld19uZXdfd2l0aF91c2VyX2NvbnRlbnRfbWFuYWdlciAoc2NyaXB0b3IpOw0KIA0KICAg ICAgIGd0a193aWRnZXRfc2V0X3NpemVfcmVxdWVzdCAoR1RLX1dJREdFVCAoeHctPndpZGdldF9v c3IpLCB4dy0+d2lkdGgsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4dy0+ aGVpZ2h0KTsNCkBAIC0yMzA4LDYgKzIzMjAsMjEgQEAgc3RvcmVfeHdpZGdldF9qc19jYWxsYmFj a19ldmVudCAoc3RydWN0IHh3aWRnZXQgKnh3LA0KICAga2JkX2J1ZmZlcl9zdG9yZV9ldmVudCAo JmV2ZW50KTsNCiB9DQogDQordm9pZA0KK3N0b3JlX3h3aWRnZXRfc2NyaXB0X21lc3NhZ2VfZXZl bnQgKHN0cnVjdCB4d2lkZ2V0ICp4dywNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IGNoYXIgKm5hbWUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBMaXNwX09iamVjdCBib2R5KQ0KK3sNCisgIHN0cnVjdCBpbnB1dF9ldmVu dCBldmVudDsNCisgIExpc3BfT2JqZWN0IHh3bDsNCisgIFhTRVRYV0lER0VUICh4d2wsIHh3KTsN CisgIEVWRU5UX0lOSVQgKGV2ZW50KTsNCisgIGV2ZW50LmtpbmQgPSBYV0lER0VUX0VWRU5UOw0K KyAgZXZlbnQuZnJhbWVfb3Jfd2luZG93ID0gUW5pbDsNCisgIGV2ZW50LmFyZyA9IGxpc3Q0IChp bnRlcm4gKCJzY3JpcHQtbWVzc2FnZSIpLCB4d2wsIGludGVybiAobmFtZSksIGJvZHkpOw0KKyAg a2JkX2J1ZmZlcl9zdG9yZV9ldmVudCAoJmV2ZW50KTsNCit9DQorDQogDQogI2lmZGVmIFVTRV9H VEsNCiBzdGF0aWMgdm9pZA0KQEAgLTI2MjIsNiArMjY0OSwxNyBAQCB3ZWJraXRfZGVjaWRlX3Bv bGljeV9jYiAoV2ViS2l0V2ViVmlldyAqd2ViVmlldywNCiAgIH0NCiB9DQogDQorc3RhdGljIHZv aWQgd2Via2l0X3NjcmlwdF9tZXNzYWdlX2NiIChXZWJLaXRVc2VyQ29udGVudE1hbmFnZXIgKnNj cmlwdG9yLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYktp dEphdmFzY3JpcHRSZXN1bHQgKmpzX3Jlc3VsdCwNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBncG9pbnRlciBkYXRhKQ0KK3sNCisgIEpTQ1ZhbHVlICp2YWx1ZSA9 IHdlYmtpdF9qYXZhc2NyaXB0X3Jlc3VsdF9nZXRfanNfdmFsdWUgKGpzX3Jlc3VsdCk7DQorICBz dHJ1Y3Qgd2Via2l0X3NjcmlwdF9tZXNzYWdlX2NiX2RhdGEgKmFyZyA9IGRhdGE7DQorDQorICBM aXNwX09iamVjdCBsaXNwX3ZhbHVlID0gd2Via2l0X2pzX3RvX2xpc3AgKHZhbHVlKTsNCisgIHN0 b3JlX3h3aWRnZXRfc2NyaXB0X21lc3NhZ2VfZXZlbnQgKGFyZy0+eHcsIGFyZy0+bmFtZSwgbGlz cF92YWx1ZSk7DQorfQ0KKw0KIHN0YXRpYyBnYm9vbGVhbg0KIHdlYmtpdF9zY3JpcHRfZGlhbG9n X2NiIChXZWJLaXRXZWJWaWV3ICp3ZWJ2aWV3LA0KIAkJCSBXZWJLaXRTY3JpcHREaWFsb2cgKnNj cmlwdF9kaWFsb2csDQpAQCAtMjcxNyw2ICsyNzU1LDcgQEAgeHdpZGdldF9pbml0X3ZpZXcgKHN0 cnVjdCB4d2lkZ2V0ICp4d3csDQogICBYU0VUV0lORE9XICh4di0+dywgcy0+dyk7DQogICBYU0VU WFdJREdFVCAoeHYtPm1vZGVsLCB4d3cpOw0KIA0KKw0KICNpZmRlZiBIQVZFX1hfV0lORE9XUw0K ICAgeHYtPmRweSA9IEZSQU1FX1hfRElTUExBWSAocy0+Zik7DQogDQpAQCAtMzE5OCw2ICszMjM3 LDE0MCBAQCBERUZVTiAoInh3aWRnZXQtd2Via2l0LWV4ZWN1dGUtc2NyaXB0IiwNCiAgIHJldHVy biBRbmlsOw0KIH0NCiANCitERUZVTiAoInh3aWRnZXQtd2Via2l0LWFkZC11c2VyLXNjcmlwdCIs DQorICAgICAgIEZ4d2lkZ2V0X3dlYmtpdF9hZGRfdXNlcl9zY3JpcHQsIFN4d2lkZ2V0X3dlYmtp dF9hZGRfdXNlcl9zY3JpcHQsDQorICAgICAgIDQsIDQsIDAsDQorICAgICAgIGRvYzogLyogQWRk IHVzZXIgU0NSSVBUIHRvIHRoZSBXZWJraXQgWFdJREdFVC4NCitJTkpFQ1RJT04tVElNRSBpcyBh IHN5bWJvbCB3aGljaCBjYW4gdGFrZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6DQorDQor LSBzdGFydDogU0NSSVBUIGlzIGluamVjdGVkIHdoZW4gZG9jdW1lbnQgc3RhcnRzIGxvYWRpbmcN CistIGVuZDogU0NSSVBUIGlzIGluamVjdGVkIHdoZW4gZG9jdW1lbnQgZmluaXNoZXMgbG9hZGlu Zw0KKw0KK0lmIE1BSU5fRlJBTUVfT05MWSBpcyBuaWwsIFNDUklQVCBpcyBpbmplY3RlZCB0byBh bGwgZnJhbWVzLg0KK090aGVyd2lzZSwgU0NSSVBUIGlzIG9ubHkgaW5qZWN0ZWQgdG8gdG9wIGZy YW1lcy4qLykNCisgIChMaXNwX09iamVjdCB4d2lkZ2V0LCBMaXNwX09iamVjdCBzY3JpcHQsDQor ICAgTGlzcF9PYmplY3QgaW5qZWN0aW9uX3RpbWUsIExpc3BfT2JqZWN0IG1haW5fZnJhbWVfb25s eSkNCit7DQorICBXRUJLSVRfRk5fSU5JVCAoKTsNCisgIENIRUNLX1NUUklORyAoc2NyaXB0KTsN CisgIENIRUNLX1NZTUJPTCAoaW5qZWN0aW9uX3RpbWUpOw0KKw0KKyAgc2NyaXB0ID0gRU5DT0RF X1NZU1RFTShzY3JpcHQpOw0KKw0KKyAgaW50IGluamVjdGlvbl90aW1lX3N0YXJ0LCBtZm87DQor ICBtZm8gPSAhTklMUCAobWFpbl9mcmFtZV9vbmx5KTsNCisgIGlmIChFUSAoaW5qZWN0aW9uX3Rp bWUsIFFzdGFydCkpDQorICAgIGluamVjdGlvbl90aW1lX3N0YXJ0ID0gMTsNCisgIGVsc2UgaWYg KEVRIChpbmplY3Rpb25fdGltZSwgUWVuZCkpDQorICAgIGluamVjdGlvbl90aW1lX3N0YXJ0ID0g MDsNCisgIGVsc2UNCisgICAgZXJyb3IgKCJVbmtub3duIFh3aWRnZXQgV2Via2l0IHVzZXIgc2Ny aXB0IGluamVjdGlvbiB0aW1lOiAlcyIsDQorICAgICAgICAgICBTREFUQSAoU1lNQk9MX05BTUUg KGluamVjdGlvbl90aW1lKSkpOw0KKw0KKyNpZmRlZiBVU0VfR1RLDQorICBXZWJLaXRXZWJWaWV3 ICp3a3d2ID0gV0VCS0lUX1dFQl9WSUVXICh4dy0+d2lkZ2V0X29zcik7DQorICBXZWJLaXRVc2Vy Q29udGVudE1hbmFnZXIgKnNjcmlwdG9yID0gd2Via2l0X3dlYl92aWV3X2dldF91c2VyX2NvbnRl bnRfbWFuYWdlciAod2t3dik7DQorDQorICBpbnQgd2Via2l0X2luamVjdGVkX2ZyYW1lcyA9IG1m bz8NCisgICAgV0VCS0lUX1VTRVJfQ09OVEVOVF9JTkpFQ1RfVE9QX0ZSQU1FIDogV0VCS0lUX1VT RVJfQ09OVEVOVF9JTkpFQ1RfQUxMX0ZSQU1FUzsNCisgIGludCB3ZWJraXRfaW5qZWN0aW9uX3Rp bWUgPSBpbmplY3Rpb25fdGltZV9zdGFydD8NCisgICAgV0VCS0lUX1VTRVJfU0NSSVBUX0lOSkVD VF9BVF9ET0NVTUVOVF9TVEFSVCA6IFdFQktJVF9VU0VSX1NDUklQVF9JTkpFQ1RfQVRfRE9DVU1F TlRfRU5EOw0KKyAgV2ViS2l0VXNlclNjcmlwdCAqdXNlclNjcmlwdCA9IHdlYmtpdF91c2VyX3Nj cmlwdF9uZXcgKFNTREFUQSAoc2NyaXB0KSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3ZWJraXRfaW5qZWN0ZWRfZnJhbWVzLA0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdl YmtpdF9pbmplY3Rpb25fdGltZSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMKTsNCisgIHdlYmtpdF91c2VyX2NvbnRl bnRfbWFuYWdlcl9hZGRfc2NyaXB0IChzY3JpcHRvciwgdXNlclNjcmlwdCk7DQorICB3ZWJraXRf dXNlcl9zY3JpcHRfdW5yZWYgKHVzZXJTY3JpcHQpOw0KKyNlbGlmIGRlZmluZWQgTlNfSU1QTF9D T0NPQQ0KKyAgbnN4d2lkZ2V0X3dlYmtpdF9hZGRfdXNlcl9zY3JpcHQgKHh3LCBTU0RBVEEgKHNj cmlwdCksIGluamVjdGlvbl90aW1lX3N0YXJ0LCBtZm8pOw0KKyNlbmRpZg0KKyAgcmV0dXJuIFFu aWw7DQorfQ0KKw0KK0RFRlVOICgieHdpZGdldC13ZWJraXQtcmVtb3ZlLWFsbC11c2VyLXNjcmlw dHMiLA0KKyAgICAgICBGeHdpZGdldF93ZWJraXRfcmVtb3ZlX2FsbF91c2VyX3NjcmlwdHMsIFN4 d2lkZ2V0X3dlYmtpdF9yZW1vdmVfYWxsX3VzZXJfc2NyaXB0cywNCisgICAgICAgMSwgMSwgMCwN CisgICAgICAgZG9jOiAvKiBSZW1vdmUgYWxsIHVzZXIgc2NyaXB0cyBmcm9tIFhXSURHRVQuICAq LykNCisgIChMaXNwX09iamVjdCB4d2lkZ2V0KQ0KK3sNCisgIFdFQktJVF9GTl9JTklUICgpOw0K Kw0KKyNpZmRlZiBVU0VfR1RLDQorICBXZWJLaXRXZWJWaWV3ICp3a3d2ID0gV0VCS0lUX1dFQl9W SUVXICh4dy0+d2lkZ2V0X29zcik7DQorICBXZWJLaXRVc2VyQ29udGVudE1hbmFnZXIgKnNjcmlw dG9yID0gd2Via2l0X3dlYl92aWV3X2dldF91c2VyX2NvbnRlbnRfbWFuYWdlciAod2t3dik7DQor DQorICB3ZWJraXRfdXNlcl9jb250ZW50X21hbmFnZXJfcmVtb3ZlX2FsbF9zY3JpcHRzIChzY3Jp cHRvcik7DQorI2VsaWYgZGVmaW5lZCBOU19JTVBMX0NPQ09BDQorICBuc3h3aWRnZXRfd2Via2l0 X3JlbW92ZV9hbGxfdXNlcl9zY3JpcHRzKHh3KTsNCisjZW5kaWYNCisgIHJldHVybiBRbmlsOw0K K30NCisNCitERUZVTiAoInh3aWRnZXQtd2Via2l0LXJlZ2lzdGVyLXNjcmlwdC1tZXNzYWdlIiwN CisgICAgICAgRnh3aWRnZXRfd2Via2l0X3JlZ2lzdGVyX3NjcmlwdF9tZXNzYWdlLCBTeHdpZGdl dF93ZWJraXRfcmVnaXN0ZXJfc2NyaXB0X21lc3NhZ2UsDQorICAgICAgIDIsIDIsIDAsDQorICAg ICAgIGRvYzogLyogUmVnaXN0ZXIgc2NyaXB0IG1lc3NhZ2Ugd2l0aCBzeW1ib2wgTkFNRSBpbiBX ZWJraXQgWFdJREdFVC4NCitSZXR1cm5zIFQgaWYgdGhlIG9wZXJhdGlvbiBpcyBzdWNjZXNzZnVs LCBOSUwgb3RoZXJ3aXNlLg0KK1RoZSBjYXVzZSBvZiBmYWlsdXJlIGlzIHVzdWFsbHkgdGhhdCBO QU1FIGhhcyBhbHJlYWR5IGJlZW4gcmVnaXN0ZXJlZCBmb3IgWFdJREdFVC4gICovKQ0KKyAgKExp c3BfT2JqZWN0IHh3aWRnZXQsIExpc3BfT2JqZWN0IG5hbWUpDQorew0KKyAgV0VCS0lUX0ZOX0lO SVQgKCk7DQorICBDSEVDS19TWU1CT0wgKG5hbWUpOw0KKyAgY29uc3QgY2hhciAqc25hbWUgPSBT U0RBVEEoIFNZTUJPTF9OQU1FIChuYW1lKSk7DQorDQorI2lmZGVmIFVTRV9HVEsNCisgIFdlYktp dFdlYlZpZXcgKndrd3YgPSBXRUJLSVRfV0VCX1ZJRVcgKHh3LT53aWRnZXRfb3NyKTsNCisgIFdl YktpdFVzZXJDb250ZW50TWFuYWdlciAqc2NyaXB0b3IgPSB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Vz ZXJfY29udGVudF9tYW5hZ2VyICh3a3d2KTsNCisNCisgIGdjaGFyICpzaWduYWxfbmFtZSA9IGdf c3RyY29uY2F0ICgic2NyaXB0LW1lc3NhZ2UtcmVjZWl2ZWQ6OiIsIHNuYW1lLCBOVUxMKTsNCisg IHNpemVfdCBuYW1lX2xlbmd0aCA9IHN0cmxlbiAoc25hbWUpICsgMTsNCisgIHN0cnVjdCB3ZWJr aXRfc2NyaXB0X21lc3NhZ2VfY2JfZGF0YSAqYXJnID0gbWFsbG9jIChzaXplb2YgKmFyZyArIG5h bWVfbGVuZ3RoKTsNCisgIGFyZy0+eHcgPSB4dzsNCisgIGdfc3RybGNweSAoYXJnLT5uYW1lLCBz bmFtZSwgbmFtZV9sZW5ndGgpOw0KKyAgZ19zaWduYWxfY29ubmVjdF9kYXRhKHNjcmlwdG9yLCBz aWduYWxfbmFtZSwgR19DQUxMQkFDSyAod2Via2l0X3NjcmlwdF9tZXNzYWdlX2NiKSwNCisgICAg ICAgICAgICAgICAgICAgICAgICBhcmcsIChHQ2xvc3VyZU5vdGlmeSlmcmVlLCAwKTsNCisgIGdf ZnJlZSAoc2lnbmFsX25hbWUpOw0KKyAgaWYgKHdlYmtpdF91c2VyX2NvbnRlbnRfbWFuYWdlcl9y ZWdpc3Rlcl9zY3JpcHRfbWVzc2FnZV9oYW5kbGVyIChzY3JpcHRvciwgc25hbWUpKQ0KKyAgICB7 DQorICAgICAgcmV0dXJuIFF0Ow0KKyAgICB9DQorICBlbHNlDQorICAgIHsNCisgICAgICBnX3Np Z25hbF9oYW5kbGVyc19kaXNjb25uZWN0X21hdGNoZWQgIChzY3JpcHRvciwNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1NJR05BTF9NQVRDSF9EQVRBLA0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIDAsIDAsIDAs IGFyZyk7DQorICAgICAgcmV0dXJuIFFuaWw7DQorICAgIH0NCisjZWxpZiBkZWZpbmVkIE5TX0lN UExfQ09DT0ENCisgIHJldHVybiBuc3h3aWRnZXRfd2Via2l0X3JlZ2lzdGVyX3NjcmlwdF9tZXNz YWdlKHh3LCBzbmFtZSk7DQorI2VuZGlmDQorfQ0KKw0KK0RFRlVOICgieHdpZGdldC13ZWJraXQt dW5yZWdpc3Rlci1zY3JpcHQtbWVzc2FnZSIsDQorICAgICAgIEZ4d2lkZ2V0X3dlYmtpdF91bnJl Z2lzdGVyX3NjcmlwdF9tZXNzYWdlLCBTeHdpZGdldF93ZWJraXRfdW5yZWdpc3Rlcl9zY3JpcHRf bWVzc2FnZSwNCisgICAgICAgMiwgMiwgMCwNCisgICAgICAgZG9jOiAvKiBVbnJlZ2lzdGVyIHNj cmlwdCBtZXNzYWdlIHdpdGggc3ltYm9sIE5BTUUgaW4gV2Via2l0IFhXSURHRVQuICAqLykNCisg IChMaXNwX09iamVjdCB4d2lkZ2V0LCBMaXNwX09iamVjdCBuYW1lKQ0KK3sNCisgIFdFQktJVF9G Tl9JTklUICgpOw0KKyAgQ0hFQ0tfU1lNQk9MIChuYW1lKTsNCisgIGNvbnN0IGNoYXIgKnNuYW1l ID0gU1NEQVRBKCBTWU1CT0xfTkFNRSAobmFtZSkpOw0KKw0KKyNpZmRlZiBVU0VfR1RLDQorICBX ZWJLaXRXZWJWaWV3ICp3a3d2ID0gV0VCS0lUX1dFQl9WSUVXICh4dy0+d2lkZ2V0X29zcik7DQor ICBXZWJLaXRVc2VyQ29udGVudE1hbmFnZXIgKnNjcmlwdG9yID0gd2Via2l0X3dlYl92aWV3X2dl dF91c2VyX2NvbnRlbnRfbWFuYWdlciAod2t3dik7DQorDQorICB3ZWJraXRfdXNlcl9jb250ZW50 X21hbmFnZXJfdW5yZWdpc3Rlcl9zY3JpcHRfbWVzc2FnZV9oYW5kbGVyIChzY3JpcHRvciwgc25h bWUpOw0KKyAgZ19zaWduYWxfaGFuZGxlcnNfZGlzY29ubmVjdF9tYXRjaGVkICAoc2NyaXB0b3Is DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1NJR05BTF9NQVRD SF9GVU5DIHwgR19TSUdOQUxfTUFUQ0hfREVUQUlMLA0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgMCwgZ19xdWFya19mcm9tX3N0cmluZyAoc25hbWUpLCAwLA0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAod2Via2l0 X3NjcmlwdF9tZXNzYWdlX2NiKSwgMCk7DQorI2VsaWYgZGVmaW5lZCBOU19JTVBMX0NPQ09BDQor ICBuc3h3aWRnZXRfd2Via2l0X3VucmVnaXN0ZXJfc2NyaXB0X21lc3NhZ2UoeHcsIHNuYW1lKTsN CisjZW5kaWYNCisgIHJldHVybiBRbmlsOw0KK30NCisNCiBERUZVTiAoInh3aWRnZXQtcmVzaXpl IiwgRnh3aWRnZXRfcmVzaXplLCBTeHdpZGdldF9yZXNpemUsIDMsIDMsIDAsDQogICAgICAgIGRv YzogLyogUmVzaXplIFhXSURHRVQgdG8gTkVXX1dJRFRILCBORVdfSEVJR0hULiAgKi8gKQ0KICAg KExpc3BfT2JqZWN0IHh3aWRnZXQsIExpc3BfT2JqZWN0IG5ld193aWR0aCwgTGlzcF9PYmplY3Qg bmV3X2hlaWdodCkNCkBAIC0zOTE5LDYgKzQwOTIsMTQgQEAgc3ltc19vZl94d2lkZ2V0ICh2b2lk KQ0KICAgZGVmc3ViciAoJlN4d2lkZ2V0X3dlYmtpdF9leGVjdXRlX3NjcmlwdCk7DQogICBERUZT WU0gKFF3ZWJraXQsICJ3ZWJraXQiKTsNCiANCisgIGRlZnN1YnIgKCZTeHdpZGdldF93ZWJraXRf YWRkX3VzZXJfc2NyaXB0KTsNCisgIERFRlNZTSAoUXN0YXJ0LCAic3RhcnQiKTsNCisgIERFRlNZ TSAoUWVuZCwgImVuZCIpOw0KKyAgZGVmc3ViciAoJlN4d2lkZ2V0X3dlYmtpdF9yZW1vdmVfYWxs X3VzZXJfc2NyaXB0cyk7DQorDQorICBkZWZzdWJyICgmU3h3aWRnZXRfd2Via2l0X3JlZ2lzdGVy X3NjcmlwdF9tZXNzYWdlKTsNCisgIGRlZnN1YnIgKCZTeHdpZGdldF93ZWJraXRfdW5yZWdpc3Rl cl9zY3JpcHRfbWVzc2FnZSk7DQorDQogICBkZWZzdWJyICgmU3h3aWRnZXRfc2l6ZV9yZXF1ZXN0 KTsNCiAgIGRlZnN1YnIgKCZTZGVsZXRlX3h3aWRnZXRfdmlldyk7DQogDQpkaWZmIC0tZ2l0IGEv c3JjL3h3aWRnZXQuaCBiL3NyYy94d2lkZ2V0LmgNCmluZGV4IDUwMmJlYjY3NjUuLmU4MzVmNzAw YmMgMTAwNjQ0DQotLS0gYS9zcmMveHdpZGdldC5oDQorKysgYi9zcmMveHdpZGdldC5oDQpAQCAt MjAzLDYgKzIwMywxMCBAQCAjZGVmaW5lIFhHX1hXSURHRVRfVklFVyAiZW1hY3NfeHdpZGdldF92 aWV3Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzcF9PYmplY3Qg cHJvYywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3BfT2JqZWN0 IGFyZ3VtZW50KTsNCiANCit2b2lkIHN0b3JlX3h3aWRnZXRfc2NyaXB0X21lc3NhZ2VfZXZlbnQg KHN0cnVjdCB4d2lkZ2V0ICp4dywNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IGNoYXIgKm5hbWUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBMaXNwX09iamVjdCB2YWx1ZSk7DQorDQogZXh0ZXJuIHN0cnVjdCB4d2lkZ2V0 ICp4d2lkZ2V0X2Zyb21faWQgKHVpbnQzMl90IGlkKTsNCiANCiAjaWZkZWYgSEFWRV9YX1dJTkRP V1MNCi0tIA0KMi4yNi4yDQoNCg== --_004_0F1442C845E2408CB310448B4A26496Estanfordedu_--