<?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>136898</bug_id>
          
          <creation_ts>2014-09-17 14:57:12 -0700</creation_ts>
          <short_desc>[EME][Mac] Support secure proof of key release in the com.apple.fps.2_0 keysystem.</short_desc>
          <delta_ts>2014-12-16 13:27:56 -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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1035776</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-09-17 14:57:12 -0700</bug_when>
    <thetext>[EME][Mac] Support secure proof of key release in the com.apple.fps.2_0 keysystem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035786</commentid>
    <comment_count>1</comment_count>
      <attachid>238269</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-09-17 15:31:01 -0700</bug_when>
    <thetext>Created attachment 238269
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035787</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-17 15:33:50 -0700</bug_when>
    <thetext>Attachment 238269 did not pass style-queue:


ERROR: Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:169:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035796</commentid>
    <comment_count>3</comment_count>
      <attachid>238271</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-09-17 17:30:06 -0700</bug_when>
    <thetext>Created attachment 238271
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036028</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-09-18 17:24:18 -0700</bug_when>
    <thetext>Can this be tested?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036048</commentid>
    <comment_count>5</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-09-18 18:57:53 -0700</bug_when>
    <thetext>Not without a FairPlay key server.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036049</commentid>
    <comment_count>6</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-09-18 18:59:47 -0700</bug_when>
    <thetext>I&apos;m working on a manual test, one that would use a internal key server.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036252</commentid>
    <comment_count>7</comment_count>
      <attachid>238271</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-09-19 17:20:39 -0700</bug_when>
    <thetext>Comment on attachment 238271
Patch

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

&gt; Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:141
&gt; +    if (!initialized) {

If you use &quot;if (!sessionDirectoryPath.isEmpty())&quot; you can lose the static bool.

&gt; Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:147
&gt; +        sessionDirectoryPath.get().append(&quot;AVStreamSession/&quot;);

Should use ASCIILiteral.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036297</commentid>
    <comment_count>8</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-09-19 23:55:14 -0700</bug_when>
    <thetext>Committed r173791: &lt;http://trac.webkit.org/changeset/173791&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1056101</commentid>
    <comment_count>9</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-12-16 13:27:56 -0800</bug_when>
    <thetext>&lt;rdar://problem/19269042&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238269</attachid>
            <date>2014-09-17 15:31:01 -0700</date>
            <delta_ts>2014-09-17 17:30:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136898-20140917153058.patch</filename>
            <type>text/plain</type>
            <size>6410</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczNjYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWU4ZjhkZWE0ZGRkMTlh
OWQ4YjNhZjc4ZDVhMDE5Yzc4ZDY1ZjY5Ni4uMDc0NTNjYzBiYzMyODViODBhMjg3YjMxZjhhZWMx
ZTFlMWQ3ZDc1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE0LTA5LTE3ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtFTUVdW01hY10gU3VwcG9y
dCBzZWN1cmUgcHJvb2Ygb2Yga2V5IHJlbGVhc2UgaW4gdGhlIGNvbS5hcHBsZS5mcHMuMl8wIGtl
eXN5c3RlbS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEzNjg5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCB0d28gbmV3IG1lc3NhZ2VzIHRvIHRoZSBDRE0sICJleHBpcmVkU2Vzc2lvbnMiIGFuZCAi
Y2xlYXJFeHBpcmVkU2Vzc2lvbnMiLCB3aGljaCByZXR1cm4gYSBib3gtbGlrZQorICAgICAgICBz
dHJ1Y3R1cmUgY29udGFpbmluZyBzZWN1cmUgcHJvb2Ygb2Yga2V5IHJlbGVhc2UgZm9yIGV4cGly
ZWQgc2Vzc2lvbnMsIGFuZCB3aGljaCBjbGVhciBzYWlkIGxpc3QsIHJlc3BlY3RpdmVseS4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETVNlc3Npb25N
ZWRpYVNvdXJjZUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpzZXNzaW9uU3RvcmFnZURp
cmVjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpzZXNzaW9uTWVzYWdlRm9yRXhwaXJlZFNlc3Np
b25SZXBvcnRzKToKKyAgICAgICAgKFdlYkNvcmU6OkNETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9i
akM6OnVwZGF0ZSk6CisKIDIwMTQtMDktMTYgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5j
b20+CiAKICAgICAgICAgVmlkZW9zIHdpdGggY29udHJvbHMgZW5hYmxlZCBuZXZlciByZWNlaXZl
ICdkcmFnc3RhcnQnIGV2ZW50cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakMu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9D
RE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4IDczNzdhOGJkOThjNjA4MDU2YmY1
ODExMjMyY2JhM2E4ZWJlNTMxMDUuLjA3OGEwNzZlYjhmMzhjMTEwNjAxYWE3MGU2M2I5Y2NhYWFi
ODc5NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL0NETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakMubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNU2Vzc2lvbk1l
ZGlhU291cmNlQVZGT2JqQy5tbQpAQCAtNTIsNyArNTIsNyBAQCBTT0ZUX0xJTktfQ0xBU1NfT1BU
SU9OQUwoQVZGb3VuZGF0aW9uLCBBVlN0cmVhbVNlc3Npb24pOwogQGVuZAogCiBAaW50ZXJmYWNl
IEFWU3RyZWFtU2Vzc2lvbiA6IE5TT2JqZWN0Ci0tIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhBcHBJ
ZGVudGlmaWVyOihOU0RhdGEgKilhcHBJZGVudGlmaWVyOworLSAoaW5zdGFuY2V0eXBlKWluaXRX
aXRoQXBwSWRlbnRpZmllcjooTlNEYXRhICopYXBwSWRlbnRpZmllciBzdG9yYWdlRGlyZWN0b3J5
QXRVUkw6KE5TVVJMICopc3RvcmFnZVVSTDsKIC0gKHZvaWQpYWRkU3RyZWFtRGF0YVBhcnNlcjoo
QVZTdHJlYW1EYXRhUGFyc2VyICopc3RyZWFtRGF0YVBhcnNlcjsKIC0gKHZvaWQpcmVtb3ZlU3Ry
ZWFtRGF0YVBhcnNlcjooQVZTdHJlYW1EYXRhUGFyc2VyICopc3RyZWFtRGF0YVBhcnNlcjsKIC0g
KHZvaWQpZXhwaXJlOwpAQCAtMTIxLDYgKzEyMSw2MCBAQCBzdGF0aWMgYm9vbCBpc0VxdWFsKFVp
bnQ4QXJyYXkqIGRhdGEsIGNvbnN0IGNoYXIqIGxpdGVyYWwpCiAgICAgcmV0dXJuICFsaXRlcmFs
W2xlbmd0aF07CiB9CiAKK3N0YXRpYyBjb25zdCBTdHJpbmcmIHNlc3Npb25TdG9yYWdlRGlyZWN0
b3J5KCkKK3sKKyAgICBzdGF0aWMgYm9vbCBpbml0aWFsaXplZCA9IGZhbHNlOworICAgIHN0YXRp
YyBOZXZlckRlc3Ryb3llZDxTdHJpbmc+IHNlc3Npb25EaXJlY3RvcnlQYXRoOworCisgICAgaWYg
KCFpbml0aWFsaXplZCkgeworICAgICAgICBjaGFyIGNhY2hlRGlyZWN0b3J5UGF0aFtQQVRIX01B
WF07CisgICAgICAgIGlmICghY29uZnN0cihfQ1NfREFSV0lOX1VTRVJfQ0FDSEVfRElSLCBjYWNo
ZURpcmVjdG9yeVBhdGgsIFBBVEhfTUFYKSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6OmVtcHR5
U3RyaW5nKCk7CisKKyAgICAgICAgc2Vzc2lvbkRpcmVjdG9yeVBhdGguZ2V0KCkuYXBwZW5kKFN0
cmluZyhjYWNoZURpcmVjdG9yeVBhdGgsIHN0cmxlbihjYWNoZURpcmVjdG9yeVBhdGgpKSk7Cisg
ICAgICAgIHNlc3Npb25EaXJlY3RvcnlQYXRoLmdldCgpLmFwcGVuZCgiQVZTdHJlYW1TZXNzaW9u
LyIpOworICAgIH0KKworICAgIHJldHVybiBzZXNzaW9uRGlyZWN0b3J5UGF0aC5nZXQoKTsKK30K
Kworc3RhdGljIFBhc3NSZWZQdHI8VWludDhBcnJheT4gc2Vzc2lvbk1lc2FnZUZvckV4cGlyZWRT
ZXNzaW9uUmVwb3J0cyhOU0FycmF5ICpyZXBvcnRzKQoreworICAgIC8vIFRoZSBmb3JtYXQgb2Yg
dGhlIG1lc3NhZ2U6CisgICAgLy8gNCBieXRlczogbGVuZ3RoCisgICAgLy8gNCBieXRlczogaWRl
bnRpZmllciA9ICdleHByJworICAgIC8vIDEgYnl0ZTogdmVyc2lvbiA9IDEKKyAgICAvLyBDaGls
ZHJlbjoKKyAgICAvLyAgIDQgYnl0ZXM6IGxlbmd0aAorICAgIC8vICAgNCBieXRlczogaWRlbnRp
ZmllciA9ICdycHJ0JworICAgIC8vICAgMSBieXRlOiB2ZXJzaW9uID0gMQorICAgIC8vICAgbiBi
eXRlczogZGF0YQorICAgIHNpemVfdCBtZXNzYWdlU2l6ZSA9IDQgKyA0ICsgMTsKKyAgICBmb3Ig
KE5TRGF0YSAqcmVwb3J0IGluIHJlcG9ydHMpCisgICAgICAgIG1lc3NhZ2VTaXplICs9IDQgKyA0
ICsgMSArIFtyZXBvcnQgbGVuZ3RoXTsKKworICAgIFJlZlB0cjxVaW50OEFycmF5PiBtZXNzYWdl
ID0gVWludDhBcnJheTo6Y3JlYXRlKG1lc3NhZ2VTaXplKTsKKyAgICBSZWZQdHI8SlNDOjpEYXRh
Vmlldz4gdmlldyA9IEpTQzo6RGF0YVZpZXc6OmNyZWF0ZShtZXNzYWdlLT5idWZmZXIoKSwgMCwg
bWVzc2FnZVNpemUpOworICAgIHVuc2lnbmVkIG9mZnNldCA9IDA7CisgICAgdmlldy0+d3JpdGU8
dWludDMyX3Q+KG9mZnNldCwgbWVzc2FnZVNpemUsIHRydWUpOworICAgIHZpZXctPndyaXRlPHVp
bnQzMl90PihvZmZzZXQsICdleHByJywgdHJ1ZSk7CisgICAgdmlldy0+d3JpdGU8dWludDhfdD4o
b2Zmc2V0LCAxLCB0cnVlKTsKKworICAgIGZvciAoTlNEYXRhICpyZXBvcnQgaW4gcmVwb3J0cykg
eworICAgICAgICBzaXplX3QgcmVwb3J0U2l6ZSA9IDQgKyA0ICsgMSArIFtyZXBvcnQgbGVuZ3Ro
XTsKKyAgICAgICAgdmlldy0+d3JpdGU8dWludDMyX3Q+KG9mZnNldCwgcmVwb3J0U2l6ZSwgdHJ1
ZSk7CisgICAgICAgIHZpZXctPndyaXRlPHVpbnQzMl90PihvZmZzZXQsICdycHJ0JywgdHJ1ZSk7
CisgICAgICAgIHZpZXctPndyaXRlPHVpbnQ4X3Q+KG9mZnNldCwgMSwgdHJ1ZSk7CisKKyAgICAg
ICAgW3JlcG9ydCBlbnVtZXJhdGVCeXRlUmFuZ2VzVXNpbmdCbG9jazpeKGNvbnN0IHZvaWQgKmJ5
dGVzLCBOU1JhbmdlIGJ5dGVSYW5nZSwgQk9PTCAqKSB7CisgICAgICAgICAgICBtZXNzYWdlLT5z
ZXRSYW5nZShzdGF0aWNfY2FzdDxjb25zdCB1aW50OF90Kj4oYnl0ZXMpLCBieXRlUmFuZ2UubGVu
Z3RoLCBvZmZzZXQgKyBieXRlUmFuZ2UubG9jYXRpb24pOworICAgICAgICB9XTsKKyAgICAgICAg
b2Zmc2V0ICs9IFtyZXBvcnQgbGVuZ3RoXTsKKyAgICB9CisKKyAgICByZXR1cm4gbWVzc2FnZS5y
ZWxlYXNlKCk7Cit9CisKIGJvb2wgQ0RNU2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQzo6dXBkYXRl
KFVpbnQ4QXJyYXkqIGtleSwgUmVmUHRyPFVpbnQ4QXJyYXk+JiBuZXh0TWVzc2FnZSwgdW5zaWdu
ZWQgc2hvcnQmIGVycm9yQ29kZSwgdW5zaWduZWQgbG9uZyYgc3lzdGVtQ29kZSkKIHsKICAgICBi
b29sIHNob3VsZEdlbmVyYXRlS2V5UmVxdWVzdCA9ICFtX2NlcnRpZmljYXRlIHx8IGlzRXF1YWwo
a2V5LCAicmVuZXciKTsKQEAgLTEzMCw2ICsxODQsMjIgQEAgYm9vbCBDRE1TZXNzaW9uTWVkaWFT
b3VyY2VBVkZPYmpDOjp1cGRhdGUoVWludDhBcnJheSoga2V5LCBSZWZQdHI8VWludDhBcnJheT4m
IG4KICAgICAgICAgbV9jZXJ0aWZpY2F0ZSA9IGtleTsKICAgICB9CiAKKyAgICBpZiAoaXNFcXVh
bChrZXksICJleHBpcmVkU2Vzc2lvbnMiKSkgeworICAgICAgICBpZiAoIW1fc3RyZWFtU2Vzc2lv
bikKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgUmV0YWluUHRyPE5TRGF0YT4g
Y2VydGlmaWNhdGVEYXRhID0gYWRvcHROUyhbW05TRGF0YSBhbGxvY10gaW5pdFdpdGhCeXRlczpt
X2NlcnRpZmljYXRlLT5kYXRhKCkgbGVuZ3RoOm1fY2VydGlmaWNhdGUtPmxlbmd0aCgpXSk7Cisg
ICAgICAgIG5leHRNZXNzYWdlID0gc2Vzc2lvbk1lc2FnZUZvckV4cGlyZWRTZXNzaW9uUmVwb3J0
cyhbZ2V0QVZTdHJlYW1TZXNzaW9uQ2xhc3MoKSBwZW5kaW5nRXhwaXJlZFNlc3Npb25SZXBvcnRz
V2l0aEFwcElkZW50aWZpZXI6Y2VydGlmaWNhdGVEYXRhLmdldCgpXSk7CisgICAgICAgIHJldHVy
biB0cnVlOworICAgIH0KKworICAgIGlmIChpc0VxdWFsKGtleSwgImNsZWFyRXhwaXJlZFNlc3Np
b25zIikpIHsKKyAgICAgICAgaWYgKCFtX3N0cmVhbVNlc3Npb24pCisgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgICAgIFJldGFpblB0cjxOU0RhdGE+IGNlcnRpZmljYXRlRGF0YSA9IGFk
b3B0TlMoW1tOU0RhdGEgYWxsb2NdIGluaXRXaXRoQnl0ZXM6bV9jZXJ0aWZpY2F0ZS0+ZGF0YSgp
IGxlbmd0aDptX2NlcnRpZmljYXRlLT5sZW5ndGgoKV0pOworICAgICAgICBbZ2V0QVZTdHJlYW1T
ZXNzaW9uQ2xhc3MoKSByZW1vdmVQZW5kaW5nRXhwaXJlZFNlc3Npb25SZXBvcnRzOltnZXRBVlN0
cmVhbVNlc3Npb25DbGFzcygpIHBlbmRpbmdFeHBpcmVkU2Vzc2lvblJlcG9ydHNXaXRoQXBwSWRl
bnRpZmllcjpjZXJ0aWZpY2F0ZURhdGEuZ2V0KCldIHdpdGhBcHBJZGVudGlmaWVyOmNlcnRpZmlj
YXRlRGF0YS5nZXQoKV07CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKwogICAgIFJlZlB0
cjxTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQz4gcHJvdGVjdGVkU291cmNlQnVmZmVyOwogICAg
IGZvciAoYXV0byYgc291cmNlQnVmZmVyIDogbV9zb3VyY2VCdWZmZXJzKSB7CiAgICAgICAgIGlm
IChzb3VyY2VCdWZmZXItPnByb3RlY3RlZFRyYWNrSUQoKSAhPSAtMSkgewpAQCAtMTQxLDcgKzIx
MSw3IEBAIGJvb2wgQ0RNU2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQzo6dXBkYXRlKFVpbnQ4QXJy
YXkqIGtleSwgUmVmUHRyPFVpbnQ4QXJyYXk+JiBuCiAgICAgaWYgKHNob3VsZEdlbmVyYXRlS2V5
UmVxdWVzdCkgewogICAgICAgICBSZXRhaW5QdHI8TlNEYXRhPiBjZXJ0aWZpY2F0ZURhdGEgPSBh
ZG9wdE5TKFtbTlNEYXRhIGFsbG9jXSBpbml0V2l0aEJ5dGVzOm1fY2VydGlmaWNhdGUtPmRhdGEo
KSBsZW5ndGg6bV9jZXJ0aWZpY2F0ZS0+bGVuZ3RoKCldKTsKICAgICAgICAgaWYgKGdldEFWU3Ry
ZWFtU2Vzc2lvbkNsYXNzKCkpIHsKLSAgICAgICAgICAgIG1fc3RyZWFtU2Vzc2lvbiA9IGFkb3B0
TlMoW1tnZXRBVlN0cmVhbVNlc3Npb25DbGFzcygpIGFsbG9jXSBpbml0V2l0aEFwcElkZW50aWZp
ZXI6Y2VydGlmaWNhdGVEYXRhLmdldCgpXSk7CisgICAgICAgICAgICBtX3N0cmVhbVNlc3Npb24g
PSBhZG9wdE5TKFtbZ2V0QVZTdHJlYW1TZXNzaW9uQ2xhc3MoKSBhbGxvY10gaW5pdFdpdGhBcHBJ
ZGVudGlmaWVyOmNlcnRpZmljYXRlRGF0YS5nZXQoKSBzdG9yYWdlRGlyZWN0b3J5QXRVUkw6W05T
VVJMIGZpbGVVUkxXaXRoUGF0aDpzZXNzaW9uU3RvcmFnZURpcmVjdG9yeSgpXV0pOwogICAgICAg
ICAgICAgZm9yIChhdXRvJiBzb3VyY2VCdWZmZXIgOiBtX3NvdXJjZUJ1ZmZlcnMpCiAgICAgICAg
ICAgICAgICAgW21fc3RyZWFtU2Vzc2lvbiBhZGRTdHJlYW1EYXRhUGFyc2VyOnNvdXJjZUJ1ZmZl
ci0+cGFyc2VyKCldOwogICAgICAgICAgICAgTE9HKE1lZGlhLCAiQ0RNU2Vzc2lvbk1lZGlhU291
cmNlQVZGT2JqQzo6dXBkYXRlKCVwKSAtIGNyZWF0ZWQgc3RyZWFtIHNlc3Npb24gJXAiLCB0aGlz
LCBtX3N0cmVhbVNlc3Npb24uZ2V0KCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238271</attachid>
            <date>2014-09-17 17:30:06 -0700</date>
            <delta_ts>2014-09-19 22:28:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136898-20140917173003.patch</filename>
            <type>text/plain</type>
            <size>8831</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczNjYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWU4ZjhkZWE0ZGRkMTlh
OWQ4YjNhZjc4ZDVhMDE5Yzc4ZDY1ZjY5Ni4uZWIyYWI1OTU3MTM2NDg2ZTRjYTJjMDk3ODRiZTY4
MGM1ZGQzYTFlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE0LTA5LTE3ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtFTUVdW01hY10gU3VwcG9y
dCBzZWN1cmUgcHJvb2Ygb2Yga2V5IHJlbGVhc2UgaW4gdGhlIGNvbS5hcHBsZS5mcHMuMl8wIGtl
eXN5c3RlbS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEzNjg5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBzdXBwb3J0IGZvciBwcm9vZiBvZiBrZXkgcmVsZWFzZSB0byB0aGUgQ0RNIGJ5IHN1cHBv
cnRpbmcgYSBuZXcgIm1pbWUiIHR5cGUgY2FsbGVkCisgICAgICAgICJrZXlyZWxlYXNlIi4gV2hl
biBhIHNlc3Npb24gb2YgdHlwZSAia2V5cmVsZWFzZSIgaXMgY3JlYXRlZCwgdGhlIGluaXREYXRh
IGlzIHRoZSBzZXJ2ZXIKKyAgICAgICAgY2VydGlmaWNhdGUsIHRoZSBrZXlNZXNzYWdlIGNvbnRh
aW5zIHRoZSBmaXJzdCBzdG9yZWQgcHJvb2Ygb2Yga2V5IHJlbGVhc2UgaWYgcHJlc2VudCwKKyAg
ICAgICAgYW5kIGNsb3NpbmcgdGhlIHNlc3Npb24gd2lsbCByZW1vdmUgdGhhdCBwcm9vZiBmcm9t
IHN0b3JhZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vQ0RN
UHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkNETVByaXZh
dGVNZWRpYVNvdXJjZUFWRk9iakM6OnN1cHBvcnRzS2V5U3lzdGVtQW5kTWltZVR5cGUpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETVNlc3Npb25NZWRp
YVNvdXJjZUFWRk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9DRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6Q0RNU2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQzo6Q0RNU2Vzc2lvbk1lZGlhU291cmNlQVZG
T2JqQyk6CisgICAgICAgIChXZWJDb3JlOjpDRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDOjpn
ZW5lcmF0ZUtleVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q0RNU2Vzc2lvbk1lZGlhU291
cmNlQVZGT2JqQzo6cmVsZWFzZUtleXMpOgorICAgICAgICAoV2ViQ29yZTo6c2Vzc2lvblN0b3Jh
Z2VEaXJlY3RvcnkpOgorICAgICAgICAoV2ViQ29yZTo6Q0RNU2Vzc2lvbk1lZGlhU291cmNlQVZG
T2JqQzo6dXBkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNETVNlc3Npb25NZWRpYVNvdXJjZUFW
Rk9iakM6OmdlbmVyYXRlS2V5UmVsZWFzZU1lc3NhZ2UpOgorCiAyMDE0LTA5LTE2ICBKZXIgTm9i
bGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFZpZGVvcyB3aXRoIGNvbnRyb2xz
IGVuYWJsZWQgbmV2ZXIgcmVjZWl2ZSAnZHJhZ3N0YXJ0JyBldmVudHMuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vQ0RNUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9DRE1Qcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4IGFmYTA5ZjZi
NTk0ZjFhZTUxZDhiY2I3Zjk3ZWFlODVmMTJhNjNkOWQuLmQxZWQ1YTBlOGE3NmU3MTM3YzM4Mzc5
NDBmM2NjYWIzZjZiMjkyMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9DRE1Qcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9DRE1Qcml2YXRl
TWVkaWFTb3VyY2VBVkZPYmpDLm1tCkBAIC01NCw2ICs1NCw5IEBAIGJvb2wgQ0RNUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQzo6c3VwcG9ydHNLZXlTeXN0ZW1BbmRNaW1lVHlwZShjb25zdCBTdHJp
bmcmIGtlCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGlmICghbWltZVR5cGUuaXNFbXB0
eSgpKSB7CisgICAgICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShtaW1lVHlwZSwgImtleXJlbGVh
c2UiKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworCiAgICAgICAgIE1lZGlhRW5naW5lU3Vw
cG9ydFBhcmFtZXRlcnMgcGFyYW1ldGVyczsKICAgICAgICAgcGFyYW1ldGVycy5pc01lZGlhU291
cmNlID0gdHJ1ZTsKICAgICAgICAgcGFyYW1ldGVycy50eXBlID0gbWltZVR5cGU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9D
RE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9DRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDLmgK
aW5kZXggNTMyNzI0YzE0ZDI0MTIwNTQ5ZGQxN2M5NTk0NTg0OGM3MTAyYzcyZi4uYTExYTJhYmVk
MDQ4MjJkYTc3ODMyOTlmZjY0NzNlYmFmMjhlNmQzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNU2Vzc2lvbk1lZGlhU291
cmNlQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL0NETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakMuaApAQCAtNTYsMTIgKzU2
LDE2IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlbW92ZVNvdXJjZUJ1ZmZlcihTb3VyY2VCdWZmZXJQ
cml2YXRlQVZGT2JqQyopOwogCiBwcm90ZWN0ZWQ6CisgICAgUGFzc1JlZlB0cjxVaW50OEFycmF5
PiBnZW5lcmF0ZUtleVJlbGVhc2VNZXNzYWdlKHVuc2lnbmVkIHNob3J0JiBlcnJvckNvZGUsIHVu
c2lnbmVkIGxvbmcmIHN5c3RlbUNvZGUpOworCiAgICAgVmVjdG9yPFJlZlB0cjxTb3VyY2VCdWZm
ZXJQcml2YXRlQVZGT2JqQz4+IG1fc291cmNlQnVmZmVyczsKICAgICBDRE1TZXNzaW9uQ2xpZW50
KiBtX2NsaWVudDsKICAgICBSZXRhaW5QdHI8QVZTdHJlYW1TZXNzaW9uPiBtX3N0cmVhbVNlc3Np
b247CiAgICAgUmVmUHRyPFVpbnQ4QXJyYXk+IG1faW5pdERhdGE7CiAgICAgUmVmUHRyPFVpbnQ4
QXJyYXk+IG1fY2VydGlmaWNhdGU7CisgICAgUmV0YWluUHRyPE5TRGF0YT4gbV9leHBpcmVkU2Vz
c2lvbjsKICAgICBTdHJpbmcgbV9zZXNzaW9uSWQ7CisgICAgZW51bSB7IE5vcm1hbCwgS2V5UmVs
ZWFzZSB9IG1fbW9kZTsKIH07CiAKIGlubGluZSBDRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpD
KiB0b0NETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakMoQ0RNU2Vzc2lvbiogc2Vzc2lvbikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL0NETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9DRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZP
YmpDLm1tCmluZGV4IDczNzdhOGJkOThjNjA4MDU2YmY1ODExMjMyY2JhM2E4ZWJlNTMxMDUuLjky
NGEwNzkyNjVjYWQ0ODdhZGNlNzNlNjFhZjJiZjkwZjJjNTIzNTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETVNlc3Npb25N
ZWRpYVNvdXJjZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNU2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQy5tbQpAQCAt
NTIsNyArNTIsNyBAQCBTT0ZUX0xJTktfQ0xBU1NfT1BUSU9OQUwoQVZGb3VuZGF0aW9uLCBBVlN0
cmVhbVNlc3Npb24pOwogQGVuZAogCiBAaW50ZXJmYWNlIEFWU3RyZWFtU2Vzc2lvbiA6IE5TT2Jq
ZWN0Ci0tIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhBcHBJZGVudGlmaWVyOihOU0RhdGEgKilhcHBJ
ZGVudGlmaWVyOworLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoQXBwSWRlbnRpZmllcjooTlNEYXRh
ICopYXBwSWRlbnRpZmllciBzdG9yYWdlRGlyZWN0b3J5QXRVUkw6KE5TVVJMICopc3RvcmFnZVVS
TDsKIC0gKHZvaWQpYWRkU3RyZWFtRGF0YVBhcnNlcjooQVZTdHJlYW1EYXRhUGFyc2VyICopc3Ry
ZWFtRGF0YVBhcnNlcjsKIC0gKHZvaWQpcmVtb3ZlU3RyZWFtRGF0YVBhcnNlcjooQVZTdHJlYW1E
YXRhUGFyc2VyICopc3RyZWFtRGF0YVBhcnNlcjsKIC0gKHZvaWQpZXhwaXJlOwpAQCAtNjUsNiAr
NjUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBDRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpD
OjpDRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDKCkKICAgICA6IG1fY2xpZW50KG51bGxwdHIp
CiAgICAgLCBtX3Nlc3Npb25JZChjcmVhdGVDYW5vbmljYWxVVUlEU3RyaW5nKCkpCisgICAgLCBt
X21vZGUoTm9ybWFsKQogewogfQogCkBAIC05MCw2ICs5MSwxMSBAQCBQYXNzUmVmUHRyPFVpbnQ4
QXJyYXk+IENETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakM6OmdlbmVyYXRlS2V5UmVxdWVzdChj
b25zdCBTdAogCiAgICAgbV9pbml0RGF0YSA9IGluaXREYXRhOwogCisgICAgaWYgKGVxdWFsSWdu
b3JpbmdDYXNlKG1pbWVUeXBlLCAia2V5cmVsZWFzZSIpKSB7CisgICAgICAgIG1fbW9kZSA9IEtl
eVJlbGVhc2U7CisgICAgICAgIHJldHVybiBnZW5lcmF0ZUtleVJlbGVhc2VNZXNzYWdlKGVycm9y
Q29kZSwgc3lzdGVtQ29kZSk7CisgICAgfQorCiAgICAgU3RyaW5nIGNlcnRpZmljYXRlU3RyaW5n
KEFTQ0lJTGl0ZXJhbCgiY2VydGlmaWNhdGUiKSk7CiAgICAgUmVmUHRyPFVpbnQ4QXJyYXk+IGFy
cmF5ID0gVWludDhBcnJheTo6Y3JlYXRlKGNlcnRpZmljYXRlU3RyaW5nLmxlbmd0aCgpKTsKICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwLCBsZW5ndGggPSBjZXJ0aWZpY2F0ZVN0cmluZy5sZW5ndGgo
KTsgaSA8IGxlbmd0aDsgKytpKQpAQCAtOTksNiArMTA1LDEyIEBAIFBhc3NSZWZQdHI8VWludDhB
cnJheT4gQ0RNU2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQzo6Z2VuZXJhdGVLZXlSZXF1ZXN0KGNv
bnN0IFN0CiAKIHZvaWQgQ0RNU2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQzo6cmVsZWFzZUtleXMo
KQogeworICAgIGlmIChtX21vZGUgPT0gS2V5UmVsZWFzZSkgeworICAgICAgICBSZXRhaW5QdHI8
TlNEYXRhPiBjZXJ0aWZpY2F0ZURhdGEgPSBhZG9wdE5TKFtbTlNEYXRhIGFsbG9jXSBpbml0V2l0
aEJ5dGVzOm1fY2VydGlmaWNhdGUtPmRhdGEoKSBsZW5ndGg6bV9jZXJ0aWZpY2F0ZS0+bGVuZ3Ro
KCldKTsKKyAgICAgICAgW2dldEFWU3RyZWFtU2Vzc2lvbkNsYXNzKCkgcmVtb3ZlUGVuZGluZ0V4
cGlyZWRTZXNzaW9uUmVwb3J0czpAW21fZXhwaXJlZFNlc3Npb24uZ2V0KCldIHdpdGhBcHBJZGVu
dGlmaWVyOmNlcnRpZmljYXRlRGF0YS5nZXQoKV07CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
ICAgICBpZiAobV9zdHJlYW1TZXNzaW9uKSB7CiAgICAgICAgIExPRyhNZWRpYSwgIkNETVNlc3Np
b25NZWRpYVNvdXJjZUFWRk9iakM6OnJlbGVhc2VLZXlzKCVwKSAtIGV4cGlyaW5nIHN0cmVhbSBz
ZXNzaW9uIiwgdGhpcyk7CiAgICAgICAgIFttX3N0cmVhbVNlc3Npb24gZXhwaXJlXTsKQEAgLTEy
MSw4ICsxMzMsMjggQEAgc3RhdGljIGJvb2wgaXNFcXVhbChVaW50OEFycmF5KiBkYXRhLCBjb25z
dCBjaGFyKiBsaXRlcmFsKQogICAgIHJldHVybiAhbGl0ZXJhbFtsZW5ndGhdOwogfQogCitzdGF0
aWMgY29uc3QgU3RyaW5nJiBzZXNzaW9uU3RvcmFnZURpcmVjdG9yeSgpCit7CisgICAgc3RhdGlj
IGJvb2wgaW5pdGlhbGl6ZWQgPSBmYWxzZTsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U3Ry
aW5nPiBzZXNzaW9uRGlyZWN0b3J5UGF0aDsKKworICAgIGlmICghaW5pdGlhbGl6ZWQpIHsKKyAg
ICAgICAgY2hhciBjYWNoZURpcmVjdG9yeVBhdGhbUEFUSF9NQVhdOworICAgICAgICBpZiAoIWNv
bmZzdHIoX0NTX0RBUldJTl9VU0VSX0NBQ0hFX0RJUiwgY2FjaGVEaXJlY3RvcnlQYXRoLCBQQVRI
X01BWCkpCisgICAgICAgICAgICByZXR1cm4gV1RGOjplbXB0eVN0cmluZygpOworCisgICAgICAg
IHNlc3Npb25EaXJlY3RvcnlQYXRoLmdldCgpLmFwcGVuZChTdHJpbmcoY2FjaGVEaXJlY3RvcnlQ
YXRoLCBzdHJsZW4oY2FjaGVEaXJlY3RvcnlQYXRoKSkpOworICAgICAgICBzZXNzaW9uRGlyZWN0
b3J5UGF0aC5nZXQoKS5hcHBlbmQoIkFWU3RyZWFtU2Vzc2lvbi8iKTsKKyAgICB9CisKKyAgICBy
ZXR1cm4gc2Vzc2lvbkRpcmVjdG9yeVBhdGguZ2V0KCk7Cit9CisKIGJvb2wgQ0RNU2Vzc2lvbk1l
ZGlhU291cmNlQVZGT2JqQzo6dXBkYXRlKFVpbnQ4QXJyYXkqIGtleSwgUmVmUHRyPFVpbnQ4QXJy
YXk+JiBuZXh0TWVzc2FnZSwgdW5zaWduZWQgc2hvcnQmIGVycm9yQ29kZSwgdW5zaWduZWQgbG9u
ZyYgc3lzdGVtQ29kZSkKIHsKKyAgICBpZiAobV9tb2RlID09IEtleVJlbGVhc2UpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKwogICAgIGJvb2wgc2hvdWxkR2VuZXJhdGVLZXlSZXF1ZXN0ID0gIW1f
Y2VydGlmaWNhdGUgfHwgaXNFcXVhbChrZXksICJyZW5ldyIpOwogICAgIGlmICghbV9jZXJ0aWZp
Y2F0ZSkgewogICAgICAgICBMT0coTWVkaWEsICJDRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpD
Ojp1cGRhdGUoJXApIC0gY2VydGlmaWNhdGUgZGF0YSIsIHRoaXMpOwpAQCAtMTQxLDcgKzE3Myw3
IEBAIGJvb2wgQ0RNU2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQzo6dXBkYXRlKFVpbnQ4QXJyYXkq
IGtleSwgUmVmUHRyPFVpbnQ4QXJyYXk+JiBuCiAgICAgaWYgKHNob3VsZEdlbmVyYXRlS2V5UmVx
dWVzdCkgewogICAgICAgICBSZXRhaW5QdHI8TlNEYXRhPiBjZXJ0aWZpY2F0ZURhdGEgPSBhZG9w
dE5TKFtbTlNEYXRhIGFsbG9jXSBpbml0V2l0aEJ5dGVzOm1fY2VydGlmaWNhdGUtPmRhdGEoKSBs
ZW5ndGg6bV9jZXJ0aWZpY2F0ZS0+bGVuZ3RoKCldKTsKICAgICAgICAgaWYgKGdldEFWU3RyZWFt
U2Vzc2lvbkNsYXNzKCkpIHsKLSAgICAgICAgICAgIG1fc3RyZWFtU2Vzc2lvbiA9IGFkb3B0TlMo
W1tnZXRBVlN0cmVhbVNlc3Npb25DbGFzcygpIGFsbG9jXSBpbml0V2l0aEFwcElkZW50aWZpZXI6
Y2VydGlmaWNhdGVEYXRhLmdldCgpXSk7CisgICAgICAgICAgICBtX3N0cmVhbVNlc3Npb24gPSBh
ZG9wdE5TKFtbZ2V0QVZTdHJlYW1TZXNzaW9uQ2xhc3MoKSBhbGxvY10gaW5pdFdpdGhBcHBJZGVu
dGlmaWVyOmNlcnRpZmljYXRlRGF0YS5nZXQoKSBzdG9yYWdlRGlyZWN0b3J5QXRVUkw6W05TVVJM
IGZpbGVVUkxXaXRoUGF0aDpzZXNzaW9uU3RvcmFnZURpcmVjdG9yeSgpXV0pOwogICAgICAgICAg
ICAgZm9yIChhdXRvJiBzb3VyY2VCdWZmZXIgOiBtX3NvdXJjZUJ1ZmZlcnMpCiAgICAgICAgICAg
ICAgICAgW21fc3RyZWFtU2Vzc2lvbiBhZGRTdHJlYW1EYXRhUGFyc2VyOnNvdXJjZUJ1ZmZlci0+
cGFyc2VyKCldOwogICAgICAgICAgICAgTE9HKE1lZGlhLCAiQ0RNU2Vzc2lvbk1lZGlhU291cmNl
QVZGT2JqQzo6dXBkYXRlKCVwKSAtIGNyZWF0ZWQgc3RyZWFtIHNlc3Npb24gJXAiLCB0aGlzLCBt
X3N0cmVhbVNlc3Npb24uZ2V0KCkpOwpAQCAtMjE5LDYgKzI1MSwyNCBAQCB2b2lkIENETVNlc3Np
b25NZWRpYVNvdXJjZUFWRk9iakM6OnJlbW92ZVNvdXJjZUJ1ZmZlcihTb3VyY2VCdWZmZXJQcml2
YXRlQVZGT2JqQwogICAgIG1fc291cmNlQnVmZmVycy5yZW1vdmUobV9zb3VyY2VCdWZmZXJzLmZp
bmQoc291cmNlQnVmZmVyKSk7CiB9CiAKK1Bhc3NSZWZQdHI8VWludDhBcnJheT4gQ0RNU2Vzc2lv
bk1lZGlhU291cmNlQVZGT2JqQzo6Z2VuZXJhdGVLZXlSZWxlYXNlTWVzc2FnZSh1bnNpZ25lZCBz
aG9ydCYgZXJyb3JDb2RlLCB1bnNpZ25lZCBsb25nJiBzeXN0ZW1Db2RlKQoreworICAgIEFTU0VS
VChtX21vZGUgPT0gS2V5UmVsZWFzZSk7CisgICAgbV9jZXJ0aWZpY2F0ZSA9IG1faW5pdERhdGE7
CisgICAgUmV0YWluUHRyPE5TRGF0YT4gY2VydGlmaWNhdGVEYXRhID0gYWRvcHROUyhbW05TRGF0
YSBhbGxvY10gaW5pdFdpdGhCeXRlczptX2NlcnRpZmljYXRlLT5kYXRhKCkgbGVuZ3RoOm1fY2Vy
dGlmaWNhdGUtPmxlbmd0aCgpXSk7CisKKyAgICBOU0FycmF5KiBleHBpcmVkU2Vzc2lvbnMgPSBb
Z2V0QVZTdHJlYW1TZXNzaW9uQ2xhc3MoKSBwZW5kaW5nRXhwaXJlZFNlc3Npb25SZXBvcnRzV2l0
aEFwcElkZW50aWZpZXI6Y2VydGlmaWNhdGVEYXRhLmdldCgpXTsKKyAgICBpZiAoIVtleHBpcmVk
U2Vzc2lvbnMgY291bnRdKSB7CisgICAgICAgIGVycm9yQ29kZSA9IE1lZGlhUGxheWVyOjpLZXlT
eXN0ZW1Ob3RTdXBwb3J0ZWQ7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKworICAg
IGVycm9yQ29kZSA9IDA7CisgICAgc3lzdGVtQ29kZSA9IDA7CisgICAgbV9leHBpcmVkU2Vzc2lv
biA9IFtleHBpcmVkU2Vzc2lvbnMgZmlyc3RPYmplY3RdOworICAgIHJldHVybiBVaW50OEFycmF5
OjpjcmVhdGUoc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KFttX2V4cGlyZWRTZXNzaW9uIGJ5
dGVzXSksIFttX2V4cGlyZWRTZXNzaW9uIGxlbmd0aF0pOworfQorCiB9CiAKICNlbmRpZgo=
</data>
<flag name="review"
          id="263032"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
      

    </bug>

</bugzilla>