Changeset 3964f92 in sasmodels


Ignore:
Timestamp:
Feb 7, 2016 9:31:27 PM (8 years ago)
Author:
butler
Branches:
master, core_shell_microgels, costrafo411, magnetic_model, release_v0.94, release_v0.95, ticket-1257-vesicle-product, ticket_1156, ticket_1265_superball, ticket_822_more_unit_tests
Children:
216fa6d
Parents:
321736f
Message:

edit convert.py to prepare for binary_hard_sphere

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sasmodels/convert.py

    rd368d21 r3964f92  
     1""" 
     2Convert models to and from sasview. 
     3""" 
     4import warnings 
    15 
     6# List of models which SasView versions don't contain the explicit 'scale' argument. 
     7# When converting such a model, please update this list. 
     8MODELS_WITHOUT_SCALE = [ 
     9    'teubner_strey', 
     10    'broad_peak', 
     11    'two_lorentzian', 
     12    'gel_fit', 
     13    'gauss_lorentz_gel', 
     14    'be_polyelectrolyte', 
     15    'correlation_length', 
     16    'binary_hard_sphere' 
     17] 
    218 
     19# List of models which SasView versions don't contain the explicit 'background' argument. 
     20# When converting such a model, please update this list. 
     21MODELS_WITHOUT_BACKGROUND = [ 
     22    'guinier', 
     23] 
    324 
     25PD_DOT = [ 
     26    ("", ""), 
     27    ("_pd", ".width"), 
     28    ("_pd_n", ".npts"), 
     29    ("_pd_nsigma", ".nsigmas"), 
     30    ("_pd_type", ".type"), 
     31    ] 
     32def _convert_pars(pars, mapping): 
     33    """ 
     34    Rename the parameters and any associated polydispersity attributes. 
     35    """ 
     36    newpars = pars.copy() 
     37    for new, old in mapping.items(): 
     38        if old == new: continue 
     39        for pd, dot in PD_DOT: 
     40            if old+dot in newpars: 
     41                if new is not None: 
     42                    newpars[new+pd] = pars[old+dot] 
     43                del newpars[old+dot] 
     44    return newpars 
    445 
    5 <!DOCTYPE html> 
    6 <html lang="en" class=" is-copy-enabled is-u2f-enabled"> 
    7   <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# object: http://ogp.me/ns/object# article: http://ogp.me/ns/article# profile: http://ogp.me/ns/profile#"> 
    8     <meta charset='utf-8'> 
     46def _rescale_sld(pars): 
     47    """ 
     48    rescale all sld parameters in the new model definition by 1e6 so the 
     49    numbers are nicer.  Relies on the fact that all sld parameters in the 
     50    new model definition end with sld. 
     51    """ 
     52    return dict((p, (v*1e6 if p.endswith('sld') else v)) 
     53                for p, v in pars.items()) 
    954 
    10     <link crossorigin="anonymous" href="https://assets-cdn.github.com/assets/github-e3dd2ae433414e240167f740f90ff2599e28804648787933de7c0183fae81c29.css" integrity="sha256-490q5DNBTiQBZ/dA+Q/yWZ4ogEZIeHkz3nwBg/roHCk=" media="all" rel="stylesheet" /> 
    11     <link crossorigin="anonymous" href="https://assets-cdn.github.com/assets/github2-fd8d48abb9063f51f186b0da98caa88d32b7ca8baecaa10d8a91c18a6f129b7f.css" integrity="sha256-/Y1Iq7kGP1HxhrDamMqojTK3youuyqENipHBim8Sm38=" media="all" rel="stylesheet" /> 
    12      
    13      
    14      
     55def convert_model(name, pars): 
     56    """ 
     57    Convert model from old style parameter names to new style. 
     58    """ 
     59    _, _ = name, pars # lint 
     60    raise NotImplementedError 
     61    # need to load all new models in order to determine old=>new 
     62    # model name mapping 
    1563 
    16     <link as="script" href="https://assets-cdn.github.com/assets/frameworks-ee521b8e9facac68ff27e93fc3ae0f8ed811d7bf9e434e84f4b9ea227780b084.js" rel="preload" /> 
    17     <link as="script" href="https://assets-cdn.github.com/assets/github-696336964b7c42e4c6f4dfbaf1f8e57f425cd9a9d18a12f3fe6e3dd744fd7d13.js" rel="preload" /> 
     64def _unscale_sld(pars): 
     65    """ 
     66    rescale all sld parameters in the new model definition by 1e6 so the 
     67    numbers are nicer.  Relies on the fact that all sld parameters in the 
     68    new model definition end with sld. 
     69    """ 
     70    return dict((p, (v*1e-6 if p.endswith('sld') else v)) 
     71                for p, v in pars.items()) 
    1872 
    19     <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    20     <meta http-equiv="Content-Language" content="en"> 
    21     <meta name="viewport" content="width=1020"> 
    22      
    23      
    24     <title>sasmodels/convert.py at master · SasView/sasmodels · GitHub</title> 
    25     <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> 
    26     <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> 
    27     <link rel="apple-touch-icon" href="/apple-touch-icon.png"> 
    28     <link rel="apple-touch-icon" sizes="57x57" href="/apple-touch-icon-57x57.png"> 
    29     <link rel="apple-touch-icon" sizes="60x60" href="/apple-touch-icon-60x60.png"> 
    30     <link rel="apple-touch-icon" sizes="72x72" href="/apple-touch-icon-72x72.png"> 
    31     <link rel="apple-touch-icon" sizes="76x76" href="/apple-touch-icon-76x76.png"> 
    32     <link rel="apple-touch-icon" sizes="114x114" href="/apple-touch-icon-114x114.png"> 
    33     <link rel="apple-touch-icon" sizes="120x120" href="/apple-touch-icon-120x120.png"> 
    34     <link rel="apple-touch-icon" sizes="144x144" href="/apple-touch-icon-144x144.png"> 
    35     <link rel="apple-touch-icon" sizes="152x152" href="/apple-touch-icon-152x152.png"> 
    36     <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon-180x180.png"> 
    37     <meta property="fb:app_id" content="1401488693436528"> 
     73def _remove_pd(pars, key, name): 
     74    """ 
     75    Remove polydispersity from the parameter list. 
    3876 
    39       <meta content="https://avatars1.githubusercontent.com/u/10882470?v=3&amp;s=400" name="twitter:image:src" /><meta content="@github" name="twitter:site" /><meta content="summary" name="twitter:card" /><meta content="SasView/sasmodels" name="twitter:title" /><meta content="sasmodels - Package for calculation of small angle scattering models using OpenCL. Builds here: https://jenkins.esss.dk/sasview/view/Sasmodels-Builds/" name="twitter:description" /> 
    40       <meta content="https://avatars1.githubusercontent.com/u/10882470?v=3&amp;s=400" property="og:image" /><meta content="GitHub" property="og:site_name" /><meta content="object" property="og:type" /><meta content="SasView/sasmodels" property="og:title" /><meta content="https://github.com/SasView/sasmodels" property="og:url" /><meta content="sasmodels - Package for calculation of small angle scattering models using OpenCL. Builds here: https://jenkins.esss.dk/sasview/view/Sasmodels-Builds/" property="og:description" /> 
    41       <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> 
    42     <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> 
    43     <link rel="assets" href="https://assets-cdn.github.com/"> 
    44      
    45     <meta name="pjax-timeout" content="1000"> 
    46      
     77    Note: operates in place 
     78    """ 
     79    # Bumps style parameter names 
     80    pd = pars.pop(key+".width", 0.0) 
     81    pd_n = pars.pop(key+".npts", 0) 
     82    if pd != 0.0 and pd_n != 0: 
     83        warnings.warn("parameter %s not polydisperse in sasview %s"%(key, name)) 
     84    pars.pop(key+".nsigmas", None) 
     85    pars.pop(key+".type", None) 
     86    return pars 
    4787 
    48     <meta name="msapplication-TileImage" content="/windows-tile.png"> 
    49     <meta name="msapplication-TileColor" content="#ffffff"> 
    50     <meta name="selected-link" value="repo_source" data-pjax-transient> 
     88def _revert_pars(pars, mapping): 
     89    """ 
     90    Rename the parameters and any associated polydispersity attributes. 
     91    """ 
     92    newpars = pars.copy() 
    5193 
    52     <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU"> 
    53 <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA"> 
    54     <meta name="google-analytics" content="UA-3769691-2"> 
     94    for new, old in mapping.items(): 
     95        for pd, dot in PD_DOT: 
     96            if old and old+pd == new+dot: 
     97                continue 
     98            if new+pd in newpars: 
     99                if old is not None: 
     100                    newpars[old+dot] = pars[new+pd] 
     101                del newpars[new+pd] 
     102    for k in list(newpars.keys()): 
     103        for pd, dot in PD_DOT[1:]:  # skip "" => "" 
     104            if k.endswith(pd): 
     105                newpars[k[:-len(pd)]+dot] = newpars[k] 
     106                del newpars[k] 
     107    return newpars 
    55108 
    56 <meta content="collector.githubapp.com" name="octolytics-host" /><meta content="github" name="octolytics-app-id" /><meta content="32FD15EB:517B:95519E0:56B61366" name="octolytics-dimension-request_id" /> 
    57 <meta content="/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show" data-pjax-transient="true" name="analytics-location" /> 
     109def revert_model(model_definition, pars): 
     110    """ 
     111    Convert model from new style parameter names to old style. 
     112    """ 
     113    mapping = model_definition.oldpars 
     114    oldname = model_definition.oldname 
     115    oldpars = _revert_pars(_unscale_sld(pars), mapping) 
    58116 
     117    # Note: update compare.constrain_pars to match 
     118    name = model_definition.name 
     119    if name in MODELS_WITHOUT_SCALE: 
     120        if oldpars.pop('scale', 1.0) != 1.0: 
     121            warnings.warn("parameter scale not used in sasview %s"%name) 
     122    elif name in MODELS_WITHOUT_BACKGROUND: 
     123        if oldpars.pop('background', 0.0) != 0.0: 
     124            warnings.warn("parameter background not used in sasview %s"%name) 
     125    elif getattr(model_definition, 'category', None) == 'structure-factor': 
     126        if oldpars.pop('scale', 1.0) != 1.0: 
     127            warnings.warn("parameter scale not used in sasview %s"%name) 
     128        if oldpars.pop('background', 0.0) != 0.0: 
     129            warnings.warn("parameter background not used in sasview %s"%name) 
     130    elif name == 'pearl_necklace': 
     131        _remove_pd(oldpars, 'num_pearls', name) 
     132        _remove_pd(oldpars, 'thick_string', name) 
     133    elif name == 'rpa': 
     134        # convert scattering lengths from femtometers to centimeters 
     135        for p in "La", "Lb", "Lc", "Ld": 
     136            if p in oldpars: oldpars[p] *= 1e-13 
    59137 
     138    return oldname, oldpars 
    60139 
    61   <meta class="js-ga-set" name="dimension1" content="Logged Out"> 
     140def constrain_new_to_old(model_definition, pars): 
     141    """ 
     142    Restrict parameter values to those that will match sasview. 
     143    """ 
     144    # Note: update convert.revert_model to match 
     145    name = model_definition.name 
     146    if name in MODELS_WITHOUT_SCALE: 
     147        pars['scale'] = 1 
     148    elif name in MODELS_WITHOUT_BACKGROUND: 
     149        pars['background'] = 0 
     150    elif name == 'pearl_necklace': 
     151        pars['string_thickness_pd_n'] = 0 
     152        pars['number_of_pearls_pd_n'] = 0 
     153    elif name == 'rpa': 
     154        pars['case_num'] = int(pars['case_num']) 
     155    elif getattr(model_definition, 'category', None) == 'structure-factor': 
     156        pars['scale'], pars['background'] = 1, 0 
    62157 
    63  
    64  
    65         <meta name="hostname" content="github.com"> 
    66     <meta name="user-login" content=""> 
    67  
    68         <meta name="expected-hostname" content="github.com"> 
    69  
    70       <link rel="mask-icon" href="https://assets-cdn.github.com/pinned-octocat.svg" color="#4078c0"> 
    71       <link rel="icon" type="image/x-icon" href="https://assets-cdn.github.com/favicon.ico"> 
    72  
    73     <meta content="ed1699ee8f88e1fc0f2738f860d9b53cf2d34560" name="form-nonce" /> 
    74  
    75     <meta http-equiv="x-pjax-version" content="2330245d99bfcba85ea2b6d282c0cb53"> 
    76  
    77        
    78   <meta name="description" content="sasmodels - Package for calculation of small angle scattering models using OpenCL. Builds here: https://jenkins.esss.dk/sasview/view/Sasmodels-Builds/"> 
    79   <meta name="go-import" content="github.com/SasView/sasmodels git https://github.com/SasView/sasmodels.git"> 
    80  
    81   <meta content="10882470" name="octolytics-dimension-user_id" /><meta content="SasView" name="octolytics-dimension-user_login" /><meta content="30761174" name="octolytics-dimension-repository_id" /><meta content="SasView/sasmodels" name="octolytics-dimension-repository_nwo" /><meta content="true" name="octolytics-dimension-repository_public" /><meta content="false" name="octolytics-dimension-repository_is_fork" /><meta content="30761174" name="octolytics-dimension-repository_network_root_id" /><meta content="SasView/sasmodels" name="octolytics-dimension-repository_network_root_nwo" /> 
    82   <link href="https://github.com/SasView/sasmodels/commits/master.atom" rel="alternate" title="Recent Commits to sasmodels:master" type="application/atom+xml"> 
    83  
    84  
    85       <link rel="canonical" href="https://github.com/SasView/sasmodels/blob/master/sasmodels/convert.py" data-pjax-transient> 
    86   </head> 
    87  
    88  
    89   <body class="logged_out   env-production windows vis-public page-blob"> 
    90     <a href="#start-of-content" tabindex="1" class="accessibility-aid js-skip-to-content">Skip to content</a> 
    91  
    92      
    93      
    94      
    95  
    96  
    97  
    98        
    99       <div class="header header-logged-out" role="banner"> 
    100   <div class="container clearfix"> 
    101  
    102     <a class="header-logo-wordmark" href="https://github.com/" data-ga-click="(Logged out) Header, go to homepage, icon:logo-wordmark"> 
    103       <svg aria-hidden="true" class="octicon octicon-logo-github" height="28" role="img" version="1.1" viewBox="0 0 45 16" width="78"><path d="M8.64 5.19H4.88c-0.11 0-0.19 0.08-0.19 0.17v1.84c0 0.09 0.08 0.17 0.19 0.17h1.47v2.3s-0.33 0.11-1.25 0.11c-1.08 0-2.58-0.39-2.58-3.7s1.58-3.73 3.05-3.73c1.27 0 1.81 0.22 2.17 0.33 0.11 0.03 0.2-0.08 0.2-0.17l0.42-1.78c0-0.05-0.02-0.09-0.06-0.14-0.14-0.09-1.02-0.58-3.2-0.58C2.58 0 0 1.06 0 6.2s2.95 5.92 5.44 5.92c2.06 0 3.31-0.89 3.31-0.89 0.05-0.02 0.06-0.09 0.06-0.13V5.36c0-0.09-0.08-0.17-0.19-0.17h0.02zM27.7 0.44h-2.13c-0.09 0-0.17 0.08-0.17 0.17v4.09h-3.31V0.61c0-0.09-0.08-0.17-0.17-0.17h-2.13c-0.09 0-0.17 0.08-0.17 0.17v11.11c0 0.09 0.09 0.17 0.17 0.17h2.13c0.09 0 0.17-0.08 0.17-0.17V6.97h3.31l-0.02 4.75c0 0.09 0.08 0.17 0.17 0.17h2.13c0.09 0 0.17-0.08 0.17-0.17V0.61c0-0.09-0.08-0.17-0.17-0.17h0.02zM11.19 0.69c-0.77 0-1.38 0.61-1.38 1.38s0.61 1.38 1.38 1.38c0.75 0 1.36-0.61 1.36-1.38s-0.61-1.38-1.36-1.38z m1.22 3.55c0-0.09-0.08-0.17-0.17-0.17H10.11c-0.09 0-0.17 0.09-0.17 0.2 0 0 0 6.17 0 7.34 0 0.2 0.13 0.27 0.3 0.27 0 0 0.91 0 1.92 0 0.2 0 0.25-0.09 0.25-0.27 0-0.39 0-7.36 0-7.36v-0.02z m23.52-0.16h-2.09c-0.11 0-0.17 0.08-0.17 0.19v5.44s-0.55 0.39-1.3 0.39-0.97-0.34-0.97-1.09c0-0.73 0-4.75 0-4.75 0-0.09-0.08-0.17-0.17-0.17h-2.14c-0.09 0-0.17 0.08-0.17 0.17 0 0 0 2.91 0 5.11s1.23 2.75 2.92 2.75c1.39 0 2.52-0.77 2.52-0.77s0.05 0.39 0.08 0.45c0.02 0.05 0.09 0.09 0.16 0.09h1.34c0.11 0 0.17-0.08 0.17-0.17l0.02-7.47c0-0.09-0.08-0.17-0.19-0.17z m5.77-0.25c-1.2 0-2.02 0.53-2.02 0.53V0.59c0-0.09-0.08-0.17-0.17-0.17h-2.13c-0.09 0-0.17 0.08-0.17 0.17l-0.02 11.11c0 0.09 0.09 0.17 0.19 0.17h1.48c0.06 0 0.11-0.02 0.14-0.08 0.05-0.06 0.09-0.52 0.09-0.52s0.88 0.83 2.52 0.83c1.94 0 3.05-0.98 3.05-4.41s-1.77-3.88-2.97-3.88z m-0.83 6.27c-0.73-0.02-1.22-0.36-1.22-0.36V6.22s0.48-0.3 1.08-0.34c0.77-0.08 1.5 0.16 1.5 1.97 0 1.91-0.33 2.28-1.36 2.25z m-22.33-0.05c-0.09 0-0.33 0.05-0.58 0.05-0.78 0-1.05-0.36-1.05-0.83s0-3.13 0-3.13h1.59c0.09 0 0.16-0.08 0.16-0.19V4.25c0-0.09-0.08-0.17-0.16-0.17h-1.59V1.97c0-0.08-0.05-0.13-0.14-0.13H14.61c-0.09 0-0.14 0.05-0.14 0.13v2.17s-1.09 0.27-1.16 0.28c-0.08 0.02-0.13 0.09-0.13 0.17v1.36c0 0.11 0.08 0.19 0.17 0.19h1.11s0 1.44 0 3.28c0 2.44 1.7 2.69 2.86 2.69 0.53 0 1.17-0.17 1.27-0.22 0.06-0.02 0.09-0.09 0.09-0.16v-1.5c0-0.11-0.08-0.19-0.17-0.19h0.02z"></path></svg> 
    104     </a> 
    105  
    106     <div class="header-actions" role="navigation"> 
    107         <a class="btn btn-primary" href="/join?source=header-repo" data-ga-click="(Logged out) Header, clicked Sign up, text:sign-up">Sign up</a> 
    108       <a class="btn" href="/login?return_to=%2FSasView%2Fsasmodels%2Fblob%2Fmaster%2Fsasmodels%2Fconvert.py" data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">Sign in</a> 
    109     </div> 
    110  
    111     <div class="site-search repo-scope js-site-search" role="search"> 
    112       <!-- </textarea> --><!-- '"` --><form accept-charset="UTF-8" action="/SasView/sasmodels/search" class="js-site-search-form" data-global-search-url="/search" data-repo-search-url="/SasView/sasmodels/search" method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /></div> 
    113   <label class="js-chromeless-input-container form-control"> 
    114     <div class="scope-badge">This repository</div> 
    115     <input type="text" 
    116       class="js-site-search-focus js-site-search-field is-clearable chromeless-input" 
    117       data-hotkey="s" 
    118       name="q" 
    119       placeholder="Search" 
    120       aria-label="Search this repository" 
    121       data-global-scope-placeholder="Search GitHub" 
    122       data-repo-scope-placeholder="Search" 
    123       tabindex="1" 
    124       autocapitalize="off"> 
    125   </label> 
    126 </form> 
    127     </div> 
    128  
    129       <ul class="header-nav left" role="navigation"> 
    130           <li class="header-nav-item"> 
    131             <a class="header-nav-link" href="/explore" data-ga-click="(Logged out) Header, go to explore, text:explore">Explore</a> 
    132           </li> 
    133           <li class="header-nav-item"> 
    134             <a class="header-nav-link" href="/features" data-ga-click="(Logged out) Header, go to features, text:features">Features</a> 
    135           </li> 
    136           <li class="header-nav-item"> 
    137             <a class="header-nav-link" href="https://enterprise.github.com/" data-ga-click="(Logged out) Header, go to enterprise, text:enterprise">Enterprise</a> 
    138           </li> 
    139           <li class="header-nav-item"> 
    140             <a class="header-nav-link" href="/pricing" data-ga-click="(Logged out) Header, go to pricing, text:pricing">Pricing</a> 
    141           </li> 
    142       </ul> 
    143  
    144   </div> 
    145 </div> 
    146  
    147  
    148  
    149     <div id="start-of-content" class="accessibility-aid"></div> 
    150  
    151       <div id="js-flash-container"> 
    152 </div> 
    153  
    154  
    155     <div role="main" class="main-content"> 
    156         <div itemscope itemtype="http://schema.org/WebPage"> 
    157     <div id="js-repo-pjax-container" class="context-loader-container js-repo-nav-next" data-pjax-container> 
    158        
    159 <div class="pagehead repohead instapaper_ignore readability-menu experiment-repo-nav"> 
    160   <div class="container repohead-details-container"> 
    161  
    162      
    163  
    164 <ul class="pagehead-actions"> 
    165  
    166   <li> 
    167       <a href="/login?return_to=%2FSasView%2Fsasmodels" 
    168     class="btn btn-sm btn-with-count tooltipped tooltipped-n" 
    169     aria-label="You must be signed in to watch a repository" rel="nofollow"> 
    170     <svg aria-hidden="true" class="octicon octicon-eye" height="16" role="img" version="1.1" viewBox="0 0 16 16" width="16"><path d="M8.06 2C3 2 0 8 0 8s3 6 8.06 6c4.94 0 7.94-6 7.94-6S13 2 8.06 2z m-0.06 10c-2.2 0-4-1.78-4-4 0-2.2 1.8-4 4-4 2.22 0 4 1.8 4 4 0 2.22-1.78 4-4 4z m2-4c0 1.11-0.89 2-2 2s-2-0.89-2-2 0.89-2 2-2 2 0.89 2 2z"></path></svg> 
    171     Watch 
    172   </a> 
    173   <a class="social-count" href="/SasView/sasmodels/watchers"> 
    174     16 
    175   </a> 
    176  
    177   </li> 
    178  
    179   <li> 
    180       <a href="/login?return_to=%2FSasView%2Fsasmodels" 
    181     class="btn btn-sm btn-with-count tooltipped tooltipped-n" 
    182     aria-label="You must be signed in to star a repository" rel="nofollow"> 
    183     <svg aria-hidden="true" class="octicon octicon-star" height="16" role="img" version="1.1" viewBox="0 0 14 16" width="14"><path d="M14 6l-4.9-0.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14l4.33-2.33 4.33 2.33L10.4 9.26 14 6z"></path></svg> 
    184     Star 
    185   </a> 
    186  
    187     <a class="social-count js-social-count" href="/SasView/sasmodels/stargazers"> 
    188       0 
    189     </a> 
    190  
    191   </li> 
    192  
    193   <li> 
    194       <a href="/login?return_to=%2FSasView%2Fsasmodels" 
    195         class="btn btn-sm btn-with-count tooltipped tooltipped-n" 
    196         aria-label="You must be signed in to fork a repository" rel="nofollow"> 
    197         <svg aria-hidden="true" class="octicon octicon-repo-forked" height="16" role="img" version="1.1" viewBox="0 0 10 16" width="10"><path d="M8 1c-1.11 0-2 0.89-2 2 0 0.73 0.41 1.38 1 1.72v1.28L5 8 3 6v-1.28c0.59-0.34 1-0.98 1-1.72 0-1.11-0.89-2-2-2S0 1.89 0 3c0 0.73 0.41 1.38 1 1.72v1.78l3 3v1.78c-0.59 0.34-1 0.98-1 1.72 0 1.11 0.89 2 2 2s2-0.89 2-2c0-0.73-0.41-1.38-1-1.72V9.5l3-3V4.72c0.59-0.34 1-0.98 1-1.72 0-1.11-0.89-2-2-2zM2 4.2c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z m3 10c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z m3-10c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z"></path></svg> 
    198         Fork 
    199       </a> 
    200  
    201     <a href="/SasView/sasmodels/network" class="social-count"> 
    202       0 
    203     </a> 
    204   </li> 
    205 </ul> 
    206  
    207     <h1 itemscope itemtype="http://data-vocabulary.org/Breadcrumb" class="entry-title public "> 
    208   <svg aria-hidden="true" class="octicon octicon-repo" height="16" role="img" version="1.1" viewBox="0 0 12 16" width="12"><path d="M4 9h-1v-1h1v1z m0-3h-1v1h1v-1z m0-2h-1v1h1v-1z m0-2h-1v1h1v-1z m8-1v12c0 0.55-0.45 1-1 1H6v2l-1.5-1.5-1.5 1.5V14H1c-0.55 0-1-0.45-1-1V1C0 0.45 0.45 0 1 0h10c0.55 0 1 0.45 1 1z m-1 10H1v2h2v-1h3v1h5V11z m0-10H2v9h9V1z"></path></svg> 
    209   <span class="author"><a href="/SasView" class="url fn" itemprop="url" rel="author"><span itemprop="title">SasView</span></a></span><!-- 
    210 --><span class="path-divider">/</span><!-- 
    211 --><strong><a href="/SasView/sasmodels" data-pjax="#js-repo-pjax-container">sasmodels</a></strong> 
    212  
    213   <span class="page-context-loader"> 
    214     <img alt="" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" /> 
    215   </span> 
    216  
    217 </h1> 
    218  
    219   </div> 
    220   <div class="container"> 
    221      
    222 <nav class="reponav js-repo-nav js-sidenav-container-pjax js-octicon-loaders" 
    223      role="navigation" 
    224      data-pjax="#js-repo-pjax-container"> 
    225  
    226   <a href="/SasView/sasmodels" aria-label="Code" aria-selected="true" class="js-selected-navigation-item selected reponav-item" data-hotkey="g c" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches /SasView/sasmodels"> 
    227     <svg aria-hidden="true" class="octicon octicon-code" height="16" role="img" version="1.1" viewBox="0 0 14 16" width="14"><path d="M9.5 3l-1.5 1.5 3.5 3.5L8 11.5l1.5 1.5 4.5-5L9.5 3zM4.5 3L0 8l4.5 5 1.5-1.5L2.5 8l3.5-3.5L4.5 3z"></path></svg> 
    228     Code 
    229 </a> 
    230  
    231   <a href="/SasView/sasmodels/pulls" class="js-selected-navigation-item reponav-item" data-hotkey="g p" data-selected-links="repo_pulls /SasView/sasmodels/pulls"> 
    232     <svg aria-hidden="true" class="octicon octicon-git-pull-request" height="16" role="img" version="1.1" viewBox="0 0 12 16" width="12"><path d="M11 11.28c0-1.73 0-6.28 0-6.28-0.03-0.78-0.34-1.47-0.94-2.06s-1.28-0.91-2.06-0.94c0 0-1.02 0-1 0V0L4 3l3 3V4h1c0.27 0.02 0.48 0.11 0.69 0.31s0.3 0.42 0.31 0.69v6.28c-0.59 0.34-1 0.98-1 1.72 0 1.11 0.89 2 2 2s2-0.89 2-2c0-0.73-0.41-1.38-1-1.72z m-1 2.92c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2zM4 3c0-1.11-0.89-2-2-2S0 1.89 0 3c0 0.73 0.41 1.38 1 1.72 0 1.55 0 5.56 0 6.56-0.59 0.34-1 0.98-1 1.72 0 1.11 0.89 2 2 2s2-0.89 2-2c0-0.73-0.41-1.38-1-1.72V4.72c0.59-0.34 1-0.98 1-1.72z m-0.8 10c0 0.66-0.55 1.2-1.2 1.2s-1.2-0.55-1.2-1.2 0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2z m-1.2-8.8c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2z"></path></svg> 
    233     Pull requests 
    234     <span class="counter">0</span> 
    235 </a> 
    236  
    237   <a href="/SasView/sasmodels/pulse" class="js-selected-navigation-item reponav-item" data-selected-links="pulse /SasView/sasmodels/pulse"> 
    238     <svg aria-hidden="true" class="octicon octicon-pulse" height="16" role="img" version="1.1" viewBox="0 0 14 16" width="14"><path d="M11.5 8L8.8 5.4 6.6 8.5 5.5 1.6 2.38 8H0V10h3.6L4.5 8.2l0.9 5.4L9 8.5l1.6 1.5H14V8H11.5z"></path></svg> 
    239     Pulse 
    240 </a> 
    241   <a href="/SasView/sasmodels/graphs" class="js-selected-navigation-item reponav-item" data-selected-links="repo_graphs repo_contributors /SasView/sasmodels/graphs"> 
    242     <svg aria-hidden="true" class="octicon octicon-graph" height="16" role="img" version="1.1" viewBox="0 0 16 16" width="16"><path d="M16 14v1H0V0h1v14h15z m-11-1H3V8h2v5z m4 0H7V3h2v10z m4 0H11V6h2v7z"></path></svg> 
    243     Graphs 
    244 </a> 
    245  
    246 </nav> 
    247  
    248   </div> 
    249 </div> 
    250  
    251 <div class="container new-discussion-timeline experiment-repo-nav"> 
    252   <div class="repository-content"> 
    253  
    254      
    255  
    256 <a href="/SasView/sasmodels/blob/d5e650da432c58f8cd7c4d86e8ecb26828e17a21/sasmodels/convert.py" class="hidden js-permalink-shortcut" data-hotkey="y">Permalink</a> 
    257  
    258 <!-- blob contrib key: blob_contributors:v21:db8856a43e364dee3a304855aa1d4b41 --> 
    259  
    260 <div class="file-navigation js-zeroclipboard-container"> 
    261    
    262 <div class="select-menu js-menu-container js-select-menu left"> 
    263   <button class="btn btn-sm select-menu-button js-menu-target css-truncate" data-hotkey="w" 
    264     title="master" 
    265     type="button" aria-label="Switch branches or tags" tabindex="0" aria-haspopup="true"> 
    266     <i>Branch:</i> 
    267     <span class="js-select-button css-truncate-target">master</span> 
    268   </button> 
    269  
    270   <div class="select-menu-modal-holder js-menu-content js-navigation-container" data-pjax aria-hidden="true"> 
    271  
    272     <div class="select-menu-modal"> 
    273       <div class="select-menu-header"> 
    274         <svg aria-label="Close" class="octicon octicon-x js-menu-close" height="16" role="img" version="1.1" viewBox="0 0 12 16" width="12"><path d="M7.48 8l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75-1.48-1.48 3.75-3.75L0.77 4.25l1.48-1.48 3.75 3.75 3.75-3.75 1.48 1.48-3.75 3.75z"></path></svg> 
    275         <span class="select-menu-title">Switch branches/tags</span> 
    276       </div> 
    277  
    278       <div class="select-menu-filters"> 
    279         <div class="select-menu-text-filter"> 
    280           <input type="text" aria-label="Filter branches/tags" id="context-commitish-filter-field" class="js-filterable-field js-navigation-enable" placeholder="Filter branches/tags"> 
    281         </div> 
    282         <div class="select-menu-tabs"> 
    283           <ul> 
    284             <li class="select-menu-tab"> 
    285               <a href="#" data-tab-filter="branches" data-filter-placeholder="Filter branches/tags" class="js-select-menu-tab" role="tab">Branches</a> 
    286             </li> 
    287             <li class="select-menu-tab"> 
    288               <a href="#" data-tab-filter="tags" data-filter-placeholder="Find a tag
" class="js-select-menu-tab" role="tab">Tags</a> 
    289             </li> 
    290           </ul> 
    291         </div> 
    292       </div> 
    293  
    294       <div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="branches" role="menu"> 
    295  
    296         <div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring"> 
    297  
    298  
    299             <a class="select-menu-item js-navigation-item js-navigation-open " 
    300                href="/SasView/sasmodels/blob/develop_ric/sasmodels/convert.py" 
    301                data-name="develop_ric" 
    302                data-skip-pjax="true" 
    303                rel="nofollow"> 
    304               <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" role="img" version="1.1" viewBox="0 0 12 16" width="12"><path d="M12 5L4 13 0 9l1.5-1.5 2.5 2.5 6.5-6.5 1.5 1.5z"></path></svg> 
    305               <span class="select-menu-item-text css-truncate-target" title="develop_ric"> 
    306                 develop_ric 
    307               </span> 
    308             </a> 
    309             <a class="select-menu-item js-navigation-item js-navigation-open " 
    310                href="/SasView/sasmodels/blob/gh-pages/sasmodels/convert.py" 
    311                data-name="gh-pages" 
    312                data-skip-pjax="true" 
    313                rel="nofollow"> 
    314               <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" role="img" version="1.1" viewBox="0 0 12 16" width="12"><path d="M12 5L4 13 0 9l1.5-1.5 2.5 2.5 6.5-6.5 1.5 1.5z"></path></svg> 
    315               <span class="select-menu-item-text css-truncate-target" title="gh-pages"> 
    316                 gh-pages 
    317               </span> 
    318             </a> 
    319             <a class="select-menu-item js-navigation-item js-navigation-open selected" 
    320                href="/SasView/sasmodels/blob/master/sasmodels/convert.py" 
    321                data-name="master" 
    322                data-skip-pjax="true" 
    323                rel="nofollow"> 
    324               <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" role="img" version="1.1" viewBox="0 0 12 16" width="12"><path d="M12 5L4 13 0 9l1.5-1.5 2.5 2.5 6.5-6.5 1.5 1.5z"></path></svg> 
    325               <span class="select-menu-item-text css-truncate-target" title="master"> 
    326                 master 
    327               </span> 
    328             </a> 
    329         </div> 
    330  
    331           <div class="select-menu-no-results">Nothing to show</div> 
    332       </div> 
    333  
    334       <div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="tags"> 
    335         <div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring"> 
    336  
    337  
    338         </div> 
    339  
    340         <div class="select-menu-no-results">Nothing to show</div> 
    341       </div> 
    342  
    343     </div> 
    344   </div> 
    345 </div> 
    346  
    347   <div class="btn-group right"> 
    348     <a href="/SasView/sasmodels/find/master" 
    349           class="js-show-file-finder btn btn-sm" 
    350           data-pjax 
    351           data-hotkey="t"> 
    352       Find file 
    353     </a> 
    354     <button aria-label="Copy file path to clipboard" class="js-zeroclipboard btn btn-sm zeroclipboard-button tooltipped tooltipped-s" data-copied-hint="Copied!" type="button">Copy path</button> 
    355   </div> 
    356   <div class="breadcrumb js-zeroclipboard-target"> 
    357     <span class="repo-root js-repo-root"><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/SasView/sasmodels" class="" data-branch="master" data-pjax="true" itemscope="url"><span itemprop="title">sasmodels</span></a></span></span><span class="separator">/</span><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/SasView/sasmodels/tree/master/sasmodels" class="" data-branch="master" data-pjax="true" itemscope="url"><span itemprop="title">sasmodels</span></a></span><span class="separator">/</span><strong class="final-path">convert.py</strong> 
    358   </div> 
    359 </div> 
    360  
    361 <include-fragment class="commit-tease" src="/SasView/sasmodels/contributors/master/sasmodels/convert.py"> 
    362   <div> 
    363     Fetching contributors&hellip; 
    364   </div> 
    365  
    366   <div class="commit-tease-contributors"> 
    367     <img alt="" class="loader-loading left" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32-EAF2F5.gif" width="16" /> 
    368     <span class="loader-error">Cannot retrieve contributors at this time</span> 
    369   </div> 
    370 </include-fragment> 
    371 <div class="file"> 
    372   <div class="file-header"> 
    373   <div class="file-actions"> 
    374  
    375     <div class="btn-group"> 
    376       <a href="/SasView/sasmodels/raw/master/sasmodels/convert.py" class="btn btn-sm " id="raw-url">Raw</a> 
    377         <a href="/SasView/sasmodels/blame/master/sasmodels/convert.py" class="btn btn-sm js-update-url-with-hash">Blame</a> 
    378       <a href="/SasView/sasmodels/commits/master/sasmodels/convert.py" class="btn btn-sm " rel="nofollow">History</a> 
    379     </div> 
    380  
    381         <a class="btn-octicon tooltipped tooltipped-nw" 
    382            href="https://windows.github.com" 
    383            aria-label="Open this file in GitHub Desktop" 
    384            data-ga-click="Repository, open with desktop, type:windows"> 
    385             <svg aria-hidden="true" class="octicon octicon-device-desktop" height="16" role="img" version="1.1" viewBox="0 0 16 16" width="16"><path d="M15 2H1c-0.55 0-1 0.45-1 1v9c0 0.55 0.45 1 1 1h5.34c-0.25 0.61-0.86 1.39-2.34 2h8c-1.48-0.61-2.09-1.39-2.34-2h5.34c0.55 0 1-0.45 1-1V3c0-0.55-0.45-1-1-1z m0 9H1V3h14v8z"></path></svg> 
    386         </a> 
    387  
    388         <button type="button" class="btn-octicon disabled tooltipped tooltipped-nw" 
    389           aria-label="You must be signed in to make or propose changes"> 
    390           <svg aria-hidden="true" class="octicon octicon-pencil" height="16" role="img" version="1.1" viewBox="0 0 14 16" width="14"><path d="M0 12v3h3l8-8-3-3L0 12z m3 2H1V12h1v1h1v1z m10.3-9.3l-1.3 1.3-3-3 1.3-1.3c0.39-0.39 1.02-0.39 1.41 0l1.59 1.59c0.39 0.39 0.39 1.02 0 1.41z"></path></svg> 
    391         </button> 
    392         <button type="button" class="btn-octicon btn-octicon-danger disabled tooltipped tooltipped-nw" 
    393           aria-label="You must be signed in to make or propose changes"> 
    394           <svg aria-hidden="true" class="octicon octicon-trashcan" height="16" role="img" version="1.1" viewBox="0 0 12 16" width="12"><path d="M10 2H8c0-0.55-0.45-1-1-1H4c-0.55 0-1 0.45-1 1H1c-0.55 0-1 0.45-1 1v1c0 0.55 0.45 1 1 1v9c0 0.55 0.45 1 1 1h7c0.55 0 1-0.45 1-1V5c0.55 0 1-0.45 1-1v-1c0-0.55-0.45-1-1-1z m-1 12H2V5h1v8h1V5h1v8h1V5h1v8h1V5h1v9z m1-10H1v-1h9v1z"></path></svg> 
    395         </button> 
    396   </div> 
    397  
    398   <div class="file-info"> 
    399       157 lines (141 sloc) 
    400       <span class="file-info-divider"></span> 
    401     5.04 KB 
    402   </div> 
    403 </div> 
    404  
    405    
    406  
    407   <div class="blob-wrapper data type-python"> 
    408       <table class="highlight tab-size js-file-line-container" data-tab-size="8"> 
    409       <tr> 
    410         <td id="L1" class="blob-num js-line-number" data-line-number="1"></td> 
    411         <td id="LC1" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-pds">&quot;&quot;&quot;</span></span></td> 
    412       </tr> 
    413       <tr> 
    414         <td id="L2" class="blob-num js-line-number" data-line-number="2"></td> 
    415         <td id="LC2" class="blob-code blob-code-inner js-file-line"><span class="pl-s">Convert models to and from sasview.</span></td> 
    416       </tr> 
    417       <tr> 
    418         <td id="L3" class="blob-num js-line-number" data-line-number="3"></td> 
    419         <td id="LC3" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-pds">&quot;&quot;&quot;</span></span></td> 
    420       </tr> 
    421       <tr> 
    422         <td id="L4" class="blob-num js-line-number" data-line-number="4"></td> 
    423         <td id="LC4" class="blob-code blob-code-inner js-file-line"><span class="pl-k">import</span> warnings</td> 
    424       </tr> 
    425       <tr> 
    426         <td id="L5" class="blob-num js-line-number" data-line-number="5"></td> 
    427         <td id="LC5" class="blob-code blob-code-inner js-file-line"> 
    428 </td> 
    429       </tr> 
    430       <tr> 
    431         <td id="L6" class="blob-num js-line-number" data-line-number="6"></td> 
    432         <td id="LC6" class="blob-code blob-code-inner js-file-line"><span class="pl-c"># List of models which SasView versions don&#39;t contain the explicit &#39;scale&#39; argument.</span></td> 
    433       </tr> 
    434       <tr> 
    435         <td id="L7" class="blob-num js-line-number" data-line-number="7"></td> 
    436         <td id="LC7" class="blob-code blob-code-inner js-file-line"><span class="pl-c"># When converting such a model, please update this list.</span></td> 
    437       </tr> 
    438       <tr> 
    439         <td id="L8" class="blob-num js-line-number" data-line-number="8"></td> 
    440         <td id="LC8" class="blob-code blob-code-inner js-file-line"><span class="pl-c1">MODELS_WITHOUT_SCALE</span> <span class="pl-k">=</span> [</td> 
    441       </tr> 
    442       <tr> 
    443         <td id="L9" class="blob-num js-line-number" data-line-number="9"></td> 
    444         <td id="LC9" class="blob-code blob-code-inner js-file-line">    <span class="pl-s"><span class="pl-pds">&#39;</span>teubner_strey<span class="pl-pds">&#39;</span></span>,</td> 
    445       </tr> 
    446       <tr> 
    447         <td id="L10" class="blob-num js-line-number" data-line-number="10"></td> 
    448         <td id="LC10" class="blob-code blob-code-inner js-file-line">    <span class="pl-s"><span class="pl-pds">&#39;</span>broad_peak<span class="pl-pds">&#39;</span></span>,</td> 
    449       </tr> 
    450       <tr> 
    451         <td id="L11" class="blob-num js-line-number" data-line-number="11"></td> 
    452         <td id="LC11" class="blob-code blob-code-inner js-file-line">    <span class="pl-s"><span class="pl-pds">&#39;</span>two_lorentzian<span class="pl-pds">&#39;</span></span>,</td> 
    453       </tr> 
    454       <tr> 
    455         <td id="L12" class="blob-num js-line-number" data-line-number="12"></td> 
    456         <td id="LC12" class="blob-code blob-code-inner js-file-line">    <span class="pl-s"><span class="pl-pds">&#39;</span>gel_fit<span class="pl-pds">&#39;</span></span>,</td> 
    457       </tr> 
    458       <tr> 
    459         <td id="L13" class="blob-num js-line-number" data-line-number="13"></td> 
    460         <td id="LC13" class="blob-code blob-code-inner js-file-line">    <span class="pl-s"><span class="pl-pds">&#39;</span>gauss_lorentz_gel<span class="pl-pds">&#39;</span></span>,</td> 
    461       </tr> 
    462       <tr> 
    463         <td id="L14" class="blob-num js-line-number" data-line-number="14"></td> 
    464         <td id="LC14" class="blob-code blob-code-inner js-file-line">    <span class="pl-s"><span class="pl-pds">&#39;</span>be_polyelectrolyte<span class="pl-pds">&#39;</span></span>,</td> 
    465       </tr> 
    466       <tr> 
    467         <td id="L15" class="blob-num js-line-number" data-line-number="15"></td> 
    468         <td id="LC15" class="blob-code blob-code-inner js-file-line">    <span class="pl-s"><span class="pl-pds">&#39;</span>correlation_length<span class="pl-pds">&#39;</span></span>,</td> 
    469       </tr> 
    470       <tr> 
    471         <td id="L16" class="blob-num js-line-number" data-line-number="16"></td> 
    472         <td id="LC16" class="blob-code blob-code-inner js-file-line">]</td> 
    473       </tr> 
    474       <tr> 
    475         <td id="L17" class="blob-num js-line-number" data-line-number="17"></td> 
    476         <td id="LC17" class="blob-code blob-code-inner js-file-line"> 
    477 </td> 
    478       </tr> 
    479       <tr> 
    480         <td id="L18" class="blob-num js-line-number" data-line-number="18"></td> 
    481         <td id="LC18" class="blob-code blob-code-inner js-file-line"><span class="pl-c"># List of models which SasView versions don&#39;t contain the explicit &#39;background&#39; argument.</span></td> 
    482       </tr> 
    483       <tr> 
    484         <td id="L19" class="blob-num js-line-number" data-line-number="19"></td> 
    485         <td id="LC19" class="blob-code blob-code-inner js-file-line"><span class="pl-c"># When converting such a model, please update this list.</span></td> 
    486       </tr> 
    487       <tr> 
    488         <td id="L20" class="blob-num js-line-number" data-line-number="20"></td> 
    489         <td id="LC20" class="blob-code blob-code-inner js-file-line"><span class="pl-c1">MODELS_WITHOUT_BACKGROUND</span> <span class="pl-k">=</span> [</td> 
    490       </tr> 
    491       <tr> 
    492         <td id="L21" class="blob-num js-line-number" data-line-number="21"></td> 
    493         <td id="LC21" class="blob-code blob-code-inner js-file-line">    <span class="pl-s"><span class="pl-pds">&#39;</span>guinier<span class="pl-pds">&#39;</span></span>,</td> 
    494       </tr> 
    495       <tr> 
    496         <td id="L22" class="blob-num js-line-number" data-line-number="22"></td> 
    497         <td id="LC22" class="blob-code blob-code-inner js-file-line">]</td> 
    498       </tr> 
    499       <tr> 
    500         <td id="L23" class="blob-num js-line-number" data-line-number="23"></td> 
    501         <td id="LC23" class="blob-code blob-code-inner js-file-line"> 
    502 </td> 
    503       </tr> 
    504       <tr> 
    505         <td id="L24" class="blob-num js-line-number" data-line-number="24"></td> 
    506         <td id="LC24" class="blob-code blob-code-inner js-file-line"><span class="pl-c1">PD_DOT</span> <span class="pl-k">=</span> [</td> 
    507       </tr> 
    508       <tr> 
    509         <td id="L25" class="blob-num js-line-number" data-line-number="25"></td> 
    510         <td id="LC25" class="blob-code blob-code-inner js-file-line">    (<span class="pl-s"><span class="pl-pds">&quot;</span><span class="pl-pds">&quot;</span></span>, <span class="pl-s"><span class="pl-pds">&quot;</span><span class="pl-pds">&quot;</span></span>),</td> 
    511       </tr> 
    512       <tr> 
    513         <td id="L26" class="blob-num js-line-number" data-line-number="26"></td> 
    514         <td id="LC26" class="blob-code blob-code-inner js-file-line">    (<span class="pl-s"><span class="pl-pds">&quot;</span>_pd<span class="pl-pds">&quot;</span></span>, <span class="pl-s"><span class="pl-pds">&quot;</span>.width<span class="pl-pds">&quot;</span></span>),</td> 
    515       </tr> 
    516       <tr> 
    517         <td id="L27" class="blob-num js-line-number" data-line-number="27"></td> 
    518         <td id="LC27" class="blob-code blob-code-inner js-file-line">    (<span class="pl-s"><span class="pl-pds">&quot;</span>_pd_n<span class="pl-pds">&quot;</span></span>, <span class="pl-s"><span class="pl-pds">&quot;</span>.npts<span class="pl-pds">&quot;</span></span>),</td> 
    519       </tr> 
    520       <tr> 
    521         <td id="L28" class="blob-num js-line-number" data-line-number="28"></td> 
    522         <td id="LC28" class="blob-code blob-code-inner js-file-line">    (<span class="pl-s"><span class="pl-pds">&quot;</span>_pd_nsigma<span class="pl-pds">&quot;</span></span>, <span class="pl-s"><span class="pl-pds">&quot;</span>.nsigmas<span class="pl-pds">&quot;</span></span>),</td> 
    523       </tr> 
    524       <tr> 
    525         <td id="L29" class="blob-num js-line-number" data-line-number="29"></td> 
    526         <td id="LC29" class="blob-code blob-code-inner js-file-line">    (<span class="pl-s"><span class="pl-pds">&quot;</span>_pd_type<span class="pl-pds">&quot;</span></span>, <span class="pl-s"><span class="pl-pds">&quot;</span>.type<span class="pl-pds">&quot;</span></span>),</td> 
    527       </tr> 
    528       <tr> 
    529         <td id="L30" class="blob-num js-line-number" data-line-number="30"></td> 
    530         <td id="LC30" class="blob-code blob-code-inner js-file-line">    ]</td> 
    531       </tr> 
    532       <tr> 
    533         <td id="L31" class="blob-num js-line-number" data-line-number="31"></td> 
    534         <td id="LC31" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">_convert_pars</span>(<span class="pl-smi">pars</span>, <span class="pl-smi">mapping</span>):</td> 
    535       </tr> 
    536       <tr> 
    537         <td id="L32" class="blob-num js-line-number" data-line-number="32"></td> 
    538         <td id="LC32" class="blob-code blob-code-inner js-file-line">    <span class="pl-s"><span class="pl-pds">&quot;&quot;&quot;</span></span></td> 
    539       </tr> 
    540       <tr> 
    541         <td id="L33" class="blob-num js-line-number" data-line-number="33"></td> 
    542         <td id="LC33" class="blob-code blob-code-inner js-file-line"><span class="pl-s">    Rename the parameters and any associated polydispersity attributes.</span></td> 
    543       </tr> 
    544       <tr> 
    545         <td id="L34" class="blob-num js-line-number" data-line-number="34"></td> 
    546         <td id="LC34" class="blob-code blob-code-inner js-file-line"><span class="pl-s">    <span class="pl-pds">&quot;&quot;&quot;</span></span></td> 
    547       </tr> 
    548       <tr> 
    549         <td id="L35" class="blob-num js-line-number" data-line-number="35"></td> 
    550         <td id="LC35" class="blob-code blob-code-inner js-file-line">    newpars <span class="pl-k">=</span> pars.copy()</td> 
    551       </tr> 
    552       <tr> 
    553         <td id="L36" class="blob-num js-line-number" data-line-number="36"></td> 
    554         <td id="LC36" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">for</span> new, old <span class="pl-k">in</span> mapping.items():</td> 
    555       </tr> 
    556       <tr> 
    557         <td id="L37" class="blob-num js-line-number" data-line-number="37"></td> 
    558         <td id="LC37" class="blob-code blob-code-inner js-file-line">        <span class="pl-k">if</span> old <span class="pl-k">==</span> new: <span class="pl-k">continue</span></td> 
    559       </tr> 
    560       <tr> 
    561         <td id="L38" class="blob-num js-line-number" data-line-number="38"></td> 
    562         <td id="LC38" class="blob-code blob-code-inner js-file-line">        <span class="pl-k">for</span> pd, dot <span class="pl-k">in</span> <span class="pl-c1">PD_DOT</span>:</td> 
    563       </tr> 
    564       <tr> 
    565         <td id="L39" class="blob-num js-line-number" data-line-number="39"></td> 
    566         <td id="LC39" class="blob-code blob-code-inner js-file-line">            <span class="pl-k">if</span> old<span class="pl-k">+</span>dot <span class="pl-k">in</span> newpars:</td> 
    567       </tr> 
    568       <tr> 
    569         <td id="L40" class="blob-num js-line-number" data-line-number="40"></td> 
    570         <td id="LC40" class="blob-code blob-code-inner js-file-line">                <span class="pl-k">if</span> new <span class="pl-k">is</span> <span class="pl-k">not</span> <span class="pl-c1">None</span>:</td> 
    571       </tr> 
    572       <tr> 
    573         <td id="L41" class="blob-num js-line-number" data-line-number="41"></td> 
    574         <td id="LC41" class="blob-code blob-code-inner js-file-line">                    newpars[new<span class="pl-k">+</span>pd] <span class="pl-k">=</span> pars[old<span class="pl-k">+</span>dot]</td> 
    575       </tr> 
    576       <tr> 
    577         <td id="L42" class="blob-num js-line-number" data-line-number="42"></td> 
    578         <td id="LC42" class="blob-code blob-code-inner js-file-line">                <span class="pl-k">del</span> newpars[old<span class="pl-k">+</span>dot]</td> 
    579       </tr> 
    580       <tr> 
    581         <td id="L43" class="blob-num js-line-number" data-line-number="43"></td> 
    582         <td id="LC43" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">return</span> newpars</td> 
    583       </tr> 
    584       <tr> 
    585         <td id="L44" class="blob-num js-line-number" data-line-number="44"></td> 
    586         <td id="LC44" class="blob-code blob-code-inner js-file-line"> 
    587 </td> 
    588       </tr> 
    589       <tr> 
    590         <td id="L45" class="blob-num js-line-number" data-line-number="45"></td> 
    591         <td id="LC45" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">_rescale_sld</span>(<span class="pl-smi">pars</span>):</td> 
    592       </tr> 
    593       <tr> 
    594         <td id="L46" class="blob-num js-line-number" data-line-number="46"></td> 
    595         <td id="LC46" class="blob-code blob-code-inner js-file-line">    <span class="pl-s"><span class="pl-pds">&quot;&quot;&quot;</span></span></td> 
    596       </tr> 
    597       <tr> 
    598         <td id="L47" class="blob-num js-line-number" data-line-number="47"></td> 
    599         <td id="LC47" class="blob-code blob-code-inner js-file-line"><span class="pl-s">    rescale all sld parameters in the new model definition by 1e6 so the</span></td> 
    600       </tr> 
    601       <tr> 
    602         <td id="L48" class="blob-num js-line-number" data-line-number="48"></td> 
    603         <td id="LC48" class="blob-code blob-code-inner js-file-line"><span class="pl-s">    numbers are nicer.  Relies on the fact that all sld parameters in the</span></td> 
    604       </tr> 
    605       <tr> 
    606         <td id="L49" class="blob-num js-line-number" data-line-number="49"></td> 
    607         <td id="LC49" class="blob-code blob-code-inner js-file-line"><span class="pl-s">    new model definition end with sld.</span></td> 
    608       </tr> 
    609       <tr> 
    610         <td id="L50" class="blob-num js-line-number" data-line-number="50"></td> 
    611         <td id="LC50" class="blob-code blob-code-inner js-file-line"><span class="pl-s">    <span class="pl-pds">&quot;&quot;&quot;</span></span></td> 
    612       </tr> 
    613       <tr> 
    614         <td id="L51" class="blob-num js-line-number" data-line-number="51"></td> 
    615         <td id="LC51" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">return</span> <span class="pl-c1">dict</span>((p, (v<span class="pl-k">*</span><span class="pl-c1">1e6</span> <span class="pl-k">if</span> p.endswith(<span class="pl-s"><span class="pl-pds">&#39;</span>sld<span class="pl-pds">&#39;</span></span>) <span class="pl-k">else</span> v))</td> 
    616       </tr> 
    617       <tr> 
    618         <td id="L52" class="blob-num js-line-number" data-line-number="52"></td> 
    619         <td id="LC52" class="blob-code blob-code-inner js-file-line">                <span class="pl-k">for</span> p, v <span class="pl-k">in</span> pars.items())</td> 
    620       </tr> 
    621       <tr> 
    622         <td id="L53" class="blob-num js-line-number" data-line-number="53"></td> 
    623         <td id="LC53" class="blob-code blob-code-inner js-file-line"> 
    624 </td> 
    625       </tr> 
    626       <tr> 
    627         <td id="L54" class="blob-num js-line-number" data-line-number="54"></td> 
    628         <td id="LC54" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">convert_model</span>(<span class="pl-smi">name</span>, <span class="pl-smi">pars</span>):</td> 
    629       </tr> 
    630       <tr> 
    631         <td id="L55" class="blob-num js-line-number" data-line-number="55"></td> 
    632         <td id="LC55" class="blob-code blob-code-inner js-file-line">    <span class="pl-s"><span class="pl-pds">&quot;&quot;&quot;</span></span></td> 
    633       </tr> 
    634       <tr> 
    635         <td id="L56" class="blob-num js-line-number" data-line-number="56"></td> 
    636         <td id="LC56" class="blob-code blob-code-inner js-file-line"><span class="pl-s">    Convert model from old style parameter names to new style.</span></td> 
    637       </tr> 
    638       <tr> 
    639         <td id="L57" class="blob-num js-line-number" data-line-number="57"></td> 
    640         <td id="LC57" class="blob-code blob-code-inner js-file-line"><span class="pl-s">    <span class="pl-pds">&quot;&quot;&quot;</span></span></td> 
    641       </tr> 
    642       <tr> 
    643         <td id="L58" class="blob-num js-line-number" data-line-number="58"></td> 
    644         <td id="LC58" class="blob-code blob-code-inner js-file-line">    _, _ <span class="pl-k">=</span> name, pars <span class="pl-c"># lint</span></td> 
    645       </tr> 
    646       <tr> 
    647         <td id="L59" class="blob-num js-line-number" data-line-number="59"></td> 
    648         <td id="LC59" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">raise</span> <span class="pl-c1">NotImplementedError</span></td> 
    649       </tr> 
    650       <tr> 
    651         <td id="L60" class="blob-num js-line-number" data-line-number="60"></td> 
    652         <td id="LC60" class="blob-code blob-code-inner js-file-line">    <span class="pl-c"># need to load all new models in order to determine old=&gt;new</span></td> 
    653       </tr> 
    654       <tr> 
    655         <td id="L61" class="blob-num js-line-number" data-line-number="61"></td> 
    656         <td id="LC61" class="blob-code blob-code-inner js-file-line">    <span class="pl-c"># model name mapping</span></td> 
    657       </tr> 
    658       <tr> 
    659         <td id="L62" class="blob-num js-line-number" data-line-number="62"></td> 
    660         <td id="LC62" class="blob-code blob-code-inner js-file-line"> 
    661 </td> 
    662       </tr> 
    663       <tr> 
    664         <td id="L63" class="blob-num js-line-number" data-line-number="63"></td> 
    665         <td id="LC63" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">_unscale_sld</span>(<span class="pl-smi">pars</span>):</td> 
    666       </tr> 
    667       <tr> 
    668         <td id="L64" class="blob-num js-line-number" data-line-number="64"></td> 
    669         <td id="LC64" class="blob-code blob-code-inner js-file-line">    <span class="pl-s"><span class="pl-pds">&quot;&quot;&quot;</span></span></td> 
    670       </tr> 
    671       <tr> 
    672         <td id="L65" class="blob-num js-line-number" data-line-number="65"></td> 
    673         <td id="LC65" class="blob-code blob-code-inner js-file-line"><span class="pl-s">    rescale all sld parameters in the new model definition by 1e6 so the</span></td> 
    674       </tr> 
    675       <tr> 
    676         <td id="L66" class="blob-num js-line-number" data-line-number="66"></td> 
    677         <td id="LC66" class="blob-code blob-code-inner js-file-line"><span class="pl-s">    numbers are nicer.  Relies on the fact that all sld parameters in the</span></td> 
    678       </tr> 
    679       <tr> 
    680         <td id="L67" class="blob-num js-line-number" data-line-number="67"></td> 
    681         <td id="LC67" class="blob-code blob-code-inner js-file-line"><span class="pl-s">    new model definition end with sld.</span></td> 
    682       </tr> 
    683       <tr> 
    684         <td id="L68" class="blob-num js-line-number" data-line-number="68"></td> 
    685         <td id="LC68" class="blob-code blob-code-inner js-file-line"><span class="pl-s">    <span class="pl-pds">&quot;&quot;&quot;</span></span></td> 
    686       </tr> 
    687       <tr> 
    688         <td id="L69" class="blob-num js-line-number" data-line-number="69"></td> 
    689         <td id="LC69" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">return</span> <span class="pl-c1">dict</span>((p, (v<span class="pl-k">*</span><span class="pl-c1">1e-6</span> <span class="pl-k">if</span> p.endswith(<span class="pl-s"><span class="pl-pds">&#39;</span>sld<span class="pl-pds">&#39;</span></span>) <span class="pl-k">else</span> v))</td> 
    690       </tr> 
    691       <tr> 
    692         <td id="L70" class="blob-num js-line-number" data-line-number="70"></td> 
    693         <td id="LC70" class="blob-code blob-code-inner js-file-line">                <span class="pl-k">for</span> p, v <span class="pl-k">in</span> pars.items())</td> 
    694       </tr> 
    695       <tr> 
    696         <td id="L71" class="blob-num js-line-number" data-line-number="71"></td> 
    697         <td id="LC71" class="blob-code blob-code-inner js-file-line"> 
    698 </td> 
    699       </tr> 
    700       <tr> 
    701         <td id="L72" class="blob-num js-line-number" data-line-number="72"></td> 
    702         <td id="LC72" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">_remove_pd</span>(<span class="pl-smi">pars</span>, <span class="pl-smi">key</span>, <span class="pl-smi">name</span>):</td> 
    703       </tr> 
    704       <tr> 
    705         <td id="L73" class="blob-num js-line-number" data-line-number="73"></td> 
    706         <td id="LC73" class="blob-code blob-code-inner js-file-line">    <span class="pl-s"><span class="pl-pds">&quot;&quot;&quot;</span></span></td> 
    707       </tr> 
    708       <tr> 
    709         <td id="L74" class="blob-num js-line-number" data-line-number="74"></td> 
    710         <td id="LC74" class="blob-code blob-code-inner js-file-line"><span class="pl-s">    Remove polydispersity from the parameter list.</span></td> 
    711       </tr> 
    712       <tr> 
    713         <td id="L75" class="blob-num js-line-number" data-line-number="75"></td> 
    714         <td id="LC75" class="blob-code blob-code-inner js-file-line"><span class="pl-s"></span></td> 
    715       </tr> 
    716       <tr> 
    717         <td id="L76" class="blob-num js-line-number" data-line-number="76"></td> 
    718         <td id="LC76" class="blob-code blob-code-inner js-file-line"><span class="pl-s">    Note: operates in place</span></td> 
    719       </tr> 
    720       <tr> 
    721         <td id="L77" class="blob-num js-line-number" data-line-number="77"></td> 
    722         <td id="LC77" class="blob-code blob-code-inner js-file-line"><span class="pl-s">    <span class="pl-pds">&quot;&quot;&quot;</span></span></td> 
    723       </tr> 
    724       <tr> 
    725         <td id="L78" class="blob-num js-line-number" data-line-number="78"></td> 
    726         <td id="LC78" class="blob-code blob-code-inner js-file-line">    <span class="pl-c"># Bumps style parameter names</span></td> 
    727       </tr> 
    728       <tr> 
    729         <td id="L79" class="blob-num js-line-number" data-line-number="79"></td> 
    730         <td id="LC79" class="blob-code blob-code-inner js-file-line">    pd <span class="pl-k">=</span> pars.pop(key<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">&quot;</span>.width<span class="pl-pds">&quot;</span></span>, <span class="pl-c1">0.0</span>)</td> 
    731       </tr> 
    732       <tr> 
    733         <td id="L80" class="blob-num js-line-number" data-line-number="80"></td> 
    734         <td id="LC80" class="blob-code blob-code-inner js-file-line">    pd_n <span class="pl-k">=</span> pars.pop(key<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">&quot;</span>.npts<span class="pl-pds">&quot;</span></span>, <span class="pl-c1">0</span>)</td> 
    735       </tr> 
    736       <tr> 
    737         <td id="L81" class="blob-num js-line-number" data-line-number="81"></td> 
    738         <td id="LC81" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">if</span> pd <span class="pl-k">!=</span> <span class="pl-c1">0.0</span> <span class="pl-k">and</span> pd_n <span class="pl-k">!=</span> <span class="pl-c1">0</span>:</td> 
    739       </tr> 
    740       <tr> 
    741         <td id="L82" class="blob-num js-line-number" data-line-number="82"></td> 
    742         <td id="LC82" class="blob-code blob-code-inner js-file-line">        warnings.warn(<span class="pl-s"><span class="pl-pds">&quot;</span>parameter <span class="pl-c1">%s</span> not polydisperse in sasview <span class="pl-c1">%s</span><span class="pl-pds">&quot;</span></span><span class="pl-k">%</span>(key, name))</td> 
    743       </tr> 
    744       <tr> 
    745         <td id="L83" class="blob-num js-line-number" data-line-number="83"></td> 
    746         <td id="LC83" class="blob-code blob-code-inner js-file-line">    pars.pop(key<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">&quot;</span>.nsigmas<span class="pl-pds">&quot;</span></span>, <span class="pl-c1">None</span>)</td> 
    747       </tr> 
    748       <tr> 
    749         <td id="L84" class="blob-num js-line-number" data-line-number="84"></td> 
    750         <td id="LC84" class="blob-code blob-code-inner js-file-line">    pars.pop(key<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">&quot;</span>.type<span class="pl-pds">&quot;</span></span>, <span class="pl-c1">None</span>)</td> 
    751       </tr> 
    752       <tr> 
    753         <td id="L85" class="blob-num js-line-number" data-line-number="85"></td> 
    754         <td id="LC85" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">return</span> pars</td> 
    755       </tr> 
    756       <tr> 
    757         <td id="L86" class="blob-num js-line-number" data-line-number="86"></td> 
    758         <td id="LC86" class="blob-code blob-code-inner js-file-line"> 
    759 </td> 
    760       </tr> 
    761       <tr> 
    762         <td id="L87" class="blob-num js-line-number" data-line-number="87"></td> 
    763         <td id="LC87" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">_revert_pars</span>(<span class="pl-smi">pars</span>, <span class="pl-smi">mapping</span>):</td> 
    764       </tr> 
    765       <tr> 
    766         <td id="L88" class="blob-num js-line-number" data-line-number="88"></td> 
    767         <td id="LC88" class="blob-code blob-code-inner js-file-line">    <span class="pl-s"><span class="pl-pds">&quot;&quot;&quot;</span></span></td> 
    768       </tr> 
    769       <tr> 
    770         <td id="L89" class="blob-num js-line-number" data-line-number="89"></td> 
    771         <td id="LC89" class="blob-code blob-code-inner js-file-line"><span class="pl-s">    Rename the parameters and any associated polydispersity attributes.</span></td> 
    772       </tr> 
    773       <tr> 
    774         <td id="L90" class="blob-num js-line-number" data-line-number="90"></td> 
    775         <td id="LC90" class="blob-code blob-code-inner js-file-line"><span class="pl-s">    <span class="pl-pds">&quot;&quot;&quot;</span></span></td> 
    776       </tr> 
    777       <tr> 
    778         <td id="L91" class="blob-num js-line-number" data-line-number="91"></td> 
    779         <td id="LC91" class="blob-code blob-code-inner js-file-line">    newpars <span class="pl-k">=</span> pars.copy()</td> 
    780       </tr> 
    781       <tr> 
    782         <td id="L92" class="blob-num js-line-number" data-line-number="92"></td> 
    783         <td id="LC92" class="blob-code blob-code-inner js-file-line"> 
    784 </td> 
    785       </tr> 
    786       <tr> 
    787         <td id="L93" class="blob-num js-line-number" data-line-number="93"></td> 
    788         <td id="LC93" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">for</span> new, old <span class="pl-k">in</span> mapping.items():</td> 
    789       </tr> 
    790       <tr> 
    791         <td id="L94" class="blob-num js-line-number" data-line-number="94"></td> 
    792         <td id="LC94" class="blob-code blob-code-inner js-file-line">        <span class="pl-k">for</span> pd, dot <span class="pl-k">in</span> <span class="pl-c1">PD_DOT</span>:</td> 
    793       </tr> 
    794       <tr> 
    795         <td id="L95" class="blob-num js-line-number" data-line-number="95"></td> 
    796         <td id="LC95" class="blob-code blob-code-inner js-file-line">            <span class="pl-k">if</span> old <span class="pl-k">and</span> old<span class="pl-k">+</span>pd <span class="pl-k">==</span> new<span class="pl-k">+</span>dot:</td> 
    797       </tr> 
    798       <tr> 
    799         <td id="L96" class="blob-num js-line-number" data-line-number="96"></td> 
    800         <td id="LC96" class="blob-code blob-code-inner js-file-line">                <span class="pl-k">continue</span></td> 
    801       </tr> 
    802       <tr> 
    803         <td id="L97" class="blob-num js-line-number" data-line-number="97"></td> 
    804         <td id="LC97" class="blob-code blob-code-inner js-file-line">            <span class="pl-k">if</span> new<span class="pl-k">+</span>pd <span class="pl-k">in</span> newpars:</td> 
    805       </tr> 
    806       <tr> 
    807         <td id="L98" class="blob-num js-line-number" data-line-number="98"></td> 
    808         <td id="LC98" class="blob-code blob-code-inner js-file-line">                <span class="pl-k">if</span> old <span class="pl-k">is</span> <span class="pl-k">not</span> <span class="pl-c1">None</span>:</td> 
    809       </tr> 
    810       <tr> 
    811         <td id="L99" class="blob-num js-line-number" data-line-number="99"></td> 
    812         <td id="LC99" class="blob-code blob-code-inner js-file-line">                    newpars[old<span class="pl-k">+</span>dot] <span class="pl-k">=</span> pars[new<span class="pl-k">+</span>pd]</td> 
    813       </tr> 
    814       <tr> 
    815         <td id="L100" class="blob-num js-line-number" data-line-number="100"></td> 
    816         <td id="LC100" class="blob-code blob-code-inner js-file-line">                <span class="pl-k">del</span> newpars[new<span class="pl-k">+</span>pd]</td> 
    817       </tr> 
    818       <tr> 
    819         <td id="L101" class="blob-num js-line-number" data-line-number="101"></td> 
    820         <td id="LC101" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">for</span> k <span class="pl-k">in</span> <span class="pl-c1">list</span>(newpars.keys()):</td> 
    821       </tr> 
    822       <tr> 
    823         <td id="L102" class="blob-num js-line-number" data-line-number="102"></td> 
    824         <td id="LC102" class="blob-code blob-code-inner js-file-line">        <span class="pl-k">for</span> pd, dot <span class="pl-k">in</span> <span class="pl-c1">PD_DOT</span>[<span class="pl-c1">1</span>:]:  <span class="pl-c"># skip &quot;&quot; =&gt; &quot;&quot;</span></td> 
    825       </tr> 
    826       <tr> 
    827         <td id="L103" class="blob-num js-line-number" data-line-number="103"></td> 
    828         <td id="LC103" class="blob-code blob-code-inner js-file-line">            <span class="pl-k">if</span> k.endswith(pd):</td> 
    829       </tr> 
    830       <tr> 
    831         <td id="L104" class="blob-num js-line-number" data-line-number="104"></td> 
    832         <td id="LC104" class="blob-code blob-code-inner js-file-line">                newpars[k[:<span class="pl-k">-</span><span class="pl-c1">len</span>(pd)]<span class="pl-k">+</span>dot] <span class="pl-k">=</span> newpars[k]</td> 
    833       </tr> 
    834       <tr> 
    835         <td id="L105" class="blob-num js-line-number" data-line-number="105"></td> 
    836         <td id="LC105" class="blob-code blob-code-inner js-file-line">                <span class="pl-k">del</span> newpars[k]</td> 
    837       </tr> 
    838       <tr> 
    839         <td id="L106" class="blob-num js-line-number" data-line-number="106"></td> 
    840         <td id="LC106" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">return</span> newpars</td> 
    841       </tr> 
    842       <tr> 
    843         <td id="L107" class="blob-num js-line-number" data-line-number="107"></td> 
    844         <td id="LC107" class="blob-code blob-code-inner js-file-line"> 
    845 </td> 
    846       </tr> 
    847       <tr> 
    848         <td id="L108" class="blob-num js-line-number" data-line-number="108"></td> 
    849         <td id="LC108" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">revert_model</span>(<span class="pl-smi">model_definition</span>, <span class="pl-smi">pars</span>):</td> 
    850       </tr> 
    851       <tr> 
    852         <td id="L109" class="blob-num js-line-number" data-line-number="109"></td> 
    853         <td id="LC109" class="blob-code blob-code-inner js-file-line">    <span class="pl-s"><span class="pl-pds">&quot;&quot;&quot;</span></span></td> 
    854       </tr> 
    855       <tr> 
    856         <td id="L110" class="blob-num js-line-number" data-line-number="110"></td> 
    857         <td id="LC110" class="blob-code blob-code-inner js-file-line"><span class="pl-s">    Convert model from new style parameter names to old style.</span></td> 
    858       </tr> 
    859       <tr> 
    860         <td id="L111" class="blob-num js-line-number" data-line-number="111"></td> 
    861         <td id="LC111" class="blob-code blob-code-inner js-file-line"><span class="pl-s">    <span class="pl-pds">&quot;&quot;&quot;</span></span></td> 
    862       </tr> 
    863       <tr> 
    864         <td id="L112" class="blob-num js-line-number" data-line-number="112"></td> 
    865         <td id="LC112" class="blob-code blob-code-inner js-file-line">    mapping <span class="pl-k">=</span> model_definition.oldpars</td> 
    866       </tr> 
    867       <tr> 
    868         <td id="L113" class="blob-num js-line-number" data-line-number="113"></td> 
    869         <td id="LC113" class="blob-code blob-code-inner js-file-line">    oldname <span class="pl-k">=</span> model_definition.oldname</td> 
    870       </tr> 
    871       <tr> 
    872         <td id="L114" class="blob-num js-line-number" data-line-number="114"></td> 
    873         <td id="LC114" class="blob-code blob-code-inner js-file-line">    oldpars <span class="pl-k">=</span> _revert_pars(_unscale_sld(pars), mapping)</td> 
    874       </tr> 
    875       <tr> 
    876         <td id="L115" class="blob-num js-line-number" data-line-number="115"></td> 
    877         <td id="LC115" class="blob-code blob-code-inner js-file-line"> 
    878 </td> 
    879       </tr> 
    880       <tr> 
    881         <td id="L116" class="blob-num js-line-number" data-line-number="116"></td> 
    882         <td id="LC116" class="blob-code blob-code-inner js-file-line">    <span class="pl-c"># Note: update compare.constrain_pars to match</span></td> 
    883       </tr> 
    884       <tr> 
    885         <td id="L117" class="blob-num js-line-number" data-line-number="117"></td> 
    886         <td id="LC117" class="blob-code blob-code-inner js-file-line">    name <span class="pl-k">=</span> model_definition.name</td> 
    887       </tr> 
    888       <tr> 
    889         <td id="L118" class="blob-num js-line-number" data-line-number="118"></td> 
    890         <td id="LC118" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">if</span> name <span class="pl-k">in</span> <span class="pl-c1">MODELS_WITHOUT_SCALE</span>:</td> 
    891       </tr> 
    892       <tr> 
    893         <td id="L119" class="blob-num js-line-number" data-line-number="119"></td> 
    894         <td id="LC119" class="blob-code blob-code-inner js-file-line">        <span class="pl-k">if</span> oldpars.pop(<span class="pl-s"><span class="pl-pds">&#39;</span>scale<span class="pl-pds">&#39;</span></span>, <span class="pl-c1">1.0</span>) <span class="pl-k">!=</span> <span class="pl-c1">1.0</span>:</td> 
    895       </tr> 
    896       <tr> 
    897         <td id="L120" class="blob-num js-line-number" data-line-number="120"></td> 
    898         <td id="LC120" class="blob-code blob-code-inner js-file-line">            warnings.warn(<span class="pl-s"><span class="pl-pds">&quot;</span>parameter scale not used in sasview <span class="pl-c1">%s</span><span class="pl-pds">&quot;</span></span><span class="pl-k">%</span>name)</td> 
    899       </tr> 
    900       <tr> 
    901         <td id="L121" class="blob-num js-line-number" data-line-number="121"></td> 
    902         <td id="LC121" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">elif</span> name <span class="pl-k">in</span> <span class="pl-c1">MODELS_WITHOUT_BACKGROUND</span>:</td> 
    903       </tr> 
    904       <tr> 
    905         <td id="L122" class="blob-num js-line-number" data-line-number="122"></td> 
    906         <td id="LC122" class="blob-code blob-code-inner js-file-line">        <span class="pl-k">if</span> oldpars.pop(<span class="pl-s"><span class="pl-pds">&#39;</span>background<span class="pl-pds">&#39;</span></span>, <span class="pl-c1">0.0</span>) <span class="pl-k">!=</span> <span class="pl-c1">0.0</span>:</td> 
    907       </tr> 
    908       <tr> 
    909         <td id="L123" class="blob-num js-line-number" data-line-number="123"></td> 
    910         <td id="LC123" class="blob-code blob-code-inner js-file-line">            warnings.warn(<span class="pl-s"><span class="pl-pds">&quot;</span>parameter background not used in sasview <span class="pl-c1">%s</span><span class="pl-pds">&quot;</span></span><span class="pl-k">%</span>name)</td> 
    911       </tr> 
    912       <tr> 
    913         <td id="L124" class="blob-num js-line-number" data-line-number="124"></td> 
    914         <td id="LC124" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">elif</span> <span class="pl-c1">getattr</span>(model_definition, <span class="pl-s"><span class="pl-pds">&#39;</span>category<span class="pl-pds">&#39;</span></span>, <span class="pl-c1">None</span>) <span class="pl-k">==</span> <span class="pl-s"><span class="pl-pds">&#39;</span>structure-factor<span class="pl-pds">&#39;</span></span>:</td> 
    915       </tr> 
    916       <tr> 
    917         <td id="L125" class="blob-num js-line-number" data-line-number="125"></td> 
    918         <td id="LC125" class="blob-code blob-code-inner js-file-line">        <span class="pl-k">if</span> oldpars.pop(<span class="pl-s"><span class="pl-pds">&#39;</span>scale<span class="pl-pds">&#39;</span></span>, <span class="pl-c1">1.0</span>) <span class="pl-k">!=</span> <span class="pl-c1">1.0</span>:</td> 
    919       </tr> 
    920       <tr> 
    921         <td id="L126" class="blob-num js-line-number" data-line-number="126"></td> 
    922         <td id="LC126" class="blob-code blob-code-inner js-file-line">            warnings.warn(<span class="pl-s"><span class="pl-pds">&quot;</span>parameter scale not used in sasview <span class="pl-c1">%s</span><span class="pl-pds">&quot;</span></span><span class="pl-k">%</span>name)</td> 
    923       </tr> 
    924       <tr> 
    925         <td id="L127" class="blob-num js-line-number" data-line-number="127"></td> 
    926         <td id="LC127" class="blob-code blob-code-inner js-file-line">        <span class="pl-k">if</span> oldpars.pop(<span class="pl-s"><span class="pl-pds">&#39;</span>background<span class="pl-pds">&#39;</span></span>, <span class="pl-c1">0.0</span>) <span class="pl-k">!=</span> <span class="pl-c1">0.0</span>:</td> 
    927       </tr> 
    928       <tr> 
    929         <td id="L128" class="blob-num js-line-number" data-line-number="128"></td> 
    930         <td id="LC128" class="blob-code blob-code-inner js-file-line">            warnings.warn(<span class="pl-s"><span class="pl-pds">&quot;</span>parameter background not used in sasview <span class="pl-c1">%s</span><span class="pl-pds">&quot;</span></span><span class="pl-k">%</span>name)</td> 
    931       </tr> 
    932       <tr> 
    933         <td id="L129" class="blob-num js-line-number" data-line-number="129"></td> 
    934         <td id="LC129" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">elif</span> name <span class="pl-k">==</span> <span class="pl-s"><span class="pl-pds">&#39;</span>pearl_necklace<span class="pl-pds">&#39;</span></span>:</td> 
    935       </tr> 
    936       <tr> 
    937         <td id="L130" class="blob-num js-line-number" data-line-number="130"></td> 
    938         <td id="LC130" class="blob-code blob-code-inner js-file-line">        _remove_pd(oldpars, <span class="pl-s"><span class="pl-pds">&#39;</span>num_pearls<span class="pl-pds">&#39;</span></span>, name)</td> 
    939       </tr> 
    940       <tr> 
    941         <td id="L131" class="blob-num js-line-number" data-line-number="131"></td> 
    942         <td id="LC131" class="blob-code blob-code-inner js-file-line">        _remove_pd(oldpars, <span class="pl-s"><span class="pl-pds">&#39;</span>thick_string<span class="pl-pds">&#39;</span></span>, name)</td> 
    943       </tr> 
    944       <tr> 
    945         <td id="L132" class="blob-num js-line-number" data-line-number="132"></td> 
    946         <td id="LC132" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">elif</span> name <span class="pl-k">==</span> <span class="pl-s"><span class="pl-pds">&#39;</span>rpa<span class="pl-pds">&#39;</span></span>:</td> 
    947       </tr> 
    948       <tr> 
    949         <td id="L133" class="blob-num js-line-number" data-line-number="133"></td> 
    950         <td id="LC133" class="blob-code blob-code-inner js-file-line">        <span class="pl-c"># convert scattering lengths from femtometers to centimeters</span></td> 
    951       </tr> 
    952       <tr> 
    953         <td id="L134" class="blob-num js-line-number" data-line-number="134"></td> 
    954         <td id="LC134" class="blob-code blob-code-inner js-file-line">        <span class="pl-k">for</span> p <span class="pl-k">in</span> <span class="pl-s"><span class="pl-pds">&quot;</span>La<span class="pl-pds">&quot;</span></span>, <span class="pl-s"><span class="pl-pds">&quot;</span>Lb<span class="pl-pds">&quot;</span></span>, <span class="pl-s"><span class="pl-pds">&quot;</span>Lc<span class="pl-pds">&quot;</span></span>, <span class="pl-s"><span class="pl-pds">&quot;</span>Ld<span class="pl-pds">&quot;</span></span>:</td> 
    955       </tr> 
    956       <tr> 
    957         <td id="L135" class="blob-num js-line-number" data-line-number="135"></td> 
    958         <td id="LC135" class="blob-code blob-code-inner js-file-line">            <span class="pl-k">if</span> p <span class="pl-k">in</span> oldpars: oldpars[p] <span class="pl-k">*=</span> <span class="pl-c1">1e-13</span></td> 
    959       </tr> 
    960       <tr> 
    961         <td id="L136" class="blob-num js-line-number" data-line-number="136"></td> 
    962         <td id="LC136" class="blob-code blob-code-inner js-file-line"> 
    963 </td> 
    964       </tr> 
    965       <tr> 
    966         <td id="L137" class="blob-num js-line-number" data-line-number="137"></td> 
    967         <td id="LC137" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">return</span> oldname, oldpars</td> 
    968       </tr> 
    969       <tr> 
    970         <td id="L138" class="blob-num js-line-number" data-line-number="138"></td> 
    971         <td id="LC138" class="blob-code blob-code-inner js-file-line"> 
    972 </td> 
    973       </tr> 
    974       <tr> 
    975         <td id="L139" class="blob-num js-line-number" data-line-number="139"></td> 
    976         <td id="LC139" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">constrain_new_to_old</span>(<span class="pl-smi">model_definition</span>, <span class="pl-smi">pars</span>):</td> 
    977       </tr> 
    978       <tr> 
    979         <td id="L140" class="blob-num js-line-number" data-line-number="140"></td> 
    980         <td id="LC140" class="blob-code blob-code-inner js-file-line">    <span class="pl-s"><span class="pl-pds">&quot;&quot;&quot;</span></span></td> 
    981       </tr> 
    982       <tr> 
    983         <td id="L141" class="blob-num js-line-number" data-line-number="141"></td> 
    984         <td id="LC141" class="blob-code blob-code-inner js-file-line"><span class="pl-s">    Restrict parameter values to those that will match sasview.</span></td> 
    985       </tr> 
    986       <tr> 
    987         <td id="L142" class="blob-num js-line-number" data-line-number="142"></td> 
    988         <td id="LC142" class="blob-code blob-code-inner js-file-line"><span class="pl-s">    <span class="pl-pds">&quot;&quot;&quot;</span></span></td> 
    989       </tr> 
    990       <tr> 
    991         <td id="L143" class="blob-num js-line-number" data-line-number="143"></td> 
    992         <td id="LC143" class="blob-code blob-code-inner js-file-line">    <span class="pl-c"># Note: update convert.revert_model to match</span></td> 
    993       </tr> 
    994       <tr> 
    995         <td id="L144" class="blob-num js-line-number" data-line-number="144"></td> 
    996         <td id="LC144" class="blob-code blob-code-inner js-file-line">    name <span class="pl-k">=</span> model_definition.name</td> 
    997       </tr> 
    998       <tr> 
    999         <td id="L145" class="blob-num js-line-number" data-line-number="145"></td> 
    1000         <td id="LC145" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">if</span> name <span class="pl-k">in</span> <span class="pl-c1">MODELS_WITHOUT_SCALE</span>:</td> 
    1001       </tr> 
    1002       <tr> 
    1003         <td id="L146" class="blob-num js-line-number" data-line-number="146"></td> 
    1004         <td id="LC146" class="blob-code blob-code-inner js-file-line">        pars[<span class="pl-s"><span class="pl-pds">&#39;</span>scale<span class="pl-pds">&#39;</span></span>] <span class="pl-k">=</span> <span class="pl-c1">1</span></td> 
    1005       </tr> 
    1006       <tr> 
    1007         <td id="L147" class="blob-num js-line-number" data-line-number="147"></td> 
    1008         <td id="LC147" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">elif</span> name <span class="pl-k">in</span> <span class="pl-c1">MODELS_WITHOUT_BACKGROUND</span>:</td> 
    1009       </tr> 
    1010       <tr> 
    1011         <td id="L148" class="blob-num js-line-number" data-line-number="148"></td> 
    1012         <td id="LC148" class="blob-code blob-code-inner js-file-line">        pars[<span class="pl-s"><span class="pl-pds">&#39;</span>background<span class="pl-pds">&#39;</span></span>] <span class="pl-k">=</span> <span class="pl-c1">0</span></td> 
    1013       </tr> 
    1014       <tr> 
    1015         <td id="L149" class="blob-num js-line-number" data-line-number="149"></td> 
    1016         <td id="LC149" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">elif</span> name <span class="pl-k">==</span> <span class="pl-s"><span class="pl-pds">&#39;</span>pearl_necklace<span class="pl-pds">&#39;</span></span>:</td> 
    1017       </tr> 
    1018       <tr> 
    1019         <td id="L150" class="blob-num js-line-number" data-line-number="150"></td> 
    1020         <td id="LC150" class="blob-code blob-code-inner js-file-line">        pars[<span class="pl-s"><span class="pl-pds">&#39;</span>string_thickness_pd_n<span class="pl-pds">&#39;</span></span>] <span class="pl-k">=</span> <span class="pl-c1">0</span></td> 
    1021       </tr> 
    1022       <tr> 
    1023         <td id="L151" class="blob-num js-line-number" data-line-number="151"></td> 
    1024         <td id="LC151" class="blob-code blob-code-inner js-file-line">        pars[<span class="pl-s"><span class="pl-pds">&#39;</span>number_of_pearls_pd_n<span class="pl-pds">&#39;</span></span>] <span class="pl-k">=</span> <span class="pl-c1">0</span></td> 
    1025       </tr> 
    1026       <tr> 
    1027         <td id="L152" class="blob-num js-line-number" data-line-number="152"></td> 
    1028         <td id="LC152" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">elif</span> name <span class="pl-k">==</span> <span class="pl-s"><span class="pl-pds">&#39;</span>rpa<span class="pl-pds">&#39;</span></span>:</td> 
    1029       </tr> 
    1030       <tr> 
    1031         <td id="L153" class="blob-num js-line-number" data-line-number="153"></td> 
    1032         <td id="LC153" class="blob-code blob-code-inner js-file-line">        pars[<span class="pl-s"><span class="pl-pds">&#39;</span>case_num<span class="pl-pds">&#39;</span></span>] <span class="pl-k">=</span> <span class="pl-c1">int</span>(pars[<span class="pl-s"><span class="pl-pds">&#39;</span>case_num<span class="pl-pds">&#39;</span></span>])</td> 
    1033       </tr> 
    1034       <tr> 
    1035         <td id="L154" class="blob-num js-line-number" data-line-number="154"></td> 
    1036         <td id="LC154" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">elif</span> <span class="pl-c1">getattr</span>(model_definition, <span class="pl-s"><span class="pl-pds">&#39;</span>category<span class="pl-pds">&#39;</span></span>, <span class="pl-c1">None</span>) <span class="pl-k">==</span> <span class="pl-s"><span class="pl-pds">&#39;</span>structure-factor<span class="pl-pds">&#39;</span></span>:</td> 
    1037       </tr> 
    1038       <tr> 
    1039         <td id="L155" class="blob-num js-line-number" data-line-number="155"></td> 
    1040         <td id="LC155" class="blob-code blob-code-inner js-file-line">        pars[<span class="pl-s"><span class="pl-pds">&#39;</span>scale<span class="pl-pds">&#39;</span></span>], pars[<span class="pl-s"><span class="pl-pds">&#39;</span>background<span class="pl-pds">&#39;</span></span>] <span class="pl-k">=</span> <span class="pl-c1">1</span>, <span class="pl-c1">0</span></td> 
    1041       </tr> 
    1042       <tr> 
    1043         <td id="L156" class="blob-num js-line-number" data-line-number="156"></td> 
    1044         <td id="LC156" class="blob-code blob-code-inner js-file-line"> 
    1045 </td> 
    1046       </tr> 
    1047 </table> 
    1048  
    1049   </div> 
    1050  
    1051 </div> 
    1052  
    1053 <a href="#jump-to-line" rel="facebox[.linejump]" data-hotkey="l" style="display:none">Jump to Line</a> 
    1054 <div id="jump-to-line" style="display:none"> 
    1055   <!-- </textarea> --><!-- '"` --><form accept-charset="UTF-8" action="" class="js-jump-to-line-form" method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /></div> 
    1056     <input class="linejump-input js-jump-to-line-field" type="text" placeholder="Jump to line&hellip;" aria-label="Jump to line" autofocus> 
    1057     <button type="submit" class="btn">Go</button> 
    1058 </form></div> 
    1059  
    1060   </div> 
    1061   <div class="modal-backdrop"></div> 
    1062 </div> 
    1063  
    1064     </div> 
    1065   </div> 
    1066  
    1067     </div> 
    1068  
    1069         <div class="container"> 
    1070   <div class="site-footer" role="contentinfo"> 
    1071     <ul class="site-footer-links right"> 
    1072         <li><a href="https://status.github.com/" data-ga-click="Footer, go to status, text:status">Status</a></li> 
    1073       <li><a href="https://developer.github.com" data-ga-click="Footer, go to api, text:api">API</a></li> 
    1074       <li><a href="https://training.github.com" data-ga-click="Footer, go to training, text:training">Training</a></li> 
    1075       <li><a href="https://shop.github.com" data-ga-click="Footer, go to shop, text:shop">Shop</a></li> 
    1076         <li><a href="https://github.com/blog" data-ga-click="Footer, go to blog, text:blog">Blog</a></li> 
    1077         <li><a href="https://github.com/about" data-ga-click="Footer, go to about, text:about">About</a></li> 
    1078         <li><a href="https://github.com/pricing" data-ga-click="Footer, go to pricing, text:pricing">Pricing</a></li> 
    1079  
    1080     </ul> 
    1081  
    1082     <a href="https://github.com" aria-label="Homepage"> 
    1083       <svg aria-hidden="true" class="octicon octicon-mark-github" height="24" role="img" title="GitHub " version="1.1" viewBox="0 0 16 16" width="24"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59 0.4 0.07 0.55-0.17 0.55-0.38 0-0.19-0.01-0.82-0.01-1.49-2.01 0.37-2.53-0.49-2.69-0.94-0.09-0.23-0.48-0.94-0.82-1.13-0.28-0.15-0.68-0.52-0.01-0.53 0.63-0.01 1.08 0.58 1.23 0.82 0.72 1.21 1.87 0.87 2.33 0.66 0.07-0.52 0.28-0.87 0.51-1.07-1.78-0.2-3.64-0.89-3.64-3.95 0-0.87 0.31-1.59 0.82-2.15-0.08-0.2-0.36-1.02 0.08-2.12 0 0 0.67-0.21 2.2 0.82 0.64-0.18 1.32-0.27 2-0.27 0.68 0 1.36 0.09 2 0.27 1.53-1.04 2.2-0.82 2.2-0.82 0.44 1.1 0.16 1.92 0.08 2.12 0.51 0.56 0.82 1.27 0.82 2.15 0 3.07-1.87 3.75-3.65 3.95 0.29 0.25 0.54 0.73 0.54 1.48 0 1.07-0.01 1.93-0.01 2.2 0 0.21 0.15 0.46 0.55 0.38C13.71 14.53 16 11.53 16 8 16 3.58 12.42 0 8 0z"></path></svg> 
    1084 </a> 
    1085     <ul class="site-footer-links"> 
    1086       <li>&copy; 2016 <span title="0.05637s from github-fe127-cp1-prd.iad.github.net">GitHub</span>, Inc.</li> 
    1087         <li><a href="https://github.com/site/terms" data-ga-click="Footer, go to terms, text:terms">Terms</a></li> 
    1088         <li><a href="https://github.com/site/privacy" data-ga-click="Footer, go to privacy, text:privacy">Privacy</a></li> 
    1089         <li><a href="https://github.com/security" data-ga-click="Footer, go to security, text:security">Security</a></li> 
    1090         <li><a href="https://github.com/contact" data-ga-click="Footer, go to contact, text:contact">Contact</a></li> 
    1091         <li><a href="https://help.github.com" data-ga-click="Footer, go to help, text:help">Help</a></li> 
    1092     </ul> 
    1093   </div> 
    1094 </div> 
    1095  
    1096  
    1097  
    1098      
    1099      
    1100      
    1101  
    1102     <div id="ajax-error-message" class="flash flash-error"> 
    1103       <svg aria-hidden="true" class="octicon octicon-alert" height="16" role="img" version="1.1" viewBox="0 0 16 16" width="16"><path d="M15.72 12.5l-6.85-11.98C8.69 0.21 8.36 0.02 8 0.02s-0.69 0.19-0.87 0.5l-6.85 11.98c-0.18 0.31-0.18 0.69 0 1C0.47 13.81 0.8 14 1.15 14h13.7c0.36 0 0.69-0.19 0.86-0.5S15.89 12.81 15.72 12.5zM9 12H7V10h2V12zM9 9H7V5h2V9z"></path></svg> 
    1104       <button type="button" class="flash-close js-flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> 
    1105         <svg aria-hidden="true" class="octicon octicon-x" height="16" role="img" version="1.1" viewBox="0 0 12 16" width="12"><path d="M7.48 8l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75-1.48-1.48 3.75-3.75L0.77 4.25l1.48-1.48 3.75 3.75 3.75-3.75 1.48 1.48-3.75 3.75z"></path></svg> 
    1106       </button> 
    1107       Something went wrong with that request. Please try again. 
    1108     </div> 
    1109  
    1110  
    1111        
    1112       <script crossorigin="anonymous" integrity="sha256-7lIbjp+srGj/J+k/w64PjtgR17+eQ06E9LnqIneAsIQ=" src="https://assets-cdn.github.com/assets/frameworks-ee521b8e9facac68ff27e93fc3ae0f8ed811d7bf9e434e84f4b9ea227780b084.js"></script> 
    1113       <script async="async" crossorigin="anonymous" integrity="sha256-aWM2lkt8QuTG9N+68fjlf0Jc2anRihLz/m4910T9fRM=" src="https://assets-cdn.github.com/assets/github-696336964b7c42e4c6f4dfbaf1f8e57f425cd9a9d18a12f3fe6e3dd744fd7d13.js"></script> 
    1114        
    1115        
    1116        
    1117     <div class="js-stale-session-flash stale-session-flash flash flash-warn flash-banner hidden"> 
    1118       <svg aria-hidden="true" class="octicon octicon-alert" height="16" role="img" version="1.1" viewBox="0 0 16 16" width="16"><path d="M15.72 12.5l-6.85-11.98C8.69 0.21 8.36 0.02 8 0.02s-0.69 0.19-0.87 0.5l-6.85 11.98c-0.18 0.31-0.18 0.69 0 1C0.47 13.81 0.8 14 1.15 14h13.7c0.36 0 0.69-0.19 0.86-0.5S15.89 12.81 15.72 12.5zM9 12H7V10h2V12zM9 9H7V5h2V9z"></path></svg> 
    1119       <span class="signed-in-tab-flash">You signed in with another tab or window. <a href="">Reload</a> to refresh your session.</span> 
    1120       <span class="signed-out-tab-flash">You signed out in another tab or window. <a href="">Reload</a> to refresh your session.</span> 
    1121     </div> 
    1122     <div class="facebox" id="facebox" style="display:none;"> 
    1123   <div class="facebox-popup"> 
    1124     <div class="facebox-content" role="dialog" aria-labelledby="facebox-header" aria-describedby="facebox-description"> 
    1125     </div> 
    1126     <button type="button" class="facebox-close js-facebox-close" aria-label="Close modal"> 
    1127       <svg aria-hidden="true" class="octicon octicon-x" height="16" role="img" version="1.1" viewBox="0 0 12 16" width="12"><path d="M7.48 8l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75-1.48-1.48 3.75-3.75L0.77 4.25l1.48-1.48 3.75 3.75 3.75-3.75 1.48 1.48-3.75 3.75z"></path></svg> 
    1128     </button> 
    1129   </div> 
    1130 </div> 
    1131  
    1132   </body> 
    1133 </html> 
    1134  
Note: See TracChangeset for help on using the changeset viewer.