<?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>14631</bug_id>
          
          <creation_ts>2007-07-16 06:39:53 -0700</creation_ts>
          <short_desc>&lt;use&gt; doesn&apos;t deep-expand &lt;symbol&gt; elements.</short_desc>
          <delta_ts>2007-07-16 12:19:49 -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>SVG</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>4633</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-07-16 06:39:53 -0700</bug_when>
    <thetext>As the summary says, &lt;use&gt; on &lt;g&gt; containing &lt;symbol&gt; leads to an ASSERT.
Need deep-expanding for &lt;symbol&gt;, just like done for &lt;use&gt;. Patch coming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>4631</commentid>
    <comment_count>1</comment_count>
      <attachid>15530</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-07-16 06:42:21 -0700</bug_when>
    <thetext>Created attachment 15530
Initial patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>4618</commentid>
    <comment_count>2</comment_count>
      <attachid>15530</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2007-07-16 11:53:50 -0700</bug_when>
    <thetext>Comment on attachment 15530
Initial patch

&gt;--- WebCore/ChangeLog	(revision 24303)
&gt;+++ WebCore/ChangeLog	(working copy)
&gt;+
&gt;+        Added testcase: svg/custom/use-on-g-containing-foreignObject-and-image.svg (testcase for treasure_map.svg)
&gt;+                        svg/custom/use-on-disallowed-foreign-object-5.svg (&lt;use&gt; on &lt;symbol&gt; containg &lt;foreignObject&gt;)
&gt;+                        svg/custom/use-on-disallowed-foreign-object-6.svg (&lt;use&gt; on &lt;g&gt; containing &lt;svg&gt; containing &lt;foreignObject&gt;)
&gt;+                        svg/custom/use-on-disallowed-foreign-object-7.svg (&lt;use&gt; on &lt;g&gt; containing &lt;symbol&gt; containing &lt;foreignObject&gt;)
&gt;+                        svg/custom/use-scripting-changes-to-nonexistant-href.svg

I wouldn&apos;t add the testcases here, but that is a taste thing I suppose.

&gt;Index: LayoutTests/svg/custom/use-on-g-containing-foreignObject-and-image.svg
&gt;===================================================================
&gt;--- LayoutTests/svg/custom/use-on-g-containing-foreignObject-and-image.svg	(revision 0)
&gt;+++ LayoutTests/svg/custom/use-on-g-containing-foreignObject-and-image.svg	(revision 0)
&gt;@@ -0,0 +1,14 @@
&gt;+&lt;?xml version=&quot;1.0&quot;?&gt;
&gt;+&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot;
&gt;+     xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;
&gt;+
&gt;+&lt;defs&gt;
&gt;+    &lt;g id=&quot;container&quot;&gt;
&gt;+        &lt;foreignObject x=&quot;10&quot; y=&quot;10&quot; width=&quot;580&quot; height=&quot;380&quot; requiredExtensions=&quot;foobar&quot;/&gt;
&gt;+        &lt;image xlink:href=&quot;resources/green-checker.png&quot; width=&quot;75&quot; height=&quot;75&quot; /&gt;
&gt;+    &lt;/g&gt;
&gt;+&lt;/defs&gt;
&gt;+
&gt;+&lt;use x=&quot;25&quot; y=&quot;25&quot; xlink:href=&quot;#container&quot;/&gt;
&gt;+
&gt;+&lt;/svg&gt;

I do not understand why you don&apos;t add a testcase like this but using &lt;switch&gt; instead of &lt;g&gt;. AFAICS switch has some unique effect, in that it can effectively
render the foreignObject in &lt;use&gt; valid, since the &lt;switch&gt; can decide to rule out the foreignObject, which the above &lt;g&gt; doesn&apos;t do.
If we can work that one out (over irc maybe), then I&apos;ll r+ it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>4605</commentid>
    <comment_count>3</comment_count>
      <attachid>15530</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2007-07-16 12:14:19 -0700</bug_when>
    <thetext>Comment on attachment 15530
Initial patch

I made some false assumptions about switch and valid elements.
The use-on-g-containing-foreignObject-and-image.svg is fine, except the requiredExtensions is confusing. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>4607</commentid>
    <comment_count>4</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-07-16 12:19:49 -0700</bug_when>
    <thetext>Landed in r24320.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>15530</attachid>
            <date>2007-07-16 06:42:21 -0700</date>
            <delta_ts>2007-07-16 12:14:19 -0700</delta_ts>
            <desc>Initial patch</desc>
            <filename>FixSVGUseStuff.diff</filename>
            <type>text/plain</type>
            <size>33680</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNDMwMykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzYgQEAKKzIwMDctMDctMTYgIE5pa29sYXMgWmltbWVybWFubiAgPHppbW1lcm1h
bm5Aa2RlLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBSb2IuCisKKyAgICAgICAgRml4ZXM6
IGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjExIChDcmFzaCBpbiBz
ZXRBdHRyaWJ1dGVOUyBzZXR0aW5nIGhyZWYgb2YgU1ZHIDx1c2U+IHRvIG5vbmV4aXN0ZW50IHN5
bWJvbCkKKyAgICAgICAgRml4ZXM6IGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE0NjMxICg8dXNlPiBkb2Vzbid0IGRlZXAtZXhwYW5kIDxzeW1ib2w+IGVsZW1lbnRzLikK
KworICAgICAgICBSZXdvcmsgPHVzZT4gb24gPGZvcmVpZ25PYmplY3Q+IGNhc2VzLCB0byBub3Qg
anVzdCBpZ25vcmUKKyAgICAgICAgdGhlc2UgY2FzZXMsIGJ1dCBhY3R1YWxseSBwcm9jZWVkIGFu
ZCBza2lwIDxmTz4gb2JqZWN0cworICAgICAgICBmcm9tIHRoZSByZXN1bHRpbmcgY2xvbmVkIHRy
ZWUuIFRoaXMgZml4ZXMgcGFydHMgb2YKKyAgICAgICAgInRyZWFzdXJlX21hcC5zdmciIChubyBi
dWcgcmVwb3J0IGF2YWlsYWJlIG9uIHRoYXQgb25lLCBwcml2YXRlICJ0ZXN0Y2FzZSIpLgorCisg
ICAgICAgIEZpeCBhc3NlcnRpb24gaGFwcGVuaW5nIHdpdGggPHVzZT4gb24gPGc+IGNvbnRhaW5p
bmcgPHN5bWJvbD4uIEludHJvZHVjZSBleHBhbmRTeW1ib2xFbGVtZW50c0luU2hhZG93VHJlZSgp
CisgICAgICAgIGNvbmNlcHQsIGp1c3QgbGlrZSBpdCdzIGRvbmUgZm9yIDx1c2U+IG9uIDx1c2U+
LCB0byBkZWVwLXJlcGxhY2UgYWxsIDxzeW1ib2w+IGVsZW1lbnRzIGJ5IDxzdmc+LCBhcyBkZW1h
bmRlZAorICAgICAgICBieSB0aGUgc3BlYy4gVGhpcyBvbmx5IHdvcmtlZCBvbiA8dXNlPiBvbiA8
c3ltYm9sPiBkaXJlY3QgY2FzZXMgc28gZmFyLgorCisgICAgICAgIEFkZGVkIHRlc3RjYXNlOiBz
dmcvY3VzdG9tL3VzZS1vbi1nLWNvbnRhaW5pbmctZm9yZWlnbk9iamVjdC1hbmQtaW1hZ2Uuc3Zn
ICh0ZXN0Y2FzZSBmb3IgdHJlYXN1cmVfbWFwLnN2ZykKKyAgICAgICAgICAgICAgICAgICAgICAg
IHN2Zy9jdXN0b20vdXNlLW9uLWRpc2FsbG93ZWQtZm9yZWlnbi1vYmplY3QtNS5zdmcgKDx1c2U+
IG9uIDxzeW1ib2w+IGNvbnRhaW5nIDxmb3JlaWduT2JqZWN0PikKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHN2Zy9jdXN0b20vdXNlLW9uLWRpc2FsbG93ZWQtZm9yZWlnbi1vYmplY3QtNi5zdmcg
KDx1c2U+IG9uIDxnPiBjb250YWluaW5nIDxzdmc+IGNvbnRhaW5pbmcgPGZvcmVpZ25PYmplY3Q+
KQorICAgICAgICAgICAgICAgICAgICAgICAgc3ZnL2N1c3RvbS91c2Utb24tZGlzYWxsb3dlZC1m
b3JlaWduLW9iamVjdC03LnN2ZyAoPHVzZT4gb24gPGc+IGNvbnRhaW5pbmcgPHN5bWJvbD4gY29u
dGFpbmluZyA8Zm9yZWlnbk9iamVjdD4pCisgICAgICAgICAgICAgICAgICAgICAgICBzdmcvY3Vz
dG9tL3VzZS1zY3JpcHRpbmctY2hhbmdlcy10by1ub25leGlzdGFudC1ocmVmLnN2ZworCisgICAg
ICAgICoga3N2ZzIvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNE
aXNhbGxvd2VkRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpzdWJ0cmVlQ29udGFpbnNEaXNh
bGxvd2VkRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdVc2VFbGVtZW50OjpidWlsZFBl
bmRpbmdSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdVc2VFbGVtZW50OjpidWlsZElu
c3RhbmNlVHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdVc2VFbGVtZW50OjpyZW1vdmVEaXNh
bGxvd2VkRWxlbWVudHNGcm9tU3VidHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdVc2VFbGVt
ZW50OjpidWlsZFNoYWRvd1RyZWUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVXNlRWxlbWVudDo6
ZXhwYW5kVXNlRWxlbWVudHNJblNoYWRvd1RyZWUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVXNl
RWxlbWVudDo6ZXhwYW5kU3ltYm9sRWxlbWVudHNJblNoYWRvd1RyZWUpOgorICAgICAgICAqIGtz
dmcyL3N2Zy9TVkdVc2VFbGVtZW50Lmg6CisKIDIwMDctMDctMTUgIE5pa29sYXMgWmltbWVybWFu
biAgPHppbW1lcm1hbm5Aa2RlLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBSb2IuCkluZGV4
OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdVc2VFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9rc3ZnMi9zdmcvU1ZHVXNlRWxlbWVudC5oCShyZXZpc2lvbiAyNDMwMykKKysrIFdlYkNvcmUv
a3N2ZzIvc3ZnL1NWR1VzZUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtOTAsOSArOTAsMTEg
QEAKICAgICAgICAgLy8gU2hhZG93IHRyZWUgaGFuZGxpbmcKICAgICAgICAgUGFzc1JlZlB0cjxT
VkdTVkdFbGVtZW50PiBidWlsZFNoYWRvd1RyZWVGb3JTeW1ib2xUYWcoU1ZHRWxlbWVudCogdGFy
Z2V0LCBTVkdFbGVtZW50SW5zdGFuY2UqIHRhcmdldEluc3RhbmNlKTsKICAgICAgICAgdm9pZCBh
bHRlclNoYWRvd1RyZWVGb3JTVkdUYWcoU1ZHRWxlbWVudCogdGFyZ2V0KTsKKyAgICAgICAgdm9p
ZCByZW1vdmVEaXNhbGxvd2VkRWxlbWVudHNGcm9tU3VidHJlZShOb2RlKiBlbGVtZW50KTsKIAog
ICAgICAgICB2b2lkIGJ1aWxkU2hhZG93VHJlZShTVkdFbGVtZW50KiB0YXJnZXQsIFNWR0VsZW1l
bnRJbnN0YW5jZSogdGFyZ2V0SW5zdGFuY2UpOwogICAgICAgICB2b2lkIGV4cGFuZFVzZUVsZW1l
bnRzSW5TaGFkb3dUcmVlKE5vZGUqIGVsZW1lbnQpOworICAgICAgICB2b2lkIGV4cGFuZFN5bWJv
bEVsZW1lbnRzSW5TaGFkb3dUcmVlKE5vZGUqIGVsZW1lbnQpOwogICAgICAgICB2b2lkIGF0dGFj
aFNoYWRvd1RyZWUoKTsKIAogICAgICAgICAvLyAiVHJlZSBjb25uZWN0b3IiIApJbmRleDogV2Vi
Q29yZS9rc3ZnMi9zdmcvU1ZHVXNlRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9r
c3ZnMi9zdmcvU1ZHVXNlRWxlbWVudC5jcHAJKHJldmlzaW9uIDI0MzAzKQorKysgV2ViQ29yZS9r
c3ZnMi9zdmcvU1ZHVXNlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIyNCw5ICsyMjQs
MTggQEAKIH0KICNlbmRpZgogCitzdGF0aWMgYm9vbCBpc0Rpc2FsbG93ZWRFbGVtZW50KE5vZGUq
IGVsZW1lbnQpCit7CisgICAgLy8gPGZvcmVpZ25PYmplY3Q+IHNob3VsZCBuZXZlciBiZSBjb250
YWluZWQgaW4gYSA8dXNlPiB0cmVlLiBUb28gZGFuZ2Vyb3VzIHNpZGUgZWZmZWN0cyBwb3NzaWJs
ZS4KKyAgICBpZiAoZWxlbWVudC0+aGFzVGFnTmFtZShTVkdOYW1lczo6Zm9yZWlnbk9iamVjdFRh
ZykpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgcmV0dXJuIGZhbHNlOworfQorCiBzdGF0
aWMgYm9vbCBzdWJ0cmVlQ29udGFpbnNEaXNhbGxvd2VkRWxlbWVudChOb2RlKiBzdGFydCkKIHsK
LSAgICBpZiAoc3RhcnQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OmZvcmVpZ25PYmplY3RUYWcpKQor
ICAgIGlmIChpc0Rpc2FsbG93ZWRFbGVtZW50KHN0YXJ0KSkKICAgICAgICAgcmV0dXJuIHRydWU7
CiAKICAgICBmb3IgKE5vZGUqIGN1ciA9IHN0YXJ0LT5maXJzdENoaWxkKCk7IGN1cjsgY3VyID0g
Y3VyLT5uZXh0U2libGluZygpKSB7CkBAIC0yNTMsMTEgKzI2MiwxMyBAQAogICAgIEVsZW1lbnQq
IHRhcmdldEVsZW1lbnQgPSBvd25lckRvY3VtZW50KCktPmdldEVsZW1lbnRCeUlkKGlkKTsgCiAg
ICAgU1ZHRWxlbWVudCogdGFyZ2V0ID0gc3ZnX2R5bmFtaWNfY2FzdCh0YXJnZXRFbGVtZW50KTsK
IAotICAgIC8vIERvIG5vdCBhbGxvdyBzZWxmLXJlZmVyZW5jaW5nLiBBbHNvIGV4cGxpY2l0ZWx5
IGRpc2FsbG93Ci0gICAgLy8gPHVzZT4gb24gPGZvcmVpZ25PYmplY3Q+LCBhcyB0aGF0IGNvdWxk
IGxlYWQgdG8gbmFzdHkgYnVncy4KKyAgICAvLyBEbyBub3QgYWxsb3cgc2VsZi1yZWZlcmVuY2lu
Zy4KICAgICAvLyAndGFyZ2V0JyBtYXkgYmUgbnVsbCwgaWYgaXQncyBhIG5vbiBTVkcgbmFtZXNw
YWNlZCBlbGVtZW50LgotICAgIGlmICghdGFyZ2V0IHx8IHRhcmdldCA9PSB0aGlzIHx8IHN1YnRy
ZWVDb250YWluc0Rpc2FsbG93ZWRFbGVtZW50KHRhcmdldCkpCisgICAgaWYgKCF0YXJnZXQgfHwg
dGFyZ2V0ID09IHRoaXMpIHsKKyAgICAgICAgbV90YXJnZXRFbGVtZW50SW5zdGFuY2UgPSAwOwor
ICAgICAgICBtX3NoYWRvd1RyZWVSb290RWxlbWVudCA9IDA7CiAgICAgICAgIHJldHVybjsKKyAg
ICB9CiAKICAgICAvLyBXaHkgYSBzZXBlcmF0ZWQgaW5zdGFuY2Uvc2hhZG93IHRyZWU/IFNWRyBk
ZW1hbmRzIGl0OgogICAgIC8vIFRoZSBpbnN0YW5jZSB0cmVlIGlzIGFjY2VzYWJsZSBmcm9tIEph
dmFTY3JpcHQsIGFuZCBoYXMgdG8KQEAgLTMwOCw2ICszMTksMTAgQEAKICAgICAvLyBFeHBhbmQg
bWVhbnM6IHJlcGxhY2UgdGhlIGFjdHVhbCA8dXNlPiBlbGVtZW50IGJ5IHdoYXQgaXQgcmVmZXJl
bmNlcy4KICAgICBleHBhbmRVc2VFbGVtZW50c0luU2hhZG93VHJlZShtX3NoYWRvd1RyZWVSb290
RWxlbWVudC5nZXQoKSk7CiAKKyAgICAvLyBFeHBhbmQgYWxsIDxzeW1ib2w+IGVsZW1lbnRzIGlu
IHRoZSBzaGFkb3cgdHJlZS4KKyAgICAvLyBFeHBhbmQgbWVhbnM6IHJlcGxhY2UgdGhlIGFjdHVh
bCA8c3ltYm9sPiBlbGVtZW50IGJ5IHRoZSA8c3ZnPiBlbGVtZW50LgorICAgIGV4cGFuZFN5bWJv
bEVsZW1lbnRzSW5TaGFkb3dUcmVlKG1fc2hhZG93VHJlZVJvb3RFbGVtZW50LmdldCgpKTsKKwog
ICAgIC8vIE5vdyB0aGF0IHRoZSBzaGFkb3cgdHJlZSBpcyBjb21wbGV0bHkgZXhwYW5kZWQsIHdl
IGNhbiBhc3NvY2lhdGUKICAgICAvLyBzaGFkb3cgdHJlZSBlbGVtZW50cyA8LT4gaW5zdGFuY2Vz
IGluIHRoZSBpbnN0YW5jZSB0cmVlLgogICAgIGFzc29jaWF0ZUluc3RhbmNlc1dpdGhTaGFkb3dU
cmVlRWxlbWVudHMobV9zaGFkb3dUcmVlUm9vdEVsZW1lbnQtPmZpcnN0Q2hpbGQoKSwgbV90YXJn
ZXRFbGVtZW50SW5zdGFuY2UuZ2V0KCkpOwpAQCAtMzU1LDExICszNzAsNiBAQAogICAgIEFTU0VS
VCh0YXJnZXQpOwogICAgIEFTU0VSVCh0YXJnZXRJbnN0YW5jZSk7CiAKLSAgICBpZiAoc3VidHJl
ZUNvbnRhaW5zRGlzYWxsb3dlZEVsZW1lbnQodGFyZ2V0KSkgewotICAgICAgICBmb3VuZFByb2Js
ZW0gPSB0cnVlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCiAgICAgLy8gQSBnZW5lcmFsIGRl
c2NyaXB0aW9uIGZyb20gdGhlIFNWRyBzcGVjLCBkZXNjcmliaW5nIHdoYXQgYnVpbGRJbnN0YW5j
ZVRyZWUoKSBhY3R1YWxseSBkb2VzLgogICAgIC8vCiAgICAgLy8gU3BlYzogSWYgdGhlICd1c2Un
IGVsZW1lbnQgcmVmZXJlbmNlcyBhICdnJyB3aGljaCBjb250YWlucyB0d28gJ3JlY3QnIGVsZW1l
bnRzLCB0aGVuIHRoZSBpbnN0YW5jZSB0cmVlCkBAIC0zNzEsNyArMzgxLDcgQEAKICAgICAgICAg
U1ZHRWxlbWVudCogZWxlbWVudCA9IHN2Z19keW5hbWljX2Nhc3Qobm9kZSk7CiAKICAgICAgICAg
Ly8gU2tpcCBhbnkgbm9uLXN2ZyBub2RlcyBvciBhbnkgZGlzYWxsb3dlZCBlbGVtZW50LgotICAg
ICAgICBpZiAoIWVsZW1lbnQpCisgICAgICAgIGlmICghZWxlbWVudCB8fCBpc0Rpc2FsbG93ZWRF
bGVtZW50KGVsZW1lbnQpKQogICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgLy8gQ3Jl
YXRlIFNWR0VsZW1lbnRJbnN0YW5jZSBvYmplY3QsIGZvciBib3RoIGNvbnRhaW5lci9ub24tY29u
dGFpbmVyIG5vZGVzLgpAQCAtNDMyLDQ4ICs0NDIsNiBAQAogICAgIGJ1aWxkSW5zdGFuY2VUcmVl
KHRhcmdldCwgbmV3SW5zdGFuY2UsIGZvdW5kUHJvYmxlbSk7CiB9CiAKLVBhc3NSZWZQdHI8U1ZH
U1ZHRWxlbWVudD4gU1ZHVXNlRWxlbWVudDo6YnVpbGRTaGFkb3dUcmVlRm9yU3ltYm9sVGFnKFNW
R0VsZW1lbnQqIHRhcmdldCwgU1ZHRWxlbWVudEluc3RhbmNlKiB0YXJnZXRJbnN0YW5jZSkKLXsK
LSAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKLQotICAgIFN0cmluZyB3aWR0aFN0cmluZyA9IFN0
cmluZzo6bnVtYmVyKHdpZHRoKCkudmFsdWUoKSk7Ci0gICAgU3RyaW5nIGhlaWdodFN0cmluZyA9
IFN0cmluZzo6bnVtYmVyKGhlaWdodCgpLnZhbHVlKCkpOwotIAotICAgIC8vIFNwZWM6IFRoZSBy
ZWZlcmVuY2VkICdzeW1ib2wnIGFuZCBpdHMgY29udGVudHMgYXJlIGRlZXAtY2xvbmVkIGludG8g
dGhlIGdlbmVyYXRlZCB0cmVlLAotICAgIC8vIHdpdGggdGhlIGV4Y2VwdGlvbiB0aGF0IHRoZSAn
c3ltYm9sJyBpcyByZXBsYWNlZCBieSBhbiAnc3ZnJy4gVGhpcyBnZW5lcmF0ZWQgJ3N2Zycgd2ls
bAotICAgIC8vIGFsd2F5cyBoYXZlIGV4cGxpY2l0IHZhbHVlcyBmb3IgYXR0cmlidXRlcyB3aWR0
aCBhbmQgaGVpZ2h0LiBJZiBhdHRyaWJ1dGVzIHdpZHRoIGFuZC9vcgotICAgIC8vIGhlaWdodCBh
cmUgcHJvdmlkZWQgb24gdGhlICd1c2UnIGVsZW1lbnQsIHRoZW4gdGhlc2UgYXR0cmlidXRlcyB3
aWxsIGJlIHRyYW5zZmVycmVkIHRvCi0gICAgLy8gdGhlIGdlbmVyYXRlZCAnc3ZnJy4gSWYgYXR0
cmlidXRlcyB3aWR0aCBhbmQvb3IgaGVpZ2h0IGFyZSBub3Qgc3BlY2lmaWVkLCB0aGUgZ2VuZXJh
dGVkCi0gICAgLy8gJ3N2ZycgZWxlbWVudCB3aWxsIHVzZSB2YWx1ZXMgb2YgMTAwJSBmb3IgdGhl
c2UgYXR0cmlidXRlcy4KLSAgICBSZWZQdHI8U1ZHU1ZHRWxlbWVudD4gc3ZnRWxlbWVudCA9IG5l
dyBTVkdTVkdFbGVtZW50KFNWR05hbWVzOjpzdmdUYWcsIGRvY3VtZW50KCkpOwotCi0gICAgLy8g
VHJhbnNmZXIgYWxsIGF0dHJpYnV0ZXMgZnJvbSA8c3ltYm9sPiB0byB0aGUgbmV3IDxzdmc+IGVs
ZW1lbnQKLSAgICAqc3ZnRWxlbWVudC0+YXR0cmlidXRlcygpID0gKnRhcmdldC0+YXR0cmlidXRl
cygpOwotCi0gICAgLy8gRXhwbGljaXRseSByZS1zZXQgd2lkdGgvaGVpZ2h0IHZhbHVlcwotICAg
IHN2Z0VsZW1lbnQtPnNldEF0dHJpYnV0ZShTVkdOYW1lczo6d2lkdGhBdHRyLCBoYXNBdHRyaWJ1
dGUoU1ZHTmFtZXM6OndpZHRoQXR0cikgPyB3aWR0aFN0cmluZyA6ICIxMDAlIik7Ci0gICAgc3Zn
RWxlbWVudC0+c2V0QXR0cmlidXRlKFNWR05hbWVzOjpoZWlnaHRBdHRyLCBoYXNBdHRyaWJ1dGUo
U1ZHTmFtZXM6OmhlaWdodEF0dHIpID8gaGVpZ2h0U3RyaW5nIDogIjEwMCUiKTsKLQotICAgIC8v
IE9ubHkgY2xvbmUgc3ltYm9sIGNoaWxkcmVuLCBhbmQgYWRkIHRoZW0gdG8gdGhlIG5ldyA8c3Zn
PiBlbGVtZW50ICAgIAotICAgIGlmICh0YXJnZXRJbnN0YW5jZSkgewotICAgICAgICAvLyBDYWxs
ZWQgZnJvbSBidWlsZFNoYWRvd1RyZWUoKQotICAgICAgICBmb3IgKFNWR0VsZW1lbnRJbnN0YW5j
ZSogaW5zdGFuY2UgPSB0YXJnZXRJbnN0YW5jZS0+Zmlyc3RDaGlsZCgpOyBpbnN0YW5jZTsgaW5z
dGFuY2UgPSBpbnN0YW5jZS0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICAgICAgUmVmUHRyPE5v
ZGU+IG5ld0NoaWxkID0gaW5zdGFuY2UtPmNvcnJlc3BvbmRpbmdFbGVtZW50KCktPmNsb25lTm9k
ZSh0cnVlKTsKLSAgICAgICAgICAgIHN2Z0VsZW1lbnQtPmFwcGVuZENoaWxkKG5ld0NoaWxkLnJl
bGVhc2UoKSwgZWMpOwotICAgICAgICAgICAgQVNTRVJUKGVjID09IDApOwotICAgICAgICB9Ci0g
ICAgfSBlbHNlIHsKLSAgICAgICAgLy8gQ2FsbGVkIGZyb20gZXhwYW5kVXNlRWxlbWVudHNJblNo
YWRvd1RyZWUoKQotICAgICAgICBmb3IgKE5vZGUqIGNoaWxkID0gdGFyZ2V0LT5maXJzdENoaWxk
KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgICAgICBS
ZWZQdHI8Tm9kZT4gbmV3Q2hpbGQgPSBjaGlsZC0+Y2xvbmVOb2RlKHRydWUpOwotICAgICAgICAg
ICAgc3ZnRWxlbWVudC0+YXBwZW5kQ2hpbGQobmV3Q2hpbGQucmVsZWFzZSgpLCBlYyk7Ci0gICAg
ICAgICAgICBBU1NFUlQoZWMgPT0gMCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICByZXR1cm4g
c3ZnRWxlbWVudDsKLX0KLQogdm9pZCBTVkdVc2VFbGVtZW50OjphbHRlclNoYWRvd1RyZWVGb3JT
VkdUYWcoU1ZHRWxlbWVudCogdGFyZ2V0KQogewogICAgIFN0cmluZyB3aWR0aFN0cmluZyA9IFN0
cmluZzo6bnVtYmVyKHdpZHRoKCkudmFsdWUoKSk7CkBAIC00ODYsMjEgKzQ1NCw0NCBAQAogICAg
ICAgICB0YXJnZXQtPnNldEF0dHJpYnV0ZShTVkdOYW1lczo6aGVpZ2h0QXR0ciwgaGVpZ2h0U3Ry
aW5nKTsKIH0KIAotdm9pZCBTVkdVc2VFbGVtZW50OjpidWlsZFNoYWRvd1RyZWUoU1ZHRWxlbWVu
dCogdGFyZ2V0LCBTVkdFbGVtZW50SW5zdGFuY2UqIHRhcmdldEluc3RhbmNlKQordm9pZCBTVkdV
c2VFbGVtZW50OjpyZW1vdmVEaXNhbGxvd2VkRWxlbWVudHNGcm9tU3VidHJlZShOb2RlKiBlbGVt
ZW50KQogewogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogCi0gICAgUmVmUHRyPE5vZGU+IG5l
d0NoaWxkOworICAgIGZvciAoUmVmUHRyPE5vZGU+IGNoaWxkID0gZWxlbWVudC0+Zmlyc3RDaGls
ZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKSkgeworICAgICAgICBpZiAo
aXNEaXNhbGxvd2VkRWxlbWVudChjaGlsZC5nZXQoKSkpIHsKKyAgICAgICAgICAgIEFTU0VSVChj
aGlsZC0+cGFyZW50KCkpOworICAgICAgICAgICAgY2hpbGQtPnBhcmVudCgpLT5yZW1vdmVDaGls
ZChjaGlsZC5nZXQoKSwgZWMpOworICAgICAgICAgICAgQVNTRVJUKGVjID09IDApOwogCi0gICAg
Ly8gSGFuZGxlIHVzZSByZWZlcmVuY2luZyA8c3ltYm9sPiBzcGVjaWFsIGNhc2UKLSAgICBpZiAo
dGFyZ2V0LT5oYXNUYWdOYW1lKFNWR05hbWVzOjpzeW1ib2xUYWcpKQotICAgICAgICBuZXdDaGls
ZCA9IGJ1aWxkU2hhZG93VHJlZUZvclN5bWJvbFRhZyh0YXJnZXQsIHRhcmdldEluc3RhbmNlKTsK
LSAgICBlbHNlCi0gICAgICAgIG5ld0NoaWxkID0gdGFyZ2V0SW5zdGFuY2UtPmNvcnJlc3BvbmRp
bmdFbGVtZW50KCktPmNsb25lTm9kZSh0cnVlKTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICB9CiAKKyAgICAgICAgaWYgKGNoaWxkLT5oYXNDaGlsZE5vZGVzKCkpCisgICAgICAgICAg
ICByZW1vdmVEaXNhbGxvd2VkRWxlbWVudHNGcm9tU3VidHJlZShjaGlsZC5nZXQoKSk7CisgICAg
fQorfQorCit2b2lkIFNWR1VzZUVsZW1lbnQ6OmJ1aWxkU2hhZG93VHJlZShTVkdFbGVtZW50KiB0
YXJnZXQsIFNWR0VsZW1lbnRJbnN0YW5jZSogdGFyZ2V0SW5zdGFuY2UpCit7CisgICAgLy8gRm9y
IGluc3RhbmNlIDx1c2U+IG9uIDxmb3JlaWduT2JqZWN0PiAoZGlyZWN0IGNhc2UpLgorICAgIGlm
IChpc0Rpc2FsbG93ZWRFbGVtZW50KHRhcmdldCkpCisgICAgICAgIHJldHVybjsKKworICAgIFJl
ZlB0cjxOb2RlPiBuZXdDaGlsZCA9IHRhcmdldEluc3RhbmNlLT5jb3JyZXNwb25kaW5nRWxlbWVu
dCgpLT5jbG9uZU5vZGUodHJ1ZSk7CisKKyAgICAvLyBXZSBkb24ndCB3YWxrIHRoZSB0YXJnZXQg
dHJlZSBlbGVtZW50LWJ5LWVsZW1lbnQsIGFuZCBjbG9uZSBlYWNoIGVsZW1lbnQsCisgICAgLy8g
YnV0IGluc3RlYWQgdXNlIGNsb25lTm9kZShkZWVwPXRydWUpLiBUaGlzIGlzIGFuIG9wdGltaXph
dGlvbiBmb3IgdGhlIGNvbW1vbgorICAgIC8vIGNhc2Ugd2hlcmUgPHVzZT4gZG9lc24ndCBjb250
YWluIGRpc2FsbG93ZWQgZWxlbWVudHMgKGllLiA8Zm9yZWlnbk9iamVjdD4pLgorICAgIC8vIFRo
b3VnaCBpZiB0aGVyZSBhcmUgZGlzYWxsb3dlZCBlbGVtZW50cyBpbiB0aGUgc3VidHJlZSwgd2Ug
aGF2ZSB0byByZW1vdmUgdGhlbS4KKyAgICAvLyBGb3IgaW5zdGFuY2U6IDx1c2U+IG9uIDxnPiBj
b250YWluaW5nIDxmb3JlaWduT2JqZWN0PiAoaW5kaXJlY3QgY2FzZSkuCisgICAgaWYgKHN1YnRy
ZWVDb250YWluc0Rpc2FsbG93ZWRFbGVtZW50KG5ld0NoaWxkLmdldCgpKSkKKyAgICAgICAgcmVt
b3ZlRGlzYWxsb3dlZEVsZW1lbnRzRnJvbVN1YnRyZWUobmV3Q2hpbGQuZ2V0KCkpOworCiAgICAg
U1ZHRWxlbWVudCogbmV3Q2hpbGRQdHIgPSBzdmdfZHluYW1pY19jYXN0KG5ld0NoaWxkLmdldCgp
KTsKICAgICBBU1NFUlQobmV3Q2hpbGRQdHIpOwogCisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7
CiAgICAgbV9zaGFkb3dUcmVlUm9vdEVsZW1lbnQtPmFwcGVuZENoaWxkKG5ld0NoaWxkLnJlbGVh
c2UoKSwgZWMpOwogICAgIEFTU0VSVChlYyA9PSAwKTsKIApAQCAtNTQ4LDE4ICs1MzksMzIgQEAK
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIFJlZlB0cjxO
b2RlPiBuZXdDaGlsZDsKKyAgICAgICAgICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworIAorICAg
ICAgICAgICAgLy8gRm9yIGluc3RhbmNlIDx1c2U+IG9uIDxmb3JlaWduT2JqZWN0PiAoZGlyZWN0
IGNhc2UpLgorICAgICAgICAgICAgaWYgKGlzRGlzYWxsb3dlZEVsZW1lbnQodGFyZ2V0KSkgewor
ICAgICAgICAgICAgICAgIC8vIFdlIHN0aWxsIGhhdmUgdG8gc2V0dXAgdGhlIDx1c2U+IHJlcGxh
Y21lbnQgKDxnPikuIE90aGVyd2hpc2UKKyAgICAgICAgICAgICAgICAvLyBhc3NvY2lhdGVJbnN0
YW5jZXNXaXRoU2hhZG93VHJlZUVsZW1lbnRzKCkgbWFrZXMgd3JvbmcgYXNzdW1wdGlvbnMuCisg
ICAgICAgICAgICAgICAgLy8gUmVwbGFjZSA8dXNlPiB3aXRoIHJlZmVyZW5jZWQgY29udGVudC4K
KyAgICAgICAgICAgICAgICBBU1NFUlQodXNlLT5wYXJlbnROb2RlKCkpOyAKKyAgICAgICAgICAg
ICAgICB1c2UtPnBhcmVudE5vZGUoKS0+cmVwbGFjZUNoaWxkKGNsb25lUGFyZW50LnJlbGVhc2Uo
KSwgdXNlLCBlYyk7CisgICAgICAgICAgICAgICAgQVNTRVJUKGVjID09IDApOworICAgICAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgLy8gSGFuZGxlIHVz
ZSByZWZlcmVuY2luZyA8c3ltYm9sPiBzcGVjaWFsIGNhc2UKLSAgICAgICAgICAgIGlmICh0YXJn
ZXQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnN5bWJvbFRhZykpCi0gICAgICAgICAgICAgICAgbmV3
Q2hpbGQgPSBidWlsZFNoYWRvd1RyZWVGb3JTeW1ib2xUYWcodGFyZ2V0LCAwKTsKLSAgICAgICAg
ICAgIGVsc2UKLSAgICAgICAgICAgICAgICBuZXdDaGlsZCA9IHRhcmdldC0+Y2xvbmVOb2RlKHRy
dWUpOworICAgICAgICAgICAgUmVmUHRyPE5vZGU+IG5ld0NoaWxkID0gdGFyZ2V0LT5jbG9uZU5v
ZGUodHJ1ZSk7CiAKKyAgICAgICAgICAgIC8vIFdlIGRvbid0IHdhbGsgdGhlIHRhcmdldCB0cmVl
IGVsZW1lbnQtYnktZWxlbWVudCwgYW5kIGNsb25lIGVhY2ggZWxlbWVudCwKKyAgICAgICAgICAg
IC8vIGJ1dCBpbnN0ZWFkIHVzZSBjbG9uZU5vZGUoZGVlcD10cnVlKS4gVGhpcyBpcyBhbiBvcHRp
bWl6YXRpb24gZm9yIHRoZSBjb21tb24KKyAgICAgICAgICAgIC8vIGNhc2Ugd2hlcmUgPHVzZT4g
ZG9lc24ndCBjb250YWluIGRpc2FsbG93ZWQgZWxlbWVudHMgKGllLiA8Zm9yZWlnbk9iamVjdD4p
LgorICAgICAgICAgICAgLy8gVGhvdWdoIGlmIHRoZXJlIGFyZSBkaXNhbGxvd2VkIGVsZW1lbnRz
IGluIHRoZSBzdWJ0cmVlLCB3ZSBoYXZlIHRvIHJlbW92ZSB0aGVtLgorICAgICAgICAgICAgLy8g
Rm9yIGluc3RhbmNlOiA8dXNlPiBvbiA8Zz4gY29udGFpbmluZyA8Zm9yZWlnbk9iamVjdD4gKGlu
ZGlyZWN0IGNhc2UpLgorICAgICAgICAgICAgaWYgKHN1YnRyZWVDb250YWluc0Rpc2FsbG93ZWRF
bGVtZW50KG5ld0NoaWxkLmdldCgpKSkKKyAgICAgICAgICAgICAgICByZW1vdmVEaXNhbGxvd2Vk
RWxlbWVudHNGcm9tU3VidHJlZShuZXdDaGlsZC5nZXQoKSk7CisKICAgICAgICAgICAgIFNWR0Vs
ZW1lbnQqIG5ld0NoaWxkUHRyID0gc3ZnX2R5bmFtaWNfY2FzdChuZXdDaGlsZC5nZXQoKSk7CiAg
ICAgICAgICAgICBBU1NFUlQobmV3Q2hpbGRQdHIpOwogCi0gICAgICAgICAgICBFeGNlcHRpb25D
b2RlIGVjID0gMDsKICAgICAgICAgICAgIGNsb25lUGFyZW50LT5hcHBlbmRDaGlsZChuZXdDaGls
ZC5yZWxlYXNlKCksIGVjKTsKICAgICAgICAgICAgIEFTU0VSVChlYyA9PSAwKTsKIApAQCAtNTgy
LDYgKzU4Nyw1OCBAQAogICAgICAgICBleHBhbmRVc2VFbGVtZW50c0luU2hhZG93VHJlZShjaGls
ZC5nZXQoKSk7CiB9CiAKK3ZvaWQgU1ZHVXNlRWxlbWVudDo6ZXhwYW5kU3ltYm9sRWxlbWVudHNJ
blNoYWRvd1RyZWUoTm9kZSogZWxlbWVudCkKK3sKKyAgICBpZiAoZWxlbWVudC0+aGFzVGFnTmFt
ZShTVkdOYW1lczo6c3ltYm9sVGFnKSkgeworICAgICAgICAvLyBTcGVjOiBUaGUgcmVmZXJlbmNl
ZCAnc3ltYm9sJyBhbmQgaXRzIGNvbnRlbnRzIGFyZSBkZWVwLWNsb25lZCBpbnRvIHRoZSBnZW5l
cmF0ZWQgdHJlZSwKKyAgICAgICAgLy8gd2l0aCB0aGUgZXhjZXB0aW9uIHRoYXQgdGhlICdzeW1i
b2wnIGlzIHJlcGxhY2VkIGJ5IGFuICdzdmcnLiBUaGlzIGdlbmVyYXRlZCAnc3ZnJyB3aWxsCisg
ICAgICAgIC8vIGFsd2F5cyBoYXZlIGV4cGxpY2l0IHZhbHVlcyBmb3IgYXR0cmlidXRlcyB3aWR0
aCBhbmQgaGVpZ2h0LiBJZiBhdHRyaWJ1dGVzIHdpZHRoIGFuZC9vcgorICAgICAgICAvLyBoZWln
aHQgYXJlIHByb3ZpZGVkIG9uIHRoZSAndXNlJyBlbGVtZW50LCB0aGVuIHRoZXNlIGF0dHJpYnV0
ZXMgd2lsbCBiZSB0cmFuc2ZlcnJlZCB0bworICAgICAgICAvLyB0aGUgZ2VuZXJhdGVkICdzdmcn
LiBJZiBhdHRyaWJ1dGVzIHdpZHRoIGFuZC9vciBoZWlnaHQgYXJlIG5vdCBzcGVjaWZpZWQsIHRo
ZSBnZW5lcmF0ZWQKKyAgICAgICAgLy8gJ3N2ZycgZWxlbWVudCB3aWxsIHVzZSB2YWx1ZXMgb2Yg
MTAwJSBmb3IgdGhlc2UgYXR0cmlidXRlcy4KKyAgICAgICAgUmVmUHRyPFNWR1NWR0VsZW1lbnQ+
IHN2Z0VsZW1lbnQgPSBuZXcgU1ZHU1ZHRWxlbWVudChTVkdOYW1lczo6c3ZnVGFnLCBkb2N1bWVu
dCgpKTsKKworICAgICAgICAvLyBUcmFuc2ZlciBhbGwgYXR0cmlidXRlcyBmcm9tIDxzeW1ib2w+
IHRvIHRoZSBuZXcgPHN2Zz4gZWxlbWVudAorICAgICAgICAqc3ZnRWxlbWVudC0+YXR0cmlidXRl
cygpID0gKmVsZW1lbnQtPmF0dHJpYnV0ZXMoKTsKKworICAgICAgICAvLyBFeHBsaWNpdGx5IHJl
LXNldCB3aWR0aC9oZWlnaHQgdmFsdWVzCisgICAgICAgIFN0cmluZyB3aWR0aFN0cmluZyA9IFN0
cmluZzo6bnVtYmVyKHdpZHRoKCkudmFsdWUoKSk7CisgICAgICAgIFN0cmluZyBoZWlnaHRTdHJp
bmcgPSBTdHJpbmc6Om51bWJlcihoZWlnaHQoKS52YWx1ZSgpKTsgCisKKyAgICAgICAgc3ZnRWxl
bWVudC0+c2V0QXR0cmlidXRlKFNWR05hbWVzOjp3aWR0aEF0dHIsIGhhc0F0dHJpYnV0ZShTVkdO
YW1lczo6d2lkdGhBdHRyKSA/IHdpZHRoU3RyaW5nIDogIjEwMCUiKTsKKyAgICAgICAgc3ZnRWxl
bWVudC0+c2V0QXR0cmlidXRlKFNWR05hbWVzOjpoZWlnaHRBdHRyLCBoYXNBdHRyaWJ1dGUoU1ZH
TmFtZXM6OmhlaWdodEF0dHIpID8gaGVpZ2h0U3RyaW5nIDogIjEwMCUiKTsKKworICAgICAgICBF
eGNlcHRpb25Db2RlIGVjID0gMDsKKworICAgICAgICAvLyBPbmx5IGNsb25lIHN5bWJvbCBjaGls
ZHJlbiwgYW5kIGFkZCB0aGVtIHRvIHRoZSBuZXcgPHN2Zz4gZWxlbWVudCAgICAKKyAgICAgICAg
Zm9yIChOb2RlKiBjaGlsZCA9IGVsZW1lbnQtPmZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0g
Y2hpbGQtPm5leHRTaWJsaW5nKCkpIHsKKyAgICAgICAgICAgIFJlZlB0cjxOb2RlPiBuZXdDaGls
ZCA9IGNoaWxkLT5jbG9uZU5vZGUodHJ1ZSk7CisgICAgICAgICAgICBzdmdFbGVtZW50LT5hcHBl
bmRDaGlsZChuZXdDaGlsZC5yZWxlYXNlKCksIGVjKTsKKyAgICAgICAgICAgIEFTU0VSVChlYyA9
PSAwKTsKKyAgICAgICAgfQorICAgIAorICAgICAgICAvLyBXZSBkb24ndCB3YWxrIHRoZSB0YXJn
ZXQgdHJlZSBlbGVtZW50LWJ5LWVsZW1lbnQsIGFuZCBjbG9uZSBlYWNoIGVsZW1lbnQsCisgICAg
ICAgIC8vIGJ1dCBpbnN0ZWFkIHVzZSBjbG9uZU5vZGUoZGVlcD10cnVlKS4gVGhpcyBpcyBhbiBv
cHRpbWl6YXRpb24gZm9yIHRoZSBjb21tb24KKyAgICAgICAgLy8gY2FzZSB3aGVyZSA8dXNlPiBk
b2Vzbid0IGNvbnRhaW4gZGlzYWxsb3dlZCBlbGVtZW50cyAoaWUuIDxmb3JlaWduT2JqZWN0Piku
CisgICAgICAgIC8vIFRob3VnaCBpZiB0aGVyZSBhcmUgZGlzYWxsb3dlZCBlbGVtZW50cyBpbiB0
aGUgc3VidHJlZSwgd2UgaGF2ZSB0byByZW1vdmUgdGhlbS4KKyAgICAgICAgLy8gRm9yIGluc3Rh
bmNlOiA8dXNlPiBvbiA8Zz4gY29udGFpbmluZyA8Zm9yZWlnbk9iamVjdD4gKGluZGlyZWN0IGNh
c2UpLgorICAgICAgICBpZiAoc3VidHJlZUNvbnRhaW5zRGlzYWxsb3dlZEVsZW1lbnQoc3ZnRWxl
bWVudC5nZXQoKSkpCisgICAgICAgICAgICByZW1vdmVEaXNhbGxvd2VkRWxlbWVudHNGcm9tU3Vi
dHJlZShzdmdFbGVtZW50LmdldCgpKTsKKworICAgICAgICAvLyBSZXBsYWNlIDxzeW1ib2w+IHdp
dGggPHN2Zz4uCisgICAgICAgIEFTU0VSVChlbGVtZW50LT5wYXJlbnROb2RlKCkpOyAKKyAgICAg
ICAgZWxlbWVudC0+cGFyZW50Tm9kZSgpLT5yZXBsYWNlQ2hpbGQoc3ZnRWxlbWVudC5yZWxlYXNl
KCksIGVsZW1lbnQsIGVjKTsKKyAgICAgICAgQVNTRVJUKGVjID09IDApOworCisgICAgICAgIC8v
IEltbWVkaWF0ZWx5IHN0b3AgaGVyZSwgYW5kIHJlc3RhcnQgZXhwYW5kaW5nLgorICAgICAgICBl
eHBhbmRTeW1ib2xFbGVtZW50c0luU2hhZG93VHJlZShtX3NoYWRvd1RyZWVSb290RWxlbWVudC5n
ZXQoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBmb3IgKFJlZlB0cjxOb2RlPiBj
aGlsZCA9IGVsZW1lbnQtPmZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRT
aWJsaW5nKCkpCisgICAgICAgIGV4cGFuZFN5bWJvbEVsZW1lbnRzSW5TaGFkb3dUcmVlKGNoaWxk
LmdldCgpKTsKK30KKwogdm9pZCBTVkdVc2VFbGVtZW50OjphdHRhY2hTaGFkb3dUcmVlKCkKIHsK
ICAgICBpZiAoIW1fc2hhZG93VHJlZVJvb3RFbGVtZW50IHx8IG1fc2hhZG93VHJlZVJvb3RFbGVt
ZW50LT5hdHRhY2hlZCgpIHx8ICFkb2N1bWVudCgpLT5zaG91bGRDcmVhdGVSZW5kZXJlcnMoKSB8
fCAhYXR0YWNoZWQoKSB8fCAhcmVuZGVyZXIoKSkKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0MzAzKQor
KysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjcgQEAK
KzIwMDctMDctMTYgIE5pa29sYXMgWmltbWVybWFubiAgPHppbW1lcm1hbm5Aa2RlLm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBSb2IuCisKKyAgICAgICAgTGFuZCBuZXcgbGF5b3V0IHRlc3Rz
IHJlbGF0ZWQgdG8gbmV3IDx1c2U+IGJlaGF2aW91ciBvbiBkaXNhbGxvd2VkIGVsZW1lbnRzICYg
c3ltYm9scy4KKyAgICAgICAgQWRkIG5ldyBsYXlvdXQgdGVzdHMgY2hlY2tpbmcgbmV3IDx1c2U+
IG9uIDxmb3JlaWduT2JqZWN0PiBiZWhhdmlvdXIKKyAgICAKKyAgICAgICAgKiBzdmcvY3VzdG9t
L3VzZS1zY3JpcHRpbmctY2hhbmdlcy10by1ub25leGlzdGFudC1ocmVmLWV4cGVjdGVkLmNoZWNr
c3VtOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL3VzZS1zY3JpcHRpbmctY2hhbmdlcy10
by1ub25leGlzdGFudC1ocmVmLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogc3ZnL2N1
c3RvbS91c2Utc2NyaXB0aW5nLWNoYW5nZXMtdG8tbm9uZXhpc3RhbnQtaHJlZi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vdXNlLXNjcmlwdGluZy1jaGFuZ2VzLXRv
LW5vbmV4aXN0YW50LWhyZWYuc3ZnOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL3VzZS1v
bi1nLWNvbnRhaW5pbmctZm9yZWlnbk9iamVjdC1hbmQtaW1hZ2UtZXhwZWN0ZWQuY2hlY2tzdW06
IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vdXNlLW9uLWctY29udGFpbmluZy1mb3JlaWdu
T2JqZWN0LWFuZC1pbWFnZS1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0
b20vdXNlLW9uLWctY29udGFpbmluZy1mb3JlaWduT2JqZWN0LWFuZC1pbWFnZS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vdXNlLW9uLWctY29udGFpbmluZy1mb3Jl
aWduT2JqZWN0LWFuZC1pbWFnZS5zdmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vdXNl
LW9uLWRpc2FsbG93ZWQtZm9yZWlnbi1vYmplY3QtNS1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQu
CisgICAgICAgICogc3ZnL2N1c3RvbS91c2Utb24tZGlzYWxsb3dlZC1mb3JlaWduLW9iamVjdC01
LWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS91c2Utb24tZGlzYWxs
b3dlZC1mb3JlaWduLW9iamVjdC01LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3Zn
L2N1c3RvbS91c2Utb24tZGlzYWxsb3dlZC1mb3JlaWduLW9iamVjdC01LnN2ZzogQWRkZWQuCisg
ICAgICAgICogc3ZnL2N1c3RvbS91c2Utb24tZGlzYWxsb3dlZC1mb3JlaWduLW9iamVjdC02LWV4
cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL3VzZS1vbi1kaXNh
bGxvd2VkLWZvcmVpZ24tb2JqZWN0LTYtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBz
dmcvY3VzdG9tL3VzZS1vbi1kaXNhbGxvd2VkLWZvcmVpZ24tb2JqZWN0LTYtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL3VzZS1vbi1kaXNhbGxvd2VkLWZvcmVpZ24t
b2JqZWN0LTYuc3ZnOiBBZGRlZC4KKwogMjAwNy0wNy0xNSAgTmlrb2xhcyBaaW1tZXJtYW5uICA8
emltbWVybWFubkBrZGUub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFJvYi4KSW5kZXg6IExh
eW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLW9uLWctY29udGFpbmluZy1zeW1ib2wtZXhwZWN0ZWQu
Y2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2Utb24tZy1j
b250YWluaW5nLXN5bWJvbC1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL3N2Zy9jdXN0b20vdXNlLW9uLWctY29udGFpbmluZy1zeW1ib2wtZXhwZWN0ZWQuY2hl
Y2tzdW0JKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKK2UzMzEwNzU2MmRhYTVjN2E1Mzk3ZWQ4
NDAzZmRiYmJjClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS91c2Utb24tZy1jb250YWluaW5nLWZvcmVpZ25PYmplY3QtYW5kLWltYWdlLnN2
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1vbi1nLWNvbnRhaW5p
bmctZm9yZWlnbk9iamVjdC1hbmQtaW1hZ2Uuc3ZnCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS91c2Utb24tZy1jb250YWluaW5nLWZvcmVpZ25PYmplY3QtYW5kLWltYWdl
LnN2ZwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+
Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKKyAgICAgeG1sbnM6eGxp
bms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgorCis8ZGVmcz4KKyAgICA8ZyBpZD0i
Y29udGFpbmVyIj4KKyAgICAgICAgPGZvcmVpZ25PYmplY3QgeD0iMTAiIHk9IjEwIiB3aWR0aD0i
NTgwIiBoZWlnaHQ9IjM4MCIgcmVxdWlyZWRFeHRlbnNpb25zPSJmb29iYXIiLz4KKyAgICAgICAg
PGltYWdlIHhsaW5rOmhyZWY9InJlc291cmNlcy9ncmVlbi1jaGVja2VyLnBuZyIgd2lkdGg9Ijc1
IiBoZWlnaHQ9Ijc1IiAvPgorICAgIDwvZz4KKzwvZGVmcz4KKworPHVzZSB4PSIyNSIgeT0iMjUi
IHhsaW5rOmhyZWY9IiNjb250YWluZXIiLz4KKworPC9zdmc+CkluZGV4OiBMYXlvdXRUZXN0cy9z
dmcvY3VzdG9tL3VzZS1vbi1kaXNhbGxvd2VkLWZvcmVpZ24tb2JqZWN0LTUuc3ZnCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLW9uLWRpc2FsbG93ZWQtZm9yZWlnbi1v
YmplY3QtNS5zdmcJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1v
bi1kaXNhbGxvd2VkLWZvcmVpZ24tb2JqZWN0LTUuc3ZnCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDIxIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMu
b3JnLzIwMDAvc3ZnIgorICAgICB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94
bGluayIKKyAgICAgeG1sbnM6eGh0bWw9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgor
Cis8ZGVmcz4KKyAgICA8c3ltYm9sIGlkPSJzeW1ib2wiIG92ZXJmbG93PSJ2aXNpYmxlIj4KKyAg
ICAgICAgPGZvcmVpZ25PYmplY3QgeD0iMTAiIHk9IjEwIiB3aWR0aD0iNTgwIiBoZWlnaHQ9IjM4
MCIgdHJhbnNmb3JtPSJzY2FsZSg0KSBza2V3WSg1KSBza2V3WCg1KSI+CisgICAgICAgIDx4aHRt
bDpkaXY+WW91IHNob3VsZCBvbmx5IHNlZSB0aGlzIHN0cmluZyBPTkNFPC94aHRtbDpkaXY+Cisg
ICAgICAgIDwvZm9yZWlnbk9iamVjdD4KKyAgICA8L3N5bWJvbD4KKzwvZGVmcz4KKworPGZvcmVp
Z25PYmplY3QgeD0iMTAiIHk9IjEwIiB3aWR0aD0iNTgwIiBoZWlnaHQ9IjM4MCIgdHJhbnNmb3Jt
PSJzY2FsZSg1KSBza2V3WSg1KSBza2V3WCg1KSI+Cis8eGh0bWw6ZGl2PllvdSBzaG91bGQgb25s
eSBzZWUgdGhpcyBzdHJpbmcgT05DRTwveGh0bWw6ZGl2PgorPC9mb3JlaWduT2JqZWN0PgorCis8
dXNlIGlkPSJ0ZXN0IiB4PSIyNSIgeT0iMjUiIHhsaW5rOmhyZWY9IiNzeW1ib2wiLz4KKzx1c2Ug
eD0iMTAiIHk9IjEwIiB4bGluazpocmVmPSIjdGVzdCIvPgorCis8L3N2Zz4KSW5kZXg6IExheW91
dFRlc3RzL3N2Zy9jdXN0b20vdXNlLW9uLWRpc2FsbG93ZWQtZm9yZWlnbi1vYmplY3QtNS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2Utb24tZGlz
YWxsb3dlZC1mb3JlaWduLW9iamVjdC01LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLW9uLWRpc2FsbG93ZWQtZm9yZWlnbi1vYmplY3QtNS1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTYgQEAKK2xheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAsMCkgc2l6
ZSAweDAKKyAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2RlZnN9IGF0ICgwLDApIHNpemUg
MHgwCisgICAgUmVuZGVyRm9yZWlnbk9iamVjdCB7Zm9yZWlnbk9iamVjdH0gYXQgKDAsMCkgc2l6
ZSA1ODB4MzgwCisgICAgICBSZW5kZXJCbG9jayB7eGh0bWw6ZGl2fSBhdCAoMCwwKSBzaXplIDU4
MHgxOAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyNDR4MTgKKyAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyNDQ6ICJZb3Ugc2hvdWxkIG9ubHkgc2Vl
IHRoaXMgc3RyaW5nIE9OQ0UiCisgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgwLDAp
IHNpemUgMHgwCisgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgyNSwyNSkgc2l6ZSAw
eDAgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMjUuMDAsMjUuMDAp
fV0KKyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtzdmd9IGF0ICgyNSwyNSkgc2l6ZSAweDAK
KyAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgIFJl
bmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDEwLDEwKSBzaXplIDB4MCBbdHJhbnNmb3JtPXttPSgo
MS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgxMC4wMCwxMC4wMCl9XQorICAgICAgICBSZW5kZXJT
VkdDb250YWluZXIge2d9IGF0ICgzNSwzNSkgc2l6ZSAweDAgW3RyYW5zZm9ybT17bT0oKDEuMDAs
MC4wMCkoMC4wMCwxLjAwKSkgdD0oMjUuMDAsMjUuMDApfV0KKyAgICAgICAgICBSZW5kZXJTVkdD
b250YWluZXIge3N2Z30gYXQgKDM1LDM1KSBzaXplIDB4MApJbmRleDogTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS91c2Utb24tZGlzYWxsb3dlZC1mb3JlaWduLW9iamVjdC02LnN2Zwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1vbi1kaXNhbGxvd2VkLWZvcmVpZ24tb2Jq
ZWN0LTYuc3ZnCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2Utb24t
ZGlzYWxsb3dlZC1mb3JlaWduLW9iamVjdC02LnN2ZwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwy
MSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9y
Zy8yMDAwL3N2ZyIKKyAgICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxp
bmsiCisgICAgIHhtbG5zOnhodG1sPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KKwor
PGRlZnM+CisgICAgPHN2ZyBpZD0ic3ZnIiBvdmVyZmxvdz0idmlzaWJsZSI+CisgICAgICAgIDxm
b3JlaWduT2JqZWN0IHg9IjEwIiB5PSIxMCIgd2lkdGg9IjU4MCIgaGVpZ2h0PSIzODAiIHRyYW5z
Zm9ybT0ic2NhbGUoNCkgc2tld1koNSkgc2tld1goNSkiPgorICAgICAgICA8eGh0bWw6ZGl2Pllv
dSBzaG91bGQgb25seSBzZWUgdGhpcyBzdHJpbmcgT05DRTwveGh0bWw6ZGl2PgorICAgICAgICA8
L2ZvcmVpZ25PYmplY3Q+CisgICAgPC9zdmc+Cis8L2RlZnM+CisKKzxmb3JlaWduT2JqZWN0IHg9
IjEwIiB5PSIxMCIgd2lkdGg9IjU4MCIgaGVpZ2h0PSIzODAiIHRyYW5zZm9ybT0ic2NhbGUoNSkg
c2tld1koNSkgc2tld1goNSkiPgorPHhodG1sOmRpdj5Zb3Ugc2hvdWxkIG9ubHkgc2VlIHRoaXMg
c3RyaW5nIE9OQ0U8L3hodG1sOmRpdj4KKzwvZm9yZWlnbk9iamVjdD4KKworPHVzZSBpZD0idGVz
dCIgeD0iMjUiIHk9IjI1IiB4bGluazpocmVmPSIjc3ZnIi8+Cis8dXNlIHg9IjEwIiB5PSIxMCIg
eGxpbms6aHJlZj0iI3Rlc3QiLz4KKworPC9zdmc+CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL3VzZS1vbi1kaXNhbGxvd2VkLWZvcmVpZ24tb2JqZWN0LTUtZXhwZWN0ZWQuY2hlY2tzdW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2Utb24tZGlzYWxsb3dlZC1m
b3JlaWduLW9iamVjdC01LWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS91c2Utb24tZGlzYWxsb3dlZC1mb3JlaWduLW9iamVjdC01LWV4cGVj
dGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACitlODE4MDJmNTJhNzNmM2U2
MDE2YzY0ZDYyYWE4NzIzOQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91
dFRlc3RzL3N2Zy9jdXN0b20vdXNlLW9uLWctY29udGFpbmluZy1mb3JlaWduT2JqZWN0LWFuZC1p
bWFnZS1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL3VzZS1vbi1nLWNvbnRhaW5pbmctZm9yZWlnbk9iamVjdC1hbmQtaW1hZ2UtZXhwZWN0ZWQu
Y2hlY2tzdW0JKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1vbi1n
LWNvbnRhaW5pbmctZm9yZWlnbk9iamVjdC1hbmQtaW1hZ2UtZXhwZWN0ZWQuY2hlY2tzdW0JKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKKzBmMjNhMWZiZDM0NWRhNjc2ZTZiYjIwODNjMmE0YWY2
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS91c2Utb24tZGlzYWxsb3dlZC1mb3JlaWduLW9iamVjdC0zLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1vbi1kaXNhbGxvd2VkLWZvcmVpZ24t
b2JqZWN0LTMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNDMwMykKKysrIExheW91dFRlc3RzL3N2
Zy9jdXN0b20vdXNlLW9uLWRpc2FsbG93ZWQtZm9yZWlnbi1vYmplY3QtMy1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTcsNCArNyw3IEBACiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDI0NHgxOAogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRo
IDI0NDogIllvdSBzaG91bGQgb25seSBzZWUgdGhpcyBzdHJpbmcgT05DRSIKICAgICBSZW5kZXJT
VkdDb250YWluZXIge3VzZX0gYXQgKDI1MCwtNTApIHNpemUgMHgwIFt0cmFuc2Zvcm09e209KCgw
LjcxLDAuNzEpKC0wLjcxLDAuNzEpKSB0PSgyNTAuMDAsLTUwLjAwKX1dCisgICAgICBSZW5kZXJT
VkdDb250YWluZXIge2d9IGF0ICgyNTAsLTM1Ljg2KSBzaXplIDB4MCBbdHJhbnNmb3JtPXttPSgo
MS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgxMC4wMCwxMC4wMCl9XQogICAgIFJlbmRlclNWR0Nv
bnRhaW5lciB7dXNlfSBhdCAoMjUwLC01MCkgc2l6ZSAweDAgW3RyYW5zZm9ybT17bT0oKDAuNzEs
MC43MSkoLTAuNzEsMC43MSkpIHQ9KDI1MC4wMCwtNTAuMDApfV0KKyAgICAgIFJlbmRlclNWR0Nv
bnRhaW5lciB7Z30gYXQgKDI1MCwtMzUuODYpIHNpemUgMHgwIFt0cmFuc2Zvcm09e209KCgxLjAw
LDAuMDApKDAuMDAsMS4wMCkpIHQ9KDEwLjAwLDEwLjAwKX1dCisgICAgICAgIFJlbmRlclNWR0Nv
bnRhaW5lciB7Z30gYXQgKDQ1Mi4xMywxMTUuNTYpIHNpemUgMHgwIFt0cmFuc2Zvcm09e209KCgw
LjcxLDAuNzEpKC0wLjcxLDAuNzEpKSB0PSgyNTAuMDAsLTM1Ljg2KX1dCkluZGV4OiBMYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL3VzZS1vbi1kaXNhbGxvd2VkLWZvcmVpZ24tb2JqZWN0LTEtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLW9uLWRpc2Fs
bG93ZWQtZm9yZWlnbi1vYmplY3QtMS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0MzAzKQorKysg
TGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2Utb24tZGlzYWxsb3dlZC1mb3JlaWduLW9iamVjdC0x
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNywzICs3LDQgQEAKICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjQ0eDE4CiAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMCkgd2lkdGggMjQ0OiAiWW91IHNob3VsZCBvbmx5IHNlZSB0aGlzIHN0cmluZyBPTkNF
IgogICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMjUwLC01MCkgc2l6ZSAweDAgW3Ry
YW5zZm9ybT17bT0oKDAuNzEsMC43MSkoLTAuNzEsMC43MSkpIHQ9KDI1MC4wMCwtNTAuMDApfV0K
KyAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDI1MCwtMzUuODYpIHNpemUgMHgwIFt0
cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDEwLjAwLDEwLjAwKX1dCklu
ZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1vbi1nLWNvbnRhaW5pbmctc3ltYm9sLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1vbi1n
LWNvbnRhaW5pbmctc3ltYm9sLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL3N2Zy9jdXN0b20vdXNlLW9uLWctY29udGFpbmluZy1zeW1ib2wtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE2IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
KyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAorICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgyMCw0NSkgc2l6ZSA0ODB4ODMKKyAg
ICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2RlZnN9IGF0ICgwLDApIHNpemUgMHgwCisgICAg
ICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDApIHNpemUgMHgwCisgICAgUmVuZGVyU1ZH
Q29udGFpbmVyIHtnfSBhdCAoMjQ1LDQ1KSBzaXplIDEzMHgzMCBbdHJhbnNmb3JtPXttPSgoMS4w
MCwwLjAwKSgwLjAwLDEuMDApKSB0PSgxMjUuMDAsMjUuMDApfV0KKyAgICAgIFJlbmRlclBhdGgg
e3JlY3R9IGF0ICgyNDUsNDUpIHNpemUgMTMweDMwIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29s
b3I9IzAwMDA4MF0gW3N0cm9rZSB3aWR0aD01LjAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2Nv
bG9yPSNGRjAwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDBMNjAuMDAsMC4wMEw2MC4wMCwxMC4wMEww
LjAwLDEwLjAwIl0KKyAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAsNjApIHNpemUgMjQw
eDE4IGNvbnRhaW5zIDEgY2h1bmsocykKKyAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoMCwtMTQpIHNpemUgMjQweDE4CisgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAo
MTAuMDAsNjAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDM4IHdpZHRoIDI0MC4wMDogIlRo
ZSB0d28gb2JqZWN0cyBzaG91bGQgbG9vayBpZGVudGljYWwuIgorICAgIFJlbmRlclNWR0NvbnRh
aW5lciB7dXNlfSBhdCAoNDUsNDUpIHNpemUgMTMweDMwCisgICAgICBSZW5kZXJTVkdDb250YWlu
ZXIge2d9IGF0ICg0NSw0NSkgc2l6ZSAxMzB4MzAgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCko
MC4wMCwxLjAwKSkgdD0oMjUuMDAsMjUuMDApfV0KKyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVy
IHtnfSBhdCAoNDUsNDUpIHNpemUgMTMweDMwCisgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVy
IHtzdmd9IGF0ICg0NSw0NSkgc2l6ZSAxMzB4MzAKKyAgICAgICAgICAgIFJlbmRlclBhdGgge3Jl
Y3R9IGF0ICg0NSw0NSkgc2l6ZSAxMzB4MzAgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0j
MDAwMDgwXSBbc3Ryb2tlIHdpZHRoPTUuMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9
I0ZGMDAwMF19XSBbZGF0YT0iTTAuMDAsMC4wMEw2MC4wMCwwLjAwTDYwLjAwLDEwLjAwTDAuMDAs
MTAuMDAiXQpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2Utb24tZGlzYWxsb3dlZC1m
b3JlaWduLW9iamVjdC02LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9z
dmcvY3VzdG9tL3VzZS1vbi1kaXNhbGxvd2VkLWZvcmVpZ24tb2JqZWN0LTYtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2Utb24tZGlzYWxsb3dl
ZC1mb3JlaWduLW9iamVjdC02LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwy
MSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyU1ZHUm9v
dCB7c3ZnfSBhdCAoMCwwKSBzaXplIDB4MAorICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7
ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7c3ZnfSBh
dCAoMCwwKSBzaXplIDB4MAorICAgICAgICBSZW5kZXJGb3JlaWduT2JqZWN0IHtmb3JlaWduT2Jq
ZWN0fSBhdCAoMCwwKSBzaXplIDU4MHgzODAKKyAgICAgICAgICBSZW5kZXJCbG9jayB7eGh0bWw6
ZGl2fSBhdCAoMCwwKSBzaXplIDU4MHgxOAorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMjQ0eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDI0NDogIllvdSBzaG91bGQgb25seSBzZWUgdGhpcyBzdHJpbmcgT05DRSIKKyAgICBSZW5k
ZXJGb3JlaWduT2JqZWN0IHtmb3JlaWduT2JqZWN0fSBhdCAoMCwwKSBzaXplIDU4MHgzODAKKyAg
ICAgIFJlbmRlckJsb2NrIHt4aHRtbDpkaXZ9IGF0ICgwLDApIHNpemUgNTgweDE4CisgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDI0NHgxOAorICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDApIHdpZHRoIDI0NDogIllvdSBzaG91bGQgb25seSBzZWUgdGhpcyBzdHJpbmcg
T05DRSIKKyAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDAsMCkgc2l6ZSAweDAKKyAg
ICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDI1LDI1KSBzaXplIDB4MCBbdHJhbnNmb3Jt
PXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgyNS4wMCwyNS4wMCl9XQorICAgICAgICBS
ZW5kZXJTVkdDb250YWluZXIge3N2Z30gYXQgKDI1LDI1KSBzaXplIDB4MAorICAgIFJlbmRlclNW
R0NvbnRhaW5lciB7dXNlfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyU1ZHQ29udGFp
bmVyIHtnfSBhdCAoMTAsMTApIHNpemUgMHgwIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAu
MDAsMS4wMCkpIHQ9KDEwLjAwLDEwLjAwKX1dCisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7
Z30gYXQgKDM1LDM1KSBzaXplIDB4MCBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEu
MDApKSB0PSgyNS4wMCwyNS4wMCl9XQorICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7c3Zn
fSBhdCAoMzUsMzUpIHNpemUgMHgwCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1v
bi1kaXNhbGxvd2VkLWZvcmVpZ24tb2JqZWN0LTUtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fu
bm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUg
PSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL3N2Zy9jdXN0b20vdXNlLW9uLWRpc2FsbG93ZWQtZm9yZWlnbi1vYmplY3QtNS1leHBlY3Rl
ZC5wbmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpOYW1lOiBzdm46bWltZS10eXBlCiAgICsgYXBwbGljYXRpb24vb2N0
ZXQtc3RyZWFtCgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2Utb24tZy1jb250YWlu
aW5nLXN5bWJvbC5zdmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2Ut
b24tZy1jb250YWluaW5nLXN5bWJvbC5zdmcJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9z
dmcvY3VzdG9tL3VzZS1vbi1nLWNvbnRhaW5pbmctc3ltYm9sLnN2ZwkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwxOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PgorPCFE
T0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53
My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KKzxzdmcgd2lkdGg9IjgwMCIg
aGVpZ2h0PSI2MDAiIHZpZXdCb3g9IjAgMCA0MDAgMzAwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3Jn
LzE5OTkveGxpbmsiPgorPGRlZnM+CisgICAgPGcgaWQ9InN5bWJvbCI+CisgICAgICAgIDxzeW1i
b2wgb3ZlcmZsb3c9InZpc2libGUiPgorICAgICAgICAgICAgPHJlY3Qgc3Ryb2tlLXdpZHRoPSI1
cHgiIGZpbGw9InJlZCIgc3Ryb2tlPSJuYXZ5IiB3aWR0aD0iNjAiIGhlaWdodD0iMTAiLz4KKyAg
ICAgICAgPC9zeW1ib2w+CisgICAgPC9nPgorPC9kZWZzPgorCis8ZyB0cmFuc2Zvcm09InRyYW5z
bGF0ZSgxMjUgMjUpIj4KKyAgICA8cmVjdCBzdHJva2Utd2lkdGg9IjVweCIgZmlsbD0icmVkIiBz
dHJva2U9Im5hdnkiIHdpZHRoPSI2MCIgaGVpZ2h0PSIxMCIvPgorPC9nPgorCis8dGV4dCB4PSIx
MCIgeT0iNjAiPlRoZSB0d28gb2JqZWN0cyBzaG91bGQgbG9vayBpZGVudGljYWwuPC90ZXh0Pgor
PHVzZSB4PSIyNSIgeT0iMjUiIHhsaW5rOmhyZWY9IiNzeW1ib2wiLz4KKzwvc3ZnPgorCkluZGV4
OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1vbi1nLWNvbnRhaW5pbmctZm9yZWlnbk9iamVj
dC1hbmQtaW1hZ2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9j
dXN0b20vdXNlLW9uLWctY29udGFpbmluZy1mb3JlaWduT2JqZWN0LWFuZC1pbWFnZS1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1vbi1nLWNv
bnRhaW5pbmctZm9yZWlnbk9iamVjdC1hbmQtaW1hZ2UtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDExIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVy
VmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAor
ICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgyNSwyNSkgc2l6ZSA3NXg3NQorICAgIFJlbmRlclNW
R0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlclNW
R0NvbnRhaW5lciB7Z30gYXQgKDAsMCkgc2l6ZSA3NXg3NQorICAgICAgICBSZW5kZXJJbWFnZSB7
aW1hZ2V9IGF0ICgwLDApIHNpemUgNzV4NzUKKyAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0g
YXQgKDI1LDI1KSBzaXplIDc1eDc1CisgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgy
NSwyNSkgc2l6ZSA3NXg3NSBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0
PSgyNS4wMCwyNS4wMCl9XQorICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgyNSwy
NSkgc2l6ZSA3NXg3NQorICAgICAgICAgIFJlbmRlckltYWdlIHtpbWFnZX0gYXQgKDAsMCkgc2l6
ZSA3NXg3NQpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2Utb24tZGlzYWxsb3dlZC1m
b3JlaWduLW9iamVjdC00LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9z
dmcvY3VzdG9tL3VzZS1vbi1kaXNhbGxvd2VkLWZvcmVpZ24tb2JqZWN0LTQtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAyNDMwMykKKysrIExheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLW9uLWRpc2Fs
bG93ZWQtZm9yZWlnbi1vYmplY3QtNC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTks
NCArOSwxMSBAQAogICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MjQ0eDE4CiAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDI0NDogIllvdSBz
aG91bGQgb25seSBzZWUgdGhpcyBzdHJpbmcgT05DRSIKICAgICBSZW5kZXJTVkdDb250YWluZXIg
e3VzZX0gYXQgKDI1MCwtNTApIHNpemUgMHgwIFt0cmFuc2Zvcm09e209KCgwLjcxLDAuNzEpKC0w
LjcxLDAuNzEpKSB0PSgyNTAuMDAsLTUwLjAwKX1dCisgICAgICBSZW5kZXJTVkdDb250YWluZXIg
e2d9IGF0ICgyNTAsLTM1Ljg2KSBzaXplIDB4MCBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgw
LjAwLDEuMDApKSB0PSgxMC4wMCwxMC4wMCl9XQorICAgICAgICBSZW5kZXJTVkdDb250YWluZXIg
e2d9IGF0ICgyNTAsLTM1Ljg2KSBzaXplIDB4MAorICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5l
ciB7Z30gYXQgKDI1MCwtMzUuODYpIHNpemUgMHgwCiAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1
c2V9IGF0ICgyNTAsLTUwKSBzaXplIDB4MCBbdHJhbnNmb3JtPXttPSgoMC43MSwwLjcxKSgtMC43
MSwwLjcxKSkgdD0oMjUwLjAwLC01MC4wMCl9XQorICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtn
fSBhdCAoMjUwLC0zNS44Nikgc2l6ZSAweDAgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4w
MCwxLjAwKSkgdD0oMTAuMDAsMTAuMDApfV0KKyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtn
fSBhdCAoNDUyLjEzLDExNS41Nikgc2l6ZSAweDAgW3RyYW5zZm9ybT17bT0oKDAuNzEsMC43MSko
LTAuNzEsMC43MSkpIHQ9KDI1MC4wMCwtMzUuODYpfV0KKyAgICAgICAgICBSZW5kZXJTVkdDb250
YWluZXIge2d9IGF0ICg0NTIuMTMsMTE1LjU2KSBzaXplIDB4MAorICAgICAgICAgICAgUmVuZGVy
U1ZHQ29udGFpbmVyIHtnfSBhdCAoNDUyLjEzLDExNS41Nikgc2l6ZSAweDAKSW5kZXg6IExheW91
dFRlc3RzL3N2Zy9jdXN0b20vdXNlLW9uLWRpc2FsbG93ZWQtZm9yZWlnbi1vYmplY3QtNi1leHBl
Y3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1v
bi1kaXNhbGxvd2VkLWZvcmVpZ24tb2JqZWN0LTYtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1vbi1kaXNhbGxvd2VkLWZvcmVpZ24t
b2JqZWN0LTYtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKK2U4
MTgwMmY1MmE3M2YzZTYwMTZjNjRkNjJhYTg3MjM5ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2Utb24tZGlzYWxsb3dlZC1mb3JlaWdu
LW9iamVjdC0yLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL3VzZS1vbi1kaXNhbGxvd2VkLWZvcmVpZ24tb2JqZWN0LTItZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAyNDMwMykKKysrIExheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLW9uLWRpc2FsbG93ZWQt
Zm9yZWlnbi1vYmplY3QtMi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTksMyArOSw2
IEBACiAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyNDR4MTgK
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjQ0OiAiWW91IHNob3VsZCBv
bmx5IHNlZSB0aGlzIHN0cmluZyBPTkNFIgogICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBh
dCAoMjUwLC01MCkgc2l6ZSAweDAgW3RyYW5zZm9ybT17bT0oKDAuNzEsMC43MSkoLTAuNzEsMC43
MSkpIHQ9KDI1MC4wMCwtNTAuMDApfV0KKyAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQg
KDI1MCwtMzUuODYpIHNpemUgMHgwIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4w
MCkpIHQ9KDEwLjAwLDEwLjAwKX1dCisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQg
KDI1MCwtMzUuODYpIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBh
dCAoMjUwLC0zNS44Nikgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNl
LW9uLWctY29udGFpbmluZy1zeW1ib2wtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRp
c3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBs
aWNhdGlvbi9vY3RldC1zdHJlYW0KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL3N2
Zy9jdXN0b20vdXNlLW9uLWctY29udGFpbmluZy1zeW1ib2wtZXhwZWN0ZWQucG5nCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KTmFtZTogc3ZuOm1pbWUtdHlwZQogICArIGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKSW5k
ZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLW9uLWRpc2FsbG93ZWQtZm9yZWlnbi1vYmpl
Y3QtNi1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQg
YXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVh
bQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2Utb24tZGlz
YWxsb3dlZC1mb3JlaWduLW9iamVjdC02LWV4cGVjdGVkLnBuZwpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2
bjptaW1lLXR5cGUKICAgKyBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KCkluZGV4OiBMYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL3VzZS1vbi1nLWNvbnRhaW5pbmctZm9yZWlnbk9iamVjdC1hbmQtaW1h
Z2UtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFz
IGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0K
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLW9uLWctY29u
dGFpbmluZy1mb3JlaWduT2JqZWN0LWFuZC1pbWFnZS1leHBlY3RlZC5wbmcKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpO
YW1lOiBzdm46bWltZS10eXBlCiAgICsgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgo=
</data>
<flag name="review"
          id="6457"
          type_id="1"
          status="+"
          setter="rwlbuis"
    />
          </attachment>
      

    </bug>

</bugzilla>