<?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>54043</bug_id>
          
          <creation_ts>2011-02-08 16:01:04 -0800</creation_ts>
          <short_desc>REGRESSION(r77980): &quot;Crashes on Windows and Linux...&quot; (Requested by leviw on #webkit).</short_desc>
          <delta_ts>2011-02-08 18:06:47 -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>Other</rep_platform>
          <op_sys>OS X 10.5</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>52919</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>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>leviw</cc>
    
    <cc>leviw</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>347771</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-08 16:01:04 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/77980 broke the build:
&quot;Crashes on Windows and Linux...&quot; (Requested by leviw 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>347772</commentid>
    <comment_count>1</comment_count>
      <attachid>81711</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-08 16:01:25 -0800</bug_when>
    <thetext>Created attachment 81711
ROLLOUT of r77980

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 --ignore-builders

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347828</commentid>
    <comment_count>2</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-02-08 17:16:05 -0800</bug_when>
    <thetext>Landed in r77997</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347874</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-08 18:06:47 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/77997 might have broken GTK Linux 64-bit Debug</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81711</attachid>
            <date>2011-02-08 16:01:25 -0800</date>
            <delta_ts>2011-02-08 16:58:54 -0800</delta_ts>
            <desc>ROLLOUT of r77980</desc>
            <filename>bug-54043-20110209000112.patch</filename>
            <type>text/plain</type>
            <size>47565</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzc5ODUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzYmI4YTFkOGI5YTFiNTgy
NDlhOGU5MGUwYTI4MjQxYzNmMTQ2MWNkLi41NDMwMzQ4ZmFjNWM5ZjY3MmJhYTQ3NmYzYWUwMDBh
ZmNhMDFlMjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODQgQEAKKzIwMTEtMDItMDggIFNoZXJp
ZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3
ZWQsIHJvbGxpbmcgb3V0IHI3Nzk4MC4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9j
aGFuZ2VzZXQvNzc5ODAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU0MDQzCisKKyAgICAgICAgIkNyYXNoZXMgb24gV2luZG93cyBhbmQgTGludXguLi4i
IChSZXF1ZXN0ZWQgYnkgbGV2aXcgb24KKyAgICAgICAgI3dlYmtpdCkuCisKKyAgICAgICAgKiBX
ZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6dmlzaWJsZVBvc2l0aW9uRm9yVGV4
dE1hcmtlckRhdGEpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzdGFydE9mU3R5bGVSYW5nZSk6CisgICAgICAgIChX
ZWJDb3JlOjplbmRPZlN0eWxlUmFuZ2UpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
UmVuZGVyT2JqZWN0Ojp2aXNpYmxlUG9zaXRpb25Gb3JJbmRleCk6CisgICAgICAgICogYWNjZXNz
aWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwOgorICAgICAgICAo
b2JqZWN0QW5kT2Zmc2V0VW5pZ25vcmVkKToKKyAgICAgICAgKiBkb20vUG9zaXRpb24uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UG9zaXRpb246OnVwc3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmU6
OlBvc2l0aW9uOjpkb3duc3RyZWFtKToKKyAgICAgICAgKiBkb20vUmFuZ2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmFuZ2U6OmVkaXRpbmdTdGFydFBvc2l0aW9uKToKKyAgICAgICAgKiBlZGl0
aW5nL0VkaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OmNhbkRlbGV0ZVJhbmdl
KToKKyAgICAgICAgKiBlZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlcGxhY2VTZWxlY3Rpb25Db21tYW5kOjpkb0FwcGx5KToKKyAgICAgICAg
KiBlZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Vs
ZWN0aW9uQ29udHJvbGxlcjo6c2VsZWN0RnJhbWVFbGVtZW50SW5QYXJlbnRJZkZ1bGx5U2VsZWN0
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0aW9uQ29udHJvbGxlcjo6c2V0U2VsZWN0ZWRS
YW5nZSk6CisgICAgICAgICogZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VGV4dEl0ZXJhdG9yOjpzaG91bGRSZXByZXNlbnROb2RlT2Zmc2V0WmVybyk6CisgICAg
ICAgICogZWRpdGluZy9UeXBpbmdDb21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlR5cGlu
Z0NvbW1hbmQ6OmRlbGV0ZUtleVByZXNzZWQpOgorICAgICAgICAqIGVkaXRpbmcvVmlzaWJsZVBv
c2l0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZpc2libGVQb3NpdGlvbjo6VmlzaWJsZVBv
c2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlZpc2libGVQb3NpdGlvbjo6bGVmdFZpc3VhbGx5
RGlzdGluY3RDYW5kaWRhdGUpOgorICAgICAgICAoV2ViQ29yZTo6VmlzaWJsZVBvc2l0aW9uOjpy
aWdodFZpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUpOgorICAgICAgICAoV2ViQ29yZTo6VmlzaWJs
ZVBvc2l0aW9uOjpjYW5vbmljYWxQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpWaXNpYmxl
UG9zaXRpb246OmNoYXJhY3RlckFmdGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlZpc2libGVQb3Np
dGlvbjo6bG9jYWxDYXJldFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6bWFrZVJhbmdlKToKKyAg
ICAgICAgKFdlYkNvcmU6OnN0YXJ0VmlzaWJsZVBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OmVuZFZpc2libGVQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpzZXRTdGFydCk6CisgICAg
ICAgIChXZWJDb3JlOjpzZXRFbmQpOgorICAgICAgICAoV2ViQ29yZTo6aXNGaXJzdFZpc2libGVQ
b3NpdGlvbkluTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjppc0xhc3RWaXNpYmxlUG9zaXRpb25J
bk5vZGUpOgorICAgICAgICAqIGVkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmg6CisgICAgICAgICog
ZWRpdGluZy9odG1sZWRpdGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpmaXJzdEluU3BlY2lh
bEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6bGFzdEluU3BlY2lhbEVsZW1lbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6dmlzaWJsZVBvc2l0aW9uQmVmb3JlTm9kZSk6CisgICAgICAgIChXZWJD
b3JlOjp2aXNpYmxlUG9zaXRpb25BZnRlck5vZGUpOgorICAgICAgICAqIGVkaXRpbmcvdmlzaWJs
ZV91bml0cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzdGFydFBvc2l0aW9uRm9yTGluZSk6Cisg
ICAgICAgIChXZWJDb3JlOjplbmRQb3NpdGlvbkZvckxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6
cHJldmlvdXNMaW5lUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6bmV4dExpbmVQb3NpdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpzdGFydE9mUGFyYWdyYXBoKToKKyAgICAgICAgKFdlYkNv
cmU6OmVuZE9mUGFyYWdyYXBoKToKKyAgICAgICAgKFdlYkNvcmU6OmVuZE9mQmxvY2spOgorICAg
ICAgICAoV2ViQ29yZTo6c3RhcnRPZkRvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OmVuZE9m
RG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6bG9naWNhbFN0YXJ0UG9zaXRpb25Gb3JMaW5l
KToKKyAgICAgICAgKFdlYkNvcmU6OmxvZ2ljYWxFbmRQb3NpdGlvbkZvckxpbmUpOgorICAgICAg
ICAqIHBhZ2UvRE9NU2VsZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVNlbGVjdGlv
bjo6Y29sbGFwc2UpOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VsZWN0aW9uOjpzZXRCYXNlQW5k
RXh0ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVNlbGVjdGlvbjo6c2V0UG9zaXRpb24pOgor
ICAgICAgICAoV2ViQ29yZTo6RE9NU2VsZWN0aW9uOjpleHRlbmQpOgorICAgICAgICAqIHBhZ2Uv
RXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxl
TW91c2VQcmVzc0V2ZW50U2luZ2xlQ2xpY2spOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJP
YmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpjcmVhdGVWaXNpYmxl
UG9zaXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbDo6dmlzaWJsZVBvc2l0aW9uRm9ySW5k
ZXgpOgorICAgICAgICAqIHN2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRFbGVtZW50OjpzZWxlY3RTdWJTdHJpbmcpOgorCiAyMDEx
LTAyLTA4ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhw
LmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggOTc5MDI5NjUyNjcxYWM1
Y2E5YjVkOTczZTM4NTBlOTk5ZDIxOTk5My4uMDk2ODM0ZDU2M2ZhOTgyMjFjZDg4YWJhMzBmNDBm
YWIyZmExYTRjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTQwMiw2ICs0MDIsNyBAQCBfX1pO
N1dlYkNvcmUxNVNjcm9sbEFsaWdubWVudDE5YWxpZ25Ub0VkZ2VJZk5lZWRlZEUKIF9fWk43V2Vi
Q29yZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRlRVJLTjNXVEY2U3RyaW5nRWZSS05T
XzRGb250RWIKIF9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTRjZW50ZXJUcnVuY2F0ZUVS
S04zV1RGNlN0cmluZ0VmUktOU180Rm9udEViCiBfX1pON1dlYkNvcmUxNVN0cmluZ1RydW5jYXRv
cjV3aWR0aEVSS04zV1RGNlN0cmluZ0VSS05TXzRGb250RWIKK19fWk43V2ViQ29yZTE1VmlzaWJs
ZVBvc2l0aW9uQzFFUE5TXzROb2RlRWlOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3JlMTVWaXNp
YmxlUG9zaXRpb25DMUVSS05TXzhQb3NpdGlvbkVOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3Jl
MTVkZWZhdWx0TGFuZ3VhZ2VFdgogX19aTjdXZWJDb3JlMTVyZXBvcnRFeGNlcHRpb25FUE4zSlND
OUV4ZWNTdGF0ZUVOUzBfN0pTVmFsdWVFCkBAIC03ODQsNyArNzg1LDYgQEAgX19aTjdXZWJDb3Jl
OEdyYWRpZW50MTJhZGRDb2xvclN0b3BFZlJLTlNfNUNvbG9yRQogX19aTjdXZWJDb3JlOEdyYWRp
ZW50QzFFUktOU18xMEZsb2F0UG9pbnRFUzNfCiBfX1pON1dlYkNvcmU4SW50UG9pbnRDMUVSSzhf
TlNQb2ludAogX19aTjdXZWJDb3JlOFBvc2l0aW9uQzFFTjNXVEYxMFBhc3NSZWZQdHJJTlNfNE5v
ZGVFRUVpCi1fX1pON1dlYkNvcmU4UG9zaXRpb25DMUVOM1dURjEwUGFzc1JlZlB0cklOU180Tm9k
ZUVFRWlOUzBfMTBBbmNob3JUeXBlRQogX19aTjdXZWJDb3JlOFNldHRpbmdzMTRzZXRKYXZhRW5h
YmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxNXNldFdlYkdMRW5hYmxlZEViCiBfX1pON1dl
YkNvcmU4U2V0dGluZ3MxNnNldFVzZXNQYWdlQ2FjaGVFYgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKaW5kZXggMTZmY2FhNTBjZGYxMTViY2UzMTky
ZjExOTg3YWRjOTYyZmVmMTc0MS4uZDBkMTlmNzA2OTIwM2ZkODgwYzBkMDgxYTRlNTQ2ZWIyMjk0
NDhiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENh
Y2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
Y3BwCkBAIC01NzMsOCArNTczLDcgQEAgVmlzaWJsZVBvc2l0aW9uIEFYT2JqZWN0Q2FjaGU6OnZp
c2libGVQb3NpdGlvbkZvclRleHRNYXJrZXJEYXRhKFRleHRNYXJrZXJEYXRhJgogICAgIGlmICgh
aXNOb2RlSW5Vc2UodGV4dE1hcmtlckRhdGEubm9kZSkpCiAgICAgICAgIHJldHVybiBWaXNpYmxl
UG9zaXRpb24oKTsKICAgICAKLSAgICAvLyBGSVhNRTogQWNjZXNzYWJpbGl0eSBzaG91bGQgbWFr
ZSBpdCBjbGVhciB0aGVzZSBhcmUgRE9NLWNvbXBsaWFudCBvZmZzZXRzIG9yIHN0b3JlIFBvc2l0
aW9uIG9iamVjdHMuCi0gICAgVmlzaWJsZVBvc2l0aW9uIHZpc2libGVQb3MgPSBWaXNpYmxlUG9z
aXRpb24oUG9zaXRpb24odGV4dE1hcmtlckRhdGEubm9kZSwgdGV4dE1hcmtlckRhdGEub2Zmc2V0
KSwgdGV4dE1hcmtlckRhdGEuYWZmaW5pdHkpOworICAgIFZpc2libGVQb3NpdGlvbiB2aXNpYmxl
UG9zID0gVmlzaWJsZVBvc2l0aW9uKHRleHRNYXJrZXJEYXRhLm5vZGUsIHRleHRNYXJrZXJEYXRh
Lm9mZnNldCwgdGV4dE1hcmtlckRhdGEuYWZmaW5pdHkpOwogICAgIFBvc2l0aW9uIGRlZXBQb3Mg
PSB2aXNpYmxlUG9zLmRlZXBFcXVpdmFsZW50KCk7CiAgICAgaWYgKGRlZXBQb3MuaXNOdWxsKCkp
CiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCmluZGV4IDU3NDBjNjll
Mzg4ZTExMzJmMmI2ZTg0NmQ0ZDRmNjMwNWE4MGM5MWIuLmJhMDNlZjRiOWI4NGEzZWJjMjM1MDEz
NDgyMGEyYzAwMmU0MWVhMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcApAQCAtMzM2LDcgKzMzNiw3IEBAIHN0YXRpYyBW
aXNpYmxlUG9zaXRpb24gc3RhcnRPZlN0eWxlUmFuZ2UoY29uc3QgVmlzaWJsZVBvc2l0aW9uIHZp
c2libGVQb3MpCiAgICAgICAgIHN0YXJ0UmVuZGVyZXIgPSByOwogICAgIH0KIAotICAgIHJldHVy
biBmaXJzdFBvc2l0aW9uSW5PckJlZm9yZU5vZGUoc3RhcnRSZW5kZXJlci0+bm9kZSgpKTsKKyAg
ICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKHN0YXJ0UmVuZGVyZXItPm5vZGUoKSwgMCwgVlBfREVG
QVVMVF9BRkZJTklUWSk7CiB9CiAKIHN0YXRpYyBWaXNpYmxlUG9zaXRpb24gZW5kT2ZTdHlsZVJh
bmdlKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgdmlzaWJsZVBvcykKQEAgLTM1OSw3ICszNTksNyBA
QCBzdGF0aWMgVmlzaWJsZVBvc2l0aW9uIGVuZE9mU3R5bGVSYW5nZShjb25zdCBWaXNpYmxlUG9z
aXRpb24mIHZpc2libGVQb3MpCiAgICAgICAgIGVuZFJlbmRlcmVyID0gcjsKICAgICB9CiAKLSAg
ICByZXR1cm4gbGFzdFBvc2l0aW9uSW5PckFmdGVyTm9kZShlbmRSZW5kZXJlci0+bm9kZSgpKTsK
KyAgICByZXR1cm4gbGFzdERlZXBFZGl0aW5nUG9zaXRpb25Gb3JOb2RlKGVuZFJlbmRlcmVyLT5u
b2RlKCkpOwogfQogCiBWaXNpYmxlUG9zaXRpb25SYW5nZSBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojpz
dHlsZVJhbmdlRm9yUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uJiB2aXNpYmxlUG9zKSBj
b25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdC5jcHAKaW5kZXggOTkzMjQzNWQ4NWZiZGMzYTMzZWU3NDRhYzlh
ZDI4ODkzMTBlMzNhYi4uZWE0ODQ0ZjE4NjczM2RjZDg3MzNhNDRjM2IxYzM2ZmE0MWFmZDI4NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVu
ZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3QuY3BwCkBAIC0yNDU5LDE0ICsyNDU5LDE0IEBAIFZpc2libGVQb3Np
dGlvbiBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojp2aXNpYmxlUG9zaXRpb25Gb3JJbmRleChp
bnQgaW5kZXgpIGNvCiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKICAgICAKICAg
ICBpZiAoaW5kZXggPD0gMCkKLSAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihmaXJzdFBv
c2l0aW9uSW5PckJlZm9yZU5vZGUobm9kZSksIERPV05TVFJFQU0pOworICAgICAgICByZXR1cm4g
VmlzaWJsZVBvc2l0aW9uKG5vZGUsIDAsIERPV05TVFJFQU0pOwogICAgIAogICAgIEV4Y2VwdGlv
bkNvZGUgZWMgPSAwOwogICAgIFJlZlB0cjxSYW5nZT4gcmFuZ2UgPSBSYW5nZTo6Y3JlYXRlKG1f
cmVuZGVyZXItPmRvY3VtZW50KCkpOwogICAgIHJhbmdlLT5zZWxlY3ROb2RlQ29udGVudHMobm9k
ZSwgZWMpOwogICAgIENoYXJhY3Rlckl0ZXJhdG9yIGl0KHJhbmdlLmdldCgpKTsKICAgICBpdC5h
ZHZhbmNlKGluZGV4IC0gMSk7Ci0gICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihQb3NpdGlvbihp
dC5yYW5nZSgpLT5lbmRDb250YWluZXIoZWMpLCBpdC5yYW5nZSgpLT5lbmRPZmZzZXQoZWMpLCBQ
b3NpdGlvbjo6UG9zaXRpb25Jc09mZnNldEluQW5jaG9yKSwgVVBTVFJFQU0pOworICAgIHJldHVy
biBWaXNpYmxlUG9zaXRpb24oaXQucmFuZ2UoKS0+ZW5kQ29udGFpbmVyKGVjKSwgaXQucmFuZ2Uo
KS0+ZW5kT2Zmc2V0KGVjKSwgVVBTVFJFQU0pOwogfQogICAgIAogaW50IEFjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3Q6OmluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlv
biYgcG9zKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9n
dGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwCmluZGV4IDBm
NGU5ZWRiYjM0MDNkZjMyMzg4OTVhNTQ1NTJhNDBhNmM1ZjE2YzAuLjg2ZWU4YmU4NmRjY2JlNTMy
YzJmOWFmZGRhNGZjNWJmNzkxNDBiOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0
ay5jcHAKQEAgLTI1MDAsNyArMjUwMCw3IEBAIEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdEFu
ZE9mZnNldFVuaWdub3JlZChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjb3JlT2JqZWN0LCBpCiAKICAg
ICBOb2RlKiBub2RlID0gcmVhbE9iamVjdC0+bm9kZSgpOwogICAgIGlmIChub2RlKSB7Ci0gICAg
ICAgIFZpc2libGVQb3NpdGlvbiBzdGFydFBvc2l0aW9uID0gVmlzaWJsZVBvc2l0aW9uKHBvc2l0
aW9uQmVmb3JlTm9kZShub2RlKSwgRE9XTlNUUkVBTSk7CisgICAgICAgIFZpc2libGVQb3NpdGlv
biBzdGFydFBvc2l0aW9uID0gVmlzaWJsZVBvc2l0aW9uKG5vZGUsIDAsIERPV05TVFJFQU0pOwog
ICAgICAgICBWaXNpYmxlUG9zaXRpb24gZW5kUG9zaXRpb24gPSByZWFsT2JqZWN0LT5zZWxlY3Rp
b24oKS52aXNpYmxlRW5kKCk7CiAKICAgICAgICAgaWYgKHN0YXJ0UG9zaXRpb24gPT0gZW5kUG9z
aXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmNwcAppbmRleCA2NTg4ZGVkM2Y5ZGI5ZTU1YWRmMGMy
MDAwNjEwY2I2OTc0YTYyZWExLi5jYmFkMzAyMGFjODMwZjJjOTFkNzgyMWM2ZjUyYjcxMWQ3MTFj
ODRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Qb3NpdGlvbi5jcHAKQEAgLTUxMyw4ICs1MTMsNyBAQCBQb3NpdGlv
biBQb3NpdGlvbjo6dXBzdHJlYW0oRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlIHJ1bGUpIGNv
bnN0CiAgICAgCiAgICAgLy8gaXRlcmF0ZSBiYWNrd2FyZCBmcm9tIHRoZXJlLCBsb29raW5nIGZv
ciBhIHF1YWxpZmllZCBwb3NpdGlvbgogICAgIE5vZGUqIGJvdW5kYXJ5ID0gZW5jbG9zaW5nVmlz
dWFsQm91bmRhcnkoc3RhcnROb2RlKTsKLSAgICAvLyBGSVhNRTogUG9zaXRpb25JdGVyYXRvciBz
aG91bGQgcmVzcGVjdCBCZWZvcmUgYW5kIEFmdGVyIHBvc2l0aW9ucy4KLSAgICBQb3NpdGlvbkl0
ZXJhdG9yIGxhc3RWaXNpYmxlID0gbV9hbmNob3JUeXBlID09IFBvc2l0aW9uSXNBZnRlckFuY2hv
ciA/IFBvc2l0aW9uKG1fYW5jaG9yTm9kZSwgY2FyZXRNYXhPZmZzZXQobV9hbmNob3JOb2RlLmdl
dCgpKSkgOiAqdGhpczsKKyAgICBQb3NpdGlvbkl0ZXJhdG9yIGxhc3RWaXNpYmxlID0gKnRoaXM7
CiAgICAgUG9zaXRpb25JdGVyYXRvciBjdXJyZW50UG9zID0gbGFzdFZpc2libGU7CiAgICAgYm9v
bCBzdGFydEVkaXRhYmxlID0gc3RhcnROb2RlLT5pc0NvbnRlbnRFZGl0YWJsZSgpOwogICAgIE5v
ZGUqIGxhc3ROb2RlID0gc3RhcnROb2RlOwpAQCAtNjM1LDggKzYzNCw3IEBAIFBvc2l0aW9uIFBv
c2l0aW9uOjpkb3duc3RyZWFtKEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSBydWxlKSBjb25z
dAogCiAgICAgLy8gaXRlcmF0ZSBmb3J3YXJkIGZyb20gdGhlcmUsIGxvb2tpbmcgZm9yIGEgcXVh
bGlmaWVkIHBvc2l0aW9uCiAgICAgTm9kZSogYm91bmRhcnkgPSBlbmNsb3NpbmdWaXN1YWxCb3Vu
ZGFyeShzdGFydE5vZGUpOwotICAgIC8vIEZJWE1FOiBQb3NpdGlvbkl0ZXJhdG9yIHNob3VsZCBy
ZXNwZWN0IEJlZm9yZSBhbmQgQWZ0ZXIgcG9zaXRpb25zLgotICAgIFBvc2l0aW9uSXRlcmF0b3Ig
bGFzdFZpc2libGUgPSBtX2FuY2hvclR5cGUgPT0gUG9zaXRpb25Jc0FmdGVyQW5jaG9yID8gUG9z
aXRpb24obV9hbmNob3JOb2RlLCBjYXJldE1heE9mZnNldChtX2FuY2hvck5vZGUuZ2V0KCkpKSA6
ICp0aGlzOworICAgIFBvc2l0aW9uSXRlcmF0b3IgbGFzdFZpc2libGUgPSAqdGhpczsKICAgICBQ
b3NpdGlvbkl0ZXJhdG9yIGN1cnJlbnRQb3MgPSBsYXN0VmlzaWJsZTsKICAgICBib29sIHN0YXJ0
RWRpdGFibGUgPSBzdGFydE5vZGUtPmlzQ29udGVudEVkaXRhYmxlKCk7CiAgICAgTm9kZSogbGFz
dE5vZGUgPSBzdGFydE5vZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmNwcAppbmRleCBiODE5OWI1ZTUxYTdiOTZm
MzczNThjZDg2YmQ1ZjUxNjlhZTFjZGU1Li5hNDFmYzQ5YTExNjQzNzI0ZjliMTdkZGNkZDYzYTc5
Mjc5YmQwZjlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5jcHAKQEAgLTE1NzAsNyArMTU3MCw3IEBAIFBvc2l0
aW9uIFJhbmdlOjplZGl0aW5nU3RhcnRQb3NpdGlvbigpIGNvbnN0CiAgICAgLy8gSXQgaXMgaW1w
b3J0YW50IHRvIHNraXAgY2VydGFpbiBpcnJlbGV2YW50IGNvbnRlbnQgYXQgdGhlIHN0YXJ0IG9m
IHRoZSBzZWxlY3Rpb24sIHNvIHdlIGRvIG5vdCB3aW5kIHVwIAogICAgIC8vIHdpdGggYSBzcHVy
aW91cyAibWl4ZWQiIHN0eWxlLgogICAgIAotICAgIFZpc2libGVQb3NpdGlvbiB2aXNpYmxlUG9z
aXRpb24gPSBQb3NpdGlvbihtX3N0YXJ0LmNvbnRhaW5lcigpLCBtX3N0YXJ0Lm9mZnNldCgpLCBQ
b3NpdGlvbjo6UG9zaXRpb25Jc09mZnNldEluQW5jaG9yKTsKKyAgICBWaXNpYmxlUG9zaXRpb24g
dmlzaWJsZVBvc2l0aW9uKG1fc3RhcnQuY29udGFpbmVyKCksIG1fc3RhcnQub2Zmc2V0KCksIFZQ
X0RFRkFVTFRfQUZGSU5JVFkpOwogICAgIGlmICh2aXNpYmxlUG9zaXRpb24uaXNOdWxsKCkpCiAg
ICAgICAgIHJldHVybiBQb3NpdGlvbigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0VkaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKaW5k
ZXggMWQ0N2E4NDBiNTcxZjZhYWJmMTA4MDA4NjllYjlkNWFkNTQwMzUzMC4uMmVmNWYxNGE1M2My
ZTEwYTVkMzE4ZTcwNzQ4MWI3MzJkNjg0MGJjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9FZGl0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNw
cApAQCAtMjkzLDcgKzI5Myw3IEBAIGJvb2wgRWRpdG9yOjpjYW5EZWxldGVSYW5nZShSYW5nZSog
cmFuZ2UpIGNvbnN0CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAKICAgICBpZiAocmFuZ2Ut
PmNvbGxhcHNlZChlYykpIHsKLSAgICAgICAgVmlzaWJsZVBvc2l0aW9uIHN0YXJ0KFBvc2l0aW9u
KHN0YXJ0Q29udGFpbmVyLCByYW5nZS0+c3RhcnRPZmZzZXQoZWMpLCBQb3NpdGlvbjo6UG9zaXRp
b25Jc09mZnNldEluQW5jaG9yKSwgRE9XTlNUUkVBTSk7CisgICAgICAgIFZpc2libGVQb3NpdGlv
biBzdGFydChzdGFydENvbnRhaW5lciwgcmFuZ2UtPnN0YXJ0T2Zmc2V0KGVjKSwgRE9XTlNUUkVB
TSk7CiAgICAgICAgIFZpc2libGVQb3NpdGlvbiBwcmV2aW91cyA9IHN0YXJ0LnByZXZpb3VzKCk7
CiAgICAgICAgIC8vIEZJWE1FOiBXZSBzb21ldGltZXMgYWxsb3cgZGVsZXRpb25zIGF0IHRoZSBz
dGFydCBvZiBlZGl0YWJsZSByb290cywgbGlrZSB3aGVuIHRoZSBjYXJldCBpcyBpbiBhbiBlbXB0
eSBsaXN0IGl0ZW0uCiAgICAgICAgIGlmIChwcmV2aW91cy5pc051bGwoKSB8fCBwcmV2aW91cy5k
ZWVwRXF1aXZhbGVudCgpLm5vZGUoKS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpICE9IHN0YXJ0Q29u
dGFpbmVyLT5yb290RWRpdGFibGVFbGVtZW50KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCmluZGV4IDJiMWZkYzM2MjhiMzAxY2Qy
NDU2YjQ3OWRkNWYwN2VmMTUwMDYwYjQuLjA4YjA0N2YwNTcyMjgyNTU3NjZhNDUwN2ZhNjEwMmE5
YzYwNjNkNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVj
dGlvbkNvbW1hbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVj
dGlvbkNvbW1hbmQuY3BwCkBAIC04ODQsNyArODg0LDcgQEAgdm9pZCBSZXBsYWNlU2VsZWN0aW9u
Q29tbWFuZDo6ZG9BcHBseSgpCiAgICAgTm9kZSogZW5kQlIgPSBpbnNlcnRpb25Qb3MuZG93bnN0
cmVhbSgpLm5vZGUoKS0+aGFzVGFnTmFtZShiclRhZykgPyBpbnNlcnRpb25Qb3MuZG93bnN0cmVh
bSgpLm5vZGUoKSA6IDA7CiAgICAgVmlzaWJsZVBvc2l0aW9uIG9yaWdpbmFsVmlzUG9zQmVmb3Jl
RW5kQlI7CiAgICAgaWYgKGVuZEJSKQotICAgICAgICBvcmlnaW5hbFZpc1Bvc0JlZm9yZUVuZEJS
ID0gVmlzaWJsZVBvc2l0aW9uKHBvc2l0aW9uQmVmb3JlTm9kZShlbmRCUiksIERPV05TVFJFQU0p
LnByZXZpb3VzKCk7CisgICAgICAgIG9yaWdpbmFsVmlzUG9zQmVmb3JlRW5kQlIgPSBWaXNpYmxl
UG9zaXRpb24oZW5kQlIsIDAsIERPV05TVFJFQU0pLnByZXZpb3VzKCk7CiAgICAgCiAgICAgc3Rh
cnRCbG9jayA9IGVuY2xvc2luZ0Jsb2NrKGluc2VydGlvblBvcy5ub2RlKCkpOwogICAgIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggYzU1
NWJjNWE0NGY2MzNiM2ZjODg4MDQxNzFlZWQ2M2M3ZjBkMmY1Yi4uODJkN2FmMjA0MjhmZmEyYjQ0
ODk4Y2ViNjRjOGVmZWM1Y2M0NGVkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9TZWxlY3Rpb25Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Nl
bGVjdGlvbkNvbnRyb2xsZXIuY3BwCkBAIC0xMzE1LDggKzEzMTUsOCBAQCB2b2lkIFNlbGVjdGlv
bkNvbnRyb2xsZXI6OnNlbGVjdEZyYW1lRWxlbWVudEluUGFyZW50SWZGdWxseVNlbGVjdGVkKCkK
IAogICAgIC8vIENyZWF0ZSBjb21wdXRlIHBvc2l0aW9ucyBiZWZvcmUgYW5kIGFmdGVyIHRoZSBl
bGVtZW50LgogICAgIHVuc2lnbmVkIG93bmVyRWxlbWVudE5vZGVJbmRleCA9IG93bmVyRWxlbWVu
dC0+bm9kZUluZGV4KCk7Ci0gICAgVmlzaWJsZVBvc2l0aW9uIGJlZm9yZU93bmVyRWxlbWVudChW
aXNpYmxlUG9zaXRpb24oUG9zaXRpb24ob3duZXJFbGVtZW50UGFyZW50LCBvd25lckVsZW1lbnRO
b2RlSW5kZXgsIFBvc2l0aW9uOjpQb3NpdGlvbklzT2Zmc2V0SW5BbmNob3IpKSk7Ci0gICAgVmlz
aWJsZVBvc2l0aW9uIGFmdGVyT3duZXJFbGVtZW50KFZpc2libGVQb3NpdGlvbihQb3NpdGlvbihv
d25lckVsZW1lbnRQYXJlbnQsIG93bmVyRWxlbWVudE5vZGVJbmRleCArIDEsIFBvc2l0aW9uOjpQ
b3NpdGlvbklzT2Zmc2V0SW5BbmNob3IpLCBWUF9VUFNUUkVBTV9JRl9QT1NTSUJMRSkpOworICAg
IFZpc2libGVQb3NpdGlvbiBiZWZvcmVPd25lckVsZW1lbnQoVmlzaWJsZVBvc2l0aW9uKG93bmVy
RWxlbWVudFBhcmVudCwgb3duZXJFbGVtZW50Tm9kZUluZGV4LCBTRUxfREVGQVVMVF9BRkZJTklU
WSkpOworICAgIFZpc2libGVQb3NpdGlvbiBhZnRlck93bmVyRWxlbWVudChWaXNpYmxlUG9zaXRp
b24ob3duZXJFbGVtZW50UGFyZW50LCBvd25lckVsZW1lbnROb2RlSW5kZXggKyAxLCBWUF9VUFNU
UkVBTV9JRl9QT1NTSUJMRSkpOwogCiAgICAgLy8gRm9jdXMgb24gdGhlIHBhcmVudCBmcmFtZSwg
YW5kIHRoZW4gc2VsZWN0IGZyb20gYmVmb3JlIHRoaXMgZWxlbWVudCB0byBhZnRlci4KICAgICBW
aXNpYmxlU2VsZWN0aW9uIG5ld1NlbGVjdGlvbihiZWZvcmVPd25lckVsZW1lbnQsIGFmdGVyT3du
ZXJFbGVtZW50KTsKQEAgLTEzODcsOCArMTM4Nyw4IEBAIGJvb2wgU2VsZWN0aW9uQ29udHJvbGxl
cjo6c2V0U2VsZWN0ZWRSYW5nZShSYW5nZSogcmFuZ2UsIEVBZmZpbml0eSBhZmZpbml0eSwgYm9v
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAKICAgICAvLyBGSVhNRTogQ2FuIHdlIHByb3Zp
ZGUgZXh0ZW50QWZmaW5pdHk/Ci0gICAgVmlzaWJsZVBvc2l0aW9uIHZpc2libGVTdGFydChQb3Np
dGlvbihzdGFydENvbnRhaW5lciwgc3RhcnRPZmZzZXQsIFBvc2l0aW9uOjpQb3NpdGlvbklzT2Zm
c2V0SW5BbmNob3IpLCBjb2xsYXBzZWQgPyBhZmZpbml0eSA6IERPV05TVFJFQU0pOwotICAgIFZp
c2libGVQb3NpdGlvbiB2aXNpYmxlRW5kKFBvc2l0aW9uKGVuZENvbnRhaW5lciwgZW5kT2Zmc2V0
LCBQb3NpdGlvbjo6UG9zaXRpb25Jc09mZnNldEluQW5jaG9yKSwgU0VMX0RFRkFVTFRfQUZGSU5J
VFkpOworICAgIFZpc2libGVQb3NpdGlvbiB2aXNpYmxlU3RhcnQoc3RhcnRDb250YWluZXIsIHN0
YXJ0T2Zmc2V0LCBjb2xsYXBzZWQgPyBhZmZpbml0eSA6IERPV05TVFJFQU0pOworICAgIFZpc2li
bGVQb3NpdGlvbiB2aXNpYmxlRW5kKGVuZENvbnRhaW5lciwgZW5kT2Zmc2V0LCBTRUxfREVGQVVM
VF9BRkZJTklUWSk7CiAgICAgc2V0U2VsZWN0aW9uKFZpc2libGVTZWxlY3Rpb24odmlzaWJsZVN0
YXJ0LCB2aXNpYmxlRW5kKSwgY2xvc2VUeXBpbmcpOwogICAgIHJldHVybiB0cnVlOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCmluZGV4IDZkOGIzZTlhYmU3Mjk3ZGI2
M2E4YWQ4ZDYzYTgxODg0NWMyMTIxZjIuLmI2MjFkYzJjZmZjZWI4NTJlNmU5YTEzYzZkNWQ5ZTk4
YjQ2ZDE0NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9y
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKQEAgLTg3
OCw4ICs4NzgsOCBAQCBib29sIFRleHRJdGVyYXRvcjo6c2hvdWxkUmVwcmVzZW50Tm9kZU9mZnNl
dFplcm8oKQogICAgIC8vIGFuZCBpbiB0aGF0IGNhc2Ugd2UnbGwgZ2V0IG51bGwuIFdlIGRvbid0
IHdhbnQgdG8gcHV0IGluIG5ld2xpbmVzIGF0IHRoZSBzdGFydCBpbiB0aGF0IGNhc2UuCiAgICAg
Ly8gVGhlIGN1cnJQb3MuaXNOb3ROdWxsKCkgY2hlY2sgaXMgbmVlZGVkIGJlY2F1c2UgcG9zaXRp
b25zIGluIG5vbi1IVE1MIGNvbnRlbnQKICAgICAvLyAobGlrZSBTVkcpIGRvIG5vdCBoYXZlIHZp
c2libGUgcG9zaXRpb25zLCBhbmQgd2UgZG9uJ3Qgd2FudCB0byBlbWl0IGZvciB0aGVtIGVpdGhl
ci4KLSAgICBWaXNpYmxlUG9zaXRpb24gc3RhcnRQb3MgPSBWaXNpYmxlUG9zaXRpb24oUG9zaXRp
b24obV9zdGFydENvbnRhaW5lciwgbV9zdGFydE9mZnNldCwgUG9zaXRpb246OlBvc2l0aW9uSXNP
ZmZzZXRJbkFuY2hvciksIERPV05TVFJFQU0pOwotICAgIFZpc2libGVQb3NpdGlvbiBjdXJyUG9z
ID0gVmlzaWJsZVBvc2l0aW9uKHBvc2l0aW9uQmVmb3JlTm9kZShtX25vZGUpLCBET1dOU1RSRUFN
KTsKKyAgICBWaXNpYmxlUG9zaXRpb24gc3RhcnRQb3MgPSBWaXNpYmxlUG9zaXRpb24obV9zdGFy
dENvbnRhaW5lciwgbV9zdGFydE9mZnNldCwgRE9XTlNUUkVBTSk7CisgICAgVmlzaWJsZVBvc2l0
aW9uIGN1cnJQb3MgPSBWaXNpYmxlUG9zaXRpb24obV9ub2RlLCAwLCBET1dOU1RSRUFNKTsKICAg
ICByZXR1cm4gc3RhcnRQb3MuaXNOb3ROdWxsKCkgJiYgY3VyclBvcy5pc05vdE51bGwoKSAmJiAh
aW5TYW1lTGluZShzdGFydFBvcywgY3VyclBvcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvVHlwaW5nQ29tbWFuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L1R5cGluZ0NvbW1hbmQuY3BwCmluZGV4IDIyZTNkNDA2ZDMxYmU2NDgxODZjNTQ5OWJhODY2Njlj
NTUzMDY5ZDcuLjk3MjNjMmQyYTU0YjQ1YmQzMzM0YjVkN2Y0NjgxYTU4YzFmNmM0MjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVHlwaW5nQ29tbWFuZC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9UeXBpbmdDb21tYW5kLmNwcApAQCAtNDk1LDcgKzQ5NSw3IEBA
IHZvaWQgVHlwaW5nQ29tbWFuZDo6ZGVsZXRlS2V5UHJlc3NlZChUZXh0R3JhbnVsYXJpdHkgZ3Jh
bnVsYXJpdHksIGJvb2wga2lsbFJpbmcpCiAgICAgICAgICAgICBzZWxlY3Rpb24ubW9kaWZ5KFNl
bGVjdGlvbkNvbnRyb2xsZXI6OkFsdGVyYXRpb25FeHRlbmQsIERpcmVjdGlvbkJhY2t3YXJkLCBn
cmFudWxhcml0eSk7CiAgICAgICAgIC8vIElmIHRoZSBjYXJldCBpcyBqdXN0IGFmdGVyIGEgdGFi
bGUsIHNlbGVjdCB0aGUgdGFibGUgYW5kIGRvbid0IGRlbGV0ZSBhbnl0aGluZy4KICAgICAgICAg
fSBlbHNlIGlmIChOb2RlKiB0YWJsZSA9IGlzRmlyc3RQb3NpdGlvbkFmdGVyVGFibGUodmlzaWJs
ZVN0YXJ0KSkgewotICAgICAgICAgICAgc2V0RW5kaW5nU2VsZWN0aW9uKFZpc2libGVTZWxlY3Rp
b24ocG9zaXRpb25CZWZvcmVOb2RlKHRhYmxlKSwgZW5kaW5nU2VsZWN0aW9uKCkuc3RhcnQoKSwg
RE9XTlNUUkVBTSkpOworICAgICAgICAgICAgc2V0RW5kaW5nU2VsZWN0aW9uKFZpc2libGVTZWxl
Y3Rpb24ocG9zaXRpb25BZnRlck5vZGUodGFibGUpLCBlbmRpbmdTZWxlY3Rpb24oKS5zdGFydCgp
LCBET1dOU1RSRUFNKSk7CiAgICAgICAgICAgICB0eXBpbmdBZGRlZFRvT3BlbkNvbW1hbmQoRGVs
ZXRlS2V5KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uY3BwCmluZGV4IGQ0ODQyY2U3NjI5ZGI5Y2JhYzZjNmFj
OTdmYjQ2NzAxZmZmZDdhZTAuLjU5OTlmYTYzY2QxMDI5YjE3NjZiMzQyNWEzYTc1NGNlYTI0YmM1
MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5jcHAKQEAgLTQ4
LDYgKzQ4LDEyIEBAIFZpc2libGVQb3NpdGlvbjo6VmlzaWJsZVBvc2l0aW9uKGNvbnN0IFBvc2l0
aW9uICZwb3MsIEVBZmZpbml0eSBhZmZpbml0eSkKICAgICBpbml0KHBvcywgYWZmaW5pdHkpOwog
fQogCitWaXNpYmxlUG9zaXRpb246OlZpc2libGVQb3NpdGlvbihOb2RlICpub2RlLCBpbnQgb2Zm
c2V0LCBFQWZmaW5pdHkgYWZmaW5pdHkpCit7CisgICAgQVNTRVJUKG9mZnNldCA+PSAwKTsKKyAg
ICBpbml0KFBvc2l0aW9uKG5vZGUsIG9mZnNldCksIGFmZmluaXR5KTsKK30KKwogdm9pZCBWaXNp
YmxlUG9zaXRpb246OmluaXQoY29uc3QgUG9zaXRpb24mIHBvc2l0aW9uLCBFQWZmaW5pdHkgYWZm
aW5pdHkpCiB7CiAgICAgbV9hZmZpbml0eSA9IGFmZmluaXR5OwpAQCAtMTAwLDcgKzEwNiw3IEBA
IFZpc2libGVQb3NpdGlvbiBWaXNpYmxlUG9zaXRpb246OnByZXZpb3VzKGJvb2wgc3RheUluRWRp
dGFibGVDb250ZW50KSBjb25zdAogUG9zaXRpb24gVmlzaWJsZVBvc2l0aW9uOjpsZWZ0VmlzdWFs
bHlEaXN0aW5jdENhbmRpZGF0ZSgpIGNvbnN0CiB7CiAgICAgUG9zaXRpb24gcCA9IG1fZGVlcFBv
c2l0aW9uOwotICAgIGlmIChwLmlzTnVsbCgpKQorICAgIGlmICghcC5ub2RlKCkpCiAgICAgICAg
IHJldHVybiBQb3NpdGlvbigpOwogCiAgICAgUG9zaXRpb24gZG93bnN0cmVhbVN0YXJ0ID0gcC5k
b3duc3RyZWFtKCk7CkBAIC0yMzYsNyArMjQyLDcgQEAgVmlzaWJsZVBvc2l0aW9uIFZpc2libGVQ
b3NpdGlvbjo6bGVmdChib29sIHN0YXlJbkVkaXRhYmxlQ29udGVudCkgY29uc3QKIFBvc2l0aW9u
IFZpc2libGVQb3NpdGlvbjo6cmlnaHRWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKCkgY29uc3QK
IHsKICAgICBQb3NpdGlvbiBwID0gbV9kZWVwUG9zaXRpb247Ci0gICAgaWYgKHAuaXNOdWxsKCkp
CisgICAgaWYgKCFwLm5vZGUoKSkKICAgICAgICAgcmV0dXJuIFBvc2l0aW9uKCk7CiAKICAgICBQ
b3NpdGlvbiBkb3duc3RyZWFtU3RhcnQgPSBwLmRvd25zdHJlYW0oKTsKQEAgLTQ0NSwxMSArNDUx
LDEwIEBAIFBvc2l0aW9uIFZpc2libGVQb3NpdGlvbjo6Y2Fub25pY2FsUG9zaXRpb24oY29uc3Qg
UG9zaXRpb24mIHBhc3NlZFBvc2l0aW9uKQogICAgIC8vIFRvIGZpeCB0aGlzLCB3ZSBuZWVkIHRv
IGVpdGhlciBhKSBhZGQgY29kZSB0byBhbGwgcGFpbnRDYXJldHMgdG8gcGFzcyB0aGUgcmVzcG9u
c2liaWxpdHkgb2ZmIHRvCiAgICAgLy8gdGhlIGFwcHJvcHJpYXRlIHJlbmRlcmVyIGZvciBWaXNp
YmxlUG9zaXRpb24ncyBsaWtlIHRoZXNlLCBvciBiKSBjYW5vbmljYWxpemUgdG8gdGhlIHJpZ2h0
bW9zdCBjYW5kaWRhdGUKICAgICAvLyB1bmxlc3MgdGhlIGFmZmluaXR5IGlzIHVwc3RyZWFtLgot
ICAgIGlmIChwb3NpdGlvbi5pc051bGwoKSkKKyAgICBOb2RlKiBub2RlID0gcG9zaXRpb24ubm9k
ZSgpOworICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuIFBvc2l0aW9uKCk7CiAKLSAgICBO
b2RlKiBub2RlID0gcG9zaXRpb24uY29udGFpbmVyTm9kZSgpOwotCiAgICAgQVNTRVJUKG5vZGUt
PmRvY3VtZW50KCkpOwogICAgIG5vZGUtPmRvY3VtZW50KCktPnVwZGF0ZUxheW91dElnbm9yZVBl
bmRpbmdTdHlsZXNoZWV0cygpOwogCkBAIC01MDUsMTIgKzUxMCwxMSBAQCBVQ2hhcjMyIFZpc2li
bGVQb3NpdGlvbjo6Y2hhcmFjdGVyQWZ0ZXIoKSBjb25zdAogICAgIC8vIFdlIGNhbm9uaWNhbGl6
ZSB0byB0aGUgZmlyc3Qgb2YgdHdvIGVxdWl2YWxlbnQgY2FuZGlkYXRlcywgYnV0IHRoZSBzZWNv
bmQgb2YgdGhlIHR3byBjYW5kaWRhdGVzCiAgICAgLy8gaXMgdGhlIG9uZSB0aGF0IHdpbGwgYmUg
aW5zaWRlIHRoZSB0ZXh0IG5vZGUgY29udGFpbmluZyB0aGUgY2hhcmFjdGVyIGFmdGVyIHRoaXMg
dmlzaWJsZSBwb3NpdGlvbi4KICAgICBQb3NpdGlvbiBwb3MgPSBtX2RlZXBQb3NpdGlvbi5kb3du
c3RyZWFtKCk7Ci0gICAgTm9kZSogbm9kZSA9IHBvcy5jb250YWluZXJOb2RlKCk7Ci0gICAgaWYg
KCFub2RlIHx8ICFub2RlLT5pc1RleHROb2RlKCkgfHwgcG9zLmFuY2hvclR5cGUoKSA9PSBQb3Np
dGlvbjo6UG9zaXRpb25Jc0FmdGVyQW5jaG9yKQorICAgIE5vZGUqIG5vZGUgPSBwb3Mubm9kZSgp
OworICAgIGlmICghbm9kZSB8fCAhbm9kZS0+aXNUZXh0Tm9kZSgpKQogICAgICAgICByZXR1cm4g
MDsKLSAgICBBU1NFUlQocG9zLmFuY2hvclR5cGUoKSA9PSBQb3NpdGlvbjo6UG9zaXRpb25Jc0Jl
Zm9yZUFuY2hvciB8fCBwb3MuYW5jaG9yVHlwZSgpID09IFBvc2l0aW9uOjpQb3NpdGlvbklzT2Zm
c2V0SW5BbmNob3IpOwotICAgIFRleHQqIHRleHROb2RlID0gc3RhdGljX2Nhc3Q8VGV4dCo+KHBv
cy5jb250YWluZXJOb2RlKCkpOwotICAgIHVuc2lnbmVkIG9mZnNldCA9IHBvcy5hbmNob3JUeXBl
KCkgPT0gUG9zaXRpb246OlBvc2l0aW9uSXNPZmZzZXRJbkFuY2hvciA/IHBvcy5vZmZzZXRJbkNv
bnRhaW5lck5vZGUoKSA6IDA7CisgICAgVGV4dCogdGV4dE5vZGUgPSBzdGF0aWNfY2FzdDxUZXh0
Kj4ocG9zLm5vZGUoKSk7CisgICAgdW5zaWduZWQgb2Zmc2V0ID0gcG9zLmRlcHJlY2F0ZWRFZGl0
aW5nT2Zmc2V0KCk7CiAgICAgdW5zaWduZWQgbGVuZ3RoID0gdGV4dE5vZGUtPmxlbmd0aCgpOwog
ICAgIGlmIChvZmZzZXQgPj0gbGVuZ3RoKQogICAgICAgICByZXR1cm4gMDsKQEAgLTUyMywxMSAr
NTI3LDExIEBAIFVDaGFyMzIgVmlzaWJsZVBvc2l0aW9uOjpjaGFyYWN0ZXJBZnRlcigpIGNvbnN0
CiAKIEludFJlY3QgVmlzaWJsZVBvc2l0aW9uOjpsb2NhbENhcmV0UmVjdChSZW5kZXJPYmplY3Qq
JiByZW5kZXJlcikgY29uc3QKIHsKLSAgICBpZiAobV9kZWVwUG9zaXRpb24uaXNOdWxsKCkpIHsK
KyAgICBOb2RlKiBub2RlID0gbV9kZWVwUG9zaXRpb24ubm9kZSgpOworICAgIGlmICghbm9kZSkg
ewogICAgICAgICByZW5kZXJlciA9IDA7CiAgICAgICAgIHJldHVybiBJbnRSZWN0KCk7CiAgICAg
fQotICAgIE5vZGUqIG5vZGUgPSBtX2RlZXBQb3NpdGlvbi5jb250YWluZXJOb2RlKCk7CiAgICAg
CiAgICAgcmVuZGVyZXIgPSBub2RlLT5yZW5kZXJlcigpOwogICAgIGlmICghcmVuZGVyZXIpCkBA
IC01OTUsMTkgKzU5OSwxOSBAQCBQYXNzUmVmUHRyPFJhbmdlPiBtYWtlUmFuZ2UoY29uc3QgVmlz
aWJsZVBvc2l0aW9uICZzdGFydCwgY29uc3QgVmlzaWJsZVBvc2l0aW9uCiAgICAgCiAgICAgUG9z
aXRpb24gcyA9IHN0YXJ0LmRlZXBFcXVpdmFsZW50KCkucGFyZW50QW5jaG9yZWRFcXVpdmFsZW50
KCk7CiAgICAgUG9zaXRpb24gZSA9IGVuZC5kZWVwRXF1aXZhbGVudCgpLnBhcmVudEFuY2hvcmVk
RXF1aXZhbGVudCgpOwotICAgIHJldHVybiBSYW5nZTo6Y3JlYXRlKHMuY29udGFpbmVyTm9kZSgp
LT5kb2N1bWVudCgpLCBzLmNvbnRhaW5lck5vZGUoKSwgcy5vZmZzZXRJbkNvbnRhaW5lck5vZGUo
KSwgZS5jb250YWluZXJOb2RlKCksIGUub2Zmc2V0SW5Db250YWluZXJOb2RlKCkpOworICAgIHJl
dHVybiBSYW5nZTo6Y3JlYXRlKHMubm9kZSgpLT5kb2N1bWVudCgpLCBzLm5vZGUoKSwgcy5kZXBy
ZWNhdGVkRWRpdGluZ09mZnNldCgpLCBlLm5vZGUoKSwgZS5kZXByZWNhdGVkRWRpdGluZ09mZnNl
dCgpKTsKIH0KIAogVmlzaWJsZVBvc2l0aW9uIHN0YXJ0VmlzaWJsZVBvc2l0aW9uKGNvbnN0IFJh
bmdlICpyLCBFQWZmaW5pdHkgYWZmaW5pdHkpCiB7CiAgICAgaW50IGV4Y2VwdGlvbiA9IDA7Ci0g
ICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihQb3NpdGlvbihyLT5zdGFydENvbnRhaW5lcihleGNl
cHRpb24pLCByLT5zdGFydE9mZnNldChleGNlcHRpb24pLCBQb3NpdGlvbjo6UG9zaXRpb25Jc09m
ZnNldEluQW5jaG9yKSwgYWZmaW5pdHkpOworICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oci0+
c3RhcnRDb250YWluZXIoZXhjZXB0aW9uKSwgci0+c3RhcnRPZmZzZXQoZXhjZXB0aW9uKSwgYWZm
aW5pdHkpOwogfQogCiBWaXNpYmxlUG9zaXRpb24gZW5kVmlzaWJsZVBvc2l0aW9uKGNvbnN0IFJh
bmdlICpyLCBFQWZmaW5pdHkgYWZmaW5pdHkpCiB7CiAgICAgaW50IGV4Y2VwdGlvbiA9IDA7Ci0g
ICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihQb3NpdGlvbihyLT5lbmRDb250YWluZXIoZXhjZXB0
aW9uKSwgci0+ZW5kT2Zmc2V0KGV4Y2VwdGlvbiksIFBvc2l0aW9uOjpQb3NpdGlvbklzT2Zmc2V0
SW5BbmNob3IpLCBhZmZpbml0eSk7CisgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihyLT5lbmRD
b250YWluZXIoZXhjZXB0aW9uKSwgci0+ZW5kT2Zmc2V0KGV4Y2VwdGlvbiksIGFmZmluaXR5KTsK
IH0KIAogYm9vbCBzZXRTdGFydChSYW5nZSAqciwgY29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNp
YmxlUG9zaXRpb24pCkBAIC02MTYsNyArNjIwLDcgQEAgYm9vbCBzZXRTdGFydChSYW5nZSAqciwg
Y29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24pCiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICBQb3NpdGlvbiBwID0gdmlzaWJsZVBvc2l0aW9uLmRlZXBFcXVpdmFsZW50KCku
cGFyZW50QW5jaG9yZWRFcXVpdmFsZW50KCk7CiAgICAgaW50IGNvZGUgPSAwOwotICAgIHItPnNl
dFN0YXJ0KHAuY29udGFpbmVyTm9kZSgpLCBwLm9mZnNldEluQ29udGFpbmVyTm9kZSgpLCBjb2Rl
KTsKKyAgICByLT5zZXRTdGFydChwLm5vZGUoKSwgcC5kZXByZWNhdGVkRWRpdGluZ09mZnNldCgp
LCBjb2RlKTsKICAgICByZXR1cm4gY29kZSA9PSAwOwogfQogCkBAIC02MjYsNyArNjMwLDcgQEAg
Ym9vbCBzZXRFbmQoUmFuZ2UgKnIsIGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0
aW9uKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgUG9zaXRpb24gcCA9IHZpc2libGVQb3Np
dGlvbi5kZWVwRXF1aXZhbGVudCgpLnBhcmVudEFuY2hvcmVkRXF1aXZhbGVudCgpOwogICAgIGlu
dCBjb2RlID0gMDsKLSAgICByLT5zZXRFbmQocC5jb250YWluZXJOb2RlKCksIHAub2Zmc2V0SW5D
b250YWluZXJOb2RlKCksIGNvZGUpOworICAgIHItPnNldEVuZChwLm5vZGUoKSwgcC5kZXByZWNh
dGVkRWRpdGluZ09mZnNldCgpLCBjb2RlKTsKICAgICByZXR1cm4gY29kZSA9PSAwOwogfQogCkBA
IC02NDIsMTAgKzY0NiwxMCBAQCBib29sIGlzRmlyc3RWaXNpYmxlUG9zaXRpb25Jbk5vZGUoY29u
c3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGNvbnN0CiB7CiAgICAgaWYgKHZp
c2libGVQb3NpdGlvbi5pc051bGwoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYg
KCF2aXNpYmxlUG9zaXRpb24uZGVlcEVxdWl2YWxlbnQoKS5jb250YWluZXJOb2RlKCktPmlzRGVz
Y2VuZGFudE9mKG5vZGUpKQorICAgIAorICAgIGlmICghdmlzaWJsZVBvc2l0aW9uLmRlZXBFcXVp
dmFsZW50KCkubm9kZSgpLT5pc0Rlc2NlbmRhbnRPZihub2RlKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwotCisgICAgICAgIAogICAgIFZpc2libGVQb3NpdGlvbiBwcmV2aW91cyA9IHZpc2libGVQ
b3NpdGlvbi5wcmV2aW91cygpOwogICAgIHJldHVybiBwcmV2aW91cy5pc051bGwoKSB8fCAhcHJl
dmlvdXMuZGVlcEVxdWl2YWxlbnQoKS5ub2RlKCktPmlzRGVzY2VuZGFudE9mKG5vZGUpOwogfQpA
QCAtNjU0LDEwICs2NTgsMTAgQEAgYm9vbCBpc0xhc3RWaXNpYmxlUG9zaXRpb25Jbk5vZGUoY29u
c3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGNvbnN0IE4KIHsKICAgICBpZiAo
dmlzaWJsZVBvc2l0aW9uLmlzTnVsbCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBp
ZiAoIXZpc2libGVQb3NpdGlvbi5kZWVwRXF1aXZhbGVudCgpLmNvbnRhaW5lck5vZGUoKS0+aXNE
ZXNjZW5kYW50T2Yobm9kZSkpCisgICAgCisgICAgaWYgKCF2aXNpYmxlUG9zaXRpb24uZGVlcEVx
dWl2YWxlbnQoKS5ub2RlKCktPmlzRGVzY2VuZGFudE9mKG5vZGUpKQogICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0KKyAgICAgICAgICAgICAgICAKICAgICBWaXNpYmxlUG9zaXRpb24gbmV4dCA9IHZp
c2libGVQb3NpdGlvbi5uZXh0KCk7CiAgICAgcmV0dXJuIG5leHQuaXNOdWxsKCkgfHwgIW5leHQu
ZGVlcEVxdWl2YWxlbnQoKS5ub2RlKCktPmlzRGVzY2VuZGFudE9mKG5vZGUpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmgKaW5kZXggYjU4NGM4NTg2MjA3Njg5MTUx
MWEwMTNlNzVjMjgyZmE5ZDZmOWNjZi4uZTY0OWI2OGIxMzRhZDdlYmJkZGUyYWQ4N2MzYWE2YWI2
YjA0M2RkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlUG9zaXRp
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5oCkBAIC01
NCw2ICs1NCw3IEBAIHB1YmxpYzoKICAgICAvLyBOT1RFOiBVUFNUUkVBTSBhZmZpbml0eSB3aWxs
IGJlIHVzZWQgb25seSBpZiBwb3MgaXMgYXQgZW5kIG9mIGEgd3JhcHBlZCBsaW5lLAogICAgIC8v
IG90aGVyd2lzZSBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBET1dOU1RSRUFNCiAgICAgVmlzaWJs
ZVBvc2l0aW9uKCkgOiBtX2FmZmluaXR5KFZQX0RFRkFVTFRfQUZGSU5JVFkpIHsgfQorICAgIFZp
c2libGVQb3NpdGlvbihOb2RlKiwgaW50IG9mZnNldCwgRUFmZmluaXR5KTsKICAgICBWaXNpYmxl
UG9zaXRpb24oY29uc3QgUG9zaXRpb24mLCBFQWZmaW5pdHkgPSBWUF9ERUZBVUxUX0FGRklOSVRZ
KTsKIAogICAgIHZvaWQgY2xlYXIoKSB7IG1fZGVlcFBvc2l0aW9uLmNsZWFyKCk7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5jcHAKaW5kZXggNWVkZjE2MjRiNmIxNTNjNWRiYzI0
ZTc1YmJhMWNjZGI0NWIyZjkwNC4uMmNmNGQ4NTNjYmViOGVlNmQzOTZkZWNlN2U1NjI4NjlkNTZm
MWE2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5jcHAKQEAgLTQyNiw3ICs0
MjYsNyBAQCBzdGF0aWMgTm9kZSogZmlyc3RJblNwZWNpYWxFbGVtZW50KGNvbnN0IFBvc2l0aW9u
JiBwb3MpCiAgICAgZm9yIChOb2RlKiBuID0gcG9zLm5vZGUoKTsgbiAmJiBuLT5yb290RWRpdGFi
bGVFbGVtZW50KCkgPT0gcm9vdEVkaXRhYmxlRWxlbWVudDsgbiA9IG4tPnBhcmVudE5vZGUoKSkK
ICAgICAgICAgaWYgKGlzU3BlY2lhbEVsZW1lbnQobikpIHsKICAgICAgICAgICAgIFZpc2libGVQ
b3NpdGlvbiB2UG9zID0gVmlzaWJsZVBvc2l0aW9uKHBvcywgRE9XTlNUUkVBTSk7Ci0gICAgICAg
ICAgICBWaXNpYmxlUG9zaXRpb24gZmlyc3RJbkVsZW1lbnQgPSBWaXNpYmxlUG9zaXRpb24oZmly
c3RQb3NpdGlvbkluT3JCZWZvcmVOb2RlKG4pLCBET1dOU1RSRUFNKTsKKyAgICAgICAgICAgIFZp
c2libGVQb3NpdGlvbiBmaXJzdEluRWxlbWVudCA9IFZpc2libGVQb3NpdGlvbihuLCAwLCBET1dO
U1RSRUFNKTsKICAgICAgICAgICAgIGlmIChpc1RhYmxlRWxlbWVudChuKSAmJiB2UG9zID09IGZp
cnN0SW5FbGVtZW50Lm5leHQoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gbjsKICAgICAgICAg
ICAgIGlmICh2UG9zID09IGZpcnN0SW5FbGVtZW50KQpAQCAtNDQyLDcgKzQ0Miw3IEBAIHN0YXRp
YyBOb2RlKiBsYXN0SW5TcGVjaWFsRWxlbWVudChjb25zdCBQb3NpdGlvbiYgcG9zKQogICAgIGZv
ciAoTm9kZSogbiA9IHBvcy5ub2RlKCk7IG4gJiYgbi0+cm9vdEVkaXRhYmxlRWxlbWVudCgpID09
IHJvb3RFZGl0YWJsZUVsZW1lbnQ7IG4gPSBuLT5wYXJlbnROb2RlKCkpCiAgICAgICAgIGlmIChp
c1NwZWNpYWxFbGVtZW50KG4pKSB7CiAgICAgICAgICAgICBWaXNpYmxlUG9zaXRpb24gdlBvcyA9
IFZpc2libGVQb3NpdGlvbihwb3MsIERPV05TVFJFQU0pOwotICAgICAgICAgICAgVmlzaWJsZVBv
c2l0aW9uIGxhc3RJbkVsZW1lbnQgPSBWaXNpYmxlUG9zaXRpb24oUG9zaXRpb24obiwgbi0+Y2hp
bGROb2RlQ291bnQoKSwgUG9zaXRpb246OlBvc2l0aW9uSXNPZmZzZXRJbkFuY2hvciksIERPV05T
VFJFQU0pOworICAgICAgICAgICAgVmlzaWJsZVBvc2l0aW9uIGxhc3RJbkVsZW1lbnQgPSBWaXNp
YmxlUG9zaXRpb24obiwgbi0+Y2hpbGROb2RlQ291bnQoKSwgRE9XTlNUUkVBTSk7CiAgICAgICAg
ICAgICBpZiAoaXNUYWJsZUVsZW1lbnQobikgJiYgdlBvcyA9PSBsYXN0SW5FbGVtZW50LnByZXZp
b3VzKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG47CiAgICAgICAgICAgICBpZiAodlBvcyA9
PSBsYXN0SW5FbGVtZW50KQpAQCAtNTE5LDcgKzUxOSw3IEBAIFZpc2libGVQb3NpdGlvbiB2aXNp
YmxlUG9zaXRpb25CZWZvcmVOb2RlKE5vZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUKG5vZGUpOwog
ICAgIGlmIChub2RlLT5jaGlsZE5vZGVDb3VudCgpKQotICAgICAgICByZXR1cm4gVmlzaWJsZVBv
c2l0aW9uKGZpcnN0UG9zaXRpb25Jbk9yQmVmb3JlTm9kZShub2RlKSwgRE9XTlNUUkVBTSk7Cisg
ICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24obm9kZSwgMCwgRE9XTlNUUkVBTSk7CiAgICAg
QVNTRVJUKG5vZGUtPnBhcmVudE5vZGUoKSk7CiAgICAgcmV0dXJuIHBvc2l0aW9uSW5QYXJlbnRC
ZWZvcmVOb2RlKG5vZGUpOwogfQpAQCAtNTI5LDcgKzUyOSw3IEBAIFZpc2libGVQb3NpdGlvbiB2
aXNpYmxlUG9zaXRpb25BZnRlck5vZGUoTm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlQobm9kZSk7
CiAgICAgaWYgKG5vZGUtPmNoaWxkTm9kZUNvdW50KCkpCi0gICAgICAgIHJldHVybiBWaXNpYmxl
UG9zaXRpb24obGFzdFBvc2l0aW9uSW5PckFmdGVyTm9kZShub2RlKSwgRE9XTlNUUkVBTSk7Cisg
ICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24obm9kZSwgbm9kZS0+Y2hpbGROb2RlQ291bnQo
KSwgRE9XTlNUUkVBTSk7CiAgICAgQVNTRVJUKG5vZGUtPnBhcmVudE5vZGUoKSk7CiAgICAgcmV0
dXJuIHBvc2l0aW9uSW5QYXJlbnRBZnRlck5vZGUobm9kZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy92aXNpYmxlX3VuaXRzLmNwcAppbmRleCA3NjhkMzBlN2FjN2IxY2ZiOTBkOTIzZDcwNTlm
MmZlZWYwYzczNzU1Li4zOTFkNmU2YTQ2YWEwYjNjODRhNGIwMzBmMjZhNWVkMTZlMGMyOTY4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5jcHAKQEAgLTM3Nyw4ICszNzcs
MTMgQEAgc3RhdGljIFZpc2libGVQb3NpdGlvbiBzdGFydFBvc2l0aW9uRm9yTGluZShjb25zdCBW
aXNpYmxlUG9zaXRpb24mIGMpCiAgICAgICAgIHN0YXJ0Qm94ID0gc3RhcnRCb3gtPm5leHRMZWFm
Q2hpbGQoKTsKICAgICB9CiAgICAgCi0gICAgVmlzaWJsZVBvc2l0aW9uIHZpc1BvcyA9IHN0YXJ0
Qm94LT5pc0lubGluZVRleHRCb3goKSA/IFZpc2libGVQb3NpdGlvbihQb3NpdGlvbihzdGFydE5v
ZGUsIHN0YXRpY19jYXN0PElubGluZVRleHRCb3ggKj4oc3RhcnRCb3gpLT5zdGFydCgpLCBQb3Np
dGlvbjo6UG9zaXRpb25Jc09mZnNldEluQW5jaG9yKSwgRE9XTlNUUkVBTSkKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogVmlzaWJsZVBv
c2l0aW9uKHBvc2l0aW9uQmVmb3JlTm9kZShzdGFydE5vZGUpLCBET1dOU1RSRUFNKTsKKyAgICBp
bnQgc3RhcnRPZmZzZXQgPSAwOworICAgIGlmIChzdGFydEJveC0+aXNJbmxpbmVUZXh0Qm94KCkp
IHsKKyAgICAgICAgSW5saW5lVGV4dEJveCAqc3RhcnRUZXh0Qm94ID0gc3RhdGljX2Nhc3Q8SW5s
aW5lVGV4dEJveCAqPihzdGFydEJveCk7CisgICAgICAgIHN0YXJ0T2Zmc2V0ID0gc3RhcnRUZXh0
Qm94LT5zdGFydCgpOworICAgIH0KKyAgCisgICAgVmlzaWJsZVBvc2l0aW9uIHZpc1BvcyA9IFZp
c2libGVQb3NpdGlvbihzdGFydE5vZGUsIHN0YXJ0T2Zmc2V0LCBET1dOU1RSRUFNKTsKICAgICBy
ZXR1cm4gcG9zaXRpb25Bdm9pZGluZ0ZpcnN0UG9zaXRpb25JblRhYmxlKHZpc1Bvcyk7CiB9CiAK
QEAgLTQyNCwxOSArNDI5LDE3IEBAIHN0YXRpYyBWaXNpYmxlUG9zaXRpb24gZW5kUG9zaXRpb25G
b3JMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgYykKICAgICAgICAgZW5kQm94ID0gZW5kQm94
LT5wcmV2TGVhZkNoaWxkKCk7CiAgICAgfQogICAgIAotICAgIFBvc2l0aW9uIHBvczsKKyAgICBp
bnQgZW5kT2Zmc2V0ID0gMTsKICAgICBpZiAoZW5kTm9kZS0+aGFzVGFnTmFtZShiclRhZykpIHsK
LSAgICAgICAgcG9zID0gcG9zaXRpb25CZWZvcmVOb2RlKGVuZE5vZGUpOworICAgICAgICBlbmRP
ZmZzZXQgPSAwOwogICAgIH0gZWxzZSBpZiAoZW5kQm94LT5pc0lubGluZVRleHRCb3goKSkgewog
ICAgICAgICBJbmxpbmVUZXh0Qm94ICplbmRUZXh0Qm94ID0gc3RhdGljX2Nhc3Q8SW5saW5lVGV4
dEJveCAqPihlbmRCb3gpOwotICAgICAgICBpbnQgZW5kT2Zmc2V0ID0gZW5kVGV4dEJveC0+c3Rh
cnQoKTsKKyAgICAgICAgZW5kT2Zmc2V0ID0gZW5kVGV4dEJveC0+c3RhcnQoKTsKICAgICAgICAg
aWYgKCFlbmRUZXh0Qm94LT5pc0xpbmVCcmVhaygpKQogICAgICAgICAgICAgZW5kT2Zmc2V0ICs9
IGVuZFRleHRCb3gtPmxlbigpOwotICAgICAgICBwb3MgPSBQb3NpdGlvbihlbmROb2RlLCBlbmRP
ZmZzZXQsIFBvc2l0aW9uOjpQb3NpdGlvbklzT2Zmc2V0SW5BbmNob3IpOwotICAgIH0gZWxzZQot
ICAgICAgICBwb3MgPSBwb3NpdGlvbkFmdGVyTm9kZShlbmROb2RlKTsKKyAgICB9CiAgICAgCi0g
ICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihwb3MsIFZQX1VQU1RSRUFNX0lGX1BPU1NJQkxFKTsK
KyAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKGVuZE5vZGUsIGVuZE9mZnNldCwgVlBfVVBTVFJF
QU1fSUZfUE9TU0lCTEUpOwogfQogCiBWaXNpYmxlUG9zaXRpb24gZW5kT2ZMaW5lKGNvbnN0IFZp
c2libGVQb3NpdGlvbiYgYykKQEAgLTU3Miw3ICs1NzUsNyBAQCBWaXNpYmxlUG9zaXRpb24gcHJl
dmlvdXNMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24s
IGludAogICAgIC8vIE1vdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSBjb250ZW50IGluIHRoaXMgYmxv
Y2ssIHdoaWNoIGVmZmVjdGl2ZWx5IG1vdmVzIHVzCiAgICAgLy8gdG8gdGhlIHN0YXJ0IG9mIHRo
ZSBsaW5lIHdlJ3JlIG9uLgogICAgIEVsZW1lbnQqIHJvb3RFbGVtZW50ID0gbm9kZS0+aXNDb250
ZW50RWRpdGFibGUoKSA/IG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1lbnQoKSA6IG5vZGUtPmRvY3Vt
ZW50KCktPmRvY3VtZW50RWxlbWVudCgpOwotICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oZmly
c3RQb3NpdGlvbkluTm9kZShyb290RWxlbWVudCksIERPV05TVFJFQU0pOworICAgIHJldHVybiBW
aXNpYmxlUG9zaXRpb24ocm9vdEVsZW1lbnQsIDAsIERPV05TVFJFQU0pOwogfQogCiBzdGF0aWMg
Tm9kZSogbmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KE5vZGUqIG5vZGUsIGludCBvZmZzZXQp
CkBAIC02NzcsNyArNjgwLDcgQEAgVmlzaWJsZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRpb24oY29u
c3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludCB4KQogICAgIC8vIE1vdmUg
dG8gdGhlIGVuZCBvZiB0aGUgY29udGVudCBpbiB0aGlzIGJsb2NrLCB3aGljaCBlZmZlY3RpdmVs
eSBtb3ZlcyB1cwogICAgIC8vIHRvIHRoZSBlbmQgb2YgdGhlIGxpbmUgd2UncmUgb24uCiAgICAg
RWxlbWVudCogcm9vdEVsZW1lbnQgPSBub2RlLT5pc0NvbnRlbnRFZGl0YWJsZSgpID8gbm9kZS0+
cm9vdEVkaXRhYmxlRWxlbWVudCgpIDogbm9kZS0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50
KCk7Ci0gICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihsYXN0UG9zaXRpb25Jbk5vZGUocm9vdEVs
ZW1lbnQpLCBET1dOU1RSRUFNKTsKKyAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKHJvb3RFbGVt
ZW50LCByb290RWxlbWVudCA/IHJvb3RFbGVtZW50LT5jaGlsZE5vZGVDb3VudCgpIDogMCwgRE9X
TlNUUkVBTSk7CiB9CiAKIC8vIC0tLS0tLS0tLQpAQCAtNzQ5LDcgKzc1Miw2IEBAIFZpc2libGVQ
b3NpdGlvbiBzdGFydE9mUGFyYWdyYXBoKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgYywgRWRpdGlu
Z0JvdW5kYXJ5Q3Jvc3NpCiAKICAgICBOb2RlICpub2RlID0gc3RhcnROb2RlOwogICAgIGludCBv
ZmZzZXQgPSBwLmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCk7Ci0gICAgUG9zaXRpb246OkFuY2hv
clR5cGUgdHlwZSA9IHAuYW5jaG9yVHlwZSgpOwogCiAgICAgTm9kZSAqbiA9IHN0YXJ0Tm9kZTsK
ICAgICB3aGlsZSAobikgewpAQCAtNzcwLDcgKzc3Miw2IEBAIFZpc2libGVQb3NpdGlvbiBzdGFy
dE9mUGFyYWdyYXBoKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgYywgRWRpdGluZ0JvdW5kYXJ5Q3Jv
c3NpCiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBpZiAoci0+aXNUZXh0KCkgJiYgci0+
Y2FyZXRNYXhSZW5kZXJlZE9mZnNldCgpID4gMCkgewotICAgICAgICAgICAgdHlwZSA9IFBvc2l0
aW9uOjpQb3NpdGlvbklzT2Zmc2V0SW5BbmNob3I7CiAgICAgICAgICAgICBpZiAoc3R5bGUtPnBy
ZXNlcnZlTmV3bGluZSgpKSB7CiAgICAgICAgICAgICAgICAgY29uc3QgVUNoYXIqIGNoYXJzID0g
dG9SZW5kZXJUZXh0KHIpLT5jaGFyYWN0ZXJzKCk7CiAgICAgICAgICAgICAgICAgaW50IGkgPSB0
b1JlbmRlclRleHQociktPnRleHRMZW5ndGgoKTsKQEAgLTc3OSwyMyArNzgwLDIwIEBAIFZpc2li
bGVQb3NpdGlvbiBzdGFydE9mUGFyYWdyYXBoKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgYywgRWRp
dGluZ0JvdW5kYXJ5Q3Jvc3NpCiAgICAgICAgICAgICAgICAgICAgIGkgPSBtYXgoMCwgbyk7CiAg
ICAgICAgICAgICAgICAgd2hpbGUgKC0taSA+PSAwKQogICAgICAgICAgICAgICAgICAgICBpZiAo
Y2hhcnNbaV0gPT0gJ1xuJykKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBWaXNpYmxl
UG9zaXRpb24oUG9zaXRpb24obiwgaSArIDEsIFBvc2l0aW9uOjpQb3NpdGlvbklzT2Zmc2V0SW5B
bmNob3IpLCBET1dOU1RSRUFNKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBWaXNp
YmxlUG9zaXRpb24obiwgaSArIDEsIERPV05TVFJFQU0pOwogICAgICAgICAgICAgfQogICAgICAg
ICAgICAgbm9kZSA9IG47CiAgICAgICAgICAgICBvZmZzZXQgPSAwOwogICAgICAgICAgICAgbiA9
IG4tPnRyYXZlcnNlUHJldmlvdXNOb2RlUG9zdE9yZGVyKHN0YXJ0QmxvY2spOwogICAgICAgICB9
IGVsc2UgaWYgKGVkaXRpbmdJZ25vcmVzQ29udGVudChuKSB8fCBpc1RhYmxlRWxlbWVudChuKSkg
ewogICAgICAgICAgICAgbm9kZSA9IG47Ci0gICAgICAgICAgICB0eXBlID0gUG9zaXRpb246OlBv
c2l0aW9uSXNCZWZvcmVBbmNob3I7CisgICAgICAgICAgICBvZmZzZXQgPSAwOwogICAgICAgICAg
ICAgbiA9IG4tPnByZXZpb3VzU2libGluZygpID8gbi0+cHJldmlvdXNTaWJsaW5nKCkgOiBuLT50
cmF2ZXJzZVByZXZpb3VzTm9kZVBvc3RPcmRlcihzdGFydEJsb2NrKTsKICAgICAgICAgfSBlbHNl
CiAgICAgICAgICAgICBuID0gbi0+dHJhdmVyc2VQcmV2aW91c05vZGVQb3N0T3JkZXIoc3RhcnRC
bG9jayk7CiAgICAgfQogCi0gICAgaWYgKHR5cGUgPT0gUG9zaXRpb246OlBvc2l0aW9uSXNPZmZz
ZXRJbkFuY2hvcikKLSAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihQb3NpdGlvbihub2Rl
LCBvZmZzZXQsIHR5cGUpLCBET1dOU1RSRUFNKTsKLSAgICAKLSAgICByZXR1cm4gVmlzaWJsZVBv
c2l0aW9uKFBvc2l0aW9uKG5vZGUsIHR5cGUpLCBET1dOU1RSRUFNKTsKKyAgICByZXR1cm4gVmlz
aWJsZVBvc2l0aW9uKG5vZGUsIG9mZnNldCwgRE9XTlNUUkVBTSk7CiB9CiAKIFZpc2libGVQb3Np
dGlvbiBlbmRPZlBhcmFncmFwaChjb25zdCBWaXNpYmxlUG9zaXRpb24gJmMsIEVkaXRpbmdCb3Vu
ZGFyeUNyb3NzaW5nUnVsZSBib3VuZGFyeUNyb3NzaW5nUnVsZSkKQEAgLTgxNCw3ICs4MTIsNiBA
QCBWaXNpYmxlUG9zaXRpb24gZW5kT2ZQYXJhZ3JhcGgoY29uc3QgVmlzaWJsZVBvc2l0aW9uICZj
LCBFZGl0aW5nQm91bmRhcnlDcm9zc2luZwogICAgIAogICAgIE5vZGUgKm5vZGUgPSBzdGFydE5v
ZGU7CiAgICAgaW50IG9mZnNldCA9IHAuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKTsKLSAgICBQ
b3NpdGlvbjo6QW5jaG9yVHlwZSB0eXBlID0gcC5hbmNob3JUeXBlKCk7CiAKICAgICBOb2RlICpu
ID0gc3RhcnROb2RlOwogICAgIHdoaWxlIChuKSB7CkBAIC04MzcsMjkgKzgzNCwyNSBAQCBWaXNp
YmxlUG9zaXRpb24gZW5kT2ZQYXJhZ3JhcGgoY29uc3QgVmlzaWJsZVBvc2l0aW9uICZjLCBFZGl0
aW5nQm91bmRhcnlDcm9zc2luZwogICAgICAgICAvLyBGSVhNRTogV2UgYXZvaWQgcmV0dXJuaW5n
IGEgcG9zaXRpb24gd2hlcmUgdGhlIHJlbmRlcmVyIGNhbid0IGFjY2VwdCB0aGUgY2FyZXQuCiAg
ICAgICAgIGlmIChyLT5pc1RleHQoKSAmJiByLT5jYXJldE1heFJlbmRlcmVkT2Zmc2V0KCkgPiAw
KSB7CiAgICAgICAgICAgICBpbnQgbGVuZ3RoID0gdG9SZW5kZXJUZXh0KHIpLT50ZXh0TGVuZ3Ro
KCk7Ci0gICAgICAgICAgICB0eXBlID0gUG9zaXRpb246OlBvc2l0aW9uSXNPZmZzZXRJbkFuY2hv
cjsKICAgICAgICAgICAgIGlmIChzdHlsZS0+cHJlc2VydmVOZXdsaW5lKCkpIHsKICAgICAgICAg
ICAgICAgICBjb25zdCBVQ2hhciogY2hhcnMgPSB0b1JlbmRlclRleHQociktPmNoYXJhY3RlcnMo
KTsKICAgICAgICAgICAgICAgICBpbnQgbyA9IG4gPT0gc3RhcnROb2RlID8gb2Zmc2V0IDogMDsK
ICAgICAgICAgICAgICAgICBmb3IgKGludCBpID0gbzsgaSA8IGxlbmd0aDsgKytpKQogICAgICAg
ICAgICAgICAgICAgICBpZiAoY2hhcnNbaV0gPT0gJ1xuJykKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oUG9zaXRpb24obiwgaSwgUG9zaXRpb246OlBvc2l0
aW9uSXNPZmZzZXRJbkFuY2hvciksIERPV05TVFJFQU0pOworICAgICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihuLCBpLCBET1dOU1RSRUFNKTsKICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIG5vZGUgPSBuOwogICAgICAgICAgICAgb2Zmc2V0ID0gci0+Y2FyZXRN
YXhPZmZzZXQoKTsKICAgICAgICAgICAgIG4gPSBuLT50cmF2ZXJzZU5leHROb2RlKHN0YXlJbnNp
ZGVCbG9jayk7CiAgICAgICAgIH0gZWxzZSBpZiAoZWRpdGluZ0lnbm9yZXNDb250ZW50KG4pIHx8
IGlzVGFibGVFbGVtZW50KG4pKSB7CiAgICAgICAgICAgICBub2RlID0gbjsKLSAgICAgICAgICAg
IHR5cGUgPSBQb3NpdGlvbjo6UG9zaXRpb25Jc0FmdGVyQW5jaG9yOworICAgICAgICAgICAgb2Zm
c2V0ID0gbGFzdE9mZnNldEZvckVkaXRpbmcobik7CiAgICAgICAgICAgICBuID0gbi0+dHJhdmVy
c2VOZXh0U2libGluZyhzdGF5SW5zaWRlQmxvY2spOwogICAgICAgICB9IGVsc2UKICAgICAgICAg
ICAgIG4gPSBuLT50cmF2ZXJzZU5leHROb2RlKHN0YXlJbnNpZGVCbG9jayk7CiAgICAgfQogCi0g
ICAgaWYgKHR5cGUgPT0gUG9zaXRpb246OlBvc2l0aW9uSXNPZmZzZXRJbkFuY2hvcikKLSAgICAg
ICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihQb3NpdGlvbihub2RlLCBvZmZzZXQsIHR5cGUpLCBE
T1dOU1RSRUFNKTsKLQotICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oUG9zaXRpb24obm9kZSwg
dHlwZSksIERPV05TVFJFQU0pOworICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24obm9kZSwgb2Zm
c2V0LCBET1dOU1RSRUFNKTsKIH0KIAogVmlzaWJsZVBvc2l0aW9uIHN0YXJ0T2ZOZXh0UGFyYWdy
YXBoKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgdmlzaWJsZVBvc2l0aW9uKQpAQCAtOTMzLDcgKzky
Niw3IEBAIFZpc2libGVQb3NpdGlvbiBlbmRPZkJsb2NrKGNvbnN0IFZpc2libGVQb3NpdGlvbiAm
YykKIAogICAgIE5vZGUgKnN0YXJ0QmxvY2sgPSBzdGFydE5vZGUtPmVuY2xvc2luZ0Jsb2NrRmxv
d0VsZW1lbnQoKTsKICAgICAKLSAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKGxhc3RQb3NpdGlv
bkluTm9kZShzdGFydEJsb2NrKSwgVlBfREVGQVVMVF9BRkZJTklUWSk7ICAgCisgICAgcmV0dXJu
IFZpc2libGVQb3NpdGlvbihzdGFydEJsb2NrLCBzdGFydEJsb2NrLT5jaGlsZE5vZGVDb3VudCgp
LCBWUF9ERUZBVUxUX0FGRklOSVRZKTsgICAKIH0KIAogYm9vbCBpblNhbWVCbG9jayhjb25zdCBW
aXNpYmxlUG9zaXRpb24gJmEsIGNvbnN0IFZpc2libGVQb3NpdGlvbiAmYikKQEAgLTk1OCw3ICs5
NTEsNyBAQCBWaXNpYmxlUG9zaXRpb24gc3RhcnRPZkRvY3VtZW50KGNvbnN0IE5vZGUqIG5vZGUp
CiAgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKCk7CiAgICAg
Ci0gICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihmaXJzdFBvc2l0aW9uSW5Ob2RlKG5vZGUtPmRv
Y3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpKSwgRE9XTlNUUkVBTSk7CisgICAgcmV0dXJuIFZp
c2libGVQb3NpdGlvbihub2RlLT5kb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKSwgMCwgRE9X
TlNUUkVBTSk7CiB9CiAKIFZpc2libGVQb3NpdGlvbiBzdGFydE9mRG9jdW1lbnQoY29uc3QgVmlz
aWJsZVBvc2l0aW9uICZjKQpAQCAtOTcyLDcgKzk2NSw3IEBAIFZpc2libGVQb3NpdGlvbiBlbmRP
ZkRvY3VtZW50KGNvbnN0IE5vZGUqIG5vZGUpCiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRp
b24oKTsKICAgICAKICAgICBFbGVtZW50KiBkb2MgPSBub2RlLT5kb2N1bWVudCgpLT5kb2N1bWVu
dEVsZW1lbnQoKTsKLSAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKGxhc3RQb3NpdGlvbkluTm9k
ZShkb2MpLCBET1dOU1RSRUFNKTsKKyAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKGRvYywgZG9j
LT5jaGlsZE5vZGVDb3VudCgpLCBET1dOU1RSRUFNKTsKIH0KIAogVmlzaWJsZVBvc2l0aW9uIGVu
ZE9mRG9jdW1lbnQoY29uc3QgVmlzaWJsZVBvc2l0aW9uICZjKQpAQCAtMTEyOCw4ICsxMTIxLDkg
QEAgc3RhdGljIFZpc2libGVQb3NpdGlvbiBsb2dpY2FsU3RhcnRQb3NpdGlvbkZvckxpbmUoY29u
c3QgVmlzaWJsZVBvc2l0aW9uJiBjKQogICAgIGlmICghbG9naWNhbFN0YXJ0Tm9kZSkKICAgICAg
ICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbigpOwogCi0gICAgVmlzaWJsZVBvc2l0aW9uIHZpc1Bv
cyA9IGxvZ2ljYWxTdGFydE5vZGUtPmlzVGV4dE5vZGUoKSA/IFZpc2libGVQb3NpdGlvbihQb3Np
dGlvbihsb2dpY2FsU3RhcnROb2RlLCBsb2dpY2FsU3RhcnRCb3gtPmNhcmV0TWluT2Zmc2V0KCks
IFBvc2l0aW9uOjpQb3NpdGlvbklzT2Zmc2V0SW5BbmNob3IpLCBET1dOU1RSRUFNKQotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBW
aXNpYmxlUG9zaXRpb24ocG9zaXRpb25CZWZvcmVOb2RlKGxvZ2ljYWxTdGFydE5vZGUpLCBET1dO
U1RSRUFNKTsKKyAgICBpbnQgc3RhcnRPZmZzZXQgPSBsb2dpY2FsU3RhcnRCb3gtPmNhcmV0TWlu
T2Zmc2V0KCk7CisgIAorICAgIFZpc2libGVQb3NpdGlvbiB2aXNQb3MgPSBWaXNpYmxlUG9zaXRp
b24obG9naWNhbFN0YXJ0Tm9kZSwgc3RhcnRPZmZzZXQsIERPV05TVFJFQU0pOwogICAgIHJldHVy
biBwb3NpdGlvbkF2b2lkaW5nRmlyc3RQb3NpdGlvbkluVGFibGUodmlzUG9zKTsKIH0KIApAQCAt
MTE2MywxOSArMTE1NywxNyBAQCBzdGF0aWMgVmlzaWJsZVBvc2l0aW9uIGxvZ2ljYWxFbmRQb3Np
dGlvbkZvckxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBjKQogICAgIGlmICghbG9naWNhbEVu
ZE5vZGUpCiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKICAgICAKLSAgICBQb3Np
dGlvbiBwb3M7CisgICAgaW50IGVuZE9mZnNldCA9IDE7CiAgICAgaWYgKGxvZ2ljYWxFbmROb2Rl
LT5oYXNUYWdOYW1lKGJyVGFnKSkKLSAgICAgICAgcG9zID0gcG9zaXRpb25CZWZvcmVOb2RlKGxv
Z2ljYWxFbmROb2RlKTsKKyAgICAgICAgZW5kT2Zmc2V0ID0gMDsKICAgICBlbHNlIGlmIChsb2dp
Y2FsRW5kQm94LT5pc0lubGluZVRleHRCb3goKSkgewogICAgICAgICBJbmxpbmVUZXh0Qm94KiBl
bmRUZXh0Qm94ID0gc3RhdGljX2Nhc3Q8SW5saW5lVGV4dEJveCo+KGxvZ2ljYWxFbmRCb3gpOwot
ICAgICAgICBpbnQgZW5kT2Zmc2V0ID0gZW5kVGV4dEJveC0+c3RhcnQoKTsKKyAgICAgICAgZW5k
T2Zmc2V0ID0gZW5kVGV4dEJveC0+c3RhcnQoKTsKICAgICAgICAgaWYgKCFlbmRUZXh0Qm94LT5p
c0xpbmVCcmVhaygpKQogICAgICAgICAgICAgZW5kT2Zmc2V0ICs9IGVuZFRleHRCb3gtPmxlbigp
OwotICAgICAgICBwb3MgPSBQb3NpdGlvbihsb2dpY2FsRW5kTm9kZSwgZW5kT2Zmc2V0LCBQb3Np
dGlvbjo6UG9zaXRpb25Jc09mZnNldEluQW5jaG9yKTsKLSAgICB9IGVsc2UKLSAgICAgICAgcG9z
ID0gcG9zaXRpb25BZnRlck5vZGUobG9naWNhbEVuZE5vZGUpOworICAgIH0KICAgICAKLSAgICBy
ZXR1cm4gVmlzaWJsZVBvc2l0aW9uKHBvcywgVlBfVVBTVFJFQU1fSUZfUE9TU0lCTEUpOworICAg
IHJldHVybiBWaXNpYmxlUG9zaXRpb24obG9naWNhbEVuZE5vZGUsIGVuZE9mZnNldCwgVlBfVVBT
VFJFQU1fSUZfUE9TU0lCTEUpOwogfQogCiBib29sIGluU2FtZUxvZ2ljYWxMaW5lKGNvbnN0IFZp
c2libGVQb3NpdGlvbiYgYSwgY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBiKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01TZWxlY3Rpb24uY3BwCmluZGV4IGI3YTQwOTJiOTE4ZWRmNDY0NTY3MTkyOTJjODkzZjI2
NGIzYWNiYzUuLmRiYjA5NDQ2ZGEyZDQ4YmUzZTU3ZmMyZTU2ZjBiOTUyMDhkOWUzNDEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5jcHAKQEAgLTIxMSw4ICsyMTEsNyBAQCB2b2lkIERP
TVNlbGVjdGlvbjo6Y29sbGFwc2UoTm9kZSogbm9kZSwgaW50IG9mZnNldCwgRXhjZXB0aW9uQ29k
ZSYgZWMpCiAgICAgaWYgKCFpc1ZhbGlkRm9yUG9zaXRpb24obm9kZSkpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIC8vIEZJWE1FOiBFbGltaW5hdGUgbGVnYWN5IGVkaXRpbmcgcG9zaXRpb25zCi0g
ICAgbV9mcmFtZS0+c2VsZWN0aW9uKCktPm1vdmVUbyhWaXNpYmxlUG9zaXRpb24oUG9zaXRpb24o
bm9kZSwgb2Zmc2V0KSwgRE9XTlNUUkVBTSkpOworICAgIG1fZnJhbWUtPnNlbGVjdGlvbigpLT5t
b3ZlVG8oVmlzaWJsZVBvc2l0aW9uKG5vZGUsIG9mZnNldCwgRE9XTlNUUkVBTSkpOwogfQogCiB2
b2lkIERPTVNlbGVjdGlvbjo6Y29sbGFwc2VUb0VuZChFeGNlcHRpb25Db2RlJiBlYykKQEAgLTI2
NSw5ICsyNjQsOCBAQCB2b2lkIERPTVNlbGVjdGlvbjo6c2V0QmFzZUFuZEV4dGVudChOb2RlKiBi
YXNlTm9kZSwgaW50IGJhc2VPZmZzZXQsIE5vZGUqIGV4dGVudAogICAgIGlmICghaXNWYWxpZEZv
clBvc2l0aW9uKGJhc2VOb2RlKSB8fCAhaXNWYWxpZEZvclBvc2l0aW9uKGV4dGVudE5vZGUpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICAvLyBGSVhNRTogRWxpbWluYXRlIGxlZ2FjeSBlZGl0aW5n
IHBvc2l0aW9ucwotICAgIFZpc2libGVQb3NpdGlvbiB2aXNpYmxlQmFzZSA9IFZpc2libGVQb3Np
dGlvbihQb3NpdGlvbihiYXNlTm9kZSwgYmFzZU9mZnNldCksIERPV05TVFJFQU0pOwotICAgIFZp
c2libGVQb3NpdGlvbiB2aXNpYmxlRXh0ZW50ID0gVmlzaWJsZVBvc2l0aW9uKFBvc2l0aW9uKGV4
dGVudE5vZGUsIGV4dGVudE9mZnNldCksIERPV05TVFJFQU0pOworICAgIFZpc2libGVQb3NpdGlv
biB2aXNpYmxlQmFzZSA9IFZpc2libGVQb3NpdGlvbihiYXNlTm9kZSwgYmFzZU9mZnNldCwgRE9X
TlNUUkVBTSk7CisgICAgVmlzaWJsZVBvc2l0aW9uIHZpc2libGVFeHRlbnQgPSBWaXNpYmxlUG9z
aXRpb24oZXh0ZW50Tm9kZSwgZXh0ZW50T2Zmc2V0LCBET1dOU1RSRUFNKTsKIAogICAgIG1fZnJh
bWUtPnNlbGVjdGlvbigpLT5tb3ZlVG8odmlzaWJsZUJhc2UsIHZpc2libGVFeHRlbnQpOwogfQpA
QCAtMjg0LDggKzI4Miw3IEBAIHZvaWQgRE9NU2VsZWN0aW9uOjpzZXRQb3NpdGlvbihOb2RlKiBu
b2RlLCBpbnQgb2Zmc2V0LCBFeGNlcHRpb25Db2RlJiBlYykKICAgICBpZiAoIWlzVmFsaWRGb3JQ
b3NpdGlvbihub2RlKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgLy8gRklYTUU6IEVsaW1pbmF0
ZSBsZWdhY3kgZWRpdGluZyBwb3NpdGlvbnMKLSAgICBtX2ZyYW1lLT5zZWxlY3Rpb24oKS0+bW92
ZVRvKFZpc2libGVQb3NpdGlvbihQb3NpdGlvbihub2RlLCBvZmZzZXQpLCBET1dOU1RSRUFNKSk7
CisgICAgbV9mcmFtZS0+c2VsZWN0aW9uKCktPm1vdmVUbyhWaXNpYmxlUG9zaXRpb24obm9kZSwg
b2Zmc2V0LCBET1dOU1RSRUFNKSk7CiB9CiAKIHZvaWQgRE9NU2VsZWN0aW9uOjptb2RpZnkoY29u
c3QgU3RyaW5nJiBhbHRlclN0cmluZywgY29uc3QgU3RyaW5nJiBkaXJlY3Rpb25TdHJpbmcsIGNv
bnN0IFN0cmluZyYgZ3JhbnVsYXJpdHlTdHJpbmcpCkBAIC0zNTYsOCArMzUzLDcgQEAgdm9pZCBE
T01TZWxlY3Rpb246OmV4dGVuZChOb2RlKiBub2RlLCBpbnQgb2Zmc2V0LCBFeGNlcHRpb25Db2Rl
JiBlYykKICAgICBpZiAoIWlzVmFsaWRGb3JQb3NpdGlvbihub2RlKSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgLy8gRklYTUU6IEVsaW1pbmF0ZSBsZWdhY3kgZWRpdGluZyBwb3NpdGlvbnMKLSAg
ICBtX2ZyYW1lLT5zZWxlY3Rpb24oKS0+c2V0RXh0ZW50KFZpc2libGVQb3NpdGlvbihQb3NpdGlv
bihub2RlLCBvZmZzZXQpLCBET1dOU1RSRUFNKSk7CisgICAgbV9mcmFtZS0+c2VsZWN0aW9uKCkt
PnNldEV4dGVudChWaXNpYmxlUG9zaXRpb24obm9kZSwgb2Zmc2V0LCBET1dOU1RSRUFNKSk7CiB9
CiAKIFBhc3NSZWZQdHI8UmFuZ2U+IERPTVNlbGVjdGlvbjo6Z2V0UmFuZ2VBdChpbnQgaW5kZXgs
IEV4Y2VwdGlvbkNvZGUmIGVjKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVu
dEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4
IDQ2N2NmZWI5MmNiMDhjODM3OTY0YWMwYTdmZGIxMjEyZDJmMzNlNjYuLjdlN2I2Y2VhNWU1NzU0
MDE4OGJmNzg1YzdiZjdjZDA3NDVmZjYyNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxl
ci5jcHAKQEAgLTM3Myw3ICszNzMsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQ
cmVzc0V2ZW50U2luZ2xlQ2xpY2soY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UgogCiAgICAg
VmlzaWJsZVBvc2l0aW9uIHZpc2libGVQb3MoaW5uZXJOb2RlLT5yZW5kZXJlcigpLT5wb3NpdGlv
bkZvclBvaW50KGV2ZW50LmxvY2FsUG9pbnQoKSkpOwogICAgIGlmICh2aXNpYmxlUG9zLmlzTnVs
bCgpKQotICAgICAgICB2aXNpYmxlUG9zID0gVmlzaWJsZVBvc2l0aW9uKGZpcnN0UG9zaXRpb25J
bk9yQmVmb3JlTm9kZShpbm5lck5vZGUpLCBET1dOU1RSRUFNKTsKKyAgICAgICAgdmlzaWJsZVBv
cyA9IFZpc2libGVQb3NpdGlvbihpbm5lck5vZGUsIDAsIERPV05TVFJFQU0pOwogICAgIFBvc2l0
aW9uIHBvcyA9IHZpc2libGVQb3MuZGVlcEVxdWl2YWxlbnQoKTsKICAgICAKICAgICBWaXNpYmxl
U2VsZWN0aW9uIG5ld1NlbGVjdGlvbiA9IG1fZnJhbWUtPnNlbGVjdGlvbigpLT5zZWxlY3Rpb24o
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggYWRkNmZm
ZTkwZjkyOWZkNTgyYjVlMWRiNDhmY2FmNzFjZjU2MDAwOS4uZDg0ZmNkMDRkYWUzNmVmNTU5NTcw
Mjg1MjgyZDhjYjBjNjg2YjFmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5jcHAKQEAgLTI2NTQsOCArMjY1NCw3IEBAIFZpc2libGVQb3NpdGlvbiBSZW5kZXJPYmpl
Y3Q6OmNyZWF0ZVZpc2libGVQb3NpdGlvbihpbnQgb2Zmc2V0LCBFQWZmaW5pdHkgYWZmaW5pCiAg
ICAgICAgICAgICBpZiAoY2FuZGlkYXRlLm5vZGUoKS0+aXNDb250ZW50RWRpdGFibGUoKSkKICAg
ICAgICAgICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKGNhbmRpZGF0ZSwgYWZmaW5pdHkp
OwogICAgICAgICB9Ci0gICAgICAgIC8vIEZJWE1FOiBFbGltaW5hdGUgbGVnYWN5IGVkaXRpbmcg
cG9zaXRpb25zCi0gICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oUG9zaXRpb24obm9kZSwg
b2Zmc2V0KSwgYWZmaW5pdHkpOworICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKG5vZGUs
IG9mZnNldCwgYWZmaW5pdHkpOwogICAgIH0KIAogICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gY3Jv
c3MgdGhlIGJvdW5kYXJ5IGJldHdlZW4gZWRpdGFibGUgYW5kIG5vbi1lZGl0YWJsZQpAQCAtMjY3
MCw3ICsyNjY5LDcgQEAgVmlzaWJsZVBvc2l0aW9uIFJlbmRlck9iamVjdDo6Y3JlYXRlVmlzaWJs
ZVBvc2l0aW9uKGludCBvZmZzZXQsIEVBZmZpbml0eSBhZmZpbmkKICAgICAgICAgUmVuZGVyT2Jq
ZWN0KiByZW5kZXJlciA9IGNoaWxkOwogICAgICAgICB3aGlsZSAoKHJlbmRlcmVyID0gcmVuZGVy
ZXItPm5leHRJblByZU9yZGVyKHBhcmVudCkpKSB7CiAgICAgICAgICAgICBpZiAoTm9kZSogbm9k
ZSA9IHJlbmRlcmVyLT5ub2RlKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIFZpc2libGVQb3Np
dGlvbihmaXJzdFBvc2l0aW9uSW5PckJlZm9yZU5vZGUobm9kZSksIERPV05TVFJFQU0pOworICAg
ICAgICAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24obm9kZSwgMCwgRE9XTlNUUkVBTSk7
CiAgICAgICAgIH0KIAogICAgICAgICAvLyBGaW5kIG5vbi1hbm9ueW1vdXMgY29udGVudCBiZWZv
cmUuCkBAIC0yNjc5LDEyICsyNjc4LDEyIEBAIFZpc2libGVQb3NpdGlvbiBSZW5kZXJPYmplY3Q6
OmNyZWF0ZVZpc2libGVQb3NpdGlvbihpbnQgb2Zmc2V0LCBFQWZmaW5pdHkgYWZmaW5pCiAgICAg
ICAgICAgICBpZiAocmVuZGVyZXIgPT0gcGFyZW50KQogICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgaWYgKE5vZGUqIG5vZGUgPSByZW5kZXJlci0+bm9kZSgpKQotICAgICAgICAg
ICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24obGFzdFBvc2l0aW9uSW5PckFmdGVyTm9kZShu
b2RlKSwgRE9XTlNUUkVBTSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlv
bihsYXN0RGVlcEVkaXRpbmdQb3NpdGlvbkZvck5vZGUobm9kZSksIERPV05TVFJFQU0pOwogICAg
ICAgICB9CiAKICAgICAgICAgLy8gVXNlIHRoZSBwYXJlbnQgaXRzZWxmIHVubGVzcyBpdCB0b28g
aXMgYW5vbnltb3VzLgogICAgICAgICBpZiAoTm9kZSogbm9kZSA9IHBhcmVudC0+bm9kZSgpKQot
ICAgICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihmaXJzdFBvc2l0aW9uSW5PckJlZm9y
ZU5vZGUobm9kZSksIERPV05TVFJFQU0pOworICAgICAgICAgICAgcmV0dXJuIFZpc2libGVQb3Np
dGlvbihub2RlLCAwLCBET1dOU1RSRUFNKTsKIAogICAgICAgICAvLyBSZXBlYXQgYXQgdGhlIG5l
eHQgbGV2ZWwgdXAuCiAgICAgICAgIGNoaWxkID0gcGFyZW50OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAKaW5kZXggNzA0ODMwOGYxZDVmOGU2OTM3
ZGZlOTgxM2I5MTk4OTAyMzVjYzU2YS4uZThiZTA5NmIyYzBiM2MzZWRiZGQ1ZjU3YWI1ODBkZjYx
OTUxZGFmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRD
b250cm9sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRy
b2wuY3BwCkBAIC0zMjEsNyArMzIxLDcgQEAgUGFzc1JlZlB0cjxSYW5nZT4gUmVuZGVyVGV4dENv
bnRyb2w6OnNlbGVjdGlvbihpbnQgc3RhcnQsIGludCBlbmQpIGNvbnN0CiBWaXNpYmxlUG9zaXRp
b24gUmVuZGVyVGV4dENvbnRyb2w6OnZpc2libGVQb3NpdGlvbkZvckluZGV4KGludCBpbmRleCkg
Y29uc3QKIHsKICAgICBpZiAoaW5kZXggPD0gMCkKLSAgICAgICAgcmV0dXJuIFZpc2libGVQb3Np
dGlvbihQb3NpdGlvbihtX2lubmVyVGV4dC5nZXQoKSwgMCwgUG9zaXRpb246OlBvc2l0aW9uSXNP
ZmZzZXRJbkFuY2hvciksIERPV05TVFJFQU0pOworICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0
aW9uKG1faW5uZXJUZXh0LmdldCgpLCAwLCBET1dOU1RSRUFNKTsKICAgICBFeGNlcHRpb25Db2Rl
IGVjID0gMDsKICAgICBSZWZQdHI8UmFuZ2U+IHJhbmdlID0gUmFuZ2U6OmNyZWF0ZShkb2N1bWVu
dCgpKTsKICAgICByYW5nZS0+c2VsZWN0Tm9kZUNvbnRlbnRzKG1faW5uZXJUZXh0LmdldCgpLCBl
Yyk7CkBAIC0zMzIsNyArMzMyLDcgQEAgVmlzaWJsZVBvc2l0aW9uIFJlbmRlclRleHRDb250cm9s
Ojp2aXNpYmxlUG9zaXRpb25Gb3JJbmRleChpbnQgaW5kZXgpIGNvbnN0CiAgICAgQVNTRVJUKCFl
Yyk7CiAgICAgaW50IGVuZE9mZnNldCA9IGl0LnJhbmdlKCktPmVuZE9mZnNldChlYyk7CiAgICAg
QVNTRVJUKCFlYyk7Ci0gICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihQb3NpdGlvbihlbmRDb250
YWluZXIsIGVuZE9mZnNldCwgUG9zaXRpb246OlBvc2l0aW9uSXNPZmZzZXRJbkFuY2hvciksIFVQ
U1RSRUFNKTsKKyAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKGVuZENvbnRhaW5lciwgZW5kT2Zm
c2V0LCBVUFNUUkVBTSk7CiB9CiAKIGludCBSZW5kZXJUZXh0Q29udHJvbDo6aW5kZXhGb3JWaXNp
YmxlUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBwb3MpIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuY3BwCmluZGV4IGE5MGY2YWMxZjFkYTIz
ZjMwYTlhYmQ1NzdkMjJlMGJlYWFmNWJkNzEuLjk1OWQ0MTQ4NzEyNDBjNDNiODk0N2Y0NThjMTA4
MTcyMjYxZThjNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVu
dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1l
bnQuY3BwCkBAIC0xNDUsNyArMTQ1LDcgQEAgdm9pZCBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OnNl
bGVjdFN1YlN0cmluZyh1bnNpZ25lZCBjaGFybnVtLCB1bnNpZ25lZCBuY2hhcnMsIEUKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgLy8gRmluZCBzZWxlY3Rpb24gc3RhcnQKLSAgICBWaXNpYmxlUG9z
aXRpb24gc3RhcnQoZmlyc3RQb3NpdGlvbkluTm9kZShjb25zdF9jYXN0PFNWR1RleHRDb250ZW50
RWxlbWVudCo+KHRoaXMpKSk7CisgICAgVmlzaWJsZVBvc2l0aW9uIHN0YXJ0KGNvbnN0X2Nhc3Q8
U1ZHVGV4dENvbnRlbnRFbGVtZW50Kj4odGhpcyksIDAsIFNFTF9ERUZBVUxUX0FGRklOSVRZKTsK
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgY2hhcm51bTsgKytpKQogICAgICAgICBzdGFy
dCA9IHN0YXJ0Lm5leHQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDQ2NWQwZTIyNTM2YjYxNTAx
OWNlZWM1MGI1ZDljNWM1MDZkMmM4MGIuLjBhOGM5MmY5M2RkNjgzMjBlOWZhNWVjODkyOTZjZjM5
MjE2OTIzZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0wMi0wOCAg
U2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5y
ZXZpZXdlZCwgcm9sbGluZyBvdXQgcjc3OTgwLgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQu
b3JnL2NoYW5nZXNldC83Nzk4MAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTQwNDMKKworICAgICAgICAiQ3Jhc2hlcyBvbiBXaW5kb3dzIGFuZCBMaW51
eC4uLiIgKFJlcXVlc3RlZCBieSBsZXZpdyBvbgorICAgICAgICAjd2Via2l0KS4KKworICAgICAg
ICAqIFdlYlZpZXcvV2ViRnJhbWUubW06CisgICAgICAgICgtW1dlYkZyYW1lIF9jYXJldFJlY3RB
dE5vZGU6b2Zmc2V0OmFmZmluaXR5Ol0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViRnJhbWVJbnRl
cm5hbC5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVGV4dENvbXBsZXRpb25Db250cm9sbGVyLm1t
OgorICAgICAgICAoLVtXZWJUZXh0Q29tcGxldGlvbkNvbnRyb2xsZXIgZG9Db21wbGV0aW9uXSk6
CisKIDIwMTEtMDItMDggIExldmkgV2VpbnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YkZyYW1lLm1tCmluZGV4IGRmYmVlZmQzZTMzMTZlMTdmYzVhN2FiN2JhMzZlNzgwNGQ3NDE0N2Eu
Ljk2MTZmMDM5MjE0NzcxYTY2ZTYxNWM1MjBhZTcxMmVhZDM5YTg4YTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0KKysrIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJGcmFtZS5tbQpAQCAtNjYwLDkgKzY2MCw5IEBAIHN0YXRpYyBpbmxpbmUg
V2ViRGF0YVNvdXJjZSAqZGF0YVNvdXJjZShEb2N1bWVudExvYWRlciogbG9hZGVyKQogICAgIHJl
dHVybiB1c3RyaW5nVG9TdHJpbmcocmVzdWx0LnRvU3RyaW5nKF9wcml2YXRlLT5jb3JlRnJhbWUt
PnNjcmlwdCgpLT5nbG9iYWxPYmplY3QobWFpblRocmVhZE5vcm1hbFdvcmxkKCkpLT5nbG9iYWxF
eGVjKCkpKTsKIH0KIAotLSAoTlNSZWN0KV9jYXJldFJlY3RBdFBvc2l0aW9uOihjb25zdCBQb3Np
dGlvbiYpcG9zIGFmZmluaXR5OihOU1NlbGVjdGlvbkFmZmluaXR5KWFmZmluaXR5CistIChOU1Jl
Y3QpX2NhcmV0UmVjdEF0Tm9kZTooRE9NTm9kZSAqKW5vZGUgb2Zmc2V0OihpbnQpb2Zmc2V0IGFm
ZmluaXR5OihOU1NlbGVjdGlvbkFmZmluaXR5KWFmZmluaXR5CiB7Ci0gICAgVmlzaWJsZVBvc2l0
aW9uIHZpc2libGVQb3NpdGlvbihwb3MsIHN0YXRpY19jYXN0PEVBZmZpbml0eT4oYWZmaW5pdHkp
KTsKKyAgICBWaXNpYmxlUG9zaXRpb24gdmlzaWJsZVBvc2l0aW9uKGNvcmUobm9kZSksIG9mZnNl
dCwgc3RhdGljX2Nhc3Q8RUFmZmluaXR5PihhZmZpbml0eSkpOwogICAgIHJldHVybiB2aXNpYmxl
UG9zaXRpb24uYWJzb2x1dGVDYXJldEJvdW5kcygpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lSW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViRnJhbWVJbnRlcm5hbC5oCmluZGV4IDdlODAxNmE5M2Y5YzViNjQ0MWU0MmE3
OTQwMDQzMGVmNTIyODM1YjguLjgzODcwZWNlMzhhN2IxZjQ1ZDQyNzM3NGFjYzg0YmZmNjgxMWVm
YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWVJbnRlcm5h
bC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWVJbnRlcm5hbC5oCkBA
IC0zMiw3ICszMiw2IEBACiAjaW1wb3J0ICJXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCIKICNpbXBv
cnQgPFdlYkNvcmUvRWRpdEFjdGlvbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9GcmFtZUxvYWRlclR5
cGVzLmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1Bvc2l0aW9uLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Nl
bGVjdGlvbkNvbnRyb2xsZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2V0dGluZ3MuaD4KIApAQCAt
MTM1LDcgKzEzNCw3IEBAIFdlYlZpZXcgKmdldFdlYlZpZXcoV2ViRnJhbWUgKndlYkZyYW1lKTsK
IAogLSAoTlNTdHJpbmcgKilfbWFya3VwU3RyaW5nRnJvbVJhbmdlOihET01SYW5nZSAqKXJhbmdl
IG5vZGVzOihOU0FycmF5ICoqKW5vZGVzOwogCi0tIChOU1JlY3QpX2NhcmV0UmVjdEF0UG9zaXRp
b246KGNvbnN0IFdlYkNvcmU6OlBvc2l0aW9uJilwb3MgYWZmaW5pdHk6KE5TU2VsZWN0aW9uQWZm
aW5pdHkpYWZmaW5pdHk7CistIChOU1JlY3QpX2NhcmV0UmVjdEF0Tm9kZTooRE9NTm9kZSAqKW5v
ZGUgb2Zmc2V0OihpbnQpb2Zmc2V0IGFmZmluaXR5OihOU1NlbGVjdGlvbkFmZmluaXR5KWFmZmlu
aXR5OwogLSAoTlNSZWN0KV9maXJzdFJlY3RGb3JET01SYW5nZTooRE9NUmFuZ2UgKilyYW5nZTsK
IC0gKHZvaWQpX3Njcm9sbERPTVJhbmdlVG9WaXNpYmxlOihET01SYW5nZSAqKXJhbmdlOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlRleHRDb21wbGV0aW9uQ29u
dHJvbGxlci5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVGV4dENvbXBsZXRpb25D
b250cm9sbGVyLm1tCmluZGV4IDlhNDRjYzU1Nzc1YjI1MDI1ZWM5ZTkzNDNkNzJjMWE1NzUyZDE5
Y2EuLjQ4YjUwMzU4OWZlNzM0Nzk1MGFhZWQxOGE0MzM2NmRjNjJmN2Q4NDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVGV4dENvbXBsZXRpb25Db250cm9sbGVyLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVGV4dENvbXBsZXRpb25Db250cm9s
bGVyLm1tCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbXBvcnQgIldlYlRleHRDb21wbGV0aW9uQ29u
dHJvbGxlci5oIgogCi0jaW1wb3J0ICJET01Ob2RlSW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTVJh
bmdlSW50ZXJuYWwuaCIKICNpbXBvcnQgIldlYkZyYW1lSW50ZXJuYWwuaCIKICNpbXBvcnQgIldl
YkhUTUxWaWV3SW50ZXJuYWwuaCIKQEAgLTIwNCw3ICsyMDMsNyBAQCB1c2luZyBuYW1lc3BhY2Ug
c3RkOwogICAgICAgICAgICAgQVNTRVJUKCFfb3JpZ2luYWxTdHJpbmcpOyAgICAgICAvLyB0aGlz
IHNob3VsZCBvbmx5IGJlIHNldCBJRkYgd2UgaGF2ZSBhIHBvcHVwIHdpbmRvdwogICAgICAgICAg
ICAgX29yaWdpbmFsU3RyaW5nID0gW1tmcmFtZSBfc3RyaW5nRm9yUmFuZ2U6c2VsZWN0aW9uXSBy
ZXRhaW5dOwogICAgICAgICAgICAgW3NlbGYgX2J1aWxkVUldOwotICAgICAgICAgICAgTlNSZWN0
IHdvcmRSZWN0ID0gW2ZyYW1lIF9jYXJldFJlY3RBdFBvc2l0aW9uOlBvc2l0aW9uKGNvcmUoW3do
b2xlV29yZCBzdGFydENvbnRhaW5lcl0pLCBbd2hvbGVXb3JkIHN0YXJ0T2Zmc2V0XSwgUG9zaXRp
b246OlBvc2l0aW9uSXNPZmZzZXRJbkFuY2hvcikgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0
eURvd25zdHJlYW1dOworICAgICAgICAgICAgTlNSZWN0IHdvcmRSZWN0ID0gW2ZyYW1lIF9jYXJl
dFJlY3RBdE5vZGU6W3dob2xlV29yZCBzdGFydENvbnRhaW5lcl0gb2Zmc2V0Olt3aG9sZVdvcmQg
c3RhcnRPZmZzZXRdIGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtXTsKICAg
ICAgICAgICAgIC8vICsxIHRvIGJlIHVuZGVyIHRoZSB3b3JkLCBub3QgdGhlIGNhcmV0CiAgICAg
ICAgICAgICAvLyBGSVhNRSAtIDM3Njk2NTIgLSBXcm9uZyBwb3NpdGlvbmluZyBmb3IgcmlnaHQg
dG8gbGVmdCBsYW5ndWFnZXMuICBXZSBzaG91bGQgbGluZSB1cCB0aGUgdXBwZXIKICAgICAgICAg
ICAgIC8vIHJpZ2h0IGNvcm5lciB3aXRoIHRoZSBjYXJldCBpbnN0ZWFkIG9mIHVwcGVyIGxlZnQs
IGFuZCB0aGUgKzEgd291bGQgYmUgYSAtMS4K
</data>
<flag name="commit-queue"
          id="73319"
          type_id="3"
          status="-"
          setter="leviw"
    />
          </attachment>
      

    </bug>

</bugzilla>