<?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>116546</bug_id>
          
          <creation_ts>2013-05-21 09:00:17 -0700</creation_ts>
          <short_desc>TextTrackRegion Not Implemented</short_desc>
          <delta_ts>2014-03-18 19:55:14 -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>Media</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>110511</dependson>
    
    <dependson>130094</dependson>
    
    <dependson>130410</dependson>
          <blocked>109570</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>calvaris</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>syoichi</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>891813</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-05-21 09:00:17 -0700</bug_when>
    <thetext>The Chromium team landed a partial implementation for the TextTrackRegion. From the original bug (see https://bugs.webkit.org/show_bug.cgi?id=110511):  &apos;... defined in the &quot;WebVTT Extension: Regions for rendering cue groups&quot;:
https://dvcs.w3.org/hg/text-tracks/raw-file/default/608toVTT/region.html&apos;

I noticed that this feature is disabled on all current WebKit ports (specifically on Apple&apos;s Windows and Mac ports).

We should either activate this feature and begin testing it, or remove the code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>891814</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-05-21 09:00:55 -0700</bug_when>
    <thetext>&lt;rdar://problem/13949553&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>891873</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-05-21 10:21:24 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; The Chromium team landed a partial implementation for the TextTrackRegion. From the original bug (see https://bugs.webkit.org/show_bug.cgi?id=110511):  &apos;... defined in the &quot;WebVTT Extension: Regions for rendering cue groups&quot;:
&gt; https://dvcs.w3.org/hg/text-tracks/raw-file/default/608toVTT/region.html&apos;
&gt; 
&gt; I noticed that this feature is disabled on all current WebKit ports (specifically on Apple&apos;s Windows and Mac ports).
&gt; 
&gt; We should either activate this feature and begin testing it, or remove the code.

This feature is still being actively developed in the Text CG, e.g.:

https://www.w3.org/Bugs/Public/show_bug.cgi?id=22121
https://www.w3.org/Bugs/Public/show_bug.cgi?id=22114</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991427</commentid>
    <comment_count>3</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-03-17 15:44:22 -0700</bug_when>
    <thetext>Merge in initial Blink test cases for WebVTT:

https://codereview.chromium.org/25798003</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991718</commentid>
    <comment_count>4</comment_count>
      <attachid>227069</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-03-18 10:27:56 -0700</bug_when>
    <thetext>Created attachment 227069
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991722</commentid>
    <comment_count>5</comment_count>
      <attachid>227069</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-03-18 10:37:55 -0700</bug_when>
    <thetext>Comment on attachment 227069
Patch

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

&gt; LayoutTests/TestExpectations:-15
&gt; -# pending implementation completion and feature enabling
&gt; -webkit.org/b/109570 media/track/regions-webvtt [ Skip ]

Unless regions have been enabled in all builds, this will make the bots very sad.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991725</commentid>
    <comment_count>6</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-03-18 10:39:22 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 227069 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=227069&amp;action=review
&gt; 
&gt; &gt; LayoutTests/TestExpectations:-15
&gt; &gt; -# pending implementation completion and feature enabling
&gt; &gt; -webkit.org/b/109570 media/track/regions-webvtt [ Skip ]
&gt; 
&gt; Unless regions have been enabled in all builds, this will make the bots very sad.

I&apos;ll back this out -- I mean to turn the tests on only at the end.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991729</commentid>
    <comment_count>7</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-03-18 10:40:56 -0700</bug_when>
    <thetext>Committed r165815: &lt;http://trac.webkit.org/changeset/165815&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991776</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-18 11:53:43 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 130410</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991855</commentid>
    <comment_count>9</comment_count>
      <attachid>227103</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-03-18 13:44:25 -0700</bug_when>
    <thetext>Created attachment 227103
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991858</commentid>
    <comment_count>10</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-03-18 13:46:03 -0700</bug_when>
    <thetext>The VTT test failures were caused by a mistake I made when merging the WebVTTParser code. I&apos;m rerunning tests with this fix and will post a patch shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991953</commentid>
    <comment_count>11</comment_count>
      <attachid>227131</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-03-18 16:55:40 -0700</bug_when>
    <thetext>Created attachment 227131
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992001</commentid>
    <comment_count>12</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-03-18 19:55:14 -0700</bug_when>
    <thetext>Committed r165867: &lt;http://trac.webkit.org/changeset/165867&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227069</attachid>
            <date>2014-03-18 10:27:56 -0700</date>
            <delta_ts>2014-03-18 13:44:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-116546-20140318102734.patch</filename>
            <type>text/plain</type>
            <size>24444</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NTgxNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDE0LTAzLTE4ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFRleHRUcmFja1JlZ2lvbiBO
b3QgSW1wbGVtZW50ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExNjU0NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1lcmdlZCBmcm9tIEJsaW5rIChwYXRjaCBieSB2Y2FyYnVuZUBjaHJvbWl1bS5vcmcp
OgorICAgICAgICBodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vYmxp
bmsvKy80OTQwZjg5YTA4N2ZlYTViNWVhNjI4ZTk4ZDBiMzU1ZDM5OGE5ZWVhCisgICAgICAgIGh0
dHA6Ly9jcmJ1Zy5jb20vMjU3OTgwMDMKKworICAgICAgICBUZXN0czogbWVkaWEvdHJhY2svcmVn
aW9ucy13ZWJ2dHQvdGV4dC10cmFjay1yZWdpb24tZGlzcGxheS5odG1sCisgICAgICAgICAgICAg
ICBtZWRpYS90cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0LXRyYWNrLXJlZ2lvbi1kb20tbGF5b3V0
Lmh0bWwKKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAgICogaHRt
bC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMb2FkYWJs
ZVRleHRUcmFjazo6bmV3UmVnaW9uc0F2YWlsYWJsZSk6CisgICAgICAgICogaHRtbC90cmFjay9U
ZXh0VHJhY2suY3BwOgorICAgICAgICAqIGh0bWwvdHJhY2svVGV4dFRyYWNrLmg6CisgICAgICAg
ICogaHRtbC90cmFjay9UZXh0VHJhY2tSZWdpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4
dFRyYWNrUmVnaW9uOjpUZXh0VHJhY2tSZWdpb24pOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRy
YWNrUmVnaW9uOjphcHBlbmRUZXh0VHJhY2tDdWVCb3gpOgorICAgICAgICAqIGh0bWwvdHJhY2sv
VGV4dFRyYWNrUmVnaW9uLmg6CisgICAgICAgICogaHRtbC90cmFjay9WVFRDdWUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6VlRUQ3VlOjpWVFRDdWUpOgorICAgICAgICAoV2ViQ29yZTo6VlRUQ3Vl
Ojpub3RpZnlSZWdpb25XaGVuUmVtb3ZpbmdEaXNwbGF5VHJlZSk6CisgICAgICAgIChXZWJDb3Jl
OjpWVFRDdWU6OnJlbW92ZURpc3BsYXlUcmVlKToKKyAgICAgICAgKiBodG1sL3RyYWNrL1ZUVEN1
ZS5oOgorICAgICAgICAqIGh0bWwvdHJhY2svV2ViVlRUUGFyc2VyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OldlYlZUVFBhcnNlcjo6cGFyc2VCeXRlcyk6CisgICAgICAgIChXZWJDb3JlOjpXZWJW
VFRQYXJzZXI6OmNvbGxlY3RNZXRhZGF0YUhlYWRlcik6CisgICAgICAgICogaHRtbC90cmFjay9X
ZWJWVFRQYXJzZXIuaDoKKwogMjAxNC0wMy0xOCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5k
QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gUmVzb3VyY2VMb2FkZXJTb3VwLmNwcCB3YXMg
YWRkZWQgYnkgbWlzdGFrZQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCShyZXZpc2lvbiAxNjU3NzgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjgzLDYgKzE2ODMsMTQgQEAgdm9pZCBI
VE1MTWVkaWFFbGVtZW50Ojp0ZXh0VHJhY2tSZW1vdmVDdQogICAgIEN1ZUludGVydmFsIGludGVy
dmFsID0gbV9jdWVUcmVlLmNyZWF0ZUludGVydmFsKGN1ZS0+c3RhcnRUaW1lKCksIGVuZFRpbWUs
IGN1ZS5nZXQoKSk7CiAgICAgbV9jdWVUcmVlLnJlbW92ZShpbnRlcnZhbCk7CiAKKyNpZiBFTkFC
TEUoV0VCVlRUX1JFR0lPTlMpCisgICAgLy8gU2luY2UgdGhlIGN1ZSB3aWxsIGJlIHJlbW92ZWQg
ZnJvbSB0aGUgbWVkaWEgZWxlbWVudCBhbmQgbGlrZWx5IHRoZQorICAgIC8vIFRleHRUcmFjayBt
aWdodCBhbHNvIGJlIGRlc3RydWN0ZWQsIG5vdGlmeWluZyB0aGUgcmVnaW9uIG9mIHRoZSBjdWUK
KyAgICAvLyByZW1vdmFsIHNob3VsZG4ndCBiZSBkb25lLgorICAgIGlmIChjdWUtPmlzUmVuZGVy
YWJsZSgpKQorICAgICAgICB0b1ZUVEN1ZShjdWUuZ2V0KCkpLT5ub3RpZnlSZWdpb25XaGVuUmVt
b3ZpbmdEaXNwbGF5VHJlZShmYWxzZSk7CisjZW5kaWYKKwogICAgIHNpemVfdCBpbmRleCA9IG1f
Y3VycmVudGx5QWN0aXZlQ3Vlcy5maW5kKGludGVydmFsKTsKICAgICBpZiAoaW5kZXggIT0gbm90
Rm91bmQpIHsKICAgICAgICAgY3VlLT5zZXRJc0FjdGl2ZShmYWxzZSk7CkBAIC0xNjkyLDYgKzE3
MDAsMTEgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp0ZXh0VHJhY2tSZW1vdmVDdQogICAgIGlm
IChjdWUtPmlzUmVuZGVyYWJsZSgpKQogICAgICAgICB0b1ZUVEN1ZShjdWUuZ2V0KCkpLT5yZW1v
dmVEaXNwbGF5VHJlZSgpOwogICAgIHVwZGF0ZUFjdGl2ZVRleHRUcmFja0N1ZXMoY3VycmVudFRp
bWUoKSk7CisKKyNpZiBFTkFCTEUoV0VCVlRUX1JFR0lPTlMpCisgICAgaWYgKGN1ZS0+aXNSZW5k
ZXJhYmxlKCkpCisgICAgICAgIHRvVlRUQ3VlKGN1ZS5nZXQoKSktPm5vdGlmeVJlZ2lvbldoZW5S
ZW1vdmluZ0Rpc3BsYXlUcmVlKHRydWUpOworI2VuZGlmCiB9CiAKICNlbmRpZgpJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAJKHJldmlz
aW9uIDE2NTc3OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJh
Y2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxMSwgMjAxMyBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTQyLDcgKzE0Miw3IEBAIHZvaWQgTG9hZGFibGVU
ZXh0VHJhY2s6Om5ld1JlZ2lvbnNBdmFpbGEKIAogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
bmV3UmVnaW9ucy5zaXplKCk7ICsraSkgewogICAgICAgICBuZXdSZWdpb25zW2ldLT5zZXRUcmFj
ayh0aGlzKTsKLSAgICAgICAgcmVnaW9uTGlzdCgpLT5hZGQobmV3UmVnaW9uc1tpXSk7CisgICAg
ICAgIHJlZ2lvbnMoKS0+YWRkKG5ld1JlZ2lvbnNbaV0pOwogICAgIH0KIH0KICNlbmRpZgpJbmRl
eDogU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2suY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmNwcAkocmV2aXNpb24gMTY1Nzc4
KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2suY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zNDMsMTEgKzM0Myw2IEBAIHZvaWQgVGV4dFRyYWNrOjpyZW1vdmVDdWUoVGV4dFRy
YWNrQ3VlKiAKIH0KIAogI2lmIEVOQUJMRShWSURFT19UUkFDSykgJiYgRU5BQkxFKFdFQlZUVF9S
RUdJT05TKQotVGV4dFRyYWNrUmVnaW9uTGlzdCogVGV4dFRyYWNrOjpyZWdpb25MaXN0KCkKLXsK
LSAgICByZXR1cm4gZW5zdXJlVGV4dFRyYWNrUmVnaW9uTGlzdCgpOwotfQotCiBUZXh0VHJhY2tS
ZWdpb25MaXN0KiBUZXh0VHJhY2s6OmVuc3VyZVRleHRUcmFja1JlZ2lvbkxpc3QoKQogewogICAg
IGlmICghbV9yZWdpb25zKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJh
Y2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFjay5o
CShyZXZpc2lvbiAxNjU3NzgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFj
ay5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTksOSArMTU5LDYgQEAgcHVibGljOgogCiBwcm90ZWN0
ZWQ6CiAgICAgVGV4dFRyYWNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBUZXh0VHJhY2tDbGll
bnQqLCBjb25zdCBBdG9taWNTdHJpbmcmIGtpbmQsIGNvbnN0IEF0b21pY1N0cmluZyYgaWQsIGNv
bnN0IEF0b21pY1N0cmluZyYgbGFiZWwsIGNvbnN0IEF0b21pY1N0cmluZyYgbGFuZ3VhZ2UsIFRl
eHRUcmFja1R5cGUpOwotI2lmIEVOQUJMRShWSURFT19UUkFDSykgJiYgRU5BQkxFKFdFQlZUVF9S
RUdJT05TKQotICAgIFRleHRUcmFja1JlZ2lvbkxpc3QqIHJlZ2lvbkxpc3QoKTsKLSNlbmRpZgog
CiAgICAgUmVmUHRyPFRleHRUcmFja0N1ZUxpc3Q+IG1fY3VlczsKIApJbmRleDogU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tSZWdpb24uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrUmVnaW9uLmNwcAkocmV2aXNpb24gMTY1Nzc4
KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tSZWdpb24uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC03Niw4ICs3Niw4IEBAIFRleHRUcmFja1JlZ2lvbjo6VGV4dFRyYWNrUmVn
aW9uKFNjcmlwdEUKICAgICAsIG1fcmVnaW9uQW5jaG9yKEZsb2F0UG9pbnQoZGVmYXVsdEFuY2hv
clBvaW50WCwgZGVmYXVsdEFuY2hvclBvaW50WSkpCiAgICAgLCBtX3ZpZXdwb3J0QW5jaG9yKEZs
b2F0UG9pbnQoZGVmYXVsdEFuY2hvclBvaW50WCwgZGVmYXVsdEFuY2hvclBvaW50WSkpCiAgICAg
LCBtX3Njcm9sbChkZWZhdWx0U2Nyb2xsKQotICAgICwgbV9yZWdpb25EaXNwbGF5VHJlZShudWxs
cHRyKQogICAgICwgbV9jdWVDb250YWluZXIobnVsbHB0cikKKyAgICAsIG1fcmVnaW9uRGlzcGxh
eVRyZWUobnVsbHB0cikKICAgICAsIG1fdHJhY2sobnVsbHB0cikKICAgICAsIG1fY3VycmVudFRv
cCgwKQogICAgICwgbV9zY3JvbGxUaW1lcih0aGlzLCAmVGV4dFRyYWNrUmVnaW9uOjpzY3JvbGxU
aW1lckZpcmVkKQpAQCAtMzU0LDYgKzM1NCw4IEBAIGNvbnN0IEF0b21pY1N0cmluZyYgVGV4dFRy
YWNrUmVnaW9uOjp0ZXgKIAogdm9pZCBUZXh0VHJhY2tSZWdpb246OmFwcGVuZFRleHRUcmFja0N1
ZUJveChQYXNzUmVmUHRyPFZUVEN1ZUJveD4gZGlzcGxheUJveCkKIHsKKyAgICBBU1NFUlQobV9j
dWVDb250YWluZXIpOworCiAgICAgaWYgKG1fY3VlQ29udGFpbmVyLT5jb250YWlucyhkaXNwbGF5
Qm94LmdldCgpKSkKICAgICAgICAgcmV0dXJuOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1s
L3RyYWNrL1RleHRUcmFja1JlZ2lvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvdHJhY2svVGV4dFRyYWNrUmVnaW9uLmgJKHJldmlzaW9uIDE2NTc3OCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrUmVnaW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTEz
NiwxMSArMTM2LDEwIEBAIHByaXZhdGU6CiAKICAgICBib29sIG1fc2Nyb2xsOwogCi0gICAgUmVm
UHRyPEhUTUxEaXZFbGVtZW50PiBtX3JlZ2lvbkRpc3BsYXlUcmVlOwotCiAgICAgLy8gVGhlIGN1
ZSBjb250YWluZXIgaXMgdGhlIGNvbnRhaW5lciB0aGF0IGlzIHNjcm9sbGVkIHVwIHRvIG9idGFp
biB0aGUKICAgICAvLyBlZmZlY3Qgb2Ygc2Nyb2xsaW5nIGN1ZXMgd2hlbiB0aGlzIGlzIGVuYWJs
ZWQgZm9yIHRoZSByZWdpb25zLgogICAgIFJlZlB0cjxIVE1MRGl2RWxlbWVudD4gbV9jdWVDb250
YWluZXI7CisgICAgUmVmUHRyPEhUTUxEaXZFbGVtZW50PiBtX3JlZ2lvbkRpc3BsYXlUcmVlOwog
CiAgICAgLy8gVGhlIG1lbWJlciB2YXJpYWJsZSB0cmFjayBjYW4gYmUgYSByYXcgcG9pbnRlciBh
cyBpdCB3aWxsIG5ldmVyCiAgICAgLy8gcmVmZXJlbmNlIGEgZGVzdHJveWVkIFRleHRUcmFjaywg
YXMgdGhpcyBtZW1iZXIgdmFyaWFibGUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2sv
VlRUQ3VlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVEN1
ZS5jcHAJKHJldmlzaW9uIDE2NTc3OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRU
Q3VlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjA3LDYgKzIwNyw3IEBAIFZUVEN1ZTo6VlRUQ3Vl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGMKICAgICAsIG1fZGlzcGxheURpcmVjdGlvbihDU1NW
YWx1ZUx0cikKICAgICAsIG1fZGlzcGxheVdyaXRpbmdNb2RlKENTU1ZhbHVlSW5oZXJpdCkKICAg
ICAsIG1fZGlzcGxheVNpemUoMCkKKyAgICAsIG1fbm90aWZ5UmVnaW9uKHRydWUpCiB7CiAgICAg
Ly8gNC4gSWYgdGhlIHRleHQgdHJhY2sgY3VlIHdyaXRpbmcgZGlyZWN0aW9uIGlzIGhvcml6b250
YWwsIHRoZW4gbGV0CiAgICAgLy8gd3JpdGluZy1tb2RlIGJlICdob3Jpem9udGFsLXRiJy4gT3Ro
ZXJ3aXNlLCBpZiB0aGUgdGV4dCB0cmFjayBjdWUgd3JpdGluZwpAQCAtNDYwLDYgKzQ2MSwxMSBA
QCB2b2lkIFZUVEN1ZTo6c2V0UmVnaW9uSWQoY29uc3QgU3RyaW5nJiByCiAgICAgbV9yZWdpb25J
ZCA9IHJlZ2lvbklkOwogICAgIGRpZENoYW5nZSgpOwogfQorCit2b2lkIFZUVEN1ZTo6bm90aWZ5
UmVnaW9uV2hlblJlbW92aW5nRGlzcGxheVRyZWUoYm9vbCBub3RpZnlSZWdpb24pCit7CisgICAg
bV9ub3RpZnlSZWdpb24gPSBub3RpZnlSZWdpb247Cit9CiAjZW5kaWYKIAogdm9pZCBWVFRDdWU6
OnNldElzQWN0aXZlKGJvb2wgYWN0aXZlKQpAQCAtNzQ3LDcgKzc1Myw3IEBAIHZvaWQgVlRUQ3Vl
OjpyZW1vdmVEaXNwbGF5VHJlZSgpCiB7CiAjaWYgRU5BQkxFKFdFQlZUVF9SRUdJT05TKQogICAg
IC8vIFRoZSByZWdpb24gbmVlZHMgdG8gYmUgaW5mb3JtZWQgYWJvdXQgdGhlIGN1ZSByZW1vdmFs
LgotICAgIGlmICh0cmFjaygpKSB7CisgICAgaWYgKG1fbm90aWZ5UmVnaW9uICYmIHRyYWNrKCkp
IHsKICAgICAgICAgaWYgKFRleHRUcmFja1JlZ2lvbkxpc3QqIHJlZ2lvbnMgPSB0cmFjaygpLT5y
ZWdpb25zKCkpIHsKICAgICAgICAgICAgIGlmIChUZXh0VHJhY2tSZWdpb24qIHJlZ2lvbiA9IHJl
Z2lvbnMtPmdldFJlZ2lvbkJ5SWQobV9yZWdpb25JZCkpCiAgICAgICAgICAgICAgICAgcmVnaW9u
LT53aWxsUmVtb3ZlVGV4dFRyYWNrQ3VlQm94KG1fZGlzcGxheVRyZWUuZ2V0KCkpOwpJbmRleDog
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRDdWUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9odG1sL3RyYWNrL1ZUVEN1ZS5oCShyZXZpc2lvbiAxNjU3NzgpCisrKyBTb3VyY2Uv
V2ViQ29yZS9odG1sL3RyYWNrL1ZUVEN1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDksNiArMTA5
LDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShXRUJWVFRfUkVHSU9OUykKICAgICBjb25zdCBTdHJp
bmcmIHJlZ2lvbklkKCkgY29uc3QgeyByZXR1cm4gbV9yZWdpb25JZDsgfQogICAgIHZvaWQgc2V0
UmVnaW9uSWQoY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBub3RpZnlSZWdpb25XaGVuUmVtb3Zp
bmdEaXNwbGF5VHJlZShib29sKTsKICNlbmRpZgogCiAgICAgdmlydHVhbCB2b2lkIHNldElzQWN0
aXZlKGJvb2wpOwpAQCAtMjE2LDYgKzIxNyw3IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKFdFQlZU
VF9SRUdJT05TKQogICAgIFN0cmluZyBtX3JlZ2lvbklkOwogI2VuZGlmCisgICAgYm9vbCBtX25v
dGlmeVJlZ2lvbjsKIH07CiAKIFZUVEN1ZSogdG9WVFRDdWUoVGV4dFRyYWNrQ3VlKik7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1dlYlZUVFBhcnNlci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9XZWJWVFRQYXJzZXIuY3BwCShyZXZpc2lvbiAx
NjU3NzgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1dlYlZUVFBhcnNlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE2Nyw4ICsxNjcsMTAgQEAgdm9pZCBXZWJWVFRQYXJzZXI6OnBhcnNl
Qnl0ZXMoY29uc3QgY2hhcgogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSBIZWFk
ZXI6Ci0gICAgICAgICAgICAvLyAxMy0xOCAtIEFsbG93IGEgaGVhZGVyIChjb21tZW50IGFyZWEp
IHVuZGVyIHRoZSBXRUJWVFQgbGluZS4KICNpZiBFTkFCTEUoV0VCVlRUX1JFR0lPTlMpCisgICAg
ICAgICAgICBjb2xsZWN0TWV0YWRhdGFIZWFkZXIobGluZSk7CisKKyAgICAgICAgICAgIC8vIDEz
LTE4IC0gQWxsb3cgYSBoZWFkZXIgKGNvbW1lbnQgYXJlYSkgdW5kZXIgdGhlIFdFQlZUVCBsaW5l
LgogICAgICAgICAgICAgaWYgKGxpbmUuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgaWYg
KG1fY2xpZW50ICYmIG1fcmVnaW9uTGlzdC5zaXplKCkpCiAgICAgICAgICAgICAgICAgICAgIG1f
Y2xpZW50LT5uZXdSZWdpb25zUGFyc2VkKCk7CkBAIC0xNzYsMTQgKzE3OCw3IEBAIHZvaWQgV2Vi
VlRUUGFyc2VyOjpwYXJzZUJ5dGVzKGNvbnN0IGNoYXIKICAgICAgICAgICAgICAgICBtX3N0YXRl
ID0gSWQ7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICBjb2xsZWN0SGVhZGVyKGxpbmUpOwotCi0gICAgICAgICAgICBicmVhazsKLQotICAgICAgICBj
YXNlIE1ldGFkYXRhOgogI2VuZGlmCi0gICAgICAgICAgICBpZiAobGluZS5pc0VtcHR5KCkpCi0g
ICAgICAgICAgICAgICAgbV9zdGF0ZSA9IElkOwogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAg
ICAgY2FzZSBJZDoKQEAgLTI1Miw3ICsyNDcsNyBAQCBib29sIFdlYlZUVFBhcnNlcjo6aGFzUmVx
dWlyZWRGaWxlSWRlbnRpCiB9CiAKICNpZiBFTkFCTEUoV0VCVlRUX1JFR0lPTlMpCi12b2lkIFdl
YlZUVFBhcnNlcjo6Y29sbGVjdEhlYWRlcihjb25zdCBTdHJpbmcmIGxpbmUpCit2b2lkIFdlYlZU
VFBhcnNlcjo6Y29sbGVjdE1ldGFkYXRhSGVhZGVyKGNvbnN0IFN0cmluZyYgbGluZSkKIHsKICAg
ICAvLyA0LjEgRXh0ZW5zaW9uIG9mIFdlYlZUVCBoZWFkZXIgcGFyc2luZyAoMTEgLSAxNSkKICAg
ICBERVBSRUNBVEVEX0RFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCByZWdp
b25IZWFkZXJOYW1lLCAoIlJlZ2lvbiIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVy
YWwpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svV2ViVlRUUGFyc2VyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9XZWJWVFRQYXJzZXIuaAkocmV2
aXNpb24gMTY1Nzc4KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9XZWJWVFRQYXJzZXIu
aAkod29ya2luZyBjb3B5KQpAQCAtMTAwLDkgKzEwMCw2IEBAIHB1YmxpYzoKICAgICBlbnVtIFBh
cnNlU3RhdGUgewogICAgICAgICBJbml0aWFsLAogICAgICAgICBIZWFkZXIsCi0jaWYgRU5BQkxF
KFdFQlZUVF9SRUdJT05TKQotICAgICAgICBNZXRhZGF0YSwKLSNlbmRpZgogICAgICAgICBJZCwK
ICAgICAgICAgVGltaW5nc0FuZFNldHRpbmdzLAogICAgICAgICBDdWVUZXh0LApAQCAtMTY5LDcg
KzE2Niw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZXNldEN1ZVZhbHVlcygpOwogCiAjaWYgRU5B
QkxFKFdFQlZUVF9SRUdJT05TKQotICAgIHZvaWQgY29sbGVjdEhlYWRlcihjb25zdCBTdHJpbmcm
KTsKKyAgICB2b2lkIGNvbGxlY3RNZXRhZGF0YUhlYWRlcihjb25zdCBTdHJpbmcmKTsKICAgICB2
b2lkIGNyZWF0ZU5ld1JlZ2lvbigpOwogI2VuZGlmCiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NTgx
NCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0
IEBACisyMDE0LTAzLTE4ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisg
ICAgICAgIFRleHRUcmFja1JlZ2lvbiBOb3QgSW1wbGVtZW50ZWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNjU0NgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1lcmdlZCBmcm9tIEJsaW5rIChwYXRjaCBi
eSB2Y2FyYnVuZUBjaHJvbWl1bS5vcmcpOgorICAgICAgICBodHRwczovL2Nocm9taXVtLmdvb2ds
ZXNvdXJjZS5jb20vY2hyb21pdW0vYmxpbmsvKy80OTQwZjg5YTA4N2ZlYTViNWVhNjI4ZTk4ZDBi
MzU1ZDM5OGE5ZWVhCisgICAgICAgIGh0dHA6Ly9jcmJ1Zy5jb20vMjU3OTgwMDMKKworICAgICAg
ICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogbWVkaWEvdHJhY2svY2FwdGlvbnMtd2Vi
dnR0L2NhcHRpb25zLXJlZ2lvbnMudnR0OiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS90cmFjay9y
ZWdpb25zLXdlYnZ0dC90ZXh0LXRyYWNrLWN1ZS1yZWdpb24tYXR0cmlidXRlLWV4cGVjdGVkLnR4
dDogUmViYXNlbGluZS4KKyAgICAgICAgKiBtZWRpYS90cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0
LXRyYWNrLXJlZ2lvbi1kaXNwbGF5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogbWVk
aWEvdHJhY2svcmVnaW9ucy13ZWJ2dHQvdGV4dC10cmFjay1yZWdpb24tZGlzcGxheS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBtZWRpYS90cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0LXRyYWNrLXJl
Z2lvbi1kb20tbGF5b3V0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogbWVkaWEvdHJh
Y2svcmVnaW9ucy13ZWJ2dHQvdGV4dC10cmFjay1yZWdpb24tZG9tLWxheW91dC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBtZWRpYS90cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0LXRyYWNrLXJlZ2lv
bi1saXN0LWV4cGVjdGVkLnR4dDogUmViYXNlbGluZS4KKyAgICAgICAgKiBtZWRpYS90cmFjay9y
ZWdpb25zLXdlYnZ0dC90ZXh0LXRyYWNrLXJlZ2lvbi1wYXJzZXItZXhwZWN0ZWQudHh0OiBSZWJh
c2VsaW5lLgorCiAyMDE0LTAzLTE4ICBLcnp5c3p0b2YgV29sYW5za2kgIDxrLndvbGFuc2tpQHNh
bXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdIFVwZGF0ZSBiYXNlbGluZXMgYW5kIHRlc3QgZXhw
ZWN0YXRpb25zCkluZGV4OiBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDE2NTc3OCkKKysrIExh
eW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTExLDkgKzExLDYg
QEAgd2Via2l0Lm9yZy9iLzEwOTk1NCBjc3MzL2xpbmUtYnJlYWsgWyBTawogIyBwZW5kaW5nIHJl
ZmFjdG9yIG9mIHRoaXMgdGVzdAogd2Via2l0Lm9yZy9iLzEyOTU1MyBjc3MzL2ZpbHRlcnMvaHVn
ZS1yZWdpb24uaHRtbCBbIFNraXAgXQogCi0jIHBlbmRpbmcgaW1wbGVtZW50YXRpb24gY29tcGxl
dGlvbiBhbmQgZmVhdHVyZSBlbmFibGluZwotd2Via2l0Lm9yZy9iLzEwOTU3MCBtZWRpYS90cmFj
ay9yZWdpb25zLXdlYnZ0dCBbIFNraXAgXQotCiAjIG1lZGlhL3ZpZGVvLXNlZWstYWZ0ZXItZW5k
Lmh0bWwgaXMgZmxha3kKIHdlYmtpdC5vcmcvYi8xMTYyOTMgbWVkaWEvdmlkZW8tc2Vlay1hZnRl
ci1lbmQuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3Ry
YWNrL2NhcHRpb25zLXdlYnZ0dC9jYXB0aW9ucy1yZWdpb25zLnZ0dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9tZWRpYS90cmFjay9jYXB0aW9ucy13ZWJ2dHQvY2FwdGlvbnMtcmVnaW9ucy52
dHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay9jYXB0aW9ucy13ZWJ2
dHQvY2FwdGlvbnMtcmVnaW9ucy52dHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxOSBAQAor
V0VCVlRUIEZJTEUKK1JlZ2lvbjogaWQ9ZnJlZCB3aWR0aD01MCUgaGVpZ2h0PTIgcmVnaW9uYW5j
aG9yPTUwJSwxMDAlIHZpZXdwb3J0YW5jaG9yPTEwJSw0MCUKKworMQorMDA6MDA6MDAuMDAwIC0t
PiAwMDowMDowMS41MDAgcmVnaW9uOmZyZWQKK1dlIGFyZSBpbiBOZXcgWW9yayBDaXR5CisKKzIK
KzAwOjAwOjAwLjUwMCAtLT4gMDA6MDA6MDEuNTAwIHJlZ2lvbjpmcmVkCitTZWNvbmQgY3VlCisK
KzMKKzAwOjAwOjAxLjAwMCAtLT4gMDA6MDA6MDIuNTAwIHJlZ2lvbjpmcmVkCitNdWx0aWxpbmUK
K0N1ZQorCis0CiswMDowMDowMi4wMDAgLS0+IDAwOjAwOjAzLjAwMCByZWdpb246ZnJlZAorRm91
cnRoIGN1ZSEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9t
ZWRpYS90cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0LXRyYWNrLWN1ZS1yZWdpb24tYXR0cmlidXRl
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay9yZWdp
b25zLXdlYnZ0dC90ZXh0LXRyYWNrLWN1ZS1yZWdpb24tYXR0cmlidXRlLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMTY1Nzc4KQorKysgTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svcmVnaW9ucy13ZWJ2
dHQvdGV4dC10cmFjay1jdWUtcmVnaW9uLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNiArMSw3IEBACiBUZXN0cyB0aGUgcmVnaW9uSWQgYXR0cmlidXRlIG9mIGEg
Y3VlLgogCiAKKwogKiogVGVzdCB0aGUgc2V0dGVyIGFuZCBnZXR0ZXIgdGhyb3VnaCB0aGUgSlMg
QVBJICoqCiBFWFBFQ1RFRCAoY3VlLnJlZ2lvbklkID09ICcnKSBPSwogRVhQRUNURUQgKGN1ZS5y
ZWdpb25JZCA9PSAnc29tZUlkJykgT0sKSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3RyYWNrL3Jl
Z2lvbnMtd2VidnR0L3RleHQtdHJhY2stcmVnaW9uLWRpc3BsYXktZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0L3RleHQtdHJh
Y2stcmVnaW9uLWRpc3BsYXktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvbWVkaWEvdHJhY2svcmVnaW9ucy13ZWJ2dHQvdGV4dC10cmFjay1yZWdpb24tZGlzcGxheS1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MyBAQAorVGVzdHMgZGVmYXVs
dCByZW5kZXJpbmcgZm9yIFRleHRUcmFja0N1ZXMgdGhhdCBiZWxvbmcgdG8gYSBUZXh0VHJhY2tS
ZWdpb24uCisKKworRVZFTlQoY2FucGxheXRocm91Z2gpCisqKiBUaGUgdGV4dCB0cmFjayBoYXMg
b25seSBvbmUgcmVnaW9uICoqCitFWFBFQ1RFRCAodGVzdFRyYWNrLnJlZ2lvbnMubGVuZ3RoID09
ICcxJykgT0sKKworKiogSW5zcGVjdGluZyBjdWVzIGRpc3BsYXllZCB3aXRoaW4gcmVnaW9uKioK
KworUlVOKHZpZGVvLmN1cnJlbnRUaW1lID0gMC4yKQorRVZFTlQoc2Vla2VkKQorVG90YWwgY3Vl
cyBpbiByZWdpb246IDEKK0N1ZSBjb250ZW50IGlzOiBXZSBhcmUgaW4gTmV3IFlvcmsgQ2l0eQor
Q3VlIGxpbmVzIHZpc2libGUgZnJvbSB0aGlzIGN1ZTogMQorRVhQRUNURUQgKHRvdGFsVmlzaWJs
ZUxpbmVzIDw9IHRlc3RUcmFjay5yZWdpb25zWzBdLmhlaWdodCA9PSAndHJ1ZScpIE9LCisKK1JV
Tih2aWRlby5jdXJyZW50VGltZSA9IDAuNSkKK0VWRU5UKHNlZWtlZCkKK1RvdGFsIGN1ZXMgaW4g
cmVnaW9uOiAyCitDdWUgY29udGVudCBpczogV2UgYXJlIGluIE5ldyBZb3JrIENpdHkKK0N1ZSBs
aW5lcyB2aXNpYmxlIGZyb20gdGhpcyBjdWU6IDEKK0N1ZSBjb250ZW50IGlzOiBTZWNvbmQgY3Vl
CitDdWUgbGluZXMgdmlzaWJsZSBmcm9tIHRoaXMgY3VlOiAxCitFWFBFQ1RFRCAodG90YWxWaXNp
YmxlTGluZXMgPD0gdGVzdFRyYWNrLnJlZ2lvbnNbMF0uaGVpZ2h0ID09ICd0cnVlJykgT0sKKwor
UlVOKHZpZGVvLmN1cnJlbnRUaW1lID0gMSkKK0VWRU5UKHNlZWtlZCkKK1RvdGFsIGN1ZXMgaW4g
cmVnaW9uOiAzCitDdWUgY29udGVudCBpczogV2UgYXJlIGluIE5ldyBZb3JrIENpdHkKK0N1ZSBs
aW5lcyB2aXNpYmxlIGZyb20gdGhpcyBjdWU6IDEKK0N1ZSBjb250ZW50IGlzOiBTZWNvbmQgY3Vl
CitDdWUgbGluZXMgdmlzaWJsZSBmcm9tIHRoaXMgY3VlOiAxCitDdWUgY29udGVudCBpczogTXVs
dGlsaW5lIEN1ZQorQ3VlIGxpbmVzIHZpc2libGUgZnJvbSB0aGlzIGN1ZTogMAorRVhQRUNURUQg
KHRvdGFsVmlzaWJsZUxpbmVzIDw9IHRlc3RUcmFjay5yZWdpb25zWzBdLmhlaWdodCA9PSAndHJ1
ZScpIE9LCisKK1JVTih2aWRlby5jdXJyZW50VGltZSA9IDIuMykKK0VWRU5UKHNlZWtlZCkKK1Rv
dGFsIGN1ZXMgaW4gcmVnaW9uOiAyCitDdWUgY29udGVudCBpczogTXVsdGlsaW5lIEN1ZQorQ3Vl
IGxpbmVzIHZpc2libGUgZnJvbSB0aGlzIGN1ZTogMgorQ3VlIGNvbnRlbnQgaXM6IEZvdXJ0aCBj
dWUhCitDdWUgbGluZXMgdmlzaWJsZSBmcm9tIHRoaXMgY3VlOiAwCitFWFBFQ1RFRCAodG90YWxW
aXNpYmxlTGluZXMgPD0gdGVzdFRyYWNrLnJlZ2lvbnNbMF0uaGVpZ2h0ID09ICd0cnVlJykgT0sK
KworUlVOKHZpZGVvLmN1cnJlbnRUaW1lID0gMykKK0VWRU5UKHNlZWtlZCkKK1RvdGFsIGN1ZXMg
aW4gcmVnaW9uOiAxCitDdWUgY29udGVudCBpczogRm91cnRoIGN1ZSEKK0N1ZSBsaW5lcyB2aXNp
YmxlIGZyb20gdGhpcyBjdWU6IDEKK0VYUEVDVEVEICh0b3RhbFZpc2libGVMaW5lcyA8PSB0ZXN0
VHJhY2sucmVnaW9uc1swXS5oZWlnaHQgPT0gJ3RydWUnKSBPSworRU5EIE9GIFRFU1QKKwpJbmRl
eDogTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svcmVnaW9ucy13ZWJ2dHQvdGV4dC10cmFjay1yZWdp
b24tZGlzcGxheS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3RyYWNrL3Jl
Z2lvbnMtd2VidnR0L3RleHQtdHJhY2stcmVnaW9uLWRpc3BsYXkuaHRtbAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL21lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0L3RleHQtdHJhY2stcmVn
aW9uLWRpc3BsYXkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwOCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgaHR0cC1lcXVpdj0i
Q29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+CisKKyAg
ICAgICAgPHNjcmlwdCBzcmM9Li4vLi4vbWVkaWEtY29udHJvbHMuanM+PC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPS4uLy4uL21lZGlhLWZpbGUuanM+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPS4uLy4uL3ZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+
CisgICAgICAgIHZhciB0ZXN0VHJhY2s7CisgICAgICAgIHZhciByZWdpb247CisgICAgICAgIHZh
ciBjb250YWluZXI7CisgICAgICAgIHZhciB0b3RhbFZpc2libGVMaW5lczsKKworICAgICAgICB2
YXIgc2Vla1RpbWVzID0gWzAuMiwgMC41LCAxLjAsIDIuMywgMy4wXTsKKyAgICAgICAgdmFyIGNy
dFNlZWtUaW1lID0gMDsKKworICAgICAgICBmdW5jdGlvbiBjb3VudFZpc2libGVMaW5lcyhjdWVF
bGVtZW50KQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgY3VlUmVjdCA9IGN1ZUVsZW1lbnQu
Z2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgICAgICAgICB2YXIgcmVnaW9uUmVjdCA9IHJl
Z2lvbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKworICAgICAgICAgICAgdmFyIGxpbmVzTWF0
Y2ggPSBjdWVFbGVtZW50LnRleHRDb250ZW50Lm1hdGNoKC9cbi9nKTsKKyAgICAgICAgICAgIHZh
ciBsaW5lc0NvdW50ID0gMSArIChsaW5lc01hdGNoID09IG51bGwgPyAwIDogbGluZXNNYXRjaC5s
ZW5ndGgpOworICAgICAgICAgICAgdmFyIGxpbmVIZWlnaHQgPSBjdWVSZWN0LmhlaWdodCAvIGxp
bmVzQ291bnQ7CisKKyAgICAgICAgICAgIHZhciB2aXNpYmxlTGluZXMgPSAwOworICAgICAgICAg
ICAgZm9yIChpID0gMDsgaSA8IGxpbmVzQ291bnQ7ICsraSkgeworICAgICAgICAgICAgICB2YXIg
bGluZVRvcCA9IGN1ZVJlY3QudG9wICsgaSAqIGxpbmVIZWlnaHQ7CisgICAgICAgICAgICAgIHZh
ciBsaW5lQm90dG9tID0gY3VlUmVjdC50b3AgKyAoaSsxKSAqIGxpbmVIZWlnaHQ7CisKKyAgICAg
ICAgICAgICAgaWYgKGxpbmVUb3AgPj0gcmVnaW9uUmVjdC50b3AgJiYgbGluZUJvdHRvbSA8PSBy
ZWdpb25SZWN0LmJvdHRvbSkKKyAgICAgICAgICAgICAgICB2aXNpYmxlTGluZXMrKzsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgcmV0dXJuIHZpc2libGVMaW5lczsKKyAgICAgICAgfQor
CisgICAgICAgIGZ1bmN0aW9uIHRlc3RSZWdpb25zRGlzcGxheSgpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIHRlc3RUcmFjayA9IHZpZGVvLnRleHRUcmFja3NbMF07CisKKyAgICAgICAgICAgIGNv
bnNvbGVXcml0ZSgiKiogVGhlIHRleHQgdHJhY2sgaGFzIG9ubHkgb25lIHJlZ2lvbiAqKiIpOwor
ICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0ZXN0VHJhY2sucmVnaW9ucy5sZW5ndGgiLCAxKTsK
KworICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgcmVnaW9uID0gdGV4dFRyYWNrRGlz
cGxheUVsZW1lbnQodmlkZW8sICdyZWdpb24nKTsKKyAgICAgICAgICAgICAgY29udGFpbmVyID0g
dGV4dFRyYWNrRGlzcGxheUVsZW1lbnQodmlkZW8sICdyZWdpb24tY29udGFpbmVyJyk7CisgICAg
ICAgICAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgICAgICAgY29uc29sZVdyaXRlKGUpOworICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxicj4qKiBJbnNwZWN0aW5n
IGN1ZXMgZGlzcGxheWVkIHdpdGhpbiByZWdpb24qKiIpOworCisgICAgICAgICAgICB3YWl0Rm9y
RXZlbnQoInNlZWtlZCIsIGluc3BlY3RSZWdpb25UcmVlKTsKKyAgICAgICAgICAgIHNlZWtWaWRl
bygpOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gc2Vla1ZpZGVvKCkKKyAgICAgICAg
eworICAgICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsKKyAgICAgICAgICAgIHJ1bigidmlkZW8u
Y3VycmVudFRpbWUgPSAiICsgc2Vla1RpbWVzW2NydFNlZWtUaW1lKytdKTsKKyAgICAgICAgfQor
CisgICAgICAgIGZ1bmN0aW9uIGluc3BlY3RSZWdpb25UcmVlKCkKKyAgICAgICAgeworICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCJUb3RhbCBjdWVzIGluIHJlZ2lvbjogIiArIGNvbnRhaW5lci5j
aGlsZHJlbi5sZW5ndGgpOworICAgICAgICAgICAgdG90YWxWaXNpYmxlTGluZXMgPSAwOworCisg
ICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvbnRhaW5lci5jaGlsZHJlbi5sZW5ndGg7
ICsraSkgeworICAgICAgICAgICAgICAgIHZhciBjdWUgPSBjb250YWluZXIuY2hpbGRyZW5baV07
CisgICAgICAgICAgICAgICAgdmFyIGN1ZVZpc2libGVMaW5lcyA9IGNvdW50VmlzaWJsZUxpbmVz
KGN1ZSk7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJDdWUgY29udGVudCBpczogIiAr
IGN1ZS50ZXh0Q29udGVudCk7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJDdWUgbGlu
ZXMgdmlzaWJsZSBmcm9tIHRoaXMgY3VlOiAiICsgY3VlVmlzaWJsZUxpbmVzKTsKKworICAgICAg
ICAgICAgICAgIHRvdGFsVmlzaWJsZUxpbmVzICs9IGN1ZVZpc2libGVMaW5lczsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0b3RhbFZpc2libGVMaW5lcyA8PSB0
ZXN0VHJhY2sucmVnaW9uc1swXS5oZWlnaHQiLCB0cnVlKTsKKworICAgICAgICAgICAgaWYgKGNy
dFNlZWtUaW1lID09IHNlZWtUaW1lcy5sZW5ndGgpCisgICAgICAgICAgICAgICAgZW5kVGVzdCgp
OworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHNlZWtWaWRlbygpOworICAgICAg
ICB9CisKKyAgICAgICAgZnVuY3Rpb24gc3RhcnRUZXN0KCkKKyAgICAgICAgeworICAgICAgICAg
ICAgaWYgKCF3aW5kb3cuVGV4dFRyYWNrUmVnaW9uKSB7CisgICAgICAgICAgICAgICAgZmFpbFRl
c3QoKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKKworICAgICAgICAgICAgdmlkZW8uc3JjID0gZmluZE1l
ZGlhRmlsZSgndmlkZW8nLCAnLi4vLi4vY29udGVudC90ZXN0Jyk7CisgICAgICAgICAgICB3YWl0
Rm9yRXZlbnQoJ2NhbnBsYXl0aHJvdWdoJywgdGVzdFJlZ2lvbnNEaXNwbGF5KTsKKyAgICAgICAg
fQorCisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PHA+VGVzdHMgZGVmYXVsdCByZW5kZXJpbmcgZm9yIFRleHRUcmFja0N1ZXMgdGhhdCBiZWxvbmcg
dG8gYSBUZXh0VHJhY2tSZWdpb24uPC9wPgorICAgICAgICA8dmlkZW8gY29udHJvbHM+CisgICAg
ICAgICAgICA8dHJhY2sgc3JjPSIuLi9jYXB0aW9ucy13ZWJ2dHQvY2FwdGlvbnMtcmVnaW9ucy52
dHQiIGtpbmQ9ImNhcHRpb25zIiBkZWZhdWx0IG9ubG9hZD0ic3RhcnRUZXN0KCkiPgorICAgICAg
ICA8L3ZpZGVvPgorICAgIDwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0LXRy
YWNrLXJlZ2lvbi1kb20tbGF5b3V0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9tZWRpYS90cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0LXRyYWNrLXJlZ2lvbi1kb20tbGF5
b3V0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL21lZGlhL3RyYWNr
L3JlZ2lvbnMtd2VidnR0L3RleHQtdHJhY2stcmVnaW9uLWRvbS1sYXlvdXQtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKK1Rlc3RzIGRlZmF1bHQgRE9NIGxheW91
dCBzdHJ1Y3R1cmUgZm9yIGEgVGV4dFRyYWNrUmVnaW9uLgorCisKK0VWRU5UKGNhbnBsYXl0aHJv
dWdoKQorKiogVGhlIHRleHQgdHJhY2sgaGFzIG9ubHkgb25lIHJlZ2lvbiAqKgorRVhQRUNURUQg
KHRlc3RUcmFjay5yZWdpb25zLmxlbmd0aCA9PSAnMScpIE9LCisKKyoqIEluc3BlY3RpbmcgdGhl
IGRlZmF1bHQgRE9NIGxheW91dCB1c2VkIGZvciByZWdpb25zIGRpc3BsYXkgKioKKworKiogT25s
eSBvbmUgcmVnaW9uIHNob3VsZCBiZSBkaXNwbGF5ZWQgKioKK0VYUEVDVEVEIChyZWdpb24uY2hp
bGRyZW4ubGVuZ3RoID09ICcxJykgT0sKKworKiogVGhlIGNoaWxkIG9mIHRoZSByZWdpb24gc2hv
dWxkIGJlIHRoZSBjb250YWluZXIgKioKK0VYUEVDVEVEIChyZWdpb24uY2hpbGRyZW5bMF0gPT0g
Y29udGFpbmVyID09ICd0cnVlJykgT0sKKworKiogRGVmYXVsdCBwc2V1ZG8gSURzIHNob3VsZCBi
ZSBzZXQgcHJvcGVybHkKK0VYUEVDVEVEIChyZWdpb24uZ2V0QXR0cmlidXRlKCdwc2V1ZG8nKSA9
PSAnLXdlYmtpdC1tZWRpYS10ZXh0LXRyYWNrLXJlZ2lvbicpIE9LCitFWFBFQ1RFRCAoY29udGFp
bmVyLmdldEF0dHJpYnV0ZSgncHNldWRvJykgPT0gJy13ZWJraXQtbWVkaWEtdGV4dC10cmFjay1y
ZWdpb24tY29udGFpbmVyJykgT0sKK0VORCBPRiBURVNUCisKSW5kZXg6IExheW91dFRlc3RzL21l
ZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0L3RleHQtdHJhY2stcmVnaW9uLWRvbS1sYXlvdXQuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay9yZWdpb25zLXdlYnZ0dC90
ZXh0LXRyYWNrLXJlZ2lvbi1kb20tbGF5b3V0Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9tZWRpYS90cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0LXRyYWNrLXJlZ2lvbi1kb20tbGF5
b3V0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2NCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1U
eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+CisKKyAgICAgICAgPHNj
cmlwdCBzcmM9Li4vLi4vbWVkaWEtY29udHJvbHMuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPS4uLy4uL21lZGlhLWZpbGUuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PS4uLy4uL3ZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAg
IHZhciB0ZXN0VHJhY2s7CisgICAgICAgIHZhciByZWdpb247CisgICAgICAgIHZhciBjb250YWlu
ZXI7CisKKyAgICAgICAgZnVuY3Rpb24gdGVzdFJlZ2lvbnNEaXNwbGF5KCkKKyAgICAgICAgewor
ICAgICAgICAgICAgdGVzdFRyYWNrID0gdmlkZW8udGV4dFRyYWNrc1swXTsKKworICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCIqKiBUaGUgdGV4dCB0cmFjayBoYXMgb25seSBvbmUgcmVnaW9uICoq
Iik7CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInRlc3RUcmFjay5yZWdpb25zLmxlbmd0aCIs
IDEpOworCisgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICByZWdpb24gPSB0ZXh0VHJh
Y2tEaXNwbGF5RWxlbWVudCh2aWRlbywgJ3JlZ2lvbicpOworICAgICAgICAgICAgICBjb250YWlu
ZXIgPSB0ZXh0VHJhY2tEaXNwbGF5RWxlbWVudCh2aWRlbywgJ3JlZ2lvbi1jb250YWluZXInKTsK
KyAgICAgICAgICAgIH0gY2F0Y2goZSkgeworICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoZSk7
CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPioqIEluc3Bl
Y3RpbmcgdGhlIGRlZmF1bHQgRE9NIGxheW91dCB1c2VkIGZvciByZWdpb25zIGRpc3BsYXkgKioi
KTsKKworICAgICAgICAgICAgY29uc29sZVdyaXRlKCI8YnI+KiogT25seSBvbmUgcmVnaW9uIHNo
b3VsZCBiZSBkaXNwbGF5ZWQgKioiKTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9u
LmNoaWxkcmVuLmxlbmd0aCIsIDEpOworCisgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxicj4q
KiBUaGUgY2hpbGQgb2YgdGhlIHJlZ2lvbiBzaG91bGQgYmUgdGhlIGNvbnRhaW5lciAqKiIpOwor
ICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJyZWdpb24uY2hpbGRyZW5bMF0gPT0gY29udGFpbmVy
IiwgdHJ1ZSk7CisKKyAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPioqIERlZmF1bHQgcHNl
dWRvIElEcyBzaG91bGQgYmUgc2V0IHByb3Blcmx5Iik7CisgICAgICAgICAgICB0ZXN0RXhwZWN0
ZWQoInJlZ2lvbi5nZXRBdHRyaWJ1dGUoJ3BzZXVkbycpIiwgIi13ZWJraXQtbWVkaWEtdGV4dC10
cmFjay1yZWdpb24iKTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiY29udGFpbmVyLmdldEF0
dHJpYnV0ZSgncHNldWRvJykiLCAiLXdlYmtpdC1tZWRpYS10ZXh0LXRyYWNrLXJlZ2lvbi1jb250
YWluZXIiKTsKKworICAgICAgICAgICAgZW5kVGVzdCgpOworICAgICAgICB9CisKKyAgICAgICAg
ZnVuY3Rpb24gc3RhcnRUZXN0KCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCF3aW5kb3cu
VGV4dFRyYWNrUmVnaW9uKSB7CisgICAgICAgICAgICAgICAgZmFpbFRlc3QoKTsKKyAgICAgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZpbmRNZWRpYUVs
ZW1lbnQoKTsKKworICAgICAgICAgICAgdmlkZW8uc3JjID0gZmluZE1lZGlhRmlsZSgndmlkZW8n
LCAnLi4vLi4vY29udGVudC90ZXN0Jyk7CisgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2NhbnBs
YXl0aHJvdWdoJywgdGVzdFJlZ2lvbnNEaXNwbGF5KTsKKyAgICAgICAgfQorCisgICAgICAgIDwv
c2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGVzdHMgZGVmYXVs
dCBET00gbGF5b3V0IHN0cnVjdHVyZSBmb3IgYSBUZXh0VHJhY2tSZWdpb24uPC9wPgorICAgICAg
ICA8dmlkZW8gY29udHJvbHM+CisgICAgICAgICAgICA8dHJhY2sgc3JjPSIuLi9jYXB0aW9ucy13
ZWJ2dHQvY2FwdGlvbnMtcmVnaW9ucy52dHQiIGtpbmQ9ImNhcHRpb25zIiBkZWZhdWx0IG9ubG9h
ZD0ic3RhcnRUZXN0KCkiPgorICAgICAgICA8L3ZpZGVvPgorICAgIDwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS90cmFj
ay9yZWdpb25zLXdlYnZ0dC90ZXh0LXRyYWNrLXJlZ2lvbi1saXN0LWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0LXRy
YWNrLXJlZ2lvbi1saXN0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTY1Nzc4KQorKysgTGF5b3V0
VGVzdHMvbWVkaWEvdHJhY2svcmVnaW9ucy13ZWJ2dHQvdGV4dC10cmFjay1yZWdpb24tbGlzdC1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw3IEBACiBUZXN0cyBUZXh0VHJh
Y2tSZWdpb25MaXN0IGZ1bmN0aW9uYWxpdHk6IGxlbmd0aCwgb3BlcmF0b3JbXSwgYW5kIGdldFJl
Z2lvbkJ5SWQoKQogCiAKKwogKiogSW1wbGljaXQgbW9kZSBkaXNhYmxlZCBhbmQgdGhlIHJlZ2lv
bnMgYXR0cmlidXRlIGlzIG51bGwgKioKIEVYUEVDVEVEICh0ZXN0VHJhY2sudHJhY2subW9kZSA9
PSAnZGlzYWJsZWQnKSBPSwogRVhQRUNURUQgKHRlc3RUcmFjay50cmFjay5yZWdpb25zID09ICdu
dWxsJykgT0sKSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0L3Rl
eHQtdHJhY2stcmVnaW9uLXBhcnNlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvbWVkaWEvdHJhY2svcmVnaW9ucy13ZWJ2dHQvdGV4dC10cmFjay1yZWdpb24tcGFyc2Vy
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTY1Nzc4KQorKysgTGF5b3V0VGVzdHMvbWVkaWEvdHJh
Y2svcmVnaW9ucy13ZWJ2dHQvdGV4dC10cmFjay1yZWdpb24tcGFyc2VyLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIFRlc3RzIHByb3BlciBwYXJzaW5nIG9mIHZh
cmlvdXMgcmVnaW9ucyBwcmVzZW50IGluIFdlYlZUVCBoZWFkZXIgYXJlYS4KIAorCiBFWFBFQ1RF
RCAodmlkZW8udGV4dFRyYWNrc1swXS5yZWdpb25zLmxlbmd0aCA9PSAnNScpIE9LCiAKIEVYUEVD
VEVEIChyZWdpb24uaWQgPT0gJ3JlZ2lvbl93aXRob3V0X3NldHRpbmdzJykgT0sK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227103</attachid>
            <date>2014-03-18 13:44:25 -0700</date>
            <delta_ts>2014-03-18 16:55:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-116546-20140318134403.patch</filename>
            <type>text/plain</type>
            <size>50272</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDE2NTgyOSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwko
d29ya2luZyBjb3B5KQpAQCAtMjExLDYgKzIxMSw3IEBAIEVOQUJMRV9XRUJfQVVESU8gPSBFTkFC
TEVfV0VCX0FVRElPOwogRU5BQkxFX1dFQl9SRVBMQVkgPSA7CiBFTkFCTEVfV0VCX1NPQ0tFVFMg
PSBFTkFCTEVfV0VCX1NPQ0tFVFM7CiBFTkFCTEVfV0VCX1RJTUlORyA9IDsKK0VOQUJMRV9XRUJW
VFRfUkVHSU9OUyA9IEVOQUJMRV9XRUJWVFRfUkVHSU9OUzsKIEVOQUJMRV9YSFJfVElNRU9VVCA9
IEVOQUJMRV9YSFJfVElNRU9VVDsKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKQEAgLTIy
NCw0ICsyMjUsNCBAQCBFTkFCTEVfRlRMX0pJVF9pcGhvbmVzaW11bGF0b3IgPSA7CiAKIEVOQUJM
RV9MTElOVF9DX0xPT1AgPSA7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRF
UklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQkxP
QikgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChF
TkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
Q1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NT
X0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NT
U19FWENMVVNJT05TKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFCTEVfQ1NTX0dSSURfTEFZ
T1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9S
RVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChF
TkFCTEVfQ1NTX1NIQVBFX0lOU0lERSkgJChFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTikgJChF
TkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEKSAkKEVOQUJMRV9DU1Mz
X0NPTkRJVElPTkFMX1JVTEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVY
VF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9N
X1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFU
QUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVU
QUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRf
RVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRk9OVF9MT0FEX0VW
RU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykg
JChFTkFCTEVfSElHSF9EUElfQ0FOVkFTKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxF
X0lNQUdFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRJ
RV9VSSkgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxF
X0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQ
RUNUT1IpICQoRU5BQkxFX0lPU19BSVJQTEFZKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
R0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZF
VENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChF
TkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9N
RVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxF
KSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikg
JChFTkFCTEVfUExVR0lOX1BST1hZX0ZPUl9WSURFTykgJChFTkFCTEVfUFJPR1JFU1NfRUxFTUVO
VCkgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxF
X1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVU
SU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gpICQoRU5BQkxFX1NIQVJF
RF9XT1JLRVJTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TUUxfREFUQUJB
U0UpICQoRU5BQkxFX1NVQlBJWEVMX0xBWU9VVCkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChF
TkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChF
TkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJM
RV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNF
UlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFC
TEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BTklN
QVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxF
X1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkg
JChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAk
KEZFQVRVUkVfREVGSU5FU18kKFBMQVRGT1JNX05BTUUpKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQo
RU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9O
UykgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9D
QU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19FWENMVVNJT05TKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFC
TEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVf
Q1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTX1NIQVBFX0lOU0lERSkgJChFTkFCTEVfQ1NTX1NUSUNL
WV9QT1NJVElPTikgJChFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVE
KSAkKEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSUykgJChFTkFC
TEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElN
RVJfVEhST1RUTElORykgJChFTkFCTEVfSElHSF9EUElfQ0FOVkFTKSAkKEVOQUJMRV9JQ09OREFU
QUJBU0UpICQoRU5BQkxFX0lNQUdFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
KSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVf
TU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVL
KSAkKEVOQUJMRV9JTlNQRUNUT1IpICQoRU5BQkxFX0lPU19BSVJQTEFZKSAkKEVOQUJMRV9JT1Nf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVO
QUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRS
T0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9V
U0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUExVR0lOX1BST1hZX0ZPUl9WSURFTykgJChFTkFCTEVf
UFJPR1JFU1NfRUxFTUVOVCkgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9F
VkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5B
QkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAk
KEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gp
ICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVO
QUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NVQlBJWEVMX0xBWU9VVCkgJChFTkFCTEVfU1VC
VExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElO
RykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQo
RU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9S
RVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJM
RV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQo
RU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChGRUFUVVJFX0RFRklORVNf
JChQTEFURk9STV9OQU1FKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNjU4MjkpCisrKyBT
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzNyBAQAor
MjAxNC0wMy0xOCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KKworICAgICAg
ICBUZXh0VHJhY2tSZWdpb24gTm90IEltcGxlbWVudGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTY1NDYKKworICAgICAgICBSZXZpZXdlZCBieSBF
cmljIENhcmxzb24uCisKKyAgICAgICAgTWVyZ2VkIGZyb20gQmxpbmsgKHBhdGNoIGJ5IHZjYXJi
dW5lQGNocm9taXVtLm9yZyk6CisgICAgICAgIGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNl
LmNvbS9jaHJvbWl1bS9ibGluay8rLzQ5NDBmODlhMDg3ZmVhNWI1ZWE2MjhlOThkMGIzNTVkMzk4
YTllZWEKKyAgICAgICAgaHR0cDovL2NyYnVnLmNvbS8yNTc5ODAwMworCisgICAgICAgIFRlc3Rz
OiBtZWRpYS90cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0LXRyYWNrLXJlZ2lvbi1kaXNwbGF5Lmh0
bWwKKyAgICAgICAgICAgICAgIG1lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0L3RleHQtdHJhY2st
cmVnaW9uLWRvbS1sYXlvdXQuaHRtbAorCisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRl
KToKKyAgICAgICAgKiBodG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkxvYWRhYmxlVGV4dFRyYWNrOjpuZXdSZWdpb25zQXZhaWxhYmxlKToKKyAgICAg
ICAgKiBodG1sL3RyYWNrL1RleHRUcmFjay5jcHA6CisgICAgICAgICogaHRtbC90cmFjay9UZXh0
VHJhY2suaDoKKyAgICAgICAgKiBodG1sL3RyYWNrL1RleHRUcmFja1JlZ2lvbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OlRleHRUcmFja1JlZ2lvbik6CisgICAgICAg
IChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OmFwcGVuZFRleHRUcmFja0N1ZUJveCk6CisgICAg
ICAgICogaHRtbC90cmFjay9UZXh0VHJhY2tSZWdpb24uaDoKKyAgICAgICAgKiBodG1sL3RyYWNr
L1ZUVEN1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWVFRDdWU6OlZUVEN1ZSk6CisgICAgICAg
IChXZWJDb3JlOjpWVFRDdWU6Om5vdGlmeVJlZ2lvbldoZW5SZW1vdmluZ0Rpc3BsYXlUcmVlKToK
KyAgICAgICAgKFdlYkNvcmU6OlZUVEN1ZTo6cmVtb3ZlRGlzcGxheVRyZWUpOgorICAgICAgICAq
IGh0bWwvdHJhY2svVlRUQ3VlLmg6CisgICAgICAgICogaHRtbC90cmFjay9XZWJWVFRQYXJzZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViVlRUUGFyc2VyOjpwYXJzZUJ5dGVzKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYlZUVFBhcnNlcjo6Y29sbGVjdE1ldGFkYXRhSGVhZGVyKToKKyAgICAg
ICAgKiBodG1sL3RyYWNrL1dlYlZUVFBhcnNlci5oOgorCiAyMDE0LTAzLTE4ICBDb21taXQgUXVl
dWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xs
aW5nIG91dCByMTY1ODE1LgpJbmRleDogU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDE2NTgyOSkKKysrIFNv
dXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMTEsNiArMjExLDcgQEAgRU5BQkxFX1dFQl9BVURJTyA9IEVOQUJMRV9X
RUJfQVVESU87CiBFTkFCTEVfV0VCX1JFUExBWSA9IDsKIEVOQUJMRV9XRUJfU09DS0VUUyA9IEVO
QUJMRV9XRUJfU09DS0VUUzsKIEVOQUJMRV9XRUJfVElNSU5HID0gOworRU5BQkxFX1dFQlZUVF9S
RUdJT05TID0gRU5BQkxFX1dFQlZUVF9SRUdJT05TOwogRU5BQkxFX1hIUl9USU1FT1VUID0gRU5B
QkxFX1hIUl9USU1FT1VUOwogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIApAQCAtMjI0LDQg
KzIyNSw0IEBAIEVOQUJMRV9GVExfSklUX2lwaG9uZXNpbXVsYXRvciA9IDsKIAogRU5BQkxFX0xM
SU5UX0NfTE9PUCA9IDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5H
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09W
RVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9CTE9CKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJM
RV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DU1Bf
TkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0VY
Q0xVU0lPTlMpICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQp
ICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09M
VVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJM
RV9DU1NfU0hBUEVfSU5TSURFKSAkKEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OKSAkKEVOQUJM
RV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQpICQoRU5BQkxFX0NTUzNfQ09O
RElUSU9OQUxfUlVMRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJ
TkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NI
RU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxT
X0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVO
VFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRT
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVO
QUJMRV9ISUdIX0RQSV9DQU5WQVMpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU1B
R0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lORElFX1VJ
KSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RP
UikgJChFTkFCTEVfSU9TX0FJUlBMQVkpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gp
ICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVS
X0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQo
RU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QTFVHSU5fUFJPWFlfRk9SX1ZJREVPKSAkKEVOQUJMRV9QUk9HUkVTU19FTEVNRU5UKSAk
KEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVC
TElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJ
T05fRlJBTUUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05f
TUVESUFfUVVFUlkpICQoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCkgJChFTkFCTEVfU0hBUkVEX1dP
UktFUlMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NRTF9EQVRBQkFTRSkg
JChFTkFCTEVfU1VCUElYRUxfTEFZT1VUKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJM
RV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VM
RUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9W
SUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FOSU1BVElP
TlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VC
X1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRkVB
VFVSRV9ERUZJTkVTXyQoUExBVEZPUk1fTkFNRSkpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFC
TEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAk
KEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZB
U19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
KSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMpICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9D
U1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVf
Q1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1Nf
U0hBUEVTKSAkKEVOQUJMRV9DU1NfU0hBUEVfSU5TSURFKSAkKEVOQUJMRV9DU1NfU1RJQ0tZX1BP
U0lUSU9OKSAkKEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQpICQo
RU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFC
TEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVO
QUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAk
KEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAk
KEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChF
TkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9G
T05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBB
RCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9U
SFJPVFRMSU5HKSAkKEVOQUJMRV9ISUdIX0RQSV9DQU5WQVMpICQoRU5BQkxFX0lDT05EQVRBQkFT
RSkgJChFTkFCTEVfSU1BR0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQo
RU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05U
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQo
RU5BQkxFX0lOU1BFQ1RPUikgJChFTkFCTEVfSU9TX0FJUlBMQVkpICQoRU5BQkxFX0lPU19URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxF
X0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNf
U0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QREZL
SVRfUExVR0lOKSAkKEVOQUJMRV9QTFVHSU5fUFJPWFlfRk9SX1ZJREVPKSAkKEVOQUJMRV9QUk9H
UkVTU19FTEVNRU5UKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5U
UykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVf
UkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5B
QkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCkgJChF
TkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1VCUElYRUxfTEFZT1VUKSAkKEVOQUJMRV9TVUJUTEVf
Q1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVU
RUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAk
KEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RS
QUNLKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFC
TEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExB
WSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dF
QlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFC
TEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEZFQVRVUkVfREVGSU5FU18kKFBM
QVRGT1JNX05BTUUpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcAkocmV2aXNpb24gMTY1ODI5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY5MCw2ICsxNjkwLDE0IEBAIHZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6dGV4dFRyYWNrUmVtb3ZlQ3UKICAgICBDdWVJbnRlcnZhbCBpbnRlcnZh
bCA9IG1fY3VlVHJlZS5jcmVhdGVJbnRlcnZhbChjdWUtPnN0YXJ0VGltZSgpLCBlbmRUaW1lLCBj
dWUuZ2V0KCkpOwogICAgIG1fY3VlVHJlZS5yZW1vdmUoaW50ZXJ2YWwpOwogCisjaWYgRU5BQkxF
KFdFQlZUVF9SRUdJT05TKQorICAgIC8vIFNpbmNlIHRoZSBjdWUgd2lsbCBiZSByZW1vdmVkIGZy
b20gdGhlIG1lZGlhIGVsZW1lbnQgYW5kIGxpa2VseSB0aGUKKyAgICAvLyBUZXh0VHJhY2sgbWln
aHQgYWxzbyBiZSBkZXN0cnVjdGVkLCBub3RpZnlpbmcgdGhlIHJlZ2lvbiBvZiB0aGUgY3VlCisg
ICAgLy8gcmVtb3ZhbCBzaG91bGRuJ3QgYmUgZG9uZS4KKyAgICBpZiAoY3VlLT5pc1JlbmRlcmFi
bGUoKSkKKyAgICAgICAgdG9WVFRDdWUoY3VlLmdldCgpKS0+bm90aWZ5UmVnaW9uV2hlblJlbW92
aW5nRGlzcGxheVRyZWUoZmFsc2UpOworI2VuZGlmCisKICAgICBzaXplX3QgaW5kZXggPSBtX2N1
cnJlbnRseUFjdGl2ZUN1ZXMuZmluZChpbnRlcnZhbCk7CiAgICAgaWYgKGluZGV4ICE9IG5vdEZv
dW5kKSB7CiAgICAgICAgIGN1ZS0+c2V0SXNBY3RpdmUoZmFsc2UpOwpAQCAtMTY5OSw2ICsxNzA3
LDExIEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6dGV4dFRyYWNrUmVtb3ZlQ3UKICAgICBpZiAo
Y3VlLT5pc1JlbmRlcmFibGUoKSkKICAgICAgICAgdG9WVFRDdWUoY3VlLmdldCgpKS0+cmVtb3Zl
RGlzcGxheVRyZWUoKTsKICAgICB1cGRhdGVBY3RpdmVUZXh0VHJhY2tDdWVzKGN1cnJlbnRUaW1l
KCkpOworCisjaWYgRU5BQkxFKFdFQlZUVF9SRUdJT05TKQorICAgIGlmIChjdWUtPmlzUmVuZGVy
YWJsZSgpKQorICAgICAgICB0b1ZUVEN1ZShjdWUuZ2V0KCkpLT5ub3RpZnlSZWdpb25XaGVuUmVt
b3ZpbmdEaXNwbGF5VHJlZSh0cnVlKTsKKyNlbmRpZgogfQogCiAjZW5kaWYKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2suY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2suY3BwCShyZXZpc2lv
biAxNjU4MjkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNr
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTEsIDIwMTMgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTE0Miw3ICsxNDIsNyBAQCB2b2lkIExvYWRhYmxlVGV4
dFRyYWNrOjpuZXdSZWdpb25zQXZhaWxhCiAKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG5l
d1JlZ2lvbnMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgbmV3UmVnaW9uc1tpXS0+c2V0VHJhY2so
dGhpcyk7Ci0gICAgICAgIHJlZ2lvbkxpc3QoKS0+YWRkKG5ld1JlZ2lvbnNbaV0pOworICAgICAg
ICByZWdpb25zKCktPmFkZChuZXdSZWdpb25zW2ldKTsKICAgICB9CiB9CiAjZW5kaWYKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFjay5jcHAJKHJldmlzaW9uIDE2NTgyOSkK
KysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzQzLDExICszNDMsNiBAQCB2b2lkIFRleHRUcmFjazo6cmVtb3ZlQ3VlKFRleHRUcmFj
a0N1ZSogCiB9CiAKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spICYmIEVOQUJMRShXRUJWVFRfUkVH
SU9OUykKLVRleHRUcmFja1JlZ2lvbkxpc3QqIFRleHRUcmFjazo6cmVnaW9uTGlzdCgpCi17Ci0g
ICAgcmV0dXJuIGVuc3VyZVRleHRUcmFja1JlZ2lvbkxpc3QoKTsKLX0KLQogVGV4dFRyYWNrUmVn
aW9uTGlzdCogVGV4dFRyYWNrOjplbnN1cmVUZXh0VHJhY2tSZWdpb25MaXN0KCkKIHsKICAgICBp
ZiAoIW1fcmVnaW9ucykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNr
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2suaAko
cmV2aXNpb24gMTY1ODI5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2su
aAkod29ya2luZyBjb3B5KQpAQCAtMTU5LDkgKzE1OSw2IEBAIHB1YmxpYzoKIAogcHJvdGVjdGVk
OgogICAgIFRleHRUcmFjayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgVGV4dFRyYWNrQ2xpZW50
KiwgY29uc3QgQXRvbWljU3RyaW5nJiBraW5kLCBjb25zdCBBdG9taWNTdHJpbmcmIGlkLCBjb25z
dCBBdG9taWNTdHJpbmcmIGxhYmVsLCBjb25zdCBBdG9taWNTdHJpbmcmIGxhbmd1YWdlLCBUZXh0
VHJhY2tUeXBlKTsKLSNpZiBFTkFCTEUoVklERU9fVFJBQ0spICYmIEVOQUJMRShXRUJWVFRfUkVH
SU9OUykKLSAgICBUZXh0VHJhY2tSZWdpb25MaXN0KiByZWdpb25MaXN0KCk7Ci0jZW5kaWYKIAog
ICAgIFJlZlB0cjxUZXh0VHJhY2tDdWVMaXN0PiBtX2N1ZXM7CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrUmVnaW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja1JlZ2lvbi5jcHAJKHJldmlzaW9uIDE2NTgyOSkK
KysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrUmVnaW9uLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNzYsOCArNzYsOCBAQCBUZXh0VHJhY2tSZWdpb246OlRleHRUcmFja1JlZ2lv
bihTY3JpcHRFCiAgICAgLCBtX3JlZ2lvbkFuY2hvcihGbG9hdFBvaW50KGRlZmF1bHRBbmNob3JQ
b2ludFgsIGRlZmF1bHRBbmNob3JQb2ludFkpKQogICAgICwgbV92aWV3cG9ydEFuY2hvcihGbG9h
dFBvaW50KGRlZmF1bHRBbmNob3JQb2ludFgsIGRlZmF1bHRBbmNob3JQb2ludFkpKQogICAgICwg
bV9zY3JvbGwoZGVmYXVsdFNjcm9sbCkKLSAgICAsIG1fcmVnaW9uRGlzcGxheVRyZWUobnVsbHB0
cikKICAgICAsIG1fY3VlQ29udGFpbmVyKG51bGxwdHIpCisgICAgLCBtX3JlZ2lvbkRpc3BsYXlU
cmVlKG51bGxwdHIpCiAgICAgLCBtX3RyYWNrKG51bGxwdHIpCiAgICAgLCBtX2N1cnJlbnRUb3Ao
MCkKICAgICAsIG1fc2Nyb2xsVGltZXIodGhpcywgJlRleHRUcmFja1JlZ2lvbjo6c2Nyb2xsVGlt
ZXJGaXJlZCkKQEAgLTM1NCw2ICszNTQsOCBAQCBjb25zdCBBdG9taWNTdHJpbmcmIFRleHRUcmFj
a1JlZ2lvbjo6dGV4CiAKIHZvaWQgVGV4dFRyYWNrUmVnaW9uOjphcHBlbmRUZXh0VHJhY2tDdWVC
b3goUGFzc1JlZlB0cjxWVFRDdWVCb3g+IGRpc3BsYXlCb3gpCiB7CisgICAgQVNTRVJUKG1fY3Vl
Q29udGFpbmVyKTsKKwogICAgIGlmIChtX2N1ZUNvbnRhaW5lci0+Y29udGFpbnMoZGlzcGxheUJv
eC5nZXQoKSkpCiAgICAgICAgIHJldHVybjsKIApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC90
cmFjay9UZXh0VHJhY2tSZWdpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1s
L3RyYWNrL1RleHRUcmFja1JlZ2lvbi5oCShyZXZpc2lvbiAxNjU4MjkpCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL3RyYWNrL1RleHRUcmFja1JlZ2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzYs
MTEgKzEzNiwxMCBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBtX3Njcm9sbDsKIAotICAgIFJlZlB0
cjxIVE1MRGl2RWxlbWVudD4gbV9yZWdpb25EaXNwbGF5VHJlZTsKLQogICAgIC8vIFRoZSBjdWUg
Y29udGFpbmVyIGlzIHRoZSBjb250YWluZXIgdGhhdCBpcyBzY3JvbGxlZCB1cCB0byBvYnRhaW4g
dGhlCiAgICAgLy8gZWZmZWN0IG9mIHNjcm9sbGluZyBjdWVzIHdoZW4gdGhpcyBpcyBlbmFibGVk
IGZvciB0aGUgcmVnaW9ucy4KICAgICBSZWZQdHI8SFRNTERpdkVsZW1lbnQ+IG1fY3VlQ29udGFp
bmVyOworICAgIFJlZlB0cjxIVE1MRGl2RWxlbWVudD4gbV9yZWdpb25EaXNwbGF5VHJlZTsKIAog
ICAgIC8vIFRoZSBtZW1iZXIgdmFyaWFibGUgdHJhY2sgY2FuIGJlIGEgcmF3IHBvaW50ZXIgYXMg
aXQgd2lsbCBuZXZlcgogICAgIC8vIHJlZmVyZW5jZSBhIGRlc3Ryb3llZCBUZXh0VHJhY2ssIGFz
IHRoaXMgbWVtYmVyIHZhcmlhYmxlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZU
VEN1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRDdWUu
Y3BwCShyZXZpc2lvbiAxNjU4MjkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVEN1
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwNyw2ICsyMDcsNyBAQCBWVFRDdWU6OlZUVEN1ZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBjCiAgICAgLCBtX2Rpc3BsYXlEaXJlY3Rpb24oQ1NTVmFs
dWVMdHIpCiAgICAgLCBtX2Rpc3BsYXlXcml0aW5nTW9kZShDU1NWYWx1ZUluaGVyaXQpCiAgICAg
LCBtX2Rpc3BsYXlTaXplKDApCisgICAgLCBtX25vdGlmeVJlZ2lvbih0cnVlKQogewogICAgIC8v
IDQuIElmIHRoZSB0ZXh0IHRyYWNrIGN1ZSB3cml0aW5nIGRpcmVjdGlvbiBpcyBob3Jpem9udGFs
LCB0aGVuIGxldAogICAgIC8vIHdyaXRpbmctbW9kZSBiZSAnaG9yaXpvbnRhbC10YicuIE90aGVy
d2lzZSwgaWYgdGhlIHRleHQgdHJhY2sgY3VlIHdyaXRpbmcKQEAgLTQ2MCw2ICs0NjEsMTEgQEAg
dm9pZCBWVFRDdWU6OnNldFJlZ2lvbklkKGNvbnN0IFN0cmluZyYgcgogICAgIG1fcmVnaW9uSWQg
PSByZWdpb25JZDsKICAgICBkaWRDaGFuZ2UoKTsKIH0KKwordm9pZCBWVFRDdWU6Om5vdGlmeVJl
Z2lvbldoZW5SZW1vdmluZ0Rpc3BsYXlUcmVlKGJvb2wgbm90aWZ5UmVnaW9uKQoreworICAgIG1f
bm90aWZ5UmVnaW9uID0gbm90aWZ5UmVnaW9uOworfQogI2VuZGlmCiAKIHZvaWQgVlRUQ3VlOjpz
ZXRJc0FjdGl2ZShib29sIGFjdGl2ZSkKQEAgLTc0Nyw3ICs3NTMsNyBAQCB2b2lkIFZUVEN1ZTo6
cmVtb3ZlRGlzcGxheVRyZWUoKQogewogI2lmIEVOQUJMRShXRUJWVFRfUkVHSU9OUykKICAgICAv
LyBUaGUgcmVnaW9uIG5lZWRzIHRvIGJlIGluZm9ybWVkIGFib3V0IHRoZSBjdWUgcmVtb3ZhbC4K
LSAgICBpZiAodHJhY2soKSkgeworICAgIGlmIChtX25vdGlmeVJlZ2lvbiAmJiB0cmFjaygpKSB7
CiAgICAgICAgIGlmIChUZXh0VHJhY2tSZWdpb25MaXN0KiByZWdpb25zID0gdHJhY2soKS0+cmVn
aW9ucygpKSB7CiAgICAgICAgICAgICBpZiAoVGV4dFRyYWNrUmVnaW9uKiByZWdpb24gPSByZWdp
b25zLT5nZXRSZWdpb25CeUlkKG1fcmVnaW9uSWQpKQogICAgICAgICAgICAgICAgIHJlZ2lvbi0+
d2lsbFJlbW92ZVRleHRUcmFja0N1ZUJveChtX2Rpc3BsYXlUcmVlLmdldCgpKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUQ3VlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9WVFRDdWUuaAkocmV2aXNpb24gMTY1ODI5KQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9WVFRDdWUuaAkod29ya2luZyBjb3B5KQpAQCAtMTA5LDYgKzEwOSw3
IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoV0VCVlRUX1JFR0lPTlMpCiAgICAgY29uc3QgU3RyaW5n
JiByZWdpb25JZCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVnaW9uSWQ7IH0KICAgICB2b2lkIHNldFJl
Z2lvbklkKGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgbm90aWZ5UmVnaW9uV2hlblJlbW92aW5n
RGlzcGxheVRyZWUoYm9vbCk7CiAjZW5kaWYKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRJc0FjdGl2
ZShib29sKTsKQEAgLTIxNiw2ICsyMTcsNyBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShXRUJWVFRf
UkVHSU9OUykKICAgICBTdHJpbmcgbV9yZWdpb25JZDsKICNlbmRpZgorICAgIGJvb2wgbV9ub3Rp
ZnlSZWdpb247CiB9OwogCiBWVFRDdWUqIHRvVlRUQ3VlKFRleHRUcmFja0N1ZSopOwpJbmRleDog
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9XZWJWVFRQYXJzZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svV2ViVlRUUGFyc2VyLmNwcAkocmV2aXNpb24gMTY1
ODI5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9XZWJWVFRQYXJzZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNjcsOCArMTY3LDEwIEBAIHZvaWQgV2ViVlRUUGFyc2VyOjpwYXJzZUJ5
dGVzKGNvbnN0IGNoYXIKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2UgSGVhZGVy
OgotICAgICAgICAgICAgLy8gMTMtMTggLSBBbGxvdyBhIGhlYWRlciAoY29tbWVudCBhcmVhKSB1
bmRlciB0aGUgV0VCVlRUIGxpbmUuCiAjaWYgRU5BQkxFKFdFQlZUVF9SRUdJT05TKQorICAgICAg
ICAgICAgY29sbGVjdE1ldGFkYXRhSGVhZGVyKGxpbmUpOworCisgICAgICAgICAgICAvLyAxMy0x
OCAtIEFsbG93IGEgaGVhZGVyIChjb21tZW50IGFyZWEpIHVuZGVyIHRoZSBXRUJWVFQgbGluZS4K
ICAgICAgICAgICAgIGlmIChsaW5lLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgIGlmICht
X2NsaWVudCAmJiBtX3JlZ2lvbkxpc3Quc2l6ZSgpKQogICAgICAgICAgICAgICAgICAgICBtX2Ns
aWVudC0+bmV3UmVnaW9uc1BhcnNlZCgpOwpAQCAtMTc2LDExICsxNzgsNiBAQCB2b2lkIFdlYlZU
VFBhcnNlcjo6cGFyc2VCeXRlcyhjb25zdCBjaGFyCiAgICAgICAgICAgICAgICAgbV9zdGF0ZSA9
IElkOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQotICAgICAgICAgICAg
Y29sbGVjdEhlYWRlcihsaW5lKTsKLQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgY2Fz
ZSBNZXRhZGF0YToKICNlbmRpZgogICAgICAgICAgICAgaWYgKGxpbmUuaXNFbXB0eSgpKQogICAg
ICAgICAgICAgICAgIG1fc3RhdGUgPSBJZDsKQEAgLTI1Miw3ICsyNDksNyBAQCBib29sIFdlYlZU
VFBhcnNlcjo6aGFzUmVxdWlyZWRGaWxlSWRlbnRpCiB9CiAKICNpZiBFTkFCTEUoV0VCVlRUX1JF
R0lPTlMpCi12b2lkIFdlYlZUVFBhcnNlcjo6Y29sbGVjdEhlYWRlcihjb25zdCBTdHJpbmcmIGxp
bmUpCit2b2lkIFdlYlZUVFBhcnNlcjo6Y29sbGVjdE1ldGFkYXRhSGVhZGVyKGNvbnN0IFN0cmlu
ZyYgbGluZSkKIHsKICAgICAvLyA0LjEgRXh0ZW5zaW9uIG9mIFdlYlZUVCBoZWFkZXIgcGFyc2lu
ZyAoMTEgLSAxNSkKICAgICBERVBSRUNBVEVEX0RFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRv
bWljU3RyaW5nLCByZWdpb25IZWFkZXJOYW1lLCAoIlJlZ2lvbiIsIEF0b21pY1N0cmluZzo6Q29u
c3RydWN0RnJvbUxpdGVyYWwpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svV2Vi
VlRUUGFyc2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9XZWJW
VFRQYXJzZXIuaAkocmV2aXNpb24gMTY1ODI5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC90cmFj
ay9XZWJWVFRQYXJzZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTAwLDkgKzEwMCw2IEBAIHB1Ymxp
YzoKICAgICBlbnVtIFBhcnNlU3RhdGUgewogICAgICAgICBJbml0aWFsLAogICAgICAgICBIZWFk
ZXIsCi0jaWYgRU5BQkxFKFdFQlZUVF9SRUdJT05TKQotICAgICAgICBNZXRhZGF0YSwKLSNlbmRp
ZgogICAgICAgICBJZCwKICAgICAgICAgVGltaW5nc0FuZFNldHRpbmdzLAogICAgICAgICBDdWVU
ZXh0LApAQCAtMTY4LDggKzE2NSw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjcmVhdGVOZXdDdWUo
KTsKICAgICB2b2lkIHJlc2V0Q3VlVmFsdWVzKCk7CiAKKyAgICB2b2lkIGNvbGxlY3RNZXRhZGF0
YUhlYWRlcihjb25zdCBTdHJpbmcmKTsKICNpZiBFTkFCTEUoV0VCVlRUX1JFR0lPTlMpCi0gICAg
dm9pZCBjb2xsZWN0SGVhZGVyKGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgY3JlYXRlTmV3UmVn
aW9uKCk7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDE2NTgyOSkKKysrIFNv
dXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMTEsNiArMjExLDcgQEAgRU5BQkxFX1dFQl9BVURJTyA9IEVOQUJMRV9X
RUJfQVVESU87CiBFTkFCTEVfV0VCX1JFUExBWSA9IDsKIEVOQUJMRV9XRUJfU09DS0VUUyA9IEVO
QUJMRV9XRUJfU09DS0VUUzsKIEVOQUJMRV9XRUJfVElNSU5HID0gOworRU5BQkxFX1dFQlZUVF9S
RUdJT05TID0gRU5BQkxFX1dFQlZUVF9SRUdJT05TOwogRU5BQkxFX1hIUl9USU1FT1VUID0gRU5B
QkxFX1hIUl9USU1FT1VUOwogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIApAQCAtMjI0LDQg
KzIyNSw0IEBAIEVOQUJMRV9GVExfSklUX2lwaG9uZXNpbXVsYXRvciA9IDsKIAogRU5BQkxFX0xM
SU5UX0NfTE9PUCA9IDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5H
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09W
RVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9CTE9CKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJM
RV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DU1Bf
TkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0VY
Q0xVU0lPTlMpICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQp
ICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09M
VVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJM
RV9DU1NfU0hBUEVfSU5TSURFKSAkKEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OKSAkKEVOQUJM
RV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQpICQoRU5BQkxFX0NTUzNfQ09O
RElUSU9OQUxfUlVMRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJ
TkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NI
RU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxT
X0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVO
VFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRT
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVO
QUJMRV9ISUdIX0RQSV9DQU5WQVMpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU1B
R0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lORElFX1VJ
KSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RP
UikgJChFTkFCTEVfSU9TX0FJUlBMQVkpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gp
ICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVS
X0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQo
RU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QTFVHSU5fUFJPWFlfRk9SX1ZJREVPKSAkKEVOQUJMRV9QUk9HUkVTU19FTEVNRU5UKSAk
KEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVC
TElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJ
T05fRlJBTUUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05f
TUVESUFfUVVFUlkpICQoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCkgJChFTkFCTEVfU0hBUkVEX1dP
UktFUlMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NRTF9EQVRBQkFTRSkg
JChFTkFCTEVfU1VCUElYRUxfTEFZT1VUKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJM
RV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VM
RUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9W
SUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FOSU1BVElP
TlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VC
X1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRkVB
VFVSRV9ERUZJTkVTXyQoUExBVEZPUk1fTkFNRSkpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFC
TEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAk
KEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZB
U19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
KSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMpICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9D
U1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVf
Q1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1Nf
U0hBUEVTKSAkKEVOQUJMRV9DU1NfU0hBUEVfSU5TSURFKSAkKEVOQUJMRV9DU1NfU1RJQ0tZX1BP
U0lUSU9OKSAkKEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQpICQo
RU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFC
TEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVO
QUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAk
KEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAk
KEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChF
TkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9G
T05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBB
RCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9U
SFJPVFRMSU5HKSAkKEVOQUJMRV9ISUdIX0RQSV9DQU5WQVMpICQoRU5BQkxFX0lDT05EQVRBQkFT
RSkgJChFTkFCTEVfSU1BR0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQo
RU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05U
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQo
RU5BQkxFX0lOU1BFQ1RPUikgJChFTkFCTEVfSU9TX0FJUlBMQVkpICQoRU5BQkxFX0lPU19URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxF
X0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNf
U0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QREZL
SVRfUExVR0lOKSAkKEVOQUJMRV9QTFVHSU5fUFJPWFlfRk9SX1ZJREVPKSAkKEVOQUJMRV9QUk9H
UkVTU19FTEVNRU5UKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5U
UykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVf
UkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5B
QkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCkgJChF
TkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1VCUElYRUxfTEFZT1VUKSAkKEVOQUJMRV9TVUJUTEVf
Q1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVU
RUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAk
KEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RS
QUNLKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFC
TEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExB
WSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dF
QlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFC
TEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEZFQVRVUkVfREVGSU5FU18kKFBM
QVRGT1JNX05BTUUpKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAxNjU4MjkpCisr
KyBTb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
Zwkod29ya2luZyBjb3B5KQpAQCAtMjExLDYgKzIxMSw3IEBAIEVOQUJMRV9XRUJfQVVESU8gPSBF
TkFCTEVfV0VCX0FVRElPOwogRU5BQkxFX1dFQl9SRVBMQVkgPSA7CiBFTkFCTEVfV0VCX1NPQ0tF
VFMgPSBFTkFCTEVfV0VCX1NPQ0tFVFM7CiBFTkFCTEVfV0VCX1RJTUlORyA9IDsKK0VOQUJMRV9X
RUJWVFRfUkVHSU9OUyA9IEVOQUJMRV9XRUJWVFRfUkVHSU9OUzsKIEVOQUJMRV9YSFJfVElNRU9V
VCA9IEVOQUJMRV9YSFJfVElNRU9VVDsKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKQEAg
LTIyNCw0ICsyMjUsNCBAQCBFTkFCTEVfRlRMX0pJVF9pcGhvbmVzaW11bGF0b3IgPSA7CiAKIEVO
QUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JF
TkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVf
QkxPQikgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkg
JChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVf
Q1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxF
X0NTU19FWENMVVNJT05TKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFCTEVfQ1NTX0dSSURf
TEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFH
RV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NIQVBFUykg
JChFTkFCTEVfQ1NTX1NIQVBFX0lOU0lERSkgJChFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTikg
JChFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEKSAkKEVOQUJMRV9D
U1MzX0NPTkRJVElPTkFMX1JVTEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNf
VEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VT
VE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVf
REFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVf
REVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RP
TTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRk9OVF9MT0FE
X0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5B
QkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElO
RykgJChFTkFCTEVfSElHSF9EUElfQ0FOVkFTKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5B
QkxFX0lNQUdFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9J
TkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5B
QkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9J
TlNQRUNUT1IpICQoRU5BQkxFX0lPU19BSVJQTEFZKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BS
RUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkg
JChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1ND
QUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUExVR0lOX1BST1hZX0ZPUl9WSURFTykgJChFTkFCTEVfUFJPR1JFU1NfRUxF
TUVOVCkgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1Rf
QU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNP
TFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gpICQoRU5BQkxFX1NI
QVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TUUxfREFU
QUJBU0UpICQoRU5BQkxFX1NVQlBJWEVMX0xBWU9VVCkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykg
JChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVf
VVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChF
TkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9B
TklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5B
QkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9YSFJfVElNRU9V
VCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09Q
KSAkKEZFQVRVUkVfREVGSU5FU18kKFBMQVRGT1JNX05BTUUpKTsKK0ZFQVRVUkVfREVGSU5FUyA9
ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBU
SU9OUykgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJM
RV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9C
UkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBU
QVRJT04pICQoRU5BQkxFX0NTU19FWENMVVNJT05TKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChF
TkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFC
TEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTX1NIQVBFX0lOU0lERSkgJChFTkFCTEVfQ1NTX1NU
SUNLWV9QT1NJVElPTikgJChFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJ
WEVEKSAkKEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQp
ICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElU
WSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9J
VEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSUykgJChF
TkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01f
VElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSElHSF9EUElfQ0FOVkFTKSAkKEVOQUJMRV9JQ09O
REFUQUJBU0UpICQoRU5BQkxFX0lNQUdFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBM
RVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9X
RUVLKSAkKEVOQUJMRV9JTlNQRUNUT1IpICQoRU5BQkxFX0lPU19BSVJQTEFZKSAkKEVOQUJMRV9J
T1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAk
KEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NP
TlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVf
TU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChF
TkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFC
TEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUExVR0lOX1BST1hZX0ZPUl9WSURFTykgJChFTkFC
TEVfUFJPR1JFU1NfRUxFTUVOVCkgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlU
WV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9S
KSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9TQ1JJUFRFRF9TUEVF
Q0gpICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAk
KEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NVQlBJWEVMX0xBWU9VVCkgJChFTkFCTEVf
U1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9B
RElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9W
SURFT19UUkFDSykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wp
ICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dF
Ql9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVO
QUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQp
ICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChGRUFUVVJFX0RFRklO
RVNfJChQTEFURk9STV9OQU1FKSk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNjU4MjkpCisrKyBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNCBAQAorMjAxNC0w
My0xOCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KKworICAgICAgICBUZXh0
VHJhY2tSZWdpb24gTm90IEltcGxlbWVudGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMTY1NDYKKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENh
cmxzb24uCisKKyAgICAgICAgTWVyZ2VkIGZyb20gQmxpbmsgKHBhdGNoIGJ5IHZjYXJidW5lQGNo
cm9taXVtLm9yZyk6CisgICAgICAgIGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9j
aHJvbWl1bS9ibGluay8rLzQ5NDBmODlhMDg3ZmVhNWI1ZWE2MjhlOThkMGIzNTVkMzk4YTllZWEK
KyAgICAgICAgaHR0cDovL2NyYnVnLmNvbS8yNTc5ODAwMworCisgICAgICAgICogVGVzdEV4cGVj
dGF0aW9uczoKKyAgICAgICAgKiBtZWRpYS90cmFjay9jYXB0aW9ucy13ZWJ2dHQvY2FwdGlvbnMt
cmVnaW9ucy52dHQ6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0
L3RleHQtdHJhY2stY3VlLXJlZ2lvbi1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0OiBSZWJhc2VsaW5l
LgorICAgICAgICAqIG1lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0L3RleHQtdHJhY2stcmVnaW9u
LWRpc3BsYXktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS90cmFjay9yZWdp
b25zLXdlYnZ0dC90ZXh0LXRyYWNrLXJlZ2lvbi1kaXNwbGF5Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIG1lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0L3RleHQtdHJhY2stcmVnaW9uLWRvbS1sYXlv
dXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS90cmFjay9yZWdpb25zLXdl
YnZ0dC90ZXh0LXRyYWNrLXJlZ2lvbi1kb20tbGF5b3V0Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IG1lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0L3RleHQtdHJhY2stcmVnaW9uLWxpc3QtZXhwZWN0
ZWQudHh0OiBSZWJhc2VsaW5lLgorICAgICAgICAqIG1lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0
L3RleHQtdHJhY2stcmVnaW9uLXBhcnNlci1leHBlY3RlZC50eHQ6IFJlYmFzZWxpbmUuCisKIDIw
MTQtMDMtMTggIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxNjU4MTUuCkluZGV4OiBMYXlvdXRUZXN0cy9t
ZWRpYS90cmFjay9jYXB0aW9ucy13ZWJ2dHQvY2FwdGlvbnMtcmVnaW9ucy52dHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svY2FwdGlvbnMtd2VidnR0L2NhcHRpb25zLXJl
Z2lvbnMudnR0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svY2FwdGlv
bnMtd2VidnR0L2NhcHRpb25zLXJlZ2lvbnMudnR0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MTkgQEAKK1dFQlZUVCBGSUxFCitSZWdpb246IGlkPWZyZWQgd2lkdGg9NTAlIGhlaWdodD0yIHJl
Z2lvbmFuY2hvcj01MCUsMTAwJSB2aWV3cG9ydGFuY2hvcj0xMCUsNDAlCisKKzEKKzAwOjAwOjAw
LjAwMCAtLT4gMDA6MDA6MDEuNTAwIHJlZ2lvbjpmcmVkCitXZSBhcmUgaW4gTmV3IFlvcmsgQ2l0
eQorCisyCiswMDowMDowMC41MDAgLS0+IDAwOjAwOjAxLjUwMCByZWdpb246ZnJlZAorU2Vjb25k
IGN1ZQorCiszCiswMDowMDowMS4wMDAgLS0+IDAwOjAwOjAyLjUwMCByZWdpb246ZnJlZAorTXVs
dGlsaW5lCitDdWUKKworNAorMDA6MDA6MDIuMDAwIC0tPiAwMDowMDowMy4wMDAgcmVnaW9uOmZy
ZWQKK0ZvdXJ0aCBjdWUhClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0
VGVzdHMvbWVkaWEvdHJhY2svcmVnaW9ucy13ZWJ2dHQvdGV4dC10cmFjay1jdWUtcmVnaW9uLWF0
dHJpYnV0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdHJh
Y2svcmVnaW9ucy13ZWJ2dHQvdGV4dC10cmFjay1jdWUtcmVnaW9uLWF0dHJpYnV0ZS1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDE2NTgyOSkKKysrIExheW91dFRlc3RzL21lZGlhL3RyYWNrL3JlZ2lv
bnMtd2VidnR0L3RleHQtdHJhY2stY3VlLXJlZ2lvbi1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNyBAQAogVGVzdHMgdGhlIHJlZ2lvbklkIGF0dHJpYnV0
ZSBvZiBhIGN1ZS4KIAogCisKICoqIFRlc3QgdGhlIHNldHRlciBhbmQgZ2V0dGVyIHRocm91Z2gg
dGhlIEpTIEFQSSAqKgogRVhQRUNURUQgKGN1ZS5yZWdpb25JZCA9PSAnJykgT0sKIEVYUEVDVEVE
IChjdWUucmVnaW9uSWQgPT0gJ3NvbWVJZCcpIE9LCkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS90
cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0LXRyYWNrLXJlZ2lvbi1kaXNwbGF5LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay9yZWdpb25zLXdlYnZ0dC90
ZXh0LXRyYWNrLXJlZ2lvbi1kaXNwbGF5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL21lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0L3RleHQtdHJhY2stcmVnaW9uLWRp
c3BsYXktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTMgQEAKK1Rlc3Rz
IGRlZmF1bHQgcmVuZGVyaW5nIGZvciBUZXh0VHJhY2tDdWVzIHRoYXQgYmVsb25nIHRvIGEgVGV4
dFRyYWNrUmVnaW9uLgorCisKK0VWRU5UKGNhbnBsYXl0aHJvdWdoKQorKiogVGhlIHRleHQgdHJh
Y2sgaGFzIG9ubHkgb25lIHJlZ2lvbiAqKgorRVhQRUNURUQgKHRlc3RUcmFjay5yZWdpb25zLmxl
bmd0aCA9PSAnMScpIE9LCisKKyoqIEluc3BlY3RpbmcgY3VlcyBkaXNwbGF5ZWQgd2l0aGluIHJl
Z2lvbioqCisKK1JVTih2aWRlby5jdXJyZW50VGltZSA9IDAuMikKK0VWRU5UKHNlZWtlZCkKK1Rv
dGFsIGN1ZXMgaW4gcmVnaW9uOiAxCitDdWUgY29udGVudCBpczogV2UgYXJlIGluIE5ldyBZb3Jr
IENpdHkKK0N1ZSBsaW5lcyB2aXNpYmxlIGZyb20gdGhpcyBjdWU6IDEKK0VYUEVDVEVEICh0b3Rh
bFZpc2libGVMaW5lcyA8PSB0ZXN0VHJhY2sucmVnaW9uc1swXS5oZWlnaHQgPT0gJ3RydWUnKSBP
SworCitSVU4odmlkZW8uY3VycmVudFRpbWUgPSAwLjUpCitFVkVOVChzZWVrZWQpCitUb3RhbCBj
dWVzIGluIHJlZ2lvbjogMgorQ3VlIGNvbnRlbnQgaXM6IFdlIGFyZSBpbiBOZXcgWW9yayBDaXR5
CitDdWUgbGluZXMgdmlzaWJsZSBmcm9tIHRoaXMgY3VlOiAxCitDdWUgY29udGVudCBpczogU2Vj
b25kIGN1ZQorQ3VlIGxpbmVzIHZpc2libGUgZnJvbSB0aGlzIGN1ZTogMQorRVhQRUNURUQgKHRv
dGFsVmlzaWJsZUxpbmVzIDw9IHRlc3RUcmFjay5yZWdpb25zWzBdLmhlaWdodCA9PSAndHJ1ZScp
IE9LCisKK1JVTih2aWRlby5jdXJyZW50VGltZSA9IDEpCitFVkVOVChzZWVrZWQpCitUb3RhbCBj
dWVzIGluIHJlZ2lvbjogMworQ3VlIGNvbnRlbnQgaXM6IFdlIGFyZSBpbiBOZXcgWW9yayBDaXR5
CitDdWUgbGluZXMgdmlzaWJsZSBmcm9tIHRoaXMgY3VlOiAxCitDdWUgY29udGVudCBpczogU2Vj
b25kIGN1ZQorQ3VlIGxpbmVzIHZpc2libGUgZnJvbSB0aGlzIGN1ZTogMQorQ3VlIGNvbnRlbnQg
aXM6IE11bHRpbGluZSBDdWUKK0N1ZSBsaW5lcyB2aXNpYmxlIGZyb20gdGhpcyBjdWU6IDAKK0VY
UEVDVEVEICh0b3RhbFZpc2libGVMaW5lcyA8PSB0ZXN0VHJhY2sucmVnaW9uc1swXS5oZWlnaHQg
PT0gJ3RydWUnKSBPSworCitSVU4odmlkZW8uY3VycmVudFRpbWUgPSAyLjMpCitFVkVOVChzZWVr
ZWQpCitUb3RhbCBjdWVzIGluIHJlZ2lvbjogMgorQ3VlIGNvbnRlbnQgaXM6IE11bHRpbGluZSBD
dWUKK0N1ZSBsaW5lcyB2aXNpYmxlIGZyb20gdGhpcyBjdWU6IDIKK0N1ZSBjb250ZW50IGlzOiBG
b3VydGggY3VlIQorQ3VlIGxpbmVzIHZpc2libGUgZnJvbSB0aGlzIGN1ZTogMAorRVhQRUNURUQg
KHRvdGFsVmlzaWJsZUxpbmVzIDw9IHRlc3RUcmFjay5yZWdpb25zWzBdLmhlaWdodCA9PSAndHJ1
ZScpIE9LCisKK1JVTih2aWRlby5jdXJyZW50VGltZSA9IDMpCitFVkVOVChzZWVrZWQpCitUb3Rh
bCBjdWVzIGluIHJlZ2lvbjogMQorQ3VlIGNvbnRlbnQgaXM6IEZvdXJ0aCBjdWUhCitDdWUgbGlu
ZXMgdmlzaWJsZSBmcm9tIHRoaXMgY3VlOiAxCitFWFBFQ1RFRCAodG90YWxWaXNpYmxlTGluZXMg
PD0gdGVzdFRyYWNrLnJlZ2lvbnNbMF0uaGVpZ2h0ID09ICd0cnVlJykgT0sKK0VORCBPRiBURVNU
CisKSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0L3RleHQtdHJh
Y2stcmVnaW9uLWRpc3BsYXkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS90
cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0LXRyYWNrLXJlZ2lvbi1kaXNwbGF5Lmh0bWwJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0LXRy
YWNrLXJlZ2lvbi1kaXNwbGF5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMDggQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGh0dHAt
ZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiAv
PgorCisgICAgICAgIDxzY3JpcHQgc3JjPS4uLy4uL21lZGlhLWNvbnRyb2xzLmpzPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0uLi8uLi9tZWRpYS1maWxlLmpzPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0uLi8uLi92aWRlby10ZXN0LmpzPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0PgorICAgICAgICB2YXIgdGVzdFRyYWNrOworICAgICAgICB2YXIgcmVnaW9uOworICAg
ICAgICB2YXIgY29udGFpbmVyOworICAgICAgICB2YXIgdG90YWxWaXNpYmxlTGluZXM7CisKKyAg
ICAgICAgdmFyIHNlZWtUaW1lcyA9IFswLjIsIDAuNSwgMS4wLCAyLjMsIDMuMF07CisgICAgICAg
IHZhciBjcnRTZWVrVGltZSA9IDA7CisKKyAgICAgICAgZnVuY3Rpb24gY291bnRWaXNpYmxlTGlu
ZXMoY3VlRWxlbWVudCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIGN1ZVJlY3QgPSBjdWVF
bGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICAgICAgICAgICAgdmFyIHJlZ2lvblJl
Y3QgPSByZWdpb24uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisKKyAgICAgICAgICAgIHZhciBs
aW5lc01hdGNoID0gY3VlRWxlbWVudC50ZXh0Q29udGVudC5tYXRjaCgvXG4vZyk7CisgICAgICAg
ICAgICB2YXIgbGluZXNDb3VudCA9IDEgKyAobGluZXNNYXRjaCA9PSBudWxsID8gMCA6IGxpbmVz
TWF0Y2gubGVuZ3RoKTsKKyAgICAgICAgICAgIHZhciBsaW5lSGVpZ2h0ID0gY3VlUmVjdC5oZWln
aHQgLyBsaW5lc0NvdW50OworCisgICAgICAgICAgICB2YXIgdmlzaWJsZUxpbmVzID0gMDsKKyAg
ICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBsaW5lc0NvdW50OyArK2kpIHsKKyAgICAgICAgICAg
ICAgdmFyIGxpbmVUb3AgPSBjdWVSZWN0LnRvcCArIGkgKiBsaW5lSGVpZ2h0OworICAgICAgICAg
ICAgICB2YXIgbGluZUJvdHRvbSA9IGN1ZVJlY3QudG9wICsgKGkrMSkgKiBsaW5lSGVpZ2h0Owor
CisgICAgICAgICAgICAgIGlmIChsaW5lVG9wID49IHJlZ2lvblJlY3QudG9wICYmIGxpbmVCb3R0
b20gPD0gcmVnaW9uUmVjdC5ib3R0b20pCisgICAgICAgICAgICAgICAgdmlzaWJsZUxpbmVzKys7
CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHJldHVybiB2aXNpYmxlTGluZXM7CisgICAg
ICAgIH0KKworICAgICAgICBmdW5jdGlvbiB0ZXN0UmVnaW9uc0Rpc3BsYXkoKQorICAgICAgICB7
CisgICAgICAgICAgICB0ZXN0VHJhY2sgPSB2aWRlby50ZXh0VHJhY2tzWzBdOworCisgICAgICAg
ICAgICBjb25zb2xlV3JpdGUoIioqIFRoZSB0ZXh0IHRyYWNrIGhhcyBvbmx5IG9uZSByZWdpb24g
KioiKTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidGVzdFRyYWNrLnJlZ2lvbnMubGVuZ3Ro
IiwgMSk7CisKKyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgIHJlZ2lvbiA9IHRleHRU
cmFja0Rpc3BsYXlFbGVtZW50KHZpZGVvLCAncmVnaW9uJyk7CisgICAgICAgICAgICAgIGNvbnRh
aW5lciA9IHRleHRUcmFja0Rpc3BsYXlFbGVtZW50KHZpZGVvLCAncmVnaW9uLWNvbnRhaW5lcicp
OworICAgICAgICAgICAgfSBjYXRjaChlKSB7CisgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZShl
KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgY29uc29sZVdyaXRlKCI8YnI+KiogSW5z
cGVjdGluZyBjdWVzIGRpc3BsYXllZCB3aXRoaW4gcmVnaW9uKioiKTsKKworICAgICAgICAgICAg
d2FpdEZvckV2ZW50KCJzZWVrZWQiLCBpbnNwZWN0UmVnaW9uVHJlZSk7CisgICAgICAgICAgICBz
ZWVrVmlkZW8oKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHNlZWtWaWRlbygpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CisgICAgICAgICAgICBydW4o
InZpZGVvLmN1cnJlbnRUaW1lID0gIiArIHNlZWtUaW1lc1tjcnRTZWVrVGltZSsrXSk7CisgICAg
ICAgIH0KKworICAgICAgICBmdW5jdGlvbiBpbnNwZWN0UmVnaW9uVHJlZSgpCisgICAgICAgIHsK
KyAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVG90YWwgY3VlcyBpbiByZWdpb246ICIgKyBjb250
YWluZXIuY2hpbGRyZW4ubGVuZ3RoKTsKKyAgICAgICAgICAgIHRvdGFsVmlzaWJsZUxpbmVzID0g
MDsKKworICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb250YWluZXIuY2hpbGRyZW4u
bGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgICAgICB2YXIgY3VlID0gY29udGFpbmVyLmNoaWxk
cmVuW2ldOworICAgICAgICAgICAgICAgIHZhciBjdWVWaXNpYmxlTGluZXMgPSBjb3VudFZpc2li
bGVMaW5lcyhjdWUpOworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiQ3VlIGNvbnRlbnQg
aXM6ICIgKyBjdWUudGV4dENvbnRlbnQpOworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgi
Q3VlIGxpbmVzIHZpc2libGUgZnJvbSB0aGlzIGN1ZTogIiArIGN1ZVZpc2libGVMaW5lcyk7CisK
KyAgICAgICAgICAgICAgICB0b3RhbFZpc2libGVMaW5lcyArPSBjdWVWaXNpYmxlTGluZXM7Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidG90YWxWaXNpYmxlTGlu
ZXMgPD0gdGVzdFRyYWNrLnJlZ2lvbnNbMF0uaGVpZ2h0IiwgdHJ1ZSk7CisKKyAgICAgICAgICAg
IGlmIChjcnRTZWVrVGltZSA9PSBzZWVrVGltZXMubGVuZ3RoKQorICAgICAgICAgICAgICAgIGVu
ZFRlc3QoKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBzZWVrVmlkZW8oKTsK
KyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIGlmICghd2luZG93LlRleHRUcmFja1JlZ2lvbikgeworICAgICAgICAgICAgICAg
IGZhaWxUZXN0KCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CisKKyAgICAgICAgICAgIHZpZGVvLnNyYyA9
IGZpbmRNZWRpYUZpbGUoJ3ZpZGVvJywgJy4uLy4uL2NvbnRlbnQvdGVzdCcpOworICAgICAgICAg
ICAgd2FpdEZvckV2ZW50KCdjYW5wbGF5dGhyb3VnaCcsIHRlc3RSZWdpb25zRGlzcGxheSk7Cisg
ICAgICAgIH0KKworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxwPlRlc3RzIGRlZmF1bHQgcmVuZGVyaW5nIGZvciBUZXh0VHJhY2tDdWVzIHRoYXQg
YmVsb25nIHRvIGEgVGV4dFRyYWNrUmVnaW9uLjwvcD4KKyAgICAgICAgPHZpZGVvIGNvbnRyb2xz
PgorICAgICAgICAgICAgPHRyYWNrIHNyYz0iLi4vY2FwdGlvbnMtd2VidnR0L2NhcHRpb25zLXJl
Z2lvbnMudnR0IiBraW5kPSJjYXB0aW9ucyIgZGVmYXVsdCBvbmxvYWQ9InN0YXJ0VGVzdCgpIj4K
KyAgICAgICAgPC92aWRlbz4KKyAgICA8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svcmVnaW9ucy13ZWJ2dHQv
dGV4dC10cmFjay1yZWdpb24tZG9tLWxheW91dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svcmVnaW9ucy13ZWJ2dHQvdGV4dC10cmFjay1yZWdpb24t
ZG9tLWxheW91dC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9tZWRp
YS90cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0LXRyYWNrLXJlZ2lvbi1kb20tbGF5b3V0LWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIwIEBACitUZXN0cyBkZWZhdWx0IERP
TSBsYXlvdXQgc3RydWN0dXJlIGZvciBhIFRleHRUcmFja1JlZ2lvbi4KKworCitFVkVOVChjYW5w
bGF5dGhyb3VnaCkKKyoqIFRoZSB0ZXh0IHRyYWNrIGhhcyBvbmx5IG9uZSByZWdpb24gKioKK0VY
UEVDVEVEICh0ZXN0VHJhY2sucmVnaW9ucy5sZW5ndGggPT0gJzEnKSBPSworCisqKiBJbnNwZWN0
aW5nIHRoZSBkZWZhdWx0IERPTSBsYXlvdXQgdXNlZCBmb3IgcmVnaW9ucyBkaXNwbGF5ICoqCisK
KyoqIE9ubHkgb25lIHJlZ2lvbiBzaG91bGQgYmUgZGlzcGxheWVkICoqCitFWFBFQ1RFRCAocmVn
aW9uLmNoaWxkcmVuLmxlbmd0aCA9PSAnMScpIE9LCisKKyoqIFRoZSBjaGlsZCBvZiB0aGUgcmVn
aW9uIHNob3VsZCBiZSB0aGUgY29udGFpbmVyICoqCitFWFBFQ1RFRCAocmVnaW9uLmNoaWxkcmVu
WzBdID09IGNvbnRhaW5lciA9PSAndHJ1ZScpIE9LCisKKyoqIERlZmF1bHQgcHNldWRvIElEcyBz
aG91bGQgYmUgc2V0IHByb3Blcmx5CitFWFBFQ1RFRCAocmVnaW9uLmdldEF0dHJpYnV0ZSgncHNl
dWRvJykgPT0gJy13ZWJraXQtbWVkaWEtdGV4dC10cmFjay1yZWdpb24nKSBPSworRVhQRUNURUQg
KGNvbnRhaW5lci5nZXRBdHRyaWJ1dGUoJ3BzZXVkbycpID09ICctd2Via2l0LW1lZGlhLXRleHQt
dHJhY2stcmVnaW9uLWNvbnRhaW5lcicpIE9LCitFTkQgT0YgVEVTVAorCkluZGV4OiBMYXlvdXRU
ZXN0cy9tZWRpYS90cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0LXRyYWNrLXJlZ2lvbi1kb20tbGF5
b3V0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svcmVnaW9ucy13
ZWJ2dHQvdGV4dC10cmFjay1yZWdpb24tZG9tLWxheW91dC5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svcmVnaW9ucy13ZWJ2dHQvdGV4dC10cmFjay1yZWdpb24t
ZG9tLWxheW91dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjQgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNv
bnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiAvPgorCisgICAg
ICAgIDxzY3JpcHQgc3JjPS4uLy4uL21lZGlhLWNvbnRyb2xzLmpzPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0uLi8uLi9tZWRpYS1maWxlLmpzPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0uLi8uLi92aWRlby10ZXN0LmpzPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0Pgor
ICAgICAgICB2YXIgdGVzdFRyYWNrOworICAgICAgICB2YXIgcmVnaW9uOworICAgICAgICB2YXIg
Y29udGFpbmVyOworCisgICAgICAgIGZ1bmN0aW9uIHRlc3RSZWdpb25zRGlzcGxheSgpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIHRlc3RUcmFjayA9IHZpZGVvLnRleHRUcmFja3NbMF07CisKKyAg
ICAgICAgICAgIGNvbnNvbGVXcml0ZSgiKiogVGhlIHRleHQgdHJhY2sgaGFzIG9ubHkgb25lIHJl
Z2lvbiAqKiIpOworICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0ZXN0VHJhY2sucmVnaW9ucy5s
ZW5ndGgiLCAxKTsKKworICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgcmVnaW9uID0g
dGV4dFRyYWNrRGlzcGxheUVsZW1lbnQodmlkZW8sICdyZWdpb24nKTsKKyAgICAgICAgICAgICAg
Y29udGFpbmVyID0gdGV4dFRyYWNrRGlzcGxheUVsZW1lbnQodmlkZW8sICdyZWdpb24tY29udGFp
bmVyJyk7CisgICAgICAgICAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgICAgICAgY29uc29sZVdy
aXRlKGUpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxicj4q
KiBJbnNwZWN0aW5nIHRoZSBkZWZhdWx0IERPTSBsYXlvdXQgdXNlZCBmb3IgcmVnaW9ucyBkaXNw
bGF5ICoqIik7CisKKyAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPioqIE9ubHkgb25lIHJl
Z2lvbiBzaG91bGQgYmUgZGlzcGxheWVkICoqIik7CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQo
InJlZ2lvbi5jaGlsZHJlbi5sZW5ndGgiLCAxKTsKKworICAgICAgICAgICAgY29uc29sZVdyaXRl
KCI8YnI+KiogVGhlIGNoaWxkIG9mIHRoZSByZWdpb24gc2hvdWxkIGJlIHRoZSBjb250YWluZXIg
KioiKTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLmNoaWxkcmVuWzBdID09IGNv
bnRhaW5lciIsIHRydWUpOworCisgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxicj4qKiBEZWZh
dWx0IHBzZXVkbyBJRHMgc2hvdWxkIGJlIHNldCBwcm9wZXJseSIpOworICAgICAgICAgICAgdGVz
dEV4cGVjdGVkKCJyZWdpb24uZ2V0QXR0cmlidXRlKCdwc2V1ZG8nKSIsICItd2Via2l0LW1lZGlh
LXRleHQtdHJhY2stcmVnaW9uIik7CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImNvbnRhaW5l
ci5nZXRBdHRyaWJ1dGUoJ3BzZXVkbycpIiwgIi13ZWJraXQtbWVkaWEtdGV4dC10cmFjay1yZWdp
b24tY29udGFpbmVyIik7CisKKyAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICgh
d2luZG93LlRleHRUcmFja1JlZ2lvbikgeworICAgICAgICAgICAgICAgIGZhaWxUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmaW5k
TWVkaWFFbGVtZW50KCk7CisKKyAgICAgICAgICAgIHZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUo
J3ZpZGVvJywgJy4uLy4uL2NvbnRlbnQvdGVzdCcpOworICAgICAgICAgICAgd2FpdEZvckV2ZW50
KCdjYW5wbGF5dGhyb3VnaCcsIHRlc3RSZWdpb25zRGlzcGxheSk7CisgICAgICAgIH0KKworICAg
ICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3Rz
IGRlZmF1bHQgRE9NIGxheW91dCBzdHJ1Y3R1cmUgZm9yIGEgVGV4dFRyYWNrUmVnaW9uLjwvcD4K
KyAgICAgICAgPHZpZGVvIGNvbnRyb2xzPgorICAgICAgICAgICAgPHRyYWNrIHNyYz0iLi4vY2Fw
dGlvbnMtd2VidnR0L2NhcHRpb25zLXJlZ2lvbnMudnR0IiBraW5kPSJjYXB0aW9ucyIgZGVmYXVs
dCBvbmxvYWQ9InN0YXJ0VGVzdCgpIj4KKyAgICAgICAgPC92aWRlbz4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvbWVk
aWEvdHJhY2svcmVnaW9ucy13ZWJ2dHQvdGV4dC10cmFjay1yZWdpb24tbGlzdC1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svcmVnaW9ucy13ZWJ2dHQv
dGV4dC10cmFjay1yZWdpb24tbGlzdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE2NTgyOSkKKysr
IExheW91dFRlc3RzL21lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0L3RleHQtdHJhY2stcmVnaW9u
LWxpc3QtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNyBAQAogVGVzdHMg
VGV4dFRyYWNrUmVnaW9uTGlzdCBmdW5jdGlvbmFsaXR5OiBsZW5ndGgsIG9wZXJhdG9yW10sIGFu
ZCBnZXRSZWdpb25CeUlkKCkKIAogCisKICoqIEltcGxpY2l0IG1vZGUgZGlzYWJsZWQgYW5kIHRo
ZSByZWdpb25zIGF0dHJpYnV0ZSBpcyBudWxsICoqCiBFWFBFQ1RFRCAodGVzdFRyYWNrLnRyYWNr
Lm1vZGUgPT0gJ2Rpc2FibGVkJykgT0sKIEVYUEVDVEVEICh0ZXN0VHJhY2sudHJhY2sucmVnaW9u
cyA9PSAnbnVsbCcpIE9LCkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay9yZWdpb25zLXdl
YnZ0dC90ZXh0LXRyYWNrLXJlZ2lvbi1wYXJzZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL21lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0L3RleHQtdHJhY2stcmVnaW9u
LXBhcnNlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE2NTgyOSkKKysrIExheW91dFRlc3RzL21l
ZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0L3RleHQtdHJhY2stcmVnaW9uLXBhcnNlci1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2IEBACiBUZXN0cyBwcm9wZXIgcGFyc2lu
ZyBvZiB2YXJpb3VzIHJlZ2lvbnMgcHJlc2VudCBpbiBXZWJWVFQgaGVhZGVyIGFyZWEuCiAKKwog
RVhQRUNURUQgKHZpZGVvLnRleHRUcmFja3NbMF0ucmVnaW9ucy5sZW5ndGggPT0gJzUnKSBPSwog
CiBFWFBFQ1RFRCAocmVnaW9uLmlkID09ICdyZWdpb25fd2l0aG91dF9zZXR0aW5ncycpIE9LCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227131</attachid>
            <date>2014-03-18 16:55:40 -0700</date>
            <delta_ts>2014-03-18 17:29:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-116546-20140318165518.patch</filename>
            <type>text/plain</type>
            <size>24042</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NTgyOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDE0LTAzLTE4ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFRleHRUcmFja1JlZ2lvbiBO
b3QgSW1wbGVtZW50ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExNjU0NgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAg
ICAgICBNZXJnZWQgZnJvbSBCbGluayAocGF0Y2ggYnkgdmNhcmJ1bmVAY2hyb21pdW0ub3JnKToK
KyAgICAgICAgaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL2JsaW5r
LysvNDk0MGY4OWEwODdmZWE1YjVlYTYyOGU5OGQwYjM1NWQzOThhOWVlYQorICAgICAgICBodHRw
Oi8vY3JidWcuY29tLzI1Nzk4MDAzCisKKyAgICAgICAgVGVzdHM6IG1lZGlhL3RyYWNrL3JlZ2lv
bnMtd2VidnR0L3RleHQtdHJhY2stcmVnaW9uLWRpc3BsYXkuaHRtbAorICAgICAgICAgICAgICAg
bWVkaWEvdHJhY2svcmVnaW9ucy13ZWJ2dHQvdGV4dC10cmFjay1yZWdpb24tZG9tLWxheW91dC5o
dG1sCisKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAqIGh0bWwv
dHJhY2svTG9hZGFibGVUZXh0VHJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6TG9hZGFibGVU
ZXh0VHJhY2s6Om5ld1JlZ2lvbnNBdmFpbGFibGUpOgorICAgICAgICAqIGh0bWwvdHJhY2svVGV4
dFRyYWNrLmNwcDoKKyAgICAgICAgKiBodG1sL3RyYWNrL1RleHRUcmFjay5oOgorICAgICAgICAq
IGh0bWwvdHJhY2svVGV4dFRyYWNrUmVnaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRU
cmFja1JlZ2lvbjo6VGV4dFRyYWNrUmVnaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFj
a1JlZ2lvbjo6YXBwZW5kVGV4dFRyYWNrQ3VlQm94KToKKyAgICAgICAgKiBodG1sL3RyYWNrL1Rl
eHRUcmFja1JlZ2lvbi5oOgorICAgICAgICAqIGh0bWwvdHJhY2svVlRUQ3VlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlZUVEN1ZTo6VlRUQ3VlKToKKyAgICAgICAgKFdlYkNvcmU6OlZUVEN1ZTo6
bm90aWZ5UmVnaW9uV2hlblJlbW92aW5nRGlzcGxheVRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6
VlRUQ3VlOjpyZW1vdmVEaXNwbGF5VHJlZSk6CisgICAgICAgICogaHRtbC90cmFjay9WVFRDdWUu
aDoKKyAgICAgICAgKiBodG1sL3RyYWNrL1dlYlZUVFBhcnNlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXZWJWVFRQYXJzZXI6OnBhcnNlQnl0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6V2ViVlRU
UGFyc2VyOjpjb2xsZWN0TWV0YWRhdGFIZWFkZXIpOgorICAgICAgICAqIGh0bWwvdHJhY2svV2Vi
VlRUUGFyc2VyLmg6CisKIDIwMTQtMDMtMTggIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3
ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxNjU4MTUuCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAJKHJldmlzaW9uIDE2
NTgyOSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTE2OTAsNiArMTY5MCwxNCBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnRl
eHRUcmFja1JlbW92ZUN1CiAgICAgQ3VlSW50ZXJ2YWwgaW50ZXJ2YWwgPSBtX2N1ZVRyZWUuY3Jl
YXRlSW50ZXJ2YWwoY3VlLT5zdGFydFRpbWUoKSwgZW5kVGltZSwgY3VlLmdldCgpKTsKICAgICBt
X2N1ZVRyZWUucmVtb3ZlKGludGVydmFsKTsKIAorI2lmIEVOQUJMRShXRUJWVFRfUkVHSU9OUykK
KyAgICAvLyBTaW5jZSB0aGUgY3VlIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHRoZSBtZWRpYSBlbGVt
ZW50IGFuZCBsaWtlbHkgdGhlCisgICAgLy8gVGV4dFRyYWNrIG1pZ2h0IGFsc28gYmUgZGVzdHJ1
Y3RlZCwgbm90aWZ5aW5nIHRoZSByZWdpb24gb2YgdGhlIGN1ZQorICAgIC8vIHJlbW92YWwgc2hv
dWxkbid0IGJlIGRvbmUuCisgICAgaWYgKGN1ZS0+aXNSZW5kZXJhYmxlKCkpCisgICAgICAgIHRv
VlRUQ3VlKGN1ZS5nZXQoKSktPm5vdGlmeVJlZ2lvbldoZW5SZW1vdmluZ0Rpc3BsYXlUcmVlKGZh
bHNlKTsKKyNlbmRpZgorCiAgICAgc2l6ZV90IGluZGV4ID0gbV9jdXJyZW50bHlBY3RpdmVDdWVz
LmZpbmQoaW50ZXJ2YWwpOwogICAgIGlmIChpbmRleCAhPSBub3RGb3VuZCkgewogICAgICAgICBj
dWUtPnNldElzQWN0aXZlKGZhbHNlKTsKQEAgLTE2OTksNiArMTcwNywxMSBAQCB2b2lkIEhUTUxN
ZWRpYUVsZW1lbnQ6OnRleHRUcmFja1JlbW92ZUN1CiAgICAgaWYgKGN1ZS0+aXNSZW5kZXJhYmxl
KCkpCiAgICAgICAgIHRvVlRUQ3VlKGN1ZS5nZXQoKSktPnJlbW92ZURpc3BsYXlUcmVlKCk7CiAg
ICAgdXBkYXRlQWN0aXZlVGV4dFRyYWNrQ3VlcyhjdXJyZW50VGltZSgpKTsKKworI2lmIEVOQUJM
RShXRUJWVFRfUkVHSU9OUykKKyAgICBpZiAoY3VlLT5pc1JlbmRlcmFibGUoKSkKKyAgICAgICAg
dG9WVFRDdWUoY3VlLmdldCgpKS0+bm90aWZ5UmVnaW9uV2hlblJlbW92aW5nRGlzcGxheVRyZWUo
dHJ1ZSk7CisjZW5kaWYKIH0KIAogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3Ry
YWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcAkocmV2aXNpb24gMTY1ODI5KQorKysgU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEzIEdvb2ds
ZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC0xNDIsNyArMTQyLDcgQEAgdm9pZCBMb2FkYWJsZVRleHRUcmFjazo6bmV3UmVnaW9u
c0F2YWlsYQogCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBuZXdSZWdpb25zLnNpemUoKTsg
KytpKSB7CiAgICAgICAgIG5ld1JlZ2lvbnNbaV0tPnNldFRyYWNrKHRoaXMpOwotICAgICAgICBy
ZWdpb25MaXN0KCktPmFkZChuZXdSZWdpb25zW2ldKTsKKyAgICAgICAgcmVnaW9ucygpLT5hZGQo
bmV3UmVnaW9uc1tpXSk7CiAgICAgfQogfQogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9o
dG1sL3RyYWNrL1RleHRUcmFjay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRt
bC90cmFjay9UZXh0VHJhY2suY3BwCShyZXZpc2lvbiAxNjU4MjkpCisrKyBTb3VyY2UvV2ViQ29y
ZS9odG1sL3RyYWNrL1RleHRUcmFjay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0MywxMSArMzQz
LDYgQEAgdm9pZCBUZXh0VHJhY2s6OnJlbW92ZUN1ZShUZXh0VHJhY2tDdWUqIAogfQogCiAjaWYg
RU5BQkxFKFZJREVPX1RSQUNLKSAmJiBFTkFCTEUoV0VCVlRUX1JFR0lPTlMpCi1UZXh0VHJhY2tS
ZWdpb25MaXN0KiBUZXh0VHJhY2s6OnJlZ2lvbkxpc3QoKQotewotICAgIHJldHVybiBlbnN1cmVU
ZXh0VHJhY2tSZWdpb25MaXN0KCk7Ci19Ci0KIFRleHRUcmFja1JlZ2lvbkxpc3QqIFRleHRUcmFj
azo6ZW5zdXJlVGV4dFRyYWNrUmVnaW9uTGlzdCgpCiB7CiAgICAgaWYgKCFtX3JlZ2lvbnMpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFjay5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmgJKHJldmlzaW9uIDE2NTgyOSkK
KysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmgJKHdvcmtpbmcgY29weSkK
QEAgLTE1OSw5ICsxNTksNiBAQCBwdWJsaWM6CiAKIHByb3RlY3RlZDoKICAgICBUZXh0VHJhY2so
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFRleHRUcmFja0NsaWVudCosIGNvbnN0IEF0b21pY1N0
cmluZyYga2luZCwgY29uc3QgQXRvbWljU3RyaW5nJiBpZCwgY29uc3QgQXRvbWljU3RyaW5nJiBs
YWJlbCwgY29uc3QgQXRvbWljU3RyaW5nJiBsYW5ndWFnZSwgVGV4dFRyYWNrVHlwZSk7Ci0jaWYg
RU5BQkxFKFZJREVPX1RSQUNLKSAmJiBFTkFCTEUoV0VCVlRUX1JFR0lPTlMpCi0gICAgVGV4dFRy
YWNrUmVnaW9uTGlzdCogcmVnaW9uTGlzdCgpOwotI2VuZGlmCiAKICAgICBSZWZQdHI8VGV4dFRy
YWNrQ3VlTGlzdD4gbV9jdWVzOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1Rl
eHRUcmFja1JlZ2lvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC90cmFj
ay9UZXh0VHJhY2tSZWdpb24uY3BwCShyZXZpc2lvbiAxNjU4MjkpCisrKyBTb3VyY2UvV2ViQ29y
ZS9odG1sL3RyYWNrL1RleHRUcmFja1JlZ2lvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYg
KzQwLDcgQEAKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuaCIKICNpbmNsdWRl
ICJIVE1MRGl2RWxlbWVudC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJSZW5k
ZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiVlRUQ3VlLmgiCiAjaW5jbHVkZSAiV2ViVlRUUGFyc2Vy
LmgiCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KQEAgLTc2LDggKzc3LDggQEAgVGV4dFRy
YWNrUmVnaW9uOjpUZXh0VHJhY2tSZWdpb24oU2NyaXB0RQogICAgICwgbV9yZWdpb25BbmNob3Io
RmxvYXRQb2ludChkZWZhdWx0QW5jaG9yUG9pbnRYLCBkZWZhdWx0QW5jaG9yUG9pbnRZKSkKICAg
ICAsIG1fdmlld3BvcnRBbmNob3IoRmxvYXRQb2ludChkZWZhdWx0QW5jaG9yUG9pbnRYLCBkZWZh
dWx0QW5jaG9yUG9pbnRZKSkKICAgICAsIG1fc2Nyb2xsKGRlZmF1bHRTY3JvbGwpCi0gICAgLCBt
X3JlZ2lvbkRpc3BsYXlUcmVlKG51bGxwdHIpCiAgICAgLCBtX2N1ZUNvbnRhaW5lcihudWxscHRy
KQorICAgICwgbV9yZWdpb25EaXNwbGF5VHJlZShudWxscHRyKQogICAgICwgbV90cmFjayhudWxs
cHRyKQogICAgICwgbV9jdXJyZW50VG9wKDApCiAgICAgLCBtX3Njcm9sbFRpbWVyKHRoaXMsICZU
ZXh0VHJhY2tSZWdpb246OnNjcm9sbFRpbWVyRmlyZWQpCkBAIC0zNTQsNiArMzU1LDggQEAgY29u
c3QgQXRvbWljU3RyaW5nJiBUZXh0VHJhY2tSZWdpb246OnRleAogCiB2b2lkIFRleHRUcmFja1Jl
Z2lvbjo6YXBwZW5kVGV4dFRyYWNrQ3VlQm94KFBhc3NSZWZQdHI8VlRUQ3VlQm94PiBkaXNwbGF5
Qm94KQogeworICAgIEFTU0VSVChtX2N1ZUNvbnRhaW5lcik7CisKICAgICBpZiAobV9jdWVDb250
YWluZXItPmNvbnRhaW5zKGRpc3BsYXlCb3guZ2V0KCkpKQogICAgICAgICByZXR1cm47CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrUmVnaW9uLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tSZWdpb24uaAkocmV2aXNp
b24gMTY1ODI5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tSZWdpb24u
aAkod29ya2luZyBjb3B5KQpAQCAtMTM2LDExICsxMzYsMTAgQEAgcHJpdmF0ZToKIAogICAgIGJv
b2wgbV9zY3JvbGw7CiAKLSAgICBSZWZQdHI8SFRNTERpdkVsZW1lbnQ+IG1fcmVnaW9uRGlzcGxh
eVRyZWU7Ci0KICAgICAvLyBUaGUgY3VlIGNvbnRhaW5lciBpcyB0aGUgY29udGFpbmVyIHRoYXQg
aXMgc2Nyb2xsZWQgdXAgdG8gb2J0YWluIHRoZQogICAgIC8vIGVmZmVjdCBvZiBzY3JvbGxpbmcg
Y3VlcyB3aGVuIHRoaXMgaXMgZW5hYmxlZCBmb3IgdGhlIHJlZ2lvbnMuCiAgICAgUmVmUHRyPEhU
TUxEaXZFbGVtZW50PiBtX2N1ZUNvbnRhaW5lcjsKKyAgICBSZWZQdHI8SFRNTERpdkVsZW1lbnQ+
IG1fcmVnaW9uRGlzcGxheVRyZWU7CiAKICAgICAvLyBUaGUgbWVtYmVyIHZhcmlhYmxlIHRyYWNr
IGNhbiBiZSBhIHJhdyBwb2ludGVyIGFzIGl0IHdpbGwgbmV2ZXIKICAgICAvLyByZWZlcmVuY2Ug
YSBkZXN0cm95ZWQgVGV4dFRyYWNrLCBhcyB0aGlzIG1lbWJlciB2YXJpYWJsZQpJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRDdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvdHJhY2svVlRUQ3VlLmNwcAkocmV2aXNpb24gMTY1ODI5KQorKysgU291cmNl
L1dlYkNvcmUvaHRtbC90cmFjay9WVFRDdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDcsNiAr
MjA3LDcgQEAgVlRUQ3VlOjpWVFRDdWUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgYwogICAgICwg
bV9kaXNwbGF5RGlyZWN0aW9uKENTU1ZhbHVlTHRyKQogICAgICwgbV9kaXNwbGF5V3JpdGluZ01v
ZGUoQ1NTVmFsdWVJbmhlcml0KQogICAgICwgbV9kaXNwbGF5U2l6ZSgwKQorICAgICwgbV9ub3Rp
ZnlSZWdpb24odHJ1ZSkKIHsKICAgICAvLyA0LiBJZiB0aGUgdGV4dCB0cmFjayBjdWUgd3JpdGlu
ZyBkaXJlY3Rpb24gaXMgaG9yaXpvbnRhbCwgdGhlbiBsZXQKICAgICAvLyB3cml0aW5nLW1vZGUg
YmUgJ2hvcml6b250YWwtdGInLiBPdGhlcndpc2UsIGlmIHRoZSB0ZXh0IHRyYWNrIGN1ZSB3cml0
aW5nCkBAIC00NjAsNiArNDYxLDExIEBAIHZvaWQgVlRUQ3VlOjpzZXRSZWdpb25JZChjb25zdCBT
dHJpbmcmIHIKICAgICBtX3JlZ2lvbklkID0gcmVnaW9uSWQ7CiAgICAgZGlkQ2hhbmdlKCk7CiB9
CisKK3ZvaWQgVlRUQ3VlOjpub3RpZnlSZWdpb25XaGVuUmVtb3ZpbmdEaXNwbGF5VHJlZShib29s
IG5vdGlmeVJlZ2lvbikKK3sKKyAgICBtX25vdGlmeVJlZ2lvbiA9IG5vdGlmeVJlZ2lvbjsKK30K
ICNlbmRpZgogCiB2b2lkIFZUVEN1ZTo6c2V0SXNBY3RpdmUoYm9vbCBhY3RpdmUpCkBAIC03NDcs
NyArNzUzLDcgQEAgdm9pZCBWVFRDdWU6OnJlbW92ZURpc3BsYXlUcmVlKCkKIHsKICNpZiBFTkFC
TEUoV0VCVlRUX1JFR0lPTlMpCiAgICAgLy8gVGhlIHJlZ2lvbiBuZWVkcyB0byBiZSBpbmZvcm1l
ZCBhYm91dCB0aGUgY3VlIHJlbW92YWwuCi0gICAgaWYgKHRyYWNrKCkpIHsKKyAgICBpZiAobV9u
b3RpZnlSZWdpb24gJiYgdHJhY2soKSkgewogICAgICAgICBpZiAoVGV4dFRyYWNrUmVnaW9uTGlz
dCogcmVnaW9ucyA9IHRyYWNrKCktPnJlZ2lvbnMoKSkgewogICAgICAgICAgICAgaWYgKFRleHRU
cmFja1JlZ2lvbiogcmVnaW9uID0gcmVnaW9ucy0+Z2V0UmVnaW9uQnlJZChtX3JlZ2lvbklkKSkK
ICAgICAgICAgICAgICAgICByZWdpb24tPndpbGxSZW1vdmVUZXh0VHJhY2tDdWVCb3gobV9kaXNw
bGF5VHJlZS5nZXQoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVEN1ZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUQ3VlLmgJKHJldmlz
aW9uIDE2NTgyOSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUQ3VlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEwOSw2ICsxMDksNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKFdFQlZUVF9S
RUdJT05TKQogICAgIGNvbnN0IFN0cmluZyYgcmVnaW9uSWQoKSBjb25zdCB7IHJldHVybiBtX3Jl
Z2lvbklkOyB9CiAgICAgdm9pZCBzZXRSZWdpb25JZChjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lk
IG5vdGlmeVJlZ2lvbldoZW5SZW1vdmluZ0Rpc3BsYXlUcmVlKGJvb2wpOwogI2VuZGlmCiAKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0SXNBY3RpdmUoYm9vbCk7CkBAIC0yMTYsNiArMjE3LDcgQEAgcHJp
dmF0ZToKICNpZiBFTkFCTEUoV0VCVlRUX1JFR0lPTlMpCiAgICAgU3RyaW5nIG1fcmVnaW9uSWQ7
CiAjZW5kaWYKKyAgICBib29sIG1fbm90aWZ5UmVnaW9uOwogfTsKIAogVlRUQ3VlKiB0b1ZUVEN1
ZShUZXh0VHJhY2tDdWUqKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svV2ViVlRU
UGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1dlYlZU
VFBhcnNlci5jcHAJKHJldmlzaW9uIDE2NTgyOSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJh
Y2svV2ViVlRUUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY3LDggKzE2NywxMCBAQCB2
b2lkIFdlYlZUVFBhcnNlcjo6cGFyc2VCeXRlcyhjb25zdCBjaGFyCiAgICAgICAgICAgICBicmVh
azsKIAogICAgICAgICBjYXNlIEhlYWRlcjoKLSAgICAgICAgICAgIC8vIDEzLTE4IC0gQWxsb3cg
YSBoZWFkZXIgKGNvbW1lbnQgYXJlYSkgdW5kZXIgdGhlIFdFQlZUVCBsaW5lLgogI2lmIEVOQUJM
RShXRUJWVFRfUkVHSU9OUykKKyAgICAgICAgICAgIGNvbGxlY3RNZXRhZGF0YUhlYWRlcihsaW5l
KTsKKworICAgICAgICAgICAgLy8gMTMtMTggLSBBbGxvdyBhIGhlYWRlciAoY29tbWVudCBhcmVh
KSB1bmRlciB0aGUgV0VCVlRUIGxpbmUuCiAgICAgICAgICAgICBpZiAobGluZS5pc0VtcHR5KCkp
IHsKICAgICAgICAgICAgICAgICBpZiAobV9jbGllbnQgJiYgbV9yZWdpb25MaXN0LnNpemUoKSkK
ICAgICAgICAgICAgICAgICAgICAgbV9jbGllbnQtPm5ld1JlZ2lvbnNQYXJzZWQoKTsKQEAgLTE3
NiwxNCArMTc4LDEwIEBAIHZvaWQgV2ViVlRUUGFyc2VyOjpwYXJzZUJ5dGVzKGNvbnN0IGNoYXIK
ICAgICAgICAgICAgICAgICBtX3N0YXRlID0gSWQ7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICBjb2xsZWN0SGVhZGVyKGxpbmUpOwotCi0gICAgICAg
ICAgICBicmVhazsKLQotICAgICAgICBjYXNlIE1ldGFkYXRhOgotI2VuZGlmCisjZWxzZQogICAg
ICAgICAgICAgaWYgKGxpbmUuaXNFbXB0eSgpKQogICAgICAgICAgICAgICAgIG1fc3RhdGUgPSBJ
ZDsKKyNlbmRpZgogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSBJZDoKQEAgLTI1
Miw3ICsyNTAsNyBAQCBib29sIFdlYlZUVFBhcnNlcjo6aGFzUmVxdWlyZWRGaWxlSWRlbnRpCiB9
CiAKICNpZiBFTkFCTEUoV0VCVlRUX1JFR0lPTlMpCi12b2lkIFdlYlZUVFBhcnNlcjo6Y29sbGVj
dEhlYWRlcihjb25zdCBTdHJpbmcmIGxpbmUpCit2b2lkIFdlYlZUVFBhcnNlcjo6Y29sbGVjdE1l
dGFkYXRhSGVhZGVyKGNvbnN0IFN0cmluZyYgbGluZSkKIHsKICAgICAvLyA0LjEgRXh0ZW5zaW9u
IG9mIFdlYlZUVCBoZWFkZXIgcGFyc2luZyAoMTEgLSAxNSkKICAgICBERVBSRUNBVEVEX0RFRklO
RV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCByZWdpb25IZWFkZXJOYW1lLCAoIlJl
Z2lvbiIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvdHJhY2svV2ViVlRUUGFyc2VyLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvaHRtbC90cmFjay9XZWJWVFRQYXJzZXIuaAkocmV2aXNpb24gMTY1ODI5KQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9XZWJWVFRQYXJzZXIuaAkod29ya2luZyBjb3B5KQpA
QCAtMTAwLDkgKzEwMCw2IEBAIHB1YmxpYzoKICAgICBlbnVtIFBhcnNlU3RhdGUgewogICAgICAg
ICBJbml0aWFsLAogICAgICAgICBIZWFkZXIsCi0jaWYgRU5BQkxFKFdFQlZUVF9SRUdJT05TKQot
ICAgICAgICBNZXRhZGF0YSwKLSNlbmRpZgogICAgICAgICBJZCwKICAgICAgICAgVGltaW5nc0Fu
ZFNldHRpbmdzLAogICAgICAgICBDdWVUZXh0LApAQCAtMTY4LDggKzE2NSw4IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBjcmVhdGVOZXdDdWUoKTsKICAgICB2b2lkIHJlc2V0Q3VlVmFsdWVzKCk7CiAK
KyAgICB2b2lkIGNvbGxlY3RNZXRhZGF0YUhlYWRlcihjb25zdCBTdHJpbmcmKTsKICNpZiBFTkFC
TEUoV0VCVlRUX1JFR0lPTlMpCi0gICAgdm9pZCBjb2xsZWN0SGVhZGVyKGNvbnN0IFN0cmluZyYp
OwogICAgIHZvaWQgY3JlYXRlTmV3UmVnaW9uKCk7CiAjZW5kaWYKIApJbmRleDogTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNp
b24gMTY1ODI5KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMjMgQEAKKzIwMTQtMDMtMTggIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5j
b20+CisKKyAgICAgICAgVGV4dFRyYWNrUmVnaW9uIE5vdCBJbXBsZW1lbnRlZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE2NTQ2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIE1lcmdlZCBmcm9tIEJsaW5rIChw
YXRjaCBieSB2Y2FyYnVuZUBjaHJvbWl1bS5vcmcpOgorICAgICAgICBodHRwczovL2Nocm9taXVt
Lmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vYmxpbmsvKy80OTQwZjg5YTA4N2ZlYTViNWVhNjI4
ZTk4ZDBiMzU1ZDM5OGE5ZWVhCisgICAgICAgIGh0dHA6Ly9jcmJ1Zy5jb20vMjU3OTgwMDMKKwor
ICAgICAgICAqIG1lZGlhL3RyYWNrL2NhcHRpb25zLXdlYnZ0dC9jYXB0aW9ucy1yZWdpb25zLnZ0
dDogQWRkZWQuCisgICAgICAgICogbWVkaWEvdHJhY2svcmVnaW9ucy13ZWJ2dHQvdGV4dC10cmFj
ay1jdWUtcmVnaW9uLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQ6IFJlYmFzZWxpbmUuCisgICAgICAg
ICogbWVkaWEvdHJhY2svcmVnaW9ucy13ZWJ2dHQvdGV4dC10cmFjay1yZWdpb24tZGlzcGxheS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0
L3RleHQtdHJhY2stcmVnaW9uLWRpc3BsYXkuaHRtbDogQWRkZWQuCisgICAgICAgICogbWVkaWEv
dHJhY2svcmVnaW9ucy13ZWJ2dHQvdGV4dC10cmFjay1yZWdpb24tZG9tLWxheW91dC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0L3RleHQt
dHJhY2stcmVnaW9uLWRvbS1sYXlvdXQuaHRtbDogQWRkZWQuCisgICAgICAgICogbWVkaWEvdHJh
Y2svcmVnaW9ucy13ZWJ2dHQvdGV4dC10cmFjay1yZWdpb24tbGlzdC1leHBlY3RlZC50eHQ6IFJl
YmFzZWxpbmUuCisgICAgICAgICogbWVkaWEvdHJhY2svcmVnaW9ucy13ZWJ2dHQvdGV4dC10cmFj
ay1yZWdpb24tcGFyc2VyLWV4cGVjdGVkLnR4dDogUmViYXNlbGluZS4KKwogMjAxNC0wMy0xOCAg
Q29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCwgcm9sbGluZyBvdXQgcjE2NTgxNS4KSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3RyYWNr
L2NhcHRpb25zLXdlYnZ0dC9jYXB0aW9ucy1yZWdpb25zLnZ0dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9tZWRpYS90cmFjay9jYXB0aW9ucy13ZWJ2dHQvY2FwdGlvbnMtcmVnaW9ucy52dHQJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay9jYXB0aW9ucy13ZWJ2dHQv
Y2FwdGlvbnMtcmVnaW9ucy52dHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxOSBAQAorV0VC
VlRUIEZJTEUKK1JlZ2lvbjogaWQ9ZnJlZCB3aWR0aD01MCUgaGVpZ2h0PTIgcmVnaW9uYW5jaG9y
PTUwJSwxMDAlIHZpZXdwb3J0YW5jaG9yPTEwJSw0MCUKKworMQorMDA6MDA6MDAuMDAwIC0tPiAw
MDowMDowMS41MDAgcmVnaW9uOmZyZWQKK1dlIGFyZSBpbiBOZXcgWW9yayBDaXR5CisKKzIKKzAw
OjAwOjAwLjUwMCAtLT4gMDA6MDA6MDEuNTAwIHJlZ2lvbjpmcmVkCitTZWNvbmQgY3VlCisKKzMK
KzAwOjAwOjAxLjAwMCAtLT4gMDA6MDA6MDIuNTAwIHJlZ2lvbjpmcmVkCitNdWx0aWxpbmUKK0N1
ZQorCis0CiswMDowMDowMi4wMDAgLS0+IDAwOjAwOjAzLjAwMCByZWdpb246ZnJlZAorRm91cnRo
IGN1ZSEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9tZWRp
YS90cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0LXRyYWNrLWN1ZS1yZWdpb24tYXR0cmlidXRlLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay9yZWdpb25z
LXdlYnZ0dC90ZXh0LXRyYWNrLWN1ZS1yZWdpb24tYXR0cmlidXRlLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMTY1ODI5KQorKysgTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svcmVnaW9ucy13ZWJ2dHQv
dGV4dC10cmFjay1jdWUtcmVnaW9uLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNiArMSw3IEBACiBUZXN0cyB0aGUgcmVnaW9uSWQgYXR0cmlidXRlIG9mIGEgY3Vl
LgogCiAKKwogKiogVGVzdCB0aGUgc2V0dGVyIGFuZCBnZXR0ZXIgdGhyb3VnaCB0aGUgSlMgQVBJ
ICoqCiBFWFBFQ1RFRCAoY3VlLnJlZ2lvbklkID09ICcnKSBPSwogRVhQRUNURUQgKGN1ZS5yZWdp
b25JZCA9PSAnc29tZUlkJykgT0sKSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3RyYWNrL3JlZ2lv
bnMtd2VidnR0L3RleHQtdHJhY2stcmVnaW9uLWRpc3BsYXktZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0L3RleHQtdHJhY2st
cmVnaW9uLWRpc3BsYXktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
bWVkaWEvdHJhY2svcmVnaW9ucy13ZWJ2dHQvdGV4dC10cmFjay1yZWdpb24tZGlzcGxheS1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MyBAQAorVGVzdHMgZGVmYXVsdCBy
ZW5kZXJpbmcgZm9yIFRleHRUcmFja0N1ZXMgdGhhdCBiZWxvbmcgdG8gYSBUZXh0VHJhY2tSZWdp
b24uCisKKworRVZFTlQoY2FucGxheXRocm91Z2gpCisqKiBUaGUgdGV4dCB0cmFjayBoYXMgb25s
eSBvbmUgcmVnaW9uICoqCitFWFBFQ1RFRCAodGVzdFRyYWNrLnJlZ2lvbnMubGVuZ3RoID09ICcx
JykgT0sKKworKiogSW5zcGVjdGluZyBjdWVzIGRpc3BsYXllZCB3aXRoaW4gcmVnaW9uKioKKwor
UlVOKHZpZGVvLmN1cnJlbnRUaW1lID0gMC4yKQorRVZFTlQoc2Vla2VkKQorVG90YWwgY3VlcyBp
biByZWdpb246IDEKK0N1ZSBjb250ZW50IGlzOiBXZSBhcmUgaW4gTmV3IFlvcmsgQ2l0eQorQ3Vl
IGxpbmVzIHZpc2libGUgZnJvbSB0aGlzIGN1ZTogMQorRVhQRUNURUQgKHRvdGFsVmlzaWJsZUxp
bmVzIDw9IHRlc3RUcmFjay5yZWdpb25zWzBdLmhlaWdodCA9PSAndHJ1ZScpIE9LCisKK1JVTih2
aWRlby5jdXJyZW50VGltZSA9IDAuNSkKK0VWRU5UKHNlZWtlZCkKK1RvdGFsIGN1ZXMgaW4gcmVn
aW9uOiAyCitDdWUgY29udGVudCBpczogV2UgYXJlIGluIE5ldyBZb3JrIENpdHkKK0N1ZSBsaW5l
cyB2aXNpYmxlIGZyb20gdGhpcyBjdWU6IDEKK0N1ZSBjb250ZW50IGlzOiBTZWNvbmQgY3VlCitD
dWUgbGluZXMgdmlzaWJsZSBmcm9tIHRoaXMgY3VlOiAxCitFWFBFQ1RFRCAodG90YWxWaXNpYmxl
TGluZXMgPD0gdGVzdFRyYWNrLnJlZ2lvbnNbMF0uaGVpZ2h0ID09ICd0cnVlJykgT0sKKworUlVO
KHZpZGVvLmN1cnJlbnRUaW1lID0gMSkKK0VWRU5UKHNlZWtlZCkKK1RvdGFsIGN1ZXMgaW4gcmVn
aW9uOiAzCitDdWUgY29udGVudCBpczogV2UgYXJlIGluIE5ldyBZb3JrIENpdHkKK0N1ZSBsaW5l
cyB2aXNpYmxlIGZyb20gdGhpcyBjdWU6IDEKK0N1ZSBjb250ZW50IGlzOiBTZWNvbmQgY3VlCitD
dWUgbGluZXMgdmlzaWJsZSBmcm9tIHRoaXMgY3VlOiAxCitDdWUgY29udGVudCBpczogTXVsdGls
aW5lIEN1ZQorQ3VlIGxpbmVzIHZpc2libGUgZnJvbSB0aGlzIGN1ZTogMAorRVhQRUNURUQgKHRv
dGFsVmlzaWJsZUxpbmVzIDw9IHRlc3RUcmFjay5yZWdpb25zWzBdLmhlaWdodCA9PSAndHJ1ZScp
IE9LCisKK1JVTih2aWRlby5jdXJyZW50VGltZSA9IDIuMykKK0VWRU5UKHNlZWtlZCkKK1RvdGFs
IGN1ZXMgaW4gcmVnaW9uOiAyCitDdWUgY29udGVudCBpczogTXVsdGlsaW5lIEN1ZQorQ3VlIGxp
bmVzIHZpc2libGUgZnJvbSB0aGlzIGN1ZTogMgorQ3VlIGNvbnRlbnQgaXM6IEZvdXJ0aCBjdWUh
CitDdWUgbGluZXMgdmlzaWJsZSBmcm9tIHRoaXMgY3VlOiAwCitFWFBFQ1RFRCAodG90YWxWaXNp
YmxlTGluZXMgPD0gdGVzdFRyYWNrLnJlZ2lvbnNbMF0uaGVpZ2h0ID09ICd0cnVlJykgT0sKKwor
UlVOKHZpZGVvLmN1cnJlbnRUaW1lID0gMykKK0VWRU5UKHNlZWtlZCkKK1RvdGFsIGN1ZXMgaW4g
cmVnaW9uOiAxCitDdWUgY29udGVudCBpczogRm91cnRoIGN1ZSEKK0N1ZSBsaW5lcyB2aXNpYmxl
IGZyb20gdGhpcyBjdWU6IDEKK0VYUEVDVEVEICh0b3RhbFZpc2libGVMaW5lcyA8PSB0ZXN0VHJh
Y2sucmVnaW9uc1swXS5oZWlnaHQgPT0gJ3RydWUnKSBPSworRU5EIE9GIFRFU1QKKwpJbmRleDog
TGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svcmVnaW9ucy13ZWJ2dHQvdGV4dC10cmFjay1yZWdpb24t
ZGlzcGxheS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3RyYWNrL3JlZ2lv
bnMtd2VidnR0L3RleHQtdHJhY2stcmVnaW9uLWRpc3BsYXkuaHRtbAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL21lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0L3RleHQtdHJhY2stcmVnaW9u
LWRpc3BsYXkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwOCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29u
dGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+CisKKyAgICAg
ICAgPHNjcmlwdCBzcmM9Li4vLi4vbWVkaWEtY29udHJvbHMuanM+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPS4uLy4uL21lZGlhLWZpbGUuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPS4uLy4uL3ZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+Cisg
ICAgICAgIHZhciB0ZXN0VHJhY2s7CisgICAgICAgIHZhciByZWdpb247CisgICAgICAgIHZhciBj
b250YWluZXI7CisgICAgICAgIHZhciB0b3RhbFZpc2libGVMaW5lczsKKworICAgICAgICB2YXIg
c2Vla1RpbWVzID0gWzAuMiwgMC41LCAxLjAsIDIuMywgMy4wXTsKKyAgICAgICAgdmFyIGNydFNl
ZWtUaW1lID0gMDsKKworICAgICAgICBmdW5jdGlvbiBjb3VudFZpc2libGVMaW5lcyhjdWVFbGVt
ZW50KQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgY3VlUmVjdCA9IGN1ZUVsZW1lbnQuZ2V0
Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgICAgICAgICB2YXIgcmVnaW9uUmVjdCA9IHJlZ2lv
bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKworICAgICAgICAgICAgdmFyIGxpbmVzTWF0Y2gg
PSBjdWVFbGVtZW50LnRleHRDb250ZW50Lm1hdGNoKC9cbi9nKTsKKyAgICAgICAgICAgIHZhciBs
aW5lc0NvdW50ID0gMSArIChsaW5lc01hdGNoID09IG51bGwgPyAwIDogbGluZXNNYXRjaC5sZW5n
dGgpOworICAgICAgICAgICAgdmFyIGxpbmVIZWlnaHQgPSBjdWVSZWN0LmhlaWdodCAvIGxpbmVz
Q291bnQ7CisKKyAgICAgICAgICAgIHZhciB2aXNpYmxlTGluZXMgPSAwOworICAgICAgICAgICAg
Zm9yIChpID0gMDsgaSA8IGxpbmVzQ291bnQ7ICsraSkgeworICAgICAgICAgICAgICB2YXIgbGlu
ZVRvcCA9IGN1ZVJlY3QudG9wICsgaSAqIGxpbmVIZWlnaHQ7CisgICAgICAgICAgICAgIHZhciBs
aW5lQm90dG9tID0gY3VlUmVjdC50b3AgKyAoaSsxKSAqIGxpbmVIZWlnaHQ7CisKKyAgICAgICAg
ICAgICAgaWYgKGxpbmVUb3AgPj0gcmVnaW9uUmVjdC50b3AgJiYgbGluZUJvdHRvbSA8PSByZWdp
b25SZWN0LmJvdHRvbSkKKyAgICAgICAgICAgICAgICB2aXNpYmxlTGluZXMrKzsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgcmV0dXJuIHZpc2libGVMaW5lczsKKyAgICAgICAgfQorCisg
ICAgICAgIGZ1bmN0aW9uIHRlc3RSZWdpb25zRGlzcGxheSgpCisgICAgICAgIHsKKyAgICAgICAg
ICAgIHRlc3RUcmFjayA9IHZpZGVvLnRleHRUcmFja3NbMF07CisKKyAgICAgICAgICAgIGNvbnNv
bGVXcml0ZSgiKiogVGhlIHRleHQgdHJhY2sgaGFzIG9ubHkgb25lIHJlZ2lvbiAqKiIpOworICAg
ICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0ZXN0VHJhY2sucmVnaW9ucy5sZW5ndGgiLCAxKTsKKwor
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgcmVnaW9uID0gdGV4dFRyYWNrRGlzcGxh
eUVsZW1lbnQodmlkZW8sICdyZWdpb24nKTsKKyAgICAgICAgICAgICAgY29udGFpbmVyID0gdGV4
dFRyYWNrRGlzcGxheUVsZW1lbnQodmlkZW8sICdyZWdpb24tY29udGFpbmVyJyk7CisgICAgICAg
ICAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgICAgICAgY29uc29sZVdyaXRlKGUpOworICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxicj4qKiBJbnNwZWN0aW5nIGN1
ZXMgZGlzcGxheWVkIHdpdGhpbiByZWdpb24qKiIpOworCisgICAgICAgICAgICB3YWl0Rm9yRXZl
bnQoInNlZWtlZCIsIGluc3BlY3RSZWdpb25UcmVlKTsKKyAgICAgICAgICAgIHNlZWtWaWRlbygp
OworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gc2Vla1ZpZGVvKCkKKyAgICAgICAgewor
ICAgICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsKKyAgICAgICAgICAgIHJ1bigidmlkZW8uY3Vy
cmVudFRpbWUgPSAiICsgc2Vla1RpbWVzW2NydFNlZWtUaW1lKytdKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGZ1bmN0aW9uIGluc3BlY3RSZWdpb25UcmVlKCkKKyAgICAgICAgeworICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCJUb3RhbCBjdWVzIGluIHJlZ2lvbjogIiArIGNvbnRhaW5lci5jaGls
ZHJlbi5sZW5ndGgpOworICAgICAgICAgICAgdG90YWxWaXNpYmxlTGluZXMgPSAwOworCisgICAg
ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvbnRhaW5lci5jaGlsZHJlbi5sZW5ndGg7ICsr
aSkgeworICAgICAgICAgICAgICAgIHZhciBjdWUgPSBjb250YWluZXIuY2hpbGRyZW5baV07Cisg
ICAgICAgICAgICAgICAgdmFyIGN1ZVZpc2libGVMaW5lcyA9IGNvdW50VmlzaWJsZUxpbmVzKGN1
ZSk7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJDdWUgY29udGVudCBpczogIiArIGN1
ZS50ZXh0Q29udGVudCk7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJDdWUgbGluZXMg
dmlzaWJsZSBmcm9tIHRoaXMgY3VlOiAiICsgY3VlVmlzaWJsZUxpbmVzKTsKKworICAgICAgICAg
ICAgICAgIHRvdGFsVmlzaWJsZUxpbmVzICs9IGN1ZVZpc2libGVMaW5lczsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0b3RhbFZpc2libGVMaW5lcyA8PSB0ZXN0
VHJhY2sucmVnaW9uc1swXS5oZWlnaHQiLCB0cnVlKTsKKworICAgICAgICAgICAgaWYgKGNydFNl
ZWtUaW1lID09IHNlZWtUaW1lcy5sZW5ndGgpCisgICAgICAgICAgICAgICAgZW5kVGVzdCgpOwor
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHNlZWtWaWRlbygpOworICAgICAgICB9
CisKKyAgICAgICAgZnVuY3Rpb24gc3RhcnRUZXN0KCkKKyAgICAgICAgeworICAgICAgICAgICAg
aWYgKCF3aW5kb3cuVGV4dFRyYWNrUmVnaW9uKSB7CisgICAgICAgICAgICAgICAgZmFpbFRlc3Qo
KTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IGZpbmRNZWRpYUVsZW1lbnQoKTsKKworICAgICAgICAgICAgdmlkZW8uc3JjID0gZmluZE1lZGlh
RmlsZSgndmlkZW8nLCAnLi4vLi4vY29udGVudC90ZXN0Jyk7CisgICAgICAgICAgICB3YWl0Rm9y
RXZlbnQoJ2NhbnBsYXl0aHJvdWdoJywgdGVzdFJlZ2lvbnNEaXNwbGF5KTsKKyAgICAgICAgfQor
CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+
VGVzdHMgZGVmYXVsdCByZW5kZXJpbmcgZm9yIFRleHRUcmFja0N1ZXMgdGhhdCBiZWxvbmcgdG8g
YSBUZXh0VHJhY2tSZWdpb24uPC9wPgorICAgICAgICA8dmlkZW8gY29udHJvbHM+CisgICAgICAg
ICAgICA8dHJhY2sgc3JjPSIuLi9jYXB0aW9ucy13ZWJ2dHQvY2FwdGlvbnMtcmVnaW9ucy52dHQi
IGtpbmQ9ImNhcHRpb25zIiBkZWZhdWx0IG9ubG9hZD0ic3RhcnRUZXN0KCkiPgorICAgICAgICA8
L3ZpZGVvPgorICAgIDwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0LXRyYWNr
LXJlZ2lvbi1kb20tbGF5b3V0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9tZWRpYS90cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0LXRyYWNrLXJlZ2lvbi1kb20tbGF5b3V0
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL21lZGlhL3RyYWNrL3Jl
Z2lvbnMtd2VidnR0L3RleHQtdHJhY2stcmVnaW9uLWRvbS1sYXlvdXQtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKK1Rlc3RzIGRlZmF1bHQgRE9NIGxheW91dCBz
dHJ1Y3R1cmUgZm9yIGEgVGV4dFRyYWNrUmVnaW9uLgorCisKK0VWRU5UKGNhbnBsYXl0aHJvdWdo
KQorKiogVGhlIHRleHQgdHJhY2sgaGFzIG9ubHkgb25lIHJlZ2lvbiAqKgorRVhQRUNURUQgKHRl
c3RUcmFjay5yZWdpb25zLmxlbmd0aCA9PSAnMScpIE9LCisKKyoqIEluc3BlY3RpbmcgdGhlIGRl
ZmF1bHQgRE9NIGxheW91dCB1c2VkIGZvciByZWdpb25zIGRpc3BsYXkgKioKKworKiogT25seSBv
bmUgcmVnaW9uIHNob3VsZCBiZSBkaXNwbGF5ZWQgKioKK0VYUEVDVEVEIChyZWdpb24uY2hpbGRy
ZW4ubGVuZ3RoID09ICcxJykgT0sKKworKiogVGhlIGNoaWxkIG9mIHRoZSByZWdpb24gc2hvdWxk
IGJlIHRoZSBjb250YWluZXIgKioKK0VYUEVDVEVEIChyZWdpb24uY2hpbGRyZW5bMF0gPT0gY29u
dGFpbmVyID09ICd0cnVlJykgT0sKKworKiogRGVmYXVsdCBwc2V1ZG8gSURzIHNob3VsZCBiZSBz
ZXQgcHJvcGVybHkKK0VYUEVDVEVEIChyZWdpb24uZ2V0QXR0cmlidXRlKCdwc2V1ZG8nKSA9PSAn
LXdlYmtpdC1tZWRpYS10ZXh0LXRyYWNrLXJlZ2lvbicpIE9LCitFWFBFQ1RFRCAoY29udGFpbmVy
LmdldEF0dHJpYnV0ZSgncHNldWRvJykgPT0gJy13ZWJraXQtbWVkaWEtdGV4dC10cmFjay1yZWdp
b24tY29udGFpbmVyJykgT0sKK0VORCBPRiBURVNUCisKSW5kZXg6IExheW91dFRlc3RzL21lZGlh
L3RyYWNrL3JlZ2lvbnMtd2VidnR0L3RleHQtdHJhY2stcmVnaW9uLWRvbS1sYXlvdXQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0
LXRyYWNrLXJlZ2lvbi1kb20tbGF5b3V0Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9tZWRpYS90cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0LXRyYWNrLXJlZ2lvbi1kb20tbGF5b3V0
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBl
IiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+CisKKyAgICAgICAgPHNjcmlw
dCBzcmM9Li4vLi4vbWVkaWEtY29udHJvbHMuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPS4uLy4uL21lZGlhLWZpbGUuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPS4u
Ly4uL3ZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgIHZh
ciB0ZXN0VHJhY2s7CisgICAgICAgIHZhciByZWdpb247CisgICAgICAgIHZhciBjb250YWluZXI7
CisKKyAgICAgICAgZnVuY3Rpb24gdGVzdFJlZ2lvbnNEaXNwbGF5KCkKKyAgICAgICAgeworICAg
ICAgICAgICAgdGVzdFRyYWNrID0gdmlkZW8udGV4dFRyYWNrc1swXTsKKworICAgICAgICAgICAg
Y29uc29sZVdyaXRlKCIqKiBUaGUgdGV4dCB0cmFjayBoYXMgb25seSBvbmUgcmVnaW9uICoqIik7
CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInRlc3RUcmFjay5yZWdpb25zLmxlbmd0aCIsIDEp
OworCisgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICByZWdpb24gPSB0ZXh0VHJhY2tE
aXNwbGF5RWxlbWVudCh2aWRlbywgJ3JlZ2lvbicpOworICAgICAgICAgICAgICBjb250YWluZXIg
PSB0ZXh0VHJhY2tEaXNwbGF5RWxlbWVudCh2aWRlbywgJ3JlZ2lvbi1jb250YWluZXInKTsKKyAg
ICAgICAgICAgIH0gY2F0Y2goZSkgeworICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoZSk7Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPioqIEluc3BlY3Rp
bmcgdGhlIGRlZmF1bHQgRE9NIGxheW91dCB1c2VkIGZvciByZWdpb25zIGRpc3BsYXkgKioiKTsK
KworICAgICAgICAgICAgY29uc29sZVdyaXRlKCI8YnI+KiogT25seSBvbmUgcmVnaW9uIHNob3Vs
ZCBiZSBkaXNwbGF5ZWQgKioiKTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLmNo
aWxkcmVuLmxlbmd0aCIsIDEpOworCisgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxicj4qKiBU
aGUgY2hpbGQgb2YgdGhlIHJlZ2lvbiBzaG91bGQgYmUgdGhlIGNvbnRhaW5lciAqKiIpOworICAg
ICAgICAgICAgdGVzdEV4cGVjdGVkKCJyZWdpb24uY2hpbGRyZW5bMF0gPT0gY29udGFpbmVyIiwg
dHJ1ZSk7CisKKyAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPioqIERlZmF1bHQgcHNldWRv
IElEcyBzaG91bGQgYmUgc2V0IHByb3Blcmx5Iik7CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQo
InJlZ2lvbi5nZXRBdHRyaWJ1dGUoJ3BzZXVkbycpIiwgIi13ZWJraXQtbWVkaWEtdGV4dC10cmFj
ay1yZWdpb24iKTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiY29udGFpbmVyLmdldEF0dHJp
YnV0ZSgncHNldWRvJykiLCAiLXdlYmtpdC1tZWRpYS10ZXh0LXRyYWNrLXJlZ2lvbi1jb250YWlu
ZXIiKTsKKworICAgICAgICAgICAgZW5kVGVzdCgpOworICAgICAgICB9CisKKyAgICAgICAgZnVu
Y3Rpb24gc3RhcnRUZXN0KCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCF3aW5kb3cuVGV4
dFRyYWNrUmVnaW9uKSB7CisgICAgICAgICAgICAgICAgZmFpbFRlc3QoKTsKKyAgICAgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZpbmRNZWRpYUVsZW1l
bnQoKTsKKworICAgICAgICAgICAgdmlkZW8uc3JjID0gZmluZE1lZGlhRmlsZSgndmlkZW8nLCAn
Li4vLi4vY29udGVudC90ZXN0Jyk7CisgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2NhbnBsYXl0
aHJvdWdoJywgdGVzdFJlZ2lvbnNEaXNwbGF5KTsKKyAgICAgICAgfQorCisgICAgICAgIDwvc2Ny
aXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGVzdHMgZGVmYXVsdCBE
T00gbGF5b3V0IHN0cnVjdHVyZSBmb3IgYSBUZXh0VHJhY2tSZWdpb24uPC9wPgorICAgICAgICA8
dmlkZW8gY29udHJvbHM+CisgICAgICAgICAgICA8dHJhY2sgc3JjPSIuLi9jYXB0aW9ucy13ZWJ2
dHQvY2FwdGlvbnMtcmVnaW9ucy52dHQiIGtpbmQ9ImNhcHRpb25zIiBkZWZhdWx0IG9ubG9hZD0i
c3RhcnRUZXN0KCkiPgorICAgICAgICA8L3ZpZGVvPgorICAgIDwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay9y
ZWdpb25zLXdlYnZ0dC90ZXh0LXRyYWNrLXJlZ2lvbi1saXN0LWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0LXRyYWNr
LXJlZ2lvbi1saXN0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTY1ODI5KQorKysgTGF5b3V0VGVz
dHMvbWVkaWEvdHJhY2svcmVnaW9ucy13ZWJ2dHQvdGV4dC10cmFjay1yZWdpb24tbGlzdC1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw3IEBACiBUZXN0cyBUZXh0VHJhY2tS
ZWdpb25MaXN0IGZ1bmN0aW9uYWxpdHk6IGxlbmd0aCwgb3BlcmF0b3JbXSwgYW5kIGdldFJlZ2lv
bkJ5SWQoKQogCiAKKwogKiogSW1wbGljaXQgbW9kZSBkaXNhYmxlZCBhbmQgdGhlIHJlZ2lvbnMg
YXR0cmlidXRlIGlzIG51bGwgKioKIEVYUEVDVEVEICh0ZXN0VHJhY2sudHJhY2subW9kZSA9PSAn
ZGlzYWJsZWQnKSBPSwogRVhQRUNURUQgKHRlc3RUcmFjay50cmFjay5yZWdpb25zID09ICdudWxs
JykgT0sKSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0L3RleHQt
dHJhY2stcmVnaW9uLXBhcnNlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvbWVkaWEvdHJhY2svcmVnaW9ucy13ZWJ2dHQvdGV4dC10cmFjay1yZWdpb24tcGFyc2VyLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMTY1ODI5KQorKysgTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2sv
cmVnaW9ucy13ZWJ2dHQvdGV4dC10cmFjay1yZWdpb24tcGFyc2VyLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIFRlc3RzIHByb3BlciBwYXJzaW5nIG9mIHZhcmlv
dXMgcmVnaW9ucyBwcmVzZW50IGluIFdlYlZUVCBoZWFkZXIgYXJlYS4KIAorCiBFWFBFQ1RFRCAo
dmlkZW8udGV4dFRyYWNrc1swXS5yZWdpb25zLmxlbmd0aCA9PSAnNScpIE9LCiAKIEVYUEVDVEVE
IChyZWdpb24uaWQgPT0gJ3JlZ2lvbl93aXRob3V0X3NldHRpbmdzJykgT0sK
</data>
<flag name="review"
          id="251363"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
      

    </bug>

</bugzilla>