<?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>105806</bug_id>
          
          <creation_ts>2012-12-27 12:56:04 -0800</creation_ts>
          <short_desc>REGRESSION(r138509): Caused several tests to crash (Requested by fsamuel on #webkit).</short_desc>
          <delta_ts>2012-12-27 13:09:29 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>105752</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>fsamuel</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>797654</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-27 12:56:04 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/138509 broke the build:
Caused several tests to crash (Requested by fsamuel on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>797656</commentid>
    <comment_count>1</comment_count>
      <attachid>180816</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-27 12:56:52 -0800</bug_when>
    <thetext>Created attachment 180816
ROLLOUT of r138509

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>797657</commentid>
    <comment_count>2</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2012-12-27 13:00:01 -0800</bug_when>
    <thetext>Some of the failing tests include:

compositing/geometry/bounds-ignores-hidden-composited-descendant.html
compositing/iframes/composited-iframe-scroll.html
compositing/images/clip-on-directly-composited-image.html
compositing/images/content-image-change.html
compositing/images/content-image.html
compositing/images/direct-image-background-color.html
compositing/layer-creation/animation-overlap-with-children.html
compositing/layer-creation/fixed-position-and-transform.html
compositing/layer-creation/fixed-position-out-of-view-scaled-iframe-scroll.html
compositing/layer-creation/fixed-position-out-of-view-scaled-iframe.html
compositing/masks/direct-image-mask.html
compositing/masks/layer-mask-placement.html
compositing/masks/mask-layer-size.html
compositing/masks/mask-of-clipped-layer.html
compositing/overflow/ancestor-overflow.html
compositing/overflow/automatically-opt-into-composited-scrolling.html
compositing/overflow/clip-content-under-overflow-controls.html
compositing/plugins/invalidate_rect.html
compositing/plugins/no-backing-store.html
compositing/reflections/animation-inside-reflection.html
compositing/reflections/backface-hidden-reflection.html
http/tests/appcache/abort-cache-ondownloading-manifest-404.html
http/tests/appcache/access-via-redirect.php
http/tests/appcache/crash-when-navigating-away-then-back.html
http/tests/appcache/credential-url.html
http/tests/appcache/cyrillic-uri.html
http/tests/appcache/deferred-events-delete-while-raising-timer.html
http/tests/appcache/deferred-events-delete-while-raising.html
http/tests/appcache/deferred-events.html
http/tests/appcache/destroyed-frame.html
http/tests/appcache/detached-iframe.html
http/tests/appcache/different-origin-manifest.html
http/tests/appcache/different-scheme.html
http/tests/appcache/disabled.html
http/tests/images/jpeg-partial-load.html
http/tests/images/png-partial-load-no-alpha.html
http/tests/images/png-partial-load.html
http/tests/images/png-progressive-load.html
http/tests/images/webp-partial-load.html
http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials.html
http/tests/local/absolute-url-strip-whitespace.html
http/tests/local/drag-over-remote-content.html
http/tests/local/file-url-sent-as-referer.html
http/tests/local/link-stylesheet-load-order-preload.html
http/tests/navigation/anchor-basic.html
http/tests/navigation/anchor-frames-cross-origin.html
http/tests/navigation/anchor-frames-gbk.html
http/tests/navigation/anchor-frames-same-origin.html
http/tests/navigation/anchor-frames.html
http/tests/navigation/anchor-goback.html
http/tests/navigation/anchor-subframeload.html
http/tests/navigation/back-send-referrer.html
http/tests/navigation/back-to-slow-frame.html
http/tests/navigation/back-twice-without-commit.html
http/tests/navigation/changing-frame-hierarchy-in-onload.html
http/tests/navigation/document-location-click-timeout.html
http/tests/navigation/document-location-click.html
http/tests/notifications/event-listener-crash.html
http/tests/plugins/create-v8-script-objects.html
http/tests/plugins/cross-frame-object-access.html
http/tests/plugins/get-url.html
http/tests/security/listener/xss-JSTargetNode-onclick-addEventListener.html
http/tests/security/listener/xss-JSTargetNode-onclick-shortcut.html
http/tests/security/listener/xss-XMLHttpRequest-addEventListener.html
http/tests/security/listener/xss-XMLHttpRequest-shortcut.html
http/tests/webfont/fallback-font-while-loading.html
http/tests/websocket/tests/hybi/alert-in-event-handler.html
http/tests/websocket/tests/hybi/bad-handshake-crash.html
http/tests/websocket/tests/hybi/bad-sub-protocol-control-chars.html


Partial stack dump:

crash log for DumpRenderTree (pid 2975):
STDOUT: &lt;empty&gt;
STDERR: ASSERTION FAILED: this
STDERR: ../../third_party/WebKit/Source/WebCore/dom/Node.h(463) : WebCore::Document* WebCore::Node::document() const
STDERR: 1   0x7fb9d225faff
STDERR: 2   0x7fb9d346939c
STDERR: 3   0x7fb9d34552d9
STDERR: 4   0x7fb9d344f566
STDERR: 5   0x7fb9d299a554
STDERR: 6   0x7fb9d225fcd0
STDERR: 7   0x7fb9d2a0159b
STDERR: 8   0x7fb9d2a685a9
STDERR: 9   0x7fb9d2a00e33
STDERR: 10  0x7fb9d2a00e8c
STDERR: 11  0x7fb9d39eb9bc
STDERR: 12  0x7fb9d39ebc15
STDERR: 13  0x7fb9d39ec284
STDERR: 14  0x7fb9d3a1cdd7
STDERR: 15  0x7fb9d3a1c539</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>797658</commentid>
    <comment_count>3</comment_count>
      <attachid>180816</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-27 13:09:25 -0800</bug_when>
    <thetext>Comment on attachment 180816
ROLLOUT of r138509

Clearing flags on attachment: 180816

Committed r138512: &lt;http://trac.webkit.org/changeset/138512&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>797659</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-27 13:09:29 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180816</attachid>
            <date>2012-12-27 12:56:52 -0800</date>
            <delta_ts>2012-12-27 13:09:25 -0800</delta_ts>
            <desc>ROLLOUT of r138509</desc>
            <filename>bug-105806-20121227210324.patch</filename>
            <type>text/plain</type>
            <size>30484</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4NTExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGI4ZWRmNDU3MzNmNjhi
MzU4NGIxMWM3MWRhZTcyYjhmNGI4NWNjZi4uMGZmMmYyNWJhMmNhMmQ4ZDRlNGUzMzAzMGJiNWRj
ZTk0NzcxMGMyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEyLTEyLTI3ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTM4NTA5LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMzg1MDkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwNTgwNgorCisgICAgICAgIENhdXNlZCBzZXZlcmFsIHRlc3RzIHRvIGNyYXNo
IChSZXF1ZXN0ZWQgYnkgZnNhbXVlbCBvbgorICAgICAgICAjd2Via2l0KS4KKworICAgICAgICAq
IENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAg
ICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGNzcy9TZWxlY3RvckNoZWNr
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bGlua0F0dHJpYnV0ZSk6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6ZGV0ZXJtaW5lTGlua1N0
YXRlU2xvd0Nhc2UpOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDaGVja2VyOjphbGxWaXNp
dGVkU3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6dmlz
aXRlZFN0YXRlQ2hhbmdlZCk6CisgICAgICAgICogY3NzL1NlbGVjdG9yQ2hlY2tlci5oOgorICAg
ICAgICAoU2VsZWN0b3JDaGVja2VyKToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ2hlY2tl
cjo6ZGV0ZXJtaW5lTGlua1N0YXRlKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGNz
cy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6Omlu
aXRFbGVtZW50KToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5oOgorICAgICAgICAoV2Vi
Q29yZTo6U3R5bGVSZXNvbHZlcjo6YWxsVmlzaXRlZFN0YXRlQ2hhbmdlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZVJlc29sdmVyOjp2aXNpdGVkU3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKFN0
eWxlUmVzb2x2ZXIpOgorICAgICAgICAqIGRvbS9ET01BbGxJbk9uZS5jcHA6CisgICAgICAgICog
ZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpEb2N1bWVudCk6
CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KERvY3VtZW50KToKKyAgICAgICAgKiBkb20vVmlzaXRlZExpbmtTdGF0ZS5jcHA6IFJlbW92ZWQu
CisgICAgICAgICogZG9tL1Zpc2l0ZWRMaW5rU3RhdGUuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
aXN0b3J5L0NhY2hlZFBhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUGFnZTo6cmVz
dG9yZSk6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6
OmFsbFZpc2l0ZWRTdGF0ZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6dmlzaXRl
ZFN0YXRlQ2hhbmdlZCk6CisKIDIwMTItMTItMjcgIERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBNb3ZlIHZpc2l0ZWQgbGluay1jaGVja2luZyAoYW5k
IGNhY2hpbmcpIGNvZGUgb3V0IG9mIFNlbGVjdG9yQ2hlY2tlci4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
aW5kZXggNDk0M2ZlNjZlMjdjMWVjOWZmODIwZmUwM2JhM2Q2ZmU1ZDNiNTA2ZS4uODRhZTlhMWRh
M2ZkODFjMGQyMWIwNjkyZDExOWIyN2IzYmEwMTFmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAg
LTEyNDYsNyArMTI0Niw2IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBkb20vVXNlckdlc3R1
cmVJbmRpY2F0b3IuY3BwCiAgICAgZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmNwcAog
ICAgIGRvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAKLSAgICBkb20vVmlzaXRlZExpbmtTdGF0ZS5j
cHAKICAgICBkb20vV2ViQ29yZU1lbW9yeUluc3RydW1lbnRhdGlvbi5jcHAKICAgICBkb20vV2Vi
S2l0QW5pbWF0aW9uRXZlbnQuY3BwCiAgICAgZG9tL1dlYktpdE5hbWVkRmxvdy5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDMyMWI2NjYyNDJhYjg5ZTcyNzc2NjFiMTdhMWM2
NWQ0ODViNTg5N2YuLjJmNzRkODhmY2IyMWQyNzQxMDE0ZDU0NWM3MzQ2ZDY4MjM3ZTI4NWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjk4OSw4ICsyOTg5LDYgQEAgd2ViY29y
ZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vVXNlclR5cGluZ0dlc3R1cmVJbmRp
Y2F0b3IuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcCBcCiAJ
U291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmggXAotCVNvdXJjZS9XZWJDb3Jl
L2RvbS9WaXNpdGVkTGlua1N0YXRlLmNwcCBcCi0JU291cmNlL1dlYkNvcmUvZG9tL1Zpc2l0ZWRM
aW5rU3RhdGUuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1dlYkNvcmVNZW1vcnlJbnN0cnVtZW50
YXRpb24uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vV2ViQ29yZU1lbW9yeUluc3RydW1lbnRh
dGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuY3BwIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9U
YXJnZXQucHJpCmluZGV4IGIyNDA2ODcwZWQyMDExNTgzNjlmZDIxZWFiZWI5NzRkZjQxNmI1MDMu
LjBiNzY4NTNjM2JmYzc5MGY4MDYwODIyNmJkNDg5OGI3YzRmZDNkYzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpA
QCAtNDcxLDcgKzQ3MSw2IEBAIFNPVVJDRVMgKz0gXAogICAgIGRvbS9Vc2VyR2VzdHVyZUluZGlj
YXRvci5jcHAgXAogICAgIGRvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5jcHAgXAogICAg
IGRvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAgXAotICAgIGRvbS9WaXNpdGVkTGlua1N0YXRlLmNw
cCBcCiAgICAgZG9tL1dlYkNvcmVNZW1vcnlJbnN0cnVtZW50YXRpb24uY3BwIFwKICAgICBkb20v
V2ViS2l0QW5pbWF0aW9uRXZlbnQuY3BwIFwKICAgICBkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50
LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggNzM5YmMwYmM5NDJiZWI0NmI0OGQ4NmQ5ZjFhMjAw
MzdkZWE5M2Y1NS4uNmU2YWUyYjExMGI4NDg1YTQ1NDg0YzE3MzExMGU5Y2QzYzMxMjM4NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQpAQCAtMjk0NCw4ICsyOTQ0LDYgQEAKICAgICAgICAgICAgICdkb20vVXNl
ckdlc3R1cmVJbmRpY2F0b3IuY3BwJywKICAgICAgICAgICAgICdkb20vVXNlclR5cGluZ0dlc3R1
cmVJbmRpY2F0b3IuY3BwJywKICAgICAgICAgICAgICdkb20vVmlld3BvcnRBcmd1bWVudHMuY3Bw
JywKLSAgICAgICAgICAgICdkb20vVmlzaXRlZExpbmtTdGF0ZS5jcHAnLAotICAgICAgICAgICAg
J2RvbS9WaXNpdGVkTGlua1N0YXRlLmgnLAogICAgICAgICAgICAgJ2RvbS9XZWJDb3JlTWVtb3J5
SW5zdHJ1bWVudGF0aW9uLmNwcCcsCiAgICAgICAgICAgICAnZG9tL1dlYkNvcmVNZW1vcnlJbnN0
cnVtZW50YXRpb24uaCcsCiAgICAgICAgICAgICAnZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmNw
cCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggZmU0Yjk5YWRjMTBhYjE2YjZmN2RlOTE0OTIzMDlhMTE3ZGJhMGI4Ny4uZjZkZmQw
YTdjZDQxMzYxNzE3YTFmZTRiMmQ3NmFkNTM0MGFjOGM5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTA5Miw4ICsxMDkyLDYg
QEAKIAkJNDE4QTA2RDExMzNDMDRENTAwQ0QzNzlDIC8qIEV2ZW50RGlzcGF0Y2hlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MThBMDZDRjEzM0Mw
NEQ1MDBDRDM3OUMgLyogRXZlbnREaXNwYXRjaGVyLmNwcCAqLzsgfTsKIAkJNDE4Rjg4MDQwRkY5
NTdBRTAwODBGMDQ1IC8qIEpTQWJzdHJhY3RXb3JrZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4Rjg4MDIwRkY5NTdBRTAwODBGMDQ1IC8qIEpT
QWJzdHJhY3RXb3JrZXIuY3BwICovOyB9OwogCQk0MThGODgwNTBGRjk1N0FGMDA4MEYwNDUgLyog
SlNBYnN0cmFjdFdvcmtlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDE4Rjg4MDMwRkY5NTdBRTAwODBGMDQ1IC8qIEpTQWJzdHJhY3RXb3JrZXIuaCAq
LzsgfTsKLQkJNDE5QkMyREUxNjg1MzI5OTAwRDY0RDZEIC8qIFZpc2l0ZWRMaW5rU3RhdGUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE5QkMyREMx
Njg1MzI5OTAwRDY0RDZEIC8qIFZpc2l0ZWRMaW5rU3RhdGUuY3BwICovOyB9OwotCQk0MTlCQzJE
RjE2ODUzMjk5MDBENjRENkQgLyogVmlzaXRlZExpbmtTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE5QkMyREQxNjg1MzI5OTAwRDY0RDZEIC8q
IFZpc2l0ZWRMaW5rU3RhdGUuaCAqLzsgfTsKIAkJNDFBM0Q1OEUxMDFDMTUyRDAwMzE2RDA3IC8q
IERlZGljYXRlZFdvcmtlclRocmVhZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MUEzRDU4QzEwMUMxNTJEMDAzMTZEMDcgLyogRGVkaWNhdGVkV29y
a2VyVGhyZWFkLmNwcCAqLzsgfTsKIAkJNDFBM0Q1OEYxMDFDMTUyRDAwMzE2RDA3IC8qIERlZGlj
YXRlZFdvcmtlclRocmVhZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDFBM0Q1OEQxMDFDMTUyRDAwMzE2RDA3IC8qIERlZGljYXRlZFdvcmtlclRocmVh
ZC5oICovOyB9OwogCQk0MUJGNzAwQjBGRTg2RjQ5MDA1RThERUMgLyogTWVzc2FnZVBvcnRDaGFu
bmVsLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
QkY3MDA5MEZFODZGNDkwMDVFOERFQyAvKiBNZXNzYWdlUG9ydENoYW5uZWwuY3BwICovOyB9OwpA
QCAtODMyOCw4ICs4MzI2LDYgQEAKIAkJNDE4QTA2Q0YxMzNDMDRENTAwQ0QzNzlDIC8qIEV2ZW50
RGlzcGF0Y2hlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFdmVu
dERpc3BhdGNoZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MThGODgwMjBG
Rjk1N0FFMDA4MEYwNDUgLyogSlNBYnN0cmFjdFdvcmtlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0Fic3RyYWN0V29ya2VyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDE4Rjg4MDMwRkY5NTdBRTAwODBGMDQ1IC8qIEpTQWJzdHJhY3RXb3Jr
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBYnN0cmFjdFdvcmtlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MTlCQzJEQzE2ODUzMjk5MDBENjRENkQg
LyogVmlzaXRlZExpbmtTdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBWaXNpdGVkTGlua1N0YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
NDE5QkMyREQxNjg1MzI5OTAwRDY0RDZEIC8qIFZpc2l0ZWRMaW5rU3RhdGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVmlzaXRlZExpbmtTdGF0ZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MUEzRDU4QzEwMUMxNTJEMDAzMTZEMDcgLyogRGVkaWNhdGVkV29y
a2VyVGhyZWFkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERlZGlj
YXRlZFdvcmtlclRocmVhZC5jcHA7IHBhdGggPSB3b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVh
ZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxQTNENThEMTAxQzE1MkQwMDMx
NkQwNyAvKiBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gRGVkaWNhdGVkV29ya2VyVGhyZWFkLmg7IHBhdGggPSB3b3JrZXJzL0RlZGljYXRl
ZFdvcmtlclRocmVhZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUJGNzAwOTBG
RTg2RjQ5MDA1RThERUMgLyogTWVzc2FnZVBvcnRDaGFubmVsLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lc3NhZ2VQb3J0Q2hhbm5lbC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0yMjI4OSw4ICsyMjI4NSw2IEBACiAJCQkJQkNERjMxN0ExMUY4
RDY4MzAwM0M1QkY4IC8qIFVzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmggKi8sCiAJCQkJQ0VG
NDE4Q0MxMTc5Njc4QzAwOUQxMTJDIC8qIFZpZXdwb3J0QXJndW1lbnRzLmNwcCAqLywKIAkJCQlD
RUY0MThDRDExNzk2NzhDMDA5RDExMkMgLyogVmlld3BvcnRBcmd1bWVudHMuaCAqLywKLQkJCQk0
MTlCQzJEQzE2ODUzMjk5MDBENjRENkQgLyogVmlzaXRlZExpbmtTdGF0ZS5jcHAgKi8sCi0JCQkJ
NDE5QkMyREQxNjg1MzI5OTAwRDY0RDZEIC8qIFZpc2l0ZWRMaW5rU3RhdGUuaCAqLywKIAkJCQlG
M0JGQzlEMjE1QzE3N0VDMDA0MjQ0RTUgLyogV2ViQ29yZU1lbW9yeUluc3RydW1lbnRhdGlvbi5j
cHAgKi8sCiAJCQkJNEYzNzdGRjQxNUZBMzU2QTAwRTVENjBEIC8qIFdlYkNvcmVNZW1vcnlJbnN0
cnVtZW50YXRpb24uaCAqLywKIAkJCQkzMUMwRkYxQjBFNENFQjZFMDA3RDZGRTUgLyogV2ViS2l0
QW5pbWF0aW9uRXZlbnQuY3BwICovLApAQCAtMjU5OTgsNyArMjU5OTIsNiBAQAogCQkJCTBGQjg4
OTBGMTY3RDMwMTYwMDEwQ0RBNSAvKiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUUxM0VGMzQ0MTY4NEVDRjQwMDM0QzgzRiAvKiBOZXR3b3JrU3RvcmFnZVNl
c3Npb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTQxNTA3MTU4MTY4NTA2NzMwMEMzQzdCMyAvKiBT
ZWxlY3RvckZpbHRlci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDE5QkMyREYxNjg1MzI5OTAwRDY0
RDZEIC8qIFZpc2l0ZWRMaW5rU3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjkxMTksNyArMjkx
MTIsNiBAQAogCQkJCTIwOUI0NTZCMTY3OTZBN0UwMEU1NEU0RSAvKiBKU0NyeXB0b0N1c3RvbS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTNFRjM0OTE2ODUwQzQ3MDAzNEM4M0YgLyogTmV0d29y
a1N0b3JhZ2VTZXNzaW9uQ0ZOZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE1MDcxNTcxNjg1
MDY3MzAwQzNDN0IzIC8qIFNlbGVjdG9yRmlsdGVyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTQx
OUJDMkRFMTY4NTMyOTkwMEQ2NEQ2RCAvKiBWaXNpdGVkTGlua1N0YXRlLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwog
CQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAppbmRleCBiMmQ5YjkyOWVl
ODNmODhlNjIxNGUxZjk3Njc2ZDljNTQxZmIxNzM0Li40MjFlYTkwYWI0MDc2YWM5NmJkMmM5ZThk
MmEyZDE3NzIxMjVkZjc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JD
aGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcApA
QCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkZvY3VzQ29udHJvbGxlci5oIgogI2luY2x1ZGUg
IkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVTZWxlY3Rpb24uaCIKKyNpbmNsdWRlICJIVE1MQW5j
aG9yRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxGcmFtZUVsZW1lbnRCYXNlLmgiCiAjaW5jbHVk
ZSAiSFRNTElucHV0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgpAQCAtNDMsNyAr
NDQsOSBAQAogI2luY2x1ZGUgIkhUTUxTdHlsZUVsZW1lbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJOb2RlUmVuZGVyU3R5bGUuaCIKKyNpbmNs
dWRlICJOb2RlVHJhdmVyc2FsLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlBhZ2VH
cm91cC5oIgogI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1ZGUgIlJlbmRlclNjcm9s
bGJhci5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCkBAIC01Myw2ICs1NiwxMiBAQAogI2lu
Y2x1ZGUgIlNpYmxpbmdUcmF2ZXJzYWxTdHJhdGVnaWVzLmgiCiAjaW5jbHVkZSAiU3R5bGVkRWxl
bWVudC5oIgogI2luY2x1ZGUgIlRleHQuaCIKKyNpbmNsdWRlICJYTGlua05hbWVzLmgiCisKKyNp
ZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmF0ZWdpZXMu
aCIKKyNpbmNsdWRlICJWaXNpdGVkTGlua1N0cmF0ZWd5LmgiCisjZW5kaWYKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCkBAIC02OCw2ICs3Nyw1NiBAQCBTZWxlY3RvckNoZWNrZXI6OlNlbGVjdG9y
Q2hlY2tlcihEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgc3RyaWN0UGFyc2luZykKIHsKIH0KIAor
c3RhdGljIGlubGluZSBjb25zdCBBdG9taWNTdHJpbmcqIGxpbmtBdHRyaWJ1dGUoRWxlbWVudCog
ZWxlbWVudCkKK3sKKyAgICBpZiAoIWVsZW1lbnQtPmlzTGluaygpKQorICAgICAgICByZXR1cm4g
MDsKKyAgICBpZiAoZWxlbWVudC0+aXNIVE1MRWxlbWVudCgpKQorICAgICAgICByZXR1cm4gJmVs
ZW1lbnQtPmZhc3RHZXRBdHRyaWJ1dGUoaHJlZkF0dHIpOworICAgIGlmIChlbGVtZW50LT5pc1NW
R0VsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuICZlbGVtZW50LT5nZXRBdHRyaWJ1dGUoWExpbmtO
YW1lczo6aHJlZkF0dHIpOworICAgIHJldHVybiAwOworfQorCitFSW5zaWRlTGluayBTZWxlY3Rv
ckNoZWNrZXI6OmRldGVybWluZUxpbmtTdGF0ZVNsb3dDYXNlKEVsZW1lbnQqIGVsZW1lbnQpIGNv
bnN0Cit7CisgICAgQVNTRVJUKGVsZW1lbnQtPmlzTGluaygpKTsKKworICAgIGNvbnN0IEF0b21p
Y1N0cmluZyogYXR0cmlidXRlID0gbGlua0F0dHJpYnV0ZShlbGVtZW50KTsKKyAgICBpZiAoIWF0
dHJpYnV0ZSB8fCBhdHRyaWJ1dGUtPmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gTm90SW5zaWRl
TGluazsKKworICAgIC8vIEFuIGVtcHR5IGhyZWYgcmVmZXJzIHRvIHRoZSBkb2N1bWVudCBpdHNl
bGYgd2hpY2ggaXMgYWx3YXlzIHZpc2l0ZWQuIEl0IGlzIHVzZWZ1bCB0byBjaGVjayB0aGlzIGV4
cGxpY2l0bHkgc28KKyAgICAvLyB0aGF0IHZpc2l0ZWQgbGlua3MgY2FuIGJlIHRlc3RlZCBpbiBw
bGF0Zm9ybSBpbmRlcGVuZGVudCBtYW5uZXIsIHdpdGhvdXQgZXhwbGljaXQgc3VwcG9ydCBpbiB0
aGUgdGVzdCBoYXJuZXNzLgorICAgIGlmIChhdHRyaWJ1dGUtPmlzRW1wdHkoKSkKKyAgICAgICAg
cmV0dXJuIEluc2lkZVZpc2l0ZWRMaW5rOworICAgIAorICAgIExpbmtIYXNoIGhhc2g7CisgICAg
aWYgKGVsZW1lbnQtPmhhc1RhZ05hbWUoYVRhZykpIAorICAgICAgICBoYXNoID0gc3RhdGljX2Nh
c3Q8SFRNTEFuY2hvckVsZW1lbnQqPihlbGVtZW50KS0+dmlzaXRlZExpbmtIYXNoKCk7CisgICAg
ZWxzZQorICAgICAgICBoYXNoID0gdmlzaXRlZExpbmtIYXNoKG1fZG9jdW1lbnQtPmJhc2VVUkwo
KSwgKmF0dHJpYnV0ZSk7CisKKyAgICBpZiAoIWhhc2gpCisgICAgICAgIHJldHVybiBJbnNpZGVV
bnZpc2l0ZWRMaW5rOworCisgICAgRnJhbWUqIGZyYW1lID0gbV9kb2N1bWVudC0+ZnJhbWUoKTsK
KyAgICBpZiAoIWZyYW1lKQorICAgICAgICByZXR1cm4gSW5zaWRlVW52aXNpdGVkTGluazsKKwor
ICAgIFBhZ2UqIHBhZ2UgPSBmcmFtZS0+cGFnZSgpOworICAgIGlmICghcGFnZSkKKyAgICAgICAg
cmV0dXJuIEluc2lkZVVudmlzaXRlZExpbms7CisKKyAgICBtX2xpbmtzQ2hlY2tlZEZvclZpc2l0
ZWRTdGF0ZS5hZGQoaGFzaCk7CisKKyNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKKyAgICBy
ZXR1cm4gcGxhdGZvcm1TdHJhdGVnaWVzKCktPnZpc2l0ZWRMaW5rU3RyYXRlZ3koKS0+aXNMaW5r
VmlzaXRlZChwYWdlLCBoYXNoLCBtX2RvY3VtZW50LT5iYXNlVVJMKCksICphdHRyaWJ1dGUpID8g
SW5zaWRlVmlzaXRlZExpbmsgOiBJbnNpZGVVbnZpc2l0ZWRMaW5rOworI2Vsc2UKKyAgICByZXR1
cm4gcGFnZS0+Z3JvdXAoKS5pc0xpbmtWaXNpdGVkKGhhc2gpID8gSW5zaWRlVmlzaXRlZExpbmsg
OiBJbnNpZGVVbnZpc2l0ZWRMaW5rOworI2VuZGlmCit9CisKIGJvb2wgU2VsZWN0b3JDaGVja2Vy
OjpjaGVja1NlbGVjdG9yKENTU1NlbGVjdG9yKiBzZWwsIEVsZW1lbnQqIGVsZW1lbnQsIGJvb2wg
aXNGYXN0Q2hlY2thYmxlU2VsZWN0b3IpIGNvbnN0CiB7CiAgICAgaWYgKGlzRmFzdENoZWNrYWJs
ZVNlbGVjdG9yICYmICFlbGVtZW50LT5pc1NWR0VsZW1lbnQoKSkgewpAQCAtMTA0Miw2ICsxMTAx
LDMxIEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjpjaGVja1Njcm9sbGJhclBzZXVkb0NsYXNzKENT
U1NlbGVjdG9yKiBzZWwpIGNvbnN0CiAgICAgfQogfQogCit2b2lkIFNlbGVjdG9yQ2hlY2tlcjo6
YWxsVmlzaXRlZFN0YXRlQ2hhbmdlZCgpCit7CisgICAgaWYgKG1fbGlua3NDaGVja2VkRm9yVmlz
aXRlZFN0YXRlLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworICAgIGZvciAoRWxlbWVudCog
ZWxlbWVudCA9IEVsZW1lbnRUcmF2ZXJzYWw6OmZpcnN0V2l0aGluKG1fZG9jdW1lbnQpOyBlbGVt
ZW50OyBlbGVtZW50ID0gRWxlbWVudFRyYXZlcnNhbDo6bmV4dChlbGVtZW50KSkgeworICAgICAg
ICBpZiAoZWxlbWVudC0+aXNMaW5rKCkpCisgICAgICAgICAgICBlbGVtZW50LT5zZXROZWVkc1N0
eWxlUmVjYWxjKCk7CisgICAgfQorfQorCit2b2lkIFNlbGVjdG9yQ2hlY2tlcjo6dmlzaXRlZFN0
YXRlQ2hhbmdlZChMaW5rSGFzaCB2aXNpdGVkSGFzaCkKK3sKKyAgICBpZiAoIW1fbGlua3NDaGVj
a2VkRm9yVmlzaXRlZFN0YXRlLmNvbnRhaW5zKHZpc2l0ZWRIYXNoKSkKKyAgICAgICAgcmV0dXJu
OworICAgIGZvciAoRWxlbWVudCogZWxlbWVudCA9IEVsZW1lbnRUcmF2ZXJzYWw6OmZpcnN0V2l0
aGluKG1fZG9jdW1lbnQpOyBlbGVtZW50OyBlbGVtZW50ID0gRWxlbWVudFRyYXZlcnNhbDo6bmV4
dChlbGVtZW50KSkgeworICAgICAgICBMaW5rSGFzaCBoYXNoID0gMDsKKyAgICAgICAgaWYgKGVs
ZW1lbnQtPmhhc1RhZ05hbWUoYVRhZykpCisgICAgICAgICAgICBoYXNoID0gc3RhdGljX2Nhc3Q8
SFRNTEFuY2hvckVsZW1lbnQqPihlbGVtZW50KS0+dmlzaXRlZExpbmtIYXNoKCk7CisgICAgICAg
IGVsc2UgaWYgKGNvbnN0IEF0b21pY1N0cmluZyogYXR0ciA9IGxpbmtBdHRyaWJ1dGUoZWxlbWVu
dCkpCisgICAgICAgICAgICBoYXNoID0gdmlzaXRlZExpbmtIYXNoKG1fZG9jdW1lbnQtPmJhc2VV
UkwoKSwgKmF0dHIpOworICAgICAgICBpZiAoaGFzaCA9PSB2aXNpdGVkSGFzaCkKKyAgICAgICAg
ICAgIGVsZW1lbnQtPnNldE5lZWRzU3R5bGVSZWNhbGMoKTsKKyAgICB9Cit9CisKIGJvb2wgU2Vs
ZWN0b3JDaGVja2VyOjpjb21tb25Qc2V1ZG9DbGFzc1NlbGVjdG9yTWF0Y2hlcyhjb25zdCBFbGVt
ZW50KiBlbGVtZW50LCBjb25zdCBDU1NTZWxlY3Rvciogc2VsZWN0b3IsIFZpc2l0ZWRNYXRjaFR5
cGUgdmlzaXRlZE1hdGNoVHlwZSkgY29uc3QKIHsKICAgICBBU1NFUlQoaXNDb21tb25Qc2V1ZG9D
bGFzc1NlbGVjdG9yKHNlbGVjdG9yKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U2VsZWN0b3JDaGVja2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmgK
aW5kZXggYzI4Y2YwNmM3YTA0ZWM5MzliZDU4NWNjODU4NWNkNmI3MzVkYjI3Zi4uODQ0NWM2MjVj
MDIwNzdjMWM2NjM1ZmQ4NmFjMjhmNWNjNjdlZjBkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3Rv
ckNoZWNrZXIuaApAQCAtMzEsNiArMzEsOCBAQAogI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgogI2lu
Y2x1ZGUgIkNTU1NlbGVjdG9yLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmgiCisjaW5jbHVkZSAiTGlua0hhc2guaCIKKyNpbmNsdWRlICJSZW5kZXJTdHlsZUNvbnN0YW50
cy5oIgogI2luY2x1ZGUgIlNwYWNlU3BsaXRTdHJpbmcuaCIKICNpbmNsdWRlICJTdHlsZWRFbGVt
ZW50LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KQEAgLTg2LDYgKzg4LDEwIEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgYm9vbCBpc0Zhc3RDaGVja2FibGVTZWxlY3Rvcihjb25zdCBDU1NTZWxl
Y3RvciopOwogICAgIGJvb2wgZmFzdENoZWNrU2VsZWN0b3IoY29uc3QgQ1NTU2VsZWN0b3IqLCBj
b25zdCBFbGVtZW50KikgY29uc3Q7CiAKKyAgICBFSW5zaWRlTGluayBkZXRlcm1pbmVMaW5rU3Rh
dGUoRWxlbWVudCopIGNvbnN0OworICAgIHZvaWQgYWxsVmlzaXRlZFN0YXRlQ2hhbmdlZCgpOwor
ICAgIHZvaWQgdmlzaXRlZFN0YXRlQ2hhbmdlZChMaW5rSGFzaCB2aXNpdGVkSGFzaCk7CisKICAg
ICBEb2N1bWVudCogZG9jdW1lbnQoKSBjb25zdCB7IHJldHVybiBtX2RvY3VtZW50OyB9CiAgICAg
Ym9vbCBzdHJpY3RQYXJzaW5nKCkgY29uc3QgeyByZXR1cm4gbV9zdHJpY3RQYXJzaW5nOyB9CiAK
QEAgLTEwOSwxMiArMTE1LDIyIEBAIHByaXZhdGU6CiAgICAgYm9vbCBmYXN0Q2hlY2tSaWdodG1v
c3RTZWxlY3Rvcihjb25zdCBDU1NTZWxlY3RvciosIGNvbnN0IEVsZW1lbnQqLCBWaXNpdGVkTWF0
Y2hUeXBlKSBjb25zdDsKICAgICBib29sIGNvbW1vblBzZXVkb0NsYXNzU2VsZWN0b3JNYXRjaGVz
KGNvbnN0IEVsZW1lbnQqLCBjb25zdCBDU1NTZWxlY3RvciosIFZpc2l0ZWRNYXRjaFR5cGUpIGNv
bnN0OwogCisgICAgRUluc2lkZUxpbmsgZGV0ZXJtaW5lTGlua1N0YXRlU2xvd0Nhc2UoRWxlbWVu
dCopIGNvbnN0OworCiAgICAgRG9jdW1lbnQqIG1fZG9jdW1lbnQ7CiAgICAgYm9vbCBtX3N0cmlj
dFBhcnNpbmc7CiAgICAgYm9vbCBtX2RvY3VtZW50SXNIVE1MOwogICAgIE1vZGUgbV9tb2RlOwor
ICAgIG11dGFibGUgSGFzaFNldDxMaW5rSGFzaCwgTGlua0hhc2hIYXNoPiBtX2xpbmtzQ2hlY2tl
ZEZvclZpc2l0ZWRTdGF0ZTsKIH07CiAKK2lubGluZSBFSW5zaWRlTGluayBTZWxlY3RvckNoZWNr
ZXI6OmRldGVybWluZUxpbmtTdGF0ZShFbGVtZW50KiBlbGVtZW50KSBjb25zdAoreworICAgIGlm
ICghZWxlbWVudCB8fCAhZWxlbWVudC0+aXNMaW5rKCkpCisgICAgICAgIHJldHVybiBOb3RJbnNp
ZGVMaW5rOworICAgIHJldHVybiBkZXRlcm1pbmVMaW5rU3RhdGVTbG93Q2FzZShlbGVtZW50KTsK
K30KKwogaW5saW5lIGJvb2wgU2VsZWN0b3JDaGVja2VyOjppc0NvbW1vblBzZXVkb0NsYXNzU2Vs
ZWN0b3IoY29uc3QgQ1NTU2VsZWN0b3IqIHNlbGVjdG9yKQogewogICAgIGlmIChzZWxlY3Rvci0+
bV9tYXRjaCAhPSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3MpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVS
ZXNvbHZlci5jcHAKaW5kZXggMWM0MTBkYWNiODAzOGM1NjU3MTkwMjdkZmVjYjUxYzQwZGQ2YWIy
Yy4uYzIxODVkYWQxYjMwOTk5NmY1YmMzZTMzNzk1ZTc4YmE2ZmQxYzQyMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVJlc29sdmVyLmNwcApAQCAtODgsNiArODgsNyBAQAogI2luY2x1ZGUgIk5vZGVS
ZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJpbmdDb250ZXh0LmgiCiAjaW5jbHVk
ZSAiUGFnZS5oIgorI2luY2x1ZGUgIlBhZ2VHcm91cC5oIgogI2luY2x1ZGUgIlBhaXIuaCIKICNp
bmNsdWRlICJQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIlF1b3Rl
c0RhdGEuaCIKQEAgLTEyMyw3ICsxMjQsNiBAQAogI2luY2x1ZGUgIlRyYW5zbGF0ZVRyYW5zZm9y
bU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIlVzZXJBZ2VudFN0eWxlU2hlZXRzLmgiCiAjaW5jbHVk
ZSAiVmlld3BvcnRTdHlsZVJlc29sdmVyLmgiCi0jaW5jbHVkZSAiVmlzaXRlZExpbmtTdGF0ZS5o
IgogI2luY2x1ZGUgIldlYkNvcmVNZW1vcnlJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJX
ZWJLaXRDU1NLZXlmcmFtZVJ1bGUuaCIKICNpbmNsdWRlICJXZWJLaXRDU1NLZXlmcmFtZXNSdWxl
LmgiCkBAIC05NjQsNyArOTY0LDcgQEAgaW5saW5lIHZvaWQgU3R5bGVSZXNvbHZlcjo6aW5pdEVs
ZW1lbnQoRWxlbWVudCogZSkKICAgICBpZiAobV9lbGVtZW50ICE9IGUpIHsKICAgICAgICAgbV9l
bGVtZW50ID0gZTsKICAgICAgICAgbV9zdHlsZWRFbGVtZW50ID0gbV9lbGVtZW50ICYmIG1fZWxl
bWVudC0+aXNTdHlsZWRFbGVtZW50KCkgPyBzdGF0aWNfY2FzdDxTdHlsZWRFbGVtZW50Kj4obV9l
bGVtZW50KSA6IDA7Ci0gICAgICAgIG1fZWxlbWVudExpbmtTdGF0ZSA9IGUtPmRvY3VtZW50KCkt
PnZpc2l0ZWRMaW5rU3RhdGUoKS0+ZGV0ZXJtaW5lTGlua1N0YXRlKG1fZWxlbWVudCk7CisgICAg
ICAgIG1fZWxlbWVudExpbmtTdGF0ZSA9IG1fY2hlY2tlci5kZXRlcm1pbmVMaW5rU3RhdGUobV9l
bGVtZW50KTsKICAgICAgICAgaWYgKGUgJiYgZSA9PSBlLT5kb2N1bWVudCgpLT5kb2N1bWVudEVs
ZW1lbnQoKSkgewogICAgICAgICAgICAgZS0+ZG9jdW1lbnQoKS0+c2V0RGlyZWN0aW9uU2V0T25E
b2N1bWVudEVsZW1lbnQoZmFsc2UpOwogICAgICAgICAgICAgZS0+ZG9jdW1lbnQoKS0+c2V0V3Jp
dGluZ01vZGVTZXRPbkRvY3VtZW50RWxlbWVudChmYWxzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVz
b2x2ZXIuaAppbmRleCAyYmYzMmRhY2IzOGUxNzY3MGJkMTI0ZDM1MjZjY2M4NTZkZTE2MWY2Li5h
YzkxNTA5OWEyZWZlZThiNWJkOTU0ODBiYzA1ODM0YjNlMzJlZWRkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJlc29sdmVyLmgKQEAgLTI2Myw2ICsyNjMsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNW
aWV3cG9ydERlcGVuZGVudE1lZGlhUXVlcmllcygpIGNvbnN0IHsgcmV0dXJuICFtX3ZpZXdwb3J0
RGVwZW5kZW50TWVkaWFRdWVyeVJlc3VsdHMuaXNFbXB0eSgpOyB9CiAgICAgYm9vbCBhZmZlY3Rl
ZEJ5Vmlld3BvcnRDaGFuZ2UoKSBjb25zdDsKIAorICAgIHZvaWQgYWxsVmlzaXRlZFN0YXRlQ2hh
bmdlZCgpIHsgbV9jaGVja2VyLmFsbFZpc2l0ZWRTdGF0ZUNoYW5nZWQoKTsgfQorICAgIHZvaWQg
dmlzaXRlZFN0YXRlQ2hhbmdlZChMaW5rSGFzaCB2aXNpdGVkSGFzaCkgeyBtX2NoZWNrZXIudmlz
aXRlZFN0YXRlQ2hhbmdlZCh2aXNpdGVkSGFzaCk7IH0KKwogICAgIHZvaWQgYWRkS2V5ZnJhbWVT
dHlsZShQYXNzUmVmUHRyPFN0eWxlUnVsZUtleWZyYW1lcz4pOwogCiAgICAgYm9vbCBjaGVja1Jl
Z2lvblN0eWxlKEVsZW1lbnQqIHJlZ2lvbkVsZW1lbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0RPTUFsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9u
ZS5jcHAKaW5kZXggNzJlNGE0ODU1ZmZmNGNkYzNmY2UyZmY5MjE0MzBkMjQ4OTczN2NhOC4uNTlm
NTliZWJjMTc5MDg5MDUzMTVhNDkyZjhmMGE5NjIxOTc2MGI3NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0RPTUFsbEluT25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9N
QWxsSW5PbmUuY3BwCkBAIC0xNDksNyArMTQ5LDYgQEAKICNpbmNsdWRlICJVc2VyR2VzdHVyZUlu
ZGljYXRvci5jcHAiCiAjaW5jbHVkZSAiVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuY3BwIgog
I2luY2x1ZGUgIlZpZXdwb3J0QXJndW1lbnRzLmNwcCIKLSNpbmNsdWRlICJWaXNpdGVkTGlua1N0
YXRlLmNwcCIKICNpbmNsdWRlICJXZWJLaXRBbmltYXRpb25FdmVudC5jcHAiCiAjaW5jbHVkZSAi
V2ViS2l0TmFtZWRGbG93LmNwcCIKICNpbmNsdWRlICJXZWJLaXRUcmFuc2l0aW9uRXZlbnQuY3Bw
IgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggYWU1NDJmNTY5MThlODUwY2EwYzRlMDBhMTcy
ZDM4ZTEyZjJkNzViYi4uNTZjNzQzZmI2NmIzN2JkYWQ2NGNiNmNhNWE3ZDIxNzBkMzdlMDFkMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0xNjEsNyArMTYxLDYgQEAKICNpbmNsdWRlICJU
cmVlV2Fsa2VyLmgiCiAjaW5jbHVkZSAiVXNlckFjdGlvbkVsZW1lbnRTZXQuaCIKICNpbmNsdWRl
ICJVc2VyQ29udGVudFVSTFBhdHRlcm4uaCIKLSNpbmNsdWRlICJWaXNpdGVkTGlua1N0YXRlLmgi
CiAjaW5jbHVkZSAiV2ViQ29yZU1lbW9yeUluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIldl
YktpdE5hbWVkRmxvdy5oIgogI2luY2x1ZGUgIlhNTERvY3VtZW50UGFyc2VyLmgiCkBAIC00NTAs
NyArNDQ5LDYgQEAgRG9jdW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgS1VSTCYg
dXJsLCBib29sIGlzWEhUTUwsIGJvb2wgaXNIVE1MKQogICAgICwgbV9tdXRhdGlvbk9ic2VydmVy
VHlwZXMoMCkKICNlbmRpZgogICAgICwgbV9zdHlsZVNoZWV0Q29sbGVjdGlvbihEb2N1bWVudFN0
eWxlU2hlZXRDb2xsZWN0aW9uOjpjcmVhdGUodGhpcykpCi0gICAgLCBtX3Zpc2l0ZWRMaW5rU3Rh
dGUoVmlzaXRlZExpbmtTdGF0ZTo6Y3JlYXRlKHRoaXMpKQogICAgICwgbV9yZWFkeVN0YXRlKENv
bXBsZXRlKQogICAgICwgbV9zdHlsZVJlY2FsY1RpbWVyKHRoaXMsICZEb2N1bWVudDo6c3R5bGVS
ZWNhbGNUaW1lckZpcmVkKQogICAgICwgbV9wZW5kaW5nU3R5bGVSZWNhbGNTaG91bGRGb3JjZShm
YWxzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggZTM5YjJkZGJiNjFmNWY4MWEwYjc0MjFmODFk
OTQ2MTIyZWZlOTAxZC4uNWIxOTRiOWNiNDFmMzE2ZDM4OWYyZjRlY2YxMDQ2MmY4NDg3MTc3YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTE0MCw3ICsxNDAsNiBAQCBjbGFzcyBTdHlsZVNoZWV0
TGlzdDsKIGNsYXNzIFRleHQ7CiBjbGFzcyBUZXh0UmVzb3VyY2VEZWNvZGVyOwogY2xhc3MgVHJl
ZVdhbGtlcjsKLWNsYXNzIFZpc2l0ZWRMaW5rU3RhdGU7CiBjbGFzcyBXZWJLaXROYW1lZEZsb3c7
CiBjbGFzcyBYTUxIdHRwUmVxdWVzdDsKIGNsYXNzIFhQYXRoRXZhbHVhdG9yOwpAQCAtNjczLDgg
KzY3Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlc2V0TGlua0NvbG9yKCk7CiAgICAgdm9pZCBy
ZXNldFZpc2l0ZWRMaW5rQ29sb3IoKTsKICAgICB2b2lkIHJlc2V0QWN0aXZlTGlua0NvbG9yKCk7
Ci0gICAgVmlzaXRlZExpbmtTdGF0ZSogdmlzaXRlZExpbmtTdGF0ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fdmlzaXRlZExpbmtTdGF0ZS5nZXQoKTsgfQotCisgICAgCiAgICAgTW91c2VFdmVudFdpdGhI
aXRUZXN0UmVzdWx0cyBwcmVwYXJlTW91c2VFdmVudChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIGNv
bnN0IExheW91dFBvaW50JiwgY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50Jik7CiAKICAgICAvKiBO
ZXdseSBwcm9wb3NlZCBDU1MzIG1lY2hhbmlzbSBmb3Igc2VsZWN0aW5nIGFsdGVybmF0ZQpAQCAt
MTM2Nyw3ICsxMzY1LDYgQEAgcHJpdmF0ZToKICAgICBDb2xvciBtX2xpbmtDb2xvcjsKICAgICBD
b2xvciBtX3Zpc2l0ZWRMaW5rQ29sb3I7CiAgICAgQ29sb3IgbV9hY3RpdmVMaW5rQ29sb3I7Ci0g
ICAgT3duUHRyPFZpc2l0ZWRMaW5rU3RhdGU+IG1fdmlzaXRlZExpbmtTdGF0ZTsKIAogICAgIGJv
b2wgbV9sb2FkaW5nU2hlZXQ7CiAgICAgYm9vbCBtX3Zpc3VhbGx5T3JkZXJlZDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaXNpdGVkTGlua1N0YXRlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9WaXNpdGVkTGlua1N0YXRlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggOGQ1MDI3ZWRkNzA1OWU5MGU2NmM5NjU5YzYzYjQxNWZkM2Q1MjEzMy4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlz
aXRlZExpbmtTdGF0ZS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMzcgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMTk5OSBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQotICogICAgICAg
ICAgIChDKSAyMDA0LTIwMDUgQWxsYW4gU2FuZGZlbGQgSmVuc2VuIChrZGVAY2FyZXdvbGYuY29t
KQotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3IE5pY2hvbGFzIFNoYW5rcyAod2Via2l0QG5p
Y2tzaGFua3MuY29tKQotICogQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAy
MDA5LCAyMDEwLCAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHly
aWdodCAoQykgMjAwNyBBbGV4ZXkgUHJvc2t1cnlha292IDxhcEB3ZWJraXQub3JnPgotICogQ29w
eXJpZ2h0IChDKSAyMDA3LCAyMDA4IEVyaWMgU2VpZGVsIDxlcmljQHdlYmtpdC5vcmc+Ci0gKiBD
b3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKLSAqIENvcHlyaWdodCAoYykgMjAx
MSwgQ29kZSBBdXJvcmEgRm9ydW0uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQg
KEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTEuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJy
YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0g
KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm
b3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGgg
dGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRv
Ci0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl
ZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKi8KLQot
I2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlZpc2l0ZWRMaW5rU3RhdGUuaCIKLQotI2lu
Y2x1ZGUgIkZyYW1lLmgiCi0jaW5jbHVkZSAiSFRNTEFuY2hvckVsZW1lbnQuaCIKLSNpbmNsdWRl
ICJIVE1MTmFtZXMuaCIKLSNpbmNsdWRlICJOb2RlVHJhdmVyc2FsLmgiCi0jaW5jbHVkZSAiUGFn
ZS5oIgotI2luY2x1ZGUgIlBhZ2VHcm91cC5oIgotCi0jaWYgVVNFKFBMQVRGT1JNX1NUUkFURUdJ
RVMpCi0jaW5jbHVkZSAiUGxhdGZvcm1TdHJhdGVnaWVzLmgiCi0jaW5jbHVkZSAiVmlzaXRlZExp
bmtTdHJhdGVneS5oIgotI2VuZGlmCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdXNpbmcgbmFt
ZXNwYWNlIEhUTUxOYW1lczsKLQotaW5saW5lIHN0YXRpYyBjb25zdCBBdG9taWNTdHJpbmcqIGxp
bmtBdHRyaWJ1dGUoRWxlbWVudCogZWxlbWVudCkKLXsKLSAgICBpZiAoIWVsZW1lbnQtPmlzTGlu
aygpKQotICAgICAgICByZXR1cm4gMDsKLSAgICBpZiAoZWxlbWVudC0+aXNIVE1MRWxlbWVudCgp
KQotICAgICAgICByZXR1cm4gJmVsZW1lbnQtPmZhc3RHZXRBdHRyaWJ1dGUoSFRNTE5hbWVzOjpo
cmVmQXR0cik7Ci0gICAgaWYgKGVsZW1lbnQtPmlzU1ZHRWxlbWVudCgpKQotICAgICAgICByZXR1
cm4gJmVsZW1lbnQtPmdldEF0dHJpYnV0ZShYTGlua05hbWVzOjpocmVmQXR0cik7Ci0gICAgcmV0
dXJuIDA7Ci19Ci0KLVBhc3NPd25QdHI8VmlzaXRlZExpbmtTdGF0ZT4gVmlzaXRlZExpbmtTdGF0
ZTo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkKLXsKLSAgICByZXR1cm4gYWRvcHRQdHIobmV3
IFZpc2l0ZWRMaW5rU3RhdGUoZG9jdW1lbnQpKTsKLX0KLQotVmlzaXRlZExpbmtTdGF0ZTo6Vmlz
aXRlZExpbmtTdGF0ZShEb2N1bWVudCogZG9jdW1lbnQpCi0gICAgOm1fZG9jdW1lbnQoZG9jdW1l
bnQpCi17IH0KLQotdm9pZCBWaXNpdGVkTGlua1N0YXRlOjppbnZhbGlkYXRlU3R5bGVGb3JBbGxM
aW5rcygpCi17Ci0gICAgaWYgKG1fbGlua3NDaGVja2VkRm9yVmlzaXRlZFN0YXRlLmlzRW1wdHko
KSkKLSAgICAgICAgcmV0dXJuOwotICAgIGZvciAoRWxlbWVudCogZWxlbWVudCA9IEVsZW1lbnRU
cmF2ZXJzYWw6OmZpcnN0V2l0aGluKG1fZG9jdW1lbnQpOyBlbGVtZW50OyBlbGVtZW50ID0gRWxl
bWVudFRyYXZlcnNhbDo6bmV4dChlbGVtZW50KSkgewotICAgICAgICBpZiAoZWxlbWVudC0+aXNM
aW5rKCkpCi0gICAgICAgICAgICBlbGVtZW50LT5zZXROZWVkc1N0eWxlUmVjYWxjKCk7Ci0gICAg
fQotfQotCi1pbmxpbmUgc3RhdGljIExpbmtIYXNoIGxpbmtIYXNoRm9yRWxlbWVudChEb2N1bWVu
dCogZG9jdW1lbnQsIEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgaWYgKGVsZW1lbnQtPmhhc1Rh
Z05hbWUoYVRhZykpCi0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1MQW5jaG9yRWxlbWVu
dCo+KGVsZW1lbnQpLT52aXNpdGVkTGlua0hhc2goKTsKLSAgICBpZiAoY29uc3QgQXRvbWljU3Ry
aW5nKiBhdHRyID0gbGlua0F0dHJpYnV0ZShlbGVtZW50KSkKLSAgICAgICAgcmV0dXJuIFdlYkNv
cmU6OnZpc2l0ZWRMaW5rSGFzaChkb2N1bWVudC0+YmFzZVVSTCgpLCAqYXR0cik7Ci0gICAgcmV0
dXJuIDA7Ci19Ci0KLXZvaWQgVmlzaXRlZExpbmtTdGF0ZTo6aW52YWxpZGF0ZVN0eWxlRm9yTGlu
ayhMaW5rSGFzaCBsaW5rSGFzaCkKLXsKLSAgICBpZiAoIW1fbGlua3NDaGVja2VkRm9yVmlzaXRl
ZFN0YXRlLmNvbnRhaW5zKGxpbmtIYXNoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIGZvciAoRWxl
bWVudCogZWxlbWVudCA9IEVsZW1lbnRUcmF2ZXJzYWw6OmZpcnN0V2l0aGluKG1fZG9jdW1lbnQp
OyBlbGVtZW50OyBlbGVtZW50ID0gRWxlbWVudFRyYXZlcnNhbDo6bmV4dChlbGVtZW50KSkgewot
ICAgICAgICBpZiAobGlua0hhc2hGb3JFbGVtZW50KG1fZG9jdW1lbnQsIGVsZW1lbnQpID09IGxp
bmtIYXNoKQotICAgICAgICAgICAgZWxlbWVudC0+c2V0TmVlZHNTdHlsZVJlY2FsYygpOwotICAg
IH0KLX0KLQotRUluc2lkZUxpbmsgVmlzaXRlZExpbmtTdGF0ZTo6ZGV0ZXJtaW5lTGlua1N0YXRl
U2xvd0Nhc2UoRWxlbWVudCogZWxlbWVudCkKLXsKLSAgICBBU1NFUlQoZWxlbWVudC0+aXNMaW5r
KCkpOwotCi0gICAgY29uc3QgQXRvbWljU3RyaW5nKiBhdHRyaWJ1dGUgPSBsaW5rQXR0cmlidXRl
KGVsZW1lbnQpOwotICAgIGlmICghYXR0cmlidXRlIHx8IGF0dHJpYnV0ZS0+aXNOdWxsKCkpCi0g
ICAgICAgIHJldHVybiBOb3RJbnNpZGVMaW5rOwotCi0gICAgLy8gQW4gZW1wdHkgaHJlZiByZWZl
cnMgdG8gdGhlIGRvY3VtZW50IGl0c2VsZiB3aGljaCBpcyBhbHdheXMgdmlzaXRlZC4gSXQgaXMg
dXNlZnVsIHRvIGNoZWNrIHRoaXMgZXhwbGljaXRseSBzbwotICAgIC8vIHRoYXQgdmlzaXRlZCBs
aW5rcyBjYW4gYmUgdGVzdGVkIGluIHBsYXRmb3JtIGluZGVwZW5kZW50IG1hbm5lciwgd2l0aG91
dCBleHBsaWNpdCBzdXBwb3J0IGluIHRoZSB0ZXN0IGhhcm5lc3MuCi0gICAgaWYgKGF0dHJpYnV0
ZS0+aXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gSW5zaWRlVmlzaXRlZExpbms7Ci0KLSAgICBM
aW5rSGFzaCBoYXNoOwotICAgIGlmIChlbGVtZW50LT5oYXNUYWdOYW1lKGFUYWcpKQotICAgICAg
ICBoYXNoID0gc3RhdGljX2Nhc3Q8SFRNTEFuY2hvckVsZW1lbnQqPihlbGVtZW50KS0+dmlzaXRl
ZExpbmtIYXNoKCk7Ci0gICAgZWxzZQotICAgICAgICBoYXNoID0gV2ViQ29yZTo6dmlzaXRlZExp
bmtIYXNoKGVsZW1lbnQtPmRvY3VtZW50KCktPmJhc2VVUkwoKSwgKmF0dHJpYnV0ZSk7Ci0KLSAg
ICBpZiAoIWhhc2gpCi0gICAgICAgIHJldHVybiBJbnNpZGVVbnZpc2l0ZWRMaW5rOwotCi0gICAg
RnJhbWUqIGZyYW1lID0gZWxlbWVudC0+ZG9jdW1lbnQoKS0+ZnJhbWUoKTsKLSAgICBpZiAoIWZy
YW1lKQotICAgICAgICByZXR1cm4gSW5zaWRlVW52aXNpdGVkTGluazsKLQotICAgIFBhZ2UqIHBh
Z2UgPSBmcmFtZS0+cGFnZSgpOwotICAgIGlmICghcGFnZSkKLSAgICAgICAgcmV0dXJuIEluc2lk
ZVVudmlzaXRlZExpbms7Ci0KLSAgICBtX2xpbmtzQ2hlY2tlZEZvclZpc2l0ZWRTdGF0ZS5hZGQo
aGFzaCk7Ci0KLSNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKLSAgICByZXR1cm4gcGxhdGZv
cm1TdHJhdGVnaWVzKCktPnZpc2l0ZWRMaW5rU3RyYXRlZ3koKS0+aXNMaW5rVmlzaXRlZChwYWdl
LCBoYXNoLCBlbGVtZW50LT5kb2N1bWVudCgpLT5iYXNlVVJMKCksICphdHRyaWJ1dGUpID8gSW5z
aWRlVmlzaXRlZExpbmsgOiBJbnNpZGVVbnZpc2l0ZWRMaW5rOwotI2Vsc2UKLSAgICByZXR1cm4g
cGFnZS0+Z3JvdXAoKS5pc0xpbmtWaXNpdGVkKGhhc2gpID8gSW5zaWRlVmlzaXRlZExpbmsgOiBJ
bnNpZGVVbnZpc2l0ZWRMaW5rOwotI2VuZGlmCi19Ci0KLQotfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL1Zpc2l0ZWRMaW5rU3RhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaXNp
dGVkTGlua1N0YXRlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhmNjQzYWY1MzA1
Yjk2YWY2YWJmYmYwMzM5MTAyZTJiYzcxNGU5MzkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Zpc2l0ZWRMaW5rU3RhdGUu
aAorKysgL2Rldi9udWxsCkBAIC0xLDcxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDE5
OTkgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKLSAqICAgICAgICAgICAoQykgMjAwNC0yMDA1
IEFsbGFuIFNhbmRmZWxkIEplbnNlbiAoa2RlQGNhcmV3b2xmLmNvbSkKLSAqIENvcHlyaWdodCAo
QykgMjAwNiwgMjAwNyBOaWNob2xhcyBTaGFua3MgKHdlYmtpdEBuaWNrc2hhbmtzLmNvbSkKLSAq
IENvcHlyaWdodCAoQykgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcgQWxl
eGV5IFByb3NrdXJ5YWtvdiA8YXBAd2Via2l0Lm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAwNywg
MjAwOCBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJraXQub3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA4
LCAyMDA5IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3
LnRvcmNobW9iaWxlLmNvbS8pCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTEsIENvZGUgQXVyb3JhIEZv
cnVtLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBN
b3Rpb24gTGltaXRlZCAyMDExLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChD
KSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
LSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwK
LSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICovCi0KLSNpZm5kZWYgVmlzaXRlZExp
bmtTdGF0ZV9oCi0jZGVmaW5lIFZpc2l0ZWRMaW5rU3RhdGVfaAotCi0jaW5jbHVkZSAiRWxlbWVu
dC5oIgotI2luY2x1ZGUgIkxpbmtIYXNoLmgiCi0jaW5jbHVkZSAiUmVuZGVyU3R5bGVDb25zdGFu
dHMuaCIKLSNpbmNsdWRlICJYTGlua05hbWVzLmgiCi0jaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4K
LSNpbmNsdWRlIDx3dGYvT3duUHRyLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3Mg
RG9jdW1lbnQ7Ci0KLWNsYXNzIFZpc2l0ZWRMaW5rU3RhdGUgewotICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwotcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPFZpc2l0ZWRMaW5rU3Rh
dGU+IGNyZWF0ZShEb2N1bWVudCopOwotCi0gICAgdm9pZCBpbnZhbGlkYXRlU3R5bGVGb3JBbGxM
aW5rcygpOwotICAgIHZvaWQgaW52YWxpZGF0ZVN0eWxlRm9yTGluayhMaW5rSGFzaCk7Ci0gICAg
RUluc2lkZUxpbmsgZGV0ZXJtaW5lTGlua1N0YXRlKEVsZW1lbnQqKTsKLQotcHJpdmF0ZToKLSAg
ICBWaXNpdGVkTGlua1N0YXRlKERvY3VtZW50Kik7Ci0KLSAgICBFSW5zaWRlTGluayBkZXRlcm1p
bmVMaW5rU3RhdGVTbG93Q2FzZShFbGVtZW50Kik7Ci0KLSAgICBEb2N1bWVudCogbV9kb2N1bWVu
dDsKLSAgICBIYXNoU2V0PExpbmtIYXNoLCBMaW5rSGFzaEhhc2g+IG1fbGlua3NDaGVja2VkRm9y
VmlzaXRlZFN0YXRlOwotfTsKLQotaW5saW5lIEVJbnNpZGVMaW5rIFZpc2l0ZWRMaW5rU3RhdGU6
OmRldGVybWluZUxpbmtTdGF0ZShFbGVtZW50KiBlbGVtZW50KQotewotICAgIGlmICghZWxlbWVu
dCB8fCAhZWxlbWVudC0+aXNMaW5rKCkpCi0gICAgICAgIHJldHVybiBOb3RJbnNpZGVMaW5rOwot
ICAgIHJldHVybiBkZXRlcm1pbmVMaW5rU3RhdGVTbG93Q2FzZShlbGVtZW50KTsKLX0KLQotfQot
Ci0jZW5kaWYKLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNoZWRQYWdl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkUGFnZS5jcHAKaW5kZXggM2RkYjhl
YTNmMTNjYWZkNzMyYTA4NzZkMWQ5MWJhZGU5MzJjMTJmMS4uYTgxNjkwMmUwYjY1MzBkZWJlZmEx
NDkwYjU0M2YyMTI0ZmFmMGM5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9D
YWNoZWRQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0NhY2hlZFBhZ2UuY3Bw
CkBAIC0zMyw3ICszMyw3IEBACiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiTm9k
ZS5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKLSNpbmNsdWRlICJWaXNpdGVkTGlua1N0YXRlLmgiCisj
aW5jbHVkZSAiU3R5bGVSZXNvbHZlci5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgog
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkTGVha0NvdW50ZXIuaD4KICNpbmNsdWRlIDx3dGYvU3Rk
TGliRXh0cmFzLmg+CkBAIC04Nyw4ICs4NywxMCBAQCB2b2lkIENhY2hlZFBhZ2U6OnJlc3RvcmUo
UGFnZSogcGFnZSkKICAgICB9CiAKICAgICBpZiAobV9uZWVkU3R5bGVSZWNhbGNGb3JWaXNpdGVk
TGlua3MpIHsKLSAgICAgICAgZm9yIChGcmFtZSogZnJhbWUgPSBwYWdlLT5tYWluRnJhbWUoKTsg
ZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+dHJhdmVyc2VOZXh0KCkpCi0gICAgICAgICAg
ICBmcmFtZS0+ZG9jdW1lbnQoKS0+dmlzaXRlZExpbmtTdGF0ZSgpLT5pbnZhbGlkYXRlU3R5bGVG
b3JBbGxMaW5rcygpOworICAgICAgICBmb3IgKEZyYW1lKiBmcmFtZSA9IHBhZ2UtPm1haW5GcmFt
ZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLT50cmF2ZXJzZU5leHQoKSkgeworICAg
ICAgICAgICAgaWYgKFN0eWxlUmVzb2x2ZXIqIHN0eWxlUmVzb2x2ZXIgPSBmcmFtZS0+ZG9jdW1l
bnQoKS0+c3R5bGVSZXNvbHZlcigpKQorICAgICAgICAgICAgICAgIHN0eWxlUmVzb2x2ZXItPmFs
bFZpc2l0ZWRTdGF0ZUNoYW5nZWQoKTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIGlmIChtX25l
ZWRzRnVsbFN0eWxlUmVjYWxjKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggNDJjNjBmMmM2ZGEyN2E4
N2EzNDMyMzllMGE3ZmRiOTA1MWM4MzNmNi4uZWEwOGRlNmQyZmMwMWFkMjgzZWZjMWZkMDNhYWQ3
NDY5M2I2YTlhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC02OSw4ICs2OSw4IEBACiAjaW5jbHVk
ZSAiU2hhcmVkQnVmZmVyLmgiCiAjaW5jbHVkZSAiU3RvcmFnZUFyZWEuaCIKICNpbmNsdWRlICJT
dG9yYWdlTmFtZXNwYWNlLmgiCisjaW5jbHVkZSAiU3R5bGVSZXNvbHZlci5oIgogI2luY2x1ZGUg
IlRleHRSZXNvdXJjZURlY29kZXIuaCIKLSNpbmNsdWRlICJWaXNpdGVkTGlua1N0YXRlLmgiCiAj
aW5jbHVkZSAiVm9pZENhbGxiYWNrLmgiCiAjaW5jbHVkZSAiV2ViQ29yZU1lbW9yeUluc3RydW1l
bnRhdGlvbi5oIgogI2luY2x1ZGUgIldpZGdldC5oIgpAQCAtOTQwLDEyICs5NDAsMTQgQEAgdm9p
ZCBQYWdlOjphbGxWaXNpdGVkU3RhdGVDaGFuZ2VkKFBhZ2VHcm91cCogZ3JvdXApCiAgICAgICAg
IFBhZ2UqIHBhZ2UgPSAqaXQ7CiAgICAgICAgIGlmIChwYWdlLT5tX2dyb3VwICE9IGdyb3VwKQog
ICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIGZvciAoRnJhbWUqIGZyYW1lID0gcGFnZS0+
bV9tYWluRnJhbWUuZ2V0KCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCktPnRyYXZlcnNl
TmV4dCgpKQotICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPnZpc2l0ZWRMaW5rU3RhdGUo
KS0+aW52YWxpZGF0ZVN0eWxlRm9yQWxsTGlua3MoKTsKKyAgICAgICAgZm9yIChGcmFtZSogZnJh
bWUgPSBwYWdlLT5tX21haW5GcmFtZS5nZXQoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUo
KS0+dHJhdmVyc2VOZXh0KCkpIHsKKyAgICAgICAgICAgIGlmIChTdHlsZVJlc29sdmVyKiBzdHls
ZVJlc29sdmVyID0gZnJhbWUtPmRvY3VtZW50KCktPnN0eWxlUmVzb2x2ZXIoKSkKKyAgICAgICAg
ICAgICAgICBzdHlsZVJlc29sdmVyLT5hbGxWaXNpdGVkU3RhdGVDaGFuZ2VkKCk7CisgICAgICAg
IH0KICAgICB9CiB9CiAKLXZvaWQgUGFnZTo6dmlzaXRlZFN0YXRlQ2hhbmdlZChQYWdlR3JvdXAq
IGdyb3VwLCBMaW5rSGFzaCBsaW5rSGFzaCkKK3ZvaWQgUGFnZTo6dmlzaXRlZFN0YXRlQ2hhbmdl
ZChQYWdlR3JvdXAqIGdyb3VwLCBMaW5rSGFzaCB2aXNpdGVkTGlua0hhc2gpCiB7CiAgICAgQVNT
RVJUKGdyb3VwKTsKICAgICBpZiAoIWFsbFBhZ2VzKQpAQCAtOTU2LDggKzk1OCwxMCBAQCB2b2lk
IFBhZ2U6OnZpc2l0ZWRTdGF0ZUNoYW5nZWQoUGFnZUdyb3VwKiBncm91cCwgTGlua0hhc2ggbGlu
a0hhc2gpCiAgICAgICAgIFBhZ2UqIHBhZ2UgPSAqaXQ7CiAgICAgICAgIGlmIChwYWdlLT5tX2dy
b3VwICE9IGdyb3VwKQogICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIGZvciAoRnJhbWUq
IGZyYW1lID0gcGFnZS0+bV9tYWluRnJhbWUuZ2V0KCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50
cmVlKCktPnRyYXZlcnNlTmV4dCgpKQotICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPnZp
c2l0ZWRMaW5rU3RhdGUoKS0+aW52YWxpZGF0ZVN0eWxlRm9yTGluayhsaW5rSGFzaCk7CisgICAg
ICAgIGZvciAoRnJhbWUqIGZyYW1lID0gcGFnZS0+bV9tYWluRnJhbWUuZ2V0KCk7IGZyYW1lOyBm
cmFtZSA9IGZyYW1lLT50cmVlKCktPnRyYXZlcnNlTmV4dCgpKSB7CisgICAgICAgICAgICBpZiAo
U3R5bGVSZXNvbHZlciogc3R5bGVSZXNvbHZlciA9IGZyYW1lLT5kb2N1bWVudCgpLT5zdHlsZVJl
c29sdmVyKCkpCisgICAgICAgICAgICAgICAgc3R5bGVSZXNvbHZlci0+dmlzaXRlZFN0YXRlQ2hh
bmdlZCh2aXNpdGVkTGlua0hhc2gpOworICAgICAgICB9CiAgICAgfQogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>