<?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>73259</bug_id>
          
          <creation_ts>2011-11-28 15:01:23 -0800</creation_ts>
          <short_desc>[chromium] add event methods to WebFrame</short_desc>
          <delta_ts>2011-12-09 17:09:29 -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>WebKit API</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>73337</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Karl Koscher">supersat</reporter>
          <assigned_to name="Karl Koscher">supersat</assigned_to>
          <cc>creis</cc>
    
    <cc>fishd</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>510234</commentid>
    <comment_count>0</comment_count>
    <who name="Karl Koscher">supersat</who>
    <bug_when>2011-11-28 15:01:23 -0800</bug_when>
    <thetext>In preparation for getting cross-process postMessage working in Chromium, we need an API to send message events to frames. We also need an API for adding event handlers to frames so that we can intercept message events to our proxy frames. While we could dispatch the message event to the document and let it bubble, we can&apos;t capture message events on the document (they are directly dispatched to the DOMWindow), so we at least need methods to add and remove event handlers. While we&apos;re at it, we might as well add an API so we can dispatch messages directly as well to be consistent with the same-process behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510295</commentid>
    <comment_count>1</comment_count>
      <attachid>116845</attachid>
    <who name="Karl Koscher">supersat</who>
    <bug_when>2011-11-28 16:00:30 -0800</bug_when>
    <thetext>Created attachment 116845
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510300</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-28 16:04:34 -0800</bug_when>
    <thetext>Please wait for approval from fishd@chromium.org before submitting because this patch contains changes to the Chromium public API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510319</commentid>
    <comment_count>3</comment_count>
      <attachid>116845</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-11-28 16:31:13 -0800</bug_when>
    <thetext>Comment on attachment 116845
Patch

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

&gt; Source/WebKit/chromium/public/WebFrame.h:546
&gt; +    // Events --------------------------------------------------------------

nit: please preserve two new lines above section headers and one new line below.

&gt; Source/WebKit/chromium/public/WebFrame.h:547
&gt; +    virtual void addEventListener(const WebString&amp; eventType,

Please add a comment indicating that these operate on the DOM Window.

Do you care if web content is able to generate synthetic DOM events that you
intercept?  Do we need to worry about that introducing security holes through
privilege escalation?

&gt; Source/WebKit/chromium/src/WebFrameImpl.cpp:1861
&gt; +    if (!event.isNull())

I think you should be able to assume that you are given a non-null event.  I would just ASSERT(!event.isNull())</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510368</commentid>
    <comment_count>4</comment_count>
      <attachid>116857</attachid>
    <who name="Karl Koscher">supersat</who>
    <bug_when>2011-11-28 17:38:46 -0800</bug_when>
    <thetext>Created attachment 116857
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510372</commentid>
    <comment_count>5</comment_count>
      <attachid>116845</attachid>
    <who name="Karl Koscher">supersat</who>
    <bug_when>2011-11-28 17:41:58 -0800</bug_when>
    <thetext>Comment on attachment 116845
Patch

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

&gt;&gt; Source/WebKit/chromium/public/WebFrame.h:546
&gt;&gt; +    // Events --------------------------------------------------------------
&gt; 
&gt; nit: please preserve two new lines above section headers and one new line below.

Fixed.

&gt;&gt; Source/WebKit/chromium/public/WebFrame.h:547
&gt;&gt; +    virtual void addEventListener(const WebString&amp; eventType,
&gt; 
&gt; Please add a comment indicating that these operate on the DOM Window.
&gt; 
&gt; Do you care if web content is able to generate synthetic DOM events that you
&gt; intercept?  Do we need to worry about that introducing security holes through
&gt; privilege escalation?

Comment added.

I talked with Charlie and we both agree that it&apos;s an acceptable risk. WebKit already exposes these functions internally. Any users of this API will need to consider the fact that these events might be synthetic, though. I added a comment to that effect.

&gt;&gt; Source/WebKit/chromium/src/WebFrameImpl.cpp:1861
&gt;&gt; +    if (!event.isNull())
&gt; 
&gt; I think you should be able to assume that you are given a non-null event.  I would just ASSERT(!event.isNull())

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511412</commentid>
    <comment_count>6</comment_count>
      <attachid>116857</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-29 22:54:57 -0800</bug_when>
    <thetext>Comment on attachment 116857
Patch

Rejecting attachment 116857 from commit-queue.

New failing tests:
svg/transforms/text-with-pattern-with-svg-transform.svg
Full output: http://queues.webkit.org/results/10696086</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518659</commentid>
    <comment_count>7</comment_count>
      <attachid>116857</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-09 17:09:24 -0800</bug_when>
    <thetext>Comment on attachment 116857
Patch

Clearing flags on attachment: 116857

Committed r102495: &lt;http://trac.webkit.org/changeset/102495&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518660</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-09 17:09:29 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116845</attachid>
            <date>2011-11-28 16:00:30 -0800</date>
            <delta_ts>2011-11-28 17:41:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73259-20111128160029.patch</filename>
            <type>text/plain</type>
            <size>11532</size>
            <attacher name="Karl Koscher">supersat</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxMjc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGRiOWE1YTM3Njk3YWJlYjcxZDQ4MjEzMWIwOThlNDZkNTQ0YjkzZGUuLmUwNmMyZWE2Y2M1ZTQy
ZWNjMzk2MzEwZTkyZDU4NTVkM2QyYjJmNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMTEtMTEtMjggIEthcmwgS29zY2hlciAgPHN1cGVyc2F0QGNocm9t
aXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIGFkZCBldmVudCBtZXRob2RzIHRvIFdlYkZy
YW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcHVi
bGljL1dlYkRPTUV2ZW50TGlzdGVuZXIuaDogVXNlIEV2ZW50VGFyZ2V0IGluc3RlYWQgb2YgTm9k
ZQorICAgICAgICAqIHB1YmxpYy9XZWJGcmFtZS5oOiBBZGQgZXZlbnQgbWV0aG9kcworICAgICAg
ICAqIHNyYy9XZWJET01FdmVudExpc3RlbmVyLmNwcDogVXNlIEV2ZW50VGFyZ2V0IGluc3RlYWQg
b2YgTm9kZQorICAgICAgICAoV2ViS2l0OjpXZWJET01FdmVudExpc3RlbmVyOjpjcmVhdGVFdmVu
dExpc3RlbmVyV3JhcHBlcik6IAorICAgICAgICAoV2ViS2l0OjpXZWJET01FdmVudExpc3RlbmVy
OjpnZXRFdmVudExpc3RlbmVyV3JhcHBlcik6CisgICAgICAgICogc3JjL1dlYkRPTUV2ZW50TGlz
dGVuZXJQcml2YXRlLmNwcDogVXNlIEV2ZW50VGFyZ2V0IGluc3RlYWQgb2YgTm9kZQorICAgICAg
ICAoV2ViS2l0OjpXZWJET01FdmVudExpc3RlbmVyUHJpdmF0ZTo6Y3JlYXRlRXZlbnRMaXN0ZW5l
cldyYXBwZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJET01FdmVudExpc3RlbmVyUHJpdmF0ZTo6
Z2V0RXZlbnRMaXN0ZW5lcldyYXBwZXIpOgorICAgICAgICAqIHNyYy9XZWJET01FdmVudExpc3Rl
bmVyUHJpdmF0ZS5oOiBVc2UgRXZlbnRUYXJnZXQgaW5zdGVhZCBvZiBOb2RlCisgICAgICAgIChX
ZWJLaXQ6OldlYkRPTUV2ZW50TGlzdGVuZXJQcml2YXRlOjpMaXN0ZW5lckluZm86Okxpc3RlbmVy
SW5mbyk6CisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYkZyYW1lSW1wbDo6YWRkRXZlbnRMaXN0ZW5lcik6IHJlZ2lzdGVyIGEgbGlzdGVuZXIgb24g
YSBXZWJGcmFtZQorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OnJlbW92ZUV2ZW50TGlz
dGVuZXIpOiByZW1vdmUgYSBsaXN0ZW5lciBvbiBhIFdlYkZyYW1lCisgICAgICAgIChXZWJLaXQ6
OldlYkZyYW1lSW1wbDo6ZGlzcGF0Y2hFdmVudCk6IGRpc3BhdGNoIGFuIGV2ZW50IHRvIGEgV2Vi
RnJhbWUKKyAgICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmg6IEFkZCBldmVudCBtZXRob2RzCisK
IDIwMTEtMTEtMjggIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgW0Nocm9taXVtXSBGaXggYnJva2VuIERSVCBidWlsZCBmb3IgQXVyYSBMaW51eApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRE9NRXZlbnRMaXN0ZW5lci5o
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRE9NRXZlbnRMaXN0ZW5lci5oCmlu
ZGV4IGI5ZjkwZWQ3ZDA2YjcxOTEzYTFlZjVjMzVlN2E3M2U0ODM0YjQ4OGIuLmY4NzliMzY2ZWMz
MTBlMzUyYWIzNjJkZjE2OWU1M2MzZjIwNjllYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYkRPTUV2ZW50TGlzdGVuZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJET01FdmVudExpc3RlbmVyLmgKQEAgLTM0LDcgKzM0LDcgQEAK
ICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJDb21tb24uaCIKIAogI2lmIFdFQktJVF9JTVBMRU1FTlRB
VElPTgotbmFtZXNwYWNlIFdlYkNvcmUgeyBjbGFzcyBOb2RlOyB9CituYW1lc3BhY2UgV2ViQ29y
ZSB7IGNsYXNzIEV2ZW50VGFyZ2V0OyB9CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBA
IC01NSw4ICs1NSw4IEBAIHB1YmxpYzoKIAogI2lmIFdFQktJVF9JTVBMRU1FTlRBVElPTgogICAg
IHZvaWQgbm90aWZ5RXZlbnRMaXN0ZW5lckRlbGV0ZWQoRXZlbnRMaXN0ZW5lcldyYXBwZXIqKTsK
LSAgICBFdmVudExpc3RlbmVyV3JhcHBlciogY3JlYXRlRXZlbnRMaXN0ZW5lcldyYXBwZXIoY29u
c3QgV2ViU3RyaW5nJiBldmVudFR5cGUsIGJvb2wgdXNlQ2FwdHVyZSwgV2ViQ29yZTo6Tm9kZSog
bm9kZSk7Ci0gICAgRXZlbnRMaXN0ZW5lcldyYXBwZXIqIGdldEV2ZW50TGlzdGVuZXJXcmFwcGVy
KGNvbnN0IFdlYlN0cmluZyYgZXZlbnRUeXBlLCBib29sIHVzZUNhcHR1cmUsIFdlYkNvcmU6Ok5v
ZGUqIG5vZGUpOworICAgIEV2ZW50TGlzdGVuZXJXcmFwcGVyKiBjcmVhdGVFdmVudExpc3RlbmVy
V3JhcHBlcihjb25zdCBXZWJTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCB1c2VDYXB0dXJlLCBXZWJD
b3JlOjpFdmVudFRhcmdldCopOworICAgIEV2ZW50TGlzdGVuZXJXcmFwcGVyKiBnZXRFdmVudExp
c3RlbmVyV3JhcHBlcihjb25zdCBXZWJTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCB1c2VDYXB0dXJl
LCBXZWJDb3JlOjpFdmVudFRhcmdldCopOwogI2VuZGlmCiAKIHByaXZhdGU6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaAppbmRleCA1ZDZjMTc3OTcyOGYwZGExYzRmMDRi
MDk1ZTNiOTdiYTUwZmYwNGEwLi4zOWEyZmFlY2NhMjU1Nzk2ZWIxMmQyNDZiYjcyZmJlZjYyZDky
ZjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmgKQEAgLTU0Myw2
ICs1NDMsMTIgQEAgcHVibGljOgogICAgIC8vIG9mIG1hdGNoZXMgZm91bmQgZHVyaW5nIHRoZSBz
Y29waW5nIGVmZm9ydC4KICAgICB2aXJ0dWFsIHZvaWQgcmVzZXRNYXRjaENvdW50KCkgPSAwOwog
CisgICAgLy8gRXZlbnRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgdmlydHVhbCB2b2lkIGFkZEV2ZW50TGlzdGVuZXIo
Y29uc3QgV2ViU3RyaW5nJiBldmVudFR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgV2ViRE9NRXZlbnRMaXN0ZW5lciosIGJvb2wgdXNlQ2FwdHVyZSkgPSAwOworICAgIHZp
cnR1YWwgdm9pZCByZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IFdlYlN0cmluZyYgZXZlbnRUeXBl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYkRPTUV2ZW50TGlzdGVu
ZXIqLCBib29sIHVzZUNhcHR1cmUpID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hFdmVu
dChjb25zdCBXZWJET01FdmVudCYpID0gMDsKIAogICAgIC8vIFdlYiBJbnRlbnRzIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJET01FdmVudExpc3RlbmVyLmNw
cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRPTUV2ZW50TGlzdGVuZXIuY3BwCmlu
ZGV4IDU1ZDcxYTc5OThmOTkwZmE0OTczNmU0OGQ4ZGUwYTA2Y2I1YzJjODIuLjI3ZTY0Njg2YWNi
MGM0MDY5NzAzNGIwOThjM2VhYjlhNWZmNWRhOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkRPTUV2ZW50TGlzdGVuZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkRPTUV2ZW50TGlzdGVuZXIuY3BwCkBAIC01MywxNCArNTMsMTQgQEAg
dm9pZCBXZWJET01FdmVudExpc3RlbmVyOjpub3RpZnlFdmVudExpc3RlbmVyRGVsZXRlZChFdmVu
dExpc3RlbmVyV3JhcHBlciogd3JhcHAKICAgICBtX3ByaXZhdGUtPmV2ZW50TGlzdGVuZXJEZWxl
dGVkKHdyYXBwZXIpOwogfQogCi1FdmVudExpc3RlbmVyV3JhcHBlciogV2ViRE9NRXZlbnRMaXN0
ZW5lcjo6Y3JlYXRlRXZlbnRMaXN0ZW5lcldyYXBwZXIoY29uc3QgV2ViU3RyaW5nJiBldmVudFR5
cGUsIGJvb2wgdXNlQ2FwdHVyZSwgTm9kZSogbm9kZSkKK0V2ZW50TGlzdGVuZXJXcmFwcGVyKiBX
ZWJET01FdmVudExpc3RlbmVyOjpjcmVhdGVFdmVudExpc3RlbmVyV3JhcHBlcihjb25zdCBXZWJT
dHJpbmcmIGV2ZW50VHlwZSwgYm9vbCB1c2VDYXB0dXJlLCBFdmVudFRhcmdldCogdGFyZ2V0KQog
ewotICAgIHJldHVybiBtX3ByaXZhdGUtPmNyZWF0ZUV2ZW50TGlzdGVuZXJXcmFwcGVyKGV2ZW50
VHlwZSwgdXNlQ2FwdHVyZSwgbm9kZSk7CisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+Y3JlYXRlRXZl
bnRMaXN0ZW5lcldyYXBwZXIoZXZlbnRUeXBlLCB1c2VDYXB0dXJlLCB0YXJnZXQpOwogfQogCi1F
dmVudExpc3RlbmVyV3JhcHBlciogV2ViRE9NRXZlbnRMaXN0ZW5lcjo6Z2V0RXZlbnRMaXN0ZW5l
cldyYXBwZXIoY29uc3QgV2ViU3RyaW5nJiBldmVudFR5cGUsIGJvb2wgdXNlQ2FwdHVyZSwgTm9k
ZSogbm9kZSkKK0V2ZW50TGlzdGVuZXJXcmFwcGVyKiBXZWJET01FdmVudExpc3RlbmVyOjpnZXRF
dmVudExpc3RlbmVyV3JhcHBlcihjb25zdCBXZWJTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCB1c2VD
YXB0dXJlLCBFdmVudFRhcmdldCogdGFyZ2V0KQogewotICAgIHJldHVybiBtX3ByaXZhdGUtPmdl
dEV2ZW50TGlzdGVuZXJXcmFwcGVyKGV2ZW50VHlwZSwgdXNlQ2FwdHVyZSwgbm9kZSk7CisgICAg
cmV0dXJuIG1fcHJpdmF0ZS0+Z2V0RXZlbnRMaXN0ZW5lcldyYXBwZXIoZXZlbnRUeXBlLCB1c2VD
YXB0dXJlLCB0YXJnZXQpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRPTUV2ZW50TGlzdGVuZXJQcml2YXRlLmNw
cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRPTUV2ZW50TGlzdGVuZXJQcml2YXRl
LmNwcAppbmRleCBmYjA1ODIzOTM4NTJkNTNjNTg1YzA4OTZiODY2OGVhZmI0ZjQ1OGJmLi4yZDgz
ZWEyMjI0OTE3MDczYzllOWRlNmVjYzVlZjNlZTE0YzAyOGFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJET01FdmVudExpc3RlbmVyUHJpdmF0ZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRE9NRXZlbnRMaXN0ZW5lclByaXZhdGUuY3Bw
CkBAIC00NywxOSArNDcsMTkgQEAgV2ViRE9NRXZlbnRMaXN0ZW5lclByaXZhdGU6On5XZWJET01F
dmVudExpc3RlbmVyUHJpdmF0ZSgpCiB7CiB9CiAKLUV2ZW50TGlzdGVuZXJXcmFwcGVyKiBXZWJE
T01FdmVudExpc3RlbmVyUHJpdmF0ZTo6Y3JlYXRlRXZlbnRMaXN0ZW5lcldyYXBwZXIoY29uc3Qg
V2ViU3RyaW5nJiBldmVudFR5cGUsIGJvb2wgdXNlQ2FwdHVyZSwgTm9kZSogbm9kZSkKK0V2ZW50
TGlzdGVuZXJXcmFwcGVyKiBXZWJET01FdmVudExpc3RlbmVyUHJpdmF0ZTo6Y3JlYXRlRXZlbnRM
aXN0ZW5lcldyYXBwZXIoY29uc3QgV2ViU3RyaW5nJiBldmVudFR5cGUsIGJvb2wgdXNlQ2FwdHVy
ZSwgRXZlbnRUYXJnZXQqIHRhcmdldCkKIHsKICAgICBFdmVudExpc3RlbmVyV3JhcHBlciogbGlz
dGVuZXJXcmFwcGVyID0gbmV3IEV2ZW50TGlzdGVuZXJXcmFwcGVyKG1fd2ViRE9NRXZlbnRMaXN0
ZW5lcik7Ci0gICAgV2ViRE9NRXZlbnRMaXN0ZW5lclByaXZhdGU6Okxpc3RlbmVySW5mbyBsaXN0
ZW5lckluZm8oZXZlbnRUeXBlLCB1c2VDYXB0dXJlLCBsaXN0ZW5lcldyYXBwZXIsIG5vZGUpOwor
ICAgIFdlYkRPTUV2ZW50TGlzdGVuZXJQcml2YXRlOjpMaXN0ZW5lckluZm8gbGlzdGVuZXJJbmZv
KGV2ZW50VHlwZSwgdXNlQ2FwdHVyZSwgbGlzdGVuZXJXcmFwcGVyLCB0YXJnZXQpOwogICAgIG1f
bGlzdGVuZXJXcmFwcGVycy5hcHBlbmQobGlzdGVuZXJJbmZvKTsKICAgICByZXR1cm4gbGlzdGVu
ZXJXcmFwcGVyOwogfQogCi1FdmVudExpc3RlbmVyV3JhcHBlciogV2ViRE9NRXZlbnRMaXN0ZW5l
clByaXZhdGU6OmdldEV2ZW50TGlzdGVuZXJXcmFwcGVyKGNvbnN0IFdlYlN0cmluZyYgZXZlbnRU
eXBlLCBib29sIHVzZUNhcHR1cmUsIE5vZGUqIG5vZGUpCitFdmVudExpc3RlbmVyV3JhcHBlciog
V2ViRE9NRXZlbnRMaXN0ZW5lclByaXZhdGU6OmdldEV2ZW50TGlzdGVuZXJXcmFwcGVyKGNvbnN0
IFdlYlN0cmluZyYgZXZlbnRUeXBlLCBib29sIHVzZUNhcHR1cmUsIEV2ZW50VGFyZ2V0KiB0YXJn
ZXQpCiB7CiAgICAgVmVjdG9yPFdlYkRPTUV2ZW50TGlzdGVuZXJQcml2YXRlOjpMaXN0ZW5lcklu
Zm8+Ojpjb25zdF9pdGVyYXRvciBpdGVyOwogICAgIGZvciAoaXRlciA9IG1fbGlzdGVuZXJXcmFw
cGVycy5iZWdpbigpOyBpdGVyICE9IG1fbGlzdGVuZXJXcmFwcGVycy5lbmQoKTsgKytpdGVyKSB7
Ci0gICAgICAgIGlmIChpdGVyLT5ub2RlID09IG5vZGUpCisgICAgICAgIGlmIChpdGVyLT50YXJn
ZXQgPT0gdGFyZ2V0KQogICAgICAgICAgIHJldHVybiBpdGVyLT5ldmVudExpc3RlbmVyV3JhcHBl
cjsKICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJET01FdmVudExpc3RlbmVyUHJpdmF0ZS5oIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRE9NRXZlbnRMaXN0ZW5lclByaXZhdGUuaAppbmRleCAy
ZmU0NDNmZTI2NjNiMjgwNjcxYmU5OGEwZTI1ZDVlZGZjMjYzZWQ3Li5jNTYyMzg0ZmI1MGVhNzYy
ZjljMTJmOWU0NGE1ZDljYWU3MTQzMTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJET01FdmVudExpc3RlbmVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkRPTUV2ZW50TGlzdGVuZXJQcml2YXRlLmgKQEAgLTM2LDcgKzM2LDcg
QEAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLWNsYXNz
IE5vZGU7CitjbGFzcyBFdmVudFRhcmdldDsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC01
MCwxMiArNTAsMTIgQEAgcHVibGljOgogICAgIH5XZWJET01FdmVudExpc3RlbmVyUHJpdmF0ZSgp
OwogCiAgICAgRXZlbnRMaXN0ZW5lcldyYXBwZXIqIGNyZWF0ZUV2ZW50TGlzdGVuZXJXcmFwcGVy
KAotICAgICAgICBjb25zdCBXZWJTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCB1c2VDYXB0dXJlLCBX
ZWJDb3JlOjpOb2RlKik7CisgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgZXZlbnRUeXBlLCBib29s
IHVzZUNhcHR1cmUsIFdlYkNvcmU6OkV2ZW50VGFyZ2V0Kik7CiAKICAgICAvLyBHZXRzIHRoZSBM
aXN0ZW5lckV2ZW50V3JhcHBlciBmb3IgYSBzcGVjaWZpYyBub2RlLgogICAgIC8vIFVzZWQgYnkg
V2ViTm9kZTo6cmVtb3ZlRE9NRXZlbnRMaXN0ZW5lcigpLgogICAgIEV2ZW50TGlzdGVuZXJXcmFw
cGVyKiBnZXRFdmVudExpc3RlbmVyV3JhcHBlcigKLSAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBl
dmVudFR5cGUsIGJvb2wgdXNlQ2FwdHVyZSwgV2ViQ29yZTo6Tm9kZSopOworICAgICAgICBjb25z
dCBXZWJTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCB1c2VDYXB0dXJlLCBXZWJDb3JlOjpFdmVudFRh
cmdldCopOwogCiAgICAgLy8gQ2FsbGVkIGJ5IHRoZSBXZWJET01FdmVudExpc3RlbmVyIHdoZW4g
aXQgaXMgYWJvdXQgdG8gYmUgZGVsZXRlZC4KICAgICB2b2lkIHdlYkRPTUV2ZW50TGlzdGVuZXJE
ZWxldGVkKCk7CkBAIC02NiwxOCArNjYsMTggQEAgcHVibGljOgogICAgIHN0cnVjdCBMaXN0ZW5l
ckluZm8gewogICAgICAgICBMaXN0ZW5lckluZm8oY29uc3QgV2ViU3RyaW5nJiBldmVudFR5cGUs
IGJvb2wgdXNlQ2FwdHVyZSwKICAgICAgICAgICAgICAgICAgICAgIEV2ZW50TGlzdGVuZXJXcmFw
cGVyKiBldmVudExpc3RlbmVyV3JhcHBlciwKLSAgICAgICAgICAgICAgICAgICAgIFdlYkNvcmU6
Ok5vZGUqIG5vZGUpCisgICAgICAgICAgICAgICAgICAgICBXZWJDb3JlOjpFdmVudFRhcmdldCog
dGFyZ2V0KQogICAgICAgICAgICAgOiBldmVudFR5cGUoZXZlbnRUeXBlKQogICAgICAgICAgICAg
LCB1c2VDYXB0dXJlKHVzZUNhcHR1cmUpCiAgICAgICAgICAgICAsIGV2ZW50TGlzdGVuZXJXcmFw
cGVyKGV2ZW50TGlzdGVuZXJXcmFwcGVyKQotICAgICAgICAgICAgLCBub2RlKG5vZGUpCisgICAg
ICAgICAgICAsIHRhcmdldCh0YXJnZXQpCiAgICAgICAgIHsKICAgICAgICAgfQogCiAgICAgICAg
IFdlYlN0cmluZyBldmVudFR5cGU7CiAgICAgICAgIGJvb2wgdXNlQ2FwdHVyZTsKICAgICAgICAg
RXZlbnRMaXN0ZW5lcldyYXBwZXIqIGV2ZW50TGlzdGVuZXJXcmFwcGVyOwotICAgICAgICBXZWJD
b3JlOjpOb2RlKiBub2RlOworICAgICAgICBXZWJDb3JlOjpFdmVudFRhcmdldCogdGFyZ2V0Owog
ICAgIH07CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJGcmFtZUltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJ
bXBsLmNwcAppbmRleCA3NTFkMmNiNjI0NTM3YWZiYjFkZDViNzc0N2E1MDkyOWQ4MTY0MzlkLi5h
OGFmZWRkZGFkMGZlNmZjNTdmY2M1ZGQ2MDYwZDkyYjMwMjY2NDU3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKQEAgLTg1LDYgKzg1LDcgQEAKICNpbmNs
dWRlICJEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJFZGl0b3IuaCIKICNp
bmNsdWRlICJFdmVudEhhbmRsZXIuaCIKKyNpbmNsdWRlICJFdmVudExpc3RlbmVyV3JhcHBlci5o
IgogI2luY2x1ZGUgIkZvY3VzQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkZvbnRDYWNoZS5oIgog
I2luY2x1ZGUgIkZvcm1TdGF0ZS5oIgpAQCAtMTM4LDYgKzEzOSw4IEBACiAjaW5jbHVkZSAiVXNl
ckdlc3R1cmVJbmRpY2F0b3IuaCIKICNpbmNsdWRlICJXZWJBbmltYXRpb25Db250cm9sbGVySW1w
bC5oIgogI2luY2x1ZGUgIldlYkNvbnNvbGVNZXNzYWdlLmgiCisjaW5jbHVkZSAiV2ViRE9NRXZl
bnQuaCIKKyNpbmNsdWRlICJXZWJET01FdmVudExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiV2ViRGF0
YVNvdXJjZUltcGwuaCIKICNpbmNsdWRlICJXZWJEb2N1bWVudC5oIgogI2luY2x1ZGUgIldlYkZp
bmRPcHRpb25zLmgiCkBAIC0xODM0LDYgKzE4MzcsMzIgQEAgdm9pZCBXZWJGcmFtZUltcGw6Omhh
bmRsZUludGVudEZhaWx1cmUoaW50IGludGVudElkZW50aWZpZXIsIGNvbnN0IFdlYlN0cmluZyYg
cmUKIHsKIH0KIAordm9pZCBXZWJGcmFtZUltcGw6OmFkZEV2ZW50TGlzdGVuZXIoY29uc3QgV2Vi
U3RyaW5nJiBldmVudFR5cGUsIFdlYkRPTUV2ZW50TGlzdGVuZXIqIGxpc3RlbmVyLCBib29sIHVz
ZUNhcHR1cmUpCit7CisgICAgRE9NV2luZG93KiB3aW5kb3cgPSBtX2ZyYW1lLT5kb21XaW5kb3co
KTsKKworICAgIEV2ZW50TGlzdGVuZXJXcmFwcGVyKiBsaXN0ZW5lcldyYXBwZXIgPQorICAgICAg
ICBsaXN0ZW5lci0+Y3JlYXRlRXZlbnRMaXN0ZW5lcldyYXBwZXIoZXZlbnRUeXBlLCB1c2VDYXB0
dXJlLCB3aW5kb3cpOworCisgICAgbV9mcmFtZS0+ZG9tV2luZG93KCktPmFkZEV2ZW50TGlzdGVu
ZXIoZXZlbnRUeXBlLCBhZG9wdFJlZihsaXN0ZW5lcldyYXBwZXIpLCB1c2VDYXB0dXJlKTsKK30K
Kwordm9pZCBXZWJGcmFtZUltcGw6OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgV2ViU3RyaW5n
JiBldmVudFR5cGUsIFdlYkRPTUV2ZW50TGlzdGVuZXIqIGxpc3RlbmVyLCBib29sIHVzZUNhcHR1
cmUpCit7CisgICAgRE9NV2luZG93KiB3aW5kb3cgPSBtX2ZyYW1lLT5kb21XaW5kb3coKTsKKwor
ICAgIEV2ZW50TGlzdGVuZXJXcmFwcGVyKiBsaXN0ZW5lcldyYXBwZXIgPQorICAgICAgICBsaXN0
ZW5lci0+Z2V0RXZlbnRMaXN0ZW5lcldyYXBwZXIoZXZlbnRUeXBlLCB1c2VDYXB0dXJlLCB3aW5k
b3cpOworICAgIHdpbmRvdy0+cmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGxpc3RlbmVy
V3JhcHBlciwgdXNlQ2FwdHVyZSk7Cit9CisKK2Jvb2wgV2ViRnJhbWVJbXBsOjpkaXNwYXRjaEV2
ZW50KGNvbnN0IFdlYkRPTUV2ZW50JiBldmVudCkKK3sKKyAgICBpZiAoIWV2ZW50LmlzTnVsbCgp
KQorICAgICAgICByZXR1cm4gbV9mcmFtZS0+ZG9tV2luZG93KCktPmRpc3BhdGNoRXZlbnQoZXZl
bnQpOworICAgIHJldHVybiBmYWxzZTsKK30KKwogV2ViU3RyaW5nIFdlYkZyYW1lSW1wbDo6Y29u
dGVudEFzVGV4dChzaXplX3QgbWF4Q2hhcnMpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2ZyYW1lKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmggYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaAppbmRleCA5ZTdiOTQ3OTBk
MjE3MzkxYjExMzU1NjY5ZTczYjNhMjI3Yzc3ZjFmLi43ZTFkNTc4YWM2YzI5YzRhMjBhYzhiOWIx
ZjhlYjU3OTQwNzRkYmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJGcmFtZUltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUlt
cGwuaApAQCAtMTk1LDYgKzE5NSwxMiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGhhbmRs
ZUludGVudFJlc3VsdChpbnQsIGNvbnN0IFdlYlN0cmluZyYpOwogICAgIHZpcnR1YWwgdm9pZCBo
YW5kbGVJbnRlbnRGYWlsdXJlKGludCwgY29uc3QgV2ViU3RyaW5nJik7CiAKKyAgICB2aXJ0dWFs
IHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihjb25zdCBXZWJTdHJpbmcmIGV2ZW50VHlwZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJET01FdmVudExpc3RlbmVyKiwgYm9vbCB1
c2VDYXB0dXJlKTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBX
ZWJTdHJpbmcmIGV2ZW50VHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBXZWJET01FdmVudExpc3RlbmVyKiwgYm9vbCB1c2VDYXB0dXJlKTsKKyAgICB2aXJ0dWFsIGJv
b2wgZGlzcGF0Y2hFdmVudChjb25zdCBXZWJET01FdmVudCYpOworCiAgICAgdmlydHVhbCBXZWJT
dHJpbmcgY29udGVudEFzVGV4dChzaXplX3QgbWF4Q2hhcnMpIGNvbnN0OwogICAgIHZpcnR1YWwg
V2ViU3RyaW5nIGNvbnRlbnRBc01hcmt1cCgpIGNvbnN0OwogICAgIHZpcnR1YWwgV2ViU3RyaW5n
IHJlbmRlclRyZWVBc1RleHQoUmVuZGVyQXNUZXh0Q29udHJvbHMgdG9TaG93ID0gUmVuZGVyQXNU
ZXh0Tm9ybWFsKSBjb25zdDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116857</attachid>
            <date>2011-11-28 17:38:46 -0800</date>
            <delta_ts>2011-12-09 17:09:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73259-20111128173845.patch</filename>
            <type>text/plain</type>
            <size>11714</size>
            <attacher name="Karl Koscher">supersat</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxMjc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGRiOWE1YTM3Njk3YWJlYjcxZDQ4MjEzMWIwOThlNDZkNTQ0YjkzZGUuLjAyYTQwMDBkODcyZjIz
YTUyNDA2ZGFiNzE2YzQzMjk4MWU3NmRlODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMTEtMTEtMjggIEthcmwgS29zY2hlciAgPHN1cGVyc2F0QGNocm9t
aXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIGFkZCBldmVudCBtZXRob2RzIHRvIFdlYkZy
YW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcHVi
bGljL1dlYkRPTUV2ZW50TGlzdGVuZXIuaDogVXNlIEV2ZW50VGFyZ2V0IGluc3RlYWQgb2YgTm9k
ZQorICAgICAgICAqIHB1YmxpYy9XZWJGcmFtZS5oOiBBZGQgZXZlbnQgbWV0aG9kcworICAgICAg
ICAqIHNyYy9XZWJET01FdmVudExpc3RlbmVyLmNwcDogVXNlIEV2ZW50VGFyZ2V0IGluc3RlYWQg
b2YgTm9kZQorICAgICAgICAoV2ViS2l0OjpXZWJET01FdmVudExpc3RlbmVyOjpjcmVhdGVFdmVu
dExpc3RlbmVyV3JhcHBlcik6CisgICAgICAgIChXZWJLaXQ6OldlYkRPTUV2ZW50TGlzdGVuZXI6
OmdldEV2ZW50TGlzdGVuZXJXcmFwcGVyKToKKyAgICAgICAgKiBzcmMvV2ViRE9NRXZlbnRMaXN0
ZW5lclByaXZhdGUuY3BwOiBVc2UgRXZlbnRUYXJnZXQgaW5zdGVhZCBvZiBOb2RlCisgICAgICAg
IChXZWJLaXQ6OldlYkRPTUV2ZW50TGlzdGVuZXJQcml2YXRlOjpjcmVhdGVFdmVudExpc3RlbmVy
V3JhcHBlcik6CisgICAgICAgIChXZWJLaXQ6OldlYkRPTUV2ZW50TGlzdGVuZXJQcml2YXRlOjpn
ZXRFdmVudExpc3RlbmVyV3JhcHBlcik6CisgICAgICAgICogc3JjL1dlYkRPTUV2ZW50TGlzdGVu
ZXJQcml2YXRlLmg6IFVzZSBFdmVudFRhcmdldCBpbnN0ZWFkIG9mIE5vZGUKKyAgICAgICAgKFdl
YktpdDo6V2ViRE9NRXZlbnRMaXN0ZW5lclByaXZhdGU6Okxpc3RlbmVySW5mbzo6TGlzdGVuZXJJ
bmZvKToKKyAgICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViRnJhbWVJbXBsOjphZGRFdmVudExpc3RlbmVyKTogcmVnaXN0ZXIgYSBsaXN0ZW5lciBvbiBh
IFdlYkZyYW1lCisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6cmVtb3ZlRXZlbnRMaXN0
ZW5lcik6IHJlbW92ZSBhIGxpc3RlbmVyIG9uIGEgV2ViRnJhbWUKKyAgICAgICAgKFdlYktpdDo6
V2ViRnJhbWVJbXBsOjpkaXNwYXRjaEV2ZW50KTogZGlzcGF0Y2ggYW4gZXZlbnQgdG8gYSBXZWJG
cmFtZQorICAgICAgICAqIHNyYy9XZWJGcmFtZUltcGwuaDogQWRkIGV2ZW50IG1ldGhvZHMKKwog
MjAxMS0xMS0yOCAgRmFkeSBTYW11ZWwgIDxmc2FtdWVsQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBbQ2hyb21pdW1dIEZpeCBicm9rZW4gRFJUIGJ1aWxkIGZvciBBdXJhIExpbnV4CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJET01FdmVudExpc3RlbmVyLmgg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJET01FdmVudExpc3RlbmVyLmgKaW5k
ZXggYjlmOTBlZDdkMDZiNzE5MTNhMWVmNWMzNWU3YTczZTQ4MzRiNDg4Yi4uZjg3OWIzNjZlYzMx
MGUzNTJhYjM2MmRmMTY5ZTUzYzNmMjA2OWViNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViRE9NRXZlbnRMaXN0ZW5lci5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYkRPTUV2ZW50TGlzdGVuZXIuaApAQCAtMzQsNyArMzQsNyBAQAog
I2luY2x1ZGUgInBsYXRmb3JtL1dlYkNvbW1vbi5oIgogCiAjaWYgV0VCS0lUX0lNUExFTUVOVEFU
SU9OCi1uYW1lc3BhY2UgV2ViQ29yZSB7IGNsYXNzIE5vZGU7IH0KK25hbWVzcGFjZSBXZWJDb3Jl
IHsgY2xhc3MgRXZlbnRUYXJnZXQ7IH0KICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAg
LTU1LDggKzU1LDggQEAgcHVibGljOgogCiAjaWYgV0VCS0lUX0lNUExFTUVOVEFUSU9OCiAgICAg
dm9pZCBub3RpZnlFdmVudExpc3RlbmVyRGVsZXRlZChFdmVudExpc3RlbmVyV3JhcHBlciopOwot
ICAgIEV2ZW50TGlzdGVuZXJXcmFwcGVyKiBjcmVhdGVFdmVudExpc3RlbmVyV3JhcHBlcihjb25z
dCBXZWJTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCB1c2VDYXB0dXJlLCBXZWJDb3JlOjpOb2RlKiBu
b2RlKTsKLSAgICBFdmVudExpc3RlbmVyV3JhcHBlciogZ2V0RXZlbnRMaXN0ZW5lcldyYXBwZXIo
Y29uc3QgV2ViU3RyaW5nJiBldmVudFR5cGUsIGJvb2wgdXNlQ2FwdHVyZSwgV2ViQ29yZTo6Tm9k
ZSogbm9kZSk7CisgICAgRXZlbnRMaXN0ZW5lcldyYXBwZXIqIGNyZWF0ZUV2ZW50TGlzdGVuZXJX
cmFwcGVyKGNvbnN0IFdlYlN0cmluZyYgZXZlbnRUeXBlLCBib29sIHVzZUNhcHR1cmUsIFdlYkNv
cmU6OkV2ZW50VGFyZ2V0Kik7CisgICAgRXZlbnRMaXN0ZW5lcldyYXBwZXIqIGdldEV2ZW50TGlz
dGVuZXJXcmFwcGVyKGNvbnN0IFdlYlN0cmluZyYgZXZlbnRUeXBlLCBib29sIHVzZUNhcHR1cmUs
IFdlYkNvcmU6OkV2ZW50VGFyZ2V0Kik7CiAjZW5kaWYKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmggYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCmluZGV4IDVkNmMxNzc5NzI4ZjBkYTFjNGYwNGIw
OTVlM2I5N2JhNTBmZjA0YTAuLmMwZjdlZTI5ZTBkMjcwMWYzNjE0YzI0MmU2YzM3ZDhiOTk2Y2Q5
YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmgK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaApAQCAtNTQ0LDYg
KzU0NCwxOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHJlc2V0TWF0Y2hDb3VudCgpID0g
MDsKIAogCisgICAgLy8gRXZlbnRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyAgICAvLyBUaGVzZSBmdW5jdGlvbnMgYWxs
IHdvcmsgb24gdGhlIFdlYkZyYW1lJ3MgRE9NV2luZG93LiBLZWVwIGluIG1pbmQKKyAgICAvLyB0
aGF0IHRoZXNlIGV2ZW50cyBtaWdodCBiZSBnZW5lcmF0ZWQgYnkgd2ViIGNvbnRlbnQgYW5kIG5v
dCBnZW51aW5lCisgICAgLy8gRE9NIGV2ZW50cy4KKworICAgIHZpcnR1YWwgdm9pZCBhZGRFdmVu
dExpc3RlbmVyKGNvbnN0IFdlYlN0cmluZyYgZXZlbnRUeXBlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFdlYkRPTUV2ZW50TGlzdGVuZXIqLCBib29sIHVzZUNhcHR1cmUpID0g
MDsKKyAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBXZWJTdHJpbmcm
IGV2ZW50VHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJET01F
dmVudExpc3RlbmVyKiwgYm9vbCB1c2VDYXB0dXJlKSA9IDA7CisgICAgdmlydHVhbCBib29sIGRp
c3BhdGNoRXZlbnQoY29uc3QgV2ViRE9NRXZlbnQmKSA9IDA7CisKKwogICAgIC8vIFdlYiBJbnRl
bnRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQogCiAgICAgLy8gRm9yd2FyZHMgYSB3ZWIgaW50ZW50cyByZXBseSBmcm9tIHRoZSBpbnZv
a2VkIGFjdGl2aXR5IGJhY2sgdG8gdGhlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJET01FdmVudExpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYkRPTUV2ZW50TGlzdGVuZXIuY3BwCmluZGV4IDU1ZDcxYTc5OThmOTkwZmE0OTczNmU0
OGQ4ZGUwYTA2Y2I1YzJjODIuLjI3ZTY0Njg2YWNiMGM0MDY5NzAzNGIwOThjM2VhYjlhNWZmNWRh
OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRPTUV2ZW50TGlz
dGVuZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRPTUV2ZW50TGlz
dGVuZXIuY3BwCkBAIC01MywxNCArNTMsMTQgQEAgdm9pZCBXZWJET01FdmVudExpc3RlbmVyOjpu
b3RpZnlFdmVudExpc3RlbmVyRGVsZXRlZChFdmVudExpc3RlbmVyV3JhcHBlciogd3JhcHAKICAg
ICBtX3ByaXZhdGUtPmV2ZW50TGlzdGVuZXJEZWxldGVkKHdyYXBwZXIpOwogfQogCi1FdmVudExp
c3RlbmVyV3JhcHBlciogV2ViRE9NRXZlbnRMaXN0ZW5lcjo6Y3JlYXRlRXZlbnRMaXN0ZW5lcldy
YXBwZXIoY29uc3QgV2ViU3RyaW5nJiBldmVudFR5cGUsIGJvb2wgdXNlQ2FwdHVyZSwgTm9kZSog
bm9kZSkKK0V2ZW50TGlzdGVuZXJXcmFwcGVyKiBXZWJET01FdmVudExpc3RlbmVyOjpjcmVhdGVF
dmVudExpc3RlbmVyV3JhcHBlcihjb25zdCBXZWJTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCB1c2VD
YXB0dXJlLCBFdmVudFRhcmdldCogdGFyZ2V0KQogewotICAgIHJldHVybiBtX3ByaXZhdGUtPmNy
ZWF0ZUV2ZW50TGlzdGVuZXJXcmFwcGVyKGV2ZW50VHlwZSwgdXNlQ2FwdHVyZSwgbm9kZSk7Cisg
ICAgcmV0dXJuIG1fcHJpdmF0ZS0+Y3JlYXRlRXZlbnRMaXN0ZW5lcldyYXBwZXIoZXZlbnRUeXBl
LCB1c2VDYXB0dXJlLCB0YXJnZXQpOwogfQogCi1FdmVudExpc3RlbmVyV3JhcHBlciogV2ViRE9N
RXZlbnRMaXN0ZW5lcjo6Z2V0RXZlbnRMaXN0ZW5lcldyYXBwZXIoY29uc3QgV2ViU3RyaW5nJiBl
dmVudFR5cGUsIGJvb2wgdXNlQ2FwdHVyZSwgTm9kZSogbm9kZSkKK0V2ZW50TGlzdGVuZXJXcmFw
cGVyKiBXZWJET01FdmVudExpc3RlbmVyOjpnZXRFdmVudExpc3RlbmVyV3JhcHBlcihjb25zdCBX
ZWJTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCB1c2VDYXB0dXJlLCBFdmVudFRhcmdldCogdGFyZ2V0
KQogewotICAgIHJldHVybiBtX3ByaXZhdGUtPmdldEV2ZW50TGlzdGVuZXJXcmFwcGVyKGV2ZW50
VHlwZSwgdXNlQ2FwdHVyZSwgbm9kZSk7CisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+Z2V0RXZlbnRM
aXN0ZW5lcldyYXBwZXIoZXZlbnRUeXBlLCB1c2VDYXB0dXJlLCB0YXJnZXQpOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkRPTUV2ZW50TGlzdGVuZXJQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYkRPTUV2ZW50TGlzdGVuZXJQcml2YXRlLmNwcAppbmRleCBmYjA1ODIzOTM4NTJkNTNj
NTg1YzA4OTZiODY2OGVhZmI0ZjQ1OGJmLi4yZDgzZWEyMjI0OTE3MDczYzllOWRlNmVjYzVlZjNl
ZTE0YzAyOGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJET01F
dmVudExpc3RlbmVyUHJpdmF0ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViRE9NRXZlbnRMaXN0ZW5lclByaXZhdGUuY3BwCkBAIC00NywxOSArNDcsMTkgQEAgV2ViRE9N
RXZlbnRMaXN0ZW5lclByaXZhdGU6On5XZWJET01FdmVudExpc3RlbmVyUHJpdmF0ZSgpCiB7CiB9
CiAKLUV2ZW50TGlzdGVuZXJXcmFwcGVyKiBXZWJET01FdmVudExpc3RlbmVyUHJpdmF0ZTo6Y3Jl
YXRlRXZlbnRMaXN0ZW5lcldyYXBwZXIoY29uc3QgV2ViU3RyaW5nJiBldmVudFR5cGUsIGJvb2wg
dXNlQ2FwdHVyZSwgTm9kZSogbm9kZSkKK0V2ZW50TGlzdGVuZXJXcmFwcGVyKiBXZWJET01FdmVu
dExpc3RlbmVyUHJpdmF0ZTo6Y3JlYXRlRXZlbnRMaXN0ZW5lcldyYXBwZXIoY29uc3QgV2ViU3Ry
aW5nJiBldmVudFR5cGUsIGJvb2wgdXNlQ2FwdHVyZSwgRXZlbnRUYXJnZXQqIHRhcmdldCkKIHsK
ICAgICBFdmVudExpc3RlbmVyV3JhcHBlciogbGlzdGVuZXJXcmFwcGVyID0gbmV3IEV2ZW50TGlz
dGVuZXJXcmFwcGVyKG1fd2ViRE9NRXZlbnRMaXN0ZW5lcik7Ci0gICAgV2ViRE9NRXZlbnRMaXN0
ZW5lclByaXZhdGU6Okxpc3RlbmVySW5mbyBsaXN0ZW5lckluZm8oZXZlbnRUeXBlLCB1c2VDYXB0
dXJlLCBsaXN0ZW5lcldyYXBwZXIsIG5vZGUpOworICAgIFdlYkRPTUV2ZW50TGlzdGVuZXJQcml2
YXRlOjpMaXN0ZW5lckluZm8gbGlzdGVuZXJJbmZvKGV2ZW50VHlwZSwgdXNlQ2FwdHVyZSwgbGlz
dGVuZXJXcmFwcGVyLCB0YXJnZXQpOwogICAgIG1fbGlzdGVuZXJXcmFwcGVycy5hcHBlbmQobGlz
dGVuZXJJbmZvKTsKICAgICByZXR1cm4gbGlzdGVuZXJXcmFwcGVyOwogfQogCi1FdmVudExpc3Rl
bmVyV3JhcHBlciogV2ViRE9NRXZlbnRMaXN0ZW5lclByaXZhdGU6OmdldEV2ZW50TGlzdGVuZXJX
cmFwcGVyKGNvbnN0IFdlYlN0cmluZyYgZXZlbnRUeXBlLCBib29sIHVzZUNhcHR1cmUsIE5vZGUq
IG5vZGUpCitFdmVudExpc3RlbmVyV3JhcHBlciogV2ViRE9NRXZlbnRMaXN0ZW5lclByaXZhdGU6
OmdldEV2ZW50TGlzdGVuZXJXcmFwcGVyKGNvbnN0IFdlYlN0cmluZyYgZXZlbnRUeXBlLCBib29s
IHVzZUNhcHR1cmUsIEV2ZW50VGFyZ2V0KiB0YXJnZXQpCiB7CiAgICAgVmVjdG9yPFdlYkRPTUV2
ZW50TGlzdGVuZXJQcml2YXRlOjpMaXN0ZW5lckluZm8+Ojpjb25zdF9pdGVyYXRvciBpdGVyOwog
ICAgIGZvciAoaXRlciA9IG1fbGlzdGVuZXJXcmFwcGVycy5iZWdpbigpOyBpdGVyICE9IG1fbGlz
dGVuZXJXcmFwcGVycy5lbmQoKTsgKytpdGVyKSB7Ci0gICAgICAgIGlmIChpdGVyLT5ub2RlID09
IG5vZGUpCisgICAgICAgIGlmIChpdGVyLT50YXJnZXQgPT0gdGFyZ2V0KQogICAgICAgICAgIHJl
dHVybiBpdGVyLT5ldmVudExpc3RlbmVyV3JhcHBlcjsKICAgICB9CiAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJET01F
dmVudExpc3RlbmVyUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRE9N
RXZlbnRMaXN0ZW5lclByaXZhdGUuaAppbmRleCAyZmU0NDNmZTI2NjNiMjgwNjcxYmU5OGEwZTI1
ZDVlZGZjMjYzZWQ3Li5jNTYyMzg0ZmI1MGVhNzYyZjljMTJmOWU0NGE1ZDljYWU3MTQzMTU3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJET01FdmVudExpc3RlbmVy
UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRPTUV2ZW50TGlz
dGVuZXJQcml2YXRlLmgKQEAgLTM2LDcgKzM2LDcgQEAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLWNsYXNzIE5vZGU7CitjbGFzcyBFdmVudFRhcmdldDsK
IH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC01MCwxMiArNTAsMTIgQEAgcHVibGljOgogICAg
IH5XZWJET01FdmVudExpc3RlbmVyUHJpdmF0ZSgpOwogCiAgICAgRXZlbnRMaXN0ZW5lcldyYXBw
ZXIqIGNyZWF0ZUV2ZW50TGlzdGVuZXJXcmFwcGVyKAotICAgICAgICBjb25zdCBXZWJTdHJpbmcm
IGV2ZW50VHlwZSwgYm9vbCB1c2VDYXB0dXJlLCBXZWJDb3JlOjpOb2RlKik7CisgICAgICAgIGNv
bnN0IFdlYlN0cmluZyYgZXZlbnRUeXBlLCBib29sIHVzZUNhcHR1cmUsIFdlYkNvcmU6OkV2ZW50
VGFyZ2V0Kik7CiAKICAgICAvLyBHZXRzIHRoZSBMaXN0ZW5lckV2ZW50V3JhcHBlciBmb3IgYSBz
cGVjaWZpYyBub2RlLgogICAgIC8vIFVzZWQgYnkgV2ViTm9kZTo6cmVtb3ZlRE9NRXZlbnRMaXN0
ZW5lcigpLgogICAgIEV2ZW50TGlzdGVuZXJXcmFwcGVyKiBnZXRFdmVudExpc3RlbmVyV3JhcHBl
cigKLSAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBldmVudFR5cGUsIGJvb2wgdXNlQ2FwdHVyZSwg
V2ViQ29yZTo6Tm9kZSopOworICAgICAgICBjb25zdCBXZWJTdHJpbmcmIGV2ZW50VHlwZSwgYm9v
bCB1c2VDYXB0dXJlLCBXZWJDb3JlOjpFdmVudFRhcmdldCopOwogCiAgICAgLy8gQ2FsbGVkIGJ5
IHRoZSBXZWJET01FdmVudExpc3RlbmVyIHdoZW4gaXQgaXMgYWJvdXQgdG8gYmUgZGVsZXRlZC4K
ICAgICB2b2lkIHdlYkRPTUV2ZW50TGlzdGVuZXJEZWxldGVkKCk7CkBAIC02NiwxOCArNjYsMTgg
QEAgcHVibGljOgogICAgIHN0cnVjdCBMaXN0ZW5lckluZm8gewogICAgICAgICBMaXN0ZW5lcklu
Zm8oY29uc3QgV2ViU3RyaW5nJiBldmVudFR5cGUsIGJvb2wgdXNlQ2FwdHVyZSwKICAgICAgICAg
ICAgICAgICAgICAgIEV2ZW50TGlzdGVuZXJXcmFwcGVyKiBldmVudExpc3RlbmVyV3JhcHBlciwK
LSAgICAgICAgICAgICAgICAgICAgIFdlYkNvcmU6Ok5vZGUqIG5vZGUpCisgICAgICAgICAgICAg
ICAgICAgICBXZWJDb3JlOjpFdmVudFRhcmdldCogdGFyZ2V0KQogICAgICAgICAgICAgOiBldmVu
dFR5cGUoZXZlbnRUeXBlKQogICAgICAgICAgICAgLCB1c2VDYXB0dXJlKHVzZUNhcHR1cmUpCiAg
ICAgICAgICAgICAsIGV2ZW50TGlzdGVuZXJXcmFwcGVyKGV2ZW50TGlzdGVuZXJXcmFwcGVyKQot
ICAgICAgICAgICAgLCBub2RlKG5vZGUpCisgICAgICAgICAgICAsIHRhcmdldCh0YXJnZXQpCiAg
ICAgICAgIHsKICAgICAgICAgfQogCiAgICAgICAgIFdlYlN0cmluZyBldmVudFR5cGU7CiAgICAg
ICAgIGJvb2wgdXNlQ2FwdHVyZTsKICAgICAgICAgRXZlbnRMaXN0ZW5lcldyYXBwZXIqIGV2ZW50
TGlzdGVuZXJXcmFwcGVyOwotICAgICAgICBXZWJDb3JlOjpOb2RlKiBub2RlOworICAgICAgICBX
ZWJDb3JlOjpFdmVudFRhcmdldCogdGFyZ2V0OwogICAgIH07CiAKIHByaXZhdGU6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCA3NTFkMmNiNjI0NTM3
YWZiYjFkZDViNzc0N2E1MDkyOWQ4MTY0MzlkLi4zOTFjYzgwZWEyY2UzNThjMjE2ZDY3MWU5ZTE0
MDVlZjk3YzU4ZjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJG
cmFtZUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1w
bC5jcHAKQEAgLTg1LDYgKzg1LDcgQEAKICNpbmNsdWRlICJEb2N1bWVudE1hcmtlckNvbnRyb2xs
ZXIuaCIKICNpbmNsdWRlICJFZGl0b3IuaCIKICNpbmNsdWRlICJFdmVudEhhbmRsZXIuaCIKKyNp
bmNsdWRlICJFdmVudExpc3RlbmVyV3JhcHBlci5oIgogI2luY2x1ZGUgIkZvY3VzQ29udHJvbGxl
ci5oIgogI2luY2x1ZGUgIkZvbnRDYWNoZS5oIgogI2luY2x1ZGUgIkZvcm1TdGF0ZS5oIgpAQCAt
MTM4LDYgKzEzOSw4IEBACiAjaW5jbHVkZSAiVXNlckdlc3R1cmVJbmRpY2F0b3IuaCIKICNpbmNs
dWRlICJXZWJBbmltYXRpb25Db250cm9sbGVySW1wbC5oIgogI2luY2x1ZGUgIldlYkNvbnNvbGVN
ZXNzYWdlLmgiCisjaW5jbHVkZSAiV2ViRE9NRXZlbnQuaCIKKyNpbmNsdWRlICJXZWJET01FdmVu
dExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiV2ViRGF0YVNvdXJjZUltcGwuaCIKICNpbmNsdWRlICJX
ZWJEb2N1bWVudC5oIgogI2luY2x1ZGUgIldlYkZpbmRPcHRpb25zLmgiCkBAIC0xODM0LDYgKzE4
MzcsMzEgQEAgdm9pZCBXZWJGcmFtZUltcGw6OmhhbmRsZUludGVudEZhaWx1cmUoaW50IGludGVu
dElkZW50aWZpZXIsIGNvbnN0IFdlYlN0cmluZyYgcmUKIHsKIH0KIAordm9pZCBXZWJGcmFtZUlt
cGw6OmFkZEV2ZW50TGlzdGVuZXIoY29uc3QgV2ViU3RyaW5nJiBldmVudFR5cGUsIFdlYkRPTUV2
ZW50TGlzdGVuZXIqIGxpc3RlbmVyLCBib29sIHVzZUNhcHR1cmUpCit7CisgICAgRE9NV2luZG93
KiB3aW5kb3cgPSBtX2ZyYW1lLT5kb21XaW5kb3coKTsKKworICAgIEV2ZW50TGlzdGVuZXJXcmFw
cGVyKiBsaXN0ZW5lcldyYXBwZXIgPQorICAgICAgICBsaXN0ZW5lci0+Y3JlYXRlRXZlbnRMaXN0
ZW5lcldyYXBwZXIoZXZlbnRUeXBlLCB1c2VDYXB0dXJlLCB3aW5kb3cpOworCisgICAgbV9mcmFt
ZS0+ZG9tV2luZG93KCktPmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBhZG9wdFJlZihsaXN0
ZW5lcldyYXBwZXIpLCB1c2VDYXB0dXJlKTsKK30KKwordm9pZCBXZWJGcmFtZUltcGw6OnJlbW92
ZUV2ZW50TGlzdGVuZXIoY29uc3QgV2ViU3RyaW5nJiBldmVudFR5cGUsIFdlYkRPTUV2ZW50TGlz
dGVuZXIqIGxpc3RlbmVyLCBib29sIHVzZUNhcHR1cmUpCit7CisgICAgRE9NV2luZG93KiB3aW5k
b3cgPSBtX2ZyYW1lLT5kb21XaW5kb3coKTsKKworICAgIEV2ZW50TGlzdGVuZXJXcmFwcGVyKiBs
aXN0ZW5lcldyYXBwZXIgPQorICAgICAgICBsaXN0ZW5lci0+Z2V0RXZlbnRMaXN0ZW5lcldyYXBw
ZXIoZXZlbnRUeXBlLCB1c2VDYXB0dXJlLCB3aW5kb3cpOworICAgIHdpbmRvdy0+cmVtb3ZlRXZl
bnRMaXN0ZW5lcihldmVudFR5cGUsIGxpc3RlbmVyV3JhcHBlciwgdXNlQ2FwdHVyZSk7Cit9CisK
K2Jvb2wgV2ViRnJhbWVJbXBsOjpkaXNwYXRjaEV2ZW50KGNvbnN0IFdlYkRPTUV2ZW50JiBldmVu
dCkKK3sKKyAgICBBU1NFUlQoIWV2ZW50LmlzTnVsbCgpKTsKKyAgICByZXR1cm4gbV9mcmFtZS0+
ZG9tV2luZG93KCktPmRpc3BhdGNoRXZlbnQoZXZlbnQpOworfQorCiBXZWJTdHJpbmcgV2ViRnJh
bWVJbXBsOjpjb250ZW50QXNUZXh0KHNpemVfdCBtYXhDaGFycykgY29uc3QKIHsKICAgICBpZiAo
IW1fZnJhbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFt
ZUltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCmluZGV4
IDllN2I5NDc5MGQyMTczOTFiMTEzNTU2NjllNzNiM2EyMjdjNzdmMWYuLjdlMWQ1NzhhYzZjMjlj
NGEyMGFjOGI5YjFmOGViNTc5NDA3NGRiZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkZyYW1lSW1wbC5oCkBAIC0xOTUsNiArMTk1LDEyIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IHZvaWQgaGFuZGxlSW50ZW50UmVzdWx0KGludCwgY29uc3QgV2ViU3RyaW5nJik7CiAgICAgdmly
dHVhbCB2b2lkIGhhbmRsZUludGVudEZhaWx1cmUoaW50LCBjb25zdCBXZWJTdHJpbmcmKTsKIAor
ICAgIHZpcnR1YWwgdm9pZCBhZGRFdmVudExpc3RlbmVyKGNvbnN0IFdlYlN0cmluZyYgZXZlbnRU
eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYkRPTUV2ZW50TGlzdGVu
ZXIqLCBib29sIHVzZUNhcHR1cmUpOworICAgIHZpcnR1YWwgdm9pZCByZW1vdmVFdmVudExpc3Rl
bmVyKGNvbnN0IFdlYlN0cmluZyYgZXZlbnRUeXBlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFdlYkRPTUV2ZW50TGlzdGVuZXIqLCBib29sIHVzZUNhcHR1cmUpOworICAg
IHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2ZW50KGNvbnN0IFdlYkRPTUV2ZW50Jik7CisKICAgICB2
aXJ0dWFsIFdlYlN0cmluZyBjb250ZW50QXNUZXh0KHNpemVfdCBtYXhDaGFycykgY29uc3Q7CiAg
ICAgdmlydHVhbCBXZWJTdHJpbmcgY29udGVudEFzTWFya3VwKCkgY29uc3Q7CiAgICAgdmlydHVh
bCBXZWJTdHJpbmcgcmVuZGVyVHJlZUFzVGV4dChSZW5kZXJBc1RleHRDb250cm9scyB0b1Nob3cg
PSBSZW5kZXJBc1RleHROb3JtYWwpIGNvbnN0Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>