<?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>227668</bug_id>
          
          <creation_ts>2021-07-03 15:35:08 -0700</creation_ts>
          <short_desc>[WebIDL] Generate constructor&apos;s hash table in GenerateConstructorHelperMethods</short_desc>
          <delta_ts>2021-07-06 20:11:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Bindings</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>227275</dependson>
    
    <dependson>227732</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Shvayka">ashvayka</reporter>
          <assigned_to name="Alexey Shvayka">ashvayka</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1774699</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-07-03 15:35:08 -0700</bug_when>
    <thetext>[WebIDL] Generate constructor&apos;s hash table in GenerateConstructorHelperMethods</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774700</commentid>
    <comment_count>1</comment_count>
      <attachid>432857</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-07-03 15:37:44 -0700</bug_when>
    <thetext>Created attachment 432857
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774728</commentid>
    <comment_count>2</comment_count>
      <attachid>432857</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-07-04 11:27:44 -0700</bug_when>
    <thetext>Comment on attachment 432857
Patch

Thank you for reviews, Sam!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774729</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-04 11:38:03 -0700</bug_when>
    <thetext>Committed r279554 (239388@main): &lt;https://commits.webkit.org/239388@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 432857.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774730</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-04 11:39:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/80153102&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775176</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-07-06 20:09:35 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 227732</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775180</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-07-06 20:11:20 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/279546/webkit caused 2-3% regression in Speedometer2/jQuery-TodoMVC and it was hard to revert r279546 without reverting this change. Please reland this without r279546 change, thanks!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432857</attachid>
            <date>2021-07-03 15:37:44 -0700</date>
            <delta_ts>2021-07-04 11:38:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227668-20210704013742.patch</filename>
            <type>text/plain</type>
            <size>22814</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3OTU0NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDIxLTA3LTAzICBBbGV4ZXkg
U2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBbV2ViSURMXSBHZW5l
cmF0ZSBjb25zdHJ1Y3RvcidzIGhhc2ggdGFibGUgaW4gR2VuZXJhdGVDb25zdHJ1Y3RvckhlbHBl
ck1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyNzY2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoaXMgY2hhbmdlIG1vdmVzIGdlbmVyYXRpb24gb2YgY29uc3RydWN0b3IncyBoYXNoIHRhYmxl
IHRvIEdlbmVyYXRlQ29uc3RydWN0b3JIZWxwZXJNZXRob2RzLAorICAgICAgICByaWdodCBiZWZv
cmUgaXQgaXMgdXNlZCB0byBkZWZpbmUgdGhlIGNvbnN0cnVjdG9yJ3Mgc19pbmZvLCB3aGljaCBp
cyBuaWNlciB0aGFuIGluZmVycmluZworICAgICAgICB0YWJsZSdzIG5hbWUgYW5kIG1vcmUgcHJl
Y2lzZSB0aGFuIHVzaW5nIENvbnN0cnVjdG9ySGFzUHJvcGVydGllcy4KKworICAgICAgICBBbHNv
LCBtYWtlcyAkZ2VuZXJhdGluZ0xlZ2FjeUZhY3RvcnlGdW5jdGlvbiBib29sLWlzaCBhbmQgcmVt
b3ZlcyB1bnVzZWQgJHByb3RvQ2xhc3NOYW1lIHBhcmFtZXRlci4KKworICAgICAgICBObyBuZXcg
dGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6Cisg
ICAgICAgIChHZW5lcmF0ZUNhbGxiYWNrSW1wbGVtZW50YXRpb25Db250ZW50KToKKyAgICAgICAg
KEdlbmVyYXRlQ29uc3RydWN0b3JEZWZpbml0aW9ucyk6CisgICAgICAgIChHZW5lcmF0ZUNvbnN0
cnVjdG9yRGVmaW5pdGlvbik6CisgICAgICAgIChHZW5lcmF0ZUNvbnN0cnVjdG9ySGVscGVyTWV0
aG9kcyk6CisgICAgICAgIChDb25zdHJ1Y3Rvckhhc1Byb3BlcnRpZXMpOiBEZWxldGVkLgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy8qOiBVcGRhdGVkLgorCiAyMDIxLTA3LTAx
ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIEJvdHRvbUNv
bnRyb2xzQmFySGVpZ2h0IGFuZCBJbnNpZGVNYXJnaW4gdG8gYmUgY29tcHV0ZWQgYXQgcnVudGlt
ZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMu
cG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9ySlMucG0JKHJldmlzaW9uIDI3OTU0NikKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCSh3b3JraW5nIGNvcHkpCkBAIC0zMjk2LDE2ICsz
Mjk2LDYgQEAgc3ViIFNob3VsZEJlT25JbnN0YW5jZQogICAgIGFzc2VydCgiVW5zdXBwb3J0ZWQg
YXJndW1lbnQ6ICIgLiByZWYoJGNvbnRleHQpKTsKIH0KIAotc3ViIENvbnN0cnVjdG9ySGFzUHJv
cGVydGllcwotewotICAgIG15ICRpbnRlcmZhY2UgPSBzaGlmdDsKLSAgICByZXR1cm4gMSBpZiBA
eyRpbnRlcmZhY2UtPmNvbnN0YW50c307Ci0gICAgZm9yZWFjaCBteSAkb3BlcmF0aW9uT3JBdHRy
aWJ1dGUgKEB7JGludGVyZmFjZS0+b3BlcmF0aW9uc30sIEB7JGludGVyZmFjZS0+YXR0cmlidXRl
c30pIHsKLSAgICAgICAgcmV0dXJuIDEgaWYgJG9wZXJhdGlvbk9yQXR0cmlidXRlLT5pc1N0YXRp
YzsKLSAgICB9Ci0gICAgcmV0dXJuIDA7Ci19Ci0KIHN1YiBQcm90b3R5cGVIYXNQcm9wZXJ0aWVz
CiB7CiAgICAgbXkgJGludGVyZmFjZSA9IHNoaWZ0OwpAQCAtNDQzMywyMCArNDQyMywxMyBAQCBz
dWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogCiAgICAgR2VuZXJhdGVQcm90b3R5cGVEZWNsYXJh
dGlvbihcQGltcGxDb250ZW50LCAkY2xhc3NOYW1lLCAkaW50ZXJmYWNlKSBpZiAhSGVhZGVyTmVl
ZHNQcm90b3R5cGVEZWNsYXJhdGlvbigkaW50ZXJmYWNlKTsKIAotICAgIEdlbmVyYXRlQ29uc3Ry
dWN0b3JEZWNsYXJhdGlvbihcQGltcGxDb250ZW50LCAkY2xhc3NOYW1lLCAkaW50ZXJmYWNlKSBp
ZiAhJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57TGVnYWN5Tm9JbnRlcmZhY2VPYmpl
Y3R9OwotCiAgICAgIyAtIEFkZCBhbGwgaW50ZXJmYWNlIG9iamVjdCAoYWthIGNvbnN0cnVjdG9y
KSBwcm9wZXJ0aWVzIChjb25zdGFudHMsIHN0YXRpYyBhdHRyaWJ1dGVzLCBzdGF0aWMgb3BlcmF0
aW9ucykuCiAgICAgaWYgKCEkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntMZWdhY3lO
b0ludGVyZmFjZU9iamVjdH0pIHsKLSAgICAgICAgIyBGSVhNRTogR2VuZXJhdGUgY29uc3RydWN0
b3IncyBoYXNoIHRhYmxlIGluIEdlbmVyYXRlQ29uc3RydWN0b3JIZWxwZXJNZXRob2RzLCByZW1v
dmluZyBDb25zdHJ1Y3Rvckhhc1Byb3BlcnRpZXMgYW5kIHVudXNlZCAkcHJvdG9DbGFzc05hbWUu
Ci0gICAgICAgIEdlbmVyYXRlSGFzaFRhYmxlKCRpbnRlcmZhY2UsIENPTlRFWFRfTkFNRV9DT05T
VFJVQ1RPUik7Ci0KLSAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICRjb2RlR2VuZXJhdG9yLT5H
ZW5lcmF0ZUNvbXBpbGVUaW1lQ2hlY2tGb3JFbnVtc0lmTmVlZGVkKCRpbnRlcmZhY2UpKTsKLQot
ICAgICAgICBteSAkcHJvdG9DbGFzc05hbWUgPSAiJHtjbGFzc05hbWV9UHJvdG90eXBlIjsKLSAg
ICAgICAgR2VuZXJhdGVDb25zdHJ1Y3RvckRlZmluaXRpb25zKFxAaW1wbENvbnRlbnQsICRjbGFz
c05hbWUsICRwcm90b0NsYXNzTmFtZSwgJHZpc2libGVJbnRlcmZhY2VOYW1lLCAkaW50ZXJmYWNl
KTsKKyAgICAgICAgR2VuZXJhdGVDb25zdHJ1Y3RvckRlY2xhcmF0aW9uKFxAaW1wbENvbnRlbnQs
ICRjbGFzc05hbWUsICRpbnRlcmZhY2UpOwogCisgICAgICAgIEdlbmVyYXRlQ29uc3RydWN0b3JE
ZWZpbml0aW9ucyhcQGltcGxDb250ZW50LCAkY2xhc3NOYW1lLCAkdmlzaWJsZUludGVyZmFjZU5h
bWUsICRpbnRlcmZhY2UpOwogICAgICAgICBteSAkbGVnYWN5RmFjdG9yeUZ1bmN0aW9uID0gJGlu
dGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57TGVnYWN5RmFjdG9yeUZ1bmN0aW9ufTsKLSAg
ICAgICAgR2VuZXJhdGVDb25zdHJ1Y3RvckRlZmluaXRpb25zKFxAaW1wbENvbnRlbnQsICRjbGFz
c05hbWUsICRwcm90b0NsYXNzTmFtZSwgJGxlZ2FjeUZhY3RvcnlGdW5jdGlvbiwgJGludGVyZmFj
ZSwgIkdlbmVyYXRpbmdMZWdhY3lGYWN0b3J5RnVuY3Rpb24iKSBpZiAkbGVnYWN5RmFjdG9yeUZ1
bmN0aW9uOworICAgICAgICBHZW5lcmF0ZUNvbnN0cnVjdG9yRGVmaW5pdGlvbnMoXEBpbXBsQ29u
dGVudCwgJGNsYXNzTmFtZSwgJGxlZ2FjeUZhY3RvcnlGdW5jdGlvbiwgJGludGVyZmFjZSwgMSkg
aWYgJGxlZ2FjeUZhY3RvcnlGdW5jdGlvbjsKICAgICB9CiAKICAgICBpZiAoISRpbnRlcmZhY2Ut
PmlzTmFtZXNwYWNlT2JqZWN0KSB7CkBAIC02MjY5LDEyICs2MjUyLDcgQEAgc3ViIEdlbmVyYXRl
Q2FsbGJhY2tJbXBsZW1lbnRhdGlvbkNvbnRlbgogICAgIG15ICRudW1Db25zdGFudHMgPSBAeyRj
b25zdGFudHN9OwogICAgIGlmICgkbnVtQ29uc3RhbnRzID4gMCkgewogICAgICAgICBHZW5lcmF0
ZUNvbnN0cnVjdG9yRGVjbGFyYXRpb24oJGNvbnRlbnRSZWYsICRjbGFzc05hbWUsICRpbnRlcmZh
Y2VPckNhbGxiYWNrLCAkbmFtZSk7Ci0KLSAgICAgICAgR2VuZXJhdGVIYXNoVGFibGUoJGludGVy
ZmFjZU9yQ2FsbGJhY2ssIENPTlRFWFRfTkFNRV9DT05TVFJVQ1RPUik7Ci0KLSAgICAgICAgcHVz
aChAJGNvbnRlbnRSZWYsICRjb2RlR2VuZXJhdG9yLT5HZW5lcmF0ZUNvbXBpbGVUaW1lQ2hlY2tG
b3JFbnVtc0lmTmVlZGVkKCRpbnRlcmZhY2VPckNhbGxiYWNrKSk7Ci0KLSAgICAgICAgR2VuZXJh
dGVDb25zdHJ1Y3RvckRlZmluaXRpb25zKCRjb250ZW50UmVmLCAkY2xhc3NOYW1lLCAiIiwgJHZp
c2libGVOYW1lLCAkaW50ZXJmYWNlT3JDYWxsYmFjayk7CisgICAgICAgIEdlbmVyYXRlQ29uc3Ry
dWN0b3JEZWZpbml0aW9ucygkY29udGVudFJlZiwgJGNsYXNzTmFtZSwgJHZpc2libGVOYW1lLCAk
aW50ZXJmYWNlT3JDYWxsYmFjayk7CiAKICAgICAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIkpTRE9N
R2xvYmFsT2JqZWN0SW5saW5lcy5oIik7CiAgICAgICAgIHB1c2goQCRjb250ZW50UmVmLCAiSlNW
YWx1ZSAke2NsYXNzTmFtZX06OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdClcbiIpOwpAQCAtNzQwOSwxMyArNzM4NywxMyBAQCBzdWIgR2Vu
ZXJhdGVDb25zdHJ1Y3RvckRlY2xhcmF0aW9uCiAKIHN1YiBHZW5lcmF0ZUNvbnN0cnVjdG9yRGVm
aW5pdGlvbnMKIHsKLSAgICBteSAoJG91dHB1dEFycmF5LCAkY2xhc3NOYW1lLCAkcHJvdG9DbGFz
c05hbWUsICR2aXNpYmxlSW50ZXJmYWNlTmFtZSwgJGludGVyZmFjZSwgJGdlbmVyYXRpbmdMZWdh
Y3lGYWN0b3J5RnVuY3Rpb24pID0gQF87CisgICAgbXkgKCRvdXRwdXRBcnJheSwgJGNsYXNzTmFt
ZSwgJHZpc2libGVJbnRlcmZhY2VOYW1lLCAkaW50ZXJmYWNlLCAkZ2VuZXJhdGluZ0xlZ2FjeUZh
Y3RvcnlGdW5jdGlvbikgPSBAXzsKIAogICAgIGlmIChJc0NvbnN0cnVjdGFibGUoJGludGVyZmFj
ZSkpIHsKICAgICAgICAgbXkgQGNvbnN0cnVjdG9ycyA9IEB7JGludGVyZmFjZS0+Y29uc3RydWN0
b3JzfTsKICAgICAgICAgaWYgKEBjb25zdHJ1Y3RvcnMgPiAxKSB7CiAgICAgICAgICAgICBmb3Jl
YWNoIG15ICRjb25zdHJ1Y3RvciAoQGNvbnN0cnVjdG9ycykgewotICAgICAgICAgICAgICAgIEdl
bmVyYXRlQ29uc3RydWN0b3JEZWZpbml0aW9uKCRvdXRwdXRBcnJheSwgJGNsYXNzTmFtZSwgJHBy
b3RvQ2xhc3NOYW1lLCAkdmlzaWJsZUludGVyZmFjZU5hbWUsICRpbnRlcmZhY2UsICRnZW5lcmF0
aW5nTGVnYWN5RmFjdG9yeUZ1bmN0aW9uLCAkY29uc3RydWN0b3IpOworICAgICAgICAgICAgICAg
IEdlbmVyYXRlQ29uc3RydWN0b3JEZWZpbml0aW9uKCRvdXRwdXRBcnJheSwgJGNsYXNzTmFtZSwg
JHZpc2libGVJbnRlcmZhY2VOYW1lLCAkaW50ZXJmYWNlLCAkZ2VuZXJhdGluZ0xlZ2FjeUZhY3Rv
cnlGdW5jdGlvbiwgJGNvbnN0cnVjdG9yKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAg
bXkgJG92ZXJsb2FkRnVuY3Rpb25QcmVmaXggPSAiY29uc3RydWN0JHtjbGFzc05hbWV9IjsKQEAg
LTc0MzEsMTggKzc0MDksMTggQEAgc3ViIEdlbmVyYXRlQ29uc3RydWN0b3JEZWZpbml0aW9ucwog
ICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9XG4iKTsKICAgICAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiSlNDX0FOTk9UQVRFX0hPU1RfRlVOQ1RJT04oJHtjbGFzc05hbWV9Q29u
c3RydWN0b3JDb25zdHJ1Y3QsICR7Y2xhc3NOYW1lfURPTUNvbnN0cnVjdG9yOjpjb25zdHJ1Y3Qp
O1xuXG4iKTsKICAgICAgICAgfSBlbHNpZiAoQGNvbnN0cnVjdG9ycyA9PSAxKSB7Ci0gICAgICAg
ICAgICBHZW5lcmF0ZUNvbnN0cnVjdG9yRGVmaW5pdGlvbigkb3V0cHV0QXJyYXksICRjbGFzc05h
bWUsICRwcm90b0NsYXNzTmFtZSwgJHZpc2libGVJbnRlcmZhY2VOYW1lLCAkaW50ZXJmYWNlLCAk
Z2VuZXJhdGluZ0xlZ2FjeUZhY3RvcnlGdW5jdGlvbiwgJGNvbnN0cnVjdG9yc1swXSk7CisgICAg
ICAgICAgICBHZW5lcmF0ZUNvbnN0cnVjdG9yRGVmaW5pdGlvbigkb3V0cHV0QXJyYXksICRjbGFz
c05hbWUsICR2aXNpYmxlSW50ZXJmYWNlTmFtZSwgJGludGVyZmFjZSwgJGdlbmVyYXRpbmdMZWdh
Y3lGYWN0b3J5RnVuY3Rpb24sICRjb25zdHJ1Y3RvcnNbMF0pOwogICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgICAgR2VuZXJhdGVDb25zdHJ1Y3RvckRlZmluaXRpb24oJG91dHB1dEFycmF5LCAk
Y2xhc3NOYW1lLCAkcHJvdG9DbGFzc05hbWUsICR2aXNpYmxlSW50ZXJmYWNlTmFtZSwgJGludGVy
ZmFjZSwgJGdlbmVyYXRpbmdMZWdhY3lGYWN0b3J5RnVuY3Rpb24pOworICAgICAgICAgICAgR2Vu
ZXJhdGVDb25zdHJ1Y3RvckRlZmluaXRpb24oJG91dHB1dEFycmF5LCAkY2xhc3NOYW1lLCAkdmlz
aWJsZUludGVyZmFjZU5hbWUsICRpbnRlcmZhY2UsICRnZW5lcmF0aW5nTGVnYWN5RmFjdG9yeUZ1
bmN0aW9uKTsKICAgICAgICAgfQogICAgIH0KIAotICAgIEdlbmVyYXRlQ29uc3RydWN0b3JIZWxw
ZXJNZXRob2RzKCRvdXRwdXRBcnJheSwgJGNsYXNzTmFtZSwgJHByb3RvQ2xhc3NOYW1lLCAkdmlz
aWJsZUludGVyZmFjZU5hbWUsICRpbnRlcmZhY2UsICRnZW5lcmF0aW5nTGVnYWN5RmFjdG9yeUZ1
bmN0aW9uKTsKKyAgICBHZW5lcmF0ZUNvbnN0cnVjdG9ySGVscGVyTWV0aG9kcygkb3V0cHV0QXJy
YXksICRjbGFzc05hbWUsICR2aXNpYmxlSW50ZXJmYWNlTmFtZSwgJGludGVyZmFjZSwgJGdlbmVy
YXRpbmdMZWdhY3lGYWN0b3J5RnVuY3Rpb24pOwogfQogCiBzdWIgR2VuZXJhdGVDb25zdHJ1Y3Rv
ckRlZmluaXRpb24KIHsKLSAgICBteSAoJG91dHB1dEFycmF5LCAkY2xhc3NOYW1lLCAkcHJvdG9D
bGFzc05hbWUsICR2aXNpYmxlSW50ZXJmYWNlTmFtZSwgJGludGVyZmFjZSwgJGdlbmVyYXRpbmdM
ZWdhY3lGYWN0b3J5RnVuY3Rpb24sICRvcGVyYXRpb24pID0gQF87CisgICAgbXkgKCRvdXRwdXRB
cnJheSwgJGNsYXNzTmFtZSwgJHZpc2libGVJbnRlcmZhY2VOYW1lLCAkaW50ZXJmYWNlLCAkZ2Vu
ZXJhdGluZ0xlZ2FjeUZhY3RvcnlGdW5jdGlvbiwgJG9wZXJhdGlvbikgPSBAXzsKIAogICAgIHJl
dHVybiBpZiBIYXNKU0J1aWx0aW5Db25zdHJ1Y3RvcigkaW50ZXJmYWNlKTsKIApAQCAtNzUxOCw3
ICs3NDk2LDcgQEAgc3ViIEdlbmVyYXRlQ29uc3RydWN0b3JEZWZpbml0aW9uCiAKIHN1YiBHZW5l
cmF0ZUNvbnN0cnVjdG9ySGVscGVyTWV0aG9kcwogewotICAgIG15ICgkb3V0cHV0QXJyYXksICRj
bGFzc05hbWUsICRwcm90b0NsYXNzTmFtZSwgJHZpc2libGVJbnRlcmZhY2VOYW1lLCAkaW50ZXJm
YWNlLCAkZ2VuZXJhdGluZ0xlZ2FjeUZhY3RvcnlGdW5jdGlvbikgPSBAXzsKKyAgICBteSAoJG91
dHB1dEFycmF5LCAkY2xhc3NOYW1lLCAkdmlzaWJsZUludGVyZmFjZU5hbWUsICRpbnRlcmZhY2Us
ICRnZW5lcmF0aW5nTGVnYWN5RmFjdG9yeUZ1bmN0aW9uKSA9IEBfOwogCiAgICAgbXkgJGNvbnN0
cnVjdG9yQ2xhc3NOYW1lID0gJGdlbmVyYXRpbmdMZWdhY3lGYWN0b3J5RnVuY3Rpb24gPyAiJHtj
bGFzc05hbWV9TGVnYWN5RmFjdG9yeUZ1bmN0aW9uIiA6ICIke2NsYXNzTmFtZX1ET01Db25zdHJ1
Y3RvciI7CiAgICAgbXkgJGxlYXN0Q29uc3RydWN0b3JMZW5ndGggPSAwOwpAQCAtNzUzNCw5ICs3
NTEyLDExIEBAIHN1YiBHZW5lcmF0ZUNvbnN0cnVjdG9ySGVscGVyTWV0aG9kcwogCiAgICAgbXkg
JGNvbnN0cnVjdG9ySGFzaFRhYmxlID0gIm51bGxwdHIiOwogICAgIHVubGVzcyAoJGdlbmVyYXRp
bmdMZWdhY3lGYWN0b3J5RnVuY3Rpb24pIHsKKyAgICAgICAgJGNvbnN0cnVjdG9ySGFzaFRhYmxl
ID0gR2VuZXJhdGVIYXNoVGFibGUoJGludGVyZmFjZSwgQ09OVEVYVF9OQU1FX0NPTlNUUlVDVE9S
KTsKKyAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAkY29kZUdlbmVyYXRvci0+R2VuZXJhdGVD
b21waWxlVGltZUNoZWNrRm9yRW51bXNJZk5lZWRlZCgkaW50ZXJmYWNlKSk7CisKICAgICAgICAg
bXkgJHN0cnVjdHVyZUZsYWdzID0gIkJhc2U6OlN0cnVjdHVyZUZsYWdzIjsKLSAgICAgICAgaWYg
KENvbnN0cnVjdG9ySGFzUHJvcGVydGllcygkaW50ZXJmYWNlKSkgewotICAgICAgICAgICAgJGNv
bnN0cnVjdG9ySGFzaFRhYmxlID0gIiYke2NsYXNzTmFtZX1Db25zdHJ1Y3RvclRhYmxlIjsKKyAg
ICAgICAgaWYgKCRjb25zdHJ1Y3Rvckhhc2hUYWJsZSBuZSAibnVsbHB0ciIpIHsKICAgICAgICAg
ICAgICRzdHJ1Y3R1cmVGbGFncyAuPSAiIHwgSlNDOjpIYXNTdGF0aWNQcm9wZXJ0eVRhYmxlIjsK
ICAgICAgICAgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0R2xvYmFsT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0LmNwcAkocmV2aXNpb24g
Mjc5NTQ2KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEdsb2JhbE9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0MSw4ICsyNDEsOCBAQCBzdGF0
aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RHCiAKIHVzaW5nIEpTVGVzdEdsb2Jh
bE9iamVjdERPTUNvbnN0cnVjdG9yID0gSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGU8
SlNUZXN0R2xvYmFsT2JqZWN0PjsKIAotdGVtcGxhdGU8PiBjb25zdCB1bnNpZ25lZCBKU1Rlc3RH
bG9iYWxPYmplY3RET01Db25zdHJ1Y3Rvcjo6U3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1
cmVGbGFncyB8IEpTQzo6SGFzU3RhdGljUHJvcGVydHlUYWJsZTsKLXRlbXBsYXRlPD4gY29uc3Qg
Q2xhc3NJbmZvIEpTVGVzdEdsb2JhbE9iamVjdERPTUNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJU
ZXN0R2xvYmFsT2JqZWN0IiwgJkJhc2U6OnNfaW5mbywgJkpTVGVzdEdsb2JhbE9iamVjdENvbnN0
cnVjdG9yVGFibGUsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0R2xvYmFsT2Jq
ZWN0RE9NQ29uc3RydWN0b3IpIH07Cit0ZW1wbGF0ZTw+IGNvbnN0IHVuc2lnbmVkIEpTVGVzdEds
b2JhbE9iamVjdERPTUNvbnN0cnVjdG9yOjpTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVy
ZUZsYWdzOwordGVtcGxhdGU8PiBjb25zdCBDbGFzc0luZm8gSlNUZXN0R2xvYmFsT2JqZWN0RE9N
Q29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIlRlc3RHbG9iYWxPYmplY3QiLCAmQmFzZTo6c19pbmZv
LCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdEdsb2JhbE9iamVj
dERPTUNvbnN0cnVjdG9yKSB9OwogCiB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0R2xvYmFsT2Jq
ZWN0RE9NQ29uc3RydWN0b3I6OnByb3RvdHlwZUZvclN0cnVjdHVyZShKU0M6OlZNJiB2bSwgY29u
c3QgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKQEAgLTI1NSw3ICsyNTUsNiBA
QCB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0R2xvYmFsT2JqZWN0RE9NQ29uCiAgICAgcHV0RGlyZWN0
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGdsb2JhbE9iamVjdC5nZXRQcm90b3R5
cGVEaXJlY3Qodm0pLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRy
aXZpYWxTdHJpbmcodm0sICJUZXN0R2xvYmFsT2JqZWN0Il9zKSwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7CiAgICAg
cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnRFbnVtKTsKLSAgICByZWlmeVN0YXRpY1Byb3BlcnRpZXModm0sIG51bGxwdHIsIEpTVGVzdEds
b2JhbE9iamVjdENvbnN0cnVjdG9yVGFibGVWYWx1ZXMsICp0aGlzKTsKIH0KIAogLyogSGFzaCB0
YWJsZSBmb3IgUHJvdG90eXBlICovCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAkocmV2aXNp
b24gMjc5NTQ2KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEludGVyZmFjZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwMSw2ICsyMDEsMzQgQEAgU1RB
VElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNUZQogCiB1c2luZyBKU1Rlc3RJbnRl
cmZhY2VET01Db25zdHJ1Y3RvciA9IEpTRE9NQ29uc3RydWN0b3I8SlNUZXN0SW50ZXJmYWNlPjsK
IAordGVtcGxhdGU8PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMX0FUVFJJQlVURVMgSlNU
ZXN0SW50ZXJmYWNlRE9NQ29uc3RydWN0b3I6OmNvbnN0cnVjdChKU0dsb2JhbE9iamVjdCogbGV4
aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCit7CisgICAgVk0mIHZtID0g
bGV4aWNhbEdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJF
X1RIUk9XX1NDT1BFKHZtKTsKKyAgICBhdXRvKiBjYXN0ZWRUaGlzID0ganNDYXN0PEpTVGVzdElu
dGVyZmFjZURPTUNvbnN0cnVjdG9yKj4oY2FsbEZyYW1lLT5qc0NhbGxlZSgpKTsKKyAgICBBU1NF
UlQoY2FzdGVkVGhpcyk7CisgICAgaWYgKFVOTElLRUxZKGNhbGxGcmFtZS0+YXJndW1lbnRDb3Vu
dCgpIDwgMSkpCisgICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3IobGV4aWNhbEdsb2JhbE9iamVj
dCwgdGhyb3dTY29wZSwgY3JlYXRlTm90RW5vdWdoQXJndW1lbnRzRXJyb3IobGV4aWNhbEdsb2Jh
bE9iamVjdCkpOworICAgIGF1dG8qIGNvbnRleHQgPSBjYXN0ZWRUaGlzLT5zY3JpcHRFeGVjdXRp
b25Db250ZXh0KCk7CisgICAgaWYgKFVOTElLRUxZKCFjb250ZXh0KSkKKyAgICAgICAgcmV0dXJu
IHRocm93Q29uc3RydWN0b3JTY3JpcHRFeGVjdXRpb25Db250ZXh0VW5hdmFpbGFibGVFcnJvcigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhyb3dTY29wZSwgIlRlc3RJbnRlcmZhY2UiKTsKKyAgICBF
bnN1cmVTdGlsbEFsaXZlU2NvcGUgYXJndW1lbnQwID0gY2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1
bWVudCgwKTsKKyAgICBhdXRvIHN0cjEgPSBjb252ZXJ0PElETERPTVN0cmluZz4oKmxleGljYWxH
bG9iYWxPYmplY3QsIGFyZ3VtZW50MC52YWx1ZSgpKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9O
KHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOworICAgIEVuc3VyZVN0aWxsQWxpdmVTY29w
ZSBhcmd1bWVudDEgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDEpOworICAgIGF1dG8gc3RyMiA9IGFy
Z3VtZW50MS52YWx1ZSgpLmlzVW5kZWZpbmVkKCkgPyAiZGVmYXVsdFN0cmluZyJfcyA6IGNvbnZl
cnQ8SURMRE9NU3RyaW5nPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgYXJndW1lbnQxLnZhbHVlKCkp
OworICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7
CisgICAgYXV0byBvYmplY3QgPSBUZXN0SW50ZXJmYWNlOjpjcmVhdGUoKmNvbnRleHQsIFdURk1v
dmUoc3RyMSksIFdURk1vdmUoc3RyMikpOworICAgIHN0YXRpY19hc3NlcnQoVHlwZU9yRXhjZXB0
aW9uT3JVbmRlcmx5aW5nVHlwZTxkZWNsdHlwZShvYmplY3QpPjo6aXNSZWYpOworICAgIGF1dG8g
anNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RJbnRlcmZhY2U+Pigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCB0aHJvd1Nj
b3BlLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIGlmIGNvbnN0ZXhwciAoSXNFeGNlcHRpb25Pcjxk
ZWNsdHlwZShvYmplY3QpPikKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3Bl
LCB7IH0pOworICAgIHNldFN1YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVzdEludGVyZmFjZT4o
bGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLCBhc09iamVjdChqc1ZhbHVlKSk7CisgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOworICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoanNWYWx1ZSk7Cit9CitKU0NfQU5OT1RBVEVfSE9TVF9GVU5DVElPTihKU1Rlc3RJ
bnRlcmZhY2VET01Db25zdHJ1Y3RvckNvbnN0cnVjdCwgSlNUZXN0SW50ZXJmYWNlRE9NQ29uc3Ry
dWN0b3I6OmNvbnN0cnVjdCk7CisKIC8qIEhhc2ggdGFibGUgZm9yIENvbnN0cnVjdG9yICovCiAK
IHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RJbnRlcmZhY2VDb25z
dHJ1Y3RvclRhYmxlSW5kZXhbMTddID0gewpAQCAtMjg1LDM0ICszMTMsNiBAQCBzdGF0aWNfYXNz
ZXJ0KFRlc3RTdXBwbGVtZW50YWw6OlNVUFBMRU1FCiBzdGF0aWNfYXNzZXJ0KFRlc3RTdXBwbGVt
ZW50YWw6OkNPTlNUX0lNUEwgPT0gMiwgIkNPTlNUX0lNUEwgaW4gVGVzdFN1cHBsZW1lbnRhbCBk
b2VzIG5vdCBtYXRjaCB2YWx1ZSBmcm9tIElETCIpOwogI2VuZGlmCiAKLXRlbXBsYXRlPD4gRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTF9BVFRSSUJVVEVTIEpTVGVzdEludGVyZmFjZURPTUNv
bnN0cnVjdG9yOjpjb25zdHJ1Y3QoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qs
IENhbGxGcmFtZSogY2FsbEZyYW1lKQotewotICAgIFZNJiB2bSA9IGxleGljYWxHbG9iYWxPYmpl
Y3QtPnZtKCk7Ci0gICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7
Ci0gICAgYXV0byogY2FzdGVkVGhpcyA9IGpzQ2FzdDxKU1Rlc3RJbnRlcmZhY2VET01Db25zdHJ1
Y3Rvcio+KGNhbGxGcmFtZS0+anNDYWxsZWUoKSk7Ci0gICAgQVNTRVJUKGNhc3RlZFRoaXMpOwot
ICAgIGlmIChVTkxJS0VMWShjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnQoKSA8IDEpKQotICAgICAg
ICByZXR1cm4gdGhyb3dWTUVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIHRocm93U2NvcGUsIGNy
ZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGxleGljYWxHbG9iYWxPYmplY3QpKTsKLSAgICBh
dXRvKiBjb250ZXh0ID0gY2FzdGVkVGhpcy0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwotICAg
IGlmIChVTkxJS0VMWSghY29udGV4dCkpCi0gICAgICAgIHJldHVybiB0aHJvd0NvbnN0cnVjdG9y
U2NyaXB0RXhlY3V0aW9uQ29udGV4dFVuYXZhaWxhYmxlRXJyb3IoKmxleGljYWxHbG9iYWxPYmpl
Y3QsIHRocm93U2NvcGUsICJUZXN0SW50ZXJmYWNlIik7Ci0gICAgRW5zdXJlU3RpbGxBbGl2ZVNj
b3BlIGFyZ3VtZW50MCA9IGNhbGxGcmFtZS0+dW5jaGVja2VkQXJndW1lbnQoMCk7Ci0gICAgYXV0
byBzdHIxID0gY29udmVydDxJRExET01TdHJpbmc+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBhcmd1
bWVudDAudmFsdWUoKSk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNv
ZGVkSlNWYWx1ZSgpKTsKLSAgICBFbnN1cmVTdGlsbEFsaXZlU2NvcGUgYXJndW1lbnQxID0gY2Fs
bEZyYW1lLT5hcmd1bWVudCgxKTsKLSAgICBhdXRvIHN0cjIgPSBhcmd1bWVudDEudmFsdWUoKS5p
c1VuZGVmaW5lZCgpID8gImRlZmF1bHRTdHJpbmciX3MgOiBjb252ZXJ0PElETERPTVN0cmluZz4o
KmxleGljYWxHbG9iYWxPYmplY3QsIGFyZ3VtZW50MS52YWx1ZSgpKTsKLSAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwotICAgIGF1dG8gb2JqZWN0
ID0gVGVzdEludGVyZmFjZTo6Y3JlYXRlKCpjb250ZXh0LCBXVEZNb3ZlKHN0cjEpLCBXVEZNb3Zl
KHN0cjIpKTsKLSAgICBzdGF0aWNfYXNzZXJ0KFR5cGVPckV4Y2VwdGlvbk9yVW5kZXJseWluZ1R5
cGU8ZGVjbHR5cGUob2JqZWN0KT46OmlzUmVmKTsKLSAgICBhdXRvIGpzVmFsdWUgPSB0b0pTTmV3
bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0SW50ZXJmYWNlPj4oKmxleGljYWxHbG9iYWxPYmpl
Y3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgdGhyb3dTY29wZSwgV1RGTW92ZShvYmpl
Y3QpKTsKLSAgICBpZiBjb25zdGV4cHIgKElzRXhjZXB0aW9uT3I8ZGVjbHR5cGUob2JqZWN0KT4p
Ci0gICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKLSAgICBzZXRT
dWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVkPFRlc3RJbnRlcmZhY2U+KGxleGljYWxHbG9iYWxPYmpl
Y3QsIGNhbGxGcmFtZSwgYXNPYmplY3QoanNWYWx1ZSkpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04odGhyb3dTY29wZSwgeyB9KTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUp
OwotfQotSlNDX0FOTk9UQVRFX0hPU1RfRlVOQ1RJT04oSlNUZXN0SW50ZXJmYWNlRE9NQ29uc3Ry
dWN0b3JDb25zdHJ1Y3QsIEpTVGVzdEludGVyZmFjZURPTUNvbnN0cnVjdG9yOjpjb25zdHJ1Y3Qp
OwotCiB0ZW1wbGF0ZTw+IGNvbnN0IHVuc2lnbmVkIEpTVGVzdEludGVyZmFjZURPTUNvbnN0cnVj
dG9yOjpTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgSlNDOjpIYXNTdGF0
aWNQcm9wZXJ0eVRhYmxlOwogdGVtcGxhdGU8PiBjb25zdCBDbGFzc0luZm8gSlNUZXN0SW50ZXJm
YWNlRE9NQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIlRlc3RJbnRlcmZhY2UiLCAmQmFzZTo6c19p
bmZvLCAmSlNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JUYWJsZSwgbnVsbHB0ciwgQ1JFQVRFX01F
VEhPRF9UQUJMRShKU1Rlc3RJbnRlcmZhY2VET01Db25zdHJ1Y3RvcikgfTsKIApJbmRleDogU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9i
ai5jcHAJKHJldmlzaW9uIDI3OTU0NikKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODk2LDYgKzE4OTYs
MzYgQEAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNUZQogCiB1c2luZyBK
U1Rlc3RPYmpET01Db25zdHJ1Y3RvciA9IEpTRE9NQ29uc3RydWN0b3I8SlNUZXN0T2JqPjsKIAor
dGVtcGxhdGU8PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMX0FUVFJJQlVURVMgSlNUZXN0
T2JqRE9NQ29uc3RydWN0b3I6OmNvbnN0cnVjdChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2Jh
bE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCit7CisgICAgVk0mIHZtID0gbGV4aWNhbEds
b2JhbE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1ND
T1BFKHZtKTsKKyAgICBhdXRvKiBjYXN0ZWRUaGlzID0ganNDYXN0PEpTVGVzdE9iakRPTUNvbnN0
cnVjdG9yKj4oY2FsbEZyYW1lLT5qc0NhbGxlZSgpKTsKKyAgICBBU1NFUlQoY2FzdGVkVGhpcyk7
CisgICAgaWYgKFVOTElLRUxZKGNhbGxGcmFtZS0+YXJndW1lbnRDb3VudCgpIDwgMikpCisgICAg
ICAgIHJldHVybiB0aHJvd1ZNRXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgdGhyb3dTY29wZSwg
Y3JlYXRlTm90RW5vdWdoQXJndW1lbnRzRXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCkpOworICAg
IGF1dG8qIGNvbnRleHQgPSBjYXN0ZWRUaGlzLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Cisg
ICAgaWYgKFVOTElLRUxZKCFjb250ZXh0KSkKKyAgICAgICAgcmV0dXJuIHRocm93Q29uc3RydWN0
b3JTY3JpcHRFeGVjdXRpb25Db250ZXh0VW5hdmFpbGFibGVFcnJvcigqbGV4aWNhbEdsb2JhbE9i
amVjdCwgdGhyb3dTY29wZSwgIlRlc3RPYmplY3QiKTsKKyAgICBBU1NFUlQoY29udGV4dC0+aXNE
b2N1bWVudCgpKTsKKyAgICBhdXRvJiBkb2N1bWVudCA9IGRvd25jYXN0PERvY3VtZW50PigqY29u
dGV4dCk7CisgICAgRW5zdXJlU3RpbGxBbGl2ZVNjb3BlIGFyZ3VtZW50MCA9IGNhbGxGcmFtZS0+
dW5jaGVja2VkQXJndW1lbnQoMCk7CisgICAgYXV0byB0ZXN0Q2FsbGJhY2sgPSBjb252ZXJ0PElE
TENhbGxiYWNrSW50ZXJmYWNlPEpTVGVzdENhbGxiYWNrSW50ZXJmYWNlPj4oKmxleGljYWxHbG9i
YWxPYmplY3QsIGFyZ3VtZW50MC52YWx1ZSgpLCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCks
IFtdKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dT
Y29wZSYgc2NvcGUpIHsgdGhyb3dBcmd1bWVudE11c3RCZU9iamVjdEVycm9yKGxleGljYWxHbG9i
YWxPYmplY3QsIHNjb3BlLCAwLCAidGVzdENhbGxiYWNrIiwgIlRlc3RPYmplY3QiLCBudWxscHRy
KTsgfSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1
ZSgpKTsKKyAgICBFbnN1cmVTdGlsbEFsaXZlU2NvcGUgYXJndW1lbnQxID0gY2FsbEZyYW1lLT51
bmNoZWNrZWRBcmd1bWVudCgxKTsKKyAgICBhdXRvIHRlc3RDYWxsYmFja0Z1bmN0aW9uID0gY29u
dmVydDxJRExDYWxsYmFja0Z1bmN0aW9uPEpTVGVzdENhbGxiYWNrRnVuY3Rpb24+PigqbGV4aWNh
bEdsb2JhbE9iamVjdCwgYXJndW1lbnQxLnZhbHVlKCksICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmpl
Y3QoKSwgW10oSlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpU
aHJvd1Njb3BlJiBzY29wZSkgeyB0aHJvd0FyZ3VtZW50TXVzdEJlRnVuY3Rpb25FcnJvcihsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBzY29wZSwgMSwgInRlc3RDYWxsYmFja0Z1bmN0aW9uIiwgIlRlc3RP
YmplY3QiLCBudWxscHRyKTsgfSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3Bl
LCBlbmNvZGVkSlNWYWx1ZSgpKTsKKyAgICBhdXRvIG9iamVjdCA9IFRlc3RPYmo6OmNyZWF0ZShk
b2N1bWVudCwgdGVzdENhbGxiYWNrLnJlbGVhc2VOb25OdWxsKCksIHRlc3RDYWxsYmFja0Z1bmN0
aW9uLnJlbGVhc2VOb25OdWxsKCkpOworICAgIHN0YXRpY19hc3NlcnQoVHlwZU9yRXhjZXB0aW9u
T3JVbmRlcmx5aW5nVHlwZTxkZWNsdHlwZShvYmplY3QpPjo6aXNSZWYpOworICAgIGF1dG8ganNW
YWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RPYmo+PigqbGV4aWNhbEds
b2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCB0aHJvd1Njb3BlLCBXVEZN
b3ZlKG9iamVjdCkpOworICAgIGlmIGNvbnN0ZXhwciAoSXNFeGNlcHRpb25PcjxkZWNsdHlwZShv
YmplY3QpPikKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOwor
ICAgIHNldFN1YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVzdE9iaj4obGV4aWNhbEdsb2JhbE9i
amVjdCwgY2FsbEZyYW1lLCBhc09iamVjdChqc1ZhbHVlKSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTih0aHJvd1Njb3BlLCB7IH0pOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNWYWx1
ZSk7Cit9CitKU0NfQU5OT1RBVEVfSE9TVF9GVU5DVElPTihKU1Rlc3RPYmpET01Db25zdHJ1Y3Rv
ckNvbnN0cnVjdCwgSlNUZXN0T2JqRE9NQ29uc3RydWN0b3I6OmNvbnN0cnVjdCk7CisKICNpZiBF
TkFCTEUoVEVTVF9GRUFUVVJFKQogc3RhdGljIEpTVmFsdWUgY3JlYXRlSlNUZXN0T2JqQ29uc3Ry
dWN0b3JfZW5hYmxlZEF0UnVudGltZUF0dHJpYnV0ZVN0YXRpYyhWTSYgdm0sIEpTT2JqZWN0KikK
IHsKQEAgLTIwNjEsMzYgKzIwOTEsNiBAQCBzdGF0aWNfYXNzZXJ0KFRlc3RPYmo6OkNPTlNUX1ZB
TFVFXzE0ID09CiBzdGF0aWNfYXNzZXJ0KFRlc3RPYmo6OkNPTlNUX0lNUEwgPT0gMTUsICJDT05T
VF9JTVBMIGluIFRlc3RPYmogZG9lcyBub3QgbWF0Y2ggdmFsdWUgZnJvbSBJREwiKTsKIHN0YXRp
Y19hc3NlcnQoVGVzdE9iajo6cmVhZG9ubHkgPT0gMCwgInJlYWRvbmx5IGluIFRlc3RPYmogZG9l
cyBub3QgbWF0Y2ggdmFsdWUgZnJvbSBJREwiKTsKIAotdGVtcGxhdGU8PiBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMX0FUVFJJQlVURVMgSlNUZXN0T2JqRE9NQ29uc3RydWN0b3I6OmNvbnN0
cnVjdChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxs
RnJhbWUpCi17Ci0gICAgVk0mIHZtID0gbGV4aWNhbEdsb2JhbE9iamVjdC0+dm0oKTsKLSAgICBh
dXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBhdXRvKiBjYXN0
ZWRUaGlzID0ganNDYXN0PEpTVGVzdE9iakRPTUNvbnN0cnVjdG9yKj4oY2FsbEZyYW1lLT5qc0Nh
bGxlZSgpKTsKLSAgICBBU1NFUlQoY2FzdGVkVGhpcyk7Ci0gICAgaWYgKFVOTElLRUxZKGNhbGxG
cmFtZS0+YXJndW1lbnRDb3VudCgpIDwgMikpCi0gICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3Io
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhyb3dTY29wZSwgY3JlYXRlTm90RW5vdWdoQXJndW1lbnRz
RXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCkpOwotICAgIGF1dG8qIGNvbnRleHQgPSBjYXN0ZWRU
aGlzLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Ci0gICAgaWYgKFVOTElLRUxZKCFjb250ZXh0
KSkKLSAgICAgICAgcmV0dXJuIHRocm93Q29uc3RydWN0b3JTY3JpcHRFeGVjdXRpb25Db250ZXh0
VW5hdmFpbGFibGVFcnJvcigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhyb3dTY29wZSwgIlRlc3RP
YmplY3QiKTsKLSAgICBBU1NFUlQoY29udGV4dC0+aXNEb2N1bWVudCgpKTsKLSAgICBhdXRvJiBk
b2N1bWVudCA9IGRvd25jYXN0PERvY3VtZW50PigqY29udGV4dCk7Ci0gICAgRW5zdXJlU3RpbGxB
bGl2ZVNjb3BlIGFyZ3VtZW50MCA9IGNhbGxGcmFtZS0+dW5jaGVja2VkQXJndW1lbnQoMCk7Ci0g
ICAgYXV0byB0ZXN0Q2FsbGJhY2sgPSBjb252ZXJ0PElETENhbGxiYWNrSW50ZXJmYWNlPEpTVGVz
dENhbGxiYWNrSW50ZXJmYWNlPj4oKmxleGljYWxHbG9iYWxPYmplY3QsIGFyZ3VtZW50MC52YWx1
ZSgpLCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFtdKEpTQzo6SlNHbG9iYWxPYmplY3Qm
IGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYgc2NvcGUpIHsgdGhyb3dBcmd1
bWVudE11c3RCZU9iamVjdEVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIHNjb3BlLCAwLCAidGVz
dENhbGxiYWNrIiwgIlRlc3RPYmplY3QiLCBudWxscHRyKTsgfSk7Ci0gICAgUkVUVVJOX0lGX0VY
Q0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKLSAgICBFbnN1cmVTdGlsbEFs
aXZlU2NvcGUgYXJndW1lbnQxID0gY2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgxKTsKLSAg
ICBhdXRvIHRlc3RDYWxsYmFja0Z1bmN0aW9uID0gY29udmVydDxJRExDYWxsYmFja0Z1bmN0aW9u
PEpTVGVzdENhbGxiYWNrRnVuY3Rpb24+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgYXJndW1lbnQx
LnZhbHVlKCksICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgW10oSlNDOjpKU0dsb2JhbE9i
amVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpUaHJvd1Njb3BlJiBzY29wZSkgeyB0aHJv
d0FyZ3VtZW50TXVzdEJlRnVuY3Rpb25FcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBzY29wZSwg
MSwgInRlc3RDYWxsYmFja0Z1bmN0aW9uIiwgIlRlc3RPYmplY3QiLCBudWxscHRyKTsgfSk7Ci0g
ICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKLSAg
ICBhdXRvIG9iamVjdCA9IFRlc3RPYmo6OmNyZWF0ZShkb2N1bWVudCwgdGVzdENhbGxiYWNrLnJl
bGVhc2VOb25OdWxsKCksIHRlc3RDYWxsYmFja0Z1bmN0aW9uLnJlbGVhc2VOb25OdWxsKCkpOwot
ICAgIHN0YXRpY19hc3NlcnQoVHlwZU9yRXhjZXB0aW9uT3JVbmRlcmx5aW5nVHlwZTxkZWNsdHlw
ZShvYmplY3QpPjo6aXNSZWYpOwotICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8
SURMSW50ZXJmYWNlPFRlc3RPYmo+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMt
Pmdsb2JhbE9iamVjdCgpLCB0aHJvd1Njb3BlLCBXVEZNb3ZlKG9iamVjdCkpOwotICAgIGlmIGNv
bnN0ZXhwciAoSXNFeGNlcHRpb25PcjxkZWNsdHlwZShvYmplY3QpPikKLSAgICAgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOwotICAgIHNldFN1YmNsYXNzU3RydWN0dXJl
SWZOZWVkZWQ8VGVzdE9iaj4obGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLCBhc09iamVj
dChqc1ZhbHVlKSk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOwot
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNWYWx1ZSk7Ci19Ci1KU0NfQU5OT1RBVEVfSE9T
VF9GVU5DVElPTihKU1Rlc3RPYmpET01Db25zdHJ1Y3RvckNvbnN0cnVjdCwgSlNUZXN0T2JqRE9N
Q29uc3RydWN0b3I6OmNvbnN0cnVjdCk7Ci0KIHRlbXBsYXRlPD4gY29uc3QgdW5zaWduZWQgSlNU
ZXN0T2JqRE9NQ29uc3RydWN0b3I6OlN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxh
Z3MgfCBKU0M6Okhhc1N0YXRpY1Byb3BlcnR5VGFibGU7CiB0ZW1wbGF0ZTw+IGNvbnN0IENsYXNz
SW5mbyBKU1Rlc3RPYmpET01Db25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiVGVzdE9iamVjdCIsICZC
YXNlOjpzX2luZm8sICZKU1Rlc3RPYmpDb25zdHJ1Y3RvclRhYmxlLCBudWxscHRyLCBDUkVBVEVf
TUVUSE9EX1RBQkxFKEpTVGVzdE9iakRPTUNvbnN0cnVjdG9yKSB9OwogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RU
eXBlZGVmcy5jcHAJKHJldmlzaW9uIDI3OTU0NikKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2
NSw4ICsxNjUsOCBAQCB0ZW1wbGF0ZTw+IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTExfCiB9
CiBKU0NfQU5OT1RBVEVfSE9TVF9GVU5DVElPTihKU1Rlc3RUeXBlZGVmc0RPTUNvbnN0cnVjdG9y
Q29uc3RydWN0LCBKU1Rlc3RUeXBlZGVmc0RPTUNvbnN0cnVjdG9yOjpjb25zdHJ1Y3QpOwogCi10
ZW1wbGF0ZTw+IGNvbnN0IHVuc2lnbmVkIEpTVGVzdFR5cGVkZWZzRE9NQ29uc3RydWN0b3I6OlN0
cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBKU0M6Okhhc1N0YXRpY1Byb3Bl
cnR5VGFibGU7Ci10ZW1wbGF0ZTw+IGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RUeXBlZGVmc0RPTUNv
bnN0cnVjdG9yOjpzX2luZm8gPSB7ICJUZXN0VHlwZWRlZnMiLCAmQmFzZTo6c19pbmZvLCAmSlNU
ZXN0VHlwZWRlZnNDb25zdHJ1Y3RvclRhYmxlLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxF
KEpTVGVzdFR5cGVkZWZzRE9NQ29uc3RydWN0b3IpIH07Cit0ZW1wbGF0ZTw+IGNvbnN0IHVuc2ln
bmVkIEpTVGVzdFR5cGVkZWZzRE9NQ29uc3RydWN0b3I6OlN0cnVjdHVyZUZsYWdzID0gQmFzZTo6
U3RydWN0dXJlRmxhZ3M7Cit0ZW1wbGF0ZTw+IGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RUeXBlZGVm
c0RPTUNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJUZXN0VHlwZWRlZnMiLCAmQmFzZTo6c19pbmZv
LCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdFR5cGVkZWZzRE9N
Q29uc3RydWN0b3IpIH07CiAKIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RUeXBlZGVmc0RPTUNv
bnN0cnVjdG9yOjpwcm90b3R5cGVGb3JTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIGNvbnN0IEpTRE9N
R2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CkBAIC0xNzksNyArMTc5LDYgQEAgdGVtcGxh
dGU8PiB2b2lkIEpTVGVzdFR5cGVkZWZzRE9NQ29uc3RydQogICAgIHB1dERpcmVjdCh2bSwgdm0u
cHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3RUeXBlZGVmczo6cHJvdG90eXBlKHZtLCBn
bG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSk7CiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRy
aXZpYWxTdHJpbmcodm0sICJUZXN0VHlwZWRlZnMiX3MpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKICAgICBwdXRE
aXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMyksIEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0pOwotICAgIHJlaWZ5U3RhdGljUHJvcGVydGllcyh2bSwgbnVsbHB0ciwgSlNUZXN0VHlwZWRl
ZnNDb25zdHJ1Y3RvclRhYmxlVmFsdWVzLCAqdGhpcyk7CiB9CiAKIC8qIEhhc2ggdGFibGUgZm9y
IFByb3RvdHlwZSAqLwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>