<?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>141260</bug_id>
          
          <creation_ts>2015-02-04 14:01:03 -0800</creation_ts>
          <short_desc>LayoutTestHelper should set the color profile of all displays</short_desc>
          <delta_ts>2015-02-04 15:03:24 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>ap</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1066903</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-02-04 14:01:03 -0800</bug_when>
    <thetext>LayoutTestHelper should set the color profile of all displays</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066906</commentid>
    <comment_count>1</comment_count>
      <attachid>246046</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-02-04 14:03:56 -0800</bug_when>
    <thetext>Created attachment 246046
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066909</commentid>
    <comment_count>2</comment_count>
      <attachid>246047</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-02-04 14:12:14 -0800</bug_when>
    <thetext>Created attachment 246047
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066910</commentid>
    <comment_count>3</comment_count>
      <attachid>246046</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-02-04 14:14:15 -0800</bug_when>
    <thetext>Comment on attachment 246046
Patch

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

&gt; Tools/DumpRenderTree/mac/LayoutTestHelper.m:58
&gt; +    CFUUIDRef uuid = CFUUIDCreateFromString(kCFAllocatorDefault, (__bridge CFStringRef)displayUUIDString);

Leak.

&gt; Tools/DumpRenderTree/mac/LayoutTestHelper.m:82
&gt; +    static const uint32_t maxDisplayCount = 10;

:|

&gt; Tools/DumpRenderTree/mac/LayoutTestHelper.m:98
&gt; +        CFUUIDRef displayUUIDRef = CGDisplayCreateUUIDFromDisplayID(displayIDs[i]);

leak here too

&gt; Tools/DumpRenderTree/mac/LayoutTestHelper.m:124
&gt; +    CFUUIDRef uuid = CFUUIDCreateFromString(kCFAllocatorDefault, (__bridge CFStringRef)displayUUIDString);

yep

&gt; Tools/DumpRenderTree/mac/LayoutTestHelper.m:132
&gt; +    NSMutableDictionary* userColorProfiles = originalColorProfileURLs();

star&apos;s on the wrong side

&gt; Tools/DumpRenderTree/mac/LayoutTestHelper.m:149
&gt; +    // space of the display), we force the generic RGB color profile on all displays.

This should say SRGB.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066924</commentid>
    <comment_count>4</comment_count>
      <attachid>246052</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-02-04 14:30:53 -0800</bug_when>
    <thetext>Created attachment 246052
No more ARC</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066925</commentid>
    <comment_count>5</comment_count>
      <attachid>246052</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-02-04 14:34:22 -0800</bug_when>
    <thetext>Comment on attachment 246052
No more ARC

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

&gt; Tools/DumpRenderTree/mac/LayoutTestHelper.m:138
&gt; +    NSMutableDictionary* userColorProfiles = originalColorProfileURLs();

Star&apos;s on the wrong side.

&gt; Tools/DumpRenderTree/mac/LayoutTestHelper.m:155
&gt; +    // space of the display), we force the generic sRGB color profile on all displays.

not generic :D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066950</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-02-04 15:03:24 -0800</bug_when>
    <thetext>https://trac.webkit.org/r179637</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246046</attachid>
            <date>2015-02-04 14:03:56 -0800</date>
            <delta_ts>2015-02-04 14:30:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-141260-20150204140356.patch</filename>
            <type>text/plain</type>
            <size>10940</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc5NjE2CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODYzZWFmZWM4NmEyZjg2MDg3OTBjMzQ5ZGIzMGZkYTk3
ODI4YjBjYS4uMDYwNzkyOWU3ZmQ3ZTExZTIzNWYwYTJmZTZkY2IyZmE3ZjAyMWVlNiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5
IEBACisyMDE1LTAyLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIExheW91dFRlc3RIZWxwZXIgc2hvdWxkIHNldCB0aGUgY29sb3IgcHJvZmlsZSBv
ZiBhbGwgZGlzcGxheXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0MTI2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAg
ICAgICAKKyAgICAgICAgV2ViS2l0VGVzdFJ1bm5lciBjYW4gKGVycm9uZW91c2x5KSBncmFiIHRo
ZSBjb2xvcnNwYWNlIG9mIHRoZSAibWFpbiIgc2NyZWVuLgorICAgICAgICB3aGljaCBpcyB0aGUg
c2NyZWVuIHdpdGggdGhlIGFjdGl2ZSB3aW5kb3cuIE1ha2UgdGhpbmdzIG1vcmUgcm9idXN0IGJ5
IGNoYW5naW5nCisgICAgICAgIHRoZSBjb2xvcnNwYWNlIG9mIGFsbCBkaXNwbGF5cywgbm90IGp1
c3QgdGhlIG1haW4gc2NyZWVuLCB3aGVuIHJ1bm5pbmcgbGF5b3V0IHRlc3RzLgorCisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvbWFjL0NvbmZpZ3VyYXRpb25zL0xheW91dFRlc3RIZWxwZXIueGNj
b25maWc6IEVuYWJsZSBBUkMKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVz
dEhlbHBlci5tOiAKKyAgICAgICAgKG9yaWdpbmFsQ29sb3JQcm9maWxlVVJMcyk6CisgICAgICAg
IChjb2xvclByb2ZpbGVVUkxGb3JEaXNwbGF5KToKKyAgICAgICAgKGRpc3BsYXlVVUlEU3RyaW5n
cyk6CisgICAgICAgIChzYXZlRGlzcGxheUNvbG9yUHJvZmlsZXMpOgorICAgICAgICAoc2V0RGlz
cGxheUNvbG9yUHJvZmlsZSk6CisgICAgICAgIChyZXN0b3JlRGlzcGxheUNvbG9yUHJvZmlsZXMp
OgorICAgICAgICAoaW5zdGFsbExheW91dFRlc3RDb2xvclByb2ZpbGUpOgorICAgICAgICAocmVz
dG9yZVVzZXJDb2xvclByb2ZpbGUpOgorICAgICAgICAobWFpbik6ICAgICAgICAKKyAgICAgICAg
U3RvcmUgZGlzcGxheSBjb2xvciBwcm9maWxlcyBieSBtYXAgb2YgVVVJRCBzdHJpbmdzIHRvIFVS
THMgKE5TVVVJRCBhbmQgQ0ZVVUlEIGFyZSBub3QKKyAgICAgICAgdG9sbC1mcmVlIGJyaWRnZWQs
IHNhZGx5KS4gVXNlIHRoZSBtYXAgdG8gcmVzdG9yZSBhbGwgcHJvZmlsZXMgb24gZXhpdC4KKyAg
ICAgICAgQ29udmVydCB0byB1c2UgbW9yZSBPYmotQyB0eXBlcywgd2hpY2gsIHdpdGggQVJDLCBt
YWtlcyByZWZjb3VudGluZyBlYXNpZXIuCisKIDIwMTUtMDItMDQgIEFsZXhleSBQcm9za3VyeWFr
b3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgcnVuLXdlYmtpdC10ZXN0cyBkb2Vzbid0IGFs
d2F5cyBjYXB0dXJlIEFTYW4gdmlvbGF0aW9uIHJlcG9ydHMKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL21hYy9Db25maWd1cmF0aW9ucy9MYXlvdXRUZXN0SGVscGVyLnhjY29uZmln
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0NvbmZpZ3VyYXRpb25zL0xheW91dFRlc3RIZWxw
ZXIueGNjb25maWcKaW5kZXggYmYxZTlkMmQ1MjAzZDM3ZGYxYjcyMTg2YWE1YjhkNzg4NDI3NjQw
Zi4uMWE0OWUzMTA0ZTkwYmEyZGEwZWY1YjFhMjhjMDY2ZThlZDJlZDFmNCAxMDA2NDQKLS0tIGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0NvbmZpZ3VyYXRpb25zL0xheW91dFRlc3RIZWxwZXIu
eGNjb25maWcKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0NvbmZpZ3VyYXRpb25zL0xh
eW91dFRlc3RIZWxwZXIueGNjb25maWcKQEAgLTI3LDMgKzI3LDUgQEAKIAogT1RIRVJfTERGTEFH
UyA9ICQoaW5oZXJpdGVkKSAkKE9USEVSX0xERkxBR1NfJChQTEFURk9STV9OQU1FKSk7CiBPVEhF
Ul9MREZMQUdTX21hY29zeCA9IC1mcmFtZXdvcmsgQ2FyYm9uIC1mcmFtZXdvcmsgQ29jb2EgLWZy
YW1ld29yayBPcGVuR0wgLWZyYW1ld29yayBJT0tpdDsKKworQ0xBTkdfRU5BQkxFX09CSkNfQVJD
ID0gWUVTOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RI
ZWxwZXIubSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0SGVscGVyLm0KaW5k
ZXggYmM4YWVjODRkZGY0Y2RhOThkYjI2NDQ0NTAzZjRkYjEwOWIwYzVkOS4uNzg4MjcwYmRjNTYw
YzI5OTIzZTc5NzY0NDYzMzk2NjM4NTIyY2E2ZCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvbWFjL0xheW91dFRlc3RIZWxwZXIubQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9t
YWMvTGF5b3V0VGVzdEhlbHBlci5tCkBAIC00NSw3MyArNDUsMTIzIEBACiAKIHN0YXRpYyBpbnQg
aW5zdGFsbENvbG9yUHJvZmlsZSA9IGZhbHNlOwogCi1zdGF0aWMgQ0ZVUkxSZWYgc1VzZXJDb2xv
clByb2ZpbGVVUkw7CitzdGF0aWMgTlNNdXRhYmxlRGljdGlvbmFyeSAqb3JpZ2luYWxDb2xvclBy
b2ZpbGVVUkxzKCkKK3sKKyAgICBzdGF0aWMgTlNNdXRhYmxlRGljdGlvbmFyeSAqc2hhcmVkSW5z
dGFuY2U7CisgICAgaWYgKCFzaGFyZWRJbnN0YW5jZSkKKyAgICAgICAgc2hhcmVkSW5zdGFuY2Ug
PSBbW05TTXV0YWJsZURpY3Rpb25hcnkgYWxsb2NdIGluaXRdOworICAgIHJldHVybiBzaGFyZWRJ
bnN0YW5jZTsKK30KIAotc3RhdGljIHZvaWQgaW5zdGFsbExheW91dFRlc3RDb2xvclByb2ZpbGUo
KQorc3RhdGljIE5TVVJMICpjb2xvclByb2ZpbGVVUkxGb3JEaXNwbGF5KE5TU3RyaW5nICpkaXNw
bGF5VVVJRFN0cmluZykKIHsKLSAgICBpZiAoIWluc3RhbGxDb2xvclByb2ZpbGUpCi0gICAgICAg
IHJldHVybjsKKyAgICBDRlVVSURSZWYgdXVpZCA9IENGVVVJRENyZWF0ZUZyb21TdHJpbmcoa0NG
QWxsb2NhdG9yRGVmYXVsdCwgKF9fYnJpZGdlIENGU3RyaW5nUmVmKWRpc3BsYXlVVUlEU3RyaW5n
KTsKKyAgICBDRkRpY3Rpb25hcnlSZWYgZGV2aWNlSW5mbyA9IENvbG9yU3luY0RldmljZUNvcHlE
ZXZpY2VJbmZvKGtDb2xvclN5bmNEaXNwbGF5RGV2aWNlQ2xhc3MsIHV1aWQpOworICAgIGlmICgh
ZGV2aWNlSW5mbykgeworICAgICAgICBOU0xvZyhAIk5vIGRpc3BsYXkgYXR0YWNoZWQgdG8gc3lz
dGVtOyBub3Qgc2V0dGluZyBtYWluIGRpc3BsYXkncyBjb2xvciBwcm9maWxlLiIpOworICAgICAg
ICByZXR1cm4gbmlsOworICAgIH0KIAotICAgIC8vIFRvIG1ha2Ugc3VyZSB3ZSBnZXQgY29uc2lz
dGVudCBjb2xvcnMgKG5vdCBkZXBlbmRlbnQgb24gdGhlIGNob3NlbiBjb2xvcgotICAgIC8vIHNw
YWNlIG9mIHRoZSBtYWluIGRpc3BsYXkpLCB3ZSBmb3JjZSB0aGUgZ2VuZXJpYyBSR0IgY29sb3Ig
cHJvZmlsZS4KLSAgICAvLyBUaGlzIGNhdXNlcyBhIGNoYW5nZSB0aGUgdXNlciBjYW4gc2VlLgor
ICAgIENGVVJMUmVmIHByb2ZpbGVVUkw7CisgICAgQ0ZEaWN0aW9uYXJ5UmVmIHByb2ZpbGVJbmZv
ID0gKENGRGljdGlvbmFyeVJlZilDRkRpY3Rpb25hcnlHZXRWYWx1ZShkZXZpY2VJbmZvLCBrQ29s
b3JTeW5jQ3VzdG9tUHJvZmlsZXMpOworICAgIGlmIChwcm9maWxlSW5mbykKKyAgICAgICAgcHJv
ZmlsZVVSTCA9IChDRlVSTFJlZilDRkRpY3Rpb25hcnlHZXRWYWx1ZShwcm9maWxlSW5mbywgQ0ZT
VFIoIjEiKSk7CisgICAgZWxzZSB7CisgICAgICAgIHByb2ZpbGVJbmZvID0gKENGRGljdGlvbmFy
eVJlZilDRkRpY3Rpb25hcnlHZXRWYWx1ZShkZXZpY2VJbmZvLCBrQ29sb3JTeW5jRmFjdG9yeVBy
b2ZpbGVzKTsKKyAgICAgICAgQ0ZEaWN0aW9uYXJ5UmVmIGZhY3RvcnlQcm9maWxlID0gKENGRGlj
dGlvbmFyeVJlZilDRkRpY3Rpb25hcnlHZXRWYWx1ZShwcm9maWxlSW5mbywgQ0ZTVFIoIjEiKSk7
CisgICAgICAgIHByb2ZpbGVVUkwgPSAoQ0ZVUkxSZWYpQ0ZEaWN0aW9uYXJ5R2V0VmFsdWUoZmFj
dG9yeVByb2ZpbGUsIGtDb2xvclN5bmNEZXZpY2VQcm9maWxlVVJMKTsKKyAgICB9CisgICAgCisg
ICAgcmV0dXJuIChfX2JyaWRnZSBOU1VSTCAqKXByb2ZpbGVVUkw7Cit9CisKK3N0YXRpYyBOU0Fy
cmF5ICpkaXNwbGF5VVVJRFN0cmluZ3MoKQoreworICAgIE5TTXV0YWJsZUFycmF5ICpyZXN1bHQg
PSBbTlNNdXRhYmxlQXJyYXkgYXJyYXldOworCisgICAgc3RhdGljIGNvbnN0IHVpbnQzMl90IG1h
eERpc3BsYXlDb3VudCA9IDEwOworICAgIENHRGlyZWN0RGlzcGxheUlEIGRpc3BsYXlJRHNbbWF4
RGlzcGxheUNvdW50XSA9IHsgMCB9OworICAgIHVpbnQzMl90IGRpc3BsYXlDb3VudCA9IDA7CiAg
ICAgCi0gICAgQ0ZVVUlEUmVmIG1haW5EaXNwbGF5SUQgPSBDR0Rpc3BsYXlDcmVhdGVVVUlERnJv
bURpc3BsYXlJRChDR01haW5EaXNwbGF5SUQoKSk7CisgICAgQ0dFcnJvciBlcnIgPSBDR0dldEFj
dGl2ZURpc3BsYXlMaXN0KG1heERpc3BsYXlDb3VudCwgZGlzcGxheUlEcywgJmRpc3BsYXlDb3Vu
dCk7CisgICAgaWYgKGVyciAhPSBrQ0dFcnJvclN1Y2Nlc3MpIHsKKyAgICAgICAgTlNMb2coQCJF
cnJvciAlZCBnZXR0aW5nIGFjdGl2ZSBkaXNwbGF5IGxpc3Q7IG5vdCBzZXR0aW5nIGRpc3BsYXkg
Y29sb3IgcHJvZmlsZS4iLCBlcnIpOworICAgICAgICByZXR1cm4gbmlsOworICAgIH0KKworICAg
IGlmICghZGlzcGxheUNvdW50KSB7CisgICAgICAgIE5TTG9nKEAiTm8gZGlzcGxheSBhdHRhY2hl
ZCB0byBzeXN0ZW07IG5vdCBzZXR0aW5nIGRpc3BsYXkgY29sb3IgcHJvZmlsZS4iKTsKKyAgICAg
ICAgcmV0dXJuIG5pbDsKKyAgICB9CisKKyAgICBmb3IgKHVpbnQzMl90IGkgPSAwOyBpIDwgZGlz
cGxheUNvdW50OyArK2kpIHsKKyAgICAgICAgQ0ZVVUlEUmVmIGRpc3BsYXlVVUlEUmVmID0gQ0dE
aXNwbGF5Q3JlYXRlVVVJREZyb21EaXNwbGF5SUQoZGlzcGxheUlEc1tpXSk7CisgICAgICAgIFty
ZXN1bHQgYWRkT2JqZWN0OihfX2JyaWRnZV90cmFuc2ZlciBOU1N0cmluZyAqKUNGVVVJRENyZWF0
ZVN0cmluZyhrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBkaXNwbGF5VVVJRFJlZildOworICAgIH0KICAg
ICAKLSAgICBpZiAoIXNVc2VyQ29sb3JQcm9maWxlVVJMKSB7Ci0gICAgICAgIENGRGljdGlvbmFy
eVJlZiBkZXZpY2VJbmZvID0gQ29sb3JTeW5jRGV2aWNlQ29weURldmljZUluZm8oa0NvbG9yU3lu
Y0Rpc3BsYXlEZXZpY2VDbGFzcywgbWFpbkRpc3BsYXlJRCk7CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KIAotICAgICAgICBpZiAoIWRldmljZUluZm8pIHsKLSAgICAgICAgICAgIE5TTG9nKEAiTm8g
ZGlzcGxheSBhdHRhY2hlZCB0byBzeXN0ZW07IG5vdCBzZXR0aW5nIG1haW4gZGlzcGxheSdzIGNv
bG9yIHByb2ZpbGUuIik7Ci0gICAgICAgICAgICBDRlJlbGVhc2UobWFpbkRpc3BsYXlJRCk7Ci0g
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KK3N0YXRpYyB2b2lkIHNhdmVEaXNwbGF5Q29s
b3JQcm9maWxlcyhOU0FycmF5ICpkaXNwbGF5VVVJRFN0cmluZ3MpCit7CisgICAgTlNNdXRhYmxl
RGljdGlvbmFyeSogdXNlckNvbG9yUHJvZmlsZXMgPSBvcmlnaW5hbENvbG9yUHJvZmlsZVVSTHMo
KTsKIAotICAgICAgICBDRkRpY3Rpb25hcnlSZWYgcHJvZmlsZUluZm8gPSAoQ0ZEaWN0aW9uYXJ5
UmVmKUNGRGljdGlvbmFyeUdldFZhbHVlKGRldmljZUluZm8sIGtDb2xvclN5bmNDdXN0b21Qcm9m
aWxlcyk7Ci0gICAgICAgIGlmIChwcm9maWxlSW5mbykgewotICAgICAgICAgICAgc1VzZXJDb2xv
clByb2ZpbGVVUkwgPSAoQ0ZVUkxSZWYpQ0ZEaWN0aW9uYXJ5R2V0VmFsdWUocHJvZmlsZUluZm8s
IENGU1RSKCIxIikpOwotICAgICAgICAgICAgQ0ZSZXRhaW4oc1VzZXJDb2xvclByb2ZpbGVVUkwp
OwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgcHJvZmlsZUluZm8gPSAoQ0ZEaWN0aW9u
YXJ5UmVmKUNGRGljdGlvbmFyeUdldFZhbHVlKGRldmljZUluZm8sIGtDb2xvclN5bmNGYWN0b3J5
UHJvZmlsZXMpOwotICAgICAgICAgICAgQ0ZEaWN0aW9uYXJ5UmVmIGZhY3RvcnlQcm9maWxlID0g
KENGRGljdGlvbmFyeVJlZilDRkRpY3Rpb25hcnlHZXRWYWx1ZShwcm9maWxlSW5mbywgQ0ZTVFIo
IjEiKSk7Ci0gICAgICAgICAgICBzVXNlckNvbG9yUHJvZmlsZVVSTCA9IChDRlVSTFJlZilDRkRp
Y3Rpb25hcnlHZXRWYWx1ZShmYWN0b3J5UHJvZmlsZSwga0NvbG9yU3luY0RldmljZVByb2ZpbGVV
UkwpOwotICAgICAgICAgICAgQ0ZSZXRhaW4oc1VzZXJDb2xvclByb2ZpbGVVUkwpOwotICAgICAg
ICB9CisgICAgZm9yIChOU1N0cmluZyAqVVVJRFN0cmluZyBpbiBkaXNwbGF5VVVJRFN0cmluZ3Mp
IHsKKyAgICAgICAgaWYgKFt1c2VyQ29sb3JQcm9maWxlcyBvYmplY3RGb3JLZXk6VVVJRFN0cmlu
Z10pCisgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgCi0gICAgICAgIENGUmVsZWFzZShk
ZXZpY2VJbmZvKTsKKyAgICAgICAgTlNVUkwgKmNvbG9yUHJvZmlsZVVSTCA9IGNvbG9yUHJvZmls
ZVVSTEZvckRpc3BsYXkoVVVJRFN0cmluZyk7CisgICAgICAgIFt1c2VyQ29sb3JQcm9maWxlcyBz
ZXRPYmplY3Q6Y29sb3JQcm9maWxlVVJMIGZvcktleTpVVUlEU3RyaW5nXTsKICAgICB9Cit9CisK
K3N0YXRpYyB2b2lkIHNldERpc3BsYXlDb2xvclByb2ZpbGUoTlNTdHJpbmcgKmRpc3BsYXlVVUlE
U3RyaW5nLCBOU1VSTCAqY29sb3JQcm9maWxlVVJMKQoreworICAgIE5TRGljdGlvbmFyeSAqcHJv
ZmlsZUluZm8gPSBAeworICAgICAgICAoX19icmlkZ2UgTlNTdHJpbmcgKilrQ29sb3JTeW5jRGV2
aWNlRGVmYXVsdFByb2ZpbGVJRCA6IGNvbG9yUHJvZmlsZVVSTAorICAgIH07CisKKyAgICBDRlVV
SURSZWYgdXVpZCA9IENGVVVJRENyZWF0ZUZyb21TdHJpbmcoa0NGQWxsb2NhdG9yRGVmYXVsdCwg
KF9fYnJpZGdlIENGU3RyaW5nUmVmKWRpc3BsYXlVVUlEU3RyaW5nKTsKKyAgICBCT09MIHN1Y2Nl
c3MgPSBDb2xvclN5bmNEZXZpY2VTZXRDdXN0b21Qcm9maWxlcyhrQ29sb3JTeW5jRGlzcGxheURl
dmljZUNsYXNzLCB1dWlkLCAoX19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVmKXByb2ZpbGVJbmZvKTsK
KyAgICBpZiAoIXN1Y2Nlc3MpCisgICAgICAgIE5TTG9nKEAiRmFpbGVkIHRvIHNldCBjb2xvciBw
cm9maWxlIGZvciBkaXNwbGF5ICVAISBNYW55IHBpeGVsIHRlc3RzIG1heSBmYWlsIGFzIGEgcmVz
dWx0LiIsIGRpc3BsYXlVVUlEU3RyaW5nKTsKK30KKworc3RhdGljIHZvaWQgcmVzdG9yZURpc3Bs
YXlDb2xvclByb2ZpbGVzKE5TQXJyYXkgKmRpc3BsYXlVVUlEU3RyaW5ncykKK3sKKyAgICBOU011
dGFibGVEaWN0aW9uYXJ5KiB1c2VyQ29sb3JQcm9maWxlcyA9IG9yaWdpbmFsQ29sb3JQcm9maWxl
VVJMcygpOworCisgICAgZm9yIChOU1N0cmluZyAqVVVJRFN0cmluZyBpbiBkaXNwbGF5VVVJRFN0
cmluZ3MpIHsKKyAgICAgICAgTlNVUkwgKnByb2ZpbGVVUkwgPSBbdXNlckNvbG9yUHJvZmlsZXMg
b2JqZWN0Rm9yS2V5OlVVSURTdHJpbmddOworICAgICAgICBpZiAoIXByb2ZpbGVVUkwpCisgICAg
ICAgICAgICBjb250aW51ZTsKKyAgICAgICAgCisgICAgICAgIHNldERpc3BsYXlDb2xvclByb2Zp
bGUoVVVJRFN0cmluZywgcHJvZmlsZVVSTCk7CisgICAgfQorfQorCitzdGF0aWMgdm9pZCBpbnN0
YWxsTGF5b3V0VGVzdENvbG9yUHJvZmlsZSgpCit7CisgICAgaWYgKCFpbnN0YWxsQ29sb3JQcm9m
aWxlKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBUbyBtYWtlIHN1cmUgd2UgZ2V0IGNvbnNp
c3RlbnQgY29sb3JzIChub3QgZGVwZW5kZW50IG9uIHRoZSBjaG9zZW4gY29sb3IKKyAgICAvLyBz
cGFjZSBvZiB0aGUgZGlzcGxheSksIHdlIGZvcmNlIHRoZSBnZW5lcmljIFJHQiBjb2xvciBwcm9m
aWxlIG9uIGFsbCBkaXNwbGF5cy4KKyAgICAvLyBUaGlzIGNhdXNlcyBhIGNoYW5nZSB0aGUgdXNl
ciBjYW4gc2VlLgorCisgICAgTlNBcnJheSAqZGlzcGxheXMgPSBkaXNwbGF5VVVJRFN0cmluZ3Mo
KTsKKyAgICBzYXZlRGlzcGxheUNvbG9yUHJvZmlsZXMoZGlzcGxheXMpOwogCiAgICAgQ29sb3JT
eW5jUHJvZmlsZVJlZiBzUkdCUHJvZmlsZSA9IENvbG9yU3luY1Byb2ZpbGVDcmVhdGVXaXRoTmFt
ZShrQ29sb3JTeW5jU1JHQlByb2ZpbGUpOwogICAgIENGRXJyb3JSZWYgZXJyb3I7CiAgICAgQ0ZV
UkxSZWYgcHJvZmlsZVVSTCA9IENvbG9yU3luY1Byb2ZpbGVHZXRVUkwoc1JHQlByb2ZpbGUsICZl
cnJvcik7CiAgICAgaWYgKCFwcm9maWxlVVJMKSB7CiAgICAgICAgIE5TTG9nKEAiRmFpbGVkIHRv
IGdldCBVUkwgb2YgR2VuZXJpYyBSR0IgY29sb3IgcHJvZmlsZSEgTWFueSBwaXhlbCB0ZXN0cyBt
YXkgZmFpbCBhcyBhIHJlc3VsdC4gRXJyb3I6ICVAIiwgZXJyb3IpOwotICAgICAgICAKLSAgICAg
ICAgaWYgKHNVc2VyQ29sb3JQcm9maWxlVVJMKSB7Ci0gICAgICAgICAgICBDRlJlbGVhc2Uoc1Vz
ZXJDb2xvclByb2ZpbGVVUkwpOwotICAgICAgICAgICAgc1VzZXJDb2xvclByb2ZpbGVVUkwgPSAw
OwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBDRlJlbGVhc2Uoc1JHQlByb2ZpbGUpOwot
ICAgICAgICBDRlJlbGVhc2UobWFpbkRpc3BsYXlJRCk7CiAgICAgICAgIHJldHVybjsKICAgICB9
Ci0gICAgICAgIAotICAgIENGTXV0YWJsZURpY3Rpb25hcnlSZWYgcHJvZmlsZUluZm8gPSBDRkRp
Y3Rpb25hcnlDcmVhdGVNdXRhYmxlKGtDRkFsbG9jYXRvckRlZmF1bHQsIDAsICZrQ0ZUeXBlRGlj
dGlvbmFyeUtleUNhbGxCYWNrcywgJmtDRlR5cGVEaWN0aW9uYXJ5VmFsdWVDYWxsQmFja3MpOwot
ICAgIENGRGljdGlvbmFyeVNldFZhbHVlKHByb2ZpbGVJbmZvLCBrQ29sb3JTeW5jRGV2aWNlRGVm
YXVsdFByb2ZpbGVJRCwgcHJvZmlsZVVSTCk7CiAgICAgCi0gICAgaWYgKCFDb2xvclN5bmNEZXZp
Y2VTZXRDdXN0b21Qcm9maWxlcyhrQ29sb3JTeW5jRGlzcGxheURldmljZUNsYXNzLCBtYWluRGlz
cGxheUlELCBwcm9maWxlSW5mbykpIHsKLSAgICAgICAgTlNMb2coQCJGYWlsZWQgdG8gc2V0IGNv
bG9yIHByb2ZpbGUgZm9yIG1haW4gZGlzcGxheSEgTWFueSBwaXhlbCB0ZXN0cyBtYXkgZmFpbCBh
cyBhIHJlc3VsdC4iKTsKLSAgICAgICAgCi0gICAgICAgIGlmIChzVXNlckNvbG9yUHJvZmlsZVVS
TCkgewotICAgICAgICAgICAgQ0ZSZWxlYXNlKHNVc2VyQ29sb3JQcm9maWxlVVJMKTsKLSAgICAg
ICAgICAgIHNVc2VyQ29sb3JQcm9maWxlVVJMID0gMDsKLSAgICAgICAgfQotICAgIH0KLSAgICAK
LSAgICBDRlJlbGVhc2UocHJvZmlsZUluZm8pOwotICAgIENGUmVsZWFzZShzUkdCUHJvZmlsZSk7
Ci0gICAgQ0ZSZWxlYXNlKG1haW5EaXNwbGF5SUQpOworICAgIGZvciAoTlNTdHJpbmcgKmRpc3Bs
YXlVVUlEU3RyaW5nIGluIGRpc3BsYXlzKQorICAgICAgICBzZXREaXNwbGF5Q29sb3JQcm9maWxl
KGRpc3BsYXlVVUlEU3RyaW5nLCAoX19icmlkZ2UgTlNVUkwgKilwcm9maWxlVVJMKTsKIH0KIAog
c3RhdGljIHZvaWQgcmVzdG9yZVVzZXJDb2xvclByb2ZpbGUodm9pZCkKQEAgLTEyMiwxNSArMTcy
LDggQEAgc3RhdGljIHZvaWQgcmVzdG9yZVVzZXJDb2xvclByb2ZpbGUodm9pZCkKICAgICAvLyBU
aGlzIGlzIHVzZWQgYXMgYSBzaWduYWwgaGFuZGxlciwgYW5kIHRodXMgdGhlIGNhbGxzIGludG8g
Q29sb3JTeW5jIGFyZSB1bnNhZmUuCiAgICAgLy8gQnV0IHdlIG1pZ2h0IGFzIHdlbGwgdHJ5IHRv
IHJlc3RvcmUgdGhlIHVzZXIncyBjb2xvciBwcm9maWxlLCB3ZSdyZSBnb2luZyBkb3duIGFueXdh
eS4uLgogICAgIAotICAgIGlmICghc1VzZXJDb2xvclByb2ZpbGVVUkwpCi0gICAgICAgIHJldHVy
bjsKLSAgICAKLSAgICBDRlVVSURSZWYgbWFpbkRpc3BsYXlJRCA9IENHRGlzcGxheUNyZWF0ZVVV
SURGcm9tRGlzcGxheUlEKENHTWFpbkRpc3BsYXlJRCgpKTsKLSAgICBDRk11dGFibGVEaWN0aW9u
YXJ5UmVmIHByb2ZpbGVJbmZvID0gQ0ZEaWN0aW9uYXJ5Q3JlYXRlTXV0YWJsZShrQ0ZBbGxvY2F0
b3JEZWZhdWx0LCAwLCAma0NGVHlwZURpY3Rpb25hcnlLZXlDYWxsQmFja3MsICZrQ0ZUeXBlRGlj
dGlvbmFyeVZhbHVlQ2FsbEJhY2tzKTsKLSAgICBDRkRpY3Rpb25hcnlTZXRWYWx1ZShwcm9maWxl
SW5mbywga0NvbG9yU3luY0RldmljZURlZmF1bHRQcm9maWxlSUQsIHNVc2VyQ29sb3JQcm9maWxl
VVJMKTsKLSAgICBDb2xvclN5bmNEZXZpY2VTZXRDdXN0b21Qcm9maWxlcyhrQ29sb3JTeW5jRGlz
cGxheURldmljZUNsYXNzLCBtYWluRGlzcGxheUlELCBwcm9maWxlSW5mbyk7Ci0gICAgQ0ZSZWxl
YXNlKG1haW5EaXNwbGF5SUQpOwotICAgIENGUmVsZWFzZShwcm9maWxlSW5mbyk7CisgICAgTlNB
cnJheSAqZGlzcGxheXMgPSBkaXNwbGF5VVVJRFN0cmluZ3MoKTsKKyAgICByZXN0b3JlRGlzcGxh
eUNvbG9yUHJvZmlsZXMoZGlzcGxheXMpOwogfQogCiBzdGF0aWMgdm9pZCBzaW1wbGVTaWduYWxI
YW5kbGVyKGludCBzaWcpCkBAIC0xODgsOCArMjMxLDYgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNo
YXIqIGFyZ3ZbXSkKICAgICAgICAgfQogICAgIH0KIAotICAgIE5TQXV0b3JlbGVhc2VQb29sKiBw
b29sID0gW1tOU0F1dG9yZWxlYXNlUG9vbCBhbGxvY10gaW5pdF07Ci0KICAgICAvLyBIb29rcyB0
aGUgd2F5cyB3ZSBtaWdodCBnZXQgdG9sZCB0byBjbGVhbiB1cC4uLgogICAgIHNpZ25hbChTSUdJ
TlQsIHNpbXBsZVNpZ25hbEhhbmRsZXIpOwogICAgIHNpZ25hbChTSUdIVVAsIHNpbXBsZVNpZ25h
bEhhbmRsZXIpOwpAQCAtMjEwLDcgKzI1MSw2IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyKiBh
cmd2W10pCiAgICAgLy8gUmVzdG9yZSB0aGUgcHJvZmlsZQogICAgIHJlc3RvcmVVc2VyQ29sb3JQ
cm9maWxlKCk7CiAKLSAgICBbcG9vbCByZWxlYXNlXTsKICAgICByZXR1cm4gMDsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246047</attachid>
            <date>2015-02-04 14:12:14 -0800</date>
            <delta_ts>2015-02-04 14:30:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-141260-20150204141214.patch</filename>
            <type>text/plain</type>
            <size>11031</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc5NjMwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDg0ODRkMzM2ZDFhZGQ2MjhjZWIzOTUwN2EzY2UzZmIx
Zjk0MzAyMy4uOGFmMDkxOGE2OWQ5YzQ4MGI3ZDJhYTNlNDZkNzU4NGJiZjAzZGMzNSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5
IEBACisyMDE1LTAyLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIExheW91dFRlc3RIZWxwZXIgc2hvdWxkIHNldCB0aGUgY29sb3IgcHJvZmlsZSBv
ZiBhbGwgZGlzcGxheXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0MTI2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAg
ICAgICAKKyAgICAgICAgV2ViS2l0VGVzdFJ1bm5lciBjYW4gKGVycm9uZW91c2x5KSBncmFiIHRo
ZSBjb2xvcnNwYWNlIG9mIHRoZSAibWFpbiIgc2NyZWVuLgorICAgICAgICB3aGljaCBpcyB0aGUg
c2NyZWVuIHdpdGggdGhlIGFjdGl2ZSB3aW5kb3cuIE1ha2UgdGhpbmdzIG1vcmUgcm9idXN0IGJ5
IGNoYW5naW5nCisgICAgICAgIHRoZSBjb2xvcnNwYWNlIG9mIGFsbCBkaXNwbGF5cywgbm90IGp1
c3QgdGhlIG1haW4gc2NyZWVuLCB3aGVuIHJ1bm5pbmcgbGF5b3V0IHRlc3RzLgorCisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvbWFjL0NvbmZpZ3VyYXRpb25zL0xheW91dFRlc3RIZWxwZXIueGNj
b25maWc6IEVuYWJsZSBBUkMKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVz
dEhlbHBlci5tOiAKKyAgICAgICAgKG9yaWdpbmFsQ29sb3JQcm9maWxlVVJMcyk6CisgICAgICAg
IChjb2xvclByb2ZpbGVVUkxGb3JEaXNwbGF5KToKKyAgICAgICAgKGRpc3BsYXlVVUlEU3RyaW5n
cyk6CisgICAgICAgIChzYXZlRGlzcGxheUNvbG9yUHJvZmlsZXMpOgorICAgICAgICAoc2V0RGlz
cGxheUNvbG9yUHJvZmlsZSk6CisgICAgICAgIChyZXN0b3JlRGlzcGxheUNvbG9yUHJvZmlsZXMp
OgorICAgICAgICAoaW5zdGFsbExheW91dFRlc3RDb2xvclByb2ZpbGUpOgorICAgICAgICAocmVz
dG9yZVVzZXJDb2xvclByb2ZpbGUpOgorICAgICAgICAobWFpbik6ICAgICAgICAKKyAgICAgICAg
U3RvcmUgZGlzcGxheSBjb2xvciBwcm9maWxlcyBieSBtYXAgb2YgVVVJRCBzdHJpbmdzIHRvIFVS
THMgKE5TVVVJRCBhbmQgQ0ZVVUlEIGFyZSBub3QKKyAgICAgICAgdG9sbC1mcmVlIGJyaWRnZWQs
IHNhZGx5KS4gVXNlIHRoZSBtYXAgdG8gcmVzdG9yZSBhbGwgcHJvZmlsZXMgb24gZXhpdC4KKyAg
ICAgICAgQ29udmVydCB0byB1c2UgbW9yZSBPYmotQyB0eXBlcywgd2hpY2gsIHdpdGggQVJDLCBt
YWtlcyByZWZjb3VudGluZyBlYXNpZXIuCisKIDIwMTUtMDItMDQgIERhbmllbCBCYXRlcyAgPGRh
YmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIHRlc3Qtd2Via2l0cHkgZmFpbHMgb24gTWFjIHdp
dGhvdXQgaXBob25lb3MgU0RLCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMv
Q29uZmlndXJhdGlvbnMvTGF5b3V0VGVzdEhlbHBlci54Y2NvbmZpZyBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL21hYy9Db25maWd1cmF0aW9ucy9MYXlvdXRUZXN0SGVscGVyLnhjY29uZmlnCmluZGV4
IGJmMWU5ZDJkNTIwM2QzN2RmMWI3MjE4NmFhNWI4ZDc4ODQyNzY0MGYuLjFhNDllMzEwNGU5MGJh
MmRhMGVmNWIxYTI4YzA2NmU4ZWQyZWQxZjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9Db25maWd1cmF0aW9ucy9MYXlvdXRUZXN0SGVscGVyLnhjY29uZmlnCisrKyBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9Db25maWd1cmF0aW9ucy9MYXlvdXRUZXN0SGVscGVyLnhj
Y29uZmlnCkBAIC0yNywzICsyNyw1IEBACiAKIE9USEVSX0xERkxBR1MgPSAkKGluaGVyaXRlZCkg
JChPVEhFUl9MREZMQUdTXyQoUExBVEZPUk1fTkFNRSkpOwogT1RIRVJfTERGTEFHU19tYWNvc3gg
PSAtZnJhbWV3b3JrIENhcmJvbiAtZnJhbWV3b3JrIENvY29hIC1mcmFtZXdvcmsgT3BlbkdMIC1m
cmFtZXdvcmsgSU9LaXQ7CisKK0NMQU5HX0VOQUJMRV9PQkpDX0FSQyA9IFlFUzsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0SGVscGVyLm0gYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVzdEhlbHBlci5tCmluZGV4IGJjOGFlYzg0ZGRmNGNk
YTk4ZGIyNjQ0NDUwM2Y0ZGIxMDliMGM1ZDkuLjAyMzg5Y2IzNTQwZTlmOTdiMTc0ZWI0ZWJjNDJm
MmI5ODExMmJmMGUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRU
ZXN0SGVscGVyLm0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RIZWxw
ZXIubQpAQCAtNDUsNzMgKzQ1LDEyNyBAQAogCiBzdGF0aWMgaW50IGluc3RhbGxDb2xvclByb2Zp
bGUgPSBmYWxzZTsKIAotc3RhdGljIENGVVJMUmVmIHNVc2VyQ29sb3JQcm9maWxlVVJMOworc3Rh
dGljIE5TTXV0YWJsZURpY3Rpb25hcnkgKm9yaWdpbmFsQ29sb3JQcm9maWxlVVJMcygpCit7Cisg
ICAgc3RhdGljIE5TTXV0YWJsZURpY3Rpb25hcnkgKnNoYXJlZEluc3RhbmNlOworICAgIGlmICgh
c2hhcmVkSW5zdGFuY2UpCisgICAgICAgIHNoYXJlZEluc3RhbmNlID0gW1tOU011dGFibGVEaWN0
aW9uYXJ5IGFsbG9jXSBpbml0XTsKKyAgICByZXR1cm4gc2hhcmVkSW5zdGFuY2U7Cit9CiAKLXN0
YXRpYyB2b2lkIGluc3RhbGxMYXlvdXRUZXN0Q29sb3JQcm9maWxlKCkKK3N0YXRpYyBOU1VSTCAq
Y29sb3JQcm9maWxlVVJMRm9yRGlzcGxheShOU1N0cmluZyAqZGlzcGxheVVVSURTdHJpbmcpCiB7
Ci0gICAgaWYgKCFpbnN0YWxsQ29sb3JQcm9maWxlKQotICAgICAgICByZXR1cm47CisgICAgQ0ZV
VUlEUmVmIHV1aWQgPSBDRlVVSURDcmVhdGVGcm9tU3RyaW5nKGtDRkFsbG9jYXRvckRlZmF1bHQs
IChfX2JyaWRnZSBDRlN0cmluZ1JlZilkaXNwbGF5VVVJRFN0cmluZyk7CisgICAgQ0ZEaWN0aW9u
YXJ5UmVmIGRldmljZUluZm8gPSBDb2xvclN5bmNEZXZpY2VDb3B5RGV2aWNlSW5mbyhrQ29sb3JT
eW5jRGlzcGxheURldmljZUNsYXNzLCB1dWlkKTsKKyAgICBDRlJlbGVhc2UodXVpZCk7CisgICAg
aWYgKCFkZXZpY2VJbmZvKSB7CisgICAgICAgIE5TTG9nKEAiTm8gZGlzcGxheSBhdHRhY2hlZCB0
byBzeXN0ZW07IG5vdCBzZXR0aW5nIG1haW4gZGlzcGxheSdzIGNvbG9yIHByb2ZpbGUuIik7Cisg
ICAgICAgIHJldHVybiBuaWw7CisgICAgfQogCi0gICAgLy8gVG8gbWFrZSBzdXJlIHdlIGdldCBj
b25zaXN0ZW50IGNvbG9ycyAobm90IGRlcGVuZGVudCBvbiB0aGUgY2hvc2VuIGNvbG9yCi0gICAg
Ly8gc3BhY2Ugb2YgdGhlIG1haW4gZGlzcGxheSksIHdlIGZvcmNlIHRoZSBnZW5lcmljIFJHQiBj
b2xvciBwcm9maWxlLgotICAgIC8vIFRoaXMgY2F1c2VzIGEgY2hhbmdlIHRoZSB1c2VyIGNhbiBz
ZWUuCisgICAgQ0ZVUkxSZWYgcHJvZmlsZVVSTDsKKyAgICBDRkRpY3Rpb25hcnlSZWYgcHJvZmls
ZUluZm8gPSAoQ0ZEaWN0aW9uYXJ5UmVmKUNGRGljdGlvbmFyeUdldFZhbHVlKGRldmljZUluZm8s
IGtDb2xvclN5bmNDdXN0b21Qcm9maWxlcyk7CisgICAgaWYgKHByb2ZpbGVJbmZvKQorICAgICAg
ICBwcm9maWxlVVJMID0gKENGVVJMUmVmKUNGRGljdGlvbmFyeUdldFZhbHVlKHByb2ZpbGVJbmZv
LCBDRlNUUigiMSIpKTsKKyAgICBlbHNlIHsKKyAgICAgICAgcHJvZmlsZUluZm8gPSAoQ0ZEaWN0
aW9uYXJ5UmVmKUNGRGljdGlvbmFyeUdldFZhbHVlKGRldmljZUluZm8sIGtDb2xvclN5bmNGYWN0
b3J5UHJvZmlsZXMpOworICAgICAgICBDRkRpY3Rpb25hcnlSZWYgZmFjdG9yeVByb2ZpbGUgPSAo
Q0ZEaWN0aW9uYXJ5UmVmKUNGRGljdGlvbmFyeUdldFZhbHVlKHByb2ZpbGVJbmZvLCBDRlNUUigi
MSIpKTsKKyAgICAgICAgcHJvZmlsZVVSTCA9IChDRlVSTFJlZilDRkRpY3Rpb25hcnlHZXRWYWx1
ZShmYWN0b3J5UHJvZmlsZSwga0NvbG9yU3luY0RldmljZVByb2ZpbGVVUkwpOworICAgIH0KKyAg
ICAKKyAgICBDRlJlbGVhc2UoZGV2aWNlSW5mbyk7CisgICAgcmV0dXJuIChfX2JyaWRnZSBOU1VS
TCAqKXByb2ZpbGVVUkw7Cit9CisKK3N0YXRpYyBOU0FycmF5ICpkaXNwbGF5VVVJRFN0cmluZ3Mo
KQoreworICAgIE5TTXV0YWJsZUFycmF5ICpyZXN1bHQgPSBbTlNNdXRhYmxlQXJyYXkgYXJyYXld
OworCisgICAgc3RhdGljIGNvbnN0IHVpbnQzMl90IG1heERpc3BsYXlDb3VudCA9IDEwOworICAg
IENHRGlyZWN0RGlzcGxheUlEIGRpc3BsYXlJRHNbbWF4RGlzcGxheUNvdW50XSA9IHsgMCB9Owor
ICAgIHVpbnQzMl90IGRpc3BsYXlDb3VudCA9IDA7CiAgICAgCi0gICAgQ0ZVVUlEUmVmIG1haW5E
aXNwbGF5SUQgPSBDR0Rpc3BsYXlDcmVhdGVVVUlERnJvbURpc3BsYXlJRChDR01haW5EaXNwbGF5
SUQoKSk7CisgICAgQ0dFcnJvciBlcnIgPSBDR0dldEFjdGl2ZURpc3BsYXlMaXN0KG1heERpc3Bs
YXlDb3VudCwgZGlzcGxheUlEcywgJmRpc3BsYXlDb3VudCk7CisgICAgaWYgKGVyciAhPSBrQ0dF
cnJvclN1Y2Nlc3MpIHsKKyAgICAgICAgTlNMb2coQCJFcnJvciAlZCBnZXR0aW5nIGFjdGl2ZSBk
aXNwbGF5IGxpc3Q7IG5vdCBzZXR0aW5nIGRpc3BsYXkgY29sb3IgcHJvZmlsZS4iLCBlcnIpOwor
ICAgICAgICByZXR1cm4gbmlsOworICAgIH0KKworICAgIGlmICghZGlzcGxheUNvdW50KSB7Cisg
ICAgICAgIE5TTG9nKEAiTm8gZGlzcGxheSBhdHRhY2hlZCB0byBzeXN0ZW07IG5vdCBzZXR0aW5n
IGRpc3BsYXkgY29sb3IgcHJvZmlsZS4iKTsKKyAgICAgICAgcmV0dXJuIG5pbDsKKyAgICB9CisK
KyAgICBmb3IgKHVpbnQzMl90IGkgPSAwOyBpIDwgZGlzcGxheUNvdW50OyArK2kpIHsKKyAgICAg
ICAgQ0ZVVUlEUmVmIGRpc3BsYXlVVUlEUmVmID0gQ0dEaXNwbGF5Q3JlYXRlVVVJREZyb21EaXNw
bGF5SUQoZGlzcGxheUlEc1tpXSk7CisgICAgICAgIFtyZXN1bHQgYWRkT2JqZWN0OihfX2JyaWRn
ZV90cmFuc2ZlciBOU1N0cmluZyAqKUNGVVVJRENyZWF0ZVN0cmluZyhrQ0ZBbGxvY2F0b3JEZWZh
dWx0LCBkaXNwbGF5VVVJRFJlZildOworICAgICAgICBDRlJlbGVhc2UoZGlzcGxheVVVSURSZWYp
OworICAgIH0KICAgICAKLSAgICBpZiAoIXNVc2VyQ29sb3JQcm9maWxlVVJMKSB7Ci0gICAgICAg
IENGRGljdGlvbmFyeVJlZiBkZXZpY2VJbmZvID0gQ29sb3JTeW5jRGV2aWNlQ29weURldmljZUlu
Zm8oa0NvbG9yU3luY0Rpc3BsYXlEZXZpY2VDbGFzcywgbWFpbkRpc3BsYXlJRCk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KIAotICAgICAgICBpZiAoIWRldmljZUluZm8pIHsKLSAgICAgICAgICAg
IE5TTG9nKEAiTm8gZGlzcGxheSBhdHRhY2hlZCB0byBzeXN0ZW07IG5vdCBzZXR0aW5nIG1haW4g
ZGlzcGxheSdzIGNvbG9yIHByb2ZpbGUuIik7Ci0gICAgICAgICAgICBDRlJlbGVhc2UobWFpbkRp
c3BsYXlJRCk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KK3N0YXRpYyB2b2lkIHNh
dmVEaXNwbGF5Q29sb3JQcm9maWxlcyhOU0FycmF5ICpkaXNwbGF5VVVJRFN0cmluZ3MpCit7Cisg
ICAgTlNNdXRhYmxlRGljdGlvbmFyeSogdXNlckNvbG9yUHJvZmlsZXMgPSBvcmlnaW5hbENvbG9y
UHJvZmlsZVVSTHMoKTsKIAotICAgICAgICBDRkRpY3Rpb25hcnlSZWYgcHJvZmlsZUluZm8gPSAo
Q0ZEaWN0aW9uYXJ5UmVmKUNGRGljdGlvbmFyeUdldFZhbHVlKGRldmljZUluZm8sIGtDb2xvclN5
bmNDdXN0b21Qcm9maWxlcyk7Ci0gICAgICAgIGlmIChwcm9maWxlSW5mbykgewotICAgICAgICAg
ICAgc1VzZXJDb2xvclByb2ZpbGVVUkwgPSAoQ0ZVUkxSZWYpQ0ZEaWN0aW9uYXJ5R2V0VmFsdWUo
cHJvZmlsZUluZm8sIENGU1RSKCIxIikpOwotICAgICAgICAgICAgQ0ZSZXRhaW4oc1VzZXJDb2xv
clByb2ZpbGVVUkwpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgcHJvZmlsZUluZm8g
PSAoQ0ZEaWN0aW9uYXJ5UmVmKUNGRGljdGlvbmFyeUdldFZhbHVlKGRldmljZUluZm8sIGtDb2xv
clN5bmNGYWN0b3J5UHJvZmlsZXMpOwotICAgICAgICAgICAgQ0ZEaWN0aW9uYXJ5UmVmIGZhY3Rv
cnlQcm9maWxlID0gKENGRGljdGlvbmFyeVJlZilDRkRpY3Rpb25hcnlHZXRWYWx1ZShwcm9maWxl
SW5mbywgQ0ZTVFIoIjEiKSk7Ci0gICAgICAgICAgICBzVXNlckNvbG9yUHJvZmlsZVVSTCA9IChD
RlVSTFJlZilDRkRpY3Rpb25hcnlHZXRWYWx1ZShmYWN0b3J5UHJvZmlsZSwga0NvbG9yU3luY0Rl
dmljZVByb2ZpbGVVUkwpOwotICAgICAgICAgICAgQ0ZSZXRhaW4oc1VzZXJDb2xvclByb2ZpbGVV
UkwpOwotICAgICAgICB9CisgICAgZm9yIChOU1N0cmluZyAqVVVJRFN0cmluZyBpbiBkaXNwbGF5
VVVJRFN0cmluZ3MpIHsKKyAgICAgICAgaWYgKFt1c2VyQ29sb3JQcm9maWxlcyBvYmplY3RGb3JL
ZXk6VVVJRFN0cmluZ10pCisgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgCi0gICAgICAg
IENGUmVsZWFzZShkZXZpY2VJbmZvKTsKKyAgICAgICAgTlNVUkwgKmNvbG9yUHJvZmlsZVVSTCA9
IGNvbG9yUHJvZmlsZVVSTEZvckRpc3BsYXkoVVVJRFN0cmluZyk7CisgICAgICAgIFt1c2VyQ29s
b3JQcm9maWxlcyBzZXRPYmplY3Q6Y29sb3JQcm9maWxlVVJMIGZvcktleTpVVUlEU3RyaW5nXTsK
ICAgICB9Cit9CisKK3N0YXRpYyB2b2lkIHNldERpc3BsYXlDb2xvclByb2ZpbGUoTlNTdHJpbmcg
KmRpc3BsYXlVVUlEU3RyaW5nLCBOU1VSTCAqY29sb3JQcm9maWxlVVJMKQoreworICAgIE5TRGlj
dGlvbmFyeSAqcHJvZmlsZUluZm8gPSBAeworICAgICAgICAoX19icmlkZ2UgTlNTdHJpbmcgKilr
Q29sb3JTeW5jRGV2aWNlRGVmYXVsdFByb2ZpbGVJRCA6IGNvbG9yUHJvZmlsZVVSTAorICAgIH07
CisKKyAgICBDRlVVSURSZWYgdXVpZCA9IENGVVVJRENyZWF0ZUZyb21TdHJpbmcoa0NGQWxsb2Nh
dG9yRGVmYXVsdCwgKF9fYnJpZGdlIENGU3RyaW5nUmVmKWRpc3BsYXlVVUlEU3RyaW5nKTsKKyAg
ICBCT09MIHN1Y2Nlc3MgPSBDb2xvclN5bmNEZXZpY2VTZXRDdXN0b21Qcm9maWxlcyhrQ29sb3JT
eW5jRGlzcGxheURldmljZUNsYXNzLCB1dWlkLCAoX19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVmKXBy
b2ZpbGVJbmZvKTsKKyAgICBpZiAoIXN1Y2Nlc3MpCisgICAgICAgIE5TTG9nKEAiRmFpbGVkIHRv
IHNldCBjb2xvciBwcm9maWxlIGZvciBkaXNwbGF5ICVAISBNYW55IHBpeGVsIHRlc3RzIG1heSBm
YWlsIGFzIGEgcmVzdWx0LiIsIGRpc3BsYXlVVUlEU3RyaW5nKTsKKyAgICBDRlJlbGVhc2UodXVp
ZCk7Cit9CisKK3N0YXRpYyB2b2lkIHJlc3RvcmVEaXNwbGF5Q29sb3JQcm9maWxlcyhOU0FycmF5
ICpkaXNwbGF5VVVJRFN0cmluZ3MpCit7CisgICAgTlNNdXRhYmxlRGljdGlvbmFyeSogdXNlckNv
bG9yUHJvZmlsZXMgPSBvcmlnaW5hbENvbG9yUHJvZmlsZVVSTHMoKTsKKworICAgIGZvciAoTlNT
dHJpbmcgKlVVSURTdHJpbmcgaW4gZGlzcGxheVVVSURTdHJpbmdzKSB7CisgICAgICAgIE5TVVJM
ICpwcm9maWxlVVJMID0gW3VzZXJDb2xvclByb2ZpbGVzIG9iamVjdEZvcktleTpVVUlEU3RyaW5n
XTsKKyAgICAgICAgaWYgKCFwcm9maWxlVVJMKQorICAgICAgICAgICAgY29udGludWU7CisgICAg
ICAgIAorICAgICAgICBzZXREaXNwbGF5Q29sb3JQcm9maWxlKFVVSURTdHJpbmcsIHByb2ZpbGVV
UkwpOworICAgIH0KK30KKworc3RhdGljIHZvaWQgaW5zdGFsbExheW91dFRlc3RDb2xvclByb2Zp
bGUoKQoreworICAgIGlmICghaW5zdGFsbENvbG9yUHJvZmlsZSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgLy8gVG8gbWFrZSBzdXJlIHdlIGdldCBjb25zaXN0ZW50IGNvbG9ycyAobm90IGRlcGVu
ZGVudCBvbiB0aGUgY2hvc2VuIGNvbG9yCisgICAgLy8gc3BhY2Ugb2YgdGhlIGRpc3BsYXkpLCB3
ZSBmb3JjZSB0aGUgZ2VuZXJpYyBSR0IgY29sb3IgcHJvZmlsZSBvbiBhbGwgZGlzcGxheXMuCisg
ICAgLy8gVGhpcyBjYXVzZXMgYSBjaGFuZ2UgdGhlIHVzZXIgY2FuIHNlZS4KKworICAgIE5TQXJy
YXkgKmRpc3BsYXlzID0gZGlzcGxheVVVSURTdHJpbmdzKCk7CisgICAgc2F2ZURpc3BsYXlDb2xv
clByb2ZpbGVzKGRpc3BsYXlzKTsKIAogICAgIENvbG9yU3luY1Byb2ZpbGVSZWYgc1JHQlByb2Zp
bGUgPSBDb2xvclN5bmNQcm9maWxlQ3JlYXRlV2l0aE5hbWUoa0NvbG9yU3luY1NSR0JQcm9maWxl
KTsKICAgICBDRkVycm9yUmVmIGVycm9yOwogICAgIENGVVJMUmVmIHByb2ZpbGVVUkwgPSBDb2xv
clN5bmNQcm9maWxlR2V0VVJMKHNSR0JQcm9maWxlLCAmZXJyb3IpOwogICAgIGlmICghcHJvZmls
ZVVSTCkgewogICAgICAgICBOU0xvZyhAIkZhaWxlZCB0byBnZXQgVVJMIG9mIEdlbmVyaWMgUkdC
IGNvbG9yIHByb2ZpbGUhIE1hbnkgcGl4ZWwgdGVzdHMgbWF5IGZhaWwgYXMgYSByZXN1bHQuIEVy
cm9yOiAlQCIsIGVycm9yKTsKLSAgICAgICAgCi0gICAgICAgIGlmIChzVXNlckNvbG9yUHJvZmls
ZVVSTCkgewotICAgICAgICAgICAgQ0ZSZWxlYXNlKHNVc2VyQ29sb3JQcm9maWxlVVJMKTsKLSAg
ICAgICAgICAgIHNVc2VyQ29sb3JQcm9maWxlVVJMID0gMDsKLSAgICAgICAgfQotICAgICAgICAK
LSAgICAgICAgQ0ZSZWxlYXNlKHNSR0JQcm9maWxlKTsKLSAgICAgICAgQ0ZSZWxlYXNlKG1haW5E
aXNwbGF5SUQpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgICAgICAKLSAgICBDRk11dGFi
bGVEaWN0aW9uYXJ5UmVmIHByb2ZpbGVJbmZvID0gQ0ZEaWN0aW9uYXJ5Q3JlYXRlTXV0YWJsZShr
Q0ZBbGxvY2F0b3JEZWZhdWx0LCAwLCAma0NGVHlwZURpY3Rpb25hcnlLZXlDYWxsQmFja3MsICZr
Q0ZUeXBlRGljdGlvbmFyeVZhbHVlQ2FsbEJhY2tzKTsKLSAgICBDRkRpY3Rpb25hcnlTZXRWYWx1
ZShwcm9maWxlSW5mbywga0NvbG9yU3luY0RldmljZURlZmF1bHRQcm9maWxlSUQsIHByb2ZpbGVV
UkwpOwogICAgIAotICAgIGlmICghQ29sb3JTeW5jRGV2aWNlU2V0Q3VzdG9tUHJvZmlsZXMoa0Nv
bG9yU3luY0Rpc3BsYXlEZXZpY2VDbGFzcywgbWFpbkRpc3BsYXlJRCwgcHJvZmlsZUluZm8pKSB7
Ci0gICAgICAgIE5TTG9nKEAiRmFpbGVkIHRvIHNldCBjb2xvciBwcm9maWxlIGZvciBtYWluIGRp
c3BsYXkhIE1hbnkgcGl4ZWwgdGVzdHMgbWF5IGZhaWwgYXMgYSByZXN1bHQuIik7Ci0gICAgICAg
IAotICAgICAgICBpZiAoc1VzZXJDb2xvclByb2ZpbGVVUkwpIHsKLSAgICAgICAgICAgIENGUmVs
ZWFzZShzVXNlckNvbG9yUHJvZmlsZVVSTCk7Ci0gICAgICAgICAgICBzVXNlckNvbG9yUHJvZmls
ZVVSTCA9IDA7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgQ0ZSZWxlYXNlKHByb2ZpbGVJ
bmZvKTsKLSAgICBDRlJlbGVhc2Uoc1JHQlByb2ZpbGUpOwotICAgIENGUmVsZWFzZShtYWluRGlz
cGxheUlEKTsKKyAgICBmb3IgKE5TU3RyaW5nICpkaXNwbGF5VVVJRFN0cmluZyBpbiBkaXNwbGF5
cykKKyAgICAgICAgc2V0RGlzcGxheUNvbG9yUHJvZmlsZShkaXNwbGF5VVVJRFN0cmluZywgKF9f
YnJpZGdlIE5TVVJMICopcHJvZmlsZVVSTCk7CiB9CiAKIHN0YXRpYyB2b2lkIHJlc3RvcmVVc2Vy
Q29sb3JQcm9maWxlKHZvaWQpCkBAIC0xMjIsMTUgKzE3Niw4IEBAIHN0YXRpYyB2b2lkIHJlc3Rv
cmVVc2VyQ29sb3JQcm9maWxlKHZvaWQpCiAgICAgLy8gVGhpcyBpcyB1c2VkIGFzIGEgc2lnbmFs
IGhhbmRsZXIsIGFuZCB0aHVzIHRoZSBjYWxscyBpbnRvIENvbG9yU3luYyBhcmUgdW5zYWZlLgog
ICAgIC8vIEJ1dCB3ZSBtaWdodCBhcyB3ZWxsIHRyeSB0byByZXN0b3JlIHRoZSB1c2VyJ3MgY29s
b3IgcHJvZmlsZSwgd2UncmUgZ29pbmcgZG93biBhbnl3YXkuLi4KICAgICAKLSAgICBpZiAoIXNV
c2VyQ29sb3JQcm9maWxlVVJMKQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgQ0ZVVUlEUmVm
IG1haW5EaXNwbGF5SUQgPSBDR0Rpc3BsYXlDcmVhdGVVVUlERnJvbURpc3BsYXlJRChDR01haW5E
aXNwbGF5SUQoKSk7Ci0gICAgQ0ZNdXRhYmxlRGljdGlvbmFyeVJlZiBwcm9maWxlSW5mbyA9IENG
RGljdGlvbmFyeUNyZWF0ZU11dGFibGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgMCwgJmtDRlR5cGVE
aWN0aW9uYXJ5S2V5Q2FsbEJhY2tzLCAma0NGVHlwZURpY3Rpb25hcnlWYWx1ZUNhbGxCYWNrcyk7
Ci0gICAgQ0ZEaWN0aW9uYXJ5U2V0VmFsdWUocHJvZmlsZUluZm8sIGtDb2xvclN5bmNEZXZpY2VE
ZWZhdWx0UHJvZmlsZUlELCBzVXNlckNvbG9yUHJvZmlsZVVSTCk7Ci0gICAgQ29sb3JTeW5jRGV2
aWNlU2V0Q3VzdG9tUHJvZmlsZXMoa0NvbG9yU3luY0Rpc3BsYXlEZXZpY2VDbGFzcywgbWFpbkRp
c3BsYXlJRCwgcHJvZmlsZUluZm8pOwotICAgIENGUmVsZWFzZShtYWluRGlzcGxheUlEKTsKLSAg
ICBDRlJlbGVhc2UocHJvZmlsZUluZm8pOworICAgIE5TQXJyYXkgKmRpc3BsYXlzID0gZGlzcGxh
eVVVSURTdHJpbmdzKCk7CisgICAgcmVzdG9yZURpc3BsYXlDb2xvclByb2ZpbGVzKGRpc3BsYXlz
KTsKIH0KIAogc3RhdGljIHZvaWQgc2ltcGxlU2lnbmFsSGFuZGxlcihpbnQgc2lnKQpAQCAtMTg4
LDggKzIzNSw2IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiAgICAgICAgIH0K
ICAgICB9CiAKLSAgICBOU0F1dG9yZWxlYXNlUG9vbCogcG9vbCA9IFtbTlNBdXRvcmVsZWFzZVBv
b2wgYWxsb2NdIGluaXRdOwotCiAgICAgLy8gSG9va3MgdGhlIHdheXMgd2UgbWlnaHQgZ2V0IHRv
bGQgdG8gY2xlYW4gdXAuLi4KICAgICBzaWduYWwoU0lHSU5ULCBzaW1wbGVTaWduYWxIYW5kbGVy
KTsKICAgICBzaWduYWwoU0lHSFVQLCBzaW1wbGVTaWduYWxIYW5kbGVyKTsKQEAgLTIxMCw3ICsy
NTUsNiBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQogICAgIC8vIFJlc3RvcmUg
dGhlIHByb2ZpbGUKICAgICByZXN0b3JlVXNlckNvbG9yUHJvZmlsZSgpOwogCi0gICAgW3Bvb2wg
cmVsZWFzZV07CiAgICAgcmV0dXJuIDA7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246052</attachid>
            <date>2015-02-04 14:30:53 -0800</date>
            <delta_ts>2015-02-04 14:34:22 -0800</delta_ts>
            <desc>No more ARC</desc>
            <filename>bug-141260-20150204143053.patch</filename>
            <type>text/plain</type>
            <size>10391</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc5NjMwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDg0ODRkMzM2ZDFhZGQ2MjhjZWIzOTUwN2EzY2UzZmIx
Zjk0MzAyMy4uMmI2MzhmZWY1YzMzOTYxNmJjZjg4YjVhOTYxOTBmNDM2YjQyOTM4YSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5
IEBACisyMDE1LTAyLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIExheW91dFRlc3RIZWxwZXIgc2hvdWxkIHNldCB0aGUgY29sb3IgcHJvZmlsZSBv
ZiBhbGwgZGlzcGxheXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0MTI2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAg
ICAgICAKKyAgICAgICAgV2ViS2l0VGVzdFJ1bm5lciBjYW4gKGVycm9uZW91c2x5KSBncmFiIHRo
ZSBjb2xvcnNwYWNlIG9mIHRoZSAibWFpbiIgc2NyZWVuLgorICAgICAgICB3aGljaCBpcyB0aGUg
c2NyZWVuIHdpdGggdGhlIGFjdGl2ZSB3aW5kb3cuIE1ha2UgdGhpbmdzIG1vcmUgcm9idXN0IGJ5
IGNoYW5naW5nCisgICAgICAgIHRoZSBjb2xvcnNwYWNlIG9mIGFsbCBkaXNwbGF5cywgbm90IGp1
c3QgdGhlIG1haW4gc2NyZWVuLCB3aGVuIHJ1bm5pbmcgbGF5b3V0IHRlc3RzLgorCisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvbWFjL0NvbmZpZ3VyYXRpb25zL0xheW91dFRlc3RIZWxwZXIueGNj
b25maWc6IEVuYWJsZSBBUkMKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVz
dEhlbHBlci5tOiAKKyAgICAgICAgKG9yaWdpbmFsQ29sb3JQcm9maWxlVVJMcyk6CisgICAgICAg
IChjb2xvclByb2ZpbGVVUkxGb3JEaXNwbGF5KToKKyAgICAgICAgKGRpc3BsYXlVVUlEU3RyaW5n
cyk6CisgICAgICAgIChzYXZlRGlzcGxheUNvbG9yUHJvZmlsZXMpOgorICAgICAgICAoc2V0RGlz
cGxheUNvbG9yUHJvZmlsZSk6CisgICAgICAgIChyZXN0b3JlRGlzcGxheUNvbG9yUHJvZmlsZXMp
OgorICAgICAgICAoaW5zdGFsbExheW91dFRlc3RDb2xvclByb2ZpbGUpOgorICAgICAgICAocmVz
dG9yZVVzZXJDb2xvclByb2ZpbGUpOgorICAgICAgICAobWFpbik6ICAgICAgICAKKyAgICAgICAg
U3RvcmUgZGlzcGxheSBjb2xvciBwcm9maWxlcyBieSBtYXAgb2YgVVVJRCBzdHJpbmdzIHRvIFVS
THMgKE5TVVVJRCBhbmQgQ0ZVVUlEIGFyZSBub3QKKyAgICAgICAgdG9sbC1mcmVlIGJyaWRnZWQs
IHNhZGx5KS4gVXNlIHRoZSBtYXAgdG8gcmVzdG9yZSBhbGwgcHJvZmlsZXMgb24gZXhpdC4KKyAg
ICAgICAgQ29udmVydCB0byB1c2UgbW9yZSBPYmotQyB0eXBlcy4KKwogMjAxNS0wMi0wNCAgRGFu
aWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgdGVzdC13ZWJraXRweSBm
YWlscyBvbiBNYWMgd2l0aG91dCBpcGhvbmVvcyBTREsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0SGVscGVyLm0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9t
YWMvTGF5b3V0VGVzdEhlbHBlci5tCmluZGV4IGJjOGFlYzg0ZGRmNGNkYTk4ZGIyNjQ0NDUwM2Y0
ZGIxMDliMGM1ZDkuLjY4MDJhMjAwZGVlYjVmNzBkN2NjZjc2ZmY4NDRmZTA3N2RkYjIzZTEgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0SGVscGVyLm0KKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RIZWxwZXIubQpAQCAtNDUsNzMg
KzQ1LDEyOSBAQAogCiBzdGF0aWMgaW50IGluc3RhbGxDb2xvclByb2ZpbGUgPSBmYWxzZTsKIAot
c3RhdGljIENGVVJMUmVmIHNVc2VyQ29sb3JQcm9maWxlVVJMOworc3RhdGljIE5TTXV0YWJsZURp
Y3Rpb25hcnkgKm9yaWdpbmFsQ29sb3JQcm9maWxlVVJMcygpCit7CisgICAgc3RhdGljIE5TTXV0
YWJsZURpY3Rpb25hcnkgKnNoYXJlZEluc3RhbmNlOworICAgIGlmICghc2hhcmVkSW5zdGFuY2Up
CisgICAgICAgIHNoYXJlZEluc3RhbmNlID0gW1tOU011dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBp
bml0XTsKKyAgICByZXR1cm4gc2hhcmVkSW5zdGFuY2U7Cit9CiAKLXN0YXRpYyB2b2lkIGluc3Rh
bGxMYXlvdXRUZXN0Q29sb3JQcm9maWxlKCkKK3N0YXRpYyBOU1VSTCAqY29sb3JQcm9maWxlVVJM
Rm9yRGlzcGxheShOU1N0cmluZyAqZGlzcGxheVVVSURTdHJpbmcpCiB7Ci0gICAgaWYgKCFpbnN0
YWxsQ29sb3JQcm9maWxlKQotICAgICAgICByZXR1cm47CisgICAgQ0ZVVUlEUmVmIHV1aWQgPSBD
RlVVSURDcmVhdGVGcm9tU3RyaW5nKGtDRkFsbG9jYXRvckRlZmF1bHQsIChDRlN0cmluZ1JlZilk
aXNwbGF5VVVJRFN0cmluZyk7CisgICAgQ0ZEaWN0aW9uYXJ5UmVmIGRldmljZUluZm8gPSBDb2xv
clN5bmNEZXZpY2VDb3B5RGV2aWNlSW5mbyhrQ29sb3JTeW5jRGlzcGxheURldmljZUNsYXNzLCB1
dWlkKTsKKyAgICBDRlJlbGVhc2UodXVpZCk7CisgICAgaWYgKCFkZXZpY2VJbmZvKSB7CisgICAg
ICAgIE5TTG9nKEAiTm8gZGlzcGxheSBhdHRhY2hlZCB0byBzeXN0ZW07IG5vdCBzZXR0aW5nIG1h
aW4gZGlzcGxheSdzIGNvbG9yIHByb2ZpbGUuIik7CisgICAgICAgIHJldHVybiBuaWw7CisgICAg
fQogCi0gICAgLy8gVG8gbWFrZSBzdXJlIHdlIGdldCBjb25zaXN0ZW50IGNvbG9ycyAobm90IGRl
cGVuZGVudCBvbiB0aGUgY2hvc2VuIGNvbG9yCi0gICAgLy8gc3BhY2Ugb2YgdGhlIG1haW4gZGlz
cGxheSksIHdlIGZvcmNlIHRoZSBnZW5lcmljIFJHQiBjb2xvciBwcm9maWxlLgotICAgIC8vIFRo
aXMgY2F1c2VzIGEgY2hhbmdlIHRoZSB1c2VyIGNhbiBzZWUuCisgICAgQ0ZVUkxSZWYgcHJvZmls
ZVVSTDsKKyAgICBDRkRpY3Rpb25hcnlSZWYgcHJvZmlsZUluZm8gPSAoQ0ZEaWN0aW9uYXJ5UmVm
KUNGRGljdGlvbmFyeUdldFZhbHVlKGRldmljZUluZm8sIGtDb2xvclN5bmNDdXN0b21Qcm9maWxl
cyk7CisgICAgaWYgKHByb2ZpbGVJbmZvKQorICAgICAgICBwcm9maWxlVVJMID0gKENGVVJMUmVm
KUNGRGljdGlvbmFyeUdldFZhbHVlKHByb2ZpbGVJbmZvLCBDRlNUUigiMSIpKTsKKyAgICBlbHNl
IHsKKyAgICAgICAgcHJvZmlsZUluZm8gPSAoQ0ZEaWN0aW9uYXJ5UmVmKUNGRGljdGlvbmFyeUdl
dFZhbHVlKGRldmljZUluZm8sIGtDb2xvclN5bmNGYWN0b3J5UHJvZmlsZXMpOworICAgICAgICBD
RkRpY3Rpb25hcnlSZWYgZmFjdG9yeVByb2ZpbGUgPSAoQ0ZEaWN0aW9uYXJ5UmVmKUNGRGljdGlv
bmFyeUdldFZhbHVlKHByb2ZpbGVJbmZvLCBDRlNUUigiMSIpKTsKKyAgICAgICAgcHJvZmlsZVVS
TCA9IChDRlVSTFJlZilDRkRpY3Rpb25hcnlHZXRWYWx1ZShmYWN0b3J5UHJvZmlsZSwga0NvbG9y
U3luY0RldmljZVByb2ZpbGVVUkwpOworICAgIH0KICAgICAKLSAgICBDRlVVSURSZWYgbWFpbkRp
c3BsYXlJRCA9IENHRGlzcGxheUNyZWF0ZVVVSURGcm9tRGlzcGxheUlEKENHTWFpbkRpc3BsYXlJ
RCgpKTsKICAgICAKLSAgICBpZiAoIXNVc2VyQ29sb3JQcm9maWxlVVJMKSB7Ci0gICAgICAgIENG
RGljdGlvbmFyeVJlZiBkZXZpY2VJbmZvID0gQ29sb3JTeW5jRGV2aWNlQ29weURldmljZUluZm8o
a0NvbG9yU3luY0Rpc3BsYXlEZXZpY2VDbGFzcywgbWFpbkRpc3BsYXlJRCk7CisgICAgTlNVUkwg
KnVybCA9IChOU1VSTCAqKUNGQXV0b3JlbGVhc2UoQ0ZSZXRhaW4ocHJvZmlsZVVSTCkpOworICAg
IENGUmVsZWFzZShkZXZpY2VJbmZvKTsKKyAgICByZXR1cm4gdXJsOworfQogCi0gICAgICAgIGlm
ICghZGV2aWNlSW5mbykgewotICAgICAgICAgICAgTlNMb2coQCJObyBkaXNwbGF5IGF0dGFjaGVk
IHRvIHN5c3RlbTsgbm90IHNldHRpbmcgbWFpbiBkaXNwbGF5J3MgY29sb3IgcHJvZmlsZS4iKTsK
LSAgICAgICAgICAgIENGUmVsZWFzZShtYWluRGlzcGxheUlEKTsKLSAgICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgfQorc3RhdGljIE5TQXJyYXkgKmRpc3BsYXlVVUlEU3RyaW5ncygpCit7Cisg
ICAgTlNNdXRhYmxlQXJyYXkgKnJlc3VsdCA9IFtOU011dGFibGVBcnJheSBhcnJheV07CiAKLSAg
ICAgICAgQ0ZEaWN0aW9uYXJ5UmVmIHByb2ZpbGVJbmZvID0gKENGRGljdGlvbmFyeVJlZilDRkRp
Y3Rpb25hcnlHZXRWYWx1ZShkZXZpY2VJbmZvLCBrQ29sb3JTeW5jQ3VzdG9tUHJvZmlsZXMpOwot
ICAgICAgICBpZiAocHJvZmlsZUluZm8pIHsKLSAgICAgICAgICAgIHNVc2VyQ29sb3JQcm9maWxl
VVJMID0gKENGVVJMUmVmKUNGRGljdGlvbmFyeUdldFZhbHVlKHByb2ZpbGVJbmZvLCBDRlNUUigi
MSIpKTsKLSAgICAgICAgICAgIENGUmV0YWluKHNVc2VyQ29sb3JQcm9maWxlVVJMKTsKLSAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHByb2ZpbGVJbmZvID0gKENGRGljdGlvbmFyeVJlZilD
RkRpY3Rpb25hcnlHZXRWYWx1ZShkZXZpY2VJbmZvLCBrQ29sb3JTeW5jRmFjdG9yeVByb2ZpbGVz
KTsKLSAgICAgICAgICAgIENGRGljdGlvbmFyeVJlZiBmYWN0b3J5UHJvZmlsZSA9IChDRkRpY3Rp
b25hcnlSZWYpQ0ZEaWN0aW9uYXJ5R2V0VmFsdWUocHJvZmlsZUluZm8sIENGU1RSKCIxIikpOwot
ICAgICAgICAgICAgc1VzZXJDb2xvclByb2ZpbGVVUkwgPSAoQ0ZVUkxSZWYpQ0ZEaWN0aW9uYXJ5
R2V0VmFsdWUoZmFjdG9yeVByb2ZpbGUsIGtDb2xvclN5bmNEZXZpY2VQcm9maWxlVVJMKTsKLSAg
ICAgICAgICAgIENGUmV0YWluKHNVc2VyQ29sb3JQcm9maWxlVVJMKTsKLSAgICAgICAgfQorICAg
IHN0YXRpYyBjb25zdCB1aW50MzJfdCBtYXhEaXNwbGF5Q291bnQgPSAxMDsKKyAgICBDR0RpcmVj
dERpc3BsYXlJRCBkaXNwbGF5SURzW21heERpc3BsYXlDb3VudF0gPSB7IDAgfTsKKyAgICB1aW50
MzJfdCBkaXNwbGF5Q291bnQgPSAwOworICAgIAorICAgIENHRXJyb3IgZXJyID0gQ0dHZXRBY3Rp
dmVEaXNwbGF5TGlzdChtYXhEaXNwbGF5Q291bnQsIGRpc3BsYXlJRHMsICZkaXNwbGF5Q291bnQp
OworICAgIGlmIChlcnIgIT0ga0NHRXJyb3JTdWNjZXNzKSB7CisgICAgICAgIE5TTG9nKEAiRXJy
b3IgJWQgZ2V0dGluZyBhY3RpdmUgZGlzcGxheSBsaXN0OyBub3Qgc2V0dGluZyBkaXNwbGF5IGNv
bG9yIHByb2ZpbGUuIiwgZXJyKTsKKyAgICAgICAgcmV0dXJuIG5pbDsKKyAgICB9CisKKyAgICBp
ZiAoIWRpc3BsYXlDb3VudCkgeworICAgICAgICBOU0xvZyhAIk5vIGRpc3BsYXkgYXR0YWNoZWQg
dG8gc3lzdGVtOyBub3Qgc2V0dGluZyBkaXNwbGF5IGNvbG9yIHByb2ZpbGUuIik7CisgICAgICAg
IHJldHVybiBuaWw7CisgICAgfQorCisgICAgZm9yICh1aW50MzJfdCBpID0gMDsgaSA8IGRpc3Bs
YXlDb3VudDsgKytpKSB7CisgICAgICAgIENGVVVJRFJlZiBkaXNwbGF5VVVJRFJlZiA9IENHRGlz
cGxheUNyZWF0ZVVVSURGcm9tRGlzcGxheUlEKGRpc3BsYXlJRHNbaV0pOworICAgICAgICBbcmVz
dWx0IGFkZE9iamVjdDooTlNTdHJpbmcgKilDRkJyaWRnaW5nUmVsZWFzZShDRlVVSURDcmVhdGVT
dHJpbmcoa0NGQWxsb2NhdG9yRGVmYXVsdCwgZGlzcGxheVVVSURSZWYpKV07CisgICAgICAgIENG
UmVsZWFzZShkaXNwbGF5VVVJRFJlZik7CisgICAgfQorICAgIAorICAgIHJldHVybiByZXN1bHQ7
Cit9CisKK3N0YXRpYyB2b2lkIHNhdmVEaXNwbGF5Q29sb3JQcm9maWxlcyhOU0FycmF5ICpkaXNw
bGF5VVVJRFN0cmluZ3MpCit7CisgICAgTlNNdXRhYmxlRGljdGlvbmFyeSAqdXNlckNvbG9yUHJv
ZmlsZXMgPSBvcmlnaW5hbENvbG9yUHJvZmlsZVVSTHMoKTsKKworICAgIGZvciAoTlNTdHJpbmcg
KlVVSURTdHJpbmcgaW4gZGlzcGxheVVVSURTdHJpbmdzKSB7CisgICAgICAgIGlmIChbdXNlckNv
bG9yUHJvZmlsZXMgb2JqZWN0Rm9yS2V5OlVVSURTdHJpbmddKQorICAgICAgICAgICAgY29udGlu
dWU7CisgICAgICAgIAorICAgICAgICBOU1VSTCAqY29sb3JQcm9maWxlVVJMID0gY29sb3JQcm9m
aWxlVVJMRm9yRGlzcGxheShVVUlEU3RyaW5nKTsKKyAgICAgICAgW3VzZXJDb2xvclByb2ZpbGVz
IHNldE9iamVjdDpjb2xvclByb2ZpbGVVUkwgZm9yS2V5OlVVSURTdHJpbmddOworICAgIH0KK30K
Kworc3RhdGljIHZvaWQgc2V0RGlzcGxheUNvbG9yUHJvZmlsZShOU1N0cmluZyAqZGlzcGxheVVV
SURTdHJpbmcsIE5TVVJMICpjb2xvclByb2ZpbGVVUkwpCit7CisgICAgTlNEaWN0aW9uYXJ5ICpw
cm9maWxlSW5mbyA9IEB7CisgICAgICAgIChOU1N0cmluZyAqKWtDb2xvclN5bmNEZXZpY2VEZWZh
dWx0UHJvZmlsZUlEIDogY29sb3JQcm9maWxlVVJMCisgICAgfTsKKworICAgIENGVVVJRFJlZiB1
dWlkID0gQ0ZVVUlEQ3JlYXRlRnJvbVN0cmluZyhrQ0ZBbGxvY2F0b3JEZWZhdWx0LCAoQ0ZTdHJp
bmdSZWYpZGlzcGxheVVVSURTdHJpbmcpOworICAgIEJPT0wgc3VjY2VzcyA9IENvbG9yU3luY0Rl
dmljZVNldEN1c3RvbVByb2ZpbGVzKGtDb2xvclN5bmNEaXNwbGF5RGV2aWNlQ2xhc3MsIHV1aWQs
IChDRkRpY3Rpb25hcnlSZWYpcHJvZmlsZUluZm8pOworICAgIGlmICghc3VjY2VzcykKKyAgICAg
ICAgTlNMb2coQCJGYWlsZWQgdG8gc2V0IGNvbG9yIHByb2ZpbGUgZm9yIGRpc3BsYXkgJUAhIE1h
bnkgcGl4ZWwgdGVzdHMgbWF5IGZhaWwgYXMgYSByZXN1bHQuIiwgZGlzcGxheVVVSURTdHJpbmcp
OworICAgIENGUmVsZWFzZSh1dWlkKTsKK30KKworc3RhdGljIHZvaWQgcmVzdG9yZURpc3BsYXlD
b2xvclByb2ZpbGVzKE5TQXJyYXkgKmRpc3BsYXlVVUlEU3RyaW5ncykKK3sKKyAgICBOU011dGFi
bGVEaWN0aW9uYXJ5KiB1c2VyQ29sb3JQcm9maWxlcyA9IG9yaWdpbmFsQ29sb3JQcm9maWxlVVJM
cygpOworCisgICAgZm9yIChOU1N0cmluZyAqVVVJRFN0cmluZyBpbiBkaXNwbGF5VVVJRFN0cmlu
Z3MpIHsKKyAgICAgICAgTlNVUkwgKnByb2ZpbGVVUkwgPSBbdXNlckNvbG9yUHJvZmlsZXMgb2Jq
ZWN0Rm9yS2V5OlVVSURTdHJpbmddOworICAgICAgICBpZiAoIXByb2ZpbGVVUkwpCisgICAgICAg
ICAgICBjb250aW51ZTsKICAgICAgICAgCi0gICAgICAgIENGUmVsZWFzZShkZXZpY2VJbmZvKTsK
KyAgICAgICAgc2V0RGlzcGxheUNvbG9yUHJvZmlsZShVVUlEU3RyaW5nLCBwcm9maWxlVVJMKTsK
ICAgICB9Cit9CisKK3N0YXRpYyB2b2lkIGluc3RhbGxMYXlvdXRUZXN0Q29sb3JQcm9maWxlKCkK
K3sKKyAgICBpZiAoIWluc3RhbGxDb2xvclByb2ZpbGUpCisgICAgICAgIHJldHVybjsKKworICAg
IC8vIFRvIG1ha2Ugc3VyZSB3ZSBnZXQgY29uc2lzdGVudCBjb2xvcnMgKG5vdCBkZXBlbmRlbnQg
b24gdGhlIGNob3NlbiBjb2xvcgorICAgIC8vIHNwYWNlIG9mIHRoZSBkaXNwbGF5KSwgd2UgZm9y
Y2UgdGhlIGdlbmVyaWMgc1JHQiBjb2xvciBwcm9maWxlIG9uIGFsbCBkaXNwbGF5cy4KKyAgICAv
LyBUaGlzIGNhdXNlcyBhIGNoYW5nZSB0aGUgdXNlciBjYW4gc2VlLgorCisgICAgTlNBcnJheSAq
ZGlzcGxheXMgPSBkaXNwbGF5VVVJRFN0cmluZ3MoKTsKKyAgICBzYXZlRGlzcGxheUNvbG9yUHJv
ZmlsZXMoZGlzcGxheXMpOwogCiAgICAgQ29sb3JTeW5jUHJvZmlsZVJlZiBzUkdCUHJvZmlsZSA9
IENvbG9yU3luY1Byb2ZpbGVDcmVhdGVXaXRoTmFtZShrQ29sb3JTeW5jU1JHQlByb2ZpbGUpOwog
ICAgIENGRXJyb3JSZWYgZXJyb3I7CiAgICAgQ0ZVUkxSZWYgcHJvZmlsZVVSTCA9IENvbG9yU3lu
Y1Byb2ZpbGVHZXRVUkwoc1JHQlByb2ZpbGUsICZlcnJvcik7CiAgICAgaWYgKCFwcm9maWxlVVJM
KSB7CiAgICAgICAgIE5TTG9nKEAiRmFpbGVkIHRvIGdldCBVUkwgb2YgR2VuZXJpYyBSR0IgY29s
b3IgcHJvZmlsZSEgTWFueSBwaXhlbCB0ZXN0cyBtYXkgZmFpbCBhcyBhIHJlc3VsdC4gRXJyb3I6
ICVAIiwgZXJyb3IpOwotICAgICAgICAKLSAgICAgICAgaWYgKHNVc2VyQ29sb3JQcm9maWxlVVJM
KSB7Ci0gICAgICAgICAgICBDRlJlbGVhc2Uoc1VzZXJDb2xvclByb2ZpbGVVUkwpOwotICAgICAg
ICAgICAgc1VzZXJDb2xvclByb2ZpbGVVUkwgPSAwOwotICAgICAgICB9Ci0gICAgICAgIAotICAg
ICAgICBDRlJlbGVhc2Uoc1JHQlByb2ZpbGUpOwotICAgICAgICBDRlJlbGVhc2UobWFpbkRpc3Bs
YXlJRCk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgICAgIAotICAgIENGTXV0YWJsZURp
Y3Rpb25hcnlSZWYgcHJvZmlsZUluZm8gPSBDRkRpY3Rpb25hcnlDcmVhdGVNdXRhYmxlKGtDRkFs
bG9jYXRvckRlZmF1bHQsIDAsICZrQ0ZUeXBlRGljdGlvbmFyeUtleUNhbGxCYWNrcywgJmtDRlR5
cGVEaWN0aW9uYXJ5VmFsdWVDYWxsQmFja3MpOwotICAgIENGRGljdGlvbmFyeVNldFZhbHVlKHBy
b2ZpbGVJbmZvLCBrQ29sb3JTeW5jRGV2aWNlRGVmYXVsdFByb2ZpbGVJRCwgcHJvZmlsZVVSTCk7
Ci0gICAgCi0gICAgaWYgKCFDb2xvclN5bmNEZXZpY2VTZXRDdXN0b21Qcm9maWxlcyhrQ29sb3JT
eW5jRGlzcGxheURldmljZUNsYXNzLCBtYWluRGlzcGxheUlELCBwcm9maWxlSW5mbykpIHsKLSAg
ICAgICAgTlNMb2coQCJGYWlsZWQgdG8gc2V0IGNvbG9yIHByb2ZpbGUgZm9yIG1haW4gZGlzcGxh
eSEgTWFueSBwaXhlbCB0ZXN0cyBtYXkgZmFpbCBhcyBhIHJlc3VsdC4iKTsKLSAgICAgICAgCi0g
ICAgICAgIGlmIChzVXNlckNvbG9yUHJvZmlsZVVSTCkgewotICAgICAgICAgICAgQ0ZSZWxlYXNl
KHNVc2VyQ29sb3JQcm9maWxlVVJMKTsKLSAgICAgICAgICAgIHNVc2VyQ29sb3JQcm9maWxlVVJM
ID0gMDsKLSAgICAgICAgfQotICAgIH0KICAgICAKLSAgICBDRlJlbGVhc2UocHJvZmlsZUluZm8p
OwotICAgIENGUmVsZWFzZShzUkdCUHJvZmlsZSk7Ci0gICAgQ0ZSZWxlYXNlKG1haW5EaXNwbGF5
SUQpOworICAgIGZvciAoTlNTdHJpbmcgKmRpc3BsYXlVVUlEU3RyaW5nIGluIGRpc3BsYXlzKQor
ICAgICAgICBzZXREaXNwbGF5Q29sb3JQcm9maWxlKGRpc3BsYXlVVUlEU3RyaW5nLCAoTlNVUkwg
Kilwcm9maWxlVVJMKTsKIH0KIAogc3RhdGljIHZvaWQgcmVzdG9yZVVzZXJDb2xvclByb2ZpbGUo
dm9pZCkKQEAgLTEyMiwxNSArMTc4LDggQEAgc3RhdGljIHZvaWQgcmVzdG9yZVVzZXJDb2xvclBy
b2ZpbGUodm9pZCkKICAgICAvLyBUaGlzIGlzIHVzZWQgYXMgYSBzaWduYWwgaGFuZGxlciwgYW5k
IHRodXMgdGhlIGNhbGxzIGludG8gQ29sb3JTeW5jIGFyZSB1bnNhZmUuCiAgICAgLy8gQnV0IHdl
IG1pZ2h0IGFzIHdlbGwgdHJ5IHRvIHJlc3RvcmUgdGhlIHVzZXIncyBjb2xvciBwcm9maWxlLCB3
ZSdyZSBnb2luZyBkb3duIGFueXdheS4uLgogICAgIAotICAgIGlmICghc1VzZXJDb2xvclByb2Zp
bGVVUkwpCi0gICAgICAgIHJldHVybjsKLSAgICAKLSAgICBDRlVVSURSZWYgbWFpbkRpc3BsYXlJ
RCA9IENHRGlzcGxheUNyZWF0ZVVVSURGcm9tRGlzcGxheUlEKENHTWFpbkRpc3BsYXlJRCgpKTsK
LSAgICBDRk11dGFibGVEaWN0aW9uYXJ5UmVmIHByb2ZpbGVJbmZvID0gQ0ZEaWN0aW9uYXJ5Q3Jl
YXRlTXV0YWJsZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCAwLCAma0NGVHlwZURpY3Rpb25hcnlLZXlD
YWxsQmFja3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZhbHVlQ2FsbEJhY2tzKTsKLSAgICBDRkRpY3Rp
b25hcnlTZXRWYWx1ZShwcm9maWxlSW5mbywga0NvbG9yU3luY0RldmljZURlZmF1bHRQcm9maWxl
SUQsIHNVc2VyQ29sb3JQcm9maWxlVVJMKTsKLSAgICBDb2xvclN5bmNEZXZpY2VTZXRDdXN0b21Q
cm9maWxlcyhrQ29sb3JTeW5jRGlzcGxheURldmljZUNsYXNzLCBtYWluRGlzcGxheUlELCBwcm9m
aWxlSW5mbyk7Ci0gICAgQ0ZSZWxlYXNlKG1haW5EaXNwbGF5SUQpOwotICAgIENGUmVsZWFzZShw
cm9maWxlSW5mbyk7CisgICAgTlNBcnJheSAqZGlzcGxheXMgPSBkaXNwbGF5VVVJRFN0cmluZ3Mo
KTsKKyAgICByZXN0b3JlRGlzcGxheUNvbG9yUHJvZmlsZXMoZGlzcGxheXMpOwogfQogCiBzdGF0
aWMgdm9pZCBzaW1wbGVTaWduYWxIYW5kbGVyKGludCBzaWcpCkBAIC0xODgsOCArMjM3LDYgQEAg
aW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAgICAgICAgfQogICAgIH0KIAotICAg
IE5TQXV0b3JlbGVhc2VQb29sKiBwb29sID0gW1tOU0F1dG9yZWxlYXNlUG9vbCBhbGxvY10gaW5p
dF07Ci0KICAgICAvLyBIb29rcyB0aGUgd2F5cyB3ZSBtaWdodCBnZXQgdG9sZCB0byBjbGVhbiB1
cC4uLgogICAgIHNpZ25hbChTSUdJTlQsIHNpbXBsZVNpZ25hbEhhbmRsZXIpOwogICAgIHNpZ25h
bChTSUdIVVAsIHNpbXBsZVNpZ25hbEhhbmRsZXIpOwpAQCAtMjEwLDcgKzI1Nyw2IEBAIGludCBt
YWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiAgICAgLy8gUmVzdG9yZSB0aGUgcHJvZmlsZQog
ICAgIHJlc3RvcmVVc2VyQ29sb3JQcm9maWxlKCk7CiAKLSAgICBbcG9vbCByZWxlYXNlXTsKICAg
ICByZXR1cm4gMDsKIH0KIAo=
</data>
<flag name="review"
          id="270993"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>