<?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>107995</bug_id>
          
          <creation_ts>2013-01-25 17:25:53 -0800</creation_ts>
          <short_desc>Add didChangePriority() to ResourceHandle</short_desc>
          <delta_ts>2013-02-04 14:10:35 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="James Simonsen">simonjam</reporter>
          <assigned_to name="James Simonsen">simonjam</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>japhet</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>willchan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>817076</commentid>
    <comment_count>0</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2013-01-25 17:25:53 -0800</bug_when>
    <thetext>Notify ResourceHandle when the requested resource is no longer only for preload</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817111</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-01-25 19:34:24 -0800</bug_when>
    <thetext>This is adding more layering violations to WebKit :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817926</commentid>
    <comment_count>2</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2013-01-28 11:41:27 -0800</bug_when>
    <thetext>This was just my idea. I&apos;m not stuck on it. What&apos;s the correct way to do it without violating layering?

Basically, we&apos;d like Chromium&apos;s network stack to know:

1. When a resource is being speculatively loaded (from the preload scanner).

2. When a preload becomes non-speculative (the parser discovers it).

We need these to properly prioritize requests.

Another idea I had was to have WebCore dynamically change the resource&apos;s priority. Is that cleaner?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>818436</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-01-28 20:26:01 -0800</bug_when>
    <thetext>ResourceHandle is a cross-platform wrapper around platform networking library, which is not designed to have any idea about Web concepts. It is a huge layering violation that Chromium uses it as IPC injection point, and marshals more and more high level information through it.

I don&apos;t know what the good way forward is, given that this has been articulated years ago, and Chromium project leaders apparently decided to stay on the wrong course.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819134</commentid>
    <comment_count>4</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2013-01-29 11:34:18 -0800</bug_when>
    <thetext>That discussion apparently occurred way before I joined. I don&apos;t know anything about how that decision was made.

Regardless, any networking layer should care about this. It&apos;s important that the speculative preloads remain a lower priority than normal loads. Messing this up leads to a 5% drop in Speed Index [1] performance. No matter which network stack you&apos;re using, it needs to know the proper priority for preloads.

The priority is already included in the ResourceRequest. The only pieces missing are identifying preloads and updating their priority when a preload becomes a normal load. I don&apos;t care whether that signal uses the term &quot;preload&quot; or just dynamically changes the priority.

From my perspective, ResourceHandle seemed like the obvious place for that signal. I&apos;d called it promotePreloadToNormalLoad(), but we could call it didChangeRequestPriority(newPriority) instead. WDYT?

[1] A measure of amount of pixels rendered during page load. https://sites.google.com/a/webpagetest.org/docs/using-webpagetest/metrics/speed-index</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823423</commentid>
    <comment_count>5</comment_count>
      <attachid>186184</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2013-02-01 16:39:35 -0800</bug_when>
    <thetext>Created attachment 186184
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823428</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-01 16:44:07 -0800</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823432</commentid>
    <comment_count>7</comment_count>
      <attachid>186184</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-02-01 16:52:59 -0800</bug_when>
    <thetext>Comment on attachment 186184
Patch

Attachment 186184 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/16342242</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823435</commentid>
    <comment_count>8</comment_count>
      <attachid>186188</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2013-02-01 16:57:40 -0800</bug_when>
    <thetext>Created attachment 186188
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823573</commentid>
    <comment_count>9</comment_count>
      <attachid>186188</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-01 23:41:42 -0800</bug_when>
    <thetext>Comment on attachment 186188
Patch

Clearing flags on attachment: 186188

Committed r141684: &lt;http://trac.webkit.org/changeset/141684&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823574</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-01 23:41:46 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823595</commentid>
    <comment_count>11</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-02 00:27:03 -0800</bug_when>
    <thetext>&gt; I don&apos;t know what the good way forward is, given that this has been articulated years ago, and Chromium project leaders apparently decided to stay on the wrong course.

Instead, I would say that we disagree about which course is right.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186184</attachid>
            <date>2013-02-01 16:39:35 -0800</date>
            <delta_ts>2013-02-01 16:57:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107995-20130201163618.patch</filename>
            <type>text/plain</type>
            <size>10012</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCAyYzRhODkzMjUwYmQw
ZDFlOGFhZDI1ZTRlODZlNjYxNTk1YzZjMDc3Li43Yjc0M2FiMjVjODlkNWVjNDg5OTE1MDc3ZTVj
ZTM5ZmFiOGJiNTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMy0wMi0wMSAg
SmFtZXMgU2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGRp
ZENoYW5nZVByaW9yaXR5KCkgdG8gUmVzb3VyY2VIYW5kbGUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzk5NQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogY2hyb21pdW0vcHVibGljL1dlYlVSTExvYWRl
ci5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYlVSTExvYWRlcik6CisgICAgICAg
IChXZWJLaXQ6OldlYlVSTExvYWRlcjo6ZGlkQ2hhbmdlUHJpb3JpdHkpOiBBZGRlZC4KKwogMjAx
My0wMi0wMSAgS2V2aW4gRWxsaXMgIDxrZXZlcnNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtj
aHJvbWl1bV0gRmF0IHNjcm9sbGJhcnMgb24gV2luZG93cyBpbiBoaWdoLURQSSBtb2RlLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IGI1NzI5ODcwYTgyY2YzM2ZhYTRmMjQwNGIzYmFhYzg2MTM3MWU5NjQuLjVhNzE3
Yjc1OWVjM2Q1Y2UyOTkxYTk5ZTY3ZjQ3MTY3Nzg2MThmMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzOSBAQAorMjAxMy0wMi0wMSAgSmFtZXMgU2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgQWRkIGRpZENoYW5nZVByaW9yaXR5KCkgdG8gUmVzb3VyY2VIYW5kbGUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzk5NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZvciBQTFQs
IGl0J3MgaW1wb3J0YW50IHRoYXQgcHJlbG9hZHMgcmVtYWluIGEgbG93ZXIgcHJpb3JpdHkgdGhh
biBwYXJzZXIgcmVxdWVzdGVkIHJlc291cmNlcy4KKyAgICAgICAgVGhpcyBjYW4gbGVhZCB0byBh
IDUlIGltcHJvdmVtZW50LgorCisgICAgICAgIFRoZSBwbGFuIGlzIHRvIHVzZSB0aGlzIHBsdW1i
aW5nIHRvIGV4cG9zZSB0aGUgZGVzaXJlZCBiZWhhdmlvci4gVGhpcyBwYXRjaCBzaW1wbHkgYWxs
b3dzIGEKKyAgICAgICAgcmVzb3VyY2UncyBwcmlvcml0eSB0byBjaGFuZ2UgYW5kIGhhdmUgaXQg
cHJvcGFnYXRlIHRvIHRoZSBuZXR3b3JrIGxheWVyLiBBbiB1cGNvbWluZyBwYXRjaCB3aWxsCisg
ICAgICAgIGxvd2VyIHRoZSBwcmlvcml0eSBvZiBwcmVsb2FkcyBhbmQgdGhlbiBpbmNyZWFzZSB0
aGUgcHJpb3JpdHkgd2hlbiB0aGUgcGFyc2VyIG9mZmljaWFsbHkgcmVxdWVzdHMKKyAgICAgICAg
aXQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBObyB2aXNpYmxlIGNoYW5nZSwgYmVjYXVzZSBw
cmlvcml0eSBkb2Vzbid0IGNoYW5nZSB5ZXQuCisKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpD
YWNoZWRSZXNvdXJjZTo6c2V0TG9hZFByaW9yaXR5KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZSk6IEFsbG93IGxvYWRzIHRvIG1vZGlmeSBwcmlvcml0
eS4KKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZVJlcXVlc3Q6OnNldFByaW9yaXR5KTogTm90aWZ5
IHdoZW4gcHJpb3JpdHkgY2hhbmdlcy4KKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlSGFuZGxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpkaWRDaGFu
Z2VQcmlvcml0eSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oOgorICAgICAgICAoUmVzb3VyY2VIYW5kbGUpOgor
ICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vUmVzb3VyY2VIYW5kbGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGVJbnRlcm5hbDo6ZGlkQ2hhbmdlUHJpb3Jp
dHkpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRs
ZTo6ZGlkQ2hhbmdlUHJpb3JpdHkpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2hyb21p
dW0vUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oOgorICAgICAgICAoUmVzb3VyY2VIYW5kbGVJbnRl
cm5hbCk6CisKIDIwMTMtMDItMDEgIEtldmluIEVsbGlzICA8a2V2ZXJzQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBbY2hyb21pdW1dIEZhdCBzY3JvbGxiYXJzIG9uIFdpbmRvd3MgaW4gaGlnaC1E
UEkgbW9kZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2Vi
VVJMTG9hZGVyLmggYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlVSTExvYWRl
ci5oCmluZGV4IGE0N2I5ODZiOWM3OWQ4YzI4ODQ1NThmNzgyOTgxNjc0ODY1Zjc0MWEuLjkzMzdi
YjBlNWNlN2I5OTNlOGU5NmRkODlkNTk0YWRkYTA0ZjQ1NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9Q
bGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViVVJMTG9hZGVyLmgKKysrIGIvU291cmNlL1BsYXRm
b3JtL2Nocm9taXVtL3B1YmxpYy9XZWJVUkxMb2FkZXIuaApAQCAtMzIsMTIgKzMyLDEyIEBACiAj
ZGVmaW5lIFdlYlVSTExvYWRlcl9oCiAKICNpbmNsdWRlICJXZWJDb21tb24uaCIKKyNpbmNsdWRl
ICJXZWJVUkxSZXF1ZXN0LmgiCiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJEYXRh
OwogY2xhc3MgV2ViVVJMTG9hZGVyQ2xpZW50OwotY2xhc3MgV2ViVVJMUmVxdWVzdDsKIGNsYXNz
IFdlYlVSTFJlc3BvbnNlOwogc3RydWN0IFdlYlVSTEVycm9yOwogCkBAIC02NCw2ICs2NCwxMSBA
QCBwdWJsaWM6CiAKICAgICAvLyBTdXNwZW5kcy9yZXN1bWVzIGFuIGFzeW5jaHJvbm91cyBsb2Fk
LgogICAgIHZpcnR1YWwgdm9pZCBzZXREZWZlcnNMb2FkaW5nKGJvb2wpID0gMDsKKworICAgIC8v
IE5vdGlmaWVzIHRoZSBsb2FkZXIgdGhhdCB0aGUgcHJpb3JpdHkgb2YgYSBXZWJVUkxSZXF1ZXN0
IGhhcyBjaGFuZ2VkIGZyb20KKyAgICAvLyBpdHMgcHJldmlvdXMgdmFsdWUuIEZvciBleGFtcGxl
LCBhIHByZWxvYWQgcmVxdWVzdCBzdGFydHMgd2l0aCBsb3cKKyAgICAvLyBwcmlvcml0eSwgYnV0
IG1heSBpbmNyZWFzZSB3aGVuIHRoZSByZXNvdXJjZSBpcyBuZWVkZWQgZm9yIHJlbmRlcmluZy4K
KyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlUHJpb3JpdHkoV2ViVVJMUmVxdWVzdDo6UHJpb3Jp
dHkgbmV3UHJpb3JpdHkpIHsgfQogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAppbmRleCA2ZDVjMmIz
ODg2YzlhMzFiOTgwOTE5MjViYWZmMTdlYmRkOTJlNzQzLi5mMDMxNGU3ZDdmNGExMDM3ZmZmYzlk
MmYzYWZiNTQ1NmVhNTdjNmZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5jcHAKQEAgLTg2MywxMiArODYzLDE2IEBAIHVuc2lnbmVkIENhY2hlZFJl
c291cmNlOjpvdmVyaGVhZFNpemUoKSBjb25zdAogICAgIHN0YXRpYyBjb25zdCBpbnQga0F2ZXJh
Z2VDbGllbnRzSGFzaE1hcFNpemUgPSAzODQ7CiAgICAgcmV0dXJuIHNpemVvZihDYWNoZWRSZXNv
dXJjZSkgKyBtX3Jlc3BvbnNlLm1lbW9yeVVzYWdlKCkgKyBrQXZlcmFnZUNsaWVudHNIYXNoTWFw
U2l6ZSArIG1fcmVzb3VyY2VSZXF1ZXN0LnVybCgpLnN0cmluZygpLmxlbmd0aCgpICogMjsKIH0K
LSAgICAKLXZvaWQgQ2FjaGVkUmVzb3VyY2U6OnNldExvYWRQcmlvcml0eShSZXNvdXJjZUxvYWRQ
cmlvcml0eSBsb2FkUHJpb3JpdHkpIAoteyAKKwordm9pZCBDYWNoZWRSZXNvdXJjZTo6c2V0TG9h
ZFByaW9yaXR5KFJlc291cmNlTG9hZFByaW9yaXR5IGxvYWRQcmlvcml0eSkKK3sKICAgICBpZiAo
bG9hZFByaW9yaXR5ID09IFJlc291cmNlTG9hZFByaW9yaXR5VW5yZXNvbHZlZCkKKyAgICAgICAg
bG9hZFByaW9yaXR5ID0gZGVmYXVsdFByaW9yaXR5Rm9yUmVzb3VyY2VUeXBlKHR5cGUoKSk7Cisg
ICAgaWYgKGxvYWRQcmlvcml0eSA9PSBtX2xvYWRQcmlvcml0eSkKICAgICAgICAgcmV0dXJuOwog
ICAgIG1fbG9hZFByaW9yaXR5ID0gbG9hZFByaW9yaXR5OworICAgIGlmIChtX2xvYWRlciAmJiBt
X2xvYWRlci0+aGFuZGxlKCkpCisgICAgICAgIG1fbG9hZGVyLT5oYW5kbGUoKS0+ZGlkQ2hhbmdl
UHJpb3JpdHkobG9hZFByaW9yaXR5KTsKIH0KIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCA1ODM3MjlkZGZjMTM3
NjVlYTg1YmE0NjQ4ODViMzdmMWFhNzI1ZjMyLi4yZTRmNjU3NWQwMjkxZTFlOWE4Nzg5YWFjOGI3
ZDRkNGI0YmUyNzY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTQ2NSw3ICs0NjUsOSBAQCBDYWNoZWRSZXNvdXJj
ZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RSZXNv
dXJjZShDYWNoZQogICAgIGlmICghcmVzb3VyY2UpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAg
cmVzb3VyY2UtPnNldExvYWRQcmlvcml0eShyZXF1ZXN0LnByaW9yaXR5KCkpOworICAgIGlmICgh
cmVxdWVzdC5mb3JQcmVsb2FkKCkgfHwgcG9saWN5ICE9IFVzZSkKKyAgICAgICAgcmVzb3VyY2Ut
PnNldExvYWRQcmlvcml0eShyZXF1ZXN0LnByaW9yaXR5KCkpOworCiAgICAgaWYgKChwb2xpY3kg
IT0gVXNlIHx8IHJlc291cmNlLT5zdGlsbE5lZWRzTG9hZCgpKSAmJiBDYWNoZWRSZXNvdXJjZVJl
cXVlc3Q6Ok5vRGVmZXIgPT0gcmVxdWVzdC5kZWZlcigpKSB7CiAgICAgICAgIHJlc291cmNlLT5s
b2FkKHRoaXMsIHJlcXVlc3Qub3B0aW9ucygpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5oCmluZGV4IDlkNDA4ZTYyMTYyZmJi
YjZkMjQwODYyMzk0NzVkMjZmYTVhYWFjMDguLjM3NTliMjgzZGMwNzhmYTU4ZGY1Mzc0MDA3YTgz
NDNlOTJmMzk5NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZVJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VSZXF1ZXN0LmgKQEAgLTUxLDYgKzUxLDcgQEAgcHVibGljOgogICAgIHZvaWQg
c2V0Q2hhcnNldChjb25zdCBTdHJpbmcmIGNoYXJzZXQpIHsgbV9jaGFyc2V0ID0gY2hhcnNldDsg
fQogICAgIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucygpIGNvbnN0IHsgcmV0
dXJuIG1fb3B0aW9uczsgfQogICAgIHZvaWQgc2V0T3B0aW9ucyhjb25zdCBSZXNvdXJjZUxvYWRl
ck9wdGlvbnMmIG9wdGlvbnMpIHsgbV9vcHRpb25zID0gb3B0aW9uczsgfQorICAgIHZvaWQgc2V0
UHJpb3JpdHkoUmVzb3VyY2VMb2FkUHJpb3JpdHkgcHJpb3JpdHkpIHsgbV9wcmlvcml0eSA9IHBy
aW9yaXR5OyB9CiAgICAgUmVzb3VyY2VMb2FkUHJpb3JpdHkgcHJpb3JpdHkoKSBjb25zdCB7IHJl
dHVybiBtX3ByaW9yaXR5OyB9CiAgICAgYm9vbCBmb3JQcmVsb2FkKCkgY29uc3QgeyByZXR1cm4g
bV9mb3JQcmVsb2FkOyB9CiAgICAgdm9pZCBzZXRGb3JQcmVsb2FkKGJvb2wgZm9yUHJlbG9hZCkg
eyBtX2ZvclByZWxvYWQgPSBmb3JQcmVsb2FkOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwCmluZGV4IDU3ZWVmZWRjNDUxNTkwNDBj
YjdhZmQ0ZDMwZDU2YTVlMWE5ZmUzYjMuLjA3YTY3YTE4MTk3OWNlNjIwODI4MDY4MDU1MmRmMWUx
MmE0ZTI1YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VIYW5kbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VIYW5kbGUuY3BwCkBAIC0xODUsNiArMTg1LDExIEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6
OnNldERlZmVyc0xvYWRpbmcoYm9vbCBkZWZlcnMpCiAgICAgcGxhdGZvcm1TZXREZWZlcnNMb2Fk
aW5nKGRlZmVycyk7CiB9CiAKK3ZvaWQgUmVzb3VyY2VIYW5kbGU6OmRpZENoYW5nZVByaW9yaXR5
KFJlc291cmNlUHJpb3JpdHkgbmV3UHJpb3JpdHkpCit7CisgICAgLy8gT3B0aW9uYWxseSBpbXBs
ZW1lbnRlZCBieSBwbGF0Zm9ybS4KK30KKwogdm9pZCBSZXNvdXJjZUhhbmRsZTo6Y2FjaGVNZXRh
ZGF0YShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgVmVjdG9yPGNoYXI+JikKIHsKICAg
ICAvLyBPcHRpb25hbGx5IGltcGxlbWVudGVkIGJ5IHBsYXRmb3JtLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCmluZGV4IDdiOWUzMGU2MzNk
ZmY4OTIyNmM1NWRlYzliMDk4ZTlkMjY5YjNhOTkuLmZhMzA1ODk2NGE1YzJjMjdiNjY1NTBjNmUz
NGJjZDhkODkzZWM5NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VIYW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L1Jlc291cmNlSGFuZGxlLmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJBdXRoZW50aWNh
dGlvbkNsaWVudC5oIgogI2luY2x1ZGUgIkhUVFBIZWFkZXJNYXAuaCIKICNpbmNsdWRlICJSZXNv
dXJjZUhhbmRsZVR5cGVzLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkUHJpb3JpdHkuaCIKICNp
bmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIApAQCAt
MTkwLDcgKzE5MSw5IEBAIHB1YmxpYzoKICNpZiBQTEFURk9STShCTEFDS0JFUlJZKQogICAgIHZv
aWQgcGF1c2VMb2FkKGJvb2wpOwogI2VuZGlmCi0gICAgICAKKworICAgIHZvaWQgZGlkQ2hhbmdl
UHJpb3JpdHkoUmVzb3VyY2VMb2FkUHJpb3JpdHkpOworCiAgICAgUmVzb3VyY2VSZXF1ZXN0JiBm
aXJzdFJlcXVlc3QoKTsKICAgICBjb25zdCBTdHJpbmcmIGxhc3RIVFRQTWV0aG9kKCkgY29uc3Q7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0v
UmVzb3VyY2VIYW5kbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jaHJv
bWl1bS9SZXNvdXJjZUhhbmRsZS5jcHAKaW5kZXggZjVlN2NiZWQzN2FlMGM4OWU0YjBjODUxN2M1
YjNlOGIzYzBmYmNmZC4uYWMxNDkyMWE3YzQ1MDZhNWNlYTBiMTQ4OGQwNTJiNmMyMTIwYjM4ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jaHJvbWl1bS9SZXNv
dXJjZUhhbmRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jaHJv
bWl1bS9SZXNvdXJjZUhhbmRsZS5jcHAKQEAgLTg4LDYgKzg4LDExIEBAIHZvaWQgUmVzb3VyY2VI
YW5kbGVJbnRlcm5hbDo6c2V0RGVmZXJzTG9hZGluZyhib29sIHZhbHVlKQogICAgIG1fbG9hZGVy
LT5zZXREZWZlcnNMb2FkaW5nKHZhbHVlKTsKIH0KIAordm9pZCBSZXNvdXJjZUhhbmRsZUludGVy
bmFsOjpkaWRDaGFuZ2VQcmlvcml0eShXZWJVUkxSZXF1ZXN0OjpQcmlvcml0eSBuZXdQcmlvcml0
eSkKK3sKKyAgICBtX2xvYWRlci0+ZGlkQ2hhbmdlUHJpb3JpdHkobmV3UHJpb3JpdHkpOworfQor
CiBib29sIFJlc291cmNlSGFuZGxlSW50ZXJuYWw6OmFsbG93U3RvcmVkQ3JlZGVudGlhbHMoKSBj
b25zdAogewogICAgIHJldHVybiBtX2NsaWVudCAmJiBtX2NsaWVudC0+c2hvdWxkVXNlQ3JlZGVu
dGlhbFN0b3JhZ2UobV9vd25lcik7CkBAIC0yNzYsNiArMjgxLDExIEBAIHZvaWQgUmVzb3VyY2VI
YW5kbGU6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRl
eHQsCiAgICAgZGF0YS5hcHBlbmQoZGF0YU91dC5kYXRhKCksIGRhdGFPdXQuc2l6ZSgpKTsKIH0K
IAordm9pZCBSZXNvdXJjZUhhbmRsZTo6ZGlkQ2hhbmdlUHJpb3JpdHkoUmVzb3VyY2VMb2FkUHJp
b3JpdHkgbmV3UHJpb3JpdHkpCit7CisgICAgZC0+ZGlkQ2hhbmdlUHJpb3JpdHkoc3RhdGljX2Nh
c3Q8V2ViVVJMUmVxdWVzdDo6UHJpb3JpdHk+KG5ld1ByaW9yaXR5KSk7Cit9CisKIC8vIHN0YXRp
Ywogdm9pZCBSZXNvdXJjZUhhbmRsZTo6Y2FjaGVNZXRhZGF0YShjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiByZXNwb25zZSwgY29uc3QgVmVjdG9yPGNoYXI+JiBkYXRhKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jaHJvbWl1bS9SZXNvdXJjZUhhbmRsZUlu
dGVybmFsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Nocm9taXVtL1Jlc291
cmNlSGFuZGxlSW50ZXJuYWwuaAppbmRleCA5ZWVmZWU4YjIwNTUxYmUyOTQxMzdkMTQ5MmM4ZGQz
MDVmYzY1MWEzLi5kMzhkOTNlZjhlMjk3MDJlYzY2Y2Q4MTBlMjczY2ZiZWY1OTY2MmMzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Nocm9taXVtL1Jlc291cmNl
SGFuZGxlSW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2No
cm9taXVtL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1
ZGUgPHB1YmxpYy9XZWJDb21tb24uaD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViVVJMTG9hZGVyLmg+
CiAjaW5jbHVkZSA8cHVibGljL1dlYlVSTExvYWRlckNsaWVudC5oPgorI2luY2x1ZGUgPHB1Ymxp
Yy9XZWJVUkxSZXF1ZXN0Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTEsNiArNTIs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBjYW5jZWwoKTsKICAgICB2b2lkIHNldERlZmVyc0xvYWRp
bmcoYm9vbCk7CiAgICAgYm9vbCBhbGxvd1N0b3JlZENyZWRlbnRpYWxzKCkgY29uc3Q7CisgICAg
dm9pZCBkaWRDaGFuZ2VQcmlvcml0eShXZWJLaXQ6OldlYlVSTFJlcXVlc3Q6OlByaW9yaXR5KTsK
IAogICAgIC8vIFdlYlVSTExvYWRlckNsaWVudCBtZXRob2RzOgogICAgIHZpcnR1YWwgdm9pZCB3
aWxsU2VuZFJlcXVlc3QoV2ViS2l0OjpXZWJVUkxMb2FkZXIqLCBXZWJLaXQ6OldlYlVSTFJlcXVl
c3QmLCBjb25zdCBXZWJLaXQ6OldlYlVSTFJlc3BvbnNlJik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186188</attachid>
            <date>2013-02-01 16:57:40 -0800</date>
            <delta_ts>2013-02-01 23:41:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107995-20130201165423.patch</filename>
            <type>text/plain</type>
            <size>10004</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCAyYzRhODkzMjUwYmQw
ZDFlOGFhZDI1ZTRlODZlNjYxNTk1YzZjMDc3Li43Yjc0M2FiMjVjODlkNWVjNDg5OTE1MDc3ZTVj
ZTM5ZmFiOGJiNTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMy0wMi0wMSAg
SmFtZXMgU2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGRp
ZENoYW5nZVByaW9yaXR5KCkgdG8gUmVzb3VyY2VIYW5kbGUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzk5NQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogY2hyb21pdW0vcHVibGljL1dlYlVSTExvYWRl
ci5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYlVSTExvYWRlcik6CisgICAgICAg
IChXZWJLaXQ6OldlYlVSTExvYWRlcjo6ZGlkQ2hhbmdlUHJpb3JpdHkpOiBBZGRlZC4KKwogMjAx
My0wMi0wMSAgS2V2aW4gRWxsaXMgIDxrZXZlcnNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtj
aHJvbWl1bV0gRmF0IHNjcm9sbGJhcnMgb24gV2luZG93cyBpbiBoaWdoLURQSSBtb2RlLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IGI1NzI5ODcwYTgyY2YzM2ZhYTRmMjQwNGIzYmFhYzg2MTM3MWU5NjQuLjVhNzE3
Yjc1OWVjM2Q1Y2UyOTkxYTk5ZTY3ZjQ3MTY3Nzg2MThmMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzOSBAQAorMjAxMy0wMi0wMSAgSmFtZXMgU2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgQWRkIGRpZENoYW5nZVByaW9yaXR5KCkgdG8gUmVzb3VyY2VIYW5kbGUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzk5NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZvciBQTFQs
IGl0J3MgaW1wb3J0YW50IHRoYXQgcHJlbG9hZHMgcmVtYWluIGEgbG93ZXIgcHJpb3JpdHkgdGhh
biBwYXJzZXIgcmVxdWVzdGVkIHJlc291cmNlcy4KKyAgICAgICAgVGhpcyBjYW4gbGVhZCB0byBh
IDUlIGltcHJvdmVtZW50LgorCisgICAgICAgIFRoZSBwbGFuIGlzIHRvIHVzZSB0aGlzIHBsdW1i
aW5nIHRvIGV4cG9zZSB0aGUgZGVzaXJlZCBiZWhhdmlvci4gVGhpcyBwYXRjaCBzaW1wbHkgYWxs
b3dzIGEKKyAgICAgICAgcmVzb3VyY2UncyBwcmlvcml0eSB0byBjaGFuZ2UgYW5kIGhhdmUgaXQg
cHJvcGFnYXRlIHRvIHRoZSBuZXR3b3JrIGxheWVyLiBBbiB1cGNvbWluZyBwYXRjaCB3aWxsCisg
ICAgICAgIGxvd2VyIHRoZSBwcmlvcml0eSBvZiBwcmVsb2FkcyBhbmQgdGhlbiBpbmNyZWFzZSB0
aGUgcHJpb3JpdHkgd2hlbiB0aGUgcGFyc2VyIG9mZmljaWFsbHkgcmVxdWVzdHMKKyAgICAgICAg
aXQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBObyB2aXNpYmxlIGNoYW5nZSwgYmVjYXVzZSBw
cmlvcml0eSBkb2Vzbid0IGNoYW5nZSB5ZXQuCisKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpD
YWNoZWRSZXNvdXJjZTo6c2V0TG9hZFByaW9yaXR5KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZSk6IEFsbG93IGxvYWRzIHRvIG1vZGlmeSBwcmlvcml0
eS4KKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZVJlcXVlc3Q6OnNldFByaW9yaXR5KTogTm90aWZ5
IHdoZW4gcHJpb3JpdHkgY2hhbmdlcy4KKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlSGFuZGxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpkaWRDaGFu
Z2VQcmlvcml0eSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oOgorICAgICAgICAoUmVzb3VyY2VIYW5kbGUpOgor
ICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vUmVzb3VyY2VIYW5kbGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGVJbnRlcm5hbDo6ZGlkQ2hhbmdlUHJpb3Jp
dHkpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRs
ZTo6ZGlkQ2hhbmdlUHJpb3JpdHkpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2hyb21p
dW0vUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oOgorICAgICAgICAoUmVzb3VyY2VIYW5kbGVJbnRl
cm5hbCk6CisKIDIwMTMtMDItMDEgIEtldmluIEVsbGlzICA8a2V2ZXJzQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBbY2hyb21pdW1dIEZhdCBzY3JvbGxiYXJzIG9uIFdpbmRvd3MgaW4gaGlnaC1E
UEkgbW9kZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2Vi
VVJMTG9hZGVyLmggYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlVSTExvYWRl
ci5oCmluZGV4IGE0N2I5ODZiOWM3OWQ4YzI4ODQ1NThmNzgyOTgxNjc0ODY1Zjc0MWEuLjkzMzdi
YjBlNWNlN2I5OTNlOGU5NmRkODlkNTk0YWRkYTA0ZjQ1NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9Q
bGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViVVJMTG9hZGVyLmgKKysrIGIvU291cmNlL1BsYXRm
b3JtL2Nocm9taXVtL3B1YmxpYy9XZWJVUkxMb2FkZXIuaApAQCAtMzIsMTIgKzMyLDEyIEBACiAj
ZGVmaW5lIFdlYlVSTExvYWRlcl9oCiAKICNpbmNsdWRlICJXZWJDb21tb24uaCIKKyNpbmNsdWRl
ICJXZWJVUkxSZXF1ZXN0LmgiCiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJEYXRh
OwogY2xhc3MgV2ViVVJMTG9hZGVyQ2xpZW50OwotY2xhc3MgV2ViVVJMUmVxdWVzdDsKIGNsYXNz
IFdlYlVSTFJlc3BvbnNlOwogc3RydWN0IFdlYlVSTEVycm9yOwogCkBAIC02NCw2ICs2NCwxMSBA
QCBwdWJsaWM6CiAKICAgICAvLyBTdXNwZW5kcy9yZXN1bWVzIGFuIGFzeW5jaHJvbm91cyBsb2Fk
LgogICAgIHZpcnR1YWwgdm9pZCBzZXREZWZlcnNMb2FkaW5nKGJvb2wpID0gMDsKKworICAgIC8v
IE5vdGlmaWVzIHRoZSBsb2FkZXIgdGhhdCB0aGUgcHJpb3JpdHkgb2YgYSBXZWJVUkxSZXF1ZXN0
IGhhcyBjaGFuZ2VkIGZyb20KKyAgICAvLyBpdHMgcHJldmlvdXMgdmFsdWUuIEZvciBleGFtcGxl
LCBhIHByZWxvYWQgcmVxdWVzdCBzdGFydHMgd2l0aCBsb3cKKyAgICAvLyBwcmlvcml0eSwgYnV0
IG1heSBpbmNyZWFzZSB3aGVuIHRoZSByZXNvdXJjZSBpcyBuZWVkZWQgZm9yIHJlbmRlcmluZy4K
KyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlUHJpb3JpdHkoV2ViVVJMUmVxdWVzdDo6UHJpb3Jp
dHkgbmV3UHJpb3JpdHkpIHsgfQogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAppbmRleCA2ZDVjMmIz
ODg2YzlhMzFiOTgwOTE5MjViYWZmMTdlYmRkOTJlNzQzLi5mMDMxNGU3ZDdmNGExMDM3ZmZmYzlk
MmYzYWZiNTQ1NmVhNTdjNmZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5jcHAKQEAgLTg2MywxMiArODYzLDE2IEBAIHVuc2lnbmVkIENhY2hlZFJl
c291cmNlOjpvdmVyaGVhZFNpemUoKSBjb25zdAogICAgIHN0YXRpYyBjb25zdCBpbnQga0F2ZXJh
Z2VDbGllbnRzSGFzaE1hcFNpemUgPSAzODQ7CiAgICAgcmV0dXJuIHNpemVvZihDYWNoZWRSZXNv
dXJjZSkgKyBtX3Jlc3BvbnNlLm1lbW9yeVVzYWdlKCkgKyBrQXZlcmFnZUNsaWVudHNIYXNoTWFw
U2l6ZSArIG1fcmVzb3VyY2VSZXF1ZXN0LnVybCgpLnN0cmluZygpLmxlbmd0aCgpICogMjsKIH0K
LSAgICAKLXZvaWQgQ2FjaGVkUmVzb3VyY2U6OnNldExvYWRQcmlvcml0eShSZXNvdXJjZUxvYWRQ
cmlvcml0eSBsb2FkUHJpb3JpdHkpIAoteyAKKwordm9pZCBDYWNoZWRSZXNvdXJjZTo6c2V0TG9h
ZFByaW9yaXR5KFJlc291cmNlTG9hZFByaW9yaXR5IGxvYWRQcmlvcml0eSkKK3sKICAgICBpZiAo
bG9hZFByaW9yaXR5ID09IFJlc291cmNlTG9hZFByaW9yaXR5VW5yZXNvbHZlZCkKKyAgICAgICAg
bG9hZFByaW9yaXR5ID0gZGVmYXVsdFByaW9yaXR5Rm9yUmVzb3VyY2VUeXBlKHR5cGUoKSk7Cisg
ICAgaWYgKGxvYWRQcmlvcml0eSA9PSBtX2xvYWRQcmlvcml0eSkKICAgICAgICAgcmV0dXJuOwog
ICAgIG1fbG9hZFByaW9yaXR5ID0gbG9hZFByaW9yaXR5OworICAgIGlmIChtX2xvYWRlciAmJiBt
X2xvYWRlci0+aGFuZGxlKCkpCisgICAgICAgIG1fbG9hZGVyLT5oYW5kbGUoKS0+ZGlkQ2hhbmdl
UHJpb3JpdHkobG9hZFByaW9yaXR5KTsKIH0KIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCA1ODM3MjlkZGZjMTM3
NjVlYTg1YmE0NjQ4ODViMzdmMWFhNzI1ZjMyLi4yZTRmNjU3NWQwMjkxZTFlOWE4Nzg5YWFjOGI3
ZDRkNGI0YmUyNzY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTQ2NSw3ICs0NjUsOSBAQCBDYWNoZWRSZXNvdXJj
ZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RSZXNv
dXJjZShDYWNoZQogICAgIGlmICghcmVzb3VyY2UpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAg
cmVzb3VyY2UtPnNldExvYWRQcmlvcml0eShyZXF1ZXN0LnByaW9yaXR5KCkpOworICAgIGlmICgh
cmVxdWVzdC5mb3JQcmVsb2FkKCkgfHwgcG9saWN5ICE9IFVzZSkKKyAgICAgICAgcmVzb3VyY2Ut
PnNldExvYWRQcmlvcml0eShyZXF1ZXN0LnByaW9yaXR5KCkpOworCiAgICAgaWYgKChwb2xpY3kg
IT0gVXNlIHx8IHJlc291cmNlLT5zdGlsbE5lZWRzTG9hZCgpKSAmJiBDYWNoZWRSZXNvdXJjZVJl
cXVlc3Q6Ok5vRGVmZXIgPT0gcmVxdWVzdC5kZWZlcigpKSB7CiAgICAgICAgIHJlc291cmNlLT5s
b2FkKHRoaXMsIHJlcXVlc3Qub3B0aW9ucygpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5oCmluZGV4IDlkNDA4ZTYyMTYyZmJi
YjZkMjQwODYyMzk0NzVkMjZmYTVhYWFjMDguLjM3NTliMjgzZGMwNzhmYTU4ZGY1Mzc0MDA3YTgz
NDNlOTJmMzk5NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZVJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VSZXF1ZXN0LmgKQEAgLTUxLDYgKzUxLDcgQEAgcHVibGljOgogICAgIHZvaWQg
c2V0Q2hhcnNldChjb25zdCBTdHJpbmcmIGNoYXJzZXQpIHsgbV9jaGFyc2V0ID0gY2hhcnNldDsg
fQogICAgIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucygpIGNvbnN0IHsgcmV0
dXJuIG1fb3B0aW9uczsgfQogICAgIHZvaWQgc2V0T3B0aW9ucyhjb25zdCBSZXNvdXJjZUxvYWRl
ck9wdGlvbnMmIG9wdGlvbnMpIHsgbV9vcHRpb25zID0gb3B0aW9uczsgfQorICAgIHZvaWQgc2V0
UHJpb3JpdHkoUmVzb3VyY2VMb2FkUHJpb3JpdHkgcHJpb3JpdHkpIHsgbV9wcmlvcml0eSA9IHBy
aW9yaXR5OyB9CiAgICAgUmVzb3VyY2VMb2FkUHJpb3JpdHkgcHJpb3JpdHkoKSBjb25zdCB7IHJl
dHVybiBtX3ByaW9yaXR5OyB9CiAgICAgYm9vbCBmb3JQcmVsb2FkKCkgY29uc3QgeyByZXR1cm4g
bV9mb3JQcmVsb2FkOyB9CiAgICAgdm9pZCBzZXRGb3JQcmVsb2FkKGJvb2wgZm9yUHJlbG9hZCkg
eyBtX2ZvclByZWxvYWQgPSBmb3JQcmVsb2FkOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwCmluZGV4IDU3ZWVmZWRjNDUxNTkwNDBj
YjdhZmQ0ZDMwZDU2YTVlMWE5ZmUzYjMuLjRiYzk0ZTc2NDU4YTQ5Y2FjZDA3YTZhNzcxMmEwZWJh
YzZlMzdkM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VIYW5kbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VIYW5kbGUuY3BwCkBAIC0xODUsNiArMTg1LDExIEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6
OnNldERlZmVyc0xvYWRpbmcoYm9vbCBkZWZlcnMpCiAgICAgcGxhdGZvcm1TZXREZWZlcnNMb2Fk
aW5nKGRlZmVycyk7CiB9CiAKK3ZvaWQgUmVzb3VyY2VIYW5kbGU6OmRpZENoYW5nZVByaW9yaXR5
KFJlc291cmNlTG9hZFByaW9yaXR5KQoreworICAgIC8vIE9wdGlvbmFsbHkgaW1wbGVtZW50ZWQg
YnkgcGxhdGZvcm0uCit9CisKIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmNhY2hlTWV0YWRhdGEoY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFZlY3RvcjxjaGFyPiYpCiB7CiAgICAgLy8gT3B0
aW9uYWxseSBpbXBsZW1lbnRlZCBieSBwbGF0Zm9ybS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAppbmRleCA3YjllMzBlNjMzZGZmODkyMjZj
NTVkZWM5YjA5OGU5ZDI2OWIzYTk5Li5mYTMwNTg5NjRhNWMyYzI3YjY2NTUwYzZlMzRiY2Q4ZDg5
M2VjOTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlSGFuZGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZUhhbmRsZS5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiQXV0aGVudGljYXRpb25DbGll
bnQuaCIKICNpbmNsdWRlICJIVFRQSGVhZGVyTWFwLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5k
bGVUeXBlcy5oIgorI2luY2x1ZGUgIlJlc291cmNlTG9hZFByaW9yaXR5LmgiCiAjaW5jbHVkZSA8
d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKQEAgLTE5MCw3ICsx
OTEsOSBAQCBwdWJsaWM6CiAjaWYgUExBVEZPUk0oQkxBQ0tCRVJSWSkKICAgICB2b2lkIHBhdXNl
TG9hZChib29sKTsKICNlbmRpZgotICAgICAgCisKKyAgICB2b2lkIGRpZENoYW5nZVByaW9yaXR5
KFJlc291cmNlTG9hZFByaW9yaXR5KTsKKwogICAgIFJlc291cmNlUmVxdWVzdCYgZmlyc3RSZXF1
ZXN0KCk7CiAgICAgY29uc3QgU3RyaW5nJiBsYXN0SFRUUE1ldGhvZCgpIGNvbnN0OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Nocm9taXVtL1Jlc291cmNl
SGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vUmVz
b3VyY2VIYW5kbGUuY3BwCmluZGV4IGY1ZTdjYmVkMzdhZTBjODllNGIwYzg1MTdjNWIzZThiM2Mw
ZmJjZmQuLmFjMTQ5MjFhN2M0NTA2YTVjZWEwYjE0ODhkMDUyYjZjMjEyMGIzOGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vUmVzb3VyY2VIYW5k
bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vUmVz
b3VyY2VIYW5kbGUuY3BwCkBAIC04OCw2ICs4OCwxMSBAQCB2b2lkIFJlc291cmNlSGFuZGxlSW50
ZXJuYWw6OnNldERlZmVyc0xvYWRpbmcoYm9vbCB2YWx1ZSkKICAgICBtX2xvYWRlci0+c2V0RGVm
ZXJzTG9hZGluZyh2YWx1ZSk7CiB9CiAKK3ZvaWQgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbDo6ZGlk
Q2hhbmdlUHJpb3JpdHkoV2ViVVJMUmVxdWVzdDo6UHJpb3JpdHkgbmV3UHJpb3JpdHkpCit7Cisg
ICAgbV9sb2FkZXItPmRpZENoYW5nZVByaW9yaXR5KG5ld1ByaW9yaXR5KTsKK30KKwogYm9vbCBS
ZXNvdXJjZUhhbmRsZUludGVybmFsOjphbGxvd1N0b3JlZENyZWRlbnRpYWxzKCkgY29uc3QKIHsK
ICAgICByZXR1cm4gbV9jbGllbnQgJiYgbV9jbGllbnQtPnNob3VsZFVzZUNyZWRlbnRpYWxTdG9y
YWdlKG1fb3duZXIpOwpAQCAtMjc2LDYgKzI4MSwxMSBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjps
b2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LAogICAg
IGRhdGEuYXBwZW5kKGRhdGFPdXQuZGF0YSgpLCBkYXRhT3V0LnNpemUoKSk7CiB9CiAKK3ZvaWQg
UmVzb3VyY2VIYW5kbGU6OmRpZENoYW5nZVByaW9yaXR5KFJlc291cmNlTG9hZFByaW9yaXR5IG5l
d1ByaW9yaXR5KQoreworICAgIGQtPmRpZENoYW5nZVByaW9yaXR5KHN0YXRpY19jYXN0PFdlYlVS
TFJlcXVlc3Q6OlByaW9yaXR5PihuZXdQcmlvcml0eSkpOworfQorCiAvLyBzdGF0aWMKIHZvaWQg
UmVzb3VyY2VIYW5kbGU6OmNhY2hlTWV0YWRhdGEoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVz
cG9uc2UsIGNvbnN0IFZlY3RvcjxjaGFyPiYgZGF0YSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jaHJvbWl1bS9SZXNvdXJjZUhhbmRs
ZUludGVybmFsLmgKaW5kZXggOWVlZmVlOGIyMDU1MWJlMjk0MTM3ZDE0OTJjOGRkMzA1ZmM2NTFh
My4uZDM4ZDkzZWY4ZTI5NzAyZWM2NmNkODEwZTI3M2NmYmVmNTk2NjJjMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jaHJvbWl1bS9SZXNvdXJjZUhhbmRsZUlu
dGVybmFsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jaHJvbWl1bS9S
ZXNvdXJjZUhhbmRsZUludGVybmFsLmgKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlIDxwdWJs
aWMvV2ViQ29tbW9uLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYlVSTExvYWRlci5oPgogI2luY2x1
ZGUgPHB1YmxpYy9XZWJVUkxMb2FkZXJDbGllbnQuaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViVVJM
UmVxdWVzdC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTUxLDYgKzUyLDcgQEAgcHVi
bGljOgogICAgIHZvaWQgY2FuY2VsKCk7CiAgICAgdm9pZCBzZXREZWZlcnNMb2FkaW5nKGJvb2wp
OwogICAgIGJvb2wgYWxsb3dTdG9yZWRDcmVkZW50aWFscygpIGNvbnN0OworICAgIHZvaWQgZGlk
Q2hhbmdlUHJpb3JpdHkoV2ViS2l0OjpXZWJVUkxSZXF1ZXN0OjpQcmlvcml0eSk7CiAKICAgICAv
LyBXZWJVUkxMb2FkZXJDbGllbnQgbWV0aG9kczoKICAgICB2aXJ0dWFsIHZvaWQgd2lsbFNlbmRS
ZXF1ZXN0KFdlYktpdDo6V2ViVVJMTG9hZGVyKiwgV2ViS2l0OjpXZWJVUkxSZXF1ZXN0JiwgY29u
c3QgV2ViS2l0OjpXZWJVUkxSZXNwb25zZSYpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>