<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>68369</bug_id>
          
          <creation_ts>2011-09-19 10:13:11 -0700</creation_ts>
          <short_desc>[Qt][WK2] Add support for hover API in Qt WebKit2</short_desc>
          <delta_ts>2011-09-27 07:09:22 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>68426</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Igor Trindade Oliveira">igor.oliveira</reporter>
          <assigned_to name="Caio Marcelo de Oliveira Filho">cmarcelo</assigned_to>
          <cc>andersca</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>jesus</cc>
    
    <cc>kling</cc>
    
    <cc>menard</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>469476</commentid>
    <comment_count>0</comment_count>
    <who name="Igor Trindade Oliveira">igor.oliveira</who>
    <bug_when>2011-09-19 10:13:11 -0700</bug_when>
    <thetext>Add support for hover API in Qt WebKit2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470063</commentid>
    <comment_count>1</comment_count>
      <attachid>108002</attachid>
    <who name="Igor Trindade Oliveira">igor.oliveira</who>
    <bug_when>2011-09-20 08:00:11 -0700</bug_when>
    <thetext>Created attachment 108002
Patch.

Proposed implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470708</commentid>
    <comment_count>2</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-09-21 04:39:56 -0700</bug_when>
    <thetext>CC&apos;ing some WK2 gentlemen since you&apos;re adding C API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470716</commentid>
    <comment_count>3</comment_count>
      <attachid>108002</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-09-21 04:54:49 -0700</bug_when>
    <thetext>Comment on attachment 108002
Patch.

Don&apos;t you miss some build systems here? GTK and the cmake stuff?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470737</commentid>
    <comment_count>4</comment_count>
    <who name="Igor Trindade Oliveira">igor.oliveira</who>
    <bug_when>2011-09-21 06:13:30 -0700</bug_when>
    <thetext>CMake code is in the beginning of the patch and GTK is handled by GNUmakefile.am.

(In reply to comment #3)
&gt; (From update of attachment 108002 [details])
&gt; Don&apos;t you miss some build systems here? GTK and the cmake stuff?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470739</commentid>
    <comment_count>5</comment_count>
      <attachid>108140</attachid>
    <who name="Igor Trindade Oliveira">igor.oliveira</who>
    <bug_when>2011-09-21 06:14:28 -0700</bug_when>
    <thetext>Created attachment 108140
Patch

Updated patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470915</commentid>
    <comment_count>6</comment_count>
      <attachid>108140</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-09-21 10:36:55 -0700</bug_when>
    <thetext>Comment on attachment 108140
Patch

The API added doesn&apos;t follow the naming conventions we use for returning copies. Also, https://bugs.webkit.org/show_bug.cgi?id=68426 also adds the same API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471029</commentid>
    <comment_count>7</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-09-21 12:16:50 -0700</bug_when>
    <thetext>Also, this adds LGPL API headers. WebKit2 API headers should be BSD licensed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473585</commentid>
    <comment_count>8</comment_count>
      <attachid>108767</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-09-26 17:51:56 -0700</bug_when>
    <thetext>Created attachment 108767
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473590</commentid>
    <comment_count>9</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-09-26 17:55:40 -0700</bug_when>
    <thetext>Igor went for vacations, so I&apos;m picking up this. WKHitTestResult landed already for another bug.

Besides removing the WKHitTestResult, this patch also
- change MiniBrowser to use the new feature;
- add tests for the signal;
- remove the third parameter textContent, since I&apos;m not convinced it is necessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473621</commentid>
    <comment_count>10</comment_count>
      <attachid>108767</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-09-26 18:40:41 -0700</bug_when>
    <thetext>Comment on attachment 108767
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=108767&amp;action=review

&gt; Source/WebKit2/UIProcess/API/qt/qdesktopwebview.h:91
&gt; +    void linkHovered(const QUrl&amp; url, const QString &amp;title);

Style issue. const QString&amp;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473902</commentid>
    <comment_count>11</comment_count>
      <attachid>108767</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-09-27 06:27:27 -0700</bug_when>
    <thetext>Comment on attachment 108767
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=108767&amp;action=review

r=me

&gt; Source/WebKit2/UIProcess/API/qt/qdesktopwebview.cpp:436
&gt; +    if (linkURL != lastHoveredURL || linkTitle != lastHoveredTitle) {

I would write this as:
if (linkURL == lastHoveredURL &amp;&amp; linkTitle == lastHoveredTitle)
    return;

&gt; Source/WebKit2/UIProcess/qt/ClientImpl.cpp:167
&gt; +void qt_wk_mouseDidMoveOverElement(WKPageRef page, WKHitTestResultRef hitTestResult, WKEventModifiers modifiers, WKTypeRef userData, const void *clientInfo)

Style, const void* clientInfo.

&gt; Source/WebKit2/UIProcess/qt/ClientImpl.h:44
&gt; +void qt_wk_mouseDidMoveOverElement(WKPageRef, WKHitTestResultRef, WKEventModifiers, WKTypeRef, const void *clientInfo);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473920</commentid>
    <comment_count>12</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-09-27 07:09:22 -0700</bug_when>
    <thetext>Committed r96105: &lt;http://trac.webkit.org/changeset/96105&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108002</attachid>
            <date>2011-09-20 08:00:11 -0700</date>
            <delta_ts>2011-09-21 06:14:28 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>0001-Qt-WK2-Add-support-for-hover-API-in-Qt-WebKit2.patch</filename>
            <type>text/plain</type>
            <size>23173</size>
            <attacher name="Igor Trindade Oliveira">igor.oliveira</attacher>
            
              <data encoding="base64">RnJvbSA4N2FiNjg1ZmJmN2EyNWI4M2E4Zjg0MTc3ZDQzNjNkNGE4Mjg1YmE4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBJZ29yIE9saXZlaXJhIDxpZ29yLm9saXZlaXJhQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IE1vbiwgMTkgU2VwIDIwMTEgMTI6NDc6MTcgLTA0MDAKU3ViamVjdDogW1BB
VENIXSBbUXRdW1dLMl0gQWRkIHN1cHBvcnQgZm9yIGhvdmVyIEFQSSBpbiBRdCBXZWJLaXQyCgot
LS0KIFNvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0ICAgICAgICAgICAgICAgICAgICAgIHwg
ICAgMSArCiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8ICAgNDYgKysrKysrKysrKysrKysrKysrKysKIFNvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxl
LmFtICAgICAgICAgICAgICAgICAgICAgIHwgICAgMyArCiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViSGl0VGVzdFJlc3VsdC5jcHAgICAgICAgICB8ICAgIDQgKy0KIFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJIaXRUZXN0UmVzdWx0LmggICAgICAgICAgIHwgICAgMyArCiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tIaXRUZXN0UmVzdWx0LmNwcCB8ICAgNDYgKysrKysrKysrKysr
KysrKysrKysKIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0hpdFRlc3RSZXN1bHQu
aCAgIHwgICA0NSArKysrKysrKysrKysrKysrKysrCiAuLi4vV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L3F0L3FkZXNrdG9wd2Vidmlldy5jcHAgICB8ICAgMTIgKysrKysKIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmggIHwgICAgMSArCiAuLi4vV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlld19wLmggICB8ICAgIDYgKysrCiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvcXQvQ2xpZW50SW1wbC5jcHAgICAgICAgICB8ICAgMTAgKysrKwog
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L0NsaWVudEltcGwuaCAgICAgICAgICAgfCAgICAx
ICsKIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQcm94eS5jcHAgICAgIHwg
ICAgMSArCiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvVG91Y2hWaWV3SW50ZXJmYWNlLmgg
ICB8ICAgIDIgKwogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1ZpZXdJbnRlcmZhY2UuaCAg
ICAgICAgfCAgICAyICsKIFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiAgIHwgICAgOCArKysKIFNvdXJjZS9XZWJLaXQyL1dlYktpdDJBUEkucHJpICAgICAg
ICAgICAgICAgICAgICAgIHwgICAgMiArCiBTb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3By
b2ogICAgICAgICAgICAgICAgICB8ICAgIDggKysrCiAxOCBmaWxlcyBjaGFuZ2VkLCAyMDAgaW5z
ZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tIaXRUZXN0UmVzdWx0LmNwcAogY3JlYXRlIG1vZGUgMTAw
NjQ0IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0hpdFRlc3RSZXN1bHQuaAoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktpdDIv
Q01ha2VMaXN0cy50eHQKaW5kZXggZGNiZjc5Ni4uY2RkNjY4ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50
eHQKQEAgLTE5Miw2ICsxOTIsNyBAQCBTRVQoV2ViS2l0Ml9TT1VSQ0VTCiAgICAgVUlQcm9jZXNz
L0FQSS9DL1dLRnJhbWUuY3BwCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLRnJhbWVQb2xpY3lMaXN0
ZW5lci5jcHAKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tJY29uRGF0YWJhc2UuY3BwCisgICAgVUlQ
cm9jZXNzL0FQSS9DL1dLSGl0VGVzdFJlc3VsdC5jcHAKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tJ
bnNwZWN0b3IuY3BwCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLS2V5VmFsdWVTdG9yYWdlTWFuYWdl
ci5jcHAKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tNZWRpYUNhY2hlTWFuYWdlci5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwppbmRleCA1NWRhNWM3Li5mNGE0ZmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIw
MTEtMDktMjAgIElnb3IgT2xpdmVpcmEgIDxpZ29yLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+CisK
KyAgICAgICAgW1F0XVtXSzJdIEFkZCBzdXBwb3J0IGZvciBob3ZlciBBUEkgaW4gUXQgV2ViS2l0
MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzNjkK
KworICAgICAgICBUaGlzIHBhdGNoIGltcGxlbWVudHMgc3VwcG9ydCBmb3IgaG92ZXIgQVBJIGlu
IFFEZXNrdG9wV2ViVmlldy4KKyAgICAgICAgV2hlbiB0aGUgbW91c2UgaG92ZXJzIG92ZXIgYSBs
aW5rLCBRRGVza3RvcFdlYlZpZXcgc2VuZHMgbGlua0hvdmVyZWQKKyAgICAgICAgc2lnbmFsLgor
CisgICAgICAgIEFkZGl0aW9uYWxseSwgQWRkIFdLSGl0VGVzdFJlc3VsdCBDIEFQSSB0aGF0IGl0
IGlzIHVzZWQgYnkgQ2xpZW50SW1wbC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxl
LmFtOgorICAgICAgICAqIFNoYXJlZC9XZWJIaXRUZXN0UmVzdWx0LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViSGl0VGVzdFJlc3VsdDo6RGF0YTo6ZW5jb2RlKToKKyAgICAgICAgKFdlYktpdDo6
V2ViSGl0VGVzdFJlc3VsdDo6RGF0YTo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViSGl0
VGVzdFJlc3VsdC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJIaXRUZXN0UmVzdWx0Ojp0ZXh0Q29u
dGVudCk6CisKKyAgICAgICAgQWRkIG1pc3NpbmcgSGl0VGVzdFJlc3VsdCBhdHRyaWJ1dGUgdXNl
ZCBieSBRdCBwb3J0LCB0ZXh0Q29udGVudAorICAgICAgICBwcm92aWRlcyB0ZXh0IHdpdGhpbiB0
aGUgbGluayBlbGVtZW50LAorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLSGl0VGVzdFJl
c3VsdC5jcHA6IEFkZGVkLgorICAgICAgICAoV0tIaXRUZXN0UmVzdWx0R2V0VHlwZUlEKToKKyAg
ICAgICAgKFdLSGl0VGVzdFJlc3VsdEFic29sdXRlTGlua1VSTCk6CisgICAgICAgIChXS0hpdFRl
c3RSZXN1bHRMaW5rVGl0bGUpOgorICAgICAgICAoV0tIaXRUZXN0UmVzdWx0VGV4dENvbnRlbnQp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0hpdFRlc3RSZXN1bHQuaDogQWRkZWQuCisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuY3BwOgorICAgICAgICAo
UURlc2t0b3BXZWJWaWV3UHJpdmF0ZTo6ZGlkTW91c2VNb3ZlT3ZlckVsZW1lbnQpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3Lmg6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXdfcC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9D
bGllbnRJbXBsLmNwcDoKKyAgICAgICAgKHF0X3drX21vdXNlRGlkTW92ZU92ZXJFbGVtZW50KToK
KyAgICAgICAgKiBVSVByb2Nlc3MvcXQvQ2xpZW50SW1wbC5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9xdC9RdFdlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChRdFdlYlBhZ2VQcm94eTo6aW5pdCk6
CisgICAgICAgICogVUlQcm9jZXNzL3F0L1RvdWNoVmlld0ludGVyZmFjZS5oOgorICAgICAgICAo
V2ViS2l0OjpUb3VjaFZpZXdJbnRlcmZhY2U6OmRpZE1vdXNlTW92ZU92ZXJFbGVtZW50KToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvcXQvVmlld0ludGVyZmFjZS5oOgorICAgICAgICAqIFdlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJLaXQyQVBJLnByaToKKyAg
ICAgICAgKiB3aW4vV2ViS2l0Mi52Y3Byb2o6CisKIDIwMTEtMDktMTkgIERhbiBCZXJuc3RlaW4g
IDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJLaXQyIHBhcnQgb2YgW21hY10gV2ViS2l0
IGNvbnRhaW5zIE9iamVjdGl2ZS1DIGNsYXNzZXMgdGhhdCBhcmUgbm90IHByZWZpeGVkIHdpdGgg
aXRzIHN0YW5kYXJkIHByZWZpeGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtl
ZmlsZS5hbSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCmluZGV4IDYxMzBiZjEuLjQ3
Yzg0ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCkBAIC00OCw2ICs0OCw3IEBAIGxpYndlYmtpdDJn
dGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVS
U0lPTkBfbGFfSEVBCiAJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tGb3JtU3VibWlzc2lv
bkxpc3RlbmVyLmggXAogCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLRnJhbWUuaCBcCiAJ
JChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tGcmFtZVBvbGljeUxpc3RlbmVyLmggXAorCSQo
V2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLSGl0VGVzdFJlc3VsdC5oIFwKIAkkKFdlYktpdDIp
L1VJUHJvY2Vzcy9BUEkvQy9XS0luc3BlY3Rvci5oIFwKIAkkKFdlYktpdDIpL1VJUHJvY2Vzcy9B
UEkvQy9XS0tleVZhbHVlU3RvcmFnZU1hbmFnZXIuaCBcCiAJJChXZWJLaXQyKS9VSVByb2Nlc3Mv
QVBJL0MvV0tNZWRpYUNhY2hlTWFuYWdlci5oIFwKQEAgLTQxNSw2ICs0MTYsOCBAQCBsaWJ3ZWJr
aXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9S
X1ZFUlNJT05AX2xhX1NPVQogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0ZyYW1l
UG9saWN5TGlzdGVuZXIuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLSWNv
bkRhdGFiYXNlLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLSWNvbkRh
dGFiYXNlLmggXAorCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0hpdFRlc3RSZXN1
bHQuY3BwIFwKKwlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tIaXRUZXN0UmVzdWx0
LmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0luc3BlY3Rvci5jcHAgXAog
CVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0luc3BlY3Rvci5oIFwKIAlTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyLmNwcCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViSGl0VGVzdFJlc3VsdC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViSGl0VGVzdFJlc3VsdC5jcHAKaW5kZXggZjA0Yjg0Ny4u
MTFiYjNiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkhpdFRlc3RSZXN1
bHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJIaXRUZXN0UmVzdWx0LmNwcApA
QCAtNDEsNiArNDEsNyBAQCB2b2lkIFdlYkhpdFRlc3RSZXN1bHQ6OkRhdGE6OmVuY29kZShDb3Jl
SVBDOjpBcmd1bWVudEVuY29kZXIqIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2Rlci0+ZW5jb2Rl
KGFic29sdXRlTWVkaWFVUkwpOwogICAgIGVuY29kZXItPmVuY29kZShsaW5rTGFiZWwpOwogICAg
IGVuY29kZXItPmVuY29kZShsaW5rVGl0bGUpOworICAgIGVuY29kZXItPmVuY29kZSh0ZXh0Q29u
dGVudCk7CiB9CiAKIGJvb2wgV2ViSGl0VGVzdFJlc3VsdDo6RGF0YTo6ZGVjb2RlKENvcmVJUEM6
OkFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgV2ViSGl0VGVzdFJlc3VsdDo6RGF0YSYgaGl0VGVz
dFJlc3VsdERhdGEpCkBAIC00OSw3ICs1MCw4IEBAIGJvb2wgV2ViSGl0VGVzdFJlc3VsdDo6RGF0
YTo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgV2ViSGl0VGVzCiAg
ICAgICAgIHx8ICFkZWNvZGVyLT5kZWNvZGUoaGl0VGVzdFJlc3VsdERhdGEuYWJzb2x1dGVMaW5r
VVJMKQogICAgICAgICB8fCAhZGVjb2Rlci0+ZGVjb2RlKGhpdFRlc3RSZXN1bHREYXRhLmFic29s
dXRlTWVkaWFVUkwpCiAgICAgICAgIHx8ICFkZWNvZGVyLT5kZWNvZGUoaGl0VGVzdFJlc3VsdERh
dGEubGlua0xhYmVsKQotICAgICAgICB8fCAhZGVjb2Rlci0+ZGVjb2RlKGhpdFRlc3RSZXN1bHRE
YXRhLmxpbmtUaXRsZSkpCisgICAgICAgIHx8ICFkZWNvZGVyLT5kZWNvZGUoaGl0VGVzdFJlc3Vs
dERhdGEubGlua1RpdGxlKQorICAgICAgICB8fCAhZGVjb2Rlci0+ZGVjb2RlKGhpdFRlc3RSZXN1
bHREYXRhLnRleHRDb250ZW50KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgcmV0dXJu
IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViSGl0VGVzdFJlc3Vs
dC5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkhpdFRlc3RSZXN1bHQuaAppbmRleCAwNmY5
NzM1Li5mMDZkYzllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViSGl0VGVz
dFJlc3VsdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJIaXRUZXN0UmVzdWx0LmgK
QEAgLTQ3LDYgKzQ3LDcgQEAgcHVibGljOgogICAgICAgICBTdHJpbmcgYWJzb2x1dGVNZWRpYVVS
TDsKICAgICAgICAgU3RyaW5nIGxpbmtMYWJlbDsKICAgICAgICAgU3RyaW5nIGxpbmtUaXRsZTsK
KyAgICAgICAgU3RyaW5nIHRleHRDb250ZW50OwogCiAgICAgICAgIHZvaWQgZW5jb2RlKENvcmVJ
UEM6OkFyZ3VtZW50RW5jb2RlciopIGNvbnN0OwogICAgICAgICBzdGF0aWMgYm9vbCBkZWNvZGUo
Q29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiwgV2ViSGl0VGVzdFJlc3VsdDo6RGF0YSYpOwpAQCAt
NjEsNiArNjIsOCBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIGxpbmtMYWJlbCgpIGNvbnN0IHsgcmV0
dXJuIG1fZGF0YS5saW5rTGFiZWw7IH0KICAgICBTdHJpbmcgbGlua1RpdGxlKCkgY29uc3QgeyBy
ZXR1cm4gbV9kYXRhLmxpbmtUaXRsZTsgfQogCisgICAgU3RyaW5nIHRleHRDb250ZW50KCkgY29u
c3QgeyByZXR1cm4gbV9kYXRhLnRleHRDb250ZW50OyB9CisKIHByaXZhdGU6CiAgICAgZXhwbGlj
aXQgV2ViSGl0VGVzdFJlc3VsdChjb25zdCBXZWJIaXRUZXN0UmVzdWx0OjpEYXRhJiBoaXRUZXN0
UmVzdWx0RGF0YSkKICAgICAgICAgOiBtX2RhdGEoaGl0VGVzdFJlc3VsdERhdGEpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tIaXRUZXN0UmVzdWx0LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0hpdFRlc3RSZXN1bHQuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyNDg0OTIKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tIaXRUZXN0UmVzdWx0LmNwcApAQCAt
MCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIE5va2lhIENvcnBvcmF0aW9u
IGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
KyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBD
T1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24s
IE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiV0tIaXRUZXN0UmVzdWx0LmgiCisKKyNpbmNsdWRlICJXS0FQSUNhc3QuaCIKKyNpbmNsdWRl
ICJXZWJIaXRUZXN0UmVzdWx0LmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CisKK1dLVHlw
ZUlEIFdLSGl0VGVzdFJlc3VsdEdldFR5cGVJRCgpCit7CisgICAgcmV0dXJuIHRvQVBJKFdlYkhp
dFRlc3RSZXN1bHQ6OkFQSVR5cGUpOworfQorCitXS1N0cmluZ1JlZiBXS0hpdFRlc3RSZXN1bHRB
YnNvbHV0ZUxpbmtVUkwoV0tIaXRUZXN0UmVzdWx0UmVmIGhpdFRlc3RSZXN1bHRSZWYpCit7Cisg
ICAgcmV0dXJuIHRvQ29waWVkQVBJKHRvSW1wbChoaXRUZXN0UmVzdWx0UmVmKS0+YWJzb2x1dGVM
aW5rVVJMKCkpOworfQorCitXS1N0cmluZ1JlZiBXS0hpdFRlc3RSZXN1bHRMaW5rVGl0bGUoV0tI
aXRUZXN0UmVzdWx0UmVmIGhpdFRlc3RSZXN1bHRSZWYpCit7CisgICAgcmV0dXJuIHRvQ29waWVk
QVBJKHRvSW1wbChoaXRUZXN0UmVzdWx0UmVmKS0+bGlua1RpdGxlKCkpOworfQorCitXS1N0cmlu
Z1JlZiBXS0hpdFRlc3RSZXN1bHRUZXh0Q29udGVudChXS0hpdFRlc3RSZXN1bHRSZWYgaGl0VGVz
dFJlc3VsdFJlZikKK3sKKyAgICByZXR1cm4gdG9Db3BpZWRBUEkodG9JbXBsKGhpdFRlc3RSZXN1
bHRSZWYpLT50ZXh0Q29udGVudCgpKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS0hpdFRlc3RSZXN1bHQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS0hpdFRlc3RSZXN1bHQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi5jNmFmODc0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLSGl0VGVzdFJlc3VsdC5oCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMp
CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor
ICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0
bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3Ry
ZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisK
KyNpZm5kZWYgV0tIaXRUZXN0UmVzdWx0X2gKKyNkZWZpbmUgV0tIaXRUZXN0UmVzdWx0X2gKKwor
I2luY2x1ZGUgPFdlYktpdDIvV0tCYXNlLmg+CisKKyNpZm5kZWYgX19jcGx1c3BsdXMKKyNpbmNs
dWRlIDxzdGRib29sLmg+CisjZW5kaWYKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMi
IHsKKyNlbmRpZgorCitXS19FWFBPUlQgV0tUeXBlSUQgV0tIaXRUZXN0UmVzdWx0R2V0VHlwZUlE
KCk7CisKK1dLX0VYUE9SVCBXS1N0cmluZ1JlZiBXS0hpdFRlc3RSZXN1bHRBYnNvbHV0ZUxpbmtV
UkwoV0tIaXRUZXN0UmVzdWx0UmVmKTsKKworV0tfRVhQT1JUIFdLU3RyaW5nUmVmIFdLSGl0VGVz
dFJlc3VsdExpbmtUaXRsZShXS0hpdFRlc3RSZXN1bHRSZWYpOworCitXS19FWFBPUlQgV0tTdHJp
bmdSZWYgV0tIaXRUZXN0UmVzdWx0VGV4dENvbnRlbnQoV0tIaXRUZXN0UmVzdWx0UmVmKTsKKwor
I2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIFdLSGl0VGVzdFJlc3Vs
dF9oICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNr
dG9wd2Vidmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9w
d2Vidmlldy5jcHAKaW5kZXggZGY3ODdmNi4uYmRiNGMzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmNwcApAQCAtNDMwLDYgKzQz
MCwxOCBAQCB2b2lkIFFEZXNrdG9wV2ViVmlld1ByaXZhdGU6Om9uT3BlblBhbmVsRmluaXNoZWQo
aW50IHJlc3VsdCkKICAgICBmaWxlRGlhbG9nID0gMDsKIH0KIAordm9pZCBRRGVza3RvcFdlYlZp
ZXdQcml2YXRlOjpkaWRNb3VzZU1vdmVPdmVyRWxlbWVudChjb25zdCBRU3RyaW5nJiBhYnNvbHV0
ZUxpbmtVUkwsIGNvbnN0IFFTdHJpbmcmIGxpbmtUaXRsZSwgY29uc3QgUVN0cmluZyYgdGV4dENv
bnRlbnQpCit7CisgICAgaWYgKGFic29sdXRlTGlua1VSTCAhPSBsYXN0SG92ZXJVUkwKKyAgICAg
ICAgfHwgbGlua1RpdGxlICE9IGxhc3RIb3ZlclRpdGxlCisgICAgICAgIHx8IHRleHRDb250ZW50
ICE9IGxhc3RIb3ZlckNvbnRlbnQpIHsKKyAgICAgICAgbGFzdEhvdmVyVVJMID0gYWJzb2x1dGVM
aW5rVVJMOworICAgICAgICBsYXN0SG92ZXJUaXRsZSA9IGxpbmtUaXRsZTsKKyAgICAgICAgbGFz
dEhvdmVyQ29udGVudCA9IHRleHRDb250ZW50OworICAgICAgICBlbWl0IHEtPmxpbmtIb3ZlcmVk
KGxhc3RIb3ZlclVSTCwgbGFzdEhvdmVyVGl0bGUsIGxhc3RIb3ZlckNvbnRlbnQpOworICAgIH0K
K30KKwogc3RhdGljIFBvbGljeUludGVyZmFjZTo6UG9saWN5QWN0aW9uIHRvUG9saWN5QWN0aW9u
KFFEZXNrdG9wV2ViVmlldzo6TmF2aWdhdGlvblBvbGljeSBwb2xpY3kpCiB7CiAgICAgc3dpdGNo
IChwb2xpY3kpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
cWRlc2t0b3B3ZWJ2aWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNr
dG9wd2Vidmlldy5oCmluZGV4IGI3ZTdiZGEuLjA4MjAwYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuaApAQCAtODMsNiArODMsNyBA
QCBRX1NJR05BTFM6CiAgICAgdm9pZCBsb2FkRmFpbGVkKGNvbnN0IFFKU1ZhbHVlJiBlcnJvcik7
CiAgICAgdm9pZCBsb2FkUHJvZ3Jlc3NDaGFuZ2VkKGludCBwcm9ncmVzcyk7CiAgICAgdm9pZCB1
cmxDaGFuZ2VkKGNvbnN0IFFVcmwmKTsKKyAgICB2b2lkIGxpbmtIb3ZlcmVkKGNvbnN0IFFTdHJp
bmcgJmxpbmssIGNvbnN0IFFTdHJpbmcgJnRpdGxlLCBjb25zdCBRU3RyaW5nICZ0ZXh0Q29udGVu
dCk7CiAKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQga2V5UHJlc3NFdmVudChRS2V5RXZl
bnQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0
b3B3ZWJ2aWV3X3AuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3
ZWJ2aWV3X3AuaAppbmRleCAyNzVjMjA0Li4xM2E4NDQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlld19wLmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXdfcC5oCkBAIC04NCw2ICs4NCw4
IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHZvaWQgY2hvb3NlRmlsZXMoV0tPcGVuUGFuZWxS
ZXN1bHRMaXN0ZW5lclJlZiwgY29uc3QgUVN0cmluZ0xpc3QmIHNlbGVjdGVkRmlsZU5hbWVzLCBW
aWV3SW50ZXJmYWNlOjpGaWxlQ2hvb3NlclR5cGUpOwogCisgICAgdmlydHVhbCB2b2lkIGRpZE1v
dXNlTW92ZU92ZXJFbGVtZW50KGNvbnN0IFFTdHJpbmcmLCBjb25zdCBRU3RyaW5nJiwgY29uc3Qg
UVN0cmluZyYpOworCiAgICAgLy8gUG9saWN5SW50ZXJmYWNlLgogICAgIHZpcnR1YWwgUG9saWN5
SW50ZXJmYWNlOjpQb2xpY3lBY3Rpb24gbmF2aWdhdGlvblBvbGljeUZvclVSTChjb25zdCBRVXJs
JiwgUXQ6Ok1vdXNlQnV0dG9uLCBRdDo6S2V5Ym9hcmRNb2RpZmllcnMpOwogCkBAIC05MSw2ICs5
MywxMCBAQCBwcml2YXRlOgogCiAgICAgUUZpbGVEaWFsb2cqIGZpbGVEaWFsb2c7CiAgICAgV0tP
cGVuUGFuZWxSZXN1bHRMaXN0ZW5lclJlZiBvcGVuUGFuZWxSZXN1bHRMaXN0ZW5lcjsKKworICAg
IFFTdHJpbmcgbGFzdEhvdmVyVVJMOworICAgIFFTdHJpbmcgbGFzdEhvdmVyVGl0bGU7CisgICAg
UVN0cmluZyBsYXN0SG92ZXJDb250ZW50OwogfTsKIAogI2VuZGlmIC8qIHFkZXNrdG9wd2Vidmll
d19wX2ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9DbGllbnRJ
bXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9DbGllbnRJbXBsLmNwcAppbmRl
eCA3MTkxZTRmLi42ZjIxYTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
cXQvQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L0NsaWVu
dEltcGwuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSA8V0tBcnJheS5oPgogI2luY2x1
ZGUgPFdLRnJhbWUuaD4KICNpbmNsdWRlIDxXS0ZyYW1lUG9saWN5TGlzdGVuZXIuaD4KKyNpbmNs
dWRlIDxXS0hpdFRlc3RSZXN1bHQuaD4KICNpbmNsdWRlIDxXS09wZW5QYW5lbFBhcmFtZXRlcnMu
aD4KICNpbmNsdWRlIDxXS09wZW5QYW5lbFJlc3VsdExpc3RlbmVyLmg+CiAjaW5jbHVkZSA8V0tU
eXBlLmg+CkBAIC0xNjMsNiArMTY0LDE1IEBAIHZvaWQgcXRfd2tfcnVuT3BlblBhbmVsKFdLUGFn
ZVJlZiwgV0tGcmFtZVJlZiwgV0tPcGVuUGFuZWxQYXJhbWV0ZXJzUmVmIHBhcmFtZXRlCiAgICAg
dG9WaWV3SW50ZXJmYWNlKGNsaWVudEluZm8pLT5jaG9vc2VGaWxlcyhsaXN0ZW5lciwgc2VsZWN0
ZWRGaWxlTmFtZXMsIGFsbG93TXVsdGlwbGVGaWxlcyk7CiB9CiAKK3ZvaWQgcXRfd2tfbW91c2VE
aWRNb3ZlT3ZlckVsZW1lbnQoV0tQYWdlUmVmIHBhZ2UsIFdLSGl0VGVzdFJlc3VsdFJlZiBoaXRU
ZXN0UmVzdWx0LCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tUeXBlUmVmIHVzZXJEYXRh
LCBjb25zdCB2b2lkICpjbGllbnRJbmZvKQoreworICAgIGNvbnN0IFFTdHJpbmcgYWJzb2x1dGVM
aW5rVXJsID0gV0tTdHJpbmdDb3B5UVN0cmluZyhXS0hpdFRlc3RSZXN1bHRBYnNvbHV0ZUxpbmtV
UkwoaGl0VGVzdFJlc3VsdCkpOworICAgIGNvbnN0IFFTdHJpbmcgbGlua1RpdGxlID0gV0tTdHJp
bmdDb3B5UVN0cmluZyhXS0hpdFRlc3RSZXN1bHRMaW5rVGl0bGUoaGl0VGVzdFJlc3VsdCkpOwor
ICAgIGNvbnN0IFFTdHJpbmcgdGV4dENvbnRlbnQgPSBXS1N0cmluZ0NvcHlRU3RyaW5nKFdLSGl0
VGVzdFJlc3VsdFRleHRDb250ZW50KGhpdFRlc3RSZXN1bHQpKTsKKworICAgIHRvVmlld0ludGVy
ZmFjZShjbGllbnRJbmZvKS0+ZGlkTW91c2VNb3ZlT3ZlckVsZW1lbnQoYWJzb2x1dGVMaW5rVXJs
LCBsaW5rVGl0bGUsIHRleHRDb250ZW50KTsKK30KKwogc3RhdGljIFF0OjpNb3VzZUJ1dHRvbiB0
b1F0TW91c2VCdXR0b24oV0tFdmVudE1vdXNlQnV0dG9uIGJ1dHRvbikKIHsKICAgICBzd2l0Y2gg
KGJ1dHRvbikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L0NsaWVu
dEltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9DbGllbnRJbXBsLmgKaW5kZXgg
YzY0ZDc4NC4uMDM4M2M3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0
L0NsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvQ2xpZW50SW1w
bC5oCkBAIC00MSw2ICs0MSw3IEBAIHZvaWQgcXRfd2tfZGlkU2FtZURvY3VtZW50TmF2aWdhdGlv
bkZvckZyYW1lKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiwgV0tTYW1lRG9jdW1lCiAvLyB1aSBjbGll
bnQKIHZvaWQgcXRfd2tfc2V0U3RhdHVzVGV4dChXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYg
dGV4dCwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB2b2lkIHF0X3drX3J1bk9wZW5QYW5lbChX
S1BhZ2VSZWYsIFdLRnJhbWVSZWYsIFdLT3BlblBhbmVsUGFyYW1ldGVyc1JlZiwgV0tPcGVuUGFu
ZWxSZXN1bHRMaXN0ZW5lclJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit2b2lkIHF0X3dr
X21vdXNlRGlkTW92ZU92ZXJFbGVtZW50KFdLUGFnZVJlZiwgV0tIaXRUZXN0UmVzdWx0UmVmLCBX
S0V2ZW50TW9kaWZpZXJzLCBXS1R5cGVSZWYsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwogCiAv
LyBQb2xpY3kgY2xpZW50Lgogdm9pZCBxdF93a19kZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0
aW9uKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiwgV0tGcmFtZU5hdmlnYXRpb25UeXBlLCBXS0V2ZW50
TW9kaWZpZXJzLCBXS0V2ZW50TW91c2VCdXR0b24sIFdLVVJMUmVxdWVzdFJlZiwgV0tGcmFtZVBv
bGljeUxpc3RlbmVyUmVmLCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudElu
Zm8pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVBy
b3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQcm94eS5jcHAK
aW5kZXggMGJhNzliYi4uNDZlYzc3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL3F0L1F0V2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
cXQvUXRXZWJQYWdlUHJveHkuY3BwCkBAIC0xNDMsNiArMTQzLDcgQEAgdm9pZCBRdFdlYlBhZ2VQ
cm94eTo6aW5pdCgpCiAgICAgdWlDbGllbnQuY2xpZW50SW5mbyA9IG1fdmlld0ludGVyZmFjZTsK
ICAgICB1aUNsaWVudC5zZXRTdGF0dXNUZXh0ID0gcXRfd2tfc2V0U3RhdHVzVGV4dDsKICAgICB1
aUNsaWVudC5ydW5PcGVuUGFuZWwgPSBxdF93a19ydW5PcGVuUGFuZWw7CisgICAgdWlDbGllbnQu
bW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQgPSBxdF93a19tb3VzZURpZE1vdmVPdmVyRWxlbWVudDsK
ICAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQodG9BUEkobV93ZWJQYWdlUHJveHkuZ2V0KCkpLCAm
dWlDbGllbnQpOwogCiAgICAgaWYgKG1fcG9saWN5SW50ZXJmYWNlKSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvVG91Y2hWaWV3SW50ZXJmYWNlLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvcXQvVG91Y2hWaWV3SW50ZXJmYWNlLmgKaW5kZXggZDdiYWViMC4u
N2JmZTY2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1RvdWNoVmll
d0ludGVyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9Ub3VjaFZpZXdJ
bnRlcmZhY2UuaApAQCAtNzksNiArNzksOCBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCB2b2lk
IGNob29zZUZpbGVzKFdLT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJSZWYsIGNvbnN0IFFTdHJpbmdM
aXN0JiwgRmlsZUNob29zZXJUeXBlKSB7IH0KIAorICAgIHZpcnR1YWwgdm9pZCBkaWRNb3VzZU1v
dmVPdmVyRWxlbWVudChjb25zdCBRU3RyaW5nJiwgY29uc3QgUVN0cmluZyYsIGNvbnN0IFFTdHJp
bmcmKSB7IH0KKwogcHJpdmF0ZToKICAgICBRVG91Y2hXZWJWaWV3KiBjb25zdCBtX3ZpZXdwb3J0
VmlldzsKICAgICBRVG91Y2hXZWJQYWdlKiBjb25zdCBtX3BhZ2VWaWV3OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1ZpZXdJbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9xdC9WaWV3SW50ZXJmYWNlLmgKaW5kZXggNTUxN2NhNC4uMTVkMzY2YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1ZpZXdJbnRlcmZhY2UuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvVmlld0ludGVyZmFjZS5oCkBAIC04Nyw2
ICs4Nyw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFFKU0VuZ2luZSogZW5naW5lKCkgPSAwOwog
CiAgICAgdmlydHVhbCB2b2lkIGNob29zZUZpbGVzKFdLT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJS
ZWYsIGNvbnN0IFFTdHJpbmdMaXN0JiBzZWxlY3RlZEZpbGVOYW1lcywgRmlsZUNob29zZXJUeXBl
KSA9IDA7CisKKyAgICB2aXJ0dWFsIHZvaWQgZGlkTW91c2VNb3ZlT3ZlckVsZW1lbnQoY29uc3Qg
UVN0cmluZyYsIGNvbnN0IFFTdHJpbmcmLCBjb25zdCBRU3RyaW5nJikgPSAwOwogfTsKIAogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDIyMTU4ZDEuLjdmZDdmYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTM5OCw2ICszOTgsOCBAQAogCQk3NjJCNzQ4RDEy
MEJDNzVDMDA4MTkzMzkgLyogV0tQcmVmZXJlbmNlc1ByaXZhdGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2MkI3NDg0MTIwQkJBMkQwMDgxOTMzOSAv
KiBXS1ByZWZlcmVuY2VzUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTc4MDFDMDk5MTQyMjkwQzQwMEZBRjlBRiAvKiBXZWJIaXRUZXN0
UmVzdWx0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDc4MDFDMDk1MTQyMjkwQzQwMEZBRjlBRiAvKiBXZWJIaXRUZXN0UmVzdWx0LmNwcCAqLzsgfTsK
IAkJNzgwMUMwOUExNDIyOTBDNDAwRkFGOUFGIC8qIFdlYkhpdFRlc3RSZXN1bHQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc4MDFDMDk2MTQyMjkwQzQw
MEZBRjlBRiAvKiBXZWJIaXRUZXN0UmVzdWx0LmggKi87IH07CisJCTc4MzIyNTI0MTQyOERGQzIw
MEU2MTMzRiAvKiBXS0hpdFRlc3RSZXN1bHQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzgzMjI1MjIxNDI4REZDMjAwRTYxMzNGIC8qIFdLSGl0VGVz
dFJlc3VsdC5jcHAgKi87IH07CisJCTc4MzIyNTI1MTQyOERGQzIwMEU2MTMzRiAvKiBXS0hpdFRl
c3RSZXN1bHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDc4MzIyNTIzMTQyOERGQzIwMEU2MTMzRiAvKiBXS0hpdFRlc3RSZXN1bHQuaCAqLzsgfTsKIAkJ
OERDMkVGNTMwNDg2QTY5NDAwOThCMjE2IC8qIEluZm9QbGlzdC5zdHJpbmdzIGluIFJlc291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODlDMTY2NkZFODQxMTU4QzAy
QUFDMDcgLyogSW5mb1BsaXN0LnN0cmluZ3MgKi87IH07CiAJCThEQzJFRjU3MDQ4NkE2OTQwMDk4
QjIxNiAvKiBDb2NvYS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxMDU4QzdCMUZFQTU1ODVFMTFDQTJDQkIgLyogQ29jb2EuZnJhbWV3
b3JrICovOyB9OwogCQk5MDk4NTRFQzEyQkM0RTE3MDAwQUQwODAgLyogV2ViTWVtb3J5U2FtcGxl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDU2
MjBFODEyQkMyNDhCMDAwNzk5QjYgLyogV2ViTWVtb3J5U2FtcGxlci5jcHAgKi87IH07CkBAIC0x
MzQzLDYgKzEzNDUsOCBAQAogCQk3NjJCNzQ4NDEyMEJCQTJEMDA4MTkzMzkgLyogV0tQcmVmZXJl
bmNlc1ByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tQcmVmZXJl
bmNlc1ByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzgwMUMwOTUxNDIy
OTBDNDAwRkFGOUFGIC8qIFdlYkhpdFRlc3RSZXN1bHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBuYW1lID0gV2ViSGl0VGVzdFJlc3VsdC5jcHA7IHBhdGggPSBTaGFyZWQvV2Vi
SGl0VGVzdFJlc3VsdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc4MDFDMDk2
MTQyMjkwQzQwMEZBRjlBRiAvKiBXZWJIaXRUZXN0UmVzdWx0LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IFdlYkhpdFRlc3RSZXN1bHQuaDsgcGF0aCA9IFNoYXJlZC9XZWJIaXRU
ZXN0UmVzdWx0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc4MzIyNTIyMTQyOERG
QzIwMEU2MTMzRiAvKiBXS0hpdFRlc3RSZXN1bHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gV0tIaXRUZXN0UmVzdWx0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNzgzMjI1MjMxNDI4REZDMjAwRTYxMzNGIC8qIFdLSGl0VGVzdFJlc3VsdC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0hpdFRlc3RSZXN1bHQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOERDMkVGNUEwNDg2QTY5NDAwOThCMjE2IC8qIEluZm8u
cGxpc3QgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0LnBsaXN0LnhtbDsgcGF0aCA9IEluZm8ucGxpc3Q7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCThEQzJFRjVCMDQ4NkE2OTQwMDk4QjIxNiAvKiBXZWJL
aXQyLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVU
eXBlID0gd3JhcHBlci5mcmFtZXdvcms7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IFdlYktp
dDIuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQk5MDU2
MjBFNTEyQkMyNDc2MDAwNzk5QjYgLyogV2ViTWVtb3J5U2FtcGxlci5tYWMubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgaW5kZW50V2lkdGggPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYk1lbW9y
eVNhbXBsZXIubWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVz
ZXNUYWJzID0gMDsgfTsKQEAgLTI3NjgsNiArMjc3Miw4IEBACiAJCUJDMEMzNzY2MTBGODA3NjYw
MDc2RDdDQiAvKiBDICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgK
KwkJCQk3ODMyMjUyMjE0MjhERkMyMDBFNjEzM0YgLyogV0tIaXRUZXN0UmVzdWx0LmNwcCAqLywK
KwkJCQk3ODMyMjUyMzE0MjhERkMyMDBFNjEzM0YgLyogV0tIaXRUZXN0UmVzdWx0LmggKi8sCiAJ
CQkJNTEyM0NGMTgxMzNEMjVFNjAwNTZGODAwIC8qIGNnICovLAogCQkJCTZFRTg0OUM0MTM2OEQ5
MDQwMDM4RDQ4MSAvKiBtYWMgKi8sCiAJCQkJQkNCNjM0NzcxMTZCRjEwNjAwNjAzMjE1IC8qIFdl
YktpdDIuaCAqLywKQEAgLTM4NTUsNiArMzg2MSw3IEBACiAJCQkJNTI3MkIyOEIxNDA2OTg1RDAw
OTZBNUQwIC8qIFN0YXRpc3RpY3NEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTJCQjZEMTE0
MTE3QjREMDAwRjM1RDQgLyogUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNzgwMUMwOUExNDIyOTBDNDAwRkFGOUFGIC8qIFdlYkhpdFRlc3RSZXN1
bHQuaCBpbiBIZWFkZXJzICovLAorCQkJCTc4MzIyNTI1MTQyOERGQzIwMEU2MTMzRiAvKiBXS0hp
dFRlc3RSZXN1bHQuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3lt
ZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtNDUyNSw2ICs0NTMyLDcgQEAKIAkJCQk1
MjcyQjI4QTE0MDY5ODVEMDA5NkE1RDAgLyogU3RhdGlzdGljc0RhdGEuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMUEyQkI2RDAxNDExN0I0RDAwMEYzNUQ0IC8qIFBsdWdpblByb2Nlc3NDb25uZWN0
aW9uTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTc4MDFDMDk5MTQyMjkw
QzQwMEZBRjlBRiAvKiBXZWJIaXRUZXN0UmVzdWx0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTc4
MzIyNTI0MTQyOERGQzIwMEU2MTMzRiAvKiBXS0hpdFRlc3RSZXN1bHQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJ
CX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyQVBJLnByaSBiL1NvdXJjZS9X
ZWJLaXQyL1dlYktpdDJBUEkucHJpCmluZGV4IDIyMTE4OGMuLjc1MDBjZjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYktpdDJBUEkucHJpCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktp
dDJBUEkucHJpCkBAIC0zMyw2ICszMyw3IEBAIFdFQktJVDJfQVBJX1NPVVJDRVMgPSBcCiAgICAg
JCRTT1VSQ0VfRElSL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLR2VvbG9jYXRpb25NYW5hZ2Vy
LmNwcCBcCiAgICAgJCRTT1VSQ0VfRElSL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLR2VvbG9j
YXRpb25QZXJtaXNzaW9uUmVxdWVzdC5jcHAgXAogICAgICQkU09VUkNFX0RJUi9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS0dlb2xvY2F0aW9uUG9zaXRpb24uY3BwIFwKKyAgICAkJFNPVVJDRV9E
SVIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tIaXRUZXN0UmVzdWx0LmNwcCBcCiAgICAgJCRT
T1VSQ0VfRElSL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLSWNvbkRhdGFiYXNlLmNwcCBcCiAg
ICAgJCRTT1VSQ0VfRElSL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLSW5zcGVjdG9yLmNwcCBc
CiAgICAgJCRTT1VSQ0VfRElSL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLT3BlblBhbmVsUGFy
YW1ldGVycy5jcHAgXApAQCAtMTA3LDYgKzEwOCw3IEBAIFdFQktJVDJfQVBJX0hFQURFUlMgKz0g
XAogICAgICQkU09VUkNFX0RJUi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0dlb2xvY2F0aW9u
TWFuYWdlci5oIFwKICAgICAkJFNPVVJDRV9ESVIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tH
ZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmggXAogICAgICQkU09VUkNFX0RJUi9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS0dlb2xvY2F0aW9uUG9zaXRpb24uaCBcCisgICAgJCRTT1VSQ0Vf
RElSL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLSGl0VGVzdFJlc3VsdC5oIFwKICAgICAkJFNP
VVJDRV9ESVIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tJY29uRGF0YWJhc2UuaCBcCiAgICAg
JCRTT1VSQ0VfRElSL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLSW5zcGVjdG9yLmggXAogICAg
ICQkU09VUkNFX0RJUi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS09wZW5QYW5lbFBhcmFtZXRl
cnMuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2ogYi9T
b3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKaW5kZXggMzMxZWU5Zi4uZTUxODc2YiAx
MDA3NTUKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagpAQCAtMzI0OSw2ICszMjQ5LDE0IEBACiAJCQkJ
CQk+CiAJCQkJCTwvRmlsZT4KIAkJCQkJPEZpbGUKKwkJCQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQ
cm9jZXNzXEFQSVxDXFdLSGl0VGVzdFJlc3VsdC5jcHAiCisJCQkJCQk+CisJCQkJCTwvRmlsZT4K
KwkJCQkJPEZpbGUKKwkJCQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNzXEFQSVxDXFdLSGl0
VGVzdFJlc3VsdC5oIgorCQkJCQkJPgorCQkJCQk8L0ZpbGU+CisJCQkJCTxGaWxlCiAJCQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xBUElcQ1xXS0ljb25EYXRhYmFzZS5jcHAiCiAJCQkJ
CQk+CiAJCQkJCTwvRmlsZT4KLS0gCjEuNy40LjEKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108140</attachid>
            <date>2011-09-21 06:14:28 -0700</date>
            <delta_ts>2011-09-26 17:51:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Qt-WK2-Add-support-for-hover-API-in-Qt-WebKit2.patch</filename>
            <type>text/plain</type>
            <size>24280</size>
            <attacher name="Igor Trindade Oliveira">igor.oliveira</attacher>
            
              <data encoding="base64">RnJvbSA4MGUxZjY1YmUyNDkyZThmNzBmYTRhY2YwZDQ5ZjBlMmFmNDM3ZmZiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBJZ29yIE9saXZlaXJhIDxpZ29yLm9saXZlaXJhQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IFdlZCwgMjEgU2VwIDIwMTEgMDg6NTg6MjAgLTA0MDAKU3ViamVjdDogW1BB
VENIXSBbUXRdW1dLMl0gQWRkIHN1cHBvcnQgZm9yIGhvdmVyIEFQSSBpbiBRdCBXZWJLaXQyCgot
LS0KIFNvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0ICAgICAgICAgICAgICAgICAgICAgIHwg
ICAgMSArCiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8ICAgNDggKysrKysrKysrKysrKysrKysrKysKIFNvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxl
LmFtICAgICAgICAgICAgICAgICAgICAgIHwgICAgMyArCiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViSGl0VGVzdFJlc3VsdC5jcHAgICAgICAgICB8ICAgIDQgKy0KIFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJIaXRUZXN0UmVzdWx0LmggICAgICAgICAgIHwgICAgMyArCiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tIaXRUZXN0UmVzdWx0LmNwcCB8ICAgNDYgKysrKysrKysrKysr
KysrKysrKwogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLSGl0VGVzdFJlc3VsdC5o
ICAgfCAgIDQ1ICsrKysrKysrKysrKysrKysrKwogLi4uL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9x
dC9xZGVza3RvcHdlYnZpZXcuY3BwICAgfCAgIDEyICsrKysrCiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5oICB8ICAgIDEgKwogLi4uL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXdfcC5oICAgfCAgICA2ICsrKwogU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL3F0L0NsaWVudEltcGwuY3BwICAgICAgICAgfCAgIDEwICsrKysKIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9DbGllbnRJbXBsLmggICAgICAgICAgIHwgICAgMSAr
CiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuY3BwICAgICB8ICAg
IDEgKwogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1RvdWNoVmlld0ludGVyZmFjZS5oICAg
fCAgICAyICsKIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9WaWV3SW50ZXJmYWNlLmggICAg
ICAgIHwgICAgMiArCiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogICB8ICAgIDggKysrCiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyQVBJLnByaSAgICAgICAg
ICAgICAgICAgICAgICB8ICAgIDIgKwogLi4uL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcCAgfCAgICAxICsKIFNvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZj
cHJvaiAgICAgICAgICAgICAgICAgIHwgICAgOCArKysKIDE5IGZpbGVzIGNoYW5nZWQsIDIwMyBp
bnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0hpdFRlc3RSZXN1bHQuY3BwCiBjcmVhdGUgbW9kZSAx
MDA2NDQgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLSGl0VGVzdFJlc3VsdC5oCgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViS2l0
Mi9DTWFrZUxpc3RzLnR4dAppbmRleCBkY2JmNzk2Li5jZGQ2NjhlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3Rz
LnR4dApAQCAtMTkyLDYgKzE5Miw3IEBAIFNFVChXZWJLaXQyX1NPVVJDRVMKICAgICBVSVByb2Nl
c3MvQVBJL0MvV0tGcmFtZS5jcHAKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tGcmFtZVBvbGljeUxp
c3RlbmVyLmNwcAogICAgIFVJUHJvY2Vzcy9BUEkvQy9XS0ljb25EYXRhYmFzZS5jcHAKKyAgICBV
SVByb2Nlc3MvQVBJL0MvV0tIaXRUZXN0UmVzdWx0LmNwcAogICAgIFVJUHJvY2Vzcy9BUEkvQy9X
S0luc3BlY3Rvci5jcHAKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tLZXlWYWx1ZVN0b3JhZ2VNYW5h
Z2VyLmNwcAogICAgIFVJUHJvY2Vzcy9BUEkvQy9XS01lZGlhQ2FjaGVNYW5hZ2VyLmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCmluZGV4IGNkMjlhYmEuLmI1ZTgwZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MSBAQAor
MjAxMS0wOS0yMSAgSWdvciBPbGl2ZWlyYSAgPGlnb3Iub2xpdmVpcmFAb3BlbmJvc3NhLm9yZz4K
KworICAgICAgICBbUXRdW1dLMl0gQWRkIHN1cHBvcnQgZm9yIGhvdmVyIEFQSSBpbiBRdCBXZWJL
aXQyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM2
OQorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBzdXBwb3J0IGZvciBob3ZlciBBUEkg
aW4gUURlc2t0b3BXZWJWaWV3LgorICAgICAgICBXaGVuIHRoZSBtb3VzZSBob3ZlcnMgb3ZlciBh
IGxpbmssIFFEZXNrdG9wV2ViVmlldyBzZW5kcyBsaW5rSG92ZXJlZAorICAgICAgICBzaWduYWwu
CisKKyAgICAgICAgQWRkaXRpb25hbGx5LCBBZGQgV0tIaXRUZXN0UmVzdWx0IEMgQVBJIHRoYXQg
aXQgaXMgdXNlZCBieSBDbGllbnRJbXBsLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZp
bGUuYW06CisgICAgICAgICogU2hhcmVkL1dlYkhpdFRlc3RSZXN1bHQuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJIaXRUZXN0UmVzdWx0OjpEYXRhOjplbmNvZGUpOgorICAgICAgICAoV2ViS2l0
OjpXZWJIaXRUZXN0UmVzdWx0OjpEYXRhOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJI
aXRUZXN0UmVzdWx0Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYkhpdFRlc3RSZXN1bHQ6OnRleHRD
b250ZW50KToKKworICAgICAgICBBZGQgbWlzc2luZyBIaXRUZXN0UmVzdWx0IGF0dHJpYnV0ZSB1
c2VkIGJ5IFF0IHBvcnQsIHRleHRDb250ZW50CisgICAgICAgIHByb3ZpZGVzIHRleHQgd2l0aGlu
IHRoZSBsaW5rIGVsZW1lbnQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tIaXRUZXN0
UmVzdWx0LmNwcDogQWRkZWQuCisgICAgICAgIChXS0hpdFRlc3RSZXN1bHRHZXRUeXBlSUQpOgor
ICAgICAgICAoV0tIaXRUZXN0UmVzdWx0QWJzb2x1dGVMaW5rVVJMKToKKyAgICAgICAgKFdLSGl0
VGVzdFJlc3VsdExpbmtUaXRsZSk6CisgICAgICAgIChXS0hpdFRlc3RSZXN1bHRUZXh0Q29udGVu
dCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLSGl0VGVzdFJlc3VsdC5oOiBBZGRlZC4K
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5jcHA6CisgICAgICAg
IChRRGVza3RvcFdlYlZpZXdQcml2YXRlOjpkaWRNb3VzZU1vdmVPdmVyRWxlbWVudCk6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlld19wLmg6CisgICAgICAgICogVUlQcm9jZXNzL3F0
L0NsaWVudEltcGwuY3BwOgorICAgICAgICAocXRfd2tfbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9DbGllbnRJbXBsLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL3F0L1F0V2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFF0V2ViUGFnZVByb3h5Ojppbml0
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvVG91Y2hWaWV3SW50ZXJmYWNlLmg6CisgICAgICAg
IChXZWJLaXQ6OlRvdWNoVmlld0ludGVyZmFjZTo6ZGlkTW91c2VNb3ZlT3ZlckVsZW1lbnQpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9xdC9WaWV3SW50ZXJmYWNlLmg6CisgICAgICAgICogV2ViS2l0
Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYktpdDJBUEkucHJpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50Ojptb3VzZURpZE1vdmVPdmVyRWxlbWVu
dCk6CisgICAgICAgICogd2luL1dlYktpdDIudmNwcm9qOgorCiAyMDExLTA5LTIxICBNYXJrIFJv
d2UgIDxtcm93ZUBhcHBsZS5jb20+CiAKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzk4OTA5MzI+
ICJPcGVuIFBERiBpbiBQcmV2aWV3IiBvbiB0d28gUERGcyBvZiB0aGUgc2FtZSBuYW1lIGRvZXMg
bm90aGluZyB0aGUgc2Vjb25kIHRpbWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0dOVW1h
a2VmaWxlLmFtIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUuYW0KaW5kZXggZTlmN2UyZS4u
NTI1ZjRjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUuYW0KKysrIGIv
U291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUuYW0KQEAgLTQ4LDYgKzQ4LDcgQEAgbGlid2Via2l0
Mmd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9W
RVJTSU9OQF9sYV9IRUEKIAkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XS0Zvcm1TdWJtaXNz
aW9uTGlzdGVuZXIuaCBcCiAJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tGcmFtZS5oIFwK
IAkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XS0ZyYW1lUG9saWN5TGlzdGVuZXIuaCBcCisJ
JChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tIaXRUZXN0UmVzdWx0LmggXAogCSQoV2ViS2l0
MikvVUlQcm9jZXNzL0FQSS9DL1dLSW5zcGVjdG9yLmggXAogCSQoV2ViS2l0MikvVUlQcm9jZXNz
L0FQSS9DL1dLS2V5VmFsdWVTdG9yYWdlTWFuYWdlci5oIFwKIAkkKFdlYktpdDIpL1VJUHJvY2Vz
cy9BUEkvQy9XS01lZGlhQ2FjaGVNYW5hZ2VyLmggXApAQCAtNDEzLDYgKzQxNCw4IEBAIGxpYndl
YmtpdDJndGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlO
T1JfVkVSU0lPTkBfbGFfU09VCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRnJh
bWVQb2xpY3lMaXN0ZW5lci5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tJ
Y29uRGF0YWJhc2UuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tJY29u
RGF0YWJhc2UuaCBcCisJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLSGl0VGVzdFJl
c3VsdC5jcHAgXAorCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0hpdFRlc3RSZXN1
bHQuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLSW5zcGVjdG9yLmNwcCBc
CiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLSW5zcGVjdG9yLmggXAogCVNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0tleVZhbHVlU3RvcmFnZU1hbmFnZXIuY3BwIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJIaXRUZXN0UmVzdWx0LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJIaXRUZXN0UmVzdWx0LmNwcAppbmRleCBmMDRiODQ3
Li4xMWJiM2IxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViSGl0VGVzdFJl
c3VsdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkhpdFRlc3RSZXN1bHQuY3Bw
CkBAIC00MSw2ICs0MSw3IEBAIHZvaWQgV2ViSGl0VGVzdFJlc3VsdDo6RGF0YTo6ZW5jb2RlKENv
cmVJUEM6OkFyZ3VtZW50RW5jb2RlciogZW5jb2RlcikgY29uc3QKICAgICBlbmNvZGVyLT5lbmNv
ZGUoYWJzb2x1dGVNZWRpYVVSTCk7CiAgICAgZW5jb2Rlci0+ZW5jb2RlKGxpbmtMYWJlbCk7CiAg
ICAgZW5jb2Rlci0+ZW5jb2RlKGxpbmtUaXRsZSk7CisgICAgZW5jb2Rlci0+ZW5jb2RlKHRleHRD
b250ZW50KTsKIH0KIAogYm9vbCBXZWJIaXRUZXN0UmVzdWx0OjpEYXRhOjpkZWNvZGUoQ29yZUlQ
Qzo6QXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBXZWJIaXRUZXN0UmVzdWx0OjpEYXRhJiBoaXRU
ZXN0UmVzdWx0RGF0YSkKQEAgLTQ5LDcgKzUwLDggQEAgYm9vbCBXZWJIaXRUZXN0UmVzdWx0OjpE
YXRhOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBXZWJIaXRUZXMK
ICAgICAgICAgfHwgIWRlY29kZXItPmRlY29kZShoaXRUZXN0UmVzdWx0RGF0YS5hYnNvbHV0ZUxp
bmtVUkwpCiAgICAgICAgIHx8ICFkZWNvZGVyLT5kZWNvZGUoaGl0VGVzdFJlc3VsdERhdGEuYWJz
b2x1dGVNZWRpYVVSTCkKICAgICAgICAgfHwgIWRlY29kZXItPmRlY29kZShoaXRUZXN0UmVzdWx0
RGF0YS5saW5rTGFiZWwpCi0gICAgICAgIHx8ICFkZWNvZGVyLT5kZWNvZGUoaGl0VGVzdFJlc3Vs
dERhdGEubGlua1RpdGxlKSkKKyAgICAgICAgfHwgIWRlY29kZXItPmRlY29kZShoaXRUZXN0UmVz
dWx0RGF0YS5saW5rVGl0bGUpCisgICAgICAgIHx8ICFkZWNvZGVyLT5kZWNvZGUoaGl0VGVzdFJl
c3VsdERhdGEudGV4dENvbnRlbnQpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICByZXR1
cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJIaXRUZXN0UmVz
dWx0LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViSGl0VGVzdFJlc3VsdC5oCmluZGV4IDA2
Zjk3MzUuLmYwNmRjOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJIaXRU
ZXN0UmVzdWx0LmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkhpdFRlc3RSZXN1bHQu
aApAQCAtNDcsNiArNDcsNyBAQCBwdWJsaWM6CiAgICAgICAgIFN0cmluZyBhYnNvbHV0ZU1lZGlh
VVJMOwogICAgICAgICBTdHJpbmcgbGlua0xhYmVsOwogICAgICAgICBTdHJpbmcgbGlua1RpdGxl
OworICAgICAgICBTdHJpbmcgdGV4dENvbnRlbnQ7CiAKICAgICAgICAgdm9pZCBlbmNvZGUoQ29y
ZUlQQzo6QXJndW1lbnRFbmNvZGVyKikgY29uc3Q7CiAgICAgICAgIHN0YXRpYyBib29sIGRlY29k
ZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqLCBXZWJIaXRUZXN0UmVzdWx0OjpEYXRhJik7CkBA
IC02MSw2ICs2Miw4IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgbGlua0xhYmVsKCkgY29uc3QgeyBy
ZXR1cm4gbV9kYXRhLmxpbmtMYWJlbDsgfQogICAgIFN0cmluZyBsaW5rVGl0bGUoKSBjb25zdCB7
IHJldHVybiBtX2RhdGEubGlua1RpdGxlOyB9CiAKKyAgICBTdHJpbmcgdGV4dENvbnRlbnQoKSBj
b25zdCB7IHJldHVybiBtX2RhdGEudGV4dENvbnRlbnQ7IH0KKwogcHJpdmF0ZToKICAgICBleHBs
aWNpdCBXZWJIaXRUZXN0UmVzdWx0KGNvbnN0IFdlYkhpdFRlc3RSZXN1bHQ6OkRhdGEmIGhpdFRl
c3RSZXN1bHREYXRhKQogICAgICAgICA6IG1fZGF0YShoaXRUZXN0UmVzdWx0RGF0YSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0hpdFRlc3RSZXN1bHQuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLSGl0VGVzdFJlc3VsdC5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzI0ODQ5MgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0hpdFRlc3RSZXN1bHQuY3BwCkBA
IC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgTm9raWEgQ29ycG9yYXRp
b24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl
cgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxl
IENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3Rv
biwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJXS0hpdFRlc3RSZXN1bHQuaCIKKworI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgorI2luY2x1
ZGUgIldlYkhpdFRlc3RSZXN1bHQuaCIKKwordXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKKworV0tU
eXBlSUQgV0tIaXRUZXN0UmVzdWx0R2V0VHlwZUlEKCkKK3sKKyAgICByZXR1cm4gdG9BUEkoV2Vi
SGl0VGVzdFJlc3VsdDo6QVBJVHlwZSk7Cit9CisKK1dLU3RyaW5nUmVmIFdLSGl0VGVzdFJlc3Vs
dEFic29sdXRlTGlua1VSTChXS0hpdFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3VsdFJlZikKK3sK
KyAgICByZXR1cm4gdG9Db3BpZWRBUEkodG9JbXBsKGhpdFRlc3RSZXN1bHRSZWYpLT5hYnNvbHV0
ZUxpbmtVUkwoKSk7Cit9CisKK1dLU3RyaW5nUmVmIFdLSGl0VGVzdFJlc3VsdExpbmtUaXRsZShX
S0hpdFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3VsdFJlZikKK3sKKyAgICByZXR1cm4gdG9Db3Bp
ZWRBUEkodG9JbXBsKGhpdFRlc3RSZXN1bHRSZWYpLT5saW5rVGl0bGUoKSk7Cit9CisKK1dLU3Ry
aW5nUmVmIFdLSGl0VGVzdFJlc3VsdFRleHRDb250ZW50KFdLSGl0VGVzdFJlc3VsdFJlZiBoaXRU
ZXN0UmVzdWx0UmVmKQoreworICAgIHJldHVybiB0b0NvcGllZEFQSSh0b0ltcGwoaGl0VGVzdFJl
c3VsdFJlZiktPnRleHRDb250ZW50KCkpOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLSGl0VGVzdFJlc3VsdC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLSGl0VGVzdFJlc3VsdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLmM2YWY4NzQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tIaXRUZXN0UmVzdWx0LmgKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMSBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWll
cykKKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
CisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRl
IHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT
dHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8K
KworI2lmbmRlZiBXS0hpdFRlc3RSZXN1bHRfaAorI2RlZmluZSBXS0hpdFRlc3RSZXN1bHRfaAor
CisjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4KKworI2lmbmRlZiBfX2NwbHVzcGx1cworI2lu
Y2x1ZGUgPHN0ZGJvb2wuaD4KKyNlbmRpZgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAi
QyIgeworI2VuZGlmCisKK1dLX0VYUE9SVCBXS1R5cGVJRCBXS0hpdFRlc3RSZXN1bHRHZXRUeXBl
SUQoKTsKKworV0tfRVhQT1JUIFdLU3RyaW5nUmVmIFdLSGl0VGVzdFJlc3VsdEFic29sdXRlTGlu
a1VSTChXS0hpdFRlc3RSZXN1bHRSZWYpOworCitXS19FWFBPUlQgV0tTdHJpbmdSZWYgV0tIaXRU
ZXN0UmVzdWx0TGlua1RpdGxlKFdLSGl0VGVzdFJlc3VsdFJlZik7CisKK1dLX0VYUE9SVCBXS1N0
cmluZ1JlZiBXS0hpdFRlc3RSZXN1bHRUZXh0Q29udGVudChXS0hpdFRlc3RSZXN1bHRSZWYpOwor
CisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogV0tIaXRUZXN0UmVz
dWx0X2ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRl
c2t0b3B3ZWJ2aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0
b3B3ZWJ2aWV3LmNwcAppbmRleCA5ZGY4YTBmLi5hN2NiNGI0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuY3BwCkBAIC00MzEsNiAr
NDMxLDE4IEBAIHZvaWQgUURlc2t0b3BXZWJWaWV3UHJpdmF0ZTo6b25PcGVuUGFuZWxGaW5pc2hl
ZChpbnQgcmVzdWx0KQogICAgIGZpbGVEaWFsb2cgPSAwOwogfQogCit2b2lkIFFEZXNrdG9wV2Vi
Vmlld1ByaXZhdGU6OmRpZE1vdXNlTW92ZU92ZXJFbGVtZW50KGNvbnN0IFFTdHJpbmcmIGFic29s
dXRlTGlua1VSTCwgY29uc3QgUVN0cmluZyYgbGlua1RpdGxlLCBjb25zdCBRU3RyaW5nJiB0ZXh0
Q29udGVudCkKK3sKKyAgICBpZiAoYWJzb2x1dGVMaW5rVVJMICE9IGxhc3RIb3ZlclVSTAorICAg
ICAgICB8fCBsaW5rVGl0bGUgIT0gbGFzdEhvdmVyVGl0bGUKKyAgICAgICAgfHwgdGV4dENvbnRl
bnQgIT0gbGFzdEhvdmVyQ29udGVudCkgeworICAgICAgICBsYXN0SG92ZXJVUkwgPSBhYnNvbHV0
ZUxpbmtVUkw7CisgICAgICAgIGxhc3RIb3ZlclRpdGxlID0gbGlua1RpdGxlOworICAgICAgICBs
YXN0SG92ZXJDb250ZW50ID0gdGV4dENvbnRlbnQ7CisgICAgICAgIGVtaXQgcS0+bGlua0hvdmVy
ZWQobGFzdEhvdmVyVVJMLCBsYXN0SG92ZXJUaXRsZSwgbGFzdEhvdmVyQ29udGVudCk7CisgICAg
fQorfQorCiBzdGF0aWMgUG9saWN5SW50ZXJmYWNlOjpQb2xpY3lBY3Rpb24gdG9Qb2xpY3lBY3Rp
b24oUURlc2t0b3BXZWJWaWV3OjpOYXZpZ2F0aW9uUG9saWN5IHBvbGljeSkKIHsKICAgICBzd2l0
Y2ggKHBvbGljeSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9x
dC9xZGVza3RvcHdlYnZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRl
c2t0b3B3ZWJ2aWV3LmgKaW5kZXggMWRhMWQ3Ny4uODdmNzJlYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5oCkBAIC04OCw2ICs4OCw3
IEBAIFFfU0lHTkFMUzoKICAgICB2b2lkIGxvYWRGYWlsZWQoUURlc2t0b3BXZWJWaWV3OjpFcnJv
clR5cGUgZXJyb3JUeXBlLCBpbnQgZXJyb3JDb2RlLCBjb25zdCBRVXJsJiB1cmwpOwogICAgIHZv
aWQgbG9hZFByb2dyZXNzQ2hhbmdlZChpbnQgcHJvZ3Jlc3MpOwogICAgIHZvaWQgdXJsQ2hhbmdl
ZChjb25zdCBRVXJsJik7CisgICAgdm9pZCBsaW5rSG92ZXJlZChjb25zdCBRU3RyaW5nICZsaW5r
LCBjb25zdCBRU3RyaW5nICZ0aXRsZSwgY29uc3QgUVN0cmluZyAmdGV4dENvbnRlbnQpOwogCiBw
cm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGtleVByZXNzRXZlbnQoUUtleUV2ZW50Kik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmll
d19wLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlld19w
LmgKaW5kZXggNDNiN2RkMi4uYTgzZWU5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXdfcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3X3AuaApAQCAtODQsNiArODQsOCBAQCBwcml2
YXRlOgogCiAgICAgdmlydHVhbCB2b2lkIGNob29zZUZpbGVzKFdLT3BlblBhbmVsUmVzdWx0TGlz
dGVuZXJSZWYsIGNvbnN0IFFTdHJpbmdMaXN0JiBzZWxlY3RlZEZpbGVOYW1lcywgVmlld0ludGVy
ZmFjZTo6RmlsZUNob29zZXJUeXBlKTsKIAorICAgIHZpcnR1YWwgdm9pZCBkaWRNb3VzZU1vdmVP
dmVyRWxlbWVudChjb25zdCBRU3RyaW5nJiwgY29uc3QgUVN0cmluZyYsIGNvbnN0IFFTdHJpbmcm
KTsKKwogICAgIC8vIFBvbGljeUludGVyZmFjZS4KICAgICB2aXJ0dWFsIFBvbGljeUludGVyZmFj
ZTo6UG9saWN5QWN0aW9uIG5hdmlnYXRpb25Qb2xpY3lGb3JVUkwoY29uc3QgUVVybCYsIFF0OjpN
b3VzZUJ1dHRvbiwgUXQ6OktleWJvYXJkTW9kaWZpZXJzKTsKIApAQCAtOTEsNiArOTMsMTAgQEAg
cHJpdmF0ZToKIAogICAgIFFGaWxlRGlhbG9nKiBmaWxlRGlhbG9nOwogICAgIFdLT3BlblBhbmVs
UmVzdWx0TGlzdGVuZXJSZWYgb3BlblBhbmVsUmVzdWx0TGlzdGVuZXI7CisKKyAgICBRU3RyaW5n
IGxhc3RIb3ZlclVSTDsKKyAgICBRU3RyaW5nIGxhc3RIb3ZlclRpdGxlOworICAgIFFTdHJpbmcg
bGFzdEhvdmVyQ29udGVudDsKIH07CiAKICNlbmRpZiAvKiBxZGVza3RvcHdlYnZpZXdfcF9oICov
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvQ2xpZW50SW1wbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvQ2xpZW50SW1wbC5jcHAKaW5kZXggNzE5MWU0
Zi4uNmYyMWE2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L0NsaWVu
dEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9DbGllbnRJbXBsLmNw
cApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgPFdLQXJyYXkuaD4KICNpbmNsdWRlIDxXS0Zy
YW1lLmg+CiAjaW5jbHVkZSA8V0tGcmFtZVBvbGljeUxpc3RlbmVyLmg+CisjaW5jbHVkZSA8V0tI
aXRUZXN0UmVzdWx0Lmg+CiAjaW5jbHVkZSA8V0tPcGVuUGFuZWxQYXJhbWV0ZXJzLmg+CiAjaW5j
bHVkZSA8V0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lci5oPgogI2luY2x1ZGUgPFdLVHlwZS5oPgpA
QCAtMTYzLDYgKzE2NCwxNSBAQCB2b2lkIHF0X3drX3J1bk9wZW5QYW5lbChXS1BhZ2VSZWYsIFdL
RnJhbWVSZWYsIFdLT3BlblBhbmVsUGFyYW1ldGVyc1JlZiBwYXJhbWV0ZQogICAgIHRvVmlld0lu
dGVyZmFjZShjbGllbnRJbmZvKS0+Y2hvb3NlRmlsZXMobGlzdGVuZXIsIHNlbGVjdGVkRmlsZU5h
bWVzLCBhbGxvd011bHRpcGxlRmlsZXMpOwogfQogCit2b2lkIHF0X3drX21vdXNlRGlkTW92ZU92
ZXJFbGVtZW50KFdLUGFnZVJlZiBwYWdlLCBXS0hpdFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3Vs
dCwgV0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qg
dm9pZCAqY2xpZW50SW5mbykKK3sKKyAgICBjb25zdCBRU3RyaW5nIGFic29sdXRlTGlua1VybCA9
IFdLU3RyaW5nQ29weVFTdHJpbmcoV0tIaXRUZXN0UmVzdWx0QWJzb2x1dGVMaW5rVVJMKGhpdFRl
c3RSZXN1bHQpKTsKKyAgICBjb25zdCBRU3RyaW5nIGxpbmtUaXRsZSA9IFdLU3RyaW5nQ29weVFT
dHJpbmcoV0tIaXRUZXN0UmVzdWx0TGlua1RpdGxlKGhpdFRlc3RSZXN1bHQpKTsKKyAgICBjb25z
dCBRU3RyaW5nIHRleHRDb250ZW50ID0gV0tTdHJpbmdDb3B5UVN0cmluZyhXS0hpdFRlc3RSZXN1
bHRUZXh0Q29udGVudChoaXRUZXN0UmVzdWx0KSk7CisKKyAgICB0b1ZpZXdJbnRlcmZhY2UoY2xp
ZW50SW5mbyktPmRpZE1vdXNlTW92ZU92ZXJFbGVtZW50KGFic29sdXRlTGlua1VybCwgbGlua1Rp
dGxlLCB0ZXh0Q29udGVudCk7Cit9CisKIHN0YXRpYyBRdDo6TW91c2VCdXR0b24gdG9RdE1vdXNl
QnV0dG9uKFdLRXZlbnRNb3VzZUJ1dHRvbiBidXR0b24pCiB7CiAgICAgc3dpdGNoIChidXR0b24p
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9DbGllbnRJbXBsLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvQ2xpZW50SW1wbC5oCmluZGV4IGM2NGQ3ODQu
LjAzODNjN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9DbGllbnRJ
bXBsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L0NsaWVudEltcGwuaApAQCAt
NDEsNiArNDEsNyBAQCB2b2lkIHF0X3drX2RpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JGcmFt
ZShXS1BhZ2VSZWYsIFdLRnJhbWVSZWYsIFdLU2FtZURvY3VtZQogLy8gdWkgY2xpZW50CiB2b2lk
IHF0X3drX3NldFN0YXR1c1RleHQoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIHRleHQsIGNv
bnN0IHZvaWQgKmNsaWVudEluZm8pOwogdm9pZCBxdF93a19ydW5PcGVuUGFuZWwoV0tQYWdlUmVm
LCBXS0ZyYW1lUmVmLCBXS09wZW5QYW5lbFBhcmFtZXRlcnNSZWYsIFdLT3BlblBhbmVsUmVzdWx0
TGlzdGVuZXJSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwordm9pZCBxdF93a19tb3VzZURp
ZE1vdmVPdmVyRWxlbWVudChXS1BhZ2VSZWYsIFdLSGl0VGVzdFJlc3VsdFJlZiwgV0tFdmVudE1v
ZGlmaWVycywgV0tUeXBlUmVmLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKIAogLy8gUG9saWN5
IGNsaWVudC4KIHZvaWQgcXRfd2tfZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihXS1Bh
Z2VSZWYsIFdLRnJhbWVSZWYsIFdLRnJhbWVOYXZpZ2F0aW9uVHlwZSwgV0tFdmVudE1vZGlmaWVy
cywgV0tFdmVudE1vdXNlQnV0dG9uLCBXS1VSTFJlcXVlc3RSZWYsIFdLRnJhbWVQb2xpY3lMaXN0
ZW5lclJlZiwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQcm94eS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuY3BwCmluZGV4IDE0
M2YxYzQuLmYzZDVhMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9R
dFdlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2Vi
UGFnZVByb3h5LmNwcApAQCAtMTQzLDYgKzE0Myw3IEBAIHZvaWQgUXRXZWJQYWdlUHJveHk6Omlu
aXQoKQogICAgIHVpQ2xpZW50LmNsaWVudEluZm8gPSBtX3ZpZXdJbnRlcmZhY2U7CiAgICAgdWlD
bGllbnQuc2V0U3RhdHVzVGV4dCA9IHF0X3drX3NldFN0YXR1c1RleHQ7CiAgICAgdWlDbGllbnQu
cnVuT3BlblBhbmVsID0gcXRfd2tfcnVuT3BlblBhbmVsOworICAgIHVpQ2xpZW50Lm1vdXNlRGlk
TW92ZU92ZXJFbGVtZW50ID0gcXRfd2tfbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQ7CiAgICAgV0tQ
YWdlU2V0UGFnZVVJQ2xpZW50KHRvQVBJKG1fd2ViUGFnZVByb3h5LmdldCgpKSwgJnVpQ2xpZW50
KTsKIAogICAgIGlmIChtX3BvbGljeUludGVyZmFjZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL3F0L1RvdWNoVmlld0ludGVyZmFjZS5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL3F0L1RvdWNoVmlld0ludGVyZmFjZS5oCmluZGV4IGY2Mzk3ZjQuLjI5MjU1ZGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9Ub3VjaFZpZXdJbnRlcmZh
Y2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvVG91Y2hWaWV3SW50ZXJmYWNl
LmgKQEAgLTc5LDYgKzc5LDggQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgdm9pZCBjaG9vc2VG
aWxlcyhXS09wZW5QYW5lbFJlc3VsdExpc3RlbmVyUmVmLCBjb25zdCBRU3RyaW5nTGlzdCYsIEZp
bGVDaG9vc2VyVHlwZSkgeyB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgZGlkTW91c2VNb3ZlT3ZlckVs
ZW1lbnQoY29uc3QgUVN0cmluZyYsIGNvbnN0IFFTdHJpbmcmLCBjb25zdCBRU3RyaW5nJikgeyB9
CisKIHByaXZhdGU6CiAgICAgUVRvdWNoV2ViVmlldyogY29uc3QgbV92aWV3cG9ydFZpZXc7CiAg
ICAgUVRvdWNoV2ViUGFnZSogY29uc3QgbV9wYWdlVmlldzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9xdC9WaWV3SW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvcXQvVmlld0ludGVyZmFjZS5oCmluZGV4IDI0Yzc5MzIuLjhhYWMxOWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9WaWV3SW50ZXJmYWNlLmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1ZpZXdJbnRlcmZhY2UuaApAQCAtODgsNiArODgsOCBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCBRSlNFbmdpbmUqIGVuZ2luZSgpID0gMDsKIAogICAgIHZp
cnR1YWwgdm9pZCBjaG9vc2VGaWxlcyhXS09wZW5QYW5lbFJlc3VsdExpc3RlbmVyUmVmLCBjb25z
dCBRU3RyaW5nTGlzdCYgc2VsZWN0ZWRGaWxlTmFtZXMsIEZpbGVDaG9vc2VyVHlwZSkgPSAwOwor
CisgICAgdmlydHVhbCB2b2lkIGRpZE1vdXNlTW92ZU92ZXJFbGVtZW50KGNvbnN0IFFTdHJpbmcm
LCBjb25zdCBRU3RyaW5nJiwgY29uc3QgUVN0cmluZyYpID0gMDsKIH07CiAKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAyMjE1
OGQxLi43ZmQ3ZmFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC0zOTgsNiArMzk4LDggQEAKIAkJNzYyQjc0OEQxMjBCQzc1QzAw
ODE5MzM5IC8qIFdLUHJlZmVyZW5jZXNQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NjJCNzQ4NDEyMEJCQTJEMDA4MTkzMzkgLyogV0tQcmVm
ZXJlbmNlc1ByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk3ODAxQzA5OTE0MjI5MEM0MDBGQUY5QUYgLyogV2ViSGl0VGVzdFJlc3VsdC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3ODAxQzA5
NTE0MjI5MEM0MDBGQUY5QUYgLyogV2ViSGl0VGVzdFJlc3VsdC5jcHAgKi87IH07CiAJCTc4MDFD
MDlBMTQyMjkwQzQwMEZBRjlBRiAvKiBXZWJIaXRUZXN0UmVzdWx0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3ODAxQzA5NjE0MjI5MEM0MDBGQUY5QUYg
LyogV2ViSGl0VGVzdFJlc3VsdC5oICovOyB9OworCQk3ODMyMjUyNDE0MjhERkMyMDBFNjEzM0Yg
LyogV0tIaXRUZXN0UmVzdWx0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDc4MzIyNTIyMTQyOERGQzIwMEU2MTMzRiAvKiBXS0hpdFRlc3RSZXN1bHQu
Y3BwICovOyB9OworCQk3ODMyMjUyNTE0MjhERkMyMDBFNjEzM0YgLyogV0tIaXRUZXN0UmVzdWx0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3ODMyMjUy
MzE0MjhERkMyMDBFNjEzM0YgLyogV0tIaXRUZXN0UmVzdWx0LmggKi87IH07CiAJCThEQzJFRjUz
MDQ4NkE2OTQwMDk4QjIxNiAvKiBJbmZvUGxpc3Quc3RyaW5ncyBpbiBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg5QzE2NjZGRTg0MTE1OEMwMkFBQzA3IC8q
IEluZm9QbGlzdC5zdHJpbmdzICovOyB9OwogCQk4REMyRUY1NzA0ODZBNjk0MDA5OEIyMTYgLyog
Q29jb2EuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMTA1OEM3QjFGRUE1NTg1RTExQ0EyQ0JCIC8qIENvY29hLmZyYW1ld29yayAqLzsg
fTsKIAkJOTA5ODU0RUMxMkJDNEUxNzAwMEFEMDgwIC8qIFdlYk1lbW9yeVNhbXBsZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTA1NjIwRTgxMkJD
MjQ4QjAwMDc5OUI2IC8qIFdlYk1lbW9yeVNhbXBsZXIuY3BwICovOyB9OwpAQCAtMTM0Myw2ICsx
MzQ1LDggQEAKIAkJNzYyQjc0ODQxMjBCQkEyRDAwODE5MzM5IC8qIFdLUHJlZmVyZW5jZXNQcml2
YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLUHJlZmVyZW5jZXNQcml2
YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc4MDFDMDk1MTQyMjkwQzQwMEZB
RjlBRiAvKiBXZWJIaXRUZXN0UmVzdWx0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbmFtZSA9IFdlYkhpdFRlc3RSZXN1bHQuY3BwOyBwYXRoID0gU2hhcmVkL1dlYkhpdFRlc3RS
ZXN1bHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3ODAxQzA5NjE0MjI5MEM0
MDBGQUY5QUYgLyogV2ViSGl0VGVzdFJlc3VsdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBXZWJIaXRUZXN0UmVzdWx0Lmg7IHBhdGggPSBTaGFyZWQvV2ViSGl0VGVzdFJlc3Vs
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3ODMyMjUyMjE0MjhERkMyMDBFNjEz
M0YgLyogV0tIaXRUZXN0UmVzdWx0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFdLSGl0VGVzdFJlc3VsdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTc4MzIyNTIzMTQyOERGQzIwMEU2MTMzRiAvKiBXS0hpdFRlc3RSZXN1bHQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tIaXRUZXN0UmVzdWx0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCThEQzJFRjVBMDQ4NkE2OTQwMDk4QjIxNiAvKiBJbmZvLnBsaXN0ICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dC5wbGlzdC54bWw7IHBhdGggPSBJbmZvLnBsaXN0OyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk4REMyRUY1QjA0ODZBNjk0MDA5OEIyMTYgLyogV2ViS2l0Mi5mcmFt
ZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHdy
YXBwZXIuZnJhbWV3b3JrOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSBXZWJLaXQyLmZyYW1l
d29yazsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJOTA1NjIwRTUxMkJD
MjQ3NjAwMDc5OUI2IC8qIFdlYk1lbW9yeVNhbXBsZXIubWFjLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJNZW1vcnlTYW1wbGVy
Lm1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9
IDA7IH07CkBAIC0yNzY4LDYgKzI3NzIsOCBAQAogCQlCQzBDMzc2NjEwRjgwNzY2MDA3NkQ3Q0Ig
LyogQyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNzgz
MjI1MjIxNDI4REZDMjAwRTYxMzNGIC8qIFdLSGl0VGVzdFJlc3VsdC5jcHAgKi8sCisJCQkJNzgz
MjI1MjMxNDI4REZDMjAwRTYxMzNGIC8qIFdLSGl0VGVzdFJlc3VsdC5oICovLAogCQkJCTUxMjND
RjE4MTMzRDI1RTYwMDU2RjgwMCAvKiBjZyAqLywKIAkJCQk2RUU4NDlDNDEzNjhEOTA0MDAzOEQ0
ODEgLyogbWFjICovLAogCQkJCUJDQjYzNDc3MTE2QkYxMDYwMDYwMzIxNSAvKiBXZWJLaXQyLmgg
Ki8sCkBAIC0zODU1LDYgKzM4NjEsNyBAQAogCQkJCTUyNzJCMjhCMTQwNjk4NUQwMDk2QTVEMCAv
KiBTdGF0aXN0aWNzRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEyQkI2RDExNDExN0I0RDAw
MEYzNUQ0IC8qIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZXMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTc4MDFDMDlBMTQyMjkwQzQwMEZBRjlBRiAvKiBXZWJIaXRUZXN0UmVzdWx0LmggaW4g
SGVhZGVycyAqLywKKwkJCQk3ODMyMjUyNTE0MjhERkMyMDBFNjEzM0YgLyogV0tIaXRUZXN0UmVz
dWx0LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rw
cm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTQ1MjUsNiArNDUzMiw3IEBACiAJCQkJNTI3MkIyOEEx
NDA2OTg1RDAwOTZBNUQwIC8qIFN0YXRpc3RpY3NEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTFBMkJCNkQwMTQxMTdCNEQwMDBGMzVENCAvKiBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3ODAxQzA5OTE0MjI5MEM0MDBGQUY5
QUYgLyogV2ViSGl0VGVzdFJlc3VsdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3ODMyMjUyNDE0
MjhERkMyMDBFNjEzM0YgLyogV0tIaXRUZXN0UmVzdWx0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0MkFQSS5wcmkgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJLaXQyQVBJLnByaQppbmRleCAyMjExODhjLi43NTAwY2Y1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJLaXQyQVBJLnByaQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyQVBJLnBy
aQpAQCAtMzMsNiArMzMsNyBAQCBXRUJLSVQyX0FQSV9TT1VSQ0VTID0gXAogICAgICQkU09VUkNF
X0RJUi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0dlb2xvY2F0aW9uTWFuYWdlci5jcHAgXAog
ICAgICQkU09VUkNFX0RJUi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0dlb2xvY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3QuY3BwIFwKICAgICAkJFNPVVJDRV9ESVIvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tHZW9sb2NhdGlvblBvc2l0aW9uLmNwcCBcCisgICAgJCRTT1VSQ0VfRElSL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLSGl0VGVzdFJlc3VsdC5jcHAgXAogICAgICQkU09VUkNFX0RJ
Ui9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0ljb25EYXRhYmFzZS5jcHAgXAogICAgICQkU09V
UkNFX0RJUi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0luc3BlY3Rvci5jcHAgXAogICAgICQk
U09VUkNFX0RJUi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS09wZW5QYW5lbFBhcmFtZXRlcnMu
Y3BwIFwKQEAgLTEwNyw2ICsxMDgsNyBAQCBXRUJLSVQyX0FQSV9IRUFERVJTICs9IFwKICAgICAk
JFNPVVJDRV9ESVIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tHZW9sb2NhdGlvbk1hbmFnZXIu
aCBcCiAgICAgJCRTT1VSQ0VfRElSL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLR2VvbG9jYXRp
b25QZXJtaXNzaW9uUmVxdWVzdC5oIFwKICAgICAkJFNPVVJDRV9ESVIvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tHZW9sb2NhdGlvblBvc2l0aW9uLmggXAorICAgICQkU09VUkNFX0RJUi9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0hpdFRlc3RSZXN1bHQuaCBcCiAgICAgJCRTT1VSQ0VfRElS
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLSWNvbkRhdGFiYXNlLmggXAogICAgICQkU09VUkNF
X0RJUi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0luc3BlY3Rvci5oIFwKICAgICAkJFNPVVJD
RV9ESVIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tPcGVuUGFuZWxQYXJhbWV0ZXJzLmggXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDU2ODQ1NWUuLjJlY2M1OTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHAKQEAgLTUwMiw2ICs1MDIsNyBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6
bW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQoY29uc3QgSGl0VGVzdFJlc3VsdCYgaGl0VGVzdFJlc3Vs
dAogICAgIHdlYkhpdFRlc3RSZXN1bHREYXRhLmFic29sdXRlTWVkaWFVUkwgPSBoaXRUZXN0UmVz
dWx0LmFic29sdXRlTWVkaWFVUkwoKS5zdHJpbmcoKTsKICAgICB3ZWJIaXRUZXN0UmVzdWx0RGF0
YS5saW5rTGFiZWwgPSBoaXRUZXN0UmVzdWx0LnRleHRDb250ZW50KCk7CiAgICAgd2ViSGl0VGVz
dFJlc3VsdERhdGEubGlua1RpdGxlID0gaGl0VGVzdFJlc3VsdC50aXRsZURpc3BsYXlTdHJpbmco
KTsKKyAgICB3ZWJIaXRUZXN0UmVzdWx0RGF0YS50ZXh0Q29udGVudCA9IGhpdFRlc3RSZXN1bHQu
dGV4dENvbnRlbnQoKTsKIAogICAgIC8vIE5vdGlmeSB0aGUgVUlQcm9jZXNzLgogICAgIG1fcGFn
ZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpNb3VzZURpZE1vdmVPdmVyRWxlbWVudCh3
ZWJIaXRUZXN0UmVzdWx0RGF0YSwgbW9kaWZpZXJGbGFncywgSW5qZWN0ZWRCdW5kbGVVc2VyTWVz
c2FnZUVuY29kZXIodXNlckRhdGEuZ2V0KCkpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi93aW4vV2ViS2l0Mi52Y3Byb2ogYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oK
aW5kZXggMzMxZWU5Zi4uZTUxODc2YiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dl
YktpdDIudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagpAQCAt
MzI0OSw2ICszMjQ5LDE0IEBACiAJCQkJCQk+CiAJCQkJCTwvRmlsZT4KIAkJCQkJPEZpbGUKKwkJ
CQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNzXEFQSVxDXFdLSGl0VGVzdFJlc3VsdC5jcHAi
CisJCQkJCQk+CisJCQkJCTwvRmlsZT4KKwkJCQkJPEZpbGUKKwkJCQkJCVJlbGF0aXZlUGF0aD0i
Li5cVUlQcm9jZXNzXEFQSVxDXFdLSGl0VGVzdFJlc3VsdC5oIgorCQkJCQkJPgorCQkJCQk8L0Zp
bGU+CisJCQkJCTxGaWxlCiAJCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xBUElcQ1xX
S0ljb25EYXRhYmFzZS5jcHAiCiAJCQkJCQk+CiAJCQkJCTwvRmlsZT4KLS0gCjEuNy40LjEKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108767</attachid>
            <date>2011-09-26 17:51:56 -0700</date>
            <delta_ts>2011-09-27 06:27:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68369-20110926215159.patch</filename>
            <type>text/plain</type>
            <size>14741</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTYwNTQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBmM2YwMGFmMTlkYjJhYWU2
ZjM4ZTM5NjQ1ZGRmNjBlNTU3YjJhNWE3Li43NzJmNjkxMDEzMmZkNDg2ZmIzM2Y5OTM0YmMzMWY2
NWVhZGIyZjczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzkgQEAKIDIwMTEtMDktMjYgIENhaW8g
TWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3BlbmJvc3NhLm9yZz4K
IAorICAgICAgICBbUXRdW1dLMl0gQWRkIHN1cHBvcnQgZm9yIGhvdmVyIEFQSSBpbiBRdCBXZWJL
aXQyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM2
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJhc2Vk
IG9uIHRoZSBwYXRjaCBmcm9tIElnb3IgT2xpdmVpcmEgaW4gdGhlIHNhbWUgYnVnLgorCisgICAg
ICAgIEV4cG9zZSBhIGxpbmtIb3ZlcmVkKCkgc2lnbmFsIGluIFFEZXNrdG9wV2ViVmlldywgdGhh
dCBwYXNzZXMgdGhlIFFVcmwgYW5kIHRoZQorICAgICAgICBRU3RyaW5nIGNvcnJlc3BvbmRpbmcg
dG8gdGhlIGxpbmsgdGl0bGUuIEkgbGVmdCB0ZXh0Q29udGVudCBvdXQgYmVjYXVzZSB3YXMKKyAg
ICAgICAgdW5zdXJlIG9mIGl0cyB1c2UgY2FzZS4KKworICAgICAgICBJbiBRRGVza3RvcFdlYlZp
ZXcgd2Ugc3RvcmUgdGhlIGxhc3QgVVJMIGFuZCB0aXRsZSBlbWl0dGVkIHRvIG1ha2Ugc3VyZSB3
ZSBzZW5kCisgICAgICAgIHRoZSBzaWduYWwgb25seSBpZiBlaXRoZXIgdmFsdWUgY2hhbmdlcy4g
VGVzdHMgd2VyZSBhZGRlZCB0byB0aGUgUU1MIGVsZW1lbnQgdG8KKyAgICAgICAgY2hlY2s6IGlm
IHZhbHVlcyBhcmUgY29ycmVjdGx5IGVtaXR0ZWQgYW5kIGlmIHdlIGRvbid0IGVtaXQgbW9yZSBz
aWduYWxzIHRoYW4KKyAgICAgICAgbmVjZXNzYXJ5LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9xdC9xZGVza3RvcHdlYnZpZXcuY3BwOgorICAgICAgICAoUURlc2t0b3BXZWJWaWV3UHJpdmF0
ZTo6ZGlkTW91c2VNb3ZlT3ZlckVsZW1lbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQv
cWRlc2t0b3B3ZWJ2aWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdl
YnZpZXdfcC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvRGVz
a3RvcFdlYlZpZXcvdHN0X2xpbmtIb3ZlcmVkLnFtbDogQWRkZWQuCisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9jb21tb24vdGVzdDIuaHRtbDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL3FtbHRlc3RzLnBybzoKKyAgICAgICAgKiBV
SVByb2Nlc3MvcXQvQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChxdF93a19tb3VzZURpZE1vdmVP
dmVyRWxlbWVudCk6CisgICAgICAgICogVUlQcm9jZXNzL3F0L0NsaWVudEltcGwuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoUXRXZWJQYWdl
UHJveHk6OmluaXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9Ub3VjaFZpZXdJbnRlcmZhY2Uu
aDoKKyAgICAgICAgKFdlYktpdDo6VG91Y2hWaWV3SW50ZXJmYWNlOjpkaWRNb3VzZU1vdmVPdmVy
RWxlbWVudCk6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1ZpZXdJbnRlcmZhY2UuaDoKKworMjAx
MS0wOS0yNiAgQ2FpbyBNYXJjZWxvIGRlIE9saXZlaXJhIEZpbGhvICA8Y2Fpby5vbGl2ZWlyYUBv
cGVuYm9zc2Eub3JnPgorCiAgICAgICAgIFtRdF0gW1dLMl0gRml4IGJ1aWxkIGFmdGVyIHI5NTk4
MgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg4NDIK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdl
YnZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZp
ZXcuY3BwCmluZGV4IDlkZjhhMGY5NmIzOGFlYzNkYThmNjg2YzM2OTAxODJkYjZiYTNhYjcuLmQ3
MDNjYmRiNDY4ZWRkYmQzNTQwNjMxMTBhOTFlZDk0Y2RjZDJjN2IgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5jcHAKQEAgLTQzMSw2
ICs0MzEsMTUgQEAgdm9pZCBRRGVza3RvcFdlYlZpZXdQcml2YXRlOjpvbk9wZW5QYW5lbEZpbmlz
aGVkKGludCByZXN1bHQpCiAgICAgZmlsZURpYWxvZyA9IDA7CiB9CiAKK3ZvaWQgUURlc2t0b3BX
ZWJWaWV3UHJpdmF0ZTo6ZGlkTW91c2VNb3ZlT3ZlckVsZW1lbnQoY29uc3QgUVVybCYgbGlua1VS
TCwgY29uc3QgUVN0cmluZyYgbGlua1RpdGxlKQoreworICAgIGlmIChsaW5rVVJMICE9IGxhc3RI
b3ZlcmVkVVJMIHx8IGxpbmtUaXRsZSAhPSBsYXN0SG92ZXJlZFRpdGxlKSB7CisgICAgICAgIGxh
c3RIb3ZlcmVkVVJMID0gbGlua1VSTDsKKyAgICAgICAgbGFzdEhvdmVyZWRUaXRsZSA9IGxpbmtU
aXRsZTsKKyAgICAgICAgZW1pdCBxLT5saW5rSG92ZXJlZChsYXN0SG92ZXJlZFVSTCwgbGFzdEhv
dmVyZWRUaXRsZSk7CisgICAgfQorfQorCiBzdGF0aWMgUG9saWN5SW50ZXJmYWNlOjpQb2xpY3lB
Y3Rpb24gdG9Qb2xpY3lBY3Rpb24oUURlc2t0b3BXZWJWaWV3OjpOYXZpZ2F0aW9uUG9saWN5IHBv
bGljeSkKIHsKICAgICBzd2l0Y2ggKHBvbGljeSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmgKaW5kZXggMWRhMWQ3N2YzNmVhZjlmMzdj
ZDAyZmY3MzdmNmYxYWEzNzFkYjMxZC4uZjRlNzI2MjgzYWI0ZTAzM2Q3MTEzMDA3ZjA4NmI5Yzgw
YWVlODliMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVz
a3RvcHdlYnZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNr
dG9wd2Vidmlldy5oCkBAIC04OCw2ICs4OCw3IEBAIFFfU0lHTkFMUzoKICAgICB2b2lkIGxvYWRG
YWlsZWQoUURlc2t0b3BXZWJWaWV3OjpFcnJvclR5cGUgZXJyb3JUeXBlLCBpbnQgZXJyb3JDb2Rl
LCBjb25zdCBRVXJsJiB1cmwpOwogICAgIHZvaWQgbG9hZFByb2dyZXNzQ2hhbmdlZChpbnQgcHJv
Z3Jlc3MpOwogICAgIHZvaWQgdXJsQ2hhbmdlZChjb25zdCBRVXJsJik7CisgICAgdm9pZCBsaW5r
SG92ZXJlZChjb25zdCBRVXJsJiB1cmwsIGNvbnN0IFFTdHJpbmcgJnRpdGxlKTsKIAogcHJvdGVj
dGVkOgogICAgIHZpcnR1YWwgdm9pZCBrZXlQcmVzc0V2ZW50KFFLZXlFdmVudCopOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXdfcC5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXdfcC5oCmlu
ZGV4IDQzYjdkZDIxYzFmNzZjOGQ3MGI1Y2VhZTM2ZmE1ZmU0OTMwYjIzYzMuLjA1NGE5YTYyYjI4
MGQyODM3MWEwNmM1NmVlMWNjODY5YzlmYTdjMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3X3AuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlld19wLmgKQEAgLTg0LDYgKzg0LDggQEAg
cHJpdmF0ZToKIAogICAgIHZpcnR1YWwgdm9pZCBjaG9vc2VGaWxlcyhXS09wZW5QYW5lbFJlc3Vs
dExpc3RlbmVyUmVmLCBjb25zdCBRU3RyaW5nTGlzdCYgc2VsZWN0ZWRGaWxlTmFtZXMsIFZpZXdJ
bnRlcmZhY2U6OkZpbGVDaG9vc2VyVHlwZSk7CiAKKyAgICB2aXJ0dWFsIHZvaWQgZGlkTW91c2VN
b3ZlT3ZlckVsZW1lbnQoY29uc3QgUVVybCYsIGNvbnN0IFFTdHJpbmcmKTsKKwogICAgIC8vIFBv
bGljeUludGVyZmFjZS4KICAgICB2aXJ0dWFsIFBvbGljeUludGVyZmFjZTo6UG9saWN5QWN0aW9u
IG5hdmlnYXRpb25Qb2xpY3lGb3JVUkwoY29uc3QgUVVybCYsIFF0OjpNb3VzZUJ1dHRvbiwgUXQ6
OktleWJvYXJkTW9kaWZpZXJzKTsKIApAQCAtOTEsNiArOTMsOSBAQCBwcml2YXRlOgogCiAgICAg
UUZpbGVEaWFsb2cqIGZpbGVEaWFsb2c7CiAgICAgV0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclJl
ZiBvcGVuUGFuZWxSZXN1bHRMaXN0ZW5lcjsKKworICAgIFFVcmwgbGFzdEhvdmVyZWRVUkw7Cisg
ICAgUVN0cmluZyBsYXN0SG92ZXJlZFRpdGxlOwogfTsKIAogI2VuZGlmIC8qIHFkZXNrdG9wd2Vi
dmlld19wX2ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
dGVzdHMvcW1sdGVzdHMvRGVza3RvcFdlYlZpZXcvdHN0X2xpbmtIb3ZlcmVkLnFtbCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvRGVza3RvcFdlYlZpZXcv
dHN0X2xpbmtIb3ZlcmVkLnFtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NmU5ODY4YWZkNTk4ZDI3NmI5ZjJmYjFm
YTJhNzZhMGE3NTBmMDkyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9EZXNrdG9wV2ViVmlldy90c3RfbGlua0hvdmVyZWQu
cW1sCkBAIC0wLDAgKzEsNzQgQEAKK2ltcG9ydCBRdFF1aWNrIDIuMAoraW1wb3J0IFF0VGVzdCAx
LjAKK2ltcG9ydCBRdFdlYktpdC5leHBlcmltZW50YWwgNS4wCisKK0Rlc2t0b3BXZWJWaWV3IHsK
KyAgICBpZDogd2ViVmlldworICAgIHdpZHRoOiAyMDAKKyAgICBoZWlnaHQ6IDQwMAorCisgICAg
cHJvcGVydHkgc3RyaW5nIGxhc3RVcmwKKyAgICBwcm9wZXJ0eSBzdHJpbmcgbGFzdFRpdGxlCisK
KyAgICBTaWduYWxTcHkgeworICAgICAgICBpZDogc3B5CisgICAgICAgIHRhcmdldDogd2ViVmll
dworICAgICAgICBzaWduYWxOYW1lOiAibGlua0hvdmVyZWQiCisgICAgfQorCisgICAgU2lnbmFs
U3B5IHsKKyAgICAgICAgaWQ6IGxvYWRTcHkKKyAgICAgICAgdGFyZ2V0OiB3ZWJWaWV3CisgICAg
ICAgIHNpZ25hbE5hbWU6ICJsb2FkU3VjY2VlZGVkIgorICAgIH0KKworICAgIG9uTGlua0hvdmVy
ZWQ6IHsKKyAgICAgICAgd2ViVmlldy5sYXN0VXJsID0gdXJsCisgICAgICAgIHdlYlZpZXcubGFz
dFRpdGxlID0gdGl0bGUKKyAgICB9CisKKyAgICBUZXN0Q2FzZSB7CisgICAgICAgIG5hbWU6ICJE
ZXNrdG9wV2ViVmlld0xpbmtIb3ZlcmVkIgorICAgICAgICB3aGVuOiB3aW5kb3dTaG93bgorCisg
ICAgICAgIGZ1bmN0aW9uIGluaXQoKSB7CisgICAgICAgICAgICB3ZWJWaWV3Lmxhc3RVcmwgPSAi
IgorICAgICAgICAgICAgd2ViVmlldy5sYXN0VGl0bGUgPSAiIgorICAgICAgICAgICAgc3B5LmNs
ZWFyKCkKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RfbGlua0hvdmVyZWQoKSB7
CisgICAgICAgICAgICBjb21wYXJlKHNweS5jb3VudCwgMCkKKyAgICAgICAgICAgIHdlYlZpZXcu
bG9hZChRdC5yZXNvbHZlZFVybCgiLi4vY29tbW9uL3Rlc3QyLmh0bWwiKSkKKyAgICAgICAgICAg
IGxvYWRTcHkud2FpdCgpCisgICAgICAgICAgICBtb3VzZU1vdmUod2ViVmlldywgMTAwLCAxMDAp
CisgICAgICAgICAgICBzcHkud2FpdCgpCisgICAgICAgICAgICBjb21wYXJlKHNweS5jb3VudCwg
MSkKKyAgICAgICAgICAgIGNvbXBhcmUod2ViVmlldy5sYXN0VXJsLCBRdC5yZXNvbHZlZFVybCgi
Li4vY29tbW9uL3Rlc3QxLmh0bWwiKSkKKyAgICAgICAgICAgIGNvbXBhcmUod2ViVmlldy5sYXN0
VGl0bGUsICJBIHRpdGxlIikKKyAgICAgICAgICAgIG1vdXNlTW92ZSh3ZWJWaWV3LCAxMDAsIDMw
MCkKKyAgICAgICAgICAgIHNweS53YWl0KCkKKyAgICAgICAgICAgIGNvbXBhcmUoc3B5LmNvdW50
LCAyKQorICAgICAgICAgICAgY29tcGFyZSh3ZWJWaWV3Lmxhc3RVcmwsICIiKQorICAgICAgICAg
ICAgY29tcGFyZSh3ZWJWaWV3Lmxhc3RUaXRsZSwgIiIpCisgICAgICAgIH0KKworICAgICAgICBm
dW5jdGlvbiB0ZXN0X2xpbmtIb3ZlcmVkRG9lc250RW1pdFJlcGVhdGVkKCkgeworICAgICAgICAg
ICAgY29tcGFyZShzcHkuY291bnQsIDApCisgICAgICAgICAgICB3ZWJWaWV3LmxvYWQoUXQucmVz
b2x2ZWRVcmwoIi4uL2NvbW1vbi90ZXN0Mi5odG1sIikpCisgICAgICAgICAgICBsb2FkU3B5Lndh
aXQoKQorCisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDsgaSArPSAxMCkKKyAg
ICAgICAgICAgICAgICBtb3VzZU1vdmUod2ViVmlldywgMTAwLCAxMDAgKyBpKQorCisgICAgICAg
ICAgICB0cnlDb21wYXJlKHNweS5jb3VudCwgMSkKKworICAgICAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCAxMDA7IGkgKz0gMTApCisgICAgICAgICAgICAgICAgbW91c2VNb3ZlKHdlYlZpZXcs
IDEwMCwgMzAwICsgaSkKKworICAgICAgICAgICAgc3B5LndhaXQoKQorICAgICAgICAgICAgdHJ5
Q29tcGFyZShzcHkuY291bnQsIDIpCisgICAgICAgICAgICBjb21wYXJlKHdlYlZpZXcubGFzdFVy
bCwgIiIpCisgICAgICAgIH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL2NvbW1vbi90ZXN0Mi5odG1sIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9jb21tb24vdGVzdDIuaHRt
bAppbmRleCAwYTNjMzlkZDMzZDgxZTE3Y2IwYWIwZWM0MjExZjUzOGIzNGIxNjgyLi42MjljMmEw
NjNhZjZlYzVmYzQxZjM5NTFiNTE3NGM1YzhiNTI3NzcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL2NvbW1vbi90ZXN0Mi5odG1sCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvY29tbW9u
L3Rlc3QyLmh0bWwKQEAgLTEsNiArMSw2IEBACiA8aHRtbD4KIDxoZWFkPjx0aXRsZT5UZXN0IHBh
Z2Ugd2l0aCBodWdlIGxpbmsgYXJlYTwvdGl0bGU+PC9oZWFkPgogPGJvZHk+Ci08YSBocmVmPSJ0
ZXN0MS5odG1sIj48aW1nIHdpZHRoPTIwMCBoZWlnaHQ9MjAwPjwvYT4KKzxhIHRpdGxlPSJBIHRp
dGxlIiBocmVmPSJ0ZXN0MS5odG1sIj48aW1nIHdpZHRoPTIwMCBoZWlnaHQ9MjAwPjwvYT4KIDwv
Ym9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvdGVzdHMvcW1sdGVzdHMvcW1sdGVzdHMucHJvIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9xbWx0ZXN0cy5wcm8KaW5kZXggZTgxMjY5NDZiYmU2ZWRk
ODcyZDg0Zjg0OGYxMjM5N2RlN2VmODM3Yy4uYWIxNjE3NzExN2QyYjcyOWQ3Y2E4YTNiMDkxNmI2
YjBjNjA4ZjBkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90
ZXN0cy9xbWx0ZXN0cy9xbWx0ZXN0cy5wcm8KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9xbWx0ZXN0cy5wcm8KQEAgLTEzLDYgKzEzLDcgQEAgT1RI
RVJfRklMRVMgKz0gXAogICAgIERlc2t0b3BXZWJWaWV3L3RzdF9uYXZpZ2F0aW9uUG9saWN5Rm9y
VXJsLnFtbCBcCiAgICAgRGVza3RvcFdlYlZpZXcvdHN0X2xvYWRQcm9ncmVzcy5xbWwgXAogICAg
IERlc2t0b3BXZWJWaWV3L3RzdF9sb2FkUHJvZ3Jlc3NTaWduYWwucW1sIFwKKyAgICBEZXNrdG9w
V2ViVmlldy90c3RfbGlua0hvdmVyZWQucW1sIFwKICAgICBUb3VjaFdlYlZpZXcvdHN0X3Byb3Bl
cnRpZXMucW1sIFwKICAgICBUb3VjaFdlYlZpZXcvdHN0X2xvYWQucW1sIFwKICAgICBUb3VjaFdl
YlZpZXcvdHN0X2xvYWRaZXJvU2l6ZVZpZXcucW1sIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9xdC9DbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9xdC9DbGllbnRJbXBsLmNwcAppbmRleCA3MTkxZTRmYzA1NWM5MTEyYWExMjk1YjFmYTRiZTkw
MGM0MWMwYzVhLi44ZmMzYmU2MTQ2Nzg0NDkwYjc3ZTdjZGFlOWE0NjBjNmNkMGExZmZhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvQ2xpZW50SW1wbC5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L0NsaWVudEltcGwuY3BwCkBAIC0zMiw2ICszMiw3
IEBACiAjaW5jbHVkZSA8V0tBcnJheS5oPgogI2luY2x1ZGUgPFdLRnJhbWUuaD4KICNpbmNsdWRl
IDxXS0ZyYW1lUG9saWN5TGlzdGVuZXIuaD4KKyNpbmNsdWRlIDxXS0hpdFRlc3RSZXN1bHQuaD4K
ICNpbmNsdWRlIDxXS09wZW5QYW5lbFBhcmFtZXRlcnMuaD4KICNpbmNsdWRlIDxXS09wZW5QYW5l
bFJlc3VsdExpc3RlbmVyLmg+CiAjaW5jbHVkZSA8V0tUeXBlLmg+CkBAIC0xNjMsNiArMTY0LDEz
IEBAIHZvaWQgcXRfd2tfcnVuT3BlblBhbmVsKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiwgV0tPcGVu
UGFuZWxQYXJhbWV0ZXJzUmVmIHBhcmFtZXRlCiAgICAgdG9WaWV3SW50ZXJmYWNlKGNsaWVudElu
Zm8pLT5jaG9vc2VGaWxlcyhsaXN0ZW5lciwgc2VsZWN0ZWRGaWxlTmFtZXMsIGFsbG93TXVsdGlw
bGVGaWxlcyk7CiB9CiAKK3ZvaWQgcXRfd2tfbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQoV0tQYWdl
UmVmIHBhZ2UsIFdLSGl0VGVzdFJlc3VsdFJlZiBoaXRUZXN0UmVzdWx0LCBXS0V2ZW50TW9kaWZp
ZXJzIG1vZGlmaWVycywgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZv
KQoreworICAgIGNvbnN0IFFVcmwgYWJzb2x1dGVMaW5rVXJsID0gV0tVUkxDb3B5UVVybChXS0hp
dFRlc3RSZXN1bHRDb3B5QWJzb2x1dGVMaW5rVVJMKGhpdFRlc3RSZXN1bHQpKTsKKyAgICBjb25z
dCBRU3RyaW5nIGxpbmtUaXRsZSA9IFdLU3RyaW5nQ29weVFTdHJpbmcoV0tIaXRUZXN0UmVzdWx0
Q29weUxpbmtUaXRsZShoaXRUZXN0UmVzdWx0KSk7CisgICAgdG9WaWV3SW50ZXJmYWNlKGNsaWVu
dEluZm8pLT5kaWRNb3VzZU1vdmVPdmVyRWxlbWVudChhYnNvbHV0ZUxpbmtVcmwsIGxpbmtUaXRs
ZSk7Cit9CisKIHN0YXRpYyBRdDo6TW91c2VCdXR0b24gdG9RdE1vdXNlQnV0dG9uKFdLRXZlbnRN
b3VzZUJ1dHRvbiBidXR0b24pCiB7CiAgICAgc3dpdGNoIChidXR0b24pIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9DbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvcXQvQ2xpZW50SW1wbC5oCmluZGV4IGM2NGQ3ODQ1YmMwMjQ0NGU3ZDk0NGEz
YWY2YjM3ZWIwMWExYmUyYjAuLjAzODNjN2RjMWFiZTYyNWQyYzgzZjdmN2U0YmFmZDIwMDIyZTc0
NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9DbGllbnRJbXBsLmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L0NsaWVudEltcGwuaApAQCAtNDEsNiAr
NDEsNyBAQCB2b2lkIHF0X3drX2RpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JGcmFtZShXS1Bh
Z2VSZWYsIFdLRnJhbWVSZWYsIFdLU2FtZURvY3VtZQogLy8gdWkgY2xpZW50CiB2b2lkIHF0X3dr
X3NldFN0YXR1c1RleHQoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIHRleHQsIGNvbnN0IHZv
aWQgKmNsaWVudEluZm8pOwogdm9pZCBxdF93a19ydW5PcGVuUGFuZWwoV0tQYWdlUmVmLCBXS0Zy
YW1lUmVmLCBXS09wZW5QYW5lbFBhcmFtZXRlcnNSZWYsIFdLT3BlblBhbmVsUmVzdWx0TGlzdGVu
ZXJSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwordm9pZCBxdF93a19tb3VzZURpZE1vdmVP
dmVyRWxlbWVudChXS1BhZ2VSZWYsIFdLSGl0VGVzdFJlc3VsdFJlZiwgV0tFdmVudE1vZGlmaWVy
cywgV0tUeXBlUmVmLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKIAogLy8gUG9saWN5IGNsaWVu
dC4KIHZvaWQgcXRfd2tfZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihXS1BhZ2VSZWYs
IFdLRnJhbWVSZWYsIFdLRnJhbWVOYXZpZ2F0aW9uVHlwZSwgV0tFdmVudE1vZGlmaWVycywgV0tF
dmVudE1vdXNlQnV0dG9uLCBXS1VSTFJlcXVlc3RSZWYsIFdLRnJhbWVQb2xpY3lMaXN0ZW5lclJl
ZiwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQcm94eS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuY3BwCmluZGV4IDE0M2YxYzRl
MGM0ZTYzZTJkNDU3MmUxNWY2ZDJlOTExMGI4MzdjNzcuLmYzZDVhMDBlZjFhMmI0NzRjZmY5NTVh
MWUxZjYwYzM0MmQ1NjNlYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9x
dC9RdFdlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0
V2ViUGFnZVByb3h5LmNwcApAQCAtMTQzLDYgKzE0Myw3IEBAIHZvaWQgUXRXZWJQYWdlUHJveHk6
OmluaXQoKQogICAgIHVpQ2xpZW50LmNsaWVudEluZm8gPSBtX3ZpZXdJbnRlcmZhY2U7CiAgICAg
dWlDbGllbnQuc2V0U3RhdHVzVGV4dCA9IHF0X3drX3NldFN0YXR1c1RleHQ7CiAgICAgdWlDbGll
bnQucnVuT3BlblBhbmVsID0gcXRfd2tfcnVuT3BlblBhbmVsOworICAgIHVpQ2xpZW50Lm1vdXNl
RGlkTW92ZU92ZXJFbGVtZW50ID0gcXRfd2tfbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQ7CiAgICAg
V0tQYWdlU2V0UGFnZVVJQ2xpZW50KHRvQVBJKG1fd2ViUGFnZVByb3h5LmdldCgpKSwgJnVpQ2xp
ZW50KTsKIAogICAgIGlmIChtX3BvbGljeUludGVyZmFjZSkgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL3F0L1RvdWNoVmlld0ludGVyZmFjZS5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL3F0L1RvdWNoVmlld0ludGVyZmFjZS5oCmluZGV4IGY2Mzk3ZjRjNDVhYjVk
NTQxNTljMmY0MWNlZDg2MmZjNjk5MWRlNmUuLmQxNWU4NmRlMTk1YWUwMDczYWQwOTY2YWJlOWZh
ZWNlMjFjOTdmYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9Ub3Vj
aFZpZXdJbnRlcmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvVG91Y2hW
aWV3SW50ZXJmYWNlLmgKQEAgLTc5LDYgKzc5LDggQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwg
dm9pZCBjaG9vc2VGaWxlcyhXS09wZW5QYW5lbFJlc3VsdExpc3RlbmVyUmVmLCBjb25zdCBRU3Ry
aW5nTGlzdCYsIEZpbGVDaG9vc2VyVHlwZSkgeyB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgZGlkTW91
c2VNb3ZlT3ZlckVsZW1lbnQoY29uc3QgUVVybCYsIGNvbnN0IFFTdHJpbmcmKSB7IH0KKwogcHJp
dmF0ZToKICAgICBRVG91Y2hXZWJWaWV3KiBjb25zdCBtX3ZpZXdwb3J0VmlldzsKICAgICBRVG91
Y2hXZWJQYWdlKiBjb25zdCBtX3BhZ2VWaWV3OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL3F0L1ZpZXdJbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9x
dC9WaWV3SW50ZXJmYWNlLmgKaW5kZXggMjRjNzkzMjU1NzE4MzFlYTBkYjNmNjZhMDZiZWE0MzEx
Y2Q5YzBlNi4uNDdlNjkxOTNmNWY1Nzk2MThjNjRlZWY0YjI5YWVjYjdkYWQ2MzU1ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1ZpZXdJbnRlcmZhY2UuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvVmlld0ludGVyZmFjZS5oCkBAIC04OCw2ICs4OCw4
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFFKU0VuZ2luZSogZW5naW5lKCkgPSAwOwogCiAgICAg
dmlydHVhbCB2b2lkIGNob29zZUZpbGVzKFdLT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJSZWYsIGNv
bnN0IFFTdHJpbmdMaXN0JiBzZWxlY3RlZEZpbGVOYW1lcywgRmlsZUNob29zZXJUeXBlKSA9IDA7
CisKKyAgICB2aXJ0dWFsIHZvaWQgZGlkTW91c2VNb3ZlT3ZlckVsZW1lbnQoY29uc3QgUVVybCYs
IGNvbnN0IFFTdHJpbmcmKSA9IDA7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTA4ZjJiYWFhNDE5YmNhZDMxNjdiYWM4NGRmMmJi
NzViYTJhYzU3OC4uNjEyM2E2NGRjZWI2MDg3ZTI2OGJlYzZhNzczZDJiMzg0ZWM4ZWQzYSAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE4IEBACisyMDExLTA5LTI2ICBDYWlvIE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlv
Lm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgW1F0XVtXSzJdIEFkZCBzdXBwb3J0
IGZvciBob3ZlciBBUEkgaW4gUXQgV2ViS2l0MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzNjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBDaGFuZ2UgdGhlIHN0YXR1c2JhciB0byBzaG93IHRoZSBsaW5r
IFVSTCB3aGVuIGhvdmVyaW5nIGxpbmtzIGluCisgICAgICAgIE1pbmlCcm93c2VyIHVzaW5nIFFE
ZXNrdG9wV2ViVmlldy4KKworICAgICAgICAqIE1pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cu
Y3BwOgorICAgICAgICAoQnJvd3NlcldpbmRvdzo6QnJvd3NlcldpbmRvdyk6CisgICAgICAgIChC
cm93c2VyV2luZG93OjpvbkxpbmtIb3ZlcmVkKToKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9C
cm93c2VyV2luZG93Lmg6CisKIDIwMTEtMDktMjYgIERhdmlkIExldmluICA8bGV2aW5AY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIHdhdGNobGlzdDogQWRkIHBhcnNpbmcgZm9yIGRlZmluaXRpb24g
c2VjdGlvbi4KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cu
Y3BwIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5jcHAKaW5kZXggNDM5ZjY1
YWQ5ZDEyYzEzMjNlN2Y2YjU4MjI0MTQxNzEwYWZkNjIwOC4uYmY1MDZhNzg0YjZiNzkwNjk2NzFk
ZjRkN2M0MGQ1Zjg3OGUxMDQzZCAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJv
d3NlcldpbmRvdy5jcHAKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5j
cHAKQEAgLTY0LDggKzY0LDEwIEBAIEJyb3dzZXJXaW5kb3c6OkJyb3dzZXJXaW5kb3coV2luZG93
T3B0aW9ucyogb3B0aW9ucykKICAgICBpZiAobV93aW5kb3dPcHRpb25zLnByaW50TG9hZGVkVXJs
cykKICAgICAgICAgY29ubmVjdCh3ZWJWaWV3KCksIFNJR05BTCh1cmxDaGFuZ2VkKFFVcmwpKSwg
dGhpcywgU0xPVChwcmludFVSTChRVXJsKSkpOwogCi0gICAgaWYgKFFEZXNrdG9wV2ViVmlldyog
Y29uc3QgZGVza3RvcFdlYlZpZXcgPSBtX2Jyb3dzZXItPmRlc2t0b3BXZWJWaWV3KCkpCisgICAg
aWYgKFFEZXNrdG9wV2ViVmlldyogY29uc3QgZGVza3RvcFdlYlZpZXcgPSBtX2Jyb3dzZXItPmRl
c2t0b3BXZWJWaWV3KCkpIHsKICAgICAgICAgY29ubmVjdChkZXNrdG9wV2ViVmlldywgU0lHTkFM
KHN0YXR1c0Jhck1lc3NhZ2VDaGFuZ2VkKFFTdHJpbmcpKSwgc3RhdHVzQmFyKCksIFNMT1Qoc2hv
d01lc3NhZ2UoUVN0cmluZykpKTsKKyAgICAgICAgY29ubmVjdChkZXNrdG9wV2ViVmlldywgU0lH
TkFMKGxpbmtIb3ZlcmVkKFFVcmwsIFFTdHJpbmcpKSwgdGhpcywgU0xPVChvbkxpbmtIb3ZlcmVk
KFFVcmwsIFFTdHJpbmcpKSk7CisgICAgfQogCiAgICAgdGhpcy0+c2V0Q2VudHJhbFdpZGdldCht
X2Jyb3dzZXIpOwogICAgIG1fYnJvd3Nlci0+c2V0Rm9jdXMoUXQ6Ok90aGVyRm9jdXNSZWFzb24p
OwpAQCAtMjg3LDYgKzI4OSwxMSBAQCB2b2lkIEJyb3dzZXJXaW5kb3c6OnByaW50VVJMKGNvbnN0
IFFVcmwmIHVybCkKICAgICBvdXRwdXQgPDwgIkxvYWRlZDogIiA8PCB1cmwudG9TdHJpbmcoKSA8
PCBlbmRsOwogfQogCit2b2lkIEJyb3dzZXJXaW5kb3c6Om9uTGlua0hvdmVyZWQoY29uc3QgUVVy
bCYgdXJsLCBjb25zdCBRU3RyaW5nJikKK3sKKyAgICBzdGF0dXNCYXIoKS0+c2hvd01lc3NhZ2Uo
dXJsLnRvU3RyaW5nKCkpOworfQorCiB2b2lkIEJyb3dzZXJXaW5kb3c6OnVwZGF0ZVVzZXJBZ2Vu
dExpc3QoKQogewogI2lmIDAKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dz
ZXJXaW5kb3cuaCBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaAppbmRleCA5
MzliZjE5ODA5ZGUwMjVhMzZiYTk2NjdiMzRiN2I5ZjgwMWI0ZmYwLi5kNjlmNTEzNTk5ZDdkNzBk
NjQ4ZDI1ZmY2MmE3MWE0ZWUzNDhjMTE3IDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9x
dC9Ccm93c2VyV2luZG93LmgKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRv
dy5oCkBAIC02OSw2ICs2OSw3IEBAIHByb3RlY3RlZCBzbG90czoKICAgICB2b2lkIGxvYWRVUkxM
aXN0RnJvbUZpbGUoKTsKIAogICAgIHZvaWQgcHJpbnRVUkwoY29uc3QgUVVybCYpOworICAgIHZv
aWQgb25MaW5rSG92ZXJlZChjb25zdCBRVXJsJiwgY29uc3QgUVN0cmluZyYpOwogCiBwcml2YXRl
OgogICAgIHZvaWQgdXBkYXRlVXNlckFnZW50TGlzdCgpOwo=
</data>
<flag name="review"
          id="105805"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>