<?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>81368</bug_id>
          
          <creation_ts>2012-03-16 10:35:28 -0700</creation_ts>
          <short_desc>[Qt][WK2] Avoid usage of manual scaling in the Qt scenegraph integration</short_desc>
          <delta_ts>2012-03-18 15:52:25 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</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>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Noam Rosenthal">noam</reporter>
          <assigned_to name="Noam Rosenthal">noam</assigned_to>
          <cc>hausmann</cc>
    
    <cc>jturcotte</cc>
    
    <cc>kenneth</cc>
    
    <cc>menard</cc>
    
    <cc>ostap73</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>580652</commentid>
    <comment_count>0</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-03-16 10:35:28 -0700</bug_when>
    <thetext>[Qt][WK2] Avoid usage of manual scaling in the Qt scenegraph integration</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580656</commentid>
    <comment_count>1</comment_count>
      <attachid>132316</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-03-16 10:39:35 -0700</bug_when>
    <thetext>Created attachment 132316
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581442</commentid>
    <comment_count>2</comment_count>
      <attachid>132316</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-03-18 03:49:21 -0700</bug_when>
    <thetext>Comment on attachment 132316
Patch

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

&gt; Source/WebKit2/UIProcess/qt/QtWebPageSGNode.cpp:58
&gt; +    void setScale(float scale) { m_scale = scale; }

m_scale as well as this setScale method seems unused, now that we have the transform node as a parent of this item.

&gt; Source/WebKit2/UIProcess/qt/QtWebPageSGNode.cpp:131
&gt; +    if (m_contentsNode)

I think you can remove the if() here :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581461</commentid>
    <comment_count>3</comment_count>
      <attachid>132494</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-03-18 09:43:06 -0700</bug_when>
    <thetext>Created attachment 132494
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581463</commentid>
    <comment_count>4</comment_count>
      <attachid>132494</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-18 09:47:44 -0700</bug_when>
    <thetext>Comment on attachment 132494
Patch for landing

Rejecting attachment 132494 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
get.pri
patching file Source/WebKit2/UIProcess/API/qt/qquickwebpage.cpp
Hunk #1 FAILED at 23.
Hunk #2 FAILED at 81.
Hunk #3 FAILED at 191.
3 out of 3 hunks FAILED -- saving rejects to file Source/WebKit2/UIProcess/API/qt/qquickwebpage.cpp.rej
patching file Source/WebKit2/UIProcess/qt/QtWebPageSGNode.cpp
patching file Source/WebKit2/UIProcess/qt/QtWebPageSGNode.h

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;]&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue/

Full output: http://queues.webkit.org/results/11976635</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581472</commentid>
    <comment_count>5</comment_count>
      <attachid>132497</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-03-18 11:42:06 -0700</bug_when>
    <thetext>Created attachment 132497
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581475</commentid>
    <comment_count>6</comment_count>
      <attachid>132499</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-03-18 11:44:04 -0700</bug_when>
    <thetext>Created attachment 132499
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581478</commentid>
    <comment_count>7</comment_count>
      <attachid>132499</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-18 11:51:18 -0700</bug_when>
    <thetext>Comment on attachment 132499
Patch

Rejecting attachment 132499 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
get.pri
patching file Source/WebKit2/UIProcess/API/qt/qquickwebpage.cpp
Hunk #1 FAILED at 23.
Hunk #2 FAILED at 81.
Hunk #3 FAILED at 191.
3 out of 3 hunks FAILED -- saving rejects to file Source/WebKit2/UIProcess/API/qt/qquickwebpage.cpp.rej
patching file Source/WebKit2/UIProcess/qt/QtWebPageSGNode.cpp
patching file Source/WebKit2/UIProcess/qt/QtWebPageSGNode.h

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;]&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue/

Full output: http://queues.webkit.org/results/11975718</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581496</commentid>
    <comment_count>8</comment_count>
      <attachid>132499</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-03-18 15:06:16 -0700</bug_when>
    <thetext>Comment on attachment 132499
Patch

Patch should now apply.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581503</commentid>
    <comment_count>9</comment_count>
      <attachid>132499</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-18 15:52:19 -0700</bug_when>
    <thetext>Comment on attachment 132499
Patch

Clearing flags on attachment: 132499

Committed r111138: &lt;http://trac.webkit.org/changeset/111138&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581504</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-18 15:52:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132316</attachid>
            <date>2012-03-16 10:39:35 -0700</date>
            <delta_ts>2012-03-18 09:43:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81368-20120316103933.patch</filename>
            <type>text/plain</type>
            <size>14685</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExMDExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjhkM2QyZTZlZmUxYzM2
NTI5NmYzMDMxNWIzMjUwYmRjZDQ5YmQ1Yy4uMGFjM2ZhN2JiNTkzMDdkMWQ5Yzg3YzBkOWQyYTZj
MTMxYmM1MTZhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM4IEBACiAyMDEyLTAzLTE2ICBObydh
bSBSb3NlbnRoYWwgIDxub2FtLnJvc2VudGhhbEBub2tpYS5jb20+CiAKKyAgICAgICAgW1F0XVtX
SzJdIEF2b2lkIHVzYWdlIG9mIG1hbnVhbCBzY2FsaW5nIGluIHRoZSBRdCBzY2VuZWdyYXBoIGlu
dGVncmF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MTM2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE1vdmVkIHRoZSBRdFNjZW5lZ3JhcGggaW50ZWdyYXRpb24gY2xhc3NlcyB0byBhIHNlcGFyYXRl
IGZpbGUsCisgICAgICAgIFF0V2ViUGFnZVNHTm9kZS4gVGhlIG5vZGVzIGNyZWF0ZWQgZm9yIFFR
dWlja1dlYlBhZ2Ugbm93IGluY2x1ZGUKKyAgICAgICAgYSBRU0dUcmFuc2Zvcm1Ob2RlIHRoYXQg
Y29udHJvbHMgdGhlIGNvbnRlbnRzU2NhbGUsIGEgCisgICAgICAgIFFTR1NpbXBsZVJlY3ROb2Rl
IHRoYXQgY29udHJvbHMgdGhlIGJhY2tncm91bmQgY29sb3IsIGFuZCBhCisgICAgICAgIFFTR1Jl
bmRlck5vZGUgc3ViY2xhc3MgdGhhdCByZW5kZXJzIHRoZSBhY3R1YWwgY29udGVudHMuCisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBh
Z2UuY3BwOgorICAgICAgICAoUVF1aWNrV2ViUGFnZTo6dXBkYXRlUGFpbnROb2RlKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvcXQvUXRXZWJQYWdlU0dOb2RlLmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJLaXQpOgorICAgICAgICAoQ29udGVudHNTR05vZGUpOgorICAgICAgICAoV2ViS2l0OjpDb250
ZW50c1NHTm9kZTo6Q29udGVudHNTR05vZGUpOgorICAgICAgICAoV2ViS2l0OjpDb250ZW50c1NH
Tm9kZTo6Y2hhbmdlZFN0YXRlcyk6CisgICAgICAgIChXZWJLaXQ6OkNvbnRlbnRzU0dOb2RlOjpy
ZW5kZXIpOgorICAgICAgICAoV2ViS2l0OjpDb250ZW50c1NHTm9kZTo6fkNvbnRlbnRzU0dOb2Rl
KToKKyAgICAgICAgKFdlYktpdDo6Q29udGVudHNTR05vZGU6OmxheWVyVHJlZVJlbmRlcmVyKToK
KyAgICAgICAgKFdlYktpdDo6Q29udGVudHNTR05vZGU6OnNldFNjYWxlKToKKyAgICAgICAgKFdl
YktpdDo6Q29udGVudHNTR05vZGU6OmNsaXBSZWN0KToKKyAgICAgICAgKFdlYktpdDo6UXRXZWJQ
YWdlU0dOb2RlOjpRdFdlYlBhZ2VTR05vZGUpOgorICAgICAgICAoV2ViS2l0OjpRdFdlYlBhZ2VT
R05vZGU6OnNldEJhY2tncm91bmQpOgorICAgICAgICAoV2ViS2l0OjpRdFdlYlBhZ2VTR05vZGU6
OnNldFNjYWxlKToKKyAgICAgICAgKFdlYktpdDo6UXRXZWJQYWdlU0dOb2RlOjpzZXRSZW5kZXJl
cik6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVNHTm9kZS5oOiBBZGRlZC4KKyAg
ICAgICAgKFdlYktpdCk6CisgICAgICAgIChRdFdlYlBhZ2VTR05vZGUpOgorCisyMDEyLTAzLTE2
ICBObydhbSBSb3NlbnRoYWwgIDxub2FtLnJvc2VudGhhbEBub2tpYS5jb20+CisKICAgICAgICAg
W1F0XSBUaGUgYmFja2dyb3VuZCBpcyB2aXNpYmxlIGZvciB0aWxlcyBpbnNpZGUgdGhlIGNvbnRl
bnRzIGFyZWEgd2hpY2ggYXJlIG5vdCByZWFkeQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODEzNDkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkKaW5kZXggNTk2ODIzN2ExYzYx
ZmE4ZjIyOTQ1NzI2YWQ5ZDNhMmJhZjBlNDBhNy4uNTgxYzBlOWNlNGM1OWQxYTg0NzlkNWU0NmUw
MjM0NzM5NmQ2MjYyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaQorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCkBAIC0yNzMsNiArMjczLDcgQEAgSEVBREVSUyAr
PSBcCiAgICAgVUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5oIFwKICAgICBVSVByb2Nlc3MvcXQv
UXRXZWJQYWdlTG9hZENsaWVudC5oIFwKICAgICBVSVByb2Nlc3MvcXQvUXRXZWJQYWdlUG9saWN5
Q2xpZW50LmggXAorICAgIFVJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VTR05vZGUuaCBcCiAgICAgVUlQ
cm9jZXNzL3F0L1F0V2ViUGFnZVVJQ2xpZW50LmggXAogICAgIFVJUHJvY2Vzcy9xdC9RdEZsaWNr
UHJvdmlkZXIuaCBcCiAgICAgVUlQcm9jZXNzL3F0L1F0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2lu
ZS5oIFwKQEAgLTYwOCw2ICs2MDksNyBAQCBTT1VSQ0VTICs9IFwKICAgICBVSVByb2Nlc3MvcXQv
UXRQYWdlQ2xpZW50LmNwcCBcCiAgICAgVUlQcm9jZXNzL3F0L1F0V2ViUGFnZUxvYWRDbGllbnQu
Y3BwIFwKICAgICBVSVByb2Nlc3MvcXQvUXRXZWJQYWdlUG9saWN5Q2xpZW50LmNwcCBcCisgICAg
VUlQcm9jZXNzL3F0L1F0V2ViUGFnZVNHTm9kZS5jcHAgXAogICAgIFVJUHJvY2Vzcy9xdC9RdFdl
YlBhZ2VVSUNsaWVudC5jcHAgXAogICAgIFVJUHJvY2Vzcy9xdC9UZXh0Q2hlY2tlclF0LmNwcCBc
CiAgICAgVUlQcm9jZXNzL3F0L1F0RmxpY2tQcm92aWRlci5jcHAgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJwYWdlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2VicGFnZS5jcHAKaW5kZXggMTllMzg4MTRk
OGY5MDE1ZTk3ZDM2MTE1MDk2Nzg5NGFlZWMwNGFhMS4uMzMyZDAyNDc5ZDg2YmQwNmMxMDlhYzY0
Nzk1YTZmYWUzMzM2ZDIyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC9xcXVpY2t3ZWJwYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L3F0L3FxdWlja3dlYnBhZ2UuY3BwCkBAIC0yMywxNiArMjMsMTIgQEAKIAogI2luY2x1ZGUgIkxh
eWVyVHJlZUhvc3RQcm94eS5oIgogI2luY2x1ZGUgIlF0V2ViUGFnZUV2ZW50SGFuZGxlci5oIgor
I2luY2x1ZGUgIlF0V2ViUGFnZVNHTm9kZS5oIgogI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0
cml4LmgiCiAjaW5jbHVkZSAiV2ViTGF5ZXJUcmVlUmVuZGVyZXIuaCIKICNpbmNsdWRlICJxcXVp
Y2t3ZWJwYWdlX3BfcC5oIgogI2luY2x1ZGUgInFxdWlja3dlYnZpZXdfcC5oIgotI2luY2x1ZGUg
PFFQb2x5Z29uRj4KICNpbmNsdWRlIDxRdFF1aWNrL1FRdWlja0NhbnZhcz4KLSNpbmNsdWRlIDxR
dFF1aWNrL1FTR0dlb21ldHJ5Tm9kZT4KLSNpbmNsdWRlIDxRdFF1aWNrL1FTR01hdGVyaWFsPgot
I2luY2x1ZGUgPFF0UXVpY2svUVNHU2ltcGxlUmVjdE5vZGU+Ci0jaW5jbHVkZSA8cHJpdmF0ZS9x
c2dyZW5kZXJub2RlX3AuaD4KIAogUVF1aWNrV2ViUGFnZTo6UVF1aWNrV2ViUGFnZShRUXVpY2tX
ZWJWaWV3KiB2aWV3cG9ydEl0ZW0pCiAgICAgOiBRUXVpY2tJdGVtKHZpZXdwb3J0SXRlbSkKQEAg
LTgxLDEwOSArNzcsNiBAQCB2b2lkIFFRdWlja1dlYlBhZ2VQcml2YXRlOjpwYWludChRUGFpbnRl
ciogcGFpbnRlcikKICAgICAgICAgd2ViUGFnZVByb3h5LT5kcmF3aW5nQXJlYSgpLT5wYWludExh
eWVyVHJlZShwYWludGVyKTsKIH0KIAotY2xhc3MgQ29udGVudHNTR05vZGUgOiBwdWJsaWMgUVNH
UmVuZGVyTm9kZSB7Ci1wdWJsaWM6Ci0gICAgQ29udGVudHNTR05vZGUoUGFzc1JlZlB0cjxXZWJM
YXllclRyZWVSZW5kZXJlcj4gcmVuZGVyZXIpCi0gICAgICAgIDogbV9yZW5kZXJlcihyZW5kZXJl
cikKLSAgICAgICAgLCBtX3NjYWxlKDEpCi0gICAgewotICAgIH0KLQotICAgIHZpcnR1YWwgU3Rh
dGVGbGFncyBjaGFuZ2VkU3RhdGVzKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBTdGF0ZUZsYWdz
KFN0ZW5jaWxTdGF0ZSkgfCBDb2xvclN0YXRlIHwgQmxlbmRTdGF0ZTsKLSAgICB9Ci0KLSAgICB2
aXJ0dWFsIHZvaWQgcmVuZGVyKGNvbnN0IFJlbmRlclN0YXRlJikKLSAgICB7Ci0gICAgICAgIFFN
YXRyaXg0eDQgcmVuZGVyTWF0cml4ID0gbWF0cml4KCkgPyAqbWF0cml4KCkgOiBRTWF0cml4NHg0
KCk7Ci0KLSAgICAgICAgLy8gSGF2ZSB0byBhcHBseSByZW5kZXIgc2NhbGUgbWFudWFseSBiZWNh
dXNlIGl0IGlzIG5vdCBhcHBsaWVkIG9uIHBhZ2UgaXRlbS4KLSAgICAgICAgLy8gaHR0cDovL3Ry
YWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTA0NDUwCi0gICAgICAgIHJlbmRlck1hdHJpeC5zY2Fs
ZShtX3NjYWxlKTsKLQotICAgICAgICAvLyBGSVhNRTogU3VwcG9ydCBub24tcmVjdGFuZ3VsYXIg
Y2xpcHBpbmdzLgotICAgICAgICBsYXllclRyZWVSZW5kZXJlcigpLT5wYWludFRvQ3VycmVudEdM
Q29udGV4dChyZW5kZXJNYXRyaXgsIGluaGVyaXRlZE9wYWNpdHkoKSwgY2xpcFJlY3QoKSk7Ci0g
ICAgfQotCi0gICAgfkNvbnRlbnRzU0dOb2RlKCkKLSAgICB7Ci0gICAgICAgIGxheWVyVHJlZVJl
bmRlcmVyKCktPnB1cmdlR0xSZXNvdXJjZXMoKTsKLSAgICB9Ci0KLSAgICBXZWJMYXllclRyZWVS
ZW5kZXJlciogbGF5ZXJUcmVlUmVuZGVyZXIoKSBjb25zdCB7IHJldHVybiBtX3JlbmRlcmVyLmdl
dCgpOyB9Ci0gICAgdm9pZCBzZXRTY2FsZShmbG9hdCBzY2FsZSkgeyBtX3NjYWxlID0gc2NhbGU7
IH0KLQotcHJpdmF0ZToKLSAgICBRUmVjdEYgY2xpcFJlY3QoKSBjb25zdAotICAgIHsKLSAgICAg
ICAgLy8gU3RhcnQgd2l0aCBhbiBpbnZhbGlkIHJlY3QuCi0gICAgICAgIFFSZWN0RiByZXN1bHRS
ZWN0KDAsIDAsIC0xLCAtMSk7Ci0KLSAgICAgICAgZm9yIChjb25zdCBRU0dDbGlwTm9kZSogY2xp
cCA9IGNsaXBMaXN0KCk7IGNsaXA7IGNsaXAgPSBjbGlwLT5jbGlwTGlzdCgpKSB7Ci0gICAgICAg
ICAgICBRTWF0cml4NHg0IGNsaXBNYXRyaXg7Ci0gICAgICAgICAgICBpZiAoY2xpcC0+bWF0cml4
KCkpCi0gICAgICAgICAgICAgICAgY2xpcE1hdHJpeCA9ICpjbGlwLT5tYXRyaXgoKTsKLSAgICAg
ICAgICAgIFFSZWN0RiBjdXJyZW50Q2xpcDsKLQotICAgICAgICAgICAgaWYgKGNsaXAtPmlzUmVj
dGFuZ3VsYXIoKSkKLSAgICAgICAgICAgICAgICBjdXJyZW50Q2xpcCA9IGNsaXBNYXRyaXgubWFw
UmVjdChjbGlwLT5jbGlwUmVjdCgpKTsKLSAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAg
ICAgIGNvbnN0IFFTR0dlb21ldHJ5KiBnZW9tZXRyeSA9IGNsaXAtPmdlb21ldHJ5KCk7Ci0gICAg
ICAgICAgICAgICAgLy8gQXNzdW1lIGhlcmUgdGhhdCBjbGlwTm9kZSBoYXMgb25seSBjb29yZGlu
YXRlIGRhdGEuCi0gICAgICAgICAgICAgICAgY29uc3QgUVNHR2VvbWV0cnk6OlBvaW50MkQqIGdl
b21ldHJ5UG9pbnRzID0gZ2VvbWV0cnktPnZlcnRleERhdGFBc1BvaW50MkQoKTsKLQotICAgICAg
ICAgICAgICAgIC8vIENsaXAgcmVnaW9uIHNob3VsZCBiZSBhdCBsZWFzdCB0cmlhbmdsZSB0byBt
YWtlIHZhbGlkIGNsaXAuCi0gICAgICAgICAgICAgICAgaWYgKGdlb21ldHJ5LT52ZXJ0ZXhDb3Vu
dCgpIDwgMykKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgICAgICAg
ICBRUG9seWdvbkYgcG9seWdvbjsKLQotICAgICAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBp
IDwgZ2VvbWV0cnktPnZlcnRleENvdW50KCk7IGkrKykKLSAgICAgICAgICAgICAgICAgICAgcG9s
eWdvbi5hcHBlbmQoY2xpcE1hdHJpeC5tYXAoUVBvaW50KGdlb21ldHJ5UG9pbnRzW2ldLngsIGdl
b21ldHJ5UG9pbnRzW2ldLnkpKSk7Ci0gICAgICAgICAgICAgICAgY3VycmVudENsaXAgPSBwb2x5
Z29uLmJvdW5kaW5nUmVjdCgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoY3Vy
cmVudENsaXAuaXNFbXB0eSgpKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAg
ICAgICBpZiAocmVzdWx0UmVjdC5pc1ZhbGlkKCkpCi0gICAgICAgICAgICAgICAgcmVzdWx0UmVj
dCAmPSBjdXJyZW50Q2xpcDsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICByZXN1
bHRSZWN0ID0gY3VycmVudENsaXA7Ci0gICAgICAgIH0KLQotICAgICAgICByZXR1cm4gcmVzdWx0
UmVjdDsKLSAgICB9Ci0KLSAgICBSZWZQdHI8V2ViTGF5ZXJUcmVlUmVuZGVyZXI+IG1fcmVuZGVy
ZXI7Ci0gICAgZmxvYXQgbV9zY2FsZTsKLX07Ci0KLWNsYXNzIEJhY2tncm91bmRTR05vZGUgOiBw
dWJsaWMgUVNHU2ltcGxlUmVjdE5vZGUgewotcHVibGljOgotICAgIEJhY2tncm91bmRTR05vZGUo
KQotICAgICAgICA6IG1fY29udGVudHNOb2RlKDApCi0gICAgewotICAgIH0KLQotICAgIENvbnRl
bnRzU0dOb2RlKiBjb250ZW50c05vZGUoUGFzc1JlZlB0cjxXZWJMYXllclRyZWVSZW5kZXJlcj4g
cmVuZGVyZXIpCi0gICAgewotICAgICAgICBpZiAobV9jb250ZW50c05vZGUgJiYgbV9jb250ZW50
c05vZGUtPmxheWVyVHJlZVJlbmRlcmVyKCkgPT0gcmVuZGVyZXIpCi0gICAgICAgICAgICByZXR1
cm4gbV9jb250ZW50c05vZGU7Ci0KLSAgICAgICAgaWYgKG1fY29udGVudHNOb2RlKQotICAgICAg
ICAgICAgZGVsZXRlIG1fY29udGVudHNOb2RlOwotCi0gICAgICAgIG1fY29udGVudHNOb2RlID0g
bmV3IENvbnRlbnRzU0dOb2RlKHJlbmRlcmVyKTsKLSAgICAgICAgYXBwZW5kQ2hpbGROb2RlKG1f
Y29udGVudHNOb2RlKTsKLSAgICAgICAgcmV0dXJuIG1fY29udGVudHNOb2RlOwotICAgIH0KLQot
cHJpdmF0ZToKLSAgICBDb250ZW50c1NHTm9kZSogbV9jb250ZW50c05vZGU7Ci19OwotCiBRU0dO
b2RlKiBRUXVpY2tXZWJQYWdlOjp1cGRhdGVQYWludE5vZGUoUVNHTm9kZSogb2xkTm9kZSwgVXBk
YXRlUGFpbnROb2RlRGF0YSopCiB7CiAgICAgaWYgKCFkLT53ZWJQYWdlUHJveHktPmRyYXdpbmdB
cmVhKCkpCkBAIC0xOTIsMjAgKzg1LDE4IEBAIFFTR05vZGUqIFFRdWlja1dlYlBhZ2U6OnVwZGF0
ZVBhaW50Tm9kZShRU0dOb2RlKiBvbGROb2RlLCBVcGRhdGVQYWludE5vZGVEYXRhKikKICAgICBM
YXllclRyZWVIb3N0UHJveHkqIGxheWVyVHJlZUhvc3RQcm94eSA9IGQtPndlYlBhZ2VQcm94eS0+
ZHJhd2luZ0FyZWEoKS0+bGF5ZXJUcmVlSG9zdFByb3h5KCk7CiAgICAgV2ViTGF5ZXJUcmVlUmVu
ZGVyZXIqIHJlbmRlcmVyID0gbGF5ZXJUcmVlSG9zdFByb3h5LT5sYXllclRyZWVSZW5kZXJlcigp
OwogCi0gICAgQmFja2dyb3VuZFNHTm9kZSogYmFja2dyb3VuZE5vZGUgPSBzdGF0aWNfY2FzdDxC
YWNrZ3JvdW5kU0dOb2RlKj4ob2xkTm9kZSk7Ci0gICAgaWYgKCFiYWNrZ3JvdW5kTm9kZSkKLSAg
ICAgICAgYmFja2dyb3VuZE5vZGUgPSBuZXcgQmFja2dyb3VuZFNHTm9kZSgpOwotICAgIENvbnRl
bnRzU0dOb2RlKiBjb250ZW50c05vZGUgPSBiYWNrZ3JvdW5kTm9kZS0+Y29udGVudHNOb2RlKHJl
bmRlcmVyKTsKKyAgICBRdFdlYlBhZ2VTR05vZGUqIG5vZGUgPSBzdGF0aWNfY2FzdDxRdFdlYlBh
Z2VTR05vZGUqPihvbGROb2RlKTsKKyAgICBpZiAoIW5vZGUpCisgICAgICAgIG5vZGUgPSBuZXcg
UXRXZWJQYWdlU0dOb2RlKCk7CisgICAgbm9kZS0+c2V0UmVuZGVyZXIocmVuZGVyZXIpOwogICAg
IHJlbmRlcmVyLT5zeW5jUmVtb3RlQ29udGVudCgpOwogCi0gICAgY29udGVudHNOb2RlLT5zZXRT
Y2FsZShkLT5jb250ZW50c1NjYWxlKTsKLQorICAgIG5vZGUtPnNldFNjYWxlKGQtPmNvbnRlbnRz
U2NhbGUpOwogICAgIFFDb2xvciBiYWNrZ3JvdW5kQ29sb3IgPSBkLT53ZWJQYWdlUHJveHktPmRy
YXdzVHJhbnNwYXJlbnRCYWNrZ3JvdW5kKCkgPyBRdDo6dHJhbnNwYXJlbnQgOiBRdDo6d2hpdGU7
Ci0gICAgUVJlY3RGIGJhY2tncm91bmRSZWN0KDAsIDAsIGQtPmNvbnRlbnRzU2l6ZS53aWR0aCgp
ICogZC0+Y29udGVudHNTY2FsZSwgZC0+Y29udGVudHNTaXplLmhlaWdodCgpICogZC0+Y29udGVu
dHNTY2FsZSk7Ci0gICAgYmFja2dyb3VuZE5vZGUtPnNldENvbG9yKGJhY2tncm91bmRDb2xvcik7
Ci0gICAgYmFja2dyb3VuZE5vZGUtPnNldFJlY3QoYmFja2dyb3VuZFJlY3QpOworICAgIFFSZWN0
RiBiYWNrZ3JvdW5kUmVjdChRUG9pbnRGKDAsIDApLCBkLT5jb250ZW50c1NpemUpOworICAgIG5v
ZGUtPnNldEJhY2tncm91bmQoYmFja2dyb3VuZFJlY3QsIGJhY2tncm91bmRDb2xvcik7CiAKLSAg
ICByZXR1cm4gYmFja2dyb3VuZE5vZGU7CisgICAgcmV0dXJuIG5vZGU7CiB9CiAKIFF0V2ViUGFn
ZUV2ZW50SGFuZGxlciogUVF1aWNrV2ViUGFnZTo6ZXZlbnRIYW5kbGVyKCkgY29uc3QKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VTR05vZGUuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVNHTm9kZS5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOTMyZGJiNjVjOWVhMzExMjRkODc2MWRjMTJiMTY3YTlhYmUzMDMxZQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VTR05vZGUuY3BwCkBA
IC0wLDAgKzEsMTM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExIE5va2lhIENv
cnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICoKKyAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
CisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisg
KgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisg
KiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIlF0V2ViUGFnZVNHTm9kZS5oIgorCisjaW5jbHVkZSAiV2ViTGF5ZXJU
cmVlUmVuZGVyZXIuaCIKKyNpbmNsdWRlIDxRdEd1aS9RUG9seWdvbkY+CisjaW5jbHVkZSA8UXRR
dWljay9RU0dTaW1wbGVSZWN0Tm9kZT4KKyNpbmNsdWRlIDxwcml2YXRlL3FzZ3JlbmRlcm5vZGVf
cC5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgQ29udGVudHNTR05vZGUgOiBwdWJs
aWMgUVNHUmVuZGVyTm9kZSB7CitwdWJsaWM6CisgICAgQ29udGVudHNTR05vZGUoUGFzc1JlZlB0
cjxXZWJMYXllclRyZWVSZW5kZXJlcj4gcmVuZGVyZXIpCisgICAgICAgIDogbV9yZW5kZXJlcihy
ZW5kZXJlcikKKyAgICAgICAgLCBtX3NjYWxlKDEpCisgICAgeworICAgIH0KKworICAgIHZpcnR1
YWwgU3RhdGVGbGFncyBjaGFuZ2VkU3RhdGVzKCkKKyAgICB7CisgICAgICAgIHJldHVybiBTdGF0
ZUZsYWdzKFN0ZW5jaWxTdGF0ZSkgfCBDb2xvclN0YXRlIHwgQmxlbmRTdGF0ZTsKKyAgICB9CisK
KyAgICB2aXJ0dWFsIHZvaWQgcmVuZGVyKGNvbnN0IFJlbmRlclN0YXRlJikKKyAgICB7CisgICAg
ICAgIFFNYXRyaXg0eDQgcmVuZGVyTWF0cml4ID0gbWF0cml4KCkgPyAqbWF0cml4KCkgOiBRTWF0
cml4NHg0KCk7CisKKyAgICAgICAgLy8gRklYTUU6IFN1cHBvcnQgbm9uLXJlY3Rhbmd1bGFyIGNs
aXBwaW5ncy4KKyAgICAgICAgbGF5ZXJUcmVlUmVuZGVyZXIoKS0+cGFpbnRUb0N1cnJlbnRHTENv
bnRleHQocmVuZGVyTWF0cml4LCBpbmhlcml0ZWRPcGFjaXR5KCksIGNsaXBSZWN0KCkpOworICAg
IH0KKworICAgIH5Db250ZW50c1NHTm9kZSgpCisgICAgeworICAgICAgICBsYXllclRyZWVSZW5k
ZXJlcigpLT5wdXJnZUdMUmVzb3VyY2VzKCk7CisgICAgfQorCisgICAgV2ViTGF5ZXJUcmVlUmVu
ZGVyZXIqIGxheWVyVHJlZVJlbmRlcmVyKCkgY29uc3QgeyByZXR1cm4gbV9yZW5kZXJlci5nZXQo
KTsgfQorICAgIHZvaWQgc2V0U2NhbGUoZmxvYXQgc2NhbGUpIHsgbV9zY2FsZSA9IHNjYWxlOyB9
CisKK3ByaXZhdGU6CisgICAgUVJlY3RGIGNsaXBSZWN0KCkgY29uc3QKKyAgICB7CisgICAgICAg
IC8vIFN0YXJ0IHdpdGggYW4gaW52YWxpZCByZWN0LgorICAgICAgICBRUmVjdEYgcmVzdWx0UmVj
dCgwLCAwLCAtMSwgLTEpOworCisgICAgICAgIGZvciAoY29uc3QgUVNHQ2xpcE5vZGUqIGNsaXAg
PSBjbGlwTGlzdCgpOyBjbGlwOyBjbGlwID0gY2xpcC0+Y2xpcExpc3QoKSkgeworICAgICAgICAg
ICAgUU1hdHJpeDR4NCBjbGlwTWF0cml4OworICAgICAgICAgICAgaWYgKGNsaXAtPm1hdHJpeCgp
KQorICAgICAgICAgICAgICAgIGNsaXBNYXRyaXggPSAqY2xpcC0+bWF0cml4KCk7CisgICAgICAg
ICAgICBRUmVjdEYgY3VycmVudENsaXA7CisKKyAgICAgICAgICAgIGlmIChjbGlwLT5pc1JlY3Rh
bmd1bGFyKCkpCisgICAgICAgICAgICAgICAgY3VycmVudENsaXAgPSBjbGlwTWF0cml4Lm1hcFJl
Y3QoY2xpcC0+Y2xpcFJlY3QoKSk7CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAg
ICBjb25zdCBRU0dHZW9tZXRyeSogZ2VvbWV0cnkgPSBjbGlwLT5nZW9tZXRyeSgpOworICAgICAg
ICAgICAgICAgIC8vIEFzc3VtZSBoZXJlIHRoYXQgY2xpcE5vZGUgaGFzIG9ubHkgY29vcmRpbmF0
ZSBkYXRhLgorICAgICAgICAgICAgICAgIGNvbnN0IFFTR0dlb21ldHJ5OjpQb2ludDJEKiBnZW9t
ZXRyeVBvaW50cyA9IGdlb21ldHJ5LT52ZXJ0ZXhEYXRhQXNQb2ludDJEKCk7CisKKyAgICAgICAg
ICAgICAgICAvLyBDbGlwIHJlZ2lvbiBzaG91bGQgYmUgYXQgbGVhc3QgdHJpYW5nbGUgdG8gbWFr
ZSB2YWxpZCBjbGlwLgorICAgICAgICAgICAgICAgIGlmIChnZW9tZXRyeS0+dmVydGV4Q291bnQo
KSA8IDMpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICAgICAg
UVBvbHlnb25GIHBvbHlnb247CisKKyAgICAgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8
IGdlb21ldHJ5LT52ZXJ0ZXhDb3VudCgpOyBpKyspCisgICAgICAgICAgICAgICAgICAgIHBvbHln
b24uYXBwZW5kKGNsaXBNYXRyaXgubWFwKFFQb2ludChnZW9tZXRyeVBvaW50c1tpXS54LCBnZW9t
ZXRyeVBvaW50c1tpXS55KSkpOworICAgICAgICAgICAgICAgIGN1cnJlbnRDbGlwID0gcG9seWdv
bi5ib3VuZGluZ1JlY3QoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKGN1cnJl
bnRDbGlwLmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAg
ICAgaWYgKHJlc3VsdFJlY3QuaXNWYWxpZCgpKQorICAgICAgICAgICAgICAgIHJlc3VsdFJlY3Qg
Jj0gY3VycmVudENsaXA7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgcmVzdWx0
UmVjdCA9IGN1cnJlbnRDbGlwOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHJlc3VsdFJl
Y3Q7CisgICAgfQorCisgICAgUmVmUHRyPFdlYkxheWVyVHJlZVJlbmRlcmVyPiBtX3JlbmRlcmVy
OworICAgIGZsb2F0IG1fc2NhbGU7Cit9OworCitRdFdlYlBhZ2VTR05vZGU6OlF0V2ViUGFnZVNH
Tm9kZSgpCisgICAgOiBtX2NvbnRlbnRzTm9kZSgwKQorICAgICwgbV9iYWNrZ3JvdW5kTm9kZShu
ZXcgUVNHU2ltcGxlUmVjdE5vZGUpCit7CisgICAgYXBwZW5kQ2hpbGROb2RlKG1fYmFja2dyb3Vu
ZE5vZGUpOworfQorCit2b2lkIFF0V2ViUGFnZVNHTm9kZTo6c2V0QmFja2dyb3VuZChjb25zdCBR
UmVjdEYmIHJlY3QsIGNvbnN0IFFDb2xvciYgY29sb3IpCit7CisgICAgbV9iYWNrZ3JvdW5kTm9k
ZS0+c2V0UmVjdChyZWN0KTsKKyAgICBtX2JhY2tncm91bmROb2RlLT5zZXRDb2xvcihjb2xvcik7
Cit9CisKK3ZvaWQgUXRXZWJQYWdlU0dOb2RlOjpzZXRTY2FsZShmbG9hdCBzY2FsZSkKK3sKKyAg
ICBRTWF0cml4NHg0IG1hdHJpeDsKKyAgICBtYXRyaXguc2NhbGUoc2NhbGUpOworICAgIHNldE1h
dHJpeChtYXRyaXgpOworfQorCit2b2lkIFF0V2ViUGFnZVNHTm9kZTo6c2V0UmVuZGVyZXIoUGFz
c1JlZlB0cjxXZWJMYXllclRyZWVSZW5kZXJlcj4gcmVuZGVyZXIpCit7CisgICAgaWYgKG1fY29u
dGVudHNOb2RlICYmIG1fY29udGVudHNOb2RlLT5sYXllclRyZWVSZW5kZXJlcigpID09IHJlbmRl
cmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAobV9jb250ZW50c05vZGUpCisgICAgICAg
IGRlbGV0ZSBtX2NvbnRlbnRzTm9kZTsKKworICAgIG1fY29udGVudHNOb2RlID0gbmV3IENvbnRl
bnRzU0dOb2RlKHJlbmRlcmVyKTsKKyAgICBhcHBlbmRDaGlsZE5vZGUobV9jb250ZW50c05vZGUp
OworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQ
YWdlU0dOb2RlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlU0dOb2Rl
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDdiOTIyNGUxMWZmZjQ0ZDFiMjk2YzdmYjUyMGExMDA5YWUyMTQ2MQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VT
R05vZGUuaApAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDEx
IE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg
KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dy
YW07IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2lmbmRl
ZiBRdFdlYlBhZ2VTR05vZGVfaAorI2RlZmluZSBRdFdlYlBhZ2VTR05vZGVfaAorCisjaW5jbHVk
ZSAiUGFzc1JlZlB0ci5oIgorI2luY2x1ZGUgPFF0UXVpY2svUVNHVHJhbnNmb3JtTm9kZT4KK2Ns
YXNzIFFTR1NpbXBsZVJlY3ROb2RlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgQ29u
dGVudHNTR05vZGU7CitjbGFzcyBXZWJMYXllclRyZWVSZW5kZXJlcjsKKworY2xhc3MgUXRXZWJQ
YWdlU0dOb2RlIDogcHVibGljIFFTR1RyYW5zZm9ybU5vZGUgeworICAgIHB1YmxpYzoKKyAgICAg
ICAgUXRXZWJQYWdlU0dOb2RlKCk7CisgICAgICAgIHZvaWQgc2V0QmFja2dyb3VuZChjb25zdCBR
UmVjdEYmLCBjb25zdCBRQ29sb3ImKTsKKyAgICAgICAgdm9pZCBzZXRTY2FsZShmbG9hdCk7Cisg
ICAgICAgIHZvaWQgc2V0UmVuZGVyZXIoUGFzc1JlZlB0cjxXZWJMYXllclRyZWVSZW5kZXJlcj4p
OworCisgICAgcHJpdmF0ZToKKyAgICAgICAgQ29udGVudHNTR05vZGUqIG1fY29udGVudHNOb2Rl
OworICAgICAgICBRU0dTaW1wbGVSZWN0Tm9kZSogbV9iYWNrZ3JvdW5kTm9kZTsKKyAgICB9Owor
fQorCisjZW5kaWYgLyogUXRXZWJQYWdlU0dOb2RlX2ggKi8K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132494</attachid>
            <date>2012-03-18 09:43:06 -0700</date>
            <delta_ts>2012-03-18 11:42:06 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-81368-20120318094304.patch</filename>
            <type>text/plain</type>
            <size>13894</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExMDExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjZmYjA2NWZkNWFlNGI0
ZWViMGE0ODE1NmVkZDk0MjI3MGM1ZGZjMi4uMTEwYjMwYTdmYjVjYzAwM2Q0MjlhNmMwYzBlOTVh
N2I3NTUzMmRlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIzIEBACiAyMDEyLTAzLTE2ICBObydh
bSBSb3NlbnRoYWwgIDxub2FtLnJvc2VudGhhbEBub2tpYS5jb20+CiAKKyAgICAgICAgW1F0XVtX
SzJdIEF2b2lkIHVzYWdlIG9mIG1hbnVhbCBzY2FsaW5nIGluIHRoZSBRdCBzY2VuZWdyYXBoIGlu
dGVncmF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MTM2OAorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgorCisgICAgICAg
IE1vdmVkIHRoZSBRdFNjZW5lZ3JhcGggaW50ZWdyYXRpb24gY2xhc3NlcyB0byBhIHNlcGFyYXRl
IGZpbGUsCisgICAgICAgIFF0V2ViUGFnZVNHTm9kZS4gVGhlIG5vZGVzIGNyZWF0ZWQgZm9yIFFR
dWlja1dlYlBhZ2Ugbm93IGluY2x1ZGUKKyAgICAgICAgYSBRU0dUcmFuc2Zvcm1Ob2RlIHRoYXQg
Y29udHJvbHMgdGhlIGNvbnRlbnRzU2NhbGUsIGEgCisgICAgICAgIFFTR1NpbXBsZVJlY3ROb2Rl
IHRoYXQgY29udHJvbHMgdGhlIGJhY2tncm91bmQgY29sb3IsIGFuZCBhCisgICAgICAgIFFTR1Jl
bmRlck5vZGUgc3ViY2xhc3MgdGhhdCByZW5kZXJzIHRoZSBhY3R1YWwgY29udGVudHMuCisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBh
Z2UuY3BwOgorICAgICAgICAoUVF1aWNrV2ViUGFnZTo6dXBkYXRlUGFpbnROb2RlKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvcXQvUXRXZWJQYWdlU0dOb2RlLmNwcDogQWRkZWQuCisgICAgICAgICog
VUlQcm9jZXNzL3F0L1F0V2ViUGFnZVNHTm9kZS5oOiBBZGRlZC4KKworMjAxMi0wMy0xNiAgTm8n
YW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRoYWxAbm9raWEuY29tPgorCiAgICAgICAgIFtRdF0g
VGhlIGJhY2tncm91bmQgaXMgdmlzaWJsZSBmb3IgdGlsZXMgaW5zaWRlIHRoZSBjb250ZW50cyBh
cmVhIHdoaWNoIGFyZSBub3QgcmVhZHkKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTgxMzQ5CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1Rhcmdl
dC5wcmkgYi9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCmluZGV4IDU5NjgyMzdhMWM2MWZhOGYy
Mjk0NTcyNmFkOWQzYTJiYWYwZTQwYTcuLjU4MWMwZTljZTRjNTlkMWE4NDc5ZDVlNDZlMDIzNDcz
OTZkNjI2MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkKKysrIGIvU291
cmNlL1dlYktpdDIvVGFyZ2V0LnByaQpAQCAtMjczLDYgKzI3Myw3IEBAIEhFQURFUlMgKz0gXAog
ICAgIFVJUHJvY2Vzcy9xdC9RdFBhZ2VDbGllbnQuaCBcCiAgICAgVUlQcm9jZXNzL3F0L1F0V2Vi
UGFnZUxvYWRDbGllbnQuaCBcCiAgICAgVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVBvbGljeUNsaWVu
dC5oIFwKKyAgICBVSVByb2Nlc3MvcXQvUXRXZWJQYWdlU0dOb2RlLmggXAogICAgIFVJUHJvY2Vz
cy9xdC9RdFdlYlBhZ2VVSUNsaWVudC5oIFwKICAgICBVSVByb2Nlc3MvcXQvUXRGbGlja1Byb3Zp
ZGVyLmggXAogICAgIFVJUHJvY2Vzcy9xdC9RdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUuaCBc
CkBAIC02MDgsNiArNjA5LDcgQEAgU09VUkNFUyArPSBcCiAgICAgVUlQcm9jZXNzL3F0L1F0UGFn
ZUNsaWVudC5jcHAgXAogICAgIFVJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VMb2FkQ2xpZW50LmNwcCBc
CiAgICAgVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVBvbGljeUNsaWVudC5jcHAgXAorICAgIFVJUHJv
Y2Vzcy9xdC9RdFdlYlBhZ2VTR05vZGUuY3BwIFwKICAgICBVSVByb2Nlc3MvcXQvUXRXZWJQYWdl
VUlDbGllbnQuY3BwIFwKICAgICBVSVByb2Nlc3MvcXQvVGV4dENoZWNrZXJRdC5jcHAgXAogICAg
IFVJUHJvY2Vzcy9xdC9RdEZsaWNrUHJvdmlkZXIuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2VicGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBhZ2UuY3BwCmluZGV4IDE3MDZkMDQwMjM5Yzdm
MDE2YzkwYzE5NWJhMTBkNGNmZmE1ZTMxZjQuLjMzMmQwMjQ3OWQ4NmJkMDZjMTA5YWM2NDc5NWE2
ZmFlMzMzNmQyMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
cXF1aWNrd2VicGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9x
cXVpY2t3ZWJwYWdlLmNwcApAQCAtMjMsMTYgKzIzLDEyIEBACiAKICNpbmNsdWRlICJMYXllclRy
ZWVIb3N0UHJveHkuaCIKICNpbmNsdWRlICJRdFdlYlBhZ2VFdmVudEhhbmRsZXIuaCIKKyNpbmNs
dWRlICJRdFdlYlBhZ2VTR05vZGUuaCIKICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5o
IgogI2luY2x1ZGUgIldlYkxheWVyVHJlZVJlbmRlcmVyLmgiCiAjaW5jbHVkZSAicXF1aWNrd2Vi
cGFnZV9wX3AuaCIKICNpbmNsdWRlICJxcXVpY2t3ZWJ2aWV3X3AuaCIKLSNpbmNsdWRlIDxRUG9s
eWdvbkY+CiAjaW5jbHVkZSA8UXRRdWljay9RUXVpY2tDYW52YXM+Ci0jaW5jbHVkZSA8UXRRdWlj
ay9RU0dHZW9tZXRyeU5vZGU+Ci0jaW5jbHVkZSA8UXRRdWljay9RU0dNYXRlcmlhbD4KLSNpbmNs
dWRlIDxRdFF1aWNrL1FTR1NpbXBsZVJlY3ROb2RlPgotI2luY2x1ZGUgPHByaXZhdGUvcXNncmVu
ZGVybm9kZV9wLmg+CiAKIFFRdWlja1dlYlBhZ2U6OlFRdWlja1dlYlBhZ2UoUVF1aWNrV2ViVmll
dyogdmlld3BvcnRJdGVtKQogICAgIDogUVF1aWNrSXRlbSh2aWV3cG9ydEl0ZW0pCkBAIC04MSwx
MDggKzc3LDYgQEAgdm9pZCBRUXVpY2tXZWJQYWdlUHJpdmF0ZTo6cGFpbnQoUVBhaW50ZXIqIHBh
aW50ZXIpCiAgICAgICAgIHdlYlBhZ2VQcm94eS0+ZHJhd2luZ0FyZWEoKS0+cGFpbnRMYXllclRy
ZWUocGFpbnRlcik7CiB9CiAKLWNsYXNzIENvbnRlbnRzU0dOb2RlIDogcHVibGljIFFTR1JlbmRl
ck5vZGUgewotcHVibGljOgotICAgIENvbnRlbnRzU0dOb2RlKFBhc3NSZWZQdHI8V2ViTGF5ZXJU
cmVlUmVuZGVyZXI+IHJlbmRlcmVyKQotICAgICAgICA6IG1fcmVuZGVyZXIocmVuZGVyZXIpCi0g
ICAgICAgICwgbV9zY2FsZSgxKQotICAgIHsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIFN0YXRlRmxh
Z3MgY2hhbmdlZFN0YXRlcygpCi0gICAgewotICAgICAgICByZXR1cm4gU3RhdGVGbGFncyhTdGVu
Y2lsU3RhdGUpIHwgQ29sb3JTdGF0ZSB8IEJsZW5kU3RhdGU7Ci0gICAgfQotCi0gICAgdmlydHVh
bCB2b2lkIHJlbmRlcihjb25zdCBSZW5kZXJTdGF0ZSYpCi0gICAgewotICAgICAgICBRTWF0cml4
NHg0IHJlbmRlck1hdHJpeCA9IG1hdHJpeCgpID8gKm1hdHJpeCgpIDogUU1hdHJpeDR4NCgpOwot
Ci0gICAgICAgIC8vIEhhdmUgdG8gYXBwbHkgcmVuZGVyIHNjYWxlIG1hbnVhbHkgYmVjYXVzZSBp
dCBpcyBub3QgYXBwbGllZCBvbiBwYWdlIGl0ZW0uCi0gICAgICAgIC8vIGh0dHA6Ly90cmFjLndl
YmtpdC5vcmcvY2hhbmdlc2V0LzEwNDQ1MAotICAgICAgICByZW5kZXJNYXRyaXguc2NhbGUobV9z
Y2FsZSk7Ci0KLSAgICAgICAgLy8gRklYTUU6IFN1cHBvcnQgbm9uLXJlY3Rhbmd1bGFyIGNsaXBw
aW5ncy4KLSAgICAgICAgbGF5ZXJUcmVlUmVuZGVyZXIoKS0+cGFpbnRUb0N1cnJlbnRHTENvbnRl
eHQocmVuZGVyTWF0cml4LCBpbmhlcml0ZWRPcGFjaXR5KCksIGNsaXBSZWN0KCkpOwotICAgIH0K
LQotICAgIH5Db250ZW50c1NHTm9kZSgpCi0gICAgewotICAgICAgICBsYXllclRyZWVSZW5kZXJl
cigpLT5wdXJnZUdMUmVzb3VyY2VzKCk7Ci0gICAgfQotCi0gICAgV2ViTGF5ZXJUcmVlUmVuZGVy
ZXIqIGxheWVyVHJlZVJlbmRlcmVyKCkgY29uc3QgeyByZXR1cm4gbV9yZW5kZXJlci5nZXQoKTsg
fQotICAgIHZvaWQgc2V0U2NhbGUoZmxvYXQgc2NhbGUpIHsgbV9zY2FsZSA9IHNjYWxlOyB9Ci0K
LXByaXZhdGU6Ci0gICAgUVJlY3RGIGNsaXBSZWN0KCkgY29uc3QKLSAgICB7Ci0gICAgICAgIC8v
IFN0YXJ0IHdpdGggYW4gaW52YWxpZCByZWN0LgotICAgICAgICBRUmVjdEYgcmVzdWx0UmVjdCgw
LCAwLCAtMSwgLTEpOwotCi0gICAgICAgIGZvciAoY29uc3QgUVNHQ2xpcE5vZGUqIGNsaXAgPSBj
bGlwTGlzdCgpOyBjbGlwOyBjbGlwID0gY2xpcC0+Y2xpcExpc3QoKSkgewotICAgICAgICAgICAg
UU1hdHJpeDR4NCBjbGlwTWF0cml4OwotICAgICAgICAgICAgaWYgKGNsaXAtPm1hdHJpeCgpKQot
ICAgICAgICAgICAgICAgIGNsaXBNYXRyaXggPSAqY2xpcC0+bWF0cml4KCk7Ci0gICAgICAgICAg
ICBRUmVjdEYgY3VycmVudENsaXA7Ci0KLSAgICAgICAgICAgIGlmIChjbGlwLT5pc1JlY3Rhbmd1
bGFyKCkpCi0gICAgICAgICAgICAgICAgY3VycmVudENsaXAgPSBjbGlwTWF0cml4Lm1hcFJlY3Qo
Y2xpcC0+Y2xpcFJlY3QoKSk7Ci0gICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICBj
b25zdCBRU0dHZW9tZXRyeSogZ2VvbWV0cnkgPSBjbGlwLT5nZW9tZXRyeSgpOwotICAgICAgICAg
ICAgICAgIC8vIEFzc3VtZSBoZXJlIHRoYXQgY2xpcE5vZGUgaGFzIG9ubHkgY29vcmRpbmF0ZSBk
YXRhLgotICAgICAgICAgICAgICAgIGNvbnN0IFFTR0dlb21ldHJ5OjpQb2ludDJEKiBnZW9tZXRy
eVBvaW50cyA9IGdlb21ldHJ5LT52ZXJ0ZXhEYXRhQXNQb2ludDJEKCk7Ci0KLSAgICAgICAgICAg
ICAgICAvLyBDbGlwIHJlZ2lvbiBzaG91bGQgYmUgYXQgbGVhc3QgdHJpYW5nbGUgdG8gbWFrZSB2
YWxpZCBjbGlwLgotICAgICAgICAgICAgICAgIGlmIChnZW9tZXRyeS0+dmVydGV4Q291bnQoKSA8
IDMpCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgICAgICAgICAgUVBv
bHlnb25GIHBvbHlnb247Ci0KLSAgICAgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGdl
b21ldHJ5LT52ZXJ0ZXhDb3VudCgpOyBpKyspCi0gICAgICAgICAgICAgICAgICAgIHBvbHlnb24u
YXBwZW5kKGNsaXBNYXRyaXgubWFwKFFQb2ludChnZW9tZXRyeVBvaW50c1tpXS54LCBnZW9tZXRy
eVBvaW50c1tpXS55KSkpOwotICAgICAgICAgICAgICAgIGN1cnJlbnRDbGlwID0gcG9seWdvbi5i
b3VuZGluZ1JlY3QoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKGN1cnJlbnRD
bGlwLmlzRW1wdHkoKSkKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICAgICAg
aWYgKHJlc3VsdFJlY3QuaXNWYWxpZCgpKQotICAgICAgICAgICAgICAgIHJlc3VsdFJlY3QgJj0g
Y3VycmVudENsaXA7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgcmVzdWx0UmVj
dCA9IGN1cnJlbnRDbGlwOwotICAgICAgICB9Ci0KLSAgICAgICAgcmV0dXJuIHJlc3VsdFJlY3Q7
Ci0gICAgfQotCi0gICAgUmVmUHRyPFdlYkxheWVyVHJlZVJlbmRlcmVyPiBtX3JlbmRlcmVyOwot
ICAgIGZsb2F0IG1fc2NhbGU7Ci19OwotCi1jbGFzcyBCYWNrZ3JvdW5kU0dOb2RlIDogcHVibGlj
IFFTR1NpbXBsZVJlY3ROb2RlIHsKLXB1YmxpYzoKLSAgICBCYWNrZ3JvdW5kU0dOb2RlKCkKLSAg
ICAgICAgOiBtX2NvbnRlbnRzTm9kZSgwKQotICAgIHsKLSAgICB9Ci0KLSAgICBDb250ZW50c1NH
Tm9kZSogY29udGVudHNOb2RlKFBhc3NSZWZQdHI8V2ViTGF5ZXJUcmVlUmVuZGVyZXI+IHJlbmRl
cmVyKQotICAgIHsKLSAgICAgICAgaWYgKG1fY29udGVudHNOb2RlICYmIG1fY29udGVudHNOb2Rl
LT5sYXllclRyZWVSZW5kZXJlcigpID09IHJlbmRlcmVyKQotICAgICAgICAgICAgcmV0dXJuIG1f
Y29udGVudHNOb2RlOwotCi0gICAgICAgIGRlbGV0ZSBtX2NvbnRlbnRzTm9kZTsKLQotICAgICAg
ICBtX2NvbnRlbnRzTm9kZSA9IG5ldyBDb250ZW50c1NHTm9kZShyZW5kZXJlcik7Ci0gICAgICAg
IGFwcGVuZENoaWxkTm9kZShtX2NvbnRlbnRzTm9kZSk7Ci0gICAgICAgIHJldHVybiBtX2NvbnRl
bnRzTm9kZTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgQ29udGVudHNTR05vZGUqIG1fY29udGVu
dHNOb2RlOwotfTsKLQogUVNHTm9kZSogUVF1aWNrV2ViUGFnZTo6dXBkYXRlUGFpbnROb2RlKFFT
R05vZGUqIG9sZE5vZGUsIFVwZGF0ZVBhaW50Tm9kZURhdGEqKQogewogICAgIGlmICghZC0+d2Vi
UGFnZVByb3h5LT5kcmF3aW5nQXJlYSgpKQpAQCAtMTkxLDIwICs4NSwxOCBAQCBRU0dOb2RlKiBR
UXVpY2tXZWJQYWdlOjp1cGRhdGVQYWludE5vZGUoUVNHTm9kZSogb2xkTm9kZSwgVXBkYXRlUGFp
bnROb2RlRGF0YSopCiAgICAgTGF5ZXJUcmVlSG9zdFByb3h5KiBsYXllclRyZWVIb3N0UHJveHkg
PSBkLT53ZWJQYWdlUHJveHktPmRyYXdpbmdBcmVhKCktPmxheWVyVHJlZUhvc3RQcm94eSgpOwog
ICAgIFdlYkxheWVyVHJlZVJlbmRlcmVyKiByZW5kZXJlciA9IGxheWVyVHJlZUhvc3RQcm94eS0+
bGF5ZXJUcmVlUmVuZGVyZXIoKTsKIAotICAgIEJhY2tncm91bmRTR05vZGUqIGJhY2tncm91bmRO
b2RlID0gc3RhdGljX2Nhc3Q8QmFja2dyb3VuZFNHTm9kZSo+KG9sZE5vZGUpOwotICAgIGlmICgh
YmFja2dyb3VuZE5vZGUpCi0gICAgICAgIGJhY2tncm91bmROb2RlID0gbmV3IEJhY2tncm91bmRT
R05vZGUoKTsKLSAgICBDb250ZW50c1NHTm9kZSogY29udGVudHNOb2RlID0gYmFja2dyb3VuZE5v
ZGUtPmNvbnRlbnRzTm9kZShyZW5kZXJlcik7CisgICAgUXRXZWJQYWdlU0dOb2RlKiBub2RlID0g
c3RhdGljX2Nhc3Q8UXRXZWJQYWdlU0dOb2RlKj4ob2xkTm9kZSk7CisgICAgaWYgKCFub2RlKQor
ICAgICAgICBub2RlID0gbmV3IFF0V2ViUGFnZVNHTm9kZSgpOworICAgIG5vZGUtPnNldFJlbmRl
cmVyKHJlbmRlcmVyKTsKICAgICByZW5kZXJlci0+c3luY1JlbW90ZUNvbnRlbnQoKTsKIAotICAg
IGNvbnRlbnRzTm9kZS0+c2V0U2NhbGUoZC0+Y29udGVudHNTY2FsZSk7Ci0KKyAgICBub2RlLT5z
ZXRTY2FsZShkLT5jb250ZW50c1NjYWxlKTsKICAgICBRQ29sb3IgYmFja2dyb3VuZENvbG9yID0g
ZC0+d2ViUGFnZVByb3h5LT5kcmF3c1RyYW5zcGFyZW50QmFja2dyb3VuZCgpID8gUXQ6OnRyYW5z
cGFyZW50IDogUXQ6OndoaXRlOwotICAgIFFSZWN0RiBiYWNrZ3JvdW5kUmVjdCgwLCAwLCBkLT5j
b250ZW50c1NpemUud2lkdGgoKSAqIGQtPmNvbnRlbnRzU2NhbGUsIGQtPmNvbnRlbnRzU2l6ZS5o
ZWlnaHQoKSAqIGQtPmNvbnRlbnRzU2NhbGUpOwotICAgIGJhY2tncm91bmROb2RlLT5zZXRDb2xv
cihiYWNrZ3JvdW5kQ29sb3IpOwotICAgIGJhY2tncm91bmROb2RlLT5zZXRSZWN0KGJhY2tncm91
bmRSZWN0KTsKKyAgICBRUmVjdEYgYmFja2dyb3VuZFJlY3QoUVBvaW50RigwLCAwKSwgZC0+Y29u
dGVudHNTaXplKTsKKyAgICBub2RlLT5zZXRCYWNrZ3JvdW5kKGJhY2tncm91bmRSZWN0LCBiYWNr
Z3JvdW5kQ29sb3IpOwogCi0gICAgcmV0dXJuIGJhY2tncm91bmROb2RlOworICAgIHJldHVybiBu
b2RlOwogfQogCiBRdFdlYlBhZ2VFdmVudEhhbmRsZXIqIFFRdWlja1dlYlBhZ2U6OmV2ZW50SGFu
ZGxlcigpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRX
ZWJQYWdlU0dOb2RlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VT
R05vZGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUxZTU4MmQ0Mjg4MzdhYWZmN2ZhNmFiMGRhMjMwMjZiOTZl
ODBjNzcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRX
ZWJQYWdlU0dOb2RlLmNwcApAQCAtMCwwICsxLDEzMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMCwgMjAxMSBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykK
KyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9n
cmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisg
KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm
b3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGgg
dGhpcyBwcm9ncmFtOyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRv
CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl
ZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJRdFdlYlBhZ2VTR05vZGUuaCIKKwor
I2luY2x1ZGUgIldlYkxheWVyVHJlZVJlbmRlcmVyLmgiCisjaW5jbHVkZSA8UXRHdWkvUVBvbHln
b25GPgorI2luY2x1ZGUgPFF0UXVpY2svUVNHU2ltcGxlUmVjdE5vZGU+CisjaW5jbHVkZSA8cHJp
dmF0ZS9xc2dyZW5kZXJub2RlX3AuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIENv
bnRlbnRzU0dOb2RlIDogcHVibGljIFFTR1JlbmRlck5vZGUgeworcHVibGljOgorICAgIENvbnRl
bnRzU0dOb2RlKFBhc3NSZWZQdHI8V2ViTGF5ZXJUcmVlUmVuZGVyZXI+IHJlbmRlcmVyKQorICAg
ICAgICA6IG1fcmVuZGVyZXIocmVuZGVyZXIpCisgICAgeworICAgIH0KKworICAgIHZpcnR1YWwg
U3RhdGVGbGFncyBjaGFuZ2VkU3RhdGVzKCkKKyAgICB7CisgICAgICAgIHJldHVybiBTdGF0ZUZs
YWdzKFN0ZW5jaWxTdGF0ZSkgfCBDb2xvclN0YXRlIHwgQmxlbmRTdGF0ZTsKKyAgICB9CisKKyAg
ICB2aXJ0dWFsIHZvaWQgcmVuZGVyKGNvbnN0IFJlbmRlclN0YXRlJikKKyAgICB7CisgICAgICAg
IFFNYXRyaXg0eDQgcmVuZGVyTWF0cml4ID0gbWF0cml4KCkgPyAqbWF0cml4KCkgOiBRTWF0cml4
NHg0KCk7CisKKyAgICAgICAgLy8gRklYTUU6IFN1cHBvcnQgbm9uLXJlY3Rhbmd1bGFyIGNsaXBw
aW5ncy4KKyAgICAgICAgbGF5ZXJUcmVlUmVuZGVyZXIoKS0+cGFpbnRUb0N1cnJlbnRHTENvbnRl
eHQocmVuZGVyTWF0cml4LCBpbmhlcml0ZWRPcGFjaXR5KCksIGNsaXBSZWN0KCkpOworICAgIH0K
KworICAgIH5Db250ZW50c1NHTm9kZSgpCisgICAgeworICAgICAgICBsYXllclRyZWVSZW5kZXJl
cigpLT5wdXJnZUdMUmVzb3VyY2VzKCk7CisgICAgfQorCisgICAgV2ViTGF5ZXJUcmVlUmVuZGVy
ZXIqIGxheWVyVHJlZVJlbmRlcmVyKCkgY29uc3QgeyByZXR1cm4gbV9yZW5kZXJlci5nZXQoKTsg
fQorCitwcml2YXRlOgorICAgIFFSZWN0RiBjbGlwUmVjdCgpIGNvbnN0CisgICAgeworICAgICAg
ICAvLyBTdGFydCB3aXRoIGFuIGludmFsaWQgcmVjdC4KKyAgICAgICAgUVJlY3RGIHJlc3VsdFJl
Y3QoMCwgMCwgLTEsIC0xKTsKKworICAgICAgICBmb3IgKGNvbnN0IFFTR0NsaXBOb2RlKiBjbGlw
ID0gY2xpcExpc3QoKTsgY2xpcDsgY2xpcCA9IGNsaXAtPmNsaXBMaXN0KCkpIHsKKyAgICAgICAg
ICAgIFFNYXRyaXg0eDQgY2xpcE1hdHJpeDsKKyAgICAgICAgICAgIGlmIChjbGlwLT5tYXRyaXgo
KSkKKyAgICAgICAgICAgICAgICBjbGlwTWF0cml4ID0gKmNsaXAtPm1hdHJpeCgpOworICAgICAg
ICAgICAgUVJlY3RGIGN1cnJlbnRDbGlwOworCisgICAgICAgICAgICBpZiAoY2xpcC0+aXNSZWN0
YW5ndWxhcigpKQorICAgICAgICAgICAgICAgIGN1cnJlbnRDbGlwID0gY2xpcE1hdHJpeC5tYXBS
ZWN0KGNsaXAtPmNsaXBSZWN0KCkpOworICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAg
ICAgY29uc3QgUVNHR2VvbWV0cnkqIGdlb21ldHJ5ID0gY2xpcC0+Z2VvbWV0cnkoKTsKKyAgICAg
ICAgICAgICAgICAvLyBBc3N1bWUgaGVyZSB0aGF0IGNsaXBOb2RlIGhhcyBvbmx5IGNvb3JkaW5h
dGUgZGF0YS4KKyAgICAgICAgICAgICAgICBjb25zdCBRU0dHZW9tZXRyeTo6UG9pbnQyRCogZ2Vv
bWV0cnlQb2ludHMgPSBnZW9tZXRyeS0+dmVydGV4RGF0YUFzUG9pbnQyRCgpOworCisgICAgICAg
ICAgICAgICAgLy8gQ2xpcCByZWdpb24gc2hvdWxkIGJlIGF0IGxlYXN0IHRyaWFuZ2xlIHRvIG1h
a2UgdmFsaWQgY2xpcC4KKyAgICAgICAgICAgICAgICBpZiAoZ2VvbWV0cnktPnZlcnRleENvdW50
KCkgPCAzKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgICAg
IFFQb2x5Z29uRiBwb2x5Z29uOworCisgICAgICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkg
PCBnZW9tZXRyeS0+dmVydGV4Q291bnQoKTsgaSsrKQorICAgICAgICAgICAgICAgICAgICBwb2x5
Z29uLmFwcGVuZChjbGlwTWF0cml4Lm1hcChRUG9pbnQoZ2VvbWV0cnlQb2ludHNbaV0ueCwgZ2Vv
bWV0cnlQb2ludHNbaV0ueSkpKTsKKyAgICAgICAgICAgICAgICBjdXJyZW50Q2xpcCA9IHBvbHln
b24uYm91bmRpbmdSZWN0KCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmIChjdXJy
ZW50Q2xpcC5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAg
ICAgIGlmIChyZXN1bHRSZWN0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICByZXN1bHRSZWN0
ICY9IGN1cnJlbnRDbGlwOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHJlc3Vs
dFJlY3QgPSBjdXJyZW50Q2xpcDsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiByZXN1bHRS
ZWN0OworICAgIH0KKworICAgIFJlZlB0cjxXZWJMYXllclRyZWVSZW5kZXJlcj4gbV9yZW5kZXJl
cjsKK307CisKK1F0V2ViUGFnZVNHTm9kZTo6UXRXZWJQYWdlU0dOb2RlKCkKKyAgICA6IG1fY29u
dGVudHNOb2RlKDApCisgICAgLCBtX2JhY2tncm91bmROb2RlKG5ldyBRU0dTaW1wbGVSZWN0Tm9k
ZSkKK3sKKyAgICBhcHBlbmRDaGlsZE5vZGUobV9iYWNrZ3JvdW5kTm9kZSk7Cit9CisKK3ZvaWQg
UXRXZWJQYWdlU0dOb2RlOjpzZXRCYWNrZ3JvdW5kKGNvbnN0IFFSZWN0RiYgcmVjdCwgY29uc3Qg
UUNvbG9yJiBjb2xvcikKK3sKKyAgICBtX2JhY2tncm91bmROb2RlLT5zZXRSZWN0KHJlY3QpOwor
ICAgIG1fYmFja2dyb3VuZE5vZGUtPnNldENvbG9yKGNvbG9yKTsKK30KKwordm9pZCBRdFdlYlBh
Z2VTR05vZGU6OnNldFNjYWxlKGZsb2F0IHNjYWxlKQoreworICAgIFFNYXRyaXg0eDQgbWF0cml4
OworICAgIG1hdHJpeC5zY2FsZShzY2FsZSk7CisgICAgc2V0TWF0cml4KG1hdHJpeCk7Cit9CisK
K3ZvaWQgUXRXZWJQYWdlU0dOb2RlOjpzZXRSZW5kZXJlcihQYXNzUmVmUHRyPFdlYkxheWVyVHJl
ZVJlbmRlcmVyPiByZW5kZXJlcikKK3sKKyAgICBpZiAobV9jb250ZW50c05vZGUgJiYgbV9jb250
ZW50c05vZGUtPmxheWVyVHJlZVJlbmRlcmVyKCkgPT0gcmVuZGVyZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGRlbGV0ZSBtX2NvbnRlbnRzTm9kZTsKKyAgICBtX2NvbnRlbnRzTm9kZSA9IG5l
dyBDb250ZW50c1NHTm9kZShyZW5kZXJlcik7CisgICAgYXBwZW5kQ2hpbGROb2RlKG1fY29udGVu
dHNOb2RlKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0
L1F0V2ViUGFnZVNHTm9kZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFn
ZVNHTm9kZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ3YjkyMjRlMTFmZmY0NGQxYjI5NmM3ZmI1MjBhMTAwOWFl
MjE0NjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRX
ZWJQYWdlU0dOb2RlLmgKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MCwgMjAxMSBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAq
CisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFt
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhp
cyBwcm9ncmFtOyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisg
KiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs
IEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisK
KyNpZm5kZWYgUXRXZWJQYWdlU0dOb2RlX2gKKyNkZWZpbmUgUXRXZWJQYWdlU0dOb2RlX2gKKwor
I2luY2x1ZGUgIlBhc3NSZWZQdHIuaCIKKyNpbmNsdWRlIDxRdFF1aWNrL1FTR1RyYW5zZm9ybU5v
ZGU+CitjbGFzcyBRU0dTaW1wbGVSZWN0Tm9kZTsKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2Ns
YXNzIENvbnRlbnRzU0dOb2RlOworY2xhc3MgV2ViTGF5ZXJUcmVlUmVuZGVyZXI7CisKK2NsYXNz
IFF0V2ViUGFnZVNHTm9kZSA6IHB1YmxpYyBRU0dUcmFuc2Zvcm1Ob2RlIHsKKyAgICBwdWJsaWM6
CisgICAgICAgIFF0V2ViUGFnZVNHTm9kZSgpOworICAgICAgICB2b2lkIHNldEJhY2tncm91bmQo
Y29uc3QgUVJlY3RGJiwgY29uc3QgUUNvbG9yJik7CisgICAgICAgIHZvaWQgc2V0U2NhbGUoZmxv
YXQpOworICAgICAgICB2b2lkIHNldFJlbmRlcmVyKFBhc3NSZWZQdHI8V2ViTGF5ZXJUcmVlUmVu
ZGVyZXI+KTsKKworICAgIHByaXZhdGU6CisgICAgICAgIENvbnRlbnRzU0dOb2RlKiBtX2NvbnRl
bnRzTm9kZTsKKyAgICAgICAgUVNHU2ltcGxlUmVjdE5vZGUqIG1fYmFja2dyb3VuZE5vZGU7Cisg
ICAgfTsKK30KKworI2VuZGlmIC8qIFF0V2ViUGFnZVNHTm9kZV9oICovCg==
</data>
<flag name="commit-queue"
          id="136154"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132497</attachid>
            <date>2012-03-18 11:42:06 -0700</date>
            <delta_ts>2012-03-18 11:44:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch1.diff</filename>
            <type>text/plain</type>
            <size>4601</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA4ZDYwOWNlLi42OGQzZDJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQg
QEAKKzIwMTItMDMtMTYgIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNv
bT4KKworICAgICAgICBbUXRdIFRoZSBiYWNrZ3JvdW5kIGlzIHZpc2libGUgZm9yIHRpbGVzIGlu
c2lkZSB0aGUgY29udGVudHMgYXJlYSB3aGljaCBhcmUgbm90IHJlYWR5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTM0OQorCisgICAgICAgIFJldmll
d2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgorCisgICAgICAgIFNwbGl0IFBhZ2VQcm94eU5vZGUgdG8g
QmFja2dyb3VuZFNHTm9kZSBhbmQgQ29udGVudHNTR05vZGUuCisgICAgICAgIEJhY2tncm91bmRT
R05vZGUgcGFpbnRzIGEgc29saWQgYmFja2dyb3VuZCwgZWl0aGVyIHdoaXRlIG9yIHRyYW5zcGFy
ZW50CisgICAgICAgIChkZXBlbmRpbmcgb24gZHJhd3NUcmFuc3BhcmVudEJhY2tncm91bmQgZmxh
ZykuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBhZ2UuY3BwOgorICAg
ICAgICAoQ29udGVudHNTR05vZGUpOgorICAgICAgICAoQ29udGVudHNTR05vZGU6OkNvbnRlbnRz
U0dOb2RlKToKKyAgICAgICAgKENvbnRlbnRzU0dOb2RlOjpjaGFuZ2VkU3RhdGVzKToKKyAgICAg
ICAgKENvbnRlbnRzU0dOb2RlOjp+Q29udGVudHNTR05vZGUpOgorICAgICAgICAoQmFja2dyb3Vu
ZFNHTm9kZSk6CisgICAgICAgIChCYWNrZ3JvdW5kU0dOb2RlOjpCYWNrZ3JvdW5kU0dOb2RlKToK
KyAgICAgICAgKEJhY2tncm91bmRTR05vZGU6OmNvbnRlbnRzTm9kZSk6CisgICAgICAgIChRUXVp
Y2tXZWJQYWdlOjp1cGRhdGVQYWludE5vZGUpOgorCiAyMDEyLTAzLTE2ICBEaW51IEphY29iICA8
ZGludS5qYWNvYkBub2tpYS5jb20+CiAKICAgICAgICAgW1F0XVtXSzJdIEJ1aWxkIGZhaWx1cmUg
d2hlbiB1c2luZyAtLW5vLXRvdWNoLWV2ZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJwYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvcXF1aWNrd2VicGFnZS5jcHAKaW5kZXggOTI5M2M5Ny4uMTcwNmQwNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJwYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBhZ2UuY3Bw
CkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSA8UXRRdWljay9RUXVpY2tDYW52YXM+CiAjaW5j
bHVkZSA8UXRRdWljay9RU0dHZW9tZXRyeU5vZGU+CiAjaW5jbHVkZSA8UXRRdWljay9RU0dNYXRl
cmlhbD4KKyNpbmNsdWRlIDxRdFF1aWNrL1FTR1NpbXBsZVJlY3ROb2RlPgogI2luY2x1ZGUgPHBy
aXZhdGUvcXNncmVuZGVybm9kZV9wLmg+CiAKIFFRdWlja1dlYlBhZ2U6OlFRdWlja1dlYlBhZ2Uo
UVF1aWNrV2ViVmlldyogdmlld3BvcnRJdGVtKQpAQCAtODAsOCArODEsOSBAQCB2b2lkIFFRdWlj
a1dlYlBhZ2VQcml2YXRlOjpwYWludChRUGFpbnRlciogcGFpbnRlcikKICAgICAgICAgd2ViUGFn
ZVByb3h5LT5kcmF3aW5nQXJlYSgpLT5wYWludExheWVyVHJlZShwYWludGVyKTsKIH0KIAotc3Ry
dWN0IFBhZ2VQcm94eU5vZGUgOiBwdWJsaWMgUVNHUmVuZGVyTm9kZSB7Ci0gICAgUGFnZVByb3h5
Tm9kZShQYXNzUmVmUHRyPFdlYkxheWVyVHJlZVJlbmRlcmVyPiByZW5kZXJlcikKK2NsYXNzIENv
bnRlbnRzU0dOb2RlIDogcHVibGljIFFTR1JlbmRlck5vZGUgeworcHVibGljOgorICAgIENvbnRl
bnRzU0dOb2RlKFBhc3NSZWZQdHI8V2ViTGF5ZXJUcmVlUmVuZGVyZXI+IHJlbmRlcmVyKQogICAg
ICAgICA6IG1fcmVuZGVyZXIocmVuZGVyZXIpCiAgICAgICAgICwgbV9zY2FsZSgxKQogICAgIHsK
QEAgLTEwNCw3ICsxMDYsNyBAQCBzdHJ1Y3QgUGFnZVByb3h5Tm9kZSA6IHB1YmxpYyBRU0dSZW5k
ZXJOb2RlIHsKICAgICAgICAgbGF5ZXJUcmVlUmVuZGVyZXIoKS0+cGFpbnRUb0N1cnJlbnRHTENv
bnRleHQocmVuZGVyTWF0cml4LCBpbmhlcml0ZWRPcGFjaXR5KCksIGNsaXBSZWN0KCkpOwogICAg
IH0KIAotICAgIH5QYWdlUHJveHlOb2RlKCkKKyAgICB+Q29udGVudHNTR05vZGUoKQogICAgIHsK
ICAgICAgICAgbGF5ZXJUcmVlUmVuZGVyZXIoKS0+cHVyZ2VHTFJlc291cmNlcygpOwogICAgIH0K
QEAgLTE1OCw2ICsxNjAsMjkgQEAgcHJpdmF0ZToKICAgICBmbG9hdCBtX3NjYWxlOwogfTsKIAor
Y2xhc3MgQmFja2dyb3VuZFNHTm9kZSA6IHB1YmxpYyBRU0dTaW1wbGVSZWN0Tm9kZSB7CitwdWJs
aWM6CisgICAgQmFja2dyb3VuZFNHTm9kZSgpCisgICAgICAgIDogbV9jb250ZW50c05vZGUoMCkK
KyAgICB7CisgICAgfQorCisgICAgQ29udGVudHNTR05vZGUqIGNvbnRlbnRzTm9kZShQYXNzUmVm
UHRyPFdlYkxheWVyVHJlZVJlbmRlcmVyPiByZW5kZXJlcikKKyAgICB7CisgICAgICAgIGlmICht
X2NvbnRlbnRzTm9kZSAmJiBtX2NvbnRlbnRzTm9kZS0+bGF5ZXJUcmVlUmVuZGVyZXIoKSA9PSBy
ZW5kZXJlcikKKyAgICAgICAgICAgIHJldHVybiBtX2NvbnRlbnRzTm9kZTsKKworICAgICAgICBk
ZWxldGUgbV9jb250ZW50c05vZGU7CisKKyAgICAgICAgbV9jb250ZW50c05vZGUgPSBuZXcgQ29u
dGVudHNTR05vZGUocmVuZGVyZXIpOworICAgICAgICBhcHBlbmRDaGlsZE5vZGUobV9jb250ZW50
c05vZGUpOworICAgICAgICByZXR1cm4gbV9jb250ZW50c05vZGU7CisgICAgfQorCitwcml2YXRl
OgorICAgIENvbnRlbnRzU0dOb2RlKiBtX2NvbnRlbnRzTm9kZTsKK307CisKIFFTR05vZGUqIFFR
dWlja1dlYlBhZ2U6OnVwZGF0ZVBhaW50Tm9kZShRU0dOb2RlKiBvbGROb2RlLCBVcGRhdGVQYWlu
dE5vZGVEYXRhKikKIHsKICAgICBpZiAoIWQtPndlYlBhZ2VQcm94eS0+ZHJhd2luZ0FyZWEoKSkK
QEAgLTE2NiwyMyArMTkxLDIwIEBAIFFTR05vZGUqIFFRdWlja1dlYlBhZ2U6OnVwZGF0ZVBhaW50
Tm9kZShRU0dOb2RlKiBvbGROb2RlLCBVcGRhdGVQYWludE5vZGVEYXRhKikKICAgICBMYXllclRy
ZWVIb3N0UHJveHkqIGxheWVyVHJlZUhvc3RQcm94eSA9IGQtPndlYlBhZ2VQcm94eS0+ZHJhd2lu
Z0FyZWEoKS0+bGF5ZXJUcmVlSG9zdFByb3h5KCk7CiAgICAgV2ViTGF5ZXJUcmVlUmVuZGVyZXIq
IHJlbmRlcmVyID0gbGF5ZXJUcmVlSG9zdFByb3h5LT5sYXllclRyZWVSZW5kZXJlcigpOwogCi0g
ICAgUGFnZVByb3h5Tm9kZSogbm9kZSA9IHN0YXRpY19jYXN0PFBhZ2VQcm94eU5vZGUqPihvbGRO
b2RlKTsKLQotICAgIGlmIChub2RlICYmIG5vZGUtPmxheWVyVHJlZVJlbmRlcmVyKCkgIT0gcmVu
ZGVyZXIpIHsKLSAgICAgICAgLy8gVGhpcyBtZWFucyB0aGF0IExheWVyVHJlZUhvc3RQcm94eSB3
YXMgZGVsZXRlZCBhbmQgcmVjcmVhdGVkIHdoaWxlIG9sZCBwYWludCBub2RlIHN1cnZpdmVkLgot
ICAgICAgICAvLyBUaGlzIGNvdWxkIGhhcHBlbiBpZiB3ZWIgcHJvY2VzcyBoYXZlIGNyYXNoZWQu
IEluIHRoaXMgY2FzZSB3ZSBoYXZlIHRvIHJlY3JlYXRlIHBhaW50IG5vZGUuCi0gICAgICAgIGRl
bGV0ZSBub2RlOwotICAgICAgICBub2RlID0gMDsKLSAgICB9Ci0KKyAgICBCYWNrZ3JvdW5kU0dO
b2RlKiBiYWNrZ3JvdW5kTm9kZSA9IHN0YXRpY19jYXN0PEJhY2tncm91bmRTR05vZGUqPihvbGRO
b2RlKTsKKyAgICBpZiAoIWJhY2tncm91bmROb2RlKQorICAgICAgICBiYWNrZ3JvdW5kTm9kZSA9
IG5ldyBCYWNrZ3JvdW5kU0dOb2RlKCk7CisgICAgQ29udGVudHNTR05vZGUqIGNvbnRlbnRzTm9k
ZSA9IGJhY2tncm91bmROb2RlLT5jb250ZW50c05vZGUocmVuZGVyZXIpOwogICAgIHJlbmRlcmVy
LT5zeW5jUmVtb3RlQ29udGVudCgpOwogCi0gICAgaWYgKCFub2RlKQotICAgICAgICBub2RlID0g
bmV3IFBhZ2VQcm94eU5vZGUocmVuZGVyZXIpOworICAgIGNvbnRlbnRzTm9kZS0+c2V0U2NhbGUo
ZC0+Y29udGVudHNTY2FsZSk7CiAKLSAgICBub2RlLT5zZXRTY2FsZShkLT5jb250ZW50c1NjYWxl
KTsKKyAgICBRQ29sb3IgYmFja2dyb3VuZENvbG9yID0gZC0+d2ViUGFnZVByb3h5LT5kcmF3c1Ry
YW5zcGFyZW50QmFja2dyb3VuZCgpID8gUXQ6OnRyYW5zcGFyZW50IDogUXQ6OndoaXRlOworICAg
IFFSZWN0RiBiYWNrZ3JvdW5kUmVjdCgwLCAwLCBkLT5jb250ZW50c1NpemUud2lkdGgoKSAqIGQt
PmNvbnRlbnRzU2NhbGUsIGQtPmNvbnRlbnRzU2l6ZS5oZWlnaHQoKSAqIGQtPmNvbnRlbnRzU2Nh
bGUpOworICAgIGJhY2tncm91bmROb2RlLT5zZXRDb2xvcihiYWNrZ3JvdW5kQ29sb3IpOworICAg
IGJhY2tncm91bmROb2RlLT5zZXRSZWN0KGJhY2tncm91bmRSZWN0KTsKIAotICAgIHJldHVybiBu
b2RlOworICAgIHJldHVybiBiYWNrZ3JvdW5kTm9kZTsKIH0KIAogUXRXZWJQYWdlRXZlbnRIYW5k
bGVyKiBRUXVpY2tXZWJQYWdlOjpldmVudEhhbmRsZXIoKSBjb25zdAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132499</attachid>
            <date>2012-03-18 11:44:04 -0700</date>
            <delta_ts>2012-03-18 15:52:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch2.diff</filename>
            <type>text/plain</type>
            <size>13524</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA2NmZiMDY1Li4xMTBiMzBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjMg
QEAKIDIwMTItMDMtMTYgIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNv
bT4KIAorICAgICAgICBbUXRdW1dLMl0gQXZvaWQgdXNhZ2Ugb2YgbWFudWFsIHNjYWxpbmcgaW4g
dGhlIFF0IHNjZW5lZ3JhcGggaW50ZWdyYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMzY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24g
SGF1c21hbm4uCisKKyAgICAgICAgTW92ZWQgdGhlIFF0U2NlbmVncmFwaCBpbnRlZ3JhdGlvbiBj
bGFzc2VzIHRvIGEgc2VwYXJhdGUgZmlsZSwKKyAgICAgICAgUXRXZWJQYWdlU0dOb2RlLiBUaGUg
bm9kZXMgY3JlYXRlZCBmb3IgUVF1aWNrV2ViUGFnZSBub3cgaW5jbHVkZQorICAgICAgICBhIFFT
R1RyYW5zZm9ybU5vZGUgdGhhdCBjb250cm9scyB0aGUgY29udGVudHNTY2FsZSwgYSAKKyAgICAg
ICAgUVNHU2ltcGxlUmVjdE5vZGUgdGhhdCBjb250cm9scyB0aGUgYmFja2dyb3VuZCBjb2xvciwg
YW5kIGEKKyAgICAgICAgUVNHUmVuZGVyTm9kZSBzdWJjbGFzcyB0aGF0IHJlbmRlcnMgdGhlIGFj
dHVhbCBjb250ZW50cy4KKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvcXQvcXF1aWNrd2VicGFnZS5jcHA6CisgICAgICAgIChRUXVpY2tXZWJQYWdlOjp1cGRh
dGVQYWludE5vZGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VTR05vZGUuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvUXRXZWJQYWdlU0dOb2RlLmg6IEFkZGVk
LgorCisyMDEyLTAzLTE2ICBObydhbSBSb3NlbnRoYWwgIDxub2FtLnJvc2VudGhhbEBub2tpYS5j
b20+CisKICAgICAgICAgW1F0XSBUaGUgYmFja2dyb3VuZCBpcyB2aXNpYmxlIGZvciB0aWxlcyBp
bnNpZGUgdGhlIGNvbnRlbnRzIGFyZWEgd2hpY2ggYXJlIG5vdCByZWFkeQogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODEzNDkKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkKaW5k
ZXggNTk2ODIzNy4uNTgxYzBlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVGFyZ2V0LnBy
aQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCkBAIC0yNzMsNiArMjczLDcgQEAgSEVB
REVSUyArPSBcCiAgICAgVUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5oIFwKICAgICBVSVByb2Nl
c3MvcXQvUXRXZWJQYWdlTG9hZENsaWVudC5oIFwKICAgICBVSVByb2Nlc3MvcXQvUXRXZWJQYWdl
UG9saWN5Q2xpZW50LmggXAorICAgIFVJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VTR05vZGUuaCBcCiAg
ICAgVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVVJQ2xpZW50LmggXAogICAgIFVJUHJvY2Vzcy9xdC9R
dEZsaWNrUHJvdmlkZXIuaCBcCiAgICAgVUlQcm9jZXNzL3F0L1F0Vmlld3BvcnRJbnRlcmFjdGlv
bkVuZ2luZS5oIFwKQEAgLTYwOCw2ICs2MDksNyBAQCBTT1VSQ0VTICs9IFwKICAgICBVSVByb2Nl
c3MvcXQvUXRQYWdlQ2xpZW50LmNwcCBcCiAgICAgVUlQcm9jZXNzL3F0L1F0V2ViUGFnZUxvYWRD
bGllbnQuY3BwIFwKICAgICBVSVByb2Nlc3MvcXQvUXRXZWJQYWdlUG9saWN5Q2xpZW50LmNwcCBc
CisgICAgVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVNHTm9kZS5jcHAgXAogICAgIFVJUHJvY2Vzcy9x
dC9RdFdlYlBhZ2VVSUNsaWVudC5jcHAgXAogICAgIFVJUHJvY2Vzcy9xdC9UZXh0Q2hlY2tlclF0
LmNwcCBcCiAgICAgVUlQcm9jZXNzL3F0L1F0RmxpY2tQcm92aWRlci5jcHAgXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJwYWdlLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2VicGFnZS5jcHAKaW5kZXggMTcw
NmQwNC4uMzMyZDAyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9x
dC9xcXVpY2t3ZWJwYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0
L3FxdWlja3dlYnBhZ2UuY3BwCkBAIC0yMywxNiArMjMsMTIgQEAKIAogI2luY2x1ZGUgIkxheWVy
VHJlZUhvc3RQcm94eS5oIgogI2luY2x1ZGUgIlF0V2ViUGFnZUV2ZW50SGFuZGxlci5oIgorI2lu
Y2x1ZGUgIlF0V2ViUGFnZVNHTm9kZS5oIgogI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0cml4
LmgiCiAjaW5jbHVkZSAiV2ViTGF5ZXJUcmVlUmVuZGVyZXIuaCIKICNpbmNsdWRlICJxcXVpY2t3
ZWJwYWdlX3BfcC5oIgogI2luY2x1ZGUgInFxdWlja3dlYnZpZXdfcC5oIgotI2luY2x1ZGUgPFFQ
b2x5Z29uRj4KICNpbmNsdWRlIDxRdFF1aWNrL1FRdWlja0NhbnZhcz4KLSNpbmNsdWRlIDxRdFF1
aWNrL1FTR0dlb21ldHJ5Tm9kZT4KLSNpbmNsdWRlIDxRdFF1aWNrL1FTR01hdGVyaWFsPgotI2lu
Y2x1ZGUgPFF0UXVpY2svUVNHU2ltcGxlUmVjdE5vZGU+Ci0jaW5jbHVkZSA8cHJpdmF0ZS9xc2dy
ZW5kZXJub2RlX3AuaD4KIAogUVF1aWNrV2ViUGFnZTo6UVF1aWNrV2ViUGFnZShRUXVpY2tXZWJW
aWV3KiB2aWV3cG9ydEl0ZW0pCiAgICAgOiBRUXVpY2tJdGVtKHZpZXdwb3J0SXRlbSkKQEAgLTgx
LDEwOCArNzcsNiBAQCB2b2lkIFFRdWlja1dlYlBhZ2VQcml2YXRlOjpwYWludChRUGFpbnRlciog
cGFpbnRlcikKICAgICAgICAgd2ViUGFnZVByb3h5LT5kcmF3aW5nQXJlYSgpLT5wYWludExheWVy
VHJlZShwYWludGVyKTsKIH0KIAotY2xhc3MgQ29udGVudHNTR05vZGUgOiBwdWJsaWMgUVNHUmVu
ZGVyTm9kZSB7Ci1wdWJsaWM6Ci0gICAgQ29udGVudHNTR05vZGUoUGFzc1JlZlB0cjxXZWJMYXll
clRyZWVSZW5kZXJlcj4gcmVuZGVyZXIpCi0gICAgICAgIDogbV9yZW5kZXJlcihyZW5kZXJlcikK
LSAgICAgICAgLCBtX3NjYWxlKDEpCi0gICAgewotICAgIH0KLQotICAgIHZpcnR1YWwgU3RhdGVG
bGFncyBjaGFuZ2VkU3RhdGVzKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBTdGF0ZUZsYWdzKFN0
ZW5jaWxTdGF0ZSkgfCBDb2xvclN0YXRlIHwgQmxlbmRTdGF0ZTsKLSAgICB9Ci0KLSAgICB2aXJ0
dWFsIHZvaWQgcmVuZGVyKGNvbnN0IFJlbmRlclN0YXRlJikKLSAgICB7Ci0gICAgICAgIFFNYXRy
aXg0eDQgcmVuZGVyTWF0cml4ID0gbWF0cml4KCkgPyAqbWF0cml4KCkgOiBRTWF0cml4NHg0KCk7
Ci0KLSAgICAgICAgLy8gSGF2ZSB0byBhcHBseSByZW5kZXIgc2NhbGUgbWFudWFseSBiZWNhdXNl
IGl0IGlzIG5vdCBhcHBsaWVkIG9uIHBhZ2UgaXRlbS4KLSAgICAgICAgLy8gaHR0cDovL3RyYWMu
d2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTA0NDUwCi0gICAgICAgIHJlbmRlck1hdHJpeC5zY2FsZSht
X3NjYWxlKTsKLQotICAgICAgICAvLyBGSVhNRTogU3VwcG9ydCBub24tcmVjdGFuZ3VsYXIgY2xp
cHBpbmdzLgotICAgICAgICBsYXllclRyZWVSZW5kZXJlcigpLT5wYWludFRvQ3VycmVudEdMQ29u
dGV4dChyZW5kZXJNYXRyaXgsIGluaGVyaXRlZE9wYWNpdHkoKSwgY2xpcFJlY3QoKSk7Ci0gICAg
fQotCi0gICAgfkNvbnRlbnRzU0dOb2RlKCkKLSAgICB7Ci0gICAgICAgIGxheWVyVHJlZVJlbmRl
cmVyKCktPnB1cmdlR0xSZXNvdXJjZXMoKTsKLSAgICB9Ci0KLSAgICBXZWJMYXllclRyZWVSZW5k
ZXJlciogbGF5ZXJUcmVlUmVuZGVyZXIoKSBjb25zdCB7IHJldHVybiBtX3JlbmRlcmVyLmdldCgp
OyB9Ci0gICAgdm9pZCBzZXRTY2FsZShmbG9hdCBzY2FsZSkgeyBtX3NjYWxlID0gc2NhbGU7IH0K
LQotcHJpdmF0ZToKLSAgICBRUmVjdEYgY2xpcFJlY3QoKSBjb25zdAotICAgIHsKLSAgICAgICAg
Ly8gU3RhcnQgd2l0aCBhbiBpbnZhbGlkIHJlY3QuCi0gICAgICAgIFFSZWN0RiByZXN1bHRSZWN0
KDAsIDAsIC0xLCAtMSk7Ci0KLSAgICAgICAgZm9yIChjb25zdCBRU0dDbGlwTm9kZSogY2xpcCA9
IGNsaXBMaXN0KCk7IGNsaXA7IGNsaXAgPSBjbGlwLT5jbGlwTGlzdCgpKSB7Ci0gICAgICAgICAg
ICBRTWF0cml4NHg0IGNsaXBNYXRyaXg7Ci0gICAgICAgICAgICBpZiAoY2xpcC0+bWF0cml4KCkp
Ci0gICAgICAgICAgICAgICAgY2xpcE1hdHJpeCA9ICpjbGlwLT5tYXRyaXgoKTsKLSAgICAgICAg
ICAgIFFSZWN0RiBjdXJyZW50Q2xpcDsKLQotICAgICAgICAgICAgaWYgKGNsaXAtPmlzUmVjdGFu
Z3VsYXIoKSkKLSAgICAgICAgICAgICAgICBjdXJyZW50Q2xpcCA9IGNsaXBNYXRyaXgubWFwUmVj
dChjbGlwLT5jbGlwUmVjdCgpKTsKLSAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAg
IGNvbnN0IFFTR0dlb21ldHJ5KiBnZW9tZXRyeSA9IGNsaXAtPmdlb21ldHJ5KCk7Ci0gICAgICAg
ICAgICAgICAgLy8gQXNzdW1lIGhlcmUgdGhhdCBjbGlwTm9kZSBoYXMgb25seSBjb29yZGluYXRl
IGRhdGEuCi0gICAgICAgICAgICAgICAgY29uc3QgUVNHR2VvbWV0cnk6OlBvaW50MkQqIGdlb21l
dHJ5UG9pbnRzID0gZ2VvbWV0cnktPnZlcnRleERhdGFBc1BvaW50MkQoKTsKLQotICAgICAgICAg
ICAgICAgIC8vIENsaXAgcmVnaW9uIHNob3VsZCBiZSBhdCBsZWFzdCB0cmlhbmdsZSB0byBtYWtl
IHZhbGlkIGNsaXAuCi0gICAgICAgICAgICAgICAgaWYgKGdlb21ldHJ5LT52ZXJ0ZXhDb3VudCgp
IDwgMykKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgICAgICAgICBR
UG9seWdvbkYgcG9seWdvbjsKLQotICAgICAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwg
Z2VvbWV0cnktPnZlcnRleENvdW50KCk7IGkrKykKLSAgICAgICAgICAgICAgICAgICAgcG9seWdv
bi5hcHBlbmQoY2xpcE1hdHJpeC5tYXAoUVBvaW50KGdlb21ldHJ5UG9pbnRzW2ldLngsIGdlb21l
dHJ5UG9pbnRzW2ldLnkpKSk7Ci0gICAgICAgICAgICAgICAgY3VycmVudENsaXAgPSBwb2x5Z29u
LmJvdW5kaW5nUmVjdCgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoY3VycmVu
dENsaXAuaXNFbXB0eSgpKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgICAg
ICBpZiAocmVzdWx0UmVjdC5pc1ZhbGlkKCkpCi0gICAgICAgICAgICAgICAgcmVzdWx0UmVjdCAm
PSBjdXJyZW50Q2xpcDsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICByZXN1bHRS
ZWN0ID0gY3VycmVudENsaXA7Ci0gICAgICAgIH0KLQotICAgICAgICByZXR1cm4gcmVzdWx0UmVj
dDsKLSAgICB9Ci0KLSAgICBSZWZQdHI8V2ViTGF5ZXJUcmVlUmVuZGVyZXI+IG1fcmVuZGVyZXI7
Ci0gICAgZmxvYXQgbV9zY2FsZTsKLX07Ci0KLWNsYXNzIEJhY2tncm91bmRTR05vZGUgOiBwdWJs
aWMgUVNHU2ltcGxlUmVjdE5vZGUgewotcHVibGljOgotICAgIEJhY2tncm91bmRTR05vZGUoKQot
ICAgICAgICA6IG1fY29udGVudHNOb2RlKDApCi0gICAgewotICAgIH0KLQotICAgIENvbnRlbnRz
U0dOb2RlKiBjb250ZW50c05vZGUoUGFzc1JlZlB0cjxXZWJMYXllclRyZWVSZW5kZXJlcj4gcmVu
ZGVyZXIpCi0gICAgewotICAgICAgICBpZiAobV9jb250ZW50c05vZGUgJiYgbV9jb250ZW50c05v
ZGUtPmxheWVyVHJlZVJlbmRlcmVyKCkgPT0gcmVuZGVyZXIpCi0gICAgICAgICAgICByZXR1cm4g
bV9jb250ZW50c05vZGU7Ci0KLSAgICAgICAgZGVsZXRlIG1fY29udGVudHNOb2RlOwotCi0gICAg
ICAgIG1fY29udGVudHNOb2RlID0gbmV3IENvbnRlbnRzU0dOb2RlKHJlbmRlcmVyKTsKLSAgICAg
ICAgYXBwZW5kQ2hpbGROb2RlKG1fY29udGVudHNOb2RlKTsKLSAgICAgICAgcmV0dXJuIG1fY29u
dGVudHNOb2RlOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBDb250ZW50c1NHTm9kZSogbV9jb250
ZW50c05vZGU7Ci19OwotCiBRU0dOb2RlKiBRUXVpY2tXZWJQYWdlOjp1cGRhdGVQYWludE5vZGUo
UVNHTm9kZSogb2xkTm9kZSwgVXBkYXRlUGFpbnROb2RlRGF0YSopCiB7CiAgICAgaWYgKCFkLT53
ZWJQYWdlUHJveHktPmRyYXdpbmdBcmVhKCkpCkBAIC0xOTEsMjAgKzg1LDE4IEBAIFFTR05vZGUq
IFFRdWlja1dlYlBhZ2U6OnVwZGF0ZVBhaW50Tm9kZShRU0dOb2RlKiBvbGROb2RlLCBVcGRhdGVQ
YWludE5vZGVEYXRhKikKICAgICBMYXllclRyZWVIb3N0UHJveHkqIGxheWVyVHJlZUhvc3RQcm94
eSA9IGQtPndlYlBhZ2VQcm94eS0+ZHJhd2luZ0FyZWEoKS0+bGF5ZXJUcmVlSG9zdFByb3h5KCk7
CiAgICAgV2ViTGF5ZXJUcmVlUmVuZGVyZXIqIHJlbmRlcmVyID0gbGF5ZXJUcmVlSG9zdFByb3h5
LT5sYXllclRyZWVSZW5kZXJlcigpOwogCi0gICAgQmFja2dyb3VuZFNHTm9kZSogYmFja2dyb3Vu
ZE5vZGUgPSBzdGF0aWNfY2FzdDxCYWNrZ3JvdW5kU0dOb2RlKj4ob2xkTm9kZSk7Ci0gICAgaWYg
KCFiYWNrZ3JvdW5kTm9kZSkKLSAgICAgICAgYmFja2dyb3VuZE5vZGUgPSBuZXcgQmFja2dyb3Vu
ZFNHTm9kZSgpOwotICAgIENvbnRlbnRzU0dOb2RlKiBjb250ZW50c05vZGUgPSBiYWNrZ3JvdW5k
Tm9kZS0+Y29udGVudHNOb2RlKHJlbmRlcmVyKTsKKyAgICBRdFdlYlBhZ2VTR05vZGUqIG5vZGUg
PSBzdGF0aWNfY2FzdDxRdFdlYlBhZ2VTR05vZGUqPihvbGROb2RlKTsKKyAgICBpZiAoIW5vZGUp
CisgICAgICAgIG5vZGUgPSBuZXcgUXRXZWJQYWdlU0dOb2RlKCk7CisgICAgbm9kZS0+c2V0UmVu
ZGVyZXIocmVuZGVyZXIpOwogICAgIHJlbmRlcmVyLT5zeW5jUmVtb3RlQ29udGVudCgpOwogCi0g
ICAgY29udGVudHNOb2RlLT5zZXRTY2FsZShkLT5jb250ZW50c1NjYWxlKTsKLQorICAgIG5vZGUt
PnNldFNjYWxlKGQtPmNvbnRlbnRzU2NhbGUpOwogICAgIFFDb2xvciBiYWNrZ3JvdW5kQ29sb3Ig
PSBkLT53ZWJQYWdlUHJveHktPmRyYXdzVHJhbnNwYXJlbnRCYWNrZ3JvdW5kKCkgPyBRdDo6dHJh
bnNwYXJlbnQgOiBRdDo6d2hpdGU7Ci0gICAgUVJlY3RGIGJhY2tncm91bmRSZWN0KDAsIDAsIGQt
PmNvbnRlbnRzU2l6ZS53aWR0aCgpICogZC0+Y29udGVudHNTY2FsZSwgZC0+Y29udGVudHNTaXpl
LmhlaWdodCgpICogZC0+Y29udGVudHNTY2FsZSk7Ci0gICAgYmFja2dyb3VuZE5vZGUtPnNldENv
bG9yKGJhY2tncm91bmRDb2xvcik7Ci0gICAgYmFja2dyb3VuZE5vZGUtPnNldFJlY3QoYmFja2dy
b3VuZFJlY3QpOworICAgIFFSZWN0RiBiYWNrZ3JvdW5kUmVjdChRUG9pbnRGKDAsIDApLCBkLT5j
b250ZW50c1NpemUpOworICAgIG5vZGUtPnNldEJhY2tncm91bmQoYmFja2dyb3VuZFJlY3QsIGJh
Y2tncm91bmRDb2xvcik7CiAKLSAgICByZXR1cm4gYmFja2dyb3VuZE5vZGU7CisgICAgcmV0dXJu
IG5vZGU7CiB9CiAKIFF0V2ViUGFnZUV2ZW50SGFuZGxlciogUVF1aWNrV2ViUGFnZTo6ZXZlbnRI
YW5kbGVyKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9R
dFdlYlBhZ2VTR05vZGUuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFn
ZVNHTm9kZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTFlNTgyZAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VT
R05vZGUuY3BwCkBAIC0wLDAgKzEsMTMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIE5v
a2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICoKKyAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
KyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv
b3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIlF0V2ViUGFnZVNHTm9kZS5oIgorCisjaW5jbHVkZSAiV2Vi
TGF5ZXJUcmVlUmVuZGVyZXIuaCIKKyNpbmNsdWRlIDxRdEd1aS9RUG9seWdvbkY+CisjaW5jbHVk
ZSA8UXRRdWljay9RU0dTaW1wbGVSZWN0Tm9kZT4KKyNpbmNsdWRlIDxwcml2YXRlL3FzZ3JlbmRl
cm5vZGVfcC5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgQ29udGVudHNTR05vZGUg
OiBwdWJsaWMgUVNHUmVuZGVyTm9kZSB7CitwdWJsaWM6CisgICAgQ29udGVudHNTR05vZGUoUGFz
c1JlZlB0cjxXZWJMYXllclRyZWVSZW5kZXJlcj4gcmVuZGVyZXIpCisgICAgICAgIDogbV9yZW5k
ZXJlcihyZW5kZXJlcikKKyAgICB7CisgICAgfQorCisgICAgdmlydHVhbCBTdGF0ZUZsYWdzIGNo
YW5nZWRTdGF0ZXMoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFN0YXRlRmxhZ3MoU3RlbmNpbFN0
YXRlKSB8IENvbG9yU3RhdGUgfCBCbGVuZFN0YXRlOworICAgIH0KKworICAgIHZpcnR1YWwgdm9p
ZCByZW5kZXIoY29uc3QgUmVuZGVyU3RhdGUmKQorICAgIHsKKyAgICAgICAgUU1hdHJpeDR4NCBy
ZW5kZXJNYXRyaXggPSBtYXRyaXgoKSA/ICptYXRyaXgoKSA6IFFNYXRyaXg0eDQoKTsKKworICAg
ICAgICAvLyBGSVhNRTogU3VwcG9ydCBub24tcmVjdGFuZ3VsYXIgY2xpcHBpbmdzLgorICAgICAg
ICBsYXllclRyZWVSZW5kZXJlcigpLT5wYWludFRvQ3VycmVudEdMQ29udGV4dChyZW5kZXJNYXRy
aXgsIGluaGVyaXRlZE9wYWNpdHkoKSwgY2xpcFJlY3QoKSk7CisgICAgfQorCisgICAgfkNvbnRl
bnRzU0dOb2RlKCkKKyAgICB7CisgICAgICAgIGxheWVyVHJlZVJlbmRlcmVyKCktPnB1cmdlR0xS
ZXNvdXJjZXMoKTsKKyAgICB9CisKKyAgICBXZWJMYXllclRyZWVSZW5kZXJlciogbGF5ZXJUcmVl
UmVuZGVyZXIoKSBjb25zdCB7IHJldHVybiBtX3JlbmRlcmVyLmdldCgpOyB9CisKK3ByaXZhdGU6
CisgICAgUVJlY3RGIGNsaXBSZWN0KCkgY29uc3QKKyAgICB7CisgICAgICAgIC8vIFN0YXJ0IHdp
dGggYW4gaW52YWxpZCByZWN0LgorICAgICAgICBRUmVjdEYgcmVzdWx0UmVjdCgwLCAwLCAtMSwg
LTEpOworCisgICAgICAgIGZvciAoY29uc3QgUVNHQ2xpcE5vZGUqIGNsaXAgPSBjbGlwTGlzdCgp
OyBjbGlwOyBjbGlwID0gY2xpcC0+Y2xpcExpc3QoKSkgeworICAgICAgICAgICAgUU1hdHJpeDR4
NCBjbGlwTWF0cml4OworICAgICAgICAgICAgaWYgKGNsaXAtPm1hdHJpeCgpKQorICAgICAgICAg
ICAgICAgIGNsaXBNYXRyaXggPSAqY2xpcC0+bWF0cml4KCk7CisgICAgICAgICAgICBRUmVjdEYg
Y3VycmVudENsaXA7CisKKyAgICAgICAgICAgIGlmIChjbGlwLT5pc1JlY3Rhbmd1bGFyKCkpCisg
ICAgICAgICAgICAgICAgY3VycmVudENsaXAgPSBjbGlwTWF0cml4Lm1hcFJlY3QoY2xpcC0+Y2xp
cFJlY3QoKSk7CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICBjb25zdCBRU0dH
ZW9tZXRyeSogZ2VvbWV0cnkgPSBjbGlwLT5nZW9tZXRyeSgpOworICAgICAgICAgICAgICAgIC8v
IEFzc3VtZSBoZXJlIHRoYXQgY2xpcE5vZGUgaGFzIG9ubHkgY29vcmRpbmF0ZSBkYXRhLgorICAg
ICAgICAgICAgICAgIGNvbnN0IFFTR0dlb21ldHJ5OjpQb2ludDJEKiBnZW9tZXRyeVBvaW50cyA9
IGdlb21ldHJ5LT52ZXJ0ZXhEYXRhQXNQb2ludDJEKCk7CisKKyAgICAgICAgICAgICAgICAvLyBD
bGlwIHJlZ2lvbiBzaG91bGQgYmUgYXQgbGVhc3QgdHJpYW5nbGUgdG8gbWFrZSB2YWxpZCBjbGlw
LgorICAgICAgICAgICAgICAgIGlmIChnZW9tZXRyeS0+dmVydGV4Q291bnQoKSA8IDMpCisgICAg
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICAgICAgUVBvbHlnb25GIHBv
bHlnb247CisKKyAgICAgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGdlb21ldHJ5LT52
ZXJ0ZXhDb3VudCgpOyBpKyspCisgICAgICAgICAgICAgICAgICAgIHBvbHlnb24uYXBwZW5kKGNs
aXBNYXRyaXgubWFwKFFQb2ludChnZW9tZXRyeVBvaW50c1tpXS54LCBnZW9tZXRyeVBvaW50c1tp
XS55KSkpOworICAgICAgICAgICAgICAgIGN1cnJlbnRDbGlwID0gcG9seWdvbi5ib3VuZGluZ1Jl
Y3QoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKGN1cnJlbnRDbGlwLmlzRW1w
dHkoKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgaWYgKHJlc3Vs
dFJlY3QuaXNWYWxpZCgpKQorICAgICAgICAgICAgICAgIHJlc3VsdFJlY3QgJj0gY3VycmVudENs
aXA7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgcmVzdWx0UmVjdCA9IGN1cnJl
bnRDbGlwOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHJlc3VsdFJlY3Q7CisgICAgfQor
CisgICAgUmVmUHRyPFdlYkxheWVyVHJlZVJlbmRlcmVyPiBtX3JlbmRlcmVyOworfTsKKworUXRX
ZWJQYWdlU0dOb2RlOjpRdFdlYlBhZ2VTR05vZGUoKQorICAgIDogbV9jb250ZW50c05vZGUoMCkK
KyAgICAsIG1fYmFja2dyb3VuZE5vZGUobmV3IFFTR1NpbXBsZVJlY3ROb2RlKQoreworICAgIGFw
cGVuZENoaWxkTm9kZShtX2JhY2tncm91bmROb2RlKTsKK30KKwordm9pZCBRdFdlYlBhZ2VTR05v
ZGU6OnNldEJhY2tncm91bmQoY29uc3QgUVJlY3RGJiByZWN0LCBjb25zdCBRQ29sb3ImIGNvbG9y
KQoreworICAgIG1fYmFja2dyb3VuZE5vZGUtPnNldFJlY3QocmVjdCk7CisgICAgbV9iYWNrZ3Jv
dW5kTm9kZS0+c2V0Q29sb3IoY29sb3IpOworfQorCit2b2lkIFF0V2ViUGFnZVNHTm9kZTo6c2V0
U2NhbGUoZmxvYXQgc2NhbGUpCit7CisgICAgUU1hdHJpeDR4NCBtYXRyaXg7CisgICAgbWF0cml4
LnNjYWxlKHNjYWxlKTsKKyAgICBzZXRNYXRyaXgobWF0cml4KTsKK30KKwordm9pZCBRdFdlYlBh
Z2VTR05vZGU6OnNldFJlbmRlcmVyKFBhc3NSZWZQdHI8V2ViTGF5ZXJUcmVlUmVuZGVyZXI+IHJl
bmRlcmVyKQoreworICAgIGlmIChtX2NvbnRlbnRzTm9kZSAmJiBtX2NvbnRlbnRzTm9kZS0+bGF5
ZXJUcmVlUmVuZGVyZXIoKSA9PSByZW5kZXJlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgZGVs
ZXRlIG1fY29udGVudHNOb2RlOworICAgIG1fY29udGVudHNOb2RlID0gbmV3IENvbnRlbnRzU0dO
b2RlKHJlbmRlcmVyKTsKKyAgICBhcHBlbmRDaGlsZE5vZGUobV9jb250ZW50c05vZGUpOworfQor
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlU0dO
b2RlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlU0dOb2RlLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDdiOTIyNAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VTR05vZGUuaApAQCAtMCww
ICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIE5va2lhIENvcnBvcmF0aW9uIGFu
ZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2lmbmRlZiBRdFdlYlBhZ2VTR05vZGVfaAor
I2RlZmluZSBRdFdlYlBhZ2VTR05vZGVfaAorCisjaW5jbHVkZSAiUGFzc1JlZlB0ci5oIgorI2lu
Y2x1ZGUgPFF0UXVpY2svUVNHVHJhbnNmb3JtTm9kZT4KK2NsYXNzIFFTR1NpbXBsZVJlY3ROb2Rl
OworCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgQ29udGVudHNTR05vZGU7CitjbGFzcyBX
ZWJMYXllclRyZWVSZW5kZXJlcjsKKworY2xhc3MgUXRXZWJQYWdlU0dOb2RlIDogcHVibGljIFFT
R1RyYW5zZm9ybU5vZGUgeworICAgIHB1YmxpYzoKKyAgICAgICAgUXRXZWJQYWdlU0dOb2RlKCk7
CisgICAgICAgIHZvaWQgc2V0QmFja2dyb3VuZChjb25zdCBRUmVjdEYmLCBjb25zdCBRQ29sb3Im
KTsKKyAgICAgICAgdm9pZCBzZXRTY2FsZShmbG9hdCk7CisgICAgICAgIHZvaWQgc2V0UmVuZGVy
ZXIoUGFzc1JlZlB0cjxXZWJMYXllclRyZWVSZW5kZXJlcj4pOworCisgICAgcHJpdmF0ZToKKyAg
ICAgICAgQ29udGVudHNTR05vZGUqIG1fY29udGVudHNOb2RlOworICAgICAgICBRU0dTaW1wbGVS
ZWN0Tm9kZSogbV9iYWNrZ3JvdW5kTm9kZTsKKyAgICB9OworfQorCisjZW5kaWYgLyogUXRXZWJQ
YWdlU0dOb2RlX2ggKi8K
</data>

          </attachment>
      

    </bug>

</bugzilla>