<?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>107166</bug_id>
          
          <creation_ts>2013-01-17 13:19:04 -0800</creation_ts>
          <short_desc>Each NetworkConnectionToWebProcess should keep its own map of NetworkResourceLoaders</short_desc>
          <delta_ts>2013-01-17 13:57:20 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>All</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="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>ap</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>809691</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-01-17 13:19:04 -0800</bug_when>
    <thetext>Each NetworkConnectionToWebProcess should keep its own set of NetworkResourceLoaders

Currently the NetworkResourceLoadScheduler keeps this identifier -&gt; loader map, but the only client of this map is the NetworkConnectionToWebProcess.

By moving the map to the NetworkConnectionToWebProcess the ownership is much more clear and we can also get rid of the ridiculous NetworkConnectionToWebProcessObserver interface.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809694</commentid>
    <comment_count>1</comment_count>
      <attachid>183257</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-01-17 13:23:16 -0800</bug_when>
    <thetext>Created attachment 183257
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809746</commentid>
    <comment_count>2</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-01-17 13:57:20 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/140038</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183257</attachid>
            <date>2013-01-17 13:23:16 -0800</date>
            <delta_ts>2013-01-17 13:29:47 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>14465</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBhY2VmMTJhLi5hMTI5MTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIg
QEAKKzIwMTMtMDEtMTcgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIEVhY2ggTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mgc2hvdWxkIGtlZXAgaXRzIG93
biBtYXAgb2YgTmV0d29ya1Jlc291cmNlTG9hZGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3MTY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mgbm93
IGtlZXBzIGl0cyBvd24gaWQtPmxvYWRlciBtYXAgc28gaXQgY2FuIGRpcmVjdGx5IGFkZHJlc3Mg
dGhlbSBhcyBuZWVkZWQ6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzczo6fk5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKToKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZFJlY2VpdmVNZXNzYWdlKToK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZENsb3Nl
KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnNjaGVk
dWxlUmVzb3VyY2VMb2FkKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3M6OnJlbW92ZUxvYWRJZGVudGlmaWVyKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oOgorCisgICAgICAgIE5ldHdvcmtSZXNv
dXJjZUxvYWRTY2hlZHVsZXIgbm8gbG9uZ2VyIGtlZXBzIGFuIGlkZW50aWZpZXIgLT4gbG9hZGVy
IG1hcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1
bGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlcjo6
c2NoZWR1bGVSZXNvdXJjZUxvYWQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VM
b2FkU2NoZWR1bGVyOjpyZW1vdmVMb2FkSWRlbnRpZmllcik6CisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlci5oOgorCisgICAgICAgIFRoZXJlIGlz
IG5vIGxvbmdlciBzdWNoIGEgdGhpbmcgYXMgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NP
YnNlcnZlcjoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6Ok5ldHdvcmtSZXNv
dXJjZUxvYWRlcik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6fk5l
dHdvcmtSZXNvdXJjZUxvYWRlcik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxv
YWRlcjo6Y29ubmVjdGlvblRvV2ViUHJvY2Vzc0RpZENsb3NlKToKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaDoKKwogMjAxMy0wMS0xNiAgQWxleGV5IFBy
b3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgc2FuZGJveCBydWxl
cyBhZnRlciByMTI4MDAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKaW5kZXggYTkwNDRj
Mi4uMTg2M2IzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApAQCAtNTcsMTkgKzU3
LDYgQEAgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6Ok5ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzKENvcmVJUEM6OkNvbm5lY3Rpb24KIAogTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M6On5OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcygpCiB7Ci0gICAgQVNTRVJUKG1f
b2JzZXJ2ZXJzLmlzRW1wdHkoKSk7Ci19Ci0KLXZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M6OnJlZ2lzdGVyT2JzZXJ2ZXIoTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NPYnNl
cnZlciogb2JzZXJ2ZXIpCi17Ci0gICAgQVNTRVJUKCFtX29ic2VydmVycy5jb250YWlucyhvYnNl
cnZlcikpOwotICAgIG1fb2JzZXJ2ZXJzLmFkZChvYnNlcnZlcik7Ci19Ci0KLXZvaWQgTmV0d29y
a0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnVucmVnaXN0ZXJPYnNlcnZlcihOZXR3b3JrQ29ubmVj
dGlvblRvV2ViUHJvY2Vzc09ic2VydmVyKiBvYnNlcnZlcikKLXsKLSAgICBBU1NFUlQobV9vYnNl
cnZlcnMuY29udGFpbnMob2JzZXJ2ZXIpKTsKLSAgICBtX29ic2VydmVycy5yZW1vdmUob2JzZXJ2
ZXIpOwogfQogICAgIAogdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkUmVj
ZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgQ29yZUlQQzo6TWVz
c2FnZUlEIG1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImIGRlY29kZXIpCkBAIC04
MCw3ICs2Nyw3IEBAIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZFJlY2Vp
dmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lCiAgICAgfQogICAgIAogICAgIGlm
IChtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNsYXNzTmV0d29ya1Jlc291cmNlTG9hZGVy
PigpKSB7Ci0gICAgICAgIE5ldHdvcmtSZXNvdXJjZUxvYWRlciogbG9hZGVyID0gTmV0d29ya1By
b2Nlc3M6OnNoYXJlZCgpLm5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIoKS5uZXR3b3JrUmVz
b3VyY2VMb2FkZXJGb3JJZGVudGlmaWVyKGRlY29kZXIuZGVzdGluYXRpb25JRCgpKTsKKyAgICAg
ICAgTmV0d29ya1Jlc291cmNlTG9hZGVyKiBsb2FkZXIgPSBtX3Jlc291cmNlTG9hZGVycy5nZXQo
ZGVjb2Rlci5kZXN0aW5hdGlvbklEKCkpLmdldCgpOwogICAgICAgICBpZiAobG9hZGVyKQogICAg
ICAgICAgICAgbG9hZGVyLT5kaWRSZWNlaXZlTmV0d29ya1Jlc291cmNlTG9hZGVyTWVzc2FnZShj
b25uZWN0aW9uLCBtZXNzYWdlSUQsIGRlY29kZXIpOwogICAgICAgICByZXR1cm47CkBAIC0xMDEs
MTUgKzg4LDEyIEBAIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZENsb3Nl
KENvcmVJUEM6OkNvbm5lY3Rpb24qKQogewogICAgIC8vIFByb3RlY3Qgb3Vyc2VsZiBhcyB3ZSBt
aWdodCBiZSBvdGhlcndpc2UgYmUgZGVsZXRlZCBkdXJpbmcgdGhpcyBmdW5jdGlvbi4KICAgICBS
ZWZQdHI8TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+IHByb3RlY3Rvcih0aGlzKTsKLSAg
ICAKLSAgICBOZXR3b3JrUHJvY2Vzczo6c2hhcmVkKCkucmVtb3ZlTmV0d29ya0Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3ModGhpcyk7CiAKLSAgICBWZWN0b3I8TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3NPYnNlcnZlcio+IG9ic2VydmVyczsKLSAgICBjb3B5VG9WZWN0b3IobV9vYnNlcnZlcnMs
IG9ic2VydmVycyk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBvYnNlcnZlcnMuc2l6ZSgp
OyArK2kpCi0gICAgICAgIG9ic2VydmVyc1tpXS0+Y29ubmVjdGlvblRvV2ViUHJvY2Vzc0RpZENs
b3NlKHRoaXMpOwotCi0gICAgLy8gVGhlIG9iamVjdCBtYXkgYmUgZGVzdHJveWVkIG5vdy4KKyAg
ICBIYXNoTWFwPFJlc291cmNlTG9hZElkZW50aWZpZXIsIFJlZlB0cjxOZXR3b3JrUmVzb3VyY2VM
b2FkZXI+ID46Oml0ZXJhdG9yIGVuZCA9IG1fcmVzb3VyY2VMb2FkZXJzLmVuZCgpOworICAgIGZv
ciAoSGFzaE1hcDxSZXNvdXJjZUxvYWRJZGVudGlmaWVyLCBSZWZQdHI8TmV0d29ya1Jlc291cmNl
TG9hZGVyPiA+OjppdGVyYXRvciBpID0gbV9yZXNvdXJjZUxvYWRlcnMuYmVnaW4oKTsgaSAhPSBl
bmQ7ICsraSkKKyAgICAgICAgaS0+dmFsdWUtPmNvbm5lY3Rpb25Ub1dlYlByb2Nlc3NEaWRDbG9z
ZSgpOworICAgIAorICAgIG1fcmVzb3VyY2VMb2FkZXJzLmNsZWFyKCk7CiB9CiAKIHZvaWQgTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShDb3Jl
SVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6U3RyaW5nUmVmZXJlbmNlLCBDb3JlSVBDOjpTdHJp
bmdSZWZlcmVuY2UpCkBAIC0xMTgsNyArMTAyLDkgQEAgdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24K
IAogdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6c2NoZWR1bGVSZXNvdXJjZUxv
YWQoY29uc3QgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmIGxvYWRQYXJhbWV0ZXJzLCBS
ZXNvdXJjZUxvYWRJZGVudGlmaWVyJiByZXNvdXJjZUxvYWRJZGVudGlmaWVyKQogewotICAgIHJl
c291cmNlTG9hZElkZW50aWZpZXIgPSBOZXR3b3JrUHJvY2Vzczo6c2hhcmVkKCkubmV0d29ya1Jl
c291cmNlTG9hZFNjaGVkdWxlcigpLnNjaGVkdWxlUmVzb3VyY2VMb2FkKGxvYWRQYXJhbWV0ZXJz
LCB0aGlzKTsKKyAgICBSZWZQdHI8TmV0d29ya1Jlc291cmNlTG9hZGVyPiBsb2FkZXIgPSAgTmV0
d29ya1Byb2Nlc3M6OnNoYXJlZCgpLm5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIoKS5zY2hl
ZHVsZVJlc291cmNlTG9hZChsb2FkUGFyYW1ldGVycywgdGhpcyk7CisgICAgcmVzb3VyY2VMb2Fk
SWRlbnRpZmllciA9IGxvYWRlci0+aWRlbnRpZmllcigpOworICAgIG1fcmVzb3VyY2VMb2FkZXJz
LmFkZChyZXNvdXJjZUxvYWRJZGVudGlmaWVyLCBsb2FkZXIpOwogfQogCiB2b2lkIE5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOjpwZXJmb3JtU3luY2hyb25vdXNMb2FkKGNvbnN0IE5ldHdv
cmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiBsb2FkUGFyYW1ldGVycywgUGFzc1JlZlB0cjxNZXNz
YWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OlBlcmZvcm1TeW5jaHJvbm91c0xv
YWQ6OkRlbGF5ZWRSZXBseT4gcmVwbHkpCkBAIC0xMjksNiArMTE1LDcgQEAgdm9pZCBOZXR3b3Jr
Q29ubmVjdGlvblRvV2ViUHJvY2Vzczo6cGVyZm9ybVN5bmNocm9ub3VzTG9hZChjb25zdCBOZXR3
b3JrUmVzb3VyY2UKIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnJlbW92ZUxv
YWRJZGVudGlmaWVyKFJlc291cmNlTG9hZElkZW50aWZpZXIgaWRlbnRpZmllcikKIHsKICAgICBO
ZXR3b3JrUHJvY2Vzczo6c2hhcmVkKCkubmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlcigpLnJl
bW92ZUxvYWRJZGVudGlmaWVyKGlkZW50aWZpZXIpOworICAgIG1fcmVzb3VyY2VMb2FkZXJzLnJl
bW92ZShpZGVudGlmaWVyKTsKIH0KIAogdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
czo6c2VydmVQZW5kaW5nUmVxdWVzdHModWludDMyX3QgcmVzb3VyY2VMb2FkUHJpb3JpdHkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAppbmRleCA4OGNhM2YyLi44YjExNGJhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0
aW9uVG9XZWJQcm9jZXNzLmgKQEAgLTQyLDIzICs0MiwxNSBAQCBjbGFzcyBSZXNvdXJjZVJlcXVl
c3Q7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M7CitjbGFzcyBOZXR3b3JrUmVzb3VyY2VMb2FkZXI7CiB0eXBlZGVmIHVpbnQ2NF90IFJl
c291cmNlTG9hZElkZW50aWZpZXI7CiAKLWNsYXNzIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzT2JzZXJ2ZXIgewotcHVibGljOgotICAgIHZpcnR1YWwgfk5ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzT2JzZXJ2ZXIoKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgY29ubmVjdGlvblRvV2Vi
UHJvY2Vzc0RpZENsb3NlKE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKikgPSAwOwotfTsK
LQogY2xhc3MgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MgOiBwdWJsaWMgUmVmQ291bnRl
ZDxOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcz4sIENvcmVJUEM6OkNvbm5lY3Rpb246OkNs
aWVudCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8TmV0d29ya0Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3M+IGNyZWF0ZShDb3JlSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyKTsKICAg
ICB2aXJ0dWFsIH5OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcygpOwogCiAgICAgQ29yZUlQ
Qzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY29ubmVjdGlvbi5n
ZXQoKTsgfQotICAgIAotICAgIHZvaWQgcmVnaXN0ZXJPYnNlcnZlcihOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzc09ic2VydmVyKik7Ci0gICAgdm9pZCB1bnJlZ2lzdGVyT2JzZXJ2ZXIoTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NPYnNlcnZlciopOwogCiAgICAgYm9vbCBpc1Nlcmlh
bExvYWRpbmdFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9zZXJpYWxMb2FkaW5nRW5hYmxlZDsg
fQogCkBAIC05MSw4ICs4Myw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkZWxldGVDb29raWUoYm9v
bCBwcml2YXRlQnJvd3NpbmdFbmFibGVkLCBjb25zdCBXZWJDb3JlOjpLVVJMJiwgY29uc3QgU3Ry
aW5nJiBjb29raWVOYW1lKTsKIAogICAgIFJlZlB0cjxDb3JlSVBDOjpDb25uZWN0aW9uPiBtX2Nv
bm5lY3Rpb247Ci0gICAgCi0gICAgSGFzaFNldDxOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
c09ic2VydmVyKj4gbV9vYnNlcnZlcnM7CisKKyAgICBIYXNoTWFwPFJlc291cmNlTG9hZElkZW50
aWZpZXIsIFJlZlB0cjxOZXR3b3JrUmVzb3VyY2VMb2FkZXI+ID4gbV9yZXNvdXJjZUxvYWRlcnM7
CiAKICAgICBib29sIG1fc2VyaWFsTG9hZGluZ0VuYWJsZWQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlci5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkU2No
ZWR1bGVyLmNwcAppbmRleCA4Zjc5YmNjLi42NjU4MTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1
bGVyLmNwcApAQCAtNDAsNyArNDAsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVs
ZXI6OnJlcXVlc3RUaW1lckZpcmVkKFdlYkNvcmU6OlRpbWVyPE5ldHdvcmtSZXNvdQogICAgIHNl
cnZlUGVuZGluZ1JlcXVlc3RzKCk7CiB9CiAKLVJlc291cmNlTG9hZElkZW50aWZpZXIgTmV0d29y
a1Jlc291cmNlTG9hZFNjaGVkdWxlcjo6c2NoZWR1bGVSZXNvdXJjZUxvYWQoY29uc3QgTmV0d29y
a1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmIGxvYWRQYXJhbWV0ZXJzLCBOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2VzcyogY29ubmVjdGlvbikKK1Bhc3NSZWZQdHI8TmV0d29ya1Jlc291cmNlTG9h
ZGVyPiBOZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVsZVJlc291cmNlTG9hZChj
b25zdCBOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycyYgbG9hZFBhcmFtZXRlcnMsIE5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKiBjb25uZWN0aW9uKQogewogICAgIFJlc291cmNlTG9h
ZFByaW9yaXR5IHByaW9yaXR5ID0gbG9hZFBhcmFtZXRlcnMucHJpb3JpdHkoKTsKICAgICBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmIHJlc291cmNlUmVxdWVzdCA9IGxvYWRQYXJhbWV0ZXJzLnJlcXVl
c3QoKTsKQEAgLTQ4LDggKzQ4LDYgQEAgUmVzb3VyY2VMb2FkSWRlbnRpZmllciBOZXR3b3JrUmVz
b3VyY2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVsZVJlc291cmNlTG9hZChjb25zdAogICAgIFJlc291
cmNlTG9hZElkZW50aWZpZXIgaWRlbnRpZmllciA9ICsrc19jdXJyZW50UmVzb3VyY2VMb2FkSWRl
bnRpZmllcjsKICAgICBSZWZQdHI8TmV0d29ya1Jlc291cmNlTG9hZGVyPiBsb2FkZXIgPSBOZXR3
b3JrUmVzb3VyY2VMb2FkZXI6OmNyZWF0ZShsb2FkUGFyYW1ldGVycywgaWRlbnRpZmllciwgY29u
bmVjdGlvbik7CiAgICAgCi0gICAgbV9yZXNvdXJjZUxvYWRlcnMuYWRkKGlkZW50aWZpZXIsIGxv
YWRlcik7Ci0KICAgICBMT0coTmV0d29ya1NjaGVkdWxpbmcsICIoTmV0d29ya1Byb2Nlc3MpIE5l
dHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnNjaGVkdWxlTmV0d29ya1Jlc291cmNlUmVxdWVz
dCByZXNvdXJjZSAlbGx1ICclcyciLCBpZGVudGlmaWVyLCByZXNvdXJjZVJlcXVlc3QudXJsKCku
c3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CiAKICAgICBIb3N0UmVjb3JkKiBob3N0ID0gaG9zdEZv
clVSTChyZXNvdXJjZVJlcXVlc3QudXJsKCksIENyZWF0ZUlmTm90Rm91bmQpOwpAQCAtNjAsMTIg
KzU4LDEyIEBAIFJlc291cmNlTG9hZElkZW50aWZpZXIgTmV0d29ya1Jlc291cmNlTG9hZFNjaGVk
dWxlcjo6c2NoZWR1bGVSZXNvdXJjZUxvYWQoY29uc3QKICAgICBpZiAocHJpb3JpdHkgPiBSZXNv
dXJjZUxvYWRQcmlvcml0eUxvdyB8fCAhcmVzb3VyY2VSZXF1ZXN0LnVybCgpLnByb3RvY29sSXNJ
bkhUVFBGYW1pbHkoKSB8fCAocHJpb3JpdHkgPT0gUmVzb3VyY2VMb2FkUHJpb3JpdHlMb3cgJiYg
IWhhZFJlcXVlc3RzKSkgewogICAgICAgICAvLyBUcnkgdG8gcmVxdWVzdCBpbXBvcnRhbnQgcmVz
b3VyY2VzIGltbWVkaWF0ZWx5LgogICAgICAgICBzZXJ2ZVBlbmRpbmdSZXF1ZXN0c0Zvckhvc3Qo
aG9zdCwgcHJpb3JpdHkpOwotICAgICAgICByZXR1cm4gaWRlbnRpZmllcjsKKyAgICAgICAgcmV0
dXJuIGxvYWRlcjsKICAgICB9CiAgICAgCiAgICAgLy8gSGFuZGxlIGFzeW5jaHJvbm91c2x5IHNv
IGVhcmx5IGxvdyBwcmlvcml0eSByZXF1ZXN0cyBkb24ndCBnZXQgc2NoZWR1bGVkIGJlZm9yZSBs
YXRlciBoaWdoIHByaW9yaXR5IG9uZXMuCiAgICAgc2NoZWR1bGVTZXJ2ZVBlbmRpbmdSZXF1ZXN0
cygpOwotICAgIHJldHVybiBpZGVudGlmaWVyOworICAgIHJldHVybiBsb2FkZXI7CiB9CiAKIHZv
aWQgTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlcjo6c2NoZWR1bGVTeW5jTmV0d29ya1Jlc291
cmNlTG9hZGVyKFBhc3NSZWZQdHI8U3luY05ldHdvcmtSZXNvdXJjZUxvYWRlcj4gbG9hZGVyKQpA
QCAtMTMyLDE4ICsxMzAsMTAgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpy
ZW1vdmVMb2FkSWRlbnRpZmllcihSZXNvdXJjZUxvYWRJZGVudGlmaWVyIGkKICAgICAvLyBJbiB0
aGlzIHNpdHVhdGlvbiB3ZSBtaWdodCBub3QgaGF2ZSBhIEhvc3RSZWNvcmQgdG8gY2xlYW4gdXAu
CiAgICAgaWYgKGhvc3QpCiAgICAgICAgIGhvc3QtPnJlbW92ZShpZGVudGlmaWVyKTsKLSAgICAK
LSAgICBtX3Jlc291cmNlTG9hZGVycy5yZW1vdmUoaWRlbnRpZmllcik7CiAKICAgICBzY2hlZHVs
ZVNlcnZlUGVuZGluZ1JlcXVlc3RzKCk7CiB9CiAKLU5ldHdvcmtSZXNvdXJjZUxvYWRlciogTmV0
d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlcjo6bmV0d29ya1Jlc291cmNlTG9hZGVyRm9ySWRlbnRp
ZmllcihSZXNvdXJjZUxvYWRJZGVudGlmaWVyIGlkZW50aWZpZXIpCi17Ci0gICAgQVNTRVJUKG1f
cmVzb3VyY2VMb2FkZXJzLmdldChpZGVudGlmaWVyKSk7Ci0gICAgcmV0dXJuIG1fcmVzb3VyY2VM
b2FkZXJzLmdldChpZGVudGlmaWVyKS5nZXQoKTsKLX0KLQogdm9pZCBOZXR3b3JrUmVzb3VyY2VM
b2FkU2NoZWR1bGVyOjpyZWNlaXZlZFJlZGlyZWN0KFJlc291cmNlTG9hZElkZW50aWZpZXIgaWRl
bnRpZmllciwgY29uc3QgV2ViQ29yZTo6S1VSTCYgcmVkaXJlY3RVUkwpCiB7CiAgICAgQVNTRVJU
KGlzTWFpblRocmVhZCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAppbmRleCAwNDQxMjNmLi5k
MmYyYmI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlci5oCkBAIC00OSw3ICs0OSw3IEBAIHB1Ymxp
YzoKICAgICBOZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyKCk7CiAgICAgCiAgICAgLy8gQWRk
cyB0aGUgcmVxdWVzdCB0byB0aGUgcXVldWUgZm9yIGl0cyBob3N0IGFuZCBjcmVhdGUgYSB1bmlx
dWUgaWRlbnRpZmllciBmb3IgaXQuCi0gICAgUmVzb3VyY2VMb2FkSWRlbnRpZmllciBzY2hlZHVs
ZVJlc291cmNlTG9hZChjb25zdCBOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycyYsIE5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKik7CisgICAgUGFzc1JlZlB0cjxOZXR3b3JrUmVzb3Vy
Y2VMb2FkZXI+IHNjaGVkdWxlUmVzb3VyY2VMb2FkKGNvbnN0IE5ldHdvcmtSZXNvdXJjZUxvYWRQ
YXJhbWV0ZXJzJiwgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MqKTsKICAgICAKICAgICAv
LyBBZGRzIGEgc3luY2hyb25vdXMgcmVxdWVzdCB0byB0aGUgc3luY2hyb25vdXMgcmVxdWVzdCBx
dWV1ZSBmb3IgaXRzIGhvc3QuCiAgICAgdm9pZCBzY2hlZHVsZVN5bmNOZXR3b3JrUmVzb3VyY2VM
b2FkZXIoUGFzc1JlZlB0cjxTeW5jTmV0d29ya1Jlc291cmNlTG9hZGVyPik7CkBAIC02Niw4ICs2
Niw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlY2VpdmVkUmVkaXJlY3QoUmVzb3VyY2VMb2FkSWRl
bnRpZmllciwgY29uc3QgV2ViQ29yZTo6S1VSTCYgcmVkaXJlY3RVUkwpOwogICAgIHZvaWQgc2Vy
dmVQZW5kaW5nUmVxdWVzdHMoV2ViQ29yZTo6UmVzb3VyY2VMb2FkUHJpb3JpdHkgPSBXZWJDb3Jl
OjpSZXNvdXJjZUxvYWRQcmlvcml0eVZlcnlMb3cpOwogICAgIAotICAgIE5ldHdvcmtSZXNvdXJj
ZUxvYWRlciogbmV0d29ya1Jlc291cmNlTG9hZGVyRm9ySWRlbnRpZmllcihSZXNvdXJjZUxvYWRJ
ZGVudGlmaWVyKTsKLQogcHJpdmF0ZToKICAgICBlbnVtIENyZWF0ZUhvc3RQb2xpY3kgewogICAg
ICAgICBDcmVhdGVJZk5vdEZvdW5kLApAQCAtODYsOCArODQsNiBAQCBwcml2YXRlOgogICAgIHN0
YXRpYyB2b2lkIHJlbW92ZVNjaGVkdWxlZExvYWRJZGVudGlmaWVycyh2b2lkKiBjb250ZXh0KTsK
ICAgICB2b2lkIHJlbW92ZVNjaGVkdWxlZExvYWRJZGVudGlmaWVycygpOwogCi0gICAgSGFzaE1h
cDxSZXNvdXJjZUxvYWRJZGVudGlmaWVyLCBSZWZQdHI8TmV0d29ya1Jlc291cmNlTG9hZGVyPiA+
IG1fcmVzb3VyY2VMb2FkZXJzOwotCiAgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZywgSG9zdFJl
Y29yZCosIFN0cmluZ0hhc2g+IEhvc3RNYXA7CiAgICAgSG9zdE1hcCBtX2hvc3RzOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9h
ZGVyLmNwcAppbmRleCBiZDAxYmJmLi5hMGYzYWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTUzLDE1
ICs1MywxMSBAQCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcihj
b25zdCBOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycwogICAgICwgbV9jb25uZWN0aW9uKGNv
bm5lY3Rpb24pCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKLSAgICBjb25uZWN0aW9u
LT5yZWdpc3Rlck9ic2VydmVyKHRoaXMpOwogfQogCiBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6On5O
ZXR3b3JrUmVzb3VyY2VMb2FkZXIoKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0K
LSAgICBpZiAobV9jb25uZWN0aW9uKQotICAgICAgICBtX2Nvbm5lY3Rpb24tPnVucmVnaXN0ZXJP
YnNlcnZlcih0aGlzKTsKIH0KIAogQ29yZUlQQzo6Q29ubmVjdGlvbiogTmV0d29ya1Jlc291cmNl
TG9hZGVyOjpjb25uZWN0aW9uKCkgY29uc3QKQEAgLTE0MSw5ICsxMzcsOCBAQCB2b2lkIE5ldHdv
cmtSZXNvdXJjZUxvYWRlcjo6c3RvcCgpCiAgICAgZGVyZWYoKTsKIH0KIAotdm9pZCBOZXR3b3Jr
UmVzb3VyY2VMb2FkZXI6OmNvbm5lY3Rpb25Ub1dlYlByb2Nlc3NEaWRDbG9zZShOZXR3b3JrQ29u
bmVjdGlvblRvV2ViUHJvY2VzcyogY29ubmVjdGlvbikKK3ZvaWQgTmV0d29ya1Jlc291cmNlTG9h
ZGVyOjpjb25uZWN0aW9uVG9XZWJQcm9jZXNzRGlkQ2xvc2UoKQogewotICAgIEFTU0VSVF9BUkco
Y29ubmVjdGlvbiwgY29ubmVjdGlvbiA9PSBtX2Nvbm5lY3Rpb24uZ2V0KCkpOwogICAgIC8vIEZJ
WE1FIChOZXR3b3JrUHJvY2Vzcyk6IENhbmNlbCB0aGUgbG9hZC4gVGhlIHJlcXVlc3QgbWF5IGJl
IGxvbmctbGl2aW5nLCBzbyB3ZSBkb24ndCB3YW50IGl0IHRvIGxpbmdlciBhcm91bmQgYWZ0ZXIg
YWxsIGNsaWVudHMgYXJlIGdvbmUuCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmgKaW5kZXggZTNiNmE1YS4uNTdjOWJk
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jl
c291cmNlTG9hZGVyLmgKQEAgLTQ2LDcgKzQ2LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFz
cyBSZW1vdGVOZXR3b3JraW5nQ29udGV4dDsKIHR5cGVkZWYgdWludDY0X3QgUmVzb3VyY2VMb2Fk
SWRlbnRpZmllcjsKIAotY2xhc3MgTmV0d29ya1Jlc291cmNlTG9hZGVyIDogcHVibGljIFJlZkNv
dW50ZWQ8TmV0d29ya1Jlc291cmNlTG9hZGVyPiwgcHVibGljIE5ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzT2JzZXJ2ZXIsIHB1YmxpYyBXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZUNsaWVudCwg
cHVibGljIENvcmVJUEM6Ok1lc3NhZ2VTZW5kZXI8TmV0d29ya1Jlc291cmNlTG9hZGVyPiB7Citj
bGFzcyBOZXR3b3JrUmVzb3VyY2VMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxOZXR3b3JrUmVz
b3VyY2VMb2FkZXI+LCBwdWJsaWMgV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGVDbGllbnQsIHB1Ymxp
YyBDb3JlSVBDOjpNZXNzYWdlU2VuZGVyPE5ldHdvcmtSZXNvdXJjZUxvYWRlcj4gewogcHVibGlj
OgogICAgIHN0YXRpYyBSZWZQdHI8TmV0d29ya1Jlc291cmNlTG9hZGVyPiBjcmVhdGUoY29uc3Qg
TmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsIFJlc291cmNlTG9hZElk
ZW50aWZpZXIgaWRlbnRpZmllciwgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MqIGNvbm5l
Y3Rpb24pCiAgICAgewpAQCAtNjMsNyArNjMsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHN0YXJ0
KCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgY29ubmVjdGlvblRvV2ViUHJvY2Vzc0RpZENsb3NlKE5l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKikgT1ZFUlJJREU7CisgICAgdm9pZCBjb25uZWN0
aW9uVG9XZWJQcm9jZXNzRGlkQ2xvc2UoKTsKICAgICAKICAgICBSZXNvdXJjZUxvYWRJZGVudGlm
aWVyIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KICAgICBXZWJD
b3JlOjpSZXNvdXJjZUxvYWRQcmlvcml0eSBwcmlvcml0eSgpIGNvbnN0Owo=
</data>
<flag name="review"
          id="201584"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>