<?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>36343</bug_id>
          
          <creation_ts>2010-03-18 23:41:49 -0700</creation_ts>
          <short_desc>Split out CommitInfo class and add unit tests</short_desc>
          <delta_ts>2010-03-18 23:46:29 -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>Other</rep_platform>
          <op_sys>OS X 10.5</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="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>201727</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-18 23:41:49 -0700</bug_when>
    <thetext>Split out CommitInfo class and add unit tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201728</commentid>
    <comment_count>1</comment_count>
      <attachid>51126</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-18 23:42:56 -0700</bug_when>
    <thetext>Created attachment 51126
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201730</commentid>
    <comment_count>2</comment_count>
      <attachid>51126</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-03-18 23:45:11 -0700</bug_when>
    <thetext>Comment on attachment 51126
Patch

Sure.  Didn&apos;t really review in detail, but looks ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201731</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-18 23:46:29 -0700</bug_when>
    <thetext>Committed r56216: &lt;http://trac.webkit.org/changeset/56216&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51126</attachid>
            <date>2010-03-18 23:42:56 -0700</date>
            <delta_ts>2010-03-18 23:45:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-36343-20100318234254.patch</filename>
            <type>text/plain</type>
            <size>14314</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA5NGVhYjI5Li41MTA1YjQzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMDMt
MTggIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNwbGl0IG91dCBDb21taXRJbmZvIGNsYXNzIGFu
ZCBhZGQgdW5pdCB0ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MzYzNDMKKworICAgICAgICBNb3ZlIG1vcmUgbG9naWMgb3V0IG9mICJ3aGF0LWJy
b2tlIiBpbnRvIGEgc2hhcmVkIENvbW1pdEluZm8KKyAgICAgICAgY2xhc3Mgc28gdGhhdCBpdCBj
YW4gYmUgdXNlZCBieSBvdGhlciBjb21tYW5kcyBhbmQgdW5pdCB0ZXN0ZWQuCisKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1hbmRzL3F1ZXJpZXMucHk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9jb21taXRpbmZvLnB5OiBBZGRlZC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L2NvbW1pdGluZm9fdW5pdHRlc3QucHk6IEFkZGVkLgorICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvdW5pdHRlc3RzLnB5OgorCiAyMDEwLTAzLTE4ICBMYXN6bG8gR29tYm9zICA8bGFzemxv
LjEuZ29tYm9zQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRl
IENocmlzdGlhbnNlbi4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
Y29tbWFuZHMvcXVlcmllcy5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbWFu
ZHMvcXVlcmllcy5weQppbmRleCBlMDI2YWZmLi40ZDIwOWMyIDEwMDY0NAotLS0gYS9XZWJLaXRU
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1hbmRzL3F1ZXJpZXMucHkKKysrIGIvV2ViS2l0VG9v
bHMvU2NyaXB0cy93ZWJraXRweS9jb21tYW5kcy9xdWVyaWVzLnB5CkBAIC0zMCwxMSArMzAsMTAg
QEAKIAogCiBmcm9tIG9wdHBhcnNlIGltcG9ydCBtYWtlX29wdGlvbgotaW1wb3J0IFN0cmluZ0lP
CiAKIGZyb20gd2Via2l0cHkuYnVpbGRib3QgaW1wb3J0IEJ1aWxkQm90Ci1mcm9tIHdlYmtpdHB5
LmJ1Z3ppbGxhIGltcG9ydCBwYXJzZV9idWdfaWQKLWZyb20gd2Via2l0cHkuY2hhbmdlbG9ncyBp
bXBvcnQgQ2hhbmdlTG9nLCBpc19wYXRoX3RvX2NoYW5nZWxvZywgdmlld19zb3VyY2VfdXJsCitm
cm9tIHdlYmtpdHB5LmNoYW5nZWxvZ3MgaW1wb3J0IHZpZXdfc291cmNlX3VybAorZnJvbSB3ZWJr
aXRweS5jb21taXRpbmZvIGltcG9ydCBDb21taXRJbmZvCiBmcm9tIHdlYmtpdHB5LmNvbW1pdHRl
cnMgaW1wb3J0IENvbW1pdHRlckxpc3QKIGZyb20gd2Via2l0cHkuZ3JhbW1hciBpbXBvcnQgcGx1
cmFsaXplCiBmcm9tIHdlYmtpdHB5LndlYmtpdF9sb2dnaW5nIGltcG9ydCBsb2cKQEAgLTE0MCw0
NSArMTM5LDE0IEBAIGFuZCBkaXNwbGF5ZXMgdGhlIHN0YXR1cyBvZiBlYWNoIGJ1aWxkZXIuIiIi
CiAgICAgZGVmIF9wcmludF9idWlsZGVyX2xpbmUoc2VsZiwgYnVpbGRlcl9uYW1lLCBtYXhfbmFt
ZV93aWR0aCwgc3RhdHVzX21lc3NhZ2UpOgogICAgICAgICBwcmludCAiJXMgOiAlcyIgJSAoYnVp
bGRlcl9uYW1lLmxqdXN0KG1heF9uYW1lX3dpZHRoKSwgc3RhdHVzX21lc3NhZ2UpCiAKLSAgICBk
ZWYgX2NoYW5nZWxvZ19lbnRyaWVzX2Zvcl9yZXZpc2lvbihzZWxmLCByZXZpc2lvbik6Ci0gICAg
ICAgIGNoYW5nZWRfZmlsZXMgPSBzZWxmLnRvb2wuc2NtKCkuY2hhbmdlZF9maWxlc19mb3JfcmV2
aXNpb24ocmV2aXNpb24pCi0gICAgICAgIGNoYW5nZWxvZ19wYXRocyA9IFtwYXRoIGZvciBwYXRo
IGluIGNoYW5nZWRfZmlsZXMgaWYgaXNfcGF0aF90b19jaGFuZ2Vsb2cocGF0aCldCi0gICAgICAg
IGNoYW5nZWxvZ19lbnRyaWVzID0gW10KLSAgICAgICAgZm9yIGNoYW5nZWxvZ19wYXRoIGluIGNo
YW5nZWxvZ19wYXRoczoKLSAgICAgICAgICAgIGNoYW5nZWxvZ19jb250ZW50cyA9IHNlbGYudG9v
bC5zY20oKS5jb250ZW50c19hdF9yZXZpc2lvbihjaGFuZ2Vsb2dfcGF0aCwgcmV2aXNpb24pCi0g
ICAgICAgICAgICBjaGFuZ2Vsb2dfZmlsZSA9IFN0cmluZ0lPLlN0cmluZ0lPKGNoYW5nZWxvZ19j
b250ZW50cykKLSAgICAgICAgICAgIGNoYW5nZWxvZ19lbnRyeSA9IENoYW5nZUxvZy5wYXJzZV9s
YXRlc3RfZW50cnlfZnJvbV9maWxlKGNoYW5nZWxvZ19maWxlKQotICAgICAgICAgICAgY2hhbmdl
bG9nX2VudHJpZXMuYXBwZW5kKGNoYW5nZWxvZ19lbnRyeSkKLSAgICAgICAgcmV0dXJuIGNoYW5n
ZWxvZ19lbnRyaWVzCi0KLSAgICBkZWYgX2NvbW1pdF9pbmZvX2Zvcl9yZXZpc2lvbihzZWxmLCBy
ZXZpc2lvbik6Ci0gICAgICAgIGNvbW1pdHRlcl9lbWFpbCA9IHNlbGYudG9vbC5zY20oKS5jb21t
aXR0ZXJfZW1haWxfZm9yX3JldmlzaW9uKHJldmlzaW9uKQotICAgICAgICBjaGFuZ2Vsb2dfZW50
cmllcyA9IHNlbGYuX2NoYW5nZWxvZ19lbnRyaWVzX2Zvcl9yZXZpc2lvbihyZXZpc2lvbikKLSAg
ICAgICAgIyBBc3N1bWUgZm9yIG5vdyB0aGF0IHRoZSBmaXJzdCBlbnRyeSBoYXMgZXZlcnl0aGlu
ZyB3ZSBuZWVkOgotICAgICAgICBjaGFuZ2Vsb2dfZW50cnkgPSBjaGFuZ2Vsb2dfZW50cmllc1sw
XQotICAgICAgICBjb21taXR0ZXJfbGlzdCA9IENvbW1pdHRlckxpc3QoKQotICAgICAgICAjIEZJ
WE1FOiBUaGlzIHNob3VsZCBiZSBhIENvbW1pdEluZm8gb2JqZWN0LgotICAgICAgICByZXR1cm4g
ewotICAgICAgICAgICAgImJ1Z19pZCIgOiBwYXJzZV9idWdfaWQoY2hhbmdlbG9nX2VudHJ5LmNv
bnRlbnRzKCkpLAotICAgICAgICAgICAgInJldmlzaW9uIiA6IHJldmlzaW9uLAotICAgICAgICAg
ICAgImF1dGhvcl9uYW1lIiA6IGNoYW5nZWxvZ19lbnRyeS5hdXRob3JfbmFtZSgpLAotICAgICAg
ICAgICAgImF1dGhvcl9lbWFpbCIgOiBjaGFuZ2Vsb2dfZW50cnkuYXV0aG9yX2VtYWlsKCksCi0g
ICAgICAgICAgICAiYXV0aG9yIiA6IGNvbW1pdHRlcl9saXN0LmNvbW1pdHRlcl9ieV9lbWFpbChj
aGFuZ2Vsb2dfZW50cnkuYXV0aG9yX2VtYWlsKCkpIG9yIGNvbW1pdHRlcl9saXN0LmNvbW1pdHRl
cl9ieV9uYW1lKGNoYW5nZWxvZ19lbnRyeS5hdXRob3JfbmFtZSgpKSwKLSAgICAgICAgICAgICJy
ZXZpZXdlcl90ZXh0IiA6IGNoYW5nZWxvZ19lbnRyeS5yZXZpZXdlcl90ZXh0KCksICMgRklYTUU6
IEV2ZW50dWFseSB3ZSBzaG91bGQgcmV0dXJuIGFuIG9iamVjdCBoZXJlLgotICAgICAgICAgICAg
InJldmlld2VyIiA6IGNvbW1pdHRlcl9saXN0LmNvbW1pdHRlcl9ieV9uYW1lKGNoYW5nZWxvZ19l
bnRyeS5yZXZpZXdlcl90ZXh0KCkpLAotICAgICAgICAgICAgImNvbW1pdHRlcl9lbWFpbCIgOiBj
b21taXR0ZXJfZW1haWwsCi0gICAgICAgICAgICAiY29tbWl0dGVyIiA6IGNvbW1pdHRlcl9saXN0
LmNvbW1pdHRlcl9ieV9lbWFpbChjb21taXR0ZXJfZW1haWwpIGlmIGNvbW1pdHRlcl9lbWFpbCBl
bHNlIE5vbmUKLSAgICAgICAgfQotCi0gICAgIyBGSVhNRTogVGhpcyBzaG91bGQgYmUgb24gc29t
ZSBDb21taXRJbmZvIG9iamVjdC4KICAgICBkZWYgX3ByaW50X2JsYW1lX2luZm9ybWF0aW9uX2Zv
cl9jb21taXQoc2VsZiwgY29tbWl0X2luZm8pOgotICAgICAgICBwcmludCAiciVzOiIgJSBjb21t
aXRfaW5mb1sicmV2aXNpb24iXQotICAgICAgICBwcmludCAiICAlcyIgJSB2aWV3X3NvdXJjZV91
cmwoY29tbWl0X2luZm9bInJldmlzaW9uIl0pCi0gICAgICAgIHByaW50ICIgIEJ1ZzogJXMgKCVz
KSIgJSAoY29tbWl0X2luZm9bImJ1Z19pZCJdLCBzZWxmLnRvb2wuYnVncy5idWdfdXJsX2Zvcl9i
dWdfaWQoY29tbWl0X2luZm9bImJ1Z19pZCJdKSkKLSAgICAgICAgYXV0aG9yX2xpbmUgPSAiXCIl
c1wiIDwlcz4iICUgKGNvbW1pdF9pbmZvWyJhdXRob3JfbmFtZSJdLCBjb21taXRfaW5mb1siYXV0
aG9yX2VtYWlsIl0pCi0gICAgICAgIHByaW50ICIgIEF1dGhvcjogJXMiICUgKGNvbW1pdF9pbmZv
WyJhdXRob3IiXSBvciBhdXRob3JfbGluZSkKLSAgICAgICAgcHJpbnQgIiAgUmV2aWV3ZXI6ICVz
IiAlIChjb21taXRfaW5mb1sicmV2aWV3ZXIiXSBvciBjb21taXRfaW5mb1sicmV2aWV3ZXJfdGV4
dCJdKQotICAgICAgICBwcmludCAiICBDb21taXR0ZXI6ICVzIiAlIChjb21taXRfaW5mb1siY29t
bWl0dGVyIl0gb3IgY29tbWl0X2luZm9bImNvbW1pdHRlcl9lbWFpbCJdKQorICAgICAgICBwcmlu
dCAiciVzOiIgJSBjb21taXRfaW5mby5yZXZpc2lvbigpCisgICAgICAgIHByaW50ICIgICVzIiAl
IHZpZXdfc291cmNlX3VybChjb21taXRfaW5mby5yZXZpc2lvbigpKQorICAgICAgICBwcmludCAi
ICBCdWc6ICVzICglcykiICUgKGNvbW1pdF9pbmZvLmJ1Z19pZCgpLCBzZWxmLnRvb2wuYnVncy5i
dWdfdXJsX2Zvcl9idWdfaWQoY29tbWl0X2luZm8uYnVnX2lkKCkpKQorICAgICAgICBhdXRob3Jf
bGluZSA9ICJcIiVzXCIgPCVzPiIgJSAoY29tbWl0X2luZm8uYXV0aG9yX25hbWUoKSwgY29tbWl0
X2luZm8uYXV0aG9yX2VtYWlsKCkpCisgICAgICAgIHByaW50ICIgIEF1dGhvcjogJXMiICUgKGNv
bW1pdF9pbmZvLmF1dGhvcigpIG9yIGF1dGhvcl9saW5lKQorICAgICAgICBwcmludCAiICBSZXZp
ZXdlcjogJXMiICUgKGNvbW1pdF9pbmZvLnJldmlld2VyKCkgb3IgY29tbWl0X2luZm8ucmV2aWV3
ZXJfdGV4dCgpKQorICAgICAgICBwcmludCAiICBDb21taXR0ZXI6ICVzIiAlIGNvbW1pdF9pbmZv
LmNvbW1pdHRlcigpCiAKICAgICBkZWYgX3ByaW50X2JsYW1lX2luZm9ybWF0aW9uX2Zvcl9idWls
ZGVyKHNlbGYsIGJ1aWxkZXJfc3RhdHVzLCBuYW1lX3dpZHRoKToKICAgICAgICAgKGxhc3RfZ3Jl
ZW5fYnVpbGQsIGZpcnN0X3JlZF9idWlsZCkgPSBzZWxmLl9maW5kX2dyZWVuX3RvX3JlZF90cmFu
c2l0aW9uKGJ1aWxkZXJfc3RhdHVzKQpAQCAtMTkxLDcgKzE1OSw3IEBAIGFuZCBkaXNwbGF5ZXMg
dGhlIHN0YXR1cyBvZiBlYWNoIGJ1aWxkZXIuIiIiCiAgICAgICAgICMgRklYTUU6IFBhcnNlIHJl
dmlld2VyIGFuZCBjb21taXR0ZXIgZnJvbSByZWQgY2hlY2tpbgogICAgICAgICBzZWxmLl9wcmlu
dF9idWlsZGVyX2xpbmUoYnVpbGRlcl9zdGF0dXNbIm5hbWUiXSwgbmFtZV93aWR0aCwgIkZBSUwg
KGJsYW1lLWxpc3Q6ICVzKSIgJSBzdXNwZWN0X3JldmlzaW9ucykKICAgICAgICAgZm9yIHJldmlz
aW9uIGluIHN1c3BlY3RfcmV2aXNpb25zOgotICAgICAgICAgICAgY29tbWl0X2luZm8gPSBzZWxm
Ll9jb21taXRfaW5mb19mb3JfcmV2aXNpb24ocmV2aXNpb24pCisgICAgICAgICAgICBjb21taXRf
aW5mbyA9IENvbW1pdEluZm8uY29tbWl0X2luZm9fZm9yX3JldmlzaW9uKHNlbGYudG9vbC5zY20o
KSwgcmV2aXNpb24pCiAgICAgICAgICAgICBzZWxmLl9wcmludF9ibGFtZV9pbmZvcm1hdGlvbl9m
b3JfY29tbWl0KGNvbW1pdF9pbmZvKQogCiAgICAgZGVmIGV4ZWN1dGUoc2VsZiwgb3B0aW9ucywg
YXJncywgdG9vbCk6CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2Nv
bW1pdGluZm8ucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1pdGluZm8ucHkK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTQ5YTg5YQotLS0gL2Rldi9udWxs
CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbWl0aW5mby5weQpAQCAtMCww
ICsxLDEwNCBAQAorIyBDb3B5cmlnaHQgKGMpIDIwMTAsIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMg
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBk
aXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisj
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisj
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorIworIyBXZWJLaXQncyBweXRob24gbW9kdWxl
IGZvciBob2xkaW5nIGluZm9ybWF0aW9uIG9uIGEgY29tbWl0CisKK2ltcG9ydCBTdHJpbmdJTwor
Citmcm9tIHdlYmtpdHB5LmJ1Z3ppbGxhIGltcG9ydCBwYXJzZV9idWdfaWQKK2Zyb20gd2Via2l0
cHkuY2hhbmdlbG9ncyBpbXBvcnQgQ2hhbmdlTG9nLCBpc19wYXRoX3RvX2NoYW5nZWxvZworZnJv
bSB3ZWJraXRweS5jb21taXR0ZXJzIGltcG9ydCBDb21taXR0ZXJMaXN0CisKKworY2xhc3MgQ29t
bWl0SW5mbyhvYmplY3QpOgorICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBfbGF0ZXN0X2VudHJ5
X2Zvcl9jaGFuZ2Vsb2dfYXRfcmV2aXNpb24oY2xzLCBzY20sIGNoYW5nZWxvZ19wYXRoLCByZXZp
c2lvbik6CisgICAgICAgIGNoYW5nZWxvZ19jb250ZW50cyA9IHNjbS5jb250ZW50c19hdF9yZXZp
c2lvbihjaGFuZ2Vsb2dfcGF0aCwgcmV2aXNpb24pCisgICAgICAgIHJldHVybiBDaGFuZ2VMb2cu
cGFyc2VfbGF0ZXN0X2VudHJ5X2Zyb21fZmlsZShTdHJpbmdJTy5TdHJpbmdJTyhjaGFuZ2Vsb2df
Y29udGVudHMpKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIF9jaGFuZ2Vsb2dfZW50cmll
c19mb3JfcmV2aXNpb24oY2xzLCBzY20sIHJldmlzaW9uKToKKyAgICAgICAgY2hhbmdlZF9maWxl
cyA9IHNjbS5jaGFuZ2VkX2ZpbGVzX2Zvcl9yZXZpc2lvbihyZXZpc2lvbikKKyAgICAgICAgcmV0
dXJuIFtjbHMuX2xhdGVzdF9lbnRyeV9mb3JfY2hhbmdlbG9nX2F0X3JldmlzaW9uKHNjbSwgcGF0
aCwgcmV2aXNpb24pIGZvciBwYXRoIGluIGNoYW5nZWRfZmlsZXMgaWYgaXNfcGF0aF90b19jaGFu
Z2Vsb2cocGF0aCldCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgY29tbWl0X2luZm9fZm9y
X3JldmlzaW9uKGNscywgc2NtLCByZXZpc2lvbik6CisgICAgICAgIGNvbW1pdHRlcl9lbWFpbCA9
IHNjbS5jb21taXR0ZXJfZW1haWxfZm9yX3JldmlzaW9uKHJldmlzaW9uKQorICAgICAgICBjaGFu
Z2Vsb2dfZW50cmllcyA9IGNscy5fY2hhbmdlbG9nX2VudHJpZXNfZm9yX3JldmlzaW9uKHNjbSwg
cmV2aXNpb24pCisgICAgICAgICMgQXNzdW1lIGZvciBub3cgdGhhdCB0aGUgZmlyc3QgZW50cnkg
aGFzIGV2ZXJ5dGhpbmcgd2UgbmVlZDoKKyAgICAgICAgY2hhbmdlbG9nX2VudHJ5ID0gY2hhbmdl
bG9nX2VudHJpZXNbMF0KKyAgICAgICAgY2hhbmdlbG9nX2RhdGEgPSB7CisgICAgICAgICAgICAi
YnVnX2lkIiA6IHBhcnNlX2J1Z19pZChjaGFuZ2Vsb2dfZW50cnkuY29udGVudHMoKSksCisgICAg
ICAgICAgICAiYXV0aG9yX25hbWUiIDogY2hhbmdlbG9nX2VudHJ5LmF1dGhvcl9uYW1lKCksCisg
ICAgICAgICAgICAiYXV0aG9yX2VtYWlsIiA6IGNoYW5nZWxvZ19lbnRyeS5hdXRob3JfZW1haWwo
KSwKKyAgICAgICAgICAgICJyZXZpZXdlcl90ZXh0IiA6IGNoYW5nZWxvZ19lbnRyeS5yZXZpZXdl
cl90ZXh0KCksCisgICAgICAgIH0KKyAgICAgICAgIyBXZSBjb3VsZCBwYXNzIHRoZSBjaGFuZ2Vs
b2dfZW50cnkgaW5zdGVhZCBvZiBhIGRpY3Rpb25hcnkgaGVyZSwgYnV0IHRoYXQgbWFrZXMKKyAg
ICAgICAgIyBtb2NraW5nIHNsaWdodGx5IG1vcmUgaW52b2x2ZWQsIGFuZCB3b3VsZCBtYWtlIGFn
Z3JlZ2F0aW5nIGRhdGEgZnJvbSBtdWx0aXBsZQorICAgICAgICAjIGVudHJpZXMgbW9yZSBkaWZm
aWN1bHQgdG8gd2lyZSBpbiBpZiB3ZSBuZWVkIHRvIGRvIHRoYXQgaW4gdGhlIGZ1dHVyZS4KKyAg
ICAgICAgcmV0dXJuIGNscyhyZXZpc2lvbiwgY29tbWl0dGVyX2VtYWlsLCBjaGFuZ2Vsb2dfZGF0
YSkKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCByZXZpc2lvbiwgY29tbWl0dGVyX2VtYWlsLCBj
aGFuZ2Vsb2dfZGF0YSwgY29tbWl0dGVyX2xpc3Q9Q29tbWl0dGVyTGlzdCgpKToKKyAgICAgICAg
c2VsZi5fcmV2aXNpb24gPSByZXZpc2lvbgorICAgICAgICBzZWxmLl9jb21taXR0ZXJfZW1haWwg
PSBjb21taXR0ZXJfZW1haWwKKyAgICAgICAgc2VsZi5fYnVnX2lkID0gY2hhbmdlbG9nX2RhdGFb
ImJ1Z19pZCJdCisgICAgICAgIHNlbGYuX2F1dGhvcl9uYW1lID0gY2hhbmdlbG9nX2RhdGFbImF1
dGhvcl9uYW1lIl0KKyAgICAgICAgc2VsZi5fYXV0aG9yX2VtYWlsID0gY2hhbmdlbG9nX2RhdGFb
ImF1dGhvcl9lbWFpbCJdCisgICAgICAgIHNlbGYuX3Jldmlld2VyX3RleHQgPSBjaGFuZ2Vsb2df
ZGF0YVsicmV2aWV3ZXJfdGV4dCJdCisKKyAgICAgICAgIyBEZXJpdmVkIHZhbHVlczoKKyAgICAg
ICAgc2VsZi5fcmV2aWV3ZXIgPSBjb21taXR0ZXJfbGlzdC5jb21taXR0ZXJfYnlfbmFtZShzZWxm
Ll9yZXZpZXdlcl90ZXh0KQorICAgICAgICBzZWxmLl9hdXRob3IgPSBjb21taXR0ZXJfbGlzdC5j
b21taXR0ZXJfYnlfZW1haWwoc2VsZi5fYXV0aG9yX2VtYWlsKSBvciBjb21taXR0ZXJfbGlzdC5j
b21taXR0ZXJfYnlfbmFtZShzZWxmLl9hdXRob3JfbmFtZSkKKyAgICAgICAgc2VsZi5fY29tbWl0
dGVyID0gY29tbWl0dGVyX2xpc3QuY29tbWl0dGVyX2J5X2VtYWlsKGNvbW1pdHRlcl9lbWFpbCkK
KworICAgIGRlZiByZXZpc2lvbihzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX3JldmlzaW9u
CisKKyAgICBkZWYgY29tbWl0dGVyKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5fY29tbWl0
dGVyICMgU2hvdWxkIG5ldmVyIGJlIE5vbmUKKworICAgIGRlZiBjb21taXR0ZXJfZW1haWwoc2Vs
Zik6CisgICAgICAgIHJldHVybiBzZWxmLl9jb21taXR0ZXJfZW1haWwKKworICAgIGRlZiBidWdf
aWQoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLl9idWdfaWQgIyBNYXkgYmUgTm9uZQorCisg
ICAgZGVmIGF1dGhvcihzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX2F1dGhvciAjIE1heSBi
ZSBOb25lCisKKyAgICBkZWYgYXV0aG9yX25hbWUoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxm
Ll9hdXRob3JfbmFtZQorCisgICAgZGVmIGF1dGhvcl9lbWFpbChzZWxmKToKKyAgICAgICAgcmV0
dXJuIHNlbGYuX2F1dGhvcl9lbWFpbAorCisgICAgZGVmIHJldmlld2VyKHNlbGYpOgorICAgICAg
ICByZXR1cm4gc2VsZi5fcmV2aWV3ZXIgIyBNYXkgYmUgTm9uZQorCisgICAgZGVmIHJldmlld2Vy
X3RleHQoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLl9yZXZpZXdlcl90ZXh0ICMgTWF5IGJl
IE5vbmUKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbWl0aW5m
b191bml0dGVzdC5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbWl0aW5mb191
bml0dGVzdC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MmU2MWM2Ci0t
LSAvZGV2L251bGwKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21taXRpbmZv
X3VuaXR0ZXN0LnB5CkBAIC0wLDAgKzEsNTggQEAKKyMgQ29weXJpZ2h0IChDKSAyMDEwIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisjIG1ldDoKKyMKKyMgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMg
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
IyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCitpbXBvcnQgdW5p
dHRlc3QKKworZnJvbSBjb21taXR0ZXJzIGltcG9ydCBDb21taXR0ZXJMaXN0LCBDb21taXR0ZXIs
IFJldmlld2VyCitmcm9tIGNvbW1pdGluZm8gaW1wb3J0IENvbW1pdEluZm8KKworY2xhc3MgQ29t
bWl0SW5mb1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorICAgIAorICAgIGRlZiB0ZXN0X2NvbW1p
dF9pbmZvX2NyZWF0aW9uKHNlbGYpOgorICAgICAgICBhdXRob3IgPSBDb21taXR0ZXIoIkF1dGhv
ciIsICJhdXRob3JAZXhhbXBsZS5jb20iKQorICAgICAgICBjb21taXR0ZXIgPSBDb21taXR0ZXIo
IkNvbW1pdHRlciIsICJjb21taXR0ZXJAZXhhbXBsZS5jb20iKQorICAgICAgICByZXZpZXdlciA9
IFJldmlld2VyKCJSZXZpZXdlciIsICJyZXZpZXdlckBleGFtcGxlLmNvbSIpCisgICAgICAgIGNv
bW1pdHRlcl9saXN0ID0gQ29tbWl0dGVyTGlzdChjb21taXR0ZXJzPVthdXRob3IsIGNvbW1pdHRl
cl0sIHJldmlld2Vycz1bcmV2aWV3ZXJdKQorCisgICAgICAgIGNoYW5nZWxvZ19kYXRhID0gewor
ICAgICAgICAgICAgImJ1Z19pZCIgOiAxMjM0LAorICAgICAgICAgICAgImF1dGhvcl9uYW1lIiA6
ICJDb21taXR0ZXIiLAorICAgICAgICAgICAgImF1dGhvcl9lbWFpbCIgOiAiYXV0aG9yQGV4YW1w
bGUuY29tIiwKKyAgICAgICAgICAgICJyZXZpZXdlcl90ZXh0IiA6ICJSZXZpZXdlciIsCisgICAg
ICAgIH0KKyAgICAgICAgY29tbWl0ID0gQ29tbWl0SW5mbygxMjMsICJjb21taXR0ZXJAZXhhbXBs
ZS5jb20iLCBjaGFuZ2Vsb2dfZGF0YSwgY29tbWl0dGVyX2xpc3QpCisgICAgICAgIAorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKGNvbW1pdC5yZXZpc2lvbigpLCAxMjMpCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoY29tbWl0LmJ1Z19pZCgpLCAxMjM0KQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKGNvbW1pdC5hdXRob3JfbmFtZSgpLCAiQ29tbWl0dGVyIikKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChjb21taXQuYXV0aG9yX2VtYWlsKCksICJhdXRob3JAZXhhbXBsZS5jb20iKQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKGNvbW1pdC5hdXRob3IoKSwgYXV0aG9yKQorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKGNvbW1pdC5yZXZpZXdlcl90ZXh0KCksICJSZXZpZXdlciIpCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29tbWl0LnJldmlld2VyKCksIHJldmlld2VyKQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKGNvbW1pdC5jb21taXR0ZXIoKSwgY29tbWl0dGVyKQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKGNvbW1pdC5jb21taXR0ZXJfZW1haWwoKSwgImNvbW1pdHRlckBl
eGFtcGxlLmNvbSIpCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Vu
aXR0ZXN0cy5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdW5pdHRlc3RzLnB5Cmlu
ZGV4IDkwZTFmMzMuLmIzZjc2OGYgMTAwNzU1Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvdW5pdHRlc3RzLnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdW5p
dHRlc3RzLnB5CkBAIC00MSw2ICs0MSw3IEBAIGZyb20gd2Via2l0cHkuY29tbWFuZHMudXBsb2Fk
X3VuaXR0ZXN0IGltcG9ydCAqCiBmcm9tIHdlYmtpdHB5LmNvbW1hbmRzLnF1ZXJpZXNfdW5pdHRl
c3QgaW1wb3J0ICoKIGZyb20gd2Via2l0cHkuY29tbWFuZHMucXVldWVzX3VuaXR0ZXN0IGltcG9y
dCAqCiBmcm9tIHdlYmtpdHB5LmNvbW1hbmRzLnNoZXJpZmZib3RfdW5pdHRlc3QgaW1wb3J0ICoK
K2Zyb20gd2Via2l0cHkuY29tbWl0aW5mb191bml0dGVzdCBpbXBvcnQgKgogZnJvbSB3ZWJraXRw
eS5jb21taXR0ZXJzX3VuaXR0ZXN0IGltcG9ydCAqCiBmcm9tIHdlYmtpdHB5LmNyZWRlbnRpYWxz
X3VuaXR0ZXN0IGltcG9ydCAqCiBmcm9tIHdlYmtpdHB5LmRpZmZfcGFyc2VyX3VuaXR0ZXN0IGlt
cG9ydCAqCg==
</data>
<flag name="review"
          id="34338"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>