<?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>67734</bug_id>
          
          <creation_ts>2011-09-07 14:36:46 -0700</creation_ts>
          <short_desc>Add a new PortFactory class for creating new-style ports and deprecate the old PortFactory</short_desc>
          <delta_ts>2011-09-07 14:43:49 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>463659</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-09-07 14:36:46 -0700</bug_when>
    <thetext>Add a new PortFactory class for creating new-style ports and deprecate the old PortFactory</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463662</commentid>
    <comment_count>1</comment_count>
      <attachid>106640</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-09-07 14:39:18 -0700</bug_when>
    <thetext>Created attachment 106640
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463665</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-09-07 14:43:49 -0700</bug_when>
    <thetext>Committed r94717: &lt;http://trac.webkit.org/changeset/94717&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106640</attachid>
            <date>2011-09-07 14:39:18 -0700</date>
            <delta_ts>2011-09-07 14:40:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67734-20110907143917.patch</filename>
            <type>text/plain</type>
            <size>12502</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ3MDYKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzYjkxNjA5NzcxMzcxMzA3MmY0MDM0YzdlMTZmMDk5Nzg5
Nzg3MDk0Li5hNTliMGQyNDNhMDYxN2UyMmY4MmU5ZjJlZDgyOWJhMjEyMGFmNDVjIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUg
QEAKKzIwMTEtMDktMDcgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAg
IEFkZCBhIG5ldyBQb3J0RmFjdG9yeSBjbGFzcyBmb3IgY3JlYXRpbmcgbmV3LXN0eWxlIHBvcnRz
IGFuZCBkZXByZWNhdGUgdGhlIG9sZCBQb3J0RmFjdG9yeQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3MzQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSaWdodCBub3cgZXZlcnkgcGxhY2UgdGhhdCBjcmVh
dGVzIGEgUG9ydCBvYmplY3QgaGFzIHRvIGJlIHZlcnkgY2FyZWZ1bAorICAgICAgICB0byBwYXNz
IGluIGEgTW9ja1NDTS9Nb2NrVXNlci9Nb2NrRmlsZXN5c3RlbSB3aGVuIGFwcHJvcHJpYXRlLgor
ICAgICAgICBUaGUgY29ycmVjdCBmaXggaXMgZm9yIHBvcnQvZmFjdG9yeS5weSAod2hpY2ggY3Jl
YXRlcyBtb3N0IHBvcnQgb2JqZWN0cykKKyAgICAgICAgdG8ga25vdyBob3cgdG8gcGFzcyB0aGVz
ZSBpbiBhdXRvbWF0aWNhbGx5LiAgSG93ZXZlciwgY3VycmVudGx5IGFsbCBwb3J0L2ZhY3Rvcnku
cHkKKyAgICAgICAgZnVuY3Rpb25zIGFyZSBmcmVlIGZ1bmN0aW9ucyBpbnN0ZWFkIG9mIGJlaW5n
IG9uIGFuIG9iamVjdC4gIFRoaXMgcGF0Y2gKKyAgICAgICAgYWRkcyBhIG5ldyBQb3J0RmFjdG9y
eSBvYmplY3QgYW5kIGRlcHJlY2F0ZXMgdGhlIFBvcnRGYWN0b3J5IGZvciB0aGUgb2xkLXN0eWxl
IFBvcnQgb2JqZWN0cy4KKworICAgICAgICBJbiBhIGZvbGxvdy11cCBwYXRjaCBJIHdpbGwgYWRk
IFBvcnRGYWN0b3J5IHRvIHRoZSBIb3N0IG9iamVjdCBhbmQgdGVhY2ggUG9ydEZhY3RvcnkgaG93
IHRvCisgICAgICAgIHBhc3MgYWxvbmcgdGhlIHByb3BlciBzY20vdXNlci9maWxlc3lzdGVtIHRv
IHRoZSBQb3J0IG9iamVjdC4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2hv
c3QucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9mYWN0
b3J5LnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWVyaWVz
LnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9tb2NrdG9vbC5weToKKwogMjAx
MS0wOS0wNyAgRWxsaW90IFBvZ2VyICA8ZXBvZ2VyQGdvb2dsZS5jb20+CiAKICAgICAgICAgZmls
dGVyIHRlc3RfZXhwZWN0YXRpb25zIHByb3Blcmx5IGZvciBjaHJvbWl1bS1tYWMgdnMgY2hyb21p
dW0tY2ctbWFjCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9ob3N0
LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vaG9zdC5weQppbmRleCA5YmJhNWI5
MWZlZmE4MmMxODcyNjIxMDQ5OWQ4YTNkNWQ1OWUzZDdmLi5hN2Q4ZDc2ZDAwMDUyYzVhYmI5MWI1
MWI0NTY4YjRmNTVmNjIwOGExIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9ob3N0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2hvc3QucHkK
QEAgLTUzLDcgKzUzLDcgQEAgY2xhc3MgSG9zdChvYmplY3QpOgogICAgICAgICBzZWxmLl9zY20g
PSBOb25lCiAgICAgICAgIHNlbGYuX2NoZWNrb3V0ID0gTm9uZQogICAgICAgICBzZWxmLnN0YXR1
c19zZXJ2ZXIgPSBzdGF0dXNzZXJ2ZXIuU3RhdHVzU2VydmVyKCkKLSAgICAgICAgc2VsZi5wb3J0
X2ZhY3RvcnkgPSBwb3J0LmZhY3RvcnkKKyAgICAgICAgc2VsZi5fZGVwcmVjYXRlZF9wb3J0X2Zh
Y3RvcnkgPSBwb3J0LmZhY3RvcnkKICAgICAgICAgc2VsZi5wbGF0Zm9ybSA9IHBsYXRmb3JtaW5m
by5QbGF0Zm9ybUluZm8oKQogCiAgICAgZGVmIF9pbml0aWFsaXplX3NjbShzZWxmLCBwYXRjaF9k
aXJlY3Rvcmllcz1Ob25lKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvZmFjdG9yeS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvZmFjdG9yeS5weQppbmRleCAwZDI5M2E3OWU2ZmJjNzUwZTJmODYxOTI5MzI3
NzA1MDgxOTJiOWMxLi5kNDMyNThlMzJjNDljNjllYjdiMTI1OTY0OGYwOTFlN2I3MTViMjkzIDEw
MDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2ZhY3Rv
cnkucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9mYWN0
b3J5LnB5CkBAIC0zNiw5OSArMzYsMTE2IEBAIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLnBv
cnQgaW1wb3J0IGJ1aWxkZXJzCiAKIAogY2xhc3MgQnVpbGRlck9wdGlvbnMob2JqZWN0KToKLQog
ICAgIGRlZiBfX2luaXRfXyhzZWxmLCBidWlsZGVyX25hbWUpOgogICAgICAgICBzZWxmLmNvbmZp
Z3VyYXRpb24gPSAiRGVidWciIGlmIHJlLnNlYXJjaChyIltkfERdKGVidXxiKWciLCBidWlsZGVy
X25hbWUpIGVsc2UgIlJlbGVhc2UiCiAgICAgICAgIHNlbGYuYnVpbGRlcl9uYW1lID0gYnVpbGRl
cl9uYW1lCiAKIAorY2xhc3MgUG9ydEZhY3Rvcnkob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18o
c2VsZiwgaG9zdD1Ob25lKToKKyAgICAgICAgIyBGSVhNRTogQWxsIGNhbGxlcnMgc2hvdWxkIHBh
c3MgYSBwb3J0LgorICAgICAgICBzZWxmLl9ob3N0ID0gaG9zdAorCisgICAgZGVmIF9wb3J0X25h
bWVfZnJvbV9hcmd1bWVudHNfYW5kX29wdGlvbnMoc2VsZiwgKiprd2FyZ3MpOgorICAgICAgICBw
b3J0X3RvX3VzZSA9IGt3YXJncy5nZXQoJ3BvcnRfbmFtZScsIE5vbmUpCisgICAgICAgIG9wdGlv
bnMgPSBrd2FyZ3MuZ2V0KCdvcHRpb25zJywgTm9uZSkKKyAgICAgICAgaWYgcG9ydF90b191c2Ug
aXMgTm9uZToKKyAgICAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAnd2luMzInIG9yIHN5cy5w
bGF0Zm9ybSA9PSAnY3lnd2luJzoKKyAgICAgICAgICAgICAgICBpZiBvcHRpb25zIGFuZCBoYXNh
dHRyKG9wdGlvbnMsICdjaHJvbWl1bScpIGFuZCBvcHRpb25zLmNocm9taXVtOgorICAgICAgICAg
ICAgICAgICAgICBwb3J0X3RvX3VzZSA9ICdjaHJvbWl1bS13aW4nCisgICAgICAgICAgICAgICAg
ZWxzZToKKyAgICAgICAgICAgICAgICAgICAgcG9ydF90b191c2UgPSAnd2luJworICAgICAgICAg
ICAgZWxpZiBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnbGludXgnKToKKyAgICAgICAgICAgICAg
ICBwb3J0X3RvX3VzZSA9ICdjaHJvbWl1bS1saW51eCcKKyAgICAgICAgICAgIGVsaWYgc3lzLnBs
YXRmb3JtID09ICdkYXJ3aW4nOgorICAgICAgICAgICAgICAgIGlmIG9wdGlvbnMgYW5kIGhhc2F0
dHIob3B0aW9ucywgJ2Nocm9taXVtJykgYW5kIG9wdGlvbnMuY2hyb21pdW06CisgICAgICAgICAg
ICAgICAgICAgIHBvcnRfdG9fdXNlID0gJ2Nocm9taXVtLWNnLW1hYycKKyAgICAgICAgICAgICAg
ICAgICAgIyBGSVhNRTogQWRkIGEgd2F5IHRvIHNlbGVjdCB0aGUgY2hyb21pdW0tbWFjIHBvcnQu
CisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgcG9ydF90b191c2Ug
PSAnbWFjJworCisgICAgICAgIGlmIHBvcnRfdG9fdXNlIGlzIE5vbmU6CisgICAgICAgICAgICBy
YWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCd1bmtub3duIHBvcnQ7IHN5cy5wbGF0Zm9ybSA9ICIl
cyInICUgc3lzLnBsYXRmb3JtKQorICAgICAgICByZXR1cm4gcG9ydF90b191c2UKKworICAgIGRl
ZiBfZ2V0X2t3YXJncyhzZWxmLCAqKmt3YXJncyk6CisgICAgICAgIHBvcnRfdG9fdXNlID0gc2Vs
Zi5fcG9ydF9uYW1lX2Zyb21fYXJndW1lbnRzX2FuZF9vcHRpb25zKCoqa3dhcmdzKQorCisgICAg
ICAgIGlmIHBvcnRfdG9fdXNlLnN0YXJ0c3dpdGgoJ3Rlc3QnKToKKyAgICAgICAgICAgIGltcG9y
dCB0ZXN0CisgICAgICAgICAgICBtYWtlciA9IHRlc3QuVGVzdFBvcnQKKyAgICAgICAgZWxpZiBw
b3J0X3RvX3VzZS5zdGFydHN3aXRoKCdkcnlydW4nKToKKyAgICAgICAgICAgIGltcG9ydCBkcnly
dW4KKyAgICAgICAgICAgIG1ha2VyID0gZHJ5cnVuLkRyeVJ1blBvcnQKKyAgICAgICAgZWxpZiBw
b3J0X3RvX3VzZS5zdGFydHN3aXRoKCdtb2NrLScpOgorICAgICAgICAgICAgaW1wb3J0IG1vY2tf
ZHJ0CisgICAgICAgICAgICBtYWtlciA9IG1vY2tfZHJ0Lk1vY2tEUlRQb3J0CisgICAgICAgIGVs
aWYgcG9ydF90b191c2Uuc3RhcnRzd2l0aCgnbWFjJyk6CisgICAgICAgICAgICBpbXBvcnQgbWFj
CisgICAgICAgICAgICBtYWtlciA9IG1hYy5NYWNQb3J0CisgICAgICAgIGVsaWYgcG9ydF90b191
c2Uuc3RhcnRzd2l0aCgnd2luJyk6CisgICAgICAgICAgICBpbXBvcnQgd2luCisgICAgICAgICAg
ICBtYWtlciA9IHdpbi5XaW5Qb3J0CisgICAgICAgIGVsaWYgcG9ydF90b191c2Uuc3RhcnRzd2l0
aCgnZ3RrJyk6CisgICAgICAgICAgICBpbXBvcnQgZ3RrCisgICAgICAgICAgICBtYWtlciA9IGd0
ay5HdGtQb3J0CisgICAgICAgIGVsaWYgcG9ydF90b191c2Uuc3RhcnRzd2l0aCgncXQnKToKKyAg
ICAgICAgICAgIGltcG9ydCBxdAorICAgICAgICAgICAgbWFrZXIgPSBxdC5RdFBvcnQKKyAgICAg
ICAgZWxpZiBwb3J0X3RvX3VzZS5zdGFydHN3aXRoKCdjaHJvbWl1bS1ncHUnKToKKyAgICAgICAg
ICAgIGltcG9ydCBjaHJvbWl1bV9ncHUKKyAgICAgICAgICAgIG1ha2VyID0gY2hyb21pdW1fZ3B1
LmdldAorICAgICAgICBlbGlmIHBvcnRfdG9fdXNlLnN0YXJ0c3dpdGgoJ2Nocm9taXVtLW1hYycp
IG9yIHBvcnRfdG9fdXNlLnN0YXJ0c3dpdGgoJ2Nocm9taXVtLWNnLW1hYycpOgorICAgICAgICAg
ICAgaW1wb3J0IGNocm9taXVtX21hYworICAgICAgICAgICAgbWFrZXIgPSBjaHJvbWl1bV9tYWMu
Q2hyb21pdW1NYWNQb3J0CisgICAgICAgIGVsaWYgcG9ydF90b191c2Uuc3RhcnRzd2l0aCgnY2hy
b21pdW0tbGludXgnKToKKyAgICAgICAgICAgIGltcG9ydCBjaHJvbWl1bV9saW51eAorICAgICAg
ICAgICAgbWFrZXIgPSBjaHJvbWl1bV9saW51eC5DaHJvbWl1bUxpbnV4UG9ydAorICAgICAgICBl
bGlmIHBvcnRfdG9fdXNlLnN0YXJ0c3dpdGgoJ2Nocm9taXVtLXdpbicpOgorICAgICAgICAgICAg
aW1wb3J0IGNocm9taXVtX3dpbgorICAgICAgICAgICAgbWFrZXIgPSBjaHJvbWl1bV93aW4uQ2hy
b21pdW1XaW5Qb3J0CisgICAgICAgIGVsaWYgcG9ydF90b191c2Uuc3RhcnRzd2l0aCgnZ29vZ2xl
LWNocm9tZScpOgorICAgICAgICAgICAgaW1wb3J0IGdvb2dsZV9jaHJvbWUKKyAgICAgICAgICAg
IG1ha2VyID0gZ29vZ2xlX2Nocm9tZS5HZXRHb29nbGVDaHJvbWVQb3J0CisgICAgICAgIGVsc2U6
CisgICAgICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCd1bnN1cHBvcnRlZCBwb3J0
OiAlcycgJSBwb3J0X3RvX3VzZSkKKyAgICAgICAgcmV0dXJuIG1ha2VyKCoqa3dhcmdzKQorCisg
ICAgZGVmIGFsbF9wb3J0X25hbWVzKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gYSBsaXN0IG9m
IGFsbCB2YWxpZCwgZnVsbHktc3BlY2lmaWVkLCAicmVhbCIgcG9ydCBuYW1lcy4KKworICAgICAg
ICBUaGlzIGlzIHRoZSBsaXN0IG9mIGRpcmVjdG9yaWVzIHRoYXQgYXJlIHVzZWQgYXMgYWN0dWFs
IGJhc2VsaW5lX3BhdGhzKCkKKyAgICAgICAgYnkgcmVhbCBwb3J0cy4gVGhpcyBkb2VzIG5vdCBp
bmNsdWRlIGFueSAiZmFrZSIgbmFtZXMgbGlrZSAidGVzdCIKKyAgICAgICAgb3IgIm1vY2stbWFj
IiwgYW5kIGl0IGRvZXMgbm90IGluY2x1ZGUgYW55IGRpcmVjdG9yaWVzIHRoYXQgYXJlIG5vdCAu
IiIiCisgICAgICAgICMgRklYTUU6IFRoZXJlJ3MgcHJvYmFibHkgYSBiZXR0ZXIgd2F5IHRvIGdl
bmVyYXRlIHRoaXMgbGlzdCAuLi4KKyAgICAgICAgcmV0dXJuIGJ1aWxkZXJzLmFsbF9wb3J0X25h
bWVzKCkKKworICAgIGRlZiBnZXQoc2VsZiwgcG9ydF9uYW1lPU5vbmUsIG9wdGlvbnM9Tm9uZSwg
Kiprd2FyZ3MpOgorICAgICAgICAiIiJSZXR1cm5zIGFuIG9iamVjdCBpbXBsZW1lbnRpbmcgdGhl
IFBvcnQgaW50ZXJmYWNlLiBJZgorICAgICAgICBwb3J0X25hbWUgaXMgTm9uZSwgdGhpcyByb3V0
aW5lIGF0dGVtcHRzIHRvIGd1ZXNzIGF0IHRoZSBtb3N0CisgICAgICAgIGFwcHJvcHJpYXRlIHBv
cnQgb24gdGhpcyBwbGF0Zm9ybS4iIiIKKyAgICAgICAgIyBXcmFwcGVkIGZvciBiYWNrd2FyZHMt
Y29tcGF0aWJpbGl0eQorICAgICAgICBpZiBwb3J0X25hbWU6CisgICAgICAgICAgICBrd2FyZ3Nb
J3BvcnRfbmFtZSddID0gcG9ydF9uYW1lCisgICAgICAgIGlmIG9wdGlvbnM6CisgICAgICAgICAg
ICBrd2FyZ3NbJ29wdGlvbnMnXSA9IG9wdGlvbnMKKyAgICAgICAgcmV0dXJuIHNlbGYuX2dldF9r
d2FyZ3MoKiprd2FyZ3MpCisKKyAgICBkZWYgZ2V0X2Zyb21fYnVpbGRlcl9uYW1lKHNlbGYsIGJ1
aWxkZXJfbmFtZSk6CisgICAgICAgIHBvcnRfbmFtZSA9IGJ1aWxkZXJzLnBvcnRfbmFtZV9mb3Jf
YnVpbGRlcl9uYW1lKGJ1aWxkZXJfbmFtZSkKKyAgICAgICAgYXNzZXJ0KHBvcnRfbmFtZSkgICMg
TmVlZCB0byB1cGRhdGUgcG9ydF9uYW1lX2Zvcl9idWlsZGVyX25hbWUKKyAgICAgICAgcG9ydCA9
IHNlbGYuZ2V0KHBvcnRfbmFtZSwgQnVpbGRlck9wdGlvbnMoYnVpbGRlcl9uYW1lKSkKKyAgICAg
ICAgYXNzZXJ0KHBvcnQpICAjIE5lZWQgdG8gdXBkYXRlIHBvcnRfbmFtZV9mb3JfYnVpbGRlcl9u
YW1lCisgICAgICAgIHJldHVybiBwb3J0CisKKworCisjIEZJWE1FOiBUaGVzZSBmcmVlIGZ1bmN0
aW9ucyBhcmUgYWxsIGRlcHJlY2F0ZWQuICBDYWxsZXJzIHNob3VsZCBiZSB1c2luZyBQb3J0RmFj
dG9yeSBpbnN0ZWFkLgogZGVmIGFsbF9wb3J0X25hbWVzKCk6Ci0gICAgIiIiUmV0dXJuIGEgbGlz
dCBvZiBhbGwgdmFsaWQsIGZ1bGx5LXNwZWNpZmllZCwgInJlYWwiIHBvcnQgbmFtZXMuCi0KLSAg
ICBUaGlzIGlzIHRoZSBsaXN0IG9mIGRpcmVjdG9yaWVzIHRoYXQgYXJlIHVzZWQgYXMgYWN0dWFs
IGJhc2VsaW5lX3BhdGhzKCkKLSAgICBieSByZWFsIHBvcnRzLiBUaGlzIGRvZXMgbm90IGluY2x1
ZGUgYW55ICJmYWtlIiBuYW1lcyBsaWtlICJ0ZXN0IgotICAgIG9yICJtb2NrLW1hYyIsIGFuZCBp
dCBkb2VzIG5vdCBpbmNsdWRlIGFueSBkaXJlY3RvcmllcyB0aGF0IGFyZSBub3QgLiIiIgotICAg
ICMgRklYTUU6IFRoZXJlJ3MgcHJvYmFibHkgYSBiZXR0ZXIgd2F5IHRvIGdlbmVyYXRlIHRoaXMg
bGlzdCAuLi4KLSAgICByZXR1cm4gYnVpbGRlcnMuYWxsX3BvcnRfbmFtZXMoKQotCisgICAgcmV0
dXJuIFBvcnRGYWN0b3J5KCkuYWxsX3BvcnRfbmFtZXMoKQogCiBkZWYgZ2V0KHBvcnRfbmFtZT1O
b25lLCBvcHRpb25zPU5vbmUsICoqa3dhcmdzKToKLSAgICAiIiJSZXR1cm5zIGFuIG9iamVjdCBp
bXBsZW1lbnRpbmcgdGhlIFBvcnQgaW50ZXJmYWNlLiBJZgotICAgIHBvcnRfbmFtZSBpcyBOb25l
LCB0aGlzIHJvdXRpbmUgYXR0ZW1wdHMgdG8gZ3Vlc3MgYXQgdGhlIG1vc3QKLSAgICBhcHByb3By
aWF0ZSBwb3J0IG9uIHRoaXMgcGxhdGZvcm0uIiIiCi0gICAgIyBXcmFwcGVkIGZvciBiYWNrd2Fy
ZHMtY29tcGF0aWJpbGl0eQotICAgIGlmIHBvcnRfbmFtZToKLSAgICAgICAga3dhcmdzWydwb3J0
X25hbWUnXSA9IHBvcnRfbmFtZQotICAgIGlmIG9wdGlvbnM6Ci0gICAgICAgIGt3YXJnc1snb3B0
aW9ucyddID0gb3B0aW9ucwotICAgIHJldHVybiBfZ2V0X2t3YXJncygqKmt3YXJncykKLQorICAg
IHJldHVybiBQb3J0RmFjdG9yeSgpLmdldChwb3J0X25hbWUsIG9wdGlvbnMsICoqa3dhcmdzKQog
CiBkZWYgZ2V0X2Zyb21fYnVpbGRlcl9uYW1lKGJ1aWxkZXJfbmFtZSk6Ci0gICAgcG9ydF9uYW1l
ID0gYnVpbGRlcnMucG9ydF9uYW1lX2Zvcl9idWlsZGVyX25hbWUoYnVpbGRlcl9uYW1lKQotICAg
IGFzc2VydChwb3J0X25hbWUpICAjIE5lZWQgdG8gdXBkYXRlIHBvcnRfbmFtZV9mb3JfYnVpbGRl
cl9uYW1lCi0gICAgcG9ydCA9IGdldChwb3J0X25hbWUsIEJ1aWxkZXJPcHRpb25zKGJ1aWxkZXJf
bmFtZSkpCi0gICAgYXNzZXJ0KHBvcnQpICAjIE5lZWQgdG8gdXBkYXRlIHBvcnRfbmFtZV9mb3Jf
YnVpbGRlcl9uYW1lCi0gICAgcmV0dXJuIHBvcnQKLQotCi1kZWYgX2dldF9rd2FyZ3MoKiprd2Fy
Z3MpOgotICAgIHBvcnRfdG9fdXNlID0ga3dhcmdzLmdldCgncG9ydF9uYW1lJywgTm9uZSkKLSAg
ICBvcHRpb25zID0ga3dhcmdzLmdldCgnb3B0aW9ucycsIE5vbmUpCi0gICAgaWYgcG9ydF90b191
c2UgaXMgTm9uZToKLSAgICAgICAgaWYgc3lzLnBsYXRmb3JtID09ICd3aW4zMicgb3Igc3lzLnBs
YXRmb3JtID09ICdjeWd3aW4nOgotICAgICAgICAgICAgaWYgb3B0aW9ucyBhbmQgaGFzYXR0cihv
cHRpb25zLCAnY2hyb21pdW0nKSBhbmQgb3B0aW9ucy5jaHJvbWl1bToKLSAgICAgICAgICAgICAg
ICBwb3J0X3RvX3VzZSA9ICdjaHJvbWl1bS13aW4nCi0gICAgICAgICAgICBlbHNlOgotICAgICAg
ICAgICAgICAgIHBvcnRfdG9fdXNlID0gJ3dpbicKLSAgICAgICAgZWxpZiBzeXMucGxhdGZvcm0u
c3RhcnRzd2l0aCgnbGludXgnKToKLSAgICAgICAgICAgIHBvcnRfdG9fdXNlID0gJ2Nocm9taXVt
LWxpbnV4JwotICAgICAgICBlbGlmIHN5cy5wbGF0Zm9ybSA9PSAnZGFyd2luJzoKLSAgICAgICAg
ICAgIGlmIG9wdGlvbnMgYW5kIGhhc2F0dHIob3B0aW9ucywgJ2Nocm9taXVtJykgYW5kIG9wdGlv
bnMuY2hyb21pdW06Ci0gICAgICAgICAgICAgICAgcG9ydF90b191c2UgPSAnY2hyb21pdW0tY2ct
bWFjJwotICAgICAgICAgICAgICAgICMgRklYTUU6IEFkZCBhIHdheSB0byBzZWxlY3QgdGhlIGNo
cm9taXVtLW1hYyBwb3J0LgotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBwb3J0
X3RvX3VzZSA9ICdtYWMnCi0KLSAgICBpZiBwb3J0X3RvX3VzZSBpcyBOb25lOgotICAgICAgICBy
YWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCd1bmtub3duIHBvcnQ7IHN5cy5wbGF0Zm9ybSA9ICIl
cyInICUgc3lzLnBsYXRmb3JtKQotCi0gICAgaWYgcG9ydF90b191c2Uuc3RhcnRzd2l0aCgndGVz
dCcpOgotICAgICAgICBpbXBvcnQgdGVzdAotICAgICAgICBtYWtlciA9IHRlc3QuVGVzdFBvcnQK
LSAgICBlbGlmIHBvcnRfdG9fdXNlLnN0YXJ0c3dpdGgoJ2RyeXJ1bicpOgotICAgICAgICBpbXBv
cnQgZHJ5cnVuCi0gICAgICAgIG1ha2VyID0gZHJ5cnVuLkRyeVJ1blBvcnQKLSAgICBlbGlmIHBv
cnRfdG9fdXNlLnN0YXJ0c3dpdGgoJ21vY2stJyk6Ci0gICAgICAgIGltcG9ydCBtb2NrX2RydAot
ICAgICAgICBtYWtlciA9IG1vY2tfZHJ0Lk1vY2tEUlRQb3J0Ci0gICAgZWxpZiBwb3J0X3RvX3Vz
ZS5zdGFydHN3aXRoKCdtYWMnKToKLSAgICAgICAgaW1wb3J0IG1hYwotICAgICAgICBtYWtlciA9
IG1hYy5NYWNQb3J0Ci0gICAgZWxpZiBwb3J0X3RvX3VzZS5zdGFydHN3aXRoKCd3aW4nKToKLSAg
ICAgICAgaW1wb3J0IHdpbgotICAgICAgICBtYWtlciA9IHdpbi5XaW5Qb3J0Ci0gICAgZWxpZiBw
b3J0X3RvX3VzZS5zdGFydHN3aXRoKCdndGsnKToKLSAgICAgICAgaW1wb3J0IGd0awotICAgICAg
ICBtYWtlciA9IGd0ay5HdGtQb3J0Ci0gICAgZWxpZiBwb3J0X3RvX3VzZS5zdGFydHN3aXRoKCdx
dCcpOgotICAgICAgICBpbXBvcnQgcXQKLSAgICAgICAgbWFrZXIgPSBxdC5RdFBvcnQKLSAgICBl
bGlmIHBvcnRfdG9fdXNlLnN0YXJ0c3dpdGgoJ2Nocm9taXVtLWdwdScpOgotICAgICAgICBpbXBv
cnQgY2hyb21pdW1fZ3B1Ci0gICAgICAgIG1ha2VyID0gY2hyb21pdW1fZ3B1LmdldAotICAgIGVs
aWYgcG9ydF90b191c2Uuc3RhcnRzd2l0aCgnY2hyb21pdW0tbWFjJykgb3IgcG9ydF90b191c2Uu
c3RhcnRzd2l0aCgnY2hyb21pdW0tY2ctbWFjJyk6Ci0gICAgICAgIGltcG9ydCBjaHJvbWl1bV9t
YWMKLSAgICAgICAgbWFrZXIgPSBjaHJvbWl1bV9tYWMuQ2hyb21pdW1NYWNQb3J0Ci0gICAgZWxp
ZiBwb3J0X3RvX3VzZS5zdGFydHN3aXRoKCdjaHJvbWl1bS1saW51eCcpOgotICAgICAgICBpbXBv
cnQgY2hyb21pdW1fbGludXgKLSAgICAgICAgbWFrZXIgPSBjaHJvbWl1bV9saW51eC5DaHJvbWl1
bUxpbnV4UG9ydAotICAgIGVsaWYgcG9ydF90b191c2Uuc3RhcnRzd2l0aCgnY2hyb21pdW0td2lu
Jyk6Ci0gICAgICAgIGltcG9ydCBjaHJvbWl1bV93aW4KLSAgICAgICAgbWFrZXIgPSBjaHJvbWl1
bV93aW4uQ2hyb21pdW1XaW5Qb3J0Ci0gICAgZWxpZiBwb3J0X3RvX3VzZS5zdGFydHN3aXRoKCdn
b29nbGUtY2hyb21lJyk6Ci0gICAgICAgIGltcG9ydCBnb29nbGVfY2hyb21lCi0gICAgICAgIG1h
a2VyID0gZ29vZ2xlX2Nocm9tZS5HZXRHb29nbGVDaHJvbWVQb3J0Ci0gICAgZWxzZToKLSAgICAg
ICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigndW5zdXBwb3J0ZWQgcG9ydDogJXMnICUgcG9y
dF90b191c2UpCi0gICAgcmV0dXJuIG1ha2VyKCoqa3dhcmdzKQorICAgIHJldHVybiBQb3J0RmFj
dG9yeSgpLmdldF9mcm9tX2J1aWxkZXJfbmFtZShidWlsZGVyX25hbWUpCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVlcmllcy5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWVyaWVzLnB5CmluZGV4IDdmN2UyMjdhNWFh
OGRhYzgxZDA1YzM4YzZiOWRmMTFlOTU4NjA5OWQuLjM5YzdiNDkxNDIzOWQ5YTdjNDQxZWUzMDQ1
NzY1ZmQ4NjEyYmM3NzIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9j
b21tYW5kcy9xdWVyaWVzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21t
YW5kcy9xdWVyaWVzLnB5CkBAIC0zODcsNyArMzg3LDcgQEAgb3V0IHdoYXQgcG9ydHMgYXJlIHNr
aXBwaW5nIHRoZSB0ZXN0KHMpLiBDYXRlZ29yaWVzIGFyZSB0YWtlbiBpbiBhY2NvdW50IHRvby4i
IiIKIAogICAgIGRlZiBleGVjdXRlKHNlbGYsIG9wdGlvbnMsIGFyZ3MsIHRvb2wpOgogICAgICAg
ICByZXN1bHRzID0gZGljdChbKHRlc3RfbmFtZSwgW10pIGZvciB0ZXN0X25hbWUgaW4gYXJnc10p
Ci0gICAgICAgIGZvciBwb3J0X25hbWUsIHBvcnRfb2JqZWN0IGluIHRvb2wucG9ydF9mYWN0b3J5
LmdldF9hbGwoKS5pdGVyaXRlbXMoKToKKyAgICAgICAgZm9yIHBvcnRfbmFtZSwgcG9ydF9vYmpl
Y3QgaW4gdG9vbC5fZGVwcmVjYXRlZF9wb3J0X2ZhY3RvcnkuZ2V0X2FsbCgpLml0ZXJpdGVtcygp
OgogICAgICAgICAgICAgZm9yIHRlc3RfbmFtZSBpbiBhcmdzOgogICAgICAgICAgICAgICAgIGlm
IHBvcnRfb2JqZWN0LnNraXBzX2xheW91dF90ZXN0KHRlc3RfbmFtZSk6CiAgICAgICAgICAgICAg
ICAgICAgIHJlc3VsdHNbdGVzdF9uYW1lXS5hcHBlbmQocG9ydF9uYW1lKQpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL21vY2t0b29sLnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS90b29sL21vY2t0b29sLnB5CmluZGV4IDUzYmMzZjc0ZjBkOWM4YTlhZjZiNDc2ZTIw
YWFkYjJlNmRlYmJlNWYuLjhlYTZiZDY1YWMxMTVkMjNhNjVmNWQ0YWE5YjgxMjY4ZWYxMGE5NGYg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9tb2NrdG9vbC5weQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbW9ja3Rvb2wucHkKQEAgLTgwMSw3ICs4MDEs
NyBAQCBjbGFzcyBNb2NrVGVzdFBvcnQyKG9iamVjdCk6CiAgICAgICAgIHJldHVybiB0ZXN0X25h
bWUgPT0gIm1lZGlhL2Zvby9iYXIuaHRtbCIKIAogCi1jbGFzcyBNb2NrUG9ydEZhY3Rvcnkob2Jq
ZWN0KToKK2NsYXNzIE1vY2tEZXByZWNhdGVkUG9ydEZhY3Rvcnkob2JqZWN0KToKIAogICAgIGRl
ZiBnZXRfYWxsKHNlbGYsIG9wdGlvbnM9Tm9uZSk6CiAgICAgICAgIHJldHVybiB7InRlc3RfcG9y
dDEiOiBNb2NrVGVzdFBvcnQxKCksICJ0ZXN0X3BvcnQyIjogTW9ja1Rlc3RQb3J0MigpfQpAQCAt
ODQ1LDcgKzg0NSw3IEBAIGNsYXNzIE1vY2tUb29sKG9iamVjdCk6CiAgICAgICAgIHNlbGYuX2No
ZWNrb3V0ID0gTW9ja0NoZWNrb3V0KCkKICAgICAgICAgc2VsZi5zdGF0dXNfc2VydmVyID0gTW9j
a1N0YXR1c1NlcnZlcigpCiAgICAgICAgIHNlbGYuaXJjX3Bhc3N3b3JkID0gIk1PQ0sgaXJjIHBh
c3N3b3JkIgotICAgICAgICBzZWxmLnBvcnRfZmFjdG9yeSA9IE1vY2tQb3J0RmFjdG9yeSgpCisg
ICAgICAgIHNlbGYuX2RlcHJlY2F0ZWRfcG9ydF9mYWN0b3J5ID0gTW9ja0RlcHJlY2F0ZWRQb3J0
RmFjdG9yeSgpCiAgICAgICAgIHNlbGYucGxhdGZvcm0gPSBNb2NrUGxhdGZvcm1JbmZvKCkKIAog
ICAgIGRlZiBzY20oc2VsZik6Cg==
</data>
<flag name="review"
          id="103119"
          type_id="1"
          status="+"
          setter="abarth"
    />
    <flag name="commit-queue"
          id="103120"
          type_id="3"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>