• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1
2
3
4
5<!DOCTYPE html>
6<html lang="en">
7<head>
8  <meta charset="utf-8"  />
9  <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1,shrink-to-fit=no"  />
10  <title>ImageMagick - Resources</title>
11  <meta name="application-name" content="ImageMagick" />
12  <meta name="description" content="Use ImageMagick® to create, edit, compose, and convert bitmap images. Resize an image, crop it, change its shades and colors, add captions, and more." />
13  <meta name="application-url" content="https://imagemagick.org" />
14  <meta name="generator" content="PHP" />
15  <meta name="keywords" content="resources, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
16  <meta name="rating" content="GENERAL" />
17  <meta name="robots" content="INDEX, FOLLOW" />
18  <meta name="generator" content="ImageMagick Studio LLC" />
19  <meta name="author" content="ImageMagick Studio LLC" />
20  <meta name="revisit-after" content="2 DAYS" />
21  <meta name="resource-type" content="document" />
22  <meta name="copyright" content="Copyright (c) 1999-2020 ImageMagick Studio LLC" />
23  <meta name="distribution" content="Global" />
24  <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1" />
25  <meta property='og:url' content='../' />
26  <meta property='og:title' content='ImageMagick' />
27  <meta property='og:image' content='../images/logo.png' />
28  <meta property='og:type' content='website' />
29  <meta property='og:site_name' content='ImageMagick' />
30  <meta property='og:description' content="Convert, Edit, or Compose Bitmap Images" />
31  <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
32  <link href="../www/resources.html" rel="canonical" />
33  <link href="../images/wand.png" rel="icon" />
34  <link href="../images/wand.ico" rel="shortcut icon" />
35  <link href="assets/magick.css" rel="stylesheet" />
36</head>
37<body>
38  <nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
39    <a class="navbar-brand" href="../index.html"><img class="d-block" id="icon" alt="ImageMagick" width="32" height="32" src="../images/wand.ico"/></a>
40    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsMagick" aria-controls="navbarsMagick" aria-expanded="false" aria-label="Toggle navigation">
41      <span class="navbar-toggler-icon"></span>
42    </button>
43
44    <div class="navbar-collapse collapse" id="navbarsMagick" style="">
45    <ul class="navbar-nav mr-auto">
46      <li class="nav-item ">
47        <a class="nav-link" href="../index.html">Home <span class="sr-only">(current)</span></a>
48      </li>
49      <li class="nav-item ">
50        <a class="nav-link" href="download.html">Download</a>
51      </li>
52      <li class="nav-item ">
53        <a class="nav-link" href="command-line-tools.html">Tools</a>
54      </li>
55      <li class="nav-item ">
56        <a class="nav-link" href="command-line-processing.html">Command-line</a>
57      </li>
58      <li class="nav-item active">
59        <a class="nav-link" href="resources.html">Resources</a>
60      </li>
61      <li class="nav-item ">
62        <a class="nav-link" href="develop.html">Develop</a>
63      </li>
64      <li class="nav-item">
65        <a class="nav-link" target="_blank" href="https://imagemagick.org/discourse-server/">Community</a>
66      </li>
67    </ul>
68    <form class="form-inline my-2 my-lg-0" action="https://imagemagick.org/script/search.php">
69      <input class="form-control mr-sm-2" type="text" name="q" placeholder="Search" aria-label="Search">
70      <button class="btn btn-outline-success my-2 my-sm-0" type="submit" name="sa">Search</button>
71    </form>
72    </div>
73  </nav>
74  <div class="container">
75   <script async="async" src="http://localhost/pagead/js/adsbygoogle.js"></script>    <ins class="adsbygoogle"
76         style="display:block"
77         data-ad-client="ca-pub-3129977114552745"
78         data-ad-slot="6345125851"
79         data-full-width-responsive="true"
80         data-ad-format="horizontal"></ins>
81    <script>
82      (adsbygoogle = window.adsbygoogle || []).push({});
83    </script>
84
85  </div>
86
87  <main class="container">
88    <div class="magick-template">
89<div class="magick-header">
90<p class="text-center"><a href="resources.html#configure">Configuration Files</a> • <a href="resources.html#modules">Modules</a> • <a href="resources.html#fonts">Fonts</a> • <a href="resources.html#environment">Environment Variables</a></p>
91
92<p class="lead magick-description">ImageMagick depends on a number of external resources including configuration files, loadable modules, fonts, and environment variables.</p>
93
94<h2><a class="anchor" id="configure"></a>Configuration Files</h2>
95
96<p>ImageMagick depends on a number of external configuration files detailed here:</p>
97
98<dl class="row">
99<dt class="col-md-4"><a href="https://imagemagick.org/source/coder.xml">coder.xml</a></dt>
100  <dd class="col-md-8">Associate an image format with the specified coder module.
101
102  ImageMagick has a number of coder modules to support the reading and/or writing of an image format (e.g. JPEG).  Some coder modules support more than one associated image format and the mapping between an associated format and its respective coder module is defined in this configuration file.  For example, the PNG coder module not only supports the PNG image format, but the JNG and MNG formats as well.
103  </dd>
104
105<dt class="col-md-4"><a href="https://imagemagick.org/source/colors.xml">colors.xml</a></dt>
106  <dd class="col-md-8">Associate a color name with its red, green, blue, and alpha intensities.
107
108  A number of command line options require a <a href="color.html">color parameter</a>.  It is often convenient to refer to a color by name (e.g. white) rather than by hex value (e.g. #fff).  This file maps a color name to its equivalent red, green, blue, and alpha intensities (e.g. for white, red = 255, green = 255, blue = 255, and alpha = 0).
109  </dd>
110
111<dt class="col-md-4"><a class="anchor" id="configure.xml"/><a href="https://imagemagick.org/source/configure.xml">configure.xml</a></dt>
112  <dd class="col-md-8">Set ImageMagick build parameters and system-wide environment variables (e.g. MAGICK_TEMPORARY_PATH).
113  As ImageMagick is built, a number of build parameters are saved to this configuration file.  They include the version, release date, dependent delegate libraries, and quantum depth among others.
114  </dd>
115
116<dt class="col-md-4"><a href="https://imagemagick.org/source/delegates.xml">delegates.xml</a></dt>
117  <dd class="col-md-8">Associate delegate programs with certain image formats.
118
119  ImageMagick relies on a number of delegate programs to support certain image formats such as <a href="http://ufraw.sourceforge.net/">ufraw-batch</a> to read raw camera formats or <a href="http://www.cs.wisc.edu/~ghost/">Ghostscript</a> to read Postscript images.  Use this configuration file to map an input or output format to an external delegate program.
120  </dd>
121
122<dt class="col-md-4"><a href="https://imagemagick.org/source/english.xml">english.xml</a></dt>
123  <dd class="col-md-8">Associate message tags with English translations.</dd>
124
125<dt class="col-md-4"><a href="https://imagemagick.org/source/francais.xml">francais.xml</a></dt>
126  <dd class="col-md-8">Associate message tags with French translations.  </dd>
127
128<dt class="col-md-4"><a href="https://imagemagick.org/source/locale.xml">locale.xml</a></dt>
129  <dd class="col-md-8">Associate message tags with a  translation for your locale.
130
131  ImageMagick has a number of informational, warning, and error messages that are represented as tags.  Tags are short descriptions of a message such as
132  <var>FileNotFound</var> or <var>MemoryAllocationFailed</var>.  This configuration file lists locales that have a translation for each tag recognized by ImageMagick.  Currently only English and French translations are available in the <code>english.xml</code> and <code>francais.xml</code> configuration files.
133  </dd>
134
135<dt class="col-md-4"><a href="https://imagemagick.org/source/log.xml">log.xml</a></dt>
136  <dd class="col-md-8">Configure logging parameters.
137  ImageMagick is capable of spewing copious amounts of informational or debugging statements.  Use this file to configure how the information will appear in a log message and where you want the logging messages posted.
138  </dd>
139
140<dt class="col-md-4"><a href="https://imagemagick.org/source/mime.xml">mime.xml</a></dt>
141  <dd class="col-md-8">Associate an internet media type with a unique identifier.
142  Many files and data streams have identifiers that uniquely identify a
143particular internet media type. For example, files in the "Corel Draw
144drawing" format (mime type="application/vnd.corel-draw") are associated with
145the filename pattern <code>*.cdr</code>, and also have an initial string of the
146characters "CDRXvrsn". ImageMagick uses combinations of this information,
147when available, to attempt to quickly determine the internet media type of a
148file or data stream.
149</dd>
150
151<dt class="col-md-4"><a href="https://imagemagick.org/source/policy.xml">policy.xml</a></dt>
152  <dd class="col-md-8">Configure ImageMagick policies.
153  By default any coder, delegate, filter, or file path is permitted.  Use a policy to deny access to, for example, the MPEG video delegate, or permit reading images from a file system but deny writing to that same file system.  Or use the resource policy to set resource limits.  Policies are useful for multi-user servers that want to limit the overall impact ImageMagick has on the system.  For example, to limit the maximum image size in memory to 100MP:
154
155<pre class="highlight"><code>&lt;policy domain="resource" name="area" value="100MP"/></code></pre>
156
157Any image larger than this area limit is cached to disk rather than memory.
158
159Use <code>width</code> to limit the maximum width of an image in pixels.  Exceed this limit and an exception is thrown and processing stops.
160
161<pre class="highlight"><code>&lt;policy domain="resource" name="width" value="8KP"/></code></pre>
162
163To limit the elapsed time of any ImageMagick command to 5 minutes, use this policy:
164
165<pre class="highlight"><code>&lt;policy domain="resource" name="time" value="300"/></code></pre>
166Define arguments for the memory, map, and disk resources with SI prefixes (.e.g 100MB).  In addition, resource policies are maximums for each instance of ImageMagick (e.g. policy memory limit 1GB, the <code>-limit 2GB</code> option exceeds policy maximum so memory limit is 1GB). </dd>
167
168<dt class="col-md-4"><a href="https://imagemagick.org/source/quantization-table.xml">quantization-table.xml</a></dt>
169  <dd class="col-md-8">Custom JPEG quantization tables. Activate with <code>-define:q-table=quantization-table.xml</code>.</dd>
170
171<dt class="col-md-4"><a href="https://imagemagick.org/source/thresholds.xml">thresholds.xml</a></dt>
172  <dd class="col-md-8">Set threshold maps for ordered posterized dither.</dd>
173
174<dt class="col-md-4"><a class="anchor" id="type.xml"></a><a href="https://imagemagick.org/source/type.xml">type.xml</a></dt>
175  <dd class="col-md-8">Configure fonts.
176  Define the font name, family, foundry, style, format, metrics, and glyphs for any font you want to use within ImageMagick.
177  </dd>
178
179<dt class="col-md-4"><a href="https://imagemagick.org/source/type-ghostscript.xml">type-ghostscript.xml</a></dt>
180  <dd class="col-md-8">Configure <a href="http://www.cs.wisc.edu/~ghost/">Ghostscript</a> fonts.
181  The Ghostscript package includes a number of <a href="https://sourceforge.net/projects/gs-fonts/">fonts</a> that can be accessed with ImageMagick.
182  </dd>
183
184<dt class="col-md-4"><a href="https://imagemagick.org/source/type-windows.xml">type-windows.xml</a></dt>
185  <dd class="col-md-8">Associate names with Windows font glyphs.</dd>
186</dl>
187
188<p>Under Unix and Linux, ImageMagick searches for each of the configuration files listed above by looking in the locations given below, in order, and loads them if found:</p>
189
190<pre class="highlight"><code>$MAGICK_CONFIGURE_PATH
191$PREFIX/etc/ImageMagick-7
192$PREFIX/share/ImageMagick-7
193$XDG_CACHE_HOME/ImageMagick
194$HOME/.config/ImageMagick
195&lt;<var>client path</var>&gt;/etc/ImageMagick</code></pre>
196
197<p>The environmental variable $PREFIX is the default install path (e.g. <code>/usr/local</code>). The <var>client path</var> is the execution path of your ImageMagick client (e.g. <code>/usr/local</code>) .</p>
198
199<p>For the Unix or Linux pre-compiled uninstalled binary distributions, the configuration load order is:</p>
200
201<pre class="highlight"><code>$MAGICK_CONFIGURE_PATH
202$MAGICK_HOME/etc/ImageMagick-7
203$MAGICK_HOME/share/ImageMagick-7
204$PREFIX/share/ImageMagick-7
205$XDG_CACHE_HOME/ImageMagick
206$HOME/.config/ImageMagick/
207&lt;<var>client path</var>&gt;/etc/ImageMagick
208&lt;<var>current directory</var>&gt;</code></pre>
209
210<p>Under Windows, ImageMagick searches for these configuration files in the following order, and loads them if found:</p>
211
212<pre class="highlight"><code>$MAGICK_CONFIGURE_PATH
213&lt;<var>windows registry</var>&gt;
214$PREFIX/config
215$USERPROFILE/.config/ImageMagick
216&lt;<var>client path</var>&gt;</code></pre>
217
218<p>Above, $PREFIX is the default install path, typically <code>c:\\Program Files\\ImageMagick-7.0.9</code>.</p>
219
220<p>For an uninstalled Windows installation, the configuration load order is:</p>
221
222<pre class="highlight"><code>$MAGICK_CONFIGURE_PATH
223$MAGICK_HOME
224$USERPROFILE/.config/ImageMagick
225<var>client path</var>
226&lt;<var>current directory</var>&gt;</code></pre>
227
228<p>If a configuration file cannot not be found, ImageMagick relies on built-in default values.</p>
229
230<h2><a class="anchor" id="modules"></a>Modules</h2>
231
232<h5>Coders</h5>
233<p>An image coder (i.e. encoder / decoder) is responsible for registering, optionally classifying, optionally reading, optionally writing, and unregistering one image format (e.g. PNG, GIF, JPEG, etc.).  ImageMagick searches for coders in the following order and it uses the first match found:</p>
234
235<pre class="highlight"><code>$MAGICK_HOME/lib/ImageMagick-7.0.9/modules-Q16/coders
236&lt;<var>client path</var>&gt;/../lib/ImageMagick-7.0.9/modules-Q16/coders
237$MAGICK_HOME/lib/ImageMagick-7.0.9/modules-Q16/coders
238$MAGICK_HOME/share/ImageMagick-7.0.9/modules-Q16/coders
239$XDG_CACHE_HOME/ImageMagick
240$HOME/.config/ImageMagick
241&lt;<var>client path</var>&gt;/lib/ImageMagick-7.0.9/modules-Q16/coders</code></pre>
242
243<h5>Filters</h5>
244<p>ImageMagick provides a convenient mechanism for adding your own custom image processing algorithms.  ImageMagick searches for filters in the following order and it uses the first match found:</p>
245<pre class="highlight"><code>$MAGICK_HOME/lib/ImageMagick-7.0.9/modules-Q16/filters
246&lt;<var>client path</var>&gt;/../lib/ImageMagick-7.0.9/modules-Q16/filters
247$MAGICK_HOME/lib/ImageMagick-7.0.9/modules-Q16/filters
248$MAGICK_HOME/share/ImageMagick-7.0.9/modules-Q16/filters
249$XDG_CACHE_HOME/ImageMagick
250$HOME/.config/ImageMagick
251&lt;<var>client path</var>&gt;/lib/ImageMagick-7.0.9/modules-Q16/filters</code></pre>
252
253<h2><a class="anchor" id="fonts"></a>Fonts</h2>
254
255<p>ImageMagick is able to load raw TrueType and Postscript font files.  It searches for the font configuration file, <a href="resources.html#type.xml">type.xml</a>, in the following order, and loads them if found:</p>
256
257<pre class="highlight"><code>$MAGICK_CONFIGURE_PATH
258$MAGICK_HOME/etc/ImageMagick/-7.0.9
259$MAGICK_HOME/share/ImageMagick-7.0.9
260$XDG_CACHE_HOME/ImageMagick
261$HOME/.config/ImageMagick
262&lt;<var>client path</var>&gt;/etc/ImageMagick
263$MAGICK_FONT_PATH</code></pre>
264
265<h2><a class="anchor" id="environment"></a>Environment Variables</h2>
266
267<p>Environment variables recognized by ImageMagick include:</p>
268
269<div class="table-responsive" style="font-size:87.5% !important;">
270<table class="table table-sm table-striped">
271  <tr>
272    <td>HOME</td>
273    <td>Set path to search for configuration files in <code>$HOME/.config/ImageMagick</code> if the directory exists.</td>
274  </tr>
275  <tr>
276    <td>LD_LIBRARY_PATH</td>
277    <td>Set path to the ImageMagick shareable libraries and other dependent libraries.</td>
278  </tr>
279  <tr>
280    <td>MAGICK_AREA_LIMIT</td>
281    <td>Set the maximum <var>width * height</var> of an image that can reside in the pixel cache memory.  Images that exceed the area limit are cached to disk (see <a href="resources.html#disk-limit">MAGICK_DISK_LIMIT</a>) and optionally memory-mapped.</td>
282  </tr>
283  <tr>
284    <td>MAGICK_CODER_FILTER_PATH</td>
285    <td>Set search path to use when searching for filter process modules (invoked via  <a href="command-line-options.html#process">-process</a>).  This path permits the user to extend ImageMagick's image processing functionality by adding loadable modules to a preferred location rather than copying them into the ImageMagick installation directory.  The formatting of the search path is similar to operating system search paths (i.e. colon delimited for Unix, and semi-colon delimited for Microsoft Windows). This user specified search path is searched before trying the <a href="resources.html#modules">default search path</a>.</td>
286  </tr>
287  <tr>
288    <td>MAGICK_CODER_MODULE_PATH</td>
289    <td>Set path where ImageMagick can locate its coder modules.  This path permits the user to arbitrarily extend the image formats supported by ImageMagick by adding loadable coder modules from an preferred location rather than copying them into the ImageMagick installation directory.  The formatting of the search path is similar to operating system search paths (i.e. colon delimited for Unix, and semi-colon delimited for Microsoft Windows). This user specified search path is searched before trying the <a href="resources.html#modules">default search path</a>.</td>
290  </tr>
291  <tr>
292    <td>MAGICK_CONFIGURE_PATH</td>
293    <td>Set path where ImageMagick can locate its configuration files.  Use this search path to search for configuration (.xml) files. The formatting of the search path is similar to operating system search paths (i.e. colon delimited for Unix, and semi-colon delimited for Microsoft Windows). This user specified search path is searched before trying the <a href="resources.html#configure">default search path</a>.</td>
294  </tr>
295  <tr>
296    <td>MAGICK_DEBUG</td>
297    <td>Set debug options.  See <a href="command-line-options.html#debug">-debug</a> for a description of debugging options.</td>
298  </tr>
299  <tr>
300    <td><a class="anchor" id="disk-limit"></a>MAGICK_DISK_LIMIT</td>
301    <td>Set maximum amount of disk space in bytes permitted for use by the pixel cache.  When this limit is exceeded, the pixel cache is not be created and an error message is returned.</td>
302  </tr>
303  <tr>
304    <td>MAGICK_ERRORMODE</td>
305    <td>Set the process error mode (Windows only).  A typical use might be a value of 1 to prevent error mode dialogs from displaying a message box and hanging the application.</td>
306  </tr>
307  <tr>
308    <td>MAGICK_FILE_LIMIT</td>
309    <td>Set maximum number of open pixel cache files.  When this limit is exceeded, any subsequent pixels cached to disk are closed and reopened on demand.  This behavior permits a large number of images to be accessed simultaneously on disk, but with a speed penalty due to repeated open/close calls.</td>
310  </tr>
311  <tr>
312    <td>MAGICK_FONT_PATH</td>
313    <td>Set path ImageMagick searches for TrueType and Postscript Type1 font files.  This path is only consulted if a particular font file is not found in the current directory.</td>
314  </tr>
315  <tr>
316    <td>MAGICK_HEIGHT_LIMIT</td>
317    <td>Set the maximum <var>height</var> of an image.</td>
318  </tr>
319  <tr>
320    <td>MAGICK_HOME</td>
321    <td>Set the path at the top of ImageMagick installation directory.  This path is consulted by <var>uninstalled</var> builds of ImageMagick which do not have their location hard-coded or set by an installer.</td>
322  </tr>
323  <tr>
324    <td>MAGICK_LIST_LENGTH_LIMIT</td>
325    <td>Set the maximum length of an image sequence.</td>
326  </tr>
327  <tr>
328    <td><a class="anchor" id="map-limit"></a>MAGICK_MAP_LIMIT</td>
329    <td>Set maximum amount of memory map in bytes to allocate for the pixel cache.  When this limit is exceeded, the image pixels are cached to disk (see MAGICK_DISK_LIMIT).</td>
330  </tr>
331  <tr>
332    <td>MAGICK_MEMORY_LIMIT</td>
333    <td>Set maximum amount of memory in bytes to allocate for the pixel cache from the heap.  When this limit is exceeded, the image pixels are cached to memory-mapped disk (see <a href="resources.html#map-limit">MAGICK_MAP_LIMIT</a>).</td>
334  </tr>
335  <tr>
336    <td>MAGICK_OCL_DEVICE</td>
337    <td>Set to <code>off</code> to disable hardware acceleration of certain accelerated algorithms (e.g. blur, convolve, etc.).</td>
338  </tr>
339  <tr>
340    <td>MAGICK_PRECISION</td>
341    <td>Set the maximum number of significant digits to be printed.</td>
342  </tr>
343  <tr>
344    <td>MAGICK_SHRED_PASSES</td>
345    <td>If you want to keep the temporary files ImageMagick creates private, overwrite them with zeros or random data before they are removed.  On the first pass, the file is zeroed.  For subsequent passes, random data is written.</td>
346  </tr>
347  <tr>
348    <td>MAGICK_SYNCHRONIZE</td>
349    <td>Set to "true" to ensure all image data is fully flushed and synchronized to disk. There is a performance penalty, however, the benefits include ensuring a valid image file in the event of a system crash and early reporting if there is not enough disk space for the image pixel cache.</td>
350  </tr>
351  <tr>
352    <td>MAGICK_TEMPORARY_PATH</td>
353    <td>Set path to store temporary files.</td>
354  </tr>
355  <tr>
356    <td>MAGICK_THREAD_LIMIT</td>
357    <td>Set maximum parallel threads.  Many ImageMagick algorithms run in parallel on multi-processor systems.  Use this environment variable to set the maximum number of threads that are permitted to run in parallel.</td>
358  </tr>
359  <tr>
360    <td>MAGICK_THROTTLE_LIMIT</td>
361    <td>Periodically yield the CPU for at least the time specified in milliseconds.</td>
362  </tr>
363  <tr>
364    <td>MAGICK_TIME_LIMIT</td>
365    <td>Set maximum time in seconds.  When this limit is exceeded, an exception is thrown and processing stops.</td>
366  </tr>
367  <tr>
368    <td>MAGICK_WIDTH_LIMIT</td>
369    <td>Set the maximum <var>width</var> of an image.</td>
370  </tr>
371</table></div>
372
373<p>Define arguments for the <code>MAGICK_MEMORY_LIMIT</code>, <code>MAGICK_DISK_LIMIT</code>, and <code>MAGICK_MEMORY_LIMIT</code> environment variables with SI prefixes (.e.g <code>100MB</code>). <code>MAGICK_WIDTH_LIMIT</code>, <code>MAGICK_HEIGHT_LIMIT</code> and <code>MAGICK_AREA_LIMIT</code> accepts pixel suffixes such as MP for mega-pixels (e.g. 100MP).</p>
374
375</div>
376    </div>
377  </main><!-- /.container -->
378  <footer class="magick-footer">
379    <p><a href="security-policy.html">Security</a> •
380    <a href="architecture.html">Architecture</a>
381
382    <a href="resources.html#"><img class="d-inline" id="wand" alt="And Now a Touch of Magick" width="16" height="16" src="../images/wand.ico"/></a>
383
384    <a href="links.html">Related</a> •
385     <a href="sitemap.html">Sitemap</a>
386    <br/>
387    <a href="support.html">Donate</a> •
388    <a href="http://pgp.mit.edu/pks/lookup?op=get&amp;search=0x89AB63D48277377A">Public Key</a> •
389    <a href="https://imagemagick.org/script/contact.php">Contact Us</a>
390    <br/>
391    <small>© 1999-2020 ImageMagick Studio LLC</small></p>
392  </footer>
393
394  <!-- Javascript assets -->
395  <script src="assets/magick.js" crossorigin="anonymous"></script>
396  <script>window.jQuery || document.write('<script src="https://localhost/ajax/libs/jquery/3.4.1/jquery.min.js"><\/script>')</script>
397</body>
398</html>
399<!-- Magick Cache 5th January 2020 11:21 -->