<?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>124595</bug_id>
          
          <creation_ts>2013-11-19 12:18:38 -0800</creation_ts>
          <short_desc>Get rid of bare new in SVGAnimatedColorAnimator::constructFromString()</short_desc>
          <delta_ts>2013-11-19 13:12:11 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sergio Correia (qrwteyrutiyoup)">sergio</reporter>
          <assigned_to name="Sergio Correia (qrwteyrutiyoup)">sergio</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>d-r</cc>
    
    <cc>fmalita</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>pdr</cc>
    
    <cc>schenney</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>952176</commentid>
    <comment_count>0</comment_count>
    <who name="Sergio Correia (qrwteyrutiyoup)">sergio</who>
    <bug_when>2013-11-19 12:18:38 -0800</bug_when>
    <thetext>Get rid of bare new in SVGAnimatedColorAnimator::constructFromString()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952177</commentid>
    <comment_count>1</comment_count>
    <who name="Sergio Correia (qrwteyrutiyoup)">sergio</who>
    <bug_when>2013-11-19 12:19:23 -0800</bug_when>
    <thetext>Use std::unique_ptr instead, to manage the arguments passed to the create methods of SVGAnimatedType.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952178</commentid>
    <comment_count>2</comment_count>
      <attachid>217315</attachid>
    <who name="Sergio Correia (qrwteyrutiyoup)">sergio</who>
    <bug_when>2013-11-19 12:20:25 -0800</bug_when>
    <thetext>Created attachment 217315
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952192</commentid>
    <comment_count>3</comment_count>
      <attachid>217315</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-11-19 12:46:32 -0800</bug_when>
    <thetext>Comment on attachment 217315
Patch

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

&gt; Source/WebCore/svg/SVGAnimatedTypeAnimator.h:79
&gt; +        executeAction&lt;AnimValType&gt;(StartAnimationAction, animatedTypes, 0, copy.get());

Given this call site, looks like executeAction should be taking a reference rather than a pointer. Some day we should make that change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952204</commentid>
    <comment_count>4</comment_count>
      <attachid>217315</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-19 13:12:08 -0800</bug_when>
    <thetext>Comment on attachment 217315
Patch

Clearing flags on attachment: 217315

Committed r159516: &lt;http://trac.webkit.org/changeset/159516&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952205</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-19 13:12:11 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217315</attachid>
            <date>2013-11-19 12:20:25 -0800</date>
            <delta_ts>2013-11-19 13:12:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-124595-20131119172016.patch</filename>
            <type>text/plain</type>
            <size>31402</size>
            <attacher name="Sergio Correia (qrwteyrutiyoup)">sergio</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5NTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDg4Yzk5YmI1NTkwZDQ3
YTUyN2ZiMmE3YzA3MTVkZTlkOGQ3NWQ0ZS4uNDI3YTA4ZTJlN2ZhMzg1NDU1NDhmNGUzZDAzYjdk
MTA3ZWEwMDI2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDc5IEBACiAyMDEzLTExLTE5ICBTZXJn
aW8gQ29ycmVpYSAgPHNlcmdpby5jb3JyZWlhQG9wZW5ib3NzYS5vcmc+CiAKKyAgICAgICAgR2V0
IHJpZCBvZiBiYXJlIG5ldyBpbiBTVkdBbmltYXRlZENvbG9yQW5pbWF0b3I6OmNvbnN0cnVjdEZy
b21TdHJpbmcoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTI0NTk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVXNlIHN0ZDo6dW5pcXVlX3B0ciBpbnN0ZWFkLCB0byBtYW5hZ2UgdGhlIGFyZ3VtZW50cyBw
YXNzZWQgdG8gdGhlIGNyZWF0ZQorICAgICAgICBtZXRob2RzIG9mIFNWR0FuaW1hdGVkVHlwZS4K
KworICAgICAgICBObyBuZXcgdGVzdHMsIGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAg
ICAgICAgKiBzdmcvU1ZHQW5pbWF0ZWRBbmdsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdB
bmltYXRlZEFuZ2xlQW5pbWF0b3I6OmNvbnN0cnVjdEZyb21TdHJpbmcpOiBSZXBsYWNlIGJhcmUK
KyAgICAgICAgcG9pbnRlciB3aXRoIHN0ZDo6dW5pcXVlX3B0ci4KKyAgICAgICAgKiBzdmcvU1ZH
QW5pbWF0ZWRCb29sZWFuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkQm9vbGVh
bkFuaW1hdG9yOjpjb25zdHJ1Y3RGcm9tU3RyaW5nKTogRGl0dG8uCisgICAgICAgICogc3ZnL1NW
R0FuaW1hdGVkQ29sb3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRDb2xvckFu
aW1hdG9yOjpjb25zdHJ1Y3RGcm9tU3RyaW5nKTogRGl0dG8uCisgICAgICAgICogc3ZnL1NWR0Fu
aW1hdGVkRW51bWVyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRFbnVt
ZXJhdGlvbkFuaW1hdG9yOjpjb25zdHJ1Y3RGcm9tU3RyaW5nKTogRGl0dG8uCisgICAgICAgICog
c3ZnL1NWR0FuaW1hdGVkSW50ZWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRl
ZEludGVnZXJBbmltYXRvcjo6Y29uc3RydWN0RnJvbVN0cmluZyk6IERpdHRvLgorICAgICAgICAq
IHN2Zy9TVkdBbmltYXRlZEludGVnZXJPcHRpb25hbEludGVnZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHQW5pbWF0ZWRJbnRlZ2VyT3B0aW9uYWxJbnRlZ2VyQW5pbWF0b3I6OmNvbnN0cnVj
dEZyb21TdHJpbmcpOgorICAgICAgICBEaXR0by4KKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZWRM
ZW5ndGguY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRMZW5ndGhBbmltYXRvcjo6
Y29uc3RydWN0RnJvbVN0cmluZyk6IERpdHRvLgorICAgICAgICAqIHN2Zy9TVkdBbmltYXRlZExl
bmd0aExpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRMZW5ndGhMaXN0QW5p
bWF0b3I6OmNvbnN0cnVjdEZyb21TdHJpbmcpOiBEaXR0by4KKyAgICAgICAgKiBzdmcvU1ZHQW5p
bWF0ZWROdW1iZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWROdW1iZXJBbmlt
YXRvcjo6Y29uc3RydWN0RnJvbVN0cmluZyk6IERpdHRvLgorICAgICAgICAqIHN2Zy9TVkdBbmlt
YXRlZE51bWJlckxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWROdW1iZXJM
aXN0QW5pbWF0b3I6OmNvbnN0cnVjdEZyb21TdHJpbmcpOiBEaXR0by4KKyAgICAgICAgKiBzdmcv
U1ZHQW5pbWF0ZWROdW1iZXJPcHRpb25hbE51bWJlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
VkdBbmltYXRlZE51bWJlck9wdGlvbmFsTnVtYmVyQW5pbWF0b3I6OmNvbnN0cnVjdEZyb21TdHJp
bmcpOgorICAgICAgICBEaXR0by4KKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZWRQb2ludExpc3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRQb2ludExpc3RBbmltYXRvcjo6Y29u
c3RydWN0RnJvbVN0cmluZyk6IERpdHRvLgorICAgICAgICAqIHN2Zy9TVkdBbmltYXRlZFByZXNl
cnZlQXNwZWN0UmF0aW8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRQcmVzZXJ2
ZUFzcGVjdFJhdGlvQW5pbWF0b3I6OmNvbnN0cnVjdEZyb21TdHJpbmcpOgorICAgICAgICBEaXR0
by4KKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZWRSZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0FuaW1hdGVkUmVjdEFuaW1hdG9yOjpjb25zdHJ1Y3RGcm9tU3RyaW5nKTogRGl0dG8uCisg
ICAgICAgICogc3ZnL1NWR0FuaW1hdGVkU3RyaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0FuaW1hdGVkU3RyaW5nQW5pbWF0b3I6OmNvbnN0cnVjdEZyb21TdHJpbmcpOiBEaXR0by4KKyAg
ICAgICAgKiBzdmcvU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNWR0FuaW1hdGVkVHJhbnNmb3JtTGlzdEFuaW1hdG9yOjpjb25zdHJ1Y3RGcm9tU3RyaW5n
KToKKyAgICAgICAgRGl0dG8uCisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVkVHlwZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZUFuZ2xlQW5kRW51bWVyYXRp
b24pOiBVc2UKKyAgICAgICAgc3RkOjp1bmlxdWVfcHRyIGluc3RlYWQgb2YgYmFyZSBwb2ludGVy
IGFzIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkVHlwZTo6Y3JlYXRl
Qm9vbGVhbik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRUeXBlOjpjcmVh
dGVDb2xvcik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRUeXBlOjpjcmVh
dGVFbnVtZXJhdGlvbik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRUeXBl
OjpjcmVhdGVJbnRlZ2VyKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFR5
cGU6OmNyZWF0ZUludGVnZXJPcHRpb25hbEludGVnZXIpOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OlNWR0FuaW1hdGVkVHlwZTo6Y3JlYXRlTGVuZ3RoKTogRGl0dG8uCisgICAgICAgIChXZWJD
b3JlOjpTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZUxlbmd0aExpc3QpOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6OlNWR0FuaW1hdGVkVHlwZTo6Y3JlYXRlTnVtYmVyKTogRGl0dG8uCisgICAgICAg
IChXZWJDb3JlOjpTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZU51bWJlckxpc3QpOiBEaXR0by4KKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkVHlwZTo6Y3JlYXRlTnVtYmVyT3B0aW9uYWxOdW1i
ZXIpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkVHlwZTo6Y3JlYXRlUG9p
bnRMaXN0KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFR5cGU6OmNyZWF0
ZVByZXNlcnZlQXNwZWN0UmF0aW8pOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1h
dGVkVHlwZTo6Y3JlYXRlUmVjdCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0
ZWRUeXBlOjpjcmVhdGVTdHJpbmcpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1h
dGVkVHlwZTo6Y3JlYXRlVHJhbnNmb3JtTGlzdCk6IERpdHRvLgorICAgICAgICAqIHN2Zy9TVkdB
bmltYXRlZFR5cGUuaDogVXNlIHN0ZDo6dW5pcXVlX3B0ciBhcyBwYXJhbWV0ZXIgaW4gdGhlCisg
ICAgICAgIGNyZWF0ZSBtZXRob2RzLgorICAgICAgICAqIHN2Zy9TVkdBbmltYXRlZFR5cGVBbmlt
YXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRUeXBlQW5pbWF0b3I6OmNvbnN0
cnVjdEZyb21CYXNlVmFsdWUpOiBNYWtlCisgICAgICAgIGhlbHBlciByZXR1cm4gc3RkOjp1bmlx
dWVfcHRyIGluc3RlYWQgb2YgYmFyZSBwb2ludGVyLgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5p
bWF0ZWRUeXBlQW5pbWF0b3I6OmNvbnN0cnVjdEZyb21CYXNlVmFsdWVzKTogRGl0dG8uCisKKzIw
MTMtMTEtMTkgIFNlcmdpbyBDb3JyZWlhICA8c2VyZ2lvLmNvcnJlaWFAb3BlbmJvc3NhLm9yZz4K
KwogICAgICAgICBNYXJrIGNsYXNzZXMgZGVyaXZpbmcgZnJvbSBTVkdBbmltYXRlZFR5cGVBbmlt
YXRvciBhcyBGSU5BTAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTI0NDU2CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRl
ZEFuZ2xlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEFuZ2xlLmNwcAppbmRl
eCA0ZTJlOTdiZTQ0YWQyOGQ2ZTI5NThlNGNhMDE4OWNjOGUxOGIyZTMyLi4yMDhjZTdjMWZmMGM5
ODk5ZmIzZjc3OWQ5ZDgyNzExZTk4MTVjMTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHQW5pbWF0ZWRBbmdsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1h
dGVkQW5nbGUuY3BwCkBAIC0zNCw3ICszNCw3IEBAIFNWR0FuaW1hdGVkQW5nbGVBbmltYXRvcjo6
U1ZHQW5pbWF0ZWRBbmdsZUFuaW1hdG9yKFNWR0FuaW1hdGlvbkVsZW1lbnQqIGFuaW1hdGlvCiAK
IHN0ZDo6dW5pcXVlX3B0cjxTVkdBbmltYXRlZFR5cGU+IFNWR0FuaW1hdGVkQW5nbGVBbmltYXRv
cjo6Y29uc3RydWN0RnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykKIHsKLSAgICBhdXRv
IGFuaW1hdGVkVHlwZSA9IFNWR0FuaW1hdGVkVHlwZTo6Y3JlYXRlQW5nbGVBbmRFbnVtZXJhdGlv
bihuZXcgcGFpcjxTVkdBbmdsZSwgdW5zaWduZWQ+KTsKKyAgICBhdXRvIGFuaW1hdGVkVHlwZSA9
IFNWR0FuaW1hdGVkVHlwZTo6Y3JlYXRlQW5nbGVBbmRFbnVtZXJhdGlvbihzdGQ6Om1ha2VfdW5p
cXVlPHBhaXI8U1ZHQW5nbGUsIHVuc2lnbmVkPj4oKSk7CiAgICAgcGFpcjxTVkdBbmdsZSwgdW5z
aWduZWQ+JiBhbmltYXRlZFBhaXIgPSBhbmltYXRlZFR5cGUtPmFuZ2xlQW5kRW51bWVyYXRpb24o
KTsKIAogICAgIFNWR0FuZ2xlIGFuZ2xlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0FuaW1hdGVkQm9vbGVhbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRC
b29sZWFuLmNwcAppbmRleCBmZjFhY2RiOTVhZTFlZTU3MzIwZjA0M2I4NDZkMDFiZDlmZTVmYWJi
Li40MTE3N2JlYWJiZjc0MTk4ZGI4ZDg4YzhjZWEwMjQ5MWUwZWE5M2ZiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRCb29sZWFuLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHQW5pbWF0ZWRCb29sZWFuLmNwcApAQCAtMzMsNyArMzMsNyBAQCBTVkdBbmlt
YXRlZEJvb2xlYW5BbmltYXRvcjo6U1ZHQW5pbWF0ZWRCb29sZWFuQW5pbWF0b3IoU1ZHQW5pbWF0
aW9uRWxlbWVudCogYW5pbQogCiBzdGQ6OnVuaXF1ZV9wdHI8U1ZHQW5pbWF0ZWRUeXBlPiBTVkdB
bmltYXRlZEJvb2xlYW5BbmltYXRvcjo6Y29uc3RydWN0RnJvbVN0cmluZyhjb25zdCBTdHJpbmcm
IHN0cmluZykKIHsKLSAgICBhdXRvIGFuaW1hdGVkVHlwZSA9IFNWR0FuaW1hdGVkVHlwZTo6Y3Jl
YXRlQm9vbGVhbihuZXcgYm9vbCk7CisgICAgYXV0byBhbmltYXRlZFR5cGUgPSBTVkdBbmltYXRl
ZFR5cGU6OmNyZWF0ZUJvb2xlYW4oc3RkOjptYWtlX3VuaXF1ZTxib29sPigpKTsKICAgICBhbmlt
YXRlZFR5cGUtPmJvb2xlYW4oKSA9IChzdHJpbmcgPT0gInRydWUiKTsgLy8gd2F0PwogICAgIHJl
dHVybiBhbmltYXRlZFR5cGU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
QW5pbWF0ZWRDb2xvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRDb2xvci5j
cHAKaW5kZXggMGNjMDAyNjA0OTFhNDcxZmQ0YmViMjBiNjk0ZmU3MGJkNjk4ZWRiYi4uYmJiMzZh
OTJkZGIyOGE5YTFkMWM4MWFjNzFhNGQ4MDdiZWI2NzIxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0FuaW1hdGVkQ29sb3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdBbmltYXRlZENvbG9yLmNwcApAQCAtMzYsNyArMzYsNyBAQCBTVkdBbmltYXRlZENvbG9yQW5p
bWF0b3I6OlNWR0FuaW1hdGVkQ29sb3JBbmltYXRvcihTVkdBbmltYXRpb25FbGVtZW50KiBhbmlt
YXRpbwogCiBzdGQ6OnVuaXF1ZV9wdHI8U1ZHQW5pbWF0ZWRUeXBlPiBTVkdBbmltYXRlZENvbG9y
QW5pbWF0b3I6OmNvbnN0cnVjdEZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7Ci0g
ICAgYXV0byBhbmltYXRlZFR5cGUgPSBTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZUNvbG9yKG5ldyBD
b2xvcik7CisgICAgYXV0byBhbmltYXRlZFR5cGUgPSBTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZUNv
bG9yKHN0ZDo6bWFrZV91bmlxdWU8Q29sb3I+KCkpOwogICAgIGFuaW1hdGVkVHlwZS0+Y29sb3Io
KSA9IHN0cmluZy5pc0VtcHR5KCkgPyBDb2xvcigpIDogU1ZHQ29sb3I6OmNvbG9yRnJvbVJHQkNv
bG9yU3RyaW5nKHN0cmluZyk7CiAgICAgcmV0dXJuIGFuaW1hdGVkVHlwZTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEVudW1lcmF0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEVudW1lcmF0aW9uLmNwcAppbmRleCA4YzUwNzAwM2M4
N2MzYmYwZDM4MDJjNmRhZWI3ODE5ZjgwYmQxZmVjLi5iODYxYjYwMzM4NjU5ZTBjMjE0MTk1MzYy
YWEyYTMwNzU3YzQzY2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0
ZWRFbnVtZXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkRW51
bWVyYXRpb24uY3BwCkBAIC0xMTAsNyArMTEwLDcgQEAgU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbkFu
aW1hdG9yOjpTVkdBbmltYXRlZEVudW1lcmF0aW9uQW5pbWF0b3IoU1ZHQW5pbWF0aW9uRWxlbWUK
IHN0ZDo6dW5pcXVlX3B0cjxTVkdBbmltYXRlZFR5cGU+IFNWR0FuaW1hdGVkRW51bWVyYXRpb25B
bmltYXRvcjo6Y29uc3RydWN0RnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykKIHsKICAg
ICBBU1NFUlQobV9hbmltYXRpb25FbGVtZW50KTsKLSAgICBhdXRvIGFuaW1hdGVkVHlwZSA9IFNW
R0FuaW1hdGVkVHlwZTo6Y3JlYXRlRW51bWVyYXRpb24obmV3IHVuc2lnbmVkKTsKKyAgICBhdXRv
IGFuaW1hdGVkVHlwZSA9IFNWR0FuaW1hdGVkVHlwZTo6Y3JlYXRlRW51bWVyYXRpb24oc3RkOjpt
YWtlX3VuaXF1ZTx1bnNpZ25lZD4oKSk7CiAgICAgYW5pbWF0ZWRUeXBlLT5lbnVtZXJhdGlvbigp
ID0gZW51bWVyYXRpb25WYWx1ZUZvclRhcmdldEF0dHJpYnV0ZShtX2FuaW1hdGlvbkVsZW1lbnQt
PnRhcmdldEVsZW1lbnQoKSwgbV9hbmltYXRpb25FbGVtZW50LT5hdHRyaWJ1dGVOYW1lKCksIHN0
cmluZyk7CiAgICAgcmV0dXJuIGFuaW1hdGVkVHlwZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEludGVnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0FuaW1hdGVkSW50ZWdlci5jcHAKaW5kZXggZjIyYWQ0NTZiODFlMzg2NGEyNzExYWI4Yzc0ZGI2
NTk2YTdmZDI4MS4uMmM3ZjU5ODY5MWIyNmFhNjMyN2VjMmUzNDc3ZjViZTlkZGUxZDM3MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkSW50ZWdlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkSW50ZWdlci5jcHAKQEAgLTM1LDcgKzM1LDcg
QEAgU1ZHQW5pbWF0ZWRJbnRlZ2VyQW5pbWF0b3I6OlNWR0FuaW1hdGVkSW50ZWdlckFuaW1hdG9y
KFNWR0FuaW1hdGlvbkVsZW1lbnQqIGFuaW0KIAogc3RkOjp1bmlxdWVfcHRyPFNWR0FuaW1hdGVk
VHlwZT4gU1ZHQW5pbWF0ZWRJbnRlZ2VyQW5pbWF0b3I6OmNvbnN0cnVjdEZyb21TdHJpbmcoY29u
c3QgU3RyaW5nJiBzdHJpbmcpCiB7Ci0gICAgYXV0byBhbmltYXRlZFR5cGUgPSBTVkdBbmltYXRl
ZFR5cGU6OmNyZWF0ZUludGVnZXIobmV3IGludCk7CisgICAgYXV0byBhbmltYXRlZFR5cGUgPSBT
VkdBbmltYXRlZFR5cGU6OmNyZWF0ZUludGVnZXIoc3RkOjptYWtlX3VuaXF1ZTxpbnQ+KCkpOwog
ICAgIGFuaW1hdGVkVHlwZS0+aW50ZWdlcigpID0gc3RyaW5nLnRvSW50U3RyaWN0KCk7CiAgICAg
cmV0dXJuIGFuaW1hdGVkVHlwZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdBbmltYXRlZEludGVnZXJPcHRpb25hbEludGVnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0FuaW1hdGVkSW50ZWdlck9wdGlvbmFsSW50ZWdlci5jcHAKaW5kZXggMjY0N2JmMmIwNTIz
YTY2NDdkZDNlNWFmYzMzODU3NGY0NGFhMTZhMy4uNzAwNTllZjVlMDA1N2RkZDgxZTA1NTM1ZThh
ZDgyYWFmOGEwMzI3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVk
SW50ZWdlck9wdGlvbmFsSW50ZWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Fu
aW1hdGVkSW50ZWdlck9wdGlvbmFsSW50ZWdlci5jcHAKQEAgLTM1LDcgKzM1LDcgQEAgU1ZHQW5p
bWF0ZWRJbnRlZ2VyT3B0aW9uYWxJbnRlZ2VyQW5pbWF0b3I6OlNWR0FuaW1hdGVkSW50ZWdlck9w
dGlvbmFsSW50ZWdlckFuaW0KIAogc3RkOjp1bmlxdWVfcHRyPFNWR0FuaW1hdGVkVHlwZT4gU1ZH
QW5pbWF0ZWRJbnRlZ2VyT3B0aW9uYWxJbnRlZ2VyQW5pbWF0b3I6OmNvbnN0cnVjdEZyb21TdHJp
bmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7Ci0gICAgYXV0byBhbmltYXRlZFR5cGUgPSBTVkdB
bmltYXRlZFR5cGU6OmNyZWF0ZUludGVnZXJPcHRpb25hbEludGVnZXIobmV3IHBhaXI8aW50LCBp
bnQ+KTsKKyAgICBhdXRvIGFuaW1hdGVkVHlwZSA9IFNWR0FuaW1hdGVkVHlwZTo6Y3JlYXRlSW50
ZWdlck9wdGlvbmFsSW50ZWdlcihzdGQ6Om1ha2VfdW5pcXVlPHBhaXI8aW50LCBpbnQ+PigpKTsK
ICAgICBwYWlyPGludCwgaW50PiYgYW5pbWF0ZWRJbnRlZ2VyID0gYW5pbWF0ZWRUeXBlLT5pbnRl
Z2VyT3B0aW9uYWxJbnRlZ2VyKCk7CiAgICAgZmxvYXQgZmlyc3ROdW1iZXIgPSAwOwogICAgIGZs
b2F0IHNlY29uZE51bWJlciA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
QW5pbWF0ZWRMZW5ndGguY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkTGVuZ3Ro
LmNwcAppbmRleCBjZDk3NjQxN2E3ZWY2OWJkNjhlYzFhMmFlZDFmZTgxOTNlZWE4MTQ5Li45MjJm
YmZlYjc4NDA2OTZiOTFjNDA3NmZlYWY0YzhhZDE0MDdhZTcyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRMZW5ndGguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdBbmltYXRlZExlbmd0aC5jcHAKQEAgLTQyLDcgKzQyLDcgQEAgc3RhdGljIGlubGluZSBT
VkdMZW5ndGgmIHNoYXJlZFNWR0xlbmd0aChTVkdMZW5ndGhNb2RlIG1vZGUsIGNvbnN0IFN0cmlu
ZyYgdmFsdWUKIAogc3RkOjp1bmlxdWVfcHRyPFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRM
ZW5ndGhBbmltYXRvcjo6Y29uc3RydWN0RnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykK
IHsKLSAgICByZXR1cm4gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVMZW5ndGgobmV3IFNWR0xlbmd0
aChtX2xlbmd0aE1vZGUsIHN0cmluZykpOworICAgIHJldHVybiBTVkdBbmltYXRlZFR5cGU6OmNy
ZWF0ZUxlbmd0aChzdGQ6Om1ha2VfdW5pcXVlPFNWR0xlbmd0aD4obV9sZW5ndGhNb2RlLCBzdHJp
bmcpKTsKIH0KIAogc3RkOjp1bmlxdWVfcHRyPFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRM
ZW5ndGhBbmltYXRvcjo6c3RhcnRBbmltVmFsQW5pbWF0aW9uKGNvbnN0IFNWR0VsZW1lbnRBbmlt
YXRlZFByb3BlcnR5TGlzdCYgYW5pbWF0ZWRUeXBlcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdBbmltYXRlZExlbmd0aExpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0FuaW1hdGVkTGVuZ3RoTGlzdC5jcHAKaW5kZXggYTAwYTE1ZDc5OTQ0OTRhYjU5NTcwYmZjMDBm
OWRjNGY2MjU5ZjEzYy4uNDRmYjhiM2ZmOGI2MmE0ZDU1YmRhOTdmYzE3NjI3N2FmNTIzOTk3MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkTGVuZ3RoTGlzdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkTGVuZ3RoTGlzdC5jcHAKQEAgLTM1
LDcgKzM1LDcgQEAgU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0QW5pbWF0b3I6OlNWR0FuaW1hdGVkTGVu
Z3RoTGlzdEFuaW1hdG9yKFNWR0FuaW1hdGlvbkVsZW1lbnQKIAogc3RkOjp1bmlxdWVfcHRyPFNW
R0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0QW5pbWF0b3I6OmNvbnN0cnVjdEZy
b21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7Ci0gICAgYXV0byBhbmltYXRlZFR5cGUg
PSBTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZUxlbmd0aExpc3QobmV3IFNWR0xlbmd0aExpc3QpOwor
ICAgIGF1dG8gYW5pbWF0ZWRUeXBlID0gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVMZW5ndGhMaXN0
KHN0ZDo6bWFrZV91bmlxdWU8U1ZHTGVuZ3RoTGlzdD4oKSk7CiAgICAgYW5pbWF0ZWRUeXBlLT5s
ZW5ndGhMaXN0KCkucGFyc2Uoc3RyaW5nLCBtX2xlbmd0aE1vZGUpOwogICAgIHJldHVybiBhbmlt
YXRlZFR5cGU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRO
dW1iZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkTnVtYmVyLmNwcAppbmRl
eCAzNTFmMzkzOGEwZjNkMjVmZTgwNGRmNzVlYTM0MmE1N2E3Y2NlNjFjLi5kYzBiMzE1MmZjMTk5
OWI2NmJiNGYyODEzNmYyNzUzM2EzYjc4ZWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHQW5pbWF0ZWROdW1iZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmlt
YXRlZE51bWJlci5jcHAKQEAgLTM0LDcgKzM0LDcgQEAgU1ZHQW5pbWF0ZWROdW1iZXJBbmltYXRv
cjo6U1ZHQW5pbWF0ZWROdW1iZXJBbmltYXRvcihTVkdBbmltYXRpb25FbGVtZW50KiBhbmltYXQK
IAogc3RkOjp1bmlxdWVfcHRyPFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWROdW1iZXJBbmlt
YXRvcjo6Y29uc3RydWN0RnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykKIHsKLSAgICBh
dXRvIGFuaW1hdGVkVHlwZSA9IFNWR0FuaW1hdGVkVHlwZTo6Y3JlYXRlTnVtYmVyKG5ldyBmbG9h
dCk7CisgICAgYXV0byBhbmltYXRlZFR5cGUgPSBTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZU51bWJl
cihzdGQ6Om1ha2VfdW5pcXVlPGZsb2F0PigpKTsKICAgICBmbG9hdCYgYW5pbWF0ZWROdW1iZXIg
PSBhbmltYXRlZFR5cGUtPm51bWJlcigpOwogICAgIGlmICghcGFyc2VOdW1iZXJGcm9tU3RyaW5n
KHN0cmluZywgYW5pbWF0ZWROdW1iZXIpKQogICAgICAgICBhbmltYXRlZE51bWJlciA9IDA7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWROdW1iZXJMaXN0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZE51bWJlckxpc3QuY3BwCmluZGV4IDEwN2I3
MDYzODRmNjZhZWRjNjk0ODA4NzFmZGE5MGM1YjYxYjIwODMuLmE0NTgxZGNlOTlhMjkyZmVhYmMy
ZDNjNjBiNTk0YjliY2M2ZGU1OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdB
bmltYXRlZE51bWJlckxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRl
ZE51bWJlckxpc3QuY3BwCkBAIC0zNCw3ICszNCw3IEBAIFNWR0FuaW1hdGVkTnVtYmVyTGlzdEFu
aW1hdG9yOjpTVkdBbmltYXRlZE51bWJlckxpc3RBbmltYXRvcihTVkdBbmltYXRpb25FbGVtZW50
CiAKIHN0ZDo6dW5pcXVlX3B0cjxTVkdBbmltYXRlZFR5cGU+IFNWR0FuaW1hdGVkTnVtYmVyTGlz
dEFuaW1hdG9yOjpjb25zdHJ1Y3RGcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKQogewot
ICAgIGF1dG8gYW5pbWF0ZWRUeXBlID0gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVOdW1iZXJMaXN0
KG5ldyBTVkdOdW1iZXJMaXN0KTsKKyAgICBhdXRvIGFuaW1hdGVkVHlwZSA9IFNWR0FuaW1hdGVk
VHlwZTo6Y3JlYXRlTnVtYmVyTGlzdChzdGQ6Om1ha2VfdW5pcXVlPFNWR051bWJlckxpc3Q+KCkp
OwogICAgIGFuaW1hdGVkVHlwZS0+bnVtYmVyTGlzdCgpLnBhcnNlKHN0cmluZyk7CiAgICAgcmV0
dXJuIGFuaW1hdGVkVHlwZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdB
bmltYXRlZE51bWJlck9wdGlvbmFsTnVtYmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdB
bmltYXRlZE51bWJlck9wdGlvbmFsTnVtYmVyLmNwcAppbmRleCBkM2JlMjE5MTdlYzgxYmQ2MDcw
MTNhZWE5NWMyM2UyYTI0YzhmYWFiLi5lN2RiNjg3MTc5MDcwMTBiMmIwZDZjYjU4YzAwMGU4YzUw
ZTEyN2JmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWROdW1iZXJP
cHRpb25hbE51bWJlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkTnVt
YmVyT3B0aW9uYWxOdW1iZXIuY3BwCkBAIC0zNSw3ICszNSw3IEBAIFNWR0FuaW1hdGVkTnVtYmVy
T3B0aW9uYWxOdW1iZXJBbmltYXRvcjo6U1ZHQW5pbWF0ZWROdW1iZXJPcHRpb25hbE51bWJlckFu
aW1hdG9yCiAKIHN0ZDo6dW5pcXVlX3B0cjxTVkdBbmltYXRlZFR5cGU+IFNWR0FuaW1hdGVkTnVt
YmVyT3B0aW9uYWxOdW1iZXJBbmltYXRvcjo6Y29uc3RydWN0RnJvbVN0cmluZyhjb25zdCBTdHJp
bmcmIHN0cmluZykKIHsKLSAgICBhdXRvIGFuaW1hdGVkVHlwZSA9IFNWR0FuaW1hdGVkVHlwZTo6
Y3JlYXRlTnVtYmVyT3B0aW9uYWxOdW1iZXIobmV3IHBhaXI8ZmxvYXQsIGZsb2F0Pik7CisgICAg
YXV0byBhbmltYXRlZFR5cGUgPSBTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZU51bWJlck9wdGlvbmFs
TnVtYmVyKHN0ZDo6bWFrZV91bmlxdWU8cGFpcjxmbG9hdCwgZmxvYXQ+PigpKTsKICAgICBwYWly
PGZsb2F0LCBmbG9hdD4mIGFuaW1hdGVkTnVtYmVyID0gYW5pbWF0ZWRUeXBlLT5udW1iZXJPcHRp
b25hbE51bWJlcigpOwogICAgIGlmICghcGFyc2VOdW1iZXJPcHRpb25hbE51bWJlcihzdHJpbmcs
IGFuaW1hdGVkTnVtYmVyLmZpcnN0LCBhbmltYXRlZE51bWJlci5zZWNvbmQpKSB7CiAgICAgICAg
IGFuaW1hdGVkTnVtYmVyLmZpcnN0ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdBbmltYXRlZFBvaW50TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0
ZWRQb2ludExpc3QuY3BwCmluZGV4IDA5Zjg1OGQyMWQ2ZjFiZDdmNjBkZDFjOGZlNWE0MzhhZWFm
MmQzNjguLmUwMmM1ZGM0NmMxZGQ3MjMzOWY1ODY2Y2IyZGZjYjhkNTdjYmEyYjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFBvaW50TGlzdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkUG9pbnRMaXN0LmNwcApAQCAtMzUsNyArMzUsNyBA
QCBTVkdBbmltYXRlZFBvaW50TGlzdEFuaW1hdG9yOjpTVkdBbmltYXRlZFBvaW50TGlzdEFuaW1h
dG9yKFNWR0FuaW1hdGlvbkVsZW1lbnQqCiAKIHN0ZDo6dW5pcXVlX3B0cjxTVkdBbmltYXRlZFR5
cGU+IFNWR0FuaW1hdGVkUG9pbnRMaXN0QW5pbWF0b3I6OmNvbnN0cnVjdEZyb21TdHJpbmcoY29u
c3QgU3RyaW5nJiBzdHJpbmcpCiB7Ci0gICAgYXV0byBhbmltYXRlZFR5cGUgPSBTVkdBbmltYXRl
ZFR5cGU6OmNyZWF0ZVBvaW50TGlzdChuZXcgU1ZHUG9pbnRMaXN0KTsKKyAgICBhdXRvIGFuaW1h
dGVkVHlwZSA9IFNWR0FuaW1hdGVkVHlwZTo6Y3JlYXRlUG9pbnRMaXN0KHN0ZDo6bWFrZV91bmlx
dWU8U1ZHUG9pbnRMaXN0PigpKTsKICAgICBwb2ludHNMaXN0RnJvbVNWR0RhdGEoYW5pbWF0ZWRU
eXBlLT5wb2ludExpc3QoKSwgc3RyaW5nKTsKICAgICByZXR1cm4gYW5pbWF0ZWRUeXBlOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RS
YXRpby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJh
dGlvLmNwcAppbmRleCA0ZTM4NTM1NzY5YTFmMzZjYWFmZGE4NDQ5YTNhNjQ4MWYyYjMyNTY3Li43
ZmU1ZDM4NmE5MzllMTFkOTY1NDRlMmFmMTQ1MTI2N2JkNjAwNjYzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLmNwcApAQCAt
MzMsNyArMzMsNyBAQCBTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW9BbmltYXRvcjo6U1ZH
QW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvQW5pbWF0b3IoUwogCiBzdGQ6OnVuaXF1ZV9wdHI8
U1ZHQW5pbWF0ZWRUeXBlPiBTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW9BbmltYXRvcjo6
Y29uc3RydWN0RnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykKIHsKLSAgICBhdXRvIGFu
aW1hdGVkVHlwZSA9IFNWR0FuaW1hdGVkVHlwZTo6Y3JlYXRlUHJlc2VydmVBc3BlY3RSYXRpbyhu
ZXcgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyk7CisgICAgYXV0byBhbmltYXRlZFR5cGUgPSBTVkdB
bmltYXRlZFR5cGU6OmNyZWF0ZVByZXNlcnZlQXNwZWN0UmF0aW8oc3RkOjptYWtlX3VuaXF1ZTxT
VkdQcmVzZXJ2ZUFzcGVjdFJhdGlvPigpKTsKICAgICBhbmltYXRlZFR5cGUtPnByZXNlcnZlQXNw
ZWN0UmF0aW8oKS5wYXJzZShzdHJpbmcpOwogICAgIHJldHVybiBhbmltYXRlZFR5cGU7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRSZWN0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFJlY3QuY3BwCmluZGV4IDk2YWViYzA0ZGI0Mzk5ODUx
MTIzOGVkZjQ3OTBmNTVmNDdlMjc0MTUuLjYzMDQ2NDk0ZWQzNTBmZTgwZjkyYTZjOWJkN2M4NDU2
OGYzNGIzNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFJlY3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFJlY3QuY3BwCkBAIC0zNCw3
ICszNCw3IEBAIFNWR0FuaW1hdGVkUmVjdEFuaW1hdG9yOjpTVkdBbmltYXRlZFJlY3RBbmltYXRv
cihTVkdBbmltYXRpb25FbGVtZW50KiBhbmltYXRpb25FCiAKIHN0ZDo6dW5pcXVlX3B0cjxTVkdB
bmltYXRlZFR5cGU+IFNWR0FuaW1hdGVkUmVjdEFuaW1hdG9yOjpjb25zdHJ1Y3RGcm9tU3RyaW5n
KGNvbnN0IFN0cmluZyYgc3RyaW5nKQogewotICAgIGF1dG8gYW5pbWF0ZWRUeXBlID0gU1ZHQW5p
bWF0ZWRUeXBlOjpjcmVhdGVSZWN0KG5ldyBGbG9hdFJlY3QpOworICAgIGF1dG8gYW5pbWF0ZWRU
eXBlID0gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVSZWN0KHN0ZDo6bWFrZV91bmlxdWU8RmxvYXRS
ZWN0PigpKTsKICAgICBwYXJzZVJlY3Qoc3RyaW5nLCBhbmltYXRlZFR5cGUtPnJlY3QoKSk7CiAg
ICAgcmV0dXJuIGFuaW1hdGVkVHlwZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdBbmltYXRlZFN0cmluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRT
dHJpbmcuY3BwCmluZGV4IGZiZTYzZmNlMDAyOGY1NGFiMDM0MTAyODliNjc4MWM1ZmI5NjQyZTcu
LjEwMDBkMGU2ZTFhMzZkYTJhMmI5YmU4ZGIwOWJjOGU1ZmUxOGZiZDYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFN0cmluZy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0FuaW1hdGVkU3RyaW5nLmNwcApAQCAtMzMsNyArMzMsNyBAQCBTVkdBbmltYXRl
ZFN0cmluZ0FuaW1hdG9yOjpTVkdBbmltYXRlZFN0cmluZ0FuaW1hdG9yKFNWR0FuaW1hdGlvbkVs
ZW1lbnQqIGFuaW1hdAogCiBzdGQ6OnVuaXF1ZV9wdHI8U1ZHQW5pbWF0ZWRUeXBlPiBTVkdBbmlt
YXRlZFN0cmluZ0FuaW1hdG9yOjpjb25zdHJ1Y3RGcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgc3Ry
aW5nKQogewotICAgIGF1dG8gYW5pbWF0ZWRUeXBlID0gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVT
dHJpbmcobmV3IFN0cmluZyk7CisgICAgYXV0byBhbmltYXRlZFR5cGUgPSBTVkdBbmltYXRlZFR5
cGU6OmNyZWF0ZVN0cmluZyhzdGQ6Om1ha2VfdW5pcXVlPFN0cmluZz4oKSk7CiAgICAgYW5pbWF0
ZWRUeXBlLT5zdHJpbmcoKSA9IHN0cmluZzsKICAgICByZXR1cm4gYW5pbWF0ZWRUeXBlOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkVHJhbnNmb3JtTGlzdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0LmNwcAppbmRl
eCA4MDk2ZjVlYjJjZjk4NDQyYjMyYWFmYzUwMDI1NDQ0Mjc2ZDg0NjBlLi41NzMxODY5MmI2ZGY5
NDA1MzJjNmQxNDRkYmU2NzIwZGQ5MzFlMDlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0LmNwcApAQCAtNDMsNyArNDMsNyBAQCBTVkdBbmltYXRl
ZFRyYW5zZm9ybUxpc3RBbmltYXRvcjo6U1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0QW5pbWF0b3Io
U1ZHQW5pbWF0aW9uRQogCiBzdGQ6OnVuaXF1ZV9wdHI8U1ZHQW5pbWF0ZWRUeXBlPiBTVkdBbmlt
YXRlZFRyYW5zZm9ybUxpc3RBbmltYXRvcjo6Y29uc3RydWN0RnJvbVN0cmluZyhjb25zdCBTdHJp
bmcmIHN0cmluZykKIHsKLSAgICBhdXRvIGFuaW1hdGVkVHlwZSA9IFNWR0FuaW1hdGVkVHlwZTo6
Y3JlYXRlVHJhbnNmb3JtTGlzdChuZXcgU1ZHVHJhbnNmb3JtTGlzdCk7CisgICAgYXV0byBhbmlt
YXRlZFR5cGUgPSBTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZVRyYW5zZm9ybUxpc3Qoc3RkOjptYWtl
X3VuaXF1ZTxTVkdUcmFuc2Zvcm1MaXN0PigpKTsKICAgICBhbmltYXRlZFR5cGUtPnRyYW5zZm9y
bUxpc3QoKS5wYXJzZShtX3RyYW5zZm9ybVR5cGVTdHJpbmcgKyBzdHJpbmcgKyAnKScpOwogICAg
IEFTU0VSVChhbmltYXRlZFR5cGUtPnRyYW5zZm9ybUxpc3QoKS5zaXplKCkgPD0gMSk7CiAgICAg
cmV0dXJuIGFuaW1hdGVkVHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdB
bmltYXRlZFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkVHlwZS5jcHAK
aW5kZXggYWQyODZlOWYwYjEwM2QwMTM3N2U0ZWEyYTEyZjY5NjUzZmFmNjMyNC4uZDVkZjI5ZGZj
N2QxOTYwNTVjOTQwYzcyZWNhZmUzMTFlZDg4MTE2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0FuaW1hdGVkVHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Fu
aW1hdGVkVHlwZS5jcHAKQEAgLTkyLDkxICs5Miw5MSBAQCBTVkdBbmltYXRlZFR5cGU6On5TVkdB
bmltYXRlZFR5cGUoKQogICAgIH0KIH0KIAotc3RkOjp1bmlxdWVfcHRyPFNWR0FuaW1hdGVkVHlw
ZT4gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVBbmdsZUFuZEVudW1lcmF0aW9uKHN0ZDo6cGFpcjxT
VkdBbmdsZSwgdW5zaWduZWQ+KiBhbmdsZUFuZEVudW1lcmF0aW9uKQorc3RkOjp1bmlxdWVfcHRy
PFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVBbmdsZUFuZEVudW1lcmF0
aW9uKHN0ZDo6dW5pcXVlX3B0cjxzdGQ6OnBhaXI8U1ZHQW5nbGUsIHVuc2lnbmVkPj4gYW5nbGVB
bmRFbnVtZXJhdGlvbikKIHsKICAgICBBU1NFUlQoYW5nbGVBbmRFbnVtZXJhdGlvbik7CiAgICAg
YXV0byBhbmltYXRlZFR5cGUgPSBzdGQ6Om1ha2VfdW5pcXVlPFNWR0FuaW1hdGVkVHlwZT4oQW5p
bWF0ZWRBbmdsZSk7Ci0gICAgYW5pbWF0ZWRUeXBlLT5tX2RhdGEuYW5nbGVBbmRFbnVtZXJhdGlv
biA9IGFuZ2xlQW5kRW51bWVyYXRpb247CisgICAgYW5pbWF0ZWRUeXBlLT5tX2RhdGEuYW5nbGVB
bmRFbnVtZXJhdGlvbiA9IGFuZ2xlQW5kRW51bWVyYXRpb24ucmVsZWFzZSgpOwogICAgIHJldHVy
biBhbmltYXRlZFR5cGU7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxTVkdBbmltYXRlZFR5cGU+IFNW
R0FuaW1hdGVkVHlwZTo6Y3JlYXRlQm9vbGVhbihib29sKiBib29sZWFuKQorc3RkOjp1bmlxdWVf
cHRyPFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVCb29sZWFuKHN0ZDo6
dW5pcXVlX3B0cjxib29sPiBib29sZWFuKQogewogICAgIEFTU0VSVChib29sZWFuKTsKICAgICBh
dXRvIGFuaW1hdGVkVHlwZSA9IHN0ZDo6bWFrZV91bmlxdWU8U1ZHQW5pbWF0ZWRUeXBlPihBbmlt
YXRlZEJvb2xlYW4pOwotICAgIGFuaW1hdGVkVHlwZS0+bV9kYXRhLmJvb2xlYW4gPSBib29sZWFu
OworICAgIGFuaW1hdGVkVHlwZS0+bV9kYXRhLmJvb2xlYW4gPSBib29sZWFuLnJlbGVhc2UoKTsK
ICAgICByZXR1cm4gYW5pbWF0ZWRUeXBlOwogfQogCi1zdGQ6OnVuaXF1ZV9wdHI8U1ZHQW5pbWF0
ZWRUeXBlPiBTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZUNvbG9yKENvbG9yKiBjb2xvcikKK3N0ZDo6
dW5pcXVlX3B0cjxTVkdBbmltYXRlZFR5cGU+IFNWR0FuaW1hdGVkVHlwZTo6Y3JlYXRlQ29sb3Io
c3RkOjp1bmlxdWVfcHRyPENvbG9yPiBjb2xvcikKIHsKICAgICBBU1NFUlQoY29sb3IpOwogICAg
IGF1dG8gYW5pbWF0ZWRUeXBlID0gc3RkOjptYWtlX3VuaXF1ZTxTVkdBbmltYXRlZFR5cGU+KEFu
aW1hdGVkQ29sb3IpOwotICAgIGFuaW1hdGVkVHlwZS0+bV9kYXRhLmNvbG9yID0gY29sb3I7Cisg
ICAgYW5pbWF0ZWRUeXBlLT5tX2RhdGEuY29sb3IgPSBjb2xvci5yZWxlYXNlKCk7CiAgICAgcmV0
dXJuIGFuaW1hdGVkVHlwZTsKIH0KIAotc3RkOjp1bmlxdWVfcHRyPFNWR0FuaW1hdGVkVHlwZT4g
U1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVFbnVtZXJhdGlvbih1bnNpZ25lZCogZW51bWVyYXRpb24p
CitzdGQ6OnVuaXF1ZV9wdHI8U1ZHQW5pbWF0ZWRUeXBlPiBTVkdBbmltYXRlZFR5cGU6OmNyZWF0
ZUVudW1lcmF0aW9uKHN0ZDo6dW5pcXVlX3B0cjx1bnNpZ25lZD4gZW51bWVyYXRpb24pCiB7CiAg
ICAgQVNTRVJUKGVudW1lcmF0aW9uKTsKICAgICBhdXRvIGFuaW1hdGVkVHlwZSA9IHN0ZDo6bWFr
ZV91bmlxdWU8U1ZHQW5pbWF0ZWRUeXBlPihBbmltYXRlZEVudW1lcmF0aW9uKTsKLSAgICBhbmlt
YXRlZFR5cGUtPm1fZGF0YS5lbnVtZXJhdGlvbiA9IGVudW1lcmF0aW9uOworICAgIGFuaW1hdGVk
VHlwZS0+bV9kYXRhLmVudW1lcmF0aW9uID0gZW51bWVyYXRpb24ucmVsZWFzZSgpOwogICAgIHJl
dHVybiBhbmltYXRlZFR5cGU7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxTVkdBbmltYXRlZFR5cGU+
IFNWR0FuaW1hdGVkVHlwZTo6Y3JlYXRlSW50ZWdlcihpbnQqIGludGVnZXIpCitzdGQ6OnVuaXF1
ZV9wdHI8U1ZHQW5pbWF0ZWRUeXBlPiBTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZUludGVnZXIoc3Rk
Ojp1bmlxdWVfcHRyPGludD4gaW50ZWdlcikKIHsKICAgICBBU1NFUlQoaW50ZWdlcik7CiAgICAg
YXV0byBhbmltYXRlZFR5cGUgPSBzdGQ6Om1ha2VfdW5pcXVlPFNWR0FuaW1hdGVkVHlwZT4oQW5p
bWF0ZWRJbnRlZ2VyKTsKLSAgICBhbmltYXRlZFR5cGUtPm1fZGF0YS5pbnRlZ2VyID0gaW50ZWdl
cjsKKyAgICBhbmltYXRlZFR5cGUtPm1fZGF0YS5pbnRlZ2VyID0gaW50ZWdlci5yZWxlYXNlKCk7
CiAgICAgcmV0dXJuIGFuaW1hdGVkVHlwZTsKIH0KIAotc3RkOjp1bmlxdWVfcHRyPFNWR0FuaW1h
dGVkVHlwZT4gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVJbnRlZ2VyT3B0aW9uYWxJbnRlZ2VyKHBh
aXI8aW50LCBpbnQ+KiBpbnRlZ2VyT3B0aW9uYWxJbnRlZ2VyKQorc3RkOjp1bmlxdWVfcHRyPFNW
R0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVJbnRlZ2VyT3B0aW9uYWxJbnRl
Z2VyKHN0ZDo6dW5pcXVlX3B0cjxwYWlyPGludCwgaW50Pj4gaW50ZWdlck9wdGlvbmFsSW50ZWdl
cikKIHsKICAgICBBU1NFUlQoaW50ZWdlck9wdGlvbmFsSW50ZWdlcik7CiAgICAgYXV0byBhbmlt
YXRlZFR5cGUgPSBzdGQ6Om1ha2VfdW5pcXVlPFNWR0FuaW1hdGVkVHlwZT4oQW5pbWF0ZWRJbnRl
Z2VyT3B0aW9uYWxJbnRlZ2VyKTsKLSAgICBhbmltYXRlZFR5cGUtPm1fZGF0YS5pbnRlZ2VyT3B0
aW9uYWxJbnRlZ2VyID0gaW50ZWdlck9wdGlvbmFsSW50ZWdlcjsKKyAgICBhbmltYXRlZFR5cGUt
Pm1fZGF0YS5pbnRlZ2VyT3B0aW9uYWxJbnRlZ2VyID0gaW50ZWdlck9wdGlvbmFsSW50ZWdlci5y
ZWxlYXNlKCk7CiAgICAgcmV0dXJuIGFuaW1hdGVkVHlwZTsKIH0KIAotc3RkOjp1bmlxdWVfcHRy
PFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVMZW5ndGgoU1ZHTGVuZ3Ro
KiBsZW5ndGgpCitzdGQ6OnVuaXF1ZV9wdHI8U1ZHQW5pbWF0ZWRUeXBlPiBTVkdBbmltYXRlZFR5
cGU6OmNyZWF0ZUxlbmd0aChzdGQ6OnVuaXF1ZV9wdHI8U1ZHTGVuZ3RoPiBsZW5ndGgpCiB7CiAg
ICAgQVNTRVJUKGxlbmd0aCk7CiAgICAgYXV0byBhbmltYXRlZFR5cGUgPSBzdGQ6Om1ha2VfdW5p
cXVlPFNWR0FuaW1hdGVkVHlwZT4oQW5pbWF0ZWRMZW5ndGgpOwotICAgIGFuaW1hdGVkVHlwZS0+
bV9kYXRhLmxlbmd0aCA9IGxlbmd0aDsKKyAgICBhbmltYXRlZFR5cGUtPm1fZGF0YS5sZW5ndGgg
PSBsZW5ndGgucmVsZWFzZSgpOwogICAgIHJldHVybiBhbmltYXRlZFR5cGU7CiB9CiAKLXN0ZDo6
dW5pcXVlX3B0cjxTVkdBbmltYXRlZFR5cGU+IFNWR0FuaW1hdGVkVHlwZTo6Y3JlYXRlTGVuZ3Ro
TGlzdChTVkdMZW5ndGhMaXN0KiBsZW5ndGhMaXN0KQorc3RkOjp1bmlxdWVfcHRyPFNWR0FuaW1h
dGVkVHlwZT4gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVMZW5ndGhMaXN0KHN0ZDo6dW5pcXVlX3B0
cjxTVkdMZW5ndGhMaXN0PiBsZW5ndGhMaXN0KQogewogICAgIEFTU0VSVChsZW5ndGhMaXN0KTsK
ICAgICBhdXRvIGFuaW1hdGVkVHlwZSA9IHN0ZDo6bWFrZV91bmlxdWU8U1ZHQW5pbWF0ZWRUeXBl
PihBbmltYXRlZExlbmd0aExpc3QpOwotICAgIGFuaW1hdGVkVHlwZS0+bV9kYXRhLmxlbmd0aExp
c3QgPSBsZW5ndGhMaXN0OworICAgIGFuaW1hdGVkVHlwZS0+bV9kYXRhLmxlbmd0aExpc3QgPSBs
ZW5ndGhMaXN0LnJlbGVhc2UoKTsKICAgICByZXR1cm4gYW5pbWF0ZWRUeXBlOwogfQogCi1zdGQ6
OnVuaXF1ZV9wdHI8U1ZHQW5pbWF0ZWRUeXBlPiBTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZU51bWJl
cihmbG9hdCogbnVtYmVyKQorc3RkOjp1bmlxdWVfcHRyPFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5p
bWF0ZWRUeXBlOjpjcmVhdGVOdW1iZXIoc3RkOjp1bmlxdWVfcHRyPGZsb2F0PiBudW1iZXIpCiB7
CiAgICAgQVNTRVJUKG51bWJlcik7CiAgICAgYXV0byBhbmltYXRlZFR5cGUgPSBzdGQ6Om1ha2Vf
dW5pcXVlPFNWR0FuaW1hdGVkVHlwZT4oQW5pbWF0ZWROdW1iZXIpOwotICAgIGFuaW1hdGVkVHlw
ZS0+bV9kYXRhLm51bWJlciA9IG51bWJlcjsKKyAgICBhbmltYXRlZFR5cGUtPm1fZGF0YS5udW1i
ZXIgPSBudW1iZXIucmVsZWFzZSgpOwogICAgIHJldHVybiBhbmltYXRlZFR5cGU7CiB9CiAKLXN0
ZDo6dW5pcXVlX3B0cjxTVkdBbmltYXRlZFR5cGU+IFNWR0FuaW1hdGVkVHlwZTo6Y3JlYXRlTnVt
YmVyTGlzdChTVkdOdW1iZXJMaXN0KiBudW1iZXJMaXN0KQorc3RkOjp1bmlxdWVfcHRyPFNWR0Fu
aW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVOdW1iZXJMaXN0KHN0ZDo6dW5pcXVl
X3B0cjxTVkdOdW1iZXJMaXN0PiBudW1iZXJMaXN0KQogewogICAgIEFTU0VSVChudW1iZXJMaXN0
KTsKICAgICBhdXRvIGFuaW1hdGVkVHlwZSA9IHN0ZDo6bWFrZV91bmlxdWU8U1ZHQW5pbWF0ZWRU
eXBlPihBbmltYXRlZE51bWJlckxpc3QpOwotICAgIGFuaW1hdGVkVHlwZS0+bV9kYXRhLm51bWJl
ckxpc3QgPSBudW1iZXJMaXN0OworICAgIGFuaW1hdGVkVHlwZS0+bV9kYXRhLm51bWJlckxpc3Qg
PSBudW1iZXJMaXN0LnJlbGVhc2UoKTsKICAgICByZXR1cm4gYW5pbWF0ZWRUeXBlOwogfQogCi1z
dGQ6OnVuaXF1ZV9wdHI8U1ZHQW5pbWF0ZWRUeXBlPiBTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZU51
bWJlck9wdGlvbmFsTnVtYmVyKHBhaXI8ZmxvYXQsIGZsb2F0PiogbnVtYmVyT3B0aW9uYWxOdW1i
ZXIpCitzdGQ6OnVuaXF1ZV9wdHI8U1ZHQW5pbWF0ZWRUeXBlPiBTVkdBbmltYXRlZFR5cGU6OmNy
ZWF0ZU51bWJlck9wdGlvbmFsTnVtYmVyKHN0ZDo6dW5pcXVlX3B0cjxwYWlyPGZsb2F0LCBmbG9h
dD4+IG51bWJlck9wdGlvbmFsTnVtYmVyKQogewogICAgIEFTU0VSVChudW1iZXJPcHRpb25hbE51
bWJlcik7CiAgICAgYXV0byBhbmltYXRlZFR5cGUgPSBzdGQ6Om1ha2VfdW5pcXVlPFNWR0FuaW1h
dGVkVHlwZT4oQW5pbWF0ZWROdW1iZXJPcHRpb25hbE51bWJlcik7Ci0gICAgYW5pbWF0ZWRUeXBl
LT5tX2RhdGEubnVtYmVyT3B0aW9uYWxOdW1iZXIgPSBudW1iZXJPcHRpb25hbE51bWJlcjsKKyAg
ICBhbmltYXRlZFR5cGUtPm1fZGF0YS5udW1iZXJPcHRpb25hbE51bWJlciA9IG51bWJlck9wdGlv
bmFsTnVtYmVyLnJlbGVhc2UoKTsKICAgICByZXR1cm4gYW5pbWF0ZWRUeXBlOwogfQogCkBAIC0x
ODgsNDMgKzE4OCw0MyBAQCBzdGQ6OnVuaXF1ZV9wdHI8U1ZHQW5pbWF0ZWRUeXBlPiBTVkdBbmlt
YXRlZFR5cGU6OmNyZWF0ZVBhdGgoc3RkOjp1bmlxdWVfcHRyPFNWRwogICAgIHJldHVybiBhbmlt
YXRlZFR5cGU7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxTVkdBbmltYXRlZFR5cGU+IFNWR0FuaW1h
dGVkVHlwZTo6Y3JlYXRlUG9pbnRMaXN0KFNWR1BvaW50TGlzdCogcG9pbnRMaXN0KQorc3RkOjp1
bmlxdWVfcHRyPFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVQb2ludExp
c3Qoc3RkOjp1bmlxdWVfcHRyPFNWR1BvaW50TGlzdD4gcG9pbnRMaXN0KQogewogICAgIEFTU0VS
VChwb2ludExpc3QpOwogICAgIGF1dG8gYW5pbWF0ZWRUeXBlID0gc3RkOjptYWtlX3VuaXF1ZTxT
VkdBbmltYXRlZFR5cGU+KEFuaW1hdGVkUG9pbnRzKTsKLSAgICBhbmltYXRlZFR5cGUtPm1fZGF0
YS5wb2ludExpc3QgPSBwb2ludExpc3Q7CisgICAgYW5pbWF0ZWRUeXBlLT5tX2RhdGEucG9pbnRM
aXN0ID0gcG9pbnRMaXN0LnJlbGVhc2UoKTsKICAgICByZXR1cm4gYW5pbWF0ZWRUeXBlOwogfQog
Ci1zdGQ6OnVuaXF1ZV9wdHI8U1ZHQW5pbWF0ZWRUeXBlPiBTVkdBbmltYXRlZFR5cGU6OmNyZWF0
ZVByZXNlcnZlQXNwZWN0UmF0aW8oU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyogcHJlc2VydmVBc3Bl
Y3RSYXRpbykKK3N0ZDo6dW5pcXVlX3B0cjxTVkdBbmltYXRlZFR5cGU+IFNWR0FuaW1hdGVkVHlw
ZTo6Y3JlYXRlUHJlc2VydmVBc3BlY3RSYXRpbyhzdGQ6OnVuaXF1ZV9wdHI8U1ZHUHJlc2VydmVB
c3BlY3RSYXRpbz4gcHJlc2VydmVBc3BlY3RSYXRpbykKIHsKICAgICBBU1NFUlQocHJlc2VydmVB
c3BlY3RSYXRpbyk7CiAgICAgYXV0byBhbmltYXRlZFR5cGUgPSBzdGQ6Om1ha2VfdW5pcXVlPFNW
R0FuaW1hdGVkVHlwZT4oQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvKTsKLSAgICBhbmltYXRl
ZFR5cGUtPm1fZGF0YS5wcmVzZXJ2ZUFzcGVjdFJhdGlvID0gcHJlc2VydmVBc3BlY3RSYXRpbzsK
KyAgICBhbmltYXRlZFR5cGUtPm1fZGF0YS5wcmVzZXJ2ZUFzcGVjdFJhdGlvID0gcHJlc2VydmVB
c3BlY3RSYXRpby5yZWxlYXNlKCk7CiAgICAgcmV0dXJuIGFuaW1hdGVkVHlwZTsKIH0KIAotc3Rk
Ojp1bmlxdWVfcHRyPFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVSZWN0
KEZsb2F0UmVjdCogcmVjdCkKK3N0ZDo6dW5pcXVlX3B0cjxTVkdBbmltYXRlZFR5cGU+IFNWR0Fu
aW1hdGVkVHlwZTo6Y3JlYXRlUmVjdChzdGQ6OnVuaXF1ZV9wdHI8RmxvYXRSZWN0PiByZWN0KQog
ewogICAgIEFTU0VSVChyZWN0KTsKICAgICBhdXRvIGFuaW1hdGVkVHlwZSA9IHN0ZDo6bWFrZV91
bmlxdWU8U1ZHQW5pbWF0ZWRUeXBlPihBbmltYXRlZFJlY3QpOwotICAgIGFuaW1hdGVkVHlwZS0+
bV9kYXRhLnJlY3QgPSByZWN0OworICAgIGFuaW1hdGVkVHlwZS0+bV9kYXRhLnJlY3QgPSByZWN0
LnJlbGVhc2UoKTsKICAgICByZXR1cm4gYW5pbWF0ZWRUeXBlOwogfQogCi1zdGQ6OnVuaXF1ZV9w
dHI8U1ZHQW5pbWF0ZWRUeXBlPiBTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZVN0cmluZyhTdHJpbmcq
IHN0cmluZykKK3N0ZDo6dW5pcXVlX3B0cjxTVkdBbmltYXRlZFR5cGU+IFNWR0FuaW1hdGVkVHlw
ZTo6Y3JlYXRlU3RyaW5nKHN0ZDo6dW5pcXVlX3B0cjxTdHJpbmc+IHN0cmluZykKIHsKICAgICBB
U1NFUlQoc3RyaW5nKTsKICAgICBhdXRvIGFuaW1hdGVkVHlwZSA9IHN0ZDo6bWFrZV91bmlxdWU8
U1ZHQW5pbWF0ZWRUeXBlPihBbmltYXRlZFN0cmluZyk7Ci0gICAgYW5pbWF0ZWRUeXBlLT5tX2Rh
dGEuc3RyaW5nID0gc3RyaW5nOworICAgIGFuaW1hdGVkVHlwZS0+bV9kYXRhLnN0cmluZyA9IHN0
cmluZy5yZWxlYXNlKCk7CiAgICAgcmV0dXJuIGFuaW1hdGVkVHlwZTsKIH0KIAotc3RkOjp1bmlx
dWVfcHRyPFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVUcmFuc2Zvcm1M
aXN0KFNWR1RyYW5zZm9ybUxpc3QqIHRyYW5zZm9ybUxpc3QpCitzdGQ6OnVuaXF1ZV9wdHI8U1ZH
QW5pbWF0ZWRUeXBlPiBTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZVRyYW5zZm9ybUxpc3Qoc3RkOjp1
bmlxdWVfcHRyPFNWR1RyYW5zZm9ybUxpc3Q+IHRyYW5zZm9ybUxpc3QpCiB7CiAgICAgQVNTRVJU
KHRyYW5zZm9ybUxpc3QpOwogICAgIGF1dG8gYW5pbWF0ZWRUeXBlID0gc3RkOjptYWtlX3VuaXF1
ZTxTVkdBbmltYXRlZFR5cGU+KEFuaW1hdGVkVHJhbnNmb3JtTGlzdCk7Ci0gICAgYW5pbWF0ZWRU
eXBlLT5tX2RhdGEudHJhbnNmb3JtTGlzdCA9IHRyYW5zZm9ybUxpc3Q7CisgICAgYW5pbWF0ZWRU
eXBlLT5tX2RhdGEudHJhbnNmb3JtTGlzdCA9IHRyYW5zZm9ybUxpc3QucmVsZWFzZSgpOwogICAg
IHJldHVybiBhbmltYXRlZFR5cGU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdBbmltYXRlZFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFR5cGUu
aAppbmRleCAxMGFkMDI1YjdkNTc1YTJmMDkxZDY4YmZjMmVhOTU3ZGU0ZTNhMTIyLi5jMzc2N2Ex
ZjkwMzA0MzRjNDM0NWJhMzE3NDNlZWY4NDBhNjlmOTcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHQW5pbWF0ZWRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Fu
aW1hdGVkVHlwZS5oCkBAIC00MiwyNCArNDIsMjMgQEAgcHVibGljOgogICAgIFNWR0FuaW1hdGVk
VHlwZShBbmltYXRlZFByb3BlcnR5VHlwZSk7CiAgICAgdmlydHVhbCB+U1ZHQW5pbWF0ZWRUeXBl
KCk7CiAKLSAgICAvLyBGSVhNRTogVGhlc2UgZnVuY3Rpb25zIHNob3VsZCBhbGwgdGFrZSBzdGQ6
OnVuaXF1ZV9wdHIgYXJndW1lbnRzIGluc3RlYWQgb2YgYmFyZSBwb2ludGVycy4KLSAgICBzdGF0
aWMgc3RkOjp1bmlxdWVfcHRyPFNWR0FuaW1hdGVkVHlwZT4gY3JlYXRlQW5nbGVBbmRFbnVtZXJh
dGlvbihzdGQ6OnBhaXI8U1ZHQW5nbGUsIHVuc2lnbmVkPiopOwotICAgIHN0YXRpYyBzdGQ6OnVu
aXF1ZV9wdHI8U1ZHQW5pbWF0ZWRUeXBlPiBjcmVhdGVCb29sZWFuKGJvb2wqKTsKLSAgICBzdGF0
aWMgc3RkOjp1bmlxdWVfcHRyPFNWR0FuaW1hdGVkVHlwZT4gY3JlYXRlQ29sb3IoQ29sb3IqKTsK
LSAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFNWR0FuaW1hdGVkVHlwZT4gY3JlYXRlRW51bWVy
YXRpb24odW5zaWduZWQqKTsKLSAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFNWR0FuaW1hdGVk
VHlwZT4gY3JlYXRlSW50ZWdlcihpbnQqKTsKLSAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFNW
R0FuaW1hdGVkVHlwZT4gY3JlYXRlSW50ZWdlck9wdGlvbmFsSW50ZWdlcihzdGQ6OnBhaXI8aW50
LCBpbnQ+Kik7Ci0gICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxTVkdBbmltYXRlZFR5cGU+IGNy
ZWF0ZUxlbmd0aChTVkdMZW5ndGgqKTsKLSAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFNWR0Fu
aW1hdGVkVHlwZT4gY3JlYXRlTGVuZ3RoTGlzdChTVkdMZW5ndGhMaXN0Kik7Ci0gICAgc3RhdGlj
IHN0ZDo6dW5pcXVlX3B0cjxTVkdBbmltYXRlZFR5cGU+IGNyZWF0ZU51bWJlcihmbG9hdCopOwot
ICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8U1ZHQW5pbWF0ZWRUeXBlPiBjcmVhdGVOdW1iZXJM
aXN0KFNWR051bWJlckxpc3QqKTsKLSAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFNWR0FuaW1h
dGVkVHlwZT4gY3JlYXRlTnVtYmVyT3B0aW9uYWxOdW1iZXIoc3RkOjpwYWlyPGZsb2F0LCBmbG9h
dD4qKTsKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFNWR0FuaW1hdGVkVHlwZT4gY3JlYXRl
QW5nbGVBbmRFbnVtZXJhdGlvbihzdGQ6OnVuaXF1ZV9wdHI8c3RkOjpwYWlyPFNWR0FuZ2xlLCB1
bnNpZ25lZD4+KTsKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFNWR0FuaW1hdGVkVHlwZT4g
Y3JlYXRlQm9vbGVhbihzdGQ6OnVuaXF1ZV9wdHI8Ym9vbD4pOworICAgIHN0YXRpYyBzdGQ6OnVu
aXF1ZV9wdHI8U1ZHQW5pbWF0ZWRUeXBlPiBjcmVhdGVDb2xvcihzdGQ6OnVuaXF1ZV9wdHI8Q29s
b3I+KTsKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFNWR0FuaW1hdGVkVHlwZT4gY3JlYXRl
RW51bWVyYXRpb24oc3RkOjp1bmlxdWVfcHRyPHVuc2lnbmVkPik7CisgICAgc3RhdGljIHN0ZDo6
dW5pcXVlX3B0cjxTVkdBbmltYXRlZFR5cGU+IGNyZWF0ZUludGVnZXIoc3RkOjp1bmlxdWVfcHRy
PGludD4pOworICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8U1ZHQW5pbWF0ZWRUeXBlPiBjcmVh
dGVJbnRlZ2VyT3B0aW9uYWxJbnRlZ2VyKHN0ZDo6dW5pcXVlX3B0cjxzdGQ6OnBhaXI8aW50LCBp
bnQ+Pik7CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxTVkdBbmltYXRlZFR5cGU+IGNyZWF0
ZUxlbmd0aChzdGQ6OnVuaXF1ZV9wdHI8U1ZHTGVuZ3RoPik7CisgICAgc3RhdGljIHN0ZDo6dW5p
cXVlX3B0cjxTVkdBbmltYXRlZFR5cGU+IGNyZWF0ZUxlbmd0aExpc3Qoc3RkOjp1bmlxdWVfcHRy
PFNWR0xlbmd0aExpc3Q+KTsKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFNWR0FuaW1hdGVk
VHlwZT4gY3JlYXRlTnVtYmVyKHN0ZDo6dW5pcXVlX3B0cjxmbG9hdD4pOworICAgIHN0YXRpYyBz
dGQ6OnVuaXF1ZV9wdHI8U1ZHQW5pbWF0ZWRUeXBlPiBjcmVhdGVOdW1iZXJMaXN0KHN0ZDo6dW5p
cXVlX3B0cjxTVkdOdW1iZXJMaXN0Pik7CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxTVkdB
bmltYXRlZFR5cGU+IGNyZWF0ZU51bWJlck9wdGlvbmFsTnVtYmVyKHN0ZDo6dW5pcXVlX3B0cjxz
dGQ6OnBhaXI8ZmxvYXQsIGZsb2F0Pj4pOwogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8U1ZH
QW5pbWF0ZWRUeXBlPiBjcmVhdGVQYXRoKHN0ZDo6dW5pcXVlX3B0cjxTVkdQYXRoQnl0ZVN0cmVh
bT4pOwotICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8U1ZHQW5pbWF0ZWRUeXBlPiBjcmVhdGVQ
b2ludExpc3QoU1ZHUG9pbnRMaXN0Kik7Ci0gICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxTVkdB
bmltYXRlZFR5cGU+IGNyZWF0ZVByZXNlcnZlQXNwZWN0UmF0aW8oU1ZHUHJlc2VydmVBc3BlY3RS
YXRpbyopOwotICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8U1ZHQW5pbWF0ZWRUeXBlPiBjcmVh
dGVSZWN0KEZsb2F0UmVjdCopOwotICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8U1ZHQW5pbWF0
ZWRUeXBlPiBjcmVhdGVTdHJpbmcoU3RyaW5nKik7Ci0gICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0
cjxTVkdBbmltYXRlZFR5cGU+IGNyZWF0ZVRyYW5zZm9ybUxpc3QoU1ZHVHJhbnNmb3JtTGlzdCop
OworICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8U1ZHQW5pbWF0ZWRUeXBlPiBjcmVhdGVQb2lu
dExpc3Qoc3RkOjp1bmlxdWVfcHRyPFNWR1BvaW50TGlzdD4pOworICAgIHN0YXRpYyBzdGQ6OnVu
aXF1ZV9wdHI8U1ZHQW5pbWF0ZWRUeXBlPiBjcmVhdGVQcmVzZXJ2ZUFzcGVjdFJhdGlvKHN0ZDo6
dW5pcXVlX3B0cjxTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvPik7CisgICAgc3RhdGljIHN0ZDo6dW5p
cXVlX3B0cjxTVkdBbmltYXRlZFR5cGU+IGNyZWF0ZVJlY3Qoc3RkOjp1bmlxdWVfcHRyPEZsb2F0
UmVjdD4pOworICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8U1ZHQW5pbWF0ZWRUeXBlPiBjcmVh
dGVTdHJpbmcoc3RkOjp1bmlxdWVfcHRyPFN0cmluZz4pOworICAgIHN0YXRpYyBzdGQ6OnVuaXF1
ZV9wdHI8U1ZHQW5pbWF0ZWRUeXBlPiBjcmVhdGVUcmFuc2Zvcm1MaXN0KHN0ZDo6dW5pcXVlX3B0
cjxTVkdUcmFuc2Zvcm1MaXN0Pik7CiAgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNBbmltVmFsKEFu
aW1hdGVkUHJvcGVydHlUeXBlKTsKIAogICAgIEFuaW1hdGVkUHJvcGVydHlUeXBlIHR5cGUoKSBj
b25zdCB7IHJldHVybiBtX3R5cGU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdBbmltYXRlZFR5cGVBbmltYXRvci5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVk
VHlwZUFuaW1hdG9yLmgKaW5kZXggNDkzYWRkMDM4MDZlMjhkNmZhMWViYTAwY2YyOTRmMWM4NDgw
NjdkZC4uZWMzYzU2NDExNmY4ZjhjOTk0ZDE5ZDE5Nzc0Mjc3ZmYxNDRkN2I4ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkVHlwZUFuaW1hdG9yLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkVHlwZUFuaW1hdG9yLmgKQEAgLTcwLDEzICs3MCwx
MyBAQCBwcm90ZWN0ZWQ6CiAKICAgICAvLyBIZWxwZXJzIGZvciBhbmltYXRvcnMgdGhhdCBvcGVy
YXRlIG9uIHNpbmdsZSB0eXBlcywgZWcuIGp1c3Qgb25lIFNWR0FuaW1hdGVkSW50ZWdlci4KICAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBBbmltVmFsVHlwZT4KLSAgICB0eXBlbmFtZSBBbmltVmFsVHlw
ZTo6Q29udGVudFR5cGUqIGNvbnN0cnVjdEZyb21CYXNlVmFsdWUoY29uc3QgU1ZHRWxlbWVudEFu
aW1hdGVkUHJvcGVydHlMaXN0JiBhbmltYXRlZFR5cGVzKQorICAgIHN0ZDo6dW5pcXVlX3B0cjx0
eXBlbmFtZSBBbmltVmFsVHlwZTo6Q29udGVudFR5cGU+IGNvbnN0cnVjdEZyb21CYXNlVmFsdWUo
Y29uc3QgU1ZHRWxlbWVudEFuaW1hdGVkUHJvcGVydHlMaXN0JiBhbmltYXRlZFR5cGVzKQogICAg
IHsKICAgICAgICAgQVNTRVJUKGFuaW1hdGVkVHlwZXNbMF0ucHJvcGVydGllcy5zaXplKCkgPT0g
MSk7CiAgICAgICAgIGNvbnN0IHR5cGVuYW1lIEFuaW1WYWxUeXBlOjpDb250ZW50VHlwZSYgYW5p
bWF0ZWRUeXBlID0gY2FzdEFuaW1hdGVkUHJvcGVydHlUb0FjdHVhbFR5cGU8QW5pbVZhbFR5cGU+
KGFuaW1hdGVkVHlwZXNbMF0ucHJvcGVydGllc1swXS5nZXQoKSktPmN1cnJlbnRCYXNlVmFsdWUo
KTsKIAotICAgICAgICB0eXBlbmFtZSBBbmltVmFsVHlwZTo6Q29udGVudFR5cGUqIGNvcHkgPSBu
ZXcgdHlwZW5hbWUgQW5pbVZhbFR5cGU6OkNvbnRlbnRUeXBlKGFuaW1hdGVkVHlwZSk7Ci0gICAg
ICAgIGV4ZWN1dGVBY3Rpb248QW5pbVZhbFR5cGU+KFN0YXJ0QW5pbWF0aW9uQWN0aW9uLCBhbmlt
YXRlZFR5cGVzLCAwLCBjb3B5KTsKKyAgICAgICAgYXV0byBjb3B5ID0gc3RkOjptYWtlX3VuaXF1
ZTx0eXBlbmFtZSBBbmltVmFsVHlwZTo6Q29udGVudFR5cGU+KGFuaW1hdGVkVHlwZSk7CisgICAg
ICAgIGV4ZWN1dGVBY3Rpb248QW5pbVZhbFR5cGU+KFN0YXJ0QW5pbWF0aW9uQWN0aW9uLCBhbmlt
YXRlZFR5cGVzLCAwLCBjb3B5LmdldCgpKTsKICAgICAgICAgcmV0dXJuIGNvcHk7CiAgICAgfQog
CkBAIC0xMTUsMTMgKzExNSwxMyBAQCBwcm90ZWN0ZWQ6CiAKICAgICAvLyBIZWxwZXJzIGZvciBh
bmltYXRvcnMgdGhhdCBvcGVyYXRlIG9uIHBhaXIgdHlwZXMsIGVnLiBhIHBhaXIgb2YgU1ZHQW5p
bWF0ZWRJbnRlZ2Vycy4KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBBbmltVmFsVHlwZTEsIHR5cGVu
YW1lIEFuaW1WYWxUeXBlMj4KLSAgICBwYWlyPHR5cGVuYW1lIEFuaW1WYWxUeXBlMTo6Q29udGVu
dFR5cGUsIHR5cGVuYW1lIEFuaW1WYWxUeXBlMjo6Q29udGVudFR5cGU+KiBjb25zdHJ1Y3RGcm9t
QmFzZVZhbHVlcyhjb25zdCBTVkdFbGVtZW50QW5pbWF0ZWRQcm9wZXJ0eUxpc3QmIGFuaW1hdGVk
VHlwZXMpCisgICAgc3RkOjp1bmlxdWVfcHRyPHBhaXI8dHlwZW5hbWUgQW5pbVZhbFR5cGUxOjpD
b250ZW50VHlwZSwgdHlwZW5hbWUgQW5pbVZhbFR5cGUyOjpDb250ZW50VHlwZT4+IGNvbnN0cnVj
dEZyb21CYXNlVmFsdWVzKGNvbnN0IFNWR0VsZW1lbnRBbmltYXRlZFByb3BlcnR5TGlzdCYgYW5p
bWF0ZWRUeXBlcykKICAgICB7CiAgICAgICAgIEFTU0VSVChhbmltYXRlZFR5cGVzWzBdLnByb3Bl
cnRpZXMuc2l6ZSgpID09IDIpOwogICAgICAgICBjb25zdCB0eXBlbmFtZSBBbmltVmFsVHlwZTE6
OkNvbnRlbnRUeXBlJiBmaXJzdFR5cGUgPSBjYXN0QW5pbWF0ZWRQcm9wZXJ0eVRvQWN0dWFsVHlw
ZTxBbmltVmFsVHlwZTE+KGFuaW1hdGVkVHlwZXNbMF0ucHJvcGVydGllc1swXS5nZXQoKSktPmN1
cnJlbnRCYXNlVmFsdWUoKTsKICAgICAgICAgY29uc3QgdHlwZW5hbWUgQW5pbVZhbFR5cGUyOjpD
b250ZW50VHlwZSYgc2Vjb25kVHlwZSA9IGNhc3RBbmltYXRlZFByb3BlcnR5VG9BY3R1YWxUeXBl
PEFuaW1WYWxUeXBlMj4oYW5pbWF0ZWRUeXBlc1swXS5wcm9wZXJ0aWVzWzFdLmdldCgpKS0+Y3Vy
cmVudEJhc2VWYWx1ZSgpOwogCi0gICAgICAgIHBhaXI8dHlwZW5hbWUgQW5pbVZhbFR5cGUxOjpD
b250ZW50VHlwZSwgdHlwZW5hbWUgQW5pbVZhbFR5cGUyOjpDb250ZW50VHlwZT4qIGNvcHkgPSBu
ZXcgcGFpcjx0eXBlbmFtZSBBbmltVmFsVHlwZTE6OkNvbnRlbnRUeXBlLCB0eXBlbmFtZSBBbmlt
VmFsVHlwZTI6OkNvbnRlbnRUeXBlPihmaXJzdFR5cGUsIHNlY29uZFR5cGUpOworICAgICAgICBh
dXRvIGNvcHkgPSBzdGQ6Om1ha2VfdW5pcXVlPHBhaXI8dHlwZW5hbWUgQW5pbVZhbFR5cGUxOjpD
b250ZW50VHlwZSwgdHlwZW5hbWUgQW5pbVZhbFR5cGUyOjpDb250ZW50VHlwZT4+KGZpcnN0VHlw
ZSwgc2Vjb25kVHlwZSk7CiAgICAgICAgIGV4ZWN1dGVBY3Rpb248QW5pbVZhbFR5cGUxPihTdGFy
dEFuaW1hdGlvbkFjdGlvbiwgYW5pbWF0ZWRUeXBlcywgMCwgJmNvcHktPmZpcnN0KTsKICAgICAg
ICAgZXhlY3V0ZUFjdGlvbjxBbmltVmFsVHlwZTI+KFN0YXJ0QW5pbWF0aW9uQWN0aW9uLCBhbmlt
YXRlZFR5cGVzLCAxLCAmY29weS0+c2Vjb25kKTsKICAgICAgICAgcmV0dXJuIGNvcHk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>