<?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>195447</bug_id>
          
          <creation_ts>2019-03-07 18:37:36 -0800</creation_ts>
          <short_desc>[JSC] We should have more WithoutTransition functions which are usable for JSGlobalObject initialization</short_desc>
          <delta_ts>2019-03-11 10:23:49 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1513869</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-03-07 18:37:36 -0800</bug_when>
    <thetext>We are seeing transitions in JSGlobalObject initialization.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513929</commentid>
    <comment_count>1</comment_count>
      <attachid>363989</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-03-07 22:42:22 -0800</bug_when>
    <thetext>Created attachment 363989
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513991</commentid>
    <comment_count>2</comment_count>
      <attachid>363989</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2019-03-08 07:21:49 -0800</bug_when>
    <thetext>Comment on attachment 363989
Patch

Nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1514073</commentid>
    <comment_count>3</comment_count>
      <attachid>363989</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-03-08 10:46:25 -0800</bug_when>
    <thetext>Comment on attachment 363989
Patch

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1514103</commentid>
    <comment_count>4</comment_count>
      <attachid>363989</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-08 11:33:58 -0800</bug_when>
    <thetext>Comment on attachment 363989
Patch

Clearing flags on attachment: 363989

Committed r242650: &lt;https://trac.webkit.org/changeset/242650&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1514104</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-08 11:33:59 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1514105</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-03-08 11:34:29 -0800</bug_when>
    <thetext>&lt;rdar://problem/48719776&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1514853</commentid>
    <comment_count>7</comment_count>
      <attachid>363989</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-03-11 10:23:49 -0700</bug_when>
    <thetext>Comment on attachment 363989
Patch

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

&gt; Source/JavaScriptCore/runtime/JSObject.cpp:1933
&gt; +    if (attributes &amp; PropertyAttribute::ReadOnly)
&gt; +        structure-&gt;setContainsReadOnlyProperties();

what would this even mean with an accessor? Perhaps this should be an assert that we&apos;re not read only?

&gt; Source/JavaScriptCore/runtime/NullSetterFunction.h:38
&gt; +        // Since NullSetterFunction is per JSGlobalObject, we use put-without-transition in InternalFunction::finishCreation.

This comment confuses me. You&apos;re using WithStructureTransition below, but &quot;without&quot; in this comment. Can you clarify what&apos;s going on? Can we just discard this comment since it seems contradictory to what the code is doing?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>363989</attachid>
            <date>2019-03-07 22:42:22 -0800</date>
            <delta_ts>2019-03-08 11:33:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195447-20190307224221.patch</filename>
            <type>text/plain</type>
            <size>80341</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyNjM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
OTEyYmRmMjNmMjBiNzZjZmViYmU5NzgwMGRkNjA0MzM2Y2FhZmNjLi40YWMzYjlkMjcwZThlZTU2
ZWY1NWQzYzNiZTM2NTYxMGRlNDVmNTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMTcgQEAKKzIwMTktMDMtMDcgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNv
bT4KKworICAgICAgICBbSlNDXSBXZSBzaG91bGQgaGF2ZSBtb3JlIFdpdGhvdXRUcmFuc2l0aW9u
IGZ1bmN0aW9ucyB3aGljaCBhcmUgdXNhYmxlIGZvciBKU0dsb2JhbE9iamVjdCBpbml0aWFsaXph
dGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1
NDQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhp
cyBwYXRjaCByZWR1Y2VzICMgb2YgdW5uZWNlc3Nhcnkgc3RydWN0dXJlIHRyYW5zaXRpb25zIGlu
IEpTR2xvYmFsT2JqZWN0IGluaXRpYWxpemF0aW9uIHRvIGF2b2lkIHVubmVjZXNzYXJ5IGFsbG9j
YXRpb25zCisgICAgICAgIGNhdXNlZCBieSBTdHJ1Y3R1cmUgdHJhbnNpdGlvbi4gT25lIGV4YW1w
bGUgaXMgV2Vha0Jsb2NrIGFsbG9jYXRpb24gZm9yIFN0cnVjdHVyZVRyYW5zaXRpb25UYWJsZS4K
KyAgICAgICAgVG8gYWNoaWV2ZSB0aGlzLCB3ZSAoMSkgYWRkIHB1dERpcmVjdE5vbkluZGV4QWNj
ZXNzb3JXaXRob3V0VHJhbnNpdGlvbiBhbmQgcHV0RGlyZWN0TmF0aXZlSW50cmluc2ljR2V0dGVy
V2l0aG91dFRyYW5zaXRpb24KKyAgICAgICAgdG8gYWRkIGFjY2Vzc29yIHByb3BlcnRpZXMgd2l0
aG91dCB0cmFuc2l0aW9uLCBhbmQgKDIpIGFkZCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3Ry
dWN0dXJlVHJhbnNpdGlvbiBtb2RlIHRvIEludGVybmFsRnVuY3Rpb246OmZpbmlzaENyZWF0aW9u
CisgICAgICAgIHRvIHVzZSBgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb25gIGluc3RlYWQgb2Yg
YHB1dERpcmVjdGAuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3RQ
cm90b3R5cGUuY3BwOgorICAgICAgICAoSW5zcGVjdG9yOjpKU0luamVjdGVkU2NyaXB0SG9zdFBy
b3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIGluc3BlY3Rvci9KU0phdmFTY3Jp
cHRDYWxsRnJhbWVQcm90b3R5cGUuY3BwOgorICAgICAgICAoSW5zcGVjdG9yOjpKU0phdmFTY3Jp
cHRDYWxsRnJhbWVQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1l
L0FycmF5Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpBcnJheUNvbnN0cnVjdG9yOjpm
aW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9Bc3luY0Z1bmN0aW9uQ29uc3RydWN0
b3IuY3BwOgorICAgICAgICAoSlNDOjpBc3luY0Z1bmN0aW9uQ29uc3RydWN0b3I6OmZpbmlzaENy
ZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0FzeW5jR2VuZXJhdG9yRnVuY3Rpb25Db25zdHJ1
Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkFzeW5jR2VuZXJhdG9yRnVuY3Rpb25Db25zdHJ1Y3Rv
cjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvQmlnSW50Q29uc3RydWN0b3Iu
Y3BwOgorICAgICAgICAoSlNDOjpCaWdJbnRDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgor
ICAgICAgICAqIHJ1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6
Qm9vbGVhbkNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9E
YXRlQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpEYXRlQ29uc3RydWN0b3I6OmZpbmlz
aENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwOgorICAg
ICAgICAoSlNDOjpFcnJvckNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICog
cnVudGltZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6RnVuY3Rpb25D
b25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvRnVuY3Rpb25Q
cm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpGdW5jdGlvblByb3RvdHlwZTo6ZmluaXNoQ3Jl
YXRpb24pOgorICAgICAgICAoSlNDOjpGdW5jdGlvblByb3RvdHlwZTo6YWRkRnVuY3Rpb25Qcm9w
ZXJ0aWVzKToKKyAgICAgICAgKEpTQzo6RnVuY3Rpb25Qcm90b3R5cGU6OmluaXRSZXN0cmljdGVk
UHJvcGVydGllcyk6CisgICAgICAgICogcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5oOgorICAg
ICAgICAqIHJ1bnRpbWUvR2VuZXJhdG9yRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHA6CisgICAgICAg
IChKU0M6OkdlbmVyYXRvckZ1bmN0aW9uQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAg
ICAgICAgKiBydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwOgorICAgICAgICAoSlNDOjpJbnRl
cm5hbEZ1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9JbnRlcm5h
bEZ1bmN0aW9uLmg6CisgICAgICAgICogcnVudGltZS9JbnRsQ29sbGF0b3JDb25zdHJ1Y3Rvci5j
cHA6CisgICAgICAgIChKU0M6OkludGxDb2xsYXRvckNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlv
bik6CisgICAgICAgICogcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5jcHA6
CisgICAgICAgIChKU0M6OkludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yOjpmaW5pc2hDcmVh
dGlvbik6CisgICAgICAgICogcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0Q29uc3RydWN0b3IuY3Bw
OgorICAgICAgICAoSlNDOjpJbnRsTnVtYmVyRm9ybWF0Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0
aW9uKToKKyAgICAgICAgKiBydW50aW1lL0ludGxQbHVyYWxSdWxlc0NvbnN0cnVjdG9yLmNwcDoK
KyAgICAgICAgKEpTQzo6SW50bFBsdXJhbFJ1bGVzQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9u
KToKKyAgICAgICAgKiBydW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5jcHA6CisgICAg
ICAgIChKU0M6OkpTR2VuZXJpY0FycmF5QnVmZmVyQ29uc3RydWN0b3I8c2hhcmluZ01vZGU+Ojpm
aW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9KU0FycmF5QnVmZmVyUHJvdG90eXBl
LmNwcDoKKyAgICAgICAgKEpTQzo6SlNBcnJheUJ1ZmZlclByb3RvdHlwZTo6ZmluaXNoQ3JlYXRp
b24pOgorICAgICAgICAqIHJ1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3Rv
cklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6SlNHZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1
Y3RvcjxWaWV3Q2xhc3M+OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9KU0ds
b2JhbE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAg
ICAgICAgKiBydW50aW1lL0pTT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnB1
dERpcmVjdE5vbkluZGV4QWNjZXNzb3JXaXRob3V0VHJhbnNpdGlvbik6CisgICAgICAgIChKU0M6
OkpTT2JqZWN0OjpwdXREaXJlY3ROYXRpdmVJbnRyaW5zaWNHZXR0ZXJXaXRob3V0VHJhbnNpdGlv
bik6CisgICAgICAgICogcnVudGltZS9KU09iamVjdC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNQ
cm9taXNlQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpKU1Byb21pc2VDb25zdHJ1Y3Rv
cjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvSlNUeXBlZEFycmF5Vmlld0Nv
bnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9y
OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9KU1R5cGVkQXJyYXlWaWV3UHJv
dG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6SlNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZTo6Zmlu
aXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvTWFwQ29uc3RydWN0b3IuY3BwOgorICAg
ICAgICAoSlNDOjpNYXBDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1
bnRpbWUvTWFwUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6TWFwUHJvdG90eXBlOjpmaW5p
c2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmNw
cDoKKyAgICAgICAgKEpTQzo6TmF0aXZlRXJyb3JDb25zdHJ1Y3RvckJhc2U6OmZpbmlzaENyZWF0
aW9uKToKKyAgICAgICAgKiBydW50aW1lL051bGxHZXR0ZXJGdW5jdGlvbi5oOgorICAgICAgICAq
IHJ1bnRpbWUvTnVsbFNldHRlckZ1bmN0aW9uLmg6CisgICAgICAgICogcnVudGltZS9OdW1iZXJD
b25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6Ok51bWJlckNvbnN0cnVjdG9yOjpmaW5pc2hD
cmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHA6CisgICAg
ICAgIChKU0M6Ok9iamVjdENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICog
cnVudGltZS9Qcm94eUNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6UHJveHlDb25zdHJ1
Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvUmVnRXhwQ29uc3RydWN0
b3IuY3BwOgorICAgICAgICAoSlNDOjpSZWdFeHBDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24p
OgorICAgICAgICAqIHJ1bnRpbWUvUmVnRXhwUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6
UmVnRXhwUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9TZXRD
b25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OlNldENvbnN0cnVjdG9yOjpmaW5pc2hDcmVh
dGlvbik6CisgICAgICAgICogcnVudGltZS9TZXRQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlND
OjpTZXRQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL1N0cmlu
Z0NvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6U3RyaW5nQ29uc3RydWN0b3I6OmZpbmlz
aENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL1N5bWJvbENvbnN0cnVjdG9yLmNwcDoKKyAg
ICAgICAgKEpTQzo6U3ltYm9sQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAg
KiBydW50aW1lL1dlYWtNYXBDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OldlYWtNYXBD
b25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvV2Vha1NldENv
bnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6V2Vha1NldENvbnN0cnVjdG9yOjpmaW5pc2hD
cmVhdGlvbik6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0
cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6V2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1
Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHdhc20vanMvV2ViQXNzZW1ibHlJbnN0
YW5jZUNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6V2ViQXNzZW1ibHlJbnN0YW5jZUNv
bnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJs
eUxpbmtFcnJvckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6V2ViQXNzZW1ibHlMaW5r
RXJyb3JDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHdhc20vanMvV2Vi
QXNzZW1ibHlNZW1vcnlDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OldlYkFzc2VtYmx5
TWVtb3J5Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiB3YXNtL2pzL1dl
YkFzc2VtYmx5TW9kdWxlQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpXZWJBc3NlbWJs
eU1vZHVsZUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogd2FzbS9qcy9X
ZWJBc3NlbWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6V2Vi
QXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAg
ICAqIHdhc20vanMvV2ViQXNzZW1ibHlUYWJsZUNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpT
Qzo6V2ViQXNzZW1ibHlUYWJsZUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisKIDIwMTkt
MDMtMDcgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlND
XSBNYWtlIG1vcmUgZmllbGRzIGxhenkgaW4gSlNHbG9iYWxPYmplY3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3RQcm90b3R5
cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0
SG9zdFByb3RvdHlwZS5jcHAKaW5kZXggZjM5NjBkZTk2NzNhMTJjM2MzNmUwYzdmZGMxN2U5N2Yz
MDY1YTIzNy4uMDFmNjFmNGQ2NTQ4ZjFkMzhkYzk0NDMzYmUwZDU1Njk3ZmM5YTA5YyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9z
dFByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0lu
amVjdGVkU2NyaXB0SG9zdFByb3RvdHlwZS5jcHAKQEAgLTc2LDcgKzc2LDcgQEAgdm9pZCBKU0lu
amVjdGVkU2NyaXB0SG9zdFByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmEKICAgICBKU0NfTkFUSVZFX0ZVTkNUSU9OX1dJVEhPVVRfVFJBTlNJVElP
TigicXVlcnlPYmplY3RzIiwganNJbmplY3RlZFNjcmlwdEhvc3RQcm90b3R5cGVGdW5jdGlvblF1
ZXJ5T2JqZWN0cywgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSksIDEpOwogICAgIEpTQ19OQVRJVkVfRlVOQ1RJT05fV0lUSE9VVF9UUkFOU0lUSU9OKCJl
dmFsdWF0ZVdpdGhTY29wZUV4dGVuc2lvbiIsIGpzSW5qZWN0ZWRTY3JpcHRIb3N0UHJvdG90eXBl
RnVuY3Rpb25FdmFsdWF0ZVdpdGhTY29wZUV4dGVuc2lvbiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIDEpOwogCi0gICAgSlNDX05BVElWRV9HRVRU
RVIoImV2YWx1YXRlIiwganNJbmplY3RlZFNjcmlwdEhvc3RQcm90b3R5cGVBdHRyaWJ1dGVFdmFs
dWF0ZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFj
Y2Vzc29yKTsKKyAgICBKU0NfTkFUSVZFX0dFVFRFUl9XSVRIT1VUX1RSQU5TSVRJT04oImV2YWx1
YXRlIiwganNJbmplY3RlZFNjcmlwdEhvc3RQcm90b3R5cGVBdHRyaWJ1dGVFdmFsdWF0ZSwgUHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yKTsK
IH0KIAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc0luamVjdGVkU2NyaXB0SG9zdFBy
b3RvdHlwZUF0dHJpYnV0ZUV2YWx1YXRlKEV4ZWNTdGF0ZSogZXhlYykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90
eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2Fs
bEZyYW1lUHJvdG90eXBlLmNwcAppbmRleCAwZDY5NWQ4YTc4NGY5OWZhYTUyMzIxYjkzMjMwYjZk
ZTMwZGVkYWZhLi42YzRiYTE1MjQ3MTFiNzBlZTNjYjA1ZTk1YTBkNzkwMTJjMjY2M2VjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxG
cmFtZVByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9K
U0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuY3BwCkBAIC02MiwxNSArNjIsMTUgQEAgdm9p
ZCBKU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwg
SlNHbG9iYWxPYmplY3QqIGdsb2IKICAgICBKU0NfTkFUSVZFX0ZVTkNUSU9OX1dJVEhPVVRfVFJB
TlNJVElPTigiZXZhbHVhdGVXaXRoU2NvcGVFeHRlbnNpb24iLCBqc0phdmFTY3JpcHRDYWxsRnJh
bWVQcm90b3R5cGVGdW5jdGlvbkV2YWx1YXRlV2l0aFNjb3BlRXh0ZW5zaW9uLCBzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgMSk7CiAgICAgSlNDX05B
VElWRV9GVU5DVElPTl9XSVRIT1VUX1RSQU5TSVRJT04oInNjb3BlRGVzY3JpcHRpb25zIiwganNK
YXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlRnVuY3Rpb25TY29wZURlc2NyaXB0aW9ucywgc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIDApOwogCi0g
ICAgSlNDX05BVElWRV9HRVRURVIoImNhbGxlciIsIGpzSmF2YVNjcmlwdENhbGxGcmFtZUF0dHJp
YnV0ZUNhbGxlciwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1
dGU6OkFjY2Vzc29yKTsKLSAgICBKU0NfTkFUSVZFX0dFVFRFUigic291cmNlSUQiLCBqc0phdmFT
Y3JpcHRDYWxsRnJhbWVBdHRyaWJ1dGVTb3VyY2VJRCwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yKTsKLSAgICBKU0NfTkFUSVZFX0dFVFRF
UigibGluZSIsIGpzSmF2YVNjcmlwdENhbGxGcmFtZUF0dHJpYnV0ZUxpbmUsIFByb3BlcnR5QXR0
cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpBY2Nlc3Nvcik7Ci0gICAgSlND
X05BVElWRV9HRVRURVIoImNvbHVtbiIsIGpzSmF2YVNjcmlwdENhbGxGcmFtZUF0dHJpYnV0ZUNv
bHVtbiwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFj
Y2Vzc29yKTsKLSAgICBKU0NfTkFUSVZFX0dFVFRFUigiZnVuY3Rpb25OYW1lIiwganNKYXZhU2Ny
aXB0Q2FsbEZyYW1lQXR0cmlidXRlRnVuY3Rpb25OYW1lLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6QWNjZXNzb3IpOwotICAgIEpTQ19OQVRJVkVfR0VU
VEVSKCJzY29wZUNoYWluIiwganNKYXZhU2NyaXB0Q2FsbEZyYW1lQXR0cmlidXRlU2NvcGVDaGFp
biwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vz
c29yKTsKLSAgICBKU0NfTkFUSVZFX0dFVFRFUigidGhpc09iamVjdCIsIGpzSmF2YVNjcmlwdENh
bGxGcmFtZUF0dHJpYnV0ZVRoaXNPYmplY3QsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8
IFByb3BlcnR5QXR0cmlidXRlOjpBY2Nlc3Nvcik7Ci0gICAgSlNDX05BVElWRV9HRVRURVIoInR5
cGUiLCBqc0phdmFTY3JpcHRDYWxsRnJhbWVBdHRyaWJ1dGVUeXBlLCBQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6QWNjZXNzb3IpOwotICAgIEpTQ19OQVRJ
VkVfR0VUVEVSKCJpc1RhaWxEZWxldGVkIiwganNKYXZhU2NyaXB0Q2FsbEZyYW1lSXNUYWlsRGVs
ZXRlZCwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFj
Y2Vzc29yKTsKKyAgICBKU0NfTkFUSVZFX0dFVFRFUl9XSVRIT1VUX1RSQU5TSVRJT04oImNhbGxl
ciIsIGpzSmF2YVNjcmlwdENhbGxGcmFtZUF0dHJpYnV0ZUNhbGxlciwgUHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yKTsKKyAgICBKU0NfTkFU
SVZFX0dFVFRFUl9XSVRIT1VUX1RSQU5TSVRJT04oInNvdXJjZUlEIiwganNKYXZhU2NyaXB0Q2Fs
bEZyYW1lQXR0cmlidXRlU291cmNlSUQsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFBy
b3BlcnR5QXR0cmlidXRlOjpBY2Nlc3Nvcik7CisgICAgSlNDX05BVElWRV9HRVRURVJfV0lUSE9V
VF9UUkFOU0lUSU9OKCJsaW5lIiwganNKYXZhU2NyaXB0Q2FsbEZyYW1lQXR0cmlidXRlTGluZSwg
UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29y
KTsKKyAgICBKU0NfTkFUSVZFX0dFVFRFUl9XSVRIT1VUX1RSQU5TSVRJT04oImNvbHVtbiIsIGpz
SmF2YVNjcmlwdENhbGxGcmFtZUF0dHJpYnV0ZUNvbHVtbiwgUHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yKTsKKyAgICBKU0NfTkFUSVZFX0dF
VFRFUl9XSVRIT1VUX1RSQU5TSVRJT04oImZ1bmN0aW9uTmFtZSIsIGpzSmF2YVNjcmlwdENhbGxG
cmFtZUF0dHJpYnV0ZUZ1bmN0aW9uTmFtZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwg
UHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yKTsKKyAgICBKU0NfTkFUSVZFX0dFVFRFUl9XSVRI
T1VUX1RSQU5TSVRJT04oInNjb3BlQ2hhaW4iLCBqc0phdmFTY3JpcHRDYWxsRnJhbWVBdHRyaWJ1
dGVTY29wZUNoYWluLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJp
YnV0ZTo6QWNjZXNzb3IpOworICAgIEpTQ19OQVRJVkVfR0VUVEVSX1dJVEhPVVRfVFJBTlNJVElP
TigidGhpc09iamVjdCIsIGpzSmF2YVNjcmlwdENhbGxGcmFtZUF0dHJpYnV0ZVRoaXNPYmplY3Qs
IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpBY2Nlc3Nv
cik7CisgICAgSlNDX05BVElWRV9HRVRURVJfV0lUSE9VVF9UUkFOU0lUSU9OKCJ0eXBlIiwganNK
YXZhU2NyaXB0Q2FsbEZyYW1lQXR0cmlidXRlVHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yKTsKKyAgICBKU0NfTkFUSVZFX0dFVFRF
Ul9XSVRIT1VUX1RSQU5TSVRJT04oImlzVGFpbERlbGV0ZWQiLCBqc0phdmFTY3JpcHRDYWxsRnJh
bWVJc1RhaWxEZWxldGVkLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6QWNjZXNzb3IpOwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpz
SmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZUZ1bmN0aW9uRXZhbHVhdGVXaXRoU2NvcGVFeHRl
bnNpb24oRXhlY1N0YXRlKiBleGVjKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcAppbmRleCBkODJjZWYzMDQzNDhhZjA4MmQ4MzcyOTE2
Y2UwMmExYTcxNjcxMmM3Li40ZTM3OWQzYTI4YzY5YWVjNzljYjliZWRiMmQyNGE4NjdjM2E0NDgw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVj
dG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVj
dG9yLmNwcApAQCAtNjAsMTAgKzYwLDEwIEBAIEFycmF5Q29uc3RydWN0b3I6OkFycmF5Q29uc3Ry
dWN0b3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKIAogdm9pZCBBcnJheUNvbnN0cnVj
dG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IEFycmF5UHJvdG90eXBlKiBhcnJheVByb3RvdHlwZSwgR2V0dGVyU2V0dGVyKiBzcGVjaWVzU3lt
Ym9sKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCBhcnJheVByb3RvdHlwZS0+Y2xh
c3NJbmZvKHZtKS0+Y2xhc3NOYW1lKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgdm0u
cHJvcGVydHlOYW1lcy0+QXJyYXkuc3RyaW5nKCksIE5hbWVWaXNpYmlsaXR5OjpWaXNpYmxlLCBO
YW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CiAgICAgcHV0RGly
ZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgYXJy
YXlQcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmli
dXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKICAgICBwdXRE
aXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051
bWJlcigxKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtKTsKLSAgICBwdXREaXJlY3ROb25JbmRleEFjY2Vzc29yKHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5zcGVjaWVzU3ltYm9sLCBzcGVjaWVzU3ltYm9sLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6
QWNjZXNzb3IgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pOworICAgIHB1dERpcmVjdE5vbkluZGV4QWNjZXNzb3JXaXRob3V0VHJhbnNp
dGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+c3BlY2llc1N5bWJvbCwgc3BlY2llc1N5bWJvbCwg
UHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5
IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBKU0NfQlVJTFRJTl9GVU5DVElP
Tl9XSVRIT1VUX1RSQU5TSVRJT04odm0ucHJvcGVydHlOYW1lcy0+aXNBcnJheSwgYXJyYXlDb25z
dHJ1Y3RvcklzQXJyYXlDb2RlR2VuZXJhdG9yLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0FzeW5jRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Bc3luY0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwCmluZGV4IGRh
NjRkZWExYzIzNzk1Y2JlYWRjNTdlZjcxYmIzNzRmOTYwZGE2NDUuLmM3NzhhMDBjODkwYTk4YWM0
MmVkMGFiMDgwZDlmNjQ3MTE5M2E3YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0FzeW5jRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQXN5bmNGdW5jdGlvbkNvbnN0cnVjdG9yLmNwcApAQCAtNTUsNyAr
NTUsNyBAQCBBc3luY0Z1bmN0aW9uQ29uc3RydWN0b3I6OkFzeW5jRnVuY3Rpb25Db25zdHJ1Y3Rv
cihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQogCiB2b2lkIEFzeW5jRnVuY3Rpb25Db25z
dHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBBc3luY0Z1bmN0aW9uUHJvdG90eXBlKiBw
cm90b3R5cGUpCiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sICJBc3luY0Z1bmN0aW9u
Iik7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sICJBc3luY0Z1bmN0aW9uIl9zLCBOYW1l
VmlzaWJpbGl0eTo6VmlzaWJsZSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRy
YW5zaXRpb24pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5wcm90b3R5cGUsIHByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVt
IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVh
ZE9ubHkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQXN5bmNHZW5lcmF0b3JGdW5jdGlvbkNvbnN0cnVjdG9yLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FzeW5jR2VuZXJhdG9yRnVuY3Rpb25Db25z
dHJ1Y3Rvci5jcHAKaW5kZXggOTEyN2FkOWNiMzcyNWQ3OGFiZWQ2MjA2MzcyMTVmYzdhODUyYTg2
Ni4uOWEzOTM4NzZlOGUzNTMxZWIyOTdiMmE0YzU0MjZiNTA4N2IwODUyZCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXN5bmNHZW5lcmF0b3JGdW5jdGlvbkNvbnN0
cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bc3luY0dlbmVy
YXRvckZ1bmN0aW9uQ29uc3RydWN0b3IuY3BwCkBAIC01NSw3ICs1NSw3IEBAIEFzeW5jR2VuZXJh
dG9yRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6QXN5bmNHZW5lcmF0b3JGdW5jdGlvbkNvbnN0cnVjdG9y
KFZNJiB2bSwgU3RyCiAKIHZvaWQgQXN5bmNHZW5lcmF0b3JGdW5jdGlvbkNvbnN0cnVjdG9yOjpm
aW5pc2hDcmVhdGlvbihWTSYgdm0sIEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUqIHBy
b3RvdHlwZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgIkFzeW5jR2VuZXJhdG9y
RnVuY3Rpb24iKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgIkFzeW5jR2VuZXJhdG9y
RnVuY3Rpb24iX3MsIE5hbWVWaXNpYmlsaXR5OjpWaXNpYmxlLCBOYW1lQWRkaXRpb25Nb2RlOjpX
aXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRp
b24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgcHJvdG90eXBlLCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3Bl
cnR5QXR0cmlidXRlOjpSZWFkT25seSk7CiAKICAgICAvLyBOdW1iZXIgb2YgYXJndW1lbnRzIGZv
ciBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QmlnSW50Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmln
SW50Q29uc3RydWN0b3IuY3BwCmluZGV4IGJhOTJiYTkxNzk1ZWVkMjY5ODg1YWUxOTBlNDE0NThl
MDQ5OGFiMzMuLjE5YTMyNWUyYjRjYTM3NWIxMWMzYjUxZmY5NThhMTYwMWVkYTkyMmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JpZ0ludENvbnN0cnVjdG9yLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CaWdJbnRDb25zdHJ1Y3Rvci5j
cHAKQEAgLTY2LDEyICs2NiwxMSBAQCBCaWdJbnRDb25zdHJ1Y3Rvcjo6QmlnSW50Q29uc3RydWN0
b3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKIAogdm9pZCBCaWdJbnRDb25zdHJ1Y3Rv
cjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBCaWdJbnRQcm90b3R5cGUqIGJpZ0ludFByb3RvdHlw
ZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgQmlnSW50UHJvdG90eXBlOjppbmZv
KCktPmNsYXNzTmFtZSk7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sICJCaWdJbnQiX3Ms
IE5hbWVWaXNpYmlsaXR5OjpWaXNpYmxlLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0
dXJlVHJhbnNpdGlvbik7CiAgICAgQVNTRVJUKGluaGVyaXRzKHZtLCBpbmZvKCkpKTsKIAogICAg
IHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5
cGUsIGJpZ0ludFByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwog
ICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5n
dGgsIGpzTnVtYmVyKDEpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0pOwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+
bmFtZSwganNOb250cml2aWFsU3RyaW5nKCZ2bSwgU3RyaW5nKCJCaWdJbnQiX3MpKSwgUHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0K
IAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEZ1bmN0aW9ucyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Cb29sZWFuQ29uc3RydWN0b3IuY3BwCmluZGV4IGUzMjM3OGZmYzk3YWUwOWNhNjA3ODU5ODY5
NWUzYzMzNWNjMTY0MTcuLjRlYjk2MDA3NzBjNjRjNDIyZjExZTQxNWJlZDhkODhmOTg4NWY5ODIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1
Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0
cnVjdG9yLmNwcApAQCAtNTcsNyArNTcsNyBAQCBCb29sZWFuQ29uc3RydWN0b3I6OkJvb2xlYW5D
b25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQogCiB2b2lkIEJvb2xlYW5D
b25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBCb29sZWFuUHJvdG90eXBlKiBib29s
ZWFuUHJvdG90eXBlKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCBib29sZWFuUHJv
dG90eXBlLT5jbGFzc0luZm8odm0pLT5jbGFzc05hbWUpOworICAgIEJhc2U6OmZpbmlzaENyZWF0
aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5Cb29sZWFuLnN0cmluZygpLCBOYW1lVmlzaWJpbGl0
eTo6VmlzaWJsZSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24p
OwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5w
cm90b3R5cGUsIGJvb2xlYW5Qcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8
IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1l
cy0+bGVuZ3RoLCBqc051bWJlcigxKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwCmluZGV4IDI1ZjlmMDIxNmQyYzVmZGRkODNi
Yzc2YzZmOGEzOGRiYjQ1ZDRlODQuLjE4Nzg3YWVlMDNjYWNjZmJhY2RmNWRhNDE1ZmIwOGFkNDli
MjE1ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25z
dHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0
cnVjdG9yLmNwcApAQCAtNzgsNyArNzgsNyBAQCBEYXRlQ29uc3RydWN0b3I6OkRhdGVDb25zdHJ1
Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQogCiB2b2lkIERhdGVDb25zdHJ1Y3Rv
cjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBEYXRlUHJvdG90eXBlKiBkYXRlUHJvdG90eXBlKQog
ewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAiRGF0ZSIpOworICAgIEJhc2U6OmZpbmlz
aENyZWF0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5EYXRlLnN0cmluZygpLCBOYW1lVmlzaWJp
bGl0eTo6VmlzaWJsZSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRp
b24pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVz
LT5wcm90b3R5cGUsIGRhdGVQcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8
IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1l
cy0+bGVuZ3RoLCBqc051bWJlcig3KSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggZTQ0M2RkYjA4NjdiNTkyZDc5
Nzc2YWQ3NWE5YjA3MTM1OWZiMDMyNi4uZGE2OTExNmI0NjQ2NjU3Yzg4N2NiNWQyODljNTQyZTg3
ODJmMGJlZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JD
b25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JD
b25zdHJ1Y3Rvci5jcHAKQEAgLTQzLDcgKzQzLDcgQEAgRXJyb3JDb25zdHJ1Y3Rvcjo6RXJyb3JD
b25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQogCiB2b2lkIEVycm9yQ29u
c3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgRXJyb3JQcm90b3R5cGUqIGVycm9yUHJv
dG90eXBlKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAiRXJyb3IiX3MpOworICAg
IEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5FcnJvci5zdHJpbmco
KSwgTmFtZVZpc2liaWxpdHk6OlZpc2libGUsIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1
Y3R1cmVUcmFuc2l0aW9uKTsKICAgICAvLyBFQ01BIDE1LjExLjMuMSBFcnJvci5wcm90b3R5cGUK
ICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJv
dG90eXBlLCBlcnJvclByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkp
OwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5s
ZW5ndGgsIGpzTnVtYmVyKDEpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmNwcAppbmRleCBiOWU0MmJmYzY0NWU3OWU3MThi
YWU3YzQzZTU5MTVkODE1ZGQ1Y2UyLi5hMmMwYWQ5YzM5MzM3NTg1OWY0MjA0NTJlNzdmOGNlYTZh
YmM3M2ZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlv
bkNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5j
dGlvbkNvbnN0cnVjdG9yLmNwcApAQCAtNTgsNyArNTgsNyBAQCBGdW5jdGlvbkNvbnN0cnVjdG9y
OjpGdW5jdGlvbkNvbnN0cnVjdG9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAKIHZv
aWQgRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBGdW5jdGlvblBy
b3RvdHlwZSogZnVuY3Rpb25Qcm90b3R5cGUpCiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24o
dm0sIGZ1bmN0aW9uUHJvdG90eXBlLT5jbGFzc0luZm8oKS0+Y2xhc3NOYW1lKTsKKyAgICBCYXNl
OjpmaW5pc2hDcmVhdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+RnVuY3Rpb24uc3RyaW5nKCks
IE5hbWVWaXNpYmlsaXR5OjpWaXNpYmxlLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0
dXJlVHJhbnNpdGlvbik7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnBy
b3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgZnVuY3Rpb25Qcm90b3R5cGUsIFByb3BlcnR5QXR0cmli
dXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlB
dHRyaWJ1dGU6OlJlYWRPbmx5KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwg
dm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigxKSwgUHJvcGVydHlBdHRyaWJ1dGU6
OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmNwcAppbmRleCA2
MTA1ZTA0MzBiYjY0MjJkMjU2ZTAzYzM1NzExZmJhYWNiYmY1MjFiLi4yY2VjN2Q2NzcxNzFjMmUx
NmYyMTU3ODNlZWQ1YmM5Mjc0MzdmYmExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuY3BwCkBAIC01MiwxNCArNTIsMTIgQEAgRnVu
Y3Rpb25Qcm90b3R5cGU6OkZ1bmN0aW9uUHJvdG90eXBlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUpCiAKIHZvaWQgRnVuY3Rpb25Qcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwg
Y29uc3QgU3RyaW5nJiBuYW1lKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCBuYW1l
KTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgbmFtZSwgTmFtZVZpc2liaWxpdHk6OlZp
c2libGUsIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAg
ICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3Ro
LCBqc051bWJlcigwKSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQogCi12
b2lkIEZ1bmN0aW9uUHJvdG90eXBlOjphZGRGdW5jdGlvblByb3BlcnRpZXMoRXhlY1N0YXRlKiBl
eGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0Z1bmN0aW9uKiogY2FsbEZ1bmN0
aW9uLCBKU0Z1bmN0aW9uKiogYXBwbHlGdW5jdGlvbiwgSlNGdW5jdGlvbioqIGhhc0luc3RhbmNl
U3ltYm9sRnVuY3Rpb24pCit2b2lkIEZ1bmN0aW9uUHJvdG90eXBlOjphZGRGdW5jdGlvblByb3Bl
cnRpZXMoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0Z1bmN0aW9uKiog
Y2FsbEZ1bmN0aW9uLCBKU0Z1bmN0aW9uKiogYXBwbHlGdW5jdGlvbiwgSlNGdW5jdGlvbioqIGhh
c0luc3RhbmNlU3ltYm9sRnVuY3Rpb24pCiB7Ci0gICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKLQog
ICAgIEpTRnVuY3Rpb24qIHRvU3RyaW5nRnVuY3Rpb24gPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0s
IGdsb2JhbE9iamVjdCwgMCwgdm0ucHJvcGVydHlOYW1lcy0+dG9TdHJpbmcuc3RyaW5nKCksIGZ1
bmN0aW9uUHJvdG9GdW5jVG9TdHJpbmcpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT50b1N0cmluZywgdG9TdHJpbmdGdW5jdGlvbiwgc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpOwogCkBAIC03MSwx
MiArNjksMTEgQEAgdm9pZCBGdW5jdGlvblByb3RvdHlwZTo6YWRkRnVuY3Rpb25Qcm9wZXJ0aWVz
KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGcKICAgICBwdXREaXJlY3RXaXRob3V0
VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+aGFzSW5zdGFuY2VTeW1ib2wsICpoYXNJ
bnN0YW5jZVN5bWJvbEZ1bmN0aW9uLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7
CiB9CiAgICAgCi12b2lkIEZ1bmN0aW9uUHJvdG90eXBlOjppbml0UmVzdHJpY3RlZFByb3BlcnRp
ZXMoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQordm9pZCBG
dW5jdGlvblByb3RvdHlwZTo6aW5pdFJlc3RyaWN0ZWRQcm9wZXJ0aWVzKFZNJiB2bSwgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAg
IEdldHRlclNldHRlciogZXJyb3JHZXR0ZXJTZXR0ZXIgPSBnbG9iYWxPYmplY3QtPnRocm93VHlw
ZUVycm9yQXJndW1lbnRzQ2FsbGVlQW5kQ2FsbGVyR2V0dGVyU2V0dGVyKCk7Ci0gICAgcHV0RGly
ZWN0QWNjZXNzb3IoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+Y2FsbGVyLCBlcnJvckdldHRlclNl
dHRlciwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFj
Y2Vzc29yKTsKLSAgICBwdXREaXJlY3RBY2Nlc3NvcihleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5h
cmd1bWVudHMsIGVycm9yR2V0dGVyU2V0dGVyLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0g
fCBQcm9wZXJ0eUF0dHJpYnV0ZTo6QWNjZXNzb3IpOworICAgIHB1dERpcmVjdE5vbkluZGV4QWNj
ZXNzb3JXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y2FsbGVyLCBlcnJv
ckdldHRlclNldHRlciwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRy
aWJ1dGU6OkFjY2Vzc29yKTsKKyAgICBwdXREaXJlY3ROb25JbmRleEFjY2Vzc29yV2l0aG91dFRy
YW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmFyZ3VtZW50cywgZXJyb3JHZXR0ZXJTZXR0
ZXIsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpBY2Nl
c3Nvcik7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25Qcm90b0Z1
bmNUb1N0cmluZyhFeGVjU3RhdGUqIGV4ZWMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaAppbmRleCAxMDg5OWJkYjk1MjA0YWU3ODQ3OTdl
OTBmOGY5NzFhNzk0YTA0ZWMxLi45YzZkMzc4OTJjZGE4OTczN2IzZmRkYzhlZmZlZDI3MmRkZDFh
ZGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblBy
b3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJv
dG90eXBlLmgKQEAgLTM1LDkgKzM1LDkgQEAgY2xhc3MgRnVuY3Rpb25Qcm90b3R5cGUgZmluYWwg
OiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAgICAgICAgIHJldHVybiBwcm90b3R5cGU7CiAg
ICAgfQogCi0gICAgdm9pZCBhZGRGdW5jdGlvblByb3BlcnRpZXMoRXhlY1N0YXRlKiwgSlNHbG9i
YWxPYmplY3QqLCBKU0Z1bmN0aW9uKiogY2FsbEZ1bmN0aW9uLCBKU0Z1bmN0aW9uKiogYXBwbHlG
dW5jdGlvbiwgSlNGdW5jdGlvbioqIGhhc0luc3RhbmNlU3ltYm9sRnVuY3Rpb24pOworICAgIHZv
aWQgYWRkRnVuY3Rpb25Qcm9wZXJ0aWVzKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU0Z1bmN0aW9u
KiogY2FsbEZ1bmN0aW9uLCBKU0Z1bmN0aW9uKiogYXBwbHlGdW5jdGlvbiwgSlNGdW5jdGlvbioq
IGhhc0luc3RhbmNlU3ltYm9sRnVuY3Rpb24pOwogCi0gICAgdm9pZCBpbml0UmVzdHJpY3RlZFBy
b3BlcnRpZXMoRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqKTsKKyAgICB2b2lkIGluaXRSZXN0
cmljdGVkUHJvcGVydGllcyhWTSYsIEpTR2xvYmFsT2JqZWN0Kik7CiAKICAgICBzdGF0aWMgU3Ry
dWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBKU1ZhbHVlIHByb3RvKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0dlbmVyYXRvckZ1bmN0aW9uQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvR2VuZXJhdG9yRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKaW5k
ZXggNDY5NDZkNmIxMmU1ZDVkZDViZDVlOGJkNTA5ODhlMzE1YTNlOGM5Yi4uZjNmZWNiM2RlMzRi
YTM5OTYwNDBkMmI0ODgzNDQ1YmI1YTJlZTA0OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvR2VuZXJhdG9yRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR2VuZXJhdG9yRnVuY3Rpb25Db25zdHJ1Y3Rvci5j
cHAKQEAgLTU1LDcgKzU1LDcgQEAgR2VuZXJhdG9yRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6R2VuZXJh
dG9yRnVuY3Rpb25Db25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3QKIAogdm9pZCBHZW5l
cmF0b3JGdW5jdGlvbkNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEdlbmVyYXRv
ckZ1bmN0aW9uUHJvdG90eXBlKiBnZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSkKIHsKLSAgICBC
YXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgIkdlbmVyYXRvckZ1bmN0aW9uIik7CisgICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24odm0sICJHZW5lcmF0b3JGdW5jdGlvbiJfcywgTmFtZVZpc2liaWxpdHk6
OlZpc2libGUsIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsK
ICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJv
dG90eXBlLCBnZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0
ZTo6UmVhZE9ubHkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9u
bHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcAppbmRleCBhMDNiNTJiYzE5
MTU1M2FmMzI4YzFjMzU4ZWI5Y2MwM2IwYzU2MmY2Li42NzcxOGUyNmU5N2JjNDE3OTlhM2NjZDM3
MGI4ODNiNGFiNjU5ZWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcApAQCAtNDUsNyArNDUsNyBAQCBJbnRlcm5hbEZ1bmN0aW9u
OjpJbnRlcm5hbEZ1bmN0aW9uKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIE5hdGl2ZUZ1
bmN0aW9uCiAgICAgQVNTRVJUKG1fZnVuY3Rpb25Gb3JDb25zdHJ1Y3QpOwogfQogCi12b2lkIElu
dGVybmFsRnVuY3Rpb246OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgY29uc3QgU3RyaW5nJiBuYW1l
LCBOYW1lVmlzaWJpbGl0eSBuYW1lVmlzaWJpbGl0eSkKK3ZvaWQgSW50ZXJuYWxGdW5jdGlvbjo6
ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBjb25zdCBTdHJpbmcmIG5hbWUsIE5hbWVWaXNpYmlsaXR5
IG5hbWVWaXNpYmlsaXR5LCBOYW1lQWRkaXRpb25Nb2RlIG5hbWVBZGRpdGlvbk1vZGUpCiB7CiAg
ICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgIEFTU0VSVChqc0R5bmFtaWNDYXN0PElu
dGVybmFsRnVuY3Rpb24qPih2bSwgdGhpcykpOwpAQCAtNTQsOCArNTQsMTIgQEAgdm9pZCBJbnRl
cm5hbEZ1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIGNvbnN0IFN0cmluZyYgbmFtZSwg
TmFtZVZpc2liaWxpdHkKICAgICBBU1NFUlQodHlwZSgpID09IEludGVybmFsRnVuY3Rpb25UeXBl
KTsKICAgICBKU1N0cmluZyogbmFtZVN0cmluZyA9IGpzU3RyaW5nKCZ2bSwgbmFtZSk7CiAgICAg
bV9vcmlnaW5hbE5hbWUuc2V0KHZtLCB0aGlzLCBuYW1lU3RyaW5nKTsKLSAgICBpZiAobmFtZVZp
c2liaWxpdHkgPT0gTmFtZVZpc2liaWxpdHk6OlZpc2libGUpCi0gICAgICAgIHB1dERpcmVjdCh2
bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgbmFtZVN0cmluZywgUHJvcGVydHlBdHRyaWJ1dGU6
OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBpZiAobmFtZVZp
c2liaWxpdHkgPT0gTmFtZVZpc2liaWxpdHk6OlZpc2libGUpIHsKKyAgICAgICAgaWYgKG5hbWVB
ZGRpdGlvbk1vZGUgPT0gTmFtZUFkZGl0aW9uTW9kZTo6V2l0aFN0cnVjdHVyZVRyYW5zaXRpb24p
CisgICAgICAgICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIG5hbWVT
dHJpbmcsIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHB1dERpcmVjdFdpdGhvdXRUcmFu
c2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBuYW1lU3RyaW5nLCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIH0K
IH0KIAogdm9pZCBJbnRlcm5hbEZ1bmN0aW9uOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwg
U2xvdFZpc2l0b3ImIHZpc2l0b3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9JbnRlcm5hbEZ1bmN0aW9uLmgKaW5kZXggODkwOTdkOWY4NDQ1YzhhZTE5NWQ1ODllZDlkY2I1
NDk1MGUzMGRhMS4uNWViNTU3OWEyMTIwOWRlNTkzZTAzOTAzMzg5N2YxMTExMGQ2MGU4NiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uaApA
QCAtNzksNyArNzksOCBAQCBjbGFzcyBJbnRlcm5hbEZ1bmN0aW9uIDogcHVibGljIEpTRGVzdHJ1
Y3RpYmxlT2JqZWN0IHsKICAgICBKU19FWFBPUlRfUFJJVkFURSBJbnRlcm5hbEZ1bmN0aW9uKFZN
JiwgU3RydWN0dXJlKiwgTmF0aXZlRnVuY3Rpb24gZnVuY3Rpb25Gb3JDYWxsLCBOYXRpdmVGdW5j
dGlvbiBmdW5jdGlvbkZvckNvbnN0cnVjdCk7CiAKICAgICBlbnVtIGNsYXNzIE5hbWVWaXNpYmls
aXR5IHsgVmlzaWJsZSwgQW5vbnltb3VzIH07Ci0gICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBm
aW5pc2hDcmVhdGlvbihWTSYsIGNvbnN0IFN0cmluZyYgbmFtZSwgTmFtZVZpc2liaWxpdHkgPSBO
YW1lVmlzaWJpbGl0eTo6VmlzaWJsZSk7CisgICAgZW51bSBjbGFzcyBOYW1lQWRkaXRpb25Nb2Rl
IHsgV2l0aFN0cnVjdHVyZVRyYW5zaXRpb24sIFdpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uIH07
CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIGNvbnN0IFN0
cmluZyYgbmFtZSwgTmFtZVZpc2liaWxpdHkgPSBOYW1lVmlzaWJpbGl0eTo6VmlzaWJsZSwgTmFt
ZUFkZGl0aW9uTW9kZSA9IE5hbWVBZGRpdGlvbk1vZGU6OldpdGhTdHJ1Y3R1cmVUcmFuc2l0aW9u
KTsKIAogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN1YmNs
YXNzU3RydWN0dXJlU2xvdyhFeGVjU3RhdGUqLCBKU1ZhbHVlIG5ld1RhcmdldCwgU3RydWN0dXJl
Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxDb2xs
YXRvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxD
b2xsYXRvckNvbnN0cnVjdG9yLmNwcAppbmRleCBkN2I0MzkwYjQ2MjE4YjQzYzg0ZjMzZjMwNzAx
NGYxNGZiYzg5MDI5Li40M2Y0NzhlMTk4NGNkZGViZmZkOGJhOTJjODViZWNlNzMwMDAxYTdlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsQ29sbGF0b3JDb25z
dHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxh
dG9yQ29uc3RydWN0b3IuY3BwCkBAIC03OSw3ICs3OSw3IEBAIEludGxDb2xsYXRvckNvbnN0cnVj
dG9yOjpJbnRsQ29sbGF0b3JDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJl
KQogCiB2b2lkIEludGxDb2xsYXRvckNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0s
IEludGxDb2xsYXRvclByb3RvdHlwZSogY29sbGF0b3JQcm90b3R5cGUpCiB7Ci0gICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24odm0sICJDb2xsYXRvciJfcyk7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRp
b24odm0sICJDb2xsYXRvciJfcywgTmFtZVZpc2liaWxpdHk6OlZpc2libGUsIE5hbWVBZGRpdGlv
bk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAgICBwdXREaXJlY3RXaXRob3V0
VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBjb2xsYXRvclByb3Rv
dHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwogICAgIHB1dERpcmVjdFdp
dGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDAp
LCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0pOwogICAgIGNvbGxhdG9yUHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2
bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3IsIHRoaXMsIHN0YXRpY19jYXN0PHVuc2ln
bmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdENvbnN0cnVj
dG9yLmNwcAppbmRleCBjZDY2OTU2ZDE4M2RlMGU2YWI4ODI4NzQyMzk1MTViN2E3YjdlYmI0Li5i
NTRlY2IwY2IwZWNjYTY0YzNhZmI4YTZlMjJkYjU0NmFhMzM1YjkxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0
Q29uc3RydWN0b3IuY3BwCkBAIC03OSw3ICs3OSw3IEBAIEludGxEYXRlVGltZUZvcm1hdENvbnN0
cnVjdG9yOjpJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSoK
IAogdm9pZCBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0m
IHZtLCBJbnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5cGUqIGRhdGVUaW1lRm9ybWF0UHJvdG90eXBl
KQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAiRGF0ZVRpbWVGb3JtYXQiX3MpOwor
ICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAiRGF0ZVRpbWVGb3JtYXQiX3MsIE5hbWVWaXNp
YmlsaXR5OjpWaXNpYmxlLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNp
dGlvbik7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFt
ZXMtPnByb3RvdHlwZSwgZGF0ZVRpbWVGb3JtYXRQcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRl
OjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRy
aWJ1dGU6OlJlYWRPbmx5KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0u
cHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJl
YWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBkYXRlVGltZUZvcm1h
dFByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFt
ZXMtPmNvbnN0cnVjdG9yLCB0aGlzLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9JbnRsTnVtYmVyRm9ybWF0Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdENvbnN0cnVjdG9yLmNwcAppbmRleCAzMDRkMjI0
NTA4OWQ3YjQ0N2ExOTcxNjdhZTk0YTMyYzU1NjJmMjlmLi44NWNkNjQzZDVlNjM5ODAxMjk5MGI5
YWI4ZTQ0YTFkN2QwNWY2ZTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9JbnRsTnVtYmVyRm9ybWF0Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXRDb25zdHJ1Y3Rvci5jcHAKQEAgLTc5LDcg
Kzc5LDcgQEAgSW50bE51bWJlckZvcm1hdENvbnN0cnVjdG9yOjpJbnRsTnVtYmVyRm9ybWF0Q29u
c3RydWN0b3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnUKIAogdm9pZCBJbnRsTnVtYmVyRm9ybWF0
Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSW50bE51bWJlckZvcm1hdFByb3Rv
dHlwZSogbnVtYmVyRm9ybWF0UHJvdG90eXBlKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9u
KHZtLCAiTnVtYmVyRm9ybWF0Il9zKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgIk51
bWJlckZvcm1hdCJfcywgTmFtZVZpc2liaWxpdHk6OlZpc2libGUsIE5hbWVBZGRpdGlvbk1vZGU6
OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNp
dGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBudW1iZXJGb3JtYXRQcm90b3R5
cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250
RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKICAgICBwdXREaXJlY3RXaXRo
b3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwg
UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVt
KTsKICAgICBudW1iZXJGb3JtYXRQcm90b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvciwgdGhpcywgc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzQ29uc3RydWN0b3IuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzQ29uc3RydWN0b3Iu
Y3BwCmluZGV4IGFjZTFmNzM5MjU0ZjBlNmI0Nzk5OWVjNmUxOThiYWQxOGI3MTk2ZjIuLmIwMjIy
NTBjYWYxMWFmM2MzOTUwYTFlZjEwMTM5ZGQ0OGMzODllZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxQbHVyYWxSdWxlc0NvbnN0cnVjdG9yLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsUGx1cmFsUnVsZXNDb25zdHJ1Y3Rv
ci5jcHAKQEAgLTc3LDcgKzc3LDcgQEAgSW50bFBsdXJhbFJ1bGVzQ29uc3RydWN0b3I6OkludGxQ
bHVyYWxSdWxlc0NvbnN0cnVjdG9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3QKIAogdm9pZCBJ
bnRsUGx1cmFsUnVsZXNDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBJbnRsUGx1
cmFsUnVsZXNQcm90b3R5cGUqIHBsdXJhbFJ1bGVzUHJvdG90eXBlKQogewotICAgIEJhc2U6OmZp
bmlzaENyZWF0aW9uKHZtLCAiUGx1cmFsUnVsZXMiX3MpOworICAgIEJhc2U6OmZpbmlzaENyZWF0
aW9uKHZtLCAiUGx1cmFsUnVsZXMiX3MsIE5hbWVWaXNpYmlsaXR5OjpWaXNpYmxlLCBOYW1lQWRk
aXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CiAgICAgcHV0RGlyZWN0V2l0
aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgcGx1cmFsUnVs
ZXNQcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmli
dXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKICAgICBwdXRE
aXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051
bWJlcigwKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtKTsKICAgICBwbHVyYWxSdWxlc1Byb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRy
YW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCB0aGlzLCBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3Iu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVj
dG9yLmNwcAppbmRleCBlNmU4ZTBkMDEyNTc2YmY1MGMzNTkwZGYwYmUyZTIyZTczN2UwZjhlLi41
NzVjNTdjMWUyMjlkMGRlYmNlNzgzYWE5NWFlMjk0YTU1ZDNkZTFjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rv
ci5jcHAKQEAgLTYxLDEwICs2MSwxMCBAQCBKU0dlbmVyaWNBcnJheUJ1ZmZlckNvbnN0cnVjdG9y
PHNoYXJpbmdNb2RlPjo6SlNHZW5lcmljQXJyYXlCdWZmZXJDb25zdHJ1Y3RvcihWTQogdGVtcGxh
dGU8QXJyYXlCdWZmZXJTaGFyaW5nTW9kZSBzaGFyaW5nTW9kZT4KIHZvaWQgSlNHZW5lcmljQXJy
YXlCdWZmZXJDb25zdHJ1Y3RvcjxzaGFyaW5nTW9kZT46OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwg
SlNBcnJheUJ1ZmZlclByb3RvdHlwZSogcHJvdG90eXBlLCBHZXR0ZXJTZXR0ZXIqIHNwZWNpZXNT
eW1ib2wpCiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIGFycmF5QnVmZmVyU2hhcmlu
Z01vZGVOYW1lKHNoYXJpbmdNb2RlKSk7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIGFy
cmF5QnVmZmVyU2hhcmluZ01vZGVOYW1lKHNoYXJpbmdNb2RlKSwgTmFtZVZpc2liaWxpdHk6OlZp
c2libGUsIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAg
ICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90
eXBlLCBwcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0
cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKICAgICBw
dXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBq
c051bWJlcigxKSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5KTsKLSAgICBwdXREaXJlY3ROb25JbmRleEFjY2Vzc29yKHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5zcGVjaWVzU3ltYm9sLCBzcGVjaWVzU3ltYm9sLCBQcm9wZXJ0eUF0dHJpYnV0
ZTo6QWNjZXNzb3IgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udEVudW0pOworICAgIHB1dERpcmVjdE5vbkluZGV4QWNjZXNzb3JXaXRob3V0VHJh
bnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+c3BlY2llc1N5bWJvbCwgc3BlY2llc1N5bWJv
bCwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIAogICAgIGlmIChzaGFyaW5nTW9k
ZSA9PSBBcnJheUJ1ZmZlclNoYXJpbmdNb2RlOjpEZWZhdWx0KSB7CiAgICAgICAgIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxPYmplY3Qodm0pOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyUHJvdG90eXBl
LmNwcAppbmRleCAxZDMyY2YzMmIyNzdhMTU4ZDllMWNlNTVkNWYxY2M0YWE4ZDkyNzI3Li5iZDEz
MzI1ODMzZWQ5OTAxODExYTJkM2E2ZjQzYmRjMThhZmFlNTFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyUHJvdG90eXBlLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyUHJvdG90eXBlLmNwcApA
QCAtMTE4LDkgKzExOCw5IEBAIHZvaWQgSlNBcnJheUJ1ZmZlclByb3RvdHlwZTo6ZmluaXNoQ3Jl
YXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0CiAgICAgSlNDX05BVElW
RV9GVU5DVElPTl9XSVRIT1VUX1RSQU5TSVRJT04odm0ucHJvcGVydHlOYW1lcy0+c2xpY2UsIGFy
cmF5QnVmZmVyUHJvdG9GdW5jU2xpY2UsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0pLCAyKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2
bSwgdm0ucHJvcGVydHlOYW1lcy0+dG9TdHJpbmdUYWdTeW1ib2wsIGpzU3RyaW5nKCZ2bSwgYXJy
YXlCdWZmZXJTaGFyaW5nTW9kZU5hbWUobV9zaGFyaW5nTW9kZSkpLCBQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwogICAgIGlmIChtX3No
YXJpbmdNb2RlID09IEFycmF5QnVmZmVyU2hhcmluZ01vZGU6OkRlZmF1bHQpCi0gICAgICAgIEpT
Q19OQVRJVkVfR0VUVEVSKHZtLnByb3BlcnR5TmFtZXMtPmJ5dGVMZW5ndGgsIGFycmF5QnVmZmVy
UHJvdG9HZXR0ZXJGdW5jQnl0ZUxlbmd0aCwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwg
UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKKyAgICAgICAgSlNDX05BVElWRV9HRVRURVJf
V0lUSE9VVF9UUkFOU0lUSU9OKHZtLnByb3BlcnR5TmFtZXMtPmJ5dGVMZW5ndGgsIGFycmF5QnVm
ZmVyUHJvdG9HZXR0ZXJGdW5jQnl0ZUxlbmd0aCwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVt
IHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKICAgICBlbHNlCi0gICAgICAgIEpTQ19O
QVRJVkVfR0VUVEVSKHZtLnByb3BlcnR5TmFtZXMtPmJ5dGVMZW5ndGgsIHNoYXJlZEFycmF5QnVm
ZmVyUHJvdG9HZXR0ZXJGdW5jQnl0ZUxlbmd0aCwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVt
IHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKKyAgICAgICAgSlNDX05BVElWRV9HRVRU
RVJfV0lUSE9VVF9UUkFOU0lUSU9OKHZtLnByb3BlcnR5TmFtZXMtPmJ5dGVMZW5ndGgsIHNoYXJl
ZEFycmF5QnVmZmVyUHJvdG9HZXR0ZXJGdW5jQnl0ZUxlbmd0aCwgUHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKIH0KIAogSlNBcnJheUJ1
ZmZlclByb3RvdHlwZSogSlNBcnJheUJ1ZmZlclByb3RvdHlwZTo6Y3JlYXRlKFZNJiB2bSwgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEFycmF5QnVm
ZmVyU2hhcmluZ01vZGUgc2hhcmluZ01vZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9ySW5saW5lcy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdD
b25zdHJ1Y3RvcklubGluZXMuaAppbmRleCAyNDM1MTU1Y2ZhMDRlNDI5NzZmZWFlNWE3MmQ3ZjAw
YmY2MjM5MTIyLi5kODIzYWM1Mzc0ZDIxNmE0MjIxZGU1MTg5OWFkMmVhMDgxYThkYzNlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5
Vmlld0NvbnN0cnVjdG9ySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3JJbmxpbmVzLmgKQEAgLTUyLDcg
KzUyLDcgQEAgSlNHZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvcjxWaWV3Q2xhc3M+OjpK
U0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG8KIHRlbXBsYXRlPHR5cGVuYW1lIFZpZXdD
bGFzcz4KIHZvaWQgSlNHZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvcjxWaWV3Q2xhc3M+
OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpT
T2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFN0cmluZyYgbmFtZSwgRnVuY3Rpb25FeGVjdXRhYmxl
KiBwcml2YXRlQWxsb2NhdG9yKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCBuYW1l
KTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgbmFtZSwgTmFtZVZpc2liaWxpdHk6OlZp
c2libGUsIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAg
ICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90
eXBlLCBwcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0
cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKICAgICBw
dXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBq
c051bWJlcigzKSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJv
cGVydHlOYW1lcy0+QllURVNfUEVSX0VMRU1FTlQsIGpzTnVtYmVyKFZpZXdDbGFzczo6ZWxlbWVu
dFNpemUpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6
UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggODE5MGMxNzlh
OWY5OWVhYzJlMDYwYjc3NzMyNjYwOWUyYmMyMTA0Yy4uMjA3MzdmMzkzZDU2ZWE1NWY1YTZjN2E3
NGIxYmEzZTRlMDI3MDAzZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtNDgyLDcgKzQ4Miw3IEBAIHZvaWQgSlNHbG9iYWxPYmpl
Y3Q6OmluaXQoVk0mIHZtKQogICAgIEpTRnVuY3Rpb24qIGNhbGxGdW5jdGlvbiA9IG51bGxwdHI7
CiAgICAgSlNGdW5jdGlvbiogYXBwbHlGdW5jdGlvbiA9IG51bGxwdHI7CiAgICAgSlNGdW5jdGlv
biogaGFzSW5zdGFuY2VTeW1ib2xGdW5jdGlvbiA9IG51bGxwdHI7Ci0gICAgbV9mdW5jdGlvblBy
b3RvdHlwZS0+YWRkRnVuY3Rpb25Qcm9wZXJ0aWVzKGV4ZWMsIHRoaXMsICZjYWxsRnVuY3Rpb24s
ICZhcHBseUZ1bmN0aW9uLCAmaGFzSW5zdGFuY2VTeW1ib2xGdW5jdGlvbik7CisgICAgbV9mdW5j
dGlvblByb3RvdHlwZS0+YWRkRnVuY3Rpb25Qcm9wZXJ0aWVzKHZtLCB0aGlzLCAmY2FsbEZ1bmN0
aW9uLCAmYXBwbHlGdW5jdGlvbiwgJmhhc0luc3RhbmNlU3ltYm9sRnVuY3Rpb24pOwogICAgIG1f
Y2FsbEZ1bmN0aW9uLnNldCh2bSwgdGhpcywgY2FsbEZ1bmN0aW9uKTsKICAgICBtX2FwcGx5RnVu
Y3Rpb24uc2V0KHZtLCB0aGlzLCBhcHBseUZ1bmN0aW9uKTsKICAgICBtX2FycmF5UHJvdG9Ub1N0
cmluZ0Z1bmN0aW9uLmluaXRMYXRlcigKQEAgLTUyMyw3ICs1MjMsNyBAQCB2b2lkIEpTR2xvYmFs
T2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICBHZXR0ZXJTZXR0ZXIqIHByb3RvQWNjZXNzb3IgPSBH
ZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwgdGhpcywKICAgICAgICAgSlNGdW5jdGlvbjo6Y3JlYXRl
KHZtLCB0aGlzLCAwLCBtYWtlU3RyaW5nKCJnZXQgIiwgdm0ucHJvcGVydHlOYW1lcy0+dW5kZXJz
Y29yZVByb3RvLnN0cmluZygpKSwgZ2xvYmFsRnVuY1Byb3RvR2V0dGVyLCBVbmRlcnNjb3JlUHJv
dG9JbnRyaW5zaWMpLAogICAgICAgICBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHRoaXMsIDAsIG1h
a2VTdHJpbmcoInNldCAiLCB2bS5wcm9wZXJ0eU5hbWVzLT51bmRlcnNjb3JlUHJvdG8uc3RyaW5n
KCkpLCBnbG9iYWxGdW5jUHJvdG9TZXR0ZXIpKTsKLSAgICBtX29iamVjdFByb3RvdHlwZS0+cHV0
RGlyZWN0Tm9uSW5kZXhBY2Nlc3Nvcih2bSwgdm0ucHJvcGVydHlOYW1lcy0+dW5kZXJzY29yZVBy
b3RvLCBwcm90b0FjY2Vzc29yLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6QWNjZXNzb3IgfCBQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udEVudW0pOworICAgIG1fb2JqZWN0UHJvdG90eXBlLT5wdXREaXJlY3RO
b25JbmRleEFjY2Vzc29yV2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnVu
ZGVyc2NvcmVQcm90bywgcHJvdG9BY2Nlc3NvciwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29y
IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBtX2Z1bmN0aW9uUHJvdG90eXBl
LT5zdHJ1Y3R1cmUodm0pLT5zZXRQcm90b3R5cGVXaXRob3V0VHJhbnNpdGlvbih2bSwgbV9vYmpl
Y3RQcm90b3R5cGUuZ2V0KCkpOwogICAgIG1fb2JqZWN0U3RydWN0dXJlRm9yT2JqZWN0Q29uc3Ry
dWN0b3Iuc2V0KHZtLCB0aGlzLCB2bS5zdHJ1Y3R1cmVDYWNoZS5lbXB0eU9iamVjdFN0cnVjdHVy
ZUZvclByb3RvdHlwZSh0aGlzLCBtX29iamVjdFByb3RvdHlwZS5nZXQoKSwgSlNGaW5hbE9iamVj
dDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpKTsKICAgICBtX29iamVjdFByb3RvVmFsdWVPZkZ1
bmN0aW9uLnNldCh2bSwgdGhpcywganNDYXN0PEpTRnVuY3Rpb24qPihvYmplY3RQcm90b3R5cGUo
KS0+Z2V0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT52YWx1ZU9mKSkpOwpAQCAtNTMyLDcg
KzUzMiw3IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OmluaXQoVk0mIHZtKQogICAgIEdldHRlclNl
dHRlciogZ2V0dGVyU2V0dGVyID0gR2V0dGVyU2V0dGVyOjpjcmVhdGUodm0sIHRoaXMsIHRocm93
ZXIsIHRocm93ZXIpOwogICAgIG1fdGhyb3dUeXBlRXJyb3JBcmd1bWVudHNDYWxsZWVBbmRDYWxs
ZXJHZXR0ZXJTZXR0ZXIuc2V0KHZtLCB0aGlzLCBnZXR0ZXJTZXR0ZXIpOwogICAgIAotICAgIG1f
ZnVuY3Rpb25Qcm90b3R5cGUtPmluaXRSZXN0cmljdGVkUHJvcGVydGllcyhleGVjLCB0aGlzKTsK
KyAgICBtX2Z1bmN0aW9uUHJvdG90eXBlLT5pbml0UmVzdHJpY3RlZFByb3BlcnRpZXModm0sIHRo
aXMpOwogCiAgICAgbV9zcGVjaWVzR2V0dGVyU2V0dGVyLnNldCh2bSwgdGhpcywgR2V0dGVyU2V0
dGVyOjpjcmVhdGUodm0sIHRoaXMsIEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT3BlcmF0
aW9uc1NwZWNpZXNHZXR0ZXJDb2RlR2VuZXJhdG9yKHZtKSwgdGhpcyksIG51bGxwdHIpKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCmluZGV4IDNkYTFiODZi
ZmMzODRiYmVkYTQ0NzBhYjg2MTI0YWQyOWI5YWJjZmMuLmI1Zjc2OGZiODQwMjQ5NGI5ZDE5Njkx
N2RlZGRkMmU5MjFmYjRkZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09i
amVjdC5jcHAKQEAgLTE5MjIsNiArMTkyMiwxOSBAQCBib29sIEpTT2JqZWN0OjpwdXREaXJlY3RO
b25JbmRleEFjY2Vzc29yKFZNJiB2bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgR2V0dAog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiAKK3ZvaWQgSlNPYmplY3Q6OnB1dERpcmVjdE5vbkluZGV4
QWNjZXNzb3JXaXRob3V0VHJhbnNpdGlvbihWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5h
bWUsIEdldHRlclNldHRlciogYWNjZXNzb3IsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpCit7CisgICAg
QVNTRVJUKGF0dHJpYnV0ZXMgJiBQcm9wZXJ0eUF0dHJpYnV0ZTo6QWNjZXNzb3IpOworICAgIFN0
cnVjdHVyZUlEIHN0cnVjdHVyZUlEID0gdGhpcy0+c3RydWN0dXJlSUQoKTsKKyAgICBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA9IHZtLmhlYXAuc3RydWN0dXJlSURUYWJsZSgpLmdldChzdHJ1Y3R1cmVJ
RCk7CisgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gcHJlcGFyZVRvUHV0RGlyZWN0V2l0aG91
dFRyYW5zaXRpb24odm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcywgc3RydWN0dXJlSUQsIHN0
cnVjdHVyZSk7CisgICAgcHV0RGlyZWN0KHZtLCBvZmZzZXQsIGFjY2Vzc29yKTsKKyAgICBpZiAo
YXR0cmlidXRlcyAmIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSkKKyAgICAgICAgc3RydWN0
dXJlLT5zZXRDb250YWluc1JlYWRPbmx5UHJvcGVydGllcygpOworCisgICAgc3RydWN0dXJlLT5z
ZXRIYXNHZXR0ZXJTZXR0ZXJQcm9wZXJ0aWVzV2l0aFByb3RvQ2hlY2socHJvcGVydHlOYW1lID09
IHZtLnByb3BlcnR5TmFtZXMtPnVuZGVyc2NvcmVQcm90byk7Cit9CisKIC8vIEhhc1Byb3BlcnR5
KE8sIFApIGZyb20gU2VjdGlvbiA3LjMuMTAgb2YgdGhlIHNwZWMuCiAvLyBodHRwOi8vd3d3LmVj
bWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNi4wL2luZGV4Lmh0bWwjc2VjLWhhc3Byb3Bl
cnR5CiBib29sIEpTT2JqZWN0OjpoYXNQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5
TmFtZSBwcm9wZXJ0eU5hbWUpIGNvbnN0CkBAIC0zMTEyLDYgKzMxMjUsMTMgQEAgYm9vbCBKU09i
amVjdDo6cHV0RGlyZWN0TmF0aXZlSW50cmluc2ljR2V0dGVyKFZNJiB2bSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamUKICAgICByZXR1cm4gcHV0RGlyZWN0Tm9uSW5kZXhBY2Nlc3Nvcih2bSwg
bmFtZSwgYWNjZXNzb3IsIGF0dHJpYnV0ZXMpOwogfQogCit2b2lkIEpTT2JqZWN0OjpwdXREaXJl
Y3ROYXRpdmVJbnRyaW5zaWNHZXR0ZXJXaXRob3V0VHJhbnNpdGlvbihWTSYgdm0sIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIElkZW50aWZpZXIgbmFtZSwgTmF0aXZlRnVuY3Rpb24gbmF0
aXZlRnVuY3Rpb24sIEludHJpbnNpYyBpbnRyaW5zaWMsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpCit7
CisgICAgSlNGdW5jdGlvbiogZnVuY3Rpb24gPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGdsb2Jh
bE9iamVjdCwgMCwgbWFrZVN0cmluZygiZ2V0ICIsIG5hbWUuc3RyaW5nKCkpLCBuYXRpdmVGdW5j
dGlvbiwgaW50cmluc2ljKTsKKyAgICBHZXR0ZXJTZXR0ZXIqIGFjY2Vzc29yID0gR2V0dGVyU2V0
dGVyOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgZnVuY3Rpb24sIG51bGxwdHIpOworICAgIHB1
dERpcmVjdE5vbkluZGV4QWNjZXNzb3JXaXRob3V0VHJhbnNpdGlvbih2bSwgbmFtZSwgYWNjZXNz
b3IsIGF0dHJpYnV0ZXMpOworfQorCiBib29sIEpTT2JqZWN0OjpwdXREaXJlY3ROYXRpdmVGdW5j
dGlvbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFByb3BlcnR5
TmFtZSYgcHJvcGVydHlOYW1lLCB1bnNpZ25lZCBmdW5jdGlvbkxlbmd0aCwgTmF0aXZlRnVuY3Rp
b24gbmF0aXZlRnVuY3Rpb24sIEludHJpbnNpYyBpbnRyaW5zaWMsIHVuc2lnbmVkIGF0dHJpYnV0
ZXMpCiB7CiAgICAgU3RyaW5nSW1wbCogbmFtZSA9IHByb3BlcnR5TmFtZS5wdWJsaWNOYW1lKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAppbmRleCAwMjMwNjYxNWU1
YWU5MDk3YzhjMTYyY2E5NTM0NTRiMjBlMWI2ZGM0Li5lMGI4NzVhOWQzOTU0Y2FlNDA0MDExMWI5
MzZjYmE5ZGJlNTdjOGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU09iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0
LmgKQEAgLTU4Myw2ICs1ODMsNyBAQCBjbGFzcyBKU09iamVjdCA6IHB1YmxpYyBKU0NlbGwgewog
ICAgIGJvb2wgcHV0RGlyZWN0KFZNJiwgUHJvcGVydHlOYW1lLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0
eVNsb3QmKTsKICAgICB2b2lkIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKFZNJiwgUHJvcGVy
dHlOYW1lLCBKU1ZhbHVlLCB1bnNpZ25lZCBhdHRyaWJ1dGVzID0gMCk7CiAgICAgYm9vbCBwdXRE
aXJlY3ROb25JbmRleEFjY2Vzc29yKFZNJiwgUHJvcGVydHlOYW1lLCBHZXR0ZXJTZXR0ZXIqLCB1
bnNpZ25lZCBhdHRyaWJ1dGVzKTsKKyAgICB2b2lkIHB1dERpcmVjdE5vbkluZGV4QWNjZXNzb3JX
aXRob3V0VHJhbnNpdGlvbihWTSYsIFByb3BlcnR5TmFtZSwgR2V0dGVyU2V0dGVyKiwgdW5zaWdu
ZWQgYXR0cmlidXRlcyk7CiAgICAgYm9vbCBwdXREaXJlY3RBY2Nlc3NvcihFeGVjU3RhdGUqLCBQ
cm9wZXJ0eU5hbWUsIEdldHRlclNldHRlciosIHVuc2lnbmVkIGF0dHJpYnV0ZXMpOwogICAgIEpT
X0VYUE9SVF9QUklWQVRFIGJvb2wgcHV0RGlyZWN0Q3VzdG9tQWNjZXNzb3IoVk0mLCBQcm9wZXJ0
eU5hbWUsIEpTVmFsdWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpOwogCkBAIC03MTcsNiArNzE4LDcg
QEAgY2xhc3MgSlNPYmplY3QgOiBwdWJsaWMgSlNDZWxsIHsKICAgICB2b2lkIHB1dERpcmVjdFVu
ZGVmaW5lZChQcm9wZXJ0eU9mZnNldCBvZmZzZXQpIHsgbG9jYXRpb25Gb3JPZmZzZXQob2Zmc2V0
KS0+c2V0VW5kZWZpbmVkKCk7IH0KIAogICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgcHV0RGly
ZWN0TmF0aXZlSW50cmluc2ljR2V0dGVyKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBJZGVudGlmaWVy
LCBOYXRpdmVGdW5jdGlvbiwgSW50cmluc2ljLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKTsKKyAgICBK
U19FWFBPUlRfUFJJVkFURSB2b2lkIHB1dERpcmVjdE5hdGl2ZUludHJpbnNpY0dldHRlcldpdGhv
dXRUcmFuc2l0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBJZGVudGlmaWVyLCBOYXRpdmVGdW5j
dGlvbiwgSW50cmluc2ljLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKTsKICAgICBKU19FWFBPUlRfUFJJ
VkFURSBib29sIHB1dERpcmVjdE5hdGl2ZUZ1bmN0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBj
b25zdCBQcm9wZXJ0eU5hbWUmLCB1bnNpZ25lZCBmdW5jdGlvbkxlbmd0aCwgTmF0aXZlRnVuY3Rp
b24sIEludHJpbnNpYywgdW5zaWduZWQgYXR0cmlidXRlcyk7CiAgICAgSlNfRVhQT1JUX1BSSVZB
VEUgYm9vbCBwdXREaXJlY3ROYXRpdmVGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgY29u
c3QgUHJvcGVydHlOYW1lJiwgdW5zaWduZWQgZnVuY3Rpb25MZW5ndGgsIE5hdGl2ZUZ1bmN0aW9u
LCBJbnRyaW5zaWMsIGNvbnN0IERPTUpJVDo6U2lnbmF0dXJlKiwgdW5zaWduZWQgYXR0cmlidXRl
cyk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBwdXREaXJlY3ROYXRpdmVGdW5jdGlvbldp
dGhvdXRUcmFuc2l0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBjb25zdCBQcm9wZXJ0eU5hbWUm
LCB1bnNpZ25lZCBmdW5jdGlvbkxlbmd0aCwgTmF0aXZlRnVuY3Rpb24sIEludHJpbnNpYywgdW5z
aWduZWQgYXR0cmlidXRlcyk7CkBAIC0xNjM5LDcgKzE2NDEsMTUgQEAgSlNfRVhQT1JUX1BSSVZB
VEUgTkVWRVJfSU5MSU5FIGJvb2wgb3JkaW5hcnlTZXRTbG93KEV4ZWNTdGF0ZSosIEpTT2JqZWN0
KiwgUHJvcGUKICAgICAgICAgdm0sIGdsb2JhbE9iamVjdCwgbWFrZUlkZW50aWZpZXIodm0sIChq
c05hbWUpKSwgKGNwcE5hbWUpLCBcCiAgICAgICAgIChpbnRyaW5zaWMpLCAoKGF0dHJpYnV0ZXMp
IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yKSkKIAorI2RlZmluZSBKU0NfTkFUSVZFX0lO
VFJJTlNJQ19HRVRURVJfV0lUSE9VVF9UUkFOU0lUSU9OKGpzTmFtZSwgY3BwTmFtZSwgYXR0cmli
dXRlcywgaW50cmluc2ljKSAgXAorICAgIHB1dERpcmVjdE5hdGl2ZUludHJpbnNpY0dldHRlcldp
dGhvdXRUcmFuc2l0aW9uKFwKKyAgICAgICAgdm0sIGdsb2JhbE9iamVjdCwgbWFrZUlkZW50aWZp
ZXIodm0sIChqc05hbWUpKSwgKGNwcE5hbWUpLCBcCisgICAgICAgIChpbnRyaW5zaWMpLCAoKGF0
dHJpYnV0ZXMpIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yKSkKKwogI2RlZmluZSBKU0Nf
TkFUSVZFX0dFVFRFUihqc05hbWUsIGNwcE5hbWUsIGF0dHJpYnV0ZXMpIFwKICAgICBKU0NfTkFU
SVZFX0lOVFJJTlNJQ19HRVRURVIoKGpzTmFtZSksIChjcHBOYW1lKSwgKGF0dHJpYnV0ZXMpLCBO
b0ludHJpbnNpYykKIAorI2RlZmluZSBKU0NfTkFUSVZFX0dFVFRFUl9XSVRIT1VUX1RSQU5TSVRJ
T04oanNOYW1lLCBjcHBOYW1lLCBhdHRyaWJ1dGVzKSBcCisgICAgSlNDX05BVElWRV9JTlRSSU5T
SUNfR0VUVEVSX1dJVEhPVVRfVFJBTlNJVElPTigoanNOYW1lKSwgKGNwcE5hbWUpLCAoYXR0cmli
dXRlcyksIE5vSW50cmluc2ljKQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZUNvbnN0cnVjdG9yLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZUNvbnN0cnVjdG9yLmNwcAppbmRl
eCA4OWI3ZGUxZWYwM2U3MTNlMTNlNjdmOGQ2NDZhNjA5ODZkYTNlYTk2Li43NDE3N2M0YjZhMjU1
NmRmMjExNzIzMTdkMWE1YTVjNGJhOTI4MmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1Byb21pc2VDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0b3IuY3BwCkBAIC04OSwxMCArODks
MTAgQEAgSlNQcm9taXNlQ29uc3RydWN0b3I6OkpTUHJvbWlzZUNvbnN0cnVjdG9yKFZNJiB2bSwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIE5hdGl2ZUYKIAogdm9pZCBKU1Byb21pc2VDb25zdHJ1Y3Rv
cjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU1Byb21pc2VQcm90b3R5cGUqIHByb21pc2VQcm90
b3R5cGUsIEdldHRlclNldHRlciogc3BlY2llc1N5bWJvbCkKIHsKLSAgICBCYXNlOjpmaW5pc2hD
cmVhdGlvbih2bSwgIlByb21pc2UiX3MpOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5Qcm9taXNlLnN0cmluZygpLCBOYW1lVmlzaWJpbGl0eTo6VmlzaWJs
ZSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1
dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUs
IHByb21pc2VQcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5
QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKICAg
ICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3Ro
LCBqc051bWJlcigxKSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRy
aWJ1dGU6OlJlYWRPbmx5KTsKLSAgICBwdXREaXJlY3ROb25JbmRleEFjY2Vzc29yKHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5zcGVjaWVzU3ltYm9sLCBzcGVjaWVzU3ltYm9sLCBQcm9wZXJ0eUF0dHJp
YnV0ZTo6QWNjZXNzb3IgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0pOworICAgIHB1dERpcmVjdE5vbkluZGV4QWNjZXNzb3JXaXRob3V0
VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+c3BlY2llc1N5bWJvbCwgc3BlY2llc1N5
bWJvbCwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJl
YWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIAogdm9pZCBKU1Byb21p
c2VDb25zdHJ1Y3Rvcjo6YWRkT3duSW50ZXJuYWxTbG90cyhWTSYgdm0sIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yLmNwcAppbmRleCA4NmE0MTg5MzM2
M2JlMzg5ZjE0MDY3NjRjZWI1ZjI0NDBiYzJkMDkxLi5kZDExMjQ1OTlhMTIwY2NmN2EyOWVkZGJh
MzY4ZjY1NDdmM2RlNTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3Rvci5jcHAKQEAgLTQ4LDEwICs0
OCwxMCBAQCBjb25zdCBDbGFzc0luZm8gSlNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yOjpzX2lu
Zm8gPSB7ICJGdW5jdGlvbiIsICZCYXNlOjpzX2luZgogCiB2b2lkIEpTVHlwZWRBcnJheVZpZXdD
b25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlKiBwcm90b3R5cGUsIEdldHRlclNldHRl
ciogc3BlY2llc1N5bWJvbCkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgIlR5cGVk
QXJyYXkiKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgIlR5cGVkQXJyYXkiX3MsIE5h
bWVWaXNpYmlsaXR5OjpWaXNpYmxlLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJl
VHJhbnNpdGlvbik7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3Bl
cnR5TmFtZXMtPnByb3RvdHlwZSwgcHJvdG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpS
ZWFkT25seSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5
TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8
IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7Ci0gICAgcHV0RGlyZWN0Tm9uSW5kZXhBY2Nl
c3Nvcih2bSwgdm0ucHJvcGVydHlOYW1lcy0+c3BlY2llc1N5bWJvbCwgc3BlY2llc1N5bWJvbCwg
UHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5
IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBwdXREaXJlY3ROb25JbmRleEFj
Y2Vzc29yV2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnNwZWNpZXNTeW1i
b2wsIHNwZWNpZXNTeW1ib2wsIFByb3BlcnR5QXR0cmlidXRlOjpBY2Nlc3NvciB8IFByb3BlcnR5
QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAKICAg
ICBKU0NfQlVJTFRJTl9GVU5DVElPTl9XSVRIT1VUX1RSQU5TSVRJT04odm0ucHJvcGVydHlOYW1l
cy0+b2YsIHR5cGVkQXJyYXlDb25zdHJ1Y3Rvck9mQ29kZUdlbmVyYXRvciwgc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpOwogICAgIEpTQ19CVUlMVElO
X0ZVTkNUSU9OX1dJVEhPVVRfVFJBTlNJVElPTih2bS5wcm9wZXJ0eU5hbWVzLT5mcm9tLCB0eXBl
ZEFycmF5Q29uc3RydWN0b3JGcm9tQ29kZUdlbmVyYXRvciwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZS5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlLmNwcAppbmRl
eCA4MzkwMmFmZjhiMTViYzA1MmRkZDhiYzk0YmFjY2FlODVlYTY0MDcyLi5hYzE2ZGM5MzdjMzA3
YzEyZGY2ODYxY2Q5YzcwYjI5MmIxZDQxZjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlLmNwcApAQCAt
Mjk3LDkgKzI5Nyw5IEBAIHZvaWQgSlNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZTo6ZmluaXNoQ3Jl
YXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqCiAKICAgICBwdXREaXJlY3RX
aXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+dG9TdHJpbmcsIGdsb2JhbE9i
amVjdC0+YXJyYXlQcm90b1RvU3RyaW5nRnVuY3Rpb24oKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpOwogCi0gICAgSlNDX05BVElWRV9HRVRURVIo
ImJ1ZmZlciIsIHR5cGVkQXJyYXlWaWV3UHJvdG9HZXR0ZXJGdW5jQnVmZmVyLCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwotICAgIEpT
Q19OQVRJVkVfSU5UUklOU0lDX0dFVFRFUih2bS5wcm9wZXJ0eU5hbWVzLT5ieXRlTGVuZ3RoLCB0
eXBlZEFycmF5Vmlld1Byb3RvR2V0dGVyRnVuY0J5dGVMZW5ndGgsIFByb3BlcnR5QXR0cmlidXRl
OjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSwgVHlwZWRBcnJheUJ5dGVM
ZW5ndGhJbnRyaW5zaWMpOwotICAgIEpTQ19OQVRJVkVfSU5UUklOU0lDX0dFVFRFUih2bS5wcm9w
ZXJ0eU5hbWVzLT5ieXRlT2Zmc2V0LCB0eXBlZEFycmF5Vmlld1Byb3RvR2V0dGVyRnVuY0J5dGVP
ZmZzZXQsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpS
ZWFkT25seSwgVHlwZWRBcnJheUJ5dGVPZmZzZXRJbnRyaW5zaWMpOworICAgIEpTQ19OQVRJVkVf
R0VUVEVSX1dJVEhPVVRfVFJBTlNJVElPTigiYnVmZmVyIiwgdHlwZWRBcnJheVZpZXdQcm90b0dl
dHRlckZ1bmNCdWZmZXIsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0
cmlidXRlOjpSZWFkT25seSk7CisgICAgSlNDX05BVElWRV9JTlRSSU5TSUNfR0VUVEVSX1dJVEhP
VVRfVFJBTlNJVElPTih2bS5wcm9wZXJ0eU5hbWVzLT5ieXRlTGVuZ3RoLCB0eXBlZEFycmF5Vmll
d1Byb3RvR2V0dGVyRnVuY0J5dGVMZW5ndGgsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8
IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSwgVHlwZWRBcnJheUJ5dGVMZW5ndGhJbnRyaW5z
aWMpOworICAgIEpTQ19OQVRJVkVfSU5UUklOU0lDX0dFVFRFUl9XSVRIT1VUX1RSQU5TSVRJT04o
dm0ucHJvcGVydHlOYW1lcy0+Ynl0ZU9mZnNldCwgdHlwZWRBcnJheVZpZXdQcm90b0dldHRlckZ1
bmNCeXRlT2Zmc2V0LCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJp
YnV0ZTo6UmVhZE9ubHksIFR5cGVkQXJyYXlCeXRlT2Zmc2V0SW50cmluc2ljKTsKICAgICBKU0Nf
TkFUSVZFX0ZVTkNUSU9OX1dJVEhPVVRfVFJBTlNJVElPTigiY29weVdpdGhpbiIsIHR5cGVkQXJy
YXlWaWV3UHJvdG9GdW5jQ29weVdpdGhpbiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5
QXR0cmlidXRlOjpEb250RW51bSksIDIpOwogICAgIEpTQ19CVUlMVElOX0ZVTkNUSU9OX1dJVEhP
VVRfVFJBTlNJVElPTigiZXZlcnkiLCB0eXBlZEFycmF5UHJvdG90eXBlRXZlcnlDb2RlR2VuZXJh
dG9yLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSk7
CiAgICAgSlNDX0JVSUxUSU5fRlVOQ1RJT05fV0lUSE9VVF9UUkFOU0lUSU9OKCJmaWx0ZXIiLCB0
eXBlZEFycmF5UHJvdG90eXBlRmlsdGVyQ29kZUdlbmVyYXRvciwgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpOwpAQCAtMzE0LDcgKzMxNCw3IEBAIHZv
aWQgSlNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqCiAgICAgSlNDX05BVElWRV9GVU5DVElPTl9XSVRIT1VUX1RS
QU5TSVRJT04odm0ucHJvcGVydHlOYW1lcy0+am9pbiwgdHlwZWRBcnJheVZpZXdQcm90b0Z1bmNK
b2luLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwg
MSk7CiAgICAgSlNDX0JVSUxUSU5fRlVOQ1RJT05fV0lUSE9VVF9UUkFOU0lUSU9OKHZtLnByb3Bl
cnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLmtleXNQdWJsaWNOYW1lKCksIHR5cGVkQXJyYXlQcm90
b3R5cGVLZXlzQ29kZUdlbmVyYXRvciwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0
cmlidXRlOjpEb250RW51bSkpOwogICAgIEpTQ19OQVRJVkVfRlVOQ1RJT05fV0lUSE9VVF9UUkFO
U0lUSU9OKCJsYXN0SW5kZXhPZiIsIHR5cGVkQXJyYXlWaWV3UHJvdG9GdW5jTGFzdEluZGV4T2Ys
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCAxKTsK
LSAgICBKU0NfTkFUSVZFX0lOVFJJTlNJQ19HRVRURVIodm0ucHJvcGVydHlOYW1lcy0+bGVuZ3Ro
LCB0eXBlZEFycmF5Vmlld1Byb3RvR2V0dGVyRnVuY0xlbmd0aCwgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVh
ZE9ubHksIFR5cGVkQXJyYXlMZW5ndGhJbnRyaW5zaWMpOworICAgIEpTQ19OQVRJVkVfSU5UUklO
U0lDX0dFVFRFUl9XSVRIT1VUX1RSQU5TSVRJT04odm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCB0
eXBlZEFycmF5Vmlld1Byb3RvR2V0dGVyRnVuY0xlbmd0aCwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9u
bHksIFR5cGVkQXJyYXlMZW5ndGhJbnRyaW5zaWMpOwogICAgIEpTQ19CVUlMVElOX0ZVTkNUSU9O
X1dJVEhPVVRfVFJBTlNJVElPTigibWFwIiwgdHlwZWRBcnJheVByb3RvdHlwZU1hcENvZGVHZW5l
cmF0b3IsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
KTsKICAgICBKU0NfQlVJTFRJTl9GVU5DVElPTl9XSVRIT1VUX1RSQU5TSVRJT04oInJlZHVjZSIs
IHR5cGVkQXJyYXlQcm90b3R5cGVSZWR1Y2VDb2RlR2VuZXJhdG9yLCBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSk7CiAgICAgSlNDX0JVSUxUSU5fRlVO
Q1RJT05fV0lUSE9VVF9UUkFOU0lUSU9OKCJyZWR1Y2VSaWdodCIsIHR5cGVkQXJyYXlQcm90b3R5
cGVSZWR1Y2VSaWdodENvZGVHZW5lcmF0b3IsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udEVudW0pKTsKQEAgLTMyNyw3ICszMjcsNyBAQCB2b2lkIEpTVHlwZWRB
cnJheVZpZXdQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iagogCiAgICAgSlNGdW5jdGlvbiogdG9TdHJpbmdUYWdGdW5jdGlvbiA9IEpTRnVu
Y3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCAwLCAiZ2V0IFtTeW1ib2wudG9TdHJpbmdU
YWddIl9zLCB0eXBlZEFycmF5Vmlld1Byb3RvR2V0dGVyRnVuY1RvU3RyaW5nVGFnLCBOb0ludHJp
bnNpYyk7CiAgICAgR2V0dGVyU2V0dGVyKiB0b1N0cmluZ1RhZ0FjY2Vzc29yID0gR2V0dGVyU2V0
dGVyOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgdG9TdHJpbmdUYWdGdW5jdGlvbiwgbnVsbHB0
cik7Ci0gICAgcHV0RGlyZWN0Tm9uSW5kZXhBY2Nlc3Nvcih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
dG9TdHJpbmdUYWdTeW1ib2wsIHRvU3RyaW5nVGFnQWNjZXNzb3IsIFByb3BlcnR5QXR0cmlidXRl
OjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmli
dXRlOjpBY2Nlc3Nvcik7CisgICAgcHV0RGlyZWN0Tm9uSW5kZXhBY2Nlc3NvcldpdGhvdXRUcmFu
c2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT50b1N0cmluZ1RhZ1N5bWJvbCwgdG9TdHJpbmdU
YWdBY2Nlc3NvciwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yKTsKIAogICAgIEpTRnVu
Y3Rpb24qIHZhbHVlc0Z1bmN0aW9uID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCB0eXBlZEFycmF5
UHJvdG90eXBlVmFsdWVzQ29kZUdlbmVyYXRvcih2bSksIGdsb2JhbE9iamVjdCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcENvbnN0cnVjdG9yLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcENvbnN0cnVjdG9yLmNwcAppbmRleCA1
ZWUyY2JmMjU4NjYyYzZkMzFkNTYyMTlmOWMwY2IyZWEyZmJmNTZkLi43NzZlYzNjNGYyMWFiOGVj
ZDE0MmY5Y2M2NTc1YWEyZGI5NjBkODQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9NYXBDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTWFwQ29uc3RydWN0b3IuY3BwCkBAIC00MSwxMCArNDEsMTAgQEAgY29uc3QgQ2xh
c3NJbmZvIE1hcENvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZCYXNlOjpzX2lu
Zm8sIG51bGxwdHIsIG4KIAogdm9pZCBNYXBDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0m
IHZtLCBNYXBQcm90b3R5cGUqIG1hcFByb3RvdHlwZSwgR2V0dGVyU2V0dGVyKiBzcGVjaWVzU3lt
Ym9sKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCBtYXBQcm90b3R5cGUtPmNsYXNz
SW5mbyh2bSktPmNsYXNzTmFtZSk7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sICJNYXAi
X3MsIE5hbWVWaXNpYmlsaXR5OjpWaXNpYmxlLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3Ry
dWN0dXJlVHJhbnNpdGlvbik7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZt
LnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgbWFwUHJvdG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0
cmlidXRlOjpSZWFkT25seSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZt
LnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIFByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7Ci0gICAgcHV0RGlyZWN0Tm9u
SW5kZXhBY2Nlc3Nvcih2bSwgdm0ucHJvcGVydHlOYW1lcy0+c3BlY2llc1N5bWJvbCwgc3BlY2ll
c1N5bWJvbCwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yIHwgUHJvcGVydHlBdHRyaWJ1dGU6
OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBwdXREaXJlY3RO
b25JbmRleEFjY2Vzc29yV2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnNw
ZWNpZXNTeW1ib2wsIHNwZWNpZXNTeW1ib2wsIFByb3BlcnR5QXR0cmlidXRlOjpBY2Nlc3NvciB8
IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51
bSk7CiB9CiAKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNhbGxNYXAoRXhl
Y1N0YXRlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBQ
cm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwUHJvdG90eXBl
LmNwcAppbmRleCA4YmYwNWE1NjE4YTRiOTI1YWI2NzhiNjA5ZjhmZTc2MTU1MTQ4MjRiLi5kMjc4
ZWY0MTE1YjkyZWMxYTNkOTk2MmFhYWYzZTZlMzcxMjQ0NzgyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL01hcFByb3RvdHlwZS5jcHAKQEAgLTc2LDcgKzc2LDcgQEAgdm9p
ZCBNYXBQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCkKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+aXRlcmF0b3JTeW1ib2wsIGVudHJpZXMsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNp
dGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+dG9TdHJpbmdUYWdTeW1ib2wsIGpzU3RyaW5nKCZ2
bSwgIk1hcCIpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0
ZTo6UmVhZE9ubHkpOwogCi0gICAgSlNDX05BVElWRV9HRVRURVIodm0ucHJvcGVydHlOYW1lcy0+
c2l6ZSwgbWFwUHJvdG9GdW5jU2l6ZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJv
cGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yKTsKKyAgICBKU0NfTkFUSVZFX0dFVFRFUl9XSVRIT1VU
X1RSQU5TSVRJT04odm0ucHJvcGVydHlOYW1lcy0+c2l6ZSwgbWFwUHJvdG9GdW5jU2l6ZSwgUHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yKTsK
IH0KIAogQUxXQVlTX0lOTElORSBzdGF0aWMgSlNNYXAqIGdldE1hcChDYWxsRnJhbWUqIGNhbGxG
cmFtZSwgSlNWYWx1ZSB0aGlzVmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4IDUzNTY1NjI0MjM3
ZjYxM2VjYjIxMzkzYWIxYmZjNjFmOWM4NmQ2Y2YuLjYyMTY1MDdjYWI2MGU4OGI0YjY5OTQxOTcy
YWVhNzNiYjNkNDQzZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCkBAIC00Miw3ICs0Miw3IEBAIE5hdGl2
ZUVycm9yQ29uc3RydWN0b3I8ZXJyb3JUeXBlPjo6TmF0aXZlRXJyb3JDb25zdHJ1Y3RvcihWTSYg
dm0sIFN0cnVjdHVyZSogc3RyCiAKIHZvaWQgTmF0aXZlRXJyb3JDb25zdHJ1Y3RvckJhc2U6OmZp
bmlzaENyZWF0aW9uKFZNJiB2bSwgTmF0aXZlRXJyb3JQcm90b3R5cGUqIHByb3RvdHlwZSwgRXJy
b3JUeXBlIGVycm9yVHlwZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgZXJyb3JU
eXBlTmFtZShlcnJvclR5cGUpKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgZXJyb3JU
eXBlTmFtZShlcnJvclR5cGUpLCBOYW1lVmlzaWJpbGl0eTo6VmlzaWJsZSwgTmFtZUFkZGl0aW9u
TW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIEFTU0VSVChpbmhlcml0cyh2
bSwgaW5mbygpKSk7CiAgICAgCiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZt
LnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMSksIFByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdWxsR2V0dGVyRnVuY3Rpb24uaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL051bGxHZXR0ZXJGdW5jdGlvbi5oCmluZGV4IGI1OGJhMzBi
MDhlZjNmMTM4MWUxMTBmODE1ZWYyMGQ2NzY2N2RkNjkuLjM1MGViN2Q3MWM2NWE2N2I0ZDM5NjQ2
YjQwZWRhMjhhNTkyMDZlNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL051bGxHZXR0ZXJGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL051bGxHZXR0ZXJGdW5jdGlvbi5oCkBAIC0zNSw4ICszNSw5IEBAIGNsYXNzIE51bGxHZXR0
ZXJGdW5jdGlvbiBmaW5hbCA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKIAogICAgIHN0YXRp
YyBOdWxsR2V0dGVyRnVuY3Rpb24qIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJl
KQogICAgIHsKKyAgICAgICAgLy8gU2luY2UgTnVsbEdldHRlckZ1bmN0aW9uIGlzIHBlciBKU0ds
b2JhbE9iamVjdCwgd2UgdXNlIHB1dC13aXRob3V0LXRyYW5zaXRpb24gaW4gSW50ZXJuYWxGdW5j
dGlvbjo6ZmluaXNoQ3JlYXRpb24uCiAgICAgICAgIE51bGxHZXR0ZXJGdW5jdGlvbiogZnVuY3Rp
b24gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDwgTnVsbEdldHRlckZ1bmN0aW9uPih2bS5o
ZWFwKSkgIE51bGxHZXR0ZXJGdW5jdGlvbih2bSwgc3RydWN0dXJlKTsKLSAgICAgICAgZnVuY3Rp
b24tPmZpbmlzaENyZWF0aW9uKHZtLCBTdHJpbmcoKSk7CisgICAgICAgIGZ1bmN0aW9uLT5maW5p
c2hDcmVhdGlvbih2bSwgU3RyaW5nKCksIE5hbWVWaXNpYmlsaXR5OjpWaXNpYmxlLCBOYW1lQWRk
aXRpb25Nb2RlOjpXaXRoU3RydWN0dXJlVHJhbnNpdGlvbik7CiAgICAgICAgIHJldHVybiBmdW5j
dGlvbjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L051bGxTZXR0ZXJGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVs
bFNldHRlckZ1bmN0aW9uLmgKaW5kZXggNGYxNjdmZDVkMDYzYjViOWM3MGE2NzJmZjI4NWViYWRh
ZGRmYjI0Zi4uZWEwNWIyYjE3NmYyZjMxNmRmNmE2NGFmOWI0Y2YyYWE1MWZhNWNjNiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVsbFNldHRlckZ1bmN0aW9uLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVsbFNldHRlckZ1bmN0aW9uLmgK
QEAgLTM1LDggKzM1LDkgQEAgY2xhc3MgTnVsbFNldHRlckZ1bmN0aW9uIGZpbmFsIDogcHVibGlj
IEludGVybmFsRnVuY3Rpb24gewogCiAgICAgc3RhdGljIE51bGxTZXR0ZXJGdW5jdGlvbiogY3Jl
YXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgeworICAgICAgICAvLyBTaW5j
ZSBOdWxsU2V0dGVyRnVuY3Rpb24gaXMgcGVyIEpTR2xvYmFsT2JqZWN0LCB3ZSB1c2UgcHV0LXdp
dGhvdXQtdHJhbnNpdGlvbiBpbiBJbnRlcm5hbEZ1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbi4KICAg
ICAgICAgTnVsbFNldHRlckZ1bmN0aW9uKiBmdW5jdGlvbiA9IG5ldyAoTm90TnVsbCwgYWxsb2Nh
dGVDZWxsPCBOdWxsU2V0dGVyRnVuY3Rpb24+KHZtLmhlYXApKSAgTnVsbFNldHRlckZ1bmN0aW9u
KHZtLCBzdHJ1Y3R1cmUpOwotICAgICAgICBmdW5jdGlvbi0+ZmluaXNoQ3JlYXRpb24odm0sIFN0
cmluZygpKTsKKyAgICAgICAgZnVuY3Rpb24tPmZpbmlzaENyZWF0aW9uKHZtLCBTdHJpbmcoKSwg
TmFtZVZpc2liaWxpdHk6OlZpc2libGUsIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhTdHJ1Y3R1cmVU
cmFuc2l0aW9uKTsKICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uOwogICAgIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuY3BwCmluZGV4
IDM0NzFkZGUzZjk1NTg1MjdiZWVkNGQ1N2NkMWM5ZDhhNWE2YzJkNGEuLmE0OTlkOWUzMGJiNzM2
MjRmYjE2OWNlYjNiYmFlNTEyOTM2OGUwMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5jcHAKQEAgLTYyLDcgKzYyLDcgQEAgTnVt
YmVyQ29uc3RydWN0b3I6Ok51bWJlckNvbnN0cnVjdG9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUpCiAKIHZvaWQgTnVtYmVyQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwg
TnVtYmVyUHJvdG90eXBlKiBudW1iZXJQcm90b3R5cGUpCiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3Jl
YXRpb24odm0sIE51bWJlclByb3RvdHlwZTo6aW5mbygpLT5jbGFzc05hbWUpOworICAgIEJhc2U6
OmZpbmlzaENyZWF0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5OdW1iZXIuc3RyaW5nKCksIE5h
bWVWaXNpYmlsaXR5OjpWaXNpYmxlLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJl
VHJhbnNpdGlvbik7CiAgICAgQVNTRVJUKGluaGVyaXRzKHZtLCBpbmZvKCkpKTsKIAogICAgIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBudW1iZXJQcm90b3R5cGUtPmdsb2JhbE9iamVj
dCh2bSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RD
b25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25z
dHJ1Y3Rvci5jcHAKaW5kZXggYmFjYTgyMDZjZDk0NDdjYzE4Njg3NmQxODYzMzM0MGNhZThiZDJi
Ny4uMzMzOTk2NjIzNWZkZjIwZDk0YWUwNjNhZWJmOWNmYzA4MjMwODBkNCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcApAQCAt
MTAzLDcgKzEwMyw3IEBAIE9iamVjdENvbnN0cnVjdG9yOjpPYmplY3RDb25zdHJ1Y3RvcihWTSYg
dm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQogCiB2b2lkIE9iamVjdENvbnN0cnVjdG9yOjpmaW5p
c2hDcmVhdGlvbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIE9iamVjdFBy
b3RvdHlwZSogb2JqZWN0UHJvdG90eXBlKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZt
LCBvYmplY3RQcm90b3R5cGUtPmNsYXNzSW5mbyh2bSktPmNsYXNzTmFtZSk7CisgICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPk9iamVjdC5zdHJpbmcoKSwgTmFt
ZVZpc2liaWxpdHk6OlZpc2libGUsIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVU
cmFuc2l0aW9uKTsKIAogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5wcm90b3R5cGUsIG9iamVjdFByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJp
YnV0ZTo6UmVhZE9ubHkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVh
ZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJveHlDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Qcm94eUNvbnN0cnVjdG9yLmNwcAppbmRleCBjZWMwZTQxMGI0
ZDVjNWQ3MWMwYzA0YmIwZTQwZjQ3NzUzNGI0ZjhlLi4yNzczOTU1YWQ5OTViNmZkYzk0ODEyMzY4
ZTk0MDkzZmZlZTQ2OTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Qcm94eUNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Qcm94eUNvbnN0cnVjdG9yLmNwcApAQCAtODcsOCArODcsNyBAQCBzdGF0aWMgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBwcm94eVJldm9jYWJsZUNvbnN0cnVjdG9yVGhyb3dFcnJvcihF
eGVjU3RhdAogCiB2b2lkIFByb3h5Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwg
Y29uc3QgY2hhciogbmFtZSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICBC
YXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgbmFtZSk7Ci0KKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlv
bih2bSwgbmFtZSwgTmFtZVZpc2liaWxpdHk6OlZpc2libGUsIE5hbWVBZGRpdGlvbk1vZGU6Oldp
dGhTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFt
ZXMtPmxlbmd0aCwganNOdW1iZXIoMiksIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7CiAgICAgcHV0RGlyZWN0KHZtLCBtYWtlSWRlbnRp
Zmllcih2bSwgInJldm9jYWJsZSIpLCBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGdsb2JhbE9iamVj
dCwgMiwgInJldm9jYWJsZSJfcywgbWFrZVJldm9jYWJsZVByb3h5LCBOb0ludHJpbnNpYywgcHJv
eHlSZXZvY2FibGVDb25zdHJ1Y3RvclRocm93RXJyb3IpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcAppbmRleCA5NjE1OWVj
N2I5NTkyMDg4NDk4ZTFmMzRmNzVmY2Q5YjFmNzlkOGE1Li44OGE2MzMxMDY1ZWM1NTUwM2I5OTQx
ZTAxMDlkMjBhOWQ4MTEzZmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwCkBAIC04OCwxMyArODgsMTMgQEAgUmVnRXhwQ29u
c3RydWN0b3I6OlJlZ0V4cENvbnN0cnVjdG9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUp
CiAKIHZvaWQgUmVnRXhwQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgUmVnRXhw
UHJvdG90eXBlKiByZWdFeHBQcm90b3R5cGUsIEdldHRlclNldHRlciogc3BlY2llc1N5bWJvbCkK
IHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgIlJlZ0V4cCJfcyk7CisgICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPlJlZ0V4cC5zdHJpbmcoKSwgTmFt
ZVZpc2liaWxpdHk6OlZpc2libGUsIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVU
cmFuc2l0aW9uKTsKICAgICBBU1NFUlQoaW5oZXJpdHModm0sIGluZm8oKSkpOwogCiAgICAgcHV0
RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwg
cmVnRXhwUHJvdG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7CiAgICAg
cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwg
anNOdW1iZXIoMiksIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmli
dXRlOjpEb250RW51bSk7CiAKLSAgICBwdXREaXJlY3ROb25JbmRleEFjY2Vzc29yKHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5zcGVjaWVzU3ltYm9sLCBzcGVjaWVzU3ltYm9sLCBQcm9wZXJ0eUF0dHJp
YnV0ZTo6QWNjZXNzb3IgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0pOworICAgIHB1dERpcmVjdE5vbkluZGV4QWNjZXNzb3JXaXRob3V0
VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+c3BlY2llc1N5bWJvbCwgc3BlY2llc1N5
bWJvbCwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJl
YWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKIH0KIAogdGVtcGxhdGU8aW50
IE4+CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBQcm90
b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwUHJvdG90eXBl
LmNwcAppbmRleCA2MDcyNGNjY2M2MmU1Zjg1MGJlNGIyZTU4YzYzMWQ3YzQ1NzI2MGU3Li4yY2Uw
YjJkODZiNDQwMzZiMWU1ZTg4YzNjOGY5NWVlNTExOGNmY2M5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cFByb3RvdHlwZS5jcHAKQEAgLTY5LDE0ICs2OSwx
NCBAQCB2b2lkIFJlZ0V4cFByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0KQogICAgIEpTQ19OQVRJVkVfRlVOQ1RJT05fV0lUSE9VVF9U
UkFOU0lUSU9OKHZtLnByb3BlcnR5TmFtZXMtPmNvbXBpbGUsIHJlZ0V4cFByb3RvRnVuY0NvbXBp
bGUsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCAy
KTsKICAgICBKU0NfTkFUSVZFX0lOVFJJTlNJQ19GVU5DVElPTl9XSVRIT1VUX1RSQU5TSVRJT04o
dm0ucHJvcGVydHlOYW1lcy0+ZXhlYywgcmVnRXhwUHJvdG9GdW5jRXhlYywgc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIDEsIFJlZ0V4cEV4ZWNJbnRy
aW5zaWMpOwogICAgIEpTQ19OQVRJVkVfRlVOQ1RJT05fV0lUSE9VVF9UUkFOU0lUSU9OKHZtLnBy
b3BlcnR5TmFtZXMtPnRvU3RyaW5nLCByZWdFeHBQcm90b0Z1bmNUb1N0cmluZywgc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIDApOwotICAgIEpTQ19O
QVRJVkVfR0VUVEVSKHZtLnByb3BlcnR5TmFtZXMtPmdsb2JhbCwgcmVnRXhwUHJvdG9HZXR0ZXJH
bG9iYWwsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpB
Y2Nlc3Nvcik7Ci0gICAgSlNDX05BVElWRV9HRVRURVIodm0ucHJvcGVydHlOYW1lcy0+ZG90QWxs
LCByZWdFeHBQcm90b0dldHRlckRvdEFsbCwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwg
UHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yKTsKLSAgICBKU0NfTkFUSVZFX0dFVFRFUih2bS5w
cm9wZXJ0eU5hbWVzLT5pZ25vcmVDYXNlLCByZWdFeHBQcm90b0dldHRlcklnbm9yZUNhc2UsIFBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpBY2Nlc3Nvcik7
Ci0gICAgSlNDX05BVElWRV9HRVRURVIodm0ucHJvcGVydHlOYW1lcy0+bXVsdGlsaW5lLCByZWdF
eHBQcm90b0dldHRlck11bHRpbGluZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJv
cGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yKTsKLSAgICBKU0NfTkFUSVZFX0dFVFRFUih2bS5wcm9w
ZXJ0eU5hbWVzLT5zdGlja3ksIHJlZ0V4cFByb3RvR2V0dGVyU3RpY2t5LCBQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6QWNjZXNzb3IpOwotICAgIEpTQ19O
QVRJVkVfR0VUVEVSKHZtLnByb3BlcnR5TmFtZXMtPnVuaWNvZGUsIHJlZ0V4cFByb3RvR2V0dGVy
VW5pY29kZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6
OkFjY2Vzc29yKTsKLSAgICBKU0NfTkFUSVZFX0dFVFRFUih2bS5wcm9wZXJ0eU5hbWVzLT5zb3Vy
Y2UsIHJlZ0V4cFByb3RvR2V0dGVyU291cmNlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0g
fCBQcm9wZXJ0eUF0dHJpYnV0ZTo6QWNjZXNzb3IpOwotICAgIEpTQ19OQVRJVkVfR0VUVEVSKHZt
LnByb3BlcnR5TmFtZXMtPmZsYWdzLCByZWdFeHBQcm90b0dldHRlckZsYWdzLCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6QWNjZXNzb3IpOworICAgIEpT
Q19OQVRJVkVfR0VUVEVSX1dJVEhPVVRfVFJBTlNJVElPTih2bS5wcm9wZXJ0eU5hbWVzLT5nbG9i
YWwsIHJlZ0V4cFByb3RvR2V0dGVyR2xvYmFsLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0g
fCBQcm9wZXJ0eUF0dHJpYnV0ZTo6QWNjZXNzb3IpOworICAgIEpTQ19OQVRJVkVfR0VUVEVSX1dJ
VEhPVVRfVFJBTlNJVElPTih2bS5wcm9wZXJ0eU5hbWVzLT5kb3RBbGwsIHJlZ0V4cFByb3RvR2V0
dGVyRG90QWxsLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0
ZTo6QWNjZXNzb3IpOworICAgIEpTQ19OQVRJVkVfR0VUVEVSX1dJVEhPVVRfVFJBTlNJVElPTih2
bS5wcm9wZXJ0eU5hbWVzLT5pZ25vcmVDYXNlLCByZWdFeHBQcm90b0dldHRlcklnbm9yZUNhc2Us
IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpBY2Nlc3Nv
cik7CisgICAgSlNDX05BVElWRV9HRVRURVJfV0lUSE9VVF9UUkFOU0lUSU9OKHZtLnByb3BlcnR5
TmFtZXMtPm11bHRpbGluZSwgcmVnRXhwUHJvdG9HZXR0ZXJNdWx0aWxpbmUsIFByb3BlcnR5QXR0
cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpBY2Nlc3Nvcik7CisgICAgSlND
X05BVElWRV9HRVRURVJfV0lUSE9VVF9UUkFOU0lUSU9OKHZtLnByb3BlcnR5TmFtZXMtPnN0aWNr
eSwgcmVnRXhwUHJvdG9HZXR0ZXJTdGlja3ksIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8
IFByb3BlcnR5QXR0cmlidXRlOjpBY2Nlc3Nvcik7CisgICAgSlNDX05BVElWRV9HRVRURVJfV0lU
SE9VVF9UUkFOU0lUSU9OKHZtLnByb3BlcnR5TmFtZXMtPnVuaWNvZGUsIHJlZ0V4cFByb3RvR2V0
dGVyVW5pY29kZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1
dGU6OkFjY2Vzc29yKTsKKyAgICBKU0NfTkFUSVZFX0dFVFRFUl9XSVRIT1VUX1RSQU5TSVRJT04o
dm0ucHJvcGVydHlOYW1lcy0+c291cmNlLCByZWdFeHBQcm90b0dldHRlclNvdXJjZSwgUHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yKTsKKyAg
ICBKU0NfTkFUSVZFX0dFVFRFUl9XSVRIT1VUX1RSQU5TSVRJT04odm0ucHJvcGVydHlOYW1lcy0+
ZmxhZ3MsIHJlZ0V4cFByb3RvR2V0dGVyRmxhZ3MsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51
bSB8IFByb3BlcnR5QXR0cmlidXRlOjpBY2Nlc3Nvcik7CiAgICAgSlNDX0JVSUxUSU5fRlVOQ1RJ
T05fV0lUSE9VVF9UUkFOU0lUSU9OKHZtLnByb3BlcnR5TmFtZXMtPm1hdGNoU3ltYm9sLCByZWdF
eHBQcm90b3R5cGVNYXRjaENvZGVHZW5lcmF0b3IsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9w
ZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pKTsKICAgICBKU0NfQlVJTFRJTl9GVU5DVElPTl9XSVRI
T1VUX1RSQU5TSVRJT04odm0ucHJvcGVydHlOYW1lcy0+cmVwbGFjZVN5bWJvbCwgcmVnRXhwUHJv
dG90eXBlUmVwbGFjZUNvZGVHZW5lcmF0b3IsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udEVudW0pKTsKICAgICBKU0NfQlVJTFRJTl9GVU5DVElPTl9XSVRIT1VU
X1RSQU5TSVRJT04odm0ucHJvcGVydHlOYW1lcy0+c2VhcmNoU3ltYm9sLCByZWdFeHBQcm90b3R5
cGVTZWFyY2hDb2RlR2VuZXJhdG9yLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TZXRDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
ZXRDb25zdHJ1Y3Rvci5jcHAKaW5kZXggZjYwYmZjZTYwMGQ5ZWIwMjQwYTJhYTE0YWZlMjcxY2Y4
NDNiNjc0OS4uNjAyYmVkOWU1YTU3ZTE4ZmJlODJiZTVkNzg1ZjkzYWQ0ZjQwMjgwOSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2V0Q29uc3RydWN0b3IuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldENvbnN0cnVjdG9yLmNwcApAQCAt
NDEsMTAgKzQxLDEwIEBAIGNvbnN0IENsYXNzSW5mbyBTZXRDb25zdHJ1Y3Rvcjo6c19pbmZvID0g
eyAiRnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBuCiAKIHZvaWQgU2V0Q29uc3Ry
dWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgU2V0UHJvdG90eXBlKiBzZXRQcm90b3R5cGUs
IEdldHRlclNldHRlciogc3BlY2llc1N5bWJvbCkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlv
bih2bSwgc2V0UHJvdG90eXBlLT5jbGFzc0luZm8odm0pLT5jbGFzc05hbWUpOworICAgIEJhc2U6
OmZpbmlzaENyZWF0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5TZXQuc3RyaW5nKCksIE5hbWVW
aXNpYmlsaXR5OjpWaXNpYmxlLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJlVHJh
bnNpdGlvbik7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5
TmFtZXMtPnByb3RvdHlwZSwgc2V0UHJvdG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpS
ZWFkT25seSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5
TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8
IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7Ci0gICAgcHV0RGlyZWN0Tm9uSW5kZXhBY2Nl
c3Nvcih2bSwgdm0ucHJvcGVydHlOYW1lcy0+c3BlY2llc1N5bWJvbCwgc3BlY2llc1N5bWJvbCwg
UHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5
IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKKyAgICBwdXREaXJlY3ROb25JbmRleEFj
Y2Vzc29yV2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnNwZWNpZXNTeW1i
b2wsIHNwZWNpZXNTeW1ib2wsIFByb3BlcnR5QXR0cmlidXRlOjpBY2Nlc3NvciB8IFByb3BlcnR5
QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiB9CiAK
IHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNhbGxTZXQoRXhlY1N0YXRlKik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TZXRQcm90b3R5cGUu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2V0UHJvdG90eXBlLmNwcAppbmRl
eCBlNGVjZGVmMGQ4OGFkOGNiN2IxOWFjOWIzNTc2MWE0OTZhNzdjZjcxLi40ZmI4OGVjZDA2M2Jl
MDRmZTdkN2NiZTg2N2M3ZjllNWQzMjBhZmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TZXRQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1NldFByb3RvdHlwZS5jcHAKQEAgLTc0LDcgKzc0LDcgQEAgdm9pZCBTZXRQcm90
b3R5cGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCkKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
aXRlcmF0b3JTeW1ib2wsIHZhbHVlcywgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0
cmlidXRlOjpEb250RW51bSkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT50b1N0cmluZ1RhZ1N5bWJvbCwganNTdHJpbmcoJnZtLCAiU2V0Iiks
IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25s
eSk7CiAKLSAgICBKU0NfTkFUSVZFX0dFVFRFUih2bS5wcm9wZXJ0eU5hbWVzLT5zaXplLCBzZXRQ
cm90b0Z1bmNTaXplLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJp
YnV0ZTo6QWNjZXNzb3IpOworICAgIEpTQ19OQVRJVkVfR0VUVEVSX1dJVEhPVVRfVFJBTlNJVElP
Tih2bS5wcm9wZXJ0eU5hbWVzLT5zaXplLCBzZXRQcm90b0Z1bmNTaXplLCBQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6QWNjZXNzb3IpOwogfQogCiBBTFdB
WVNfSU5MSU5FIHN0YXRpYyBKU1NldCogZ2V0U2V0KENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU1Zh
bHVlIHRoaXNWYWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cmluZ0NvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0
cmluZ0NvbnN0cnVjdG9yLmNwcAppbmRleCBjZjViOGE4ZGY3MzgyNTQxMDRlMzhmZjgwMjk0ZDZh
YzI5M2Y2MWVhLi41NTU3Mzc0NDg3ZjcyYmVjZGE3NzFkZjNlZjI3OWQyZmFjYjkwYmYyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3Iu
Y3BwCkBAIC02Myw3ICs2Myw3IEBAIFN0cmluZ0NvbnN0cnVjdG9yOjpTdHJpbmdDb25zdHJ1Y3Rv
cihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQogCiB2b2lkIFN0cmluZ0NvbnN0cnVjdG9y
OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFN0cmluZ1Byb3RvdHlwZSogc3RyaW5nUHJvdG90eXBl
KQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCBzdHJpbmdQcm90b3R5cGUtPmNsYXNz
SW5mbyh2bSktPmNsYXNzTmFtZSk7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIHZtLnBy
b3BlcnR5TmFtZXMtPlN0cmluZy5zdHJpbmcoKSwgTmFtZVZpc2liaWxpdHk6OlZpc2libGUsIE5h
bWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0aW9uKTsKICAgICBwdXREaXJl
Y3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBzdHJp
bmdQcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmli
dXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlKTsKICAgICBwdXRE
aXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051
bWJlcigxKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N5bWJvbENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5
bWJvbENvbnN0cnVjdG9yLmNwcAppbmRleCBhYzZmZTg1MWY1MTU0ZjVmMGQxYWQ4MDA5MDU0Y2Q2
NGZkYWQyYTkwLi4wZTBiY2I4MTU4ZDFiOGMyODRhNzRiNmVmZGI3ZmUzMjJkOTQ2YjI3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xDb25zdHJ1Y3Rvci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sQ29uc3RydWN0b3Iu
Y3BwCkBAIC02OCw3ICs2OCw3IEBAIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCBJZGVu
dGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgI25hbWUpLCBTeW1ib2w6OmNyZWF0CiAKIHZvaWQgU3lt
Ym9sQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgU3ltYm9sUHJvdG90eXBlKiBw
cm90b3R5cGUpCiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIHByb3RvdHlwZS0+Y2xh
c3NJbmZvKHZtKS0+Y2xhc3NOYW1lKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgdm0u
cHJvcGVydHlOYW1lcy0+U3ltYm9sLnN0cmluZygpLCBOYW1lVmlzaWJpbGl0eTo6VmlzaWJsZSwg
TmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1dERp
cmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHBy
b3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwogICAgIHB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVy
KDApLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFr
TWFwQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha01h
cENvbnN0cnVjdG9yLmNwcAppbmRleCBlMGZlMmE4MTUzMGI1MDY2MmZmODhhNWQ2MjFhM2FjNWY1
N2EwZTMzLi4zOWEyMDc2MGEwMTk5MGU2MGI3YWRhMmNhYmQ2NjlkYjcwNWVhZjhlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrTWFwQ29uc3RydWN0b3IuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtNYXBDb25zdHJ1Y3Rvci5j
cHAKQEAgLTQwLDcgKzQwLDcgQEAgY29uc3QgQ2xhc3NJbmZvIFdlYWtNYXBDb25zdHJ1Y3Rvcjo6
c19pbmZvID0geyAiRnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCBudWxscHQKIAogdm9pZCBXZWFr
TWFwQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgV2Vha01hcFByb3RvdHlwZSog
cHJvdG90eXBlKQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCBwcm90b3R5cGUtPmNs
YXNzSW5mbyh2bSktPmNsYXNzTmFtZSk7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sICJX
ZWFrTWFwIl9zLCBOYW1lVmlzaWJpbGl0eTo6VmlzaWJsZSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0
aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHByb3RvdHlwZSwgUHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha1NldENvbnN0cnVjdG9yLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtTZXRDb25zdHJ1Y3Rvci5jcHAKaW5k
ZXggMDdkZDJmYjJhZDgzMTgzZjAwMDJmYjQwNmVlZjkyYjJmYjNjZTVlNS4uNjUyNDlkNWJjMGEx
NTRhNmNkMTNiMmVkM2U0NzVmNWRmYmIxZThiOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvV2Vha1NldENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9XZWFrU2V0Q29uc3RydWN0b3IuY3BwCkBAIC00MCw3ICs0MCw3IEBA
IGNvbnN0IENsYXNzSW5mbyBXZWFrU2V0Q29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9u
IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0CiAKIHZvaWQgV2Vha1NldENvbnN0cnVjdG9yOjpmaW5p
c2hDcmVhdGlvbihWTSYgdm0sIFdlYWtTZXRQcm90b3R5cGUqIHByb3RvdHlwZSkKIHsKLSAgICBC
YXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgcHJvdG90eXBlLT5jbGFzc0luZm8odm0pLT5jbGFzc05h
bWUpOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAiV2Vha1NldCJfcywgTmFtZVZpc2li
aWxpdHk6OlZpc2libGUsIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1Y3R1cmVUcmFuc2l0
aW9uKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1l
cy0+cHJvdG90eXBlLCBwcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFBy
b3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5
KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
bGVuZ3RoLCBqc051bWJlcigwKSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1
Y3Rvci5jcHAKaW5kZXggN2VlZmM3ZWEzMmFjN2E4ODlmMDBmZGMxYjFjYjg4Njc4MzJmOGQyYi4u
YzZlOTc4NjU1NjZhYmFkZTI2ZDZlZjFjNDkyMDcyM2I1MTEzODRmNyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1
Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlD
b21waWxlRXJyb3JDb25zdHJ1Y3Rvci5jcHAKQEAgLTc1LDcgKzc1LDcgQEAgU3RydWN0dXJlKiBX
ZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZt
LCBKU0dsb2JhbE8KIAogdm9pZCBXZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yOjpm
aW5pc2hDcmVhdGlvbihWTSYgdm0sIFdlYkFzc2VtYmx5Q29tcGlsZUVycm9yUHJvdG90eXBlKiBw
cm90b3R5cGUpCiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sICJDb21waWxlRXJyb3Ii
X3MpOworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCAiQ29tcGlsZUVycm9yIl9zLCBOYW1l
VmlzaWJpbGl0eTo6VmlzaWJsZSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRy
YW5zaXRpb24pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5wcm90b3R5cGUsIHByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5
IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRE
ZWxldGUpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0
ZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3Nl
bWJseUluc3RhbmNlQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
anMvV2ViQXNzZW1ibHlJbnN0YW5jZUNvbnN0cnVjdG9yLmNwcAppbmRleCBkZDhlZjVmZGM3Mjgx
MjM4MDc0ZTc3NTExOWRhOGM3NWQwZjY5YzZiLi5lY2JkNTg3YWVmNjQ5NTMzMTZiZGY0Yzc4YjIx
YTY3NWRjNDdmZjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9X
ZWJBc3NlbWJseUluc3RhbmNlQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5SW5zdGFuY2VDb25zdHJ1Y3Rvci5jcHAKQEAgLTEwNiw3
ICsxMDYsNyBAQCBTdHJ1Y3R1cmUqIFdlYkFzc2VtYmx5SW5zdGFuY2VDb25zdHJ1Y3Rvcjo6Y3Jl
YXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplYwogCiB2b2lkIFdlYkFzc2VtYmx5SW5z
dGFuY2VDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBXZWJBc3NlbWJseUluc3Rh
bmNlUHJvdG90eXBlKiBwcm90b3R5cGUpCiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0s
ICJJbnN0YW5jZSJfcyk7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sICJJbnN0YW5jZSJf
cywgTmFtZVZpc2liaWxpdHk6OlZpc2libGUsIE5hbWVBZGRpdGlvbk1vZGU6OldpdGhvdXRTdHJ1
Y3R1cmVUcmFuc2l0aW9uKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0u
cHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBwcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJv
cGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigxKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnREZWxldGUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMv
V2ViQXNzZW1ibHlMaW5rRXJyb3JDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9qcy9XZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0cnVjdG9yLmNwcAppbmRleCBiMTBh
ZWFiZWQzNzNmYmQ0OWEwNjVjYjE4Yjk4NGU3YjVkMzRlMjAyLi5hZDg5NDQ2MGFjNjQ2MDU4MWQ5
ZDM5ZjQ1MDQ5YTU0ODEzMTU4M2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d2FzbS9qcy9XZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0cnVjdG9yLmNw
cApAQCAtNzUsNyArNzUsNyBAQCBTdHJ1Y3R1cmUqIFdlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3Ry
dWN0b3I6OmNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZQogCiB2b2lkIFdlYkFz
c2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgV2ViQXNz
ZW1ibHlMaW5rRXJyb3JQcm90b3R5cGUqIHByb3RvdHlwZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hD
cmVhdGlvbih2bSwgIkxpbmtFcnJvciJfcyk7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0s
ICJMaW5rRXJyb3IiX3MsIE5hbWVWaXNpYmlsaXR5OjpWaXNpYmxlLCBOYW1lQWRkaXRpb25Nb2Rl
OjpXaXRob3V0U3RydWN0dXJlVHJhbnNpdGlvbik7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5z
aXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgcHJvdG90eXBlLCBQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9w
ZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRp
b24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMSksIFByb3BlcnR5QXR0
cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5
QXR0cmlidXRlOjpEb250RGVsZXRlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TWVtb3J5Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNZW1vcnlDb25zdHJ1Y3Rvci5jcHAKaW5k
ZXggMWQ5ZTcxMjlhMDM0Y2VjYmE1OTgxNzI2YWIxODQ5Mjk2MjYxNmE0Yi4uY2Q0YzBkMDBlZjM1
YzYwZjdjOWIxMGQ2NjhhYzc2NDVkNTI4M2QxMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNZW1vcnlDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNZW1vcnlDb25zdHJ1Y3Rvci5j
cHAKQEAgLTEzNCw3ICsxMzQsNyBAQCBTdHJ1Y3R1cmUqIFdlYkFzc2VtYmx5TWVtb3J5Q29uc3Ry
dWN0b3I6OmNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KgogCiB2b2lkIFdl
YkFzc2VtYmx5TWVtb3J5Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgV2ViQXNz
ZW1ibHlNZW1vcnlQcm90b3R5cGUqIHByb3RvdHlwZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVh
dGlvbih2bSwgIk1lbW9yeSJfcyk7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sICJNZW1v
cnkiX3MsIE5hbWVWaXNpYmlsaXR5OjpWaXNpYmxlLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0
U3RydWN0dXJlVHJhbnNpdGlvbik7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0s
IHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgcHJvdG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0
cmlidXRlOjpSZWFkT25seSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZt
LnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMSksIFByb3BlcnR5QXR0cmlidXRlOjpS
ZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRl
OjpEb250RGVsZXRlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L2pzL1dlYkFzc2VtYmx5TW9kdWxlQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVDb25zdHJ1Y3Rvci5jcHAKaW5kZXggZTQ4MWMy
ZGE0NTkxYWM1OWQyYjgzMmE0ZWY3ZWNlNWJmOTU0NWM5My4uYzEwMWI4ZjYxZGZlYjRiMjBhNGYy
Njc1ZjI0ZmM4OWRjOGQ2MjE5MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvV2ViQXNzZW1ibHlNb2R1bGVDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVDb25zdHJ1Y3Rvci5jcHAKQEAgLTIw
MSw3ICsyMDEsNyBAQCBTdHJ1Y3R1cmUqIFdlYkFzc2VtYmx5TW9kdWxlQ29uc3RydWN0b3I6OmNy
ZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KgogCiB2b2lkIFdlYkFzc2VtYmx5
TW9kdWxlQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgV2ViQXNzZW1ibHlNb2R1
bGVQcm90b3R5cGUqIHByb3RvdHlwZSkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwg
Ik1vZHVsZSJfcyk7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sICJNb2R1bGUiX3MsIE5h
bWVWaXNpYmlsaXR5OjpWaXNpYmxlLCBOYW1lQWRkaXRpb25Nb2RlOjpXaXRob3V0U3RydWN0dXJl
VHJhbnNpdGlvbik7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3Bl
cnR5TmFtZXMtPnByb3RvdHlwZSwgcHJvdG90eXBlLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpS
ZWFkT25seSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5
TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMSksIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8
IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVs
ZXRlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFz
c2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vanMvV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggYTE0
MjQzYjJlOWZhOTE4YWE5MDk4ZWEwYzFkNDUwZWJhNjNlZTZjOC4uYTBiOGMxYzc3NWVhMGRlYmMw
M2M3OGZmOTI4MWE5ZWVmN2YzYzhjNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vanMvV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1
Y3Rvci5jcHAKQEAgLTc1LDcgKzc1LDcgQEAgU3RydWN0dXJlKiBXZWJBc3NlbWJseVJ1bnRpbWVF
cnJvckNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE8KIAogdm9p
ZCBXZWJBc3NlbWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYg
dm0sIFdlYkFzc2VtYmx5UnVudGltZUVycm9yUHJvdG90eXBlKiBwcm90b3R5cGUpCiB7Ci0gICAg
QmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sICJSdW50aW1lRXJyb3IiX3MpOworICAgIEJhc2U6OmZp
bmlzaENyZWF0aW9uKHZtLCAiUnVudGltZUVycm9yIl9zLCBOYW1lVmlzaWJpbGl0eTo6VmlzaWJs
ZSwgTmFtZUFkZGl0aW9uTW9kZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1
dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUs
IHByb3RvdHlwZSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUpOwogICAgIHB1dERp
cmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVt
YmVyKDEpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6
RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVRhYmxlQ29uc3RydWN0
b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlUYWJsZUNv
bnN0cnVjdG9yLmNwcAppbmRleCA5NzQ2YzQ5OTg0YjhlYmYwODQyN2Y1NjhjZWZkOTNhNjk4YjYw
ZGIyLi5hNDE1Mzg1YmJhNDM5Y2E0MWQxNWQ5NzdjY2VkNjNhOTc3YmVmN2U0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVRhYmxlQ29uc3RydWN0
b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5VGFi
bGVDb25zdHJ1Y3Rvci5jcHAKQEAgLTEyMCw3ICsxMjAsNyBAQCBTdHJ1Y3R1cmUqIFdlYkFzc2Vt
Ymx5VGFibGVDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmpl
Y3QqCiAKIHZvaWQgV2ViQXNzZW1ibHlUYWJsZUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihW
TSYgdm0sIFdlYkFzc2VtYmx5VGFibGVQcm90b3R5cGUqIHByb3RvdHlwZSkKIHsKLSAgICBCYXNl
OjpmaW5pc2hDcmVhdGlvbih2bSwgIlRhYmxlIl9zKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlv
bih2bSwgIlRhYmxlIl9zLCBOYW1lVmlzaWJpbGl0eTo6VmlzaWJsZSwgTmFtZUFkZGl0aW9uTW9k
ZTo6V2l0aG91dFN0cnVjdHVyZVRyYW5zaXRpb24pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFu
c2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHByb3RvdHlwZSwgUHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0
aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSk7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>