Permalink
Browse files

Updated prism js

  • Loading branch information...
1 parent 8faa564 commit 15f268c5b933da1d7936ed6288a99be19b136f51 @mbraak committed Dec 9, 2012
Showing with 26 additions and 46 deletions.
  1. +1 −3 extra/documentation.css
  2. +1 −1 extra/prism/prism.css
  3. +5 −4 extra/prism/prism.js
  4. +19 −38 index.html
@@ -73,9 +73,7 @@ h4 {
border-bottom: solid 2px #333;
}
-pre {
- padding: 0;
- border: 0;
+pre[class*="language-"] {
margin: 2em 0;
}
@@ -101,4 +101,4 @@ pre[class*="language-"] {
.token.entity {
cursor: help;
-}
+}
@@ -2,7 +2,8 @@
* Prism: Lightweight, robust, elegant syntax highlighting
* MIT license http://www.opensource.org/licenses/mit-license.php/
* @author Lea Verou http://lea.verou.me
- */(function(){var e=/\blang(?:uage)?-(?!\*)(\w+)\b/i,t=self.Prism={languages:{insertBefore:function(e,n,r,i){i=i||t.languages;var s=i[e],o={};for(var u in s)if(s.hasOwnProperty(u)){if(u==n)for(var a in r)r.hasOwnProperty(a)&&(o[a]=r[a]);o[u]=s[u]}return i[e]=o},DFS:function(e,n){for(var r in e){n.call(e,r,e[r]);Object.prototype.toString.call(e)==="[object Object]"&&t.languages.DFS(e[r],n)}}},highlightAll:function(e,n){var r=document.querySelectorAll('code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code');for(var i=0,s;s=r[i++];)t.highlightElement(s,e===!0,n)},highlightElement:function(r,i,s){var o,u,a=r;while(a&&!e.test(a.className))a=a.parentNode;if(a){o=(a.className.match(e)||[,""])[1];u=t.languages[o]}if(!u)return;r.className=r.className.replace(e,"").replace(/\s+/g," ")+" language-"+o;a=r.parentNode;/pre/i.test(a.nodeName)&&(a.className=a.className.replace(e,"").replace(/\s+/g," ")+" language-"+o);var f=r.textContent.trim();if(!f)return;f=f.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\u00a0/g," ");var l={element:r,language:o,grammar:u,code:f};t.hooks.run("before-highlight",l);if(i&&self.Worker){var c=new Worker(t.filename);c.onmessage=function(e){l.highlightedCode=n.stringify(JSON.parse(e.data));l.element.innerHTML=l.highlightedCode;s&&s.call(l.element);t.hooks.run("after-highlight",l)};c.postMessage(JSON.stringify({language:l.language,code:l.code}))}else{l.highlightedCode=t.highlight(l.code,l.grammar);l.element.innerHTML=l.highlightedCode;s&&s.call(r);t.hooks.run("after-highlight",l)}},highlight:function(e,r){return n.stringify(t.tokenize(e,r))},tokenize:function(e,n){var r=t.Token,i=[e],s=n.rest;if(s){for(var o in s)n[o]=s[o];delete n.rest}e:for(var o in n){if(!n.hasOwnProperty(o)||!n[o])continue;var u=n[o],a=u.inside,f=!!u.lookbehind||0;u=u.pattern||u;for(var l=0;l<i.length;l++){var c=i[l];if(i.length>e.length)break e;if(c instanceof r)continue;u.lastIndex=0;var h=u.exec(c);if(h){f&&(f=h[1].length);var p=h.index-1+f,h=h[0].slice(f),d=h.length,v=p+d,m=c.slice(0,p+1),g=c.slice(v+1),y=[l,1];m&&y.push(m);var b=new r(o,a?t.tokenize(h,a):h);y.push(b);g&&y.push(g);Array.prototype.splice.apply(i,y)}}}return i},hooks:{all:{},add:function(e,n){var r=t.hooks.all;r[e]=r[e]||[];r[e].push(n)},run:function(e,n){var r=t.hooks.all[e];if(!r||!r.length)return;for(var i=0,s;s=r[i++];)s(n)}}},n=t.Token=function(e,t){this.type=e;this.content=t};n.stringify=function(e){if(typeof e=="string")return e;if(Object.prototype.toString.call(e)=="[object Array]"){for(var r=0;r<e.length;r++)e[r]=n.stringify(e[r]);return e.join("")}var i={type:e.type,content:n.stringify(e.content),tag:"span",classes:["token",e.type],attributes:{}};i.type=="comment"&&(i.attributes.spellcheck="true");t.hooks.run("wrap",i);var s="";for(var o in i.attributes)s+=o+'="'+(i.attributes[o]||"")+'"';return"<"+i.tag+' class="'+i.classes.join(" ")+'" '+s+">"+i.content+"</"+i.tag+">"};if(!self.document){self.addEventListener("message",function(e){var n=JSON.parse(e.data),r=n.language,i=n.code;self.postMessage(JSON.stringify(t.tokenize(i,t.languages[r])));self.close()},!1);return}var r=document.getElementsByTagName("script");r=r[r.length-1];if(r){t.filename=r.src;document.addEventListener&&!r.hasAttribute("data-manual")&&document.addEventListener("DOMContentLoaded",t.highlightAll)}})();
-Prism.languages.markup={comment:/&lt;!--[\w\W]*?--(&gt;|&gt;)/g,prolog:/&lt;\?.+?\?&gt;/,doctype:/&lt;!DOCTYPE.+?&gt;/,cdata:/&lt;!\[CDATA\[[\w\W]+?]]&gt;/i,tag:{pattern:/&lt;\/?[\w:-]+\s*[\w\W]*?&gt;/gi,inside:{tag:{pattern:/^&lt;\/?[\w:-]+/i,inside:{punctuation:/^&lt;\/?/,namespace:/^[\w-]+?:/}},"attr-value":{pattern:/=(('|")[\w\W]*?(\2)|[^\s>]+)/gi,inside:{punctuation:/=/g}},punctuation:/\/?&gt;/g,"attr-name":{pattern:/[\w:-]+/g,inside:{namespace:/^[\w-]+?:/}}}},entity:/&amp;#?[\da-z]{1,8};/gi};Prism.hooks.add("wrap",function(e){e.type==="entity"&&(e.attributes.title=e.content.replace(/&amp;/,"&"))});
-Prism.languages.css={comment:/\/\*[\w\W]*?\*\//g,atrule:/@[\w-]+?(\s+.+)?(?=\s*{|\s*;)/gi,url:/url\((["']?).*?\1\)/gi,selector:/[^\{\}\s][^\{\}]*(?=\s*\{)/g,property:/(\b|\B)[a-z-]+(?=\s*:)/ig,string:/("|')(\\?.)*?\1/g,important:/\B!important\b/gi,ignore:/&(lt|gt|amp);/gi,punctuation:/[\{\};:]/g};Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{style:{pattern:/(&lt;|<)style[\w\W]*?(>|&gt;)[\w\W]*?(&lt;|<)\/style(>|&gt;)/ig,inside:{tag:{pattern:/(&lt;|<)style[\w\W]*?(>|&gt;)|(&lt;|<)\/style(>|&gt;)/ig,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.css}}});
-Prism.languages.javascript={comment:{pattern:/(^|[^\\])(\/\*[\w\W]*?\*\/|\/\/.*?(\r?\n|$))/g,lookbehind:!0},string:/("|')(\\?.)*?\1/g,regex:{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/g,lookbehind:!0},keyword:/\b(var|let|if|else|while|do|for|return|in|instanceof|function|new|with|typeof|try|catch|finally|null|break|continue)\b/g,"boolean":/\b(true|false)\b/g,number:/\b-?(0x)?\d*\.?\d+\b/g,operator:/[-+]{1,2}|!|=?&lt;|=?&gt;|={1,2}|(&amp;){1,2}|\|?\||\?|\*|\//g,ignore:/&(lt|gt|amp);/gi,punctuation:/[{}[\];(),.:]/g};Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{script:{pattern:/(&lt;|<)script[\w\W]*?(>|&gt;)[\w\W]*?(&lt;|<)\/script(>|&gt;)/ig,inside:{tag:{pattern:/(&lt;|<)script[\w\W]*?(>|&gt;)|(&lt;|<)\/script(>|&gt;)/ig,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.javascript}}});
+ */(function(){var e=/\blang(?:uage)?-(?!\*)(\w+)\b/i,t=self.Prism={util:{type:function(e){return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]},clone:function(e){var n=t.util.type(e);switch(n){case"Object":var r={};for(var i in e)e.hasOwnProperty(i)&&(r[i]=t.util.clone(e[i]));return r;case"Array":return e.slice()}return e}},languages:{extend:function(e,n){var r=t.util.clone(t.languages[e]);for(var i in n)r[i]=n[i];return r},insertBefore:function(e,n,r,i){i=i||t.languages;var s=i[e],o={};for(var u in s)if(s.hasOwnProperty(u)){if(u==n)for(var a in r)r.hasOwnProperty(a)&&(o[a]=r[a]);o[u]=s[u]}return i[e]=o},DFS:function(e,n){for(var r in e){n.call(e,r,e[r]);t.util.type(e)==="Object"&&t.languages.DFS(e[r],n)}}},highlightAll:function(e,n){var r=document.querySelectorAll('code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code');for(var i=0,s;s=r[i++];)t.highlightElement(s,e===!0,n)},highlightElement:function(r,i,s){var o,u,a=r;while(a&&!e.test(a.className))a=a.parentNode;if(a){o=(a.className.match(e)||[,""])[1];u=t.languages[o]}if(!u)return;r.className=r.className.replace(e,"").replace(/\s+/g," ")+" language-"+o;a=r.parentNode;/pre/i.test(a.nodeName)&&(a.className=a.className.replace(e,"").replace(/\s+/g," ")+" language-"+o);var f=r.textContent;if(!f)return;f=f.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\u00a0/g," ");var l={element:r,language:o,grammar:u,code:f};t.hooks.run("before-highlight",l);if(i&&self.Worker){var c=new Worker(t.filename);c.onmessage=function(e){l.highlightedCode=n.stringify(JSON.parse(e.data));l.element.innerHTML=l.highlightedCode;s&&s.call(l.element);t.hooks.run("after-highlight",l)};c.postMessage(JSON.stringify({language:l.language,code:l.code}))}else{l.highlightedCode=t.highlight(l.code,l.grammar);l.element.innerHTML=l.highlightedCode;s&&s.call(r);t.hooks.run("after-highlight",l)}},highlight:function(e,r){return n.stringify(t.tokenize(e,r))},tokenize:function(e,n){var r=t.Token,i=[e],s=n.rest;if(s){for(var o in s)n[o]=s[o];delete n.rest}e:for(var o in n){if(!n.hasOwnProperty(o)||!n[o])continue;var u=n[o],a=u.inside,f=!!u.lookbehind||0;u=u.pattern||u;for(var l=0;l<i.length;l++){var c=i[l];if(i.length>e.length)break e;if(c instanceof r)continue;u.lastIndex=0;var h=u.exec(c);if(h){f&&(f=h[1].length);var p=h.index-1+f,h=h[0].slice(f),d=h.length,v=p+d,m=c.slice(0,p+1),g=c.slice(v+1),y=[l,1];m&&y.push(m);var b=new r(o,a?t.tokenize(h,a):h);y.push(b);g&&y.push(g);Array.prototype.splice.apply(i,y)}}}return i},hooks:{all:{},add:function(e,n){var r=t.hooks.all;r[e]=r[e]||[];r[e].push(n)},run:function(e,n){var r=t.hooks.all[e];if(!r||!r.length)return;for(var i=0,s;s=r[i++];)s(n)}}},n=t.Token=function(e,t){this.type=e;this.content=t};n.stringify=function(e){if(typeof e=="string")return e;if(Object.prototype.toString.call(e)=="[object Array]"){for(var r=0;r<e.length;r++)e[r]=n.stringify(e[r]);return e.join("")}var i={type:e.type,content:n.stringify(e.content),tag:"span",classes:["token",e.type],attributes:{}};i.type=="comment"&&(i.attributes.spellcheck="true");t.hooks.run("wrap",i);var s="";for(var o in i.attributes)s+=o+'="'+(i.attributes[o]||"")+'"';return"<"+i.tag+' class="'+i.classes.join(" ")+'" '+s+">"+i.content+"</"+i.tag+">"};if(!self.document){self.addEventListener("message",function(e){var n=JSON.parse(e.data),r=n.language,i=n.code;self.postMessage(JSON.stringify(t.tokenize(i,t.languages[r])));self.close()},!1);return}var r=document.getElementsByTagName("script");r=r[r.length-1];if(r){t.filename=r.src;document.addEventListener&&!r.hasAttribute("data-manual")&&document.addEventListener("DOMContentLoaded",t.highlightAll)}})();;
+Prism.languages.markup={comment:/&lt;!--[\w\W]*?--(&gt;|&gt;)/g,prolog:/&lt;\?.+?\?&gt;/,doctype:/&lt;!DOCTYPE.+?&gt;/,cdata:/&lt;!\[CDATA\[[\w\W]+?]]&gt;/i,tag:{pattern:/&lt;\/?[\w:-]+\s*(?:\s+[\w:-]+(?:=(?:("|')(\\?[\w\W])*?\1|\w+))?\s*)*\/?&gt;/gi,inside:{tag:{pattern:/^&lt;\/?[\w:-]+/i,inside:{punctuation:/^&lt;\/?/,namespace:/^[\w-]+?:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/gi,inside:{punctuation:/=|&gt;|"/g}},punctuation:/\/?&gt;/g,"attr-name":{pattern:/[\w:-]+/g,inside:{namespace:/^[\w-]+?:/}}}},entity:/&amp;#?[\da-z]{1,8};/gi};Prism.hooks.add("wrap",function(e){e.type==="entity"&&(e.attributes.title=e.content.replace(/&amp;/,"&"))});;
+Prism.languages.css={comment:/\/\*[\w\W]*?\*\//g,atrule:/@[\w-]+?(\s+[^;{]+)?(?=\s*{|\s*;)/gi,url:/url\((["']?).*?\1\)/gi,selector:/[^\{\}\s][^\{\}]*(?=\s*\{)/g,property:/(\b|\B)[a-z-]+(?=\s*:)/ig,string:/("|')(\\?.)*?\1/g,important:/\B!important\b/gi,ignore:/&(lt|gt|amp);/gi,punctuation:/[\{\};:]/g};Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{style:{pattern:/(&lt;|<)style[\w\W]*?(>|&gt;)[\w\W]*?(&lt;|<)\/style(>|&gt;)/ig,inside:{tag:{pattern:/(&lt;|<)style[\w\W]*?(>|&gt;)|(&lt;|<)\/style(>|&gt;)/ig,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.css}}});;
+Prism.languages.clike={comment:{pattern:/(^|[^\\])(\/\*[\w\W]*?\*\/|\/\/.*?(\r?\n|$))/g,lookbehind:!0},string:/("|')(\\?.)*?\1/g,keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|catch|finally|null|break|continue)\b/g,"boolean":/\b(true|false)\b/g,number:/\b-?(0x)?\d*\.?[\da-f]+\b/g,operator:/[-+]{1,2}|!|=?&lt;|=?&gt;|={1,2}|(&amp;){1,2}|\|?\||\?|\*|\//g,ignore:/&(lt|gt|amp);/gi,punctuation:/[{}[\];(),.:]/g};;
+Prism.languages.javascript=Prism.languages.extend("clike",{keyword:/\b(var|let|if|else|while|do|for|return|in|instanceof|function|new|with|typeof|try|catch|finally|null|break|continue)\b/g,number:/\b(-?(0x)?\d*\.?[\da-f]+|NaN|-?Infinity)\b/g});Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/g,lookbehind:!0}});Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{script:{pattern:/(&lt;|<)script[\w\W]*?(>|&gt;)[\w\W]*?(&lt;|<)\/script(>|&gt;)/ig,inside:{tag:{pattern:/(&lt;|<)script[\w\W]*?(>|&gt;)|(&lt;|<)\/script(>|&gt;)/ig,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.javascript}}});;
View
@@ -132,17 +132,15 @@ <h2 id="demo">Demo</h2>
</script>
</div>
<div class="span6">
-<pre class="no-margin"><code class="language-markup">
-&lt;table id="demo-table" data-url="/fruits.json"&gt;
+<pre class="no-margin"><code class="language-markup">&lt;table id="demo-table" data-url="/fruits.json"&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Latin name&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;/table&gt;</code></pre>
-<pre class="no-margin"><code class="language-javascript">
-$(function() {
+<pre class="no-margin"><code class="language-javascript">$(function() {
$('#demo-table').simple_datagrid();
});</code></pre>
</div>
@@ -160,8 +158,7 @@ <h4 id="example1-step1">Step 1: define a table</h4>
First, we need an html table.
</p>
-<pre><code class="language-markup">
-&lt;table id="example1"&gt;
+<pre><code class="language-markup">&lt;table id="example1"&gt;
&lt;/table&gt;
</code></pre>
@@ -170,8 +167,7 @@ <h4 id="example1-step2">Step 2: add columns</h4>
Lets's add some columns. We can define them in <strong>&lt;th&gt;</strong> elements.
</p>
-<pre><code class="language-markup">
-&lt;table id="example1"&gt;
+<pre><code class="language-markup">&lt;table id="example1"&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th>Name&lt;/th&gt;
@@ -186,8 +182,7 @@ <h4 id="example1-step3">Step 3: include javascript and css</h4>
We need to include some javascript and css.
</p>
-<pre><code class="language-markup">
-&lt;link rel="stylesheet" href="simple.datagrid.css"&gt;
+<pre><code class="language-markup">&lt;link rel="stylesheet" href="simple.datagrid.css"&gt;
&lt;script src="extra/jquery-1.8.2.min.js"&gt;&lt;/script&gt;
&lt;script src="simple.datagrid.js"&gt;&lt;/script&gt;
</code></pre>
@@ -197,8 +192,7 @@ <h4 id="example1-step4">Step 4: some javascript</h4>
Fill the grid with some data:
</p>
-<pre><code class="language-javascript">
-&lt;script&gt;
+<pre><code class="language-javascript">&lt;script&gt;
$(function() {
$('#example1').simple_datagrid({
data: [
@@ -244,8 +238,7 @@ <h3 id="example1a">Example 1a: get the data from the server</h3>
Define a table with a <strong>data-url</strong> property:
</p>
-<pre><code class="language-markup">
-&lt;table id="example1a" data-url="extra/fruits.json"&gt;
+<pre><code class="language-markup">&lt;table id="example1a" data-url="extra/fruits.json"&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th>Name&lt;/th&gt;
@@ -259,8 +252,7 @@ <h3 id="example1a">Example 1a: get the data from the server</h3>
Initialize the grid:
</p>
-<pre><code class="language-javascript">
-&lt;script&gt;
+<pre><code class="language-javascript">&lt;script&gt;
$(function() {
$('#example1a').simple_datagrid();
});
@@ -289,8 +281,7 @@ <h4 id="api-columns-html">Define columns in html</h4>
<p>
You can define columns in the <strong>&lt;th&gt;</strong> elements of a table. The elements must be in the <strong>&lt;thead&gt;</strong>.
</p>
-<pre><code class="language-markup">
-&lt;table&gt;
+<pre><code class="language-markup">&lt;table&gt;
&lt;thead&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Latin name&lt;/th&gt;
@@ -304,8 +295,7 @@ <h4 id="api-columns-html">Define columns in html</h4>
For example, to set the key for the <strong>Latin name</strong> column to <strong>latin</strong>:
</p>
-<pre><code class="language-markup">
-&lt;table&gt;
+<pre><code class="language-markup">&lt;table&gt;
&lt;thead&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th data-key="latin"&gt;Latin name&lt;/th&gt;
@@ -317,8 +307,7 @@ <h4 id="api-columns-javascript">Define columns in javascript</h4>
You can define the columns in the <strong>columns</strong> property of the javascript options.
</p>
-<pre><code class="language-javascript">
-$('#table1').simple_datagrid({
+<pre><code class="language-javascript">$('#table1').simple_datagrid({
columns: ['Name', 'Latin name']
});
</code></pre>
@@ -327,8 +316,7 @@ <h4 id="api-columns-javascript">Define columns in javascript</h4>
You can also define columns as an object:
</p>
-<pre><code class="language-javascript">
-$('#table1').simple_datagrid({
+<pre><code class="language-javascript">$('#table1').simple_datagrid({
columns: [
{
title: 'Name'
@@ -351,8 +339,7 @@ <h4 id="api-data-syntax">Syntax of the data</h4>
<li>
<strong>array</strong>: an array of strings, for all the columns in the grid:
<br>
-<pre><code class="language-javascript">
-var data = [
+<pre><code class="language-javascript">var data = [
['Avocado', 'Persea americana'],
['Bell pepper', 'Capsicum annuum']
];
@@ -361,8 +348,7 @@ <h4 id="api-data-syntax">Syntax of the data</h4>
<li>
<strong>object</strong>: an object with the column keys:
<br>
-<pre><code class="language-javascript">
-var data = [
+<pre><code class="language-javascript">var data = [
{
name: 'Avocado',
'latin_name': 'Persea americana'
@@ -381,17 +367,15 @@ <h4 id="api-data-ajax">Define the data using ajax</h4>
You can set an url in the <strong>data-url</strong> property of the table.
</p>
-<pre><code class="language-markup">
-&lt;table data-url="/fruits.json"&gt;
+<pre><code class="language-markup">&lt;table data-url="/fruits.json"&gt;
&lt;/table&gt;
</code></pre>
<p>
You can also set the url in javascript.
</p>
-<pre><code class="language-javascript">
-$('#table1').simple_datagrid({
+<pre><code class="language-javascript">$('#table1').simple_datagrid({
url: '/fruits.json'
});
</code></pre>
@@ -401,8 +385,7 @@ <h4 id="api-data-array">Define the data as an array</h4>
You can define the data in a javascript array:
</p>
-<pre><code class="language-javascript">
-$('#table1').simple_datagrid({
+<pre><code class="language-javascript">$('#table1').simple_datagrid({
data: [
["Avocado", "Persea americana"],
["Bell pepper", "Capsicum annuum"],
@@ -415,8 +398,7 @@ <h4 id="api-data-array">Define the data as an array</h4>
You can also define the data as an array of objects:
</p>
-<pre><code class="language-javascript">
-$('#table1').simple_datagrid({
+<pre><code class="language-javascript">$('#table1').simple_datagrid({
data: [
{
name: 'Avocado',
@@ -436,8 +418,7 @@ <h4 id="api-functions-reload">reload</h4>
<p>
Reload the data.
</p>
-<pre><code class="language-javascript">
-$('#tree1').simple_datagrid('reload');
+<pre><code class="language-javascript">$('#tree1').simple_datagrid('reload');
</code></pre>
</div>

0 comments on commit 15f268c

Please sign in to comment.