<?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>71948</bug_id>
          
          <creation_ts>2011-11-09 13:18:26 -0800</creation_ts>
          <short_desc>[GTK][WK1] Expose API for choice of displaying/running insecure content</short_desc>
          <delta_ts>2012-05-21 15:11:51 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</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>
          
          <blocked>72166</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>mrobinson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>499296</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2011-11-09 13:18:26 -0800</bug_when>
    <thetext>API should be exposed to offer to developers a path of providing a user with a choice of whether or not to load  and display/run insecure content.

Implementation will be based upon policy decisions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500990</commentid>
    <comment_count>1</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2011-11-11 11:59:36 -0800</bug_when>
    <thetext>I&apos;ve come to realization that this bug doesn&apos;t really cover the needs of bug #71465. This bug oversees addition of API for policy decision requests about displaying or running insecure content, which is a part of methods used in FrameLoader class, while didDetectXSS originates from the HTML parser.

I&apos;ll create a new meta bug with the goal of improving security-related API, remove this bug from blocking #71465 and set both of these to block the new bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501019</commentid>
    <comment_count>2</comment_count>
      <attachid>114755</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2011-11-11 12:57:57 -0800</bug_when>
    <thetext>Created attachment 114755
Patch

When landed, DumpRenderTree should also require an update, setting the new WebKitWebSettings properties to true. Not flagging for commit queue for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501518</commentid>
    <comment_count>3</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2011-11-13 09:02:24 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Created an attachment (id=114755) [details]
&gt; Patch
&gt; 
&gt; When landed, DumpRenderTree should also require an update, setting the new WebKitWebSettings properties to true. Not flagging for commit queue for now.

Should I also add in this patch signals that would be emitted from FrameLoaderClient::didDisplayInsecureContent and FrameLoaderClient::didRunInsecureContent?

The whole patch and API was developed along with adding this feature to epiphany. If there&apos;s interest, I can later put a patch up on GNOME bugzilla.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623186</commentid>
    <comment_count>4</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-05-14 12:07:36 -0700</bug_when>
    <thetext>Given the focus is now shifting towards WebKit2 APIs and WebKit2 in general, meaning new API additions to WebKit1 don&apos;t really make sense, I&apos;m willing to close this bug as a WONTFIX.

I&apos;ll do so after I get some additional thumbs-ups in agreement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623232</commentid>
    <comment_count>5</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-05-14 12:50:06 -0700</bug_when>
    <thetext>Sure. I&apos;d be happy to review this patch for WebKit2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625764</commentid>
    <comment_count>6</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-05-16 12:48:15 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Sure. I&apos;d be happy to review this patch for WebKit2.

I&apos;ve added an API todo task:
http://trac.webkit.org/wiki/WebKitGTK/WebKit2Roadmap?action=diff&amp;version=35

Closing this as a WONTFIX.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629562</commentid>
    <comment_count>7</comment_count>
      <attachid>114755</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-05-21 15:11:51 -0700</bug_when>
    <thetext>Comment on attachment 114755
Patch

Cleared review? from attachment 114755 so that this bug does not appear in http://webkit.org/pending-review.  If you would like this patch reviewed, please attach it to a new bug (or re-open this bug before marking it for review again).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114755</attachid>
            <date>2011-11-11 12:57:57 -0800</date>
            <delta_ts>2012-05-21 15:11:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71948-20111111215755.patch</filename>
            <type>text/plain</type>
            <size>35837</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk5NDEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3Rr
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCA2ZjBkZDUxMjM4
YTMyYTQ2YTQ4MWFkYmRhMzc4MjM2NTgwNjBiZjA0Li43YjRlM2Y0ZTRjZTBmYTRiNDcwZWM2MTNk
ZDM5YWJkZTljZmM1NmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjMgQEAKKzIwMTEt
MTEtMTEgIFphbiBEb2JlcnNlayAgPHphbmRvYmVyc2VrQGdtYWlsLmNvbT4KKworICAgICAgICBb
R1RLXVtXSzFdIEV4cG9zZSBBUEkgZm9yIGNob2ljZSBvZiBkaXNwbGF5aW5nL3J1bm5pbmcgaW5z
ZWN1cmUgY29udGVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzE5NDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBFeHBvc2UgdmFyaW91cyBvcHRpb25zIHRvIGRlYWwgd2l0aCBkaXNwbGF5aW5nIG9yIHJ1
bm5pbmcgaW5zZWN1cmUgY29udGVudC4KKworICAgICAgICBUd28gbmV3IHByb3BlcnRpZXMgYXJl
IGFkZGVkIHRvIFdlYktpdFdlYlNldHRpbmdzLCBjb3ZlcmluZyB0aGUgcGVybWlzc2lvbgorICAg
ICAgICB0byBib3RoIGRpc3BsYXkgYW5kIHJ1biBpbnNlY3VyZSBjb250ZW50LiBUaGV5IGJvdGgg
ZGVmYXVsdCB0byBmYWxzZSwgYnV0IGlmCisgICAgICAgIHNldCB0byB0cnVlLCB0aGUgY29udGVu
dCBpcyBkaXNwbGF5ZWQgb2QgcmFuIHdpdGhvdXQgdGhlIGFiaWxpdHkgdG8gcHJldmVudCB0aGF0
LgorCisgICAgICAgIElmIHNldCB0byBmYWxzZSwgYSBzaWduYWwgaXMgZW1pdHRlZCBvbiBXZWJL
aXRXZWJWaWV3LCBnaXZpbmcgYQorICAgICAgICBXZWJLaXRJbnNlY3VyZUNvbnRlbnRQb2xpY3lE
ZWNpc2lvbiBvYmplY3QuIEl0IGlzIG9mIHR3byBkaWZmZXJlbnQgdHlwZXMsIG9uZSBmb3IKKyAg
ICAgICAgZGVjaWRpbmcgdXBvbiBkaXNwbGF5aW5nIGFuZCB0aGUgb3RoZXIgZm9yIGRlY2lkaW5n
IHVwb24gcnVubmluZyB0aGUgaW5zZWN1cmUKKyAgICAgICAgY29udGVudC4gVGhlIGRlY2lzaW9u
IG9ubHkgYWZmZWN0cyB0aGUgZnJhbWUgZnJvbSB3aGljaCB0aGUgcmVxdWVzdCBvcmlnaW5hdGVz
LAorICAgICAgICBhbmQgZG9lcyBzbyBmb3IgdGhlIHJlbWFpbmRlciBvZiBmcmFtZSdzIGV4aXN0
YW5jZSwgd2l0aG91dCBwb3NzaWJpbGl0eSB0byBjaGFuZ2UKKyAgICAgICAgaXQuIElmIGFsbG93
ZWQsIHRoZSBhZmZlY3RlZCBmcmFtZSBtdXN0IGJlIHJlbG9hZGVkIGluIG9yZGVyIHRvIGFjdHVh
bGx5IGxvYWQKKyAgICAgICAgaW5zZWN1cmUgY29udGVudC4KKworICAgICAgICAqIEdOVW1ha2Vm
aWxlLmFtOiBBZGQgdGhlIG5ldyBzdHVmZiB0byB0aGUgYnVpbGQuCisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwOiBJZiBkaXNhYmxlZCBwZXIgc2V0dGlu
Z3MsIHRoZXNlIHR3byBmdW5jdGlvbnMgZW1pdAorICAgICAgICBzaWduYWxzIHdpdGggcG9saWN5
IGRlY2lzaW9uIHJlcXVlc3RzIGFib3V0IHdoYXQgdG8gZG8gd2l0aCB0aGUgaW5zZWN1cmUgY29u
dGVudC4KKyAgICAgICAgKFdlYktpdDo6RnJhbWVMb2FkZXJDbGllbnQ6OmFsbG93RGlzcGxheWlu
Z0luc2VjdXJlQ29udGVudCk6CisgICAgICAgIChXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50Ojph
bGxvd1J1bm5pbmdJbnNlY3VyZUNvbnRlbnQpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Zy
YW1lTG9hZGVyQ2xpZW50R3RrLmg6CisgICAgICAgICogZG9jcy9HTlVtYWtlZmlsZS5hbTogSWdu
b3JlIHRoZSBuZXcgcHJpdmF0ZSBoZWFkZXIuCisgICAgICAgICogZG9jcy93ZWJraXRndGstZG9j
cy5zZ21sOiBBZGQgdGhlIGVudHJ5IGZvciBXZWJLaXRJbnNlY3VyZUNvbnRlbnRQb2xpY3lEZWNp
c2lvbi4KKyAgICAgICAgKiBkb2NzL3dlYmtpdGd0ay1zZWN0aW9ucy50eHQ6IERpdHRvLgorICAg
ICAgICAqIGRvY3Mvd2Via2l0Z3RrLnR5cGVzOiBEaXR0by4KKyAgICAgICAgKiB3ZWJraXQvd2Vi
a2l0Lmg6IEluY2x1ZGUgdGhlIG5ldyBwdWJsaWMgaGVhZGVyLgorICAgICAgICAqIHdlYmtpdC93
ZWJraXRkZWZpbmVzLmg6IERlZmluZSB0aGUgV2ViS2l0SW5zZWN1cmVDb250ZW50UG9saWN5RGVj
aXNpb24gb2JqZWN0LgorICAgICAgICAqIHdlYmtpdC93ZWJraXRpbnNlY3VyZWNvbnRlbnRwb2xp
Y3lkZWNpc2lvbi5jcHA6IEFkZGVkLiBJbXBsZW1lbnRzIHRoZSB3aG9sZSBwb2xpY3kgZGVjaXNp
b24gbG9naWMuCisgICAgICAgICh3ZWJraXRfaW5zZWN1cmVfY29udGVudF9wb2xpY3lfZGVjaXNp
b25fY2xhc3NfaW5pdCk6CisgICAgICAgICh3ZWJraXRfaW5zZWN1cmVfY29udGVudF9wb2xpY3lf
ZGVjaXNpb25faW5pdCk6CisgICAgICAgICh3ZWJraXRfaW5zZWN1cmVfY29udGVudF9wb2xpY3lf
ZGVjaXNpb25fbmV3KToKKyAgICAgICAgKHdlYmtpdF9pbnNlY3VyZV9jb250ZW50X3BvbGljeV9k
ZWNpc2lvbl9nZXRfYWN0aW9uKToKKyAgICAgICAgKHdlYmtpdF9pbnNlY3VyZV9jb250ZW50X3Bv
bGljeV9kZWNpc2lvbl9nZXRfZnJhbWUpOgorICAgICAgICAod2Via2l0X2luc2VjdXJlX2NvbnRl
bnRfcG9saWN5X2FsbG93KToKKyAgICAgICAgKHdlYmtpdF9pbnNlY3VyZV9jb250ZW50X3BvbGlj
eV9kZW55KToKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0aW5zZWN1cmVjb250ZW50cG9saWN5ZGVj
aXNpb24uaDogQWRkZWQuCisgICAgICAgICogd2Via2l0L3dlYmtpdGluc2VjdXJlY29udGVudHBv
bGljeWRlY2lzaW9ucHJpdmF0ZS5oOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vi
ZnJhbWUuY3BwOgorICAgICAgICAod2Via2l0X3dlYl9mcmFtZV9uZXcpOiBTZXQgdGhlIHN0YXJ0
aW5nIGluc2VjdXJlIGNvbnRlbnQgc3RhdHVzIGFzIG5vdCBzZXQuCisgICAgICAgICogd2Via2l0
L3dlYmtpdHdlYmZyYW1lcHJpdmF0ZS5oOiBBZGQgYSBuZXcgdmFyaWFibGUgaW50byBwcml2YXRl
IHN0cnVjdHVyZSB0aGF0IGZvbGxvd3MgdGhlCisgICAgICAgIGN1cnJlbnQgc3RhdHVzIG9mIGlu
c2VjdXJlIGNvbnRlbnQgKHdoZXRoZXIgaXQgaXMgYWxsb3dlZCwgZGVuaWVkIG9yIG5vdCBzZXQp
LgorICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5jcHA6IEltcGxlbWVudCB0d28g
bmV3IHByb3BlcnRpZXMsIGNvdmVyaW5nIHBlcm1pc3Npb24gd2hldGhlciB0bworICAgICAgICBk
aXNwbGF5IG9yIHJ1biBpbnNlY3VyZSBjb250ZW50LgorICAgICAgICAod2Via2l0X3dlYl9zZXR0
aW5nc19jbGFzc19pbml0KToKKyAgICAgICAgKHdlYmtpdF93ZWJfc2V0dGluZ3Nfc2V0X3Byb3Bl
cnR5KToKKyAgICAgICAgKHdlYmtpdF93ZWJfc2V0dGluZ3NfZ2V0X3Byb3BlcnR5KToKKyAgICAg
ICAgKiB3ZWJraXQvd2Via2l0d2Vic2V0dGluZ3Nwcml2YXRlLmg6CisgICAgICAgICogd2Via2l0
L3dlYmtpdHdlYnZpZXcuY3BwOgorICAgICAgICAod2Via2l0X3dlYl92aWV3X2NsYXNzX2luaXQp
OiBBZGQgYSBuZXcgc2lnbmFsIHRoYXQgZGlzcGF0Y2hlcyBwb2xpY3kgZGVjaXNpb24gcmVxdWVz
dHMgYWJvdXQKKyAgICAgICAgaW5zZWN1cmUgY29udGVudC4KKyAgICAgICAgKHdlYmtpdF93ZWJf
dmlld191cGRhdGVfc2V0dGluZ3MpOiBNYWtlIHRoZSBzdGF0dXMgb2YgdGhlIHR3byBuZXcgcHJv
cGVydGllcyBpbgorICAgICAgICBXZWJLaXRXZWJTZXR0aW5ncyByZWZsZWN0IGluIFdlYkNvcmUu
CisgICAgICAgICogd2Via2l0bWFyc2hhbC5saXN0OiBBZGQgYSBuZXdseSByZXF1aXJlZCBtYXJz
aGFsLgorCiAyMDExLTExLTA5ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNv
bT4KIAogICAgICAgICBbR1RLXVtEUlRdIHdpbmRvdyBpbnRlcm5hbHMgb2JqZWN0IGlzIG5vdCBy
ZXNldCBhZnRlciBlYWNoIHRlc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0dOVW1h
a2VmaWxlLmFtIGIvU291cmNlL1dlYktpdC9ndGsvR05VbWFrZWZpbGUuYW0KaW5kZXggNzUyYzll
NjUxNTI1ZjlkYzIxMDlkMWI2MzE5MDhjNjE5NDY3NjVmYi4uYTlhMzFmODFiODE0MzYwMjI3OTU5
MmRjNTZmY2VkNzE2Zjg0NTFlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvR05VbWFr
ZWZpbGUuYW0KKysrIGIvU291cmNlL1dlYktpdC9ndGsvR05VbWFrZWZpbGUuYW0KQEAgLTEyMyw2
ICsxMjMsNyBAQCB3ZWJraXRndGtfc3RhdGljX2hfYXBpICs9IFwKIAkkKHNyY2RpcikvU291cmNl
L1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdsb2JhbHMuaCBcCiAJJChzcmNkaXIpL1NvdXJjZS9X
ZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRoaXR0ZXN0cmVzdWx0LmggXAogCSQoc3JjZGlyKS9Tb3Vy
Y2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0aWNvbmRhdGFiYXNlLmggXAorCSQoc3JjZGlyKS9T
b3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0aW5zZWN1cmVjb250ZW50cG9saWN5ZGVjaXNp
b24uaCBcCiAJJChzcmNkaXIpL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRuZXR3b3Jr
cmVxdWVzdC5oIFwKIAkkKHNyY2RpcikvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdG5l
dHdvcmtyZXNwb25zZS5oIFwKIAkkKHNyY2RpcikvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dl
YmtpdHNlY3VyaXR5b3JpZ2luLmggXApAQCAtMjIxLDYgKzIyMiw4IEBAIHdlYmtpdGd0a19zb3Vy
Y2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0aGl0dGVzdHJlc3VsdC5j
cHAgXAogCVNvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRoaXR0ZXN0cmVzdWx0cHJpdmF0
ZS5oIFwKIAlTb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0aWNvbmRhdGFiYXNlLmNwcCBc
CisJU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGluc2VjdXJlY29udGVudHBvbGljeWRl
Y2lzaW9uLmNwcCBcCisJU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGluc2VjdXJlY29u
dGVudHBvbGljeWRlY2lzaW9ucHJpdmF0ZS5oIFwKIAlTb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQv
d2Via2l0bmV0d29ya3JlcXVlc3QuY3BwIFwKIAlTb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Vi
a2l0bmV0d29ya3JlcXVlc3Rwcml2YXRlLmggXAogCVNvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93
ZWJraXRuZXR3b3JrcmVzcG9uc2UuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3Rr
L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQv
Z3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcAppbmRleCAwYTE0YzEy
OTdjYjdiMDNjNDRhMWJlMTczNzBlOTZhMTdlOWZkZGFiLi5kYWZhYTFkYzJiNzVjOGNlMGYwNWE3
NjY3MjBmYmVkZjkwODkxMGIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCkBAIC02OSw2ICs2OSw4IEBA
CiAjaW5jbHVkZSAid2Via2l0Z2xvYmFscy5oIgogI2luY2x1ZGUgIndlYmtpdGdsb2JhbHNwcml2
YXRlLmgiCiAjaW5jbHVkZSAid2Via2l0aWNvbmRhdGFiYXNlLmgiCisjaW5jbHVkZSAid2Via2l0
aW5zZWN1cmVjb250ZW50cG9saWN5ZGVjaXNpb24uaCIKKyNpbmNsdWRlICJ3ZWJraXRpbnNlY3Vy
ZWNvbnRlbnRwb2xpY3lkZWNpc2lvbnByaXZhdGUuaCIKICNpbmNsdWRlICJ3ZWJraXRuZXR3b3Jr
cmVxdWVzdC5oIgogI2luY2x1ZGUgIndlYmtpdG5ldHdvcmtyZXF1ZXN0cHJpdmF0ZS5oIgogI2lu
Y2x1ZGUgIndlYmtpdG5ldHdvcmtyZXNwb25zZS5oIgpAQCAtNzE0LDYgKzcxNiw0NCBAQCBib29s
IEZyYW1lTG9hZGVyQ2xpZW50OjpzaG91bGRTdG9wTG9hZGluZ0Zvckhpc3RvcnlJdGVtKEhpc3Rv
cnlJdGVtKiBpdGVtKSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIEZyYW1lTG9h
ZGVyQ2xpZW50OjphbGxvd0Rpc3BsYXlpbmdJbnNlY3VyZUNvbnRlbnQoYm9vbCBlbmFibGVkUGVy
U2V0dGluZ3MsIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luKiwgY29uc3QgV2ViQ29yZTo6S1VSTCYg
dXJsKQoreworICAgIC8vIERpc3BsYXlpbmcgb2YgaW5zZWN1cmUgY29udGVudCBpcyBhbHNvIGFs
bG93ZWQgd2hlbiBydW5uaW5nIGlzLgorICAgIGlmIChlbmFibGVkUGVyU2V0dGluZ3MgfHwgbV9m
cmFtZS0+cHJpdi0+aW5zZWN1cmVDb250ZW50U3RhdHVzID4gV0VCS0lUX0lOU0VDVVJFX0NPTlRF
TlRfU1RBVFVTX0FMTE9XX05PTkUpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgLy8gV2Ug
c2hvdWxkIHJlcXVlc3QgYSBwb2xpY3kgZGVjaXNpb24gb25seSBpZiBpdCB3YXMgbm90IHJlcXVl
c3RlZCBiZWZvcmUuCisgICAgaWYgKG1fZnJhbWUtPnByaXYtPmluc2VjdXJlQ29udGVudFN0YXR1
cyAhPSBXRUJLSVRfSU5TRUNVUkVfQ09OVEVOVF9TVEFUVVNfTk9UX1NFVCkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgR1JlZlB0cjxXZWJLaXRJbnNlY3VyZUNvbnRlbnRQb2xpY3lEZWNp
c2lvbj4gcG9saWN5RGVjaXNpb24gPSBhZG9wdEdSZWYod2Via2l0X2luc2VjdXJlX2NvbnRlbnRf
cG9saWN5X2RlY2lzaW9uX25ldyhtX2ZyYW1lLCBXRUJLSVRfSU5TRUNVUkVfQ09OVEVOVF9BQ1RJ
T05fRElTUExBWSkpOworICAgIGdib29sZWFuIGlzSGFuZGxlZDsKKyAgICBnX3NpZ25hbF9lbWl0
X2J5X25hbWUoZ2V0Vmlld0Zyb21GcmFtZShtX2ZyYW1lKSwgImluc2VjdXJlLWNvbnRlbnQtcG9s
aWN5LWRlY2lzaW9uLXJlcXVlc3RlZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZnJh
bWUsIHVybC5zdHJpbmcoKS51dGY4KCkuZGF0YSgpLCBwb2xpY3lEZWNpc2lvbi5nZXQoKSwgJmlz
SGFuZGxlZCk7CisgICAgaWYgKCFpc0hhbmRsZWQpCisgICAgICAgIHdlYmtpdF9pbnNlY3VyZV9j
b250ZW50X3BvbGljeV9kZW55KHBvbGljeURlY2lzaW9uLmdldCgpKTsKKworICAgIHJldHVybiBm
YWxzZTsKK30KKworYm9vbCBGcmFtZUxvYWRlckNsaWVudDo6YWxsb3dSdW5uaW5nSW5zZWN1cmVD
b250ZW50KGJvb2wgZW5hYmxlZFBlclNldHRpbmdzLCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbios
IGNvbnN0IFdlYkNvcmU6OktVUkwmIHVybCkKK3sKKyAgICBpZiAoZW5hYmxlZFBlclNldHRpbmdz
IHx8IG1fZnJhbWUtPnByaXYtPmluc2VjdXJlQ29udGVudFN0YXR1cyA9PSBXRUJLSVRfSU5TRUNV
UkVfQ09OVEVOVF9TVEFUVVNfQUxMT1dfUlVOTklORykKKyAgICAgICAgcmV0dXJuIHRydWU7CisK
KyAgICBpZiAobV9mcmFtZS0+cHJpdi0+aW5zZWN1cmVDb250ZW50U3RhdHVzICE9IFdFQktJVF9J
TlNFQ1VSRV9DT05URU5UX1NUQVRVU19OT1RfU0VUKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBHUmVmUHRyPFdlYktpdEluc2VjdXJlQ29udGVudFBvbGljeURlY2lzaW9uPiBwb2xpY3lE
ZWNpc2lvbiA9IGFkb3B0R1JlZih3ZWJraXRfaW5zZWN1cmVfY29udGVudF9wb2xpY3lfZGVjaXNp
b25fbmV3KG1fZnJhbWUsIFdFQktJVF9JTlNFQ1VSRV9DT05URU5UX0FDVElPTl9SVU4pKTsKKyAg
ICBnYm9vbGVhbiBpc0hhbmRsZWQ7CisgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKGdldFZpZXdG
cm9tRnJhbWUobV9mcmFtZSksICJpbnNlY3VyZS1jb250ZW50LXBvbGljeS1kZWNpc2lvbi1yZXF1
ZXN0ZWQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBtX2ZyYW1lLCB1cmwuc3RyaW5nKCku
dXRmOCgpLmRhdGEoKSwgcG9saWN5RGVjaXNpb24uZ2V0KCksICZpc0hhbmRsZWQpOworICAgIGlm
ICghaXNIYW5kbGVkKQorICAgICAgICB3ZWJraXRfaW5zZWN1cmVfY29udGVudF9wb2xpY3lfZGVu
eShwb2xpY3lEZWNpc2lvbi5nZXQoKSk7CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHZvaWQg
RnJhbWVMb2FkZXJDbGllbnQ6OmRpZERpc3BsYXlJbnNlY3VyZUNvbnRlbnQoKQogewogICAgIG5v
dEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5oIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuaAppbmRleCBhOTBmNjdkMDE5MTY4MDEwM2FkMzc4
NTg3YTg4YzlhM2NjYjQ0NWZjLi5mZjAyODk2YzFiNjZmYWE4ZTdkODkxMDZiODEwZjhmZGNmOTM0
NzAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxv
YWRlckNsaWVudEd0ay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Zy
YW1lTG9hZGVyQ2xpZW50R3RrLmgKQEAgLTE0Myw2ICsxNDMsOCBAQCBuYW1lc3BhY2UgV2ViS2l0
IHsKICAgICAgICAgdmlydHVhbCBib29sIHNob3VsZEdvVG9IaXN0b3J5SXRlbShXZWJDb3JlOjpI
aXN0b3J5SXRlbSopIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkU3RvcExvYWRp
bmdGb3JIaXN0b3J5SXRlbShXZWJDb3JlOjpIaXN0b3J5SXRlbSopIGNvbnN0OwogCisgICAgICAg
IHZpcnR1YWwgYm9vbCBhbGxvd0Rpc3BsYXlpbmdJbnNlY3VyZUNvbnRlbnQoYm9vbCBlbmFibGVk
UGVyU2V0dGluZ3MsIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luKiwgY29uc3QgV2ViQ29yZTo6S1VS
TCYpOworICAgICAgICB2aXJ0dWFsIGJvb2wgYWxsb3dSdW5uaW5nSW5zZWN1cmVDb250ZW50KGJv
b2wgZW5hYmxlZFBlclNldHRpbmdzLCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiosIGNvbnN0IFdl
YkNvcmU6OktVUkwmKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZERpc3BsYXlJbnNlY3VyZUNv
bnRlbnQoKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZFJ1bkluc2VjdXJlQ29udGVudChXZWJD
b3JlOjpTZWN1cml0eU9yaWdpbiosIGNvbnN0IFdlYkNvcmU6OktVUkwmKTsKICAgICAgICAgdmly
dHVhbCB2b2lkIGRpZERldGVjdFhTUyhjb25zdCBXZWJDb3JlOjpLVVJMJiwgYm9vbCBkaWRCbG9j
a0VudGlyZVBhZ2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvZG9jcy9HTlVtYWtl
ZmlsZS5hbSBiL1NvdXJjZS9XZWJLaXQvZ3RrL2RvY3MvR05VbWFrZWZpbGUuYW0KaW5kZXggYzhj
NGIyMTJiYWI1YWViZGQyOTBhYWUzN2EyNDNmMjU1YjliNDNiNC4uZTQyODhiYTQ0OGM1NjE5ZWY5
ZTc1ZWNlY2Y5NjIxZDA2NTJlZDM5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvZG9j
cy9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9kb2NzL0dOVW1ha2VmaWxl
LmFtCkBAIC00OSw2ICs0OSw3IEBAIElHTk9SRV9IRklMRVMgPSBcCiAgICB3ZWJraXRnZW9sb2Nh
dGlvbnBvbGljeWRlY2lzaW9ucHJpdmF0ZS5oIFwKICAgIHdlYmtpdGdsb2JhbHNwcml2YXRlLmgg
XAogICAgd2Via2l0aGl0dGVzdHJlc3VsdHByaXZhdGUuaCBcCisgICB3ZWJraXRpbnNlY3VyZWNv
bnRlbnRwb2xpY3lkZWNpc2lvbnByaXZhdGUuaCBcCiAgICB3ZWJraXRuZXR3b3JrcmVxdWVzdHBy
aXZhdGUuaCBcCiAgICB3ZWJraXRuZXR3b3JrcmVzcG9uc2Vwcml2YXRlLmggXAogICAgd2Via2l0
c2VjdXJpdHlvcmlnaW5wcml2YXRlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsv
ZG9jcy93ZWJraXRndGstZG9jcy5zZ21sIGIvU291cmNlL1dlYktpdC9ndGsvZG9jcy93ZWJraXRn
dGstZG9jcy5zZ21sCmluZGV4IDNhN2QzNWQ0NGI3NTFhYTUyYzYxN2U5OWZkMmJhNWZlZDdlMmE0
NGEuLjk4NjRkZDMyYjFiMDllMDY3M2E3NmZkMjk0NTllZjVmODZjMjQ2NmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvZ3RrL2RvY3Mvd2Via2l0Z3RrLWRvY3Muc2dtbAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2d0ay9kb2NzL3dlYmtpdGd0ay1kb2NzLnNnbWwKQEAgLTQxLDYgKzQxLDcgQEAKICAg
ICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvd2Via2l0aWNvbmRhdGFiYXNlLnhtbCIvPgogICAgIDx4
aTppbmNsdWRlIGhyZWY9InhtbC93ZWJraXRzcGVsbGNoZWNrZXIueG1sIi8+CiAgICAgPHhpOmlu
Y2x1ZGUgaHJlZj0ieG1sL3dlYmtpdHNwZWxsY2hlY2tlcmVuY2hhbnQueG1sIi8+CisgICAgPHhp
OmluY2x1ZGUgaHJlZj0ieG1sL3dlYmtpdGluc2VjdXJlY29udGVudHBvbGljeWRlY2lzaW9uLnht
bCIvPgogICA8L2NoYXB0ZXI+CiAKICAgPGNoYXB0ZXI+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2d0ay9kb2NzL3dlYmtpdGd0ay1zZWN0aW9ucy50eHQgYi9Tb3VyY2UvV2ViS2l0L2d0ay9k
b2NzL3dlYmtpdGd0ay1zZWN0aW9ucy50eHQKaW5kZXggYTcyYWVmNzI2YWQ2NjBlYzhmZTEyZTAy
NmQ0YTQ3YTFlNjliNTBmZi4uNzFjMmI2ZDMzMDFkZjcxMzY2ZmFkMzdhNWQ4NTY0YjEwMTQyNmFi
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvZG9jcy93ZWJraXRndGstc2VjdGlvbnMu
dHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL2RvY3Mvd2Via2l0Z3RrLXNlY3Rpb25zLnR4dApA
QCAtNjkxLDYgKzY5MSwyNyBAQCBXZWJLaXRJY29uRGF0YWJhc2VQcml2YXRlCiA8L1NFQ1RJT04+
CiAKIDxTRUNUSU9OPgorPEZJTEU+d2Via2l0aW5zZWN1cmVjb250ZW50cG9saWN5ZGVjaXNpb248
L0ZJTEU+Cis8VElUTEU+V2ViS2l0SW5zZWN1cmVDb250ZW50UG9saWN5RGVjaXNpb248L1RJVExF
PgorV2ViS2l0SW5zZWN1cmVDb250ZW50UG9saWN5RGVjaXNpb24KK3dlYmtpdF9pbnNlY3VyZV9j
b250ZW50X3BvbGljeV9kZWNpc2lvbl9nZXRfYWN0aW9uCit3ZWJraXRfaW5zZWN1cmVfY29udGVu
dF9wb2xpY3lfZGVjaXNpb25fZ2V0X2ZyYW1lCit3ZWJraXRfaW5zZWN1cmVfY29udGVudF9wb2xp
Y3lfYWxsb3cKK3dlYmtpdF9pbnNlY3VyZV9jb250ZW50X3BvbGljeV9kZW55Cis8U1VCU0VDVElP
TiBTdGFuZGFyZD4KK1dFQktJVF9JU19JTlNFQ1VSRV9DT05URU5UX1BPTElDWV9ERUNJU0lPTgor
V0VCS0lUX0lTX0lOU0VDVVJFX0NPTlRFTlRfUE9MSUNZX0RFQ0lTSU9OX0NMQVNTCitXRUJLSVRf
VFlQRV9JTlNFQ1VSRV9DT05URU5UX1BPTElDWV9ERUNJU0lPTgorV0VCS0lUX0lOU0VDVVJFX0NP
TlRFTlRfUE9MSUNZX0RFQ0lTSU9OCitXRUJLSVRfSU5TRUNVUkVfQ09OVEVOVF9QT0xJQ1lfREVD
SVNJT05fQ0xBU1MKK1dFQktJVF9JTlNFQ1VSRV9DT05URU5UX1BPTElDWV9ERUNJU0lPTl9HRVRf
Q0xBU1MKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRJbnNlY3VyZUNvbnRlbnRQb2xpY3lE
ZWNpc2lvbkNsYXNzCitXZWJLaXRJbnNlY3VyZUNvbnRlbnRQb2xpY3lEZWNpc2lvblByaXZhdGUK
K3dlYmtpdF9pbnNlY3VyZV9jb250ZW50X3BvbGljeV9kZWNpc2lvbl9nZXRfdHlwZQorPC9TRUNU
SU9OPgorCis8U0VDVElPTj4KIDxGSUxFPndlYmtpdGRlZmluZXM8L0ZJTEU+CiBXRUJLSVRfQVBJ
CiBXRUJLSVRHVEtfQVBJX1ZFUlNJT04KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL2Rv
Y3Mvd2Via2l0Z3RrLnR5cGVzIGIvU291cmNlL1dlYktpdC9ndGsvZG9jcy93ZWJraXRndGsudHlw
ZXMKaW5kZXggOGE2ZGI5N2E5NDhlMjlmOGFhYjMwNGY4MTk4ZDZjMzk0NjNjZDA3OC4uN2YyYjFl
MDFmMzRlYTRhZDMzNDI3ZWU1N2ZiODAyZDkyYWRmZTRkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9ndGsvZG9jcy93ZWJraXRndGsudHlwZXMKKysrIGIvU291cmNlL1dlYktpdC9ndGsvZG9j
cy93ZWJraXRndGsudHlwZXMKQEAgLTMsNiArMyw3IEBAIHdlYmtpdF9kb3dubG9hZF9nZXRfdHlw
ZQogd2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9kZWNpc2lvbl9nZXRfdHlwZQogd2Via2l0X2hp
dF90ZXN0X3Jlc3VsdF9nZXRfdHlwZQogd2Via2l0X2ljb25fZGF0YWJhc2VfZ2V0X3R5cGUKK3dl
YmtpdF9pbnNlY3VyZV9jb250ZW50X3BvbGljeV9kZWNpc2lvbl9nZXRfdHlwZQogd2Via2l0X25l
dHdvcmtfcmVxdWVzdF9nZXRfdHlwZQogd2Via2l0X25ldHdvcmtfcmVzcG9uc2VfZ2V0X3R5cGUK
IHdlYmtpdF9zZWN1cml0eV9vcmlnaW5fZ2V0X3R5cGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvZ3RrL3dlYmtpdC93ZWJraXQuaCBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXQu
aAppbmRleCA3MTQ1MWIxNTM3MTRkNjQ0MDNmNjUyZjJjOWY5MWQ3ZDE2ZjkyYmRjLi5kZmM3MzAz
NzQ0NjBhNGM0OThlYjIxMDA4YjIzYzBhNTNkYTU5MWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0LmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dl
YmtpdC5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSA8d2Via2l0L3dlYmtpdGdsb2JhbHMu
aD4KICNpbmNsdWRlIDx3ZWJraXQvd2Via2l0aGl0dGVzdHJlc3VsdC5oPgogI2luY2x1ZGUgPHdl
YmtpdC93ZWJraXRpY29uZGF0YWJhc2UuaD4KKyNpbmNsdWRlIDx3ZWJraXQvd2Via2l0aW5zZWN1
cmVjb250ZW50cG9saWN5ZGVjaXNpb24uaD4KICNpbmNsdWRlIDx3ZWJraXQvd2Via2l0bmV0d29y
a3JlcXVlc3QuaD4KICNpbmNsdWRlIDx3ZWJraXQvd2Via2l0bmV0d29ya3Jlc3BvbnNlLmg+CiAj
aW5jbHVkZSA8d2Via2l0L3dlYmtpdHNlY3VyaXR5b3JpZ2luLmg+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZGVmaW5lcy5oIGIvU291cmNlL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdGRlZmluZXMuaAppbmRleCA2NzNiYmRmZTYxZDI3NjE1N2I0ZGY0OWRhN2Vj
NzI5MmNmZGIwMWE4Li40OTU3YmQxYWEwNzhjMGI0YjNmNjE2MTc2ZDk3ODYxNGQ2ZTI2MWJhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZGVmaW5lcy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkZWZpbmVzLmgKQEAgLTEwNyw2ICsxMDcs
OSBAQCB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0V2ViUGx1Z2luQ2xhc3MgV2ViS2l0V2ViUGx1Z2lu
Q2xhc3M7CiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0U3BlbGxDaGVja2VyIFdlYktpdFNwZWxsQ2hl
Y2tlcjsgLyogZHVtbXkgdHlwZWRlZiAqLwogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFNwZWxsQ2hl
Y2tlckludGVyZmFjZSBXZWJLaXRTcGVsbENoZWNrZXJJbnRlcmZhY2U7CiAKK3R5cGVkZWYgc3Ry
dWN0IF9XZWJLaXRJbnNlY3VyZUNvbnRlbnRQb2xpY3lEZWNpc2lvbiBXZWJLaXRJbnNlY3VyZUNv
bnRlbnRQb2xpY3lEZWNpc2lvbjsKK3R5cGVkZWYgc3RydWN0IF9XZWJLaXRJbnNlY3VyZUNvbnRl
bnRQb2xpY3lEZWNpc2lvbkNsYXNzIFdlYktpdEluc2VjdXJlQ29udGVudFBvbGljeURlY2lzaW9u
Q2xhc3M7CisKIEdfRU5EX0RFQ0xTCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9ndGsvd2Via2l0L3dlYmtpdGluc2VjdXJlY29udGVudHBvbGljeWRlY2lzaW9uLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRpbnNlY3VyZWNvbnRlbnRwb2xpY3lkZWNpc2lv
bi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZDAyYjE3NDM0NGE2MTU2NTYwMjczNzkxOWI4NjI3ZWFmNThiMWU3
ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRpbnNl
Y3VyZWNvbnRlbnRwb2xpY3lkZWNpc2lvbi5jcHAKQEAgLTAsMCArMSwxNDkgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTEgWmFuIERvYmVyc2VrIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+Cisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICog
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwor
ICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJ3ZWJraXRpbnNlY3VyZWNvbnRlbnRwb2xpY3lk
ZWNpc2lvbi5oIgorCisjaW5jbHVkZSAid2Via2l0aW5zZWN1cmVjb250ZW50cG9saWN5ZGVjaXNp
b25wcml2YXRlLmgiCisjaW5jbHVkZSAid2Via2l0d2ViZnJhbWVwcml2YXRlLmgiCisKKy8qKgor
ICogU0VDVElPTjp3ZWJraXRpbnNlY3VyZWNvbnRlbnRwb2xpY3lkZWNpc2lvbgorICogQHNob3J0
X2Rlc2NyaXB0aW9uOiBMaWFpc29uIGJldHdlZW4gV2ViS2l0IGFuZCB0aGUgYXBwbGljYXRpb24g
cmVnYXJkaW5nIGluc2VjdXJlIGNvbnRlbnQgcG9saWN5IGRlY2lzaW9ucworICoKKyAqICNXZWJL
aXRJbnNlY3VyZUNvbnRlbnRQb2xpY3lEZWNpc2lvbiBvYmplY3RzIGFyZSBnaXZlbiB0byB0aGUg
YXBwbGljYXRpb24gd2hlbgorICogaW5zZWN1cmUtY29udGVudC1wb2xpY3ktZGVjaXNpb24tcmVx
dWVzdGVkIHNpZ25hbCBpcyBlbWl0dGVkLiBUaGUgYXBwbGljYXRpb24KKyAqIGNhbiB0aGVuIGRl
Y2lkZSB3aGV0aGVyIG9yIG5vdCB0byBlaXRoZXIgZGlzcGxheSBvciBydW4gdGhlIGluc2VjdXJl
IGNvbnRlbnQKKyAqIGluIHRoZSBhZmZlY3RlZCBmcmFtZS4KKyAqCisgKiBUaGVzZSBwb2xpY3kg
ZGVjaXNpb25zIGFyZSBlbWl0dGVkIHdoZW4gZGlzcGxheWluZyBvciBydW5uaW5nIGluc2VjdXJl
IGNvbnRlbnQgaXMgbm90IGFsbG93ZWQKKyAqIHRocm91Z2ggI1dlYktpdFdlYlNldHRpbmdzOjph
bGxvdy1kaXNwbGF5aW5nLWluc2VjdXJlLWNvbnRlbnQgYW5kICNXZWJLaXRXZWJTZXR0aW5nczo6
YWxsb3ctcnVubmluZy1pbnNlY3VyZS1jb250ZW50LgorICogTG9hZGluZyBvZiBpbnNlY3VyZSBj
b250ZW50IG9jY3VycyB3aGVuIGNvbnRlbnQgb24gYSBwYWdlIHdpdGggc2VjdXJlIGNvbm5lY3Rp
b24gaXMgZ2F0aGVyZWQKKyAqIGZyb20gc291cmNlcyB0aGF0IGRvIG5vdCBwcm92aWRlIHNlY3Vy
ZSBjb25uZWN0aW9uLgorICovCisKK0dfREVGSU5FX1RZUEUoV2ViS2l0SW5zZWN1cmVDb250ZW50
UG9saWN5RGVjaXNpb24sIHdlYmtpdF9pbnNlY3VyZV9jb250ZW50X3BvbGljeV9kZWNpc2lvbiwg
R19UWVBFX09CSkVDVCk7CisKK3N0cnVjdCBfV2ViS2l0SW5zZWN1cmVDb250ZW50UG9saWN5RGVj
aXNpb25Qcml2YXRlIHsKKyAgICBXZWJLaXRJbnNlY3VyZUNvbnRlbnRBY3Rpb24gYWN0aW9uOwor
ICAgIFdlYktpdFdlYkZyYW1lKiBmcmFtZTsKK307CisKK3N0YXRpYyB2b2lkIHdlYmtpdF9pbnNl
Y3VyZV9jb250ZW50X3BvbGljeV9kZWNpc2lvbl9jbGFzc19pbml0KFdlYktpdEluc2VjdXJlQ29u
dGVudFBvbGljeURlY2lzaW9uQ2xhc3MqIGRlY2lzaW9uQ2xhc3MpCit7CisgICAgZ190eXBlX2Ns
YXNzX2FkZF9wcml2YXRlKGRlY2lzaW9uQ2xhc3MsIHNpemVvZihXZWJLaXRJbnNlY3VyZUNvbnRl
bnRQb2xpY3lEZWNpc2lvblByaXZhdGUpKTsKK30KKworc3RhdGljIHZvaWQgd2Via2l0X2luc2Vj
dXJlX2NvbnRlbnRfcG9saWN5X2RlY2lzaW9uX2luaXQoV2ViS2l0SW5zZWN1cmVDb250ZW50UG9s
aWN5RGVjaXNpb24qIGRlY2lzaW9uKQoreworICAgIGRlY2lzaW9uLT5wcml2ID0gR19UWVBFX0lO
U1RBTkNFX0dFVF9QUklWQVRFKGRlY2lzaW9uLCBXRUJLSVRfVFlQRV9JTlNFQ1VSRV9DT05URU5U
X1BPTElDWV9ERUNJU0lPTiwgV2ViS2l0SW5zZWN1cmVDb250ZW50UG9saWN5RGVjaXNpb25Qcml2
YXRlKTsKK30KKworV2ViS2l0SW5zZWN1cmVDb250ZW50UG9saWN5RGVjaXNpb24qIHdlYmtpdF9p
bnNlY3VyZV9jb250ZW50X3BvbGljeV9kZWNpc2lvbl9uZXcoV2ViS2l0V2ViRnJhbWUqIGZyYW1l
LCBXZWJLaXRJbnNlY3VyZUNvbnRlbnRBY3Rpb24gYWN0aW9uKQoreworICAgIGdfcmV0dXJuX3Zh
bF9pZl9mYWlsKGZyYW1lLCBOVUxMKTsKKworICAgIFdlYktpdEluc2VjdXJlQ29udGVudFBvbGlj
eURlY2lzaW9uKiBkZWNpc2lvbiA9IFdFQktJVF9JTlNFQ1VSRV9DT05URU5UX1BPTElDWV9ERUNJ
U0lPTihnX29iamVjdF9uZXcoV0VCS0lUX1RZUEVfSU5TRUNVUkVfQ09OVEVOVF9QT0xJQ1lfREVD
SVNJT04sIE5VTEwpKTsKKyAgICBXZWJLaXRJbnNlY3VyZUNvbnRlbnRQb2xpY3lEZWNpc2lvblBy
aXZhdGUqIHByaXYgPSBkZWNpc2lvbi0+cHJpdjsKKyAgICBwcml2LT5hY3Rpb24gPSBhY3Rpb247
CisgICAgcHJpdi0+ZnJhbWUgPSBmcmFtZTsKKworICAgIHJldHVybiBkZWNpc2lvbjsKK30KKwor
LyoqCisgKiB3ZWJraXRfaW5zZWN1cmVfY29udGVudF9wb2xpY3lfZGVjaXNpb25fZ2V0X2FjdGlv
bgorICogQGRlY2lzaW9uOiBhICNXZWJLaXRJbnNlY3VyZUNvbnRlbnRQb2xpY3lEZWNpc2lvbgor
ICoKKyAqIFJldHVybnMgdGhlICNXZWJLaXRJbnNlY3VyZUNvbnRlbnRBY3Rpb24gb2YgdGhlIEBk
ZWNpc2lvbi4KKyAqCisgKiBTaW5jZTogMS43LjIKKyAqLworV2ViS2l0SW5zZWN1cmVDb250ZW50
QWN0aW9uIHdlYmtpdF9pbnNlY3VyZV9jb250ZW50X3BvbGljeV9kZWNpc2lvbl9nZXRfYWN0aW9u
KFdlYktpdEluc2VjdXJlQ29udGVudFBvbGljeURlY2lzaW9uKiBkZWNpc2lvbikKK3sKKyAgICBn
X3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfSVNfSU5TRUNVUkVfQ09OVEVOVF9QT0xJQ1lfREVD
SVNJT04oZGVjaXNpb24pLCBXRUJLSVRfSU5TRUNVUkVfQ09OVEVOVF9BQ1RJT05fTk9ORSk7CisK
KyAgICBXZWJLaXRJbnNlY3VyZUNvbnRlbnRQb2xpY3lEZWNpc2lvblByaXZhdGUqIHByaXYgPSBk
ZWNpc2lvbi0+cHJpdjsKKyAgICByZXR1cm4gcHJpdi0+YWN0aW9uOworfQorCisvKioKKyAqIHdl
YmtpdF9pbnNlY3VyZV9jb250ZW50X3BvbGljeV9kZWNpc2lvbl9nZXRfZnJhbWUKKyAqIEBkZWNp
c2lvbjogYSAjV2ViS2l0SW5zZWN1cmVDb250ZW50UG9saWN5RGVjaXNpb24KKyAqCisgKiBSZXR1
cm5zIHRoZSAjV2ViS2l0V2ViRnJhbWUgZnJvbSB3aGljaCB0aGUgcG9saWN5IGRlY2lzaW9uIHdh
cyB0cmlnZ2VyZWQuCisgKiBUaGlzIGlzIHRoZSBzYW1lIGZyYW1lIHRoYXQgd2lsbCBiZSBhZmZl
Y3RlZCB1cG9uIGVpdGhlciBhbGxvd2luZyBvciBkZW55aW5nCisgKiBkaXNwbGF5aW5nIG9yIHJ1
bm5pbmcgaW5zZWN1cmUgY29udGVudC4KKyAqCisgKiBTaW5jZTogMS43LjIKKyAqLworV2ViS2l0
V2ViRnJhbWUqIHdlYmtpdF9pbnNlY3VyZV9jb250ZW50X3BvbGljeV9kZWNpc2lvbl9nZXRfZnJh
bWUoV2ViS2l0SW5zZWN1cmVDb250ZW50UG9saWN5RGVjaXNpb24qIGRlY2lzaW9uKQoreworICAg
IGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19JTlNFQ1VSRV9DT05URU5UX1BPTElDWV9E
RUNJU0lPTihkZWNpc2lvbiksIDApOworCisgICAgV2ViS2l0SW5zZWN1cmVDb250ZW50UG9saWN5
RGVjaXNpb25Qcml2YXRlKiBwcml2ID0gZGVjaXNpb24tPnByaXY7CisgICAgcmV0dXJuIHByaXYt
PmZyYW1lOworfQorCisvKioKKyAqIHdlYmtpdF9pbnNlY3VyZV9jb250ZW50X3BvbGljeV9hbGxv
dworICogQGRlY2lzaW9uOiBhICNXZWJLaXRJbnNlY3VyZUNvbnRlbnRQb2xpY3lEZWNpc2lvbgor
ICoKKyAqIEFsbG93cyBlaXRoZXIgZGlzcGxheWluZyBvciBydW5uaW5nIG9mIGluc2VjdXJlIGNv
bnRlbnQgKGRlcGVuZGluZyBvbiB0aGUKKyAqICNXZWJLaXRJbnNlY3VyZUNvbnRlbnRBY3Rpb24g
b2YgQGRlY2lzaW9uKSBpbiB0aGUgZnJhbWUgZnJvbSB3aGljaCB0aGUgZGVjaXNpb24KKyAqIHBv
bGljeSBvcmlnaW5hdGVzLiBUaGlzIGRlY2lzaW9uIHJlbWFpbnMgdGhlIHNhbWUgZm9yIHRoZSBj
b21wbGV0ZSBsaWZldGltZSBvZgorICogdGhhdCBmcmFtZS4KKyAqCisgKiBOb3RlIHRoYXQgd2hl
biBAZGVjaXNpb24ncyBhY3Rpb24gaXMgJVdFQktJVF9JTlNFQ1VSRV9DT05URU5UX0FDVElPTl9S
VU4sIGFmdGVyCisgKiBhbGxvd2luZywgaW5zZWN1cmUgY29udGVudCBjYW4gYmUgYm90aCBkaXNw
bGF5ZWQgYW5kIHJ1biBpbiB0aGUgYWZmZWN0ZWQKKyAqICNXZWJLaXRXZWJGcmFtZS4gSWYgQGRl
Y2lzaW9uJ3MgYWN0aW9uIGlzICVXRUJLSVRfSU5TRUNVUkVfQ09OVEVOVF9BQ1RJT05fRElTUExB
WSwKKyAqIHRoZSBpbnNlY3VyZSBjb250ZW50IHdpbGwgb25seSBiZSBhbGxvd2VkIHRvIGRpc3Bs
YXkuCisgKgorICogQWZ0ZXIgYWxsb3dpbmcsIHRoZSBpbnNlY3VyZSBjb250ZW50IHdpbGwgb25s
eSBkaXNwbGF5IG9yIHJ1biBhZnRlciB0aGUgYWZmZWN0ZWQKKyAqICNXZWJLaXRXZWJGcmFtZSBp
cyByZWxvYWRlZC4KKyAqCisgKiBTaW5jZTogMS43LjIKKyAqLwordm9pZCB3ZWJraXRfaW5zZWN1
cmVfY29udGVudF9wb2xpY3lfYWxsb3coV2ViS2l0SW5zZWN1cmVDb250ZW50UG9saWN5RGVjaXNp
b24qIGRlY2lzaW9uKQoreworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0lTX0lOU0VDVVJF
X0NPTlRFTlRfUE9MSUNZX0RFQ0lTSU9OKGRlY2lzaW9uKSk7CisKKyAgICBXZWJLaXRJbnNlY3Vy
ZUNvbnRlbnRQb2xpY3lEZWNpc2lvblByaXZhdGUqIHByaXYgPSBkZWNpc2lvbi0+cHJpdjsKKyAg
ICBXZWJLaXRJbnNlY3VyZUNvbnRlbnRTdGF0dXMgc3RhdHVzID0gcHJpdi0+YWN0aW9uID09IFdF
QktJVF9JTlNFQ1VSRV9DT05URU5UX0FDVElPTl9ESVNQTEFZCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA/IFdFQktJVF9JTlNFQ1VSRV9DT05URU5UX1NUQVRVU19BTExP
V19ESVNQTEFZSU5HIDogV0VCS0lUX0lOU0VDVVJFX0NPTlRFTlRfU1RBVFVTX0FMTE9XX1JVTk5J
Tkc7CisgICAgcHJpdi0+ZnJhbWUtPnByaXYtPmluc2VjdXJlQ29udGVudFN0YXR1cyA9IHN0YXR1
czsKK30KKworLyoqCisgKiB3ZWJraXRfaW5zZWN1cmVfY29udGVudF9wb2xpY3lfZGVueQorICog
QGRlY2lzaW9uOiBhICNXZWJLaXRJbnNlY3VyZUNvbnRlbnRQb2xpY3lEZWNpc2lvbgorICoKKyAq
IERlbmllcyBib3RoIGRpc3BsYXlpbmcgYW5kIHJ1bm5pbmcgaW5zZWN1cmUgY29udGVudCBpbiB0
aGUgZnJhbWUgZnJvbSB3aGljaAorICogdGhlIHBvbGljeSBkZWNpc2lvbiBvcmlnaW5hdGVzLiBU
aGlzIGRlY2lzaW9uIHJlbWFpbnMgdGhlIHNhbWUgZm9yIHRoZQorICogY29tcGxldGUgbGlmZXRp
bWUgb2YgdGhhdCBmcmFtZS4KKyAqCisgKiBTaW5jZTogMS43LjIKKyAqLwordm9pZCB3ZWJraXRf
aW5zZWN1cmVfY29udGVudF9wb2xpY3lfZGVueShXZWJLaXRJbnNlY3VyZUNvbnRlbnRQb2xpY3lE
ZWNpc2lvbiogZGVjaXNpb24pCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfSU5T
RUNVUkVfQ09OVEVOVF9QT0xJQ1lfREVDSVNJT04oZGVjaXNpb24pKTsKKworICAgIFdlYktpdElu
c2VjdXJlQ29udGVudFBvbGljeURlY2lzaW9uUHJpdmF0ZSogcHJpdiA9IGRlY2lzaW9uLT5wcml2
OworICAgIHByaXYtPmZyYW1lLT5wcml2LT5pbnNlY3VyZUNvbnRlbnRTdGF0dXMgPSBXRUJLSVRf
SU5TRUNVUkVfQ09OVEVOVF9TVEFUVVNfQUxMT1dfTk9ORTsKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRpbnNlY3VyZWNvbnRlbnRwb2xpY3lkZWNpc2lvbi5o
IGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGluc2VjdXJlY29udGVudHBvbGljeWRl
Y2lzaW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYWYwZTU0N2RmOGIwYjQxZjAxOTFlMjg5NDU0YjM2NjI5MDE2
MzkwZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRp
bnNlY3VyZWNvbnRlbnRwb2xpY3lkZWNpc2lvbi5oCkBAIC0wLDAgKzEsODAgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTEgWmFuIERvYmVyc2VrIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+Cisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICog
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwor
ICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNp
Zm5kZWYgd2Via2l0aW5zZWN1cmVjb250ZW50cG9saWN5ZGVjaXNpb25faAorI2RlZmluZSB3ZWJr
aXRpbnNlY3VyZWNvbnRlbnRwb2xpY3lkZWNpc2lvbl9oCisKKyNpbmNsdWRlIDxnbGliLW9iamVj
dC5oPgorI2luY2x1ZGUgPHdlYmtpdC93ZWJraXRkZWZpbmVzLmg+CisKK0dfQkVHSU5fREVDTFMK
KworI2RlZmluZSBXRUJLSVRfVFlQRV9JTlNFQ1VSRV9DT05URU5UX1BPTElDWV9ERUNJU0lPTiAg
ICAgICAgICAgICh3ZWJraXRfaW5zZWN1cmVfY29udGVudF9wb2xpY3lfZGVjaXNpb25fZ2V0X3R5
cGUoKSkKKyNkZWZpbmUgV0VCS0lUX0lOU0VDVVJFX0NPTlRFTlRfUE9MSUNZX0RFQ0lTSU9OKG9i
aikgICAgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1QoKG9iaiksIFdFQktJVF9U
WVBFX0lOU0VDVVJFX0NPTlRFTlRfUE9MSUNZX0RFQ0lTSU9OLCBXZWJLaXRJbnNlY3VyZUNvbnRl
bnRQb2xpY3lEZWNpc2lvbikpCisjZGVmaW5lIFdFQktJVF9JTlNFQ1VSRV9DT05URU5UX1BPTElD
WV9ERUNJU0lPTl9DTEFTUyhrbGFzcykgICAgKEdfVFlQRV9DSEVDS19DTEFTU19DQVNUKChrbGFz
cyksICBXRUJLSVRfVFlQRV9JTlNFQ1VSRV9DT05URU5UX1BPTElDWV9ERUNJU0lPTiwgV2ViS2l0
SW5zZWN1cmVDb250ZW50UG9saWN5RGVjaXNpb25DbGFzcykpCisjZGVmaW5lIFdFQktJVF9JU19J
TlNFQ1VSRV9DT05URU5UX1BPTElDWV9ERUNJU0lPTihvYmopICAgICAgICAgKEdfVFlQRV9DSEVD
S19JTlNUQU5DRV9UWVBFKChvYmopLCBXRUJLSVRfVFlQRV9JTlNFQ1VSRV9DT05URU5UX1BPTElD
WV9ERUNJU0lPTikpCisjZGVmaW5lIFdFQktJVF9JU19JTlNFQ1VSRV9DT05URU5UX1BPTElDWV9E
RUNJU0lPTl9DTEFTUyhrbGFzcykgKEdfVFlQRV9DSEVDS19DTEFTU19UWVBFKChrbGFzcyksICBX
RUJLSVRfVFlQRV9JTlNFQ1VSRV9DT05URU5UX1BPTElDWV9ERUNJU0lPTikpCisjZGVmaW5lIFdF
QktJVF9JTlNFQ1VSRV9DT05URU5UX1BPTElDWV9ERUNJU0lPTl9HRVRfQ0xBU1Mob2JqKSAgKEdf
VFlQRV9JTlNUQU5DRV9HRVRfQ0xBU1MoKG9iaiksICBXRUJLSVRfVFlQRV9JTlNFQ1VSRV9DT05U
RU5UX1BPTElDWV9ERUNJU0lPTiwgV2ViS2l0SW5zZWN1cmVDb250ZW50UG9saWN5RGVjaXNpb25D
bGFzcykpCisKK3R5cGVkZWYgc3RydWN0IF9XZWJLaXRJbnNlY3VyZUNvbnRlbnRQb2xpY3lEZWNp
c2lvblByaXZhdGUgV2ViS2l0SW5zZWN1cmVDb250ZW50UG9saWN5RGVjaXNpb25Qcml2YXRlOwor
c3RydWN0IF9XZWJLaXRJbnNlY3VyZUNvbnRlbnRQb2xpY3lEZWNpc2lvbiB7CisgICAgR09iamVj
dCBwYXJlbnRfaW5zdGFuY2U7CisKKyAgICAvKjwgcHJpdmF0ZSA+Ki8KKyAgICBXZWJLaXRJbnNl
Y3VyZUNvbnRlbnRQb2xpY3lEZWNpc2lvblByaXZhdGUqIHByaXY7Cit9OworCitzdHJ1Y3QgX1dl
YktpdEluc2VjdXJlQ29udGVudFBvbGljeURlY2lzaW9uQ2xhc3MgeworICAgIEdPYmplY3RDbGFz
cyBwYXJlbnRfY2xhc3M7CisKKyAgICAvKiBQYWRkaW5nIGZvciBmdXR1cmUgZXhwYW5zaW9uICov
CisgICAgdm9pZCAoKl93ZWJraXRfcmVzZXJ2ZWQwKSAodm9pZCk7CisgICAgdm9pZCAoKl93ZWJr
aXRfcmVzZXJ2ZWQxKSAodm9pZCk7CisgICAgdm9pZCAoKl93ZWJraXRfcmVzZXJ2ZWQyKSAodm9p
ZCk7CisgICAgdm9pZCAoKl93ZWJraXRfcmVzZXJ2ZWQzKSAodm9pZCk7Cit9OworCisvKgorICog
V2ViS2l0SW5zZWN1cmVDb250ZW50QWN0aW9uVHlwZQorICogRklYTUU6IERvY3VtZW50IQorKi8K
K3R5cGVkZWYgZW51bSB7CisgICAgV0VCS0lUX0lOU0VDVVJFX0NPTlRFTlRfQUNUSU9OX05PTkUs
CisgICAgV0VCS0lUX0lOU0VDVVJFX0NPTlRFTlRfQUNUSU9OX0RJU1BMQVksCisgICAgV0VCS0lU
X0lOU0VDVVJFX0NPTlRFTlRfQUNUSU9OX1JVTgorfSBXZWJLaXRJbnNlY3VyZUNvbnRlbnRBY3Rp
b247CisKK1dFQktJVF9BUEkgR1R5cGUKK3dlYmtpdF9pbnNlY3VyZV9jb250ZW50X3BvbGljeV9k
ZWNpc2lvbl9nZXRfdHlwZSAodm9pZCk7CisKK1dFQktJVF9BUEkgV2ViS2l0SW5zZWN1cmVDb250
ZW50QWN0aW9uCit3ZWJraXRfaW5zZWN1cmVfY29udGVudF9wb2xpY3lfZGVjaXNpb25fZ2V0X2Fj
dGlvbiAoV2ViS2l0SW5zZWN1cmVDb250ZW50UG9saWN5RGVjaXNpb24qIGRlY2lzaW9uKTsKKwor
V0VCS0lUX0FQSSBXZWJLaXRXZWJGcmFtZSoKK3dlYmtpdF9pbnNlY3VyZV9jb250ZW50X3BvbGlj
eV9kZWNpc2lvbl9nZXRfZnJhbWUgKFdlYktpdEluc2VjdXJlQ29udGVudFBvbGljeURlY2lzaW9u
KiBkZWNpc2lvbik7CisKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X2luc2VjdXJlX2NvbnRlbnRf
cG9saWN5X2FsbG93IChXZWJLaXRJbnNlY3VyZUNvbnRlbnRQb2xpY3lEZWNpc2lvbiogZGVjaXNp
b24pOworCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF9pbnNlY3VyZV9jb250ZW50X3BvbGljeV9k
ZW55IChXZWJLaXRJbnNlY3VyZUNvbnRlbnRQb2xpY3lEZWNpc2lvbiogZGVjaXNpb24pOworCitH
X0VORF9ERUNMUworCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXRpbnNlY3VyZWNvbnRlbnRwb2xpY3lkZWNpc2lvbnByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRpbnNlY3VyZWNvbnRlbnRwb2xpY3lkZWNpc2lvbnByaXZh
dGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41Yzg4NjA5NzNlYWMwOGY0NjE4M2Q4OWE0NzdmYjk4ZjBiMmQxZmZl
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGluc2Vj
dXJlY29udGVudHBvbGljeWRlY2lzaW9ucHJpdmF0ZS5oCkBAIC0wLDAgKzEsMzggQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTEgWmFuIERvYmVyc2VrIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+
CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor
ICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0
bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3Ry
ZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisK
KyNpZm5kZWYgd2Via2l0aW5zZWN1cmVjb250ZW50cG9saWN5ZGVjaXNpb25wcml2YXRlX2gKKyNk
ZWZpbmUgd2Via2l0aW5zZWN1cmVjb250ZW50cG9saWN5ZGVjaXNpb25wcml2YXRlX2gKKworI2lu
Y2x1ZGUgIndlYmtpdGluc2VjdXJlY29udGVudHBvbGljeWRlY2lzaW9uLmgiCisKK2V4dGVybiAi
QyIgeworCit0eXBlZGVmIGVudW0geworICAgIFdFQktJVF9JTlNFQ1VSRV9DT05URU5UX1NUQVRV
U19OT1RfU0VULAorICAgIFdFQktJVF9JTlNFQ1VSRV9DT05URU5UX1NUQVRVU19BTExPV19OT05F
LAorICAgIFdFQktJVF9JTlNFQ1VSRV9DT05URU5UX1NUQVRVU19BTExPV19ESVNQTEFZSU5HLAor
ICAgIFdFQktJVF9JTlNFQ1VSRV9DT05URU5UX1NUQVRVU19BTExPV19SVU5OSU5HCit9IFdlYktp
dEluc2VjdXJlQ29udGVudFN0YXR1czsKKworV2ViS2l0SW5zZWN1cmVDb250ZW50UG9saWN5RGVj
aXNpb24qIHdlYmtpdF9pbnNlY3VyZV9jb250ZW50X3BvbGljeV9kZWNpc2lvbl9uZXcoV2ViS2l0
V2ViRnJhbWUqLCBXZWJLaXRJbnNlY3VyZUNvbnRlbnRBY3Rpb24pOworCit9CisKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmZyYW1lLmNwcCBi
L1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJmcmFtZS5jcHAKaW5kZXggMTg2Yzcz
ZDYxODQ1ZjZkYTc2ZmUyY2RlNTcyYjRkN2ZkYWE0NTY5Ni4uYjcwNjBmMmQyOGFhODhmZGVkMWRk
ZjJhYzc5MTM2NTJmMGQ5MDAxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdHdlYmZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
d2ViZnJhbWUuY3BwCkBAIC00MjAsNiArNDIwLDcgQEAgV2ViS2l0V2ViRnJhbWUqIHdlYmtpdF93
ZWJfZnJhbWVfbmV3KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgcHJpdi0+Y29yZUZyYW1l
LT5pbml0KCk7CiAKICAgICBwcml2LT5vcmlnaW4gPSAwOworICAgIHByaXYtPmluc2VjdXJlQ29u
dGVudFN0YXR1cyA9IFdFQktJVF9JTlNFQ1VSRV9DT05URU5UX1NUQVRVU19OT1RfU0VUOwogCiAg
ICAgcmV0dXJuIGZyYW1lOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdHdlYmZyYW1lcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtp
dHdlYmZyYW1lcHJpdmF0ZS5oCmluZGV4IDgwMjEwZDhiYTgyNTM3NWM1NzA2ODg2MzlkYzkyNGQ0
MjI5YjE2NzAuLjM3NGQ2ZGQ5NGM5YzE2MDJmNTczMDUyNjJjNmViZWY1YmJhYWJjMjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJmcmFtZXByaXZhdGUuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViZnJhbWVwcml2YXRlLmgKQEAg
LTI0LDYgKzI0LDcgQEAKICNkZWZpbmUgd2Via2l0d2ViZnJhbWVwcml2YXRlX2gKIAogI2luY2x1
ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAid2Via2l0aW5zZWN1cmVjb250ZW50cG9saWN5ZGVjaXNp
b25wcml2YXRlLmgiCiAjaW5jbHVkZSAid2Via2l0d2ViZnJhbWUuaCIKIAogbmFtZXNwYWNlIFdl
YktpdCB7CkBAIC00Nyw2ICs0OCw3IEBAIHN0cnVjdCBfV2ViS2l0V2ViRnJhbWVQcml2YXRlIHsK
ICAgICBnY2hhciogdXJpOwogICAgIFdlYktpdExvYWRTdGF0dXMgbG9hZFN0YXR1czsKICAgICBX
ZWJLaXRTZWN1cml0eU9yaWdpbiogb3JpZ2luOworICAgIFdlYktpdEluc2VjdXJlQ29udGVudFN0
YXR1cyBpbnNlY3VyZUNvbnRlbnRTdGF0dXM7CiB9OwogCiB2b2lkIHdlYmtpdF93ZWJfZnJhbWVf
Y29yZV9mcmFtZV9nb25lKFdlYktpdFdlYkZyYW1lKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcAppbmRleCAzNGU0MzIxN2NkNzVkZjAwZGE3OTUw
Y2Q1NzQ1ZDMwMWYwZjY2YjFiLi40MGRmMDBlMDQxNGFjYmNmNDhkNDZlNTE0MTExMjA5NDc4Zjdm
MTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGlu
Z3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5j
cHAKQEAgLTExOCw3ICsxMTgsOSBAQCBlbnVtIHsKICAgICBQUk9QX0VOQUJMRV9IWVBFUkxJTktf
QVVESVRJTkcsCiAgICAgUFJPUF9FTkFCTEVfRlVMTFNDUkVFTiwKICAgICBQUk9QX0VOQUJMRV9E
TlNfUFJFRkVUQ0hJTkcsCi0gICAgUFJPUF9FTkFCTEVfV0VCR0wKKyAgICBQUk9QX0VOQUJMRV9X
RUJHTCwKKyAgICBQUk9QX0FMTE9XX0RJU1BMQVlJTkdfSU5TRUNVUkVfQ09OVEVOVCwKKyAgICBQ
Uk9QX0FMTE9XX1JVTk5JTkdfSU5TRUNVUkVfQ09OVEVOVAogfTsKIAogLy8gQ3JlYXRlIGEgZGVm
YXVsdCB1c2VyIGFnZW50IHN0cmluZwpAQCAtOTI0LDYgKzkyNiw0MiBAQCBzdGF0aWMgdm9pZCB3
ZWJraXRfd2ViX3NldHRpbmdzX2NsYXNzX2luaXQoV2ViS2l0V2ViU2V0dGluZ3NDbGFzcyoga2xh
c3MpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBfKCJXaGV0aGVyIFdlYktpdCBwcmVmZXRjaGVzIGRvbWFpbiBuYW1lcyIpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJVRSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZsYWdzKSk7CisKKyAgICAvKioKKyAgICAqIFdlYktpdFdlYlNldHRpbmdzOmFsbG93LWRpc3Bs
YXlpbmctaW5zZWN1cmUtY29udGVudAorICAgICoKKyAgICAqIFdoZXRoZXIgdG8gYWxsb3cgZGlz
cGxheWluZyBpbnNlY3VyZSBjb250ZW50LiBJZiAlRkFMU0UsIHRoZSAiaW5zZWN1cmUtY29udGVu
dC1wb2xpY3ktZGVjaXNpb24tcmVxdWVzdGVkIgorICAgICogc2lnbmFsIHdpbGwgYmUgZW1pdHRl
ZCBvbiBhICNXZWJLaXRXZWJWaWV3LCBwYXNzaW5nIGEgI1dlYktpdEluc2VjdXJlQ29udGVudFBv
bGljeURlY2lzaW9uCisgICAgKiB3aXRoIGl0cyBhY3Rpb24gc2V0IHRvICVXRUJLSVRfSU5TRUNV
UkVfQ09OVEVOVF9BQ1RJT05fRElTUExBWSBhbmQgbGV0dGluZyB0aGUgYXBwbGljYXRpb24gdG8g
ZGVjaWRlLgorICAgICogSWYgJVRSVUUsIHRoZSBpbnNlY3VyZSBjb250ZW50IHdpbGwgYmUgZGlz
cGxheWVkIHdpdGhvdXQgcG9saWN5IGRlY2lzaW9ucyBiZWluZyByZXF1ZXN0ZWQuCisgICAgKgor
ICAgICogU2luY2U6IDEuNy4yLgorICAgICovCisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9w
cm9wZXJ0eShnb2JqZWN0X2NsYXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgUFJPUF9BTExPV19ESVNQTEFZSU5HX0lOU0VDVVJFX0NPTlRFTlQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNfYm9vbGVhbigiYWxsb3ctZGlzcGxh
eWluZy1pbnNlY3VyZS1jb250ZW50IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIF8oIkFsbG93IGRpc3BsYXlpbmcgaW5zZWN1cmUgY29u
dGVudCIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXygiV2hldGhlciB0byBhbGxvdyBkaXNwbGF5aW5nIGluc2VjdXJlIGNvbnRlbnQi
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEZBTFNFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZmxhZ3MpKTsKKworICAgIC8qKgorICAgICogV2ViS2l0V2ViU2V0dGluZ3M6
YWxsb3ctcnVubmluZy1pbnNlY3VyZS1jb250ZW50CisgICAgKgorICAgICogV2hldGhlciB0byBh
bGxvdyBydW5uaW5nIGluc2VjdXJlIGNvbnRlbnQuIElmICVGQUxTRSwgdGhlICNXZWJLaXRXZWJW
aWV3OjppbnNlY3VyZS1jb250ZW50LXBvbGljeS1kZWNpc2lvbi1yZXF1ZXN0ZWQKKyAgICAqIHNp
Z25hbCB3aWxsIGJlIGVtaXR0ZWQsIHBhc3NpbmcgYSAjV2ViS2l0SW5zZWN1cmVDb250ZW50UG9s
aWN5RGVjaXNpb24gd2l0aCBpdHMgYWN0aW9uIHNldCB0bworICAgICogJVdFQktJVF9JTlNFQ1VS
RV9DT05URU5UX0FDVElPTl9SVU4gYW5kIGxldHRpbmcgdGhlIGFwcGxpY2F0aW9uIHRvIGRlY2lk
ZS4gSWYgJVRSVUUsIHRoZSBpbnNlY3VyZQorICAgICogY29udGVudCB3aWxsIGJlIHJhbiB3aXRo
b3V0IHBvbGljeSBkZWNpc2lvbnMgYmVpbmcgcmVxdWVzdGVkLgorICAgICoKKyAgICAqIFNpbmNl
OiAxLjcuMi4KKyAgICAqLworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29i
amVjdF9jbGFzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1BfQUxM
T1dfUlVOTklOR19JTlNFQ1VSRV9DT05URU5ULAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZ19wYXJhbV9zcGVjX2Jvb2xlYW4oImFsbG93LXJ1bm5pbmctaW5zZWN1cmUtY29u
dGVudCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBfKCJBbGxvdyBydW5uaW5nIGluc2VjdXJlIGNvbnRlbnQiKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8oIldoZXRoZXIg
dG8gYWxsb3cgcnVubmluZyBpbnNlY3VyZSBjb250ZW50IiksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdzKSk7CiB9
CiAKIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfc2V0dGluZ3NfaW5pdChXZWJLaXRXZWJTZXR0aW5n
cyogd2ViX3NldHRpbmdzKQpAQCAtMTA5Myw2ICsxMTMxLDEyIEBAIHN0YXRpYyB2b2lkIHdlYmtp
dF93ZWJfc2V0dGluZ3Nfc2V0X3Byb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcF9p
ZCwgY29uCiAgICAgY2FzZSBQUk9QX0VOQUJMRV9XRUJHTDoKICAgICAgICAgcHJpdi0+ZW5hYmxl
V2ViZ2wgPSBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKTsKICAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBQUk9QX0FMTE9XX0RJU1BMQVlJTkdfSU5TRUNVUkVfQ09OVEVOVDoKKyAgICAgICAgcHJp
di0+YWxsb3dEaXNwbGF5aW5nSW5zZWN1cmVDb250ZW50ID0gZ192YWx1ZV9nZXRfYm9vbGVhbih2
YWx1ZSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUFJPUF9BTExPV19SVU5OSU5HX0lOU0VD
VVJFX0NPTlRFTlQ6CisgICAgICAgIHByaXYtPmFsbG93UnVubmluZ0luc2VjdXJlQ29udGVudCA9
IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpOworICAgICAgICBicmVhazsKICAgICBkZWZhdWx0
OgogICAgICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQob2JqZWN0LCBwcm9w
X2lkLCBwc3BlYyk7CiAgICAgICAgIGJyZWFrOwpAQCAtMTI1Miw2ICsxMjk2LDEyIEBAIHN0YXRp
YyB2b2lkIHdlYmtpdF93ZWJfc2V0dGluZ3NfZ2V0X3Byb3BlcnR5KEdPYmplY3QqIG9iamVjdCwg
Z3VpbnQgcHJvcF9pZCwgR1ZhCiAgICAgY2FzZSBQUk9QX0VOQUJMRV9XRUJHTDoKICAgICAgICAg
Z192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgcHJpdi0+ZW5hYmxlV2ViZ2wpOwogICAgICAgICBi
cmVhazsKKyAgICBjYXNlIFBST1BfQUxMT1dfRElTUExBWUlOR19JTlNFQ1VSRV9DT05URU5UOgor
ICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5hbGxvd0Rpc3BsYXlpbmdJ
bnNlY3VyZUNvbnRlbnQpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfQUxMT1dfUlVO
TklOR19JTlNFQ1VSRV9DT05URU5UOgorICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVl
LCBwcml2LT5hbGxvd1J1bm5pbmdJbnNlY3VyZUNvbnRlbnQpOworICAgICAgICBicmVhazsKICAg
ICBkZWZhdWx0OgogICAgICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQob2Jq
ZWN0LCBwcm9wX2lkLCBwc3BlYyk7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzcHJpdmF0ZS5oIGIvU291cmNlL1dl
YktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzcHJpdmF0ZS5oCmluZGV4IGE1ZjUxYjQ5
MjJhNWY1NjgzNGI4NjMyZjUyZGE2ZTI3NGIxMzE0NmYuLjhiOWRmZDIyZjhhMTllYzJhMjA3OTE2
NmUzNTM4NmRlNmM1MGU0ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93
ZWJraXR3ZWJzZXR0aW5nc3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQv
d2Via2l0d2Vic2V0dGluZ3Nwcml2YXRlLmgKQEAgLTc4LDYgKzc4LDggQEAgc3RydWN0IF9XZWJL
aXRXZWJTZXR0aW5nc1ByaXZhdGUgewogICAgIGdib29sZWFuIGVuYWJsZUZ1bGxzY3JlZW47CiAg
ICAgZ2Jvb2xlYW4gZW5hYmxlRE5TUHJlZmV0Y2hpbmc7CiAgICAgZ2Jvb2xlYW4gZW5hYmxlV2Vi
Z2w7CisgICAgZ2Jvb2xlYW4gYWxsb3dEaXNwbGF5aW5nSW5zZWN1cmVDb250ZW50OworICAgIGdi
b29sZWFuIGFsbG93UnVubmluZ0luc2VjdXJlQ29udGVudDsKIH07CiAKIFdFQktJVF9BUEkgdm9p
ZCB3ZWJraXRfd2ViX3NldHRpbmdzX2FkZF9leHRyYV9wbHVnaW5fZGlyZWN0b3J5KFdlYktpdFdl
YlZpZXcqLCBjb25zdCBnY2hhciogZGlyZWN0b3J5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXR3ZWJ2aWV3LmNwcAppbmRleCA4MDNhMThiZTFjZjdjYTM3NTg2Y2FiZTdkY2Q4MWEy
NjBlYjc3NmNmLi5kYmEzNjg1N2ViMjJiZDA3ZGQ1MzVjYTg3YTIxNTMxMmUwNGJhZjI4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCkBAIC05MCw2ICs5MCw3
IEBACiAjaW5jbHVkZSAid2Via2l0Z2xvYmFsc3ByaXZhdGUuaCIKICNpbmNsdWRlICJ3ZWJraXRo
aXR0ZXN0cmVzdWx0cHJpdmF0ZS5oIgogI2luY2x1ZGUgIndlYmtpdGljb25kYXRhYmFzZS5oIgor
I2luY2x1ZGUgIndlYmtpdGluc2VjdXJlY29udGVudHBvbGljeWRlY2lzaW9uLmgiCiAjaW5jbHVk
ZSAid2Via2l0bWFyc2hhbC5oIgogI2luY2x1ZGUgIndlYmtpdG5ldHdvcmtyZXF1ZXN0LmgiCiAj
aW5jbHVkZSAid2Via2l0bmV0d29ya3Jlc3BvbnNlLmgiCkBAIC0yMDgsNiArMjA5LDcgQEAgZW51
bSB7CiAgICAgRURJVElOR19FTkRFRCwKICAgICBWSUVXUE9SVF9BVFRSSUJVVEVTX1JFQ09NUFVU
RV9SRVFVRVNURUQsCiAgICAgVklFV1BPUlRfQVRUUklCVVRFU19DSEFOR0VELAorICAgIElOU0VD
VVJFX0NPTlRFTlRfUE9MSUNZX0RFQ0lTSU9OX1JFUVVFU1RFRCwKIAogICAgIExBU1RfU0lHTkFM
CiB9OwpAQCAtMjU4OSw2ICsyNTkxLDM5IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld19j
bGFzc19pbml0KFdlYktpdFdlYlZpZXdDbGFzcyogd2ViVmlld0NsYXNzKQogICAgICAgICAgICAg
R19UWVBFX05PTkUsIDEsCiAgICAgICAgICAgICBXRUJLSVRfVFlQRV9WSUVXUE9SVF9BVFRSSUJV
VEVTKTsKIAorICAgIC8qKgorICAgICAqIFdlYktpdFdlYlZpZXc6Omluc2VjdXJlLWNvbnRlbnQt
cG9saWN5LWRlY2lzaW9uLXJlcXVlc3RlZDoKKyAgICAgKiBAd2ViX3ZpZXc6IHRoZSBvYmplY3Qg
b24gd2hpY2ggdGhlIHNpZ25hbCBpcyBlbWl0dGVkCisgICAgICogQGZyYW1lOiB0aGUgZnJhbWUg
dGhhdCByZXF1ZXN0cyBkZWNpc2lvbgorICAgICAqIEB1cmk6IHRoZSBVUkkgb2Ygc291cmNlIG9m
IHRoZSBvZmZlbmRpbmcgY29udGVudAorICAgICAqIEBwb2xpY3lfZGVjaXNpb246IGEgV2ViS2l0
SW5zZWN1cmVDb250ZW50UG9saWN5RGVjaXNpb24KKyAgICAgKgorICAgICAqIFRoZSAjV2ViS2l0
V2ViVmlldzo6aW5zZWN1cmUtY29udGVudC1wb2xpY3ktZGVjaXNpb24tcmVxdWVzdGVkIHNpZ25h
bCB3aWxsIGJlCisgICAgICogZW1pdHRlZCB3aGVuIGEgcG9saWN5IGRlY2lzaW9uIGlzIG5lZWRl
ZCBhYm91dCBlaXRoZXIgZGlzcGxheWluZyBvciBydW5uaW5nCisgICAgICogaW5zZWN1cmUgY29u
dGVudC4gVGhpcyBoYXBwZW5zIHdoZW4gY29udGVudCBvbiBhIHBhZ2Ugd2l0aCBzZWN1cmUgY29u
bmVjdGlvbiBpcworICAgICAqIGdhdGhlcmVkIGZyb20gc291cmNlcyB0aGF0IGRvIG5vdCBwcm92
aWRlIHNlY3VyZSBjb25uZWN0aW9uLgorICAgICAqCisgICAgICogVGhpcyBzaWduYWwgd2lsbCBu
b3QgYmUgZW1pdHRlZCBmb3IgZGlzcGxheWluZyBpbnNlY3VyZSBjb250ZW50IGlmCisgICAgICog
I1dlYktpdFdlYlNldHRpbmdzOjphbGxvdy1kaXNwbGF5aW5nLWluc2VjdXJlLWNvbnRlbnQgcHJv
cGVydHkgaXMgc2V0IHRvICVUUlVFIGFuZAorICAgICAqIHdpbGwgbm90IGJlIGVtaXR0ZWQgZm9y
IHJ1bm5pbmcgaW5zZWN1cmUgY29udGVudCBpZiAjV2ViS2l0V2ViU2V0dGluZ3M6OmFsbG93LXJ1
bm5pbmctaW5zZWN1cmUtY29udGVudAorICAgICAqIHByb3BlcnR5IGlzIHNldCB0byAlVFJVRS4g
SW4gdGhhdCBjYXNlLCB0aGUgaW5zZWN1cmUgY29udGVudCB3aWxsIGJlIGRpc3BsYXllZCBvciBy
YW4KKyAgICAgKiB3aXRob3V0IHByZXZpb3VzIG5vdGljZSBvciBjaGFuY2UgdG8gcHJldmVudCBp
dC4KKyAgICAgKgorICAgICAqIElmIGVtaXR0ZWQgYnV0IG5vdCBoYW5kbGVkLCB0aGUgcG9saWN5
IGRlY2lzaW9uIHdpbGwgYXV0b21hdGljYWxseSBiZSBkZW5pZWQuCisgICAgICoKKyAgICAgKiBT
aW5jZTogMS43LjIKKyAgICAgKi8KKyAgICB3ZWJraXRfd2ViX3ZpZXdfc2lnbmFsc1tJTlNFQ1VS
RV9DT05URU5UX1BPTElDWV9ERUNJU0lPTl9SRVFVRVNURURdID0gZ19zaWduYWxfbmV3KCJpbnNl
Y3VyZS1jb250ZW50LXBvbGljeS1kZWNpc2lvbi1yZXF1ZXN0ZWQiLAorICAgICAgICAgICAgR19U
WVBFX0ZST01fQ0xBU1Mod2ViVmlld0NsYXNzKSwKKyAgICAgICAgICAgIChHU2lnbmFsRmxhZ3Mp
KEdfU0lHTkFMX1JVTl9MQVNUKSwKKyAgICAgICAgICAgIDAsCisgICAgICAgICAgICBOVUxMLCBO
VUxMLAorICAgICAgICAgICAgd2Via2l0X21hcnNoYWxfQk9PTEVBTl9fT0JKRUNUX1NUUklOR19P
QkpFQ1QsCisgICAgICAgICAgICBHX1RZUEVfQk9PTEVBTiwgMywKKyAgICAgICAgICAgIFdFQktJ
VF9UWVBFX1dFQl9GUkFNRSwKKyAgICAgICAgICAgIEdfVFlQRV9TVFJJTkcsCisgICAgICAgICAg
ICBXRUJLSVRfVFlQRV9JTlNFQ1VSRV9DT05URU5UX1BPTElDWV9ERUNJU0lPTik7CisKICAgICAv
KgogICAgICAqIGltcGxlbWVudGF0aW9ucyBvZiB2aXJ0dWFsIG1ldGhvZHMKICAgICAgKi8KQEAg
LTMwNzcsNiArMzExMiw4IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld191cGRhdGVfc2V0
dGluZ3MoV2ViS2l0V2ViVmlldyogd2ViVmlldykKICAgICBjb3JlU2V0dGluZ3MtPnNldEphdmFF
bmFibGVkKHNldHRpbmdzUHJpdmF0ZS0+ZW5hYmxlSmF2YUFwcGxldCk7CiAgICAgY29yZVNldHRp
bmdzLT5zZXRIeXBlcmxpbmtBdWRpdGluZ0VuYWJsZWQoc2V0dGluZ3NQcml2YXRlLT5lbmFibGVI
eXBlcmxpbmtBdWRpdGluZyk7CiAgICAgY29yZVNldHRpbmdzLT5zZXRETlNQcmVmZXRjaGluZ0Vu
YWJsZWQoc2V0dGluZ3NQcml2YXRlLT5lbmFibGVETlNQcmVmZXRjaGluZyk7CisgICAgY29yZVNl
dHRpbmdzLT5zZXRBbGxvd0Rpc3BsYXlPZkluc2VjdXJlQ29udGVudChzZXR0aW5nc1ByaXZhdGUt
PmFsbG93RGlzcGxheWluZ0luc2VjdXJlQ29udGVudCk7CisgICAgY29yZVNldHRpbmdzLT5zZXRB
bGxvd1J1bm5pbmdPZkluc2VjdXJlQ29udGVudChzZXR0aW5nc1ByaXZhdGUtPmFsbG93UnVubmlu
Z0luc2VjdXJlQ29udGVudCk7CiAKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIEFic3Ry
YWN0RGF0YWJhc2U6OnNldElzQXZhaWxhYmxlKHNldHRpbmdzUHJpdmF0ZS0+ZW5hYmxlSFRNTDVE
YXRhYmFzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXRtYXJzaGFsLmxp
c3QgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXRtYXJzaGFsLmxpc3QKaW5kZXggNTM3MmM1NzYz
ZDc0YjM5MWQxMWJlMWVjNzQ2NTIyMDNmMDM3MjI1My4uM2VjNzE5Nzc5NmYyODAxMDRlNGUzMDUz
Mjk2YTY3ZjNjMDU2Mjg3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0bWFy
c2hhbC5saXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdG1hcnNoYWwubGlzdApAQCAt
Nyw2ICs3LDcgQEAgQk9PTEVBTjpPQkpFQ1QsT0JKRUNULEVOVU0sQk9PTEVBTgogQk9PTEVBTjpP
QkpFQ1QsT0JKRUNULE9CSkVDVCxPQkpFQ1QKIEJPT0xFQU46T0JKRUNULE9CSkVDVCxTVFJJTkcs
T0JKRUNUCiBCT09MRUFOOk9CSkVDVCxTVFJJTkcKK0JPT0xFQU46T0JKRUNULFNUUklORyxPQkpF
Q1QKIEJPT0xFQU46T0JKRUNULFNUUklORyxQT0lOVEVSCiBCT09MRUFOOk9CSkVDVCxTVFJJTkcs
U1RSSU5HLFNUUklORwogQk9PTEVBTjpTVFJJTkcsSU5ULFNUUklORwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>