<?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>83699</bug_id>
          
          <creation_ts>2012-04-11 09:34:54 -0700</creation_ts>
          <short_desc>V8 bindings are polluting WebCore namespace with overly generic FooInternal namespaces</short_desc>
          <delta_ts>2012-04-11 11:02:39 -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>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>eric</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>kling</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>600325</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-04-11 09:34:54 -0700</bug_when>
    <thetext>See the clash in https://bugs.webkit.org/show_bug.cgi?id=83612 between StyleSheetInternal class and a V8 binding namespace with the same name. V8 binding should have &quot;V8&quot; somewhere in the name to prevent name collisions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600329</commentid>
    <comment_count>1</comment_count>
      <attachid>136679</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-04-11 09:42:22 -0700</bug_when>
    <thetext>Created attachment 136679
Try to fix by hacking V8 generator blind</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600409</commentid>
    <comment_count>2</comment_count>
      <attachid>136698</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-04-11 10:48:59 -0700</bug_when>
    <thetext>Created attachment 136698
regenerated bindings test results</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600417</commentid>
    <comment_count>3</comment_count>
      <attachid>136698</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-04-11 10:54:15 -0700</bug_when>
    <thetext>Comment on attachment 136698
regenerated bindings test results

Interesting.  Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600425</commentid>
    <comment_count>4</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-04-11 11:02:39 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/113881</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136679</attachid>
            <date>2012-04-11 09:42:22 -0700</date>
            <delta_ts>2012-04-11 10:48:59 -0700</delta_ts>
            <desc>Try to fix by hacking V8 generator blind</desc>
            <filename>v8-internal.patch</filename>
            <type>text/plain</type>
            <size>4012</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMzg3MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA0LTExICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBWOCBiaW5kaW5ncyBhcmUgcG9s
bHV0aW5nIFdlYkNvcmUgbmFtZXNwYWNlIHdpdGggb3Zlcmx5IGdlbmVyaWMgRm9vSW50ZXJuYWwg
bmFtZXNwYWNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODM2OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBDYWxsIHRoZW0gRm9vVjhJbnRlcm5hbCBpbnN0ZWFkLgorCisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG06CisgICAgICAgIChHZXRGdW5jdGlvblRlbXBsYXRl
Q2FsbGJhY2tOYW1lKToKKyAgICAgICAgKEdlbmVyYXRlU2luZ2xlQmF0Y2hlZEF0dHJpYnV0ZSk6
CisgICAgICAgIChHZW5lcmF0ZUltcGxlbWVudGF0aW9uKToKKwogMjAxMi0wNC0xMSAgQWRyaWVu
bmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgogCiAgICAgICAgIFtjaHJvbWl1bV0gRHJhdyBt
aXNzaW5nIGxheWVyIHRpbGUgY2hlY2tlcmJvYXJkcyBhcyBjaGVja2VyYm9hcmRzCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5w
bQkocmV2aXNpb24gMTEzODUxKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9yVjgucG0JKHdvcmtpbmcgY29weSkKQEAgLTEyMDYsNyArMTIwNiw3IEBAIHN1
YiBHZXRGdW5jdGlvblRlbXBsYXRlQ2FsbGJhY2tOYW1lCiAgICAgICAgIH0KICAgICAgICAgcmV0
dXJuICJWOCR7aW50ZXJmYWNlTmFtZX06OiR7bmFtZX1DYWxsYmFjayI7CiAgICAgfSBlbHNlIHsK
LSAgICAgICAgcmV0dXJuICIke2ludGVyZmFjZU5hbWV9SW50ZXJuYWw6OiR7bmFtZX1DYWxsYmFj
ayI7CisgICAgICAgIHJldHVybiAiJHtpbnRlcmZhY2VOYW1lfVY4SW50ZXJuYWw6OiR7bmFtZX1D
YWxsYmFjayI7CiAgICAgfQogfQogCkBAIC0yMDQ0LDE1ICsyMDQ0LDE1IEBAIHN1YiBHZW5lcmF0
ZVNpbmdsZUJhdGNoZWRBdHRyaWJ1dGUKICAgICAgICAgICAgICRnZXR0ZXIgPSAiVjgke2N1c3Rv
bUFjY2Vzc29yfUFjY2Vzc29yR2V0dGVyIjsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAg
ICRkYXRhID0gIiZWOCR7Y29uc3RydWN0b3JUeXBlfTo6aW5mbyI7Ci0gICAgICAgICAgICAkZ2V0
dGVyID0gIiR7aW50ZXJmYWNlTmFtZX1JbnRlcm5hbDo6JHtpbnRlcmZhY2VOYW1lfUNvbnN0cnVj
dG9yR2V0dGVyIjsKKyAgICAgICAgICAgICRnZXR0ZXIgPSAiJHtpbnRlcmZhY2VOYW1lfVY4SW50
ZXJuYWw6OiR7aW50ZXJmYWNlTmFtZX1Db25zdHJ1Y3RvckdldHRlciI7CiAgICAgICAgIH0KICAg
ICAgICAgJHNldHRlciA9ICIwIjsKICAgICAgICAgJHByb3BBdHRyID0gInY4OjpSZWFkT25seSI7
CiAKICAgICB9IGVsc2UgewogICAgICAgICAjIERlZmF1bHQgR2V0dGVyIGFuZCBTZXR0ZXIKLSAg
ICAgICAgJGdldHRlciA9ICIke2ludGVyZmFjZU5hbWV9SW50ZXJuYWw6OiR7YXR0ck5hbWV9QXR0
ckdldHRlciI7Ci0gICAgICAgICRzZXR0ZXIgPSAiJHtpbnRlcmZhY2VOYW1lfUludGVybmFsOjok
e2F0dHJOYW1lfUF0dHJTZXR0ZXIiOworICAgICAgICAkZ2V0dGVyID0gIiR7aW50ZXJmYWNlTmFt
ZX1WOEludGVybmFsOjoke2F0dHJOYW1lfUF0dHJHZXR0ZXIiOworICAgICAgICAkc2V0dGVyID0g
IiR7aW50ZXJmYWNlTmFtZX1WOEludGVybmFsOjoke2F0dHJOYW1lfUF0dHJTZXR0ZXIiOwogCiAg
ICAgICAgICMgQ3VzdG9tIFNldHRlcgogICAgICAgICBpZiAoJGF0dHJFeHQtPnsiQ3VzdG9tU2V0
dGVyIn0gfHwgJGF0dHJFeHQtPnsiVjhDdXN0b21TZXR0ZXIifSB8fCAkYXR0ckV4dC0+eyJDdXN0
b20ifSB8fCAkYXR0ckV4dC0+eyJWOEN1c3RvbSJ9KSB7CkBAIC0yMzE1LDcgKzIzMTUsNyBAQCBz
dWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICJu
YW1lc3BhY2UgV2ViQ29yZSB7XG5cbiIpOwogICAgIG15ICRwYXJlbnRDbGFzc0luZm8gPSAkcGFy
ZW50Q2xhc3MgPyAiJiR7cGFyZW50Q2xhc3N9OjppbmZvIiA6ICIwIjsKICAgICBwdXNoKEBpbXBs
Q29udGVudERlY2xzLCAiV3JhcHBlclR5cGVJbmZvICR7Y2xhc3NOYW1lfTo6aW5mbyA9IHsgJHtj
bGFzc05hbWV9OjpHZXRUZW1wbGF0ZSwgJHtjbGFzc05hbWV9OjpkZXJlZk9iamVjdCwgJHt0b0Fj
dGl2ZX0sICR7cGFyZW50Q2xhc3NJbmZvfSB9O1xuXG4iKTsgICAKLSAgICBwdXNoKEBpbXBsQ29u
dGVudERlY2xzLCAibmFtZXNwYWNlICR7aW50ZXJmYWNlTmFtZX1JbnRlcm5hbCB7XG5cbiIpOwor
ICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICJuYW1lc3BhY2UgJHtpbnRlcmZhY2VOYW1lfVY4
SW50ZXJuYWwge1xuXG4iKTsKICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAidGVtcGxhdGUg
PHR5cGVuYW1lIFQ+IHZvaWQgVjhfVVNFKFQpIHsgfVxuXG4iKTsKIAogICAgIG15ICRoYXNDb25z
dHJ1Y3RvcnMgPSAwOwpAQCAtMjUxMCw3ICsyNTEwLDcgQEAgRU5ECiAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAkY29kZUdlbmVyYXRvci0+R2VuZXJhdGVDb21waWxlVGltZUNoZWNrRm9yRW51
bXNJZk5lZWRlZCgkZGF0YU5vZGUpKTsKICAgICB9CiAKLSAgICBwdXNoKEBpbXBsQ29udGVudERl
Y2xzLCAifSAvLyBuYW1lc3BhY2UgJHtpbnRlcmZhY2VOYW1lfUludGVybmFsXG5cbiIpOworICAg
IHB1c2goQGltcGxDb250ZW50RGVjbHMsICJ9IC8vIG5hbWVzcGFjZSAke2ludGVyZmFjZU5hbWV9
VjhJbnRlcm5hbFxuXG4iKTsKIAogICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRl
cy0+eyJOYW1lZENvbnN0cnVjdG9yIn0gJiYgISgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRl
cy0+eyJWOEN1c3RvbUNvbnN0cnVjdG9yIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiQ3VzdG9tQ29uc3RydWN0b3IifSkpIHsKICAgICAgICAgR2VuZXJhdGVOYW1lZENvbnN0
cnVjdG9yQ2FsbGJhY2soJGRhdGFOb2RlLT5jb25zdHJ1Y3RvciwgJGRhdGFOb2RlLCAkaW50ZXJm
YWNlTmFtZSk7CkBAIC0yNjk4LDcgKzI2OTgsNyBAQCBFTkQKICAgICAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCA8PEVORCk7CiAKICAgICAvLyAkY29tbWVudEluZm8KLSAgICAke2NvbmRpdGlv
bmFsfSR0ZW1wbGF0ZS0+U2V0QWNjZXNzb3Iodjg6OlN0cmluZzo6TmV3KCIkbmFtZSIpLCAke2lu
dGVyZmFjZU5hbWV9SW50ZXJuYWw6OiR7bmFtZX1BdHRyR2V0dGVyLCAwLCB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4oKSwgdjg6OkFMTF9DQU5fUkVBRCwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0
cmlidXRlPigkcHJvcGVydHlfYXR0cmlidXRlcykpOworICAgICR7Y29uZGl0aW9uYWx9JHRlbXBs
YXRlLT5TZXRBY2Nlc3Nvcih2ODo6U3RyaW5nOjpOZXcoIiRuYW1lIiksICR7aW50ZXJmYWNlTmFt
ZX1WOEludGVybmFsOjoke25hbWV9QXR0ckdldHRlciwgMCwgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
KCksIHY4OjpBTExfQ0FOX1JFQUQsIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4o
JHByb3BlcnR5X2F0dHJpYnV0ZXMpKTsKIEVORAogICAgICAgICAgICAgJG51bV9jYWxsYmFja3Mr
KzsKICAgICAgICAgICAgIG5leHQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136698</attachid>
            <date>2012-04-11 10:48:59 -0700</date>
            <delta_ts>2012-04-11 10:54:15 -0700</delta_ts>
            <desc>regenerated bindings test results</desc>
            <filename>v8-internal-2.patch</filename>
            <type>text/plain</type>
            <size>76802</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMzg3MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA0LTExICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBWOCBiaW5kaW5ncyBhcmUgcG9s
bHV0aW5nIFdlYkNvcmUgbmFtZXNwYWNlIHdpdGggb3Zlcmx5IGdlbmVyaWMgRm9vSW50ZXJuYWwg
bmFtZXNwYWNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODM2OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBDYWxsIHRoZW0gRm9vVjhJbnRlcm5hbCBpbnN0ZWFkLgorCisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG06CisgICAgICAgIChHZXRGdW5jdGlvblRlbXBsYXRl
Q2FsbGJhY2tOYW1lKToKKyAgICAgICAgKEdlbmVyYXRlU2luZ2xlQmF0Y2hlZEF0dHJpYnV0ZSk6
CisgICAgICAgIChHZW5lcmF0ZUltcGxlbWVudGF0aW9uKToKKwogMjAxMi0wNC0xMSAgQWRyaWVu
bmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgogCiAgICAgICAgIFtjaHJvbWl1bV0gRHJhdyBt
aXNzaW5nIGxheWVyIHRpbGUgY2hlY2tlcmJvYXJkcyBhcyBjaGVja2VyYm9hcmRzCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5w
bQkocmV2aXNpb24gMTEzODUxKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9yVjgucG0JKHdvcmtpbmcgY29weSkKQEAgLTEyMDYsNyArMTIwNiw3IEBAIHN1
YiBHZXRGdW5jdGlvblRlbXBsYXRlQ2FsbGJhY2tOYW1lCiAgICAgICAgIH0KICAgICAgICAgcmV0
dXJuICJWOCR7aW50ZXJmYWNlTmFtZX06OiR7bmFtZX1DYWxsYmFjayI7CiAgICAgfSBlbHNlIHsK
LSAgICAgICAgcmV0dXJuICIke2ludGVyZmFjZU5hbWV9SW50ZXJuYWw6OiR7bmFtZX1DYWxsYmFj
ayI7CisgICAgICAgIHJldHVybiAiJHtpbnRlcmZhY2VOYW1lfVY4SW50ZXJuYWw6OiR7bmFtZX1D
YWxsYmFjayI7CiAgICAgfQogfQogCkBAIC0yMDQ0LDE1ICsyMDQ0LDE1IEBAIHN1YiBHZW5lcmF0
ZVNpbmdsZUJhdGNoZWRBdHRyaWJ1dGUKICAgICAgICAgICAgICRnZXR0ZXIgPSAiVjgke2N1c3Rv
bUFjY2Vzc29yfUFjY2Vzc29yR2V0dGVyIjsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAg
ICRkYXRhID0gIiZWOCR7Y29uc3RydWN0b3JUeXBlfTo6aW5mbyI7Ci0gICAgICAgICAgICAkZ2V0
dGVyID0gIiR7aW50ZXJmYWNlTmFtZX1JbnRlcm5hbDo6JHtpbnRlcmZhY2VOYW1lfUNvbnN0cnVj
dG9yR2V0dGVyIjsKKyAgICAgICAgICAgICRnZXR0ZXIgPSAiJHtpbnRlcmZhY2VOYW1lfVY4SW50
ZXJuYWw6OiR7aW50ZXJmYWNlTmFtZX1Db25zdHJ1Y3RvckdldHRlciI7CiAgICAgICAgIH0KICAg
ICAgICAgJHNldHRlciA9ICIwIjsKICAgICAgICAgJHByb3BBdHRyID0gInY4OjpSZWFkT25seSI7
CiAKICAgICB9IGVsc2UgewogICAgICAgICAjIERlZmF1bHQgR2V0dGVyIGFuZCBTZXR0ZXIKLSAg
ICAgICAgJGdldHRlciA9ICIke2ludGVyZmFjZU5hbWV9SW50ZXJuYWw6OiR7YXR0ck5hbWV9QXR0
ckdldHRlciI7Ci0gICAgICAgICRzZXR0ZXIgPSAiJHtpbnRlcmZhY2VOYW1lfUludGVybmFsOjok
e2F0dHJOYW1lfUF0dHJTZXR0ZXIiOworICAgICAgICAkZ2V0dGVyID0gIiR7aW50ZXJmYWNlTmFt
ZX1WOEludGVybmFsOjoke2F0dHJOYW1lfUF0dHJHZXR0ZXIiOworICAgICAgICAkc2V0dGVyID0g
IiR7aW50ZXJmYWNlTmFtZX1WOEludGVybmFsOjoke2F0dHJOYW1lfUF0dHJTZXR0ZXIiOwogCiAg
ICAgICAgICMgQ3VzdG9tIFNldHRlcgogICAgICAgICBpZiAoJGF0dHJFeHQtPnsiQ3VzdG9tU2V0
dGVyIn0gfHwgJGF0dHJFeHQtPnsiVjhDdXN0b21TZXR0ZXIifSB8fCAkYXR0ckV4dC0+eyJDdXN0
b20ifSB8fCAkYXR0ckV4dC0+eyJWOEN1c3RvbSJ9KSB7CkBAIC0yMzE1LDcgKzIzMTUsNyBAQCBz
dWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICJu
YW1lc3BhY2UgV2ViQ29yZSB7XG5cbiIpOwogICAgIG15ICRwYXJlbnRDbGFzc0luZm8gPSAkcGFy
ZW50Q2xhc3MgPyAiJiR7cGFyZW50Q2xhc3N9OjppbmZvIiA6ICIwIjsKICAgICBwdXNoKEBpbXBs
Q29udGVudERlY2xzLCAiV3JhcHBlclR5cGVJbmZvICR7Y2xhc3NOYW1lfTo6aW5mbyA9IHsgJHtj
bGFzc05hbWV9OjpHZXRUZW1wbGF0ZSwgJHtjbGFzc05hbWV9OjpkZXJlZk9iamVjdCwgJHt0b0Fj
dGl2ZX0sICR7cGFyZW50Q2xhc3NJbmZvfSB9O1xuXG4iKTsgICAKLSAgICBwdXNoKEBpbXBsQ29u
dGVudERlY2xzLCAibmFtZXNwYWNlICR7aW50ZXJmYWNlTmFtZX1JbnRlcm5hbCB7XG5cbiIpOwor
ICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICJuYW1lc3BhY2UgJHtpbnRlcmZhY2VOYW1lfVY4
SW50ZXJuYWwge1xuXG4iKTsKICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAidGVtcGxhdGUg
PHR5cGVuYW1lIFQ+IHZvaWQgVjhfVVNFKFQpIHsgfVxuXG4iKTsKIAogICAgIG15ICRoYXNDb25z
dHJ1Y3RvcnMgPSAwOwpAQCAtMjUxMCw3ICsyNTEwLDcgQEAgRU5ECiAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAkY29kZUdlbmVyYXRvci0+R2VuZXJhdGVDb21waWxlVGltZUNoZWNrRm9yRW51
bXNJZk5lZWRlZCgkZGF0YU5vZGUpKTsKICAgICB9CiAKLSAgICBwdXNoKEBpbXBsQ29udGVudERl
Y2xzLCAifSAvLyBuYW1lc3BhY2UgJHtpbnRlcmZhY2VOYW1lfUludGVybmFsXG5cbiIpOworICAg
IHB1c2goQGltcGxDb250ZW50RGVjbHMsICJ9IC8vIG5hbWVzcGFjZSAke2ludGVyZmFjZU5hbWV9
VjhJbnRlcm5hbFxuXG4iKTsKIAogICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRl
cy0+eyJOYW1lZENvbnN0cnVjdG9yIn0gJiYgISgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRl
cy0+eyJWOEN1c3RvbUNvbnN0cnVjdG9yIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiQ3VzdG9tQ29uc3RydWN0b3IifSkpIHsKICAgICAgICAgR2VuZXJhdGVOYW1lZENvbnN0
cnVjdG9yQ2FsbGJhY2soJGRhdGFOb2RlLT5jb25zdHJ1Y3RvciwgJGRhdGFOb2RlLCAkaW50ZXJm
YWNlTmFtZSk7CkBAIC0yNjk4LDcgKzI2OTgsNyBAQCBFTkQKICAgICAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCA8PEVORCk7CiAKICAgICAvLyAkY29tbWVudEluZm8KLSAgICAke2NvbmRpdGlv
bmFsfSR0ZW1wbGF0ZS0+U2V0QWNjZXNzb3Iodjg6OlN0cmluZzo6TmV3KCIkbmFtZSIpLCAke2lu
dGVyZmFjZU5hbWV9SW50ZXJuYWw6OiR7bmFtZX1BdHRyR2V0dGVyLCAwLCB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4oKSwgdjg6OkFMTF9DQU5fUkVBRCwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0
cmlidXRlPigkcHJvcGVydHlfYXR0cmlidXRlcykpOworICAgICR7Y29uZGl0aW9uYWx9JHRlbXBs
YXRlLT5TZXRBY2Nlc3Nvcih2ODo6U3RyaW5nOjpOZXcoIiRuYW1lIiksICR7aW50ZXJmYWNlTmFt
ZX1WOEludGVybmFsOjoke25hbWV9QXR0ckdldHRlciwgMCwgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
KCksIHY4OjpBTExfQ0FOX1JFQUQsIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4o
JHByb3BlcnR5X2F0dHJpYnV0ZXMpKTsKIEVORAogICAgICAgICAgICAgJG51bV9jYWxsYmFja3Mr
KzsKICAgICAgICAgICAgIG5leHQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5jcHAJKHJldmlzaW9u
IDExMzg1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZs
b2F0NjRBcnJheS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDcgKzQ0LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBXcmFwcGVyVHlwZUluZm8gVjhGbG9hdDY0QXJyYXk6OmluZm8gPSB7IFY4
RmxvYXQ2NEFycmF5OjpHZXRUZW1wbGF0ZSwgVjhGbG9hdDY0QXJyYXk6OmRlcmVmT2JqZWN0LCAw
LCAmVjhBcnJheUJ1ZmZlclZpZXc6OmluZm8gfTsKIAotbmFtZXNwYWNlIEZsb2F0NjRBcnJheUlu
dGVybmFsIHsKK25hbWVzcGFjZSBGbG9hdDY0QXJyYXlWOEludGVybmFsIHsKIAogdGVtcGxhdGUg
PHR5cGVuYW1lIFQ+IHZvaWQgVjhfVVNFKFQpIHsgfQogCkBAIC01OCw3ICs1OCw3IEBAIHN0YXRp
YyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gZm9vQ2FsbGJhY2sKICAgICByZXR1cm4gdG9WOChpbXAt
PmZvbyhhcnJheSkpOwogfQogCi19IC8vIG5hbWVzcGFjZSBGbG9hdDY0QXJyYXlJbnRlcm5hbAor
fSAvLyBuYW1lc3BhY2UgRmxvYXQ2NEFycmF5VjhJbnRlcm5hbAogCiBzdGF0aWMgdjg6OlBlcnNp
c3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IENvbmZpZ3VyZVY4RmxvYXQ2NEFycmF5VGVtcGxh
dGUodjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IGRlc2MpCiB7CkBAIC04MCw3
ICs4MCw3IEBAIHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGEKICAgICBj
b25zdCBpbnQgZm9vQXJnYyA9IDE7CiAgICAgdjg6OkhhbmRsZTx2ODo6RnVuY3Rpb25UZW1wbGF0
ZT4gZm9vQXJndltmb29BcmdjXSA9IHsgVjhGbG9hdDMyQXJyYXk6OkdldFJhd1RlbXBsYXRlKCkg
fTsKICAgICB2ODo6SGFuZGxlPHY4OjpTaWduYXR1cmU+IGZvb1NpZ25hdHVyZSA9IHY4OjpTaWdu
YXR1cmU6Ok5ldyhkZXNjLCBmb29BcmdjLCBmb29Bcmd2KTsKLSAgICBwcm90by0+U2V0KHY4OjpT
dHJpbmc6Ok5ldygiZm9vIiksIHY4OjpGdW5jdGlvblRlbXBsYXRlOjpOZXcoRmxvYXQ2NEFycmF5
SW50ZXJuYWw6OmZvb0NhbGxiYWNrLCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKSwgZm9vU2lnbmF0
dXJlKSk7CisgICAgcHJvdG8tPlNldCh2ODo6U3RyaW5nOjpOZXcoImZvbyIpLCB2ODo6RnVuY3Rp
b25UZW1wbGF0ZTo6TmV3KEZsb2F0NjRBcnJheVY4SW50ZXJuYWw6OmZvb0NhbGxiYWNrLCB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4oKSwgZm9vU2lnbmF0dXJlKSk7CiAKICAgICAvLyBDdXN0b20gdG9T
dHJpbmcgdGVtcGxhdGUKICAgICBkZXNjLT5TZXQoZ2V0VG9TdHJpbmdOYW1lKCksIGdldFRvU3Ry
aW5nVGVtcGxhdGUoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcAko
cmV2aXNpb24gMTEzODUxKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2LDcgKzM2
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXcmFwcGVyVHlwZUluZm8gVjhUZXN0QWN0aXZl
RE9NT2JqZWN0OjppbmZvID0geyBWOFRlc3RBY3RpdmVET01PYmplY3Q6OkdldFRlbXBsYXRlLCBW
OFRlc3RBY3RpdmVET01PYmplY3Q6OmRlcmVmT2JqZWN0LCAwLCAwIH07CiAKLW5hbWVzcGFjZSBU
ZXN0QWN0aXZlRE9NT2JqZWN0SW50ZXJuYWwgeworbmFtZXNwYWNlIFRlc3RBY3RpdmVET01PYmpl
Y3RWOEludGVybmFsIHsKIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHZvaWQgVjhfVVNFKFQpIHsg
fQogCkBAIC03NCw3ICs3NCw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gcG9zdE1l
c3NhZ2UKIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gcG9zdE1lc3NhZ2VBdHRyR2V0dGVy
KHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZv
KQogewogICAgIElOQ19TVEFUUygiRE9NLlRlc3RBY3RpdmVET01PYmplY3QucG9zdE1lc3NhZ2Uu
X2dldCIpOwotICAgIHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4g
cHJpdmF0ZVRlbXBsYXRlID0gdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+OjpO
ZXcodjg6OkZ1bmN0aW9uVGVtcGxhdGU6Ok5ldyhUZXN0QWN0aXZlRE9NT2JqZWN0SW50ZXJuYWw6
OnBvc3RNZXNzYWdlQ2FsbGJhY2ssIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpLCB2ODo6U2lnbmF0
dXJlOjpOZXcoVjhUZXN0QWN0aXZlRE9NT2JqZWN0OjpHZXRSYXdUZW1wbGF0ZSgpKSkpOworICAg
IHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gcHJpdmF0ZVRlbXBs
YXRlID0gdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+OjpOZXcodjg6OkZ1bmN0
aW9uVGVtcGxhdGU6Ok5ldyhUZXN0QWN0aXZlRE9NT2JqZWN0VjhJbnRlcm5hbDo6cG9zdE1lc3Nh
Z2VDYWxsYmFjaywgdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCksIHY4OjpTaWduYXR1cmU6Ok5ldyhW
OFRlc3RBY3RpdmVET01PYmplY3Q6OkdldFJhd1RlbXBsYXRlKCkpKSk7CiAgICAgdjg6OkhhbmRs
ZTx2ODo6T2JqZWN0PiBob2xkZXIgPSBWOERPTVdyYXBwZXI6Omxvb2t1cERPTVdyYXBwZXIoVjhU
ZXN0QWN0aXZlRE9NT2JqZWN0OjpHZXRUZW1wbGF0ZSgpLCBpbmZvLlRoaXMoKSk7CiAgICAgaWYg
KGhvbGRlci5Jc0VtcHR5KCkpIHsKICAgICAgICAgLy8gY2FuIG9ubHkgcmVhY2ggaGVyZSBieSAn
b2JqZWN0Ll9fcHJvdG9fXy5mdW5jJywgYW5kIGl0IHNob3VsZCBwYXNzZWQKQEAgLTgzLDE3ICs4
MywxNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHBvc3RNZXNzYWdlCiAgICAgfQog
ICAgIFRlc3RBY3RpdmVET01PYmplY3QqIGltcCA9IFY4VGVzdEFjdGl2ZURPTU9iamVjdDo6dG9O
YXRpdmUoaG9sZGVyKTsKICAgICBpZiAoIVY4QmluZGluZ1NlY3VyaXR5OjpjYW5BY2Nlc3NGcmFt
ZShWOEJpbmRpbmdTdGF0ZTo6T25seSgpLCBpbXAtPmZyYW1lKCksIGZhbHNlKSkgewotICAgICAg
ICBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IHNoYXJlZFRlbXBs
YXRlID0gdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+OjpOZXcodjg6OkZ1bmN0
aW9uVGVtcGxhdGU6Ok5ldyhUZXN0QWN0aXZlRE9NT2JqZWN0SW50ZXJuYWw6OnBvc3RNZXNzYWdl
Q2FsbGJhY2ssIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpLCB2ODo6U2lnbmF0dXJlOjpOZXcoVjhU
ZXN0QWN0aXZlRE9NT2JqZWN0OjpHZXRSYXdUZW1wbGF0ZSgpKSkpOworICAgICAgICBzdGF0aWMg
djg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IHNoYXJlZFRlbXBsYXRlID0gdjg6
OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+OjpOZXcodjg6OkZ1bmN0aW9uVGVtcGxh
dGU6Ok5ldyhUZXN0QWN0aXZlRE9NT2JqZWN0VjhJbnRlcm5hbDo6cG9zdE1lc3NhZ2VDYWxsYmFj
aywgdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCksIHY4OjpTaWduYXR1cmU6Ok5ldyhWOFRlc3RBY3Rp
dmVET01PYmplY3Q6OkdldFJhd1RlbXBsYXRlKCkpKSk7CiAgICAgICAgIHJldHVybiBzaGFyZWRU
ZW1wbGF0ZS0+R2V0RnVuY3Rpb24oKTsKICAgICB9CiAgICAgcmV0dXJuIHByaXZhdGVUZW1wbGF0
ZS0+R2V0RnVuY3Rpb24oKTsKIH0KIAotfSAvLyBuYW1lc3BhY2UgVGVzdEFjdGl2ZURPTU9iamVj
dEludGVybmFsCit9IC8vIG5hbWVzcGFjZSBUZXN0QWN0aXZlRE9NT2JqZWN0VjhJbnRlcm5hbAog
CiBzdGF0aWMgY29uc3QgQmF0Y2hlZEF0dHJpYnV0ZSBUZXN0QWN0aXZlRE9NT2JqZWN0QXR0cnNb
XSA9IHsKICAgICAvLyBBdHRyaWJ1dGUgJ2V4Y2l0aW5nQXR0cicgKFR5cGU6ICdyZWFkb25seSBh
dHRyaWJ1dGUnIEV4dEF0dHI6ICcnKQotICAgIHsiZXhjaXRpbmdBdHRyIiwgVGVzdEFjdGl2ZURP
TU9iamVjdEludGVybmFsOjpleGNpdGluZ0F0dHJBdHRyR2V0dGVyLCAwLCAwIC8qIG5vIGRhdGEg
Ki8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19j
YXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICov
fSwKKyAgICB7ImV4Y2l0aW5nQXR0ciIsIFRlc3RBY3RpdmVET01PYmplY3RWOEludGVybmFsOjpl
eGNpdGluZ0F0dHJBdHRyR2V0dGVyLCAwLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4
OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0
dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKIH07CiAKIHN0YXRpYyB2
ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gQ29uZmlndXJlVjhUZXN0QWN0aXZl
RE9NT2JqZWN0VGVtcGxhdGUodjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IGRl
c2MpCkBAIC0xMTUsMTAgKzExNSwxMCBAQCBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0
aW9uVGVtcGxhCiAgICAgY29uc3QgaW50IGV4Y2l0aW5nRnVuY3Rpb25BcmdjID0gMTsKICAgICB2
ODo6SGFuZGxlPHY4OjpGdW5jdGlvblRlbXBsYXRlPiBleGNpdGluZ0Z1bmN0aW9uQXJndltleGNp
dGluZ0Z1bmN0aW9uQXJnY10gPSB7IFY4Tm9kZTo6R2V0UmF3VGVtcGxhdGUoKSB9OwogICAgIHY4
OjpIYW5kbGU8djg6OlNpZ25hdHVyZT4gZXhjaXRpbmdGdW5jdGlvblNpZ25hdHVyZSA9IHY4OjpT
aWduYXR1cmU6Ok5ldyhkZXNjLCBleGNpdGluZ0Z1bmN0aW9uQXJnYywgZXhjaXRpbmdGdW5jdGlv
bkFyZ3YpOwotICAgIHByb3RvLT5TZXQodjg6OlN0cmluZzo6TmV3KCJleGNpdGluZ0Z1bmN0aW9u
IiksIHY4OjpGdW5jdGlvblRlbXBsYXRlOjpOZXcoVGVzdEFjdGl2ZURPTU9iamVjdEludGVybmFs
OjpleGNpdGluZ0Z1bmN0aW9uQ2FsbGJhY2ssIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpLCBleGNp
dGluZ0Z1bmN0aW9uU2lnbmF0dXJlKSk7CisgICAgcHJvdG8tPlNldCh2ODo6U3RyaW5nOjpOZXco
ImV4Y2l0aW5nRnVuY3Rpb24iKSwgdjg6OkZ1bmN0aW9uVGVtcGxhdGU6Ok5ldyhUZXN0QWN0aXZl
RE9NT2JqZWN0VjhJbnRlcm5hbDo6ZXhjaXRpbmdGdW5jdGlvbkNhbGxiYWNrLCB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4oKSwgZXhjaXRpbmdGdW5jdGlvblNpZ25hdHVyZSkpOwogCiAgICAgLy8gRnVu
Y3Rpb24gJ3Bvc3RNZXNzYWdlJyAoRXh0QXR0cjogJ0RvTm90Q2hlY2tTZWN1cml0eScpCi0gICAg
cHJvdG8tPlNldEFjY2Vzc29yKHY4OjpTdHJpbmc6Ok5ldygicG9zdE1lc3NhZ2UiKSwgVGVzdEFj
dGl2ZURPTU9iamVjdEludGVybmFsOjpwb3N0TWVzc2FnZUF0dHJHZXR0ZXIsIDAsIHY4OjpIYW5k
bGU8djg6OlZhbHVlPigpLCB2ODo6QUxMX0NBTl9SRUFELCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVy
dHlBdHRyaWJ1dGU+KHY4OjpEb250RGVsZXRlIHwgdjg6OlJlYWRPbmx5KSk7CisgICAgcHJvdG8t
PlNldEFjY2Vzc29yKHY4OjpTdHJpbmc6Ok5ldygicG9zdE1lc3NhZ2UiKSwgVGVzdEFjdGl2ZURP
TU9iamVjdFY4SW50ZXJuYWw6OnBvc3RNZXNzYWdlQXR0ckdldHRlciwgMCwgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+KCksIHY4OjpBTExfQ0FOX1JFQUQsIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0
dHJpYnV0ZT4odjg6OkRvbnREZWxldGUgfCB2ODo6UmVhZE9ubHkpKTsKIAogICAgIC8vIEN1c3Rv
bSB0b1N0cmluZyB0ZW1wbGF0ZQogICAgIGRlc2MtPlNldChnZXRUb1N0cmluZ05hbWUoKSwgZ2V0
VG9TdHJpbmdUZW1wbGF0ZSgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdldHRlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0
dGVyLmNwcAkocmV2aXNpb24gMTEzODUxKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzUsNyArMzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdyYXBwZXJUeXBlSW5mbyBW
OFRlc3RDdXN0b21OYW1lZEdldHRlcjo6aW5mbyA9IHsgVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXI6
OkdldFRlbXBsYXRlLCBWOFRlc3RDdXN0b21OYW1lZEdldHRlcjo6ZGVyZWZPYmplY3QsIDAsIDAg
fTsKIAotbmFtZXNwYWNlIFRlc3RDdXN0b21OYW1lZEdldHRlckludGVybmFsIHsKK25hbWVzcGFj
ZSBUZXN0Q3VzdG9tTmFtZWRHZXR0ZXJWOEludGVybmFsIHsKIAogdGVtcGxhdGUgPHR5cGVuYW1l
IFQ+IHZvaWQgVjhfVVNFKFQpIHsgfQogCkBAIC01MCwxMCArNTAsMTAgQEAgc3RhdGljIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBhbm90aGVyRnVuYwogICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4oKTsKIH0KIAotfSAvLyBuYW1lc3BhY2UgVGVzdEN1c3RvbU5hbWVkR2V0dGVySW50ZXJu
YWwKK30gLy8gbmFtZXNwYWNlIFRlc3RDdXN0b21OYW1lZEdldHRlclY4SW50ZXJuYWwKIAogc3Rh
dGljIGNvbnN0IEJhdGNoZWRDYWxsYmFjayBUZXN0Q3VzdG9tTmFtZWRHZXR0ZXJDYWxsYmFja3Nb
XSA9IHsKLSAgICB7ImFub3RoZXJGdW5jdGlvbiIsIFRlc3RDdXN0b21OYW1lZEdldHRlckludGVy
bmFsOjphbm90aGVyRnVuY3Rpb25DYWxsYmFja30sCisgICAgeyJhbm90aGVyRnVuY3Rpb24iLCBU
ZXN0Q3VzdG9tTmFtZWRHZXR0ZXJWOEludGVybmFsOjphbm90aGVyRnVuY3Rpb25DYWxsYmFja30s
CiB9OwogCiBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IENvbmZp
Z3VyZVY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyVGVtcGxhdGUodjg6OlBlcnNpc3RlbnQ8djg6OkZ1
bmN0aW9uVGVtcGxhdGU+IGRlc2MpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50Q29uc3RydWN0
b3IuY3BwCShyZXZpc2lvbiAxMTM4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM1LDcgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXcmFwcGVyVHlwZUluZm8gVjhU
ZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6aW5mbyA9IHsgVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6R2V0
VGVtcGxhdGUsIFY4VGVzdEV2ZW50Q29uc3RydWN0b3I6OmRlcmVmT2JqZWN0LCAwLCAwIH07CiAK
LW5hbWVzcGFjZSBUZXN0RXZlbnRDb25zdHJ1Y3RvckludGVybmFsIHsKK25hbWVzcGFjZSBUZXN0
RXZlbnRDb25zdHJ1Y3RvclY4SW50ZXJuYWwgewogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gdm9p
ZCBWOF9VU0UoVCkgeyB9CiAKQEAgLTUzLDEzICs1MywxMyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IGF0dHIyQXR0ckdlCiAgICAgcmV0dXJuIHY4U3RyaW5nKGltcC0+YXR0cjIoKSk7
CiB9CiAKLX0gLy8gbmFtZXNwYWNlIFRlc3RFdmVudENvbnN0cnVjdG9ySW50ZXJuYWwKK30gLy8g
bmFtZXNwYWNlIFRlc3RFdmVudENvbnN0cnVjdG9yVjhJbnRlcm5hbAogCiBzdGF0aWMgY29uc3Qg
QmF0Y2hlZEF0dHJpYnV0ZSBUZXN0RXZlbnRDb25zdHJ1Y3RvckF0dHJzW10gPSB7CiAgICAgLy8g
QXR0cmlidXRlICdhdHRyMScgKFR5cGU6ICdyZWFkb25seSBhdHRyaWJ1dGUnIEV4dEF0dHI6ICcn
KQotICAgIHsiYXR0cjEiLCBUZXN0RXZlbnRDb25zdHJ1Y3RvckludGVybmFsOjphdHRyMUF0dHJH
ZXR0ZXIsIDAsIDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+
KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9u
ZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAorICAgIHsiYXR0cjEiLCBUZXN0RXZlbnRDb25zdHJ1
Y3RvclY4SW50ZXJuYWw6OmF0dHIxQXR0ckdldHRlciwgMCwgMCAvKiBubyBkYXRhICovLCBzdGF0
aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6
UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0YW5jZSAqL30sCiAgICAg
Ly8gQXR0cmlidXRlICdhdHRyMicgKFR5cGU6ICdyZWFkb25seSBhdHRyaWJ1dGUnIEV4dEF0dHI6
ICdJbml0aWFsaXplZEJ5RXZlbnRDb25zdHJ1Y3RvcicpCi0gICAgeyJhdHRyMiIsIFRlc3RFdmVu
dENvbnN0cnVjdG9ySW50ZXJuYWw6OmF0dHIyQXR0ckdldHRlciwgMCwgMCAvKiBubyBkYXRhICov
LCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0aWNfY2Fz
dDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0YW5jZSAqL30s
CisgICAgeyJhdHRyMiIsIFRlc3RFdmVudENvbnN0cnVjdG9yVjhJbnRlcm5hbDo6YXR0cjJBdHRy
R2V0dGVyLCAwLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9s
Pih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5v
bmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKIH07CiAKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBW
OFRlc3RFdmVudENvbnN0cnVjdG9yOjpjb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1
bWVudHMmIGFyZ3MpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0RXZlbnRUYXJnZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudFRhcmdldC5jcHAJKHJldmlzaW9uIDEx
Mzg1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RF
dmVudFRhcmdldC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBXcmFwcGVyVHlwZUluZm8gVjhUZXN0RXZlbnRUYXJnZXQ6OmluZm8gPSB7
IFY4VGVzdEV2ZW50VGFyZ2V0OjpHZXRUZW1wbGF0ZSwgVjhUZXN0RXZlbnRUYXJnZXQ6OmRlcmVm
T2JqZWN0LCAwLCAwIH07CiAKLW5hbWVzcGFjZSBUZXN0RXZlbnRUYXJnZXRJbnRlcm5hbCB7Citu
YW1lc3BhY2UgVGVzdEV2ZW50VGFyZ2V0VjhJbnRlcm5hbCB7CiAKIHRlbXBsYXRlIDx0eXBlbmFt
ZSBUPiB2b2lkIFY4X1VTRShUKSB7IH0KIApAQCAtMTAzLDEyICsxMDMsMTIgQEAgc3RhdGljIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBkaXNwYXRjaEV2ZQogICAgIHJldHVybiB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4oKTsKIH0KIAotfSAvLyBuYW1lc3BhY2UgVGVzdEV2ZW50VGFyZ2V0SW50ZXJuYWwK
K30gLy8gbmFtZXNwYWNlIFRlc3RFdmVudFRhcmdldFY4SW50ZXJuYWwKIAogc3RhdGljIGNvbnN0
IEJhdGNoZWRDYWxsYmFjayBUZXN0RXZlbnRUYXJnZXRDYWxsYmFja3NbXSA9IHsKLSAgICB7Iml0
ZW0iLCBUZXN0RXZlbnRUYXJnZXRJbnRlcm5hbDo6aXRlbUNhbGxiYWNrfSwKLSAgICB7ImFkZEV2
ZW50TGlzdGVuZXIiLCBUZXN0RXZlbnRUYXJnZXRJbnRlcm5hbDo6YWRkRXZlbnRMaXN0ZW5lckNh
bGxiYWNrfSwKLSAgICB7InJlbW92ZUV2ZW50TGlzdGVuZXIiLCBUZXN0RXZlbnRUYXJnZXRJbnRl
cm5hbDo6cmVtb3ZlRXZlbnRMaXN0ZW5lckNhbGxiYWNrfSwKKyAgICB7Iml0ZW0iLCBUZXN0RXZl
bnRUYXJnZXRWOEludGVybmFsOjppdGVtQ2FsbGJhY2t9LAorICAgIHsiYWRkRXZlbnRMaXN0ZW5l
ciIsIFRlc3RFdmVudFRhcmdldFY4SW50ZXJuYWw6OmFkZEV2ZW50TGlzdGVuZXJDYWxsYmFja30s
CisgICAgeyJyZW1vdmVFdmVudExpc3RlbmVyIiwgVGVzdEV2ZW50VGFyZ2V0VjhJbnRlcm5hbDo6
cmVtb3ZlRXZlbnRMaXN0ZW5lckNhbGxiYWNrfSwKIH07CiAKIHN0YXRpYyB2ODo6UGVyc2lzdGVu
dDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gQ29uZmlndXJlVjhUZXN0RXZlbnRUYXJnZXRUZW1wbGF0
ZSh2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gZGVzYykKQEAgLTEzMyw3ICsx
MzMsNyBAQCBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhCiAgICAgY29u
c3QgaW50IGRpc3BhdGNoRXZlbnRBcmdjID0gMTsKICAgICB2ODo6SGFuZGxlPHY4OjpGdW5jdGlv
blRlbXBsYXRlPiBkaXNwYXRjaEV2ZW50QXJndltkaXNwYXRjaEV2ZW50QXJnY10gPSB7IFY4RXZl
bnQ6OkdldFJhd1RlbXBsYXRlKCkgfTsKICAgICB2ODo6SGFuZGxlPHY4OjpTaWduYXR1cmU+IGRp
c3BhdGNoRXZlbnRTaWduYXR1cmUgPSB2ODo6U2lnbmF0dXJlOjpOZXcoZGVzYywgZGlzcGF0Y2hF
dmVudEFyZ2MsIGRpc3BhdGNoRXZlbnRBcmd2KTsKLSAgICBwcm90by0+U2V0KHY4OjpTdHJpbmc6
Ok5ldygiZGlzcGF0Y2hFdmVudCIpLCB2ODo6RnVuY3Rpb25UZW1wbGF0ZTo6TmV3KFRlc3RFdmVu
dFRhcmdldEludGVybmFsOjpkaXNwYXRjaEV2ZW50Q2FsbGJhY2ssIHY4OjpIYW5kbGU8djg6OlZh
bHVlPigpLCBkaXNwYXRjaEV2ZW50U2lnbmF0dXJlKSk7CisgICAgcHJvdG8tPlNldCh2ODo6U3Ry
aW5nOjpOZXcoImRpc3BhdGNoRXZlbnQiKSwgdjg6OkZ1bmN0aW9uVGVtcGxhdGU6Ok5ldyhUZXN0
RXZlbnRUYXJnZXRWOEludGVybmFsOjpkaXNwYXRjaEV2ZW50Q2FsbGJhY2ssIHY4OjpIYW5kbGU8
djg6OlZhbHVlPigpLCBkaXNwYXRjaEV2ZW50U2lnbmF0dXJlKSk7CiAKICAgICAvLyBDdXN0b20g
dG9TdHJpbmcgdGVtcGxhdGUKICAgICBkZXNjLT5TZXQoZ2V0VG9TdHJpbmdOYW1lKCksIGdldFRv
U3RyaW5nVGVtcGxhdGUoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmNwcAkocmV2aXNpb24g
MTEzODUxKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dEludGVyZmFjZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzLDcgKzQzLDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBXcmFwcGVyVHlwZUluZm8gVjhUZXN0SW50ZXJmYWNlOjppbmZvID0geyBW
OFRlc3RJbnRlcmZhY2U6OkdldFRlbXBsYXRlLCBWOFRlc3RJbnRlcmZhY2U6OmRlcmVmT2JqZWN0
LCBWOFRlc3RJbnRlcmZhY2U6OnRvQWN0aXZlRE9NT2JqZWN0LCAwIH07CiAKLW5hbWVzcGFjZSBU
ZXN0SW50ZXJmYWNlSW50ZXJuYWwgeworbmFtZXNwYWNlIFRlc3RJbnRlcmZhY2VWOEludGVybmFs
IHsKIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHZvaWQgVjhfVVNFKFQpIHsgfQogCkBAIC0xNTYs
MTYgKzE1NiwxNiBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHN1cHBsZW1lbnRhCiAK
ICNlbmRpZiAvLyBFTkFCTEUoQ29uZGl0aW9uMTEpIHx8IEVOQUJMRShDb25kaXRpb24xMikKIAot
fSAvLyBuYW1lc3BhY2UgVGVzdEludGVyZmFjZUludGVybmFsCit9IC8vIG5hbWVzcGFjZSBUZXN0
SW50ZXJmYWNlVjhJbnRlcm5hbAogCiBzdGF0aWMgY29uc3QgQmF0Y2hlZEF0dHJpYnV0ZSBUZXN0
SW50ZXJmYWNlQXR0cnNbXSA9IHsKICNpZiBFTkFCTEUoQ29uZGl0aW9uMTEpIHx8IEVOQUJMRShD
b25kaXRpb24xMikKICAgICAvLyBBdHRyaWJ1dGUgJ3N1cHBsZW1lbnRhbFN0cjEnIChUeXBlOiAn
cmVhZG9ubHkgYXR0cmlidXRlJyBFeHRBdHRyOiAnQ29uZGl0aW9uYWwgSW1wbGVtZW50ZWRCeScp
Ci0gICAgeyJzdXBwbGVtZW50YWxTdHIxIiwgVGVzdEludGVyZmFjZUludGVybmFsOjpzdXBwbGVt
ZW50YWxTdHIxQXR0ckdldHRlciwgMCwgMCAvKiBubyBkYXRhICovLCBzdGF0aWNfY2FzdDx2ODo6
QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRy
aWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0YW5jZSAqL30sCisgICAgeyJzdXBwbGVtZW50
YWxTdHIxIiwgVGVzdEludGVyZmFjZVY4SW50ZXJuYWw6OnN1cHBsZW1lbnRhbFN0cjFBdHRyR2V0
dGVyLCAwLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2
ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUp
LCAwIC8qIG9uIGluc3RhbmNlICovfSwKICNlbmRpZiAvLyBFTkFCTEUoQ29uZGl0aW9uMTEpIHx8
IEVOQUJMRShDb25kaXRpb24xMikKICNpZiBFTkFCTEUoQ29uZGl0aW9uMTEpIHx8IEVOQUJMRShD
b25kaXRpb24xMikKICAgICAvLyBBdHRyaWJ1dGUgJ3N1cHBsZW1lbnRhbFN0cjInIChUeXBlOiAn
YXR0cmlidXRlJyBFeHRBdHRyOiAnQ29uZGl0aW9uYWwgSW1wbGVtZW50ZWRCeScpCi0gICAgeyJz
dXBwbGVtZW50YWxTdHIyIiwgVGVzdEludGVyZmFjZUludGVybmFsOjpzdXBwbGVtZW50YWxTdHIy
QXR0ckdldHRlciwgVGVzdEludGVyZmFjZUludGVybmFsOjpzdXBwbGVtZW50YWxTdHIyQXR0clNl
dHRlciwgMCAvKiBubyBkYXRhICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6
OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwg
MCAvKiBvbiBpbnN0YW5jZSAqL30sCisgICAgeyJzdXBwbGVtZW50YWxTdHIyIiwgVGVzdEludGVy
ZmFjZVY4SW50ZXJuYWw6OnN1cHBsZW1lbnRhbFN0cjJBdHRyR2V0dGVyLCBUZXN0SW50ZXJmYWNl
VjhJbnRlcm5hbDo6c3VwcGxlbWVudGFsU3RyMkF0dHJTZXR0ZXIsIDAgLyogbm8gZGF0YSAqLywg
c3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8
djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAog
I2VuZGlmIC8vIEVOQUJMRShDb25kaXRpb24xMSkgfHwgRU5BQkxFKENvbmRpdGlvbjEyKQogI2lm
IEVOQUJMRShDb25kaXRpb24xMSkgfHwgRU5BQkxFKENvbmRpdGlvbjEyKQogICAgIC8vIEF0dHJp
YnV0ZSAnc3VwcGxlbWVudGFsU3RyMycgKFR5cGU6ICdhdHRyaWJ1dGUnIEV4dEF0dHI6ICdDdXN0
b21TZXR0ZXIgQ3VzdG9tR2V0dGVyIENvbmRpdGlvbmFsIEltcGxlbWVudGVkQnknKQpAQCAtMTcz
LDEzICsxNzMsMTMgQEAgc3RhdGljIGNvbnN0IEJhdGNoZWRBdHRyaWJ1dGUgVGVzdEludGVyZgog
I2VuZGlmIC8vIEVOQUJMRShDb25kaXRpb24xMSkgfHwgRU5BQkxFKENvbmRpdGlvbjEyKQogI2lm
IEVOQUJMRShDb25kaXRpb24xMSkgfHwgRU5BQkxFKENvbmRpdGlvbjEyKQogICAgIC8vIEF0dHJp
YnV0ZSAnc3VwcGxlbWVudGFsTm9kZScgKFR5cGU6ICdhdHRyaWJ1dGUnIEV4dEF0dHI6ICdDb25k
aXRpb25hbCBJbXBsZW1lbnRlZEJ5JykKLSAgICB7InN1cHBsZW1lbnRhbE5vZGUiLCBUZXN0SW50
ZXJmYWNlSW50ZXJuYWw6OnN1cHBsZW1lbnRhbE5vZGVBdHRyR2V0dGVyLCBUZXN0SW50ZXJmYWNl
SW50ZXJuYWw6OnN1cHBsZW1lbnRhbE5vZGVBdHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0
YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4
OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKKyAg
ICB7InN1cHBsZW1lbnRhbE5vZGUiLCBUZXN0SW50ZXJmYWNlVjhJbnRlcm5hbDo6c3VwcGxlbWVu
dGFsTm9kZUF0dHJHZXR0ZXIsIFRlc3RJbnRlcmZhY2VWOEludGVybmFsOjpzdXBwbGVtZW50YWxO
b2RlQXR0clNldHRlciwgMCAvKiBubyBkYXRhICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29u
dHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4
OjpOb25lKSwgMCAvKiBvbiBpbnN0YW5jZSAqL30sCiAjZW5kaWYgLy8gRU5BQkxFKENvbmRpdGlv
bjExKSB8fCBFTkFCTEUoQ29uZGl0aW9uMTIpCiB9OwogCiBzdGF0aWMgY29uc3QgQmF0Y2hlZENh
bGxiYWNrIFRlc3RJbnRlcmZhY2VDYWxsYmFja3NbXSA9IHsKICNpZiBFTkFCTEUoQ29uZGl0aW9u
MTEpIHx8IEVOQUJMRShDb25kaXRpb24xMikKLSAgICB7InN1cHBsZW1lbnRhbE1ldGhvZDEiLCBU
ZXN0SW50ZXJmYWNlSW50ZXJuYWw6OnN1cHBsZW1lbnRhbE1ldGhvZDFDYWxsYmFja30sCisgICAg
eyJzdXBwbGVtZW50YWxNZXRob2QxIiwgVGVzdEludGVyZmFjZVY4SW50ZXJuYWw6OnN1cHBsZW1l
bnRhbE1ldGhvZDFDYWxsYmFja30sCiAjZW5kaWYKICNpZiBFTkFCTEUoQ29uZGl0aW9uMTEpIHx8
IEVOQUJMRShDb25kaXRpb24xMikKICAgICB7InN1cHBsZW1lbnRhbE1ldGhvZDMiLCBWOFRlc3RJ
bnRlcmZhY2U6OnN1cHBsZW1lbnRhbE1ldGhvZDNDYWxsYmFja30sCkBAIC0yNTYsMTAgKzI1Niwx
MCBAQCBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhCiAgICAgdjg6Okhh
bmRsZTx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gc3VwcGxlbWVudGFsTWV0aG9kMkFyZ3Zbc3VwcGxl
bWVudGFsTWV0aG9kMkFyZ2NdID0geyB2ODo6SGFuZGxlPHY4OjpGdW5jdGlvblRlbXBsYXRlPigp
LCBWOFRlc3RPYmo6OkdldFJhd1RlbXBsYXRlKCkgfTsKICAgICB2ODo6SGFuZGxlPHY4OjpTaWdu
YXR1cmU+IHN1cHBsZW1lbnRhbE1ldGhvZDJTaWduYXR1cmUgPSB2ODo6U2lnbmF0dXJlOjpOZXco
ZGVzYywgc3VwcGxlbWVudGFsTWV0aG9kMkFyZ2MsIHN1cHBsZW1lbnRhbE1ldGhvZDJBcmd2KTsK
ICNpZiBFTkFCTEUoQ29uZGl0aW9uMTEpIHx8IEVOQUJMRShDb25kaXRpb24xMikKLSAgICBwcm90
by0+U2V0KHY4OjpTdHJpbmc6Ok5ldygic3VwcGxlbWVudGFsTWV0aG9kMiIpLCB2ODo6RnVuY3Rp
b25UZW1wbGF0ZTo6TmV3KFRlc3RJbnRlcmZhY2VJbnRlcm5hbDo6c3VwcGxlbWVudGFsTWV0aG9k
MkNhbGxiYWNrLCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKSwgc3VwcGxlbWVudGFsTWV0aG9kMlNp
Z25hdHVyZSkpOworICAgIHByb3RvLT5TZXQodjg6OlN0cmluZzo6TmV3KCJzdXBwbGVtZW50YWxN
ZXRob2QyIiksIHY4OjpGdW5jdGlvblRlbXBsYXRlOjpOZXcoVGVzdEludGVyZmFjZVY4SW50ZXJu
YWw6OnN1cHBsZW1lbnRhbE1ldGhvZDJDYWxsYmFjaywgdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCks
IHN1cHBsZW1lbnRhbE1ldGhvZDJTaWduYXR1cmUpKTsKICNlbmRpZiAvLyBFTkFCTEUoQ29uZGl0
aW9uMTEpIHx8IEVOQUJMRShDb25kaXRpb24xMikKICNpZiBFTkFCTEUoQ29uZGl0aW9uMTEpIHx8
IEVOQUJMRShDb25kaXRpb24xMikKLSAgICBkZXNjLT5TZXQodjg6OlN0cmluZzo6TmV3KCJzdXBw
bGVtZW50YWxNZXRob2Q0IiksIHY4OjpGdW5jdGlvblRlbXBsYXRlOjpOZXcoVGVzdEludGVyZmFj
ZUludGVybmFsOjpzdXBwbGVtZW50YWxNZXRob2Q0Q2FsbGJhY2ssIHY4OjpIYW5kbGU8djg6OlZh
bHVlPigpLCB2ODo6TG9jYWw8djg6OlNpZ25hdHVyZT4oKSkpOworICAgIGRlc2MtPlNldCh2ODo6
U3RyaW5nOjpOZXcoInN1cHBsZW1lbnRhbE1ldGhvZDQiKSwgdjg6OkZ1bmN0aW9uVGVtcGxhdGU6
Ok5ldyhUZXN0SW50ZXJmYWNlVjhJbnRlcm5hbDo6c3VwcGxlbWVudGFsTWV0aG9kNENhbGxiYWNr
LCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKSwgdjg6OkxvY2FsPHY4OjpTaWduYXR1cmU+KCkpKTsK
ICNlbmRpZiAvLyBFTkFCTEUoQ29uZGl0aW9uMTEpIHx8IEVOQUJMRShDb25kaXRpb24xMikKICAg
ICBiYXRjaENvbmZpZ3VyZUNvbnN0YW50cyhkZXNjLCBwcm90bywgVGVzdEludGVyZmFjZUNvbnN0
cywgV1RGX0FSUkFZX0xFTkdUSChUZXN0SW50ZXJmYWNlQ29uc3RzKSk7CiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAJKHJldmlzaW9uIDExMzg1
MSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdyYXBwZXJUeXBlSW5mbyBWOFRlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyOjppbmZvID0geyBWOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjpHZXRUZW1w
bGF0ZSwgVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6ZGVyZWZPYmplY3QsIDAsIDAgfTsK
IAotbmFtZXNwYWNlIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVySW50ZXJuYWwgeworbmFtZXNw
YWNlIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyVjhJbnRlcm5hbCB7CiAKIHRlbXBsYXRlIDx0
eXBlbmFtZSBUPiB2b2lkIFY4X1VTRShUKSB7IH0KIApAQCAtNTEsMTAgKzUxLDEwIEBAIHN0YXRp
YyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gbWV0aG9kQ2FsbGIKICAgICByZXR1cm4gdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+KCk7CiB9CiAKLX0gLy8gbmFtZXNwYWNlIFRlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVySW50ZXJuYWwKK30gLy8gbmFtZXNwYWNlIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
VjhJbnRlcm5hbAogCiBzdGF0aWMgY29uc3QgQmF0Y2hlZENhbGxiYWNrIFRlc3RNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyQ2FsbGJhY2tzW10gPSB7Ci0gICAgeyJtZXRob2QiLCBUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lckludGVybmFsOjptZXRob2RDYWxsYmFja30sCisgICAgeyJtZXRob2QiLCBU
ZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclY4SW50ZXJuYWw6Om1ldGhvZENhbGxiYWNrfSwKIH07
CiAKIHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gQ29uZmlndXJl
VjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclRlbXBsYXRlKHY4OjpQZXJzaXN0ZW50PHY4OjpG
dW5jdGlvblRlbXBsYXRlPiBkZXNjKQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0cnVj
dG9yLmNwcAkocmV2aXNpb24gMTEzODUxKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zNSwxMSArMzUsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXcmFwcGVyVHlwZUluZm8g
VjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6aW5mbyA9IHsgVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6
R2V0VGVtcGxhdGUsIFY4VGVzdE5hbWVkQ29uc3RydWN0b3I6OmRlcmVmT2JqZWN0LCBWOFRlc3RO
YW1lZENvbnN0cnVjdG9yOjp0b0FjdGl2ZURPTU9iamVjdCwgMCB9OwogCi1uYW1lc3BhY2UgVGVz
dE5hbWVkQ29uc3RydWN0b3JJbnRlcm5hbCB7CituYW1lc3BhY2UgVGVzdE5hbWVkQ29uc3RydWN0
b3JWOEludGVybmFsIHsKIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHZvaWQgVjhfVVNFKFQpIHsg
fQogCi19IC8vIG5hbWVzcGFjZSBUZXN0TmFtZWRDb25zdHJ1Y3RvckludGVybmFsCit9IC8vIG5h
bWVzcGFjZSBUZXN0TmFtZWRDb25zdHJ1Y3RvclY4SW50ZXJuYWwKIAogV3JhcHBlclR5cGVJbmZv
IFY4VGVzdE5hbWVkQ29uc3RydWN0b3JDb25zdHJ1Y3Rvcjo6aW5mbyA9IHsgVjhUZXN0TmFtZWRD
b25zdHJ1Y3RvckNvbnN0cnVjdG9yOjpHZXRUZW1wbGF0ZSwgVjhUZXN0TmFtZWRDb25zdHJ1Y3Rv
cjo6ZGVyZWZPYmplY3QsIFY4VGVzdE5hbWVkQ29uc3RydWN0b3I6OnRvQWN0aXZlRE9NT2JqZWN0
LCAwIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3ROb2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0Tm9kZS5jcHAJKHJldmlzaW9uIDExMzg1MSkKKysrIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROb2RlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzQsMTEgKzM0LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV3JhcHBlclR5
cGVJbmZvIFY4VGVzdE5vZGU6OmluZm8gPSB7IFY4VGVzdE5vZGU6OkdldFRlbXBsYXRlLCBWOFRl
c3ROb2RlOjpkZXJlZk9iamVjdCwgMCwgJlY4Tm9kZTo6aW5mbyB9OwogCi1uYW1lc3BhY2UgVGVz
dE5vZGVJbnRlcm5hbCB7CituYW1lc3BhY2UgVGVzdE5vZGVWOEludGVybmFsIHsKIAogdGVtcGxh
dGUgPHR5cGVuYW1lIFQ+IHZvaWQgVjhfVVNFKFQpIHsgfQogCi19IC8vIG5hbWVzcGFjZSBUZXN0
Tm9kZUludGVybmFsCit9IC8vIG5hbWVzcGFjZSBUZXN0Tm9kZVY4SW50ZXJuYWwKIAogdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IFY4VGVzdE5vZGU6OmNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6
OkFyZ3VtZW50cyYgYXJncykKIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwCShyZXZpc2lvbiAxMTM4NTEpCisr
KyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNzUsNyArNzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdy
YXBwZXJUeXBlSW5mbyBWOFRlc3RPYmo6OmluZm8gPSB7IFY4VGVzdE9iajo6R2V0VGVtcGxhdGUs
IFY4VGVzdE9iajo6ZGVyZWZPYmplY3QsIDAsIDAgfTsKIAotbmFtZXNwYWNlIFRlc3RPYmpJbnRl
cm5hbCB7CituYW1lc3BhY2UgVGVzdE9ialY4SW50ZXJuYWwgewogCiB0ZW1wbGF0ZSA8dHlwZW5h
bWUgVD4gdm9pZCBWOF9VU0UoVCkgeyB9CiAKQEAgLTE3OTMsMTc1ICsxNzkzLDE3NSBAQCBzdGF0
aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHN0cmljdEZ1bmN0CiAgICAgcmV0dXJuIHY4OjpIYW5k
bGU8djg6OlZhbHVlPigpOwogfQogCi19IC8vIG5hbWVzcGFjZSBUZXN0T2JqSW50ZXJuYWwKK30g
Ly8gbmFtZXNwYWNlIFRlc3RPYmpWOEludGVybmFsCiAKIHN0YXRpYyBjb25zdCBCYXRjaGVkQXR0
cmlidXRlIFRlc3RPYmpBdHRyc1tdID0gewogICAgIC8vIEF0dHJpYnV0ZSAncmVhZE9ubHlJbnRB
dHRyJyAoVHlwZTogJ3JlYWRvbmx5IGF0dHJpYnV0ZScgRXh0QXR0cjogJycpCi0gICAgeyJyZWFk
T25seUludEF0dHIiLCBUZXN0T2JqSW50ZXJuYWw6OnJlYWRPbmx5SW50QXR0ckF0dHJHZXR0ZXIs
IDAsIDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpE
RUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAg
Lyogb24gaW5zdGFuY2UgKi99LAorICAgIHsicmVhZE9ubHlJbnRBdHRyIiwgVGVzdE9ialY4SW50
ZXJuYWw6OnJlYWRPbmx5SW50QXR0ckF0dHJHZXR0ZXIsIDAsIDAgLyogbm8gZGF0YSAqLywgc3Rh
dGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6
OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAogICAg
IC8vIEF0dHJpYnV0ZSAncmVhZE9ubHlTdHJpbmdBdHRyJyAoVHlwZTogJ3JlYWRvbmx5IGF0dHJp
YnV0ZScgRXh0QXR0cjogJycpCi0gICAgeyJyZWFkT25seVN0cmluZ0F0dHIiLCBUZXN0T2JqSW50
ZXJuYWw6OnJlYWRPbmx5U3RyaW5nQXR0ckF0dHJHZXR0ZXIsIDAsIDAgLyogbm8gZGF0YSAqLywg
c3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8
djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAor
ICAgIHsicmVhZE9ubHlTdHJpbmdBdHRyIiwgVGVzdE9ialY4SW50ZXJuYWw6OnJlYWRPbmx5U3Ry
aW5nQXR0ckF0dHJHZXR0ZXIsIDAsIDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFj
Y2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmli
dXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAogICAgIC8vIEF0dHJpYnV0ZSAn
cmVhZE9ubHlUZXN0T2JqQXR0cicgKFR5cGU6ICdyZWFkb25seSBhdHRyaWJ1dGUnIEV4dEF0dHI6
ICcnKQotICAgIHsicmVhZE9ubHlUZXN0T2JqQXR0ciIsIFRlc3RPYmpJbnRlcm5hbDo6cmVhZE9u
bHlUZXN0T2JqQXR0ckF0dHJHZXR0ZXIsIDAsIDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8
djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5
QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAorICAgIHsicmVhZE9u
bHlUZXN0T2JqQXR0ciIsIFRlc3RPYmpWOEludGVybmFsOjpyZWFkT25seVRlc3RPYmpBdHRyQXR0
ckdldHRlciwgMCwgMCAvKiBubyBkYXRhICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJv
bD4odjg6OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpO
b25lKSwgMCAvKiBvbiBpbnN0YW5jZSAqL30sCiAgICAgLy8gQXR0cmlidXRlICdzaG9ydEF0dHIn
IChUeXBlOiAnYXR0cmlidXRlJyBFeHRBdHRyOiAnJykKLSAgICB7InNob3J0QXR0ciIsIFRlc3RP
YmpJbnRlcm5hbDo6c2hvcnRBdHRyQXR0ckdldHRlciwgVGVzdE9iakludGVybmFsOjpzaG9ydEF0
dHJBdHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250
cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6
Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKKyAgICB7InNob3J0QXR0ciIsIFRlc3RPYmpW
OEludGVybmFsOjpzaG9ydEF0dHJBdHRyR2V0dGVyLCBUZXN0T2JqVjhJbnRlcm5hbDo6c2hvcnRB
dHRyQXR0clNldHRlciwgMCAvKiBubyBkYXRhICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29u
dHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4
OjpOb25lKSwgMCAvKiBvbiBpbnN0YW5jZSAqL30sCiAgICAgLy8gQXR0cmlidXRlICd1bnNpZ25l
ZFNob3J0QXR0cicgKFR5cGU6ICdhdHRyaWJ1dGUnIEV4dEF0dHI6ICcnKQotICAgIHsidW5zaWdu
ZWRTaG9ydEF0dHIiLCBUZXN0T2JqSW50ZXJuYWw6OnVuc2lnbmVkU2hvcnRBdHRyQXR0ckdldHRl
ciwgVGVzdE9iakludGVybmFsOjp1bnNpZ25lZFNob3J0QXR0ckF0dHJTZXR0ZXIsIDAgLyogbm8g
ZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3Rh
dGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFu
Y2UgKi99LAorICAgIHsidW5zaWduZWRTaG9ydEF0dHIiLCBUZXN0T2JqVjhJbnRlcm5hbDo6dW5z
aWduZWRTaG9ydEF0dHJBdHRyR2V0dGVyLCBUZXN0T2JqVjhJbnRlcm5hbDo6dW5zaWduZWRTaG9y
dEF0dHJBdHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3ND
b250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4o
djg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKICAgICAvLyBBdHRyaWJ1dGUgJ2ludEF0
dHInIChUeXBlOiAnYXR0cmlidXRlJyBFeHRBdHRyOiAnJykKLSAgICB7ImludEF0dHIiLCBUZXN0
T2JqSW50ZXJuYWw6OmludEF0dHJBdHRyR2V0dGVyLCBUZXN0T2JqSW50ZXJuYWw6OmludEF0dHJB
dHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9s
Pih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5v
bmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKKyAgICB7ImludEF0dHIiLCBUZXN0T2JqVjhJbnRl
cm5hbDo6aW50QXR0ckF0dHJHZXR0ZXIsIFRlc3RPYmpWOEludGVybmFsOjppbnRBdHRyQXR0clNl
dHRlciwgMCAvKiBubyBkYXRhICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6
OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwg
MCAvKiBvbiBpbnN0YW5jZSAqL30sCiAgICAgLy8gQXR0cmlidXRlICdsb25nTG9uZ0F0dHInIChU
eXBlOiAnYXR0cmlidXRlJyBFeHRBdHRyOiAnJykKLSAgICB7ImxvbmdMb25nQXR0ciIsIFRlc3RP
YmpJbnRlcm5hbDo6bG9uZ0xvbmdBdHRyQXR0ckdldHRlciwgVGVzdE9iakludGVybmFsOjpsb25n
TG9uZ0F0dHJBdHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nl
c3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0
ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKKyAgICB7ImxvbmdMb25nQXR0ciIs
IFRlc3RPYmpWOEludGVybmFsOjpsb25nTG9uZ0F0dHJBdHRyR2V0dGVyLCBUZXN0T2JqVjhJbnRl
cm5hbDo6bG9uZ0xvbmdBdHRyQXR0clNldHRlciwgMCAvKiBubyBkYXRhICovLCBzdGF0aWNfY2Fz
dDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVy
dHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0YW5jZSAqL30sCiAgICAgLy8gQXR0
cmlidXRlICd1bnNpZ25lZExvbmdMb25nQXR0cicgKFR5cGU6ICdhdHRyaWJ1dGUnIEV4dEF0dHI6
ICcnKQotICAgIHsidW5zaWduZWRMb25nTG9uZ0F0dHIiLCBUZXN0T2JqSW50ZXJuYWw6OnVuc2ln
bmVkTG9uZ0xvbmdBdHRyQXR0ckdldHRlciwgVGVzdE9iakludGVybmFsOjp1bnNpZ25lZExvbmdM
b25nQXR0ckF0dHJTZXR0ZXIsIDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vz
c0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRl
Pih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAorICAgIHsidW5zaWduZWRMb25nTG9u
Z0F0dHIiLCBUZXN0T2JqVjhJbnRlcm5hbDo6dW5zaWduZWRMb25nTG9uZ0F0dHJBdHRyR2V0dGVy
LCBUZXN0T2JqVjhJbnRlcm5hbDo6dW5zaWduZWRMb25nTG9uZ0F0dHJBdHRyU2V0dGVyLCAwIC8q
IG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCks
IHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGlu
c3RhbmNlICovfSwKICAgICAvLyBBdHRyaWJ1dGUgJ3N0cmluZ0F0dHInIChUeXBlOiAnYXR0cmli
dXRlJyBFeHRBdHRyOiAnJykKLSAgICB7InN0cmluZ0F0dHIiLCBUZXN0T2JqSW50ZXJuYWw6OnN0
cmluZ0F0dHJBdHRyR2V0dGVyLCBUZXN0T2JqSW50ZXJuYWw6OnN0cmluZ0F0dHJBdHRyU2V0dGVy
LCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVG
QVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8q
IG9uIGluc3RhbmNlICovfSwKKyAgICB7InN0cmluZ0F0dHIiLCBUZXN0T2JqVjhJbnRlcm5hbDo6
c3RyaW5nQXR0ckF0dHJHZXR0ZXIsIFRlc3RPYmpWOEludGVybmFsOjpzdHJpbmdBdHRyQXR0clNl
dHRlciwgMCAvKiBubyBkYXRhICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6
OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwg
MCAvKiBvbiBpbnN0YW5jZSAqL30sCiAgICAgLy8gQXR0cmlidXRlICd0ZXN0T2JqQXR0cicgKFR5
cGU6ICdhdHRyaWJ1dGUnIEV4dEF0dHI6ICcnKQotICAgIHsidGVzdE9iakF0dHIiLCBUZXN0T2Jq
SW50ZXJuYWw6OnRlc3RPYmpBdHRyQXR0ckdldHRlciwgVGVzdE9iakludGVybmFsOjp0ZXN0T2Jq
QXR0ckF0dHJTZXR0ZXIsIDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0Nv
bnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2
ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAorICAgIHsidGVzdE9iakF0dHIiLCBUZXN0
T2JqVjhJbnRlcm5hbDo6dGVzdE9iakF0dHJBdHRyR2V0dGVyLCBUZXN0T2JqVjhJbnRlcm5hbDo6
dGVzdE9iakF0dHJBdHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpB
Y2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJp
YnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKICAgICAvLyBBdHRyaWJ1dGUg
J3NlcXVlbmNlQXR0cicgKFR5cGU6ICdhdHRyaWJ1dGUnIEV4dEF0dHI6ICcnKQotICAgIHsic2Vx
dWVuY2VBdHRyIiwgVGVzdE9iakludGVybmFsOjpzZXF1ZW5jZUF0dHJBdHRyR2V0dGVyLCBUZXN0
T2JqSW50ZXJuYWw6OnNlcXVlbmNlQXR0ckF0dHJTZXR0ZXIsIDAgLyogbm8gZGF0YSAqLywgc3Rh
dGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6
OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAorICAg
IHsic2VxdWVuY2VBdHRyIiwgVGVzdE9ialY4SW50ZXJuYWw6OnNlcXVlbmNlQXR0ckF0dHJHZXR0
ZXIsIFRlc3RPYmpWOEludGVybmFsOjpzZXF1ZW5jZUF0dHJBdHRyU2V0dGVyLCAwIC8qIG5vIGRh
dGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRp
Y19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNl
ICovfSwKICAgICAvLyBBdHRyaWJ1dGUgJ1hNTE9iakF0dHInIChUeXBlOiAnYXR0cmlidXRlJyBF
eHRBdHRyOiAnJykKLSAgICB7IlhNTE9iakF0dHIiLCBUZXN0T2JqSW50ZXJuYWw6OlhNTE9iakF0
dHJBdHRyR2V0dGVyLCBUZXN0T2JqSW50ZXJuYWw6OlhNTE9iakF0dHJBdHRyU2V0dGVyLCAwIC8q
IG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCks
IHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGlu
c3RhbmNlICovfSwKKyAgICB7IlhNTE9iakF0dHIiLCBUZXN0T2JqVjhJbnRlcm5hbDo6WE1MT2Jq
QXR0ckF0dHJHZXR0ZXIsIFRlc3RPYmpWOEludGVybmFsOjpYTUxPYmpBdHRyQXR0clNldHRlciwg
MCAvKiBubyBkYXRhICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFV
TFQpLCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBv
biBpbnN0YW5jZSAqL30sCiAgICAgLy8gQXR0cmlidXRlICdjcmVhdGUnIChUeXBlOiAnYXR0cmli
dXRlJyBFeHRBdHRyOiAnJykKLSAgICB7ImNyZWF0ZSIsIFRlc3RPYmpJbnRlcm5hbDo6Y3JlYXRl
QXR0ckdldHRlciwgVGVzdE9iakludGVybmFsOjpjcmVhdGVBdHRyU2V0dGVyLCAwIC8qIG5vIGRh
dGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRp
Y19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNl
ICovfSwKKyAgICB7ImNyZWF0ZSIsIFRlc3RPYmpWOEludGVybmFsOjpjcmVhdGVBdHRyR2V0dGVy
LCBUZXN0T2JqVjhJbnRlcm5hbDo6Y3JlYXRlQXR0clNldHRlciwgMCAvKiBubyBkYXRhICovLCBz
dGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2
ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0YW5jZSAqL30sCiAg
ICAgLy8gQXR0cmlidXRlICdyZWZsZWN0ZWRTdHJpbmdBdHRyJyAoVHlwZTogJ2F0dHJpYnV0ZScg
RXh0QXR0cjogJ1JlZmxlY3QnKQotICAgIHsicmVmbGVjdGVkU3RyaW5nQXR0ciIsIFRlc3RPYmpJ
bnRlcm5hbDo6cmVmbGVjdGVkU3RyaW5nQXR0ckF0dHJHZXR0ZXIsIFRlc3RPYmpJbnRlcm5hbDo6
cmVmbGVjdGVkU3RyaW5nQXR0ckF0dHJTZXR0ZXIsIDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nh
c3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3Bl
cnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAorICAgIHsicmVm
bGVjdGVkU3RyaW5nQXR0ciIsIFRlc3RPYmpWOEludGVybmFsOjpyZWZsZWN0ZWRTdHJpbmdBdHRy
QXR0ckdldHRlciwgVGVzdE9ialY4SW50ZXJuYWw6OnJlZmxlY3RlZFN0cmluZ0F0dHJBdHRyU2V0
dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6
REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAw
IC8qIG9uIGluc3RhbmNlICovfSwKICAgICAvLyBBdHRyaWJ1dGUgJ3JlZmxlY3RlZEludGVncmFs
QXR0cicgKFR5cGU6ICdhdHRyaWJ1dGUnIEV4dEF0dHI6ICdSZWZsZWN0JykKLSAgICB7InJlZmxl
Y3RlZEludGVncmFsQXR0ciIsIFRlc3RPYmpJbnRlcm5hbDo6cmVmbGVjdGVkSW50ZWdyYWxBdHRy
QXR0ckdldHRlciwgVGVzdE9iakludGVybmFsOjpyZWZsZWN0ZWRJbnRlZ3JhbEF0dHJBdHRyU2V0
dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6
REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAw
IC8qIG9uIGluc3RhbmNlICovfSwKKyAgICB7InJlZmxlY3RlZEludGVncmFsQXR0ciIsIFRlc3RP
YmpWOEludGVybmFsOjpyZWZsZWN0ZWRJbnRlZ3JhbEF0dHJBdHRyR2V0dGVyLCBUZXN0T2JqVjhJ
bnRlcm5hbDo6cmVmbGVjdGVkSW50ZWdyYWxBdHRyQXR0clNldHRlciwgMCAvKiBubyBkYXRhICov
LCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0aWNfY2Fz
dDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0YW5jZSAqL30s
CiAgICAgLy8gQXR0cmlidXRlICdyZWZsZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0cicgKFR5cGU6
ICdhdHRyaWJ1dGUnIEV4dEF0dHI6ICdSZWZsZWN0JykKLSAgICB7InJlZmxlY3RlZFVuc2lnbmVk
SW50ZWdyYWxBdHRyIiwgVGVzdE9iakludGVybmFsOjpyZWZsZWN0ZWRVbnNpZ25lZEludGVncmFs
QXR0ckF0dHJHZXR0ZXIsIFRlc3RPYmpJbnRlcm5hbDo6cmVmbGVjdGVkVW5zaWduZWRJbnRlZ3Jh
bEF0dHJBdHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3ND
b250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4o
djg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKKyAgICB7InJlZmxlY3RlZFVuc2lnbmVk
SW50ZWdyYWxBdHRyIiwgVGVzdE9ialY4SW50ZXJuYWw6OnJlZmxlY3RlZFVuc2lnbmVkSW50ZWdy
YWxBdHRyQXR0ckdldHRlciwgVGVzdE9ialY4SW50ZXJuYWw6OnJlZmxlY3RlZFVuc2lnbmVkSW50
ZWdyYWxBdHRyQXR0clNldHRlciwgMCAvKiBubyBkYXRhICovLCBzdGF0aWNfY2FzdDx2ODo6QWNj
ZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1
dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0YW5jZSAqL30sCiAgICAgLy8gQXR0cmlidXRlICdy
ZWZsZWN0ZWRCb29sZWFuQXR0cicgKFR5cGU6ICdhdHRyaWJ1dGUnIEV4dEF0dHI6ICdSZWZsZWN0
JykKLSAgICB7InJlZmxlY3RlZEJvb2xlYW5BdHRyIiwgVGVzdE9iakludGVybmFsOjpyZWZsZWN0
ZWRCb29sZWFuQXR0ckF0dHJHZXR0ZXIsIFRlc3RPYmpJbnRlcm5hbDo6cmVmbGVjdGVkQm9vbGVh
bkF0dHJBdHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3ND
b250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4o
djg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKKyAgICB7InJlZmxlY3RlZEJvb2xlYW5B
dHRyIiwgVGVzdE9ialY4SW50ZXJuYWw6OnJlZmxlY3RlZEJvb2xlYW5BdHRyQXR0ckdldHRlciwg
VGVzdE9ialY4SW50ZXJuYWw6OnJlZmxlY3RlZEJvb2xlYW5BdHRyQXR0clNldHRlciwgMCAvKiBu
byBkYXRhICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBz
dGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0
YW5jZSAqL30sCiAgICAgLy8gQXR0cmlidXRlICdyZWZsZWN0ZWRVUkxBdHRyJyAoVHlwZTogJ2F0
dHJpYnV0ZScgRXh0QXR0cjogJ1VSTCBSZWZsZWN0JykKLSAgICB7InJlZmxlY3RlZFVSTEF0dHIi
LCBUZXN0T2JqSW50ZXJuYWw6OnJlZmxlY3RlZFVSTEF0dHJBdHRyR2V0dGVyLCBUZXN0T2JqSW50
ZXJuYWw6OnJlZmxlY3RlZFVSTEF0dHJBdHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRp
Y19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQ
cm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKKyAgICB7
InJlZmxlY3RlZFVSTEF0dHIiLCBUZXN0T2JqVjhJbnRlcm5hbDo6cmVmbGVjdGVkVVJMQXR0ckF0
dHJHZXR0ZXIsIFRlc3RPYmpWOEludGVybmFsOjpyZWZsZWN0ZWRVUkxBdHRyQXR0clNldHRlciwg
MCAvKiBubyBkYXRhICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFV
TFQpLCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBv
biBpbnN0YW5jZSAqL30sCiAgICAgLy8gQXR0cmlidXRlICdyZWZsZWN0ZWRTdHJpbmdBdHRyJyAo
VHlwZTogJ2F0dHJpYnV0ZScgRXh0QXR0cjogJ1JlZmxlY3QnKQotICAgIHsicmVmbGVjdGVkU3Ry
aW5nQXR0ciIsIFRlc3RPYmpJbnRlcm5hbDo6cmVmbGVjdGVkU3RyaW5nQXR0ckF0dHJHZXR0ZXIs
IFRlc3RPYmpJbnRlcm5hbDo6cmVmbGVjdGVkU3RyaW5nQXR0ckF0dHJTZXR0ZXIsIDAgLyogbm8g
ZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3Rh
dGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFu
Y2UgKi99LAorICAgIHsicmVmbGVjdGVkU3RyaW5nQXR0ciIsIFRlc3RPYmpWOEludGVybmFsOjpy
ZWZsZWN0ZWRTdHJpbmdBdHRyQXR0ckdldHRlciwgVGVzdE9ialY4SW50ZXJuYWw6OnJlZmxlY3Rl
ZFN0cmluZ0F0dHJBdHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpB
Y2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJp
YnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKICAgICAvLyBBdHRyaWJ1dGUg
J3JlZmxlY3RlZEN1c3RvbUludGVncmFsQXR0cicgKFR5cGU6ICdhdHRyaWJ1dGUnIEV4dEF0dHI6
ICdSZWZsZWN0JykKLSAgICB7InJlZmxlY3RlZEN1c3RvbUludGVncmFsQXR0ciIsIFRlc3RPYmpJ
bnRlcm5hbDo6cmVmbGVjdGVkQ3VzdG9tSW50ZWdyYWxBdHRyQXR0ckdldHRlciwgVGVzdE9iaklu
dGVybmFsOjpyZWZsZWN0ZWRDdXN0b21JbnRlZ3JhbEF0dHJBdHRyU2V0dGVyLCAwIC8qIG5vIGRh
dGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRp
Y19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNl
ICovfSwKKyAgICB7InJlZmxlY3RlZEN1c3RvbUludGVncmFsQXR0ciIsIFRlc3RPYmpWOEludGVy
bmFsOjpyZWZsZWN0ZWRDdXN0b21JbnRlZ3JhbEF0dHJBdHRyR2V0dGVyLCBUZXN0T2JqVjhJbnRl
cm5hbDo6cmVmbGVjdGVkQ3VzdG9tSW50ZWdyYWxBdHRyQXR0clNldHRlciwgMCAvKiBubyBkYXRh
ICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0aWNf
Y2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0YW5jZSAq
L30sCiAgICAgLy8gQXR0cmlidXRlICdyZWZsZWN0ZWRDdXN0b21Cb29sZWFuQXR0cicgKFR5cGU6
ICdhdHRyaWJ1dGUnIEV4dEF0dHI6ICdSZWZsZWN0JykKLSAgICB7InJlZmxlY3RlZEN1c3RvbUJv
b2xlYW5BdHRyIiwgVGVzdE9iakludGVybmFsOjpyZWZsZWN0ZWRDdXN0b21Cb29sZWFuQXR0ckF0
dHJHZXR0ZXIsIFRlc3RPYmpJbnRlcm5hbDo6cmVmbGVjdGVkQ3VzdG9tQm9vbGVhbkF0dHJBdHRy
U2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2
ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUp
LCAwIC8qIG9uIGluc3RhbmNlICovfSwKKyAgICB7InJlZmxlY3RlZEN1c3RvbUJvb2xlYW5BdHRy
IiwgVGVzdE9ialY4SW50ZXJuYWw6OnJlZmxlY3RlZEN1c3RvbUJvb2xlYW5BdHRyQXR0ckdldHRl
ciwgVGVzdE9ialY4SW50ZXJuYWw6OnJlZmxlY3RlZEN1c3RvbUJvb2xlYW5BdHRyQXR0clNldHRl
ciwgMCAvKiBubyBkYXRhICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRF
RkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAv
KiBvbiBpbnN0YW5jZSAqL30sCiAgICAgLy8gQXR0cmlidXRlICdyZWZsZWN0ZWRDdXN0b21VUkxB
dHRyJyAoVHlwZTogJ2F0dHJpYnV0ZScgRXh0QXR0cjogJ1VSTCBSZWZsZWN0JykKLSAgICB7InJl
ZmxlY3RlZEN1c3RvbVVSTEF0dHIiLCBUZXN0T2JqSW50ZXJuYWw6OnJlZmxlY3RlZEN1c3RvbVVS
TEF0dHJBdHRyR2V0dGVyLCBUZXN0T2JqSW50ZXJuYWw6OnJlZmxlY3RlZEN1c3RvbVVSTEF0dHJB
dHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9s
Pih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5v
bmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKKyAgICB7InJlZmxlY3RlZEN1c3RvbVVSTEF0dHIi
LCBUZXN0T2JqVjhJbnRlcm5hbDo6cmVmbGVjdGVkQ3VzdG9tVVJMQXR0ckF0dHJHZXR0ZXIsIFRl
c3RPYmpWOEludGVybmFsOjpyZWZsZWN0ZWRDdXN0b21VUkxBdHRyQXR0clNldHRlciwgMCAvKiBu
byBkYXRhICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBz
dGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0
YW5jZSAqL30sCiAgICAgLy8gQXR0cmlidXRlICdhdHRyV2l0aEdldHRlckV4Y2VwdGlvbicgKFR5
cGU6ICdhdHRyaWJ1dGUnIEV4dEF0dHI6ICcnKQotICAgIHsiYXR0cldpdGhHZXR0ZXJFeGNlcHRp
b24iLCBUZXN0T2JqSW50ZXJuYWw6OmF0dHJXaXRoR2V0dGVyRXhjZXB0aW9uQXR0ckdldHRlciwg
VGVzdE9iakludGVybmFsOjphdHRyV2l0aEdldHRlckV4Y2VwdGlvbkF0dHJTZXR0ZXIsIDAgLyog
bm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwg
c3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5z
dGFuY2UgKi99LAorICAgIHsiYXR0cldpdGhHZXR0ZXJFeGNlcHRpb24iLCBUZXN0T2JqVjhJbnRl
cm5hbDo6YXR0cldpdGhHZXR0ZXJFeGNlcHRpb25BdHRyR2V0dGVyLCBUZXN0T2JqVjhJbnRlcm5h
bDo6YXR0cldpdGhHZXR0ZXJFeGNlcHRpb25BdHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0
YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4
OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKICAg
ICAvLyBBdHRyaWJ1dGUgJ2F0dHJXaXRoU2V0dGVyRXhjZXB0aW9uJyAoVHlwZTogJ2F0dHJpYnV0
ZScgRXh0QXR0cjogJycpCi0gICAgeyJhdHRyV2l0aFNldHRlckV4Y2VwdGlvbiIsIFRlc3RPYmpJ
bnRlcm5hbDo6YXR0cldpdGhTZXR0ZXJFeGNlcHRpb25BdHRyR2V0dGVyLCBUZXN0T2JqSW50ZXJu
YWw6OmF0dHJXaXRoU2V0dGVyRXhjZXB0aW9uQXR0clNldHRlciwgMCAvKiBubyBkYXRhICovLCBz
dGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2
ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0YW5jZSAqL30sCisg
ICAgeyJhdHRyV2l0aFNldHRlckV4Y2VwdGlvbiIsIFRlc3RPYmpWOEludGVybmFsOjphdHRyV2l0
aFNldHRlckV4Y2VwdGlvbkF0dHJHZXR0ZXIsIFRlc3RPYmpWOEludGVybmFsOjphdHRyV2l0aFNl
dHRlckV4Y2VwdGlvbkF0dHJTZXR0ZXIsIDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6
OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0
cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAogICAgIC8vIEF0dHJpYnV0
ZSAnc3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24nIChUeXBlOiAnYXR0cmlidXRlJyBFeHRB
dHRyOiAnJykKLSAgICB7InN0cmluZ0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uIiwgVGVzdE9iaklu
dGVybmFsOjpzdHJpbmdBdHRyV2l0aEdldHRlckV4Y2VwdGlvbkF0dHJHZXR0ZXIsIFRlc3RPYmpJ
bnRlcm5hbDo6c3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb25BdHRyU2V0dGVyLCAwIC8qIG5v
IGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0
YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3Rh
bmNlICovfSwKKyAgICB7InN0cmluZ0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uIiwgVGVzdE9ialY4
SW50ZXJuYWw6OnN0cmluZ0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uQXR0ckdldHRlciwgVGVzdE9i
alY4SW50ZXJuYWw6OnN0cmluZ0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uQXR0clNldHRlciwgMCAv
KiBubyBkYXRhICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQp
LCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBp
bnN0YW5jZSAqL30sCiAgICAgLy8gQXR0cmlidXRlICdzdHJpbmdBdHRyV2l0aFNldHRlckV4Y2Vw
dGlvbicgKFR5cGU6ICdhdHRyaWJ1dGUnIEV4dEF0dHI6ICcnKQotICAgIHsic3RyaW5nQXR0cldp
dGhTZXR0ZXJFeGNlcHRpb24iLCBUZXN0T2JqSW50ZXJuYWw6OnN0cmluZ0F0dHJXaXRoU2V0dGVy
RXhjZXB0aW9uQXR0ckdldHRlciwgVGVzdE9iakludGVybmFsOjpzdHJpbmdBdHRyV2l0aFNldHRl
ckV4Y2VwdGlvbkF0dHJTZXR0ZXIsIDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFj
Y2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmli
dXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAorICAgIHsic3RyaW5nQXR0cldp
dGhTZXR0ZXJFeGNlcHRpb24iLCBUZXN0T2JqVjhJbnRlcm5hbDo6c3RyaW5nQXR0cldpdGhTZXR0
ZXJFeGNlcHRpb25BdHRyR2V0dGVyLCBUZXN0T2JqVjhJbnRlcm5hbDo6c3RyaW5nQXR0cldpdGhT
ZXR0ZXJFeGNlcHRpb25BdHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4
OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0
dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKICAgICAvLyBBdHRyaWJ1
dGUgJ2N1c3RvbUF0dHInIChUeXBlOiAnYXR0cmlidXRlJyBFeHRBdHRyOiAnQ3VzdG9tJykKICAg
ICB7ImN1c3RvbUF0dHIiLCBWOFRlc3RPYmo6OmN1c3RvbUF0dHJBY2Nlc3NvckdldHRlciwgVjhU
ZXN0T2JqOjpjdXN0b21BdHRyQWNjZXNzb3JTZXR0ZXIsIDAgLyogbm8gZGF0YSAqLywgc3RhdGlj
X2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlBy
b3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAogICAgIC8v
IEF0dHJpYnV0ZSAnd2l0aFNjcmlwdFN0YXRlQXR0cmlidXRlJyAoVHlwZTogJ2F0dHJpYnV0ZScg
RXh0QXR0cjogJ0NhbGxXaXRoJykKLSAgICB7IndpdGhTY3JpcHRTdGF0ZUF0dHJpYnV0ZSIsIFRl
c3RPYmpJbnRlcm5hbDo6d2l0aFNjcmlwdFN0YXRlQXR0cmlidXRlQXR0ckdldHRlciwgVGVzdE9i
akludGVybmFsOjp3aXRoU2NyaXB0U3RhdGVBdHRyaWJ1dGVBdHRyU2V0dGVyLCAwIC8qIG5vIGRh
dGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRp
Y19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNl
ICovfSwKKyAgICB7IndpdGhTY3JpcHRTdGF0ZUF0dHJpYnV0ZSIsIFRlc3RPYmpWOEludGVybmFs
Ojp3aXRoU2NyaXB0U3RhdGVBdHRyaWJ1dGVBdHRyR2V0dGVyLCBUZXN0T2JqVjhJbnRlcm5hbDo6
d2l0aFNjcmlwdFN0YXRlQXR0cmlidXRlQXR0clNldHRlciwgMCAvKiBubyBkYXRhICovLCBzdGF0
aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6
UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0YW5jZSAqL30sCiAgICAg
Ly8gQXR0cmlidXRlICd3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEF0dHJpYnV0ZScgKFR5cGU6
ICdhdHRyaWJ1dGUnIEV4dEF0dHI6ICdDYWxsV2l0aCcpCi0gICAgeyJ3aXRoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dEF0dHJpYnV0ZSIsIFRlc3RPYmpJbnRlcm5hbDo6d2l0aFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRBdHRyaWJ1dGVBdHRyR2V0dGVyLCBUZXN0T2JqSW50ZXJuYWw6OndpdGhTY3JpcHRF
eGVjdXRpb25Db250ZXh0QXR0cmlidXRlQXR0clNldHRlciwgMCAvKiBubyBkYXRhICovLCBzdGF0
aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6
UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0YW5jZSAqL30sCisgICAg
eyJ3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEF0dHJpYnV0ZSIsIFRlc3RPYmpWOEludGVybmFs
Ojp3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEF0dHJpYnV0ZUF0dHJHZXR0ZXIsIFRlc3RPYmpW
OEludGVybmFsOjp3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEF0dHJpYnV0ZUF0dHJTZXR0ZXIs
IDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZB
VUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyog
b24gaW5zdGFuY2UgKi99LAogICAgIC8vIEF0dHJpYnV0ZSAnd2l0aFNjcmlwdFN0YXRlQXR0cmli
dXRlUmFpc2VzJyAoVHlwZTogJ2F0dHJpYnV0ZScgRXh0QXR0cjogJ0NhbGxXaXRoJykKLSAgICB7
IndpdGhTY3JpcHRTdGF0ZUF0dHJpYnV0ZVJhaXNlcyIsIFRlc3RPYmpJbnRlcm5hbDo6d2l0aFNj
cmlwdFN0YXRlQXR0cmlidXRlUmFpc2VzQXR0ckdldHRlciwgVGVzdE9iakludGVybmFsOjp3aXRo
U2NyaXB0U3RhdGVBdHRyaWJ1dGVSYWlzZXNBdHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0
YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4
OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKKyAg
ICB7IndpdGhTY3JpcHRTdGF0ZUF0dHJpYnV0ZVJhaXNlcyIsIFRlc3RPYmpWOEludGVybmFsOjp3
aXRoU2NyaXB0U3RhdGVBdHRyaWJ1dGVSYWlzZXNBdHRyR2V0dGVyLCBUZXN0T2JqVjhJbnRlcm5h
bDo6d2l0aFNjcmlwdFN0YXRlQXR0cmlidXRlUmFpc2VzQXR0clNldHRlciwgMCAvKiBubyBkYXRh
ICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0aWNf
Y2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0YW5jZSAq
L30sCiAgICAgLy8gQXR0cmlidXRlICd3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEF0dHJpYnV0
ZVJhaXNlcycgKFR5cGU6ICdhdHRyaWJ1dGUnIEV4dEF0dHI6ICdDYWxsV2l0aCcpCi0gICAgeyJ3
aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEF0dHJpYnV0ZVJhaXNlcyIsIFRlc3RPYmpJbnRlcm5h
bDo6d2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBdHRyaWJ1dGVSYWlzZXNBdHRyR2V0dGVyLCBU
ZXN0T2JqSW50ZXJuYWw6OndpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QXR0cmlidXRlUmFpc2Vz
QXR0clNldHRlciwgMCAvKiBubyBkYXRhICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJv
bD4odjg6OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpO
b25lKSwgMCAvKiBvbiBpbnN0YW5jZSAqL30sCisgICAgeyJ3aXRoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dEF0dHJpYnV0ZVJhaXNlcyIsIFRlc3RPYmpWOEludGVybmFsOjp3aXRoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dEF0dHJpYnV0ZVJhaXNlc0F0dHJHZXR0ZXIsIFRlc3RPYmpWOEludGVybmFsOjp3
aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEF0dHJpYnV0ZVJhaXNlc0F0dHJTZXR0ZXIsIDAgLyog
bm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwg
c3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5z
dGFuY2UgKi99LAogICAgIC8vIEF0dHJpYnV0ZSAnd2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRB
bmRTY3JpcHRTdGF0ZUF0dHJpYnV0ZScgKFR5cGU6ICdhdHRyaWJ1dGUnIEV4dEF0dHI6ICdDYWxs
V2l0aCcpCi0gICAgeyJ3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRlQXR0
cmlidXRlIiwgVGVzdE9iakludGVybmFsOjp3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNj
cmlwdFN0YXRlQXR0cmlidXRlQXR0ckdldHRlciwgVGVzdE9iakludGVybmFsOjp3aXRoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRlQXR0cmlidXRlQXR0clNldHRlciwgMCAvKiBu
byBkYXRhICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBz
dGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0
YW5jZSAqL30sCisgICAgeyJ3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRl
QXR0cmlidXRlIiwgVGVzdE9ialY4SW50ZXJuYWw6OndpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0
QW5kU2NyaXB0U3RhdGVBdHRyaWJ1dGVBdHRyR2V0dGVyLCBUZXN0T2JqVjhJbnRlcm5hbDo6d2l0
aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZUF0dHJpYnV0ZUF0dHJTZXR0ZXIs
IDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZB
VUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyog
b24gaW5zdGFuY2UgKi99LAogICAgIC8vIEF0dHJpYnV0ZSAnd2l0aFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRBbmRTY3JpcHRTdGF0ZUF0dHJpYnV0ZVJhaXNlcycgKFR5cGU6ICdhdHRyaWJ1dGUnIEV4
dEF0dHI6ICdDYWxsV2l0aCcpCi0gICAgeyJ3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNj
cmlwdFN0YXRlQXR0cmlidXRlUmFpc2VzIiwgVGVzdE9iakludGVybmFsOjp3aXRoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRlQXR0cmlidXRlUmFpc2VzQXR0ckdldHRlciwgVGVz
dE9iakludGVybmFsOjp3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRlQXR0
cmlidXRlUmFpc2VzQXR0clNldHRlciwgMCAvKiBubyBkYXRhICovLCBzdGF0aWNfY2FzdDx2ODo6
QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRy
aWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0YW5jZSAqL30sCisgICAgeyJ3aXRoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRlQXR0cmlidXRlUmFpc2VzIiwgVGVzdE9ialY4
SW50ZXJuYWw6OndpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QW5kU2NyaXB0U3RhdGVBdHRyaWJ1
dGVSYWlzZXNBdHRyR2V0dGVyLCBUZXN0T2JqVjhJbnRlcm5hbDo6d2l0aFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRBbmRTY3JpcHRTdGF0ZUF0dHJpYnV0ZVJhaXNlc0F0dHJTZXR0ZXIsIDAgLyogbm8g
ZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3Rh
dGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFu
Y2UgKi99LAogICAgIC8vIEF0dHJpYnV0ZSAnd2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRT
Y3JpcHRTdGF0ZVdpdGhTcGFjZXNBdHRyaWJ1dGUnIChUeXBlOiAnYXR0cmlidXRlJyBFeHRBdHRy
OiAnQ2FsbFdpdGgnKQotICAgIHsid2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRT
dGF0ZVdpdGhTcGFjZXNBdHRyaWJ1dGUiLCBUZXN0T2JqSW50ZXJuYWw6OndpdGhTY3JpcHRFeGVj
dXRpb25Db250ZXh0QW5kU2NyaXB0U3RhdGVXaXRoU3BhY2VzQXR0cmlidXRlQXR0ckdldHRlciwg
VGVzdE9iakludGVybmFsOjp3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRl
V2l0aFNwYWNlc0F0dHJpYnV0ZUF0dHJTZXR0ZXIsIDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nh
c3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3Bl
cnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAorICAgIHsid2l0
aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZVdpdGhTcGFjZXNBdHRyaWJ1dGUi
LCBUZXN0T2JqVjhJbnRlcm5hbDo6d2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRT
dGF0ZVdpdGhTcGFjZXNBdHRyaWJ1dGVBdHRyR2V0dGVyLCBUZXN0T2JqVjhJbnRlcm5hbDo6d2l0
aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZVdpdGhTcGFjZXNBdHRyaWJ1dGVB
dHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9s
Pih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5v
bmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKICAgICAvLyBBdHRyaWJ1dGUgJ3dpdGhTY3JpcHRB
cmd1bWVudHNBbmRDYWxsU3RhY2tBdHRyaWJ1dGUnIChUeXBlOiAnYXR0cmlidXRlJyBFeHRBdHRy
OiAnQ2FsbFdpdGgnKQotICAgIHsid2l0aFNjcmlwdEFyZ3VtZW50c0FuZENhbGxTdGFja0F0dHJp
YnV0ZSIsIFRlc3RPYmpJbnRlcm5hbDo6d2l0aFNjcmlwdEFyZ3VtZW50c0FuZENhbGxTdGFja0F0
dHJpYnV0ZUF0dHJHZXR0ZXIsIFRlc3RPYmpJbnRlcm5hbDo6d2l0aFNjcmlwdEFyZ3VtZW50c0Fu
ZENhbGxTdGFja0F0dHJpYnV0ZUF0dHJTZXR0ZXIsIDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nh
c3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3Bl
cnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAorICAgIHsid2l0
aFNjcmlwdEFyZ3VtZW50c0FuZENhbGxTdGFja0F0dHJpYnV0ZSIsIFRlc3RPYmpWOEludGVybmFs
Ojp3aXRoU2NyaXB0QXJndW1lbnRzQW5kQ2FsbFN0YWNrQXR0cmlidXRlQXR0ckdldHRlciwgVGVz
dE9ialY4SW50ZXJuYWw6OndpdGhTY3JpcHRBcmd1bWVudHNBbmRDYWxsU3RhY2tBdHRyaWJ1dGVB
dHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9s
Pih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5v
bmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKICNpZiBFTkFCTEUoQ29uZGl0aW9uMSkKICAgICAv
LyBBdHRyaWJ1dGUgJ2NvbmRpdGlvbmFsQXR0cjEnIChUeXBlOiAnYXR0cmlidXRlJyBFeHRBdHRy
OiAnQ29uZGl0aW9uYWwnKQotICAgIHsiY29uZGl0aW9uYWxBdHRyMSIsIFRlc3RPYmpJbnRlcm5h
bDo6Y29uZGl0aW9uYWxBdHRyMUF0dHJHZXR0ZXIsIFRlc3RPYmpJbnRlcm5hbDo6Y29uZGl0aW9u
YWxBdHRyMUF0dHJTZXR0ZXIsIDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vz
c0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRl
Pih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAorICAgIHsiY29uZGl0aW9uYWxBdHRy
MSIsIFRlc3RPYmpWOEludGVybmFsOjpjb25kaXRpb25hbEF0dHIxQXR0ckdldHRlciwgVGVzdE9i
alY4SW50ZXJuYWw6OmNvbmRpdGlvbmFsQXR0cjFBdHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8s
IHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0
PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwK
ICNlbmRpZiAvLyBFTkFCTEUoQ29uZGl0aW9uMSkKICNpZiBFTkFCTEUoQ29uZGl0aW9uMSkgJiYg
RU5BQkxFKENvbmRpdGlvbjIpCiAgICAgLy8gQXR0cmlidXRlICdjb25kaXRpb25hbEF0dHIyJyAo
VHlwZTogJ2F0dHJpYnV0ZScgRXh0QXR0cjogJ0NvbmRpdGlvbmFsJykKLSAgICB7ImNvbmRpdGlv
bmFsQXR0cjIiLCBUZXN0T2JqSW50ZXJuYWw6OmNvbmRpdGlvbmFsQXR0cjJBdHRyR2V0dGVyLCBU
ZXN0T2JqSW50ZXJuYWw6OmNvbmRpdGlvbmFsQXR0cjJBdHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEg
Ki8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19j
YXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICov
fSwKKyAgICB7ImNvbmRpdGlvbmFsQXR0cjIiLCBUZXN0T2JqVjhJbnRlcm5hbDo6Y29uZGl0aW9u
YWxBdHRyMkF0dHJHZXR0ZXIsIFRlc3RPYmpWOEludGVybmFsOjpjb25kaXRpb25hbEF0dHIyQXR0
clNldHRlciwgMCAvKiBubyBkYXRhICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4o
djg6OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25l
KSwgMCAvKiBvbiBpbnN0YW5jZSAqL30sCiAjZW5kaWYgLy8gRU5BQkxFKENvbmRpdGlvbjEpICYm
IEVOQUJMRShDb25kaXRpb24yKQogI2lmIEVOQUJMRShDb25kaXRpb24xKSB8fCBFTkFCTEUoQ29u
ZGl0aW9uMikKICAgICAvLyBBdHRyaWJ1dGUgJ2NvbmRpdGlvbmFsQXR0cjMnIChUeXBlOiAnYXR0
cmlidXRlJyBFeHRBdHRyOiAnQ29uZGl0aW9uYWwnKQotICAgIHsiY29uZGl0aW9uYWxBdHRyMyIs
IFRlc3RPYmpJbnRlcm5hbDo6Y29uZGl0aW9uYWxBdHRyM0F0dHJHZXR0ZXIsIFRlc3RPYmpJbnRl
cm5hbDo6Y29uZGl0aW9uYWxBdHRyM0F0dHJTZXR0ZXIsIDAgLyogbm8gZGF0YSAqLywgc3RhdGlj
X2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlBy
b3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAorICAgIHsi
Y29uZGl0aW9uYWxBdHRyMyIsIFRlc3RPYmpWOEludGVybmFsOjpjb25kaXRpb25hbEF0dHIzQXR0
ckdldHRlciwgVGVzdE9ialY4SW50ZXJuYWw6OmNvbmRpdGlvbmFsQXR0cjNBdHRyU2V0dGVyLCAw
IC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVM
VCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9u
IGluc3RhbmNlICovfSwKICNlbmRpZiAvLyBFTkFCTEUoQ29uZGl0aW9uMSkgfHwgRU5BQkxFKENv
bmRpdGlvbjIpCiAjaWYgRU5BQkxFKENvbmRpdGlvbjEpCiAgICAgLy8gQXR0cmlidXRlICdjb25k
aXRpb25hbEF0dHI0JyAoVHlwZTogJ2F0dHJpYnV0ZScgRXh0QXR0cjogJ0NvbmRpdGlvbmFsJykK
LSAgICB7ImNvbmRpdGlvbmFsQXR0cjQiLCBUZXN0T2JqSW50ZXJuYWw6OlRlc3RPYmpDb25zdHJ1
Y3RvckdldHRlciwgMCwgJlY4VGVzdE9iamVjdEE6OmluZm8sIHN0YXRpY19jYXN0PHY4OjpBY2Nl
c3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0
ZT4odjg6OlJlYWRPbmx5KSwgMCAvKiBvbiBpbnN0YW5jZSAqL30sCisgICAgeyJjb25kaXRpb25h
bEF0dHI0IiwgVGVzdE9ialY4SW50ZXJuYWw6OlRlc3RPYmpDb25zdHJ1Y3RvckdldHRlciwgMCwg
JlY4VGVzdE9iamVjdEE6OmluZm8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6
REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6OlJlYWRPbmx5
KSwgMCAvKiBvbiBpbnN0YW5jZSAqL30sCiAjZW5kaWYgLy8gRU5BQkxFKENvbmRpdGlvbjEpCiAj
aWYgRU5BQkxFKENvbmRpdGlvbjEpICYmIEVOQUJMRShDb25kaXRpb24yKQogICAgIC8vIEF0dHJp
YnV0ZSAnY29uZGl0aW9uYWxBdHRyNScgKFR5cGU6ICdhdHRyaWJ1dGUnIEV4dEF0dHI6ICdDb25k
aXRpb25hbCcpCi0gICAgeyJjb25kaXRpb25hbEF0dHI1IiwgVGVzdE9iakludGVybmFsOjpUZXN0
T2JqQ29uc3RydWN0b3JHZXR0ZXIsIDAsICZWOFRlc3RPYmplY3RCOjppbmZvLCBzdGF0aWNfY2Fz
dDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVy
dHlBdHRyaWJ1dGU+KHY4OjpSZWFkT25seSksIDAgLyogb24gaW5zdGFuY2UgKi99LAorICAgIHsi
Y29uZGl0aW9uYWxBdHRyNSIsIFRlc3RPYmpWOEludGVybmFsOjpUZXN0T2JqQ29uc3RydWN0b3JH
ZXR0ZXIsIDAsICZWOFRlc3RPYmplY3RCOjppbmZvLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29u
dHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4
OjpSZWFkT25seSksIDAgLyogb24gaW5zdGFuY2UgKi99LAogI2VuZGlmIC8vIEVOQUJMRShDb25k
aXRpb24xKSAmJiBFTkFCTEUoQ29uZGl0aW9uMikKICNpZiBFTkFCTEUoQ29uZGl0aW9uMSkgfHwg
RU5BQkxFKENvbmRpdGlvbjIpCiAgICAgLy8gQXR0cmlidXRlICdjb25kaXRpb25hbEF0dHI2JyAo
VHlwZTogJ2F0dHJpYnV0ZScgRXh0QXR0cjogJ0NvbmRpdGlvbmFsJykKLSAgICB7ImNvbmRpdGlv
bmFsQXR0cjYiLCBUZXN0T2JqSW50ZXJuYWw6OlRlc3RPYmpDb25zdHJ1Y3RvckdldHRlciwgMCwg
JlY4VGVzdE9iamVjdEM6OmluZm8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6
REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6OlJlYWRPbmx5
KSwgMCAvKiBvbiBpbnN0YW5jZSAqL30sCisgICAgeyJjb25kaXRpb25hbEF0dHI2IiwgVGVzdE9i
alY4SW50ZXJuYWw6OlRlc3RPYmpDb25zdHJ1Y3RvckdldHRlciwgMCwgJlY4VGVzdE9iamVjdEM6
OmluZm8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRp
Y19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6OlJlYWRPbmx5KSwgMCAvKiBvbiBpbnN0
YW5jZSAqL30sCiAjZW5kaWYgLy8gRU5BQkxFKENvbmRpdGlvbjEpIHx8IEVOQUJMRShDb25kaXRp
b24yKQogICAgIC8vIEF0dHJpYnV0ZSAnY2FjaGVkQXR0cmlidXRlMScgKFR5cGU6ICdyZWFkb25s
eSBhdHRyaWJ1dGUnIEV4dEF0dHI6ICdDYWNoZWRBdHRyaWJ1dGUnKQotICAgIHsiY2FjaGVkQXR0
cmlidXRlMSIsIFRlc3RPYmpJbnRlcm5hbDo6Y2FjaGVkQXR0cmlidXRlMUF0dHJHZXR0ZXIsIDAs
IDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZB
VUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyog
b24gaW5zdGFuY2UgKi99LAorICAgIHsiY2FjaGVkQXR0cmlidXRlMSIsIFRlc3RPYmpWOEludGVy
bmFsOjpjYWNoZWRBdHRyaWJ1dGUxQXR0ckdldHRlciwgMCwgMCAvKiBubyBkYXRhICovLCBzdGF0
aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6
UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0YW5jZSAqL30sCiAgICAg
Ly8gQXR0cmlidXRlICdjYWNoZWRBdHRyaWJ1dGUyJyAoVHlwZTogJ3JlYWRvbmx5IGF0dHJpYnV0
ZScgRXh0QXR0cjogJ0NhY2hlZEF0dHJpYnV0ZScpCi0gICAgeyJjYWNoZWRBdHRyaWJ1dGUyIiwg
VGVzdE9iakludGVybmFsOjpjYWNoZWRBdHRyaWJ1dGUyQXR0ckdldHRlciwgMCwgMCAvKiBubyBk
YXRhICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0
aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0YW5j
ZSAqL30sCisgICAgeyJjYWNoZWRBdHRyaWJ1dGUyIiwgVGVzdE9ialY4SW50ZXJuYWw6OmNhY2hl
ZEF0dHJpYnV0ZTJBdHRyR2V0dGVyLCAwLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4
OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0
dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKICAgICAvLyBBdHRyaWJ1
dGUgJ2Zsb2F0QXJyYXknIChUeXBlOiAnYXR0cmlidXRlJyBFeHRBdHRyOiAnJykKLSAgICB7ImZs
b2F0QXJyYXkiLCBUZXN0T2JqSW50ZXJuYWw6OmZsb2F0QXJyYXlBdHRyR2V0dGVyLCBUZXN0T2Jq
SW50ZXJuYWw6OmZsb2F0QXJyYXlBdHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19j
YXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9w
ZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKKyAgICB7ImZs
b2F0QXJyYXkiLCBUZXN0T2JqVjhJbnRlcm5hbDo6ZmxvYXRBcnJheUF0dHJHZXR0ZXIsIFRlc3RP
YmpWOEludGVybmFsOjpmbG9hdEFycmF5QXR0clNldHRlciwgMCAvKiBubyBkYXRhICovLCBzdGF0
aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6
UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0YW5jZSAqL30sCiAgICAg
Ly8gQXR0cmlidXRlICdkb3VibGVBcnJheScgKFR5cGU6ICdhdHRyaWJ1dGUnIEV4dEF0dHI6ICcn
KQotICAgIHsiZG91YmxlQXJyYXkiLCBUZXN0T2JqSW50ZXJuYWw6OmRvdWJsZUFycmF5QXR0ckdl
dHRlciwgVGVzdE9iakludGVybmFsOjpkb3VibGVBcnJheUF0dHJTZXR0ZXIsIDAgLyogbm8gZGF0
YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGlj
X2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2Ug
Ki99LAorICAgIHsiZG91YmxlQXJyYXkiLCBUZXN0T2JqVjhJbnRlcm5hbDo6ZG91YmxlQXJyYXlB
dHRyR2V0dGVyLCBUZXN0T2JqVjhJbnRlcm5hbDo6ZG91YmxlQXJyYXlBdHRyU2V0dGVyLCAwIC8q
IG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCks
IHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGlu
c3RhbmNlICovfSwKICAgICAvLyBBdHRyaWJ1dGUgJ2NvbnRlbnREb2N1bWVudCcgKFR5cGU6ICdy
ZWFkb25seSBhdHRyaWJ1dGUnIEV4dEF0dHI6ICdDaGVja1NlY3VyaXR5Rm9yTm9kZScpCi0gICAg
eyJjb250ZW50RG9jdW1lbnQiLCBUZXN0T2JqSW50ZXJuYWw6OmNvbnRlbnREb2N1bWVudEF0dHJH
ZXR0ZXIsIDAsIDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+
KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9u
ZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAorICAgIHsiY29udGVudERvY3VtZW50IiwgVGVzdE9i
alY4SW50ZXJuYWw6OmNvbnRlbnREb2N1bWVudEF0dHJHZXR0ZXIsIDAsIDAgLyogbm8gZGF0YSAq
Lywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nh
c3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99
LAogICAgIC8vIEF0dHJpYnV0ZSAnbXV0YWJsZVBvaW50JyAoVHlwZTogJ2F0dHJpYnV0ZScgRXh0
QXR0cjogJycpCi0gICAgeyJtdXRhYmxlUG9pbnQiLCBUZXN0T2JqSW50ZXJuYWw6Om11dGFibGVQ
b2ludEF0dHJHZXR0ZXIsIFRlc3RPYmpJbnRlcm5hbDo6bXV0YWJsZVBvaW50QXR0clNldHRlciwg
MCAvKiBubyBkYXRhICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFV
TFQpLCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBv
biBpbnN0YW5jZSAqL30sCisgICAgeyJtdXRhYmxlUG9pbnQiLCBUZXN0T2JqVjhJbnRlcm5hbDo6
bXV0YWJsZVBvaW50QXR0ckdldHRlciwgVGVzdE9ialY4SW50ZXJuYWw6Om11dGFibGVQb2ludEF0
dHJTZXR0ZXIsIDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+
KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9u
ZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAogICAgIC8vIEF0dHJpYnV0ZSAnaW1tdXRhYmxlUG9p
bnQnIChUeXBlOiAnYXR0cmlidXRlJyBFeHRBdHRyOiAnSW1tdXRhYmxlJykKLSAgICB7ImltbXV0
YWJsZVBvaW50IiwgVGVzdE9iakludGVybmFsOjppbW11dGFibGVQb2ludEF0dHJHZXR0ZXIsIFRl
c3RPYmpJbnRlcm5hbDo6aW1tdXRhYmxlUG9pbnRBdHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8s
IHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0
PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwK
KyAgICB7ImltbXV0YWJsZVBvaW50IiwgVGVzdE9ialY4SW50ZXJuYWw6OmltbXV0YWJsZVBvaW50
QXR0ckdldHRlciwgVGVzdE9ialY4SW50ZXJuYWw6OmltbXV0YWJsZVBvaW50QXR0clNldHRlciwg
MCAvKiBubyBkYXRhICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFV
TFQpLCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBv
biBpbnN0YW5jZSAqL30sCiAgICAgLy8gQXR0cmlidXRlICdzdHJhd2JlcnJ5JyAoVHlwZTogJ2F0
dHJpYnV0ZScgRXh0QXR0cjogJ0ltcGxlbWVudGVkQXMnKQotICAgIHsic3RyYXdiZXJyeSIsIFRl
c3RPYmpJbnRlcm5hbDo6c3RyYXdiZXJyeUF0dHJHZXR0ZXIsIFRlc3RPYmpJbnRlcm5hbDo6c3Ry
YXdiZXJyeUF0dHJTZXR0ZXIsIDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vz
c0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRl
Pih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAorICAgIHsic3RyYXdiZXJyeSIsIFRl
c3RPYmpWOEludGVybmFsOjpzdHJhd2JlcnJ5QXR0ckdldHRlciwgVGVzdE9ialY4SW50ZXJuYWw6
OnN0cmF3YmVycnlBdHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpB
Y2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJp
YnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKICAgICAvLyBBdHRyaWJ1dGUg
J3N0cmljdEZsb2F0JyAoVHlwZTogJ2F0dHJpYnV0ZScgRXh0QXR0cjogJ1N0cmljdFR5cGVDaGVj
a2luZycpCi0gICAgeyJzdHJpY3RGbG9hdCIsIFRlc3RPYmpJbnRlcm5hbDo6c3RyaWN0RmxvYXRB
dHRyR2V0dGVyLCBUZXN0T2JqSW50ZXJuYWw6OnN0cmljdEZsb2F0QXR0clNldHRlciwgMCAvKiBu
byBkYXRhICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBz
dGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0
YW5jZSAqL30sCisgICAgeyJzdHJpY3RGbG9hdCIsIFRlc3RPYmpWOEludGVybmFsOjpzdHJpY3RG
bG9hdEF0dHJHZXR0ZXIsIFRlc3RPYmpWOEludGVybmFsOjpzdHJpY3RGbG9hdEF0dHJTZXR0ZXIs
IDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZB
VUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyog
b24gaW5zdGFuY2UgKi99LAogICAgIC8vIEF0dHJpYnV0ZSAnZGVzY3JpcHRpb24nIChUeXBlOiAn
cmVhZG9ubHkgYXR0cmlidXRlJyBFeHRBdHRyOiAnJykKLSAgICB7ImRlc2NyaXB0aW9uIiwgVGVz
dE9iakludGVybmFsOjpkZXNjcmlwdGlvbkF0dHJHZXR0ZXIsIDAsIDAgLyogbm8gZGF0YSAqLywg
c3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8
djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAor
ICAgIHsiZGVzY3JpcHRpb24iLCBUZXN0T2JqVjhJbnRlcm5hbDo6ZGVzY3JpcHRpb25BdHRyR2V0
dGVyLCAwLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2
ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUp
LCAwIC8qIG9uIGluc3RhbmNlICovfSwKICAgICAvLyBBdHRyaWJ1dGUgJ2lkJyAoVHlwZTogJ2F0
dHJpYnV0ZScgRXh0QXR0cjogJycpCi0gICAgeyJpZCIsIFRlc3RPYmpJbnRlcm5hbDo6aWRBdHRy
R2V0dGVyLCBUZXN0T2JqSW50ZXJuYWw6OmlkQXR0clNldHRlciwgMCAvKiBubyBkYXRhICovLCBz
dGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2
ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0YW5jZSAqL30sCisg
ICAgeyJpZCIsIFRlc3RPYmpWOEludGVybmFsOjppZEF0dHJHZXR0ZXIsIFRlc3RPYmpWOEludGVy
bmFsOjppZEF0dHJTZXR0ZXIsIDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vz
c0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRl
Pih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAogICAgIC8vIEF0dHJpYnV0ZSAnaGFz
aCcgKFR5cGU6ICdyZWFkb25seSBhdHRyaWJ1dGUnIEV4dEF0dHI6ICcnKQotICAgIHsiaGFzaCIs
IFRlc3RPYmpJbnRlcm5hbDo6aGFzaEF0dHJHZXR0ZXIsIDAsIDAgLyogbm8gZGF0YSAqLywgc3Rh
dGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6
OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAorICAg
IHsiaGFzaCIsIFRlc3RPYmpWOEludGVybmFsOjpoYXNoQXR0ckdldHRlciwgMCwgMCAvKiBubyBk
YXRhICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0
aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0YW5j
ZSAqL30sCiB9OwogCiBzdGF0aWMgY29uc3QgQmF0Y2hlZENhbGxiYWNrIFRlc3RPYmpDYWxsYmFj
a3NbXSA9IHsKLSAgICB7InZvaWRNZXRob2QiLCBUZXN0T2JqSW50ZXJuYWw6OnZvaWRNZXRob2RD
YWxsYmFja30sCi0gICAgeyJpbnRNZXRob2QiLCBUZXN0T2JqSW50ZXJuYWw6OmludE1ldGhvZENh
bGxiYWNrfSwKLSAgICB7Im9iak1ldGhvZCIsIFRlc3RPYmpJbnRlcm5hbDo6b2JqTWV0aG9kQ2Fs
bGJhY2t9LAotICAgIHsibWV0aG9kUmV0dXJuaW5nU2VxdWVuY2UiLCBUZXN0T2JqSW50ZXJuYWw6
Om1ldGhvZFJldHVybmluZ1NlcXVlbmNlQ2FsbGJhY2t9LAotICAgIHsic2VyaWFsaXplZFZhbHVl
IiwgVGVzdE9iakludGVybmFsOjpzZXJpYWxpemVkVmFsdWVDYWxsYmFja30sCi0gICAgeyJpZGJL
ZXkiLCBUZXN0T2JqSW50ZXJuYWw6OmlkYktleUNhbGxiYWNrfSwKLSAgICB7Im9wdGlvbnNPYmpl
Y3QiLCBUZXN0T2JqSW50ZXJuYWw6Om9wdGlvbnNPYmplY3RDYWxsYmFja30sCi0gICAgeyJtZXRo
b2RXaXRoRXhjZXB0aW9uIiwgVGVzdE9iakludGVybmFsOjptZXRob2RXaXRoRXhjZXB0aW9uQ2Fs
bGJhY2t9LAorICAgIHsidm9pZE1ldGhvZCIsIFRlc3RPYmpWOEludGVybmFsOjp2b2lkTWV0aG9k
Q2FsbGJhY2t9LAorICAgIHsiaW50TWV0aG9kIiwgVGVzdE9ialY4SW50ZXJuYWw6OmludE1ldGhv
ZENhbGxiYWNrfSwKKyAgICB7Im9iak1ldGhvZCIsIFRlc3RPYmpWOEludGVybmFsOjpvYmpNZXRo
b2RDYWxsYmFja30sCisgICAgeyJtZXRob2RSZXR1cm5pbmdTZXF1ZW5jZSIsIFRlc3RPYmpWOElu
dGVybmFsOjptZXRob2RSZXR1cm5pbmdTZXF1ZW5jZUNhbGxiYWNrfSwKKyAgICB7InNlcmlhbGl6
ZWRWYWx1ZSIsIFRlc3RPYmpWOEludGVybmFsOjpzZXJpYWxpemVkVmFsdWVDYWxsYmFja30sCisg
ICAgeyJpZGJLZXkiLCBUZXN0T2JqVjhJbnRlcm5hbDo6aWRiS2V5Q2FsbGJhY2t9LAorICAgIHsi
b3B0aW9uc09iamVjdCIsIFRlc3RPYmpWOEludGVybmFsOjpvcHRpb25zT2JqZWN0Q2FsbGJhY2t9
LAorICAgIHsibWV0aG9kV2l0aEV4Y2VwdGlvbiIsIFRlc3RPYmpWOEludGVybmFsOjptZXRob2RX
aXRoRXhjZXB0aW9uQ2FsbGJhY2t9LAogICAgIHsiY3VzdG9tTWV0aG9kIiwgVjhUZXN0T2JqOjpj
dXN0b21NZXRob2RDYWxsYmFja30sCiAgICAgeyJjdXN0b21NZXRob2RXaXRoQXJncyIsIFY4VGVz
dE9iajo6Y3VzdG9tTWV0aG9kV2l0aEFyZ3NDYWxsYmFja30sCi0gICAgeyJhZGRFdmVudExpc3Rl
bmVyIiwgVGVzdE9iakludGVybmFsOjphZGRFdmVudExpc3RlbmVyQ2FsbGJhY2t9LAotICAgIHsi
cmVtb3ZlRXZlbnRMaXN0ZW5lciIsIFRlc3RPYmpJbnRlcm5hbDo6cmVtb3ZlRXZlbnRMaXN0ZW5l
ckNhbGxiYWNrfSwKLSAgICB7IndpdGhTY3JpcHRTdGF0ZVZvaWQiLCBUZXN0T2JqSW50ZXJuYWw6
OndpdGhTY3JpcHRTdGF0ZVZvaWRDYWxsYmFja30sCi0gICAgeyJ3aXRoU2NyaXB0U3RhdGVPYmoi
LCBUZXN0T2JqSW50ZXJuYWw6OndpdGhTY3JpcHRTdGF0ZU9iakNhbGxiYWNrfSwKLSAgICB7Indp
dGhTY3JpcHRTdGF0ZVZvaWRFeGNlcHRpb24iLCBUZXN0T2JqSW50ZXJuYWw6OndpdGhTY3JpcHRT
dGF0ZVZvaWRFeGNlcHRpb25DYWxsYmFja30sCi0gICAgeyJ3aXRoU2NyaXB0U3RhdGVPYmpFeGNl
cHRpb24iLCBUZXN0T2JqSW50ZXJuYWw6OndpdGhTY3JpcHRTdGF0ZU9iakV4Y2VwdGlvbkNhbGxi
YWNrfSwKLSAgICB7IndpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0IiwgVGVzdE9iakludGVybmFs
Ojp3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dENhbGxiYWNrfSwKLSAgICB7IndpdGhTY3JpcHRF
eGVjdXRpb25Db250ZXh0QW5kU2NyaXB0U3RhdGUiLCBUZXN0T2JqSW50ZXJuYWw6OndpdGhTY3Jp
cHRFeGVjdXRpb25Db250ZXh0QW5kU2NyaXB0U3RhdGVDYWxsYmFja30sCi0gICAgeyJ3aXRoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRlT2JqRXhjZXB0aW9uIiwgVGVzdE9iaklu
dGVybmFsOjp3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRlT2JqRXhjZXB0
aW9uQ2FsbGJhY2t9LAotICAgIHsid2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRT
dGF0ZVdpdGhTcGFjZXMiLCBUZXN0T2JqSW50ZXJuYWw6OndpdGhTY3JpcHRFeGVjdXRpb25Db250
ZXh0QW5kU2NyaXB0U3RhdGVXaXRoU3BhY2VzQ2FsbGJhY2t9LAotICAgIHsid2l0aFNjcmlwdEFy
Z3VtZW50c0FuZENhbGxTdGFjayIsIFRlc3RPYmpJbnRlcm5hbDo6d2l0aFNjcmlwdEFyZ3VtZW50
c0FuZENhbGxTdGFja0NhbGxiYWNrfSwKLSAgICB7Im1ldGhvZFdpdGhPcHRpb25hbEFyZyIsIFRl
c3RPYmpJbnRlcm5hbDo6bWV0aG9kV2l0aE9wdGlvbmFsQXJnQ2FsbGJhY2t9LAotICAgIHsibWV0
aG9kV2l0aE5vbk9wdGlvbmFsQXJnQW5kT3B0aW9uYWxBcmciLCBUZXN0T2JqSW50ZXJuYWw6Om1l
dGhvZFdpdGhOb25PcHRpb25hbEFyZ0FuZE9wdGlvbmFsQXJnQ2FsbGJhY2t9LAotICAgIHsibWV0
aG9kV2l0aE5vbk9wdGlvbmFsQXJnQW5kVHdvT3B0aW9uYWxBcmdzIiwgVGVzdE9iakludGVybmFs
OjptZXRob2RXaXRoTm9uT3B0aW9uYWxBcmdBbmRUd29PcHRpb25hbEFyZ3NDYWxsYmFja30sCi0g
ICAgeyJtZXRob2RXaXRoT3B0aW9uYWxTdHJpbmciLCBUZXN0T2JqSW50ZXJuYWw6Om1ldGhvZFdp
dGhPcHRpb25hbFN0cmluZ0NhbGxiYWNrfSwKLSAgICB7Im1ldGhvZFdpdGhPcHRpb25hbFN0cmlu
Z0lzVW5kZWZpbmVkIiwgVGVzdE9iakludGVybmFsOjptZXRob2RXaXRoT3B0aW9uYWxTdHJpbmdJ
c1VuZGVmaW5lZENhbGxiYWNrfSwKLSAgICB7Im1ldGhvZFdpdGhPcHRpb25hbFN0cmluZ0lzTnVs
bFN0cmluZyIsIFRlc3RPYmpJbnRlcm5hbDo6bWV0aG9kV2l0aE9wdGlvbmFsU3RyaW5nSXNOdWxs
U3RyaW5nQ2FsbGJhY2t9LAotICAgIHsibWV0aG9kV2l0aENhbGxiYWNrQXJnIiwgVGVzdE9iaklu
dGVybmFsOjptZXRob2RXaXRoQ2FsbGJhY2tBcmdDYWxsYmFja30sCi0gICAgeyJtZXRob2RXaXRo
Tm9uQ2FsbGJhY2tBcmdBbmRDYWxsYmFja0FyZyIsIFRlc3RPYmpJbnRlcm5hbDo6bWV0aG9kV2l0
aE5vbkNhbGxiYWNrQXJnQW5kQ2FsbGJhY2tBcmdDYWxsYmFja30sCi0gICAgeyJtZXRob2RXaXRo
Q2FsbGJhY2tBbmRPcHRpb25hbEFyZyIsIFRlc3RPYmpJbnRlcm5hbDo6bWV0aG9kV2l0aENhbGxi
YWNrQW5kT3B0aW9uYWxBcmdDYWxsYmFja30sCisgICAgeyJhZGRFdmVudExpc3RlbmVyIiwgVGVz
dE9ialY4SW50ZXJuYWw6OmFkZEV2ZW50TGlzdGVuZXJDYWxsYmFja30sCisgICAgeyJyZW1vdmVF
dmVudExpc3RlbmVyIiwgVGVzdE9ialY4SW50ZXJuYWw6OnJlbW92ZUV2ZW50TGlzdGVuZXJDYWxs
YmFja30sCisgICAgeyJ3aXRoU2NyaXB0U3RhdGVWb2lkIiwgVGVzdE9ialY4SW50ZXJuYWw6Ondp
dGhTY3JpcHRTdGF0ZVZvaWRDYWxsYmFja30sCisgICAgeyJ3aXRoU2NyaXB0U3RhdGVPYmoiLCBU
ZXN0T2JqVjhJbnRlcm5hbDo6d2l0aFNjcmlwdFN0YXRlT2JqQ2FsbGJhY2t9LAorICAgIHsid2l0
aFNjcmlwdFN0YXRlVm9pZEV4Y2VwdGlvbiIsIFRlc3RPYmpWOEludGVybmFsOjp3aXRoU2NyaXB0
U3RhdGVWb2lkRXhjZXB0aW9uQ2FsbGJhY2t9LAorICAgIHsid2l0aFNjcmlwdFN0YXRlT2JqRXhj
ZXB0aW9uIiwgVGVzdE9ialY4SW50ZXJuYWw6OndpdGhTY3JpcHRTdGF0ZU9iakV4Y2VwdGlvbkNh
bGxiYWNrfSwKKyAgICB7IndpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0IiwgVGVzdE9ialY4SW50
ZXJuYWw6OndpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0Q2FsbGJhY2t9LAorICAgIHsid2l0aFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZSIsIFRlc3RPYmpWOEludGVybmFsOjp3
aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRlQ2FsbGJhY2t9LAorICAgIHsi
d2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZU9iakV4Y2VwdGlvbiIsIFRl
c3RPYmpWOEludGVybmFsOjp3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRl
T2JqRXhjZXB0aW9uQ2FsbGJhY2t9LAorICAgIHsid2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRB
bmRTY3JpcHRTdGF0ZVdpdGhTcGFjZXMiLCBUZXN0T2JqVjhJbnRlcm5hbDo6d2l0aFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZVdpdGhTcGFjZXNDYWxsYmFja30sCisgICAgeyJ3
aXRoU2NyaXB0QXJndW1lbnRzQW5kQ2FsbFN0YWNrIiwgVGVzdE9ialY4SW50ZXJuYWw6OndpdGhT
Y3JpcHRBcmd1bWVudHNBbmRDYWxsU3RhY2tDYWxsYmFja30sCisgICAgeyJtZXRob2RXaXRoT3B0
aW9uYWxBcmciLCBUZXN0T2JqVjhJbnRlcm5hbDo6bWV0aG9kV2l0aE9wdGlvbmFsQXJnQ2FsbGJh
Y2t9LAorICAgIHsibWV0aG9kV2l0aE5vbk9wdGlvbmFsQXJnQW5kT3B0aW9uYWxBcmciLCBUZXN0
T2JqVjhJbnRlcm5hbDo6bWV0aG9kV2l0aE5vbk9wdGlvbmFsQXJnQW5kT3B0aW9uYWxBcmdDYWxs
YmFja30sCisgICAgeyJtZXRob2RXaXRoTm9uT3B0aW9uYWxBcmdBbmRUd29PcHRpb25hbEFyZ3Mi
LCBUZXN0T2JqVjhJbnRlcm5hbDo6bWV0aG9kV2l0aE5vbk9wdGlvbmFsQXJnQW5kVHdvT3B0aW9u
YWxBcmdzQ2FsbGJhY2t9LAorICAgIHsibWV0aG9kV2l0aE9wdGlvbmFsU3RyaW5nIiwgVGVzdE9i
alY4SW50ZXJuYWw6Om1ldGhvZFdpdGhPcHRpb25hbFN0cmluZ0NhbGxiYWNrfSwKKyAgICB7Im1l
dGhvZFdpdGhPcHRpb25hbFN0cmluZ0lzVW5kZWZpbmVkIiwgVGVzdE9ialY4SW50ZXJuYWw6Om1l
dGhvZFdpdGhPcHRpb25hbFN0cmluZ0lzVW5kZWZpbmVkQ2FsbGJhY2t9LAorICAgIHsibWV0aG9k
V2l0aE9wdGlvbmFsU3RyaW5nSXNOdWxsU3RyaW5nIiwgVGVzdE9ialY4SW50ZXJuYWw6Om1ldGhv
ZFdpdGhPcHRpb25hbFN0cmluZ0lzTnVsbFN0cmluZ0NhbGxiYWNrfSwKKyAgICB7Im1ldGhvZFdp
dGhDYWxsYmFja0FyZyIsIFRlc3RPYmpWOEludGVybmFsOjptZXRob2RXaXRoQ2FsbGJhY2tBcmdD
YWxsYmFja30sCisgICAgeyJtZXRob2RXaXRoTm9uQ2FsbGJhY2tBcmdBbmRDYWxsYmFja0FyZyIs
IFRlc3RPYmpWOEludGVybmFsOjptZXRob2RXaXRoTm9uQ2FsbGJhY2tBcmdBbmRDYWxsYmFja0Fy
Z0NhbGxiYWNrfSwKKyAgICB7Im1ldGhvZFdpdGhDYWxsYmFja0FuZE9wdGlvbmFsQXJnIiwgVGVz
dE9ialY4SW50ZXJuYWw6Om1ldGhvZFdpdGhDYWxsYmFja0FuZE9wdGlvbmFsQXJnQ2FsbGJhY2t9
LAogI2lmIEVOQUJMRShDb25kaXRpb24xKQotICAgIHsiY29uZGl0aW9uYWxNZXRob2QxIiwgVGVz
dE9iakludGVybmFsOjpjb25kaXRpb25hbE1ldGhvZDFDYWxsYmFja30sCisgICAgeyJjb25kaXRp
b25hbE1ldGhvZDEiLCBUZXN0T2JqVjhJbnRlcm5hbDo6Y29uZGl0aW9uYWxNZXRob2QxQ2FsbGJh
Y2t9LAogI2VuZGlmCiAjaWYgRU5BQkxFKENvbmRpdGlvbjEpICYmIEVOQUJMRShDb25kaXRpb24y
KQotICAgIHsiY29uZGl0aW9uYWxNZXRob2QyIiwgVGVzdE9iakludGVybmFsOjpjb25kaXRpb25h
bE1ldGhvZDJDYWxsYmFja30sCisgICAgeyJjb25kaXRpb25hbE1ldGhvZDIiLCBUZXN0T2JqVjhJ
bnRlcm5hbDo6Y29uZGl0aW9uYWxNZXRob2QyQ2FsbGJhY2t9LAogI2VuZGlmCiAjaWYgRU5BQkxF
KENvbmRpdGlvbjEpIHx8IEVOQUJMRShDb25kaXRpb24yKQotICAgIHsiY29uZGl0aW9uYWxNZXRo
b2QzIiwgVGVzdE9iakludGVybmFsOjpjb25kaXRpb25hbE1ldGhvZDNDYWxsYmFja30sCisgICAg
eyJjb25kaXRpb25hbE1ldGhvZDMiLCBUZXN0T2JqVjhJbnRlcm5hbDo6Y29uZGl0aW9uYWxNZXRo
b2QzQ2FsbGJhY2t9LAogI2VuZGlmCi0gICAgeyJvdmVybG9hZGVkTWV0aG9kIiwgVGVzdE9iaklu
dGVybmFsOjpvdmVybG9hZGVkTWV0aG9kQ2FsbGJhY2t9LAotICAgIHsiZ2V0U1ZHRG9jdW1lbnQi
LCBUZXN0T2JqSW50ZXJuYWw6OmdldFNWR0RvY3VtZW50Q2FsbGJhY2t9LAotICAgIHsibXV0YWJs
ZVBvaW50RnVuY3Rpb24iLCBUZXN0T2JqSW50ZXJuYWw6Om11dGFibGVQb2ludEZ1bmN0aW9uQ2Fs
bGJhY2t9LAotICAgIHsiaW1tdXRhYmxlUG9pbnRGdW5jdGlvbiIsIFRlc3RPYmpJbnRlcm5hbDo6
aW1tdXRhYmxlUG9pbnRGdW5jdGlvbkNhbGxiYWNrfSwKLSAgICB7Im9yYW5nZSIsIFRlc3RPYmpJ
bnRlcm5hbDo6b3JhbmdlQ2FsbGJhY2t9LAotICAgIHsic3RyaWN0RnVuY3Rpb24iLCBUZXN0T2Jq
SW50ZXJuYWw6OnN0cmljdEZ1bmN0aW9uQ2FsbGJhY2t9LAorICAgIHsib3ZlcmxvYWRlZE1ldGhv
ZCIsIFRlc3RPYmpWOEludGVybmFsOjpvdmVybG9hZGVkTWV0aG9kQ2FsbGJhY2t9LAorICAgIHsi
Z2V0U1ZHRG9jdW1lbnQiLCBUZXN0T2JqVjhJbnRlcm5hbDo6Z2V0U1ZHRG9jdW1lbnRDYWxsYmFj
a30sCisgICAgeyJtdXRhYmxlUG9pbnRGdW5jdGlvbiIsIFRlc3RPYmpWOEludGVybmFsOjptdXRh
YmxlUG9pbnRGdW5jdGlvbkNhbGxiYWNrfSwKKyAgICB7ImltbXV0YWJsZVBvaW50RnVuY3Rpb24i
LCBUZXN0T2JqVjhJbnRlcm5hbDo6aW1tdXRhYmxlUG9pbnRGdW5jdGlvbkNhbGxiYWNrfSwKKyAg
ICB7Im9yYW5nZSIsIFRlc3RPYmpWOEludGVybmFsOjpvcmFuZ2VDYWxsYmFja30sCisgICAgeyJz
dHJpY3RGdW5jdGlvbiIsIFRlc3RPYmpWOEludGVybmFsOjpzdHJpY3RGdW5jdGlvbkNhbGxiYWNr
fSwKIH07CiAKIHN0YXRpYyBjb25zdCBCYXRjaGVkQ29uc3RhbnQgVGVzdE9iakNvbnN0c1tdID0g
ewpAQCAtMjA0MCwxMyArMjA0MCwxMyBAQCBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0
aW9uVGVtcGxhCiAgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmVuYWJsZWRBdFJ1bnRp
bWVBdHRyMUVuYWJsZWQoKSkgewogICAgICAgICBzdGF0aWMgY29uc3QgQmF0Y2hlZEF0dHJpYnV0
ZSBhdHRyRGF0YSA9XAogICAgICAgICAvLyBBdHRyaWJ1dGUgJ2VuYWJsZWRBdFJ1bnRpbWVBdHRy
MScgKFR5cGU6ICdhdHRyaWJ1dGUnIEV4dEF0dHI6ICdWOEVuYWJsZWRBdFJ1bnRpbWUnKQotICAg
ICAgICB7ImVuYWJsZWRBdFJ1bnRpbWVBdHRyMSIsIFRlc3RPYmpJbnRlcm5hbDo6ZW5hYmxlZEF0
UnVudGltZUF0dHIxQXR0ckdldHRlciwgVGVzdE9iakludGVybmFsOjplbmFibGVkQXRSdW50aW1l
QXR0cjFBdHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3ND
b250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4o
djg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICovfTsKKyAgICAgICAgeyJlbmFibGVkQXRSdW50
aW1lQXR0cjEiLCBUZXN0T2JqVjhJbnRlcm5hbDo6ZW5hYmxlZEF0UnVudGltZUF0dHIxQXR0ckdl
dHRlciwgVGVzdE9ialY4SW50ZXJuYWw6OmVuYWJsZWRBdFJ1bnRpbWVBdHRyMUF0dHJTZXR0ZXIs
IDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZB
VUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyog
b24gaW5zdGFuY2UgKi99OwogICAgICAgICBjb25maWd1cmVBdHRyaWJ1dGUoaW5zdGFuY2UsIHBy
b3RvLCBhdHRyRGF0YSk7CiAgICAgfQogICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpm
ZWF0dXJlTmFtZUVuYWJsZWQoKSkgewogICAgICAgICBzdGF0aWMgY29uc3QgQmF0Y2hlZEF0dHJp
YnV0ZSBhdHRyRGF0YSA9XAogICAgICAgICAvLyBBdHRyaWJ1dGUgJ2VuYWJsZWRBdFJ1bnRpbWVB
dHRyMicgKFR5cGU6ICdhdHRyaWJ1dGUnIEV4dEF0dHI6ICdWOEVuYWJsZWRBdFJ1bnRpbWUnKQot
ICAgICAgICB7ImVuYWJsZWRBdFJ1bnRpbWVBdHRyMiIsIFRlc3RPYmpJbnRlcm5hbDo6ZW5hYmxl
ZEF0UnVudGltZUF0dHIyQXR0ckdldHRlciwgVGVzdE9iakludGVybmFsOjplbmFibGVkQXRSdW50
aW1lQXR0cjJBdHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nl
c3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0
ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICovfTsKKyAgICAgICAgeyJlbmFibGVkQXRS
dW50aW1lQXR0cjIiLCBUZXN0T2JqVjhJbnRlcm5hbDo6ZW5hYmxlZEF0UnVudGltZUF0dHIyQXR0
ckdldHRlciwgVGVzdE9ialY4SW50ZXJuYWw6OmVuYWJsZWRBdFJ1bnRpbWVBdHRyMkF0dHJTZXR0
ZXIsIDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpE
RUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAg
Lyogb24gaW5zdGFuY2UgKi99OwogICAgICAgICBjb25maWd1cmVBdHRyaWJ1dGUoaW5zdGFuY2Us
IHByb3RvLCBhdHRyRGF0YSk7CiAgICAgfQogCkBAIC0yMDU0LDcxICsyMDU0LDcxIEBAIHN0YXRp
YyB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGEKICAgICBjb25zdCBpbnQgdm9pZE1l
dGhvZFdpdGhBcmdzQXJnYyA9IDM7CiAgICAgdjg6OkhhbmRsZTx2ODo6RnVuY3Rpb25UZW1wbGF0
ZT4gdm9pZE1ldGhvZFdpdGhBcmdzQXJndlt2b2lkTWV0aG9kV2l0aEFyZ3NBcmdjXSA9IHsgdjg6
OkhhbmRsZTx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4oKSwgdjg6OkhhbmRsZTx2ODo6RnVuY3Rpb25U
ZW1wbGF0ZT4oKSwgVjhUZXN0T2JqOjpHZXRSYXdUZW1wbGF0ZSgpIH07CiAgICAgdjg6OkhhbmRs
ZTx2ODo6U2lnbmF0dXJlPiB2b2lkTWV0aG9kV2l0aEFyZ3NTaWduYXR1cmUgPSB2ODo6U2lnbmF0
dXJlOjpOZXcoZGVzYywgdm9pZE1ldGhvZFdpdGhBcmdzQXJnYywgdm9pZE1ldGhvZFdpdGhBcmdz
QXJndik7Ci0gICAgcHJvdG8tPlNldCh2ODo6U3RyaW5nOjpOZXcoInZvaWRNZXRob2RXaXRoQXJn
cyIpLCB2ODo6RnVuY3Rpb25UZW1wbGF0ZTo6TmV3KFRlc3RPYmpJbnRlcm5hbDo6dm9pZE1ldGhv
ZFdpdGhBcmdzQ2FsbGJhY2ssIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpLCB2b2lkTWV0aG9kV2l0
aEFyZ3NTaWduYXR1cmUpKTsKKyAgICBwcm90by0+U2V0KHY4OjpTdHJpbmc6Ok5ldygidm9pZE1l
dGhvZFdpdGhBcmdzIiksIHY4OjpGdW5jdGlvblRlbXBsYXRlOjpOZXcoVGVzdE9ialY4SW50ZXJu
YWw6OnZvaWRNZXRob2RXaXRoQXJnc0NhbGxiYWNrLCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKSwg
dm9pZE1ldGhvZFdpdGhBcmdzU2lnbmF0dXJlKSk7CiAKICAgICAvLyBDdXN0b20gU2lnbmF0dXJl
ICdpbnRNZXRob2RXaXRoQXJncycKICAgICBjb25zdCBpbnQgaW50TWV0aG9kV2l0aEFyZ3NBcmdj
ID0gMzsKICAgICB2ODo6SGFuZGxlPHY4OjpGdW5jdGlvblRlbXBsYXRlPiBpbnRNZXRob2RXaXRo
QXJnc0FyZ3ZbaW50TWV0aG9kV2l0aEFyZ3NBcmdjXSA9IHsgdjg6OkhhbmRsZTx2ODo6RnVuY3Rp
b25UZW1wbGF0ZT4oKSwgdjg6OkhhbmRsZTx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4oKSwgVjhUZXN0
T2JqOjpHZXRSYXdUZW1wbGF0ZSgpIH07CiAgICAgdjg6OkhhbmRsZTx2ODo6U2lnbmF0dXJlPiBp
bnRNZXRob2RXaXRoQXJnc1NpZ25hdHVyZSA9IHY4OjpTaWduYXR1cmU6Ok5ldyhkZXNjLCBpbnRN
ZXRob2RXaXRoQXJnc0FyZ2MsIGludE1ldGhvZFdpdGhBcmdzQXJndik7Ci0gICAgcHJvdG8tPlNl
dCh2ODo6U3RyaW5nOjpOZXcoImludE1ldGhvZFdpdGhBcmdzIiksIHY4OjpGdW5jdGlvblRlbXBs
YXRlOjpOZXcoVGVzdE9iakludGVybmFsOjppbnRNZXRob2RXaXRoQXJnc0NhbGxiYWNrLCB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4oKSwgaW50TWV0aG9kV2l0aEFyZ3NTaWduYXR1cmUpKTsKKyAgICBw
cm90by0+U2V0KHY4OjpTdHJpbmc6Ok5ldygiaW50TWV0aG9kV2l0aEFyZ3MiKSwgdjg6OkZ1bmN0
aW9uVGVtcGxhdGU6Ok5ldyhUZXN0T2JqVjhJbnRlcm5hbDo6aW50TWV0aG9kV2l0aEFyZ3NDYWxs
YmFjaywgdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCksIGludE1ldGhvZFdpdGhBcmdzU2lnbmF0dXJl
KSk7CiAKICAgICAvLyBDdXN0b20gU2lnbmF0dXJlICdvYmpNZXRob2RXaXRoQXJncycKICAgICBj
b25zdCBpbnQgb2JqTWV0aG9kV2l0aEFyZ3NBcmdjID0gMzsKICAgICB2ODo6SGFuZGxlPHY4OjpG
dW5jdGlvblRlbXBsYXRlPiBvYmpNZXRob2RXaXRoQXJnc0FyZ3Zbb2JqTWV0aG9kV2l0aEFyZ3NB
cmdjXSA9IHsgdjg6OkhhbmRsZTx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4oKSwgdjg6OkhhbmRsZTx2
ODo6RnVuY3Rpb25UZW1wbGF0ZT4oKSwgVjhUZXN0T2JqOjpHZXRSYXdUZW1wbGF0ZSgpIH07CiAg
ICAgdjg6OkhhbmRsZTx2ODo6U2lnbmF0dXJlPiBvYmpNZXRob2RXaXRoQXJnc1NpZ25hdHVyZSA9
IHY4OjpTaWduYXR1cmU6Ok5ldyhkZXNjLCBvYmpNZXRob2RXaXRoQXJnc0FyZ2MsIG9iak1ldGhv
ZFdpdGhBcmdzQXJndik7Ci0gICAgcHJvdG8tPlNldCh2ODo6U3RyaW5nOjpOZXcoIm9iak1ldGhv
ZFdpdGhBcmdzIiksIHY4OjpGdW5jdGlvblRlbXBsYXRlOjpOZXcoVGVzdE9iakludGVybmFsOjpv
YmpNZXRob2RXaXRoQXJnc0NhbGxiYWNrLCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKSwgb2JqTWV0
aG9kV2l0aEFyZ3NTaWduYXR1cmUpKTsKKyAgICBwcm90by0+U2V0KHY4OjpTdHJpbmc6Ok5ldygi
b2JqTWV0aG9kV2l0aEFyZ3MiKSwgdjg6OkZ1bmN0aW9uVGVtcGxhdGU6Ok5ldyhUZXN0T2JqVjhJ
bnRlcm5hbDo6b2JqTWV0aG9kV2l0aEFyZ3NDYWxsYmFjaywgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
KCksIG9iak1ldGhvZFdpdGhBcmdzU2lnbmF0dXJlKSk7CiAKICAgICAvLyBDdXN0b20gU2lnbmF0
dXJlICdtZXRob2RXaXRoU2VxdWVuY2VBcmcnCiAgICAgY29uc3QgaW50IG1ldGhvZFdpdGhTZXF1
ZW5jZUFyZ0FyZ2MgPSAxOwogICAgIHY4OjpIYW5kbGU8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IG1l
dGhvZFdpdGhTZXF1ZW5jZUFyZ0FyZ3ZbbWV0aG9kV2l0aFNlcXVlbmNlQXJnQXJnY10gPSB7IFY4
c2VxdWVuY2U8U2NyaXB0UHJvZmlsZT46OkdldFJhd1RlbXBsYXRlKCkgfTsKICAgICB2ODo6SGFu
ZGxlPHY4OjpTaWduYXR1cmU+IG1ldGhvZFdpdGhTZXF1ZW5jZUFyZ1NpZ25hdHVyZSA9IHY4OjpT
aWduYXR1cmU6Ok5ldyhkZXNjLCBtZXRob2RXaXRoU2VxdWVuY2VBcmdBcmdjLCBtZXRob2RXaXRo
U2VxdWVuY2VBcmdBcmd2KTsKLSAgICBwcm90by0+U2V0KHY4OjpTdHJpbmc6Ok5ldygibWV0aG9k
V2l0aFNlcXVlbmNlQXJnIiksIHY4OjpGdW5jdGlvblRlbXBsYXRlOjpOZXcoVGVzdE9iakludGVy
bmFsOjptZXRob2RXaXRoU2VxdWVuY2VBcmdDYWxsYmFjaywgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
KCksIG1ldGhvZFdpdGhTZXF1ZW5jZUFyZ1NpZ25hdHVyZSkpOworICAgIHByb3RvLT5TZXQodjg6
OlN0cmluZzo6TmV3KCJtZXRob2RXaXRoU2VxdWVuY2VBcmciKSwgdjg6OkZ1bmN0aW9uVGVtcGxh
dGU6Ok5ldyhUZXN0T2JqVjhJbnRlcm5hbDo6bWV0aG9kV2l0aFNlcXVlbmNlQXJnQ2FsbGJhY2ss
IHY4OjpIYW5kbGU8djg6OlZhbHVlPigpLCBtZXRob2RXaXRoU2VxdWVuY2VBcmdTaWduYXR1cmUp
KTsKIAogICAgIC8vIEN1c3RvbSBTaWduYXR1cmUgJ21ldGhvZFRoYXRSZXF1aXJlc0FsbEFyZ3NB
bmRUaHJvd3MnCiAgICAgY29uc3QgaW50IG1ldGhvZFRoYXRSZXF1aXJlc0FsbEFyZ3NBbmRUaHJv
d3NBcmdjID0gMjsKICAgICB2ODo6SGFuZGxlPHY4OjpGdW5jdGlvblRlbXBsYXRlPiBtZXRob2RU
aGF0UmVxdWlyZXNBbGxBcmdzQW5kVGhyb3dzQXJndlttZXRob2RUaGF0UmVxdWlyZXNBbGxBcmdz
QW5kVGhyb3dzQXJnY10gPSB7IHY4OjpIYW5kbGU8djg6OkZ1bmN0aW9uVGVtcGxhdGU+KCksIFY4
VGVzdE9iajo6R2V0UmF3VGVtcGxhdGUoKSB9OwogICAgIHY4OjpIYW5kbGU8djg6OlNpZ25hdHVy
ZT4gbWV0aG9kVGhhdFJlcXVpcmVzQWxsQXJnc0FuZFRocm93c1NpZ25hdHVyZSA9IHY4OjpTaWdu
YXR1cmU6Ok5ldyhkZXNjLCBtZXRob2RUaGF0UmVxdWlyZXNBbGxBcmdzQW5kVGhyb3dzQXJnYywg
bWV0aG9kVGhhdFJlcXVpcmVzQWxsQXJnc0FuZFRocm93c0FyZ3YpOwotICAgIHByb3RvLT5TZXQo
djg6OlN0cmluZzo6TmV3KCJtZXRob2RUaGF0UmVxdWlyZXNBbGxBcmdzQW5kVGhyb3dzIiksIHY4
OjpGdW5jdGlvblRlbXBsYXRlOjpOZXcoVGVzdE9iakludGVybmFsOjptZXRob2RUaGF0UmVxdWly
ZXNBbGxBcmdzQW5kVGhyb3dzQ2FsbGJhY2ssIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpLCBtZXRo
b2RUaGF0UmVxdWlyZXNBbGxBcmdzQW5kVGhyb3dzU2lnbmF0dXJlKSk7Ci0gICAgZGVzYy0+U2V0
KHY4OjpTdHJpbmc6Ok5ldygiY2xhc3NNZXRob2QiKSwgdjg6OkZ1bmN0aW9uVGVtcGxhdGU6Ok5l
dyhUZXN0T2JqSW50ZXJuYWw6OmNsYXNzTWV0aG9kQ2FsbGJhY2ssIHY4OjpIYW5kbGU8djg6OlZh
bHVlPigpLCB2ODo6TG9jYWw8djg6OlNpZ25hdHVyZT4oKSkpOwotICAgIGRlc2MtPlNldCh2ODo6
U3RyaW5nOjpOZXcoImNsYXNzTWV0aG9kV2l0aE9wdGlvbmFsIiksIHY4OjpGdW5jdGlvblRlbXBs
YXRlOjpOZXcoVGVzdE9iakludGVybmFsOjpjbGFzc01ldGhvZFdpdGhPcHRpb25hbENhbGxiYWNr
LCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKSwgdjg6OkxvY2FsPHY4OjpTaWduYXR1cmU+KCkpKTsK
KyAgICBwcm90by0+U2V0KHY4OjpTdHJpbmc6Ok5ldygibWV0aG9kVGhhdFJlcXVpcmVzQWxsQXJn
c0FuZFRocm93cyIpLCB2ODo6RnVuY3Rpb25UZW1wbGF0ZTo6TmV3KFRlc3RPYmpWOEludGVybmFs
OjptZXRob2RUaGF0UmVxdWlyZXNBbGxBcmdzQW5kVGhyb3dzQ2FsbGJhY2ssIHY4OjpIYW5kbGU8
djg6OlZhbHVlPigpLCBtZXRob2RUaGF0UmVxdWlyZXNBbGxBcmdzQW5kVGhyb3dzU2lnbmF0dXJl
KSk7CisgICAgZGVzYy0+U2V0KHY4OjpTdHJpbmc6Ok5ldygiY2xhc3NNZXRob2QiKSwgdjg6OkZ1
bmN0aW9uVGVtcGxhdGU6Ok5ldyhUZXN0T2JqVjhJbnRlcm5hbDo6Y2xhc3NNZXRob2RDYWxsYmFj
aywgdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCksIHY4OjpMb2NhbDx2ODo6U2lnbmF0dXJlPigpKSk7
CisgICAgZGVzYy0+U2V0KHY4OjpTdHJpbmc6Ok5ldygiY2xhc3NNZXRob2RXaXRoT3B0aW9uYWwi
KSwgdjg6OkZ1bmN0aW9uVGVtcGxhdGU6Ok5ldyhUZXN0T2JqVjhJbnRlcm5hbDo6Y2xhc3NNZXRo
b2RXaXRoT3B0aW9uYWxDYWxsYmFjaywgdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCksIHY4OjpMb2Nh
bDx2ODo6U2lnbmF0dXJlPigpKSk7CiAgICAgZGVzYy0+U2V0KHY4OjpTdHJpbmc6Ok5ldygiY2xh
c3NNZXRob2QyIiksIHY4OjpGdW5jdGlvblRlbXBsYXRlOjpOZXcoVjhUZXN0T2JqOjpjbGFzc01l
dGhvZDJDYWxsYmFjaywgdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCksIHY4OjpMb2NhbDx2ODo6U2ln
bmF0dXJlPigpKSk7CiAjaWYgRU5BQkxFKENvbmRpdGlvbjEpCi0gICAgZGVzYy0+U2V0KHY4OjpT
dHJpbmc6Ok5ldygib3ZlcmxvYWRlZE1ldGhvZDEiKSwgdjg6OkZ1bmN0aW9uVGVtcGxhdGU6Ok5l
dyhUZXN0T2JqSW50ZXJuYWw6Om92ZXJsb2FkZWRNZXRob2QxQ2FsbGJhY2ssIHY4OjpIYW5kbGU8
djg6OlZhbHVlPigpLCB2ODo6TG9jYWw8djg6OlNpZ25hdHVyZT4oKSkpOworICAgIGRlc2MtPlNl
dCh2ODo6U3RyaW5nOjpOZXcoIm92ZXJsb2FkZWRNZXRob2QxIiksIHY4OjpGdW5jdGlvblRlbXBs
YXRlOjpOZXcoVGVzdE9ialY4SW50ZXJuYWw6Om92ZXJsb2FkZWRNZXRob2QxQ2FsbGJhY2ssIHY4
OjpIYW5kbGU8djg6OlZhbHVlPigpLCB2ODo6TG9jYWw8djg6OlNpZ25hdHVyZT4oKSkpOwogI2Vu
ZGlmIC8vIEVOQUJMRShDb25kaXRpb24xKQogICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjplbmFibGVkQXRSdW50aW1lTWV0aG9kMUVuYWJsZWQoKSkKLSAgICAgICAgcHJvdG8tPlNldCh2
ODo6U3RyaW5nOjpOZXcoImVuYWJsZWRBdFJ1bnRpbWVNZXRob2QxIiksIHY4OjpGdW5jdGlvblRl
bXBsYXRlOjpOZXcoVGVzdE9iakludGVybmFsOjplbmFibGVkQXRSdW50aW1lTWV0aG9kMUNhbGxi
YWNrLCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKSwgZGVmYXVsdFNpZ25hdHVyZSkpOworICAgICAg
ICBwcm90by0+U2V0KHY4OjpTdHJpbmc6Ok5ldygiZW5hYmxlZEF0UnVudGltZU1ldGhvZDEiKSwg
djg6OkZ1bmN0aW9uVGVtcGxhdGU6Ok5ldyhUZXN0T2JqVjhJbnRlcm5hbDo6ZW5hYmxlZEF0UnVu
dGltZU1ldGhvZDFDYWxsYmFjaywgdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCksIGRlZmF1bHRTaWdu
YXR1cmUpKTsKICAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6ZmVhdHVyZU5hbWVFbmFi
bGVkKCkpCi0gICAgICAgIHByb3RvLT5TZXQodjg6OlN0cmluZzo6TmV3KCJlbmFibGVkQXRSdW50
aW1lTWV0aG9kMiIpLCB2ODo6RnVuY3Rpb25UZW1wbGF0ZTo6TmV3KFRlc3RPYmpJbnRlcm5hbDo6
ZW5hYmxlZEF0UnVudGltZU1ldGhvZDJDYWxsYmFjaywgdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCks
IGRlZmF1bHRTaWduYXR1cmUpKTsKKyAgICAgICAgcHJvdG8tPlNldCh2ODo6U3RyaW5nOjpOZXco
ImVuYWJsZWRBdFJ1bnRpbWVNZXRob2QyIiksIHY4OjpGdW5jdGlvblRlbXBsYXRlOjpOZXcoVGVz
dE9ialY4SW50ZXJuYWw6OmVuYWJsZWRBdFJ1bnRpbWVNZXRob2QyQ2FsbGJhY2ssIHY4OjpIYW5k
bGU8djg6OlZhbHVlPigpLCBkZWZhdWx0U2lnbmF0dXJlKSk7CiAKICAgICAvLyBDdXN0b20gU2ln
bmF0dXJlICdjb252ZXJ0MScKICAgICBjb25zdCBpbnQgY29udmVydDFBcmdjID0gMTsKICAgICB2
ODo6SGFuZGxlPHY4OjpGdW5jdGlvblRlbXBsYXRlPiBjb252ZXJ0MUFyZ3ZbY29udmVydDFBcmdj
XSA9IHsgVjhhOjpHZXRSYXdUZW1wbGF0ZSgpIH07CiAgICAgdjg6OkhhbmRsZTx2ODo6U2lnbmF0
dXJlPiBjb252ZXJ0MVNpZ25hdHVyZSA9IHY4OjpTaWduYXR1cmU6Ok5ldyhkZXNjLCBjb252ZXJ0
MUFyZ2MsIGNvbnZlcnQxQXJndik7Ci0gICAgcHJvdG8tPlNldCh2ODo6U3RyaW5nOjpOZXcoImNv
bnZlcnQxIiksIHY4OjpGdW5jdGlvblRlbXBsYXRlOjpOZXcoVGVzdE9iakludGVybmFsOjpjb252
ZXJ0MUNhbGxiYWNrLCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKSwgY29udmVydDFTaWduYXR1cmUp
KTsKKyAgICBwcm90by0+U2V0KHY4OjpTdHJpbmc6Ok5ldygiY29udmVydDEiKSwgdjg6OkZ1bmN0
aW9uVGVtcGxhdGU6Ok5ldyhUZXN0T2JqVjhJbnRlcm5hbDo6Y29udmVydDFDYWxsYmFjaywgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+KCksIGNvbnZlcnQxU2lnbmF0dXJlKSk7CiAKICAgICAvLyBDdXN0
b20gU2lnbmF0dXJlICdjb252ZXJ0MicKICAgICBjb25zdCBpbnQgY29udmVydDJBcmdjID0gMTsK
ICAgICB2ODo6SGFuZGxlPHY4OjpGdW5jdGlvblRlbXBsYXRlPiBjb252ZXJ0MkFyZ3ZbY29udmVy
dDJBcmdjXSA9IHsgVjhiOjpHZXRSYXdUZW1wbGF0ZSgpIH07CiAgICAgdjg6OkhhbmRsZTx2ODo6
U2lnbmF0dXJlPiBjb252ZXJ0MlNpZ25hdHVyZSA9IHY4OjpTaWduYXR1cmU6Ok5ldyhkZXNjLCBj
b252ZXJ0MkFyZ2MsIGNvbnZlcnQyQXJndik7Ci0gICAgcHJvdG8tPlNldCh2ODo6U3RyaW5nOjpO
ZXcoImNvbnZlcnQyIiksIHY4OjpGdW5jdGlvblRlbXBsYXRlOjpOZXcoVGVzdE9iakludGVybmFs
Ojpjb252ZXJ0MkNhbGxiYWNrLCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKSwgY29udmVydDJTaWdu
YXR1cmUpKTsKKyAgICBwcm90by0+U2V0KHY4OjpTdHJpbmc6Ok5ldygiY29udmVydDIiKSwgdjg6
OkZ1bmN0aW9uVGVtcGxhdGU6Ok5ldyhUZXN0T2JqVjhJbnRlcm5hbDo6Y29udmVydDJDYWxsYmFj
aywgdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCksIGNvbnZlcnQyU2lnbmF0dXJlKSk7CiAKICAgICAv
LyBDdXN0b20gU2lnbmF0dXJlICdjb252ZXJ0MycKICAgICBjb25zdCBpbnQgY29udmVydDNBcmdj
ID0gMTsKICAgICB2ODo6SGFuZGxlPHY4OjpGdW5jdGlvblRlbXBsYXRlPiBjb252ZXJ0M0FyZ3Zb
Y29udmVydDNBcmdjXSA9IHsgVjhjOjpHZXRSYXdUZW1wbGF0ZSgpIH07CiAgICAgdjg6OkhhbmRs
ZTx2ODo6U2lnbmF0dXJlPiBjb252ZXJ0M1NpZ25hdHVyZSA9IHY4OjpTaWduYXR1cmU6Ok5ldyhk
ZXNjLCBjb252ZXJ0M0FyZ2MsIGNvbnZlcnQzQXJndik7Ci0gICAgcHJvdG8tPlNldCh2ODo6U3Ry
aW5nOjpOZXcoImNvbnZlcnQzIiksIHY4OjpGdW5jdGlvblRlbXBsYXRlOjpOZXcoVGVzdE9iaklu
dGVybmFsOjpjb252ZXJ0M0NhbGxiYWNrLCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKSwgY29udmVy
dDNTaWduYXR1cmUpKTsKKyAgICBwcm90by0+U2V0KHY4OjpTdHJpbmc6Ok5ldygiY29udmVydDMi
KSwgdjg6OkZ1bmN0aW9uVGVtcGxhdGU6Ok5ldyhUZXN0T2JqVjhJbnRlcm5hbDo6Y29udmVydDND
YWxsYmFjaywgdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCksIGNvbnZlcnQzU2lnbmF0dXJlKSk7CiAK
ICAgICAvLyBDdXN0b20gU2lnbmF0dXJlICdjb252ZXJ0NCcKICAgICBjb25zdCBpbnQgY29udmVy
dDRBcmdjID0gMTsKICAgICB2ODo6SGFuZGxlPHY4OjpGdW5jdGlvblRlbXBsYXRlPiBjb252ZXJ0
NEFyZ3ZbY29udmVydDRBcmdjXSA9IHsgVjhkOjpHZXRSYXdUZW1wbGF0ZSgpIH07CiAgICAgdjg6
OkhhbmRsZTx2ODo6U2lnbmF0dXJlPiBjb252ZXJ0NFNpZ25hdHVyZSA9IHY4OjpTaWduYXR1cmU6
Ok5ldyhkZXNjLCBjb252ZXJ0NEFyZ2MsIGNvbnZlcnQ0QXJndik7Ci0gICAgcHJvdG8tPlNldCh2
ODo6U3RyaW5nOjpOZXcoImNvbnZlcnQ0IiksIHY4OjpGdW5jdGlvblRlbXBsYXRlOjpOZXcoVGVz
dE9iakludGVybmFsOjpjb252ZXJ0NENhbGxiYWNrLCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKSwg
Y29udmVydDRTaWduYXR1cmUpKTsKKyAgICBwcm90by0+U2V0KHY4OjpTdHJpbmc6Ok5ldygiY29u
dmVydDQiKSwgdjg6OkZ1bmN0aW9uVGVtcGxhdGU6Ok5ldyhUZXN0T2JqVjhJbnRlcm5hbDo6Y29u
dmVydDRDYWxsYmFjaywgdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCksIGNvbnZlcnQ0U2lnbmF0dXJl
KSk7CiAKICAgICAvLyBDdXN0b20gU2lnbmF0dXJlICdjb252ZXJ0NScKICAgICBjb25zdCBpbnQg
Y29udmVydDVBcmdjID0gMTsKICAgICB2ODo6SGFuZGxlPHY4OjpGdW5jdGlvblRlbXBsYXRlPiBj
b252ZXJ0NUFyZ3ZbY29udmVydDVBcmdjXSA9IHsgVjhlOjpHZXRSYXdUZW1wbGF0ZSgpIH07CiAg
ICAgdjg6OkhhbmRsZTx2ODo6U2lnbmF0dXJlPiBjb252ZXJ0NVNpZ25hdHVyZSA9IHY4OjpTaWdu
YXR1cmU6Ok5ldyhkZXNjLCBjb252ZXJ0NUFyZ2MsIGNvbnZlcnQ1QXJndik7Ci0gICAgcHJvdG8t
PlNldCh2ODo6U3RyaW5nOjpOZXcoImNvbnZlcnQ1IiksIHY4OjpGdW5jdGlvblRlbXBsYXRlOjpO
ZXcoVGVzdE9iakludGVybmFsOjpjb252ZXJ0NUNhbGxiYWNrLCB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4oKSwgY29udmVydDVTaWduYXR1cmUpKTsKKyAgICBwcm90by0+U2V0KHY4OjpTdHJpbmc6Ok5l
dygiY29udmVydDUiKSwgdjg6OkZ1bmN0aW9uVGVtcGxhdGU6Ok5ldyhUZXN0T2JqVjhJbnRlcm5h
bDo6Y29udmVydDVDYWxsYmFjaywgdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCksIGNvbnZlcnQ1U2ln
bmF0dXJlKSk7CiAgICAgYmF0Y2hDb25maWd1cmVDb25zdGFudHMoZGVzYywgcHJvdG8sIFRlc3RP
YmpDb25zdHMsIFdURl9BUlJBWV9MRU5HVEgoVGVzdE9iakNvbnN0cykpOwogCiAgICAgLy8gQ3Vz
dG9tIHRvU3RyaW5nIHRlbXBsYXRlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAkocmV2aXNpb24gMTEzODUxKQorKysg
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwLDcgKzQwLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBXcmFwcGVyVHlwZUluZm8gVjhUZXN0U2VyaWFsaXplZFNj
cmlwdFZhbHVlSW50ZXJmYWNlOjppbmZvID0geyBWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJ
bnRlcmZhY2U6OkdldFRlbXBsYXRlLCBWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZh
Y2U6OmRlcmVmT2JqZWN0LCAwLCAwIH07CiAKLW5hbWVzcGFjZSBUZXN0U2VyaWFsaXplZFNjcmlw
dFZhbHVlSW50ZXJmYWNlSW50ZXJuYWwgeworbmFtZXNwYWNlIFRlc3RTZXJpYWxpemVkU2NyaXB0
VmFsdWVJbnRlcmZhY2VWOEludGVybmFsIHsKIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHZvaWQg
VjhfVVNFKFQpIHsgfQogCkBAIC0xNzMsMjIgKzE3MywyMiBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IG11bHRpVHJhbnNmCiAgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigp
OwogfQogCi19IC8vIG5hbWVzcGFjZSBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
SW50ZXJuYWwKK30gLy8gbmFtZXNwYWNlIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZh
Y2VWOEludGVybmFsCiAKIHN0YXRpYyBjb25zdCBCYXRjaGVkQXR0cmlidXRlIFRlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2VBdHRyc1tdID0gewogICAgIC8vIEF0dHJpYnV0ZSAndmFs
dWUnIChUeXBlOiAnYXR0cmlidXRlJyBFeHRBdHRyOiAnJykKLSAgICB7InZhbHVlIiwgVGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUludGVybmFsOjp2YWx1ZUF0dHJHZXR0ZXIsIFRl
c3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VJbnRlcm5hbDo6dmFsdWVBdHRyU2V0dGVy
LCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVG
QVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8q
IG9uIGluc3RhbmNlICovfSwKKyAgICB7InZhbHVlIiwgVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZVY4SW50ZXJuYWw6OnZhbHVlQXR0ckdldHRlciwgVGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZVY4SW50ZXJuYWw6OnZhbHVlQXR0clNldHRlciwgMCAvKiBubyBkYXRh
ICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0aWNf
Y2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0YW5jZSAq
L30sCiAgICAgLy8gQXR0cmlidXRlICdyZWFkb25seVZhbHVlJyAoVHlwZTogJ3JlYWRvbmx5IGF0
dHJpYnV0ZScgRXh0QXR0cjogJycpCi0gICAgeyJyZWFkb25seVZhbHVlIiwgVGVzdFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUludGVybmFsOjpyZWFkb25seVZhbHVlQXR0ckdldHRlciwg
MCwgMCAvKiBubyBkYXRhICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRF
RkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAv
KiBvbiBpbnN0YW5jZSAqL30sCisgICAgeyJyZWFkb25seVZhbHVlIiwgVGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZVY4SW50ZXJuYWw6OnJlYWRvbmx5VmFsdWVBdHRyR2V0dGVyLCAw
LCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVG
QVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8q
IG9uIGluc3RhbmNlICovfSwKICAgICAvLyBBdHRyaWJ1dGUgJ2NhY2hlZFZhbHVlJyAoVHlwZTog
J2F0dHJpYnV0ZScgRXh0QXR0cjogJ0NhY2hlZEF0dHJpYnV0ZScpCi0gICAgeyJjYWNoZWRWYWx1
ZSIsIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VJbnRlcm5hbDo6Y2FjaGVkVmFs
dWVBdHRyR2V0dGVyLCBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlSW50ZXJuYWw6
OmNhY2hlZFZhbHVlQXR0clNldHRlciwgMCAvKiBubyBkYXRhICovLCBzdGF0aWNfY2FzdDx2ODo6
QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRy
aWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0YW5jZSAqL30sCisgICAgeyJjYWNoZWRWYWx1
ZSIsIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VWOEludGVybmFsOjpjYWNoZWRW
YWx1ZUF0dHJHZXR0ZXIsIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VWOEludGVy
bmFsOjpjYWNoZWRWYWx1ZUF0dHJTZXR0ZXIsIDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8
djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5
QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAogICAgIC8vIEF0dHJp
YnV0ZSAnY2FjaGVkUmVhZG9ubHlWYWx1ZScgKFR5cGU6ICdyZWFkb25seSBhdHRyaWJ1dGUnIEV4
dEF0dHI6ICdDYWNoZWRBdHRyaWJ1dGUnKQotICAgIHsiY2FjaGVkUmVhZG9ubHlWYWx1ZSIsIFRl
c3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VJbnRlcm5hbDo6Y2FjaGVkUmVhZG9ubHlW
YWx1ZUF0dHJHZXR0ZXIsIDAsIDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vz
c0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRl
Pih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAorICAgIHsiY2FjaGVkUmVhZG9ubHlW
YWx1ZSIsIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VWOEludGVybmFsOjpjYWNo
ZWRSZWFkb25seVZhbHVlQXR0ckdldHRlciwgMCwgMCAvKiBubyBkYXRhICovLCBzdGF0aWNfY2Fz
dDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVy
dHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0YW5jZSAqL30sCiB9OwogCiBzdGF0
aWMgY29uc3QgQmF0Y2hlZENhbGxiYWNrIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZh
Y2VDYWxsYmFja3NbXSA9IHsKLSAgICB7ImFjY2VwdFRyYW5zZmVyTGlzdCIsIFRlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2VJbnRlcm5hbDo6YWNjZXB0VHJhbnNmZXJMaXN0Q2FsbGJh
Y2t9LAotICAgIHsibXVsdGlUcmFuc2Zlckxpc3QiLCBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlSW50ZXJuYWw6Om11bHRpVHJhbnNmZXJMaXN0Q2FsbGJhY2t9LAorICAgIHsiYWNj
ZXB0VHJhbnNmZXJMaXN0IiwgVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVY4SW50
ZXJuYWw6OmFjY2VwdFRyYW5zZmVyTGlzdENhbGxiYWNrfSwKKyAgICB7Im11bHRpVHJhbnNmZXJM
aXN0IiwgVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVY4SW50ZXJuYWw6Om11bHRp
VHJhbnNmZXJMaXN0Q2FsbGJhY2t9LAogfTsKIAogdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4VGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6Y29uc3RydWN0b3JDYWxsYmFjayhjb25z
dCB2ODo6QXJndW1lbnRzJiBhcmdzKQo=
</data>
<flag name="review"
          id="141591"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>