<?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>166968</bug_id>
          
          <creation_ts>2017-01-12 05:22:24 -0800</creation_ts>
          <short_desc>[Cairo] Limit the number of active contexts in GraphicsContext3DCairo</short_desc>
          <delta_ts>2017-11-28 23:08:30 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>174860</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1266125</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-01-12 05:22:24 -0800</bug_when>
    <thetext>[Cairo] Limit the number of active contexts in GraphicsContext3DCairo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1266131</commentid>
    <comment_count>1</comment_count>
      <attachid>298674</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-01-12 06:06:46 -0800</bug_when>
    <thetext>Created attachment 298674
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1266181</commentid>
    <comment_count>2</comment_count>
      <attachid>298674</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-01-12 09:56:49 -0800</bug_when>
    <thetext>Comment on attachment 298674
Patch

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

We should add a test for this.  Make 17 canvases and make sure the first one was recycled.
My review comments also apply to things that should be changed in GraphicsContext3DMac

&gt; Source/WebCore/platform/graphics/cairo/GraphicsContext3DCairo.cpp:63
&gt; +    static NeverDestroyed&lt;Vector&lt;GraphicsContext3D*&gt;&gt; s_activeContexts;

The way you are using this would make a Deque more efficient than a Vector.

&gt; Source/WebCore/platform/graphics/cairo/GraphicsContext3DCairo.cpp:91
&gt; +    // Calling recycleContext() above should have lead to the graphics context being
&gt; +    // destroyed and thus removed from the active contexts list.
&gt; +    if (contexts.size() &gt;= MaxActiveContexts)
&gt; +        return nullptr;

If this is true, this should just be an assertion instead of a code path that can never be hit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1266192</commentid>
    <comment_count>3</comment_count>
      <attachid>298674</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-01-12 10:21:59 -0800</bug_when>
    <thetext>Comment on attachment 298674
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/cairo/GraphicsContext3DCairo.cpp:91
&gt;&gt; +        return nullptr;
&gt; 
&gt; If this is true, this should just be an assertion instead of a code path that can never be hit.

Rethinking this, the Linux ports are using GraphicsContext3D liberally in GStreamer and TextureMapper code. So the recycling wouldn&apos;t work in those cases. This could be avoided if in those cases the GraphicsContext3D objects are created with some specific attribute set.

Otherwise, the GraphicsContext3D objects are only created in the WebGLRenderingContextBase implementation. In the constructor of that class, the passed-in GraphicsContext3D object is associated with the WebGLRenderingContextBase via the setWebGLContext() call. But a GraphicsContext3D object is also created in WebGLRenderingContextBase::maybeRestoreContext(), but there&apos;s no association via setWebGLContext() there -- I assume that&apos;s a bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1266266</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-01-12 13:34:57 -0800</bug_when>
    <thetext>Somewhat unrelated, but why is GraphicsContext3DPrivate a PlatformLayer when using Texture Mapper?  This is causing conceptual problems in my Mac EGL/GLESv2 WebGL implementation where a PlatformLayer is a CALayer.  Could this be reorganized?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1266456</commentid>
    <comment_count>5</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-01-13 07:15:26 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Somewhat unrelated, but why is GraphicsContext3DPrivate a PlatformLayer when
&gt; using Texture Mapper?  This is causing conceptual problems in my Mac
&gt; EGL/GLESv2 WebGL implementation where a PlatformLayer is a CALayer.  Could
&gt; this be reorganized?

It can probably be moved into an equivalent of m_webGLLayer that&apos;s used on PLATFORM(COCOA) and PLATFORM(WIN).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1374998</commentid>
    <comment_count>6</comment_count>
      <attachid>327646</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-11-27 10:43:10 -0800</bug_when>
    <thetext>Created attachment 327646
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375000</commentid>
    <comment_count>7</comment_count>
      <attachid>327647</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-11-27 10:44:07 -0800</bug_when>
    <thetext>Created attachment 327647
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375003</commentid>
    <comment_count>8</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2017-11-27 10:46:59 -0800</bug_when>
    <thetext>Attachment 327647 did not pass style-queue:


ERROR: Source/WebCore/platform/graphics/cairo/GraphicsContext3DCairo.cpp:274:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375730</commentid>
    <comment_count>9</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-11-28 23:07:38 -0800</bug_when>
    <thetext>Committed r225260: &lt;https://trac.webkit.org/changeset/225260&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375731</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-28 23:08:30 -0800</bug_when>
    <thetext>&lt;rdar://problem/35742143&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>298674</attachid>
            <date>2017-01-12 06:06:46 -0800</date>
            <delta_ts>2017-11-27 10:43:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-166968-20170112060505.patch</filename>
            <type>text/plain</type>
            <size>3608</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEwNTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODI2Nzg0YzcwMDQ0Mzhl
NjE1ZTM0MWNmMzZhODY1M2UzZTgxY2FiYS4uZTcwNzAyNWU1NWE2Y2NlNGNkZTdkMTExYjk2YTUw
MmU3Nzg0ZjI1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE3LTAxLTEyICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbQ2Fpcm9dIExpbWl0
IHRoZSBudW1iZXIgb2YgYWN0aXZlIGNvbnRleHRzIGluIEdyYXBoaWNzQ29udGV4dDNEQ2Fpcm8K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Njk2OAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENhaXJvJ3Mg
aW1wbGVtZW50YXRpb24gb2YgR3JhcGhpY3NDb250ZXh0M0Qgc2hvdWxkIGZvbGxvdyB0aGUgTWFj
J3MKKyAgICAgICAgYW5kIGxpbWl0IHRoZSBudW1iZXIgb2YgYWN0aXZlIEdyYXBoaWNzQ29udGV4
dDNEIG9iamVjdHMuCisKKyAgICAgICAgVGhlIGFjdGl2ZSBjb250ZXh0cyBhcmUgbGlzdGVkIGlu
IGEgZ2xvYmFsIFZlY3Rvciwgd2l0aCB0aGUgZmlyc3QKKyAgICAgICAgYW1vbmcgdGhlbSBiZWlu
ZyByZWN5Y2xlZCB3aGVuIHRoZSBHcmFwaGljc0NvbnRleHQzRDo6Y3JlYXRlKCkKKyAgICAgICAg
ZnVuY3Rpb24gc2VlcyB0aGF0IHRoZSBsaW1pdCBoYXMgYmVlbiByZWFjaGVkLiBUaGF0IGZ1bmN0
aW9uIHN0aWxsCisgICAgICAgIHJldHVybnMgbnVsbCBpZiBldmVuIGFmdGVyIHJlY3ljbGluZyB0
aGUgbnVtYmVyIG9mIGNvbnRleHRzIGRpZG4ndAorICAgICAgICBkZWNyZWFzZS4KKworICAgICAg
ICBGaW5hbGx5LCBpbiB0aGUgR3JhcGhpY3NDb250ZXh0M0QgZGVzdHJ1Y3RvciwgdGhlIGNvbnRl
eHQgYmVpbmcKKyAgICAgICAgZGVzdHJveWVkIGlzIHJlbW92ZWQgZnJvbSB0aGUgbGlzdCBvZiBh
Y3RpdmUgY29udGV4dHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFw
aGljc0NvbnRleHQzRENhaXJvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFjdGl2ZUNvbnRleHRz
KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjpjcmVhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6On5HcmFwaGljc0NvbnRleHQzRCk6CisKIDIw
MTctMDEtMTEgIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAg
VW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIxMDU3MS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dDNEQ2Fpcm8uY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0M0RD
YWlyby5jcHAKaW5kZXggYjlmOTNhZjcwZDljNWI4OTI4NzEwNzk4M2IwNjg3MmM0NmQ3ZTE3Ni4u
YWEwZjQyNGQzNzBhMDE1NTM0YjYwN2IwYzcwMjhiMzM0ZWFkN2Y1NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0M0RDYWly
by5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhp
Y3NDb250ZXh0M0RDYWlyby5jcHAKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlICJQbGF0Zm9y
bUNvbnRleHRDYWlyby5oIgogI2luY2x1ZGUgIlJlZlB0ckNhaXJvLmgiCiAjaW5jbHVkZSA8Y2Fp
cm8uaD4KKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KIAogI2lmIFBMQVRGT1JNKFdJ
TikKICNpbmNsdWRlIDxHTFNMQU5HL1NoYWRlckxhbmcuaD4KQEAgLTU2LDYgKzU3LDEzIEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorc3RhdGljIGNvbnN0IGludCBNYXhBY3RpdmVDb250ZXh0
cyA9IDE2Oworc3RhdGljIFZlY3RvcjxHcmFwaGljc0NvbnRleHQzRCo+JiBhY3RpdmVDb250ZXh0
cygpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFZlY3RvcjxHcmFwaGljc0NvbnRleHQz
RCo+PiBzX2FjdGl2ZUNvbnRleHRzOworICAgIHJldHVybiBzX2FjdGl2ZUNvbnRleHRzOworfQor
CiBSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+IEdyYXBoaWNzQ29udGV4dDNEOjpjcmVhdGUoR3Jh
cGhpY3NDb250ZXh0M0RBdHRyaWJ1dGVzIGF0dHJpYnV0ZXMsIEhvc3RXaW5kb3cqIGhvc3RXaW5k
b3csIEdyYXBoaWNzQ29udGV4dDNEOjpSZW5kZXJTdHlsZSByZW5kZXJTdHlsZSkKIHsKICAgICAv
LyBUaGlzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgY3VycmVudGx5IHN1cHBvcnQgcmVuZGVyaW5n
IGRpcmVjdGx5IHRvIHRoZSBIb3N0V2luZG93LgpAQCAtNzMsNyArODEsMTggQEAgUmVmUHRyPEdy
YXBoaWNzQ29udGV4dDNEPiBHcmFwaGljc0NvbnRleHQzRDo6Y3JlYXRlKEdyYXBoaWNzQ29udGV4
dDNEQXR0cmlidXRlcwogICAgIGlmICghc3VjY2VzcykKICAgICAgICAgcmV0dXJuIDA7CiAKLSAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IEdyYXBoaWNzQ29udGV4dDNEKGF0dHJpYnV0ZXMsIGhvc3RX
aW5kb3csIHJlbmRlclN0eWxlKSk7CisgICAgYXV0byYgY29udGV4dHMgPSBhY3RpdmVDb250ZXh0
cygpOworICAgIGlmIChjb250ZXh0cy5zaXplKCkgPj0gTWF4QWN0aXZlQ29udGV4dHMpCisgICAg
ICAgIGNvbnRleHRzLmF0KDApLT5yZWN5Y2xlQ29udGV4dCgpOworCisgICAgLy8gQ2FsbGluZyBy
ZWN5Y2xlQ29udGV4dCgpIGFib3ZlIHNob3VsZCBoYXZlIGxlYWQgdG8gdGhlIGdyYXBoaWNzIGNv
bnRleHQgYmVpbmcKKyAgICAvLyBkZXN0cm95ZWQgYW5kIHRodXMgcmVtb3ZlZCBmcm9tIHRoZSBh
Y3RpdmUgY29udGV4dHMgbGlzdC4KKyAgICBpZiAoY29udGV4dHMuc2l6ZSgpID49IE1heEFjdGl2
ZUNvbnRleHRzKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIGF1dG8gY29udGV4dCA9
IGFkb3B0UmVmKG5ldyBHcmFwaGljc0NvbnRleHQzRChhdHRyaWJ1dGVzLCBob3N0V2luZG93LCBy
ZW5kZXJTdHlsZSkpOworICAgIGNvbnRleHRzLmFwcGVuZChjb250ZXh0LmdldCgpKTsKKyAgICBy
ZXR1cm4gY29udGV4dDsKIH0KIAogR3JhcGhpY3NDb250ZXh0M0Q6OkdyYXBoaWNzQ29udGV4dDNE
KEdyYXBoaWNzQ29udGV4dDNEQXR0cmlidXRlcyBhdHRyaWJ1dGVzLCBIb3N0V2luZG93KiwgR3Jh
cGhpY3NDb250ZXh0M0Q6OlJlbmRlclN0eWxlIHJlbmRlclN0eWxlKQpAQCAtMjIzLDYgKzI0Miw5
IEBAIEdyYXBoaWNzQ29udGV4dDNEOjp+R3JhcGhpY3NDb250ZXh0M0QoKQogCiAgICAgaWYgKG1f
dmFvKQogICAgICAgICBkZWxldGVWZXJ0ZXhBcnJheShtX3Zhbyk7CisKKyAgICBBU1NFUlQoYWN0
aXZlQ29udGV4dHMoKS5jb250YWlucyh0aGlzKSk7CisgICAgYWN0aXZlQ29udGV4dHMoKS5yZW1v
dmVGaXJzdCh0aGlzKTsKIH0KIAogR3JhcGhpY3NDb250ZXh0M0Q6OkltYWdlRXh0cmFjdG9yOjp+
SW1hZ2VFeHRyYWN0b3IoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327646</attachid>
            <date>2017-11-27 10:43:10 -0800</date>
            <delta_ts>2017-11-27 10:44:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-166968-20171127194309.patch</filename>
            <type>text/plain</type>
            <size>7804</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1MTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2UzNjVkMDA5YWRhZjZh
MGQ5Y2I3YWQ3OGMwMjQyZDEzYmZhNGUyYi4uOGFjOTFmNDAwMGRhYjI2YzI0NDMyOTgzYzM4NzA0
ZGViODVmMGFjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMxIEBACiAyMDE3LTExLTI3ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAorICAgICAgICBbQ2Fpcm9dIExpbWl0
IHRoZSBudW1iZXIgb2YgYWN0aXZlIGNvbnRleHRzIGluIEdyYXBoaWNzQ29udGV4dDNEQ2Fpcm8K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Njk2OAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENhaXJvJ3Mg
aW1wbGVtZW50YXRpb24gb2YgR3JhcGhpY3NDb250ZXh0M0Qgc2hvdWxkIGZvbGxvdyB0aGUgTWFj
J3MKKyAgICAgICAgYW5kIGxpbWl0IHRoZSBudW1iZXIgb2YgYWN0aXZlIEdyYXBoaWNzQ29udGV4
dDNEIG9iamVjdHMuCisKKyAgICAgICAgVGhlIGFjdGl2ZSBjb250ZXh0cyBhcmUgbGlzdGVkIGlu
IGEgZ2xvYmFsIERlcXVlLCB3aXRoIHRoZSBmaXJzdAorICAgICAgICBhbW9uZyB0aGVtIGJlaW5n
IHJlY3ljbGVkIHdoZW4gdGhlIEdyYXBoaWNzQ29udGV4dDNEOjpjcmVhdGUoKQorICAgICAgICBm
dW5jdGlvbiBzZWVzIHRoYXQgdGhlIGxpbWl0IGhhcyBiZWVuIHJlYWNoZWQuIFRoYXQgZnVuY3Rp
b24gc3RpbGwKKyAgICAgICAgcmV0dXJucyBudWxsIGlmIGV2ZW4gYWZ0ZXIgcmVjeWNsaW5nIHRo
ZSBudW1iZXIgb2YgY29udGV4dHMgZGlkbid0CisgICAgICAgIGRlY3JlYXNlLgorCisgICAgICAg
IEZpbmFsbHksIGluIHRoZSBHcmFwaGljc0NvbnRleHQzRCBkZXN0cnVjdG9yLCB0aGUgY29udGV4
dCBiZWluZworICAgICAgICBkZXN0cm95ZWQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBsaXN0IG9mIGFj
dGl2ZSBjb250ZXh0cy4KKworICAgICAgICBObyBuZXcgdGVzdHMgLS0gcmVsZXZhbnQgdGVzdHMg
YXJlIG5vdyBwYXNzaW5nLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3Jh
cGhpY3NDb250ZXh0M0RDYWlyby5jcHA6CisgICAgICAgIChXZWJDb3JlOjphY3RpdmVDb250ZXh0
cyk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp+R3JhcGhpY3NDb250ZXh0M0QpOgorCisy
MDE3LTExLTI3ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKwogICAgICAg
ICBbQ29vcmRHcmFwaGljc10gQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyIGRvZXNuJ3QgbmVlZCB0
byBpbmhlcml0IGZyb20gVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXI6OkNsaWVudAogICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMDM2CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29u
dGV4dDNEQ2Fpcm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8v
R3JhcGhpY3NDb250ZXh0M0RDYWlyby5jcHAKaW5kZXggNGJkODg0NjdlYzhiMWU2ZWNhOWYzZjc3
Yjk5ZWEzZmQ3Y2Q2OTVkMC4uNTg3OGE3ODNiNTU1MjAyMmU4NGExMWJkNjcwZGZjM2VkYmViNWRm
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3Jh
cGhpY3NDb250ZXh0M0RDYWlyby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0M0RDYWlyby5jcHAKQEAgLTQwLDYgKzQwLDcgQEAK
ICNpbmNsdWRlICJQbGF0Zm9ybUNvbnRleHRDYWlyby5oIgogI2luY2x1ZGUgIlJlZlB0ckNhaXJv
LmgiCiAjaW5jbHVkZSA8Y2Fpcm8uaD4KKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4K
IAogI2lmIFBMQVRGT1JNKFdJTikKICNpbmNsdWRlIDxHTFNMQU5HL1NoYWRlckxhbmcuaD4KQEAg
LTY1LDYgKzY2LDEzIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorc3RhdGljIGNvbnN0IHNp
emVfdCBNYXhBY3RpdmVDb250ZXh0cyA9IDE2Oworc3RhdGljIERlcXVlPEdyYXBoaWNzQ29udGV4
dDNEKiwgTWF4QWN0aXZlQ29udGV4dHM+JiBhY3RpdmVDb250ZXh0cygpCit7CisgICAgc3RhdGlj
IE5ldmVyRGVzdHJveWVkPERlcXVlPEdyYXBoaWNzQ29udGV4dDNEKiwgTWF4QWN0aXZlQ29udGV4
dHM+PiBzX2FjdGl2ZUNvbnRleHRzOworICAgIHJldHVybiBzX2FjdGl2ZUNvbnRleHRzOworfQor
CiBSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+IEdyYXBoaWNzQ29udGV4dDNEOjpjcmVhdGUoR3Jh
cGhpY3NDb250ZXh0M0RBdHRyaWJ1dGVzIGF0dHJpYnV0ZXMsIEhvc3RXaW5kb3cqIGhvc3RXaW5k
b3csIEdyYXBoaWNzQ29udGV4dDNEOjpSZW5kZXJTdHlsZSByZW5kZXJTdHlsZSkKIHsKICAgICAv
LyBUaGlzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgY3VycmVudGx5IHN1cHBvcnQgcmVuZGVyaW5n
IGRpcmVjdGx5IHRvIHRoZSBIb3N0V2luZG93LgpAQCAtODIsNiArOTAsMTUgQEAgUmVmUHRyPEdy
YXBoaWNzQ29udGV4dDNEPiBHcmFwaGljc0NvbnRleHQzRDo6Y3JlYXRlKEdyYXBoaWNzQ29udGV4
dDNEQXR0cmlidXRlcwogICAgIGlmICghc3VjY2VzcykKICAgICAgICAgcmV0dXJuIG51bGxwdHI7
CiAKKyAgICBhdXRvJiBjb250ZXh0cyA9IGFjdGl2ZUNvbnRleHRzKCk7CisgICAgaWYgKGNvbnRl
eHRzLnNpemUoKSA+PSBNYXhBY3RpdmVDb250ZXh0cykKKyAgICAgICAgY29udGV4dHMuZmlyc3Qo
KS0+cmVjeWNsZUNvbnRleHQoKTsKKworICAgIC8vIENhbGxpbmcgcmVjeWNsZUNvbnRleHQoKSBh
Ym92ZSBzaG91bGQgaGF2ZSBsZWFkIHRvIHRoZSBncmFwaGljcyBjb250ZXh0IGJlaW5nCisgICAg
Ly8gZGVzdHJveWVkIGFuZCB0aHVzIHJlbW92ZWQgZnJvbSB0aGUgYWN0aXZlIGNvbnRleHRzIGxp
c3QuCisgICAgaWYgKGNvbnRleHRzLnNpemUoKSA+PSBNYXhBY3RpdmVDb250ZXh0cykKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisKICAgICAvLyBDcmVhdGUgdGhlIEdyYXBoaWNzQ29udGV4dDNE
IG9iamVjdCBmaXJzdCBpbiBvcmRlciB0byBlc3RhYmxpc3QgYSBjdXJyZW50IGNvbnRleHQgb24g
dGhpcyB0aHJlYWQuCiAgICAgYXV0byBjb250ZXh0ID0gYWRvcHRSZWYobmV3IEdyYXBoaWNzQ29u
dGV4dDNEKGF0dHJpYnV0ZXMsIGhvc3RXaW5kb3csIHJlbmRlclN0eWxlKSk7CiAKQEAgLTkxLDYg
KzEwOCw3IEBAIFJlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gR3JhcGhpY3NDb250ZXh0M0Q6OmNy
ZWF0ZShHcmFwaGljc0NvbnRleHQzREF0dHJpYnV0ZXMKICAgICAgICAgcmV0dXJuIG51bGxwdHI7
CiAjZW5kaWYKIAorICAgIGNvbnRleHRzLmFwcGVuZChjb250ZXh0LmdldCgpKTsKICAgICByZXR1
cm4gY29udGV4dDsKIH0KIApAQCAtMjUxLDYgKzI2OSw5IEBAIEdyYXBoaWNzQ29udGV4dDNEOjp+
R3JhcGhpY3NDb250ZXh0M0QoKQogCiAgICAgaWYgKG1fdmFvKQogICAgICAgICBkZWxldGVWZXJ0
ZXhBcnJheShtX3Zhbyk7CisKKyAgICBhdXRvKiBhY3RpdmVDb250ZXh0ID0gYWN0aXZlQ29udGV4
dHMoKS50YWtlTGFzdChbdGhpc10oYXV0byogaXQpIHsgcmV0dXJuIGl0ID09IHRoaXM7IH0pOwor
ICAgIEFTU0VSVF9VTlVTRUQoYWN0aXZlQ29udGV4dCwgISFhY3RpdmVDb250ZXh0KTsKIH0KIAog
R3JhcGhpY3NDb250ZXh0M0Q6OkltYWdlRXh0cmFjdG9yOjp+SW1hZ2VFeHRyYWN0b3IoKQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGVkZGI0N2I4OThjNjU2ZDAzZGMwZjI3ODM0ZTcyMDEyYTc5ZDdkODQuLmQyNjVjMDdiYzRj
NTg2NjEzYmRhMDZmODM1YTY1NGRjZTE4ODhkMTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAx
Ny0xMS0yNyAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CisKKyAgICAgICAg
W0NhaXJvXSBMaW1pdCB0aGUgbnVtYmVyIG9mIGFjdGl2ZSBjb250ZXh0cyBpbiBHcmFwaGljc0Nv
bnRleHQzRENhaXJvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjY5NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOiBVbnNraXAgV2ViR0wgdGVzdHMg
dGhhdCB3ZXJlIGZhaWxpbmcKKyAgICAgICAgZHVlIHRvIG1pc3NpbmcgYWN0aXZlIGNvbnRleHQg
bGltaXQgbWFuYWdlbWVudC4KKyAgICAgICAgKiBwbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9u
czogRGl0dG8uCisKIDIwMTctMTEtMjcgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNv
bT4KIAogICAgICAgICBQcmVzc2luZyB0aGUgc3BhY2UgYmFyIHdoaWxlIHdhdGNoaW5nIGEgZnVs
bHNjcmVlbiB2aWRlbyBkb2Vzbid0IHBsYXkgb3IgcGF1c2UKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggOWFiOGExNzg2YmYxM2NmNzczYTk4MzQ3ZDM5N2Jk
N2U2MjZiNzlmNC4uMWI3ODY2ODQ0YmE5ZDhlOGIyM2MyOGQ1NzVmMzFkNTU2ZmI2YzNkNyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ4OSwxMSArNDg5
LDYgQEAgd2Via2l0Lm9yZy9iLzE2OTkxNyB3ZWJnbC8xLjAuMy9jb25mb3JtYW5jZS9nbHNsL21p
c2Mvc2hhZGVycy13aXRoLW5hbWUtY29uZmxpY3QKIHdlYmtpdC5vcmcvYi8xNjk5MTcgd2ViZ2wv
MS4wLjMvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy9mZWVkYmFjay1sb29wLmh0bWwgWyBGYWls
dXJlIF0KIHdlYmtpdC5vcmcvYi8xNjk5MTcgd2ViZ2wvMS4wLjMvY29uZm9ybWFuY2UvcmVuZGVy
aW5nL3BvaW50LW5vLWF0dHJpYnV0ZXMuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE2
OTkxNyB3ZWJnbC8xLjAuMy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWNvcHlpbmctZmVl
ZGJhY2stbG9vcHMuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzE2OTkxNyB3ZWJnbC9t
YW55LWNvbnRleHRzLWFjY2Vzcy1hZnRlci1sb3NzLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5v
cmcvYi8xNjk5MTcgd2ViZ2wvbWFueS1jb250ZXh0cy5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQu
b3JnL2IvMTY5OTE3IHdlYmdsL21heC1hY3RpdmUtY29udGV4dHMtY29uc29sZS13YXJuaW5nLmh0
bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8xNjk5MTcgd2ViZ2wvbWF4LWFjdGl2ZS1jb250
ZXh0cy1nYy5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTY5OTE3IHdlYmdsL21heC1h
Y3RpdmUtY29udGV4dHMtb2xkZXN0LWNvbnRleHQtbG9zdC5odG1sIFsgRmFpbHVyZSBdCiB3ZWJr
aXQub3JnL2IvMTY5OTE3IHdlYmdsL3dlYmdsLXZlcnRleC1hcnJheS1vYmplY3QtZGVmaW5lZC5o
dG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTY5OTE3IHdlYmdsL3dlYmdsLWJvcmRlci5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTY5OTE3IHdlYmdsL3dlYmds
LWJveC1zaGFkb3cuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpAQCAtNTMzLDcgKzUyOCw2IEBA
IHdlYmtpdC5vcmcvYi8xNjk5MTcgd2ViZ2wvMS4wLjIvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9n
L2xvZ18wMDFfdG9fMDA4Lmh0bWwgWyBTCiB3ZWJraXQub3JnL2IvMTY5OTE3IHdlYmdsLzEuMC4z
L2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tdmFsdWVzLXBlci1wcm9ncmFtLmh0bWwgWyBT
bG93IF0KIHdlYmtpdC5vcmcvYi8xNjk5MTcgd2ViZ2wvMS4wLjMvY29uZm9ybWFuY2UvY29udGV4
dC9jb250ZXh0LWV2aWN0aW9uLXdpdGgtZ2FyYmFnZS1jb2xsZWN0aW9uLmh0bWwgWyBTbG93IF0K
IHdlYmtpdC5vcmcvYi8xNjk5MTcgd2ViZ2wvMS4wLjMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3N0
cnVjdC1uZXN0aW5nLW9mLXZhcmlhYmxlLW5hbWVzLmh0bWwgWyBTbG93IF0KLXdlYmtpdC5vcmcv
Yi8xNjk5MTcgd2ViZ2wvbWF4LWFjdGl2ZS1jb250ZXh0cy13ZWJnbGNvbnRleHRsb3N0LXByZXZl
bnQtZGVmYXVsdC5odG1sIFsgVGltZW91dCBdCiAjIFdlYkdMIGNyYXNoZXMKIHdlYmtpdC5vcmcv
Yi8xNjk5MTcgZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wtZHJhdy1idWZmZXJzLmh0bWwgWyBGYWls
dXJlIENyYXNoIF0KIHdlYmtpdC5vcmcvYi8xNjk5MTcgd2ViZ2wvMS4wLjMvY29uZm9ybWFuY2Uv
ZXh0ZW5zaW9ucy93ZWJnbC1kcmF3LWJ1ZmZlcnMuaHRtbCBbIEZhaWx1cmUgQ3Jhc2ggXQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAwY2M4YjgyOGM4NWRk
NTc4MDI3MWIzYjQyNzRjZmE1MjgwZTUyMDk1Li5iZThlNjA1M2M0OTRkNzk0Y2UzZjEzOGFlYTM1
YmNlYjg1ZWRlZmZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4
cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtMTQ0LDEzICsxNDQsNiBAQCBCdWcoV1BFKSB3ZWJnbC8xLjAuMy9jb25mb3JtYW5jZS9n
bHNsL2J1Z3MgWyBTa2lwIF0KICMgUGl4ZWwgdGVzdCByZXN1bHQgb2RkaXRpZXMKIEJ1ZyhXUEUp
IHdlYmdsL3dlYmdsLWJvcmRlci5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBCdWcoV1BFKSB3
ZWJnbC93ZWJnbC1ib3gtc2hhZG93Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLSMgVW5rbm93
bgotQnVnKFdQRSkgd2ViZ2wvbWFueS1jb250ZXh0cy1hY2Nlc3MtYWZ0ZXItbG9zcy5odG1sIFsg
RmFpbHVyZSBdCi1CdWcoV1BFKSB3ZWJnbC9tYW55LWNvbnRleHRzLmh0bWwgWyBGYWlsdXJlIF0K
LUJ1ZyhXUEUpIHdlYmdsL21heC1hY3RpdmUtY29udGV4dHMtY29uc29sZS13YXJuaW5nLmh0bWwg
WyBGYWlsdXJlIF0KLUJ1ZyhXUEUpIHdlYmdsL21heC1hY3RpdmUtY29udGV4dHMtZ2MuaHRtbCBb
IEZhaWx1cmUgXQotQnVnKFdQRSkgd2ViZ2wvbWF4LWFjdGl2ZS1jb250ZXh0cy1vbGRlc3QtY29u
dGV4dC1sb3N0Lmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8xNjk5MTcgd2ViZ2wvbWF4
LWFjdGl2ZS1jb250ZXh0cy13ZWJnbGNvbnRleHRsb3N0LXByZXZlbnQtZGVmYXVsdC5odG1sIFsg
VGltZW91dCBdCiAjIFNsb3cKIHdlYmtpdC5vcmcvYi8xNjk5MTcgd2ViZ2wvMS4wLjIvY29uZm9y
bWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwg
WyBTbG93IF0KIHdlYmtpdC5vcmcvYi8xNjk5MTcgd2ViZ2wvMS4wLjIvY29uZm9ybWFuY2UvZ2xz
bC9taXNjL3NoYWRlci13aXRoLW5vbi1yZXNlcnZlZC13b3Jkcy5odG1sIFsgU2xvdyBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327647</attachid>
            <date>2017-11-27 10:44:07 -0800</date>
            <delta_ts>2017-11-27 20:40:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-166968-20171127194405.patch</filename>
            <type>text/plain</type>
            <size>7828</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1MTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2UzNjVkMDA5YWRhZjZh
MGQ5Y2I3YWQ3OGMwMjQyZDEzYmZhNGUyYi4uOGFjOTFmNDAwMGRhYjI2YzI0NDMyOTgzYzM4NzA0
ZGViODVmMGFjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMxIEBACiAyMDE3LTExLTI3ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAorICAgICAgICBbQ2Fpcm9dIExpbWl0
IHRoZSBudW1iZXIgb2YgYWN0aXZlIGNvbnRleHRzIGluIEdyYXBoaWNzQ29udGV4dDNEQ2Fpcm8K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Njk2OAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENhaXJvJ3Mg
aW1wbGVtZW50YXRpb24gb2YgR3JhcGhpY3NDb250ZXh0M0Qgc2hvdWxkIGZvbGxvdyB0aGUgTWFj
J3MKKyAgICAgICAgYW5kIGxpbWl0IHRoZSBudW1iZXIgb2YgYWN0aXZlIEdyYXBoaWNzQ29udGV4
dDNEIG9iamVjdHMuCisKKyAgICAgICAgVGhlIGFjdGl2ZSBjb250ZXh0cyBhcmUgbGlzdGVkIGlu
IGEgZ2xvYmFsIERlcXVlLCB3aXRoIHRoZSBmaXJzdAorICAgICAgICBhbW9uZyB0aGVtIGJlaW5n
IHJlY3ljbGVkIHdoZW4gdGhlIEdyYXBoaWNzQ29udGV4dDNEOjpjcmVhdGUoKQorICAgICAgICBm
dW5jdGlvbiBzZWVzIHRoYXQgdGhlIGxpbWl0IGhhcyBiZWVuIHJlYWNoZWQuIFRoYXQgZnVuY3Rp
b24gc3RpbGwKKyAgICAgICAgcmV0dXJucyBudWxsIGlmIGV2ZW4gYWZ0ZXIgcmVjeWNsaW5nIHRo
ZSBudW1iZXIgb2YgY29udGV4dHMgZGlkbid0CisgICAgICAgIGRlY3JlYXNlLgorCisgICAgICAg
IEZpbmFsbHksIGluIHRoZSBHcmFwaGljc0NvbnRleHQzRCBkZXN0cnVjdG9yLCB0aGUgY29udGV4
dCBiZWluZworICAgICAgICBkZXN0cm95ZWQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBsaXN0IG9mIGFj
dGl2ZSBjb250ZXh0cy4KKworICAgICAgICBObyBuZXcgdGVzdHMgLS0gcmVsZXZhbnQgdGVzdHMg
YXJlIG5vdyBwYXNzaW5nLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3Jh
cGhpY3NDb250ZXh0M0RDYWlyby5jcHA6CisgICAgICAgIChXZWJDb3JlOjphY3RpdmVDb250ZXh0
cyk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp+R3JhcGhpY3NDb250ZXh0M0QpOgorCisy
MDE3LTExLTI3ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKwogICAgICAg
ICBbQ29vcmRHcmFwaGljc10gQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyIGRvZXNuJ3QgbmVlZCB0
byBpbmhlcml0IGZyb20gVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXI6OkNsaWVudAogICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMDM2CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29u
dGV4dDNEQ2Fpcm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8v
R3JhcGhpY3NDb250ZXh0M0RDYWlyby5jcHAKaW5kZXggNGJkODg0NjdlYzhiMWU2ZWNhOWYzZjc3
Yjk5ZWEzZmQ3Y2Q2OTVkMC4uMTU0OTQ1YzZjMWM5OThlZGNkZWJlOGVlNzE5NmNmYzAzNGY0Njhh
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3Jh
cGhpY3NDb250ZXh0M0RDYWlyby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0M0RDYWlyby5jcHAKQEAgLTQwLDYgKzQwLDggQEAK
ICNpbmNsdWRlICJQbGF0Zm9ybUNvbnRleHRDYWlyby5oIgogI2luY2x1ZGUgIlJlZlB0ckNhaXJv
LmgiCiAjaW5jbHVkZSA8Y2Fpcm8uaD4KKyNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KKyNpbmNsdWRl
IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KIAogI2lmIFBMQVRGT1JNKFdJTikKICNpbmNsdWRlIDxH
TFNMQU5HL1NoYWRlckxhbmcuaD4KQEAgLTY1LDYgKzY3LDEzIEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAorc3RhdGljIGNvbnN0IHNpemVfdCBNYXhBY3RpdmVDb250ZXh0cyA9IDE2Oworc3Rh
dGljIERlcXVlPEdyYXBoaWNzQ29udGV4dDNEKiwgTWF4QWN0aXZlQ29udGV4dHM+JiBhY3RpdmVD
b250ZXh0cygpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPERlcXVlPEdyYXBoaWNzQ29u
dGV4dDNEKiwgTWF4QWN0aXZlQ29udGV4dHM+PiBzX2FjdGl2ZUNvbnRleHRzOworICAgIHJldHVy
biBzX2FjdGl2ZUNvbnRleHRzOworfQorCiBSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+IEdyYXBo
aWNzQ29udGV4dDNEOjpjcmVhdGUoR3JhcGhpY3NDb250ZXh0M0RBdHRyaWJ1dGVzIGF0dHJpYnV0
ZXMsIEhvc3RXaW5kb3cqIGhvc3RXaW5kb3csIEdyYXBoaWNzQ29udGV4dDNEOjpSZW5kZXJTdHls
ZSByZW5kZXJTdHlsZSkKIHsKICAgICAvLyBUaGlzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgY3Vy
cmVudGx5IHN1cHBvcnQgcmVuZGVyaW5nIGRpcmVjdGx5IHRvIHRoZSBIb3N0V2luZG93LgpAQCAt
ODIsNiArOTEsMTUgQEAgUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiBHcmFwaGljc0NvbnRleHQz
RDo6Y3JlYXRlKEdyYXBoaWNzQ29udGV4dDNEQXR0cmlidXRlcwogICAgIGlmICghc3VjY2VzcykK
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKKyAgICBhdXRvJiBjb250ZXh0cyA9IGFjdGl2ZUNv
bnRleHRzKCk7CisgICAgaWYgKGNvbnRleHRzLnNpemUoKSA+PSBNYXhBY3RpdmVDb250ZXh0cykK
KyAgICAgICAgY29udGV4dHMuZmlyc3QoKS0+cmVjeWNsZUNvbnRleHQoKTsKKworICAgIC8vIENh
bGxpbmcgcmVjeWNsZUNvbnRleHQoKSBhYm92ZSBzaG91bGQgaGF2ZSBsZWFkIHRvIHRoZSBncmFw
aGljcyBjb250ZXh0IGJlaW5nCisgICAgLy8gZGVzdHJveWVkIGFuZCB0aHVzIHJlbW92ZWQgZnJv
bSB0aGUgYWN0aXZlIGNvbnRleHRzIGxpc3QuCisgICAgaWYgKGNvbnRleHRzLnNpemUoKSA+PSBN
YXhBY3RpdmVDb250ZXh0cykKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKICAgICAvLyBDcmVh
dGUgdGhlIEdyYXBoaWNzQ29udGV4dDNEIG9iamVjdCBmaXJzdCBpbiBvcmRlciB0byBlc3RhYmxp
c3QgYSBjdXJyZW50IGNvbnRleHQgb24gdGhpcyB0aHJlYWQuCiAgICAgYXV0byBjb250ZXh0ID0g
YWRvcHRSZWYobmV3IEdyYXBoaWNzQ29udGV4dDNEKGF0dHJpYnV0ZXMsIGhvc3RXaW5kb3csIHJl
bmRlclN0eWxlKSk7CiAKQEAgLTkxLDYgKzEwOSw3IEBAIFJlZlB0cjxHcmFwaGljc0NvbnRleHQz
RD4gR3JhcGhpY3NDb250ZXh0M0Q6OmNyZWF0ZShHcmFwaGljc0NvbnRleHQzREF0dHJpYnV0ZXMK
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAjZW5kaWYKIAorICAgIGNvbnRleHRzLmFwcGVuZChj
b250ZXh0LmdldCgpKTsKICAgICByZXR1cm4gY29udGV4dDsKIH0KIApAQCAtMjUxLDYgKzI3MCw5
IEBAIEdyYXBoaWNzQ29udGV4dDNEOjp+R3JhcGhpY3NDb250ZXh0M0QoKQogCiAgICAgaWYgKG1f
dmFvKQogICAgICAgICBkZWxldGVWZXJ0ZXhBcnJheShtX3Zhbyk7CisKKyAgICBhdXRvKiBhY3Rp
dmVDb250ZXh0ID0gYWN0aXZlQ29udGV4dHMoKS50YWtlTGFzdChbdGhpc10oYXV0byogaXQpIHsg
cmV0dXJuIGl0ID09IHRoaXM7IH0pOworICAgIEFTU0VSVF9VTlVTRUQoYWN0aXZlQ29udGV4dCwg
ISFhY3RpdmVDb250ZXh0KTsKIH0KIAogR3JhcGhpY3NDb250ZXh0M0Q6OkltYWdlRXh0cmFjdG9y
Ojp+SW1hZ2VFeHRyYWN0b3IoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGVkZGI0N2I4OThjNjU2ZDAzZGMwZjI3ODM0ZTcy
MDEyYTc5ZDdkODQuLmQyNjVjMDdiYzRjNTg2NjEzYmRhMDZmODM1YTY1NGRjZTE4ODhkMTggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNy0xMS0yNyAgWmFuIERvYmVyc2VrICA8emRvYmVyc2Vr
QGlnYWxpYS5jb20+CisKKyAgICAgICAgW0NhaXJvXSBMaW1pdCB0aGUgbnVtYmVyIG9mIGFjdGl2
ZSBjb250ZXh0cyBpbiBHcmFwaGljc0NvbnRleHQzRENhaXJvCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjY5NjgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRp
b25zOiBVbnNraXAgV2ViR0wgdGVzdHMgdGhhdCB3ZXJlIGZhaWxpbmcKKyAgICAgICAgZHVlIHRv
IG1pc3NpbmcgYWN0aXZlIGNvbnRleHQgbGltaXQgbWFuYWdlbWVudC4KKyAgICAgICAgKiBwbGF0
Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9uczogRGl0dG8uCisKIDIwMTctMTEtMjcgIEFudG9pbmUg
UXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBQcmVzc2luZyB0aGUgc3BhY2Ug
YmFyIHdoaWxlIHdhdGNoaW5nIGEgZnVsbHNjcmVlbiB2aWRlbyBkb2Vzbid0IHBsYXkgb3IgcGF1
c2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25z
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggOWFiOGEx
Nzg2YmYxM2NmNzczYTk4MzQ3ZDM5N2JkN2U2MjZiNzlmNC4uMWI3ODY2ODQ0YmE5ZDhlOGIyM2My
OGQ1NzVmMzFkNTU2ZmI2YzNkNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTQ4OSwxMSArNDg5LDYgQEAgd2Via2l0Lm9yZy9iLzE2OTkxNyB3ZWJnbC8x
LjAuMy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLW5hbWUtY29uZmxpY3QKIHdl
YmtpdC5vcmcvYi8xNjk5MTcgd2ViZ2wvMS4wLjMvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy9m
ZWVkYmFjay1sb29wLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNjk5MTcgd2ViZ2wv
MS4wLjMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LW5vLWF0dHJpYnV0ZXMuaHRtbCBbIEZh
aWx1cmUgXQogd2Via2l0Lm9yZy9iLzE2OTkxNyB3ZWJnbC8xLjAuMy9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXh0dXJlLWNvcHlpbmctZmVlZGJhY2stbG9vcHMuaHRtbCBbIEZhaWx1cmUgXQotd2Vi
a2l0Lm9yZy9iLzE2OTkxNyB3ZWJnbC9tYW55LWNvbnRleHRzLWFjY2Vzcy1hZnRlci1sb3NzLmh0
bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8xNjk5MTcgd2ViZ2wvbWFueS1jb250ZXh0cy5o
dG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTY5OTE3IHdlYmdsL21heC1hY3RpdmUtY29u
dGV4dHMtY29uc29sZS13YXJuaW5nLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8xNjk5
MTcgd2ViZ2wvbWF4LWFjdGl2ZS1jb250ZXh0cy1nYy5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQu
b3JnL2IvMTY5OTE3IHdlYmdsL21heC1hY3RpdmUtY29udGV4dHMtb2xkZXN0LWNvbnRleHQtbG9z
dC5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTY5OTE3IHdlYmdsL3dlYmdsLXZlcnRl
eC1hcnJheS1vYmplY3QtZGVmaW5lZC5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTY5
OTE3IHdlYmdsL3dlYmdsLWJvcmRlci5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQu
b3JnL2IvMTY5OTE3IHdlYmdsL3dlYmdsLWJveC1zaGFkb3cuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQpAQCAtNTMzLDcgKzUyOCw2IEBAIHdlYmtpdC5vcmcvYi8xNjk5MTcgd2ViZ2wvMS4wLjIv
Y29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nL2xvZ18wMDFfdG9fMDA4Lmh0bWwgWyBTCiB3ZWJraXQu
b3JnL2IvMTY5OTE3IHdlYmdsLzEuMC4zL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tdmFs
dWVzLXBlci1wcm9ncmFtLmh0bWwgWyBTbG93IF0KIHdlYmtpdC5vcmcvYi8xNjk5MTcgd2ViZ2wv
MS4wLjMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWV2aWN0aW9uLXdpdGgtZ2FyYmFnZS1j
b2xsZWN0aW9uLmh0bWwgWyBTbG93IF0KIHdlYmtpdC5vcmcvYi8xNjk5MTcgd2ViZ2wvMS4wLjMv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3N0cnVjdC1uZXN0aW5nLW9mLXZhcmlhYmxlLW5hbWVzLmh0
bWwgWyBTbG93IF0KLXdlYmtpdC5vcmcvYi8xNjk5MTcgd2ViZ2wvbWF4LWFjdGl2ZS1jb250ZXh0
cy13ZWJnbGNvbnRleHRsb3N0LXByZXZlbnQtZGVmYXVsdC5odG1sIFsgVGltZW91dCBdCiAjIFdl
YkdMIGNyYXNoZXMKIHdlYmtpdC5vcmcvYi8xNjk5MTcgZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wt
ZHJhdy1idWZmZXJzLmh0bWwgWyBGYWlsdXJlIENyYXNoIF0KIHdlYmtpdC5vcmcvYi8xNjk5MTcg
d2ViZ2wvMS4wLjMvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy93ZWJnbC1kcmF3LWJ1ZmZlcnMuaHRt
bCBbIEZhaWx1cmUgQ3Jhc2ggXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3Bl
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0
aW9ucwppbmRleCAwY2M4YjgyOGM4NWRkNTc4MDI3MWIzYjQyNzRjZmE1MjgwZTUyMDk1Li5iZThl
NjA1M2M0OTRkNzk0Y2UzZjEzOGFlYTM1YmNlYjg1ZWRlZmZkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTQ0LDEzICsxNDQsNiBAQCBCdWcoV1BFKSB3
ZWJnbC8xLjAuMy9jb25mb3JtYW5jZS9nbHNsL2J1Z3MgWyBTa2lwIF0KICMgUGl4ZWwgdGVzdCBy
ZXN1bHQgb2RkaXRpZXMKIEJ1ZyhXUEUpIHdlYmdsL3dlYmdsLWJvcmRlci5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCiBCdWcoV1BFKSB3ZWJnbC93ZWJnbC1ib3gtc2hhZG93Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLSMgVW5rbm93bgotQnVnKFdQRSkgd2ViZ2wvbWFueS1jb250ZXh0cy1h
Y2Nlc3MtYWZ0ZXItbG9zcy5odG1sIFsgRmFpbHVyZSBdCi1CdWcoV1BFKSB3ZWJnbC9tYW55LWNv
bnRleHRzLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhXUEUpIHdlYmdsL21heC1hY3RpdmUtY29udGV4
dHMtY29uc29sZS13YXJuaW5nLmh0bWwgWyBGYWlsdXJlIF0KLUJ1ZyhXUEUpIHdlYmdsL21heC1h
Y3RpdmUtY29udGV4dHMtZ2MuaHRtbCBbIEZhaWx1cmUgXQotQnVnKFdQRSkgd2ViZ2wvbWF4LWFj
dGl2ZS1jb250ZXh0cy1vbGRlc3QtY29udGV4dC1sb3N0Lmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtp
dC5vcmcvYi8xNjk5MTcgd2ViZ2wvbWF4LWFjdGl2ZS1jb250ZXh0cy13ZWJnbGNvbnRleHRsb3N0
LXByZXZlbnQtZGVmYXVsdC5odG1sIFsgVGltZW91dCBdCiAjIFNsb3cKIHdlYmtpdC5vcmcvYi8x
Njk5MTcgd2ViZ2wvMS4wLjIvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3JtLXBh
Y2tpbmctcmVzdHJpY3Rpb25zLmh0bWwgWyBTbG93IF0KIHdlYmtpdC5vcmcvYi8xNjk5MTcgd2Vi
Z2wvMS4wLjIvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLW5vbi1yZXNlcnZlZC13
b3Jkcy5odG1sIFsgU2xvdyBdCg==
</data>
<flag name="review"
          id="346840"
          type_id="1"
          status="+"
          setter="achristensen"
    />
          </attachment>
      

    </bug>

</bugzilla>