<?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>156087</bug_id>
          
          <creation_ts>2016-03-31 15:39:30 -0700</creation_ts>
          <short_desc>[JSC] CFA&apos;s valuesAtHead should be a list, not a map</short_desc>
          <delta_ts>2016-04-01 18:36:17 -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>WebKit 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="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1179626</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-03-31 15:39:30 -0700</bug_when>
    <thetext>[JSC] CFA&apos;s valuesAtHead should be a list, not a map</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179629</commentid>
    <comment_count>1</comment_count>
      <attachid>275343</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-03-31 15:41:55 -0700</bug_when>
    <thetext>Created attachment 275343
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179632</commentid>
    <comment_count>2</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-03-31 15:42:13 -0700</bug_when>
    <thetext>                                                  Conf#1                    Conf#2                                      
SunSpider:
   3d-cube                                    5.0124+-0.1095     ?      5.0495+-0.1649        ?
   3d-morph                                   5.2697+-0.0952     ?      5.3258+-0.1489        ? might be 1.0107x slower
   3d-raytrace                                5.6004+-0.0559     ?      5.6452+-0.0747        ?
   access-binary-trees                        2.1611+-0.0345     ?      2.2603+-0.1425        ? might be 1.0459x slower
   access-fannkuch                            5.9909+-0.1478     ?      5.9946+-0.1222        ?
   access-nbody                               2.5929+-0.0700            2.5786+-0.0741        
   access-nsieve                              3.2500+-0.0844     ?      3.2807+-0.0344        ?
   bitops-3bit-bits-in-byte                   1.1734+-0.0652            1.1367+-0.0111          might be 1.0323x faster
   bitops-bits-in-byte                        2.7953+-0.0645     ?      2.8072+-0.0750        ?
   bitops-bitwise-and                         2.0582+-0.0202     ?      2.0760+-0.0156        ?
   bitops-nsieve-bits                         3.1624+-0.0833            3.1225+-0.0143          might be 1.0128x faster
   controlflow-recursive                      2.3448+-0.0275     ?      2.3459+-0.0204        ?
   crypto-aes                                 4.0596+-0.0582     ?      4.0630+-0.0314        ?
   crypto-md5                                 2.4968+-0.0493     ?      2.5639+-0.0964        ? might be 1.0269x slower
   crypto-sha1                                2.3092+-0.0268     ?      2.3446+-0.0294        ? might be 1.0153x slower
   date-format-tofte                          6.6700+-0.2007     ?      6.7207+-0.3148        ?
   date-format-xparb                          4.8888+-0.0453     ?      4.8957+-0.0996        ?
   math-cordic                                2.8755+-0.0680            2.8470+-0.0354          might be 1.0100x faster
   math-partial-sums                          4.8273+-0.1244            4.8156+-0.1142        
   math-spectral-norm                         2.0146+-0.0121            2.0107+-0.0211        
   regexp-dna                                 6.2893+-0.0666     ?      6.3829+-0.2097        ? might be 1.0149x slower
   string-base64                              4.4897+-0.0622            4.4598+-0.0668        
   string-fasta                               5.9860+-0.1249     ?      6.0070+-0.1505        ?
   string-tagcloud                            8.2003+-0.1059     ?      8.2580+-0.1416        ?
   string-unpack-code                        19.7223+-0.6065           18.9724+-0.5338          might be 1.0395x faster
   string-validate-input                      4.3760+-0.0587     ?      4.5129+-0.1157        ? might be 1.0313x slower

   &lt;arithmetic&gt;                               4.6391+-0.0293            4.6337+-0.0290          might be 1.0012x faster

                                                  Conf#1                    Conf#2                                      
Octane:
   encrypt                                   0.16570+-0.00128          0.16392+-0.00077         might be 1.0109x faster
   decrypt                                   2.84671+-0.00361    ?     2.84968+-0.00424       ?
   deltablue                        x2       0.14134+-0.00145          0.13976+-0.00201         might be 1.0113x faster
   earley                                    0.28660+-0.00147          0.28592+-0.00127       
   boyer                                     5.00582+-0.06893    ?     5.01403+-0.04398       ?
   navier-stokes                    x2       5.00782+-0.00921          5.00033+-0.00779       
   raytrace                         x2       0.90237+-0.00319          0.89788+-0.00260       
   richards                         x2       0.08282+-0.00056    ?     0.08318+-0.00058       ?
   splay                            x2       0.35541+-0.00203          0.35212+-0.00271       
   regexp                           x2      18.88801+-0.17953         18.81963+-0.15750       
   pdfjs                            x2      39.45263+-0.35712         39.24387+-0.21780       
   mandreel                         x2      42.92651+-0.15591    ^    42.63580+-0.11702       ^ definitely 1.0068x faster
   gbemu                            x2      24.22296+-0.12918         24.16282+-0.09183       
   closure                                   0.55798+-0.00163          0.55783+-0.00170       
   jquery                                    7.23966+-0.02246          7.21009+-0.01784       
   box2d                            x2       9.28564+-0.04629    ?     9.29676+-0.05766       ?
   zlib                             x2     364.82151+-1.48672        364.29013+-4.55952       
   typescript                       x2     637.38728+-2.41539        636.77105+-3.40731       

   &lt;geometric&gt;                               5.18058+-0.00643    ^     5.16347+-0.00824       ^ definitely 1.0033x faster

                                                  Conf#1                    Conf#2                                      
Kraken:
   ai-astar                                   88.454+-0.513      ?      89.055+-1.202         ?
   audio-beat-detection                       42.457+-0.103             42.290+-0.086         
   audio-dft                                 100.360+-1.766             98.818+-0.891           might be 1.0156x faster
   audio-fft                                  33.039+-0.471             32.827+-0.044         
   audio-oscillator                           48.470+-0.141      ?      48.548+-0.355         ?
   imaging-darkroom                           60.220+-0.110      ?      60.281+-0.332         ?
   imaging-desaturate                         45.902+-1.206             45.296+-0.211           might be 1.0134x faster
   imaging-gaussian-blur                      61.880+-0.920             61.762+-1.189         
   json-parse-financial                       38.174+-0.293      ^      37.275+-0.255         ^ definitely 1.0241x faster
   json-stringify-tinderbox                   24.590+-0.683      ^      22.721+-0.625         ^ definitely 1.0822x faster
   stanford-crypto-aes                        40.209+-0.666             40.152+-0.663         
   stanford-crypto-ccm                        36.426+-1.295             35.396+-1.116           might be 1.0291x faster
   stanford-crypto-pbkdf2                    100.125+-0.498             99.911+-0.193         
   stanford-crypto-sha256-iterative           39.341+-0.639             39.175+-0.194         

   &lt;arithmetic&gt;                               54.260+-0.244             53.822+-0.214           might be 1.0081x faster

                                                  Conf#1                    Conf#2                                      
AsmBench:
   bigfib.cpp                               442.4133+-4.7837     ?    446.6549+-2.0427        ?
   cray.c                                   357.1573+-1.8432          356.9566+-2.2301        
   dry.c                                    447.4224+-33.0504    ?    463.2113+-40.5820       ? might be 1.0353x slower
   FloatMM.c                                731.9868+-1.8324     ?    733.0239+-1.8757        ?
   gcc-loops.cpp                           3719.1458+-12.1226        3713.4890+-3.4340        
   n-body.c                                 810.4151+-1.5719     ?    811.5347+-2.5391        ?
   Quicksort.c                              398.8821+-1.8514          398.2057+-1.3629        
   stepanov_container.cpp                  3326.1429+-14.8132        3307.3530+-14.7376       
   Towers.c                                 272.6502+-1.2299          272.1253+-0.5854        

   &lt;geometric&gt;                              726.0555+-5.1672     ?    728.7385+-6.4754        ? might be 1.0037x slower

                                                  Conf#1                    Conf#2                                      
Geomean of preferred means:
   &lt;scaled-result&gt;                           31.1929+-0.0960           31.1233+-0.0931          might be 1.0022x faster</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179635</commentid>
    <comment_count>3</comment_count>
      <attachid>275343</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-03-31 15:50:02 -0700</bug_when>
    <thetext>Comment on attachment 275343
Patch

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

r=me

&gt; Source/JavaScriptCore/ChangeLog:8
&gt; +        One more step toward moving to the Air-style of livness analysis:

typo: /livness/liveness/.

&gt; Source/JavaScriptCore/dfg/DFGNode.h:2354
&gt; +    T sortedMap = nodeValuePairList;
&gt; +    std::sort(sortedMap.begin(), sortedMap.end(), nodeValuePairComparator&lt;decltype(*sortedMap.begin())&gt;);

Why not call it sortedList instead of sortedMap?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179639</commentid>
    <comment_count>4</comment_count>
      <attachid>275345</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-03-31 15:51:53 -0700</bug_when>
    <thetext>Created attachment 275345
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179648</commentid>
    <comment_count>5</comment_count>
      <attachid>275348</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-03-31 16:06:17 -0700</bug_when>
    <thetext>Created attachment 275348
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179667</commentid>
    <comment_count>6</comment_count>
      <attachid>275353</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-03-31 16:31:58 -0700</bug_when>
    <thetext>Created attachment 275353
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179718</commentid>
    <comment_count>7</comment_count>
      <attachid>275353</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-31 18:48:31 -0700</bug_when>
    <thetext>Comment on attachment 275353
Patch

Clearing flags on attachment: 275353

Committed r198935: &lt;http://trac.webkit.org/changeset/198935&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179719</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-31 18:48:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179739</commentid>
    <comment_count>9</comment_count>
      <attachid>275353</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-03-31 20:47:26 -0700</bug_when>
    <thetext>Comment on attachment 275353
Patch

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

&gt; Source/JavaScriptCore/dfg/DFGInPlaceAbstractState.cpp:89
&gt; +    values.resize(0);

I think this can be shrink(0) and that might save one branch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1180002</commentid>
    <comment_count>10</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-04-01 18:36:17 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Comment on attachment 275353 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=275353&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGInPlaceAbstractState.cpp:89
&gt; &gt; +    values.resize(0);
&gt; 
&gt; I think this can be shrink(0) and that might save one branch.

If Clang really generates a branch here, we should file a bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275343</attachid>
            <date>2016-03-31 15:41:55 -0700</date>
            <delta_ts>2016-03-31 15:51:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156087-20160331154159.patch</filename>
            <type>text/plain</type>
            <size>6612</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk4OTExCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
MDk3MTc5OTUzMmY1OTcwZjBiM2E0ZDRiY2FlOTYxMWE3ZTE3N2RhLi41YzA2ZmI3NTBkZDJlMmM1
MDRlY2UzOTg3Nzc0ZTU5MWQyNmFlYzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAxNi0wMy0zMSAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KKworICAgICAgICBbSlNDXSBDRkEncyB2YWx1ZXNBdEhlYWQgc2hvdWxkIGJlIGEgbGlz
dCwgbm90IGEgbWFwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTYwODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBPbmUgbW9yZSBzdGVwIHRvd2FyZCBtb3ZpbmcgdG8gdGhlIEFpci1zdHlsZSBvZiBsaXZu
ZXNzIGFuYWx5c2lzOgorCisgICAgICAgIE1ha2UgREZHJ3MgdmFsdWVzQXRIZWFkIGEgbGlzdCBv
ZiBOb2RlKi1BYnN0cmFjdFZhbHVlLgorICAgICAgICBUaGlzIHBhdGNoIGFsb25lIGlzIGFscmVh
ZHkgYSBzcGVlZHVwIGJlY2F1c2Ugb3VyIG1hbnkgQ0ZBcworICAgICAgICBzcGVuZCBhbiB1bnJl
YXNvbmFibGUgYW1vdW50IG9mIHRpbWUgdXBkYXRpbmcgYXQgYmxvY2sgYm91bmRhcmllcy4KKwor
ICAgICAgICAqIGRmZy9ERkdCYXNpY0Jsb2NrLmg6CisgICAgICAgICogZGZnL0RGR0NGQVBoYXNl
LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpDRkFQaGFzZTo6cGVyZm9ybUJsb2NrQ0ZBKToKKyAg
ICAgICAgKiBkZmcvREZHR3JhcGguY3BwOgorICAgICAgICAoSlNDOjpERkc6OkdyYXBoOjpkdW1w
KToKKyAgICAgICAgKiBkZmcvREZHSW5QbGFjZUFic3RyYWN0U3RhdGUuY3BwOgorICAgICAgICAo
SlNDOjpERkc6OkluUGxhY2VBYnN0cmFjdFN0YXRlOjpiZWdpbkJhc2ljQmxvY2spOgorICAgICAg
ICAoSlNDOjpERkc6OnNldExpdmVWYWx1ZXMpOgorICAgICAgICAoSlNDOjpERkc6OkluUGxhY2VB
YnN0cmFjdFN0YXRlOjptZXJnZSk6CisgICAgICAgICogZGZnL0RGR05vZGUuaDoKKyAgICAgICAg
KEpTQzo6REZHOjpub2RlVmFsdWVQYWlyQ29tcGFyYXRvcik6CisgICAgICAgIChKU0M6OkRGRzo6
bm9kZVZhbHVlUGFpckxpc3REdW1wKToKKwogMjAxNi0wMy0zMSAgQmVuamFtaW4gUG91bGFpbiAg
PGJlbmphbWluQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW0pTQ11beDg2XSBBZGQgdGhlIGluZGV4
ZWQgZm9ybXMgb2YgZmxvYXRpbmcgcG9pbnQgYWRkaXRpb24gYW5kIG11bHRpcGxpY2F0aW9uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Jhc2ljQmxvY2suaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQmFzaWNCbG9jay5oCmluZGV4IGY2Y2UxOGQ3YzQ1
YWE1YWJlMDE5ZjM4MDFkYzAxYWU2Y2M2MjdhZWIuLjA0ZWRjZTgzMjhmMzc4ZDM4MTFkMjJkOTIx
NDkyMTFlMGM5YWVjOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
QmFzaWNCbG9jay5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQmFzaWNCbG9j
ay5oCkBAIC0yNDUsNyArMjQ1LDExIEBAIHN0cnVjdCBCYXNpY0Jsb2NrIDogUmVmQ291bnRlZDxC
YXNpY0Jsb2NrPiB7CiAgICAgICAgIGJvb2wgbGl2ZUF0VGFpbElzRGlydHkgeyBmYWxzZSB9Owog
ICAgICAgICBIYXNoU2V0PE5vZGUqPiBsaXZlQXRUYWlsOwogICAgICAgICBIYXNoU2V0PE5vZGUq
PiBsaXZlQXRIZWFkOwotICAgICAgICBIYXNoTWFwPE5vZGUqLCBBYnN0cmFjdFZhbHVlPiB2YWx1
ZXNBdEhlYWQ7CisgICAgICAgIHN0cnVjdCBOb2RlQWJzdHJhY3RWYWx1ZVBhaXIgeworICAgICAg
ICAgICAgTm9kZSogbm9kZTsKKyAgICAgICAgICAgIEFic3RyYWN0VmFsdWUgdmFsdWU7CisgICAg
ICAgIH07CisgICAgICAgIFZlY3RvcjxOb2RlQWJzdHJhY3RWYWx1ZVBhaXI+IHZhbHVlc0F0SGVh
ZDsKICAgICAgICAgSGFzaE1hcDxOb2RlKiwgQWJzdHJhY3RWYWx1ZT4gdmFsdWVzQXRUYWlsOwog
ICAgICAgICAKICAgICAgICAgU1NBRGF0YShCYXNpY0Jsb2NrKik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NGQVBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQ0ZBUGhhc2UuY3BwCmluZGV4IDEyODkzMDY3MzZkODAxMDI4MGYwYzI3Y2Vh
NDBmOWQ4MGIzMzI1ZmIuLmQ4YzE4YjE0OTVkNDNlYTlmOTUwMDNkMTMwYzYyNmY1ODkxMWRkOTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ0ZBUGhhc2UuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ0ZBUGhhc2UuY3BwCkBAIC0xNDgsNyAr
MTQ4LDcgQEAgcHJpdmF0ZToKICAgICAgICAgaWYgKG1fdmVyYm9zZSkgewogICAgICAgICAgICAg
ZGF0YUxvZygiICAgICAgaGVhZCB2YXJzOiAiLCBibG9jay0+dmFsdWVzQXRIZWFkLCAiXG4iKTsK
ICAgICAgICAgICAgIGlmIChtX2dyYXBoLm1fZm9ybSA9PSBTU0EpCi0gICAgICAgICAgICAgICAg
ZGF0YUxvZygiICAgICAgaGVhZCByZWdzOiAiLCBtYXBEdW1wKGJsb2NrLT5zc2EtPnZhbHVlc0F0
SGVhZCksICJcbiIpOworICAgICAgICAgICAgICAgIGRhdGFMb2coIiAgICAgIGhlYWQgcmVnczog
Iiwgbm9kZVZhbHVlUGFpckxpc3REdW1wKGJsb2NrLT5zc2EtPnZhbHVlc0F0SGVhZCksICJcbiIp
OwogICAgICAgICB9CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBibG9jay0+c2l6
ZSgpOyArK2kpIHsKICAgICAgICAgICAgIGlmIChtX3ZlcmJvc2UpIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdHcmFwaC5jcHAKaW5kZXggZDU2MWQ2YWFmOGFjOWEzMjdlYTE2YWYwZTg1MTVl
NmY5ODNkNTc2MC4uYTRlODczMzE0MzI4ODhkODhhNTA3NmYyNTBhZGI2NzJjOGNmZjRmYyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAKQEAgLTUxMiw3ICs1MTIsNyBAQCB2
b2lkIEdyYXBoOjpkdW1wKFByaW50U3RyZWFtJiBvdXQsIER1bXBDb250ZXh0KiBjb250ZXh0KQog
ICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoYmxvY2stPnNzYSk7CiAgICAgICAgICAgICBvdXQu
cHJpbnQoIiAgQXZhaWxhYmlsaXR5OiAiLCBibG9jay0+c3NhLT5hdmFpbGFiaWxpdHlBdEhlYWQs
ICJcbiIpOwogICAgICAgICAgICAgb3V0LnByaW50KCIgIExpdmU6ICIsIG5vZGVMaXN0RHVtcChi
bG9jay0+c3NhLT5saXZlQXRIZWFkKSwgIlxuIik7Ci0gICAgICAgICAgICBvdXQucHJpbnQoIiAg
VmFsdWVzOiAiLCBub2RlTWFwRHVtcChibG9jay0+c3NhLT52YWx1ZXNBdEhlYWQsIGNvbnRleHQp
LCAiXG4iKTsKKyAgICAgICAgICAgIG91dC5wcmludCgiICBWYWx1ZXM6ICIsIG5vZGVWYWx1ZVBh
aXJMaXN0RHVtcChibG9jay0+c3NhLT52YWx1ZXNBdEhlYWQsIGNvbnRleHQpLCAiXG4iKTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9IH0KICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBibG9jay0+c2l6ZSgpOyArK2kpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHSW5QbGFjZUFic3RyYWN0U3RhdGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdJblBsYWNlQWJzdHJhY3RTdGF0ZS5jcHAKaW5kZXggZTVkODhkMmQ1OWZjZWQ0
OGZkNzQwZTdiMjdjODZiZTI0M2Q2MTg4NS4uZjk3ZGU5MmRkOTMwZDZiNjc4NzA3ZWJmY2YwNmNh
YWE5ZGM2NTllOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdJblBs
YWNlQWJzdHJhY3RTdGF0ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdJ
blBsYWNlQWJzdHJhY3RTdGF0ZS5jcHAKQEAgLTYzLDcgKzYzLDcgQEAgdm9pZCBJblBsYWNlQWJz
dHJhY3RTdGF0ZTo6YmVnaW5CYXNpY0Jsb2NrKEJhc2ljQmxvY2sqIGJhc2ljQmxvY2spCiAgICAg
CiAgICAgaWYgKG1fZ3JhcGgubV9mb3JtID09IFNTQSkgewogICAgICAgICBmb3IgKGF1dG8mIGVu
dHJ5IDogYmFzaWNCbG9jay0+c3NhLT52YWx1ZXNBdEhlYWQpCi0gICAgICAgICAgICBmb3JOb2Rl
KGVudHJ5LmtleSkgPSBlbnRyeS52YWx1ZTsKKyAgICAgICAgICAgIGZvck5vZGUoZW50cnkubm9k
ZSkgPSBlbnRyeS52YWx1ZTsKICAgICB9CiAgICAgYmFzaWNCbG9jay0+Y2ZhU2hvdWxkUmV2aXNp
dCA9IGZhbHNlOwogICAgIGJhc2ljQmxvY2stPmNmYUhhc1Zpc2l0ZWQgPSB0cnVlOwpAQCAtODQs
NiArODQsMTQgQEAgc3RhdGljIHZvaWQgc2V0TGl2ZVZhbHVlcyhIYXNoTWFwPE5vZGUqLCBBYnN0
cmFjdFZhbHVlPiYgdmFsdWVzLCBIYXNoU2V0PE5vZGUqPiYKICAgICAgICAgdmFsdWVzLmFkZCgq
aXRlciwgQWJzdHJhY3RWYWx1ZSgpKTsKIH0KIAorc3RhdGljIHZvaWQgc2V0TGl2ZVZhbHVlcyhW
ZWN0b3I8QmFzaWNCbG9jazo6U1NBRGF0YTo6Tm9kZUFic3RyYWN0VmFsdWVQYWlyPiYgdmFsdWVz
LCBIYXNoU2V0PE5vZGUqPiYgbGl2ZSkKK3sKKyAgICB2YWx1ZXMucmVzaXplKDApOworICAgIHZh
bHVlcy5yZXNlcnZlQ2FwYWNpdHkobGl2ZS5zaXplKCkpOworICAgIGZvciAoTm9kZSogbm9kZSA6
IGxpdmUpCisgICAgICAgIHZhbHVlcy51bmNoZWNrZWRBcHBlbmQoQmFzaWNCbG9jazo6U1NBRGF0
YTo6Tm9kZUFic3RyYWN0VmFsdWVQYWlyOjpOb2RlQWJzdHJhY3RWYWx1ZVBhaXIgeyBub2RlLCBB
YnN0cmFjdFZhbHVlKCkgfSk7Cit9CisKIHZvaWQgSW5QbGFjZUFic3RyYWN0U3RhdGU6OmluaXRp
YWxpemUoKQogewogICAgIEJhc2ljQmxvY2sqIHJvb3QgPSBtX2dyYXBoLmJsb2NrKDApOwpAQCAt
MzAwLDcgKzMwOCw3IEBAIGJvb2wgSW5QbGFjZUFic3RyYWN0U3RhdGU6Om1lcmdlKEJhc2ljQmxv
Y2sqIGZyb20sIEJhc2ljQmxvY2sqIHRvKQogICAgICAgICAgICAgY2hhbmdlZCB8PSB0by0+dmFs
dWVzQXRIZWFkW2ldLm1lcmdlKGZyb20tPnZhbHVlc0F0VGFpbFtpXSk7CiAKICAgICAgICAgZm9y
IChhdXRvJiBlbnRyeSA6IHRvLT5zc2EtPnZhbHVlc0F0SGVhZCkgewotICAgICAgICAgICAgTm9k
ZSogbm9kZSA9IGVudHJ5LmtleTsKKyAgICAgICAgICAgIE5vZGUqIG5vZGUgPSBlbnRyeS5ub2Rl
OwogICAgICAgICAgICAgaWYgKHZlcmJvc2UpCiAgICAgICAgICAgICAgICAgZGF0YUxvZygiICAg
ICAgTWVyZ2luZyBmb3IgIiwgbm9kZSwgIjogZnJvbSAiLCBmcm9tLT5zc2EtPnZhbHVlc0F0VGFp
bC5maW5kKG5vZGUpLT52YWx1ZSwgIiB0byAiLCBlbnRyeS52YWx1ZSwgIlxuIik7CiAgICAgICAg
ICAgICBjaGFuZ2VkIHw9IGVudHJ5LnZhbHVlLm1lcmdlKApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R05vZGUuaAppbmRleCA5ZTg3OTczYmI3MGY2YTUyMDY4NmY3NTNkNjRiN2Y0ZDVmOTljMDY4Li42
NTFkNWU2NzRmNjAxNmYwYTM1OGNiNDY3M2FkMjQzMDhlNzk5NWEyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR05vZGUuaApAQCAtMjM0MSw2ICsyMzQxLDI1IEBAIENTdHJpbmcgbm9kZU1hcER1
bXAoY29uc3QgVCYgbm9kZU1hcCwgRHVtcENvbnRleHQqIGNvbnRleHQgPSAwKQogICAgIHJldHVy
biBvdXQudG9DU3RyaW5nKCk7CiB9CiAKK3RlbXBsYXRlPHR5cGVuYW1lIEl0ZXJhdG9yVHlwZT4K
K2lubGluZSBib29sIG5vZGVWYWx1ZVBhaXJDb21wYXJhdG9yKEl0ZXJhdG9yVHlwZSBhLCBJdGVy
YXRvclR5cGUgYikKK3sKKyAgICByZXR1cm4gbm9kZUNvbXBhcmF0b3IoYS5ub2RlLCBiLm5vZGUp
OworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorQ1N0cmluZyBub2RlVmFsdWVQYWlyTGlzdER1
bXAoY29uc3QgVCYgbm9kZVZhbHVlUGFpckxpc3QsIER1bXBDb250ZXh0KiBjb250ZXh0ID0gMCkK
K3sKKyAgICBUIHNvcnRlZE1hcCA9IG5vZGVWYWx1ZVBhaXJMaXN0OworICAgIHN0ZDo6c29ydChz
b3J0ZWRNYXAuYmVnaW4oKSwgc29ydGVkTWFwLmVuZCgpLCBub2RlVmFsdWVQYWlyQ29tcGFyYXRv
cjxkZWNsdHlwZSgqc29ydGVkTWFwLmJlZ2luKCkpPik7CisKKyAgICBTdHJpbmdQcmludFN0cmVh
bSBvdXQ7CisgICAgQ29tbWFQcmludGVyIGNvbW1hOworICAgIGZvciAoY29uc3QgYXV0byYgcGFp
ciA6IHNvcnRlZE1hcCkKKyAgICAgICAgb3V0LnByaW50KGNvbW1hLCBwYWlyLm5vZGUsICI9PiIs
IGluQ29udGV4dChwYWlyLnZhbHVlLCBjb250ZXh0KSk7CisgICAgcmV0dXJuIG91dC50b0NTdHJp
bmcoKTsKK30KKwogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkRGRwogCiBuYW1lc3BhY2UgV1RGIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275345</attachid>
            <date>2016-03-31 15:51:53 -0700</date>
            <delta_ts>2016-03-31 16:06:14 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-156087-20160331155157.patch</filename>
            <type>text/plain</type>
            <size>6612</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk4OTExCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
MDk3MTc5OTUzMmY1OTcwZjBiM2E0ZDRiY2FlOTYxMWE3ZTE3N2RhLi5iZmY0MTgwMTU3MzYwYzA3
NjRiN2Q2ZmI5MWJiNTIxOThiNDY4YzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAxNi0wMy0zMSAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KKworICAgICAgICBbSlNDXSBDRkEncyB2YWx1ZXNBdEhlYWQgc2hvdWxkIGJlIGEgbGlz
dCwgbm90IGEgbWFwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTYwODcKKworICAgICAgICBSZXZpZXdlZCBieSBNYXJrIExhbS4KKworICAgICAgICBP
bmUgbW9yZSBzdGVwIHRvd2FyZCBtb3ZpbmcgdG8gdGhlIEFpci1zdHlsZSBvZiBsaXZlbmVzcyBh
bmFseXNpczoKKworICAgICAgICBNYWtlIERGRydzIHZhbHVlc0F0SGVhZCBhIGxpc3Qgb2YgTm9k
ZSotQWJzdHJhY3RWYWx1ZS4KKyAgICAgICAgVGhpcyBwYXRjaCBhbG9uZSBpcyBhbHJlYWR5IGEg
c3BlZWR1cCBiZWNhdXNlIG91ciBtYW55IENGQXMKKyAgICAgICAgc3BlbmQgYW4gdW5yZWFzb25h
YmxlIGFtb3VudCBvZiB0aW1lIHVwZGF0aW5nIGF0IGJsb2NrIGJvdW5kYXJpZXMuCisKKyAgICAg
ICAgKiBkZmcvREZHQmFzaWNCbG9jay5oOgorICAgICAgICAqIGRmZy9ERkdDRkFQaGFzZS5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6Q0ZBUGhhc2U6OnBlcmZvcm1CbG9ja0NGQSk6CisgICAgICAg
ICogZGZnL0RGR0dyYXBoLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpHcmFwaDo6ZHVtcCk6Cisg
ICAgICAgICogZGZnL0RGR0luUGxhY2VBYnN0cmFjdFN0YXRlLmNwcDoKKyAgICAgICAgKEpTQzo6
REZHOjpJblBsYWNlQWJzdHJhY3RTdGF0ZTo6YmVnaW5CYXNpY0Jsb2NrKToKKyAgICAgICAgKEpT
Qzo6REZHOjpzZXRMaXZlVmFsdWVzKToKKyAgICAgICAgKEpTQzo6REZHOjpJblBsYWNlQWJzdHJh
Y3RTdGF0ZTo6bWVyZ2UpOgorICAgICAgICAqIGRmZy9ERkdOb2RlLmg6CisgICAgICAgIChKU0M6
OkRGRzo6bm9kZVZhbHVlUGFpckNvbXBhcmF0b3IpOgorICAgICAgICAoSlNDOjpERkc6Om5vZGVW
YWx1ZVBhaXJMaXN0RHVtcCk6CisKIDIwMTYtMDMtMzEgIEJlbmphbWluIFBvdWxhaW4gIDxiZW5q
YW1pbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFtKU0NdW3g4Nl0gQWRkIHRoZSBpbmRleGVkIGZv
cm1zIG9mIGZsb2F0aW5nIHBvaW50IGFkZGl0aW9uIGFuZCBtdWx0aXBsaWNhdGlvbgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCYXNpY0Jsb2NrLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0Jhc2ljQmxvY2suaAppbmRleCBmNmNlMThkN2M0NWFhNWFi
ZTAxOWYzODAxZGMwMWFlNmNjNjI3YWViLi4wNGVkY2U4MzI4ZjM3OGQzODExZDIyZDkyMTQ5MjEx
ZTBjOWFlYzkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Jhc2lj
QmxvY2suaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Jhc2ljQmxvY2suaApA
QCAtMjQ1LDcgKzI0NSwxMSBAQCBzdHJ1Y3QgQmFzaWNCbG9jayA6IFJlZkNvdW50ZWQ8QmFzaWNC
bG9jaz4gewogICAgICAgICBib29sIGxpdmVBdFRhaWxJc0RpcnR5IHsgZmFsc2UgfTsKICAgICAg
ICAgSGFzaFNldDxOb2RlKj4gbGl2ZUF0VGFpbDsKICAgICAgICAgSGFzaFNldDxOb2RlKj4gbGl2
ZUF0SGVhZDsKLSAgICAgICAgSGFzaE1hcDxOb2RlKiwgQWJzdHJhY3RWYWx1ZT4gdmFsdWVzQXRI
ZWFkOworICAgICAgICBzdHJ1Y3QgTm9kZUFic3RyYWN0VmFsdWVQYWlyIHsKKyAgICAgICAgICAg
IE5vZGUqIG5vZGU7CisgICAgICAgICAgICBBYnN0cmFjdFZhbHVlIHZhbHVlOworICAgICAgICB9
OworICAgICAgICBWZWN0b3I8Tm9kZUFic3RyYWN0VmFsdWVQYWlyPiB2YWx1ZXNBdEhlYWQ7CiAg
ICAgICAgIEhhc2hNYXA8Tm9kZSosIEFic3RyYWN0VmFsdWU+IHZhbHVlc0F0VGFpbDsKICAgICAg
ICAgCiAgICAgICAgIFNTQURhdGEoQmFzaWNCbG9jayopOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdDRkFQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0NGQVBoYXNlLmNwcAppbmRleCAxMjg5MzA2NzM2ZDgwMTAyODBmMGMyN2NlYTQwZjlk
ODBiMzMyNWZiLi5kOGMxOGIxNDk1ZDQzZWE5Zjk1MDAzZDEzMGM2MjZmNTg5MTFkZDkwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NGQVBoYXNlLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NGQVBoYXNlLmNwcApAQCAtMTQ4LDcgKzE0OCw3
IEBAIHByaXZhdGU6CiAgICAgICAgIGlmIChtX3ZlcmJvc2UpIHsKICAgICAgICAgICAgIGRhdGFM
b2coIiAgICAgIGhlYWQgdmFyczogIiwgYmxvY2stPnZhbHVlc0F0SGVhZCwgIlxuIik7CiAgICAg
ICAgICAgICBpZiAobV9ncmFwaC5tX2Zvcm0gPT0gU1NBKQotICAgICAgICAgICAgICAgIGRhdGFM
b2coIiAgICAgIGhlYWQgcmVnczogIiwgbWFwRHVtcChibG9jay0+c3NhLT52YWx1ZXNBdEhlYWQp
LCAiXG4iKTsKKyAgICAgICAgICAgICAgICBkYXRhTG9nKCIgICAgICBoZWFkIHJlZ3M6ICIsIG5v
ZGVWYWx1ZVBhaXJMaXN0RHVtcChibG9jay0+c3NhLT52YWx1ZXNBdEhlYWQpLCAiXG4iKTsKICAg
ICAgICAgfQogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgYmxvY2stPnNpemUoKTsg
KytpKSB7CiAgICAgICAgICAgICBpZiAobV92ZXJib3NlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHR3JhcGguY3BwCmluZGV4IGQ1NjFkNmFhZjhhYzlhMzI3ZWExNmFmMGU4NTE1ZTZmOTgz
ZDU3NjAuLmE0ZTg3MzMxNDMyODg4ZDg4YTUwNzZmMjUwYWRiNjcyYzhjZmY0ZmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCkBAIC01MTIsNyArNTEyLDcgQEAgdm9pZCBH
cmFwaDo6ZHVtcChQcmludFN0cmVhbSYgb3V0LCBEdW1wQ29udGV4dCogY29udGV4dCkKICAgICAg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKGJsb2NrLT5zc2EpOwogICAgICAgICAgICAgb3V0LnByaW50
KCIgIEF2YWlsYWJpbGl0eTogIiwgYmxvY2stPnNzYS0+YXZhaWxhYmlsaXR5QXRIZWFkLCAiXG4i
KTsKICAgICAgICAgICAgIG91dC5wcmludCgiICBMaXZlOiAiLCBub2RlTGlzdER1bXAoYmxvY2st
PnNzYS0+bGl2ZUF0SGVhZCksICJcbiIpOwotICAgICAgICAgICAgb3V0LnByaW50KCIgIFZhbHVl
czogIiwgbm9kZU1hcER1bXAoYmxvY2stPnNzYS0+dmFsdWVzQXRIZWFkLCBjb250ZXh0KSwgIlxu
Iik7CisgICAgICAgICAgICBvdXQucHJpbnQoIiAgVmFsdWVzOiAiLCBub2RlVmFsdWVQYWlyTGlz
dER1bXAoYmxvY2stPnNzYS0+dmFsdWVzQXRIZWFkLCBjb250ZXh0KSwgIlxuIik7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfSB9CiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
YmxvY2stPnNpemUoKTsgKytpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0luUGxhY2VBYnN0cmFjdFN0YXRlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHSW5QbGFjZUFic3RyYWN0U3RhdGUuY3BwCmluZGV4IGU1ZDg4ZDJkNTlmY2VkNDhmZDc0
MGU3YjI3Yzg2YmUyNDNkNjE4ODUuLmY5N2RlOTJkZDkzMGQ2YjY3ODcwN2ViZmNmMDZjYWFhOWRj
NjU5ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSW5QbGFjZUFi
c3RyYWN0U3RhdGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSW5QbGFj
ZUFic3RyYWN0U3RhdGUuY3BwCkBAIC02Myw3ICs2Myw3IEBAIHZvaWQgSW5QbGFjZUFic3RyYWN0
U3RhdGU6OmJlZ2luQmFzaWNCbG9jayhCYXNpY0Jsb2NrKiBiYXNpY0Jsb2NrKQogICAgIAogICAg
IGlmIChtX2dyYXBoLm1fZm9ybSA9PSBTU0EpIHsKICAgICAgICAgZm9yIChhdXRvJiBlbnRyeSA6
IGJhc2ljQmxvY2stPnNzYS0+dmFsdWVzQXRIZWFkKQotICAgICAgICAgICAgZm9yTm9kZShlbnRy
eS5rZXkpID0gZW50cnkudmFsdWU7CisgICAgICAgICAgICBmb3JOb2RlKGVudHJ5Lm5vZGUpID0g
ZW50cnkudmFsdWU7CiAgICAgfQogICAgIGJhc2ljQmxvY2stPmNmYVNob3VsZFJldmlzaXQgPSBm
YWxzZTsKICAgICBiYXNpY0Jsb2NrLT5jZmFIYXNWaXNpdGVkID0gdHJ1ZTsKQEAgLTg0LDYgKzg0
LDE0IEBAIHN0YXRpYyB2b2lkIHNldExpdmVWYWx1ZXMoSGFzaE1hcDxOb2RlKiwgQWJzdHJhY3RW
YWx1ZT4mIHZhbHVlcywgSGFzaFNldDxOb2RlKj4mCiAgICAgICAgIHZhbHVlcy5hZGQoKml0ZXIs
IEFic3RyYWN0VmFsdWUoKSk7CiB9CiAKK3N0YXRpYyB2b2lkIHNldExpdmVWYWx1ZXMoVmVjdG9y
PEJhc2ljQmxvY2s6OlNTQURhdGE6Ok5vZGVBYnN0cmFjdFZhbHVlUGFpcj4mIHZhbHVlcywgSGFz
aFNldDxOb2RlKj4mIGxpdmUpCit7CisgICAgdmFsdWVzLnJlc2l6ZSgwKTsKKyAgICB2YWx1ZXMu
cmVzZXJ2ZUNhcGFjaXR5KGxpdmUuc2l6ZSgpKTsKKyAgICBmb3IgKE5vZGUqIG5vZGUgOiBsaXZl
KQorICAgICAgICB2YWx1ZXMudW5jaGVja2VkQXBwZW5kKEJhc2ljQmxvY2s6OlNTQURhdGE6Ok5v
ZGVBYnN0cmFjdFZhbHVlUGFpcjo6Tm9kZUFic3RyYWN0VmFsdWVQYWlyIHsgbm9kZSwgQWJzdHJh
Y3RWYWx1ZSgpIH0pOworfQorCiB2b2lkIEluUGxhY2VBYnN0cmFjdFN0YXRlOjppbml0aWFsaXpl
KCkKIHsKICAgICBCYXNpY0Jsb2NrKiByb290ID0gbV9ncmFwaC5ibG9jaygwKTsKQEAgLTMwMCw3
ICszMDgsNyBAQCBib29sIEluUGxhY2VBYnN0cmFjdFN0YXRlOjptZXJnZShCYXNpY0Jsb2NrKiBm
cm9tLCBCYXNpY0Jsb2NrKiB0bykKICAgICAgICAgICAgIGNoYW5nZWQgfD0gdG8tPnZhbHVlc0F0
SGVhZFtpXS5tZXJnZShmcm9tLT52YWx1ZXNBdFRhaWxbaV0pOwogCiAgICAgICAgIGZvciAoYXV0
byYgZW50cnkgOiB0by0+c3NhLT52YWx1ZXNBdEhlYWQpIHsKLSAgICAgICAgICAgIE5vZGUqIG5v
ZGUgPSBlbnRyeS5rZXk7CisgICAgICAgICAgICBOb2RlKiBub2RlID0gZW50cnkubm9kZTsKICAg
ICAgICAgICAgIGlmICh2ZXJib3NlKQogICAgICAgICAgICAgICAgIGRhdGFMb2coIiAgICAgIE1l
cmdpbmcgZm9yICIsIG5vZGUsICI6IGZyb20gIiwgZnJvbS0+c3NhLT52YWx1ZXNBdFRhaWwuZmlu
ZChub2RlKS0+dmFsdWUsICIgdG8gIiwgZW50cnkudmFsdWUsICJcbiIpOwogICAgICAgICAgICAg
Y2hhbmdlZCB8PSBlbnRyeS52YWx1ZS5tZXJnZSgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHTm9kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2Rl
LmgKaW5kZXggOWU4Nzk3M2JiNzBmNmE1MjA2ODZmNzUzZDY0YjdmNGQ1Zjk5YzA2OC4uNWIxMjBk
MWFmMzExMTdhNjFlZDJhZmM5M2M3MTBmMWFjY2U2OTdjMiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdOb2RlLmgKQEAgLTIzNDEsNiArMjM0MSwyNSBAQCBDU3RyaW5nIG5vZGVNYXBEdW1wKGNv
bnN0IFQmIG5vZGVNYXAsIER1bXBDb250ZXh0KiBjb250ZXh0ID0gMCkKICAgICByZXR1cm4gb3V0
LnRvQ1N0cmluZygpOwogfQogCit0ZW1wbGF0ZTx0eXBlbmFtZSBJdGVyYXRvclR5cGU+Citpbmxp
bmUgYm9vbCBub2RlVmFsdWVQYWlyQ29tcGFyYXRvcihJdGVyYXRvclR5cGUgYSwgSXRlcmF0b3JU
eXBlIGIpCit7CisgICAgcmV0dXJuIG5vZGVDb21wYXJhdG9yKGEubm9kZSwgYi5ub2RlKTsKK30K
KwordGVtcGxhdGU8dHlwZW5hbWUgVD4KK0NTdHJpbmcgbm9kZVZhbHVlUGFpckxpc3REdW1wKGNv
bnN0IFQmIG5vZGVWYWx1ZVBhaXJMaXN0LCBEdW1wQ29udGV4dCogY29udGV4dCA9IDApCit7Cisg
ICAgVCBzb3J0ZWRMaXN0ID0gbm9kZVZhbHVlUGFpckxpc3Q7CisgICAgc3RkOjpzb3J0KHNvcnRl
ZExpc3QuYmVnaW4oKSwgc29ydGVkTGlzdC5lbmQoKSwgbm9kZVZhbHVlUGFpckNvbXBhcmF0b3I8
ZGVjbHR5cGUoKnNvcnRlZExpc3QuYmVnaW4oKSk+KTsKKworICAgIFN0cmluZ1ByaW50U3RyZWFt
IG91dDsKKyAgICBDb21tYVByaW50ZXIgY29tbWE7CisgICAgZm9yIChjb25zdCBhdXRvJiBwYWly
IDogc29ydGVkTGlzdCkKKyAgICAgICAgb3V0LnByaW50KGNvbW1hLCBwYWlyLm5vZGUsICI9PiIs
IGluQ29udGV4dChwYWlyLnZhbHVlLCBjb250ZXh0KSk7CisgICAgcmV0dXJuIG91dC50b0NTdHJp
bmcoKTsKK30KKwogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkRGRwogCiBuYW1lc3BhY2UgV1RGIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275348</attachid>
            <date>2016-03-31 16:06:17 -0700</date>
            <delta_ts>2016-03-31 16:31:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156087-20160331160621.patch</filename>
            <type>text/plain</type>
            <size>6613</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk4OTExCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
MDk3MTc5OTUzMmY1OTcwZjBiM2E0ZDRiY2FlOTYxMWE3ZTE3N2RhLi5iZmY0MTgwMTU3MzYwYzA3
NjRiN2Q2ZmI5MWJiNTIxOThiNDY4YzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAxNi0wMy0zMSAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KKworICAgICAgICBbSlNDXSBDRkEncyB2YWx1ZXNBdEhlYWQgc2hvdWxkIGJlIGEgbGlz
dCwgbm90IGEgbWFwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTYwODcKKworICAgICAgICBSZXZpZXdlZCBieSBNYXJrIExhbS4KKworICAgICAgICBP
bmUgbW9yZSBzdGVwIHRvd2FyZCBtb3ZpbmcgdG8gdGhlIEFpci1zdHlsZSBvZiBsaXZlbmVzcyBh
bmFseXNpczoKKworICAgICAgICBNYWtlIERGRydzIHZhbHVlc0F0SGVhZCBhIGxpc3Qgb2YgTm9k
ZSotQWJzdHJhY3RWYWx1ZS4KKyAgICAgICAgVGhpcyBwYXRjaCBhbG9uZSBpcyBhbHJlYWR5IGEg
c3BlZWR1cCBiZWNhdXNlIG91ciBtYW55IENGQXMKKyAgICAgICAgc3BlbmQgYW4gdW5yZWFzb25h
YmxlIGFtb3VudCBvZiB0aW1lIHVwZGF0aW5nIGF0IGJsb2NrIGJvdW5kYXJpZXMuCisKKyAgICAg
ICAgKiBkZmcvREZHQmFzaWNCbG9jay5oOgorICAgICAgICAqIGRmZy9ERkdDRkFQaGFzZS5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6Q0ZBUGhhc2U6OnBlcmZvcm1CbG9ja0NGQSk6CisgICAgICAg
ICogZGZnL0RGR0dyYXBoLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpHcmFwaDo6ZHVtcCk6Cisg
ICAgICAgICogZGZnL0RGR0luUGxhY2VBYnN0cmFjdFN0YXRlLmNwcDoKKyAgICAgICAgKEpTQzo6
REZHOjpJblBsYWNlQWJzdHJhY3RTdGF0ZTo6YmVnaW5CYXNpY0Jsb2NrKToKKyAgICAgICAgKEpT
Qzo6REZHOjpzZXRMaXZlVmFsdWVzKToKKyAgICAgICAgKEpTQzo6REZHOjpJblBsYWNlQWJzdHJh
Y3RTdGF0ZTo6bWVyZ2UpOgorICAgICAgICAqIGRmZy9ERkdOb2RlLmg6CisgICAgICAgIChKU0M6
OkRGRzo6bm9kZVZhbHVlUGFpckNvbXBhcmF0b3IpOgorICAgICAgICAoSlNDOjpERkc6Om5vZGVW
YWx1ZVBhaXJMaXN0RHVtcCk6CisKIDIwMTYtMDMtMzEgIEJlbmphbWluIFBvdWxhaW4gIDxiZW5q
YW1pbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFtKU0NdW3g4Nl0gQWRkIHRoZSBpbmRleGVkIGZv
cm1zIG9mIGZsb2F0aW5nIHBvaW50IGFkZGl0aW9uIGFuZCBtdWx0aXBsaWNhdGlvbgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCYXNpY0Jsb2NrLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0Jhc2ljQmxvY2suaAppbmRleCBmNmNlMThkN2M0NWFhNWFi
ZTAxOWYzODAxZGMwMWFlNmNjNjI3YWViLi4wNGVkY2U4MzI4ZjM3OGQzODExZDIyZDkyMTQ5MjEx
ZTBjOWFlYzkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Jhc2lj
QmxvY2suaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Jhc2ljQmxvY2suaApA
QCAtMjQ1LDcgKzI0NSwxMSBAQCBzdHJ1Y3QgQmFzaWNCbG9jayA6IFJlZkNvdW50ZWQ8QmFzaWNC
bG9jaz4gewogICAgICAgICBib29sIGxpdmVBdFRhaWxJc0RpcnR5IHsgZmFsc2UgfTsKICAgICAg
ICAgSGFzaFNldDxOb2RlKj4gbGl2ZUF0VGFpbDsKICAgICAgICAgSGFzaFNldDxOb2RlKj4gbGl2
ZUF0SGVhZDsKLSAgICAgICAgSGFzaE1hcDxOb2RlKiwgQWJzdHJhY3RWYWx1ZT4gdmFsdWVzQXRI
ZWFkOworICAgICAgICBzdHJ1Y3QgTm9kZUFic3RyYWN0VmFsdWVQYWlyIHsKKyAgICAgICAgICAg
IE5vZGUqIG5vZGU7CisgICAgICAgICAgICBBYnN0cmFjdFZhbHVlIHZhbHVlOworICAgICAgICB9
OworICAgICAgICBWZWN0b3I8Tm9kZUFic3RyYWN0VmFsdWVQYWlyPiB2YWx1ZXNBdEhlYWQ7CiAg
ICAgICAgIEhhc2hNYXA8Tm9kZSosIEFic3RyYWN0VmFsdWU+IHZhbHVlc0F0VGFpbDsKICAgICAg
ICAgCiAgICAgICAgIFNTQURhdGEoQmFzaWNCbG9jayopOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdDRkFQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0NGQVBoYXNlLmNwcAppbmRleCAxMjg5MzA2NzM2ZDgwMTAyODBmMGMyN2NlYTQwZjlk
ODBiMzMyNWZiLi5kOGMxOGIxNDk1ZDQzZWE5Zjk1MDAzZDEzMGM2MjZmNTg5MTFkZDkwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NGQVBoYXNlLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NGQVBoYXNlLmNwcApAQCAtMTQ4LDcgKzE0OCw3
IEBAIHByaXZhdGU6CiAgICAgICAgIGlmIChtX3ZlcmJvc2UpIHsKICAgICAgICAgICAgIGRhdGFM
b2coIiAgICAgIGhlYWQgdmFyczogIiwgYmxvY2stPnZhbHVlc0F0SGVhZCwgIlxuIik7CiAgICAg
ICAgICAgICBpZiAobV9ncmFwaC5tX2Zvcm0gPT0gU1NBKQotICAgICAgICAgICAgICAgIGRhdGFM
b2coIiAgICAgIGhlYWQgcmVnczogIiwgbWFwRHVtcChibG9jay0+c3NhLT52YWx1ZXNBdEhlYWQp
LCAiXG4iKTsKKyAgICAgICAgICAgICAgICBkYXRhTG9nKCIgICAgICBoZWFkIHJlZ3M6ICIsIG5v
ZGVWYWx1ZVBhaXJMaXN0RHVtcChibG9jay0+c3NhLT52YWx1ZXNBdEhlYWQpLCAiXG4iKTsKICAg
ICAgICAgfQogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgYmxvY2stPnNpemUoKTsg
KytpKSB7CiAgICAgICAgICAgICBpZiAobV92ZXJib3NlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHR3JhcGguY3BwCmluZGV4IGQ1NjFkNmFhZjhhYzlhMzI3ZWExNmFmMGU4NTE1ZTZmOTgz
ZDU3NjAuLmE0ZTg3MzMxNDMyODg4ZDg4YTUwNzZmMjUwYWRiNjcyYzhjZmY0ZmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCkBAIC01MTIsNyArNTEyLDcgQEAgdm9pZCBH
cmFwaDo6ZHVtcChQcmludFN0cmVhbSYgb3V0LCBEdW1wQ29udGV4dCogY29udGV4dCkKICAgICAg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKGJsb2NrLT5zc2EpOwogICAgICAgICAgICAgb3V0LnByaW50
KCIgIEF2YWlsYWJpbGl0eTogIiwgYmxvY2stPnNzYS0+YXZhaWxhYmlsaXR5QXRIZWFkLCAiXG4i
KTsKICAgICAgICAgICAgIG91dC5wcmludCgiICBMaXZlOiAiLCBub2RlTGlzdER1bXAoYmxvY2st
PnNzYS0+bGl2ZUF0SGVhZCksICJcbiIpOwotICAgICAgICAgICAgb3V0LnByaW50KCIgIFZhbHVl
czogIiwgbm9kZU1hcER1bXAoYmxvY2stPnNzYS0+dmFsdWVzQXRIZWFkLCBjb250ZXh0KSwgIlxu
Iik7CisgICAgICAgICAgICBvdXQucHJpbnQoIiAgVmFsdWVzOiAiLCBub2RlVmFsdWVQYWlyTGlz
dER1bXAoYmxvY2stPnNzYS0+dmFsdWVzQXRIZWFkLCBjb250ZXh0KSwgIlxuIik7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfSB9CiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
YmxvY2stPnNpemUoKTsgKytpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0luUGxhY2VBYnN0cmFjdFN0YXRlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHSW5QbGFjZUFic3RyYWN0U3RhdGUuY3BwCmluZGV4IGU1ZDg4ZDJkNTlmY2VkNDhmZDc0
MGU3YjI3Yzg2YmUyNDNkNjE4ODUuLjdiYmI3YjBkZTRhNDg3NmY1MWQxZDk2MGZkNmFkYTI4MjA2
NjkwODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSW5QbGFjZUFi
c3RyYWN0U3RhdGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSW5QbGFj
ZUFic3RyYWN0U3RhdGUuY3BwCkBAIC02Myw3ICs2Myw3IEBAIHZvaWQgSW5QbGFjZUFic3RyYWN0
U3RhdGU6OmJlZ2luQmFzaWNCbG9jayhCYXNpY0Jsb2NrKiBiYXNpY0Jsb2NrKQogICAgIAogICAg
IGlmIChtX2dyYXBoLm1fZm9ybSA9PSBTU0EpIHsKICAgICAgICAgZm9yIChhdXRvJiBlbnRyeSA6
IGJhc2ljQmxvY2stPnNzYS0+dmFsdWVzQXRIZWFkKQotICAgICAgICAgICAgZm9yTm9kZShlbnRy
eS5rZXkpID0gZW50cnkudmFsdWU7CisgICAgICAgICAgICBmb3JOb2RlKGVudHJ5Lm5vZGUpID0g
ZW50cnkudmFsdWU7CiAgICAgfQogICAgIGJhc2ljQmxvY2stPmNmYVNob3VsZFJldmlzaXQgPSBm
YWxzZTsKICAgICBiYXNpY0Jsb2NrLT5jZmFIYXNWaXNpdGVkID0gdHJ1ZTsKQEAgLTg0LDYgKzg0
LDE0IEBAIHN0YXRpYyB2b2lkIHNldExpdmVWYWx1ZXMoSGFzaE1hcDxOb2RlKiwgQWJzdHJhY3RW
YWx1ZT4mIHZhbHVlcywgSGFzaFNldDxOb2RlKj4mCiAgICAgICAgIHZhbHVlcy5hZGQoKml0ZXIs
IEFic3RyYWN0VmFsdWUoKSk7CiB9CiAKK3N0YXRpYyB2b2lkIHNldExpdmVWYWx1ZXMoVmVjdG9y
PEJhc2ljQmxvY2s6OlNTQURhdGE6Ok5vZGVBYnN0cmFjdFZhbHVlUGFpcj4mIHZhbHVlcywgSGFz
aFNldDxOb2RlKj4mIGxpdmUpCit7CisgICAgdmFsdWVzLnJlc2l6ZSgwKTsKKyAgICB2YWx1ZXMu
cmVzZXJ2ZUNhcGFjaXR5KGxpdmUuc2l6ZSgpKTsKKyAgICBmb3IgKE5vZGUqIG5vZGUgOiBsaXZl
KQorICAgICAgICB2YWx1ZXMudW5jaGVja2VkQXBwZW5kKEJhc2ljQmxvY2s6OlNTQURhdGE6Ok5v
ZGVBYnN0cmFjdFZhbHVlUGFpcjo6Tm9kZUFic3RyYWN0VmFsdWVQYWlyKHsgbm9kZSwgQWJzdHJh
Y3RWYWx1ZSgpIH0pKTsKK30KKwogdm9pZCBJblBsYWNlQWJzdHJhY3RTdGF0ZTo6aW5pdGlhbGl6
ZSgpCiB7CiAgICAgQmFzaWNCbG9jayogcm9vdCA9IG1fZ3JhcGguYmxvY2soMCk7CkBAIC0zMDAs
NyArMzA4LDcgQEAgYm9vbCBJblBsYWNlQWJzdHJhY3RTdGF0ZTo6bWVyZ2UoQmFzaWNCbG9jayog
ZnJvbSwgQmFzaWNCbG9jayogdG8pCiAgICAgICAgICAgICBjaGFuZ2VkIHw9IHRvLT52YWx1ZXNB
dEhlYWRbaV0ubWVyZ2UoZnJvbS0+dmFsdWVzQXRUYWlsW2ldKTsKIAogICAgICAgICBmb3IgKGF1
dG8mIGVudHJ5IDogdG8tPnNzYS0+dmFsdWVzQXRIZWFkKSB7Ci0gICAgICAgICAgICBOb2RlKiBu
b2RlID0gZW50cnkua2V5OworICAgICAgICAgICAgTm9kZSogbm9kZSA9IGVudHJ5Lm5vZGU7CiAg
ICAgICAgICAgICBpZiAodmVyYm9zZSkKICAgICAgICAgICAgICAgICBkYXRhTG9nKCIgICAgICBN
ZXJnaW5nIGZvciAiLCBub2RlLCAiOiBmcm9tICIsIGZyb20tPnNzYS0+dmFsdWVzQXRUYWlsLmZp
bmQobm9kZSktPnZhbHVlLCAiIHRvICIsIGVudHJ5LnZhbHVlLCAiXG4iKTsKICAgICAgICAgICAg
IGNoYW5nZWQgfD0gZW50cnkudmFsdWUubWVyZ2UoCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR05vZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9k
ZS5oCmluZGV4IDllODc5NzNiYjcwZjZhNTIwNjg2Zjc1M2Q2NGI3ZjRkNWY5OWMwNjguLjViMTIw
ZDFhZjMxMTE3YTYxZWQyYWZjOTNjNzEwZjFhY2NlNjk3YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHTm9kZS5oCkBAIC0yMzQxLDYgKzIzNDEsMjUgQEAgQ1N0cmluZyBub2RlTWFwRHVtcChj
b25zdCBUJiBub2RlTWFwLCBEdW1wQ29udGV4dCogY29udGV4dCA9IDApCiAgICAgcmV0dXJuIG91
dC50b0NTdHJpbmcoKTsKIH0KIAordGVtcGxhdGU8dHlwZW5hbWUgSXRlcmF0b3JUeXBlPgoraW5s
aW5lIGJvb2wgbm9kZVZhbHVlUGFpckNvbXBhcmF0b3IoSXRlcmF0b3JUeXBlIGEsIEl0ZXJhdG9y
VHlwZSBiKQoreworICAgIHJldHVybiBub2RlQ29tcGFyYXRvcihhLm5vZGUsIGIubm9kZSk7Cit9
CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+CitDU3RyaW5nIG5vZGVWYWx1ZVBhaXJMaXN0RHVtcChj
b25zdCBUJiBub2RlVmFsdWVQYWlyTGlzdCwgRHVtcENvbnRleHQqIGNvbnRleHQgPSAwKQorewor
ICAgIFQgc29ydGVkTGlzdCA9IG5vZGVWYWx1ZVBhaXJMaXN0OworICAgIHN0ZDo6c29ydChzb3J0
ZWRMaXN0LmJlZ2luKCksIHNvcnRlZExpc3QuZW5kKCksIG5vZGVWYWx1ZVBhaXJDb21wYXJhdG9y
PGRlY2x0eXBlKCpzb3J0ZWRMaXN0LmJlZ2luKCkpPik7CisKKyAgICBTdHJpbmdQcmludFN0cmVh
bSBvdXQ7CisgICAgQ29tbWFQcmludGVyIGNvbW1hOworICAgIGZvciAoY29uc3QgYXV0byYgcGFp
ciA6IHNvcnRlZExpc3QpCisgICAgICAgIG91dC5wcmludChjb21tYSwgcGFpci5ub2RlLCAiPT4i
LCBpbkNvbnRleHQocGFpci52YWx1ZSwgY29udGV4dCkpOworICAgIHJldHVybiBvdXQudG9DU3Ry
aW5nKCk7Cit9CisKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpERkcKIAogbmFtZXNwYWNlIFdURiB7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275353</attachid>
            <date>2016-03-31 16:31:58 -0700</date>
            <delta_ts>2016-03-31 18:48:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156087-20160331163202.patch</filename>
            <type>text/plain</type>
            <size>6589</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk4OTExCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
MDk3MTc5OTUzMmY1OTcwZjBiM2E0ZDRiY2FlOTYxMWE3ZTE3N2RhLi5iZmY0MTgwMTU3MzYwYzA3
NjRiN2Q2ZmI5MWJiNTIxOThiNDY4YzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAxNi0wMy0zMSAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KKworICAgICAgICBbSlNDXSBDRkEncyB2YWx1ZXNBdEhlYWQgc2hvdWxkIGJlIGEgbGlz
dCwgbm90IGEgbWFwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTYwODcKKworICAgICAgICBSZXZpZXdlZCBieSBNYXJrIExhbS4KKworICAgICAgICBP
bmUgbW9yZSBzdGVwIHRvd2FyZCBtb3ZpbmcgdG8gdGhlIEFpci1zdHlsZSBvZiBsaXZlbmVzcyBh
bmFseXNpczoKKworICAgICAgICBNYWtlIERGRydzIHZhbHVlc0F0SGVhZCBhIGxpc3Qgb2YgTm9k
ZSotQWJzdHJhY3RWYWx1ZS4KKyAgICAgICAgVGhpcyBwYXRjaCBhbG9uZSBpcyBhbHJlYWR5IGEg
c3BlZWR1cCBiZWNhdXNlIG91ciBtYW55IENGQXMKKyAgICAgICAgc3BlbmQgYW4gdW5yZWFzb25h
YmxlIGFtb3VudCBvZiB0aW1lIHVwZGF0aW5nIGF0IGJsb2NrIGJvdW5kYXJpZXMuCisKKyAgICAg
ICAgKiBkZmcvREZHQmFzaWNCbG9jay5oOgorICAgICAgICAqIGRmZy9ERkdDRkFQaGFzZS5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6Q0ZBUGhhc2U6OnBlcmZvcm1CbG9ja0NGQSk6CisgICAgICAg
ICogZGZnL0RGR0dyYXBoLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpHcmFwaDo6ZHVtcCk6Cisg
ICAgICAgICogZGZnL0RGR0luUGxhY2VBYnN0cmFjdFN0YXRlLmNwcDoKKyAgICAgICAgKEpTQzo6
REZHOjpJblBsYWNlQWJzdHJhY3RTdGF0ZTo6YmVnaW5CYXNpY0Jsb2NrKToKKyAgICAgICAgKEpT
Qzo6REZHOjpzZXRMaXZlVmFsdWVzKToKKyAgICAgICAgKEpTQzo6REZHOjpJblBsYWNlQWJzdHJh
Y3RTdGF0ZTo6bWVyZ2UpOgorICAgICAgICAqIGRmZy9ERkdOb2RlLmg6CisgICAgICAgIChKU0M6
OkRGRzo6bm9kZVZhbHVlUGFpckNvbXBhcmF0b3IpOgorICAgICAgICAoSlNDOjpERkc6Om5vZGVW
YWx1ZVBhaXJMaXN0RHVtcCk6CisKIDIwMTYtMDMtMzEgIEJlbmphbWluIFBvdWxhaW4gIDxiZW5q
YW1pbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFtKU0NdW3g4Nl0gQWRkIHRoZSBpbmRleGVkIGZv
cm1zIG9mIGZsb2F0aW5nIHBvaW50IGFkZGl0aW9uIGFuZCBtdWx0aXBsaWNhdGlvbgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCYXNpY0Jsb2NrLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0Jhc2ljQmxvY2suaAppbmRleCBmNmNlMThkN2M0NWFhNWFi
ZTAxOWYzODAxZGMwMWFlNmNjNjI3YWViLi4wNGVkY2U4MzI4ZjM3OGQzODExZDIyZDkyMTQ5MjEx
ZTBjOWFlYzkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Jhc2lj
QmxvY2suaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Jhc2ljQmxvY2suaApA
QCAtMjQ1LDcgKzI0NSwxMSBAQCBzdHJ1Y3QgQmFzaWNCbG9jayA6IFJlZkNvdW50ZWQ8QmFzaWNC
bG9jaz4gewogICAgICAgICBib29sIGxpdmVBdFRhaWxJc0RpcnR5IHsgZmFsc2UgfTsKICAgICAg
ICAgSGFzaFNldDxOb2RlKj4gbGl2ZUF0VGFpbDsKICAgICAgICAgSGFzaFNldDxOb2RlKj4gbGl2
ZUF0SGVhZDsKLSAgICAgICAgSGFzaE1hcDxOb2RlKiwgQWJzdHJhY3RWYWx1ZT4gdmFsdWVzQXRI
ZWFkOworICAgICAgICBzdHJ1Y3QgTm9kZUFic3RyYWN0VmFsdWVQYWlyIHsKKyAgICAgICAgICAg
IE5vZGUqIG5vZGU7CisgICAgICAgICAgICBBYnN0cmFjdFZhbHVlIHZhbHVlOworICAgICAgICB9
OworICAgICAgICBWZWN0b3I8Tm9kZUFic3RyYWN0VmFsdWVQYWlyPiB2YWx1ZXNBdEhlYWQ7CiAg
ICAgICAgIEhhc2hNYXA8Tm9kZSosIEFic3RyYWN0VmFsdWU+IHZhbHVlc0F0VGFpbDsKICAgICAg
ICAgCiAgICAgICAgIFNTQURhdGEoQmFzaWNCbG9jayopOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdDRkFQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0NGQVBoYXNlLmNwcAppbmRleCAxMjg5MzA2NzM2ZDgwMTAyODBmMGMyN2NlYTQwZjlk
ODBiMzMyNWZiLi5kOGMxOGIxNDk1ZDQzZWE5Zjk1MDAzZDEzMGM2MjZmNTg5MTFkZDkwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NGQVBoYXNlLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NGQVBoYXNlLmNwcApAQCAtMTQ4LDcgKzE0OCw3
IEBAIHByaXZhdGU6CiAgICAgICAgIGlmIChtX3ZlcmJvc2UpIHsKICAgICAgICAgICAgIGRhdGFM
b2coIiAgICAgIGhlYWQgdmFyczogIiwgYmxvY2stPnZhbHVlc0F0SGVhZCwgIlxuIik7CiAgICAg
ICAgICAgICBpZiAobV9ncmFwaC5tX2Zvcm0gPT0gU1NBKQotICAgICAgICAgICAgICAgIGRhdGFM
b2coIiAgICAgIGhlYWQgcmVnczogIiwgbWFwRHVtcChibG9jay0+c3NhLT52YWx1ZXNBdEhlYWQp
LCAiXG4iKTsKKyAgICAgICAgICAgICAgICBkYXRhTG9nKCIgICAgICBoZWFkIHJlZ3M6ICIsIG5v
ZGVWYWx1ZVBhaXJMaXN0RHVtcChibG9jay0+c3NhLT52YWx1ZXNBdEhlYWQpLCAiXG4iKTsKICAg
ICAgICAgfQogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgYmxvY2stPnNpemUoKTsg
KytpKSB7CiAgICAgICAgICAgICBpZiAobV92ZXJib3NlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHR3JhcGguY3BwCmluZGV4IGQ1NjFkNmFhZjhhYzlhMzI3ZWExNmFmMGU4NTE1ZTZmOTgz
ZDU3NjAuLmE0ZTg3MzMxNDMyODg4ZDg4YTUwNzZmMjUwYWRiNjcyYzhjZmY0ZmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCkBAIC01MTIsNyArNTEyLDcgQEAgdm9pZCBH
cmFwaDo6ZHVtcChQcmludFN0cmVhbSYgb3V0LCBEdW1wQ29udGV4dCogY29udGV4dCkKICAgICAg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKGJsb2NrLT5zc2EpOwogICAgICAgICAgICAgb3V0LnByaW50
KCIgIEF2YWlsYWJpbGl0eTogIiwgYmxvY2stPnNzYS0+YXZhaWxhYmlsaXR5QXRIZWFkLCAiXG4i
KTsKICAgICAgICAgICAgIG91dC5wcmludCgiICBMaXZlOiAiLCBub2RlTGlzdER1bXAoYmxvY2st
PnNzYS0+bGl2ZUF0SGVhZCksICJcbiIpOwotICAgICAgICAgICAgb3V0LnByaW50KCIgIFZhbHVl
czogIiwgbm9kZU1hcER1bXAoYmxvY2stPnNzYS0+dmFsdWVzQXRIZWFkLCBjb250ZXh0KSwgIlxu
Iik7CisgICAgICAgICAgICBvdXQucHJpbnQoIiAgVmFsdWVzOiAiLCBub2RlVmFsdWVQYWlyTGlz
dER1bXAoYmxvY2stPnNzYS0+dmFsdWVzQXRIZWFkLCBjb250ZXh0KSwgIlxuIik7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfSB9CiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
YmxvY2stPnNpemUoKTsgKytpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0luUGxhY2VBYnN0cmFjdFN0YXRlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHSW5QbGFjZUFic3RyYWN0U3RhdGUuY3BwCmluZGV4IGU1ZDg4ZDJkNTlmY2VkNDhmZDc0
MGU3YjI3Yzg2YmUyNDNkNjE4ODUuLmM0NDVlMzVlNzQ0OTY5MzQxNDg2MGY1ODZjY2E0MGViYTEw
YmFlOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSW5QbGFjZUFi
c3RyYWN0U3RhdGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSW5QbGFj
ZUFic3RyYWN0U3RhdGUuY3BwCkBAIC02Myw3ICs2Myw3IEBAIHZvaWQgSW5QbGFjZUFic3RyYWN0
U3RhdGU6OmJlZ2luQmFzaWNCbG9jayhCYXNpY0Jsb2NrKiBiYXNpY0Jsb2NrKQogICAgIAogICAg
IGlmIChtX2dyYXBoLm1fZm9ybSA9PSBTU0EpIHsKICAgICAgICAgZm9yIChhdXRvJiBlbnRyeSA6
IGJhc2ljQmxvY2stPnNzYS0+dmFsdWVzQXRIZWFkKQotICAgICAgICAgICAgZm9yTm9kZShlbnRy
eS5rZXkpID0gZW50cnkudmFsdWU7CisgICAgICAgICAgICBmb3JOb2RlKGVudHJ5Lm5vZGUpID0g
ZW50cnkudmFsdWU7CiAgICAgfQogICAgIGJhc2ljQmxvY2stPmNmYVNob3VsZFJldmlzaXQgPSBm
YWxzZTsKICAgICBiYXNpY0Jsb2NrLT5jZmFIYXNWaXNpdGVkID0gdHJ1ZTsKQEAgLTg0LDYgKzg0
LDE0IEBAIHN0YXRpYyB2b2lkIHNldExpdmVWYWx1ZXMoSGFzaE1hcDxOb2RlKiwgQWJzdHJhY3RW
YWx1ZT4mIHZhbHVlcywgSGFzaFNldDxOb2RlKj4mCiAgICAgICAgIHZhbHVlcy5hZGQoKml0ZXIs
IEFic3RyYWN0VmFsdWUoKSk7CiB9CiAKK3N0YXRpYyB2b2lkIHNldExpdmVWYWx1ZXMoVmVjdG9y
PEJhc2ljQmxvY2s6OlNTQURhdGE6Ok5vZGVBYnN0cmFjdFZhbHVlUGFpcj4mIHZhbHVlcywgSGFz
aFNldDxOb2RlKj4mIGxpdmUpCit7CisgICAgdmFsdWVzLnJlc2l6ZSgwKTsKKyAgICB2YWx1ZXMu
cmVzZXJ2ZUNhcGFjaXR5KGxpdmUuc2l6ZSgpKTsKKyAgICBmb3IgKE5vZGUqIG5vZGUgOiBsaXZl
KQorICAgICAgICB2YWx1ZXMudW5jaGVja2VkQXBwZW5kKEJhc2ljQmxvY2s6OlNTQURhdGE6Ok5v
ZGVBYnN0cmFjdFZhbHVlUGFpciB7IG5vZGUsIEFic3RyYWN0VmFsdWUoKSB9KTsKK30KKwogdm9p
ZCBJblBsYWNlQWJzdHJhY3RTdGF0ZTo6aW5pdGlhbGl6ZSgpCiB7CiAgICAgQmFzaWNCbG9jayog
cm9vdCA9IG1fZ3JhcGguYmxvY2soMCk7CkBAIC0zMDAsNyArMzA4LDcgQEAgYm9vbCBJblBsYWNl
QWJzdHJhY3RTdGF0ZTo6bWVyZ2UoQmFzaWNCbG9jayogZnJvbSwgQmFzaWNCbG9jayogdG8pCiAg
ICAgICAgICAgICBjaGFuZ2VkIHw9IHRvLT52YWx1ZXNBdEhlYWRbaV0ubWVyZ2UoZnJvbS0+dmFs
dWVzQXRUYWlsW2ldKTsKIAogICAgICAgICBmb3IgKGF1dG8mIGVudHJ5IDogdG8tPnNzYS0+dmFs
dWVzQXRIZWFkKSB7Ci0gICAgICAgICAgICBOb2RlKiBub2RlID0gZW50cnkua2V5OworICAgICAg
ICAgICAgTm9kZSogbm9kZSA9IGVudHJ5Lm5vZGU7CiAgICAgICAgICAgICBpZiAodmVyYm9zZSkK
ICAgICAgICAgICAgICAgICBkYXRhTG9nKCIgICAgICBNZXJnaW5nIGZvciAiLCBub2RlLCAiOiBm
cm9tICIsIGZyb20tPnNzYS0+dmFsdWVzQXRUYWlsLmZpbmQobm9kZSktPnZhbHVlLCAiIHRvICIs
IGVudHJ5LnZhbHVlLCAiXG4iKTsKICAgICAgICAgICAgIGNoYW5nZWQgfD0gZW50cnkudmFsdWUu
bWVyZ2UoCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCmluZGV4IDllODc5NzNiYjcwZjZh
NTIwNjg2Zjc1M2Q2NGI3ZjRkNWY5OWMwNjguLjViMTIwZDFhZjMxMTE3YTYxZWQyYWZjOTNjNzEw
ZjFhY2NlNjk3YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9k
ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCkBAIC0yMzQxLDYg
KzIzNDEsMjUgQEAgQ1N0cmluZyBub2RlTWFwRHVtcChjb25zdCBUJiBub2RlTWFwLCBEdW1wQ29u
dGV4dCogY29udGV4dCA9IDApCiAgICAgcmV0dXJuIG91dC50b0NTdHJpbmcoKTsKIH0KIAordGVt
cGxhdGU8dHlwZW5hbWUgSXRlcmF0b3JUeXBlPgoraW5saW5lIGJvb2wgbm9kZVZhbHVlUGFpckNv
bXBhcmF0b3IoSXRlcmF0b3JUeXBlIGEsIEl0ZXJhdG9yVHlwZSBiKQoreworICAgIHJldHVybiBu
b2RlQ29tcGFyYXRvcihhLm5vZGUsIGIubm9kZSk7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+
CitDU3RyaW5nIG5vZGVWYWx1ZVBhaXJMaXN0RHVtcChjb25zdCBUJiBub2RlVmFsdWVQYWlyTGlz
dCwgRHVtcENvbnRleHQqIGNvbnRleHQgPSAwKQoreworICAgIFQgc29ydGVkTGlzdCA9IG5vZGVW
YWx1ZVBhaXJMaXN0OworICAgIHN0ZDo6c29ydChzb3J0ZWRMaXN0LmJlZ2luKCksIHNvcnRlZExp
c3QuZW5kKCksIG5vZGVWYWx1ZVBhaXJDb21wYXJhdG9yPGRlY2x0eXBlKCpzb3J0ZWRMaXN0LmJl
Z2luKCkpPik7CisKKyAgICBTdHJpbmdQcmludFN0cmVhbSBvdXQ7CisgICAgQ29tbWFQcmludGVy
IGNvbW1hOworICAgIGZvciAoY29uc3QgYXV0byYgcGFpciA6IHNvcnRlZExpc3QpCisgICAgICAg
IG91dC5wcmludChjb21tYSwgcGFpci5ub2RlLCAiPT4iLCBpbkNvbnRleHQocGFpci52YWx1ZSwg
Y29udGV4dCkpOworICAgIHJldHVybiBvdXQudG9DU3RyaW5nKCk7Cit9CisKIH0gfSAvLyBuYW1l
c3BhY2UgSlNDOjpERkcKIAogbmFtZXNwYWNlIFdURiB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>