<?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>109876</bug_id>
          
          <creation_ts>2013-02-14 16:36:44 -0800</creation_ts>
          <short_desc>RenderQuote should not mark renderers as needing layout during layout</short_desc>
          <delta_ts>2014-01-05 15:30:48 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Elliott Sprehn">esprehn</reporter>
          <assigned_to name="Elliott Sprehn">esprehn</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>eric</cc>
    
    <cc>inferno</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>833549</commentid>
    <comment_count>0</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2013-02-14 16:36:44 -0800</bug_when>
    <thetext>RenderQuote should not mark renderers as needing layout during layout</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833560</commentid>
    <comment_count>1</comment_count>
      <attachid>188451</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2013-02-14 16:41:24 -0800</bug_when>
    <thetext>Created attachment 188451
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833600</commentid>
    <comment_count>2</comment_count>
      <attachid>188459</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2013-02-14 18:01:57 -0800</bug_when>
    <thetext>Created attachment 188459
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833610</commentid>
    <comment_count>3</comment_count>
      <attachid>188459</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2013-02-14 18:29:35 -0800</bug_when>
    <thetext>Comment on attachment 188459
Patch

I tried to make sense of this stuff and got lost. Can you explain it to me?

For example, why can&apos;t we just call attachQuote directly in the RenderQuote constructor and how do we get in a situation where there are multiple quotes needing attach?

Obviously, this change is an improvement. I just want to actually understand it before I r+. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833620</commentid>
    <comment_count>4</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2013-02-14 18:55:45 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 188459 [details])
&gt; I tried to make sense of this stuff and got lost. Can you explain it to me?
&gt; 
&gt; For example, why can&apos;t we just call attachQuote directly in the RenderQuote constructor and how do we get in a situation where there are multiple quotes needing attach?

Inside the render tree there&apos;s a linked list of RenderQuotes (m_next,m_prev) with the head of the list stored on the RenderView. Being attached means being inside that linked list so we can compute the nesting depth of the quotes. We can&apos;t be attached until the RenderQuote is inside the rooted render tree with the RenderView at the top so we can compute the depth properly and know which quote is really the head of the list.

We can end up in the situation where we need multiple for attach when you have:

content: open-quote open-quote open-quote; // or any variation of quotes.

In these cases PseudoElement::attach will create a bunch of RenderQuotes.

&gt; 
&gt; Obviously, this change is an improvement. I just want to actually understand it before I r+. :)

In thinking through this more we should be able to just use a static ListHashSet since we only need to keep track of the quotes for the duration of PseudoElement::attach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834143</commentid>
    <comment_count>5</comment_count>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2013-02-15 10:24:27 -0800</bug_when>
    <thetext>Have you tested if this fixes any of https://bugs.webkit.org/show_bug.cgi?id=109616, https://bugs.webkit.org/show_bug.cgi?id=108839, https://bugs.webkit.org/show_bug.cgi?id=109450 ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834298</commentid>
    <comment_count>6</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2013-02-15 12:54:47 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Have you tested if this fixes any of https://bugs.webkit.org/show_bug.cgi?id=109616, https://bugs.webkit.org/show_bug.cgi?id=108839, https://bugs.webkit.org/show_bug.cgi?id=109450 ?

It fixes 109616, I couldn&apos;t see the other ones since I&apos;m not on the security list (could you add me? :)). I had a realization last night that all this complexity isn&apos;t needed, we can just do it immediately after the addChild() in PseudoElement::attach.

Patch coming soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834311</commentid>
    <comment_count>7</comment_count>
      <attachid>188630</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2013-02-15 13:11:10 -0800</bug_when>
    <thetext>Created attachment 188630
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834314</commentid>
    <comment_count>8</comment_count>
      <attachid>188630</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2013-02-15 13:16:57 -0800</bug_when>
    <thetext>Comment on attachment 188630
Patch

&lt;3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834412</commentid>
    <comment_count>9</comment_count>
      <attachid>188630</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-15 15:13:27 -0800</bug_when>
    <thetext>Comment on attachment 188630
Patch

Clearing flags on attachment: 188630

Committed r143060: &lt;http://trac.webkit.org/changeset/143060&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834413</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-15 15:13:32 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>964529</commentid>
    <comment_count>11</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2014-01-05 15:30:48 -0800</bug_when>
    <thetext>&lt;rdar://problem/13666450&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188451</attachid>
            <date>2013-02-14 16:41:24 -0800</date>
            <delta_ts>2013-02-14 18:01:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109876-20130214163752.patch</filename>
            <type>text/plain</type>
            <size>13132</size>
            <attacher name="Elliott Sprehn">esprehn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNjczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjkyNGJmNDMxOWQ1ODQx
YmYwMjM2N2Y5N2FiNmM1NTU4OTc0ZjhjNi4uMzI5ZmFkZWFkY2ZjZTU0ODQ5NjcxNzViYTNkYjE5
OTk1NzVkNzJiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEzLTAyLTE0ICBFbGxp
b3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbmRlclF1b3Rl
IHNob3VsZCBub3QgbWFyayByZW5kZXJlcnMgYXMgbmVlZGluZyBsYXlvdXQgZHVyaW5nIGxheW91
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5ODc2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDog
ZmFzdC9jc3MtZ2VuZXJhdGVkLWNvbnRlbnQvcXVvdGUtbGF5b3V0LWZvY3VzLWNyYXNoLmh0bWwK
KworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dDo6dXBkYXRlUmVuZGVyUXVvdGVzKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzY2hlZHVsZVJlbmRlclF1b3RlVXBkYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50OjpjYW5jZWxSZW5kZXJRdW90ZVVwZGF0ZSk6CisgICAgICAg
IChEb2N1bWVudCk6CisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudDo6YXR0YWNoKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUXVvdGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUXVvdGU6On5SZW5kZXJRdW90ZSk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJRdW90ZTo6aW5zZXJ0ZWRJbnRvVHJlZSk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJRdW90ZTo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclF1b3RlOjpzdHlsZURpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJRdW90ZTo6dXBkYXRlVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJRdW90ZTo6YXR0
YWNoUXVvdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUXVvdGU6OmRldGFjaFF1b3RlKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclF1b3RlOjp1cGRhdGVEZXB0aCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclF1b3RlLmg6CisgICAgICAgIChSZW5kZXJRdW90ZSk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwOgorCiAyMDEzLTAyLTEyICBBZGFtIEJhcnRoICA8
YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVGhyZWFkZWQgSFRNTCBwYXJzZXIgc2hvdWxk
IHBhc3MgdGhlIHJlbWFpbmluZyBmYXN0L3Rva2VuaXplciB0ZXN0cwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKaW5kZXggNGQ2Mjk2M2NhMTFlNTA5OGYwZTFmNzc3NzJmMWFkODkxYzU4OGQzNy4uNTA0
MzA4YWZmYWJkM2E2N2Y4MDU5NTI2YzllYjdkNjQyOTlhNDYxYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCkBAIC0xMzMsNiArMTMzLDcgQEAKICNpbmNsdWRlICJSZWdpc3RlcmVkRXZlbnRMaXN0
ZW5lci5oIgogI2luY2x1ZGUgIlJlbmRlckFyZW5hLmgiCiAjaW5jbHVkZSAiUmVuZGVyTmFtZWRG
bG93VGhyZWFkLmgiCisjaW5jbHVkZSAiUmVuZGVyUXVvdGUuaCIKICNpbmNsdWRlICJSZW5kZXJU
ZXh0Q29udHJvbC5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNsdWRlICJSZW5kZXJX
aWRnZXQuaCIKQEAgLTYwMzcsNiArNjAzOCwxNSBAQCBMb2NhbGUmIERvY3VtZW50OjpnZXRDYWNo
ZWRMb2NhbGUoY29uc3QgQXRvbWljU3RyaW5nJiBsb2NhbGUpCiAgICAgcmV0dXJuICoocmVzdWx0
Lml0ZXJhdG9yLT52YWx1ZSk7CiB9CiAKK3ZvaWQgRG9jdW1lbnQ6OnVwZGF0ZVJlbmRlclF1b3Rl
cygpCit7CisgICAgaWYgKCFtX3F1b3Rlc05lZWRpbmdVcGRhdGUuc2l6ZSgpKQorICAgICAgICBy
ZXR1cm47CisgICAgZm9yIChMaXN0SGFzaFNldDxSZW5kZXJRdW90ZSo+OjppdGVyYXRvciBpdCA9
IG1fcXVvdGVzTmVlZGluZ1VwZGF0ZS5iZWdpbigpOyBpdCAhPSBtX3F1b3Rlc05lZWRpbmdVcGRh
dGUuZW5kKCk7ICsraXQpCisgICAgICAgICgqaXQpLT51cGRhdGVUZXh0KCk7CisgICAgbV9xdW90
ZXNOZWVkaW5nVXBkYXRlLmNsZWFyKCk7Cit9CisKICNpZiBFTkFCTEUoVEVNUExBVEVfRUxFTUVO
VCkKIERvY3VtZW50KiBEb2N1bWVudDo6ZW5zdXJlVGVtcGxhdGVEb2N1bWVudCgpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCmluZGV4IDcyYzgzOTkzYmUwN2ZmOGMyNzYyMDI5OWFhMjE2NDk2Y2Y3ZjU5
ZTcuLjc0MzBiZWE3ODhjNGFkZTk5NWMwZDdjMDVkNjdlYThkNmQ4MTQ1YWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5oCkBAIC01MSw2ICs1MSw3IEBACiAjaW5jbHVkZSAiVmlld3BvcnRBcmd1bWVudHMu
aCIKICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KICNpbmNsdWRlIDx3dGYvRml4ZWRBcnJheS5oPgor
I2luY2x1ZGUgPHd0Zi9MaXN0SGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNp
bmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBA
IC0xMjQsNiArMTI1LDcgQEAgY2xhc3MgUHJvY2Vzc2luZ0luc3RydWN0aW9uOwogY2xhc3MgUmFu
Z2U7CiBjbGFzcyBSZWdpc3RlcmVkRXZlbnRMaXN0ZW5lcjsKIGNsYXNzIFJlbmRlckFyZW5hOwor
Y2xhc3MgUmVuZGVyUXVvdGU7CiBjbGFzcyBSZW5kZXJWaWV3OwogY2xhc3MgUmVuZGVyRnVsbFNj
cmVlbjsKIGNsYXNzIFNjcmlwdGFibGVEb2N1bWVudFBhcnNlcjsKQEAgLTEyMDYsNiArMTIwOCwx
MCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGNvbnN0IFNlY3VyaXR5T3JpZ2luKiB0b3BPcmln
aW4oKSBjb25zdCBPVkVSUklERTsKIAorICAgIHZvaWQgc2NoZWR1bGVSZW5kZXJRdW90ZVVwZGF0
ZShSZW5kZXJRdW90ZSogcXVvdGUpIHsgbV9xdW90ZXNOZWVkaW5nVXBkYXRlLmFkZChxdW90ZSk7
IH0KKyAgICB2b2lkIGNhbmNlbFJlbmRlclF1b3RlVXBkYXRlKFJlbmRlclF1b3RlKiBxdW90ZSkg
eyBtX3F1b3Rlc05lZWRpbmdVcGRhdGUucmVtb3ZlKHF1b3RlKTsgfQorICAgIHZvaWQgdXBkYXRl
UmVuZGVyUXVvdGVzKCk7CisKIHByb3RlY3RlZDoKICAgICBEb2N1bWVudChGcmFtZSosIGNvbnN0
IEtVUkwmLCBib29sIGlzWEhUTUwsIGJvb2wgaXNIVE1MKTsKIApAQCAtMTU3MCw2ICsxNTc2LDgg
QEAgcHJpdmF0ZToKICAgICBSZWZQdHI8RG9jdW1lbnQ+IG1fdGVtcGxhdGVEb2N1bWVudDsKICAg
ICBEb2N1bWVudCogbV90ZW1wbGF0ZURvY3VtZW50SG9zdDsgLy8gTWFudWFsbHkgbWFuYWdlZCB3
ZWFrcmVmIChiYWNrcG9pbnRlciBmcm9tIG1fdGVtcGxhdGVEb2N1bWVudCkuCiAjZW5kaWYKKwor
ICAgIExpc3RIYXNoU2V0PFJlbmRlclF1b3RlKj4gbV9xdW90ZXNOZWVkaW5nVXBkYXRlOwogfTsK
IAogaW5saW5lIHZvaWQgRG9jdW1lbnQ6Om5vdGlmeVJlbW92ZVBlbmRpbmdTaGVldElmTmVlZGVk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCBhMmRmNmU2ZTBjZDIwOTYzOWIzZTM1ZjFhOTBl
MzdhZGRjNWVhZjZjLi5iZDY1NzBiZjZmZTQ1YjQ5ZjhiY2ViNTkyOTQ4MWUzODI4ZDY3ZWY1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC02Niw2ICs2Niw3IEBACiAjaW5jbHVkZSAiUGFnZS5o
IgogI2luY2x1ZGUgIlBvaW50ZXJMb2NrQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIlBzZXVkb0Vs
ZW1lbnQuaCIKKyNpbmNsdWRlICJSZW5kZXJRdW90ZS5oIgogI2luY2x1ZGUgIlJlbmRlclJlZ2lv
bi5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNsdWRlICJSZW5kZXJXaWRnZXQuaCIK
QEAgLTEyNDQsNiArMTI0NSw4IEBAIHZvaWQgRWxlbWVudDo6YXR0YWNoKCkKIAogICAgIHVwZGF0
ZVBzZXVkb0VsZW1lbnQoQUZURVIpOwogCisgICAgZG9jdW1lbnQoKS0+dXBkYXRlUmVuZGVyUXVv
dGVzKCk7CisKICAgICBpZiAoaGFzUmFyZURhdGEoKSkgeyAgIAogICAgICAgICBFbGVtZW50UmFy
ZURhdGEqIGRhdGEgPSBlbGVtZW50UmFyZURhdGEoKTsKICAgICAgICAgaWYgKGRhdGEtPm5lZWRz
Rm9jdXNBcHBlYXJhbmNlVXBkYXRlU29vbkFmdGVyQXR0YWNoKCkpIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJRdW90ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyUXVvdGUuY3BwCmluZGV4IGU0Yzk3OWMxNzcwOGE0M2E3N2Q5NmQyNjJi
MzFlZGNjMTA4OTRlZWIuLjc4YWE3ZGI5M2QwMDM0ODBiMzY3ZjVjYzg4YjQwMmRmZTFmZGU3ODgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJRdW90ZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclF1b3RlLmNwcApAQCAtNDEsNiArNDEs
NyBAQCBSZW5kZXJRdW90ZTo6UmVuZGVyUXVvdGUoRG9jdW1lbnQqIG5vZGUsIFF1b3RlVHlwZSBx
dW90ZSkKIAogUmVuZGVyUXVvdGU6On5SZW5kZXJRdW90ZSgpCiB7CisgICAgZG9jdW1lbnQoKS0+
Y2FuY2VsUmVuZGVyUXVvdGVVcGRhdGUodGhpcyk7CiAgICAgQVNTRVJUKCFtX2F0dGFjaGVkKTsK
ICAgICBBU1NFUlQoIW1fbmV4dCAmJiAhbV9wcmV2aW91cyk7CiB9CkBAIC01MSwxMyArNTIsMjMg
QEAgdm9pZCBSZW5kZXJRdW90ZTo6d2lsbEJlRGVzdHJveWVkKCkKICAgICBSZW5kZXJUZXh0Ojp3
aWxsQmVEZXN0cm95ZWQoKTsKIH0KIAordm9pZCBSZW5kZXJRdW90ZTo6aW5zZXJ0ZWRJbnRvVHJl
ZSgpCit7CisgICAgZG9jdW1lbnQoKS0+c2NoZWR1bGVSZW5kZXJRdW90ZVVwZGF0ZSh0aGlzKTsK
K30KKwogdm9pZCBSZW5kZXJRdW90ZTo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKCkKIHsKICAgICBS
ZW5kZXJUZXh0Ojp3aWxsQmVSZW1vdmVkRnJvbVRyZWUoKTsKLQogICAgIGRldGFjaFF1b3RlKCk7
CiB9CiAKK3ZvaWQgUmVuZGVyUXVvdGU6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBk
aWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpCit7CisgICAgUmVuZGVyVGV4dDo6c3R5
bGVEaWRDaGFuZ2UoZGlmZiwgb2xkU3R5bGUpOworICAgIHVwZGF0ZVRleHQoKTsKK30KKwogdHlw
ZWRlZiBIYXNoTWFwPEF0b21pY1N0cmluZywgY29uc3QgUXVvdGVzRGF0YSosIENhc2VGb2xkaW5n
SGFzaD4gUXVvdGVzTWFwOwogCiBzdGF0aWMgY29uc3QgUXVvdGVzTWFwJiBxdW90ZXNEYXRhTGFu
Z3VhZ2VNYXAoKQpAQCAtMjQ1LDI1ICsyNTYsOSBAQCBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IFJl
bmRlclF1b3RlOjpvcmlnaW5hbFRleHQoKSBjb25zdAogCiB2b2lkIFJlbmRlclF1b3RlOjp1cGRh
dGVUZXh0KCkKIHsKLSAgICBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygwKTsKLX0KLQot
dm9pZCBSZW5kZXJRdW90ZTo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoZmxvYXQgbGVh
ZCkKLXsKLSNpZm5kZWYgTkRFQlVHCi0gICAgLy8gRklYTUU6IFdlIHNob3VsZG4ndCBiZSBtb2Rp
ZnlpbmcgdGhlIHRyZWUgaW4gY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMuCi0gICAgLy8g
SW5zdGVhZCwgd2Ugc2hvdWxkIHByb3Blcmx5IGhvb2sgdGhlIGFwcHJvcHJpYXRlIGNoYW5nZXMg
aW4gdGhlIERPTSBhbmQgbW9kaWZ5Ci0gICAgLy8gdGhlIHJlbmRlciB0cmVlIHRoZW4uIFdoZW4g
dGhhdCdzIGRvbmUsIHdlIGFsc28gd29uJ3QgbmVlZCB0byBvdmVycmlkZQotICAgIC8vIGNvbXB1
dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzIGF0IGFsbC4KLSAgICAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0ODI5Ci0gICAgU2V0TGF5b3V0TmVlZGVkRm9yYmlk
ZGVuU2NvcGUgbGF5b3V0Rm9yYmlkZGVuU2NvcGUodGhpcywgZmFsc2UpOwotI2VuZGlmCi0KICAg
ICBpZiAoIW1fYXR0YWNoZWQpCiAgICAgICAgIGF0dGFjaFF1b3RlKCk7Ci0gICAgc2V0VGV4dElu
dGVybmFsKG9yaWdpbmFsVGV4dCgpKTsKLQotICAgIFJlbmRlclRleHQ6OmNvbXB1dGVQcmVmZXJy
ZWRMb2dpY2FsV2lkdGhzKGxlYWQpOworICAgIHNldFRleHQob3JpZ2luYWxUZXh0KCkpOwogfQog
CiBjb25zdCBRdW90ZXNEYXRhKiBSZW5kZXJRdW90ZTo6cXVvdGVzRGF0YSgpIGNvbnN0CkBAIC0y
ODYsMTAgKzI4MSw4IEBAIHZvaWQgUmVuZGVyUXVvdGU6OmF0dGFjaFF1b3RlKCkKICAgICBBU1NF
UlQoIW1fYXR0YWNoZWQpOwogICAgIEFTU0VSVCghbV9uZXh0ICYmICFtX3ByZXZpb3VzKTsKIAot
ICAgIC8vIEZJWE1FOiBEb24ndCBzZXQgcHJlZiB3aWR0aHMgZGlydHkgZHVyaW5nIGxheW91dC4g
U2VlIHVwZGF0ZURlcHRoKCkgZm9yCi0gICAgLy8gbW9yZSBkZXRhaWwuCiAgICAgaWYgKCFpc1Jv
b3RlZCgpKSB7Ci0gICAgICAgIHNldE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2FsYygpOwor
ICAgICAgICBkb2N1bWVudCgpLT5zY2hlZHVsZVJlbmRlclF1b3RlVXBkYXRlKHRoaXMpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCkBAIC0zMzMsNiArMzI2LDcgQEAgdm9pZCBSZW5kZXJRdW90
ZTo6ZGV0YWNoUXVvdGUoKQogewogICAgIEFTU0VSVCghbV9uZXh0IHx8IG1fbmV4dC0+bV9hdHRh
Y2hlZCk7CiAgICAgQVNTRVJUKCFtX3ByZXZpb3VzIHx8IG1fcHJldmlvdXMtPm1fYXR0YWNoZWQp
OworICAgIGRvY3VtZW50KCktPmNhbmNlbFJlbmRlclF1b3RlVXBkYXRlKHRoaXMpOwogICAgIGlm
ICghbV9hdHRhY2hlZCkKICAgICAgICAgcmV0dXJuOwogICAgIGlmIChtX3ByZXZpb3VzKQpAQCAt
MzcwLDEyICszNjQsOCBAQCB2b2lkIFJlbmRlclF1b3RlOjp1cGRhdGVEZXB0aCgpCiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KLSAgICAvLyBGSVhNRTogRG9uJ3QgY2FsbCBz
ZXROZWVkc0xheW91dCBvciBkaXJ0eSBvdXIgcHJlZmVycmVkIHdpZHRocyBkdXJpbmcgbGF5b3V0
LgotICAgIC8vIFRoaXMgaXMgbGlrZWx5IHRvIGZhaWwgYW55d2F5IGFzIG9uZSBvZiBvdXIgYW5j
ZXN0b3Igd2lsbCBjYWxsIHNldE5lZWRzTGF5b3V0KGZhbHNlKSwKLSAgICAvLyBwcmV2ZW50aW5n
IHRoZSBmdXR1cmUgbGF5b3V0IHRvIG9jY3VyIG9uIHx0aGlzfC4gVGhlIHNvbHV0aW9uIGlzIHRv
IG1vdmUgdGhhdCB0byBhCi0gICAgLy8gcHJlLWxheW91dCBwaGFzZS4KICAgICBpZiAob2xkRGVw
dGggIT0gbV9kZXB0aCkKLSAgICAgICAgc2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxj
KCk7CisgICAgICAgIHVwZGF0ZVRleHQoKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclF1b3RlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUXVvdGUuaAppbmRleCAxN2U5N2IyNjc1NWY5MjM2
YjE4MjU4Y2JjOTdjYjFjZThlOTdlMzlmLi5hZmRkOGMzYTdmODRiMmM5MTQ3ZTM4ZTg2Y2NlNTdi
Nzc1YTczOWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUXVv
dGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUXVvdGUuaApAQCAtMzgs
MTQgKzM4LDE1IEBAIHB1YmxpYzoKICAgICB2b2lkIGF0dGFjaFF1b3RlKCk7CiAgICAgdm9pZCBk
ZXRhY2hRdW90ZSgpOwogCisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVRleHQoKSBPVkVSUklERTsK
KwogcHJpdmF0ZToKKyAgICB2aXJ0dWFsIHZvaWQgaW5zZXJ0ZWRJbnRvVHJlZSgpIE9WRVJSSURF
OwogICAgIHZpcnR1YWwgdm9pZCB3aWxsQmVEZXN0cm95ZWQoKSBPVkVSUklERTsKICAgICB2aXJ0
dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiAiUmVu
ZGVyUXVvdGUiOyB9OwogICAgIHZpcnR1YWwgYm9vbCBpc1F1b3RlKCkgY29uc3QgT1ZFUlJJREUg
eyByZXR1cm4gdHJ1ZTsgfTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gb3Jp
Z2luYWxUZXh0KCkgY29uc3QgT1ZFUlJJREU7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlVGV4
dCgpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdp
ZHRocyhmbG9hdCBsZWFkV2lkdGgpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBzdHlsZURp
ZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKikgT1ZFUlJJREU7CiAK
ICAgICAvLyBXZSBkb24ndCBvdmVycmlkZSBpbnNlcnRlZEludG9UcmVlIHRvIGNhbGwgYXR0YWNo
UXVvdGUoKSBhcyBpdCB3b3VsZCBiZSBhdHRhY2hlZAogICAgIC8vIHRvbyBlYXJseSBhbmQgZ2V0
IHRoZSB3cm9uZyBkZXB0aCBzaW5jZSBnZW5lcmF0ZWQgY29udGVudCBpcyBpbnNlcnRlZCBpbnRv
IGFub255bW91cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZp
ZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCmluZGV4IDdk
MWY4NGJiZDBjOTJhNjkxOGZjMmFkODI4M2JiMmJhYmQ2YzhkNjYuLjU2ODk2NGU3ZmNlMTI3ZDQw
NWJiOTM0NzUxOTYzNTk0ODU1NjJkNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Vmlldy5jcHAKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2lu
Y2x1ZGUgIlJlbmRlckxheWVyQmFja2luZy5oIgogI2luY2x1ZGUgIlJlbmRlck5hbWVkRmxvd1Ro
cmVhZC5oIgorI2luY2x1ZGUgIlJlbmRlclF1b3RlLmgiCiAjaW5jbHVkZSAiUmVuZGVyU2VsZWN0
aW9uSW5mby5oIgogI2luY2x1ZGUgIlJlbmRlcldpZGdldC5oIgogI2luY2x1ZGUgIlJlbmRlcldp
ZGdldFByb3RlY3Rvci5oIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDM2YmM1NzJkMzBlOTE5YzliNzE5Yzg0YWMyOWRjNGVk
MTI1NDNhMTkuLjBjZjEyZjUxYjljZjczYWEzM2M1MzE0OWU1MDM2ZWM4YjYzOWRhNWIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNCBAQAorMjAxMy0wMi0xNCAgRWxsaW90dCBTcHJlaG4gIDxlc3ByZWhuQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBSZW5kZXJRdW90ZSBzaG91bGQgbm90IG1hcmsgcmVuZGVy
ZXJzIGFzIG5lZWRpbmcgbGF5b3V0IGR1cmluZyBsYXlvdXQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTg3NgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9ibG9jay9mbG9hdC9mbG9hdC1ub3Qt
cmVtb3ZlZC1mcm9tLXByZS1ibG9jay1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jc3Mt
Z2VuZXJhdGVkLWNvbnRlbnQvcXVvdGUtbGF5b3V0LWZvY3VzLWNyYXNoLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9jc3MtZ2VuZXJhdGVkLWNvbnRlbnQvcXVvdGUtbGF5b3V0
LWZvY3VzLWNyYXNoLmh0bWw6IEFkZGVkLgorCiAyMDEzLTAyLTEyICBSb2JlcnQgSG9nYW4gIDxy
b2JlcnRAd2Via2l0Lm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9OKHIxMzY5NjcpOiBDb21iaW5h
dGlvbiBvZiBmbG9hdCBhbmQgY2xlYXIgeWllbGRzIHRvIGJhZCBsYXlvdXQKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvYmxvY2svZmxvYXQvZmxvYXQtbm90LXJlbW92ZWQtZnJvbS1wcmUt
YmxvY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9mbG9hdC9mbG9hdC1u
b3QtcmVtb3ZlZC1mcm9tLXByZS1ibG9jay1leHBlY3RlZC50eHQKaW5kZXggYWNiZjBmYmMxMzVh
ZDQwYTZmMWE1ZWM0YzRhZjk3MDM3OWQzODE4MC4uZGZkZjQ0NTc0YTk0ZTNjMmNiOWVjZTVmN2Rl
OWZjNTdjZDUyNjU5MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9mbG9hdC9m
bG9hdC1ub3QtcmVtb3ZlZC1mcm9tLXByZS1ibG9jay1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9ibG9jay9mbG9hdC9mbG9hdC1ub3QtcmVtb3ZlZC1mcm9tLXByZS1ibG9jay1l
eHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiBCdWcgMTAxOTcwOiBIZWFwLXVzZS1hZnRlci1m
cmVlIGluIFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6Omhhc1NlbGZQYWludGluZ0xh
eWVyCiBUZXN0IHBhc3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFzaC4KLQorICAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvY3NzLWdlbmVyYXRlZC1jb250ZW50L3F1b3RlLWxheW91dC1mb2N1
cy1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1nZW5lcmF0ZWQtY29u
dGVudC9xdW90ZS1sYXlvdXQtZm9jdXMtY3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAy
NjczNWFlZDYxNzVmNzg0NGU1M2IzMDg1ZTQ2OWViMDFkMmY4Y2UKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1nZW5lcmF0ZWQtY29udGVudC9xdW90ZS1sYXlvdXQtZm9j
dXMtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorQnVnIDEwOTYxNiAtIEFTU0VS
VCghcmVuZGVyZXIoKS0+bmVlZHNMYXlvdXQoKSkgd2hlbiBjYWxsaW5nIEVsZW1lbnQ6OmZvY3Vz
KCkgd2l0aCBnZW5lcmF0ZWQgY29udGVudAorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvY3NzLWdlbmVyYXRlZC1jb250ZW50L3F1b3RlLWxheW91dC1mb2N1cy1jcmFzaC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9jc3MtZ2VuZXJhdGVkLWNvbnRlbnQvcXVvdGUtbGF5b3V0LWZvY3Vz
LWNyYXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmNiYjU1OGUwZDc5ZmQxYzU2NTZiZTlkYzUzNGRkYjkx
YmFmNDgzZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdlbmVyYXRl
ZC1jb250ZW50L3F1b3RlLWxheW91dC1mb2N1cy1jcmFzaC5odG1sCkBAIC0wLDAgKzEsNDcgQEAK
KzwhRE9DVFlQRSBodG1sPgorCis8c3R5bGU+CisgICAgLyogTXVzdCBiZSBwb3NpdGlvbmVkIGFi
c29sdXRlIG9yIHN0YXRpYywgbXVzdCBoYXZlIG1hcmdpbnMgdG8gcHVzaCBpdCBvdXQgdmlldy4g
Ki8KKyAgICAucG9zaXRpb25lZCB7CisgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAg
ICAgbWFyZ2luLXRvcDogMTAwJTsKKyAgICB9CisKKyAgICAvKiBBbnkga2luZCBvZiBxdW90ZSB3
aWxsIGRvLCBjYW4gYmUgZWl0aGVyIDpiZWZvcmUgb3IgOmFmdGVyICovCisgICAgLnBvc2l0aW9u
ZWQ6YmVmb3JlLAorICAgIC5mb2N1c2FibGU6YmVmb3JlIHsKKyAgICAgICAgY29udGVudDogb3Bl
bi1xdW90ZTsKKyAgICB9Cis8L3N0eWxlPgorCis8cD5CdWcgMTA5NjE2IC0gQVNTRVJUKCFyZW5k
ZXJlcigpLT5uZWVkc0xheW91dCgpKSB3aGVuIGNhbGxpbmcgRWxlbWVudDo6Zm9jdXMoKSB3aXRo
IGdlbmVyYXRlZCBjb250ZW50PC9wPgorCis8IS0tCisgICAgVGhpcyBpcyB0ZXN0aW5nIGEgY2Fz
ZSB3aGVyZSBSZW5kZXJRdW90ZTo6dXBkYXRlRGVwdGggd2lsbCBtYXJrIHRoZSBSZW5kZXJRdW90
ZQorICAgIGFuZCBpdHMgYW5jZXN0b3JzIGFzIG5lZWRpbmcgbGF5b3V0IGluIHRoZSBtaWRkbGUg
b2YgYSBsYXlvdXQgb2YgaXRzIGFuY2VzdG9yLgorICAgIFdoZW4gaXRzIGFuY2VzdG9yIGZpbmlz
aGVzIHRoZSBsYXlvdXQgaXQgd2lsbCBtYXJrIGl0c2VsZiBhbmQgdGhlIGFuY2VzdG9ycworICAg
IGZhcnRoZXIgdXAgYXMgbm8gbG9uZ2VyIG5lZWRpbmcgbGF5b3V0LiBUaGUgZW5kIHJlc3VsdCBp
cyBzb21lIHN1YnRyZWUKKyAgICBuZWVkaW5nIGxheW91dCwgYnV0IHRoZSBSZW5kZXJWaWV3IGFu
ZCBwb3NzaWJseSBvdGhlciBhbmNlc3RvcnMgb2YgdGhlIHN1YnRyZWUKKyAgICBub3QgbmVlZGlu
ZyBsYXlvdXQuCisKKyAgICBleC4KKworICAgIFJlbmRlclZpZXcgPC0gIW5lZWRzTGF5b3V0Cisg
ICAgICAgIFwKKyAgICAgICBSZW5kZXJCbG9jayAoLmZvY3VzYWJsZSkgPC0gbmVlZHNMYXlvdXQK
KyAgICAgICAgICAgIFwKKyAgICAgICAgICAgICBSZW5kZXJCbG9jayAoZ2VuZXJhdGVkIGNvbnRl
bnQpIDwtIG5lZWRzTGF5b3V0CisgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICBS
ZW5kZXJRdW90ZSA8LSBuZWVkc0xheW91dAorLS0+CisKKzxkaXYgY2xhc3M9InBvc2l0aW9uZWQi
PjwvZGl2PgorPGRpdiBjbGFzcz0iZm9jdXNhYmxlIiB0YWJpbmRleD0iMSI+PC9kaXY+CisKKzxz
Y3JpcHQ+CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKKyAgICAvLyAuZm9jdXNhYmxlIHN0aWxsIG5lZWRzIGxheW91dCBhdCB0aGlz
IHBvaW50LCBidXQgUmVuZGVyVmlldyBkb2Vzbid0CisgICAgLy8gdGhpbmsgYW55IGRlc2NlbmRh
bnRzIG5lZWQgbGF5b3V0LgorICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5mb2N1c2FibGUn
KS5mb2N1cygpOworPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188459</attachid>
            <date>2013-02-14 18:01:57 -0800</date>
            <delta_ts>2013-02-15 13:11:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109876-20130214175819.patch</filename>
            <type>text/plain</type>
            <size>13179</size>
            <attacher name="Elliott Sprehn">esprehn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyOTQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDFjNmQxMmIzNTJhMTA4
MGZjNGVmMDdhOTc4M2U0M2NmMjlhNDI4OS4uN2ZjYjFhMjE4NDg3YTJhMzMzOThkOGUyYjc2M2Zj
MzFhYzljZWY3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEzLTAyLTE0ICBFbGxp
b3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbmRlclF1b3Rl
IHNob3VsZCBub3QgbWFyayByZW5kZXJlcnMgYXMgbmVlZGluZyBsYXlvdXQgZHVyaW5nIGxheW91
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5ODc2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFya2lu
ZyBSZW5kZXJRdW90ZXMgYXMgbmVlZGluZyBwcmVmIHdpZHRoIHJlY2FsY3MgYW5kIGxheW91dHMg
ZHVyaW5nIGEKKyAgICAgICAgbGF5b3V0IGlzIGRhbmdlcm91cyBzaW5jZSBhbiBhbmNlc3RvciBt
YXkgbWFyayBpdHNlbGYgYXMgaGF2aW5nIGNvbXBsZXRlZAorICAgICAgICBsYXlvdXQsIGJ1dCB0
aGVuIHNvbWUgc3VidHJlZSBzdGlsbCB0aGlua3MgaXQgbmVlZHMgbGF5b3V0LgorCisgICAgICAg
IEluc3RlYWQgd2UgY2FuIGtlZXAgdHJhY2sgb2Ygd2hpY2ggcXVvdGVzIG5lZWQgdG8gYmUgYXR0
YWNoZWQgdG8gdGhlIGxpbmtlZAorICAgICAgICBsaXN0IG9mIHF1b3RlcyBhbmQgYXR0YWNoIHRo
ZW0gZnJvbSBpbnNpZGUgUHNldWRvRWxlbWVudDo6YXR0YWNoIGR1cmluZyB0aGUKKyAgICAgICAg
cmVndWxhciB0cmVlIG11dGF0aW5nIGN5Y2xlLiBXZSBjYW4gdGhlbiB1c2UgUmVuZGVyUXVvdGU6
OnN0eWxlRGlkQ2hhbmdlIHRvCisgICAgICAgIHVwZGF0ZSB0aGUga2luZCBvZiBxdW90ZXMgb24g
bm9ybWFsIHN0eWxlIGNoYW5nZXMuCisKKyAgICAgICAgVGhpcyBtYWtlcyBSZW5kZXJRdW90ZSBi
ZWhhdmUgbXVjaCBtb3JlIHNpbWlsYXJseSB0byBET00gbm9kZXMgYW5kIG1lYW5zCisgICAgICAg
IHdlIG5vIGxvbmdlciBuZWVkIHRvIHNldCBkaXJ0eSBiaXRzIGR1cmluZyBsYXlvdXQuCisKKyAg
ICAgICAgVGVzdDogZmFzdC9jc3MtZ2VuZXJhdGVkLWNvbnRlbnQvcXVvdGUtbGF5b3V0LWZvY3Vz
LWNyYXNoLmh0bWwKKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6YXR0YWNoUmVuZGVyUXVvdGVzKTogQXR0YWNoZXMgYWxsIHBlbmRpbmcg
cmVuZGVyIHF1b3Rlcy4KKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjpzY2hlZHVsZVJlbmRlclF1b3RlQXR0YWNoKToKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjpjYW5jZWxSZW5kZXJRdW90ZUF0dGFjaCk6CisgICAgICAgIChEb2N1bWVu
dCk6CisgICAgICAgICogZG9tL1BzZXVkb0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UHNldWRvRWxlbWVudDo6YXR0YWNoKTogQ2F1c2UgYWxsIHBlbmRpbmcgcXVvdGVzIHRvIGF0dGFj
aC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUXVvdGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyUXVvdGU6On5SZW5kZXJRdW90ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJR
dW90ZTo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclF1
b3RlOjpzdHlsZURpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJRdW90ZTo6dXBk
YXRlVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJRdW90ZTo6YXR0YWNoUXVvdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUXVvdGU6OmRldGFjaFF1b3RlKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclF1b3RlOjp1cGRhdGVEZXB0aCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclF1b3RlLmg6CisgICAgICAgIChSZW5kZXJRdW90ZSk6CisKIDIwMTMtMDItMTQgIEhheWF0
byBJdG8gIDxoYXlhdG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlY292ZXIgZWRnZSBuYW1l
cyB1c2VkIGluIE1lbW9yeUluc3RydW1lbnRhdGlvbiBmb3IgRG9jdW1lbnRSdWxlU2V0cy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDRkNjI5NjNjYTExZTUwOThmMGUxZjc3NzcyZjFhZDg5
MWM1ODhkMzcuLjA0MTE3MGRiNDY0MTdjNjFjYTAxMTg3NmJlZDM5ZTA1MDRmMDE3MTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTMzLDYgKzEzMyw3IEBACiAjaW5jbHVkZSAiUmVnaXN0
ZXJlZEV2ZW50TGlzdGVuZXIuaCIKICNpbmNsdWRlICJSZW5kZXJBcmVuYS5oIgogI2luY2x1ZGUg
IlJlbmRlck5hbWVkRmxvd1RocmVhZC5oIgorI2luY2x1ZGUgIlJlbmRlclF1b3RlLmgiCiAjaW5j
bHVkZSAiUmVuZGVyVGV4dENvbnRyb2wuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCiAjaW5j
bHVkZSAiUmVuZGVyV2lkZ2V0LmgiCkBAIC02MDM3LDYgKzYwMzgsMTUgQEAgTG9jYWxlJiBEb2N1
bWVudDo6Z2V0Q2FjaGVkTG9jYWxlKGNvbnN0IEF0b21pY1N0cmluZyYgbG9jYWxlKQogICAgIHJl
dHVybiAqKHJlc3VsdC5pdGVyYXRvci0+dmFsdWUpOwogfQogCit2b2lkIERvY3VtZW50OjphdHRh
Y2hSZW5kZXJRdW90ZXMoKQoreworICAgIGlmICghbV9xdW90ZXNOZWVkaW5nQXR0YWNoLnNpemUo
KSkKKyAgICAgICAgcmV0dXJuOworICAgIGZvciAoTGlzdEhhc2hTZXQ8UmVuZGVyUXVvdGUqPjo6
aXRlcmF0b3IgaXQgPSBtX3F1b3Rlc05lZWRpbmdBdHRhY2guYmVnaW4oKTsgaXQgIT0gbV9xdW90
ZXNOZWVkaW5nQXR0YWNoLmVuZCgpOyArK2l0KQorICAgICAgICAoKml0KS0+YXR0YWNoUXVvdGUo
KTsKKyAgICBtX3F1b3Rlc05lZWRpbmdBdHRhY2guY2xlYXIoKTsKK30KKwogI2lmIEVOQUJMRShU
RU1QTEFURV9FTEVNRU5UKQogRG9jdW1lbnQqIERvY3VtZW50OjplbnN1cmVUZW1wbGF0ZURvY3Vt
ZW50KCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNzJjODM5OTNiZTA3ZmY4YzI3NjIwMjk5
YWEyMTY0OTZjZjdmNTllNy4uODU2MzBkOTBhYzQ1NDE5MjgwZWFlZTlkOTBjMTAyZDg3ZjVjZDdm
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTUxLDYgKzUxLDcgQEAKICNpbmNsdWRlICJWaWV3
cG9ydEFyZ3VtZW50cy5oIgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0Zi9G
aXhlZEFycmF5Lmg+CisjaW5jbHVkZSA8d3RmL0xpc3RIYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3Rm
L093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NSZWZQdHIuaD4KQEAgLTEyNCw2ICsxMjUsNyBAQCBjbGFzcyBQcm9jZXNzaW5nSW5zdHJ1Y3Rp
b247CiBjbGFzcyBSYW5nZTsKIGNsYXNzIFJlZ2lzdGVyZWRFdmVudExpc3RlbmVyOwogY2xhc3Mg
UmVuZGVyQXJlbmE7CitjbGFzcyBSZW5kZXJRdW90ZTsKIGNsYXNzIFJlbmRlclZpZXc7CiBjbGFz
cyBSZW5kZXJGdWxsU2NyZWVuOwogY2xhc3MgU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyOwpAQCAt
MTIwNiw2ICsxMjA4LDEwIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgY29uc3QgU2VjdXJpdHlP
cmlnaW4qIHRvcE9yaWdpbigpIGNvbnN0IE9WRVJSSURFOwogCisgICAgdm9pZCBzY2hlZHVsZVJl
bmRlclF1b3RlQXR0YWNoKFJlbmRlclF1b3RlKiBxdW90ZSkgeyBtX3F1b3Rlc05lZWRpbmdBdHRh
Y2guYWRkKHF1b3RlKTsgfQorICAgIHZvaWQgY2FuY2VsUmVuZGVyUXVvdGVBdHRhY2goUmVuZGVy
UXVvdGUqIHF1b3RlKSB7IG1fcXVvdGVzTmVlZGluZ0F0dGFjaC5yZW1vdmUocXVvdGUpOyB9Cisg
ICAgdm9pZCBhdHRhY2hSZW5kZXJRdW90ZXMoKTsKKwogcHJvdGVjdGVkOgogICAgIERvY3VtZW50
KEZyYW1lKiwgY29uc3QgS1VSTCYsIGJvb2wgaXNYSFRNTCwgYm9vbCBpc0hUTUwpOwogCkBAIC0x
NTcwLDYgKzE1NzYsOCBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxEb2N1bWVudD4gbV90ZW1wbGF0
ZURvY3VtZW50OwogICAgIERvY3VtZW50KiBtX3RlbXBsYXRlRG9jdW1lbnRIb3N0OyAvLyBNYW51
YWxseSBtYW5hZ2VkIHdlYWtyZWYgKGJhY2twb2ludGVyIGZyb20gbV90ZW1wbGF0ZURvY3VtZW50
KS4KICNlbmRpZgorCisgICAgTGlzdEhhc2hTZXQ8UmVuZGVyUXVvdGUqPiBtX3F1b3Rlc05lZWRp
bmdBdHRhY2g7CiB9OwogCiBpbmxpbmUgdm9pZCBEb2N1bWVudDo6bm90aWZ5UmVtb3ZlUGVuZGlu
Z1NoZWV0SWZOZWVkZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1BzZXVkb0Vs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1BzZXVkb0VsZW1lbnQuY3BwCmluZGV4IGZj
MDMyMjYyODUyNGMyMmM1NjY0OGQ3YzNiOTdiODg2MmFiZmFiMWQuLmNjZTVhMWVjZWRjZTZiMGIx
ZGQ5OGJkZjZiMWQ4YTM1YjUxZGFjYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Q
c2V1ZG9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRvRWxlbWVudC5j
cHAKQEAgLTg3LDYgKzg3LDggQEAgdm9pZCBQc2V1ZG9FbGVtZW50OjphdHRhY2goKQogICAgICAg
ICBlbHNlCiAgICAgICAgICAgICBjaGlsZC0+ZGVzdHJveSgpOwogICAgIH0KKworICAgIGRvY3Vt
ZW50KCktPmF0dGFjaFJlbmRlclF1b3RlcygpOwogfQogCiBib29sIFBzZXVkb0VsZW1lbnQ6OnJl
bmRlcmVySXNOZWVkZWQoY29uc3QgTm9kZVJlbmRlcmluZ0NvbnRleHQmIGNvbnRleHQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUXVvdGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclF1b3RlLmNwcAppbmRleCBlNGM5NzljMTc3MDhhNDNh
NzdkOTZkMjYyYjMxZWRjYzEwODk0ZWViLi5kODVmZGVjMmYzODk2MDFmMGQxMmJmZTU0NmE3ZTcy
MGEzZDJkZmFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUXVv
dGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJRdW90ZS5jcHAKQEAg
LTM3LDEwICszNywxMiBAQCBSZW5kZXJRdW90ZTo6UmVuZGVyUXVvdGUoRG9jdW1lbnQqIG5vZGUs
IFF1b3RlVHlwZSBxdW90ZSkKICAgICAsIG1fcHJldmlvdXMoMCkKICAgICAsIG1fYXR0YWNoZWQo
ZmFsc2UpCiB7CisgICAgZG9jdW1lbnQoKS0+c2NoZWR1bGVSZW5kZXJRdW90ZUF0dGFjaCh0aGlz
KTsKIH0KIAogUmVuZGVyUXVvdGU6On5SZW5kZXJRdW90ZSgpCiB7CisgICAgZG9jdW1lbnQoKS0+
Y2FuY2VsUmVuZGVyUXVvdGVBdHRhY2godGhpcyk7CiAgICAgQVNTRVJUKCFtX2F0dGFjaGVkKTsK
ICAgICBBU1NFUlQoIW1fbmV4dCAmJiAhbV9wcmV2aW91cyk7CiB9CkBAIC01NCwxMCArNTYsMTUg
QEAgdm9pZCBSZW5kZXJRdW90ZTo6d2lsbEJlRGVzdHJveWVkKCkKIHZvaWQgUmVuZGVyUXVvdGU6
OndpbGxCZVJlbW92ZWRGcm9tVHJlZSgpCiB7CiAgICAgUmVuZGVyVGV4dDo6d2lsbEJlUmVtb3Zl
ZEZyb21UcmVlKCk7Ci0KICAgICBkZXRhY2hRdW90ZSgpOwogfQogCit2b2lkIFJlbmRlclF1b3Rl
OjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5bGUq
IG9sZFN0eWxlKQoreworICAgIFJlbmRlclRleHQ6OnN0eWxlRGlkQ2hhbmdlKGRpZmYsIG9sZFN0
eWxlKTsKKyAgICB1cGRhdGVUZXh0KCk7Cit9CisKIHR5cGVkZWYgSGFzaE1hcDxBdG9taWNTdHJp
bmcsIGNvbnN0IFF1b3Rlc0RhdGEqLCBDYXNlRm9sZGluZ0hhc2g+IFF1b3Rlc01hcDsKIAogc3Rh
dGljIGNvbnN0IFF1b3Rlc01hcCYgcXVvdGVzRGF0YUxhbmd1YWdlTWFwKCkKQEAgLTI0NSwyNSAr
MjUyLDcgQEAgUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiBSZW5kZXJRdW90ZTo6b3JpZ2luYWxUZXh0
KCkgY29uc3QKIAogdm9pZCBSZW5kZXJRdW90ZTo6dXBkYXRlVGV4dCgpCiB7Ci0gICAgY29tcHV0
ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoMCk7Ci19Ci0KLXZvaWQgUmVuZGVyUXVvdGU6OmNvbXB1
dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGZsb2F0IGxlYWQpCi17Ci0jaWZuZGVmIE5ERUJVRwot
ICAgIC8vIEZJWE1FOiBXZSBzaG91bGRuJ3QgYmUgbW9kaWZ5aW5nIHRoZSB0cmVlIGluIGNvbXB1
dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzLgotICAgIC8vIEluc3RlYWQsIHdlIHNob3VsZCBwcm9w
ZXJseSBob29rIHRoZSBhcHByb3ByaWF0ZSBjaGFuZ2VzIGluIHRoZSBET00gYW5kIG1vZGlmeQot
ICAgIC8vIHRoZSByZW5kZXIgdHJlZSB0aGVuLiBXaGVuIHRoYXQncyBkb25lLCB3ZSBhbHNvIHdv
bid0IG5lZWQgdG8gb3ZlcnJpZGUKLSAgICAvLyBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRo
cyBhdCBhbGwuCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwNDgyOQotICAgIFNldExheW91dE5lZWRlZEZvcmJpZGRlblNjb3BlIGxheW91dEZvcmJpZGRl
blNjb3BlKHRoaXMsIGZhbHNlKTsKLSNlbmRpZgotCi0gICAgaWYgKCFtX2F0dGFjaGVkKQotICAg
ICAgICBhdHRhY2hRdW90ZSgpOwotICAgIHNldFRleHRJbnRlcm5hbChvcmlnaW5hbFRleHQoKSk7
Ci0KLSAgICBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyhsZWFkKTsK
KyAgICBzZXRUZXh0KG9yaWdpbmFsVGV4dCgpKTsKIH0KIAogY29uc3QgUXVvdGVzRGF0YSogUmVu
ZGVyUXVvdGU6OnF1b3Rlc0RhdGEoKSBjb25zdApAQCAtMjg1LDEzICsyNzQsNyBAQCB2b2lkIFJl
bmRlclF1b3RlOjphdHRhY2hRdW90ZSgpCiAgICAgQVNTRVJUKHZpZXcoKSk7CiAgICAgQVNTRVJU
KCFtX2F0dGFjaGVkKTsKICAgICBBU1NFUlQoIW1fbmV4dCAmJiAhbV9wcmV2aW91cyk7Ci0KLSAg
ICAvLyBGSVhNRTogRG9uJ3Qgc2V0IHByZWYgd2lkdGhzIGRpcnR5IGR1cmluZyBsYXlvdXQuIFNl
ZSB1cGRhdGVEZXB0aCgpIGZvcgotICAgIC8vIG1vcmUgZGV0YWlsLgotICAgIGlmICghaXNSb290
ZWQoKSkgewotICAgICAgICBzZXROZWVkc0xheW91dEFuZFByZWZXaWR0aHNSZWNhbGMoKTsKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KKyAgICBBU1NFUlQoaXNSb290ZWQoKSk7CiAKICAgICBpZiAo
IXZpZXcoKS0+cmVuZGVyUXVvdGVIZWFkKCkpIHsKICAgICAgICAgdmlldygpLT5zZXRSZW5kZXJR
dW90ZUhlYWQodGhpcyk7CkBAIC0zMzMsNiArMzE2LDcgQEAgdm9pZCBSZW5kZXJRdW90ZTo6ZGV0
YWNoUXVvdGUoKQogewogICAgIEFTU0VSVCghbV9uZXh0IHx8IG1fbmV4dC0+bV9hdHRhY2hlZCk7
CiAgICAgQVNTRVJUKCFtX3ByZXZpb3VzIHx8IG1fcHJldmlvdXMtPm1fYXR0YWNoZWQpOworICAg
IGRvY3VtZW50KCktPmNhbmNlbFJlbmRlclF1b3RlQXR0YWNoKHRoaXMpOwogICAgIGlmICghbV9h
dHRhY2hlZCkKICAgICAgICAgcmV0dXJuOwogICAgIGlmIChtX3ByZXZpb3VzKQpAQCAtMzcwLDEy
ICszNTQsOCBAQCB2b2lkIFJlbmRlclF1b3RlOjp1cGRhdGVEZXB0aCgpCiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgfQogICAgIH0KLSAgICAvLyBGSVhNRTogRG9uJ3QgY2FsbCBzZXROZWVk
c0xheW91dCBvciBkaXJ0eSBvdXIgcHJlZmVycmVkIHdpZHRocyBkdXJpbmcgbGF5b3V0LgotICAg
IC8vIFRoaXMgaXMgbGlrZWx5IHRvIGZhaWwgYW55d2F5IGFzIG9uZSBvZiBvdXIgYW5jZXN0b3Ig
d2lsbCBjYWxsIHNldE5lZWRzTGF5b3V0KGZhbHNlKSwKLSAgICAvLyBwcmV2ZW50aW5nIHRoZSBm
dXR1cmUgbGF5b3V0IHRvIG9jY3VyIG9uIHx0aGlzfC4gVGhlIHNvbHV0aW9uIGlzIHRvIG1vdmUg
dGhhdCB0byBhCi0gICAgLy8gcHJlLWxheW91dCBwaGFzZS4KICAgICBpZiAob2xkRGVwdGggIT0g
bV9kZXB0aCkKLSAgICAgICAgc2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7Cisg
ICAgICAgIHVwZGF0ZVRleHQoKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclF1b3RlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyUXVvdGUuaAppbmRleCAxN2U5N2IyNjc1NWY5MjM2YjE4MjU4
Y2JjOTdjYjFjZThlOTdlMzlmLi41M2EzZjM4ODhhOWFhZWZiNGFmMjE1ZTY3NGQyNTljOWEyZGE1
ODFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUXVvdGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUXVvdGUuaApAQCAtMzYsMTYgKzM2
LDE3IEBAIHB1YmxpYzoKICAgICBSZW5kZXJRdW90ZShEb2N1bWVudCosIGNvbnN0IFF1b3RlVHlw
ZSk7CiAgICAgdmlydHVhbCB+UmVuZGVyUXVvdGUoKTsKICAgICB2b2lkIGF0dGFjaFF1b3RlKCk7
Ci0gICAgdm9pZCBkZXRhY2hRdW90ZSgpOworCisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVRleHQo
KSBPVkVSUklERTsKIAogcHJpdmF0ZToKKyAgICB2b2lkIGRldGFjaFF1b3RlKCk7CisKICAgICB2
aXJ0dWFsIHZvaWQgd2lsbEJlRGVzdHJveWVkKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBjb25z
dCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gIlJlbmRlclF1b3Rl
IjsgfTsKICAgICB2aXJ0dWFsIGJvb2wgaXNRdW90ZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJu
IHRydWU7IH07CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IG9yaWdpbmFsVGV4
dCgpIGNvbnN0IE9WRVJSSURFOwotCi0gICAgdmlydHVhbCB2b2lkIHVwZGF0ZVRleHQoKSBPVkVS
UklERTsKLSAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoZmxv
YXQgbGVhZFdpZHRoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgc3R5bGVEaWRDaGFuZ2Uo
U3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSopIE9WRVJSSURFOwogCiAgICAgLy8g
V2UgZG9uJ3Qgb3ZlcnJpZGUgaW5zZXJ0ZWRJbnRvVHJlZSB0byBjYWxsIGF0dGFjaFF1b3RlKCkg
YXMgaXQgd291bGQgYmUgYXR0YWNoZWQKICAgICAvLyB0b28gZWFybHkgYW5kIGdldCB0aGUgd3Jv
bmcgZGVwdGggc2luY2UgZ2VuZXJhdGVkIGNvbnRlbnQgaXMgaW5zZXJ0ZWQgaW50byBhbm9ueW1v
dXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCA1M2Y5OTNlMjFlYzg3ZmExZmM1NTc2OWM3YTY0YWU5ZTRlYjQwZDI2Li44NjRl
ZGRhY2U2YTRkOTQ4MjkxNWY5YjUwOTEyZWQzMmQ2NWIyY2FhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTMtMDItMTQgIEVsbGlvdHQgU3ByZWhuICA8ZXNwcmVobkBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgUmVuZGVyUXVvdGUgc2hvdWxkIG5vdCBtYXJrIHJlbmRlcmVycyBhcyBuZWVkaW5n
IGxheW91dCBkdXJpbmcgbGF5b3V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDk4NzYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGZhc3QvYmxvY2svZmxvYXQvZmxvYXQtbm90LXJlbW92ZWQtZnJvbS1w
cmUtYmxvY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY3NzLWdlbmVyYXRlZC1jb250
ZW50L3F1b3RlLWxheW91dC1mb2N1cy1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvY3NzLWdlbmVyYXRlZC1jb250ZW50L3F1b3RlLWxheW91dC1mb2N1cy1jcmFzaC5o
dG1sOiBBZGRlZC4KKwogMjAxMy0wMi0xNCAgR2xlbm4gQWRhbXMgIDxnbGVubkBza3luYXYuY29t
PgogCiAgICAgICAgIG5ldy1ydW4td2Via2l0LXRlc3RzIG5lZWRzIGEgc2hhcmVkIFRlc3RFeHBl
Y3RhdGlvbnMgYmV0d2VlbiBhbGwgV2ViS2l0IHBvcnRzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Jsb2NrL2Zsb2F0L2Zsb2F0LW5vdC1yZW1vdmVkLWZyb20tcHJlLWJsb2NrLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svZmxvYXQvZmxvYXQtbm90LXJlbW92ZWQt
ZnJvbS1wcmUtYmxvY2stZXhwZWN0ZWQudHh0CmluZGV4IGFjYmYwZmJjMTM1YWQ0MGE2ZjFhNWVj
NGM0YWY5NzAzNzlkMzgxODAuLmRmZGY0NDU3NGE5NGUzYzJjYjllY2U1ZjdkZTlmYzU3Y2Q1MjY1
OTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svZmxvYXQvZmxvYXQtbm90LXJl
bW92ZWQtZnJvbS1wcmUtYmxvY2stZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
YmxvY2svZmxvYXQvZmxvYXQtbm90LXJlbW92ZWQtZnJvbS1wcmUtYmxvY2stZXhwZWN0ZWQudHh0
CkBAIC0xLDMgKzEsMyBAQAogQnVnIDEwMTk3MDogSGVhcC11c2UtYWZ0ZXItZnJlZSBpbiBXZWJD
b3JlOjpSZW5kZXJMYXllck1vZGVsT2JqZWN0OjpoYXNTZWxmUGFpbnRpbmdMYXllcgogVGVzdCBw
YXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2guCi0KKyAgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy1nZW5lcmF0ZWQtY29udGVudC9xdW90ZS1sYXlvdXQtZm9jdXMtY3Jhc2gtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ2VuZXJhdGVkLWNvbnRlbnQvcXVvdGUt
bGF5b3V0LWZvY3VzLWNyYXNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMjY3MzVhZWQ2MTc1
Zjc4NDRlNTNiMzA4NWU0NjllYjAxZDJmOGNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9jc3MtZ2VuZXJhdGVkLWNvbnRlbnQvcXVvdGUtbGF5b3V0LWZvY3VzLWNyYXNoLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK0J1ZyAxMDk2MTYgLSBBU1NFUlQoIXJlbmRlcmVy
KCktPm5lZWRzTGF5b3V0KCkpIHdoZW4gY2FsbGluZyBFbGVtZW50Ojpmb2N1cygpIHdpdGggZ2Vu
ZXJhdGVkIGNvbnRlbnQKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1nZW5l
cmF0ZWQtY29udGVudC9xdW90ZS1sYXlvdXQtZm9jdXMtY3Jhc2guaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvY3NzLWdlbmVyYXRlZC1jb250ZW50L3F1b3RlLWxheW91dC1mb2N1cy1jcmFzaC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIyZjU1NWFmNThlM2ZlZTZlMTg4ZGEzYzBjY2JmNDlkMDM3NGY2OTcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1nZW5lcmF0ZWQtY29udGVudC9x
dW90ZS1sYXlvdXQtZm9jdXMtY3Jhc2guaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUg
aHRtbD4KKworPHN0eWxlPgorICAgIC8qIE11c3QgYmUgcG9zaXRpb25lZCBhYnNvbHV0ZSBvciBz
dGF0aWMsIG11c3QgaGF2ZSBtYXJnaW5zIHRvIHB1c2ggaXQgb3V0IHZpZXcuICovCisgICAgLnBv
c2l0aW9uZWQgeworICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgICAgIG1hcmdpbi10
b3A6IDEwMCU7CisgICAgfQorCisgICAgLyogQW55IGtpbmQgb2YgcXVvdGUgd2lsbCBkbywgY2Fu
IGJlIGVpdGhlciA6YmVmb3JlIG9yIDphZnRlciAqLworICAgIC5wb3NpdGlvbmVkOmJlZm9yZSwK
KyAgICAuZm9jdXNhYmxlOmJlZm9yZSB7CisgICAgICAgIGNvbnRlbnQ6IG9wZW4tcXVvdGU7Cisg
ICAgfQorPC9zdHlsZT4KKworPHA+QnVnIDEwOTYxNiAtIEFTU0VSVCghcmVuZGVyZXIoKS0+bmVl
ZHNMYXlvdXQoKSkgd2hlbiBjYWxsaW5nIEVsZW1lbnQ6OmZvY3VzKCkgd2l0aCBnZW5lcmF0ZWQg
Y29udGVudDwvcD4KKworPCEtLQorICAgIFRoaXMgaXMgdGVzdGluZyBhIGNhc2Ugd2hlcmUgUmVu
ZGVyUXVvdGU6OnVwZGF0ZURlcHRoIHdvdWxkIG1hcmsgdGhlIFJlbmRlclF1b3RlCisgICAgYW5k
IGl0cyBhbmNlc3RvcnMgYXMgbmVlZGluZyBsYXlvdXQgaW4gdGhlIG1pZGRsZSBvZiBhIGxheW91
dCBvZiBpdHMgYW5jZXN0b3IuCisgICAgV2hlbiBpdHMgYW5jZXN0b3IgZmluaXNoZXMgdGhlIGxh
eW91dCBpdCB3aWxsIG1hcmsgaXRzZWxmIGFuZCB0aGUgYW5jZXN0b3JzCisgICAgZmFydGhlciB1
cCBhcyBubyBsb25nZXIgbmVlZGluZyBsYXlvdXQuIFRoZSBlbmQgcmVzdWx0IGlzIHNvbWUgc3Vi
dHJlZQorICAgIG5lZWRpbmcgbGF5b3V0LCBidXQgdGhlIFJlbmRlclZpZXcgYW5kIHBvc3NpYmx5
IG90aGVyIGFuY2VzdG9ycyBvZiB0aGUgc3VidHJlZQorICAgIG5vdCBuZWVkaW5nIGxheW91dC4K
KworICAgIGV4LgorCisgICAgUmVuZGVyVmlldyA8LSAhbmVlZHNMYXlvdXQKKyAgICAgICAgXAor
ICAgICAgIFJlbmRlckJsb2NrICguZm9jdXNhYmxlKSA8LSBuZWVkc0xheW91dAorICAgICAgICAg
ICAgXAorICAgICAgICAgICAgIFJlbmRlckJsb2NrIChnZW5lcmF0ZWQgY29udGVudCkgPC0gbmVl
ZHNMYXlvdXQKKyAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgIFJlbmRlclF1b3Rl
IDwtIG5lZWRzTGF5b3V0CistLT4KKworPGRpdiBjbGFzcz0icG9zaXRpb25lZCI+PC9kaXY+Cis8
ZGl2IGNsYXNzPSJmb2N1c2FibGUiIHRhYmluZGV4PSIxIj48L2Rpdj4KKworPHNjcmlwdD4KKyAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OworICAgIC8vIC5mb2N1c2FibGUgc3RpbGwgbmVlZHMgbGF5b3V0IGF0IHRoaXMgcG9pbnQsIGJ1
dCBSZW5kZXJWaWV3IGRvZXNuJ3QKKyAgICAvLyB0aGluayBhbnkgZGVzY2VuZGFudHMgbmVlZCBs
YXlvdXQuCisgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmZvY3VzYWJsZScpLmZvY3VzKCk7
Cis8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188630</attachid>
            <date>2013-02-15 13:11:10 -0800</date>
            <delta_ts>2013-02-15 15:13:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109876-20130215130736.patch</filename>
            <type>text/plain</type>
            <size>10343</size>
            <attacher name="Elliott Sprehn">esprehn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzMDM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmM2NWM3NzQxYjg5Yzhl
NDFiNDY1MGFkMGFhZDBhYTExOWU4ZjFjNy4uM2NjODhjMjk2NjNjZWQ1Yzk2ZmE0ODk3Y2I0ZDEy
Mjc3ZjVmYmI2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTAyLTE1ICBFbGxp
b3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbmRlclF1b3Rl
IHNob3VsZCBub3QgbWFyayByZW5kZXJlcnMgYXMgbmVlZGluZyBsYXlvdXQgZHVyaW5nIGxheW91
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5ODc2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFya2lu
ZyBSZW5kZXJRdW90ZXMgYXMgbmVlZGluZyBwcmVmIHdpZHRoIHJlY2FsY3MgYW5kIGxheW91dHMg
ZHVyaW5nIGEKKyAgICAgICAgbGF5b3V0IGlzIGRhbmdlcm91cyBzaW5jZSBhbiBhbmNlc3RvciBt
YXkgbWFyayBpdHNlbGYgYXMgaGF2aW5nIGNvbXBsZXRlZAorICAgICAgICBsYXlvdXQsIGJ1dCB0
aGVuIHNvbWUgc3VidHJlZSBzdGlsbCB0aGlua3MgaXQgbmVlZHMgbGF5b3V0LgorCisgICAgICAg
IEluc3RlYWQsIHNpbmNlIHRoZSBvbmx5IHRpbWUgd2UgY3JlYXRlIFJlbmRlclF1b3RlIGluc3Rh
bmNlcyBpcyBpbnNpZGUKKyAgICAgICAgUHNldWRvRWxlbWVudCwgd2UgY2FuIGNhbGwgYXR0YWNo
UXVvdGUgaW5zaWRlIFBzZXVkb0VsZW1lbnQ6OmF0dGFjaCBkdXJpbmcKKyAgICAgICAgdGhlIHJl
Z3VsYXIgdHJlZSBtdXRhdGluZyBjeWNsZS4gV2UgY2FuIHRoZW4gdXNlIFJlbmRlclF1b3RlOjpz
dHlsZURpZENoYW5nZQorICAgICAgICB0byB1cGRhdGUgdGhlIGtpbmQgb2YgcXVvdGVzIG9uIG5v
cm1hbCBzdHlsZSBjaGFuZ2VzLgorCisgICAgICAgIFRoaXMgbWFrZXMgUmVuZGVyUXVvdGUgYmVo
YXZlIG11Y2ggbW9yZSBzaW1pbGFybHkgdG8gRE9NIG5vZGVzIGFuZCBtZWFucworICAgICAgICB3
ZSBubyBsb25nZXIgbmVlZCB0byBzZXQgZGlydHkgYml0cyBkdXJpbmcgbGF5b3V0LgorCisgICAg
ICAgIFRlc3Q6IGZhc3QvY3NzLWdlbmVyYXRlZC1jb250ZW50L3F1b3RlLWxheW91dC1mb2N1cy1j
cmFzaC5odG1sCisKKyAgICAgICAgKiBkb20vUHNldWRvRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQc2V1ZG9FbGVtZW50OjphdHRhY2gpOiBOb3cgY2FsbCBhdHRhY2hRdW90ZSgpLgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJRdW90ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJRdW90ZTo6flJlbmRlclF1b3RlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclF1b3Rl
Ojp3aWxsQmVSZW1vdmVkRnJvbVRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUXVvdGU6
OnN0eWxlRGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclF1b3RlOjp1cGRhdGVU
ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclF1b3RlOjphdHRhY2hRdW90ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJRdW90ZTo6ZGV0YWNoUXVvdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyUXVvdGU6OnVwZGF0ZURlcHRoKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
UXVvdGUuaDoKKyAgICAgICAgKFJlbmRlclF1b3RlKToKKwogMjAxMy0wMi0xNSAgQW5kZXJzIENh
cmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBTdG9yYWdl
QXJlYVByb3h5OjpsZW5ndGgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9F
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmNwcAppbmRleCBm
YzAzMjI2Mjg1MjRjMjJjNTY2NDhkN2MzYjk3Yjg4NjJhYmZhYjFkLi4wYjYxYmNjZmZlODJjNzkx
YzNhM2EyYmUyNTZhNjA1ZjY0NDdiN2RkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
UHNldWRvRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1BzZXVkb0VsZW1lbnQu
Y3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiQ29udGVudERhdGEuaCIKICNpbmNsdWRl
ICJOb2RlUmVuZGVyaW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgorI2lu
Y2x1ZGUgIlJlbmRlclF1b3RlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtODIsOSAr
ODMsMTEgQEAgdm9pZCBQc2V1ZG9FbGVtZW50OjphdHRhY2goKQogCiAgICAgZm9yIChjb25zdCBD
b250ZW50RGF0YSogY29udGVudCA9IHN0eWxlLT5jb250ZW50RGF0YSgpOyBjb250ZW50OyBjb250
ZW50ID0gY29udGVudC0+bmV4dCgpKSB7CiAgICAgICAgIFJlbmRlck9iamVjdCogY2hpbGQgPSBj
b250ZW50LT5jcmVhdGVSZW5kZXJlcihkb2N1bWVudCgpLCBzdHlsZSk7Ci0gICAgICAgIGlmIChy
ZW5kZXJlci0+aXNDaGlsZEFsbG93ZWQoY2hpbGQsIHN0eWxlKSkKKyAgICAgICAgaWYgKHJlbmRl
cmVyLT5pc0NoaWxkQWxsb3dlZChjaGlsZCwgc3R5bGUpKSB7CiAgICAgICAgICAgICByZW5kZXJl
ci0+YWRkQ2hpbGQoY2hpbGQpOwotICAgICAgICBlbHNlCisgICAgICAgICAgICBpZiAoY2hpbGQt
PmlzUXVvdGUoKSkKKyAgICAgICAgICAgICAgICB0b1JlbmRlclF1b3RlKGNoaWxkKS0+YXR0YWNo
UXVvdGUoKTsKKyAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBjaGlsZC0+ZGVzdHJveSgpOwog
ICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJRdW90
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUXVvdGUuY3BwCmluZGV4IGU0
Yzk3OWMxNzcwOGE0M2E3N2Q5NmQyNjJiMzFlZGNjMTA4OTRlZWIuLjNkYTBiMDM1MmY1MWM1OWM0
ZjNhN2Q1OWU2NzE2MTU0N2QyMTc2YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJRdW90ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clF1b3RlLmNwcApAQCAtNTQsMTAgKzU0LDE1IEBAIHZvaWQgUmVuZGVyUXVvdGU6OndpbGxCZURl
c3Ryb3llZCgpCiB2b2lkIFJlbmRlclF1b3RlOjp3aWxsQmVSZW1vdmVkRnJvbVRyZWUoKQogewog
ICAgIFJlbmRlclRleHQ6OndpbGxCZVJlbW92ZWRGcm9tVHJlZSgpOwotCiAgICAgZGV0YWNoUXVv
dGUoKTsKIH0KIAordm9pZCBSZW5kZXJRdW90ZTo6c3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJl
bmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSkKK3sKKyAgICBSZW5kZXJUZXh0
OjpzdHlsZURpZENoYW5nZShkaWZmLCBvbGRTdHlsZSk7CisgICAgdXBkYXRlVGV4dCgpOworfQor
CiB0eXBlZGVmIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBjb25zdCBRdW90ZXNEYXRhKiwgQ2FzZUZv
bGRpbmdIYXNoPiBRdW90ZXNNYXA7CiAKIHN0YXRpYyBjb25zdCBRdW90ZXNNYXAmIHF1b3Rlc0Rh
dGFMYW5ndWFnZU1hcCgpCkBAIC0yNDUsMjUgKzI1MCw3IEBAIFBhc3NSZWZQdHI8U3RyaW5nSW1w
bD4gUmVuZGVyUXVvdGU6Om9yaWdpbmFsVGV4dCgpIGNvbnN0CiAKIHZvaWQgUmVuZGVyUXVvdGU6
OnVwZGF0ZVRleHQoKQogewotICAgIGNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKDApOwot
fQotCi12b2lkIFJlbmRlclF1b3RlOjpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyhmbG9h
dCBsZWFkKQotewotI2lmbmRlZiBOREVCVUcKLSAgICAvLyBGSVhNRTogV2Ugc2hvdWxkbid0IGJl
IG1vZGlmeWluZyB0aGUgdHJlZSBpbiBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocy4KLSAg
ICAvLyBJbnN0ZWFkLCB3ZSBzaG91bGQgcHJvcGVybHkgaG9vayB0aGUgYXBwcm9wcmlhdGUgY2hh
bmdlcyBpbiB0aGUgRE9NIGFuZCBtb2RpZnkKLSAgICAvLyB0aGUgcmVuZGVyIHRyZWUgdGhlbi4g
V2hlbiB0aGF0J3MgZG9uZSwgd2UgYWxzbyB3b24ndCBuZWVkIHRvIG92ZXJyaWRlCi0gICAgLy8g
Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMgYXQgYWxsLgotICAgIC8vIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ4MjkKLSAgICBTZXRMYXlvdXROZWVkZWRG
b3JiaWRkZW5TY29wZSBsYXlvdXRGb3JiaWRkZW5TY29wZSh0aGlzLCBmYWxzZSk7Ci0jZW5kaWYK
LQotICAgIGlmICghbV9hdHRhY2hlZCkKLSAgICAgICAgYXR0YWNoUXVvdGUoKTsKLSAgICBzZXRU
ZXh0SW50ZXJuYWwob3JpZ2luYWxUZXh0KCkpOwotCi0gICAgUmVuZGVyVGV4dDo6Y29tcHV0ZVBy
ZWZlcnJlZExvZ2ljYWxXaWR0aHMobGVhZCk7CisgICAgc2V0VGV4dChvcmlnaW5hbFRleHQoKSk7
CiB9CiAKIGNvbnN0IFF1b3Rlc0RhdGEqIFJlbmRlclF1b3RlOjpxdW90ZXNEYXRhKCkgY29uc3QK
QEAgLTI4NSwxMyArMjcyLDcgQEAgdm9pZCBSZW5kZXJRdW90ZTo6YXR0YWNoUXVvdGUoKQogICAg
IEFTU0VSVCh2aWV3KCkpOwogICAgIEFTU0VSVCghbV9hdHRhY2hlZCk7CiAgICAgQVNTRVJUKCFt
X25leHQgJiYgIW1fcHJldmlvdXMpOwotCi0gICAgLy8gRklYTUU6IERvbid0IHNldCBwcmVmIHdp
ZHRocyBkaXJ0eSBkdXJpbmcgbGF5b3V0LiBTZWUgdXBkYXRlRGVwdGgoKSBmb3IKLSAgICAvLyBt
b3JlIGRldGFpbC4KLSAgICBpZiAoIWlzUm9vdGVkKCkpIHsKLSAgICAgICAgc2V0TmVlZHNMYXlv
dXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgQVNT
RVJUKGlzUm9vdGVkKCkpOwogCiAgICAgaWYgKCF2aWV3KCktPnJlbmRlclF1b3RlSGVhZCgpKSB7
CiAgICAgICAgIHZpZXcoKS0+c2V0UmVuZGVyUXVvdGVIZWFkKHRoaXMpOwpAQCAtMzcwLDEyICsz
NTEsOCBAQCB2b2lkIFJlbmRlclF1b3RlOjp1cGRhdGVEZXB0aCgpCiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgfQogICAgIH0KLSAgICAvLyBGSVhNRTogRG9uJ3QgY2FsbCBzZXROZWVkc0xh
eW91dCBvciBkaXJ0eSBvdXIgcHJlZmVycmVkIHdpZHRocyBkdXJpbmcgbGF5b3V0LgotICAgIC8v
IFRoaXMgaXMgbGlrZWx5IHRvIGZhaWwgYW55d2F5IGFzIG9uZSBvZiBvdXIgYW5jZXN0b3Igd2ls
bCBjYWxsIHNldE5lZWRzTGF5b3V0KGZhbHNlKSwKLSAgICAvLyBwcmV2ZW50aW5nIHRoZSBmdXR1
cmUgbGF5b3V0IHRvIG9jY3VyIG9uIHx0aGlzfC4gVGhlIHNvbHV0aW9uIGlzIHRvIG1vdmUgdGhh
dCB0byBhCi0gICAgLy8gcHJlLWxheW91dCBwaGFzZS4KICAgICBpZiAob2xkRGVwdGggIT0gbV9k
ZXB0aCkKLSAgICAgICAgc2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7CisgICAg
ICAgIHVwZGF0ZVRleHQoKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclF1b3RlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyUXVvdGUuaAppbmRleCAxN2U5N2IyNjc1NWY5MjM2YjE4MjU4Y2Jj
OTdjYjFjZThlOTdlMzlmLi41M2EzZjM4ODhhOWFhZWZiNGFmMjE1ZTY3NGQyNTljOWEyZGE1ODFk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUXVvdGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUXVvdGUuaApAQCAtMzYsMTYgKzM2LDE3
IEBAIHB1YmxpYzoKICAgICBSZW5kZXJRdW90ZShEb2N1bWVudCosIGNvbnN0IFF1b3RlVHlwZSk7
CiAgICAgdmlydHVhbCB+UmVuZGVyUXVvdGUoKTsKICAgICB2b2lkIGF0dGFjaFF1b3RlKCk7Ci0g
ICAgdm9pZCBkZXRhY2hRdW90ZSgpOworCisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVRleHQoKSBP
VkVSUklERTsKIAogcHJpdmF0ZToKKyAgICB2b2lkIGRldGFjaFF1b3RlKCk7CisKICAgICB2aXJ0
dWFsIHZvaWQgd2lsbEJlRGVzdHJveWVkKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBjb25zdCBj
aGFyKiByZW5kZXJOYW1lKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gIlJlbmRlclF1b3RlIjsg
fTsKICAgICB2aXJ0dWFsIGJvb2wgaXNRdW90ZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHRy
dWU7IH07CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IG9yaWdpbmFsVGV4dCgp
IGNvbnN0IE9WRVJSSURFOwotCi0gICAgdmlydHVhbCB2b2lkIHVwZGF0ZVRleHQoKSBPVkVSUklE
RTsKLSAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoZmxvYXQg
bGVhZFdpZHRoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5
bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSopIE9WRVJSSURFOwogCiAgICAgLy8gV2Ug
ZG9uJ3Qgb3ZlcnJpZGUgaW5zZXJ0ZWRJbnRvVHJlZSB0byBjYWxsIGF0dGFjaFF1b3RlKCkgYXMg
aXQgd291bGQgYmUgYXR0YWNoZWQKICAgICAvLyB0b28gZWFybHkgYW5kIGdldCB0aGUgd3Jvbmcg
ZGVwdGggc2luY2UgZ2VuZXJhdGVkIGNvbnRlbnQgaXMgaW5zZXJ0ZWQgaW50byBhbm9ueW1vdXMK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0MjI3ZWM5ZDRiY2MzMGU0MjcwZDc4MDZjODdjNTJkYWRmYzRjMmQ1Li4xYjA4NDdi
MGJiYzgzMjVhNThkNDI4ZTczZjA3NjUzZDE0YjRhMmVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTMtMDItMTUgIEVsbGlvdHQgU3ByZWhuICA8ZXNwcmVobkBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmVuZGVyUXVvdGUgc2hvdWxkIG5vdCBtYXJrIHJlbmRlcmVycyBhcyBuZWVkaW5nIGxh
eW91dCBkdXJpbmcgbGF5b3V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDk4NzYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGZhc3QvYmxvY2svZmxvYXQvZmxvYXQtbm90LXJlbW92ZWQtZnJvbS1wcmUt
YmxvY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY3NzLWdlbmVyYXRlZC1jb250ZW50
L3F1b3RlLWxheW91dC1mb2N1cy1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvY3NzLWdlbmVyYXRlZC1jb250ZW50L3F1b3RlLWxheW91dC1mb2N1cy1jcmFzaC5odG1s
OiBBZGRlZC4KKwogMjAxMy0wMi0xNSAgUGhpbGlwIFJvZ2VycyAgPHBkckBnb29nbGUuY29tPgog
CiAgICAgICAgIFJlYmFzZWxpbmUgNyBTVkcgdGVzdHMgYWZ0ZXIgcjE0Mjc2NS4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svZmxvYXQvZmxvYXQtbm90LXJlbW92ZWQtZnJvbS1w
cmUtYmxvY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9mbG9hdC9mbG9h
dC1ub3QtcmVtb3ZlZC1mcm9tLXByZS1ibG9jay1leHBlY3RlZC50eHQKaW5kZXggYWNiZjBmYmMx
MzVhZDQwYTZmMWE1ZWM0YzRhZjk3MDM3OWQzODE4MC4uZGZkZjQ0NTc0YTk0ZTNjMmNiOWVjZTVm
N2RlOWZjNTdjZDUyNjU5MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9mbG9h
dC9mbG9hdC1ub3QtcmVtb3ZlZC1mcm9tLXByZS1ibG9jay1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9ibG9jay9mbG9hdC9mbG9hdC1ub3QtcmVtb3ZlZC1mcm9tLXByZS1ibG9j
ay1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiBCdWcgMTAxOTcwOiBIZWFwLXVzZS1hZnRl
ci1mcmVlIGluIFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6Omhhc1NlbGZQYWludGlu
Z0xheWVyCiBUZXN0IHBhc3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFzaC4KLQorICAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdlbmVyYXRlZC1jb250ZW50L3F1b3RlLWxheW91dC1m
b2N1cy1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1nZW5lcmF0ZWQt
Y29udGVudC9xdW90ZS1sYXlvdXQtZm9jdXMtY3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjAyNjczNWFlZDYxNzVmNzg0NGU1M2IzMDg1ZTQ2OWViMDFkMmY4Y2UKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1nZW5lcmF0ZWQtY29udGVudC9xdW90ZS1sYXlvdXQt
Zm9jdXMtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorQnVnIDEwOTYxNiAtIEFT
U0VSVCghcmVuZGVyZXIoKS0+bmVlZHNMYXlvdXQoKSkgd2hlbiBjYWxsaW5nIEVsZW1lbnQ6OmZv
Y3VzKCkgd2l0aCBnZW5lcmF0ZWQgY29udGVudAorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvY3NzLWdlbmVyYXRlZC1jb250ZW50L3F1b3RlLWxheW91dC1mb2N1cy1jcmFzaC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ2VuZXJhdGVkLWNvbnRlbnQvcXVvdGUtbGF5b3V0LWZv
Y3VzLWNyYXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjJmNTU1YWY1OGUzZmVlNmUxODhkYTNjMGNjYmY0
OWQwMzc0ZjY5NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdlbmVy
YXRlZC1jb250ZW50L3F1b3RlLWxheW91dC1mb2N1cy1jcmFzaC5odG1sCkBAIC0wLDAgKzEsNDcg
QEAKKzwhRE9DVFlQRSBodG1sPgorCis8c3R5bGU+CisgICAgLyogTXVzdCBiZSBwb3NpdGlvbmVk
IGFic29sdXRlIG9yIHN0YXRpYywgbXVzdCBoYXZlIG1hcmdpbnMgdG8gcHVzaCBpdCBvdXQgdmll
dy4gKi8KKyAgICAucG9zaXRpb25lZCB7CisgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAg
ICAgICAgbWFyZ2luLXRvcDogMTAwJTsKKyAgICB9CisKKyAgICAvKiBBbnkga2luZCBvZiBxdW90
ZSB3aWxsIGRvLCBjYW4gYmUgZWl0aGVyIDpiZWZvcmUgb3IgOmFmdGVyICovCisgICAgLnBvc2l0
aW9uZWQ6YmVmb3JlLAorICAgIC5mb2N1c2FibGU6YmVmb3JlIHsKKyAgICAgICAgY29udGVudDog
b3Blbi1xdW90ZTsKKyAgICB9Cis8L3N0eWxlPgorCis8cD5CdWcgMTA5NjE2IC0gQVNTRVJUKCFy
ZW5kZXJlcigpLT5uZWVkc0xheW91dCgpKSB3aGVuIGNhbGxpbmcgRWxlbWVudDo6Zm9jdXMoKSB3
aXRoIGdlbmVyYXRlZCBjb250ZW50PC9wPgorCis8IS0tCisgICAgVGhpcyBpcyB0ZXN0aW5nIGEg
Y2FzZSB3aGVyZSBSZW5kZXJRdW90ZTo6dXBkYXRlRGVwdGggd291bGQgbWFyayB0aGUgUmVuZGVy
UXVvdGUKKyAgICBhbmQgaXRzIGFuY2VzdG9ycyBhcyBuZWVkaW5nIGxheW91dCBpbiB0aGUgbWlk
ZGxlIG9mIGEgbGF5b3V0IG9mIGl0cyBhbmNlc3Rvci4KKyAgICBXaGVuIGl0cyBhbmNlc3RvciBm
aW5pc2hlcyB0aGUgbGF5b3V0IGl0IHdpbGwgbWFyayBpdHNlbGYgYW5kIHRoZSBhbmNlc3RvcnMK
KyAgICBmYXJ0aGVyIHVwIGFzIG5vIGxvbmdlciBuZWVkaW5nIGxheW91dC4gVGhlIGVuZCByZXN1
bHQgaXMgc29tZSBzdWJ0cmVlCisgICAgbmVlZGluZyBsYXlvdXQsIGJ1dCB0aGUgUmVuZGVyVmll
dyBhbmQgcG9zc2libHkgb3RoZXIgYW5jZXN0b3JzIG9mIHRoZSBzdWJ0cmVlCisgICAgbm90IG5l
ZWRpbmcgbGF5b3V0LgorCisgICAgZXguCisKKyAgICBSZW5kZXJWaWV3IDwtICFuZWVkc0xheW91
dAorICAgICAgICBcCisgICAgICAgUmVuZGVyQmxvY2sgKC5mb2N1c2FibGUpIDwtIG5lZWRzTGF5
b3V0CisgICAgICAgICAgICBcCisgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGdlbmVyYXRlZCBj
b250ZW50KSA8LSBuZWVkc0xheW91dAorICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAg
ICAgUmVuZGVyUXVvdGUgPC0gbmVlZHNMYXlvdXQKKy0tPgorCis8ZGl2IGNsYXNzPSJwb3NpdGlv
bmVkIj48L2Rpdj4KKzxkaXYgY2xhc3M9ImZvY3VzYWJsZSIgdGFiaW5kZXg9IjEiPjwvZGl2Pgor
Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7CisgICAgLy8gLmZvY3VzYWJsZSBzdGlsbCBuZWVkcyBsYXlvdXQgYXQg
dGhpcyBwb2ludCwgYnV0IFJlbmRlclZpZXcgZG9lc24ndAorICAgIC8vIHRoaW5rIGFueSBkZXNj
ZW5kYW50cyBuZWVkIGxheW91dC4KKyAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuZm9jdXNh
YmxlJykuZm9jdXMoKTsKKzwvc2NyaXB0Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>