<?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>71088</bug_id>
          
          <creation_ts>2011-10-27 19:16:32 -0700</creation_ts>
          <short_desc>[Refactoring] Deprecate [V8ConstructorSetsActiveDOMWrapper] IDL</short_desc>
          <delta_ts>2011-12-22 02:31:30 -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>DOM</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>0</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>dominicc</cc>
    
    <cc>eric</cc>
    
    <cc>japhet</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>492196</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-10-27 19:16:32 -0700</bug_when>
    <thetext>I introduced [V8ConstructorSetsActiveDOMWrapper] IDL in bug 66536, but I found that it has the same meaning as [ActiveDOMObject] IDL. We should remove [V8ConstructorSetsActiveDOMWrapper] IDL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492198</commentid>
    <comment_count>1</comment_count>
      <attachid>112807</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-10-27 19:36:29 -0700</bug_when>
    <thetext>Created attachment 112807
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492215</commentid>
    <comment_count>2</comment_count>
      <attachid>112809</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-10-27 20:08:24 -0700</bug_when>
    <thetext>Created attachment 112809
rebased patch for commit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492249</commentid>
    <comment_count>3</comment_count>
      <attachid>112809</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-27 22:53:14 -0700</bug_when>
    <thetext>Comment on attachment 112809
rebased patch for commit

Clearing flags on attachment: 112809

Committed r98695: &lt;http://trac.webkit.org/changeset/98695&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>525581</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-12-21 14:25:06 -0800</bug_when>
    <thetext>Attachment 112807 was posted by a committer and has review+, assigning to Kentaro Hara for commit.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112807</attachid>
            <date>2011-10-27 19:36:29 -0700</date>
            <delta_ts>2011-12-22 02:31:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71088-20111028113626.patch</filename>
            <type>text/plain</type>
            <size>28792</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg1MzEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjZTJlMjE0OGNiODE5ZGEz
NzM0MzhiYTk3NTlhMzNjOGMzOTZmNzhjLi4xNDhiNTQxYTRjOGQ1OWY0MmNkMjZhODMyZTc2MzQ5
YmQwMWYxNmNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTMgQEAKKzIwMTEtMTAtMjcgIEtlbnRh
cm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIERlcHJlY2F0ZSBbVjhD
b25zdHJ1Y3RvclNldHNBY3RpdmVET01XcmFwcGVyXSBJREwKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSSBpbnRyb2R1Y2VkIFtWOENvbnN0cnVjdG9yU2V0
c0FjdGl2ZURPTVdyYXBwZXJdIElETCBpbiBidWcgNjY1MzYsCisgICAgICAgIGJ1dCBJIGZvdW5k
IHRoYXQgaXQgaGFzIHRoZSBzYW1lIG1lYW5pbmcgYXMgW0FjdGl2ZURPTU9iamVjdF0gSURMLgor
ICAgICAgICBUaGlzIHBhdGNoIHJlbW92ZXMgW1Y4Q29uc3RydWN0b3JTZXRzQWN0aXZlRE9NV3Jh
cHBlcl0gSURMLgorCisgICAgICAgIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICBU
ZXN0czogZmFzdC9kb20vZ2xvYmFsLWNvbnN0cnVjdG9ycy5odG1sCisgICAgICAgICAgICAgICBm
YXN0L2V2ZW50c291cmNlL2V2ZW50c291cmNlLWNvbnN0cnVjdG9yLmh0bWwKKyAgICAgICAgICAg
ICAgIGZhc3QvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtYXR0cmlidXRlLWxpc3RlbmVycy5odG1s
CisgICAgICAgICAgICAgICBmYXN0L2ZpbGVzL2Jsb2Itc2xpY2UtdGVzdC5odG1sCisgICAgICAg
ICAgICAgICBmYXN0L2ZpbGVzL2ZpbGUtcmVhZGVyLWFib3J0Lmh0bWwKKyAgICAgICAgICAgICAg
IHVpX3Rlc3RzOldvcmtlclRlc3QuRkxBS1lfU2hhcmVkV29ya2VyRmFzdENvbnN0cnVjdG9yCisg
ICAgICAgICAgICAgICB1aV90ZXN0czpXb3JrZXJUZXN0LkZMQUtZX1NoYXJlZFdvcmtlckZhc3RO
YW1lCisgICAgICAgICAgICAgICB1aV90ZXN0czpXb3JrZXJUZXN0LkZMQUtZX1dvcmtlckNvbnN0
cnVjdG9yCisgICAgICAgICAgICAgICB1aV90ZXN0czpXb3JrZXJUZXN0LkZMQUtZX1dvcmtlckV2
ZW50TGlzdGVuZXIKKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4
LnBtOiBSZXBsYWNlZCAiVjhDb25zdHJ1Y3RvclNldHNBY3RpdmVET01XcmFwcGVyIiB3aXRoICJB
Y3RpdmVET01PYmplY3QiLgorICAgICAgICAoR2VuZXJhdGVDb25zdHJ1Y3RvckNhbGxiYWNrKToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEludGVyZmFjZS5pZGw6IERpdHRv
LgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3Bw
OiBVcGRhdGVkIGEgdGVzdCByZXN1bHQuCisgICAgICAgIChXZWJDb3JlOjppc09ic2VydmFibGUp
OgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0SW50ZXJmYWNlT3duZXI6OmlzUmVhY2hhYmxlRnJv
bU9wYXF1ZVJvb3RzKToKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdEludGVyZmFjZU93bmVyOjpm
aW5hbGl6ZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVy
ZmFjZS5oOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OndyYXBwZXJPd25lcik6CisgICAgICAg
IChXZWJDb3JlOjp3cmFwcGVyQ29udGV4dCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwOiBEaXR0by4KKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5o
OiBEaXR0by4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNw
cDogRGl0dG8uCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5o
OiBEaXR0by4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFs
aXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcDogRGl0dG8uCisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oOiBE
aXR0by4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNl
LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpWOFRlc3RJbnRlcmZhY2U6OnRvQWN0aXZl
RE9NT2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlY4VGVzdEludGVyZmFjZTo6d3JhcFNsb3cp
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuaDog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpWOFRlc3RJbnRlcmZhY2U6OmV4aXN0aW5nV3JhcHBl
cik6CisgICAgICAgICogZmlsZWFwaS9GaWxlUmVhZGVyLmlkbDogUmVtb3ZlZCBbVjhDb25zdHJ1
Y3RvclNldHNBY3RpdmVET01XcmFwcGVyXSBJREwuCisgICAgICAgICogbWVkaWFzdHJlYW0vUGVl
ckNvbm5lY3Rpb24uaWRsOiBEaXR0by4KKyAgICAgICAgKiBwYWdlL0V2ZW50U291cmNlLmlkbDog
RGl0dG8uCisgICAgICAgICogd29ya2Vycy9TaGFyZWRXb3JrZXIuaWRsOiBEaXR0by4KKyAgICAg
ICAgKiB3b3JrZXJzL1dvcmtlci5pZGw6IERpdHRvLgorCiAyMDExLTEwLTI2ICBTdGV2ZSBGYWxr
ZW5idXJnICA8c2ZhbGtlbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVzb3VyY2VFcnJvciBkb2Vz
bid0IHN1cHBvcnQgY3VzdG9tIGRvbWFpbnMgb24gV2luZG93cwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0gYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQppbmRleCA2ODAzZmMxOGM0
NGMzYmYzMWQ2OGIzOTRiM2RkZTA3YTVhYWY4NzkxLi40MjczZjAwZmMxNTFhZTQ1MWU0MjI5OTYw
OWUyZjcwNTllZTVmZDEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JWOC5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JWOC5wbQpAQCAtMTU3OSw3ICsxNTc5LDcgQEAgRU5ECiAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBnb3RvIGZhaWw7XG4iKTsKICAgICB9CiAKLSAg
ICBteSAkRE9NT2JqZWN0ID0gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiVjhDb25z
dHJ1Y3RvclNldHNBY3RpdmVET01XcmFwcGVyIn0gPyAiQWN0aXZlRE9NT2JqZWN0IiA6ICJET01P
YmplY3QiOworICAgIG15ICRET01PYmplY3QgPSAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRl
cy0+eyJBY3RpdmVET01PYmplY3QifSA/ICJBY3RpdmVET01PYmplY3QiIDogIkRPTU9iamVjdCI7
CiAgICAgcHVzaChAaW1wbENvbnRlbnQsIDw8RU5EKTsKIAogICAgIFY4RE9NV3JhcHBlcjo6c2V0
RE9NV3JhcHBlcihhcmdzLkhvbGRlcigpLCAmaW5mbywgb2JqLmdldCgpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVy
ZmFjZS5jcHAKaW5kZXggNWY0MTViMjRkZGVjMDQyM2FhODk4OTAxZTExOWRkNDRkNzFmMWZhYi4u
MDk0ZDhlNjIzZGZjNGNiMzBiNGQ5ZWVlNjUxNWYxNmUxZGRjYzhhYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVy
ZmFjZS5jcHAKQEAgLTg5LDExICs4OSw2IEBAIHZvaWQgSlNUZXN0SW50ZXJmYWNlQ29uc3RydWN0
b3I6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplCiAgICAg
cHV0RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLnByb3Rv
dHlwZSwgSlNUZXN0SW50ZXJmYWNlUHJvdG90eXBlOjpzZWxmKGV4ZWMsIGdsb2JhbE9iamVjdCks
IERvbnREZWxldGUgfCBSZWFkT25seSk7CiB9CiAKLWJvb2wgSlNUZXN0SW50ZXJmYWNlQ29uc3Ry
dWN0b3I6OmdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJ
ZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKLXsKLSAgICByZXR1
cm4gZ2V0T3duUHJvcGVydHlTbG90KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCk7Ci19
Ci0KIGJvb2wgSlNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3I6OmdldE93blByb3BlcnR5U2xvdChK
U0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlO
YW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiB7CiAgICAgcmV0dXJuIGdldFN0YXRpY1ZhbHVlU2xv
dDxKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvciwgSlNET01XcmFwcGVyPihleGVjLCAmSlNUZXN0
SW50ZXJmYWNlQ29uc3RydWN0b3JUYWJsZSwgc3RhdGljX2Nhc3Q8SlNUZXN0SW50ZXJmYWNlQ29u
c3RydWN0b3IqPihjZWxsKSwgcHJvcGVydHlOYW1lLCBzbG90KTsKQEAgLTE3OCwxMSArMTczLDYg
QEAgSlNPYmplY3QqIEpTVGVzdEludGVyZmFjZTo6Y3JlYXRlUHJvdG90eXBlKEV4ZWNTdGF0ZSog
ZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2IKICAgICByZXR1cm4gSlNUZXN0SW50ZXJmYWNlUHJv
dG90eXBlOjpjcmVhdGUoZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIEpTVGVzdElu
dGVyZmFjZVByb3RvdHlwZTo6Y3JlYXRlU3RydWN0dXJlKGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0
YSgpLCBnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCkpKTsKIH0K
IAotYm9vbCBKU1Rlc3RJbnRlcmZhY2U6OmdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0
YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYg
c2xvdCkKLXsKLSAgICByZXR1cm4gZ2V0T3duUHJvcGVydHlTbG90KHRoaXMsIGV4ZWMsIHByb3Bl
cnR5TmFtZSwgc2xvdCk7Ci19Ci0KIGJvb2wgSlNUZXN0SW50ZXJmYWNlOjpnZXRPd25Qcm9wZXJ0
eVNsb3QoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHBy
b3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQogewogICAgIEpTVGVzdEludGVyZmFjZSog
dGhpc09iamVjdCA9IHN0YXRpY19jYXN0PEpTVGVzdEludGVyZmFjZSo+KGNlbGwpOwpAQCAtMjA3
LDYgKzE5NywzMSBAQCBKU1ZhbHVlIEpTVGVzdEludGVyZmFjZTo6Z2V0Q29uc3RydWN0b3IoRXhl
Y1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsTwogICAgIHJldHVybiBnZXRET01D
b25zdHJ1Y3RvcjxKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3Rvcj4oZXhlYywgc3RhdGljX2Nhc3Q8
SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAorc3RhdGljIGlubGluZSBi
b29sIGlzT2JzZXJ2YWJsZShKU1Rlc3RJbnRlcmZhY2UqIGpzVGVzdEludGVyZmFjZSkKK3sKKyAg
ICBpZiAoanNUZXN0SW50ZXJmYWNlLT5oYXNDdXN0b21Qcm9wZXJ0aWVzKCkpCisgICAgICAgIHJl
dHVybiB0cnVlOworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBKU1Rlc3RJbnRlcmZhY2VP
d25lcjo6aXNSZWFjaGFibGVGcm9tT3BhcXVlUm9vdHMoSlNDOjpIYW5kbGU8SlNDOjpVbmtub3du
PiBoYW5kbGUsIHZvaWQqLCBTbG90VmlzaXRvciYgdmlzaXRvcikKK3sKKyAgICBKU1Rlc3RJbnRl
cmZhY2UqIGpzVGVzdEludGVyZmFjZSA9IHN0YXRpY19jYXN0PEpTVGVzdEludGVyZmFjZSo+KGhh
bmRsZS5nZXQoKS5hc0NlbGwoKSk7CisgICAgaWYgKGpzVGVzdEludGVyZmFjZS0+aW1wbCgpLT5o
YXNQZW5kaW5nQWN0aXZpdHkoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgaWYgKCFpc09i
c2VydmFibGUoanNUZXN0SW50ZXJmYWNlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIFVO
VVNFRF9QQVJBTSh2aXNpdG9yKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgSlNUZXN0
SW50ZXJmYWNlT3duZXI6OmZpbmFsaXplKEpTQzo6SGFuZGxlPEpTQzo6VW5rbm93bj4gaGFuZGxl
LCB2b2lkKiBjb250ZXh0KQoreworICAgIEpTVGVzdEludGVyZmFjZSoganNUZXN0SW50ZXJmYWNl
ID0gc3RhdGljX2Nhc3Q8SlNUZXN0SW50ZXJmYWNlKj4oaGFuZGxlLmdldCgpLmFzQ2VsbCgpKTsK
KyAgICBET01XcmFwcGVyV29ybGQqIHdvcmxkID0gc3RhdGljX2Nhc3Q8RE9NV3JhcHBlcldvcmxk
Kj4oY29udGV4dCk7CisgICAgdW5jYWNoZVdyYXBwZXIod29ybGQsIGpzVGVzdEludGVyZmFjZS0+
aW1wbCgpLCBqc1Rlc3RJbnRlcmZhY2UpOworfQorCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4
ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEludGVy
ZmFjZSogaW1wbCkKIHsKICAgICByZXR1cm4gd3JhcDxKU1Rlc3RJbnRlcmZhY2U+KGV4ZWMsIGds
b2JhbE9iamVjdCwgaW1wbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmgKaW5kZXggMTZjMzdmM2NkZTc2MjQ4
YTY4OThjYjZjNWM4ZjRiZmVhMmVhMGM5Mi4uMTYxMDBmNmQ1YWNjM2IxOTY2OWVkMTRhZGIxNjhj
NmU3YjZkYzQ5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuaApAQCAtNDIsNyArNDIsNiBAQCBwdWJsaWM6
CiAgICAgfQogCiAgICAgc3RhdGljIEpTQzo6SlNPYmplY3QqIGNyZWF0ZVByb3RvdHlwZShKU0M6
OkV4ZWNTdGF0ZSosIEpTQzo6SlNHbG9iYWxPYmplY3QqKTsKLSAgICB2aXJ0dWFsIGJvb2wgZ2V0
T3duUHJvcGVydHlTbG90VmlydHVhbChKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRp
ZmllciYgcHJvcGVydHlOYW1lLCBKU0M6OlByb3BlcnR5U2xvdCYpOwogICAgIHN0YXRpYyBib29s
IGdldE93blByb3BlcnR5U2xvdChKU0M6OkpTQ2VsbCosIEpTQzo6RXhlY1N0YXRlKiwgY29uc3Qg
SlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTQzo6UHJvcGVydHlTbG90Jik7CiAgICAg
dmlydHVhbCBib29sIGdldE93blByb3BlcnR5RGVzY3JpcHRvcihKU0M6OkV4ZWNTdGF0ZSosIGNv
bnN0IEpTQzo6SWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU0M6OlByb3BlcnR5RGVzY3JpcHRv
ciYpOwogICAgIHN0YXRpYyBjb25zdCBKU0M6OkNsYXNzSW5mbyBzX2luZm87CkBAIC02Myw2ICs2
MiwyMiBAQCBwcm90ZWN0ZWQ6CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZs
YWdzID0gSlNDOjpPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBCYXNlOjpTdHJ1Y3R1cmVG
bGFnczsKIH07CiAKK2NsYXNzIEpTVGVzdEludGVyZmFjZU93bmVyIDogcHVibGljIEpTQzo6V2Vh
a0hhbmRsZU93bmVyIHsKKyAgICB2aXJ0dWFsIGJvb2wgaXNSZWFjaGFibGVGcm9tT3BhcXVlUm9v
dHMoSlNDOjpIYW5kbGU8SlNDOjpVbmtub3duPiwgdm9pZCogY29udGV4dCwgSlNDOjpTbG90Vmlz
aXRvciYpOworICAgIHZpcnR1YWwgdm9pZCBmaW5hbGl6ZShKU0M6OkhhbmRsZTxKU0M6OlVua25v
d24+LCB2b2lkKiBjb250ZXh0KTsKK307CisKK2lubGluZSBKU0M6OldlYWtIYW5kbGVPd25lciog
d3JhcHBlck93bmVyKERPTVdyYXBwZXJXb3JsZCosIFRlc3RJbnRlcmZhY2UqKQoreworICAgIERF
RklORV9TVEFUSUNfTE9DQUwoSlNUZXN0SW50ZXJmYWNlT3duZXIsIGpzVGVzdEludGVyZmFjZU93
bmVyLCAoKSk7CisgICAgcmV0dXJuICZqc1Rlc3RJbnRlcmZhY2VPd25lcjsKK30KKworaW5saW5l
IHZvaWQqIHdyYXBwZXJDb250ZXh0KERPTVdyYXBwZXJXb3JsZCogd29ybGQsIFRlc3RJbnRlcmZh
Y2UqKQoreworICAgIHJldHVybiB3b3JsZDsKK30KKwogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpF
eGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RJbnRlcmZhY2UqKTsKIFRlc3RJbnRl
cmZhY2UqIHRvVGVzdEludGVyZmFjZShKU0M6OkpTVmFsdWUpOwogCkBAIC0xMDMsNyArMTE4LDYg
QEAgcHVibGljOgogICAgICAgICByZXR1cm4gcHRyOwogICAgIH0KIAotICAgIHZpcnR1YWwgYm9v
bCBnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgSlNDOjpJ
ZGVudGlmaWVyJiwgSlNDOjpQcm9wZXJ0eVNsb3QmKTsKICAgICBzdGF0aWMgYm9vbCBnZXRPd25Q
cm9wZXJ0eVNsb3QoSlNDOjpKU0NlbGwqLCBKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRl
bnRpZmllciYsIEpTQzo6UHJvcGVydHlTbG90Jik7CiAgICAgdmlydHVhbCBib29sIGdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYs
IEpTQzo6UHJvcGVydHlEZXNjcmlwdG9yJik7CiAgICAgc3RhdGljIGNvbnN0IEpTQzo6Q2xhc3NJ
bmZvIHNfaW5mbzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNw
cAppbmRleCA4NDcxZmFkZmMxMWI4OWFjNTQ2MWNmYzQ2NTQ3YzZhNWM1NmFkMGY2Li43OTQ4Nzk3
ZDA2YmFlMzhlYmEyZDAwMmM5YzZhNzg4NjNhYTcxYjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCkBAIC04NywxMSArODcsNiBAQCB2b2lkIEpTVGVz
dE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0
YXRlKiBleGVjLCBKUwogICAgIHB1dERpcmVjdChleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnBy
b3BlcnR5TmFtZXMoKS5wcm90b3R5cGUsIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90
b3R5cGU6OnNlbGYoZXhlYywgZ2xvYmFsT2JqZWN0KSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KTsK
IH0KIAotYm9vbCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3I6OmdldE93
blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBw
cm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKLXsKLSAgICByZXR1cm4gZ2V0T3duUHJv
cGVydHlTbG90KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCk7Ci19Ci0KIGJvb2wgSlNU
ZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yOjpnZXRPd25Qcm9wZXJ0eVNsb3Qo
SlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5
TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQogewogICAgIHJldHVybiBnZXRTdGF0aWNWYWx1ZVNs
b3Q8SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yLCBKU0RPTVdyYXBwZXI+
KGV4ZWMsICZKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3JUYWJsZSwgc3Rh
dGljX2Nhc3Q8SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yKj4oY2VsbCks
IHByb3BlcnR5TmFtZSwgc2xvdCk7CkBAIC0xMjksMTEgKzEyNCw2IEBAIEpTT2JqZWN0KiBKU1Rl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlOjpzZWxmKEV4ZWNTdGF0ZSogZXhlYywg
SlNHbG9iYWxPCiAgICAgcmV0dXJuIGdldERPTVByb3RvdHlwZTxKU1Rlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyPihleGVjLCBnbG9iYWxPYmplY3QpOwogfQogCi1ib29sIEpTVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXJQcm90b3R5cGU6OmdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhlY1N0
YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYg
c2xvdCkKLXsKLSAgICByZXR1cm4gZ2V0T3duUHJvcGVydHlTbG90KHRoaXMsIGV4ZWMsIHByb3Bl
cnR5TmFtZSwgc2xvdCk7Ci19Ci0KIGJvb2wgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclBy
b3RvdHlwZTo6Z2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVj
LCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKIHsK
ICAgICBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlKiB0aGlzT2JqZWN0ID0g
c3RhdGljX2Nhc3Q8SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZSo+KGNlbGwp
OwpAQCAtMTY0LDExICsxNTQsNiBAQCBKU09iamVjdCogSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lcjo6Y3JlYXRlUHJvdG90eXBlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYQogICAgIHJldHVy
biBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlOjpjcmVhdGUoZXhlYy0+Z2xv
YmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90
b3R5cGU6OmNyZWF0ZVN0cnVjdHVyZShnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSwgZ2xvYmFs
T2JqZWN0LCBnbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpKSk7CiB9CiAKLWJvb2wgSlNU
ZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbChFeGVj
U3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90
JiBzbG90KQotewotICAgIHJldHVybiBnZXRPd25Qcm9wZXJ0eVNsb3QodGhpcywgZXhlYywgcHJv
cGVydHlOYW1lLCBzbG90KTsKLX0KLQogYm9vbCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0
IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQogewogICAgIEpT
VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqIHRoaXNPYmplY3QgPSBzdGF0aWNfY2FzdDxKU1Rl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKj4oY2VsbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
ci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXIuaAppbmRleCA2N2ZlMWQ4N2Y3MGJmM2U4NGQyNGIyYWExYTg2NTEw
OTIxYzJjNzAwLi42ZGU3ZWNmOTlhMzVjYTI5ODIzZDAyYmJkZjlhMTdmNGJlZjljZTBmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgKQEAgLTQwLDcgKzQwLDYg
QEAgcHVibGljOgogICAgIH0KIAogICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBjcmVhdGVQcm90
b3R5cGUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTR2xvYmFsT2JqZWN0Kik7Ci0gICAgdmlydHVh
bCBib29sIGdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBK
U0M6OklkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNDOjpQcm9wZXJ0eVNsb3QmKTsKICAgICBz
dGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDOjpKU0NlbGwqLCBKU0M6OkV4ZWNTdGF0
ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU0M6OlByb3BlcnR5U2xv
dCYpOwogICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSlNDOjpFeGVj
U3RhdGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNDOjpQcm9wZXJ0
eURlc2NyaXB0b3ImKTsKICAgICBzdGF0aWMgY29uc3QgSlNDOjpDbGFzc0luZm8gc19pbmZvOwpA
QCAtNzYsNyArNzUsNiBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgc3RhdGljIGNvbnN0IEpTQzo6
Q2xhc3NJbmZvIHNfaW5mbzsKLSAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90Vmly
dHVhbChKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYsIEpTQzo6UHJvcGVy
dHlTbG90Jik7CiAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90KEpTQzo6SlNDZWxs
KiwgSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXImLCBKU0M6OlByb3BlcnR5
U2xvdCYpOwogICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSlNDOjpF
eGVjU3RhdGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXImLCBKU0M6OlByb3BlcnR5RGVzY3JpcHRv
ciYpOwogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6SlNH
bG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCkBAIC0xMDQsNyArMTAyLDYgQEAgcHVibGljOgogICAg
ICAgICByZXR1cm4gcHRyOwogICAgIH0KIAotICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0
eVNsb3RWaXJ0dWFsKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiwgSlND
OjpQcm9wZXJ0eVNsb3QmKTsKICAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlND
OjpKU0NlbGwqLCBKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYsIEpTQzo6
UHJvcGVydHlTbG90Jik7CiAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5RGVzY3JpcHRv
cihKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYsIEpTQzo6UHJvcGVydHlE
ZXNjcmlwdG9yJik7CiAgICAgc3RhdGljIGNvbnN0IEpTQzo6Q2xhc3NJbmZvIHNfaW5mbzsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RP
YmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9i
ai5jcHAKaW5kZXggODkxNjk1YzM4YWMyN2Q4ZGIxZmI0MWIzZjFmODIzOTZiYmJkZTE5MS4uN2M1
MGQ2NmM3MDlmZWY1ZjBhM2ZjZjM1Y2I0MzViZjJkZDE4OTEzNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKQEAgLTEz
MSw3ICsxMzEsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0T2JqVGFibGVW
YWx1ZXNbXSA9CiB9OwogCiAjdW5kZWYgVEhVTktfR0VORVJBVE9SCi1zdGF0aWMgSlNDX0NPTlNU
X0hBU0hUQUJMRSBIYXNoVGFibGUgSlNUZXN0T2JqVGFibGUgPSB7IDEzMCwgMTI3LCBKU1Rlc3RP
YmpUYWJsZVZhbHVlcywgMCB9Oworc3RhdGljIEpTQ19DT05TVF9IQVNIVEFCTEUgSGFzaFRhYmxl
IEpTVGVzdE9ialRhYmxlID0geyAxMzUsIDEyNywgSlNUZXN0T2JqVGFibGVWYWx1ZXMsIDAgfTsK
IC8qIEhhc2ggdGFibGUgZm9yIGNvbnN0cnVjdG9yICovCiAjaWYgRU5BQkxFKEpJVCkKICNkZWZp
bmUgVEhVTktfR0VORVJBVE9SKGdlbmVyYXRvcikgLCBnZW5lcmF0b3IKQEAgLTE4OSwxMSArMTg5
LDYgQEAgdm9pZCBKU1Rlc3RPYmpDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRl
KiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2wKICAgICBwdXREaXJlY3QoZXhlYy0+Z2xvYmFs
RGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkucHJvdG90eXBlLCBKU1Rlc3RPYmpQcm90b3R5
cGU6OnNlbGYoZXhlYywgZ2xvYmFsT2JqZWN0KSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KTsKIH0K
IAotYm9vbCBKU1Rlc3RPYmpDb25zdHJ1Y3Rvcjo6Z2V0T3duUHJvcGVydHlTbG90VmlydHVhbChF
eGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVydHlT
bG90JiBzbG90KQotewotICAgIHJldHVybiBnZXRPd25Qcm9wZXJ0eVNsb3QodGhpcywgZXhlYywg
cHJvcGVydHlOYW1lLCBzbG90KTsKLX0KLQogYm9vbCBKU1Rlc3RPYmpDb25zdHJ1Y3Rvcjo6Z2V0
T3duUHJvcGVydHlTbG90KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVu
dGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKIHsKICAgICByZXR1cm4g
Z2V0U3RhdGljVmFsdWVTbG90PEpTVGVzdE9iakNvbnN0cnVjdG9yLCBKU0RPTVdyYXBwZXI+KGV4
ZWMsICZKU1Rlc3RPYmpDb25zdHJ1Y3RvclRhYmxlLCBzdGF0aWNfY2FzdDxKU1Rlc3RPYmpDb25z
dHJ1Y3Rvcio+KGNlbGwpLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwpAQCAtMjc4LDcgKzI3Myw3IEBA
IHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZVZhbHVl
c1tdID0KIH07CiAKICN1bmRlZiBUSFVOS19HRU5FUkFUT1IKLXN0YXRpYyBKU0NfQ09OU1RfSEFT
SFRBQkxFIEhhc2hUYWJsZSBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZSA9IHsgMTMzLCAxMjcsIEpT
VGVzdE9ialByb3RvdHlwZVRhYmxlVmFsdWVzLCAwIH07CitzdGF0aWMgSlNDX0NPTlNUX0hBU0hU
QUJMRSBIYXNoVGFibGUgSlNUZXN0T2JqUHJvdG90eXBlVGFibGUgPSB7IDEzNywgMTI3LCBKU1Rl
c3RPYmpQcm90b3R5cGVUYWJsZVZhbHVlcywgMCB9OwogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdE9i
alByb3RvdHlwZTo6c19pbmZvID0geyAiVGVzdE9ialByb3RvdHlwZSIsICZKU0M6OkpTTm9uRmlu
YWxPYmplY3Q6OnNfaW5mbywgJkpTVGVzdE9ialByb3RvdHlwZVRhYmxlLCAwLCBDUkVBVEVfTUVU
SE9EX1RBQkxFKEpTVGVzdE9ialByb3RvdHlwZSkgfTsKIAogSlNPYmplY3QqIEpTVGVzdE9ialBy
b3RvdHlwZTo6c2VsZihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QpCkBAIC0yODYsMTEgKzI4MSw2IEBAIEpTT2JqZWN0KiBKU1Rlc3RPYmpQcm90b3R5cGU6OnNl
bGYoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0CiAgICAgcmV0
dXJuIGdldERPTVByb3RvdHlwZTxKU1Rlc3RPYmo+KGV4ZWMsIGdsb2JhbE9iamVjdCk7CiB9CiAK
LWJvb2wgSlNUZXN0T2JqUHJvdG90eXBlOjpnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEV4ZWNT
dGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3Qm
IHNsb3QpCi17Ci0gICAgcmV0dXJuIGdldE93blByb3BlcnR5U2xvdCh0aGlzLCBleGVjLCBwcm9w
ZXJ0eU5hbWUsIHNsb3QpOwotfQotCiBib29sIEpTVGVzdE9ialByb3RvdHlwZTo6Z2V0T3duUHJv
cGVydHlTbG90KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVy
JiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKIHsKICAgICBKU1Rlc3RPYmpQcm90
b3R5cGUqIHRoaXNPYmplY3QgPSBzdGF0aWNfY2FzdDxKU1Rlc3RPYmpQcm90b3R5cGUqPihjZWxs
KTsKQEAgLTMyMSwxMSArMzExLDYgQEAgSlNPYmplY3QqIEpTVGVzdE9iajo6Y3JlYXRlUHJvdG90
eXBlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamUKICAgICByZXR1
cm4gSlNUZXN0T2JqUHJvdG90eXBlOjpjcmVhdGUoZXhlYy0+Z2xvYmFsRGF0YSgpLCBnbG9iYWxP
YmplY3QsIEpTVGVzdE9ialByb3RvdHlwZTo6Y3JlYXRlU3RydWN0dXJlKGdsb2JhbE9iamVjdC0+
Z2xvYmFsRGF0YSgpLCBnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBl
KCkpKTsKIH0KIAotYm9vbCBKU1Rlc3RPYmo6OmdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoRXhl
Y1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xv
dCYgc2xvdCkKLXsKLSAgICByZXR1cm4gZ2V0T3duUHJvcGVydHlTbG90KHRoaXMsIGV4ZWMsIHBy
b3BlcnR5TmFtZSwgc2xvdCk7Ci19Ci0KIGJvb2wgSlNUZXN0T2JqOjpnZXRPd25Qcm9wZXJ0eVNs
b3QoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3Bl
cnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQogewogICAgIEpTVGVzdE9iaiogdGhpc09iamVj
dCA9IHN0YXRpY19jYXN0PEpTVGVzdE9iaio+KGNlbGwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5oCmluZGV4IGZjNDc4YzY1ZWU4
MTg2OGYxYjI3ZjI5NjkwYzg1NTlmNWQzMjFjNzkuLjljZGEwODZmNGVlMDVlMjdiZDhiNjY3MjNl
N2QyZDAwMzY0Nzg2MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RPYmouaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmgKQEAgLTQwLDcgKzQwLDYgQEAgcHVibGljOgogICAgIH0K
IAogICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBjcmVhdGVQcm90b3R5cGUoSlNDOjpFeGVjU3Rh
dGUqLCBKU0M6OkpTR2xvYmFsT2JqZWN0Kik7Ci0gICAgdmlydHVhbCBib29sIGdldE93blByb3Bl
cnR5U2xvdFZpcnR1YWwoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXImIHBy
b3BlcnR5TmFtZSwgSlNDOjpQcm9wZXJ0eVNsb3QmKTsKICAgICBzdGF0aWMgYm9vbCBnZXRPd25Q
cm9wZXJ0eVNsb3QoSlNDOjpKU0NlbGwqLCBKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRl
bnRpZmllciYgcHJvcGVydHlOYW1lLCBKU0M6OlByb3BlcnR5U2xvdCYpOwogICAgIHZpcnR1YWwg
Ym9vbCBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6
OklkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNDOjpQcm9wZXJ0eURlc2NyaXB0b3ImKTsKICAg
ICBzdGF0aWMgdm9pZCBwdXQoSlNDOjpKU0NlbGwqLCBKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpT
Qzo6SWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU0M6OkpTVmFsdWUsIEpTQzo6UHV0UHJvcGVy
dHlTbG90Jik7CkBAIC04OSw3ICs4OCw2IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICBzdGF0aWMg
Y29uc3QgSlNDOjpDbGFzc0luZm8gc19pbmZvOwotICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9w
ZXJ0eVNsb3RWaXJ0dWFsKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiwg
SlNDOjpQcm9wZXJ0eVNsb3QmKTsKICAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3Qo
SlNDOjpKU0NlbGwqLCBKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYsIEpT
Qzo6UHJvcGVydHlTbG90Jik7CiAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYsIEpTQzo6UHJvcGVy
dHlEZXNjcmlwdG9yJik7CiAgICAgc3RhdGljIEpTQzo6U3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1
cmUoSlNDOjpKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTQzo6SlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIHByb3RvdHlwZSkKQEAgLTExNyw3ICsxMTUsNiBAQCBw
dWJsaWM6CiAgICAgICAgIHJldHVybiBwdHI7CiAgICAgfQogCi0gICAgdmlydHVhbCBib29sIGdl
dE93blByb3BlcnR5U2xvdFZpcnR1YWwoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6OklkZW50
aWZpZXImLCBKU0M6OlByb3BlcnR5U2xvdCYpOwogICAgIHN0YXRpYyBib29sIGdldE93blByb3Bl
cnR5U2xvdChKU0M6OkpTQ2VsbCosIEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgSlNDOjpJZGVudGlm
aWVyJiwgSlNDOjpQcm9wZXJ0eVNsb3QmKTsKICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiwgSlND
OjpQcm9wZXJ0eURlc2NyaXB0b3ImKTsKICAgICBzdGF0aWMgY29uc3QgSlNDOjpDbGFzc0luZm8g
c19pbmZvOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlLmNwcAppbmRleCBjOThjNTYzYzM2N2JiMGIwYjk0YmZlMzgzZDc0OGJiOGZiOTg1
MmE2Li5iMWQ1NjczMjY3NGMyNTIwNjJiMjdhYTQyMTk4OGRkZjkyNzE5NDhiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcApA
QCAtODgsMTEgKzg4LDYgQEAgdm9pZCBKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZh
Y2VDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKgogICAgIHB1dERpcmVjdChl
eGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90b3R5cGUsIEpTVGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVByb3RvdHlwZTo6c2VsZihleGVjLCBnbG9i
YWxPYmplY3QpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkpOwogfQogCi1ib29sIEpTVGVzdFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUNvbnN0cnVjdG9yOjpnZXRPd25Qcm9wZXJ0eVNsb3RW
aXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQ
cm9wZXJ0eVNsb3QmIHNsb3QpCi17Ci0gICAgcmV0dXJuIGdldE93blByb3BlcnR5U2xvdCh0aGlz
LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwotfQotCiBib29sIEpTVGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZUNvbnN0cnVjdG9yOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxs
KiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwg
UHJvcGVydHlTbG90JiBzbG90KQogewogICAgIHJldHVybiBnZXRTdGF0aWNWYWx1ZVNsb3Q8SlNU
ZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQ29uc3RydWN0b3IsIEpTRE9NV3JhcHBl
cj4oZXhlYywgJkpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUNvbnN0cnVjdG9y
VGFibGUsIHN0YXRpY19jYXN0PEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUNv
bnN0cnVjdG9yKj4oY2VsbCksIHByb3BlcnR5TmFtZSwgc2xvdCk7CkBAIC0xNDgsMTEgKzE0Myw2
IEBAIEpTT2JqZWN0KiBKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OmNyZWF0
ZVByb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsCiAgICAgcmV0dXJuIEpTVGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZVByb3RvdHlwZTo6Y3JlYXRlKGV4ZWMtPmdsb2JhbERhdGEoKSwg
Z2xvYmFsT2JqZWN0LCBKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VQcm90b3R5
cGU6OmNyZWF0ZVN0cnVjdHVyZShnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSwgZ2xvYmFsT2Jq
ZWN0LCBnbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpKSk7CiB9CiAKLWJvb2wgSlNUZXN0
U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjpnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFs
KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0
eVNsb3QmIHNsb3QpCi17Ci0gICAgcmV0dXJuIGdldE93blByb3BlcnR5U2xvdCh0aGlzLCBleGVj
LCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwotfQotCiBib29sIEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUludGVyZmFjZTo6Z2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRl
KiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xv
dCkKIHsKICAgICBKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UqIHRoaXNPYmpl
Y3QgPSBzdGF0aWNfY2FzdDxKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UqPihj
ZWxsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRl
cmZhY2UuaAppbmRleCA0ZThkM2I4ZGY0YjFhMTJmYTNmYzZiZDc2OTQyOTE4MmQ2ZDkzZjNjLi5k
NjY1OTUyY2JlNjVjNmNhN2I4MDVlN2U4MmNiNTEzODYzYWE0YjJiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlw
dFZhbHVlSW50ZXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oCkBAIC00Miw3ICs0
Miw2IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICBzdGF0aWMgSlNDOjpKU09iamVjdCogY3JlYXRl
UHJvdG90eXBlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU0dsb2JhbE9iamVjdCopOwotICAgIHZp
cnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsKEpTQzo6RXhlY1N0YXRlKiwgY29u
c3QgSlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTQzo6UHJvcGVydHlTbG90Jik7CiAg
ICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90KEpTQzo6SlNDZWxsKiwgSlNDOjpFeGVj
U3RhdGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNDOjpQcm9wZXJ0
eVNsb3QmKTsKICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEpTQzo6
RXhlY1N0YXRlKiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTQzo6UHJv
cGVydHlEZXNjcmlwdG9yJik7CiAgICAgc3RhdGljIGNvbnN0IEpTQzo6Q2xhc3NJbmZvIHNfaW5m
bzsKQEAgLTEwMyw3ICsxMDIsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBwdHI7CiAgICAg
fQogCi0gICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5U2xvdFZpcnR1YWwoSlNDOjpFeGVj
U3RhdGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXImLCBKU0M6OlByb3BlcnR5U2xvdCYpOwogICAg
IHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU0M6OkpTQ2VsbCosIEpTQzo6RXhlY1N0
YXRlKiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiwgSlNDOjpQcm9wZXJ0eVNsb3QmKTsKICAgICB2
aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEpTQzo6RXhlY1N0YXRlKiwgY29u
c3QgSlNDOjpJZGVudGlmaWVyJiwgSlNDOjpQcm9wZXJ0eURlc2NyaXB0b3ImKTsKICAgICBzdGF0
aWMgY29uc3QgSlNDOjpDbGFzc0luZm8gc19pbmZvOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbnRlcmZhY2UuaWRsIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbnRlcmZhY2UuaWRsCmluZGV4IGI2MWQyYWFi
MTYzZmNkYmRkMGFmYTNkMThkNzZjNTY4MmVmOWYwOTYuLjUzM2M1ZTdkMDA2NjYyOWNkZGI5NWU1
MjdjZGUwZGJmYTM3ZWI2YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9UZXN0SW50ZXJmYWNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVGVzdEludGVyZmFjZS5pZGwKQEAgLTMwLDExICszMCwxMSBAQAogLy8g
Y2hhbmdlcyBpbiBpdHMgb3VwdXQuCiBtb2R1bGUgdGVzdCB7CiAgICAgaW50ZXJmYWNlIFsKKyAg
ICAgICAgQWN0aXZlRE9NT2JqZWN0LAogICAgICAgICBDb25kaXRpb25hbD1Db25kaXRpb24xfENv
bmRpdGlvbjIsCiAgICAgICAgIENhbkJlQ29uc3RydWN0ZWQsCiAgICAgICAgIENhbGxXaXRoPVNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQsCiAgICAgICAgIENvbnN0cnVjdG9yKGluIERPTVN0cmluZyBz
dHIxLCBpbiBbT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyBzdHIyKSwK
LSAgICAgICAgVjhDb25zdHJ1Y3RvclNldHNBY3RpdmVET01XcmFwcGVyLAogICAgICAgICBDb25z
dHJ1Y3RvclJhaXNlc0V4Y2VwdGlvbgogICAgIF0gVGVzdEludGVyZmFjZSB7CiAgICAgfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJ
bnRlcmZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4
VGVzdEludGVyZmFjZS5jcHAKaW5kZXggZjQxZWZlMWNmNjRkYTVmYWZmNzZkNjVkYmRmYmM1YThi
YzI4OWIzMC4uNWI0NWE2ZGYzM2MxNjkyYTNhZjdkNDUwNTc2NTMyZWMxYTg2ZDNkOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVy
ZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4
VGVzdEludGVyZmFjZS5jcHAKQEAgLTM1LDcgKzM1LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1XcmFwcGVyVHlwZUluZm8gVjhUZXN0SW50ZXJmYWNlOjppbmZvID0geyBWOFRlc3RJbnRl
cmZhY2U6OkdldFRlbXBsYXRlLCBWOFRlc3RJbnRlcmZhY2U6OmRlcmVmT2JqZWN0LCAwLCAwIH07
CitXcmFwcGVyVHlwZUluZm8gVjhUZXN0SW50ZXJmYWNlOjppbmZvID0geyBWOFRlc3RJbnRlcmZh
Y2U6OkdldFRlbXBsYXRlLCBWOFRlc3RJbnRlcmZhY2U6OmRlcmVmT2JqZWN0LCBWOFRlc3RJbnRl
cmZhY2U6OnRvQWN0aXZlRE9NT2JqZWN0LCAwIH07CiAKIG5hbWVzcGFjZSBUZXN0SW50ZXJmYWNl
SW50ZXJuYWwgewogCkBAIC0xMjQsNiArMTI0LDEwIEBAIGJvb2wgVjhUZXN0SW50ZXJmYWNlOjpI
YXNJbnN0YW5jZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUpCiAgICAgcmV0dXJuIEdldFJh
d1RlbXBsYXRlKCktPkhhc0luc3RhbmNlKHZhbHVlKTsKIH0KIAorQWN0aXZlRE9NT2JqZWN0KiBW
OFRlc3RJbnRlcmZhY2U6OnRvQWN0aXZlRE9NT2JqZWN0KHY4OjpIYW5kbGU8djg6Ok9iamVjdD4g
b2JqZWN0KQoreworICAgIHJldHVybiB0b05hdGl2ZShvYmplY3QpOworfSAgICAgIAogCiB2ODo6
SGFuZGxlPHY4OjpPYmplY3Q+IFY4VGVzdEludGVyZmFjZTo6d3JhcFNsb3coVGVzdEludGVyZmFj
ZSogaW1wbCkKIHsKQEAgLTEzOCw3ICsxNDIsNyBAQCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IFY4
VGVzdEludGVyZmFjZTo6d3JhcFNsb3coVGVzdEludGVyZmFjZSogaW1wbCkKIAogICAgIGlmICgh
aGFzRGVwZW5kZW50TGlmZXRpbWUpCiAgICAgICAgIHdyYXBwZXJIYW5kbGUuTWFya0luZGVwZW5k
ZW50KCk7Ci0gICAgZ2V0RE9NT2JqZWN0TWFwKCkuc2V0KGltcGwsIHdyYXBwZXJIYW5kbGUpOwor
ICAgIGdldEFjdGl2ZURPTU9iamVjdE1hcCgpLnNldChpbXBsLCB3cmFwcGVySGFuZGxlKTsKICAg
ICByZXR1cm4gd3JhcHBlcjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5oCmluZGV4IDAzNjJiMzUzOWZm
YzY5Njc3NjM0YmRmOWE3NTliOWI3ZTJhZDRiNjEuLjRjYjUwMTg2NTJkMjE2MDM0YTE0ODdlYTNm
ZDcyMzE2YWY4ODMwY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmgKQEAgLTM0LDcgKzM0LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBWOFRlc3RJbnRlcmZhY2UgewogcHVibGljOgotICAg
IHN0YXRpYyBjb25zdCBib29sIGhhc0RlcGVuZGVudExpZmV0aW1lID0gZmFsc2U7CisgICAgc3Rh
dGljIGNvbnN0IGJvb2wgaGFzRGVwZW5kZW50TGlmZXRpbWUgPSB0cnVlOwogICAgIHN0YXRpYyBi
b29sIEhhc0luc3RhbmNlKHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2YWx1ZSk7CiAgICAgc3RhdGlj
IHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBHZXRSYXdUZW1wbGF0ZSgpOwog
ICAgIHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gR2V0VGVtcGxh
dGUoKTsKQEAgLTQ1LDYgKzQ1LDcgQEAgcHVibGljOgogICAgIGlubGluZSBzdGF0aWMgdjg6Okhh
bmRsZTx2ODo6T2JqZWN0PiB3cmFwKFRlc3RJbnRlcmZhY2UqKTsKICAgICBzdGF0aWMgdm9pZCBk
ZXJlZk9iamVjdCh2b2lkKik7CiAgICAgc3RhdGljIFdyYXBwZXJUeXBlSW5mbyBpbmZvOworICAg
IHN0YXRpYyBBY3RpdmVET01PYmplY3QqIHRvQWN0aXZlRE9NT2JqZWN0KHY4OjpIYW5kbGU8djg6
Ok9iamVjdD4pOwogICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY29uc3RydWN0b3JD
YWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKTsKICAgICBzdGF0aWMgY29uc3QgaW50
IGludGVybmFsRmllbGRDb3VudCA9IHY4RGVmYXVsdFdyYXBwZXJJbnRlcm5hbEZpZWxkQ291bnQg
KyAwOwogICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGV4aXN0aW5nV3JhcHBlcihU
ZXN0SW50ZXJmYWNlKik7CkBAIC01NSw3ICs1Niw3IEBAIHByaXZhdGU6CiAKIEFMV0FZU19JTkxJ
TkUgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBWOFRlc3RJbnRlcmZhY2U6OmV4aXN0aW5nV3JhcHBl
cihUZXN0SW50ZXJmYWNlKiBpbXBsKQogewotICAgIHJldHVybiBnZXRET01PYmplY3RNYXAoKS5n
ZXQoaW1wbCk7CisgICAgcmV0dXJuIGdldEFjdGl2ZURPTU9iamVjdE1hcCgpLmdldChpbXBsKTsK
IH0KIAogdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBWOFRlc3RJbnRlcmZhY2U6OndyYXAoVGVzdElu
dGVyZmFjZSogaW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJl
YWRlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXIuaWRsCmluZGV4IGM2
MTRlYzljMzZkZTI5YTFlNjA0YzdjMGIyZDczZjJiMzVkYjYwNGIuLjUwZDE0YzZiOTIxODVlMzA2
M2MzOGFhODIyOWVmNTgwM2QxMDk1ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVh
cGkvRmlsZVJlYWRlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVy
LmlkbApAQCAtMzcsOCArMzcsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIENhbGxXaXRoPVNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQsCiAgICAgICAgIEV2ZW50VGFyZ2V0LAogICAgICAgICBOb1N0
YXRpY1RhYmxlcywKLSAgICAgICAgQ29uc3RydWN0b3IsCi0gICAgICAgIFY4Q29uc3RydWN0b3JT
ZXRzQWN0aXZlRE9NV3JhcHBlcgorICAgICAgICBDb25zdHJ1Y3RvcgogICAgIF0gRmlsZVJlYWRl
ciB7CiAgICAgICAgIC8vIHJlYWR5IHN0YXRlcwogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9y
dCBFTVBUWSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tZWRpYXN0cmVhbS9QZWVy
Q29ubmVjdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlv
bi5pZGwKaW5kZXggNzgyMjFlY2I4ODc4NTk2Yzk3YWMxMmUyYjgzNDliNTY0NmY2MWJjOS4uOGE1
NjZjZGFmNWE2ZDEwNzcwOGVmNzc5MTRiNmViOWMxZWRjZTM0YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uLmlkbApAQCAtMzIsNyArMzIsNiBAQCBtb2R1
bGUgcDJwIHsKICAgICAgICAgQ29uc3RydWN0b3IoaW4gRE9NU3RyaW5nIHNlcnZlckNvbmZpZ3Vy
YXRpb24sIGluIFtDYWxsYmFjaz1GdW5jdGlvbk9ubHldIFNpZ25hbGluZ0NhbGxiYWNrIHNpZ25h
bGluZ0NhbGxiYWNrKSwKICAgICAgICAgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwK
ICAgICAgICAgSlNDdXN0b21Db25zdHJ1Y3RvciwKLSAgICAgICAgVjhDb25zdHJ1Y3RvclNldHNB
Y3RpdmVET01XcmFwcGVyLAogICAgICAgICBFdmVudFRhcmdldAogICAgIF0gUGVlckNvbm5lY3Rp
b24gewogICAgICAgICB2b2lkIHByb2Nlc3NTaWduYWxpbmdNZXNzYWdlKGluIERPTVN0cmluZyBt
ZXNzYWdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmlkbAppbmRleCBhMDM0MjZiYWFlOTli
NWU1MjQ4YmFjNGEwZjQ5NGFkMzAxODA2NGE0Li5iZTU1Y2U5NTA4OTg1Yzc2MzE3MzhmMTQ4ZTNm
YjU3NmM4ODU0MWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNl
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmlkbApAQCAtMzgsNyAr
MzgsNiBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgQ29uc3RydWN0b3IoaW4gRE9NU3RyaW5n
IHNjcmlwdFVybCksCiAgICAgICAgIENhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsCiAg
ICAgICAgIENvbnN0cnVjdG9yUmFpc2VzRXhjZXB0aW9uLAotICAgICAgICBWOENvbnN0cnVjdG9y
U2V0c0FjdGl2ZURPTVdyYXBwZXIsCiAgICAgICAgIEV2ZW50VGFyZ2V0LAogICAgICAgICBOb1N0
YXRpY1RhYmxlcwogICAgIF0gRXZlbnRTb3VyY2UgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9TaGFyZWRXb3JrZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFy
ZWRXb3JrZXIuaWRsCmluZGV4IDVjNWU5Nzg0ZjdmNzU3Yjg4NDI1ODE0MWU5YTkwNTUwM2I0NzFl
OGUuLmFiZjI4M2I5NDc5OTQwMzdlZGRjMmE5MTMyYzhmN2E4ZDI1Njk4ZTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1NoYXJlZFdvcmtlci5pZGwKQEAgLTQwLDcgKzQwLDYgQEAgbW9kdWxlIHRo
cmVhZHMgewogICAgICAgICBDb25zdHJ1Y3RvcihpbiBET01TdHJpbmcgc2NyaXB0VVJMLCBpbiBb
T3B0aW9uYWw9Q2FsbFdpdGhOdWxsVmFsdWVdIERPTVN0cmluZyBuYW1lKSwKICAgICAgICAgQ2Fs
bFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwKICAgICAgICAgQ29uc3RydWN0b3JSYWlzZXNF
eGNlcHRpb24sCi0gICAgICAgIFY4Q29uc3RydWN0b3JTZXRzQWN0aXZlRE9NV3JhcHBlciwKICAg
ICAgICAgQ3VzdG9tTWFya0Z1bmN0aW9uLAogICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRl
ciwKICAgICAgICAgR2VuZXJhdGVUb0pTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwKaW5kZXgg
NDZlN2VkODIwYmY4M2RmMmE1NmI2MDVmMjJhNjY2YzE3MTQxY2RjNy4uNGNiOWFlMGYzYjg4YjEx
MGVlMmFlNzMxYzk3MjhjNTIyYjMyZDU2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbApA
QCAtMzYsNyArMzYsNiBAQCBtb2R1bGUgdGhyZWFkcyB7CiAgICAgICAgIENvbnN0cnVjdG9yKGlu
IERPTVN0cmluZyBzY3JpcHRVcmwpLAogICAgICAgICBDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25D
b250ZXh0LAogICAgICAgICBDb25zdHJ1Y3RvclJhaXNlc0V4Y2VwdGlvbiwKLSAgICAgICAgVjhD
b25zdHJ1Y3RvclNldHNBY3RpdmVET01XcmFwcGVyLAogICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNv
bnZlcnRlciwKICAgICAgICAgR2VuZXJhdGVUb0pTCiAgICAgXSBXb3JrZXIgOiBBYnN0cmFjdFdv
cmtlciB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112809</attachid>
            <date>2011-10-27 20:08:24 -0700</date>
            <delta_ts>2011-10-27 22:53:14 -0700</delta_ts>
            <desc>rebased patch for commit</desc>
            <filename>bug-71088-20111028120823.patch</filename>
            <type>text/plain</type>
            <size>13075</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg2ODEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1NTg3ZTIxOWVlMjc1Yjlj
ZWE4N2I4ODMxMjAxY2NiMGI0YmY2NjI3Li43M2IyOTE5OWU2NzI2OTE3MmM3YjdlYjcwYTYxZDM1
YmZjY2MzNDNiIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNTUgQEAKIDIwMTEtMTAtMjcgIEtlbnRh
cm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgogCisgICAgICAgIERlcHJlY2F0ZSBbVjhD
b25zdHJ1Y3RvclNldHNBY3RpdmVET01XcmFwcGVyXSBJREwKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
QWRhbSBCYXJ0aC4KKworICAgICAgICBJIGludHJvZHVjZWQgW1Y4Q29uc3RydWN0b3JTZXRzQWN0
aXZlRE9NV3JhcHBlcl0gSURMIGluIGJ1ZyA2NjUzNiwKKyAgICAgICAgYnV0IEkgZm91bmQgdGhh
dCBpdCBoYXMgdGhlIHNhbWUgbWVhbmluZyBhcyBbQWN0aXZlRE9NT2JqZWN0XSBJREwuCisgICAg
ICAgIFRoaXMgcGF0Y2ggcmVtb3ZlcyBbVjhDb25zdHJ1Y3RvclNldHNBY3RpdmVET01XcmFwcGVy
XSBJREwuCisKKyAgICAgICAgTm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgIFRlc3Rz
OiBmYXN0L2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3Qv
ZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtY29uc3RydWN0b3IuaHRtbAorICAgICAgICAgICAgICAg
ZmFzdC9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1hdHRyaWJ1dGUtbGlzdGVuZXJzLmh0bWwKKyAg
ICAgICAgICAgICAgIGZhc3QvZmlsZXMvYmxvYi1zbGljZS10ZXN0Lmh0bWwKKyAgICAgICAgICAg
ICAgIGZhc3QvZmlsZXMvZmlsZS1yZWFkZXItYWJvcnQuaHRtbAorICAgICAgICAgICAgICAgdWlf
dGVzdHM6V29ya2VyVGVzdC5GTEFLWV9TaGFyZWRXb3JrZXJGYXN0Q29uc3RydWN0b3IKKyAgICAg
ICAgICAgICAgIHVpX3Rlc3RzOldvcmtlclRlc3QuRkxBS1lfU2hhcmVkV29ya2VyRmFzdE5hbWUK
KyAgICAgICAgICAgICAgIHVpX3Rlc3RzOldvcmtlclRlc3QuRkxBS1lfV29ya2VyQ29uc3RydWN0
b3IKKyAgICAgICAgICAgICAgIHVpX3Rlc3RzOldvcmtlclRlc3QuRkxBS1lfV29ya2VyRXZlbnRM
aXN0ZW5lcgorCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG06
IFJlcGxhY2VkICJWOENvbnN0cnVjdG9yU2V0c0FjdGl2ZURPTVdyYXBwZXIiIHdpdGggIkFjdGl2
ZURPTU9iamVjdCIuCisgICAgICAgIChHZW5lcmF0ZUNvbnN0cnVjdG9yQ2FsbGJhY2spOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW50ZXJmYWNlLmlkbDogRGl0dG8uCisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHA6IFVw
ZGF0ZWQgYSB0ZXN0IHJlc3VsdC4KKyAgICAgICAgKFdlYkNvcmU6OmlzT2JzZXJ2YWJsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpKU1Rlc3RJbnRlcmZhY2VPd25lcjo6aXNSZWFjaGFibGVGcm9tT3Bh
cXVlUm9vdHMpOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0SW50ZXJmYWNlT3duZXI6OmZpbmFs
aXplKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNl
Lmg6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6d3JhcHBlck93bmVyKToKKyAgICAgICAgKFdl
YkNvcmU6OndyYXBwZXJDb250ZXh0KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHA6IERpdHRvLgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmg6IERp
dHRvLgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOiBE
aXR0by4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmg6IERp
dHRvLgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVk
U2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwOiBEaXR0by4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmg6IERpdHRv
LgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuY3Bw
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlY4VGVzdEludGVyZmFjZTo6dG9BY3RpdmVET01P
YmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6VjhUZXN0SW50ZXJmYWNlOjp3cmFwU2xvdyk6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5oOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OlY4VGVzdEludGVyZmFjZTo6ZXhpc3RpbmdXcmFwcGVyKToK
KyAgICAgICAgKiBmaWxlYXBpL0ZpbGVSZWFkZXIuaWRsOiBSZW1vdmVkIFtWOENvbnN0cnVjdG9y
U2V0c0FjdGl2ZURPTVdyYXBwZXJdIElETC4KKyAgICAgICAgKiBtZWRpYXN0cmVhbS9QZWVyQ29u
bmVjdGlvbi5pZGw6IERpdHRvLgorICAgICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuaWRsOiBEaXR0
by4KKyAgICAgICAgKiB3b3JrZXJzL1NoYXJlZFdvcmtlci5pZGw6IERpdHRvLgorICAgICAgICAq
IHdvcmtlcnMvV29ya2VyLmlkbDogRGl0dG8uCisKKzIwMTEtMTAtMjcgIEtlbnRhcm8gSGFyYSAg
PGhhcmFrZW5AY2hyb21pdW0ub3JnPgorCiAgICAgICAgIEdlbmVyYXRlIFdlYktpdENTU01hdHJp
eCBjb25zdHJ1Y3RvciBmb3IgSlNDIGJ5IFtDb25zdHJ1Y3Rvcl0gSURMCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIxNQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbSBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCmluZGV4IDFiNTU0
ODk1NjFjODQwYzg5ZTY3NTk5ODY1MmY0YjcyMDM2MzVlNWYuLmZjOWMzN2MxNTM4N2MxNTg1MTg1
OWY3ZjBlYjczMWZhOTRkZjVkOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCkBAIC0xNTg0LDcgKzE1ODQsNyBAQCBFTkQKICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIGdvdG8gZmFpbDtcbiIpOwogICAgIH0K
IAotICAgIG15ICRET01PYmplY3QgPSAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJW
OENvbnN0cnVjdG9yU2V0c0FjdGl2ZURPTVdyYXBwZXIifSA/ICJBY3RpdmVET01PYmplY3QiIDog
IkRPTU9iamVjdCI7CisgICAgbXkgJERPTU9iamVjdCA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57IkFjdGl2ZURPTU9iamVjdCJ9ID8gIkFjdGl2ZURPTU9iamVjdCIgOiAiRE9NT2Jq
ZWN0IjsKICAgICBwdXNoKEBpbXBsQ29udGVudCwgPDxFTkQpOwogCiAgICAgVjhET01XcmFwcGVy
OjpzZXRET01XcmFwcGVyKGFyZ3MuSG9sZGVyKCksICZpbmZvLCBvYmouZ2V0KCkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVy
ZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
SW50ZXJmYWNlLmNwcAppbmRleCBlNmZjODk2YzY5ZmM3ZmNmZDUyNjY2MGQ4MzRmZDE3YzJmOTg0
N2VhLi4wOTRkOGU2MjNkZmM0Y2IzMGI0ZDllZWU2NTE1ZjE2ZTFkZGNjOGFhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
SW50ZXJmYWNlLmNwcApAQCAtMTk3LDYgKzE5NywzMSBAQCBKU1ZhbHVlIEpTVGVzdEludGVyZmFj
ZTo6Z2V0Q29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
TwogICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3Rv
cj4oZXhlYywgc3RhdGljX2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsK
IH0KIAorc3RhdGljIGlubGluZSBib29sIGlzT2JzZXJ2YWJsZShKU1Rlc3RJbnRlcmZhY2UqIGpz
VGVzdEludGVyZmFjZSkKK3sKKyAgICBpZiAoanNUZXN0SW50ZXJmYWNlLT5oYXNDdXN0b21Qcm9w
ZXJ0aWVzKCkpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiBmYWxzZTsKK30KKwor
Ym9vbCBKU1Rlc3RJbnRlcmZhY2VPd25lcjo6aXNSZWFjaGFibGVGcm9tT3BhcXVlUm9vdHMoSlND
OjpIYW5kbGU8SlNDOjpVbmtub3duPiBoYW5kbGUsIHZvaWQqLCBTbG90VmlzaXRvciYgdmlzaXRv
cikKK3sKKyAgICBKU1Rlc3RJbnRlcmZhY2UqIGpzVGVzdEludGVyZmFjZSA9IHN0YXRpY19jYXN0
PEpTVGVzdEludGVyZmFjZSo+KGhhbmRsZS5nZXQoKS5hc0NlbGwoKSk7CisgICAgaWYgKGpzVGVz
dEludGVyZmFjZS0+aW1wbCgpLT5oYXNQZW5kaW5nQWN0aXZpdHkoKSkKKyAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgaWYgKCFpc09ic2VydmFibGUoanNUZXN0SW50ZXJmYWNlKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIFVOVVNFRF9QQVJBTSh2aXNpdG9yKTsKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK3ZvaWQgSlNUZXN0SW50ZXJmYWNlT3duZXI6OmZpbmFsaXplKEpTQzo6SGFuZGxl
PEpTQzo6VW5rbm93bj4gaGFuZGxlLCB2b2lkKiBjb250ZXh0KQoreworICAgIEpTVGVzdEludGVy
ZmFjZSoganNUZXN0SW50ZXJmYWNlID0gc3RhdGljX2Nhc3Q8SlNUZXN0SW50ZXJmYWNlKj4oaGFu
ZGxlLmdldCgpLmFzQ2VsbCgpKTsKKyAgICBET01XcmFwcGVyV29ybGQqIHdvcmxkID0gc3RhdGlj
X2Nhc3Q8RE9NV3JhcHBlcldvcmxkKj4oY29udGV4dCk7CisgICAgdW5jYWNoZVdyYXBwZXIod29y
bGQsIGpzVGVzdEludGVyZmFjZS0+aW1wbCgpLCBqc1Rlc3RJbnRlcmZhY2UpOworfQorCiBKU0M6
OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgVGVzdEludGVyZmFjZSogaW1wbCkKIHsKICAgICByZXR1cm4gd3JhcDxKU1Rl
c3RJbnRlcmZhY2U+KGV4ZWMsIGdsb2JhbE9iamVjdCwgaW1wbCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmggYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmgK
aW5kZXggNzdlY2NlM2EyMjk4MjEzMzhmNjFkOWNlNTA4NDVlZmNhODU4ZTIwMi4uMTYxMDBmNmQ1
YWNjM2IxOTY2OWVkMTRhZGIxNjhjNmU3YjZkYzQ5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuaApAQCAt
NjIsNiArNjIsMjIgQEAgcHJvdGVjdGVkOgogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1
Y3R1cmVGbGFncyA9IEpTQzo6T3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgQmFzZTo6U3Ry
dWN0dXJlRmxhZ3M7CiB9OwogCitjbGFzcyBKU1Rlc3RJbnRlcmZhY2VPd25lciA6IHB1YmxpYyBK
U0M6OldlYWtIYW5kbGVPd25lciB7CisgICAgdmlydHVhbCBib29sIGlzUmVhY2hhYmxlRnJvbU9w
YXF1ZVJvb3RzKEpTQzo6SGFuZGxlPEpTQzo6VW5rbm93bj4sIHZvaWQqIGNvbnRleHQsIEpTQzo6
U2xvdFZpc2l0b3ImKTsKKyAgICB2aXJ0dWFsIHZvaWQgZmluYWxpemUoSlNDOjpIYW5kbGU8SlND
OjpVbmtub3duPiwgdm9pZCogY29udGV4dCk7Cit9OworCitpbmxpbmUgSlNDOjpXZWFrSGFuZGxl
T3duZXIqIHdyYXBwZXJPd25lcihET01XcmFwcGVyV29ybGQqLCBUZXN0SW50ZXJmYWNlKikKK3sK
KyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEpTVGVzdEludGVyZmFjZU93bmVyLCBqc1Rlc3RJbnRl
cmZhY2VPd25lciwgKCkpOworICAgIHJldHVybiAmanNUZXN0SW50ZXJmYWNlT3duZXI7Cit9CisK
K2lubGluZSB2b2lkKiB3cmFwcGVyQ29udGV4dChET01XcmFwcGVyV29ybGQqIHdvcmxkLCBUZXN0
SW50ZXJmYWNlKikKK3sKKyAgICByZXR1cm4gd29ybGQ7Cit9CisKIEpTQzo6SlNWYWx1ZSB0b0pT
KEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0SW50ZXJmYWNlKik7CiBU
ZXN0SW50ZXJmYWNlKiB0b1Rlc3RJbnRlcmZhY2UoSlNDOjpKU1ZhbHVlKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbnRlcmZhY2UuaWRs
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbnRlcmZhY2UuaWRs
CmluZGV4IGI2MWQyYWFiMTYzZmNkYmRkMGFmYTNkMThkNzZjNTY4MmVmOWYwOTYuLjUzM2M1ZTdk
MDA2NjYyOWNkZGI5NWU1MjdjZGUwZGJmYTM3ZWI2YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW50ZXJmYWNlLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEludGVyZmFjZS5pZGwKQEAgLTMwLDEx
ICszMCwxMSBAQAogLy8gY2hhbmdlcyBpbiBpdHMgb3VwdXQuCiBtb2R1bGUgdGVzdCB7CiAgICAg
aW50ZXJmYWNlIFsKKyAgICAgICAgQWN0aXZlRE9NT2JqZWN0LAogICAgICAgICBDb25kaXRpb25h
bD1Db25kaXRpb24xfENvbmRpdGlvbjIsCiAgICAgICAgIENhbkJlQ29uc3RydWN0ZWQsCiAgICAg
ICAgIENhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsCiAgICAgICAgIENvbnN0cnVjdG9y
KGluIERPTVN0cmluZyBzdHIxLCBpbiBbT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERP
TVN0cmluZyBzdHIyKSwKLSAgICAgICAgVjhDb25zdHJ1Y3RvclNldHNBY3RpdmVET01XcmFwcGVy
LAogICAgICAgICBDb25zdHJ1Y3RvclJhaXNlc0V4Y2VwdGlvbgogICAgIF0gVGVzdEludGVyZmFj
ZSB7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5jcHAKaW5kZXggZjQxZWZlMWNmNjRkYTVmYWZm
NzZkNjVkYmRmYmM1YThiYzI4OWIzMC4uNWI0NWE2ZGYzM2MxNjkyYTNhZjdkNDUwNTc2NTMyZWMx
YTg2ZDNkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdEludGVyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5jcHAKQEAgLTM1LDcgKzM1LDcgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1XcmFwcGVyVHlwZUluZm8gVjhUZXN0SW50ZXJmYWNlOjppbmZv
ID0geyBWOFRlc3RJbnRlcmZhY2U6OkdldFRlbXBsYXRlLCBWOFRlc3RJbnRlcmZhY2U6OmRlcmVm
T2JqZWN0LCAwLCAwIH07CitXcmFwcGVyVHlwZUluZm8gVjhUZXN0SW50ZXJmYWNlOjppbmZvID0g
eyBWOFRlc3RJbnRlcmZhY2U6OkdldFRlbXBsYXRlLCBWOFRlc3RJbnRlcmZhY2U6OmRlcmVmT2Jq
ZWN0LCBWOFRlc3RJbnRlcmZhY2U6OnRvQWN0aXZlRE9NT2JqZWN0LCAwIH07CiAKIG5hbWVzcGFj
ZSBUZXN0SW50ZXJmYWNlSW50ZXJuYWwgewogCkBAIC0xMjQsNiArMTI0LDEwIEBAIGJvb2wgVjhU
ZXN0SW50ZXJmYWNlOjpIYXNJbnN0YW5jZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUpCiAg
ICAgcmV0dXJuIEdldFJhd1RlbXBsYXRlKCktPkhhc0luc3RhbmNlKHZhbHVlKTsKIH0KIAorQWN0
aXZlRE9NT2JqZWN0KiBWOFRlc3RJbnRlcmZhY2U6OnRvQWN0aXZlRE9NT2JqZWN0KHY4OjpIYW5k
bGU8djg6Ok9iamVjdD4gb2JqZWN0KQoreworICAgIHJldHVybiB0b05hdGl2ZShvYmplY3QpOwor
fSAgICAgIAogCiB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IFY4VGVzdEludGVyZmFjZTo6d3JhcFNs
b3coVGVzdEludGVyZmFjZSogaW1wbCkKIHsKQEAgLTEzOCw3ICsxNDIsNyBAQCB2ODo6SGFuZGxl
PHY4OjpPYmplY3Q+IFY4VGVzdEludGVyZmFjZTo6d3JhcFNsb3coVGVzdEludGVyZmFjZSogaW1w
bCkKIAogICAgIGlmICghaGFzRGVwZW5kZW50TGlmZXRpbWUpCiAgICAgICAgIHdyYXBwZXJIYW5k
bGUuTWFya0luZGVwZW5kZW50KCk7Ci0gICAgZ2V0RE9NT2JqZWN0TWFwKCkuc2V0KGltcGwsIHdy
YXBwZXJIYW5kbGUpOworICAgIGdldEFjdGl2ZURPTU9iamVjdE1hcCgpLnNldChpbXBsLCB3cmFw
cGVySGFuZGxlKTsKICAgICByZXR1cm4gd3JhcHBlcjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5oIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5oCmlu
ZGV4IDAzNjJiMzUzOWZmYzY5Njc3NjM0YmRmOWE3NTliOWI3ZTJhZDRiNjEuLjRjYjUwMTg2NTJk
MjE2MDM0YTE0ODdlYTNmZDcyMzE2YWY4ODMwY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmgKQEAgLTM0
LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBWOFRlc3RJbnRlcmZhY2Ug
ewogcHVibGljOgotICAgIHN0YXRpYyBjb25zdCBib29sIGhhc0RlcGVuZGVudExpZmV0aW1lID0g
ZmFsc2U7CisgICAgc3RhdGljIGNvbnN0IGJvb2wgaGFzRGVwZW5kZW50TGlmZXRpbWUgPSB0cnVl
OwogICAgIHN0YXRpYyBib29sIEhhc0luc3RhbmNlKHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2YWx1
ZSk7CiAgICAgc3RhdGljIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBHZXRS
YXdUZW1wbGF0ZSgpOwogICAgIHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1w
bGF0ZT4gR2V0VGVtcGxhdGUoKTsKQEAgLTQ1LDYgKzQ1LDcgQEAgcHVibGljOgogICAgIGlubGlu
ZSBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwKFRlc3RJbnRlcmZhY2UqKTsKICAg
ICBzdGF0aWMgdm9pZCBkZXJlZk9iamVjdCh2b2lkKik7CiAgICAgc3RhdGljIFdyYXBwZXJUeXBl
SW5mbyBpbmZvOworICAgIHN0YXRpYyBBY3RpdmVET01PYmplY3QqIHRvQWN0aXZlRE9NT2JqZWN0
KHY4OjpIYW5kbGU8djg6Ok9iamVjdD4pOwogICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gY29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKTsKICAgICBz
dGF0aWMgY29uc3QgaW50IGludGVybmFsRmllbGRDb3VudCA9IHY4RGVmYXVsdFdyYXBwZXJJbnRl
cm5hbEZpZWxkQ291bnQgKyAwOwogICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGV4
aXN0aW5nV3JhcHBlcihUZXN0SW50ZXJmYWNlKik7CkBAIC01NSw3ICs1Niw3IEBAIHByaXZhdGU6
CiAKIEFMV0FZU19JTkxJTkUgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBWOFRlc3RJbnRlcmZhY2U6
OmV4aXN0aW5nV3JhcHBlcihUZXN0SW50ZXJmYWNlKiBpbXBsKQogewotICAgIHJldHVybiBnZXRE
T01PYmplY3RNYXAoKS5nZXQoaW1wbCk7CisgICAgcmV0dXJuIGdldEFjdGl2ZURPTU9iamVjdE1h
cCgpLmdldChpbXBsKTsKIH0KIAogdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBWOFRlc3RJbnRlcmZh
Y2U6OndyYXAoVGVzdEludGVyZmFjZSogaW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2ZpbGVhcGkvRmlsZVJlYWRlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFk
ZXIuaWRsCmluZGV4IGM2MTRlYzljMzZkZTI5YTFlNjA0YzdjMGIyZDczZjJiMzVkYjYwNGIuLjUw
ZDE0YzZiOTIxODVlMzA2M2MzOGFhODIyOWVmNTgwM2QxMDk1ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZmls
ZWFwaS9GaWxlUmVhZGVyLmlkbApAQCAtMzcsOCArMzcsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAg
ICAgIENhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsCiAgICAgICAgIEV2ZW50VGFyZ2V0
LAogICAgICAgICBOb1N0YXRpY1RhYmxlcywKLSAgICAgICAgQ29uc3RydWN0b3IsCi0gICAgICAg
IFY4Q29uc3RydWN0b3JTZXRzQWN0aXZlRE9NV3JhcHBlcgorICAgICAgICBDb25zdHJ1Y3Rvcgog
ICAgIF0gRmlsZVJlYWRlciB7CiAgICAgICAgIC8vIHJlYWR5IHN0YXRlcwogICAgICAgICBjb25z
dCB1bnNpZ25lZCBzaG9ydCBFTVBUWSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9t
ZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9tZWRpYXN0cmVh
bS9QZWVyQ29ubmVjdGlvbi5pZGwKaW5kZXggNzgyMjFlY2I4ODc4NTk2Yzk3YWMxMmUyYjgzNDli
NTY0NmY2MWJjOS4uOGE1NjZjZGFmNWE2ZDEwNzcwOGVmNzc5MTRiNmViOWMxZWRjZTM0YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24uaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uLmlkbApAQCAtMzIs
NyArMzIsNiBAQCBtb2R1bGUgcDJwIHsKICAgICAgICAgQ29uc3RydWN0b3IoaW4gRE9NU3RyaW5n
IHNlcnZlckNvbmZpZ3VyYXRpb24sIGluIFtDYWxsYmFjaz1GdW5jdGlvbk9ubHldIFNpZ25hbGlu
Z0NhbGxiYWNrIHNpZ25hbGluZ0NhbGxiYWNrKSwKICAgICAgICAgQ2FsbFdpdGg9U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCwKICAgICAgICAgSlNDdXN0b21Db25zdHJ1Y3RvciwKLSAgICAgICAgVjhD
b25zdHJ1Y3RvclNldHNBY3RpdmVET01XcmFwcGVyLAogICAgICAgICBFdmVudFRhcmdldAogICAg
IF0gUGVlckNvbm5lY3Rpb24gewogICAgICAgICB2b2lkIHByb2Nlc3NTaWduYWxpbmdNZXNzYWdl
KGluIERPTVN0cmluZyBtZXNzYWdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudFNvdXJjZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmlkbAppbmRl
eCBhMDM0MjZiYWFlOTliNWU1MjQ4YmFjNGEwZjQ5NGFkMzAxODA2NGE0Li5iZTU1Y2U5NTA4OTg1
Yzc2MzE3MzhmMTQ4ZTNmYjU3NmM4ODU0MWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0V2ZW50U291cmNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNl
LmlkbApAQCAtMzgsNyArMzgsNiBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgQ29uc3RydWN0
b3IoaW4gRE9NU3RyaW5nIHNjcmlwdFVybCksCiAgICAgICAgIENhbGxXaXRoPVNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQsCiAgICAgICAgIENvbnN0cnVjdG9yUmFpc2VzRXhjZXB0aW9uLAotICAgICAg
ICBWOENvbnN0cnVjdG9yU2V0c0FjdGl2ZURPTVdyYXBwZXIsCiAgICAgICAgIEV2ZW50VGFyZ2V0
LAogICAgICAgICBOb1N0YXRpY1RhYmxlcwogICAgIF0gRXZlbnRTb3VyY2UgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXIuaWRsIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9TaGFyZWRXb3JrZXIuaWRsCmluZGV4IDVjNWU5Nzg0ZjdmNzU3Yjg4NDI1ODE0
MWU5YTkwNTUwM2I0NzFlOGUuLmFiZjI4M2I5NDc5OTQwMzdlZGRjMmE5MTMyYzhmN2E4ZDI1Njk4
ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlci5pZGwKQEAgLTQwLDcgKzQw
LDYgQEAgbW9kdWxlIHRocmVhZHMgewogICAgICAgICBDb25zdHJ1Y3RvcihpbiBET01TdHJpbmcg
c2NyaXB0VVJMLCBpbiBbT3B0aW9uYWw9Q2FsbFdpdGhOdWxsVmFsdWVdIERPTVN0cmluZyBuYW1l
KSwKICAgICAgICAgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwKICAgICAgICAgQ29u
c3RydWN0b3JSYWlzZXNFeGNlcHRpb24sCi0gICAgICAgIFY4Q29uc3RydWN0b3JTZXRzQWN0aXZl
RE9NV3JhcHBlciwKICAgICAgICAgQ3VzdG9tTWFya0Z1bmN0aW9uLAogICAgICAgICBHZW5lcmF0
ZU5hdGl2ZUNvbnZlcnRlciwKICAgICAgICAgR2VuZXJhdGVUb0pTCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlci5pZGwKaW5kZXggNDZlN2VkODIwYmY4M2RmMmE1NmI2MDVmMjJhNjY2YzE3MTQxY2RjNy4u
NGNiOWFlMGYzYjg4YjExMGVlMmFlNzMxYzk3MjhjNTIyYjMyZDU2YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyLmlkbApAQCAtMzYsNyArMzYsNiBAQCBtb2R1bGUgdGhyZWFkcyB7CiAgICAgICAg
IENvbnN0cnVjdG9yKGluIERPTVN0cmluZyBzY3JpcHRVcmwpLAogICAgICAgICBDYWxsV2l0aD1T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LAogICAgICAgICBDb25zdHJ1Y3RvclJhaXNlc0V4Y2VwdGlv
biwKLSAgICAgICAgVjhDb25zdHJ1Y3RvclNldHNBY3RpdmVET01XcmFwcGVyLAogICAgICAgICBH
ZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwKICAgICAgICAgR2VuZXJhdGVUb0pTCiAgICAgXSBXb3Jr
ZXIgOiBBYnN0cmFjdFdvcmtlciB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>