<?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>179946</bug_id>
          
          <creation_ts>2017-11-22 07:18:27 -0800</creation_ts>
          <short_desc>ScrollingStateNode::reconcileLayerPositionForViewportRect is only called on direct children of the root</short_desc>
          <delta_ts>2018-01-25 00:00:37 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Frames</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=180002</see_also>
          <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>
          
          <blocked>154399</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Frédéric Wang Nélar">fred.wang</reporter>
          <assigned_to name="Frédéric Wang Nélar">fred.wang</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>dvoytenko</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jamesr</cc>
    
    <cc>luiz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1374184</commentid>
    <comment_count>0</comment_count>
      <attachid>327452</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2017-11-22 07:18:27 -0800</bug_when>
    <thetext>Created attachment 327452
Testcase

AsyncScrollingCoordinator::reconcileViewportConstrainedLayerPositions has the following comment:

// FIXME: We&apos;ll have to traverse deeper into the tree at some point.
for (auto&amp; child : *children)
     child-&gt;reconcileLayerPositionForViewportRect(viewportRect, action);

I&apos;m not sure whether this is affecting bug 154399 but the attached testcase shows that reconcileLayerPositionForViewportRect is not called on the fixed node when one scrolls the main frame.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1374186</commentid>
    <comment_count>1</comment_count>
      <attachid>327453</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2017-11-22 07:27:20 -0800</bug_when>
    <thetext>Created attachment 327453
WIP Patch

This is patch to recursively calls reconcileLayerPositionForViewportRect but I&apos;m not sure how to emulate non-programmatic scroll on iOS in order to write a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389288</commentid>
    <comment_count>2</comment_count>
      <attachid>331334</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2018-01-15 07:03:12 -0800</bug_when>
    <thetext>Created attachment 331334
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389391</commentid>
    <comment_count>3</comment_count>
      <attachid>331334</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-01-15 14:55:18 -0800</bug_when>
    <thetext>Comment on attachment 331334
Patch

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

&gt; Source/WebCore/page/scrolling/ScrollingStateNode.cpp:103
&gt; +void ScrollingStateNode::reconcileLayerPositionForViewportRect(const LayoutRect&amp; viewportRect, ScrollingLayerPositionAction action)

ScrollingStateStickyNode::reconcileLayerPositionForViewportRect and ScrollingStateFixedNode::reconcileLayerPositionForViewportRect don’t call through to ScrollingStateNode::reconcileLayerPositionForViewportRect.

Can those nodes have children? Is it OK to not call reconcileLayerPositionForViewportRect on those children?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389488</commentid>
    <comment_count>4</comment_count>
      <attachid>331376</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2018-01-16 01:44:11 -0800</bug_when>
    <thetext>Created attachment 331376
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389489</commentid>
    <comment_count>5</comment_count>
      <attachid>331334</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2018-01-16 01:46:13 -0800</bug_when>
    <thetext>Comment on attachment 331334
Patch

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

&gt;&gt; Source/WebCore/page/scrolling/ScrollingStateNode.cpp:103
&gt;&gt; +void ScrollingStateNode::reconcileLayerPositionForViewportRect(const LayoutRect&amp; viewportRect, ScrollingLayerPositionAction action)
&gt; 
&gt; ScrollingStateStickyNode::reconcileLayerPositionForViewportRect and ScrollingStateFixedNode::reconcileLayerPositionForViewportRect don’t call through to ScrollingStateNode::reconcileLayerPositionForViewportRect.
&gt; 
&gt; Can those nodes have children? Is it OK to not call reconcileLayerPositionForViewportRect on those children?

Yes, I guess sticky/fixed nodes should also call reconcileLayerPositionForViewportRect on their descendants. I modified the code and extended the tests accordingly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389490</commentid>
    <comment_count>6</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2018-01-16 01:47:20 -0800</bug_when>
    <thetext>For the record, here is the diff of the graphic layers of the test before and after the patch:

diff --git a/LayoutTests/fast/scrolling/ios/reconcile-layer-position-recursive-expected.txt b/LayoutTests/fast/scrolling/ios/reconcile-layer-position-recursive-expected.txt
index fc9b542a67d..1b6f6dbeaba 100644
--- a/LayoutTests/fast/scrolling/ios/reconcile-layer-position-recursive-expected.txt
+++ b/LayoutTests/fast/scrolling/ios/reconcile-layer-position-recursive-expected.txt
@@ -70,44 +70,48 @@
                               (contentsScale 2.00)
                               (children 2
                                 (GraphicsLayer
-                                  (position 7.00 -993.00)
+                                  (position 7.00 28.00)
+                                  (approximate position 7.00 28.00)
                                   (bounds 110.00 110.00)
                                   (contentsOpaque 1)
                                   (drawsContent 1)
-                                  (visible rect 0.00, 0.00 0.00 x 0.00)
-                                  (coverage rect -7.00, 993.00 200.00 x 245.00)
+                                  (visible rect 0.00, 0.00 110.00 x 110.00)
+                                  (coverage rect -7.00, -28.00 200.00 x 245.00)
                                   (intersects coverage rect 1)
                                   (contentsScale 2.00)
                                   (children 1
                                     (GraphicsLayer
                                       (position 55.00 55.00)
+                                      (approximate position 55.00 55.00)
                                       (bounds 110.00 110.00)
                                       (contentsOpaque 1)
                                       (drawsContent 1)
-                                      (visible rect 0.00, 0.00 0.00 x 0.00)
-                                      (coverage rect -62.00, 938.00 200.00 x 245.00)
+                                      (visible rect 0.00, 0.00 110.00 x 110.00)
+                                      (coverage rect -62.00, -83.00 200.00 x 245.00)
                                       (intersects coverage rect 1)
                                       (contentsScale 2.00)
                                     )
                                   )
                                 )
                                 (GraphicsLayer
-                                  (position 105.00 105.00)
+                                  (position 105.00 395.00)
+                                  (approximate position 105.00 395.00)
                                   (bounds 110.00 110.00)
                                   (contentsOpaque 1)
                                   (drawsContent 1)
-                                  (visible rect 0.00, 0.00 95.00 x 110.00)
-                                  (coverage rect -105.00, -105.00 200.00 x 245.00)
+                                  (visible rect 0.00, 0.00 0.00 x 0.00)
+                                  (coverage rect -105.00, -395.00 200.00 x 245.00)
                                   (intersects coverage rect 1)
                                   (contentsScale 2.00)
                                   (children 1
                                     (GraphicsLayer
                                       (position 55.00 55.00)
+                                      (approximate position 55.00 55.00)
                                       (bounds 110.00 110.00)
                                       (contentsOpaque 1)
                                       (drawsContent 1)
-                                      (visible rect 0.00, 0.00 40.00 x 85.00)
-                                      (coverage rect -160.00, -160.00 200.00 x 245.00)
+                                      (visible rect 0.00, 0.00 0.00 x 0.00)
+                                      (coverage rect -160.00, -450.00 200.00 x 245.00)
                                       (intersects coverage rect 1)
                                       (contentsScale 2.00)
                                     )</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392508</commentid>
    <comment_count>7</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2018-01-24 02:48:40 -0800</bug_when>
    <thetext>@Simon: Can you please review that patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392940</commentid>
    <comment_count>8</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2018-01-24 23:59:12 -0800</bug_when>
    <thetext>Committed r227596: &lt;https://trac.webkit.org/changeset/227596&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392941</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-01-25 00:00:37 -0800</bug_when>
    <thetext>&lt;rdar://problem/36857233&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>327452</attachid>
            <date>2017-11-22 07:18:27 -0800</date>
            <delta_ts>2017-11-22 07:18:27 -0800</delta_ts>
            <desc>Testcase</desc>
            <filename>reconcile-layer-position-recursive.html</filename>
            <type>text/html</type>
            <size>1555</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgogIDxoZWFkPgogICAgPHRpdGxlPlJlY29uY2lsZSBsYXll
ciBwb3NpdGlvbiByZWN1cnNpdmU8L3RpdGxlPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz4K
ICAgIDxzdHlsZT4KICAgICAgZGl2IHsKICAgICAgICAgbWFyZ2luOiA1MHB4OwogICAgICAgICBi
b3JkZXI6IDVweCBzb2xpZCBibGFjazsKICAgICAgfQogICAgICAuc2Nyb2xsYWJsZSB7CiAgICAg
ICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIGN5YW4sIGdyZWVuKTsKICAg
ICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5n
OiB0b3VjaDsKICAgICAgfQogICAgICAuZml4ZWQgewogICAgICAgICBwb3NpdGlvbjogZml4ZWQ7
CiAgICAgICAgIGhlaWdodDogMTAwcHg7CiAgICAgICAgIHdpZHRoOiAxMDBweDsKICAgICAgICAg
bGVmdDogMTBweDsKICAgICAgICAgdG9wOiAxMHB4OwogICAgICAgICBiYWNrZ3JvdW5kOiB5ZWxs
b3c7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8c2NyaXB0PgogICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgICAgICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgIH0KICAgICAgaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCiAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFzeW5jRnJhbWVT
Y3JvbGxpbmdFbmFibGVkKHRydWUpOwogICAgICBmdW5jdGlvbiBkb1Rlc3QoKQogICAgICB7CiAg
ICAgICAgICAvLyBGSVhNRTogbm9uLXByb2dyYW1tYXRpYyBzY3JvbGwgb2YgdGhlIG1haW4gdmll
dyBvbiBpT1MKICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgICAgICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Njcm9sbGluZ1RyZWUnKS5pbm5lclRleHQgPSB3aW5k
b3cuaW50ZXJuYWxzLnNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dCgpICsgIlxuIjsKICAgICAgICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7CiAgICAgIH0KICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBk
b1Rlc3QsIGZhbHNlKTsKICAgIDwvc2NyaXB0PgogIDwvaGVhZD4KICA8Ym9keT4KICAgIDxkaXYg
c3R5bGU9ImhlaWdodDogMTAwMHB4Ij48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InNjcm9sbGFibGUi
IHN0eWxlPSJoZWlnaHQ6IDMwMHB4OyB3aWR0aDogMzAwcHgiPgogICAgICA8ZGl2IGNsYXNzPSJz
Y3JvbGxhYmxlIiBzdHlsZT0iaGVpZ2h0OiA0MDBweDsgd2lkdGg6IDIwMHB4Ij4KICAgICAgICA8
ZGl2IHN0eWxlPSJoZWlnaHQ6IDUwMHB4OyB3aWR0aDogMTAwcHg7IGJhY2tncm91bmQ6IGdyYXki
PgogICAgICAgICAgPGRpdiBjbGFzcz0iZml4ZWQiPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAg
ICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBpZD0ic2Nyb2xsaW5nVHJlZSI+PC9kaXY+CiAg
PC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327453</attachid>
            <date>2017-11-22 07:27:20 -0800</date>
            <delta_ts>2018-01-15 07:03:05 -0800</delta_ts>
            <desc>WIP Patch</desc>
            <filename>0001-Bug-179946-ScrollingStateNode-reconcileLayerPosition.patch</filename>
            <type>text/plain</type>
            <size>5491</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">RnJvbSAyNjBiNjI0Njg2NmIwOGE1MjkwZTg5ODI1MzhkY2IxMzhmYzZiYjZmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBGcmVkZXJpYyBXYW5nIDxmd2FuZ0BpZ2FsaWEuY29tPgpEYXRl
OiBXZWQsIDIyIE5vdiAyMDE3IDE2OjE5OjA2ICswMTAwClN1YmplY3Q6IFtQQVRDSF0gQnVnIDE3
OTk0NiAtCiBTY3JvbGxpbmdTdGF0ZU5vZGU6OnJlY29uY2lsZUxheWVyUG9zaXRpb25Gb3JWaWV3
cG9ydFJlY3QgaXMgb25seSBjYWxsZWQgb24KIGRpcmVjdCBjaGlsZHJlbiBvZiB0aGUgcm9vdAoK
LS0tCiAuLi4vaW9zL3JlY29uY2lsZS1sYXllci1wb3NpdGlvbi1yZWN1cnNpdmUuaHRtbCAgICB8
IDU0ICsrKysrKysrKysrKysrKysrKysrKysKIC4uLi9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9s
bGluZ0Nvb3JkaW5hdG9yLmNwcCAgIHwgIDggKy0tLQogLi4uL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmNwcCAgfCAgOSArKysrCiBTb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuaCB8ICAyICstCiA0IGZpbGVzIGNoYW5nZWQs
IDY1IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaW9zL3JlY29uY2lsZS1sYXllci1wb3NpdGlvbi1yZWN1
cnNpdmUuaHRtbAoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9y
ZWNvbmNpbGUtbGF5ZXItcG9zaXRpb24tcmVjdXJzaXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9pb3MvcmVjb25jaWxlLWxheWVyLXBvc2l0aW9uLXJlY3Vyc2l2ZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5mMzVkZWE3OWU1MwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9yZWNvbmNpbGUtbGF5
ZXItcG9zaXRpb24tcmVjdXJzaXZlLmh0bWwKQEAgLTAsMCArMSw1NCBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHRpdGxlPlJlY29uY2lsZSBsYXllciBwb3NpdGlv
biByZWN1cnNpdmU8L3RpdGxlPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ii8+CisgICAgPHN0
eWxlPgorICAgICAgZGl2IHsKKyAgICAgICAgIG1hcmdpbjogNTBweDsKKyAgICAgICAgIGJvcmRl
cjogNXB4IHNvbGlkIGJsYWNrOworICAgICAgfQorICAgICAgLnNjcm9sbGFibGUgeworICAgICAg
ICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgY3lhbiwgZ3JlZW4pOworICAg
ICAgICAgb3ZlcmZsb3c6IGF1dG87CisgICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGlu
ZzogdG91Y2g7CisgICAgICB9CisgICAgICAuZml4ZWQgeworICAgICAgICAgcG9zaXRpb246IGZp
eGVkOworICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgIHdpZHRoOiAxMDBweDsKKyAg
ICAgICAgIGxlZnQ6IDEwcHg7CisgICAgICAgICB0b3A6IDEwcHg7CisgICAgICAgICBiYWNrZ3Jv
dW5kOiB5ZWxsb3c7CisgICAgICB9CisgICAgPC9zdHlsZT4KKyAgICA8c2NyaXB0PgorICAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CisgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICB9CisgICAg
ICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRp
bmdzLnNldEFzeW5jRnJhbWVTY3JvbGxpbmdFbmFibGVkKHRydWUpOworICAgICAgZnVuY3Rpb24g
ZG9UZXN0KCkKKyAgICAgIHsKKyAgICAgICAgICAvLyBGSVhNRTogbm9uLXByb2dyYW1tYXRpYyBz
Y3JvbGwgb2YgdGhlIG1haW4gdmlldyBvbiBpT1MKKyAgICAgICAgICBpZiAod2luZG93LmludGVy
bmFscykKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2Nyb2xsaW5n
VHJlZScpLmlubmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMuc2Nyb2xsaW5nU3RhdGVUcmVlQXNU
ZXh0KCkgKyAiXG4iOworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgfQorICAgICAgd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBkb1Rlc3QsIGZhbHNlKTsKKyAgICA8L3NjcmlwdD4K
KyAgPC9oZWFkPgorICA8Ym9keT4KKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDEwMDBweCI+PC9k
aXY+CisgICAgPGRpdiBjbGFzcz0ic2Nyb2xsYWJsZSIgc3R5bGU9ImhlaWdodDogMzAwcHg7IHdp
ZHRoOiAzMDBweCI+CisgICAgICA8ZGl2IGNsYXNzPSJzY3JvbGxhYmxlIiBzdHlsZT0iaGVpZ2h0
OiA0MDBweDsgd2lkdGg6IDIwMHB4Ij4KKyAgICAgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA1MDBw
eDsgd2lkdGg6IDEwMHB4OyBiYWNrZ3JvdW5kOiBncmF5Ij4KKyAgICAgICAgICA8ZGl2IGNsYXNz
PSJmaXhlZCI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+
CisgICAgPGRpdiBpZD0ic2Nyb2xsaW5nVHJlZSI+PC9kaXY+CisgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5n
Q29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3Jv
bGxpbmdDb29yZGluYXRvci5jcHAKaW5kZXggNTE5MjVhYjA3ZWYuLjRlMzdlMjFkYTRkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9s
bGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtNDk4LDE1ICs0OTgsOSBAQCB2b2lkIEFzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3I6OnJlY29uY2lsZVZpZXdwb3J0Q29uc3RyYWluZWRMYXllclBvc2l0aW9u
cyhjb25zdAogICAgIGlmICghbV9zY3JvbGxpbmdTdGF0ZVRyZWUtPnJvb3RTdGF0ZU5vZGUoKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgYXV0byBjaGlsZHJlbiA9IG1fc2Nyb2xsaW5nU3RhdGVU
cmVlLT5yb290U3RhdGVOb2RlKCktPmNoaWxkcmVuKCk7Ci0gICAgaWYgKCFjaGlsZHJlbikKLSAg
ICAgICAgcmV0dXJuOwotCiAgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8
IGdldHBpZCgpIDw8ICIgQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6cmVjb25jaWxlVmlld3Bv
cnRDb25zdHJhaW5lZExheWVyUG9zaXRpb25zIGZvciB2aWV3cG9ydCByZWN0ICIgPDwgdmlld3Bv
cnRSZWN0KTsKIAotICAgIC8vIEZJWE1FOiBXZSdsbCBoYXZlIHRvIHRyYXZlcnNlIGRlZXBlciBp
bnRvIHRoZSB0cmVlIGF0IHNvbWUgcG9pbnQuCi0gICAgZm9yIChhdXRvJiBjaGlsZCA6ICpjaGls
ZHJlbikKLSAgICAgICAgY2hpbGQtPnJlY29uY2lsZUxheWVyUG9zaXRpb25Gb3JWaWV3cG9ydFJl
Y3Qodmlld3BvcnRSZWN0LCBhY3Rpb24pOworICAgIG1fc2Nyb2xsaW5nU3RhdGVUcmVlLT5yb290
U3RhdGVOb2RlKCktPnJlY29uY2lsZUxheWVyUG9zaXRpb25Gb3JWaWV3cG9ydFJlY3Qodmlld3Bv
cnRSZWN0LCBhY3Rpb24pOwogfQogCiB2b2lkIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmVu
c3VyZVJvb3RTdGF0ZU5vZGVGb3JGcmFtZVZpZXcoRnJhbWVWaWV3JiBmcmFtZVZpZXcpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmNw
cAppbmRleCAwNmIwYTQwMjJiOC4uZjUyNmNhYTEwNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmNwcApAQCAtMTAwLDYgKzEw
MCwxNSBAQCB2b2lkIFNjcm9sbGluZ1N0YXRlTm9kZTo6YXBwZW5kQ2hpbGQoUmVmPFNjcm9sbGlu
Z1N0YXRlTm9kZT4mJiBjaGlsZE5vZGUpCiAgICAgbV9jaGlsZHJlbi0+YXBwZW5kKFdURk1vdmUo
Y2hpbGROb2RlKSk7CiB9CiAKK3ZvaWQgU2Nyb2xsaW5nU3RhdGVOb2RlOjpyZWNvbmNpbGVMYXll
clBvc2l0aW9uRm9yVmlld3BvcnRSZWN0KGNvbnN0IExheW91dFJlY3QmIHZpZXdwb3J0UmVjdCwg
U2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbiBhY3Rpb24pCit7CisgICAgaWYgKCFtX2NoaWxk
cmVuKQorICAgICAgICByZXR1cm47CisKKyAgICBmb3IgKGF1dG8mIGNoaWxkIDogKm1fY2hpbGRy
ZW4pCisgICAgICAgIGNoaWxkLT5yZWNvbmNpbGVMYXllclBvc2l0aW9uRm9yVmlld3BvcnRSZWN0
KHZpZXdwb3J0UmVjdCwgYWN0aW9uKTsKK30KKwogdm9pZCBTY3JvbGxpbmdTdGF0ZU5vZGU6OnNl
dExheWVyKGNvbnN0IExheWVyUmVwcmVzZW50YXRpb24mIGxheWVyUmVwcmVzZW50YXRpb24pCiB7
CiAgICAgaWYgKGxheWVyUmVwcmVzZW50YXRpb24gPT0gbV9sYXllcikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmgKaW5kZXggNTgxYTFh
ZTExMjcuLjVkYTc5ZjYwYzBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuaApAQCAtMjE4LDcgKzIxOCw3IEBAIHB1YmxpYzoKICAg
ICBDaGFuZ2VkUHJvcGVydGllcyBjaGFuZ2VkUHJvcGVydGllcygpIGNvbnN0IHsgcmV0dXJuIG1f
Y2hhbmdlZFByb3BlcnRpZXM7IH0KICAgICB2b2lkIHNldENoYW5nZWRQcm9wZXJ0aWVzKENoYW5n
ZWRQcm9wZXJ0aWVzIGNoYW5nZWRQcm9wZXJ0aWVzKSB7IG1fY2hhbmdlZFByb3BlcnRpZXMgPSBj
aGFuZ2VkUHJvcGVydGllczsgfQogICAgIAotICAgIHZpcnR1YWwgdm9pZCByZWNvbmNpbGVMYXll
clBvc2l0aW9uRm9yVmlld3BvcnRSZWN0KGNvbnN0IExheW91dFJlY3QmIC8qdmlld3BvcnRSZWN0
Ki8sIFNjcm9sbGluZ0xheWVyUG9zaXRpb25BY3Rpb24pIHsgfQorICAgIHZpcnR1YWwgdm9pZCBy
ZWNvbmNpbGVMYXllclBvc2l0aW9uRm9yVmlld3BvcnRSZWN0KGNvbnN0IExheW91dFJlY3QmIC8q
dmlld3BvcnRSZWN0Ki8sIFNjcm9sbGluZ0xheWVyUG9zaXRpb25BY3Rpb24pOwogCiAgICAgY29u
c3QgTGF5ZXJSZXByZXNlbnRhdGlvbiYgbGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX2xheWVyOyB9
CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRMYXllcihjb25zdCBMYXllclJlcHJlc2VudGF0
aW9uJik7Ci0tIAoyLjE0LjEKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>331334</attachid>
            <date>2018-01-15 07:03:12 -0800</date>
            <delta_ts>2018-01-16 01:44:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179946-20180115160310.patch</filename>
            <type>text/plain</type>
            <size>12762</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2OTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGExNDJkMjRkMDE2NDNl
NjczYTgyYmY4Mzg0ZDYxYWZhZGZhYzJiMC4uY2RjNDU5MjRiYzY3ZTc1NjliODhlOTNlYTdlYzU5
YjFkYTdlMjQyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE4LTAxLTE1ICBGcmVk
ZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4KKworICAgICAgICBTY3JvbGxpbmdTdGF0ZU5v
ZGU6OnJlY29uY2lsZUxheWVyUG9zaXRpb25Gb3JWaWV3cG9ydFJlY3QgaXMgb25seSBjYWxsZWQg
b24gZGlyZWN0IGNoaWxkcmVuIG9mIHRoZSByb290CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk5NDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBTY3JvbGxpbmdTdGF0ZU5vZGU6OnJlY29uY2lsZUxheWVy
UG9zaXRpb25Gb3JWaWV3cG9ydFJlY3QgaXMgY3VycmVudGx5IG9ubHkgY2FsbGVkIG9uIHRoZQor
ICAgICAgICBkaXJlY3QgY2hpbGRyZW4gb2Ygcm9vdCBvZiB0aGUgc2Nyb2xsaW5nIHRyZWUuIEhl
bmNlIG5vZGVzIGxpa2UgInBvc2l0aW9uOiBmaXhlZCIgd2lsbCBub3QKKyAgICAgICAgdXBkYXRl
IHRoZWlyIGxheWVycyBhZnRlciBzY3JvbGxpbmcgd2hlbiB0aGV5IGFyZSBkZWVwZXIgaW4gdGhl
IHRyZWUuIFRoaXMgaXMgYWxyZWFkeQorICAgICAgICBwb3NzaWJsZSBvbiBpT1Mgd2l0aCBvdmVy
ZmxvdyBub2RlcyBhbmQgd2lsbCBoYXBwZW4gd2l0aCBzdWJmcmFtZXMgd2hlbiBhc3luYyBzY3Jv
bGxpbmcgaXMKKyAgICAgICAgaW1wbGVtZW50ZWQuIFRoaXMgY29tbWl0IGZpeGVzIHRoYXQgaXNz
dWUgYnkgcmVjdXJzaXZlbHkgY2FsbGluZyB0aGUgZnVuY3Rpb24KKyAgICAgICAgU2Nyb2xsaW5n
U3RhdGVOb2RlOjpyZWNvbmNpbGVMYXllclBvc2l0aW9uRm9yVmlld3BvcnRSZWN0IG9uIHRoZSBz
Y3JvbGxpbmcgdHJlZS4KKworICAgICAgICBUZXN0OiBmYXN0L3Njcm9sbGluZy9pb3MvcmVjb25j
aWxlLWxheWVyLXBvc2l0aW9uLXJlY3Vyc2l2ZS5odG1sCisKKyAgICAgICAgKiBwYWdlL3Njcm9s
bGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFz
eW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnJlY29uY2lsZVZpZXdwb3J0Q29uc3RyYWluZWRMYXll
clBvc2l0aW9ucyk6IEp1c3QgY2FsbAorICAgICAgICByZWNvbmNpbGVMYXllclBvc2l0aW9uRm9y
Vmlld3BvcnRSZWN0IG9uIHRoZSByb290IG5vZGUuCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nU3RhdGVOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRl
Tm9kZTo6cmVjb25jaWxlTGF5ZXJQb3NpdGlvbkZvclZpZXdwb3J0UmVjdCk6IEJ5IGRlZmF1bHQs
IHRoaXMKKyAgICAgICAgZnVuY3Rpb24gbm93IHJlY3Vyc2l2ZWx5IGNhbGxzIHJlY29uY2lsZUxh
eWVyUG9zaXRpb25Gb3JWaWV3cG9ydFJlY3Qgb24gdGhlIGNoaWxkcmVuLgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5oOgorCiAyMDE4LTAxLTE1ICBTZWJhc3Rp
YW4gRHLDtmdlICA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KIAogICAgICAgICBbR1N0cmVh
bWVyXSBEb24ndCB3YWl0IGZvciBkcmF3IGNvbmRpdGlvbiB2YXJpYWJsZSB3aGVuIHNodXR0aW5n
IGRvd24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0Fz
eW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IDUxOTI1YWIwN2VmNjM2NGZlZWEyMWRj
YTI4MjU5ODlhMWIxYmRkMjUuLjRlMzdlMjFkYTRkNDRjYzZjY2ZlNGQzMDlmNjg5ZmMwMThhNzFm
YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0Fz
eW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCkBAIC00OTgsMTUgKzQ5OCw5IEBAIHZvaWQgQXN5
bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6cmVjb25jaWxlVmlld3BvcnRDb25zdHJhaW5lZExheWVy
UG9zaXRpb25zKGNvbnN0CiAgICAgaWYgKCFtX3Njcm9sbGluZ1N0YXRlVHJlZS0+cm9vdFN0YXRl
Tm9kZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBhdXRvIGNoaWxkcmVuID0gbV9zY3JvbGxp
bmdTdGF0ZVRyZWUtPnJvb3RTdGF0ZU5vZGUoKS0+Y2hpbGRyZW4oKTsKLSAgICBpZiAoIWNoaWxk
cmVuKQotICAgICAgICByZXR1cm47Ci0KICAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBz
dHJlYW0gPDwgZ2V0cGlkKCkgPDwgIiBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjpyZWNvbmNp
bGVWaWV3cG9ydENvbnN0cmFpbmVkTGF5ZXJQb3NpdGlvbnMgZm9yIHZpZXdwb3J0IHJlY3QgIiA8
PCB2aWV3cG9ydFJlY3QpOwogCi0gICAgLy8gRklYTUU6IFdlJ2xsIGhhdmUgdG8gdHJhdmVyc2Ug
ZGVlcGVyIGludG8gdGhlIHRyZWUgYXQgc29tZSBwb2ludC4KLSAgICBmb3IgKGF1dG8mIGNoaWxk
IDogKmNoaWxkcmVuKQotICAgICAgICBjaGlsZC0+cmVjb25jaWxlTGF5ZXJQb3NpdGlvbkZvclZp
ZXdwb3J0UmVjdCh2aWV3cG9ydFJlY3QsIGFjdGlvbik7CisgICAgbV9zY3JvbGxpbmdTdGF0ZVRy
ZWUtPnJvb3RTdGF0ZU5vZGUoKS0+cmVjb25jaWxlTGF5ZXJQb3NpdGlvbkZvclZpZXdwb3J0UmVj
dCh2aWV3cG9ydFJlY3QsIGFjdGlvbik7CiB9CiAKIHZvaWQgQXN5bmNTY3JvbGxpbmdDb29yZGlu
YXRvcjo6ZW5zdXJlUm9vdFN0YXRlTm9kZUZvckZyYW1lVmlldyhGcmFtZVZpZXcmIGZyYW1lVmll
dykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0
YXRlTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0
ZU5vZGUuY3BwCmluZGV4IDdlZDliYWZhYmNmYTdjZWYzMWE2NDc3OTIyMjAxYzk4NTEwMWViYzEu
LjRjN2UxNDNmYTJmYzBhODZlNGVhNjc3Y2UwZGE1ZjAxNmEzMmFmOWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmNwcApAQCAt
MTAwLDYgKzEwMCwxNSBAQCB2b2lkIFNjcm9sbGluZ1N0YXRlTm9kZTo6YXBwZW5kQ2hpbGQoUmVm
PFNjcm9sbGluZ1N0YXRlTm9kZT4mJiBjaGlsZE5vZGUpCiAgICAgbV9jaGlsZHJlbi0+YXBwZW5k
KFdURk1vdmUoY2hpbGROb2RlKSk7CiB9CiAKK3ZvaWQgU2Nyb2xsaW5nU3RhdGVOb2RlOjpyZWNv
bmNpbGVMYXllclBvc2l0aW9uRm9yVmlld3BvcnRSZWN0KGNvbnN0IExheW91dFJlY3QmIHZpZXdw
b3J0UmVjdCwgU2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbiBhY3Rpb24pCit7CisgICAgaWYg
KCFtX2NoaWxkcmVuKQorICAgICAgICByZXR1cm47CisKKyAgICBmb3IgKGF1dG8mIGNoaWxkIDog
Km1fY2hpbGRyZW4pCisgICAgICAgIGNoaWxkLT5yZWNvbmNpbGVMYXllclBvc2l0aW9uRm9yVmll
d3BvcnRSZWN0KHZpZXdwb3J0UmVjdCwgYWN0aW9uKTsKK30KKwogdm9pZCBTY3JvbGxpbmdTdGF0
ZU5vZGU6OnNldExheWVyKGNvbnN0IExheWVyUmVwcmVzZW50YXRpb24mIGxheWVyUmVwcmVzZW50
YXRpb24pCiB7CiAgICAgaWYgKGxheWVyUmVwcmVzZW50YXRpb24gPT0gbV9sYXllcikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmgKaW5k
ZXggNTgxYTFhZTExMjcwMzZlZTczZjFhY2YzYWU1ZjNlMjdjNzY4YzhjYS4uNWRhNzlmNjBjMGI5
MTZlYWI3ZTFhNjJiOTczZWFjYTBlMWNiYjU3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmgKQEAgLTIxOCw3ICsyMTgsNyBAQCBw
dWJsaWM6CiAgICAgQ2hhbmdlZFByb3BlcnRpZXMgY2hhbmdlZFByb3BlcnRpZXMoKSBjb25zdCB7
IHJldHVybiBtX2NoYW5nZWRQcm9wZXJ0aWVzOyB9CiAgICAgdm9pZCBzZXRDaGFuZ2VkUHJvcGVy
dGllcyhDaGFuZ2VkUHJvcGVydGllcyBjaGFuZ2VkUHJvcGVydGllcykgeyBtX2NoYW5nZWRQcm9w
ZXJ0aWVzID0gY2hhbmdlZFByb3BlcnRpZXM7IH0KICAgICAKLSAgICB2aXJ0dWFsIHZvaWQgcmVj
b25jaWxlTGF5ZXJQb3NpdGlvbkZvclZpZXdwb3J0UmVjdChjb25zdCBMYXlvdXRSZWN0JiAvKnZp
ZXdwb3J0UmVjdCovLCBTY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0aW9uKSB7IH0KKyAgICB2aXJ0
dWFsIHZvaWQgcmVjb25jaWxlTGF5ZXJQb3NpdGlvbkZvclZpZXdwb3J0UmVjdChjb25zdCBMYXlv
dXRSZWN0JiAvKnZpZXdwb3J0UmVjdCovLCBTY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0aW9uKTsK
IAogICAgIGNvbnN0IExheWVyUmVwcmVzZW50YXRpb24mIGxheWVyKCkgY29uc3QgeyByZXR1cm4g
bV9sYXllcjsgfQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0TGF5ZXIoY29uc3QgTGF5ZXJS
ZXByZXNlbnRhdGlvbiYpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDFmMmI2MjEyMmIyNGM3M2ZhMzJkMDM0YTA2Y2EyZDkz
OGIzY2VhMzkuLmNjMGMyYjA5YjFmYzkwZjg5MjQ4MTVlODZjYzRmZmNmNTIzYjdkNmQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNiBAQAorMjAxOC0wMS0xNSAgRnJlZGVyaWMgV2FuZyAgPGZ3YW5nQGlnYWxp
YS5jb20+CisKKyAgICAgICAgU2Nyb2xsaW5nU3RhdGVOb2RlOjpyZWNvbmNpbGVMYXllclBvc2l0
aW9uRm9yVmlld3BvcnRSZWN0IGlzIG9ubHkgY2FsbGVkIG9uIGRpcmVjdCBjaGlsZHJlbiBvZiB0
aGUgcm9vdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTc5OTQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGEgdGVzdCB0aGF0IHZlcmlmaWVzIHRoYXQgdGhlIGNvcnJlY3QgdXBkYXRlIG9mIHRoZSBn
cmFwaGljIGxheWVyIG9mIGEgInBvc2l0aW9uOiBmaXhlZCIKKyAgICAgICAgbm9kZSBpbnNpZGUg
dHdvIG5lc3RlZCBvdmVyZmxvdyBub2Rlcy4KKworICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL2lv
cy9yZWNvbmNpbGUtbGF5ZXItcG9zaXRpb24tcmVjdXJzaXZlLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvaW9zL3JlY29uY2lsZS1sYXllci1wb3NpdGlvbi1y
ZWN1cnNpdmUuaHRtbDogQWRkZWQuCisKIDIwMTgtMDEtMTQgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbbWFjT1NdIFtXSzJdIFVuc2tpcCBzb21l
IGNvbnNpc3RlbnRseS1wYXNzaW5nIHRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9pb3MvcmVjb25jaWxlLWxheWVyLXBvc2l0aW9uLXJlY3Vyc2l2ZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3MvcmVjb25jaWxlLWxheWVyLXBv
c2l0aW9uLXJlY3Vyc2l2ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzI4NTRmYmJkNGZiY2Ji
M2U1YTkyMDM3YzRkM2M5YzMzM2U4OWU4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL2lvcy9yZWNvbmNpbGUtbGF5ZXItcG9zaXRpb24tcmVjdXJzaXZlLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDk5IEBACisoR3JhcGhpY3NMYXllcgorICAoYW5jaG9yIDAu
MDAgMC4wMCkKKyAgKGJvdW5kcyA4MDAuMDAgMTYyMS4wMCkKKyAgKHZpc2libGUgcmVjdCAwLjAw
LCAxMDIxLjAwIDgwMC4wMCB4IDYwMC4wMCkKKyAgKGNvdmVyYWdlIHJlY3QgMC4wMCwgMTAyMS4w
MCA4MDAuMDAgeCA2MDAuMDApCisgIChpbnRlcnNlY3RzIGNvdmVyYWdlIHJlY3QgMSkKKyAgKGNv
bnRlbnRzU2NhbGUgMi4wMCkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAg
ICAgKGJvdW5kcyA4MDAuMDAgMTYyMS4wMCkKKyAgICAgIChjb250ZW50c09wYXF1ZSAxKQorICAg
ICAgKHZpc2libGUgcmVjdCAwLjAwLCAxMDIxLjAwIDgwMC4wMCB4IDYwMC4wMCkKKyAgICAgIChj
b3ZlcmFnZSByZWN0IDAuMDAsIDc2NS4wMCAxMDU2LjAwIHggODU2LjAwKQorICAgICAgKGludGVy
c2VjdHMgY292ZXJhZ2UgcmVjdCAxKQorICAgICAgKGNvbnRlbnRzU2NhbGUgMi4wMCkKKyAgICAg
ICh0aWxlIGNhY2hlIGNvdmVyYWdlIDAsIDUxMiA4MDAgeCAxMTA5KQorICAgICAgKHRpbGUgc2l6
ZSA4MDAgeCA1MTIpCisgICAgICAodG9wIGxlZnQgdGlsZSAwLCAxIHRpbGVzIGdyaWQgMSB4IDMp
CisgICAgICAoaW4gd2luZG93IDEpCisgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAoR3JhcGhp
Y3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiA4LjAwIDEwMDguMDApCisgICAgICAgICAgKGJv
dW5kcyAzMDAuMDAgMzAwLjAwKQorICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAg
ICAodmlzaWJsZSByZWN0IDAuMDAsIDEzLjAwIDMwMC4wMCB4IDI4Ny4wMCkKKyAgICAgICAgICAo
Y292ZXJhZ2UgcmVjdCAtOC4wMCwgLTI0My4wMCAxMDU2LjAwIHggODU2LjAwKQorICAgICAgICAg
IChpbnRlcnNlY3RzIGNvdmVyYWdlIHJlY3QgMSkKKyAgICAgICAgICAoY29udGVudHNTY2FsZSAy
LjAwKQorICAgICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgor
ICAgICAgICAgICAgICAoYm91bmRzIDMwMC4wMCAzMDAuMDApCisgICAgICAgICAgICAgICh2aXNp
YmxlIHJlY3QgMC4wMCwgMTMuMDAgMzAwLjAwIHggMjg3LjAwKQorICAgICAgICAgICAgICAoY292
ZXJhZ2UgcmVjdCAwLjAwLCAxMy4wMCAzMDAuMDAgeCAyODcuMDApCisgICAgICAgICAgICAgIChp
bnRlcnNlY3RzIGNvdmVyYWdlIHJlY3QgMSkKKyAgICAgICAgICAgICAgKGNvbnRlbnRzU2NhbGUg
Mi4wMCkKKyAgICAgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgICAgICAoR3JhcGhp
Y3NMYXllcgorICAgICAgICAgICAgICAgICAgKGJvdW5kcyAzMDAuMDAgNTEwLjAwKQorICAgICAg
ICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAgICAgKHZpc2libGUg
cmVjdCAwLjAwLCAxMy4wMCAzMDAuMDAgeCAyODcuMDApCisgICAgICAgICAgICAgICAgICAoY292
ZXJhZ2UgcmVjdCAwLjAwLCAxMy4wMCAzMDAuMDAgeCAyODcuMDApCisgICAgICAgICAgICAgICAg
ICAoaW50ZXJzZWN0cyBjb3ZlcmFnZSByZWN0IDEpCisgICAgICAgICAgICAgICAgICAoY29udGVu
dHNTY2FsZSAyLjAwKQorICAgICAgICAgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAg
ICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgICAgICAgICAocG9zaXRpb24g
NTAuMDAgNTAuMDApCisgICAgICAgICAgICAgICAgICAgICAgKGJvdW5kcyAyMTAuMDAgNDEwLjAw
KQorICAgICAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAg
ICAgICAgICAodmlzaWJsZSByZWN0IDAuMDAsIDAuMDAgMjEwLjAwIHggMjUwLjAwKQorICAgICAg
ICAgICAgICAgICAgICAgIChjb3ZlcmFnZSByZWN0IC01MC4wMCwgLTM3LjAwIDMwMC4wMCB4IDI4
Ny4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAoaW50ZXJzZWN0cyBjb3ZlcmFnZSByZWN0IDEp
CisgICAgICAgICAgICAgICAgICAgICAgKGNvbnRlbnRzU2NhbGUgMi4wMCkKKyAgICAgICAgICAg
ICAgICAgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAgICAgICAgICAgICAgICAgKEdyYXBoaWNz
TGF5ZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKG9mZnNldEZyb21SZW5kZXJlciB3aWR0
aD0tNSBoZWlnaHQ9LTUpCisgICAgICAgICAgICAgICAgICAgICAgICAgIChwb3NpdGlvbiA1LjAw
IDUuMDApCisgICAgICAgICAgICAgICAgICAgICAgICAgIChib3VuZHMgMjAwLjAwIDQwMC4wMCkK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgKHZpc2libGUgcmVjdCAwLjAwLCAwLjAwIDIwMC4w
MCB4IDI0NS4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvdmVyYWdlIHJlY3QgMC4w
MCwgMC4wMCAyMDAuMDAgeCAyNDUuMDApCisgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnRl
cnNlY3RzIGNvdmVyYWdlIHJlY3QgMSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnRl
bnRzU2NhbGUgMi4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoaWxkcmVuIDEKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKG9mZnNldEZyb21SZW5kZXJlciB3aWR0aD01IGhlaWdodD01KQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJvdW5kcyAyMDAuMDAgNjEwLjAwKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKHZpc2libGUgcmVjdCAwLjAwLCAwLjAwIDIwMC4wMCB4IDI0NS4wMCkK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb3ZlcmFnZSByZWN0IDAuMDAsIDAuMDAg
MjAwLjAwIHggMjQ1LjAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludGVyc2Vj
dHMgY292ZXJhZ2UgcmVjdCAxKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnRl
bnRzU2NhbGUgMi4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGlsZHJlbiAx
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBvc2l0aW9uIC0zLjAwIDE4LjAwKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhcHByb3hpbWF0ZSBwb3NpdGlvbiAtMy4wMCAx
OC4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYm91bmRzIDExMC4wMCAx
MTAuMDApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnRlbnRzT3BhcXVl
IDEpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2aXNpYmxlIHJlY3QgMy4wMCwgMC4w
MCAxMDcuMDAgeCAxMTAuMDApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNv
dmVyYWdlIHJlY3QgMy4wMCwgLTE4LjAwIDIwMC4wMCB4IDI0NS4wMCkKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAoaW50ZXJzZWN0cyBjb3ZlcmFnZSByZWN0IDEpCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnRlbnRzU2NhbGUgMi4wMCkKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgKQorICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICAgICkK
KyAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAg
ICAgICkKKyAgICAgICAgICAgICAgKQorICAgICAgICAgICAgKQorICAgICAgICAgICkKKyAgICAg
ICAgKQorICAgICAgKQorICAgICkKKyAgKQorKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9pb3MvcmVjb25jaWxlLWxheWVyLXBvc2l0aW9uLXJlY3Vyc2l2ZS5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaW9zL3JlY29uY2lsZS1sYXllci1wb3NpdGlv
bi1yZWN1cnNpdmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMDkzNzMxYTNiY2U4NGNjYmYzYWU2MmNiYTI0
Y2M0NGEzYzJkNTVmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvaW9zL3JlY29uY2lsZS1sYXllci1wb3NpdGlvbi1yZWN1cnNpdmUuaHRtbApAQCAtMCwwICsx
LDY3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8dGl0bGU+UmVj
b25jaWxlIGxheWVyIHBvc2l0aW9uIHJlY3Vyc2l2ZTwvdGl0bGU+CisgICAgPG1ldGEgY2hhcnNl
dD0idXRmLTgiLz4KKyAgICA8c3R5bGU+CisgICAgICAjY29udGFpbmVyIGRpdiB7CisgICAgICAg
ICBtYXJnaW46IDUwcHg7CisgICAgICAgICBib3JkZXI6IDVweCBzb2xpZCBibGFjazsKKyAgICAg
IH0KKyAgICAgIC5zY3JvbGxhYmxlIHsKKyAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFk
aWVudCgxMzVkZWcsIGN5YW4sIGdyZWVuKTsKKyAgICAgICAgIG92ZXJmbG93OiBhdXRvOworICAg
ICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOworICAgICAgfQorICAgICAg
LmZpeGVkIHsKKyAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKKyAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgICBsZWZ0OiAxMHB4OworICAgICAg
ICAgdG9wOiAxMHB4OworICAgICAgICAgYmFja2dyb3VuZDogeWVsbG93OworICAgICAgfQorICAg
IDwvc3R5bGU+CisgICAgPHNjcmlwdD4KKyAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewor
ICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOworICAgICAgfQorICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisg
ICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBc3luY0ZyYW1lU2Nyb2xsaW5n
RW5hYmxlZCh0cnVlKTsKKyAgICAgIGZ1bmN0aW9uIGdldFN3aXBlVUlTY3JpcHQoZnJvbVgsIGZy
b21ZLCB0b1gsIHRvWSwgZHVyYXRpb24pCisgICAgICB7CisgICAgICAgICAgcmV0dXJuIGAoKCkg
PT4geworICAgICAgICAgICAgICB1aUNvbnRyb2xsZXIuZHJhZ0Zyb21Qb2ludFRvUG9pbnQoJHtm
cm9tWH0sICR7ZnJvbVl9LCAke3RvWH0sICR7dG9ZfSwgJHtkdXJhdGlvbn0sICgpID0+IHsKKyAg
ICAgICAgICAgICAgICAgIHVpQ29udHJvbGxlci51aVNjcmlwdENvbXBsZXRlKCIiKTsKKyAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgfSkoKTtgOworICAgICAgfQorICAgICAgZnVuY3Rpb24g
ZG9UZXN0KCkKKyAgICAgIHsKKyAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgdGVz
dFJ1bm5lci5ydW5VSVNjcmlwdCAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgICAgICAg
IHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoZ2V0U3dpcGVVSVNjcmlwdCgyLCAyMDAsIDAsIDIsIC4w
NSksICgpID0+IHsKKyAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4geworICAgICAg
ICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJUcmVlJykuaW5u
ZXJUZXh0ID0gaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCwKKyAgICAgICAgICAg
ICAgICAgICBpbnRlcm5hbHMuTEFZRVJfVFJFRV9JTkNMVURFU19WSVNJQkxFX1JFQ1RTIHwgaW50
ZXJuYWxzLkxBWUVSX1RSRUVfSU5DTFVERVNfVElMRV9DQUNIRVMpOworICAgICAgICAgICAgICAg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICAgICAgICAgICAgfSwgMzAw
MCk7CisgICAgICAgICAgICAgIH0pOworICAgICAgICAgIH0KKyAgICAgIH0KKyAgICAgIHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZG9UZXN0LCBmYWxzZSk7CisgICAgPC9zY3JpcHQ+
CisgIDwvaGVhZD4KKyAgPGJvZHk+CisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAxMDAwcHgiPjwv
ZGl2PgorICAgIDxkaXYgaWQ9ImNvbnRhaW5lciIgY2xhc3M9InNjcm9sbGFibGUiIHN0eWxlPSJo
ZWlnaHQ6IDMwMHB4OyB3aWR0aDogMzAwcHgiPgorICAgICAgPGRpdiBjbGFzcz0ic2Nyb2xsYWJs
ZSIgc3R5bGU9ImhlaWdodDogNDAwcHg7IHdpZHRoOiAyMDBweCI+CisgICAgICAgIDxkaXYgc3R5
bGU9ImhlaWdodDogNTAwcHg7IHdpZHRoOiAxMDBweDsgYmFja2dyb3VuZDogZ3JheSI+CisgICAg
ICAgICAgPGRpdiBjbGFzcz0iZml4ZWQiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgIDwv
ZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgc3R5bGU9ImhlaWdodDogMzAwcHgiPjwvZGl2Pgor
ICAgIDxwcmUgaWQ9ImxheWVyVHJlZSI+PC9wcmU+CisgIDwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>331376</attachid>
            <date>2018-01-16 01:44:11 -0800</date>
            <delta_ts>2018-01-24 13:55:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179946-20180116104410.patch</filename>
            <type>text/plain</type>
            <size>17616</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2OTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTVhMzY4NmI1OWZlN2E5
Y2Q3ZTg3ZTUwODk1MTI3ZTlhODI2YjFjMS4uNjJkYjk4N2I4MDk4MWI2NmExY2NjYTljNjQxMzU0
NjU2NTdjOGM2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE4LTAxLTE2ICBGcmVk
ZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4KKworICAgICAgICBTY3JvbGxpbmdTdGF0ZU5v
ZGU6OnJlY29uY2lsZUxheWVyUG9zaXRpb25Gb3JWaWV3cG9ydFJlY3QgaXMgb25seSBjYWxsZWQg
b24gZGlyZWN0IGNoaWxkcmVuIG9mIHRoZSByb290CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk5NDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBTY3JvbGxpbmdTdGF0ZU5vZGU6OnJlY29uY2lsZUxheWVy
UG9zaXRpb25Gb3JWaWV3cG9ydFJlY3QgaXMgY3VycmVudGx5IG9ubHkgY2FsbGVkIG9uIHRoZQor
ICAgICAgICBkaXJlY3QgY2hpbGRyZW4gb2Ygcm9vdCBvZiB0aGUgc2Nyb2xsaW5nIHRyZWUuIEhl
bmNlIG5vZGVzIGxpa2UgInBvc2l0aW9uOiBmaXhlZCIgd2lsbCBub3QKKyAgICAgICAgdXBkYXRl
IHRoZWlyIGxheWVycyBhZnRlciBzY3JvbGxpbmcgd2hlbiB0aGV5IGFyZSBkZWVwZXIgaW4gdGhl
IHRyZWUuIFRoaXMgaXMgYWxyZWFkeQorICAgICAgICBwb3NzaWJsZSBvbiBpT1Mgd2l0aCBvdmVy
ZmxvdyBub2RlcyBhbmQgd2lsbCBoYXBwZW4gd2l0aCBzdWJmcmFtZXMgd2hlbiBhc3luYyBzY3Jv
bGxpbmcgaXMKKyAgICAgICAgaW1wbGVtZW50ZWQuIFRoaXMgY29tbWl0IGZpeGVzIHRoYXQgaXNz
dWUgYnkgcmVjdXJzaXZlbHkgY2FsbGluZyB0aGUgZnVuY3Rpb24KKyAgICAgICAgU2Nyb2xsaW5n
U3RhdGVOb2RlOjpyZWNvbmNpbGVMYXllclBvc2l0aW9uRm9yVmlld3BvcnRSZWN0IG9uIHRoZSBz
Y3JvbGxpbmcgdHJlZS4KKworICAgICAgICBUZXN0OiBmYXN0L3Njcm9sbGluZy9pb3MvcmVjb25j
aWxlLWxheWVyLXBvc2l0aW9uLXJlY3Vyc2l2ZS5odG1sCisKKyAgICAgICAgKiBwYWdlL3Njcm9s
bGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFz
eW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnJlY29uY2lsZVZpZXdwb3J0Q29uc3RyYWluZWRMYXll
clBvc2l0aW9ucyk6IEp1c3QgY2FsbAorICAgICAgICByZWNvbmNpbGVMYXllclBvc2l0aW9uRm9y
Vmlld3BvcnRSZWN0IG9uIHRoZSByb290IG5vZGUuCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nU3RhdGVOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRl
Tm9kZTo6cmVjb25jaWxlTGF5ZXJQb3NpdGlvbkZvclZpZXdwb3J0UmVjdCk6IEJ5IGRlZmF1bHQs
IHRoaXMKKyAgICAgICAgZnVuY3Rpb24gbm93IHJlY3Vyc2l2ZWx5IGNhbGxzIHJlY29uY2lsZUxh
eWVyUG9zaXRpb25Gb3JWaWV3cG9ydFJlY3Qgb24gdGhlIGNoaWxkcmVuLgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGluZ1N0YXRlRml4ZWROb2RlOjpyZWNvbmNpbGVMYXllclBvc2l0aW9uRm9yVmlld3BvcnRSZWN0
KTogQ2FsbCB0aGUgZnVuY3Rpb24KKyAgICAgICAgb24gY2hpbGRyZW4uCisgICAgICAgICogcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZTo6cmVjb25jaWxlTGF5ZXJQb3NpdGlvbkZvclZp
ZXdwb3J0UmVjdCk6IERpdHRvLgorCiAyMDE4LTAxLTE2ICBZYWNpbmUgQmFuZG91ICA8eWFjaW5l
LmJhbmRvdV9leHRAc29mdGF0aG9tZS5jb20+CiAKICAgICAgICAgW1dQRV0gVHdvIGNsZWFya2V5
IHRlc3RzIGZhaWxpbmcgc2luY2UgcjIyNjYyMQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCA1
MTkyNWFiMDdlZjYzNjRmZWVhMjFkY2EyODI1OTg5YTFiMWJkZDI1Li40ZTM3ZTIxZGE0ZDQ0Y2M2
Y2NmZTRkMzA5ZjY4OWZjMDE4YTcxZmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtNDk4
LDE1ICs0OTgsOSBAQCB2b2lkIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnJlY29uY2lsZVZp
ZXdwb3J0Q29uc3RyYWluZWRMYXllclBvc2l0aW9ucyhjb25zdAogICAgIGlmICghbV9zY3JvbGxp
bmdTdGF0ZVRyZWUtPnJvb3RTdGF0ZU5vZGUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgYXV0
byBjaGlsZHJlbiA9IG1fc2Nyb2xsaW5nU3RhdGVUcmVlLT5yb290U3RhdGVOb2RlKCktPmNoaWxk
cmVuKCk7Ci0gICAgaWYgKCFjaGlsZHJlbikKLSAgICAgICAgcmV0dXJuOwotCiAgICAgTE9HX1dJ
VEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8IGdldHBpZCgpIDw8ICIgQXN5bmNTY3JvbGxp
bmdDb29yZGluYXRvcjo6cmVjb25jaWxlVmlld3BvcnRDb25zdHJhaW5lZExheWVyUG9zaXRpb25z
IGZvciB2aWV3cG9ydCByZWN0ICIgPDwgdmlld3BvcnRSZWN0KTsKIAotICAgIC8vIEZJWE1FOiBX
ZSdsbCBoYXZlIHRvIHRyYXZlcnNlIGRlZXBlciBpbnRvIHRoZSB0cmVlIGF0IHNvbWUgcG9pbnQu
Ci0gICAgZm9yIChhdXRvJiBjaGlsZCA6ICpjaGlsZHJlbikKLSAgICAgICAgY2hpbGQtPnJlY29u
Y2lsZUxheWVyUG9zaXRpb25Gb3JWaWV3cG9ydFJlY3Qodmlld3BvcnRSZWN0LCBhY3Rpb24pOwor
ICAgIG1fc2Nyb2xsaW5nU3RhdGVUcmVlLT5yb290U3RhdGVOb2RlKCktPnJlY29uY2lsZUxheWVy
UG9zaXRpb25Gb3JWaWV3cG9ydFJlY3Qodmlld3BvcnRSZWN0LCBhY3Rpb24pOwogfQogCiB2b2lk
IEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmVuc3VyZVJvb3RTdGF0ZU5vZGVGb3JGcmFtZVZp
ZXcoRnJhbWVWaWV3JiBmcmFtZVZpZXcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5jcHAKaW5kZXggZTA2YTU2YTc0
YTUyOTc5N2I2MDY2Mzg0NDMzNDI0NzA1Y2IxMzRkYy4uMjlhMGI0ZGY0ZDU4MjM4NDIwYjI2MWQz
Yzk4NWRhZDQzNjEyZWY0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlLmNwcApAQCAtNzEsNiArNzEsOCBAQCB2
b2lkIFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlOjp1cGRhdGVDb25zdHJhaW50cyhjb25zdCBGaXhl
ZFBvc2l0aW9uVmlld3BvcnRDb25zdAogCiB2b2lkIFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlOjpy
ZWNvbmNpbGVMYXllclBvc2l0aW9uRm9yVmlld3BvcnRSZWN0KGNvbnN0IExheW91dFJlY3QmIHZp
ZXdwb3J0UmVjdCwgU2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbiBhY3Rpb24pCiB7CisgICAg
U2Nyb2xsaW5nU3RhdGVOb2RlOjpyZWNvbmNpbGVMYXllclBvc2l0aW9uRm9yVmlld3BvcnRSZWN0
KHZpZXdwb3J0UmVjdCwgYWN0aW9uKTsKKwogICAgIEZsb2F0UG9pbnQgcG9zaXRpb24gPSBtX2Nv
bnN0cmFpbnRzLmxheWVyUG9zaXRpb25Gb3JWaWV3cG9ydFJlY3Qodmlld3BvcnRSZWN0KTsKICAg
ICBpZiAobGF5ZXIoKS5yZXByZXNlbnRzR3JhcGhpY3NMYXllcigpKSB7CiAgICAgICAgIGF1dG8q
IGdyYXBoaWNzTGF5ZXIgPSBzdGF0aWNfY2FzdDxHcmFwaGljc0xheWVyKj4obGF5ZXIoKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5v
ZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2Rl
LmNwcAppbmRleCA3ZWQ5YmFmYWJjZmE3Y2VmMzFhNjQ3NzkyMjIwMWM5ODUxMDFlYmMxLi40Yzdl
MTQzZmEyZmMwYTg2ZTRlYTY3N2NlMGRhNWYwMTZhMzJhZjlkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5jcHAKQEAgLTEwMCw2
ICsxMDAsMTUgQEAgdm9pZCBTY3JvbGxpbmdTdGF0ZU5vZGU6OmFwcGVuZENoaWxkKFJlZjxTY3Jv
bGxpbmdTdGF0ZU5vZGU+JiYgY2hpbGROb2RlKQogICAgIG1fY2hpbGRyZW4tPmFwcGVuZChXVEZN
b3ZlKGNoaWxkTm9kZSkpOwogfQogCit2b2lkIFNjcm9sbGluZ1N0YXRlTm9kZTo6cmVjb25jaWxl
TGF5ZXJQb3NpdGlvbkZvclZpZXdwb3J0UmVjdChjb25zdCBMYXlvdXRSZWN0JiB2aWV3cG9ydFJl
Y3QsIFNjcm9sbGluZ0xheWVyUG9zaXRpb25BY3Rpb24gYWN0aW9uKQoreworICAgIGlmICghbV9j
aGlsZHJlbikKKyAgICAgICAgcmV0dXJuOworCisgICAgZm9yIChhdXRvJiBjaGlsZCA6ICptX2No
aWxkcmVuKQorICAgICAgICBjaGlsZC0+cmVjb25jaWxlTGF5ZXJQb3NpdGlvbkZvclZpZXdwb3J0
UmVjdCh2aWV3cG9ydFJlY3QsIGFjdGlvbik7Cit9CisKIHZvaWQgU2Nyb2xsaW5nU3RhdGVOb2Rl
OjpzZXRMYXllcihjb25zdCBMYXllclJlcHJlc2VudGF0aW9uJiBsYXllclJlcHJlc2VudGF0aW9u
KQogewogICAgIGlmIChsYXllclJlcHJlc2VudGF0aW9uID09IG1fbGF5ZXIpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5oCmluZGV4IDU4
MWExYWUxMTI3MDM2ZWU3M2YxYWNmM2FlNWYzZTI3Yzc2OGM4Y2EuLjVkYTc5ZjYwYzBiOTE2ZWFi
N2UxYTYyYjk3M2VhY2EwZTFjYmI1N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5oCkBAIC0yMTgsNyArMjE4LDcgQEAgcHVibGlj
OgogICAgIENoYW5nZWRQcm9wZXJ0aWVzIGNoYW5nZWRQcm9wZXJ0aWVzKCkgY29uc3QgeyByZXR1
cm4gbV9jaGFuZ2VkUHJvcGVydGllczsgfQogICAgIHZvaWQgc2V0Q2hhbmdlZFByb3BlcnRpZXMo
Q2hhbmdlZFByb3BlcnRpZXMgY2hhbmdlZFByb3BlcnRpZXMpIHsgbV9jaGFuZ2VkUHJvcGVydGll
cyA9IGNoYW5nZWRQcm9wZXJ0aWVzOyB9CiAgICAgCi0gICAgdmlydHVhbCB2b2lkIHJlY29uY2ls
ZUxheWVyUG9zaXRpb25Gb3JWaWV3cG9ydFJlY3QoY29uc3QgTGF5b3V0UmVjdCYgLyp2aWV3cG9y
dFJlY3QqLywgU2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbikgeyB9CisgICAgdmlydHVhbCB2
b2lkIHJlY29uY2lsZUxheWVyUG9zaXRpb25Gb3JWaWV3cG9ydFJlY3QoY29uc3QgTGF5b3V0UmVj
dCYgLyp2aWV3cG9ydFJlY3QqLywgU2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbik7CiAKICAg
ICBjb25zdCBMYXllclJlcHJlc2VudGF0aW9uJiBsYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fbGF5
ZXI7IH0KICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldExheWVyKGNvbnN0IExheWVyUmVwcmVz
ZW50YXRpb24mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ1N0YXRlU3RpY2t5Tm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3BwCmluZGV4IDFhZDYwMTI0ZjIxZWNmNGMwMWRm
MjU2N2FhNTNjYjRiODE1YTg5M2EuLjk2MDExY2YxOGY5ZjliNmRhOTliZjcxMTA2YTUzYzRiZjBi
ZmI5YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1N0YXRlU3RpY2t5Tm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcApAQCAtNzEsNiArNzEsOCBAQCB2b2lkIFNjcm9s
bGluZ1N0YXRlU3RpY2t5Tm9kZTo6dXBkYXRlQ29uc3RyYWludHMoY29uc3QgU3RpY2t5UG9zaXRp
b25WaWV3cG9ydENvbgogCiB2b2lkIFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZTo6cmVjb25jaWxl
TGF5ZXJQb3NpdGlvbkZvclZpZXdwb3J0UmVjdChjb25zdCBMYXlvdXRSZWN0JiB2aWV3cG9ydFJl
Y3QsIFNjcm9sbGluZ0xheWVyUG9zaXRpb25BY3Rpb24gYWN0aW9uKQogeworICAgIFNjcm9sbGlu
Z1N0YXRlTm9kZTo6cmVjb25jaWxlTGF5ZXJQb3NpdGlvbkZvclZpZXdwb3J0UmVjdCh2aWV3cG9y
dFJlY3QsIGFjdGlvbik7CisKICAgICBGbG9hdFBvaW50IHBvc2l0aW9uID0gbV9jb25zdHJhaW50
cy5sYXllclBvc2l0aW9uRm9yQ29uc3RyYWluaW5nUmVjdCh2aWV3cG9ydFJlY3QpOwogICAgIGlm
IChsYXllcigpLnJlcHJlc2VudHNHcmFwaGljc0xheWVyKCkpIHsKICAgICAgICAgYXV0byogZ3Jh
cGhpY3NMYXllciA9IHN0YXRpY19jYXN0PEdyYXBoaWNzTGF5ZXIqPihsYXllcigpKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCBhNDg0NjY5MTliYTc4MTIwNThmOTMzYzMwODY4Y2QxMTA0MzRiNzg3Li4yNzNjMjkxNDllNjE1
MDM0NTVjZDUzYWQ0MDYxMTFkN2EzMmUzZTJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTgt
MDEtMTYgIEZyZWRlcmljIFdhbmcgIDxmd2FuZ0BpZ2FsaWEuY29tPgorCisgICAgICAgIFNjcm9s
bGluZ1N0YXRlTm9kZTo6cmVjb25jaWxlTGF5ZXJQb3NpdGlvbkZvclZpZXdwb3J0UmVjdCBpcyBv
bmx5IGNhbGxlZCBvbiBkaXJlY3QgY2hpbGRyZW4gb2YgdGhlIHJvb3QKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3OTk0NgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHRlc3QgdGhhdCB2ZXJpZmll
cyB0aGUgY29ycmVjdCB1cGRhdGUgb2YgdGhlIGdyYXBoaWMgbGF5ZXIgb2YgYSAicG9zaXRpb246
IGZpeGVkIiBhbmQKKyAgICAgICAgInBvc2l0aW9uOiBzdGlja3kiIG5vZGVzIGluc2lkZSBhIG5v
bi1mbGF0IHNjcm9sbGluZyB0cmVlLiBUaGUgdGVzdCBjaGVja3MgcmVjdXJzaXZlIGNhbGwKKyAg
ICAgICAgb24gb3ZlcmZsb3csICJwb3NpdGlvbjogc3RpY2t5IiBhbmQgInBvc2l0aW9uOiBmaXhl
ZCIgbm9kZXMuCisKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9pb3MvcmVjb25jaWxlLWxheWVy
LXBvc2l0aW9uLXJlY3Vyc2l2ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
c2Nyb2xsaW5nL2lvcy9yZWNvbmNpbGUtbGF5ZXItcG9zaXRpb24tcmVjdXJzaXZlLmh0bWw6IEFk
ZGVkLgorCiAyMDE4LTAxLTE2ICBZYWNpbmUgQmFuZG91ICA8eWFjaW5lLmJhbmRvdV9leHRAc29m
dGF0aG9tZS5jb20+CiAKICAgICAgICAgW0VNRV0gQWRkIGxheW91dCB0ZXN0IGZvciB0aGUgTVNF
IHBsYXliYWNrIG9mIENsZWFyS2V5IGVuY3J5cHRlZCBhdWRpbyBhbmQgdmlkZW8KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9yZWNvbmNpbGUtbGF5ZXItcG9zaXRp
b24tcmVjdXJzaXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lv
cy9yZWNvbmNpbGUtbGF5ZXItcG9zaXRpb24tcmVjdXJzaXZlLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xYjZmNmRiZWFiYTZhOTUyYWIwNWZmMGU2YjBmY2JkYjJiZDAxOGQzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaW9zL3JlY29uY2lsZS1sYXllci1w
b3NpdGlvbi1yZWN1cnNpdmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTM2IEBACisoR3JhcGhp
Y3NMYXllcgorICAoYW5jaG9yIDAuMDAgMC4wMCkKKyAgKGJvdW5kcyA4MDAuMDAgMTYyMS4wMCkK
KyAgKHZpc2libGUgcmVjdCAwLjAwLCAxMDIxLjAwIDgwMC4wMCB4IDYwMC4wMCkKKyAgKGNvdmVy
YWdlIHJlY3QgMC4wMCwgMTAyMS4wMCA4MDAuMDAgeCA2MDAuMDApCisgIChpbnRlcnNlY3RzIGNv
dmVyYWdlIHJlY3QgMSkKKyAgKGNvbnRlbnRzU2NhbGUgMi4wMCkKKyAgKGNoaWxkcmVuIDEKKyAg
ICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDAuMDAgMTYyMS4wMCkKKyAgICAgIChj
b250ZW50c09wYXF1ZSAxKQorICAgICAgKHZpc2libGUgcmVjdCAwLjAwLCAxMDIxLjAwIDgwMC4w
MCB4IDYwMC4wMCkKKyAgICAgIChjb3ZlcmFnZSByZWN0IDAuMDAsIDc2NS4wMCAxMDU2LjAwIHgg
ODU2LjAwKQorICAgICAgKGludGVyc2VjdHMgY292ZXJhZ2UgcmVjdCAxKQorICAgICAgKGNvbnRl
bnRzU2NhbGUgMi4wMCkKKyAgICAgICh0aWxlIGNhY2hlIGNvdmVyYWdlIDAsIDUxMiA4MDAgeCAx
MTA5KQorICAgICAgKHRpbGUgc2l6ZSA4MDAgeCA1MTIpCisgICAgICAodG9wIGxlZnQgdGlsZSAw
LCAxIHRpbGVzIGdyaWQgMSB4IDMpCisgICAgICAoaW4gd2luZG93IDEpCisgICAgICAoY2hpbGRy
ZW4gMQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiA4LjAwIDEw
MDguMDApCisgICAgICAgICAgKGJvdW5kcyAzMDAuMDAgMzAwLjAwKQorICAgICAgICAgIChkcmF3
c0NvbnRlbnQgMSkKKyAgICAgICAgICAodmlzaWJsZSByZWN0IDAuMDAsIDEzLjAwIDMwMC4wMCB4
IDI4Ny4wMCkKKyAgICAgICAgICAoY292ZXJhZ2UgcmVjdCAtOC4wMCwgLTI0My4wMCAxMDU2LjAw
IHggODU2LjAwKQorICAgICAgICAgIChpbnRlcnNlY3RzIGNvdmVyYWdlIHJlY3QgMSkKKyAgICAg
ICAgICAoY29udGVudHNTY2FsZSAyLjAwKQorICAgICAgICAgIChjaGlsZHJlbiAxCisgICAgICAg
ICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAoYm91bmRzIDMwMC4wMCAzMDAuMDAp
CisgICAgICAgICAgICAgICh2aXNpYmxlIHJlY3QgMC4wMCwgMTMuMDAgMzAwLjAwIHggMjg3LjAw
KQorICAgICAgICAgICAgICAoY292ZXJhZ2UgcmVjdCAwLjAwLCAxMy4wMCAzMDAuMDAgeCAyODcu
MDApCisgICAgICAgICAgICAgIChpbnRlcnNlY3RzIGNvdmVyYWdlIHJlY3QgMSkKKyAgICAgICAg
ICAgICAgKGNvbnRlbnRzU2NhbGUgMi4wMCkKKyAgICAgICAgICAgICAgKGNoaWxkcmVuIDEKKyAg
ICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAgICAgKGJvdW5kcyAz
MDAuMDAgNTEwLjAwKQorICAgICAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAg
ICAgICAgICAgICAgKHZpc2libGUgcmVjdCAwLjAwLCAxMy4wMCAzMDAuMDAgeCAyODcuMDApCisg
ICAgICAgICAgICAgICAgICAoY292ZXJhZ2UgcmVjdCAwLjAwLCAxMy4wMCAzMDAuMDAgeCAyODcu
MDApCisgICAgICAgICAgICAgICAgICAoaW50ZXJzZWN0cyBjb3ZlcmFnZSByZWN0IDEpCisgICAg
ICAgICAgICAgICAgICAoY29udGVudHNTY2FsZSAyLjAwKQorICAgICAgICAgICAgICAgICAgKGNo
aWxkcmVuIDEKKyAgICAgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAg
ICAgICAgICAgICAocG9zaXRpb24gNTAuMDAgNTAuMDApCisgICAgICAgICAgICAgICAgICAgICAg
KGJvdW5kcyAyMTAuMDAgNDEwLjAwKQorICAgICAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRl
bnQgMSkKKyAgICAgICAgICAgICAgICAgICAgICAodmlzaWJsZSByZWN0IDAuMDAsIDAuMDAgMjEw
LjAwIHggMjUwLjAwKQorICAgICAgICAgICAgICAgICAgICAgIChjb3ZlcmFnZSByZWN0IC01MC4w
MCwgLTM3LjAwIDMwMC4wMCB4IDI4Ny4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAoaW50ZXJz
ZWN0cyBjb3ZlcmFnZSByZWN0IDEpCisgICAgICAgICAgICAgICAgICAgICAgKGNvbnRlbnRzU2Nh
bGUgMi4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAgICAg
ICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKG9m
ZnNldEZyb21SZW5kZXJlciB3aWR0aD0tNSBoZWlnaHQ9LTUpCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIChwb3NpdGlvbiA1LjAwIDUuMDApCisgICAgICAgICAgICAgICAgICAgICAgICAgIChi
b3VuZHMgMjAwLjAwIDQwMC4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKHZpc2libGUg
cmVjdCAwLjAwLCAwLjAwIDIwMC4wMCB4IDI0NS4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgKGNvdmVyYWdlIHJlY3QgMC4wMCwgMC4wMCAyMDAuMDAgeCAyNDUuMDApCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIChpbnRlcnNlY3RzIGNvdmVyYWdlIHJlY3QgMSkKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgKGNvbnRlbnRzU2NhbGUgMi4wMCkKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoR3JhcGhpY3NM
YXllcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9mZnNldEZyb21SZW5kZXJlciB3
aWR0aD01IGhlaWdodD01KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJvdW5kcyAy
NzAuMDAgNjEwLjAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRyYXdzQ29udGVu
dCAxKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZpc2libGUgcmVjdCAwLjAwLCAw
LjAwIDIwMC4wMCB4IDI0NS4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb3Zl
cmFnZSByZWN0IDAuMDAsIDAuMDAgMjAwLjAwIHggMjQ1LjAwKQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKGludGVyc2VjdHMgY292ZXJhZ2UgcmVjdCAxKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKGNvbnRlbnRzU2NhbGUgMi4wMCkKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIChjaGlsZHJlbiAyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChH
cmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBvc2l0aW9u
IDcuMDAgMjguMDApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFwcHJveGlt
YXRlIHBvc2l0aW9uIDcuMDAgMjguMDApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKGJvdW5kcyAxMTAuMDAgMTEwLjAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIChjb250ZW50c09wYXF1ZSAxKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodmlz
aWJsZSByZWN0IDAuMDAsIDAuMDAgMTEwLjAwIHggMTEwLjAwKQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIChjb3ZlcmFnZSByZWN0IC03LjAwLCAtMjguMDAgMjAwLjAwIHggMjQ1
LjAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnRlcnNlY3RzIGNvdmVy
YWdlIHJlY3QgMSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29udGVudHNT
Y2FsZSAyLjAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGlsZHJlbiAx
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocG9zaXRpb24gNTUuMDAgNTUuMDAp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhcHByb3hpbWF0ZSBwb3Np
dGlvbiA1NS4wMCA1NS4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
KGJvdW5kcyAxMTAuMDAgMTEwLjAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAodmlzaWJsZSByZWN0IDAuMDAsIDAuMDAgMTEwLjAwIHggMTEwLjAwKQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY292ZXJhZ2UgcmVjdCAtNjIuMDAsIC04My4w
MCAyMDAuMDAgeCAyNDUuMDApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IChpbnRlcnNlY3RzIGNvdmVyYWdlIHJlY3QgMSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKGNvbnRlbnRzU2NhbGUgMi4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo
cG9zaXRpb24gMTA1LjAwIDM5NS4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAoYXBwcm94aW1hdGUgcG9zaXRpb24gMTA1LjAwIDM5NS4wMCkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAoYm91bmRzIDExMC4wMCAxMTAuMDApCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICh2aXNpYmxlIHJlY3QgMC4wMCwgMC4wMCAwLjAwIHggMC4wMCkKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAoY292ZXJhZ2UgcmVjdCAtMTA1LjAwLCAtMzk1LjAw
IDIwMC4wMCB4IDI0NS4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW50
ZXJzZWN0cyBjb3ZlcmFnZSByZWN0IDEpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKGNvbnRlbnRzU2NhbGUgMi4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAoY2hpbGRyZW4gMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEdyYXBo
aWNzTGF5ZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBvc2l0aW9u
IDU1LjAwIDU1LjAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXBw
cm94aW1hdGUgcG9zaXRpb24gNTUuMDAgNTUuMDApCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIChib3VuZHMgMTEwLjAwIDExMC4wMCkKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKHZpc2libGUgcmVjdCAwLjAwLCAwLjAwIDAuMDAgeCAwLjAwKQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY292ZXJhZ2UgcmVjdCAtMTYw
LjAwLCAtNDUwLjAwIDIwMC4wMCB4IDI0NS4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKGludGVyc2VjdHMgY292ZXJhZ2UgcmVjdCAxKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAoY29udGVudHNTY2FsZSAyLjAwKQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAg
ICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAg
KQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgKQorICAgICAgICAgICAgKQorICAg
ICAgICAgICkKKyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAgKQorKQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3MvcmVjb25jaWxlLWxheWVyLXBvc2l0aW9u
LXJlY3Vyc2l2ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaW9zL3JlY29uY2ls
ZS1sYXllci1wb3NpdGlvbi1yZWN1cnNpdmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNWFjZWM3ZmFmZThk
MGJkNzgyMDFlOTQzMjA2ZDhmN2E3ZDNlMmNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvaW9zL3JlY29uY2lsZS1sYXllci1wb3NpdGlvbi1yZWN1cnNpdmUu
aHRtbApAQCAtMCwwICsxLDc3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4K
KyAgICA8dGl0bGU+UmVjb25jaWxlIGxheWVyIHBvc2l0aW9uIHJlY3Vyc2l2ZTwvdGl0bGU+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KKyAgICA8c3R5bGU+CisgICAgICAjY29udGFpbmVy
IGRpdiB7CisgICAgICAgICBtYXJnaW46IDUwcHg7CisgICAgICAgICBib3JkZXI6IDVweCBzb2xp
ZCBibGFjazsKKyAgICAgIH0KKyAgICAgIC5zY3JvbGxhYmxlIHsKKyAgICAgICAgIGJhY2tncm91
bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIGN5YW4sIGdyZWVuKTsKKyAgICAgICAgIG92ZXJm
bG93OiBhdXRvOworICAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOwor
ICAgICAgfQorICAgICAgLmZpeGVkIHsKKyAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKKyAgICAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgICBiYWNr
Z3JvdW5kOiB5ZWxsb3c7CisgICAgICB9CisgICAgICAuc3RpY2t5IHsKKyAgICAgICAgIHBvc2l0
aW9uOiAtd2Via2l0LXN0aWNreTsKKyAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7CisgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICAgYmFja2dy
b3VuZDogbWFnZW50YTsKKyAgICAgIH0KKyAgICA8L3N0eWxlPgorICAgIDxzY3JpcHQ+CisgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTsKKyAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgIH0KKyAg
ICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0
dGluZ3Muc2V0QXN5bmNGcmFtZVNjcm9sbGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICBmdW5jdGlv
biBnZXRTd2lwZVVJU2NyaXB0KGZyb21YLCBmcm9tWSwgdG9YLCB0b1ksIGR1cmF0aW9uKQorICAg
ICAgeworICAgICAgICAgIHJldHVybiBgKCgpID0+IHsKKyAgICAgICAgICAgICAgdWlDb250cm9s
bGVyLmRyYWdGcm9tUG9pbnRUb1BvaW50KCR7ZnJvbVh9LCAke2Zyb21ZfSwgJHt0b1h9LCAke3Rv
WX0sICR7ZHVyYXRpb259LCAoKSA9PiB7CisgICAgICAgICAgICAgICAgICB1aUNvbnRyb2xsZXIu
dWlTY3JpcHRDb21wbGV0ZSgiIik7CisgICAgICAgICAgICAgIH0pOworICAgICAgICAgIH0pKCk7
YDsKKyAgICAgIH0KKyAgICAgIGZ1bmN0aW9uIGRvVGVzdCgpCisgICAgICB7CisgICAgICAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQgJiYgd2luZG93
LmludGVybmFscykgeworICAgICAgICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGdldFN3
aXBlVUlTY3JpcHQoMiwgMjAwLCAwLCAyLCAuMDUpLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
ICBzZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2xheWVyVHJlZScpLmlubmVyVGV4dCA9IGludGVybmFscy5sYXllclRyZWVB
c1RleHQoZG9jdW1lbnQsCisgICAgICAgICAgICAgICAgICAgaW50ZXJuYWxzLkxBWUVSX1RSRUVf
SU5DTFVERVNfVklTSUJMRV9SRUNUUyB8IGludGVybmFscy5MQVlFUl9UUkVFX0lOQ0xVREVTX1RJ
TEVfQ0FDSEVTKTsKKyAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUo
KTsKKyAgICAgICAgICAgICAgICAgIH0sIDMwMDApOworICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICB9CisgICAgICB9CisgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGRv
VGVzdCwgZmFsc2UpOworICAgIDwvc2NyaXB0PgorICA8L2hlYWQ+CisgIDxib2R5PgorICAgIDxk
aXYgc3R5bGU9ImhlaWdodDogMTAwMHB4Ij48L2Rpdj4KKyAgICA8ZGl2IGlkPSJjb250YWluZXIi
IGNsYXNzPSJzY3JvbGxhYmxlIiBzdHlsZT0iaGVpZ2h0OiAzMDBweDsgd2lkdGg6IDMwMHB4Ij4K
KyAgICAgIDxkaXYgY2xhc3M9InNjcm9sbGFibGUiIHN0eWxlPSJoZWlnaHQ6IDQwMHB4OyB3aWR0
aDogMjAwcHgiPgorICAgICAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDUwMHB4OyB3aWR0aDogMTAw
cHg7IGJhY2tncm91bmQ6IGdyYXkiPgorICAgICAgICAgIDxkaXYgY2xhc3M9ImZpeGVkIiBzdHls
ZT0ibGVmdDogMjBweDsgdG9wOiAyMHB4OyI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGlj
a3kiIHN0eWxlPSJsZWZ0OiAzMHB4OyB0b3A6IDMwcHg7Ij48L2Rpdj4KKyAgICAgICAgICA8L2Rp
dj4KKyAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGlja3kiIHN0eWxlPSJsZWZ0OiAyMHB4OyB0b3A6
IDcwcHg7Ij4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0aWNreSIgc3R5bGU9ImxlZnQ6IDMw
cHg7IHRvcDogMzBweDsiPjwvZGl2PgorICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4K
KyAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgc3R5bGU9ImhlaWdodDogMzAwcHgi
PjwvZGl2PgorICAgIDxwcmUgaWQ9ImxheWVyVHJlZSI+PC9wcmU+CisgIDwvYm9keT4KKzwvaHRt
bD4K
</data>
<flag name="review"
          id="350336"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>