<?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>139460</bug_id>
          
          <creation_ts>2014-12-09 14:45:43 -0800</creation_ts>
          <short_desc>Provide SPI to asynchronously move a WKView into a window and know when it has painted</short_desc>
          <delta_ts>2014-12-11 04:11:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>139513</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>andersca</cc>
    
    <cc>bdakin</cc>
    
    <cc>cgarcia</cc>
    
    <cc>clopez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>conrad_shultz</cc>
    
    <cc>mitz</cc>
    
    <cc>ossy</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1053954</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-12-09 14:45:43 -0800</bug_when>
    <thetext>Provide SPI to asynchronously move a WKView into a window and know when it has painted</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053955</commentid>
    <comment_count>1</comment_count>
      <attachid>242967</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-12-09 14:46:12 -0800</bug_when>
    <thetext>Created attachment 242967
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053956</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-12-09 14:46:35 -0800</bug_when>
    <thetext>&lt;rdar://problem/19135389&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053957</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-09 14:48:32 -0800</bug_when>
    <thetext>Attachment 242967 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/API/mac/WKView.mm:2830:  The parameter name &quot;window&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054268</commentid>
    <comment_count>4</comment_count>
      <attachid>242967</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-12-10 12:07:59 -0800</bug_when>
    <thetext>Comment on attachment 242967
Patch

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

&gt; Source/WebKit2/UIProcess/API/mac/WKView.mm:2530
&gt; +    // If we&apos;re in the middle of preparing to move to a window, ignore actual moves.
&gt; +    if (_data-&gt;_targetWindowForMovePreparation &amp;&amp; window != _data-&gt;_targetWindowForMovePreparation)
&gt; +        return;

Is this even allowed? :|

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:1172
&gt; +{

space after void.

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:1178
&gt; +    void(^copiedCompletionHandler)() = Block_copy(completionHandler);

auto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054316</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-12-10 15:00:00 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/177104</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054321</commentid>
    <comment_count>6</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-12-10 15:16:13 -0800</bug_when>
    <thetext>Build fix in http://trac.webkit.org/changeset/177106</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054342</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2014-12-10 16:33:44 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; http://trac.webkit.org/changeset/177104

(In reply to comment #6)
&gt; Build fix in http://trac.webkit.org/changeset/177106

Both the GTK and EFL release build are broken by this :(

https://build.webkit.org/builders/GTK%20Linux%2064-bit%20Release%20%28Build%29?numbuilds=50

https://build.webkit.org/builders/EFL%20Linux%20ARMv7%20Thumb2%20Release%20%28Build%29?numbuilds=50</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054463</commentid>
    <comment_count>8</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-12-11 04:11:14 -0800</bug_when>
    <thetext>buildfix landed in https://trac.webkit.org/changeset/177123</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>242967</attachid>
            <date>2014-12-09 14:46:12 -0800</date>
            <delta_ts>2014-12-10 12:07:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139460-20141209144652.patch</filename>
            <type>text/plain</type>
            <size>26793</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc2OTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzgwOTdmZDM4YTExMDU0
MGU1MGMyMmFjMzgxM2U4N2IyMTA5YmY2NC4uNjJmZmFiNGJhYWE0MDM3ZjBiY2Q3ZGNjYjRhMzI0
MjAwNDRkNzI5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg1IEBACisyMDE0LTEyLTA5ICBUaW1v
dGh5IEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBQcm92aWRl
IFNQSSB0byBhc3luY2hyb25vdXNseSBtb3ZlIGEgV0tWaWV3IGludG8gYSB3aW5kb3cgYW5kIGtu
b3cgd2hlbiBpdCBoYXMgcGFpbnRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTM5NDYwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xOTEzNTM4OT4g
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0NvY29hL1dLVmlld1ByaXZhdGUuaDoKKyAgICAgICAgQWRkIF9wcmVwYXJlRm9y
TW92ZVRvV2luZG93OndpdGhDb21wbGV0aW9uSGFuZGxlcjosIHdoaWNoIGludGVybmFsbHkKKyAg
ICAgICAgZ29lcyB0aHJvdWdoIHRoZSBtb3Rpb25zIG9mIGJlaW5nIHBhcmVudGVkIGluIHRoYXQg
d2luZG93IGFuZCBjYWxscworICAgICAgICB0aGUgY29tcGxldGlvbiBoYW5kbGVyIG9uY2UgcGFp
bnRpbmcgaXMgZG9uZSBhbmQgdGhlIHZpZXcgaXMgcmVhZHkKKyAgICAgICAgdG8gYmUgZGlzcGxh
eWVkICh1cG9uIHdoaWNoIHdlIGV4cGVjdCB0aGUgdmlldyB0byBhY3R1YWxseSBtb3ZlIGludG8g
dGhlIHdpbmRvdykuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW06Cisg
ICAgICAgICgtW1dLVmlldyB2aWV3V2lsbE1vdmVUb1dpbmRvdzpdKToKKyAgICAgICAgSWYgd2Ug
Y3VycmVudGx5IGhhdmUgYSBfdGFyZ2V0V2luZG93Rm9yTW92ZVByZXBhcmF0aW9uIChhbmQgYXJl
CisgICAgICAgIHByZXRlbmRpbmcgdG8gYmUgaW4gdGhhdCB3aW5kb3cpLCBhdm9pZCBwZXJmb3Jt
aW5nIHZpZXdXaWxsTW92ZVRvV2luZG93OgorICAgICAgICBmb3IgYSBkaWZmZXJlbnQgd2luZG93
LgorCisgICAgICAgICgtW1dLVmlldyB2aWV3RGlkTW92ZVRvV2luZG93XSk6CisgICAgICAgICgt
W1dLVmlldyBkb1dpbmRvd0RpZENoYW5nZVNjcmVlbl0pOgorICAgICAgICAoLVtXS1ZpZXcgX2lu
dHJpbnNpY0RldmljZVNjYWxlRmFjdG9yXSk6CisgICAgICAgICgtW1dLVmlldyBfY29sb3JTcGFj
ZV0pOgorICAgICAgICAoLVtXS1ZpZXcgX3RhcmdldFdpbmRvd0Zvck1vdmVQcmVwYXJhdGlvbl0p
OgorICAgICAgICBJZiB3ZSBoYXZlIGEgX3RhcmdldFdpbmRvd0Zvck1vdmVQcmVwYXJhdGlvbiwg
dXNlIGl0cyBwcm9wZXJ0aWVzIGluc3RlYWQKKyAgICAgICAgb2Ygc2VsZi53aW5kb3cncy4KKwor
ICAgICAgICAoLVtXS1ZpZXcgX3ByZXBhcmVGb3JNb3ZlVG9XaW5kb3c6d2l0aENvbXBsZXRpb25I
YW5kbGVyOl0pOgorICAgICAgICBTaW11bGF0ZSBhIG1vdmUgaW50byB0aGUgdGFyZ2V0IHdpbmRv
dywgYnV0IGRlZmVyIHNlbmRpbmcgdGhlIHZpZXcgc3RhdGUgdXBkYXRlLgorICAgICAgICBUaGVu
LCBzZW5kIHRoZSB2aWV3IHN0YXRlIHVwZGF0ZSBhZnRlciByZWdpc3RlcmluZyB0aGUgY29tcGxl
dGlvbiBoYW5kbGVyLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3SW50ZXJu
YWwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5OjpXZWJQYWdlUHJveHkpOgorICAgICAgICBSZW5hbWUgbV92aWV3
U3RhdGVDaGFuZ2VXYW50c1JlcGx5IHRvIG1fdmlld1N0YXRlQ2hhbmdlV2FudHNTeW5jaHJvbm91
c1JlcGx5LgorCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6aW5zdGFsbFZpZXdTdGF0
ZUNoYW5nZUNvbXBsZXRpb25IYW5kbGVyKToKKyAgICAgICAgQWRkZWQuIEFsbG93IGluc3RhbGxp
bmcgYSBibG9jayB0aGF0IHdpbGwgYmUgY2FsbGVkIHRoZSBuZXh0IHRpbWUKKyAgICAgICAgd2Ug
Z2V0IGEgZGlkVXBkYXRlVmlld1N0YXRlIGJhY2sgZnJvbSB0aGUgV2ViUHJvY2VzcyBhZnRlciBw
dXNoaW5nIHRoZQorICAgICAgICBjdXJyZW50IHZpZXcgc3RhdGUgY2hhbmdlcy4KKworICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnZpZXdTdGF0ZURpZENoYW5nZSk6CisgICAgICAgIEFk
YXB0IHRvIHRoZSBhZm9yZW1lbnRpb25lZCByZW5hbWUuCisKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5OjpkaXNwYXRjaFZpZXdTdGF0ZUNoYW5nZSk6CisgICAgICAgIEFkYXB0IHRvIHRo
ZSBhZm9yZW1lbnRpb25lZCByZW5hbWUuCisgICAgICAgIFNlbmQgdGhlIHZpZXcgc3RhdGUgY2hh
bmdlIGNhbGxiYWNrIElEcyBhbG9uZyB3aXRoIFNldFZpZXdTdGF0ZS4KKworICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OnVwZGF0ZVZpZXdTdGF0ZSk6CisgICAgICAgIEFkYXB0IHRvIHRo
ZSBhZm9yZW1lbnRpb25lZCByZW5hbWUuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVBy
b3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW06CisgICAgICAgIChXZWJLaXQ6OlBh
Z2VDbGllbnRJbXBsOjphY3RpdmVXaW5kb3cpOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50
SW1wbDo6aXNWaWV3V2luZG93QWN0aXZlKToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudElt
cGw6OmlzVmlld1Zpc2libGUpOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6aXNW
aWV3VmlzaWJsZU9yT2NjbHVkZWQpOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6
aXNWaWV3SW5XaW5kb3cpOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6dmlld0xh
eWVySG9zdGluZ01vZGUpOgorICAgICAgICBJZiB3ZSBoYXZlIGEgX3RhcmdldFdpbmRvd0Zvck1v
dmVQcmVwYXJhdGlvbiwgdXNlIGl0cyBwcm9wZXJ0aWVzIGluc3RlYWQKKyAgICAgICAgb2YgdGhl
IFdLVmlldydzIHdpbmRvdydzLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdp
bmdBcmVhLmg6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhOjp2aWV3U3RhdGVEaWRDaGFu
Z2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZTo6cmVpbml0aWFsaXplV2ViUGFnZSk6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2U6OnNldFZpZXdTdGF0ZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5p
bjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRy
ZWVEcmF3aW5nQXJlYS5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2lu
Z0FyZWE6OnZpZXdTdGF0ZURpZENoYW5nZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5oOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW06CisgICAgICAg
IChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjp2aWV3U3RhdGVEaWRDaGFu
Z2UpOgorICAgICAgICBQdXNoIHRoZSBjYWxsYmFjayBJRHMgdG8gdGhlIFdlYlByb2Nlc3MsIGFu
ZCBhY2N1bXVsYXRlIHRoZW0gaW4gVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEuCisKKyAg
ICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmRpZFVwZGF0ZVZp
ZXdTdGF0ZVRpbWVyRmlyZWQpOgorICAgICAgICBDYWxsIGFsbCBvZiB0aGUgY2FsbGJhY2tzIGFm
dGVyIG9uZSBydW5sb29wIGN5Y2xlLCBqdXN0IGxpa2UgRGlkVXBkYXRlVmlld1N0YXRlLgorCiAy
MDE0LTEyLTA4ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAg
ICAgQWRkIGEgc3R1YiBpbXBsZW1lbnRhdGlvbiBvZiBXZWJzaXRlRGF0YVN0b3JlOjpyZW1vdmVE
YXRhTW9kaWZpZWRTaW5jZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1ZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLVmlld1ByaXZhdGUuaAppbmRleCBlNWU0OWUxZTg4MDI4MzE0MDc0NTg1MWVmZDY1Nzg5
NGYzZmFkMzdlLi44NTIzMmE1ODM4NjdjN2Y4MGFhM2FjNTI4MDZmNGU4ODdmMDYzZjM1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVmlld1ByaXZhdGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVmlld1ByaXZhdGUu
aApAQCAtMTAwLDYgKzEwMCw3IEBACiAtICh2b2lkKWVuZERlZmVycmluZ1ZpZXdJbldpbmRvd0No
YW5nZXM7CiAtICh2b2lkKWVuZERlZmVycmluZ1ZpZXdJbldpbmRvd0NoYW5nZXNTeW5jOwogLSAo
Qk9PTClpc0RlZmVycmluZ1ZpZXdJbldpbmRvd0NoYW5nZXM7CistICh2b2lkKV9wcmVwYXJlRm9y
TW92ZVRvV2luZG93OihOU1dpbmRvdyAqKXRhcmdldFdpbmRvdyB3aXRoQ29tcGxldGlvbkhhbmRs
ZXI6KHZvaWQoXikodm9pZCkpY29tcGxldGlvbkhhbmRsZXI7CiAKIC0gKEJPT0wpd2luZG93T2Nj
bHVzaW9uRGV0ZWN0aW9uRW5hYmxlZDsKIC0gKHZvaWQpc2V0V2luZG93T2NjbHVzaW9uRGV0ZWN0
aW9uRW5hYmxlZDooQk9PTClmbGFnOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9tYWMvV0tWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMv
V0tWaWV3Lm1tCmluZGV4IGZlOTJkNTkzOTQ5ZGMyYzI2OTI0NGUzMjJhYTU4NWNmMjBlMDdmNzEu
LmIzMDU3MzQ0MGY4ZDU2MDAxMDI5M2U5NjFiN2ZmOTdkOTZmOTQ3YmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0KQEAgLTIyNyw2ICsyMjcsNyBAQCBzdHJ1
Y3QgV0tWaWV3SW50ZXJwcmV0S2V5RXZlbnRzUGFyYW1ldGVycyB7CiAgICAgCiAgICAgdW5zaWdu
ZWQgX2ZyYW1lU2l6ZVVwZGF0ZXNEaXNhYmxlZENvdW50OwogICAgIEJPT0wgX3Nob3VsZERlZmVy
Vmlld0luV2luZG93Q2hhbmdlczsKKyAgICBOU1dpbmRvdyAqX3RhcmdldFdpbmRvd0Zvck1vdmVQ
cmVwYXJhdGlvbjsKIAogICAgIEJPT0wgX3ZpZXdJbldpbmRvd0NoYW5nZVdhc0RlZmVycmVkOwog
CkBAIC0yNTI0LDYgKzI1MjUsMTAgQEAgc3RhdGljIHZvaWQqIGtleVZhbHVlT2JzZXJ2aW5nQ29u
dGV4dCA9ICZrZXlWYWx1ZU9ic2VydmluZ0NvbnRleHQ7CiAKIC0gKHZvaWQpdmlld1dpbGxNb3Zl
VG9XaW5kb3c6KE5TV2luZG93ICopd2luZG93CiB7CisgICAgLy8gSWYgd2UncmUgaW4gdGhlIG1p
ZGRsZSBvZiBwcmVwYXJpbmcgdG8gbW92ZSB0byBhIHdpbmRvdywgaWdub3JlIGFjdHVhbCBtb3Zl
cy4KKyAgICBpZiAoX2RhdGEtPl90YXJnZXRXaW5kb3dGb3JNb3ZlUHJlcGFyYXRpb24gJiYgd2lu
ZG93ICE9IF9kYXRhLT5fdGFyZ2V0V2luZG93Rm9yTW92ZVByZXBhcmF0aW9uKQorICAgICAgICBy
ZXR1cm47CisKICAgICBOU1dpbmRvdyAqY3VycmVudFdpbmRvdyA9IFtzZWxmIHdpbmRvd107CiAg
ICAgaWYgKHdpbmRvdyA9PSBjdXJyZW50V2luZG93KQogICAgICAgICByZXR1cm47CkBAIC0yNTM2
LDcgKzI1NDEsOSBAQCBzdGF0aWMgdm9pZCoga2V5VmFsdWVPYnNlcnZpbmdDb250ZXh0ID0gJmtl
eVZhbHVlT2JzZXJ2aW5nQ29udGV4dDsKIAogLSAodm9pZCl2aWV3RGlkTW92ZVRvV2luZG93CiB7
Ci0gICAgaWYgKFtzZWxmIHdpbmRvd10pIHsKKyAgICBOU1dpbmRvdyAqd2luZG93ID0gX2RhdGEt
Pl90YXJnZXRXaW5kb3dGb3JNb3ZlUHJlcGFyYXRpb24gPyBfZGF0YS0+X3RhcmdldFdpbmRvd0Zv
ck1vdmVQcmVwYXJhdGlvbiA6IHNlbGYud2luZG93OworCisgICAgaWYgKHdpbmRvdykgewogICAg
ICAgICBbc2VsZiBkb1dpbmRvd0RpZENoYW5nZVNjcmVlbl07CiAKICAgICAgICAgVmlld1N0YXRl
OjpGbGFncyB2aWV3U3RhdGVDaGFuZ2VzID0gVmlld1N0YXRlOjpXaW5kb3dJc0FjdGl2ZSB8IFZp
ZXdTdGF0ZTo6SXNWaXNpYmxlOwpAQCAtMjU4MCw3ICsyNTg3LDggQEAgc3RhdGljIHZvaWQqIGtl
eVZhbHVlT2JzZXJ2aW5nQ29udGV4dCA9ICZrZXlWYWx1ZU9ic2VydmluZ0NvbnRleHQ7CiAKIC0g
KHZvaWQpZG9XaW5kb3dEaWRDaGFuZ2VTY3JlZW4KIHsKLSAgICBfZGF0YS0+X3BhZ2UtPndpbmRv
d1NjcmVlbkRpZENoYW5nZSgoUGxhdGZvcm1EaXNwbGF5SUQpW1tbW1tzZWxmIHdpbmRvd10gc2Ny
ZWVuXSBkZXZpY2VEZXNjcmlwdGlvbl0gb2JqZWN0Rm9yS2V5OkAiTlNTY3JlZW5OdW1iZXIiXSBp
bnRWYWx1ZV0pOworICAgIE5TV2luZG93ICp3aW5kb3cgPSBfZGF0YS0+X3RhcmdldFdpbmRvd0Zv
ck1vdmVQcmVwYXJhdGlvbiA/IF9kYXRhLT5fdGFyZ2V0V2luZG93Rm9yTW92ZVByZXBhcmF0aW9u
IDogc2VsZi53aW5kb3c7CisgICAgX2RhdGEtPl9wYWdlLT53aW5kb3dTY3JlZW5EaWRDaGFuZ2Uo
KFBsYXRmb3JtRGlzcGxheUlEKVtbW1t3aW5kb3cgc2NyZWVuXSBkZXZpY2VEZXNjcmlwdGlvbl0g
b2JqZWN0Rm9yS2V5OkAiTlNTY3JlZW5OdW1iZXIiXSBpbnRWYWx1ZV0pOwogfQogCiAtICh2b2lk
KV93aW5kb3dEaWRCZWNvbWVLZXk6KE5TTm90aWZpY2F0aW9uICopbm90aWZpY2F0aW9uCkBAIC0y
ODE3LDggKzI4MjUsOSBAQCBzdGF0aWMgdm9pZCoga2V5VmFsdWVPYnNlcnZpbmdDb250ZXh0ID0g
JmtleVZhbHVlT2JzZXJ2aW5nQ29udGV4dDsKIAogLSAoZmxvYXQpX2ludHJpbnNpY0RldmljZVNj
YWxlRmFjdG9yCiB7Ci0gICAgTlNXaW5kb3cgKndpbmRvdyA9IFtzZWxmIHdpbmRvd107Ci0gICAg
aWYgKHdpbmRvdykKKyAgICBpZiAoX2RhdGEtPl90YXJnZXRXaW5kb3dGb3JNb3ZlUHJlcGFyYXRp
b24pCisgICAgICAgIHJldHVybiBbX2RhdGEtPl90YXJnZXRXaW5kb3dGb3JNb3ZlUHJlcGFyYXRp
b24gYmFja2luZ1NjYWxlRmFjdG9yXTsKKyAgICBpZiAoTlNXaW5kb3cgKndpbmRvdyA9IFtzZWxm
IHdpbmRvd10pCiAgICAgICAgIHJldHVybiBbd2luZG93IGJhY2tpbmdTY2FsZUZhY3Rvcl07CiAg
ICAgcmV0dXJuIFtbTlNTY3JlZW4gbWFpblNjcmVlbl0gYmFja2luZ1NjYWxlRmFjdG9yXTsKIH0K
QEAgLTI4NjMsOCArMjg3MiwxMCBAQCBzdGF0aWMgdm9pZCoga2V5VmFsdWVPYnNlcnZpbmdDb250
ZXh0ID0gJmtleVZhbHVlT2JzZXJ2aW5nQ29udGV4dDsKIC0gKFdlYktpdDo6Q29sb3JTcGFjZURh
dGEpX2NvbG9yU3BhY2UKIHsKICAgICBpZiAoIV9kYXRhLT5fY29sb3JTcGFjZSkgewotICAgICAg
ICBpZiAoW3NlbGYgd2luZG93XSkKLSAgICAgICAgICAgIF9kYXRhLT5fY29sb3JTcGFjZSA9IFtb
c2VsZiB3aW5kb3ddIGNvbG9yU3BhY2VdOworICAgICAgICBpZiAoX2RhdGEtPl90YXJnZXRXaW5k
b3dGb3JNb3ZlUHJlcGFyYXRpb24pCisgICAgICAgICAgICBfZGF0YS0+X2NvbG9yU3BhY2UgPSBb
X2RhdGEtPl90YXJnZXRXaW5kb3dGb3JNb3ZlUHJlcGFyYXRpb24gY29sb3JTcGFjZV07CisgICAg
ICAgIGVsc2UgaWYgKE5TV2luZG93ICp3aW5kb3cgPSBbc2VsZiB3aW5kb3ddKQorICAgICAgICAg
ICAgX2RhdGEtPl9jb2xvclNwYWNlID0gW3dpbmRvdyBjb2xvclNwYWNlXTsKICAgICAgICAgZWxz
ZQogICAgICAgICAgICAgX2RhdGEtPl9jb2xvclNwYWNlID0gW1tOU1NjcmVlbiBtYWluU2NyZWVu
XSBjb2xvclNwYWNlXTsKICAgICB9CkBAIC00MDA0LDYgKzQwMTUsMzEgQEAgc3RhdGljIE5TU3Ry
aW5nICpwYXRoV2l0aFVuaXF1ZUZpbGVuYW1lRm9yUGF0aChOU1N0cmluZyAqcGF0aCkKICAgICB9
CiB9CiAKKy0gKHZvaWQpX3ByZXBhcmVGb3JNb3ZlVG9XaW5kb3c6KE5TV2luZG93ICopdGFyZ2V0
V2luZG93IHdpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCheKSh2b2lkKSljb21wbGV0aW9uSGFu
ZGxlcgoreworICAgIF9kYXRhLT5fc2hvdWxkRGVmZXJWaWV3SW5XaW5kb3dDaGFuZ2VzID0gWUVT
OworICAgIFtzZWxmIHZpZXdXaWxsTW92ZVRvV2luZG93OnRhcmdldFdpbmRvd107CisgICAgX2Rh
dGEtPl90YXJnZXRXaW5kb3dGb3JNb3ZlUHJlcGFyYXRpb24gPSB0YXJnZXRXaW5kb3c7CisgICAg
W3NlbGYgdmlld0RpZE1vdmVUb1dpbmRvd107CisKKyAgICBfZGF0YS0+X3Nob3VsZERlZmVyVmll
d0luV2luZG93Q2hhbmdlcyA9IE5POworCisgICAgX2RhdGEtPl9wYWdlLT5pbnN0YWxsVmlld1N0
YXRlQ2hhbmdlQ29tcGxldGlvbkhhbmRsZXIoXigpIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRs
ZXIoKTsKKyAgICAgICAgQVNTRVJUKHNlbGYud2luZG93ID09IF9kYXRhLT5fdGFyZ2V0V2luZG93
Rm9yTW92ZVByZXBhcmF0aW9uKTsKKyAgICAgICAgX2RhdGEtPl90YXJnZXRXaW5kb3dGb3JNb3Zl
UHJlcGFyYXRpb24gPSBuaWw7CisgICAgfSk7CisKKyAgICBbc2VsZiBfZGlzcGF0Y2hTZXRUb3BD
b250ZW50SW5zZXRdOworICAgIF9kYXRhLT5fcGFnZS0+dmlld1N0YXRlRGlkQ2hhbmdlKFZpZXdT
dGF0ZTo6SXNJbldpbmRvdywgZmFsc2UsIFdlYlBhZ2VQcm94eTo6Vmlld1N0YXRlQ2hhbmdlRGlz
cGF0Y2hNb2RlOjpJbW1lZGlhdGUpOworICAgIF9kYXRhLT5fdmlld0luV2luZG93Q2hhbmdlV2Fz
RGVmZXJyZWQgPSBOTzsKK30KKworLSAoTlNXaW5kb3cgKilfdGFyZ2V0V2luZG93Rm9yTW92ZVBy
ZXBhcmF0aW9uCit7CisgICAgcmV0dXJuIF9kYXRhLT5fdGFyZ2V0V2luZG93Rm9yTW92ZVByZXBh
cmF0aW9uOworfQorCiAtIChCT09MKWlzRGVmZXJyaW5nVmlld0luV2luZG93Q2hhbmdlcwogewog
ICAgIHJldHVybiBfZGF0YS0+X3Nob3VsZERlZmVyVmlld0luV2luZG93Q2hhbmdlczsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlld0ludGVybmFsLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXdJbnRlcm5hbC5oCmluZGV4
IDcxOWFkNDBlY2VjNGIxYzllNDg1YmM1NmZlMjlkZWRiN2JjNGFlMmYuLjllODNmOGZiOGRkYjdj
NTNmYjlkNWI2N2FkYTNmYmI3ZDk2ZmNkNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvbWFjL1dLVmlld0ludGVybmFsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9tYWMvV0tWaWV3SW50ZXJuYWwuaApAQCAtMTMyLDQgKzEzMiw2IEBAIHN0cnVj
dCBXZWJQYWdlQ29uZmlndXJhdGlvbjsKIAogQHByb3BlcnR5IChub25hdG9taWMsIHJldGFpbiwg
c2V0dGVyPV9zZXRQcmltYXJ5VHJhY2tpbmdBcmVhOikgTlNUcmFja2luZ0FyZWEgKl9wcmltYXJ5
VHJhY2tpbmdBcmVhOwogCitAcHJvcGVydHkgKHJlYWRvbmx5KSBOU1dpbmRvdyAqX3RhcmdldFdp
bmRvd0Zvck1vdmVQcmVwYXJhdGlvbjsKKwogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAppbmRleCA3MTJhNmU2ZDNkNzAxYjY3MjIxY2RlNWIyMDFjY2JiYTU2
ZmM4YzNmLi5hOTE0NWJjYjZmOGI2NGY3MDMyMDQ4YjAxZWI5NWIzNDRjM2FhNDU0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMzczLDcgKzM3Myw3IEBA
IFdlYlBhZ2VQcm94eTo6V2ViUGFnZVByb3h5KFBhZ2VDbGllbnQmIHBhZ2VDbGllbnQsIFdlYlBy
b2Nlc3NQcm94eSYgcHJvY2VzcywgdWluCiAgICAgLCBtX25hdmlnYXRpb25JRCgwKQogICAgICwg
bV9jb25maWd1cmF0aW9uUHJlZmVyZW5jZVZhbHVlcyhjb25maWd1cmF0aW9uLnByZWZlcmVuY2VW
YWx1ZXMpCiAgICAgLCBtX3BvdGVudGlhbGx5Q2hhbmdlZFZpZXdTdGF0ZUZsYWdzKFZpZXdTdGF0
ZTo6Tm9GbGFncykKLSAgICAsIG1fdmlld1N0YXRlQ2hhbmdlV2FudHNSZXBseShmYWxzZSkKKyAg
ICAsIG1fdmlld1N0YXRlQ2hhbmdlV2FudHNTeW5jaHJvbm91c1JlcGx5KGZhbHNlKQogICAgICwg
bV9pc1BsYXlpbmdBdWRpbyhmYWxzZSkKIHsKICAgICBpZiAobV9wcm9jZXNzLT5zdGF0ZSgpID09
IFdlYlByb2Nlc3NQcm94eTo6U3RhdGU6OlJ1bm5pbmcpIHsKQEAgLTExNjgsMTAgKzExNjgsMjYg
QEAgdm9pZCBXZWJQYWdlUHJveHk6OnVwZGF0ZVZpZXdTdGF0ZShWaWV3U3RhdGU6OkZsYWdzIGZs
YWdzVG9VcGRhdGUpCiAgICAgICAgIG1fdmlld1N0YXRlIHw9IFZpZXdTdGF0ZTo6SXNWaXN1YWxs
eUlkbGU7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5Ojp2aWV3U3RhdGVEaWRDaGFuZ2UoVmlld1N0
YXRlOjpGbGFncyBtYXlIYXZlQ2hhbmdlZCwgYm9vbCB3YW50c1JlcGx5LCBWaWV3U3RhdGVDaGFu
Z2VEaXNwYXRjaE1vZGUgZGlzcGF0Y2hNb2RlKQordm9pZCBXZWJQYWdlUHJveHk6Omluc3RhbGxW
aWV3U3RhdGVDaGFuZ2VDb21wbGV0aW9uSGFuZGxlcih2b2lkKF5jb21wbGV0aW9uSGFuZGxlciko
KSkKK3sKKyAgICBpZiAoIWlzVmFsaWQoKSkgeworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigp
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgdm9pZCheY29waWVkQ29tcGxldGlvbkhh
bmRsZXIpKCkgPSBCbG9ja19jb3B5KGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICBSZWZQdHI8Vm9p
ZENhbGxiYWNrPiB2b2lkQ2FsbGJhY2sgPSBWb2lkQ2FsbGJhY2s6OmNyZWF0ZShbY29waWVkQ29t
cGxldGlvbkhhbmRsZXJdIChDYWxsYmFja0Jhc2U6OkVycm9yKSB7CisgICAgICAgIGNvcGllZENv
bXBsZXRpb25IYW5kbGVyKCk7CisgICAgICAgIEJsb2NrX3JlbGVhc2UoY29waWVkQ29tcGxldGlv
bkhhbmRsZXIpOworICAgIH0sIHN0ZDo6bWFrZV91bmlxdWU8UHJvY2Vzc1Rocm90dGxlcjo6QmFj
a2dyb3VuZEFjdGl2aXR5VG9rZW4+KG1fcHJvY2Vzcy0+dGhyb3R0bGVyKCkpKTsKKyAgICB1aW50
NjRfdCBjYWxsYmFja0lEID0gbV9jYWxsYmFja3MucHV0KHZvaWRDYWxsYmFjay5yZWxlYXNlKCkp
OworICAgIG1fbmV4dFZpZXdTdGF0ZUNoYW5nZUNhbGxiYWNrcy5hcHBlbmQoY2FsbGJhY2tJRCk7
Cit9CisKK3ZvaWQgV2ViUGFnZVByb3h5Ojp2aWV3U3RhdGVEaWRDaGFuZ2UoVmlld1N0YXRlOjpG
bGFncyBtYXlIYXZlQ2hhbmdlZCwgYm9vbCB3YW50c1N5bmNocm9ub3VzUmVwbHksIFZpZXdTdGF0
ZUNoYW5nZURpc3BhdGNoTW9kZSBkaXNwYXRjaE1vZGUpCiB7CiAgICAgbV9wb3RlbnRpYWxseUNo
YW5nZWRWaWV3U3RhdGVGbGFncyB8PSBtYXlIYXZlQ2hhbmdlZDsKLSAgICBtX3ZpZXdTdGF0ZUNo
YW5nZVdhbnRzUmVwbHkgPSBtX3ZpZXdTdGF0ZUNoYW5nZVdhbnRzUmVwbHkgfHwgd2FudHNSZXBs
eTsKKyAgICBtX3ZpZXdTdGF0ZUNoYW5nZVdhbnRzU3luY2hyb25vdXNSZXBseSA9IG1fdmlld1N0
YXRlQ2hhbmdlV2FudHNTeW5jaHJvbm91c1JlcGx5IHx8IHdhbnRzU3luY2hyb25vdXNSZXBseTsK
IAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIGJvb2wgaXNOZXdseUluV2luZG93ID0gIWlzSW5X
aW5kb3coKSAmJiAobWF5SGF2ZUNoYW5nZWQgJiBWaWV3U3RhdGU6OklzSW5XaW5kb3cpICYmIG1f
cGFnZUNsaWVudC5pc1ZpZXdJbldpbmRvdygpOwpAQCAtMTIzMCwxMCArMTI0NiwxMiBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6ZGlzcGF0Y2hWaWV3U3RhdGVDaGFuZ2UoKQogCiAgICAgLy8gV2UgYWx3
YXlzIHdhbnQgdG8gd2FpdCBmb3IgdGhlIFdlYiBwcm9jZXNzIHRvIHJlcGx5IGlmIHdlJ3ZlIGJl
ZW4gaW4td2luZG93IGJlZm9yZSBhbmQgYXJlIGNvbWluZyBiYWNrIGluLXdpbmRvdy4KICAgICBp
ZiAobV92aWV3V2FzRXZlckluV2luZG93ICYmIChjaGFuZ2VkICYgVmlld1N0YXRlOjpJc0luV2lu
ZG93KSAmJiBpc0luV2luZG93KCkpCi0gICAgICAgIG1fdmlld1N0YXRlQ2hhbmdlV2FudHNSZXBs
eSA9IHRydWU7CisgICAgICAgIG1fdmlld1N0YXRlQ2hhbmdlV2FudHNTeW5jaHJvbm91c1JlcGx5
ID0gdHJ1ZTsKKworICAgIGlmIChjaGFuZ2VkIHx8IG1fdmlld1N0YXRlQ2hhbmdlV2FudHNTeW5j
aHJvbm91c1JlcGx5KQorICAgICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6
OlNldFZpZXdTdGF0ZShtX3ZpZXdTdGF0ZSwgbV92aWV3U3RhdGVDaGFuZ2VXYW50c1N5bmNocm9u
b3VzUmVwbHksIG1fbmV4dFZpZXdTdGF0ZUNoYW5nZUNhbGxiYWNrcyksIG1fcGFnZUlEKTsKIAot
ICAgIGlmIChjaGFuZ2VkIHx8IG1fdmlld1N0YXRlQ2hhbmdlV2FudHNSZXBseSkKLSAgICAgICAg
bV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpTZXRWaWV3U3RhdGUobV92aWV3U3Rh
dGUsIG1fdmlld1N0YXRlQ2hhbmdlV2FudHNSZXBseSksIG1fcGFnZUlEKTsKKyAgICBtX25leHRW
aWV3U3RhdGVDaGFuZ2VDYWxsYmFja3MuY2xlYXIoKTsKIAogICAgIC8vIFRoaXMgbXVzdCBoYXBw
ZW4gYWZ0ZXIgdGhlIFNldFZpZXdTdGF0ZSBtZXNzYWdlIGlzIHNlbnQsIHRvIGVuc3VyZSB0aGUg
cGFnZSB2aXNpYmlsaXR5IGV2ZW50IGNhbiBmaXJlLgogICAgIHVwZGF0ZUFjdGl2aXR5VG9rZW4o
KTsKQEAgLTEyNTYsMTEgKzEyNzQsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpc3BhdGNoVmll
d1N0YXRlQ2hhbmdlKCkKIAogICAgIHVwZGF0ZUJhY2tpbmdTdG9yZURpc2NhcmRhYmxlU3RhdGUo
KTsKIAotICAgIGlmIChtX3ZpZXdTdGF0ZUNoYW5nZVdhbnRzUmVwbHkpCisgICAgaWYgKG1fdmll
d1N0YXRlQ2hhbmdlV2FudHNTeW5jaHJvbm91c1JlcGx5KQogICAgICAgICB3YWl0Rm9yRGlkVXBk
YXRlVmlld1N0YXRlKCk7CiAKICAgICBtX3BvdGVudGlhbGx5Q2hhbmdlZFZpZXdTdGF0ZUZsYWdz
ID0gVmlld1N0YXRlOjpOb0ZsYWdzOwotICAgIG1fdmlld1N0YXRlQ2hhbmdlV2FudHNSZXBseSA9
IGZhbHNlOworICAgIG1fdmlld1N0YXRlQ2hhbmdlV2FudHNTeW5jaHJvbm91c1JlcGx5ID0gZmFs
c2U7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5Ojp1cGRhdGVBY3Rpdml0eVRva2VuKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBiOTdkZTk1OTgxYjdjMWE3Y2Nk
YjZjMTJkMzFhYTBkYWVmZmIxM2FmLi5kMDhjMTgxODVmNmQwNDRiNzQ3NDk1MWNiMTE3M2ZhZDM5
MTdlMjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0zNzEs
NyArMzcxLDggQEAgcHVibGljOgogICAgIGJvb2wgZGVsZWdhdGVzU2Nyb2xsaW5nKCkgY29uc3Qg
eyByZXR1cm4gbV9kZWxlZ2F0ZXNTY3JvbGxpbmc7IH0KIAogICAgIGVudW0gY2xhc3MgVmlld1N0
YXRlQ2hhbmdlRGlzcGF0Y2hNb2RlIHsgRGVmZXJyYWJsZSwgSW1tZWRpYXRlIH07Ci0gICAgdm9p
ZCB2aWV3U3RhdGVEaWRDaGFuZ2UoV2ViQ29yZTo6Vmlld1N0YXRlOjpGbGFncyBtYXlIYXZlQ2hh
bmdlZCwgYm9vbCB3YW50c1JlcGx5ID0gZmFsc2UsIFZpZXdTdGF0ZUNoYW5nZURpc3BhdGNoTW9k
ZSA9IFZpZXdTdGF0ZUNoYW5nZURpc3BhdGNoTW9kZTo6RGVmZXJyYWJsZSk7CisgICAgdm9pZCB2
aWV3U3RhdGVEaWRDaGFuZ2UoV2ViQ29yZTo6Vmlld1N0YXRlOjpGbGFncyBtYXlIYXZlQ2hhbmdl
ZCwgYm9vbCB3YW50c1N5bmNocm9ub3VzUmVwbHkgPSBmYWxzZSwgVmlld1N0YXRlQ2hhbmdlRGlz
cGF0Y2hNb2RlID0gVmlld1N0YXRlQ2hhbmdlRGlzcGF0Y2hNb2RlOjpEZWZlcnJhYmxlKTsKKyAg
ICB2b2lkIGluc3RhbGxWaWV3U3RhdGVDaGFuZ2VDb21wbGV0aW9uSGFuZGxlcih2b2lkKF5jb21w
bGV0aW9uSGFuZGxlcikoKSk7CiAgICAgYm9vbCBpc0luV2luZG93KCkgY29uc3QgeyByZXR1cm4g
bV92aWV3U3RhdGUgJiBXZWJDb3JlOjpWaWV3U3RhdGU6OklzSW5XaW5kb3c7IH0KICAgICB2b2lk
IHdhaXRGb3JEaWRVcGRhdGVWaWV3U3RhdGUoKTsKICAgICB2b2lkIGRpZFVwZGF0ZVZpZXdTdGF0
ZSgpIHsgbV93YWl0aW5nRm9yRGlkVXBkYXRlVmlld1N0YXRlID0gZmFsc2U7IH0KQEAgLTE1ODQs
NyArMTU4NSw4IEBAIHByaXZhdGU6CiAKICAgICBXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZU1h
cCBtX2NvbmZpZ3VyYXRpb25QcmVmZXJlbmNlVmFsdWVzOwogICAgIFdlYkNvcmU6OlZpZXdTdGF0
ZTo6RmxhZ3MgbV9wb3RlbnRpYWxseUNoYW5nZWRWaWV3U3RhdGVGbGFnczsKLSAgICBib29sIG1f
dmlld1N0YXRlQ2hhbmdlV2FudHNSZXBseTsKKyAgICBib29sIG1fdmlld1N0YXRlQ2hhbmdlV2Fu
dHNTeW5jaHJvbm91c1JlcGx5OworICAgIFZlY3Rvcjx1aW50NjRfdD4gbV9uZXh0Vmlld1N0YXRl
Q2hhbmdlQ2FsbGJhY2tzOwogCiAgICAgYm9vbCBtX2lzUGxheWluZ0F1ZGlvOwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaAppbmRleCBjMmRiOGZi
OGM3NWY4Y2I2MjdiZGY4ZjJiMjM0MDQwOWMyMmE2ODZkLi4xZDgzYjRmM2VjNDZiMjVkY2Y3ODNk
ODA2ZWEzZDc3ZTFmYmI3ZDVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
bWFjL1BhZ2VDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9Q
YWdlQ2xpZW50SW1wbC5oCkBAIC0xODAsNiArMTgwLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFs
IHZvaWQgd2lsbFJlY29yZE5hdmlnYXRpb25TbmFwc2hvdChXZWJCYWNrRm9yd2FyZExpc3RJdGVt
Jikgb3ZlcnJpZGU7CiAKICAgICBOU1ZpZXcgKmFjdGl2ZVZpZXcoKSBjb25zdDsKKyAgICBOU1dp
bmRvdyAqYWN0aXZlV2luZG93KCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmlyc3RW
aXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yTWFpbkZyYW1lKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVh
bCB2b2lkIGRpZEZpbmlzaExvYWRGb3JNYWluRnJhbWUoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0gYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCmluZGV4IDVlZDdhM2Q0Zjhl
NDNiMTJiNDVhZmU2MjVjYzAwMTY2YmFjZjI1ZTAuLjc3NTVjYzhjMGQ4ZjMzZGJhNzAxNzU4OGFh
Yzc5MTI4YThiNWUxMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMv
UGFnZUNsaWVudEltcGwubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdl
Q2xpZW50SW1wbC5tbQpAQCAtMTk2LDkgKzE5NiwyMCBAQCBOU1ZpZXcgKlBhZ2VDbGllbnRJbXBs
OjphY3RpdmVWaWV3KCkgY29uc3QKICNlbmRpZgogfQogCitOU1dpbmRvdyAqUGFnZUNsaWVudElt
cGw6OmFjdGl2ZVdpbmRvdygpIGNvbnN0Cit7CisjaWYgV0tfQVBJX0VOQUJMRUQKKyAgICBpZiAo
bV93a1ZpZXcuX3RodW1ibmFpbFZpZXcpCisgICAgICAgIHJldHVybiBtX3drVmlldy5fdGh1bWJu
YWlsVmlldy53aW5kb3c7CisjZW5kaWYKKyAgICBpZiAobV93a1ZpZXcuX3RhcmdldFdpbmRvd0Zv
ck1vdmVQcmVwYXJhdGlvbikKKyAgICAgICAgcmV0dXJuIG1fd2tWaWV3Ll90YXJnZXRXaW5kb3dG
b3JNb3ZlUHJlcGFyYXRpb247CisgICAgcmV0dXJuIG1fd2tWaWV3LndpbmRvdzsKK30KKwogYm9v
bCBQYWdlQ2xpZW50SW1wbDo6aXNWaWV3V2luZG93QWN0aXZlKCkKIHsKLSAgICBOU1dpbmRvdyAq
YWN0aXZlVmlld1dpbmRvdyA9IGFjdGl2ZVZpZXcoKS53aW5kb3c7CisgICAgTlNXaW5kb3cgKmFj
dGl2ZVZpZXdXaW5kb3cgPSBhY3RpdmVXaW5kb3coKTsKICAgICByZXR1cm4gYWN0aXZlVmlld1dp
bmRvdy5pc0tleVdpbmRvdyB8fCBbTlNBcHAga2V5V2luZG93XSA9PSBhY3RpdmVWaWV3V2luZG93
OwogfQogCkBAIC0yMTUsNyArMjI2LDcgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6bWFrZUZpcnN0
UmVzcG9uZGVyKCkKIGJvb2wgUGFnZUNsaWVudEltcGw6OmlzVmlld1Zpc2libGUoKQogewogICAg
IE5TVmlldyAqYWN0aXZlVmlldyA9IHRoaXMtPmFjdGl2ZVZpZXcoKTsKLSAgICBOU1dpbmRvdyAq
YWN0aXZlVmlld1dpbmRvdyA9IGFjdGl2ZVZpZXcud2luZG93OworICAgIE5TV2luZG93ICphY3Rp
dmVWaWV3V2luZG93ID0gYWN0aXZlV2luZG93KCk7CiAKICAgICBpZiAoIWFjdGl2ZVZpZXdXaW5k
b3cpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTI0MywxMiArMjU0LDEyIEBAIGJvb2wgUGFn
ZUNsaWVudEltcGw6OmlzVmlld1Zpc2libGUoKQogCiBib29sIFBhZ2VDbGllbnRJbXBsOjppc1Zp
ZXdWaXNpYmxlT3JPY2NsdWRlZCgpCiB7Ci0gICAgcmV0dXJuIGFjdGl2ZVZpZXcoKS53aW5kb3cu
aXNWaXNpYmxlOworICAgIHJldHVybiBhY3RpdmVXaW5kb3coKS5pc1Zpc2libGU7CiB9CiAKIGJv
b2wgUGFnZUNsaWVudEltcGw6OmlzVmlld0luV2luZG93KCkKIHsKLSAgICByZXR1cm4gYWN0aXZl
VmlldygpLndpbmRvdzsKKyAgICByZXR1cm4gYWN0aXZlV2luZG93KCk7CiB9CiAKIGJvb2wgUGFn
ZUNsaWVudEltcGw6OmlzVmlzdWFsbHlJZGxlKCkKQEAgLTI1OSw3ICsyNzAsNyBAQCBib29sIFBh
Z2VDbGllbnRJbXBsOjppc1Zpc3VhbGx5SWRsZSgpCiBMYXllckhvc3RpbmdNb2RlIFBhZ2VDbGll
bnRJbXBsOjp2aWV3TGF5ZXJIb3N0aW5nTW9kZSgpCiB7CiAjaWYgSEFWRShPVVRfT0ZfUFJPQ0VT
U19MQVlFUl9IT1NUSU5HKQotICAgIGlmIChbYWN0aXZlVmlldygpLndpbmRvdyBfaG9zdHNMYXll
cnNJbldpbmRvd1NlcnZlcl0pCisgICAgaWYgKFthY3RpdmVXaW5kb3coKSBfaG9zdHNMYXllcnNJ
bldpbmRvd1NlcnZlcl0pCiAgICAgICAgIHJldHVybiBMYXllckhvc3RpbmdNb2RlOjpPdXRPZlBy
b2Nlc3M7CiAjZW5kaWYKICAgICByZXR1cm4gTGF5ZXJIb3N0aW5nTW9kZTo6SW5Qcm9jZXNzOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVh
LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaAppbmRl
eCA4MzljMDA4MjBmMmNhMjFmNTUxNjlmMGJiNDA4MzQwMjY5OWJlYTNhLi40NDFlMTE4NTk0ZWY0
NzZlNmNmZGU1NDY1ZjRmZTE4NDVjZTQyYmRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaApAQCAtMTE1LDcgKzExNSw3IEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaEFmdGVyRW5zdXJpbmdVcGRhdGVkU2Nyb2xsUG9z
aXRpb24oc3RkOjpmdW5jdGlvbjx2b2lkICgpPik7CiAKLSAgICB2aXJ0dWFsIHZvaWQgdmlld1N0
YXRlRGlkQ2hhbmdlKFdlYkNvcmU6OlZpZXdTdGF0ZTo6RmxhZ3MsIGJvb2wgLyp3YW50c0RpZFVw
ZGF0ZVZpZXdTdGF0ZSovKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgdmlld1N0YXRlRGlkQ2hhbmdl
KFdlYkNvcmU6OlZpZXdTdGF0ZTo6RmxhZ3MsIGJvb2wgLyogd2FudHNEaWRVcGRhdGVWaWV3U3Rh
dGUgKi8sIGNvbnN0IFZlY3Rvcjx1aW50NjRfdD4mIC8qIGNhbGxiYWNrSURzICovKSB7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgc2V0TGF5ZXJIb3N0aW5nTW9kZShMYXllckhvc3RpbmdNb2RlKSB7IH0K
IAogICAgIHZpcnR1YWwgYm9vbCBtYXJrTGF5ZXJzVm9sYXRpbGVJbW1lZGlhdGVseUlmUG9zc2li
bGUoKSB7IHJldHVybiB0cnVlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKaW5kZXggOTBhMjQxNWExMjg5MWU1NzYzODBjMTg5NDc5NjI5NDE2MGQy
OTA1MC4uNDk3Y2UxNDZmZWFmYTBmZGI2OTU2ZjQ3MTU0MDQ4ZjE0NmYwOTk5ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNTA0LDcgKzUw
NCw3IEBAIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBjb25zdCBXZWJQYWdlQ3Jl
YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogdm9pZCBXZWJQYWdlOjpyZWluaXRpYWxpemVX
ZWJQYWdlKGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiB7CiAg
ICAgaWYgKG1fdmlld1N0YXRlICE9IHBhcmFtZXRlcnMudmlld1N0YXRlKQotICAgICAgICBzZXRW
aWV3U3RhdGUocGFyYW1ldGVycy52aWV3U3RhdGUpOworICAgICAgICBzZXRWaWV3U3RhdGUocGFy
YW1ldGVycy52aWV3U3RhdGUsIGZhbHNlLCBWZWN0b3I8dWludDY0X3Q+KCkpOwogICAgIGlmICht
X2xheWVySG9zdGluZ01vZGUgIT0gcGFyYW1ldGVycy5sYXllckhvc3RpbmdNb2RlKQogICAgICAg
ICBzZXRMYXllckhvc3RpbmdNb2RlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihwYXJhbWV0ZXJzLmxh
eWVySG9zdGluZ01vZGUpKTsKIH0KQEAgLTIzMTEsNyArMjMxMSw3IEBAIHZvaWQgV2ViUGFnZTo6
dXBkYXRlSXNJbldpbmRvdyhib29sIGlzSW5pdGlhbFN0YXRlKQogICAgICAgICBsYXlvdXRJZk5l
ZWRlZCgpOwogfQogCi12b2lkIFdlYlBhZ2U6OnNldFZpZXdTdGF0ZShWaWV3U3RhdGU6OkZsYWdz
IHZpZXdTdGF0ZSwgYm9vbCB3YW50c0RpZFVwZGF0ZVZpZXdTdGF0ZSkKK3ZvaWQgV2ViUGFnZTo6
c2V0Vmlld1N0YXRlKFZpZXdTdGF0ZTo6RmxhZ3Mgdmlld1N0YXRlLCBib29sIHdhbnRzRGlkVXBk
YXRlVmlld1N0YXRlLCBjb25zdCBWZWN0b3I8dWludDY0X3Q+JiBjYWxsYmFja0lEcykKIHsKICAg
ICBWaWV3U3RhdGU6OkZsYWdzIGNoYW5nZWQgPSBtX3ZpZXdTdGF0ZSBeIHZpZXdTdGF0ZTsKICAg
ICBtX3ZpZXdTdGF0ZSA9IHZpZXdTdGF0ZTsKQEAgLTIzMjAsNyArMjMyMCw3IEBAIHZvaWQgV2Vi
UGFnZTo6c2V0Vmlld1N0YXRlKFZpZXdTdGF0ZTo6RmxhZ3Mgdmlld1N0YXRlLCBib29sIHdhbnRz
RGlkVXBkYXRlVmlld1N0CiAgICAgZm9yIChhdXRvKiBwbHVnaW5WaWV3IDogbV9wbHVnaW5WaWV3
cykKICAgICAgICAgcGx1Z2luVmlldy0+dmlld1N0YXRlRGlkQ2hhbmdlKGNoYW5nZWQpOwogCi0g
ICAgbV9kcmF3aW5nQXJlYS0+dmlld1N0YXRlRGlkQ2hhbmdlKGNoYW5nZWQsIHdhbnRzRGlkVXBk
YXRlVmlld1N0YXRlKTsKKyAgICBtX2RyYXdpbmdBcmVhLT52aWV3U3RhdGVEaWRDaGFuZ2UoY2hh
bmdlZCwgd2FudHNEaWRVcGRhdGVWaWV3U3RhdGUsIGNhbGxiYWNrSURzKTsKIAogICAgIGlmIChj
aGFuZ2VkICYgVmlld1N0YXRlOjpJc0luV2luZG93KQogICAgICAgICB1cGRhdGVJc0luV2luZG93
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCA5
MWQ5MTkzOGJjNWM5ZDA2ZWE4ZTA2MTk5MjgzNzQ3NTkzNjVhYjhmLi5lMTQxMGQ5NzcyZTZiNThj
ZmUxMGY2MDkyZDZkZTYwMmU0OWI1ZjE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmgKQEAgLTkyNSw3ICs5MjUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQg
c2V0SW5pdGlhbEZvY3VzKGJvb2wgZm9yd2FyZCwgYm9vbCBpc0tleWJvYXJkRXZlbnRWYWxpZCwg
Y29uc3QgV2ViS2V5Ym9hcmRFdmVudCYpOwogICAgIHZvaWQgc2V0V2luZG93UmVzaXplclNpemUo
Y29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpOwogICAgIHZvaWQgdXBkYXRlSXNJbldpbmRvdyhib29s
IGlzSW5pdGlhbFN0YXRlID0gZmFsc2UpOwotICAgIHZvaWQgc2V0Vmlld1N0YXRlKFdlYkNvcmU6
OlZpZXdTdGF0ZTo6RmxhZ3MsIGJvb2wgd2FudHNEaWRVcGRhdGVWaWV3U3RhdGUgPSBmYWxzZSk7
CisgICAgdm9pZCBzZXRWaWV3U3RhdGUoV2ViQ29yZTo6Vmlld1N0YXRlOjpGbGFncywgYm9vbCB3
YW50c0RpZFVwZGF0ZVZpZXdTdGF0ZSwgY29uc3QgVmVjdG9yPHVpbnQ2NF90PiYgY2FsbGJhY2tJ
RHMpOwogICAgIHZvaWQgdmFsaWRhdGVDb21tYW5kKGNvbnN0IFN0cmluZyYsIHVpbnQ2NF90KTsK
ICAgICB2b2lkIGV4ZWN1dGVFZGl0Q29tbWFuZChjb25zdCBTdHJpbmcmKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4g
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpp
bmRleCBhZTc5N2VjY2YzMzAyYzAzODYzODRmZGRiNDY0ODhhNGVmMzEyNTMyLi5iOTEyZGE1NDJi
ZWRiY2IxYjZiNmYwOGNlZDkyNDczZDBjMmFkNjg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtMjIsNyArMjIs
NyBAQAogCiBtZXNzYWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJlY2VpdmVyIHsKICAgICBTZXRJbml0
aWFsRm9jdXMoYm9vbCBmb3J3YXJkLCBib29sIGlzS2V5Ym9hcmRFdmVudFZhbGlkLCBXZWJLaXQ6
OldlYktleWJvYXJkRXZlbnQgZXZlbnQpCi0gICAgU2V0Vmlld1N0YXRlKHVuc2lnbmVkIHZpZXdT
dGF0ZSwgYm9vbCB3YW50c0RpZFVwZGF0ZVZpZXdTdGF0ZSkKKyAgICBTZXRWaWV3U3RhdGUodW5z
aWduZWQgdmlld1N0YXRlLCBib29sIHdhbnRzRGlkVXBkYXRlVmlld1N0YXRlLCBWZWN0b3I8dWlu
dDY0X3Q+IGNhbGxiYWNrSURzKQogICAgIFNldExheWVySG9zdGluZ01vZGUodW5zaWduZWQgbGF5
ZXJIb3N0aW5nTW9kZSkKIAogICAgIFNldFNlc3Npb25JRChXZWJDb3JlOjpTZXNzaW9uSUQgc2Vz
c2lvbklEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5oCmluZGV4IGZjZTVjMTQ2
OWQ4NmZjNWFhZGNkODZlMWVlY2ZkYTFjOGFlMmQ2ZjIuLjk1YTJkZmNlMDgxYzQ4OWZhNTE4MTI0
MmE2NmJiM2MyMTU3N2EwOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLmgK
QEAgLTEwMyw3ICsxMDMsNyBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCB2b2lkIG1haW5GcmFt
ZUNvbnRlbnRTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgb3ZlcnJpZGU7CiAK
LSAgICB2aXJ0dWFsIHZvaWQgdmlld1N0YXRlRGlkQ2hhbmdlKFdlYkNvcmU6OlZpZXdTdGF0ZTo6
RmxhZ3MgY2hhbmdlZCwgYm9vbCB3YW50c0RpZFVwZGF0ZVZpZXdTdGF0ZSkgb3ZlcnJpZGU7Cisg
ICAgdmlydHVhbCB2b2lkIHZpZXdTdGF0ZURpZENoYW5nZShXZWJDb3JlOjpWaWV3U3RhdGU6OkZs
YWdzIGNoYW5nZWQsIGJvb2wgd2FudHNEaWRVcGRhdGVWaWV3U3RhdGUsIGNvbnN0IFZlY3Rvcjx1
aW50NjRfdD4mIGNhbGxiYWNrSURzKSBvdmVycmlkZTsKIAogICAgIHZpcnR1YWwgYm9vbCBhZGp1
c3RMYXllckZsdXNoVGhyb3R0bGluZyhXZWJDb3JlOjpMYXllckZsdXNoVGhyb3R0bGVTdGF0ZTo6
RmxhZ3MpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbQpp
bmRleCA5NzAzMjY2YzNmMzNlNmQ3YzA4MDVhM2MzZjFkOGQ5NWNiZjU0YWVlLi5mMTMxZDVlMmYw
ODI0YmI1MjQ4MzM1MTk2ZjBiY2NjNjI2NjAxZWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWEubW0KQEAgLTQ2Nyw3ICs0NjcsNyBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhOjpCYWNraW5nU3RvcmVGbHVzaGVyOjpmbHVzaCgpCiAgICAgbV9jb25uZWN0aW9u
LT5zZW5kTWVzc2FnZShXVEY6Om1vdmUobV9jb21taXRFbmNvZGVyKSk7CiB9CiAKLXZvaWQgUmVt
b3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnZpZXdTdGF0ZURpZENoYW5nZShWaWV3U3RhdGU6OkZs
YWdzLCBib29sIHdhbnRzRGlkVXBkYXRlVmlld1N0YXRlKQordm9pZCBSZW1vdGVMYXllclRyZWVE
cmF3aW5nQXJlYTo6dmlld1N0YXRlRGlkQ2hhbmdlKFZpZXdTdGF0ZTo6RmxhZ3MsIGJvb2wgd2Fu
dHNEaWRVcGRhdGVWaWV3U3RhdGUsIGNvbnN0IFZlY3Rvcjx1aW50NjRfdD4mKQogewogICAgIC8v
IEZJWE1FOiBTaG91bGQgd2Ugc3VzcGVuZCBwYWludGluZyB3aGlsZSBub3QgdmlzaWJsZSwgbGlr
ZSBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYT8gUHJvYmFibHkuCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9u
RHJhd2luZ0FyZWEuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGls
ZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEuaAppbmRleCBlMTFmNmU3Yzk4NmQyMTE3ZjQ3MDJj
NDAzNTY4YzcxYzVkOTEwOTJlLi5lYzY4MjRjNTgyOWViZGM2YmEzMTM4NDJmZGUyY2NmNTE3YjA4
OTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1Rp
bGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5oCkBAIC04MSw3
ICs4MSw3IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkVXNlVGlsZWRCYWNr
aW5nRm9yRnJhbWVWaWV3KGNvbnN0IFdlYkNvcmU6OkZyYW1lVmlldyopIG92ZXJyaWRlOwogCi0g
ICAgdmlydHVhbCB2b2lkIHZpZXdTdGF0ZURpZENoYW5nZShXZWJDb3JlOjpWaWV3U3RhdGU6OkZs
YWdzIGNoYW5nZWQsIGJvb2wgd2FudHNEaWRVcGRhdGVWaWV3U3RhdGUpIG92ZXJyaWRlOworICAg
IHZpcnR1YWwgdm9pZCB2aWV3U3RhdGVEaWRDaGFuZ2UoV2ViQ29yZTo6Vmlld1N0YXRlOjpGbGFn
cyBjaGFuZ2VkLCBib29sIHdhbnRzRGlkVXBkYXRlVmlld1N0YXRlLCBjb25zdCBWZWN0b3I8dWlu
dDY0X3Q+Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRVcGRhdGVWaWV3U3RhdGVUaW1lckZpcmVk
KCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoVmlld092ZXJsYXlHcmFwaGljc0xheWVyKFdl
YkNvcmU6OkZyYW1lKiwgV2ViQ29yZTo6R3JhcGhpY3NMYXllciopIG92ZXJyaWRlOwpAQCAtMTQx
LDYgKzE0MSw4IEBAIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXgg
bV90cmFuc2Zvcm07CiAKICAgICBSdW5Mb29wOjpUaW1lcjxUaWxlZENvcmVBbmltYXRpb25EcmF3
aW5nQXJlYT4gbV9zZW5kRGlkVXBkYXRlVmlld1N0YXRlVGltZXI7CisgICAgVmVjdG9yPHVpbnQ2
NF90PiBtX25leHRWaWV3U3RhdGVDaGFuZ2VDYWxsYmFja0lEczsKKyAgICBib29sIG1fd2FudHNE
aWRVcGRhdGVWaWV3U3RhdGU7CiAKICAgICBXZWJDb3JlOjpHcmFwaGljc0xheWVyKiBtX3ZpZXdP
dmVybGF5Um9vdExheWVyOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0gYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdB
cmVhLm1tCmluZGV4IGZhYmU4MjA5OGJjZDQxMDczYmQwMDQxNzEyNjhlZGEzNjRjNzgwN2EuLjkx
OWM4NjI4N2Y4YjBiZWViMTE0OGRkODg5YTY0ZjZiMGFiZWNlZTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2lu
Z0FyZWEubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxl
ZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQpAQCAtNzgsNiArNzgsNyBAQCBUaWxlZENvcmVB
bmltYXRpb25EcmF3aW5nQXJlYTo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEoV2ViUGFn
ZSYgd2ViUGFnZSwgYwogICAgICwgbV9zY3JvbGxlZEV4cG9zZWRSZWN0KEZsb2F0UmVjdDo6aW5m
aW5pdGVSZWN0KCkpCiAgICAgLCBtX3RyYW5zaWVudFpvb21TY2FsZSgxKQogICAgICwgbV9zZW5k
RGlkVXBkYXRlVmlld1N0YXRlVGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmVGlsZWRDb3Jl
QW5pbWF0aW9uRHJhd2luZ0FyZWE6OmRpZFVwZGF0ZVZpZXdTdGF0ZVRpbWVyRmlyZWQpCisgICAg
LCBtX3dhbnRzRGlkVXBkYXRlVmlld1N0YXRlKGZhbHNlKQogICAgICwgbV92aWV3T3ZlcmxheVJv
b3RMYXllcihudWxscHRyKQogewogICAgIG1fd2ViUGFnZS5jb3JlUGFnZSgpLT5zZXR0aW5ncygp
LnNldEZvcmNlQ29tcG9zaXRpbmdNb2RlKHRydWUpOwpAQCAtMzI3LDggKzMyOCwxMSBAQCBib29s
IFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpmbHVzaExheWVycygpCiAgICAgfQogfQog
Ci12b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjp2aWV3U3RhdGVEaWRDaGFuZ2Uo
Vmlld1N0YXRlOjpGbGFncyBjaGFuZ2VkLCBib29sIHdhbnRzRGlkVXBkYXRlVmlld1N0YXRlKQor
dm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6dmlld1N0YXRlRGlkQ2hhbmdlKFZp
ZXdTdGF0ZTo6RmxhZ3MgY2hhbmdlZCwgYm9vbCB3YW50c0RpZFVwZGF0ZVZpZXdTdGF0ZSwgY29u
c3QgVmVjdG9yPHVpbnQ2NF90PiYgbmV4dFZpZXdTdGF0ZUNoYW5nZUNhbGxiYWNrSURzKQogewor
ICAgIG1fbmV4dFZpZXdTdGF0ZUNoYW5nZUNhbGxiYWNrSURzLmFwcGVuZFZlY3RvcihuZXh0Vmll
d1N0YXRlQ2hhbmdlQ2FsbGJhY2tJRHMpOworICAgIG1fd2FudHNEaWRVcGRhdGVWaWV3U3RhdGUg
fD0gd2FudHNEaWRVcGRhdGVWaWV3U3RhdGU7CisKICAgICBpZiAoY2hhbmdlZCAmIFZpZXdTdGF0
ZTo6SXNWaXNpYmxlKSB7CiAgICAgICAgIGlmIChtX3dlYlBhZ2UuaXNWaXNpYmxlKCkpCiAgICAg
ICAgICAgICByZXN1bWVQYWludGluZygpOwpAQCAtMzM2LDE0ICszNDAsMjIgQEAgdm9pZCBUaWxl
ZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6dmlld1N0YXRlRGlkQ2hhbmdlKFZpZXdTdGF0ZTo6
RmxhZ3MgY2hhbmdlZCwKICAgICAgICAgICAgIHN1c3BlbmRQYWludGluZygpOwogICAgIH0KIAot
ICAgIGlmICh3YW50c0RpZFVwZGF0ZVZpZXdTdGF0ZSkKKyAgICBpZiAobV93YW50c0RpZFVwZGF0
ZVZpZXdTdGF0ZSB8fCAhbV9uZXh0Vmlld1N0YXRlQ2hhbmdlQ2FsbGJhY2tJRHMuaXNFbXB0eSgp
KQogICAgICAgICBtX3NlbmREaWRVcGRhdGVWaWV3U3RhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7
CiB9CiAKIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmRpZFVwZGF0ZVZpZXdT
dGF0ZVRpbWVyRmlyZWQoKQogewogICAgIFtDQVRyYW5zYWN0aW9uIGZsdXNoXTsKLSAgICBtX3dl
YlBhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRVcGRhdGVWaWV3U3RhdGUoKSk7
CisKKyAgICBpZiAobV93YW50c0RpZFVwZGF0ZVZpZXdTdGF0ZSkKKyAgICAgICAgbV93ZWJQYWdl
LnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkVXBkYXRlVmlld1N0YXRlKCkpOworCisg
ICAgZm9yICh1aW50NjRfdCBjYWxsYmFja0lEIDogbV9uZXh0Vmlld1N0YXRlQ2hhbmdlQ2FsbGJh
Y2tJRHMpCisgICAgICAgIG1fd2ViUGFnZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlZv
aWRDYWxsYmFjayhjYWxsYmFja0lEKSk7CisKKyAgICBtX25leHRWaWV3U3RhdGVDaGFuZ2VDYWxs
YmFja0lEcy5jbGVhcigpOworICAgIG1fd2FudHNEaWRVcGRhdGVWaWV3U3RhdGUgPSBmYWxzZTsK
IH0KIAogdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6c3VzcGVuZFBhaW50aW5n
KCkK
</data>
<flag name="review"
          id="267822"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>