<?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>65856</bug_id>
          
          <creation_ts>2011-08-08 07:20:36 -0700</creation_ts>
          <short_desc>[chromium] FormData and WebHTTPBody should support filesystem URL possibly with arbitrary range</short_desc>
          <delta_ts>2012-02-28 11:08:46 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>LATER</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kinuko Yasuda">kinuko</reporter>
          <assigned_to name="Kinuko Yasuda">kinuko</assigned_to>
          <cc>brettw</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>jianli</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>447982</commentid>
    <comment_count>0</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2011-08-08 07:20:36 -0700</bug_when>
    <thetext>[chromium] FormData and WebHTTPBody should support filesystem URL possibly with arbitrary range.

Right now we can append File, FileRange or BlobURL to FormData/WebHTTPBody, but it&apos;d be great if it could also support filesystem URL with arbitrary range request.

If we do so probably appendBlob should be renamed to appendURL and also we should have appendURLRange for an arbitrary range support.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>447987</commentid>
    <comment_count>1</comment_count>
      <attachid>103243</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2011-08-08 07:26:49 -0700</bug_when>
    <thetext>Created attachment 103243
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448087</commentid>
    <comment_count>2</comment_count>
      <attachid>103243</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-08-08 10:34:43 -0700</bug_when>
    <thetext>Comment on attachment 103243
Patch

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

&gt; Source/WebCore/platform/network/FormData.cpp:432
&gt; +        if (fileLength &lt; fileStart)

this seems odd.  did you mean for fileLength to be a length or an end offset?
i would have expected to see either:

  if (fileEnd &lt; fileStart)
      return false;

or:

  if (fileLength &lt; 0)
      return false;

&gt; Source/WebKit/chromium/public/WebHTTPBody.h:89
&gt; +    // Append blob or filesystem URL to the list of elments.

nit: elments -&gt; elements

&gt; Source/WebKit/chromium/src/WebHTTPBody.cpp:100
&gt; +        result.url = element.m_url;

perhaps we should assert that the given URL scheme is blob or filesystem here
to help catch misuse as early as possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448088</commentid>
    <comment_count>3</comment_count>
      <attachid>103243</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-08-08 10:35:04 -0700</bug_when>
    <thetext>Comment on attachment 103243
Patch

r=me assuming (fileLength &lt; 0)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448089</commentid>
    <comment_count>4</comment_count>
      <attachid>103243</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-08-08 10:35:12 -0700</bug_when>
    <thetext>Comment on attachment 103243
Patch

r=me assuming (fileLength &lt; 0)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449107</commentid>
    <comment_count>5</comment_count>
      <attachid>103475</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2011-08-10 05:52:35 -0700</bug_when>
    <thetext>Created attachment 103475
Patch for submit

Uploading the updated patch (reflected comments) for the record / for optional further reviews.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449117</commentid>
    <comment_count>6</comment_count>
      <attachid>103481</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2011-08-10 06:26:27 -0700</bug_when>
    <thetext>Created attachment 103481
Patch for submit (added assertion)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449118</commentid>
    <comment_count>7</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2011-08-10 06:28:11 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 103243 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=103243&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/network/FormData.cpp:432
&gt; &gt; +        if (fileLength &lt; fileStart)
&gt; 
&gt; this seems odd.  did you mean for fileLength to be a length or an end offset?

From how it&apos;s used/called fileLength looks to be a length rather than an end offset.  I changed it to &quot;if (fileLength &lt; 0)&quot; as your suggestion.

The part originally comes from the code for FileRange, so adding @jianli to make sure I&apos;m not making a wrong change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449126</commentid>
    <comment_count>8</comment_count>
      <attachid>103481</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-10 07:06:51 -0700</bug_when>
    <thetext>Comment on attachment 103481
Patch for submit (added assertion)

Attachment 103481 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9336646

New failing tests:
inspector/network-status-non-http.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449130</commentid>
    <comment_count>9</comment_count>
      <attachid>103481</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-10 07:12:45 -0700</bug_when>
    <thetext>Comment on attachment 103481
Patch for submit (added assertion)

Attachment 103481 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/9344169</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103243</attachid>
            <date>2011-08-08 07:26:49 -0700</date>
            <delta_ts>2011-08-08 10:35:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65856-20110808232647.patch</filename>
            <type>text/plain</type>
            <size>12666</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTIyNDkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiNzk3YjIzOWM3OTdlM2Ux
OTM4N2I1NWIwMzJjNmZjNjRjZDBmNTkzLi42ZmYzNTE1ZjU4M2JiMjlhMTMzZWZlN2NjZjg4OWNh
ZWZiYTcwNGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTEtMDgtMDggIEtpbnVr
byBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gRm9y
bURhdGEgYW5kIFdlYkhUVFBCb2R5IHNob3VsZCBzdXBwb3J0IGZpbGVzeXN0ZW0gVVJMIHBvc3Np
Ymx5IHdpdGggYXJiaXRyYXJ5IHJhbmdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02NTg1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBhcyBpdCBoYXMgbm8gZnVuY3Rpb25hbGl0eSBj
aGFuZ2UuCisgICAgICAgIChFeGlzdGluZyBibG9iL2Zvcm0gdGVzdHMgc2hvdWxkIHBhc3MuKQor
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGb3JtRGF0YTo6ZGVlcENvcHkpOgorICAgICAgICAoV2ViQ29yZTo6Rm9ybURhdGE6OmFw
cGVuZFVSTCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Rm9ybURhdGE6OmFwcGVuZFVSTFJh
bmdlKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpGb3JtRGF0YTo6YXBwZW5kS2V5VmFsdWVQ
YWlySXRlbXMpOgorICAgICAgICAoV2ViQ29yZTo6ZW5jb2RlKToKKyAgICAgICAgKFdlYkNvcmU6
OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YS5oOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9ybURhdGFFbGVtZW50OjpGb3JtRGF0YUVsZW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6b3BlcmF0b3I9PSk6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpzZW5kKTogQ2hhbmdlZCB0byB1c2Ug
YXBwZW5kVVJMIGluc3RlYWQgb2YgYXBwZW5kQmxvYi4KKwogMjAxMS0wOC0wMiAgSmVmZnJleSBQ
ZmF1ICA8anBmYXVAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBuYW1lc3BhY2UgcHJlZml4IHN1
cHBvcnQgaW4gWE1MIHRva2VuaXplcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9Gb3JtRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L0Zvcm1EYXRhLmNwcAppbmRleCA5Nzg0YjdmMDIxYjdhNzQwMjVkZDJkZDVhMzllYmY3ZTE1OWI1
ZDAzLi4yM2I1YWZhNjQxNTk1ZmQ5MmFkZmUwN2I4ZWZiZDBiZjg0NDRkOGYyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhLmNwcApAQCAtMTQwLDggKzE0MCw4
IEBAIFBhc3NSZWZQdHI8Rm9ybURhdGE+IEZvcm1EYXRhOjpkZWVwQ29weSgpIGNvbnN0CiAjZW5k
aWYKICAgICAgICAgICAgIGJyZWFrOwogI2lmIEVOQUJMRShCTE9CKQotICAgICAgICBjYXNlIEZv
cm1EYXRhRWxlbWVudDo6ZW5jb2RlZEJsb2I6Ci0gICAgICAgICAgICBmb3JtRGF0YS0+bV9lbGVt
ZW50cy5hcHBlbmQoRm9ybURhdGFFbGVtZW50KGUubV9ibG9iVVJMKSk7CisgICAgICAgIGNhc2Ug
Rm9ybURhdGFFbGVtZW50OjplbmNvZGVkVVJMOgorICAgICAgICAgICAgZm9ybURhdGEtPm1fZWxl
bWVudHMuYXBwZW5kKEZvcm1EYXRhRWxlbWVudChlLm1fdXJsLCBlLm1fZmlsZVN0YXJ0LCBlLm1f
ZmlsZUxlbmd0aCwgZS5tX2V4cGVjdGVkRmlsZU1vZGlmaWNhdGlvblRpbWUpKTsKICAgICAgICAg
ICAgIGJyZWFrOwogI2VuZGlmCiAgICAgICAgIH0KQEAgLTE3NCw5ICsxNzQsMTQgQEAgdm9pZCBG
b3JtRGF0YTo6YXBwZW5kRmlsZVJhbmdlKGNvbnN0IFN0cmluZyYgZmlsZW5hbWUsIGxvbmcgbG9u
ZyBzdGFydCwgbG9uZyBsb24KICAgICBtX2VsZW1lbnRzLmFwcGVuZChGb3JtRGF0YUVsZW1lbnQo
ZmlsZW5hbWUsIHN0YXJ0LCBsZW5ndGgsIGV4cGVjdGVkTW9kaWZpY2F0aW9uVGltZSwgc2hvdWxk
R2VuZXJhdGVGaWxlKSk7CiB9CiAKLXZvaWQgRm9ybURhdGE6OmFwcGVuZEJsb2IoY29uc3QgS1VS
TCYgYmxvYlVSTCkKK3ZvaWQgRm9ybURhdGE6OmFwcGVuZFVSTChjb25zdCBLVVJMJiB1cmwpCiB7
Ci0gICAgbV9lbGVtZW50cy5hcHBlbmQoRm9ybURhdGFFbGVtZW50KGJsb2JVUkwpKTsKKyAgICBt
X2VsZW1lbnRzLmFwcGVuZChGb3JtRGF0YUVsZW1lbnQodXJsLCAwLCBCbG9iRGF0YUl0ZW06OnRv
RW5kT2ZGaWxlLCBCbG9iRGF0YUl0ZW06OmRvTm90Q2hlY2tGaWxlQ2hhbmdlKSk7Cit9CisKK3Zv
aWQgRm9ybURhdGE6OmFwcGVuZFVSTFJhbmdlKGNvbnN0IEtVUkwmIHVybCwgbG9uZyBsb25nIHN0
YXJ0LCBsb25nIGxvbmcgbGVuZ3RoLCBkb3VibGUgZXhwZWN0ZWRNb2RpZmljYXRpb25UaW1lKQor
eworICAgIG1fZWxlbWVudHMuYXBwZW5kKEZvcm1EYXRhRWxlbWVudCh1cmwsIHN0YXJ0LCBsZW5n
dGgsIGV4cGVjdGVkTW9kaWZpY2F0aW9uVGltZSkpOwogfQogI2VuZGlmCiAKQEAgLTI1MCw3ICsy
NTUsNyBAQCB2b2lkIEZvcm1EYXRhOjphcHBlbmRLZXlWYWx1ZVBhaXJJdGVtcyhjb25zdCBGb3Jt
RGF0YUxpc3QmIGxpc3QsIGNvbnN0IFRleHRFbmNvZAogICAgICAgICAgICAgICAgIH0KICNpZiBF
TkFCTEUoQkxPQikKICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIGFw
cGVuZEJsb2IodmFsdWUuYmxvYigpLT51cmwoKSk7CisgICAgICAgICAgICAgICAgICAgIGFwcGVu
ZFVSTCh2YWx1ZS5ibG9iKCktPnVybCgpKTsKICNlbmRpZgogICAgICAgICAgICAgfSBlbHNlCiAg
ICAgICAgICAgICAgICAgYXBwZW5kRGF0YSh2YWx1ZS5kYXRhKCkuZGF0YSgpLCB2YWx1ZS5kYXRh
KCkubGVuZ3RoKCkpOwpAQCAtMzU1LDggKzM2MCwxMSBAQCBzdGF0aWMgdm9pZCBlbmNvZGUoRW5j
b2RlciYgZW5jb2RlciwgY29uc3QgRm9ybURhdGFFbGVtZW50JiBlbGVtZW50KQogICAgICAgICBy
ZXR1cm47CiAKICNpZiBFTkFCTEUoQkxPQikKLSAgICBjYXNlIEZvcm1EYXRhRWxlbWVudDo6ZW5j
b2RlZEJsb2I6Ci0gICAgICAgIGVuY29kZXIuZW5jb2RlU3RyaW5nKGVsZW1lbnQubV9ibG9iVVJM
LnN0cmluZygpKTsKKyAgICBjYXNlIEZvcm1EYXRhRWxlbWVudDo6ZW5jb2RlZFVSTDoKKyAgICAg
ICAgZW5jb2Rlci5lbmNvZGVTdHJpbmcoZWxlbWVudC5tX3VybC5zdHJpbmcoKSk7CisgICAgICAg
IGVuY29kZXIuZW5jb2RlSW50NjQoZWxlbWVudC5tX2ZpbGVTdGFydCk7CisgICAgICAgIGVuY29k
ZXIuZW5jb2RlSW50NjQoZWxlbWVudC5tX2ZpbGVMZW5ndGgpOworICAgICAgICBlbmNvZGVyLmVu
Y29kZURvdWJsZShlbGVtZW50Lm1fZXhwZWN0ZWRGaWxlTW9kaWZpY2F0aW9uVGltZSk7CiAgICAg
ICAgIHJldHVybjsKICNlbmRpZgogICAgIH0KQEAgLTQxMCwxMiArNDE4LDI2IEBAIHN0YXRpYyBi
b29sIGRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBGb3JtRGF0YUVsZW1lbnQmIGVsZW1lbnQpCiAg
ICAgfQogCiAjaWYgRU5BQkxFKEJMT0IpCi0gICAgY2FzZSBGb3JtRGF0YUVsZW1lbnQ6OmVuY29k
ZWRCbG9iOgotICAgICAgICBlbGVtZW50Lm1fdHlwZSA9IEZvcm1EYXRhRWxlbWVudDo6ZW5jb2Rl
ZEJsb2I7Ci0gICAgICAgIFN0cmluZyBibG9iVVJMU3RyaW5nOwotICAgICAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlU3RyaW5nKGJsb2JVUkxTdHJpbmcpKQorICAgIGNhc2UgRm9ybURhdGFFbGVtZW50
OjplbmNvZGVkVVJMOgorICAgICAgICBlbGVtZW50Lm1fdHlwZSA9IEZvcm1EYXRhRWxlbWVudDo6
ZW5jb2RlZFVSTDsKKyAgICAgICAgU3RyaW5nIHVybFN0cmluZzsKKyAgICAgICAgaWYgKCFkZWNv
ZGVyLmRlY29kZVN0cmluZyh1cmxTdHJpbmcpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICAgICBpbnQ2NF90IGZpbGVTdGFydDsKKyAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZUlu
dDY0KGZpbGVTdGFydCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGludDY0
X3QgZmlsZUxlbmd0aDsKKyAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZUludDY0KGZpbGVMZW5n
dGgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAoZmlsZUxlbmd0aCA8
IGZpbGVTdGFydCkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgZG91YmxlIGV4
cGVjdGVkRmlsZU1vZGlmaWNhdGlvblRpbWU7CisgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGVE
b3VibGUoZXhwZWN0ZWRGaWxlTW9kaWZpY2F0aW9uVGltZSkpCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgICAgIGVsZW1lbnQubV9ibG9iVVJMID0gS1VSTChLVVJMKCksIGJsb2JVUkxT
dHJpbmcpOworICAgICAgICBlbGVtZW50Lm1fZmlsZVN0YXJ0ID0gZmlsZVN0YXJ0OworICAgICAg
ICBlbGVtZW50Lm1fZmlsZUxlbmd0aCA9IGZpbGVMZW5ndGg7CisgICAgICAgIGVsZW1lbnQubV9l
eHBlY3RlZEZpbGVNb2RpZmljYXRpb25UaW1lID0gZXhwZWN0ZWRGaWxlTW9kaWZpY2F0aW9uVGlt
ZTsKKyAgICAgICAgZWxlbWVudC5tX3VybCA9IEtVUkwoS1VSTCgpLCB1cmxTdHJpbmcpOwogICAg
ICAgICByZXR1cm4gdHJ1ZTsKICNlbmRpZgogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvRm9ybURhdGEuaAppbmRleCA4NWM5MzJhYWQ2YzUyMGFiYmFmYWRhZjg2NTlmN2Q0
MjI0MGMzNjJhLi5iZmQxODYyNGM5ZDk1MTNjZTY2NDNlNTQwNGVkOTVmOTU4YzI0ZGRmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YS5oCkBAIC0zOSw3ICszOSw3
IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShCTE9CKQogICAgIEZvcm1EYXRhRWxlbWVudChjb25z
dCBTdHJpbmcmIGZpbGVuYW1lLCBsb25nIGxvbmcgZmlsZVN0YXJ0LCBsb25nIGxvbmcgZmlsZUxl
bmd0aCwgZG91YmxlIGV4cGVjdGVkRmlsZU1vZGlmaWNhdGlvblRpbWUsIGJvb2wgc2hvdWxkR2Vu
ZXJhdGVGaWxlKSA6IG1fdHlwZShlbmNvZGVkRmlsZSksIG1fZmlsZW5hbWUoZmlsZW5hbWUpLCBt
X2ZpbGVTdGFydChmaWxlU3RhcnQpLCBtX2ZpbGVMZW5ndGgoZmlsZUxlbmd0aCksIG1fZXhwZWN0
ZWRGaWxlTW9kaWZpY2F0aW9uVGltZShleHBlY3RlZEZpbGVNb2RpZmljYXRpb25UaW1lKSwgbV9z
aG91bGRHZW5lcmF0ZUZpbGUoc2hvdWxkR2VuZXJhdGVGaWxlKSB7IH0KLSAgICBleHBsaWNpdCBG
b3JtRGF0YUVsZW1lbnQoY29uc3QgS1VSTCYgYmxvYlVSTCkgOiBtX3R5cGUoZW5jb2RlZEJsb2Ip
LCBtX2Jsb2JVUkwoYmxvYlVSTCkgeyB9CisgICAgRm9ybURhdGFFbGVtZW50KGNvbnN0IEtVUkwm
IHVybCwgbG9uZyBsb25nIHN0YXJ0LCBsb25nIGxvbmcgbGVuZ3RoLCBkb3VibGUgZXhwZWN0ZWRG
aWxlTW9kaWZpY2F0aW9uVGltZSkgOiBtX3R5cGUoZW5jb2RlZFVSTCksIG1fdXJsKHVybCksIG1f
ZmlsZVN0YXJ0KHN0YXJ0KSwgbV9maWxlTGVuZ3RoKGxlbmd0aCksIG1fZXhwZWN0ZWRGaWxlTW9k
aWZpY2F0aW9uVGltZShleHBlY3RlZEZpbGVNb2RpZmljYXRpb25UaW1lKSB7IH0KICNlbHNlCiAg
ICAgRm9ybURhdGFFbGVtZW50KGNvbnN0IFN0cmluZyYgZmlsZW5hbWUsIGJvb2wgc2hvdWxkR2Vu
ZXJhdGVGaWxlKSA6IG1fdHlwZShlbmNvZGVkRmlsZSksIG1fZmlsZW5hbWUoZmlsZW5hbWUpLCBt
X3Nob3VsZEdlbmVyYXRlRmlsZShzaG91bGRHZW5lcmF0ZUZpbGUpIHsgfQogI2VuZGlmCkBAIC00
OCwxNiArNDgsMTYgQEAgcHVibGljOgogICAgICAgICBkYXRhLAogICAgICAgICBlbmNvZGVkRmls
ZQogI2lmIEVOQUJMRShCTE9CKQotICAgICAgICAsIGVuY29kZWRCbG9iCisgICAgICAgICwgZW5j
b2RlZFVSTAogI2VuZGlmCiAgICAgfSBtX3R5cGU7CiAgICAgVmVjdG9yPGNoYXI+IG1fZGF0YTsK
ICAgICBTdHJpbmcgbV9maWxlbmFtZTsKICNpZiBFTkFCTEUoQkxPQikKKyAgICBLVVJMIG1fdXJs
OwogICAgIGxvbmcgbG9uZyBtX2ZpbGVTdGFydDsKICAgICBsb25nIGxvbmcgbV9maWxlTGVuZ3Ro
OwogICAgIGRvdWJsZSBtX2V4cGVjdGVkRmlsZU1vZGlmaWNhdGlvblRpbWU7Ci0gICAgS1VSTCBt
X2Jsb2JVUkw7CiAjZW5kaWYKICAgICBTdHJpbmcgbV9nZW5lcmF0ZWRGaWxlbmFtZTsKICAgICBi
b29sIG1fc2hvdWxkR2VuZXJhdGVGaWxlOwpAQCAtNzUsOCArNzUsOCBAQCBpbmxpbmUgYm9vbCBv
cGVyYXRvcj09KGNvbnN0IEZvcm1EYXRhRWxlbWVudCYgYSwgY29uc3QgRm9ybURhdGFFbGVtZW50
JiBiKQogICAgIGlmIChhLm1fdHlwZSA9PSBGb3JtRGF0YUVsZW1lbnQ6OmVuY29kZWRGaWxlKQog
I2lmIEVOQUJMRShCTE9CKQogICAgICAgICByZXR1cm4gYS5tX2ZpbGVuYW1lID09IGIubV9maWxl
bmFtZSAmJiBhLm1fZmlsZVN0YXJ0ID09IGIubV9maWxlU3RhcnQgJiYgYS5tX2ZpbGVMZW5ndGgg
PT0gYi5tX2ZpbGVMZW5ndGggJiYgYS5tX2V4cGVjdGVkRmlsZU1vZGlmaWNhdGlvblRpbWUgPT0g
Yi5tX2V4cGVjdGVkRmlsZU1vZGlmaWNhdGlvblRpbWU7Ci0gICAgaWYgKGEubV90eXBlID09IEZv
cm1EYXRhRWxlbWVudDo6ZW5jb2RlZEJsb2IpCi0gICAgICAgIHJldHVybiBhLm1fYmxvYlVSTCA9
PSBiLm1fYmxvYlVSTDsKKyAgICBpZiAoYS5tX3R5cGUgPT0gRm9ybURhdGFFbGVtZW50OjplbmNv
ZGVkVVJMKQorICAgICAgICByZXR1cm4gYS5tX3VybCA9PSBiLm1fdXJsOwogI2Vsc2UKICAgICAg
ICAgcmV0dXJuIGEubV9maWxlbmFtZSA9PSBiLm1fZmlsZW5hbWU7CiAjZW5kaWYKQEAgLTEwOCw3
ICsxMDgsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBhcHBlbmRGaWxlKGNvbnN0IFN0cmluZyYgZmls
ZVBhdGgsIGJvb2wgc2hvdWxkR2VuZXJhdGVGaWxlID0gZmFsc2UpOwogI2lmIEVOQUJMRShCTE9C
KQogICAgIHZvaWQgYXBwZW5kRmlsZVJhbmdlKGNvbnN0IFN0cmluZyYgZmlsZW5hbWUsIGxvbmcg
bG9uZyBzdGFydCwgbG9uZyBsb25nIGxlbmd0aCwgZG91YmxlIGV4cGVjdGVkTW9kaWZpY2F0aW9u
VGltZSwgYm9vbCBzaG91bGRHZW5lcmF0ZUZpbGUgPSBmYWxzZSk7Ci0gICAgdm9pZCBhcHBlbmRC
bG9iKGNvbnN0IEtVUkwmIGJsb2JVUkwpOworICAgIHZvaWQgYXBwZW5kVVJMKGNvbnN0IEtVUkwm
KTsKKyAgICB2b2lkIGFwcGVuZFVSTFJhbmdlKGNvbnN0IEtVUkwmLCBsb25nIGxvbmcgc3RhcnQs
IGxvbmcgbG9uZyBsZW5ndGgsIGRvdWJsZSBleHBlY3RlZE1vZGlmaWNhdGlvblRpbWUpOwogI2Vu
ZGlmCiAKICAgICB2b2lkIGZsYXR0ZW4oVmVjdG9yPGNoYXI+JikgY29uc3Q7IC8vIG9taXRzIGZp
bGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwIGIv
U291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRleCA2NjM0MTY3NjQyOThi
M2ZlYTkzYTdmMzhjYWUwZDk5YjdlN2VmOGE1Li4yNThmZTZkZWE5MWMyYzczMTVjZDA2MWZiYzMz
ZDA4N2IxNzU2ODhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVl
c3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKQEAgLTU2
Miw3ICs1NjIsNyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpzZW5kKEJsb2IqIGJvZHksIEV4Y2Vw
dGlvbkNvZGUmIGVjKQogICAgICAgICAgICAgbV9yZXF1ZXN0RW50aXR5Qm9keS0+YXBwZW5kRmls
ZShzdGF0aWNfY2FzdDxGaWxlKj4oYm9keSktPnBhdGgoKSk7CiAjaWYgRU5BQkxFKEJMT0IpCiAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgIG1fcmVxdWVzdEVudGl0eUJvZHktPmFwcGVuZEJsb2Io
Ym9keS0+dXJsKCkpOworICAgICAgICAgICAgbV9yZXF1ZXN0RW50aXR5Qm9keS0+YXBwZW5kVVJM
KGJvZHktPnVybCgpKTsKICNlbmRpZgogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpp
bmRleCA3N2M5MzBhZmZhNGQ3NGQyNDdkYjZmNDU4ZDlkZmNlNzUzMmRkZjlmLi44ODM1MDMwZmU4
NDA4ZTQzMDIxYTY2MDdmMzE4ODRmZTdmYjJjMTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE5IEBACisyMDExLTA4LTA4ICBLaW51a28gWWFzdWRhICA8a2ludWtvQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIEZvcm1EYXRhIGFuZCBXZWJIVFRQQm9k
eSBzaG91bGQgc3VwcG9ydCBmaWxlc3lzdGVtIFVSTCBwb3NzaWJseSB3aXRoIGFyYml0cmFyeSBy
YW5nZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4
NTYKKworICAgICAgICBBZGRlZCBhcHBlbmRVUkwgYW5kIGFwcGVuZFVSTFJhbmdlIHRvIFdlYkhU
VFBCb2R5LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogcHVibGljL1dlYkhUVFBCb2R5Lmg6CisgICAgICAgICogc3JjL1dlYkhUVFBCb2R5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViSFRUUEJvZHk6OmVsZW1lbnRBdCk6IEFkZGVkIFVSTFJhbmdl
IHN1cHBvcnQuCisgICAgICAgIChXZWJLaXQ6OldlYkhUVFBCb2R5OjphcHBlbmRVUkwpOiBBZGRl
ZC4KKyAgICAgICAgKFdlYktpdDo6V2ViSFRUUEJvZHk6OmFwcGVuZFVSTFJhbmdlKTogQWRkZWQu
CisgICAgICAgIChXZWJLaXQ6OldlYkhUVFBCb2R5OjphcHBlbmRCbG9iKTogQWRkZWQgY29tbWVu
dCAodG8gYmUgZGVwcmVjYXRlZCkuCisKIDIwMTEtMDgtMDIgIFJvYmVydCBLcm9lZ2VyICA8cmpr
cm9lZ2VAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gTGF5ZXJpbmcgdmlvbGF0
aW9ucyBpbiBnZXN0dXJlIHJlY29nbml6ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYkhUVFBCb2R5LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJIVFRQQm9keS5oCmluZGV4IDhjMzc2MjJmZDU0ZGU0OWY0NjEyZmNmMmMxYzFiYWUyMmMy
OWIxZWQuLjEzZTEwMjkxZDgwMjhhMzYwMjI3NDgyY2FkOWM5MWVjOGY0MGY1ZWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkhUVFBCb2R5LmgKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSFRUUEJvZHkuaApAQCAtNDgsMTMgKzQ4LDEz
IEBAIGNsYXNzIFdlYkhUVFBCb2R5UHJpdmF0ZTsKIGNsYXNzIFdlYkhUVFBCb2R5IHsKIHB1Ymxp
YzoKICAgICBzdHJ1Y3QgRWxlbWVudCB7Ci0gICAgICAgIGVudW0geyBUeXBlRGF0YSwgVHlwZUZp
bGUsIFR5cGVCbG9iIH0gdHlwZTsKKyAgICAgICAgZW51bSB7IFR5cGVEYXRhLCBUeXBlRmlsZSwg
VHlwZVVSTCB9IHR5cGU7CiAgICAgICAgIFdlYkRhdGEgZGF0YTsKICAgICAgICAgV2ViU3RyaW5n
IGZpbGVQYXRoOwogICAgICAgICBsb25nIGxvbmcgZmlsZVN0YXJ0OwogICAgICAgICBsb25nIGxv
bmcgZmlsZUxlbmd0aDsgLy8gLTEgbWVhbnMgdG8gdGhlIGVuZCBvZiB0aGUgZmlsZS4KICAgICAg
ICAgZG91YmxlIG1vZGlmaWNhdGlvblRpbWU7Ci0gICAgICAgIFdlYlVSTCBibG9iVVJMOworICAg
ICAgICBXZWJVUkwgdXJsOwogICAgIH07CiAKICAgICB+V2ViSFRUUEJvZHkoKSB7IHJlc2V0KCk7
IH0KQEAgLTg1LDYgKzg1LDExIEBAIHB1YmxpYzoKICAgICBXRUJLSVRfQVBJIHZvaWQgYXBwZW5k
RmlsZShjb25zdCBXZWJTdHJpbmcmKTsKICAgICAvLyBQYXNzaW5nIC0xIHRvIGZpbGVMZW5ndGgg
bWVhbnMgdG8gdGhlIGVuZCBvZiB0aGUgZmlsZS4KICAgICBXRUJLSVRfQVBJIHZvaWQgYXBwZW5k
RmlsZVJhbmdlKGNvbnN0IFdlYlN0cmluZyYsIGxvbmcgbG9uZyBmaWxlU3RhcnQsIGxvbmcgbG9u
ZyBmaWxlTGVuZ3RoLCBkb3VibGUgbW9kaWZpY2F0aW9uVGltZSk7CisKKyAgICAvLyBBcHBlbmQg
YmxvYiBvciBmaWxlc3lzdGVtIFVSTCB0byB0aGUgbGlzdCBvZiBlbG1lbnRzLgorICAgIFdFQktJ
VF9BUEkgdm9pZCBhcHBlbmRVUkwoY29uc3QgV2ViVVJMJik7CisgICAgV0VCS0lUX0FQSSB2b2lk
IGFwcGVuZFVSTFJhbmdlKGNvbnN0IFdlYlVSTCYsIGxvbmcgbG9uZyBzdGFydCwgbG9uZyBsb25n
IGxlbmd0aCwgZG91YmxlIG1vZGlmaWNhdGlvblRpbWUpOworICAgIC8vIFRPRE8oa2ludWtvKTog
dGhpcyBzaG91bGQgYmUgcmVtb3ZlZCBhZnRlciB0aGUgdHdvLXNpZGVkIHBhdGNoIGlzIGxhbmRl
ZC4KICAgICBXRUJLSVRfQVBJIHZvaWQgYXBwZW5kQmxvYihjb25zdCBXZWJVUkwmKTsKIAogICAg
IC8vIElkZW50aWZpZXMgYSBwYXJ0aWN1bGFyIGZvcm0gc3VibWlzc2lvbiBpbnN0YW5jZS4gIEEg
dmFsdWUgb2YgMCBpcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
SFRUUEJvZHkuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSFRUUEJvZHkuY3Bw
CmluZGV4IGYzMmI2NGZkN2EzNzZiM2NjZGI3Y2RlZDBhNmU1ZjQ4ZWU3MTU2YjUuLjhlZGMxNThk
OGUwYTQ4YjQwMjQxZTAwNjFjMzgxZDhiNzFiMzFjOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYkhUVFBCb2R5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJIVFRQQm9keS5jcHAKQEAgLTc4LDcgKzc4LDcgQEAgYm9vbCBXZWJIVFRQQm9k
eTo6ZWxlbWVudEF0KHNpemVfdCBpbmRleCwgRWxlbWVudCYgcmVzdWx0KSBjb25zdAogICAgIHJl
c3VsdC5maWxlU3RhcnQgPSAwOwogICAgIHJlc3VsdC5maWxlTGVuZ3RoID0gMDsKICAgICByZXN1
bHQubW9kaWZpY2F0aW9uVGltZSA9IDAuMDsKLSAgICByZXN1bHQuYmxvYlVSTCA9IEtVUkwoKTsK
KyAgICByZXN1bHQudXJsID0gS1VSTCgpOwogCiAgICAgc3dpdGNoIChlbGVtZW50Lm1fdHlwZSkg
ewogICAgIGNhc2UgRm9ybURhdGFFbGVtZW50OjpkYXRhOgpAQCAtOTUsOSArOTUsMTIgQEAgYm9v
bCBXZWJIVFRQQm9keTo6ZWxlbWVudEF0KHNpemVfdCBpbmRleCwgRWxlbWVudCYgcmVzdWx0KSBj
b25zdAogI2VuZGlmCiAgICAgICAgIGJyZWFrOwogI2lmIEVOQUJMRShCTE9CKQotICAgIGNhc2Ug
Rm9ybURhdGFFbGVtZW50OjplbmNvZGVkQmxvYjoKLSAgICAgICAgcmVzdWx0LnR5cGUgPSBFbGVt
ZW50OjpUeXBlQmxvYjsKLSAgICAgICAgcmVzdWx0LmJsb2JVUkwgPSBlbGVtZW50Lm1fYmxvYlVS
TDsKKyAgICBjYXNlIEZvcm1EYXRhRWxlbWVudDo6ZW5jb2RlZFVSTDoKKyAgICAgICAgcmVzdWx0
LnR5cGUgPSBFbGVtZW50OjpUeXBlVVJMOworICAgICAgICByZXN1bHQudXJsID0gZWxlbWVudC5t
X3VybDsKKyAgICAgICAgcmVzdWx0LmZpbGVTdGFydCA9IGVsZW1lbnQubV9maWxlU3RhcnQ7Cisg
ICAgICAgIHJlc3VsdC5maWxlTGVuZ3RoID0gZWxlbWVudC5tX2ZpbGVMZW5ndGg7CisgICAgICAg
IHJlc3VsdC5tb2RpZmljYXRpb25UaW1lID0gZWxlbWVudC5tX2V4cGVjdGVkRmlsZU1vZGlmaWNh
dGlvblRpbWU7CiAgICAgICAgIGJyZWFrOwogI2VuZGlmCiAgICAgZGVmYXVsdDoKQEAgLTEzMCwx
NCArMTMzLDI4IEBAIHZvaWQgV2ViSFRUUEJvZHk6OmFwcGVuZEZpbGVSYW5nZShjb25zdCBXZWJT
dHJpbmcmIGZpbGVQYXRoLCBsb25nIGxvbmcgZmlsZVN0YXJ0CiAjZW5kaWYKIH0KIAotdm9pZCBX
ZWJIVFRQQm9keTo6YXBwZW5kQmxvYihjb25zdCBXZWJVUkwmIGJsb2JVUkwpCit2b2lkIFdlYkhU
VFBCb2R5OjphcHBlbmRVUkwoY29uc3QgV2ViVVJMJiB1cmwpCit7CisjaWYgRU5BQkxFKEJMT0Ip
CisgICAgZW5zdXJlTXV0YWJsZSgpOworICAgIG1fcHJpdmF0ZS0+YXBwZW5kVVJMKHVybCk7Cisj
ZW5kaWYKK30KKwordm9pZCBXZWJIVFRQQm9keTo6YXBwZW5kVVJMUmFuZ2UoY29uc3QgV2ViVVJM
JiB1cmwsIGxvbmcgbG9uZyBzdGFydCwgbG9uZyBsb25nIGxlbmd0aCwgZG91YmxlIG1vZGlmaWNh
dGlvblRpbWUpCiB7CiAjaWYgRU5BQkxFKEJMT0IpCiAgICAgZW5zdXJlTXV0YWJsZSgpOwotICAg
IG1fcHJpdmF0ZS0+YXBwZW5kQmxvYihibG9iVVJMKTsKKyAgICBtX3ByaXZhdGUtPmFwcGVuZFVS
TFJhbmdlKHVybCwgc3RhcnQsIGxlbmd0aCwgbW9kaWZpY2F0aW9uVGltZSk7CiAjZW5kaWYKIH0K
IAordm9pZCBXZWJIVFRQQm9keTo6YXBwZW5kQmxvYihjb25zdCBXZWJVUkwmIGJsb2JVUkwpCit7
CisgICAgLy8gVE9ETyhraW51a28pOiB0aGlzIHNob3VsZCBiZSByZW1vdmVkIGFmdGVyIHRoZSB0
d28tc2lkZWQgcGF0Y2ggaXMgbGFuZGVkLgorICAgIGFwcGVuZFVSTChibG9iVVJMKTsKK30KKwog
bG9uZyBsb25nIFdlYkhUVFBCb2R5OjppZGVudGlmaWVyKCkgY29uc3QKIHsKICAgICBBU1NFUlQo
IWlzTnVsbCgpKTsK
</data>
<flag name="review"
          id="98775"
          type_id="1"
          status="+"
          setter="fishd"
    />
    <flag name="commit-queue"
          id="98797"
          type_id="3"
          status="-"
          setter="fishd"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103475</attachid>
            <date>2011-08-10 05:52:35 -0700</date>
            <delta_ts>2011-08-10 06:26:27 -0700</delta_ts>
            <desc>Patch for submit</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>13268</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">Y29tbWl0IDVkNGIxODkxZmYzYmZlODBkNGY2NWYyNjNjNDQ5ZTQ3NTliN2M3MGMKQXV0aG9yOiBL
aW51a28gWWFzdWRhIDxraW51a29AY2hyb21pdW0ub3JnPgpEYXRlOiAgIE1vbiBBdWcgOCAyMTo0
MzozOSAyMDExICswOTAwCgogICAgUGF0Y2ggZm9yIGh0dHA6Ly93ZWJraXQub3JnL2IvNjU4NTYK
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggMmI5NDcxNS4uNjg5OGVkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2
IEBACisyMDExLTA4LTA4ICBLaW51a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBbY2hyb21pdW1dIEZvcm1EYXRhIGFuZCBXZWJIVFRQQm9keSBzaG91bGQgc3VwcG9y
dCBmaWxlc3lzdGVtIFVSTCBwb3NzaWJseSB3aXRoIGFyYml0cmFyeSByYW5nZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NTYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgYXMgaXQg
aGFzIG5vIGZ1bmN0aW9uYWxpdHkgY2hhbmdlLgorICAgICAgICAoRXhpc3RpbmcgYmxvYi9mb3Jt
IHRlc3RzIHNob3VsZCBwYXNzLikKKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvRm9ybURh
dGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9ybURhdGE6OmRlZXBDb3B5KToKKyAgICAgICAg
KFdlYkNvcmU6OkZvcm1EYXRhOjphcHBlbmRVUkwpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkZvcm1EYXRhOjphcHBlbmRVUkxSYW5nZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Rm9y
bURhdGE6OmFwcGVuZEtleVZhbHVlUGFpckl0ZW1zKToKKyAgICAgICAgKFdlYkNvcmU6OmVuY29k
ZSk6CisgICAgICAgIChXZWJDb3JlOjpkZWNvZGUpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvRm9ybURhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZvcm1EYXRhRWxlbWVudDo6Rm9ybURh
dGFFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yPT0pOgorICAgICAgICAqIHht
bC9YTUxIdHRwUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6
c2VuZCk6IENoYW5nZWQgdG8gdXNlIGFwcGVuZFVSTCBpbnN0ZWFkIG9mIGFwcGVuZEJsb2IuCisK
IDIwMTEtMDgtMDkgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29tPgogCiAgICAg
ICAgIEphdmFTdHJpbmcgaXMgbm90IG5lZWRlZCBieSBWOApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhLmNwcAppbmRleCA5Nzg0YjdmLi5mOTZlY2M2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhLmNwcApAQCAtMTQwLDggKzE0
MCw4IEBAIFBhc3NSZWZQdHI8Rm9ybURhdGE+IEZvcm1EYXRhOjpkZWVwQ29weSgpIGNvbnN0CiAj
ZW5kaWYKICAgICAgICAgICAgIGJyZWFrOwogI2lmIEVOQUJMRShCTE9CKQotICAgICAgICBjYXNl
IEZvcm1EYXRhRWxlbWVudDo6ZW5jb2RlZEJsb2I6Ci0gICAgICAgICAgICBmb3JtRGF0YS0+bV9l
bGVtZW50cy5hcHBlbmQoRm9ybURhdGFFbGVtZW50KGUubV9ibG9iVVJMKSk7CisgICAgICAgIGNh
c2UgRm9ybURhdGFFbGVtZW50OjplbmNvZGVkVVJMOgorICAgICAgICAgICAgZm9ybURhdGEtPm1f
ZWxlbWVudHMuYXBwZW5kKEZvcm1EYXRhRWxlbWVudChlLm1fdXJsLCBlLm1fZmlsZVN0YXJ0LCBl
Lm1fZmlsZUxlbmd0aCwgZS5tX2V4cGVjdGVkRmlsZU1vZGlmaWNhdGlvblRpbWUpKTsKICAgICAg
ICAgICAgIGJyZWFrOwogI2VuZGlmCiAgICAgICAgIH0KQEAgLTE3NCw5ICsxNzQsMTQgQEAgdm9p
ZCBGb3JtRGF0YTo6YXBwZW5kRmlsZVJhbmdlKGNvbnN0IFN0cmluZyYgZmlsZW5hbWUsIGxvbmcg
bG9uZyBzdGFydCwgbG9uZyBsb24KICAgICBtX2VsZW1lbnRzLmFwcGVuZChGb3JtRGF0YUVsZW1l
bnQoZmlsZW5hbWUsIHN0YXJ0LCBsZW5ndGgsIGV4cGVjdGVkTW9kaWZpY2F0aW9uVGltZSwgc2hv
dWxkR2VuZXJhdGVGaWxlKSk7CiB9CiAKLXZvaWQgRm9ybURhdGE6OmFwcGVuZEJsb2IoY29uc3Qg
S1VSTCYgYmxvYlVSTCkKK3ZvaWQgRm9ybURhdGE6OmFwcGVuZFVSTChjb25zdCBLVVJMJiB1cmwp
CiB7Ci0gICAgbV9lbGVtZW50cy5hcHBlbmQoRm9ybURhdGFFbGVtZW50KGJsb2JVUkwpKTsKKyAg
ICBtX2VsZW1lbnRzLmFwcGVuZChGb3JtRGF0YUVsZW1lbnQodXJsLCAwLCBCbG9iRGF0YUl0ZW06
OnRvRW5kT2ZGaWxlLCBCbG9iRGF0YUl0ZW06OmRvTm90Q2hlY2tGaWxlQ2hhbmdlKSk7Cit9CisK
K3ZvaWQgRm9ybURhdGE6OmFwcGVuZFVSTFJhbmdlKGNvbnN0IEtVUkwmIHVybCwgbG9uZyBsb25n
IHN0YXJ0LCBsb25nIGxvbmcgbGVuZ3RoLCBkb3VibGUgZXhwZWN0ZWRNb2RpZmljYXRpb25UaW1l
KQoreworICAgIG1fZWxlbWVudHMuYXBwZW5kKEZvcm1EYXRhRWxlbWVudCh1cmwsIHN0YXJ0LCBs
ZW5ndGgsIGV4cGVjdGVkTW9kaWZpY2F0aW9uVGltZSkpOwogfQogI2VuZGlmCiAKQEAgLTI1MCw3
ICsyNTUsNyBAQCB2b2lkIEZvcm1EYXRhOjphcHBlbmRLZXlWYWx1ZVBhaXJJdGVtcyhjb25zdCBG
b3JtRGF0YUxpc3QmIGxpc3QsIGNvbnN0IFRleHRFbmNvZAogICAgICAgICAgICAgICAgIH0KICNp
ZiBFTkFCTEUoQkxPQikKICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAg
IGFwcGVuZEJsb2IodmFsdWUuYmxvYigpLT51cmwoKSk7CisgICAgICAgICAgICAgICAgICAgIGFw
cGVuZFVSTCh2YWx1ZS5ibG9iKCktPnVybCgpKTsKICNlbmRpZgogICAgICAgICAgICAgfSBlbHNl
CiAgICAgICAgICAgICAgICAgYXBwZW5kRGF0YSh2YWx1ZS5kYXRhKCkuZGF0YSgpLCB2YWx1ZS5k
YXRhKCkubGVuZ3RoKCkpOwpAQCAtMzU1LDggKzM2MCwxMSBAQCBzdGF0aWMgdm9pZCBlbmNvZGUo
RW5jb2RlciYgZW5jb2RlciwgY29uc3QgRm9ybURhdGFFbGVtZW50JiBlbGVtZW50KQogICAgICAg
ICByZXR1cm47CiAKICNpZiBFTkFCTEUoQkxPQikKLSAgICBjYXNlIEZvcm1EYXRhRWxlbWVudDo6
ZW5jb2RlZEJsb2I6Ci0gICAgICAgIGVuY29kZXIuZW5jb2RlU3RyaW5nKGVsZW1lbnQubV9ibG9i
VVJMLnN0cmluZygpKTsKKyAgICBjYXNlIEZvcm1EYXRhRWxlbWVudDo6ZW5jb2RlZFVSTDoKKyAg
ICAgICAgZW5jb2Rlci5lbmNvZGVTdHJpbmcoZWxlbWVudC5tX3VybC5zdHJpbmcoKSk7CisgICAg
ICAgIGVuY29kZXIuZW5jb2RlSW50NjQoZWxlbWVudC5tX2ZpbGVTdGFydCk7CisgICAgICAgIGVu
Y29kZXIuZW5jb2RlSW50NjQoZWxlbWVudC5tX2ZpbGVMZW5ndGgpOworICAgICAgICBlbmNvZGVy
LmVuY29kZURvdWJsZShlbGVtZW50Lm1fZXhwZWN0ZWRGaWxlTW9kaWZpY2F0aW9uVGltZSk7CiAg
ICAgICAgIHJldHVybjsKICNlbmRpZgogICAgIH0KQEAgLTM5Niw3ICs0MDQsNyBAQCBzdGF0aWMg
Ym9vbCBkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgRm9ybURhdGFFbGVtZW50JiBlbGVtZW50KQog
ICAgICAgICBpbnQ2NF90IGZpbGVMZW5ndGg7CiAgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGVJ
bnQ2NChmaWxlTGVuZ3RoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgaWYg
KGZpbGVMZW5ndGggPCBmaWxlU3RhcnQpCisgICAgICAgIGlmIChmaWxlTGVuZ3RoIDwgMCkKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgZG91YmxlIGV4cGVjdGVkRmlsZU1vZGlm
aWNhdGlvblRpbWU7CiAgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGVEb3VibGUoZXhwZWN0ZWRG
aWxlTW9kaWZpY2F0aW9uVGltZSkpCkBAIC00MTAsMTIgKzQxOCwyNiBAQCBzdGF0aWMgYm9vbCBk
ZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgRm9ybURhdGFFbGVtZW50JiBlbGVtZW50KQogICAgIH0K
IAogI2lmIEVOQUJMRShCTE9CKQotICAgIGNhc2UgRm9ybURhdGFFbGVtZW50OjplbmNvZGVkQmxv
YjoKLSAgICAgICAgZWxlbWVudC5tX3R5cGUgPSBGb3JtRGF0YUVsZW1lbnQ6OmVuY29kZWRCbG9i
OwotICAgICAgICBTdHJpbmcgYmxvYlVSTFN0cmluZzsKLSAgICAgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZVN0cmluZyhibG9iVVJMU3RyaW5nKSkKKyAgICBjYXNlIEZvcm1EYXRhRWxlbWVudDo6ZW5j
b2RlZFVSTDoKKyAgICAgICAgZWxlbWVudC5tX3R5cGUgPSBGb3JtRGF0YUVsZW1lbnQ6OmVuY29k
ZWRVUkw7CisgICAgICAgIFN0cmluZyB1cmxTdHJpbmc7CisgICAgICAgIGlmICghZGVjb2Rlci5k
ZWNvZGVTdHJpbmcodXJsU3RyaW5nKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAg
ICAgZWxlbWVudC5tX2Jsb2JVUkwgPSBLVVJMKEtVUkwoKSwgYmxvYlVSTFN0cmluZyk7CisgICAg
ICAgIGludDY0X3QgZmlsZVN0YXJ0OworICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlSW50NjQo
ZmlsZVN0YXJ0KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgaW50NjRfdCBm
aWxlTGVuZ3RoOworICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlSW50NjQoZmlsZUxlbmd0aCkp
CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGlmIChmaWxlTGVuZ3RoIDwgMCkK
KyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgZG91YmxlIGV4cGVjdGVkRmlsZU1v
ZGlmaWNhdGlvblRpbWU7CisgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGVEb3VibGUoZXhwZWN0
ZWRGaWxlTW9kaWZpY2F0aW9uVGltZSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgIGVsZW1lbnQubV9maWxlU3RhcnQgPSBmaWxlU3RhcnQ7CisgICAgICAgIGVsZW1lbnQubV9m
aWxlTGVuZ3RoID0gZmlsZUxlbmd0aDsKKyAgICAgICAgZWxlbWVudC5tX2V4cGVjdGVkRmlsZU1v
ZGlmaWNhdGlvblRpbWUgPSBleHBlY3RlZEZpbGVNb2RpZmljYXRpb25UaW1lOworICAgICAgICBl
bGVtZW50Lm1fdXJsID0gS1VSTChLVVJMKCksIHVybFN0cmluZyk7CiAgICAgICAgIHJldHVybiB0
cnVlOwogI2VuZGlmCiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9Gb3JtRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3Jt
RGF0YS5oCmluZGV4IDg1YzkzMmEuLmJmZDE4NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL0Zvcm1EYXRhLmgKQEAgLTM5LDcgKzM5LDcgQEAgcHVibGljOgogCiAjaWYgRU5B
QkxFKEJMT0IpCiAgICAgRm9ybURhdGFFbGVtZW50KGNvbnN0IFN0cmluZyYgZmlsZW5hbWUsIGxv
bmcgbG9uZyBmaWxlU3RhcnQsIGxvbmcgbG9uZyBmaWxlTGVuZ3RoLCBkb3VibGUgZXhwZWN0ZWRG
aWxlTW9kaWZpY2F0aW9uVGltZSwgYm9vbCBzaG91bGRHZW5lcmF0ZUZpbGUpIDogbV90eXBlKGVu
Y29kZWRGaWxlKSwgbV9maWxlbmFtZShmaWxlbmFtZSksIG1fZmlsZVN0YXJ0KGZpbGVTdGFydCks
IG1fZmlsZUxlbmd0aChmaWxlTGVuZ3RoKSwgbV9leHBlY3RlZEZpbGVNb2RpZmljYXRpb25UaW1l
KGV4cGVjdGVkRmlsZU1vZGlmaWNhdGlvblRpbWUpLCBtX3Nob3VsZEdlbmVyYXRlRmlsZShzaG91
bGRHZW5lcmF0ZUZpbGUpIHsgfQotICAgIGV4cGxpY2l0IEZvcm1EYXRhRWxlbWVudChjb25zdCBL
VVJMJiBibG9iVVJMKSA6IG1fdHlwZShlbmNvZGVkQmxvYiksIG1fYmxvYlVSTChibG9iVVJMKSB7
IH0KKyAgICBGb3JtRGF0YUVsZW1lbnQoY29uc3QgS1VSTCYgdXJsLCBsb25nIGxvbmcgc3RhcnQs
IGxvbmcgbG9uZyBsZW5ndGgsIGRvdWJsZSBleHBlY3RlZEZpbGVNb2RpZmljYXRpb25UaW1lKSA6
IG1fdHlwZShlbmNvZGVkVVJMKSwgbV91cmwodXJsKSwgbV9maWxlU3RhcnQoc3RhcnQpLCBtX2Zp
bGVMZW5ndGgobGVuZ3RoKSwgbV9leHBlY3RlZEZpbGVNb2RpZmljYXRpb25UaW1lKGV4cGVjdGVk
RmlsZU1vZGlmaWNhdGlvblRpbWUpIHsgfQogI2Vsc2UKICAgICBGb3JtRGF0YUVsZW1lbnQoY29u
c3QgU3RyaW5nJiBmaWxlbmFtZSwgYm9vbCBzaG91bGRHZW5lcmF0ZUZpbGUpIDogbV90eXBlKGVu
Y29kZWRGaWxlKSwgbV9maWxlbmFtZShmaWxlbmFtZSksIG1fc2hvdWxkR2VuZXJhdGVGaWxlKHNo
b3VsZEdlbmVyYXRlRmlsZSkgeyB9CiAjZW5kaWYKQEAgLTQ4LDE2ICs0OCwxNiBAQCBwdWJsaWM6
CiAgICAgICAgIGRhdGEsCiAgICAgICAgIGVuY29kZWRGaWxlCiAjaWYgRU5BQkxFKEJMT0IpCi0g
ICAgICAgICwgZW5jb2RlZEJsb2IKKyAgICAgICAgLCBlbmNvZGVkVVJMCiAjZW5kaWYKICAgICB9
IG1fdHlwZTsKICAgICBWZWN0b3I8Y2hhcj4gbV9kYXRhOwogICAgIFN0cmluZyBtX2ZpbGVuYW1l
OwogI2lmIEVOQUJMRShCTE9CKQorICAgIEtVUkwgbV91cmw7CiAgICAgbG9uZyBsb25nIG1fZmls
ZVN0YXJ0OwogICAgIGxvbmcgbG9uZyBtX2ZpbGVMZW5ndGg7CiAgICAgZG91YmxlIG1fZXhwZWN0
ZWRGaWxlTW9kaWZpY2F0aW9uVGltZTsKLSAgICBLVVJMIG1fYmxvYlVSTDsKICNlbmRpZgogICAg
IFN0cmluZyBtX2dlbmVyYXRlZEZpbGVuYW1lOwogICAgIGJvb2wgbV9zaG91bGRHZW5lcmF0ZUZp
bGU7CkBAIC03NSw4ICs3NSw4IEBAIGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgRm9ybURh
dGFFbGVtZW50JiBhLCBjb25zdCBGb3JtRGF0YUVsZW1lbnQmIGIpCiAgICAgaWYgKGEubV90eXBl
ID09IEZvcm1EYXRhRWxlbWVudDo6ZW5jb2RlZEZpbGUpCiAjaWYgRU5BQkxFKEJMT0IpCiAgICAg
ICAgIHJldHVybiBhLm1fZmlsZW5hbWUgPT0gYi5tX2ZpbGVuYW1lICYmIGEubV9maWxlU3RhcnQg
PT0gYi5tX2ZpbGVTdGFydCAmJiBhLm1fZmlsZUxlbmd0aCA9PSBiLm1fZmlsZUxlbmd0aCAmJiBh
Lm1fZXhwZWN0ZWRGaWxlTW9kaWZpY2F0aW9uVGltZSA9PSBiLm1fZXhwZWN0ZWRGaWxlTW9kaWZp
Y2F0aW9uVGltZTsKLSAgICBpZiAoYS5tX3R5cGUgPT0gRm9ybURhdGFFbGVtZW50OjplbmNvZGVk
QmxvYikKLSAgICAgICAgcmV0dXJuIGEubV9ibG9iVVJMID09IGIubV9ibG9iVVJMOworICAgIGlm
IChhLm1fdHlwZSA9PSBGb3JtRGF0YUVsZW1lbnQ6OmVuY29kZWRVUkwpCisgICAgICAgIHJldHVy
biBhLm1fdXJsID09IGIubV91cmw7CiAjZWxzZQogICAgICAgICByZXR1cm4gYS5tX2ZpbGVuYW1l
ID09IGIubV9maWxlbmFtZTsKICNlbmRpZgpAQCAtMTA4LDcgKzEwOCw4IEBAIHB1YmxpYzoKICAg
ICB2b2lkIGFwcGVuZEZpbGUoY29uc3QgU3RyaW5nJiBmaWxlUGF0aCwgYm9vbCBzaG91bGRHZW5l
cmF0ZUZpbGUgPSBmYWxzZSk7CiAjaWYgRU5BQkxFKEJMT0IpCiAgICAgdm9pZCBhcHBlbmRGaWxl
UmFuZ2UoY29uc3QgU3RyaW5nJiBmaWxlbmFtZSwgbG9uZyBsb25nIHN0YXJ0LCBsb25nIGxvbmcg
bGVuZ3RoLCBkb3VibGUgZXhwZWN0ZWRNb2RpZmljYXRpb25UaW1lLCBib29sIHNob3VsZEdlbmVy
YXRlRmlsZSA9IGZhbHNlKTsKLSAgICB2b2lkIGFwcGVuZEJsb2IoY29uc3QgS1VSTCYgYmxvYlVS
TCk7CisgICAgdm9pZCBhcHBlbmRVUkwoY29uc3QgS1VSTCYpOworICAgIHZvaWQgYXBwZW5kVVJM
UmFuZ2UoY29uc3QgS1VSTCYsIGxvbmcgbG9uZyBzdGFydCwgbG9uZyBsb25nIGxlbmd0aCwgZG91
YmxlIGV4cGVjdGVkTW9kaWZpY2F0aW9uVGltZSk7CiAjZW5kaWYKIAogICAgIHZvaWQgZmxhdHRl
bihWZWN0b3I8Y2hhcj4mKSBjb25zdDsgLy8gb21pdHMgZmlsZXMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1M
SHR0cFJlcXVlc3QuY3BwCmluZGV4IDdiNWNiMzguLmU2MDI0Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAtNTYyLDcgKzU2Miw3IEBAIHZvaWQgWE1MSHR0cFJlcXVl
c3Q6OnNlbmQoQmxvYiogYm9keSwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgICAgICAgICBtX3Jl
cXVlc3RFbnRpdHlCb2R5LT5hcHBlbmRGaWxlKHN0YXRpY19jYXN0PEZpbGUqPihib2R5KS0+cGF0
aCgpKTsKICNpZiBFTkFCTEUoQkxPQikKICAgICAgICAgZWxzZQotICAgICAgICAgICAgbV9yZXF1
ZXN0RW50aXR5Qm9keS0+YXBwZW5kQmxvYihib2R5LT51cmwoKSk7CisgICAgICAgICAgICBtX3Jl
cXVlc3RFbnRpdHlCb2R5LT5hcHBlbmRVUkwoYm9keS0+dXJsKCkpOwogI2VuZGlmCiAgICAgfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGNhOGY3NTIuLmM4MDA2ZmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDgtMDggIEtpbnVrbyBZ
YXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gRm9ybURh
dGEgYW5kIFdlYkhUVFBCb2R5IHNob3VsZCBzdXBwb3J0IGZpbGVzeXN0ZW0gVVJMIHBvc3NpYmx5
IHdpdGggYXJiaXRyYXJ5IHJhbmdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02NTg1NgorCisgICAgICAgIEFkZGVkIGFwcGVuZFVSTCBhbmQgYXBwZW5k
VVJMUmFuZ2UgdG8gV2ViSFRUUEJvZHkuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViSFRUUEJvZHkuaDoKKyAgICAgICAgKiBzcmMv
V2ViSFRUUEJvZHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJIVFRQQm9keTo6ZWxlbWVudEF0
KTogQWRkZWQgVVJMUmFuZ2Ugc3VwcG9ydC4KKyAgICAgICAgKFdlYktpdDo6V2ViSFRUUEJvZHk6
OmFwcGVuZFVSTCk6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJIVFRQQm9keTo6YXBwZW5k
VVJMUmFuZ2UpOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViSFRUUEJvZHk6OmFwcGVuZEJs
b2IpOiBBZGRlZCBjb21tZW50ICh0byBiZSBkZXByZWNhdGVkKS4KKwogMjAxMS0wOC0wOSAgSm9j
aGVuIEVpc2luZ2VyICA8am9jaGVuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1d
IHJlbW92ZSB0ZW1wb3JhcnkgI2RlZmluZSBmcm9tIFdlYlVSTFJlcXVlc3QuaApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSFRUUEJvZHkuaCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkhUVFBCb2R5LmgKaW5kZXggNWEzYjFjYS4uMjkzNWQy
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSFRUUEJvZHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJIVFRQQm9keS5oCkBAIC00
OCwxMiArNDgsMTYgQEAgY2xhc3MgV2ViSFRUUEJvZHlQcml2YXRlOwogY2xhc3MgV2ViSFRUUEJv
ZHkgewogcHVibGljOgogICAgIHN0cnVjdCBFbGVtZW50IHsKLSAgICAgICAgZW51bSB7IFR5cGVE
YXRhLCBUeXBlRmlsZSwgVHlwZUJsb2IgfSB0eXBlOworICAgICAgICAvLyBUT0RPKGtpbnVrbyk6
IFR5cGVCbG9iIHNob3VsZCBiZSByZW1vdmVkIGFmdGVyIHRoZSB0d28tc2lkZWQgcGF0Y2ggZm9y
IGh0dHA6Ly93ZWJraXQub3JnL2IvNjU4NTYgaXMgbGFuZGVkLgorICAgICAgICBlbnVtIHsgVHlw
ZURhdGEsIFR5cGVGaWxlLCBUeXBlVVJMLCBUeXBlQmxvYiA9IFR5cGVVUkwgfSB0eXBlOwogICAg
ICAgICBXZWJEYXRhIGRhdGE7CiAgICAgICAgIFdlYlN0cmluZyBmaWxlUGF0aDsKICAgICAgICAg
bG9uZyBsb25nIGZpbGVTdGFydDsKICAgICAgICAgbG9uZyBsb25nIGZpbGVMZW5ndGg7IC8vIC0x
IG1lYW5zIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGUuCiAgICAgICAgIGRvdWJsZSBtb2RpZmljYXRp
b25UaW1lOworICAgICAgICBXZWJVUkwgdXJsOworCisgICAgICAgIC8vIFRPRE8oa2ludWtvKTog
dGhpcyBzaG91bGQgYmUgcmVtb3ZlZCBpbiBmYXZvciBvZiAndXJsJyBhZnRlciB0aGUgdHdvLXNp
ZGVkIHBhdGNoIGZvciBodHRwOi8vd2Via2l0Lm9yZy9iLzY1ODU2IGlzIGxhbmRlZC4KICAgICAg
ICAgV2ViVVJMIGJsb2JVUkw7CiAgICAgfTsKIApAQCAtODUsNiArODksMTEgQEAgcHVibGljOgog
ICAgIFdFQktJVF9FWFBPUlQgdm9pZCBhcHBlbmRGaWxlKGNvbnN0IFdlYlN0cmluZyYpOwogICAg
IC8vIFBhc3NpbmcgLTEgdG8gZmlsZUxlbmd0aCBtZWFucyB0byB0aGUgZW5kIG9mIHRoZSBmaWxl
LgogICAgIFdFQktJVF9FWFBPUlQgdm9pZCBhcHBlbmRGaWxlUmFuZ2UoY29uc3QgV2ViU3RyaW5n
JiwgbG9uZyBsb25nIGZpbGVTdGFydCwgbG9uZyBsb25nIGZpbGVMZW5ndGgsIGRvdWJsZSBtb2Rp
ZmljYXRpb25UaW1lKTsKKworICAgIC8vIEFwcGVuZCBibG9iIG9yIGZpbGVzeXN0ZW0gVVJMIHRv
IHRoZSBsaXN0IG9mIGVsbWVudHMuCisgICAgV0VCS0lUX0VYUE9SVCB2b2lkIGFwcGVuZFVSTChj
b25zdCBXZWJVUkwmKTsKKyAgICBXRUJLSVRfRVhQT1JUIHZvaWQgYXBwZW5kVVJMUmFuZ2UoY29u
c3QgV2ViVVJMJiwgbG9uZyBsb25nIHN0YXJ0LCBsb25nIGxvbmcgbGVuZ3RoLCBkb3VibGUgbW9k
aWZpY2F0aW9uVGltZSk7CisgICAgLy8gVE9ETyhraW51a28pOiB0aGlzIHNob3VsZCBiZSByZW1v
dmVkIGFmdGVyIHRoZSB0d28tc2lkZWQgcGF0Y2ggZm9yIGh0dHA6Ly93ZWJraXQub3JnL2IvNjU4
NTYgaXMgbGFuZGVkLgogICAgIFdFQktJVF9FWFBPUlQgdm9pZCBhcHBlbmRCbG9iKGNvbnN0IFdl
YlVSTCYpOwogCiAgICAgLy8gSWRlbnRpZmllcyBhIHBhcnRpY3VsYXIgZm9ybSBzdWJtaXNzaW9u
IGluc3RhbmNlLiAgQSB2YWx1ZSBvZiAwIGlzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJIVFRQQm9keS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJIVFRQQm9keS5jcHAKaW5kZXggZjMyYjY0Zi4uMzJhYzU4YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSFRUUEJvZHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkhUVFBCb2R5LmNwcApAQCAtNzgsNyArNzgsNyBAQCBib29sIFdlYkhU
VFBCb2R5OjplbGVtZW50QXQoc2l6ZV90IGluZGV4LCBFbGVtZW50JiByZXN1bHQpIGNvbnN0CiAg
ICAgcmVzdWx0LmZpbGVTdGFydCA9IDA7CiAgICAgcmVzdWx0LmZpbGVMZW5ndGggPSAwOwogICAg
IHJlc3VsdC5tb2RpZmljYXRpb25UaW1lID0gMC4wOwotICAgIHJlc3VsdC5ibG9iVVJMID0gS1VS
TCgpOworICAgIHJlc3VsdC51cmwgPSBLVVJMKCk7CiAKICAgICBzd2l0Y2ggKGVsZW1lbnQubV90
eXBlKSB7CiAgICAgY2FzZSBGb3JtRGF0YUVsZW1lbnQ6OmRhdGE6CkBAIC05NSw5ICs5NSwxMiBA
QCBib29sIFdlYkhUVFBCb2R5OjplbGVtZW50QXQoc2l6ZV90IGluZGV4LCBFbGVtZW50JiByZXN1
bHQpIGNvbnN0CiAjZW5kaWYKICAgICAgICAgYnJlYWs7CiAjaWYgRU5BQkxFKEJMT0IpCi0gICAg
Y2FzZSBGb3JtRGF0YUVsZW1lbnQ6OmVuY29kZWRCbG9iOgotICAgICAgICByZXN1bHQudHlwZSA9
IEVsZW1lbnQ6OlR5cGVCbG9iOwotICAgICAgICByZXN1bHQuYmxvYlVSTCA9IGVsZW1lbnQubV9i
bG9iVVJMOworICAgIGNhc2UgRm9ybURhdGFFbGVtZW50OjplbmNvZGVkVVJMOgorICAgICAgICBy
ZXN1bHQudHlwZSA9IEVsZW1lbnQ6OlR5cGVVUkw7CisgICAgICAgIHJlc3VsdC51cmwgPSBlbGVt
ZW50Lm1fdXJsOworICAgICAgICByZXN1bHQuZmlsZVN0YXJ0ID0gZWxlbWVudC5tX2ZpbGVTdGFy
dDsKKyAgICAgICAgcmVzdWx0LmZpbGVMZW5ndGggPSBlbGVtZW50Lm1fZmlsZUxlbmd0aDsKKyAg
ICAgICAgcmVzdWx0Lm1vZGlmaWNhdGlvblRpbWUgPSBlbGVtZW50Lm1fZXhwZWN0ZWRGaWxlTW9k
aWZpY2F0aW9uVGltZTsKICAgICAgICAgYnJlYWs7CiAjZW5kaWYKICAgICBkZWZhdWx0OgpAQCAt
MTA1LDYgKzEwOCw5IEBAIGJvb2wgV2ViSFRUUEJvZHk6OmVsZW1lbnRBdChzaXplX3QgaW5kZXgs
IEVsZW1lbnQmIHJlc3VsdCkgY29uc3QKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAor
ICAgIC8vIFRPRE8oa2ludWtvKTogdGhpcyBzaG91bGQgZ28gYXdheSBhZnRlciB0aGUgdHdvLXNp
ZGVkIHBhdGNoIGlzIGxhbmRlZC4KKyAgICByZXN1bHQuYmxvYlVSTCA9IHJlc3VsdC51cmw7CisK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMTMwLDE0ICsxMzYsMjggQEAgdm9pZCBXZWJIVFRQ
Qm9keTo6YXBwZW5kRmlsZVJhbmdlKGNvbnN0IFdlYlN0cmluZyYgZmlsZVBhdGgsIGxvbmcgbG9u
ZyBmaWxlU3RhcnQKICNlbmRpZgogfQogCi12b2lkIFdlYkhUVFBCb2R5OjphcHBlbmRCbG9iKGNv
bnN0IFdlYlVSTCYgYmxvYlVSTCkKK3ZvaWQgV2ViSFRUUEJvZHk6OmFwcGVuZFVSTChjb25zdCBX
ZWJVUkwmIHVybCkKIHsKICNpZiBFTkFCTEUoQkxPQikKICAgICBlbnN1cmVNdXRhYmxlKCk7Ci0g
ICAgbV9wcml2YXRlLT5hcHBlbmRCbG9iKGJsb2JVUkwpOworICAgIG1fcHJpdmF0ZS0+YXBwZW5k
VVJMKHVybCk7CiAjZW5kaWYKIH0KIAordm9pZCBXZWJIVFRQQm9keTo6YXBwZW5kVVJMUmFuZ2Uo
Y29uc3QgV2ViVVJMJiB1cmwsIGxvbmcgbG9uZyBzdGFydCwgbG9uZyBsb25nIGxlbmd0aCwgZG91
YmxlIG1vZGlmaWNhdGlvblRpbWUpCit7CisjaWYgRU5BQkxFKEJMT0IpCisgICAgZW5zdXJlTXV0
YWJsZSgpOworICAgIG1fcHJpdmF0ZS0+YXBwZW5kVVJMUmFuZ2UodXJsLCBzdGFydCwgbGVuZ3Ro
LCBtb2RpZmljYXRpb25UaW1lKTsKKyNlbmRpZgorfQorCit2b2lkIFdlYkhUVFBCb2R5OjphcHBl
bmRCbG9iKGNvbnN0IFdlYlVSTCYgYmxvYlVSTCkKK3sKKyAgICAvLyBUT0RPKGtpbnVrbyk6IHRo
aXMgc2hvdWxkIGJlIHJlbW92ZWQgYWZ0ZXIgdGhlIHR3by1zaWRlZCBwYXRjaCBpcyBsYW5kZWQu
CisgICAgYXBwZW5kVVJMKGJsb2JVUkwpOworfQorCiBsb25nIGxvbmcgV2ViSFRUUEJvZHk6Omlk
ZW50aWZpZXIoKSBjb25zdAogewogICAgIEFTU0VSVCghaXNOdWxsKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103481</attachid>
            <date>2011-08-10 06:26:27 -0700</date>
            <delta_ts>2011-08-10 07:12:45 -0700</delta_ts>
            <desc>Patch for submit (added assertion)</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>13262</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">Y29tbWl0IGQyNWE4NWVjZTYxYzU2OTA0Yjc4OWFkY2UzNmU5MTg3YzUyZTI4ZWIKQXV0aG9yOiBL
aW51a28gWWFzdWRhIDxraW51a29AY2hyb21pdW0ub3JnPgpEYXRlOiAgIFdlZCBBdWcgMTAgMjE6
NTU6MjcgMjAxMSArMDkwMAoKICAgIFBhdGNoIGZvciA2NTg1NgoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4NzJk
NDViLi5jZmRjMzcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTEtMDgtMDggIEtp
bnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0g
Rm9ybURhdGEgYW5kIFdlYkhUVFBCb2R5IHNob3VsZCBzdXBwb3J0IGZpbGVzeXN0ZW0gVVJMIHBv
c3NpYmx5IHdpdGggYXJiaXRyYXJ5IHJhbmdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02NTg1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBhcyBpdCBoYXMgbm8gZnVuY3Rpb25hbGl0
eSBjaGFuZ2UuCisgICAgICAgIChFeGlzdGluZyBibG9iL2Zvcm0gdGVzdHMgc2hvdWxkIHBhc3Mu
KQorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGb3JtRGF0YTo6ZGVlcENvcHkpOgorICAgICAgICAoV2ViQ29yZTo6Rm9ybURhdGE6
OmFwcGVuZFVSTCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Rm9ybURhdGE6OmFwcGVuZFVS
TFJhbmdlKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpGb3JtRGF0YTo6YXBwZW5kS2V5VmFs
dWVQYWlySXRlbXMpOgorICAgICAgICAoV2ViQ29yZTo6ZW5jb2RlKToKKyAgICAgICAgKFdlYkNv
cmU6OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YS5oOgorICAg
ICAgICAoV2ViQ29yZTo6Rm9ybURhdGFFbGVtZW50OjpGb3JtRGF0YUVsZW1lbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6b3BlcmF0b3I9PSk6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpzZW5kKTogQ2hhbmdlZCB0byB1
c2UgYXBwZW5kVVJMIGluc3RlYWQgb2YgYXBwZW5kQmxvYi4KKwogMjAxMS0wOC0xMCAgQW5kcmV5
IEtvc3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IE5ldHdvcmsgcGFuZWwgYWx3YXlzIGRpc3BsYXlzIGZpbGU6Ly8gcmVzb3VyY2VzIGFzICIocGVu
ZGluZykiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1E
YXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuY3BwCmlu
ZGV4IDk3ODRiN2YuLmY5NmVjYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvRm9ybURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvRm9ybURhdGEuY3BwCkBAIC0xNDAsOCArMTQwLDggQEAgUGFzc1JlZlB0cjxGb3JtRGF0YT4g
Rm9ybURhdGE6OmRlZXBDb3B5KCkgY29uc3QKICNlbmRpZgogICAgICAgICAgICAgYnJlYWs7CiAj
aWYgRU5BQkxFKEJMT0IpCi0gICAgICAgIGNhc2UgRm9ybURhdGFFbGVtZW50OjplbmNvZGVkQmxv
YjoKLSAgICAgICAgICAgIGZvcm1EYXRhLT5tX2VsZW1lbnRzLmFwcGVuZChGb3JtRGF0YUVsZW1l
bnQoZS5tX2Jsb2JVUkwpKTsKKyAgICAgICAgY2FzZSBGb3JtRGF0YUVsZW1lbnQ6OmVuY29kZWRV
Ukw6CisgICAgICAgICAgICBmb3JtRGF0YS0+bV9lbGVtZW50cy5hcHBlbmQoRm9ybURhdGFFbGVt
ZW50KGUubV91cmwsIGUubV9maWxlU3RhcnQsIGUubV9maWxlTGVuZ3RoLCBlLm1fZXhwZWN0ZWRG
aWxlTW9kaWZpY2F0aW9uVGltZSkpOwogICAgICAgICAgICAgYnJlYWs7CiAjZW5kaWYKICAgICAg
ICAgfQpAQCAtMTc0LDkgKzE3NCwxNCBAQCB2b2lkIEZvcm1EYXRhOjphcHBlbmRGaWxlUmFuZ2Uo
Y29uc3QgU3RyaW5nJiBmaWxlbmFtZSwgbG9uZyBsb25nIHN0YXJ0LCBsb25nIGxvbgogICAgIG1f
ZWxlbWVudHMuYXBwZW5kKEZvcm1EYXRhRWxlbWVudChmaWxlbmFtZSwgc3RhcnQsIGxlbmd0aCwg
ZXhwZWN0ZWRNb2RpZmljYXRpb25UaW1lLCBzaG91bGRHZW5lcmF0ZUZpbGUpKTsKIH0KIAotdm9p
ZCBGb3JtRGF0YTo6YXBwZW5kQmxvYihjb25zdCBLVVJMJiBibG9iVVJMKQordm9pZCBGb3JtRGF0
YTo6YXBwZW5kVVJMKGNvbnN0IEtVUkwmIHVybCkKIHsKLSAgICBtX2VsZW1lbnRzLmFwcGVuZChG
b3JtRGF0YUVsZW1lbnQoYmxvYlVSTCkpOworICAgIG1fZWxlbWVudHMuYXBwZW5kKEZvcm1EYXRh
RWxlbWVudCh1cmwsIDAsIEJsb2JEYXRhSXRlbTo6dG9FbmRPZkZpbGUsIEJsb2JEYXRhSXRlbTo6
ZG9Ob3RDaGVja0ZpbGVDaGFuZ2UpKTsKK30KKwordm9pZCBGb3JtRGF0YTo6YXBwZW5kVVJMUmFu
Z2UoY29uc3QgS1VSTCYgdXJsLCBsb25nIGxvbmcgc3RhcnQsIGxvbmcgbG9uZyBsZW5ndGgsIGRv
dWJsZSBleHBlY3RlZE1vZGlmaWNhdGlvblRpbWUpCit7CisgICAgbV9lbGVtZW50cy5hcHBlbmQo
Rm9ybURhdGFFbGVtZW50KHVybCwgc3RhcnQsIGxlbmd0aCwgZXhwZWN0ZWRNb2RpZmljYXRpb25U
aW1lKSk7CiB9CiAjZW5kaWYKIApAQCAtMjUwLDcgKzI1NSw3IEBAIHZvaWQgRm9ybURhdGE6OmFw
cGVuZEtleVZhbHVlUGFpckl0ZW1zKGNvbnN0IEZvcm1EYXRhTGlzdCYgbGlzdCwgY29uc3QgVGV4
dEVuY29kCiAgICAgICAgICAgICAgICAgfQogI2lmIEVOQUJMRShCTE9CKQogICAgICAgICAgICAg
ICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgYXBwZW5kQmxvYih2YWx1ZS5ibG9iKCktPnVy
bCgpKTsKKyAgICAgICAgICAgICAgICAgICAgYXBwZW5kVVJMKHZhbHVlLmJsb2IoKS0+dXJsKCkp
OwogI2VuZGlmCiAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICBhcHBlbmREYXRh
KHZhbHVlLmRhdGEoKS5kYXRhKCksIHZhbHVlLmRhdGEoKS5sZW5ndGgoKSk7CkBAIC0zNTUsOCAr
MzYwLDExIEBAIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBGb3Jt
RGF0YUVsZW1lbnQmIGVsZW1lbnQpCiAgICAgICAgIHJldHVybjsKIAogI2lmIEVOQUJMRShCTE9C
KQotICAgIGNhc2UgRm9ybURhdGFFbGVtZW50OjplbmNvZGVkQmxvYjoKLSAgICAgICAgZW5jb2Rl
ci5lbmNvZGVTdHJpbmcoZWxlbWVudC5tX2Jsb2JVUkwuc3RyaW5nKCkpOworICAgIGNhc2UgRm9y
bURhdGFFbGVtZW50OjplbmNvZGVkVVJMOgorICAgICAgICBlbmNvZGVyLmVuY29kZVN0cmluZyhl
bGVtZW50Lm1fdXJsLnN0cmluZygpKTsKKyAgICAgICAgZW5jb2Rlci5lbmNvZGVJbnQ2NChlbGVt
ZW50Lm1fZmlsZVN0YXJ0KTsKKyAgICAgICAgZW5jb2Rlci5lbmNvZGVJbnQ2NChlbGVtZW50Lm1f
ZmlsZUxlbmd0aCk7CisgICAgICAgIGVuY29kZXIuZW5jb2RlRG91YmxlKGVsZW1lbnQubV9leHBl
Y3RlZEZpbGVNb2RpZmljYXRpb25UaW1lKTsKICAgICAgICAgcmV0dXJuOwogI2VuZGlmCiAgICAg
fQpAQCAtMzk2LDcgKzQwNCw3IEBAIHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiBkZWNvZGVy
LCBGb3JtRGF0YUVsZW1lbnQmIGVsZW1lbnQpCiAgICAgICAgIGludDY0X3QgZmlsZUxlbmd0aDsK
ICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZUludDY0KGZpbGVMZW5ndGgpKQogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBpZiAoZmlsZUxlbmd0aCA8IGZpbGVTdGFydCkKKyAg
ICAgICAgaWYgKGZpbGVMZW5ndGggPCAwKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
ICAgICBkb3VibGUgZXhwZWN0ZWRGaWxlTW9kaWZpY2F0aW9uVGltZTsKICAgICAgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZURvdWJsZShleHBlY3RlZEZpbGVNb2RpZmljYXRpb25UaW1lKSkKQEAgLTQx
MCwxMiArNDE4LDI2IEBAIHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBGb3Jt
RGF0YUVsZW1lbnQmIGVsZW1lbnQpCiAgICAgfQogCiAjaWYgRU5BQkxFKEJMT0IpCi0gICAgY2Fz
ZSBGb3JtRGF0YUVsZW1lbnQ6OmVuY29kZWRCbG9iOgotICAgICAgICBlbGVtZW50Lm1fdHlwZSA9
IEZvcm1EYXRhRWxlbWVudDo6ZW5jb2RlZEJsb2I7Ci0gICAgICAgIFN0cmluZyBibG9iVVJMU3Ry
aW5nOwotICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlU3RyaW5nKGJsb2JVUkxTdHJpbmcpKQor
ICAgIGNhc2UgRm9ybURhdGFFbGVtZW50OjplbmNvZGVkVVJMOgorICAgICAgICBlbGVtZW50Lm1f
dHlwZSA9IEZvcm1EYXRhRWxlbWVudDo6ZW5jb2RlZFVSTDsKKyAgICAgICAgU3RyaW5nIHVybFN0
cmluZzsKKyAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZVN0cmluZyh1cmxTdHJpbmcpKQogICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBlbGVtZW50Lm1fYmxvYlVSTCA9IEtVUkwo
S1VSTCgpLCBibG9iVVJMU3RyaW5nKTsKKyAgICAgICAgaW50NjRfdCBmaWxlU3RhcnQ7CisgICAg
ICAgIGlmICghZGVjb2Rlci5kZWNvZGVJbnQ2NChmaWxlU3RhcnQpKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICBpbnQ2NF90IGZpbGVMZW5ndGg7CisgICAgICAgIGlmICghZGVj
b2Rlci5kZWNvZGVJbnQ2NChmaWxlTGVuZ3RoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgaWYgKGZpbGVMZW5ndGggPCAwKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICAgICBkb3VibGUgZXhwZWN0ZWRGaWxlTW9kaWZpY2F0aW9uVGltZTsKKyAgICAgICAgaWYg
KCFkZWNvZGVyLmRlY29kZURvdWJsZShleHBlY3RlZEZpbGVNb2RpZmljYXRpb25UaW1lKSkKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgZWxlbWVudC5tX2ZpbGVTdGFydCA9IGZp
bGVTdGFydDsKKyAgICAgICAgZWxlbWVudC5tX2ZpbGVMZW5ndGggPSBmaWxlTGVuZ3RoOworICAg
ICAgICBlbGVtZW50Lm1fZXhwZWN0ZWRGaWxlTW9kaWZpY2F0aW9uVGltZSA9IGV4cGVjdGVkRmls
ZU1vZGlmaWNhdGlvblRpbWU7CisgICAgICAgIGVsZW1lbnQubV91cmwgPSBLVVJMKEtVUkwoKSwg
dXJsU3RyaW5nKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAjZW5kaWYKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhLmgKaW5kZXggODVjOTMyYS4uYmZkMTg2
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuaApAQCAtMzks
NyArMzksNyBAQCBwdWJsaWM6CiAKICNpZiBFTkFCTEUoQkxPQikKICAgICBGb3JtRGF0YUVsZW1l
bnQoY29uc3QgU3RyaW5nJiBmaWxlbmFtZSwgbG9uZyBsb25nIGZpbGVTdGFydCwgbG9uZyBsb25n
IGZpbGVMZW5ndGgsIGRvdWJsZSBleHBlY3RlZEZpbGVNb2RpZmljYXRpb25UaW1lLCBib29sIHNo
b3VsZEdlbmVyYXRlRmlsZSkgOiBtX3R5cGUoZW5jb2RlZEZpbGUpLCBtX2ZpbGVuYW1lKGZpbGVu
YW1lKSwgbV9maWxlU3RhcnQoZmlsZVN0YXJ0KSwgbV9maWxlTGVuZ3RoKGZpbGVMZW5ndGgpLCBt
X2V4cGVjdGVkRmlsZU1vZGlmaWNhdGlvblRpbWUoZXhwZWN0ZWRGaWxlTW9kaWZpY2F0aW9uVGlt
ZSksIG1fc2hvdWxkR2VuZXJhdGVGaWxlKHNob3VsZEdlbmVyYXRlRmlsZSkgeyB9Ci0gICAgZXhw
bGljaXQgRm9ybURhdGFFbGVtZW50KGNvbnN0IEtVUkwmIGJsb2JVUkwpIDogbV90eXBlKGVuY29k
ZWRCbG9iKSwgbV9ibG9iVVJMKGJsb2JVUkwpIHsgfQorICAgIEZvcm1EYXRhRWxlbWVudChjb25z
dCBLVVJMJiB1cmwsIGxvbmcgbG9uZyBzdGFydCwgbG9uZyBsb25nIGxlbmd0aCwgZG91YmxlIGV4
cGVjdGVkRmlsZU1vZGlmaWNhdGlvblRpbWUpIDogbV90eXBlKGVuY29kZWRVUkwpLCBtX3VybCh1
cmwpLCBtX2ZpbGVTdGFydChzdGFydCksIG1fZmlsZUxlbmd0aChsZW5ndGgpLCBtX2V4cGVjdGVk
RmlsZU1vZGlmaWNhdGlvblRpbWUoZXhwZWN0ZWRGaWxlTW9kaWZpY2F0aW9uVGltZSkgeyB9CiAj
ZWxzZQogICAgIEZvcm1EYXRhRWxlbWVudChjb25zdCBTdHJpbmcmIGZpbGVuYW1lLCBib29sIHNo
b3VsZEdlbmVyYXRlRmlsZSkgOiBtX3R5cGUoZW5jb2RlZEZpbGUpLCBtX2ZpbGVuYW1lKGZpbGVu
YW1lKSwgbV9zaG91bGRHZW5lcmF0ZUZpbGUoc2hvdWxkR2VuZXJhdGVGaWxlKSB7IH0KICNlbmRp
ZgpAQCAtNDgsMTYgKzQ4LDE2IEBAIHB1YmxpYzoKICAgICAgICAgZGF0YSwKICAgICAgICAgZW5j
b2RlZEZpbGUKICNpZiBFTkFCTEUoQkxPQikKLSAgICAgICAgLCBlbmNvZGVkQmxvYgorICAgICAg
ICAsIGVuY29kZWRVUkwKICNlbmRpZgogICAgIH0gbV90eXBlOwogICAgIFZlY3RvcjxjaGFyPiBt
X2RhdGE7CiAgICAgU3RyaW5nIG1fZmlsZW5hbWU7CiAjaWYgRU5BQkxFKEJMT0IpCisgICAgS1VS
TCBtX3VybDsKICAgICBsb25nIGxvbmcgbV9maWxlU3RhcnQ7CiAgICAgbG9uZyBsb25nIG1fZmls
ZUxlbmd0aDsKICAgICBkb3VibGUgbV9leHBlY3RlZEZpbGVNb2RpZmljYXRpb25UaW1lOwotICAg
IEtVUkwgbV9ibG9iVVJMOwogI2VuZGlmCiAgICAgU3RyaW5nIG1fZ2VuZXJhdGVkRmlsZW5hbWU7
CiAgICAgYm9vbCBtX3Nob3VsZEdlbmVyYXRlRmlsZTsKQEAgLTc1LDggKzc1LDggQEAgaW5saW5l
IGJvb2wgb3BlcmF0b3I9PShjb25zdCBGb3JtRGF0YUVsZW1lbnQmIGEsIGNvbnN0IEZvcm1EYXRh
RWxlbWVudCYgYikKICAgICBpZiAoYS5tX3R5cGUgPT0gRm9ybURhdGFFbGVtZW50OjplbmNvZGVk
RmlsZSkKICNpZiBFTkFCTEUoQkxPQikKICAgICAgICAgcmV0dXJuIGEubV9maWxlbmFtZSA9PSBi
Lm1fZmlsZW5hbWUgJiYgYS5tX2ZpbGVTdGFydCA9PSBiLm1fZmlsZVN0YXJ0ICYmIGEubV9maWxl
TGVuZ3RoID09IGIubV9maWxlTGVuZ3RoICYmIGEubV9leHBlY3RlZEZpbGVNb2RpZmljYXRpb25U
aW1lID09IGIubV9leHBlY3RlZEZpbGVNb2RpZmljYXRpb25UaW1lOwotICAgIGlmIChhLm1fdHlw
ZSA9PSBGb3JtRGF0YUVsZW1lbnQ6OmVuY29kZWRCbG9iKQotICAgICAgICByZXR1cm4gYS5tX2Js
b2JVUkwgPT0gYi5tX2Jsb2JVUkw7CisgICAgaWYgKGEubV90eXBlID09IEZvcm1EYXRhRWxlbWVu
dDo6ZW5jb2RlZFVSTCkKKyAgICAgICAgcmV0dXJuIGEubV91cmwgPT0gYi5tX3VybDsKICNlbHNl
CiAgICAgICAgIHJldHVybiBhLm1fZmlsZW5hbWUgPT0gYi5tX2ZpbGVuYW1lOwogI2VuZGlmCkBA
IC0xMDgsNyArMTA4LDggQEAgcHVibGljOgogICAgIHZvaWQgYXBwZW5kRmlsZShjb25zdCBTdHJp
bmcmIGZpbGVQYXRoLCBib29sIHNob3VsZEdlbmVyYXRlRmlsZSA9IGZhbHNlKTsKICNpZiBFTkFC
TEUoQkxPQikKICAgICB2b2lkIGFwcGVuZEZpbGVSYW5nZShjb25zdCBTdHJpbmcmIGZpbGVuYW1l
LCBsb25nIGxvbmcgc3RhcnQsIGxvbmcgbG9uZyBsZW5ndGgsIGRvdWJsZSBleHBlY3RlZE1vZGlm
aWNhdGlvblRpbWUsIGJvb2wgc2hvdWxkR2VuZXJhdGVGaWxlID0gZmFsc2UpOwotICAgIHZvaWQg
YXBwZW5kQmxvYihjb25zdCBLVVJMJiBibG9iVVJMKTsKKyAgICB2b2lkIGFwcGVuZFVSTChjb25z
dCBLVVJMJik7CisgICAgdm9pZCBhcHBlbmRVUkxSYW5nZShjb25zdCBLVVJMJiwgbG9uZyBsb25n
IHN0YXJ0LCBsb25nIGxvbmcgbGVuZ3RoLCBkb3VibGUgZXhwZWN0ZWRNb2RpZmljYXRpb25UaW1l
KTsKICNlbmRpZgogCiAgICAgdm9pZCBmbGF0dGVuKFZlY3RvcjxjaGFyPiYpIGNvbnN0OyAvLyBv
bWl0cyBmaWxlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKaW5kZXggN2I1Y2Iz
OC4uZTYwMjRjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBAIC01NjIs
NyArNTYyLDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6c2VuZChCbG9iKiBib2R5LCBFeGNlcHRp
b25Db2RlJiBlYykKICAgICAgICAgICAgIG1fcmVxdWVzdEVudGl0eUJvZHktPmFwcGVuZEZpbGUo
c3RhdGljX2Nhc3Q8RmlsZSo+KGJvZHkpLT5wYXRoKCkpOwogI2lmIEVOQUJMRShCTE9CKQogICAg
ICAgICBlbHNlCi0gICAgICAgICAgICBtX3JlcXVlc3RFbnRpdHlCb2R5LT5hcHBlbmRCbG9iKGJv
ZHktPnVybCgpKTsKKyAgICAgICAgICAgIG1fcmVxdWVzdEVudGl0eUJvZHktPmFwcGVuZFVSTChi
b2R5LT51cmwoKSk7CiAjZW5kaWYKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5k
ZXggYjI1YTJjZi4uNjg4MTY0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxOSBAQAorMjAxMS0wOC0wOCAgS2ludWtvIFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgW2Nocm9taXVtXSBGb3JtRGF0YSBhbmQgV2ViSFRUUEJvZHkgc2hvdWxkIHN1
cHBvcnQgZmlsZXN5c3RlbSBVUkwgcG9zc2libHkgd2l0aCBhcmJpdHJhcnkgcmFuZ2UKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODU2CisKKyAgICAg
ICAgQWRkZWQgYXBwZW5kVVJMIGFuZCBhcHBlbmRVUkxSYW5nZSB0byBXZWJIVFRQQm9keS4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHB1YmxpYy9X
ZWJIVFRQQm9keS5oOgorICAgICAgICAqIHNyYy9XZWJIVFRQQm9keS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYkhUVFBCb2R5OjplbGVtZW50QXQpOiBBZGRlZCBVUkxSYW5nZSBzdXBwb3J0Lgor
ICAgICAgICAoV2ViS2l0OjpXZWJIVFRQQm9keTo6YXBwZW5kVVJMKTogQWRkZWQuCisgICAgICAg
IChXZWJLaXQ6OldlYkhUVFBCb2R5OjphcHBlbmRVUkxSYW5nZSk6IEFkZGVkLgorICAgICAgICAo
V2ViS2l0OjpXZWJIVFRQQm9keTo6YXBwZW5kQmxvYik6IEFkZGVkIGNvbW1lbnQgKHRvIGJlIGRl
cHJlY2F0ZWQpLgorCiAyMDExLTA4LTEwICBQZXRlciBLYXN0aW5nICA8cGthc3RpbmdAZ29vZ2xl
LmNvbT4KIAogICAgICAgICBbQ2hyb21pdW1dIE5hbWUgYW4gZW51bSB1c2VkIGluIHNvbWUgdGVt
cGxhdGUgYXJndW1lbnRzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViSFRUUEJvZHkuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkhUVFBC
b2R5LmgKaW5kZXggYzcwNzgyZi4uZWYzNTY4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViSFRUUEJvZHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJIVFRQQm9keS5oCkBAIC00OCwxMiArNDgsMTYgQEAgY2xhc3MgV2ViSFRUUEJv
ZHlQcml2YXRlOwogY2xhc3MgV2ViSFRUUEJvZHkgewogcHVibGljOgogICAgIHN0cnVjdCBFbGVt
ZW50IHsKLSAgICAgICAgZW51bSBUeXBlIHsgVHlwZURhdGEsIFR5cGVGaWxlLCBUeXBlQmxvYiB9
IHR5cGU7CisgICAgICAgIC8vIFRPRE8oa2ludWtvKTogVHlwZUJsb2Igc2hvdWxkIGJlIHJlbW92
ZWQgYWZ0ZXIgdGhlIHR3by1zaWRlZCBwYXRjaCBmb3IgaHR0cDovL3dlYmtpdC5vcmcvYi82NTg1
NiBpcyBsYW5kZWQuCisgICAgICAgIGVudW0geyBUeXBlRGF0YSwgVHlwZUZpbGUsIFR5cGVVUkws
IFR5cGVCbG9iID0gVHlwZVVSTCB9IHR5cGU7CiAgICAgICAgIFdlYkRhdGEgZGF0YTsKICAgICAg
ICAgV2ViU3RyaW5nIGZpbGVQYXRoOwogICAgICAgICBsb25nIGxvbmcgZmlsZVN0YXJ0OwogICAg
ICAgICBsb25nIGxvbmcgZmlsZUxlbmd0aDsgLy8gLTEgbWVhbnMgdG8gdGhlIGVuZCBvZiB0aGUg
ZmlsZS4KICAgICAgICAgZG91YmxlIG1vZGlmaWNhdGlvblRpbWU7CisgICAgICAgIFdlYlVSTCB1
cmw7CisKKyAgICAgICAgLy8gVE9ETyhraW51a28pOiB0aGlzIHNob3VsZCBiZSByZW1vdmVkIGlu
IGZhdm9yIG9mICd1cmwnIGFmdGVyIHRoZSB0d28tc2lkZWQgcGF0Y2ggZm9yIGh0dHA6Ly93ZWJr
aXQub3JnL2IvNjU4NTYgaXMgbGFuZGVkLgogICAgICAgICBXZWJVUkwgYmxvYlVSTDsKICAgICB9
OwogCkBAIC04NSw2ICs4OSwxMSBAQCBwdWJsaWM6CiAgICAgV0VCS0lUX0VYUE9SVCB2b2lkIGFw
cGVuZEZpbGUoY29uc3QgV2ViU3RyaW5nJik7CiAgICAgLy8gUGFzc2luZyAtMSB0byBmaWxlTGVu
Z3RoIG1lYW5zIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGUuCiAgICAgV0VCS0lUX0VYUE9SVCB2b2lk
IGFwcGVuZEZpbGVSYW5nZShjb25zdCBXZWJTdHJpbmcmLCBsb25nIGxvbmcgZmlsZVN0YXJ0LCBs
b25nIGxvbmcgZmlsZUxlbmd0aCwgZG91YmxlIG1vZGlmaWNhdGlvblRpbWUpOworCisgICAgLy8g
QXBwZW5kIGJsb2Igb3IgZmlsZXN5c3RlbSBVUkwgdG8gdGhlIGxpc3Qgb2YgZWxlbWVudHMuCisg
ICAgV0VCS0lUX0VYUE9SVCB2b2lkIGFwcGVuZFVSTChjb25zdCBXZWJVUkwmKTsKKyAgICBXRUJL
SVRfRVhQT1JUIHZvaWQgYXBwZW5kVVJMUmFuZ2UoY29uc3QgV2ViVVJMJiwgbG9uZyBsb25nIHN0
YXJ0LCBsb25nIGxvbmcgbGVuZ3RoLCBkb3VibGUgbW9kaWZpY2F0aW9uVGltZSk7CisgICAgLy8g
VE9ETyhraW51a28pOiB0aGlzIHNob3VsZCBiZSByZW1vdmVkIGFmdGVyIHRoZSB0d28tc2lkZWQg
cGF0Y2ggZm9yIGh0dHA6Ly93ZWJraXQub3JnL2IvNjU4NTYgaXMgbGFuZGVkLgogICAgIFdFQktJ
VF9FWFBPUlQgdm9pZCBhcHBlbmRCbG9iKGNvbnN0IFdlYlVSTCYpOwogCiAgICAgLy8gSWRlbnRp
ZmllcyBhIHBhcnRpY3VsYXIgZm9ybSBzdWJtaXNzaW9uIGluc3RhbmNlLiAgQSB2YWx1ZSBvZiAw
IGlzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJIVFRQQm9keS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJIVFRQQm9keS5jcHAKaW5kZXggZjMy
YjY0Zi4uMjc2ZDRhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
SFRUUEJvZHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkhUVFBCb2R5
LmNwcApAQCAtNzgsNyArNzgsNyBAQCBib29sIFdlYkhUVFBCb2R5OjplbGVtZW50QXQoc2l6ZV90
IGluZGV4LCBFbGVtZW50JiByZXN1bHQpIGNvbnN0CiAgICAgcmVzdWx0LmZpbGVTdGFydCA9IDA7
CiAgICAgcmVzdWx0LmZpbGVMZW5ndGggPSAwOwogICAgIHJlc3VsdC5tb2RpZmljYXRpb25UaW1l
ID0gMC4wOwotICAgIHJlc3VsdC5ibG9iVVJMID0gS1VSTCgpOworICAgIHJlc3VsdC51cmwgPSBL
VVJMKCk7CiAKICAgICBzd2l0Y2ggKGVsZW1lbnQubV90eXBlKSB7CiAgICAgY2FzZSBGb3JtRGF0
YUVsZW1lbnQ6OmRhdGE6CkBAIC05NSw5ICs5NSwxNiBAQCBib29sIFdlYkhUVFBCb2R5OjplbGVt
ZW50QXQoc2l6ZV90IGluZGV4LCBFbGVtZW50JiByZXN1bHQpIGNvbnN0CiAjZW5kaWYKICAgICAg
ICAgYnJlYWs7CiAjaWYgRU5BQkxFKEJMT0IpCi0gICAgY2FzZSBGb3JtRGF0YUVsZW1lbnQ6OmVu
Y29kZWRCbG9iOgotICAgICAgICByZXN1bHQudHlwZSA9IEVsZW1lbnQ6OlR5cGVCbG9iOwotICAg
ICAgICByZXN1bHQuYmxvYlVSTCA9IGVsZW1lbnQubV9ibG9iVVJMOworICAgIGNhc2UgRm9ybURh
dGFFbGVtZW50OjplbmNvZGVkVVJMOgorICAgICAgICBBU1NFUlQoZWxlbWVudC5tX3VybC5wcm90
b2NvbElzKCJibG9iIikgfHwgZWxlbWVudC5tX3VybC5wcm90b2NvbElzKCJmaWxlc3lzdGVtIikp
OworICAgICAgICByZXN1bHQudHlwZSA9IEVsZW1lbnQ6OlR5cGVVUkw7CisgICAgICAgIHJlc3Vs
dC51cmwgPSBlbGVtZW50Lm1fdXJsOworICAgICAgICByZXN1bHQuZmlsZVN0YXJ0ID0gZWxlbWVu
dC5tX2ZpbGVTdGFydDsKKyAgICAgICAgcmVzdWx0LmZpbGVMZW5ndGggPSBlbGVtZW50Lm1fZmls
ZUxlbmd0aDsKKyAgICAgICAgcmVzdWx0Lm1vZGlmaWNhdGlvblRpbWUgPSBlbGVtZW50Lm1fZXhw
ZWN0ZWRGaWxlTW9kaWZpY2F0aW9uVGltZTsKKworICAgICAgICAvLyBUT0RPKGtpbnVrbyk6IHRo
aXMgc2hvdWxkIGdvIGF3YXkgYWZ0ZXIgdGhlIHR3by1zaWRlZCBwYXRjaCBpcyBsYW5kZWQuCisg
ICAgICAgIHJlc3VsdC5ibG9iVVJMID0gcmVzdWx0LnVybDsKICAgICAgICAgYnJlYWs7CiAjZW5k
aWYKICAgICBkZWZhdWx0OgpAQCAtMTMwLDE0ICsxMzcsMjggQEAgdm9pZCBXZWJIVFRQQm9keTo6
YXBwZW5kRmlsZVJhbmdlKGNvbnN0IFdlYlN0cmluZyYgZmlsZVBhdGgsIGxvbmcgbG9uZyBmaWxl
U3RhcnQKICNlbmRpZgogfQogCi12b2lkIFdlYkhUVFBCb2R5OjphcHBlbmRCbG9iKGNvbnN0IFdl
YlVSTCYgYmxvYlVSTCkKK3ZvaWQgV2ViSFRUUEJvZHk6OmFwcGVuZFVSTChjb25zdCBXZWJVUkwm
IHVybCkKIHsKICNpZiBFTkFCTEUoQkxPQikKICAgICBlbnN1cmVNdXRhYmxlKCk7Ci0gICAgbV9w
cml2YXRlLT5hcHBlbmRCbG9iKGJsb2JVUkwpOworICAgIG1fcHJpdmF0ZS0+YXBwZW5kVVJMKHVy
bCk7CiAjZW5kaWYKIH0KIAordm9pZCBXZWJIVFRQQm9keTo6YXBwZW5kVVJMUmFuZ2UoY29uc3Qg
V2ViVVJMJiB1cmwsIGxvbmcgbG9uZyBzdGFydCwgbG9uZyBsb25nIGxlbmd0aCwgZG91YmxlIG1v
ZGlmaWNhdGlvblRpbWUpCit7CisjaWYgRU5BQkxFKEJMT0IpCisgICAgZW5zdXJlTXV0YWJsZSgp
OworICAgIG1fcHJpdmF0ZS0+YXBwZW5kVVJMUmFuZ2UodXJsLCBzdGFydCwgbGVuZ3RoLCBtb2Rp
ZmljYXRpb25UaW1lKTsKKyNlbmRpZgorfQorCit2b2lkIFdlYkhUVFBCb2R5OjphcHBlbmRCbG9i
KGNvbnN0IFdlYlVSTCYgYmxvYlVSTCkKK3sKKyAgICAvLyBUT0RPKGtpbnVrbyk6IHRoaXMgc2hv
dWxkIGJlIHJlbW92ZWQgYWZ0ZXIgdGhlIHR3by1zaWRlZCBwYXRjaCBpcyBsYW5kZWQuCisgICAg
YXBwZW5kVVJMKGJsb2JVUkwpOworfQorCiBsb25nIGxvbmcgV2ViSFRUUEJvZHk6OmlkZW50aWZp
ZXIoKSBjb25zdAogewogICAgIEFTU0VSVCghaXNOdWxsKCkpOwo=
</data>
<flag name="commit-queue"
          id="99102"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>