<?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>106012</bug_id>
          
          <creation_ts>2013-01-03 06:09:14 -0800</creation_ts>
          <short_desc>[SOUP] Convert WebSoupRequestManagerProxy to be WebContextSupplement</short_desc>
          <delta_ts>2013-01-04 01:08:22 -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>WebKit2</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>Gtk, Soup</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Carlos Garcia Campos">cgarcia</assigned_to>
          <cc>andersca</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mrobinson</cc>
    
    <cc>rakuco</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>799341</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-01-03 06:09:14 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799343</commentid>
    <comment_count>1</comment_count>
      <attachid>181167</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-01-03 06:11:07 -0800</bug_when>
    <thetext>Created attachment 181167
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799344</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-03 06:12:26 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799400</commentid>
    <comment_count>3</comment_count>
      <attachid>181167</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-01-03 09:13:12 -0800</bug_when>
    <thetext>Comment on attachment 181167
Patch

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

&gt; Source/WebKit2/ChangeLog:7
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=106012
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +

Could use a bit of context here or in the bug about why it makes sense to switch to this to a WebContextSupplement, for posterity.

&gt; Source/WebKit2/UIProcess/soup/WebSoupRequestManagerProxy.cpp:98
&gt; +    if (!context())
&gt; +        return;

What&apos;s the mechanism by which the context becomes NULL. It&apos;s passed in as an argument, so does it become invalid at some point during the lifetime of the object?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799452</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-01-03 10:18:26 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 181167 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=181167&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:7
&gt; &gt; +        https://bugs.webkit.org/show_bug.cgi?id=106012
&gt; &gt; +
&gt; &gt; +        Reviewed by NOBODY (OOPS!).
&gt; &gt; +
&gt; 
&gt; Could use a bit of context here or in the bug about why it makes sense to switch to this to a WebContextSupplement, for posterity.

To make the WebContext code more simple and cleaner, same reaoning as bug #105890, for example.

&gt; &gt; Source/WebKit2/UIProcess/soup/WebSoupRequestManagerProxy.cpp:98
&gt; &gt; +    if (!context())
&gt; &gt; +        return;
&gt; 
&gt; What&apos;s the mechanism by which the context becomes NULL. 

WebContextSupplement::clearContext()

&gt; It&apos;s passed in as an argument, so does it become invalid at some point during the lifetime of the object?

It&apos;s cleared in the WebContext destructor, some supplements have the checks and some other don&apos;t, so I decided to include to be extra sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800044</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-04 00:53:22 -0800</bug_when>
    <thetext>Attachment 181167 was posted by a committer and has review+, assigning to Carlos Garcia Campos for commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800068</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-01-04 01:08:22 -0800</bug_when>
    <thetext>Committed r138783: &lt;http://trac.webkit.org/changeset/138783&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181167</attachid>
            <date>2013-01-03 06:11:07 -0800</date>
            <delta_ts>2013-01-03 11:48:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-soup-request-manager-supplement.diff</filename>
            <type>text/plain</type>
            <size>15270</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA1OTUxZTVhLi5hMjgyMzYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIg
QEAKKzIwMTMtMDEtMDMgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtTT1VQXSBDb252ZXJ0IFdlYlNvdXBSZXF1ZXN0TWFuYWdlclByb3h5IHRv
IGJlIFdlYkNvbnRleHRTdXBwbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDYwMTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9zb3VwL1dLQ29udGV4dFNvdXAuY3Bw
OgorICAgICAgICAoV0tDb250ZXh0R2V0U291cFJlcXVlc3RNYW5hZ2VyKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJDb250ZXh0LmNwcDoKKyAgICAgICAgKGNyZWF0ZURl
ZmF1bHRXZWJDb250ZXh0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29udGV4dC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OldlYkNvbnRleHQpOgorICAgICAgICAoV2ViS2l0
OjpXZWJDb250ZXh0Ojp+V2ViQ29udGV4dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6
OmRpc2Nvbm5lY3RQcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29udGV4dC5oOgor
ICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYkNvbnRleHQpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRp
ZFJlY2VpdmVVUklSZXF1ZXN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRF
ZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjpwbGF0Zm9ybUluaXRpYWxpemVX
ZWJQcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL1dlYkNvbnRleHRHdGsuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNz
KToKKyAgICAgICAgKiBVSVByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXJQcm94eS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNvdXBSZXF1ZXN0TWFuYWdlclByb3h5OjpzdXBwbGVt
ZW50TmFtZSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJTb3VwUmVx
dWVzdE1hbmFnZXJQcm94eTo6V2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHkpOgorICAgICAgICAo
V2ViS2l0OjpXZWJTb3VwUmVxdWVzdE1hbmFnZXJQcm94eTo6aW5pdGlhbGl6ZUNsaWVudCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlNvdXBSZXF1ZXN0TWFuYWdlclByb3h5Ojpjb250ZXh0RGVzdHJv
eWVkKToKKyAgICAgICAgKFdlYktpdDo6V2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHk6OnByb2Nl
c3NEaWRDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNvdXBSZXF1ZXN0TWFuYWdlclByb3h5
OjpyZWZXZWJDb250ZXh0U3VwcGxlbWVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNvdXBSZXF1
ZXN0TWFuYWdlclByb3h5OjpkZXJlZldlYkNvbnRleHRTdXBwbGVtZW50KToKKyAgICAgICAgKFdl
YktpdDo6V2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHk6OnJlZ2lzdGVyVVJJU2NoZW1lKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHk6OmRpZEhhbmRsZVVSSVJl
cXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJTb3VwUmVxdWVzdE1hbmFnZXJQcm94eTo6ZGlk
UmVjZWl2ZVVSSVJlcXVlc3REYXRhKToKKyAgICAgICAgKiBVSVByb2Nlc3Mvc291cC9XZWJTb3Vw
UmVxdWVzdE1hbmFnZXJQcm94eS5oOgorICAgICAgICAoV2ViU291cFJlcXVlc3RNYW5hZ2VyUHJv
eHkpOgorCiAyMDEzLTAxLTAyICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgU3RvcCBwcmV0ZW5kaW5nIGl0cyBwb3NzaWJsZSB0byBydW4gdGhlIFdlYlByb2Nlc3MgaW4g
dGhyZWFkZWQgbW9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L3NvdXAvV0tDb250ZXh0U291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
c291cC9XS0NvbnRleHRTb3VwLmNwcAppbmRleCBlNGU4OGQzLi5mNzU0OWYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mvc291cC9XS0NvbnRleHRTb3VwLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mvc291cC9XS0NvbnRleHRTb3VwLmNw
cApAQCAtMjksMTAgKzI5LDEzIEBACiAjaW5jbHVkZSAiV0tBUElDYXN0LmgiCiAjaW5jbHVkZSAi
V2ViQ29udGV4dC5oIgogCisvLyBTdXBwbGVtZW50cworI2luY2x1ZGUgIldlYlNvdXBSZXF1ZXN0
TWFuYWdlclByb3h5LmgiCisKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIFdLU291cFJlcXVl
c3RNYW5hZ2VyUmVmIFdLQ29udGV4dEdldFNvdXBSZXF1ZXN0TWFuYWdlcihXS0NvbnRleHRSZWYg
Y29udGV4dFJlZikKIHsKLSAgICByZXR1cm4gdG9BUEkodG9JbXBsKGNvbnRleHRSZWYpLT5zb3Vw
UmVxdWVzdE1hbmFnZXJQcm94eSgpKTsKKyAgICByZXR1cm4gdG9BUEkodG9JbXBsKGNvbnRleHRS
ZWYpLT5zdXBwbGVtZW50PFdlYlNvdXBSZXF1ZXN0TWFuYWdlclByb3h5PigpKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViQ29udGV4
dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJDb250ZXh0
LmNwcAppbmRleCBkMTliOTkzLi42NTM4YjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJDb250ZXh0LmNwcApAQCAtMTcyLDcgKzE3Miw3
IEBAIHN0YXRpYyBncG9pbnRlciBjcmVhdGVEZWZhdWx0V2ViQ29udGV4dChncG9pbnRlcikKICAg
ICBXZWJLaXRXZWJDb250ZXh0UHJpdmF0ZSogcHJpdiA9IHdlYkNvbnRleHQtPnByaXY7CiAKICAg
ICBwcml2LT5jb250ZXh0ID0gV2ViQ29udGV4dDo6Y3JlYXRlKFN0cmluZygpKTsKLSAgICBwcml2
LT5yZXF1ZXN0TWFuYWdlciA9IHdlYkNvbnRleHQtPnByaXYtPmNvbnRleHQtPnNvdXBSZXF1ZXN0
TWFuYWdlclByb3h5KCk7CisgICAgcHJpdi0+cmVxdWVzdE1hbmFnZXIgPSB3ZWJDb250ZXh0LT5w
cml2LT5jb250ZXh0LT5zdXBwbGVtZW50PFdlYlNvdXBSZXF1ZXN0TWFuYWdlclByb3h5PigpOwog
ICAgIHByaXYtPmNvbnRleHQtPnNldENhY2hlTW9kZWwoQ2FjaGVNb2RlbFByaW1hcnlXZWJCcm93
c2VyKTsKICAgICBwcml2LT50bHNFcnJvcnNQb2xpY3kgPSBXRUJLSVRfVExTX0VSUk9SU19QT0xJ
Q1lfSUdOT1JFOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29u
dGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKaW5kZXgg
MWRmNWI4Ni4uZjFlMDE3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YkNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNw
cApAQCAtMTY3LDkgKzE2Nyw2IEBAIFdlYkNvbnRleHQ6OldlYkNvbnRleHQoUHJvY2Vzc01vZGVs
IHByb2Nlc3NNb2RlbCwgY29uc3QgU3RyaW5nJiBpbmplY3RlZEJ1bmRsZVBhCiAjaWYgRU5BQkxF
KE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgbV9wbHVnaW5TaXRlRGF0YU1hbmFnZXIgPSBXZWJQ
bHVnaW5TaXRlRGF0YU1hbmFnZXI6OmNyZWF0ZSh0aGlzKTsKICNlbmRpZiAvLyBFTkFCTEUoTkVU
U0NBUEVfUExVR0lOX0FQSSkKLSNpZiBVU0UoU09VUCkKLSAgICBtX3NvdXBSZXF1ZXN0TWFuYWdl
clByb3h5ID0gV2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHk6OmNyZWF0ZSh0aGlzKTsKLSNlbmRp
ZgogCiAgICAgYWRkU3VwcGxlbWVudDxXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlclByb3h5Pigp
OwogICAgIGFkZFN1cHBsZW1lbnQ8V2ViQ29va2llTWFuYWdlclByb3h5PigpOwpAQCAtMTgxLDYg
KzE3OCw5IEBAIFdlYkNvbnRleHQ6OldlYkNvbnRleHQoUHJvY2Vzc01vZGVsIHByb2Nlc3NNb2Rl
bCwgY29uc3QgU3RyaW5nJiBpbmplY3RlZEJ1bmRsZVBhCiAjaWYgRU5BQkxFKFNRTF9EQVRBQkFT
RSkKICAgICBhZGRTdXBwbGVtZW50PFdlYkRhdGFiYXNlTWFuYWdlclByb3h5PigpOwogI2VuZGlm
CisjaWYgVVNFKFNPVVApCisgICAgYWRkU3VwcGxlbWVudDxXZWJTb3VwUmVxdWVzdE1hbmFnZXJQ
cm94eT4oKTsKKyNlbmRpZgogCiAgICAgY29udGV4dHMoKS5hcHBlbmQodGhpcyk7CiAKQEAgLTIz
NiwxMSArMjM2LDYgQEAgV2ViQ29udGV4dDo6fldlYkNvbnRleHQoKQogICAgIG1fcGx1Z2luU2l0
ZURhdGFNYW5hZ2VyLT5jbGVhckNvbnRleHQoKTsKICNlbmRpZgogCi0jaWYgVVNFKFNPVVApCi0g
ICAgbV9zb3VwUmVxdWVzdE1hbmFnZXJQcm94eS0+aW52YWxpZGF0ZSgpOwotICAgIG1fc291cFJl
cXVlc3RNYW5hZ2VyUHJveHktPmNsZWFyQ29udGV4dCgpOwotI2VuZGlmCi0KICAgICBpbnZhbGlk
YXRlQ2FsbGJhY2tNYXAobV9kaWN0aW9uYXJ5Q2FsbGJhY2tzKTsKIAogICAgIHBsYXRmb3JtSW52
YWxpZGF0ZUNvbnRleHQoKTsKQEAgLTY0MSw5ICs2MzYsNiBAQCB2b2lkIFdlYkNvbnRleHQ6OmRp
c2Nvbm5lY3RQcm9jZXNzKFdlYlByb2Nlc3NQcm94eSogcHJvY2VzcykKICNpZiBFTkFCTEUoTkVU
V09SS19JTkZPKQogICAgIG1fbmV0d29ya0luZm9NYW5hZ2VyUHJveHktPmludmFsaWRhdGUoKTsK
ICNlbmRpZgotI2lmIFVTRShTT1VQKQotICAgIG1fc291cFJlcXVlc3RNYW5hZ2VyUHJveHktPmlu
dmFsaWRhdGUoKTsKLSNlbmRpZgogCiAgICAgLy8gV2hlbiBvdXQgb2YgcHJvY2VzcyBwbHVnLWlu
cyBhcmUgZW5hYmxlZCwgd2UgZG9uJ3Qgd2FudCB0byBpbnZhbGlkYXRlIHRoZSBwbHVnLWluIHNp
dGUgZGF0YQogICAgIC8vIG1hbmFnZXIganVzdCBiZWNhdXNlIHRoZSB3ZWIgcHJvY2VzcyBjcmFz
aGVzIHNpbmNlIGl0J3Mgbm90IGludm9sdmVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYkNvbnRleHQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250
ZXh0LmgKaW5kZXggZmYwMjNlNS4uZTIwMzQ1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
Q29udGV4dC5oCkBAIC03Myw5ICs3Myw2IEBAIGNsYXNzIFdlYkJhdHRlcnlNYW5hZ2VyUHJveHk7
CiAjaWYgRU5BQkxFKE5FVFdPUktfSU5GTykKIGNsYXNzIFdlYk5ldHdvcmtJbmZvTWFuYWdlclBy
b3h5OwogI2VuZGlmCi0jaWYgVVNFKFNPVVApCi1jbGFzcyBXZWJTb3VwUmVxdWVzdE1hbmFnZXJQ
cm94eTsKLSNlbmRpZgogI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCiBzdHJ1Y3QgTmV0d29y
a1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7CiAjZW5kaWYKQEAgLTIxNiw5ICsyMTMsNiBAQCBw
dWJsaWM6CiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgV2ViUGx1Z2luU2l0
ZURhdGFNYW5hZ2VyKiBwbHVnaW5TaXRlRGF0YU1hbmFnZXIoKSBjb25zdCB7IHJldHVybiBtX3Bs
dWdpblNpdGVEYXRhTWFuYWdlci5nZXQoKTsgfQogI2VuZGlmCi0jaWYgVVNFKFNPVVApCi0gICAg
V2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHkqIHNvdXBSZXF1ZXN0TWFuYWdlclByb3h5KCkgY29u
c3QgeyByZXR1cm4gbV9zb3VwUmVxdWVzdE1hbmFnZXJQcm94eS5nZXQoKTsgfQotI2VuZGlmCiAK
ICAgICBzdHJ1Y3QgU3RhdGlzdGljcyB7CiAgICAgICAgIHVuc2lnbmVkIHdrVmlld0NvdW50OwpA
QCAtNDI2LDkgKzQyMCw2IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9B
UEkpCiAgICAgUmVmUHRyPFdlYlBsdWdpblNpdGVEYXRhTWFuYWdlcj4gbV9wbHVnaW5TaXRlRGF0
YU1hbmFnZXI7CiAjZW5kaWYKLSNpZiBVU0UoU09VUCkKLSAgICBSZWZQdHI8V2ViU291cFJlcXVl
c3RNYW5hZ2VyUHJveHk+IG1fc291cFJlcXVlc3RNYW5hZ2VyUHJveHk7Ci0jZW5kaWYKIAogICAg
IHR5cGVkZWYgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFJlZlB0cjxXZWJDb250ZXh0U3VwcGxlbWVu
dD4gPiBXZWJDb250ZXh0U3VwcGxlbWVudE1hcDsKICAgICBXZWJDb250ZXh0U3VwcGxlbWVudE1h
cCBtX3N1cHBsZW1lbnRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cAppbmRleCA0NTgwYmNmLi5hYzhlZDg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcApAQCAtNDIyNiw3ICs0MjI2LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRp
Y3RhdGlvbkFsdGVybmF0aXZlcyh1aW50NjRfdCBkaWN0YXRpb25Db250ZXh0LCBWZWN0b3I8U3Ry
aW4KICNpZiBVU0UoU09VUCkKIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRSZWNlaXZlVVJJUmVxdWVz
dChTdHJpbmcgdXJpU3RyaW5nLCB1aW50NjRfdCByZXF1ZXN0SUQpCiB7Ci0gICAgbV9wcm9jZXNz
LT5jb250ZXh0KCktPnNvdXBSZXF1ZXN0TWFuYWdlclByb3h5KCktPmRpZFJlY2VpdmVVUklSZXF1
ZXN0KHVyaVN0cmluZywgdGhpcywgcmVxdWVzdElEKTsKKyAgICBtX3Byb2Nlc3MtPmNvbnRleHQo
KS0+c3VwcGxlbWVudDxXZWJTb3VwUmVxdWVzdE1hbmFnZXJQcm94eT4oKS0+ZGlkUmVjZWl2ZVVS
SVJlcXVlc3QodXJpU3RyaW5nLCB0aGlzLCByZXF1ZXN0SUQpOwogfQogI2VuZGlmCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dEVmbC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRFZmwuY3BwCmluZGV4IGZlOGM4
M2YuLjY5ZWI2NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2Vi
Q29udGV4dEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJDb250
ZXh0RWZsLmNwcApAQCAtODksNyArODksNyBAQCB2b2lkIFdlYkNvbnRleHQ6OnBsYXRmb3JtSW5p
dGlhbGl6ZVdlYlByb2Nlc3MoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYQogewog
ICAgIGluaXRpYWxpemVJbnNwZWN0b3JTZXJ2ZXIoKTsKIAotICAgIHBhcmFtZXRlcnMudXJsU2No
ZW1lc1JlZ2lzdGVyZWQgPSBtX3NvdXBSZXF1ZXN0TWFuYWdlclByb3h5LT5yZWdpc3RlcmVkVVJJ
U2NoZW1lcygpOworICAgIHBhcmFtZXRlcnMudXJsU2NoZW1lc1JlZ2lzdGVyZWQgPSBzdXBwbGVt
ZW50PFdlYlNvdXBSZXF1ZXN0TWFuYWdlclByb3h5PigpLT5yZWdpc3RlcmVkVVJJU2NoZW1lcygp
OwogICAgIHN1cHBsZW1lbnQ8V2ViQ29va2llTWFuYWdlclByb3h5PigpLT5nZXRDb29raWVQZXJz
aXN0ZW50U3RvcmFnZShwYXJhbWV0ZXJzLmNvb2tpZVBlcnNpc3RlbnRTdG9yYWdlUGF0aCwgcGFy
YW1ldGVycy5jb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5cGUpOwogICAgIHBhcmFtZXRlcnMuY29v
a2llQWNjZXB0UG9saWN5ID0gbV9pbml0aWFsSFRUUENvb2tpZUFjY2VwdFBvbGljeTsKICAgICBw
YXJhbWV0ZXJzLmlnbm9yZVRMU0Vycm9ycyA9IG1faWdub3JlVExTRXJyb3JzOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJDb250ZXh0R3RrLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViQ29udGV4dEd0ay5jcHAKaW5kZXggMDI2YThhYi4u
ZDgzZGYxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJDb250
ZXh0R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYkNvbnRleHRH
dGsuY3BwCkBAIC04OCw3ICs4OCw3IEBAIHZvaWQgV2ViQ29udGV4dDo6cGxhdGZvcm1Jbml0aWFs
aXplV2ViUHJvY2VzcyhXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhCiB7CiAgICAg
aW5pdEluc3BlY3RvclNlcnZlcigpOwogCi0gICAgcGFyYW1ldGVycy51cmxTY2hlbWVzUmVnaXN0
ZXJlZCA9IG1fc291cFJlcXVlc3RNYW5hZ2VyUHJveHktPnJlZ2lzdGVyZWRVUklTY2hlbWVzKCk7
CisgICAgcGFyYW1ldGVycy51cmxTY2hlbWVzUmVnaXN0ZXJlZCA9IHN1cHBsZW1lbnQ8V2ViU291
cFJlcXVlc3RNYW5hZ2VyUHJveHk+KCktPnJlZ2lzdGVyZWRVUklTY2hlbWVzKCk7CiAgICAgc3Vw
cGxlbWVudDxXZWJDb29raWVNYW5hZ2VyUHJveHk+KCktPmdldENvb2tpZVBlcnNpc3RlbnRTdG9y
YWdlKHBhcmFtZXRlcnMuY29va2llUGVyc2lzdGVudFN0b3JhZ2VQYXRoLCBwYXJhbWV0ZXJzLmNv
b2tpZVBlcnNpc3RlbnRTdG9yYWdlVHlwZSk7CiAgICAgcGFyYW1ldGVycy5jb29raWVBY2NlcHRQ
b2xpY3kgPSBtX2luaXRpYWxIVFRQQ29va2llQWNjZXB0UG9saWN5OwogICAgIHBhcmFtZXRlcnMu
aWdub3JlVExTRXJyb3JzID0gbV9pZ25vcmVUTFNFcnJvcnM7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXJQcm94eS5j
cHAKaW5kZXggNTU5NjAyNS4uNDZiNmYxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL3NvdXAvV2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9zb3VwL1dlYlNvdXBSZXF1ZXN0TWFuYWdlclByb3h5LmNwcApAQCAt
MjcsMzEgKzI3LDU1IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCitjb25zdCBBdG9taWNTdHJp
bmcmIFdlYlNvdXBSZXF1ZXN0TWFuYWdlclByb3h5OjpzdXBwbGVtZW50TmFtZSgpCit7CisgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG5hbWUsICgiV2ViU291cFJlcXVlc3RN
YW5hZ2VyUHJveHkiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7CisgICAg
cmV0dXJuIG5hbWU7Cit9CisKIFBhc3NSZWZQdHI8V2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHk+
IFdlYlNvdXBSZXF1ZXN0TWFuYWdlclByb3h5OjpjcmVhdGUoV2ViQ29udGV4dCogY29udGV4dCkK
IHsKICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYlNvdXBSZXF1ZXN0TWFuYWdlclByb3h5KGNv
bnRleHQpKTsKIH0KIAogV2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHk6OldlYlNvdXBSZXF1ZXN0
TWFuYWdlclByb3h5KFdlYkNvbnRleHQqIGNvbnRleHQpCi0gICAgOiBtX3dlYkNvbnRleHQoY29u
dGV4dCkKKyAgICA6IFdlYkNvbnRleHRTdXBwbGVtZW50KGNvbnRleHQpCiAgICAgLCBtX2xvYWRG
YWlsZWQoZmFsc2UpCiB7Ci0gICAgbV93ZWJDb250ZXh0LT5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVz
c2FnZXM6OldlYlNvdXBSZXF1ZXN0TWFuYWdlclByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCks
IHRoaXMpOworICAgIFdlYkNvbnRleHRTdXBwbGVtZW50Ojpjb250ZXh0KCktPmFkZE1lc3NhZ2VS
ZWNlaXZlcihNZXNzYWdlczo6V2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHk6Om1lc3NhZ2VSZWNl
aXZlck5hbWUoKSwgdGhpcyk7CiB9CiAKIFdlYlNvdXBSZXF1ZXN0TWFuYWdlclByb3h5Ojp+V2Vi
U291cFJlcXVlc3RNYW5hZ2VyUHJveHkoKQogewogfQogCi12b2lkIFdlYlNvdXBSZXF1ZXN0TWFu
YWdlclByb3h5OjppbnZhbGlkYXRlKCkKK3ZvaWQgV2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHk6
OmluaXRpYWxpemVDbGllbnQoY29uc3QgV0tTb3VwUmVxdWVzdE1hbmFnZXJDbGllbnQqIGNsaWVu
dCkKIHsKKyAgICBtX2NsaWVudC5pbml0aWFsaXplKGNsaWVudCk7CiB9CiAKLXZvaWQgV2ViU291
cFJlcXVlc3RNYW5hZ2VyUHJveHk6OmluaXRpYWxpemVDbGllbnQoY29uc3QgV0tTb3VwUmVxdWVz
dE1hbmFnZXJDbGllbnQqIGNsaWVudCkKKy8vIFdlYkNvbnRleHRTdXBwbGVtZW50CisKK3ZvaWQg
V2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHk6OmNvbnRleHREZXN0cm95ZWQoKQogewotICAgIG1f
Y2xpZW50LmluaXRpYWxpemUoY2xpZW50KTsKIH0KIAordm9pZCBXZWJTb3VwUmVxdWVzdE1hbmFn
ZXJQcm94eTo6cHJvY2Vzc0RpZENsb3NlKFdlYlByb2Nlc3NQcm94eSopCit7Cit9CisKK3ZvaWQg
V2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHk6OnJlZldlYkNvbnRleHRTdXBwbGVtZW50KCkKK3sK
KyAgICBBUElPYmplY3Q6OnJlZigpOworfQorCit2b2lkIFdlYlNvdXBSZXF1ZXN0TWFuYWdlclBy
b3h5OjpkZXJlZldlYkNvbnRleHRTdXBwbGVtZW50KCkKK3sKKyAgICBBUElPYmplY3Q6OmRlcmVm
KCk7Cit9CisKKy8vIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlcgorCiB2b2lkIFdlYlNvdXBSZXF1
ZXN0TWFuYWdlclByb3h5OjpkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiBj
b25uZWN0aW9uLCBDb3JlSVBDOjpNZXNzYWdlSUQgbWVzc2FnZUlELCBDb3JlSVBDOjpNZXNzYWdl
RGVjb2RlciYgZGVjb2RlcikKIHsKICAgICBkaWRSZWNlaXZlV2ViU291cFJlcXVlc3RNYW5hZ2Vy
UHJveHlNZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgZGVjb2Rlcik7CkBAIC01OSw4ICs4
MywxMCBAQCB2b2lkIFdlYlNvdXBSZXF1ZXN0TWFuYWdlclByb3h5OjpkaWRSZWNlaXZlTWVzc2Fn
ZShDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aQogCiB2b2lkIFdlYlNvdXBSZXF1ZXN0TWFu
YWdlclByb3h5OjpyZWdpc3RlclVSSVNjaGVtZShjb25zdCBTdHJpbmcmIHNjaGVtZSkKIHsKLSAg
ICBBU1NFUlQobV93ZWJDb250ZXh0KTsKLSAgICBtX3dlYkNvbnRleHQtPnNlbmRUb0FsbFByb2Nl
c3Nlc1JlbGF1bmNoaW5nVGhlbUlmTmVjZXNzYXJ5KE1lc3NhZ2VzOjpXZWJTb3VwUmVxdWVzdE1h
bmFnZXI6OlJlZ2lzdGVyVVJJU2NoZW1lKHNjaGVtZSkpOworICAgIGlmICghY29udGV4dCgpKQor
ICAgICAgICByZXR1cm47CisKKyAgICBjb250ZXh0KCktPnNlbmRUb0FsbFByb2Nlc3Nlc1JlbGF1
bmNoaW5nVGhlbUlmTmVjZXNzYXJ5KE1lc3NhZ2VzOjpXZWJTb3VwUmVxdWVzdE1hbmFnZXI6OlJl
Z2lzdGVyVVJJU2NoZW1lKHNjaGVtZSkpOwogCiAgICAgQVNTRVJUKCFtX3JlZ2lzdGVyZWRVUklT
Y2hlbWVzLmNvbnRhaW5zKHNjaGVtZSkpOwogICAgIG1fcmVnaXN0ZXJlZFVSSVNjaGVtZXMuYXBw
ZW5kKHNjaGVtZSk7CkBAIC02OCwxNyArOTQsMjEgQEAgdm9pZCBXZWJTb3VwUmVxdWVzdE1hbmFn
ZXJQcm94eTo6cmVnaXN0ZXJVUklTY2hlbWUoY29uc3QgU3RyaW5nJiBzY2hlbWUpCiAKIHZvaWQg
V2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHk6OmRpZEhhbmRsZVVSSVJlcXVlc3QoY29uc3QgV2Vi
RGF0YSogcmVxdWVzdERhdGEsIHVpbnQ2NF90IGNvbnRlbnRMZW5ndGgsIGNvbnN0IFN0cmluZyYg
bWltZVR5cGUsIHVpbnQ2NF90IHJlcXVlc3RJRCkKIHsKLSAgICBBU1NFUlQobV93ZWJDb250ZXh0
KTsKLSAgICBtX3dlYkNvbnRleHQtPnNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViU291
cFJlcXVlc3RNYW5hZ2VyOjpEaWRIYW5kbGVVUklSZXF1ZXN0KHJlcXVlc3REYXRhLT5kYXRhUmVm
ZXJlbmNlKCksIGNvbnRlbnRMZW5ndGgsIG1pbWVUeXBlLCByZXF1ZXN0SUQpKTsKKyAgICBpZiAo
IWNvbnRleHQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgY29udGV4dCgpLT5zZW5kVG9BbGxQ
cm9jZXNzZXMoTWVzc2FnZXM6OldlYlNvdXBSZXF1ZXN0TWFuYWdlcjo6RGlkSGFuZGxlVVJJUmVx
dWVzdChyZXF1ZXN0RGF0YS0+ZGF0YVJlZmVyZW5jZSgpLCBjb250ZW50TGVuZ3RoLCBtaW1lVHlw
ZSwgcmVxdWVzdElEKSk7CiB9CiAKIHZvaWQgV2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHk6OmRp
ZFJlY2VpdmVVUklSZXF1ZXN0RGF0YShjb25zdCBXZWJEYXRhKiByZXF1ZXN0RGF0YSwgdWludDY0
X3QgcmVxdWVzdElEKQogeworICAgIGlmICghY29udGV4dCgpKQorICAgICAgICByZXR1cm47CisK
ICAgICBpZiAobV9sb2FkRmFpbGVkKQogICAgICAgICByZXR1cm47CiAKLSAgICBBU1NFUlQobV93
ZWJDb250ZXh0KTsKLSAgICBtX3dlYkNvbnRleHQtPnNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdl
czo6V2ViU291cFJlcXVlc3RNYW5hZ2VyOjpEaWRSZWNlaXZlVVJJUmVxdWVzdERhdGEocmVxdWVz
dERhdGEtPmRhdGFSZWZlcmVuY2UoKSwgcmVxdWVzdElEKSk7CisgICAgY29udGV4dCgpLT5zZW5k
VG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYlNvdXBSZXF1ZXN0TWFuYWdlcjo6RGlkUmVjZWl2
ZVVSSVJlcXVlc3REYXRhKHJlcXVlc3REYXRhLT5kYXRhUmVmZXJlbmNlKCksIHJlcXVlc3RJRCkp
OwogfQogCiB2b2lkIFdlYlNvdXBSZXF1ZXN0TWFuYWdlclByb3h5OjpkaWRSZWNlaXZlVVJJUmVx
dWVzdChjb25zdCBTdHJpbmcmIHVyaVN0cmluZywgV2ViUGFnZVByb3h5KiBpbml0aWFpbmdQYWdl
LCB1aW50NjRfdCByZXF1ZXN0SUQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXJQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL3NvdXAvV2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHkuaAppbmRleCAxZmZhOTgxLi5i
NzM0YTI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvc291cC9XZWJTb3Vw
UmVxdWVzdE1hbmFnZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9zb3Vw
L1dlYlNvdXBSZXF1ZXN0TWFuYWdlclByb3h5LmgKQEAgLTIyLDYgKzIyLDcgQEAKIAogI2luY2x1
ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgorI2luY2x1ZGUg
IldlYkNvbnRleHRTdXBwbGVtZW50LmgiCiAjaW5jbHVkZSAiV2ViU291cFJlcXVlc3RNYW5hZ2Vy
Q2xpZW50LmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVm
UHRyLmg+CkBAIC0zMiw0MCArMzMsNDYgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJD
b250ZXh0OwogY2xhc3MgV2ViRGF0YTsKIAotY2xhc3MgV2ViU291cFJlcXVlc3RNYW5hZ2VyUHJv
eHkgOiBwdWJsaWMgQVBJT2JqZWN0LCBwcml2YXRlIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7
CitjbGFzcyBXZWJTb3VwUmVxdWVzdE1hbmFnZXJQcm94eSA6IHB1YmxpYyBBUElPYmplY3QsIHB1
YmxpYyBXZWJDb250ZXh0U3VwcGxlbWVudCwgcHJpdmF0ZSBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2
ZXIgewogcHVibGljOgogICAgIHN0YXRpYyBjb25zdCBUeXBlIEFQSVR5cGUgPSBUeXBlU291cFJl
cXVlc3RNYW5hZ2VyOwogCisgICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYgc3VwcGxlbWVu
dE5hbWUoKTsKKwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYlNvdXBSZXF1ZXN0TWFuYWdlclBy
b3h5PiBjcmVhdGUoV2ViQ29udGV4dCopOwogICAgIHZpcnR1YWwgfldlYlNvdXBSZXF1ZXN0TWFu
YWdlclByb3h5KCk7CiAKLSAgICB2b2lkIGludmFsaWRhdGUoKTsKLSAgICB2b2lkIGNsZWFyQ29u
dGV4dCgpIHsgbV93ZWJDb250ZXh0ID0gMDsgfQotCiAgICAgdm9pZCBpbml0aWFsaXplQ2xpZW50
KGNvbnN0IFdLU291cFJlcXVlc3RNYW5hZ2VyQ2xpZW50Kik7CiAKICAgICB2b2lkIHJlZ2lzdGVy
VVJJU2NoZW1lKGNvbnN0IFN0cmluZyYgc2NoZW1lKTsKICAgICB2b2lkIGRpZEhhbmRsZVVSSVJl
cXVlc3QoY29uc3QgV2ViRGF0YSosIHVpbnQ2NF90IGNvbnRlbnRMZW5ndGgsIGNvbnN0IFN0cmlu
ZyYgbWltZVR5cGUsIHVpbnQ2NF90IHJlcXVlc3RJRCk7CiAgICAgdm9pZCBkaWRSZWNlaXZlVVJJ
UmVxdWVzdERhdGEoY29uc3QgV2ViRGF0YSosIHVpbnQ2NF90IHJlcXVlc3RJRCk7Ci0gICAgdm9p
ZCBkaWRGYWlsVG9Mb2FkVVJJUmVxdWVzdCh1aW50NjRfdCByZXF1ZXN0SUQpOwotCiAgICAgdm9p
ZCBkaWRSZWNlaXZlVVJJUmVxdWVzdChjb25zdCBTdHJpbmcmIHVyaVN0cmluZywgV2ViUGFnZVBy
b3h5KiwgdWludDY0X3QgcmVxdWVzdElEKTsKIAogICAgIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBy
ZWdpc3RlcmVkVVJJU2NoZW1lcygpIGNvbnN0IHsgcmV0dXJuIG1fcmVnaXN0ZXJlZFVSSVNjaGVt
ZXM7IH0KIAorICAgIHVzaW5nIEFQSU9iamVjdDo6cmVmOworICAgIHVzaW5nIEFQSU9iamVjdDo6
ZGVyZWY7CisKIHByaXZhdGU6CiAgICAgV2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHkoV2ViQ29u
dGV4dCopOwogCiAgICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBBUElUeXBl
OyB9CiAKKyAgICAvLyBXZWJDb250ZXh0U3VwcGxlbWVudAorICAgIHZpcnR1YWwgdm9pZCBjb250
ZXh0RGVzdHJveWVkKCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHByb2Nlc3NEaWRDbG9z
ZShXZWJQcm9jZXNzUHJveHkqKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVmV2ViQ29u
dGV4dFN1cHBsZW1lbnQoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgZGVyZWZXZWJDb250
ZXh0U3VwcGxlbWVudCgpIE9WRVJSSURFOworCiAgICAgLy8gQ29yZUlQQzo6TWVzc2FnZVJlY2Vp
dmVyCiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rp
b24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJ
REU7CiAgICAgdm9pZCBkaWRSZWNlaXZlV2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHlNZXNzYWdl
KENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3Nh
Z2VEZWNvZGVyJik7CiAKLSAgICBXZWJDb250ZXh0KiBtX3dlYkNvbnRleHQ7CisgICAgdm9pZCBk
aWRGYWlsVG9Mb2FkVVJJUmVxdWVzdCh1aW50NjRfdCByZXF1ZXN0SUQpOworCiAgICAgV2ViU291
cFJlcXVlc3RNYW5hZ2VyQ2xpZW50IG1fY2xpZW50OwogICAgIGJvb2wgbV9sb2FkRmFpbGVkOwot
CiAgICAgVmVjdG9yPFN0cmluZz4gbV9yZWdpc3RlcmVkVVJJU2NoZW1lczsKIH07CiAK
</data>
<flag name="review"
          id="198688"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>