<?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>41209</bug_id>
          
          <creation_ts>2010-06-25 04:52:39 -0700</creation_ts>
          <short_desc>Fill mode is broken with multiple keyframes</short_desc>
          <delta_ts>2010-09-09 11:13:25 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>OS X 10.5</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>cmarrin</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>242958</commentid>
    <comment_count>0</comment_count>
      <attachid>59759</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-06-25 04:52:39 -0700</bug_when>
    <thetext>Created attachment 59759
test case

I&apos;m ashamed that this got past my testing.

Forward fill modes are broken when there is more than one keyframe. I&apos;ve attached an updated regression test which shows the problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276195</commentid>
    <comment_count>1</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-09-08 17:10:58 -0700</bug_when>
    <thetext>&lt;rdar://problem/8035746&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276411</commentid>
    <comment_count>2</comment_count>
      <attachid>67021</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-09-09 04:48:36 -0700</bug_when>
    <thetext>Created attachment 67021
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276552</commentid>
    <comment_count>3</comment_count>
      <attachid>67021</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-09-09 10:27:23 -0700</bug_when>
    <thetext>Comment on attachment 67021
Patch

Can the tests use animation-test-helpers.js? If the pause stuff doesn&apos;t work with fill modes, we should fix it.

&gt; diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog

&gt; +2010-09-09  Dean Jackson  &lt;dino@apple.com&gt;
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        Fill mode is broken with multiple keyframes
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=41209
&gt; +

This needs to say what the problem was, and how you fixed it.

r=me, but it would be nice of the tests could be more cookie-cutter, and make use of the pause API so they run faster.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276592</commentid>
    <comment_count>4</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-09-09 11:05:03 -0700</bug_when>
    <thetext>The tests can&apos;t use the API because they don&apos;t test values during the run. They are testing values before and after. They are all event based rather than timeouts - so it should be ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276603</commentid>
    <comment_count>5</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-09-09 11:13:25 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	LayoutTests/ChangeLog
	A	LayoutTests/animations/fill-mode-missing-from-to-keyframes-expected.txt
	A	LayoutTests/animations/fill-mode-missing-from-to-keyframes.html
	A	LayoutTests/animations/fill-mode-multiple-keyframes-expected.txt
	A	LayoutTests/animations/fill-mode-multiple-keyframes.html
	M	WebCore/ChangeLog
	M	WebCore/page/animation/KeyframeAnimation.cpp
Committed r67098</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>59759</attachid>
            <date>2010-06-25 04:52:39 -0700</date>
            <delta_ts>2010-06-25 04:52:39 -0700</delta_ts>
            <desc>test case</desc>
            <filename>fill-mode.html</filename>
            <type>text/html</type>
            <size>5159</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs
Ly9FTiIKICAgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+Cgo8aHRtbCBs
YW5nPSJlbiI+CjxoZWFkPgogIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVu
dD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4KICA8dGl0bGU+VGVzdCBzaW1wbGUgYW5pbWF0
aW9uIHdpdGggZmlsbCBtb2RlczwvdGl0bGU+CiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRp
YT0ic2NyZWVuIj4KICAgIC5ib3ggewogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIGxl
ZnQ6IDEwMHB4OwogICAgICB0b3A6IDEwcHg7CiAgICAgIGhlaWdodDogMzBweDsKICAgICAgd2lk
dGg6IDIwMHB4OwogICAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMXM7CiAgICAgIC13ZWJr
aXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsKICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5n
LWZ1bmN0aW9uOiBsaW5lYXI7CiAgICB9CgogICAgLnR3by1rZXlmcmFtZXMgewogICAgICAtd2Vi
a2l0LWFuaW1hdGlvbi1uYW1lOiBhbmltMTsKICAgIH0KCiAgICAudGhyZWUta2V5ZnJhbWVzIHsK
ICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYW5pbTI7CiAgICB9CgogICAgQC13ZWJraXQt
a2V5ZnJhbWVzIGFuaW0xIHsKICAgICAgICBmcm9tIHsgbGVmdDogMjAwcHg7IH0KICAgICAgICB0
byAgIHsgbGVmdDogMzAwcHg7IH0KICAgIH0KICAgIEAtd2Via2l0LWtleWZyYW1lcyBhbmltMiB7
CiAgICAgICAgZnJvbSB7IGxlZnQ6IDIwMHB4OyB9CiAgICAgICAgNTAlIHsgbGVmdDogMjUwcHg7
IH0KICAgICAgICB0byAgIHsgbGVmdDogMzAwcHg7IH0KICAgIH0KCiAgICAjYSwgI2YgewogICAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOwogICAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1v
ZGU6IG5vbmU7CiAgICB9CiAgICAjYiwgI2cgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7
CiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYmFja3dhcmRzOwogICAgfQogICAg
I2MsICNoIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CiAgICAgIC13ZWJraXQtYW5p
bWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7CiAgICB9CiAgICAjZCwgI2kgewogICAgICBiYWNr
Z3JvdW5kLWNvbG9yOiB5ZWxsb3c7CiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTog
Ym90aDsKICAgIH0KICAgICNlLCAjaiB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5OTk7CiAg
ICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsKICAgICAgLXdlYmtpdC1hbmlt
YXRpb24taXRlcmF0aW9uLWNvdW50OiAyOwogICAgICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rp
b246IGFsdGVybmF0ZTsKICAgIH0KICA8L3N0eWxlPgogIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBjaGFyc2V0PSJ1dGYtOCI+CiAgICBjb25zdCBudW1BbmltcyA9IDEwOwogICAgdmFy
IGFuaW1zRmluaXNoZWQgPSAwOwogICAgY29uc3QgYWxsb3dhbmNlID0gNTsKICAgIGNvbnN0IGV4
cGVjdGVkVmFsdWVzID0gWwogICAgICB7aWQ6ICJhIiwgc3RhcnQ6IDEwMCwgZW5kOiAxMDB9LAog
ICAgICB7aWQ6ICJiIiwgc3RhcnQ6IDIwMCwgZW5kOiAxMDB9LAogICAgICB7aWQ6ICJjIiwgc3Rh
cnQ6IDEwMCwgZW5kOiAzMDB9LAogICAgICB7aWQ6ICJkIiwgc3RhcnQ6IDIwMCwgZW5kOiAzMDB9
LAogICAgICB7aWQ6ICJlIiwgc3RhcnQ6IDIwMCwgZW5kOiAyMDB9LAogICAgICB7aWQ6ICJmIiwg
c3RhcnQ6IDEwMCwgZW5kOiAxMDB9LAogICAgICB7aWQ6ICJnIiwgc3RhcnQ6IDIwMCwgZW5kOiAx
MDB9LAogICAgICB7aWQ6ICJoIiwgc3RhcnQ6IDEwMCwgZW5kOiAzMDB9LAogICAgICB7aWQ6ICJp
Iiwgc3RhcnQ6IDIwMCwgZW5kOiAzMDB9LAogICAgICB7aWQ6ICJqIiwgc3RhcnQ6IDIwMCwgZW5k
OiAyMDB9CiAgICBdOwogICAgdmFyIHJlc3VsdCA9ICIiOwoKICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpIHsKICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0
KCk7CiAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwogICAgfQoK
ICAgIGZ1bmN0aW9uIGFuaW1hdGlvbkVuZGVkKGV2ZW50KSB7CiAgICAgICAgaWYgKCsrYW5pbXNG
aW5pc2hlZCA9PSBudW1BbmltcykgewogICAgICAgICAgICBzZXRUaW1lb3V0KGVuZFRlc3QsIDAp
OyAvLyB0aGlzIHNldCB0aW1lb3V0IHNob3VsZCBiZSBvayBpbiB0aGUgdGVzdCBlbnZpcm9ubWVu
dAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzaW5jZSB3ZSdyZSBqdXN0
IGdpdmluZyBzdHlsZSBhIGNoYW5jZSB0byByZXNvbHZlCiAgICAgICAgfQogICAgfTsKCiAgICBm
dW5jdGlvbiBlbmRUZXN0KCkgewoKICAgICAgICBmb3IgKHZhciBpPTA7IGkgPCBleHBlY3RlZFZh
bHVlcy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZChleHBlY3RlZFZhbHVlc1tpXS5pZCk7CiAgICAgICAgICAgIHZhciBleHBlY3RlZFZh
bHVlID0gZXhwZWN0ZWRWYWx1ZXNbaV0uZW5kOwogICAgICAgICAgICB2YXIgcmVhbFZhbHVlID0g
d2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwpLmdldFByb3BlcnR5Q1NTVmFsdWUoImxlZnQiKS5n
ZXRGbG9hdFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlLkNTU19OVU1CRVIpOwogICAgICAgICAgICBp
ZiAoTWF0aC5hYnMoZXhwZWN0ZWRWYWx1ZSAtIHJlYWxWYWx1ZSkgPCBhbGxvd2FuY2UpIHsKICAg
ICAgICAgICAgICByZXN1bHQgKz0gIlBBU1MiOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgIHJlc3VsdCArPSAiRkFJTCI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmVzdWx0
ICs9ICIgLSBlbmQgb2YgYW5pbWF0aW9uIC0gaWQ6ICIgKyBleHBlY3RlZFZhbHVlc1tpXS5pZCAr
ICIgZXhwZWN0ZWQ6ICIgKyBleHBlY3RlZFZhbHVlICsgIiBhY3R1YWw6ICIgKyByZWFsVmFsdWUg
KyAiPGJyPiI7CiAgICAgICAgfQogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1
bHQnKS5pbm5lckhUTUwgPSByZXN1bHQ7CgogICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCiAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
ICAgIH0KCiAgICB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgewogICAgICAgIGZvciAodmFy
IGk9MDsgaSA8IGV4cGVjdGVkVmFsdWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIHZhciBl
bCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGV4cGVjdGVkVmFsdWVzW2ldLmlkKTsKICAgICAg
ICAgICAgdmFyIGV4cGVjdGVkVmFsdWUgPSBleHBlY3RlZFZhbHVlc1tpXS5zdGFydDsKICAgICAg
ICAgICAgdmFyIHJlYWxWYWx1ZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsKS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCJsZWZ0IikuZ2V0RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZS5DU1Nf
TlVNQkVSKTsKICAgICAgICAgICAgaWYgKE1hdGguYWJzKGV4cGVjdGVkVmFsdWUgLSByZWFsVmFs
dWUpIDwgYWxsb3dhbmNlKSB7CiAgICAgICAgICAgICAgcmVzdWx0ICs9ICJQQVNTIjsKICAgICAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICByZXN1bHQgKz0gIkZBSUwiOwogICAgICAgICAg
ICB9CiAgICAgICAgICAgIHJlc3VsdCArPSAiIC0gc3RhcnQgb2YgYW5pbWF0aW9uIC0gaWQ6ICIg
KyBleHBlY3RlZFZhbHVlc1tpXS5pZCArICIgZXhwZWN0ZWQ6ICIgKyBleHBlY3RlZFZhbHVlICsg
IiBhY3R1YWw6ICIgKyByZWFsVmFsdWUgKyAiPGJyPiI7CiAgICAgICAgfQogICAgICAgIGRvY3Vt
ZW50LmFkZEV2ZW50TGlzdGVuZXIoIndlYmtpdEFuaW1hdGlvbkVuZCIsIGFuaW1hdGlvbkVuZGVk
LCBmYWxzZSk7CiAgICB9OwoKICA8L3NjcmlwdD4KPC9oZWFkPgo8Ym9keT4KVGhpcyB0ZXN0IHBl
cmZvcm1zIGFuIGFuaW1hdGlvbiBvZiB0aGUgbGVmdCBwcm9wZXJ0eSB3aXRoIGZvdXIgZGlmZmVy
ZW50CmZpbGwgbW9kZXMgb24gdHdvIHNldHMgb2Ygb2JqZWN0cy4gVGhlIGZpcnN0IHNldCBoYXMg
YW5pbWF0aW9ucyB3aXRoCm9ubHkgZnJvbSBhbmQgdG8ga2V5ZnJhbWVzLiBUaGUgc2Vjb25kIHNl
dCBoYXMgYW5pbWF0aW9ucyB3aXRoIGZyb20sIHRvIGFuZAphIHRoaXJkIGtleWZyYW1lIGF0IDUw
JS4gSXQgYW5pbWF0ZXMgb3ZlciAwLjEgc2Vjb25kIHdpdGggYSAwLjEgc2Vjb25kIGRlbGF5LgpJ
dCB0YWtlcyBzbmFwc2hvdHMgYXQgZG9jdW1lbnQgbG9hZCBhbmQgdGhlIGVuZCBvZiB0aGUgYW5p
bWF0aW9uLgoKPGRpdiBpZD0iYSIgY2xhc3M9ImJveCB0d28ta2V5ZnJhbWVzIj4KICBOb25lIC0g
MiBrZXlmcmFtZXMKPC9kaXY+CjxkaXYgaWQ9ImIiIGNsYXNzPSJib3ggdHdvLWtleWZyYW1lcyI+
CiAgQmFja3dhcmRzIC0gMiBrZXlmcmFtZXMKPC9kaXY+CjxkaXYgaWQ9ImMiIGNsYXNzPSJib3gg
dHdvLWtleWZyYW1lcyI+CiAgRm9yd2FyZHMgLSAyIGtleWZyYW1lcwo8L2Rpdj4KPGRpdiBpZD0i
ZCIgY2xhc3M9ImJveCB0d28ta2V5ZnJhbWVzIj4KICBCb3RoIC0gMiBrZXlmcmFtZXMKPC9kaXY+
CjxkaXYgaWQ9ImUiIGNsYXNzPSJib3ggdHdvLWtleWZyYW1lcyI+CiAgQm90aCBpdGVyYXRpbmcg
LSAyIGtleWZyYW1lcwo8L2Rpdj4KCjxkaXYgaWQ9ImYiIGNsYXNzPSJib3ggdGhyZWUta2V5ZnJh
bWVzIj4KICBOb25lIC0gMyBrZXlmcmFtZXMKPC9kaXY+CjxkaXYgaWQ9ImciIGNsYXNzPSJib3gg
dGhyZWUta2V5ZnJhbWVzIj4KICBCYWNrd2FyZHMgLSAzIGtleWZyYW1lcwo8L2Rpdj4KPGRpdiBp
ZD0iaCIgY2xhc3M9ImJveCB0aHJlZS1rZXlmcmFtZXMiPgogIEZvcndhcmRzIC0gMyBrZXlmcmFt
ZXMKPC9kaXY+CjxkaXYgaWQ9ImkiIGNsYXNzPSJib3ggdGhyZWUta2V5ZnJhbWVzIj4KICBCb3Ro
IC0gMyBrZXlmcmFtZXMKPC9kaXY+CjxkaXYgaWQ9ImoiIGNsYXNzPSJib3ggdGhyZWUta2V5ZnJh
bWVzIj4KICBCb3RoIGl0ZXJhdGluZyAtIDMga2V5ZnJhbWVzCjwvZGl2PgoKPGRpdiBpZD0icmVz
dWx0Ij4KPC9kaXY+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67021</attachid>
            <date>2010-09-09 04:48:36 -0700</date>
            <delta_ts>2010-09-09 10:27:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-41209-20100909214833.patch</filename>
            <type>text/plain</type>
            <size>18562</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1MTZhNmEwZjI3ZmVlOWEzOTEwZjI5NjA2MGZhNjRmOGY3MGUzZjA5Li4zNGZhZjY4
Yjg4MzgwMGYwYWExZDhlM2U0ZDA0OWRjNzZiYzczNGQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTAtMDktMDkgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpbGwgbW9kZSBpcyBicm9rZW4g
d2l0aCBtdWx0aXBsZSBrZXlmcmFtZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQxMjA5CisKKyAgICAgICAgKiBhbmltYXRpb25zL2ZpbGwtbW9kZS1t
aXNzaW5nLWZyb20tdG8ta2V5ZnJhbWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
YW5pbWF0aW9ucy9maWxsLW1vZGUtbWlzc2luZy1mcm9tLXRvLWtleWZyYW1lcy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBhbmltYXRpb25zL2ZpbGwtbW9kZS1tdWx0aXBsZS1rZXlmcmFtZXMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBhbmltYXRpb25zL2ZpbGwtbW9kZS1tdWx0aXBs
ZS1rZXlmcmFtZXMuaHRtbDogQWRkZWQuCisKIDIwMTAtMDktMDggIFl1cnkgU2VtaWtoYXRza3kg
IDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSm9zZXBoIFBlY29y
YXJvLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9maWxsLW1vZGUtbWlzc2lu
Zy1mcm9tLXRvLWtleWZyYW1lcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25z
L2ZpbGwtbW9kZS1taXNzaW5nLWZyb20tdG8ta2V5ZnJhbWVzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OWI2M2E3ZGIyN2YzZjdiZWY5NTc1MzJmOGRjYTkwMGI1NGEwYWIyCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9maWxsLW1vZGUtbWlzc2luZy1mcm9tLXRv
LWtleWZyYW1lcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMiBAQAorVGhpcyB0ZXN0IHBlcmZv
cm1zIGFuIGFuaW1hdGlvbiBvZiB0aGUgbGVmdCBwcm9wZXJ0eSB3aXRoIGZvdXIgZGlmZmVyZW50
IGZpbGwgbW9kZXMuIEl0IGFuaW1hdGVzIG92ZXIgMC4xIHNlY29uZCB3aXRoIGEgMC4xIHNlY29u
ZCBkZWxheS4gSXQgdGFrZXMgc25hcHNob3RzIGF0IGRvY3VtZW50IGxvYWQgYW5kIHRoZSBlbmQg
b2YgdGhlIGFuaW1hdGlvbi4KK05vbmUgLSBmcm9tL3RvIHByZXNlbnQKK0JhY2t3YXJkcyAtIGZy
b20vdG8gcHJlc2VudAorRm9yd2FyZHMgLSBmcm9tL3RvIHByZXNlbnQKK0JvdGggLSBmcm9tL3Rv
IHByZXNlbnQKK0JvdGggaXRlcmF0aW5nIC0gZnJvbS90byBwcmVzZW50CitOb25lIC0gZnJvbSBt
aXNzaW5nCitCYWNrd2FyZHMgLSBmcm9tIG1pc3NpbmcKK0ZvcndhcmRzIC0gZnJvbSBtaXNzaW5n
CitCb3RoIC0gZnJvbSBtaXNzaW5nCitCb3RoIGl0ZXJhdGluZyAtIGZyb20gbWlzc2luZworUEFT
UyAtIHN0YXJ0IG9mIGFuaW1hdGlvbiAtIGlkOiBhIGV4cGVjdGVkOiAxMDAgYWN0dWFsOiAxMDAK
K1BBU1MgLSBzdGFydCBvZiBhbmltYXRpb24gLSBpZDogYiBleHBlY3RlZDogMjAwIGFjdHVhbDog
MjAwCitQQVNTIC0gc3RhcnQgb2YgYW5pbWF0aW9uIC0gaWQ6IGMgZXhwZWN0ZWQ6IDEwMCBhY3R1
YWw6IDEwMAorUEFTUyAtIHN0YXJ0IG9mIGFuaW1hdGlvbiAtIGlkOiBkIGV4cGVjdGVkOiAyMDAg
YWN0dWFsOiAyMDAKK1BBU1MgLSBzdGFydCBvZiBhbmltYXRpb24gLSBpZDogZSBleHBlY3RlZDog
MjAwIGFjdHVhbDogMjAwCitQQVNTIC0gZW5kIG9mIGFuaW1hdGlvbiAtIGlkOiBhIGV4cGVjdGVk
OiAxMDAgYWN0dWFsOiAxMDAKK1BBU1MgLSBlbmQgb2YgYW5pbWF0aW9uIC0gaWQ6IGIgZXhwZWN0
ZWQ6IDEwMCBhY3R1YWw6IDEwMAorUEFTUyAtIGVuZCBvZiBhbmltYXRpb24gLSBpZDogYyBleHBl
Y3RlZDogMzAwIGFjdHVhbDogMzAwCitQQVNTIC0gZW5kIG9mIGFuaW1hdGlvbiAtIGlkOiBkIGV4
cGVjdGVkOiAzMDAgYWN0dWFsOiAzMDAKK1BBU1MgLSBlbmQgb2YgYW5pbWF0aW9uIC0gaWQ6IGUg
ZXhwZWN0ZWQ6IDIwMCBhY3R1YWw6IDIwMAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hbmlt
YXRpb25zL2ZpbGwtbW9kZS1taXNzaW5nLWZyb20tdG8ta2V5ZnJhbWVzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9hbmltYXRpb25zL2ZpbGwtbW9kZS1taXNzaW5nLWZyb20tdG8ta2V5ZnJhbWVzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMzQ4MDdmNTFmNDk2MWE0NDFmN2VkYTExYTNmODExMjhhYzNkZDdmYQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvZmlsbC1tb2RlLW1pc3Npbmct
ZnJvbS10by1rZXlmcmFtZXMuaHRtbApAQCAtMCwwICsxLDE5NCBAQAorPCFET0NUWVBFIGh0bWwg
UFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiIKKyAgICJodHRw
Oi8vd3d3LnczLm9yZy9UUi9odG1sNC9sb29zZS5kdGQiPgorCis8aHRtbCBsYW5nPSJlbiI+Cis8
aGVhZD4KKyAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0
bWw7IGNoYXJzZXQ9dXRmLTgiPgorICA8dGl0bGU+VGVzdCBtaXNzaW5nIGtleWZyYW1lcyB3aXRo
IGZpbGwgbW9kZXM8L3RpdGxlPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3Jl
ZW4iPgorICAgIC5ib3ggeworICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgbGVmdDog
MTAwcHg7CisgICAgICB0b3A6IDEwcHg7CisgICAgICBoZWlnaHQ6IDMwcHg7CisgICAgICB3aWR0
aDogMjAwcHg7CisgICAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC4xczsKKyAgICAgIC13
ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjFzOworICAgICAgLXdlYmtpdC1hbmltYXRpb24t
dGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7CisgICAgfQorICAgIEAtd2Via2l0LWtleWZyYW1lcyBh
bmltMSB7CisgICAgICAgIGZyb20geyBsZWZ0OiAyMDBweDsgfQorICAgICAgICA1MCUgeyBsZWZ0
OiAyNTBweDsgfQorICAgICAgICB0byAgIHsgbGVmdDogMzAwcHg7IH0KKyAgICB9CisgICAgQC13
ZWJraXQta2V5ZnJhbWVzIGFuaW0yIHsKKyAgICAgICAgNTAlIHsgbGVmdDogMjUwcHg7IH0KKyAg
ICAgICAgdG8gICB7IGxlZnQ6IDMwMHB4OyB9CisgICAgfQorICAgIEAtd2Via2l0LWtleWZyYW1l
cyBhbmltMyB7CisgICAgICAgIGZyb20geyBsZWZ0OiAyMDBweDsgfQorICAgICAgICA1MCUgeyBs
ZWZ0OiAyNTBweDsgfQorICAgIH0KKyAgICBALXdlYmtpdC1rZXlmcmFtZXMgYW5pbTQgeworICAg
ICAgICA1MCUgeyBsZWZ0OiAyNTBweDsgfQorICAgIH0KKworICAgICNhIHsKKyAgICAgIGJhY2tn
cm91bmQtY29sb3I6IGJsdWU7CisgICAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IG5v
bmU7CisgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBhbmltMTsKKyAgICB9CisgICAgI2Ig
eworICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOworICAgICAgLXdlYmtpdC1hbmltYXRpb24t
ZmlsbC1tb2RlOiBiYWNrd2FyZHM7CisgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBhbmlt
MTsKKyAgICB9CisgICAgI2MgeworICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgICAg
ICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOworICAgICAgLXdlYmtpdC1h
bmltYXRpb24tbmFtZTogYW5pbTE7CisgICAgfQorICAgICNkIHsKKyAgICAgIGJhY2tncm91bmQt
Y29sb3I6IHllbGxvdzsKKyAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsK
KyAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGFuaW0xOworICAgIH0KKyAgICAjZSB7Cisg
ICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5OworICAgICAgLXdlYmtpdC1hbmltYXRpb24tZmls
bC1tb2RlOiBib3RoOworICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAy
OworICAgICAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7CisgICAgICAt
d2Via2l0LWFuaW1hdGlvbi1uYW1lOiBhbmltMTsKKyAgICB9CisKKyAgICAjZiB7CisgICAgICBi
YWNrZ3JvdW5kLWNvbG9yOiBibHVlOworICAgICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2Rl
OiBub25lOworICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYW5pbTI7CisgICAgfQorICAg
ICNnIHsKKyAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsKKyAgICAgIC13ZWJraXQtYW5pbWF0
aW9uLWZpbGwtbW9kZTogYmFja3dhcmRzOworICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTog
YW5pbTI7CisgICAgfQorICAgICNoIHsKKyAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOwor
ICAgICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsKKyAgICAgIC13ZWJr
aXQtYW5pbWF0aW9uLW5hbWU6IGFuaW0yOworICAgIH0KKyAgICAjaSB7CisgICAgICBiYWNrZ3Jv
dW5kLWNvbG9yOiB5ZWxsb3c7CisgICAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJv
dGg7CisgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBhbmltMjsKKyAgICB9CisgICAgI2og
eworICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTsKKyAgICAgIC13ZWJraXQtYW5pbWF0aW9u
LWZpbGwtbW9kZTogYm90aDsKKyAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3Vu
dDogMjsKKyAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlOworICAg
ICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYW5pbTI7CisgICAgfQorCisgIDwvc3R5bGU+Cisg
IDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBjaGFyc2V0PSJ1dGYtOCI+CisgICAgY29u
c3QgbnVtQW5pbXMgPSAxMDsKKyAgICB2YXIgYW5pbXNGaW5pc2hlZCA9IDA7CisgICAgY29uc3Qg
YWxsb3dhbmNlID0gNTsKKyAgICBjb25zdCBleHBlY3RlZFZhbHVlcyA9IFsKKyAgICAgIHtpZDog
ImEiLCBzdGFydDogMTAwLCBlbmQ6IDEwMH0sCisgICAgICB7aWQ6ICJiIiwgc3RhcnQ6IDIwMCwg
ZW5kOiAxMDB9LAorICAgICAge2lkOiAiYyIsIHN0YXJ0OiAxMDAsIGVuZDogMzAwfSwKKyAgICAg
IHtpZDogImQiLCBzdGFydDogMjAwLCBlbmQ6IDMwMH0sCisgICAgICB7aWQ6ICJlIiwgc3RhcnQ6
IDIwMCwgZW5kOiAyMDB9CisgICAgXTsKKyAgICB2YXIgcmVzdWx0ID0gIiI7CisKKyAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGls
RG9uZSgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGFuaW1hdGlvbkVuZGVkKGV2ZW50KSB7Cisg
ICAgICAgIGlmICgrK2FuaW1zRmluaXNoZWQgPT0gbnVtQW5pbXMpIHsKKyAgICAgICAgICAgIHNl
dFRpbWVvdXQoZW5kVGVzdCwgMCk7IC8vIHRoaXMgc2V0IHRpbWVvdXQgc2hvdWxkIGJlIG9rIGlu
IHRoZSB0ZXN0IGVudmlyb25tZW50CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyBzaW5jZSB3ZSdyZSBqdXN0IGdpdmluZyBzdHlsZSBhIGNoYW5jZSB0byByZXNvbHZlCisg
ICAgICAgIH0KKyAgICB9OworCisgICAgZnVuY3Rpb24gZW5kVGVzdCgpIHsKKworICAgICAgICBm
b3IgKHZhciBpPTA7IGkgPCBleHBlY3RlZFZhbHVlcy5sZW5ndGg7IGkrKykgeworICAgICAgICAg
ICAgdmFyIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZXhwZWN0ZWRWYWx1ZXNbaV0uaWQp
OworICAgICAgICAgICAgdmFyIGV4cGVjdGVkVmFsdWUgPSBleHBlY3RlZFZhbHVlc1tpXS5lbmQ7
CisgICAgICAgICAgICB2YXIgcmVhbFZhbHVlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwp
LmdldFByb3BlcnR5Q1NTVmFsdWUoImxlZnQiKS5nZXRGbG9hdFZhbHVlKENTU1ByaW1pdGl2ZVZh
bHVlLkNTU19OVU1CRVIpOworICAgICAgICAgICAgaWYgKE1hdGguYWJzKGV4cGVjdGVkVmFsdWUg
LSByZWFsVmFsdWUpIDwgYWxsb3dhbmNlKSB7CisgICAgICAgICAgICAgIHJlc3VsdCArPSAiUEFT
UyI7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICByZXN1bHQgKz0gIkZBSUwi
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmVzdWx0ICs9ICIgLSBlbmQgb2YgYW5pbWF0
aW9uIC0gaWQ6ICIgKyBleHBlY3RlZFZhbHVlc1tpXS5pZCArICIgZXhwZWN0ZWQ6ICIgKyBleHBl
Y3RlZFZhbHVlICsgIiBhY3R1YWw6ICIgKyByZWFsVmFsdWUgKyAiPGJyPiI7CisgICAgICAgIH0K
KyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpLmlubmVySFRNTCA9IHJl
c3VsdDsKKworICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIH0KKworICAgIHdp
bmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CisgICAgICAgIGZvciAodmFyIGk9MDsgaSA8IGV4
cGVjdGVkVmFsdWVzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICB2YXIgZWwgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZChleHBlY3RlZFZhbHVlc1tpXS5pZCk7CisgICAgICAgICAgICB2YXIg
ZXhwZWN0ZWRWYWx1ZSA9IGV4cGVjdGVkVmFsdWVzW2ldLnN0YXJ0OworICAgICAgICAgICAgdmFy
IHJlYWxWYWx1ZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsKS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCJsZWZ0IikuZ2V0RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZS5DU1NfTlVNQkVSKTsK
KyAgICAgICAgICAgIGlmIChNYXRoLmFicyhleHBlY3RlZFZhbHVlIC0gcmVhbFZhbHVlKSA8IGFs
bG93YW5jZSkgeworICAgICAgICAgICAgICByZXN1bHQgKz0gIlBBU1MiOworICAgICAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgICAgcmVzdWx0ICs9ICJGQUlMIjsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIHJlc3VsdCArPSAiIC0gc3RhcnQgb2YgYW5pbWF0aW9uIC0gaWQ6ICIgKyBl
eHBlY3RlZFZhbHVlc1tpXS5pZCArICIgZXhwZWN0ZWQ6ICIgKyBleHBlY3RlZFZhbHVlICsgIiBh
Y3R1YWw6ICIgKyByZWFsVmFsdWUgKyAiPGJyPiI7CisgICAgICAgIH0KKyAgICAgICAgZG9jdW1l
bnQuYWRkRXZlbnRMaXN0ZW5lcigid2Via2l0QW5pbWF0aW9uRW5kIiwgYW5pbWF0aW9uRW5kZWQs
IGZhbHNlKTsKKyAgICB9OworCisgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CitUaGlzIHRl
c3QgcGVyZm9ybXMgYW4gYW5pbWF0aW9uIG9mIHRoZSBsZWZ0IHByb3BlcnR5IHdpdGggZm91ciBk
aWZmZXJlbnQKK2ZpbGwgbW9kZXMuIEl0IGFuaW1hdGVzIG92ZXIgMC4xIHNlY29uZCB3aXRoIGEg
MC4xIHNlY29uZCBkZWxheS4KK0l0IHRha2VzIHNuYXBzaG90cyBhdCBkb2N1bWVudCBsb2FkIGFu
ZCB0aGUgZW5kIG9mIHRoZSBhbmltYXRpb24uCisKKzxkaXYgaWQ9ImEiIGNsYXNzPSJib3giPgor
ICBOb25lIC0gZnJvbS90byBwcmVzZW50Cis8L2Rpdj4KKzxkaXYgaWQ9ImIiIGNsYXNzPSJib3gi
PgorICBCYWNrd2FyZHMgLSBmcm9tL3RvIHByZXNlbnQKKzwvZGl2PgorPGRpdiBpZD0iYyIgY2xh
c3M9ImJveCI+CisgIEZvcndhcmRzIC0gZnJvbS90byBwcmVzZW50Cis8L2Rpdj4KKzxkaXYgaWQ9
ImQiIGNsYXNzPSJib3giPgorICBCb3RoIC0gZnJvbS90byBwcmVzZW50Cis8L2Rpdj4KKzxkaXYg
aWQ9ImUiIGNsYXNzPSJib3giPgorICBCb3RoIGl0ZXJhdGluZyAtIGZyb20vdG8gcHJlc2VudAor
PC9kaXY+CisKKzxkaXYgaWQ9ImYiIGNsYXNzPSJib3giPgorICBOb25lIC0gZnJvbSBtaXNzaW5n
Cis8L2Rpdj4KKzxkaXYgaWQ9ImciIGNsYXNzPSJib3giPgorICBCYWNrd2FyZHMgLSBmcm9tIG1p
c3NpbmcKKzwvZGl2PgorPGRpdiBpZD0iaCIgY2xhc3M9ImJveCI+CisgIEZvcndhcmRzIC0gZnJv
bSBtaXNzaW5nCis8L2Rpdj4KKzxkaXYgaWQ9ImkiIGNsYXNzPSJib3giPgorICBCb3RoIC0gZnJv
bSBtaXNzaW5nCis8L2Rpdj4KKzxkaXYgaWQ9ImoiIGNsYXNzPSJib3giPgorICBCb3RoIGl0ZXJh
dGluZyAtIGZyb20gbWlzc2luZworPC9kaXY+CisKKzxkaXYgaWQ9InJlc3VsdCI+Cis8L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvZmls
bC1tb2RlLW11bHRpcGxlLWtleWZyYW1lcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hbmlt
YXRpb25zL2ZpbGwtbW9kZS1tdWx0aXBsZS1rZXlmcmFtZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmY5ZTlkODgwMjZmMzdhNGU2MDEzN2ViMjg3Y2QyODdhZmE3OWNkMDgKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25zL2ZpbGwtbW9kZS1tdWx0aXBsZS1rZXlmcmFt
ZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzIgQEAKK1RoaXMgdGVzdCBwZXJmb3JtcyBhbiBh
bmltYXRpb24gb2YgdGhlIGxlZnQgcHJvcGVydHkgd2l0aCBmb3VyIGRpZmZlcmVudCBmaWxsIG1v
ZGVzIG9uIHR3byBzZXRzIG9mIG9iamVjdHMuIFRoZSBmaXJzdCBzZXQgaGFzIGFuaW1hdGlvbnMg
d2l0aCBvbmx5IGZyb20gYW5kIHRvIGtleWZyYW1lcy4gVGhlIHNlY29uZCBzZXQgaGFzIGFuaW1h
dGlvbnMgd2l0aCBmcm9tLCB0byBhbmQgYSB0aGlyZCBrZXlmcmFtZSBhdCA1MCUuIEl0IGFuaW1h
dGVzIG92ZXIgMC4xIHNlY29uZCB3aXRoIGEgMC4xIHNlY29uZCBkZWxheS4gSXQgdGFrZXMgc25h
cHNob3RzIGF0IGRvY3VtZW50IGxvYWQgYW5kIHRoZSBlbmQgb2YgdGhlIGFuaW1hdGlvbi4KK05v
bmUgLSAyIGtleWZyYW1lcworQmFja3dhcmRzIC0gMiBrZXlmcmFtZXMKK0ZvcndhcmRzIC0gMiBr
ZXlmcmFtZXMKK0JvdGggLSAyIGtleWZyYW1lcworQm90aCBpdGVyYXRpbmcgLSAyIGtleWZyYW1l
cworTm9uZSAtIDMga2V5ZnJhbWVzCitCYWNrd2FyZHMgLSAzIGtleWZyYW1lcworRm9yd2FyZHMg
LSAzIGtleWZyYW1lcworQm90aCAtIDMga2V5ZnJhbWVzCitCb3RoIGl0ZXJhdGluZyAtIDMga2V5
ZnJhbWVzCitQQVNTIC0gc3RhcnQgb2YgYW5pbWF0aW9uIC0gaWQ6IGEgZXhwZWN0ZWQ6IDEwMCBh
Y3R1YWw6IDEwMAorUEFTUyAtIHN0YXJ0IG9mIGFuaW1hdGlvbiAtIGlkOiBiIGV4cGVjdGVkOiAy
MDAgYWN0dWFsOiAyMDAKK1BBU1MgLSBzdGFydCBvZiBhbmltYXRpb24gLSBpZDogYyBleHBlY3Rl
ZDogMTAwIGFjdHVhbDogMTAwCitQQVNTIC0gc3RhcnQgb2YgYW5pbWF0aW9uIC0gaWQ6IGQgZXhw
ZWN0ZWQ6IDIwMCBhY3R1YWw6IDIwMAorUEFTUyAtIHN0YXJ0IG9mIGFuaW1hdGlvbiAtIGlkOiBl
IGV4cGVjdGVkOiAyMDAgYWN0dWFsOiAyMDAKK1BBU1MgLSBzdGFydCBvZiBhbmltYXRpb24gLSBp
ZDogZiBleHBlY3RlZDogMTAwIGFjdHVhbDogMTAwCitQQVNTIC0gc3RhcnQgb2YgYW5pbWF0aW9u
IC0gaWQ6IGcgZXhwZWN0ZWQ6IDIwMCBhY3R1YWw6IDIwMAorUEFTUyAtIHN0YXJ0IG9mIGFuaW1h
dGlvbiAtIGlkOiBoIGV4cGVjdGVkOiAxMDAgYWN0dWFsOiAxMDAKK1BBU1MgLSBzdGFydCBvZiBh
bmltYXRpb24gLSBpZDogaSBleHBlY3RlZDogMjAwIGFjdHVhbDogMjAwCitQQVNTIC0gc3RhcnQg
b2YgYW5pbWF0aW9uIC0gaWQ6IGogZXhwZWN0ZWQ6IDIwMCBhY3R1YWw6IDIwMAorUEFTUyAtIGVu
ZCBvZiBhbmltYXRpb24gLSBpZDogYSBleHBlY3RlZDogMTAwIGFjdHVhbDogMTAwCitQQVNTIC0g
ZW5kIG9mIGFuaW1hdGlvbiAtIGlkOiBiIGV4cGVjdGVkOiAxMDAgYWN0dWFsOiAxMDAKK1BBU1Mg
LSBlbmQgb2YgYW5pbWF0aW9uIC0gaWQ6IGMgZXhwZWN0ZWQ6IDMwMCBhY3R1YWw6IDMwMAorUEFT
UyAtIGVuZCBvZiBhbmltYXRpb24gLSBpZDogZCBleHBlY3RlZDogMzAwIGFjdHVhbDogMzAwCitQ
QVNTIC0gZW5kIG9mIGFuaW1hdGlvbiAtIGlkOiBlIGV4cGVjdGVkOiAyMDAgYWN0dWFsOiAyMDAK
K1BBU1MgLSBlbmQgb2YgYW5pbWF0aW9uIC0gaWQ6IGYgZXhwZWN0ZWQ6IDEwMCBhY3R1YWw6IDEw
MAorUEFTUyAtIGVuZCBvZiBhbmltYXRpb24gLSBpZDogZyBleHBlY3RlZDogMTAwIGFjdHVhbDog
MTAwCitQQVNTIC0gZW5kIG9mIGFuaW1hdGlvbiAtIGlkOiBoIGV4cGVjdGVkOiAzMDAgYWN0dWFs
OiAzMDAKK1BBU1MgLSBlbmQgb2YgYW5pbWF0aW9uIC0gaWQ6IGkgZXhwZWN0ZWQ6IDMwMCBhY3R1
YWw6IDMwMAorUEFTUyAtIGVuZCBvZiBhbmltYXRpb24gLSBpZDogaiBleHBlY3RlZDogMjAwIGFj
dHVhbDogMjAwCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvZmlsbC1tb2Rl
LW11bHRpcGxlLWtleWZyYW1lcy5odG1sIGIvTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9maWxsLW1v
ZGUtbXVsdGlwbGUta2V5ZnJhbWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjY5OGFjMzA3Njk3MjJlZTI0
MzA4MGI4NTI2ZWU4NDFlMDY3MzIzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Fu
aW1hdGlvbnMvZmlsbC1tb2RlLW11bHRpcGxlLWtleWZyYW1lcy5odG1sCkBAIC0wLDAgKzEsMTY5
IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0
aW9uYWwvL0VOIgorICAgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+CisK
KzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgorICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5
cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCI+CisgIDx0aXRsZT5UZXN0IHNp
bXBsZSBhbmltYXRpb24gd2l0aCBmaWxsIG1vZGVzPC90aXRsZT4KKyAgPHN0eWxlIHR5cGU9InRl
eHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4KKyAgICAuYm94IHsKKyAgICAgIHBvc2l0aW9uOiByZWxh
dGl2ZTsKKyAgICAgIGxlZnQ6IDEwMHB4OworICAgICAgdG9wOiAxMHB4OworICAgICAgaGVpZ2h0
OiAzMHB4OworICAgICAgd2lkdGg6IDIwMHB4OworICAgICAgLXdlYmtpdC1hbmltYXRpb24tZGVs
YXk6IDAuMXM7CisgICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4xczsKKyAgICAg
IC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOworICAgIH0KKworICAg
IC50d28ta2V5ZnJhbWVzIHsKKyAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGFuaW0xOwor
ICAgIH0KKworICAgIC50aHJlZS1rZXlmcmFtZXMgeworICAgICAgLXdlYmtpdC1hbmltYXRpb24t
bmFtZTogYW5pbTI7CisgICAgfQorCisgICAgQC13ZWJraXQta2V5ZnJhbWVzIGFuaW0xIHsKKyAg
ICAgICAgZnJvbSB7IGxlZnQ6IDIwMHB4OyB9CisgICAgICAgIHRvICAgeyBsZWZ0OiAzMDBweDsg
fQorICAgIH0KKyAgICBALXdlYmtpdC1rZXlmcmFtZXMgYW5pbTIgeworICAgICAgICBmcm9tIHsg
bGVmdDogMjAwcHg7IH0KKyAgICAgICAgNTAlIHsgbGVmdDogMjUwcHg7IH0KKyAgICAgICAgdG8g
ICB7IGxlZnQ6IDMwMHB4OyB9CisgICAgfQorCisgICAgI2EsICNmIHsKKyAgICAgIGJhY2tncm91
bmQtY29sb3I6IGJsdWU7CisgICAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IG5vbmU7
CisgICAgfQorICAgICNiLCAjZyB7CisgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7CisgICAg
ICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJhY2t3YXJkczsKKyAgICB9CisgICAgI2Ms
ICNoIHsKKyAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworICAgICAgLXdlYmtpdC1hbmlt
YXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsKKyAgICB9CisgICAgI2QsICNpIHsKKyAgICAgIGJh
Y2tncm91bmQtY29sb3I6IHllbGxvdzsKKyAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9k
ZTogYm90aDsKKyAgICB9CisgICAgI2UsICNqIHsKKyAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5
OTk7CisgICAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7CisgICAgICAtd2Vi
a2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDI7CisgICAgICAtd2Via2l0LWFuaW1hdGlv
bi1kaXJlY3Rpb246IGFsdGVybmF0ZTsKKyAgICB9CisgIDwvc3R5bGU+CisgIDxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBjaGFyc2V0PSJ1dGYtOCI+CisgICAgY29uc3QgbnVtQW5pbXMg
PSAxMDsKKyAgICB2YXIgYW5pbXNGaW5pc2hlZCA9IDA7CisgICAgY29uc3QgYWxsb3dhbmNlID0g
NTsKKyAgICBjb25zdCBleHBlY3RlZFZhbHVlcyA9IFsKKyAgICAgIHtpZDogImEiLCBzdGFydDog
MTAwLCBlbmQ6IDEwMH0sCisgICAgICB7aWQ6ICJiIiwgc3RhcnQ6IDIwMCwgZW5kOiAxMDB9LAor
ICAgICAge2lkOiAiYyIsIHN0YXJ0OiAxMDAsIGVuZDogMzAwfSwKKyAgICAgIHtpZDogImQiLCBz
dGFydDogMjAwLCBlbmQ6IDMwMH0sCisgICAgICB7aWQ6ICJlIiwgc3RhcnQ6IDIwMCwgZW5kOiAy
MDB9LAorICAgICAge2lkOiAiZiIsIHN0YXJ0OiAxMDAsIGVuZDogMTAwfSwKKyAgICAgIHtpZDog
ImciLCBzdGFydDogMjAwLCBlbmQ6IDEwMH0sCisgICAgICB7aWQ6ICJoIiwgc3RhcnQ6IDEwMCwg
ZW5kOiAzMDB9LAorICAgICAge2lkOiAiaSIsIHN0YXJ0OiAyMDAsIGVuZDogMzAwfSwKKyAgICAg
IHtpZDogImoiLCBzdGFydDogMjAwLCBlbmQ6IDIwMH0KKyAgICBdOworICAgIHZhciByZXN1bHQg
PSAiIjsKKworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gYW5pbWF0aW9u
RW5kZWQoZXZlbnQpIHsKKyAgICAgICAgaWYgKCsrYW5pbXNGaW5pc2hlZCA9PSBudW1Bbmltcykg
eworICAgICAgICAgICAgc2V0VGltZW91dChlbmRUZXN0LCAwKTsgLy8gdGhpcyBzZXQgdGltZW91
dCBzaG91bGQgYmUgb2sgaW4gdGhlIHRlc3QgZW52aXJvbm1lbnQKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIHNpbmNlIHdlJ3JlIGp1c3QgZ2l2aW5nIHN0eWxlIGEgY2hh
bmNlIHRvIHJlc29sdmUKKyAgICAgICAgfQorICAgIH07CisKKyAgICBmdW5jdGlvbiBlbmRUZXN0
KCkgeworCisgICAgICAgIGZvciAodmFyIGk9MDsgaSA8IGV4cGVjdGVkVmFsdWVzLmxlbmd0aDsg
aSsrKSB7CisgICAgICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChleHBl
Y3RlZFZhbHVlc1tpXS5pZCk7CisgICAgICAgICAgICB2YXIgZXhwZWN0ZWRWYWx1ZSA9IGV4cGVj
dGVkVmFsdWVzW2ldLmVuZDsKKyAgICAgICAgICAgIHZhciByZWFsVmFsdWUgPSB3aW5kb3cuZ2V0
Q29tcHV0ZWRTdHlsZShlbCkuZ2V0UHJvcGVydHlDU1NWYWx1ZSgibGVmdCIpLmdldEZsb2F0VmFs
dWUoQ1NTUHJpbWl0aXZlVmFsdWUuQ1NTX05VTUJFUik7CisgICAgICAgICAgICBpZiAoTWF0aC5h
YnMoZXhwZWN0ZWRWYWx1ZSAtIHJlYWxWYWx1ZSkgPCBhbGxvd2FuY2UpIHsKKyAgICAgICAgICAg
ICAgcmVzdWx0ICs9ICJQQVNTIjsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAg
IHJlc3VsdCArPSAiRkFJTCI7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXN1bHQgKz0g
IiAtIGVuZCBvZiBhbmltYXRpb24gLSBpZDogIiArIGV4cGVjdGVkVmFsdWVzW2ldLmlkICsgIiBl
eHBlY3RlZDogIiArIGV4cGVjdGVkVmFsdWUgKyAiIGFjdHVhbDogIiArIHJlYWxWYWx1ZSArICI8
YnI+IjsKKyAgICAgICAgfQorICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0
JykuaW5uZXJIVE1MID0gcmVzdWx0OworCisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7
CisgICAgfQorCisgICAgd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgZm9y
ICh2YXIgaT0wOyBpIDwgZXhwZWN0ZWRWYWx1ZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAg
IHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGV4cGVjdGVkVmFsdWVzW2ldLmlkKTsK
KyAgICAgICAgICAgIHZhciBleHBlY3RlZFZhbHVlID0gZXhwZWN0ZWRWYWx1ZXNbaV0uc3RhcnQ7
CisgICAgICAgICAgICB2YXIgcmVhbFZhbHVlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwp
LmdldFByb3BlcnR5Q1NTVmFsdWUoImxlZnQiKS5nZXRGbG9hdFZhbHVlKENTU1ByaW1pdGl2ZVZh
bHVlLkNTU19OVU1CRVIpOworICAgICAgICAgICAgaWYgKE1hdGguYWJzKGV4cGVjdGVkVmFsdWUg
LSByZWFsVmFsdWUpIDwgYWxsb3dhbmNlKSB7CisgICAgICAgICAgICAgIHJlc3VsdCArPSAiUEFT
UyI7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICByZXN1bHQgKz0gIkZBSUwi
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmVzdWx0ICs9ICIgLSBzdGFydCBvZiBhbmlt
YXRpb24gLSBpZDogIiArIGV4cGVjdGVkVmFsdWVzW2ldLmlkICsgIiBleHBlY3RlZDogIiArIGV4
cGVjdGVkVmFsdWUgKyAiIGFjdHVhbDogIiArIHJlYWxWYWx1ZSArICI8YnI+IjsKKyAgICAgICAg
fQorICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ3ZWJraXRBbmltYXRpb25FbmQi
LCBhbmltYXRpb25FbmRlZCwgZmFsc2UpOworICAgIH07CisKKyAgPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KK1RoaXMgdGVzdCBwZXJmb3JtcyBhbiBhbmltYXRpb24gb2YgdGhlIGxlZnQgcHJv
cGVydHkgd2l0aCBmb3VyIGRpZmZlcmVudAorZmlsbCBtb2RlcyBvbiB0d28gc2V0cyBvZiBvYmpl
Y3RzLiBUaGUgZmlyc3Qgc2V0IGhhcyBhbmltYXRpb25zIHdpdGgKK29ubHkgZnJvbSBhbmQgdG8g
a2V5ZnJhbWVzLiBUaGUgc2Vjb25kIHNldCBoYXMgYW5pbWF0aW9ucyB3aXRoIGZyb20sIHRvIGFu
ZAorYSB0aGlyZCBrZXlmcmFtZSBhdCA1MCUuIEl0IGFuaW1hdGVzIG92ZXIgMC4xIHNlY29uZCB3
aXRoIGEgMC4xIHNlY29uZCBkZWxheS4KK0l0IHRha2VzIHNuYXBzaG90cyBhdCBkb2N1bWVudCBs
b2FkIGFuZCB0aGUgZW5kIG9mIHRoZSBhbmltYXRpb24uCisKKzxkaXYgaWQ9ImEiIGNsYXNzPSJi
b3ggdHdvLWtleWZyYW1lcyI+CisgIE5vbmUgLSAyIGtleWZyYW1lcworPC9kaXY+Cis8ZGl2IGlk
PSJiIiBjbGFzcz0iYm94IHR3by1rZXlmcmFtZXMiPgorICBCYWNrd2FyZHMgLSAyIGtleWZyYW1l
cworPC9kaXY+Cis8ZGl2IGlkPSJjIiBjbGFzcz0iYm94IHR3by1rZXlmcmFtZXMiPgorICBGb3J3
YXJkcyAtIDIga2V5ZnJhbWVzCis8L2Rpdj4KKzxkaXYgaWQ9ImQiIGNsYXNzPSJib3ggdHdvLWtl
eWZyYW1lcyI+CisgIEJvdGggLSAyIGtleWZyYW1lcworPC9kaXY+Cis8ZGl2IGlkPSJlIiBjbGFz
cz0iYm94IHR3by1rZXlmcmFtZXMiPgorICBCb3RoIGl0ZXJhdGluZyAtIDIga2V5ZnJhbWVzCis8
L2Rpdj4KKworPGRpdiBpZD0iZiIgY2xhc3M9ImJveCB0aHJlZS1rZXlmcmFtZXMiPgorICBOb25l
IC0gMyBrZXlmcmFtZXMKKzwvZGl2PgorPGRpdiBpZD0iZyIgY2xhc3M9ImJveCB0aHJlZS1rZXlm
cmFtZXMiPgorICBCYWNrd2FyZHMgLSAzIGtleWZyYW1lcworPC9kaXY+Cis8ZGl2IGlkPSJoIiBj
bGFzcz0iYm94IHRocmVlLWtleWZyYW1lcyI+CisgIEZvcndhcmRzIC0gMyBrZXlmcmFtZXMKKzwv
ZGl2PgorPGRpdiBpZD0iaSIgY2xhc3M9ImJveCB0aHJlZS1rZXlmcmFtZXMiPgorICBCb3RoIC0g
MyBrZXlmcmFtZXMKKzwvZGl2PgorPGRpdiBpZD0iaiIgY2xhc3M9ImJveCB0aHJlZS1rZXlmcmFt
ZXMiPgorICBCb3RoIGl0ZXJhdGluZyAtIDMga2V5ZnJhbWVzCis8L2Rpdj4KKworPGRpdiBpZD0i
cmVzdWx0Ij4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzOWQxYzQwYTUyNTEyMTE4YmYwMWE3
MzZiY2U1YjhlMTk1ZDY2Nzk2Li5jZWViZjYwOGU5MDFiZWJmOGY0MDVkMTk3ZjcxZTI1ODI0MzI0
NGVmIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE2IEBACisyMDEwLTA5LTA5ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBG
aWxsIG1vZGUgaXMgYnJva2VuIHdpdGggbXVsdGlwbGUga2V5ZnJhbWVzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTIwOQorCisgICAgICAgIFRlc3Rz
OiBhbmltYXRpb25zL2ZpbGwtbW9kZS1taXNzaW5nLWZyb20tdG8ta2V5ZnJhbWVzLmh0bWwKKyAg
ICAgICAgICAgICAgIGFuaW1hdGlvbnMvZmlsbC1tb2RlLW11bHRpcGxlLWtleWZyYW1lcy5odG1s
CisKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpLZXlmcmFtZUFuaW1hdGlvbjo6ZmV0Y2hJbnRlcnZhbEVuZHBvaW50c0Zv
clByb3BlcnR5KToKKwogMjAxMC0wOS0wOCAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vS2V5ZnJhbWVBbmltYXRpb24uY3BwIGIvV2ViQ29y
ZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5jcHAKaW5kZXggZWVkZGI5NDZmYjQ0
MjU4YmRmYjBmOGIzMTMxZThjMzNkMTY0NjAyMC4uZGY5NjNmYjk4NTM2MTNhNzZhMTkyZDAxY2U0
MDFlZDhjYzFmMmVhMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFt
ZUFuaW1hdGlvbi5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1h
dGlvbi5jcHAKQEAgLTM5LDYgKzM5LDggQEAKICNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgogI2lu
Y2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCit1c2luZyBuYW1lc3BhY2Ugc3RkOworCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIEtleWZyYW1lQW5pbWF0aW9uOjpLZXlmcmFtZUFuaW1hdGlvbihj
b25zdCBBbmltYXRpb24qIGFuaW1hdGlvbiwgUmVuZGVyT2JqZWN0KiByZW5kZXJlciwgaW50IGlu
ZGV4LCBDb21wb3NpdGVBbmltYXRpb24qIGNvbXBBbmltLCBSZW5kZXJTdHlsZSogdW5hbmltYXRl
ZFN0eWxlKQpAQCAtNjYsNiArNjgsOCBAQCB2b2lkIEtleWZyYW1lQW5pbWF0aW9uOjpmZXRjaElu
dGVydmFsRW5kcG9pbnRzRm9yUHJvcGVydHkoaW50IHByb3BlcnR5LCBjb25zdCBSZQogewogICAg
IC8vIEZpbmQgdGhlIGZpcnN0IGtleQogICAgIGRvdWJsZSBlbGFwc2VkVGltZSA9IGdldEVsYXBz
ZWRUaW1lKCk7CisgICAgaWYgKG1fYW5pbWF0aW9uLT5kdXJhdGlvbigpICYmIG1fYW5pbWF0aW9u
LT5pdGVyYXRpb25Db3VudCgpICE9IEFuaW1hdGlvbjo6SXRlcmF0aW9uQ291bnRJbmZpbml0ZSkK
KyAgICAgICAgZWxhcHNlZFRpbWUgPSBtaW4oZWxhcHNlZFRpbWUsIG1fYW5pbWF0aW9uLT5kdXJh
dGlvbigpICogbV9hbmltYXRpb24tPml0ZXJhdGlvbkNvdW50KCkpOwogCiAgICAgZG91YmxlIGZy
YWN0aW9uYWxUaW1lID0gbV9hbmltYXRpb24tPmR1cmF0aW9uKCkgPyAoZWxhcHNlZFRpbWUgLyBt
X2FuaW1hdGlvbi0+ZHVyYXRpb24oKSkgOiAxOwogCkBAIC03NSw2ICs3OSw4IEBAIHZvaWQgS2V5
ZnJhbWVBbmltYXRpb246OmZldGNoSW50ZXJ2YWxFbmRwb2ludHNGb3JQcm9wZXJ0eShpbnQgcHJv
cGVydHksIGNvbnN0IFJlCiAKICAgICAvLyBGSVhNRTogc2hhcmUgdGhpcyBjb2RlIHdpdGggQW5p
bWF0aW9uQmFzZTo6cHJvZ3Jlc3MoKS4KICAgICBpbnQgaXRlcmF0aW9uID0gc3RhdGljX2Nhc3Q8
aW50PihmcmFjdGlvbmFsVGltZSk7CisgICAgaWYgKG1fYW5pbWF0aW9uLT5pdGVyYXRpb25Db3Vu
dCgpICE9IEFuaW1hdGlvbjo6SXRlcmF0aW9uQ291bnRJbmZpbml0ZSkKKyAgICAgICAgaXRlcmF0
aW9uID0gbWluKGl0ZXJhdGlvbiwgbV9hbmltYXRpb24tPml0ZXJhdGlvbkNvdW50KCkgLSAxKTsK
ICAgICBmcmFjdGlvbmFsVGltZSAtPSBpdGVyYXRpb247CiAgICAgCiAgICAgYm9vbCByZXZlcnNp
bmcgPSAobV9hbmltYXRpb24tPmRpcmVjdGlvbigpID09IEFuaW1hdGlvbjo6QW5pbWF0aW9uRGly
ZWN0aW9uQWx0ZXJuYXRlKSAmJiAoaXRlcmF0aW9uICYgMSk7Cg==
</data>
<flag name="review"
          id="56198"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>