<?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>77208</bug_id>
          
          <creation_ts>2012-01-27 05:38:46 -0800</creation_ts>
          <short_desc>[WK2] WKPageGetContextMenuFromProposedContextMenuCallback should pass a HitTestResult</short_desc>
          <delta_ts>2012-03-05 08:34:49 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>543995</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-01-27 05:38:46 -0800</bug_when>
    <thetext>The context menu client user might need more information about the element affected by the context menu. We are currently passing the image URL and link URL (this info isn&apos;t passed to the callback either, though) to use them  in context menu actions. Now that we have WebHitTestResultData in the C API, we could pass the HitTestResult and get rid of ContextMenuState. It would be passed in the ShowContextMenu message instead of the ContextMenuState and then to getContextMenuFromProposedMenu() in the UI process, like we currently do for the injected bundle context menu client.
What do you think? I&apos;ll make the patch if you think it&apos;s a good idea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545180</commentid>
    <comment_count>1</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-01-30 10:01:38 -0800</bug_when>
    <thetext>Sounds good to me. Just keep in mind that we can&apos;t break the WebKit2 C API/ABI so you probably have to add a new callback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545183</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-01-30 10:06:35 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; Sounds good to me. Just keep in mind that we can&apos;t break the WebKit2 C API/ABI so you probably have to add a new callback.

Yes, sure. I&apos;ll write a patch then, thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545877</commentid>
    <comment_count>3</comment_count>
      <attachid>124690</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-01-31 02:32:14 -0800</bug_when>
    <thetext>Created attachment 124690
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545879</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-31 02:35:36 -0800</bug_when>
    <thetext>Attachment 124690 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/update-webkit&apos;]&quot; exit_code: 9

Updating OpenSource
First, rewinding head to replay your work on top of it...
Applying: Fix compilation errors on build-webkit --debug --no-workers on mac.
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
Auto-merging LayoutTests/ChangeLog
CONFLICT (content): Merge conflict in LayoutTests/ChangeLog
Auto-merging LayoutTests/platform/qt/Skipped
CONFLICT (content): Merge conflict in LayoutTests/platform/qt/Skipped
Auto-merging Source/WebCore/ChangeLog
CONFLICT (content): Merge conflict in Source/WebCore/ChangeLog
Failed to merge in the changes.
Patch failed at 0001 Fix compilation errors on build-webkit --debug --no-workers on mac.

When you have resolved this problem run &quot;git rebase --continue&quot;.
If you would prefer to skip this patch, instead run &quot;git rebase --skip&quot;.
To restore the original branch and stop rebasing run &quot;git rebase --abort&quot;.

rebase refs/remotes/origin/master: command returned error: 1

Died at Tools/Scripts/update-webkit line 164.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570726</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-03-05 08:34:49 -0800</bug_when>
    <thetext>Committed r109750: &lt;http://trac.webkit.org/changeset/109750&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124690</attachid>
            <date>2012-01-31 02:32:14 -0800</date>
            <delta_ts>2012-03-05 08:15:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-context-menu-client-version2.diff</filename>
            <type>text/plain</type>
            <size>26634</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA5MjAxNjdjLi40NTFhOGM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYg
QEAKKzIwMTItMDEtMzEgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtXSzJdIFdLUGFnZUdldENvbnRleHRNZW51RnJvbVByb3Bvc2VkQ29udGV4
dE1lbnVDYWxsYmFjayBzaG91bGQgcGFzcyBhIEhpdFRlc3RSZXN1bHQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjA4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQSBIaXRUZXN0UmVzdWx0RGF0YSBpcyBu
b3cgcGFzc2VkIHRvIFNob3dDb250ZXh0TWVudSBXZWJQYWdlUHJveHkKKyAgICAgICAgbWVzc2Fn
ZSBpbnN0ZWFkIG9mIHRoZSBDb250ZXh0TWVudVN0YXRlLiBDb250ZXh0TWVudSBjbGllbnQgaGFz
CisgICAgICAgIGJlZW4gdXBkYXRlZCB0byBwYXNzIHRoZSBIaXRUZXN0UmVzdWx0IHRvIHRoZQor
ICAgICAgICBnZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnUgY2FsbGJhY2suCisKKyAgICAg
ICAgKiBHTlVtYWtlZmlsZS5hbTogUmVtb3ZlIENvbnRleHRNZW51U3RhdGUuaC4KKyAgICAgICAg
KiBTaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmg6CisgICAgICAgICogU2hhcmVkL0NvbnRleHRNZW51
U3RhdGUuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBTaGFyZWQvV2ViSGl0VGVzdFJlc3VsdC5oOgor
ICAgICAgICAoV2ViS2l0OjpXZWJIaXRUZXN0UmVzdWx0OjpEYXRhOjpEYXRhKTogQWRkIGNvbnN0
cnVjdG9yIHRoYXQgdGFrZXMKKyAgICAgICAgYSBXZWJDb3JlOjpIaXRUZXN0UmVzdWx0LgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaDogQWRkIEhpdFRlc3RSZXN1bHQgcGFyYW1l
dGVyIHRvCisgICAgICAgIGdldENvbnRleHRNZW51RnJvbVByb3Bvc2VkTWVudSBjYWxsYmFjayBh
bmQgZGVwcmVjYXRlIHRoZSBvbGQKKyAgICAgICAgdmVyc2lvbi4KKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZUNvbnRleHRNZW51Q2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZUNvbnRleHRNZW51Q2xpZW50OjpnZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnUpOgorICAg
ICAgICBQYXNzIGEgSGl0VGVzdFJlc3VsdCB0byBnZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZE1l
bnUgb3IgdXNlIHRoZQorICAgICAgICBkZXByZWNhdGVkIG9uZSBpZiBjbGllbnQgdmVyc2lvbiBp
cyBhbiBvbGQgb25lLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlQ29udGV4dE1lbnVDbGll
bnQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5OjpzaG93Q29udGV4dE1lbnUpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlUHJveHk6OmludGVybmFsU2hvd0NvbnRleHRNZW51KTogU2F2ZSB0aGUKKyAgICAgICAg
V2ViSGl0VGVzdFJlc3VsdDo6RGF0YSB0byB1c2UgaXQgZm9yIGhhbmRsaW5nIGNvbnRleHQgbWVu
dSBhY3Rpb25zLgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNvbnRleHRNZW51SXRl
bVNlbGVjdGVkKTogVXNlIHRoZSBzYXZlZAorICAgICAgICBXZWJIaXRUZXN0UmVzdWx0OjpEYXRh
LgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajogUmVtb3ZlIENvbnRleHRNZW51U3RhdGUuaC4KKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6bW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQpOiBVc2UgdGhl
IG5ldworICAgICAgICBXZWJIaXRUZXN0UmVzdWx0OjpEYXRhIGNvbnN0cnVjdG9yIHRoYXQgdGFr
ZXMgYSBXZWJDb3JlOjpIaXRUZXN0UmVzdWx0LgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJDb250ZXh0TWVudS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHRNZW51Ojpz
aG93KTogQ3JlYXRlIGEgV2ViSGl0VGVzdFJlc3VsdDo6RGF0YQorICAgICAgICBpbnN0ZWFkIG9m
IGEgQ29udGV4dE1lbnVTdGF0ZSBhbmQgcGFzcyBpdCB0byBTaG93Q29udGV4dE1lbnUgbWVzc2Fn
ZS4KKyAgICAgICAgKiB3aW4vV2ViS2l0Mi52Y3Byb2o6IENvbnRleHRNZW51U3RhdGUuaC4KKwog
MjAxMi0wMS0zMCAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAbm9raWEuY29t
PgogCiAgICAgICAgIFtRdF0gRGlzY29ubmVjdCB0aGUgTGF5ZXJUcmVlSG9zdCBmcm9tIGxheWVy
cyB3aGVuIHRoZXkgZ2V0IHJlbW92ZWQgZnJvbSB0aGVpciBwYXJlbnQuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxl
LmFtCmluZGV4IGI3NmIyMWYuLjFlMzc5YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0dO
VW1ha2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCkBAIC0yMzQs
NyArMjM0LDYgQEAgbGlid2Via2l0Mmd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9A
V0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9TT1UKIAlTb3VyY2UvV2ViS2l0Mi9QbHVn
aW5Qcm9jZXNzL1dlYlByb2Nlc3NDb25uZWN0aW9uLmggXAogCVNvdXJjZS9XZWJLaXQyL1BsdWdp
blByb2Nlc3MvZ3RrL1BsdWdpbkNvbnRyb2xsZXJQcm94eUd0ay5jcHAgXAogCVNvdXJjZS9XZWJL
aXQyL1BsdWdpblByb2Nlc3MvZ3RrL1BsdWdpblByb2Nlc3NHdGsuY3BwIFwKLQlTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQ29udGV4dE1lbnVTdGF0ZS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
RHJhZ0NvbnRyb2xsZXJBY3Rpb24uaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL0ZvbnRJbmZv
LmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9IVFRQQ29va2llQWNjZXB0UG9saWN5LmggXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5oIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5oCmluZGV4IDQzMzBkNWQuLmI0OTg2
Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmgKQEAgLTQzLDcgKzQz
LDcgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQVBJQ2xpZW50VHJhaXRzPFdLQnVuZGxlUGFnZUxvYWRl
ckNsaWVudD4KIH07CiAKIHRlbXBsYXRlPD4gc3RydWN0IEFQSUNsaWVudFRyYWl0czxXS1BhZ2VD
b250ZXh0TWVudUNsaWVudD4gewotICAgIHN0YXRpYyBjb25zdCBzaXplX3QgaW50ZXJmYWNlU2l6
ZXNCeVZlcnNpb25bMl07CisgICAgc3RhdGljIGNvbnN0IHNpemVfdCBpbnRlcmZhY2VTaXplc0J5
VmVyc2lvblszXTsKIH07CiAKIHRlbXBsYXRlPD4gc3RydWN0IEFQSUNsaWVudFRyYWl0czxXS1Bh
Z2VMb2FkZXJDbGllbnQ+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db250
ZXh0TWVudVN0YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29udGV4dE1lbnVTdGF0ZS5o
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZTE0ODdiLi4wMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9Db250ZXh0TWVudVN0YXRlLmgKKysrIC9kZXYvbnVsbApAQCAt
MSw1NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBDb250ZXh0TWVudVN0YXRlX2gKLSNk
ZWZpbmUgQ29udGV4dE1lbnVTdGF0ZV9oCi0KLSNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2Rl
cnMuaCIKLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KLQotbmFtZXNwYWNlIFdlYktp
dCB7Ci0KLXN0cnVjdCBDb250ZXh0TWVudVN0YXRlIHsKLSAgICBTdHJpbmcgYWJzb2x1dGVMaW5r
VVJMU3RyaW5nOwotICAgIFN0cmluZyBhYnNvbHV0ZUltYWdlVVJMU3RyaW5nOwotCi0gICAgdm9p
ZCBlbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyKiBlbmNvZGVyKSBjb25zdAotICAgIHsK
LSAgICAgICAgZW5jb2Rlci0+ZW5jb2RlKGFic29sdXRlTGlua1VSTFN0cmluZyk7Ci0gICAgICAg
IGVuY29kZXItPmVuY29kZShhYnNvbHV0ZUltYWdlVVJMU3RyaW5nKTsKLSAgICB9Ci0KLSAgICBz
dGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBDb250
ZXh0TWVudVN0YXRlJiByZXN1bHQpCi0gICAgewotICAgICAgICBpZiAoIWRlY29kZXItPmRlY29k
ZShyZXN1bHQuYWJzb2x1dGVMaW5rVVJMU3RyaW5nKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUocmVzdWx0LmFic29sdXRlSW1hZ2VVUkxT
dHJpbmcpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIAotICAgICAgICByZXR1cm4g
dHJ1ZTsKLSAgICB9Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIENv
bnRleHRNZW51U3RhdGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkhp
dFRlc3RSZXN1bHQuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJIaXRUZXN0UmVzdWx0LmgK
aW5kZXggOWJmNjNmYy4uZDE2ZGNkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYkhpdFRlc3RSZXN1bHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViSGl0VGVz
dFJlc3VsdC5oCkBAIC00OSw2ICs0OSwyMCBAQCBwdWJsaWM6CiAgICAgICAgIFN0cmluZyBsaW5r
TGFiZWw7CiAgICAgICAgIFN0cmluZyBsaW5rVGl0bGU7CiAKKyAgICAgICAgRGF0YSgpCisgICAg
ICAgIHsKKyAgICAgICAgfQorCisgICAgICAgIGV4cGxpY2l0IERhdGEoY29uc3QgV2ViQ29yZTo6
SGl0VGVzdFJlc3VsdCYgaGl0VGVzdFJlc3VsdCkKKyAgICAgICAgICAgIDogYWJzb2x1dGVJbWFn
ZVVSTChoaXRUZXN0UmVzdWx0LmFic29sdXRlSW1hZ2VVUkwoKS5zdHJpbmcoKSkKKyAgICAgICAg
ICAgICwgYWJzb2x1dGVQREZVUkwoaGl0VGVzdFJlc3VsdC5hYnNvbHV0ZVBERlVSTCgpLnN0cmlu
ZygpKQorICAgICAgICAgICAgLCBhYnNvbHV0ZUxpbmtVUkwoaGl0VGVzdFJlc3VsdC5hYnNvbHV0
ZUxpbmtVUkwoKS5zdHJpbmcoKSkKKyAgICAgICAgICAgICwgYWJzb2x1dGVNZWRpYVVSTChoaXRU
ZXN0UmVzdWx0LmFic29sdXRlTWVkaWFVUkwoKS5zdHJpbmcoKSkKKyAgICAgICAgICAgICwgbGlu
a0xhYmVsKGhpdFRlc3RSZXN1bHQudGV4dENvbnRlbnQoKSkKKyAgICAgICAgICAgICwgbGlua1Rp
dGxlKGhpdFRlc3RSZXN1bHQudGl0bGVEaXNwbGF5U3RyaW5nKCkpCisgICAgICAgIHsKKyAgICAg
ICAgfQorCiAgICAgICAgIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciopIGNv
bnN0OwogICAgICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVy
KiwgV2ViSGl0VGVzdFJlc3VsdDo6RGF0YSYpOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tQYWdlLmgKaW5kZXggMWRlNzA2Mi4uN2Y5MjQ4MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaApAQCAtMjc4LDI0ICsyNzgsMjkgQEAgZW51bSB7CiB9
OwogCiAvLyBDb250ZXh0TWVudSBjbGllbnQKLXR5cGVkZWYgdm9pZCAoKldLUGFnZUdldENvbnRl
eHRNZW51RnJvbVByb3Bvc2VkQ29udGV4dE1lbnVDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdL
QXJyYXlSZWYgcHJvcG9zZWRNZW51LCBXS0FycmF5UmVmKiBuZXdNZW51LCBXS1R5cGVSZWYgdXNl
ckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tQYWdlR2V0
Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRDb250ZXh0TWVudUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFn
ZSwgV0tBcnJheVJlZiBwcm9wb3NlZE1lbnUsIFdLQXJyYXlSZWYqIG5ld01lbnUsIFdLSGl0VGVz
dFJlc3VsdFJlZiBoaXRUZXN0UmVzdWx0LCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQq
IGNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tQYWdlQ3VzdG9tQ29udGV4dE1lbnVJdGVt
U2VsZWN0ZWRDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLQ29udGV4dE1lbnVJdGVtUmVmIGNv
bnRleHRNZW51SXRlbSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpX
S1BhZ2VDb250ZXh0TWVudURpc21pc3NlZENhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qg
dm9pZCogY2xpZW50SW5mbyk7CiAKKy8vIERlcHJlY2F0ZWQKK3R5cGVkZWYgdm9pZCAoKldLUGFn
ZUdldENvbnRleHRNZW51RnJvbVByb3Bvc2VkQ29udGV4dE1lbnVDYWxsYmFja19kZXByZWNhdGVk
Rm9yVXNlV2l0aFYwKShXS1BhZ2VSZWYgcGFnZSwgV0tBcnJheVJlZiBwcm9wb3NlZE1lbnUsIFdL
QXJyYXlSZWYqIG5ld01lbnUsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50
SW5mbyk7CiBzdHJ1Y3QgV0tQYWdlQ29udGV4dE1lbnVDbGllbnQgewotICAgIGludCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dmVyc2lvbjsKLSAgICBjb25zdCB2b2lkICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudEluZm87Ci0gICAgCisgICAgaW50ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZXJzaW9uOworICAgIGNvbnN0IHZvaWQgKiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SW5mbzsK
KwogICAgIC8vIFZlcnNpb24gMAotICAgIFdLUGFnZUdldENvbnRleHRNZW51RnJvbVByb3Bvc2Vk
Q29udGV4dE1lbnVDYWxsYmFjayAgICAgICAgICAgICAgICAgZ2V0Q29udGV4dE1lbnVGcm9tUHJv
cG9zZWRNZW51OwotICAgIFdLUGFnZUN1c3RvbUNvbnRleHRNZW51SXRlbVNlbGVjdGVkQ2FsbGJh
Y2sgICAgICAgICAgICAgICAgICAgICAgICAgY3VzdG9tQ29udGV4dE1lbnVJdGVtU2VsZWN0ZWQ7
Ci0gICAgCisgICAgV0tQYWdlR2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRDb250ZXh0TWVudUNh
bGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgICBnZXRDb250ZXh0TWVudUZyb21Qcm9wb3Nl
ZE1lbnVfZGVwcmVjYXRlZEZvclVzZVdpdGhWMDsKKyAgICBXS1BhZ2VDdXN0b21Db250ZXh0TWVu
dUl0ZW1TZWxlY3RlZENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1
c3RvbUNvbnRleHRNZW51SXRlbVNlbGVjdGVkOworCiAgICAgLy8gVmVyc2lvbiAxCi0gICAgV0tQ
YWdlQ29udGV4dE1lbnVEaXNtaXNzZWRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb250ZXh0TWVudURpc21pc3NlZDsKKyAgICBXS1BhZ2VDb250ZXh0TWVudURpc21p
c3NlZENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnRleHRNZW51RGlzbWlzc2VkOworCisgICAgLy8gVmVyc2lvbiAyCisgICAgV0tQYWdlR2V0Q29u
dGV4dE1lbnVGcm9tUHJvcG9zZWRDb250ZXh0TWVudUNhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICBnZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnU7CiB9OwogdHlwZWRlZiBzdHJ1
Y3QgV0tQYWdlQ29udGV4dE1lbnVDbGllbnQgV0tQYWdlQ29udGV4dE1lbnVDbGllbnQ7CiAKLWVu
dW0geyBrV0tQYWdlQ29udGV4dE1lbnVDbGllbnRDdXJyZW50VmVyc2lvbiA9IDEgfTsKK2VudW0g
eyBrV0tQYWdlQ29udGV4dE1lbnVDbGllbnRDdXJyZW50VmVyc2lvbiA9IDIgfTsKIAogV0tfRVhQ
T1JUIFdLVHlwZUlEIFdLUGFnZUdldFR5cGVJRCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZUNvbnRleHRNZW51Q2xpZW50LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlQ29udGV4dE1lbnVDbGllbnQuY3BwCmluZGV4IDg5NzUxMWMu
LjNmN2QwMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlQ29u
dGV4dE1lbnVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
Q29udGV4dE1lbnVDbGllbnQuY3BwCkBAIC0zNCwxMSArMzQsMTQgQEAKIAogbmFtZXNwYWNlIFdl
YktpdCB7CiAKLWJvb2wgV2ViUGFnZUNvbnRleHRNZW51Q2xpZW50OjpnZXRDb250ZXh0TWVudUZy
b21Qcm9wb3NlZE1lbnUoV2ViUGFnZVByb3h5KiBwYWdlLCBjb25zdCBWZWN0b3I8V2ViQ29udGV4
dE1lbnVJdGVtRGF0YT4mIHByb3Bvc2VkTWVudVZlY3RvciwgVmVjdG9yPFdlYkNvbnRleHRNZW51
SXRlbURhdGE+JiBjdXN0b21NZW51LCBBUElPYmplY3QqIHVzZXJEYXRhKQorYm9vbCBXZWJQYWdl
Q29udGV4dE1lbnVDbGllbnQ6OmdldENvbnRleHRNZW51RnJvbVByb3Bvc2VkTWVudShXZWJQYWdl
UHJveHkqIHBhZ2UsIGNvbnN0IFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiYgcHJvcG9z
ZWRNZW51VmVjdG9yLCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mIGN1c3RvbU1lbnUs
IGNvbnN0IFdlYkhpdFRlc3RSZXN1bHQ6OkRhdGEmIGhpdFRlc3RSZXN1bHREYXRhLCBBUElPYmpl
Y3QqIHVzZXJEYXRhKQogewotICAgIGlmICghbV9jbGllbnQuZ2V0Q29udGV4dE1lbnVGcm9tUHJv
cG9zZWRNZW51KQorICAgIGlmICghbV9jbGllbnQuZ2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRN
ZW51ICYmICFtX2NsaWVudC5nZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnVfZGVwcmVjYXRl
ZEZvclVzZVdpdGhWMCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAKKworICAgIGlm
IChtX2NsaWVudC52ZXJzaW9uID09IGtXS1BhZ2VDb250ZXh0TWVudUNsaWVudEN1cnJlbnRWZXJz
aW9uICYmICFtX2NsaWVudC5nZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnUpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKwogICAgIHVuc2lnbmVkIHNpemUgPSBwcm9wb3NlZE1lbnVWZWN0b3Iu
c2l6ZSgpOwogICAgIFJlZlB0cjxNdXRhYmxlQXJyYXk+IHByb3Bvc2VkTWVudSA9IE11dGFibGVB
cnJheTo6Y3JlYXRlKCk7CiAgICAgcHJvcG9zZWRNZW51LT5yZXNlcnZlQ2FwYWNpdHkoc2l6ZSk7
CkBAIC00Niw3ICs0OSwxMiBAQCBib29sIFdlYlBhZ2VDb250ZXh0TWVudUNsaWVudDo6Z2V0Q29u
dGV4dE1lbnVGcm9tUHJvcG9zZWRNZW51KFdlYlBhZ2VQcm94eSogcGFnZQogICAgICAgICBwcm9w
b3NlZE1lbnUtPmFwcGVuZChXZWJDb250ZXh0TWVudUl0ZW06OmNyZWF0ZShwcm9wb3NlZE1lbnVW
ZWN0b3JbaV0pLmdldCgpKTsKICAgICAgICAgCiAgICAgV0tBcnJheVJlZiBuZXdNZW51ID0gMDsK
LSAgICBtX2NsaWVudC5nZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnUodG9BUEkocGFnZSks
IHRvQVBJKHByb3Bvc2VkTWVudS5nZXQoKSksICZuZXdNZW51LCB0b0FQSSh1c2VyRGF0YSksIG1f
Y2xpZW50LmNsaWVudEluZm8pOworICAgIGlmIChtX2NsaWVudC52ZXJzaW9uID09IGtXS1BhZ2VD
b250ZXh0TWVudUNsaWVudEN1cnJlbnRWZXJzaW9uKSB7CisgICAgICAgIFJlZlB0cjxXZWJIaXRU
ZXN0UmVzdWx0PiB3ZWJIaXRUZXN0UmVzdWx0ID0gV2ViSGl0VGVzdFJlc3VsdDo6Y3JlYXRlKGhp
dFRlc3RSZXN1bHREYXRhKTsKKyAgICAgICAgbV9jbGllbnQuZ2V0Q29udGV4dE1lbnVGcm9tUHJv
cG9zZWRNZW51KHRvQVBJKHBhZ2UpLCB0b0FQSShwcm9wb3NlZE1lbnUuZ2V0KCkpLCAmbmV3TWVu
dSwgdG9BUEkod2ViSGl0VGVzdFJlc3VsdC5nZXQoKSksIHRvQVBJKHVzZXJEYXRhKSwgbV9jbGll
bnQuY2xpZW50SW5mbyk7CisgICAgfSBlbHNlCisgICAgICAgIG1fY2xpZW50LmdldENvbnRleHRN
ZW51RnJvbVByb3Bvc2VkTWVudV9kZXByZWNhdGVkRm9yVXNlV2l0aFYwKHRvQVBJKHBhZ2UpLCB0
b0FQSShwcm9wb3NlZE1lbnUuZ2V0KCkpLCAmbmV3TWVudSwgdG9BUEkodXNlckRhdGEpLCBtX2Ns
aWVudC5jbGllbnRJbmZvKTsKKwogICAgIFJlZlB0cjxJbW11dGFibGVBcnJheT4gYXJyYXkgPSBh
ZG9wdFJlZih0b0ltcGwobmV3TWVudSkpOwogICAgIAogICAgIGN1c3RvbU1lbnUuY2xlYXIoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlQ29udGV4dE1lbnVD
bGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlQ29udGV4dE1lbnVDbGll
bnQuaAppbmRleCA1Y2JiMzM1Li45ZTczOGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZUNvbnRleHRNZW51Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VDb250ZXh0TWVudUNsaWVudC5oCkBAIC0yNyw2ICsyNyw3IEBACiAj
ZGVmaW5lIFdlYlBhZ2VDb250ZXh0TWVudUNsaWVudF9oCiAKICNpbmNsdWRlICJBUElDbGllbnQu
aCIKKyNpbmNsdWRlICJXZWJIaXRUZXN0UmVzdWx0LmgiCiAjaW5jbHVkZSAiV0tQYWdlLmgiCiAj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC0zOCw3ICszOSw3IEBAIGNsYXNzIFdlYlBhZ2VQ
cm94eTsKIAogY2xhc3MgV2ViUGFnZUNvbnRleHRNZW51Q2xpZW50IDogcHVibGljIEFQSUNsaWVu
dDxXS1BhZ2VDb250ZXh0TWVudUNsaWVudCwga1dLUGFnZUNvbnRleHRNZW51Q2xpZW50Q3VycmVu
dFZlcnNpb24+IHsKIHB1YmxpYzoKLSAgICBib29sIGdldENvbnRleHRNZW51RnJvbVByb3Bvc2Vk
TWVudShXZWJQYWdlUHJveHkqLCBjb25zdCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4m
IHByb3Bvc2VkTWVudSwgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+JiBjdXN0b21NZW51
LCBBUElPYmplY3QqIHVzZXJEYXRhKTsKKyAgICBib29sIGdldENvbnRleHRNZW51RnJvbVByb3Bv
c2VkTWVudShXZWJQYWdlUHJveHkqLCBjb25zdCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0
YT4mIHByb3Bvc2VkTWVudSwgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+JiBjdXN0b21N
ZW51LCBjb25zdCBXZWJIaXRUZXN0UmVzdWx0OjpEYXRhJiwgQVBJT2JqZWN0KiB1c2VyRGF0YSk7
CiAgICAgdm9pZCBjdXN0b21Db250ZXh0TWVudUl0ZW1TZWxlY3RlZChXZWJQYWdlUHJveHkqLCBj
b25zdCBXZWJDb250ZXh0TWVudUl0ZW1EYXRhJik7CiAgICAgdm9pZCBjb250ZXh0TWVudURpc21p
c3NlZChXZWJQYWdlUHJveHkqKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCmluZGV4IGM3ZGY3YjMuLjk3MGIyODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0yNTYwLDIyICsyNTYwLDIyIEBAIHZvaWQgV2ViUGFn
ZVByb3h5OjpoaWRlUG9wdXBNZW51KCkKICAgICBtX2FjdGl2ZVBvcHVwTWVudSA9IDA7CiB9CiAK
LXZvaWQgV2ViUGFnZVByb3h5OjpzaG93Q29udGV4dE1lbnUoY29uc3QgSW50UG9pbnQmIG1lbnVM
b2NhdGlvbiwgY29uc3QgQ29udGV4dE1lbnVTdGF0ZSYgY29udGV4dE1lbnVTdGF0ZSwgY29uc3Qg
VmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+JiBwcm9wb3NlZEl0ZW1zLCBDb3JlSVBDOjpB
cmd1bWVudERlY29kZXIqIGFyZ3VtZW50cykKK3ZvaWQgV2ViUGFnZVByb3h5OjpzaG93Q29udGV4
dE1lbnUoY29uc3QgSW50UG9pbnQmIG1lbnVMb2NhdGlvbiwgY29uc3QgV2ViSGl0VGVzdFJlc3Vs
dDo6RGF0YSYgaGl0VGVzdFJlc3VsdERhdGEsIGNvbnN0IFZlY3RvcjxXZWJDb250ZXh0TWVudUl0
ZW1EYXRhPiYgcHJvcG9zZWRJdGVtcywgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBhcmd1bWVu
dHMpCiB7Ci0gICAgaW50ZXJuYWxTaG93Q29udGV4dE1lbnUobWVudUxvY2F0aW9uLCBjb250ZXh0
TWVudVN0YXRlLCBwcm9wb3NlZEl0ZW1zLCBhcmd1bWVudHMpOworICAgIGludGVybmFsU2hvd0Nv
bnRleHRNZW51KG1lbnVMb2NhdGlvbiwgaGl0VGVzdFJlc3VsdERhdGEsIHByb3Bvc2VkSXRlbXMs
IGFyZ3VtZW50cyk7CiAgICAgCiAgICAgLy8gTm8gbWF0dGVyIHRoZSByZXN1bHQgb2YgaW50ZXJu
YWxTaG93Q29udGV4dE1lbnUsIGFsd2F5cyBub3RpZnkgdGhlIFdlYlByb2Nlc3MgdGhhdCB0aGUg
bWVudSBpcyBoaWRkZW4gc28gaXQgc3RhcnRzIGhhbmRsaW5nIG1vdXNlIGV2ZW50cyBhZ2Fpbi4K
ICAgICBwcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkNvbnRleHRNZW51SGlkZGVu
KCksIG1fcGFnZUlEKTsKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OmludGVybmFsU2hvd0NvbnRl
eHRNZW51KGNvbnN0IEludFBvaW50JiBtZW51TG9jYXRpb24sIGNvbnN0IENvbnRleHRNZW51U3Rh
dGUmIGNvbnRleHRNZW51U3RhdGUsIGNvbnN0IFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRh
PiYgcHJvcG9zZWRJdGVtcywgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBhcmd1bWVudHMpCit2
b2lkIFdlYlBhZ2VQcm94eTo6aW50ZXJuYWxTaG93Q29udGV4dE1lbnUoY29uc3QgSW50UG9pbnQm
IG1lbnVMb2NhdGlvbiwgY29uc3QgV2ViSGl0VGVzdFJlc3VsdDo6RGF0YSYgaGl0VGVzdFJlc3Vs
dERhdGEsIGNvbnN0IFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiYgcHJvcG9zZWRJdGVt
cywgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBhcmd1bWVudHMpCiB7CiAgICAgUmVmUHRyPEFQ
SU9iamVjdD4gdXNlckRhdGE7CiAgICAgV2ViQ29udGV4dFVzZXJNZXNzYWdlRGVjb2RlciBtZXNz
YWdlRGVjb2Rlcih1c2VyRGF0YSwgbV9wcm9jZXNzLT5jb250ZXh0KCkpOwogICAgIGlmICghYXJn
dW1lbnRzLT5kZWNvZGUobWVzc2FnZURlY29kZXIpKQogICAgICAgICByZXR1cm47CiAKLSAgICBt
X2FjdGl2ZUNvbnRleHRNZW51U3RhdGUgPSBjb250ZXh0TWVudVN0YXRlOworICAgIG1fYWN0aXZl
Q29udGV4dE1lbnVIaXRUZXN0UmVzdWx0RGF0YSA9IGhpdFRlc3RSZXN1bHREYXRhOwogCiAgICAg
aWYgKG1fYWN0aXZlQ29udGV4dE1lbnUpIHsKICAgICAgICAgbV9hY3RpdmVDb250ZXh0TWVudS0+
aGlkZUNvbnRleHRNZW51KCk7CkBAIC0yNTg5LDcgKzI1ODksNyBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6aW50ZXJuYWxTaG93Q29udGV4dE1lbnUoY29uc3QgSW50UG9pbnQmIG1lbnVMb2NhdGlvbiwg
Y29uc3QgQwogCiAgICAgLy8gR2l2ZSB0aGUgUGFnZUNvbnRleHRNZW51Q2xpZW50IG9uZSBsYXN0
IHN3aXBlIGF0IGNoYW5naW5nIHRoZSBtZW51LgogICAgIFZlY3RvcjxXZWJDb250ZXh0TWVudUl0
ZW1EYXRhPiBpdGVtczsKLSAgICBpZiAoIW1fY29udGV4dE1lbnVDbGllbnQuZ2V0Q29udGV4dE1l
bnVGcm9tUHJvcG9zZWRNZW51KHRoaXMsIHByb3Bvc2VkSXRlbXMsIGl0ZW1zLCB1c2VyRGF0YS5n
ZXQoKSkpCisgICAgaWYgKCFtX2NvbnRleHRNZW51Q2xpZW50LmdldENvbnRleHRNZW51RnJvbVBy
b3Bvc2VkTWVudSh0aGlzLCBwcm9wb3NlZEl0ZW1zLCBpdGVtcywgaGl0VGVzdFJlc3VsdERhdGEs
IHVzZXJEYXRhLmdldCgpKSkKICAgICAgICAgbV9hY3RpdmVDb250ZXh0TWVudS0+c2hvd0NvbnRl
eHRNZW51KG1lbnVMb2NhdGlvbiwgcHJvcG9zZWRJdGVtcyk7CiAgICAgZWxzZQogICAgICAgICBt
X2FjdGl2ZUNvbnRleHRNZW51LT5zaG93Q29udGV4dE1lbnUobWVudUxvY2F0aW9uLCBpdGVtcyk7
CkBAIC0yNjQxLDExICsyNjQxLDExIEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpjb250ZXh0TWVudUl0
ZW1TZWxlY3RlZChjb25zdCBXZWJDb250ZXh0TWVudUl0ZW1EYXRhJiBpdGVtKQogICAgIH0KICNl
bmRpZgogICAgIGlmIChpdGVtLmFjdGlvbigpID09IENvbnRleHRNZW51SXRlbVRhZ0Rvd25sb2Fk
SW1hZ2VUb0Rpc2spIHsKLSAgICAgICAgbV9wcm9jZXNzLT5jb250ZXh0KCktPmRvd25sb2FkKHRo
aXMsIEtVUkwoS1VSTCgpLCBtX2FjdGl2ZUNvbnRleHRNZW51U3RhdGUuYWJzb2x1dGVJbWFnZVVS
TFN0cmluZykpOworICAgICAgICBtX3Byb2Nlc3MtPmNvbnRleHQoKS0+ZG93bmxvYWQodGhpcywg
S1VSTChLVVJMKCksIG1fYWN0aXZlQ29udGV4dE1lbnVIaXRUZXN0UmVzdWx0RGF0YS5hYnNvbHV0
ZUltYWdlVVJMKSk7CiAgICAgICAgIHJldHVybjsgICAgCiAgICAgfQogICAgIGlmIChpdGVtLmFj
dGlvbigpID09IENvbnRleHRNZW51SXRlbVRhZ0Rvd25sb2FkTGlua1RvRGlzaykgewotICAgICAg
ICBtX3Byb2Nlc3MtPmNvbnRleHQoKS0+ZG93bmxvYWQodGhpcywgS1VSTChLVVJMKCksIG1fYWN0
aXZlQ29udGV4dE1lbnVTdGF0ZS5hYnNvbHV0ZUxpbmtVUkxTdHJpbmcpKTsKKyAgICAgICAgbV9w
cm9jZXNzLT5jb250ZXh0KCktPmRvd25sb2FkKHRoaXMsIEtVUkwoS1VSTCgpLCBtX2FjdGl2ZUNv
bnRleHRNZW51SGl0VGVzdFJlc3VsdERhdGEuYWJzb2x1dGVMaW5rVVJMKSk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAgICAgaWYgKGl0ZW0uYWN0aW9uKCkgPT0gQ29udGV4dE1lbnVJdGVtVGFn
Q2hlY2tTcGVsbGluZ1doaWxlVHlwaW5nKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKaW5kZXggMzMwNmRkNy4uMjcwNGNkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiQVBJT2JqZWN0
LmgiCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgotI2luY2x1ZGUgIkNvbnRleHRNZW51U3RhdGUu
aCIKICNpbmNsdWRlICJEcmFnQ29udHJvbGxlckFjdGlvbi5oIgogI2luY2x1ZGUgIkRyYXdpbmdB
cmVhUHJveHkuaCIKICNpbmNsdWRlICJFZGl0b3JTdGF0ZS5oIgpAQCAtNDYsNiArNDUsNyBAQAog
I2luY2x1ZGUgIldLQmFzZS5oIgogI2luY2x1ZGUgIldLUGFnZVByaXZhdGUuaCIKICNpbmNsdWRl
ICJXZWJDb250ZXh0TWVudUl0ZW1EYXRhLmgiCisjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmgiCiAjaW5jbHVkZSAiV2ViRmluZENsaWVudC5oIgogI2luY2x1ZGUgIldlYkZvcm1DbGll
bnQuaCIKICNpbmNsdWRlICJXZWJGcmFtZVByb3h5LmgiCkBAIC03NzQsOCArNzc0LDggQEAgcHJp
dmF0ZToKICNlbmRpZgogCiAgICAgLy8gQ29udGV4dCBNZW51LgotICAgIHZvaWQgc2hvd0NvbnRl
eHRNZW51KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBtZW51TG9jYXRpb24sIGNvbnN0IENvbnRl
eHRNZW51U3RhdGUmLCBjb25zdCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mLCBDb3Jl
SVBDOjpBcmd1bWVudERlY29kZXIqKTsKLSAgICB2b2lkIGludGVybmFsU2hvd0NvbnRleHRNZW51
KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBtZW51TG9jYXRpb24sIGNvbnN0IENvbnRleHRNZW51
U3RhdGUmLCBjb25zdCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mLCBDb3JlSVBDOjpB
cmd1bWVudERlY29kZXIqKTsKKyAgICB2b2lkIHNob3dDb250ZXh0TWVudShjb25zdCBXZWJDb3Jl
OjpJbnRQb2ludCYgbWVudUxvY2F0aW9uLCBjb25zdCBXZWJIaXRUZXN0UmVzdWx0OjpEYXRhJiwg
Y29uc3QgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+JiwgQ29yZUlQQzo6QXJndW1lbnRE
ZWNvZGVyKik7CisgICAgdm9pZCBpbnRlcm5hbFNob3dDb250ZXh0TWVudShjb25zdCBXZWJDb3Jl
OjpJbnRQb2ludCYgbWVudUxvY2F0aW9uLCBjb25zdCBXZWJIaXRUZXN0UmVzdWx0OjpEYXRhJiwg
Y29uc3QgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+JiwgQ29yZUlQQzo6QXJndW1lbnRE
ZWNvZGVyKik7CiAKICAgICAvLyBTZWFyY2ggcG9wdXAgcmVzdWx0cwogICAgIHZvaWQgc2F2ZVJl
Y2VudFNlYXJjaGVzKGNvbnN0IFN0cmluZyYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+Jik7CkBAIC05
MDUsNyArOTA1LDcgQEAgcHJpdmF0ZToKIAogICAgIFJlZlB0cjxXZWJQb3B1cE1lbnVQcm94eT4g
bV9hY3RpdmVQb3B1cE1lbnU7CiAgICAgUmVmUHRyPFdlYkNvbnRleHRNZW51UHJveHk+IG1fYWN0
aXZlQ29udGV4dE1lbnU7Ci0gICAgQ29udGV4dE1lbnVTdGF0ZSBtX2FjdGl2ZUNvbnRleHRNZW51
U3RhdGU7CisgICAgV2ViSGl0VGVzdFJlc3VsdDo6RGF0YSBtX2FjdGl2ZUNvbnRleHRNZW51SGl0
VGVzdFJlc3VsdERhdGE7CiAgICAgUmVmUHRyPFdlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJv
eHk+IG1fb3BlblBhbmVsUmVzdWx0TGlzdGVuZXI7CiAgICAgR2VvbG9jYXRpb25QZXJtaXNzaW9u
UmVxdWVzdE1hbmFnZXJQcm94eSBtX2dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
OwogICAgIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5IG1fbm90aWZp
Y2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZGVkOGUxZC4uZGE1N2E5YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdl
cy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluCkBAIC0xOTEsNyArMTkxLDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICNlbmRp
ZgogCiAgICAgIyBDb250ZXh0TWVudSBtZXNzYWdlcwotICAgIFNob3dDb250ZXh0TWVudShXZWJD
b3JlOjpJbnRQb2ludCBtZW51TG9jYXRpb24sIFdlYktpdDo6Q29udGV4dE1lbnVTdGF0ZSBzdGF0
ZSwgVmVjdG9yPFdlYktpdDo6V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gaXRlbXMsIFdlYktpdDo6
SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpCisgICAgU2hvd0NvbnRl
eHRNZW51KFdlYkNvcmU6OkludFBvaW50IG1lbnVMb2NhdGlvbiwgV2ViS2l0OjpXZWJIaXRUZXN0
UmVzdWx0OjpEYXRhIGhpdFRlc3RSZXN1bHREYXRhLCBWZWN0b3I8V2ViS2l0OjpXZWJDb250ZXh0
TWVudUl0ZW1EYXRhPiBpdGVtcywgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5j
b2RlciB1c2VyRGF0YSkKIAogICAgICMgQXV0aGVudGljYXRpb24gbWVzc2FnZXMKICAgICBDYW5B
dXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlSW5GcmFtZSh1aW50NjRfdCBmcmFtZUlE
LCBXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2UgcHJvdGVjdGlvblNwYWNlKSAtPiAoYm9vbCBjYW5B
dXRoZW50aWNhdGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggMzNhYTgxMy4uYWFhNjUyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtODAsNyArODAsNiBAQAog
CQkxQTI0QkYzQTEyMDg5NkE2MDBGQkIwNTkgLyogU2hhcmVkTWVtb3J5TWFjLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMjRCRjM5MTIwODk2QTYw
MEZCQjA1OSAvKiBTaGFyZWRNZW1vcnlNYWMuY3BwICovOyB9OwogCQkxQTJCQjZEMDE0MTE3QjRE
MDAwRjM1RDQgLyogUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyQkI2Q0UxNDEx
N0I0RDAwMEYzNUQ0IC8qIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZVJlY2VpdmVyLmNw
cCAqLzsgfTsKIAkJMUEyQkI2RDExNDExN0I0RDAwMEYzNUQ0IC8qIFBsdWdpblByb2Nlc3NDb25u
ZWN0aW9uTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBMkJCNkNGMTQxMTdCNEQwMDBGMzVENCAvKiBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlv
bk1lc3NhZ2VzLmggKi87IH07Ci0JCTFBMkMzMDcxMTJENTU1NDUwMDYzREFBMiAvKiBDb250ZXh0
TWVudVN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQTJDMzA2RjEyRDU1NTQ1MDA2M0RBQTIgLyogQ29udGV4dE1lbnVTdGF0ZS5oICovOyB9Owog
CQkxQTJEODJBNDEyN0Y0RUFCMDAxRUI5NjIgLyogTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUExRkEzNUMx
MjdBNDVCRjAwNTBFNzA5IC8qIE5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJ
MUEyRDgyQTUxMjdGNEVBQjAwMUVCOTYyIC8qIE5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTFGQTM1QjEyN0E0
NUJGMDA1MEU3MDkgLyogTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuaCAqLzsgfTsKIAkJMUEyRDgy
QTYxMjdGNEVBQjAwMUVCOTYyIC8qIE5QT2JqZWN0UHJveHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUExRkEyODQxMjdBMTNCQzAwNTBFNzA5IC8q
IE5QT2JqZWN0UHJveHkuY3BwICovOyB9OwpAQCAtMTA2Niw3ICsxMDY1LDYgQEAKIAkJMUEyQkI2
Q0MxNDExN0E1RjAwMEYzNUQ0IC8qIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmlu
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBsdWdpblByb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2Vz
LmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTJCQjZDRTE0MTE3QjREMDAwRjM1
RDQgLyogUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NZXNz
YWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTJCQjZDRjE0
MTE3QjREMDAwRjM1RDQgLyogUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlcy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1lc3Nh
Z2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFBMkMzMDZGMTJENTU1NDUwMDYz
REFBMiAvKiBDb250ZXh0TWVudVN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IENvbnRleHRNZW51U3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEy
RDg0MTExMjdGNjRFODAwMUVCOTYyIC8qIE5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLm1lc3NhZ2Vz
LmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLm1lc3Nh
Z2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTJEODQzNzEyN0Y2NUQ1MDAx
RUI5NjIgLyogTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXJN
ZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTJEODQz
ODEyN0Y2NUQ1MDAxRUI5NjIgLyogTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXJNZXNzYWdlcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOUE9iamVjdE1lc3NhZ2VSZWNlaXZlck1l
c3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjk1LDcgKzIyOTMsNiBA
QAogCQkJCTFBMkQ5NTZFMTI4NDg1NjQwMDFFQjk2MiAvKiBDaGlsZFByb2Nlc3MuY3BwICovLAog
CQkJCTFBMkQ5NTZEMTI4NDg1NjQwMDFFQjk2MiAvKiBDaGlsZFByb2Nlc3MuaCAqLywKIAkJCQkx
QTZGOUY4RTExRTEzRUZDMDBEQjEzNzEgLyogQ29tbWFuZExpbmUuaCAqLywKLQkJCQkxQTJDMzA2
RjEyRDU1NTQ1MDA2M0RBQTIgLyogQ29udGV4dE1lbnVTdGF0ZS5oICovLAogCQkJCUJDRTgxRDk2
MTMxQUUwMjAwMDI0MTkxMCAvKiBEaWN0aW9uYXJ5UG9wdXBJbmZvLmNwcCAqLywKIAkJCQlCQ0U4
MUQ5NzEzMUFFMDIxMDAyNDE5MTAgLyogRGljdGlvbmFyeVBvcHVwSW5mby5oICovLAogCQkJCUM1
MTczODgwMTJERjhGNEYwMEVFM0Y0NyAvKiBEcmFnQ29udHJvbGxlckFjdGlvbi5oICovLApAQCAt
MzcxNSw3ICszNzEyLDYgQEAKIAkJCQkxQTZGOUY5MDExRTEzRUZDMDBEQjEzNzEgLyogQ29tbWFu
ZExpbmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3QzRFOUY2MTMxQzZFN0UwMDI5QkQ1QSAvKiBj
b25maWcuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDMyREFCMTBGNDM3RDEwMDU4QzE1QSAvKiBD
b25uZWN0aW9uLmggaW4gSGVhZGVycyAqLywKLQkJCQkxQTJDMzA3MTEyRDU1NTQ1MDA2M0RBQTIg
LyogQ29udGV4dE1lbnVTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxMzFCQzkxMTcyNkMy
ODAwQjY5NzI3IC8qIENvcmVJUENNZXNzYWdlS2luZHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUI4
NzhCNjE1MTMzNDI4REMwMDY4ODhFOSAvKiBDb3JyZWN0aW9uUGFuZWwuaCBpbiBIZWFkZXJzICov
LAogCQkJCTFBOEVGREZBMTI1M0NBQTIwMEY3MDY3RiAvKiBEYXRhUmVmZXJlbmNlLmggaW4gSGVh
ZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCA0NGMwYzAwLi5iMGY2NjlkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC00OTIsMTUgKzQ5Miw4IEBAIHZvaWQgV2ViQ2hy
b21lQ2xpZW50Ojptb3VzZURpZE1vdmVPdmVyRWxlbWVudChjb25zdCBIaXRUZXN0UmVzdWx0JiBo
aXRUZXN0UmVzdWx0CiAgICAgLy8gTm90aWZ5IHRoZSBidW5kbGUgY2xpZW50LgogICAgIG1fcGFn
ZS0+aW5qZWN0ZWRCdW5kbGVVSUNsaWVudCgpLm1vdXNlRGlkTW92ZU92ZXJFbGVtZW50KG1fcGFn
ZSwgaGl0VGVzdFJlc3VsdCwgc3RhdGljX2Nhc3Q8V2ViRXZlbnQ6Ok1vZGlmaWVycz4obW9kaWZp
ZXJGbGFncyksIHVzZXJEYXRhKTsKIAotICAgIFdlYkhpdFRlc3RSZXN1bHQ6OkRhdGEgd2ViSGl0
VGVzdFJlc3VsdERhdGE7Ci0gICAgd2ViSGl0VGVzdFJlc3VsdERhdGEuYWJzb2x1dGVJbWFnZVVS
TCA9IGhpdFRlc3RSZXN1bHQuYWJzb2x1dGVJbWFnZVVSTCgpLnN0cmluZygpOwotICAgIHdlYkhp
dFRlc3RSZXN1bHREYXRhLmFic29sdXRlUERGVVJMID0gaGl0VGVzdFJlc3VsdC5hYnNvbHV0ZVBE
RlVSTCgpLnN0cmluZygpOwotICAgIHdlYkhpdFRlc3RSZXN1bHREYXRhLmFic29sdXRlTGlua1VS
TCA9IGhpdFRlc3RSZXN1bHQuYWJzb2x1dGVMaW5rVVJMKCkuc3RyaW5nKCk7Ci0gICAgd2ViSGl0
VGVzdFJlc3VsdERhdGEuYWJzb2x1dGVNZWRpYVVSTCA9IGhpdFRlc3RSZXN1bHQuYWJzb2x1dGVN
ZWRpYVVSTCgpLnN0cmluZygpOwotICAgIHdlYkhpdFRlc3RSZXN1bHREYXRhLmxpbmtMYWJlbCA9
IGhpdFRlc3RSZXN1bHQudGV4dENvbnRlbnQoKTsKLSAgICB3ZWJIaXRUZXN0UmVzdWx0RGF0YS5s
aW5rVGl0bGUgPSBoaXRUZXN0UmVzdWx0LnRpdGxlRGlzcGxheVN0cmluZygpOwotCiAgICAgLy8g
Tm90aWZ5IHRoZSBVSVByb2Nlc3MuCisgICAgV2ViSGl0VGVzdFJlc3VsdDo6RGF0YSB3ZWJIaXRU
ZXN0UmVzdWx0RGF0YShoaXRUZXN0UmVzdWx0KTsKICAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6
OldlYlBhZ2VQcm94eTo6TW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQod2ViSGl0VGVzdFJlc3VsdERh
dGEsIG1vZGlmaWVyRmxhZ3MsIEluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyKHVzZXJE
YXRhLmdldCgpKSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcAppbmRleCBlN2UyZTc0Li5jMTk2YzU3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5j
cHAKQEAgLTIyLDEwICsyMiwxMCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldl
YkNvbnRleHRNZW51LmgiCiAKLSNpbmNsdWRlICJDb250ZXh0TWVudVN0YXRlLmgiCiAjaW5jbHVk
ZSAiSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5k
bGVVc2VyTWVzc2FnZUNvZGVycy5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5o
IgorI2luY2x1ZGUgIldlYkhpdFRlc3RSZXN1bHQuaCIKICNpbmNsdWRlICJXZWJQYWdlLmgiCiAj
aW5jbHVkZSAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzLmgi
CkBAIC03OSwxMyArNzksMTEgQEAgdm9pZCBXZWJDb250ZXh0TWVudTo6c2hvdygpCiAgICAgaWYg
KG1fcGFnZS0+aW5qZWN0ZWRCdW5kbGVDb250ZXh0TWVudUNsaWVudCgpLmdldEN1c3RvbU1lbnVG
cm9tRGVmYXVsdEl0ZW1zKG1fcGFnZSwgaGl0VGVzdFJlc3VsdC5nZXQoKSwgcHJvcG9zZWRNZW51
LCBuZXdNZW51LCB1c2VyRGF0YSkpCiAgICAgICAgIHByb3Bvc2VkTWVudSA9IG5ld01lbnU7CiAK
LSAgICBDb250ZXh0TWVudVN0YXRlIGNvbnRleHRNZW51U3RhdGU7Ci0gICAgY29udGV4dE1lbnVT
dGF0ZS5hYnNvbHV0ZUltYWdlVVJMU3RyaW5nID0gY29udHJvbGxlci0+aGl0VGVzdFJlc3VsdCgp
LmFic29sdXRlSW1hZ2VVUkwoKS5zdHJpbmcoKTsKLSAgICBjb250ZXh0TWVudVN0YXRlLmFic29s
dXRlTGlua1VSTFN0cmluZyA9IGNvbnRyb2xsZXItPmhpdFRlc3RSZXN1bHQoKS5hYnNvbHV0ZUxp
bmtVUkwoKS5zdHJpbmcoKTsKKyAgICBXZWJIaXRUZXN0UmVzdWx0OjpEYXRhIHdlYkhpdFRlc3RS
ZXN1bHREYXRhKGNvbnRyb2xsZXItPmhpdFRlc3RSZXN1bHQoKSk7CiAKICAgICAvLyBNYXJrIHRo
ZSBXZWJQYWdlIGhhcyBoYXZpbmcgYSBzaG93biBjb250ZXh0IG1lbnUgdGhlbiBub3RpZnkgdGhl
IFVJUHJvY2Vzcy4KICAgICBtX3BhZ2UtPmNvbnRleHRNZW51U2hvd2luZygpOwotICAgIG1fcGFn
ZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTaG93Q29udGV4dE1lbnUodmlldy0+Y29u
dGVudHNUb1dpbmRvdyhjb250cm9sbGVyLT5oaXRUZXN0UmVzdWx0KCkucG9pbnQoKSksIGNvbnRl
eHRNZW51U3RhdGUsIHByb3Bvc2VkTWVudSwgSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29k
ZXIodXNlckRhdGEuZ2V0KCkpKSk7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdl
UHJveHk6OlNob3dDb250ZXh0TWVudSh2aWV3LT5jb250ZW50c1RvV2luZG93KGNvbnRyb2xsZXIt
PmhpdFRlc3RSZXN1bHQoKS5wb2ludCgpKSwgd2ViSGl0VGVzdFJlc3VsdERhdGEsIHByb3Bvc2Vk
TWVudSwgSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIodXNlckRhdGEuZ2V0KCkpKSk7
CiB9CiAKIHZvaWQgV2ViQ29udGV4dE1lbnU6Oml0ZW1TZWxlY3RlZChjb25zdCBXZWJDb250ZXh0
TWVudUl0ZW1EYXRhJiBpdGVtKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktp
dDIudmNwcm9qIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCmluZGV4IDE2N2Jh
M2QuLmQ1YjI2NmMgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJv
agorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKQEAgLTQyNywxMCArNDI3
LDYgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5c
U2hhcmVkXENvbnRleHRNZW51U3RhdGUuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQog
CQkJCVJlbGF0aXZlUGF0aD0iLi5cU2hhcmVkXERpY3Rpb25hcnlQb3B1cEluZm8uY3BwIgogCQkJ
CT4KIAkJCTwvRmlsZT4K
</data>
<flag name="review"
          id="126018"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>