aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/DFOP.solution-2.pngbin0 -> 6375 bytes
-rw-r--r--docs/DFOP.solution.html129
-rw-r--r--docs/Extract.mmkin.html1199
-rw-r--r--docs/FOCUS_2006_DFOP_ref_A_to_B.html133
-rw-r--r--docs/FOCUS_2006_FOMC_ref_A_to_F.html131
-rw-r--r--docs/FOCUS_2006_HS_ref_A_to_F.html133
-rw-r--r--docs/FOCUS_2006_SFO_ref_A_to_F.html129
-rw-r--r--docs/FOCUS_2006_datasets.html130
-rw-r--r--docs/FOMC.solution-2.pngbin0 -> 6406 bytes
-rw-r--r--docs/FOMC.solution.html145
-rw-r--r--docs/HS.solution-2.pngbin0 -> 6153 bytes
-rw-r--r--docs/HS.solution.html127
-rw-r--r--docs/IORE.solution-2.pngbin0 -> 6168 bytes
-rw-r--r--docs/IORE.solution.html150
-rw-r--r--docs/SFO.solution.html119
-rw-r--r--docs/SFORB.solution.html128
-rw-r--r--docs/add_err-4.pngbin0 -> 26860 bytes
-rw-r--r--docs/add_err-6.pngbin0 -> 15779 bytes
-rw-r--r--docs/add_err-8.pngbin0 -> 14754 bytes
-rw-r--r--docs/add_err.html201
-rw-r--r--docs/css/bootstrap-responsive.css815
-rw-r--r--docs/css/bootstrap-responsive.min.css9
-rw-r--r--docs/css/bootstrap.css4983
-rw-r--r--docs/css/bootstrap.min.css9
-rw-r--r--docs/css/highlight.css28
-rw-r--r--docs/css/staticdocs.css25
-rw-r--r--docs/endpoints.html121
-rw-r--r--docs/geometric_mean.html114
-rw-r--r--docs/ilr.html168
-rw-r--r--docs/img/glyphicons-halflings-white.pngbin0 -> 8777 bytes
-rw-r--r--docs/img/glyphicons-halflings.pngbin0 -> 13826 bytes
-rw-r--r--docs/index.html244
-rw-r--r--docs/js/bootstrap.js1825
-rw-r--r--docs/js/bootstrap.min.js6
-rw-r--r--docs/mccall81_245T.html232
-rw-r--r--docs/mkin_long_to_wide.html150
-rw-r--r--docs/mkin_wide_to_long.html129
-rw-r--r--docs/mkinds.html121
-rw-r--r--docs/mkinerrmin.html161
-rw-r--r--docs/mkinfit.html538
-rw-r--r--docs/mkinmod.html221
-rw-r--r--docs/mkinparplot-4.pngbin0 -> 5373 bytes
-rw-r--r--docs/mkinparplot.html123
-rw-r--r--docs/mkinplot.html115
-rw-r--r--docs/mkinpredict.html345
-rw-r--r--docs/mkinresplot-4.pngbin0 -> 5255 bytes
-rw-r--r--docs/mkinresplot.html163
-rw-r--r--docs/mkinsub.html149
-rw-r--r--docs/mmkin.html172
-rw-r--r--docs/plot.mkinfit-10.pngbin0 -> 18197 bytes
-rw-r--r--docs/plot.mkinfit-4.pngbin0 -> 13748 bytes
-rw-r--r--docs/plot.mkinfit-6.pngbin0 -> 16810 bytes
-rw-r--r--docs/plot.mkinfit-8.pngbin0 -> 13728 bytes
-rw-r--r--docs/plot.mkinfit.html238
-rw-r--r--docs/plot.mmkin-2.pngbin0 -> 10552 bytes
-rw-r--r--docs/plot.mmkin-4.pngbin0 -> 10559 bytes
-rw-r--r--docs/plot.mmkin-6.pngbin0 -> 7945 bytes
-rw-r--r--docs/plot.mmkin.html158
-rw-r--r--docs/print.mkinds.html101
-rw-r--r--docs/print.mkinmod.html101
-rw-r--r--docs/reference.html288
-rw-r--r--docs/schaefer07_complex_case.html134
-rw-r--r--docs/summary.mkinfit.html259
-rw-r--r--docs/synthetic_data_for_UBA.html156
-rw-r--r--docs/transform_odeparms.html281
-rw-r--r--docs/vignettes/FOCUS_D.html (renamed from vignettes/FOCUS_D.html)6
-rw-r--r--docs/vignettes/FOCUS_L.html (renamed from vignettes/FOCUS_L.html)42
-rw-r--r--docs/vignettes/FOCUS_Z.pdf (renamed from vignettes/FOCUS_Z.pdf)bin238636 -> 238636 bytes
-rw-r--r--docs/vignettes/compiled_models.html (renamed from vignettes/compiled_models.html)34
-rw-r--r--docs/vignettes/mkin.html (renamed from vignettes/mkin.html)0
-rw-r--r--inst/web/Extract.mmkin.html24
-rw-r--r--inst/web/mccall81_245T.html6
-rw-r--r--inst/web/mkinfit.html8
-rw-r--r--inst/web/mkinpredict.html6
-rw-r--r--inst/web/summary.mkinfit.html4
-rw-r--r--inst/web/transform_odeparms.html6
-rw-r--r--inst/web/vignettes/FOCUS_D.html6
-rw-r--r--inst/web/vignettes/FOCUS_L.html40
-rw-r--r--inst/web/vignettes/FOCUS_Z.pdfbin238636 -> 238632 bytes
-rw-r--r--inst/web/vignettes/compiled_models.html32
80 files changed, 15643 insertions, 107 deletions
diff --git a/docs/DFOP.solution-2.png b/docs/DFOP.solution-2.png
new file mode 100644
index 00000000..91efcebb
--- /dev/null
+++ b/docs/DFOP.solution-2.png
Binary files differ
diff --git a/docs/DFOP.solution.html b/docs/DFOP.solution.html
new file mode 100644
index 00000000..f9df8bf7
--- /dev/null
+++ b/docs/DFOP.solution.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>DFOP.solution. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+Double First-Order in Parallel kinetics
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="functioncall"><a href='DFOP.solution.html'>DFOP.solution</a></span><span class="keyword">(</span><span class="symbol">t</span><span class="keyword">,</span> <span class="symbol">parent.0</span><span class="keyword">,</span> <span class="symbol">k1</span><span class="keyword">,</span> <span class="symbol">k2</span><span class="keyword">,</span> <span class="symbol">g</span><span class="keyword">)</span></pre>
+
+ <h2>Arguments</h2>
+ <dl>
+ <dt>t</dt>
+ <dd> Time. </dd>
+ <dt>parent.0</dt>
+ <dd> Starting value for the response variable at time zero. </dd>
+ <dt>k1</dt>
+ <dd> First kinetic constant. </dd>
+ <dt>k2</dt>
+ <dd> Second kinetic constant. </dd>
+ <dt>g</dt>
+ <dd> Fraction of the starting value declining according to the
+ first kinetic constant.
+ </dd>
+ </dl>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>Function describing decline from a defined starting value using the sum
+ of two exponential decline functions.</p>
+
+ </div>
+
+ <div class="Value">
+ <h2>Value</h2>
+
+ <p><dl>
+ The value of the response variable at time <code>t</code>.
+</dl></p>
+
+ </div>
+
+ <div class="References">
+ <h2>References</h2>
+
+ <p>FOCUS (2006) &#147;Guidance Document on Estimating Persistence and
+ Degradation Kinetics from Environmental Fate Studies on Pesticides in EU
+ Registration&#148; Report of the FOCUS Work Group on Degradation Kinetics,
+ EC Document Reference Sanco/10058/2005 version 2.0, 434 pp,
+ <a href = 'http://focus.jrc.ec.europa.eu/dk'>http://focus.jrc.ec.europa.eu/dk</a></p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/graphics/topics/plot'>plot</a></span><span class="keyword">(</span><span class="keyword">function</span><span class="keyword">(</span><span class="formalargs">x</span><span class="keyword">)</span> <span class="functioncall"><a href='DFOP.solution.html'>DFOP.solution</a></span><span class="keyword">(</span><span class="symbol">x</span><span class="keyword">,</span> <span class="number">100</span><span class="keyword">,</span> <span class="number">5</span><span class="keyword">,</span> <span class="number">0.5</span><span class="keyword">,</span> <span class="number">0.3</span><span class="keyword">)</span><span class="keyword">,</span> <span class="number">0</span><span class="keyword">,</span> <span class="number">4</span><span class="keyword">,</span> <span class="argument">ylim</span><span class="argument">=</span><span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="number">0</span><span class="keyword">,</span><span class="number">100</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<p><img src='DFOP.solution-2.png' alt='' width='540' height='400' /></p></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>DFOP.solution</li>
+ </ul>
+ <ul>
+ <li> manip </li>
+ </ul> -->
+
+
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/Extract.mmkin.html b/docs/Extract.mmkin.html
new file mode 100644
index 00000000..b4686a6c
--- /dev/null
+++ b/docs/Extract.mmkin.html
@@ -0,0 +1,1199 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>[.mmkin. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="
+ Johannes Ranke
+">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>Subsetting method for mmkin objects</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><div># S3 method for mmkin
+[(x, i, j, ..., drop&nbsp;=&nbsp;FALSE)</div></pre>
+
+ <h2>Arguments</h2>
+ <dl>
+ <dt>x</dt>
+ <dd>An <code><a href='mmkin.html'>mmkin</a> object</code></dd>
+ <dt>i</dt>
+ <dd>Row index selecting the fits for specific models</dd>
+ <dt>j</dt>
+ <dd>Column index selecting the fits to specific datasets</dd>
+ <dt>...</dt>
+ <dd>Not used, only there to satisfy the generic method definition</dd>
+ <dt>drop</dt>
+ <dd>If FALSE, the method always returns an mmkin object, otherwise either
+ a list of mkinfit objects or a single mkinfit object.</dd>
+ </dl>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>Subsetting method for mmkin objects.</p>
+
+ </div>
+
+ <div class="Value">
+ <h2>Value</h2>
+
+ <p><dl>
+ An object of class <code><a href='mmkin.html'>mmkin</a></code>.
+</dl></p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'> <span class="comment"># Only use one core, to pass R CMD check --as-cran</span>
+ <span class="symbol">fits</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mmkin.html'>mmkin</a></span><span class="keyword">(</span><span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="string">"SFO"</span><span class="keyword">,</span> <span class="string">"FOMC"</span><span class="keyword">)</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/list'>list</a></span><span class="keyword">(</span><span class="argument">B</span> <span class="argument">=</span> <span class="symbol">FOCUS_2006_B</span><span class="keyword">,</span> <span class="argument">C</span> <span class="argument">=</span> <span class="symbol">FOCUS_2006_C</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">cores</span> <span class="argument">=</span> <span class="number">1</span><span class="keyword">,</span> <span class="argument">quiet</span> <span class="argument">=</span> <span class="number">TRUE</span><span class="keyword">)</span>
+ <span class="symbol">fits</span><span class="keyword">[</span><span class="string">"FOMC"</span><span class="keyword">,</span> <span class="keyword">]</span></div>
+<div class='output'> dataset
+model B C
+ FOMC List,42 List,42
+attr(,&quot;class&quot;)
+[1] &quot;mmkin&quot;
+</div>
+<div class='input'> <span class="symbol">fits</span><span class="keyword">[</span><span class="keyword">,</span> <span class="string">"B"</span><span class="keyword">]</span></div>
+<div class='output'> dataset
+model B
+ SFO List,42
+ FOMC List,42
+attr(,&quot;class&quot;)
+[1] &quot;mmkin&quot;
+</div>
+<div class='input'> <span class="symbol">fits</span><span class="keyword">[</span><span class="keyword">,</span> <span class="string">"B"</span><span class="keyword">,</span> <span class="argument">drop</span> <span class="argument">=</span> <span class="number">TRUE</span><span class="keyword">]</span><span class="keyword">$</span><span class="symbol">FOMC</span></div>
+<div class='output'>$par
+ parent_0 log_alpha log_beta
+99.666193 2.549849 5.050586
+
+$ssr
+[1] 28.58291
+
+$convergence
+[1] 0
+
+$iterations
+[1] 21
+
+$evaluations
+function gradient
+ 25 78
+
+$counts
+[1] &quot;both X-convergence and relative convergence (5)&quot;
+
+$hessian
+ parent_0 log_alpha log_beta
+parent_0 4.123033 -95.69983 93.17699
+log_alpha -95.699832 6618.85833 -6352.46648
+log_beta 93.176993 -6352.46648 6101.23483
+
+$residuals
+ parent parent parent parent parent parent
+ 1.046192647 -3.322396479 3.655156669 -1.705316770 0.406306255 -0.123734689
+ parent parent
+-0.036886982 -0.006240458
+
+$ms
+[1] 3.572863
+
+$var_ms
+ parent
+3.572863
+
+$var_ms_unscaled
+ parent
+3.572863
+
+$var_ms_unweighted
+ parent
+3.572863
+
+$rank
+[1] 3
+
+$df.residual
+[1] 5
+
+$solution_type
+[1] &quot;analytical&quot;
+
+$transform_rates
+[1] TRUE
+
+$transform_fractions
+[1] TRUE
+
+$method.modFit
+[1] &quot;Port&quot;
+
+$maxit.modFit
+[1] &quot;auto&quot;
+
+$calls
+[1] 111
+
+$time
+ user system elapsed
+ 0.276 0.000 0.277
+
+$mkinmod
+&lt;mkinmod&gt; model generated with
+Use of formation fractions $use_of_ff: min
+Specification $spec:
+$parent
+$type: FOMC; $sink: TRUE
+
+$observed
+ name time value
+1 parent 0 98.62
+2 parent 3 81.43
+3 parent 7 53.18
+4 parent 14 34.89
+5 parent 30 10.09
+6 parent 62 1.50
+7 parent 90 0.33
+8 parent 118 0.08
+
+$obs_vars
+[1] &quot;parent&quot;
+
+$predicted
+ name time value
+1 parent 0.000000 99.66619265
+2 parent 1.191919 90.41690342
+3 parent 2.383838 82.08630014
+4 parent 3.000000 78.10760352
+5 parent 3.575758 74.57722848
+6 parent 4.767677 67.80342415
+7 parent 5.959596 61.68822425
+8 parent 7.000000 56.83515667
+9 parent 7.151515 56.16343898
+10 parent 8.343434 51.16836285
+11 parent 9.535354 46.64890734
+12 parent 10.727273 42.55683931
+13 parent 11.919192 38.84911158
+14 parent 13.111111 35.48727414
+15 parent 14.000000 33.18468323
+16 parent 14.303030 32.43695565
+17 parent 15.494949 29.66740651
+18 parent 16.686869 27.15109578
+19 parent 17.878788 24.86335532
+20 parent 19.070707 22.78206538
+21 parent 20.262626 20.88737647
+22 parent 21.454545 19.16146324
+23 parent 22.646465 17.58830644
+24 parent 23.838384 16.15349953
+25 parent 25.030303 14.84407724
+26 parent 26.222222 13.64836315
+27 parent 27.414141 12.55583436
+28 parent 28.606061 11.55700107
+29 parent 29.797980 10.64329940
+30 parent 30.000000 10.49630626
+31 parent 30.989899 9.80699593
+32 parent 32.181818 9.04110261
+33 parent 33.373737 8.33930082
+34 parent 34.565657 7.69587362
+35 parent 35.757576 7.10564515
+36 parent 36.949495 6.56392657
+37 parent 38.141414 6.06646759
+38 parent 39.333333 5.60941311
+39 parent 40.525253 5.18926438
+40 parent 41.717172 4.80284421
+41 parent 42.909091 4.44726569
+42 parent 44.101010 4.11990420
+43 parent 45.292929 3.81837216
+44 parent 46.484848 3.54049644
+45 parent 47.676768 3.28429799
+46 parent 48.868687 3.04797350
+47 parent 50.060606 2.82987892
+48 parent 51.252525 2.62851456
+49 parent 52.444444 2.44251172
+50 parent 53.636364 2.27062056
+51 parent 54.828283 2.11169922
+52 parent 56.020202 1.96470393
+53 parent 57.212121 1.82868009
+54 parent 58.404040 1.70275424
+55 parent 59.595960 1.58612677
+56 parent 60.787879 1.47806529
+57 parent 61.979798 1.37789865
+58 parent 62.000000 1.37626531
+59 parent 63.171717 1.28501157
+60 parent 64.363636 1.19883967
+61 parent 65.555556 1.11886504
+62 parent 66.747475 1.04461220
+63 parent 67.939394 0.97564441
+64 parent 69.131313 0.91156031
+65 parent 70.323232 0.85199096
+66 parent 71.515152 0.79659697
+67 parent 72.707071 0.74506609
+68 parent 73.898990 0.69711084
+69 parent 75.090909 0.65246649
+70 parent 76.282828 0.61088912
+71 parent 77.474747 0.57215389
+72 parent 78.666667 0.53605348
+73 parent 79.858586 0.50239663
+74 parent 81.050505 0.47100683
+75 parent 82.242424 0.44172111
+76 parent 83.434343 0.41438896
+77 parent 84.626263 0.38887128
+78 parent 85.818182 0.36503953
+79 parent 87.010101 0.34277481
+80 parent 88.202020 0.32196716
+81 parent 89.393939 0.30251479
+82 parent 90.000000 0.29311302
+83 parent 90.585859 0.28432347
+84 parent 91.777778 0.26730596
+85 parent 92.969697 0.25138141
+86 parent 94.161616 0.23647487
+87 parent 95.353535 0.22251689
+88 parent 96.545455 0.20944302
+89 parent 97.737374 0.19719349
+90 parent 98.929293 0.18571281
+91 parent 100.121212 0.17494947
+92 parent 101.313131 0.16485560
+93 parent 102.505051 0.15538676
+94 parent 103.696970 0.14650163
+95 parent 104.888889 0.13816179
+96 parent 106.080808 0.13033150
+97 parent 107.272727 0.12297753
+98 parent 108.464646 0.11606895
+99 parent 109.656566 0.10957695
+100 parent 110.848485 0.10347470
+101 parent 112.040404 0.09773723
+102 parent 113.232323 0.09234125
+103 parent 114.424242 0.08726506
+104 parent 115.616162 0.08248842
+105 parent 116.808081 0.07799245
+106 parent 118.000000 0.07375954
+
+$cost
+function (P)
+{
+ assign(&quot;calls&quot;, calls + 1, inherits = TRUE)
+ if (trace_parms)
+ cat(P, &quot;\n&quot;)
+ if (length(state.ini.optim) &gt; 0) {
+ odeini &lt;- c(P[1:length(state.ini.optim)], state.ini.fixed)
+ names(odeini) &lt;- c(state.ini.optim.boxnames, state.ini.fixed.boxnames)
+ }
+ else {
+ odeini &lt;- state.ini.fixed
+ names(odeini) &lt;- state.ini.fixed.boxnames
+ }
+ odeparms &lt;- c(P[(length(state.ini.optim) + 1):length(P)],
+ transparms.fixed)
+ parms &lt;- backtransform_odeparms(odeparms, mkinmod, transform_rates = transform_rates,
+ transform_fractions = transform_fractions)
+ out &lt;- mkinpredict(mkinmod, parms, odeini, outtimes, solution_type = solution_type,
+ use_compiled = use_compiled, method.ode = method.ode,
+ atol = atol, rtol = rtol, ...)
+ assign(&quot;out_predicted&quot;, out, inherits = TRUE)
+ mC &lt;- modCost(out, observed, y = &quot;value&quot;, err = err, weight = weight,
+ scaleVar = scaleVar)
+ if (mC$model &lt; cost.old) {
+ if (!quiet)
+ cat(&quot;Model cost at call &quot;, calls, &quot;: &quot;, mC$model,
+ &quot;\n&quot;)
+ if (plot) {
+ outtimes_plot = seq(min(observed$time), max(observed$time),
+ length.out = 100)
+ out_plot &lt;- mkinpredict(mkinmod, parms, odeini, outtimes_plot,
+ solution_type = solution_type, use_compiled = use_compiled,
+ method.ode = method.ode, atol = atol, rtol = rtol,
+ ...)
+ plot(0, type = &quot;n&quot;, xlim = range(observed$time),
+ ylim = c(0, max(observed$value, na.rm = TRUE)),
+ xlab = &quot;Time&quot;, ylab = &quot;Observed&quot;)
+ col_obs &lt;- pch_obs &lt;- 1:length(obs_vars)
+ lty_obs &lt;- rep(1, length(obs_vars))
+ names(col_obs) &lt;- names(pch_obs) &lt;- names(lty_obs) &lt;- obs_vars
+ for (obs_var in obs_vars) {
+ points(subset(observed, name == obs_var, c(time,
+ value)), pch = pch_obs[obs_var], col = col_obs[obs_var])
+ }
+ matlines(out_plot$time, out_plot[-1], col = col_obs,
+ lty = lty_obs)
+ legend(&quot;topright&quot;, inset = c(0.05, 0.05), legend = obs_vars,
+ col = col_obs, pch = pch_obs, lty = 1:length(pch_obs))
+ }
+ assign(&quot;cost.old&quot;, mC$model, inherits = TRUE)
+ }
+ return(mC)
+}
+&lt;environment: 0x44a0b88&gt;
+
+$cost_notrans
+function (P)
+{
+ if (length(state.ini.optim) &gt; 0) {
+ odeini &lt;- c(P[1:length(state.ini.optim)], state.ini.fixed)
+ names(odeini) &lt;- c(state.ini.optim.boxnames, state.ini.fixed.boxnames)
+ }
+ else {
+ odeini &lt;- state.ini.fixed
+ names(odeini) &lt;- state.ini.fixed.boxnames
+ }
+ odeparms &lt;- c(P[(length(state.ini.optim) + 1):length(P)],
+ parms.fixed)
+ out &lt;- mkinpredict(mkinmod, odeparms, odeini, outtimes, solution_type = solution_type,
+ use_compiled = use_compiled, method.ode = method.ode,
+ atol = atol, rtol = rtol, ...)
+ mC &lt;- modCost(out, observed, y = &quot;value&quot;, err = err, weight = weight,
+ scaleVar = scaleVar)
+ return(mC)
+}
+&lt;environment: 0x44a0b88&gt;
+
+$hessian_notrans
+ parent_0 alpha beta
+parent_0 4.1230329 -7.473531 0.5968527
+alpha -7.4735307 40.365690 -3.1777189
+beta 0.5968527 -3.177719 0.2503425
+
+$start
+ value type
+parent_0 98.62 state
+alpha 1.00 deparm
+beta 10.00 deparm
+
+$start_transformed
+ value lower upper
+parent_0 98.620000 -Inf Inf
+log_alpha 0.000000 -Inf Inf
+log_beta 2.302585 -Inf Inf
+
+$fixed
+[1] value type
+&lt;0 rows&gt; (or 0-length row.names)
+
+$data
+ time variable observed predicted residual
+1 0 parent 98.62 99.66619265 -1.046192647
+2 3 parent 81.43 78.10760352 3.322396479
+3 7 parent 53.18 56.83515667 -3.655156669
+4 14 parent 34.89 33.18468323 1.705316770
+5 30 parent 10.09 10.49630626 -0.406306255
+6 62 parent 1.50 1.37626531 0.123734689
+7 90 parent 0.33 0.29311302 0.036886982
+8 118 parent 0.08 0.07375954 0.006240458
+
+$atol
+[1] 1e-08
+
+$rtol
+[1] 1e-10
+
+$weight.ini
+[1] &quot;none&quot;
+
+$reweight.tol
+[1] 1e-08
+
+$reweight.max.iter
+[1] 10
+
+$bparms.optim
+ parent_0 alpha beta
+ 99.66619 12.80517 156.11390
+
+$bparms.fixed
+numeric(0)
+
+$bparms.ode
+ alpha beta
+ 12.80517 156.11390
+
+$bparms.state
+ parent
+99.66619
+
+$date
+[1] &quot;Sat Sep 10 05:52:53 2016&quot;
+
+attr(,&quot;class&quot;)
+[1] &quot;mkinfit&quot; &quot;modFit&quot;
+</div>
+<div class='input'> <span class="symbol">fits</span><span class="keyword">[</span><span class="string">"SFO"</span><span class="keyword">,</span> <span class="string">"B"</span><span class="keyword">]</span></div>
+<div class='output'> dataset
+model B
+ SFO List,42
+attr(,&quot;class&quot;)
+[1] &quot;mmkin&quot;
+</div>
+<div class='input'> <span class="symbol">fits</span><span class="keyword">[[</span><span class="string">"SFO"</span><span class="keyword">,</span> <span class="string">"B"</span><span class="keyword">]</span><span class="keyword">]</span> <span class="comment"># This is equivalent to</span></div>
+<div class='output'>$par
+ parent_0 log_k_parent_sink
+ 99.174072 -2.549028
+
+$ssr
+[1] 30.65564
+
+$convergence
+[1] 0
+
+$iterations
+[1] 5
+
+$evaluations
+function gradient
+ 8 15
+
+$counts
+[1] &quot;relative convergence (4)&quot;
+
+$hessian
+ parent_0 log_k_parent_sink
+parent_0 4.163631 -94.09343
+log_k_parent_sink -94.093431 6311.34610
+
+$residuals
+ parent parent parent parent parent parent
+ 0.55407218 -2.98452128 4.20445742 -1.68599939 -0.58185357 -0.72033730
+ parent parent
+-0.24260405 -0.07020339
+
+$ms
+[1] 3.831956
+
+$var_ms
+ parent
+3.831956
+
+$var_ms_unscaled
+ parent
+3.831956
+
+$var_ms_unweighted
+ parent
+3.831956
+
+$rank
+[1] 2
+
+$df.residual
+[1] 6
+
+$solution_type
+[1] &quot;analytical&quot;
+
+$transform_rates
+[1] TRUE
+
+$transform_fractions
+[1] TRUE
+
+$method.modFit
+[1] &quot;Port&quot;
+
+$maxit.modFit
+[1] &quot;auto&quot;
+
+$calls
+[1] 29
+
+$time
+ user system elapsed
+ 0.108 0.000 0.106
+
+$mkinmod
+&lt;mkinmod&gt; model generated with
+Use of formation fractions $use_of_ff: min
+Specification $spec:
+$parent
+$type: SFO; $sink: TRUE
+Coefficient matrix $coefmat available
+
+$observed
+ name time value
+1 parent 0 98.62
+2 parent 3 81.43
+3 parent 7 53.18
+4 parent 14 34.89
+5 parent 30 10.09
+6 parent 62 1.50
+7 parent 90 0.33
+8 parent 118 0.08
+
+$obs_vars
+[1] &quot;parent&quot;
+
+$predicted
+ name time value
+1 parent 0.000000 99.17407218
+2 parent 1.191919 90.35253561
+3 parent 2.383838 82.31567498
+4 parent 3.000000 78.44547872
+5 parent 3.575758 74.99369333
+6 parent 4.767677 68.32300215
+7 parent 5.959596 62.24566915
+8 parent 7.000000 57.38445742
+9 parent 7.151515 56.70891509
+10 parent 8.343434 51.66465547
+11 parent 9.535354 47.06908288
+12 parent 10.727273 42.88228661
+13 parent 11.919192 39.06790599
+14 parent 13.111111 35.59281463
+15 parent 14.000000 33.20400061
+16 parent 14.303030 32.42683275
+17 parent 15.494949 29.54246504
+18 parent 16.686869 26.91466193
+19 parent 17.878788 24.52060198
+20 parent 19.070707 22.33949373
+21 parent 20.262626 20.35239512
+22 parent 21.454545 18.54204899
+23 parent 22.646465 16.89273320
+24 parent 23.838384 15.39012410
+25 parent 25.030303 14.02117212
+26 parent 26.222222 12.77398846
+27 parent 27.414141 11.63774182
+28 parent 28.606061 10.60256435
+29 parent 29.797980 9.65946594
+30 parent 30.000000 9.50814643
+31 parent 30.989899 8.80025617
+32 parent 32.181818 8.01747313
+33 parent 33.373737 7.30431867
+34 parent 34.565657 6.65459931
+35 parent 35.757576 6.06267251
+36 parent 36.949495 5.52339762
+37 parent 38.141414 5.03209124
+38 parent 39.333333 4.58448658
+39 parent 40.525253 4.17669637
+40 parent 41.717172 3.80517911
+41 parent 42.909091 3.46670832
+42 parent 44.101010 3.15834451
+43 parent 45.292929 2.87740968
+44 parent 46.484848 2.62146400
+45 parent 47.676768 2.38828471
+46 parent 48.868687 2.17584671
+47 parent 50.060606 1.98230508
+48 parent 51.252525 1.80597899
+49 parent 52.444444 1.64533711
+50 parent 53.636364 1.49898432
+51 parent 54.828283 1.36564963
+52 parent 56.020202 1.24417505
+53 parent 57.212121 1.13350565
+54 parent 58.404040 1.03268029
+55 parent 59.595960 0.94082335
+56 parent 60.787879 0.85713708
+57 parent 61.979798 0.78089471
+58 parent 62.000000 0.77966270
+59 parent 63.171717 0.71143411
+60 parent 64.363636 0.64815202
+61 parent 65.555556 0.59049888
+62 parent 66.747475 0.53797399
+63 parent 67.939394 0.49012119
+64 parent 69.131313 0.44652489
+65 parent 70.323232 0.40680649
+66 parent 71.515152 0.37062104
+67 parent 72.707071 0.33765429
+68 parent 73.898990 0.30761993
+69 parent 75.090909 0.28025713
+70 parent 76.282828 0.25532825
+71 parent 77.474747 0.23261679
+72 parent 78.666667 0.21192552
+73 parent 79.858586 0.19307474
+74 parent 81.050505 0.17590074
+75 parent 82.242424 0.16025436
+76 parent 83.434343 0.14599973
+77 parent 84.626263 0.13301305
+78 parent 85.818182 0.12118154
+79 parent 87.010101 0.11040244
+80 parent 88.202020 0.10058214
+81 parent 89.393939 0.09163535
+82 parent 90.000000 0.08739595
+83 parent 90.585859 0.08348439
+84 parent 91.777778 0.07605845
+85 parent 92.969697 0.06929305
+86 parent 94.161616 0.06312943
+87 parent 95.353535 0.05751406
+88 parent 96.545455 0.05239819
+89 parent 97.737374 0.04773737
+90 parent 98.929293 0.04349113
+91 parent 100.121212 0.03962259
+92 parent 101.313131 0.03609816
+93 parent 102.505051 0.03288723
+94 parent 103.696970 0.02996191
+95 parent 104.888889 0.02729679
+96 parent 106.080808 0.02486874
+97 parent 107.272727 0.02265667
+98 parent 108.464646 0.02064136
+99 parent 109.656566 0.01880531
+100 parent 110.848485 0.01713257
+101 parent 112.040404 0.01560863
+102 parent 113.232323 0.01422024
+103 parent 114.424242 0.01295535
+104 parent 115.616162 0.01180297
+105 parent 116.808081 0.01075310
+106 parent 118.000000 0.00979661
+
+$cost
+function (P)
+{
+ assign(&quot;calls&quot;, calls + 1, inherits = TRUE)
+ if (trace_parms)
+ cat(P, &quot;\n&quot;)
+ if (length(state.ini.optim) &gt; 0) {
+ odeini &lt;- c(P[1:length(state.ini.optim)], state.ini.fixed)
+ names(odeini) &lt;- c(state.ini.optim.boxnames, state.ini.fixed.boxnames)
+ }
+ else {
+ odeini &lt;- state.ini.fixed
+ names(odeini) &lt;- state.ini.fixed.boxnames
+ }
+ odeparms &lt;- c(P[(length(state.ini.optim) + 1):length(P)],
+ transparms.fixed)
+ parms &lt;- backtransform_odeparms(odeparms, mkinmod, transform_rates = transform_rates,
+ transform_fractions = transform_fractions)
+ out &lt;- mkinpredict(mkinmod, parms, odeini, outtimes, solution_type = solution_type,
+ use_compiled = use_compiled, method.ode = method.ode,
+ atol = atol, rtol = rtol, ...)
+ assign(&quot;out_predicted&quot;, out, inherits = TRUE)
+ mC &lt;- modCost(out, observed, y = &quot;value&quot;, err = err, weight = weight,
+ scaleVar = scaleVar)
+ if (mC$model &lt; cost.old) {
+ if (!quiet)
+ cat(&quot;Model cost at call &quot;, calls, &quot;: &quot;, mC$model,
+ &quot;\n&quot;)
+ if (plot) {
+ outtimes_plot = seq(min(observed$time), max(observed$time),
+ length.out = 100)
+ out_plot &lt;- mkinpredict(mkinmod, parms, odeini, outtimes_plot,
+ solution_type = solution_type, use_compiled = use_compiled,
+ method.ode = method.ode, atol = atol, rtol = rtol,
+ ...)
+ plot(0, type = &quot;n&quot;, xlim = range(observed$time),
+ ylim = c(0, max(observed$value, na.rm = TRUE)),
+ xlab = &quot;Time&quot;, ylab = &quot;Observed&quot;)
+ col_obs &lt;- pch_obs &lt;- 1:length(obs_vars)
+ lty_obs &lt;- rep(1, length(obs_vars))
+ names(col_obs) &lt;- names(pch_obs) &lt;- names(lty_obs) &lt;- obs_vars
+ for (obs_var in obs_vars) {
+ points(subset(observed, name == obs_var, c(time,
+ value)), pch = pch_obs[obs_var], col = col_obs[obs_var])
+ }
+ matlines(out_plot$time, out_plot[-1], col = col_obs,
+ lty = lty_obs)
+ legend(&quot;topright&quot;, inset = c(0.05, 0.05), legend = obs_vars,
+ col = col_obs, pch = pch_obs, lty = 1:length(pch_obs))
+ }
+ assign(&quot;cost.old&quot;, mC$model, inherits = TRUE)
+ }
+ return(mC)
+}
+&lt;environment: 0x43a7a48&gt;
+
+$cost_notrans
+function (P)
+{
+ if (length(state.ini.optim) &gt; 0) {
+ odeini &lt;- c(P[1:length(state.ini.optim)], state.ini.fixed)
+ names(odeini) &lt;- c(state.ini.optim.boxnames, state.ini.fixed.boxnames)
+ }
+ else {
+ odeini &lt;- state.ini.fixed
+ names(odeini) &lt;- state.ini.fixed.boxnames
+ }
+ odeparms &lt;- c(P[(length(state.ini.optim) + 1):length(P)],
+ parms.fixed)
+ out &lt;- mkinpredict(mkinmod, odeparms, odeini, outtimes, solution_type = solution_type,
+ use_compiled = use_compiled, method.ode = method.ode,
+ atol = atol, rtol = rtol, ...)
+ mC &lt;- modCost(out, observed, y = &quot;value&quot;, err = err, weight = weight,
+ scaleVar = scaleVar)
+ return(mC)
+}
+&lt;environment: 0x43a7a48&gt;
+
+$hessian_notrans
+ parent_0 k_parent_sink
+parent_0 4.163631 -1203.894
+k_parent_sink -1203.893702 1033188.753
+
+$start
+ value type
+parent_0 98.62 state
+k_parent_sink 0.10 deparm
+
+$start_transformed
+ value lower upper
+parent_0 98.620000 -Inf Inf
+log_k_parent_sink -2.302585 -Inf Inf
+
+$fixed
+[1] value type
+&lt;0 rows&gt; (or 0-length row.names)
+
+$data
+ time variable observed predicted residual
+1 0 parent 98.62 99.17407218 -0.55407218
+2 3 parent 81.43 78.44547872 2.98452128
+3 7 parent 53.18 57.38445742 -4.20445742
+4 14 parent 34.89 33.20400061 1.68599939
+5 30 parent 10.09 9.50814643 0.58185357
+6 62 parent 1.50 0.77966270 0.72033730
+7 90 parent 0.33 0.08739595 0.24260405
+8 118 parent 0.08 0.00979661 0.07020339
+
+$atol
+[1] 1e-08
+
+$rtol
+[1] 1e-10
+
+$weight.ini
+[1] &quot;none&quot;
+
+$reweight.tol
+[1] 1e-08
+
+$reweight.max.iter
+[1] 10
+
+$bparms.optim
+ parent_0 k_parent_sink
+ 99.17407218 0.07815759
+
+$bparms.fixed
+numeric(0)
+
+$bparms.ode
+k_parent_sink
+ 0.07815759
+
+$bparms.state
+ parent
+99.17407
+
+$date
+[1] &quot;Sat Sep 10 05:52:53 2016&quot;
+
+attr(,&quot;class&quot;)
+[1] &quot;mkinfit&quot; &quot;modFit&quot;
+</div>
+<div class='input'> <span class="symbol">fits</span><span class="keyword">[</span><span class="string">"SFO"</span><span class="keyword">,</span> <span class="string">"B"</span><span class="keyword">,</span> <span class="argument">drop</span> <span class="argument">=</span> <span class="number">TRUE</span><span class="keyword">]</span></div>
+<div class='output'>[[1]]
+$par
+ parent_0 log_k_parent_sink
+ 99.174072 -2.549028
+
+$ssr
+[1] 30.65564
+
+$convergence
+[1] 0
+
+$iterations
+[1] 5
+
+$evaluations
+function gradient
+ 8 15
+
+$counts
+[1] &quot;relative convergence (4)&quot;
+
+$hessian
+ parent_0 log_k_parent_sink
+parent_0 4.163631 -94.09343
+log_k_parent_sink -94.093431 6311.34610
+
+$residuals
+ parent parent parent parent parent parent
+ 0.55407218 -2.98452128 4.20445742 -1.68599939 -0.58185357 -0.72033730
+ parent parent
+-0.24260405 -0.07020339
+
+$ms
+[1] 3.831956
+
+$var_ms
+ parent
+3.831956
+
+$var_ms_unscaled
+ parent
+3.831956
+
+$var_ms_unweighted
+ parent
+3.831956
+
+$rank
+[1] 2
+
+$df.residual
+[1] 6
+
+$solution_type
+[1] &quot;analytical&quot;
+
+$transform_rates
+[1] TRUE
+
+$transform_fractions
+[1] TRUE
+
+$method.modFit
+[1] &quot;Port&quot;
+
+$maxit.modFit
+[1] &quot;auto&quot;
+
+$calls
+[1] 29
+
+$time
+ user system elapsed
+ 0.108 0.000 0.106
+
+$mkinmod
+&lt;mkinmod&gt; model generated with
+Use of formation fractions $use_of_ff: min
+Specification $spec:
+$parent
+$type: SFO; $sink: TRUE
+Coefficient matrix $coefmat available
+
+$observed
+ name time value
+1 parent 0 98.62
+2 parent 3 81.43
+3 parent 7 53.18
+4 parent 14 34.89
+5 parent 30 10.09
+6 parent 62 1.50
+7 parent 90 0.33
+8 parent 118 0.08
+
+$obs_vars
+[1] &quot;parent&quot;
+
+$predicted
+ name time value
+1 parent 0.000000 99.17407218
+2 parent 1.191919 90.35253561
+3 parent 2.383838 82.31567498
+4 parent 3.000000 78.44547872
+5 parent 3.575758 74.99369333
+6 parent 4.767677 68.32300215
+7 parent 5.959596 62.24566915
+8 parent 7.000000 57.38445742
+9 parent 7.151515 56.70891509
+10 parent 8.343434 51.66465547
+11 parent 9.535354 47.06908288
+12 parent 10.727273 42.88228661
+13 parent 11.919192 39.06790599
+14 parent 13.111111 35.59281463
+15 parent 14.000000 33.20400061
+16 parent 14.303030 32.42683275
+17 parent 15.494949 29.54246504
+18 parent 16.686869 26.91466193
+19 parent 17.878788 24.52060198
+20 parent 19.070707 22.33949373
+21 parent 20.262626 20.35239512
+22 parent 21.454545 18.54204899
+23 parent 22.646465 16.89273320
+24 parent 23.838384 15.39012410
+25 parent 25.030303 14.02117212
+26 parent 26.222222 12.77398846
+27 parent 27.414141 11.63774182
+28 parent 28.606061 10.60256435
+29 parent 29.797980 9.65946594
+30 parent 30.000000 9.50814643
+31 parent 30.989899 8.80025617
+32 parent 32.181818 8.01747313
+33 parent 33.373737 7.30431867
+34 parent 34.565657 6.65459931
+35 parent 35.757576 6.06267251
+36 parent 36.949495 5.52339762
+37 parent 38.141414 5.03209124
+38 parent 39.333333 4.58448658
+39 parent 40.525253 4.17669637
+40 parent 41.717172 3.80517911
+41 parent 42.909091 3.46670832
+42 parent 44.101010 3.15834451
+43 parent 45.292929 2.87740968
+44 parent 46.484848 2.62146400
+45 parent 47.676768 2.38828471
+46 parent 48.868687 2.17584671
+47 parent 50.060606 1.98230508
+48 parent 51.252525 1.80597899
+49 parent 52.444444 1.64533711
+50 parent 53.636364 1.49898432
+51 parent 54.828283 1.36564963
+52 parent 56.020202 1.24417505
+53 parent 57.212121 1.13350565
+54 parent 58.404040 1.03268029
+55 parent 59.595960 0.94082335
+56 parent 60.787879 0.85713708
+57 parent 61.979798 0.78089471
+58 parent 62.000000 0.77966270
+59 parent 63.171717 0.71143411
+60 parent 64.363636 0.64815202
+61 parent 65.555556 0.59049888
+62 parent 66.747475 0.53797399
+63 parent 67.939394 0.49012119
+64 parent 69.131313 0.44652489
+65 parent 70.323232 0.40680649
+66 parent 71.515152 0.37062104
+67 parent 72.707071 0.33765429
+68 parent 73.898990 0.30761993
+69 parent 75.090909 0.28025713
+70 parent 76.282828 0.25532825
+71 parent 77.474747 0.23261679
+72 parent 78.666667 0.21192552
+73 parent 79.858586 0.19307474
+74 parent 81.050505 0.17590074
+75 parent 82.242424 0.16025436
+76 parent 83.434343 0.14599973
+77 parent 84.626263 0.13301305
+78 parent 85.818182 0.12118154
+79 parent 87.010101 0.11040244
+80 parent 88.202020 0.10058214
+81 parent 89.393939 0.09163535
+82 parent 90.000000 0.08739595
+83 parent 90.585859 0.08348439
+84 parent 91.777778 0.07605845
+85 parent 92.969697 0.06929305
+86 parent 94.161616 0.06312943
+87 parent 95.353535 0.05751406
+88 parent 96.545455 0.05239819
+89 parent 97.737374 0.04773737
+90 parent 98.929293 0.04349113
+91 parent 100.121212 0.03962259
+92 parent 101.313131 0.03609816
+93 parent 102.505051 0.03288723
+94 parent 103.696970 0.02996191
+95 parent 104.888889 0.02729679
+96 parent 106.080808 0.02486874
+97 parent 107.272727 0.02265667
+98 parent 108.464646 0.02064136
+99 parent 109.656566 0.01880531
+100 parent 110.848485 0.01713257
+101 parent 112.040404 0.01560863
+102 parent 113.232323 0.01422024
+103 parent 114.424242 0.01295535
+104 parent 115.616162 0.01180297
+105 parent 116.808081 0.01075310
+106 parent 118.000000 0.00979661
+
+$cost
+function (P)
+{
+ assign(&quot;calls&quot;, calls + 1, inherits = TRUE)
+ if (trace_parms)
+ cat(P, &quot;\n&quot;)
+ if (length(state.ini.optim) &gt; 0) {
+ odeini &lt;- c(P[1:length(state.ini.optim)], state.ini.fixed)
+ names(odeini) &lt;- c(state.ini.optim.boxnames, state.ini.fixed.boxnames)
+ }
+ else {
+ odeini &lt;- state.ini.fixed
+ names(odeini) &lt;- state.ini.fixed.boxnames
+ }
+ odeparms &lt;- c(P[(length(state.ini.optim) + 1):length(P)],
+ transparms.fixed)
+ parms &lt;- backtransform_odeparms(odeparms, mkinmod, transform_rates = transform_rates,
+ transform_fractions = transform_fractions)
+ out &lt;- mkinpredict(mkinmod, parms, odeini, outtimes, solution_type = solution_type,
+ use_compiled = use_compiled, method.ode = method.ode,
+ atol = atol, rtol = rtol, ...)
+ assign(&quot;out_predicted&quot;, out, inherits = TRUE)
+ mC &lt;- modCost(out, observed, y = &quot;value&quot;, err = err, weight = weight,
+ scaleVar = scaleVar)
+ if (mC$model &lt; cost.old) {
+ if (!quiet)
+ cat(&quot;Model cost at call &quot;, calls, &quot;: &quot;, mC$model,
+ &quot;\n&quot;)
+ if (plot) {
+ outtimes_plot = seq(min(observed$time), max(observed$time),
+ length.out = 100)
+ out_plot &lt;- mkinpredict(mkinmod, parms, odeini, outtimes_plot,
+ solution_type = solution_type, use_compiled = use_compiled,
+ method.ode = method.ode, atol = atol, rtol = rtol,
+ ...)
+ plot(0, type = &quot;n&quot;, xlim = range(observed$time),
+ ylim = c(0, max(observed$value, na.rm = TRUE)),
+ xlab = &quot;Time&quot;, ylab = &quot;Observed&quot;)
+ col_obs &lt;- pch_obs &lt;- 1:length(obs_vars)
+ lty_obs &lt;- rep(1, length(obs_vars))
+ names(col_obs) &lt;- names(pch_obs) &lt;- names(lty_obs) &lt;- obs_vars
+ for (obs_var in obs_vars) {
+ points(subset(observed, name == obs_var, c(time,
+ value)), pch = pch_obs[obs_var], col = col_obs[obs_var])
+ }
+ matlines(out_plot$time, out_plot[-1], col = col_obs,
+ lty = lty_obs)
+ legend(&quot;topright&quot;, inset = c(0.05, 0.05), legend = obs_vars,
+ col = col_obs, pch = pch_obs, lty = 1:length(pch_obs))
+ }
+ assign(&quot;cost.old&quot;, mC$model, inherits = TRUE)
+ }
+ return(mC)
+}
+&lt;environment: 0x43a7a48&gt;
+
+$cost_notrans
+function (P)
+{
+ if (length(state.ini.optim) &gt; 0) {
+ odeini &lt;- c(P[1:length(state.ini.optim)], state.ini.fixed)
+ names(odeini) &lt;- c(state.ini.optim.boxnames, state.ini.fixed.boxnames)
+ }
+ else {
+ odeini &lt;- state.ini.fixed
+ names(odeini) &lt;- state.ini.fixed.boxnames
+ }
+ odeparms &lt;- c(P[(length(state.ini.optim) + 1):length(P)],
+ parms.fixed)
+ out &lt;- mkinpredict(mkinmod, odeparms, odeini, outtimes, solution_type = solution_type,
+ use_compiled = use_compiled, method.ode = method.ode,
+ atol = atol, rtol = rtol, ...)
+ mC &lt;- modCost(out, observed, y = &quot;value&quot;, err = err, weight = weight,
+ scaleVar = scaleVar)
+ return(mC)
+}
+&lt;environment: 0x43a7a48&gt;
+
+$hessian_notrans
+ parent_0 k_parent_sink
+parent_0 4.163631 -1203.894
+k_parent_sink -1203.893702 1033188.753
+
+$start
+ value type
+parent_0 98.62 state
+k_parent_sink 0.10 deparm
+
+$start_transformed
+ value lower upper
+parent_0 98.620000 -Inf Inf
+log_k_parent_sink -2.302585 -Inf Inf
+
+$fixed
+[1] value type
+&lt;0 rows&gt; (or 0-length row.names)
+
+$data
+ time variable observed predicted residual
+1 0 parent 98.62 99.17407218 -0.55407218
+2 3 parent 81.43 78.44547872 2.98452128
+3 7 parent 53.18 57.38445742 -4.20445742
+4 14 parent 34.89 33.20400061 1.68599939
+5 30 parent 10.09 9.50814643 0.58185357
+6 62 parent 1.50 0.77966270 0.72033730
+7 90 parent 0.33 0.08739595 0.24260405
+8 118 parent 0.08 0.00979661 0.07020339
+
+$atol
+[1] 1e-08
+
+$rtol
+[1] 1e-10
+
+$weight.ini
+[1] &quot;none&quot;
+
+$reweight.tol
+[1] 1e-08
+
+$reweight.max.iter
+[1] 10
+
+$bparms.optim
+ parent_0 k_parent_sink
+ 99.17407218 0.07815759
+
+$bparms.fixed
+numeric(0)
+
+$bparms.ode
+k_parent_sink
+ 0.07815759
+
+$bparms.state
+ parent
+99.17407
+
+$date
+[1] &quot;Sat Sep 10 05:52:53 2016&quot;
+
+attr(,&quot;class&quot;)
+[1] &quot;mkinfit&quot; &quot;modFit&quot;
+
+</div></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>[.mmkin</li>
+ </ul>
+ <ul>
+
+ </ul> -->
+
+
+
+ <h2>Author</h2>
+
+ Johannes Ranke
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/FOCUS_2006_DFOP_ref_A_to_B.html b/docs/FOCUS_2006_DFOP_ref_A_to_B.html
new file mode 100644
index 00000000..6e1c4986
--- /dev/null
+++ b/docs/FOCUS_2006_DFOP_ref_A_to_B.html
@@ -0,0 +1,133 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>FOCUS_2006_DFOP_ref_A_to_B. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+Results of fitting the DFOP model to Datasets A to B of FOCUS (2006)
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="functioncall"><a href='http://www.rdocumentation.org/packages/utils/topics/data'>data</a></span><span class="keyword">(</span><span class="symbol">FOCUS_2006_DFOP_ref_A_to_B</span><span class="keyword">)</span></pre>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>A table with the fitted parameters and the resulting DT50 and DT90 values
+generated with different software packages. Taken directly from FOCUS (2006).
+The results from fitting the data with the Topfit software was removed, as
+the initial concentration of the parent compound was fixed to a value of 100
+in this fit.</p>
+
+ </div>
+
+ <div class="Format">
+ <h2>Format</h2>
+
+ <p>A data frame containing the following variables.
+ <dl>
+ <dt><code>package</code></dt><dd>a factor giving the name of the software package</dd></p>
+
+ <p><dt><code>M0</code></dt><dd>The fitted initial concentration of the parent compound</dd></p>
+
+ <p><dt><code>f</code></dt><dd>The fitted f parameter</dd></p>
+
+ <p><dt><code>k1</code></dt><dd>The fitted k1 parameter</dd></p>
+
+ <p><dt><code>k2</code></dt><dd>The fitted k2 parameter</dd></p>
+
+ <p><dt><code>DT50</code></dt><dd>The resulting half-life of the parent compound</dd></p>
+
+ <p><dt><code>DT90</code></dt><dd>The resulting DT90 of the parent compound</dd></p>
+
+ <p><dt><code>dataset</code></dt><dd>The FOCUS dataset that was used</dd></p>
+
+ <p></dl></p>
+
+ <p></p>
+
+ </div>
+
+ <div class="Source">
+ <h2>Source</h2>
+
+ <p>FOCUS (2006) &#147;Guidance Document on Estimating Persistence and
+ Degradation Kinetics from Environmental Fate Studies on Pesticides in EU
+ Registration&#148; Report of the FOCUS Work Group on Degradation Kinetics,
+ EC Document Reference Sanco/10058/2005 version 2.0, 434 pp,
+ <a href = 'http://focus.jrc.ec.europa.eu/dk'>http://focus.jrc.ec.europa.eu/dk</a></p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'><span class="functioncall"><a href='http://www.rdocumentation.org/packages/utils/topics/data'>data</a></span><span class="keyword">(</span><span class="symbol">FOCUS_2006_DFOP_ref_A_to_B</span><span class="keyword">)</span></div></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>FOCUS_2006_DFOP_ref_A_to_B</li>
+ </ul>
+ <ul>
+ <li>datasets</li>
+ </ul> -->
+
+
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/FOCUS_2006_FOMC_ref_A_to_F.html b/docs/FOCUS_2006_FOMC_ref_A_to_F.html
new file mode 100644
index 00000000..580cdb88
--- /dev/null
+++ b/docs/FOCUS_2006_FOMC_ref_A_to_F.html
@@ -0,0 +1,131 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>FOCUS_2006_FOMC_ref_A_to_F. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+Results of fitting the FOMC model to Datasets A to F of FOCUS (2006)
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="functioncall"><a href='http://www.rdocumentation.org/packages/utils/topics/data'>data</a></span><span class="keyword">(</span><span class="symbol">FOCUS_2006_FOMC_ref_A_to_F</span><span class="keyword">)</span></pre>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>A table with the fitted parameters and the resulting DT50 and DT90 values
+generated with different software packages. Taken directly from FOCUS (2006).
+The results from fitting the data with the Topfit software was removed, as
+the initial concentration of the parent compound was fixed to a value of 100
+in this fit.</p>
+
+ </div>
+
+ <div class="Format">
+ <h2>Format</h2>
+
+ <p>A data frame containing the following variables.
+ <dl>
+ <dt><code>package</code></dt><dd>a factor giving the name of the software package</dd></p>
+
+ <p><dt><code>M0</code></dt><dd>The fitted initial concentration of the parent compound</dd></p>
+
+ <p><dt><code>alpha</code></dt><dd>The fitted alpha parameter</dd></p>
+
+ <p><dt><code>beta</code></dt><dd>The fitted beta parameter</dd></p>
+
+ <p><dt><code>DT50</code></dt><dd>The resulting half-life of the parent compound</dd></p>
+
+ <p><dt><code>DT90</code></dt><dd>The resulting DT90 of the parent compound</dd></p>
+
+ <p><dt><code>dataset</code></dt><dd>The FOCUS dataset that was used</dd></p>
+
+ <p></dl></p>
+
+ <p></p>
+
+ </div>
+
+ <div class="Source">
+ <h2>Source</h2>
+
+ <p>FOCUS (2006) &#147;Guidance Document on Estimating Persistence and
+ Degradation Kinetics from Environmental Fate Studies on Pesticides in EU
+ Registration&#148; Report of the FOCUS Work Group on Degradation Kinetics,
+ EC Document Reference Sanco/10058/2005 version 2.0, 434 pp,
+ <a href = 'http://focus.jrc.ec.europa.eu/dk'>http://focus.jrc.ec.europa.eu/dk</a></p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'><span class="functioncall"><a href='http://www.rdocumentation.org/packages/utils/topics/data'>data</a></span><span class="keyword">(</span><span class="symbol">FOCUS_2006_FOMC_ref_A_to_F</span><span class="keyword">)</span></div></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>FOCUS_2006_FOMC_ref_A_to_F</li>
+ </ul>
+ <ul>
+ <li>datasets</li>
+ </ul> -->
+
+
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/FOCUS_2006_HS_ref_A_to_F.html b/docs/FOCUS_2006_HS_ref_A_to_F.html
new file mode 100644
index 00000000..65c11f59
--- /dev/null
+++ b/docs/FOCUS_2006_HS_ref_A_to_F.html
@@ -0,0 +1,133 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>FOCUS_2006_HS_ref_A_to_F. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+Results of fitting the HS model to Datasets A to F of FOCUS (2006)
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="functioncall"><a href='http://www.rdocumentation.org/packages/utils/topics/data'>data</a></span><span class="keyword">(</span><span class="symbol">FOCUS_2006_HS_ref_A_to_F</span><span class="keyword">)</span></pre>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>A table with the fitted parameters and the resulting DT50 and DT90 values
+generated with different software packages. Taken directly from FOCUS (2006).
+The results from fitting the data with the Topfit software was removed, as
+the initial concentration of the parent compound was fixed to a value of 100
+in this fit.</p>
+
+ </div>
+
+ <div class="Format">
+ <h2>Format</h2>
+
+ <p>A data frame containing the following variables.
+ <dl>
+ <dt><code>package</code></dt><dd>a factor giving the name of the software package</dd></p>
+
+ <p><dt><code>M0</code></dt><dd>The fitted initial concentration of the parent compound</dd></p>
+
+ <p><dt><code>tb</code></dt><dd>The fitted tb parameter</dd></p>
+
+ <p><dt><code>k1</code></dt><dd>The fitted k1 parameter</dd></p>
+
+ <p><dt><code>k2</code></dt><dd>The fitted k2 parameter</dd></p>
+
+ <p><dt><code>DT50</code></dt><dd>The resulting half-life of the parent compound</dd></p>
+
+ <p><dt><code>DT90</code></dt><dd>The resulting DT90 of the parent compound</dd></p>
+
+ <p><dt><code>dataset</code></dt><dd>The FOCUS dataset that was used</dd></p>
+
+ <p></dl></p>
+
+ <p></p>
+
+ </div>
+
+ <div class="Source">
+ <h2>Source</h2>
+
+ <p>FOCUS (2006) &#147;Guidance Document on Estimating Persistence and
+ Degradation Kinetics from Environmental Fate Studies on Pesticides in EU
+ Registration&#148; Report of the FOCUS Work Group on Degradation Kinetics,
+ EC Document Reference Sanco/10058/2005 version 2.0, 434 pp,
+ <a href = 'http://focus.jrc.ec.europa.eu/dk'>http://focus.jrc.ec.europa.eu/dk</a></p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'><span class="functioncall"><a href='http://www.rdocumentation.org/packages/utils/topics/data'>data</a></span><span class="keyword">(</span><span class="symbol">FOCUS_2006_HS_ref_A_to_F</span><span class="keyword">)</span></div></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>FOCUS_2006_HS_ref_A_to_F</li>
+ </ul>
+ <ul>
+ <li>datasets</li>
+ </ul> -->
+
+
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/FOCUS_2006_SFO_ref_A_to_F.html b/docs/FOCUS_2006_SFO_ref_A_to_F.html
new file mode 100644
index 00000000..ab33a3a5
--- /dev/null
+++ b/docs/FOCUS_2006_SFO_ref_A_to_F.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>FOCUS_2006_SFO_ref_A_to_F. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+Results of fitting the SFO model to Datasets A to F of FOCUS (2006)
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="functioncall"><a href='http://www.rdocumentation.org/packages/utils/topics/data'>data</a></span><span class="keyword">(</span><span class="symbol">FOCUS_2006_SFO_ref_A_to_F</span><span class="keyword">)</span></pre>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>A table with the fitted parameters and the resulting DT50 and DT90 values
+generated with different software packages. Taken directly from FOCUS (2006).
+The results from fitting the data with the Topfit software was removed, as
+the initial concentration of the parent compound was fixed to a value of 100
+in this fit.</p>
+
+ </div>
+
+ <div class="Format">
+ <h2>Format</h2>
+
+ <p>A data frame containing the following variables.
+ <dl>
+ <dt><code>package</code></dt><dd>a factor giving the name of the software package</dd></p>
+
+ <p><dt><code>M0</code></dt><dd>The fitted initial concentration of the parent compound</dd></p>
+
+ <p><dt><code>k</code></dt><dd>The fitted first-order degradation rate constant</dd></p>
+
+ <p><dt><code>DT50</code></dt><dd>The resulting half-life of the parent compound</dd></p>
+
+ <p><dt><code>DT90</code></dt><dd>The resulting DT90 of the parent compound</dd></p>
+
+ <p><dt><code>dataset</code></dt><dd>The FOCUS dataset that was used</dd></p>
+
+ <p></dl></p>
+
+ <p></p>
+
+ </div>
+
+ <div class="Source">
+ <h2>Source</h2>
+
+ <p>FOCUS (2006) &#147;Guidance Document on Estimating Persistence and
+ Degradation Kinetics from Environmental Fate Studies on Pesticides in EU
+ Registration&#148; Report of the FOCUS Work Group on Degradation Kinetics,
+ EC Document Reference Sanco/10058/2005 version 2.0, 434 pp,
+ <a href = 'http://focus.jrc.ec.europa.eu/dk'>http://focus.jrc.ec.europa.eu/dk</a></p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'><span class="functioncall"><a href='http://www.rdocumentation.org/packages/utils/topics/data'>data</a></span><span class="keyword">(</span><span class="symbol">FOCUS_2006_SFO_ref_A_to_F</span><span class="keyword">)</span></div></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>FOCUS_2006_SFO_ref_A_to_F</li>
+ </ul>
+ <ul>
+ <li>datasets</li>
+ </ul> -->
+
+
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/FOCUS_2006_datasets.html b/docs/FOCUS_2006_datasets.html
new file mode 100644
index 00000000..4de4d54e
--- /dev/null
+++ b/docs/FOCUS_2006_datasets.html
@@ -0,0 +1,130 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>FOCUS_2006_datasets. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+Datasets A to F from the FOCUS Kinetics report from 2006
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="symbol">FOCUS_2006_datasets</span></pre>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>Data taken from FOCUS (2006), p. 258.</p>
+
+ </div>
+
+ <div class="Format">
+ <h2>Format</h2>
+
+ <p>6 datasets with observations on the following variables.
+ <dl>
+ <dt><code>name</code></dt><dd>a factor containing the name of the observed variable</dd></p>
+
+ <p><dt><code>time</code></dt><dd>a numeric vector containing time points</dd></p>
+
+ <p><dt><code>value</code></dt><dd>a numeric vector containing concentrations in percent of applied radioactivity</dd></p>
+
+ <p></dl></p>
+
+ <p></p>
+
+ </div>
+
+ <div class="Source">
+ <h2>Source</h2>
+
+ <p>FOCUS (2006) &#147;Guidance Document on Estimating Persistence and
+ Degradation Kinetics from Environmental Fate Studies on Pesticides in EU
+ Registration&#148; Report of the FOCUS Work Group on Degradation Kinetics,
+ EC Document Reference Sanco/10058/2005 version 2.0, 434 pp,
+ <a href = 'http://focus.jrc.ec.europa.eu/dk'>http://focus.jrc.ec.europa.eu/dk</a></p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'><span class="symbol">FOCUS_2006_C</span></div>
+<div class='output'> name time value
+1 parent 0 85.1
+2 parent 1 57.9
+3 parent 3 29.9
+4 parent 7 14.6
+5 parent 14 9.7
+6 parent 28 6.6
+7 parent 63 4.0
+8 parent 91 3.9
+9 parent 119 0.6
+</div></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>FOCUS_2006_A</li><li>FOCUS_2006_B</li><li>FOCUS_2006_C</li><li>FOCUS_2006_D</li><li>FOCUS_2006_E</li><li>FOCUS_2006_F</li>
+ </ul>
+ <ul>
+ <li>datasets</li>
+ </ul> -->
+
+
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/FOMC.solution-2.png b/docs/FOMC.solution-2.png
new file mode 100644
index 00000000..0efe8f07
--- /dev/null
+++ b/docs/FOMC.solution-2.png
Binary files differ
diff --git a/docs/FOMC.solution.html b/docs/FOMC.solution.html
new file mode 100644
index 00000000..fe8b875d
--- /dev/null
+++ b/docs/FOMC.solution.html
@@ -0,0 +1,145 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>FOMC.solution. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1> First-Order Multi-Compartment kinetics </h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="functioncall"><a href='FOMC.solution.html'>FOMC.solution</a></span><span class="keyword">(</span><span class="symbol">t</span><span class="keyword">,</span> <span class="symbol">parent.0</span><span class="keyword">,</span> <span class="symbol">alpha</span><span class="keyword">,</span> <span class="symbol">beta</span><span class="keyword">)</span></pre>
+
+ <h2>Arguments</h2>
+ <dl>
+ <dt>t</dt>
+ <dd> Time. </dd>
+ <dt>parent.0</dt>
+ <dd> Starting value for the response variable at time zero. </dd>
+ <dt>alpha</dt>
+ <dd>
+ Shape parameter determined by coefficient of variation of rate constant
+ values. </dd>
+ <dt>beta</dt>
+ <dd>
+ Location parameter.
+</dd>
+ </dl>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>Function describing exponential decline from a defined starting value, with
+ a decreasing rate constant.</p>
+
+ <p>The form given here differs slightly from the original reference by Gustafson
+ and Holden (1990). The parameter <code>beta</code> corresponds to 1/beta in the
+ original equation.</p>
+
+ </div>
+
+ <div class="Note">
+ <h2>Note</h2>
+
+ <p>The solution of the FOMC kinetic model reduces to the
+ <code><a href='SFO.solution.html'>SFO.solution</a></code> for large values of <code>alpha</code> and
+ <code>beta</code> with
+ $k = beta/alpha$.</p>
+
+ </div>
+
+ <div class="Value">
+ <h2>Value</h2>
+
+ <p><dl>
+ The value of the response variable at time <code>t</code>.
+</dl></p>
+
+ </div>
+
+ <div class="References">
+ <h2>References</h2>
+
+ <p>FOCUS (2006) &#147;Guidance Document on Estimating Persistence and
+ Degradation Kinetics from Environmental Fate Studies on Pesticides in EU
+ Registration&#148; Report of the FOCUS Work Group on Degradation Kinetics,
+ EC Document Reference Sanco/10058/2005 version 2.0, 434 pp,
+ <a href = 'http://focus.jrc.ec.europa.eu/dk'>http://focus.jrc.ec.europa.eu/dk</a></p>
+
+ <p>Gustafson DI and Holden LR (1990) Nonlinear pesticide dissipation in soil: A
+ new model based on spatial variability. <em>Environmental Science and
+ Technology</em> <b>24</b>, 1032-1038</p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/graphics/topics/plot'>plot</a></span><span class="keyword">(</span><span class="keyword">function</span><span class="keyword">(</span><span class="formalargs">x</span><span class="keyword">)</span> <span class="functioncall"><a href='FOMC.solution.html'>FOMC.solution</a></span><span class="keyword">(</span><span class="symbol">x</span><span class="keyword">,</span> <span class="number">100</span><span class="keyword">,</span> <span class="number">10</span><span class="keyword">,</span> <span class="number">2</span><span class="keyword">)</span><span class="keyword">,</span> <span class="number">0</span><span class="keyword">,</span> <span class="number">2</span><span class="keyword">,</span> <span class="argument">ylim</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="number">0</span><span class="keyword">,</span> <span class="number">100</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<p><img src='FOMC.solution-2.png' alt='' width='540' height='400' /></p></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>FOMC.solution</li>
+ </ul>
+ <ul>
+ <li> manip </li>
+ </ul> -->
+
+
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/HS.solution-2.png b/docs/HS.solution-2.png
new file mode 100644
index 00000000..0bdb37a9
--- /dev/null
+++ b/docs/HS.solution-2.png
Binary files differ
diff --git a/docs/HS.solution.html b/docs/HS.solution.html
new file mode 100644
index 00000000..836a6063
--- /dev/null
+++ b/docs/HS.solution.html
@@ -0,0 +1,127 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>HS.solution. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1> Hockey-Stick kinetics </h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="functioncall"><a href='HS.solution.html'>HS.solution</a></span><span class="keyword">(</span><span class="symbol">t</span><span class="keyword">,</span> <span class="symbol">parent.0</span><span class="keyword">,</span> <span class="symbol">k1</span><span class="keyword">,</span> <span class="symbol">k2</span><span class="keyword">,</span> <span class="symbol">tb</span><span class="keyword">)</span></pre>
+
+ <h2>Arguments</h2>
+ <dl>
+ <dt>t</dt>
+ <dd> Time. </dd>
+ <dt>parent.0</dt>
+ <dd> Starting value for the response variable at time zero. </dd>
+ <dt>k1</dt>
+ <dd> First kinetic constant. </dd>
+ <dt>k2</dt>
+ <dd> Second kinetic constant. </dd>
+ <dt>tb</dt>
+ <dd> Break point. Before this time, exponential decline according
+ to <code>k1</code> is calculated, after this time, exponential decline proceeds
+ according to <code>k2</code>. </dd>
+ </dl>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>Function describing two exponential decline functions with a break point
+ between them.</p>
+
+ </div>
+
+ <div class="Value">
+ <h2>Value</h2>
+
+ <p><dl>
+ The value of the response variable at time <code>t</code>.
+</dl></p>
+
+ </div>
+
+ <div class="References">
+ <h2>References</h2>
+
+ <p>FOCUS (2006) &#147;Guidance Document on Estimating Persistence and
+ Degradation Kinetics from Environmental Fate Studies on Pesticides in EU
+ Registration&#148; Report of the FOCUS Work Group on Degradation Kinetics,
+ EC Document Reference Sanco/10058/2005 version 2.0, 434 pp,
+ <a href = 'http://focus.jrc.ec.europa.eu/dk'>http://focus.jrc.ec.europa.eu/dk</a></p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/graphics/topics/plot'>plot</a></span><span class="keyword">(</span><span class="keyword">function</span><span class="keyword">(</span><span class="formalargs">x</span><span class="keyword">)</span> <span class="functioncall"><a href='HS.solution.html'>HS.solution</a></span><span class="keyword">(</span><span class="symbol">x</span><span class="keyword">,</span> <span class="number">100</span><span class="keyword">,</span> <span class="number">2</span><span class="keyword">,</span> <span class="number">0.3</span><span class="keyword">,</span> <span class="number">0.5</span><span class="keyword">)</span><span class="keyword">,</span> <span class="number">0</span><span class="keyword">,</span> <span class="number">2</span><span class="keyword">,</span> <span class="argument">ylim</span><span class="argument">=</span><span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="number">0</span><span class="keyword">,</span><span class="number">100</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<p><img src='HS.solution-2.png' alt='' width='540' height='400' /></p></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>HS.solution</li>
+ </ul>
+ <ul>
+ <li> manip </li>
+ </ul> -->
+
+
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/IORE.solution-2.png b/docs/IORE.solution-2.png
new file mode 100644
index 00000000..df268b64
--- /dev/null
+++ b/docs/IORE.solution-2.png
Binary files differ
diff --git a/docs/IORE.solution.html b/docs/IORE.solution.html
new file mode 100644
index 00000000..df94ef72
--- /dev/null
+++ b/docs/IORE.solution.html
@@ -0,0 +1,150 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>IORE.solution. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1> Indeterminate order rate equation kinetics </h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="functioncall"><a href='IORE.solution.html'>IORE.solution</a></span><span class="keyword">(</span><span class="symbol">t</span><span class="keyword">,</span> <span class="symbol">parent.0</span><span class="keyword">,</span> <span class="symbol">k__iore</span><span class="keyword">,</span> <span class="symbol">N</span><span class="keyword">)</span></pre>
+
+ <h2>Arguments</h2>
+ <dl>
+ <dt>t</dt>
+ <dd> Time. </dd>
+ <dt>parent.0</dt>
+ <dd> Starting value for the response variable at time zero. </dd>
+ <dt>k__iore</dt>
+ <dd> Rate constant. Note that this depends on the concentration units used. </dd>
+ <dt>N</dt>
+ <dd> Exponent describing the nonlinearity of the rate equation </dd>
+ </dl>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>Function describing exponential decline from a defined starting value, with
+ a concentration dependent rate constant.</p>
+
+ </div>
+
+ <div class="Note">
+ <h2>Note</h2>
+
+ <p>The solution of the IORE kinetic model reduces to the
+ <code><a href='SFO.solution.html'>SFO.solution</a></code> if N = 1.
+ The parameters of the IORE model can be transformed to equivalent parameters
+ of the FOMC mode - see the NAFTA guidance for details.</p>
+
+ </div>
+
+ <div class="Value">
+ <h2>Value</h2>
+
+ <p><dl>
+ The value of the response variable at time <code>t</code>.
+</dl></p>
+
+ </div>
+
+ <div class="References">
+ <h2>References</h2>
+
+ <p>NAFTA Technical Working Group on Pesticides (not dated) Guidance for
+ Evaluating and Calculating Degradation Kinetics in Environmental
+ Media</p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/graphics/topics/plot'>plot</a></span><span class="keyword">(</span><span class="keyword">function</span><span class="keyword">(</span><span class="formalargs">x</span><span class="keyword">)</span> <span class="functioncall"><a href='IORE.solution.html'>IORE.solution</a></span><span class="keyword">(</span><span class="symbol">x</span><span class="keyword">,</span> <span class="number">100</span><span class="keyword">,</span> <span class="number">0.2</span><span class="keyword">,</span> <span class="number">1.3</span><span class="keyword">)</span><span class="keyword">,</span> <span class="number">0</span><span class="keyword">,</span> <span class="number">2</span><span class="keyword">,</span>
+ <span class="argument">ylim</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="number">0</span><span class="keyword">,</span> <span class="number">100</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<p><img src='IORE.solution-2.png' alt='' width='540' height='400' /></p>
+<div class='input'> <span class="symbol">fit.fomc</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mkinfit.html'>mkinfit</a></span><span class="keyword">(</span><span class="string">"FOMC"</span><span class="keyword">,</span> <span class="symbol">FOCUS_2006_C</span><span class="keyword">,</span> <span class="argument">quiet</span> <span class="argument">=</span> <span class="number">TRUE</span><span class="keyword">)</span>
+ <span class="symbol">fit.iore</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mkinfit.html'>mkinfit</a></span><span class="keyword">(</span><span class="string">"IORE"</span><span class="keyword">,</span> <span class="symbol">FOCUS_2006_C</span><span class="keyword">,</span> <span class="argument">quiet</span> <span class="argument">=</span> <span class="number">TRUE</span><span class="keyword">)</span>
+ <span class="symbol">fit.iore.deS</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mkinfit.html'>mkinfit</a></span><span class="keyword">(</span><span class="string">"IORE"</span><span class="keyword">,</span> <span class="symbol">FOCUS_2006_C</span><span class="keyword">,</span> <span class="argument">solution_type</span> <span class="argument">=</span> <span class="string">"deSolve"</span><span class="keyword">,</span> <span class="argument">quiet</span> <span class="argument">=</span> <span class="number">TRUE</span><span class="keyword">)</span>
+
+ <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/print'>print</a></span><span class="keyword">(</span><span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/data.frame'>data.frame</a></span><span class="keyword">(</span><span class="functioncall"><a href='http://www.rdocumentation.org/packages/stats/topics/coef'>coef</a></span><span class="keyword">(</span><span class="symbol">fit.fomc</span><span class="keyword">)</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/stats/topics/coef'>coef</a></span><span class="keyword">(</span><span class="symbol">fit.iore</span><span class="keyword">)</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/stats/topics/coef'>coef</a></span><span class="keyword">(</span><span class="symbol">fit.iore.deS</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">row.names</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/paste'>paste</a></span><span class="keyword">(</span><span class="string">"model par"</span><span class="keyword">,</span> <span class="number">1</span><span class="keyword">:</span><span class="number">3</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<div class='output'> coef.fit.fomc. coef.fit.iore. coef.fit.iore.deS.
+model par 1 85.87489063 85.874891 85.874890
+model par 2 0.05192238 -4.826631 -4.826631
+model par 3 0.65096665 1.949403 1.949403
+</div>
+<div class='input'> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/print'>print</a></span><span class="keyword">(</span><span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/cbind'>rbind</a></span><span class="keyword">(</span><span class="argument">fomc</span> <span class="argument">=</span> <span class="functioncall"><a href='endpoints.html'>endpoints</a></span><span class="keyword">(</span><span class="symbol">fit.fomc</span><span class="keyword">)</span><span class="keyword">$</span><span class="symbol">distimes</span><span class="keyword">,</span> <span class="argument">iore</span> <span class="argument">=</span> <span class="functioncall"><a href='endpoints.html'>endpoints</a></span><span class="keyword">(</span><span class="symbol">fit.iore</span><span class="keyword">)</span><span class="keyword">$</span><span class="symbol">distimes</span><span class="keyword">,</span>
+ <span class="argument">iore.deS</span> <span class="argument">=</span> <span class="functioncall"><a href='endpoints.html'>endpoints</a></span><span class="keyword">(</span><span class="symbol">fit.iore</span><span class="keyword">)</span><span class="keyword">$</span><span class="symbol">distimes</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<div class='output'> DT50 DT90 DT50back
+fomc 1.785233 15.1479 4.559973
+iore 1.785233 15.1479 4.559973
+iore.deS 1.785233 15.1479 4.559973
+</div></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>IORE.solution</li>
+ </ul>
+ <ul>
+ <li> manip </li>
+ </ul> -->
+
+
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/SFO.solution.html b/docs/SFO.solution.html
new file mode 100644
index 00000000..2321f15b
--- /dev/null
+++ b/docs/SFO.solution.html
@@ -0,0 +1,119 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>SFO.solution. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1> Single First-Order kinetics </h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="functioncall"><a href='SFO.solution.html'>SFO.solution</a></span><span class="keyword">(</span><span class="symbol">t</span><span class="keyword">,</span> <span class="symbol">parent.0</span><span class="keyword">,</span> <span class="symbol">k</span><span class="keyword">)</span></pre>
+
+ <h2>Arguments</h2>
+ <dl>
+ <dt>t</dt>
+ <dd> Time. </dd>
+ <dt>parent.0</dt>
+ <dd> Starting value for the response variable at time zero. </dd>
+ <dt>k</dt>
+ <dd> Kinetic constant. </dd>
+ </dl>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>Function describing exponential decline from a defined starting value.</p>
+
+ </div>
+
+ <div class="Value">
+ <h2>Value</h2>
+
+ <p><dl>
+ The value of the response variable at time <code>t</code>.
+</dl></p>
+
+ </div>
+
+ <div class="References">
+ <h2>References</h2>
+
+ <p>FOCUS (2006) &#147;Guidance Document on Estimating Persistence and
+ Degradation Kinetics from Environmental Fate Studies on Pesticides in EU
+ Registration&#148; Report of the FOCUS Work Group on Degradation Kinetics,
+ EC Document Reference Sanco/10058/2005 version 2.0, 434 pp,
+ <a href = 'http://focus.jrc.ec.europa.eu/dk'>http://focus.jrc.ec.europa.eu/dk</a></p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'> <span class="comment">## Not run: plot(function(x) SFO.solution(x, 100, 3), 0, 2)</span></div></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>SFO.solution</li>
+ </ul>
+ <ul>
+ <li> manip </li>
+ </ul> -->
+
+
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/SFORB.solution.html b/docs/SFORB.solution.html
new file mode 100644
index 00000000..6926b770
--- /dev/null
+++ b/docs/SFORB.solution.html
@@ -0,0 +1,128 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>SFORB.solution. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1> Single First-Order Reversible Binding kinetics </h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="functioncall"><a href='SFORB.solution.html'>SFORB.solution</a></span><span class="keyword">(</span><span class="symbol">t</span><span class="keyword">,</span> <span class="symbol">parent.0</span><span class="keyword">,</span> <span class="symbol">k_12</span><span class="keyword">,</span> <span class="symbol">k_21</span><span class="keyword">,</span> <span class="symbol">k_1output</span><span class="keyword">)</span></pre>
+
+ <h2>Arguments</h2>
+ <dl>
+ <dt>t</dt>
+ <dd> Time. </dd>
+ <dt>parent.0</dt>
+ <dd> Starting value for the response variable at time zero. </dd>
+ <dt>k_12</dt>
+ <dd> Kinetic constant describing transfer from free to bound. </dd>
+ <dt>k_21</dt>
+ <dd> Kinetic constant describing transfer from bound to free. </dd>
+ <dt>k_1output</dt>
+ <dd> Kinetic constant describing degradation of the free fraction. </dd>
+ </dl>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>Function describing the solution of the differential equations describing
+ the kinetic model with first-order terms for a two-way transfer from a free
+ to a bound fraction, and a first-order degradation term for the free
+ fraction. The initial condition is a defined amount in the free fraction and
+ no substance in the bound fraction.</p>
+
+ </div>
+
+ <div class="Value">
+ <h2>Value</h2>
+
+ <p><dl>
+ The value of the response variable, which is the sum of free and bound
+ fractions at time <code>t</code>.
+</dl></p>
+
+ </div>
+
+ <div class="References">
+ <h2>References</h2>
+
+ <p>FOCUS (2006) &#147;Guidance Document on Estimating Persistence and
+ Degradation Kinetics from Environmental Fate Studies on Pesticides in EU
+ Registration&#148; Report of the FOCUS Work Group on Degradation Kinetics,
+ EC Document Reference Sanco/10058/2005 version 2.0, 434 pp,
+ <a href = 'http://focus.jrc.ec.europa.eu/dk'>http://focus.jrc.ec.europa.eu/dk</a></p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'> <span class="comment">## Not run: plot(function(x) SFORB.solution(x, 100, 0.5, 2, 3), 0, 2)</span></div></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>SFORB.solution</li>
+ </ul>
+ <ul>
+ <li> manip </li>
+ </ul> -->
+
+
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/add_err-4.png b/docs/add_err-4.png
new file mode 100644
index 00000000..f3d04134
--- /dev/null
+++ b/docs/add_err-4.png
Binary files differ
diff --git a/docs/add_err-6.png b/docs/add_err-6.png
new file mode 100644
index 00000000..05b27247
--- /dev/null
+++ b/docs/add_err-6.png
Binary files differ
diff --git a/docs/add_err-8.png b/docs/add_err-8.png
new file mode 100644
index 00000000..b0182d2a
--- /dev/null
+++ b/docs/add_err-8.png
Binary files differ
diff --git a/docs/add_err.html b/docs/add_err.html
new file mode 100644
index 00000000..78c69d3e
--- /dev/null
+++ b/docs/add_err.html
@@ -0,0 +1,201 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>add_err. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="
+ Johannes Ranke
+">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+ Add normally distributed errors to simulated kinetic degradation data
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="functioncall"><a href='add_err.html'>add_err</a></span><span class="keyword">(</span><span class="symbol">prediction</span><span class="keyword">,</span> <span class="symbol">sdfunc</span><span class="keyword">,</span>
+ <span class="argument">n</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">1000</span><span class="keyword">,</span> <span class="argument">LOD</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">0.1</span><span class="keyword">,</span> <span class="argument">reps</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">2</span><span class="keyword">,</span>
+ <span class="argument">digits</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">1</span><span class="keyword">,</span> <span class="argument">seed</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">NA</span><span class="keyword">)</span></pre>
+
+ <h2>Arguments</h2>
+ <dl>
+ <dt>prediction</dt>
+ <dd>
+ A prediction from a kinetic model as produced by <code><a href='mkinpredict.html'>mkinpredict</a></code>.
+ </dd>
+ <dt>sdfunc</dt>
+ <dd>
+ A function taking the predicted value as its only argument and returning
+ a standard deviation that should be used for generating the random error
+ terms for this value.
+ </dd>
+ <dt>n</dt>
+ <dd>
+ The number of datasets to be generated.
+ </dd>
+ <dt>LOD</dt>
+ <dd>
+ The limit of detection (LOD). Values that are below the LOD after adding
+ the random error will be set to NA.
+ </dd>
+ <dt>reps</dt>
+ <dd>
+ The number of replicates to be generated within the datasets.
+ </dd>
+ <dt>digits</dt>
+ <dd>
+ The number of digits to which the values will be rounded.
+ </dd>
+ <dt>seed</dt>
+ <dd>
+ The seed used for the generation of random numbers. If NA, the seed
+ is not set.
+ </dd>
+ </dl>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>Normally distributed errors are added to data predicted for a specific
+ degradation model using <code><a href='mkinpredict.html'>mkinpredict</a></code>. The variance of the error
+ may depend on the predicted value and is specified as a standard deviation.</p>
+
+ </div>
+
+ <div class="Value">
+ <h2>Value</h2>
+
+ <p><dl>
+ A list of datasets compatible with <code><a href='mmkin.html'>mmkin</a></code>, i.e.
+ the components of the list are datasets compatible with
+ <code><a href='mkinfit.html'>mkinfit</a></code>.
+</dl></p>
+
+ </div>
+
+ <div class="References">
+ <h2>References</h2>
+
+ <p>Ranke J and Lehmann R (2015) To t-test or not to t-test, that is the question. XV Symposium on Pesticide Chemistry 2-4 September 2015, Piacenza, Italy
+ http://chem.uft.uni-bremen.de/ranke/posters/piacenza_2015.pdf</p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'><span class="comment"># The kinetic model</span>
+<span class="symbol">m_SFO_SFO</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mkinmod.html'>mkinmod</a></span><span class="keyword">(</span><span class="argument">parent</span> <span class="argument">=</span> <span class="functioncall"><a href='mkinsub.html'>mkinsub</a></span><span class="keyword">(</span><span class="string">"SFO"</span><span class="keyword">,</span> <span class="string">"M1"</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">M1</span> <span class="argument">=</span> <span class="functioncall"><a href='mkinsub.html'>mkinsub</a></span><span class="keyword">(</span><span class="string">"SFO"</span><span class="keyword">)</span><span class="keyword">,</span> <span class="argument">use_of_ff</span> <span class="argument">=</span> <span class="string">"max"</span><span class="keyword">)</span></div>
+<strong class='message'>Successfully compiled differential equation model from auto-generated C code.</strong>
+<div class='input'>
+<span class="comment"># Generate a prediction for a specific set of parameters</span>
+<span class="symbol">sampling_times</span> <span class="assignement">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="number">0</span><span class="keyword">,</span> <span class="number">1</span><span class="keyword">,</span> <span class="number">3</span><span class="keyword">,</span> <span class="number">7</span><span class="keyword">,</span> <span class="number">14</span><span class="keyword">,</span> <span class="number">28</span><span class="keyword">,</span> <span class="number">60</span><span class="keyword">,</span> <span class="number">90</span><span class="keyword">,</span> <span class="number">120</span><span class="keyword">)</span>
+
+<span class="comment"># This is the prediction used for the "Type 2 datasets" on the Piacenza poster</span>
+<span class="comment"># from 2015</span>
+<span class="symbol">d_SFO_SFO</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mkinpredict.html'>mkinpredict</a></span><span class="keyword">(</span><span class="symbol">m_SFO_SFO</span><span class="keyword">,</span>
+ <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">k_parent</span> <span class="argument">=</span> <span class="number">0.1</span><span class="keyword">,</span> <span class="argument">f_parent_to_M1</span> <span class="argument">=</span> <span class="number">0.5</span><span class="keyword">,</span>
+ <span class="argument">k_M1</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/Log'>log</a></span><span class="keyword">(</span><span class="number">2</span><span class="keyword">)</span><span class="keyword">/</span><span class="number">1000</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">parent</span> <span class="argument">=</span> <span class="number">100</span><span class="keyword">,</span> <span class="argument">M1</span> <span class="argument">=</span> <span class="number">0</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="symbol">sampling_times</span><span class="keyword">)</span>
+
+<span class="comment"># Add an error term with a constant (independent of the value) standard deviation</span>
+<span class="comment"># of 10, and generate three datasets</span>
+<span class="symbol">d_SFO_SFO_err</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='add_err.html'>add_err</a></span><span class="keyword">(</span><span class="symbol">d_SFO_SFO</span><span class="keyword">,</span> <span class="keyword">function</span><span class="keyword">(</span><span class="formalargs">x</span><span class="keyword">)</span> <span class="number">10</span><span class="keyword">,</span> <span class="argument">n</span> <span class="argument">=</span> <span class="number">3</span><span class="keyword">,</span> <span class="argument">seed</span> <span class="argument">=</span> <span class="number">123456789</span> <span class="keyword">)</span>
+
+<span class="comment"># Name the datasets for nicer plotting</span>
+<span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/names'>names</a></span><span class="keyword">(</span><span class="symbol">d_SFO_SFO_err</span><span class="keyword">)</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/paste'>paste</a></span><span class="keyword">(</span><span class="string">"Dataset"</span><span class="keyword">,</span> <span class="number">1</span><span class="keyword">:</span><span class="number">3</span><span class="keyword">)</span>
+
+<span class="comment"># Name the model in the list of models (with only one member in this case)</span>
+<span class="comment"># for nicer plotting later on.</span>
+<span class="comment"># Be quiet and use the faster Levenberg-Marquardt algorithm, as the datasets</span>
+<span class="comment"># are easy and examples are run often. Use only one core not to offend CRAN</span>
+<span class="comment"># checks</span>
+<span class="symbol">f_SFO_SFO</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mmkin.html'>mmkin</a></span><span class="keyword">(</span><span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/list'>list</a></span><span class="keyword">(</span><span class="string">"SFO-SFO"</span> <span class="argument">=</span> <span class="symbol">m_SFO_SFO</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="symbol">d_SFO_SFO_err</span><span class="keyword">,</span> <span class="argument">cores</span> <span class="argument">=</span> <span class="number">1</span><span class="keyword">,</span>
+ <span class="argument">quiet</span> <span class="argument">=</span> <span class="number">TRUE</span><span class="keyword">,</span> <span class="argument">method.modFit</span> <span class="argument">=</span> <span class="string">"Marq"</span><span class="keyword">)</span>
+
+<span class="functioncall"><a href='http://www.rdocumentation.org/packages/graphics/topics/plot'>plot</a></span><span class="keyword">(</span><span class="symbol">f_SFO_SFO</span><span class="keyword">)</span></div>
+<p><img src='add_err-4.png' alt='' width='540' height='400' /></p>
+<div class='input'>
+<span class="comment"># We would like to inspect the fit for dataset 3 more closely</span>
+<span class="comment"># Using double brackets makes the returned object an mkinfit object</span>
+<span class="comment"># instead of a list of mkinfit objects, so plot.mkinfit is used</span>
+<span class="functioncall"><a href='http://www.rdocumentation.org/packages/graphics/topics/plot'>plot</a></span><span class="keyword">(</span><span class="symbol">f_SFO_SFO</span><span class="keyword">[[</span><span class="number">3</span><span class="keyword">]</span><span class="keyword">]</span><span class="keyword">,</span> <span class="argument">show_residuals</span> <span class="argument">=</span> <span class="number">TRUE</span><span class="keyword">)</span></div>
+<p><img src='add_err-6.png' alt='' width='540' height='400' /></p>
+<div class='input'>
+<span class="comment"># If we use single brackets, we should give two indices (model and dataset),</span>
+<span class="comment"># and plot.mmkin is used</span>
+<span class="functioncall"><a href='http://www.rdocumentation.org/packages/graphics/topics/plot'>plot</a></span><span class="keyword">(</span><span class="symbol">f_SFO_SFO</span><span class="keyword">[</span><span class="number">1</span><span class="keyword">,</span> <span class="number">3</span><span class="keyword">]</span><span class="keyword">)</span></div>
+<p><img src='add_err-8.png' alt='' width='540' height='400' /></p>
+<div class='input'></div></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>add_err</li>
+ </ul>
+ <ul>
+ <li> manip </li>
+ </ul> -->
+
+
+
+ <h2>Author</h2>
+
+ Johannes Ranke
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/css/bootstrap-responsive.css b/docs/css/bootstrap-responsive.css
new file mode 100644
index 00000000..06e55c0b
--- /dev/null
+++ b/docs/css/bootstrap-responsive.css
@@ -0,0 +1,815 @@
+/*!
+ * Bootstrap Responsive v2.0.4
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */
+
+.clearfix {
+ *zoom: 1;
+}
+
+.clearfix:before,
+.clearfix:after {
+ display: table;
+ content: "";
+}
+
+.clearfix:after {
+ clear: both;
+}
+
+.hide-text {
+ font: 0/0 a;
+ color: transparent;
+ text-shadow: none;
+ background-color: transparent;
+ border: 0;
+}
+
+.input-block-level {
+ display: block;
+ width: 100%;
+ min-height: 28px;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+}
+
+.hidden {
+ display: none;
+ visibility: hidden;
+}
+
+.visible-phone {
+ display: none !important;
+}
+
+.visible-tablet {
+ display: none !important;
+}
+
+.hidden-desktop {
+ display: none !important;
+}
+
+@media (max-width: 767px) {
+ .visible-phone {
+ display: inherit !important;
+ }
+ .hidden-phone {
+ display: none !important;
+ }
+ .hidden-desktop {
+ display: inherit !important;
+ }
+ .visible-desktop {
+ display: none !important;
+ }
+}
+
+@media (min-width: 768px) and (max-width: 979px) {
+ .visible-tablet {
+ display: inherit !important;
+ }
+ .hidden-tablet {
+ display: none !important;
+ }
+ .hidden-desktop {
+ display: inherit !important;
+ }
+ .visible-desktop {
+ display: none !important ;
+ }
+}
+
+@media (max-width: 480px) {
+ .nav-collapse {
+ -webkit-transform: translate3d(0, 0, 0);
+ }
+ .page-header h1 small {
+ display: block;
+ line-height: 18px;
+ }
+ input[type="checkbox"],
+ input[type="radio"] {
+ border: 1px solid #ccc;
+ }
+ .form-horizontal .control-group > label {
+ float: none;
+ width: auto;
+ padding-top: 0;
+ text-align: left;
+ }
+ .form-horizontal .controls {
+ margin-left: 0;
+ }
+ .form-horizontal .control-list {
+ padding-top: 0;
+ }
+ .form-horizontal .form-actions {
+ padding-right: 10px;
+ padding-left: 10px;
+ }
+ .modal {
+ position: absolute;
+ top: 10px;
+ right: 10px;
+ left: 10px;
+ width: auto;
+ margin: 0;
+ }
+ .modal.fade.in {
+ top: auto;
+ }
+ .modal-header .close {
+ padding: 10px;
+ margin: -10px;
+ }
+ .carousel-caption {
+ position: static;
+ }
+}
+
+@media (max-width: 767px) {
+ body {
+ padding-right: 20px;
+ padding-left: 20px;
+ }
+ .navbar-fixed-top,
+ .navbar-fixed-bottom {
+ margin-right: -20px;
+ margin-left: -20px;
+ }
+ .container-fluid {
+ padding: 0;
+ }
+ .dl-horizontal dt {
+ float: none;
+ width: auto;
+ clear: none;
+ text-align: left;
+ }
+ .dl-horizontal dd {
+ margin-left: 0;
+ }
+ .container {
+ width: auto;
+ }
+ .row-fluid {
+ width: 100%;
+ }
+ .row,
+ .thumbnails {
+ margin-left: 0;
+ }
+ [class*="span"],
+ .row-fluid [class*="span"] {
+ display: block;
+ float: none;
+ width: auto;
+ margin-left: 0;
+ }
+ .input-large,
+ .input-xlarge,
+ .input-xxlarge,
+ input[class*="span"],
+ select[class*="span"],
+ textarea[class*="span"],
+ .uneditable-input {
+ display: block;
+ width: 100%;
+ min-height: 28px;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+ }
+ .input-prepend input,
+ .input-append input,
+ .input-prepend input[class*="span"],
+ .input-append input[class*="span"] {
+ display: inline-block;
+ width: auto;
+ }
+}
+
+@media (min-width: 768px) and (max-width: 979px) {
+ .row {
+ margin-left: -20px;
+ *zoom: 1;
+ }
+ .row:before,
+ .row:after {
+ display: table;
+ content: "";
+ }
+ .row:after {
+ clear: both;
+ }
+ [class*="span"] {
+ float: left;
+ margin-left: 20px;
+ }
+ .container,
+ .navbar-fixed-top .container,
+ .navbar-fixed-bottom .container {
+ width: 724px;
+ }
+ .span12 {
+ width: 724px;
+ }
+ .span11 {
+ width: 662px;
+ }
+ .span10 {
+ width: 600px;
+ }
+ .span9 {
+ width: 538px;
+ }
+ .span8 {
+ width: 476px;
+ }
+ .span7 {
+ width: 414px;
+ }
+ .span6 {
+ width: 352px;
+ }
+ .span5 {
+ width: 290px;
+ }
+ .span4 {
+ width: 228px;
+ }
+ .span3 {
+ width: 166px;
+ }
+ .span2 {
+ width: 104px;
+ }
+ .span1 {
+ width: 42px;
+ }
+ .offset12 {
+ margin-left: 764px;
+ }
+ .offset11 {
+ margin-left: 702px;
+ }
+ .offset10 {
+ margin-left: 640px;
+ }
+ .offset9 {
+ margin-left: 578px;
+ }
+ .offset8 {
+ margin-left: 516px;
+ }
+ .offset7 {
+ margin-left: 454px;
+ }
+ .offset6 {
+ margin-left: 392px;
+ }
+ .offset5 {
+ margin-left: 330px;
+ }
+ .offset4 {
+ margin-left: 268px;
+ }
+ .offset3 {
+ margin-left: 206px;
+ }
+ .offset2 {
+ margin-left: 144px;
+ }
+ .offset1 {
+ margin-left: 82px;
+ }
+ .row-fluid {
+ width: 100%;
+ *zoom: 1;
+ }
+ .row-fluid:before,
+ .row-fluid:after {
+ display: table;
+ content: "";
+ }
+ .row-fluid:after {
+ clear: both;
+ }
+ .row-fluid [class*="span"] {
+ display: block;
+ float: left;
+ width: 100%;
+ min-height: 28px;
+ margin-left: 2.762430939%;
+ *margin-left: 2.709239449638298%;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+ }
+ .row-fluid [class*="span"]:first-child {
+ margin-left: 0;
+ }
+ .row-fluid .span12 {
+ width: 99.999999993%;
+ *width: 99.9468085036383%;
+ }
+ .row-fluid .span11 {
+ width: 91.436464082%;
+ *width: 91.38327259263829%;
+ }
+ .row-fluid .span10 {
+ width: 82.87292817100001%;
+ *width: 82.8197366816383%;
+ }
+ .row-fluid .span9 {
+ width: 74.30939226%;
+ *width: 74.25620077063829%;
+ }
+ .row-fluid .span8 {
+ width: 65.74585634900001%;
+ *width: 65.6926648596383%;
+ }
+ .row-fluid .span7 {
+ width: 57.182320438000005%;
+ *width: 57.129128948638304%;
+ }
+ .row-fluid .span6 {
+ width: 48.618784527%;
+ *width: 48.5655930376383%;
+ }
+ .row-fluid .span5 {
+ width: 40.055248616%;
+ *width: 40.0020571266383%;
+ }
+ .row-fluid .span4 {
+ width: 31.491712705%;
+ *width: 31.4385212156383%;
+ }
+ .row-fluid .span3 {
+ width: 22.928176794%;
+ *width: 22.874985304638297%;
+ }
+ .row-fluid .span2 {
+ width: 14.364640883%;
+ *width: 14.311449393638298%;
+ }
+ .row-fluid .span1 {
+ width: 5.801104972%;
+ *width: 5.747913482638298%;
+ }
+ input,
+ textarea,
+ .uneditable-input {
+ margin-left: 0;
+ }
+ input.span12,
+ textarea.span12,
+ .uneditable-input.span12 {
+ width: 714px;
+ }
+ input.span11,
+ textarea.span11,
+ .uneditable-input.span11 {
+ width: 652px;
+ }
+ input.span10,
+ textarea.span10,
+ .uneditable-input.span10 {
+ width: 590px;
+ }
+ input.span9,
+ textarea.span9,
+ .uneditable-input.span9 {
+ width: 528px;
+ }
+ input.span8,
+ textarea.span8,
+ .uneditable-input.span8 {
+ width: 466px;
+ }
+ input.span7,
+ textarea.span7,
+ .uneditable-input.span7 {
+ width: 404px;
+ }
+ input.span6,
+ textarea.span6,
+ .uneditable-input.span6 {
+ width: 342px;
+ }
+ input.span5,
+ textarea.span5,
+ .uneditable-input.span5 {
+ width: 280px;
+ }
+ input.span4,
+ textarea.span4,
+ .uneditable-input.span4 {
+ width: 218px;
+ }
+ input.span3,
+ textarea.span3,
+ .uneditable-input.span3 {
+ width: 156px;
+ }
+ input.span2,
+ textarea.span2,
+ .uneditable-input.span2 {
+ width: 94px;
+ }
+ input.span1,
+ textarea.span1,
+ .uneditable-input.span1 {
+ width: 32px;
+ }
+}
+
+@media (min-width: 1200px) {
+ .row {
+ margin-left: -30px;
+ *zoom: 1;
+ }
+ .row:before,
+ .row:after {
+ display: table;
+ content: "";
+ }
+ .row:after {
+ clear: both;
+ }
+ [class*="span"] {
+ float: left;
+ margin-left: 30px;
+ }
+ .container,
+ .navbar-fixed-top .container,
+ .navbar-fixed-bottom .container {
+ width: 1170px;
+ }
+ .span12 {
+ width: 1170px;
+ }
+ .span11 {
+ width: 1070px;
+ }
+ .span10 {
+ width: 970px;
+ }
+ .span9 {
+ width: 870px;
+ }
+ .span8 {
+ width: 770px;
+ }
+ .span7 {
+ width: 670px;
+ }
+ .span6 {
+ width: 570px;
+ }
+ .span5 {
+ width: 470px;
+ }
+ .span4 {
+ width: 370px;
+ }
+ .span3 {
+ width: 270px;
+ }
+ .span2 {
+ width: 170px;
+ }
+ .span1 {
+ width: 70px;
+ }
+ .offset12 {
+ margin-left: 1230px;
+ }
+ .offset11 {
+ margin-left: 1130px;
+ }
+ .offset10 {
+ margin-left: 1030px;
+ }
+ .offset9 {
+ margin-left: 930px;
+ }
+ .offset8 {
+ margin-left: 830px;
+ }
+ .offset7 {
+ margin-left: 730px;
+ }
+ .offset6 {
+ margin-left: 630px;
+ }
+ .offset5 {
+ margin-left: 530px;
+ }
+ .offset4 {
+ margin-left: 430px;
+ }
+ .offset3 {
+ margin-left: 330px;
+ }
+ .offset2 {
+ margin-left: 230px;
+ }
+ .offset1 {
+ margin-left: 130px;
+ }
+ .row-fluid {
+ width: 100%;
+ *zoom: 1;
+ }
+ .row-fluid:before,
+ .row-fluid:after {
+ display: table;
+ content: "";
+ }
+ .row-fluid:after {
+ clear: both;
+ }
+ .row-fluid [class*="span"] {
+ display: block;
+ float: left;
+ width: 100%;
+ min-height: 28px;
+ margin-left: 2.564102564%;
+ *margin-left: 2.510911074638298%;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+ }
+ .row-fluid [class*="span"]:first-child {
+ margin-left: 0;
+ }
+ .row-fluid .span12 {
+ width: 100%;
+ *width: 99.94680851063829%;
+ }
+ .row-fluid .span11 {
+ width: 91.45299145300001%;
+ *width: 91.3997999636383%;
+ }
+ .row-fluid .span10 {
+ width: 82.905982906%;
+ *width: 82.8527914166383%;
+ }
+ .row-fluid .span9 {
+ width: 74.358974359%;
+ *width: 74.30578286963829%;
+ }
+ .row-fluid .span8 {
+ width: 65.81196581200001%;
+ *width: 65.7587743226383%;
+ }
+ .row-fluid .span7 {
+ width: 57.264957265%;
+ *width: 57.2117657756383%;
+ }
+ .row-fluid .span6 {
+ width: 48.717948718%;
+ *width: 48.6647572286383%;
+ }
+ .row-fluid .span5 {
+ width: 40.170940171000005%;
+ *width: 40.117748681638304%;
+ }
+ .row-fluid .span4 {
+ width: 31.623931624%;
+ *width: 31.5707401346383%;
+ }
+ .row-fluid .span3 {
+ width: 23.076923077%;
+ *width: 23.0237315876383%;
+ }
+ .row-fluid .span2 {
+ width: 14.529914530000001%;
+ *width: 14.4767230406383%;
+ }
+ .row-fluid .span1 {
+ width: 5.982905983%;
+ *width: 5.929714493638298%;
+ }
+ input,
+ textarea,
+ .uneditable-input {
+ margin-left: 0;
+ }
+ input.span12,
+ textarea.span12,
+ .uneditable-input.span12 {
+ width: 1160px;
+ }
+ input.span11,
+ textarea.span11,
+ .uneditable-input.span11 {
+ width: 1060px;
+ }
+ input.span10,
+ textarea.span10,
+ .uneditable-input.span10 {
+ width: 960px;
+ }
+ input.span9,
+ textarea.span9,
+ .uneditable-input.span9 {
+ width: 860px;
+ }
+ input.span8,
+ textarea.span8,
+ .uneditable-input.span8 {
+ width: 760px;
+ }
+ input.span7,
+ textarea.span7,
+ .uneditable-input.span7 {
+ width: 660px;
+ }
+ input.span6,
+ textarea.span6,
+ .uneditable-input.span6 {
+ width: 560px;
+ }
+ input.span5,
+ textarea.span5,
+ .uneditable-input.span5 {
+ width: 460px;
+ }
+ input.span4,
+ textarea.span4,
+ .uneditable-input.span4 {
+ width: 360px;
+ }
+ input.span3,
+ textarea.span3,
+ .uneditable-input.span3 {
+ width: 260px;
+ }
+ input.span2,
+ textarea.span2,
+ .uneditable-input.span2 {
+ width: 160px;
+ }
+ input.span1,
+ textarea.span1,
+ .uneditable-input.span1 {
+ width: 60px;
+ }
+ .thumbnails {
+ margin-left: -30px;
+ }
+ .thumbnails > li {
+ margin-left: 30px;
+ }
+ .row-fluid .thumbnails {
+ margin-left: 0;
+ }
+}
+
+@media (max-width: 979px) {
+ body {
+ padding-top: 0;
+ }
+ .navbar-fixed-top,
+ .navbar-fixed-bottom {
+ position: static;
+ }
+ .navbar-fixed-top {
+ margin-bottom: 18px;
+ }
+ .navbar-fixed-bottom {
+ margin-top: 18px;
+ }
+ .navbar-fixed-top .navbar-inner,
+ .navbar-fixed-bottom .navbar-inner {
+ padding: 5px;
+ }
+ .navbar .container {
+ width: auto;
+ padding: 0;
+ }
+ .navbar .brand {
+ padding-right: 10px;
+ padding-left: 10px;
+ margin: 0 0 0 -5px;
+ }
+ .nav-collapse {
+ clear: both;
+ }
+ .nav-collapse .nav {
+ float: none;
+ margin: 0 0 9px;
+ }
+ .nav-collapse .nav > li {
+ float: none;
+ }
+ .nav-collapse .nav > li > a {
+ margin-bottom: 2px;
+ }
+ .nav-collapse .nav > .divider-vertical {
+ display: none;
+ }
+ .nav-collapse .nav .nav-header {
+ color: #999999;
+ text-shadow: none;
+ }
+ .nav-collapse .nav > li > a,
+ .nav-collapse .dropdown-menu a {
+ padding: 6px 15px;
+ font-weight: bold;
+ color: #999999;
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+ }
+ .nav-collapse .btn {
+ padding: 4px 10px 4px;
+ font-weight: normal;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+ }
+ .nav-collapse .dropdown-menu li + li a {
+ margin-bottom: 2px;
+ }
+ .nav-collapse .nav > li > a:hover,
+ .nav-collapse .dropdown-menu a:hover {
+ background-color: #222222;
+ }
+ .nav-collapse.in .btn-group {
+ padding: 0;
+ margin-top: 5px;
+ }
+ .nav-collapse .dropdown-menu {
+ position: static;
+ top: auto;
+ left: auto;
+ display: block;
+ float: none;
+ max-width: none;
+ padding: 0;
+ margin: 0 15px;
+ background-color: transparent;
+ border: none;
+ -webkit-border-radius: 0;
+ -moz-border-radius: 0;
+ border-radius: 0;
+ -webkit-box-shadow: none;
+ -moz-box-shadow: none;
+ box-shadow: none;
+ }
+ .nav-collapse .dropdown-menu:before,
+ .nav-collapse .dropdown-menu:after {
+ display: none;
+ }
+ .nav-collapse .dropdown-menu .divider {
+ display: none;
+ }
+ .nav-collapse .navbar-form,
+ .nav-collapse .navbar-search {
+ float: none;
+ padding: 9px 15px;
+ margin: 9px 0;
+ border-top: 1px solid #222222;
+ border-bottom: 1px solid #222222;
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+ }
+ .navbar .nav-collapse .nav.pull-right {
+ float: none;
+ margin-left: 0;
+ }
+ .nav-collapse,
+ .nav-collapse.collapse {
+ height: 0;
+ overflow: hidden;
+ }
+ .navbar .btn-navbar {
+ display: block;
+ }
+ .navbar-static .navbar-inner {
+ padding-right: 10px;
+ padding-left: 10px;
+ }
+}
+
+@media (min-width: 980px) {
+ .nav-collapse.collapse {
+ height: auto !important;
+ overflow: visible !important;
+ }
+}
diff --git a/docs/css/bootstrap-responsive.min.css b/docs/css/bootstrap-responsive.min.css
new file mode 100644
index 00000000..1f55036a
--- /dev/null
+++ b/docs/css/bootstrap-responsive.min.css
@@ -0,0 +1,9 @@
+/*!
+ * Bootstrap Responsive v2.0.4
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:28px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.hidden{display:none;visibility:hidden}.visible-phone{display:none!important}.visible-tablet{display:none!important}.hidden-desktop{display:none!important}@media(max-width:767px){.visible-phone{display:inherit!important}.hidden-phone{display:none!important}.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}}@media(min-width:768px) and (max-width:979px){.visible-tablet{display:inherit!important}.hidden-tablet{display:none!important}.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}}@media(max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}.page-header h1 small{display:block;line-height:18px}input[type="checkbox"],input[type="radio"]{border:1px solid #ccc}.form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left}.form-horizontal .controls{margin-left:0}.form-horizontal .control-list{padding-top:0}.form-horizontal .form-actions{padding-right:10px;padding-left:10px}.modal{position:absolute;top:10px;right:10px;left:10px;width:auto;margin:0}.modal.fade.in{top:auto}.modal-header .close{padding:10px;margin:-10px}.carousel-caption{position:static}}@media(max-width:767px){body{padding-right:20px;padding-left:20px}.navbar-fixed-top,.navbar-fixed-bottom{margin-right:-20px;margin-left:-20px}.container-fluid{padding:0}.dl-horizontal dt{float:none;width:auto;clear:none;text-align:left}.dl-horizontal dd{margin-left:0}.container{width:auto}.row-fluid{width:100%}.row,.thumbnails{margin-left:0}[class*="span"],.row-fluid [class*="span"]{display:block;float:none;width:auto;margin-left:0}.input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:28px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto}}@media(min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;content:""}.row:after{clear:both}[class*="span"]{float:left;margin-left:20px}.container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px}.span12{width:724px}.span11{width:662px}.span10{width:600px}.span9{width:538px}.span8{width:476px}.span7{width:414px}.span6{width:352px}.span5{width:290px}.span4{width:228px}.span3{width:166px}.span2{width:104px}.span1{width:42px}.offset12{margin-left:764px}.offset11{margin-left:702px}.offset10{margin-left:640px}.offset9{margin-left:578px}.offset8{margin-left:516px}.offset7{margin-left:454px}.offset6{margin-left:392px}.offset5{margin-left:330px}.offset4{margin-left:268px}.offset3{margin-left:206px}.offset2{margin-left:144px}.offset1{margin-left:82px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:28px;margin-left:2.762430939%;*margin-left:2.709239449638298%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .span12{width:99.999999993%;*width:99.9468085036383%}.row-fluid .span11{width:91.436464082%;*width:91.38327259263829%}.row-fluid .span10{width:82.87292817100001%;*width:82.8197366816383%}.row-fluid .span9{width:74.30939226%;*width:74.25620077063829%}.row-fluid .span8{width:65.74585634900001%;*width:65.6926648596383%}.row-fluid .span7{width:57.182320438000005%;*width:57.129128948638304%}.row-fluid .span6{width:48.618784527%;*width:48.5655930376383%}.row-fluid .span5{width:40.055248616%;*width:40.0020571266383%}.row-fluid .span4{width:31.491712705%;*width:31.4385212156383%}.row-fluid .span3{width:22.928176794%;*width:22.874985304638297%}.row-fluid .span2{width:14.364640883%;*width:14.311449393638298%}.row-fluid .span1{width:5.801104972%;*width:5.747913482638298%}input,textarea,.uneditable-input{margin-left:0}input.span12,textarea.span12,.uneditable-input.span12{width:714px}input.span11,textarea.span11,.uneditable-input.span11{width:652px}input.span10,textarea.span10,.uneditable-input.span10{width:590px}input.span9,textarea.span9,.uneditable-input.span9{width:528px}input.span8,textarea.span8,.uneditable-input.span8{width:466px}input.span7,textarea.span7,.uneditable-input.span7{width:404px}input.span6,textarea.span6,.uneditable-input.span6{width:342px}input.span5,textarea.span5,.uneditable-input.span5{width:280px}input.span4,textarea.span4,.uneditable-input.span4{width:218px}input.span3,textarea.span3,.uneditable-input.span3{width:156px}input.span2,textarea.span2,.uneditable-input.span2{width:94px}input.span1,textarea.span1,.uneditable-input.span1{width:32px}}@media(min-width:1200px){.row{margin-left:-30px;*zoom:1}.row:before,.row:after{display:table;content:""}.row:after{clear:both}[class*="span"]{float:left;margin-left:30px}.container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px}.span12{width:1170px}.span11{width:1070px}.span10{width:970px}.span9{width:870px}.span8{width:770px}.span7{width:670px}.span6{width:570px}.span5{width:470px}.span4{width:370px}.span3{width:270px}.span2{width:170px}.span1{width:70px}.offset12{margin-left:1230px}.offset11{margin-left:1130px}.offset10{margin-left:1030px}.offset9{margin-left:930px}.offset8{margin-left:830px}.offset7{margin-left:730px}.offset6{margin-left:630px}.offset5{margin-left:530px}.offset4{margin-left:430px}.offset3{margin-left:330px}.offset2{margin-left:230px}.offset1{margin-left:130px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:28px;margin-left:2.564102564%;*margin-left:2.510911074638298%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.45299145300001%;*width:91.3997999636383%}.row-fluid .span10{width:82.905982906%;*width:82.8527914166383%}.row-fluid .span9{width:74.358974359%;*width:74.30578286963829%}.row-fluid .span8{width:65.81196581200001%;*width:65.7587743226383%}.row-fluid .span7{width:57.264957265%;*width:57.2117657756383%}.row-fluid .span6{width:48.717948718%;*width:48.6647572286383%}.row-fluid .span5{width:40.170940171000005%;*width:40.117748681638304%}.row-fluid .span4{width:31.623931624%;*width:31.5707401346383%}.row-fluid .span3{width:23.076923077%;*width:23.0237315876383%}.row-fluid .span2{width:14.529914530000001%;*width:14.4767230406383%}.row-fluid .span1{width:5.982905983%;*width:5.929714493638298%}input,textarea,.uneditable-input{margin-left:0}input.span12,textarea.span12,.uneditable-input.span12{width:1160px}input.span11,textarea.span11,.uneditable-input.span11{width:1060px}input.span10,textarea.span10,.uneditable-input.span10{width:960px}input.span9,textarea.span9,.uneditable-input.span9{width:860px}input.span8,textarea.span8,.uneditable-input.span8{width:760px}input.span7,textarea.span7,.uneditable-input.span7{width:660px}input.span6,textarea.span6,.uneditable-input.span6{width:560px}input.span5,textarea.span5,.uneditable-input.span5{width:460px}input.span4,textarea.span4,.uneditable-input.span4{width:360px}input.span3,textarea.span3,.uneditable-input.span3{width:260px}input.span2,textarea.span2,.uneditable-input.span2{width:160px}input.span1,textarea.span1,.uneditable-input.span1{width:60px}.thumbnails{margin-left:-30px}.thumbnails>li{margin-left:30px}.row-fluid .thumbnails{margin-left:0}}@media(max-width:979px){body{padding-top:0}.navbar-fixed-top,.navbar-fixed-bottom{position:static}.navbar-fixed-top{margin-bottom:18px}.navbar-fixed-bottom{margin-top:18px}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px}.navbar .container{width:auto;padding:0}.navbar .brand{padding-right:10px;padding-left:10px;margin:0 0 0 -5px}.nav-collapse{clear:both}.nav-collapse .nav{float:none;margin:0 0 9px}.nav-collapse .nav>li{float:none}.nav-collapse .nav>li>a{margin-bottom:2px}.nav-collapse .nav>.divider-vertical{display:none}.nav-collapse .nav .nav-header{color:#999;text-shadow:none}.nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:6px 15px;font-weight:bold;color:#999;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-collapse .dropdown-menu li+li a{margin-bottom:2px}.nav-collapse .nav>li>a:hover,.nav-collapse .dropdown-menu a:hover{background-color:#222}.nav-collapse.in .btn-group{padding:0;margin-top:5px}.nav-collapse .dropdown-menu{position:static;top:auto;left:auto;display:block;float:none;max-width:none;padding:0;margin:0 15px;background-color:transparent;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none}.nav-collapse .dropdown-menu .divider{display:none}.nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:9px 15px;margin:9px 0;border-top:1px solid #222;border-bottom:1px solid #222;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}.navbar .nav-collapse .nav.pull-right{float:none;margin-left:0}.nav-collapse,.nav-collapse.collapse{height:0;overflow:hidden}.navbar .btn-navbar{display:block}.navbar-static .navbar-inner{padding-right:10px;padding-left:10px}}@media(min-width:980px){.nav-collapse.collapse{height:auto!important;overflow:visible!important}}
diff --git a/docs/css/bootstrap.css b/docs/css/bootstrap.css
new file mode 100644
index 00000000..bb40c85f
--- /dev/null
+++ b/docs/css/bootstrap.css
@@ -0,0 +1,4983 @@
+/*!
+ * Bootstrap v2.0.4
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+nav,
+section {
+ display: block;
+}
+
+audio,
+canvas,
+video {
+ display: inline-block;
+ *display: inline;
+ *zoom: 1;
+}
+
+audio:not([controls]) {
+ display: none;
+}
+
+html {
+ font-size: 100%;
+ -webkit-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%;
+}
+
+a:focus {
+ outline: thin dotted #333;
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px;
+}
+
+a:hover,
+a:active {
+ outline: 0;
+}
+
+sub,
+sup {
+ position: relative;
+ font-size: 75%;
+ line-height: 0;
+ vertical-align: baseline;
+}
+
+sup {
+ top: -0.5em;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+img {
+ max-width: 100%;
+ vertical-align: middle;
+ border: 0;
+ -ms-interpolation-mode: bicubic;
+}
+
+#map_canvas img {
+ max-width: none;
+}
+
+button,
+input,
+select,
+textarea {
+ margin: 0;
+ font-size: 100%;
+ vertical-align: middle;
+}
+
+button,
+input {
+ *overflow: visible;
+ line-height: normal;
+}
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ padding: 0;
+ border: 0;
+}
+
+button,
+input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+ cursor: pointer;
+ -webkit-appearance: button;
+}
+
+input[type="search"] {
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ -webkit-appearance: textfield;
+}
+
+input[type="search"]::-webkit-search-decoration,
+input[type="search"]::-webkit-search-cancel-button {
+ -webkit-appearance: none;
+}
+
+textarea {
+ overflow: auto;
+ vertical-align: top;
+}
+
+.clearfix {
+ *zoom: 1;
+}
+
+.clearfix:before,
+.clearfix:after {
+ display: table;
+ content: "";
+}
+
+.clearfix:after {
+ clear: both;
+}
+
+.hide-text {
+ font: 0/0 a;
+ color: transparent;
+ text-shadow: none;
+ background-color: transparent;
+ border: 0;
+}
+
+.input-block-level {
+ display: block;
+ width: 100%;
+ min-height: 28px;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+}
+
+body {
+ margin: 0;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 13px;
+ line-height: 18px;
+ color: #333333;
+ background-color: #ffffff;
+}
+
+a {
+ color: #0088cc;
+ text-decoration: none;
+}
+
+a:hover {
+ color: #005580;
+ text-decoration: underline;
+}
+
+.row {
+ margin-left: -20px;
+ *zoom: 1;
+}
+
+.row:before,
+.row:after {
+ display: table;
+ content: "";
+}
+
+.row:after {
+ clear: both;
+}
+
+[class*="span"] {
+ float: left;
+ margin-left: 20px;
+}
+
+.container,
+.navbar-fixed-top .container,
+.navbar-fixed-bottom .container {
+ width: 940px;
+}
+
+.span12 {
+ width: 940px;
+}
+
+.span11 {
+ width: 860px;
+}
+
+.span10 {
+ width: 780px;
+}
+
+.span9 {
+ width: 700px;
+}
+
+.span8 {
+ width: 620px;
+}
+
+.span7 {
+ width: 540px;
+}
+
+.span6 {
+ width: 460px;
+}
+
+.span5 {
+ width: 380px;
+}
+
+.span4 {
+ width: 300px;
+}
+
+.span3 {
+ width: 220px;
+}
+
+.span2 {
+ width: 140px;
+}
+
+.span1 {
+ width: 60px;
+}
+
+.offset12 {
+ margin-left: 980px;
+}
+
+.offset11 {
+ margin-left: 900px;
+}
+
+.offset10 {
+ margin-left: 820px;
+}
+
+.offset9 {
+ margin-left: 740px;
+}
+
+.offset8 {
+ margin-left: 660px;
+}
+
+.offset7 {
+ margin-left: 580px;
+}
+
+.offset6 {
+ margin-left: 500px;
+}
+
+.offset5 {
+ margin-left: 420px;
+}
+
+.offset4 {
+ margin-left: 340px;
+}
+
+.offset3 {
+ margin-left: 260px;
+}
+
+.offset2 {
+ margin-left: 180px;
+}
+
+.offset1 {
+ margin-left: 100px;
+}
+
+.row-fluid {
+ width: 100%;
+ *zoom: 1;
+}
+
+.row-fluid:before,
+.row-fluid:after {
+ display: table;
+ content: "";
+}
+
+.row-fluid:after {
+ clear: both;
+}
+
+.row-fluid [class*="span"] {
+ display: block;
+ float: left;
+ width: 100%;
+ min-height: 28px;
+ margin-left: 2.127659574%;
+ *margin-left: 2.0744680846382977%;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+}
+
+.row-fluid [class*="span"]:first-child {
+ margin-left: 0;
+}
+
+.row-fluid .span12 {
+ width: 99.99999998999999%;
+ *width: 99.94680850063828%;
+}
+
+.row-fluid .span11 {
+ width: 91.489361693%;
+ *width: 91.4361702036383%;
+}
+
+.row-fluid .span10 {
+ width: 82.97872339599999%;
+ *width: 82.92553190663828%;
+}
+
+.row-fluid .span9 {
+ width: 74.468085099%;
+ *width: 74.4148936096383%;
+}
+
+.row-fluid .span8 {
+ width: 65.95744680199999%;
+ *width: 65.90425531263828%;
+}
+
+.row-fluid .span7 {
+ width: 57.446808505%;
+ *width: 57.3936170156383%;
+}
+
+.row-fluid .span6 {
+ width: 48.93617020799999%;
+ *width: 48.88297871863829%;
+}
+
+.row-fluid .span5 {
+ width: 40.425531911%;
+ *width: 40.3723404216383%;
+}
+
+.row-fluid .span4 {
+ width: 31.914893614%;
+ *width: 31.8617021246383%;
+}
+
+.row-fluid .span3 {
+ width: 23.404255317%;
+ *width: 23.3510638276383%;
+}
+
+.row-fluid .span2 {
+ width: 14.89361702%;
+ *width: 14.8404255306383%;
+}
+
+.row-fluid .span1 {
+ width: 6.382978723%;
+ *width: 6.329787233638298%;
+}
+
+.container {
+ margin-right: auto;
+ margin-left: auto;
+ *zoom: 1;
+}
+
+.container:before,
+.container:after {
+ display: table;
+ content: "";
+}
+
+.container:after {
+ clear: both;
+}
+
+.container-fluid {
+ padding-right: 20px;
+ padding-left: 20px;
+ *zoom: 1;
+}
+
+.container-fluid:before,
+.container-fluid:after {
+ display: table;
+ content: "";
+}
+
+.container-fluid:after {
+ clear: both;
+}
+
+p {
+ margin: 0 0 9px;
+}
+
+p small {
+ font-size: 11px;
+ color: #999999;
+}
+
+.lead {
+ margin-bottom: 18px;
+ font-size: 20px;
+ font-weight: 200;
+ line-height: 27px;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ margin: 0;
+ font-family: inherit;
+ font-weight: bold;
+ color: inherit;
+ text-rendering: optimizelegibility;
+}
+
+h1 small,
+h2 small,
+h3 small,
+h4 small,
+h5 small,
+h6 small {
+ font-weight: normal;
+ color: #999999;
+}
+
+h1 {
+ font-size: 30px;
+ line-height: 36px;
+}
+
+h1 small {
+ font-size: 18px;
+}
+
+h2 {
+ font-size: 24px;
+ line-height: 36px;
+}
+
+h2 small {
+ font-size: 18px;
+}
+
+h3 {
+ font-size: 18px;
+ line-height: 27px;
+}
+
+h3 small {
+ font-size: 14px;
+}
+
+h4,
+h5,
+h6 {
+ line-height: 18px;
+}
+
+h4 {
+ font-size: 14px;
+}
+
+h4 small {
+ font-size: 12px;
+}
+
+h5 {
+ font-size: 12px;
+}
+
+h6 {
+ font-size: 11px;
+ color: #999999;
+ text-transform: uppercase;
+}
+
+.page-header {
+ padding-bottom: 17px;
+ margin: 18px 0;
+ border-bottom: 1px solid #eeeeee;
+}
+
+.page-header h1 {
+ line-height: 1;
+}
+
+ul,
+ol {
+ padding: 0;
+ margin: 0 0 9px 25px;
+}
+
+ul ul,
+ul ol,
+ol ol,
+ol ul {
+ margin-bottom: 0;
+}
+
+ul {
+ list-style: disc;
+}
+
+ol {
+ list-style: decimal;
+}
+
+li {
+ line-height: 18px;
+}
+
+ul.unstyled,
+ol.unstyled {
+ margin-left: 0;
+ list-style: none;
+}
+
+dl {
+ margin-bottom: 18px;
+}
+
+dt,
+dd {
+ line-height: 18px;
+}
+
+dt {
+ font-weight: bold;
+ line-height: 17px;
+}
+
+dd {
+ margin-left: 9px;
+}
+
+.dl-horizontal dt {
+ float: left;
+ width: 120px;
+ overflow: hidden;
+ clear: left;
+ text-align: right;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.dl-horizontal dd {
+ margin-left: 130px;
+}
+
+hr {
+ margin: 18px 0;
+ border: 0;
+ border-top: 1px solid #eeeeee;
+ border-bottom: 1px solid #ffffff;
+}
+
+strong {
+ font-weight: bold;
+}
+
+em {
+ font-style: italic;
+}
+
+.muted {
+ color: #999999;
+}
+
+abbr[title] {
+ cursor: help;
+ border-bottom: 1px dotted #999999;
+}
+
+abbr.initialism {
+ font-size: 90%;
+ text-transform: uppercase;
+}
+
+blockquote {
+ padding: 0 0 0 15px;
+ margin: 0 0 18px;
+ border-left: 5px solid #eeeeee;
+}
+
+blockquote p {
+ margin-bottom: 0;
+ font-size: 16px;
+ font-weight: 300;
+ line-height: 22.5px;
+}
+
+blockquote small {
+ display: block;
+ line-height: 18px;
+ color: #999999;
+}
+
+blockquote small:before {
+ content: '\2014 \00A0';
+}
+
+blockquote.pull-right {
+ float: right;
+ padding-right: 15px;
+ padding-left: 0;
+ border-right: 5px solid #eeeeee;
+ border-left: 0;
+}
+
+blockquote.pull-right p,
+blockquote.pull-right small {
+ text-align: right;
+}
+
+q:before,
+q:after,
+blockquote:before,
+blockquote:after {
+ content: "";
+}
+
+address {
+ display: block;
+ margin-bottom: 18px;
+ font-style: normal;
+ line-height: 18px;
+}
+
+small {
+ font-size: 100%;
+}
+
+cite {
+ font-style: normal;
+}
+
+code,
+pre {
+ padding: 0 3px 2px;
+ font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+ font-size: 12px;
+ color: #333333;
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+}
+
+code {
+ padding: 2px 4px;
+ color: #d14;
+ background-color: #f7f7f9;
+ border: 1px solid #e1e1e8;
+}
+
+pre {
+ display: block;
+ padding: 8.5px;
+ margin: 0 0 9px;
+ font-size: 12.025px;
+ line-height: 18px;
+ word-break: break-all;
+ word-wrap: break-word;
+ white-space: pre;
+ white-space: pre-wrap;
+ background-color: #f5f5f5;
+ border: 1px solid #ccc;
+ border: 1px solid rgba(0, 0, 0, 0.15);
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+
+pre.prettyprint {
+ margin-bottom: 18px;
+}
+
+pre code {
+ padding: 0;
+ color: inherit;
+ background-color: transparent;
+ border: 0;
+}
+
+.pre-scrollable {
+ max-height: 340px;
+ overflow-y: scroll;
+}
+
+form {
+ margin: 0 0 18px;
+}
+
+fieldset {
+ padding: 0;
+ margin: 0;
+ border: 0;
+}
+
+legend {
+ display: block;
+ width: 100%;
+ padding: 0;
+ margin-bottom: 27px;
+ font-size: 19.5px;
+ line-height: 36px;
+ color: #333333;
+ border: 0;
+ border-bottom: 1px solid #e5e5e5;
+}
+
+legend small {
+ font-size: 13.5px;
+ color: #999999;
+}
+
+label,
+input,
+button,
+select,
+textarea {
+ font-size: 13px;
+ font-weight: normal;
+ line-height: 18px;
+}
+
+input,
+button,
+select,
+textarea {
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+}
+
+label {
+ display: block;
+ margin-bottom: 5px;
+}
+
+select,
+textarea,
+input[type="text"],
+input[type="password"],
+input[type="datetime"],
+input[type="datetime-local"],
+input[type="date"],
+input[type="month"],
+input[type="time"],
+input[type="week"],
+input[type="number"],
+input[type="email"],
+input[type="url"],
+input[type="search"],
+input[type="tel"],
+input[type="color"],
+.uneditable-input {
+ display: inline-block;
+ height: 18px;
+ padding: 4px;
+ margin-bottom: 9px;
+ font-size: 13px;
+ line-height: 18px;
+ color: #555555;
+}
+
+input,
+textarea {
+ width: 210px;
+}
+
+textarea {
+ height: auto;
+}
+
+textarea,
+input[type="text"],
+input[type="password"],
+input[type="datetime"],
+input[type="datetime-local"],
+input[type="date"],
+input[type="month"],
+input[type="time"],
+input[type="week"],
+input[type="number"],
+input[type="email"],
+input[type="url"],
+input[type="search"],
+input[type="tel"],
+input[type="color"],
+.uneditable-input {
+ background-color: #ffffff;
+ border: 1px solid #cccccc;
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
+ -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
+ -ms-transition: border linear 0.2s, box-shadow linear 0.2s;
+ -o-transition: border linear 0.2s, box-shadow linear 0.2s;
+ transition: border linear 0.2s, box-shadow linear 0.2s;
+}
+
+textarea:focus,
+input[type="text"]:focus,
+input[type="password"]:focus,
+input[type="datetime"]:focus,
+input[type="datetime-local"]:focus,
+input[type="date"]:focus,
+input[type="month"]:focus,
+input[type="time"]:focus,
+input[type="week"]:focus,
+input[type="number"]:focus,
+input[type="email"]:focus,
+input[type="url"]:focus,
+input[type="search"]:focus,
+input[type="tel"]:focus,
+input[type="color"]:focus,
+.uneditable-input:focus {
+ border-color: rgba(82, 168, 236, 0.8);
+ outline: 0;
+ outline: thin dotted \9;
+ /* IE6-9 */
+
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
+}
+
+input[type="radio"],
+input[type="checkbox"] {
+ margin: 3px 0;
+ *margin-top: 0;
+ /* IE7 */
+
+ line-height: normal;
+ cursor: pointer;
+}
+
+input[type="submit"],
+input[type="reset"],
+input[type="button"],
+input[type="radio"],
+input[type="checkbox"] {
+ width: auto;
+}
+
+.uneditable-textarea {
+ width: auto;
+ height: auto;
+}
+
+select,
+input[type="file"] {
+ height: 28px;
+ /* In IE7, the height of the select element cannot be changed by height, only font-size */
+
+ *margin-top: 4px;
+ /* For IE7, add top margin to align select with labels */
+
+ line-height: 28px;
+}
+
+select {
+ width: 220px;
+ border: 1px solid #bbb;
+}
+
+select[multiple],
+select[size] {
+ height: auto;
+}
+
+select:focus,
+input[type="file"]:focus,
+input[type="radio"]:focus,
+input[type="checkbox"]:focus {
+ outline: thin dotted #333;
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px;
+}
+
+.radio,
+.checkbox {
+ min-height: 18px;
+ padding-left: 18px;
+}
+
+.radio input[type="radio"],
+.checkbox input[type="checkbox"] {
+ float: left;
+ margin-left: -18px;
+}
+
+.controls > .radio:first-child,
+.controls > .checkbox:first-child {
+ padding-top: 5px;
+}
+
+.radio.inline,
+.checkbox.inline {
+ display: inline-block;
+ padding-top: 5px;
+ margin-bottom: 0;
+ vertical-align: middle;
+}
+
+.radio.inline + .radio.inline,
+.checkbox.inline + .checkbox.inline {
+ margin-left: 10px;
+}
+
+.input-mini {
+ width: 60px;
+}
+
+.input-small {
+ width: 90px;
+}
+
+.input-medium {
+ width: 150px;
+}
+
+.input-large {
+ width: 210px;
+}
+
+.input-xlarge {
+ width: 270px;
+}
+
+.input-xxlarge {
+ width: 530px;
+}
+
+input[class*="span"],
+select[class*="span"],
+textarea[class*="span"],
+.uneditable-input[class*="span"],
+.row-fluid input[class*="span"],
+.row-fluid select[class*="span"],
+.row-fluid textarea[class*="span"],
+.row-fluid .uneditable-input[class*="span"] {
+ float: none;
+ margin-left: 0;
+}
+
+.input-append input[class*="span"],
+.input-append .uneditable-input[class*="span"],
+.input-prepend input[class*="span"],
+.input-prepend .uneditable-input[class*="span"],
+.row-fluid .input-prepend [class*="span"],
+.row-fluid .input-append [class*="span"] {
+ display: inline-block;
+}
+
+input,
+textarea,
+.uneditable-input {
+ margin-left: 0;
+}
+
+input.span12,
+textarea.span12,
+.uneditable-input.span12 {
+ width: 930px;
+}
+
+input.span11,
+textarea.span11,
+.uneditable-input.span11 {
+ width: 850px;
+}
+
+input.span10,
+textarea.span10,
+.uneditable-input.span10 {
+ width: 770px;
+}
+
+input.span9,
+textarea.span9,
+.uneditable-input.span9 {
+ width: 690px;
+}
+
+input.span8,
+textarea.span8,
+.uneditable-input.span8 {
+ width: 610px;
+}
+
+input.span7,
+textarea.span7,
+.uneditable-input.span7 {
+ width: 530px;
+}
+
+input.span6,
+textarea.span6,
+.uneditable-input.span6 {
+ width: 450px;
+}
+
+input.span5,
+textarea.span5,
+.uneditable-input.span5 {
+ width: 370px;
+}
+
+input.span4,
+textarea.span4,
+.uneditable-input.span4 {
+ width: 290px;
+}
+
+input.span3,
+textarea.span3,
+.uneditable-input.span3 {
+ width: 210px;
+}
+
+input.span2,
+textarea.span2,
+.uneditable-input.span2 {
+ width: 130px;
+}
+
+input.span1,
+textarea.span1,
+.uneditable-input.span1 {
+ width: 50px;
+}
+
+input[disabled],
+select[disabled],
+textarea[disabled],
+input[readonly],
+select[readonly],
+textarea[readonly] {
+ cursor: not-allowed;
+ background-color: #eeeeee;
+ border-color: #ddd;
+}
+
+input[type="radio"][disabled],
+input[type="checkbox"][disabled],
+input[type="radio"][readonly],
+input[type="checkbox"][readonly] {
+ background-color: transparent;
+}
+
+.control-group.warning > label,
+.control-group.warning .help-block,
+.control-group.warning .help-inline {
+ color: #c09853;
+}
+
+.control-group.warning .checkbox,
+.control-group.warning .radio,
+.control-group.warning input,
+.control-group.warning select,
+.control-group.warning textarea {
+ color: #c09853;
+ border-color: #c09853;
+}
+
+.control-group.warning .checkbox:focus,
+.control-group.warning .radio:focus,
+.control-group.warning input:focus,
+.control-group.warning select:focus,
+.control-group.warning textarea:focus {
+ border-color: #a47e3c;
+ -webkit-box-shadow: 0 0 6px #dbc59e;
+ -moz-box-shadow: 0 0 6px #dbc59e;
+ box-shadow: 0 0 6px #dbc59e;
+}
+
+.control-group.warning .input-prepend .add-on,
+.control-group.warning .input-append .add-on {
+ color: #c09853;
+ background-color: #fcf8e3;
+ border-color: #c09853;
+}
+
+.control-group.error > label,
+.control-group.error .help-block,
+.control-group.error .help-inline {
+ color: #b94a48;
+}
+
+.control-group.error .checkbox,
+.control-group.error .radio,
+.control-group.error input,
+.control-group.error select,
+.control-group.error textarea {
+ color: #b94a48;
+ border-color: #b94a48;
+}
+
+.control-group.error .checkbox:focus,
+.control-group.error .radio:focus,
+.control-group.error input:focus,
+.control-group.error select:focus,
+.control-group.error textarea:focus {
+ border-color: #953b39;
+ -webkit-box-shadow: 0 0 6px #d59392;
+ -moz-box-shadow: 0 0 6px #d59392;
+ box-shadow: 0 0 6px #d59392;
+}
+
+.control-group.error .input-prepend .add-on,
+.control-group.error .input-append .add-on {
+ color: #b94a48;
+ background-color: #f2dede;
+ border-color: #b94a48;
+}
+
+.control-group.success > label,
+.control-group.success .help-block,
+.control-group.success .help-inline {
+ color: #468847;
+}
+
+.control-group.success .checkbox,
+.control-group.success .radio,
+.control-group.success input,
+.control-group.success select,
+.control-group.success textarea {
+ color: #468847;
+ border-color: #468847;
+}
+
+.control-group.success .checkbox:focus,
+.control-group.success .radio:focus,
+.control-group.success input:focus,
+.control-group.success select:focus,
+.control-group.success textarea:focus {
+ border-color: #356635;
+ -webkit-box-shadow: 0 0 6px #7aba7b;
+ -moz-box-shadow: 0 0 6px #7aba7b;
+ box-shadow: 0 0 6px #7aba7b;
+}
+
+.control-group.success .input-prepend .add-on,
+.control-group.success .input-append .add-on {
+ color: #468847;
+ background-color: #dff0d8;
+ border-color: #468847;
+}
+
+input:focus:required:invalid,
+textarea:focus:required:invalid,
+select:focus:required:invalid {
+ color: #b94a48;
+ border-color: #ee5f5b;
+}
+
+input:focus:required:invalid:focus,
+textarea:focus:required:invalid:focus,
+select:focus:required:invalid:focus {
+ border-color: #e9322d;
+ -webkit-box-shadow: 0 0 6px #f8b9b7;
+ -moz-box-shadow: 0 0 6px #f8b9b7;
+ box-shadow: 0 0 6px #f8b9b7;
+}
+
+.form-actions {
+ padding: 17px 20px 18px;
+ margin-top: 18px;
+ margin-bottom: 18px;
+ background-color: #f5f5f5;
+ border-top: 1px solid #e5e5e5;
+ *zoom: 1;
+}
+
+.form-actions:before,
+.form-actions:after {
+ display: table;
+ content: "";
+}
+
+.form-actions:after {
+ clear: both;
+}
+
+.uneditable-input {
+ overflow: hidden;
+ white-space: nowrap;
+ cursor: not-allowed;
+ background-color: #ffffff;
+ border-color: #eee;
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
+ -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
+}
+
+:-moz-placeholder {
+ color: #999999;
+}
+
+:-ms-input-placeholder {
+ color: #999999;
+}
+
+::-webkit-input-placeholder {
+ color: #999999;
+}
+
+.help-block,
+.help-inline {
+ color: #555555;
+}
+
+.help-block {
+ display: block;
+ margin-bottom: 9px;
+}
+
+.help-inline {
+ display: inline-block;
+ *display: inline;
+ padding-left: 5px;
+ vertical-align: middle;
+ *zoom: 1;
+}
+
+.input-prepend,
+.input-append {
+ margin-bottom: 5px;
+}
+
+.input-prepend input,
+.input-append input,
+.input-prepend select,
+.input-append select,
+.input-prepend .uneditable-input,
+.input-append .uneditable-input {
+ position: relative;
+ margin-bottom: 0;
+ *margin-left: 0;
+ vertical-align: middle;
+ -webkit-border-radius: 0 3px 3px 0;
+ -moz-border-radius: 0 3px 3px 0;
+ border-radius: 0 3px 3px 0;
+}
+
+.input-prepend input:focus,
+.input-append input:focus,
+.input-prepend select:focus,
+.input-append select:focus,
+.input-prepend .uneditable-input:focus,
+.input-append .uneditable-input:focus {
+ z-index: 2;
+}
+
+.input-prepend .uneditable-input,
+.input-append .uneditable-input {
+ border-left-color: #ccc;
+}
+
+.input-prepend .add-on,
+.input-append .add-on {
+ display: inline-block;
+ width: auto;
+ height: 18px;
+ min-width: 16px;
+ padding: 4px 5px;
+ font-weight: normal;
+ line-height: 18px;
+ text-align: center;
+ text-shadow: 0 1px 0 #ffffff;
+ vertical-align: middle;
+ background-color: #eeeeee;
+ border: 1px solid #ccc;
+}
+
+.input-prepend .add-on,
+.input-append .add-on,
+.input-prepend .btn,
+.input-append .btn {
+ margin-left: -1px;
+ -webkit-border-radius: 0;
+ -moz-border-radius: 0;
+ border-radius: 0;
+}
+
+.input-prepend .active,
+.input-append .active {
+ background-color: #a9dba9;
+ border-color: #46a546;
+}
+
+.input-prepend .add-on,
+.input-prepend .btn {
+ margin-right: -1px;
+}
+
+.input-prepend .add-on:first-child,
+.input-prepend .btn:first-child {
+ -webkit-border-radius: 3px 0 0 3px;
+ -moz-border-radius: 3px 0 0 3px;
+ border-radius: 3px 0 0 3px;
+}
+
+.input-append input,
+.input-append select,
+.input-append .uneditable-input {
+ -webkit-border-radius: 3px 0 0 3px;
+ -moz-border-radius: 3px 0 0 3px;
+ border-radius: 3px 0 0 3px;
+}
+
+.input-append .uneditable-input {
+ border-right-color: #ccc;
+ border-left-color: #eee;
+}
+
+.input-append .add-on:last-child,
+.input-append .btn:last-child {
+ -webkit-border-radius: 0 3px 3px 0;
+ -moz-border-radius: 0 3px 3px 0;
+ border-radius: 0 3px 3px 0;
+}
+
+.input-prepend.input-append input,
+.input-prepend.input-append select,
+.input-prepend.input-append .uneditable-input {
+ -webkit-border-radius: 0;
+ -moz-border-radius: 0;
+ border-radius: 0;
+}
+
+.input-prepend.input-append .add-on:first-child,
+.input-prepend.input-append .btn:first-child {
+ margin-right: -1px;
+ -webkit-border-radius: 3px 0 0 3px;
+ -moz-border-radius: 3px 0 0 3px;
+ border-radius: 3px 0 0 3px;
+}
+
+.input-prepend.input-append .add-on:last-child,
+.input-prepend.input-append .btn:last-child {
+ margin-left: -1px;
+ -webkit-border-radius: 0 3px 3px 0;
+ -moz-border-radius: 0 3px 3px 0;
+ border-radius: 0 3px 3px 0;
+}
+
+.search-query {
+ padding-right: 14px;
+ padding-right: 4px \9;
+ padding-left: 14px;
+ padding-left: 4px \9;
+ /* IE7-8 doesn't have border-radius, so don't indent the padding */
+
+ margin-bottom: 0;
+ -webkit-border-radius: 14px;
+ -moz-border-radius: 14px;
+ border-radius: 14px;
+}
+
+.form-search input,
+.form-inline input,
+.form-horizontal input,
+.form-search textarea,
+.form-inline textarea,
+.form-horizontal textarea,
+.form-search select,
+.form-inline select,
+.form-horizontal select,
+.form-search .help-inline,
+.form-inline .help-inline,
+.form-horizontal .help-inline,
+.form-search .uneditable-input,
+.form-inline .uneditable-input,
+.form-horizontal .uneditable-input,
+.form-search .input-prepend,
+.form-inline .input-prepend,
+.form-horizontal .input-prepend,
+.form-search .input-append,
+.form-inline .input-append,
+.form-horizontal .input-append {
+ display: inline-block;
+ *display: inline;
+ margin-bottom: 0;
+ *zoom: 1;
+}
+
+.form-search .hide,
+.form-inline .hide,
+.form-horizontal .hide {
+ display: none;
+}
+
+.form-search label,
+.form-inline label {
+ display: inline-block;
+}
+
+.form-search .input-append,
+.form-inline .input-append,
+.form-search .input-prepend,
+.form-inline .input-prepend {
+ margin-bottom: 0;
+}
+
+.form-search .radio,
+.form-search .checkbox,
+.form-inline .radio,
+.form-inline .checkbox {
+ padding-left: 0;
+ margin-bottom: 0;
+ vertical-align: middle;
+}
+
+.form-search .radio input[type="radio"],
+.form-search .checkbox input[type="checkbox"],
+.form-inline .radio input[type="radio"],
+.form-inline .checkbox input[type="checkbox"] {
+ float: left;
+ margin-right: 3px;
+ margin-left: 0;
+}
+
+.control-group {
+ margin-bottom: 9px;
+}
+
+legend + .control-group {
+ margin-top: 18px;
+ -webkit-margin-top-collapse: separate;
+}
+
+.form-horizontal .control-group {
+ margin-bottom: 18px;
+ *zoom: 1;
+}
+
+.form-horizontal .control-group:before,
+.form-horizontal .control-group:after {
+ display: table;
+ content: "";
+}
+
+.form-horizontal .control-group:after {
+ clear: both;
+}
+
+.form-horizontal .control-label {
+ float: left;
+ width: 140px;
+ padding-top: 5px;
+ text-align: right;
+}
+
+.form-horizontal .controls {
+ *display: inline-block;
+ *padding-left: 20px;
+ margin-left: 160px;
+ *margin-left: 0;
+}
+
+.form-horizontal .controls:first-child {
+ *padding-left: 160px;
+}
+
+.form-horizontal .help-block {
+ margin-top: 9px;
+ margin-bottom: 0;
+}
+
+.form-horizontal .form-actions {
+ padding-left: 160px;
+}
+
+table {
+ max-width: 100%;
+ background-color: transparent;
+ border-collapse: collapse;
+ border-spacing: 0;
+}
+
+.table {
+ width: 100%;
+ margin-bottom: 18px;
+}
+
+.table th,
+.table td {
+ padding: 8px;
+ line-height: 18px;
+ text-align: left;
+ vertical-align: top;
+ border-top: 1px solid #dddddd;
+}
+
+.table th {
+ font-weight: bold;
+}
+
+.table thead th {
+ vertical-align: bottom;
+}
+
+.table caption + thead tr:first-child th,
+.table caption + thead tr:first-child td,
+.table colgroup + thead tr:first-child th,
+.table colgroup + thead tr:first-child td,
+.table thead:first-child tr:first-child th,
+.table thead:first-child tr:first-child td {
+ border-top: 0;
+}
+
+.table tbody + tbody {
+ border-top: 2px solid #dddddd;
+}
+
+.table-condensed th,
+.table-condensed td {
+ padding: 4px 5px;
+}
+
+.table-bordered {
+ border: 1px solid #dddddd;
+ border-collapse: separate;
+ *border-collapse: collapsed;
+ border-left: 0;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+
+.table-bordered th,
+.table-bordered td {
+ border-left: 1px solid #dddddd;
+}
+
+.table-bordered caption + thead tr:first-child th,
+.table-bordered caption + tbody tr:first-child th,
+.table-bordered caption + tbody tr:first-child td,
+.table-bordered colgroup + thead tr:first-child th,
+.table-bordered colgroup + tbody tr:first-child th,
+.table-bordered colgroup + tbody tr:first-child td,
+.table-bordered thead:first-child tr:first-child th,
+.table-bordered tbody:first-child tr:first-child th,
+.table-bordered tbody:first-child tr:first-child td {
+ border-top: 0;
+}
+
+.table-bordered thead:first-child tr:first-child th:first-child,
+.table-bordered tbody:first-child tr:first-child td:first-child {
+ -webkit-border-top-left-radius: 4px;
+ border-top-left-radius: 4px;
+ -moz-border-radius-topleft: 4px;
+}
+
+.table-bordered thead:first-child tr:first-child th:last-child,
+.table-bordered tbody:first-child tr:first-child td:last-child {
+ -webkit-border-top-right-radius: 4px;
+ border-top-right-radius: 4px;
+ -moz-border-radius-topright: 4px;
+}
+
+.table-bordered thead:last-child tr:last-child th:first-child,
+.table-bordered tbody:last-child tr:last-child td:first-child {
+ -webkit-border-radius: 0 0 0 4px;
+ -moz-border-radius: 0 0 0 4px;
+ border-radius: 0 0 0 4px;
+ -webkit-border-bottom-left-radius: 4px;
+ border-bottom-left-radius: 4px;
+ -moz-border-radius-bottomleft: 4px;
+}
+
+.table-bordered thead:last-child tr:last-child th:last-child,
+.table-bordered tbody:last-child tr:last-child td:last-child {
+ -webkit-border-bottom-right-radius: 4px;
+ border-bottom-right-radius: 4px;
+ -moz-border-radius-bottomright: 4px;
+}
+
+.table-striped tbody tr:nth-child(odd) td,
+.table-striped tbody tr:nth-child(odd) th {
+ background-color: #f9f9f9;
+}
+
+.table tbody tr:hover td,
+.table tbody tr:hover th {
+ background-color: #f5f5f5;
+}
+
+table .span1 {
+ float: none;
+ width: 44px;
+ margin-left: 0;
+}
+
+table .span2 {
+ float: none;
+ width: 124px;
+ margin-left: 0;
+}
+
+table .span3 {
+ float: none;
+ width: 204px;
+ margin-left: 0;
+}
+
+table .span4 {
+ float: none;
+ width: 284px;
+ margin-left: 0;
+}
+
+table .span5 {
+ float: none;
+ width: 364px;
+ margin-left: 0;
+}
+
+table .span6 {
+ float: none;
+ width: 444px;
+ margin-left: 0;
+}
+
+table .span7 {
+ float: none;
+ width: 524px;
+ margin-left: 0;
+}
+
+table .span8 {
+ float: none;
+ width: 604px;
+ margin-left: 0;
+}
+
+table .span9 {
+ float: none;
+ width: 684px;
+ margin-left: 0;
+}
+
+table .span10 {
+ float: none;
+ width: 764px;
+ margin-left: 0;
+}
+
+table .span11 {
+ float: none;
+ width: 844px;
+ margin-left: 0;
+}
+
+table .span12 {
+ float: none;
+ width: 924px;
+ margin-left: 0;
+}
+
+table .span13 {
+ float: none;
+ width: 1004px;
+ margin-left: 0;
+}
+
+table .span14 {
+ float: none;
+ width: 1084px;
+ margin-left: 0;
+}
+
+table .span15 {
+ float: none;
+ width: 1164px;
+ margin-left: 0;
+}
+
+table .span16 {
+ float: none;
+ width: 1244px;
+ margin-left: 0;
+}
+
+table .span17 {
+ float: none;
+ width: 1324px;
+ margin-left: 0;
+}
+
+table .span18 {
+ float: none;
+ width: 1404px;
+ margin-left: 0;
+}
+
+table .span19 {
+ float: none;
+ width: 1484px;
+ margin-left: 0;
+}
+
+table .span20 {
+ float: none;
+ width: 1564px;
+ margin-left: 0;
+}
+
+table .span21 {
+ float: none;
+ width: 1644px;
+ margin-left: 0;
+}
+
+table .span22 {
+ float: none;
+ width: 1724px;
+ margin-left: 0;
+}
+
+table .span23 {
+ float: none;
+ width: 1804px;
+ margin-left: 0;
+}
+
+table .span24 {
+ float: none;
+ width: 1884px;
+ margin-left: 0;
+}
+
+[class^="icon-"],
+[class*=" icon-"] {
+ display: inline-block;
+ width: 14px;
+ height: 14px;
+ *margin-right: .3em;
+ line-height: 14px;
+ vertical-align: text-top;
+ background-image: url("../img/glyphicons-halflings.png");
+ background-position: 14px 14px;
+ background-repeat: no-repeat;
+}
+
+[class^="icon-"]:last-child,
+[class*=" icon-"]:last-child {
+ *margin-left: 0;
+}
+
+.icon-white {
+ background-image: url("../img/glyphicons-halflings-white.png");
+}
+
+.icon-glass {
+ background-position: 0 0;
+}
+
+.icon-music {
+ background-position: -24px 0;
+}
+
+.icon-search {
+ background-position: -48px 0;
+}
+
+.icon-envelope {
+ background-position: -72px 0;
+}
+
+.icon-heart {
+ background-position: -96px 0;
+}
+
+.icon-star {
+ background-position: -120px 0;
+}
+
+.icon-star-empty {
+ background-position: -144px 0;
+}
+
+.icon-user {
+ background-position: -168px 0;
+}
+
+.icon-film {
+ background-position: -192px 0;
+}
+
+.icon-th-large {
+ background-position: -216px 0;
+}
+
+.icon-th {
+ background-position: -240px 0;
+}
+
+.icon-th-list {
+ background-position: -264px 0;
+}
+
+.icon-ok {
+ background-position: -288px 0;
+}
+
+.icon-remove {
+ background-position: -312px 0;
+}
+
+.icon-zoom-in {
+ background-position: -336px 0;
+}
+
+.icon-zoom-out {
+ background-position: -360px 0;
+}
+
+.icon-off {
+ background-position: -384px 0;
+}
+
+.icon-signal {
+ background-position: -408px 0;
+}
+
+.icon-cog {
+ background-position: -432px 0;
+}
+
+.icon-trash {
+ background-position: -456px 0;
+}
+
+.icon-home {
+ background-position: 0 -24px;
+}
+
+.icon-file {
+ background-position: -24px -24px;
+}
+
+.icon-time {
+ background-position: -48px -24px;
+}
+
+.icon-road {
+ background-position: -72px -24px;
+}
+
+.icon-download-alt {
+ background-position: -96px -24px;
+}
+
+.icon-download {
+ background-position: -120px -24px;
+}
+
+.icon-upload {
+ background-position: -144px -24px;
+}
+
+.icon-inbox {
+ background-position: -168px -24px;
+}
+
+.icon-play-circle {
+ background-position: -192px -24px;
+}
+
+.icon-repeat {
+ background-position: -216px -24px;
+}
+
+.icon-refresh {
+ background-position: -240px -24px;
+}
+
+.icon-list-alt {
+ background-position: -264px -24px;
+}
+
+.icon-lock {
+ background-position: -287px -24px;
+}
+
+.icon-flag {
+ background-position: -312px -24px;
+}
+
+.icon-headphones {
+ background-position: -336px -24px;
+}
+
+.icon-volume-off {
+ background-position: -360px -24px;
+}
+
+.icon-volume-down {
+ background-position: -384px -24px;
+}
+
+.icon-volume-up {
+ background-position: -408px -24px;
+}
+
+.icon-qrcode {
+ background-position: -432px -24px;
+}
+
+.icon-barcode {
+ background-position: -456px -24px;
+}
+
+.icon-tag {
+ background-position: 0 -48px;
+}
+
+.icon-tags {
+ background-position: -25px -48px;
+}
+
+.icon-book {
+ background-position: -48px -48px;
+}
+
+.icon-bookmark {
+ background-position: -72px -48px;
+}
+
+.icon-print {
+ background-position: -96px -48px;
+}
+
+.icon-camera {
+ background-position: -120px -48px;
+}
+
+.icon-font {
+ background-position: -144px -48px;
+}
+
+.icon-bold {
+ background-position: -167px -48px;
+}
+
+.icon-italic {
+ background-position: -192px -48px;
+}
+
+.icon-text-height {
+ background-position: -216px -48px;
+}
+
+.icon-text-width {
+ background-position: -240px -48px;
+}
+
+.icon-align-left {
+ background-position: -264px -48px;
+}
+
+.icon-align-center {
+ background-position: -288px -48px;
+}
+
+.icon-align-right {
+ background-position: -312px -48px;
+}
+
+.icon-align-justify {
+ background-position: -336px -48px;
+}
+
+.icon-list {
+ background-position: -360px -48px;
+}
+
+.icon-indent-left {
+ background-position: -384px -48px;
+}
+
+.icon-indent-right {
+ background-position: -408px -48px;
+}
+
+.icon-facetime-video {
+ background-position: -432px -48px;
+}
+
+.icon-picture {
+ background-position: -456px -48px;
+}
+
+.icon-pencil {
+ background-position: 0 -72px;
+}
+
+.icon-map-marker {
+ background-position: -24px -72px;
+}
+
+.icon-adjust {
+ background-position: -48px -72px;
+}
+
+.icon-tint {
+ background-position: -72px -72px;
+}
+
+.icon-edit {
+ background-position: -96px -72px;
+}
+
+.icon-share {
+ background-position: -120px -72px;
+}
+
+.icon-check {
+ background-position: -144px -72px;
+}
+
+.icon-move {
+ background-position: -168px -72px;
+}
+
+.icon-step-backward {
+ background-position: -192px -72px;
+}
+
+.icon-fast-backward {
+ background-position: -216px -72px;
+}
+
+.icon-backward {
+ background-position: -240px -72px;
+}
+
+.icon-play {
+ background-position: -264px -72px;
+}
+
+.icon-pause {
+ background-position: -288px -72px;
+}
+
+.icon-stop {
+ background-position: -312px -72px;
+}
+
+.icon-forward {
+ background-position: -336px -72px;
+}
+
+.icon-fast-forward {
+ background-position: -360px -72px;
+}
+
+.icon-step-forward {
+ background-position: -384px -72px;
+}
+
+.icon-eject {
+ background-position: -408px -72px;
+}
+
+.icon-chevron-left {
+ background-position: -432px -72px;
+}
+
+.icon-chevron-right {
+ background-position: -456px -72px;
+}
+
+.icon-plus-sign {
+ background-position: 0 -96px;
+}
+
+.icon-minus-sign {
+ background-position: -24px -96px;
+}
+
+.icon-remove-sign {
+ background-position: -48px -96px;
+}
+
+.icon-ok-sign {
+ background-position: -72px -96px;
+}
+
+.icon-question-sign {
+ background-position: -96px -96px;
+}
+
+.icon-info-sign {
+ background-position: -120px -96px;
+}
+
+.icon-screenshot {
+ background-position: -144px -96px;
+}
+
+.icon-remove-circle {
+ background-position: -168px -96px;
+}
+
+.icon-ok-circle {
+ background-position: -192px -96px;
+}
+
+.icon-ban-circle {
+ background-position: -216px -96px;
+}
+
+.icon-arrow-left {
+ background-position: -240px -96px;
+}
+
+.icon-arrow-right {
+ background-position: -264px -96px;
+}
+
+.icon-arrow-up {
+ background-position: -289px -96px;
+}
+
+.icon-arrow-down {
+ background-position: -312px -96px;
+}
+
+.icon-share-alt {
+ background-position: -336px -96px;
+}
+
+.icon-resize-full {
+ background-position: -360px -96px;
+}
+
+.icon-resize-small {
+ background-position: -384px -96px;
+}
+
+.icon-plus {
+ background-position: -408px -96px;
+}
+
+.icon-minus {
+ background-position: -433px -96px;
+}
+
+.icon-asterisk {
+ background-position: -456px -96px;
+}
+
+.icon-exclamation-sign {
+ background-position: 0 -120px;
+}
+
+.icon-gift {
+ background-position: -24px -120px;
+}
+
+.icon-leaf {
+ background-position: -48px -120px;
+}
+
+.icon-fire {
+ background-position: -72px -120px;
+}
+
+.icon-eye-open {
+ background-position: -96px -120px;
+}
+
+.icon-eye-close {
+ background-position: -120px -120px;
+}
+
+.icon-warning-sign {
+ background-position: -144px -120px;
+}
+
+.icon-plane {
+ background-position: -168px -120px;
+}
+
+.icon-calendar {
+ background-position: -192px -120px;
+}
+
+.icon-random {
+ background-position: -216px -120px;
+}
+
+.icon-comment {
+ background-position: -240px -120px;
+}
+
+.icon-magnet {
+ background-position: -264px -120px;
+}
+
+.icon-chevron-up {
+ background-position: -288px -120px;
+}
+
+.icon-chevron-down {
+ background-position: -313px -119px;
+}
+
+.icon-retweet {
+ background-position: -336px -120px;
+}
+
+.icon-shopping-cart {
+ background-position: -360px -120px;
+}
+
+.icon-folder-close {
+ background-position: -384px -120px;
+}
+
+.icon-folder-open {
+ background-position: -408px -120px;
+}
+
+.icon-resize-vertical {
+ background-position: -432px -119px;
+}
+
+.icon-resize-horizontal {
+ background-position: -456px -118px;
+}
+
+.icon-hdd {
+ background-position: 0 -144px;
+}
+
+.icon-bullhorn {
+ background-position: -24px -144px;
+}
+
+.icon-bell {
+ background-position: -48px -144px;
+}
+
+.icon-certificate {
+ background-position: -72px -144px;
+}
+
+.icon-thumbs-up {
+ background-position: -96px -144px;
+}
+
+.icon-thumbs-down {
+ background-position: -120px -144px;
+}
+
+.icon-hand-right {
+ background-position: -144px -144px;
+}
+
+.icon-hand-left {
+ background-position: -168px -144px;
+}
+
+.icon-hand-up {
+ background-position: -192px -144px;
+}
+
+.icon-hand-down {
+ background-position: -216px -144px;
+}
+
+.icon-circle-arrow-right {
+ background-position: -240px -144px;
+}
+
+.icon-circle-arrow-left {
+ background-position: -264px -144px;
+}
+
+.icon-circle-arrow-up {
+ background-position: -288px -144px;
+}
+
+.icon-circle-arrow-down {
+ background-position: -312px -144px;
+}
+
+.icon-globe {
+ background-position: -336px -144px;
+}
+
+.icon-wrench {
+ background-position: -360px -144px;
+}
+
+.icon-tasks {
+ background-position: -384px -144px;
+}
+
+.icon-filter {
+ background-position: -408px -144px;
+}
+
+.icon-briefcase {
+ background-position: -432px -144px;
+}
+
+.icon-fullscreen {
+ background-position: -456px -144px;
+}
+
+.dropup,
+.dropdown {
+ position: relative;
+}
+
+.dropdown-toggle {
+ *margin-bottom: -3px;
+}
+
+.dropdown-toggle:active,
+.open .dropdown-toggle {
+ outline: 0;
+}
+
+.caret {
+ display: inline-block;
+ width: 0;
+ height: 0;
+ vertical-align: top;
+ border-top: 4px solid #000000;
+ border-right: 4px solid transparent;
+ border-left: 4px solid transparent;
+ content: "";
+ opacity: 0.3;
+ filter: alpha(opacity=30);
+}
+
+.dropdown .caret {
+ margin-top: 8px;
+ margin-left: 2px;
+}
+
+.dropdown:hover .caret,
+.open .caret {
+ opacity: 1;
+ filter: alpha(opacity=100);
+}
+
+.dropdown-menu {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ z-index: 1000;
+ display: none;
+ float: left;
+ min-width: 160px;
+ padding: 4px 0;
+ margin: 1px 0 0;
+ list-style: none;
+ background-color: #ffffff;
+ border: 1px solid #ccc;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ *border-right-width: 2px;
+ *border-bottom-width: 2px;
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ -webkit-background-clip: padding-box;
+ -moz-background-clip: padding;
+ background-clip: padding-box;
+}
+
+.dropdown-menu.pull-right {
+ right: 0;
+ left: auto;
+}
+
+.dropdown-menu .divider {
+ *width: 100%;
+ height: 1px;
+ margin: 8px 1px;
+ *margin: -5px 0 5px;
+ overflow: hidden;
+ background-color: #e5e5e5;
+ border-bottom: 1px solid #ffffff;
+}
+
+.dropdown-menu a {
+ display: block;
+ padding: 3px 15px;
+ clear: both;
+ font-weight: normal;
+ line-height: 18px;
+ color: #333333;
+ white-space: nowrap;
+}
+
+.dropdown-menu li > a:hover,
+.dropdown-menu .active > a,
+.dropdown-menu .active > a:hover {
+ color: #ffffff;
+ text-decoration: none;
+ background-color: #0088cc;
+}
+
+.open {
+ *z-index: 1000;
+}
+
+.open > .dropdown-menu {
+ display: block;
+}
+
+.pull-right > .dropdown-menu {
+ right: 0;
+ left: auto;
+}
+
+.dropup .caret,
+.navbar-fixed-bottom .dropdown .caret {
+ border-top: 0;
+ border-bottom: 4px solid #000000;
+ content: "\2191";
+}
+
+.dropup .dropdown-menu,
+.navbar-fixed-bottom .dropdown .dropdown-menu {
+ top: auto;
+ bottom: 100%;
+ margin-bottom: 1px;
+}
+
+.typeahead {
+ margin-top: 2px;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+
+.well {
+ min-height: 20px;
+ padding: 19px;
+ margin-bottom: 20px;
+ background-color: #f5f5f5;
+ border: 1px solid #eee;
+ border: 1px solid rgba(0, 0, 0, 0.05);
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
+}
+
+.well blockquote {
+ border-color: #ddd;
+ border-color: rgba(0, 0, 0, 0.15);
+}
+
+.well-large {
+ padding: 24px;
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px;
+}
+
+.well-small {
+ padding: 9px;
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+}
+
+.fade {
+ opacity: 0;
+ -webkit-transition: opacity 0.15s linear;
+ -moz-transition: opacity 0.15s linear;
+ -ms-transition: opacity 0.15s linear;
+ -o-transition: opacity 0.15s linear;
+ transition: opacity 0.15s linear;
+}
+
+.fade.in {
+ opacity: 1;
+}
+
+.collapse {
+ position: relative;
+ height: 0;
+ overflow: hidden;
+ -webkit-transition: height 0.35s ease;
+ -moz-transition: height 0.35s ease;
+ -ms-transition: height 0.35s ease;
+ -o-transition: height 0.35s ease;
+ transition: height 0.35s ease;
+}
+
+.collapse.in {
+ height: auto;
+}
+
+.close {
+ float: right;
+ font-size: 20px;
+ font-weight: bold;
+ line-height: 18px;
+ color: #000000;
+ text-shadow: 0 1px 0 #ffffff;
+ opacity: 0.2;
+ filter: alpha(opacity=20);
+}
+
+.close:hover {
+ color: #000000;
+ text-decoration: none;
+ cursor: pointer;
+ opacity: 0.4;
+ filter: alpha(opacity=40);
+}
+
+button.close {
+ padding: 0;
+ cursor: pointer;
+ background: transparent;
+ border: 0;
+ -webkit-appearance: none;
+}
+
+.btn {
+ display: inline-block;
+ *display: inline;
+ padding: 4px 10px 4px;
+ margin-bottom: 0;
+ *margin-left: .3em;
+ font-size: 13px;
+ line-height: 18px;
+ *line-height: 20px;
+ color: #333333;
+ text-align: center;
+ text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
+ vertical-align: middle;
+ cursor: pointer;
+ background-color: #f5f5f5;
+ *background-color: #e6e6e6;
+ background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
+ background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
+ background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
+ background-image: linear-gradient(top, #ffffff, #e6e6e6);
+ background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
+ background-repeat: repeat-x;
+ border: 1px solid #cccccc;
+ *border: 0;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ border-color: #e6e6e6 #e6e6e6 #bfbfbf;
+ border-bottom-color: #b3b3b3;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+ filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
+ filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+ *zoom: 1;
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+}
+
+.btn:hover,
+.btn:active,
+.btn.active,
+.btn.disabled,
+.btn[disabled] {
+ background-color: #e6e6e6;
+ *background-color: #d9d9d9;
+}
+
+.btn:active,
+.btn.active {
+ background-color: #cccccc \9;
+}
+
+.btn:first-child {
+ *margin-left: 0;
+}
+
+.btn:hover {
+ color: #333333;
+ text-decoration: none;
+ background-color: #e6e6e6;
+ *background-color: #d9d9d9;
+ /* Buttons in IE7 don't get borders, so darken on hover */
+
+ background-position: 0 -15px;
+ -webkit-transition: background-position 0.1s linear;
+ -moz-transition: background-position 0.1s linear;
+ -ms-transition: background-position 0.1s linear;
+ -o-transition: background-position 0.1s linear;
+ transition: background-position 0.1s linear;
+}
+
+.btn:focus {
+ outline: thin dotted #333;
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px;
+}
+
+.btn.active,
+.btn:active {
+ background-color: #e6e6e6;
+ background-color: #d9d9d9 \9;
+ background-image: none;
+ outline: 0;
+ -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+}
+
+.btn.disabled,
+.btn[disabled] {
+ cursor: default;
+ background-color: #e6e6e6;
+ background-image: none;
+ opacity: 0.65;
+ filter: alpha(opacity=65);
+ -webkit-box-shadow: none;
+ -moz-box-shadow: none;
+ box-shadow: none;
+}
+
+.btn-large {
+ padding: 9px 14px;
+ font-size: 15px;
+ line-height: normal;
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+}
+
+.btn-large [class^="icon-"] {
+ margin-top: 1px;
+}
+
+.btn-small {
+ padding: 5px 9px;
+ font-size: 11px;
+ line-height: 16px;
+}
+
+.btn-small [class^="icon-"] {
+ margin-top: -1px;
+}
+
+.btn-mini {
+ padding: 2px 6px;
+ font-size: 11px;
+ line-height: 14px;
+}
+
+.btn-primary,
+.btn-primary:hover,
+.btn-warning,
+.btn-warning:hover,
+.btn-danger,
+.btn-danger:hover,
+.btn-success,
+.btn-success:hover,
+.btn-info,
+.btn-info:hover,
+.btn-inverse,
+.btn-inverse:hover {
+ color: #ffffff;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+}
+
+.btn-primary.active,
+.btn-warning.active,
+.btn-danger.active,
+.btn-success.active,
+.btn-info.active,
+.btn-inverse.active {
+ color: rgba(255, 255, 255, 0.75);
+}
+
+.btn {
+ border-color: #ccc;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+}
+
+.btn-primary {
+ background-color: #0074cc;
+ *background-color: #0055cc;
+ background-image: -ms-linear-gradient(top, #0088cc, #0055cc);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0055cc));
+ background-image: -webkit-linear-gradient(top, #0088cc, #0055cc);
+ background-image: -o-linear-gradient(top, #0088cc, #0055cc);
+ background-image: -moz-linear-gradient(top, #0088cc, #0055cc);
+ background-image: linear-gradient(top, #0088cc, #0055cc);
+ background-repeat: repeat-x;
+ border-color: #0055cc #0055cc #003580;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ filter: progid:dximagetransform.microsoft.gradient(startColorstr='#0088cc', endColorstr='#0055cc', GradientType=0);
+ filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+}
+
+.btn-primary:hover,
+.btn-primary:active,
+.btn-primary.active,
+.btn-primary.disabled,
+.btn-primary[disabled] {
+ background-color: #0055cc;
+ *background-color: #004ab3;
+}
+
+.btn-primary:active,
+.btn-primary.active {
+ background-color: #004099 \9;
+}
+
+.btn-warning {
+ background-color: #faa732;
+ *background-color: #f89406;
+ background-image: -ms-linear-gradient(top, #fbb450, #f89406);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
+ background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
+ background-image: -o-linear-gradient(top, #fbb450, #f89406);
+ background-image: -moz-linear-gradient(top, #fbb450, #f89406);
+ background-image: linear-gradient(top, #fbb450, #f89406);
+ background-repeat: repeat-x;
+ border-color: #f89406 #f89406 #ad6704;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);
+ filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+}
+
+.btn-warning:hover,
+.btn-warning:active,
+.btn-warning.active,
+.btn-warning.disabled,
+.btn-warning[disabled] {
+ background-color: #f89406;
+ *background-color: #df8505;
+}
+
+.btn-warning:active,
+.btn-warning.active {
+ background-color: #c67605 \9;
+}
+
+.btn-danger {
+ background-color: #da4f49;
+ *background-color: #bd362f;
+ background-image: -ms-linear-gradient(top, #ee5f5b, #bd362f);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));
+ background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);
+ background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);
+ background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);
+ background-image: linear-gradient(top, #ee5f5b, #bd362f);
+ background-repeat: repeat-x;
+ border-color: #bd362f #bd362f #802420;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0);
+ filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+}
+
+.btn-danger:hover,
+.btn-danger:active,
+.btn-danger.active,
+.btn-danger.disabled,
+.btn-danger[disabled] {
+ background-color: #bd362f;
+ *background-color: #a9302a;
+}
+
+.btn-danger:active,
+.btn-danger.active {
+ background-color: #942a25 \9;
+}
+
+.btn-success {
+ background-color: #5bb75b;
+ *background-color: #51a351;
+ background-image: -ms-linear-gradient(top, #62c462, #51a351);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));
+ background-image: -webkit-linear-gradient(top, #62c462, #51a351);
+ background-image: -o-linear-gradient(top, #62c462, #51a351);
+ background-image: -moz-linear-gradient(top, #62c462, #51a351);
+ background-image: linear-gradient(top, #62c462, #51a351);
+ background-repeat: repeat-x;
+ border-color: #51a351 #51a351 #387038;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ filter: progid:dximagetransform.microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0);
+ filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+}
+
+.btn-success:hover,
+.btn-success:active,
+.btn-success.active,
+.btn-success.disabled,
+.btn-success[disabled] {
+ background-color: #51a351;
+ *background-color: #499249;
+}
+
+.btn-success:active,
+.btn-success.active {
+ background-color: #408140 \9;
+}
+
+.btn-info {
+ background-color: #49afcd;
+ *background-color: #2f96b4;
+ background-image: -ms-linear-gradient(top, #5bc0de, #2f96b4);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));
+ background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);
+ background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);
+ background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);
+ background-image: linear-gradient(top, #5bc0de, #2f96b4);
+ background-repeat: repeat-x;
+ border-color: #2f96b4 #2f96b4 #1f6377;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ filter: progid:dximagetransform.microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0);
+ filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+}
+
+.btn-info:hover,
+.btn-info:active,
+.btn-info.active,
+.btn-info.disabled,
+.btn-info[disabled] {
+ background-color: #2f96b4;
+ *background-color: #2a85a0;
+}
+
+.btn-info:active,
+.btn-info.active {
+ background-color: #24748c \9;
+}
+
+.btn-inverse {
+ background-color: #414141;
+ *background-color: #222222;
+ background-image: -ms-linear-gradient(top, #555555, #222222);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555555), to(#222222));
+ background-image: -webkit-linear-gradient(top, #555555, #222222);
+ background-image: -o-linear-gradient(top, #555555, #222222);
+ background-image: -moz-linear-gradient(top, #555555, #222222);
+ background-image: linear-gradient(top, #555555, #222222);
+ background-repeat: repeat-x;
+ border-color: #222222 #222222 #000000;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ filter: progid:dximagetransform.microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0);
+ filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+}
+
+.btn-inverse:hover,
+.btn-inverse:active,
+.btn-inverse.active,
+.btn-inverse.disabled,
+.btn-inverse[disabled] {
+ background-color: #222222;
+ *background-color: #151515;
+}
+
+.btn-inverse:active,
+.btn-inverse.active {
+ background-color: #080808 \9;
+}
+
+button.btn,
+input[type="submit"].btn {
+ *padding-top: 2px;
+ *padding-bottom: 2px;
+}
+
+button.btn::-moz-focus-inner,
+input[type="submit"].btn::-moz-focus-inner {
+ padding: 0;
+ border: 0;
+}
+
+button.btn.btn-large,
+input[type="submit"].btn.btn-large {
+ *padding-top: 7px;
+ *padding-bottom: 7px;
+}
+
+button.btn.btn-small,
+input[type="submit"].btn.btn-small {
+ *padding-top: 3px;
+ *padding-bottom: 3px;
+}
+
+button.btn.btn-mini,
+input[type="submit"].btn.btn-mini {
+ *padding-top: 1px;
+ *padding-bottom: 1px;
+}
+
+.btn-group {
+ position: relative;
+ *margin-left: .3em;
+ *zoom: 1;
+}
+
+.btn-group:before,
+.btn-group:after {
+ display: table;
+ content: "";
+}
+
+.btn-group:after {
+ clear: both;
+}
+
+.btn-group:first-child {
+ *margin-left: 0;
+}
+
+.btn-group + .btn-group {
+ margin-left: 5px;
+}
+
+.btn-toolbar {
+ margin-top: 9px;
+ margin-bottom: 9px;
+}
+
+.btn-toolbar .btn-group {
+ display: inline-block;
+ *display: inline;
+ /* IE7 inline-block hack */
+
+ *zoom: 1;
+}
+
+.btn-group > .btn {
+ position: relative;
+ float: left;
+ margin-left: -1px;
+ -webkit-border-radius: 0;
+ -moz-border-radius: 0;
+ border-radius: 0;
+}
+
+.btn-group > .btn:first-child {
+ margin-left: 0;
+ -webkit-border-bottom-left-radius: 4px;
+ border-bottom-left-radius: 4px;
+ -webkit-border-top-left-radius: 4px;
+ border-top-left-radius: 4px;
+ -moz-border-radius-bottomleft: 4px;
+ -moz-border-radius-topleft: 4px;
+}
+
+.btn-group > .btn:last-child,
+.btn-group > .dropdown-toggle {
+ -webkit-border-top-right-radius: 4px;
+ border-top-right-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ border-bottom-right-radius: 4px;
+ -moz-border-radius-topright: 4px;
+ -moz-border-radius-bottomright: 4px;
+}
+
+.btn-group > .btn.large:first-child {
+ margin-left: 0;
+ -webkit-border-bottom-left-radius: 6px;
+ border-bottom-left-radius: 6px;
+ -webkit-border-top-left-radius: 6px;
+ border-top-left-radius: 6px;
+ -moz-border-radius-bottomleft: 6px;
+ -moz-border-radius-topleft: 6px;
+}
+
+.btn-group > .btn.large:last-child,
+.btn-group > .large.dropdown-toggle {
+ -webkit-border-top-right-radius: 6px;
+ border-top-right-radius: 6px;
+ -webkit-border-bottom-right-radius: 6px;
+ border-bottom-right-radius: 6px;
+ -moz-border-radius-topright: 6px;
+ -moz-border-radius-bottomright: 6px;
+}
+
+.btn-group > .btn:hover,
+.btn-group > .btn:focus,
+.btn-group > .btn:active,
+.btn-group > .btn.active {
+ z-index: 2;
+}
+
+.btn-group .dropdown-toggle:active,
+.btn-group.open .dropdown-toggle {
+ outline: 0;
+}
+
+.btn-group > .dropdown-toggle {
+ *padding-top: 4px;
+ padding-right: 8px;
+ *padding-bottom: 4px;
+ padding-left: 8px;
+ -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+ box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+}
+
+.btn-group > .btn-mini.dropdown-toggle {
+ padding-right: 5px;
+ padding-left: 5px;
+}
+
+.btn-group > .btn-small.dropdown-toggle {
+ *padding-top: 4px;
+ *padding-bottom: 4px;
+}
+
+.btn-group > .btn-large.dropdown-toggle {
+ padding-right: 12px;
+ padding-left: 12px;
+}
+
+.btn-group.open .dropdown-toggle {
+ background-image: none;
+ -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+}
+
+.btn-group.open .btn.dropdown-toggle {
+ background-color: #e6e6e6;
+}
+
+.btn-group.open .btn-primary.dropdown-toggle {
+ background-color: #0055cc;
+}
+
+.btn-group.open .btn-warning.dropdown-toggle {
+ background-color: #f89406;
+}
+
+.btn-group.open .btn-danger.dropdown-toggle {
+ background-color: #bd362f;
+}
+
+.btn-group.open .btn-success.dropdown-toggle {
+ background-color: #51a351;
+}
+
+.btn-group.open .btn-info.dropdown-toggle {
+ background-color: #2f96b4;
+}
+
+.btn-group.open .btn-inverse.dropdown-toggle {
+ background-color: #222222;
+}
+
+.btn .caret {
+ margin-top: 7px;
+ margin-left: 0;
+}
+
+.btn:hover .caret,
+.open.btn-group .caret {
+ opacity: 1;
+ filter: alpha(opacity=100);
+}
+
+.btn-mini .caret {
+ margin-top: 5px;
+}
+
+.btn-small .caret {
+ margin-top: 6px;
+}
+
+.btn-large .caret {
+ margin-top: 6px;
+ border-top-width: 5px;
+ border-right-width: 5px;
+ border-left-width: 5px;
+}
+
+.dropup .btn-large .caret {
+ border-top: 0;
+ border-bottom: 5px solid #000000;
+}
+
+.btn-primary .caret,
+.btn-warning .caret,
+.btn-danger .caret,
+.btn-info .caret,
+.btn-success .caret,
+.btn-inverse .caret {
+ border-top-color: #ffffff;
+ border-bottom-color: #ffffff;
+ opacity: 0.75;
+ filter: alpha(opacity=75);
+}
+
+.alert {
+ padding: 8px 35px 8px 14px;
+ margin-bottom: 18px;
+ color: #c09853;
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+ background-color: #fcf8e3;
+ border: 1px solid #fbeed5;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+
+.alert-heading {
+ color: inherit;
+}
+
+.alert .close {
+ position: relative;
+ top: -2px;
+ right: -21px;
+ line-height: 18px;
+}
+
+.alert-success {
+ color: #468847;
+ background-color: #dff0d8;
+ border-color: #d6e9c6;
+}
+
+.alert-danger,
+.alert-error {
+ color: #b94a48;
+ background-color: #f2dede;
+ border-color: #eed3d7;
+}
+
+.alert-info {
+ color: #3a87ad;
+ background-color: #d9edf7;
+ border-color: #bce8f1;
+}
+
+.alert-block {
+ padding-top: 14px;
+ padding-bottom: 14px;
+}
+
+.alert-block > p,
+.alert-block > ul {
+ margin-bottom: 0;
+}
+
+.alert-block p + p {
+ margin-top: 5px;
+}
+
+.nav {
+ margin-bottom: 18px;
+ margin-left: 0;
+ list-style: none;
+}
+
+.nav > li > a {
+ display: block;
+}
+
+.nav > li > a:hover {
+ text-decoration: none;
+ background-color: #eeeeee;
+}
+
+.nav > .pull-right {
+ float: right;
+}
+
+.nav .nav-header {
+ display: block;
+ padding: 3px 15px;
+ font-size: 11px;
+ font-weight: bold;
+ line-height: 18px;
+ color: #999999;
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+ text-transform: uppercase;
+}
+
+.nav li + .nav-header {
+ margin-top: 9px;
+}
+
+.nav-list {
+ padding-right: 15px;
+ padding-left: 15px;
+ margin-bottom: 0;
+}
+
+.nav-list > li > a,
+.nav-list .nav-header {
+ margin-right: -15px;
+ margin-left: -15px;
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+}
+
+.nav-list > li > a {
+ padding: 3px 15px;
+}
+
+.nav-list > .active > a,
+.nav-list > .active > a:hover {
+ color: #ffffff;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
+ background-color: #0088cc;
+}
+
+.nav-list [class^="icon-"] {
+ margin-right: 2px;
+}
+
+.nav-list .divider {
+ *width: 100%;
+ height: 1px;
+ margin: 8px 1px;
+ *margin: -5px 0 5px;
+ overflow: hidden;
+ background-color: #e5e5e5;
+ border-bottom: 1px solid #ffffff;
+}
+
+.nav-tabs,
+.nav-pills {
+ *zoom: 1;
+}
+
+.nav-tabs:before,
+.nav-pills:before,
+.nav-tabs:after,
+.nav-pills:after {
+ display: table;
+ content: "";
+}
+
+.nav-tabs:after,
+.nav-pills:after {
+ clear: both;
+}
+
+.nav-tabs > li,
+.nav-pills > li {
+ float: left;
+}
+
+.nav-tabs > li > a,
+.nav-pills > li > a {
+ padding-right: 12px;
+ padding-left: 12px;
+ margin-right: 2px;
+ line-height: 14px;
+}
+
+.nav-tabs {
+ border-bottom: 1px solid #ddd;
+}
+
+.nav-tabs > li {
+ margin-bottom: -1px;
+}
+
+.nav-tabs > li > a {
+ padding-top: 8px;
+ padding-bottom: 8px;
+ line-height: 18px;
+ border: 1px solid transparent;
+ -webkit-border-radius: 4px 4px 0 0;
+ -moz-border-radius: 4px 4px 0 0;
+ border-radius: 4px 4px 0 0;
+}
+
+.nav-tabs > li > a:hover {
+ border-color: #eeeeee #eeeeee #dddddd;
+}
+
+.nav-tabs > .active > a,
+.nav-tabs > .active > a:hover {
+ color: #555555;
+ cursor: default;
+ background-color: #ffffff;
+ border: 1px solid #ddd;
+ border-bottom-color: transparent;
+}
+
+.nav-pills > li > a {
+ padding-top: 8px;
+ padding-bottom: 8px;
+ margin-top: 2px;
+ margin-bottom: 2px;
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+}
+
+.nav-pills > .active > a,
+.nav-pills > .active > a:hover {
+ color: #ffffff;
+ background-color: #0088cc;
+}
+
+.nav-stacked > li {
+ float: none;
+}
+
+.nav-stacked > li > a {
+ margin-right: 0;
+}
+
+.nav-tabs.nav-stacked {
+ border-bottom: 0;
+}
+
+.nav-tabs.nav-stacked > li > a {
+ border: 1px solid #ddd;
+ -webkit-border-radius: 0;
+ -moz-border-radius: 0;
+ border-radius: 0;
+}
+
+.nav-tabs.nav-stacked > li:first-child > a {
+ -webkit-border-radius: 4px 4px 0 0;
+ -moz-border-radius: 4px 4px 0 0;
+ border-radius: 4px 4px 0 0;
+}
+
+.nav-tabs.nav-stacked > li:last-child > a {
+ -webkit-border-radius: 0 0 4px 4px;
+ -moz-border-radius: 0 0 4px 4px;
+ border-radius: 0 0 4px 4px;
+}
+
+.nav-tabs.nav-stacked > li > a:hover {
+ z-index: 2;
+ border-color: #ddd;
+}
+
+.nav-pills.nav-stacked > li > a {
+ margin-bottom: 3px;
+}
+
+.nav-pills.nav-stacked > li:last-child > a {
+ margin-bottom: 1px;
+}
+
+.nav-tabs .dropdown-menu {
+ -webkit-border-radius: 0 0 5px 5px;
+ -moz-border-radius: 0 0 5px 5px;
+ border-radius: 0 0 5px 5px;
+}
+
+.nav-pills .dropdown-menu {
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+
+.nav-tabs .dropdown-toggle .caret,
+.nav-pills .dropdown-toggle .caret {
+ margin-top: 6px;
+ border-top-color: #0088cc;
+ border-bottom-color: #0088cc;
+}
+
+.nav-tabs .dropdown-toggle:hover .caret,
+.nav-pills .dropdown-toggle:hover .caret {
+ border-top-color: #005580;
+ border-bottom-color: #005580;
+}
+
+.nav-tabs .active .dropdown-toggle .caret,
+.nav-pills .active .dropdown-toggle .caret {
+ border-top-color: #333333;
+ border-bottom-color: #333333;
+}
+
+.nav > .dropdown.active > a:hover {
+ color: #000000;
+ cursor: pointer;
+}
+
+.nav-tabs .open .dropdown-toggle,
+.nav-pills .open .dropdown-toggle,
+.nav > li.dropdown.open.active > a:hover {
+ color: #ffffff;
+ background-color: #999999;
+ border-color: #999999;
+}
+
+.nav li.dropdown.open .caret,
+.nav li.dropdown.open.active .caret,
+.nav li.dropdown.open a:hover .caret {
+ border-top-color: #ffffff;
+ border-bottom-color: #ffffff;
+ opacity: 1;
+ filter: alpha(opacity=100);
+}
+
+.tabs-stacked .open > a:hover {
+ border-color: #999999;
+}
+
+.tabbable {
+ *zoom: 1;
+}
+
+.tabbable:before,
+.tabbable:after {
+ display: table;
+ content: "";
+}
+
+.tabbable:after {
+ clear: both;
+}
+
+.tab-content {
+ overflow: auto;
+}
+
+.tabs-below > .nav-tabs,
+.tabs-right > .nav-tabs,
+.tabs-left > .nav-tabs {
+ border-bottom: 0;
+}
+
+.tab-content > .tab-pane,
+.pill-content > .pill-pane {
+ display: none;
+}
+
+.tab-content > .active,
+.pill-content > .active {
+ display: block;
+}
+
+.tabs-below > .nav-tabs {
+ border-top: 1px solid #ddd;
+}
+
+.tabs-below > .nav-tabs > li {
+ margin-top: -1px;
+ margin-bottom: 0;
+}
+
+.tabs-below > .nav-tabs > li > a {
+ -webkit-border-radius: 0 0 4px 4px;
+ -moz-border-radius: 0 0 4px 4px;
+ border-radius: 0 0 4px 4px;
+}
+
+.tabs-below > .nav-tabs > li > a:hover {
+ border-top-color: #ddd;
+ border-bottom-color: transparent;
+}
+
+.tabs-below > .nav-tabs > .active > a,
+.tabs-below > .nav-tabs > .active > a:hover {
+ border-color: transparent #ddd #ddd #ddd;
+}
+
+.tabs-left > .nav-tabs > li,
+.tabs-right > .nav-tabs > li {
+ float: none;
+}
+
+.tabs-left > .nav-tabs > li > a,
+.tabs-right > .nav-tabs > li > a {
+ min-width: 74px;
+ margin-right: 0;
+ margin-bottom: 3px;
+}
+
+.tabs-left > .nav-tabs {
+ float: left;
+ margin-right: 19px;
+ border-right: 1px solid #ddd;
+}
+
+.tabs-left > .nav-tabs > li > a {
+ margin-right: -1px;
+ -webkit-border-radius: 4px 0 0 4px;
+ -moz-border-radius: 4px 0 0 4px;
+ border-radius: 4px 0 0 4px;
+}
+
+.tabs-left > .nav-tabs > li > a:hover {
+ border-color: #eeeeee #dddddd #eeeeee #eeeeee;
+}
+
+.tabs-left > .nav-tabs .active > a,
+.tabs-left > .nav-tabs .active > a:hover {
+ border-color: #ddd transparent #ddd #ddd;
+ *border-right-color: #ffffff;
+}
+
+.tabs-right > .nav-tabs {
+ float: right;
+ margin-left: 19px;
+ border-left: 1px solid #ddd;
+}
+
+.tabs-right > .nav-tabs > li > a {
+ margin-left: -1px;
+ -webkit-border-radius: 0 4px 4px 0;
+ -moz-border-radius: 0 4px 4px 0;
+ border-radius: 0 4px 4px 0;
+}
+
+.tabs-right > .nav-tabs > li > a:hover {
+ border-color: #eeeeee #eeeeee #eeeeee #dddddd;
+}
+
+.tabs-right > .nav-tabs .active > a,
+.tabs-right > .nav-tabs .active > a:hover {
+ border-color: #ddd #ddd #ddd transparent;
+ *border-left-color: #ffffff;
+}
+
+.navbar {
+ *position: relative;
+ *z-index: 2;
+ margin-bottom: 18px;
+ overflow: visible;
+}
+
+.navbar-inner {
+ min-height: 40px;
+ padding-right: 20px;
+ padding-left: 20px;
+ background-color: #2c2c2c;
+ background-image: -moz-linear-gradient(top, #333333, #222222);
+ background-image: -ms-linear-gradient(top, #333333, #222222);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));
+ background-image: -webkit-linear-gradient(top, #333333, #222222);
+ background-image: -o-linear-gradient(top, #333333, #222222);
+ background-image: linear-gradient(top, #333333, #222222);
+ background-repeat: repeat-x;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+ filter: progid:dximagetransform.microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);
+ -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
+ -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
+}
+
+.navbar .container {
+ width: auto;
+}
+
+.nav-collapse.collapse {
+ height: auto;
+}
+
+.navbar {
+ color: #999999;
+}
+
+.navbar .brand:hover {
+ text-decoration: none;
+}
+
+.navbar .brand {
+ display: block;
+ float: left;
+ padding: 8px 20px 12px;
+ margin-left: -20px;
+ font-size: 20px;
+ font-weight: 200;
+ line-height: 1;
+ color: #999999;
+}
+
+.navbar .navbar-text {
+ margin-bottom: 0;
+ line-height: 40px;
+}
+
+.navbar .navbar-link {
+ color: #999999;
+}
+
+.navbar .navbar-link:hover {
+ color: #ffffff;
+}
+
+.navbar .btn,
+.navbar .btn-group {
+ margin-top: 5px;
+}
+
+.navbar .btn-group .btn {
+ margin: 0;
+}
+
+.navbar-form {
+ margin-bottom: 0;
+ *zoom: 1;
+}
+
+.navbar-form:before,
+.navbar-form:after {
+ display: table;
+ content: "";
+}
+
+.navbar-form:after {
+ clear: both;
+}
+
+.navbar-form input,
+.navbar-form select,
+.navbar-form .radio,
+.navbar-form .checkbox {
+ margin-top: 5px;
+}
+
+.navbar-form input,
+.navbar-form select {
+ display: inline-block;
+ margin-bottom: 0;
+}
+
+.navbar-form input[type="image"],
+.navbar-form input[type="checkbox"],
+.navbar-form input[type="radio"] {
+ margin-top: 3px;
+}
+
+.navbar-form .input-append,
+.navbar-form .input-prepend {
+ margin-top: 6px;
+ white-space: nowrap;
+}
+
+.navbar-form .input-append input,
+.navbar-form .input-prepend input {
+ margin-top: 0;
+}
+
+.navbar-search {
+ position: relative;
+ float: left;
+ margin-top: 6px;
+ margin-bottom: 0;
+}
+
+.navbar-search .search-query {
+ padding: 4px 9px;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 13px;
+ font-weight: normal;
+ line-height: 1;
+ color: #ffffff;
+ background-color: #626262;
+ border: 1px solid #151515;
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
+ -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
+ -webkit-transition: none;
+ -moz-transition: none;
+ -ms-transition: none;
+ -o-transition: none;
+ transition: none;
+}
+
+.navbar-search .search-query:-moz-placeholder {
+ color: #cccccc;
+}
+
+.navbar-search .search-query:-ms-input-placeholder {
+ color: #cccccc;
+}
+
+.navbar-search .search-query::-webkit-input-placeholder {
+ color: #cccccc;
+}
+
+.navbar-search .search-query:focus,
+.navbar-search .search-query.focused {
+ padding: 5px 10px;
+ color: #333333;
+ text-shadow: 0 1px 0 #ffffff;
+ background-color: #ffffff;
+ border: 0;
+ outline: 0;
+ -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
+ -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
+ box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
+}
+
+.navbar-fixed-top,
+.navbar-fixed-bottom {
+ position: fixed;
+ right: 0;
+ left: 0;
+ z-index: 1030;
+ margin-bottom: 0;
+}
+
+.navbar-fixed-top .navbar-inner,
+.navbar-fixed-bottom .navbar-inner {
+ padding-right: 0;
+ padding-left: 0;
+ -webkit-border-radius: 0;
+ -moz-border-radius: 0;
+ border-radius: 0;
+}
+
+.navbar-fixed-top .container,
+.navbar-fixed-bottom .container {
+ width: 940px;
+}
+
+.navbar-fixed-top {
+ top: 0;
+}
+
+.navbar-fixed-bottom {
+ bottom: 0;
+}
+
+.navbar .nav {
+ position: relative;
+ left: 0;
+ display: block;
+ float: left;
+ margin: 0 10px 0 0;
+}
+
+.navbar .nav.pull-right {
+ float: right;
+}
+
+.navbar .nav > li {
+ display: block;
+ float: left;
+}
+
+.navbar .nav > li > a {
+ float: none;
+ padding: 9px 10px 11px;
+ line-height: 19px;
+ color: #999999;
+ text-decoration: none;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+}
+
+.navbar .btn {
+ display: inline-block;
+ padding: 4px 10px 4px;
+ margin: 5px 5px 6px;
+ line-height: 18px;
+}
+
+.navbar .btn-group {
+ padding: 5px 5px 6px;
+ margin: 0;
+}
+
+.navbar .nav > li > a:hover {
+ color: #ffffff;
+ text-decoration: none;
+ background-color: transparent;
+}
+
+.navbar .nav .active > a,
+.navbar .nav .active > a:hover {
+ color: #ffffff;
+ text-decoration: none;
+ background-color: #222222;
+}
+
+.navbar .divider-vertical {
+ width: 1px;
+ height: 40px;
+ margin: 0 9px;
+ overflow: hidden;
+ background-color: #222222;
+ border-right: 1px solid #333333;
+}
+
+.navbar .nav.pull-right {
+ margin-right: 0;
+ margin-left: 10px;
+}
+
+.navbar .btn-navbar {
+ display: none;
+ float: right;
+ padding: 7px 10px;
+ margin-right: 5px;
+ margin-left: 5px;
+ background-color: #2c2c2c;
+ *background-color: #222222;
+ background-image: -ms-linear-gradient(top, #333333, #222222);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));
+ background-image: -webkit-linear-gradient(top, #333333, #222222);
+ background-image: -o-linear-gradient(top, #333333, #222222);
+ background-image: linear-gradient(top, #333333, #222222);
+ background-image: -moz-linear-gradient(top, #333333, #222222);
+ background-repeat: repeat-x;
+ border-color: #222222 #222222 #000000;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ filter: progid:dximagetransform.microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);
+ filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
+}
+
+.navbar .btn-navbar:hover,
+.navbar .btn-navbar:active,
+.navbar .btn-navbar.active,
+.navbar .btn-navbar.disabled,
+.navbar .btn-navbar[disabled] {
+ background-color: #222222;
+ *background-color: #151515;
+}
+
+.navbar .btn-navbar:active,
+.navbar .btn-navbar.active {
+ background-color: #080808 \9;
+}
+
+.navbar .btn-navbar .icon-bar {
+ display: block;
+ width: 18px;
+ height: 2px;
+ background-color: #f5f5f5;
+ -webkit-border-radius: 1px;
+ -moz-border-radius: 1px;
+ border-radius: 1px;
+ -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
+ -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
+ box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
+}
+
+.btn-navbar .icon-bar + .icon-bar {
+ margin-top: 3px;
+}
+
+.navbar .dropdown-menu:before {
+ position: absolute;
+ top: -7px;
+ left: 9px;
+ display: inline-block;
+ border-right: 7px solid transparent;
+ border-bottom: 7px solid #ccc;
+ border-left: 7px solid transparent;
+ border-bottom-color: rgba(0, 0, 0, 0.2);
+ content: '';
+}
+
+.navbar .dropdown-menu:after {
+ position: absolute;
+ top: -6px;
+ left: 10px;
+ display: inline-block;
+ border-right: 6px solid transparent;
+ border-bottom: 6px solid #ffffff;
+ border-left: 6px solid transparent;
+ content: '';
+}
+
+.navbar-fixed-bottom .dropdown-menu:before {
+ top: auto;
+ bottom: -7px;
+ border-top: 7px solid #ccc;
+ border-bottom: 0;
+ border-top-color: rgba(0, 0, 0, 0.2);
+}
+
+.navbar-fixed-bottom .dropdown-menu:after {
+ top: auto;
+ bottom: -6px;
+ border-top: 6px solid #ffffff;
+ border-bottom: 0;
+}
+
+.navbar .nav li.dropdown .dropdown-toggle .caret,
+.navbar .nav li.dropdown.open .caret {
+ border-top-color: #ffffff;
+ border-bottom-color: #ffffff;
+}
+
+.navbar .nav li.dropdown.active .caret {
+ opacity: 1;
+ filter: alpha(opacity=100);
+}
+
+.navbar .nav li.dropdown.open > .dropdown-toggle,
+.navbar .nav li.dropdown.active > .dropdown-toggle,
+.navbar .nav li.dropdown.open.active > .dropdown-toggle {
+ background-color: transparent;
+}
+
+.navbar .nav li.dropdown.active > .dropdown-toggle:hover {
+ color: #ffffff;
+}
+
+.navbar .pull-right .dropdown-menu,
+.navbar .dropdown-menu.pull-right {
+ right: 0;
+ left: auto;
+}
+
+.navbar .pull-right .dropdown-menu:before,
+.navbar .dropdown-menu.pull-right:before {
+ right: 12px;
+ left: auto;
+}
+
+.navbar .pull-right .dropdown-menu:after,
+.navbar .dropdown-menu.pull-right:after {
+ right: 13px;
+ left: auto;
+}
+
+.breadcrumb {
+ padding: 7px 14px;
+ margin: 0 0 18px;
+ list-style: none;
+ background-color: #fbfbfb;
+ background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);
+ background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5));
+ background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5);
+ background-image: -o-linear-gradient(top, #ffffff, #f5f5f5);
+ background-image: linear-gradient(top, #ffffff, #f5f5f5);
+ background-repeat: repeat-x;
+ border: 1px solid #ddd;
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+ filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0);
+ -webkit-box-shadow: inset 0 1px 0 #ffffff;
+ -moz-box-shadow: inset 0 1px 0 #ffffff;
+ box-shadow: inset 0 1px 0 #ffffff;
+}
+
+.breadcrumb li {
+ display: inline-block;
+ *display: inline;
+ text-shadow: 0 1px 0 #ffffff;
+ *zoom: 1;
+}
+
+.breadcrumb .divider {
+ padding: 0 5px;
+ color: #999999;
+}
+
+.breadcrumb .active a {
+ color: #333333;
+}
+
+.pagination {
+ height: 36px;
+ margin: 18px 0;
+}
+
+.pagination ul {
+ display: inline-block;
+ *display: inline;
+ margin-bottom: 0;
+ margin-left: 0;
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+ *zoom: 1;
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
+}
+
+.pagination li {
+ display: inline;
+}
+
+.pagination a {
+ float: left;
+ padding: 0 14px;
+ line-height: 34px;
+ text-decoration: none;
+ border: 1px solid #ddd;
+ border-left-width: 0;
+}
+
+.pagination a:hover,
+.pagination .active a {
+ background-color: #f5f5f5;
+}
+
+.pagination .active a {
+ color: #999999;
+ cursor: default;
+}
+
+.pagination .disabled span,
+.pagination .disabled a,
+.pagination .disabled a:hover {
+ color: #999999;
+ cursor: default;
+ background-color: transparent;
+}
+
+.pagination li:first-child a {
+ border-left-width: 1px;
+ -webkit-border-radius: 3px 0 0 3px;
+ -moz-border-radius: 3px 0 0 3px;
+ border-radius: 3px 0 0 3px;
+}
+
+.pagination li:last-child a {
+ -webkit-border-radius: 0 3px 3px 0;
+ -moz-border-radius: 0 3px 3px 0;
+ border-radius: 0 3px 3px 0;
+}
+
+.pagination-centered {
+ text-align: center;
+}
+
+.pagination-right {
+ text-align: right;
+}
+
+.pager {
+ margin-bottom: 18px;
+ margin-left: 0;
+ text-align: center;
+ list-style: none;
+ *zoom: 1;
+}
+
+.pager:before,
+.pager:after {
+ display: table;
+ content: "";
+}
+
+.pager:after {
+ clear: both;
+}
+
+.pager li {
+ display: inline;
+}
+
+.pager a {
+ display: inline-block;
+ padding: 5px 14px;
+ background-color: #fff;
+ border: 1px solid #ddd;
+ -webkit-border-radius: 15px;
+ -moz-border-radius: 15px;
+ border-radius: 15px;
+}
+
+.pager a:hover {
+ text-decoration: none;
+ background-color: #f5f5f5;
+}
+
+.pager .next a {
+ float: right;
+}
+
+.pager .previous a {
+ float: left;
+}
+
+.pager .disabled a,
+.pager .disabled a:hover {
+ color: #999999;
+ cursor: default;
+ background-color: #fff;
+}
+
+.modal-open .dropdown-menu {
+ z-index: 2050;
+}
+
+.modal-open .dropdown.open {
+ *z-index: 2050;
+}
+
+.modal-open .popover {
+ z-index: 2060;
+}
+
+.modal-open .tooltip {
+ z-index: 2070;
+}
+
+.modal-backdrop {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1040;
+ background-color: #000000;
+}
+
+.modal-backdrop.fade {
+ opacity: 0;
+}
+
+.modal-backdrop,
+.modal-backdrop.fade.in {
+ opacity: 0.8;
+ filter: alpha(opacity=80);
+}
+
+.modal {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ z-index: 1050;
+ width: 560px;
+ margin: -250px 0 0 -280px;
+ overflow: auto;
+ background-color: #ffffff;
+ border: 1px solid #999;
+ border: 1px solid rgba(0, 0, 0, 0.3);
+ *border: 1px solid #999;
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px;
+ -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+ -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+ box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+ -webkit-background-clip: padding-box;
+ -moz-background-clip: padding-box;
+ background-clip: padding-box;
+}
+
+.modal.fade {
+ top: -25%;
+ -webkit-transition: opacity 0.3s linear, top 0.3s ease-out;
+ -moz-transition: opacity 0.3s linear, top 0.3s ease-out;
+ -ms-transition: opacity 0.3s linear, top 0.3s ease-out;
+ -o-transition: opacity 0.3s linear, top 0.3s ease-out;
+ transition: opacity 0.3s linear, top 0.3s ease-out;
+}
+
+.modal.fade.in {
+ top: 50%;
+}
+
+.modal-header {
+ padding: 9px 15px;
+ border-bottom: 1px solid #eee;
+}
+
+.modal-header .close {
+ margin-top: 2px;
+}
+
+.modal-body {
+ max-height: 400px;
+ padding: 15px;
+ overflow-y: auto;
+}
+
+.modal-form {
+ margin-bottom: 0;
+}
+
+.modal-footer {
+ padding: 14px 15px 15px;
+ margin-bottom: 0;
+ text-align: right;
+ background-color: #f5f5f5;
+ border-top: 1px solid #ddd;
+ -webkit-border-radius: 0 0 6px 6px;
+ -moz-border-radius: 0 0 6px 6px;
+ border-radius: 0 0 6px 6px;
+ *zoom: 1;
+ -webkit-box-shadow: inset 0 1px 0 #ffffff;
+ -moz-box-shadow: inset 0 1px 0 #ffffff;
+ box-shadow: inset 0 1px 0 #ffffff;
+}
+
+.modal-footer:before,
+.modal-footer:after {
+ display: table;
+ content: "";
+}
+
+.modal-footer:after {
+ clear: both;
+}
+
+.modal-footer .btn + .btn {
+ margin-bottom: 0;
+ margin-left: 5px;
+}
+
+.modal-footer .btn-group .btn + .btn {
+ margin-left: -1px;
+}
+
+.tooltip {
+ position: absolute;
+ z-index: 1020;
+ display: block;
+ padding: 5px;
+ font-size: 11px;
+ opacity: 0;
+ filter: alpha(opacity=0);
+ visibility: visible;
+}
+
+.tooltip.in {
+ opacity: 0.8;
+ filter: alpha(opacity=80);
+}
+
+.tooltip.top {
+ margin-top: -2px;
+}
+
+.tooltip.right {
+ margin-left: 2px;
+}
+
+.tooltip.bottom {
+ margin-top: 2px;
+}
+
+.tooltip.left {
+ margin-left: -2px;
+}
+
+.tooltip.top .tooltip-arrow {
+ bottom: 0;
+ left: 50%;
+ margin-left: -5px;
+ border-top: 5px solid #000000;
+ border-right: 5px solid transparent;
+ border-left: 5px solid transparent;
+}
+
+.tooltip.left .tooltip-arrow {
+ top: 50%;
+ right: 0;
+ margin-top: -5px;
+ border-top: 5px solid transparent;
+ border-bottom: 5px solid transparent;
+ border-left: 5px solid #000000;
+}
+
+.tooltip.bottom .tooltip-arrow {
+ top: 0;
+ left: 50%;
+ margin-left: -5px;
+ border-right: 5px solid transparent;
+ border-bottom: 5px solid #000000;
+ border-left: 5px solid transparent;
+}
+
+.tooltip.right .tooltip-arrow {
+ top: 50%;
+ left: 0;
+ margin-top: -5px;
+ border-top: 5px solid transparent;
+ border-right: 5px solid #000000;
+ border-bottom: 5px solid transparent;
+}
+
+.tooltip-inner {
+ max-width: 200px;
+ padding: 3px 8px;
+ color: #ffffff;
+ text-align: center;
+ text-decoration: none;
+ background-color: #000000;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+
+.tooltip-arrow {
+ position: absolute;
+ width: 0;
+ height: 0;
+}
+
+.popover {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 1010;
+ display: none;
+ padding: 5px;
+}
+
+.popover.top {
+ margin-top: -5px;
+}
+
+.popover.right {
+ margin-left: 5px;
+}
+
+.popover.bottom {
+ margin-top: 5px;
+}
+
+.popover.left {
+ margin-left: -5px;
+}
+
+.popover.top .arrow {
+ bottom: 0;
+ left: 50%;
+ margin-left: -5px;
+ border-top: 5px solid #000000;
+ border-right: 5px solid transparent;
+ border-left: 5px solid transparent;
+}
+
+.popover.right .arrow {
+ top: 50%;
+ left: 0;
+ margin-top: -5px;
+ border-top: 5px solid transparent;
+ border-right: 5px solid #000000;
+ border-bottom: 5px solid transparent;
+}
+
+.popover.bottom .arrow {
+ top: 0;
+ left: 50%;
+ margin-left: -5px;
+ border-right: 5px solid transparent;
+ border-bottom: 5px solid #000000;
+ border-left: 5px solid transparent;
+}
+
+.popover.left .arrow {
+ top: 50%;
+ right: 0;
+ margin-top: -5px;
+ border-top: 5px solid transparent;
+ border-bottom: 5px solid transparent;
+ border-left: 5px solid #000000;
+}
+
+.popover .arrow {
+ position: absolute;
+ width: 0;
+ height: 0;
+}
+
+.popover-inner {
+ width: 280px;
+ padding: 3px;
+ overflow: hidden;
+ background: #000000;
+ background: rgba(0, 0, 0, 0.8);
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px;
+ -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+ -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+ box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+}
+
+.popover-title {
+ padding: 9px 15px;
+ line-height: 1;
+ background-color: #f5f5f5;
+ border-bottom: 1px solid #eee;
+ -webkit-border-radius: 3px 3px 0 0;
+ -moz-border-radius: 3px 3px 0 0;
+ border-radius: 3px 3px 0 0;
+}
+
+.popover-content {
+ padding: 14px;
+ background-color: #ffffff;
+ -webkit-border-radius: 0 0 3px 3px;
+ -moz-border-radius: 0 0 3px 3px;
+ border-radius: 0 0 3px 3px;
+ -webkit-background-clip: padding-box;
+ -moz-background-clip: padding-box;
+ background-clip: padding-box;
+}
+
+.popover-content p,
+.popover-content ul,
+.popover-content ol {
+ margin-bottom: 0;
+}
+
+.thumbnails {
+ margin-left: -20px;
+ list-style: none;
+ *zoom: 1;
+}
+
+.thumbnails:before,
+.thumbnails:after {
+ display: table;
+ content: "";
+}
+
+.thumbnails:after {
+ clear: both;
+}
+
+.row-fluid .thumbnails {
+ margin-left: 0;
+}
+
+.thumbnails > li {
+ float: left;
+ margin-bottom: 18px;
+ margin-left: 20px;
+}
+
+.thumbnail {
+ display: block;
+ padding: 4px;
+ line-height: 1;
+ border: 1px solid #ddd;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+ -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);
+ -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+
+a.thumbnail:hover {
+ border-color: #0088cc;
+ -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
+ -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
+ box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
+}
+
+.thumbnail > img {
+ display: block;
+ max-width: 100%;
+ margin-right: auto;
+ margin-left: auto;
+}
+
+.thumbnail .caption {
+ padding: 9px;
+}
+
+.label,
+.badge {
+ font-size: 10.998px;
+ font-weight: bold;
+ line-height: 14px;
+ color: #ffffff;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+ white-space: nowrap;
+ vertical-align: baseline;
+ background-color: #999999;
+}
+
+.label {
+ padding: 1px 4px 2px;
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+}
+
+.badge {
+ padding: 1px 9px 2px;
+ -webkit-border-radius: 9px;
+ -moz-border-radius: 9px;
+ border-radius: 9px;
+}
+
+a.label:hover,
+a.badge:hover {
+ color: #ffffff;
+ text-decoration: none;
+ cursor: pointer;
+}
+
+.label-important,
+.badge-important {
+ background-color: #b94a48;
+}
+
+.label-important[href],
+.badge-important[href] {
+ background-color: #953b39;
+}
+
+.label-warning,
+.badge-warning {
+ background-color: #f89406;
+}
+
+.label-warning[href],
+.badge-warning[href] {
+ background-color: #c67605;
+}
+
+.label-success,
+.badge-success {
+ background-color: #468847;
+}
+
+.label-success[href],
+.badge-success[href] {
+ background-color: #356635;
+}
+
+.label-info,
+.badge-info {
+ background-color: #3a87ad;
+}
+
+.label-info[href],
+.badge-info[href] {
+ background-color: #2d6987;
+}
+
+.label-inverse,
+.badge-inverse {
+ background-color: #333333;
+}
+
+.label-inverse[href],
+.badge-inverse[href] {
+ background-color: #1a1a1a;
+}
+
+@-webkit-keyframes progress-bar-stripes {
+ from {
+ background-position: 40px 0;
+ }
+ to {
+ background-position: 0 0;
+ }
+}
+
+@-moz-keyframes progress-bar-stripes {
+ from {
+ background-position: 40px 0;
+ }
+ to {
+ background-position: 0 0;
+ }
+}
+
+@-ms-keyframes progress-bar-stripes {
+ from {
+ background-position: 40px 0;
+ }
+ to {
+ background-position: 0 0;
+ }
+}
+
+@-o-keyframes progress-bar-stripes {
+ from {
+ background-position: 0 0;
+ }
+ to {
+ background-position: 40px 0;
+ }
+}
+
+@keyframes progress-bar-stripes {
+ from {
+ background-position: 40px 0;
+ }
+ to {
+ background-position: 0 0;
+ }
+}
+
+.progress {
+ height: 18px;
+ margin-bottom: 18px;
+ overflow: hidden;
+ background-color: #f7f7f7;
+ background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
+ background-image: -ms-linear-gradient(top, #f5f5f5, #f9f9f9);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
+ background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
+ background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
+ background-image: linear-gradient(top, #f5f5f5, #f9f9f9);
+ background-repeat: repeat-x;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+ filter: progid:dximagetransform.microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f9f9f9', GradientType=0);
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+ -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+}
+
+.progress .bar {
+ width: 0;
+ height: 18px;
+ font-size: 12px;
+ color: #ffffff;
+ text-align: center;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+ background-color: #0e90d2;
+ background-image: -moz-linear-gradient(top, #149bdf, #0480be);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));
+ background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
+ background-image: -o-linear-gradient(top, #149bdf, #0480be);
+ background-image: linear-gradient(top, #149bdf, #0480be);
+ background-image: -ms-linear-gradient(top, #149bdf, #0480be);
+ background-repeat: repeat-x;
+ filter: progid:dximagetransform.microsoft.gradient(startColorstr='#149bdf', endColorstr='#0480be', GradientType=0);
+ -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+ -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+ box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+ -webkit-transition: width 0.6s ease;
+ -moz-transition: width 0.6s ease;
+ -ms-transition: width 0.6s ease;
+ -o-transition: width 0.6s ease;
+ transition: width 0.6s ease;
+}
+
+.progress-striped .bar {
+ background-color: #149bdf;
+ background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+ background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ -webkit-background-size: 40px 40px;
+ -moz-background-size: 40px 40px;
+ -o-background-size: 40px 40px;
+ background-size: 40px 40px;
+}
+
+.progress.active .bar {
+ -webkit-animation: progress-bar-stripes 2s linear infinite;
+ -moz-animation: progress-bar-stripes 2s linear infinite;
+ -ms-animation: progress-bar-stripes 2s linear infinite;
+ -o-animation: progress-bar-stripes 2s linear infinite;
+ animation: progress-bar-stripes 2s linear infinite;
+}
+
+.progress-danger .bar {
+ background-color: #dd514c;
+ background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
+ background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));
+ background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
+ background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
+ background-image: linear-gradient(top, #ee5f5b, #c43c35);
+ background-repeat: repeat-x;
+ filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);
+}
+
+.progress-danger.progress-striped .bar {
+ background-color: #ee5f5b;
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+ background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+
+.progress-success .bar {
+ background-color: #5eb95e;
+ background-image: -moz-linear-gradient(top, #62c462, #57a957);
+ background-image: -ms-linear-gradient(top, #62c462, #57a957);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));
+ background-image: -webkit-linear-gradient(top, #62c462, #57a957);
+ background-image: -o-linear-gradient(top, #62c462, #57a957);
+ background-image: linear-gradient(top, #62c462, #57a957);
+ background-repeat: repeat-x;
+ filter: progid:dximagetransform.microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);
+}
+
+.progress-success.progress-striped .bar {
+ background-color: #62c462;
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+ background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+
+.progress-info .bar {
+ background-color: #4bb1cf;
+ background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
+ background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));
+ background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
+ background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
+ background-image: linear-gradient(top, #5bc0de, #339bb9);
+ background-repeat: repeat-x;
+ filter: progid:dximagetransform.microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);
+}
+
+.progress-info.progress-striped .bar {
+ background-color: #5bc0de;
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+ background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+
+.progress-warning .bar {
+ background-color: #faa732;
+ background-image: -moz-linear-gradient(top, #fbb450, #f89406);
+ background-image: -ms-linear-gradient(top, #fbb450, #f89406);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
+ background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
+ background-image: -o-linear-gradient(top, #fbb450, #f89406);
+ background-image: linear-gradient(top, #fbb450, #f89406);
+ background-repeat: repeat-x;
+ filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);
+}
+
+.progress-warning.progress-striped .bar {
+ background-color: #fbb450;
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+ background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+
+.accordion {
+ margin-bottom: 18px;
+}
+
+.accordion-group {
+ margin-bottom: 2px;
+ border: 1px solid #e5e5e5;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+
+.accordion-heading {
+ border-bottom: 0;
+}
+
+.accordion-heading .accordion-toggle {
+ display: block;
+ padding: 8px 15px;
+}
+
+.accordion-toggle {
+ cursor: pointer;
+}
+
+.accordion-inner {
+ padding: 9px 15px;
+ border-top: 1px solid #e5e5e5;
+}
+
+.carousel {
+ position: relative;
+ margin-bottom: 18px;
+ line-height: 1;
+}
+
+.carousel-inner {
+ position: relative;
+ width: 100%;
+ overflow: hidden;
+}
+
+.carousel .item {
+ position: relative;
+ display: none;
+ -webkit-transition: 0.6s ease-in-out left;
+ -moz-transition: 0.6s ease-in-out left;
+ -ms-transition: 0.6s ease-in-out left;
+ -o-transition: 0.6s ease-in-out left;
+ transition: 0.6s ease-in-out left;
+}
+
+.carousel .item > img {
+ display: block;
+ line-height: 1;
+}
+
+.carousel .active,
+.carousel .next,
+.carousel .prev {
+ display: block;
+}
+
+.carousel .active {
+ left: 0;
+}
+
+.carousel .next,
+.carousel .prev {
+ position: absolute;
+ top: 0;
+ width: 100%;
+}
+
+.carousel .next {
+ left: 100%;
+}
+
+.carousel .prev {
+ left: -100%;
+}
+
+.carousel .next.left,
+.carousel .prev.right {
+ left: 0;
+}
+
+.carousel .active.left {
+ left: -100%;
+}
+
+.carousel .active.right {
+ left: 100%;
+}
+
+.carousel-control {
+ position: absolute;
+ top: 40%;
+ left: 15px;
+ width: 40px;
+ height: 40px;
+ margin-top: -20px;
+ font-size: 60px;
+ font-weight: 100;
+ line-height: 30px;
+ color: #ffffff;
+ text-align: center;
+ background: #222222;
+ border: 3px solid #ffffff;
+ -webkit-border-radius: 23px;
+ -moz-border-radius: 23px;
+ border-radius: 23px;
+ opacity: 0.5;
+ filter: alpha(opacity=50);
+}
+
+.carousel-control.right {
+ right: 15px;
+ left: auto;
+}
+
+.carousel-control:hover {
+ color: #ffffff;
+ text-decoration: none;
+ opacity: 0.9;
+ filter: alpha(opacity=90);
+}
+
+.carousel-caption {
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ padding: 10px 15px 5px;
+ background: #333333;
+ background: rgba(0, 0, 0, 0.75);
+}
+
+.carousel-caption h4,
+.carousel-caption p {
+ color: #ffffff;
+}
+
+.hero-unit {
+ padding: 60px;
+ margin-bottom: 30px;
+ background-color: #eeeeee;
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px;
+}
+
+.hero-unit h1 {
+ margin-bottom: 0;
+ font-size: 60px;
+ line-height: 1;
+ letter-spacing: -1px;
+ color: inherit;
+}
+
+.hero-unit p {
+ font-size: 18px;
+ font-weight: 200;
+ line-height: 27px;
+ color: inherit;
+}
+
+.pull-right {
+ float: right;
+}
+
+.pull-left {
+ float: left;
+}
+
+.hide {
+ display: none;
+}
+
+.show {
+ display: block;
+}
+
+.invisible {
+ visibility: hidden;
+}
diff --git a/docs/css/bootstrap.min.css b/docs/css/bootstrap.min.css
new file mode 100644
index 00000000..b74b4546
--- /dev/null
+++ b/docs/css/bootstrap.min.css
@@ -0,0 +1,9 @@
+/*!
+ * Bootstrap v2.0.4
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:28px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover{color:#005580;text-decoration:underline}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;content:""}.row:after{clear:both}[class*="span"]{float:left;margin-left:20px}.container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:28px;margin-left:2.127659574%;*margin-left:2.0744680846382977%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .span12{width:99.99999998999999%;*width:99.94680850063828%}.row-fluid .span11{width:91.489361693%;*width:91.4361702036383%}.row-fluid .span10{width:82.97872339599999%;*width:82.92553190663828%}.row-fluid .span9{width:74.468085099%;*width:74.4148936096383%}.row-fluid .span8{width:65.95744680199999%;*width:65.90425531263828%}.row-fluid .span7{width:57.446808505%;*width:57.3936170156383%}.row-fluid .span6{width:48.93617020799999%;*width:48.88297871863829%}.row-fluid .span5{width:40.425531911%;*width:40.3723404216383%}.row-fluid .span4{width:31.914893614%;*width:31.8617021246383%}.row-fluid .span3{width:23.404255317%;*width:23.3510638276383%}.row-fluid .span2{width:14.89361702%;*width:14.8404255306383%}.row-fluid .span1{width:6.382978723%;*width:6.329787233638298%}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;content:""}.container-fluid:after{clear:both}p{margin:0 0 9px}p small{font-size:11px;color:#999}.lead{margin-bottom:18px;font-size:20px;font-weight:200;line-height:27px}h1,h2,h3,h4,h5,h6{margin:0;font-family:inherit;font-weight:bold;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;color:#999}h1{font-size:30px;line-height:36px}h1 small{font-size:18px}h2{font-size:24px;line-height:36px}h2 small{font-size:18px}h3{font-size:18px;line-height:27px}h3 small{font-size:14px}h4,h5,h6{line-height:18px}h4{font-size:14px}h4 small{font-size:12px}h5{font-size:12px}h6{font-size:11px;color:#999;text-transform:uppercase}.page-header{padding-bottom:17px;margin:18px 0;border-bottom:1px solid #eee}.page-header h1{line-height:1}ul,ol{padding:0;margin:0 0 9px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}ul{list-style:disc}ol{list-style:decimal}li{line-height:18px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}dl{margin-bottom:18px}dt,dd{line-height:18px}dt{font-weight:bold;line-height:17px}dd{margin-left:9px}.dl-horizontal dt{float:left;width:120px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:130px}hr{margin:18px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}strong{font-weight:bold}em{font-style:italic}.muted{color:#999}abbr[title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 18px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:22.5px}blockquote small{display:block;line-height:18px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:18px;font-style:normal;line-height:18px}small{font-size:100%}cite{font-style:normal}code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12.025px;line-height:18px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:18px}pre code{padding:0;color:inherit;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 18px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:13.5px;color:#999}label,input,button,select,textarea{font-size:13px;font-weight:normal;line-height:18px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:18px;padding:4px;margin-bottom:9px;font-size:13px;line-height:18px;color:#555}input,textarea{width:210px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-ms-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:3px 0;*margin-top:0;line-height:normal;cursor:pointer}input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}.uneditable-textarea{width:auto;height:auto}select,input[type="file"]{height:28px;*margin-top:4px;line-height:28px}select{width:220px;border:1px solid #bbb}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.radio,.checkbox{min-height:18px;padding-left:18px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-18px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}input.span12,textarea.span12,.uneditable-input.span12{width:930px}input.span11,textarea.span11,.uneditable-input.span11{width:850px}input.span10,textarea.span10,.uneditable-input.span10{width:770px}input.span9,textarea.span9,.uneditable-input.span9{width:690px}input.span8,textarea.span8,.uneditable-input.span8{width:610px}input.span7,textarea.span7,.uneditable-input.span7{width:530px}input.span6,textarea.span6,.uneditable-input.span6{width:450px}input.span5,textarea.span5,.uneditable-input.span5{width:370px}input.span4,textarea.span4,.uneditable-input.span4{width:290px}input.span3,textarea.span3,.uneditable-input.span3{width:210px}input.span2,textarea.span2,.uneditable-input.span2{width:130px}input.span1,textarea.span1,.uneditable-input.span1{width:50px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee;border-color:#ddd}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning>label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853;border-color:#c09853}.control-group.warning .checkbox:focus,.control-group.warning .radio:focus,.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:0 0 6px #dbc59e;-moz-box-shadow:0 0 6px #dbc59e;box-shadow:0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error>label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48;border-color:#b94a48}.control-group.error .checkbox:focus,.control-group.error .radio:focus,.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:0 0 6px #d59392;-moz-box-shadow:0 0 6px #d59392;box-shadow:0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success>label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847;border-color:#468847}.control-group.success .checkbox:focus,.control-group.success .radio:focus,.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:0 0 6px #7aba7b;-moz-box-shadow:0 0 6px #7aba7b;box-shadow:0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}input:focus:required:invalid,textarea:focus:required:invalid,select:focus:required:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:required:invalid:focus,textarea:focus:required:invalid:focus,select:focus:required:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:17px 20px 18px;margin-top:18px;margin-bottom:18px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;content:""}.form-actions:after{clear:both}.uneditable-input{overflow:hidden;white-space:nowrap;cursor:not-allowed;background-color:#fff;border-color:#eee;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}:-moz-placeholder{color:#999}:-ms-input-placeholder{color:#999}::-webkit-input-placeholder{color:#999}.help-block,.help-inline{color:#555}.help-block{display:block;margin-bottom:9px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-prepend,.input-append{margin-bottom:5px}.input-prepend input,.input-append input,.input-prepend select,.input-append select,.input-prepend .uneditable-input,.input-append .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:middle;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-prepend input:focus,.input-append input:focus,.input-prepend select:focus,.input-append select:focus,.input-prepend .uneditable-input:focus,.input-append .uneditable-input:focus{z-index:2}.input-prepend .uneditable-input,.input-append .uneditable-input{border-left-color:#ccc}.input-prepend .add-on,.input-append .add-on{display:inline-block;width:auto;height:18px;min-width:16px;padding:4px 5px;font-weight:normal;line-height:18px;text-align:center;text-shadow:0 1px 0 #fff;vertical-align:middle;background-color:#eee;border:1px solid #ccc}.input-prepend .add-on,.input-append .add-on,.input-prepend .btn,.input-append .btn{margin-left:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend .active,.input-append .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-append .uneditable-input{border-right-color:#ccc;border-left-color:#eee}.input-append .add-on:last-child,.input-append .btn:last-child{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:9px}legend+.control-group{margin-top:18px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:18px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:140px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:160px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:160px}.form-horizontal .help-block{margin-top:9px;margin-bottom:0}.form-horizontal .form-actions{padding-left:160px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:18px}.table th,.table td{padding:8px;line-height:18px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapsed;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child th:first-child,.table-bordered tbody:first-child tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child th:last-child,.table-bordered tbody:first-child tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child th:first-child,.table-bordered tbody:last-child tr:last-child td:first-child{-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child th:last-child,.table-bordered tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-striped tbody tr:nth-child(odd) td,.table-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9}.table tbody tr:hover td,.table tbody tr:hover th{background-color:#f5f5f5}table .span1{float:none;width:44px;margin-left:0}table .span2{float:none;width:124px;margin-left:0}table .span3{float:none;width:204px;margin-left:0}table .span4{float:none;width:284px;margin-left:0}table .span5{float:none;width:364px;margin-left:0}table .span6{float:none;width:444px;margin-left:0}table .span7{float:none;width:524px;margin-left:0}table .span8{float:none;width:604px;margin-left:0}table .span9{float:none;width:684px;margin-left:0}table .span10{float:none;width:764px;margin-left:0}table .span11{float:none;width:844px;margin-left:0}table .span12{float:none;width:924px;margin-left:0}table .span13{float:none;width:1004px;margin-left:0}table .span14{float:none;width:1084px;margin-left:0}table .span15{float:none;width:1164px;margin-left:0}table .span16{float:none;width:1244px;margin-left:0}table .span17{float:none;width:1324px;margin-left:0}table .span18{float:none;width:1404px;margin-left:0}table .span19{float:none;width:1484px;margin-left:0}table .span20{float:none;width:1564px;margin-left:0}table .span21{float:none;width:1644px;margin-left:0}table .span22{float:none;width:1724px;margin-left:0}table .span23{float:none;width:1804px;margin-left:0}table .span24{float:none;width:1884px;margin-left:0}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}[class^="icon-"]:last-child,[class*=" icon-"]:last-child{*margin-left:0}.icon-white{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{background-position:-384px -120px}.icon-folder-open{background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:"";opacity:.3;filter:alpha(opacity=30)}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown:hover .caret,.open .caret{opacity:1;filter:alpha(opacity=100)}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:4px 0;margin:1px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:8px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu a{display:block;padding:3px 15px;clear:both;font-weight:normal;line-height:18px;color:#333;white-space:nowrap}.dropdown-menu li>a:hover,.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#fff;text-decoration:none;background-color:#08c}.open{*z-index:1000}.open>.dropdown-menu{display:block}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:"\2191"}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.typeahead{margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0,0,0,0.05);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-ms-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-ms-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:18px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 10px 4px;margin-bottom:0;*margin-left:.3em;font-size:13px;line-height:18px;*line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-ms-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(top,#fff,#e6e6e6);background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;*border:0;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ffffff',endColorstr='#e6e6e6',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover{color:#333;text-decoration:none;background-color:#e6e6e6;*background-color:#d9d9d9;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-ms-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-color:#e6e6e6;background-color:#d9d9d9 \9;background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-color:#e6e6e6;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:9px 14px;font-size:15px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.btn-large [class^="icon-"]{margin-top:1px}.btn-small{padding:5px 9px;font-size:11px;line-height:16px}.btn-small [class^="icon-"]{margin-top:-1px}.btn-mini{padding:2px 6px;font-size:11px;line-height:14px}.btn-primary,.btn-primary:hover,.btn-warning,.btn-warning:hover,.btn-danger,.btn-danger:hover,.btn-success,.btn-success:hover,.btn-info,.btn-info:hover,.btn-inverse,.btn-inverse:hover{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn{border-color:#ccc;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25)}.btn-primary{background-color:#0074cc;*background-color:#05c;background-image:-ms-linear-gradient(top,#08c,#05c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#05c));background-image:-webkit-linear-gradient(top,#08c,#05c);background-image:-o-linear-gradient(top,#08c,#05c);background-image:-moz-linear-gradient(top,#08c,#05c);background-image:linear-gradient(top,#08c,#05c);background-repeat:repeat-x;border-color:#05c #05c #003580;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#0088cc',endColorstr='#0055cc',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{background-color:#05c;*background-color:#004ab3}.btn-primary:active,.btn-primary.active{background-color:#004099 \9}.btn-warning{background-color:#faa732;*background-color:#f89406;background-image:-ms-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(top,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#fbb450',endColorstr='#f89406',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{background-color:#da4f49;*background-color:#bd362f;background-image:-ms-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(top,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ee5f5b',endColorstr='#bd362f',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{background-color:#5bb75b;*background-color:#51a351;background-image:-ms-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(top,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#62c462',endColorstr='#51a351',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{background-color:#49afcd;*background-color:#2f96b4;background-image:-ms-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(top,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#5bc0de',endColorstr='#2f96b4',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{background-color:#414141;*background-color:#222;background-image:-ms-linear-gradient(top,#555,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#555),to(#222));background-image:-webkit-linear-gradient(top,#555,#222);background-image:-o-linear-gradient(top,#555,#222);background-image:-moz-linear-gradient(top,#555,#222);background-image:linear-gradient(top,#555,#222);background-repeat:repeat-x;border-color:#222 #222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#555555',endColorstr='#222222',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:2px;*padding-bottom:2px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-group{position:relative;*margin-left:.3em;*zoom:1}.btn-group:before,.btn-group:after{display:table;content:""}.btn-group:after{clear:both}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:9px;margin-bottom:9px}.btn-toolbar .btn-group{display:inline-block;*display:inline;*zoom:1}.btn-group>.btn{position:relative;float:left;margin-left:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.dropdown-toggle{*padding-top:4px;padding-right:8px;*padding-bottom:4px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini.dropdown-toggle{padding-right:5px;padding-left:5px}.btn-group>.btn-small.dropdown-toggle{*padding-top:4px;*padding-bottom:4px}.btn-group>.btn-large.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#05c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:7px;margin-left:0}.btn:hover .caret,.open.btn-group .caret{opacity:1;filter:alpha(opacity=100)}.btn-mini .caret{margin-top:5px}.btn-small .caret{margin-top:6px}.btn-large .caret{margin-top:6px;border-top-width:5px;border-right-width:5px;border-left-width:5px}.dropup .btn-large .caret{border-top:0;border-bottom:5px solid #000}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:.75;filter:alpha(opacity=75)}.alert{padding:8px 35px 8px 14px;margin-bottom:18px;color:#c09853;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert-heading{color:inherit}.alert .close{position:relative;top:-2px;right:-21px;line-height:18px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:18px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>.pull-right{float:right}.nav .nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:18px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:8px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:18px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.nav-tabs.nav-stacked>li>a:hover{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px}.nav-pills .dropdown-menu{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-tabs .dropdown-toggle .caret,.nav-pills .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav-tabs .dropdown-toggle:hover .caret,.nav-pills .dropdown-toggle:hover .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .active .dropdown-toggle .caret,.nav-pills .active .dropdown-toggle .caret{border-top-color:#333;border-bottom-color:#333}.nav>.dropdown.active>a:hover{color:#000;cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover{border-color:#eee #ddd #eee #eee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover{border-color:#eee #eee #eee #ddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.navbar{*position:relative;*z-index:2;margin-bottom:18px;overflow:visible}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#2c2c2c;background-image:-moz-linear-gradient(top,#333,#222);background-image:-ms-linear-gradient(top,#333,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#333),to(#222));background-image:-webkit-linear-gradient(top,#333,#222);background-image:-o-linear-gradient(top,#333,#222);background-image:linear-gradient(top,#333,#222);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#333333',endColorstr='#222222',GradientType=0);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.25),inset 0 -1px 0 rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.25),inset 0 -1px 0 rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.25),inset 0 -1px 0 rgba(0,0,0,0.1)}.navbar .container{width:auto}.nav-collapse.collapse{height:auto}.navbar{color:#999}.navbar .brand:hover{text-decoration:none}.navbar .brand{display:block;float:left;padding:8px 20px 12px;margin-left:-20px;font-size:20px;font-weight:200;line-height:1;color:#999}.navbar .navbar-text{margin-bottom:0;line-height:40px}.navbar .navbar-link{color:#999}.navbar .navbar-link:hover{color:#fff}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn{margin:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:6px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:6px;margin-bottom:0}.navbar-search .search-query{padding:4px 9px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;color:#fff;background-color:#626262;border:1px solid #151515;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none}.navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-bottom{bottom:0}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right}.navbar .nav>li{display:block;float:left}.navbar .nav>li>a{float:none;padding:9px 10px 11px;line-height:19px;color:#999;text-decoration:none;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar .btn{display:inline-block;padding:4px 10px 4px;margin:5px 5px 6px;line-height:18px}.navbar .btn-group{padding:5px 5px 6px;margin:0}.navbar .nav>li>a:hover{color:#fff;text-decoration:none;background-color:transparent}.navbar .nav .active>a,.navbar .nav .active>a:hover{color:#fff;text-decoration:none;background-color:#222}.navbar .divider-vertical{width:1px;height:40px;margin:0 9px;overflow:hidden;background-color:#222;border-right:1px solid #333}.navbar .nav.pull-right{margin-right:0;margin-left:10px}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;background-color:#2c2c2c;*background-color:#222;background-image:-ms-linear-gradient(top,#333,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#333),to(#222));background-image:-webkit-linear-gradient(top,#333,#222);background-image:-o-linear-gradient(top,#333,#222);background-image:linear-gradient(top,#333,#222);background-image:-moz-linear-gradient(top,#333,#222);background-repeat:repeat-x;border-color:#222 #222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#333333',endColorstr='#222222',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{background-color:#222;*background-color:#151515}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#080808 \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown .dropdown-toggle .caret,.navbar .nav li.dropdown.open .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar .nav li.dropdown.active .caret{opacity:1;filter:alpha(opacity=100)}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{background-color:transparent}.navbar .nav li.dropdown.active>.dropdown-toggle:hover{color:#fff}.navbar .pull-right .dropdown-menu,.navbar .dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right .dropdown-menu:before,.navbar .dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right .dropdown-menu:after,.navbar .dropdown-menu.pull-right:after{right:13px;left:auto}.breadcrumb{padding:7px 14px;margin:0 0 18px;list-style:none;background-color:#fbfbfb;background-image:-moz-linear-gradient(top,#fff,#f5f5f5);background-image:-ms-linear-gradient(top,#fff,#f5f5f5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f5f5f5));background-image:-webkit-linear-gradient(top,#fff,#f5f5f5);background-image:-o-linear-gradient(top,#fff,#f5f5f5);background-image:linear-gradient(top,#fff,#f5f5f5);background-repeat:repeat-x;border:1px solid #ddd;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ffffff',endColorstr='#f5f5f5',GradientType=0);-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.breadcrumb li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb .divider{padding:0 5px;color:#999}.breadcrumb .active a{color:#333}.pagination{height:36px;margin:18px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination li{display:inline}.pagination a{float:left;padding:0 14px;line-height:34px;text-decoration:none;border:1px solid #ddd;border-left-width:0}.pagination a:hover,.pagination .active a{background-color:#f5f5f5}.pagination .active a{color:#999;cursor:default}.pagination .disabled span,.pagination .disabled a,.pagination .disabled a:hover{color:#999;cursor:default;background-color:transparent}.pagination li:first-child a{border-left-width:1px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.pagination li:last-child a{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pager{margin-bottom:18px;margin-left:0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;content:""}.pager:after{clear:both}.pager li{display:inline}.pager a{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager a:hover{text-decoration:none;background-color:#f5f5f5}.pager .next a{float:right}.pager .previous a{float:left}.pager .disabled a,.pager .disabled a:hover{color:#999;cursor:default;background-color:#fff}.modal-open .dropdown-menu{z-index:2050}.modal-open .dropdown.open{*z-index:2050}.modal-open .popover{z-index:2060}.modal-open .tooltip{z-index:2070}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:50%;left:50%;z-index:1050;width:560px;margin:-250px 0 0 -280px;overflow:auto;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-ms-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:50%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-body{max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.tooltip{position:absolute;z-index:1020;display:block;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{margin-top:-2px}.tooltip.right{margin-left:2px}.tooltip.bottom{margin-top:2px}.tooltip.left{margin-left:-2px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top:5px solid #000;border-right:5px solid transparent;border-left:5px solid transparent}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-right:5px solid transparent;border-bottom:5px solid #000;border-left:5px solid transparent}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-right:5px solid #000;border-bottom:5px solid transparent}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;padding:5px}.popover.top{margin-top:-5px}.popover.right{margin-left:5px}.popover.bottom{margin-top:5px}.popover.left{margin-left:-5px}.popover.top .arrow{bottom:0;left:50%;margin-left:-5px;border-top:5px solid #000;border-right:5px solid transparent;border-left:5px solid transparent}.popover.right .arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-right:5px solid #000;border-bottom:5px solid transparent}.popover.bottom .arrow{top:0;left:50%;margin-left:-5px;border-right:5px solid transparent;border-bottom:5px solid #000;border-left:5px solid transparent}.popover.left .arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000}.popover .arrow{position:absolute;width:0;height:0}.popover-inner{width:280px;padding:3px;overflow:hidden;background:#000;background:rgba(0,0,0,0.8);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3)}.popover-title{padding:9px 15px;line-height:1;background-color:#f5f5f5;border-bottom:1px solid #eee;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}.popover-content{padding:14px;background-color:#fff;-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.popover-content p,.popover-content ul,.popover-content ol{margin-bottom:0}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;content:""}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:18px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:1;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:0 1px 1px rgba(0,0,0,0.075);box-shadow:0 1px 1px rgba(0,0,0,0.075)}a.thumbnail:hover{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail>img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px}.label,.badge{font-size:10.998px;font-weight:bold;line-height:14px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);white-space:nowrap;vertical-align:baseline;background-color:#999}.label{padding:1px 4px 2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding:1px 9px 2px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}a.label:hover,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:18px;margin-bottom:18px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-ms-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(top,#f5f5f5,#f9f9f9);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#f5f5f5',endColorstr='#f9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress .bar{width:0;height:18px;font-size:12px;color:#fff;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(top,#149bdf,#0480be);background-image:-ms-linear-gradient(top,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#149bdf',endColorstr='#0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-ms-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .bar{background-color:#149bdf;background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-ms-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(top,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ee5f5b',endColorstr='#c43c35',GradientType=0)}.progress-danger.progress-striped .bar{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-ms-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(top,#62c462,#57a957);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#62c462',endColorstr='#57a957',GradientType=0)}.progress-success.progress-striped .bar{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-ms-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(top,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#5bc0de',endColorstr='#339bb9',GradientType=0)}.progress-info.progress-striped .bar{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-ms-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(top,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#fbb450',endColorstr='#f89406',GradientType=0)}.progress-warning.progress-striped .bar{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:18px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:18px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel .item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-ms-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel .item>img{display:block;line-height:1}.carousel .active,.carousel .next,.carousel .prev{display:block}.carousel .active{left:0}.carousel .next,.carousel .prev{position:absolute;top:0;width:100%}.carousel .next{left:100%}.carousel .prev{left:-100%}.carousel .next.left,.carousel .prev.right{left:0}.carousel .active.left{left:-100%}.carousel .active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:10px 15px 5px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{color:#fff}.hero-unit{padding:60px;margin-bottom:30px;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit p{font-size:18px;font-weight:200;line-height:27px;color:inherit}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}
diff --git a/docs/css/highlight.css b/docs/css/highlight.css
new file mode 100644
index 00000000..cd3ead6f
--- /dev/null
+++ b/docs/css/highlight.css
@@ -0,0 +1,28 @@
+/* Syntax highlighting ---------------------------------------------------- */
+
+pre .input {
+ border-left: 3px solid #ccc;
+ padding-left: 0.5em;
+}
+pre .output {
+ background-color: #eee;
+}
+
+.number {color:rgb(21,20,181);}
+.functioncall {color:#264D66 ;}
+.string {color:#375D81 ;}
+.keyword {font-weight:bolder ;color:black;}
+.argument {color:#264D66 ;}
+.comment {color: #4C886B;}
+.formalargs {color: #264D66;}
+.eqformalargs {color:#264D66;}
+.slot {font-style:italic;}
+.symbol {color:black ;}
+.prompt {color:black ;}
+
+pre img {
+ background-color: #fff;
+ border: 1px solid #ccc;
+ display: block;
+ margin: 0.5em auto 0.5em auto;
+}
diff --git a/docs/css/staticdocs.css b/docs/css/staticdocs.css
new file mode 100644
index 00000000..15d74084
--- /dev/null
+++ b/docs/css/staticdocs.css
@@ -0,0 +1,25 @@
+h2 {padding-top: 20px}
+
+.icon img {
+ float: right;
+ border: 1px solid #ccc;
+}
+.index .internal {display: none;}
+ul.index li {margin-bottom: 0.5em; clear: both;}
+
+footer {
+ margin-top: 45px;
+ padding: 35px 0 36px;
+ border-top: 1px solid #e5e5e5;
+}
+footer p {
+ margin-bottom: 0;
+ color: #555;
+}
+
+.sidebar h2 {
+ font-size: 1.1em;
+ padding-top: 0.5em;
+}
+
+.sidebar li {margin-bottom: 0.5em;}
diff --git a/docs/endpoints.html b/docs/endpoints.html
new file mode 100644
index 00000000..376eefa9
--- /dev/null
+++ b/docs/endpoints.html
@@ -0,0 +1,121 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>endpoints. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="
+ Johannes Ranke
+">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+Function to calculate endpoints for further use from kinetic models fitted with mkinfit
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="functioncall"><a href='endpoints.html'>endpoints</a></span><span class="keyword">(</span><span class="symbol">fit</span><span class="keyword">)</span></pre>
+
+ <h2>Arguments</h2>
+ <dl>
+ <dt>fit</dt>
+ <dd>
+ An object of class <code><a href='mkinfit.html'>mkinfit</a></code>.
+ </dd>
+ </dl>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>This function calculates DT50 and DT90 values as well as formation fractions from kinetic models
+fitted with mkinfit. If the SFORB model was specified for one of the parents or metabolites,
+the Eigenvalues are returned. These are equivalent to the rate constantes of the DFOP model, but
+with the advantage that the SFORB model can also be used for metabolites.</p>
+
+ </div>
+
+ <div class="Note">
+ <h2>Note</h2>
+
+ <p>The function is used internally by <code><a href='summary.mkinfit.html'>summary.mkinfit</a></code>.</p>
+
+ </div>
+
+ <div class="Value">
+ <h2>Value</h2>
+
+ <p><dl>
+ A list with the components mentioned above.
+</dl></p>
+
+ </div>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>endpoints</li>
+ </ul>
+ <ul>
+ <li> manip </li>
+ </ul> -->
+
+
+
+ <h2>Author</h2>
+
+ Johannes Ranke
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/geometric_mean.html b/docs/geometric_mean.html
new file mode 100644
index 00000000..7b746fa3
--- /dev/null
+++ b/docs/geometric_mean.html
@@ -0,0 +1,114 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>geometric_mean. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1> Calculate the geometric mean </h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="functioncall"><a href='geometric_mean.html'>geometric_mean</a></span><span class="keyword">(</span><span class="symbol">x</span><span class="keyword">,</span> <span class="argument">na.rm</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">FALSE</span><span class="keyword">)</span></pre>
+
+ <h2>Arguments</h2>
+ <dl>
+ <dt>x</dt>
+ <dd> A numeric vector </dd>
+ <dt>na.rm</dt>
+ <dd> Should NA values be ignored </dd>
+ </dl>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>Function calculating the geometric mean of numeric vectors</p>
+
+ </div>
+
+ <div class="Value">
+ <h2>Value</h2>
+
+ <p><dl>
+ The geometric mean.
+</dl></p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'> <span class="functioncall"><a href='geometric_mean.html'>geometric_mean</a></span><span class="keyword">(</span><span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="number">1</span><span class="keyword">,</span><span class="number">3</span><span class="keyword">,</span> <span class="number">9</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<div class='output'>[1] 3
+</div>
+<div class='input'> <span class="functioncall"><a href='geometric_mean.html'>geometric_mean</a></span><span class="keyword">(</span><span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="number">1</span><span class="keyword">,</span><span class="number">3</span><span class="keyword">,</span> <span class="number">NA</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<div class='output'>[1] NA
+</div>
+<div class='input'> <span class="functioncall"><a href='geometric_mean.html'>geometric_mean</a></span><span class="keyword">(</span><span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="number">1</span><span class="keyword">,</span><span class="number">3</span><span class="keyword">,</span> <span class="number">NA</span><span class="keyword">)</span><span class="keyword">,</span> <span class="argument">na.rm</span> <span class="argument">=</span> <span class="number">TRUE</span><span class="keyword">)</span></div>
+<div class='output'>[1] 1.732051
+</div></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>geometric_mean</li>
+ </ul>
+ <ul>
+ <li> manip </li>
+ </ul> -->
+
+
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/ilr.html b/docs/ilr.html
new file mode 100644
index 00000000..c5fea9cb
--- /dev/null
+++ b/docs/ilr.html
@@ -0,0 +1,168 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>ilr. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="
+ René Lehmann and Johannes Ranke
+">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+ Function to perform isometric log-ratio transformation
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="functioncall"><a href='ilr.html'>ilr</a></span><span class="keyword">(</span><span class="symbol">x</span><span class="keyword">)</span>
+ <span class="functioncall"><a href='ilr.html'>invilr</a></span><span class="keyword">(</span><span class="symbol">x</span><span class="keyword">)</span></pre>
+
+ <h2>Arguments</h2>
+ <dl>
+ <dt>x</dt>
+ <dd>
+ A numeric vector. Naturally, the forward transformation is only sensible for
+ vectors with all elements being greater than zero.
+ </dd>
+ </dl>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>This implementation is a special case of the class of isometric log-ratio transformations.</p>
+
+ </div>
+
+ <div class="Value">
+ <h2>Value</h2>
+
+ <p><dl>
+ The result of the forward or backward transformation. The returned components always
+ sum to 1 for the case of the inverse log-ratio transformation.
+</dl></p>
+
+ </div>
+
+ <div class="References">
+ <h2>References</h2>
+
+ <p>Peter Filzmoser, Karel Hron (2008) Outlier Detection for Compositional Data Using Robust Methods. Math Geosci 40 233-248</p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'><span class="comment"># Order matters</span>
+<span class="functioncall"><a href='ilr.html'>ilr</a></span><span class="keyword">(</span><span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="number">0.1</span><span class="keyword">,</span> <span class="number">1</span><span class="keyword">,</span> <span class="number">10</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<div class='output'>[1] -1.628174 -2.820079
+</div>
+<div class='input'><span class="functioncall"><a href='ilr.html'>ilr</a></span><span class="keyword">(</span><span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="number">10</span><span class="keyword">,</span> <span class="number">1</span><span class="keyword">,</span> <span class="number">0.1</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<div class='output'>[1] 1.628174 2.820079
+</div>
+<div class='input'><span class="comment"># Equal entries give ilr transformations with zeros as elements</span>
+<span class="functioncall"><a href='ilr.html'>ilr</a></span><span class="keyword">(</span><span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="number">3</span><span class="keyword">,</span> <span class="number">3</span><span class="keyword">,</span> <span class="number">3</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<div class='output'>[1] 0 0
+</div>
+<div class='input'><span class="comment"># Almost equal entries give small numbers</span>
+<span class="functioncall"><a href='ilr.html'>ilr</a></span><span class="keyword">(</span><span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="number">0.3</span><span class="keyword">,</span> <span class="number">0.4</span><span class="keyword">,</span> <span class="number">0.3</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<div class='output'>[1] -0.2034219 0.1174457
+</div>
+<div class='input'><span class="comment"># Only the ratio between the numbers counts, not their sum</span>
+<span class="functioncall"><a href='ilr.html'>invilr</a></span><span class="keyword">(</span><span class="functioncall"><a href='ilr.html'>ilr</a></span><span class="keyword">(</span><span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="number">0.7</span><span class="keyword">,</span> <span class="number">0.29</span><span class="keyword">,</span> <span class="number">0.01</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<div class='output'>[1] 0.70 0.29 0.01
+</div>
+<div class='input'><span class="functioncall"><a href='ilr.html'>invilr</a></span><span class="keyword">(</span><span class="functioncall"><a href='ilr.html'>ilr</a></span><span class="keyword">(</span><span class="number">2.1</span> <span class="keyword">*</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="number">0.7</span><span class="keyword">,</span> <span class="number">0.29</span><span class="keyword">,</span> <span class="number">0.01</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<div class='output'>[1] 0.70 0.29 0.01
+</div>
+<div class='input'><span class="comment"># Inverse transformation of larger numbers gives unequal elements</span>
+<span class="functioncall"><a href='ilr.html'>invilr</a></span><span class="keyword">(</span><span class="keyword">-</span><span class="number">10</span><span class="keyword">)</span></div>
+<div class='output'>[1] 7.213536e-07 9.999993e-01
+</div>
+<div class='input'><span class="functioncall"><a href='ilr.html'>invilr</a></span><span class="keyword">(</span><span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="keyword">-</span><span class="number">10</span><span class="keyword">,</span> <span class="number">0</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<div class='output'>[1] 7.207415e-07 9.991507e-01 8.486044e-04
+</div>
+<div class='input'><span class="comment"># The sum of the elements of the inverse ilr is 1</span>
+<span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/sum'>sum</a></span><span class="keyword">(</span><span class="functioncall"><a href='ilr.html'>invilr</a></span><span class="keyword">(</span><span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="keyword">-</span><span class="number">10</span><span class="keyword">,</span> <span class="number">0</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<div class='output'>[1] 1
+</div>
+<div class='input'><span class="comment"># This is why we do not need all elements of the inverse transformation to go back:</span>
+<span class="symbol">a</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="number">0.1</span><span class="keyword">,</span> <span class="number">0.3</span><span class="keyword">,</span> <span class="number">0.5</span><span class="keyword">)</span>
+<span class="symbol">b</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='ilr.html'>invilr</a></span><span class="keyword">(</span><span class="symbol">a</span><span class="keyword">)</span>
+<span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/length'>length</a></span><span class="keyword">(</span><span class="symbol">b</span><span class="keyword">)</span> <span class="comment"># Four elements</span></div>
+<div class='output'>[1] 4
+</div>
+<div class='input'><span class="functioncall"><a href='ilr.html'>ilr</a></span><span class="keyword">(</span><span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="symbol">b</span><span class="keyword">[</span><span class="number">1</span><span class="keyword">:</span><span class="number">3</span><span class="keyword">]</span><span class="keyword">,</span> <span class="number">1</span> <span class="keyword">-</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/sum'>sum</a></span><span class="keyword">(</span><span class="symbol">b</span><span class="keyword">[</span><span class="number">1</span><span class="keyword">:</span><span class="number">3</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">)</span> <span class="comment"># Gives c(0.1, 0.3, 0.5)</span></div>
+<div class='output'>[1] 0.1 0.3 0.5
+</div></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>ilr</li><li>invilr</li>
+ </ul>
+ <ul>
+ <li> manip </li>
+ </ul> -->
+
+ <h2>See also</h2>
+ <p>Another implementation can be found in R package <code>robCompositions</code>.</p>
+
+
+
+ <h2>Author</h2>
+
+ René Lehmann and Johannes Ranke
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/img/glyphicons-halflings-white.png b/docs/img/glyphicons-halflings-white.png
new file mode 100644
index 00000000..3bf6484a
--- /dev/null
+++ b/docs/img/glyphicons-halflings-white.png
Binary files differ
diff --git a/docs/img/glyphicons-halflings.png b/docs/img/glyphicons-halflings.png
new file mode 100644
index 00000000..79bc568c
--- /dev/null
+++ b/docs/img/glyphicons-halflings.png
Binary files differ
diff --git a/docs/index.html b/docs/index.html
new file mode 100644
index 00000000..0f351a2d
--- /dev/null
+++ b/docs/index.html
@@ -0,0 +1,244 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>Home. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <div class="row">
+ <div class="span8">
+ <h1>mkin</h1>
+
+<p><a href="http://cran.r-project.org/package=mkin"><img src="http://www.r-pkg.org/badges/version/mkin" alt=""/></a></p>
+
+<p>The R package <strong>mkin</strong> provides calculation routines for the analysis of
+chemical degradation data, including <b>m</b>ulticompartment <b>kin</b>etics as
+needed for modelling the formation and decline of transformation products, or
+if several compartments are involved.</p>
+
+<h2>Installation</h2>
+
+<p>You can install the latest released version from
+<a href="http://cran.r-project.org/package=mkin">CRAN</a> from within R:</p>
+
+<pre><code class="r">install.packages(&quot;mkin&quot;)
+</code></pre>
+
+<h2>Background</h2>
+
+<p>In the regulatory evaluation of chemical substances like plant protection
+products (pesticides), biocides and other chemicals, degradation data play an
+important role. For the evaluation of pesticide degradation experiments,
+detailed guidance and helpful tools have been developed as detailed in
+&#39;Credits and historical remarks&#39; below.</p>
+
+<h2>Usage</h2>
+
+<p>For a start, have a look a the code examples provided for
+<a href="http://kinfit.r-forge.r-project.org/mkin_static/plot.mkinfit.html"><code>plot.mkinfit</code></a>
+and
+<a href="http://kinfit.r-forge.r-project.org/mkin_static/plot.mmkin.html"><code>plot.mmkin</code></a>, and
+at the package vignettes
+<a href="http://kinfit.r-forge.r-project.org/mkin_static/vignettes/FOCUS_L.html"><code>FOCUS L</code></a> and
+<a href="http://kinfit.r-forge.r-project.org/mkin_static/vignettes/FOCUS_D.html"><code>FOCUS D</code></a>.</p>
+
+<h2>Documentation</h2>
+
+<p>The <a href="http://kinfit.r-forge.r-project.org/mkin_static">HTML documentation</a> is
+maintained at the R-Forge project site.</p>
+
+<h2>Features</h2>
+
+<ul>
+<li>Highly flexible model specification using
+<a href="http://kinfit.r-forge.r-project.org/mkin_static/mkinmod.html"><code>mkinmod</code></a>,
+including equilibrium reactions and using the single first-order
+reversible binding (SFORB) model, which will automatically create
+two latent state variables for the observed variable.</li>
+<li>As of version 0.9-39, fitting of several models to several datasets, optionally in
+parallel, is supported, see for example
+<a href="http://kinfit.r-forge.r-project.org/mkin_static/plot.mmkin.html"><code>plot.mmkin</code></a>.</li>
+<li>Model solution (forward modelling) in the function
+<a href="http://kinfit.r-forge.r-project.org/mkin_static/mkinpredict.html"><code>mkinpredict</code></a>
+is performed either using the analytical solution for the case of
+parent only degradation, an eigenvalue based solution if only simple
+first-order (SFO) or SFORB kinetics are used in the model, or
+using a numeric solver from the <code>deSolve</code> package (default is <code>lsoda</code>).</li>
+<li>If a C compiler is installed, the kinetic models are compiled from automatically
+generated C code, see<br/>
+<a href="http://kinfit.r-forge.r-project.org/mkin_static/vignettes/compiled_models.html">vignette <code>compiled_models</code></a>.
+The autogeneration of C code was
+inspired by the <a href="https://github.com/karlines/ccSolve"><code>ccSolve</code></a> package. Thanks
+to Karline Soetaert for her work on that.</li>
+<li>By default, kinetic rate constants and kinetic formation fractions are
+transformed internally using
+<a href="http://kinfit.r-forge.r-project.org/mkin_static/transform_odeparms.html"><code>transform_odeparms</code></a>
+so their estimators can more reasonably be expected to follow
+a normal distribution. This has the side effect that no constraints
+are needed in the optimisation. Thanks to René Lehmann for the nice
+cooperation on this, especially the isometric logration transformation
+that is now used for the formation fractions.</li>
+<li>A side effect of this is that when parameter estimates are backtransformed
+to match the model definition, confidence intervals calculated from
+standard errors are also backtransformed to the correct scale, and will
+not include meaningless values like negative rate constants or
+formation fractions adding up to more than 1, which can not occur in
+a single experiment with a single defined radiolabel position.</li>
+<li>The usual one-sided t-test for significant difference from zero is nevertheless
+shown based on estimators for the untransformed parameters.</li>
+<li>Summary and plotting functions. The <code>summary</code> of an <code>mkinfit</code> object is in
+fact a full report that should give enough information to be able to
+approximately reproduce the fit with other tools.</li>
+<li>The chi-squared error level as defined in the FOCUS kinetics guidance
+(see below) is calculated for each observed variable.</li>
+<li>Iteratively reweighted least squares fitting is implemented in a similar way
+as in KinGUII and CAKE (see below). Simply add the argument
+<code>reweight = &quot;obs&quot;</code> to your call to <code>mkinfit</code> and a separate variance
+componenent for each of the observed variables will be optimised
+in a second stage after the primary optimisation algorithm has converged.</li>
+<li>When a metabolite decline phase is not described well by SFO kinetics,
+SFORB kinetics can be used for the metabolite.</li>
+</ul>
+
+<h2>GUI</h2>
+
+<p>There is a graphical user interface that I consider useful for real work. Please
+refer to its <a href="http://kinfit.r-forge.r-project.org/gmkin_static">documentation page</a>
+for installation instructions and a manual.</p>
+
+<h2>News</h2>
+
+<p>Yes, there is a ChangeLog, for the latest <a href="http://cran.r-project.org/web/packages/mkin/news.html">CRAN release</a>
+and one for the <a href="https://github.com/jranke/mkin/blob/master/NEWS.md">github master branch</a>.</p>
+
+<h2>Credits and historical remarks</h2>
+
+<p><code>mkin</code> would not be possible without the underlying software stack consisting
+of R and the packages <a href="http://cran.r-project.org/package=deSolve">deSolve</a>
+and <a href="http://cran.r-project.org/package=FME">FME</a>, to say the least.</p>
+
+<p>It could not have been written without me being introduced to regulatory fate
+modelling of pesticides by Adrian Gurney during my time at Harlan Laboratories
+Ltd (formerly RCC Ltd). <code>mkin</code> greatly profits from and largely follows
+the work done by the
+<a href="http://focus.jrc.ec.europa.eu/dk">FOCUS Degradation Kinetics Workgroup</a>,
+as detailed in their guidance document from 2006, slightly updated in 2011 and
+2014.</p>
+
+<p>Also, it was inspired by the first version of KinGUI developed by
+BayerCropScience, which is based on the MatLab runtime environment.</p>
+
+<p>The companion package
+<a href="http://kinfit.r-forge.r-project.org/kinfit_static/index.html">kinfit</a> (now deprecated) was
+<a href="https://r-forge.r-project.org/scm/viewvc.php?view=rev&amp;root=kinfit&amp;revision=2">started in 2008</a> and
+<a href="http://cran.r-project.org/src/contrib/Archive/kinfit/">first published</a> on
+CRAN on 01 May 2010.</p>
+
+<p>The first <code>mkin</code> code was
+<a href="https://r-forge.r-project.org/scm/viewvc.php?view=rev&amp;root=kinfit&amp;revision=8">published on 11 May 2010</a> and the
+<a href="http://cran.r-project.org/src/contrib/Archive/mkin">first CRAN version</a>
+on 18 May 2010.</p>
+
+<p>In 2011, Bayer Crop Science started to distribute an R based successor to KinGUI named
+KinGUII whose R code is based on <code>mkin</code>, but which added, amongst other
+refinements, a closed source graphical user interface (GUI), iteratively
+reweighted least squares (IRLS) optimisation of the variance for each of the
+observed variables, and Markov Chain Monte Carlo (MCMC) simulation
+functionality, similar to what is available e.g. in the <code>FME</code> package.</p>
+
+<p>Somewhat in parallel, Syngenta has sponsored the development of an <code>mkin</code> and
+KinGUII based GUI application called CAKE, which also adds IRLS and MCMC, is
+more limited in the model formulation, but puts more weight on usability.
+CAKE is available for download from the <a href="http://projects.tessella.com/cake">CAKE
+website</a>, where you can also
+find a zip archive of the R scripts derived from <code>mkin</code>, published under the GPL
+license.</p>
+
+<p>Finally, there is
+<a href="http://github.com/zhenglei-gao/KineticEval">KineticEval</a>, which contains
+a further development of the scripts used for KinGUII, so the different tools
+will hopefully be able to learn from each other in the future as well.</p>
+
+<h2>Development</h2>
+
+<p>Contributions are welcome! Your
+<a href="https://help.github.com/articles/fork-a-repo">mkin fork</a> is just a mouse click
+away&hellip; The master branch on github should always be in good shape, I implement
+new features in separate branches now. If you prefer subversion, project
+members for the
+<a href="http://r-forge.r-project.org/R/?group_id=615">r-forge project</a> are welcome as well.
+Generally, the source code of the latest CRAN version should be available there.
+You can also browse the source code at <a href="http://cgit.jrwb.de/mkin">cgit.jrwb.de/mkin</a>.</p>
+
+ </div>
+
+ <div class="span3 offset1 sidebar">
+ <h2>Vignettes</h2>
+ <ul>
+ <li><a href="vignettes/compiled_models.html">Performance benefit by using compiled model definitions in mkin</a></li>
+ <li><a href="vignettes/FOCUS_D.html">Example evaluation of FOCUS Example Dataset D</a></li>
+ <li><a href="vignettes/FOCUS_L.html">Example evaluation of FOCUS Laboratory Data L1 to L3</a></li>
+ <li><a href="vignettes/mkin.html">mkin - Kinetic evaluation of chemical degradation data</a></li>
+ <li><a href="vignettes/FOCUS_Z.pdf">Example evaluation of FOCUS dataset Z</a></li>
+ </ul>
+ <h2>Authors</h2>
+ <ul>
+ <li><a href='mailto:jranke@uni-bremen.de'>Johannes Ranke</a> [aut, cre, cph]</li>
+ <li>Katrin Lindenberger [ctb]</li>
+ <li>René Lehmann [ctb]</li>
+ <li>Eurofins Regulatory AG [cph]</li>
+ </ul>
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/js/bootstrap.js b/docs/js/bootstrap.js
new file mode 100644
index 00000000..5d6e65b8
--- /dev/null
+++ b/docs/js/bootstrap.js
@@ -0,0 +1,1825 @@
+/* ===================================================
+ * bootstrap-transition.js v2.0.4
+ * http://twitter.github.com/bootstrap/javascript.html#transitions
+ * ===================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================== */
+
+
+!function ($) {
+
+ $(function () {
+
+ "use strict"; // jshint ;_;
+
+
+ /* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
+ * ======================================================= */
+
+ $.support.transition = (function () {
+
+ var transitionEnd = (function () {
+
+ var el = document.createElement('bootstrap')
+ , transEndEventNames = {
+ 'WebkitTransition' : 'webkitTransitionEnd'
+ , 'MozTransition' : 'transitionend'
+ , 'OTransition' : 'oTransitionEnd'
+ , 'msTransition' : 'MSTransitionEnd'
+ , 'transition' : 'transitionend'
+ }
+ , name
+
+ for (name in transEndEventNames){
+ if (el.style[name] !== undefined) {
+ return transEndEventNames[name]
+ }
+ }
+
+ }())
+
+ return transitionEnd && {
+ end: transitionEnd
+ }
+
+ })()
+
+ })
+
+}(window.jQuery);/* ==========================================================
+ * bootstrap-alert.js v2.0.4
+ * http://twitter.github.com/bootstrap/javascript.html#alerts
+ * ==========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================== */
+
+
+!function ($) {
+
+ "use strict"; // jshint ;_;
+
+
+ /* ALERT CLASS DEFINITION
+ * ====================== */
+
+ var dismiss = '[data-dismiss="alert"]'
+ , Alert = function (el) {
+ $(el).on('click', dismiss, this.close)
+ }
+
+ Alert.prototype.close = function (e) {
+ var $this = $(this)
+ , selector = $this.attr('data-target')
+ , $parent
+
+ if (!selector) {
+ selector = $this.attr('href')
+ selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
+ }
+
+ $parent = $(selector)
+
+ e && e.preventDefault()
+
+ $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
+
+ $parent.trigger(e = $.Event('close'))
+
+ if (e.isDefaultPrevented()) return
+
+ $parent.removeClass('in')
+
+ function removeElement() {
+ $parent
+ .trigger('closed')
+ .remove()
+ }
+
+ $.support.transition && $parent.hasClass('fade') ?
+ $parent.on($.support.transition.end, removeElement) :
+ removeElement()
+ }
+
+
+ /* ALERT PLUGIN DEFINITION
+ * ======================= */
+
+ $.fn.alert = function (option) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('alert')
+ if (!data) $this.data('alert', (data = new Alert(this)))
+ if (typeof option == 'string') data[option].call($this)
+ })
+ }
+
+ $.fn.alert.Constructor = Alert
+
+
+ /* ALERT DATA-API
+ * ============== */
+
+ $(function () {
+ $('body').on('click.alert.data-api', dismiss, Alert.prototype.close)
+ })
+
+}(window.jQuery);/* ============================================================
+ * bootstrap-button.js v2.0.4
+ * http://twitter.github.com/bootstrap/javascript.html#buttons
+ * ============================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================ */
+
+
+!function ($) {
+
+ "use strict"; // jshint ;_;
+
+
+ /* BUTTON PUBLIC CLASS DEFINITION
+ * ============================== */
+
+ var Button = function (element, options) {
+ this.$element = $(element)
+ this.options = $.extend({}, $.fn.button.defaults, options)
+ }
+
+ Button.prototype.setState = function (state) {
+ var d = 'disabled'
+ , $el = this.$element
+ , data = $el.data()
+ , val = $el.is('input') ? 'val' : 'html'
+
+ state = state + 'Text'
+ data.resetText || $el.data('resetText', $el[val]())
+
+ $el[val](data[state] || this.options[state])
+
+ // push to event loop to allow forms to submit
+ setTimeout(function () {
+ state == 'loadingText' ?
+ $el.addClass(d).attr(d, d) :
+ $el.removeClass(d).removeAttr(d)
+ }, 0)
+ }
+
+ Button.prototype.toggle = function () {
+ var $parent = this.$element.parent('[data-toggle="buttons-radio"]')
+
+ $parent && $parent
+ .find('.active')
+ .removeClass('active')
+
+ this.$element.toggleClass('active')
+ }
+
+
+ /* BUTTON PLUGIN DEFINITION
+ * ======================== */
+
+ $.fn.button = function (option) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('button')
+ , options = typeof option == 'object' && option
+ if (!data) $this.data('button', (data = new Button(this, options)))
+ if (option == 'toggle') data.toggle()
+ else if (option) data.setState(option)
+ })
+ }
+
+ $.fn.button.defaults = {
+ loadingText: 'loading...'
+ }
+
+ $.fn.button.Constructor = Button
+
+
+ /* BUTTON DATA-API
+ * =============== */
+
+ $(function () {
+ $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) {
+ var $btn = $(e.target)
+ if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
+ $btn.button('toggle')
+ })
+ })
+
+}(window.jQuery);/* ==========================================================
+ * bootstrap-carousel.js v2.0.4
+ * http://twitter.github.com/bootstrap/javascript.html#carousel
+ * ==========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================== */
+
+
+!function ($) {
+
+ "use strict"; // jshint ;_;
+
+
+ /* CAROUSEL CLASS DEFINITION
+ * ========================= */
+
+ var Carousel = function (element, options) {
+ this.$element = $(element)
+ this.options = options
+ this.options.slide && this.slide(this.options.slide)
+ this.options.pause == 'hover' && this.$element
+ .on('mouseenter', $.proxy(this.pause, this))
+ .on('mouseleave', $.proxy(this.cycle, this))
+ }
+
+ Carousel.prototype = {
+
+ cycle: function (e) {
+ if (!e) this.paused = false
+ this.options.interval
+ && !this.paused
+ && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
+ return this
+ }
+
+ , to: function (pos) {
+ var $active = this.$element.find('.active')
+ , children = $active.parent().children()
+ , activePos = children.index($active)
+ , that = this
+
+ if (pos > (children.length - 1) || pos < 0) return
+
+ if (this.sliding) {
+ return this.$element.one('slid', function () {
+ that.to(pos)
+ })
+ }
+
+ if (activePos == pos) {
+ return this.pause().cycle()
+ }
+
+ return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos]))
+ }
+
+ , pause: function (e) {
+ if (!e) this.paused = true
+ clearInterval(this.interval)
+ this.interval = null
+ return this
+ }
+
+ , next: function () {
+ if (this.sliding) return
+ return this.slide('next')
+ }
+
+ , prev: function () {
+ if (this.sliding) return
+ return this.slide('prev')
+ }
+
+ , slide: function (type, next) {
+ var $active = this.$element.find('.active')
+ , $next = next || $active[type]()
+ , isCycling = this.interval
+ , direction = type == 'next' ? 'left' : 'right'
+ , fallback = type == 'next' ? 'first' : 'last'
+ , that = this
+ , e = $.Event('slide')
+
+ this.sliding = true
+
+ isCycling && this.pause()
+
+ $next = $next.length ? $next : this.$element.find('.item')[fallback]()
+
+ if ($next.hasClass('active')) return
+
+ if ($.support.transition && this.$element.hasClass('slide')) {
+ this.$element.trigger(e)
+ if (e.isDefaultPrevented()) return
+ $next.addClass(type)
+ $next[0].offsetWidth // force reflow
+ $active.addClass(direction)
+ $next.addClass(direction)
+ this.$element.one($.support.transition.end, function () {
+ $next.removeClass([type, direction].join(' ')).addClass('active')
+ $active.removeClass(['active', direction].join(' '))
+ that.sliding = false
+ setTimeout(function () { that.$element.trigger('slid') }, 0)
+ })
+ } else {
+ this.$element.trigger(e)
+ if (e.isDefaultPrevented()) return
+ $active.removeClass('active')
+ $next.addClass('active')
+ this.sliding = false
+ this.$element.trigger('slid')
+ }
+
+ isCycling && this.cycle()
+
+ return this
+ }
+
+ }
+
+
+ /* CAROUSEL PLUGIN DEFINITION
+ * ========================== */
+
+ $.fn.carousel = function (option) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('carousel')
+ , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option)
+ if (!data) $this.data('carousel', (data = new Carousel(this, options)))
+ if (typeof option == 'number') data.to(option)
+ else if (typeof option == 'string' || (option = options.slide)) data[option]()
+ else if (options.interval) data.cycle()
+ })
+ }
+
+ $.fn.carousel.defaults = {
+ interval: 5000
+ , pause: 'hover'
+ }
+
+ $.fn.carousel.Constructor = Carousel
+
+
+ /* CAROUSEL DATA-API
+ * ================= */
+
+ $(function () {
+ $('body').on('click.carousel.data-api', '[data-slide]', function ( e ) {
+ var $this = $(this), href
+ , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
+ , options = !$target.data('modal') && $.extend({}, $target.data(), $this.data())
+ $target.carousel(options)
+ e.preventDefault()
+ })
+ })
+
+}(window.jQuery);/* =============================================================
+ * bootstrap-collapse.js v2.0.4
+ * http://twitter.github.com/bootstrap/javascript.html#collapse
+ * =============================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================ */
+
+
+!function ($) {
+
+ "use strict"; // jshint ;_;
+
+
+ /* COLLAPSE PUBLIC CLASS DEFINITION
+ * ================================ */
+
+ var Collapse = function (element, options) {
+ this.$element = $(element)
+ this.options = $.extend({}, $.fn.collapse.defaults, options)
+
+ if (this.options.parent) {
+ this.$parent = $(this.options.parent)
+ }
+
+ this.options.toggle && this.toggle()
+ }
+
+ Collapse.prototype = {
+
+ constructor: Collapse
+
+ , dimension: function () {
+ var hasWidth = this.$element.hasClass('width')
+ return hasWidth ? 'width' : 'height'
+ }
+
+ , show: function () {
+ var dimension
+ , scroll
+ , actives
+ , hasData
+
+ if (this.transitioning) return
+
+ dimension = this.dimension()
+ scroll = $.camelCase(['scroll', dimension].join('-'))
+ actives = this.$parent && this.$parent.find('> .accordion-group > .in')
+
+ if (actives && actives.length) {
+ hasData = actives.data('collapse')
+ if (hasData && hasData.transitioning) return
+ actives.collapse('hide')
+ hasData || actives.data('collapse', null)
+ }
+
+ this.$element[dimension](0)
+ this.transition('addClass', $.Event('show'), 'shown')
+ this.$element[dimension](this.$element[0][scroll])
+ }
+
+ , hide: function () {
+ var dimension
+ if (this.transitioning) return
+ dimension = this.dimension()
+ this.reset(this.$element[dimension]())
+ this.transition('removeClass', $.Event('hide'), 'hidden')
+ this.$element[dimension](0)
+ }
+
+ , reset: function (size) {
+ var dimension = this.dimension()
+
+ this.$element
+ .removeClass('collapse')
+ [dimension](size || 'auto')
+ [0].offsetWidth
+
+ this.$element[size !== null ? 'addClass' : 'removeClass']('collapse')
+
+ return this
+ }
+
+ , transition: function (method, startEvent, completeEvent) {
+ var that = this
+ , complete = function () {
+ if (startEvent.type == 'show') that.reset()
+ that.transitioning = 0
+ that.$element.trigger(completeEvent)
+ }
+
+ this.$element.trigger(startEvent)
+
+ if (startEvent.isDefaultPrevented()) return
+
+ this.transitioning = 1
+
+ this.$element[method]('in')
+
+ $.support.transition && this.$element.hasClass('collapse') ?
+ this.$element.one($.support.transition.end, complete) :
+ complete()
+ }
+
+ , toggle: function () {
+ this[this.$element.hasClass('in') ? 'hide' : 'show']()
+ }
+
+ }
+
+
+ /* COLLAPSIBLE PLUGIN DEFINITION
+ * ============================== */
+
+ $.fn.collapse = function (option) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('collapse')
+ , options = typeof option == 'object' && option
+ if (!data) $this.data('collapse', (data = new Collapse(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ $.fn.collapse.defaults = {
+ toggle: true
+ }
+
+ $.fn.collapse.Constructor = Collapse
+
+
+ /* COLLAPSIBLE DATA-API
+ * ==================== */
+
+ $(function () {
+ $('body').on('click.collapse.data-api', '[data-toggle=collapse]', function ( e ) {
+ var $this = $(this), href
+ , target = $this.attr('data-target')
+ || e.preventDefault()
+ || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
+ , option = $(target).data('collapse') ? 'toggle' : $this.data()
+ $(target).collapse(option)
+ })
+ })
+
+}(window.jQuery);/* ============================================================
+ * bootstrap-dropdown.js v2.0.4
+ * http://twitter.github.com/bootstrap/javascript.html#dropdowns
+ * ============================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================ */
+
+
+!function ($) {
+
+ "use strict"; // jshint ;_;
+
+
+ /* DROPDOWN CLASS DEFINITION
+ * ========================= */
+
+ var toggle = '[data-toggle="dropdown"]'
+ , Dropdown = function (element) {
+ var $el = $(element).on('click.dropdown.data-api', this.toggle)
+ $('html').on('click.dropdown.data-api', function () {
+ $el.parent().removeClass('open')
+ })
+ }
+
+ Dropdown.prototype = {
+
+ constructor: Dropdown
+
+ , toggle: function (e) {
+ var $this = $(this)
+ , $parent
+ , selector
+ , isActive
+
+ if ($this.is('.disabled, :disabled')) return
+
+ selector = $this.attr('data-target')
+
+ if (!selector) {
+ selector = $this.attr('href')
+ selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
+ }
+
+ $parent = $(selector)
+ $parent.length || ($parent = $this.parent())
+
+ isActive = $parent.hasClass('open')
+
+ clearMenus()
+
+ if (!isActive) $parent.toggleClass('open')
+
+ return false
+ }
+
+ }
+
+ function clearMenus() {
+ $(toggle).parent().removeClass('open')
+ }
+
+
+ /* DROPDOWN PLUGIN DEFINITION
+ * ========================== */
+
+ $.fn.dropdown = function (option) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('dropdown')
+ if (!data) $this.data('dropdown', (data = new Dropdown(this)))
+ if (typeof option == 'string') data[option].call($this)
+ })
+ }
+
+ $.fn.dropdown.Constructor = Dropdown
+
+
+ /* APPLY TO STANDARD DROPDOWN ELEMENTS
+ * =================================== */
+
+ $(function () {
+ $('html').on('click.dropdown.data-api', clearMenus)
+ $('body')
+ .on('click.dropdown', '.dropdown form', function (e) { e.stopPropagation() })
+ .on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)
+ })
+
+}(window.jQuery);/* =========================================================
+ * bootstrap-modal.js v2.0.4
+ * http://twitter.github.com/bootstrap/javascript.html#modals
+ * =========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================= */
+
+
+!function ($) {
+
+ "use strict"; // jshint ;_;
+
+
+ /* MODAL CLASS DEFINITION
+ * ====================== */
+
+ var Modal = function (content, options) {
+ this.options = options
+ this.$element = $(content)
+ .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
+ }
+
+ Modal.prototype = {
+
+ constructor: Modal
+
+ , toggle: function () {
+ return this[!this.isShown ? 'show' : 'hide']()
+ }
+
+ , show: function () {
+ var that = this
+ , e = $.Event('show')
+
+ this.$element.trigger(e)
+
+ if (this.isShown || e.isDefaultPrevented()) return
+
+ $('body').addClass('modal-open')
+
+ this.isShown = true
+
+ escape.call(this)
+ backdrop.call(this, function () {
+ var transition = $.support.transition && that.$element.hasClass('fade')
+
+ if (!that.$element.parent().length) {
+ that.$element.appendTo(document.body) //don't move modals dom position
+ }
+
+ that.$element
+ .show()
+
+ if (transition) {
+ that.$element[0].offsetWidth // force reflow
+ }
+
+ that.$element.addClass('in')
+
+ transition ?
+ that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) :
+ that.$element.trigger('shown')
+
+ })
+ }
+
+ , hide: function (e) {
+ e && e.preventDefault()
+
+ var that = this
+
+ e = $.Event('hide')
+
+ this.$element.trigger(e)
+
+ if (!this.isShown || e.isDefaultPrevented()) return
+
+ this.isShown = false
+
+ $('body').removeClass('modal-open')
+
+ escape.call(this)
+
+ this.$element.removeClass('in')
+
+ $.support.transition && this.$element.hasClass('fade') ?
+ hideWithTransition.call(this) :
+ hideModal.call(this)
+ }
+
+ }
+
+
+ /* MODAL PRIVATE METHODS
+ * ===================== */
+
+ function hideWithTransition() {
+ var that = this
+ , timeout = setTimeout(function () {
+ that.$element.off($.support.transition.end)
+ hideModal.call(that)
+ }, 500)
+
+ this.$element.one($.support.transition.end, function () {
+ clearTimeout(timeout)
+ hideModal.call(that)
+ })
+ }
+
+ function hideModal(that) {
+ this.$element
+ .hide()
+ .trigger('hidden')
+
+ backdrop.call(this)
+ }
+
+ function backdrop(callback) {
+ var that = this
+ , animate = this.$element.hasClass('fade') ? 'fade' : ''
+
+ if (this.isShown && this.options.backdrop) {
+ var doAnimate = $.support.transition && animate
+
+ this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
+ .appendTo(document.body)
+
+ if (this.options.backdrop != 'static') {
+ this.$backdrop.click($.proxy(this.hide, this))
+ }
+
+ if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
+
+ this.$backdrop.addClass('in')
+
+ doAnimate ?
+ this.$backdrop.one($.support.transition.end, callback) :
+ callback()
+
+ } else if (!this.isShown && this.$backdrop) {
+ this.$backdrop.removeClass('in')
+
+ $.support.transition && this.$element.hasClass('fade')?
+ this.$backdrop.one($.support.transition.end, $.proxy(removeBackdrop, this)) :
+ removeBackdrop.call(this)
+
+ } else if (callback) {
+ callback()
+ }
+ }
+
+ function removeBackdrop() {
+ this.$backdrop.remove()
+ this.$backdrop = null
+ }
+
+ function escape() {
+ var that = this
+ if (this.isShown && this.options.keyboard) {
+ $(document).on('keyup.dismiss.modal', function ( e ) {
+ e.which == 27 && that.hide()
+ })
+ } else if (!this.isShown) {
+ $(document).off('keyup.dismiss.modal')
+ }
+ }
+
+
+ /* MODAL PLUGIN DEFINITION
+ * ======================= */
+
+ $.fn.modal = function (option) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('modal')
+ , options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option)
+ if (!data) $this.data('modal', (data = new Modal(this, options)))
+ if (typeof option == 'string') data[option]()
+ else if (options.show) data.show()
+ })
+ }
+
+ $.fn.modal.defaults = {
+ backdrop: true
+ , keyboard: true
+ , show: true
+ }
+
+ $.fn.modal.Constructor = Modal
+
+
+ /* MODAL DATA-API
+ * ============== */
+
+ $(function () {
+ $('body').on('click.modal.data-api', '[data-toggle="modal"]', function ( e ) {
+ var $this = $(this), href
+ , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
+ , option = $target.data('modal') ? 'toggle' : $.extend({}, $target.data(), $this.data())
+
+ e.preventDefault()
+ $target.modal(option)
+ })
+ })
+
+}(window.jQuery);/* ===========================================================
+ * bootstrap-tooltip.js v2.0.4
+ * http://twitter.github.com/bootstrap/javascript.html#tooltips
+ * Inspired by the original jQuery.tipsy by Jason Frame
+ * ===========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================== */
+
+
+!function ($) {
+
+ "use strict"; // jshint ;_;
+
+
+ /* TOOLTIP PUBLIC CLASS DEFINITION
+ * =============================== */
+
+ var Tooltip = function (element, options) {
+ this.init('tooltip', element, options)
+ }
+
+ Tooltip.prototype = {
+
+ constructor: Tooltip
+
+ , init: function (type, element, options) {
+ var eventIn
+ , eventOut
+
+ this.type = type
+ this.$element = $(element)
+ this.options = this.getOptions(options)
+ this.enabled = true
+
+ if (this.options.trigger != 'manual') {
+ eventIn = this.options.trigger == 'hover' ? 'mouseenter' : 'focus'
+ eventOut = this.options.trigger == 'hover' ? 'mouseleave' : 'blur'
+ this.$element.on(eventIn, this.options.selector, $.proxy(this.enter, this))
+ this.$element.on(eventOut, this.options.selector, $.proxy(this.leave, this))
+ }
+
+ this.options.selector ?
+ (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
+ this.fixTitle()
+ }
+
+ , getOptions: function (options) {
+ options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data())
+
+ if (options.delay && typeof options.delay == 'number') {
+ options.delay = {
+ show: options.delay
+ , hide: options.delay
+ }
+ }
+
+ return options
+ }
+
+ , enter: function (e) {
+ var self = $(e.currentTarget)[this.type](this._options).data(this.type)
+
+ if (!self.options.delay || !self.options.delay.show) return self.show()
+
+ clearTimeout(this.timeout)
+ self.hoverState = 'in'
+ this.timeout = setTimeout(function() {
+ if (self.hoverState == 'in') self.show()
+ }, self.options.delay.show)
+ }
+
+ , leave: function (e) {
+ var self = $(e.currentTarget)[this.type](this._options).data(this.type)
+
+ if (this.timeout) clearTimeout(this.timeout)
+ if (!self.options.delay || !self.options.delay.hide) return self.hide()
+
+ self.hoverState = 'out'
+ this.timeout = setTimeout(function() {
+ if (self.hoverState == 'out') self.hide()
+ }, self.options.delay.hide)
+ }
+
+ , show: function () {
+ var $tip
+ , inside
+ , pos
+ , actualWidth
+ , actualHeight
+ , placement
+ , tp
+
+ if (this.hasContent() && this.enabled) {
+ $tip = this.tip()
+ this.setContent()
+
+ if (this.options.animation) {
+ $tip.addClass('fade')
+ }
+
+ placement = typeof this.options.placement == 'function' ?
+ this.options.placement.call(this, $tip[0], this.$element[0]) :
+ this.options.placement
+
+ inside = /in/.test(placement)
+
+ $tip
+ .remove()
+ .css({ top: 0, left: 0, display: 'block' })
+ .appendTo(inside ? this.$element : document.body)
+
+ pos = this.getPosition(inside)
+
+ actualWidth = $tip[0].offsetWidth
+ actualHeight = $tip[0].offsetHeight
+
+ switch (inside ? placement.split(' ')[1] : placement) {
+ case 'bottom':
+ tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
+ break
+ case 'top':
+ tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}
+ break
+ case 'left':
+ tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}
+ break
+ case 'right':
+ tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}
+ break
+ }
+
+ $tip
+ .css(tp)
+ .addClass(placement)
+ .addClass('in')
+ }
+ }
+
+ , isHTML: function(text) {
+ // html string detection logic adapted from jQuery
+ return typeof text != 'string'
+ || ( text.charAt(0) === "<"
+ && text.charAt( text.length - 1 ) === ">"
+ && text.length >= 3
+ ) || /^(?:[^<]*<[\w\W]+>[^>]*$)/.exec(text)
+ }
+
+ , setContent: function () {
+ var $tip = this.tip()
+ , title = this.getTitle()
+
+ $tip.find('.tooltip-inner')[this.isHTML(title) ? 'html' : 'text'](title)
+ $tip.removeClass('fade in top bottom left right')
+ }
+
+ , hide: function () {
+ var that = this
+ , $tip = this.tip()
+
+ $tip.removeClass('in')
+
+ function removeWithAnimation() {
+ var timeout = setTimeout(function () {
+ $tip.off($.support.transition.end).remove()
+ }, 500)
+
+ $tip.one($.support.transition.end, function () {
+ clearTimeout(timeout)
+ $tip.remove()
+ })
+ }
+
+ $.support.transition && this.$tip.hasClass('fade') ?
+ removeWithAnimation() :
+ $tip.remove()
+ }
+
+ , fixTitle: function () {
+ var $e = this.$element
+ if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
+ $e.attr('data-original-title', $e.attr('title') || '').removeAttr('title')
+ }
+ }
+
+ , hasContent: function () {
+ return this.getTitle()
+ }
+
+ , getPosition: function (inside) {
+ return $.extend({}, (inside ? {top: 0, left: 0} : this.$element.offset()), {
+ width: this.$element[0].offsetWidth
+ , height: this.$element[0].offsetHeight
+ })
+ }
+
+ , getTitle: function () {
+ var title
+ , $e = this.$element
+ , o = this.options
+
+ title = $e.attr('data-original-title')
+ || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
+
+ return title
+ }
+
+ , tip: function () {
+ return this.$tip = this.$tip || $(this.options.template)
+ }
+
+ , validate: function () {
+ if (!this.$element[0].parentNode) {
+ this.hide()
+ this.$element = null
+ this.options = null
+ }
+ }
+
+ , enable: function () {
+ this.enabled = true
+ }
+
+ , disable: function () {
+ this.enabled = false
+ }
+
+ , toggleEnabled: function () {
+ this.enabled = !this.enabled
+ }
+
+ , toggle: function () {
+ this[this.tip().hasClass('in') ? 'hide' : 'show']()
+ }
+
+ }
+
+
+ /* TOOLTIP PLUGIN DEFINITION
+ * ========================= */
+
+ $.fn.tooltip = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('tooltip')
+ , options = typeof option == 'object' && option
+ if (!data) $this.data('tooltip', (data = new Tooltip(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ $.fn.tooltip.Constructor = Tooltip
+
+ $.fn.tooltip.defaults = {
+ animation: true
+ , placement: 'top'
+ , selector: false
+ , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
+ , trigger: 'hover'
+ , title: ''
+ , delay: 0
+ }
+
+}(window.jQuery);
+/* ===========================================================
+ * bootstrap-popover.js v2.0.4
+ * http://twitter.github.com/bootstrap/javascript.html#popovers
+ * ===========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * =========================================================== */
+
+
+!function ($) {
+
+ "use strict"; // jshint ;_;
+
+
+ /* POPOVER PUBLIC CLASS DEFINITION
+ * =============================== */
+
+ var Popover = function ( element, options ) {
+ this.init('popover', element, options)
+ }
+
+
+ /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js
+ ========================================== */
+
+ Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, {
+
+ constructor: Popover
+
+ , setContent: function () {
+ var $tip = this.tip()
+ , title = this.getTitle()
+ , content = this.getContent()
+
+ $tip.find('.popover-title')[this.isHTML(title) ? 'html' : 'text'](title)
+ $tip.find('.popover-content > *')[this.isHTML(content) ? 'html' : 'text'](content)
+
+ $tip.removeClass('fade top bottom left right in')
+ }
+
+ , hasContent: function () {
+ return this.getTitle() || this.getContent()
+ }
+
+ , getContent: function () {
+ var content
+ , $e = this.$element
+ , o = this.options
+
+ content = $e.attr('data-content')
+ || (typeof o.content == 'function' ? o.content.call($e[0]) : o.content)
+
+ return content
+ }
+
+ , tip: function () {
+ if (!this.$tip) {
+ this.$tip = $(this.options.template)
+ }
+ return this.$tip
+ }
+
+ })
+
+
+ /* POPOVER PLUGIN DEFINITION
+ * ======================= */
+
+ $.fn.popover = function (option) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('popover')
+ , options = typeof option == 'object' && option
+ if (!data) $this.data('popover', (data = new Popover(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ $.fn.popover.Constructor = Popover
+
+ $.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {
+ placement: 'right'
+ , content: ''
+ , template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'
+ })
+
+}(window.jQuery);/* =============================================================
+ * bootstrap-scrollspy.js v2.0.4
+ * http://twitter.github.com/bootstrap/javascript.html#scrollspy
+ * =============================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================== */
+
+
+!function ($) {
+
+ "use strict"; // jshint ;_;
+
+
+ /* SCROLLSPY CLASS DEFINITION
+ * ========================== */
+
+ function ScrollSpy( element, options) {
+ var process = $.proxy(this.process, this)
+ , $element = $(element).is('body') ? $(window) : $(element)
+ , href
+ this.options = $.extend({}, $.fn.scrollspy.defaults, options)
+ this.$scrollElement = $element.on('scroll.scroll.data-api', process)
+ this.selector = (this.options.target
+ || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
+ || '') + ' .nav li > a'
+ this.$body = $('body')
+ this.refresh()
+ this.process()
+ }
+
+ ScrollSpy.prototype = {
+
+ constructor: ScrollSpy
+
+ , refresh: function () {
+ var self = this
+ , $targets
+
+ this.offsets = $([])
+ this.targets = $([])
+
+ $targets = this.$body
+ .find(this.selector)
+ .map(function () {
+ var $el = $(this)
+ , href = $el.data('target') || $el.attr('href')
+ , $href = /^#\w/.test(href) && $(href)
+ return ( $href
+ && href.length
+ && [[ $href.position().top, href ]] ) || null
+ })
+ .sort(function (a, b) { return a[0] - b[0] })
+ .each(function () {
+ self.offsets.push(this[0])
+ self.targets.push(this[1])
+ })
+ }
+
+ , process: function () {
+ var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
+ , scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight
+ , maxScroll = scrollHeight - this.$scrollElement.height()
+ , offsets = this.offsets
+ , targets = this.targets
+ , activeTarget = this.activeTarget
+ , i
+
+ if (scrollTop >= maxScroll) {
+ return activeTarget != (i = targets.last()[0])
+ && this.activate ( i )
+ }
+
+ for (i = offsets.length; i--;) {
+ activeTarget != targets[i]
+ && scrollTop >= offsets[i]
+ && (!offsets[i + 1] || scrollTop <= offsets[i + 1])
+ && this.activate( targets[i] )
+ }
+ }
+
+ , activate: function (target) {
+ var active
+ , selector
+
+ this.activeTarget = target
+
+ $(this.selector)
+ .parent('.active')
+ .removeClass('active')
+
+ selector = this.selector
+ + '[data-target="' + target + '"],'
+ + this.selector + '[href="' + target + '"]'
+
+ active = $(selector)
+ .parent('li')
+ .addClass('active')
+
+ if (active.parent('.dropdown-menu')) {
+ active = active.closest('li.dropdown').addClass('active')
+ }
+
+ active.trigger('activate')
+ }
+
+ }
+
+
+ /* SCROLLSPY PLUGIN DEFINITION
+ * =========================== */
+
+ $.fn.scrollspy = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('scrollspy')
+ , options = typeof option == 'object' && option
+ if (!data) $this.data('scrollspy', (data = new ScrollSpy(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ $.fn.scrollspy.Constructor = ScrollSpy
+
+ $.fn.scrollspy.defaults = {
+ offset: 10
+ }
+
+
+ /* SCROLLSPY DATA-API
+ * ================== */
+
+ $(function () {
+ $('[data-spy="scroll"]').each(function () {
+ var $spy = $(this)
+ $spy.scrollspy($spy.data())
+ })
+ })
+
+}(window.jQuery);/* ========================================================
+ * bootstrap-tab.js v2.0.4
+ * http://twitter.github.com/bootstrap/javascript.html#tabs
+ * ========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ======================================================== */
+
+
+!function ($) {
+
+ "use strict"; // jshint ;_;
+
+
+ /* TAB CLASS DEFINITION
+ * ==================== */
+
+ var Tab = function ( element ) {
+ this.element = $(element)
+ }
+
+ Tab.prototype = {
+
+ constructor: Tab
+
+ , show: function () {
+ var $this = this.element
+ , $ul = $this.closest('ul:not(.dropdown-menu)')
+ , selector = $this.attr('data-target')
+ , previous
+ , $target
+ , e
+
+ if (!selector) {
+ selector = $this.attr('href')
+ selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
+ }
+
+ if ( $this.parent('li').hasClass('active') ) return
+
+ previous = $ul.find('.active a').last()[0]
+
+ e = $.Event('show', {
+ relatedTarget: previous
+ })
+
+ $this.trigger(e)
+
+ if (e.isDefaultPrevented()) return
+
+ $target = $(selector)
+
+ this.activate($this.parent('li'), $ul)
+ this.activate($target, $target.parent(), function () {
+ $this.trigger({
+ type: 'shown'
+ , relatedTarget: previous
+ })
+ })
+ }
+
+ , activate: function ( element, container, callback) {
+ var $active = container.find('> .active')
+ , transition = callback
+ && $.support.transition
+ && $active.hasClass('fade')
+
+ function next() {
+ $active
+ .removeClass('active')
+ .find('> .dropdown-menu > .active')
+ .removeClass('active')
+
+ element.addClass('active')
+
+ if (transition) {
+ element[0].offsetWidth // reflow for transition
+ element.addClass('in')
+ } else {
+ element.removeClass('fade')
+ }
+
+ if ( element.parent('.dropdown-menu') ) {
+ element.closest('li.dropdown').addClass('active')
+ }
+
+ callback && callback()
+ }
+
+ transition ?
+ $active.one($.support.transition.end, next) :
+ next()
+
+ $active.removeClass('in')
+ }
+ }
+
+
+ /* TAB PLUGIN DEFINITION
+ * ===================== */
+
+ $.fn.tab = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('tab')
+ if (!data) $this.data('tab', (data = new Tab(this)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ $.fn.tab.Constructor = Tab
+
+
+ /* TAB DATA-API
+ * ============ */
+
+ $(function () {
+ $('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
+ e.preventDefault()
+ $(this).tab('show')
+ })
+ })
+
+}(window.jQuery);/* =============================================================
+ * bootstrap-typeahead.js v2.0.4
+ * http://twitter.github.com/bootstrap/javascript.html#typeahead
+ * =============================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================ */
+
+
+!function($){
+
+ "use strict"; // jshint ;_;
+
+
+ /* TYPEAHEAD PUBLIC CLASS DEFINITION
+ * ================================= */
+
+ var Typeahead = function (element, options) {
+ this.$element = $(element)
+ this.options = $.extend({}, $.fn.typeahead.defaults, options)
+ this.matcher = this.options.matcher || this.matcher
+ this.sorter = this.options.sorter || this.sorter
+ this.highlighter = this.options.highlighter || this.highlighter
+ this.updater = this.options.updater || this.updater
+ this.$menu = $(this.options.menu).appendTo('body')
+ this.source = this.options.source
+ this.shown = false
+ this.listen()
+ }
+
+ Typeahead.prototype = {
+
+ constructor: Typeahead
+
+ , select: function () {
+ var val = this.$menu.find('.active').attr('data-value')
+ this.$element
+ .val(this.updater(val))
+ .change()
+ return this.hide()
+ }
+
+ , updater: function (item) {
+ return item
+ }
+
+ , show: function () {
+ var pos = $.extend({}, this.$element.offset(), {
+ height: this.$element[0].offsetHeight
+ })
+
+ this.$menu.css({
+ top: pos.top + pos.height
+ , left: pos.left
+ })
+
+ this.$menu.show()
+ this.shown = true
+ return this
+ }
+
+ , hide: function () {
+ this.$menu.hide()
+ this.shown = false
+ return this
+ }
+
+ , lookup: function (event) {
+ var that = this
+ , items
+ , q
+
+ this.query = this.$element.val()
+
+ if (!this.query) {
+ return this.shown ? this.hide() : this
+ }
+
+ items = $.grep(this.source, function (item) {
+ return that.matcher(item)
+ })
+
+ items = this.sorter(items)
+
+ if (!items.length) {
+ return this.shown ? this.hide() : this
+ }
+
+ return this.render(items.slice(0, this.options.items)).show()
+ }
+
+ , matcher: function (item) {
+ return ~item.toLowerCase().indexOf(this.query.toLowerCase())
+ }
+
+ , sorter: function (items) {
+ var beginswith = []
+ , caseSensitive = []
+ , caseInsensitive = []
+ , item
+
+ while (item = items.shift()) {
+ if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item)
+ else if (~item.indexOf(this.query)) caseSensitive.push(item)
+ else caseInsensitive.push(item)
+ }
+
+ return beginswith.concat(caseSensitive, caseInsensitive)
+ }
+
+ , highlighter: function (item) {
+ var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&')
+ return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
+ return '<strong>' + match + '</strong>'
+ })
+ }
+
+ , render: function (items) {
+ var that = this
+
+ items = $(items).map(function (i, item) {
+ i = $(that.options.item).attr('data-value', item)
+ i.find('a').html(that.highlighter(item))
+ return i[0]
+ })
+
+ items.first().addClass('active')
+ this.$menu.html(items)
+ return this
+ }
+
+ , next: function (event) {
+ var active = this.$menu.find('.active').removeClass('active')
+ , next = active.next()
+
+ if (!next.length) {
+ next = $(this.$menu.find('li')[0])
+ }
+
+ next.addClass('active')
+ }
+
+ , prev: function (event) {
+ var active = this.$menu.find('.active').removeClass('active')
+ , prev = active.prev()
+
+ if (!prev.length) {
+ prev = this.$menu.find('li').last()
+ }
+
+ prev.addClass('active')
+ }
+
+ , listen: function () {
+ this.$element
+ .on('blur', $.proxy(this.blur, this))
+ .on('keypress', $.proxy(this.keypress, this))
+ .on('keyup', $.proxy(this.keyup, this))
+
+ if ($.browser.webkit || $.browser.msie) {
+ this.$element.on('keydown', $.proxy(this.keypress, this))
+ }
+
+ this.$menu
+ .on('click', $.proxy(this.click, this))
+ .on('mouseenter', 'li', $.proxy(this.mouseenter, this))
+ }
+
+ , keyup: function (e) {
+ switch(e.keyCode) {
+ case 40: // down arrow
+ case 38: // up arrow
+ break
+
+ case 9: // tab
+ case 13: // enter
+ if (!this.shown) return
+ this.select()
+ break
+
+ case 27: // escape
+ if (!this.shown) return
+ this.hide()
+ break
+
+ default:
+ this.lookup()
+ }
+
+ e.stopPropagation()
+ e.preventDefault()
+ }
+
+ , keypress: function (e) {
+ if (!this.shown) return
+
+ switch(e.keyCode) {
+ case 9: // tab
+ case 13: // enter
+ case 27: // escape
+ e.preventDefault()
+ break
+
+ case 38: // up arrow
+ if (e.type != 'keydown') break
+ e.preventDefault()
+ this.prev()
+ break
+
+ case 40: // down arrow
+ if (e.type != 'keydown') break
+ e.preventDefault()
+ this.next()
+ break
+ }
+
+ e.stopPropagation()
+ }
+
+ , blur: function (e) {
+ var that = this
+ setTimeout(function () { that.hide() }, 150)
+ }
+
+ , click: function (e) {
+ e.stopPropagation()
+ e.preventDefault()
+ this.select()
+ }
+
+ , mouseenter: function (e) {
+ this.$menu.find('.active').removeClass('active')
+ $(e.currentTarget).addClass('active')
+ }
+
+ }
+
+
+ /* TYPEAHEAD PLUGIN DEFINITION
+ * =========================== */
+
+ $.fn.typeahead = function (option) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('typeahead')
+ , options = typeof option == 'object' && option
+ if (!data) $this.data('typeahead', (data = new Typeahead(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ $.fn.typeahead.defaults = {
+ source: []
+ , items: 8
+ , menu: '<ul class="typeahead dropdown-menu"></ul>'
+ , item: '<li><a href="#"></a></li>'
+ }
+
+ $.fn.typeahead.Constructor = Typeahead
+
+
+ /* TYPEAHEAD DATA-API
+ * ================== */
+
+ $(function () {
+ $('body').on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
+ var $this = $(this)
+ if ($this.data('typeahead')) return
+ e.preventDefault()
+ $this.typeahead($this.data())
+ })
+ })
+
+}(window.jQuery); \ No newline at end of file
diff --git a/docs/js/bootstrap.min.js b/docs/js/bootstrap.min.js
new file mode 100644
index 00000000..14356981
--- /dev/null
+++ b/docs/js/bootstrap.min.js
@@ -0,0 +1,6 @@
+/*!
+* Bootstrap.js by @fat & @mdo
+* Copyright 2012 Twitter, Inc.
+* http://www.apache.org/licenses/LICENSE-2.0.txt
+*/
+!function(a){a(function(){"use strict",a.support.transition=function(){var a=function(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",msTransition:"MSTransitionEnd",transition:"transitionend"},c;for(c in b)if(a.style[c]!==undefined)return b[c]}();return a&&{end:a}}()})}(window.jQuery),!function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function f(){e.trigger("closed").remove()}var c=a(this),d=c.attr("data-target"),e;d||(d=c.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),e=a(d),b&&b.preventDefault(),e.length||(e=c.hasClass("alert")?c:c.parent()),e.trigger(b=a.Event("close"));if(b.isDefaultPrevented())return;e.removeClass("in"),a.support.transition&&e.hasClass("fade")?e.on(a.support.transition.end,f):f()},a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("alert");e||d.data("alert",e=new c(this)),typeof b=="string"&&e[b].call(d)})},a.fn.alert.Constructor=c,a(function(){a("body").on("click.alert.data-api",b,c.prototype.close)})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.button.defaults,c)};b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.data(),e=c.is("input")?"val":"html";a+="Text",d.resetText||c.data("resetText",c[e]()),c[e](d[a]||this.options[a]),setTimeout(function(){a=="loadingText"?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.parent('[data-toggle="buttons-radio"]');a&&a.find(".active").removeClass("active"),this.$element.toggleClass("active")},a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("button"),f=typeof c=="object"&&c;e||d.data("button",e=new b(this,f)),c=="toggle"?e.toggle():c&&e.setState(c)})},a.fn.button.defaults={loadingText:"loading..."},a.fn.button.Constructor=b,a(function(){a("body").on("click.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle")})})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=c,this.options.slide&&this.slide(this.options.slide),this.options.pause=="hover"&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.prototype={cycle:function(b){return b||(this.paused=!1),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},to:function(b){var c=this.$element.find(".active"),d=c.parent().children(),e=d.index(c),f=this;if(b>d.length-1||b<0)return;return this.sliding?this.$element.one("slid",function(){f.to(b)}):e==b?this.pause().cycle():this.slide(b>e?"next":"prev",a(d[b]))},pause:function(a){return a||(this.paused=!0),clearInterval(this.interval),this.interval=null,this},next:function(){if(this.sliding)return;return this.slide("next")},prev:function(){if(this.sliding)return;return this.slide("prev")},slide:function(b,c){var d=this.$element.find(".active"),e=c||d[b](),f=this.interval,g=b=="next"?"left":"right",h=b=="next"?"first":"last",i=this,j=a.Event("slide");this.sliding=!0,f&&this.pause(),e=e.length?e:this.$element.find(".item")[h]();if(e.hasClass("active"))return;if(a.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(j);if(j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),this.$element.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid")},0)})}else{this.$element.trigger(j);if(j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return f&&this.cycle(),this}},a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("carousel"),f=a.extend({},a.fn.carousel.defaults,typeof c=="object"&&c);e||d.data("carousel",e=new b(this,f)),typeof c=="number"?e.to(c):typeof c=="string"||(c=f.slide)?e[c]():f.interval&&e.cycle()})},a.fn.carousel.defaults={interval:5e3,pause:"hover"},a.fn.carousel.Constructor=b,a(function(){a("body").on("click.carousel.data-api","[data-slide]",function(b){var c=a(this),d,e=a(c.attr("data-target")||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,"")),f=!e.data("modal")&&a.extend({},e.data(),c.data());e.carousel(f),b.preventDefault()})})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.collapse.defaults,c),this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.prototype={constructor:b,dimension:function(){var a=this.$element.hasClass("width");return a?"width":"height"},show:function(){var b,c,d,e;if(this.transitioning)return;b=this.dimension(),c=a.camelCase(["scroll",b].join("-")),d=this.$parent&&this.$parent.find("> .accordion-group > .in");if(d&&d.length){e=d.data("collapse");if(e&&e.transitioning)return;d.collapse("hide"),e||d.data("collapse",null)}this.$element[b](0),this.transition("addClass",a.Event("show"),"shown"),this.$element[b](this.$element[0][c])},hide:function(){var b;if(this.transitioning)return;b=this.dimension(),this.reset(this.$element[b]()),this.transition("removeClass",a.Event("hide"),"hidden"),this.$element[b](0)},reset:function(a){var b=this.dimension();return this.$element.removeClass("collapse")[b](a||"auto")[0].offsetWidth,this.$element[a!==null?"addClass":"removeClass"]("collapse"),this},transition:function(b,c,d){var e=this,f=function(){c.type=="show"&&e.reset(),e.transitioning=0,e.$element.trigger(d)};this.$element.trigger(c);if(c.isDefaultPrevented())return;this.transitioning=1,this.$element[b]("in"),a.support.transition&&this.$element.hasClass("collapse")?this.$element.one(a.support.transition.end,f):f()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}},a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("collapse"),f=typeof c=="object"&&c;e||d.data("collapse",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.collapse.defaults={toggle:!0},a.fn.collapse.Constructor=b,a(function(){a("body").on("click.collapse.data-api","[data-toggle=collapse]",function(b){var c=a(this),d,e=c.attr("data-target")||b.preventDefault()||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),f=a(e).data("collapse")?"toggle":c.data();a(e).collapse(f)})})}(window.jQuery),!function(a){function d(){a(b).parent().removeClass("open")}"use strict";var b='[data-toggle="dropdown"]',c=function(b){var c=a(b).on("click.dropdown.data-api",this.toggle);a("html").on("click.dropdown.data-api",function(){c.parent().removeClass("open")})};c.prototype={constructor:c,toggle:function(b){var c=a(this),e,f,g;if(c.is(".disabled, :disabled"))return;return f=c.attr("data-target"),f||(f=c.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,"")),e=a(f),e.length||(e=c.parent()),g=e.hasClass("open"),d(),g||e.toggleClass("open"),!1}},a.fn.dropdown=function(b){return this.each(function(){var d=a(this),e=d.data("dropdown");e||d.data("dropdown",e=new c(this)),typeof b=="string"&&e[b].call(d)})},a.fn.dropdown.Constructor=c,a(function(){a("html").on("click.dropdown.data-api",d),a("body").on("click.dropdown",".dropdown form",function(a){a.stopPropagation()}).on("click.dropdown.data-api",b,c.prototype.toggle)})}(window.jQuery),!function(a){function c(){var b=this,c=setTimeout(function(){b.$element.off(a.support.transition.end),d.call(b)},500);this.$element.one(a.support.transition.end,function(){clearTimeout(c),d.call(b)})}function d(a){this.$element.hide().trigger("hidden"),e.call(this)}function e(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=a.support.transition&&d;this.$backdrop=a('<div class="modal-backdrop '+d+'" />').appendTo(document.body),this.options.backdrop!="static"&&this.$backdrop.click(a.proxy(this.hide,this)),e&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),e?this.$backdrop.one(a.support.transition.end,b):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,a.proxy(f,this)):f.call(this)):b&&b()}function f(){this.$backdrop.remove(),this.$backdrop=null}function g(){var b=this;this.isShown&&this.options.keyboard?a(document).on("keyup.dismiss.modal",function(a){a.which==27&&b.hide()}):this.isShown||a(document).off("keyup.dismiss.modal")}"use strict";var b=function(b,c){this.options=c,this.$element=a(b).delegate('[data-dismiss="modal"]',"click.dismiss.modal",a.proxy(this.hide,this))};b.prototype={constructor:b,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var b=this,c=a.Event("show");this.$element.trigger(c);if(this.isShown||c.isDefaultPrevented())return;a("body").addClass("modal-open"),this.isShown=!0,g.call(this),e.call(this,function(){var c=a.support.transition&&b.$element.hasClass("fade");b.$element.parent().length||b.$element.appendTo(document.body),b.$element.show(),c&&b.$element[0].offsetWidth,b.$element.addClass("in"),c?b.$element.one(a.support.transition.end,function(){b.$element.trigger("shown")}):b.$element.trigger("shown")})},hide:function(b){b&&b.preventDefault();var e=this;b=a.Event("hide"),this.$element.trigger(b);if(!this.isShown||b.isDefaultPrevented())return;this.isShown=!1,a("body").removeClass("modal-open"),g.call(this),this.$element.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?c.call(this):d.call(this)}},a.fn.modal=function(c){return this.each(function(){var d=a(this),e=d.data("modal"),f=a.extend({},a.fn.modal.defaults,d.data(),typeof c=="object"&&c);e||d.data("modal",e=new b(this,f)),typeof c=="string"?e[c]():f.show&&e.show()})},a.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},a.fn.modal.Constructor=b,a(function(){a("body").on("click.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d,e=a(c.attr("data-target")||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("modal")?"toggle":a.extend({},e.data(),c.data());b.preventDefault(),e.modal(f)})})}(window.jQuery),!function(a){"use strict";var b=function(a,b){this.init("tooltip",a,b)};b.prototype={constructor:b,init:function(b,c,d){var e,f;this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.enabled=!0,this.options.trigger!="manual"&&(e=this.options.trigger=="hover"?"mouseenter":"focus",f=this.options.trigger=="hover"?"mouseleave":"blur",this.$element.on(e,this.options.selector,a.proxy(this.enter,this)),this.$element.on(f,this.options.selector,a.proxy(this.leave,this))),this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(b){return b=a.extend({},a.fn[this.type].defaults,b,this.$element.data()),b.delay&&typeof b.delay=="number"&&(b.delay={show:b.delay,hide:b.delay}),b},enter:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);if(!c.options.delay||!c.options.delay.show)return c.show();clearTimeout(this.timeout),c.hoverState="in",this.timeout=setTimeout(function(){c.hoverState=="in"&&c.show()},c.options.delay.show)},leave:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!c.options.delay||!c.options.delay.hide)return c.hide();c.hoverState="out",this.timeout=setTimeout(function(){c.hoverState=="out"&&c.hide()},c.options.delay.hide)},show:function(){var a,b,c,d,e,f,g;if(this.hasContent()&&this.enabled){a=this.tip(),this.setContent(),this.options.animation&&a.addClass("fade"),f=typeof this.options.placement=="function"?this.options.placement.call(this,a[0],this.$element[0]):this.options.placement,b=/in/.test(f),a.remove().css({top:0,left:0,display:"block"}).appendTo(b?this.$element:document.body),c=this.getPosition(b),d=a[0].offsetWidth,e=a[0].offsetHeight;switch(b?f.split(" ")[1]:f){case"bottom":g={top:c.top+c.height,left:c.left+c.width/2-d/2};break;case"top":g={top:c.top-e,left:c.left+c.width/2-d/2};break;case"left":g={top:c.top+c.height/2-e/2,left:c.left-d};break;case"right":g={top:c.top+c.height/2-e/2,left:c.left+c.width}}a.css(g).addClass(f).addClass("in")}},isHTML:function(a){return typeof a!="string"||a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3||/^(?:[^<]*<[\w\W]+>[^>]*$)/.exec(a)},setContent:function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.isHTML(b)?"html":"text"](b),a.removeClass("fade in top bottom left right")},hide:function(){function d(){var b=setTimeout(function(){c.off(a.support.transition.end).remove()},500);c.one(a.support.transition.end,function(){clearTimeout(b),c.remove()})}var b=this,c=this.tip();c.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d():c.remove()},fixTitle:function(){var a=this.$element;(a.attr("title")||typeof a.attr("data-original-title")!="string")&&a.attr("data-original-title",a.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},getPosition:function(b){return a.extend({},b?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||(typeof c.title=="function"?c.title.call(b[0]):c.title),a},tip:function(){return this.$tip=this.$tip||a(this.options.template)},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(){this[this.tip().hasClass("in")?"hide":"show"]()}},a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("tooltip"),f=typeof c=="object"&&c;e||d.data("tooltip",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover",title:"",delay:0}}(window.jQuery),!function(a){"use strict";var b=function(a,b){this.init("popover",a,b)};b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype,{constructor:b,setContent:function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.isHTML(b)?"html":"text"](b),a.find(".popover-content > *")[this.isHTML(c)?"html":"text"](c),a.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-content")||(typeof c.content=="function"?c.content.call(b[0]):c.content),a},tip:function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip}}),a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("popover"),f=typeof c=="object"&&c;e||d.data("popover",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.defaults=a.extend({},a.fn.tooltip.defaults,{placement:"right",content:"",template:'<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'})}(window.jQuery),!function(a){function b(b,c){var d=a.proxy(this.process,this),e=a(b).is("body")?a(window):a(b),f;this.options=a.extend({},a.fn.scrollspy.defaults,c),this.$scrollElement=e.on("scroll.scroll.data-api",d),this.selector=(this.options.target||(f=a(b).attr("href"))&&f.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.$body=a("body"),this.refresh(),this.process()}"use strict",b.prototype={constructor:b,refresh:function(){var b=this,c;this.offsets=a([]),this.targets=a([]),c=this.$body.find(this.selector).map(function(){var b=a(this),c=b.data("target")||b.attr("href"),d=/^#\w/.test(c)&&a(c);return d&&c.length&&[[d.position().top,c]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},process:function(){var a=this.$scrollElement.scrollTop()+this.options.offset,b=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,c=b-this.$scrollElement.height(),d=this.offsets,e=this.targets,f=this.activeTarget,g;if(a>=c)return f!=(g=e.last()[0])&&this.activate(g);for(g=d.length;g--;)f!=e[g]&&a>=d[g]&&(!d[g+1]||a<=d[g+1])&&this.activate(e[g])},activate:function(b){var c,d;this.activeTarget=b,a(this.selector).parent(".active").removeClass("active"),d=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',c=a(d).parent("li").addClass("active"),c.parent(".dropdown-menu")&&(c=c.closest("li.dropdown").addClass("active")),c.trigger("activate")}},a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("scrollspy"),f=typeof c=="object"&&c;e||d.data("scrollspy",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.defaults={offset:10},a(function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(window.jQuery),!function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype={constructor:b,show:function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.attr("data-target"),e,f,g;d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,""));if(b.parent("li").hasClass("active"))return;e=c.find(".active a").last()[0],g=a.Event("show",{relatedTarget:e}),b.trigger(g);if(g.isDefaultPrevented())return;f=a(d),this.activate(b.parent("li"),c),this.activate(f,f.parent(),function(){b.trigger({type:"shown",relatedTarget:e})})},activate:function(b,c,d){function g(){e.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),f?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var e=c.find("> .active"),f=d&&a.support.transition&&e.hasClass("fade");f?e.one(a.support.transition.end,g):g(),e.removeClass("in")}},a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("tab");e||d.data("tab",e=new b(this)),typeof c=="string"&&e[c]()})},a.fn.tab.Constructor=b,a(function(){a("body").on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.typeahead.defaults,c),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.updater=this.options.updater||this.updater,this.$menu=a(this.options.menu).appendTo("body"),this.source=this.options.source,this.shown=!1,this.listen()};b.prototype={constructor:b,select:function(){var a=this.$menu.find(".active").attr("data-value");return this.$element.val(this.updater(a)).change(),this.hide()},updater:function(a){return a},show:function(){var b=a.extend({},this.$element.offset(),{height:this.$element[0].offsetHeight});return this.$menu.css({top:b.top+b.height,left:b.left}),this.$menu.show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(b){var c=this,d,e;return this.query=this.$element.val(),this.query?(d=a.grep(this.source,function(a){return c.matcher(a)}),d=this.sorter(d),d.length?this.render(d.slice(0,this.options.items)).show():this.shown?this.hide():this):this.shown?this.hide():this},matcher:function(a){return~a.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(a){var b=[],c=[],d=[],e;while(e=a.shift())e.toLowerCase().indexOf(this.query.toLowerCase())?~e.indexOf(this.query)?c.push(e):d.push(e):b.push(e);return b.concat(c,d)},highlighter:function(a){var b=this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&");return a.replace(new RegExp("("+b+")","ig"),function(a,b){return"<strong>"+b+"</strong>"})},render:function(b){var c=this;return b=a(b).map(function(b,d){return b=a(c.options.item).attr("data-value",d),b.find("a").html(c.highlighter(d)),b[0]}),b.first().addClass("active"),this.$menu.html(b),this},next:function(b){var c=this.$menu.find(".active").removeClass("active"),d=c.next();d.length||(d=a(this.$menu.find("li")[0])),d.addClass("active")},prev:function(a){var b=this.$menu.find(".active").removeClass("active"),c=b.prev();c.length||(c=this.$menu.find("li").last()),c.addClass("active")},listen:function(){this.$element.on("blur",a.proxy(this.blur,this)).on("keypress",a.proxy(this.keypress,this)).on("keyup",a.proxy(this.keyup,this)),(a.browser.webkit||a.browser.msie)&&this.$element.on("keydown",a.proxy(this.keypress,this)),this.$menu.on("click",a.proxy(this.click,this)).on("mouseenter","li",a.proxy(this.mouseenter,this))},keyup:function(a){switch(a.keyCode){case 40:case 38:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}a.stopPropagation(),a.preventDefault()},keypress:function(a){if(!this.shown)return;switch(a.keyCode){case 9:case 13:case 27:a.preventDefault();break;case 38:if(a.type!="keydown")break;a.preventDefault(),this.prev();break;case 40:if(a.type!="keydown")break;a.preventDefault(),this.next()}a.stopPropagation()},blur:function(a){var b=this;setTimeout(function(){b.hide()},150)},click:function(a){a.stopPropagation(),a.preventDefault(),this.select()},mouseenter:function(b){this.$menu.find(".active").removeClass("active"),a(b.currentTarget).addClass("active")}},a.fn.typeahead=function(c){return this.each(function(){var d=a(this),e=d.data("typeahead"),f=typeof c=="object"&&c;e||d.data("typeahead",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.typeahead.defaults={source:[],items:8,menu:'<ul class="typeahead dropdown-menu"></ul>',item:'<li><a href="#"></a></li>'},a.fn.typeahead.Constructor=b,a(function(){a("body").on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(b){var c=a(this);if(c.data("typeahead"))return;b.preventDefault(),c.typeahead(c.data())})})}(window.jQuery); \ No newline at end of file
diff --git a/docs/mccall81_245T.html b/docs/mccall81_245T.html
new file mode 100644
index 00000000..426a35c4
--- /dev/null
+++ b/docs/mccall81_245T.html
@@ -0,0 +1,232 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>mccall81_245T. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+ Datasets on aerobic soil metabolism of 2,4,5-T in six soils
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="symbol">mccall81_245T</span></pre>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>Time course of 2,4,5-trichlorophenoxyacetic acid, and the corresponding
+ 2,4,5-trichlorophenol and 2,4,5-trichloroanisole as recovered in diethylether
+ extracts.</p>
+
+ </div>
+
+ <div class="Format">
+ <h2>Format</h2>
+
+ <p>A dataframe containing the following variables.
+ <dl>
+ <dt><code>name</code></dt><dd>the name of the compound observed. Note that T245 is used as
+ an acronym for 2,4,5-T. T245 is a legitimate object name
+ in R, which is necessary for specifying models using
+ <code><a href='mkinmod.html'>mkinmod</a></code>.</dd></p>
+
+ <p><dt><code>time</code></dt><dd>a numeric vector containing sampling times in days after
+ treatment</dd></p>
+
+ <p><dt><code>value</code></dt><dd>a numeric vector containing concentrations in percent of applied radioactivity</dd></p>
+
+ <p><dt><code>soil</code></dt><dd>a factor containing the name of the soil</dd></p>
+
+ <p></dl></p>
+
+ <p></p>
+
+ </div>
+
+ <div class="Source">
+ <h2>Source</h2>
+
+ <p>McCall P, Vrona SA, Kelley SS (1981) Fate of uniformly carbon-14 ring labeled 2,4,5-Trichlorophenoxyacetic acid and 2,4-dichlorophenoxyacetic acid. J Agric Chem 29, 100-107
+ <a href = 'http://dx.doi.org/10.1021/jf00103a026'>http://dx.doi.org/10.1021/jf00103a026</a></p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'> <span class="symbol">SFO_SFO_SFO</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mkinmod.html'>mkinmod</a></span><span class="keyword">(</span><span class="argument">T245</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/list'>list</a></span><span class="keyword">(</span><span class="argument">type</span> <span class="argument">=</span> <span class="string">"SFO"</span><span class="keyword">,</span> <span class="argument">to</span> <span class="argument">=</span> <span class="string">"phenol"</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">phenol</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/list'>list</a></span><span class="keyword">(</span><span class="argument">type</span> <span class="argument">=</span> <span class="string">"SFO"</span><span class="keyword">,</span> <span class="argument">to</span> <span class="argument">=</span> <span class="string">"anisole"</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">anisole</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/list'>list</a></span><span class="keyword">(</span><span class="argument">type</span> <span class="argument">=</span> <span class="string">"SFO"</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<strong class='message'>Successfully compiled differential equation model from auto-generated C code.</strong>
+<div class='input'> <span class="comment">## Not run: ------------------------------------</span>
+<span class="comment"># fit.1 &lt;- mkinfit(SFO_SFO_SFO, subset(mccall81_245T, soil == "Commerce"))</span>
+<span class="comment"># summary(fit.1, data = FALSE)</span>
+<span class="comment"># </span>
+<span class="comment">## ---------------------------------------------</span>
+ <span class="comment"># No covariance matrix and k_phenol_sink is really small, therefore fix it to zero</span>
+ <span class="symbol">fit.2</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mkinfit.html'>mkinfit</a></span><span class="keyword">(</span><span class="symbol">SFO_SFO_SFO</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/subset'>subset</a></span><span class="keyword">(</span><span class="symbol">mccall81_245T</span><span class="keyword">,</span> <span class="symbol">soil</span> == <span class="string">"Commerce"</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">parms.ini</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">k_phenol_sink</span> <span class="argument">=</span> <span class="number">0</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">fixed_parms</span> <span class="argument">=</span> <span class="string">"k_phenol_sink"</span><span class="keyword">,</span> <span class="argument">quiet</span> <span class="argument">=</span> <span class="number">TRUE</span><span class="keyword">)</span>
+ <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/summary'>summary</a></span><span class="keyword">(</span><span class="symbol">fit.2</span><span class="keyword">,</span> <span class="argument">data</span> <span class="argument">=</span> <span class="number">FALSE</span><span class="keyword">)</span></div>
+<div class='output'>mkin version: 0.9.44.9000
+R version: 3.3.1
+Date of fit: Sat Sep 10 05:53:00 2016
+Date of summary: Sat Sep 10 05:53:00 2016
+
+Equations:
+d_T245 = - k_T245_sink * T245 - k_T245_phenol * T245
+d_phenol = + k_T245_phenol * T245 - k_phenol_sink * phenol -
+ k_phenol_anisole * phenol
+d_anisole = + k_phenol_anisole * phenol - k_anisole_sink * anisole
+
+Model predictions using solution type deSolve
+
+Fitted with method Port using 246 model solutions performed in 1.45 s
+
+Weighting: none
+
+Starting values for parameters to be optimised:
+ value type
+T245_0 100.9000 state
+k_T245_sink 0.1000 deparm
+k_T245_phenol 0.1001 deparm
+k_phenol_anisole 0.1002 deparm
+k_anisole_sink 0.1003 deparm
+
+Starting values for the transformed parameters actually optimised:
+ value lower upper
+T245_0 100.900000 -Inf Inf
+log_k_T245_sink -2.302585 -Inf Inf
+log_k_T245_phenol -2.301586 -Inf Inf
+log_k_phenol_anisole -2.300587 -Inf Inf
+log_k_anisole_sink -2.299590 -Inf Inf
+
+Fixed parameter values:
+ value type
+phenol_0 0 state
+anisole_0 0 state
+k_phenol_sink 0 deparm
+
+Optimised, transformed parameters with symmetric confidence intervals:
+ Estimate Std. Error Lower Upper
+T245_0 103.9000 2.35200 98.930 108.8000
+log_k_T245_sink -4.1130 0.13250 -4.390 -3.8350
+log_k_T245_phenol -3.6120 0.05002 -3.716 -3.5070
+log_k_phenol_anisole -0.9037 0.30580 -1.544 -0.2637
+log_k_anisole_sink -5.0090 0.11180 -5.243 -4.7750
+
+Parameter correlation:
+ T245_0 log_k_T245_sink log_k_T245_phenol
+T245_0 1.00000 0.63761 -0.1742
+log_k_T245_sink 0.63761 1.00000 -0.3831
+log_k_T245_phenol -0.17416 -0.38313 1.0000
+log_k_phenol_anisole -0.05948 0.08745 -0.3047
+log_k_anisole_sink -0.16208 -0.60469 0.5227
+ log_k_phenol_anisole log_k_anisole_sink
+T245_0 -0.05948 -0.1621
+log_k_T245_sink 0.08745 -0.6047
+log_k_T245_phenol -0.30470 0.5227
+log_k_phenol_anisole 1.00000 -0.1774
+log_k_anisole_sink -0.17744 1.0000
+
+Residual standard error: 2.706 on 19 degrees of freedom
+
+Backtransformed parameters:
+Confidence intervals for internally transformed parameters are asymmetric.
+t-test (unrealistically) based on the assumption of normal distribution
+for estimators of untransformed parameters.
+ Estimate t value Pr(&gt;t) Lower Upper
+T245_0 1.039e+02 44.160 6.462e-21 98.930000 108.80000
+k_T245_sink 1.636e-02 7.545 1.978e-07 0.012400 0.02159
+k_T245_phenol 2.701e-02 19.990 1.607e-14 0.024320 0.02999
+k_phenol_anisole 4.051e-01 3.270 2.014e-03 0.213600 0.76820
+k_anisole_sink 6.679e-03 8.942 1.544e-08 0.005285 0.00844
+
+Chi2 error levels in percent:
+ err.min n.optim df
+All data 9.831 5 17
+T245 7.908 3 5
+phenol 99.808 1 6
+anisole 5.379 1 6
+
+Resulting formation fractions:
+ ff
+T245_sink 0.3772
+T245_phenol 0.6228
+phenol_anisole 1.0000
+phenol_sink 0.0000
+anisole_sink 1.0000
+
+Estimated disappearance times:
+ DT50 DT90
+T245 15.982 53.091
+phenol 1.711 5.685
+anisole 103.784 344.763
+</div></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>mccall81_245T</li>
+ </ul>
+ <ul>
+ <li>datasets</li>
+ </ul> -->
+
+
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/mkin_long_to_wide.html b/docs/mkin_long_to_wide.html
new file mode 100644
index 00000000..d4bb7ee2
--- /dev/null
+++ b/docs/mkin_long_to_wide.html
@@ -0,0 +1,150 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>mkin_long_to_wide. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="
+ Johannes Ranke
+">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+ Convert a dataframe from long to wide format
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="functioncall"><a href='mkin_long_to_wide.html'>mkin_long_to_wide</a></span><span class="keyword">(</span><span class="symbol">long_data</span><span class="keyword">,</span> <span class="argument">time</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="string">"time"</span><span class="keyword">,</span> <span class="argument">outtime</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="string">"time"</span><span class="keyword">)</span></pre>
+
+ <h2>Arguments</h2>
+ <dl>
+ <dt>long_data</dt>
+ <dd>
+ The dataframe must contain one variable called &quot;time&quot; with the time values specified by the
+ <code>time</code> argument, one column called &quot;name&quot; with the grouping of the observed values, and
+ finally one column of observed values called &quot;value&quot;.
+</dd>
+ <dt>time</dt>
+ <dd>
+ The name of the time variable in the long input data.
+</dd>
+ <dt>outtime</dt>
+ <dd>
+ The name of the time variable in the wide output data.
+</dd>
+ </dl>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>This function takes a dataframe in the long form as required by <code><a href='http://www.rdocumentation.org/packages/FME/topics/modCost'>modCost</a></code>
+ and converts it into a dataframe with one independent variable and several
+ dependent variables as columns.</p>
+
+ </div>
+
+ <div class="Value">
+ <h2>Value</h2>
+
+ <p><dl>
+ Dataframe in wide format.
+</dl></p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'><span class="functioncall"><a href='mkin_long_to_wide.html'>mkin_long_to_wide</a></span><span class="keyword">(</span><span class="symbol">FOCUS_2006_D</span><span class="keyword">)</span></div>
+<div class='output'> time parent m1
+1 0 99.46 0.00
+2 0 102.04 0.00
+3 1 93.50 4.84
+4 1 92.50 5.64
+5 3 63.23 12.91
+6 3 68.99 12.96
+7 7 52.32 22.97
+8 7 55.13 24.47
+9 14 27.27 41.69
+10 14 26.64 33.21
+11 21 11.50 44.37
+12 21 11.64 46.44
+13 35 2.85 41.22
+14 35 2.91 37.95
+15 50 0.69 41.19
+16 50 0.63 40.01
+17 75 0.05 40.09
+18 75 0.06 33.85
+19 100 NA 31.04
+20 100 NA 33.13
+21 120 NA 25.15
+22 120 NA 33.31
+</div></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>mkin_long_to_wide</li>
+ </ul>
+ <ul>
+ <li> manip </li>
+ </ul> -->
+
+
+
+ <h2>Author</h2>
+
+ Johannes Ranke
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/mkin_wide_to_long.html b/docs/mkin_wide_to_long.html
new file mode 100644
index 00000000..73c54a28
--- /dev/null
+++ b/docs/mkin_wide_to_long.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>mkin_wide_to_long. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="
+ Johannes Ranke
+">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+ Convert a dataframe with observations over time into long format
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="functioncall"><a href='mkin_wide_to_long.html'>mkin_wide_to_long</a></span><span class="keyword">(</span><span class="symbol">wide_data</span><span class="keyword">,</span> <span class="argument">time</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="string">"t"</span><span class="keyword">)</span></pre>
+
+ <h2>Arguments</h2>
+ <dl>
+ <dt>wide_data</dt>
+ <dd>
+ The dataframe must contain one variable with the time values specified by the
+ <code>time</code> argument and usually more than one column of observed values.
+</dd>
+ <dt>time</dt>
+ <dd>
+ The name of the time variable.
+</dd>
+ </dl>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>This function simply takes a dataframe with one independent variable and several
+ dependent variable and converts it into the long form as required by <code><a href='http://www.rdocumentation.org/packages/FME/topics/modCost'>modCost</a></code>.</p>
+
+ </div>
+
+ <div class="Value">
+ <h2>Value</h2>
+
+ <p><dl>
+ Dataframe in long format as needed for <code><a href='http://www.rdocumentation.org/packages/FME/topics/modCost'>modCost</a></code>.
+</dl></p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'><span class="symbol">wide</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/data.frame'>data.frame</a></span><span class="keyword">(</span><span class="argument">t</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="number">1</span><span class="keyword">,</span><span class="number">2</span><span class="keyword">,</span><span class="number">3</span><span class="keyword">)</span><span class="keyword">,</span> <span class="argument">x</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="number">1</span><span class="keyword">,</span><span class="number">4</span><span class="keyword">,</span><span class="number">7</span><span class="keyword">)</span><span class="keyword">,</span> <span class="argument">y</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="number">3</span><span class="keyword">,</span><span class="number">4</span><span class="keyword">,</span><span class="number">5</span><span class="keyword">)</span><span class="keyword">)</span>
+<span class="functioncall"><a href='mkin_wide_to_long.html'>mkin_wide_to_long</a></span><span class="keyword">(</span><span class="symbol">wide</span><span class="keyword">)</span></div>
+<div class='output'> name time value
+1 x 1 1
+2 x 2 4
+3 x 3 7
+4 y 1 3
+5 y 2 4
+6 y 3 5
+</div></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>mkin_wide_to_long</li>
+ </ul>
+ <ul>
+ <li> manip </li>
+ </ul> -->
+
+
+
+ <h2>Author</h2>
+
+ Johannes Ranke
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/mkinds.html b/docs/mkinds.html
new file mode 100644
index 00000000..48b2e904
--- /dev/null
+++ b/docs/mkinds.html
@@ -0,0 +1,121 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>mkinds. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>A dataset class for mkin</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="symbol">mkinds</span></pre>
+
+ <div class="Format">
+ <h2>Format</h2>
+
+ <p>An <code><a href='http://www.rdocumentation.org/packages/R6/topics/R6Class'>R6Class</a></code> generator object.</p>
+
+ </div>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>A dataset class for mkin</p>
+
+ </div>
+
+ <div class="Fields">
+ <h2>Fields</h2>
+
+ <p></p>
+
+ <p><dl>
+<dt><code>title</code></dt><dd>A full title for the dataset</dd></p>
+
+ <p><dt><code>sampling</code></dt><dd>times The sampling times</dd></p>
+
+ <p><dt><code>time_unit</code></dt><dd>The time unit</dd></p>
+
+ <p><dt><code>observed</code></dt><dd>Names of the observed compounds</dd></p>
+
+ <p><dt><code>unit</code></dt><dd>The unit of the observations</dd></p>
+
+ <p><dt><code>replicates</code></dt><dd>The number of replicates</dd></p>
+
+ <p><dt><code>data</code></dt><dd>A dataframe with at least the columns name, time and value
+in order to be compatible with mkinfit</dd></p>
+
+ <p></dl></p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'><span class="symbol">mds</span> <span class="assignement">&lt;-</span> <span class="symbol">mkinds</span><span class="keyword">$</span><span class="functioncall"><a href='http://www.rdocumentation.org/packages/methods/topics/new'>new</a></span><span class="keyword">(</span><span class="string">"FOCUS A"</span><span class="keyword">,</span> <span class="symbol">FOCUS_2006_A</span><span class="keyword">)</span></div></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>mkinds</li>
+ </ul>
+ <ul>
+ <li>datasets</li>
+ </ul> -->
+
+
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/mkinerrmin.html b/docs/mkinerrmin.html
new file mode 100644
index 00000000..58cf6d47
--- /dev/null
+++ b/docs/mkinerrmin.html
@@ -0,0 +1,161 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>mkinerrmin. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+Calculate the minimum error to assume in order to pass the variance test
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="functioncall"><a href='mkinerrmin.html'>mkinerrmin</a></span><span class="keyword">(</span><span class="symbol">fit</span><span class="keyword">,</span> <span class="argument">alpha</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">0.05</span><span class="keyword">)</span></pre>
+
+ <h2>Arguments</h2>
+ <dl>
+ <dt>fit</dt>
+ <dd>
+ an object of class <code><a href='mkinfit.html'>mkinfit</a></code>.
+ </dd>
+ <dt>alpha</dt>
+ <dd>
+ The confidence level chosen for the chi-squared test.
+</dd>
+ </dl>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>This function uses <code><a href='http://www.rdocumentation.org/packages/stats/topics/optimize'>optimize</a></code> in order to iteratively find the
+smallest relative error still resulting in passing the chi-squared test
+as defined in the FOCUS kinetics report from 2006.</p>
+
+ </div>
+
+ <div class="Value">
+ <h2>Value</h2>
+
+ <p><dl>
+ A dataframe with the following components:
+ <dt>err.min</dt><dd>The relative error, expressed as a fraction.</dd></p>
+
+ <p><dt>n.optim</dt><dd>The number of optimised parameters attributed to the data series.</dd></p>
+
+ <p><dt>df</dt><dd>The number of remaining degrees of freedom for the chi2 error level
+ calculations. Note that mean values are used for the chi2 statistic and
+ therefore every time point with observed values in the series only counts
+ one time.</dd></p>
+
+ <p>The dataframe has one row for the total dataset and one further row for
+ each observed state variable in the model.
+</dl></p>
+
+ </div>
+
+ <div class="Details">
+ <h2>Details</h2>
+
+ <p>This function is used internally by <code><a href='summary.mkinfit.html'>summary.mkinfit</a></code>.</p>
+
+ </div>
+
+ <div class="References">
+ <h2>References</h2>
+
+ <p>FOCUS (2006) &#147;Guidance Document on Estimating Persistence and
+ Degradation Kinetics from Environmental Fate Studies on Pesticides in EU
+ Registration&#148; Report of the FOCUS Work Group on Degradation Kinetics,
+ EC Document Reference Sanco/10058/2005 version 2.0, 434 pp,
+ <a href = 'http://focus.jrc.ec.europa.eu/dk'>http://focus.jrc.ec.europa.eu/dk</a></p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'><span class="symbol">SFO_SFO</span> <span class="assignement">=</span> <span class="functioncall"><a href='mkinmod.html'>mkinmod</a></span><span class="keyword">(</span><span class="argument">parent</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/list'>list</a></span><span class="keyword">(</span><span class="argument">type</span> <span class="argument">=</span> <span class="string">"SFO"</span><span class="keyword">,</span> <span class="argument">to</span> <span class="argument">=</span> <span class="string">"m1"</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">m1</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/list'>list</a></span><span class="keyword">(</span><span class="argument">type</span> <span class="argument">=</span> <span class="string">"SFO"</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">use_of_ff</span> <span class="argument">=</span> <span class="string">"max"</span><span class="keyword">)</span></div>
+<strong class='message'>Successfully compiled differential equation model from auto-generated C code.</strong>
+<div class='input'>
+<span class="symbol">fit_FOCUS_D</span> <span class="assignement">=</span> <span class="functioncall"><a href='mkinfit.html'>mkinfit</a></span><span class="keyword">(</span><span class="symbol">SFO_SFO</span><span class="keyword">,</span> <span class="symbol">FOCUS_2006_D</span><span class="keyword">,</span> <span class="argument">quiet</span> <span class="argument">=</span> <span class="number">TRUE</span><span class="keyword">)</span>
+<span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/Round'>round</a></span><span class="keyword">(</span><span class="functioncall"><a href='mkinerrmin.html'>mkinerrmin</a></span><span class="keyword">(</span><span class="symbol">fit_FOCUS_D</span><span class="keyword">)</span><span class="keyword">,</span> <span class="number">4</span><span class="keyword">)</span></div>
+<div class='output'> err.min n.optim df
+All data 0.0640 4 15
+parent 0.0646 2 7
+m1 0.0469 2 8
+</div>
+<div class='input'><span class="symbol">fit_FOCUS_E</span> <span class="assignement">=</span> <span class="functioncall"><a href='mkinfit.html'>mkinfit</a></span><span class="keyword">(</span><span class="symbol">SFO_SFO</span><span class="keyword">,</span> <span class="symbol">FOCUS_2006_E</span><span class="keyword">,</span> <span class="argument">quiet</span> <span class="argument">=</span> <span class="number">TRUE</span><span class="keyword">)</span>
+<span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/Round'>round</a></span><span class="keyword">(</span><span class="functioncall"><a href='mkinerrmin.html'>mkinerrmin</a></span><span class="keyword">(</span><span class="symbol">fit_FOCUS_E</span><span class="keyword">)</span><span class="keyword">,</span> <span class="number">4</span><span class="keyword">)</span></div>
+<div class='output'> err.min n.optim df
+All data 0.1544 4 13
+parent 0.1659 2 7
+m1 0.1095 2 6
+</div></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>mkinerrmin</li>
+ </ul>
+ <ul>
+ <li> manip </li>
+ </ul> -->
+
+
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/mkinfit.html b/docs/mkinfit.html
new file mode 100644
index 00000000..9264c59b
--- /dev/null
+++ b/docs/mkinfit.html
@@ -0,0 +1,538 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>mkinfit. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="
+ Johannes Ranke
+">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+ Fit a kinetic model to data with one or more state variables
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="functioncall"><a href='mkinfit.html'>mkinfit</a></span><span class="keyword">(</span><span class="symbol">mkinmod</span><span class="keyword">,</span> <span class="symbol">observed</span><span class="keyword">,</span>
+ <span class="argument">parms.ini</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="string">"auto"</span><span class="keyword">,</span>
+ <span class="argument">state.ini</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="string">"auto"</span><span class="keyword">,</span>
+ <span class="argument">fixed_parms</span>&nbsp;<span class="argument">=</span>&nbsp;NULL<span class="keyword">,</span> <span class="argument">fixed_initials</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/names'>names</a></span><span class="keyword">(</span><span class="symbol">mkinmod</span><span class="keyword">$</span><span class="symbol">diffs</span><span class="keyword">)</span><span class="keyword">[</span><span class="keyword">-</span><span class="number">1</span><span class="keyword">]</span><span class="keyword">,</span>
+ <span class="argument">from_max_mean</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">FALSE</span><span class="keyword">,</span>
+ <span class="argument">solution_type</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="string">"auto"</span><span class="keyword">,</span> <span class="string">"analytical"</span><span class="keyword">,</span> <span class="string">"eigen"</span><span class="keyword">,</span> <span class="string">"deSolve"</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">method.ode</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="string">"lsoda"</span><span class="keyword">,</span>
+ <span class="argument">use_compiled</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="string">"auto"</span><span class="keyword">,</span>
+ <span class="argument">method.modFit</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="string">"Port"</span><span class="keyword">,</span> <span class="string">"Marq"</span><span class="keyword">,</span> <span class="string">"SANN"</span><span class="keyword">,</span> <span class="string">"Nelder-Mead"</span><span class="keyword">,</span> <span class="string">"BFGS"</span><span class="keyword">,</span> <span class="string">"CG"</span><span class="keyword">,</span> <span class="string">"L-BFGS-B"</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">maxit.modFit</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="string">"auto"</span><span class="keyword">,</span>
+ <span class="argument">control.modFit</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/list'>list</a></span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">transform_rates</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">TRUE</span><span class="keyword">,</span>
+ <span class="argument">transform_fractions</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">TRUE</span><span class="keyword">,</span>
+ <span class="argument">plot</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">FALSE</span><span class="keyword">,</span> <span class="argument">quiet</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">FALSE</span><span class="keyword">,</span> <span class="argument">err</span>&nbsp;<span class="argument">=</span>&nbsp;NULL<span class="keyword">,</span> <span class="argument">weight</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="string">"none"</span><span class="keyword">,</span>
+ <span class="argument">scaleVar</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">FALSE</span><span class="keyword">,</span>
+ <span class="argument">atol</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">1e-8</span><span class="keyword">,</span> <span class="argument">rtol</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">1e-10</span><span class="keyword">,</span> <span class="argument">n.outtimes</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">100</span><span class="keyword">,</span>
+ <span class="argument">reweight.method</span>&nbsp;<span class="argument">=</span>&nbsp;NULL<span class="keyword">,</span>
+ <span class="argument">reweight.tol</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">1e-8</span><span class="keyword">,</span> <span class="argument">reweight.max.iter</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">10</span><span class="keyword">,</span>
+ <span class="argument">trace_parms</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">FALSE</span><span class="keyword">,</span> <span class="symbol">...</span><span class="keyword">)</span></pre>
+
+ <h2>Arguments</h2>
+ <dl>
+ <dt>mkinmod</dt>
+ <dd>
+ A list of class <code><a href='mkinmod.html'>mkinmod</a></code>, containing the kinetic model to be
+ fitted to the data, or one of the shorthand names (&quot;SFO&quot;, &quot;FOMC&quot;, &quot;DFOP&quot;,
+ &quot;HS&quot;, &quot;SFORB&quot;). If a shorthand name is given, a parent only degradation
+ model is generated for the variable with the highest value in
+ <code>observed</code>.
+ </dd>
+ <dt>observed</dt>
+ <dd>
+ The observed data. It has to be in the long format as described in
+ <code><a href='http://www.rdocumentation.org/packages/FME/topics/modFit'>modFit</a></code>, i.e. the first column called &quot;name&quot; must contain the
+ name of the observed variable for each data point. The second column must
+ contain the times of observation, named &quot;time&quot;. The third column must be
+ named &quot;value&quot; and contain the observed values. Optionally, a further column
+ can contain weights for each data point. Its name must be passed as a
+ further argument named <code>err</code> which is then passed on to
+ <code><a href='http://www.rdocumentation.org/packages/FME/topics/modFit'>modFit</a></code>.
+ </dd>
+ <dt>parms.ini</dt>
+ <dd>
+ A named vector of initial values for the parameters, including parameters
+ to be optimised and potentially also fixed parameters as indicated by
+ <code>fixed_parms</code>. If set to &quot;auto&quot;, initial values for rate constants
+ are set to default values. Using parameter names that are not in the model
+ gives an error.
+
+ It is possible to only specify a subset of the parameters that the model
+ needs. You can use the parameter lists &quot;bparms.ode&quot; from a previously
+ fitted model, which contains the differential equation parameters from this
+ model. This works nicely if the models are nested. An example is given
+ below.
+ </dd>
+ <dt>state.ini</dt>
+ <dd>
+ A named vector of initial values for the state variables of the model. In
+ case the observed variables are represented by more than one model
+ variable, the names will differ from the names of the observed variables
+ (see <code>map</code> component of <code><a href='mkinmod.html'>mkinmod</a></code>). The default is to set
+ the initial value of the first model variable to the mean of the time zero
+ values for the variable with the maximum observed value, and all others to 0.
+ If this variable has no time zero observations, its initial value is set to 100.
+ </dd>
+ <dt>fixed_parms</dt>
+ <dd>
+ The names of parameters that should not be optimised but rather kept at the
+ values specified in <code>parms.ini</code>.
+ </dd>
+ <dt>fixed_initials</dt>
+ <dd>
+ The names of model variables for which the initial state at time 0 should
+ be excluded from the optimisation. Defaults to all state variables except
+ for the first one.
+ </dd>
+ <dt>from_max_mean</dt>
+ <dd>
+ If this is set to TRUE, and the model has only one observed variable, then
+ data before the time of the maximum observed value (after averaging for each
+ sampling time) are discarded, and this time is subtracted from all
+ remaining time values, so the time of the maximum observed mean value is
+ the new time zero.
+ </dd>
+ <dt>solution_type</dt>
+ <dd>
+ If set to &quot;eigen&quot;, the solution of the system of differential equations is
+ based on the spectral decomposition of the coefficient matrix in cases that
+ this is possible. If set to &quot;deSolve&quot;, a numerical ode solver from package
+ <code><a href='http://www.rdocumentation.org/packages/deSolve/topics/deSolve'>deSolve</a></code> is used. If set to &quot;analytical&quot;, an analytical
+ solution of the model is used. This is only implemented for simple
+ degradation experiments with only one state variable, i.e. with no
+ metabolites. The default is &quot;auto&quot;, which uses &quot;analytical&quot; if possible,
+ otherwise &quot;eigen&quot; if the model can be expressed using eigenvalues and
+ eigenvectors, and finally &quot;deSolve&quot; for the remaining models (time
+ dependence of degradation rates and metabolites). This argument is passed
+ on to the helper function <code><a href='mkinpredict.html'>mkinpredict</a></code>.
+ </dd>
+ <dt>method.ode</dt>
+ <dd>
+ The solution method passed via <code><a href='mkinpredict.html'>mkinpredict</a></code> to
+ <code><a href='http://www.rdocumentation.org/packages/deSolve/topics/ode'>ode</a></code> in case the solution type is &quot;deSolve&quot;. The default
+ &quot;lsoda&quot; is performant, but sometimes fails to converge.
+ </dd>
+ <dt>use_compiled</dt>
+ <dd>
+ If set to <code>FALSE</code>, no compiled version of the <code><a href='mkinmod.html'>mkinmod</a></code>
+ model is used, in the calls to <code><a href='mkinpredict.html'>mkinpredict</a></code> even if
+ a compiled verion is present.
+ </dd>
+ <dt>method.modFit</dt>
+ <dd>
+ The optimisation method passed to <code><a href='http://www.rdocumentation.org/packages/FME/topics/modFit'>modFit</a></code>.
+
+ In order to optimally deal with problems where local minima occur, the
+ &quot;Port&quot; algorithm is now used per default as it is less prone to get trapped
+ in local minima and depends less on starting values for parameters than
+ the Levenberg Marquardt variant selected by &quot;Marq&quot;. However, &quot;Port&quot; needs
+ more iterations.
+
+ The former default &quot;Marq&quot; is the Levenberg Marquardt algorithm
+ <code><a href='http://www.rdocumentation.org/packages/minpack.lm/topics/nls.lm'>nls.lm</a></code> from the package <code>minpack.lm</code> and usually needs
+ the least number of iterations.
+
+ The &quot;Pseudo&quot; algorithm is not included because it needs finite parameter bounds
+ which are currently not supported.
+
+ The &quot;Newton&quot; algorithm is not included because its number of iterations
+ can not be controlled by <code>control.modFit</code> and it does not appear
+ to provide advantages over the other algorithms.
+ </dd>
+ <dt>maxit.modFit</dt>
+ <dd>
+ Maximum number of iterations in the optimisation. If not &quot;auto&quot;, this will
+ be passed to the method called by <code><a href='http://www.rdocumentation.org/packages/FME/topics/modFit'>modFit</a></code>, overriding
+ what may be specified in the next argument <code>control.modFit</code>.
+ </dd>
+ <dt>control.modFit</dt>
+ <dd>
+ Additional arguments passed to the optimisation method used by
+ <code><a href='http://www.rdocumentation.org/packages/FME/topics/modFit'>modFit</a></code>.
+ </dd>
+ <dt>transform_rates</dt>
+ <dd>
+ Boolean specifying if kinetic rate constants should be transformed in the
+ model specification used in the fitting for better compliance with the
+ assumption of normal distribution of the estimator. If TRUE, also
+ alpha and beta parameters of the FOMC model are log-transformed, as well
+ as k1 and k2 rate constants for the DFOP and HS models and the break point
+ tb of the HS model.
+ If FALSE, zero is used as a lower bound for the rates in the optimisation.
+ </dd>
+ <dt>transform_fractions</dt>
+ <dd>
+ Boolean specifying if formation fractions constants should be transformed in the
+ model specification used in the fitting for better compliance with the
+ assumption of normal distribution of the estimator. The default (TRUE) is
+ to do transformations. If TRUE, the g parameter of the DFOP and HS
+ models are also transformed, as they can also be seen as compositional
+ data. The transformation used for these transformations is the
+ <code><a href='ilr.html'>ilr</a></code> transformation.
+ </dd>
+ <dt>plot</dt>
+ <dd>
+ Should the observed values and the numerical solutions be plotted at each
+ stage of the optimisation?
+ </dd>
+ <dt>quiet</dt>
+ <dd>
+ Suppress printing out the current model cost after each improvement?
+ </dd>
+ <dt>err </dt>
+ <dd>either <code>NULL</code>, or the name of the column with the
+ <em>error</em> estimates, used to weigh the residuals (see details of
+ <code><a href='http://www.rdocumentation.org/packages/FME/topics/modCost'>modCost</a></code>); if <code>NULL</code>, then the residuals are not weighed.
+ </dd>
+ <dt>weight</dt>
+ <dd>
+ only if <code>err</code>=<code>NULL</code>: how to weight the residuals, one of &quot;none&quot;,
+ &quot;std&quot;, &quot;mean&quot;, see details of <code><a href='http://www.rdocumentation.org/packages/FME/topics/modCost'>modCost</a></code>.
+ </dd>
+ <dt>scaleVar</dt>
+ <dd>
+ Will be passed to <code><a href='http://www.rdocumentation.org/packages/FME/topics/modCost'>modCost</a></code>. Default is not to scale Variables
+ according to the number of observations.
+ </dd>
+ <dt>atol</dt>
+ <dd>
+ Absolute error tolerance, passed to <code><a href='http://www.rdocumentation.org/packages/deSolve/topics/ode'>ode</a></code>. Default is 1e-8,
+ lower than in <code><a href='http://www.rdocumentation.org/packages/deSolve/topics/lsoda'>lsoda</a></code>.
+ </dd>
+ <dt>rtol</dt>
+ <dd>
+ Absolute error tolerance, passed to <code><a href='http://www.rdocumentation.org/packages/deSolve/topics/ode'>ode</a></code>. Default is 1e-10,
+ much lower than in <code><a href='http://www.rdocumentation.org/packages/deSolve/topics/lsoda'>lsoda</a></code>.
+ </dd>
+ <dt>n.outtimes</dt>
+ <dd>
+ The length of the dataseries that is produced by the model prediction
+ function <code><a href='mkinpredict.html'>mkinpredict</a></code>. This impacts the accuracy of
+ the numerical solver if that is used (see <code>solution_type</code> argument.
+ The default value is 100.
+ </dd>
+ <dt>reweight.method</dt>
+ <dd>
+ The method used for iteratively reweighting residuals, also known
+ as iteratively reweighted least squares (IRLS). Default is NULL,
+ the other method implemented is called &quot;obs&quot;, meaning that each
+ observed variable is assumed to have its own variance, this is
+ estimated from the fit and used for weighting the residuals
+ in each iteration until convergence of this estimate up to
+ <code>reweight.tol</code> or up to the maximum number of iterations
+ specified by <code>reweight.max.iter</code>.
+ </dd>
+ <dt>reweight.tol</dt>
+ <dd>
+ Tolerance for convergence criterion for the variance components
+ in IRLS fits.
+ </dd>
+ <dt>reweight.max.iter</dt>
+ <dd>
+ Maximum iterations in IRLS fits.
+ </dd>
+ <dt>trace_parms</dt>
+ <dd>
+ Should a trace of the parameter values be listed?
+ </dd>
+ <dt>...</dt>
+ <dd>
+ Further arguments that will be passed to <code><a href='http://www.rdocumentation.org/packages/FME/topics/modFit'>modFit</a></code>.
+ </dd>
+ </dl>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>This function uses the Flexible Modelling Environment package
+ <code><a href='http://www.rdocumentation.org/packages/FME/topics/FME'>FME</a></code> to create a function calculating the model cost, i.e. the
+ deviation between the kinetic model and the observed data. This model cost is
+ then minimised using the Port algorithm <code><a href='http://www.rdocumentation.org/packages/stats/topics/nlminb'>nlminb</a></code>,
+ using the specified initial or fixed parameters and starting values.
+ Per default, parameters in the kinetic models are internally transformed in order
+ to better satisfy the assumption of a normal distribution of their estimators.
+ In each step of the optimsation, the kinetic model is solved using the
+ function <code><a href='mkinpredict.html'>mkinpredict</a></code>. The variance of the residuals for each
+ observed variable can optionally be iteratively reweighted until convergence
+ using the argument <code>reweight.method = &quot;obs&quot;</code>.</p>
+
+ </div>
+
+ <div class="Value">
+ <h2>Value</h2>
+
+ <p><dl>
+ A list with &quot;mkinfit&quot; and &quot;modFit&quot; in the class attribute.
+ A summary can be obtained by <code><a href='summary.mkinfit.html'>summary.mkinfit</a></code>.
+</dl></p>
+
+ </div>
+
+ <div class="Note">
+ <h2>Note</h2>
+
+ <p>The implementation of iteratively reweighted least squares is inspired by the
+ work of the KinGUII team at Bayer Crop Science (Walter Schmitt and Zhenglei
+ Gao). A similar implemention can also be found in CAKE 2.0, which is the
+ other GUI derivative of mkin, sponsored by Syngenta.</p>
+
+ </div>
+
+ <div class="Note">
+ <h2>Note</h2>
+
+ <p>When using the &quot;IORE&quot; submodel for metabolites, fitting with
+ &quot;transform_rates = TRUE&quot; (the default) often leads to failures of the
+ numerical ODE solver. In this situation it may help to switch off the
+ internal rate transformation.</p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'><span class="comment"># Use shorthand notation for parent only degradation</span>
+<span class="symbol">fit</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mkinfit.html'>mkinfit</a></span><span class="keyword">(</span><span class="string">"FOMC"</span><span class="keyword">,</span> <span class="symbol">FOCUS_2006_C</span><span class="keyword">,</span> <span class="argument">quiet</span> <span class="argument">=</span> <span class="number">TRUE</span><span class="keyword">)</span>
+<span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/summary'>summary</a></span><span class="keyword">(</span><span class="symbol">fit</span><span class="keyword">)</span></div>
+<div class='output'>mkin version: 0.9.44.9000
+R version: 3.3.1
+Date of fit: Sat Sep 10 05:53:02 2016
+Date of summary: Sat Sep 10 05:53:02 2016
+
+Equations:
+d_parent = - (alpha/beta) * 1/((time/beta) + 1) * parent
+
+Model predictions using solution type analytical
+
+Fitted with method Port using 64 model solutions performed in 0.16 s
+
+Weighting: none
+
+Starting values for parameters to be optimised:
+ value type
+parent_0 85.1 state
+alpha 1.0 deparm
+beta 10.0 deparm
+
+Starting values for the transformed parameters actually optimised:
+ value lower upper
+parent_0 85.100000 -Inf Inf
+log_alpha 0.000000 -Inf Inf
+log_beta 2.302585 -Inf Inf
+
+Fixed parameter values:
+None
+
+Optimised, transformed parameters with symmetric confidence intervals:
+ Estimate Std. Error Lower Upper
+parent_0 85.87000 2.2460 80.38000 91.3700
+log_alpha 0.05192 0.1605 -0.34080 0.4446
+log_beta 0.65100 0.2801 -0.03452 1.3360
+
+Parameter correlation:
+ parent_0 log_alpha log_beta
+parent_0 1.0000 -0.2033 -0.3624
+log_alpha -0.2033 1.0000 0.9547
+log_beta -0.3624 0.9547 1.0000
+
+Residual standard error: 2.275 on 6 degrees of freedom
+
+Backtransformed parameters:
+Confidence intervals for internally transformed parameters are asymmetric.
+t-test (unrealistically) based on the assumption of normal distribution
+for estimators of untransformed parameters.
+ Estimate t value Pr(&gt;t) Lower Upper
+parent_0 85.870 38.230 1.069e-08 80.3800 91.370
+alpha 1.053 6.231 3.953e-04 0.7112 1.560
+beta 1.917 3.570 5.895e-03 0.9661 3.806
+
+Chi2 error levels in percent:
+ err.min n.optim df
+All data 6.657 3 6
+parent 6.657 3 6
+
+Estimated disappearance times:
+ DT50 DT90 DT50back
+parent 1.785 15.15 4.56
+
+Data:
+ time variable observed predicted residual
+ 0 parent 85.1 85.875 -0.7749
+ 1 parent 57.9 55.191 2.7091
+ 3 parent 29.9 31.845 -1.9452
+ 7 parent 14.6 17.012 -2.4124
+ 14 parent 9.7 9.241 0.4590
+ 28 parent 6.6 4.754 1.8460
+ 63 parent 4.0 2.102 1.8977
+ 91 parent 3.9 1.441 2.4590
+ 119 parent 0.6 1.092 -0.4919
+</div>
+<div class='input'>
+<span class="comment"># One parent compound, one metabolite, both single first order.</span>
+<span class="comment"># Use mkinsub for convenience in model formulation. Pathway to sink included per default.</span>
+<span class="symbol">SFO_SFO</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mkinmod.html'>mkinmod</a></span><span class="keyword">(</span>
+ <span class="argument">parent</span> <span class="argument">=</span> <span class="functioncall"><a href='mkinsub.html'>mkinsub</a></span><span class="keyword">(</span><span class="string">"SFO"</span><span class="keyword">,</span> <span class="string">"m1"</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">m1</span> <span class="argument">=</span> <span class="functioncall"><a href='mkinsub.html'>mkinsub</a></span><span class="keyword">(</span><span class="string">"SFO"</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<strong class='message'>Successfully compiled differential equation model from auto-generated C code.</strong>
+<div class='input'><span class="comment"># Fit the model to the FOCUS example dataset D using defaults</span>
+<span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/print'>print</a></span><span class="keyword">(</span><span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/system.time'>system.time</a></span><span class="keyword">(</span><span class="symbol">fit</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mkinfit.html'>mkinfit</a></span><span class="keyword">(</span><span class="symbol">SFO_SFO</span><span class="keyword">,</span> <span class="symbol">FOCUS_2006_D</span><span class="keyword">,</span>
+ <span class="argument">solution_type</span> <span class="argument">=</span> <span class="string">"eigen"</span><span class="keyword">,</span> <span class="argument">quiet</span> <span class="argument">=</span> <span class="number">TRUE</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<div class='output'> user system elapsed
+ 1.272 1.360 1.044
+</div>
+<div class='input'><span class="functioncall"><a href='http://www.rdocumentation.org/packages/stats/topics/coef'>coef</a></span><span class="keyword">(</span><span class="symbol">fit</span><span class="keyword">)</span></div>
+<div class='output'> parent_0 log_k_parent_sink log_k_parent_m1 log_k_m1_sink
+ 99.59848 -3.03822 -2.98030 -5.24750
+</div>
+<div class='input'><span class="functioncall"><a href='endpoints.html'>endpoints</a></span><span class="keyword">(</span><span class="symbol">fit</span><span class="keyword">)</span></div>
+<div class='output'>$ff
+parent_sink parent_m1 m1_sink
+ 0.485524 0.514476 1.000000
+
+$SFORB
+logical(0)
+
+$distimes
+ DT50 DT90
+parent 7.022929 23.32967
+m1 131.760712 437.69961
+
+</div>
+<div class='input'><span class="comment">## Not run: ------------------------------------</span>
+<span class="comment"># # deSolve is slower when no C compiler (gcc) was available during model generation</span>
+<span class="comment"># print(system.time(fit.deSolve &lt;- mkinfit(SFO_SFO, FOCUS_2006_D, </span>
+<span class="comment"># solution_type = "deSolve")))</span>
+<span class="comment"># coef(fit.deSolve)</span>
+<span class="comment"># endpoints(fit.deSolve)</span>
+<span class="comment">## ---------------------------------------------</span>
+
+<span class="comment"># Use stepwise fitting, using optimised parameters from parent only fit, FOMC</span>
+<span class="comment">## Not run: ------------------------------------</span>
+<span class="comment"># FOMC_SFO &lt;- mkinmod(</span>
+<span class="comment"># parent = mkinsub("FOMC", "m1"),</span>
+<span class="comment"># m1 = mkinsub("SFO"))</span>
+<span class="comment"># # Fit the model to the FOCUS example dataset D using defaults</span>
+<span class="comment"># fit.FOMC_SFO &lt;- mkinfit(FOMC_SFO, FOCUS_2006_D)</span>
+<span class="comment"># # Use starting parameters from parent only FOMC fit</span>
+<span class="comment"># fit.FOMC = mkinfit("FOMC", FOCUS_2006_D, plot=TRUE)</span>
+<span class="comment"># fit.FOMC_SFO &lt;- mkinfit(FOMC_SFO, FOCUS_2006_D, </span>
+<span class="comment"># parms.ini = fit.FOMC$bparms.ode, plot=TRUE)</span>
+<span class="comment"># </span>
+<span class="comment"># # Use stepwise fitting, using optimised parameters from parent only fit, SFORB</span>
+<span class="comment"># SFORB_SFO &lt;- mkinmod(</span>
+<span class="comment"># parent = list(type = "SFORB", to = "m1", sink = TRUE),</span>
+<span class="comment"># m1 = list(type = "SFO"))</span>
+<span class="comment"># # Fit the model to the FOCUS example dataset D using defaults</span>
+<span class="comment"># fit.SFORB_SFO &lt;- mkinfit(SFORB_SFO, FOCUS_2006_D)</span>
+<span class="comment"># fit.SFORB_SFO.deSolve &lt;- mkinfit(SFORB_SFO, FOCUS_2006_D, solution_type = "deSolve")</span>
+<span class="comment"># # Use starting parameters from parent only SFORB fit (not really needed in this case)</span>
+<span class="comment"># fit.SFORB = mkinfit("SFORB", FOCUS_2006_D)</span>
+<span class="comment"># fit.SFORB_SFO &lt;- mkinfit(SFORB_SFO, FOCUS_2006_D, parms.ini = fit.SFORB$bparms.ode)</span>
+<span class="comment">## ---------------------------------------------</span>
+
+<span class="comment">## Not run: ------------------------------------</span>
+<span class="comment"># # Weighted fits, including IRLS</span>
+<span class="comment"># SFO_SFO.ff &lt;- mkinmod(parent = mkinsub("SFO", "m1"),</span>
+<span class="comment"># m1 = mkinsub("SFO"), use_of_ff = "max")</span>
+<span class="comment"># f.noweight &lt;- mkinfit(SFO_SFO.ff, FOCUS_2006_D)</span>
+<span class="comment"># summary(f.noweight)</span>
+<span class="comment"># f.irls &lt;- mkinfit(SFO_SFO.ff, FOCUS_2006_D, reweight.method = "obs")</span>
+<span class="comment"># summary(f.irls)</span>
+<span class="comment"># f.w.mean &lt;- mkinfit(SFO_SFO.ff, FOCUS_2006_D, weight = "mean")</span>
+<span class="comment"># summary(f.w.mean)</span>
+<span class="comment"># f.w.value &lt;- mkinfit(SFO_SFO.ff, subset(FOCUS_2006_D, value != 0), err = "value")</span>
+<span class="comment"># summary(f.w.value)</span>
+<span class="comment">## ---------------------------------------------</span>
+
+<span class="comment">## Not run: ------------------------------------</span>
+<span class="comment"># # Manual weighting</span>
+<span class="comment"># dw &lt;- FOCUS_2006_D</span>
+<span class="comment"># errors &lt;- c(parent = 2, m1 = 1)</span>
+<span class="comment"># dw$err.man &lt;- errors[FOCUS_2006_D$name]</span>
+<span class="comment"># f.w.man &lt;- mkinfit(SFO_SFO.ff, dw, err = "err.man")</span>
+<span class="comment"># summary(f.w.man)</span>
+<span class="comment"># f.w.man.irls &lt;- mkinfit(SFO_SFO.ff, dw, err = "err.man",</span>
+<span class="comment"># reweight.method = "obs")</span>
+<span class="comment"># summary(f.w.man.irls)</span>
+<span class="comment">## ---------------------------------------------</span></div></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>mkinfit</li>
+ </ul>
+ <ul>
+ <li> optimize </li>
+ </ul> -->
+
+ <h2>See also</h2>
+ <p>Plotting methods <code><a href='plot.mkinfit.html'>plot.mkinfit</a></code> and
+ <code><a href='mkinparplot.html'>mkinparplot</a></code>.</p>
+
+ <p>Fitting of several models to several datasets in a single call to
+ <code><a href='mmkin.html'>mmkin</a></code>.</p>
+
+
+
+ <h2>Author</h2>
+
+ Johannes Ranke
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/mkinmod.html b/docs/mkinmod.html
new file mode 100644
index 00000000..afbb9cc2
--- /dev/null
+++ b/docs/mkinmod.html
@@ -0,0 +1,221 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>mkinmod. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="
+ Johannes Ranke
+">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+ Function to set up a kinetic model with one or more state variables
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="functioncall"><a href='mkinmod.html'>mkinmod</a></span><span class="keyword">(</span><span class="symbol">...</span><span class="keyword">,</span> <span class="argument">use_of_ff</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="string">"min"</span><span class="keyword">,</span> <span class="argument">speclist</span>&nbsp;<span class="argument">=</span>&nbsp;NULL<span class="keyword">,</span> <span class="argument">quiet</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">FALSE</span><span class="keyword">,</span> <span class="argument">verbose</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">FALSE</span><span class="keyword">)</span></pre>
+
+ <h2>Arguments</h2>
+ <dl>
+ <dt>...</dt>
+ <dd>
+ For each observed variable, a list has to be specified as an argument, containing
+ at least a component <code>type</code>, specifying the type of kinetics to use
+ for the variable. Currently, single first order kinetics &quot;SFO&quot;,
+ indeterminate order rate equation kinetics &quot;IORE&quot;, or
+ single first order with reversible binding &quot;SFORB&quot; are implemented for all
+ variables, while
+ &quot;FOMC&quot;, &quot;DFOP&quot; and &quot;HS&quot; can additionally be chosen for the first
+ variable which is assumed to be the source compartment.
+ Additionally, each component of the list can include a character vector <code>to</code>,
+ specifying names of variables to which a transfer is to be assumed in the
+ model.
+ If the argument <code>use_of_ff</code> is set to &quot;min&quot; (default) and the model for
+ the compartment is &quot;SFO&quot; or &quot;SFORB&quot;, an additional component of the list
+ can be &quot;sink=FALSE&quot; effectively fixing the flux to sink to zero.
+ </dd>
+ <dt>use_of_ff</dt>
+ <dd>
+ Specification of the use of formation fractions in the model equations and, if
+ applicable, the coefficient matrix. If &quot;min&quot;, a minimum use of formation
+ fractions is made in order to avoid fitting the product of formation fractions
+ and rate constants. If &quot;max&quot;, formation fractions are always used.
+ </dd>
+ <dt>speclist</dt>
+ <dd>
+ The specification of the observed variables and their submodel types and
+ pathways can be given as a single list using this argument. Default is NULL.
+ </dd>
+ <dt>quiet</dt>
+ <dd>
+ Should messages be suppressed?
+ </dd>
+ <dt>verbose</dt>
+ <dd>
+ If <code>TRUE</code>, passed to <code><a href='http://www.rdocumentation.org/packages/inline/topics/cfunction'>cfunction</a></code> if applicable to give
+ detailed information about the C function being built.
+ </dd>
+ </dl>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>The function usually takes several expressions, each assigning a compound name to
+ a list, specifying the kinetic model type and reaction or transfer to other
+ observed compartments. Instead of specifying several expressions, a list
+ of lists can be given in the speclist argument.</p>
+
+ <p>For the definition of model types and their parameters, the equations given
+ in the FOCUS and NAFTA guidance documents are used.</p>
+
+ </div>
+
+ <div class="Value">
+ <h2>Value</h2>
+
+ <p><dl>
+ A list of class <code>mkinmod</code> for use with <code><a href='mkinfit.html'>mkinfit</a></code>, containing
+ <dt>diffs</dt><dd> A vector of string representations of differential equations,
+ one for each modelling variable. </dd></p>
+
+ <p><dt>parms</dt><dd> A vector of parameter names occurring in the differential equations. </dd></p>
+
+ <p><dt>map</dt><dd> A list containing named character vectors for each observed variable, specifying
+ the modelling variables by which it is represented. </dd></p>
+
+ <p><dt>use_of_ff</dt><dd> The content of <code>use_of_ff</code> is passed on in this list component. </dd></p>
+
+ <p><dt>coefmat</dt><dd> The coefficient matrix, if the system of differential equations can be
+ represented by one. </dd></p>
+
+ <p></dl></p>
+
+ </div>
+
+ <div class="Note">
+ <h2>Note</h2>
+
+ <p>The IORE submodel is not well tested (yet). When using this model for metabolites,
+ you may want to read the second note in the help page to
+ <code><a href='mkinfit.html'>mkinfit</a></code>.</p>
+
+ </div>
+
+ <div class="References">
+ <h2>References</h2>
+
+ <p>FOCUS (2006) &#147;Guidance Document on Estimating Persistence and
+ Degradation Kinetics from Environmental Fate Studies on Pesticides in EU
+ Registration&#148; Report of the FOCUS Work Group on Degradation Kinetics,
+ EC Document Reference Sanco/10058/2005 version 2.0, 434 pp,
+ <a href = 'http://focus.jrc.ec.europa.eu/dk'>http://focus.jrc.ec.europa.eu/dk</a></p>
+
+ <p>NAFTA Technical Working Group on Pesticides (not dated) Guidance for
+ Evaluating and Calculating Degradation Kinetics in Environmental
+ Media</p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'><span class="comment"># Specify the SFO model (this is not needed any more, as we can now mkinfit("SFO", ...)</span>
+<span class="symbol">SFO</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mkinmod.html'>mkinmod</a></span><span class="keyword">(</span><span class="argument">parent</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/list'>list</a></span><span class="keyword">(</span><span class="argument">type</span> <span class="argument">=</span> <span class="string">"SFO"</span><span class="keyword">)</span><span class="keyword">)</span>
+
+<span class="comment"># One parent compound, one metabolite, both single first order</span>
+<span class="symbol">SFO_SFO</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mkinmod.html'>mkinmod</a></span><span class="keyword">(</span>
+ <span class="argument">parent</span> <span class="argument">=</span> <span class="functioncall"><a href='mkinsub.html'>mkinsub</a></span><span class="keyword">(</span><span class="string">"SFO"</span><span class="keyword">,</span> <span class="string">"m1"</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">m1</span> <span class="argument">=</span> <span class="functioncall"><a href='mkinsub.html'>mkinsub</a></span><span class="keyword">(</span><span class="string">"SFO"</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<strong class='message'>Successfully compiled differential equation model from auto-generated C code.</strong>
+<div class='input'>
+<span class="comment">## Not run: ------------------------------------</span>
+<span class="comment"># # The above model used to be specified like this, before the advent of mkinsub()</span>
+<span class="comment"># SFO_SFO &lt;- mkinmod(</span>
+<span class="comment"># parent = list(type = "SFO", to = "m1"),</span>
+<span class="comment"># m1 = list(type = "SFO"))</span>
+<span class="comment"># </span>
+<span class="comment"># # Show details of creating the C function</span>
+<span class="comment"># SFO_SFO &lt;- mkinmod(</span>
+<span class="comment"># parent = mkinsub("SFO", "m1"),</span>
+<span class="comment"># m1 = mkinsub("SFO"), verbose = TRUE)</span>
+<span class="comment"># </span>
+<span class="comment"># # If we have several parallel metabolites </span>
+<span class="comment"># # (compare tests/testthat/test_synthetic_data_for_UBA_2014.R)</span>
+<span class="comment"># m_synth_DFOP_par &lt;- mkinmod(parent = mkinsub("DFOP", c("M1", "M2")),</span>
+<span class="comment"># M1 = mkinsub("SFO"),</span>
+<span class="comment"># M2 = mkinsub("SFO"),</span>
+<span class="comment"># use_of_ff = "max", quiet = TRUE)</span>
+<span class="comment"># </span>
+<span class="comment"># fit_DFOP_par_c &lt;- mkinfit(m_synth_DFOP_par, </span>
+<span class="comment"># synthetic_data_for_UBA_2014[[12]]$data,</span>
+<span class="comment"># quiet = TRUE)</span>
+<span class="comment">## ---------------------------------------------</span></div></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>mkinmod</li>
+ </ul>
+ <ul>
+ <li> models </li>
+ </ul> -->
+
+
+
+ <h2>Author</h2>
+
+ Johannes Ranke
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/mkinparplot-4.png b/docs/mkinparplot-4.png
new file mode 100644
index 00000000..77eafd95
--- /dev/null
+++ b/docs/mkinparplot-4.png
Binary files differ
diff --git a/docs/mkinparplot.html b/docs/mkinparplot.html
new file mode 100644
index 00000000..3b78785e
--- /dev/null
+++ b/docs/mkinparplot.html
@@ -0,0 +1,123 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>mkinparplot. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="
+ Johannes Ranke
+">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+ Function to plot the confidence intervals obtained using
+ <code><a href='mkinfit.html'>mkinfit</a></code>
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="functioncall"><a href='mkinparplot.html'>mkinparplot</a></span><span class="keyword">(</span><span class="symbol">object</span><span class="keyword">)</span></pre>
+
+ <h2>Arguments</h2>
+ <dl>
+ <dt>object</dt>
+ <dd>
+ A fit represented in an <code><a href='mkinfit.html'>mkinfit</a></code> object.
+ </dd>
+ </dl>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>This function plots the confidence intervals for the parameters
+ fitted using <code><a href='mkinfit.html'>mkinfit</a></code>.</p>
+
+ </div>
+
+ <div class="Value">
+ <h2>Value</h2>
+
+ <p><dl>
+ Nothing is returned by this function, as it is called for its side effect, namely to produce a plot.
+</dl></p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'><span class="symbol">model</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mkinmod.html'>mkinmod</a></span><span class="keyword">(</span>
+ <span class="argument">T245</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/list'>list</a></span><span class="keyword">(</span><span class="argument">type</span> <span class="argument">=</span> <span class="string">"SFO"</span><span class="keyword">,</span> <span class="argument">to</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="string">"phenol"</span><span class="keyword">)</span><span class="keyword">,</span> <span class="argument">sink</span> <span class="argument">=</span> <span class="number">FALSE</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">phenol</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/list'>list</a></span><span class="keyword">(</span><span class="argument">type</span> <span class="argument">=</span> <span class="string">"SFO"</span><span class="keyword">,</span> <span class="argument">to</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="string">"anisole"</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">anisole</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/list'>list</a></span><span class="keyword">(</span><span class="argument">type</span> <span class="argument">=</span> <span class="string">"SFO"</span><span class="keyword">)</span><span class="keyword">,</span> <span class="argument">use_of_ff</span> <span class="argument">=</span> <span class="string">"max"</span><span class="keyword">)</span></div>
+<strong class='message'>Successfully compiled differential equation model from auto-generated C code.</strong>
+<div class='input'><span class="symbol">fit</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mkinfit.html'>mkinfit</a></span><span class="keyword">(</span><span class="symbol">model</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/subset'>subset</a></span><span class="keyword">(</span><span class="symbol">mccall81_245T</span><span class="keyword">,</span> <span class="symbol">soil</span> == <span class="string">"Commerce"</span><span class="keyword">)</span><span class="keyword">,</span> <span class="argument">quiet</span> <span class="argument">=</span> <span class="number">TRUE</span><span class="keyword">)</span>
+<span class="functioncall"><a href='mkinparplot.html'>mkinparplot</a></span><span class="keyword">(</span><span class="symbol">fit</span><span class="keyword">)</span></div>
+<p><img src='mkinparplot-4.png' alt='' width='540' height='400' /></p></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>mkinparplot</li>
+ </ul>
+ <ul>
+ <li> hplot </li>
+ </ul> -->
+
+
+
+ <h2>Author</h2>
+
+ Johannes Ranke
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/mkinplot.html b/docs/mkinplot.html
new file mode 100644
index 00000000..a8f6632e
--- /dev/null
+++ b/docs/mkinplot.html
@@ -0,0 +1,115 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>mkinplot. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="
+ Johannes Ranke
+">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+ Plot the observed data and the fitted model of an mkinfit object
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="functioncall"><a href='mkinplot.html'>mkinplot</a></span><span class="keyword">(</span><span class="symbol">fit</span><span class="keyword">,</span> <span class="symbol">...</span><span class="keyword">)</span></pre>
+
+ <h2>Arguments</h2>
+ <dl>
+ <dt>fit</dt>
+ <dd>
+ an object of class <code><a href='mkinfit.html'>mkinfit</a></code>.
+ </dd>
+ <dt>...</dt>
+ <dd>
+ further arguments passed to <code><a href='plot.mkinfit.html'>plot.mkinfit</a></code>.
+</dd>
+ </dl>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>Deprecated function. It now only calls the plot method <code><a href='plot.mkinfit.html'>plot.mkinfit</a></code>.</p>
+
+ </div>
+
+ <div class="Value">
+ <h2>Value</h2>
+
+ <p><dl>
+ The function is called for its side effect.
+</dl></p>
+
+ </div>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>mkinplot</li>
+ </ul>
+ <ul>
+
+ </ul> -->
+
+
+
+ <h2>Author</h2>
+
+ Johannes Ranke
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/mkinpredict.html b/docs/mkinpredict.html
new file mode 100644
index 00000000..438b37c0
--- /dev/null
+++ b/docs/mkinpredict.html
@@ -0,0 +1,345 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>mkinpredict. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="
+ Johannes Ranke
+">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+ Produce predictions from a kinetic model using specific parameters
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="functioncall"><a href='mkinpredict.html'>mkinpredict</a></span><span class="keyword">(</span><span class="symbol">mkinmod</span><span class="keyword">,</span> <span class="symbol">odeparms</span><span class="keyword">,</span> <span class="symbol">odeini</span><span class="keyword">,</span> <span class="symbol">outtimes</span><span class="keyword">,</span> <span class="argument">solution_type</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="string">"deSolve"</span><span class="keyword">,</span>
+ <span class="argument">use_compiled</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="string">"auto"</span><span class="keyword">,</span> <span class="argument">method.ode</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="string">"lsoda"</span><span class="keyword">,</span> <span class="argument">atol</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">1e-08</span><span class="keyword">,</span> <span class="argument">rtol</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">1e-10</span><span class="keyword">,</span>
+ <span class="argument">map_output</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">TRUE</span><span class="keyword">,</span> <span class="symbol">...</span><span class="keyword">)</span></pre>
+
+ <h2>Arguments</h2>
+ <dl>
+ <dt>mkinmod</dt>
+ <dd>
+ A kinetic model as produced by <code><a href='mkinmod.html'>mkinmod</a></code>.
+ </dd>
+ <dt>odeparms</dt>
+ <dd>
+ A numeric vector specifying the parameters used in the kinetic model, which
+ is generally defined as a set of ordinary differential equations.
+ </dd>
+ <dt>odeini</dt>
+ <dd>
+ A numeric vectory containing the initial values of the state variables of
+ the model. Note that the state variables can differ from the observed
+ variables, for example in the case of the SFORB model.
+ </dd>
+ <dt>outtimes</dt>
+ <dd>
+ A numeric vector specifying the time points for which model predictions
+ should be generated.
+ </dd>
+ <dt>solution_type</dt>
+ <dd>
+ The method that should be used for producing the predictions. This should
+ generally be &quot;analytical&quot; if there is only one observed variable, and
+ usually &quot;deSolve&quot; in the case of several observed variables. The third
+ possibility &quot;eigen&quot; is faster but not applicable to some models e.g.
+ using FOMC for the parent compound.
+ </dd>
+ <dt>method.ode</dt>
+ <dd>
+ The solution method passed via <code><a href='mkinpredict.html'>mkinpredict</a></code> to
+ <code><a href='http://www.rdocumentation.org/packages/deSolve/topics/ode'>ode</a></code> in case the solution type is &quot;deSolve&quot;. The default
+ &quot;lsoda&quot; is performant, but sometimes fails to converge.
+ </dd>
+ <dt>use_compiled</dt>
+ <dd>
+ If set to <code>FALSE</code>, no compiled version of the <code><a href='mkinmod.html'>mkinmod</a></code>
+ model is used, even if is present.
+ </dd>
+ <dt>atol</dt>
+ <dd>
+ Absolute error tolerance, passed to <code><a href='http://www.rdocumentation.org/packages/deSolve/topics/ode'>ode</a></code>. Default is 1e-8,
+ lower than in <code><a href='http://www.rdocumentation.org/packages/deSolve/topics/lsoda'>lsoda</a></code>.
+ </dd>
+ <dt>rtol</dt>
+ <dd>
+ Absolute error tolerance, passed to <code><a href='http://www.rdocumentation.org/packages/deSolve/topics/ode'>ode</a></code>. Default is 1e-10,
+ much lower than in <code><a href='http://www.rdocumentation.org/packages/deSolve/topics/lsoda'>lsoda</a></code>.
+ </dd>
+ <dt>map_output</dt>
+ <dd>
+ Boolean to specify if the output should list values for the observed
+ variables (default) or for all state variables (if set to FALSE).
+ </dd>
+ <dt>...</dt>
+ <dd>
+ Further arguments passed to the ode solver in case such a solver is used.
+ </dd>
+ </dl>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>This function produces a time series for all the observed variables in a
+ kinetic model as specified by <code><a href='mkinmod.html'>mkinmod</a></code>, using a specific set of
+ kinetic parameters and initial values for the state variables.</p>
+
+ </div>
+
+ <div class="Value">
+ <h2>Value</h2>
+
+ <p><dl>
+ A matrix in the same format as the output of <code><a href='http://www.rdocumentation.org/packages/deSolve/topics/ode'>ode</a></code>.
+</dl></p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'> <span class="symbol">SFO</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mkinmod.html'>mkinmod</a></span><span class="keyword">(</span><span class="argument">degradinol</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/list'>list</a></span><span class="keyword">(</span><span class="argument">type</span> <span class="argument">=</span> <span class="string">"SFO"</span><span class="keyword">)</span><span class="keyword">)</span>
+ <span class="comment"># Compare solution types</span>
+ <span class="functioncall"><a href='mkinpredict.html'>mkinpredict</a></span><span class="keyword">(</span><span class="symbol">SFO</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">k_degradinol_sink</span> <span class="argument">=</span> <span class="number">0.3</span><span class="keyword">)</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">degradinol</span> <span class="argument">=</span> <span class="number">100</span><span class="keyword">)</span><span class="keyword">,</span> <span class="number">0</span><span class="keyword">:</span><span class="number">20</span><span class="keyword">,</span>
+ <span class="argument">solution_type</span> <span class="argument">=</span> <span class="string">"analytical"</span><span class="keyword">)</span></div>
+<div class='output'> time degradinol
+1 0 100.0000000
+2 1 74.0818221
+3 2 54.8811636
+4 3 40.6569660
+5 4 30.1194212
+6 5 22.3130160
+7 6 16.5298888
+8 7 12.2456428
+9 8 9.0717953
+10 9 6.7205513
+11 10 4.9787068
+12 11 3.6883167
+13 12 2.7323722
+14 13 2.0241911
+15 14 1.4995577
+16 15 1.1108997
+17 16 0.8229747
+18 17 0.6096747
+19 18 0.4516581
+20 19 0.3345965
+21 20 0.2478752
+</div>
+<div class='input'> <span class="functioncall"><a href='mkinpredict.html'>mkinpredict</a></span><span class="keyword">(</span><span class="symbol">SFO</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">k_degradinol_sink</span> <span class="argument">=</span> <span class="number">0.3</span><span class="keyword">)</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">degradinol</span> <span class="argument">=</span> <span class="number">100</span><span class="keyword">)</span><span class="keyword">,</span> <span class="number">0</span><span class="keyword">:</span><span class="number">20</span><span class="keyword">,</span>
+ <span class="argument">solution_type</span> <span class="argument">=</span> <span class="string">"deSolve"</span><span class="keyword">)</span></div>
+<div class='output'> time degradinol
+1 0 100.0000000
+2 1 74.0818221
+3 2 54.8811636
+4 3 40.6569660
+5 4 30.1194212
+6 5 22.3130160
+7 6 16.5298888
+8 7 12.2456428
+9 8 9.0717953
+10 9 6.7205513
+11 10 4.9787068
+12 11 3.6883167
+13 12 2.7323722
+14 13 2.0241911
+15 14 1.4995577
+16 15 1.1108996
+17 16 0.8229747
+18 17 0.6096747
+19 18 0.4516581
+20 19 0.3345965
+21 20 0.2478752
+</div>
+<div class='input'> <span class="functioncall"><a href='mkinpredict.html'>mkinpredict</a></span><span class="keyword">(</span><span class="symbol">SFO</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">k_degradinol_sink</span> <span class="argument">=</span> <span class="number">0.3</span><span class="keyword">)</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">degradinol</span> <span class="argument">=</span> <span class="number">100</span><span class="keyword">)</span><span class="keyword">,</span> <span class="number">0</span><span class="keyword">:</span><span class="number">20</span><span class="keyword">,</span>
+ <span class="argument">solution_type</span> <span class="argument">=</span> <span class="string">"deSolve"</span><span class="keyword">,</span> <span class="argument">use_compiled</span> <span class="argument">=</span> <span class="number">FALSE</span><span class="keyword">)</span></div>
+<div class='output'> time degradinol
+1 0 100.0000000
+2 1 74.0818221
+3 2 54.8811636
+4 3 40.6569660
+5 4 30.1194212
+6 5 22.3130160
+7 6 16.5298888
+8 7 12.2456428
+9 8 9.0717953
+10 9 6.7205513
+11 10 4.9787068
+12 11 3.6883167
+13 12 2.7323722
+14 13 2.0241911
+15 14 1.4995577
+16 15 1.1108996
+17 16 0.8229747
+18 17 0.6096747
+19 18 0.4516581
+20 19 0.3345965
+21 20 0.2478752
+</div>
+<div class='input'> <span class="functioncall"><a href='mkinpredict.html'>mkinpredict</a></span><span class="keyword">(</span><span class="symbol">SFO</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">k_degradinol_sink</span> <span class="argument">=</span> <span class="number">0.3</span><span class="keyword">)</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">degradinol</span> <span class="argument">=</span> <span class="number">100</span><span class="keyword">)</span><span class="keyword">,</span> <span class="number">0</span><span class="keyword">:</span><span class="number">20</span><span class="keyword">,</span>
+ <span class="argument">solution_type</span> <span class="argument">=</span> <span class="string">"eigen"</span><span class="keyword">)</span></div>
+<div class='output'> time degradinol
+1 0 100.0000000
+2 1 74.0818221
+3 2 54.8811636
+4 3 40.6569660
+5 4 30.1194212
+6 5 22.3130160
+7 6 16.5298888
+8 7 12.2456428
+9 8 9.0717953
+10 9 6.7205513
+11 10 4.9787068
+12 11 3.6883167
+13 12 2.7323722
+14 13 2.0241911
+15 14 1.4995577
+16 15 1.1108997
+17 16 0.8229747
+18 17 0.6096747
+19 18 0.4516581
+20 19 0.3345965
+21 20 0.2478752
+</div>
+<div class='input'>
+
+ <span class="comment"># Compare integration methods to analytical solution</span>
+ <span class="functioncall"><a href='mkinpredict.html'>mkinpredict</a></span><span class="keyword">(</span><span class="symbol">SFO</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">k_degradinol_sink</span> <span class="argument">=</span> <span class="number">0.3</span><span class="keyword">)</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">degradinol</span> <span class="argument">=</span> <span class="number">100</span><span class="keyword">)</span><span class="keyword">,</span> <span class="number">0</span><span class="keyword">:</span><span class="number">20</span><span class="keyword">,</span>
+ <span class="argument">solution_type</span> <span class="argument">=</span> <span class="string">"analytical"</span><span class="keyword">)</span><span class="keyword">[</span><span class="number">21</span><span class="keyword">,</span><span class="keyword">]</span></div>
+<div class='output'> time degradinol
+21 20 0.2478752
+</div>
+<div class='input'> <span class="functioncall"><a href='mkinpredict.html'>mkinpredict</a></span><span class="keyword">(</span><span class="symbol">SFO</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">k_degradinol_sink</span> <span class="argument">=</span> <span class="number">0.3</span><span class="keyword">)</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">degradinol</span> <span class="argument">=</span> <span class="number">100</span><span class="keyword">)</span><span class="keyword">,</span> <span class="number">0</span><span class="keyword">:</span><span class="number">20</span><span class="keyword">,</span>
+ <span class="argument">method</span> <span class="argument">=</span> <span class="string">"lsoda"</span><span class="keyword">)</span><span class="keyword">[</span><span class="number">21</span><span class="keyword">,</span><span class="keyword">]</span></div>
+<div class='output'> time degradinol
+21 20 0.2478752
+</div>
+<div class='input'> <span class="functioncall"><a href='mkinpredict.html'>mkinpredict</a></span><span class="keyword">(</span><span class="symbol">SFO</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">k_degradinol_sink</span> <span class="argument">=</span> <span class="number">0.3</span><span class="keyword">)</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">degradinol</span> <span class="argument">=</span> <span class="number">100</span><span class="keyword">)</span><span class="keyword">,</span> <span class="number">0</span><span class="keyword">:</span><span class="number">20</span><span class="keyword">,</span>
+ <span class="argument">method</span> <span class="argument">=</span> <span class="string">"ode45"</span><span class="keyword">)</span><span class="keyword">[</span><span class="number">21</span><span class="keyword">,</span><span class="keyword">]</span></div>
+<div class='output'> time degradinol
+21 20 0.2478752
+</div>
+<div class='input'> <span class="functioncall"><a href='mkinpredict.html'>mkinpredict</a></span><span class="keyword">(</span><span class="symbol">SFO</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">k_degradinol_sink</span> <span class="argument">=</span> <span class="number">0.3</span><span class="keyword">)</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">degradinol</span> <span class="argument">=</span> <span class="number">100</span><span class="keyword">)</span><span class="keyword">,</span> <span class="number">0</span><span class="keyword">:</span><span class="number">20</span><span class="keyword">,</span>
+ <span class="argument">method</span> <span class="argument">=</span> <span class="string">"rk4"</span><span class="keyword">)</span><span class="keyword">[</span><span class="number">21</span><span class="keyword">,</span><span class="keyword">]</span></div>
+<div class='output'> time degradinol
+21 20 0.2480043
+</div>
+<div class='input'> <span class="comment"># rk4 is not as precise here</span>
+
+ <span class="comment"># The number of output times used to make a lot of difference until the</span>
+ <span class="comment"># default for atol was adjusted</span>
+ <span class="functioncall"><a href='mkinpredict.html'>mkinpredict</a></span><span class="keyword">(</span><span class="symbol">SFO</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">k_degradinol_sink</span> <span class="argument">=</span> <span class="number">0.3</span><span class="keyword">)</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">degradinol</span> <span class="argument">=</span> <span class="number">100</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/seq'>seq</a></span><span class="keyword">(</span><span class="number">0</span><span class="keyword">,</span> <span class="number">20</span><span class="keyword">,</span> <span class="argument">by</span> <span class="argument">=</span> <span class="number">0.1</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">[</span><span class="number">201</span><span class="keyword">,</span><span class="keyword">]</span></div>
+<div class='output'> time degradinol
+201 20 0.2478752
+</div>
+<div class='input'> <span class="functioncall"><a href='mkinpredict.html'>mkinpredict</a></span><span class="keyword">(</span><span class="symbol">SFO</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">k_degradinol_sink</span> <span class="argument">=</span> <span class="number">0.3</span><span class="keyword">)</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">degradinol</span> <span class="argument">=</span> <span class="number">100</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/seq'>seq</a></span><span class="keyword">(</span><span class="number">0</span><span class="keyword">,</span> <span class="number">20</span><span class="keyword">,</span> <span class="argument">by</span> <span class="argument">=</span> <span class="number">0.01</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">[</span><span class="number">2001</span><span class="keyword">,</span><span class="keyword">]</span></div>
+<div class='output'> time degradinol
+2001 20 0.2478752
+</div>
+<div class='input'>
+ <span class="comment"># Check compiled model versions - they are faster than the eigenvalue based solutions!</span>
+ <span class="symbol">SFO_SFO</span> <span class="assignement">=</span> <span class="functioncall"><a href='mkinmod.html'>mkinmod</a></span><span class="keyword">(</span><span class="argument">parent</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/list'>list</a></span><span class="keyword">(</span><span class="argument">type</span> <span class="argument">=</span> <span class="string">"SFO"</span><span class="keyword">,</span> <span class="argument">to</span> <span class="argument">=</span> <span class="string">"m1"</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">m1</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/list'>list</a></span><span class="keyword">(</span><span class="argument">type</span> <span class="argument">=</span> <span class="string">"SFO"</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<strong class='message'>Successfully compiled differential equation model from auto-generated C code.</strong>
+<div class='input'> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/system.time'>system.time</a></span><span class="keyword">(</span>
+ <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/print'>print</a></span><span class="keyword">(</span><span class="functioncall"><a href='mkinpredict.html'>mkinpredict</a></span><span class="keyword">(</span><span class="symbol">SFO_SFO</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">k_parent_m1</span> <span class="argument">=</span> <span class="number">0.05</span><span class="keyword">,</span> <span class="argument">k_parent_sink</span> <span class="argument">=</span> <span class="number">0.1</span><span class="keyword">,</span> <span class="argument">k_m1_sink</span> <span class="argument">=</span> <span class="number">0.01</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">parent</span> <span class="argument">=</span> <span class="number">100</span><span class="keyword">,</span> <span class="argument">m1</span> <span class="argument">=</span> <span class="number">0</span><span class="keyword">)</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/seq'>seq</a></span><span class="keyword">(</span><span class="number">0</span><span class="keyword">,</span> <span class="number">20</span><span class="keyword">,</span> <span class="argument">by</span> <span class="argument">=</span> <span class="number">0.1</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">solution_type</span> <span class="argument">=</span> <span class="string">"eigen"</span><span class="keyword">)</span><span class="keyword">[</span><span class="number">201</span><span class="keyword">,</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<div class='output'> time parent m1
+201 20 4.978707 27.46227
+</div>
+<div class='output'> user system elapsed
+ 0.008 0.020 0.005
+</div>
+<div class='input'> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/system.time'>system.time</a></span><span class="keyword">(</span>
+ <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/print'>print</a></span><span class="keyword">(</span><span class="functioncall"><a href='mkinpredict.html'>mkinpredict</a></span><span class="keyword">(</span><span class="symbol">SFO_SFO</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">k_parent_m1</span> <span class="argument">=</span> <span class="number">0.05</span><span class="keyword">,</span> <span class="argument">k_parent_sink</span> <span class="argument">=</span> <span class="number">0.1</span><span class="keyword">,</span> <span class="argument">k_m1_sink</span> <span class="argument">=</span> <span class="number">0.01</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">parent</span> <span class="argument">=</span> <span class="number">100</span><span class="keyword">,</span> <span class="argument">m1</span> <span class="argument">=</span> <span class="number">0</span><span class="keyword">)</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/seq'>seq</a></span><span class="keyword">(</span><span class="number">0</span><span class="keyword">,</span> <span class="number">20</span><span class="keyword">,</span> <span class="argument">by</span> <span class="argument">=</span> <span class="number">0.1</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">solution_type</span> <span class="argument">=</span> <span class="string">"deSolve"</span><span class="keyword">)</span><span class="keyword">[</span><span class="number">201</span><span class="keyword">,</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<div class='output'> time parent m1
+201 20 4.978707 27.46227
+</div>
+<div class='output'> user system elapsed
+ 0.012 0.004 0.002
+</div>
+<div class='input'> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/system.time'>system.time</a></span><span class="keyword">(</span>
+ <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/print'>print</a></span><span class="keyword">(</span><span class="functioncall"><a href='mkinpredict.html'>mkinpredict</a></span><span class="keyword">(</span><span class="symbol">SFO_SFO</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">k_parent_m1</span> <span class="argument">=</span> <span class="number">0.05</span><span class="keyword">,</span> <span class="argument">k_parent_sink</span> <span class="argument">=</span> <span class="number">0.1</span><span class="keyword">,</span> <span class="argument">k_m1_sink</span> <span class="argument">=</span> <span class="number">0.01</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="argument">parent</span> <span class="argument">=</span> <span class="number">100</span><span class="keyword">,</span> <span class="argument">m1</span> <span class="argument">=</span> <span class="number">0</span><span class="keyword">)</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/seq'>seq</a></span><span class="keyword">(</span><span class="number">0</span><span class="keyword">,</span> <span class="number">20</span><span class="keyword">,</span> <span class="argument">by</span> <span class="argument">=</span> <span class="number">0.1</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">solution_type</span> <span class="argument">=</span> <span class="string">"deSolve"</span><span class="keyword">,</span> <span class="argument">use_compiled</span> <span class="argument">=</span> <span class="number">FALSE</span><span class="keyword">)</span><span class="keyword">[</span><span class="number">201</span><span class="keyword">,</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<div class='output'> time parent m1
+201 20 4.978707 27.46227
+</div>
+<div class='output'> user system elapsed
+ 0.036 0.000 0.036
+</div></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>mkinpredict</li>
+ </ul>
+ <ul>
+ <li> manip </li>
+ </ul> -->
+
+
+
+ <h2>Author</h2>
+
+ Johannes Ranke
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/mkinresplot-4.png b/docs/mkinresplot-4.png
new file mode 100644
index 00000000..7dbd7522
--- /dev/null
+++ b/docs/mkinresplot-4.png
Binary files differ
diff --git a/docs/mkinresplot.html b/docs/mkinresplot.html
new file mode 100644
index 00000000..09f4f7b9
--- /dev/null
+++ b/docs/mkinresplot.html
@@ -0,0 +1,163 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>mkinresplot. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="
+ Johannes Ranke
+">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+ Function to plot residuals stored in an mkin object
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="functioncall"><a href='mkinresplot.html'>mkinresplot</a></span><span class="keyword">(</span><span class="symbol">object</span><span class="keyword">,</span>
+ <span class="argument">obs_vars</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/names'>names</a></span><span class="keyword">(</span><span class="symbol">object</span><span class="keyword">$</span><span class="symbol">mkinmod</span><span class="keyword">$</span><span class="symbol">map</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">xlim</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="number">0</span><span class="keyword">,</span> <span class="number">1.1</span> <span class="keyword">*</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/Extremes'>max</a></span><span class="keyword">(</span><span class="symbol">object</span><span class="keyword">$</span><span class="symbol">data</span><span class="keyword">$</span><span class="symbol">time</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">xlab</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="string">"Time"</span><span class="keyword">,</span> <span class="argument">ylab</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="string">"Residual"</span><span class="keyword">,</span>
+ <span class="argument">maxabs</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="string">"auto"</span><span class="keyword">,</span> <span class="argument">legend</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">TRUE</span><span class="keyword">,</span> <span class="argument">lpos</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="string">"topright"</span><span class="keyword">,</span> <span class="symbol">...</span><span class="keyword">)</span></pre>
+
+ <h2>Arguments</h2>
+ <dl>
+ <dt>object</dt>
+ <dd>
+ A fit represented in an <code><a href='mkinfit.html'>mkinfit</a></code> object.
+</dd>
+ <dt>obs_vars</dt>
+ <dd>
+ A character vector of names of the observed variables for which residuals
+ should be plotted. Defaults to all observed variables in the model
+</dd>
+ <dt>xlim</dt>
+ <dd>
+ plot range in x direction.
+ </dd>
+ <dt>xlab</dt>
+ <dd>
+ Label for the x axis. Defaults to &quot;Time [days]&quot;.
+</dd>
+ <dt>ylab</dt>
+ <dd>
+ Label for the y axis. Defaults to &quot;Residual [% of applied radioactivity]&quot;.
+</dd>
+ <dt>maxabs</dt>
+ <dd>
+ Maximum absolute value of the residuals. This is used for the scaling of
+ the y axis and defaults to &quot;auto&quot;.
+</dd>
+ <dt>legend</dt>
+ <dd>
+ Should a legend be plotted? Defaults to &quot;TRUE&quot;.
+</dd>
+ <dt>lpos</dt>
+ <dd>
+ Where should the legend be placed? Default is &quot;topright&quot;. Will be passed on to
+ <code><a href='http://www.rdocumentation.org/packages/graphics/topics/legend'>legend</a></code>. </dd>
+ <dt>...</dt>
+ <dd>
+ further arguments passed to <code><a href='http://www.rdocumentation.org/packages/graphics/topics/plot'>plot</a></code>.
+</dd>
+ </dl>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>This function plots the residuals for the specified subset of the
+ observed variables from an mkinfit object. A combined plot of the fitted
+ model and the residuals can be obtained using <code><a href='plot.mkinfit.html'>plot.mkinfit</a></code>
+ using the argument <code>show_residuals = TRUE</code>.</p>
+
+ </div>
+
+ <div class="Value">
+ <h2>Value</h2>
+
+ <p><dl>
+ Nothing is returned by this function, as it is called for its side effect, namely to produce a plot.
+</dl></p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'><span class="symbol">model</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mkinmod.html'>mkinmod</a></span><span class="keyword">(</span><span class="argument">parent</span> <span class="argument">=</span> <span class="functioncall"><a href='mkinsub.html'>mkinsub</a></span><span class="keyword">(</span><span class="string">"SFO"</span><span class="keyword">,</span> <span class="string">"m1"</span><span class="keyword">)</span><span class="keyword">,</span> <span class="argument">m1</span> <span class="argument">=</span> <span class="functioncall"><a href='mkinsub.html'>mkinsub</a></span><span class="keyword">(</span><span class="string">"SFO"</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<strong class='message'>Successfully compiled differential equation model from auto-generated C code.</strong>
+<div class='input'><span class="symbol">fit</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mkinfit.html'>mkinfit</a></span><span class="keyword">(</span><span class="symbol">model</span><span class="keyword">,</span> <span class="symbol">FOCUS_2006_D</span><span class="keyword">,</span> <span class="argument">quiet</span> <span class="argument">=</span> <span class="number">TRUE</span><span class="keyword">)</span>
+<span class="functioncall"><a href='mkinresplot.html'>mkinresplot</a></span><span class="keyword">(</span><span class="symbol">fit</span><span class="keyword">,</span> <span class="string">"m1"</span><span class="keyword">)</span></div>
+<p><img src='mkinresplot-4.png' alt='' width='540' height='400' /></p></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>mkinresplot</li>
+ </ul>
+ <ul>
+ <li> hplot </li>
+ </ul> -->
+
+ <h2>See also</h2>
+ <p><code><a href='mkinplot.html'>mkinplot</a></code>, for a way to plot the data and the fitted lines of the
+ mkinfit object.</p>
+
+
+
+ <h2>Author</h2>
+
+ Johannes Ranke
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/mkinsub.html b/docs/mkinsub.html
new file mode 100644
index 00000000..5272a578
--- /dev/null
+++ b/docs/mkinsub.html
@@ -0,0 +1,149 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>mkinsub. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="
+ Johannes Ranke
+">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+ Function to set up a kinetic submodel for one state variable
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="functioncall"><a href='mkinsub.html'>mkinsub</a></span><span class="keyword">(</span><span class="symbol">submodel</span><span class="keyword">,</span> <span class="argument">to</span>&nbsp;<span class="argument">=</span>&nbsp;NULL<span class="keyword">,</span> <span class="argument">sink</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">TRUE</span><span class="keyword">,</span> <span class="argument">full_name</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">NA</span><span class="keyword">)</span></pre>
+
+ <h2>Arguments</h2>
+ <dl>
+ <dt>submodel</dt>
+ <dd>
+ Character vector of length one to specify the submodel type. See
+ <code><a href='mkinmod.html'>mkinmod</a></code> for the list of allowed submodel names.
+ </dd>
+ <dt>to</dt>
+ <dd>
+ Vector of the names of the state variable to which a transformation
+ shall be included in the model.
+ </dd>
+ <dt>sink</dt>
+ <dd>
+ Should a pathway to sink be included in the model in addition to the
+ pathways to other state variables?
+ </dd>
+ <dt>full_name</dt>
+ <dd>
+ An optional name to be used e.g. for plotting fits performed with the model.
+ You can use non-ASCII characters here, but then your R code will not be
+ portable, <em>i.e.</em> may produce unintended plot results on other
+ operating systems or system configurations.
+ </dd>
+ </dl>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>This is a convenience function to set up the lists used as arguments for
+ <code><a href='mkinmod.html'>mkinmod</a></code>.</p>
+
+ </div>
+
+ <div class="Value">
+ <h2>Value</h2>
+
+ <p><dl>
+ A list for use with <code><a href='mkinmod.html'>mkinmod</a></code>.
+</dl></p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'><span class="comment"># One parent compound, one metabolite, both single first order.</span>
+<span class="symbol">SFO_SFO</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mkinmod.html'>mkinmod</a></span><span class="keyword">(</span>
+ <span class="argument">parent</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/list'>list</a></span><span class="keyword">(</span><span class="argument">type</span> <span class="argument">=</span> <span class="string">"SFO"</span><span class="keyword">,</span> <span class="argument">to</span> <span class="argument">=</span> <span class="string">"m1"</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">m1</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/list'>list</a></span><span class="keyword">(</span><span class="argument">type</span> <span class="argument">=</span> <span class="string">"SFO"</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<strong class='message'>Successfully compiled differential equation model from auto-generated C code.</strong>
+<div class='input'>
+<span class="comment"># The same model using mkinsub</span>
+<span class="symbol">SFO_SFO.2</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mkinmod.html'>mkinmod</a></span><span class="keyword">(</span>
+ <span class="argument">parent</span> <span class="argument">=</span> <span class="functioncall"><a href='mkinsub.html'>mkinsub</a></span><span class="keyword">(</span><span class="string">"SFO"</span><span class="keyword">,</span> <span class="string">"m1"</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">m1</span> <span class="argument">=</span> <span class="functioncall"><a href='mkinsub.html'>mkinsub</a></span><span class="keyword">(</span><span class="string">"SFO"</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<strong class='message'>Successfully compiled differential equation model from auto-generated C code.</strong>
+<div class='input'>
+<span class="comment"># Now supplying full names</span>
+<span class="symbol">SFO_SFO.2</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mkinmod.html'>mkinmod</a></span><span class="keyword">(</span>
+ <span class="argument">parent</span> <span class="argument">=</span> <span class="functioncall"><a href='mkinsub.html'>mkinsub</a></span><span class="keyword">(</span><span class="string">"SFO"</span><span class="keyword">,</span> <span class="string">"m1"</span><span class="keyword">,</span> <span class="argument">full_name</span> <span class="argument">=</span> <span class="string">"Test compound"</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">m1</span> <span class="argument">=</span> <span class="functioncall"><a href='mkinsub.html'>mkinsub</a></span><span class="keyword">(</span><span class="string">"SFO"</span><span class="keyword">,</span> <span class="argument">full_name</span> <span class="argument">=</span> <span class="string">"Metabolite M1"</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<strong class='message'>Successfully compiled differential equation model from auto-generated C code.</strong></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>mkinsub</li>
+ </ul>
+ <ul>
+
+ </ul> -->
+
+
+
+ <h2>Author</h2>
+
+ Johannes Ranke
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/mmkin.html b/docs/mmkin.html
new file mode 100644
index 00000000..5924d3d5
--- /dev/null
+++ b/docs/mmkin.html
@@ -0,0 +1,172 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>mmkin. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="
+ Johannes Ranke
+">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+ Fit one or more kinetic models with one or more state variables to one or more datasets
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="functioncall"><a href='mmkin.html'>mmkin</a></span><span class="keyword">(</span><span class="symbol">models</span><span class="keyword">,</span> <span class="symbol">datasets</span><span class="keyword">,</span>
+ <span class="argument">cores</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/Round'>round</a></span><span class="keyword">(</span><span class="functioncall"><a href='http://www.rdocumentation.org/packages/parallel/topics/detectCores'>detectCores</a></span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">/</span><span class="number">2</span><span class="keyword">)</span><span class="keyword">,</span> <span class="argument">cluster</span>&nbsp;<span class="argument">=</span>&nbsp;NULL<span class="keyword">,</span> <span class="symbol">...</span><span class="keyword">)</span></pre>
+
+ <h2>Arguments</h2>
+ <dl>
+ <dt>models</dt>
+ <dd>
+ Either a character vector of shorthand names (&quot;SFO&quot;, &quot;FOMC&quot;, &quot;DFOP&quot;,
+ &quot;HS&quot;, &quot;SFORB&quot;), or an optionally named list of <code><a href='mkinmod.html'>mkinmod</a></code>
+ objects.
+ </dd>
+ <dt>datasets</dt>
+ <dd>
+ An optionally named list of datasets suitable as observed data for
+ <code><a href='mkinfit.html'>mkinfit</a></code>.
+ </dd>
+ <dt>cores</dt>
+ <dd>
+ The number of cores to be used for multicore processing. This is only
+ used when the <code>cluster</code> argument is <code>NULL</code>.
+ </dd>
+ <dt>cluster</dt>
+ <dd>
+ A cluster as returned by <code><a href='http://www.rdocumentation.org/packages/parallel/topics/makeCluster'>makeCluster</a></code> to be used for parallel
+ execution.
+ </dd>
+ <dt>...</dt>
+ <dd>
+ Further arguments that will be passed to <code><a href='mkinfit.html'>mkinfit</a></code>.
+ </dd>
+ </dl>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>This function calls <code><a href='mkinfit.html'>mkinfit</a></code> on all combinations of models and datasets
+ specified in its first two arguments.</p>
+
+ </div>
+
+ <div class="Value">
+ <h2>Value</h2>
+
+ <p><dl>
+ A matrix of <code><a href='mkinfit.html'>mkinfit</a></code> objects that can be indexed using the model
+ and dataset names as row and column indices.
+</dl></p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'><span class="comment">## Not run: ------------------------------------</span>
+<span class="comment"># m_synth_SFO_lin &lt;- mkinmod(parent = mkinsub("SFO", "M1"),</span>
+<span class="comment"># M1 = mkinsub("SFO", "M2"),</span>
+<span class="comment"># M2 = mkinsub("SFO"), use_of_ff = "max")</span>
+<span class="comment"># </span>
+<span class="comment"># m_synth_FOMC_lin &lt;- mkinmod(parent = mkinsub("FOMC", "M1"),</span>
+<span class="comment"># M1 = mkinsub("SFO", "M2"),</span>
+<span class="comment"># M2 = mkinsub("SFO"), use_of_ff = "max")</span>
+<span class="comment"># </span>
+<span class="comment"># models &lt;- list(SFO_lin = m_synth_SFO_lin, FOMC_lin = m_synth_FOMC_lin)</span>
+<span class="comment"># datasets &lt;- lapply(synthetic_data_for_UBA_2014[1:3], function(x) x$data)</span>
+<span class="comment"># names(datasets) &lt;- paste("Dataset", 1:3)</span>
+<span class="comment"># </span>
+<span class="comment"># time_default &lt;- system.time(fits.0 &lt;- mmkin(models, datasets))</span>
+<span class="comment"># time_1 &lt;- system.time(fits.1 &lt;- mmkin(models, datasets, cores = 1))</span>
+<span class="comment"># </span>
+<span class="comment"># time_default</span>
+<span class="comment"># time_1</span>
+<span class="comment"># </span>
+<span class="comment"># endpoints(fits[["SFO_lin", 2]])</span>
+<span class="comment"># </span>
+<span class="comment"># # Plot.mkinfit handles rows or columns of mmkin result objects</span>
+<span class="comment"># plot(fits.0[1, ])</span>
+<span class="comment"># plot(fits.0[1, ], obs_var = c("M1", "M2"))</span>
+<span class="comment"># plot(fits.0[, 1])</span>
+<span class="comment"># # Use double brackets to extract a single mkinfit object, which will be plotted</span>
+<span class="comment"># # by plot.mkinfit</span>
+<span class="comment"># plot(fits.0[[1, 1]], sep_obs = TRUE, show_residuals = TRUE, show_errmin = TRUE)</span>
+<span class="comment"># # Plotting with mmkin (single brackets, extracting an mmkin object) does not</span>
+<span class="comment"># # allow to plot the observed variables separately</span>
+<span class="comment"># plot(fits.0[1, 1])</span>
+<span class="comment">## ---------------------------------------------</span></div></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>mmkin</li>
+ </ul>
+ <ul>
+ <li> optimize </li>
+ </ul> -->
+
+ <h2>See also</h2>
+ <p><code><a href='Extract.mmkin.html'>[.mmkin</a></code> for subsetting, <code><a href='plot.mmkin.html'>plot.mmkin</a></code> for plotting.</p>
+
+
+
+ <h2>Author</h2>
+
+ Johannes Ranke
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/plot.mkinfit-10.png b/docs/plot.mkinfit-10.png
new file mode 100644
index 00000000..09bb687c
--- /dev/null
+++ b/docs/plot.mkinfit-10.png
Binary files differ
diff --git a/docs/plot.mkinfit-4.png b/docs/plot.mkinfit-4.png
new file mode 100644
index 00000000..1e90d789
--- /dev/null
+++ b/docs/plot.mkinfit-4.png
Binary files differ
diff --git a/docs/plot.mkinfit-6.png b/docs/plot.mkinfit-6.png
new file mode 100644
index 00000000..1dfbbe4c
--- /dev/null
+++ b/docs/plot.mkinfit-6.png
Binary files differ
diff --git a/docs/plot.mkinfit-8.png b/docs/plot.mkinfit-8.png
new file mode 100644
index 00000000..e4ab674a
--- /dev/null
+++ b/docs/plot.mkinfit-8.png
Binary files differ
diff --git a/docs/plot.mkinfit.html b/docs/plot.mkinfit.html
new file mode 100644
index 00000000..76ae3c4d
--- /dev/null
+++ b/docs/plot.mkinfit.html
@@ -0,0 +1,238 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>plot.mkinfit. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="
+ Johannes Ranke
+">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+ Plot the observed data and the fitted model of an mkinfit object
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="comment"># S3 method for mkinfit</span>
+<span class="functioncall"><a href='http://www.rdocumentation.org/packages/graphics/topics/plot'>plot</a></span><span class="keyword">(</span><span class="symbol">x</span><span class="keyword">,</span> <span class="argument">fit</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="symbol">x</span><span class="keyword">,</span>
+ <span class="argument">obs_vars</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/names'>names</a></span><span class="keyword">(</span><span class="symbol">fit</span><span class="keyword">$</span><span class="symbol">mkinmod</span><span class="keyword">$</span><span class="symbol">map</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">xlab</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="string">"Time"</span><span class="keyword">,</span> <span class="argument">ylab</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="string">"Observed"</span><span class="keyword">,</span>
+ <span class="argument">xlim</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/range'>range</a></span><span class="keyword">(</span><span class="symbol">fit</span><span class="keyword">$</span><span class="symbol">data</span><span class="keyword">$</span><span class="symbol">time</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">ylim</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="string">"default"</span><span class="keyword">,</span>
+ <span class="argument">col_obs</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">1</span><span class="keyword">:</span><span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/length'>length</a></span><span class="keyword">(</span><span class="symbol">obs_vars</span><span class="keyword">)</span><span class="keyword">,</span> <span class="argument">pch_obs</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="symbol">col_obs</span><span class="keyword">,</span>
+ <span class="argument">lty_obs</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/rep'>rep</a></span><span class="keyword">(</span><span class="number">1</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/length'>length</a></span><span class="keyword">(</span><span class="symbol">obs_vars</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">add</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">FALSE</span><span class="keyword">,</span> <span class="argument">legend</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="keyword">!</span><span class="symbol">add</span><span class="keyword">,</span>
+ <span class="argument">show_residuals</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">FALSE</span><span class="keyword">,</span> <span class="argument">maxabs</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="string">"auto"</span><span class="keyword">,</span>
+ <span class="argument">sep_obs</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">FALSE</span><span class="keyword">,</span> <span class="argument">rel.height.middle</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">0.9</span><span class="keyword">,</span>
+ <span class="argument">lpos</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="string">"topright"</span><span class="keyword">,</span> <span class="argument">inset</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="number">0.05</span><span class="keyword">,</span> <span class="number">0.05</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">show_errmin</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">FALSE</span><span class="keyword">,</span> <span class="argument">errmin_digits</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">3</span><span class="keyword">,</span> <span class="symbol">...</span><span class="keyword">)</span>
+<span class="functioncall"><a href='plot.mkinfit.html'>plot_sep</a></span><span class="keyword">(</span><span class="symbol">fit</span><span class="keyword">,</span> <span class="argument">sep_obs</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">TRUE</span><span class="keyword">,</span> <span class="argument">show_residuals</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">TRUE</span><span class="keyword">,</span> <span class="argument">show_errmin</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">TRUE</span><span class="keyword">,</span> <span class="symbol">...</span><span class="keyword">)</span></pre>
+
+ <h2>Arguments</h2>
+ <dl>
+ <dt>x</dt>
+ <dd>
+ Alias for fit introduced for compatibility with the generic S3 method.
+ </dd>
+ <dt>fit</dt>
+ <dd>
+ An object of class <code><a href='mkinfit.html'>mkinfit</a></code>.
+ </dd>
+ <dt>obs_vars</dt>
+ <dd>
+ A character vector of names of the observed variables for which the
+ data and the model should be plotted. Defauls to all observed variables
+ in the model.
+ </dd>
+ <dt>xlab</dt>
+ <dd>
+ Label for the x axis.
+ </dd>
+ <dt>ylab</dt>
+ <dd>
+ Label for the y axis.
+ </dd>
+ <dt>xlim</dt>
+ <dd>
+ Plot range in x direction.
+ </dd>
+ <dt>ylim</dt>
+ <dd>
+ Plot range in y direction.
+ </dd>
+ <dt>col_obs</dt>
+ <dd>
+ Colors used for plotting the observed data and the corresponding model prediction lines.
+ </dd>
+ <dt>pch_obs</dt>
+ <dd>
+ Symbols to be used for plotting the data.
+ </dd>
+ <dt>lty_obs</dt>
+ <dd>
+ Line types to be used for the model predictions.
+ </dd>
+ <dt>add</dt>
+ <dd>
+ Should the plot be added to an existing plot?
+ </dd>
+ <dt>legend</dt>
+ <dd>
+ Should a legend be added to the plot?
+ </dd>
+ <dt>show_residuals</dt>
+ <dd>
+ Should residuals be shown? If only one plot of the fits is shown, the
+ residual plot is in the lower third of the plot? Otherwise, i.e. if
+ &quot;sep_obs&quot; is given, the residual plots will be located to the right of
+ the plots of the fitted curves.
+ </dd>
+ <dt>maxabs</dt>
+ <dd>
+ Maximum absolute value of the residuals. This is used for the scaling of
+ the y axis and defaults to &quot;auto&quot;.
+ </dd>
+ <dt>sep_obs</dt>
+ <dd>
+ Should the observed variables be shown in separate subplots? If yes, residual plots
+ requested by &quot;show_residuals&quot; will be shown next to, not below the plot of the fits.
+ </dd>
+ <dt>rel.height.middle</dt>
+ <dd>
+ The relative height of the middle plot, if more than two rows of plots are shown.
+ </dd>
+ <dt>lpos</dt>
+ <dd>
+ Position(s) of the legend(s). Passed to <code><a href='http://www.rdocumentation.org/packages/graphics/topics/legend'>legend</a></code> as the first argument.
+ If not length one, this should be of the same length as the obs_var argument.
+ </dd>
+ <dt>inset</dt>
+ <dd>
+ Passed to <code><a href='http://www.rdocumentation.org/packages/graphics/topics/legend'>legend</a></code> if applicable.
+ </dd>
+ <dt>show_errmin</dt>
+ <dd>
+ Should the FOCUS chi2 error value be shown in the upper margin of the plot?
+ </dd>
+ <dt>errmin_digits</dt>
+ <dd>
+ The number of significant digits for rounding the FOCUS chi2 error percentage.
+ </dd>
+ <dt>...</dt>
+ <dd>
+ Further arguments passed to <code><a href='http://www.rdocumentation.org/packages/graphics/topics/plot'>plot</a></code>.
+ </dd>
+ </dl>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>Solves the differential equations with the optimised and fixed parameters
+ from a previous successful call to <code><a href='mkinfit.html'>mkinfit</a></code> and plots
+ the observed data together with the solution of the fitted model.</p>
+
+ </div>
+
+ <div class="Value">
+ <h2>Value</h2>
+
+ <p><dl>
+ The function is called for its side effect.
+</dl></p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'><span class="comment"># One parent compound, one metabolite, both single first order, path from</span>
+<span class="comment"># parent to sink included, use Levenberg-Marquardt for speed</span>
+<span class="symbol">SFO_SFO</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mkinmod.html'>mkinmod</a></span><span class="keyword">(</span><span class="argument">parent</span> <span class="argument">=</span> <span class="functioncall"><a href='mkinsub.html'>mkinsub</a></span><span class="keyword">(</span><span class="string">"SFO"</span><span class="keyword">,</span> <span class="string">"m1"</span><span class="keyword">,</span> <span class="argument">full</span> <span class="argument">=</span> <span class="string">"Parent"</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">m1</span> <span class="argument">=</span> <span class="functioncall"><a href='mkinsub.html'>mkinsub</a></span><span class="keyword">(</span><span class="string">"SFO"</span><span class="keyword">,</span> <span class="argument">full</span> <span class="argument">=</span> <span class="string">"Metabolite M1"</span> <span class="keyword">)</span><span class="keyword">)</span></div>
+<strong class='message'>Successfully compiled differential equation model from auto-generated C code.</strong>
+<div class='input'><span class="symbol">fit</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mkinfit.html'>mkinfit</a></span><span class="keyword">(</span><span class="symbol">SFO_SFO</span><span class="keyword">,</span> <span class="symbol">FOCUS_2006_D</span><span class="keyword">,</span> <span class="argument">quiet</span> <span class="argument">=</span> <span class="number">TRUE</span><span class="keyword">,</span> <span class="argument">method.modFit</span> <span class="argument">=</span> <span class="string">"Marq"</span><span class="keyword">)</span>
+<span class="functioncall"><a href='http://www.rdocumentation.org/packages/graphics/topics/plot'>plot</a></span><span class="keyword">(</span><span class="symbol">fit</span><span class="keyword">)</span></div>
+<p><img src='plot.mkinfit-4.png' alt='' width='540' height='400' /></p>
+<div class='input'><span class="functioncall"><a href='http://www.rdocumentation.org/packages/graphics/topics/plot'>plot</a></span><span class="keyword">(</span><span class="symbol">fit</span><span class="keyword">,</span> <span class="argument">show_residuals</span> <span class="argument">=</span> <span class="number">TRUE</span><span class="keyword">)</span></div>
+<p><img src='plot.mkinfit-6.png' alt='' width='540' height='400' /></p>
+<div class='input'>
+<span class="comment"># Show the observed variables separately</span>
+<span class="functioncall"><a href='http://www.rdocumentation.org/packages/graphics/topics/plot'>plot</a></span><span class="keyword">(</span><span class="symbol">fit</span><span class="keyword">,</span> <span class="argument">sep_obs</span> <span class="argument">=</span> <span class="number">TRUE</span><span class="keyword">,</span> <span class="argument">lpos</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="string">"topright"</span><span class="keyword">,</span> <span class="string">"bottomright"</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<p><img src='plot.mkinfit-8.png' alt='' width='540' height='400' /></p>
+<div class='input'>
+<span class="comment"># Show the observed variables separately, with residuals</span>
+<span class="functioncall"><a href='http://www.rdocumentation.org/packages/graphics/topics/plot'>plot</a></span><span class="keyword">(</span><span class="symbol">fit</span><span class="keyword">,</span> <span class="argument">sep_obs</span> <span class="argument">=</span> <span class="number">TRUE</span><span class="keyword">,</span> <span class="argument">show_residuals</span> <span class="argument">=</span> <span class="number">TRUE</span><span class="keyword">,</span> <span class="argument">lpos</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="string">"topright"</span><span class="keyword">,</span> <span class="string">"bottomright"</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">show_errmin</span> <span class="argument">=</span> <span class="number">TRUE</span><span class="keyword">)</span></div>
+<p><img src='plot.mkinfit-10.png' alt='' width='540' height='400' /></p>
+<div class='input'>
+<span class="comment"># The same can be obtained with less typing, using the convenience function plot_sep</span>
+<span class="functioncall"><a href='plot.mkinfit.html'>plot_sep</a></span><span class="keyword">(</span><span class="symbol">fit</span><span class="keyword">,</span> <span class="argument">lpos</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="string">"topright"</span><span class="keyword">,</span> <span class="string">"bottomright"</span><span class="keyword">)</span><span class="keyword">)</span></div></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>plot.mkinfit</li><li>plot_sep</li>
+ </ul>
+ <ul>
+
+ </ul> -->
+
+
+
+ <h2>Author</h2>
+
+ Johannes Ranke
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/plot.mmkin-2.png b/docs/plot.mmkin-2.png
new file mode 100644
index 00000000..a26e413f
--- /dev/null
+++ b/docs/plot.mmkin-2.png
Binary files differ
diff --git a/docs/plot.mmkin-4.png b/docs/plot.mmkin-4.png
new file mode 100644
index 00000000..f23ed172
--- /dev/null
+++ b/docs/plot.mmkin-4.png
Binary files differ
diff --git a/docs/plot.mmkin-6.png b/docs/plot.mmkin-6.png
new file mode 100644
index 00000000..dc24d92f
--- /dev/null
+++ b/docs/plot.mmkin-6.png
Binary files differ
diff --git a/docs/plot.mmkin.html b/docs/plot.mmkin.html
new file mode 100644
index 00000000..24b0d60c
--- /dev/null
+++ b/docs/plot.mmkin.html
@@ -0,0 +1,158 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>plot.mmkin. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="
+ Johannes Ranke
+">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+ Plot model fits (observed and fitted) and the residuals for a row or column of an mmkin object
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="comment"># S3 method for mmkin</span>
+<span class="functioncall"><a href='http://www.rdocumentation.org/packages/graphics/topics/plot'>plot</a></span><span class="keyword">(</span><span class="symbol">x</span><span class="keyword">,</span> <span class="argument">main</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="string">"auto"</span><span class="keyword">,</span> <span class="argument">legends</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">1</span><span class="keyword">,</span> <span class="argument">errmin_var</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="string">"All data"</span><span class="keyword">,</span> <span class="argument">errmin_digits</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">3</span><span class="keyword">,</span>
+ <span class="argument">cex</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">0.7</span><span class="keyword">,</span> <span class="argument">rel.height.middle</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">0.9</span><span class="keyword">,</span> <span class="symbol">...</span><span class="keyword">)</span></pre>
+
+ <h2>Arguments</h2>
+ <dl>
+ <dt>x</dt>
+ <dd>
+ An object of class <code><a href='mmkin.html'>mmkin</a></code>, with either one row or one column.
+</dd>
+ <dt>main</dt>
+ <dd>
+ The main title placed on the outer margin of the plot.
+</dd>
+ <dt>legends</dt>
+ <dd>
+ An index for the fits for which legends should be shown.
+</dd>
+ <dt>errmin_var</dt>
+ <dd>
+ The variable for which the FOCUS chi2 error value should be shown.
+</dd>
+ <dt>errmin_digits</dt>
+ <dd>
+ The number of significant digits for rounding the FOCUS chi2 error percentage.
+</dd>
+ <dt>cex</dt>
+ <dd>
+ Passed to the plot functions and <code><a href='http://www.rdocumentation.org/packages/graphics/topics/mtext'>mtext</a></code>.
+</dd>
+ <dt>rel.height.middle</dt>
+ <dd>
+ The relative height of the middle plot, if more than two rows of plots are shown.
+</dd>
+ <dt>...</dt>
+ <dd>
+ Further arguments passed to <code><a href='plot.mkinfit.html'>plot.mkinfit</a></code> and <code><a href='mkinresplot.html'>mkinresplot</a></code>.
+</dd>
+ </dl>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>When x is a row selected from an mmkin object (<code><a href='Extract.mmkin.html'>[.mmkin</a></code>), the same model
+ fitted for at least one dataset is shown. When it is a column, the fit of at least one model
+ to the same dataset is shown.</p>
+
+ </div>
+
+ <div class="Value">
+ <h2>Value</h2>
+
+ <p><dl>
+ The function is called for its side effect.
+</dl></p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'> <span class="comment"># Only use one core not to offend CRAN checks, use Levenberg-Marquardt for speed</span>
+ <span class="symbol">fits</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mmkin.html'>mmkin</a></span><span class="keyword">(</span><span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="string">"FOMC"</span><span class="keyword">,</span> <span class="string">"HS"</span><span class="keyword">)</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/list'>list</a></span><span class="keyword">(</span><span class="string">"FOCUS B"</span> <span class="argument">=</span> <span class="symbol">FOCUS_2006_B</span><span class="keyword">,</span> <span class="string">"FOCUS C"</span> <span class="argument">=</span> <span class="symbol">FOCUS_2006_C</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">cores</span> <span class="argument">=</span> <span class="number">1</span><span class="keyword">,</span> <span class="argument">quiet</span> <span class="argument">=</span> <span class="number">TRUE</span><span class="keyword">,</span> <span class="argument">method.modFit</span> <span class="argument">=</span> <span class="string">"Marq"</span><span class="keyword">)</span>
+ <span class="functioncall"><a href='http://www.rdocumentation.org/packages/graphics/topics/plot'>plot</a></span><span class="keyword">(</span><span class="symbol">fits</span><span class="keyword">[</span><span class="keyword">,</span> <span class="string">"FOCUS C"</span><span class="keyword">]</span><span class="keyword">)</span></div>
+<p><img src='plot.mmkin-2.png' alt='' width='540' height='400' /></p>
+<div class='input'> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/graphics/topics/plot'>plot</a></span><span class="keyword">(</span><span class="symbol">fits</span><span class="keyword">[</span><span class="string">"FOMC"</span><span class="keyword">,</span> <span class="keyword">]</span><span class="keyword">)</span></div>
+<p><img src='plot.mmkin-4.png' alt='' width='540' height='400' /></p>
+<div class='input'>
+ <span class="comment"># We can also plot a single fit, if we like the way mmkin works, but then the plot </span>
+ <span class="comment"># height should be smaller than the plot width (this is not possible for the html pages</span>
+ <span class="comment"># generated by staticdocs, as far as I know).</span>
+ <span class="functioncall"><a href='http://www.rdocumentation.org/packages/graphics/topics/plot'>plot</a></span><span class="keyword">(</span><span class="symbol">fits</span><span class="keyword">[</span><span class="string">"FOMC"</span><span class="keyword">,</span> <span class="string">"FOCUS C"</span><span class="keyword">]</span><span class="keyword">)</span> <span class="comment"># same as plot(fits[1, 2])</span></div>
+<p><img src='plot.mmkin-6.png' alt='' width='540' height='400' /></p></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>plot.mmkin</li>
+ </ul>
+ <ul>
+
+ </ul> -->
+
+
+
+ <h2>Author</h2>
+
+ Johannes Ranke
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/print.mkinds.html b/docs/print.mkinds.html
new file mode 100644
index 00000000..308744c1
--- /dev/null
+++ b/docs/print.mkinds.html
@@ -0,0 +1,101 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>print.mkinds. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+ Print mkinds objects
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="comment"># S3 method for mkinds</span>
+<span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/print'>print</a></span><span class="keyword">(</span><span class="symbol">x</span><span class="keyword">,</span> <span class="symbol">...</span><span class="keyword">)</span></pre>
+
+ <h2>Arguments</h2>
+ <dl>
+ <dt>x</dt>
+ <dd>
+ An <code><a href='mkinds.html'>mkinds</a></code> object.
+ </dd>
+ <dt>...</dt>
+ <dd>
+ Not used.
+ </dd>
+ </dl>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>Print mkinds objects.</p>
+
+ </div>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>print.mkinds</li>
+ </ul>
+ <ul>
+
+ </ul> -->
+
+
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/print.mkinmod.html b/docs/print.mkinmod.html
new file mode 100644
index 00000000..4ad7737b
--- /dev/null
+++ b/docs/print.mkinmod.html
@@ -0,0 +1,101 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>print.mkinmod. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+ Print mkinmod objects
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="comment"># S3 method for mkinmod</span>
+<span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/print'>print</a></span><span class="keyword">(</span><span class="symbol">x</span><span class="keyword">,</span> <span class="symbol">...</span><span class="keyword">)</span></pre>
+
+ <h2>Arguments</h2>
+ <dl>
+ <dt>x</dt>
+ <dd>
+ An <code><a href='mkinmod.html'>mkinmod</a></code> object.
+ </dd>
+ <dt>...</dt>
+ <dd>
+ Not used.
+ </dd>
+ </dl>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>Print mkinmod objects in a way that the user finds his way to get to its components.</p>
+
+ </div>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>print.mkinmod</li>
+ </ul>
+ <ul>
+
+ </ul> -->
+
+
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/reference.html b/docs/reference.html
new file mode 100644
index 00000000..df1bd9a8
--- /dev/null
+++ b/docs/reference.html
@@ -0,0 +1,288 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>Function reference. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <div class="row">
+ <div class="span8">
+ <h2>Function reference</h2>
+
+ <h3>Main functions</h3>
+ <p>Essential functionality</p>
+
+
+ <ul class="index">
+
+ <li>
+ <code><a href="mkinmod.html">mkinmod</a></code><br />
+ Function to set up a kinetic model with one or more state variables
+</li>
+
+ <li>
+ <code><a href="mkinfit.html">mkinfit</a></code><br />
+ Fit a kinetic model to data with one or more state variables
+</li>
+
+ <li>
+ <code><a href="mmkin.html">mmkin</a></code><br />
+ Fit one or more kinetic models with one or more state variables to one or more datasets
+</li>
+
+ </ul>
+ <h3>Show results</h3>
+ <p>Functions working on mkinfit objects</p>
+
+
+ <ul class="index">
+
+ <li>
+ <code><a href="plot.mkinfit.html">plot.mkinfit</a></code>(plot_sep)<br />
+ Plot the observed data and the fitted model of an mkinfit object
+</li>
+
+ <li>
+ <code><a href="summary.mkinfit.html">summary.mkinfit</a></code>(print.summary.mkinfit)<br />
+ Summary method for class &quot;mkinfit&quot;
+</li>
+
+ <li>
+ <code><a href="mkinresplot.html">mkinresplot</a></code><br />
+ Function to plot residuals stored in an mkin object
+</li>
+
+ <li>
+ <code><a href="mkinparplot.html">mkinparplot</a></code><br />
+ Function to plot the confidence intervals obtained using
+ <code><a href='mkinfit.html'>mkinfit</a></code>
+</li>
+
+ <li>
+ <code><a href="endpoints.html">endpoints</a></code><br />
+Function to calculate endpoints for further use from kinetic models fitted with mkinfit
+</li>
+
+ <li>
+ <code><a href="mkinerrmin.html">mkinerrmin</a></code><br />
+Calculate the minimum error to assume in order to pass the variance test
+</li>
+
+ </ul>
+ <h3>Work with mmkin objects</h3>
+ <p>Functions working with aggregated results</p>
+
+
+ <ul class="index">
+
+ <li>
+ <code><a href="Extract.mmkin.html">[.mmkin</a></code><br />Subsetting method for mmkin objects</li>
+
+ <li>
+ <code><a href="plot.mmkin.html">plot.mmkin</a></code><br />
+ Plot model fits (observed and fitted) and the residuals for a row or column of an mmkin object
+</li>
+
+ </ul>
+ <h3>Datasets and known results</h3>
+
+
+ <ul class="index">
+
+ <li>
+ <code><a href="FOCUS_2006_datasets.html">FOCUS_2006_datasets</a></code>(FOCUS_2006_A, FOCUS_2006_B, FOCUS_2006_C, FOCUS_2006_D, FOCUS_2006_E, FOCUS_2006_F)<br />
+Datasets A to F from the FOCUS Kinetics report from 2006
+</li>
+
+ <li>
+ <code><a href="FOCUS_2006_SFO_ref_A_to_F.html">FOCUS_2006_SFO_ref_A_to_F</a></code><br />
+Results of fitting the SFO model to Datasets A to F of FOCUS (2006)
+</li>
+
+ <li>
+ <code><a href="FOCUS_2006_FOMC_ref_A_to_F.html">FOCUS_2006_FOMC_ref_A_to_F</a></code><br />
+Results of fitting the FOMC model to Datasets A to F of FOCUS (2006)
+</li>
+
+ <li>
+ <code><a href="FOCUS_2006_HS_ref_A_to_F.html">FOCUS_2006_HS_ref_A_to_F</a></code><br />
+Results of fitting the HS model to Datasets A to F of FOCUS (2006)
+</li>
+
+ <li>
+ <code><a href="FOCUS_2006_DFOP_ref_A_to_B.html">FOCUS_2006_DFOP_ref_A_to_B</a></code><br />
+Results of fitting the DFOP model to Datasets A to B of FOCUS (2006)
+</li>
+
+ <li>
+ <code><a href="mccall81_245T.html">mccall81_245T</a></code><br />
+ Datasets on aerobic soil metabolism of 2,4,5-T in six soils
+</li>
+
+ <li>
+ <code><a href="schaefer07_complex_case.html">schaefer07_complex_case</a></code>(schaefer07_complex_results)<br />
+ Metabolism data set used for checking the software quality of KinGUI
+</li>
+
+ <li>
+ <code><a href="synthetic_data_for_UBA.html">synthetic_data_for_UBA_2014</a></code><br />
+ Synthetic datasets for one parent compound with two metabolites
+</li>
+
+ </ul>
+ <h3>Helper functions</h3>
+
+
+ <ul class="index">
+
+ <li>
+ <code><a href="mkin_wide_to_long.html">mkin_wide_to_long</a></code><br />
+ Convert a dataframe with observations over time into long format
+</li>
+
+ <li>
+ <code><a href="mkin_long_to_wide.html">mkin_long_to_wide</a></code><br />
+ Convert a dataframe from long to wide format
+</li>
+
+ <li>
+ <code><a href="mkinsub.html">mkinsub</a></code><br />
+ Function to set up a kinetic submodel for one state variable
+</li>
+
+ <li>
+ <code><a href="mkinds.html">mkinds</a></code><br />A dataset class for mkin</li>
+
+ <li>
+ <code><a href="print.mkinds.html">print.mkinds</a></code><br />
+ Print mkinds objects
+</li>
+
+ <li>
+ <code><a href="print.mkinmod.html">print.mkinmod</a></code><br />
+ Print mkinmod objects
+</li>
+
+ <li>
+ <code><a href="mkinpredict.html">mkinpredict</a></code><br />
+ Produce predictions from a kinetic model using specific parameters
+</li>
+
+ <li>
+ <code><a href="transform_odeparms.html">transform_odeparms</a></code>(backtransform_odeparms)<br />
+ Functions to transform and backtransform kinetic parameters for fitting
+</li>
+
+ <li>
+ <code><a href="ilr.html">ilr</a></code>(invilr)<br />
+ Function to perform isometric log-ratio transformation
+</li>
+
+ <li>
+ <code><a href="geometric_mean.html">geometric_mean</a></code><br /> Calculate the geometric mean </li>
+
+ </ul>
+ <h3>Analytical solutions</h3>
+ <p>Parent only model solutions</p>
+
+
+ <ul class="index">
+
+ <li>
+ <code><a href="SFO.solution.html">SFO.solution</a></code><br /> Single First-Order kinetics </li>
+
+ <li>
+ <code><a href="FOMC.solution.html">FOMC.solution</a></code><br /> First-Order Multi-Compartment kinetics </li>
+
+ <li>
+ <code><a href="DFOP.solution.html">DFOP.solution</a></code><br />
+Double First-Order in Parallel kinetics
+</li>
+
+ <li>
+ <code><a href="SFORB.solution.html">SFORB.solution</a></code><br /> Single First-Order Reversible Binding kinetics </li>
+
+ <li>
+ <code><a href="HS.solution.html">HS.solution</a></code><br /> Hockey-Stick kinetics </li>
+
+ <li>
+ <code><a href="IORE.solution.html">IORE.solution</a></code><br /> Indeterminate order rate equation kinetics </li>
+
+ </ul>
+ <h3>Deprecated functions</h3>
+ <p>Functions that have been superseeded</p>
+
+
+ <ul class="index">
+
+ <li>
+ <code><a href="mkinplot.html">mkinplot</a></code><br />
+ Plot the observed data and the fitted model of an mkinfit object
+</li>
+
+ </ul>
+ <h3>Other</h3>
+
+
+ <ul class="index">
+
+ <li>
+ <code><a href="add_err.html">add_err</a></code><br />
+ Add normally distributed errors to simulated kinetic degradation data
+</li>
+
+ </ul>
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/schaefer07_complex_case.html b/docs/schaefer07_complex_case.html
new file mode 100644
index 00000000..23ed3a26
--- /dev/null
+++ b/docs/schaefer07_complex_case.html
@@ -0,0 +1,134 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>schaefer07_complex_case. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+ Metabolism data set used for checking the software quality of KinGUI
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="functioncall"><a href='http://www.rdocumentation.org/packages/utils/topics/data'>data</a></span><span class="keyword">(</span><span class="symbol">schaefer07_complex_case</span><span class="keyword">)</span></pre>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>This dataset was used for a comparison of KinGUI and ModelMaker to check the
+ software quality of KinGUI in the original publication (Schäfer et al., 2007).
+ The results from the fitting are also included.</p>
+
+ </div>
+
+ <div class="Format">
+ <h2>Format</h2>
+
+ <p>The data set is a data frame with 8 observations on the following 6 variables.
+ <dl>
+ <dt><code>time</code></dt><dd>a numeric vector</dd></p>
+
+ <p><dt><code>parent</code></dt><dd>a numeric vector</dd></p>
+
+ <p><dt><code>A1</code></dt><dd>a numeric vector</dd></p>
+
+ <p><dt><code>B1</code></dt><dd>a numeric vector</dd></p>
+
+ <p><dt><code>C1</code></dt><dd>a numeric vector</dd></p>
+
+ <p><dt><code>A2</code></dt><dd>a numeric vector</dd></p>
+
+ <p></dl></p>
+
+ <p>The results are a data frame with 14 results for different parameter values</p>
+
+ </div>
+
+ <div class="References">
+ <h2>References</h2>
+
+ <p>Schäfer D, Mikolasch B, Rainbird P and Harvey B (2007). KinGUI: a new kinetic
+ software tool for evaluations according to FOCUS degradation kinetics. In: Del
+ Re AAM, Capri E, Fragoulis G and Trevisan M (Eds.). Proceedings of the XIII
+ Symposium Pesticide Chemistry, Piacenza, 2007, p. 916-923.</p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'><span class="symbol">data</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mkin_wide_to_long.html'>mkin_wide_to_long</a></span><span class="keyword">(</span><span class="symbol">schaefer07_complex_case</span><span class="keyword">,</span> <span class="argument">time</span> <span class="argument">=</span> <span class="string">"time"</span><span class="keyword">)</span>
+<span class="symbol">model</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mkinmod.html'>mkinmod</a></span><span class="keyword">(</span>
+ <span class="argument">parent</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/list'>list</a></span><span class="keyword">(</span><span class="argument">type</span> <span class="argument">=</span> <span class="string">"SFO"</span><span class="keyword">,</span> <span class="argument">to</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/c'>c</a></span><span class="keyword">(</span><span class="string">"A1"</span><span class="keyword">,</span> <span class="string">"B1"</span><span class="keyword">,</span> <span class="string">"C1"</span><span class="keyword">)</span><span class="keyword">,</span> <span class="argument">sink</span> <span class="argument">=</span> <span class="number">FALSE</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">A1</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/list'>list</a></span><span class="keyword">(</span><span class="argument">type</span> <span class="argument">=</span> <span class="string">"SFO"</span><span class="keyword">,</span> <span class="argument">to</span> <span class="argument">=</span> <span class="string">"A2"</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">B1</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/list'>list</a></span><span class="keyword">(</span><span class="argument">type</span> <span class="argument">=</span> <span class="string">"SFO"</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">C1</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/list'>list</a></span><span class="keyword">(</span><span class="argument">type</span> <span class="argument">=</span> <span class="string">"SFO"</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">A2</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/list'>list</a></span><span class="keyword">(</span><span class="argument">type</span> <span class="argument">=</span> <span class="string">"SFO"</span><span class="keyword">)</span><span class="keyword">,</span> <span class="argument">use_of_ff</span> <span class="argument">=</span> <span class="string">"max"</span><span class="keyword">)</span></div>
+<strong class='message'>Successfully compiled differential equation model from auto-generated C code.</strong>
+<div class='input'><span class="comment">## Not run: mkinfit(model, data, plot=TRUE)</span></div></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>schaefer07_complex_case</li><li>schaefer07_complex_results</li>
+ </ul>
+ <ul>
+ <li>datasets</li>
+ </ul> -->
+
+
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/summary.mkinfit.html b/docs/summary.mkinfit.html
new file mode 100644
index 00000000..574c5c07
--- /dev/null
+++ b/docs/summary.mkinfit.html
@@ -0,0 +1,259 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>summary.mkinfit. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="
+ Johannes Ranke
+">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+ Summary method for class &quot;mkinfit&quot;
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="comment"># S3 method for mkinfit</span>
+<span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/summary'>summary</a></span><span class="keyword">(</span><span class="symbol">object</span><span class="keyword">,</span> <span class="argument">data</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">TRUE</span><span class="keyword">,</span> <span class="argument">distimes</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">TRUE</span><span class="keyword">,</span> <span class="argument">alpha</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">0.05</span><span class="keyword">,</span> <span class="symbol">...</span><span class="keyword">)</span>
+<span class="comment"># S3 method for summary.mkinfit</span>
+<span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/print'>print</a></span><span class="keyword">(</span><span class="symbol">x</span><span class="keyword">,</span> <span class="argument">digits</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/Extremes'>max</a></span><span class="keyword">(</span><span class="number">3</span><span class="keyword">,</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/options'>getOption</a></span><span class="keyword">(</span><span class="string">"digits"</span><span class="keyword">)</span> <span class="keyword">-</span> <span class="number">3</span><span class="keyword">)</span><span class="keyword">,</span> <span class="symbol">...</span><span class="keyword">)</span></pre>
+
+ <h2>Arguments</h2>
+ <dl>
+ <dt>object</dt>
+ <dd>
+ an object of class <code><a href='mkinfit.html'>mkinfit</a></code>.
+</dd>
+ <dt>x</dt>
+ <dd>
+ an object of class <code>summary.mkinfit</code>.
+</dd>
+ <dt>data</dt>
+ <dd>
+ logical, indicating whether the data should be included in the summary.
+</dd>
+ <dt>distimes</dt>
+ <dd>
+ logical, indicating whether DT50 and DT90 values should be included.
+</dd>
+ <dt>alpha</dt>
+ <dd>
+ error level for confidence interval estimation from t distribution
+</dd>
+ <dt>digits</dt>
+ <dd>
+ Number of digits to use for printing
+</dd>
+ <dt>...</dt>
+ <dd>
+ optional arguments passed to methods like <code>print</code>.
+</dd>
+ </dl>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>Lists model equations, the summary as returned by <code><a href='http://www.rdocumentation.org/packages/FME/topics/modFit'>summary.modFit</a></code>,
+ the chi2 error levels calculated according to FOCUS guidance (2006) as far
+ as defined therein, and optionally the data, consisting of observed, predicted
+ and residual values.</p>
+
+ </div>
+
+ <div class="Value">
+ <h2>Value</h2>
+
+ <p><dl>
+ The summary function returns a list derived from
+ <code><a href='http://www.rdocumentation.org/packages/FME/topics/modFit'>summary.modFit</a></code>, with components, among others
+ <dt>version, Rversion</dt><dd>The mkin and R versions used</dd></p>
+
+ <p><dt>date.fit, date.summary</dt><dd>The dates where the fit and the summary were produced</dd></p>
+
+ <p><dt>use_of_ff</dt><dd>Was maximum or minimum use made of formation fractions</dd></p>
+
+ <p><dt>residuals, residualVariance, sigma, modVariance, df</dt><dd>As in summary.modFit</dd></p>
+
+ <p><dt>cov.unscaled, cov.scaled, info, niter, stopmess, par</dt><dd>As in summary.modFit</dd></p>
+
+ <p><dt>bpar</dt><dd>Optimised and backtransformed parameters</dd></p>
+
+ <p><dt>diffs </dt><dd>The differential equations used in the model</dd></p>
+
+ <p><dt>data </dt><dd>The data (see Description above).</dd></p>
+
+ <p><dt>start </dt><dd>The starting values and bounds, if applicable, for optimised parameters.</dd></p>
+
+ <p><dt>fixed </dt><dd>The values of fixed parameters.</dd></p>
+
+ <p><dt>errmin </dt><dd>The chi2 error levels for each observed variable.</dd></p>
+
+ <p><dt>bparms.ode </dt><dd>All backtransformed ODE parameters, for use as starting parameters for
+ related models.</dd></p>
+
+ <p><dt>ff </dt><dd>The estimated formation fractions derived from the fitted model.</dd></p>
+
+ <p><dt>distimes </dt><dd>The DT50 and DT90 values for each observed variable.</dd></p>
+
+ <p><dt>SFORB</dt><dd>If applicable, eigenvalues of SFORB components of the model.</dd></p>
+
+ <p>The print method is called for its side effect, i.e. printing the summary.
+</dl></p>
+
+ </div>
+
+ <div class="References">
+ <h2>References</h2>
+
+ <p>FOCUS (2006) &#147;Guidance Document on Estimating Persistence and
+ Degradation Kinetics from Environmental Fate Studies on Pesticides in EU
+ Registration&#148; Report of the FOCUS Work Group on Degradation Kinetics,
+ EC Document Reference Sanco/10058/2005 version 2.0, 434 pp,
+ <a href = 'http://focus.jrc.ec.europa.eu/dk'>http://focus.jrc.ec.europa.eu/dk</a></p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/summary'>summary</a></span><span class="keyword">(</span><span class="functioncall"><a href='mkinfit.html'>mkinfit</a></span><span class="keyword">(</span><span class="functioncall"><a href='mkinmod.html'>mkinmod</a></span><span class="keyword">(</span><span class="argument">parent</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/list'>list</a></span><span class="keyword">(</span><span class="argument">type</span> <span class="argument">=</span> <span class="string">"SFO"</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">,</span> <span class="symbol">FOCUS_2006_A</span><span class="keyword">,</span> <span class="argument">quiet</span> <span class="argument">=</span> <span class="number">TRUE</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<div class='output'>mkin version: 0.9.44.9000
+R version: 3.3.1
+Date of fit: Sat Sep 10 05:53:12 2016
+Date of summary: Sat Sep 10 05:53:12 2016
+
+Equations:
+d_parent = - k_parent_sink * parent
+
+Model predictions using solution type analytical
+
+Fitted with method Port using 35 model solutions performed in 0.09 s
+
+Weighting: none
+
+Starting values for parameters to be optimised:
+ value type
+parent_0 101.24 state
+k_parent_sink 0.10 deparm
+
+Starting values for the transformed parameters actually optimised:
+ value lower upper
+parent_0 101.240000 -Inf Inf
+log_k_parent_sink -2.302585 -Inf Inf
+
+Fixed parameter values:
+None
+
+Optimised, transformed parameters with symmetric confidence intervals:
+ Estimate Std. Error Lower Upper
+parent_0 109.200 4.3910 98.410 119.900
+log_k_parent_sink -3.291 0.1152 -3.573 -3.009
+
+Parameter correlation:
+ parent_0 log_k_parent_sink
+parent_0 1.000 0.575
+log_k_parent_sink 0.575 1.000
+
+Residual standard error: 6.08 on 6 degrees of freedom
+
+Backtransformed parameters:
+Confidence intervals for internally transformed parameters are asymmetric.
+t-test (unrealistically) based on the assumption of normal distribution
+for estimators of untransformed parameters.
+ Estimate t value Pr(&gt;t) Lower Upper
+parent_0 109.20000 24.860 1.394e-07 98.41000 119.90000
+k_parent_sink 0.03722 8.679 6.457e-05 0.02807 0.04934
+
+Chi2 error levels in percent:
+ err.min n.optim df
+All data 8.385 2 6
+parent 8.385 2 6
+
+Resulting formation fractions:
+ ff
+parent_sink 1
+
+Estimated disappearance times:
+ DT50 DT90
+parent 18.62 61.87
+
+Data:
+ time variable observed predicted residual
+ 0 parent 101.24 109.153 -7.9132
+ 3 parent 99.27 97.622 1.6484
+ 7 parent 90.11 84.119 5.9913
+ 14 parent 72.19 64.826 7.3641
+ 30 parent 29.71 35.738 -6.0283
+ 62 parent 5.98 10.862 -4.8818
+ 90 parent 1.54 3.831 -2.2911
+ 118 parent 0.39 1.351 -0.9613
+</div></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>summary.mkinfit</li><li>print.summary.mkinfit</li>
+ </ul>
+ <ul>
+ <li> utilities </li>
+ </ul> -->
+
+
+
+ <h2>Author</h2>
+
+ Johannes Ranke
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/synthetic_data_for_UBA.html b/docs/synthetic_data_for_UBA.html
new file mode 100644
index 00000000..1a29a7b2
--- /dev/null
+++ b/docs/synthetic_data_for_UBA.html
@@ -0,0 +1,156 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>synthetic_data_for_UBA_2014. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+ Synthetic datasets for one parent compound with two metabolites
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="symbol">synthetic_data_for_UBA_2014</span></pre>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>The 12 datasets were generated using four different models and three different
+ variance components. The four models are either the SFO or the DFOP model with either
+ two sequential or two parallel metabolites.</p>
+
+ <p>Variance component &#39;a&#39; is based on a normal distribution with standard deviation of 3,
+ Variance component &#39;b&#39; is also based on a normal distribution, but with a standard deviation of 7.
+ Variance component &#39;c&#39; is based on the error model from Rocke and Lorenzato (1995), with the
+ minimum standard deviation (for small y values) of 0.5, and a proportionality constant of 0.07
+ for the increase of the standard deviation with y.</p>
+
+ <p>Initial concentrations for metabolites and all values where adding the variance component resulted
+ in a value below the assumed limit of detection of 0.1 were set to <code>NA</code>.</p>
+
+ <p>As an example, the first dataset has the title <code>SFO_lin_a</code> and is based on the SFO model
+ with two sequential metabolites (linear pathway), with added variance component &#39;a&#39;.</p>
+
+ <p>Compare also the code in the example section to see the degradation models.</p>
+
+ </div>
+
+ <div class="Format">
+ <h2>Format</h2>
+
+ <p>A list containing datasets in the form internally used by the &#39;gmkin&#39; package.
+ The list has twelfe components. Each of the components is one dataset that has,
+ among others, the following components
+ <dl>
+ <dt><code>title</code></dt><dd>The name of the dataset, e.g. <code>SFO_lin_a</code></dd></p>
+
+ <p><dt><code>data</code></dt><dd>A data frame with the data in the form expected by <code><a href='mkinfit.html'>mkinfit</a></code></dd></p>
+
+ <p></dl></p>
+
+ <p></p>
+
+ </div>
+
+ <div class="Source">
+ <h2>Source</h2>
+
+ <p>Ranke (2014) Prüfung und Validierung von Modellierungssoftware als Alternative
+ zu ModelMaker 4.0, Umweltbundesamt Projektnummer 27452</p>
+
+ <p>Rocke, David M. und Lorenzato, Stefan (1995) A two-component model for
+ measurement error in analytical chemistry. Technometrics 37(2), 176-184.</p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'><span class="comment">## Not run: ------------------------------------</span>
+<span class="comment"># m_synth_SFO_lin &lt;- mkinmod(parent = list(type = "SFO", to = "M1"),</span>
+<span class="comment"># M1 = list(type = "SFO", to = "M2"),</span>
+<span class="comment"># M2 = list(type = "SFO"), use_of_ff = "max")</span>
+<span class="comment"># </span>
+<span class="comment"># </span>
+<span class="comment"># m_synth_SFO_par &lt;- mkinmod(parent = list(type = "SFO", to = c("M1", "M2"),</span>
+<span class="comment"># sink = FALSE),</span>
+<span class="comment"># M1 = list(type = "SFO"),</span>
+<span class="comment"># M2 = list(type = "SFO"), use_of_ff = "max")</span>
+<span class="comment"># </span>
+<span class="comment"># m_synth_DFOP_lin &lt;- mkinmod(parent = list(type = "DFOP", to = "M1"),</span>
+<span class="comment"># M1 = list(type = "SFO", to = "M2"),</span>
+<span class="comment"># M2 = list(type = "SFO"), use_of_ff = "max")</span>
+<span class="comment"># </span>
+<span class="comment"># m_synth_DFOP_par &lt;- mkinmod(parent = list(type = "DFOP", to = c("M1", "M2"),</span>
+<span class="comment"># sink = FALSE),</span>
+<span class="comment"># M1 = list(type = "SFO"),</span>
+<span class="comment"># M2 = list(type = "SFO"), use_of_ff = "max")</span>
+<span class="comment"># </span>
+<span class="comment"># mkinfit(m_synth_SFO_lin, synthetic_data_for_UBA_2014[[1]]$data)</span>
+<span class="comment">## ---------------------------------------------</span></div></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>synthetic_data_for_UBA_2014</li>
+ </ul>
+ <ul>
+ <li>datasets</li>
+ </ul> -->
+
+
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/docs/transform_odeparms.html b/docs/transform_odeparms.html
new file mode 100644
index 00000000..6f48b1fa
--- /dev/null
+++ b/docs/transform_odeparms.html
@@ -0,0 +1,281 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+<title>transform_odeparms. mkin 0.9.44.9000</title>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="author" content="
+ Johannes Ranke
+">
+
+<link href="css/bootstrap.css" rel="stylesheet">
+<link href="css/bootstrap-responsive.css" rel="stylesheet">
+<link href="css/highlight.css" rel="stylesheet">
+<link href="css/staticdocs.css" rel="stylesheet">
+
+<!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+<![endif]-->
+
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ processEscapes: true
+ }
+ });
+</script>
+<script type="text/javascript"
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+ </head>
+
+ <body>
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="index.html">mkin 0.9.44.9000</a>
+ <div class="nav">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+ <li><a href="reference.html">Reference</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <div class="container">
+ <header>
+
+ </header>
+
+ <h1>
+ Functions to transform and backtransform kinetic parameters for fitting
+</h1>
+
+<div class="row">
+ <div class="span8">
+ <h2>Usage</h2>
+ <pre><span class="functioncall"><a href='transform_odeparms.html'>transform_odeparms</a></span><span class="keyword">(</span><span class="symbol">parms</span><span class="keyword">,</span> <span class="symbol">mkinmod</span><span class="keyword">,</span>
+ <span class="argument">transform_rates</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">TRUE</span><span class="keyword">,</span> <span class="argument">transform_fractions</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">TRUE</span><span class="keyword">)</span>
+<span class="functioncall"><a href='transform_odeparms.html'>backtransform_odeparms</a></span><span class="keyword">(</span><span class="symbol">transparms</span><span class="keyword">,</span> <span class="symbol">mkinmod</span><span class="keyword">,</span>
+ <span class="argument">transform_rates</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">TRUE</span><span class="keyword">,</span> <span class="argument">transform_fractions</span>&nbsp;<span class="argument">=</span>&nbsp;<span class="number">TRUE</span><span class="keyword">)</span></pre>
+
+ <h2>Arguments</h2>
+ <dl>
+ <dt>parms</dt>
+ <dd>
+ Parameters of kinetic models as used in the differential equations.
+ </dd>
+ <dt>transparms</dt>
+ <dd>
+ Transformed parameters of kinetic models as used in the fitting procedure.
+ </dd>
+ <dt>mkinmod</dt>
+ <dd>
+ The kinetic model of class <code><a href='mkinmod.html'>mkinmod</a></code>, containing the names of
+ the model variables that are needed for grouping the formation fractions
+ before <code><a href='ilr.html'>ilr</a></code> transformation, the parameter names and
+ the information if the pathway to sink is included in the model.
+ </dd>
+ <dt>transform_rates</dt>
+ <dd>
+ Boolean specifying if kinetic rate constants should be transformed in the
+ model specification used in the fitting for better compliance with the
+ assumption of normal distribution of the estimator. If TRUE, also
+ alpha and beta parameters of the FOMC model are log-transformed, as well
+ as k1 and k2 rate constants for the DFOP and HS models and the break point tb
+ of the HS model.
+ </dd>
+ <dt>transform_fractions</dt>
+ <dd>
+ Boolean specifying if formation fractions constants should be transformed in the
+ model specification used in the fitting for better compliance with the
+ assumption of normal distribution of the estimator. The default (TRUE) is
+ to do transformations. The g parameter of the DFOP and HS models are also
+ transformed, as they can also be seen as compositional data. The
+ transformation used for these transformations is the <code><a href='ilr.html'>ilr</a></code>
+ transformation.
+ </dd>
+ </dl>
+
+ <div class="Description">
+ <h2>Description</h2>
+
+ <p>The transformations are intended to map parameters that should only take
+ on restricted values to the full scale of real numbers. For kinetic rate
+ constants and other paramters that can only take on positive values, a
+ simple log transformation is used. For compositional parameters, such as
+ the formations fractions that should always sum up to 1 and can not be
+ negative, the <code><a href='ilr.html'>ilr</a></code> transformation is used.</p>
+
+ <p>The transformation of sets of formation fractions is fragile, as it supposes
+ the same ordering of the components in forward and backward transformation.
+ This is no problem for the internal use in <code><a href='mkinfit.html'>mkinfit</a></code>.</p>
+
+ </div>
+
+ <div class="Value">
+ <h2>Value</h2>
+
+ <p><dl>
+ A vector of transformed or backtransformed parameters with the same names
+ as the original parameters.
+</dl></p>
+
+ </div>
+
+ <h2 id="examples">Examples</h2>
+ <pre class="examples"><div class='input'><span class="symbol">SFO_SFO</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mkinmod.html'>mkinmod</a></span><span class="keyword">(</span>
+ <span class="argument">parent</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/list'>list</a></span><span class="keyword">(</span><span class="argument">type</span> <span class="argument">=</span> <span class="string">"SFO"</span><span class="keyword">,</span> <span class="argument">to</span> <span class="argument">=</span> <span class="string">"m1"</span><span class="keyword">,</span> <span class="argument">sink</span> <span class="argument">=</span> <span class="number">TRUE</span><span class="keyword">)</span><span class="keyword">,</span>
+ <span class="argument">m1</span> <span class="argument">=</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/list'>list</a></span><span class="keyword">(</span><span class="argument">type</span> <span class="argument">=</span> <span class="string">"SFO"</span><span class="keyword">)</span><span class="keyword">)</span></div>
+<strong class='message'>Successfully compiled differential equation model from auto-generated C code.</strong>
+<div class='input'><span class="comment"># Fit the model to the FOCUS example dataset D using defaults</span>
+<span class="symbol">fit</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='mkinfit.html'>mkinfit</a></span><span class="keyword">(</span><span class="symbol">SFO_SFO</span><span class="keyword">,</span> <span class="symbol">FOCUS_2006_D</span><span class="keyword">,</span> <span class="argument">quiet</span> <span class="argument">=</span> <span class="number">TRUE</span><span class="keyword">)</span>
+<span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/summary'>summary</a></span><span class="keyword">(</span><span class="symbol">fit</span><span class="keyword">,</span> <span class="argument">data</span><span class="argument">=</span><span class="number">FALSE</span><span class="keyword">)</span> <span class="comment"># See transformed and backtransformed parameters</span></div>
+<div class='output'>mkin version: 0.9.44.9000
+R version: 3.3.1
+Date of fit: Sat Sep 10 05:53:13 2016
+Date of summary: Sat Sep 10 05:53:13 2016
+
+Equations:
+d_parent = - k_parent_sink * parent - k_parent_m1 * parent
+d_m1 = + k_parent_m1 * parent - k_m1_sink * m1
+
+Model predictions using solution type deSolve
+
+Fitted with method Port using 153 model solutions performed in 0.634 s
+
+Weighting: none
+
+Starting values for parameters to be optimised:
+ value type
+parent_0 100.7500 state
+k_parent_sink 0.1000 deparm
+k_parent_m1 0.1001 deparm
+k_m1_sink 0.1002 deparm
+
+Starting values for the transformed parameters actually optimised:
+ value lower upper
+parent_0 100.750000 -Inf Inf
+log_k_parent_sink -2.302585 -Inf Inf
+log_k_parent_m1 -2.301586 -Inf Inf
+log_k_m1_sink -2.300587 -Inf Inf
+
+Fixed parameter values:
+ value type
+m1_0 0 state
+
+Optimised, transformed parameters with symmetric confidence intervals:
+ Estimate Std. Error Lower Upper
+parent_0 99.600 1.61400 96.330 102.900
+log_k_parent_sink -3.038 0.07826 -3.197 -2.879
+log_k_parent_m1 -2.980 0.04124 -3.064 -2.897
+log_k_m1_sink -5.248 0.13610 -5.523 -4.972
+
+Parameter correlation:
+ parent_0 log_k_parent_sink log_k_parent_m1 log_k_m1_sink
+parent_0 1.00000 0.6075 -0.06625 -0.1701
+log_k_parent_sink 0.60752 1.0000 -0.08740 -0.6253
+log_k_parent_m1 -0.06625 -0.0874 1.00000 0.4716
+log_k_m1_sink -0.17006 -0.6253 0.47163 1.0000
+
+Residual standard error: 3.211 on 36 degrees of freedom
+
+Backtransformed parameters:
+Confidence intervals for internally transformed parameters are asymmetric.
+t-test (unrealistically) based on the assumption of normal distribution
+for estimators of untransformed parameters.
+ Estimate t value Pr(&gt;t) Lower Upper
+parent_0 99.600000 61.720 2.024e-38 96.330000 1.029e+02
+k_parent_sink 0.047920 12.780 3.050e-15 0.040890 5.616e-02
+k_parent_m1 0.050780 24.250 3.407e-24 0.046700 5.521e-02
+k_m1_sink 0.005261 7.349 5.758e-09 0.003992 6.933e-03
+
+Chi2 error levels in percent:
+ err.min n.optim df
+All data 6.398 4 15
+parent 6.827 3 6
+m1 4.490 1 9
+
+Resulting formation fractions:
+ ff
+parent_sink 0.4855
+parent_m1 0.5145
+m1_sink 1.0000
+
+Estimated disappearance times:
+ DT50 DT90
+parent 7.023 23.33
+m1 131.761 437.70
+</div>
+<div class='input'>
+<span class="comment">## Not run: ------------------------------------</span>
+<span class="comment"># fit.2 &lt;- mkinfit(SFO_SFO, FOCUS_2006_D, transform_rates = FALSE)</span>
+<span class="comment"># summary(fit.2, data=FALSE) </span>
+<span class="comment">## ---------------------------------------------</span>
+
+<span class="symbol">initials</span> <span class="assignement">&lt;-</span> <span class="symbol">fit</span><span class="keyword">$</span><span class="symbol">start</span><span class="keyword">$</span><span class="symbol">value</span>
+<span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/names'>names</a></span><span class="keyword">(</span><span class="symbol">initials</span><span class="keyword">)</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/colnames'>rownames</a></span><span class="keyword">(</span><span class="symbol">fit</span><span class="keyword">$</span><span class="symbol">start</span><span class="keyword">)</span>
+<span class="symbol">transformed</span> <span class="assignement">&lt;-</span> <span class="symbol">fit</span><span class="keyword">$</span><span class="symbol">start_transformed</span><span class="keyword">$</span><span class="symbol">value</span>
+<span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/names'>names</a></span><span class="keyword">(</span><span class="symbol">transformed</span><span class="keyword">)</span> <span class="assignement">&lt;-</span> <span class="functioncall"><a href='http://www.rdocumentation.org/packages/base/topics/colnames'>rownames</a></span><span class="keyword">(</span><span class="symbol">fit</span><span class="keyword">$</span><span class="symbol">start_transformed</span><span class="keyword">)</span>
+<span class="functioncall"><a href='transform_odeparms.html'>transform_odeparms</a></span><span class="keyword">(</span><span class="symbol">initials</span><span class="keyword">,</span> <span class="symbol">SFO_SFO</span><span class="keyword">)</span></div>
+<div class='output'> parent_0 log_k_parent_sink log_k_parent_m1 log_k_m1_sink
+ 100.750000 -2.302585 -2.301586 -2.300587
+</div>
+<div class='input'><span class="functioncall"><a href='transform_odeparms.html'>backtransform_odeparms</a></span><span class="keyword">(</span><span class="symbol">transformed</span><span class="keyword">,</span> <span class="symbol">SFO_SFO</span><span class="keyword">)</span></div>
+<div class='output'> parent_0 k_parent_sink k_parent_m1 k_m1_sink
+ 100.7500 0.1000 0.1001 0.1002
+</div>
+<div class='input'>
+<span class="comment">## Not run: ------------------------------------</span>
+<span class="comment"># # The case of formation fractions</span>
+<span class="comment"># SFO_SFO.ff &lt;- mkinmod(</span>
+<span class="comment"># parent = list(type = "SFO", to = "m1", sink = TRUE),</span>
+<span class="comment"># m1 = list(type = "SFO"),</span>
+<span class="comment"># use_of_ff = "max")</span>
+<span class="comment"># </span>
+<span class="comment"># fit.ff &lt;- mkinfit(SFO_SFO.ff, FOCUS_2006_D)</span>
+<span class="comment"># summary(fit.ff, data = FALSE)</span>
+<span class="comment"># initials &lt;- c("f_parent_to_m1" = 0.5)</span>
+<span class="comment"># transformed &lt;- transform_odeparms(initials, SFO_SFO.ff)</span>
+<span class="comment"># backtransform_odeparms(transformed, SFO_SFO.ff)</span>
+<span class="comment"># </span>
+<span class="comment"># # And without sink</span>
+<span class="comment"># SFO_SFO.ff.2 &lt;- mkinmod(</span>
+<span class="comment"># parent = list(type = "SFO", to = "m1", sink = FALSE),</span>
+<span class="comment"># m1 = list(type = "SFO"),</span>
+<span class="comment"># use_of_ff = "max")</span>
+<span class="comment"># </span>
+<span class="comment"># </span>
+<span class="comment"># fit.ff.2 &lt;- mkinfit(SFO_SFO.ff.2, FOCUS_2006_D)</span>
+<span class="comment"># summary(fit.ff.2, data = FALSE)</span>
+<span class="comment">## ---------------------------------------------</span></div></pre>
+ </div>
+ <div class="span4 sidebar">
+ <!-- <ul>
+ <li>transform_odeparms</li><li>backtransform_odeparms</li>
+ </ul>
+ <ul>
+ <li> manip </li>
+ </ul> -->
+
+
+
+ <h2>Author</h2>
+
+ Johannes Ranke
+
+
+ </div>
+</div>
+
+ <footer>
+ <p class="pull-right"><a href="#">Back to top</a></p>
+<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="https://getbootstrap.com/2.0.4/">bootstrap</a>.</p>
+ </footer>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/vignettes/FOCUS_D.html b/docs/vignettes/FOCUS_D.html
index d02b1b61..94d4f4a3 100644
--- a/vignettes/FOCUS_D.html
+++ b/docs/vignettes/FOCUS_D.html
@@ -192,8 +192,8 @@ print(FOCUS_2006_D)</code></pre>
<pre class="r"><code>summary(fit)</code></pre>
<pre><code>## mkin version: 0.9.44.9000
## R version: 3.3.1
-## Date of fit: Sat Sep 10 04:13:37 2016
-## Date of summary: Sat Sep 10 04:13:38 2016
+## Date of fit: Sat Sep 10 05:54:26 2016
+## Date of summary: Sat Sep 10 05:54:26 2016
##
## Equations:
## d_parent = - k_parent_sink * parent - k_parent_m1 * parent
@@ -201,7 +201,7 @@ print(FOCUS_2006_D)</code></pre>
##
## Model predictions using solution type deSolve
##
-## Fitted with method Port using 153 model solutions performed in 0.643 s
+## Fitted with method Port using 153 model solutions performed in 0.65 s
##
## Weighting: none
##
diff --git a/vignettes/FOCUS_L.html b/docs/vignettes/FOCUS_L.html
index 10d1eb01..26076d0a 100644
--- a/vignettes/FOCUS_L.html
+++ b/docs/vignettes/FOCUS_L.html
@@ -236,15 +236,15 @@ FOCUS_2006_L1_mkin &lt;- mkin_wide_to_long(FOCUS_2006_L1)</code></pre>
summary(m.L1.SFO)</code></pre>
<pre><code>## mkin version: 0.9.44.9000
## R version: 3.3.1
-## Date of fit: Sat Sep 10 04:13:38 2016
-## Date of summary: Sat Sep 10 04:13:38 2016
+## Date of fit: Sat Sep 10 05:54:26 2016
+## Date of summary: Sat Sep 10 05:54:26 2016
##
## Equations:
## d_parent = - k_parent_sink * parent
##
## Model predictions using solution type analytical
##
-## Fitted with method Port using 37 model solutions performed in 0.086 s
+## Fitted with method Port using 37 model solutions performed in 0.087 s
##
## Weighting: none
##
@@ -329,8 +329,8 @@ summary(m.L1.SFO)</code></pre>
<pre class="r"><code>summary(m.L1.FOMC, data = FALSE)</code></pre>
<pre><code>## mkin version: 0.9.44.9000
## R version: 3.3.1
-## Date of fit: Sat Sep 10 04:13:39 2016
-## Date of summary: Sat Sep 10 04:13:39 2016
+## Date of fit: Sat Sep 10 05:54:27 2016
+## Date of summary: Sat Sep 10 05:54:27 2016
##
##
## Warning: Optimisation by method Port did not converge.
@@ -342,7 +342,7 @@ summary(m.L1.SFO)</code></pre>
##
## Model predictions using solution type analytical
##
-## Fitted with method Port using 188 model solutions performed in 0.443 s
+## Fitted with method Port using 188 model solutions performed in 0.444 s
##
## Weighting: none
##
@@ -426,15 +426,15 @@ plot(m.L2.FOMC, show_residuals = TRUE,
<pre class="r"><code>summary(m.L2.FOMC, data = FALSE)</code></pre>
<pre><code>## mkin version: 0.9.44.9000
## R version: 3.3.1
-## Date of fit: Sat Sep 10 04:13:40 2016
-## Date of summary: Sat Sep 10 04:13:40 2016
+## Date of fit: Sat Sep 10 05:54:28 2016
+## Date of summary: Sat Sep 10 05:54:28 2016
##
## Equations:
## d_parent = - (alpha/beta) * 1/((time/beta) + 1) * parent
##
## Model predictions using solution type analytical
##
-## Fitted with method Port using 81 model solutions performed in 0.191 s
+## Fitted with method Port using 81 model solutions performed in 0.198 s
##
## Weighting: none
##
@@ -496,8 +496,8 @@ plot(m.L2.DFOP, show_residuals = TRUE, show_errmin = TRUE,
<pre class="r"><code>summary(m.L2.DFOP, data = FALSE)</code></pre>
<pre><code>## mkin version: 0.9.44.9000
## R version: 3.3.1
-## Date of fit: Sat Sep 10 04:13:41 2016
-## Date of summary: Sat Sep 10 04:13:41 2016
+## Date of fit: Sat Sep 10 05:54:29 2016
+## Date of summary: Sat Sep 10 05:54:29 2016
##
## Equations:
## d_parent = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) * exp(-k2 *
@@ -506,7 +506,7 @@ plot(m.L2.DFOP, show_residuals = TRUE, show_errmin = TRUE,
##
## Model predictions using solution type analytical
##
-## Fitted with method Port using 336 model solutions performed in 0.797 s
+## Fitted with method Port using 336 model solutions performed in 0.825 s
##
## Weighting: none
##
@@ -585,8 +585,8 @@ plot(mm.L3)</code></pre>
<pre class="r"><code>summary(mm.L3[[&quot;DFOP&quot;, 1]])</code></pre>
<pre><code>## mkin version: 0.9.44.9000
## R version: 3.3.1
-## Date of fit: Sat Sep 10 04:13:42 2016
-## Date of summary: Sat Sep 10 04:13:42 2016
+## Date of fit: Sat Sep 10 05:54:30 2016
+## Date of summary: Sat Sep 10 05:54:30 2016
##
## Equations:
## d_parent = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) * exp(-k2 *
@@ -595,7 +595,7 @@ plot(mm.L3)</code></pre>
##
## Model predictions using solution type analytical
##
-## Fitted with method Port using 137 model solutions performed in 0.326 s
+## Fitted with method Port using 137 model solutions performed in 0.319 s
##
## Weighting: none
##
@@ -685,15 +685,15 @@ plot(mm.L4)</code></pre>
<pre class="r"><code>summary(mm.L4[[&quot;SFO&quot;, 1]], data = FALSE)</code></pre>
<pre><code>## mkin version: 0.9.44.9000
## R version: 3.3.1
-## Date of fit: Sat Sep 10 04:13:42 2016
-## Date of summary: Sat Sep 10 04:13:42 2016
+## Date of fit: Sat Sep 10 05:54:30 2016
+## Date of summary: Sat Sep 10 05:54:31 2016
##
## Equations:
## d_parent = - k_parent_sink * parent
##
## Model predictions using solution type analytical
##
-## Fitted with method Port using 46 model solutions performed in 0.106 s
+## Fitted with method Port using 46 model solutions performed in 0.107 s
##
## Weighting: none
##
@@ -745,15 +745,15 @@ plot(mm.L4)</code></pre>
<pre class="r"><code>summary(mm.L4[[&quot;FOMC&quot;, 1]], data = FALSE)</code></pre>
<pre><code>## mkin version: 0.9.44.9000
## R version: 3.3.1
-## Date of fit: Sat Sep 10 04:13:42 2016
-## Date of summary: Sat Sep 10 04:13:43 2016
+## Date of fit: Sat Sep 10 05:54:31 2016
+## Date of summary: Sat Sep 10 05:54:31 2016
##
## Equations:
## d_parent = - (alpha/beta) * 1/((time/beta) + 1) * parent
##
## Model predictions using solution type analytical
##
-## Fitted with method Port using 66 model solutions performed in 0.15 s
+## Fitted with method Port using 66 model solutions performed in 0.149 s
##
## Weighting: none
##
diff --git a/vignettes/FOCUS_Z.pdf b/docs/vignettes/FOCUS_Z.pdf
index 27b9951d..06acf802 100644
--- a/vignettes/FOCUS_Z.pdf
+++ b/docs/vignettes/FOCUS_Z.pdf
Binary files differ
diff --git a/vignettes/compiled_models.html b/docs/vignettes/compiled_models.html
index 004a808c..97416dc7 100644
--- a/vignettes/compiled_models.html
+++ b/docs/vignettes/compiled_models.html
@@ -251,21 +251,21 @@ mb.1 &lt;- microbenchmark(
print(mb.1)</code></pre>
<pre><code>## Unit: milliseconds
## expr min lq mean median uq
-## deSolve, not compiled 6507.8296 6549.5160 6597.4319 6591.2024 6642.2330
-## Eigenvalue based 890.5249 917.6589 928.4907 944.7928 947.4735
-## deSolve, compiled 735.4908 742.0363 749.3996 748.5817 756.3540
+## deSolve, not compiled 6438.0110 6444.1220 6460.7839 6450.2330 6472.1703
+## Eigenvalue based 885.8356 892.8422 908.1567 899.8489 919.3173
+## deSolve, compiled 717.8236 722.6525 738.3923 727.4815 748.6767
## max neval cld
-## 6693.2636 3 c
-## 950.1543 3 b
-## 764.1264 3 a</code></pre>
+## 6494.1075 3 c
+## 938.7858 3 b
+## 769.8719 3 a</code></pre>
<pre class="r"><code>autoplot(mb.1)</code></pre>
-<p><img src="data:image/png;base64,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" width="672" /></p>
-<p>We see that using the compiled model is by a factor of 8.8 faster than using the R version with the default ode solver, and it is even faster than the Eigenvalue based solution implemented in R which does not need iterative solution of the ODEs:</p>
+<p><img src="data:image/png;base64,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sX0leYjzPO/VzPbra3/v+//kea9nNl/1bFDtNw2a887hHz1ve2ZzZbgtVvcJaMUioKhKXb0L7+ffyTz+hfyf/Px43hr578J3MtddQLedHaz1hca7dmQG5SH+0ntfa96BPuq9P7vZeob3sXCtv84/h4+07d4UbovVfQJasQgoqlKMgH42v27vz1vjFALq7xn3F+F6//DTtzs5xOm5a9qM09t/5cmnvNPzj5i51777scwz0dV9AlqxCCiqUoyAftH7budrnEpAfb/lP6+t+0QQuU/u7XiIs72z0nmbeVeg7/c+6ncI6Dne+1oymy/nnslf3SegFYuAoirFCOgPvE92vsapBdRKr+/teaM6HuJ/e172E/Q77rjjSN73QF8PXpr7HQLay/OaMpv/kV/K3Oo+Aa1YBBRVKUZAF3jeuszjT33607/IW+MUAjro88MzI38OfyGePMQkz7sqs32pd06rP9HzfpzZnJp5v10EdErbu/C9w22xuk9AKxYBRVWKEdBDH/I+t9NuHvii957X89Y4hYAO987YFO56l+d9p+MhNp/mffgpu930Ua+v77/oeR9abzfXneV5L/kdArop9znQZZnPgYrVfQJasQgoqlKMgPqLgn41Lr336k953rT8NU4hoHd43l/++O4Hlwx7r+fd08khLve891645J4r/8I7y6Zwkt28/faxp2d+8EgG1J9sfxLplpsHep8Lt+XqBLRiEVBUpTgBTV9zWub98fc05r+1cyoBbTk/9577e6/p7BAtl2Sf/vBddvPEmNzu409Gjpi9d2J45tmPvRBuy9UJaMUioKhKcQLq+38c/dkzzzl37LboGqf0JtLj9f9wzpmf+ZcZe/3OD/HMqM9+4JyvTMz9wvsnhv6PMz/wmQvyfhtT9N4j9Z844+ODX85ty9UJaIUioHBWFVWpik7VLQQUzqqiKlXRqbqFgMJZVVSlKjpVtxBQOKuKqlRFp+oWAgpnhe9zd/P3wlcK/l74ykVA4SwCilNFQAGgQAQUAApEQAGgQAQUAApEQAGgQAQUAApEQAGgQAQUAApEQAGgQAQUAApEQAGgQAQUAApEQAGgQAQUAAr0/wHAKCTVltv+ggAAAABJRU5ErkJggg==" width="672" /></p>
+<p>We see that using the compiled model is by a factor of 8.9 faster than using the R version with the default ode solver, and it is even faster than the Eigenvalue based solution implemented in R which does not need iterative solution of the ODEs:</p>
<pre class="r"><code>rownames(smb.1) &lt;- smb.1$expr
smb.1[&quot;median&quot;]/smb.1[&quot;deSolve, compiled&quot;, &quot;median&quot;]</code></pre>
<pre><code>## median
-## deSolve, not compiled 8.804921
-## Eigenvalue based 1.262110
+## deSolve, not compiled 8.866525
+## Eigenvalue based 1.236937
## deSolve, compiled 1.000000</code></pre>
</div>
<div id="benchmark-for-a-model-that-can-not-be-solved-with-eigenvalues" class="section level2">
@@ -286,19 +286,19 @@ smb.1[&quot;median&quot;]/smb.1[&quot;deSolve, compiled&quot;, &quot;median&quot
<pre class="r"><code>smb.2 &lt;- summary(mb.2)
print(mb.2)</code></pre>
<pre><code>## Unit: seconds
-## expr min lq mean median uq
-## deSolve, not compiled 13.741831 13.74759 13.815509 13.753350 13.852348
-## deSolve, compiled 1.358402 1.35862 1.368666 1.358838 1.373798
+## expr min lq mean median uq
+## deSolve, not compiled 13.446530 13.475187 13.565657 13.50384 13.625221
+## deSolve, compiled 1.334123 1.348677 1.356064 1.36323 1.367035
## max neval cld
-## 13.951345 3 b
-## 1.388759 3 a</code></pre>
+## 13.746597 3 b
+## 1.370839 3 a</code></pre>
<pre class="r"><code>smb.2[&quot;median&quot;]/smb.2[&quot;deSolve, compiled&quot;, &quot;median&quot;]</code></pre>
<pre><code>## median
## 1 NA
## 2 NA</code></pre>
<pre class="r"><code>autoplot(mb.2)</code></pre>
-<p><img src="data:image/png;base64,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" width="672" /></p>
-<p>Here we get a performance benefit of a factor of 10.1 using the version of the differential equation model compiled from C code!</p>
+<p><img src="data:image/png;base64,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" width="672" /></p>
+<p>Here we get a performance benefit of a factor of 9.9 using the version of the differential equation model compiled from C code!</p>
<p>This vignette was built with mkin 0.9.44.9000 on</p>
<pre><code>## R version 3.3.1 (2016-06-21)
## Platform: x86_64-pc-linux-gnu (64-bit)
diff --git a/vignettes/mkin.html b/docs/vignettes/mkin.html
index 0540ffd0..0540ffd0 100644
--- a/vignettes/mkin.html
+++ b/docs/vignettes/mkin.html
diff --git a/inst/web/Extract.mmkin.html b/inst/web/Extract.mmkin.html
index e4225ffd..6e32f5a9 100644
--- a/inst/web/Extract.mmkin.html
+++ b/inst/web/Extract.mmkin.html
@@ -183,7 +183,7 @@ $calls
$time
user system elapsed
- 0.260 0.000 0.259
+ 0.252 0.000 0.252
$mkinmod
&lt;mkinmod&gt; model generated with
@@ -369,7 +369,7 @@ function (P)
}
return(mC)
}
-&lt;environment: 0x37c6c70&gt;
+&lt;environment: 0x33d3c70&gt;
$cost_notrans
function (P)
@@ -391,7 +391,7 @@ function (P)
scaleVar = scaleVar)
return(mC)
}
-&lt;environment: 0x37c6c70&gt;
+&lt;environment: 0x33d3c70&gt;
$hessian_notrans
parent_0 alpha beta
@@ -457,7 +457,7 @@ $bparms.state
99.66619
$date
-[1] &quot;Sat Sep 10 04:12:07 2016&quot;
+[1] &quot;Sat Sep 10 05:19:30 2016&quot;
attr(,&quot;class&quot;)
[1] &quot;mkinfit&quot; &quot;modFit&quot;
@@ -544,7 +544,7 @@ $calls
$time
user system elapsed
- 0.068 0.000 0.069
+ 0.068 0.000 0.067
$mkinmod
&lt;mkinmod&gt; model generated with
@@ -731,7 +731,7 @@ function (P)
}
return(mC)
}
-&lt;environment: 0x4cb0ed0&gt;
+&lt;environment: 0x48bdf40&gt;
$cost_notrans
function (P)
@@ -753,7 +753,7 @@ function (P)
scaleVar = scaleVar)
return(mC)
}
-&lt;environment: 0x4cb0ed0&gt;
+&lt;environment: 0x48bdf40&gt;
$hessian_notrans
parent_0 k_parent_sink
@@ -816,7 +816,7 @@ $bparms.state
99.17407
$date
-[1] &quot;Sat Sep 10 04:12:07 2016&quot;
+[1] &quot;Sat Sep 10 05:19:30 2016&quot;
attr(,&quot;class&quot;)
[1] &quot;mkinfit&quot; &quot;modFit&quot;
@@ -896,7 +896,7 @@ $calls
$time
user system elapsed
- 0.068 0.000 0.069
+ 0.068 0.000 0.067
$mkinmod
&lt;mkinmod&gt; model generated with
@@ -1083,7 +1083,7 @@ function (P)
}
return(mC)
}
-&lt;environment: 0x4cb0ed0&gt;
+&lt;environment: 0x48bdf40&gt;
$cost_notrans
function (P)
@@ -1105,7 +1105,7 @@ function (P)
scaleVar = scaleVar)
return(mC)
}
-&lt;environment: 0x4cb0ed0&gt;
+&lt;environment: 0x48bdf40&gt;
$hessian_notrans
parent_0 k_parent_sink
@@ -1168,7 +1168,7 @@ $bparms.state
99.17407
$date
-[1] &quot;Sat Sep 10 04:12:07 2016&quot;
+[1] &quot;Sat Sep 10 05:19:30 2016&quot;
attr(,&quot;class&quot;)
[1] &quot;mkinfit&quot; &quot;modFit&quot;
diff --git a/inst/web/mccall81_245T.html b/inst/web/mccall81_245T.html
index 9972571a..66a8fce2 100644
--- a/inst/web/mccall81_245T.html
+++ b/inst/web/mccall81_245T.html
@@ -114,8 +114,8 @@
</div>
<div class='output'>mkin version: 0.9.44.9000
R version: 3.3.1
-Date of fit: Sat Sep 10 04:12:13 2016
-Date of summary: Sat Sep 10 04:12:13 2016
+Date of fit: Sat Sep 10 05:19:35 2016
+Date of summary: Sat Sep 10 05:19:35 2016
Equations:
d_T245 = - k_T245_sink * T245 - k_T245_phenol * T245
@@ -125,7 +125,7 @@ d_anisole = + k_phenol_anisole * phenol - k_anisole_sink * anisole
Model predictions using solution type deSolve
-Fitted with method Port using 246 model solutions performed in 1.456 s
+Fitted with method Port using 246 model solutions performed in 1.434 s
Weighting: none
diff --git a/inst/web/mkinfit.html b/inst/web/mkinfit.html
index 910a43ec..899f2cc7 100644
--- a/inst/web/mkinfit.html
+++ b/inst/web/mkinfit.html
@@ -325,15 +325,15 @@ summary(fit)
</div>
<div class='output'>mkin version: 0.9.44.9000
R version: 3.3.1
-Date of fit: Sat Sep 10 04:12:15 2016
-Date of summary: Sat Sep 10 04:12:15 2016
+Date of fit: Sat Sep 10 05:19:38 2016
+Date of summary: Sat Sep 10 05:19:38 2016
Equations:
d_parent = - (alpha/beta) * 1/((time/beta) + 1) * parent
Model predictions using solution type analytical
-Fitted with method Port using 64 model solutions performed in 0.156 s
+Fitted with method Port using 64 model solutions performed in 0.148 s
Weighting: none
@@ -409,7 +409,7 @@ print(system.time(fit &lt;- mkinfit(SFO_SFO, FOCUS_2006_D,
solution_type = &quot;eigen&quot;, quiet = TRUE)))
</div>
<div class='output'> user system elapsed
- 1.228 1.216 0.923
+ 1.236 1.188 0.911
</div>
<div class='input'>coef(fit)
</div>
diff --git a/inst/web/mkinpredict.html b/inst/web/mkinpredict.html
index fbf06007..d8edeb23 100644
--- a/inst/web/mkinpredict.html
+++ b/inst/web/mkinpredict.html
@@ -304,7 +304,7 @@
201 20 4.978707 27.46227
</div>
<div class='output'> user system elapsed
- 0.024 0.004 0.005
+ 0.004 0.028 0.005
</div>
<div class='input'> system.time(
print(mkinpredict(SFO_SFO, c(k_parent_m1 = 0.05, k_parent_sink = 0.1, k_m1_sink = 0.01),
@@ -315,7 +315,7 @@
201 20 4.978707 27.46227
</div>
<div class='output'> user system elapsed
- 0.000 0.020 0.002
+ 0.016 0.004 0.003
</div>
<div class='input'> system.time(
print(mkinpredict(SFO_SFO, c(k_parent_m1 = 0.05, k_parent_sink = 0.1, k_m1_sink = 0.01),
@@ -326,7 +326,7 @@
201 20 4.978707 27.46227
</div>
<div class='output'> user system elapsed
- 0.036 0.000 0.036
+ 0.032 0.000 0.035
</div></pre>
</div>
<div class="span4">
diff --git a/inst/web/summary.mkinfit.html b/inst/web/summary.mkinfit.html
index 936350df..53cf5f97 100644
--- a/inst/web/summary.mkinfit.html
+++ b/inst/web/summary.mkinfit.html
@@ -159,8 +159,8 @@
</div>
<div class='output'>mkin version: 0.9.44.9000
R version: 3.3.1
-Date of fit: Sat Sep 10 04:12:23 2016
-Date of summary: Sat Sep 10 04:12:23 2016
+Date of fit: Sat Sep 10 05:19:45 2016
+Date of summary: Sat Sep 10 05:19:45 2016
Equations:
d_parent = - k_parent_sink * parent
diff --git a/inst/web/transform_odeparms.html b/inst/web/transform_odeparms.html
index 43c6cdc2..d016bef5 100644
--- a/inst/web/transform_odeparms.html
+++ b/inst/web/transform_odeparms.html
@@ -135,8 +135,8 @@ summary(fit, data=FALSE) # See transformed and backtransformed parameters
</div>
<div class='output'>mkin version: 0.9.44.9000
R version: 3.3.1
-Date of fit: Sat Sep 10 04:12:24 2016
-Date of summary: Sat Sep 10 04:12:24 2016
+Date of fit: Sat Sep 10 05:19:46 2016
+Date of summary: Sat Sep 10 05:19:46 2016
Equations:
d_parent = - k_parent_sink * parent - k_parent_m1 * parent
@@ -144,7 +144,7 @@ d_m1 = + k_parent_m1 * parent - k_m1_sink * m1
Model predictions using solution type deSolve
-Fitted with method Port using 153 model solutions performed in 0.682 s
+Fitted with method Port using 153 model solutions performed in 0.681 s
Weighting: none
diff --git a/inst/web/vignettes/FOCUS_D.html b/inst/web/vignettes/FOCUS_D.html
index d02b1b61..9e19315d 100644
--- a/inst/web/vignettes/FOCUS_D.html
+++ b/inst/web/vignettes/FOCUS_D.html
@@ -192,8 +192,8 @@ print(FOCUS_2006_D)</code></pre>
<pre class="r"><code>summary(fit)</code></pre>
<pre><code>## mkin version: 0.9.44.9000
## R version: 3.3.1
-## Date of fit: Sat Sep 10 04:13:37 2016
-## Date of summary: Sat Sep 10 04:13:38 2016
+## Date of fit: Sat Sep 10 05:20:59 2016
+## Date of summary: Sat Sep 10 05:20:59 2016
##
## Equations:
## d_parent = - k_parent_sink * parent - k_parent_m1 * parent
@@ -201,7 +201,7 @@ print(FOCUS_2006_D)</code></pre>
##
## Model predictions using solution type deSolve
##
-## Fitted with method Port using 153 model solutions performed in 0.643 s
+## Fitted with method Port using 153 model solutions performed in 0.641 s
##
## Weighting: none
##
diff --git a/inst/web/vignettes/FOCUS_L.html b/inst/web/vignettes/FOCUS_L.html
index 10d1eb01..8223a3f4 100644
--- a/inst/web/vignettes/FOCUS_L.html
+++ b/inst/web/vignettes/FOCUS_L.html
@@ -236,15 +236,15 @@ FOCUS_2006_L1_mkin &lt;- mkin_wide_to_long(FOCUS_2006_L1)</code></pre>
summary(m.L1.SFO)</code></pre>
<pre><code>## mkin version: 0.9.44.9000
## R version: 3.3.1
-## Date of fit: Sat Sep 10 04:13:38 2016
-## Date of summary: Sat Sep 10 04:13:38 2016
+## Date of fit: Sat Sep 10 05:20:59 2016
+## Date of summary: Sat Sep 10 05:20:59 2016
##
## Equations:
## d_parent = - k_parent_sink * parent
##
## Model predictions using solution type analytical
##
-## Fitted with method Port using 37 model solutions performed in 0.086 s
+## Fitted with method Port using 37 model solutions performed in 0.09 s
##
## Weighting: none
##
@@ -329,8 +329,8 @@ summary(m.L1.SFO)</code></pre>
<pre class="r"><code>summary(m.L1.FOMC, data = FALSE)</code></pre>
<pre><code>## mkin version: 0.9.44.9000
## R version: 3.3.1
-## Date of fit: Sat Sep 10 04:13:39 2016
-## Date of summary: Sat Sep 10 04:13:39 2016
+## Date of fit: Sat Sep 10 05:21:00 2016
+## Date of summary: Sat Sep 10 05:21:00 2016
##
##
## Warning: Optimisation by method Port did not converge.
@@ -342,7 +342,7 @@ summary(m.L1.SFO)</code></pre>
##
## Model predictions using solution type analytical
##
-## Fitted with method Port using 188 model solutions performed in 0.443 s
+## Fitted with method Port using 188 model solutions performed in 0.441 s
##
## Weighting: none
##
@@ -426,8 +426,8 @@ plot(m.L2.FOMC, show_residuals = TRUE,
<pre class="r"><code>summary(m.L2.FOMC, data = FALSE)</code></pre>
<pre><code>## mkin version: 0.9.44.9000
## R version: 3.3.1
-## Date of fit: Sat Sep 10 04:13:40 2016
-## Date of summary: Sat Sep 10 04:13:40 2016
+## Date of fit: Sat Sep 10 05:21:01 2016
+## Date of summary: Sat Sep 10 05:21:01 2016
##
## Equations:
## d_parent = - (alpha/beta) * 1/((time/beta) + 1) * parent
@@ -496,8 +496,8 @@ plot(m.L2.DFOP, show_residuals = TRUE, show_errmin = TRUE,
<pre class="r"><code>summary(m.L2.DFOP, data = FALSE)</code></pre>
<pre><code>## mkin version: 0.9.44.9000
## R version: 3.3.1
-## Date of fit: Sat Sep 10 04:13:41 2016
-## Date of summary: Sat Sep 10 04:13:41 2016
+## Date of fit: Sat Sep 10 05:21:02 2016
+## Date of summary: Sat Sep 10 05:21:02 2016
##
## Equations:
## d_parent = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) * exp(-k2 *
@@ -506,7 +506,7 @@ plot(m.L2.DFOP, show_residuals = TRUE, show_errmin = TRUE,
##
## Model predictions using solution type analytical
##
-## Fitted with method Port using 336 model solutions performed in 0.797 s
+## Fitted with method Port using 336 model solutions performed in 0.899 s
##
## Weighting: none
##
@@ -585,8 +585,8 @@ plot(mm.L3)</code></pre>
<pre class="r"><code>summary(mm.L3[[&quot;DFOP&quot;, 1]])</code></pre>
<pre><code>## mkin version: 0.9.44.9000
## R version: 3.3.1
-## Date of fit: Sat Sep 10 04:13:42 2016
-## Date of summary: Sat Sep 10 04:13:42 2016
+## Date of fit: Sat Sep 10 05:21:03 2016
+## Date of summary: Sat Sep 10 05:21:03 2016
##
## Equations:
## d_parent = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) * exp(-k2 *
@@ -595,7 +595,7 @@ plot(mm.L3)</code></pre>
##
## Model predictions using solution type analytical
##
-## Fitted with method Port using 137 model solutions performed in 0.326 s
+## Fitted with method Port using 137 model solutions performed in 0.403 s
##
## Weighting: none
##
@@ -685,15 +685,15 @@ plot(mm.L4)</code></pre>
<pre class="r"><code>summary(mm.L4[[&quot;SFO&quot;, 1]], data = FALSE)</code></pre>
<pre><code>## mkin version: 0.9.44.9000
## R version: 3.3.1
-## Date of fit: Sat Sep 10 04:13:42 2016
-## Date of summary: Sat Sep 10 04:13:42 2016
+## Date of fit: Sat Sep 10 05:21:04 2016
+## Date of summary: Sat Sep 10 05:21:04 2016
##
## Equations:
## d_parent = - k_parent_sink * parent
##
## Model predictions using solution type analytical
##
-## Fitted with method Port using 46 model solutions performed in 0.106 s
+## Fitted with method Port using 46 model solutions performed in 0.109 s
##
## Weighting: none
##
@@ -745,15 +745,15 @@ plot(mm.L4)</code></pre>
<pre class="r"><code>summary(mm.L4[[&quot;FOMC&quot;, 1]], data = FALSE)</code></pre>
<pre><code>## mkin version: 0.9.44.9000
## R version: 3.3.1
-## Date of fit: Sat Sep 10 04:13:42 2016
-## Date of summary: Sat Sep 10 04:13:43 2016
+## Date of fit: Sat Sep 10 05:21:04 2016
+## Date of summary: Sat Sep 10 05:21:04 2016
##
## Equations:
## d_parent = - (alpha/beta) * 1/((time/beta) + 1) * parent
##
## Model predictions using solution type analytical
##
-## Fitted with method Port using 66 model solutions performed in 0.15 s
+## Fitted with method Port using 66 model solutions performed in 0.152 s
##
## Weighting: none
##
diff --git a/inst/web/vignettes/FOCUS_Z.pdf b/inst/web/vignettes/FOCUS_Z.pdf
index 27b9951d..85e50e65 100644
--- a/inst/web/vignettes/FOCUS_Z.pdf
+++ b/inst/web/vignettes/FOCUS_Z.pdf
Binary files differ
diff --git a/inst/web/vignettes/compiled_models.html b/inst/web/vignettes/compiled_models.html
index 004a808c..212b1abb 100644
--- a/inst/web/vignettes/compiled_models.html
+++ b/inst/web/vignettes/compiled_models.html
@@ -251,21 +251,21 @@ mb.1 &lt;- microbenchmark(
print(mb.1)</code></pre>
<pre><code>## Unit: milliseconds
## expr min lq mean median uq
-## deSolve, not compiled 6507.8296 6549.5160 6597.4319 6591.2024 6642.2330
-## Eigenvalue based 890.5249 917.6589 928.4907 944.7928 947.4735
-## deSolve, compiled 735.4908 742.0363 749.3996 748.5817 756.3540
+## deSolve, not compiled 6410.2240 6437.0229 6461.3866 6463.8218 6486.9680
+## Eigenvalue based 887.5697 915.3026 929.6279 943.0355 950.6570
+## deSolve, compiled 737.4060 745.6645 749.1956 753.9229 755.0903
## max neval cld
-## 6693.2636 3 c
-## 950.1543 3 b
-## 764.1264 3 a</code></pre>
+## 6510.1142 3 c
+## 958.2786 3 b
+## 756.2578 3 a</code></pre>
<pre class="r"><code>autoplot(mb.1)</code></pre>
-<p><img src="data:image/png;base64,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" width="672" /></p>
-<p>We see that using the compiled model is by a factor of 8.8 faster than using the R version with the default ode solver, and it is even faster than the Eigenvalue based solution implemented in R which does not need iterative solution of the ODEs:</p>
+<p><img src="data:image/png;base64,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" width="672" /></p>
+<p>We see that using the compiled model is by a factor of 8.6 faster than using the R version with the default ode solver, and it is even faster than the Eigenvalue based solution implemented in R which does not need iterative solution of the ODEs:</p>
<pre class="r"><code>rownames(smb.1) &lt;- smb.1$expr
smb.1[&quot;median&quot;]/smb.1[&quot;deSolve, compiled&quot;, &quot;median&quot;]</code></pre>
<pre><code>## median
-## deSolve, not compiled 8.804921
-## Eigenvalue based 1.262110
+## deSolve, not compiled 8.573584
+## Eigenvalue based 1.250838
## deSolve, compiled 1.000000</code></pre>
</div>
<div id="benchmark-for-a-model-that-can-not-be-solved-with-eigenvalues" class="section level2">
@@ -286,18 +286,18 @@ smb.1[&quot;median&quot;]/smb.1[&quot;deSolve, compiled&quot;, &quot;median&quot
<pre class="r"><code>smb.2 &lt;- summary(mb.2)
print(mb.2)</code></pre>
<pre><code>## Unit: seconds
-## expr min lq mean median uq
-## deSolve, not compiled 13.741831 13.74759 13.815509 13.753350 13.852348
-## deSolve, compiled 1.358402 1.35862 1.368666 1.358838 1.373798
+## expr min lq mean median uq
+## deSolve, not compiled 13.370040 13.424534 13.501075 13.479027 13.56659
+## deSolve, compiled 1.336599 1.336707 1.339399 1.336815 1.34080
## max neval cld
-## 13.951345 3 b
-## 1.388759 3 a</code></pre>
+## 13.654158 3 b
+## 1.344784 3 a</code></pre>
<pre class="r"><code>smb.2[&quot;median&quot;]/smb.2[&quot;deSolve, compiled&quot;, &quot;median&quot;]</code></pre>
<pre><code>## median
## 1 NA
## 2 NA</code></pre>
<pre class="r"><code>autoplot(mb.2)</code></pre>
-<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABUAAAAJACAMAAAB7fzyHAAAC8VBMVEUAAAABAQECAgIDAwMEBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQWFhYXFxcZGRkaGhobGxscHBwdHR0eHh4fHx8gICAiIiIjIyMkJCQlJSUmJiYnJycoKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dJSUlKSkpLS0tNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29wcHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGCgoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OUlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWmpqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4uLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7///81RcESAAAACXBIWXMAAB2HAAAdhwGP5fFlAAAgAElEQVR4nO3de7wU5Zng8TJeoybGyWTHnZiNu5mdzcxmNqUOrhnNrtlxMm9zPIcTlPsdBBUYRY0RIyMgUVFJABmMiqMYE0cjGg2JFzSKl0mM4kSRqwqKlzMi6gEEDqf+2q7q7nO6qpux3uKp7qrz/L4fP3ZXdz1vV1vJ79N9ug84HgAgEafZBwAAeUVAASAhAgoACRFQAEiIgAJAQgQUABIioACQEAEFgIQIKAAkREABICECCgAJEVAASIiAAkBCBBQAEiKg8X3QAUDKbs97r9nHYC8SBQIaHwEF5BBQZQgoIIeAKkNAATkEVBkCCsghoMoQUEAOAVWGgAJyCKgyBBSQQ0CVIaCAHAKqDAEF5BBQZQgoIIeAKkNAATkEVBkCCsghoMoQUEAOAVWGgAJyCKgyBBSQQ0CVIaCAHAKqDAEF5BBQZQgoIIeAKkNAATkEVBkCCsghoMoQUEAOAVWGgAJyCKgyBBSQQ0CVIaCAHAKqDAEF5BBQZQgoIIeAKkNAATkEVBkCCsghoMoQUEAOAVWGgAJyCKgyBBSQQ0CVIaCAHAKqDAEF5BBQZQgoIIeAKkNAATkEVBkCCsghoMoQUEAOAVWGgAJyCKgyBBSQQ0CVIaCAHAKqDAEF5BBQZQgoIIeAKkNAATkEVBkCCsghoMoQUEAOAVWGgAJyCKgyBBSQQ0CVIaCAHAKqDAEF5BBQZQgoIIeAKkNAATkEVBkCCsghoMoQUEAOAVWGgAJyCKgyBBSQQ0CVIaCAHAKqDAEF5BBQZQgoIIeAKkNAATkEVBkCCsghoMpYBfTdBZe8nNY5BPoAAqqMVUBXuO74tM4h0AcQUGWsAnq/6/bbktZJBPKPgCpjG1D3tymdQ6APIKDKWAf052mdRCD/CKgy1gFdnNZJBPKPgCpjHdAr0zqJQP4RUGWsA3phWicRyD8Cqox1QMemdRKB/COgylgHtD2tkwjkHwFVxjqgp6d1EoH8I6DKWAe0X1onEcg/AqqMdUDdzWmdRSD3CKgy9gF9Ka2zCOQeAVXGPqDPpnUWgdwjoMrYB/ShtM4ikHsEVBn7gPLL8MC+EFBl7AN6e1pnEcg9AqqMfUBvSOssArlHQJWxD+jVKZ1EIP8IqDL2Ab08rbMI5B4BVcY+oBekdRaB3COgytgHdEJaZxHIPQKqjH1Ah6R1FoHcI6DK2Ae0Na2zCOQeAVXGPqD8eXbAvhBQZewDenJaZxHIPQKqjH1A3S1pnUYg7wioMgkCuj6t0wjkHQFVJkFAX0jrNAJ5R0CVSRDQJ9M6jUDeEVBlEgR0eVqnEcg7AqpMgoD+S1qnEcg7AqqMbUBPdN0lxWuvb0rpVAJ5RkCVsQ3ot1z3Rx0dvzzplN+ldTKB/CKgytgGtNV153R0tLjuTWmdTCC/CKgytgEd4brf63jBJaBAHQRUGduAnlf8p+MOAgrUQ0CVsQ3o9OKL0I6ZBBSoh4AqYxvQa/w/z24cAQXqIaDK2AZ03inuaR2nE1CgHgKqjHVAC+6Jr7oEFKiHgCpjHdDhrrucgAJ1EVBlrAM61XXnElCgLgKqjHVAZ7ruSAIK1EVAlbEO6CLX7UdAgboIqDLWAb3bLSGgQA0Cqox1QFe67vEEFKiLgCpjHdCNpX4SUKAWAVXGOqC7TiwW9CQCCtRBQJWxDqjXXnz5OZyAAnUQUGXsAzrLdU9YQECBOgioMvYBXXuSe9lPCShQBwFVxj6g3htP7yWgQD0EVJkEAS0ioEA9BFQZAgrIIaDKEFBADgFVhoACcgioMgQUkENAlSGggBwCqgwBBeQQ0Pi2GFN745qrzm0fOm3ROzF3T8e+H6rmHgIKyCGg8dXJVPcCY/qPHmRMy51xdk+BMVsIKNAkBDS+Opn6hWlfXvxPuPVGY56KsXsKCCjQPAQ0vjqZGm9WlK4sMDNj7J6CZcs6CSjQJAQ0vtpMbTems3RtlRn5ybunhoACTUFA41g1a3Tb1IffLMVo09xz2kbO+r1/tdOYNaU99naWSrp6zoQB5819xb/qt2uh+XFw8yYz8OPwaNTGqye2TVz8fp1Fum6f3D75xu1br53QNu72XZ7/rv3Nh6a0jZ69yvPCb+FDy4eOuRcBBeQQ0BjuKJjCyIKZE8ToFy2mfUK7MTf590w2wx/ZWbXnnQXTMqa493KvVLU/mJHd/u23mwXR0bAHW0zr2BYzdGvtIjMuvu+WVjN1yEX+xSLPb+YV5rKbZ/Qv/MQLBTS0fOiYi7rvLtn4kYVfVQX0VptBQIeu4suoZh+DvUh9Ug7oamNu3ul1Xmf8GL3WMuiZbq/72cHmyeJd64ca0zb97vXdpT3XmMJPd3s7bzAD3itVrXtk8BK1e6x/ER4N2dRSuLfL+2CG+UHtIrP2et59xswsXiwzwzy/mQV/gRcHmHXVAQ0tHzpm397yX665wuaZP14V0NqvGQDoC1IO6KV+1ooVnOrH6Nryx+0rzff9i233nF8oRmrwzf5LR2+6uT7Y8yL/lWJQtSXB68E1ZlJ3zWi12Wa+f/Fhy5l7axbZUNzY2HPh+c2cEwwtMTOqAxpaPnTMPgIKoK50A9p9lnk5uPKwH6PJZuwE3xgzpHx/59OLRhkzYnPx6uDyj0RXmGnlqr1qRhfTudjc69Ub7TGsPPjauj01i+zxqi88v5mlV7AbzNDqgFYvHz7m4FnwFh4Qx1v4T7TNmA+DK6/4MTrTVLT27tL93ChzafEFpDEflfccUq5a9ySz1ts7rGWbt4/RwPbKQ3h1F4lcGLO+MrWjKqDVy4ePuRofIgFy+BDpE/XUba0fo0mm6tFnzXijfG21KXzc2761ZmCldneZW7wXzGz/1tBoSLF32yvX6y0SDWjpJer7xnxQFdDq5cPHXI2AAnII6CcbUn47vMKP0RXm+WDj43fe97xR5tflfTqDYg0qp+0xc36ldm8X38PPM7/1bw2NhhTfcW8Irqx7rrPeItGAPhrssMoMqn4LH1o+dMzVCCggh4B+sstLH9p0T/NjdF/5V44WmqWeN9+MKr/1fsKM8fyPboLedF9sFvZEb5pZPXB4l38tNBp2qVnsX+wZXNhed5FIQKcFn/rPMNOrAxpaPnTM1QgoIIeAfrLi2+Cbdno75gdfCdo1ytyyy+t6sND2dvHlZbsZvfzdru5tDww093j+TxwLd+3xv4HU9m5P9B4w55pbg3VCo96yZV29D/GKabm/y9s5z1xWf5FIQM38Hd6ORca8Uh3Q0PKhY65GQAE5BDSGW4wpjCqYpUGMft9qWsadaQor/XteGlssVP/W4r/mBS8KlxhzxtiCaXukp3betv7GvFlaJzRqzK6qh7izODS+zQx+t/4ikYDODo6ncIcX+iJ9aPnQMVchoIAcAhpD91OzxrRNfbbnFyaHnTHums2lu7oenTGp/awpc9eVd332yglt58wNPlqq/Br65ebiykLVo+GAei/PHtc2afEH+1gkEtA3H5ncOmrmi6Vlqn+Vs3f58DH3IqCAHALaLHuCb3YmETQzKQIKyCGgzfLWgKSTBBTICALaLLPnJZ0koEBGENBmeTzpO3gCCmQFAc0fAgpkBAFVhoACcgioMgkCuvmZvQQUqIeAKmMf0LUnuZcRUKAeAqqMfUBnue4JCwgoUAcBVcY+oO2u6w4noEAdBFQZ64DuOtE93j2JgAJ1EFBlrAO6sdhPHwEFahBQZawDutItFZSAAjUIqDLWAb27/Nd5ElCgBgFVxjqgi1y3HwEF6iKgylgHdKbrjiSgQF0EVBnrgE513bkEFKiLgCpjHdARrrucgAJ1EVBlrANacE98lYACdRFQZawDeop7WsffElCgHgKqjG1Ar3Hd1o6xBBSoh4AqYxvQ6a47omMmAQXqIaDK2Ab0vOI/HXcQUKAeAqqMbUBHuO73Ol4goEA9BFQZ24C2uu6cjo4WAgrUQUCVsQ3ot1z3Rx0dvzzplN+ldTKB/CKgytgG9ETXXVK89vqmlE4lkGcEVBnbgBb9S1qnEcg7AqpMgoAuT+s0AnlHQJVJENAn0zqNQN4RUGUSBPSFtE4jkHcEVJkEAV2f1mkE8o6AKpMgoFvSOo1A3hFQZewDenJaZxHIPQKqjH1AT0/rLAK5R0CVsQ9oa1pnEcg9AqqMfUCHpHUWgdwjoMrYB3RCWmcRyD0Cqox9QC9I6ywCuUdAlbEP6OVpnUUg9wioMvYBvTqlkwjkHwFVxj6gN6R1FoHcI6DK2Af0trTOIpB7BFQZ+4D+PK2zCOQeAVXGPqAPp3UWgdwjoMrYB/TZtM4ikHsEVBn7gL6U1lkEco+AKmMf0M1pnUUg9wioMtYB7ZfWSQTyj4AqYx1Q/jQ7YJ8IqDLWAW1P6yQC+UdAlbEO6Ni0TiKQfwRUGeuAXpjWSQTyj4AqYx3QK9M6iUD+EVBlrAO6OK2TCOQfAVXGOqD8KjywTwRUGeuA/jalcwj0AQRUGduA9tuS1kkE8o+AKmMV0BWuOz6tcwj0AQRUGauAvjv/uy+ndQ6BPoCAKmMVUAD/IQKqDAEF5BBQZQgoIIeAKkNAATkEVBkCCsghoMoQUEAOAVWGgAJyCKgyBBSQQ0CVIaCAHAKqDAEF5BBQZQgoIIeAKkNAATkEVBkCCsghoMoQUEAOAVWGgAJyCKgyBBSQQ0CVIaCAHAKqDAEF5BBQZQgoIIeAKkNAATkEVBkCCsghoMoQUEAOAVWGgAJyCKgyBBSQQ0CVIaCAHAKqDAEF5BBQZQgoIIeAKkNAATkEVBkCCsghoMoQUEAOAVWGgAJyCKgyBBSQQ0CVIaCAHAKqDAEF5BBQZQgoIIeAKkNAATkEVBkCCsghoMoQUEAOAVWGgAJyCKgyBBSQQ0CVIaCAHAKqDAEF5BBQZQgoIIeAKkNAATkEVBkCCsghoMoQUEAOAVWGgAJyCKgyBBSQQ0CVIaCAHAKqDAEF5DQ7oPe3zE4wFYkCAY2PgAJymh3QM1z3efupSBQIaHwEFJDT7ICe6ro/t5+KRIGAxkdAATkZCOhN9lORKBDQ+AgoICcDAb3efioSBQIaHwEF5GQgoDPtpyJRIKDxEVBATgYC+l37qUgUCGh8BBSQk4GAnmc/FYkCAY2PgAJyMhDQcfZTkSgQ0PgIKCAnAwEdaj8ViQIBjY+AAnIyENB2+6lIFAhofAQUkJOBgBbspyJRIKDxEVBATgYCerr9VCQKBDQ+AgrIyUBAv2k/FYkCAY2PgAJyMhDQfvZTkSgQ0PgIKCAnAwF137GeikSBgMZHQAE5WQjoZuupSBQIaHwEFJCThYBusJ6KRIGAxkdAATlZCOhq66lIFAhofAQUkJOFgL5gPRWJAgGNj4ACcrIQ0H+1nopEgYDGR0ABOVkI6JPWU5EoEND4CCggJwsBfdR6KhIFAhofAQXkZCGgy62nIlEgoPERUEBOFgJ6v/VUJAoEND4CCsjJQkDvtp6KRIGAxkdAATlZCOid1lORKBDQ+AgoICcLAf1n66lIFAhofAQUkJOFgP7YeioSBQIaHwEF5GQhoAutpyJRIKDxEVBAThYCOs96KhIFAhofAQXkZCGgV1tPRaJAQOMjoICcLAR0tvVUJAoEND4CCsjJQkBnWE9FokBA4yOggJwsBPRS66lIFAhofAQUkJOFgF5oPRWJAgGNj4ACcrIQ0MnWU5EoEND4CCggJwsBnWg9FYkCAY2PgAJyshDQsdZTkSgQ0PgIKCAnCwEdYT0ViQIBjY+AAnKyENBB1lORKBDQ+AgoICcLAR1gPRWJAgGNj4ACcrIQ0P7WU5EoEND4CCggJwsB/bb1VCQKBDQ+AgrIyUJAT7OeikSBgMZHQAE5WQjo31hPRaJAQOMjoICcLAS0n/VUJAoEND4CCsjJQkDdd2ynIlEgoPERUEBOJgL6xsZ71llNRaJAQOMjoICcTAR0w1lum9VUJAoEND4CCsjJREAfc90TrKYiUSCg8RFQQE4mArqYgDYMAQXkZCKglxLQhiGggJxMBHQUAW0YAgrIyURAv01AG4aAAnIyEdC/JqANQ0ABOZkIqEtAG4aAAnIIqDIEFJBDQJUhoIAcAqoMAQXkEFBlCCggh4AqQ0ABOQRUGQIKyCGgyhBQQA4BVYaAAnIIqDIEFJDT/ID+NQFtJAIKyGl+QE87noA2EAEF5DQ/oH97KgFtIAIKyMlAQPsT0AYioICcDAR0JAFtIAIKyMlAQC8hoA1EQAE5GQjoPxPQBiKggJwMBLRz2oTTCGijEFBATgYCWvx/9RkEtFEIKCCHgCpDQAE5BFQZAgrIIaDKEFBADgFVhoACcgioMgQUkENAlSGggBwCqgwBBeQQUGUIKCCHgCpDQAE5BFQZAgrIIaDKEFBADgFVhoACcgioMgQUkENAlSGggBwCqgwBBeQQUM/bYkztjWuuOrd96LRF78Tcvbn2fUg19xBQQA4BrZuf7gXG9B89yJiWO+PsnoQxW8SWIaBAUxDQuvn5hWlfXvxPs/VGY56KsXsSBBTIPQJaNz/jzYrSlQVmZozdkxAK6LJlnQQUaBICWi8/243pLF1bZUZ+8u6JCAU0QECBptAd0FWzRrdNffjNUmQ2zT2nbeSs3/tXO41ZU9pjb2eppKvnTBhw3txXKk1aaH4c3LzJDPw4PFrTr66lI9om3LEzsspc46v6iGrj1RPbJi5+v86Ddd0+uX3yjdu3Xjuhbdztuzw/vW8+NKVt9OxVnhd+Cx86jNBz60VAATmqA3pHwRRGFsycIDK/aDHtE9qNucm/Z7IZ/sjOqj3vLJiWMcW9l5ea5v3BjOz2b7/dLIiOhhT3nT/5nqUDzVWRVR5aYMxVCz7s2fHBFtM6tsUM3Vr7YDMuvu+WVjN1yEX+xaKgmVeYy26e0b/wEy8U0NBhhJ6b742Sjq0ApBQDuq2Zj98TUKspmYCuNubmnV7ndcaPzGstg57p9rqfHWyeLN61fqgxbdPvXt9d2nONKfx0t7fzBjPgvVKtukcGL1G7x/oX4dFoQKcUQ/y0KeyIrBJ+C7+ppXBvl/fBDPOD2gebtdfz7jNmZvFimRkWTBb8B3pxgFlXHdDQYYSem2+vW7Ii2X8rABn0zUpA92eRhAG91M9VsYJT/chcW/64faX5vn+x7Z7zC8X4DL45iPV0c32w50X+K8CgVkuC13lrzKTumtFqxX391u0MMhdaJRzQ2Wa+f/Fhy5l7ax5sQ3FjY89FMDknGFpiZlQHNHQYoefmI6BA39PEgHafZV4OrjzsR2ayGTvBN8YMKd/f+fSiUcaM2Fy8Orj8I9EVZlq5Vq+a0cV0Ljb3evVGexT3DX7eEGQutEo4oMPKd722bk/Ng+3xqi+CydIr3Q1maHVAqw8j/NyCZ3t2yXO7AUgpVmBPMx+/J6BWUyIB3WZM6WeQr/iROdNUtPbu0v3cKHNp8YWhMR+V9xxSrlX3JLPW2zusZZu3j9GegO6tBDS8Siig2yuH4tV9sMiFMesrUzuqAlp9GOHnVo0PkQA5ij9E6qnWWj8yk0zVqrNmvFG+ttoUPu5t2lozsFKxu8wt3gtmtn9raDSs8i2iUECDVUIBLfZue+V6vQeLBrT0EvV9Yz6oCmj1YYSfWzUCCshRHFBvSPlt7go/MleY54ONj9953/NGmV+X9+kMSjSonKzHzPmVir1dfA8/z/zWvzU0GlYd0PAqoYAW33FvCK6se66z3oNFA/posMMqM6j6LXzoMELPrRoBBeRoDujlpQ9juqf5kbmv/CtHC81Sz5tvRpXfUj9hxnj+RzLzgj0vNgt7YjbNrB44vMu/FhoNCwU0tEr4Z6CXmsX+xZ7Bhe11HywS0GnBtwNmmOnVAQ0dRui5VSOggBzNAS2+vb1pp7djfvBVn12jzC27vK4HC21vF19etpvRy9/t6t72wEBzj+f/JLFw1x7/m0Vt7/bE7AFzrrk1WCc06i1b1rWPgIZWKd70Su9+r5iW+7u8nfPMZfUfLBJQM3+Ht2NRsEJvQEOHEXpuBBRIh+aAercYUxhVMEuDyPy+1bSMO9MUVvr3vDS2WJ7+rcV/zQte7C0x5oyxBdP2SG/MtvU35s3SOqFRY3btI6ChVYpvsode0vuF1juLN49vM4Pfrf9gkYDODo67cIcX+iJ96DBCz42AAqlQHdDup2aNaZv6bM8vQg47Y9w1m0t3dT06Y1L7WVPmrivv+uyVE9rOmftGdRQvNxdXFqoe/Q8CWr2K98yEM4b9e++eL88e1zZp8Qf7eLBIQN98ZHLrqJkv9qxc5xmEn1svAgrIUR3QVOwJvrGZpv36Y0gIKCCHgEp7a0Daj0BAgYwgoNJmz0v7EQgokBEEVNrjab+DJ6BAVhDQ/CGgQEYQUGUIKCCHgCpDQAE5BFQZAgrIIaDKEFBADgFVhoACcgioMgQUkENAlSGggBwCqgwBBeQQUGUIKCCHgCpDQAE5BFQZAgrIIaDKEFBAThYC+t5bBLRhCCggJwMBXXPyCScR0EYhoICcDAT0ereIgDYIAQXkZCCgUwhoAxFQQE4GAjqIgDYQAQXkZCCgf0dAG4iAAnIyENCTCGgDEVBATvMDeqpLQBuIgAJymh/QEwhoIxFQQE7zA+oS0EYioIAcAqoMAQXkEFBlCCggh4AqQ0ABOQRUGQIKyCGgyhBQQA4BVYaAAnIIqDIEFJBDQJUhoIAcAqoMAQXkZCKg3yCgDUNAATmZCGgbAW0YAgrIyURAJxHQhiGggJxMBHQ2AW0YAgrIyURAf0JAG4aAAnIyEdDnT3T7WU1FokBA4yOggJxMBPS16/rNtJqKRIGAxkdAATmZCOgW26lIFAhofAQUkJOFgJ7wru1UJAoEND4CCsjJQkBPsp6KRIGAxkdAATlZCOg3raciUSCg8RFQQE4WAvr/rKciUSCg8RFQQE4WAvr31lORKBDQ+AgoICcLAW21nopEgYDGR0ABOVkI6HespyJRIKDxEVBAThYCOtR6KhIFAhofAQXkZCGgo6ynIlEgoPERUEBOFgI63noqEgUCGh8BBeRkIaDnWE9FokBA4yOggJwsBPQfrKciUSCg8RFQQE4WAnqx9VQkCgQ0PgIKyMlCQC+znopEgYDGR0ABOVkI6D9aT0WiQEDjI6CAnCwEdI71VCQKBDQ+AgrIyUJA51pPRaJAQOMjoICcLAT0R9ZTkSgQ0PgIKCAnCwH9J+upSBQIaHwEFJCThYDeZD0ViQIBjY+AAnKyENCl1lORKBDQ+AgoICcLAf2Z9VQkCgQ0PgIKyMlCQO+1nopEgYDGR0ABOVkI6APWU5EoEND4CCggJwsB/bX1VCQKBDQ+AgrIyUJAH7eeikSBgMZHQAE5WQjoU9ZTkSgQ0PgIKCAnCwH9nfVUJAoEND4CCsjJQkD/YD0ViQIBjY+AAnKyENA11lORKBDQ+AgoICcLAX3VeioSBQIaHwEF5GQhoFuspyJRIKDxEVBATgYCeoL9VCQKBDQ+AgrIyUBAT7afikSBgMZHQAE5GQjo/7WfikSBgMZHQAE5GQjot+2nIlEgoPERUEBOBgLaaj8ViQIBjY+AAnIyENCz7KciUSCg8RFQQE4GAjrSfioSBQIaHwEF5GQgoBPtpyJRIKDxEVBATgYCer79VCQKBDQ+AgrIyUBAp9tPRaJAQOMjoICcDAT0B/ZTkSgQ0PgIKCAnAwFdYD8ViQIBjY+AAnIyEFD7vxaegCZHQAE5zQ7o/3HdX9lPRaJAQOMjoICcZgd0vHvyRvupSBQIaHwEFJDT7ICu++FvEkxFokBA4yOggJxmBzSZSBQIaHwEFJBDQJUhoIAcAqoMAQXkEFBlCCggh4AqQ0ABOQRUGQIKyCGgyhBQQA4BVYaAAnIIqDIEFJBDQJUhoIAcAqoMAQXkEFBlCCggh4AqQ0ABOQRUGQIKyCGgyhBQQA4BVYaAAnIIqDIEFJBDQJUhoIAcAqoMAQXkEFBlCCggh4AqQ0ABOQRUGQIKyCGgyhBQQA4BVYaAAnIIqDIEFJBDQJUhoIAcAqoMAQXkEFBlCCggh4AqQ0ABOQRUGQIKyHlh5cq3m30M9iJRIKAAmmGi677d7GPYbwQUQDMQUABIiIACQEIEFAASIqAAkBABBYCECCgAaEZAASAhAgoACRFQAEiIgAJAQgQUABIioACQEAEF0GA/N1vK196+fnjL8OveaurR7A8CCqCxdp1dCej67xgz3Jj2dc09oOQIKIBG6lr9fVMOaNcEM/19b+ulZnxXkw8qKQIKoIFubTGmEtCVZsjO4sWOweap5h5UYgQUQAM9/MMf/rAS0OvNguByvpnXzEPaDwQUQINVAnqxeSK4/I25pJmHsx8IKIAGqwR0vHkxuFxlzm7m4ewHAgqgwSoBbTevBpevmoFNPJr9QUABNFhvQF8LLjeatmYezn4goAAarPYt/LhmHs5+IKAAGqz3Q6Qng8snzHebeTj7gYACaLBKQK8zi4LLReb6Zh7OfiCgABqsEtAnzfDdxYs9w/kiPQDE0/OrnOPN1Xu8PVeZCfwqJwDEUgmot67dtJ8/wAzc0NzjSY6AAmiwnoB6b103rGXY9e809Wj2BwEFgIQIKAAkREABICECCgAJEVAASIiAAkBCBBQAEiKgAJAQAQWAhAgoACREQAEgIQIKAAkRUPQVpzlhX0q+VDDvyh1a7fp/VnPbEf5j1t6MTCOg6CvqBTRhkggo4iGg6CvuuyHwBccpXbnd24+Afnnz5reFjy+0fu1hvbF5MwHNHQKKPubPnKr/UScOaLol28f6BDR3CCj6mFBAP/qoM8kaBBTxEFD0MaGAJkRAEQ8BRR8TCmh5wy/T3acedcixI9Z5b439k4O/VHimvMOac/78iM/+5dnPh9foKdmmC/73MYce960lu/ex+9pz//zIo44/r/IXVDw94sufPvy4kc/0rrJm1BcP+c/fWLi9dMtD3znm4D8ZtKqyfnR1Apo7BBR9TP2AfmWa86ffOMpxDr/tmNAcSUcAAATJSURBVAP+139znAMe82/vvvbA8kf2/7Cneo1KyRYeVL77q9vq7d59TXn78GX+5p6JlS8AnL27vMqvjjjo618/2HG+9kFxe/eI0r2HLiutH1mdgOYQAUUfUz+gB3x6qee9f2qxVp9/1uu+wHFO9m+/0XE+d9Edt0053HHGV69RLtmvD3AOm7j0vuv+u+MMqrf7Asc5cNwtd04+zDnK/2slzy9ujl9y64RiF88vrXL0ZwcUy7n+q45zQXH73OJhDLtx0QDnyGD96OoENIcIKPqY+gF1rvIvnyleual4+dGBzmeKF1uPdL7W4d+++b86zmNVa5RLVnzFeK9/+f5/cj6zt3b3tw5zjgimVh7sB/JlxznicX/ziWIgV5ce9W+6/RsecZwTPe9FxznkQX/zxtIXPiOrewQ0hwgo+ph9BPQj/3K743xqp3/l2OD2eY6zprTf0+GXoOWSuY7z78H2XVde+WHt7jMc58LS9kDneM+b4jjfLW1eVHoJWnzUR73ywxbXO8dxzivdf3qwHVndI6A5REDRx9QP6LGl7coveJZu7+/8VXm/vUc7/6NqjXLJznKc1n/rvTW6+zcc59XS9usrfuN5f+U4r5c2X3X8oPo/ONhZtd5fOs760uZ9wXZkdY+A5hABRR+zr0/hveorpdu/Vv2bn1+oWqO829qjird/bdrPNpVuje7+x84he6uGPuccWt7ce7Dz+WCVP61e77M9u68LtiOrewQ0hwgo+hiLgB5XXcRDq9ao7LZl4h8F9/3FP35UZ/cDK69rSw7s/eNLjnUOrH7U0rXe3XeU7gmv7hHQHCKg6GMsAvp15+/qr9Fbsq5//UHbMcXIffGt2t2Pcg7vrtqsegV6qPM5ryagRzuHdJU2N1TuqV7dI6A5REDRx1gE9DvOF+uvES5Z98r+jjOmdvf/6Tjlb9Bvuu22zqqfgb5efGvu1QT0eMdZV9r8ZfX6ldVrHhY5QEDRx1gEdKHjPF66/ekvfelHVWuUdxv81ZGl7feCP9wuuvsUx7m8tH2hc/Reb7LjfK+0eXHp8/ZIQM/v+RS+f7AdWd0joDlEQNHHWAR025HOVzb7m1u/7nzq9ao1yruNdA5+Odj+meOcXrv76gOczzztb6/7nNPqeX9wnCNX+puPH+44L3k1AX258j3QO0rfA42s7hHQHCKg6GMsAuotLjZv2tJ7rjjWcaZXr1He7TbH+ePv3fXAkuEHOc7ddXa/xHEOOnvJ3Zf9kXO4n8Ip/uatt44/sPSLR9GAelP930T68Y2DnK8E29HVCWgOEVD0MTYB7b7ygNJn6p+aVv1xUGW3rrMqn7kfdGW93bsuKN/9mZ/5m7vHVXaftCf0qOVru0eW7v38i8F2dHUCmkMEFH2MTUA979/GHnfY0SeMXxteo2f/J9r/4ujDvnzKzLe8+rs/N+a4Tx/db3LlD69/cth/OezTXx7xTGSVnmsPtR9z8BeGbKhsR1cnoLlDQIEaTSoZAc0dAgrUIKCIh4ACNQgo4iGgQA0CingIKFAj+Gw8xb8Xvh7+Xvg8IqBADQKKeAgoACREQAEgIQIKAAkRUABIiIACQEIEFAASIqAAkBABBYCECCgAJERAASAhAgoACRFQAEiIgAJAQgQUABL6/zCLQzIOWDvBAAAAAElFTkSuQmCC" width="672" /></p>
+<p><img src="data:image/png;base64,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" width="672" /></p>
<p>Here we get a performance benefit of a factor of 10.1 using the version of the differential equation model compiled from C code!</p>
<p>This vignette was built with mkin 0.9.44.9000 on</p>
<pre><code>## R version 3.3.1 (2016-06-21)

Contact - Imprint