Site Reviews - Version 5.20.0

Version Description

(2022-01-26) =

  • Added an "Author" filter to the All Reviews table
  • Added hooks to override custom field sanitizers (for the Review Forms add-on)
  • Added Twenty Twenty-Two plugin style
  • Fixed a security issue with AJAX requests @patchstackapp
  • Fixed compatibility with Object Caching plugins (i.e. Docket Cache)
  • Fixed compatibility with review pagination and the Review Images add-on lightbox
  • Fixed schema in review snippets when reviews have an anonymous author
  • Fixed the category filter visibility in the All Reviews table
  • Fixed the status option in the glsr_get_reviews() function, it will no longer return trashed reviews
  • Fixed the updater for inactive add-ons
  • Updated the polyfill.io script version
Download this release

Release Info

Developer geminilabs
Plugin Icon 128x128 Site Reviews
Version 5.20.0
Comparing to
See all releases

Code changes from version 5.19.0 to 5.20.0

Files changed (48) hide show
  1. assets/scripts/site-reviews-admin.js +1 -1
  2. assets/scripts/site-reviews.js +1 -1
  3. assets/styles/admin/admin.css +1 -1
  4. assets/styles/blocks/twentytwentytwo-blocks.css +1 -0
  5. assets/styles/twentytwentytwo.css +1 -0
  6. config/settings.php +1 -0
  7. deprecated.php +13 -0
  8. languages/site-reviews-en_US.mo +0 -0
  9. languages/site-reviews-en_US.po +240 -215
  10. languages/site-reviews.pot +235 -210
  11. plugin/Addons/Updater.php +16 -10
  12. plugin/Arguments.php +2 -0
  13. plugin/Commands/EnqueueAdminAssets.php +2 -0
  14. plugin/Commands/EnqueuePublicAssets.php +1 -1
  15. plugin/Commands/ToggleStatus.php +4 -0
  16. plugin/Contracts/DefaultsContract.php +8 -0
  17. plugin/Controllers/ListTableColumns/ColumnFilterAuthor.php +56 -0
  18. plugin/Controllers/ListTableController.php +6 -2
  19. plugin/Database.php +12 -12
  20. plugin/Database/NormalizeQueryArgs.php +1 -1
  21. plugin/Database/Sql.php +21 -6
  22. plugin/Defaults/ColumnFilterbyDefaults.php +3 -1
  23. plugin/Defaults/CustomFieldsDefaults.php +4 -2
  24. plugin/Defaults/DefaultsAbstract.php +1 -1
  25. plugin/Defaults/ReviewTableFiltersDefaults.php +3 -1
  26. plugin/Helpers/Arr.php +1 -1
  27. plugin/Helpers/Str.php +5 -5
  28. plugin/Hooks.php +2 -2
  29. plugin/Modules/Html/Fields/Field.php +5 -5
  30. plugin/Modules/Html/Form.php +1 -0
  31. plugin/Modules/Html/ReviewHtml.php +1 -0
  32. plugin/Modules/Html/ReviewsHtml.php +1 -0
  33. plugin/Modules/Html/Tags/Tag.php +4 -1
  34. plugin/Modules/Html/TemplateTags.php +1 -1
  35. plugin/Modules/Schema.php +54 -22
  36. plugin/Modules/Schema/BaseType.php +4 -0
  37. plugin/Modules/SystemInfo.php +1 -0
  38. plugin/Overrides/ReviewsListTable.php +1 -1
  39. plugin/Review.php +9 -5
  40. plugin/Reviews.php +3 -3
  41. plugin/Router.php +55 -20
  42. readme.txt +20 -1
  43. site-reviews.php +1 -1
  44. views/pages/settings/translations.php +1 -2
  45. views/pages/welcome/upgrade/v500.php +1 -1
  46. views/pages/welcome/whatsnew.php +1 -0
  47. views/pages/welcome/whatsnew/v519.php +2 -2
  48. views/pages/welcome/whatsnew/v520.php +33 -0
assets/scripts/site-reviews-admin.js CHANGED
@@ -1,2 +1,2 @@
1
  /*! For license information please see site-reviews-admin.js.LICENSE.txt */
2
- !function(){var t={433:function(){Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}},325:function(t,n,e){var i=function(t){var n=/\blang(?:uage)?-([\w-]+)\b/i,e=0,i={},r={manual:t.Prism&&t.Prism.manual,disableWorkerMessageHandler:t.Prism&&t.Prism.disableWorkerMessageHandler,util:{encode:function t(n){return n instanceof o?new o(n.type,t(n.content),n.alias):Array.isArray(n)?n.map(t):n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(t){return Object.prototype.toString.call(t).slice(8,-1)},objId:function(t){return t.__id||Object.defineProperty(t,"__id",{value:++e}),t.__id},clone:function t(n,e){var i,o;switch(e=e||{},r.util.type(n)){case"Object":if(o=r.util.objId(n),e[o])return e[o];for(var s in i={},e[o]=i,n)n.hasOwnProperty(s)&&(i[s]=t(n[s],e));return i;case"Array":return o=r.util.objId(n),e[o]?e[o]:(i=[],e[o]=i,n.forEach((function(n,r){i[r]=t(n,e)})),i);default:return n}},getLanguage:function(t){for(;t&&!n.test(t.className);)t=t.parentElement;return t?(t.className.match(n)||[,"none"])[1].toLowerCase():"none"},currentScript:function(){if("undefined"==typeof document)return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(i){var t=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(i.stack)||[])[1];if(t){var n=document.getElementsByTagName("script");for(var e in n)if(n[e].src==t)return n[e]}return null}},isActive:function(t,n,e){for(var i="no-"+n;t;){var r=t.classList;if(r.contains(n))return!0;if(r.contains(i))return!1;t=t.parentElement}return!!e}},languages:{plain:i,plaintext:i,text:i,txt:i,extend:function(t,n){var e=r.util.clone(r.languages[t]);for(var i in n)e[i]=n[i];return e},insertBefore:function(t,n,e,i){var o=(i=i||r.languages)[t],s={};for(var a in o)if(o.hasOwnProperty(a)){if(a==n)for(var u in e)e.hasOwnProperty(u)&&(s[u]=e[u]);e.hasOwnProperty(a)||(s[a]=o[a])}var c=i[t];return i[t]=s,r.languages.DFS(r.languages,(function(n,e){e===c&&n!=t&&(this[n]=s)})),s},DFS:function t(n,e,i,o){o=o||{};var s=r.util.objId;for(var a in n)if(n.hasOwnProperty(a)){e.call(n,a,n[a],i||a);var u=n[a],c=r.util.type(u);"Object"!==c||o[s(u)]?"Array"!==c||o[s(u)]||(o[s(u)]=!0,t(u,e,a,o)):(o[s(u)]=!0,t(u,e,null,o))}}},plugins:{},highlightAll:function(t,n){r.highlightAllUnder(document,t,n)},highlightAllUnder:function(t,n,e){var i={callback:e,container:t,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};r.hooks.run("before-highlightall",i),i.elements=Array.prototype.slice.apply(i.container.querySelectorAll(i.selector)),r.hooks.run("before-all-elements-highlight",i);for(var o,s=0;o=i.elements[s++];)r.highlightElement(o,!0===n,i.callback)},highlightElement:function(e,i,o){var s=r.util.getLanguage(e),a=r.languages[s];e.className=e.className.replace(n,"").replace(/\s+/g," ")+" language-"+s;var u=e.parentElement;u&&"pre"===u.nodeName.toLowerCase()&&(u.className=u.className.replace(n,"").replace(/\s+/g," ")+" language-"+s);var c={element:e,language:s,grammar:a,code:e.textContent};function l(t){c.highlightedCode=t,r.hooks.run("before-insert",c),c.element.innerHTML=c.highlightedCode,r.hooks.run("after-highlight",c),r.hooks.run("complete",c),o&&o.call(c.element)}if(r.hooks.run("before-sanity-check",c),(u=c.element.parentElement)&&"pre"===u.nodeName.toLowerCase()&&!u.hasAttribute("tabindex")&&u.setAttribute("tabindex","0"),!c.code)return r.hooks.run("complete",c),void(o&&o.call(c.element));if(r.hooks.run("before-highlight",c),c.grammar)if(i&&t.Worker){var f=new Worker(r.filename);f.onmessage=function(t){l(t.data)},f.postMessage(JSON.stringify({language:c.language,code:c.code,immediateClose:!0}))}else l(r.highlight(c.code,c.grammar,c.language));else l(r.util.encode(c.code))},highlight:function(t,n,e){var i={code:t,grammar:n,language:e};return r.hooks.run("before-tokenize",i),i.tokens=r.tokenize(i.code,i.grammar),r.hooks.run("after-tokenize",i),o.stringify(r.util.encode(i.tokens),i.language)},tokenize:function(t,n){var e=n.rest;if(e){for(var i in e)n[i]=e[i];delete n.rest}var r=new u;return c(r,r.head,t),a(t,r,n,r.head,0),function(t){var n=[],e=t.head.next;for(;e!==t.tail;)n.push(e.value),e=e.next;return n}(r)},hooks:{all:{},add:function(t,n){var e=r.hooks.all;e[t]=e[t]||[],e[t].push(n)},run:function(t,n){var e=r.hooks.all[t];if(e&&e.length)for(var i,o=0;i=e[o++];)i(n)}},Token:o};function o(t,n,e,i){this.type=t,this.content=n,this.alias=e,this.length=0|(i||"").length}function s(t,n,e,i){t.lastIndex=n;var r=t.exec(e);if(r&&i&&r[1]){var o=r[1].length;r.index+=o,r[0]=r[0].slice(o)}return r}function a(t,n,e,i,u,f){for(var d in e)if(e.hasOwnProperty(d)&&e[d]){var h=e[d];h=Array.isArray(h)?h:[h];for(var p=0;p<h.length;++p){if(f&&f.cause==d+","+p)return;var v=h[p],m=v.inside,b=!!v.lookbehind,y=!!v.greedy,g=v.alias;if(y&&!v.pattern.global){var w=v.pattern.toString().match(/[imsuy]*$/)[0];v.pattern=RegExp(v.pattern.source,w+"g")}for(var k=v.pattern||v,_=i.next,j=u;_!==n.tail&&!(f&&j>=f.reach);j+=_.value.length,_=_.next){var x=_.value;if(n.length>t.length)return;if(!(x instanceof o)){var S,Q=1;if(y){if(!(S=s(k,j,t,b)))break;var F=S.index,O=S.index+S[0].length,R=j;for(R+=_.value.length;F>=R;)R+=(_=_.next).value.length;if(j=R-=_.value.length,_.value instanceof o)continue;for(var A=_;A!==n.tail&&(R<O||"string"==typeof A.value);A=A.next)Q++,R+=A.value.length;Q--,x=t.slice(j,R),S.index-=j}else if(!(S=s(k,0,x,b)))continue;F=S.index;var z=S[0],P=x.slice(0,F),L=x.slice(F+z.length),$=j+x.length;f&&$>f.reach&&(f.reach=$);var C=_.prev;if(P&&(C=c(n,C,P),j+=P.length),l(n,C,Q),_=c(n,C,new o(d,m?r.tokenize(z,m):z,g,z)),L&&c(n,_,L),Q>1){var T={cause:d+","+p,reach:$};a(t,n,e,_.prev,j,T),f&&T.reach>f.reach&&(f.reach=T.reach)}}}}}}function u(){var t={value:null,prev:null,next:null},n={value:null,prev:t,next:null};t.next=n,this.head=t,this.tail=n,this.length=0}function c(t,n,e){var i=n.next,r={value:e,prev:n,next:i};return n.next=r,i.prev=r,t.length++,r}function l(t,n,e){for(var i=n.next,r=0;r<e&&i!==t.tail;r++)i=i.next;n.next=i,i.prev=n,t.length-=r}if(t.Prism=r,o.stringify=function t(n,e){if("string"==typeof n)return n;if(Array.isArray(n)){var i="";return n.forEach((function(n){i+=t(n,e)})),i}var o={type:n.type,content:t(n.content,e),tag:"span",classes:["token",n.type],attributes:{},language:e},s=n.alias;s&&(Array.isArray(s)?Array.prototype.push.apply(o.classes,s):o.classes.push(s)),r.hooks.run("wrap",o);var a="";for(var u in o.attributes)a+=" "+u+'="'+(o.attributes[u]||"").replace(/"/g,"&quot;")+'"';return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+a+">"+o.content+"</"+o.tag+">"},!t.document)return t.addEventListener?(r.disableWorkerMessageHandler||t.addEventListener("message",(function(n){var e=JSON.parse(n.data),i=e.language,o=e.code,s=e.immediateClose;t.postMessage(r.highlight(o,r.languages[i],i)),s&&t.close()}),!1),r):r;var f=r.util.currentScript();function d(){r.manual||r.highlightAll()}if(f&&(r.filename=f.src,f.hasAttribute("data-manual")&&(r.manual=!0)),!r.manual){var h=document.readyState;"loading"===h||"interactive"===h&&f&&f.defer?document.addEventListener("DOMContentLoaded",d):window.requestAnimationFrame?window.requestAnimationFrame(d):window.setTimeout(d,16)}return r}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});t.exports&&(t.exports=i),void 0!==e.g&&(e.g.Prism=i)},251:function(){!function(t){var n=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;t.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+n.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+n.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+n.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:n,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},t.languages.css.atrule.inside.rest=t.languages.css;var e=t.languages.markup;e&&(e.tag.addInlined("style","css"),e.tag.addAttribute("style","css"))}(Prism)},980:function(){Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),Prism.languages.js=Prism.languages.javascript},854:function(){!function(t){function n(t,n){return"___"+t.toUpperCase()+n+"___"}Object.defineProperties(t.languages["markup-templating"]={},{buildPlaceholders:{value:function(e,i,r,o){if(e.language===i){var s=e.tokenStack=[];e.code=e.code.replace(r,(function(t){if("function"==typeof o&&!o(t))return t;for(var r,a=s.length;-1!==e.code.indexOf(r=n(i,a));)++a;return s[a]=t,r})),e.grammar=t.languages.markup}}},tokenizePlaceholders:{value:function(e,i){if(e.language===i&&e.tokenStack){e.grammar=t.languages[i];var r=0,o=Object.keys(e.tokenStack);!function s(a){for(var u=0;u<a.length&&!(r>=o.length);u++){var c=a[u];if("string"==typeof c||c.content&&"string"==typeof c.content){var l=o[r],f=e.tokenStack[l],d="string"==typeof c?c:c.content,h=n(i,l),p=d.indexOf(h);if(p>-1){++r;var v=d.substring(0,p),m=new t.Token(i,t.tokenize(f,e.grammar),"language-"+i,f),b=d.substring(p+h.length),y=[];v&&y.push.apply(y,s([v])),y.push(m),b&&y.push.apply(y,s([b])),"string"==typeof c?a.splice.apply(a,[u,1].concat(y)):c.content=y}}else c.content&&s(c.content)}return a}(e.tokens)}}}})}(Prism)},335:function(){Prism.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup,Prism.hooks.add("wrap",(function(t){"entity"===t.type&&(t.attributes.title=t.content.replace(/&amp;/,"&"))})),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(t,n){var e={};e["language-"+n]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:Prism.languages[n]},e.cdata=/^<!\[CDATA\[|\]\]>$/i;var i={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:e}};i["language-"+n]={pattern:/[\s\S]+/,inside:Prism.languages[n]};var r={};r[t]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return t})),"i"),lookbehind:!0,greedy:!0,inside:i},Prism.languages.insertBefore("markup","cdata",r)}}),Object.defineProperty(Prism.languages.markup.tag,"addAttribute",{value:function(t,n){Prism.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+t+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[n,"language-"+n],inside:Prism.languages[n]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml},945:function(){!function(t){var n=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,e=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],i=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,r=/<?=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,o=/[{}\[\](),:;]/;t.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:n,variable:/\$+(?:\w+\b|(?=\{))/i,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:bool|boolean|int|integer|float|string|object|array)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:bool|int|float|string|object|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*[\w|]\|\s*)(?:null|false)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?[\w|]\|\s*)(?:null|false)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|iterable|(?:null|false)(?=\s*\|))\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:null|false)\b/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|match|new|or|parent|print|private|protected|public|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s+)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:e,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:i,operator:r,punctuation:o};var s={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:t.languages.php},a=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:s}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:s}}];t.languages.insertBefore("php","variable",{string:a,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:n,string:a,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:e,number:i,operator:r,punctuation:o}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),t.hooks.add("before-tokenize",(function(n){if(/<\?/.test(n.code)){t.languages["markup-templating"].buildPlaceholders(n,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/gi)}})),t.hooks.add("after-tokenize",(function(n){t.languages["markup-templating"].tokenizePlaceholders(n,"php")}))}(Prism)},759:function(){!function(){if("undefined"!=typeof Prism&&"undefined"!=typeof document){var t="line-numbers",n=/\n(?!$)/g,e=Prism.plugins.lineNumbers={getLine:function(n,e){if("PRE"===n.tagName&&n.classList.contains(t)){var i=n.querySelector(".line-numbers-rows");if(i){var r=parseInt(n.getAttribute("data-start"),10)||1,o=r+(i.children.length-1);e<r&&(e=r),e>o&&(e=o);var s=e-r;return i.children[s]}}},resize:function(t){r([t])},assumeViewportIndependence:!0},i=void 0;window.addEventListener("resize",(function(){e.assumeViewportIndependence&&i===window.innerWidth||(i=window.innerWidth,r(Array.prototype.slice.call(document.querySelectorAll("pre.line-numbers"))))})),Prism.hooks.add("complete",(function(e){if(e.code){var i=e.element,o=i.parentNode;if(o&&/pre/i.test(o.nodeName)&&!i.querySelector(".line-numbers-rows")&&Prism.util.isActive(i,t)){i.classList.remove(t),o.classList.add(t);var s,a=e.code.match(n),u=a?a.length+1:1,c=new Array(u+1).join("<span></span>");(s=document.createElement("span")).setAttribute("aria-hidden","true"),s.className="line-numbers-rows",s.innerHTML=c,o.hasAttribute("data-start")&&(o.style.counterReset="linenumber "+(parseInt(o.getAttribute("data-start"),10)-1)),e.element.appendChild(s),r([o]),Prism.hooks.run("line-numbers",e)}}})),Prism.hooks.add("line-numbers",(function(t){t.plugins=t.plugins||{},t.plugins.lineNumbers=!0}))}function r(t){if(0!=(t=t.filter((function(t){var n=function(t){if(!t)return null;return window.getComputedStyle?getComputedStyle(t):t.currentStyle||null}(t)["white-space"];return"pre-wrap"===n||"pre-line"===n}))).length){var e=t.map((function(t){var e=t.querySelector("code"),i=t.querySelector(".line-numbers-rows");if(e&&i){var r=t.querySelector(".line-numbers-sizer"),o=e.textContent.split(n);r||((r=document.createElement("span")).className="line-numbers-sizer",e.appendChild(r)),r.innerHTML="0",r.style.display="block";var s=r.getBoundingClientRect().height;return r.innerHTML="",{element:t,lines:o,lineHeights:[],oneLinerHeight:s,sizer:r}}})).filter(Boolean);e.forEach((function(t){var n=t.sizer,e=t.lines,i=t.lineHeights,r=t.oneLinerHeight;i[e.length-1]=void 0,e.forEach((function(t,e){if(t&&t.length>1){var o=n.appendChild(document.createElement("span"));o.style.display="block",o.textContent=t}else i[e]=r}))})),e.forEach((function(t){for(var n=t.sizer,e=t.lineHeights,i=0,r=0;r<e.length;r++)void 0===e[r]&&(e[r]=n.children[i++].getBoundingClientRect().height)})),e.forEach((function(t){var n=t.sizer,e=t.element.querySelector(".line-numbers-rows");n.style.display="none",n.innerHTML="",t.lineHeights.forEach((function(t,n){e.children[n].style.height=t+"px"}))}))}}}()},449:function(t){"use strict";function n(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}function e(t,n){for(var e=0;e<n.length;e++){var i=n[e];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function i(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}var r={classNames:{active:"gl-active",base:"gl-star-rating",selected:"gl-selected"},clearable:!0,maxStars:10,prebuilt:!1,stars:null,tooltip:"Select a Rating"},o=function(t,n,e){t.classList[n?"add":"remove"](e)},s=function(t){var n=document.createElement("span");for(var e in t=t||{})n.setAttribute(e,t[e]);return n},a=function(t,n,e){var i=s(e);return t.parentNode.insertBefore(i,n?t.nextSibling:t),i},u=function t(){for(var n=arguments.length,e=new Array(n),i=0;i<n;i++)e[i]=arguments[i];var r={};return e.forEach((function(n){Object.keys(n||{}).forEach((function(i){if(void 0!==e[0][i]){var o=n[i];"Object"!==c(o)||"Object"!==c(r[i])?r[i]=o:r[i]=t(r[i],o)}}))})),r},c=function(t){return{}.toString.call(t).slice(8,-1)},l=function(){function t(e,i){var r,o;n(this,t),this.direction=window.getComputedStyle(e,null).getPropertyValue("direction"),this.el=e,this.events={change:this.onChange.bind(this),keydown:this.onKeyDown.bind(this),mousedown:this.onPointerDown.bind(this),mouseleave:this.onPointerLeave.bind(this),mousemove:this.onPointerMove.bind(this),reset:this.onReset.bind(this),touchend:this.onPointerDown.bind(this),touchmove:this.onPointerMove.bind(this)},this.indexActive=null,this.indexSelected=null,this.props=i,this.tick=null,this.ticking=!1,this.values=function(t){var n=[];return[].forEach.call(t.options,(function(t){var e=parseInt(t.value,10)||0;e>0&&n.push({index:t.index,text:t.text,value:e})})),n.sort((function(t,n){return t.value-n.value}))}(e),this.widgetEl=null,this.el.widget&&this.el.widget.destroy(),r=this.values.length,o=this.props.maxStars,/^\d+$/.test(r)&&1<=r&&r<=o?this.build():this.destroy()}return i(t,[{key:"build",value:function(){this.destroy(),this.buildWidget(),this.selectValue(this.indexSelected=this.selected(),!1),this.handleEvents("add"),this.el.widget=this}},{key:"buildWidget",value:function(){var t,n,e=this;this.props.prebuilt?(t=this.el.parentNode,n=t.querySelector("."+this.props.classNames.base+"--stars")):((t=a(this.el,!1,{class:this.props.classNames.base})).appendChild(this.el),n=a(this.el,!0,{class:this.props.classNames.base+"--stars"}),this.values.forEach((function(t,i){var r=s({"data-index":i,"data-value":t.value});"function"==typeof e.props.stars&&e.props.stars.call(e,r,t,i),[].forEach.call(r.children,(function(t){return t.style.pointerEvents="none"})),n.innerHTML+=r.outerHTML}))),t.dataset.starRating="",t.classList.add(this.props.classNames.base+"--"+this.direction),this.props.tooltip&&n.setAttribute("role","tooltip"),this.widgetEl=n}},{key:"changeIndexTo",value:function(t,n){var e=this;if(this.indexActive!==t||n){if([].forEach.call(this.widgetEl.children,(function(n,i){o(n,i<=t,e.props.classNames.active),o(n,i===e.indexSelected,e.props.classNames.selected)})),this.widgetEl.setAttribute("data-rating",t+1),"function"==typeof this.props.stars||this.props.prebuilt||(this.widgetEl.classList.remove("s"+10*(this.indexActive+1)),this.widgetEl.classList.add("s"+10*(t+1))),this.props.tooltip){var i=t<0?this.props.tooltip:this.values[t].text;this.widgetEl.setAttribute("aria-label",i)}this.indexActive=t}this.ticking=!1}},{key:"destroy",value:function(){this.indexActive=null,this.indexSelected=this.selected();var t=this.el.parentNode;t.classList.contains(this.props.classNames.base)&&(this.props.prebuilt?(this.widgetEl=t.querySelector("."+this.props.classNames.base+"--stars"),t.classList.remove(this.props.classNames.base+"--"+this.direction),delete t.dataset.starRating):t.parentNode.replaceChild(this.el,t),this.handleEvents("remove")),delete this.el.widget}},{key:"eventListener",value:function(t,n,e,i){var r=this;e.forEach((function(e){return t[n+"EventListener"](e,r.events[e],i||!1)}))}},{key:"handleEvents",value:function(t){var n=this.el.closest("form");n&&"FORM"===n.tagName&&this.eventListener(n,t,["reset"]),this.eventListener(this.el,t,["change"]),"add"===t&&this.el.disabled||(this.eventListener(this.el,t,["keydown"]),this.eventListener(this.widgetEl,t,["mousedown","mouseleave","mousemove","touchend","touchmove"],!1))}},{key:"indexFromEvent",value:function(t){var n,e,i=(null===(n=t.touches)||void 0===n?void 0:n[0])||(null===(e=t.changedTouches)||void 0===e?void 0:e[0])||t,r=document.elementFromPoint(i.clientX,i.clientY);return[].slice.call(r.parentNode.children).indexOf(r)}},{key:"onChange",value:function(){this.changeIndexTo(this.selected(),!0)}},{key:"onKeyDown",value:function(t){var n=t.key.slice(5);if(~["Left","Right"].indexOf(n)){var e="Left"===n?-1:1;"rtl"===this.direction&&(e*=-1);var i=this.values.length-1,r=Math.min(Math.max(this.selected()+e,-1),i);this.selectValue(r,!0)}}},{key:"onPointerDown",value:function(t){t.preventDefault();var n=this.indexFromEvent(t);this.props.clearable&&n===this.indexSelected&&(n=-1),this.selectValue(n,!0)}},{key:"onPointerLeave",value:function(t){var n=this;t.preventDefault(),cancelAnimationFrame(this.tick),requestAnimationFrame((function(){return n.changeIndexTo(n.indexSelected)}))}},{key:"onPointerMove",value:function(t){var n=this;t.preventDefault(),this.ticking||(this.tick=requestAnimationFrame((function(){return n.changeIndexTo(n.indexFromEvent(t))})),this.ticking=!0)}},{key:"onReset",value:function(){var t,n=this.valueIndex(null===(t=this.el.querySelector("[selected]"))||void 0===t?void 0:t.value);this.selectValue(n||-1,!1)}},{key:"selected",value:function(){return this.valueIndex(this.el.value)}},{key:"selectValue",value:function(t,n){var e;this.el.value=(null===(e=this.values[t])||void 0===e?void 0:e.value)||"",this.indexSelected=this.selected(),!1===n?this.changeIndexTo(this.selected(),!0):this.el.dispatchEvent(new Event("change"))}},{key:"valueIndex",value:function(t){return this.values.findIndex((function(n){return n.value===+t}))}}]),t}(),f=function(){function t(e,i){n(this,t),this.destroy=this.destroy.bind(this),this.rebuild=this.rebuild.bind(this),this.widgets=[],this.buildWidgets(e,i)}return i(t,[{key:"buildWidgets",value:function(t,n){var e=this;this.queryElements(t).forEach((function(t){var i=u(r,n,JSON.parse(t.getAttribute("data-options")));"SELECT"!==t.tagName||t.widget||(!i.prebuilt&&t.parentNode.classList.contains(i.classNames.base)&&e.unwrap(t),e.widgets.push(new l(t,i)))}))}},{key:"destroy",value:function(){this.widgets.forEach((function(t){return t.destroy()}))}},{key:"queryElements",value:function(t){return"HTMLSelectElement"===c(t)?[t]:"NodeList"===c(t)?[].slice.call(t):"String"===c(t)?[].slice.call(document.querySelectorAll(t)):[]}},{key:"rebuild",value:function(){this.widgets.forEach((function(t){return t.build()}))}},{key:"unwrap",value:function(t){var n=t.parentNode,e=n.parentNode;e.insertBefore(t,n),e.removeChild(n)}}]),t}();t.exports=f}},n={};function e(i){var r=n[i];if(void 0!==r)return r.exports;var o=n[i]={exports:{}};return t[i](o,o.exports,e),o.exports}e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,{a:n}),n},e.d=function(t,n){for(var i in n)e.o(n,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:n[i]})},e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},function(){"use strict";var t=function(t){return this.data={},this.form=jQuery(t),this.pushes={},this.init()};t.prototype={patterns:{validate:/^[a-z_-][a-z0-9_-]*(?:\[(?:\d*|[a-z0-9_-]+)\])*$/i,key:/[a-z0-9_-]+|(?=\[\])/gi,named:/^[a-z0-9_-]+$/i,push:/^$/,fixed:/^\d+$/},addPair:function(t){this.patterns.validate.test(t.name)&&(this.data=jQuery.extend(!0,this.data,this.makeObject(t.name,this.encode(t))))},build:function(t,n,e){return t[n]=e,t},encode:function(t){return"checkbox"===jQuery('[name="'+t.name+'"]',this.form).attr("type")&&"on"===t.value||t.value},incrementPush:function(t){return void 0===this.pushes[t]&&(this.pushes[t]=0),this.pushes[t]++},init:function(){var t=this.form.serializeArray();if(jQuery.isArray(t))for(var n=0,e=t.length;n<e;n++)this.addPair(t[n]);return this.data},makeObject:function(t,n){for(var e,i=t.match(this.patterns.key);void 0!==(e=i.pop());)if(this.patterns.push.test(e)){var r=this.incrementPush(t.replace(/\[\]$/,""));n=this.build([],r,n)}else this.patterns.fixed.test(e)?n=this.build([],e,n):this.patterns.named.test(e)&&(n=this.build({},e,n));return n}};var n=t,i=function(t,n,e){this.event=n||null,this.form=e||null,this.notice=null,this.request=t||{}};i.prototype={post:function(t){this.event?this.t(t):this.i(t)},u:function(t){var e={action:GLSR.action,_ajax_request:!0};if(this.form){var i=new n(this.form);i[GLSR.nameprefix]&&(this.request=i[GLSR.nameprefix])}return this.l(t),e[GLSR.nameprefix]=this.request,e},l:function(t){this.request._nonce||(GLSR.nonce[this.request._action]?this.request._nonce=GLSR.nonce[this.request._action]:t&&(this.request._nonce=t.closest("form").find("#_wpnonce").val()))},i:function(t,n){jQuery.post(GLSR.ajaxurl,this.u(n)).done((function(e){"function"==typeof t&&t(e.data,e.success),n&&n.prop("disabled",!1)})).always((function(t){t.data?t.data.notices&&GLSR.notices.add(t.data.notices):GLSR.notices.add('<div class="notice notice-error inline is-dismissible"><p>Unknown error.</p></div>')}))},t:function(t){this.event.preventDefault();var n=jQuery(this.event.currentTarget);n.is(":disabled")||(n.prop("disabled",!0),this.i(t,n))}};var r,o,s=i,a="function"==typeof Map?new Map:(r=[],o=[],{has:function(t){return r.indexOf(t)>-1},get:function(t){return o[r.indexOf(t)]},set:function(t,n){-1===r.indexOf(t)&&(r.push(t),o.push(n))},delete:function(t){var n=r.indexOf(t);n>-1&&(r.splice(n,1),o.splice(n,1))}}),u=function(t){return new Event(t,{bubbles:!0})};try{new Event("test")}catch(r){u=function(t){var n=document.createEvent("Event");return n.initEvent(t,!0,!1),n}}function c(t){var n=a.get(t);n&&n.destroy()}function l(t){var n=a.get(t);n&&n.update()}var f=null;"undefined"==typeof window||"function"!=typeof window.getComputedStyle?((f=function(t){return t}).destroy=function(t){return t},f.update=function(t){return t}):((f=function(t,n){return t&&Array.prototype.forEach.call(t.length?t:[t],(function(t){return function(t){if(t&&t.nodeName&&"TEXTAREA"===t.nodeName&&!a.has(t)){var n,e=null,i=null,r=null,o=function(){t.clientWidth!==i&&f()},s=function(n){window.removeEventListener("resize",o,!1),t.removeEventListener("input",f,!1),t.removeEventListener("keyup",f,!1),t.removeEventListener("autosize:destroy",s,!1),t.removeEventListener("autosize:update",f,!1),Object.keys(n).forEach((function(e){t.style[e]=n[e]})),a.delete(t)}.bind(t,{height:t.style.height,resize:t.style.resize,overflowY:t.style.overflowY,overflowX:t.style.overflowX,wordWrap:t.style.wordWrap});t.addEventListener("autosize:destroy",s,!1),"onpropertychange"in t&&"oninput"in t&&t.addEventListener("keyup",f,!1),window.addEventListener("resize",o,!1),t.addEventListener("input",f,!1),t.addEventListener("autosize:update",f,!1),t.style.overflowX="hidden",t.style.wordWrap="break-word",a.set(t,{destroy:s,update:f}),"vertical"===(n=window.getComputedStyle(t,null)).resize?t.style.resize="none":"both"===n.resize&&(t.style.resize="horizontal"),e="content-box"===n.boxSizing?-(parseFloat(n.paddingTop)+parseFloat(n.paddingBottom)):parseFloat(n.borderTopWidth)+parseFloat(n.borderBottomWidth),isNaN(e)&&(e=0),f()}function c(n){var e=t.style.width;t.style.width="0px",t.style.width=e,t.style.overflowY=n}function l(){if(0!==t.scrollHeight){var n=function(t){for(var n=[];t&&t.parentNode&&t.parentNode instanceof Element;)t.parentNode.scrollTop&&n.push({node:t.parentNode,scrollTop:t.parentNode.scrollTop}),t=t.parentNode;return n}(t),r=document.documentElement&&document.documentElement.scrollTop;t.style.height="",t.style.height=t.scrollHeight+e+"px",i=t.clientWidth,n.forEach((function(t){t.node.scrollTop=t.scrollTop})),r&&(document.documentElement.scrollTop=r)}}function f(){l();var n=Math.round(parseFloat(t.style.height)),e=window.getComputedStyle(t,null),i="content-box"===e.boxSizing?Math.round(parseFloat(e.height)):t.offsetHeight;if(i<n?"hidden"===e.overflowY&&(c("scroll"),l(),i="content-box"===e.boxSizing?Math.round(parseFloat(window.getComputedStyle(t,null).height)):t.offsetHeight):"hidden"!==e.overflowY&&(c("hidden"),l(),i="content-box"===e.boxSizing?Math.round(parseFloat(window.getComputedStyle(t,null).height)):t.offsetHeight),r!==i){r=i;var o=u("autosize:resized");try{t.dispatchEvent(o)}catch(t){}}}}(t)})),t}).destroy=function(t){return t&&Array.prototype.forEach.call(t.length?t:[t],c),t},f.update=function(t){return t&&Array.prototype.forEach.call(t.length?t:[t],l),t});var d=f;function h(t){return h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},h(t)}var p=function(){"object"===h(jQuery.wp)&&"function"==typeof jQuery.wp.wpColorPicker&&jQuery(document).find("input[type=text].color-picker-hex").each((function(){var t=jQuery(this),n=jQuery.extend({},t.data("colorpicker")||{},{change:function(t,n){jQuery(t.target).val(n.color.toString()).trigger("change")},mode:"hsl",palettes:!1,width:180});t.wpColorPicker(n)}))},v={},m=function(t,n){var e=v[t]||[],i=[];n&&[].forEach.call(e,(function(t){n!==t.fn&&n!==t.fn.once&&i.push(t)})),i.length?v[t]=i:delete v[t]},b=function(t,n,e){(v[t]||(v[t]=[])).push({fn:n,context:e})},y={events:v,trigger:function(t){var n=[].slice.call(arguments,1),e=(v[t]||[]).slice();[].forEach.call(e,(function(t){return t.fn.apply(t.context,n)}))},off:m,on:b,once:function(t,n,e){var i=arguments,r=function r(){m(t,r),n.apply(e,i)};r.once=n,b(t,r,e)}},g=function(){this.request=null,jQuery(".enable-filter-tog","#adv-settings").on("click",this.h.bind(this))};g.prototype={p:function(){return jQuery(".enable-filter-tog:checked").map((function(t,n){return n.value})).get()},h:function(t){var n=jQuery(t.currentTarget),e=n.prop("checked")?"removeClass":"addClass";jQuery("#glsr-filter-by-"+n.val())[e]("hidden"),this.v()},v:_.debounce((function(){this.request&&this.request.abort();var t={_ajax_request:!0};t[GLSR.nameprefix]={_action:"toggle-filters",_nonce:GLSR.nonce["toggle-filters"],enabled:this.p()},this.request=wp.ajax.post(GLSR.action,t),this.request.always(function(){this.request=null}.bind(this))}),500)};var w=g,k=function(t){this.el=document.querySelector(t),this.el&&(this.depends=this.el.querySelectorAll("[data-depends]"),this.depends.length&&this.m())};k.prototype={k:function(t){var n=t.getAttribute("data-depends");if(n)try{return JSON.parse(n)}catch(t){return console.error(t)}},m:function(){for(var t=this.el.elements,n=0;n<t.length;n++)~["INPUT","SELECT"].indexOf(t[n].nodeName)&&t[n].addEventListener("change",this._.bind(this))},j:function(t,n){var e=!1;n=[].concat(n);var i=this.el.querySelectorAll('[name="'+t+'"]');return[].map.call(i,function(t){var i=~this.S(n).indexOf(this.F(t.value));~["checkbox","radio"].indexOf(t.type)?t.checked&&i&&(e=!0):i&&(e=!0)}.bind(this)),e},F:function(t){return!!~["true","on","yes","1"].indexOf(t)||!~["false","off","no","0"].indexOf(t)&&t},S:function(t){return t.map(this.F)},_:function(t){this.depends.forEach(function(n){var e=this.k(n);if(e&&~e.map((function(t){return t.name})).indexOf(t.currentTarget.name)){var i=!0;e.forEach(function(t){this.j(t.name,t.value)||(i=!1)}.bind(this)),this.O(n,i)}}.bind(this))},O:function(t,n){var e=t.closest(".glsr-setting-field");e&&e.classList[n?"remove":"add"]("hidden")}};var j=k,x=function(){jQuery(".glsr-metabox-field input[data-edit-review]").on("change",this.R.bind(this)),jQuery(".glsr-metabox-field input[type=url]").on("change",this.A.bind(this))};x.prototype={A:function(t){var n=jQuery(t.currentTarget);this.P(n.parent().find("img"),n.val())},R:function(t){var n=t.currentTarget.checked;jQuery(".glsr-input-value").each(function(t,e){if(n)jQuery(e).data("value",e.value);else{if(e.value=jQuery(e).data("value"),"url"!==e.type)return;this.P(jQuery(e).parent().find("img"),e.value)}}.bind(this)),jQuery(".glsr-input-value").prop("disabled",!n),GLSR.stars.rebuild()},P:function(t,n){if(t){var e=new Image;e.src=n,e.onerror=function(){t.attr("src",t.data("fallback"))},e.onload=function(){t.attr("src",e.src)}}}};var S=x,Q=function(){this.m()};Q.prototype={add:function(t){t&&(jQuery("#glsr-notices").length||(jQuery("#message.notice").remove(),jQuery("hr.wp-header-end").after('<div id="glsr-notices" />')),jQuery("#glsr-notices").html(t),jQuery(document).trigger("wp-updates-notice-added"))},m:function(){jQuery(".glsr-notice[data-dismiss]").on("click.wp-dismiss-notice",this.h.bind(this))},h:function(t){var n={};n[GLSR.nameprefix]={_action:"dismiss-notice",notice:jQuery(t.currentTarget).data("dismiss")},wp.ajax.post(GLSR.action,n)}};var F=Q,O=function(){this.el=jQuery("#pinned-status-select"),this.el&&(this.cancel=jQuery("a.cancel-pinned-status"),this.cancel.on("click",this.L.bind(this)),this.edit=jQuery("a.edit-pinned-status"),this.edit.on("click",this.$.bind(this)),this.save=jQuery("a.save-pinned-status"),this.save.on("click",this.C.bind(this))),jQuery("td.column-is_pinned i.pin-review").on("click",this.T.bind(this))};O.prototype={G:function(){this.el.slideUp("fast"),this.edit.show().focus()},L:function(t){t.preventDefault(),this.G(),this.el.find("select").val("0"===jQuery("#hidden-pinned-status").val()?1:0)},$:function(t){t.preventDefault(),this.el.is(":hidden")&&(this.el.slideDown("fast",function(){this.el.find("select").focus()}.bind(this)),this.edit.hide())},C:function(t){t.preventDefault(),this.G(),this.target=t.currentTarget;var n={_action:"toggle-pinned",id:jQuery("#post_ID").val(),pinned:jQuery("#pinned-status").val()};new s(n).post(this.q.bind(this))},T:function(t){t.preventDefault(),this.target=t.currentTarget;var n={_action:"toggle-pinned",id:t.currentTarget.getAttribute("data-id"),pinned:-1};jQuery(this.target).addClass("spinner is-active").removeClass("dashicons-sticky"),new s(n).post(this.M.bind(this))},q:function(t){jQuery("#pinned-status").val(0|!t.pinned),jQuery("#hidden-pinned-status").val(0|t.pinned),jQuery("#pinned-status-text").text(t.pinned?this.target.dataset.yes:this.target.dataset.no),GLSR.notices.add(t.notices)},M:function(t){this.target.classList[t.pinned?"add":"remove"]("pinned"),jQuery(this.target).removeClass("spinner is-active").addClass("dashicons-sticky")}};var R=O,A=function(){jQuery.each(GLSR.pointers,function(t,n){this.m(n)}.bind(this))};A.prototype={D:function(t){jQuery.post(GLSR.ajaxurl,{action:"dismiss-wp-pointer",pointer:t})},m:function(t){jQuery(t.target).pointer({content:t.options.content,position:t.options.position,close:this.D.bind(null,t.id)}).pointer("open").pointer("sendToTop"),jQuery(document).on("wp-window-resized",(function(){jQuery(t.target).pointer("reposition")}))}};var z=A,P=e(325),L=e.n(P),$=(e(433),e(335),e(980),e(854),e(945),e(251),e(759),function(t,n){this.el=jQuery(t),this.options=n,this.searchTerm=null,this.m()});$.prototype={defaults:{action:null,exclude:[],onInit:null,onResultClick:null,results:{},selected:-1,selectedClass:"glsr-selected-result",selectorEntries:".glsr-strings-table tbody",selectorResults:".glsr-search-results",selectorSearch:".glsr-search-input"},m:function(){this.options=jQuery.extend({},this.defaults,this.options),this.el.length&&(this.options.entriesEl=this.el.parent().find(this.options.selectorEntries),this.options.resultsEl=this.el.find(this.options.selectorResults),this.options.searchEl=this.el.find(this.options.selectorSearch),this.options.searchEl.attr("aria-describedby","live-search-desc"),"function"==typeof this.options.onInit&&this.options.onInit.call(this),this.I())},I:function(){this.options.searchEl.on("input",_.debounce(this.B.bind(this),500)),this.options.searchEl.on("keyup",this.U.bind(this)),this.options.searchEl.on("keydown keypress",(function(t){GLSR.keys.ENTER===t.which&&t.preventDefault()})),jQuery(document).on("click",this.W.bind(this)),jQuery(document).on("keydown",this.H.bind(this))},N:function(){void 0!==this.searchRequest&&this.searchRequest.abort()},V:function(){this.N(),this.options.resultsEl.empty(),this.options.resultsEl.removeClass("is-active"),this.el.removeClass("is-active"),jQuery("body").removeClass("glsr-focus")},Z:function(t){var n=this.options.entriesEl.children("tr").eq(t),e=this;n.find("td").css({backgroundColor:"#faafaa"}),n.fadeOut(350,(function(){jQuery(this).remove(),e.options.results={},e.K(),e.X()}))},Y:function(t){jQuery("body").addClass("glsr-focus"),this.options.resultsEl.append(t),this.options.resultsEl.children("span").on("click",this.J.bind(this))},tt:function(){this.options.entriesEl.on("click","a.delete",this.nt.bind(this)),this.options.entriesEl.sortable({items:"tr",tolerance:"pointer",start:function(t,n){n.placeholder.height(n.helper[0].scrollHeight)},sort:function(t,n){var e=t.pageY-jQuery(this).offsetParent().offset().top-n.helper.outerHeight(!0)/2;n.helper.css({top:e+"px"})}})},et:function(t){this.options.selected+=t,this.options.results.removeClass(this.options.selectedClass),this.options.selected<0&&(this.options.selected=-1,this.options.searchEl.focus()),this.options.selected>=this.options.results.length&&(this.options.selected=this.options.results.length-1),this.options.selected>=0&&this.options.results.eq(this.options.selected).addClass(this.options.selectedClass).focus()},W:function(t){jQuery(t.target).find(this.el).length&&jQuery("body").hasClass("glsr-focus")&&this.V()},H:function(t){if(!jQuery.isEmptyObject(this.options.results)){if(GLSR.keys.ESC===t.which&&this.V(),GLSR.keys.ENTER===t.which||GLSR.keys.SPACE===t.which){var n=this.options.resultsEl.find("."+this.options.selectedClass);n&&n.trigger("click")}GLSR.keys.UP===t.which&&(t.preventDefault(),this.et(-1)),GLSR.keys.DOWN===t.which&&(t.preventDefault(),this.et(1))}},nt:function(t){t.preventDefault(),this.Z(jQuery(t.currentTarget).closest("tr").index())},J:function(t){t.preventDefault(),"function"==typeof this.options.onResultClick&&this.options.onResultClick.call(this,t),this.V()},B:function(t){if(this.N(),this.searchTerm===t.currentTarget.value&&this.options.results.length)return this.Y(this.options.results);if(this.options.resultsEl.empty(),this.options.selected=-1,this.searchTerm=t.currentTarget.value,""===this.searchTerm)return this.it();this.el.addClass("is-active");var n={};n[GLSR.nameprefix]={_action:this.options.action,_nonce:this.el.find("#_search_nonce").val(),exclude:this.options.exclude,search:this.searchTerm},this.searchRequest=wp.ajax.post(GLSR.action,n).done(function(t){this.el.removeClass("is-active"),this.Y(t.items?t.items:t.empty),this.options.results=this.options.resultsEl.children(),this.options.resultsEl.addClass("is-active"),delete this.searchRequest}.bind(this))},U:function(t){GLSR.keys.ESC===t.which&&this.it(),GLSR.keys.ENTER===t.which&&(this.B(t),t.preventDefault())},rt:function(t){t.preventDefault();var n=jQuery(t.currentTarget).closest(".glsr-multibox-entry");n.find("a").css({color:"#c00"}),n.fadeOut("fast",(function(){n.remove()}))},K:function(){var t=this;this.options.exclude=[],this.options.entriesEl.children("tr").each((function(n){jQuery(this).find(".glsr-string-td2").children().filter(":input").each((function(){var e=jQuery(this),i=e.attr("name").replace(/\[\d+\]/i,"["+n+"]");e.attr("name",i),e.is("[data-id]")&&t.options.exclude.push({id:e.val()})}))}))},it:function(){this.V(),this.options.results={},this.options.searchEl.val("")},X:function(){var t=this.options.entriesEl.children().length>0?"remove":"add";this.options.entriesEl.parent()[t+"Class"]("glsr-hidden")}};var C=$,T=function(t){this.options=jQuery.extend({},this.defaults,t),this.tabs=document.querySelectorAll(this.options.tabSelector),this.tabs&&this.m()};T.prototype={defaults:{expandSelectors:".glsr-nav-view, .glsr-notice",tabSelector:".glsr-nav-tab"},m:function(){var t=this;[].forEach.call(t.tabs,function(n,e){n.addEventListener("click",t.h.bind(t)),n.addEventListener("touchend",t.h.bind(t))}.bind(t)),jQuery(t.options.expandSelectors).on("click","a",(function(){var n=this.dataset.expand;localStorage.setItem("glsr-expand",n),t.ot(jQuery(n))})),jQuery(window).on("load",(function(){t.ot(jQuery(localStorage.getItem("glsr-expand")))}))},h:function(t){t.preventDefault(),this.st(t.currentTarget)},ot:function(t){if(t.length){var n=t.closest(".glsr-nav-view"),e=t.closest(".glsr-card");n.removeClass("collapsed"),this.ut(n),n.removeClass("collapsed"),e.removeClass("closed").find(".glsr-accordion-trigger").attr("aria-expanded",!0),window.setTimeout((function(){localStorage.removeItem("glsr-expand"),jQuery("#glsr-notices .notice").length||e[0].scrollIntoView({behavior:"smooth",block:e.outerHeight()>=window.innerHeight?"start":"center"})}),10)}},ut:function(t){var n=t.hasClass("collapsed")?"remove":"add";t[n+"Class"]("collapsed").find(".glsr-card.postbox")[n+"Class"]("closed").find(".glsr-accordion-trigger").attr("aria-expanded","add"!==n)},st:function(t){if(t.classList.contains("nav-tab-active")){var n=jQuery("#"+t.dataset.id);this.ut(n)}}};var E=T,G=function(t){this.current=null,this.editor=null,this.create=function(t){if(this.editor=tinymce.get(t),this.editor){var n={_action:"mce-shortcode",shortcode:this.current};new s(n).post(this.ct.bind(this))}};var n=document.querySelectorAll(t);n.length&&n.forEach(function(t){var n=t.querySelector("button"),e=t.querySelectorAll(".mce-menu-item");n&&e.length&&this.m(t,n,e)}.bind(this))};G.prototype={lt:{},ft:[],m:function(t,n,e){document.addEventListener("click",this.dt.bind(this,t,n)),n.addEventListener("click",this.ht.bind(this,t,n)),e.forEach(function(e){e.addEventListener("click",this.vt.bind(this,t,n))}.bind(this))},bt:function(){tinymce.execCommand("GLSR_Shortcode")},yt:function(){jQuery("#scTemp").length?this.bt():(jQuery("body").append('<textarea id="scTemp" style="display:none!important;"/>'),tinymce.init({elements:"scTemp",external_plugins:GLSR.tinymce,mode:"exact",plugins:["glsr_shortcode","wplink"]}),setTimeout(function(){this.bt()}.bind(this),200))},D:function(t,n){jQuery(n).removeClass("active"),jQuery(t).find(".glsr-mce-menu").hide()},gt:function(){var t=jQuery("#scTemp");t.length&&(tinymce.get("scTemp").remove(),t.remove()),this.lt={},this.ft=[]},ct:function(t){if(t){if(0===t.body.length)return window.send_to_editor("["+t.shortcode+"]"),void this.gt();var n=this.wt(t);t.ok.constructor===Array&&(n.buttons[0].text=t.ok[0],n.buttons[0].onclick="close",delete n.buttons[1]),this.editor.windowManager.open(n)}},kt:function(t){for(var n in this.lt=t,this.ft=[],t)t.hasOwnProperty(n)&&(this._t(n),this.jt(n),this.xt(n));this.lt.hide=this.ft.join(",")},_t:function(t){"display"!==t||jQuery.isNumeric(this.lt[t])||(this.lt[t]="")},jt:function(t){if(GLSR.hideoptions.hasOwnProperty(this.current)){var n=t.substring("hide_".length);-1!==Object.keys(GLSR.hideoptions[this.current]).indexOf(n)&&(this.lt[t]&&this.ft.push(n),delete this.lt[t])}},xt:function(t){"id"===t&&(this.lt[t]=(+new Date).toString(36))},dt:function(t,n,e){jQuery(e.target).closest(jQuery(t)).length||this.D(t,n)},ht:function(t,n,e){e.preventDefault(),e.currentTarget.classList.contains("active")?this.D(t,n):this.St(t,n)},vt:function(t,n,e){e.preventDefault(),this.current=e.currentTarget.dataset.shortcode,this.current&&(tinymce.get(window.wpActiveEditor)?this.bt():this.yt(),setTimeout(function(){this.D(t,n)}.bind(this),100))},St:function(t,n){jQuery(n).addClass("active"),jQuery(t).find(".glsr-mce-menu").show()},Qt:function(t){return[{classes:"btn glsr-btn primary",onclick:this.Ft.bind(this),text:t.ok},{onclick:"close",text:t.close}]},wt:function(t){return{title:t.title,body:t.body,classes:"glsr-mce-popup",minWidth:320,buttons:this.Qt(t),onsubmit:this.Ot.bind(this,t),onclose:this.gt.bind(this)}},Ot:function(t,n){var e="";for(var i in this.kt(n.data),this.lt)this.lt.hasOwnProperty(i)&&""!==this.lt[i]&&(e+=" "+i+'="'+this.lt[i]+'"');window.send_to_editor("["+t.shortcode+e+"]")},Ft:function(){var t=this.editor.windowManager.getWindows()[0];this.Rt(t)&&t.submit()},Rt:function(t){var n,e=!0,i=GLSR.shortcodes[this.current];for(var r in i)if(i.hasOwnProperty(r)&&void 0!==(n=t.find("#"+r)[0])&&""===n.state.data.value){e=!1,alert(i[r]);break}return e}};var q=G,M=e(449),D=e.n(M),I=function(t){var n=document.querySelectorAll(t);n.length&&n.forEach(function(t){t.addEventListener("click",this.h)}.bind(this))};I.prototype={h:function(t){var n=t.currentTarget.href.match(/post=([0-9]+)/),e=t.currentTarget.href.match(/action=([a-z]+)/);if(null!==n&&null!==e){var i={_action:"toggle-status",_nonce:GLSR.nonce["toggle-status"],post_id:n[1],status:e[1]};new s(i,t).post((function(n){if(n.class){var e=jQuery(t.target);e.closest("tr").removeClass("status-pending status-publish").addClass(n.class),e.closest("td.column-title").find("strong").html(n.link),n.counts&&(e.closest(".wrap").find("ul.subsubsub").html(n.counts),jQuery("#menu-posts-site-review").find(".awaiting-mod").removeClass().addClass("awaiting-mod count-"+n.pending).find(".unapproved-count").html(n.pending))}}))}}};var B=I,U=function(){this.button=jQuery("button#sync-reviews"),this.progressbar=jQuery(".glsr-progress"),this.service=null,jQuery("form.glsr-form-sync").on("click","#sync-reviews",this.At.bind(this)),jQuery(document).on("wp-window-resized",this.zt),jQuery(window).on("hashchange",this.zt),this.zt()};U.prototype={Pt:function(t){jQuery(".service-"+this.service+" td.column-last_sync").text(t.last_sync),jQuery(".service-"+this.service+" td.column-total_fetched a").text(t.total),this.Lt(!1)},At:function(t){t.preventDefault(),this.service=jQuery('[name="'+GLSR.nameprefix+'[service]"]').val(),this.service&&(this.Lt(!0),this.$t())},zt:function(){var t=jQuery(".glsr-progress").width();t&&jQuery(".glsr-progress span").width(t)},$t:function(){var t={_action:"sync-reviews",service:this.service,stage:"fetch"};new s(t).post(this.Ct.bind(this))},Ct:function(t){var n={_action:"sync-reviews",job_id:t.job_id,service:this.service,stage:"progress"},e=t.finished?this.Tt.bind(this,t):this.Ct.bind(this);this.Et(t.message),this.Gt(t.percent),setTimeout((function(){new s(n).post(e)}),1500)},Tt:function(t){var n=0;try{n=t.meta.pagination.current_page}catch(t){}var e={_action:"sync-reviews",page:n+1,service:this.service,stage:"reviews"};this.Et(t.message),t.percent_synced&&t.percent_synced>=100?this.Pt(t):new s(e).post(this.Tt.bind(this))},Et:function(t){jQuery(".glsr-progress-status",this.progressbar).text(t)},Gt:function(t){t=(t||0)+"%",jQuery(".glsr-progress-bar",this.progressbar).outerWidth(t)},Lt:function(t){if(!0===t&&(this.Et(this.progressbar.data("active-text")),this.Gt(),this.button.prop("disabled",!0),window.requestAnimationFrame(function(){this.progressbar.addClass("active")}.bind(this))),!1===t)return this.service=null,this.button.prop("disabled",!1),void this.progressbar.removeClass("active");window.requestAnimationFrame(this.Lt.bind(this))}};var W=U,H=function(t){this.options=jQuery.extend({},this.defaults,t),this.active=document.querySelector("input[name=_active_tab]"),this.refererInputs=jQuery("input[name=_wp_http_referer]"),this.sections=document.querySelectorAll(this.options.viewSectionSelector),this.subsubsub=document.querySelectorAll(this.options.viewSubsubsub),this.tabs=document.querySelectorAll(this.options.tabSelector),this.views=document.querySelectorAll(this.options.viewSelector),this.active&&this.refererInputs.length&&this.tabs&&this.views&&this.m()};H.prototype={defaults:{smartLinks:".glsr-card a, #glsr-notices a",tabSelector:".glsr-nav-tab",viewSelector:".glsr-nav-view",viewSectionSelector:".glsr-nav-view-section",viewSubsubsub:".glsr-subsubsub a"},m:function(){var t=this;jQuery(this.options.tabSelector).each((function(n,e){var i=e.getAttribute("href"),r=t.qt(e,"tab"),o=t.Mt("tab");null===o&&0===n&&(o=r,history.replaceState({href:i,tab:r},"",i),t.refererInputs.val(i)),o===r&&t.Dt(r)})),jQuery(window).on("popstate",this.It.bind(this)),jQuery(this.options.smartLinks).on("click",this.Bt.bind(this)),jQuery(this.options.tabSelector+","+this.options.viewSubsubsub).on("click",this.h.bind(this))},h:function(t){var n=t.currentTarget,e=n.getAttribute("href"),i=this.qt(n,"tab");i&&(history.pushState({href:e,tab:i},"",e),this.refererInputs.val(e),this.Dt(i),t.preventDefault(),n.blur())},Bt:function(t){var n=t.currentTarget,e=this.Mt("page"),i=this.Mt("postType"),r=this.Mt("tab"),o=this.qt(n,"page"),s=this.qt(n,"postType"),a=this.qt(n,"tab");if(o===e&&s===i&&a){var u=n.getAttribute("href");history.pushState({href:u,tab:a},"",u),this.refererInputs.val(u),this.Dt(a),a!==r&&window.scrollTo(0,0),t.preventDefault()}},It:function(t){var n=t.originalEvent.state;n&&n.tab&&n.href&&(this.refererInputs.val(n.href),this.Dt(n.tab))},Ut:function(t){return t?"add":"remove"},qt:function(t,n){return new URLSearchParams(t.getAttribute("href")).get(n)},Mt:function(t){return new URLSearchParams(location.search).get(t)},Dt:function(t){for(var n=0;n<this.views.length;n++)if(t===this.views[n].id){this.Wt(this.tabs[n]);break}},Ht:function(){var t=this,n=0;[].forEach.call(this.subsubsub,(function(e,i){e.classList.remove("current"),t.qt(e,"sub")===t.Mt("sub")&&(n=i)})),this.subsubsub[n]&&this.subsubsub[n].classList.add("current"),[].forEach.call(this.sections,(function(e,i){var r=t.Ut(i!==n);e.classList[r]("ui-tabs-hide")}))},Wt:function(t){var n=this;[].forEach.call(this.tabs,(function(e,i){var r=n.Ut(e===t);"add"===r&&(n.active.value=n.views[i].id,n.Nt(i)),e.classList[r]("nav-tab-active")}))},Nt:function(t){var n=this;[].forEach.call(this.views,(function(e,i){var r=n.Ut(i!==t);e.classList[r]("ui-tabs-hide"),n.Ht()}))}};var N=H,V=function(){var t=document.querySelector("#contentdiv > textarea");t&&(this.Vt(t),jQuery(document).on("wp-window-resized.editor-expand",function(){this.Vt(t)}.bind(this)))};V.prototype={Vt:function(t){var n=t.scrollHeight>320?t.scrollHeight:320;t.style.height="auto",t.style.height=n+"px"}};var Z=V,K=function(){jQuery("form").on("click","#glsr-clear-console",this.Zt,this.h.bind(this)),jQuery("form").on("click","#glsr-fetch-console",this.Zt,this.h.bind(this)),jQuery("form").on("click","[data-ajax-click]",this.h.bind(this)),jQuery(".glsr-button").on("click",this.Kt);var t=jQuery("input[data-alt]");t.length&&(jQuery(document).on("keydown",this.Xt.bind(this,t)),jQuery(document).on("keyup",this.Yt.bind(this,t)))};K.prototype={Zt:function(t,n){n&&jQuery("#glsr-log-file").val(t.console)},h:function(t){var n=jQuery(t.currentTarget),e=this;n.addClass("is-busy"),new s({},t,n.closest("form")).post((function(i,r){"function"==typeof t.data&&t.data(i,r),n.get(0).hasAttribute("data-ajax-scroll")&&jQuery("html, body").animate({scrollTop:0},500),n.removeClass("is-busy"),n.closest("[data-ajax-hide]").css({backgroundColor:"rgba(74,184,102,.25)"}).fadeOut("normal",(function(){jQuery(this).remove()})),jQuery("#glsr-notices").on("click","a",e.Kt),jQuery('.glsr-notice[data-notice="'+n.data("remove-notice")+'"]').remove()}))},Xt:function(t,n){GLSR.keys.ALT!==n.keyCode||n.repeat||(t.closest("form").find("[data-alt-text]").addClass("alt"),t.val(1))},Yt:function(t,n){GLSR.keys.ALT===n.keyCode&&(t.closest("form").find("[data-alt-text]").removeClass("alt"),t.val(0))},Kt:function(t){var n=jQuery(t.currentTarget).data("expand");n&&localStorage.setItem("glsr-expand",n)}};var X=K;function Y(t){if(null==t)return window;if("[object Window]"!==t.toString()){var n=t.ownerDocument;return n&&n.defaultView||window}return t}function J(t){return t instanceof Y(t).Element||t instanceof Element}function tt(t){return t instanceof Y(t).HTMLElement||t instanceof HTMLElement}function nt(t){return"undefined"!=typeof ShadowRoot&&(t instanceof Y(t).ShadowRoot||t instanceof ShadowRoot)}var et=Math.round;function it(t,n){void 0===n&&(n=!1);var e=t.getBoundingClientRect(),i=1,r=1;if(tt(t)&&n){var o=t.offsetHeight,s=t.offsetWidth;s>0&&(i=e.width/s||1),o>0&&(r=e.height/o||1)}return{width:et(e.width/i),height:et(e.height/r),top:et(e.top/r),right:et(e.right/i),bottom:et(e.bottom/r),left:et(e.left/i),x:et(e.left/i),y:et(e.top/r)}}function rt(t){var n=Y(t);return{scrollLeft:n.pageXOffset,scrollTop:n.pageYOffset}}function ot(t){return t?(t.nodeName||"").toLowerCase():null}function st(t){return((J(t)?t.ownerDocument:t.document)||window.document).documentElement}function at(t){return it(st(t)).left+rt(t).scrollLeft}function ut(t){return Y(t).getComputedStyle(t)}function ct(t){var n=ut(t),e=n.overflow,i=n.overflowX,r=n.overflowY;return/auto|scroll|overlay|hidden/.test(e+r+i)}function lt(t,n,e){void 0===e&&(e=!1);var i,r,o=tt(n),s=tt(n)&&function(t){var n=t.getBoundingClientRect(),e=n.width/t.offsetWidth||1,i=n.height/t.offsetHeight||1;return 1!==e||1!==i}(n),a=st(n),u=it(t,s),c={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(o||!o&&!e)&&(("body"!==ot(n)||ct(a))&&(c=(i=n)!==Y(i)&&tt(i)?{scrollLeft:(r=i).scrollLeft,scrollTop:r.scrollTop}:rt(i)),tt(n)?((l=it(n,!0)).x+=n.clientLeft,l.y+=n.clientTop):a&&(l.x=at(a))),{x:u.left+c.scrollLeft-l.x,y:u.top+c.scrollTop-l.y,width:u.width,height:u.height}}function ft(t){var n=it(t),e=t.offsetWidth,i=t.offsetHeight;return Math.abs(n.width-e)<=1&&(e=n.width),Math.abs(n.height-i)<=1&&(i=n.height),{x:t.offsetLeft,y:t.offsetTop,width:e,height:i}}function dt(t){return"html"===ot(t)?t:t.assignedSlot||t.parentNode||(nt(t)?t.host:null)||st(t)}function ht(t){return["html","body","#document"].indexOf(ot(t))>=0?t.ownerDocument.body:tt(t)&&ct(t)?t:ht(dt(t))}function pt(t,n){var e;void 0===n&&(n=[]);var i=ht(t),r=i===(null==(e=t.ownerDocument)?void 0:e.body),o=Y(i),s=r?[o].concat(o.visualViewport||[],ct(i)?i:[]):i,a=n.concat(s);return r?a:a.concat(pt(dt(s)))}function vt(t){return["table","td","th"].indexOf(ot(t))>=0}function mt(t){return tt(t)&&"fixed"!==ut(t).position?t.offsetParent:null}function bt(t){for(var n=Y(t),e=mt(t);e&&vt(e)&&"static"===ut(e).position;)e=mt(e);return e&&("html"===ot(e)||"body"===ot(e)&&"static"===ut(e).position)?n:e||function(t){var n=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&tt(t)&&"fixed"===ut(t).position)return null;for(var e=dt(t);tt(e)&&["html","body"].indexOf(ot(e))<0;){var i=ut(e);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||n&&"filter"===i.willChange||n&&i.filter&&"none"!==i.filter)return e;e=e.parentNode}return null}(t)||n}var yt="top",gt="bottom",wt="right",kt="left",_t="auto",jt=[yt,gt,wt,kt],xt="start",St="end",Qt="viewport",Ft="popper",Ot=jt.reduce((function(t,n){return t.concat([n+"-"+xt,n+"-"+St])}),[]),Rt=[].concat(jt,[_t]).reduce((function(t,n){return t.concat([n,n+"-"+xt,n+"-"+St])}),[]),At=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function zt(t){var n=new Map,e=new Set,i=[];function r(t){e.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!e.has(t)){var i=n.get(t);i&&r(i)}})),i.push(t)}return t.forEach((function(t){n.set(t.name,t)})),t.forEach((function(t){e.has(t.name)||r(t)})),i}var Pt={placement:"bottom",modifiers:[],strategy:"absolute"};function Lt(){for(var t=arguments.length,n=new Array(t),e=0;e<t;e++)n[e]=arguments[e];return!n.some((function(t){return!(t&&"function"==typeof t.getBoundingClientRect)}))}function $t(t){void 0===t&&(t={});var n=t,e=n.defaultModifiers,i=void 0===e?[]:e,r=n.defaultOptions,o=void 0===r?Pt:r;return function(t,n,e){void 0===e&&(e=o);var r,s,a={placement:"bottom",orderedModifiers:[],options:Object.assign({},Pt,o),modifiersData:{},elements:{reference:t,popper:n},attributes:{},styles:{}},u=[],c=!1,l={state:a,setOptions:function(e){var r="function"==typeof e?e(a.options):e;f(),a.options=Object.assign({},o,a.options,r),a.scrollParents={reference:J(t)?pt(t):t.contextElement?pt(t.contextElement):[],popper:pt(n)};var s=function(t){var n=zt(t);return At.reduce((function(t,e){return t.concat(n.filter((function(t){return t.phase===e})))}),[])}(function(t){var n=t.reduce((function(t,n){var e=t[n.name];return t[n.name]=e?Object.assign({},e,n,{options:Object.assign({},e.options,n.options),data:Object.assign({},e.data,n.data)}):n,t}),{});return Object.keys(n).map((function(t){return n[t]}))}([].concat(i,a.options.modifiers)));return a.orderedModifiers=s.filter((function(t){return t.enabled})),a.orderedModifiers.forEach((function(t){var n=t.name,e=t.options,i=void 0===e?{}:e,r=t.effect;if("function"==typeof r){var o=r({state:a,name:n,instance:l,options:i}),s=function(){};u.push(o||s)}})),l.update()},forceUpdate:function(){if(!c){var t=a.elements,n=t.reference,e=t.popper;if(Lt(n,e)){a.rects={reference:lt(n,bt(e),"fixed"===a.options.strategy),popper:ft(e)},a.reset=!1,a.placement=a.options.placement,a.orderedModifiers.forEach((function(t){return a.modifiersData[t.name]=Object.assign({},t.data)}));for(var i=0;i<a.orderedModifiers.length;i++)if(!0!==a.reset){var r=a.orderedModifiers[i],o=r.fn,s=r.options,u=void 0===s?{}:s,f=r.name;"function"==typeof o&&(a=o({state:a,options:u,name:f,instance:l})||a)}else a.reset=!1,i=-1}}},update:(r=function(){return new Promise((function(t){l.forceUpdate(),t(a)}))},function(){return s||(s=new Promise((function(t){Promise.resolve().then((function(){s=void 0,t(r())}))}))),s}),destroy:function(){f(),c=!0}};if(!Lt(t,n))return l;function f(){u.forEach((function(t){return t()})),u=[]}return l.setOptions(e).then((function(t){!c&&e.onFirstUpdate&&e.onFirstUpdate(t)})),l}}var Ct={passive:!0};var Tt={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var n=t.state,e=t.instance,i=t.options,r=i.scroll,o=void 0===r||r,s=i.resize,a=void 0===s||s,u=Y(n.elements.popper),c=[].concat(n.scrollParents.reference,n.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",e.update,Ct)})),a&&u.addEventListener("resize",e.update,Ct),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",e.update,Ct)})),a&&u.removeEventListener("resize",e.update,Ct)}},data:{}};function Et(t){return t.split("-")[0]}function Gt(t){return t.split("-")[1]}function qt(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Mt(t){var n,e=t.reference,i=t.element,r=t.placement,o=r?Et(r):null,s=r?Gt(r):null,a=e.x+e.width/2-i.width/2,u=e.y+e.height/2-i.height/2;switch(o){case yt:n={x:a,y:e.y-i.height};break;case gt:n={x:a,y:e.y+e.height};break;case wt:n={x:e.x+e.width,y:u};break;case kt:n={x:e.x-i.width,y:u};break;default:n={x:e.x,y:e.y}}var c=o?qt(o):null;if(null!=c){var l="y"===c?"height":"width";switch(s){case xt:n[c]=n[c]-(e[l]/2-i[l]/2);break;case St:n[c]=n[c]+(e[l]/2-i[l]/2)}}return n}var Dt={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var n=t.state,e=t.name;n.modifiersData[e]=Mt({reference:n.rects.reference,element:n.rects.popper,strategy:"absolute",placement:n.placement})},data:{}},It=Math.max,Bt=Math.min,Ut=Math.round,Wt={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Ht(t){var n,e=t.popper,i=t.popperRect,r=t.placement,o=t.variation,s=t.offsets,a=t.position,u=t.gpuAcceleration,c=t.adaptive,l=t.roundOffsets,f=!0===l?function(t){var n=t.x,e=t.y,i=window.devicePixelRatio||1;return{x:Ut(Ut(n*i)/i)||0,y:Ut(Ut(e*i)/i)||0}}(s):"function"==typeof l?l(s):s,d=f.x,h=void 0===d?0:d,p=f.y,v=void 0===p?0:p,m=s.hasOwnProperty("x"),b=s.hasOwnProperty("y"),y=kt,g=yt,w=window;if(c){var k=bt(e),_="clientHeight",j="clientWidth";k===Y(e)&&"static"!==ut(k=st(e)).position&&"absolute"===a&&(_="scrollHeight",j="scrollWidth"),k=k,r!==yt&&(r!==kt&&r!==wt||o!==St)||(g=gt,v-=k[_]-i.height,v*=u?1:-1),r!==kt&&(r!==yt&&r!==gt||o!==St)||(y=wt,h-=k[j]-i.width,h*=u?1:-1)}var x,S=Object.assign({position:a},c&&Wt);return u?Object.assign({},S,((x={})[g]=b?"0":"",x[y]=m?"0":"",x.transform=(w.devicePixelRatio||1)<=1?"translate("+h+"px, "+v+"px)":"translate3d("+h+"px, "+v+"px, 0)",x)):Object.assign({},S,((n={})[g]=b?v+"px":"",n[y]=m?h+"px":"",n.transform="",n))}var Nt={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var n=t.state;Object.keys(n.elements).forEach((function(t){var e=n.styles[t]||{},i=n.attributes[t]||{},r=n.elements[t];tt(r)&&ot(r)&&(Object.assign(r.style,e),Object.keys(i).forEach((function(t){var n=i[t];!1===n?r.removeAttribute(t):r.setAttribute(t,!0===n?"":n)})))}))},effect:function(t){var n=t.state,e={popper:{position:n.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(n.elements.popper.style,e.popper),n.styles=e,n.elements.arrow&&Object.assign(n.elements.arrow.style,e.arrow),function(){Object.keys(n.elements).forEach((function(t){var i=n.elements[t],r=n.attributes[t]||{},o=Object.keys(n.styles.hasOwnProperty(t)?n.styles[t]:e[t]).reduce((function(t,n){return t[n]="",t}),{});tt(i)&&ot(i)&&(Object.assign(i.style,o),Object.keys(r).forEach((function(t){i.removeAttribute(t)})))}))}},requires:["computeStyles"]};var Vt={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var n=t.state,e=t.options,i=t.name,r=e.offset,o=void 0===r?[0,0]:r,s=Rt.reduce((function(t,e){return t[e]=function(t,n,e){var i=Et(t),r=[kt,yt].indexOf(i)>=0?-1:1,o="function"==typeof e?e(Object.assign({},n,{placement:t})):e,s=o[0],a=o[1];return s=s||0,a=(a||0)*r,[kt,wt].indexOf(i)>=0?{x:a,y:s}:{x:s,y:a}}(e,n.rects,o),t}),{}),a=s[n.placement],u=a.x,c=a.y;null!=n.modifiersData.popperOffsets&&(n.modifiersData.popperOffsets.x+=u,n.modifiersData.popperOffsets.y+=c),n.modifiersData[i]=s}},Zt={left:"right",right:"left",bottom:"top",top:"bottom"};function Kt(t){return t.replace(/left|right|bottom|top/g,(function(t){return Zt[t]}))}var Xt={start:"end",end:"start"};function Yt(t){return t.replace(/start|end/g,(function(t){return Xt[t]}))}function Jt(t,n){var e=n.getRootNode&&n.getRootNode();if(t.contains(n))return!0;if(e&&nt(e)){var i=n;do{if(i&&t.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function tn(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function nn(t,n){return n===Qt?tn(function(t){var n=Y(t),e=st(t),i=n.visualViewport,r=e.clientWidth,o=e.clientHeight,s=0,a=0;return i&&(r=i.width,o=i.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(s=i.offsetLeft,a=i.offsetTop)),{width:r,height:o,x:s+at(t),y:a}}(t)):tt(n)?function(t){var n=it(t);return n.top=n.top+t.clientTop,n.left=n.left+t.clientLeft,n.bottom=n.top+t.clientHeight,n.right=n.left+t.clientWidth,n.width=t.clientWidth,n.height=t.clientHeight,n.x=n.left,n.y=n.top,n}(n):tn(function(t){var n,e=st(t),i=rt(t),r=null==(n=t.ownerDocument)?void 0:n.body,o=It(e.scrollWidth,e.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),s=It(e.scrollHeight,e.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-i.scrollLeft+at(t),u=-i.scrollTop;return"rtl"===ut(r||e).direction&&(a+=It(e.clientWidth,r?r.clientWidth:0)-o),{width:o,height:s,x:a,y:u}}(st(t)))}function en(t,n,e){var i="clippingParents"===n?function(t){var n=pt(dt(t)),e=["absolute","fixed"].indexOf(ut(t).position)>=0&&tt(t)?bt(t):t;return J(e)?n.filter((function(t){return J(t)&&Jt(t,e)&&"body"!==ot(t)})):[]}(t):[].concat(n),r=[].concat(i,[e]),o=r[0],s=r.reduce((function(n,e){var i=nn(t,e);return n.top=It(i.top,n.top),n.right=Bt(i.right,n.right),n.bottom=Bt(i.bottom,n.bottom),n.left=It(i.left,n.left),n}),nn(t,o));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function rn(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function on(t,n){return n.reduce((function(n,e){return n[e]=t,n}),{})}function sn(t,n){void 0===n&&(n={});var e=n,i=e.placement,r=void 0===i?t.placement:i,o=e.boundary,s=void 0===o?"clippingParents":o,a=e.rootBoundary,u=void 0===a?Qt:a,c=e.elementContext,l=void 0===c?Ft:c,f=e.altBoundary,d=void 0!==f&&f,h=e.padding,p=void 0===h?0:h,v=rn("number"!=typeof p?p:on(p,jt)),m=l===Ft?"reference":Ft,b=t.rects.popper,y=t.elements[d?m:l],g=en(J(y)?y:y.contextElement||st(t.elements.popper),s,u),w=it(t.elements.reference),k=Mt({reference:w,element:b,strategy:"absolute",placement:r}),_=tn(Object.assign({},b,k)),j=l===Ft?_:w,x={top:g.top-j.top+v.top,bottom:j.bottom-g.bottom+v.bottom,left:g.left-j.left+v.left,right:j.right-g.right+v.right},S=t.modifiersData.offset;if(l===Ft&&S){var Q=S[r];Object.keys(x).forEach((function(t){var n=[wt,gt].indexOf(t)>=0?1:-1,e=[yt,gt].indexOf(t)>=0?"y":"x";x[t]+=Q[e]*n}))}return x}var an={name:"flip",enabled:!0,phase:"main",fn:function(t){var n=t.state,e=t.options,i=t.name;if(!n.modifiersData[i]._skip){for(var r=e.mainAxis,o=void 0===r||r,s=e.altAxis,a=void 0===s||s,u=e.fallbackPlacements,c=e.padding,l=e.boundary,f=e.rootBoundary,d=e.altBoundary,h=e.flipVariations,p=void 0===h||h,v=e.allowedAutoPlacements,m=n.options.placement,b=Et(m),y=u||(b===m||!p?[Kt(m)]:function(t){if(Et(t)===_t)return[];var n=Kt(t);return[Yt(t),n,Yt(n)]}(m)),g=[m].concat(y).reduce((function(t,e){return t.concat(Et(e)===_t?function(t,n){void 0===n&&(n={});var e=n,i=e.placement,r=e.boundary,o=e.rootBoundary,s=e.padding,a=e.flipVariations,u=e.allowedAutoPlacements,c=void 0===u?Rt:u,l=Gt(i),f=l?a?Ot:Ot.filter((function(t){return Gt(t)===l})):jt,d=f.filter((function(t){return c.indexOf(t)>=0}));0===d.length&&(d=f);var h=d.reduce((function(n,e){return n[e]=sn(t,{placement:e,boundary:r,rootBoundary:o,padding:s})[Et(e)],n}),{});return Object.keys(h).sort((function(t,n){return h[t]-h[n]}))}(n,{placement:e,boundary:l,rootBoundary:f,padding:c,flipVariations:p,allowedAutoPlacements:v}):e)}),[]),w=n.rects.reference,k=n.rects.popper,_=new Map,j=!0,x=g[0],S=0;S<g.length;S++){var Q=g[S],F=Et(Q),O=Gt(Q)===xt,R=[yt,gt].indexOf(F)>=0,A=R?"width":"height",z=sn(n,{placement:Q,boundary:l,rootBoundary:f,altBoundary:d,padding:c}),P=R?O?wt:kt:O?gt:yt;w[A]>k[A]&&(P=Kt(P));var L=Kt(P),$=[];if(o&&$.push(z[F]<=0),a&&$.push(z[P]<=0,z[L]<=0),$.every((function(t){return t}))){x=Q,j=!1;break}_.set(Q,$)}if(j)for(var C=function(t){var n=g.find((function(n){var e=_.get(n);if(e)return e.slice(0,t).every((function(t){return t}))}));if(n)return x=n,"break"},T=p?3:1;T>0;T--){if("break"===C(T))break}n.placement!==x&&(n.modifiersData[i]._skip=!0,n.placement=x,n.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function un(t,n,e){return It(t,Bt(n,e))}var cn={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var n=t.state,e=t.options,i=t.name,r=e.mainAxis,o=void 0===r||r,s=e.altAxis,a=void 0!==s&&s,u=e.boundary,c=e.rootBoundary,l=e.altBoundary,f=e.padding,d=e.tether,h=void 0===d||d,p=e.tetherOffset,v=void 0===p?0:p,m=sn(n,{boundary:u,rootBoundary:c,padding:f,altBoundary:l}),b=Et(n.placement),y=Gt(n.placement),g=!y,w=qt(b),k="x"===w?"y":"x",_=n.modifiersData.popperOffsets,j=n.rects.reference,x=n.rects.popper,S="function"==typeof v?v(Object.assign({},n.rects,{placement:n.placement})):v,Q={x:0,y:0};if(_){if(o||a){var F="y"===w?yt:kt,O="y"===w?gt:wt,R="y"===w?"height":"width",A=_[w],z=_[w]+m[F],P=_[w]-m[O],L=h?-x[R]/2:0,$=y===xt?j[R]:x[R],C=y===xt?-x[R]:-j[R],T=n.elements.arrow,E=h&&T?ft(T):{width:0,height:0},G=n.modifiersData["arrow#persistent"]?n.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},q=G[F],M=G[O],D=un(0,j[R],E[R]),I=g?j[R]/2-L-D-q-S:$-D-q-S,B=g?-j[R]/2+L+D+M+S:C+D+M+S,U=n.elements.arrow&&bt(n.elements.arrow),W=U?"y"===w?U.clientTop||0:U.clientLeft||0:0,H=n.modifiersData.offset?n.modifiersData.offset[n.placement][w]:0,N=_[w]+I-H-W,V=_[w]+B-H;if(o){var Z=un(h?Bt(z,N):z,A,h?It(P,V):P);_[w]=Z,Q[w]=Z-A}if(a){var K="x"===w?yt:kt,X="x"===w?gt:wt,Y=_[k],J=Y+m[K],tt=Y-m[X],nt=un(h?Bt(J,N):J,Y,h?It(tt,V):tt);_[k]=nt,Q[k]=nt-Y}}n.modifiersData[i]=Q}},requiresIfExists:["offset"]};var ln={name:"arrow",enabled:!0,phase:"main",fn:function(t){var n,e=t.state,i=t.name,r=t.options,o=e.elements.arrow,s=e.modifiersData.popperOffsets,a=Et(e.placement),u=qt(a),c=[kt,wt].indexOf(a)>=0?"height":"width";if(o&&s){var l=function(t,n){return rn("number"!=typeof(t="function"==typeof t?t(Object.assign({},n.rects,{placement:n.placement})):t)?t:on(t,jt))}(r.padding,e),f=ft(o),d="y"===u?yt:kt,h="y"===u?gt:wt,p=e.rects.reference[c]+e.rects.reference[u]-s[u]-e.rects.popper[c],v=s[u]-e.rects.reference[u],m=bt(o),b=m?"y"===u?m.clientHeight||0:m.clientWidth||0:0,y=p/2-v/2,g=l[d],w=b-f[c]-l[h],k=b/2-f[c]/2+y,_=un(g,k,w),j=u;e.modifiersData[i]=((n={})[j]=_,n.centerOffset=_-k,n)}},effect:function(t){var n=t.state,e=t.options.element,i=void 0===e?"[data-popper-arrow]":e;null!=i&&("string"!=typeof i||(i=n.elements.popper.querySelector(i)))&&Jt(n.elements.popper,i)&&(n.elements.arrow=i)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function fn(t,n,e){return void 0===e&&(e={x:0,y:0}),{top:t.top-n.height-e.y,right:t.right-n.width+e.x,bottom:t.bottom-n.height+e.y,left:t.left-n.width-e.x}}function dn(t){return[yt,wt,gt,kt].some((function(n){return t[n]>=0}))}var hn=$t({defaultModifiers:[Tt,Dt,{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var n=t.state,e=t.options,i=e.gpuAcceleration,r=void 0===i||i,o=e.adaptive,s=void 0===o||o,a=e.roundOffsets,u=void 0===a||a,c={placement:Et(n.placement),variation:Gt(n.placement),popper:n.elements.popper,popperRect:n.rects.popper,gpuAcceleration:r};null!=n.modifiersData.popperOffsets&&(n.styles.popper=Object.assign({},n.styles.popper,Ht(Object.assign({},c,{offsets:n.modifiersData.popperOffsets,position:n.options.strategy,adaptive:s,roundOffsets:u})))),null!=n.modifiersData.arrow&&(n.styles.arrow=Object.assign({},n.styles.arrow,Ht(Object.assign({},c,{offsets:n.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:u})))),n.attributes.popper=Object.assign({},n.attributes.popper,{"data-popper-placement":n.placement})},data:{}},Nt,Vt,an,cn,ln,{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var n=t.state,e=t.name,i=n.rects.reference,r=n.rects.popper,o=n.modifiersData.preventOverflow,s=sn(n,{elementContext:"reference"}),a=sn(n,{altBoundary:!0}),u=fn(s,i),c=fn(a,r,o),l=dn(u),f=dn(c);n.modifiersData[e]={referenceClippingOffsets:u,popperEscapeOffsets:c,isReferenceHidden:l,hasPopperEscaped:f},n.attributes.popper=Object.assign({},n.attributes.popper,{"data-popper-reference-hidden":l,"data-popper-escaped":f})}}]}),pn="tippy-content",vn="tippy-backdrop",mn="tippy-arrow",bn="tippy-svg-arrow",yn={passive:!0,capture:!0},gn=function(){return document.body};function wn(t,n,e){if(Array.isArray(t)){var i=t[n];return null==i?Array.isArray(e)?e[n]:e:i}return t}function kn(t,n){var e={}.toString.call(t);return 0===e.indexOf("[object")&&e.indexOf(n+"]")>-1}function _n(t,n){return"function"==typeof t?t.apply(void 0,n):t}function jn(t,n){return 0===n?t:function(i){clearTimeout(e),e=setTimeout((function(){t(i)}),n)};var e}function xn(t){return[].concat(t)}function Sn(t,n){-1===t.indexOf(n)&&t.push(n)}function Qn(t){return t.split("-")[0]}function Fn(t){return[].slice.call(t)}function On(){return document.createElement("div")}function Rn(t){return["Element","Fragment"].some((function(n){return kn(t,n)}))}function An(t){return kn(t,"MouseEvent")}function zn(t){return!(!t||!t._tippy||t._tippy.reference!==t)}function Pn(t){return Rn(t)?[t]:function(t){return kn(t,"NodeList")}(t)?Fn(t):Array.isArray(t)?t:Fn(document.querySelectorAll(t))}function Ln(t,n){t.forEach((function(t){t&&(t.style.transitionDuration=n+"ms")}))}function $n(t,n){t.forEach((function(t){t&&t.setAttribute("data-state",n)}))}function Cn(t){var n,e=xn(t)[0];return(null==e||null==(n=e.ownerDocument)?void 0:n.body)?e.ownerDocument:document}function Tn(t,n,e){var i=n+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(n){t[i](n,e)}))}function En(t,n){for(var e=n;e;){var i;if(t.contains(e))return!0;e=null==(i=null==e.getRootNode?void 0:e.getRootNode())?void 0:i.host}return!1}var Gn={isTouch:!1},qn=0;function Mn(){Gn.isTouch||(Gn.isTouch=!0,window.performance&&document.addEventListener("mousemove",Dn))}function Dn(){var t=performance.now();t-qn<20&&(Gn.isTouch=!1,document.removeEventListener("mousemove",Dn)),qn=t}function In(){var t=document.activeElement;if(zn(t)){var n=t._tippy;t.blur&&!n.state.isVisible&&t.blur()}}var Bn=!!("undefined"!=typeof window&&"undefined"!=typeof document)&&!!window.msCrypto;var Un={animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},Wn=Object.assign({appendTo:gn,aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},Un,{},{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),Hn=Object.keys(Wn);function Nn(t){var n=(t.plugins||[]).reduce((function(n,e){var i,r=e.name,o=e.defaultValue;r&&(n[r]=void 0!==t[r]?t[r]:null!=(i=Wn[r])?i:o);return n}),{});return Object.assign({},t,{},n)}function Vn(t,n){var e=Object.assign({},n,{content:_n(n.content,[t])},n.ignoreAttributes?{}:function(t,n){return(n?Object.keys(Nn(Object.assign({},Wn,{plugins:n}))):Hn).reduce((function(n,e){var i=(t.getAttribute("data-tippy-"+e)||"").trim();if(!i)return n;if("content"===e)n[e]=i;else try{n[e]=JSON.parse(i)}catch(t){n[e]=i}return n}),{})}(t,n.plugins));return e.aria=Object.assign({},Wn.aria,{},e.aria),e.aria={expanded:"auto"===e.aria.expanded?n.interactive:e.aria.expanded,content:"auto"===e.aria.content?n.interactive?null:"describedby":e.aria.content},e}function Zn(t,n){t.innerHTML=n}function Kn(t){var n=On();return!0===t?n.className=mn:(n.className=bn,Rn(t)?n.appendChild(t):Zn(n,t)),n}function Xn(t,n){Rn(n.content)?(Zn(t,""),t.appendChild(n.content)):"function"!=typeof n.content&&(n.allowHTML?Zn(t,n.content):t.textContent=n.content)}function Yn(t){var n=t.firstElementChild,e=Fn(n.children);return{box:n,content:e.find((function(t){return t.classList.contains(pn)})),arrow:e.find((function(t){return t.classList.contains(mn)||t.classList.contains(bn)})),backdrop:e.find((function(t){return t.classList.contains(vn)}))}}function Jn(t){var n=On(),e=On();e.className="tippy-box",e.setAttribute("data-state","hidden"),e.setAttribute("tabindex","-1");var i=On();function r(e,i){var r=Yn(n),o=r.box,s=r.content,a=r.arrow;i.theme?o.setAttribute("data-theme",i.theme):o.removeAttribute("data-theme"),"string"==typeof i.animation?o.setAttribute("data-animation",i.animation):o.removeAttribute("data-animation"),i.inertia?o.setAttribute("data-inertia",""):o.removeAttribute("data-inertia"),o.style.maxWidth="number"==typeof i.maxWidth?i.maxWidth+"px":i.maxWidth,i.role?o.setAttribute("role",i.role):o.removeAttribute("role"),e.content===i.content&&e.allowHTML===i.allowHTML||Xn(s,t.props),i.arrow?a?e.arrow!==i.arrow&&(o.removeChild(a),o.appendChild(Kn(i.arrow))):o.appendChild(Kn(i.arrow)):a&&o.removeChild(a)}return i.className=pn,i.setAttribute("data-state","hidden"),Xn(i,t.props),n.appendChild(e),e.appendChild(i),r(t.props,t.props),{popper:n,onUpdate:r}}Jn.$$tippy=!0;var te=1,ne=[],ee=[];function ie(t,n){var e,i,r,o,s,a,u,c,l,f=Vn(t,Object.assign({},Wn,{},Nn((e=n,Object.keys(e).reduce((function(t,n){return void 0!==e[n]&&(t[n]=e[n]),t}),{}))))),d=!1,h=!1,p=!1,v=!1,m=[],b=jn(V,f.interactiveDebounce),y=te++,g=(l=f.plugins).filter((function(t,n){return l.indexOf(t)===n})),w={id:y,reference:t,popper:On(),popperInstance:null,props:f,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:g,clearDelayTimeouts:function(){clearTimeout(i),clearTimeout(r),cancelAnimationFrame(o)},setProps:function(n){0;if(w.state.isDestroyed)return;$("onBeforeUpdate",[w,n]),H();var e=w.props,i=Vn(t,Object.assign({},w.props,{},n,{ignoreAttributes:!0}));w.props=i,W(),e.interactiveDebounce!==i.interactiveDebounce&&(E(),b=jn(V,i.interactiveDebounce));e.triggerTarget&&!i.triggerTarget?xn(e.triggerTarget).forEach((function(t){t.removeAttribute("aria-expanded")})):i.triggerTarget&&t.removeAttribute("aria-expanded");T(),L(),j&&j(e,i);w.popperInstance&&(Y(),tt().forEach((function(t){requestAnimationFrame(t._tippy.popperInstance.forceUpdate)})));$("onAfterUpdate",[w,n])},setContent:function(t){w.setProps({content:t})},show:function(){0;var t=w.state.isVisible,n=w.state.isDestroyed,e=!w.state.isEnabled,i=Gn.isTouch&&!w.props.touch,r=wn(w.props.duration,0,Wn.duration);if(t||n||e||i)return;if(R().hasAttribute("disabled"))return;if($("onShow",[w],!1),!1===w.props.onShow(w))return;w.state.isVisible=!0,O()&&(_.style.visibility="visible");L(),D(),w.state.isMounted||(_.style.transition="none");if(O()){var o=z(),s=o.box,a=o.content;Ln([s,a],0)}u=function(){var t;if(w.state.isVisible&&!v){if(v=!0,_.offsetHeight,_.style.transition=w.props.moveTransition,O()&&w.props.animation){var n=z(),e=n.box,i=n.content;Ln([e,i],r),$n([e,i],"visible")}C(),T(),Sn(ee,w),null==(t=w.popperInstance)||t.forceUpdate(),w.state.isMounted=!0,$("onMount",[w]),w.props.animation&&O()&&function(t,n){B(t,n)}(r,(function(){w.state.isShown=!0,$("onShown",[w])}))}},function(){var t,n=w.props.appendTo,e=R();t=w.props.interactive&&n===gn||"parent"===n?e.parentNode:_n(n,[e]);t.contains(_)||t.appendChild(_);Y(),!1}()},hide:function(){0;var t=!w.state.isVisible,n=w.state.isDestroyed,e=!w.state.isEnabled,i=wn(w.props.duration,1,Wn.duration);if(t||n||e)return;if($("onHide",[w],!1),!1===w.props.onHide(w))return;w.state.isVisible=!1,w.state.isShown=!1,v=!1,d=!1,O()&&(_.style.visibility="hidden");if(E(),I(),L(),O()){var r=z(),o=r.box,s=r.content;w.props.animation&&(Ln([o,s],i),$n([o,s],"hidden"))}C(),T(),w.props.animation?O()&&function(t,n){B(t,(function(){!w.state.isVisible&&_.parentNode&&_.parentNode.contains(_)&&n()}))}(i,w.unmount):w.unmount()},hideWithInteractivity:function(t){0;A().addEventListener("mousemove",b),Sn(ne,b),b(t)},enable:function(){w.state.isEnabled=!0},disable:function(){w.hide(),w.state.isEnabled=!1},unmount:function(){0;w.state.isVisible&&w.hide();if(!w.state.isMounted)return;J(),tt().forEach((function(t){t._tippy.unmount()})),_.parentNode&&_.parentNode.removeChild(_);ee=ee.filter((function(t){return t!==w})),w.state.isMounted=!1,$("onHidden",[w])},destroy:function(){0;if(w.state.isDestroyed)return;w.clearDelayTimeouts(),w.unmount(),H(),delete t._tippy,w.state.isDestroyed=!0,$("onDestroy",[w])}};if(!f.render)return w;var k=f.render(w),_=k.popper,j=k.onUpdate;_.setAttribute("data-tippy-root",""),_.id="tippy-"+w.id,w.popper=_,t._tippy=w,_._tippy=w;var x=g.map((function(t){return t.fn(w)})),S=t.hasAttribute("aria-expanded");return W(),T(),L(),$("onCreate",[w]),f.showOnCreate&&nt(),_.addEventListener("mouseenter",(function(){w.props.interactive&&w.state.isVisible&&w.clearDelayTimeouts()})),_.addEventListener("mouseleave",(function(t){w.props.interactive&&w.props.trigger.indexOf("mouseenter")>=0&&(A().addEventListener("mousemove",b),b(t))})),w;function Q(){var t=w.props.touch;return Array.isArray(t)?t:[t,0]}function F(){return"hold"===Q()[0]}function O(){var t;return!!(null==(t=w.props.render)?void 0:t.$$tippy)}function R(){return c||t}function A(){var t=R().parentNode;return t?Cn(t):document}function z(){return Yn(_)}function P(t){return w.state.isMounted&&!w.state.isVisible||Gn.isTouch||s&&"focus"===s.type?0:wn(w.props.delay,t?0:1,Wn.delay)}function L(){_.style.pointerEvents=w.props.interactive&&w.state.isVisible?"":"none",_.style.zIndex=""+w.props.zIndex}function $(t,n,e){var i;(void 0===e&&(e=!0),x.forEach((function(e){e[t]&&e[t].apply(void 0,n)})),e)&&(i=w.props)[t].apply(i,n)}function C(){var n=w.props.aria;if(n.content){var e="aria-"+n.content,i=_.id;xn(w.props.triggerTarget||t).forEach((function(t){var n=t.getAttribute(e);if(w.state.isVisible)t.setAttribute(e,n?n+" "+i:i);else{var r=n&&n.replace(i,"").trim();r?t.setAttribute(e,r):t.removeAttribute(e)}}))}}function T(){!S&&w.props.aria.expanded&&xn(w.props.triggerTarget||t).forEach((function(t){w.props.interactive?t.setAttribute("aria-expanded",w.state.isVisible&&t===R()?"true":"false"):t.removeAttribute("aria-expanded")}))}function E(){A().removeEventListener("mousemove",b),ne=ne.filter((function(t){return t!==b}))}function G(t){if(!Gn.isTouch||!p&&"mousedown"!==t.type){var n=t.composedPath&&t.composedPath()[0]||t.target;if(!w.props.interactive||!En(_,n)){if(En(R(),n)){if(Gn.isTouch)return;if(w.state.isVisible&&w.props.trigger.indexOf("click")>=0)return}else $("onClickOutside",[w,t]);!0===w.props.hideOnClick&&(w.clearDelayTimeouts(),w.hide(),h=!0,setTimeout((function(){h=!1})),w.state.isMounted||I())}}}function q(){p=!0}function M(){p=!1}function D(){var t=A();t.addEventListener("mousedown",G,!0),t.addEventListener("touchend",G,yn),t.addEventListener("touchstart",M,yn),t.addEventListener("touchmove",q,yn)}function I(){var t=A();t.removeEventListener("mousedown",G,!0),t.removeEventListener("touchend",G,yn),t.removeEventListener("touchstart",M,yn),t.removeEventListener("touchmove",q,yn)}function B(t,n){var e=z().box;function i(t){t.target===e&&(Tn(e,"remove",i),n())}if(0===t)return n();Tn(e,"remove",a),Tn(e,"add",i),a=i}function U(n,e,i){void 0===i&&(i=!1),xn(w.props.triggerTarget||t).forEach((function(t){t.addEventListener(n,e,i),m.push({node:t,eventType:n,handler:e,options:i})}))}function W(){var t;F()&&(U("touchstart",N,{passive:!0}),U("touchend",Z,{passive:!0})),(t=w.props.trigger,t.split(/\s+/).filter(Boolean)).forEach((function(t){if("manual"!==t)switch(U(t,N),t){case"mouseenter":U("mouseleave",Z);break;case"focus":U(Bn?"focusout":"blur",K);break;case"focusin":U("focusout",K)}}))}function H(){m.forEach((function(t){var n=t.node,e=t.eventType,i=t.handler,r=t.options;n.removeEventListener(e,i,r)})),m=[]}function N(t){var n,e=!1;if(w.state.isEnabled&&!X(t)&&!h){var i="focus"===(null==(n=s)?void 0:n.type);s=t,c=t.currentTarget,T(),!w.state.isVisible&&An(t)&&ne.forEach((function(n){return n(t)})),"click"===t.type&&(w.props.trigger.indexOf("mouseenter")<0||d)&&!1!==w.props.hideOnClick&&w.state.isVisible?e=!0:nt(t),"click"===t.type&&(d=!e),e&&!i&&et(t)}}function V(t){var n=t.target,e=R().contains(n)||_.contains(n);if("mousemove"!==t.type||!e){var i=tt().concat(_).map((function(t){var n,e=null==(n=t._tippy.popperInstance)?void 0:n.state;return e?{popperRect:t.getBoundingClientRect(),popperState:e,props:f}:null})).filter(Boolean);(function(t,n){var e=n.clientX,i=n.clientY;return t.every((function(t){var n=t.popperRect,r=t.popperState,o=t.props.interactiveBorder,s=Qn(r.placement),a=r.modifiersData.offset;if(!a)return!0;var u="bottom"===s?a.top.y:0,c="top"===s?a.bottom.y:0,l="right"===s?a.left.x:0,f="left"===s?a.right.x:0,d=n.top-i+u>o,h=i-n.bottom-c>o,p=n.left-e+l>o,v=e-n.right-f>o;return d||h||p||v}))})(i,t)&&(E(),et(t))}}function Z(t){X(t)||w.props.trigger.indexOf("click")>=0&&d||(w.props.interactive?w.hideWithInteractivity(t):et(t))}function K(t){w.props.trigger.indexOf("focusin")<0&&t.target!==R()||w.props.interactive&&t.relatedTarget&&_.contains(t.relatedTarget)||et(t)}function X(t){return!!Gn.isTouch&&F()!==t.type.indexOf("touch")>=0}function Y(){J();var n=w.props,e=n.popperOptions,i=n.placement,r=n.offset,o=n.getReferenceClientRect,s=n.moveTransition,a=O()?Yn(_).arrow:null,c=o?{getBoundingClientRect:o,contextElement:o.contextElement||R()}:t,l={name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(t){var n=t.state;if(O()){var e=z().box;["placement","reference-hidden","escaped"].forEach((function(t){"placement"===t?e.setAttribute("data-placement",n.placement):n.attributes.popper["data-popper-"+t]?e.setAttribute("data-"+t,""):e.removeAttribute("data-"+t)})),n.attributes.popper={}}}},f=[{name:"offset",options:{offset:r}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!s}},l];O()&&a&&f.push({name:"arrow",options:{element:a,padding:3}}),f.push.apply(f,(null==e?void 0:e.modifiers)||[]),w.popperInstance=hn(c,_,Object.assign({},e,{placement:i,onFirstUpdate:u,modifiers:f}))}function J(){w.popperInstance&&(w.popperInstance.destroy(),w.popperInstance=null)}function tt(){return Fn(_.querySelectorAll("[data-tippy-root]"))}function nt(t){w.clearDelayTimeouts(),t&&$("onTrigger",[w,t]),D();var n=P(!0),e=Q(),r=e[0],o=e[1];Gn.isTouch&&"hold"===r&&o&&(n=o),n?i=setTimeout((function(){w.show()}),n):w.show()}function et(t){if(w.clearDelayTimeouts(),$("onUntrigger",[w,t]),w.state.isVisible){if(!(w.props.trigger.indexOf("mouseenter")>=0&&w.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(t.type)>=0&&d)){var n=P(!1);n?r=setTimeout((function(){w.state.isVisible&&w.hide()}),n):o=requestAnimationFrame((function(){w.hide()}))}}else I()}}function re(t,n){void 0===n&&(n={});var e=Wn.plugins.concat(n.plugins||[]);document.addEventListener("touchstart",Mn,yn),window.addEventListener("blur",In);var i=Object.assign({},n,{plugins:e}),r=Pn(t).reduce((function(t,n){var e=n&&ie(n,i);return e&&t.push(e),t}),[]);return Rn(t)?r[0]:r}re.defaultProps=Wn,re.setDefaultProps=function(t){Object.keys(t).forEach((function(n){Wn[n]=t[n]}))},re.currentInput=Gn;Object.assign({},Nt,{effect:function(t){var n=t.state,e={popper:{position:n.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(n.elements.popper.style,e.popper),n.styles=e,n.elements.arrow&&Object.assign(n.elements.arrow.style,e.arrow)}});var oe={clientX:0,clientY:0},se=[];function ae(t){var n=t.clientX,e=t.clientY;oe={clientX:n,clientY:e}}var ue={name:"followCursor",defaultValue:!1,fn:function(t){var n=t.reference,e=Cn(t.props.triggerTarget||n),i=!1,r=!1,o=!0,s=t.props;function a(){return"initial"===t.props.followCursor&&t.state.isVisible}function u(){e.addEventListener("mousemove",f)}function c(){e.removeEventListener("mousemove",f)}function l(){i=!0,t.setProps({getReferenceClientRect:null}),i=!1}function f(e){var i=!e.target||n.contains(e.target),r=t.props.followCursor,o=e.clientX,s=e.clientY,a=n.getBoundingClientRect(),u=o-a.left,c=s-a.top;!i&&t.props.interactive||t.setProps({getReferenceClientRect:function(){var t=n.getBoundingClientRect(),e=o,i=s;"initial"===r&&(e=t.left+u,i=t.top+c);var a="horizontal"===r?t.top:i,l="vertical"===r?t.right:e,f="horizontal"===r?t.bottom:i,d="vertical"===r?t.left:e;return{width:l-d,height:f-a,top:a,right:l,bottom:f,left:d}}})}function d(){t.props.followCursor&&(se.push({instance:t,doc:e}),function(t){t.addEventListener("mousemove",ae)}(e))}function h(){0===(se=se.filter((function(n){return n.instance!==t}))).filter((function(t){return t.doc===e})).length&&function(t){t.removeEventListener("mousemove",ae)}(e)}return{onCreate:d,onDestroy:h,onBeforeUpdate:function(){s=t.props},onAfterUpdate:function(n,e){var o=e.followCursor;i||void 0!==o&&s.followCursor!==o&&(h(),o?(d(),!t.state.isMounted||r||a()||u()):(c(),l()))},onMount:function(){t.props.followCursor&&!r&&(o&&(f(oe),o=!1),a()||u())},onTrigger:function(t,n){An(n)&&(oe={clientX:n.clientX,clientY:n.clientY}),r="focus"===n.type},onHidden:function(){t.props.followCursor&&(l(),c(),o=!0)}}}};re.setDefaultProps({render:Jn});var ce=re;GLSR.autosize=d,GLSR.keys={ALT:18,DOWN:40,ENTER:13,ESC:27,SPACE:32,UP:38},GLSR.Event=y,GLSR.Tippy={tippy:ce,plugins:{followCursor:ue}},jQuery((function(t){L().highlightAll(),GLSR.notices=new F,GLSR.shortcode=new q(".glsr-mce"),GLSR.stars=new(D())("select.glsr-star-rating",{tooltip:!1}),GLSR.Tippy.tippy(".glsr-tooltip",{appendTo:function(){return document.body}}),t(".glsr-tooltip").each((function(t,n){var e=n.dataset.tippyContent,i=n.dataset.syntax;n._tippy&&e&&i&&L().languages[i]&&n._tippy.setContent('<pre class="language-'+i+'"><code>'+L().highlight(e,L().languages[i],i)+"</code></pre>")})),p(),new w,new j("form.glsr-form"),new S,new R,new z,new C("#glsr-search-posts",{action:"search-posts",onInit:function(){this.el.find(".glsr-remove-button").on("click",this.rt.bind(this))},onResultClick:function(n){var e=t(n.currentTarget),i=wp.template("glsr-assigned-posts"),r={id:e.data("id"),name:"post_ids[]",url:e.data("url"),title:e.text()};if(i){var o=t(i(r));o.find(".glsr-remove-button").on("click",this.rt.bind(this)),this.el.find(".glsr-selected-entries").append(o),this.it()}this.options.searchEl.focus()}}),new C("#glsr-search-users",{action:"search-users",onInit:function(){this.el.find(".glsr-remove-button").on("click",this.rt.bind(this))},onResultClick:function(n){var e=t(n.currentTarget),i=wp.template("glsr-assigned-users"),r={id:e.data("id"),name:"user_ids[]",url:e.data("url"),title:e.text()};if(i){var o=t(i(r));o.find(".glsr-remove-button").on("click",this.rt.bind(this)),this.el.find(".glsr-selected-entries").append(o),this.it()}this.options.searchEl.focus()}}),new C("#glsr-search-translations",{action:"search-translations",onInit:function(){this.tt()},onResultClick:function(n){var e=t(n.currentTarget),i=e.data("entry"),r=wp.template("glsr-string-"+(i.p1?"plural":"single"));i.index=this.options.entriesEl.children().length,i.prefix=this.options.resultsEl.data("prefix"),r&&(this.options.entriesEl.append(r(i)),this.options.exclude.push({id:i.id}),this.options.results=this.options.results.filter((function(t,n){return n!==e.get(0)}))),this.X()}}),new B("a.glsr-toggle-status"),new E,new N,new Z,new X,new W;var n=function(){this.dataset.glsrTrack=this.value};t("select[data-glsr-track]").each(n),t("select[data-glsr-track]").on("change",n),t(".glsr-card.postbox:not(.open)").addClass("closed").find(".glsr-accordion-trigger").attr("aria-expanded",!1).closest(".glsr-nav-view").addClass("collapsed"),t(".glsr-support-step").not(":checked").length<1&&t(".glsr-card-result").removeClass("hidden"),t(".glsr-support-step").on("change",(function(){var n=t(".glsr-support-step").not(":checked").length>0?"add":"remove";t(".glsr-card-result")[n+"Class"]("hidden")})),t(".glsr-card.postbox .glsr-card-heading").on("click",(function(){var n=t(this).parent(),e=n.closest(".glsr-nav-view"),i=n.hasClass("closed")?"remove":"add";n[i+"Class"]("closed").find(".glsr-accordion-trigger").attr("aria-expanded","add"!==i),i=e.find(".glsr-card.postbox").not(".closed").length>0?"remove":"add",e[i+"Class"]("collapsed")})),t(".post-type-site-review #the-list").on("click",".editinline",(function(){var n=t(this).closest("tr");t(':input[data-name="post_content"]').val(""),t(':input[name="_response"]').val(""),setTimeout((function(){t(':input[data-name="post_content"]').val(n.find("._post_content").text()),t(':input[name="_response"]').val(n.find("._response").text())}),50)}));var e,i=t("#glsr-notices .bulk-action-notice").on("click","button.button-link",(function(){t(this).toggleClass("bulk-action-errors-collapsed").attr("aria-expanded",!t(this).hasClass("bulk-action-errors-collapsed")),i.find(".bulk-action-errors").toggleClass("hidden")}));"no"===GLSR.isLicensed&&jQuery(".post-type-site-review.edit-php .page-title-action").after('<a href="'+GLSR.premiumurl+'" id="glsr-premium-button" class="page-title-action">'+GLSR.text.premium+"</a>"),e=GLSR.text.rate,jQuery("#footer-left",".post-type-site-review, .post-type-site-review-form, .post-type-site-review-theme, .dashboard_page_site-reviews-welcome").html(e.replace("%s",'<strong>Site Reviews</strong> <a href="https://wordpress.org/support/view/plugin-reviews/site-reviews?filter=5#new-post" target="_blank">&#9733;&#9733;&#9733;&#9733;&#9733;</a>').replace("%s",'<a href="https://wordpress.org/support/view/plugin-reviews/site-reviews?filter=5#new-post" target="_blank">wordpress.org</a>'))}));var le=function(t){[].forEach.call(document.querySelectorAll('[data-type="site-reviews/'.concat(t,'"] .glsr')),(function(t){var n="glsr-"+window.getComputedStyle(t,null).getPropertyValue("direction");t.classList.add(n)}))};y.on("site-reviews/form",(function(t,n){_.isEmpty(t)||t.error||(le("form"),GLSR.stars=new(D())("select.glsr-star-rating",{tooltip:!1}))})),y.on("site-reviews/reviews",(function(t,n){_.isEmpty(t)||t.error||le("reviews")})),y.on("site-reviews/summary",(function(t,n){_.isEmpty(t)||t.error||le("summary")}))}()}();
1
  /*! For license information please see site-reviews-admin.js.LICENSE.txt */
2
+ !function(){var t={433:function(){Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}},325:function(t,n,e){var i=function(t){var n=/\blang(?:uage)?-([\w-]+)\b/i,e=0,i={},r={manual:t.Prism&&t.Prism.manual,disableWorkerMessageHandler:t.Prism&&t.Prism.disableWorkerMessageHandler,util:{encode:function t(n){return n instanceof o?new o(n.type,t(n.content),n.alias):Array.isArray(n)?n.map(t):n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(t){return Object.prototype.toString.call(t).slice(8,-1)},objId:function(t){return t.__id||Object.defineProperty(t,"__id",{value:++e}),t.__id},clone:function t(n,e){var i,o;switch(e=e||{},r.util.type(n)){case"Object":if(o=r.util.objId(n),e[o])return e[o];for(var s in i={},e[o]=i,n)n.hasOwnProperty(s)&&(i[s]=t(n[s],e));return i;case"Array":return o=r.util.objId(n),e[o]?e[o]:(i=[],e[o]=i,n.forEach((function(n,r){i[r]=t(n,e)})),i);default:return n}},getLanguage:function(t){for(;t&&!n.test(t.className);)t=t.parentElement;return t?(t.className.match(n)||[,"none"])[1].toLowerCase():"none"},currentScript:function(){if("undefined"==typeof document)return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(i){var t=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(i.stack)||[])[1];if(t){var n=document.getElementsByTagName("script");for(var e in n)if(n[e].src==t)return n[e]}return null}},isActive:function(t,n,e){for(var i="no-"+n;t;){var r=t.classList;if(r.contains(n))return!0;if(r.contains(i))return!1;t=t.parentElement}return!!e}},languages:{plain:i,plaintext:i,text:i,txt:i,extend:function(t,n){var e=r.util.clone(r.languages[t]);for(var i in n)e[i]=n[i];return e},insertBefore:function(t,n,e,i){var o=(i=i||r.languages)[t],s={};for(var a in o)if(o.hasOwnProperty(a)){if(a==n)for(var u in e)e.hasOwnProperty(u)&&(s[u]=e[u]);e.hasOwnProperty(a)||(s[a]=o[a])}var c=i[t];return i[t]=s,r.languages.DFS(r.languages,(function(n,e){e===c&&n!=t&&(this[n]=s)})),s},DFS:function t(n,e,i,o){o=o||{};var s=r.util.objId;for(var a in n)if(n.hasOwnProperty(a)){e.call(n,a,n[a],i||a);var u=n[a],c=r.util.type(u);"Object"!==c||o[s(u)]?"Array"!==c||o[s(u)]||(o[s(u)]=!0,t(u,e,a,o)):(o[s(u)]=!0,t(u,e,null,o))}}},plugins:{},highlightAll:function(t,n){r.highlightAllUnder(document,t,n)},highlightAllUnder:function(t,n,e){var i={callback:e,container:t,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};r.hooks.run("before-highlightall",i),i.elements=Array.prototype.slice.apply(i.container.querySelectorAll(i.selector)),r.hooks.run("before-all-elements-highlight",i);for(var o,s=0;o=i.elements[s++];)r.highlightElement(o,!0===n,i.callback)},highlightElement:function(e,i,o){var s=r.util.getLanguage(e),a=r.languages[s];e.className=e.className.replace(n,"").replace(/\s+/g," ")+" language-"+s;var u=e.parentElement;u&&"pre"===u.nodeName.toLowerCase()&&(u.className=u.className.replace(n,"").replace(/\s+/g," ")+" language-"+s);var c={element:e,language:s,grammar:a,code:e.textContent};function l(t){c.highlightedCode=t,r.hooks.run("before-insert",c),c.element.innerHTML=c.highlightedCode,r.hooks.run("after-highlight",c),r.hooks.run("complete",c),o&&o.call(c.element)}if(r.hooks.run("before-sanity-check",c),(u=c.element.parentElement)&&"pre"===u.nodeName.toLowerCase()&&!u.hasAttribute("tabindex")&&u.setAttribute("tabindex","0"),!c.code)return r.hooks.run("complete",c),void(o&&o.call(c.element));if(r.hooks.run("before-highlight",c),c.grammar)if(i&&t.Worker){var f=new Worker(r.filename);f.onmessage=function(t){l(t.data)},f.postMessage(JSON.stringify({language:c.language,code:c.code,immediateClose:!0}))}else l(r.highlight(c.code,c.grammar,c.language));else l(r.util.encode(c.code))},highlight:function(t,n,e){var i={code:t,grammar:n,language:e};return r.hooks.run("before-tokenize",i),i.tokens=r.tokenize(i.code,i.grammar),r.hooks.run("after-tokenize",i),o.stringify(r.util.encode(i.tokens),i.language)},tokenize:function(t,n){var e=n.rest;if(e){for(var i in e)n[i]=e[i];delete n.rest}var r=new u;return c(r,r.head,t),a(t,r,n,r.head,0),function(t){var n=[],e=t.head.next;for(;e!==t.tail;)n.push(e.value),e=e.next;return n}(r)},hooks:{all:{},add:function(t,n){var e=r.hooks.all;e[t]=e[t]||[],e[t].push(n)},run:function(t,n){var e=r.hooks.all[t];if(e&&e.length)for(var i,o=0;i=e[o++];)i(n)}},Token:o};function o(t,n,e,i){this.type=t,this.content=n,this.alias=e,this.length=0|(i||"").length}function s(t,n,e,i){t.lastIndex=n;var r=t.exec(e);if(r&&i&&r[1]){var o=r[1].length;r.index+=o,r[0]=r[0].slice(o)}return r}function a(t,n,e,i,u,f){for(var d in e)if(e.hasOwnProperty(d)&&e[d]){var h=e[d];h=Array.isArray(h)?h:[h];for(var p=0;p<h.length;++p){if(f&&f.cause==d+","+p)return;var v=h[p],m=v.inside,b=!!v.lookbehind,y=!!v.greedy,g=v.alias;if(y&&!v.pattern.global){var w=v.pattern.toString().match(/[imsuy]*$/)[0];v.pattern=RegExp(v.pattern.source,w+"g")}for(var k=v.pattern||v,_=i.next,j=u;_!==n.tail&&!(f&&j>=f.reach);j+=_.value.length,_=_.next){var x=_.value;if(n.length>t.length)return;if(!(x instanceof o)){var S,Q=1;if(y){if(!(S=s(k,j,t,b)))break;var F=S.index,O=S.index+S[0].length,R=j;for(R+=_.value.length;F>=R;)R+=(_=_.next).value.length;if(j=R-=_.value.length,_.value instanceof o)continue;for(var A=_;A!==n.tail&&(R<O||"string"==typeof A.value);A=A.next)Q++,R+=A.value.length;Q--,x=t.slice(j,R),S.index-=j}else if(!(S=s(k,0,x,b)))continue;F=S.index;var z=S[0],P=x.slice(0,F),L=x.slice(F+z.length),$=j+x.length;f&&$>f.reach&&(f.reach=$);var C=_.prev;if(P&&(C=c(n,C,P),j+=P.length),l(n,C,Q),_=c(n,C,new o(d,m?r.tokenize(z,m):z,g,z)),L&&c(n,_,L),Q>1){var T={cause:d+","+p,reach:$};a(t,n,e,_.prev,j,T),f&&T.reach>f.reach&&(f.reach=T.reach)}}}}}}function u(){var t={value:null,prev:null,next:null},n={value:null,prev:t,next:null};t.next=n,this.head=t,this.tail=n,this.length=0}function c(t,n,e){var i=n.next,r={value:e,prev:n,next:i};return n.next=r,i.prev=r,t.length++,r}function l(t,n,e){for(var i=n.next,r=0;r<e&&i!==t.tail;r++)i=i.next;n.next=i,i.prev=n,t.length-=r}if(t.Prism=r,o.stringify=function t(n,e){if("string"==typeof n)return n;if(Array.isArray(n)){var i="";return n.forEach((function(n){i+=t(n,e)})),i}var o={type:n.type,content:t(n.content,e),tag:"span",classes:["token",n.type],attributes:{},language:e},s=n.alias;s&&(Array.isArray(s)?Array.prototype.push.apply(o.classes,s):o.classes.push(s)),r.hooks.run("wrap",o);var a="";for(var u in o.attributes)a+=" "+u+'="'+(o.attributes[u]||"").replace(/"/g,"&quot;")+'"';return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+a+">"+o.content+"</"+o.tag+">"},!t.document)return t.addEventListener?(r.disableWorkerMessageHandler||t.addEventListener("message",(function(n){var e=JSON.parse(n.data),i=e.language,o=e.code,s=e.immediateClose;t.postMessage(r.highlight(o,r.languages[i],i)),s&&t.close()}),!1),r):r;var f=r.util.currentScript();function d(){r.manual||r.highlightAll()}if(f&&(r.filename=f.src,f.hasAttribute("data-manual")&&(r.manual=!0)),!r.manual){var h=document.readyState;"loading"===h||"interactive"===h&&f&&f.defer?document.addEventListener("DOMContentLoaded",d):window.requestAnimationFrame?window.requestAnimationFrame(d):window.setTimeout(d,16)}return r}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});t.exports&&(t.exports=i),void 0!==e.g&&(e.g.Prism=i)},251:function(){!function(t){var n=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;t.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+n.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+n.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+n.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:n,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},t.languages.css.atrule.inside.rest=t.languages.css;var e=t.languages.markup;e&&(e.tag.addInlined("style","css"),e.tag.addAttribute("style","css"))}(Prism)},980:function(){Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),Prism.languages.js=Prism.languages.javascript},854:function(){!function(t){function n(t,n){return"___"+t.toUpperCase()+n+"___"}Object.defineProperties(t.languages["markup-templating"]={},{buildPlaceholders:{value:function(e,i,r,o){if(e.language===i){var s=e.tokenStack=[];e.code=e.code.replace(r,(function(t){if("function"==typeof o&&!o(t))return t;for(var r,a=s.length;-1!==e.code.indexOf(r=n(i,a));)++a;return s[a]=t,r})),e.grammar=t.languages.markup}}},tokenizePlaceholders:{value:function(e,i){if(e.language===i&&e.tokenStack){e.grammar=t.languages[i];var r=0,o=Object.keys(e.tokenStack);!function s(a){for(var u=0;u<a.length&&!(r>=o.length);u++){var c=a[u];if("string"==typeof c||c.content&&"string"==typeof c.content){var l=o[r],f=e.tokenStack[l],d="string"==typeof c?c:c.content,h=n(i,l),p=d.indexOf(h);if(p>-1){++r;var v=d.substring(0,p),m=new t.Token(i,t.tokenize(f,e.grammar),"language-"+i,f),b=d.substring(p+h.length),y=[];v&&y.push.apply(y,s([v])),y.push(m),b&&y.push.apply(y,s([b])),"string"==typeof c?a.splice.apply(a,[u,1].concat(y)):c.content=y}}else c.content&&s(c.content)}return a}(e.tokens)}}}})}(Prism)},335:function(){Prism.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup,Prism.hooks.add("wrap",(function(t){"entity"===t.type&&(t.attributes.title=t.content.replace(/&amp;/,"&"))})),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(t,n){var e={};e["language-"+n]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:Prism.languages[n]},e.cdata=/^<!\[CDATA\[|\]\]>$/i;var i={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:e}};i["language-"+n]={pattern:/[\s\S]+/,inside:Prism.languages[n]};var r={};r[t]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return t})),"i"),lookbehind:!0,greedy:!0,inside:i},Prism.languages.insertBefore("markup","cdata",r)}}),Object.defineProperty(Prism.languages.markup.tag,"addAttribute",{value:function(t,n){Prism.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+t+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[n,"language-"+n],inside:Prism.languages[n]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml},945:function(){!function(t){var n=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,e=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],i=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,r=/<?=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,o=/[{}\[\](),:;]/;t.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:n,variable:/\$+(?:\w+\b|(?=\{))/i,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:bool|boolean|int|integer|float|string|object|array)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:bool|int|float|string|object|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*[\w|]\|\s*)(?:null|false)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?[\w|]\|\s*)(?:null|false)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|iterable|(?:null|false)(?=\s*\|))\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:null|false)\b/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|match|new|or|parent|print|private|protected|public|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s+)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:e,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:i,operator:r,punctuation:o};var s={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:t.languages.php},a=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:s}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:s}}];t.languages.insertBefore("php","variable",{string:a,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:n,string:a,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:e,number:i,operator:r,punctuation:o}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),t.hooks.add("before-tokenize",(function(n){if(/<\?/.test(n.code)){t.languages["markup-templating"].buildPlaceholders(n,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/gi)}})),t.hooks.add("after-tokenize",(function(n){t.languages["markup-templating"].tokenizePlaceholders(n,"php")}))}(Prism)},759:function(){!function(){if("undefined"!=typeof Prism&&"undefined"!=typeof document){var t="line-numbers",n=/\n(?!$)/g,e=Prism.plugins.lineNumbers={getLine:function(n,e){if("PRE"===n.tagName&&n.classList.contains(t)){var i=n.querySelector(".line-numbers-rows");if(i){var r=parseInt(n.getAttribute("data-start"),10)||1,o=r+(i.children.length-1);e<r&&(e=r),e>o&&(e=o);var s=e-r;return i.children[s]}}},resize:function(t){r([t])},assumeViewportIndependence:!0},i=void 0;window.addEventListener("resize",(function(){e.assumeViewportIndependence&&i===window.innerWidth||(i=window.innerWidth,r(Array.prototype.slice.call(document.querySelectorAll("pre.line-numbers"))))})),Prism.hooks.add("complete",(function(e){if(e.code){var i=e.element,o=i.parentNode;if(o&&/pre/i.test(o.nodeName)&&!i.querySelector(".line-numbers-rows")&&Prism.util.isActive(i,t)){i.classList.remove(t),o.classList.add(t);var s,a=e.code.match(n),u=a?a.length+1:1,c=new Array(u+1).join("<span></span>");(s=document.createElement("span")).setAttribute("aria-hidden","true"),s.className="line-numbers-rows",s.innerHTML=c,o.hasAttribute("data-start")&&(o.style.counterReset="linenumber "+(parseInt(o.getAttribute("data-start"),10)-1)),e.element.appendChild(s),r([o]),Prism.hooks.run("line-numbers",e)}}})),Prism.hooks.add("line-numbers",(function(t){t.plugins=t.plugins||{},t.plugins.lineNumbers=!0}))}function r(t){if(0!=(t=t.filter((function(t){var n=function(t){if(!t)return null;return window.getComputedStyle?getComputedStyle(t):t.currentStyle||null}(t)["white-space"];return"pre-wrap"===n||"pre-line"===n}))).length){var e=t.map((function(t){var e=t.querySelector("code"),i=t.querySelector(".line-numbers-rows");if(e&&i){var r=t.querySelector(".line-numbers-sizer"),o=e.textContent.split(n);r||((r=document.createElement("span")).className="line-numbers-sizer",e.appendChild(r)),r.innerHTML="0",r.style.display="block";var s=r.getBoundingClientRect().height;return r.innerHTML="",{element:t,lines:o,lineHeights:[],oneLinerHeight:s,sizer:r}}})).filter(Boolean);e.forEach((function(t){var n=t.sizer,e=t.lines,i=t.lineHeights,r=t.oneLinerHeight;i[e.length-1]=void 0,e.forEach((function(t,e){if(t&&t.length>1){var o=n.appendChild(document.createElement("span"));o.style.display="block",o.textContent=t}else i[e]=r}))})),e.forEach((function(t){for(var n=t.sizer,e=t.lineHeights,i=0,r=0;r<e.length;r++)void 0===e[r]&&(e[r]=n.children[i++].getBoundingClientRect().height)})),e.forEach((function(t){var n=t.sizer,e=t.element.querySelector(".line-numbers-rows");n.style.display="none",n.innerHTML="",t.lineHeights.forEach((function(t,n){e.children[n].style.height=t+"px"}))}))}}}()},449:function(t){"use strict";function n(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}function e(t,n){for(var e=0;e<n.length;e++){var i=n[e];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function i(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}var r={classNames:{active:"gl-active",base:"gl-star-rating",selected:"gl-selected"},clearable:!0,maxStars:10,prebuilt:!1,stars:null,tooltip:"Select a Rating"},o=function(t,n,e){t.classList[n?"add":"remove"](e)},s=function(t){var n=document.createElement("span");for(var e in t=t||{})n.setAttribute(e,t[e]);return n},a=function(t,n,e){var i=s(e);return t.parentNode.insertBefore(i,n?t.nextSibling:t),i},u=function t(){for(var n=arguments.length,e=new Array(n),i=0;i<n;i++)e[i]=arguments[i];var r={};return e.forEach((function(n){Object.keys(n||{}).forEach((function(i){if(void 0!==e[0][i]){var o=n[i];"Object"!==c(o)||"Object"!==c(r[i])?r[i]=o:r[i]=t(r[i],o)}}))})),r},c=function(t){return{}.toString.call(t).slice(8,-1)},l=function(){function t(e,i){var r,o;n(this,t),this.direction=window.getComputedStyle(e,null).getPropertyValue("direction"),this.el=e,this.events={change:this.onChange.bind(this),keydown:this.onKeyDown.bind(this),mousedown:this.onPointerDown.bind(this),mouseleave:this.onPointerLeave.bind(this),mousemove:this.onPointerMove.bind(this),reset:this.onReset.bind(this),touchend:this.onPointerDown.bind(this),touchmove:this.onPointerMove.bind(this)},this.indexActive=null,this.indexSelected=null,this.props=i,this.tick=null,this.ticking=!1,this.values=function(t){var n=[];return[].forEach.call(t.options,(function(t){var e=parseInt(t.value,10)||0;e>0&&n.push({index:t.index,text:t.text,value:e})})),n.sort((function(t,n){return t.value-n.value}))}(e),this.widgetEl=null,this.el.widget&&this.el.widget.destroy(),r=this.values.length,o=this.props.maxStars,/^\d+$/.test(r)&&1<=r&&r<=o?this.build():this.destroy()}return i(t,[{key:"build",value:function(){this.destroy(),this.buildWidget(),this.selectValue(this.indexSelected=this.selected(),!1),this.handleEvents("add"),this.el.widget=this}},{key:"buildWidget",value:function(){var t,n,e=this;this.props.prebuilt?(t=this.el.parentNode,n=t.querySelector("."+this.props.classNames.base+"--stars")):((t=a(this.el,!1,{class:this.props.classNames.base})).appendChild(this.el),n=a(this.el,!0,{class:this.props.classNames.base+"--stars"}),this.values.forEach((function(t,i){var r=s({"data-index":i,"data-value":t.value});"function"==typeof e.props.stars&&e.props.stars.call(e,r,t,i),[].forEach.call(r.children,(function(t){return t.style.pointerEvents="none"})),n.innerHTML+=r.outerHTML}))),t.dataset.starRating="",t.classList.add(this.props.classNames.base+"--"+this.direction),this.props.tooltip&&n.setAttribute("role","tooltip"),this.widgetEl=n}},{key:"changeIndexTo",value:function(t,n){var e=this;if(this.indexActive!==t||n){if([].forEach.call(this.widgetEl.children,(function(n,i){o(n,i<=t,e.props.classNames.active),o(n,i===e.indexSelected,e.props.classNames.selected)})),this.widgetEl.setAttribute("data-rating",t+1),"function"==typeof this.props.stars||this.props.prebuilt||(this.widgetEl.classList.remove("s"+10*(this.indexActive+1)),this.widgetEl.classList.add("s"+10*(t+1))),this.props.tooltip){var i=t<0?this.props.tooltip:this.values[t].text;this.widgetEl.setAttribute("aria-label",i)}this.indexActive=t}this.ticking=!1}},{key:"destroy",value:function(){this.indexActive=null,this.indexSelected=this.selected();var t=this.el.parentNode;t.classList.contains(this.props.classNames.base)&&(this.props.prebuilt?(this.widgetEl=t.querySelector("."+this.props.classNames.base+"--stars"),t.classList.remove(this.props.classNames.base+"--"+this.direction),delete t.dataset.starRating):t.parentNode.replaceChild(this.el,t),this.handleEvents("remove")),delete this.el.widget}},{key:"eventListener",value:function(t,n,e,i){var r=this;e.forEach((function(e){return t[n+"EventListener"](e,r.events[e],i||!1)}))}},{key:"handleEvents",value:function(t){var n=this.el.closest("form");n&&"FORM"===n.tagName&&this.eventListener(n,t,["reset"]),this.eventListener(this.el,t,["change"]),"add"===t&&this.el.disabled||(this.eventListener(this.el,t,["keydown"]),this.eventListener(this.widgetEl,t,["mousedown","mouseleave","mousemove","touchend","touchmove"],!1))}},{key:"indexFromEvent",value:function(t){var n,e,i=(null===(n=t.touches)||void 0===n?void 0:n[0])||(null===(e=t.changedTouches)||void 0===e?void 0:e[0])||t,r=document.elementFromPoint(i.clientX,i.clientY);return[].slice.call(r.parentNode.children).indexOf(r)}},{key:"onChange",value:function(){this.changeIndexTo(this.selected(),!0)}},{key:"onKeyDown",value:function(t){var n=t.key.slice(5);if(~["Left","Right"].indexOf(n)){var e="Left"===n?-1:1;"rtl"===this.direction&&(e*=-1);var i=this.values.length-1,r=Math.min(Math.max(this.selected()+e,-1),i);this.selectValue(r,!0)}}},{key:"onPointerDown",value:function(t){t.preventDefault();var n=this.indexFromEvent(t);this.props.clearable&&n===this.indexSelected&&(n=-1),this.selectValue(n,!0)}},{key:"onPointerLeave",value:function(t){var n=this;t.preventDefault(),cancelAnimationFrame(this.tick),requestAnimationFrame((function(){return n.changeIndexTo(n.indexSelected)}))}},{key:"onPointerMove",value:function(t){var n=this;t.preventDefault(),this.ticking||(this.tick=requestAnimationFrame((function(){return n.changeIndexTo(n.indexFromEvent(t))})),this.ticking=!0)}},{key:"onReset",value:function(){var t,n=this.valueIndex(null===(t=this.el.querySelector("[selected]"))||void 0===t?void 0:t.value);this.selectValue(n||-1,!1)}},{key:"selected",value:function(){return this.valueIndex(this.el.value)}},{key:"selectValue",value:function(t,n){var e;this.el.value=(null===(e=this.values[t])||void 0===e?void 0:e.value)||"",this.indexSelected=this.selected(),!1===n?this.changeIndexTo(this.selected(),!0):this.el.dispatchEvent(new Event("change"))}},{key:"valueIndex",value:function(t){return this.values.findIndex((function(n){return n.value===+t}))}}]),t}(),f=function(){function t(e,i){n(this,t),this.destroy=this.destroy.bind(this),this.rebuild=this.rebuild.bind(this),this.widgets=[],this.buildWidgets(e,i)}return i(t,[{key:"buildWidgets",value:function(t,n){var e=this;this.queryElements(t).forEach((function(t){var i=u(r,n,JSON.parse(t.getAttribute("data-options")));"SELECT"!==t.tagName||t.widget||(!i.prebuilt&&t.parentNode.classList.contains(i.classNames.base)&&e.unwrap(t),e.widgets.push(new l(t,i)))}))}},{key:"destroy",value:function(){this.widgets.forEach((function(t){return t.destroy()}))}},{key:"queryElements",value:function(t){return"HTMLSelectElement"===c(t)?[t]:"NodeList"===c(t)?[].slice.call(t):"String"===c(t)?[].slice.call(document.querySelectorAll(t)):[]}},{key:"rebuild",value:function(){this.widgets.forEach((function(t){return t.build()}))}},{key:"unwrap",value:function(t){var n=t.parentNode,e=n.parentNode;e.insertBefore(t,n),e.removeChild(n)}}]),t}();t.exports=f}},n={};function e(i){var r=n[i];if(void 0!==r)return r.exports;var o=n[i]={exports:{}};return t[i](o,o.exports,e),o.exports}e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,{a:n}),n},e.d=function(t,n){for(var i in n)e.o(n,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:n[i]})},e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},function(){"use strict";var t=function(t){return this.data={},this.form=jQuery(t),this.pushes={},this.init()};t.prototype={patterns:{validate:/^[a-z_-][a-z0-9_-]*(?:\[(?:\d*|[a-z0-9_-]+)\])*$/i,key:/[a-z0-9_-]+|(?=\[\])/gi,named:/^[a-z0-9_-]+$/i,push:/^$/,fixed:/^\d+$/},addPair:function(t){this.patterns.validate.test(t.name)&&(this.data=jQuery.extend(!0,this.data,this.makeObject(t.name,this.encode(t))))},build:function(t,n,e){return t[n]=e,t},encode:function(t){return"checkbox"===jQuery('[name="'+t.name+'"]',this.form).attr("type")&&"on"===t.value||t.value},incrementPush:function(t){return void 0===this.pushes[t]&&(this.pushes[t]=0),this.pushes[t]++},init:function(){var t=this.form.serializeArray();if(jQuery.isArray(t))for(var n=0,e=t.length;n<e;n++)this.addPair(t[n]);return this.data},makeObject:function(t,n){for(var e,i=t.match(this.patterns.key);void 0!==(e=i.pop());)if(this.patterns.push.test(e)){var r=this.incrementPush(t.replace(/\[\]$/,""));n=this.build([],r,n)}else this.patterns.fixed.test(e)?n=this.build([],e,n):this.patterns.named.test(e)&&(n=this.build({},e,n));return n}};var n=t,i=function(t,n,e){this.event=n||null,this.form=e||null,this.notice=null,this.request=t||{}};i.prototype={post:function(t){this.event?this.t(t):this.i(t)},u:function(t){var e={action:GLSR.action,_ajax_request:!0};if(this.form){var i=new n(this.form);i[GLSR.nameprefix]&&(this.request=i[GLSR.nameprefix])}return this.l(t),e[GLSR.nameprefix]=this.request,e},l:function(t){this.request._nonce||(GLSR.nonce[this.request._action]?this.request._nonce=GLSR.nonce[this.request._action]:t&&(this.request._nonce=t.closest("form").find("#_wpnonce").val()))},i:function(t,n){jQuery.post(GLSR.ajaxurl,this.u(n)).done((function(e){"function"==typeof t&&t(e.data,e.success),n&&n.prop("disabled",!1)})).always((function(t){t.data?t.data.notices&&GLSR.notices.add(t.data.notices):GLSR.notices.add('<div class="notice notice-error inline is-dismissible"><p>Unknown error.</p></div>')}))},t:function(t){this.event.preventDefault();var n=jQuery(this.event.currentTarget);n.is(":disabled")||(n.prop("disabled",!0),this.i(t,n))}};var r,o,s=i,a="function"==typeof Map?new Map:(r=[],o=[],{has:function(t){return r.indexOf(t)>-1},get:function(t){return o[r.indexOf(t)]},set:function(t,n){-1===r.indexOf(t)&&(r.push(t),o.push(n))},delete:function(t){var n=r.indexOf(t);n>-1&&(r.splice(n,1),o.splice(n,1))}}),u=function(t){return new Event(t,{bubbles:!0})};try{new Event("test")}catch(r){u=function(t){var n=document.createEvent("Event");return n.initEvent(t,!0,!1),n}}function c(t){var n=a.get(t);n&&n.destroy()}function l(t){var n=a.get(t);n&&n.update()}var f=null;"undefined"==typeof window||"function"!=typeof window.getComputedStyle?((f=function(t){return t}).destroy=function(t){return t},f.update=function(t){return t}):((f=function(t,n){return t&&Array.prototype.forEach.call(t.length?t:[t],(function(t){return function(t){if(t&&t.nodeName&&"TEXTAREA"===t.nodeName&&!a.has(t)){var n,e=null,i=null,r=null,o=function(){t.clientWidth!==i&&f()},s=function(n){window.removeEventListener("resize",o,!1),t.removeEventListener("input",f,!1),t.removeEventListener("keyup",f,!1),t.removeEventListener("autosize:destroy",s,!1),t.removeEventListener("autosize:update",f,!1),Object.keys(n).forEach((function(e){t.style[e]=n[e]})),a.delete(t)}.bind(t,{height:t.style.height,resize:t.style.resize,overflowY:t.style.overflowY,overflowX:t.style.overflowX,wordWrap:t.style.wordWrap});t.addEventListener("autosize:destroy",s,!1),"onpropertychange"in t&&"oninput"in t&&t.addEventListener("keyup",f,!1),window.addEventListener("resize",o,!1),t.addEventListener("input",f,!1),t.addEventListener("autosize:update",f,!1),t.style.overflowX="hidden",t.style.wordWrap="break-word",a.set(t,{destroy:s,update:f}),"vertical"===(n=window.getComputedStyle(t,null)).resize?t.style.resize="none":"both"===n.resize&&(t.style.resize="horizontal"),e="content-box"===n.boxSizing?-(parseFloat(n.paddingTop)+parseFloat(n.paddingBottom)):parseFloat(n.borderTopWidth)+parseFloat(n.borderBottomWidth),isNaN(e)&&(e=0),f()}function c(n){var e=t.style.width;t.style.width="0px",t.style.width=e,t.style.overflowY=n}function l(){if(0!==t.scrollHeight){var n=function(t){for(var n=[];t&&t.parentNode&&t.parentNode instanceof Element;)t.parentNode.scrollTop&&n.push({node:t.parentNode,scrollTop:t.parentNode.scrollTop}),t=t.parentNode;return n}(t),r=document.documentElement&&document.documentElement.scrollTop;t.style.height="",t.style.height=t.scrollHeight+e+"px",i=t.clientWidth,n.forEach((function(t){t.node.scrollTop=t.scrollTop})),r&&(document.documentElement.scrollTop=r)}}function f(){l();var n=Math.round(parseFloat(t.style.height)),e=window.getComputedStyle(t,null),i="content-box"===e.boxSizing?Math.round(parseFloat(e.height)):t.offsetHeight;if(i<n?"hidden"===e.overflowY&&(c("scroll"),l(),i="content-box"===e.boxSizing?Math.round(parseFloat(window.getComputedStyle(t,null).height)):t.offsetHeight):"hidden"!==e.overflowY&&(c("hidden"),l(),i="content-box"===e.boxSizing?Math.round(parseFloat(window.getComputedStyle(t,null).height)):t.offsetHeight),r!==i){r=i;var o=u("autosize:resized");try{t.dispatchEvent(o)}catch(t){}}}}(t)})),t}).destroy=function(t){return t&&Array.prototype.forEach.call(t.length?t:[t],c),t},f.update=function(t){return t&&Array.prototype.forEach.call(t.length?t:[t],l),t});var d=f;function h(t){return h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},h(t)}var p=function(){"object"===h(jQuery.wp)&&"function"==typeof jQuery.wp.wpColorPicker&&jQuery(document).find("input[type=text].color-picker-hex").each((function(){var t=jQuery(this),n=jQuery.extend({},t.data("colorpicker")||{},{change:function(t,n){jQuery(t.target).val(n.color.toString()).trigger("change")},mode:"hsl",palettes:!1,width:180});t.wpColorPicker(n)}))},v={},m=function(t,n){var e=v[t]||[],i=[];n&&[].forEach.call(e,(function(t){n!==t.fn&&n!==t.fn.once&&i.push(t)})),i.length?v[t]=i:delete v[t]},b=function(t,n,e){(v[t]||(v[t]=[])).push({fn:n,context:e})},y={events:v,trigger:function(t){var n=[].slice.call(arguments,1),e=(v[t]||[]).slice();[].forEach.call(e,(function(t){return t.fn.apply(t.context,n)}))},off:m,on:b,once:function(t,n,e){var i=arguments,r=function r(){m(t,r),n.apply(e,i)};r.once=n,b(t,r,e)}},g=function(){this.request=null,jQuery(".enable-filter-tog","#adv-settings").on("click",this.h.bind(this))};g.prototype={p:function(){return jQuery(".enable-filter-tog:checked").map((function(t,n){return n.value})).get()},h:function(t){var n=jQuery(t.currentTarget),e=n.prop("checked")?"removeClass":"addClass";jQuery("#glsr-filter-by-"+n.val())[e]("hidden"),this.v()},v:_.debounce((function(){this.request&&this.request.abort();var t={_ajax_request:!0};t[GLSR.nameprefix]={_action:"toggle-filters",_nonce:GLSR.nonce["toggle-filters"],enabled:this.p()},this.request=wp.ajax.post(GLSR.action,t),this.request.always(function(){this.request=null}.bind(this))}),500)};var w=g,k=function(t){this.el=document.querySelector(t),this.el&&(this.depends=this.el.querySelectorAll("[data-depends]"),this.depends.length&&this.m())};k.prototype={k:function(t){var n=t.getAttribute("data-depends");if(n)try{return JSON.parse(n)}catch(t){return console.error(t)}},m:function(){for(var t=this.el.elements,n=0;n<t.length;n++)~["INPUT","SELECT"].indexOf(t[n].nodeName)&&t[n].addEventListener("change",this._.bind(this))},j:function(t,n){var e=!1;n=[].concat(n);var i=this.el.querySelectorAll('[name="'+t+'"]');return[].map.call(i,function(t){var i=~this.S(n).indexOf(this.F(t.value));~["checkbox","radio"].indexOf(t.type)?t.checked&&i&&(e=!0):i&&(e=!0)}.bind(this)),e},F:function(t){return!!~["true","on","yes","1"].indexOf(t)||!~["false","off","no","0"].indexOf(t)&&t},S:function(t){return t.map(this.F)},_:function(t){this.depends.forEach(function(n){var e=this.k(n);if(e&&~e.map((function(t){return t.name})).indexOf(t.currentTarget.name)){var i=!0;e.forEach(function(t){this.j(t.name,t.value)||(i=!1)}.bind(this)),this.O(n,i)}}.bind(this))},O:function(t,n){var e=t.closest(".glsr-setting-field");e&&e.classList[n?"remove":"add"]("hidden")}};var j=k,x=function(){jQuery(".glsr-metabox-field input[data-edit-review]").on("change",this.R.bind(this)),jQuery(".glsr-metabox-field input[type=url]").on("change",this.A.bind(this))};x.prototype={A:function(t){var n=jQuery(t.currentTarget);this.P(n.parent().find("img"),n.val())},R:function(t){var n=t.currentTarget.checked;jQuery(".glsr-input-value").each(function(t,e){if(n)jQuery(e).data("value",e.value);else{if(e.value=jQuery(e).data("value"),"url"!==e.type)return;this.P(jQuery(e).parent().find("img"),e.value)}}.bind(this)),jQuery(".glsr-input-value").prop("disabled",!n),GLSR.stars.rebuild()},P:function(t,n){if(t){var e=new Image;e.src=n,e.onerror=function(){t.attr("src",t.data("fallback"))},e.onload=function(){t.attr("src",e.src)}}}};var S=x,Q=function(){this.m()};Q.prototype={add:function(t){t&&(jQuery("#glsr-notices").length||(jQuery("#message.notice").remove(),jQuery("hr.wp-header-end").after('<div id="glsr-notices" />')),jQuery("#glsr-notices").html(t),jQuery(document).trigger("wp-updates-notice-added"))},m:function(){jQuery(".glsr-notice[data-dismiss]").on("click.wp-dismiss-notice",this.h.bind(this))},h:function(t){var n={};n[GLSR.nameprefix]={_action:"dismiss-notice",notice:jQuery(t.currentTarget).data("dismiss")},wp.ajax.post(GLSR.action,n)}};var F=Q,O=function(){this.el=jQuery("#pinned-status-select"),this.el&&(this.cancel=jQuery("a.cancel-pinned-status"),this.cancel.on("click",this.L.bind(this)),this.edit=jQuery("a.edit-pinned-status"),this.edit.on("click",this.$.bind(this)),this.save=jQuery("a.save-pinned-status"),this.save.on("click",this.C.bind(this))),jQuery("td.column-is_pinned i.pin-review").on("click",this.T.bind(this))};O.prototype={G:function(){this.el.slideUp("fast"),this.edit.show().focus()},L:function(t){t.preventDefault(),this.G(),this.el.find("select").val("0"===jQuery("#hidden-pinned-status").val()?1:0)},$:function(t){t.preventDefault(),this.el.is(":hidden")&&(this.el.slideDown("fast",function(){this.el.find("select").focus()}.bind(this)),this.edit.hide())},C:function(t){t.preventDefault(),this.G(),this.target=t.currentTarget;var n={_action:"toggle-pinned",id:jQuery("#post_ID").val(),pinned:jQuery("#pinned-status").val()};new s(n).post(this.q.bind(this))},T:function(t){t.preventDefault(),this.target=t.currentTarget;var n={_action:"toggle-pinned",id:t.currentTarget.getAttribute("data-id"),pinned:-1};jQuery(this.target).addClass("spinner is-active").removeClass("dashicons-sticky"),new s(n).post(this.M.bind(this))},q:function(t){jQuery("#pinned-status").val(0|!t.pinned),jQuery("#hidden-pinned-status").val(0|t.pinned),jQuery("#pinned-status-text").text(t.pinned?this.target.dataset.yes:this.target.dataset.no),GLSR.notices.add(t.notices)},M:function(t){this.target.classList[t.pinned?"add":"remove"]("pinned"),jQuery(this.target).removeClass("spinner is-active").addClass("dashicons-sticky")}};var R=O,A=function(){jQuery.each(GLSR.pointers,function(t,n){this.m(n)}.bind(this))};A.prototype={D:function(t){jQuery.post(GLSR.ajaxurl,{action:"dismiss-wp-pointer",pointer:t})},m:function(t){jQuery(t.target).pointer({content:t.options.content,position:t.options.position,close:this.D.bind(null,t.id)}).pointer("open").pointer("sendToTop"),jQuery(document).on("wp-window-resized",(function(){jQuery(t.target).pointer("reposition")}))}};var z=A,P=e(325),L=e.n(P),$=(e(433),e(335),e(980),e(854),e(945),e(251),e(759),function(t,n){this.el=jQuery(t),this.options=n,this.searchTerm=null,this.m()});$.prototype={defaults:{action:null,exclude:[],onInit:null,onResultClick:null,results:{},selected:-1,selectedClass:"glsr-selected-result",selectorEntries:".glsr-strings-table tbody",selectorResults:".glsr-search-results",selectorSearch:".glsr-search-input"},m:function(){this.options=jQuery.extend({},this.defaults,this.options),this.el.length&&(this.options.entriesEl=this.el.parent().find(this.options.selectorEntries),this.options.resultsEl=this.el.find(this.options.selectorResults),this.options.searchEl=this.el.find(this.options.selectorSearch),this.options.searchEl.attr("aria-describedby","live-search-desc"),"function"==typeof this.options.onInit&&this.options.onInit.call(this),this.I())},I:function(){this.options.searchEl.on("input",_.debounce(this.B.bind(this),500)),this.options.searchEl.on("keyup",this.U.bind(this)),this.options.searchEl.on("keydown keypress",(function(t){GLSR.keys.ENTER===t.which&&t.preventDefault()})),jQuery(document).on("click",this.W.bind(this)),jQuery(document).on("keydown",this.H.bind(this))},N:function(){void 0!==this.searchRequest&&this.searchRequest.abort()},V:function(){this.N(),this.options.resultsEl.empty(),this.options.resultsEl.removeClass("is-active"),this.el.removeClass("is-active"),jQuery("body").removeClass("glsr-focus")},Z:function(t){var n=this.options.entriesEl.children("tr").eq(t),e=this;n.find("td").css({backgroundColor:"#faafaa"}),n.fadeOut(350,(function(){jQuery(this).remove(),e.options.results={},e.K(),e.X()}))},Y:function(t){jQuery("body").addClass("glsr-focus"),this.options.resultsEl.append(t),this.options.resultsEl.children("span").on("click",this.J.bind(this))},tt:function(){this.options.entriesEl.on("click","a.delete",this.nt.bind(this)),this.options.entriesEl.sortable({items:"tr",tolerance:"pointer",start:function(t,n){n.placeholder.height(n.helper[0].scrollHeight)},sort:function(t,n){var e=t.pageY-jQuery(this).offsetParent().offset().top-n.helper.outerHeight(!0)/2;n.helper.css({top:e+"px"})}})},et:function(t){this.options.selected+=t,this.options.results.removeClass(this.options.selectedClass),this.options.selected<0&&(this.options.selected=-1,this.options.searchEl.focus()),this.options.selected>=this.options.results.length&&(this.options.selected=this.options.results.length-1),this.options.selected>=0&&this.options.results.eq(this.options.selected).addClass(this.options.selectedClass).focus()},W:function(t){jQuery(t.target).find(this.el).length&&jQuery("body").hasClass("glsr-focus")&&this.V()},H:function(t){if(!jQuery.isEmptyObject(this.options.results)){if(GLSR.keys.ESC===t.which&&this.V(),GLSR.keys.ENTER===t.which||GLSR.keys.SPACE===t.which){var n=this.options.resultsEl.find("."+this.options.selectedClass);n&&n.trigger("click")}GLSR.keys.UP===t.which&&(t.preventDefault(),this.et(-1)),GLSR.keys.DOWN===t.which&&(t.preventDefault(),this.et(1))}},nt:function(t){t.preventDefault(),this.Z(jQuery(t.currentTarget).closest("tr").index())},J:function(t){t.preventDefault(),"function"==typeof this.options.onResultClick&&this.options.onResultClick.call(this,t),this.V()},B:function(t){if(this.N(),this.searchTerm===t.currentTarget.value&&this.options.results.length)return this.Y(this.options.results);if(this.options.resultsEl.empty(),this.options.selected=-1,this.searchTerm=t.currentTarget.value,""===this.searchTerm)return this.it();this.el.addClass("is-active");var n={};n[GLSR.nameprefix]={_action:this.options.action,_nonce:GLSR.nonce[this.options.action],exclude:this.options.exclude,search:this.searchTerm},this.searchRequest=wp.ajax.post(GLSR.action,n).done(function(t){this.el.removeClass("is-active"),this.Y(t.items?t.items:t.empty),this.options.results=this.options.resultsEl.children(),this.options.resultsEl.addClass("is-active"),delete this.searchRequest}.bind(this))},U:function(t){GLSR.keys.ESC===t.which&&this.it(),GLSR.keys.ENTER===t.which&&(this.B(t),t.preventDefault())},rt:function(t){t.preventDefault();var n=jQuery(t.currentTarget).closest(".glsr-multibox-entry");n.find("a").css({color:"#c00"}),n.fadeOut("fast",(function(){n.remove()}))},K:function(){var t=this;this.options.exclude=[],this.options.entriesEl.children("tr").each((function(n){jQuery(this).find(".glsr-string-td2").children().filter(":input").each((function(){var e=jQuery(this),i=e.attr("name").replace(/\[\d+\]/i,"["+n+"]");e.attr("name",i),e.is("[data-id]")&&t.options.exclude.push({id:e.val()})}))}))},it:function(){this.V(),this.options.results={},this.options.searchEl.val("")},X:function(){var t=this.options.entriesEl.children().length>0?"remove":"add";this.options.entriesEl.parent()[t+"Class"]("glsr-hidden")}};var C=$,T=function(t){this.options=jQuery.extend({},this.defaults,t),this.tabs=document.querySelectorAll(this.options.tabSelector),this.tabs&&this.m()};T.prototype={defaults:{expandSelectors:".glsr-nav-view, .glsr-notice",tabSelector:".glsr-nav-tab"},m:function(){var t=this;[].forEach.call(t.tabs,function(n,e){n.addEventListener("click",t.h.bind(t)),n.addEventListener("touchend",t.h.bind(t))}.bind(t)),jQuery(t.options.expandSelectors).on("click","a",(function(){var n=this.dataset.expand;localStorage.setItem("glsr-expand",n),t.ot(jQuery(n))})),jQuery(window).on("load",(function(){t.ot(jQuery(localStorage.getItem("glsr-expand")))}))},h:function(t){t.preventDefault(),this.st(t.currentTarget)},ot:function(t){if(t.length){var n=t.closest(".glsr-nav-view"),e=t.closest(".glsr-card");n.removeClass("collapsed"),this.ut(n),n.removeClass("collapsed"),e.removeClass("closed").find(".glsr-accordion-trigger").attr("aria-expanded",!0),window.setTimeout((function(){localStorage.removeItem("glsr-expand"),jQuery("#glsr-notices .notice").length||e[0].scrollIntoView({behavior:"smooth",block:e.outerHeight()>=window.innerHeight?"start":"center"})}),10)}},ut:function(t){var n=t.hasClass("collapsed")?"remove":"add";t[n+"Class"]("collapsed").find(".glsr-card.postbox")[n+"Class"]("closed").find(".glsr-accordion-trigger").attr("aria-expanded","add"!==n)},st:function(t){if(t.classList.contains("nav-tab-active")){var n=jQuery("#"+t.dataset.id);this.ut(n)}}};var E=T,G=function(t){this.current=null,this.editor=null,this.create=function(t){if(this.editor=tinymce.get(t),this.editor){var n={_action:"mce-shortcode",shortcode:this.current};new s(n).post(this.ct.bind(this))}};var n=document.querySelectorAll(t);n.length&&n.forEach(function(t){var n=t.querySelector("button"),e=t.querySelectorAll(".mce-menu-item");n&&e.length&&this.m(t,n,e)}.bind(this))};G.prototype={lt:{},ft:[],m:function(t,n,e){document.addEventListener("click",this.dt.bind(this,t,n)),n.addEventListener("click",this.ht.bind(this,t,n)),e.forEach(function(e){e.addEventListener("click",this.vt.bind(this,t,n))}.bind(this))},bt:function(){tinymce.execCommand("GLSR_Shortcode")},yt:function(){jQuery("#scTemp").length?this.bt():(jQuery("body").append('<textarea id="scTemp" style="display:none!important;"/>'),tinymce.init({elements:"scTemp",external_plugins:GLSR.tinymce,mode:"exact",plugins:["glsr_shortcode","wplink"]}),setTimeout(function(){this.bt()}.bind(this),200))},D:function(t,n){jQuery(n).removeClass("active"),jQuery(t).find(".glsr-mce-menu").hide()},gt:function(){var t=jQuery("#scTemp");t.length&&(tinymce.get("scTemp").remove(),t.remove()),this.lt={},this.ft=[]},ct:function(t){if(t){if(0===t.body.length)return window.send_to_editor("["+t.shortcode+"]"),void this.gt();var n=this.wt(t);t.ok.constructor===Array&&(n.buttons[0].text=t.ok[0],n.buttons[0].onclick="close",delete n.buttons[1]),this.editor.windowManager.open(n)}},kt:function(t){for(var n in this.lt=t,this.ft=[],t)t.hasOwnProperty(n)&&(this._t(n),this.jt(n),this.xt(n));this.lt.hide=this.ft.join(",")},_t:function(t){"display"!==t||jQuery.isNumeric(this.lt[t])||(this.lt[t]="")},jt:function(t){if(GLSR.hideoptions.hasOwnProperty(this.current)){var n=t.substring("hide_".length);-1!==Object.keys(GLSR.hideoptions[this.current]).indexOf(n)&&(this.lt[t]&&this.ft.push(n),delete this.lt[t])}},xt:function(t){"id"===t&&(this.lt[t]=(+new Date).toString(36))},dt:function(t,n,e){jQuery(e.target).closest(jQuery(t)).length||this.D(t,n)},ht:function(t,n,e){e.preventDefault(),e.currentTarget.classList.contains("active")?this.D(t,n):this.St(t,n)},vt:function(t,n,e){e.preventDefault(),this.current=e.currentTarget.dataset.shortcode,this.current&&(tinymce.get(window.wpActiveEditor)?this.bt():this.yt(),setTimeout(function(){this.D(t,n)}.bind(this),100))},St:function(t,n){jQuery(n).addClass("active"),jQuery(t).find(".glsr-mce-menu").show()},Qt:function(t){return[{classes:"btn glsr-btn primary",onclick:this.Ft.bind(this),text:t.ok},{onclick:"close",text:t.close}]},wt:function(t){return{title:t.title,body:t.body,classes:"glsr-mce-popup",minWidth:320,buttons:this.Qt(t),onsubmit:this.Ot.bind(this,t),onclose:this.gt.bind(this)}},Ot:function(t,n){var e="";for(var i in this.kt(n.data),this.lt)this.lt.hasOwnProperty(i)&&""!==this.lt[i]&&(e+=" "+i+'="'+this.lt[i]+'"');window.send_to_editor("["+t.shortcode+e+"]")},Ft:function(){var t=this.editor.windowManager.getWindows()[0];this.Rt(t)&&t.submit()},Rt:function(t){var n,e=!0,i=GLSR.shortcodes[this.current];for(var r in i)if(i.hasOwnProperty(r)&&void 0!==(n=t.find("#"+r)[0])&&""===n.state.data.value){e=!1,alert(i[r]);break}return e}};var q=G,M=e(449),D=e.n(M),I=function(t){var n=document.querySelectorAll(t);n.length&&n.forEach(function(t){t.addEventListener("click",this.h)}.bind(this))};I.prototype={h:function(t){var n=t.currentTarget.href.match(/post=([0-9]+)/),e=t.currentTarget.href.match(/action=([a-z]+)/);if(null!==n&&null!==e){var i={_action:"toggle-status",_nonce:GLSR.nonce["toggle-status"],post_id:n[1],status:e[1]};jQuery(t.target).closest("tr").find(".locked-indicator").addClass("spinner is-active"),new s(i,t).post((function(n){if(n.class){var e=jQuery(t.target);e.closest("tr").find(".locked-indicator").removeClass("spinner is-active"),e.closest("tr").removeClass("status-pending status-publish").addClass(n.class),e.closest("td.column-title").find("strong").html(n.link),n.counts&&(e.closest(".wrap").find("ul.subsubsub").html(n.counts),jQuery("#menu-posts-site-review").find(".awaiting-mod").removeClass().addClass("awaiting-mod count-"+n.pending).find(".unapproved-count").html(n.pending))}}))}}};var B=I,U=function(){this.button=jQuery("button#sync-reviews"),this.progressbar=jQuery(".glsr-progress"),this.service=null,jQuery("form.glsr-form-sync").on("click","#sync-reviews",this.At.bind(this)),jQuery(document).on("wp-window-resized",this.zt),jQuery(window).on("hashchange",this.zt),this.zt()};U.prototype={Pt:function(t){jQuery(".service-"+this.service+" td.column-last_sync").text(t.last_sync),jQuery(".service-"+this.service+" td.column-total_fetched a").text(t.total),this.Lt(!1)},At:function(t){t.preventDefault(),this.service=jQuery('[name="'+GLSR.nameprefix+'[service]"]').val(),this.service&&(this.Lt(!0),this.$t())},zt:function(){var t=jQuery(".glsr-progress").width();t&&jQuery(".glsr-progress span").width(t)},$t:function(){var t={_action:"sync-reviews",service:this.service,stage:"fetch"};new s(t).post(this.Ct.bind(this))},Ct:function(t){var n={_action:"sync-reviews",job_id:t.job_id,service:this.service,stage:"progress"},e=t.finished?this.Tt.bind(this,t):this.Ct.bind(this);this.Et(t.message),this.Gt(t.percent),setTimeout((function(){new s(n).post(e)}),1500)},Tt:function(t){var n=0;try{n=t.meta.pagination.current_page}catch(t){}var e={_action:"sync-reviews",page:n+1,service:this.service,stage:"reviews"};this.Et(t.message),t.percent_synced&&t.percent_synced>=100?this.Pt(t):new s(e).post(this.Tt.bind(this))},Et:function(t){jQuery(".glsr-progress-status",this.progressbar).text(t)},Gt:function(t){t=(t||0)+"%",jQuery(".glsr-progress-bar",this.progressbar).outerWidth(t)},Lt:function(t){if(!0===t&&(this.Et(this.progressbar.data("active-text")),this.Gt(),this.button.prop("disabled",!0),window.requestAnimationFrame(function(){this.progressbar.addClass("active")}.bind(this))),!1===t)return this.service=null,this.button.prop("disabled",!1),void this.progressbar.removeClass("active");window.requestAnimationFrame(this.Lt.bind(this))}};var W=U,H=function(t){this.options=jQuery.extend({},this.defaults,t),this.active=document.querySelector("input[name=_active_tab]"),this.refererInputs=jQuery("input[name=_wp_http_referer]"),this.sections=document.querySelectorAll(this.options.viewSectionSelector),this.subsubsub=document.querySelectorAll(this.options.viewSubsubsub),this.tabs=document.querySelectorAll(this.options.tabSelector),this.views=document.querySelectorAll(this.options.viewSelector),this.active&&this.refererInputs.length&&this.tabs&&this.views&&this.m()};H.prototype={defaults:{smartLinks:".glsr-card a, #glsr-notices a",tabSelector:".glsr-nav-tab",viewSelector:".glsr-nav-view",viewSectionSelector:".glsr-nav-view-section",viewSubsubsub:".glsr-subsubsub a"},m:function(){var t=this;jQuery(this.options.tabSelector).each((function(n,e){var i=e.getAttribute("href"),r=t.qt(e,"tab"),o=t.Mt("tab");null===o&&0===n&&(o=r,history.replaceState({href:i,tab:r},"",i),t.refererInputs.val(i)),o===r&&t.Dt(r)})),jQuery(window).on("popstate",this.It.bind(this)),jQuery(this.options.smartLinks).on("click",this.Bt.bind(this)),jQuery(this.options.tabSelector+","+this.options.viewSubsubsub).on("click",this.h.bind(this))},h:function(t){var n=t.currentTarget,e=n.getAttribute("href"),i=this.qt(n,"tab");i&&(history.pushState({href:e,tab:i},"",e),this.refererInputs.val(e),this.Dt(i),t.preventDefault(),n.blur())},Bt:function(t){var n=t.currentTarget,e=this.Mt("page"),i=this.Mt("postType"),r=this.Mt("tab"),o=this.qt(n,"page"),s=this.qt(n,"postType"),a=this.qt(n,"tab");if(o===e&&s===i&&a){var u=n.getAttribute("href");history.pushState({href:u,tab:a},"",u),this.refererInputs.val(u),this.Dt(a),a!==r&&window.scrollTo(0,0),t.preventDefault()}},It:function(t){var n=t.originalEvent.state;n&&n.tab&&n.href&&(this.refererInputs.val(n.href),this.Dt(n.tab))},Ut:function(t){return t?"add":"remove"},qt:function(t,n){return new URLSearchParams(t.getAttribute("href")).get(n)},Mt:function(t){return new URLSearchParams(location.search).get(t)},Dt:function(t){for(var n=0;n<this.views.length;n++)if(t===this.views[n].id){this.Wt(this.tabs[n]);break}},Ht:function(){var t=this,n=0;[].forEach.call(this.subsubsub,(function(e,i){e.classList.remove("current"),t.qt(e,"sub")===t.Mt("sub")&&(n=i)})),this.subsubsub[n]&&this.subsubsub[n].classList.add("current"),[].forEach.call(this.sections,(function(e,i){var r=t.Ut(i!==n);e.classList[r]("ui-tabs-hide")}))},Wt:function(t){var n=this;[].forEach.call(this.tabs,(function(e,i){var r=n.Ut(e===t);"add"===r&&(n.active.value=n.views[i].id,n.Nt(i)),e.classList[r]("nav-tab-active")}))},Nt:function(t){var n=this;[].forEach.call(this.views,(function(e,i){var r=n.Ut(i!==t);e.classList[r]("ui-tabs-hide"),n.Ht()}))}};var N=H,V=function(){var t=document.querySelector("#contentdiv > textarea");t&&(this.Vt(t),jQuery(document).on("wp-window-resized.editor-expand",function(){this.Vt(t)}.bind(this)))};V.prototype={Vt:function(t){var n=t.scrollHeight>320?t.scrollHeight:320;t.style.height="auto",t.style.height=n+"px"}};var Z=V,K=function(){jQuery("form").on("click","#glsr-clear-console",this.Zt,this.h.bind(this)),jQuery("form").on("click","#glsr-fetch-console",this.Zt,this.h.bind(this)),jQuery("form").on("click","[data-ajax-click]",this.h.bind(this)),jQuery(".glsr-button").on("click",this.Kt);var t=jQuery("input[data-alt]");t.length&&(jQuery(document).on("keydown",this.Xt.bind(this,t)),jQuery(document).on("keyup",this.Yt.bind(this,t)))};K.prototype={Zt:function(t,n){n&&jQuery("#glsr-log-file").val(t.console)},h:function(t){var n=jQuery(t.currentTarget),e=this;n.addClass("is-busy"),new s({},t,n.closest("form")).post((function(i,r){"function"==typeof t.data&&t.data(i,r),n.get(0).hasAttribute("data-ajax-scroll")&&jQuery("html, body").animate({scrollTop:0},500),n.removeClass("is-busy"),n.closest("[data-ajax-hide]").css({backgroundColor:"rgba(74,184,102,.25)"}).fadeOut("normal",(function(){jQuery(this).remove()})),jQuery("#glsr-notices").on("click","a",e.Kt),jQuery('.glsr-notice[data-notice="'+n.data("remove-notice")+'"]').remove()}))},Xt:function(t,n){GLSR.keys.ALT!==n.keyCode||n.repeat||(t.closest("form").find("[data-alt-text]").addClass("alt"),t.val(1))},Yt:function(t,n){GLSR.keys.ALT===n.keyCode&&(t.closest("form").find("[data-alt-text]").removeClass("alt"),t.val(0))},Kt:function(t){var n=jQuery(t.currentTarget).data("expand");n&&localStorage.setItem("glsr-expand",n)}};var X=K;function Y(t){if(null==t)return window;if("[object Window]"!==t.toString()){var n=t.ownerDocument;return n&&n.defaultView||window}return t}function J(t){return t instanceof Y(t).Element||t instanceof Element}function tt(t){return t instanceof Y(t).HTMLElement||t instanceof HTMLElement}function nt(t){return"undefined"!=typeof ShadowRoot&&(t instanceof Y(t).ShadowRoot||t instanceof ShadowRoot)}var et=Math.round;function it(t,n){void 0===n&&(n=!1);var e=t.getBoundingClientRect(),i=1,r=1;if(tt(t)&&n){var o=t.offsetHeight,s=t.offsetWidth;s>0&&(i=e.width/s||1),o>0&&(r=e.height/o||1)}return{width:et(e.width/i),height:et(e.height/r),top:et(e.top/r),right:et(e.right/i),bottom:et(e.bottom/r),left:et(e.left/i),x:et(e.left/i),y:et(e.top/r)}}function rt(t){var n=Y(t);return{scrollLeft:n.pageXOffset,scrollTop:n.pageYOffset}}function ot(t){return t?(t.nodeName||"").toLowerCase():null}function st(t){return((J(t)?t.ownerDocument:t.document)||window.document).documentElement}function at(t){return it(st(t)).left+rt(t).scrollLeft}function ut(t){return Y(t).getComputedStyle(t)}function ct(t){var n=ut(t),e=n.overflow,i=n.overflowX,r=n.overflowY;return/auto|scroll|overlay|hidden/.test(e+r+i)}function lt(t,n,e){void 0===e&&(e=!1);var i,r,o=tt(n),s=tt(n)&&function(t){var n=t.getBoundingClientRect(),e=n.width/t.offsetWidth||1,i=n.height/t.offsetHeight||1;return 1!==e||1!==i}(n),a=st(n),u=it(t,s),c={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(o||!o&&!e)&&(("body"!==ot(n)||ct(a))&&(c=(i=n)!==Y(i)&&tt(i)?{scrollLeft:(r=i).scrollLeft,scrollTop:r.scrollTop}:rt(i)),tt(n)?((l=it(n,!0)).x+=n.clientLeft,l.y+=n.clientTop):a&&(l.x=at(a))),{x:u.left+c.scrollLeft-l.x,y:u.top+c.scrollTop-l.y,width:u.width,height:u.height}}function ft(t){var n=it(t),e=t.offsetWidth,i=t.offsetHeight;return Math.abs(n.width-e)<=1&&(e=n.width),Math.abs(n.height-i)<=1&&(i=n.height),{x:t.offsetLeft,y:t.offsetTop,width:e,height:i}}function dt(t){return"html"===ot(t)?t:t.assignedSlot||t.parentNode||(nt(t)?t.host:null)||st(t)}function ht(t){return["html","body","#document"].indexOf(ot(t))>=0?t.ownerDocument.body:tt(t)&&ct(t)?t:ht(dt(t))}function pt(t,n){var e;void 0===n&&(n=[]);var i=ht(t),r=i===(null==(e=t.ownerDocument)?void 0:e.body),o=Y(i),s=r?[o].concat(o.visualViewport||[],ct(i)?i:[]):i,a=n.concat(s);return r?a:a.concat(pt(dt(s)))}function vt(t){return["table","td","th"].indexOf(ot(t))>=0}function mt(t){return tt(t)&&"fixed"!==ut(t).position?t.offsetParent:null}function bt(t){for(var n=Y(t),e=mt(t);e&&vt(e)&&"static"===ut(e).position;)e=mt(e);return e&&("html"===ot(e)||"body"===ot(e)&&"static"===ut(e).position)?n:e||function(t){var n=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&tt(t)&&"fixed"===ut(t).position)return null;for(var e=dt(t);tt(e)&&["html","body"].indexOf(ot(e))<0;){var i=ut(e);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||n&&"filter"===i.willChange||n&&i.filter&&"none"!==i.filter)return e;e=e.parentNode}return null}(t)||n}var yt="top",gt="bottom",wt="right",kt="left",_t="auto",jt=[yt,gt,wt,kt],xt="start",St="end",Qt="viewport",Ft="popper",Ot=jt.reduce((function(t,n){return t.concat([n+"-"+xt,n+"-"+St])}),[]),Rt=[].concat(jt,[_t]).reduce((function(t,n){return t.concat([n,n+"-"+xt,n+"-"+St])}),[]),At=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function zt(t){var n=new Map,e=new Set,i=[];function r(t){e.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!e.has(t)){var i=n.get(t);i&&r(i)}})),i.push(t)}return t.forEach((function(t){n.set(t.name,t)})),t.forEach((function(t){e.has(t.name)||r(t)})),i}var Pt={placement:"bottom",modifiers:[],strategy:"absolute"};function Lt(){for(var t=arguments.length,n=new Array(t),e=0;e<t;e++)n[e]=arguments[e];return!n.some((function(t){return!(t&&"function"==typeof t.getBoundingClientRect)}))}function $t(t){void 0===t&&(t={});var n=t,e=n.defaultModifiers,i=void 0===e?[]:e,r=n.defaultOptions,o=void 0===r?Pt:r;return function(t,n,e){void 0===e&&(e=o);var r,s,a={placement:"bottom",orderedModifiers:[],options:Object.assign({},Pt,o),modifiersData:{},elements:{reference:t,popper:n},attributes:{},styles:{}},u=[],c=!1,l={state:a,setOptions:function(e){var r="function"==typeof e?e(a.options):e;f(),a.options=Object.assign({},o,a.options,r),a.scrollParents={reference:J(t)?pt(t):t.contextElement?pt(t.contextElement):[],popper:pt(n)};var s=function(t){var n=zt(t);return At.reduce((function(t,e){return t.concat(n.filter((function(t){return t.phase===e})))}),[])}(function(t){var n=t.reduce((function(t,n){var e=t[n.name];return t[n.name]=e?Object.assign({},e,n,{options:Object.assign({},e.options,n.options),data:Object.assign({},e.data,n.data)}):n,t}),{});return Object.keys(n).map((function(t){return n[t]}))}([].concat(i,a.options.modifiers)));return a.orderedModifiers=s.filter((function(t){return t.enabled})),a.orderedModifiers.forEach((function(t){var n=t.name,e=t.options,i=void 0===e?{}:e,r=t.effect;if("function"==typeof r){var o=r({state:a,name:n,instance:l,options:i}),s=function(){};u.push(o||s)}})),l.update()},forceUpdate:function(){if(!c){var t=a.elements,n=t.reference,e=t.popper;if(Lt(n,e)){a.rects={reference:lt(n,bt(e),"fixed"===a.options.strategy),popper:ft(e)},a.reset=!1,a.placement=a.options.placement,a.orderedModifiers.forEach((function(t){return a.modifiersData[t.name]=Object.assign({},t.data)}));for(var i=0;i<a.orderedModifiers.length;i++)if(!0!==a.reset){var r=a.orderedModifiers[i],o=r.fn,s=r.options,u=void 0===s?{}:s,f=r.name;"function"==typeof o&&(a=o({state:a,options:u,name:f,instance:l})||a)}else a.reset=!1,i=-1}}},update:(r=function(){return new Promise((function(t){l.forceUpdate(),t(a)}))},function(){return s||(s=new Promise((function(t){Promise.resolve().then((function(){s=void 0,t(r())}))}))),s}),destroy:function(){f(),c=!0}};if(!Lt(t,n))return l;function f(){u.forEach((function(t){return t()})),u=[]}return l.setOptions(e).then((function(t){!c&&e.onFirstUpdate&&e.onFirstUpdate(t)})),l}}var Ct={passive:!0};var Tt={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var n=t.state,e=t.instance,i=t.options,r=i.scroll,o=void 0===r||r,s=i.resize,a=void 0===s||s,u=Y(n.elements.popper),c=[].concat(n.scrollParents.reference,n.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",e.update,Ct)})),a&&u.addEventListener("resize",e.update,Ct),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",e.update,Ct)})),a&&u.removeEventListener("resize",e.update,Ct)}},data:{}};function Et(t){return t.split("-")[0]}function Gt(t){return t.split("-")[1]}function qt(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Mt(t){var n,e=t.reference,i=t.element,r=t.placement,o=r?Et(r):null,s=r?Gt(r):null,a=e.x+e.width/2-i.width/2,u=e.y+e.height/2-i.height/2;switch(o){case yt:n={x:a,y:e.y-i.height};break;case gt:n={x:a,y:e.y+e.height};break;case wt:n={x:e.x+e.width,y:u};break;case kt:n={x:e.x-i.width,y:u};break;default:n={x:e.x,y:e.y}}var c=o?qt(o):null;if(null!=c){var l="y"===c?"height":"width";switch(s){case xt:n[c]=n[c]-(e[l]/2-i[l]/2);break;case St:n[c]=n[c]+(e[l]/2-i[l]/2)}}return n}var Dt={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var n=t.state,e=t.name;n.modifiersData[e]=Mt({reference:n.rects.reference,element:n.rects.popper,strategy:"absolute",placement:n.placement})},data:{}},It=Math.max,Bt=Math.min,Ut=Math.round,Wt={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Ht(t){var n,e=t.popper,i=t.popperRect,r=t.placement,o=t.variation,s=t.offsets,a=t.position,u=t.gpuAcceleration,c=t.adaptive,l=t.roundOffsets,f=!0===l?function(t){var n=t.x,e=t.y,i=window.devicePixelRatio||1;return{x:Ut(Ut(n*i)/i)||0,y:Ut(Ut(e*i)/i)||0}}(s):"function"==typeof l?l(s):s,d=f.x,h=void 0===d?0:d,p=f.y,v=void 0===p?0:p,m=s.hasOwnProperty("x"),b=s.hasOwnProperty("y"),y=kt,g=yt,w=window;if(c){var k=bt(e),_="clientHeight",j="clientWidth";k===Y(e)&&"static"!==ut(k=st(e)).position&&"absolute"===a&&(_="scrollHeight",j="scrollWidth"),k=k,r!==yt&&(r!==kt&&r!==wt||o!==St)||(g=gt,v-=k[_]-i.height,v*=u?1:-1),r!==kt&&(r!==yt&&r!==gt||o!==St)||(y=wt,h-=k[j]-i.width,h*=u?1:-1)}var x,S=Object.assign({position:a},c&&Wt);return u?Object.assign({},S,((x={})[g]=b?"0":"",x[y]=m?"0":"",x.transform=(w.devicePixelRatio||1)<=1?"translate("+h+"px, "+v+"px)":"translate3d("+h+"px, "+v+"px, 0)",x)):Object.assign({},S,((n={})[g]=b?v+"px":"",n[y]=m?h+"px":"",n.transform="",n))}var Nt={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var n=t.state;Object.keys(n.elements).forEach((function(t){var e=n.styles[t]||{},i=n.attributes[t]||{},r=n.elements[t];tt(r)&&ot(r)&&(Object.assign(r.style,e),Object.keys(i).forEach((function(t){var n=i[t];!1===n?r.removeAttribute(t):r.setAttribute(t,!0===n?"":n)})))}))},effect:function(t){var n=t.state,e={popper:{position:n.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(n.elements.popper.style,e.popper),n.styles=e,n.elements.arrow&&Object.assign(n.elements.arrow.style,e.arrow),function(){Object.keys(n.elements).forEach((function(t){var i=n.elements[t],r=n.attributes[t]||{},o=Object.keys(n.styles.hasOwnProperty(t)?n.styles[t]:e[t]).reduce((function(t,n){return t[n]="",t}),{});tt(i)&&ot(i)&&(Object.assign(i.style,o),Object.keys(r).forEach((function(t){i.removeAttribute(t)})))}))}},requires:["computeStyles"]};var Vt={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var n=t.state,e=t.options,i=t.name,r=e.offset,o=void 0===r?[0,0]:r,s=Rt.reduce((function(t,e){return t[e]=function(t,n,e){var i=Et(t),r=[kt,yt].indexOf(i)>=0?-1:1,o="function"==typeof e?e(Object.assign({},n,{placement:t})):e,s=o[0],a=o[1];return s=s||0,a=(a||0)*r,[kt,wt].indexOf(i)>=0?{x:a,y:s}:{x:s,y:a}}(e,n.rects,o),t}),{}),a=s[n.placement],u=a.x,c=a.y;null!=n.modifiersData.popperOffsets&&(n.modifiersData.popperOffsets.x+=u,n.modifiersData.popperOffsets.y+=c),n.modifiersData[i]=s}},Zt={left:"right",right:"left",bottom:"top",top:"bottom"};function Kt(t){return t.replace(/left|right|bottom|top/g,(function(t){return Zt[t]}))}var Xt={start:"end",end:"start"};function Yt(t){return t.replace(/start|end/g,(function(t){return Xt[t]}))}function Jt(t,n){var e=n.getRootNode&&n.getRootNode();if(t.contains(n))return!0;if(e&&nt(e)){var i=n;do{if(i&&t.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function tn(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function nn(t,n){return n===Qt?tn(function(t){var n=Y(t),e=st(t),i=n.visualViewport,r=e.clientWidth,o=e.clientHeight,s=0,a=0;return i&&(r=i.width,o=i.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(s=i.offsetLeft,a=i.offsetTop)),{width:r,height:o,x:s+at(t),y:a}}(t)):tt(n)?function(t){var n=it(t);return n.top=n.top+t.clientTop,n.left=n.left+t.clientLeft,n.bottom=n.top+t.clientHeight,n.right=n.left+t.clientWidth,n.width=t.clientWidth,n.height=t.clientHeight,n.x=n.left,n.y=n.top,n}(n):tn(function(t){var n,e=st(t),i=rt(t),r=null==(n=t.ownerDocument)?void 0:n.body,o=It(e.scrollWidth,e.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),s=It(e.scrollHeight,e.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-i.scrollLeft+at(t),u=-i.scrollTop;return"rtl"===ut(r||e).direction&&(a+=It(e.clientWidth,r?r.clientWidth:0)-o),{width:o,height:s,x:a,y:u}}(st(t)))}function en(t,n,e){var i="clippingParents"===n?function(t){var n=pt(dt(t)),e=["absolute","fixed"].indexOf(ut(t).position)>=0&&tt(t)?bt(t):t;return J(e)?n.filter((function(t){return J(t)&&Jt(t,e)&&"body"!==ot(t)})):[]}(t):[].concat(n),r=[].concat(i,[e]),o=r[0],s=r.reduce((function(n,e){var i=nn(t,e);return n.top=It(i.top,n.top),n.right=Bt(i.right,n.right),n.bottom=Bt(i.bottom,n.bottom),n.left=It(i.left,n.left),n}),nn(t,o));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function rn(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function on(t,n){return n.reduce((function(n,e){return n[e]=t,n}),{})}function sn(t,n){void 0===n&&(n={});var e=n,i=e.placement,r=void 0===i?t.placement:i,o=e.boundary,s=void 0===o?"clippingParents":o,a=e.rootBoundary,u=void 0===a?Qt:a,c=e.elementContext,l=void 0===c?Ft:c,f=e.altBoundary,d=void 0!==f&&f,h=e.padding,p=void 0===h?0:h,v=rn("number"!=typeof p?p:on(p,jt)),m=l===Ft?"reference":Ft,b=t.rects.popper,y=t.elements[d?m:l],g=en(J(y)?y:y.contextElement||st(t.elements.popper),s,u),w=it(t.elements.reference),k=Mt({reference:w,element:b,strategy:"absolute",placement:r}),_=tn(Object.assign({},b,k)),j=l===Ft?_:w,x={top:g.top-j.top+v.top,bottom:j.bottom-g.bottom+v.bottom,left:g.left-j.left+v.left,right:j.right-g.right+v.right},S=t.modifiersData.offset;if(l===Ft&&S){var Q=S[r];Object.keys(x).forEach((function(t){var n=[wt,gt].indexOf(t)>=0?1:-1,e=[yt,gt].indexOf(t)>=0?"y":"x";x[t]+=Q[e]*n}))}return x}var an={name:"flip",enabled:!0,phase:"main",fn:function(t){var n=t.state,e=t.options,i=t.name;if(!n.modifiersData[i]._skip){for(var r=e.mainAxis,o=void 0===r||r,s=e.altAxis,a=void 0===s||s,u=e.fallbackPlacements,c=e.padding,l=e.boundary,f=e.rootBoundary,d=e.altBoundary,h=e.flipVariations,p=void 0===h||h,v=e.allowedAutoPlacements,m=n.options.placement,b=Et(m),y=u||(b===m||!p?[Kt(m)]:function(t){if(Et(t)===_t)return[];var n=Kt(t);return[Yt(t),n,Yt(n)]}(m)),g=[m].concat(y).reduce((function(t,e){return t.concat(Et(e)===_t?function(t,n){void 0===n&&(n={});var e=n,i=e.placement,r=e.boundary,o=e.rootBoundary,s=e.padding,a=e.flipVariations,u=e.allowedAutoPlacements,c=void 0===u?Rt:u,l=Gt(i),f=l?a?Ot:Ot.filter((function(t){return Gt(t)===l})):jt,d=f.filter((function(t){return c.indexOf(t)>=0}));0===d.length&&(d=f);var h=d.reduce((function(n,e){return n[e]=sn(t,{placement:e,boundary:r,rootBoundary:o,padding:s})[Et(e)],n}),{});return Object.keys(h).sort((function(t,n){return h[t]-h[n]}))}(n,{placement:e,boundary:l,rootBoundary:f,padding:c,flipVariations:p,allowedAutoPlacements:v}):e)}),[]),w=n.rects.reference,k=n.rects.popper,_=new Map,j=!0,x=g[0],S=0;S<g.length;S++){var Q=g[S],F=Et(Q),O=Gt(Q)===xt,R=[yt,gt].indexOf(F)>=0,A=R?"width":"height",z=sn(n,{placement:Q,boundary:l,rootBoundary:f,altBoundary:d,padding:c}),P=R?O?wt:kt:O?gt:yt;w[A]>k[A]&&(P=Kt(P));var L=Kt(P),$=[];if(o&&$.push(z[F]<=0),a&&$.push(z[P]<=0,z[L]<=0),$.every((function(t){return t}))){x=Q,j=!1;break}_.set(Q,$)}if(j)for(var C=function(t){var n=g.find((function(n){var e=_.get(n);if(e)return e.slice(0,t).every((function(t){return t}))}));if(n)return x=n,"break"},T=p?3:1;T>0;T--){if("break"===C(T))break}n.placement!==x&&(n.modifiersData[i]._skip=!0,n.placement=x,n.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function un(t,n,e){return It(t,Bt(n,e))}var cn={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var n=t.state,e=t.options,i=t.name,r=e.mainAxis,o=void 0===r||r,s=e.altAxis,a=void 0!==s&&s,u=e.boundary,c=e.rootBoundary,l=e.altBoundary,f=e.padding,d=e.tether,h=void 0===d||d,p=e.tetherOffset,v=void 0===p?0:p,m=sn(n,{boundary:u,rootBoundary:c,padding:f,altBoundary:l}),b=Et(n.placement),y=Gt(n.placement),g=!y,w=qt(b),k="x"===w?"y":"x",_=n.modifiersData.popperOffsets,j=n.rects.reference,x=n.rects.popper,S="function"==typeof v?v(Object.assign({},n.rects,{placement:n.placement})):v,Q={x:0,y:0};if(_){if(o||a){var F="y"===w?yt:kt,O="y"===w?gt:wt,R="y"===w?"height":"width",A=_[w],z=_[w]+m[F],P=_[w]-m[O],L=h?-x[R]/2:0,$=y===xt?j[R]:x[R],C=y===xt?-x[R]:-j[R],T=n.elements.arrow,E=h&&T?ft(T):{width:0,height:0},G=n.modifiersData["arrow#persistent"]?n.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},q=G[F],M=G[O],D=un(0,j[R],E[R]),I=g?j[R]/2-L-D-q-S:$-D-q-S,B=g?-j[R]/2+L+D+M+S:C+D+M+S,U=n.elements.arrow&&bt(n.elements.arrow),W=U?"y"===w?U.clientTop||0:U.clientLeft||0:0,H=n.modifiersData.offset?n.modifiersData.offset[n.placement][w]:0,N=_[w]+I-H-W,V=_[w]+B-H;if(o){var Z=un(h?Bt(z,N):z,A,h?It(P,V):P);_[w]=Z,Q[w]=Z-A}if(a){var K="x"===w?yt:kt,X="x"===w?gt:wt,Y=_[k],J=Y+m[K],tt=Y-m[X],nt=un(h?Bt(J,N):J,Y,h?It(tt,V):tt);_[k]=nt,Q[k]=nt-Y}}n.modifiersData[i]=Q}},requiresIfExists:["offset"]};var ln={name:"arrow",enabled:!0,phase:"main",fn:function(t){var n,e=t.state,i=t.name,r=t.options,o=e.elements.arrow,s=e.modifiersData.popperOffsets,a=Et(e.placement),u=qt(a),c=[kt,wt].indexOf(a)>=0?"height":"width";if(o&&s){var l=function(t,n){return rn("number"!=typeof(t="function"==typeof t?t(Object.assign({},n.rects,{placement:n.placement})):t)?t:on(t,jt))}(r.padding,e),f=ft(o),d="y"===u?yt:kt,h="y"===u?gt:wt,p=e.rects.reference[c]+e.rects.reference[u]-s[u]-e.rects.popper[c],v=s[u]-e.rects.reference[u],m=bt(o),b=m?"y"===u?m.clientHeight||0:m.clientWidth||0:0,y=p/2-v/2,g=l[d],w=b-f[c]-l[h],k=b/2-f[c]/2+y,_=un(g,k,w),j=u;e.modifiersData[i]=((n={})[j]=_,n.centerOffset=_-k,n)}},effect:function(t){var n=t.state,e=t.options.element,i=void 0===e?"[data-popper-arrow]":e;null!=i&&("string"!=typeof i||(i=n.elements.popper.querySelector(i)))&&Jt(n.elements.popper,i)&&(n.elements.arrow=i)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function fn(t,n,e){return void 0===e&&(e={x:0,y:0}),{top:t.top-n.height-e.y,right:t.right-n.width+e.x,bottom:t.bottom-n.height+e.y,left:t.left-n.width-e.x}}function dn(t){return[yt,wt,gt,kt].some((function(n){return t[n]>=0}))}var hn=$t({defaultModifiers:[Tt,Dt,{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var n=t.state,e=t.options,i=e.gpuAcceleration,r=void 0===i||i,o=e.adaptive,s=void 0===o||o,a=e.roundOffsets,u=void 0===a||a,c={placement:Et(n.placement),variation:Gt(n.placement),popper:n.elements.popper,popperRect:n.rects.popper,gpuAcceleration:r};null!=n.modifiersData.popperOffsets&&(n.styles.popper=Object.assign({},n.styles.popper,Ht(Object.assign({},c,{offsets:n.modifiersData.popperOffsets,position:n.options.strategy,adaptive:s,roundOffsets:u})))),null!=n.modifiersData.arrow&&(n.styles.arrow=Object.assign({},n.styles.arrow,Ht(Object.assign({},c,{offsets:n.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:u})))),n.attributes.popper=Object.assign({},n.attributes.popper,{"data-popper-placement":n.placement})},data:{}},Nt,Vt,an,cn,ln,{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var n=t.state,e=t.name,i=n.rects.reference,r=n.rects.popper,o=n.modifiersData.preventOverflow,s=sn(n,{elementContext:"reference"}),a=sn(n,{altBoundary:!0}),u=fn(s,i),c=fn(a,r,o),l=dn(u),f=dn(c);n.modifiersData[e]={referenceClippingOffsets:u,popperEscapeOffsets:c,isReferenceHidden:l,hasPopperEscaped:f},n.attributes.popper=Object.assign({},n.attributes.popper,{"data-popper-reference-hidden":l,"data-popper-escaped":f})}}]}),pn="tippy-content",vn="tippy-backdrop",mn="tippy-arrow",bn="tippy-svg-arrow",yn={passive:!0,capture:!0},gn=function(){return document.body};function wn(t,n,e){if(Array.isArray(t)){var i=t[n];return null==i?Array.isArray(e)?e[n]:e:i}return t}function kn(t,n){var e={}.toString.call(t);return 0===e.indexOf("[object")&&e.indexOf(n+"]")>-1}function _n(t,n){return"function"==typeof t?t.apply(void 0,n):t}function jn(t,n){return 0===n?t:function(i){clearTimeout(e),e=setTimeout((function(){t(i)}),n)};var e}function xn(t){return[].concat(t)}function Sn(t,n){-1===t.indexOf(n)&&t.push(n)}function Qn(t){return t.split("-")[0]}function Fn(t){return[].slice.call(t)}function On(){return document.createElement("div")}function Rn(t){return["Element","Fragment"].some((function(n){return kn(t,n)}))}function An(t){return kn(t,"MouseEvent")}function zn(t){return!(!t||!t._tippy||t._tippy.reference!==t)}function Pn(t){return Rn(t)?[t]:function(t){return kn(t,"NodeList")}(t)?Fn(t):Array.isArray(t)?t:Fn(document.querySelectorAll(t))}function Ln(t,n){t.forEach((function(t){t&&(t.style.transitionDuration=n+"ms")}))}function $n(t,n){t.forEach((function(t){t&&t.setAttribute("data-state",n)}))}function Cn(t){var n,e=xn(t)[0];return(null==e||null==(n=e.ownerDocument)?void 0:n.body)?e.ownerDocument:document}function Tn(t,n,e){var i=n+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(n){t[i](n,e)}))}function En(t,n){for(var e=n;e;){var i;if(t.contains(e))return!0;e=null==(i=null==e.getRootNode?void 0:e.getRootNode())?void 0:i.host}return!1}var Gn={isTouch:!1},qn=0;function Mn(){Gn.isTouch||(Gn.isTouch=!0,window.performance&&document.addEventListener("mousemove",Dn))}function Dn(){var t=performance.now();t-qn<20&&(Gn.isTouch=!1,document.removeEventListener("mousemove",Dn)),qn=t}function In(){var t=document.activeElement;if(zn(t)){var n=t._tippy;t.blur&&!n.state.isVisible&&t.blur()}}var Bn=!!("undefined"!=typeof window&&"undefined"!=typeof document)&&!!window.msCrypto;var Un={animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},Wn=Object.assign({appendTo:gn,aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},Un,{},{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),Hn=Object.keys(Wn);function Nn(t){var n=(t.plugins||[]).reduce((function(n,e){var i,r=e.name,o=e.defaultValue;r&&(n[r]=void 0!==t[r]?t[r]:null!=(i=Wn[r])?i:o);return n}),{});return Object.assign({},t,{},n)}function Vn(t,n){var e=Object.assign({},n,{content:_n(n.content,[t])},n.ignoreAttributes?{}:function(t,n){return(n?Object.keys(Nn(Object.assign({},Wn,{plugins:n}))):Hn).reduce((function(n,e){var i=(t.getAttribute("data-tippy-"+e)||"").trim();if(!i)return n;if("content"===e)n[e]=i;else try{n[e]=JSON.parse(i)}catch(t){n[e]=i}return n}),{})}(t,n.plugins));return e.aria=Object.assign({},Wn.aria,{},e.aria),e.aria={expanded:"auto"===e.aria.expanded?n.interactive:e.aria.expanded,content:"auto"===e.aria.content?n.interactive?null:"describedby":e.aria.content},e}function Zn(t,n){t.innerHTML=n}function Kn(t){var n=On();return!0===t?n.className=mn:(n.className=bn,Rn(t)?n.appendChild(t):Zn(n,t)),n}function Xn(t,n){Rn(n.content)?(Zn(t,""),t.appendChild(n.content)):"function"!=typeof n.content&&(n.allowHTML?Zn(t,n.content):t.textContent=n.content)}function Yn(t){var n=t.firstElementChild,e=Fn(n.children);return{box:n,content:e.find((function(t){return t.classList.contains(pn)})),arrow:e.find((function(t){return t.classList.contains(mn)||t.classList.contains(bn)})),backdrop:e.find((function(t){return t.classList.contains(vn)}))}}function Jn(t){var n=On(),e=On();e.className="tippy-box",e.setAttribute("data-state","hidden"),e.setAttribute("tabindex","-1");var i=On();function r(e,i){var r=Yn(n),o=r.box,s=r.content,a=r.arrow;i.theme?o.setAttribute("data-theme",i.theme):o.removeAttribute("data-theme"),"string"==typeof i.animation?o.setAttribute("data-animation",i.animation):o.removeAttribute("data-animation"),i.inertia?o.setAttribute("data-inertia",""):o.removeAttribute("data-inertia"),o.style.maxWidth="number"==typeof i.maxWidth?i.maxWidth+"px":i.maxWidth,i.role?o.setAttribute("role",i.role):o.removeAttribute("role"),e.content===i.content&&e.allowHTML===i.allowHTML||Xn(s,t.props),i.arrow?a?e.arrow!==i.arrow&&(o.removeChild(a),o.appendChild(Kn(i.arrow))):o.appendChild(Kn(i.arrow)):a&&o.removeChild(a)}return i.className=pn,i.setAttribute("data-state","hidden"),Xn(i,t.props),n.appendChild(e),e.appendChild(i),r(t.props,t.props),{popper:n,onUpdate:r}}Jn.$$tippy=!0;var te=1,ne=[],ee=[];function ie(t,n){var e,i,r,o,s,a,u,c,l,f=Vn(t,Object.assign({},Wn,{},Nn((e=n,Object.keys(e).reduce((function(t,n){return void 0!==e[n]&&(t[n]=e[n]),t}),{}))))),d=!1,h=!1,p=!1,v=!1,m=[],b=jn(V,f.interactiveDebounce),y=te++,g=(l=f.plugins).filter((function(t,n){return l.indexOf(t)===n})),w={id:y,reference:t,popper:On(),popperInstance:null,props:f,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:g,clearDelayTimeouts:function(){clearTimeout(i),clearTimeout(r),cancelAnimationFrame(o)},setProps:function(n){0;if(w.state.isDestroyed)return;$("onBeforeUpdate",[w,n]),H();var e=w.props,i=Vn(t,Object.assign({},w.props,{},n,{ignoreAttributes:!0}));w.props=i,W(),e.interactiveDebounce!==i.interactiveDebounce&&(E(),b=jn(V,i.interactiveDebounce));e.triggerTarget&&!i.triggerTarget?xn(e.triggerTarget).forEach((function(t){t.removeAttribute("aria-expanded")})):i.triggerTarget&&t.removeAttribute("aria-expanded");T(),L(),j&&j(e,i);w.popperInstance&&(Y(),tt().forEach((function(t){requestAnimationFrame(t._tippy.popperInstance.forceUpdate)})));$("onAfterUpdate",[w,n])},setContent:function(t){w.setProps({content:t})},show:function(){0;var t=w.state.isVisible,n=w.state.isDestroyed,e=!w.state.isEnabled,i=Gn.isTouch&&!w.props.touch,r=wn(w.props.duration,0,Wn.duration);if(t||n||e||i)return;if(R().hasAttribute("disabled"))return;if($("onShow",[w],!1),!1===w.props.onShow(w))return;w.state.isVisible=!0,O()&&(_.style.visibility="visible");L(),D(),w.state.isMounted||(_.style.transition="none");if(O()){var o=z(),s=o.box,a=o.content;Ln([s,a],0)}u=function(){var t;if(w.state.isVisible&&!v){if(v=!0,_.offsetHeight,_.style.transition=w.props.moveTransition,O()&&w.props.animation){var n=z(),e=n.box,i=n.content;Ln([e,i],r),$n([e,i],"visible")}C(),T(),Sn(ee,w),null==(t=w.popperInstance)||t.forceUpdate(),w.state.isMounted=!0,$("onMount",[w]),w.props.animation&&O()&&function(t,n){B(t,n)}(r,(function(){w.state.isShown=!0,$("onShown",[w])}))}},function(){var t,n=w.props.appendTo,e=R();t=w.props.interactive&&n===gn||"parent"===n?e.parentNode:_n(n,[e]);t.contains(_)||t.appendChild(_);Y(),!1}()},hide:function(){0;var t=!w.state.isVisible,n=w.state.isDestroyed,e=!w.state.isEnabled,i=wn(w.props.duration,1,Wn.duration);if(t||n||e)return;if($("onHide",[w],!1),!1===w.props.onHide(w))return;w.state.isVisible=!1,w.state.isShown=!1,v=!1,d=!1,O()&&(_.style.visibility="hidden");if(E(),I(),L(),O()){var r=z(),o=r.box,s=r.content;w.props.animation&&(Ln([o,s],i),$n([o,s],"hidden"))}C(),T(),w.props.animation?O()&&function(t,n){B(t,(function(){!w.state.isVisible&&_.parentNode&&_.parentNode.contains(_)&&n()}))}(i,w.unmount):w.unmount()},hideWithInteractivity:function(t){0;A().addEventListener("mousemove",b),Sn(ne,b),b(t)},enable:function(){w.state.isEnabled=!0},disable:function(){w.hide(),w.state.isEnabled=!1},unmount:function(){0;w.state.isVisible&&w.hide();if(!w.state.isMounted)return;J(),tt().forEach((function(t){t._tippy.unmount()})),_.parentNode&&_.parentNode.removeChild(_);ee=ee.filter((function(t){return t!==w})),w.state.isMounted=!1,$("onHidden",[w])},destroy:function(){0;if(w.state.isDestroyed)return;w.clearDelayTimeouts(),w.unmount(),H(),delete t._tippy,w.state.isDestroyed=!0,$("onDestroy",[w])}};if(!f.render)return w;var k=f.render(w),_=k.popper,j=k.onUpdate;_.setAttribute("data-tippy-root",""),_.id="tippy-"+w.id,w.popper=_,t._tippy=w,_._tippy=w;var x=g.map((function(t){return t.fn(w)})),S=t.hasAttribute("aria-expanded");return W(),T(),L(),$("onCreate",[w]),f.showOnCreate&&nt(),_.addEventListener("mouseenter",(function(){w.props.interactive&&w.state.isVisible&&w.clearDelayTimeouts()})),_.addEventListener("mouseleave",(function(t){w.props.interactive&&w.props.trigger.indexOf("mouseenter")>=0&&(A().addEventListener("mousemove",b),b(t))})),w;function Q(){var t=w.props.touch;return Array.isArray(t)?t:[t,0]}function F(){return"hold"===Q()[0]}function O(){var t;return!!(null==(t=w.props.render)?void 0:t.$$tippy)}function R(){return c||t}function A(){var t=R().parentNode;return t?Cn(t):document}function z(){return Yn(_)}function P(t){return w.state.isMounted&&!w.state.isVisible||Gn.isTouch||s&&"focus"===s.type?0:wn(w.props.delay,t?0:1,Wn.delay)}function L(){_.style.pointerEvents=w.props.interactive&&w.state.isVisible?"":"none",_.style.zIndex=""+w.props.zIndex}function $(t,n,e){var i;(void 0===e&&(e=!0),x.forEach((function(e){e[t]&&e[t].apply(void 0,n)})),e)&&(i=w.props)[t].apply(i,n)}function C(){var n=w.props.aria;if(n.content){var e="aria-"+n.content,i=_.id;xn(w.props.triggerTarget||t).forEach((function(t){var n=t.getAttribute(e);if(w.state.isVisible)t.setAttribute(e,n?n+" "+i:i);else{var r=n&&n.replace(i,"").trim();r?t.setAttribute(e,r):t.removeAttribute(e)}}))}}function T(){!S&&w.props.aria.expanded&&xn(w.props.triggerTarget||t).forEach((function(t){w.props.interactive?t.setAttribute("aria-expanded",w.state.isVisible&&t===R()?"true":"false"):t.removeAttribute("aria-expanded")}))}function E(){A().removeEventListener("mousemove",b),ne=ne.filter((function(t){return t!==b}))}function G(t){if(!Gn.isTouch||!p&&"mousedown"!==t.type){var n=t.composedPath&&t.composedPath()[0]||t.target;if(!w.props.interactive||!En(_,n)){if(En(R(),n)){if(Gn.isTouch)return;if(w.state.isVisible&&w.props.trigger.indexOf("click")>=0)return}else $("onClickOutside",[w,t]);!0===w.props.hideOnClick&&(w.clearDelayTimeouts(),w.hide(),h=!0,setTimeout((function(){h=!1})),w.state.isMounted||I())}}}function q(){p=!0}function M(){p=!1}function D(){var t=A();t.addEventListener("mousedown",G,!0),t.addEventListener("touchend",G,yn),t.addEventListener("touchstart",M,yn),t.addEventListener("touchmove",q,yn)}function I(){var t=A();t.removeEventListener("mousedown",G,!0),t.removeEventListener("touchend",G,yn),t.removeEventListener("touchstart",M,yn),t.removeEventListener("touchmove",q,yn)}function B(t,n){var e=z().box;function i(t){t.target===e&&(Tn(e,"remove",i),n())}if(0===t)return n();Tn(e,"remove",a),Tn(e,"add",i),a=i}function U(n,e,i){void 0===i&&(i=!1),xn(w.props.triggerTarget||t).forEach((function(t){t.addEventListener(n,e,i),m.push({node:t,eventType:n,handler:e,options:i})}))}function W(){var t;F()&&(U("touchstart",N,{passive:!0}),U("touchend",Z,{passive:!0})),(t=w.props.trigger,t.split(/\s+/).filter(Boolean)).forEach((function(t){if("manual"!==t)switch(U(t,N),t){case"mouseenter":U("mouseleave",Z);break;case"focus":U(Bn?"focusout":"blur",K);break;case"focusin":U("focusout",K)}}))}function H(){m.forEach((function(t){var n=t.node,e=t.eventType,i=t.handler,r=t.options;n.removeEventListener(e,i,r)})),m=[]}function N(t){var n,e=!1;if(w.state.isEnabled&&!X(t)&&!h){var i="focus"===(null==(n=s)?void 0:n.type);s=t,c=t.currentTarget,T(),!w.state.isVisible&&An(t)&&ne.forEach((function(n){return n(t)})),"click"===t.type&&(w.props.trigger.indexOf("mouseenter")<0||d)&&!1!==w.props.hideOnClick&&w.state.isVisible?e=!0:nt(t),"click"===t.type&&(d=!e),e&&!i&&et(t)}}function V(t){var n=t.target,e=R().contains(n)||_.contains(n);if("mousemove"!==t.type||!e){var i=tt().concat(_).map((function(t){var n,e=null==(n=t._tippy.popperInstance)?void 0:n.state;return e?{popperRect:t.getBoundingClientRect(),popperState:e,props:f}:null})).filter(Boolean);(function(t,n){var e=n.clientX,i=n.clientY;return t.every((function(t){var n=t.popperRect,r=t.popperState,o=t.props.interactiveBorder,s=Qn(r.placement),a=r.modifiersData.offset;if(!a)return!0;var u="bottom"===s?a.top.y:0,c="top"===s?a.bottom.y:0,l="right"===s?a.left.x:0,f="left"===s?a.right.x:0,d=n.top-i+u>o,h=i-n.bottom-c>o,p=n.left-e+l>o,v=e-n.right-f>o;return d||h||p||v}))})(i,t)&&(E(),et(t))}}function Z(t){X(t)||w.props.trigger.indexOf("click")>=0&&d||(w.props.interactive?w.hideWithInteractivity(t):et(t))}function K(t){w.props.trigger.indexOf("focusin")<0&&t.target!==R()||w.props.interactive&&t.relatedTarget&&_.contains(t.relatedTarget)||et(t)}function X(t){return!!Gn.isTouch&&F()!==t.type.indexOf("touch")>=0}function Y(){J();var n=w.props,e=n.popperOptions,i=n.placement,r=n.offset,o=n.getReferenceClientRect,s=n.moveTransition,a=O()?Yn(_).arrow:null,c=o?{getBoundingClientRect:o,contextElement:o.contextElement||R()}:t,l={name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(t){var n=t.state;if(O()){var e=z().box;["placement","reference-hidden","escaped"].forEach((function(t){"placement"===t?e.setAttribute("data-placement",n.placement):n.attributes.popper["data-popper-"+t]?e.setAttribute("data-"+t,""):e.removeAttribute("data-"+t)})),n.attributes.popper={}}}},f=[{name:"offset",options:{offset:r}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!s}},l];O()&&a&&f.push({name:"arrow",options:{element:a,padding:3}}),f.push.apply(f,(null==e?void 0:e.modifiers)||[]),w.popperInstance=hn(c,_,Object.assign({},e,{placement:i,onFirstUpdate:u,modifiers:f}))}function J(){w.popperInstance&&(w.popperInstance.destroy(),w.popperInstance=null)}function tt(){return Fn(_.querySelectorAll("[data-tippy-root]"))}function nt(t){w.clearDelayTimeouts(),t&&$("onTrigger",[w,t]),D();var n=P(!0),e=Q(),r=e[0],o=e[1];Gn.isTouch&&"hold"===r&&o&&(n=o),n?i=setTimeout((function(){w.show()}),n):w.show()}function et(t){if(w.clearDelayTimeouts(),$("onUntrigger",[w,t]),w.state.isVisible){if(!(w.props.trigger.indexOf("mouseenter")>=0&&w.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(t.type)>=0&&d)){var n=P(!1);n?r=setTimeout((function(){w.state.isVisible&&w.hide()}),n):o=requestAnimationFrame((function(){w.hide()}))}}else I()}}function re(t,n){void 0===n&&(n={});var e=Wn.plugins.concat(n.plugins||[]);document.addEventListener("touchstart",Mn,yn),window.addEventListener("blur",In);var i=Object.assign({},n,{plugins:e}),r=Pn(t).reduce((function(t,n){var e=n&&ie(n,i);return e&&t.push(e),t}),[]);return Rn(t)?r[0]:r}re.defaultProps=Wn,re.setDefaultProps=function(t){Object.keys(t).forEach((function(n){Wn[n]=t[n]}))},re.currentInput=Gn;Object.assign({},Nt,{effect:function(t){var n=t.state,e={popper:{position:n.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(n.elements.popper.style,e.popper),n.styles=e,n.elements.arrow&&Object.assign(n.elements.arrow.style,e.arrow)}});var oe={clientX:0,clientY:0},se=[];function ae(t){var n=t.clientX,e=t.clientY;oe={clientX:n,clientY:e}}var ue={name:"followCursor",defaultValue:!1,fn:function(t){var n=t.reference,e=Cn(t.props.triggerTarget||n),i=!1,r=!1,o=!0,s=t.props;function a(){return"initial"===t.props.followCursor&&t.state.isVisible}function u(){e.addEventListener("mousemove",f)}function c(){e.removeEventListener("mousemove",f)}function l(){i=!0,t.setProps({getReferenceClientRect:null}),i=!1}function f(e){var i=!e.target||n.contains(e.target),r=t.props.followCursor,o=e.clientX,s=e.clientY,a=n.getBoundingClientRect(),u=o-a.left,c=s-a.top;!i&&t.props.interactive||t.setProps({getReferenceClientRect:function(){var t=n.getBoundingClientRect(),e=o,i=s;"initial"===r&&(e=t.left+u,i=t.top+c);var a="horizontal"===r?t.top:i,l="vertical"===r?t.right:e,f="horizontal"===r?t.bottom:i,d="vertical"===r?t.left:e;return{width:l-d,height:f-a,top:a,right:l,bottom:f,left:d}}})}function d(){t.props.followCursor&&(se.push({instance:t,doc:e}),function(t){t.addEventListener("mousemove",ae)}(e))}function h(){0===(se=se.filter((function(n){return n.instance!==t}))).filter((function(t){return t.doc===e})).length&&function(t){t.removeEventListener("mousemove",ae)}(e)}return{onCreate:d,onDestroy:h,onBeforeUpdate:function(){s=t.props},onAfterUpdate:function(n,e){var o=e.followCursor;i||void 0!==o&&s.followCursor!==o&&(h(),o?(d(),!t.state.isMounted||r||a()||u()):(c(),l()))},onMount:function(){t.props.followCursor&&!r&&(o&&(f(oe),o=!1),a()||u())},onTrigger:function(t,n){An(n)&&(oe={clientX:n.clientX,clientY:n.clientY}),r="focus"===n.type},onHidden:function(){t.props.followCursor&&(l(),c(),o=!0)}}}};re.setDefaultProps({render:Jn});var ce=re;GLSR.autosize=d,GLSR.keys={ALT:18,DOWN:40,ENTER:13,ESC:27,SPACE:32,UP:38},GLSR.Event=y,GLSR.Tippy={tippy:ce,plugins:{followCursor:ue}},jQuery((function(t){L().highlightAll(),GLSR.notices=new F,GLSR.shortcode=new q(".glsr-mce"),GLSR.stars=new(D())("select.glsr-star-rating",{tooltip:!1}),GLSR.Tippy.tippy(".glsr-tooltip",{appendTo:function(){return document.body}}),t(".glsr-tooltip").each((function(t,n){var e=n.dataset.tippyContent,i=n.dataset.syntax;n._tippy&&e&&i&&L().languages[i]&&n._tippy.setContent('<pre class="language-'+i+'"><code>'+L().highlight(e,L().languages[i],i)+"</code></pre>")})),p(),new w,new j("form.glsr-form"),new S,new R,new z,new C("#glsr-search-posts",{action:"search-posts",onInit:function(){this.el.find(".glsr-remove-button").on("click",this.rt.bind(this))},onResultClick:function(n){var e=t(n.currentTarget),i=wp.template("glsr-assigned-posts"),r={id:e.data("id"),name:"post_ids[]",url:e.data("url"),title:e.text()};if(i){var o=t(i(r));o.find(".glsr-remove-button").on("click",this.rt.bind(this)),this.el.find(".glsr-selected-entries").append(o),this.it()}this.options.searchEl.focus()}}),new C("#glsr-search-users",{action:"search-users",onInit:function(){this.el.find(".glsr-remove-button").on("click",this.rt.bind(this))},onResultClick:function(n){var e=t(n.currentTarget),i=wp.template("glsr-assigned-users"),r={id:e.data("id"),name:"user_ids[]",url:e.data("url"),title:e.text()};if(i){var o=t(i(r));o.find(".glsr-remove-button").on("click",this.rt.bind(this)),this.el.find(".glsr-selected-entries").append(o),this.it()}this.options.searchEl.focus()}}),new C("#glsr-search-translations",{action:"search-translations",onInit:function(){this.tt()},onResultClick:function(n){var e=t(n.currentTarget),i=e.data("entry"),r=wp.template("glsr-string-"+(i.p1?"plural":"single"));i.index=this.options.entriesEl.children().length,i.prefix=this.options.resultsEl.data("prefix"),r&&(this.options.entriesEl.append(r(i)),this.options.exclude.push({id:i.id}),this.options.results=this.options.results.filter((function(t,n){return n!==e.get(0)}))),this.X()}}),new B("a.glsr-toggle-status"),new E,new N,new Z,new X,new W;var n=function(){this.dataset.glsrTrack=this.value};t("select[data-glsr-track]").each(n),t("select[data-glsr-track]").on("change",n),t(".glsr-card.postbox:not(.open)").addClass("closed").find(".glsr-accordion-trigger").attr("aria-expanded",!1).closest(".glsr-nav-view").addClass("collapsed"),t(".glsr-support-step").not(":checked").length<1&&t(".glsr-card-result").removeClass("hidden"),t(".glsr-support-step").on("change",(function(){var n=t(".glsr-support-step").not(":checked").length>0?"add":"remove";t(".glsr-card-result")[n+"Class"]("hidden")})),t(".glsr-card.postbox .glsr-card-heading").on("click",(function(){var n=t(this).parent(),e=n.closest(".glsr-nav-view"),i=n.hasClass("closed")?"remove":"add";n[i+"Class"]("closed").find(".glsr-accordion-trigger").attr("aria-expanded","add"!==i),i=e.find(".glsr-card.postbox").not(".closed").length>0?"remove":"add",e[i+"Class"]("collapsed")})),t(".post-type-site-review #the-list").on("click",".editinline",(function(){var n=t(this).closest("tr");t(':input[data-name="post_content"]').val(""),t(':input[name="_response"]').val(""),setTimeout((function(){t(':input[data-name="post_content"]').val(n.find("._post_content").text()),t(':input[name="_response"]').val(n.find("._response").text())}),50)}));var e,i=t("#glsr-notices .bulk-action-notice").on("click","button.button-link",(function(){t(this).toggleClass("bulk-action-errors-collapsed").attr("aria-expanded",!t(this).hasClass("bulk-action-errors-collapsed")),i.find(".bulk-action-errors").toggleClass("hidden")}));"no"===GLSR.isLicensed&&jQuery(".post-type-site-review.edit-php .page-title-action").after('<a href="'+GLSR.premiumurl+'" target="_blank" id="glsr-premium-button" class="page-title-action">'+GLSR.text.premium+"</a>"),e=GLSR.text.rate,jQuery("#footer-left",".post-type-site-review, .post-type-site-review-form, .post-type-site-review-theme, .dashboard_page_site-reviews-welcome").html(e.replace("%s",'<strong>Site Reviews</strong> <a href="https://wordpress.org/support/view/plugin-reviews/site-reviews?filter=5#new-post" target="_blank">&#9733;&#9733;&#9733;&#9733;&#9733;</a>').replace("%s",'<a href="https://wordpress.org/support/view/plugin-reviews/site-reviews?filter=5#new-post" target="_blank">wordpress.org</a>'))}));var le=function(t){[].forEach.call(document.querySelectorAll('[data-type="site-reviews/'.concat(t,'"] .glsr')),(function(t){var n="glsr-"+window.getComputedStyle(t,null).getPropertyValue("direction");t.classList.add(n)}))};y.on("site-reviews/form",(function(t,n){_.isEmpty(t)||t.error||(le("form"),GLSR.stars=new(D())("select.glsr-star-rating",{tooltip:!1}))})),y.on("site-reviews/reviews",(function(t,n){_.isEmpty(t)||t.error||le("reviews")})),y.on("site-reviews/summary",(function(t,n){_.isEmpty(t)||t.error||le("summary")}))}()}();
assets/scripts/site-reviews.js CHANGED
@@ -1 +1 @@
1
- !function(){"use strict";var t,i={721:function(t,i,n){function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(t)}var o=function(){};o.prototype={get:function(t,i,n){this.t(i),this.xhr.open("GET",t,!0),this.xhr.responseType="text",this.i(n),this.xhr.send()},u:function(t){return"json"===this.xhr.responseType||!0===this.xhr.json?t({message:this.xhr.statusText},!1):"text"===this.xhr.responseType?t(this.xhr.statusText):(this.xhr.responseText,void this.xhr.response)},h:function(t){if(0===this.xhr.status||this.xhr.status>=200&&this.xhr.status<300||304===this.xhr.status){if("json"===this.xhr.responseType)return t(this.xhr.response.data,this.xhr.response.success);if("text"===this.xhr.responseType)return t(this.xhr.responseText);if(!0===this.xhr.json){var i=JSON.parse(this.xhr.response);return t(i.data,i.success)}this.xhr.responseText,this.xhr.response}else this.u(t)},isFileSupported:function(){var t=document.createElement("INPUT");return t.type="file","files"in t},isFormDataSupported:function(){return!!window.FormData},isUploadSupported:function(){var t=new XMLHttpRequest;return!!(t&&"upload"in t&&"onprogress"in t.upload)},post:function(t,i,n){this.t(i),this.xhr.open("POST",GLSR.ajaxurl,!0),this.xhr.responseType="json",this.xhr.json=!0,this.i(n),this.xhr.send(this.l(t))},t:function(t){this.xhr=new XMLHttpRequest,this.xhr.onload=this.h.bind(this,t),this.xhr.onerror=this.u.bind(this,t)},v:function(t,i,n){return"object"!==e(i)||i instanceof Date||i instanceof File?t.append(n,i||""):Object.keys(i).forEach(function(e){i.hasOwnProperty(e)&&(t=this.v(t,i[e],n?n[e]:e))}.bind(this)),t},l:function(t){var i=new FormData,n=Object.prototype.toString.call(t);return"[object FormData]"===n&&(i=t),"[object HTMLFormElement]"===n&&(i=new FormData(t)),"[object Object]"===n&&Object.keys(t).forEach((function(n){i.append(n,t[n])})),i.append("action",GLSR.action),i.append("_ajax_request",!0),i},i:function(t){for(var i in(t=t||{})["X-Requested-With"]="XMLHttpRequest",t)t.hasOwnProperty(i)&&this.xhr.setRequestHeader(i,t[i])}};var s=o,r={},u=function(t,i){var n=r[t]||[],e=[];i&&[].forEach.call(n,(function(t){i!==t.fn&&i!==t.fn.once&&e.push(t)})),e.length?r[t]=e:delete r[t]},a=function(t,i,n){(r[t]||(r[t]=[])).push({fn:i,context:n})},h=function(t,i,n){var e=arguments,o=function o(){u(t,o),i.apply(n,e)};o.once=i,a(t,o,n)},c=function(t){var i=[].slice.call(arguments,1),n=(r[t]||[]).slice();[].forEach.call(n,(function(t){return t.fn.apply(t.context,i)}))},f={events:r,trigger:c,off:u,on:a,once:h};function d(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}function l(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function v(t,i,n){return i&&l(t.prototype,i),n&&l(t,n),t}var m={hiddenClass:"glsr-hidden",hiddenTextSelector:".glsr-hidden-text",readMoreClass:"glsr-read-more",visibleClass:"glsr-visible"},w=function(){function t(i){var n=this;d(this,t);var e=(i||document).querySelectorAll(m.hiddenTextSelector);[].forEach.call(e,(function(t){return n.init(t)})),GLSR.Event.trigger("site-reviews/excerpts/init",i)}return v(t,[{key:"init",value:function(t){if(!t.parentNode.querySelector("."+m.readMoreClass)){var i=t.dataset.trigger,n=document.createElement("span"),e=document.createElement("a");e.setAttribute("href","#"),e.innerHTML=t.dataset.showMore,"excerpt"===i&&(e.addEventListener("click",this.onClick.bind(this)),e.setAttribute("data-text",t.dataset.showLess)),"modal"===i&&e.setAttribute("data-excerpt-trigger","glsr-modal"),n.setAttribute("class",m.readMoreClass),n.appendChild(e),t.parentNode.insertBefore(n,t.nextSibling)}}},{key:"onClick",value:function(t){t.preventDefault();var i=t.currentTarget,n=i.parentNode.previousSibling,e=i.dataset.text;n.classList.toggle(m.hiddenClass),n.classList.toggle(m.visibleClass),i.dataset.text=i.innerText,i.innerText=e}}]),t}(),p=w,g=function(t){this.Form=t,this.counter=0,this.id=-1,this.is_submitting=!1,this.recaptchaEl=t.form.querySelector(".glsr-recaptcha-holder"),this.observer=new MutationObserver(function(t){var i=t.pop();i.target&&"visible"!==i.target.style.visibility&&(this.observer.disconnect(),setTimeout(function(){this.is_submitting||this.Form.p()}.bind(this),250))}.bind(this))};g.prototype={g:function(){this.counter=0,this.id=-1,this.is_submitting=!1,this.recaptchaEl&&(this.recaptchaEl.innerHTML="")},k:function(){if(-1!==this.id)return this.counter=0,this.S(this.id),void grecaptcha.execute(this.id);setTimeout(function(){this.counter++,this.L.call(this.Form,this.counter)}.bind(this),1e3)},S:function(t){var i=window.___grecaptcha_cfg.clients[t];for(var n in i)if(i.hasOwnProperty(n)&&"[object String]"===Object.prototype.toString.call(i[n])){var e=document.querySelector("iframe[name=c-"+i[n]+"]");if(e){this.observer.observe(e.parentElement.parentElement,{attributeFilter:["style"],attributes:!0});break}}},R:function(){this.Form.form.onsubmit=null,this.g(),this._()},_:function(){this.recaptchaEl&&setTimeout(function(){if("undefined"==typeof grecaptcha||void 0===grecaptcha.render)return this._();this.id=grecaptcha.render(this.recaptchaEl,{callback:this.L.bind(this.Form,this.counter),"expired-callback":this.G.bind(this),isolated:!0},!0)}.bind(this),250)},G:function(){this.counter=0,this.is_submitting=!1,-1!==this.id&&grecaptcha.reset(this.id)},L:function(t){if(this.recaptcha.is_submitting=!0,!this.useAjax)return this.F(),void this.form.submit();this.L(t)}};var y=g,b=n(449),k=n.n(b),S=function(t,i,n){t&&i.split(" ").forEach((function(i){t.classList[n?"add":"remove"](i)}))},L=function(t){return"."+t.trim().split(" ").join(".")},R=function(t){var i='input[name="'+t.getAttribute("name")+'"]:checked';return t.validation.form.querySelectorAll(i).length},_={email:{fn:function(t){return!t||/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)}},max:{fn:function(t,i){return!t||("checkbox"===this.type?R(this)<=parseInt(i):parseFloat(t)<=parseFloat(i))}},maxlength:{fn:function(t,i){return!t||t.length<=parseInt(i)}},min:{fn:function(t,i){return!t||("checkbox"===this.type?R(this)>=parseInt(i):parseFloat(t)>=parseFloat(i))}},minlength:{fn:function(t,i){return!t||t.length>=parseInt(i)}},number:{fn:function(t){return!t||!isNaN(parseFloat(t))},priority:2},required:{fn:function(t){return"radio"===this.type||"checkbox"===this.type?R(this):void 0!==t&&""!==t},priority:99,halt:!0}},x=function(t){this.config=GLSR.validationconfig,this.fields=[],this.form=t,this.form.setAttribute("novalidate",""),this.strings=GLSR.validationstrings,this.validateEvent=this.T.bind(this)};x.prototype={M:["required","max","maxlength","min","minlength","pattern"],C:"input:not([type^=hidden]):not([type^=submit]), select, textarea, [data-glsr-validate]",destroy:function(){for(this.G();this.fields.length;){var t=this.fields.shift();this.P(t.input),delete t.input.validation}},init:function(){var t=this;[].forEach.call(this.form.querySelectorAll(this.C),(function(i){t.fields.find((function(t){return t.input.name===i.name}))||"none"!==i.closest(L(t.config.field)).style.display&&t.fields.push(t.I(i))}))},N:function(t){t.addEventListener(this.A(t),this.validateEvent)},D:function(t,i,n){[].forEach.call(t,function(t){var e=t.name.replace("data-","");~this.M.indexOf(e)?this.q(i,n,e,t.value):"type"===t.name&&this.q(i,n,t.value)}.bind(this))},q:function(t,i,n,e){if(_[n]&&(_[n].name=n,t.push(_[n]),e)){var o=e.split(",");o.unshift(null),i[n]=o}},T:function(t){this.B(t.currentTarget)},P:function(t){t.removeEventListener(this.A(t),this.validateEvent)},G:function(){for(var t in this.fields)if(this.fields.hasOwnProperty(t)){this.fields[t].errorElements=null;var i=this.fields[t].input.closest(L(this.config.field));S(this.fields[t].input,this.config.input_error,!1),S(this.fields[t].input,this.config.input_valid,!1),S(i,this.config.field_error,!1),S(i,this.config.field_valid,!1)}},A:function(t){return~["radio","checkbox"].indexOf(t.getAttribute("type"))||"SELECT"===t.nodeName?"change":"input"},I:function(t){var i={},n=[];return null!==t.offsetParent&&(this.D(t.attributes,n,i),this.H(n),this.N(t)),t.validation={form:this.form,input:t,params:i,validators:n}},J:function(t,i){var n=t.input.closest(L(this.config.field));if(S(t.input,this.config.input_error,i),S(t.input,this.config.input_valid,!i),n){S(n,this.config.field_error,i),S(n,this.config.field_valid,!i);var e=n.querySelector(L(this.config.field_message));e.innerHTML=i?t.errors.join("<br>"):"",e.style.display=i?"":"none"}},V:function(t,i){t.hasOwnProperty("validation")&&this.I(t),t.validation.errors=i},H:function(t){t.sort((function(t,i){return(i.priority||1)-(t.priority||1)}))},B:function(t){var i=!0,n=this.fields;for(var e in t instanceof HTMLElement&&(n=[t.validation]),n)if(n.hasOwnProperty(e)){var o=n[e];this.W(o)?this.J(o,!1):(i=!1,this.J(o,!0))}return i},W:function(t){var i=[],n=!0;for(var e in t.validators)if(t.validators.hasOwnProperty(e)){var o=t.validators[e],s=t.params[o.name]?t.params[o.name]:[];if(s[0]=t.input.value,!o.fn.apply(t.input,s)){n=!1;var r=this.strings[o.name];if(i.push(r.replace(/(\%s)/g,s[1])),!0===o.halt)break}}return t.errors=i,n}};var G=x,E=function(t,i){this.button=i,this.config=GLSR.validationconfig,this.events={submit:this.U.bind(this)},this.form=t,this.isActive=!1,this.recaptcha=new y(this),this.stars=null,this.strings=GLSR.validationstrings,this.useAjax=this.X(),this.validation=new G(t)};E.prototype={destroy:function(){this.destroyForm(),this.destroyRecaptcha(),this.destroyStarRatings(),this.isActive=!1},destroyForm:function(){this.form.removeEventListener("submit",this.events.submit),this.K(),this.validation.destroy()},destroyRecaptcha:function(){this.recaptcha.g()},destroyStarRatings:function(){this.stars&&this.stars.destroy()},init:function(){this.isActive||(this.initForm(),this.initStarRatings(),this.initRecaptcha(),this.isActive=!0)},initForm:function(){this.destroyForm(),this.form.addEventListener("submit",this.events.submit),this.validation.init()},initRecaptcha:function(){this.recaptcha.R()},initStarRatings:function(){null!==this.stars?this.stars.rebuild():this.stars=new(k())(this.form.querySelectorAll(".glsr-field-rating select"),GLSR.stars)},F:function(){this.button.ariaBusy="true",this.button.setAttribute("disabled","")},p:function(){this.button.ariaBusy="false",this.button.removeAttribute("disabled")},Y:function(t,i){var n=!0===i;"unset"!==t.recaptcha?("reset"===t.recaptcha&&this.recaptcha.G(),n&&(this.recaptcha.G(),this.form.reset()),this.$(t.errors),this.Z(t.message,n),this.p(),GLSR.Event.trigger("site-reviews/form/handle",t,this.form),t.form=this.form,document.dispatchEvent(new CustomEvent("site-reviews/after/submission",{detail:t})),n&&""!==t.redirect&&(window.location=t.redirect)):this.recaptcha.k()},X:function(){var t=!0;return[].forEach.call(this.form.elements,(function(i){"file"===i.type&&(t=GLSR.ajax.isFileSupported()&&GLSR.ajax.isUploadSupported())})),t&&!this.form.classList.contains("no-ajax")},U:function(t){if(!this.validation.B())return t.preventDefault(),void this.Z(this.strings.errors,!1);this.K(),(this.form["g-recaptcha-response"]&&""===this.form["g-recaptcha-response"].value||this.useAjax)&&(t.preventDefault(),this.L())},K:function(){S(this.form,this.config.form_error,!1),this.Z("",null),this.validation.G()},$:function(t){if(t)for(var i in t)if(t.hasOwnProperty(i)){var n=GLSR.nameprefix?GLSR.nameprefix+"["+i+"]":i,e=this.form.querySelector('[name="'+n+'"]');e&&(this.validation.V(e,t[i]),this.validation.J(e.validation,"add"))}},Z:function(t,i){var n=this.form.querySelector(L(this.config.form_message));null!==n&&(S(this.form,this.config.form_error,!1===i),S(n,this.config.form_message_failed,!1===i),S(n,this.config.form_message_success,!0===i),n.innerHTML=t)},L:function(t){GLSR.ajax.isFormDataSupported()?(this.F(),this.form[GLSR.nameprefix+"[_counter]"].value=t||0,GLSR.ajax.post(this.form,this.Y.bind(this))):this.Z(this.strings.unsupported,!1)}};var F=function(){for(;GLSR.forms.length;){(t=GLSR.forms.shift()).destroy()}var t,i,n;i=document.querySelectorAll("form.glsr-review-form");for(var e=0;e<i.length;e++)(n=i[e].querySelector("[type=submit]"))&&((t=new E(i[e],n)).init(),GLSR.forms.push(t))},O=F;function T(t){if(Array.isArray(t)){for(var i=0,n=Array(t.length);i<t.length;i++)n[i]=t[i];return n}return Array.from(t)}var j=!1;if("undefined"!=typeof window){var M={get passive(){j=!0}};window.addEventListener("testPassive",null,M),window.removeEventListener("testPassive",null,M)}var C="undefined"!=typeof window&&window.navigator&&window.navigator.platform&&(/iP(ad|hone|od)/.test(window.navigator.platform)||"MacIntel"===window.navigator.platform&&window.navigator.maxTouchPoints>1),P=[],I=!1,N=-1,A=void 0,D=void 0,q=function(t){return P.some((function(i){return!(!i.options.allowTouchMove||!i.options.allowTouchMove(t))}))},B=function(t){var i=t||window.event;return!!q(i.target)||(i.touches.length>1||(i.preventDefault&&i.preventDefault(),!1))},H=function(t){if(void 0===D){var i=!!t&&!0===t.reserveScrollBarGap,n=window.innerWidth-document.documentElement.clientWidth;i&&n>0&&(D=document.body.style.paddingRight,document.body.style.paddingRight=n+"px")}void 0===A&&(A=document.body.style.overflow,document.body.style.overflow="hidden")},J=function(){void 0!==D&&(document.body.style.paddingRight=D,D=void 0),void 0!==A&&(document.body.style.overflow=A,A=void 0)},V=function(t){return!!t&&t.scrollHeight-t.scrollTop<=t.clientHeight},W=function(t,i){var n=t.targetTouches[0].clientY-N;return!q(t.target)&&(i&&0===i.scrollTop&&n>0||V(i)&&n<0?B(t):(t.stopPropagation(),!0))},U=function(t,i){if(t){if(!P.some((function(i){return i.targetElement===t}))){var n={targetElement:t,options:i||{}};P=[].concat(T(P),[n]),C?(t.ontouchstart=function(t){1===t.targetTouches.length&&(N=t.targetTouches[0].clientY)},t.ontouchmove=function(i){1===i.targetTouches.length&&W(i,t)},I||(document.addEventListener("touchmove",B,j?{passive:!1}:void 0),I=!0)):H(i)}}else console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.")},X=function(){C?(P.forEach((function(t){t.targetElement.ontouchstart=null,t.targetElement.ontouchmove=null})),I&&(document.removeEventListener("touchmove",B,j?{passive:!1}:void 0),I=!1),N=-1):J(),P=[]},K=["[contenteditable]",'[tabindex]:not([tabindex^="-"])',"a[href]","button:not([disabled]):not([aria-hidden])",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])"],Y=function(){function t(i){var n=i.closeTrigger,e=void 0===n?"data-glsr-close":n,o=i.onClose,s=void 0===o?function(){}:o,r=i.onOpen,u=void 0===r?function(){}:r,a=i.openClass,h=void 0===a?"is-open":a,c=i.openTrigger,f=void 0===c?"data-glsr-trigger":c,l=i.targetModalId,v=void 0===l?"glsr-modal":l,m=i.triggers,w=void 0===m?[]:m;d(this,t),this.modal=document.getElementById(v),this.config={openTrigger:f,closeTrigger:e,openClass:h,onOpen:u,onClose:s},this.events={mouseup:this.onClick.bind(this),keydown:this.onKeydown.bind(this),touchstart:this.onClick.bind(this)},w.length>0&&this.registerTriggers(w)}return v(t,[{key:"addEventListeners",value:function(){this.eventListener(this.modal,"add",["mouseup","touchstart"]),this.eventListener(document,"add",["keydown"])}},{key:"closeModal",value:function(){var t=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;i&&(i.preventDefault(),i.stopPropagation()),this.modal.setAttribute("aria-hidden","true"),this.removeEventListeners(),X(),this.activeElement&&this.activeElement.focus&&this.activeElement.focus();var n=function n(){t.modal.classList.remove(t.config.openClass),t.modal.removeEventListener("animationend",n,!1),t.config.onClose(t.modal,t.activeElement,i)};this.modal.addEventListener("animationend",n,!1)}},{key:"closeModalById",value:function(t){this.modal=document.getElementById(t),this.modal&&this.closeModal()}},{key:"eventListener",value:function(t,i,n){var e=this;n.forEach((function(n){return t[i+"EventListener"](n,e.events[n])}))}},{key:"getFocusableNodes",value:function(){var t=this.modal.querySelectorAll(K);return Array.prototype.slice.call(t)}},{key:"onClick",value:function(t){t.target.hasAttribute(this.config.closeTrigger)&&this.closeModal(t)}},{key:"onKeydown",value:function(t){27===t.keyCode&&this.closeModal(t),9===t.keyCode&&this.retainFocus(t)}},{key:"openModal",value:function(){var t=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.activeElement=document.activeElement,i&&(i.preventDefault(),this.activeElement=i.currentTarget),this.config.onOpen(this.modal,this.activeElement,i),this.modal.setAttribute("aria-hidden","false"),this.modal.classList.add(this.config.openClass),U(this.modal.querySelector("[data-glsr-modal]")),this.addEventListeners();var n=function i(){t.modal.removeEventListener("animationend",i,!1),t.setFocusToFirstNode()};this.modal.addEventListener("animationend",n,!1)}},{key:"registerTriggers",value:function(t){var i=this;t.filter(Boolean).forEach((function(t){t.triggerModal&&t.removeEventListener("click",t.triggerModal),t.triggerModal=i.openModal.bind(i),t.addEventListener("click",t.triggerModal)}))}},{key:"removeEventListeners",value:function(){this.eventListener(this.modal,"remove",["mouseup","touchstart"]),this.eventListener(document,"remove",["keydown"])}},{key:"retainFocus",value:function(t){var i=this.getFocusableNodes();if(0!==i.length)if(i=i.filter((function(t){return null!==t.offsetParent})),this.modal.contains(document.activeElement)){var n=i.indexOf(document.activeElement);t.shiftKey&&0===n&&(i[i.length-1].focus(),t.preventDefault()),!t.shiftKey&&i.length>0&&n===i.length-1&&(i[0].focus(),t.preventDefault())}else i[0].focus()}},{key:"setFocusToFirstNode",value:function(){var t=this,i=this.getFocusableNodes();if(0!==i.length){var n=i.filter((function(i){return!i.hasAttribute(t.config.closeTrigger)}));n.length>0&&n[0].focus(),0===n.length&&i[0].focus()}}}]),t}(),$={},z=function(t){if(t)$[t].closeModalById(t);else for(var i in $)$[i].closeModal()},Q=function(t,i){var n={};return t.forEach((function(t){var e=t.attributes[i].value;void 0===n[e]&&(n[e]=[]),n[e].push(t)})),n},Z=function(t){var i=Object.assign({},{openTrigger:"data-glsr-trigger"},t),n=Array.prototype.slice.call(document.querySelectorAll("[".concat(i.openTrigger,"]"))),e=Q(n,i.openTrigger);return Object.keys(e).forEach((function(t){i.targetModalId=t,i.triggers=e[t],$[t]=new Y(i)})),$},tt=function(t,i){var n=i||{};n.targetModalId=t,$[t]&&$[t].removeEventListeners(),$[t]=new Y(n),$[t].openModal()},it={init:Z,open:tt,close:z},nt={scrollOffset:16,scrollTime:468},et={button:"button.glsr-button-loadmore",hide:"glsr-hide",link:"a.page-numbers",pagination:".glsr-pagination",reviews:".glsr-reviews, [data-reviews]"},ot=function(){function t(i){d(this,t),this.reviewsEl=i.querySelector(et.reviews),this.wrapperEl=i,this.init()}return v(t,[{key:"data",value:function(t,i){var n=t.closest(et.pagination);if(!n)return console.error("Pagination config not found."),!1;try{for(var e=JSON.parse(JSON.stringify(n.dataset)),o={},s=0,r=Object.keys(e);s<r.length;s++){var u=r[s],a=void 0;try{a=JSON.parse(e[u])}catch(t){a=e[u]}o["".concat(GLSR.nameprefix,"[atts][").concat(u,"]")]=a}return o["".concat(GLSR.nameprefix,"[_action]")]="fetch-paged-reviews",o["".concat(GLSR.nameprefix,"[page]")]=t.dataset.page||1,o["".concat(GLSR.nameprefix,"[schema]")]=!1,o["".concat(GLSR.nameprefix,"[url]")]=t.href||"",o}catch(t){return console.error("Invalid pagination config."),!1}}},{key:"init",value:function(){this.initLoadMore(),this.initPagination(),GLSR.state.popstate||(window.addEventListener("popstate",this.onPopstate.bind(this)),GLSR.state.popstate=!0)}},{key:"initLoadMore",value:function(){var t=this,i=this.wrapperEl.querySelectorAll(et.button);i.length&&[].forEach.call(i,(function(i){i.dataset.ready||(i.addEventListener("click",t.onLoadMore.bind(t,i)),i.dataset.ready=!0)}))}},{key:"initPagination",value:function(){var t=this,i=this.wrapperEl.querySelectorAll("".concat(et.pagination," ").concat(et.link));if(i.length){[].forEach.call(i,(function(i){i.dataset.ready||(i.addEventListener("click",t.onPaginate.bind(t,i)),i.dataset.ready=!0)}));var n=this.wrapperEl.querySelector("".concat(et.pagination," .current"));if(n){var e=this.data(n),o=n.nextElementSibling;e&&o&&2==+o.dataset.page&&GLSR.urlparameter&&window.history.replaceState(e,"",window.location)}}}},{key:"onLoadMore",value:function(t,i){var n=this.data(t);n&&(t.ariaBusy="true",t.setAttribute("disabled",""),i.preventDefault(),GLSR.ajax.post(n,this.handleLoadMore.bind(this,t,n)))}},{key:"onPaginate",value:function(t,i){var n=this.data(t);n&&(this.wrapperEl.classList.add(et.hide),i.preventDefault(),GLSR.ajax.post(n,this.handlePagination.bind(this,t,n)))}},{key:"onPopstate",value:function(t){t.state&&(this.wrapperEl.classList.add(et.hide),GLSR.ajax.post(t.state,this.handlePopstate.bind(this,t.state)))}},{key:"handleLoadMore",value:function(t,i,n,e){t.ariaBusy="false",t.removeAttribute("disabled"),e?([].forEach.call(this.wrapperEl.querySelectorAll(et.pagination),(function(t){t.innerHTML=n.pagination})),this.reviewsEl.innerHTML+=n.reviews,this.init(),new p(this.reviewsEl)):window.location=location}},{key:"handlePagination",value:function(t,i,n,e){e?(this.paginate(n),GLSR.urlparameter&&window.history.pushState(i,"",t.href)):window.location=t.href}},{key:"handlePopstate",value:function(t,i,n){n?this.paginate(i):console.error(i)}},{key:"paginate",value:function(t){[].forEach.call(this.wrapperEl.querySelectorAll(et.pagination),(function(i){i.innerHTML=t.pagination})),this.reviewsEl.innerHTML=t.reviews,this.scrollToTop(),this.init(),this.wrapperEl.classList.remove(et.hide),new p(this.reviewsEl),GLSR.Event.trigger("site-reviews/pagination/handle",t,this)}},{key:"scrollToTop",value:function(){var t=nt.scrollOffset;[].forEach.call(GLSR.ajaxpagination,(function(i){var n=document.querySelector(i);n&&"fixed"===window.getComputedStyle(n).getPropertyValue("position")&&(t+=n.clientHeight)}));var i=this.reviewsEl.getBoundingClientRect().top-t;i>0||this.scrollStep({endY:i,offset:window.pageYOffset,startTime:window.performance.now(),startY:this.reviewsEl.scrollTop})}},{key:"scrollStep",value:function(t){var i=Math.min(1,(window.performance.now()-t.startTime)/nt.scrollTime),n=.5*(1-Math.cos(Math.PI*i)),e=t.startY+(t.endY-t.startY)*n;window.scroll(0,t.offset+e),e!==t.endY&&window.requestAnimationFrame(this.scrollStep.bind(this,t))}}]),t}(),st=function(){[].forEach.call(document.querySelectorAll(et.pagination),(function(t){var i=t.closest(".glsr");i&&(t.classList.contains("glsr-ajax-loadmore")||t.classList.contains("glsr-ajax-pagination"))&&new ot(i)}))},rt=function(){var t="glsr-modal__content",i="glsr-modal__review";window.GLSR.Modal.init({onClose:function(n,e,o){n.querySelector("."+t).innerHTML="",n.classList.remove(i),GLSR.Event.trigger("site-reviews/modal/close",n,e,o)},onOpen:function(n,e,o){var s=e.closest(".glsr").cloneNode(!0),r=e.closest(".glsr-review").cloneNode(!0);s.innerHTML="",s.appendChild(r),n.querySelector("."+t).appendChild(s),n.classList.add(i),GLSR.Event.trigger("site-reviews/modal/open",n,e,o)},openTrigger:"data-excerpt-trigger"})},ut=function(){[].forEach.call(document.querySelectorAll(".glsr"),(function(t){var i="glsr-"+window.getComputedStyle(t,null).getPropertyValue("direction");t.classList.add(i)})),new p,new O,st()};window.hasOwnProperty("GLSR")||(window.GLSR={}),window.GLSR.ajax=new s,window.GLSR.forms=[],window.GLSR.Event=f,window.GLSR.Forms=O,window.GLSR.Modal=it,f.on("site-reviews/init",ut),f.on("site-reviews/excerpts/init",rt),document.addEventListener("DOMContentLoaded",(function(){f.trigger("site-reviews/init")}))},113:function(){},30:function(){},966:function(){},83:function(){},649:function(){},408:function(){},529:function(){},275:function(){},872:function(){},865:function(){},835:function(){},786:function(){},45:function(){},622:function(){},688:function(){},340:function(){},961:function(){},853:function(){},712:function(){},651:function(){},730:function(){},382:function(){},747:function(){},605:function(){},410:function(){},406:function(){},829:function(){},273:function(){},518:function(){},963:function(){},449:function(t){function i(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}function n(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function e(t,i,e){return i&&n(t.prototype,i),e&&n(t,e),t}var o={classNames:{active:"gl-active",base:"gl-star-rating",selected:"gl-selected"},clearable:!0,maxStars:10,prebuilt:!1,stars:null,tooltip:"Select a Rating"},s=function(t,i,n){t.classList[i?"add":"remove"](n)},r=function(t){var i=document.createElement("span");for(var n in t=t||{})i.setAttribute(n,t[n]);return i},u=function(t,i,n){var e=r(n);return t.parentNode.insertBefore(e,i?t.nextSibling:t),e},a=function t(){for(var i=arguments.length,n=new Array(i),e=0;e<i;e++)n[e]=arguments[e];var o={};return n.forEach((function(i){Object.keys(i||{}).forEach((function(e){if(void 0!==n[0][e]){var s=i[e];"Object"!==h(s)||"Object"!==h(o[e])?o[e]=s:o[e]=t(o[e],s)}}))})),o},h=function(t){return{}.toString.call(t).slice(8,-1)},c=function(){function t(n,e){var o,s;i(this,t),this.direction=window.getComputedStyle(n,null).getPropertyValue("direction"),this.el=n,this.events={change:this.onChange.bind(this),keydown:this.onKeyDown.bind(this),mousedown:this.onPointerDown.bind(this),mouseleave:this.onPointerLeave.bind(this),mousemove:this.onPointerMove.bind(this),reset:this.onReset.bind(this),touchend:this.onPointerDown.bind(this),touchmove:this.onPointerMove.bind(this)},this.indexActive=null,this.indexSelected=null,this.props=e,this.tick=null,this.ticking=!1,this.values=function(t){var i=[];return[].forEach.call(t.options,(function(t){var n=parseInt(t.value,10)||0;n>0&&i.push({index:t.index,text:t.text,value:n})})),i.sort((function(t,i){return t.value-i.value}))}(n),this.widgetEl=null,this.el.widget&&this.el.widget.destroy(),o=this.values.length,s=this.props.maxStars,/^\d+$/.test(o)&&1<=o&&o<=s?this.build():this.destroy()}return e(t,[{key:"build",value:function(){this.destroy(),this.buildWidget(),this.selectValue(this.indexSelected=this.selected(),!1),this.handleEvents("add"),this.el.widget=this}},{key:"buildWidget",value:function(){var t,i,n=this;this.props.prebuilt?(t=this.el.parentNode,i=t.querySelector("."+this.props.classNames.base+"--stars")):((t=u(this.el,!1,{class:this.props.classNames.base})).appendChild(this.el),i=u(this.el,!0,{class:this.props.classNames.base+"--stars"}),this.values.forEach((function(t,e){var o=r({"data-index":e,"data-value":t.value});"function"==typeof n.props.stars&&n.props.stars.call(n,o,t,e),[].forEach.call(o.children,(function(t){return t.style.pointerEvents="none"})),i.innerHTML+=o.outerHTML}))),t.dataset.starRating="",t.classList.add(this.props.classNames.base+"--"+this.direction),this.props.tooltip&&i.setAttribute("role","tooltip"),this.widgetEl=i}},{key:"changeIndexTo",value:function(t,i){var n=this;if(this.indexActive!==t||i){if([].forEach.call(this.widgetEl.children,(function(i,e){s(i,e<=t,n.props.classNames.active),s(i,e===n.indexSelected,n.props.classNames.selected)})),this.widgetEl.setAttribute("data-rating",t+1),"function"==typeof this.props.stars||this.props.prebuilt||(this.widgetEl.classList.remove("s"+10*(this.indexActive+1)),this.widgetEl.classList.add("s"+10*(t+1))),this.props.tooltip){var e=t<0?this.props.tooltip:this.values[t].text;this.widgetEl.setAttribute("aria-label",e)}this.indexActive=t}this.ticking=!1}},{key:"destroy",value:function(){this.indexActive=null,this.indexSelected=this.selected();var t=this.el.parentNode;t.classList.contains(this.props.classNames.base)&&(this.props.prebuilt?(this.widgetEl=t.querySelector("."+this.props.classNames.base+"--stars"),t.classList.remove(this.props.classNames.base+"--"+this.direction),delete t.dataset.starRating):t.parentNode.replaceChild(this.el,t),this.handleEvents("remove")),delete this.el.widget}},{key:"eventListener",value:function(t,i,n,e){var o=this;n.forEach((function(n){return t[i+"EventListener"](n,o.events[n],e||!1)}))}},{key:"handleEvents",value:function(t){var i=this.el.closest("form");i&&"FORM"===i.tagName&&this.eventListener(i,t,["reset"]),this.eventListener(this.el,t,["change"]),"add"===t&&this.el.disabled||(this.eventListener(this.el,t,["keydown"]),this.eventListener(this.widgetEl,t,["mousedown","mouseleave","mousemove","touchend","touchmove"],!1))}},{key:"indexFromEvent",value:function(t){var i,n,e=(null===(i=t.touches)||void 0===i?void 0:i[0])||(null===(n=t.changedTouches)||void 0===n?void 0:n[0])||t,o=document.elementFromPoint(e.clientX,e.clientY);return[].slice.call(o.parentNode.children).indexOf(o)}},{key:"onChange",value:function(){this.changeIndexTo(this.selected(),!0)}},{key:"onKeyDown",value:function(t){var i=t.key.slice(5);if(~["Left","Right"].indexOf(i)){var n="Left"===i?-1:1;"rtl"===this.direction&&(n*=-1);var e=this.values.length-1,o=Math.min(Math.max(this.selected()+n,-1),e);this.selectValue(o,!0)}}},{key:"onPointerDown",value:function(t){t.preventDefault();var i=this.indexFromEvent(t);this.props.clearable&&i===this.indexSelected&&(i=-1),this.selectValue(i,!0)}},{key:"onPointerLeave",value:function(t){var i=this;t.preventDefault(),cancelAnimationFrame(this.tick),requestAnimationFrame((function(){return i.changeIndexTo(i.indexSelected)}))}},{key:"onPointerMove",value:function(t){var i=this;t.preventDefault(),this.ticking||(this.tick=requestAnimationFrame((function(){return i.changeIndexTo(i.indexFromEvent(t))})),this.ticking=!0)}},{key:"onReset",value:function(){var t,i=this.valueIndex(null===(t=this.el.querySelector("[selected]"))||void 0===t?void 0:t.value);this.selectValue(i||-1,!1)}},{key:"selected",value:function(){return this.valueIndex(this.el.value)}},{key:"selectValue",value:function(t,i){var n;this.el.value=(null===(n=this.values[t])||void 0===n?void 0:n.value)||"",this.indexSelected=this.selected(),!1===i?this.changeIndexTo(this.selected(),!0):this.el.dispatchEvent(new Event("change"))}},{key:"valueIndex",value:function(t){return this.values.findIndex((function(i){return i.value===+t}))}}]),t}(),f=function(){function t(n,e){i(this,t),this.destroy=this.destroy.bind(this),this.rebuild=this.rebuild.bind(this),this.widgets=[],this.buildWidgets(n,e)}return e(t,[{key:"buildWidgets",value:function(t,i){var n=this;this.queryElements(t).forEach((function(t){var e=a(o,i,JSON.parse(t.getAttribute("data-options")));"SELECT"!==t.tagName||t.widget||(!e.prebuilt&&t.parentNode.classList.contains(e.classNames.base)&&n.unwrap(t),n.widgets.push(new c(t,e)))}))}},{key:"destroy",value:function(){this.widgets.forEach((function(t){return t.destroy()}))}},{key:"queryElements",value:function(t){return"HTMLSelectElement"===h(t)?[t]:"NodeList"===h(t)?[].slice.call(t):"String"===h(t)?[].slice.call(document.querySelectorAll(t)):[]}},{key:"rebuild",value:function(){this.widgets.forEach((function(t){return t.build()}))}},{key:"unwrap",value:function(t){var i=t.parentNode,n=i.parentNode;n.insertBefore(t,i),n.removeChild(i)}}]),t}();t.exports=f}},n={};function e(t){var o=n[t];if(void 0!==o)return o.exports;var s=n[t]={exports:{}};return i[t](s,s.exports,e),s.exports}e.m=i,t=[],e.O=function(i,n,o,s){if(!n){var r=1/0;for(c=0;c<t.length;c++){n=t[c][0],o=t[c][1],s=t[c][2];for(var u=!0,a=0;a<n.length;a++)(!1&s||r>=s)&&Object.keys(e.O).every((function(t){return e.O[t](n[a])}))?n.splice(a--,1):(u=!1,s<r&&(r=s));if(u){t.splice(c--,1);var h=o();void 0!==h&&(i=h)}}return i}s=s||0;for(var c=t.length;c>0&&t[c-1][2]>s;c--)t[c]=t[c-1];t[c]=[n,o,s]},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,{a:i}),i},e.d=function(t,i){for(var n in i)e.o(i,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:i[n]})},e.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},function(){var t={341:0,884:0,320:0,974:0,570:0,184:0,979:0,224:0,384:0,81:0,877:0,691:0,931:0,192:0,77:0,753:0,540:0,69:0,16:0,831:0,181:0,193:0,994:0,232:0,896:0,737:0,612:0,554:0,483:0,49:0,985:0};e.O.j=function(i){return 0===t[i]};var i=function(i,n){var o,s,r=n[0],u=n[1],a=n[2],h=0;if(r.some((function(i){return 0!==t[i]}))){for(o in u)e.o(u,o)&&(e.m[o]=u[o]);if(a)var c=a(e)}for(i&&i(n);h<r.length;h++)s=r[h],e.o(t,s)&&t[s]&&t[s][0](),t[r[h]]=0;return e.O(c)},n=self.webpackChunk=self.webpackChunk||[];n.forEach(i.bind(null,0)),n.push=i.bind(null,n.push.bind(n))}(),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(721)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(406)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(829)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(273)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(518)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(963)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(113)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(30)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(966)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(83)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(649)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(408)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(529)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(275)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(872)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(865)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(835)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(786)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(45)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(622)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(688)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(340)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(961)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(853)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(712)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(651)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(730)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(382)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(747)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(605)}));var o=e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(410)}));o=e.O(o)}();
1
+ !function(){"use strict";var t,i={721:function(t,i,n){function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(t)}var o=function(){};o.prototype={get:function(t,i,n){this.t(i),this.xhr.open("GET",t,!0),this.xhr.responseType="text",this.i(n),this.xhr.send()},u:function(t){return"json"===this.xhr.responseType||!0===this.xhr.json?t({message:this.xhr.statusText},!1):"text"===this.xhr.responseType?t(this.xhr.statusText):(this.xhr.responseText,void this.xhr.response)},h:function(t){if(0===this.xhr.status||this.xhr.status>=200&&this.xhr.status<300||304===this.xhr.status){if("json"===this.xhr.responseType)return t(this.xhr.response.data,this.xhr.response.success);if("text"===this.xhr.responseType)return t(this.xhr.responseText);if(!0===this.xhr.json){var i=JSON.parse(this.xhr.response);return t(i.data,i.success)}this.xhr.responseText,this.xhr.response}else this.u(t)},isFileSupported:function(){var t=document.createElement("INPUT");return t.type="file","files"in t},isFormDataSupported:function(){return!!window.FormData},isUploadSupported:function(){var t=new XMLHttpRequest;return!!(t&&"upload"in t&&"onprogress"in t.upload)},post:function(t,i,n){this.t(i),this.xhr.open("POST",GLSR.ajaxurl,!0),this.xhr.responseType="json",this.xhr.json=!0,this.i(n),this.xhr.send(this.l(t))},t:function(t){this.xhr=new XMLHttpRequest,this.xhr.onload=this.h.bind(this,t),this.xhr.onerror=this.u.bind(this,t)},v:function(t,i,n){return"object"!==e(i)||i instanceof Date||i instanceof File?t.append(n,i||""):Object.keys(i).forEach(function(e){i.hasOwnProperty(e)&&(t=this.v(t,i[e],n?n[e]:e))}.bind(this)),t},l:function(t){var i=new FormData,n=Object.prototype.toString.call(t);return"[object FormData]"===n&&(i=t),"[object HTMLFormElement]"===n&&(i=new FormData(t)),"[object Object]"===n&&Object.keys(t).forEach((function(n){i.append(n,t[n])})),i.append("action",GLSR.action),i.append("_ajax_request",!0),i},i:function(t){for(var i in(t=t||{})["X-Requested-With"]="XMLHttpRequest",t)t.hasOwnProperty(i)&&this.xhr.setRequestHeader(i,t[i])}};var s=o,r={},u=function(t,i){var n=r[t]||[],e=[];i&&[].forEach.call(n,(function(t){i!==t.fn&&i!==t.fn.once&&e.push(t)})),e.length?r[t]=e:delete r[t]},a=function(t,i,n){(r[t]||(r[t]=[])).push({fn:i,context:n})},h=function(t,i,n){var e=arguments,o=function o(){u(t,o),i.apply(n,e)};o.once=i,a(t,o,n)},c=function(t){var i=[].slice.call(arguments,1),n=(r[t]||[]).slice();[].forEach.call(n,(function(t){return t.fn.apply(t.context,i)}))},f={events:r,trigger:c,off:u,on:a,once:h};function d(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}function l(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function v(t,i,n){return i&&l(t.prototype,i),n&&l(t,n),t}var m={hiddenClass:"glsr-hidden",hiddenTextSelector:".glsr-hidden-text",readMoreClass:"glsr-read-more",visibleClass:"glsr-visible"},w=function(){function t(i){var n=this;d(this,t);var e=(i||document).querySelectorAll(m.hiddenTextSelector);[].forEach.call(e,(function(t){return n.init(t)})),GLSR.Event.trigger("site-reviews/excerpts/init",i)}return v(t,[{key:"init",value:function(t){if(!t.parentNode.querySelector("."+m.readMoreClass)){var i=t.dataset.trigger,n=document.createElement("span"),e=document.createElement("a");e.setAttribute("href","#"),e.innerHTML=t.dataset.showMore,"excerpt"===i&&(e.addEventListener("click",this.onClick.bind(this)),e.setAttribute("data-text",t.dataset.showLess)),"modal"===i&&e.setAttribute("data-excerpt-trigger","glsr-modal"),n.setAttribute("class",m.readMoreClass),n.appendChild(e),t.parentNode.insertBefore(n,t.nextSibling)}}},{key:"onClick",value:function(t){t.preventDefault();var i=t.currentTarget,n=i.parentNode.previousSibling,e=i.dataset.text;n.classList.toggle(m.hiddenClass),n.classList.toggle(m.visibleClass),i.dataset.text=i.innerText,i.innerText=e}}]),t}(),p=w,g=function(t){this.Form=t,this.counter=0,this.id=-1,this.is_submitting=!1,this.recaptchaEl=t.form.querySelector(".glsr-recaptcha-holder"),this.observer=new MutationObserver(function(t){var i=t.pop();i.target&&"visible"!==i.target.style.visibility&&(this.observer.disconnect(),setTimeout(function(){this.is_submitting||this.Form.p()}.bind(this),250))}.bind(this))};g.prototype={g:function(){this.counter=0,this.id=-1,this.is_submitting=!1,this.recaptchaEl&&(this.recaptchaEl.innerHTML="")},k:function(){if(-1!==this.id)return this.counter=0,this.S(this.id),void grecaptcha.execute(this.id);setTimeout(function(){this.counter++,this.L.call(this.Form,this.counter)}.bind(this),1e3)},S:function(t){var i=window.___grecaptcha_cfg.clients[t];for(var n in i)if(i.hasOwnProperty(n)&&"[object String]"===Object.prototype.toString.call(i[n])){var e=document.querySelector("iframe[name=c-"+i[n]+"]");if(e){this.observer.observe(e.parentElement.parentElement,{attributeFilter:["style"],attributes:!0});break}}},R:function(){this.Form.form.onsubmit=null,this.g(),this._()},_:function(){this.recaptchaEl&&setTimeout(function(){if("undefined"==typeof grecaptcha||void 0===grecaptcha.render)return this._();this.id=grecaptcha.render(this.recaptchaEl,{callback:this.L.bind(this.Form,this.counter),"expired-callback":this.G.bind(this),isolated:!0},!0)}.bind(this),250)},G:function(){this.counter=0,this.is_submitting=!1,-1!==this.id&&grecaptcha.reset(this.id)},L:function(t){if(this.recaptcha.is_submitting=!0,!this.useAjax)return this.F(),void this.form.submit();this.L(t)}};var y=g,b=n(449),k=n.n(b),S=function(t,i,n){t&&i.split(" ").forEach((function(i){t.classList[n?"add":"remove"](i)}))},L=function(t){return"."+t.trim().split(" ").join(".")},R=function(t){var i='input[name="'+t.getAttribute("name")+'"]:checked';return t.validation.form.querySelectorAll(i).length},_={email:{fn:function(t){return!t||/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)}},max:{fn:function(t,i){return!t||("checkbox"===this.type?R(this)<=parseInt(i):parseFloat(t)<=parseFloat(i))}},maxlength:{fn:function(t,i){return!t||t.length<=parseInt(i)}},min:{fn:function(t,i){return!t||("checkbox"===this.type?R(this)>=parseInt(i):parseFloat(t)>=parseFloat(i))}},minlength:{fn:function(t,i){return!t||t.length>=parseInt(i)}},number:{fn:function(t){return!t||!isNaN(parseFloat(t))},priority:2},required:{fn:function(t){return"radio"===this.type||"checkbox"===this.type?R(this):void 0!==t&&""!==t},priority:99,halt:!0}},x=function(t){this.config=GLSR.validationconfig,this.fields=[],this.form=t,this.form.setAttribute("novalidate",""),this.strings=GLSR.validationstrings,this.validateEvent=this.T.bind(this)};x.prototype={M:["required","max","maxlength","min","minlength","pattern"],C:"input:not([type^=hidden]):not([type^=submit]), select, textarea, [data-glsr-validate]",destroy:function(){for(this.G();this.fields.length;){var t=this.fields.shift();this.P(t.input),delete t.input.validation}},init:function(){var t=this;[].forEach.call(this.form.querySelectorAll(this.C),(function(i){t.fields.find((function(t){return t.input.name===i.name}))||"none"!==i.closest(L(t.config.field)).style.display&&t.fields.push(t.I(i))}))},N:function(t){t.addEventListener(this.A(t),this.validateEvent)},D:function(t,i,n){[].forEach.call(t,function(t){var e=t.name.replace("data-","");~this.M.indexOf(e)?this.q(i,n,e,t.value):"type"===t.name&&this.q(i,n,t.value)}.bind(this))},q:function(t,i,n,e){if(_[n]&&(_[n].name=n,t.push(_[n]),e)){var o=e.split(",");o.unshift(null),i[n]=o}},T:function(t){this.B(t.currentTarget)},P:function(t){t.removeEventListener(this.A(t),this.validateEvent)},G:function(){for(var t in this.fields)if(this.fields.hasOwnProperty(t)){this.fields[t].errorElements=null;var i=this.fields[t].input.closest(L(this.config.field));S(this.fields[t].input,this.config.input_error,!1),S(this.fields[t].input,this.config.input_valid,!1),S(i,this.config.field_error,!1),S(i,this.config.field_valid,!1)}},A:function(t){return~["radio","checkbox"].indexOf(t.getAttribute("type"))||"SELECT"===t.nodeName?"change":"input"},I:function(t){var i={},n=[];return null!==t.offsetParent&&(this.D(t.attributes,n,i),this.H(n),this.N(t)),t.validation={form:this.form,input:t,params:i,validators:n}},J:function(t,i){var n=t.input.closest(L(this.config.field));if(S(t.input,this.config.input_error,i),S(t.input,this.config.input_valid,!i),n){S(n,this.config.field_error,i),S(n,this.config.field_valid,!i);var e=n.querySelector(L(this.config.field_message));e.innerHTML=i?t.errors.join("<br>"):"",e.style.display=i?"":"none"}},V:function(t,i){t.hasOwnProperty("validation")&&this.I(t),t.validation.errors=i},H:function(t){t.sort((function(t,i){return(i.priority||1)-(t.priority||1)}))},B:function(t){var i=!0,n=this.fields;for(var e in t instanceof HTMLElement&&(n=[t.validation]),n)if(n.hasOwnProperty(e)){var o=n[e];this.W(o)?this.J(o,!1):(i=!1,this.J(o,!0))}return i},W:function(t){var i=[],n=!0;for(var e in t.validators)if(t.validators.hasOwnProperty(e)){var o=t.validators[e],s=t.params[o.name]?t.params[o.name]:[];if(s[0]=t.input.value,!o.fn.apply(t.input,s)){n=!1;var r=this.strings[o.name];if(i.push(r.replace(/(\%s)/g,s[1])),!0===o.halt)break}}return t.errors=i,n}};var G=x,E=function(t,i){this.button=i,this.config=GLSR.validationconfig,this.events={submit:this.U.bind(this)},this.form=t,this.isActive=!1,this.recaptcha=new y(this),this.stars=null,this.strings=GLSR.validationstrings,this.useAjax=this.X(),this.validation=new G(t)};E.prototype={destroy:function(){this.destroyForm(),this.destroyRecaptcha(),this.destroyStarRatings(),this.isActive=!1},destroyForm:function(){this.form.removeEventListener("submit",this.events.submit),this.K(),this.validation.destroy()},destroyRecaptcha:function(){this.recaptcha.g()},destroyStarRatings:function(){this.stars&&this.stars.destroy()},init:function(){this.isActive||(this.initForm(),this.initStarRatings(),this.initRecaptcha(),this.isActive=!0)},initForm:function(){this.destroyForm(),this.form.addEventListener("submit",this.events.submit),this.validation.init()},initRecaptcha:function(){this.recaptcha.R()},initStarRatings:function(){null!==this.stars?this.stars.rebuild():this.stars=new(k())(this.form.querySelectorAll(".glsr-field-rating select"),GLSR.stars)},F:function(){this.button.ariaBusy="true",this.button.setAttribute("disabled","")},p:function(){this.button.ariaBusy="false",this.button.removeAttribute("disabled")},Y:function(t,i){var n=!0===i;"unset"!==t.recaptcha?("reset"===t.recaptcha&&this.recaptcha.G(),n&&(this.recaptcha.G(),this.form.reset()),this.$(t.errors),this.Z(t.message,n),this.p(),GLSR.Event.trigger("site-reviews/form/handle",t,this.form),t.form=this.form,document.dispatchEvent(new CustomEvent("site-reviews/after/submission",{detail:t})),n&&""!==t.redirect&&(window.location=t.redirect)):this.recaptcha.k()},X:function(){var t=!0;return[].forEach.call(this.form.elements,(function(i){"file"===i.type&&(t=GLSR.ajax.isFileSupported()&&GLSR.ajax.isUploadSupported())})),t&&!this.form.classList.contains("no-ajax")},U:function(t){if(!this.validation.B())return t.preventDefault(),void this.Z(this.strings.errors,!1);this.K(),(this.form["g-recaptcha-response"]&&""===this.form["g-recaptcha-response"].value||this.useAjax)&&(t.preventDefault(),this.L())},K:function(){S(this.form,this.config.form_error,!1),this.Z("",null),this.validation.G()},$:function(t){if(t)for(var i in t)if(t.hasOwnProperty(i)){var n=GLSR.nameprefix?GLSR.nameprefix+"["+i+"]":i,e=this.form.querySelector('[name="'+n+'"]');e&&(this.validation.V(e,t[i]),this.validation.J(e.validation,"add"))}},Z:function(t,i){var n=this.form.querySelector(L(this.config.form_message));null!==n&&(S(this.form,this.config.form_error,!1===i),S(n,this.config.form_message_failed,!1===i),S(n,this.config.form_message_success,!0===i),n.innerHTML=t)},L:function(t){GLSR.ajax.isFormDataSupported()?(this.F(),this.form[GLSR.nameprefix+"[_counter]"].value=t||0,GLSR.ajax.post(this.form,this.Y.bind(this))):this.Z(this.strings.unsupported,!1)}};var F=function(){for(;GLSR.forms.length;){(t=GLSR.forms.shift()).destroy()}var t,i,n;i=document.querySelectorAll("form.glsr-review-form");for(var e=0;e<i.length;e++)(n=i[e].querySelector("[type=submit]"))&&((t=new E(i[e],n)).init(),GLSR.forms.push(t))},O=F;function T(t){if(Array.isArray(t)){for(var i=0,n=Array(t.length);i<t.length;i++)n[i]=t[i];return n}return Array.from(t)}var j=!1;if("undefined"!=typeof window){var M={get passive(){j=!0}};window.addEventListener("testPassive",null,M),window.removeEventListener("testPassive",null,M)}var C="undefined"!=typeof window&&window.navigator&&window.navigator.platform&&(/iP(ad|hone|od)/.test(window.navigator.platform)||"MacIntel"===window.navigator.platform&&window.navigator.maxTouchPoints>1),P=[],I=!1,N=-1,A=void 0,D=void 0,q=function(t){return P.some((function(i){return!(!i.options.allowTouchMove||!i.options.allowTouchMove(t))}))},B=function(t){var i=t||window.event;return!!q(i.target)||(i.touches.length>1||(i.preventDefault&&i.preventDefault(),!1))},H=function(t){if(void 0===D){var i=!!t&&!0===t.reserveScrollBarGap,n=window.innerWidth-document.documentElement.clientWidth;i&&n>0&&(D=document.body.style.paddingRight,document.body.style.paddingRight=n+"px")}void 0===A&&(A=document.body.style.overflow,document.body.style.overflow="hidden")},J=function(){void 0!==D&&(document.body.style.paddingRight=D,D=void 0),void 0!==A&&(document.body.style.overflow=A,A=void 0)},V=function(t){return!!t&&t.scrollHeight-t.scrollTop<=t.clientHeight},W=function(t,i){var n=t.targetTouches[0].clientY-N;return!q(t.target)&&(i&&0===i.scrollTop&&n>0||V(i)&&n<0?B(t):(t.stopPropagation(),!0))},U=function(t,i){if(t){if(!P.some((function(i){return i.targetElement===t}))){var n={targetElement:t,options:i||{}};P=[].concat(T(P),[n]),C?(t.ontouchstart=function(t){1===t.targetTouches.length&&(N=t.targetTouches[0].clientY)},t.ontouchmove=function(i){1===i.targetTouches.length&&W(i,t)},I||(document.addEventListener("touchmove",B,j?{passive:!1}:void 0),I=!0)):H(i)}}else console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.")},X=function(){C?(P.forEach((function(t){t.targetElement.ontouchstart=null,t.targetElement.ontouchmove=null})),I&&(document.removeEventListener("touchmove",B,j?{passive:!1}:void 0),I=!1),N=-1):J(),P=[]},K=["[contenteditable]",'[tabindex]:not([tabindex^="-"])',"a[href]","button:not([disabled]):not([aria-hidden])",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])"],Y=function(){function t(i){var n=i.closeTrigger,e=void 0===n?"data-glsr-close":n,o=i.onClose,s=void 0===o?function(){}:o,r=i.onOpen,u=void 0===r?function(){}:r,a=i.openClass,h=void 0===a?"is-open":a,c=i.openTrigger,f=void 0===c?"data-glsr-trigger":c,l=i.targetModalId,v=void 0===l?"glsr-modal":l,m=i.triggers,w=void 0===m?[]:m;d(this,t),this.modal=document.getElementById(v),this.config={openTrigger:f,closeTrigger:e,openClass:h,onOpen:u,onClose:s},this.events={mouseup:this.onClick.bind(this),keydown:this.onKeydown.bind(this),touchstart:this.onClick.bind(this)},w.length>0&&this.registerTriggers(w)}return v(t,[{key:"addEventListeners",value:function(){this.eventListener(this.modal,"add",["mouseup","touchstart"]),this.eventListener(document,"add",["keydown"])}},{key:"closeModal",value:function(){var t=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;i&&(i.preventDefault(),i.stopPropagation()),this.modal.setAttribute("aria-hidden","true"),this.removeEventListeners(),X(),this.activeElement&&this.activeElement.focus&&this.activeElement.focus();var n=function n(){t.modal.classList.remove(t.config.openClass),t.modal.removeEventListener("animationend",n,!1),t.config.onClose(t.modal,t.activeElement,i)};this.modal.addEventListener("animationend",n,!1)}},{key:"closeModalById",value:function(t){this.modal=document.getElementById(t),this.modal&&this.closeModal()}},{key:"eventListener",value:function(t,i,n){var e=this;n.forEach((function(n){return t[i+"EventListener"](n,e.events[n])}))}},{key:"getFocusableNodes",value:function(){var t=this.modal.querySelectorAll(K);return Array.prototype.slice.call(t)}},{key:"onClick",value:function(t){t.target.hasAttribute(this.config.closeTrigger)&&this.closeModal(t)}},{key:"onKeydown",value:function(t){27===t.keyCode&&this.closeModal(t),9===t.keyCode&&this.retainFocus(t)}},{key:"openModal",value:function(){var t=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.activeElement=document.activeElement,i&&(i.preventDefault(),this.activeElement=i.currentTarget),this.config.onOpen(this.modal,this.activeElement,i),this.modal.setAttribute("aria-hidden","false"),this.modal.classList.add(this.config.openClass),U(this.modal.querySelector("[data-glsr-modal]")),this.addEventListeners();var n=function i(){t.modal.removeEventListener("animationend",i,!1),t.setFocusToFirstNode()};this.modal.addEventListener("animationend",n,!1)}},{key:"registerTriggers",value:function(t){var i=this;t.filter(Boolean).forEach((function(t){t.triggerModal&&t.removeEventListener("click",t.triggerModal),t.triggerModal=i.openModal.bind(i),t.addEventListener("click",t.triggerModal)}))}},{key:"removeEventListeners",value:function(){this.eventListener(this.modal,"remove",["mouseup","touchstart"]),this.eventListener(document,"remove",["keydown"])}},{key:"retainFocus",value:function(t){var i=this.getFocusableNodes();if(0!==i.length)if(i=i.filter((function(t){return null!==t.offsetParent})),this.modal.contains(document.activeElement)){var n=i.indexOf(document.activeElement);t.shiftKey&&0===n&&(i[i.length-1].focus(),t.preventDefault()),!t.shiftKey&&i.length>0&&n===i.length-1&&(i[0].focus(),t.preventDefault())}else i[0].focus()}},{key:"setFocusToFirstNode",value:function(){var t=this,i=this.getFocusableNodes();if(0!==i.length){var n=i.filter((function(i){return!i.hasAttribute(t.config.closeTrigger)}));n.length>0&&n[0].focus(),0===n.length&&i[0].focus()}}}]),t}(),$={},z=function(t){if(t)$[t].closeModalById(t);else for(var i in $)$[i].closeModal()},Q=function(t,i){var n={};return t.forEach((function(t){var e=t.attributes[i].value;void 0===n[e]&&(n[e]=[]),n[e].push(t)})),n},Z=function(t){var i=Object.assign({},{openTrigger:"data-glsr-trigger"},t),n=Array.prototype.slice.call(document.querySelectorAll("[".concat(i.openTrigger,"]"))),e=Q(n,i.openTrigger);return Object.keys(e).forEach((function(t){i.targetModalId=t,i.triggers=e[t],$[t]=new Y(i)})),$},tt=function(t,i){var n=i||{};n.targetModalId=t,$[t]&&$[t].removeEventListeners(),$[t]=new Y(n),$[t].openModal()},it={init:Z,open:tt,close:z},nt={scrollOffset:16,scrollTime:468},et={button:"button.glsr-button-loadmore",hide:"glsr-hide",link:"a.page-numbers",pagination:".glsr-pagination",reviews:".glsr-reviews, [data-reviews]"},ot=function(){function t(i){d(this,t),this.reviewsEl=i.querySelector(et.reviews),this.wrapperEl=i,this.init()}return v(t,[{key:"data",value:function(t,i){var n=t.closest(et.pagination);if(!n)return console.error("Pagination config not found."),!1;try{for(var e=JSON.parse(JSON.stringify(n.dataset)),o={},s=0,r=Object.keys(e);s<r.length;s++){var u=r[s],a=void 0;try{a=JSON.parse(e[u])}catch(t){a=e[u]}o["".concat(GLSR.nameprefix,"[atts][").concat(u,"]")]=a}return o["".concat(GLSR.nameprefix,"[_action]")]="fetch-paged-reviews",o["".concat(GLSR.nameprefix,"[page]")]=t.dataset.page||1,o["".concat(GLSR.nameprefix,"[schema]")]=!1,o["".concat(GLSR.nameprefix,"[url]")]=t.href||"",o}catch(t){return console.error("Invalid pagination config."),!1}}},{key:"init",value:function(){this.initLoadMore(),this.initPagination(),GLSR.state.popstate||(window.addEventListener("popstate",this.onPopstate.bind(this)),GLSR.state.popstate=!0)}},{key:"initLoadMore",value:function(){var t=this,i=this.wrapperEl.querySelectorAll(et.button);i.length&&[].forEach.call(i,(function(i){i.dataset.ready||(i.addEventListener("click",t.onLoadMore.bind(t,i)),i.dataset.ready=!0)}))}},{key:"initPagination",value:function(){var t=this,i=this.wrapperEl.querySelectorAll("".concat(et.pagination," ").concat(et.link));if(i.length){[].forEach.call(i,(function(i){i.dataset.ready||(i.addEventListener("click",t.onPaginate.bind(t,i)),i.dataset.ready=!0)}));var n=this.wrapperEl.querySelector("".concat(et.pagination," .current"));if(n){var e=this.data(n),o=n.nextElementSibling;e&&o&&2==+o.dataset.page&&GLSR.urlparameter&&window.history.replaceState(e,"",window.location)}}}},{key:"onLoadMore",value:function(t,i){var n=this.data(t);n&&(t.ariaBusy="true",t.setAttribute("disabled",""),i.preventDefault(),GLSR.ajax.post(n,this.handleLoadMore.bind(this,t,n)))}},{key:"onPaginate",value:function(t,i){var n=this.data(t);n&&(this.wrapperEl.classList.add(et.hide),i.preventDefault(),GLSR.ajax.post(n,this.handlePagination.bind(this,t,n)))}},{key:"onPopstate",value:function(t){GLSR.Event.trigger("site-reviews/pagination/popstate",t,this),t.state&&t.state["".concat(GLSR.nameprefix,"[_action]")]&&(this.wrapperEl.classList.add(et.hide),GLSR.ajax.post(t.state,this.handlePopstate.bind(this,t.state)))}},{key:"handleLoadMore",value:function(t,i,n,e){t.ariaBusy="false",t.removeAttribute("disabled"),e?([].forEach.call(this.wrapperEl.querySelectorAll(et.pagination),(function(t){t.innerHTML=n.pagination})),this.reviewsEl.innerHTML+=n.reviews,this.init(),new p(this.reviewsEl)):window.location=location}},{key:"handlePagination",value:function(t,i,n,e){e?(this.paginate(n),GLSR.urlparameter&&window.history.pushState(i,"",t.href)):window.location=t.href}},{key:"handlePopstate",value:function(t,i,n){n?this.paginate(i):console.error(i)}},{key:"paginate",value:function(t){[].forEach.call(this.wrapperEl.querySelectorAll(et.pagination),(function(i){i.innerHTML=t.pagination})),this.reviewsEl.innerHTML=t.reviews,this.scrollToTop(),this.init(),this.wrapperEl.classList.remove(et.hide),new p(this.reviewsEl),GLSR.Event.trigger("site-reviews/pagination/handle",t,this)}},{key:"scrollToTop",value:function(){var t=nt.scrollOffset;[].forEach.call(GLSR.ajaxpagination,(function(i){var n=document.querySelector(i);n&&"fixed"===window.getComputedStyle(n).getPropertyValue("position")&&(t+=n.clientHeight)}));var i=this.reviewsEl.getBoundingClientRect().top-t;i>0||this.scrollStep({endY:i,offset:window.pageYOffset,startTime:window.performance.now(),startY:this.reviewsEl.scrollTop})}},{key:"scrollStep",value:function(t){var i=Math.min(1,(window.performance.now()-t.startTime)/nt.scrollTime),n=.5*(1-Math.cos(Math.PI*i)),e=t.startY+(t.endY-t.startY)*n;window.scroll(0,t.offset+e),e!==t.endY&&window.requestAnimationFrame(this.scrollStep.bind(this,t))}}]),t}(),st=function(){[].forEach.call(document.querySelectorAll(et.pagination),(function(t){var i=t.closest(".glsr");i&&(t.classList.contains("glsr-ajax-loadmore")||t.classList.contains("glsr-ajax-pagination"))&&new ot(i)}))},rt=function(){var t="glsr-modal__content",i="glsr-modal__review";window.GLSR.Modal.init({onClose:function(n,e,o){n.querySelector("."+t).innerHTML="",n.classList.remove(i),GLSR.Event.trigger("site-reviews/modal/close",n,e,o)},onOpen:function(n,e,o){var s=e.closest(".glsr").cloneNode(!0),r=e.closest(".glsr-review").cloneNode(!0);s.innerHTML="",s.appendChild(r),n.querySelector("."+t).appendChild(s),n.classList.add(i),GLSR.Event.trigger("site-reviews/modal/open",n,e,o)},openTrigger:"data-excerpt-trigger"})},ut=function(){[].forEach.call(document.querySelectorAll(".glsr"),(function(t){var i="glsr-"+window.getComputedStyle(t,null).getPropertyValue("direction");t.classList.add(i)})),new p,new O,st()};window.hasOwnProperty("GLSR")||(window.GLSR={}),window.GLSR.ajax=new s,window.GLSR.forms=[],window.GLSR.Event=f,window.GLSR.Forms=O,window.GLSR.Modal=it,f.on("site-reviews/init",ut),f.on("site-reviews/excerpts/init",rt),document.addEventListener("DOMContentLoaded",(function(){f.trigger("site-reviews/init")}))},113:function(){},30:function(){},966:function(){},83:function(){},649:function(){},408:function(){},529:function(){},275:function(){},872:function(){},865:function(){},774:function(){},625:function(){},193:function(){},644:function(){},651:function(){},344:function(){},753:function(){},189:function(){},832:function(){},345:function(){},974:function(){},511:function(){},894:function(){},474:function(){},688:function(){},522:function(){},167:function(){},406:function(){},829:function(){},273:function(){},518:function(){},963:function(){},449:function(t){function i(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}function n(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function e(t,i,e){return i&&n(t.prototype,i),e&&n(t,e),t}var o={classNames:{active:"gl-active",base:"gl-star-rating",selected:"gl-selected"},clearable:!0,maxStars:10,prebuilt:!1,stars:null,tooltip:"Select a Rating"},s=function(t,i,n){t.classList[i?"add":"remove"](n)},r=function(t){var i=document.createElement("span");for(var n in t=t||{})i.setAttribute(n,t[n]);return i},u=function(t,i,n){var e=r(n);return t.parentNode.insertBefore(e,i?t.nextSibling:t),e},a=function t(){for(var i=arguments.length,n=new Array(i),e=0;e<i;e++)n[e]=arguments[e];var o={};return n.forEach((function(i){Object.keys(i||{}).forEach((function(e){if(void 0!==n[0][e]){var s=i[e];"Object"!==h(s)||"Object"!==h(o[e])?o[e]=s:o[e]=t(o[e],s)}}))})),o},h=function(t){return{}.toString.call(t).slice(8,-1)},c=function(){function t(n,e){var o,s;i(this,t),this.direction=window.getComputedStyle(n,null).getPropertyValue("direction"),this.el=n,this.events={change:this.onChange.bind(this),keydown:this.onKeyDown.bind(this),mousedown:this.onPointerDown.bind(this),mouseleave:this.onPointerLeave.bind(this),mousemove:this.onPointerMove.bind(this),reset:this.onReset.bind(this),touchend:this.onPointerDown.bind(this),touchmove:this.onPointerMove.bind(this)},this.indexActive=null,this.indexSelected=null,this.props=e,this.tick=null,this.ticking=!1,this.values=function(t){var i=[];return[].forEach.call(t.options,(function(t){var n=parseInt(t.value,10)||0;n>0&&i.push({index:t.index,text:t.text,value:n})})),i.sort((function(t,i){return t.value-i.value}))}(n),this.widgetEl=null,this.el.widget&&this.el.widget.destroy(),o=this.values.length,s=this.props.maxStars,/^\d+$/.test(o)&&1<=o&&o<=s?this.build():this.destroy()}return e(t,[{key:"build",value:function(){this.destroy(),this.buildWidget(),this.selectValue(this.indexSelected=this.selected(),!1),this.handleEvents("add"),this.el.widget=this}},{key:"buildWidget",value:function(){var t,i,n=this;this.props.prebuilt?(t=this.el.parentNode,i=t.querySelector("."+this.props.classNames.base+"--stars")):((t=u(this.el,!1,{class:this.props.classNames.base})).appendChild(this.el),i=u(this.el,!0,{class:this.props.classNames.base+"--stars"}),this.values.forEach((function(t,e){var o=r({"data-index":e,"data-value":t.value});"function"==typeof n.props.stars&&n.props.stars.call(n,o,t,e),[].forEach.call(o.children,(function(t){return t.style.pointerEvents="none"})),i.innerHTML+=o.outerHTML}))),t.dataset.starRating="",t.classList.add(this.props.classNames.base+"--"+this.direction),this.props.tooltip&&i.setAttribute("role","tooltip"),this.widgetEl=i}},{key:"changeIndexTo",value:function(t,i){var n=this;if(this.indexActive!==t||i){if([].forEach.call(this.widgetEl.children,(function(i,e){s(i,e<=t,n.props.classNames.active),s(i,e===n.indexSelected,n.props.classNames.selected)})),this.widgetEl.setAttribute("data-rating",t+1),"function"==typeof this.props.stars||this.props.prebuilt||(this.widgetEl.classList.remove("s"+10*(this.indexActive+1)),this.widgetEl.classList.add("s"+10*(t+1))),this.props.tooltip){var e=t<0?this.props.tooltip:this.values[t].text;this.widgetEl.setAttribute("aria-label",e)}this.indexActive=t}this.ticking=!1}},{key:"destroy",value:function(){this.indexActive=null,this.indexSelected=this.selected();var t=this.el.parentNode;t.classList.contains(this.props.classNames.base)&&(this.props.prebuilt?(this.widgetEl=t.querySelector("."+this.props.classNames.base+"--stars"),t.classList.remove(this.props.classNames.base+"--"+this.direction),delete t.dataset.starRating):t.parentNode.replaceChild(this.el,t),this.handleEvents("remove")),delete this.el.widget}},{key:"eventListener",value:function(t,i,n,e){var o=this;n.forEach((function(n){return t[i+"EventListener"](n,o.events[n],e||!1)}))}},{key:"handleEvents",value:function(t){var i=this.el.closest("form");i&&"FORM"===i.tagName&&this.eventListener(i,t,["reset"]),this.eventListener(this.el,t,["change"]),"add"===t&&this.el.disabled||(this.eventListener(this.el,t,["keydown"]),this.eventListener(this.widgetEl,t,["mousedown","mouseleave","mousemove","touchend","touchmove"],!1))}},{key:"indexFromEvent",value:function(t){var i,n,e=(null===(i=t.touches)||void 0===i?void 0:i[0])||(null===(n=t.changedTouches)||void 0===n?void 0:n[0])||t,o=document.elementFromPoint(e.clientX,e.clientY);return[].slice.call(o.parentNode.children).indexOf(o)}},{key:"onChange",value:function(){this.changeIndexTo(this.selected(),!0)}},{key:"onKeyDown",value:function(t){var i=t.key.slice(5);if(~["Left","Right"].indexOf(i)){var n="Left"===i?-1:1;"rtl"===this.direction&&(n*=-1);var e=this.values.length-1,o=Math.min(Math.max(this.selected()+n,-1),e);this.selectValue(o,!0)}}},{key:"onPointerDown",value:function(t){t.preventDefault();var i=this.indexFromEvent(t);this.props.clearable&&i===this.indexSelected&&(i=-1),this.selectValue(i,!0)}},{key:"onPointerLeave",value:function(t){var i=this;t.preventDefault(),cancelAnimationFrame(this.tick),requestAnimationFrame((function(){return i.changeIndexTo(i.indexSelected)}))}},{key:"onPointerMove",value:function(t){var i=this;t.preventDefault(),this.ticking||(this.tick=requestAnimationFrame((function(){return i.changeIndexTo(i.indexFromEvent(t))})),this.ticking=!0)}},{key:"onReset",value:function(){var t,i=this.valueIndex(null===(t=this.el.querySelector("[selected]"))||void 0===t?void 0:t.value);this.selectValue(i||-1,!1)}},{key:"selected",value:function(){return this.valueIndex(this.el.value)}},{key:"selectValue",value:function(t,i){var n;this.el.value=(null===(n=this.values[t])||void 0===n?void 0:n.value)||"",this.indexSelected=this.selected(),!1===i?this.changeIndexTo(this.selected(),!0):this.el.dispatchEvent(new Event("change"))}},{key:"valueIndex",value:function(t){return this.values.findIndex((function(i){return i.value===+t}))}}]),t}(),f=function(){function t(n,e){i(this,t),this.destroy=this.destroy.bind(this),this.rebuild=this.rebuild.bind(this),this.widgets=[],this.buildWidgets(n,e)}return e(t,[{key:"buildWidgets",value:function(t,i){var n=this;this.queryElements(t).forEach((function(t){var e=a(o,i,JSON.parse(t.getAttribute("data-options")));"SELECT"!==t.tagName||t.widget||(!e.prebuilt&&t.parentNode.classList.contains(e.classNames.base)&&n.unwrap(t),n.widgets.push(new c(t,e)))}))}},{key:"destroy",value:function(){this.widgets.forEach((function(t){return t.destroy()}))}},{key:"queryElements",value:function(t){return"HTMLSelectElement"===h(t)?[t]:"NodeList"===h(t)?[].slice.call(t):"String"===h(t)?[].slice.call(document.querySelectorAll(t)):[]}},{key:"rebuild",value:function(){this.widgets.forEach((function(t){return t.build()}))}},{key:"unwrap",value:function(t){var i=t.parentNode,n=i.parentNode;n.insertBefore(t,i),n.removeChild(i)}}]),t}();t.exports=f}},n={};function e(t){var o=n[t];if(void 0!==o)return o.exports;var s=n[t]={exports:{}};return i[t](s,s.exports,e),s.exports}e.m=i,t=[],e.O=function(i,n,o,s){if(!n){var r=1/0;for(c=0;c<t.length;c++){n=t[c][0],o=t[c][1],s=t[c][2];for(var u=!0,a=0;a<n.length;a++)(!1&s||r>=s)&&Object.keys(e.O).every((function(t){return e.O[t](n[a])}))?n.splice(a--,1):(u=!1,s<r&&(r=s));if(u){t.splice(c--,1);var h=o();void 0!==h&&(i=h)}}return i}s=s||0;for(var c=t.length;c>0&&t[c-1][2]>s;c--)t[c]=t[c-1];t[c]=[n,o,s]},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,{a:i}),i},e.d=function(t,i){for(var n in i)e.o(i,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:i[n]})},e.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},function(){var t={341:0,884:0,320:0,974:0,570:0,184:0,979:0,444:0,224:0,384:0,81:0,877:0,691:0,931:0,192:0,77:0,753:0,540:0,69:0,16:0,831:0,181:0,337:0,193:0,994:0,232:0,896:0,737:0,612:0,554:0,483:0,49:0,985:0};e.O.j=function(i){return 0===t[i]};var i=function(i,n){var o,s,r=n[0],u=n[1],a=n[2],h=0;if(r.some((function(i){return 0!==t[i]}))){for(o in u)e.o(u,o)&&(e.m[o]=u[o]);if(a)var c=a(e)}for(i&&i(n);h<r.length;h++)s=r[h],e.o(t,s)&&t[s]&&t[s][0](),t[r[h]]=0;return e.O(c)},n=self.webpackChunk=self.webpackChunk||[];n.forEach(i.bind(null,0)),n.push=i.bind(null,n.push.bind(n))}(),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(721)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(406)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(829)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(273)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(518)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(963)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(113)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(30)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(966)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(83)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(649)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(408)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(529)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(275)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(872)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(865)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(774)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(625)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(193)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(644)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(651)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(344)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(753)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(189)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(832)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(345)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(974)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(511)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(894)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(474)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(688)})),e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(522)}));var o=e.O(void 0,[884,320,974,570,184,979,444,224,384,81,877,691,931,192,77,753,540,69,16,831,181,337,193,994,232,896,737,612,554,483,49,985],(function(){return e(167)}));o=e.O(o)}();
assets/styles/admin/admin.css CHANGED
@@ -1 +1 @@
1
- @charset "UTF-8";.glsr-premium-hero{background-color:#252f3f;background-image:radial-gradient(at left,#252f3f 50%,#161e2e 100%);display:flex;flex-direction:column;flex-wrap:wrap;margin:12px 0}@media screen and (min-width:600px){.glsr-premium-hero{flex-direction:row;flex-wrap:nowrap}}@media screen and (min-width:783px){.glsr-premium-hero{margin:12px 0 20px}}.glsr-premium-hero-image{background-image:url(../../images/addon-premium.svg),radial-gradient(at center,#252f3f 10%,#161e2e 100%);background-position:50% 50%;background-repeat:no-repeat;background-size:auto;display:flex;flex:1;padding-top:66.67%}@media screen and (min-width:514px){.glsr-premium-hero-image{padding-top:50%}}@media screen and (min-width:600px){.glsr-premium-hero-image{max-width:250px;min-width:250px;padding-top:0}}.glsr-premium-hero-content{padding:40px}.glsr-premium-hero-content h2{color:#fff;font-size:32px;font-weight:800;line-height:1.25;margin:0}.glsr-premium-hero-content p{color:#fff;font-size:16px;margin-bottom:1.5em}.glsr-premium-hero-content a{color:#f9efa3}.glsr-premium-hero-content .button{background-image:linear-gradient(45deg,#a57c23,#ebd679 30%,#f2e085 50%,#f9efa3 70%,#a57c23);border-color:transparent;color:#161e2e;font-size:15px!important;font-weight:600}.glsr-premium-hero-content .button:focus,.glsr-premium-hero-content .button:hover{background-image:linear-gradient(65deg,#a57c23,#ebd679 30%,#f2e085 50%,#f9efa3 70%,#a57c23);border-color:transparent;color:#161e2e}.glsr-premium-hero-content .button:focus{box-shadow:0 0 0 2px #252f3f,0 0 0 3px #ebd679}.glsr-addons{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));width:100%}@media only screen and (min-width:783px){.glsr-addons{gap:20px;margin:12px 0}}.glsr-addon{border:1px solid #ccd0d4;box-shadow:0 1px 1px -1px rgba(0,0,0,.1);display:flex;flex-direction:column;position:relative}.glsr-addon-description{background-color:#fff;flex:auto;padding:20px}.glsr-addon-description p{margin:0}.glsr-addon-name{font-size:15px;margin-top:0;text-overflow:ellipsis;white-space:nowrap}.glsr-addon-footer{background:hsla(0,0%,100%,.65);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-sizing:border-box;height:48px;margin:0;overflow:hidden;padding:15px}@media screen and (max-width:782px){.glsr-addon-footer{height:58px}}.glsr-addon-screenshot{background-position:50% 50%;background-repeat:no-repeat;background-size:cover;border-bottom:1px solid #ccd0d4;display:block;margin:-1px;padding-top:66.67%}@media screen and (min-width:514px){.glsr-addon-screenshot{padding-top:100%}}.glsr-addon-screenshot[data-slug=filters]{background-color:#039588;background-image:url(../../images/addon-filters.svg)}.glsr-addon-screenshot[data-slug=forms]{background-color:#617c8b;background-image:url(../../images/addon-forms.svg)}.glsr-addon-screenshot[data-slug=images]{background-color:#673ab7;background-image:url(../../images/addon-images.svg)}.glsr-addon-screenshot[data-slug=notifications]{background-color:#283a89;background-image:url(../../images/addon-notifications.svg)}.glsr-addon-screenshot[data-slug=themes]{background-color:#00acc1;background-image:url(../../images/addon-themes.svg)}.glsr-addon-screenshot[data-slug=woocommerce]{background-color:#7f54b3;background-image:url(../../images/addon-woocommerce.svg)}.glsr-addon-link{bottom:10px;position:absolute;right:15px}@media screen and (max-width:782px){.glsr-addon-link{bottom:6px}}.glsr-addon-link.glsr-external:after{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:" \f504";font-family:dashicons;line-height:1.2;vertical-align:text-bottom}#glsr-premium-button{background-color:#2271b1;border-color:#2271b1;color:#fff;font-weight:400}#glsr-premium-button:focus,#glsr-premium-button:hover{background-color:#135e96;border-color:#135e96;color:#fff}#glsr-premium-button:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px #2271b1}@-webkit-keyframes glsr-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes glsr-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.wp-admin .glsr-button{align-items:center;display:inline-flex;position:relative;white-space:nowrap}.wp-admin .glsr-button span{display:flex}.wp-admin .glsr-button[disabled]{box-shadow:inset 0 0 0 1px #8f98a1;color:#6c7781}.wp-admin .glsr-button[disabled] span{font-size:0;visibility:hidden}.wp-admin .glsr-button.is-small[disabled] span{height:22px}.wp-admin .glsr-button[disabled] span:before{content:attr(data-loading);font-size:13px;visibility:visible}.wp-admin .glsr-button.is-small[disabled] span:before{font-size:11px}.wp-admin .glsr-button:not([disabled]) span[data-alt-text].alt{font-size:0;visibility:hidden}.wp-admin .glsr-button:not([disabled]) span[data-alt-text].alt:before{content:attr(data-alt-text);font-size:13px;visibility:visible}.wp-admin .glsr-button.is-small:not([disabled]) span[data-alt-text].alt:before{font-size:11px}#dashboard_right_now li>span.glsr-review-count:before,#dashboard_right_now li a.glsr-review-count:before{content:"\f459";top:-2px}.post-type-site-review #titlediv #title{margin-bottom:20px}.post-type-site-review #contentdiv textarea,.post-type-site-review .wp-editor-area{-webkit-font-smoothing:antialiased!important;display:block;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-size:16px;height:320px;line-height:1.5;overflow-wrap:break-word;padding:10px;resize:vertical;width:100%}.post-type-site-review .misc-pub-pinned:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#82878c;content:"\f537";display:inline-block;font:normal 20px/1 dashicons;left:-1px;padding:0 2px 0 0;position:relative;top:0;vertical-align:top}.post-type-site-review .misc-pub-pinned .pinned-status-text{font-weight:600}.post-type-site-review .misc-pub-pinned .pinned-status-select{margin-top:3px}.wp-admin .glsr-response{display:block;height:6em;margin:12px 0 0;width:100%}.glsr-mce{display:inline-block;margin-right:1px;position:relative}.glsr-mce-menu.mce-menu{background:#fff;display:none;left:0;margin:-2px 0 0;min-width:100%;padding:5px 0;position:absolute;top:100%}.glsr-mce-menu-item.mce-menu-item{cursor:pointer;font-size:14px;margin-bottom:2px;padding:6px 12px;white-space:nowrap}.mce-glsr-mce-popup a{text-decoration:underline}.mce-glsr-mce-popup p{margin-bottom:1em}.mce-glsr-mce-popup p.strong{font-weight:600}.mce-glsr-mce-popup p.no-margin{margin-bottom:0}.mce-glsr-mce-popup p.margin-top{margin-top:1em}.mce-glsr-btn.mce-btn button{box-sizing:border-box;padding:0 8px}.wp-media-buttons button.glsr-mce-button{margin-right:0;outline:none;padding-left:5px}button.glsr-mce-button:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid;content:"";display:inline-block;height:0;left:-1px;position:relative;top:-1px;width:0}button.glsr-mce-button.active:after{border-bottom:6px solid;border-top:0;top:-2px}button.glsr-mce-button:active{margin-bottom:5px}button.glsr-mce-button .wp-media-buttons-icon:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\f459";font:normal 18px/1 dashicons}@media screen and (max-width:782px){button.glsr-mce-button .wp-media-buttons-icon:before{font-size:20px!important}}div.sc-wrap{margin-right:1px}#site-review-detailsdiv.postbox .inside{margin:0;padding:0}.glsr-response-postbox{margin-bottom:0;margin-top:20px}.js .glsr-response-postbox .hndle{cursor:default}.js .glsr-response-postbox .toggle-indicator:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\f142";display:inline-block;font:normal 20px/1 dashicons;text-decoration:none!important}.js .glsr-response-postbox.closed .toggle-indicator:before{content:"\f140"}.glsr-metabox-table{margin-top:12px;padding:0 12px 12px;width:auto}.glsr-metabox-table td{line-height:1.5;padding:0 14px 8px 0;vertical-align:top}.glsr-metabox-table td:first-child{font-weight:600}.glsr-metabox-table td:last-child{padding-bottom:0}.glsr-metabox-actions{background:#f5f5f5;border-top:1px solid #ccd0d4;clear:both;padding:10px}.glsr-revert-action{float:right;line-height:1.9;text-align:right}.glsr-revert-action .spinner{float:left}.glsr-metabox-field select:focus{border-color:#007cba;border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px #007cba;box-shadow:0 0 0 1px var(--wp-admin-theme-color);color:#016087;color:var(--wp-admin-theme-color-darker-20)}.glsr-metabox-field{box-sizing:border-box;position:relative}.glsr-metabox-field:first-child{margin-top:12px}.glsr-metabox-field .glsr-label{box-sizing:border-box;line-height:1.5;margin:0;overflow:hidden;padding:0 12px;position:relative;white-space:nowrap;width:100%}.glsr-metabox-field .glsr-label label{display:block;font-size:14px;margin:0;overflow:hidden;padding:0;text-overflow:ellipsis}.glsr-metabox-field .glsr-input{box-sizing:border-box;margin:0;padding:12px;position:relative;width:100%}.glsr-metabox-field .glsr-input>img{border-radius:3px;margin-top:12px}.glsr-metabox-field input[type=date],.glsr-metabox-field input[type=datetime-local],.glsr-metabox-field input[type=datetime],.glsr-metabox-field input[type=email],.glsr-metabox-field input[type=month],.glsr-metabox-field input[type=number],.glsr-metabox-field input[type=password],.glsr-metabox-field input[type=search],.glsr-metabox-field input[type=tel],.glsr-metabox-field input[type=text],.glsr-metabox-field input[type=time],.glsr-metabox-field input[type=url],.glsr-metabox-field input[type=week],.glsr-metabox-field select,.glsr-metabox-field textarea{line-height:1.5;margin:0;min-height:30px;padding:3px 8px;width:100%}.glsr-metabox-field .glsr-input label,.glsr-metabox-field input:disabled,.glsr-metabox-field select:disabled,.glsr-metabox-field textarea:disabled{cursor:default}.glsr-input-value:disabled{background-color:#eee!important;border-color:#7e8993!important;color:#32373c!important;opacity:1}@media screen and (min-width:641px){.glsr-metabox-field{display:flex;flex:1 auto}.glsr-metabox-field:first-child{margin-top:0}.glsr-metabox-field:first-child .glsr-input,.glsr-metabox-field:first-child .glsr-label{padding-top:12px}.glsr-metabox-field:last-child .glsr-input,.glsr-metabox-field:last-child .glsr-label{padding-bottom:12px}.glsr-metabox-field .glsr-label{align-items:flex-start;background:#f9f9f9;border-right:1px solid #ddd;display:flex;line-height:40px;min-width:150px;padding:6px 12px;width:20%}.glsr-metabox-field .glsr-label label{font-weight:600}.glsr-metabox-field .glsr-input{display:flex;flex-direction:column;justify-content:center;padding:6px 12px;vertical-align:top}}@media screen and (min-width:783px){.glsr-metabox-field .glsr-label{line-height:30px}}.glsr-toggle-field{display:flex;height:40px;line-height:normal}@media screen and (min-width:641px){.glsr-toggle-field{align-items:center}}@media screen and (min-width:783px){.glsr-toggle-field{height:30px}}.glsr-toggle{display:inline-block;position:relative}.glsr-toggle .glsr-toggle__track{background-color:#fff;border:1px solid #1e1e1e;border-radius:9px;box-sizing:border-box;content:"";display:inline-block;height:18px;transition:background .2s ease;vertical-align:top;width:36px}@media (prefers-reduced-motion:reduce){.glsr-toggle .glsr-toggle__track{transition-duration:0s}}.glsr-toggle .glsr-toggle__thumb{background-color:#1e1e1e;border:5px solid #1e1e1e;border-radius:50%;box-sizing:border-box;display:block;height:12px;left:3px;position:absolute;top:3px;transition:transform .1s ease;width:12px}@media (prefers-reduced-motion:reduce){.glsr-toggle .glsr-toggle__thumb{transition-duration:0s}}.glsr-toggle .glsr-toggle__input[type=checkbox]:checked~.glsr-toggle__track{background-color:#007cba;background-color:var(--wp-admin-theme-color);border:9px solid transparent}.glsr-toggle .glsr-toggle__input:focus+.glsr-toggle__track{box-shadow:0 0 0 2px #fff,0 0 0 3.5px #007cba;box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--wp-admin-theme-color);outline:2px solid transparent;outline-offset:2px}.glsr-toggle .glsr-toggle__input[type=checkbox]:checked~.glsr-toggle__thumb{background-color:#fff;border-width:0;transform:translateX(18px)}.glsr-toggle input.glsr-toggle__input[type=checkbox]{border:none;height:100%;left:0;margin:0;opacity:0;padding:0;position:absolute;top:0;width:100%;z-index:1}.glsr-toggle input.glsr-toggle__input[type=checkbox]:checked{background:none}.glsr-toggle input.glsr-toggle__input[type=checkbox]:before{content:""}.glsr-metabox-field [data-star-rating]>select{clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:circle(1px at 0 0)!important;clip-path:circle(1px at 0 0)!important;height:1px!important;margin:0!important;overflow:hidden!important;padding:0!important;position:absolute!important;top:0!important;visibility:visible!important;white-space:nowrap!important;width:1px!important}.glsr-metabox-field .gl-star-rating:not([data-star-rating]) .gl-star-rating--stars,.glsr-metabox-field [data-star-rating]>select:after,.glsr-metabox-field [data-star-rating]>select:before{display:none!important}.glsr-metabox-field .gl-star-rating--stars{align-items:center;color:#555d66;cursor:pointer;display:flex;float:left;position:relative;white-space:nowrap}.glsr-metabox-field [data-star-rating]>select[disabled]+.gl-star-rating--stars{color:#72777c;cursor:default}.glsr-metabox-field .gl-star-rating--stars>span{-webkit-font-smoothing:antialiased;font-family:dashicons;font-size:30px;letter-spacing:1px;line-height:1;text-align:center;transition:color .1s ease-in}@media screen and (min-width:783px){.glsr-metabox-field .gl-star-rating--stars>span{font-size:24px}}.glsr-metabox-field .gl-star-rating--stars>span:before{content:"\f154"}.glsr-metabox-field .gl-star-rating--stars.s10>span:first-child:before,.glsr-metabox-field .gl-star-rating--stars.s20>span:nth-child(-1n+2):before,.glsr-metabox-field .gl-star-rating--stars.s30>span:nth-child(-1n+3):before,.glsr-metabox-field .gl-star-rating--stars.s40>span:nth-child(-1n+4):before,.glsr-metabox-field .gl-star-rating--stars.s50>span:nth-child(-1n+5):before,.glsr-metabox-field .gl-star-rating--stars.s60>span:nth-child(-1n+6):before,.glsr-metabox-field .gl-star-rating--stars.s70>span:nth-child(-1n+7):before,.glsr-metabox-field .gl-star-rating--stars.s80>span:nth-child(-1n+8):before,.glsr-metabox-field .gl-star-rating--stars.s90>span:nth-child(-1n+9):before,.glsr-metabox-field .gl-star-rating--stars.s100>span:before{content:"\f155"}.glsr-metabox-field [data-star-rating]>select:focus+.gl-star-rating--stars:before{border:1px solid #007cba;border:1px solid var(--wp-admin-theme-color);border-radius:3px;box-shadow:0 0 0 1px #007cba;box-shadow:0 0 0 1px var(--wp-admin-theme-color);box-sizing:border-box;content:"";display:block;height:40px;pointer-events:none;position:absolute;width:100%}@media screen and (min-width:783px){.glsr-metabox-field [data-star-rating]>select:focus+.gl-star-rating--stars:before{height:30px}}.glsr-notice-branded{border-left-color:#f6e05e!important;padding-left:123px}.glsr-notice-branded-image{align-items:center;border-right:1px solid #ccd0d4;bottom:0;display:flex;justify-content:center;left:0;padding:0 5px;position:absolute;width:100px}.glsr-notice-branded .glsr-notice-branded-image{background-color:#faf089;top:0}.glsr-notice-premium .glsr-notice-branded-image{background-color:#252f3f;bottom:-1px;top:-1px}.glsr-notice-branded-image svg{left:0;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;position:relative;top:0;width:100%}.glsr-notice:not(.notice-error):not(.notice-info):not(.notice-warning):not(.glsr-notice-branded){border-left-color:#32373c;display:flex}.glsr-notice-icon{align-items:flex-start;display:flex;margin-left:6px;margin-right:18px;margin-top:18px}.glsr-notice-icon img{height:80px;width:80px}@media only screen and (min-width:601px){.glsr-notice-icon img{height:96px;width:96px}}.glsr-notice-content{margin:6px 0}.glsr-notice-content h3{line-height:1.25;margin-bottom:12px;margin-top:12px}.glsr-notice-content .button,.glsr-notice-content p{margin-bottom:12px;margin-top:0}:root{--base00:#2b303b;--base01:#343d46;--base02:#4f5b66;--base03:#65737e;--base04:#a7adba;--base05:#c0c5ce;--base06:#dfe1e8;--base07:#eff1f5;--base08:#bf616a;--base09:#d08770;--base0A:#ebcb8b;--base0B:#a3be8c;--base0C:#96b5b4;--base0D:#8fa1b3;--base0E:#b48ead;--base0F:#ab7967}.syntax-shortcode,code[class*=language-],pre[class*=language-]{word-wrap:normal;background-color:#181818;background-color:var(--base00);border-radius:2px;color:#d8d8d8;color:var(--base05);font-family:"Operator Mono Lig","Fira Code",monospace;font-size:13px;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;white-space:pre;word-break:normal;word-spacing:normal}.syntax-shortcode,pre[class*=language-]{display:block;margin:.5em 0;overflow:auto;padding:1em}pre[class*=language-]>code{margin:0;padding:0}:not(pre)>code[class*=language-]{border-radius:.3em;padding:.1em;white-space:normal}.token.bold{font-weight:bold}.token.italic{font-style:italic}.syntax-shortcode .tag{color:#ab4642;color:var(--base08)}.syntax-shortcode .attr-name{color:#ba8baf;color:var(--base0E)}.syntax-shortcode .attr-value{color:#a1b56c;color:var(--base0B)}.language-css .comment{color:#585858;color:var(--base03)}.language-css .important,.language-css .selector{color:#ba8baf;color:var(--base0E)}.language-css .function,.language-css .property,.language-css .url .function{color:#7cafc2;color:var(--base0D)}.language-css .string,.language-css .url{color:#a1b56c;color:var(--base0B)}.language-css .atrule,.language-css .atrule .punctuation,.language-css .url .punctuation{color:#d8d8d8;color:var(--base05)}.language-css .atrule .rule{color:#f7ca88;color:var(--base0A)}.language-css .atrule .keyword,.language-html .tag{color:#ab4642;color:var(--base08)}.language-html .attr-name{color:#ba8baf;color:var(--base0E)}.language-html .attr-value{color:#a1b56c;color:var(--base0B)}.language-html .attr-equals,.language-php .attr-value,.language-php .char,.language-php .constant,.language-php .package .punctuation,.language-php .property,.language-php .punctuation,.language-php .regex,.language-php .variable{color:#d8d8d8;color:var(--base05)}.language-php .block-comment,.language-php .cdata,.language-php .comment,.language-php .doctype,.language-php .prolog{color:#585858;color:var(--base03)}.language-php .string{color:#a1b56c;color:var(--base0B)}.language-php .important,.language-php .keyword,.language-php .selector{color:#ba8baf;color:var(--base0E)}.language-php .number,.language-php .operator{color:#ab4642;color:var(--base08)}.language-php .boolean,.language-php .class-name,.language-php .function,.language-php .package{color:#7cafc2;color:var(--base0D)}.shortcode-example{position:relative}.shortcode-example>input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#181818;background-color:var(--base00);border:0;border-radius:2px;color:#d8d8d8;color:var(--base05);display:block;font-family:"Operator Mono","Fira Code",monaco,monospace;font-size:13px;line-height:1.5;margin:0;opacity:0;padding:1em;position:absolute;width:100%}.shortcode-example>input:active,.shortcode-example>input:focus{border:0;box-shadow:none;opacity:1!important}.glsr-progress{display:block;font-size:14px;height:28px;opacity:.65;position:relative;text-align:center}@media screen and (max-width:782px){.glsr-progress{height:31px}}.glsr-progress.active{opacity:1}.glsr-progress *{box-sizing:border-box}.glsr-progress-background,.glsr-progress-bar{background-size:40px 40px;height:100%}.glsr-progress.active .glsr-progress-background,.glsr-progress.active .glsr-progress-bar{-webkit-animation:glsr-progress-bar 1s linear infinite;animation:glsr-progress-bar 1s linear infinite;transition:width 2.5s linear}.glsr-progress-bar{background-color:#616b75;background-image:linear-gradient(-45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);border:1px solid #4a5259;border-radius:3px 0 0 3px;border-top-color:#616b75;color:#fff;overflow:hidden;position:relative;width:0;z-index:1}.glsr-progress-bar[style="width: 0%;"]{border-width:0}.glsr-progress-bar[style="width: 100%;"]{border-radius:3px}.glsr-progress-background{background-color:#f7f7f7;background-image:linear-gradient(-45deg,#fff 25%,transparent 0,transparent 50%,#fff 0,#fff 75%,transparent 0,transparent);border:1px solid #ccc;border-radius:3px;box-shadow:inset 0 1px 2px #ccd0d4;height:28px;left:0;position:absolute;top:0;width:100%}@media screen and (max-width:782px){.glsr-progress-background{height:31px}}.glsr-progress span{color:#555;left:0;line-height:26px;padding:0 6px;position:absolute;top:0}@media screen and (max-width:782px){.glsr-progress span{line-height:29px}}.glsr-progress-bar>span{color:#fff;text-shadow:0 -1px 1px #4a5259,1px 0 1px #4a5259,0 1px 1px #4a5259,-1px 0 1px #4a5259}@-webkit-keyframes glsr-progress-bar{0%{background-position:0 0}to{background-position:40px 0}}@keyframes glsr-progress-bar{0%{background-position:0 0}to{background-position:40px 0}}.glsr-progress .glsr-progress-bar{background-color:#681b98;border-color:#681b98 #591782 #591782}.glsr-progress .glsr-progress-bar>span{text-shadow:0 -1px 1px #591782,1px 0 1px #591782,0 1px 1px #591782,-1px 0 1px #591782}.star-rating .glsr-star{color:#555;font-size:16px;line-height:20px;width:16px}select[data-glsr-track=minimal]{border-color:#dba617!important;color:#c49515!important}select[data-glsr-track=minimal]:focus{box-shadow:0 0 0 1px #dba617}select[data-glsr-track=all]{border-color:#d63638!important;color:#d63638!important}select[data-glsr-track=all]:focus{box-shadow:0 0 0 1px #d63638}td.glsr-string-td1{padding-bottom:2em;position:relative}td.glsr-string-td1 .row-actions{bottom:10px;position:absolute;z-index:1}td.glsr-string-td2 input[type=text]:last-of-type{margin-bottom:0}td.glsr-string-td2 .description{display:block;padding-top:.5em}.is-invalid td.glsr-string-td2 .description{color:#d63638}.mobile td.glsr-string-td1 .row-actions,.no-js td.glsr-string-td1 .row-actions,td.glsr-string-td1 .row-actions.visible,tr:hover td.glsr-string-td1 .row-actions{left:10px}.is-invalid td.glsr-string-td1,.is-invalid td.glsr-string-td1>div,.is-invalid td.glsr-string-td2,.is-invalid td.glsr-string-td2>div{position:relative}.is-invalid td.glsr-string-td1>button,.is-invalid td.glsr-string-td1>div,.is-invalid td.glsr-string-td2>button,.is-invalid td.glsr-string-td2>div{z-index:1}.is-invalid td.glsr-string-td1:after,.is-invalid td.glsr-string-td2:after{background:rgba(220,50,50,.06);bottom:-1px;content:"";display:block;left:-1px;position:absolute;right:-1px;top:-1px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0}.is-invalid td.glsr-string-td1:after{background:rgba(220,50,50,.08)}.is-invalid td.glsr-string-td2 input[type=text],.is-invalid td.glsr-string-td2 textarea{border-color:#e2cbcb}@media screen and (max-width:782px){.post-type-site-review .wp-list-table .is-expanded.is-invalid td:not(.hidden){overflow:unset}}@media screen and (max-width:720px){nav a.glsr-nav-tab,nav a.glsr-nav-tab.nav-tab-active:hover{border-bottom:1px solid #ccc;margin:10px 10px 0 0;transition-property:background,color}.wrap nav.glsr-nav-tab-wrapper{border-bottom:0}}.glsr-card{box-sizing:border-box;max-width:800px}.glsr-card-result{background-color:#f6fbfd;border:1px solid #ccd0d4;margin:1em 0;padding:0 1em}.glsr-card ol{list-style:decimal;margin-left:1.5em}.glsr-card ul{list-style:disc;margin-left:1.5em}.glsr-card h2{margin-top:0;text-align:left}.glsr-heading{color:#000;font-size:14px;font-weight:600}.glsr-card.postbox{margin-bottom:0;padding:0}.glsr-card.postbox:not(:last-child){border-bottom:none}.glsr-card.postbox.closed:last-child{border-bottom:1px solid #ccd0d4}.glsr-card .components-notice{margin:0}.glsr-card .components-notice.is-info{background-color:rgba(231,245,254,.75)}.glsr-card h3.glsr-card-heading{border-top:1px solid #ccd0d4;color:inherit;font-size:inherit;font-weight:600;line-height:inherit;margin:0}.glsr-card h3.glsr-card-heading:first-child{border-top:none}.glsr-accordion-trigger{align-items:center;background:#fff;border:0;color:#32373c;cursor:pointer;display:flex;font-weight:400;justify-content:space-between;margin:0;min-height:46px;padding:1em 3.5em 1em 1.5em;position:relative;text-align:left;-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto;width:100%}.glsr-accordion-trigger .title.dashicons-before:before{margin-left:-.25em;padding-right:.5em}.glsr-accordion-trigger:active,.glsr-accordion-trigger:hover{background:#f8f9f9}.glsr-accordion-trigger:focus{background-color:#f8f9f9;border:none;box-shadow:none;color:#191e23;outline:2px solid #0071a1;outline-offset:-1px;z-index:1}.glsr-accordion-trigger .title{flex-grow:1;font-size:16px;font-weight:600;pointer-events:none}.glsr-accordion-trigger .icon{border:solid #555d66;border-width:0 2px 2px 0;height:.5rem;pointer-events:none;position:absolute;right:1.5em;top:50%;transform:translateY(-70%) rotate(45deg);width:.5rem}.glsr-accordion-trigger[aria-expanded=true] .icon{transform:translateY(-30%) rotate(-135deg)}.glsr-accordion-trigger .badge{border:1px solid #72aee6;color:#32373c;font-weight:500;margin-left:.5rem;padding:.1rem .5rem .15rem}.glsr-accordion-trigger .badge.important{border:1px solid #d63638}@media screen and (max-width:782px){.glsr-accordion-trigger{align-items:flex-start;flex-direction:column}.glsr-accordion-trigger .badge{margin:1em 0 0}}.glsr-card.postbox .inside{border-bottom:none;border-top:1px solid #ccd0d4;margin:0;padding:1em 1.5em}.glsr-card.postbox .inside>:not(h2):first-child{margin-top:.5em}.glsr-card.postbox .inside>:last-child{margin-bottom:.5em!important}.glsr-card p.submit{margin:0}.glsr-card code,.glsr-card pre{-webkit-hyphens:none;-ms-hyphens:none;hyphens:none;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-break:normal;word-spacing:normal}.glsr-card dd{margin:1em 0}.glsr-card dt{font-weight:600;margin:1em 0}.glsr-card code a{text-decoration:none}.glsr-float-left{float:left;padding-right:.25em}.glsr-code[readonly]{-webkit-font-smoothing:antialiased!important;font-family:"Operator Mono","Fira Code",monaco,monospace;font-weight:300;white-space:pre;width:100%}.glsr-code-large{min-height:60vh}@media only screen and (max-width:782px){.glsr-card{max-width:inherit}}.glsr-tooltip{color:#646970;cursor:help;margin-left:6px}tr.glsr-setting-field th{width:210px}tr.glsr-setting-field th .tippy-box{font-weight:400}@media only screen and (min-width:783px){.glsr-tooltip{float:left;margin-left:0;margin-right:6px}}tr.glsr-setting-field td .inline br{display:none}tr.glsr-setting-field td .inline label:after{content:"";margin-right:1em}.glsr-setting-field a.button{margin-top:6px}.glsr-notice-inline{background:hsla(0,0%,100%,.65);color:#555;margin:10px 0 0!important;padding:4px 10px 10px}.glsr-notice-inline p{padding:0!important}.glsr-setting-field{line-height:1.5;margin:1em 0}.glsr-setting-field small code{font-size:inherit;padding:0 3px 1px}.glsr-setting-field>label{margin-right:3px}@media screen and (max-width:782px){.glsr-setting-field>label+input.small-text{margin-left:0}}.glsr-setting-field>ul{margin:0}.glsr-setting-field>ul li{margin-bottom:2px}.glsr-setting-field textarea.code,.post-type-site-review .code,.post-type-site-review code{font-family:"Operator Mono","Fira Code",monaco,monospace}.glsr-hidden{display:none}.glsr-search-box,.glsr-strings-table{max-width:800px;position:relative}.glsr-search-box *,.glsr-strings-table *{box-sizing:border-box}.glsr-search-box,.glsr-search-multibox{margin:1em 0;position:relative}.glsr-search-box.is-active .spinner,.glsr-search-multibox.is-active .spinner{visibility:visible}.glsr-search-box.is-active input[type=search]::-webkit-search-cancel-button,.glsr-search-multibox.is-active input[type=search]::-webkit-search-cancel-button{display:none!important}.glsr-search-box .description{display:block}.glsr-spinner{background-color:#fff;height:20px;position:absolute;right:5px;top:5px;visibility:hidden;width:20px;z-index:30}.glsr-spinner .spinner{margin:0}.loading-content .glsr-spinner{visibility:visible}.glsr-search-input{font-size:1.2em;font-weight:300;line-height:1.5;margin:0;padding:3px 5px;position:relative;width:100%;z-index:2}.site-review_page_settings .glsr-search-input{font-size:16px;height:32px}.glsr-search-input:focus{z-index:20}.glsr-search-results{-webkit-overflow-scrolling:touch;background-color:#fff;border:1px solid #7e8993;border-radius:0 0 4px 4px;border-top:none;box-shadow:0 1px 1px rgba(0,0,0,.04);box-sizing:border-box;left:0;max-height:315px;overflow-y:scroll;padding-top:4px;position:absolute;top:calc(100% - 4px);width:100%;z-index:3}.glsr-search-results:not(.is-active){display:none}.glsr-search-results:before{background:#fff;border-left:1px solid #7e8993;border-right:1px solid #7e8993;box-sizing:border-box;content:"";display:block;height:4px;left:-1px;position:absolute;right:-1px;top:0}.glsr-search-results>div,.glsr-search-results>span{box-sizing:border-box;display:block;height:32px;line-height:32px;margin-top:-1px;overflow:hidden;padding:0 10px;position:relative;text-overflow:ellipsis;white-space:nowrap}.glsr-search-results>div{background-color:#f6fbfd}.glsr-search-results>span:active,.glsr-search-results>span:focus,.glsr-search-results>span:hover{background-color:#00a0d2;color:#fff;cursor:pointer;outline:none}.glsr-search-box-wrap{align-items:center;display:flex;position:relative}.glsr-search-box-wrap .glsr-spinner{right:6px;top:auto}.glsr-strings-table{transition:opacity .2s linear}.glsr-focus .glsr-strings-table{opacity:.2;pointer-events:none}.glsr-string-td1,.glsr-string-td2{border-top:none;padding:13px 15px}.glsr-string-td1{border-right:1px solid #ccd0d4;max-width:375px;vertical-align:top}.glsr-string-td2{max-width:375px;width:60%}.glsr-strings-table p:not(.row-actions){color:#000;font-size:14px;font-weight:400;line-height:1.3}.glsr-strings-table p.row-actions{margin:0}.glsr-strings-table textarea{display:block;margin:0;width:100%}.glsr-strings-table input[type=text]{display:block;margin:0 0 5px;width:100%}.glsr-strings-table input[type=text]:active,.glsr-strings-table input[type=text]:focus{position:relative}.glsr-string-tr:last-child .glsr-string-td2,.glsr-string-tr:not(.is-expanded):last-child .glsr-string-td1{border-bottom:none}@media screen and (max-width:782px){.glsr-search-results>span{padding:0 10px}.glsr-string-td1{border-right:none;max-width:none}.glsr-string-td2{max-width:none;padding:13px 15px!important}.glsr-spinner{right:10px}}.glsr-string-tr.ui-sortable-helper{box-shadow:0 1px 2px rgba(0,0,0,.1);display:table;opacity:.8}.ui-sortable .glsr-string-tr:hover{cursor:move}@media screen and (min-width:783px){.ui-sortable-placeholder+.glsr-string-tr .glsr-string-td2{border-top:1px solid #f1f1f1}}.ui-sortable-helper .glsr-string-td1{border-left:1px solid #999}.ui-sortable-helper .glsr-string-td1,.ui-sortable-helper .glsr-string-td2{border-bottom:1px solid #999!important;border-top:1px solid #999!important}.ui-sortable-helper .glsr-string-td2{border-right:1px solid #999}@media screen and (max-width:782px){.ui-sortable-helper .glsr-string-td1{border:1px solid #999}.ui-sortable-helper.is-expanded .glsr-string-td1{border-bottom:none!important}.ui-sortable-helper.is-expanded .glsr-string-td2{border:1px solid #999;border-top-color:#f1f1f1!important}}.glsr-search-multibox,.glsr-search-multibox-entries{display:flex;margin:0;position:relative}.glsr-search-multibox-entries{background-color:#fff;border:1px solid #7e8993;border-radius:4px;box-shadow:0 0 0 transparent;color:#32373c;flex-direction:column;width:100%;z-index:2}.glsr-search-multibox-entries:focus-within{border-color:#007cba;box-shadow:0 0 0 1px #007cba;outline:2px solid transparent;z-index:20}.glsr-search-multibox .glsr-selected-entries{display:flex;flex-wrap:wrap;padding-right:6px}.glsr-search-multibox .glsr-selected-entries>span{align-items:center;background:rgba(0,0,0,.07);border-radius:3px;box-sizing:border-box;display:flex;font-size:11px;font-style:normal;height:24px;line-height:1;margin:6px 0 0 6px;padding:0 8px 0 24px;position:relative}.glsr-search-multibox .glsr-selected-entries a{color:inherit;pointer-events:none}.glsr-search-multibox .glsr-remove-button{left:2px}.glsr-search-multibox .glsr-remove-icon:before{color:#757575}.glsr-search-multibox input[type=search].glsr-search-input{background:transparent;border:none;flex-grow:1;margin:0;width:auto}.glsr-search-multibox input[type=search].glsr-search-input:focus{box-shadow:none;outline:none}.glsr-search-multibox .glsr-spinner{bottom:5px;right:7px;top:auto}@media screen and (max-width:782px){.glsr-search-multibox .glsr-remove-button{left:6px}.glsr-search-multibox .glsr-selected-entries>span{font-size:14px;height:32px;margin:8px 0 0 8px;padding:8px 10px 8px 30px}.glsr-search-multibox .glsr-spinner{bottom:10px;right:10px}}.glsr-multibox-entry{color:#444;display:block;margin-left:20px}.glsr-remove-button{background:0 0;border:none;cursor:pointer;height:20px;left:-4px;margin:0;padding:0;position:absolute;text-indent:0;width:20px}.glsr-remove-button:focus .glsr-remove-icon:before,.glsr-remove-button:hover .glsr-remove-icon:before{color:#1e1e1e}.glsr-remove-icon:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:0 0;border-radius:50%;color:#007cba;color:var(--wp-admin-theme-color);content:"\f153";display:block;line-height:1.28;font:400 16px/20px dashicons;height:20px;margin-left:0;text-align:center;width:20px}.glsr-setting-field .wp-picker-container{position:relative}.glsr-setting-field .wp-picker-holder{position:absolute;z-index:5}.glsr-status{max-width:750px}.glsr-status th.column-primary{width:50%}.glsr-status td.column-primary{font-size:14px!important;font-weight:600;position:relative}.glsr-status td.column-primary span{font-weight:400}.glsr-status .toggle-row{top:0}.glsr-status .toggle-row:before{top:6px}.glsr-status tfoot td.glsr-radio-column,.glsr-status thead td.glsr-radio-column{color:#82878c;padding-left:4px;text-align:center}@media screen and (max-width:782px){.glsr-status th input[type=radio]{margin-bottom:8px}.glsr-status tfoot td.glsr-radio-column,.glsr-status thead td.glsr-radio-column{padding-left:9px;padding-top:4px}}.wrap nav.glsr-nav-tab-wrapper{margin-top:12px;padding-top:0}nav.glsr-nav-tab-wrapper a.glsr-nav-tab:focus{box-shadow:none;outline:2px solid #0071a1;outline-offset:-1px}.wrap>.glsr-nav-view{margin-top:20px}.glsr-subsubsub{display:flex;flex-wrap:wrap;float:none;margin-top:.5em;text-align:left}.glsr-subsubsub li{align-items:center;display:flex}.glsr-subsubsub li a{padding:0 .2em}.glsr-subsubsub li span{margin:0 .2em}.glsr-subsubsub li:last-child span{display:none}body[class*=type-site-review] [data-tippy-root]{max-width:calc(100vw - 10px)}body[class*=type-site-review] .tippy-box{background-color:#2c3338;border-radius:4px;color:#fff;font-size:14px;line-height:1.4;outline:0;position:relative;transition-property:transform,visibility,opacity}body[class*=type-site-review] .tippy-box a{color:#72aee6}body[class*=type-site-review] .tippy-box a:hover{color:#4f94d4}body[class*=type-site-review] .tippy-box code{background-color:hsla(0,0%,100%,.25);border-radius:2px;display:inline-block;padding:0 3px}body[class*=type-site-review] .tippy-box[data-animation=fade][data-state=hidden]{opacity:0}body[class*=type-site-review] .tippy-box[data-animation=scale][data-placement^=top]{transform-origin:bottom}body[class*=type-site-review] .tippy-box[data-animation=scale][data-placement=top-start]{transform-origin:left bottom}body[class*=type-site-review] .tippy-box[data-animation=scale][data-placement^=right]{transform-origin:left}body[class*=type-site-review] .tippy-box[data-animation=scale][data-placement^=bottom]{transform-origin:top}body[class*=type-site-review] .tippy-box[data-animation=scale][data-placement^=left]{transform-origin:right}body[class*=type-site-review] .tippy-box[data-animation=scale][data-state=hidden]{opacity:0;transform:scale(.5)}body[class*=type-site-review] .tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}body[class*=type-site-review] .tippy-box[data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:initial;border-width:0 8px 8px;left:0;top:-7px;transform-origin:center bottom}body[class*=type-site-review] .tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}body[class*=type-site-review] .tippy-box[data-placement^=top]>.tippy-arrow:before{border-top-color:initial;border-width:8px 8px 0;bottom:-7px;left:0;transform-origin:center top}body[class*=type-site-review] .tippy-box[data-placement^=left]>.tippy-arrow{right:0}body[class*=type-site-review] .tippy-box[data-placement^=left]>.tippy-arrow:before{border-left-color:initial;border-width:8px 0 8px 8px;right:-7px;transform-origin:center left}body[class*=type-site-review] .tippy-box[data-placement^=right]>.tippy-arrow{left:0}body[class*=type-site-review] .tippy-box[data-placement^=right]>.tippy-arrow:before{border-right-color:initial;border-width:8px 8px 8px 0;left:-7px;transform-origin:center right}body[class*=type-site-review] .tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}body[class*=type-site-review] .tippy-arrow{color:#2c3338;height:16px;width:16px}body[class*=type-site-review] .tippy-arrow:before{border-color:transparent;border-style:solid;content:"";position:absolute}body[class*=type-site-review] .tippy-content{max-height:320px;overflow:auto;padding:8px 10px;position:relative;z-index:1}body[class*=type-site-review] .tippy-content ul{list-style:square}body[class*=type-site-review] .tippy-content ul li{margin-bottom:3px}body[class*=type-site-review] .tippy-content ol,body[class*=type-site-review] .tippy-content ul{margin:.5em .5em .5em 1.5em}body[class*=type-site-review] .tippy-box pre[class*=language-]{background-color:transparent;margin:0;padding:0}body[class*=type-site-review] .tippy-box pre[class*=language-] code{background-color:transparent}.glsr-screenshot{border:1px solid #ccd0d4;box-shadow:0 1px 1px rgba(0,0,0,.04);box-sizing:border-box}.glsr-welcome .badge{text-rendering:optimizeLegibility;background-color:#72777c;border-radius:5px;color:#fff;font-size:16px;font-weight:500;padding:.25rem .5rem;position:absolute;right:0;top:1em}@media only screen and (max-width:500px){.glsr-welcome .badge{display:inline-block;position:relative;top:auto}}.glsr-welcome.about-wrap{margin-top:40px}.glsr-welcome.about-wrap .inside li,.glsr-welcome.about-wrap .inside p{font-size:16px}.glsr-welcome .glsr-about-text{margin:1em 0}.glsr-welcome-banner{margin:2em 0 0}.glsr-welcome .about-buttons{display:flex;flex-wrap:wrap;margin:1.5em 0}.glsr-welcome .components-button{margin:0 .5em .5em 0}.glsr-welcome .dashicon:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:normal 18px dashicons;margin-right:6px}.glsr-welcome .glsr-nav-view{margin-top:0}.glsr-welcome ul:not(.glsr-flex-row){list-style:circle;padding-left:20px}.glsr-flex-row{display:flex;flex-direction:row;flex-wrap:wrap;margin-left:-20px;margin-right:-20px}.glsr-column{box-sizing:border-box;max-width:100%;padding-left:20px;padding-right:20px;width:100%}@media (min-width:601px){.glsr-has-2-columns .glsr-column,.glsr-has-3-columns .glsr-column{max-width:50%}}@media (min-width:783px){.glsr-has-3-columns .glsr-column{max-width:33.33%}}[class*=post-type-site-review] .row-actions .id>span{color:#999}#wpbody-content .inline-edit-row .glsr-inline-edit-col-right{margin-top:calc(30px + .2em)}#wpbody-content .inline-edit-row .glsr-inline-edit-col-left,#wpbody-content .inline-edit-row .glsr-inline-edit-col-right{width:50%}#wpbody-content .inline-edit-row .glsr-inline-edit-col-left textarea,#wpbody-content .inline-edit-row .glsr-inline-edit-col-right textarea{height:8em}@media screen and (max-width:782px){#wpbody-content .inline-edit-row .glsr-inline-edit-col-left,#wpbody-content .inline-edit-row .glsr-inline-edit-col-right{float:none;margin-top:0;width:100%}}.wp-locked .row-actions .approve,.wp-locked .row-actions .respond,.wp-locked .row-actions .unapprove{display:none}.glsr-responsive-table{-webkit-overflow-scrolling:touch;overflow-x:auto;position:relative;width:100%}.glsr-responsive-table td{white-space:nowrap}.glsr-metabox-table .star-rating .star,.post-type-site-review .star-rating .star{color:#555;font-size:16px;line-height:20px;width:16px}.post-type-site-review .star-rating .star{margin-top:-2px}.post-type-site-review .hide-column-tog+.pinned-icon+svg,.post-type-site-review .wp-list-table .approve,.post-type-site-review .wp-list-table .status-pending .unapprove{display:none}.post-type-site-review .wp-list-table .spam .approve,.post-type-site-review .wp-list-table .status-pending .approve,.post-type-site-review .wp-list-table .trash .approve{display:inline}.post-type-site-review .wp-list-table .approve a{color:#006505}.post-type-site-review .wp-list-table .approve a:hover{color:#007f06}.post-type-site-review .wp-list-table .unapprove a{color:#d98500}.post-type-site-review .wp-list-table .unapprove a:hover{color:#f39500}.post-type-site-review .wp-list-table th.column-rating{width:100px}.post-type-site-review .wp-list-table td.column-is_pinned i.pin-review{align-items:center;cursor:pointer;display:flex;float:none;justify-content:center;margin:0;transition:none}.post-type-site-review .wp-list-table td.column-is_pinned i{line-height:24px;text-indent:-3px}.post-type-site-review .wp-list-table td.column-is_pinned i:not(.pinned){color:rgba(85,85,85,.2)}.post-type-site-review .wp-list-table :not(.status-pending)+tr.status-pending th.check-column{box-shadow:inset 0 1px 0 rgba(0,0,0,.07),inset 0 -1px 0 rgba(0,0,0,.07)}.post-type-site-review .wp-list-table :not(.status-pending)+tr.status-pending td:nth-child(2){box-shadow:inset 0 1px 0 rgba(0,0,0,.07)}.post-type-site-review .wp-list-table :not(.status-pending)+tr.status-pending:not(.is-expanded) td:nth-child(2){box-shadow:inset 0 1px 0 rgba(0,0,0,.07),inset 0 -1px 0 rgba(0,0,0,.07)}.post-type-site-review .wp-list-table tr.status-pending.is-expanded td:last-child,.post-type-site-review .wp-list-table tr.status-pending:not(.is-expanded) td:nth-child(2),.post-type-site-review .wp-list-table tr.status-pending th.check-column{box-shadow:inset 0 -1px 0 rgba(0,0,0,.07)}.post-type-site-review .wp-list-table tr.status-pending td,.post-type-site-review .wp-list-table tr.status-pending th.check-column{background-color:#fef7f1}.post-type-site-review .wp-list-table tr.status-pending th.check-column{border-left:4px solid #d54e21;position:relative;z-index:1}.post-type-site-review .wp-list-table tr.status-pending th.check-column input{margin-left:4px}@media screen and (min-width:783px){.post-type-site-review .wp-list-table :not(.status-pending)+tr.status-pending td{box-shadow:inset 0 1px 0 rgba(0,0,0,.07),inset 0 -1px 0 rgba(0,0,0,.07)}.post-type-site-review .wp-list-table tr.status-pending td{box-shadow:inset 0 -1px 0 rgba(0,0,0,.07)}.post-type-site-review .wp-list-table th.column-assigned_posts,.post-type-site-review .wp-list-table th.column-assigned_users,.post-type-site-review .wp-list-table th.column-ip_address{white-space:nowrap}.post-type-site-review .wp-list-table th.column-assigned_posts,.post-type-site-review .wp-list-table th.column-assigned_users,.post-type-site-review .wp-list-table th.column-name,.post-type-site-review .wp-list-table th.column-taxonomy-site-review-category,.post-type-site-review .wp-list-table th.column-type{width:120px}.post-type-site-review .wp-list-table th.column-is_pinned{width:45px}.post-type-site-review .wp-list-table th.column-is_pinned span.pinned-icon span{display:none}.post-type-site-review .wp-list-table th.column-is_pinned span.pinned-icon:after{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\f537";display:inline-block;font:normal 20px/1 dashicons;font-size:16px;height:20px;line-height:22px;position:relative;text-align:center;vertical-align:top;width:16px}.post-type-site-review .wp-list-table th.column-is_pinned .sorting-indicator{margin-left:3px}.post-type-site-review .wp-list-table td.column-is_pinned{padding:8px 6px}.post-type-site-review .wp-list-table td.column-is_pinned i{text-indent:0}}#scheduled.glsr-nav-view{margin-top:.5em}#scheduled.glsr-nav-view .subsubsub{margin-top:0}#scheduled.glsr-nav-view thead td{padding-left:4px}#scheduled.glsr-nav-view tbody th{border-left:4px solid transparent;padding-left:0}#scheduled.glsr-nav-view tbody tr.action-in-progress th{border-color:#c3c4c7}#scheduled.glsr-nav-view tbody tr.action-pending th{border-color:#ffb900}#scheduled.glsr-nav-view tbody tr.action-failed th{border-color:#dc3232}#scheduled.glsr-nav-view .column-args .glsr-tooltip,#scheduled.glsr-nav-view .column-log_entries .glsr-tooltip{float:none;margin:0}@media screen and (min-width:783px){#scheduled.glsr-nav-view .column-args,#scheduled.glsr-nav-view .column-log_entries{text-align:center;width:40px}#scheduled.glsr-nav-view .column-recurrence,#scheduled.glsr-nav-view .column-status{width:12%}#scheduled.glsr-nav-view .column-schedule{width:210px}}#available-widgets [class*=site-reviews] .widget-title:before{content:"\f459"}.glsr-no-margins{margin:0!important}::placeholder{color:#72777c!important;font-size:inherit!important;line-height:inherit!important;opacity:1}::-webkit-input-placeholder{color:#72777c!important;font-size:inherit!important;line-height:inherit!important;opacity:1}:-moz-placeholder,::-moz-placeholder{color:#72777c!important;font-size:inherit!important;line-height:inherit!important;opacity:1}:-ms-input-placeholder{color:#72777c!important;font-size:inherit!important;line-height:inherit!important;opacity:1}
1
+ @charset "UTF-8";.glsr-premium-hero{background-color:#252f3f;background-image:radial-gradient(at left,#252f3f 50%,#161e2e 100%);display:flex;flex-direction:column;flex-wrap:wrap;margin:12px 0}@media screen and (min-width:600px){.glsr-premium-hero{flex-direction:row;flex-wrap:nowrap}}@media screen and (min-width:783px){.glsr-premium-hero{margin:12px 0 20px}}.glsr-premium-hero-image{background-image:url(../../images/addon-premium.svg),radial-gradient(at center,#252f3f 10%,#161e2e 100%);background-position:50% 50%;background-repeat:no-repeat;background-size:auto;display:flex;flex:1;padding-top:66.67%}@media screen and (min-width:514px){.glsr-premium-hero-image{padding-top:50%}}@media screen and (min-width:600px){.glsr-premium-hero-image{max-width:250px;min-width:250px;padding-top:0}}.glsr-premium-hero-content{padding:40px}.glsr-premium-hero-content h2{color:#fff;font-size:32px;font-weight:800;line-height:1.25;margin:0}.glsr-premium-hero-content p{color:#fff;font-size:16px;margin-bottom:1.5em}.glsr-premium-hero-content a{color:#f9efa3}.glsr-premium-hero-content .button{background-image:linear-gradient(45deg,#a57c23,#ebd679 30%,#f2e085 50%,#f9efa3 70%,#a57c23);border-color:transparent;color:#161e2e;font-size:15px!important;font-weight:600}.glsr-premium-hero-content .button:focus,.glsr-premium-hero-content .button:hover{background-image:linear-gradient(65deg,#a57c23,#ebd679 30%,#f2e085 50%,#f9efa3 70%,#a57c23);border-color:transparent;color:#161e2e}.glsr-premium-hero-content .button:focus{box-shadow:0 0 0 2px #252f3f,0 0 0 3px #ebd679}.glsr-addons{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));width:100%}@media only screen and (min-width:783px){.glsr-addons{gap:20px;margin:12px 0}}.glsr-addon{border:1px solid #ccd0d4;box-shadow:0 1px 1px -1px rgba(0,0,0,.1);display:flex;flex-direction:column;position:relative}.glsr-addon-description{background-color:#fff;flex:auto;padding:20px}.glsr-addon-description p{margin:0}.glsr-addon-name{font-size:15px;margin-top:0;text-overflow:ellipsis;white-space:nowrap}.glsr-addon-footer{background:hsla(0,0%,100%,.65);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-sizing:border-box;height:48px;margin:0;overflow:hidden;padding:15px}@media screen and (max-width:782px){.glsr-addon-footer{height:58px}}.glsr-addon-screenshot{background-position:50% 50%;background-repeat:no-repeat;background-size:cover;border-bottom:1px solid #ccd0d4;display:block;margin:-1px;padding-top:66.67%}@media screen and (min-width:514px){.glsr-addon-screenshot{padding-top:100%}}.glsr-addon-screenshot[data-slug=filters]{background-color:#039588;background-image:url(../../images/addon-filters.svg)}.glsr-addon-screenshot[data-slug=forms]{background-color:#617c8b;background-image:url(../../images/addon-forms.svg)}.glsr-addon-screenshot[data-slug=images]{background-color:#673ab7;background-image:url(../../images/addon-images.svg)}.glsr-addon-screenshot[data-slug=notifications]{background-color:#283a89;background-image:url(../../images/addon-notifications.svg)}.glsr-addon-screenshot[data-slug=themes]{background-color:#00acc1;background-image:url(../../images/addon-themes.svg)}.glsr-addon-screenshot[data-slug=woocommerce]{background-color:#7f54b3;background-image:url(../../images/addon-woocommerce.svg)}.glsr-addon-link{bottom:10px;position:absolute;right:15px}@media screen and (max-width:782px){.glsr-addon-link{bottom:6px}}.glsr-addon-link.glsr-external:after{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:" \f504";font-family:dashicons;line-height:1.2;vertical-align:text-bottom}#glsr-premium-button{background-color:#2271b1;border-color:#2271b1;color:#fff;font-weight:400}#glsr-premium-button:focus,#glsr-premium-button:hover{background-color:#135e96;border-color:#135e96;color:#fff}#glsr-premium-button:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px #2271b1}@-webkit-keyframes glsr-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes glsr-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.wp-admin .glsr-button{align-items:center;display:inline-flex;position:relative;white-space:nowrap}.wp-admin .glsr-button span{display:flex}.wp-admin .glsr-button[disabled]{box-shadow:inset 0 0 0 1px #8f98a1;color:#6c7781}.wp-admin .glsr-button[disabled] span{font-size:0;visibility:hidden}.wp-admin .glsr-button.is-small[disabled] span{height:22px}.wp-admin .glsr-button[disabled] span:before{content:attr(data-loading);font-size:13px;visibility:visible}.wp-admin .glsr-button.is-small[disabled] span:before{font-size:11px}.wp-admin .glsr-button:not([disabled]) span[data-alt-text].alt{font-size:0;visibility:hidden}.wp-admin .glsr-button:not([disabled]) span[data-alt-text].alt:before{content:attr(data-alt-text);font-size:13px;visibility:visible}.wp-admin .glsr-button.is-small:not([disabled]) span[data-alt-text].alt:before{font-size:11px}#dashboard_right_now li>span.glsr-review-count:before,#dashboard_right_now li a.glsr-review-count:before{content:"\f459";top:-2px}.post-type-site-review #titlediv #title{margin-bottom:20px}.post-type-site-review #contentdiv textarea,.post-type-site-review .wp-editor-area{-webkit-font-smoothing:antialiased!important;display:block;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-size:16px;height:320px;line-height:1.5;overflow-wrap:break-word;padding:10px;resize:vertical;width:100%}.post-type-site-review .misc-pub-pinned:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#82878c;content:"\f537";display:inline-block;font:normal 20px/1 dashicons;left:-1px;padding:0 2px 0 0;position:relative;top:0;vertical-align:top}.post-type-site-review .misc-pub-pinned .pinned-status-text{font-weight:600}.post-type-site-review .misc-pub-pinned .pinned-status-select{margin-top:3px}.wp-admin .glsr-response{display:block;height:6em;margin:12px 0 0;width:100%}.glsr-mce{display:inline-block;margin-right:1px;position:relative}.glsr-mce-menu.mce-menu{background:#fff;display:none;left:0;margin:-2px 0 0;min-width:100%;padding:5px 0;position:absolute;top:100%}.glsr-mce-menu-item.mce-menu-item{cursor:pointer;font-size:14px;margin-bottom:2px;padding:6px 12px;white-space:nowrap}.mce-glsr-mce-popup a{text-decoration:underline}.mce-glsr-mce-popup p{margin-bottom:1em}.mce-glsr-mce-popup p.strong{font-weight:600}.mce-glsr-mce-popup p.no-margin{margin-bottom:0}.mce-glsr-mce-popup p.margin-top{margin-top:1em}.mce-glsr-btn.mce-btn button{box-sizing:border-box;padding:0 8px}.wp-media-buttons button.glsr-mce-button{margin-right:0;outline:none;padding-left:5px}button.glsr-mce-button:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid;content:"";display:inline-block;height:0;left:-1px;position:relative;top:-1px;width:0}button.glsr-mce-button.active:after{border-bottom:6px solid;border-top:0;top:-2px}button.glsr-mce-button:active{margin-bottom:5px}button.glsr-mce-button .wp-media-buttons-icon:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\f459";font:normal 18px/1 dashicons}@media screen and (max-width:782px){button.glsr-mce-button .wp-media-buttons-icon:before{font-size:20px!important}}div.sc-wrap{margin-right:1px}#site-review-detailsdiv.postbox .inside{margin:0;padding:0}.glsr-response-postbox{margin-bottom:0;margin-top:20px}.js .glsr-response-postbox .hndle{cursor:default}.js .glsr-response-postbox .toggle-indicator:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\f142";display:inline-block;font:normal 20px/1 dashicons;text-decoration:none!important}.js .glsr-response-postbox.closed .toggle-indicator:before{content:"\f140"}.glsr-metabox-table{margin-top:12px;padding:0 12px 12px;width:auto}.glsr-metabox-table td{line-height:1.5;padding:0 14px 8px 0;vertical-align:top}.glsr-metabox-table td:first-child{font-weight:600}.glsr-metabox-table td:last-child{padding-bottom:0}.glsr-metabox-actions{background:#f5f5f5;border-top:1px solid #ccd0d4;clear:both;padding:10px}.glsr-revert-action{float:right;line-height:1.9;text-align:right}.glsr-revert-action .spinner{float:left}.glsr-metabox-field select:focus{border-color:#007cba;border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px #007cba;box-shadow:0 0 0 1px var(--wp-admin-theme-color);color:#016087;color:var(--wp-admin-theme-color-darker-20)}.glsr-metabox-field{box-sizing:border-box;position:relative}.glsr-metabox-field:first-child{margin-top:12px}.glsr-metabox-field .glsr-label{box-sizing:border-box;line-height:1.5;margin:0;overflow:hidden;padding:0 12px;position:relative;white-space:nowrap;width:100%}.glsr-metabox-field .glsr-label label{display:block;font-size:14px;margin:0;overflow:hidden;padding:0;text-overflow:ellipsis}.glsr-metabox-field .glsr-input{box-sizing:border-box;margin:0;padding:12px;position:relative;width:100%}.glsr-metabox-field .glsr-input>img{border-radius:3px;margin-top:12px}.glsr-metabox-field input[type=date],.glsr-metabox-field input[type=datetime-local],.glsr-metabox-field input[type=datetime],.glsr-metabox-field input[type=email],.glsr-metabox-field input[type=month],.glsr-metabox-field input[type=number],.glsr-metabox-field input[type=password],.glsr-metabox-field input[type=search],.glsr-metabox-field input[type=tel],.glsr-metabox-field input[type=text],.glsr-metabox-field input[type=time],.glsr-metabox-field input[type=url],.glsr-metabox-field input[type=week],.glsr-metabox-field select,.glsr-metabox-field textarea{line-height:1.5;margin:0;min-height:30px;padding:3px 8px;width:100%}.glsr-metabox-field .glsr-input label,.glsr-metabox-field input:disabled,.glsr-metabox-field select:disabled,.glsr-metabox-field textarea:disabled{cursor:default}.glsr-input-value:disabled{background-color:#eee!important;border-color:#7e8993!important;color:#32373c!important;opacity:1}@media screen and (min-width:641px){.glsr-metabox-field{display:flex;flex:1 auto}.glsr-metabox-field:first-child{margin-top:0}.glsr-metabox-field:first-child .glsr-input,.glsr-metabox-field:first-child .glsr-label{padding-top:12px}.glsr-metabox-field:last-child .glsr-input,.glsr-metabox-field:last-child .glsr-label{padding-bottom:12px}.glsr-metabox-field .glsr-label{align-items:flex-start;background:#f9f9f9;border-right:1px solid #ddd;display:flex;line-height:40px;min-width:150px;padding:6px 12px;width:20%}.glsr-metabox-field .glsr-label label{font-weight:600}.glsr-metabox-field .glsr-input{display:flex;flex-direction:column;justify-content:center;padding:6px 12px;vertical-align:top}}@media screen and (min-width:783px){.glsr-metabox-field .glsr-label{line-height:30px}}.glsr-toggle-field{display:flex;height:40px;line-height:normal}@media screen and (min-width:641px){.glsr-toggle-field{align-items:center}}@media screen and (min-width:783px){.glsr-toggle-field{height:30px}}.glsr-toggle{display:inline-block;position:relative}.glsr-toggle .glsr-toggle__track{background-color:#fff;border:1px solid #1e1e1e;border-radius:9px;box-sizing:border-box;content:"";display:inline-block;height:18px;transition:background .2s ease;vertical-align:top;width:36px}@media (prefers-reduced-motion:reduce){.glsr-toggle .glsr-toggle__track{transition-duration:0s}}.glsr-toggle .glsr-toggle__thumb{background-color:#1e1e1e;border:5px solid #1e1e1e;border-radius:50%;box-sizing:border-box;display:block;height:12px;left:3px;position:absolute;top:3px;transition:transform .1s ease;width:12px}@media (prefers-reduced-motion:reduce){.glsr-toggle .glsr-toggle__thumb{transition-duration:0s}}.glsr-toggle .glsr-toggle__input[type=checkbox]:checked~.glsr-toggle__track{background-color:#007cba;background-color:var(--wp-admin-theme-color);border:9px solid transparent}.glsr-toggle .glsr-toggle__input:focus+.glsr-toggle__track{box-shadow:0 0 0 2px #fff,0 0 0 3.5px #007cba;box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--wp-admin-theme-color);outline:2px solid transparent;outline-offset:2px}.glsr-toggle .glsr-toggle__input[type=checkbox]:checked~.glsr-toggle__thumb{background-color:#fff;border-width:0;transform:translateX(18px)}.glsr-toggle input.glsr-toggle__input[type=checkbox]{border:none;height:100%;left:0;margin:0;opacity:0;padding:0;position:absolute;top:0;width:100%;z-index:1}.glsr-toggle input.glsr-toggle__input[type=checkbox]:checked{background:none}.glsr-toggle input.glsr-toggle__input[type=checkbox]:before{content:""}.glsr-metabox-field [data-star-rating]>select{clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:circle(1px at 0 0)!important;clip-path:circle(1px at 0 0)!important;height:1px!important;margin:0!important;overflow:hidden!important;padding:0!important;position:absolute!important;top:0!important;visibility:visible!important;white-space:nowrap!important;width:1px!important}.glsr-metabox-field .gl-star-rating:not([data-star-rating]) .gl-star-rating--stars,.glsr-metabox-field [data-star-rating]>select:after,.glsr-metabox-field [data-star-rating]>select:before{display:none!important}.glsr-metabox-field .gl-star-rating--stars{align-items:center;color:#555d66;cursor:pointer;display:flex;float:left;position:relative;white-space:nowrap}.glsr-metabox-field [data-star-rating]>select[disabled]+.gl-star-rating--stars{color:#72777c;cursor:default}.glsr-metabox-field .gl-star-rating--stars>span{-webkit-font-smoothing:antialiased;font-family:dashicons;font-size:30px;letter-spacing:1px;line-height:1;text-align:center;transition:color .1s ease-in}@media screen and (min-width:783px){.glsr-metabox-field .gl-star-rating--stars>span{font-size:24px}}.glsr-metabox-field .gl-star-rating--stars>span:before{content:"\f154"}.glsr-metabox-field .gl-star-rating--stars.s10>span:first-child:before,.glsr-metabox-field .gl-star-rating--stars.s20>span:nth-child(-1n+2):before,.glsr-metabox-field .gl-star-rating--stars.s30>span:nth-child(-1n+3):before,.glsr-metabox-field .gl-star-rating--stars.s40>span:nth-child(-1n+4):before,.glsr-metabox-field .gl-star-rating--stars.s50>span:nth-child(-1n+5):before,.glsr-metabox-field .gl-star-rating--stars.s60>span:nth-child(-1n+6):before,.glsr-metabox-field .gl-star-rating--stars.s70>span:nth-child(-1n+7):before,.glsr-metabox-field .gl-star-rating--stars.s80>span:nth-child(-1n+8):before,.glsr-metabox-field .gl-star-rating--stars.s90>span:nth-child(-1n+9):before,.glsr-metabox-field .gl-star-rating--stars.s100>span:before{content:"\f155"}.glsr-metabox-field [data-star-rating]>select:focus+.gl-star-rating--stars:before{border:1px solid #007cba;border:1px solid var(--wp-admin-theme-color);border-radius:3px;box-shadow:0 0 0 1px #007cba;box-shadow:0 0 0 1px var(--wp-admin-theme-color);box-sizing:border-box;content:"";display:block;height:40px;pointer-events:none;position:absolute;width:100%}@media screen and (min-width:783px){.glsr-metabox-field [data-star-rating]>select:focus+.gl-star-rating--stars:before{height:30px}}.glsr-notice-branded{border-left-color:#f6e05e!important;padding-left:123px}.glsr-notice-branded-image{align-items:center;border-right:1px solid #ccd0d4;bottom:0;display:flex;justify-content:center;left:0;padding:0 5px;position:absolute;width:100px}.glsr-notice-branded .glsr-notice-branded-image{background-color:#faf089;top:0}.glsr-notice-premium .glsr-notice-branded-image{background-color:#252f3f;bottom:-1px;top:-1px}.glsr-notice-branded-image svg{left:0;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;position:relative;top:0;width:100%}.glsr-notice:not(.notice-error):not(.notice-info):not(.notice-warning):not(.glsr-notice-branded){border-left-color:#32373c;display:flex}.glsr-notice-icon{align-items:flex-start;display:flex;margin-left:6px;margin-right:18px;margin-top:18px}.glsr-notice-icon img{height:80px;width:80px}@media only screen and (min-width:601px){.glsr-notice-icon img{height:96px;width:96px}}.glsr-notice-content{margin:6px 0}.glsr-notice-content h3{line-height:1.25;margin-bottom:12px;margin-top:12px}.glsr-notice-content .button,.glsr-notice-content p{margin-bottom:12px;margin-top:0}:root{--base00:#2b303b;--base01:#343d46;--base02:#4f5b66;--base03:#65737e;--base04:#a7adba;--base05:#c0c5ce;--base06:#dfe1e8;--base07:#eff1f5;--base08:#bf616a;--base09:#d08770;--base0A:#ebcb8b;--base0B:#a3be8c;--base0C:#96b5b4;--base0D:#8fa1b3;--base0E:#b48ead;--base0F:#ab7967}.syntax-shortcode,code[class*=language-],pre[class*=language-]{word-wrap:normal;background-color:#181818;background-color:var(--base00);border-radius:2px;color:#d8d8d8;color:var(--base05);font-family:"Operator Mono Lig","Fira Code",monospace;font-size:13px;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;white-space:pre;word-break:normal;word-spacing:normal}.syntax-shortcode,pre[class*=language-]{display:block;margin:.5em 0;overflow:auto;padding:1em}pre[class*=language-]>code{margin:0;padding:0}:not(pre)>code[class*=language-]{border-radius:.3em;padding:.1em;white-space:normal}.token.bold{font-weight:bold}.token.italic{font-style:italic}.syntax-shortcode .tag{color:#ab4642;color:var(--base08)}.syntax-shortcode .attr-name{color:#ba8baf;color:var(--base0E)}.syntax-shortcode .attr-value{color:#a1b56c;color:var(--base0B)}.language-css .comment{color:#585858;color:var(--base03)}.language-css .important,.language-css .selector{color:#ba8baf;color:var(--base0E)}.language-css .function,.language-css .property,.language-css .url .function{color:#7cafc2;color:var(--base0D)}.language-css .string,.language-css .url{color:#a1b56c;color:var(--base0B)}.language-css .atrule,.language-css .atrule .punctuation,.language-css .url .punctuation{color:#d8d8d8;color:var(--base05)}.language-css .atrule .rule{color:#f7ca88;color:var(--base0A)}.language-css .atrule .keyword,.language-html .tag{color:#ab4642;color:var(--base08)}.language-html .attr-name{color:#ba8baf;color:var(--base0E)}.language-html .attr-value{color:#a1b56c;color:var(--base0B)}.language-html .attr-equals,.language-php .attr-value,.language-php .char,.language-php .constant,.language-php .package .punctuation,.language-php .property,.language-php .punctuation,.language-php .regex,.language-php .variable{color:#d8d8d8;color:var(--base05)}.language-php .block-comment,.language-php .cdata,.language-php .comment,.language-php .doctype,.language-php .prolog{color:#585858;color:var(--base03)}.language-php .string{color:#a1b56c;color:var(--base0B)}.language-php .important,.language-php .keyword,.language-php .selector{color:#ba8baf;color:var(--base0E)}.language-php .number,.language-php .operator{color:#ab4642;color:var(--base08)}.language-php .boolean,.language-php .class-name,.language-php .function,.language-php .package{color:#7cafc2;color:var(--base0D)}.shortcode-example{position:relative}.shortcode-example>input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#181818;background-color:var(--base00);border:0;border-radius:2px;color:#d8d8d8;color:var(--base05);display:block;font-family:"Operator Mono","Fira Code",monaco,monospace;font-size:13px;line-height:1.5;margin:0;opacity:0;padding:1em;position:absolute;width:100%}.shortcode-example>input:active,.shortcode-example>input:focus{border:0;box-shadow:none;opacity:1!important}.glsr-progress{display:block;font-size:14px;height:28px;opacity:.65;position:relative;text-align:center}@media screen and (max-width:782px){.glsr-progress{height:31px}}.glsr-progress.active{opacity:1}.glsr-progress *{box-sizing:border-box}.glsr-progress-background,.glsr-progress-bar{background-size:40px 40px;height:100%}.glsr-progress.active .glsr-progress-background,.glsr-progress.active .glsr-progress-bar{-webkit-animation:glsr-progress-bar 1s linear infinite;animation:glsr-progress-bar 1s linear infinite;transition:width 2.5s linear}.glsr-progress-bar{background-color:#616b75;background-image:linear-gradient(-45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);border:1px solid #4a5259;border-radius:3px 0 0 3px;border-top-color:#616b75;color:#fff;overflow:hidden;position:relative;width:0;z-index:1}.glsr-progress-bar[style="width: 0%;"]{border-width:0}.glsr-progress-bar[style="width: 100%;"]{border-radius:3px}.glsr-progress-background{background-color:#f7f7f7;background-image:linear-gradient(-45deg,#fff 25%,transparent 0,transparent 50%,#fff 0,#fff 75%,transparent 0,transparent);border:1px solid #ccc;border-radius:3px;box-shadow:inset 0 1px 2px #ccd0d4;height:28px;left:0;position:absolute;top:0;width:100%}@media screen and (max-width:782px){.glsr-progress-background{height:31px}}.glsr-progress span{color:#555;left:0;line-height:26px;padding:0 6px;position:absolute;top:0}@media screen and (max-width:782px){.glsr-progress span{line-height:29px}}.glsr-progress-bar>span{color:#fff;text-shadow:0 -1px 1px #4a5259,1px 0 1px #4a5259,0 1px 1px #4a5259,-1px 0 1px #4a5259}@-webkit-keyframes glsr-progress-bar{0%{background-position:0 0}to{background-position:40px 0}}@keyframes glsr-progress-bar{0%{background-position:0 0}to{background-position:40px 0}}.glsr-progress .glsr-progress-bar{background-color:#681b98;border-color:#681b98 #591782 #591782}.glsr-progress .glsr-progress-bar>span{text-shadow:0 -1px 1px #591782,1px 0 1px #591782,0 1px 1px #591782,-1px 0 1px #591782}.star-rating .glsr-star{color:#555;font-size:16px;line-height:20px;width:16px}select[data-glsr-track=minimal]{border-color:#dba617!important;color:#c49515!important}select[data-glsr-track=minimal]:focus{box-shadow:0 0 0 1px #dba617}select[data-glsr-track=all]{border-color:#d63638!important;color:#d63638!important}select[data-glsr-track=all]:focus{box-shadow:0 0 0 1px #d63638}td.glsr-string-td1{padding-bottom:2em;position:relative}td.glsr-string-td1 .row-actions{bottom:10px;position:absolute;z-index:1}td.glsr-string-td2 input[type=text]:last-of-type{margin-bottom:0}td.glsr-string-td2 .description{display:block;padding-top:.5em}.is-invalid td.glsr-string-td2 .description{color:#d63638}.mobile td.glsr-string-td1 .row-actions,.no-js td.glsr-string-td1 .row-actions,td.glsr-string-td1 .row-actions.visible,tr:hover td.glsr-string-td1 .row-actions{left:10px}.is-invalid td.glsr-string-td1,.is-invalid td.glsr-string-td1>div,.is-invalid td.glsr-string-td2,.is-invalid td.glsr-string-td2>div{position:relative}.is-invalid td.glsr-string-td1>button,.is-invalid td.glsr-string-td1>div,.is-invalid td.glsr-string-td2>button,.is-invalid td.glsr-string-td2>div{z-index:1}.is-invalid td.glsr-string-td1:after,.is-invalid td.glsr-string-td2:after{background:rgba(220,50,50,.06);bottom:-1px;content:"";display:block;left:-1px;position:absolute;right:-1px;top:-1px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0}.is-invalid td.glsr-string-td1:after{background:rgba(220,50,50,.08)}.is-invalid td.glsr-string-td2 input[type=text],.is-invalid td.glsr-string-td2 textarea{border-color:#e2cbcb}@media screen and (max-width:782px){.post-type-site-review .wp-list-table .is-expanded.is-invalid td:not(.hidden){overflow:unset}}@media screen and (max-width:720px){nav a.glsr-nav-tab,nav a.glsr-nav-tab.nav-tab-active:hover{border-bottom:1px solid #ccc;margin:10px 10px 0 0;transition-property:background,color}.wrap nav.glsr-nav-tab-wrapper{border-bottom:0}}.glsr-card{box-sizing:border-box;max-width:800px}.glsr-card-result{background-color:#f6fbfd;border:1px solid #ccd0d4;margin:1em 0;padding:0 1em}.glsr-card ol{list-style:decimal;margin-left:1.5em}.glsr-card ul{list-style:disc;margin-left:1.5em}.glsr-card h2{margin-top:0;text-align:left}.glsr-heading{color:#000;font-size:14px;font-weight:600}.glsr-card.postbox{margin-bottom:0;padding:0}.glsr-card.postbox:not(:last-child){border-bottom:none}.glsr-card.postbox.closed:last-child{border-bottom:1px solid #ccd0d4}.glsr-card .components-notice{margin:0}.glsr-card .components-notice.is-info{background-color:rgba(231,245,254,.75)}.glsr-card h3.glsr-card-heading{border-top:1px solid #ccd0d4;color:inherit;font-size:inherit;font-weight:600;line-height:inherit;margin:0}.glsr-card h3.glsr-card-heading:first-child{border-top:none}.glsr-accordion-trigger{align-items:center;background:#fff;border:0;color:#32373c;cursor:pointer;display:flex;font-weight:400;justify-content:space-between;margin:0;min-height:46px;padding:1em 3.5em 1em 1.5em;position:relative;text-align:left;-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto;width:100%}.glsr-accordion-trigger .title.dashicons-before:before{margin-left:-.25em;padding-right:.5em}.glsr-accordion-trigger:active,.glsr-accordion-trigger:hover{background:#f8f9f9}.glsr-accordion-trigger:focus{background-color:#f8f9f9;border:none;box-shadow:none;color:#191e23;outline:2px solid #0071a1;outline-offset:-1px;z-index:1}.glsr-accordion-trigger .title{flex-grow:1;font-size:16px;font-weight:600;pointer-events:none}.glsr-accordion-trigger .icon{border:solid #555d66;border-width:0 2px 2px 0;height:.5rem;pointer-events:none;position:absolute;right:1.5em;top:50%;transform:translateY(-70%) rotate(45deg);width:.5rem}.glsr-accordion-trigger[aria-expanded=true] .icon{transform:translateY(-30%) rotate(-135deg)}.glsr-accordion-trigger .badge{border:1px solid #72aee6;color:#32373c;font-weight:500;margin-left:.5rem;padding:.1rem .5rem .15rem}.glsr-accordion-trigger .badge.important{border:1px solid #d63638}@media screen and (max-width:782px){.glsr-accordion-trigger{align-items:flex-start;flex-direction:column}.glsr-accordion-trigger .badge{margin:1em 0 0}}.glsr-card.postbox .inside{border-bottom:none;border-top:1px solid #ccd0d4;margin:0;padding:1em 1.5em}.glsr-card.postbox .inside>:not(h2):first-child{margin-top:.5em}.glsr-card.postbox .inside>:last-child{margin-bottom:.5em!important}.glsr-card p.submit{margin:0}.glsr-card code,.glsr-card pre{-webkit-hyphens:none;-ms-hyphens:none;hyphens:none;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-break:normal;word-spacing:normal}.glsr-card dd{margin:1em 0}.glsr-card dt{font-weight:600;margin:1em 0}.glsr-card code a{text-decoration:none}.glsr-float-left{float:left;padding-right:.25em}.glsr-code[readonly]{-webkit-font-smoothing:antialiased!important;font-family:"Operator Mono","Fira Code",monaco,monospace;font-weight:300;white-space:pre;width:100%}.glsr-code-large{min-height:60vh}@media only screen and (max-width:782px){.glsr-card{max-width:inherit}}.glsr-tooltip{color:#646970;cursor:help;margin-left:6px}tr.glsr-setting-field th{width:210px}tr.glsr-setting-field th .tippy-box{font-weight:400}@media only screen and (min-width:783px){.glsr-tooltip{float:left;margin-left:0;margin-right:6px}}tr.glsr-setting-field td .inline br{display:none}tr.glsr-setting-field td .inline label:after{content:"";margin-right:1em}.glsr-setting-field a.button{margin-top:6px}.glsr-notice-inline{background:hsla(0,0%,100%,.65);color:#555;margin:10px 0 0!important;padding:4px 10px 10px}.glsr-notice-inline p{padding:0!important}.glsr-setting-field{line-height:1.5;margin:1em 0}.glsr-setting-field small code{font-size:inherit;padding:0 3px 1px}.glsr-setting-field>label{margin-right:3px}@media screen and (max-width:782px){.glsr-setting-field>label+input.small-text{margin-left:0}}.glsr-setting-field>ul{margin:0}.glsr-setting-field>ul li{margin-bottom:2px}.glsr-setting-field textarea.code,.post-type-site-review .code,.post-type-site-review code{font-family:"Operator Mono","Fira Code",monaco,monospace}.glsr-hidden{display:none}.glsr-search-box,.glsr-strings-table{max-width:800px;position:relative}.glsr-search-box *,.glsr-strings-table *{box-sizing:border-box}.glsr-search-box,.glsr-search-multibox{margin:1em 0;position:relative}.glsr-search-box.is-active .spinner,.glsr-search-multibox.is-active .spinner{visibility:visible}.glsr-search-box.is-active input[type=search]::-webkit-search-cancel-button,.glsr-search-multibox.is-active input[type=search]::-webkit-search-cancel-button{display:none!important}.glsr-search-box .description{display:block}.glsr-spinner{background-color:#fff;height:20px;position:absolute;right:5px;top:5px;visibility:hidden;width:20px;z-index:30}.glsr-spinner .spinner{margin:0}.loading-content .glsr-spinner{visibility:visible}.glsr-search-input{font-size:1.2em;font-weight:300;line-height:1.5;margin:0;padding:3px 5px;position:relative;width:100%;z-index:2}.site-review_page_settings .glsr-search-input{font-size:16px;height:32px}.glsr-search-input:focus{z-index:20}.glsr-search-results{-webkit-overflow-scrolling:touch;background-color:#fff;border:1px solid #7e8993;border-radius:0 0 4px 4px;border-top:none;box-shadow:0 1px 1px rgba(0,0,0,.04);box-sizing:border-box;left:0;max-height:315px;overflow-y:scroll;padding-top:4px;position:absolute;top:calc(100% - 4px);width:100%;z-index:3}.glsr-search-results:not(.is-active){display:none}.glsr-search-results:before{background:#fff;border-left:1px solid #7e8993;border-right:1px solid #7e8993;box-sizing:border-box;content:"";display:block;height:4px;left:-1px;position:absolute;right:-1px;top:0}.glsr-search-results>div,.glsr-search-results>span{box-sizing:border-box;display:block;height:32px;line-height:32px;margin-top:-1px;overflow:hidden;padding:0 10px;position:relative;text-overflow:ellipsis;white-space:nowrap}.glsr-search-results>div{background-color:#f6fbfd}.glsr-search-results>span:active,.glsr-search-results>span:focus,.glsr-search-results>span:hover{background-color:#00a0d2;color:#fff;cursor:pointer;outline:none}.glsr-search-box-wrap{align-items:center;display:flex;position:relative}.glsr-search-box-wrap .glsr-spinner{right:6px;top:auto}.glsr-strings-table{transition:opacity .2s linear}.glsr-focus .glsr-strings-table{opacity:.2;pointer-events:none}.glsr-string-td1,.glsr-string-td2{border-top:none;padding:13px 15px}.glsr-string-td1{border-right:1px solid #ccd0d4;max-width:375px;vertical-align:top}.glsr-string-td2{max-width:375px;width:60%}.glsr-strings-table p:not(.row-actions){color:#000;font-size:14px;font-weight:400;line-height:1.3}.glsr-strings-table p.row-actions{margin:0}.glsr-strings-table textarea{display:block;margin:0;width:100%}.glsr-strings-table input[type=text]{display:block;margin:0 0 5px;width:100%}.glsr-strings-table input[type=text]:active,.glsr-strings-table input[type=text]:focus{position:relative}.glsr-string-tr:last-child .glsr-string-td2,.glsr-string-tr:not(.is-expanded):last-child .glsr-string-td1{border-bottom:none}@media screen and (max-width:782px){.glsr-search-results>span{padding:0 10px}.glsr-string-td1{border-right:none;max-width:none}.glsr-string-td2{max-width:none;padding:13px 15px!important}.glsr-spinner{right:10px}}.glsr-string-tr.ui-sortable-helper{box-shadow:0 1px 2px rgba(0,0,0,.1);display:table;opacity:.8}.ui-sortable .glsr-string-tr:hover{cursor:move}@media screen and (min-width:783px){.ui-sortable-placeholder+.glsr-string-tr .glsr-string-td2{border-top:1px solid #f1f1f1}}.ui-sortable-helper .glsr-string-td1{border-left:1px solid #999}.ui-sortable-helper .glsr-string-td1,.ui-sortable-helper .glsr-string-td2{border-bottom:1px solid #999!important;border-top:1px solid #999!important}.ui-sortable-helper .glsr-string-td2{border-right:1px solid #999}@media screen and (max-width:782px){.ui-sortable-helper .glsr-string-td1{border:1px solid #999}.ui-sortable-helper.is-expanded .glsr-string-td1{border-bottom:none!important}.ui-sortable-helper.is-expanded .glsr-string-td2{border:1px solid #999;border-top-color:#f1f1f1!important}}.glsr-search-multibox,.glsr-search-multibox-entries{display:flex;margin:0;position:relative}.glsr-search-multibox-entries{background-color:#fff;border:1px solid #7e8993;border-radius:4px;box-shadow:0 0 0 transparent;color:#32373c;flex-direction:column;width:100%;z-index:2}.glsr-search-multibox-entries:focus-within{border-color:#007cba;box-shadow:0 0 0 1px #007cba;outline:2px solid transparent;z-index:20}.glsr-search-multibox .glsr-selected-entries{display:flex;flex-wrap:wrap;padding-right:6px}.glsr-search-multibox .glsr-selected-entries>span{align-items:center;background:rgba(0,0,0,.07);border-radius:3px;box-sizing:border-box;display:flex;font-size:11px;font-style:normal;height:24px;line-height:1;margin:6px 0 0 6px;padding:0 8px 0 24px;position:relative}.glsr-search-multibox .glsr-selected-entries a{color:inherit;pointer-events:none}.glsr-search-multibox .glsr-remove-button{left:2px}.glsr-search-multibox .glsr-remove-icon:before{color:#757575}.glsr-search-multibox input[type=search].glsr-search-input{background:transparent;border:none;flex-grow:1;margin:0;width:auto}.glsr-search-multibox input[type=search].glsr-search-input:focus{box-shadow:none;outline:none}.glsr-search-multibox .glsr-spinner{bottom:5px;right:7px;top:auto}@media screen and (max-width:782px){.glsr-search-multibox .glsr-remove-button{left:6px}.glsr-search-multibox .glsr-selected-entries>span{font-size:14px;height:32px;margin:8px 0 0 8px;padding:8px 10px 8px 30px}.glsr-search-multibox .glsr-spinner{bottom:10px;right:10px}}.glsr-multibox-entry{color:#444;display:block;margin-left:20px}.glsr-remove-button{background:0 0;border:none;cursor:pointer;height:20px;left:-4px;margin:0;padding:0;position:absolute;text-indent:0;width:20px}.glsr-remove-button:focus .glsr-remove-icon:before,.glsr-remove-button:hover .glsr-remove-icon:before{color:#1e1e1e}.glsr-remove-icon:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:0 0;border-radius:50%;color:#007cba;color:var(--wp-admin-theme-color);content:"\f153";display:block;line-height:1.28;font:400 16px/20px dashicons;height:20px;margin-left:0;text-align:center;width:20px}.glsr-setting-field .wp-picker-container{position:relative}.glsr-setting-field .wp-picker-holder{position:absolute;z-index:5}.glsr-status{max-width:750px}.glsr-status th.column-primary{width:50%}.glsr-status td.column-primary{font-size:14px!important;font-weight:600;position:relative}.glsr-status td.column-primary span{font-weight:400}.glsr-status .toggle-row{top:0}.glsr-status .toggle-row:before{top:6px}.glsr-status tfoot td.glsr-radio-column,.glsr-status thead td.glsr-radio-column{color:#82878c;padding-left:4px;text-align:center}@media screen and (max-width:782px){.glsr-status th input[type=radio]{margin-bottom:8px}.glsr-status tfoot td.glsr-radio-column,.glsr-status thead td.glsr-radio-column{padding-left:9px;padding-top:4px}}.wrap nav.glsr-nav-tab-wrapper{margin-top:12px;padding-top:0}nav.glsr-nav-tab-wrapper a.glsr-nav-tab:focus{box-shadow:none;outline:2px solid #0071a1;outline-offset:-1px}.wrap>.glsr-nav-view{margin-top:20px}.glsr-subsubsub{display:flex;flex-wrap:wrap;float:none;margin-top:.5em;text-align:left}.glsr-subsubsub li{align-items:center;display:flex}.glsr-subsubsub li a{padding:0 .2em}.glsr-subsubsub li span{margin:0 .2em}.glsr-subsubsub li:last-child span{display:none}body[class*=type-site-review] [data-tippy-root]{max-width:calc(100vw - 10px)}body[class*=type-site-review] .tippy-box{background-color:#2c3338;border-radius:4px;color:#fff;font-size:14px;line-height:1.4;outline:0;position:relative;transition-property:transform,visibility,opacity}body[class*=type-site-review] .tippy-box a{color:#72aee6}body[class*=type-site-review] .tippy-box a:hover{color:#4f94d4}body[class*=type-site-review] .tippy-box code{background-color:hsla(0,0%,100%,.25);border-radius:2px;display:inline-block;padding:0 3px}body[class*=type-site-review] .tippy-box[data-animation=fade][data-state=hidden]{opacity:0}body[class*=type-site-review] .tippy-box[data-animation=scale][data-placement^=top]{transform-origin:bottom}body[class*=type-site-review] .tippy-box[data-animation=scale][data-placement=top-start]{transform-origin:left bottom}body[class*=type-site-review] .tippy-box[data-animation=scale][data-placement^=right]{transform-origin:left}body[class*=type-site-review] .tippy-box[data-animation=scale][data-placement^=bottom]{transform-origin:top}body[class*=type-site-review] .tippy-box[data-animation=scale][data-placement^=left]{transform-origin:right}body[class*=type-site-review] .tippy-box[data-animation=scale][data-state=hidden]{opacity:0;transform:scale(.5)}body[class*=type-site-review] .tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}body[class*=type-site-review] .tippy-box[data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:initial;border-width:0 8px 8px;left:0;top:-7px;transform-origin:center bottom}body[class*=type-site-review] .tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}body[class*=type-site-review] .tippy-box[data-placement^=top]>.tippy-arrow:before{border-top-color:initial;border-width:8px 8px 0;bottom:-7px;left:0;transform-origin:center top}body[class*=type-site-review] .tippy-box[data-placement^=left]>.tippy-arrow{right:0}body[class*=type-site-review] .tippy-box[data-placement^=left]>.tippy-arrow:before{border-left-color:initial;border-width:8px 0 8px 8px;right:-7px;transform-origin:center left}body[class*=type-site-review] .tippy-box[data-placement^=right]>.tippy-arrow{left:0}body[class*=type-site-review] .tippy-box[data-placement^=right]>.tippy-arrow:before{border-right-color:initial;border-width:8px 8px 8px 0;left:-7px;transform-origin:center right}body[class*=type-site-review] .tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}body[class*=type-site-review] .tippy-arrow{color:#2c3338;height:16px;width:16px}body[class*=type-site-review] .tippy-arrow:before{border-color:transparent;border-style:solid;content:"";position:absolute}body[class*=type-site-review] .tippy-content{max-height:320px;overflow:auto;padding:8px 10px;position:relative;z-index:1}body[class*=type-site-review] .tippy-content ul{list-style:square}body[class*=type-site-review] .tippy-content ul li{margin-bottom:3px}body[class*=type-site-review] .tippy-content ol,body[class*=type-site-review] .tippy-content ul{margin:.5em .5em .5em 1.5em}body[class*=type-site-review] .tippy-box pre[class*=language-]{background-color:transparent;margin:0;padding:0}body[class*=type-site-review] .tippy-box pre[class*=language-] code{background-color:transparent}.glsr-screenshot{border:1px solid #ccd0d4;box-shadow:0 1px 1px rgba(0,0,0,.04);box-sizing:border-box}.glsr-welcome .badge{text-rendering:optimizeLegibility;background-color:#72777c;border-radius:5px;color:#fff;font-size:16px;font-weight:500;padding:.25rem .5rem;position:absolute;right:0;top:1em}@media only screen and (max-width:500px){.glsr-welcome .badge{display:inline-block;position:relative;top:auto}}.glsr-welcome.about-wrap{margin-top:40px}.glsr-welcome.about-wrap .inside li,.glsr-welcome.about-wrap .inside p{font-size:16px}.glsr-welcome .glsr-about-text{margin:1em 0}.glsr-welcome-banner{margin:2em 0 0}.glsr-welcome .about-buttons{display:flex;flex-wrap:wrap;margin:1.5em 0}.glsr-welcome .components-button{margin:0 .5em .5em 0}.glsr-welcome .dashicon:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:normal 18px dashicons;margin-right:6px}.glsr-welcome .glsr-nav-view{margin-top:0}.glsr-welcome ul:not(.glsr-flex-row){list-style:circle;padding-left:20px}.glsr-flex-row{display:flex;flex-direction:row;flex-wrap:wrap;margin-left:-20px;margin-right:-20px}.glsr-column{box-sizing:border-box;max-width:100%;padding-left:20px;padding-right:20px;width:100%}@media (min-width:601px){.glsr-has-2-columns .glsr-column,.glsr-has-3-columns .glsr-column{max-width:50%}}@media (min-width:783px){.glsr-has-3-columns .glsr-column{max-width:33.33%}}[class*=post-type-site-review] .row-actions .id>span{color:#999}#wpbody-content .inline-edit-row .glsr-inline-edit-col-right{margin-top:calc(30px + .2em)}#wpbody-content .inline-edit-row .glsr-inline-edit-col-left,#wpbody-content .inline-edit-row .glsr-inline-edit-col-right{width:50%}#wpbody-content .inline-edit-row .glsr-inline-edit-col-left textarea,#wpbody-content .inline-edit-row .glsr-inline-edit-col-right textarea{height:8em}@media screen and (max-width:782px){#wpbody-content .inline-edit-row .glsr-inline-edit-col-left,#wpbody-content .inline-edit-row .glsr-inline-edit-col-right{float:none;margin-top:0;width:100%}}.wp-locked .row-actions .approve,.wp-locked .row-actions .respond,.wp-locked .row-actions .unapprove{display:none}.glsr-responsive-table{-webkit-overflow-scrolling:touch;overflow-x:auto;position:relative;width:100%}.glsr-responsive-table td{white-space:nowrap}.glsr-metabox-table .star-rating .star,.post-type-site-review .star-rating .star{color:#555;font-size:16px;line-height:20px;width:16px}.post-type-site-review .star-rating .star{margin-top:-2px}.post-type-site-review .hide-column-tog+.pinned-icon+svg,.post-type-site-review .wp-list-table .approve,.post-type-site-review .wp-list-table .status-pending .unapprove{display:none}.post-type-site-review .wp-list-table .spam .approve,.post-type-site-review .wp-list-table .status-pending .approve,.post-type-site-review .wp-list-table .trash .approve{display:inline}.post-type-site-review .wp-list-table .approve a{color:#006505}.post-type-site-review .wp-list-table .approve a:hover{color:#007f06}.post-type-site-review .wp-list-table .unapprove a{color:#d98500}.post-type-site-review .wp-list-table .unapprove a:hover{color:#f39500}.post-type-site-review .wp-list-table th.column-rating{width:100px}.post-type-site-review .wp-list-table td.column-is_pinned i.pin-review{align-items:center;cursor:pointer;display:flex;float:none;justify-content:center;margin:0;transition:none}.post-type-site-review .wp-list-table td.column-is_pinned i{line-height:24px;text-indent:-3px}.post-type-site-review .wp-list-table td.column-is_pinned i:not(.pinned){color:rgba(85,85,85,.2)}.post-type-site-review .wp-list-table :not(.status-pending)+tr.status-pending th.check-column{box-shadow:inset 0 1px 0 rgba(0,0,0,.07),inset 0 -1px 0 rgba(0,0,0,.07)}.post-type-site-review .wp-list-table :not(.status-pending)+tr.status-pending td:nth-child(2){box-shadow:inset 0 1px 0 rgba(0,0,0,.07)}.post-type-site-review .wp-list-table :not(.status-pending)+tr.status-pending:not(.is-expanded) td:nth-child(2){box-shadow:inset 0 1px 0 rgba(0,0,0,.07),inset 0 -1px 0 rgba(0,0,0,.07)}.post-type-site-review .wp-list-table tr.status-pending.is-expanded td:last-child,.post-type-site-review .wp-list-table tr.status-pending:not(.is-expanded) td:nth-child(2),.post-type-site-review .wp-list-table tr.status-pending th.check-column{box-shadow:inset 0 -1px 0 rgba(0,0,0,.07)}.post-type-site-review .wp-list-table tr.status-pending td,.post-type-site-review .wp-list-table tr.status-pending th.check-column{background-color:#fef7f1}.post-type-site-review .wp-list-table tr.status-pending th.check-column{border-left:4px solid #d54e21;position:relative;z-index:1}.post-type-site-review .wp-list-table tr.status-pending th.check-column input{margin-left:4px}@media screen and (min-width:783px){.post-type-site-review .wp-list-table :not(.status-pending)+tr.status-pending td{box-shadow:inset 0 1px 0 rgba(0,0,0,.07),inset 0 -1px 0 rgba(0,0,0,.07)}.post-type-site-review .wp-list-table tr.status-pending td{box-shadow:inset 0 -1px 0 rgba(0,0,0,.07)}.post-type-site-review .wp-list-table th.column-assigned_posts,.post-type-site-review .wp-list-table th.column-assigned_users,.post-type-site-review .wp-list-table th.column-ip_address{white-space:nowrap}.post-type-site-review .wp-list-table th.column-assigned_posts,.post-type-site-review .wp-list-table th.column-assigned_users,.post-type-site-review .wp-list-table th.column-name,.post-type-site-review .wp-list-table th.column-taxonomy-site-review-category,.post-type-site-review .wp-list-table th.column-type{width:120px}.post-type-site-review .wp-list-table th.column-is_pinned{width:45px}.post-type-site-review .wp-list-table th.column-is_pinned span.pinned-icon span{display:none}.post-type-site-review .wp-list-table th.column-is_pinned span.pinned-icon:after{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\f537";display:inline-block;font:normal 20px/1 dashicons;font-size:16px;height:20px;line-height:22px;position:relative;text-align:center;vertical-align:top;width:16px}.post-type-site-review .wp-list-table th.column-is_pinned .sorting-indicator{margin-left:3px}.post-type-site-review .wp-list-table td.column-is_pinned{padding:8px 6px}.post-type-site-review .wp-list-table td.column-is_pinned i{text-indent:0}}#scheduled.glsr-nav-view{margin-top:.5em}#scheduled.glsr-nav-view .subsubsub{margin-top:0}#scheduled.glsr-nav-view thead td{padding-left:4px}#scheduled.glsr-nav-view tbody th{border-left:4px solid transparent;padding-left:0}#scheduled.glsr-nav-view tbody tr.action-in-progress th{border-color:#c3c4c7}#scheduled.glsr-nav-view tbody tr.action-pending th{border-color:#ffb900}#scheduled.glsr-nav-view tbody tr.action-failed th{border-color:#dc3232}#scheduled.glsr-nav-view .column-args .glsr-tooltip,#scheduled.glsr-nav-view .column-log_entries .glsr-tooltip{float:none;margin:0}@media screen and (min-width:783px){#scheduled.glsr-nav-view .column-args,#scheduled.glsr-nav-view .column-log_entries{text-align:center;width:40px}#scheduled.glsr-nav-view .column-recurrence,#scheduled.glsr-nav-view .column-status{width:12%}#scheduled.glsr-nav-view .column-schedule{width:210px}}.locked-indicator.spinner{background-position:50%;display:flex;float:none;justify-content:center;margin:3px 0 0;width:auto}.locked-indicator.spinner .locked-indicator-icon{opacity:0}.status-pending .locked-indicator.spinner{margin-right:4px}#available-widgets [class*=site-reviews] .widget-title:before{content:"\f459"}.glsr-no-margins{margin:0!important}::placeholder{color:#72777c!important;font-size:inherit!important;line-height:inherit!important;opacity:1}::-webkit-input-placeholder{color:#72777c!important;font-size:inherit!important;line-height:inherit!important;opacity:1}:-moz-placeholder,::-moz-placeholder{color:#72777c!important;font-size:inherit!important;line-height:inherit!important;opacity:1}:-ms-input-placeholder{color:#72777c!important;font-size:inherit!important;line-height:inherit!important;opacity:1}
assets/styles/blocks/twentytwentytwo-blocks.css ADDED
@@ -0,0 +1 @@
 
1
+ .glsr .glsr-reviews,.glsr .glsr-reviews-wrap{grid-gap:4rem;display:grid;gap:4rem}.glsr .glsr-pagination{position:relative}.glsr .glsr-pagination .navigation,.glsr .glsr-review{opacity:1;transition:opacity .5s}.glsr.glsr-hide .glsr-pagination .navigation,.glsr.glsr-hide .glsr-review{opacity:0!important}.glsr .glsr-review{quotes:"“" "”"}.glsr .glsr-review p{white-space:pre-line}.glsr .glsr-review p br{content:"";display:flex;margin-bottom:1rem}.glsr .glsr-review p:first-of-type{margin-top:0}.glsr .glsr-review p:last-of-type{margin-bottom:0}.glsr .glsr-review-content{word-break:break-word}.glsr .glsr-review-date{white-space:nowrap}.glsr-review-rating{align-items:center;display:inline-flex}.glsr .glsr-review-response{padding:1.5rem;position:relative;width:100%}.glsr .glsr-review-response:before{border-color:currentcolor transparent;border-style:solid;border-width:0 2rem 1.5rem 0;content:"";height:0;opacity:.1;position:absolute;right:1.5rem;top:-1.5rem;width:0}.glsr.glsr-rtl .glsr-review-response:before{border-left-width:2rem;border-right-width:0;left:1.5rem;right:auto}.glsr .glsr-review-response:after{background-color:currentColor;border-radius:0;content:"";height:100%;left:0;opacity:.1;position:absolute;top:0;width:100%}.glsr .glsr-review-response-inner{position:relative;z-index:1}.glsr .glsr-stars{align-items:center;display:flex}.glsr .glsr-star{background-size:1.5rem;flex-shrink:0;font-size:inherit;height:1.5rem;width:1.5rem}[data-block] .glsr-review{align-items:center;display:flex;flex-wrap:wrap}[data-block] .glsr-review>div:first-of-type{margin-top:0}[data-block] .glsr-review>div:last-of-type{margin-bottom:0}[data-block] .glsr-review p{line-height:1.5;margin:1rem 0}[data-block] .glsr-review>.glsr-review-assigned_links{font-style:italic;margin-top:1rem;width:100%}[data-block] .glsr-review>.glsr-review-author{align-items:center;display:flex}[data-block] .glsr-review>:not(.glsr-review-avatar)+.glsr-review-author:before{content:"\2014"}[data-block] .glsr-review>.glsr-review-avatar{align-items:center;display:flex}[data-block] .glsr-review>.glsr-review-avatar img{display:block;-o-object-fit:cover;object-fit:cover}[data-block] .glsr-review>.glsr-review-content{margin:1rem 0;width:100%}[data-block] .glsr-review>.glsr-review-date{align-items:center;display:flex;flex-basis:calc(100% - 7.5rem);flex-grow:1;font-style:italic}[data-block] .glsr-review>.glsr-review-avatar+.glsr-review-author span,[data-block] .glsr-review>.glsr-review-rating+.glsr-review-date span{margin-left:1rem}[data-block].glsr-rtl .glsr-review>.glsr-review-avatar+.glsr-review-author span,[data-block].glsr-rtl .glsr-review>.glsr-review-rating+.glsr-review-date span{margin-left:0;margin-right:1rem}[data-block] .glsr-review>.glsr-review-title{width:100%}[data-block] .glsr-review>.glsr-review-title>*{margin-bottom:1rem;margin-top:0}[data-block] .glsr-review>.glsr-review-response{margin-top:1rem}[data-block] .glsr-hidden{display:none}[data-block] .glsr-read-more{white-space:nowrap}[data-block] .glsr-read-more:before{content:"\2026";margin-left:0;margin-right:.5em}[data-block] .glsr-visible+.glsr-read-more:before{content:""}[data-block].glsr-rtl .glsr-read-more:before{margin-left:.5em;margin-right:0}[data-block] form.glsr-form{grid-row-gap:1rem;display:grid;font-size:1rem;grid-template-columns:repeat(1,minmax(0,1fr));line-height:1.5;row-gap:1rem}[data-block] form.glsr-form .glsr-field{position:relative}[data-block] form.glsr-form label.glsr-label{display:block;float:none;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}[data-block] form.glsr-form input.glsr-input,[data-block] form.glsr-form select.glsr-select,[data-block] form.glsr-form textarea.glsr-textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-clip:padding-box;background-color:#fff;border:1px solid #949494;border-radius:0;box-sizing:border-box;color:inherit;display:block;float:none;font-family:inherit;font-size:1rem;line-height:1.5;margin:0;width:100%}[data-block] form.glsr-form input.glsr-input{overflow:visible;padding:calc(.667em + 2px)}[data-block] form.glsr-form select.glsr-select{-webkit-print-color-adjust:exact;background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E");background-position:right .5em center;background-repeat:no-repeat;background-size:16px 16px;color-adjust:exact;height:auto;max-height:none;max-width:none;min-height:none;min-width:none;opacity:1;padding:calc(.667em + 2px) 3em calc(.667em + 2px) calc(.667em + 2px);text-transform:none}[data-block] form.glsr-form textarea.glsr-textarea{overflow:auto;padding:calc(.667em + 2px);resize:vertical}[data-block] form.glsr-form .glsr-field-checkbox,[data-block] form.glsr-form .glsr-field-radio{display:flex}[data-block] form.glsr-form .glsr-field-checkbox label,[data-block] form.glsr-form .glsr-field-radio label{align-items:flex-start;display:inline-flex;margin:0}[data-block] form.glsr-form .glsr-field-checkbox span:first-of-type,[data-block] form.glsr-form .glsr-field-radio span:first-of-type{align-items:center;display:flex}[data-block] form.glsr-form input[type=checkbox].glsr-input-checkbox,[data-block] form.glsr-form input[type=radio].glsr-input-radio{box-sizing:border-box;display:inline-block;flex-shrink:0;height:1rem;left:0;margin-left:0;margin-right:.5rem;margin-top:0;outline:none;padding:0;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;width:1rem}[data-block].glsr-rtl form.glsr-form input[type=checkbox].glsr-input-checkbox,[data-block].glsr-rtl form.glsr-form input[type=radio].glsr-input-radio{margin-left:.5rem;margin-right:0}[data-block] form.glsr-form .glsr-field-toggle{display:flex}[data-block] form.glsr-form .glsr-toggle{align-items:flex-start;display:inline-flex;flex-direction:row-reverse}[data-block] form.glsr-form .glsr-field-toggle label{display:block;margin-left:.5rem}[data-block].glsr-rtl form.glsr-form .glsr-field-toggle label{margin-left:0;margin-right:.5rem}[data-block] form.glsr-form .glsr-field-toggle input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border-color:transparent!important;border-radius:999px;border-width:1px;box-shadow:none;box-sizing:border-box;cursor:pointer;display:block;height:1.4rem;left:auto;margin:0!important;overflow:hidden;padding:0!important;position:absolute;top:auto!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:calc(2.8rem - 6px);z-index:0}[data-block] form.glsr-form .glsr-field-toggle input[type=checkbox]:after,[data-block] form.glsr-form .glsr-field-toggle input[type=checkbox]:before{display:none}[data-block] form.glsr-form .glsr-field-toggle input[type=checkbox]+.glsr-toggle-track{background-color:transparent;border-radius:999px;box-sizing:border-box;height:1.4rem;opacity:1;padding:3px;pointer-events:none;position:relative;transition:background-color .15s ease-in-out;width:calc(2.8rem - 6px)}[data-block] form.glsr-form .glsr-field-toggle input[type=checkbox]:checked+.glsr-toggle-track{background-color:currentColor;transition:background-color .15s ease-in-out}[data-block] form.glsr-form .glsr-field-toggle input[type=checkbox]+.glsr-toggle-track:before{background-color:currentColor;border-radius:999px;content:"";display:block;height:100%;left:0;opacity:.15;position:absolute;top:0;width:100%}[data-block] form.glsr-form .glsr-field-toggle input[type=checkbox]:checked+.glsr-toggle-track:before{background-color:var(--wp--preset--color--primary);opacity:1;transition:background-color .15s ease-in-out,opacity .15s ease-in-out}[data-block] form.glsr-form .glsr-field-toggle input[type=checkbox]+.glsr-toggle-track:after{background-color:#fff;border-radius:999px;box-shadow:0 .175rem .35rem rgba(0,0,0,.2);content:"";display:block;height:calc(1.4rem - 6px);pointer-events:none;position:relative;transition:transform 75ms ease-in-out;width:calc(1.4rem - 6px);z-index:1}[data-block] form.glsr-form .glsr-field-toggle input[type=checkbox]:checked+.glsr-toggle-track:after{transform:translateX(calc(1.4rem - 6px))}[data-block].glsr-rtl form.glsr-form .glsr-toggle input[type=checkbox]:checked+.glsr-toggle-track:after{transform:translateX(calc(-1.4rem + 6px))}[data-block] form.glsr-form .glsr-field-toggle .glsr-toggle-switch{align-items:center;display:flex;flex-shrink:0;position:relative}[data-block] form.glsr-form [data-star-rating]{align-items:center;display:flex;position:relative}[data-block] form.glsr-form [data-star-rating]>select{clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:circle(1px at 0 0)!important;clip-path:circle(1px at 0 0)!important;height:1px!important;margin:0!important;overflow:hidden!important;padding:0!important;position:absolute!important;top:0!important;visibility:visible!important;white-space:nowrap!important;width:1px!important}[data-block] form.glsr-form [data-star-rating].gl-star-rating--ltr>select{left:0!important}[data-block] form.glsr-form [data-star-rating].gl-star-rating--rtl>select{right:0!important}[data-block] form.glsr-form [data-star-rating]>select:after,[data-block] form.glsr-form [data-star-rating]>select:before{display:none!important}[data-block] form.glsr-form [data-star-rating]>select:focus+.gl-star-rating--stars:before{border-radius:0;box-shadow:0 0 0 3px -moz-mac-focusring;box-shadow:0 0 0 3px -webkit-focus-ring-color;box-shadow:0 0 0 3px Highlight;content:"";display:block;height:100%;outline:1px solid transparent;pointer-events:none;position:absolute;width:100%}[data-block] form.glsr-form .gl-star-rating:not([data-star-rating]) .gl-star-rating--stars{display:none!important}[data-block] form.glsr-form .gl-star-rating--stars{align-items:center;cursor:pointer;display:flex;position:relative}[data-block] select[disabled]+.gl-star-rating--stars{cursor:default}[data-block] form.glsr-form .gl-star-rating--stars>span{display:flex;height:2rem;margin:0;width:2rem}[data-block] form.glsr-form .gl-star-rating--stars[class*=" s"]>span{background-image:none;background-position:50%;background-repeat:no-repeat;background-size:contain}[data-block] form.glsr-form .gl-star-rating--stars.s10>span:first-child,[data-block] form.glsr-form .gl-star-rating--stars.s20>span:nth-child(-1n+2),[data-block] form.glsr-form .gl-star-rating--stars.s30>span:nth-child(-1n+3),[data-block] form.glsr-form .gl-star-rating--stars.s40>span:nth-child(-1n+4),[data-block] form.glsr-form .gl-star-rating--stars.s50>span:nth-child(-1n+5),[data-block] form.glsr-form .gl-star-rating--stars.s60>span:nth-child(-1n+6),[data-block] form.glsr-form .gl-star-rating--stars.s70>span:nth-child(-1n+7),[data-block] form.glsr-form .gl-star-rating--stars.s80>span:nth-child(-1n+8),[data-block] form.glsr-form .gl-star-rating--stars.s90>span:nth-child(-1n+9),[data-block] form.glsr-form .gl-star-rating--stars.s100>span{background-image:none}[data-block] .glsr-summary{align-items:center;display:flex;flex-wrap:wrap;font-family:inherit;font-size:1rem;line-height:1.5;max-width:400px;position:relative;width:100%}[data-block] .glsr-summary>div:first-of-type{margin-top:0}[data-block] .glsr-bar{display:table-row;white-space:nowrap}[data-block] .glsr-bar>span{display:table-cell;vertical-align:middle}[data-block] .glsr-bar-background{position:relative;width:100%}[data-block] .glsr-bar-background:before{background-color:currentColor;content:"";display:block;height:1rem;margin-top:-.5rem;opacity:.1;position:absolute;top:50%;width:100%}[data-block] .glsr-bar-background-percent{background-color:currentColor;color:#faca15;display:block;height:1rem;position:relative}[data-block] .glsr-bar-label{line-height:1;padding:.25rem .5rem .25rem 0}[data-block] .glsr-bar-percent,[data-block].glsr-rtl.glsr-bar-label{padding-left:.5rem;padding-right:0}[data-block] .glsr-bar-percent{line-height:1;text-align:right}[data-block].glsr-rtl.glsr-bar-percent{padding-left:0;padding-right:.5rem}[data-block] .glsr-summary-percentages{font-size:1rem;line-height:1.5;margin-top:.5rem;max-width:400px;position:relative;width:100%}[data-block] .glsr-summary-rating{display:inline-block;font-size:1.5rem;font-weight:700;line-height:1;margin-left:0;margin-right:.5rem;vertical-align:top}[data-block].glsr-rtl.glsr-summary-rating{margin-left:.5rem;margin-right:0}[data-block] .glsr-summary-stars{display:inline-block;margin-left:0;margin-right:.5rem}[data-block].glsr-rtl.glsr-summary-stars{margin-left:.5rem;margin-right:0}[data-block] .glsr-summary-stars .glsr-star{background-size:1.5rem;height:1.5rem;width:1.5rem}[data-block].glsr-rtl.glsr-summary-stars .glsr-star{transform:scaleX(-1)}[data-block] .glsr-summary-text{margin-top:.5rem;width:100%}[data-block] .glsr{min-height:20px}[data-block] .glsr a,[data-block] .glsr button,[data-block] .glsr input,[data-block] .glsr label,[data-block] .glsr select,[data-block] .glsr span,[data-block] .glsr textarea{cursor:default!important;pointer-events:none!important}[data-block] .glsr-read-more:before{display:none}[data-block] .glsr-block-disabled{align-items:center;background-color:rgba(0,0,0,.06);display:flex;justify-content:center;min-height:90px;padding:24px;text-align:center}[data-block] .glsr-form-message{display:none}[data-block] .glsr-field .glsr-stars{align-items:center;display:flex;position:relative;width:auto}[data-block] .glsr-field .glsr-star{background-repeat:no-repeat;background-size:contain;height:2rem;width:2rem}.glsr-star-empty{background-image:url(../../images/star-empty.svg)!important}.glsr-star-half{background-image:url(../../images/star-half.svg)!important}.glsr-star-full{background-image:url(../../images/star-full.svg)!important}.components-panel .glsr-checkbox-control:not(:last-of-type){margin-bottom:0!important}.components-panel .glsr-base-conditional-control{margin-top:4px}@media screen and (max-width:782px){.components-panel select{max-width:100%}}[data-block] form.glsr-form input.glsr-input{height:50px}[data-block] .glsr-button-loadmore,[data-block] form.glsr-form .components-button{background-color:var(--wp--preset--color--primary);border:none;box-shadow:none;color:var(--wp--preset--color--background);font-size:var(--wp--preset--font-size--medium);height:50px;padding:calc(.667em + 2px) calc(1.333em + 2px)}
assets/styles/twentytwentytwo.css ADDED
@@ -0,0 +1 @@
 
1
+ @-webkit-keyframes glsr-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes glsr-fadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes glsr-fadeOut{0%{opacity:1}to{opacity:0}}@keyframes glsr-fadeOut{0%{opacity:1}to{opacity:0}}@-webkit-keyframes glsr-spin{0%{transform:rotate(0deg) translateZ(0)}to{transform:rotate(1turn) translateZ(0)}}@keyframes glsr-spin{0%{transform:rotate(0deg) translateZ(0)}to{transform:rotate(1turn) translateZ(0)}}@-webkit-keyframes glsr-slideIn{0%{transform:translateY(-10%)}to{transform:translateY(0)}}@keyframes glsr-slideIn{0%{transform:translateY(-10%)}to{transform:translateY(0)}}@-webkit-keyframes glsr-slideOut{0%{transform:translateY(0)}to{transform:translateY(10%)}}@keyframes glsr-slideOut{0%{transform:translateY(0)}to{transform:translateY(10%)}}@-webkit-keyframes glsr-zoomIn{0%{transform:scale(.95)}to{transform:scale(1)}}@keyframes glsr-zoomIn{0%{transform:scale(.95)}to{transform:scale(1)}}@-webkit-keyframes glsr-zoomOut{0%{transform:scale(1)}to{transform:scale(.95)}}@keyframes glsr-zoomOut{0%{transform:scale(1)}to{transform:scale(.95)}}.glsr-modal{display:none;pointer-events:none;position:relative;z-index:-1}.glsr-modal.is-open{display:block;pointer-events:auto;z-index:10000}.glsr-modal__overlay{align-items:center;background:rgba(0,0,0,.6);display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw}.glsr-modal__overlay:focus{outline:none}.glsr-modal__dialog{-webkit-overflow-scrolling:touch;background-color:#fff;border-radius:0;box-shadow:0 1px 2px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.07),0 4px 8px rgba(0,0,0,.07),0 8px 16px rgba(0,0,0,.07),0 16px 32px rgba(0,0,0,.07),0 32px 64px rgba(0,0,0,.07);box-sizing:border-box;font-size:16px;line-height:1.5;max-height:calc(100vh - 2rem);max-width:700px;overflow-y:auto;padding:2rem;position:relative;width:calc(100vw - 2rem);will-change:transform}[aria-hidden=false] .glsr-modal__dialog{-webkit-animation:glsr-zoomIn .3s cubic-bezier(0,0,.2,1);animation:glsr-zoomIn .3s cubic-bezier(0,0,.2,1)}[aria-hidden=true] .glsr-modal__dialog{-webkit-animation:glsr-zoomOut .3s cubic-bezier(0,0,.2,1);animation:glsr-zoomOut .3s cubic-bezier(0,0,.2,1)}[aria-hidden=true] .glsr-modal__close{display:none!important}.glsr-modal__close,.glsr-modal__close:focus,.glsr-modal__close:hover{all:revert;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:#000;cursor:pointer;font-size:32px;height:40px;line-height:1;margin:1.5rem;position:absolute;right:0;top:0;transform:scale(1);transition:transform .2s ease-in;width:40px;z-index:10}.glsr-modal__close:hover{transform:scale(1.1)}.glsr-modal__close:before{all:revert;content:"\2715"}.glsr-modal__close:after{display:none}.glsr-modal__content .glsr-read-more{display:none!important}.glsr-modal__content .glsr-hidden-text{display:inline!important}div:not(.glsr-modal__content)>.glsr .glsr-hidden{display:none!important}.glsr-modal[aria-hidden=false] .glsr-modal__overlay{-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-name:glsr-fadeIn;animation-name:glsr-fadeIn}.glsr-modal[aria-hidden=true] .glsr-modal__overlay{-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-name:glsr-fadeOut;animation-name:glsr-fadeOut}.glsr-modal .glsr-modal__overlay{-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1);will-change:transform}.glsr-twentytwentytwo .screen-reader-text{clip:rect(0 0 0 0);word-wrap:normal!important;border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.glsr .glsr-reviews,.glsr .glsr-reviews-wrap{grid-gap:4rem;display:grid;gap:4rem}.glsr .glsr-pagination{position:relative}.glsr .glsr-pagination .navigation,.glsr .glsr-review{opacity:1;transition:opacity .5s}.glsr.glsr-hide .glsr-pagination .navigation,.glsr.glsr-hide .glsr-review{opacity:0!important}.glsr .glsr-review{quotes:"“" "”"}.glsr .glsr-review p{white-space:pre-line}.glsr .glsr-review p br{content:"";display:flex;margin-bottom:1rem}.glsr .glsr-review p:first-of-type{margin-top:0}.glsr .glsr-review p:last-of-type{margin-bottom:0}.glsr .glsr-review-content{word-break:break-word}.glsr .glsr-review-date{white-space:nowrap}.glsr-review-rating{align-items:center;display:inline-flex}.glsr .glsr-review-response{padding:1.5rem;position:relative;width:100%}.glsr .glsr-review-response:before{border-color:currentcolor transparent;border-style:solid;border-width:0 2rem 1.5rem 0;content:"";height:0;opacity:.1;position:absolute;right:1.5rem;top:-1.5rem;width:0}.glsr.glsr-rtl .glsr-review-response:before{border-left-width:2rem;border-right-width:0;left:1.5rem;right:auto}.glsr .glsr-review-response:after{background-color:currentColor;border-radius:0;content:"";height:100%;left:0;opacity:.1;position:absolute;top:0;width:100%}.glsr .glsr-review-response-inner{position:relative;z-index:1}.glsr .glsr-stars{align-items:center;display:flex}.glsr .glsr-star{background-size:1.5rem;flex-shrink:0;font-size:inherit;height:1.5rem;width:1.5rem}.glsr-twentytwentytwo .glsr-review{align-items:center;display:flex;flex-wrap:wrap}.glsr-twentytwentytwo .glsr-review>div:first-of-type{margin-top:0}.glsr-twentytwentytwo .glsr-review>div:last-of-type{margin-bottom:0}.glsr-twentytwentytwo .glsr-review p{line-height:1.5;margin:1rem 0}.glsr-twentytwentytwo .glsr-review>.glsr-review-assigned_links{font-style:italic;margin-top:1rem;width:100%}.glsr-twentytwentytwo .glsr-review>.glsr-review-author{align-items:center;display:flex}.glsr-twentytwentytwo .glsr-review>:not(.glsr-review-avatar)+.glsr-review-author:before{content:"\2014"}.glsr-twentytwentytwo .glsr-review>.glsr-review-avatar{align-items:center;display:flex}.glsr-twentytwentytwo .glsr-review>.glsr-review-avatar img{display:block;-o-object-fit:cover;object-fit:cover}.glsr-twentytwentytwo .glsr-review>.glsr-review-content{margin:1rem 0;width:100%}.glsr-twentytwentytwo .glsr-review>.glsr-review-date{align-items:center;display:flex;flex-basis:calc(100% - 7.5rem);flex-grow:1;font-style:italic}.glsr-twentytwentytwo .glsr-review>.glsr-review-avatar+.glsr-review-author span,.glsr-twentytwentytwo .glsr-review>.glsr-review-rating+.glsr-review-date span{margin-left:1rem}.glsr-twentytwentytwo.glsr-rtl .glsr-review>.glsr-review-avatar+.glsr-review-author span,.glsr-twentytwentytwo.glsr-rtl .glsr-review>.glsr-review-rating+.glsr-review-date span{margin-left:0;margin-right:1rem}.glsr-twentytwentytwo .glsr-review>.glsr-review-title{width:100%}.glsr-twentytwentytwo .glsr-review>.glsr-review-title>*{margin-bottom:1rem;margin-top:0}.glsr-twentytwentytwo .glsr-review>.glsr-review-response{margin-top:1rem}.glsr-twentytwentytwo .glsr-hidden{display:none}.glsr-twentytwentytwo .glsr-read-more{white-space:nowrap}.glsr-twentytwentytwo .glsr-read-more:before{content:"\2026";margin-left:0;margin-right:.5em}.glsr-twentytwentytwo .glsr-visible+.glsr-read-more:before{content:""}.glsr-twentytwentytwo.glsr-rtl .glsr-read-more:before{margin-left:.5em;margin-right:0}.glsr-twentytwentytwo .glsr-pagination .glsr-loader{align-items:center;display:none;height:100%;justify-content:center;left:0;margin:0;position:absolute;top:0;transform:translateZ(0);width:100%}.glsr-twentytwentytwo.glsr-hide .glsr-pagination .glsr-loader,.glsr-twentytwentytwo .glsr-hide .glsr-pagination .glsr-loader{display:flex}.glsr-twentytwentytwo .glsr-spinner{-webkit-animation:glsr-spin .5s linear infinite;animation:glsr-spin .5s linear infinite;border-radius:50%;height:24px;position:relative;width:24px}.glsr-twentytwentytwo .glsr-spinner:after,.glsr-twentytwentytwo .glsr-spinner:before{background:#000;border-radius:50%;content:"";height:8px;position:absolute;width:8px}.glsr-twentytwentytwo .glsr-spinner:before{left:0;top:0}.glsr-twentytwentytwo .glsr-spinner:after{bottom:0;right:0}.glsr-twentytwentytwo form.glsr-form{grid-row-gap:1rem;display:grid;grid-template-columns:repeat(1,minmax(0,1fr));row-gap:1rem}.glsr-twentytwentytwo form.glsr-hide-form{max-height:0!important;opacity:0;overflow:hidden}.glsr-twentytwentytwo form.glsr-form .glsr-field{position:relative}.glsr-twentytwentytwo form.glsr-form .glsr-field-error{color:#e02424}.glsr-twentytwentytwo form.glsr-form .glsr-form-message:not(.glsr-form-failed):not(.glsr-form-success),.glsr-twentytwentytwo form.glsr-form:not(.glsr-form-is-invalid) .glsr-field-error{display:none}.glsr-twentytwentytwo form.glsr-form .glsr-form-failed{color:#e02424}.glsr-twentytwentytwo form.glsr-form .glsr-form-success{color:#057a55}.glsr-twentytwentytwo form.glsr-form .glsr-recaptcha-holder{margin-top:1rem}.glsr-twentytwentytwo form.glsr-form label.glsr-label{display:block;float:none;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}.glsr-twentytwentytwo form.glsr-form input.glsr-input,.glsr-twentytwentytwo form.glsr-form select.glsr-select,.glsr-twentytwentytwo form.glsr-form textarea.glsr-textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-clip:padding-box;background-color:#fff;border:1px solid #949494;border-radius:0;box-sizing:border-box;color:inherit;display:block;float:none;font-family:inherit;font-size:1rem;line-height:1.5;margin-bottom:0;margin-top:0;max-width:none;min-width:none;transition:border-color .15s ease-in-out;width:100%}.glsr-twentytwentytwo form.glsr-form input.glsr-input{overflow:visible;padding:calc(.667em + 2px)}.glsr-twentytwentytwo form.glsr-form select.glsr-select{-webkit-print-color-adjust:exact;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='m7 7 3-3 3 3m0 6-3 3-3-3' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .5em center;background-repeat:no-repeat;background-size:1.5em 1.5em;color-adjust:exact;height:auto;max-height:none;max-width:none;min-height:none;min-width:none;padding:calc(.667em + 2px) 3em calc(.667em + 2px) calc(.667em + 2px);text-transform:none}.glsr-twentytwentytwo form.glsr-form select.glsr-select::-ms-expand{border:none;color:#949494}@media not print{.glsr-twentytwentytwo form.glsr-form select.glsr-select::-ms-expand{display:none}}@media print and (-ms-high-contrast:active),print and (-ms-high-contrast:none){.glsr-twentytwentytwo form.glsr-form select.glsr-select{padding-right:calc(.667em + 2px)}}.glsr-twentytwentytwo form.glsr-form textarea.glsr-textarea{overflow:auto;padding:calc(.667em + 2px);resize:vertical}.glsr-twentytwentytwo form.glsr-form input.glsr-input.glsr-is-invalid,.glsr-twentytwentytwo form.glsr-form select.glsr-select.glsr-is-invalid,.glsr-twentytwentytwo form.glsr-form textarea.glsr-textarea.glsr-is-invalid{border-color:#e02424}.glsr-twentytwentytwo form.glsr-form .glsr-field-checkbox,.glsr-twentytwentytwo form.glsr-form .glsr-field-radio{display:flex}.glsr-twentytwentytwo form.glsr-form .glsr-field-checkbox label,.glsr-twentytwentytwo form.glsr-form .glsr-field-radio label{align-items:flex-start;display:inline-flex;margin:0}.glsr-twentytwentytwo form.glsr-form .glsr-field-checkbox span:first-of-type,.glsr-twentytwentytwo form.glsr-form .glsr-field-radio span:first-of-type{align-items:center;display:flex}.glsr-twentytwentytwo form.glsr-form input[type=checkbox].glsr-input-checkbox,.glsr-twentytwentytwo form.glsr-form input[type=radio].glsr-input-radio{box-sizing:border-box;display:inline-block;flex-shrink:0;height:1rem;left:0;margin-left:0;margin-right:.5rem;margin-top:0;outline:none;padding:0;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;width:1rem}.glsr-twentytwentytwo.glsr-rtl form.glsr-form input[type=checkbox].glsr-input-checkbox,.glsr-twentytwentytwo.glsr-rtl form.glsr-form input[type=radio].glsr-input-radio{margin-left:.5rem;margin-right:0}.glsr-twentytwentytwo form.glsr-form .glsr-field-toggle{display:flex}.glsr-twentytwentytwo form.glsr-form .glsr-toggle{align-items:flex-start;display:inline-flex;flex-direction:row-reverse}.glsr-twentytwentytwo form.glsr-form .glsr-field-toggle label{display:block;margin-left:.5rem}.glsr-twentytwentytwo.glsr-rtl form.glsr-form .glsr-field-toggle label{margin-left:0;margin-right:.5rem}.glsr-twentytwentytwo form.glsr-form .glsr-field-toggle input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border-color:transparent!important;border-radius:999px;border-width:1px;box-shadow:none;box-sizing:border-box;cursor:pointer;display:block;height:1.4rem;left:auto;margin:0!important;overflow:hidden;padding:0!important;position:absolute;top:auto!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:calc(2.8rem - 6px);z-index:0}.glsr-twentytwentytwo form.glsr-form .glsr-field-toggle input[type=checkbox]:after,.glsr-twentytwentytwo form.glsr-form .glsr-field-toggle input[type=checkbox]:before{display:none}.glsr-twentytwentytwo form.glsr-form .glsr-field-toggle input[type=checkbox]+.glsr-toggle-track{background-color:transparent;border-radius:999px;box-sizing:border-box;height:1.4rem;opacity:1;padding:3px;pointer-events:none;position:relative;transition:background-color .15s ease-in-out;width:calc(2.8rem - 6px)}.glsr-twentytwentytwo form.glsr-form .glsr-field-toggle input[type=checkbox]:checked+.glsr-toggle-track{background-color:currentColor;transition:background-color .15s ease-in-out}.glsr-twentytwentytwo form.glsr-form .glsr-field-toggle input[type=checkbox]+.glsr-toggle-track:before{background-color:currentColor;border-radius:999px;content:"";display:block;height:100%;left:0;opacity:.15;position:absolute;top:0;width:100%}.glsr-twentytwentytwo form.glsr-form .glsr-field-toggle input[type=checkbox]:checked+.glsr-toggle-track:before{background-color:var(--wp--preset--color--primary);opacity:1;transition:background-color .15s ease-in-out,opacity .15s ease-in-out}.glsr-twentytwentytwo form.glsr-form .glsr-field-toggle input[type=checkbox]+.glsr-toggle-track:after{background-color:#fff;border-radius:999px;box-shadow:0 .175rem .35rem rgba(0,0,0,.2);content:"";display:block;height:calc(1.4rem - 6px);pointer-events:none;position:relative;transition:transform 75ms ease-in-out;width:calc(1.4rem - 6px);z-index:1}.glsr-twentytwentytwo form.glsr-form .glsr-field-toggle input[type=checkbox]:checked+.glsr-toggle-track:after{transform:translateX(calc(1.4rem - 6px))}.glsr-twentytwentytwo.glsr-rtl form.glsr-form .glsr-toggle input[type=checkbox]:checked+.glsr-toggle-track:after{transform:translateX(calc(-1.4rem + 6px))}.glsr-twentytwentytwo form.glsr-form .glsr-field-toggle .glsr-toggle-switch{align-items:center;display:flex;flex-shrink:0;position:relative}.glsr-twentytwentytwo form.glsr-form [data-star-rating]{align-items:center;display:flex;position:relative}.glsr-twentytwentytwo form.glsr-form [data-star-rating]>select{clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:circle(1px at 0 0)!important;clip-path:circle(1px at 0 0)!important;height:1px!important;margin:0!important;overflow:hidden!important;padding:0!important;position:absolute!important;top:0!important;visibility:visible!important;white-space:nowrap!important;width:1px!important}.glsr-twentytwentytwo form.glsr-form [data-star-rating].gl-star-rating--ltr>select{left:0!important}.glsr-twentytwentytwo form.glsr-form [data-star-rating].gl-star-rating--rtl>select{right:0!important}.glsr-twentytwentytwo form.glsr-form [data-star-rating]>select:after,.glsr-twentytwentytwo form.glsr-form [data-star-rating]>select:before{display:none!important}.glsr-twentytwentytwo form.glsr-form [data-star-rating]>select:focus+.gl-star-rating--stars:before{border-radius:0;box-shadow:0 0 0 3px -moz-mac-focusring;box-shadow:0 0 0 3px -webkit-focus-ring-color;box-shadow:0 0 0 3px Highlight;content:"";display:block;height:100%;outline:1px solid transparent;pointer-events:none;position:absolute;width:100%}.glsr-twentytwentytwo form.glsr-form .gl-star-rating:not([data-star-rating]) .gl-star-rating--stars{display:none!important}.glsr-twentytwentytwo form.glsr-form .gl-star-rating--stars{align-items:center;cursor:pointer;display:flex;position:relative}.glsr-twentytwentytwo select[disabled]+.gl-star-rating--stars{cursor:default}.glsr-twentytwentytwo form.glsr-form .gl-star-rating--stars>span{display:flex;height:2rem;margin:0;width:2rem}.glsr-twentytwentytwo form.glsr-form .gl-star-rating--stars[class*=" s"]>span{background-image:none;background-position:50%;background-repeat:no-repeat;background-size:contain}.glsr-twentytwentytwo form.glsr-form .gl-star-rating--stars.s10>span:first-child,.glsr-twentytwentytwo form.glsr-form .gl-star-rating--stars.s20>span:nth-child(-1n+2),.glsr-twentytwentytwo form.glsr-form .gl-star-rating--stars.s30>span:nth-child(-1n+3),.glsr-twentytwentytwo form.glsr-form .gl-star-rating--stars.s40>span:nth-child(-1n+4),.glsr-twentytwentytwo form.glsr-form .gl-star-rating--stars.s50>span:nth-child(-1n+5),.glsr-twentytwentytwo form.glsr-form .gl-star-rating--stars.s60>span:nth-child(-1n+6),.glsr-twentytwentytwo form.glsr-form .gl-star-rating--stars.s70>span:nth-child(-1n+7),.glsr-twentytwentytwo form.glsr-form .gl-star-rating--stars.s80>span:nth-child(-1n+8),.glsr-twentytwentytwo form.glsr-form .gl-star-rating--stars.s90>span:nth-child(-1n+9),.glsr-twentytwentytwo form.glsr-form .gl-star-rating--stars.s100>span{background-image:none}.glsr-twentytwentytwo button.glsr-button{white-space:nowrap}.glsr-twentytwentytwo button.glsr-button .glsr-button-loading{display:none}.glsr-twentytwentytwo button.glsr-button[aria-busy=true] .glsr-button-loading{display:inline;position:relative}.glsr-twentytwentytwo button.glsr-button[aria-busy=true] .glsr-button-text{display:none}.glsr-twentytwentytwo button.glsr-button[aria-busy=true]:after{content:attr(data-loading)}.glsr-twentytwentytwo button.glsr-button .glsr-button-loading:after,.glsr-twentytwentytwo button.glsr-button .glsr-button-loading:before{-webkit-animation:glsr-spin .5s linear infinite;animation:glsr-spin .5s linear infinite;border:.2em solid;border-radius:100%;box-sizing:border-box;content:"";display:inline-block;height:1em;margin:-.5em auto 0;position:absolute;top:50%;width:1em}.glsr-twentytwentytwo button.glsr-button .glsr-button-loading:before{border-top-color:transparent;opacity:.5}.glsr-twentytwentytwo button.glsr-button .glsr-button-loading:after{border-color:currentColor transparent transparent}.glsr-twentytwentytwo.glsr-ltr button.glsr-button[aria-busy=true] .glsr-button-loading{margin-right:1.65em}.glsr-twentytwentytwo.glsr-ltr button.glsr-button .glsr-button-loading:after,.glsr-twentytwentytwo.glsr-ltr button.glsr-button .glsr-button-loading:before{left:0}.glsr-twentytwentytwo.glsr-rtl button.glsr-button[aria-busy=true] .glsr-button-loading{margin-left:1.65em}.glsr-twentytwentytwo.glsr-rtl button.glsr-button .glsr-button-loading:after,.glsr-twentytwentytwo.glsr-rtl button.glsr-button .glsr-button-loading:before{right:0}.glsr-twentytwentytwo .glsr-summary{align-items:center;display:flex;flex-wrap:wrap;font-family:inherit;font-size:1rem;line-height:1.5;max-width:400px;position:relative;width:100%}.glsr-twentytwentytwo .glsr-summary>div:first-of-type{margin-top:0}.glsr-twentytwentytwo .glsr-bar{display:table-row;white-space:nowrap}.glsr-twentytwentytwo .glsr-bar>span{display:table-cell;vertical-align:middle}.glsr-twentytwentytwo .glsr-bar-background{position:relative;width:100%}.glsr-twentytwentytwo .glsr-bar-background:before{background-color:currentColor;content:"";display:block;height:1rem;margin-top:-.5rem;opacity:.1;position:absolute;top:50%;width:100%}.glsr-twentytwentytwo .glsr-bar-background-percent{background-color:currentColor;color:#faca15;display:block;height:1rem;position:relative}.glsr-twentytwentytwo .glsr-bar-label{line-height:1;padding:.25rem .5rem .25rem 0}.glsr-twentytwentytwo.glsr-rtl.glsr-bar-label{padding-left:.5rem;padding-right:0}.glsr-twentytwentytwo .glsr-bar-percent{line-height:1;padding-left:.5rem;padding-right:0;text-align:right}.glsr-twentytwentytwo.glsr-rtl.glsr-bar-percent{padding-left:0;padding-right:.5rem}.glsr-twentytwentytwo .glsr-summary-percentages{font-size:1rem;line-height:1.5;margin-top:.5rem;max-width:400px;position:relative;width:100%}.glsr-twentytwentytwo .glsr-summary-rating{display:inline-block;font-size:1.5rem;font-weight:700;line-height:1;margin-left:0;margin-right:.5rem;vertical-align:top}.glsr-twentytwentytwo.glsr-rtl.glsr-summary-rating{margin-left:.5rem;margin-right:0}.glsr-twentytwentytwo .glsr-summary-stars{display:inline-block;margin-left:0;margin-right:.5rem}.glsr-twentytwentytwo.glsr-rtl.glsr-summary-stars{margin-left:.5rem;margin-right:0}.glsr-twentytwentytwo .glsr-summary-stars .glsr-star{background-size:1.5rem;height:1.5rem;width:1.5rem}.glsr-twentytwentytwo.glsr-rtl.glsr-summary-stars .glsr-star{transform:scaleX(-1)}.glsr-twentytwentytwo .glsr-summary-text{margin-top:.5rem;width:100%}.glsr-twentytwentytwo form.glsr-form .glsr-field-error{font-family:inherit;font-size:.875rem}.glsr-twentytwentytwo button.glsr-button{background-color:var(--wp--preset--color--primary);border:none;color:var(--wp--preset--color--background);font-size:var(--wp--preset--font-size--medium);padding:calc(.667em + 2px) calc(1.333em + 2px)}.glsr-twentytwentytwo button.glsr-button:hover{opacity:.9}.glsr-twentytwentytwo .glsr-pagination .page-numbers{margin-bottom:.5em}.glsr-twentytwentytwo .glsr-pagination .page-numbers:not(.prev):not(.next){margin-left:2px;margin-right:2px}.glsr-twentytwentytwo .glsr-pagination .page-numbers.next,.glsr-twentytwentytwo .glsr-pagination .page-numbers.prev{flex:1}.glsr-twentytwentytwo.glsr-ltr .glsr-pagination .page-numbers.prev,.glsr-twentytwentytwo.glsr-rtr .glsr-pagination .page-numbers.next{margin-right:.5em;text-align:left}.glsr-twentytwentytwo.glsr-ltr .glsr-pagination .page-numbers.next,.glsr-twentytwentytwo.glsr-rtl .glsr-pagination .page-numbers.prev{margin-left:.5em;text-align:right}
config/settings.php CHANGED
@@ -33,6 +33,7 @@ return [
33
  'twentynineteen' => _x('Theme: Twenty Nineteen', 'admin-text', 'site-reviews'),
34
  'twentytwenty' => _x('Theme: Twenty Twenty', 'admin-text', 'site-reviews'),
35
  'twentytwentyone' => _x('Theme: Twenty Twenty-One', 'admin-text', 'site-reviews'),
 
36
  ],
37
  'tooltip' => _x('Site Reviews relies on the CSS of your theme to style the review form. If your theme does not provide proper CSS rules for form elements and you are using a WordPress plugin/theme or CSS Framework listed here, please try selecting it, otherwise choose "Site Reviews (default)".', 'admin-text', 'site-reviews'),
38
  'type' => 'select',
33
  'twentynineteen' => _x('Theme: Twenty Nineteen', 'admin-text', 'site-reviews'),
34
  'twentytwenty' => _x('Theme: Twenty Twenty', 'admin-text', 'site-reviews'),
35
  'twentytwentyone' => _x('Theme: Twenty Twenty-One', 'admin-text', 'site-reviews'),
36
+ 'twentytwentytwo' => _x('Theme: Twenty Twenty-Two', 'admin-text', 'site-reviews'),
37
  ],
38
  'tooltip' => _x('Site Reviews relies on the CSS of your theme to style the review form. If your theme does not provide proper CSS rules for form elements and you are using a WordPress plugin/theme or CSS Framework listed here, please try selecting it, otherwise choose "Site Reviews (default)".', 'admin-text', 'site-reviews'),
39
  'type' => 'select',
deprecated.php CHANGED
@@ -111,6 +111,19 @@ add_action('plugins_loaded', function () {
111
  do_action('site-reviews/review/response', $response, $review);
112
  }
113
  }, 9, 2);
 
 
 
 
 
 
 
 
 
 
 
 
 
114
  });
115
 
116
  /**
111
  do_action('site-reviews/review/response', $response, $review);
112
  }
113
  }, 9, 2);
114
+
115
+ /*
116
+ * Router
117
+ * @since 5.20.0
118
+ */
119
+ add_action('site-reviews/router/public/unguarded-actions', function ($unguardedActions) {
120
+ if (has_filter('site-reviews/router/unguarded-actions')) {
121
+ $message = 'The "site-reviews/router/unguarded-actions" hook has been deprecated. Please use the "site-reviews/router/public/unguarded-actions" hook instead.';
122
+ glsr()->append('deprecated', $message);
123
+ return apply_filters('site-reviews/router/unguarded-actions', $unguardedActions);
124
+ }
125
+ return $unguardedActions;
126
+ }, 9);
127
  });
128
 
129
  /**
languages/site-reviews-en_US.mo CHANGED
Binary file
languages/site-reviews-en_US.po CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2021 site-reviews
2
  # This file is distributed under the same license as the site-reviews package.
3
  msgid ""
4
  msgstr ""
@@ -18,7 +18,7 @@ msgstr ""
18
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
19
  "Language: en_US\n"
20
 
21
- #: deprecated.php:123
22
  msgid ""
23
  "%s is <strong>deprecated</strong> since version %s with no alternative "
24
  "available."
@@ -26,21 +26,25 @@ msgstr ""
26
  "%s is <strong>deprecated</strong> since version %s with no alternative "
27
  "available."
28
 
29
- #: deprecated.php:136
30
  msgid "%s is <strong>deprecated</strong> since version %s! Use %s instead."
31
  msgstr "%s is <strong>deprecated</strong> since version %s! Use %s instead."
32
 
33
- #: config/settings.php:54
34
  msgid "%s star or less"
35
  msgid_plural "%s stars or less"
36
  msgstr[0] "%s star or less"
37
  msgstr[1] "%s stars or less"
38
 
39
- #: config/settings.php:327, plugin/Modules/Html/ReviewsHtml.php:142
40
  msgid "There are no reviews yet. Be the first one to write one."
41
  msgstr "There are no reviews yet. Be the first one to write one."
42
 
43
- #: plugin/Router.php:156, views/pages/documentation/support/common-problems-and-solutions.php:55
 
 
 
 
44
  msgid "The form could not be submitted. Please notify the site administrator."
45
  msgstr "The form could not be submitted. Please notify the site administrator."
46
 
@@ -180,10 +184,6 @@ msgstr "Show less"
180
  msgid "Avatar for %s"
181
  msgstr "Avatar for %s"
182
 
183
- #: plugin/Modules/Notification.php:75, plugin/Modules/Html/TemplateTags.php:106
184
- msgid "Anonymous"
185
- msgstr "Anonymous"
186
-
187
  #: plugin/Overrides/ScheduledActionsTable.php:101
188
  msgid "Claim ID"
189
  msgstr "Claim ID"
@@ -576,7 +576,12 @@ msgctxt "admin-text"
576
  msgid "Theme: Twenty Twenty-One"
577
  msgstr "Theme: Twenty Twenty-One"
578
 
579
- #: config/settings.php:37
 
 
 
 
 
580
  msgctxt "admin-text"
581
  msgid ""
582
  "Site Reviews relies on the CSS of your theme to style the review form. If "
@@ -589,22 +594,22 @@ msgstr ""
589
  "using a WordPress plugin/theme or CSS Framework listed here, please try "
590
  "selecting it, otherwise choose \"Site Reviews (default)\"."
591
 
592
- #: config/settings.php:42
593
  msgctxt "admin-text"
594
  msgid "Require Approval"
595
  msgstr "Require Approval"
596
 
597
- #: config/settings.php:43
598
  msgctxt "admin-text"
599
  msgid "This will set the status of new review submissions to \"unapproved\"."
600
  msgstr "This will set the status of new review submissions to \"unapproved\"."
601
 
602
- #: config/settings.php:52
603
  msgctxt "admin-text"
604
  msgid "Require Approval For"
605
  msgstr "Require Approval For"
606
 
607
- #: config/settings.php:53
608
  msgctxt "admin-text"
609
  msgid ""
610
  "The minimum rating that will change the status of a new review submission "
@@ -613,22 +618,22 @@ msgstr ""
613
  "The minimum rating that will change the status of a new review submission "
614
  "to \"unapproved\"."
615
 
616
- #: config/settings.php:59
617
  msgctxt "admin-text"
618
  msgid "Require Login"
619
  msgstr "Require Login"
620
 
621
- #: config/settings.php:60
622
  msgctxt "admin-text"
623
  msgid "This will only allow registered users to submit reviews."
624
  msgstr "This will only allow registered users to submit reviews."
625
 
626
- #: config/settings.php:68
627
  msgctxt "admin-text"
628
  msgid "Custom Login URL"
629
  msgstr "Custom Login URL"
630
 
631
- #: config/settings.php:70
632
  msgctxt "admin-text"
633
  msgid ""
634
  "Site Reviews uses the %s function to get the login URL. If you would like "
@@ -637,12 +642,12 @@ msgstr ""
637
  "Site Reviews uses the %s function to get the login URL. If you would like "
638
  "to use a custom login URL, enter it here."
639
 
640
- #: config/settings.php:80
641
  msgctxt "admin-text"
642
  msgid "Show Registration Link"
643
  msgstr "Show Registration Link"
644
 
645
- #: config/settings.php:81
646
  msgctxt "admin-text"
647
  msgid ""
648
  "Show a link for a new user to register. The %s Membership option must be "
@@ -651,17 +656,17 @@ msgstr ""
651
  "Show a link for a new user to register. The %s Membership option must be "
652
  "enabled in General Settings for this to work."
653
 
654
- #: config/settings.php:82
655
  msgctxt "admin-text"
656
  msgid "Anyone can register"
657
  msgstr "Anyone can register"
658
 
659
- #: config/settings.php:92
660
  msgctxt "admin-text"
661
  msgid "Custom Registration URL"
662
  msgstr "Custom Registration URL"
663
 
664
- #: config/settings.php:94
665
  msgctxt "admin-text"
666
  msgid ""
667
  "Site Reviews uses the %s function to get the registration URL. If you would "
@@ -670,27 +675,27 @@ msgstr ""
670
  "Site Reviews uses the %s function to get the registration URL. If you would "
671
  "like to use a custom registration URL, enter it here."
672
 
673
- #: config/settings.php:102
674
  msgctxt "admin-text"
675
  msgid "Multilingual"
676
  msgstr "Multilingual"
677
 
678
- #: config/settings.php:104
679
  msgctxt "admin-text"
680
  msgid "No Integration"
681
  msgstr "No Integration"
682
 
683
- #: config/settings.php:105
684
  msgctxt "admin-text"
685
  msgid "Integrate with Polylang"
686
  msgstr "Integrate with Polylang"
687
 
688
- #: config/settings.php:106
689
  msgctxt "admin-text"
690
  msgid "Integrate with WPML"
691
  msgstr "Integrate with WPML"
692
 
693
- #: config/settings.php:108
694
  msgctxt "admin-text"
695
  msgid ""
696
  "Integrate with a multilingual plugin to calculate the combined ratings for "
@@ -701,42 +706,42 @@ msgstr ""
701
  "all languages of a page; and if you are assigning reviews to your pages, "
702
  "display reviews assigned to all languages of that page."
703
 
704
- #: config/settings.php:113
705
  msgctxt "admin-text"
706
  msgid "Notifications"
707
  msgstr "Notifications"
708
 
709
- #: config/settings.php:115
710
  msgctxt "admin-text"
711
  msgid "Send to administrator"
712
  msgstr "Send to administrator"
713
 
714
- #: config/settings.php:116
715
  msgctxt "admin-text"
716
  msgid "Send to author of the page that the review is assigned to"
717
  msgstr "Send to author of the page that the review is assigned to"
718
 
719
- #: config/settings.php:117
720
  msgctxt "admin-text"
721
  msgid "Send to one or more email addresses"
722
  msgstr "Send to one or more email addresses"
723
 
724
- #: config/settings.php:118
725
  msgctxt "admin-text"
726
  msgid "Send to <a href=\"https://slack.com/\">Slack</a>"
727
  msgstr "Send to <a href=\"https://slack.com/\">Slack</a>"
728
 
729
- #: config/settings.php:120
730
  msgctxt "admin-text"
731
  msgid "Select the notification recipients."
732
  msgstr "Select the notification recipients."
733
 
734
- #: config/settings.php:128
735
  msgctxt "admin-text"
736
  msgid "Send Emails From"
737
  msgstr "Send Emails From"
738
 
739
- #: config/settings.php:130
740
  msgctxt "admin-text"
741
  msgid ""
742
  "If emails are not sending, make sure that this email address uses the same "
@@ -745,22 +750,22 @@ msgstr ""
745
  "If emails are not sending, make sure that this email address uses the same "
746
  "domain as your website."
747
 
748
- #: config/settings.php:138
749
  msgctxt "admin-text"
750
  msgid "Send Emails To"
751
  msgstr "Send Emails To"
752
 
753
- #: config/settings.php:139, config/settings.php:140
754
  msgctxt "admin-text"
755
  msgid "Separate multiple emails with a comma"
756
  msgstr "Separate multiple emails with a comma"
757
 
758
- #: config/settings.php:148
759
  msgctxt "admin-text"
760
  msgid "Slack Webhook URL"
761
  msgstr "Slack Webhook URL"
762
 
763
- #: config/settings.php:149
764
  msgctxt "admin-text"
765
  msgid ""
766
  "To send notifications to Slack, create a new %s and then paste the provided "
@@ -769,17 +774,17 @@ msgstr ""
769
  "To send notifications to Slack, create a new %s and then paste the provided "
770
  "Webhook URL in the field above."
771
 
772
- #: config/settings.php:150
773
  msgctxt "admin-text"
774
  msgid "Incoming WebHook"
775
  msgstr "Incoming WebHook"
776
 
777
- #: config/settings.php:160
778
  msgctxt "admin-text"
779
  msgid "Notification Template"
780
  msgstr "Notification Template"
781
 
782
- #: config/settings.php:162
783
  msgctxt "admin-text"
784
  msgid ""
785
  "To restore the default text, save an empty template. If you are sending "
@@ -794,42 +799,42 @@ msgstr ""
794
  "href=\"https://api.slack.com/docs/attachments\">Message Attachments</a> "
795
  "have been disabled."
796
 
797
- #: config/settings.php:168, views/pages/tools/general/import-reviews.php:55
798
  msgctxt "admin-text"
799
  msgid "Date Format"
800
  msgstr "Date Format"
801
 
802
- #: config/settings.php:170
803
  msgctxt "admin-text"
804
  msgid "Use the default date format"
805
  msgstr "Use the default date format"
806
 
807
- #: config/settings.php:171
808
  msgctxt "admin-text"
809
  msgid "Use a relative date format"
810
  msgstr "Use a relative date format"
811
 
812
- #: config/settings.php:172
813
  msgctxt "admin-text"
814
  msgid "Use a custom date format"
815
  msgstr "Use a custom date format"
816
 
817
- #: config/settings.php:174
818
  msgctxt "admin-text"
819
  msgid "The default date format is the one set in your %s."
820
  msgstr "The default date format is the one set in your %s."
821
 
822
- #: config/settings.php:175
823
  msgctxt "admin-text"
824
  msgid "WordPress settings"
825
  msgstr "WordPress settings"
826
 
827
- #: config/settings.php:184
828
  msgctxt "admin-text"
829
  msgid "Custom Date Format"
830
  msgstr "Custom Date Format"
831
 
832
- #: config/settings.php:185
833
  msgctxt "admin-text"
834
  msgid ""
835
  "Enter a custom date format (<a "
@@ -840,67 +845,67 @@ msgstr ""
840
  "href=\"https://wordpress.org/support/article/formatting-date-and-time/\""
841
  ">documentation on date and time formatting</a>)."
842
 
843
- #: config/settings.php:191
844
  msgctxt "admin-text"
845
  msgid "Name Format"
846
  msgstr "Name Format"
847
 
848
- #: config/settings.php:193
849
  msgctxt "admin-text"
850
  msgid "Use the name as given"
851
  msgstr "Use the name as given"
852
 
853
- #: config/settings.php:194
854
  msgctxt "admin-text"
855
  msgid "Use the first name only"
856
  msgstr "Use the first name only"
857
 
858
- #: config/settings.php:195
859
  msgctxt "admin-text"
860
  msgid "Convert first name to an initial"
861
  msgstr "Convert first name to an initial"
862
 
863
- #: config/settings.php:196
864
  msgctxt "admin-text"
865
  msgid "Convert last name to an initial"
866
  msgstr "Convert last name to an initial"
867
 
868
- #: config/settings.php:197
869
  msgctxt "admin-text"
870
  msgid "Convert to all initials"
871
  msgstr "Convert to all initials"
872
 
873
- #: config/settings.php:199
874
  msgctxt "admin-text"
875
  msgid "Choose how author names are shown in your reviews."
876
  msgstr "Choose how author names are shown in your reviews."
877
 
878
- #: config/settings.php:208
879
  msgctxt "admin-text"
880
  msgid "Initial Format"
881
  msgstr "Initial Format"
882
 
883
- #: config/settings.php:210
884
  msgctxt "admin-text"
885
  msgid "Initial with a space"
886
  msgstr "Initial with a space"
887
 
888
- #: config/settings.php:211
889
  msgctxt "admin-text"
890
  msgid "Initial with a period"
891
  msgstr "Initial with a period"
892
 
893
- #: config/settings.php:212
894
  msgctxt "admin-text"
895
  msgid "Initial with a period and a space"
896
  msgstr "Initial with a period and a space"
897
 
898
- #: config/settings.php:214
899
  msgctxt "admin-text"
900
  msgid "Choose how the initial is displayed."
901
  msgstr "Choose how the initial is displayed."
902
 
903
- #: config/settings.php:221
904
  msgctxt "admin-text"
905
  msgid ""
906
  "Loose Assignment displays reviews that are assigned to this <code>OR</code> "
@@ -909,7 +914,7 @@ msgstr ""
909
  "Loose Assignment displays reviews that are assigned to this <code>OR</code> "
910
  "that."
911
 
912
- #: config/settings.php:222
913
  msgctxt "admin-text"
914
  msgid ""
915
  "Strict Assignment displays reviews that are assigned to this "
@@ -918,22 +923,22 @@ msgstr ""
918
  "Strict Assignment displays reviews that are assigned to this "
919
  "<code>AND</code> that."
920
 
921
- #: config/settings.php:224
922
  msgctxt "admin-text"
923
  msgid "Review Assignment"
924
  msgstr "Review Assignment"
925
 
926
- #: config/settings.php:226
927
  msgctxt "admin-text"
928
  msgid "Loose Assignment (slower database queries)"
929
  msgstr "Loose Assignment (slower database queries)"
930
 
931
- #: config/settings.php:227
932
  msgctxt "admin-text"
933
  msgid "Strict Assignment (faster database queries)"
934
  msgstr "Strict Assignment (faster database queries)"
935
 
936
- #: config/settings.php:229
937
  msgctxt "admin-text"
938
  msgid ""
939
  "This setting determines how the assigned options work in the reviews and "
@@ -942,22 +947,22 @@ msgstr ""
942
  "This setting determines how the assigned options work in the reviews and "
943
  "summary shortcodes and blocks."
944
 
945
- #: config/settings.php:234
946
  msgctxt "admin-text"
947
  msgid "Enable Assigned Links"
948
  msgstr "Enable Assigned Links"
949
 
950
- #: config/settings.php:235
951
  msgctxt "admin-text"
952
  msgid "This will display a link to the assigned posts of a review."
953
  msgstr "This will display a link to the assigned posts of a review."
954
 
955
- #: config/settings.php:240
956
  msgctxt "admin-text"
957
  msgid "Enable Avatars"
958
  msgstr "Enable Avatars"
959
 
960
- #: config/settings.php:241
961
  msgctxt "admin-text"
962
  msgid ""
963
  "The avatars are generated from the email address of the reviewer using <a "
@@ -966,137 +971,137 @@ msgstr ""
966
  "The avatars are generated from the email address of the reviewer using <a "
967
  "href=\"https://gravatar.com\">Gravatar</a>."
968
 
969
- #: config/settings.php:250
970
  msgctxt "admin-text"
971
  msgid "Fallback Avatar"
972
  msgstr "Fallback Avatar"
973
 
974
- #: config/settings.php:252, config/settings.php:459
975
  msgctxt "admin-text"
976
  msgid "Custom Image URL"
977
  msgstr "Custom Image URL"
978
 
979
- #: config/settings.php:253
980
  msgctxt "admin-text"
981
  msgid "Identicon (geometric patterns)"
982
  msgstr "Identicon (geometric patterns)"
983
 
984
- #: config/settings.php:254
985
  msgctxt "admin-text"
986
  msgid "Initials (initials of reviewer's name)"
987
  msgstr "Initials (initials of reviewer's name)"
988
 
989
- #: config/settings.php:255
990
  msgctxt "admin-text"
991
  msgid "Monster (monsters with generated faces)"
992
  msgstr "Monster (monsters with generated faces)"
993
 
994
- #: config/settings.php:256
995
  msgctxt "admin-text"
996
  msgid "Mystery (silhouetted outline of a person)"
997
  msgstr "Mystery (silhouetted outline of a person)"
998
 
999
- #: config/settings.php:257
1000
  msgctxt "admin-text"
1001
  msgid "Pixel Avatars (locally generated)"
1002
  msgstr "Pixel Avatars (locally generated)"
1003
 
1004
- #: config/settings.php:258
1005
  msgctxt "admin-text"
1006
  msgid "Retro (8-bit arcade-style pixelated faces)"
1007
  msgstr "Retro (8-bit arcade-style pixelated faces)"
1008
 
1009
- #: config/settings.php:259
1010
  msgctxt "admin-text"
1011
  msgid "Robohash (robots with generated faces)"
1012
  msgstr "Robohash (robots with generated faces)"
1013
 
1014
- #: config/settings.php:260
1015
  msgctxt "admin-text"
1016
  msgid "Wavatar (faces with generated features)"
1017
  msgstr "Wavatar (faces with generated features)"
1018
 
1019
- #: config/settings.php:262
1020
  msgctxt "admin-text"
1021
  msgid "This image is displayed when there is no avatar."
1022
  msgstr "This image is displayed when there is no avatar."
1023
 
1024
- #: config/settings.php:270
1025
  msgctxt "admin-text"
1026
  msgid "Fallback Avatar URL"
1027
  msgstr "Fallback Avatar URL"
1028
 
1029
- #: config/settings.php:271
1030
  msgctxt "admin-text"
1031
  msgid "Enter a custom image URL to use as the fallback avatar."
1032
  msgstr "Enter a custom image URL to use as the fallback avatar."
1033
 
1034
- #: config/settings.php:279
1035
  msgctxt "admin-text"
1036
  msgid "Regenerate Avatars"
1037
  msgstr "Regenerate Avatars"
1038
 
1039
- #: config/settings.php:280
1040
  msgctxt "admin-text"
1041
  msgid "This will regenerate the avatar whenever a local review is shown."
1042
  msgstr "This will regenerate the avatar whenever a local review is shown."
1043
 
1044
- #: config/settings.php:289
1045
  msgctxt "admin-text"
1046
  msgid "Avatar Size"
1047
  msgstr "Avatar Size"
1048
 
1049
- #: config/settings.php:291
1050
  msgctxt "admin-text"
1051
  msgid "Set the height/width of the avatar in pixels."
1052
  msgstr "Set the height/width of the avatar in pixels."
1053
 
1054
- #: config/settings.php:296
1055
  msgctxt "admin-text"
1056
  msgid "Enable Excerpts"
1057
  msgstr "Enable Excerpts"
1058
 
1059
- #: config/settings.php:297
1060
  msgctxt "admin-text"
1061
  msgid "Display an excerpt instead of the full review."
1062
  msgstr "Display an excerpt instead of the full review."
1063
 
1064
- #: config/settings.php:306
1065
  msgctxt "admin-text"
1066
  msgid "Excerpt Action"
1067
  msgstr "Excerpt Action"
1068
 
1069
- #: config/settings.php:308
1070
  msgctxt "admin-text"
1071
  msgid "Collapse/Expand the review"
1072
  msgstr "Collapse/Expand the review"
1073
 
1074
- #: config/settings.php:309
1075
  msgctxt "admin-text"
1076
  msgid "Display the review in a modal"
1077
  msgstr "Display the review in a modal"
1078
 
1079
- #: config/settings.php:320
1080
  msgctxt "admin-text"
1081
  msgid "Excerpt Length"
1082
  msgstr "Excerpt Length"
1083
 
1084
- #: config/settings.php:321
1085
  msgctxt "admin-text"
1086
  msgid "Set the excerpt word length."
1087
  msgstr "Set the excerpt word length."
1088
 
1089
- #: config/settings.php:326
1090
  msgctxt "admin-text"
1091
  msgid "The default text is: %s"
1092
  msgstr "The default text is: %s"
1093
 
1094
- #: config/settings.php:329
1095
  msgctxt "admin-text"
1096
  msgid "Enable Fallback Text"
1097
  msgstr "Enable Fallback Text"
1098
 
1099
- #: config/settings.php:330
1100
  msgctxt "admin-text"
1101
  msgid ""
1102
  "Display the fallback text when there are no reviews to display. This can be "
@@ -1107,12 +1112,12 @@ msgstr ""
1107
  "changed on the %s page. You may also override this by using the "
1108
  "\"fallback\" option on the shortcode."
1109
 
1110
- #: config/settings.php:331
1111
  msgctxt "admin-text"
1112
  msgid "Translations"
1113
  msgstr "Translations"
1114
 
1115
- #: config/settings.php:338
1116
  msgctxt "admin-text"
1117
  msgid ""
1118
  "If you would like to keep the pagination links but prevent search engines "
@@ -1121,37 +1126,37 @@ msgstr ""
1121
  "If you would like to keep the pagination links but prevent search engines "
1122
  "from indexing them, add the following lines to your %s file: %s"
1123
 
1124
- #: config/settings.php:344
1125
  msgctxt "admin-text"
1126
  msgid "Enable Paginated URLs"
1127
  msgstr "Enable Paginated URLs"
1128
 
1129
- #: config/settings.php:345
1130
  msgctxt "admin-text"
1131
  msgid "Paginated URLs include the %s URL parameter."
1132
  msgstr "Paginated URLs include the %s URL parameter."
1133
 
1134
- #: config/settings.php:353
1135
  msgctxt "admin-text"
1136
  msgid "Default Schema Type"
1137
  msgstr "Default Schema Type"
1138
 
1139
- #: config/settings.php:355
1140
  msgctxt "admin-text"
1141
  msgid "Local Business"
1142
  msgstr "Local Business"
1143
 
1144
- #: config/settings.php:356
1145
  msgctxt "admin-text"
1146
  msgid "Product"
1147
  msgstr "Product"
1148
 
1149
- #: config/settings.php:357
1150
  msgctxt "admin-text"
1151
  msgid "Custom"
1152
  msgstr "Custom"
1153
 
1154
- #: config/settings.php:359, config/settings.php:383, config/settings.php:405, config/settings.php:427, config/settings.php:449, config/settings.php:470, config/settings.php:482, config/settings.php:494, config/settings.php:510, config/settings.php:523, config/settings.php:536, config/settings.php:549, config/settings.php:561
1155
  msgctxt "admin-text"
1156
  msgid ""
1157
  "You can use the %s to override this value on your page. The Custom Field "
@@ -1160,262 +1165,262 @@ msgstr ""
1160
  "You can use the %s to override this value on your page. The Custom Field "
1161
  "name to use is:"
1162
 
1163
- #: config/settings.php:360, config/settings.php:384, config/settings.php:406, config/settings.php:428, config/settings.php:450, config/settings.php:471, config/settings.php:483, config/settings.php:495, config/settings.php:511, config/settings.php:524, config/settings.php:537, config/settings.php:550, config/settings.php:562, views/pages/settings/schema.php:19
1164
  msgctxt "admin-text"
1165
  msgid "Custom Fields metabox"
1166
  msgstr "Custom Fields metabox"
1167
 
1168
- #: config/settings.php:369
1169
  msgctxt "admin-text"
1170
  msgid "Custom Schema Type"
1171
  msgstr "Custom Schema Type"
1172
 
1173
- #: config/settings.php:371
1174
  msgctxt "admin-text"
1175
  msgid "read this"
1176
  msgstr "read this"
1177
 
1178
- #: config/settings.php:378
1179
  msgctxt "admin-text"
1180
  msgid "Default Name"
1181
  msgstr "Default Name"
1182
 
1183
- #: config/settings.php:380
1184
  msgctxt "admin-text"
1185
  msgid "Use the assigned or current page title"
1186
  msgstr "Use the assigned or current page title"
1187
 
1188
- #: config/settings.php:381, config/settings.php:394
1189
  msgctxt "admin-text"
1190
  msgid "Enter a custom title"
1191
  msgstr "Enter a custom title"
1192
 
1193
- #: config/settings.php:393
1194
  msgctxt "admin-text"
1195
  msgid "Custom Name"
1196
  msgstr "Custom Name"
1197
 
1198
- #: config/settings.php:400
1199
  msgctxt "admin-text"
1200
  msgid "Default Description"
1201
  msgstr "Default Description"
1202
 
1203
- #: config/settings.php:402
1204
  msgctxt "admin-text"
1205
  msgid "Use the assigned or current page excerpt"
1206
  msgstr "Use the assigned or current page excerpt"
1207
 
1208
- #: config/settings.php:403, config/settings.php:416
1209
  msgctxt "admin-text"
1210
  msgid "Enter a custom description"
1211
  msgstr "Enter a custom description"
1212
 
1213
- #: config/settings.php:415
1214
  msgctxt "admin-text"
1215
  msgid "Custom Description"
1216
  msgstr "Custom Description"
1217
 
1218
- #: config/settings.php:422
1219
  msgctxt "admin-text"
1220
  msgid "Default URL"
1221
  msgstr "Default URL"
1222
 
1223
- #: config/settings.php:424
1224
  msgctxt "admin-text"
1225
  msgid "Use the assigned or current page URL"
1226
  msgstr "Use the assigned or current page URL"
1227
 
1228
- #: config/settings.php:425, config/settings.php:438
1229
  msgctxt "admin-text"
1230
  msgid "Enter a custom URL"
1231
  msgstr "Enter a custom URL"
1232
 
1233
- #: config/settings.php:437
1234
  msgctxt "admin-text"
1235
  msgid "Custom URL"
1236
  msgstr "Custom URL"
1237
 
1238
- #: config/settings.php:444
1239
  msgctxt "admin-text"
1240
  msgid "Default Image"
1241
  msgstr "Default Image"
1242
 
1243
- #: config/settings.php:446
1244
  msgctxt "admin-text"
1245
  msgid "Use the featured image of the assigned or current page"
1246
  msgstr "Use the featured image of the assigned or current page"
1247
 
1248
- #: config/settings.php:447, config/settings.php:460
1249
  msgctxt "admin-text"
1250
  msgid "Enter a custom image URL"
1251
  msgstr "Enter a custom image URL"
1252
 
1253
- #: config/settings.php:468
1254
  msgctxt "admin-text"
1255
  msgid "Address"
1256
  msgstr "Address"
1257
 
1258
- #: config/settings.php:469
1259
  msgctxt "admin-text"
1260
  msgid "60 29th Street #343, San Francisco, CA 94110, US"
1261
  msgstr "60 29th Street #343, San Francisco, CA 94110, US"
1262
 
1263
- #: config/settings.php:480
1264
  msgctxt "admin-text"
1265
  msgid "Telephone Number"
1266
  msgstr "Telephone Number"
1267
 
1268
- #: config/settings.php:481
1269
  msgctxt "admin-text"
1270
  msgid "+1 (877) 273-3049"
1271
  msgstr "+1 (877) 273-3049"
1272
 
1273
- #: config/settings.php:492
1274
  msgctxt "admin-text"
1275
  msgid "Price Range"
1276
  msgstr "Price Range"
1277
 
1278
- #: config/settings.php:493
1279
  msgctxt "admin-text"
1280
  msgid "$$-$$$"
1281
  msgstr "$$-$$$"
1282
 
1283
- #: config/settings.php:505
1284
  msgctxt "admin-text"
1285
  msgid "Offer Type"
1286
  msgstr "Offer Type"
1287
 
1288
- #: config/settings.php:507
1289
  msgctxt "admin-text"
1290
  msgid "AggregateOffer"
1291
  msgstr "AggregateOffer"
1292
 
1293
- #: config/settings.php:508
1294
  msgctxt "admin-text"
1295
  msgid "Offer"
1296
  msgstr "Offer"
1297
 
1298
- #: config/settings.php:521
1299
  msgctxt "admin-text"
1300
  msgid "Price"
1301
  msgstr "Price"
1302
 
1303
- #: config/settings.php:534
1304
  msgctxt "admin-text"
1305
  msgid "Low Price"
1306
  msgstr "Low Price"
1307
 
1308
- #: config/settings.php:547
1309
  msgctxt "admin-text"
1310
  msgid "High Price"
1311
  msgstr "High Price"
1312
 
1313
- #: config/settings.php:559
1314
  msgctxt "admin-text"
1315
  msgid "Price Currency"
1316
  msgstr "Price Currency"
1317
 
1318
- #: config/settings.php:560
1319
  msgctxt "admin-text"
1320
  msgid "USD"
1321
  msgstr "USD"
1322
 
1323
- #: config/settings.php:568
1324
  msgctxt "admin-text"
1325
  msgid "Required Fields"
1326
  msgstr "Required Fields"
1327
 
1328
- #: config/settings.php:570, config/forms/metabox-fields.php:5, plugin/Defaults/PostTypeColumnDefaults.php:25, plugin/Defaults/RevisionFieldsDefaults.php:16, plugin/Tinymce/SiteReviewsTinymce.php:30
1329
  msgctxt "admin-text"
1330
  msgid "Rating"
1331
  msgstr "Rating"
1332
 
1333
- #: config/settings.php:571, plugin/Tinymce/SiteReviewsFormTinymce.php:16, plugin/Tinymce/SiteReviewsSummaryTinymce.php:17, plugin/Tinymce/SiteReviewsTinymce.php:17, plugin/Widgets/SiteReviewsFormWidget.php:20, plugin/Widgets/SiteReviewsSummaryWidget.php:20, plugin/Widgets/SiteReviewsWidget.php:20
1334
  msgctxt "admin-text"
1335
  msgid "Title"
1336
  msgstr "Title"
1337
 
1338
- #: config/settings.php:572, plugin/Defaults/PostTypeLabelDefaults.php:15
1339
  msgctxt "admin-text"
1340
  msgid "Review"
1341
  msgstr "Review"
1342
 
1343
- #: config/settings.php:573, config/forms/metabox-fields.php:14, plugin/Controllers/PrivacyController.php:130, plugin/Defaults/PostTypeColumnDefaults.php:20, plugin/Defaults/RevisionFieldsDefaults.php:18
1344
  msgctxt "admin-text"
1345
  msgid "Name"
1346
  msgstr "Name"
1347
 
1348
- #: config/settings.php:574, config/forms/metabox-fields.php:18, plugin/Controllers/PrivacyController.php:131, plugin/Defaults/PostTypeColumnDefaults.php:21, plugin/Defaults/RevisionFieldsDefaults.php:19
1349
  msgctxt "admin-text"
1350
  msgid "Email"
1351
  msgstr "Email"
1352
 
1353
- #: config/settings.php:575, config/forms/metabox-fields.php:30
1354
  msgctxt "admin-text"
1355
  msgid "Terms"
1356
  msgstr "Terms"
1357
 
1358
- #: config/settings.php:577
1359
  msgctxt "admin-text"
1360
  msgid "Choose which fields should be required in the review form."
1361
  msgstr "Choose which fields should be required in the review form."
1362
 
1363
- #: config/settings.php:583
1364
  msgctxt "admin-text"
1365
  msgid "Limit Reviews"
1366
  msgstr "Limit Reviews"
1367
 
1368
- #: config/settings.php:585
1369
  msgctxt "admin-text"
1370
  msgid "No Limit"
1371
  msgstr "No Limit"
1372
 
1373
- #: config/settings.php:586
1374
  msgctxt "admin-text"
1375
  msgid "By Email Address"
1376
  msgstr "By Email Address"
1377
 
1378
- #: config/settings.php:587
1379
  msgctxt "admin-text"
1380
  msgid "By IP Address"
1381
  msgstr "By IP Address"
1382
 
1383
- #: config/settings.php:588
1384
  msgctxt "admin-text"
1385
  msgid "By Username (will only work for registered users)"
1386
  msgstr "By Username (will only work for registered users)"
1387
 
1388
- #: config/settings.php:590
1389
  msgctxt "admin-text"
1390
  msgid "Limits the number of reviews that can be submitted to one-per-person."
1391
  msgstr "Limits the number of reviews that can be submitted to one-per-person."
1392
 
1393
- #: config/settings.php:598
1394
  msgctxt "admin-text"
1395
  msgid "Restrict Limits To"
1396
  msgstr "Restrict Limits To"
1397
 
1398
- #: config/settings.php:600, plugin/Controllers/MetaboxController.php:38, plugin/Tinymce/SiteReviewsSummaryTinymce.php:25, plugin/Tinymce/SiteReviewsTinymce.php:56, views/partials/screen/inline-edit.php:102
1399
  msgctxt "admin-text"
1400
  msgid "Assigned Posts"
1401
  msgstr "Assigned Posts"
1402
 
1403
- #: config/settings.php:601
1404
  msgctxt "admin-text"
1405
  msgid "Assigned Terms"
1406
  msgstr "Assigned Terms"
1407
 
1408
- #: config/settings.php:602, plugin/Controllers/MetaboxController.php:39, plugin/Defaults/PostTypeColumnDefaults.php:19, views/partials/screen/inline-edit.php:113
1409
  msgctxt "admin-text"
1410
  msgid "Assigned Users"
1411
  msgstr "Assigned Users"
1412
 
1413
- #: config/settings.php:605
1414
  msgctxt "admin-text"
1415
  msgid "Select which assignments the review limits should be restricted to."
1416
  msgstr "Select which assignments the review limits should be restricted to."
1417
 
1418
- #: config/settings.php:606
1419
  msgctxt "admin-text"
1420
  msgid ""
1421
  "The review limits use strict assignment, i.e. <code>restrict limits to "
@@ -1424,12 +1429,12 @@ msgstr ""
1424
  "The review limits use strict assignment, i.e. <code>restrict limits to "
1425
  "reviews assigned to this AND this</code>."
1426
 
1427
- #: config/settings.php:615
1428
  msgctxt "admin-text"
1429
  msgid "Email Whitelist"
1430
  msgstr "Email Whitelist"
1431
 
1432
- #: config/settings.php:617
1433
  msgctxt "admin-text"
1434
  msgid ""
1435
  "One Email per line. All emails in the whitelist will be excluded from the "
@@ -1438,12 +1443,12 @@ msgstr ""
1438
  "One Email per line. All emails in the whitelist will be excluded from the "
1439
  "review submission limit."
1440
 
1441
- #: config/settings.php:625
1442
  msgctxt "admin-text"
1443
  msgid "IP Address Whitelist"
1444
  msgstr "IP Address Whitelist"
1445
 
1446
- #: config/settings.php:627
1447
  msgctxt "admin-text"
1448
  msgid ""
1449
  "One IP Address per line. All IP Addresses in the whitelist will be excluded "
@@ -1452,12 +1457,12 @@ msgstr ""
1452
  "One IP Address per line. All IP Addresses in the whitelist will be excluded "
1453
  "from the review submission limit.."
1454
 
1455
- #: config/settings.php:635
1456
  msgctxt "admin-text"
1457
  msgid "Username Whitelist"
1458
  msgstr "Username Whitelist"
1459
 
1460
- #: config/settings.php:637
1461
  msgctxt "admin-text"
1462
  msgid ""
1463
  "One Username per line. All registered users with a Username in the "
@@ -1466,27 +1471,27 @@ msgstr ""
1466
  "One Username per line. All registered users with a Username in the "
1467
  "whitelist will be excluded from the review submission limit."
1468
 
1469
- #: config/settings.php:643
1470
  msgctxt "admin-text"
1471
  msgid "Invisible reCAPTCHA"
1472
  msgstr "Invisible reCAPTCHA"
1473
 
1474
- #: config/settings.php:645
1475
  msgctxt "admin-text"
1476
  msgid "Do not use reCAPTCHA"
1477
  msgstr "Do not use reCAPTCHA"
1478
 
1479
- #: config/settings.php:646
1480
  msgctxt "admin-text"
1481
  msgid "Use reCAPTCHA"
1482
  msgstr "Use reCAPTCHA"
1483
 
1484
- #: config/settings.php:647
1485
  msgctxt "admin-text"
1486
  msgid "Use reCAPTCHA only for guest users"
1487
  msgstr "Use reCAPTCHA only for guest users"
1488
 
1489
- #: config/settings.php:649
1490
  msgctxt "admin-text"
1491
  msgid ""
1492
  "The Invisible reCAPTCHA badge (reCAPTCHA v2) is a free anti-spam service "
@@ -1499,47 +1504,47 @@ msgstr ""
1499
  "href=\"https://www.google.com/recaptcha/admin\" target=\"_blank\">sign "
1500
  "up</a> for an API key pair for your site."
1501
 
1502
- #: config/settings.php:657
1503
  msgctxt "admin-text"
1504
  msgid "Site Key"
1505
  msgstr "Site Key"
1506
 
1507
- #: config/settings.php:658
1508
  msgctxt "admin-text"
1509
  msgid "Enter the Invisible reCAPTCHA Site Key here"
1510
  msgstr "Enter the Invisible reCAPTCHA Site Key here"
1511
 
1512
- #: config/settings.php:666
1513
  msgctxt "admin-text"
1514
  msgid "Site Secret"
1515
  msgstr "Site Secret"
1516
 
1517
- #: config/settings.php:667
1518
  msgctxt "admin-text"
1519
  msgid "Enter the Invisible reCAPTCHA Site Secret here"
1520
  msgstr "Enter the Invisible reCAPTCHA Site Secret here"
1521
 
1522
- #: config/settings.php:676
1523
  msgctxt "admin-text"
1524
  msgid "Badge Position"
1525
  msgstr "Badge Position"
1526
 
1527
- #: config/settings.php:678
1528
  msgctxt "admin-text"
1529
  msgid "Bottom Left"
1530
  msgstr "Bottom Left"
1531
 
1532
- #: config/settings.php:679
1533
  msgctxt "admin-text"
1534
  msgid "Bottom Right"
1535
  msgstr "Bottom Right"
1536
 
1537
- #: config/settings.php:680
1538
  msgctxt "admin-text"
1539
  msgid "Inline"
1540
  msgstr "Inline"
1541
 
1542
- #: config/settings.php:682
1543
  msgctxt "admin-text"
1544
  msgid ""
1545
  "This option may not work consistently if another plugin is loading "
@@ -1548,12 +1553,12 @@ msgstr ""
1548
  "This option may not work consistently if another plugin is loading "
1549
  "reCAPTCHA on the same page as Site Reviews."
1550
 
1551
- #: config/settings.php:687
1552
  msgctxt "admin-text"
1553
  msgid "Enable Akismet"
1554
  msgstr "Enable Akismet"
1555
 
1556
- #: config/settings.php:688
1557
  msgctxt "admin-text"
1558
  msgid ""
1559
  "The <a href=\"https://akismet.com\" target=\"_blank\">Akismet plugin</a> "
@@ -1566,22 +1571,22 @@ msgstr ""
1566
  "setting to have any affect, you will need to first install and activate the "
1567
  "Akismet plugin and set up a WordPress.com API key."
1568
 
1569
- #: config/settings.php:694
1570
  msgctxt "admin-text"
1571
  msgid "Blacklist"
1572
  msgstr "Blacklist"
1573
 
1574
- #: config/settings.php:696
1575
  msgctxt "admin-text"
1576
  msgid "Use the Site Reviews Blacklist"
1577
  msgstr "Use the Site Reviews Blacklist"
1578
 
1579
- #: config/settings.php:697
1580
  msgctxt "admin-text"
1581
  msgid "Use the WordPress Disallowed Comment Keys"
1582
  msgstr "Use the WordPress Disallowed Comment Keys"
1583
 
1584
- #: config/settings.php:699
1585
  msgctxt "admin-text"
1586
  msgid ""
1587
  "Choose which Blacklist you would prefer to use for reviews. The %s option "
@@ -1590,17 +1595,17 @@ msgstr ""
1590
  "Choose which Blacklist you would prefer to use for reviews. The %s option "
1591
  "can be found in the WordPress Discussion Settings page."
1592
 
1593
- #: config/settings.php:700
1594
  msgctxt "admin-text"
1595
  msgid "Disallowed Comment Keys"
1596
  msgstr "Disallowed Comment Keys"
1597
 
1598
- #: config/settings.php:709
1599
  msgctxt "admin-text"
1600
  msgid "Review Blacklist"
1601
  msgstr "Review Blacklist"
1602
 
1603
- #: config/settings.php:711
1604
  msgctxt "admin-text"
1605
  msgid ""
1606
  "One entry or IP address per line. When a review contains any of these "
@@ -1613,22 +1618,22 @@ msgstr ""
1613
  "rejected. It is case-insensitive and will match partial words, so \"press\" "
1614
  "will match \"WordPress\"."
1615
 
1616
- #: config/settings.php:717
1617
  msgctxt "admin-text"
1618
  msgid "Blacklist Action"
1619
  msgstr "Blacklist Action"
1620
 
1621
- #: config/settings.php:719
1622
  msgctxt "admin-text"
1623
  msgid "Require approval"
1624
  msgstr "Require approval"
1625
 
1626
- #: config/settings.php:720
1627
  msgctxt "admin-text"
1628
  msgid "Reject submission"
1629
  msgstr "Reject submission"
1630
 
1631
- #: config/settings.php:722
1632
  msgctxt "admin-text"
1633
  msgid "Choose the action that should be taken when a review is blacklisted."
1634
  msgstr "Choose the action that should be taken when a review is blacklisted."
@@ -1642,12 +1647,12 @@ msgstr ""
1642
  "The [%s] method has been deprecated and will be soon be removed, please use "
1643
  "the [%s] method instead."
1644
 
1645
- #: plugin/Review.php:350, plugin/Controllers/ListTableColumns/ColumnValueAuthorName.php:20
1646
  msgctxt "admin-text"
1647
  msgid "Unknown"
1648
  msgstr "Unknown"
1649
 
1650
- #: plugin/Router.php:153
1651
  msgctxt "admin-text"
1652
  msgid "There was an error (try reloading the page)."
1653
  msgstr "There was an error (try reloading the page)."
@@ -1748,6 +1753,11 @@ msgctxt "admin-text"
1748
  msgid "License Keys"
1749
  msgstr "License Keys"
1750
 
 
 
 
 
 
1751
  #: plugin/Blocks/SiteReviewsBlock.php:109, plugin/Blocks/SiteReviewsFormBlock.php:97, plugin/Blocks/SiteReviewsSummaryBlock.php:93
1752
  msgctxt "admin-text"
1753
  msgid "You have hidden all of the fields for this block."
@@ -1763,12 +1773,12 @@ msgctxt "admin-text"
1763
  msgid "Pin Your Reviews"
1764
  msgstr "Pin Your Reviews"
1765
 
1766
- #: plugin/Commands/EnqueueAdminAssets.php:104
1767
  msgctxt "admin-text"
1768
  msgid "Try Premium"
1769
  msgstr "Try Premium"
1770
 
1771
- #: plugin/Commands/EnqueueAdminAssets.php:105
1772
  msgctxt "admin-text"
1773
  msgid "Please rate %s on %s and help us spread the word. Thank you so much!"
1774
  msgstr "Please rate %s on %s and help us spread the word. Thank you so much!"
@@ -1832,19 +1842,19 @@ msgctxt "admin-text"
1832
  msgid "Review unpinned."
1833
  msgstr "Review unpinned."
1834
 
1835
- #: plugin/Commands/ToggleStatus.php:51, views/partials/editor/pinned.php:7
1836
  msgctxt "admin-text"
1837
  msgid "Edit"
1838
  msgstr "Edit"
1839
 
1840
- #: plugin/Commands/ToggleStatus.php:74
1841
  msgctxt "admin-text"
1842
  msgid "Approved <span class=\"count\">(%s)</span>"
1843
  msgid_plural "Approved <span class=\"count\">(%s)</span>"
1844
  msgstr[0] "Approved <span class=\"count\">(%s)</span>"
1845
  msgstr[1] "Approved <span class=\"count\">(%s)</span>"
1846
 
1847
- #: plugin/Commands/ToggleStatus.php:82
1848
  msgctxt "admin-text"
1849
  msgid "Unapproved <span class=\"count\">(%s)</span>"
1850
  msgid_plural "Unapproved <span class=\"count\">(%s)</span>"
@@ -2977,6 +2987,21 @@ msgctxt "admin-text"
2977
  msgid "No assigned user"
2978
  msgstr "No assigned user"
2979
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2980
  #: plugin/Controllers/ListTableColumns/ColumnFilterCategory.php:19
2981
  msgctxt "admin-text"
2982
  msgid "Filter by category"
@@ -3337,13 +3362,13 @@ msgstr ""
3337
  #: views/pages/settings/translations.php:12
3338
  msgctxt "admin-text"
3339
  msgid ""
3340
- "Here you can customise any text of the plugin that is shown on the frontend "
3341
- "of your website, including the field labels and placeholders of the review "
3342
- "form."
3343
  msgstr ""
3344
- "Here you can customise any text of the plugin that is shown on the frontend "
3345
- "of your website, including the field labels and placeholders of the review "
3346
- "form."
3347
 
3348
  #: views/pages/settings/translations.php:13
3349
  msgctxt "admin-text"
@@ -3354,22 +3379,22 @@ msgstr ""
3354
  "If you are using the Polylang plugin, any custom text you enter here will "
3355
  "be translatable on the Polylang \"Strings translations\" page."
3356
 
3357
- #: views/pages/settings/translations.php:19
3358
  msgctxt "admin-text"
3359
  msgid "Search for translatable text"
3360
  msgstr "Search for translatable text"
3361
 
3362
- #: views/pages/settings/translations.php:22
3363
  msgctxt "admin-text"
3364
  msgid "Search here for text to customise..."
3365
  msgstr "Search here for text to customise..."
3366
 
3367
- #: views/pages/settings/translations.php:30
3368
  msgctxt "admin-text"
3369
  msgid "Original Text"
3370
  msgstr "Original Text"
3371
 
3372
- #: views/pages/settings/translations.php:31
3373
  msgctxt "admin-text"
3374
  msgid "Custom Text"
3375
  msgstr "Custom Text"
@@ -4524,17 +4549,17 @@ msgctxt "admin-text"
4524
  msgid "Ensure result set excludes reviews authored by specific users."
4525
  msgstr "Ensure result set excludes reviews authored by specific users."
4526
 
4527
- #: config/settings.php:284
4528
  msgctxt "avatar size (admin-text)"
4529
  msgid "pixels"
4530
  msgstr "pixels"
4531
 
4532
- #: config/settings.php:315
4533
  msgctxt "exceprt length (admin-text)"
4534
  msgid "words"
4535
  msgstr "words"
4536
 
4537
- #: config/settings.php:370
4538
  msgctxt "read this (admin-text)"
4539
  msgid ""
4540
  "Google limits the schema types that can potentially trigger review rich "
1
+ # Copyright (C) 2022 site-reviews
2
  # This file is distributed under the same license as the site-reviews package.
3
  msgid ""
4
  msgstr ""
18
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
19
  "Language: en_US\n"
20
 
21
+ #: deprecated.php:136
22
  msgid ""
23
  "%s is <strong>deprecated</strong> since version %s with no alternative "
24
  "available."
26
  "%s is <strong>deprecated</strong> since version %s with no alternative "
27
  "available."
28
 
29
+ #: deprecated.php:149
30
  msgid "%s is <strong>deprecated</strong> since version %s! Use %s instead."
31
  msgstr "%s is <strong>deprecated</strong> since version %s! Use %s instead."
32
 
33
+ #: config/settings.php:55
34
  msgid "%s star or less"
35
  msgid_plural "%s stars or less"
36
  msgstr[0] "%s star or less"
37
  msgstr[1] "%s stars or less"
38
 
39
+ #: config/settings.php:328, plugin/Modules/Html/ReviewsHtml.php:143
40
  msgid "There are no reviews yet. Be the first one to write one."
41
  msgstr "There are no reviews yet. Be the first one to write one."
42
 
43
+ #: plugin/Review.php:158, plugin/Modules/Notification.php:75
44
+ msgid "Anonymous"
45
+ msgstr "Anonymous"
46
+
47
+ #: plugin/Router.php:187, views/pages/documentation/support/common-problems-and-solutions.php:55
48
  msgid "The form could not be submitted. Please notify the site administrator."
49
  msgstr "The form could not be submitted. Please notify the site administrator."
50
 
184
  msgid "Avatar for %s"
185
  msgstr "Avatar for %s"
186
 
 
 
 
 
187
  #: plugin/Overrides/ScheduledActionsTable.php:101
188
  msgid "Claim ID"
189
  msgstr "Claim ID"
576
  msgid "Theme: Twenty Twenty-One"
577
  msgstr "Theme: Twenty Twenty-One"
578
 
579
+ #: config/settings.php:36
580
+ msgctxt "admin-text"
581
+ msgid "Theme: Twenty Twenty-Two"
582
+ msgstr "Theme: Twenty Twenty-Two"
583
+
584
+ #: config/settings.php:38
585
  msgctxt "admin-text"
586
  msgid ""
587
  "Site Reviews relies on the CSS of your theme to style the review form. If "
594
  "using a WordPress plugin/theme or CSS Framework listed here, please try "
595
  "selecting it, otherwise choose \"Site Reviews (default)\"."
596
 
597
+ #: config/settings.php:43
598
  msgctxt "admin-text"
599
  msgid "Require Approval"
600
  msgstr "Require Approval"
601
 
602
+ #: config/settings.php:44
603
  msgctxt "admin-text"
604
  msgid "This will set the status of new review submissions to \"unapproved\"."
605
  msgstr "This will set the status of new review submissions to \"unapproved\"."
606
 
607
+ #: config/settings.php:53
608
  msgctxt "admin-text"
609
  msgid "Require Approval For"
610
  msgstr "Require Approval For"
611
 
612
+ #: config/settings.php:54
613
  msgctxt "admin-text"
614
  msgid ""
615
  "The minimum rating that will change the status of a new review submission "
618
  "The minimum rating that will change the status of a new review submission "
619
  "to \"unapproved\"."
620
 
621
+ #: config/settings.php:60
622
  msgctxt "admin-text"
623
  msgid "Require Login"
624
  msgstr "Require Login"
625
 
626
+ #: config/settings.php:61
627
  msgctxt "admin-text"
628
  msgid "This will only allow registered users to submit reviews."
629
  msgstr "This will only allow registered users to submit reviews."
630
 
631
+ #: config/settings.php:69
632
  msgctxt "admin-text"
633
  msgid "Custom Login URL"
634
  msgstr "Custom Login URL"
635
 
636
+ #: config/settings.php:71
637
  msgctxt "admin-text"
638
  msgid ""
639
  "Site Reviews uses the %s function to get the login URL. If you would like "
642
  "Site Reviews uses the %s function to get the login URL. If you would like "
643
  "to use a custom login URL, enter it here."
644
 
645
+ #: config/settings.php:81
646
  msgctxt "admin-text"
647
  msgid "Show Registration Link"
648
  msgstr "Show Registration Link"
649
 
650
+ #: config/settings.php:82
651
  msgctxt "admin-text"
652
  msgid ""
653
  "Show a link for a new user to register. The %s Membership option must be "
656
  "Show a link for a new user to register. The %s Membership option must be "
657
  "enabled in General Settings for this to work."
658
 
659
+ #: config/settings.php:83
660
  msgctxt "admin-text"
661
  msgid "Anyone can register"
662
  msgstr "Anyone can register"
663
 
664
+ #: config/settings.php:93
665
  msgctxt "admin-text"
666
  msgid "Custom Registration URL"
667
  msgstr "Custom Registration URL"
668
 
669
+ #: config/settings.php:95
670
  msgctxt "admin-text"
671
  msgid ""
672
  "Site Reviews uses the %s function to get the registration URL. If you would "
675
  "Site Reviews uses the %s function to get the registration URL. If you would "
676
  "like to use a custom registration URL, enter it here."
677
 
678
+ #: config/settings.php:103
679
  msgctxt "admin-text"
680
  msgid "Multilingual"
681
  msgstr "Multilingual"
682
 
683
+ #: config/settings.php:105
684
  msgctxt "admin-text"
685
  msgid "No Integration"
686
  msgstr "No Integration"
687
 
688
+ #: config/settings.php:106
689
  msgctxt "admin-text"
690
  msgid "Integrate with Polylang"
691
  msgstr "Integrate with Polylang"
692
 
693
+ #: config/settings.php:107
694
  msgctxt "admin-text"
695
  msgid "Integrate with WPML"
696
  msgstr "Integrate with WPML"
697
 
698
+ #: config/settings.php:109
699
  msgctxt "admin-text"
700
  msgid ""
701
  "Integrate with a multilingual plugin to calculate the combined ratings for "
706
  "all languages of a page; and if you are assigning reviews to your pages, "
707
  "display reviews assigned to all languages of that page."
708
 
709
+ #: config/settings.php:114
710
  msgctxt "admin-text"
711
  msgid "Notifications"
712
  msgstr "Notifications"
713
 
714
+ #: config/settings.php:116
715
  msgctxt "admin-text"
716
  msgid "Send to administrator"
717
  msgstr "Send to administrator"
718
 
719
+ #: config/settings.php:117
720
  msgctxt "admin-text"
721
  msgid "Send to author of the page that the review is assigned to"
722
  msgstr "Send to author of the page that the review is assigned to"
723
 
724
+ #: config/settings.php:118
725
  msgctxt "admin-text"
726
  msgid "Send to one or more email addresses"
727
  msgstr "Send to one or more email addresses"
728
 
729
+ #: config/settings.php:119
730
  msgctxt "admin-text"
731
  msgid "Send to <a href=\"https://slack.com/\">Slack</a>"
732
  msgstr "Send to <a href=\"https://slack.com/\">Slack</a>"
733
 
734
+ #: config/settings.php:121
735
  msgctxt "admin-text"
736
  msgid "Select the notification recipients."
737
  msgstr "Select the notification recipients."
738
 
739
+ #: config/settings.php:129
740
  msgctxt "admin-text"
741
  msgid "Send Emails From"
742
  msgstr "Send Emails From"
743
 
744
+ #: config/settings.php:131
745
  msgctxt "admin-text"
746
  msgid ""
747
  "If emails are not sending, make sure that this email address uses the same "
750
  "If emails are not sending, make sure that this email address uses the same "
751
  "domain as your website."
752
 
753
+ #: config/settings.php:139
754
  msgctxt "admin-text"
755
  msgid "Send Emails To"
756
  msgstr "Send Emails To"
757
 
758
+ #: config/settings.php:140, config/settings.php:141
759
  msgctxt "admin-text"
760
  msgid "Separate multiple emails with a comma"
761
  msgstr "Separate multiple emails with a comma"
762
 
763
+ #: config/settings.php:149
764
  msgctxt "admin-text"
765
  msgid "Slack Webhook URL"
766
  msgstr "Slack Webhook URL"
767
 
768
+ #: config/settings.php:150
769
  msgctxt "admin-text"
770
  msgid ""
771
  "To send notifications to Slack, create a new %s and then paste the provided "
774
  "To send notifications to Slack, create a new %s and then paste the provided "
775
  "Webhook URL in the field above."
776
 
777
+ #: config/settings.php:151
778
  msgctxt "admin-text"
779
  msgid "Incoming WebHook"
780
  msgstr "Incoming WebHook"
781
 
782
+ #: config/settings.php:161
783
  msgctxt "admin-text"
784
  msgid "Notification Template"
785
  msgstr "Notification Template"
786
 
787
+ #: config/settings.php:163
788
  msgctxt "admin-text"
789
  msgid ""
790
  "To restore the default text, save an empty template. If you are sending "
799
  "href=\"https://api.slack.com/docs/attachments\">Message Attachments</a> "
800
  "have been disabled."
801
 
802
+ #: config/settings.php:169, views/pages/tools/general/import-reviews.php:55
803
  msgctxt "admin-text"
804
  msgid "Date Format"
805
  msgstr "Date Format"
806
 
807
+ #: config/settings.php:171
808
  msgctxt "admin-text"
809
  msgid "Use the default date format"
810
  msgstr "Use the default date format"
811
 
812
+ #: config/settings.php:172
813
  msgctxt "admin-text"
814
  msgid "Use a relative date format"
815
  msgstr "Use a relative date format"
816
 
817
+ #: config/settings.php:173
818
  msgctxt "admin-text"
819
  msgid "Use a custom date format"
820
  msgstr "Use a custom date format"
821
 
822
+ #: config/settings.php:175
823
  msgctxt "admin-text"
824
  msgid "The default date format is the one set in your %s."
825
  msgstr "The default date format is the one set in your %s."
826
 
827
+ #: config/settings.php:176
828
  msgctxt "admin-text"
829
  msgid "WordPress settings"
830
  msgstr "WordPress settings"
831
 
832
+ #: config/settings.php:185
833
  msgctxt "admin-text"
834
  msgid "Custom Date Format"
835
  msgstr "Custom Date Format"
836
 
837
+ #: config/settings.php:186
838
  msgctxt "admin-text"
839
  msgid ""
840
  "Enter a custom date format (<a "
845
  "href=\"https://wordpress.org/support/article/formatting-date-and-time/\""
846
  ">documentation on date and time formatting</a>)."
847
 
848
+ #: config/settings.php:192
849
  msgctxt "admin-text"
850
  msgid "Name Format"
851
  msgstr "Name Format"
852
 
853
+ #: config/settings.php:194
854
  msgctxt "admin-text"
855
  msgid "Use the name as given"
856
  msgstr "Use the name as given"
857
 
858
+ #: config/settings.php:195
859
  msgctxt "admin-text"
860
  msgid "Use the first name only"
861
  msgstr "Use the first name only"
862
 
863
+ #: config/settings.php:196
864
  msgctxt "admin-text"
865
  msgid "Convert first name to an initial"
866
  msgstr "Convert first name to an initial"
867
 
868
+ #: config/settings.php:197
869
  msgctxt "admin-text"
870
  msgid "Convert last name to an initial"
871
  msgstr "Convert last name to an initial"
872
 
873
+ #: config/settings.php:198
874
  msgctxt "admin-text"
875
  msgid "Convert to all initials"
876
  msgstr "Convert to all initials"
877
 
878
+ #: config/settings.php:200
879
  msgctxt "admin-text"
880
  msgid "Choose how author names are shown in your reviews."
881
  msgstr "Choose how author names are shown in your reviews."
882
 
883
+ #: config/settings.php:209
884
  msgctxt "admin-text"
885
  msgid "Initial Format"
886
  msgstr "Initial Format"
887
 
888
+ #: config/settings.php:211
889
  msgctxt "admin-text"
890
  msgid "Initial with a space"
891
  msgstr "Initial with a space"
892
 
893
+ #: config/settings.php:212
894
  msgctxt "admin-text"
895
  msgid "Initial with a period"
896
  msgstr "Initial with a period"
897
 
898
+ #: config/settings.php:213
899
  msgctxt "admin-text"
900
  msgid "Initial with a period and a space"
901
  msgstr "Initial with a period and a space"
902
 
903
+ #: config/settings.php:215
904
  msgctxt "admin-text"
905
  msgid "Choose how the initial is displayed."
906
  msgstr "Choose how the initial is displayed."
907
 
908
+ #: config/settings.php:222
909
  msgctxt "admin-text"
910
  msgid ""
911
  "Loose Assignment displays reviews that are assigned to this <code>OR</code> "
914
  "Loose Assignment displays reviews that are assigned to this <code>OR</code> "
915
  "that."
916
 
917
+ #: config/settings.php:223
918
  msgctxt "admin-text"
919
  msgid ""
920
  "Strict Assignment displays reviews that are assigned to this "
923
  "Strict Assignment displays reviews that are assigned to this "
924
  "<code>AND</code> that."
925
 
926
+ #: config/settings.php:225
927
  msgctxt "admin-text"
928
  msgid "Review Assignment"
929
  msgstr "Review Assignment"
930
 
931
+ #: config/settings.php:227
932
  msgctxt "admin-text"
933
  msgid "Loose Assignment (slower database queries)"
934
  msgstr "Loose Assignment (slower database queries)"
935
 
936
+ #: config/settings.php:228
937
  msgctxt "admin-text"
938
  msgid "Strict Assignment (faster database queries)"
939
  msgstr "Strict Assignment (faster database queries)"
940
 
941
+ #: config/settings.php:230
942
  msgctxt "admin-text"
943
  msgid ""
944
  "This setting determines how the assigned options work in the reviews and "
947
  "This setting determines how the assigned options work in the reviews and "
948
  "summary shortcodes and blocks."
949
 
950
+ #: config/settings.php:235
951
  msgctxt "admin-text"
952
  msgid "Enable Assigned Links"
953
  msgstr "Enable Assigned Links"
954
 
955
+ #: config/settings.php:236
956
  msgctxt "admin-text"
957
  msgid "This will display a link to the assigned posts of a review."
958
  msgstr "This will display a link to the assigned posts of a review."
959
 
960
+ #: config/settings.php:241
961
  msgctxt "admin-text"
962
  msgid "Enable Avatars"
963
  msgstr "Enable Avatars"
964
 
965
+ #: config/settings.php:242
966
  msgctxt "admin-text"
967
  msgid ""
968
  "The avatars are generated from the email address of the reviewer using <a "
971
  "The avatars are generated from the email address of the reviewer using <a "
972
  "href=\"https://gravatar.com\">Gravatar</a>."
973
 
974
+ #: config/settings.php:251
975
  msgctxt "admin-text"
976
  msgid "Fallback Avatar"
977
  msgstr "Fallback Avatar"
978
 
979
+ #: config/settings.php:253, config/settings.php:460
980
  msgctxt "admin-text"
981
  msgid "Custom Image URL"
982
  msgstr "Custom Image URL"
983
 
984
+ #: config/settings.php:254
985
  msgctxt "admin-text"
986
  msgid "Identicon (geometric patterns)"
987
  msgstr "Identicon (geometric patterns)"
988
 
989
+ #: config/settings.php:255
990
  msgctxt "admin-text"
991
  msgid "Initials (initials of reviewer's name)"
992
  msgstr "Initials (initials of reviewer's name)"
993
 
994
+ #: config/settings.php:256
995
  msgctxt "admin-text"
996
  msgid "Monster (monsters with generated faces)"
997
  msgstr "Monster (monsters with generated faces)"
998
 
999
+ #: config/settings.php:257
1000
  msgctxt "admin-text"
1001
  msgid "Mystery (silhouetted outline of a person)"
1002
  msgstr "Mystery (silhouetted outline of a person)"
1003
 
1004
+ #: config/settings.php:258
1005
  msgctxt "admin-text"
1006
  msgid "Pixel Avatars (locally generated)"
1007
  msgstr "Pixel Avatars (locally generated)"
1008
 
1009
+ #: config/settings.php:259
1010
  msgctxt "admin-text"
1011
  msgid "Retro (8-bit arcade-style pixelated faces)"
1012
  msgstr "Retro (8-bit arcade-style pixelated faces)"
1013
 
1014
+ #: config/settings.php:260
1015
  msgctxt "admin-text"
1016
  msgid "Robohash (robots with generated faces)"
1017
  msgstr "Robohash (robots with generated faces)"
1018
 
1019
+ #: config/settings.php:261
1020
  msgctxt "admin-text"
1021
  msgid "Wavatar (faces with generated features)"
1022
  msgstr "Wavatar (faces with generated features)"
1023
 
1024
+ #: config/settings.php:263
1025
  msgctxt "admin-text"
1026
  msgid "This image is displayed when there is no avatar."
1027
  msgstr "This image is displayed when there is no avatar."
1028
 
1029
+ #: config/settings.php:271
1030
  msgctxt "admin-text"
1031
  msgid "Fallback Avatar URL"
1032
  msgstr "Fallback Avatar URL"
1033
 
1034
+ #: config/settings.php:272
1035
  msgctxt "admin-text"
1036
  msgid "Enter a custom image URL to use as the fallback avatar."
1037
  msgstr "Enter a custom image URL to use as the fallback avatar."
1038
 
1039
+ #: config/settings.php:280
1040
  msgctxt "admin-text"
1041
  msgid "Regenerate Avatars"
1042
  msgstr "Regenerate Avatars"
1043
 
1044
+ #: config/settings.php:281
1045
  msgctxt "admin-text"
1046
  msgid "This will regenerate the avatar whenever a local review is shown."
1047
  msgstr "This will regenerate the avatar whenever a local review is shown."
1048
 
1049
+ #: config/settings.php:290
1050
  msgctxt "admin-text"
1051
  msgid "Avatar Size"
1052
  msgstr "Avatar Size"
1053
 
1054
+ #: config/settings.php:292
1055
  msgctxt "admin-text"
1056
  msgid "Set the height/width of the avatar in pixels."
1057
  msgstr "Set the height/width of the avatar in pixels."
1058
 
1059
+ #: config/settings.php:297
1060
  msgctxt "admin-text"
1061
  msgid "Enable Excerpts"
1062
  msgstr "Enable Excerpts"
1063
 
1064
+ #: config/settings.php:298
1065
  msgctxt "admin-text"
1066
  msgid "Display an excerpt instead of the full review."
1067
  msgstr "Display an excerpt instead of the full review."
1068
 
1069
+ #: config/settings.php:307
1070
  msgctxt "admin-text"
1071
  msgid "Excerpt Action"
1072
  msgstr "Excerpt Action"
1073
 
1074
+ #: config/settings.php:309
1075
  msgctxt "admin-text"
1076
  msgid "Collapse/Expand the review"
1077
  msgstr "Collapse/Expand the review"
1078
 
1079
+ #: config/settings.php:310
1080
  msgctxt "admin-text"
1081
  msgid "Display the review in a modal"
1082
  msgstr "Display the review in a modal"
1083
 
1084
+ #: config/settings.php:321
1085
  msgctxt "admin-text"
1086
  msgid "Excerpt Length"
1087
  msgstr "Excerpt Length"
1088
 
1089
+ #: config/settings.php:322
1090
  msgctxt "admin-text"
1091
  msgid "Set the excerpt word length."
1092
  msgstr "Set the excerpt word length."
1093
 
1094
+ #: config/settings.php:327
1095
  msgctxt "admin-text"
1096
  msgid "The default text is: %s"
1097
  msgstr "The default text is: %s"
1098
 
1099
+ #: config/settings.php:330
1100
  msgctxt "admin-text"
1101
  msgid "Enable Fallback Text"
1102
  msgstr "Enable Fallback Text"
1103
 
1104
+ #: config/settings.php:331
1105
  msgctxt "admin-text"
1106
  msgid ""
1107
  "Display the fallback text when there are no reviews to display. This can be "
1112
  "changed on the %s page. You may also override this by using the "
1113
  "\"fallback\" option on the shortcode."
1114
 
1115
+ #: config/settings.php:332
1116
  msgctxt "admin-text"
1117
  msgid "Translations"
1118
  msgstr "Translations"
1119
 
1120
+ #: config/settings.php:339
1121
  msgctxt "admin-text"
1122
  msgid ""
1123
  "If you would like to keep the pagination links but prevent search engines "
1126
  "If you would like to keep the pagination links but prevent search engines "
1127
  "from indexing them, add the following lines to your %s file: %s"
1128
 
1129
+ #: config/settings.php:345
1130
  msgctxt "admin-text"
1131
  msgid "Enable Paginated URLs"
1132
  msgstr "Enable Paginated URLs"
1133
 
1134
+ #: config/settings.php:346
1135
  msgctxt "admin-text"
1136
  msgid "Paginated URLs include the %s URL parameter."
1137
  msgstr "Paginated URLs include the %s URL parameter."
1138
 
1139
+ #: config/settings.php:354
1140
  msgctxt "admin-text"
1141
  msgid "Default Schema Type"
1142
  msgstr "Default Schema Type"
1143
 
1144
+ #: config/settings.php:356
1145
  msgctxt "admin-text"
1146
  msgid "Local Business"
1147
  msgstr "Local Business"
1148
 
1149
+ #: config/settings.php:357
1150
  msgctxt "admin-text"
1151
  msgid "Product"
1152
  msgstr "Product"
1153
 
1154
+ #: config/settings.php:358
1155
  msgctxt "admin-text"
1156
  msgid "Custom"
1157
  msgstr "Custom"
1158
 
1159
+ #: config/settings.php:360, config/settings.php:384, config/settings.php:406, config/settings.php:428, config/settings.php:450, config/settings.php:471, config/settings.php:483, config/settings.php:495, config/settings.php:511, config/settings.php:524, config/settings.php:537, config/settings.php:550, config/settings.php:562
1160
  msgctxt "admin-text"
1161
  msgid ""
1162
  "You can use the %s to override this value on your page. The Custom Field "
1165
  "You can use the %s to override this value on your page. The Custom Field "
1166
  "name to use is:"
1167
 
1168
+ #: config/settings.php:361, config/settings.php:385, config/settings.php:407, config/settings.php:429, config/settings.php:451, config/settings.php:472, config/settings.php:484, config/settings.php:496, config/settings.php:512, config/settings.php:525, config/settings.php:538, config/settings.php:551, config/settings.php:563, views/pages/settings/schema.php:19
1169
  msgctxt "admin-text"
1170
  msgid "Custom Fields metabox"
1171
  msgstr "Custom Fields metabox"
1172
 
1173
+ #: config/settings.php:370
1174
  msgctxt "admin-text"
1175
  msgid "Custom Schema Type"
1176
  msgstr "Custom Schema Type"
1177
 
1178
+ #: config/settings.php:372
1179
  msgctxt "admin-text"
1180
  msgid "read this"
1181
  msgstr "read this"
1182
 
1183
+ #: config/settings.php:379
1184
  msgctxt "admin-text"
1185
  msgid "Default Name"
1186
  msgstr "Default Name"
1187
 
1188
+ #: config/settings.php:381
1189
  msgctxt "admin-text"
1190
  msgid "Use the assigned or current page title"
1191
  msgstr "Use the assigned or current page title"
1192
 
1193
+ #: config/settings.php:382, config/settings.php:395
1194
  msgctxt "admin-text"
1195
  msgid "Enter a custom title"
1196
  msgstr "Enter a custom title"
1197
 
1198
+ #: config/settings.php:394
1199
  msgctxt "admin-text"
1200
  msgid "Custom Name"
1201
  msgstr "Custom Name"
1202
 
1203
+ #: config/settings.php:401
1204
  msgctxt "admin-text"
1205
  msgid "Default Description"
1206
  msgstr "Default Description"
1207
 
1208
+ #: config/settings.php:403
1209
  msgctxt "admin-text"
1210
  msgid "Use the assigned or current page excerpt"
1211
  msgstr "Use the assigned or current page excerpt"
1212
 
1213
+ #: config/settings.php:404, config/settings.php:417
1214
  msgctxt "admin-text"
1215
  msgid "Enter a custom description"
1216
  msgstr "Enter a custom description"
1217
 
1218
+ #: config/settings.php:416
1219
  msgctxt "admin-text"
1220
  msgid "Custom Description"
1221
  msgstr "Custom Description"
1222
 
1223
+ #: config/settings.php:423
1224
  msgctxt "admin-text"
1225
  msgid "Default URL"
1226
  msgstr "Default URL"
1227
 
1228
+ #: config/settings.php:425
1229
  msgctxt "admin-text"
1230
  msgid "Use the assigned or current page URL"
1231
  msgstr "Use the assigned or current page URL"
1232
 
1233
+ #: config/settings.php:426, config/settings.php:439
1234
  msgctxt "admin-text"
1235
  msgid "Enter a custom URL"
1236
  msgstr "Enter a custom URL"
1237
 
1238
+ #: config/settings.php:438
1239
  msgctxt "admin-text"
1240
  msgid "Custom URL"
1241
  msgstr "Custom URL"
1242
 
1243
+ #: config/settings.php:445
1244
  msgctxt "admin-text"
1245
  msgid "Default Image"
1246
  msgstr "Default Image"
1247
 
1248
+ #: config/settings.php:447
1249
  msgctxt "admin-text"
1250
  msgid "Use the featured image of the assigned or current page"
1251
  msgstr "Use the featured image of the assigned or current page"
1252
 
1253
+ #: config/settings.php:448, config/settings.php:461
1254
  msgctxt "admin-text"
1255
  msgid "Enter a custom image URL"
1256
  msgstr "Enter a custom image URL"
1257
 
1258
+ #: config/settings.php:469
1259
  msgctxt "admin-text"
1260
  msgid "Address"
1261
  msgstr "Address"
1262
 
1263
+ #: config/settings.php:470
1264
  msgctxt "admin-text"
1265
  msgid "60 29th Street #343, San Francisco, CA 94110, US"
1266
  msgstr "60 29th Street #343, San Francisco, CA 94110, US"
1267
 
1268
+ #: config/settings.php:481
1269
  msgctxt "admin-text"
1270
  msgid "Telephone Number"
1271
  msgstr "Telephone Number"
1272
 
1273
+ #: config/settings.php:482
1274
  msgctxt "admin-text"
1275
  msgid "+1 (877) 273-3049"
1276
  msgstr "+1 (877) 273-3049"
1277
 
1278
+ #: config/settings.php:493
1279
  msgctxt "admin-text"
1280
  msgid "Price Range"
1281
  msgstr "Price Range"
1282
 
1283
+ #: config/settings.php:494
1284
  msgctxt "admin-text"
1285
  msgid "$$-$$$"
1286
  msgstr "$$-$$$"
1287
 
1288
+ #: config/settings.php:506
1289
  msgctxt "admin-text"
1290
  msgid "Offer Type"
1291
  msgstr "Offer Type"
1292
 
1293
+ #: config/settings.php:508
1294
  msgctxt "admin-text"
1295
  msgid "AggregateOffer"
1296
  msgstr "AggregateOffer"
1297
 
1298
+ #: config/settings.php:509
1299
  msgctxt "admin-text"
1300
  msgid "Offer"
1301
  msgstr "Offer"
1302
 
1303
+ #: config/settings.php:522
1304
  msgctxt "admin-text"
1305
  msgid "Price"
1306
  msgstr "Price"
1307
 
1308
+ #: config/settings.php:535
1309
  msgctxt "admin-text"
1310
  msgid "Low Price"
1311
  msgstr "Low Price"
1312
 
1313
+ #: config/settings.php:548
1314
  msgctxt "admin-text"
1315
  msgid "High Price"
1316
  msgstr "High Price"
1317
 
1318
+ #: config/settings.php:560
1319
  msgctxt "admin-text"
1320
  msgid "Price Currency"
1321
  msgstr "Price Currency"
1322
 
1323
+ #: config/settings.php:561
1324
  msgctxt "admin-text"
1325
  msgid "USD"
1326
  msgstr "USD"
1327
 
1328
+ #: config/settings.php:569
1329
  msgctxt "admin-text"
1330
  msgid "Required Fields"
1331
  msgstr "Required Fields"
1332
 
1333
+ #: config/settings.php:571, config/forms/metabox-fields.php:5, plugin/Defaults/PostTypeColumnDefaults.php:25, plugin/Defaults/RevisionFieldsDefaults.php:16, plugin/Tinymce/SiteReviewsTinymce.php:30
1334
  msgctxt "admin-text"
1335
  msgid "Rating"
1336
  msgstr "Rating"
1337
 
1338
+ #: config/settings.php:572, plugin/Tinymce/SiteReviewsFormTinymce.php:16, plugin/Tinymce/SiteReviewsSummaryTinymce.php:17, plugin/Tinymce/SiteReviewsTinymce.php:17, plugin/Widgets/SiteReviewsFormWidget.php:20, plugin/Widgets/SiteReviewsSummaryWidget.php:20, plugin/Widgets/SiteReviewsWidget.php:20
1339
  msgctxt "admin-text"
1340
  msgid "Title"
1341
  msgstr "Title"
1342
 
1343
+ #: config/settings.php:573, plugin/Defaults/PostTypeLabelDefaults.php:15
1344
  msgctxt "admin-text"
1345
  msgid "Review"
1346
  msgstr "Review"
1347
 
1348
+ #: config/settings.php:574, config/forms/metabox-fields.php:14, plugin/Controllers/PrivacyController.php:130, plugin/Defaults/PostTypeColumnDefaults.php:20, plugin/Defaults/RevisionFieldsDefaults.php:18
1349
  msgctxt "admin-text"
1350
  msgid "Name"
1351
  msgstr "Name"
1352
 
1353
+ #: config/settings.php:575, config/forms/metabox-fields.php:18, plugin/Controllers/PrivacyController.php:131, plugin/Defaults/PostTypeColumnDefaults.php:21, plugin/Defaults/RevisionFieldsDefaults.php:19
1354
  msgctxt "admin-text"
1355
  msgid "Email"
1356
  msgstr "Email"
1357
 
1358
+ #: config/settings.php:576, config/forms/metabox-fields.php:30
1359
  msgctxt "admin-text"
1360
  msgid "Terms"
1361
  msgstr "Terms"
1362
 
1363
+ #: config/settings.php:578
1364
  msgctxt "admin-text"
1365
  msgid "Choose which fields should be required in the review form."
1366
  msgstr "Choose which fields should be required in the review form."
1367
 
1368
+ #: config/settings.php:584
1369
  msgctxt "admin-text"
1370
  msgid "Limit Reviews"
1371
  msgstr "Limit Reviews"
1372
 
1373
+ #: config/settings.php:586
1374
  msgctxt "admin-text"
1375
  msgid "No Limit"
1376
  msgstr "No Limit"
1377
 
1378
+ #: config/settings.php:587
1379
  msgctxt "admin-text"
1380
  msgid "By Email Address"
1381
  msgstr "By Email Address"
1382
 
1383
+ #: config/settings.php:588
1384
  msgctxt "admin-text"
1385
  msgid "By IP Address"
1386
  msgstr "By IP Address"
1387
 
1388
+ #: config/settings.php:589
1389
  msgctxt "admin-text"
1390
  msgid "By Username (will only work for registered users)"
1391
  msgstr "By Username (will only work for registered users)"
1392
 
1393
+ #: config/settings.php:591
1394
  msgctxt "admin-text"
1395
  msgid "Limits the number of reviews that can be submitted to one-per-person."
1396
  msgstr "Limits the number of reviews that can be submitted to one-per-person."
1397
 
1398
+ #: config/settings.php:599
1399
  msgctxt "admin-text"
1400
  msgid "Restrict Limits To"
1401
  msgstr "Restrict Limits To"
1402
 
1403
+ #: config/settings.php:601, plugin/Controllers/MetaboxController.php:38, plugin/Tinymce/SiteReviewsSummaryTinymce.php:25, plugin/Tinymce/SiteReviewsTinymce.php:56, views/partials/screen/inline-edit.php:102
1404
  msgctxt "admin-text"
1405
  msgid "Assigned Posts"
1406
  msgstr "Assigned Posts"
1407
 
1408
+ #: config/settings.php:602
1409
  msgctxt "admin-text"
1410
  msgid "Assigned Terms"
1411
  msgstr "Assigned Terms"
1412
 
1413
+ #: config/settings.php:603, plugin/Controllers/MetaboxController.php:39, plugin/Defaults/PostTypeColumnDefaults.php:19, views/partials/screen/inline-edit.php:113
1414
  msgctxt "admin-text"
1415
  msgid "Assigned Users"
1416
  msgstr "Assigned Users"
1417
 
1418
+ #: config/settings.php:606
1419
  msgctxt "admin-text"
1420
  msgid "Select which assignments the review limits should be restricted to."
1421
  msgstr "Select which assignments the review limits should be restricted to."
1422
 
1423
+ #: config/settings.php:607
1424
  msgctxt "admin-text"
1425
  msgid ""
1426
  "The review limits use strict assignment, i.e. <code>restrict limits to "
1429
  "The review limits use strict assignment, i.e. <code>restrict limits to "
1430
  "reviews assigned to this AND this</code>."
1431
 
1432
+ #: config/settings.php:616
1433
  msgctxt "admin-text"
1434
  msgid "Email Whitelist"
1435
  msgstr "Email Whitelist"
1436
 
1437
+ #: config/settings.php:618
1438
  msgctxt "admin-text"
1439
  msgid ""
1440
  "One Email per line. All emails in the whitelist will be excluded from the "
1443
  "One Email per line. All emails in the whitelist will be excluded from the "
1444
  "review submission limit."
1445
 
1446
+ #: config/settings.php:626
1447
  msgctxt "admin-text"
1448
  msgid "IP Address Whitelist"
1449
  msgstr "IP Address Whitelist"
1450
 
1451
+ #: config/settings.php:628
1452
  msgctxt "admin-text"
1453
  msgid ""
1454
  "One IP Address per line. All IP Addresses in the whitelist will be excluded "
1457
  "One IP Address per line. All IP Addresses in the whitelist will be excluded "
1458
  "from the review submission limit.."
1459
 
1460
+ #: config/settings.php:636
1461
  msgctxt "admin-text"
1462
  msgid "Username Whitelist"
1463
  msgstr "Username Whitelist"
1464
 
1465
+ #: config/settings.php:638
1466
  msgctxt "admin-text"
1467
  msgid ""
1468
  "One Username per line. All registered users with a Username in the "
1471
  "One Username per line. All registered users with a Username in the "
1472
  "whitelist will be excluded from the review submission limit."
1473
 
1474
+ #: config/settings.php:644
1475
  msgctxt "admin-text"
1476
  msgid "Invisible reCAPTCHA"
1477
  msgstr "Invisible reCAPTCHA"
1478
 
1479
+ #: config/settings.php:646
1480
  msgctxt "admin-text"
1481
  msgid "Do not use reCAPTCHA"
1482
  msgstr "Do not use reCAPTCHA"
1483
 
1484
+ #: config/settings.php:647
1485
  msgctxt "admin-text"
1486
  msgid "Use reCAPTCHA"
1487
  msgstr "Use reCAPTCHA"
1488
 
1489
+ #: config/settings.php:648
1490
  msgctxt "admin-text"
1491
  msgid "Use reCAPTCHA only for guest users"
1492
  msgstr "Use reCAPTCHA only for guest users"
1493
 
1494
+ #: config/settings.php:650
1495
  msgctxt "admin-text"
1496
  msgid ""
1497
  "The Invisible reCAPTCHA badge (reCAPTCHA v2) is a free anti-spam service "
1504
  "href=\"https://www.google.com/recaptcha/admin\" target=\"_blank\">sign "
1505
  "up</a> for an API key pair for your site."
1506
 
1507
+ #: config/settings.php:658
1508
  msgctxt "admin-text"
1509
  msgid "Site Key"
1510
  msgstr "Site Key"
1511
 
1512
+ #: config/settings.php:659
1513
  msgctxt "admin-text"
1514
  msgid "Enter the Invisible reCAPTCHA Site Key here"
1515
  msgstr "Enter the Invisible reCAPTCHA Site Key here"
1516
 
1517
+ #: config/settings.php:667
1518
  msgctxt "admin-text"
1519
  msgid "Site Secret"
1520
  msgstr "Site Secret"
1521
 
1522
+ #: config/settings.php:668
1523
  msgctxt "admin-text"
1524
  msgid "Enter the Invisible reCAPTCHA Site Secret here"
1525
  msgstr "Enter the Invisible reCAPTCHA Site Secret here"
1526
 
1527
+ #: config/settings.php:677
1528
  msgctxt "admin-text"
1529
  msgid "Badge Position"
1530
  msgstr "Badge Position"
1531
 
1532
+ #: config/settings.php:679
1533
  msgctxt "admin-text"
1534
  msgid "Bottom Left"
1535
  msgstr "Bottom Left"
1536
 
1537
+ #: config/settings.php:680
1538
  msgctxt "admin-text"
1539
  msgid "Bottom Right"
1540
  msgstr "Bottom Right"
1541
 
1542
+ #: config/settings.php:681
1543
  msgctxt "admin-text"
1544
  msgid "Inline"
1545
  msgstr "Inline"
1546
 
1547
+ #: config/settings.php:683
1548
  msgctxt "admin-text"
1549
  msgid ""
1550
  "This option may not work consistently if another plugin is loading "
1553
  "This option may not work consistently if another plugin is loading "
1554
  "reCAPTCHA on the same page as Site Reviews."
1555
 
1556
+ #: config/settings.php:688
1557
  msgctxt "admin-text"
1558
  msgid "Enable Akismet"
1559
  msgstr "Enable Akismet"
1560
 
1561
+ #: config/settings.php:689
1562
  msgctxt "admin-text"
1563
  msgid ""
1564
  "The <a href=\"https://akismet.com\" target=\"_blank\">Akismet plugin</a> "
1571
  "setting to have any affect, you will need to first install and activate the "
1572
  "Akismet plugin and set up a WordPress.com API key."
1573
 
1574
+ #: config/settings.php:695
1575
  msgctxt "admin-text"
1576
  msgid "Blacklist"
1577
  msgstr "Blacklist"
1578
 
1579
+ #: config/settings.php:697
1580
  msgctxt "admin-text"
1581
  msgid "Use the Site Reviews Blacklist"
1582
  msgstr "Use the Site Reviews Blacklist"
1583
 
1584
+ #: config/settings.php:698
1585
  msgctxt "admin-text"
1586
  msgid "Use the WordPress Disallowed Comment Keys"
1587
  msgstr "Use the WordPress Disallowed Comment Keys"
1588
 
1589
+ #: config/settings.php:700
1590
  msgctxt "admin-text"
1591
  msgid ""
1592
  "Choose which Blacklist you would prefer to use for reviews. The %s option "
1595
  "Choose which Blacklist you would prefer to use for reviews. The %s option "
1596
  "can be found in the WordPress Discussion Settings page."
1597
 
1598
+ #: config/settings.php:701
1599
  msgctxt "admin-text"
1600
  msgid "Disallowed Comment Keys"
1601
  msgstr "Disallowed Comment Keys"
1602
 
1603
+ #: config/settings.php:710
1604
  msgctxt "admin-text"
1605
  msgid "Review Blacklist"
1606
  msgstr "Review Blacklist"
1607
 
1608
+ #: config/settings.php:712
1609
  msgctxt "admin-text"
1610
  msgid ""
1611
  "One entry or IP address per line. When a review contains any of these "
1618
  "rejected. It is case-insensitive and will match partial words, so \"press\" "
1619
  "will match \"WordPress\"."
1620
 
1621
+ #: config/settings.php:718
1622
  msgctxt "admin-text"
1623
  msgid "Blacklist Action"
1624
  msgstr "Blacklist Action"
1625
 
1626
+ #: config/settings.php:720
1627
  msgctxt "admin-text"
1628
  msgid "Require approval"
1629
  msgstr "Require approval"
1630
 
1631
+ #: config/settings.php:721
1632
  msgctxt "admin-text"
1633
  msgid "Reject submission"
1634
  msgstr "Reject submission"
1635
 
1636
+ #: config/settings.php:723
1637
  msgctxt "admin-text"
1638
  msgid "Choose the action that should be taken when a review is blacklisted."
1639
  msgstr "Choose the action that should be taken when a review is blacklisted."
1647
  "The [%s] method has been deprecated and will be soon be removed, please use "
1648
  "the [%s] method instead."
1649
 
1650
+ #: plugin/Review.php:354, plugin/Controllers/ListTableColumns/ColumnValueAuthorName.php:20
1651
  msgctxt "admin-text"
1652
  msgid "Unknown"
1653
  msgstr "Unknown"
1654
 
1655
+ #: plugin/Router.php:183
1656
  msgctxt "admin-text"
1657
  msgid "There was an error (try reloading the page)."
1658
  msgstr "There was an error (try reloading the page)."
1753
  msgid "License Keys"
1754
  msgstr "License Keys"
1755
 
1756
+ #: plugin/Addons/Updater.php:221
1757
+ msgctxt "admin-text"
1758
+ msgid "A valid license key is required to download this update."
1759
+ msgstr "A valid license key is required to download this update."
1760
+
1761
  #: plugin/Blocks/SiteReviewsBlock.php:109, plugin/Blocks/SiteReviewsFormBlock.php:97, plugin/Blocks/SiteReviewsSummaryBlock.php:93
1762
  msgctxt "admin-text"
1763
  msgid "You have hidden all of the fields for this block."
1773
  msgid "Pin Your Reviews"
1774
  msgstr "Pin Your Reviews"
1775
 
1776
+ #: plugin/Commands/EnqueueAdminAssets.php:106
1777
  msgctxt "admin-text"
1778
  msgid "Try Premium"
1779
  msgstr "Try Premium"
1780
 
1781
+ #: plugin/Commands/EnqueueAdminAssets.php:107
1782
  msgctxt "admin-text"
1783
  msgid "Please rate %s on %s and help us spread the word. Thank you so much!"
1784
  msgstr "Please rate %s on %s and help us spread the word. Thank you so much!"
1842
  msgid "Review unpinned."
1843
  msgstr "Review unpinned."
1844
 
1845
+ #: plugin/Commands/ToggleStatus.php:55, views/partials/editor/pinned.php:7
1846
  msgctxt "admin-text"
1847
  msgid "Edit"
1848
  msgstr "Edit"
1849
 
1850
+ #: plugin/Commands/ToggleStatus.php:78
1851
  msgctxt "admin-text"
1852
  msgid "Approved <span class=\"count\">(%s)</span>"
1853
  msgid_plural "Approved <span class=\"count\">(%s)</span>"
1854
  msgstr[0] "Approved <span class=\"count\">(%s)</span>"
1855
  msgstr[1] "Approved <span class=\"count\">(%s)</span>"
1856
 
1857
+ #: plugin/Commands/ToggleStatus.php:86
1858
  msgctxt "admin-text"
1859
  msgid "Unapproved <span class=\"count\">(%s)</span>"
1860
  msgid_plural "Unapproved <span class=\"count\">(%s)</span>"
2987
  msgid "No assigned user"
2988
  msgstr "No assigned user"
2989
 
2990
+ #: plugin/Controllers/ListTableColumns/ColumnFilterAuthor.php:20
2991
+ msgctxt "admin-text"
2992
+ msgid "Filter by author"
2993
+ msgstr "Filter by author"
2994
+
2995
+ #: plugin/Controllers/ListTableColumns/ColumnFilterAuthor.php:23
2996
+ msgctxt "admin-text"
2997
+ msgid "All authors"
2998
+ msgstr "All authors"
2999
+
3000
+ #: plugin/Controllers/ListTableColumns/ColumnFilterAuthor.php:44
3001
+ msgctxt "admin-text"
3002
+ msgid "No author (guest submissions)"
3003
+ msgstr "No author (guest submissions)"
3004
+
3005
  #: plugin/Controllers/ListTableColumns/ColumnFilterCategory.php:19
3006
  msgctxt "admin-text"
3007
  msgid "Filter by category"
3362
  #: views/pages/settings/translations.php:12
3363
  msgctxt "admin-text"
3364
  msgid ""
3365
+ "Here you can customise any English text of the plugin that is shown on the "
3366
+ "frontend of your website, including the field labels and placeholders of "
3367
+ "the review form."
3368
  msgstr ""
3369
+ "Here you can customise any English text of the plugin that is shown on the "
3370
+ "frontend of your website, including the field labels and placeholders of "
3371
+ "the review form."
3372
 
3373
  #: views/pages/settings/translations.php:13
3374
  msgctxt "admin-text"
3379
  "If you are using the Polylang plugin, any custom text you enter here will "
3380
  "be translatable on the Polylang \"Strings translations\" page."
3381
 
3382
+ #: views/pages/settings/translations.php:18
3383
  msgctxt "admin-text"
3384
  msgid "Search for translatable text"
3385
  msgstr "Search for translatable text"
3386
 
3387
+ #: views/pages/settings/translations.php:21
3388
  msgctxt "admin-text"
3389
  msgid "Search here for text to customise..."
3390
  msgstr "Search here for text to customise..."
3391
 
3392
+ #: views/pages/settings/translations.php:29
3393
  msgctxt "admin-text"
3394
  msgid "Original Text"
3395
  msgstr "Original Text"
3396
 
3397
+ #: views/pages/settings/translations.php:30
3398
  msgctxt "admin-text"
3399
  msgid "Custom Text"
3400
  msgstr "Custom Text"
4549
  msgid "Ensure result set excludes reviews authored by specific users."
4550
  msgstr "Ensure result set excludes reviews authored by specific users."
4551
 
4552
+ #: config/settings.php:285
4553
  msgctxt "avatar size (admin-text)"
4554
  msgid "pixels"
4555
  msgstr "pixels"
4556
 
4557
+ #: config/settings.php:316
4558
  msgctxt "exceprt length (admin-text)"
4559
  msgid "words"
4560
  msgstr "words"
4561
 
4562
+ #: config/settings.php:371
4563
  msgctxt "read this (admin-text)"
4564
  msgid ""
4565
  "Google limits the schema types that can potentially trigger review rich "
languages/site-reviews.pot CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2021 site-reviews
2
  # This file is distributed under the same license as the site-reviews package.
3
  msgid ""
4
  msgstr ""
@@ -115,11 +115,11 @@ msgctxt "admin-text"
115
  msgid "Respond To Others' Reviews"
116
  msgstr ""
117
 
118
- #: deprecated.php:123
119
  msgid "%s is <strong>deprecated</strong> since version %s with no alternative available."
120
  msgstr ""
121
 
122
- #: deprecated.php:136
123
  msgid "%s is <strong>deprecated</strong> since version %s! Use %s instead."
124
  msgstr ""
125
 
@@ -223,952 +223,957 @@ msgctxt "admin-text"
223
  msgid "Theme: Twenty Twenty-One"
224
  msgstr ""
225
 
226
- #: config/settings.php:37
 
 
 
 
 
227
  msgctxt "admin-text"
228
  msgid "Site Reviews relies on the CSS of your theme to style the review form. If your theme does not provide proper CSS rules for form elements and you are using a WordPress plugin/theme or CSS Framework listed here, please try selecting it, otherwise choose \"Site Reviews (default)\"."
229
  msgstr ""
230
 
231
- #: config/settings.php:42
232
  msgctxt "admin-text"
233
  msgid "Require Approval"
234
  msgstr ""
235
 
236
- #: config/settings.php:43
237
  msgctxt "admin-text"
238
  msgid "This will set the status of new review submissions to \"unapproved\"."
239
  msgstr ""
240
 
241
- #: config/settings.php:52
242
  msgctxt "admin-text"
243
  msgid "Require Approval For"
244
  msgstr ""
245
 
246
- #: config/settings.php:53
247
  msgctxt "admin-text"
248
  msgid "The minimum rating that will change the status of a new review submission to \"unapproved\"."
249
  msgstr ""
250
 
251
- #: config/settings.php:54
252
  msgid "%s star or less"
253
  msgid_plural "%s stars or less"
254
  msgstr[0] ""
255
  msgstr[1] ""
256
 
257
- #: config/settings.php:59
258
  msgctxt "admin-text"
259
  msgid "Require Login"
260
  msgstr ""
261
 
262
- #: config/settings.php:60
263
  msgctxt "admin-text"
264
  msgid "This will only allow registered users to submit reviews."
265
  msgstr ""
266
 
267
- #: config/settings.php:68
268
  msgctxt "admin-text"
269
  msgid "Custom Login URL"
270
  msgstr ""
271
 
272
- #: config/settings.php:70
273
  msgctxt "admin-text"
274
  msgid "Site Reviews uses the %s function to get the login URL. If you would like to use a custom login URL, enter it here."
275
  msgstr ""
276
 
277
- #: config/settings.php:80
278
  msgctxt "admin-text"
279
  msgid "Show Registration Link"
280
  msgstr ""
281
 
282
- #: config/settings.php:81
283
  msgctxt "admin-text"
284
  msgid "Show a link for a new user to register. The %s Membership option must be enabled in General Settings for this to work."
285
  msgstr ""
286
 
287
- #: config/settings.php:82
288
  msgctxt "admin-text"
289
  msgid "Anyone can register"
290
  msgstr ""
291
 
292
- #: config/settings.php:92
293
  msgctxt "admin-text"
294
  msgid "Custom Registration URL"
295
  msgstr ""
296
 
297
- #: config/settings.php:94
298
  msgctxt "admin-text"
299
  msgid "Site Reviews uses the %s function to get the registration URL. If you would like to use a custom registration URL, enter it here."
300
  msgstr ""
301
 
302
- #: config/settings.php:102
303
  msgctxt "admin-text"
304
  msgid "Multilingual"
305
  msgstr ""
306
 
307
- #: config/settings.php:104
308
  msgctxt "admin-text"
309
  msgid "No Integration"
310
  msgstr ""
311
 
312
- #: config/settings.php:105
313
  msgctxt "admin-text"
314
  msgid "Integrate with Polylang"
315
  msgstr ""
316
 
317
- #: config/settings.php:106
318
  msgctxt "admin-text"
319
  msgid "Integrate with WPML"
320
  msgstr ""
321
 
322
- #: config/settings.php:108
323
  msgctxt "admin-text"
324
  msgid "Integrate with a multilingual plugin to calculate the combined ratings for all languages of a page; and if you are assigning reviews to your pages, display reviews assigned to all languages of that page."
325
  msgstr ""
326
 
327
- #: config/settings.php:113
328
  msgctxt "admin-text"
329
  msgid "Notifications"
330
  msgstr ""
331
 
332
- #: config/settings.php:115
333
  msgctxt "admin-text"
334
  msgid "Send to administrator"
335
  msgstr ""
336
 
337
- #: config/settings.php:116
338
  msgctxt "admin-text"
339
  msgid "Send to author of the page that the review is assigned to"
340
  msgstr ""
341
 
342
- #: config/settings.php:117
343
  msgctxt "admin-text"
344
  msgid "Send to one or more email addresses"
345
  msgstr ""
346
 
347
- #: config/settings.php:118
348
  msgctxt "admin-text"
349
  msgid "Send to <a href=\"https://slack.com/\">Slack</a>"
350
  msgstr ""
351
 
352
- #: config/settings.php:120
353
  msgctxt "admin-text"
354
  msgid "Select the notification recipients."
355
  msgstr ""
356
 
357
- #: config/settings.php:128
358
  msgctxt "admin-text"
359
  msgid "Send Emails From"
360
  msgstr ""
361
 
362
- #: config/settings.php:130
363
  msgctxt "admin-text"
364
  msgid "If emails are not sending, make sure that this email address uses the same domain as your website."
365
  msgstr ""
366
 
367
- #: config/settings.php:138
368
  msgctxt "admin-text"
369
  msgid "Send Emails To"
370
  msgstr ""
371
 
372
- #: config/settings.php:139, config/settings.php:140
373
  msgctxt "admin-text"
374
  msgid "Separate multiple emails with a comma"
375
  msgstr ""
376
 
377
- #: config/settings.php:148
378
  msgctxt "admin-text"
379
  msgid "Slack Webhook URL"
380
  msgstr ""
381
 
382
- #: config/settings.php:149
383
  msgctxt "admin-text"
384
  msgid "To send notifications to Slack, create a new %s and then paste the provided Webhook URL in the field above."
385
  msgstr ""
386
 
387
- #: config/settings.php:150
388
  msgctxt "admin-text"
389
  msgid "Incoming WebHook"
390
  msgstr ""
391
 
392
- #: config/settings.php:160
393
  msgctxt "admin-text"
394
  msgid "Notification Template"
395
  msgstr ""
396
 
397
- #: config/settings.php:162
398
  msgctxt "admin-text"
399
  msgid "To restore the default text, save an empty template. If you are sending notifications to Slack then this template will only be used as a fallback in the event that <a href=\"https://api.slack.com/docs/attachments\">Message Attachments</a> have been disabled."
400
  msgstr ""
401
 
402
- #: config/settings.php:168, views/pages/tools/general/import-reviews.php:55
403
  msgctxt "admin-text"
404
  msgid "Date Format"
405
  msgstr ""
406
 
407
- #: config/settings.php:170
408
  msgctxt "admin-text"
409
  msgid "Use the default date format"
410
  msgstr ""
411
 
412
- #: config/settings.php:171
413
  msgctxt "admin-text"
414
  msgid "Use a relative date format"
415
  msgstr ""
416
 
417
- #: config/settings.php:172
418
  msgctxt "admin-text"
419
  msgid "Use a custom date format"
420
  msgstr ""
421
 
422
- #: config/settings.php:174
423
  msgctxt "admin-text"
424
  msgid "The default date format is the one set in your %s."
425
  msgstr ""
426
 
427
- #: config/settings.php:175
428
  msgctxt "admin-text"
429
  msgid "WordPress settings"
430
  msgstr ""
431
 
432
- #: config/settings.php:184
433
  msgctxt "admin-text"
434
  msgid "Custom Date Format"
435
  msgstr ""
436
 
437
- #: config/settings.php:185
438
  msgctxt "admin-text"
439
  msgid "Enter a custom date format (<a href=\"https://wordpress.org/support/article/formatting-date-and-time/\">documentation on date and time formatting</a>)."
440
  msgstr ""
441
 
442
- #: config/settings.php:191
443
  msgctxt "admin-text"
444
  msgid "Name Format"
445
  msgstr ""
446
 
447
- #: config/settings.php:193
448
  msgctxt "admin-text"
449
  msgid "Use the name as given"
450
  msgstr ""
451
 
452
- #: config/settings.php:194
453
  msgctxt "admin-text"
454
  msgid "Use the first name only"
455
  msgstr ""
456
 
457
- #: config/settings.php:195
458
  msgctxt "admin-text"
459
  msgid "Convert first name to an initial"
460
  msgstr ""
461
 
462
- #: config/settings.php:196
463
  msgctxt "admin-text"
464
  msgid "Convert last name to an initial"
465
  msgstr ""
466
 
467
- #: config/settings.php:197
468
  msgctxt "admin-text"
469
  msgid "Convert to all initials"
470
  msgstr ""
471
 
472
- #: config/settings.php:199
473
  msgctxt "admin-text"
474
  msgid "Choose how author names are shown in your reviews."
475
  msgstr ""
476
 
477
- #: config/settings.php:208
478
  msgctxt "admin-text"
479
  msgid "Initial Format"
480
  msgstr ""
481
 
482
- #: config/settings.php:210
483
  msgctxt "admin-text"
484
  msgid "Initial with a space"
485
  msgstr ""
486
 
487
- #: config/settings.php:211
488
  msgctxt "admin-text"
489
  msgid "Initial with a period"
490
  msgstr ""
491
 
492
- #: config/settings.php:212
493
  msgctxt "admin-text"
494
  msgid "Initial with a period and a space"
495
  msgstr ""
496
 
497
- #: config/settings.php:214
498
  msgctxt "admin-text"
499
  msgid "Choose how the initial is displayed."
500
  msgstr ""
501
 
502
- #: config/settings.php:221
503
  msgctxt "admin-text"
504
  msgid "Loose Assignment displays reviews that are assigned to this <code>OR</code> that."
505
  msgstr ""
506
 
507
- #: config/settings.php:222
508
  msgctxt "admin-text"
509
  msgid "Strict Assignment displays reviews that are assigned to this <code>AND</code> that."
510
  msgstr ""
511
 
512
- #: config/settings.php:224
513
  msgctxt "admin-text"
514
  msgid "Review Assignment"
515
  msgstr ""
516
 
517
- #: config/settings.php:226
518
  msgctxt "admin-text"
519
  msgid "Loose Assignment (slower database queries)"
520
  msgstr ""
521
 
522
- #: config/settings.php:227
523
  msgctxt "admin-text"
524
  msgid "Strict Assignment (faster database queries)"
525
  msgstr ""
526
 
527
- #: config/settings.php:229
528
  msgctxt "admin-text"
529
  msgid "This setting determines how the assigned options work in the reviews and summary shortcodes and blocks."
530
  msgstr ""
531
 
532
- #: config/settings.php:234
533
  msgctxt "admin-text"
534
  msgid "Enable Assigned Links"
535
  msgstr ""
536
 
537
- #: config/settings.php:235
538
  msgctxt "admin-text"
539
  msgid "This will display a link to the assigned posts of a review."
540
  msgstr ""
541
 
542
- #: config/settings.php:240
543
  msgctxt "admin-text"
544
  msgid "Enable Avatars"
545
  msgstr ""
546
 
547
- #: config/settings.php:241
548
  msgctxt "admin-text"
549
  msgid "The avatars are generated from the email address of the reviewer using <a href=\"https://gravatar.com\">Gravatar</a>."
550
  msgstr ""
551
 
552
- #: config/settings.php:250
553
  msgctxt "admin-text"
554
  msgid "Fallback Avatar"
555
  msgstr ""
556
 
557
- #: config/settings.php:252, config/settings.php:459
558
  msgctxt "admin-text"
559
  msgid "Custom Image URL"
560
  msgstr ""
561
 
562
- #: config/settings.php:253
563
  msgctxt "admin-text"
564
  msgid "Identicon (geometric patterns)"
565
  msgstr ""
566
 
567
- #: config/settings.php:254
568
  msgctxt "admin-text"
569
  msgid "Initials (initials of reviewer's name)"
570
  msgstr ""
571
 
572
- #: config/settings.php:255
573
  msgctxt "admin-text"
574
  msgid "Monster (monsters with generated faces)"
575
  msgstr ""
576
 
577
- #: config/settings.php:256
578
  msgctxt "admin-text"
579
  msgid "Mystery (silhouetted outline of a person)"
580
  msgstr ""
581
 
582
- #: config/settings.php:257
583
  msgctxt "admin-text"
584
  msgid "Pixel Avatars (locally generated)"
585
  msgstr ""
586
 
587
- #: config/settings.php:258
588
  msgctxt "admin-text"
589
  msgid "Retro (8-bit arcade-style pixelated faces)"
590
  msgstr ""
591
 
592
- #: config/settings.php:259
593
  msgctxt "admin-text"
594
  msgid "Robohash (robots with generated faces)"
595
  msgstr ""
596
 
597
- #: config/settings.php:260
598
  msgctxt "admin-text"
599
  msgid "Wavatar (faces with generated features)"
600
  msgstr ""
601
 
602
- #: config/settings.php:262
603
  msgctxt "admin-text"
604
  msgid "This image is displayed when there is no avatar."
605
  msgstr ""
606
 
607
- #: config/settings.php:270
608
  msgctxt "admin-text"
609
  msgid "Fallback Avatar URL"
610
  msgstr ""
611
 
612
- #: config/settings.php:271
613
  msgctxt "admin-text"
614
  msgid "Enter a custom image URL to use as the fallback avatar."
615
  msgstr ""
616
 
617
- #: config/settings.php:279
618
  msgctxt "admin-text"
619
  msgid "Regenerate Avatars"
620
  msgstr ""
621
 
622
- #: config/settings.php:280
623
  msgctxt "admin-text"
624
  msgid "This will regenerate the avatar whenever a local review is shown."
625
  msgstr ""
626
 
627
- #: config/settings.php:284
628
  msgctxt "avatar size (admin-text)"
629
  msgid "pixels"
630
  msgstr ""
631
 
632
- #: config/settings.php:289
633
  msgctxt "admin-text"
634
  msgid "Avatar Size"
635
  msgstr ""
636
 
637
- #: config/settings.php:291
638
  msgctxt "admin-text"
639
  msgid "Set the height/width of the avatar in pixels."
640
  msgstr ""
641
 
642
- #: config/settings.php:296
643
  msgctxt "admin-text"
644
  msgid "Enable Excerpts"
645
  msgstr ""
646
 
647
- #: config/settings.php:297
648
  msgctxt "admin-text"
649
  msgid "Display an excerpt instead of the full review."
650
  msgstr ""
651
 
652
- #: config/settings.php:306
653
  msgctxt "admin-text"
654
  msgid "Excerpt Action"
655
  msgstr ""
656
 
657
- #: config/settings.php:308
658
  msgctxt "admin-text"
659
  msgid "Collapse/Expand the review"
660
  msgstr ""
661
 
662
- #: config/settings.php:309
663
  msgctxt "admin-text"
664
  msgid "Display the review in a modal"
665
  msgstr ""
666
 
667
- #: config/settings.php:315
668
  msgctxt "exceprt length (admin-text)"
669
  msgid "words"
670
  msgstr ""
671
 
672
- #: config/settings.php:320
673
  msgctxt "admin-text"
674
  msgid "Excerpt Length"
675
  msgstr ""
676
 
677
- #: config/settings.php:321
678
  msgctxt "admin-text"
679
  msgid "Set the excerpt word length."
680
  msgstr ""
681
 
682
- #: config/settings.php:326
683
  msgctxt "admin-text"
684
  msgid "The default text is: %s"
685
  msgstr ""
686
 
687
- #: config/settings.php:327, plugin/Modules/Html/ReviewsHtml.php:142
688
  msgid "There are no reviews yet. Be the first one to write one."
689
  msgstr ""
690
 
691
- #: config/settings.php:329
692
  msgctxt "admin-text"
693
  msgid "Enable Fallback Text"
694
  msgstr ""
695
 
696
- #: config/settings.php:330
697
  msgctxt "admin-text"
698
  msgid "Display the fallback text when there are no reviews to display. This can be changed on the %s page. You may also override this by using the \"fallback\" option on the shortcode."
699
  msgstr ""
700
 
701
- #: config/settings.php:331
702
  msgctxt "admin-text"
703
  msgid "Translations"
704
  msgstr ""
705
 
706
- #: config/settings.php:338
707
  msgctxt "admin-text"
708
  msgid "If you would like to keep the pagination links but prevent search engines from indexing them, add the following lines to your %s file: %s"
709
  msgstr ""
710
 
711
- #: config/settings.php:344
712
  msgctxt "admin-text"
713
  msgid "Enable Paginated URLs"
714
  msgstr ""
715
 
716
- #: config/settings.php:345
717
  msgctxt "admin-text"
718
  msgid "Paginated URLs include the %s URL parameter."
719
  msgstr ""
720
 
721
- #: config/settings.php:353
722
  msgctxt "admin-text"
723
  msgid "Default Schema Type"
724
  msgstr ""
725
 
726
- #: config/settings.php:355
727
  msgctxt "admin-text"
728
  msgid "Local Business"
729
  msgstr ""
730
 
731
- #: config/settings.php:356
732
  msgctxt "admin-text"
733
  msgid "Product"
734
  msgstr ""
735
 
736
- #: config/settings.php:357
737
  msgctxt "admin-text"
738
  msgid "Custom"
739
  msgstr ""
740
 
741
- #: config/settings.php:359, config/settings.php:383, config/settings.php:405, config/settings.php:427, config/settings.php:449, config/settings.php:470, config/settings.php:482, config/settings.php:494, config/settings.php:510, config/settings.php:523, config/settings.php:536, config/settings.php:549, config/settings.php:561
742
  msgctxt "admin-text"
743
  msgid "You can use the %s to override this value on your page. The Custom Field name to use is:"
744
  msgstr ""
745
 
746
- #: config/settings.php:360, config/settings.php:384, config/settings.php:406, config/settings.php:428, config/settings.php:450, config/settings.php:471, config/settings.php:483, config/settings.php:495, config/settings.php:511, config/settings.php:524, config/settings.php:537, config/settings.php:550, config/settings.php:562, views/pages/settings/schema.php:19
747
  msgctxt "admin-text"
748
  msgid "Custom Fields metabox"
749
  msgstr ""
750
 
751
- #: config/settings.php:369
752
  msgctxt "admin-text"
753
  msgid "Custom Schema Type"
754
  msgstr ""
755
 
756
- #: config/settings.php:370
757
  msgctxt "read this (admin-text)"
758
  msgid "Google limits the schema types that can potentially trigger review rich results in search. To learn which schema types can be used, please %s."
759
  msgstr ""
760
 
761
- #: config/settings.php:371
762
  msgctxt "admin-text"
763
  msgid "read this"
764
  msgstr ""
765
 
766
- #: config/settings.php:378
767
  msgctxt "admin-text"
768
  msgid "Default Name"
769
  msgstr ""
770
 
771
- #: config/settings.php:380
772
  msgctxt "admin-text"
773
  msgid "Use the assigned or current page title"
774
  msgstr ""
775
 
776
- #: config/settings.php:381, config/settings.php:394
777
  msgctxt "admin-text"
778
  msgid "Enter a custom title"
779
  msgstr ""
780
 
781
- #: config/settings.php:393
782
  msgctxt "admin-text"
783
  msgid "Custom Name"
784
  msgstr ""
785
 
786
- #: config/settings.php:400
787
  msgctxt "admin-text"
788
  msgid "Default Description"
789
  msgstr ""
790
 
791
- #: config/settings.php:402
792
  msgctxt "admin-text"
793
  msgid "Use the assigned or current page excerpt"
794
  msgstr ""
795
 
796
- #: config/settings.php:403, config/settings.php:416
797
  msgctxt "admin-text"
798
  msgid "Enter a custom description"
799
  msgstr ""
800
 
801
- #: config/settings.php:415
802
  msgctxt "admin-text"
803
  msgid "Custom Description"
804
  msgstr ""
805
 
806
- #: config/settings.php:422
807
  msgctxt "admin-text"
808
  msgid "Default URL"
809
  msgstr ""
810
 
811
- #: config/settings.php:424
812
  msgctxt "admin-text"
813
  msgid "Use the assigned or current page URL"
814
  msgstr ""
815
 
816
- #: config/settings.php:425, config/settings.php:438
817
  msgctxt "admin-text"
818
  msgid "Enter a custom URL"
819
  msgstr ""
820
 
821
- #: config/settings.php:437
822
  msgctxt "admin-text"
823
  msgid "Custom URL"
824
  msgstr ""
825
 
826
- #: config/settings.php:444
827
  msgctxt "admin-text"
828
  msgid "Default Image"
829
  msgstr ""
830
 
831
- #: config/settings.php:446
832
  msgctxt "admin-text"
833
  msgid "Use the featured image of the assigned or current page"
834
  msgstr ""
835
 
836
- #: config/settings.php:447, config/settings.php:460
837
  msgctxt "admin-text"
838
  msgid "Enter a custom image URL"
839
  msgstr ""
840
 
841
- #: config/settings.php:468
842
  msgctxt "admin-text"
843
  msgid "Address"
844
  msgstr ""
845
 
846
- #: config/settings.php:469
847
  msgctxt "admin-text"
848
  msgid "60 29th Street #343, San Francisco, CA 94110, US"
849
  msgstr ""
850
 
851
- #: config/settings.php:480
852
  msgctxt "admin-text"
853
  msgid "Telephone Number"
854
  msgstr ""
855
 
856
- #: config/settings.php:481
857
  msgctxt "admin-text"
858
  msgid "+1 (877) 273-3049"
859
  msgstr ""
860
 
861
- #: config/settings.php:492
862
  msgctxt "admin-text"
863
  msgid "Price Range"
864
  msgstr ""
865
 
866
- #: config/settings.php:493
867
  msgctxt "admin-text"
868
  msgid "$$-$$$"
869
  msgstr ""
870
 
871
- #: config/settings.php:505
872
  msgctxt "admin-text"
873
  msgid "Offer Type"
874
  msgstr ""
875
 
876
- #: config/settings.php:507
877
  msgctxt "admin-text"
878
  msgid "AggregateOffer"
879
  msgstr ""
880
 
881
- #: config/settings.php:508
882
  msgctxt "admin-text"
883
  msgid "Offer"
884
  msgstr ""
885
 
886
- #: config/settings.php:521
887
  msgctxt "admin-text"
888
  msgid "Price"
889
  msgstr ""
890
 
891
- #: config/settings.php:534
892
  msgctxt "admin-text"
893
  msgid "Low Price"
894
  msgstr ""
895
 
896
- #: config/settings.php:547
897
  msgctxt "admin-text"
898
  msgid "High Price"
899
  msgstr ""
900
 
901
- #: config/settings.php:559
902
  msgctxt "admin-text"
903
  msgid "Price Currency"
904
  msgstr ""
905
 
906
- #: config/settings.php:560
907
  msgctxt "admin-text"
908
  msgid "USD"
909
  msgstr ""
910
 
911
- #: config/settings.php:568
912
  msgctxt "admin-text"
913
  msgid "Required Fields"
914
  msgstr ""
915
 
916
- #: config/settings.php:570, config/forms/metabox-fields.php:5, plugin/Defaults/PostTypeColumnDefaults.php:25, plugin/Defaults/RevisionFieldsDefaults.php:16, plugin/Tinymce/SiteReviewsTinymce.php:30
917
  msgctxt "admin-text"
918
  msgid "Rating"
919
  msgstr ""
920
 
921
- #: config/settings.php:571, plugin/Tinymce/SiteReviewsFormTinymce.php:16, plugin/Tinymce/SiteReviewsSummaryTinymce.php:17, plugin/Tinymce/SiteReviewsTinymce.php:17, plugin/Widgets/SiteReviewsFormWidget.php:20, plugin/Widgets/SiteReviewsSummaryWidget.php:20, plugin/Widgets/SiteReviewsWidget.php:20
922
  msgctxt "admin-text"
923
  msgid "Title"
924
  msgstr ""
925
 
926
- #: config/settings.php:572, plugin/Defaults/PostTypeLabelDefaults.php:15
927
  msgctxt "admin-text"
928
  msgid "Review"
929
  msgstr ""
930
 
931
- #: config/settings.php:573, config/forms/metabox-fields.php:14, plugin/Controllers/PrivacyController.php:130, plugin/Defaults/PostTypeColumnDefaults.php:20, plugin/Defaults/RevisionFieldsDefaults.php:18
932
  msgctxt "admin-text"
933
  msgid "Name"
934
  msgstr ""
935
 
936
- #: config/settings.php:574, config/forms/metabox-fields.php:18, plugin/Controllers/PrivacyController.php:131, plugin/Defaults/PostTypeColumnDefaults.php:21, plugin/Defaults/RevisionFieldsDefaults.php:19
937
  msgctxt "admin-text"
938
  msgid "Email"
939
  msgstr ""
940
 
941
- #: config/settings.php:575, config/forms/metabox-fields.php:30
942
  msgctxt "admin-text"
943
  msgid "Terms"
944
  msgstr ""
945
 
946
- #: config/settings.php:577
947
  msgctxt "admin-text"
948
  msgid "Choose which fields should be required in the review form."
949
  msgstr ""
950
 
951
- #: config/settings.php:583
952
  msgctxt "admin-text"
953
  msgid "Limit Reviews"
954
  msgstr ""
955
 
956
- #: config/settings.php:585
957
  msgctxt "admin-text"
958
  msgid "No Limit"
959
  msgstr ""
960
 
961
- #: config/settings.php:586
962
  msgctxt "admin-text"
963
  msgid "By Email Address"
964
  msgstr ""
965
 
966
- #: config/settings.php:587
967
  msgctxt "admin-text"
968
  msgid "By IP Address"
969
  msgstr ""
970
 
971
- #: config/settings.php:588
972
  msgctxt "admin-text"
973
  msgid "By Username (will only work for registered users)"
974
  msgstr ""
975
 
976
- #: config/settings.php:590
977
  msgctxt "admin-text"
978
  msgid "Limits the number of reviews that can be submitted to one-per-person."
979
  msgstr ""
980
 
981
- #: config/settings.php:598
982
  msgctxt "admin-text"
983
  msgid "Restrict Limits To"
984
  msgstr ""
985
 
986
- #: config/settings.php:600, plugin/Controllers/MetaboxController.php:38, plugin/Tinymce/SiteReviewsSummaryTinymce.php:25, plugin/Tinymce/SiteReviewsTinymce.php:56, views/partials/screen/inline-edit.php:102
987
  msgctxt "admin-text"
988
  msgid "Assigned Posts"
989
  msgstr ""
990
 
991
- #: config/settings.php:601
992
  msgctxt "admin-text"
993
  msgid "Assigned Terms"
994
  msgstr ""
995
 
996
- #: config/settings.php:602, plugin/Controllers/MetaboxController.php:39, plugin/Defaults/PostTypeColumnDefaults.php:19, views/partials/screen/inline-edit.php:113
997
  msgctxt "admin-text"
998
  msgid "Assigned Users"
999
  msgstr ""
1000
 
1001
- #: config/settings.php:605
1002
  msgctxt "admin-text"
1003
  msgid "Select which assignments the review limits should be restricted to."
1004
  msgstr ""
1005
 
1006
- #: config/settings.php:606
1007
  msgctxt "admin-text"
1008
  msgid "The review limits use strict assignment, i.e. <code>restrict limits to reviews assigned to this AND this</code>."
1009
  msgstr ""
1010
 
1011
- #: config/settings.php:615
1012
  msgctxt "admin-text"
1013
  msgid "Email Whitelist"
1014
  msgstr ""
1015
 
1016
- #: config/settings.php:617
1017
  msgctxt "admin-text"
1018
  msgid "One Email per line. All emails in the whitelist will be excluded from the review submission limit."
1019
  msgstr ""
1020
 
1021
- #: config/settings.php:625
1022
  msgctxt "admin-text"
1023
  msgid "IP Address Whitelist"
1024
  msgstr ""
1025
 
1026
- #: config/settings.php:627
1027
  msgctxt "admin-text"
1028
  msgid "One IP Address per line. All IP Addresses in the whitelist will be excluded from the review submission limit.."
1029
  msgstr ""
1030
 
1031
- #: config/settings.php:635
1032
  msgctxt "admin-text"
1033
  msgid "Username Whitelist"
1034
  msgstr ""
1035
 
1036
- #: config/settings.php:637
1037
  msgctxt "admin-text"
1038
  msgid "One Username per line. All registered users with a Username in the whitelist will be excluded from the review submission limit."
1039
  msgstr ""
1040
 
1041
- #: config/settings.php:643
1042
  msgctxt "admin-text"
1043
  msgid "Invisible reCAPTCHA"
1044
  msgstr ""
1045
 
1046
- #: config/settings.php:645
1047
  msgctxt "admin-text"
1048
  msgid "Do not use reCAPTCHA"
1049
  msgstr ""
1050
 
1051
- #: config/settings.php:646
1052
  msgctxt "admin-text"
1053
  msgid "Use reCAPTCHA"
1054
  msgstr ""
1055
 
1056
- #: config/settings.php:647
1057
  msgctxt "admin-text"
1058
  msgid "Use reCAPTCHA only for guest users"
1059
  msgstr ""
1060
 
1061
- #: config/settings.php:649
1062
  msgctxt "admin-text"
1063
  msgid "The Invisible reCAPTCHA badge (reCAPTCHA v2) is a free anti-spam service from Google. To use it, you will need to <a href=\"https://www.google.com/recaptcha/admin\" target=\"_blank\">sign up</a> for an API key pair for your site."
1064
  msgstr ""
1065
 
1066
- #: config/settings.php:657
1067
  msgctxt "admin-text"
1068
  msgid "Site Key"
1069
  msgstr ""
1070
 
1071
- #: config/settings.php:658
1072
  msgctxt "admin-text"
1073
  msgid "Enter the Invisible reCAPTCHA Site Key here"
1074
  msgstr ""
1075
 
1076
- #: config/settings.php:666
1077
  msgctxt "admin-text"
1078
  msgid "Site Secret"
1079
  msgstr ""
1080
 
1081
- #: config/settings.php:667
1082
  msgctxt "admin-text"
1083
  msgid "Enter the Invisible reCAPTCHA Site Secret here"
1084
  msgstr ""
1085
 
1086
- #: config/settings.php:676
1087
  msgctxt "admin-text"
1088
  msgid "Badge Position"
1089
  msgstr ""
1090
 
1091
- #: config/settings.php:678
1092
  msgctxt "admin-text"
1093
  msgid "Bottom Left"
1094
  msgstr ""
1095
 
1096
- #: config/settings.php:679
1097
  msgctxt "admin-text"
1098
  msgid "Bottom Right"
1099
  msgstr ""
1100
 
1101
- #: config/settings.php:680
1102
  msgctxt "admin-text"
1103
  msgid "Inline"
1104
  msgstr ""
1105
 
1106
- #: config/settings.php:682
1107
  msgctxt "admin-text"
1108
  msgid "This option may not work consistently if another plugin is loading reCAPTCHA on the same page as Site Reviews."
1109
  msgstr ""
1110
 
1111
- #: config/settings.php:687
1112
  msgctxt "admin-text"
1113
  msgid "Enable Akismet"
1114
  msgstr ""
1115
 
1116
- #: config/settings.php:688
1117
  msgctxt "admin-text"
1118
  msgid "The <a href=\"https://akismet.com\" target=\"_blank\">Akismet plugin</a> integration provides spam-filtering for your reviews. In order for this setting to have any affect, you will need to first install and activate the Akismet plugin and set up a WordPress.com API key."
1119
  msgstr ""
1120
 
1121
- #: config/settings.php:694
1122
  msgctxt "admin-text"
1123
  msgid "Blacklist"
1124
  msgstr ""
1125
 
1126
- #: config/settings.php:696
1127
  msgctxt "admin-text"
1128
  msgid "Use the Site Reviews Blacklist"
1129
  msgstr ""
1130
 
1131
- #: config/settings.php:697
1132
  msgctxt "admin-text"
1133
  msgid "Use the WordPress Disallowed Comment Keys"
1134
  msgstr ""
1135
 
1136
- #: config/settings.php:699
1137
  msgctxt "admin-text"
1138
  msgid "Choose which Blacklist you would prefer to use for reviews. The %s option can be found in the WordPress Discussion Settings page."
1139
  msgstr ""
1140
 
1141
- #: config/settings.php:700
1142
  msgctxt "admin-text"
1143
  msgid "Disallowed Comment Keys"
1144
  msgstr ""
1145
 
1146
- #: config/settings.php:709
1147
  msgctxt "admin-text"
1148
  msgid "Review Blacklist"
1149
  msgstr ""
1150
 
1151
- #: config/settings.php:711
1152
  msgctxt "admin-text"
1153
  msgid "One entry or IP address per line. When a review contains any of these entries in its title, content, name, email, or IP address, it will be rejected. It is case-insensitive and will match partial words, so \"press\" will match \"WordPress\"."
1154
  msgstr ""
1155
 
1156
- #: config/settings.php:717
1157
  msgctxt "admin-text"
1158
  msgid "Blacklist Action"
1159
  msgstr ""
1160
 
1161
- #: config/settings.php:719
1162
  msgctxt "admin-text"
1163
  msgid "Require approval"
1164
  msgstr ""
1165
 
1166
- #: config/settings.php:720
1167
  msgctxt "admin-text"
1168
  msgid "Reject submission"
1169
  msgstr ""
1170
 
1171
- #: config/settings.php:722
1172
  msgctxt "admin-text"
1173
  msgid "Choose the action that should be taken when a review is blacklisted."
1174
  msgstr ""
@@ -1178,17 +1183,21 @@ msgctxt "admin-text"
1178
  msgid "The [%s] method has been deprecated and will be soon be removed, please use the [%s] method instead."
1179
  msgstr ""
1180
 
1181
- #: plugin/Review.php:350, plugin/Controllers/ListTableColumns/ColumnValueAuthorName.php:20
 
 
 
 
1182
  msgctxt "admin-text"
1183
  msgid "Unknown"
1184
  msgstr ""
1185
 
1186
- #: plugin/Router.php:153
1187
  msgctxt "admin-text"
1188
  msgid "There was an error (try reloading the page)."
1189
  msgstr ""
1190
 
1191
- #: plugin/Router.php:156, views/pages/documentation/support/common-problems-and-solutions.php:55
1192
  msgid "The form could not be submitted. Please notify the site administrator."
1193
  msgstr ""
1194
 
@@ -1322,6 +1331,11 @@ msgctxt "admin-text"
1322
  msgid "License Keys"
1323
  msgstr ""
1324
 
 
 
 
 
 
1325
  #: plugin/Blocks/SiteReviewsBlock.php:109, plugin/Blocks/SiteReviewsFormBlock.php:97, plugin/Blocks/SiteReviewsSummaryBlock.php:93
1326
  msgctxt "admin-text"
1327
  msgid "You have hidden all of the fields for this block."
@@ -1349,12 +1363,12 @@ msgctxt "admin-text"
1349
  msgid "Pin Your Reviews"
1350
  msgstr ""
1351
 
1352
- #: plugin/Commands/EnqueueAdminAssets.php:104
1353
  msgctxt "admin-text"
1354
  msgid "Try Premium"
1355
  msgstr ""
1356
 
1357
- #: plugin/Commands/EnqueueAdminAssets.php:105
1358
  msgctxt "admin-text"
1359
  msgid "Please rate %s on %s and help us spread the word. Thank you so much!"
1360
  msgstr ""
@@ -1418,19 +1432,19 @@ msgctxt "admin-text"
1418
  msgid "Review unpinned."
1419
  msgstr ""
1420
 
1421
- #: plugin/Commands/ToggleStatus.php:51, views/partials/editor/pinned.php:7
1422
  msgctxt "admin-text"
1423
  msgid "Edit"
1424
  msgstr ""
1425
 
1426
- #: plugin/Commands/ToggleStatus.php:74
1427
  msgctxt "admin-text"
1428
  msgid "Approved <span class=\"count\">(%s)</span>"
1429
  msgid_plural "Approved <span class=\"count\">(%s)</span>"
1430
  msgstr[0] ""
1431
  msgstr[1] ""
1432
 
1433
- #: plugin/Commands/ToggleStatus.php:82
1434
  msgctxt "admin-text"
1435
  msgid "Unapproved <span class=\"count\">(%s)</span>"
1436
  msgid_plural "Unapproved <span class=\"count\">(%s)</span>"
@@ -2324,10 +2338,6 @@ msgctxt "admin-text"
2324
  msgid "Show more details"
2325
  msgstr ""
2326
 
2327
- #: plugin/Modules/Notification.php:75, plugin/Modules/Html/TemplateTags.php:106
2328
- msgid "Anonymous"
2329
- msgstr ""
2330
-
2331
  #: plugin/Modules/Notification.php:179
2332
  msgctxt "This string differs depending on whether or not the review has been assigned to a post."
2333
  msgid "New %s-star review"
@@ -2931,6 +2941,21 @@ msgctxt "admin-text"
2931
  msgid "No assigned user"
2932
  msgstr ""
2933
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2934
  #: plugin/Controllers/ListTableColumns/ColumnFilterCategory.php:19
2935
  msgctxt "admin-text"
2936
  msgid "Filter by category"
@@ -3266,7 +3291,7 @@ msgstr ""
3266
 
3267
  #: views/pages/settings/translations.php:12
3268
  msgctxt "admin-text"
3269
- msgid "Here you can customise any text of the plugin that is shown on the frontend of your website, including the field labels and placeholders of the review form."
3270
  msgstr ""
3271
 
3272
  #: views/pages/settings/translations.php:13
@@ -3274,22 +3299,22 @@ msgctxt "admin-text"
3274
  msgid "If you are using the Polylang plugin, any custom text you enter here will be translatable on the Polylang \"Strings translations\" page."
3275
  msgstr ""
3276
 
3277
- #: views/pages/settings/translations.php:19
3278
  msgctxt "admin-text"
3279
  msgid "Search for translatable text"
3280
  msgstr ""
3281
 
3282
- #: views/pages/settings/translations.php:22
3283
  msgctxt "admin-text"
3284
  msgid "Search here for text to customise..."
3285
  msgstr ""
3286
 
3287
- #: views/pages/settings/translations.php:30
3288
  msgctxt "admin-text"
3289
  msgid "Original Text"
3290
  msgstr ""
3291
 
3292
- #: views/pages/settings/translations.php:31
3293
  msgctxt "admin-text"
3294
  msgid "Custom Text"
3295
  msgstr ""
1
+ # Copyright (C) 2022 site-reviews
2
  # This file is distributed under the same license as the site-reviews package.
3
  msgid ""
4
  msgstr ""
115
  msgid "Respond To Others' Reviews"
116
  msgstr ""
117
 
118
+ #: deprecated.php:136
119
  msgid "%s is <strong>deprecated</strong> since version %s with no alternative available."
120
  msgstr ""
121
 
122
+ #: deprecated.php:149
123
  msgid "%s is <strong>deprecated</strong> since version %s! Use %s instead."
124
  msgstr ""
125
 
223
  msgid "Theme: Twenty Twenty-One"
224
  msgstr ""
225
 
226
+ #: config/settings.php:36
227
+ msgctxt "admin-text"
228
+ msgid "Theme: Twenty Twenty-Two"
229
+ msgstr ""
230
+
231
+ #: config/settings.php:38
232
  msgctxt "admin-text"
233
  msgid "Site Reviews relies on the CSS of your theme to style the review form. If your theme does not provide proper CSS rules for form elements and you are using a WordPress plugin/theme or CSS Framework listed here, please try selecting it, otherwise choose \"Site Reviews (default)\"."
234
  msgstr ""
235
 
236
+ #: config/settings.php:43
237
  msgctxt "admin-text"
238
  msgid "Require Approval"
239
  msgstr ""
240
 
241
+ #: config/settings.php:44
242
  msgctxt "admin-text"
243
  msgid "This will set the status of new review submissions to \"unapproved\"."
244
  msgstr ""
245
 
246
+ #: config/settings.php:53
247
  msgctxt "admin-text"
248
  msgid "Require Approval For"
249
  msgstr ""
250
 
251
+ #: config/settings.php:54
252
  msgctxt "admin-text"
253
  msgid "The minimum rating that will change the status of a new review submission to \"unapproved\"."
254
  msgstr ""
255
 
256
+ #: config/settings.php:55
257
  msgid "%s star or less"
258
  msgid_plural "%s stars or less"
259
  msgstr[0] ""
260
  msgstr[1] ""
261
 
262
+ #: config/settings.php:60
263
  msgctxt "admin-text"
264
  msgid "Require Login"
265
  msgstr ""
266
 
267
+ #: config/settings.php:61
268
  msgctxt "admin-text"
269
  msgid "This will only allow registered users to submit reviews."
270
  msgstr ""
271
 
272
+ #: config/settings.php:69
273
  msgctxt "admin-text"
274
  msgid "Custom Login URL"
275
  msgstr ""
276
 
277
+ #: config/settings.php:71
278
  msgctxt "admin-text"
279
  msgid "Site Reviews uses the %s function to get the login URL. If you would like to use a custom login URL, enter it here."
280
  msgstr ""
281
 
282
+ #: config/settings.php:81
283
  msgctxt "admin-text"
284
  msgid "Show Registration Link"
285
  msgstr ""
286
 
287
+ #: config/settings.php:82
288
  msgctxt "admin-text"
289
  msgid "Show a link for a new user to register. The %s Membership option must be enabled in General Settings for this to work."
290
  msgstr ""
291
 
292
+ #: config/settings.php:83
293
  msgctxt "admin-text"
294
  msgid "Anyone can register"
295
  msgstr ""
296
 
297
+ #: config/settings.php:93
298
  msgctxt "admin-text"
299
  msgid "Custom Registration URL"
300
  msgstr ""
301
 
302
+ #: config/settings.php:95
303
  msgctxt "admin-text"
304
  msgid "Site Reviews uses the %s function to get the registration URL. If you would like to use a custom registration URL, enter it here."
305
  msgstr ""
306
 
307
+ #: config/settings.php:103
308
  msgctxt "admin-text"
309
  msgid "Multilingual"
310
  msgstr ""
311
 
312
+ #: config/settings.php:105
313
  msgctxt "admin-text"
314
  msgid "No Integration"
315
  msgstr ""
316
 
317
+ #: config/settings.php:106
318
  msgctxt "admin-text"
319
  msgid "Integrate with Polylang"
320
  msgstr ""
321
 
322
+ #: config/settings.php:107
323
  msgctxt "admin-text"
324
  msgid "Integrate with WPML"
325
  msgstr ""
326
 
327
+ #: config/settings.php:109
328
  msgctxt "admin-text"
329
  msgid "Integrate with a multilingual plugin to calculate the combined ratings for all languages of a page; and if you are assigning reviews to your pages, display reviews assigned to all languages of that page."
330
  msgstr ""
331
 
332
+ #: config/settings.php:114
333
  msgctxt "admin-text"
334
  msgid "Notifications"
335
  msgstr ""
336
 
337
+ #: config/settings.php:116
338
  msgctxt "admin-text"
339
  msgid "Send to administrator"
340
  msgstr ""
341
 
342
+ #: config/settings.php:117
343
  msgctxt "admin-text"
344
  msgid "Send to author of the page that the review is assigned to"
345
  msgstr ""
346
 
347
+ #: config/settings.php:118
348
  msgctxt "admin-text"
349
  msgid "Send to one or more email addresses"
350
  msgstr ""
351
 
352
+ #: config/settings.php:119
353
  msgctxt "admin-text"
354
  msgid "Send to <a href=\"https://slack.com/\">Slack</a>"
355
  msgstr ""
356
 
357
+ #: config/settings.php:121
358
  msgctxt "admin-text"
359
  msgid "Select the notification recipients."
360
  msgstr ""
361
 
362
+ #: config/settings.php:129
363
  msgctxt "admin-text"
364
  msgid "Send Emails From"
365
  msgstr ""
366
 
367
+ #: config/settings.php:131
368
  msgctxt "admin-text"
369
  msgid "If emails are not sending, make sure that this email address uses the same domain as your website."
370
  msgstr ""
371
 
372
+ #: config/settings.php:139
373
  msgctxt "admin-text"
374
  msgid "Send Emails To"
375
  msgstr ""
376
 
377
+ #: config/settings.php:140, config/settings.php:141
378
  msgctxt "admin-text"
379
  msgid "Separate multiple emails with a comma"
380
  msgstr ""
381
 
382
+ #: config/settings.php:149
383
  msgctxt "admin-text"
384
  msgid "Slack Webhook URL"
385
  msgstr ""
386
 
387
+ #: config/settings.php:150
388
  msgctxt "admin-text"
389
  msgid "To send notifications to Slack, create a new %s and then paste the provided Webhook URL in the field above."
390
  msgstr ""
391
 
392
+ #: config/settings.php:151
393
  msgctxt "admin-text"
394
  msgid "Incoming WebHook"
395
  msgstr ""
396
 
397
+ #: config/settings.php:161
398
  msgctxt "admin-text"
399
  msgid "Notification Template"
400
  msgstr ""
401
 
402
+ #: config/settings.php:163
403
  msgctxt "admin-text"
404
  msgid "To restore the default text, save an empty template. If you are sending notifications to Slack then this template will only be used as a fallback in the event that <a href=\"https://api.slack.com/docs/attachments\">Message Attachments</a> have been disabled."
405
  msgstr ""
406
 
407
+ #: config/settings.php:169, views/pages/tools/general/import-reviews.php:55
408
  msgctxt "admin-text"
409
  msgid "Date Format"
410
  msgstr ""
411
 
412
+ #: config/settings.php:171
413
  msgctxt "admin-text"
414
  msgid "Use the default date format"
415
  msgstr ""
416
 
417
+ #: config/settings.php:172
418
  msgctxt "admin-text"
419
  msgid "Use a relative date format"
420
  msgstr ""
421
 
422
+ #: config/settings.php:173
423
  msgctxt "admin-text"
424
  msgid "Use a custom date format"
425
  msgstr ""
426
 
427
+ #: config/settings.php:175
428
  msgctxt "admin-text"
429
  msgid "The default date format is the one set in your %s."
430
  msgstr ""
431
 
432
+ #: config/settings.php:176
433
  msgctxt "admin-text"
434
  msgid "WordPress settings"
435
  msgstr ""
436
 
437
+ #: config/settings.php:185
438
  msgctxt "admin-text"
439
  msgid "Custom Date Format"
440
  msgstr ""
441
 
442
+ #: config/settings.php:186
443
  msgctxt "admin-text"
444
  msgid "Enter a custom date format (<a href=\"https://wordpress.org/support/article/formatting-date-and-time/\">documentation on date and time formatting</a>)."
445
  msgstr ""
446
 
447
+ #: config/settings.php:192
448
  msgctxt "admin-text"
449
  msgid "Name Format"
450
  msgstr ""
451
 
452
+ #: config/settings.php:194
453
  msgctxt "admin-text"
454
  msgid "Use the name as given"
455
  msgstr ""
456
 
457
+ #: config/settings.php:195
458
  msgctxt "admin-text"
459
  msgid "Use the first name only"
460
  msgstr ""
461
 
462
+ #: config/settings.php:196
463
  msgctxt "admin-text"
464
  msgid "Convert first name to an initial"
465
  msgstr ""
466
 
467
+ #: config/settings.php:197
468
  msgctxt "admin-text"
469
  msgid "Convert last name to an initial"
470
  msgstr ""
471
 
472
+ #: config/settings.php:198
473
  msgctxt "admin-text"
474
  msgid "Convert to all initials"
475
  msgstr ""
476
 
477
+ #: config/settings.php:200
478
  msgctxt "admin-text"
479
  msgid "Choose how author names are shown in your reviews."
480
  msgstr ""
481
 
482
+ #: config/settings.php:209
483
  msgctxt "admin-text"
484
  msgid "Initial Format"
485
  msgstr ""
486
 
487
+ #: config/settings.php:211
488
  msgctxt "admin-text"
489
  msgid "Initial with a space"
490
  msgstr ""
491
 
492
+ #: config/settings.php:212
493
  msgctxt "admin-text"
494
  msgid "Initial with a period"
495
  msgstr ""
496
 
497
+ #: config/settings.php:213
498
  msgctxt "admin-text"
499
  msgid "Initial with a period and a space"
500
  msgstr ""
501
 
502
+ #: config/settings.php:215
503
  msgctxt "admin-text"
504
  msgid "Choose how the initial is displayed."
505
  msgstr ""
506
 
507
+ #: config/settings.php:222
508
  msgctxt "admin-text"
509
  msgid "Loose Assignment displays reviews that are assigned to this <code>OR</code> that."
510
  msgstr ""
511
 
512
+ #: config/settings.php:223
513
  msgctxt "admin-text"
514
  msgid "Strict Assignment displays reviews that are assigned to this <code>AND</code> that."
515
  msgstr ""
516
 
517
+ #: config/settings.php:225
518
  msgctxt "admin-text"
519
  msgid "Review Assignment"
520
  msgstr ""
521
 
522
+ #: config/settings.php:227
523
  msgctxt "admin-text"
524
  msgid "Loose Assignment (slower database queries)"
525
  msgstr ""
526
 
527
+ #: config/settings.php:228
528
  msgctxt "admin-text"
529
  msgid "Strict Assignment (faster database queries)"
530
  msgstr ""
531
 
532
+ #: config/settings.php:230
533
  msgctxt "admin-text"
534
  msgid "This setting determines how the assigned options work in the reviews and summary shortcodes and blocks."
535
  msgstr ""
536
 
537
+ #: config/settings.php:235
538
  msgctxt "admin-text"
539
  msgid "Enable Assigned Links"
540
  msgstr ""
541
 
542
+ #: config/settings.php:236
543
  msgctxt "admin-text"
544
  msgid "This will display a link to the assigned posts of a review."
545
  msgstr ""
546
 
547
+ #: config/settings.php:241
548
  msgctxt "admin-text"
549
  msgid "Enable Avatars"
550
  msgstr ""
551
 
552
+ #: config/settings.php:242
553
  msgctxt "admin-text"
554
  msgid "The avatars are generated from the email address of the reviewer using <a href=\"https://gravatar.com\">Gravatar</a>."
555
  msgstr ""
556
 
557
+ #: config/settings.php:251
558
  msgctxt "admin-text"
559
  msgid "Fallback Avatar"
560
  msgstr ""
561
 
562
+ #: config/settings.php:253, config/settings.php:460
563
  msgctxt "admin-text"
564
  msgid "Custom Image URL"
565
  msgstr ""
566
 
567
+ #: config/settings.php:254
568
  msgctxt "admin-text"
569
  msgid "Identicon (geometric patterns)"
570
  msgstr ""
571
 
572
+ #: config/settings.php:255
573
  msgctxt "admin-text"
574
  msgid "Initials (initials of reviewer's name)"
575
  msgstr ""
576
 
577
+ #: config/settings.php:256
578
  msgctxt "admin-text"
579
  msgid "Monster (monsters with generated faces)"
580
  msgstr ""
581
 
582
+ #: config/settings.php:257
583
  msgctxt "admin-text"
584
  msgid "Mystery (silhouetted outline of a person)"
585
  msgstr ""
586
 
587
+ #: config/settings.php:258
588
  msgctxt "admin-text"
589
  msgid "Pixel Avatars (locally generated)"
590
  msgstr ""
591
 
592
+ #: config/settings.php:259
593
  msgctxt "admin-text"
594
  msgid "Retro (8-bit arcade-style pixelated faces)"
595
  msgstr ""
596
 
597
+ #: config/settings.php:260
598
  msgctxt "admin-text"
599
  msgid "Robohash (robots with generated faces)"
600
  msgstr ""
601
 
602
+ #: config/settings.php:261
603
  msgctxt "admin-text"
604
  msgid "Wavatar (faces with generated features)"
605
  msgstr ""
606
 
607
+ #: config/settings.php:263
608
  msgctxt "admin-text"
609
  msgid "This image is displayed when there is no avatar."
610
  msgstr ""
611
 
612
+ #: config/settings.php:271
613
  msgctxt "admin-text"
614
  msgid "Fallback Avatar URL"
615
  msgstr ""
616
 
617
+ #: config/settings.php:272
618
  msgctxt "admin-text"
619
  msgid "Enter a custom image URL to use as the fallback avatar."
620
  msgstr ""
621
 
622
+ #: config/settings.php:280
623
  msgctxt "admin-text"
624
  msgid "Regenerate Avatars"
625
  msgstr ""
626
 
627
+ #: config/settings.php:281
628
  msgctxt "admin-text"
629
  msgid "This will regenerate the avatar whenever a local review is shown."
630
  msgstr ""
631
 
632
+ #: config/settings.php:285
633
  msgctxt "avatar size (admin-text)"
634
  msgid "pixels"
635
  msgstr ""
636
 
637
+ #: config/settings.php:290
638
  msgctxt "admin-text"
639
  msgid "Avatar Size"
640
  msgstr ""
641
 
642
+ #: config/settings.php:292
643
  msgctxt "admin-text"
644
  msgid "Set the height/width of the avatar in pixels."
645
  msgstr ""
646
 
647
+ #: config/settings.php:297
648
  msgctxt "admin-text"
649
  msgid "Enable Excerpts"
650
  msgstr ""
651
 
652
+ #: config/settings.php:298
653
  msgctxt "admin-text"
654
  msgid "Display an excerpt instead of the full review."
655
  msgstr ""
656
 
657
+ #: config/settings.php:307
658
  msgctxt "admin-text"
659
  msgid "Excerpt Action"
660
  msgstr ""
661
 
662
+ #: config/settings.php:309
663
  msgctxt "admin-text"
664
  msgid "Collapse/Expand the review"
665
  msgstr ""
666
 
667
+ #: config/settings.php:310
668
  msgctxt "admin-text"
669
  msgid "Display the review in a modal"
670
  msgstr ""
671
 
672
+ #: config/settings.php:316
673
  msgctxt "exceprt length (admin-text)"
674
  msgid "words"
675
  msgstr ""
676
 
677
+ #: config/settings.php:321
678
  msgctxt "admin-text"
679
  msgid "Excerpt Length"
680
  msgstr ""
681
 
682
+ #: config/settings.php:322
683
  msgctxt "admin-text"
684
  msgid "Set the excerpt word length."
685
  msgstr ""
686
 
687
+ #: config/settings.php:327
688
  msgctxt "admin-text"
689
  msgid "The default text is: %s"
690
  msgstr ""
691
 
692
+ #: config/settings.php:328, plugin/Modules/Html/ReviewsHtml.php:143
693
  msgid "There are no reviews yet. Be the first one to write one."
694
  msgstr ""
695
 
696
+ #: config/settings.php:330
697
  msgctxt "admin-text"
698
  msgid "Enable Fallback Text"
699
  msgstr ""
700
 
701
+ #: config/settings.php:331
702
  msgctxt "admin-text"
703
  msgid "Display the fallback text when there are no reviews to display. This can be changed on the %s page. You may also override this by using the \"fallback\" option on the shortcode."
704
  msgstr ""
705
 
706
+ #: config/settings.php:332
707
  msgctxt "admin-text"
708
  msgid "Translations"
709
  msgstr ""
710
 
711
+ #: config/settings.php:339
712
  msgctxt "admin-text"
713
  msgid "If you would like to keep the pagination links but prevent search engines from indexing them, add the following lines to your %s file: %s"
714
  msgstr ""
715
 
716
+ #: config/settings.php:345
717
  msgctxt "admin-text"
718
  msgid "Enable Paginated URLs"
719
  msgstr ""
720
 
721
+ #: config/settings.php:346
722
  msgctxt "admin-text"
723
  msgid "Paginated URLs include the %s URL parameter."
724
  msgstr ""
725
 
726
+ #: config/settings.php:354
727
  msgctxt "admin-text"
728
  msgid "Default Schema Type"
729
  msgstr ""
730
 
731
+ #: config/settings.php:356
732
  msgctxt "admin-text"
733
  msgid "Local Business"
734
  msgstr ""
735
 
736
+ #: config/settings.php:357
737
  msgctxt "admin-text"
738
  msgid "Product"
739
  msgstr ""
740
 
741
+ #: config/settings.php:358
742
  msgctxt "admin-text"
743
  msgid "Custom"
744
  msgstr ""
745
 
746
+ #: config/settings.php:360, config/settings.php:384, config/settings.php:406, config/settings.php:428, config/settings.php:450, config/settings.php:471, config/settings.php:483, config/settings.php:495, config/settings.php:511, config/settings.php:524, config/settings.php:537, config/settings.php:550, config/settings.php:562
747
  msgctxt "admin-text"
748
  msgid "You can use the %s to override this value on your page. The Custom Field name to use is:"
749
  msgstr ""
750
 
751
+ #: config/settings.php:361, config/settings.php:385, config/settings.php:407, config/settings.php:429, config/settings.php:451, config/settings.php:472, config/settings.php:484, config/settings.php:496, config/settings.php:512, config/settings.php:525, config/settings.php:538, config/settings.php:551, config/settings.php:563, views/pages/settings/schema.php:19
752
  msgctxt "admin-text"
753
  msgid "Custom Fields metabox"
754
  msgstr ""
755
 
756
+ #: config/settings.php:370
757
  msgctxt "admin-text"
758
  msgid "Custom Schema Type"
759
  msgstr ""
760
 
761
+ #: config/settings.php:371
762
  msgctxt "read this (admin-text)"
763
  msgid "Google limits the schema types that can potentially trigger review rich results in search. To learn which schema types can be used, please %s."
764
  msgstr ""
765
 
766
+ #: config/settings.php:372
767
  msgctxt "admin-text"
768
  msgid "read this"
769
  msgstr ""
770
 
771
+ #: config/settings.php:379
772
  msgctxt "admin-text"
773
  msgid "Default Name"
774
  msgstr ""
775
 
776
+ #: config/settings.php:381
777
  msgctxt "admin-text"
778
  msgid "Use the assigned or current page title"
779
  msgstr ""
780
 
781
+ #: config/settings.php:382, config/settings.php:395
782
  msgctxt "admin-text"
783
  msgid "Enter a custom title"
784
  msgstr ""
785
 
786
+ #: config/settings.php:394
787
  msgctxt "admin-text"
788
  msgid "Custom Name"
789
  msgstr ""
790
 
791
+ #: config/settings.php:401
792
  msgctxt "admin-text"
793
  msgid "Default Description"
794
  msgstr ""
795
 
796
+ #: config/settings.php:403
797
  msgctxt "admin-text"
798
  msgid "Use the assigned or current page excerpt"
799
  msgstr ""
800
 
801
+ #: config/settings.php:404, config/settings.php:417
802
  msgctxt "admin-text"
803
  msgid "Enter a custom description"
804
  msgstr ""
805
 
806
+ #: config/settings.php:416
807
  msgctxt "admin-text"
808
  msgid "Custom Description"
809
  msgstr ""
810
 
811
+ #: config/settings.php:423
812
  msgctxt "admin-text"
813
  msgid "Default URL"
814
  msgstr ""
815
 
816
+ #: config/settings.php:425
817
  msgctxt "admin-text"
818
  msgid "Use the assigned or current page URL"
819
  msgstr ""
820
 
821
+ #: config/settings.php:426, config/settings.php:439
822
  msgctxt "admin-text"
823
  msgid "Enter a custom URL"
824
  msgstr ""
825
 
826
+ #: config/settings.php:438
827
  msgctxt "admin-text"
828
  msgid "Custom URL"
829
  msgstr ""
830
 
831
+ #: config/settings.php:445
832
  msgctxt "admin-text"
833
  msgid "Default Image"
834
  msgstr ""
835
 
836
+ #: config/settings.php:447
837
  msgctxt "admin-text"
838
  msgid "Use the featured image of the assigned or current page"
839
  msgstr ""
840
 
841
+ #: config/settings.php:448, config/settings.php:461
842
  msgctxt "admin-text"
843
  msgid "Enter a custom image URL"
844
  msgstr ""
845
 
846
+ #: config/settings.php:469
847
  msgctxt "admin-text"
848
  msgid "Address"
849
  msgstr ""
850
 
851
+ #: config/settings.php:470
852
  msgctxt "admin-text"
853
  msgid "60 29th Street #343, San Francisco, CA 94110, US"
854
  msgstr ""
855
 
856
+ #: config/settings.php:481
857
  msgctxt "admin-text"
858
  msgid "Telephone Number"
859
  msgstr ""
860
 
861
+ #: config/settings.php:482
862
  msgctxt "admin-text"
863
  msgid "+1 (877) 273-3049"
864
  msgstr ""
865
 
866
+ #: config/settings.php:493
867
  msgctxt "admin-text"
868
  msgid "Price Range"
869
  msgstr ""
870
 
871
+ #: config/settings.php:494
872
  msgctxt "admin-text"
873
  msgid "$$-$$$"
874
  msgstr ""
875
 
876
+ #: config/settings.php:506
877
  msgctxt "admin-text"
878
  msgid "Offer Type"
879
  msgstr ""
880
 
881
+ #: config/settings.php:508
882
  msgctxt "admin-text"
883
  msgid "AggregateOffer"
884
  msgstr ""
885
 
886
+ #: config/settings.php:509
887
  msgctxt "admin-text"
888
  msgid "Offer"
889
  msgstr ""
890
 
891
+ #: config/settings.php:522
892
  msgctxt "admin-text"
893
  msgid "Price"
894
  msgstr ""
895
 
896
+ #: config/settings.php:535
897
  msgctxt "admin-text"
898
  msgid "Low Price"
899
  msgstr ""
900
 
901
+ #: config/settings.php:548
902
  msgctxt "admin-text"
903
  msgid "High Price"
904
  msgstr ""
905
 
906
+ #: config/settings.php:560
907
  msgctxt "admin-text"
908
  msgid "Price Currency"
909
  msgstr ""
910
 
911
+ #: config/settings.php:561
912
  msgctxt "admin-text"
913
  msgid "USD"
914
  msgstr ""
915
 
916
+ #: config/settings.php:569
917
  msgctxt "admin-text"
918
  msgid "Required Fields"
919
  msgstr ""
920
 
921
+ #: config/settings.php:571, config/forms/metabox-fields.php:5, plugin/Defaults/PostTypeColumnDefaults.php:25, plugin/Defaults/RevisionFieldsDefaults.php:16, plugin/Tinymce/SiteReviewsTinymce.php:30
922
  msgctxt "admin-text"
923
  msgid "Rating"
924
  msgstr ""
925
 
926
+ #: config/settings.php:572, plugin/Tinymce/SiteReviewsFormTinymce.php:16, plugin/Tinymce/SiteReviewsSummaryTinymce.php:17, plugin/Tinymce/SiteReviewsTinymce.php:17, plugin/Widgets/SiteReviewsFormWidget.php:20, plugin/Widgets/SiteReviewsSummaryWidget.php:20, plugin/Widgets/SiteReviewsWidget.php:20
927
  msgctxt "admin-text"
928
  msgid "Title"
929
  msgstr ""
930
 
931
+ #: config/settings.php:573, plugin/Defaults/PostTypeLabelDefaults.php:15
932
  msgctxt "admin-text"
933
  msgid "Review"
934
  msgstr ""
935
 
936
+ #: config/settings.php:574, config/forms/metabox-fields.php:14, plugin/Controllers/PrivacyController.php:130, plugin/Defaults/PostTypeColumnDefaults.php:20, plugin/Defaults/RevisionFieldsDefaults.php:18
937
  msgctxt "admin-text"
938
  msgid "Name"
939
  msgstr ""
940
 
941
+ #: config/settings.php:575, config/forms/metabox-fields.php:18, plugin/Controllers/PrivacyController.php:131, plugin/Defaults/PostTypeColumnDefaults.php:21, plugin/Defaults/RevisionFieldsDefaults.php:19
942
  msgctxt "admin-text"
943
  msgid "Email"
944
  msgstr ""
945
 
946
+ #: config/settings.php:576, config/forms/metabox-fields.php:30
947
  msgctxt "admin-text"
948
  msgid "Terms"
949
  msgstr ""
950
 
951
+ #: config/settings.php:578
952
  msgctxt "admin-text"
953
  msgid "Choose which fields should be required in the review form."
954
  msgstr ""
955
 
956
+ #: config/settings.php:584
957
  msgctxt "admin-text"
958
  msgid "Limit Reviews"
959
  msgstr ""
960
 
961
+ #: config/settings.php:586
962
  msgctxt "admin-text"
963
  msgid "No Limit"
964
  msgstr ""
965
 
966
+ #: config/settings.php:587
967
  msgctxt "admin-text"
968
  msgid "By Email Address"
969
  msgstr ""
970
 
971
+ #: config/settings.php:588
972
  msgctxt "admin-text"
973
  msgid "By IP Address"
974
  msgstr ""
975
 
976
+ #: config/settings.php:589
977
  msgctxt "admin-text"
978
  msgid "By Username (will only work for registered users)"
979
  msgstr ""
980
 
981
+ #: config/settings.php:591
982
  msgctxt "admin-text"
983
  msgid "Limits the number of reviews that can be submitted to one-per-person."
984
  msgstr ""
985
 
986
+ #: config/settings.php:599
987
  msgctxt "admin-text"
988
  msgid "Restrict Limits To"
989
  msgstr ""
990
 
991
+ #: config/settings.php:601, plugin/Controllers/MetaboxController.php:38, plugin/Tinymce/SiteReviewsSummaryTinymce.php:25, plugin/Tinymce/SiteReviewsTinymce.php:56, views/partials/screen/inline-edit.php:102
992
  msgctxt "admin-text"
993
  msgid "Assigned Posts"
994
  msgstr ""
995
 
996
+ #: config/settings.php:602
997
  msgctxt "admin-text"
998
  msgid "Assigned Terms"
999
  msgstr ""
1000
 
1001
+ #: config/settings.php:603, plugin/Controllers/MetaboxController.php:39, plugin/Defaults/PostTypeColumnDefaults.php:19, views/partials/screen/inline-edit.php:113
1002
  msgctxt "admin-text"
1003
  msgid "Assigned Users"
1004
  msgstr ""
1005
 
1006
+ #: config/settings.php:606
1007
  msgctxt "admin-text"
1008
  msgid "Select which assignments the review limits should be restricted to."
1009
  msgstr ""
1010
 
1011
+ #: config/settings.php:607
1012
  msgctxt "admin-text"
1013
  msgid "The review limits use strict assignment, i.e. <code>restrict limits to reviews assigned to this AND this</code>."
1014
  msgstr ""
1015
 
1016
+ #: config/settings.php:616
1017
  msgctxt "admin-text"
1018
  msgid "Email Whitelist"
1019
  msgstr ""
1020
 
1021
+ #: config/settings.php:618
1022
  msgctxt "admin-text"
1023
  msgid "One Email per line. All emails in the whitelist will be excluded from the review submission limit."
1024
  msgstr ""
1025
 
1026
+ #: config/settings.php:626
1027
  msgctxt "admin-text"
1028
  msgid "IP Address Whitelist"
1029
  msgstr ""
1030
 
1031
+ #: config/settings.php:628
1032
  msgctxt "admin-text"
1033
  msgid "One IP Address per line. All IP Addresses in the whitelist will be excluded from the review submission limit.."
1034
  msgstr ""
1035
 
1036
+ #: config/settings.php:636
1037
  msgctxt "admin-text"
1038
  msgid "Username Whitelist"
1039
  msgstr ""
1040
 
1041
+ #: config/settings.php:638
1042
  msgctxt "admin-text"
1043
  msgid "One Username per line. All registered users with a Username in the whitelist will be excluded from the review submission limit."
1044
  msgstr ""
1045
 
1046
+ #: config/settings.php:644
1047
  msgctxt "admin-text"
1048
  msgid "Invisible reCAPTCHA"
1049
  msgstr ""
1050
 
1051
+ #: config/settings.php:646
1052
  msgctxt "admin-text"
1053
  msgid "Do not use reCAPTCHA"
1054
  msgstr ""
1055
 
1056
+ #: config/settings.php:647
1057
  msgctxt "admin-text"
1058
  msgid "Use reCAPTCHA"
1059
  msgstr ""
1060
 
1061
+ #: config/settings.php:648
1062
  msgctxt "admin-text"
1063
  msgid "Use reCAPTCHA only for guest users"
1064
  msgstr ""
1065
 
1066
+ #: config/settings.php:650
1067
  msgctxt "admin-text"
1068
  msgid "The Invisible reCAPTCHA badge (reCAPTCHA v2) is a free anti-spam service from Google. To use it, you will need to <a href=\"https://www.google.com/recaptcha/admin\" target=\"_blank\">sign up</a> for an API key pair for your site."
1069
  msgstr ""
1070
 
1071
+ #: config/settings.php:658
1072
  msgctxt "admin-text"
1073
  msgid "Site Key"
1074
  msgstr ""
1075
 
1076
+ #: config/settings.php:659
1077
  msgctxt "admin-text"
1078
  msgid "Enter the Invisible reCAPTCHA Site Key here"
1079
  msgstr ""
1080
 
1081
+ #: config/settings.php:667
1082
  msgctxt "admin-text"
1083
  msgid "Site Secret"
1084
  msgstr ""
1085
 
1086
+ #: config/settings.php:668
1087
  msgctxt "admin-text"
1088
  msgid "Enter the Invisible reCAPTCHA Site Secret here"
1089
  msgstr ""
1090
 
1091
+ #: config/settings.php:677
1092
  msgctxt "admin-text"
1093
  msgid "Badge Position"
1094
  msgstr ""
1095
 
1096
+ #: config/settings.php:679
1097
  msgctxt "admin-text"
1098
  msgid "Bottom Left"
1099
  msgstr ""
1100
 
1101
+ #: config/settings.php:680
1102
  msgctxt "admin-text"
1103
  msgid "Bottom Right"
1104
  msgstr ""
1105
 
1106
+ #: config/settings.php:681
1107
  msgctxt "admin-text"
1108
  msgid "Inline"
1109
  msgstr ""
1110
 
1111
+ #: config/settings.php:683
1112
  msgctxt "admin-text"
1113
  msgid "This option may not work consistently if another plugin is loading reCAPTCHA on the same page as Site Reviews."
1114
  msgstr ""
1115
 
1116
+ #: config/settings.php:688
1117
  msgctxt "admin-text"
1118
  msgid "Enable Akismet"
1119
  msgstr ""
1120
 
1121
+ #: config/settings.php:689
1122
  msgctxt "admin-text"
1123
  msgid "The <a href=\"https://akismet.com\" target=\"_blank\">Akismet plugin</a> integration provides spam-filtering for your reviews. In order for this setting to have any affect, you will need to first install and activate the Akismet plugin and set up a WordPress.com API key."
1124
  msgstr ""
1125
 
1126
+ #: config/settings.php:695
1127
  msgctxt "admin-text"
1128
  msgid "Blacklist"
1129
  msgstr ""
1130
 
1131
+ #: config/settings.php:697
1132
  msgctxt "admin-text"
1133
  msgid "Use the Site Reviews Blacklist"
1134
  msgstr ""
1135
 
1136
+ #: config/settings.php:698
1137
  msgctxt "admin-text"
1138
  msgid "Use the WordPress Disallowed Comment Keys"
1139
  msgstr ""
1140
 
1141
+ #: config/settings.php:700
1142
  msgctxt "admin-text"
1143
  msgid "Choose which Blacklist you would prefer to use for reviews. The %s option can be found in the WordPress Discussion Settings page."
1144
  msgstr ""
1145
 
1146
+ #: config/settings.php:701
1147
  msgctxt "admin-text"
1148
  msgid "Disallowed Comment Keys"
1149
  msgstr ""
1150
 
1151
+ #: config/settings.php:710
1152
  msgctxt "admin-text"
1153
  msgid "Review Blacklist"
1154
  msgstr ""
1155
 
1156
+ #: config/settings.php:712
1157
  msgctxt "admin-text"
1158
  msgid "One entry or IP address per line. When a review contains any of these entries in its title, content, name, email, or IP address, it will be rejected. It is case-insensitive and will match partial words, so \"press\" will match \"WordPress\"."
1159
  msgstr ""
1160
 
1161
+ #: config/settings.php:718
1162
  msgctxt "admin-text"
1163
  msgid "Blacklist Action"
1164
  msgstr ""
1165
 
1166
+ #: config/settings.php:720
1167
  msgctxt "admin-text"
1168
  msgid "Require approval"
1169
  msgstr ""
1170
 
1171
+ #: config/settings.php:721
1172
  msgctxt "admin-text"
1173
  msgid "Reject submission"
1174
  msgstr ""
1175
 
1176
+ #: config/settings.php:723
1177
  msgctxt "admin-text"
1178
  msgid "Choose the action that should be taken when a review is blacklisted."
1179
  msgstr ""
1183
  msgid "The [%s] method has been deprecated and will be soon be removed, please use the [%s] method instead."
1184
  msgstr ""
1185
 
1186
+ #: plugin/Review.php:158, plugin/Modules/Notification.php:75
1187
+ msgid "Anonymous"
1188
+ msgstr ""
1189
+
1190
+ #: plugin/Review.php:354, plugin/Controllers/ListTableColumns/ColumnValueAuthorName.php:20
1191
  msgctxt "admin-text"
1192
  msgid "Unknown"
1193
  msgstr ""
1194
 
1195
+ #: plugin/Router.php:183
1196
  msgctxt "admin-text"
1197
  msgid "There was an error (try reloading the page)."
1198
  msgstr ""
1199
 
1200
+ #: plugin/Router.php:187, views/pages/documentation/support/common-problems-and-solutions.php:55
1201
  msgid "The form could not be submitted. Please notify the site administrator."
1202
  msgstr ""
1203
 
1331
  msgid "License Keys"
1332
  msgstr ""
1333
 
1334
+ #: plugin/Addons/Updater.php:221
1335
+ msgctxt "admin-text"
1336
+ msgid "A valid license key is required to download this update."
1337
+ msgstr ""
1338
+
1339
  #: plugin/Blocks/SiteReviewsBlock.php:109, plugin/Blocks/SiteReviewsFormBlock.php:97, plugin/Blocks/SiteReviewsSummaryBlock.php:93
1340
  msgctxt "admin-text"
1341
  msgid "You have hidden all of the fields for this block."
1363
  msgid "Pin Your Reviews"
1364
  msgstr ""
1365
 
1366
+ #: plugin/Commands/EnqueueAdminAssets.php:106
1367
  msgctxt "admin-text"
1368
  msgid "Try Premium"
1369
  msgstr ""
1370
 
1371
+ #: plugin/Commands/EnqueueAdminAssets.php:107
1372
  msgctxt "admin-text"
1373
  msgid "Please rate %s on %s and help us spread the word. Thank you so much!"
1374
  msgstr ""
1432
  msgid "Review unpinned."
1433
  msgstr ""
1434
 
1435
+ #: plugin/Commands/ToggleStatus.php:55, views/partials/editor/pinned.php:7
1436
  msgctxt "admin-text"
1437
  msgid "Edit"
1438
  msgstr ""
1439
 
1440
+ #: plugin/Commands/ToggleStatus.php:78
1441
  msgctxt "admin-text"
1442
  msgid "Approved <span class=\"count\">(%s)</span>"
1443
  msgid_plural "Approved <span class=\"count\">(%s)</span>"
1444
  msgstr[0] ""
1445
  msgstr[1] ""
1446
 
1447
+ #: plugin/Commands/ToggleStatus.php:86
1448
  msgctxt "admin-text"
1449
  msgid "Unapproved <span class=\"count\">(%s)</span>"
1450
  msgid_plural "Unapproved <span class=\"count\">(%s)</span>"
2338
  msgid "Show more details"
2339
  msgstr ""
2340
 
 
 
 
 
2341
  #: plugin/Modules/Notification.php:179
2342
  msgctxt "This string differs depending on whether or not the review has been assigned to a post."
2343
  msgid "New %s-star review"
2941
  msgid "No assigned user"
2942
  msgstr ""
2943
 
2944
+ #: plugin/Controllers/ListTableColumns/ColumnFilterAuthor.php:20
2945
+ msgctxt "admin-text"
2946
+ msgid "Filter by author"
2947
+ msgstr ""
2948
+
2949
+ #: plugin/Controllers/ListTableColumns/ColumnFilterAuthor.php:23
2950
+ msgctxt "admin-text"
2951
+ msgid "All authors"
2952
+ msgstr ""
2953
+
2954
+ #: plugin/Controllers/ListTableColumns/ColumnFilterAuthor.php:44
2955
+ msgctxt "admin-text"
2956
+ msgid "No author (guest submissions)"
2957
+ msgstr ""
2958
+
2959
  #: plugin/Controllers/ListTableColumns/ColumnFilterCategory.php:19
2960
  msgctxt "admin-text"
2961
  msgid "Filter by category"
3291
 
3292
  #: views/pages/settings/translations.php:12
3293
  msgctxt "admin-text"
3294
+ msgid "Here you can customise any English text of the plugin that is shown on the frontend of your website, including the field labels and placeholders of the review form."
3295
  msgstr ""
3296
 
3297
  #: views/pages/settings/translations.php:13
3299
  msgid "If you are using the Polylang plugin, any custom text you enter here will be translatable on the Polylang \"Strings translations\" page."
3300
  msgstr ""
3301
 
3302
+ #: views/pages/settings/translations.php:18
3303
  msgctxt "admin-text"
3304
  msgid "Search for translatable text"
3305
  msgstr ""
3306
 
3307
+ #: views/pages/settings/translations.php:21
3308
  msgctxt "admin-text"
3309
  msgid "Search here for text to customise..."
3310
  msgstr ""
3311
 
3312
+ #: views/pages/settings/translations.php:29
3313
  msgctxt "admin-text"
3314
  msgid "Original Text"
3315
  msgstr ""
3316
 
3317
+ #: views/pages/settings/translations.php:30
3318
  msgctxt "admin-text"
3319
  msgid "Custom Text"
3320
  msgstr ""
plugin/Addons/Updater.php CHANGED
@@ -16,6 +16,10 @@ class Updater
16
  * @var array
17
  */
18
  protected $data;
 
 
 
 
19
  /**
20
  * @var bool
21
  */
@@ -44,6 +48,9 @@ class Updater
44
  $this->data = wp_parse_args($data, get_plugin_data($file));
45
  $this->plugin = plugin_basename($file);
46
  $this->isReady = true;
 
 
 
47
  }
48
 
49
  /**
@@ -59,11 +66,7 @@ class Updater
59
  */
60
  public function checkLicense(array $data = [])
61
  {
62
- $response = $this->request('check_license', $data);
63
- if ('valid' === Arr::get($response, 'license')) {
64
- $this->getPluginUpdate(true);
65
- }
66
- return $response;
67
  }
68
 
69
  /**
@@ -87,7 +90,7 @@ class Updater
87
  || Arr::get($this->data, 'TextDomain') != Arr::get($args, 'slug')) {
88
  return $result;
89
  }
90
- if ($updateInfo = $this->getPluginUpdate()) {
91
  return $this->modifyUpdateDetails($updateInfo);
92
  }
93
  return $result;
@@ -100,7 +103,7 @@ class Updater
100
  */
101
  public function filterPluginUpdates($transient)
102
  {
103
- if ($updateInfo = $this->getPluginUpdate()) {
104
  return $this->modifyPluginUpdates($transient, $updateInfo);
105
  }
106
  return $transient;
@@ -109,7 +112,7 @@ class Updater
109
  /**
110
  * @return object
111
  */
112
- public function getVersion(array $data = [])
113
  {
114
  return $this->request('get_version', $data);
115
  }
@@ -179,7 +182,7 @@ class Updater
179
  {
180
  $version = $this->getCachedVersion();
181
  if (false === $version || false !== $force) {
182
- $version = $this->getVersion();
183
  $this->setCachedVersion($version);
184
  }
185
  if (isset($version->error)) {
@@ -214,6 +217,9 @@ class Updater
214
  if (Helper::isGreaterThan($updateInfo->new_version, Arr::get($this->data, 'Version'))) {
215
  unset($transient->no_update[$this->plugin]);
216
  $updateInfo->update = true;
 
 
 
217
  $transient->response[$this->plugin] = $updateInfo;
218
  } else {
219
  unset($transient->response[$this->plugin]);
@@ -284,7 +290,7 @@ class Updater
284
  protected function setCachedVersion($version)
285
  {
286
  if (!isset($version->error)) {
287
- set_transient($this->getTransientName(), $version, 3 * HOUR_IN_SECONDS);
288
  }
289
  }
290
  }
16
  * @var array
17
  */
18
  protected $data;
19
+ /**
20
+ * @var bool
21
+ */
22
+ protected $forceCheck = false;
23
  /**
24
  * @var bool
25
  */
48
  $this->data = wp_parse_args($data, get_plugin_data($file));
49
  $this->plugin = plugin_basename($file);
50
  $this->isReady = true;
51
+ if (!glsr()->addon(Arr::get($this->data, 'TextDomain'))) {
52
+ $this->forceCheck = true; // don't cache the version details if the addon is not fully active
53
+ }
54
  }
55
 
56
  /**
66
  */
67
  public function checkLicense(array $data = [])
68
  {
69
+ return $this->request('check_license', $data);
 
 
 
 
70
  }
71
 
72
  /**
90
  || Arr::get($this->data, 'TextDomain') != Arr::get($args, 'slug')) {
91
  return $result;
92
  }
93
+ if ($updateInfo = $this->getPluginUpdate($this->forceCheck)) {
94
  return $this->modifyUpdateDetails($updateInfo);
95
  }
96
  return $result;
103
  */
104
  public function filterPluginUpdates($transient)
105
  {
106
+ if ($updateInfo = $this->getPluginUpdate($this->forceCheck)) {
107
  return $this->modifyPluginUpdates($transient, $updateInfo);
108
  }
109
  return $transient;
112
  /**
113
  * @return object
114
  */
115
+ public function getLatestVersion(array $data = [])
116
  {
117
  return $this->request('get_version', $data);
118
  }
182
  {
183
  $version = $this->getCachedVersion();
184
  if (false === $version || false !== $force) {
185
+ $version = $this->getLatestVersion();
186
  $this->setCachedVersion($version);
187
  }
188
  if (isset($version->error)) {
217
  if (Helper::isGreaterThan($updateInfo->new_version, Arr::get($this->data, 'Version'))) {
218
  unset($transient->no_update[$this->plugin]);
219
  $updateInfo->update = true;
220
+ if (!$this->isLicenseValid()) {
221
+ $updateInfo->upgrade_notice = _x('A valid license key is required to download this update.', 'admin-text', 'site-reviews');
222
+ }
223
  $transient->response[$this->plugin] = $updateInfo;
224
  } else {
225
  unset($transient->response[$this->plugin]);
290
  protected function setCachedVersion($version)
291
  {
292
  if (!isset($version->error)) {
293
+ set_transient($this->getTransientName(), $version, 15 * MINUTE_IN_SECONDS);
294
  }
295
  }
296
  }
plugin/Arguments.php CHANGED
@@ -73,6 +73,7 @@ class Arguments extends \ArrayObject
73
  * @param mixed $key
74
  * @return mixed
75
  */
 
76
  public function offsetGet($key)
77
  {
78
  return $this->get($key);
@@ -82,6 +83,7 @@ class Arguments extends \ArrayObject
82
  * @param mixed $key
83
  * @return void
84
  */
 
85
  public function offsetUnset($key)
86
  {
87
  $storage = $this->toArray();
73
  * @param mixed $key
74
  * @return mixed
75
  */
76
+ #[\ReturnTypeWillChange]
77
  public function offsetGet($key)
78
  {
79
  return $this->get($key);
83
  * @param mixed $key
84
  * @return void
85
  */
86
+ #[\ReturnTypeWillChange]
87
  public function offsetUnset($key)
88
  {
89
  $storage = $this->toArray();
plugin/Commands/EnqueueAdminAssets.php CHANGED
@@ -92,6 +92,8 @@ class EnqueueAdminAssets implements Contract
92
  'clear-console' => wp_create_nonce('clear-console'),
93
  'fetch-console' => wp_create_nonce('fetch-console'),
94
  'mce-shortcode' => wp_create_nonce('mce-shortcode'),
 
 
95
  'sync-reviews' => wp_create_nonce('sync-reviews'),
96
  'toggle-filters' => wp_create_nonce('toggle-filters'),
97
  'toggle-pinned' => wp_create_nonce('toggle-pinned'),
92
  'clear-console' => wp_create_nonce('clear-console'),
93
  'fetch-console' => wp_create_nonce('fetch-console'),
94
  'mce-shortcode' => wp_create_nonce('mce-shortcode'),
95
+ 'search-posts' => wp_create_nonce('search-posts'),
96
+ 'search-users' => wp_create_nonce('search-users'),
97
  'sync-reviews' => wp_create_nonce('sync-reviews'),
98
  'toggle-filters' => wp_create_nonce('toggle-filters'),
99
  'toggle-pinned' => wp_create_nonce('toggle-pinned'),
plugin/Commands/EnqueuePublicAssets.php CHANGED
@@ -50,7 +50,7 @@ class EnqueuePublicAssets implements Contract
50
  wp_enqueue_script(glsr()->id.'/polyfill', add_query_arg([
51
  'features' => 'Array.prototype.find,Object.assign,CustomEvent,Element.prototype.closest,Element.prototype.dataset,Event,XMLHttpRequest,MutationObserver',
52
  'flags' => 'gated',
53
- ], 'https://polyfill.io/v3/polyfill.min.js?version=3.101.0'));
54
  }
55
 
56
  /**
50
  wp_enqueue_script(glsr()->id.'/polyfill', add_query_arg([
51
  'features' => 'Array.prototype.find,Object.assign,CustomEvent,Element.prototype.closest,Element.prototype.dataset,Event,XMLHttpRequest,MutationObserver',
52
  'flags' => 'gated',
53
+ ], 'https://polyfill.io/v3/polyfill.min.js?version=3.109.0'));
54
  }
55
 
56
  /**
plugin/Commands/ToggleStatus.php CHANGED
@@ -24,6 +24,10 @@ class ToggleStatus implements Contract
24
  */
25
  public function handle()
26
  {
 
 
 
 
27
  $postId = wp_update_post([
28
  'ID' => $this->id,
29
  'post_status' => $this->status,
24
  */
25
  public function handle()
26
  {
27
+ if (glsr()->post_type !== get_post_type($this->id)) {
28
+ glsr_log()->error('Cannot toggle review status: Invalid Post Type.');
29
+ return [];
30
+ }
31
  $postId = wp_update_post([
32
  'ID' => $this->id,
33
  'post_status' => $this->status,
plugin/Contracts/DefaultsContract.php CHANGED
@@ -2,6 +2,14 @@
2
 
3
  namespace GeminiLabs\SiteReviews\Contracts;
4
 
 
 
 
 
 
 
 
 
5
  interface DefaultsContract
6
  {
7
  }
2
 
3
  namespace GeminiLabs\SiteReviews\Contracts;
4
 
5
+ /**
6
+ * @property array $casts
7
+ * @property array $concatenated
8
+ * @property array $enum
9
+ * @property array $guarded
10
+ * @property array $mapped
11
+ * @property array $sanitize
12
+ */
13
  interface DefaultsContract
14
  {
15
  }
plugin/Controllers/ListTableColumns/ColumnFilterAuthor.php ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GeminiLabs\SiteReviews\Controllers\ListTableColumns;
4
+
5
+ use GeminiLabs\SiteReviews\Database;
6
+ use GeminiLabs\SiteReviews\Helpers\Arr;
7
+
8
+ class ColumnFilterAuthor extends ColumnFilter
9
+ {
10
+ /**
11
+ * {@inheritdoc}
12
+ */
13
+ public function handle(array $enabledFilters = [])
14
+ {
15
+ if (in_array('author', $enabledFilters)) {
16
+ $this->enabled = true;
17
+ }
18
+ if ($options = $this->options()) {
19
+ $label = $this->label('author',
20
+ _x('Filter by author', 'admin-text', 'site-reviews')
21
+ );
22
+ $filter = $this->filter('author', $options,
23
+ _x('All authors', 'admin-text', 'site-reviews')
24
+ );
25
+ return $label.$filter;
26
+ }
27
+ }
28
+
29
+ /**
30
+ * @param string $id
31
+ * @return string
32
+ */
33
+ protected function id($id)
34
+ {
35
+ return 'glsr-filter-by-author';
36
+ }
37
+
38
+ /**
39
+ * @return array
40
+ */
41
+ protected function options()
42
+ {
43
+ $options = glsr(Database::class)->users();
44
+ $options = Arr::prepend($options, _x('No author (guest submissions)', 'admin-text', 'site-reviews'), '0');
45
+ return $options;
46
+ }
47
+
48
+ /**
49
+ * @param string $id
50
+ * @return int|string
51
+ */
52
+ protected function value($id)
53
+ {
54
+ return filter_input(INPUT_GET, $id, FILTER_SANITIZE_NUMBER_INT);
55
+ }
56
+ }
plugin/Controllers/ListTableController.php CHANGED
@@ -408,13 +408,13 @@ class ListTableController extends Controller
408
  */
409
  protected function modifyClauseWhere($where, $table, WP_Query $query)
410
  {
 
411
  $mapped = [
412
  'assigned_post' => 'post',
413
  'assigned_user' => 'user',
414
  ];
415
  foreach ($this->filterByValues() as $key => $value) {
416
  if (in_array($key, ['assigned_post', 'assigned_user'])) {
417
- global $wpdb;
418
  $assignedTable = glsr(Query::class)->table($key.'s');
419
  if (-1 === Cast::toInt($value)) {
420
  $ids = $wpdb->get_col("
@@ -432,8 +432,12 @@ class ListTableController extends Controller
432
  ");
433
  }
434
  $where .= sprintf(" AND {$wpdb->posts}.ID IN (%s) ", implode(',', $ids));
435
- } else {
436
  $where .= " AND {$table}.{$key} = '{$value}' ";
 
 
 
 
437
  }
438
  }
439
  return $where;
408
  */
409
  protected function modifyClauseWhere($where, $table, WP_Query $query)
410
  {
411
+ global $wpdb;
412
  $mapped = [
413
  'assigned_post' => 'post',
414
  'assigned_user' => 'user',
415
  ];
416
  foreach ($this->filterByValues() as $key => $value) {
417
  if (in_array($key, ['assigned_post', 'assigned_user'])) {
 
418
  $assignedTable = glsr(Query::class)->table($key.'s');
419
  if (-1 === Cast::toInt($value)) {
420
  $ids = $wpdb->get_col("
432
  ");
433
  }
434
  $where .= sprintf(" AND {$wpdb->posts}.ID IN (%s) ", implode(',', $ids));
435
+ } elseif (in_array($key, ['rating','type'])) {
436
  $where .= " AND {$table}.{$key} = '{$value}' ";
437
+ } elseif ('author' === $key && '0' === $value) {
438
+ // Filtering by the "author" URL parameter is automatically done
439
+ // by WordPress when the value is not empty
440
+ $where .= " AND {$wpdb->posts}.post_author IN (0) ";
441
  }
442
  }
443
  return $where;
plugin/Database.php CHANGED
@@ -319,7 +319,7 @@ class Database
319
 
320
  /**
321
  * @param string $searchTerm
322
- * @return void|string
323
  */
324
  public function searchPosts($searchTerm)
325
  {
@@ -337,20 +337,20 @@ class Database
337
  add_filter('posts_search', [$this, 'filterSearchByTitle'], 500, 2);
338
  $search = new WP_Query($args);
339
  remove_filter('posts_search', [$this, 'filterSearchByTitle'], 500);
 
 
 
 
 
 
 
 
 
 
340
  if ($search->have_posts()) {
341
- $results = '';
342
- while ($search->have_posts()) {
343
- $search->the_post();
344
- $results .= glsr()->build('partials/editor/search-result', [
345
- 'ID' => get_the_ID(),
346
- 'permalink' => esc_url((string) get_permalink()),
347
- 'title' => esc_attr(get_the_title()),
348
- ]);
349
- }
350
- // @phpstan-ignore-next-line
351
  wp_reset_postdata();
352
- return $results;
353
  }
 
354
  }
355
 
356
  /**
319
 
320
  /**
321
  * @param string $searchTerm
322
+ * @return string
323
  */
324
  public function searchPosts($searchTerm)
325
  {
337
  add_filter('posts_search', [$this, 'filterSearchByTitle'], 500, 2);
338
  $search = new WP_Query($args);
339
  remove_filter('posts_search', [$this, 'filterSearchByTitle'], 500);
340
+ $results = '';
341
+ while ($search->have_posts()) {
342
+ $search->the_post();
343
+ $results .= glsr()->build('partials/editor/search-result', [
344
+ 'ID' => get_the_ID(),
345
+ 'permalink' => esc_url((string) get_permalink()),
346
+ 'title' => esc_attr(get_the_title()),
347
+ ]);
348
+ }
349
+ // @phpstan-ignore-next-line
350
  if ($search->have_posts()) {
 
 
 
 
 
 
 
 
 
 
351
  wp_reset_postdata();
 
352
  }
353
+ return $results;
354
  }
355
 
356
  /**
plugin/Database/NormalizeQueryArgs.php CHANGED
@@ -98,7 +98,7 @@ class NormalizeQueryArgs extends Arguments
98
  protected function normalizeStatus($value)
99
  {
100
  $statuses = [
101
- 'all' => '',
102
  'approved' => '1',
103
  'pending' => '0',
104
  'publish' => '1',
98
  protected function normalizeStatus($value)
99
  {
100
  $statuses = [
101
+ 'all' => '-1',
102
  'approved' => '1',
103
  'pending' => '0',
104
  'publish' => '1',
plugin/Database/Sql.php CHANGED
@@ -52,7 +52,9 @@ trait Sql
52
  */
53
  public function escValuesForInsert(array $values)
54
  {
55
- $values = array_values(array_map('esc_sql', $values));
 
 
56
  return sprintf("('%s')", implode("','", $values));
57
  }
58
 
@@ -230,7 +232,7 @@ trait Sql
230
  protected function clauseAndRating()
231
  {
232
  $column = $this->isCustomRatingField() ? 'pm.meta_value' : 'r.rating';
233
- return Helper::ifTrue($this->args['rating'] > 0,
234
  $this->db->prepare("AND {$column} > %d", --$this->args['rating'])
235
  );
236
  }
@@ -240,7 +242,7 @@ trait Sql
240
  */
241
  protected function clauseAndRatingField()
242
  {
243
- return Helper::ifTrue($this->isCustomRatingField(),
244
  $this->db->prepare("AND pm.meta_key = %s", sprintf('_custom_%s', $this->args['rating_field']))
245
  );
246
  }
@@ -250,7 +252,10 @@ trait Sql
250
  */
251
  protected function clauseAndStatus()
252
  {
253
- return $this->clauseIfValueNotEmpty('AND r.is_approved = %d', $this->args['status']);
 
 
 
254
  }
255
 
256
  /**
@@ -387,7 +392,7 @@ trait Sql
387
  */
388
  protected function clauseJoinOrderBy()
389
  {
390
- return Helper::ifTrue(Str::startsWith('p.', $this->args['orderby']),
391
  "INNER JOIN {$this->db->posts} AS p ON r.review_id = p.ID"
392
  );
393
  }
@@ -397,11 +402,21 @@ trait Sql
397
  */
398
  protected function clauseJoinRatingField()
399
  {
400
- return Helper::ifTrue($this->isCustomRatingField(),
401
  "INNER JOIN {$this->db->postmeta} AS pm ON r.review_id = pm.post_id"
402
  );
403
  }
404
 
 
 
 
 
 
 
 
 
 
 
405
  /**
406
  * @return bool
407
  */
52
  */
53
  public function escValuesForInsert(array $values)
54
  {
55
+ $values = array_values(
56
+ array_map('\GeminiLabs\SiteReviews\Helpers\Cast::toString', array_map('esc_sql', $values))
57
+ );
58
  return sprintf("('%s')", implode("','", $values));
59
  }
60
 
232
  protected function clauseAndRating()
233
  {
234
  $column = $this->isCustomRatingField() ? 'pm.meta_value' : 'r.rating';
235
+ return (string) Helper::ifTrue($this->args['rating'] > 0,
236
  $this->db->prepare("AND {$column} > %d", --$this->args['rating'])
237
  );
238
  }
242
  */
243
  protected function clauseAndRatingField()
244
  {
245
+ return (string) Helper::ifTrue($this->isCustomRatingField(),
246
  $this->db->prepare("AND pm.meta_key = %s", sprintf('_custom_%s', $this->args['rating_field']))
247
  );
248
  }
252
  */
253
  protected function clauseAndStatus()
254
  {
255
+ if (-1 !== Cast::toInt($this->args['status'])) {
256
+ return $this->clauseIfValueNotEmpty('AND r.is_approved = %d', $this->args['status']);
257
+ }
258
+ return "AND p.post_status IN ('pending','publish')";
259
  }
260
 
261
  /**
392
  */
393
  protected function clauseJoinOrderBy()
394
  {
395
+ return (string) Helper::ifTrue(Str::startsWith('p.', $this->args['orderby']),
396
  "INNER JOIN {$this->db->posts} AS p ON r.review_id = p.ID"
397
  );
398
  }
402
  */
403
  protected function clauseJoinRatingField()
404
  {
405
+ return (string) Helper::ifTrue($this->isCustomRatingField(),
406
  "INNER JOIN {$this->db->postmeta} AS pm ON r.review_id = pm.post_id"
407
  );
408
  }
409
 
410
+ /**
411
+ * @return string
412
+ */
413
+ protected function clauseJoinStatus()
414
+ {
415
+ return (string) Helper::ifTrue(-1 === Cast::toInt($this->args['status']),
416
+ "INNER JOIN {$this->db->posts} AS p ON r.review_id = p.ID"
417
+ );
418
+ }
419
+
420
  /**
421
  * @return bool
422
  */
plugin/Defaults/ColumnFilterbyDefaults.php CHANGED
@@ -14,8 +14,10 @@ class ColumnFilterbyDefaults extends Defaults
14
  return [
15
  'assigned_post' => FILTER_SANITIZE_NUMBER_INT,
16
  'assigned_user' => FILTER_SANITIZE_NUMBER_INT,
 
 
17
  'rating' => FILTER_SANITIZE_NUMBER_INT,
18
- 'type' => FILTER_SANITIZE_STRING,
19
  ];
20
  }
21
  }
14
  return [
15
  'assigned_post' => FILTER_SANITIZE_NUMBER_INT,
16
  'assigned_user' => FILTER_SANITIZE_NUMBER_INT,
17
+ 'author' => FILTER_SANITIZE_NUMBER_INT,
18
+ 'category' => FILTER_SANITIZE_NUMBER_INT,
19
  'rating' => FILTER_SANITIZE_NUMBER_INT,
20
+ 'type' => FILTER_SANITIZE_FULL_SPECIAL_CHARS,
21
  ];
22
  }
23
  }
plugin/Defaults/CustomFieldsDefaults.php CHANGED
@@ -36,6 +36,7 @@ class CustomFieldsDefaults extends Defaults
36
  'ID',
37
  'ip_address',
38
  'is_approved',
 
39
  'is_modified',
40
  'is_pinned',
41
  'name',
@@ -51,12 +52,13 @@ class CustomFieldsDefaults extends Defaults
51
  ];
52
 
53
  /**
 
54
  * @return array
55
  */
56
- protected function sanitize(array $values = [])
57
  {
58
  $this->guarded[] = glsr(Honeypot::class)->hash(Arr::get($values, 'form_id'));
59
  $this->sanitize = array_fill_keys(array_keys($this->guard($values)), 'text');
60
- return parent::sanitize($values);
61
  }
62
  }
36
  'ID',
37
  'ip_address',
38
  'is_approved',
39
+ 'is_editing_review',
40
  'is_modified',
41
  'is_pinned',
42
  'name',
52
  ];
53
 
54
  /**
55
+ * Normalize provided values, this always runs first.
56
  * @return array
57
  */
58
+ protected function normalize(array $values = [])
59
  {
60
  $this->guarded[] = glsr(Honeypot::class)->hash(Arr::get($values, 'form_id'));
61
  $this->sanitize = array_fill_keys(array_keys($this->guard($values)), 'text');
62
+ return $values;
63
  }
64
  }
plugin/Defaults/DefaultsAbstract.php CHANGED
@@ -133,7 +133,7 @@ abstract class DefaultsAbstract implements DefaultsContract
133
  protected function callMethod(array $args)
134
  {
135
  $this->hook = $this->currentHook();
136
- $this->app()->action('defaults', $this, $this->hook, $this->method);
137
  $values = 'defaults' === $this->method
138
  ? $this->defaults // use the filtered defaults (these have not been normalized!)
139
  : call_user_func_array([$this, $this->method], $args);
133
  protected function callMethod(array $args)
134
  {
135
  $this->hook = $this->currentHook();
136
+ $this->app()->action('defaults', $this, $this->hook, $this->method, $args[0]);
137
  $values = 'defaults' === $this->method
138
  ? $this->defaults // use the filtered defaults (these have not been normalized!)
139
  : call_user_func_array([$this, $this->method], $args);
plugin/Defaults/ReviewTableFiltersDefaults.php CHANGED
@@ -4,6 +4,7 @@ namespace GeminiLabs\SiteReviews\Defaults;
4
 
5
  use GeminiLabs\SiteReviews\Controllers\ListTableColumns\ColumnFilterAssignedPost;
6
  use GeminiLabs\SiteReviews\Controllers\ListTableColumns\ColumnFilterAssignedUser;
 
7
  use GeminiLabs\SiteReviews\Controllers\ListTableColumns\ColumnFilterCategory;
8
  use GeminiLabs\SiteReviews\Controllers\ListTableColumns\ColumnFilterRating;
9
  use GeminiLabs\SiteReviews\Controllers\ListTableColumns\ColumnFilterType;
@@ -16,12 +17,13 @@ class ReviewTableFiltersDefaults extends Defaults
16
  */
17
  protected function defaults()
18
  {
19
- return [ // order is intentional
20
  'rating' => ColumnFilterRating::class,
21
  'type' => ColumnFilterType::class,
22
  'category' => ColumnFilterCategory::class,
23
  'assigned_post' => ColumnFilterAssignedPost::class,
24
  'assigned_user' => ColumnFilterAssignedUser::class,
 
25
  ];
26
  }
27
  }
4
 
5
  use GeminiLabs\SiteReviews\Controllers\ListTableColumns\ColumnFilterAssignedPost;
6
  use GeminiLabs\SiteReviews\Controllers\ListTableColumns\ColumnFilterAssignedUser;
7
+ use GeminiLabs\SiteReviews\Controllers\ListTableColumns\ColumnFilterAuthor;
8
  use GeminiLabs\SiteReviews\Controllers\ListTableColumns\ColumnFilterCategory;
9
  use GeminiLabs\SiteReviews\Controllers\ListTableColumns\ColumnFilterRating;
10
  use GeminiLabs\SiteReviews\Controllers\ListTableColumns\ColumnFilterType;
17
  */
18
  protected function defaults()
19
  {
20
+ return [ // display order is intentional
21
  'rating' => ColumnFilterRating::class,
22
  'type' => ColumnFilterType::class,
23
  'category' => ColumnFilterCategory::class,
24
  'assigned_post' => ColumnFilterAssignedPost::class,
25
  'assigned_user' => ColumnFilterAssignedUser::class,
26
+ 'author' => ColumnFilterAuthor::class,
27
  ];
28
  }
29
  }
plugin/Helpers/Arr.php CHANGED
@@ -94,7 +94,7 @@ class Arr
94
  public static function get($data, $path = '', $fallback = '')
95
  {
96
  $data = static::consolidate($data);
97
- $keys = explode('.', $path);
98
  $result = $fallback;
99
  foreach ($keys as $key) {
100
  if (!isset($data[$key])) {
94
  public static function get($data, $path = '', $fallback = '')
95
  {
96
  $data = static::consolidate($data);
97
+ $keys = explode('.', (string) $path);
98
  $result = $fallback;
99
  foreach ($keys as $key) {
100
  if (!isset($data[$key])) {
plugin/Helpers/Str.php CHANGED
@@ -92,8 +92,8 @@ class Str
92
  */
93
  public static function convertToInitials($name, $initialPunctuation = '')
94
  {
95
- preg_match_all('/(?<=\s|\b)\pL/u', $name, $matches);
96
- $result = array_reduce($matches[0], function ($carry, $word) use ($initialPunctuation) {
97
  $initial = mb_substr($word, 0, 1, 'UTF-8');
98
  $initial = mb_strtoupper($initial, 'UTF-8');
99
  return $carry.$initial.$initialPunctuation;
@@ -259,11 +259,11 @@ class Str
259
  * @param string $haystack
260
  * @return bool
261
  */
262
- public static function startsWith($needles, $haystack)
263
  {
264
- $needles = array_filter(Cast::toArray($needles), Helper::class.'::isNotEmpty');
265
  foreach ($needles as $needle) {
266
- if (substr($haystack, 0, strlen(Cast::toString($needle))) === $needle) {
267
  return true;
268
  }
269
  }
92
  */
93
  public static function convertToInitials($name, $initialPunctuation = '')
94
  {
95
+ preg_match_all('/(?<=\s|\b)\pL/u', (string) $name, $matches);
96
+ $result = (string) array_reduce($matches[0], function ($carry, $word) use ($initialPunctuation) {
97
  $initial = mb_substr($word, 0, 1, 'UTF-8');
98
  $initial = mb_strtoupper($initial, 'UTF-8');
99
  return $carry.$initial.$initialPunctuation;
259
  * @param string $haystack
260
  * @return bool
261
  */
262
+ public static function startsWith($needles, $haystack = '')
263
  {
264
+ $needles = array_filter(Cast::toArray($needles), '\GeminiLabs\SiteReviews\Helper::isNotEmpty');
265
  foreach ($needles as $needle) {
266
+ if (substr((string) $haystack, 0, strlen(Cast::toString($needle))) === $needle) {
267
  return true;
268
  }
269
  }
plugin/Hooks.php CHANGED
@@ -159,8 +159,8 @@ class Hooks implements HooksContract
159
  add_action('wp_restore_post_revision', [$this->revisions, 'restoreRevision'], 10, 2);
160
  add_action('_wp_put_post_revision', [$this->revisions, 'saveRevision']);
161
  add_action('admin_init', [$this->router, 'routeAdminPostRequest']);
162
- add_action('wp_ajax_'.glsr()->prefix.'action', [$this->router, 'routeAjaxRequest']);
163
- add_action('wp_ajax_nopriv_'.glsr()->prefix.'action', [$this->router, 'routeAjaxRequest']);
164
  add_action('init', [$this->router, 'routePublicPostRequest']);
165
  add_action('admin_init', [$this->settings, 'registerSettings']);
166
  add_action('site-reviews/route/admin/clear-console', [$this->tools, 'clearConsole']);
159
  add_action('wp_restore_post_revision', [$this->revisions, 'restoreRevision'], 10, 2);
160
  add_action('_wp_put_post_revision', [$this->revisions, 'saveRevision']);
161
  add_action('admin_init', [$this->router, 'routeAdminPostRequest']);
162
+ add_action('wp_ajax_'.glsr()->prefix.'action', [$this->router, 'routeAdminAjaxRequest']);
163
+ add_action('wp_ajax_nopriv_'.glsr()->prefix.'action', [$this->router, 'routePublicAjaxRequest']);
164
  add_action('init', [$this->router, 'routePublicPostRequest']);
165
  add_action('admin_init', [$this->settings, 'registerSettings']);
166
  add_action('site-reviews/route/admin/clear-console', [$this->tools, 'clearConsole']);
plugin/Modules/Html/Fields/Field.php CHANGED
@@ -59,16 +59,16 @@ abstract class Field
59
 
60
  /**
61
  * @param string $key
62
- * @param string $delimiter
63
  * @param string $fieldLocation
64
  * @return array
65
  */
66
- public static function mergedAttribute($key, $delimiter, array $args, $fieldLocation)
67
  {
68
  return Arr::unique(array_merge(
69
- explode($delimiter, Arr::get($args, $key)),
70
- explode($delimiter, Arr::get(static::defaults($fieldLocation), $key)),
71
- explode($delimiter, Arr::get(static::required($fieldLocation), $key))
72
  ));
73
  }
74
 
59
 
60
  /**
61
  * @param string $key
62
+ * @param string $separator
63
  * @param string $fieldLocation
64
  * @return array
65
  */
66
+ public static function mergedAttribute($key, $separator, array $args, $fieldLocation)
67
  {
68
  return Arr::unique(array_merge(
69
+ explode($separator, Arr::get($args, $key)),
70
+ explode($separator, Arr::get(static::defaults($fieldLocation), $key)),
71
+ explode($separator, Arr::get(static::required($fieldLocation), $key))
72
  ));
73
  }
74
 
plugin/Modules/Html/Form.php CHANGED
@@ -61,6 +61,7 @@ class Form extends \ArrayObject
61
  * @param mixed $key
62
  * @return mixed
63
  */
 
64
  public function offsetGet($key)
65
  {
66
  if (array_key_exists($key, $this->fields)) {
61
  * @param mixed $key
62
  * @return mixed
63
  */
64
+ #[\ReturnTypeWillChange]
65
  public function offsetGet($key)
66
  {
67
  if (array_key_exists($key, $this->fields)) {
plugin/Modules/Html/ReviewHtml.php CHANGED
@@ -107,6 +107,7 @@ class ReviewHtml extends \ArrayObject
107
  * @param mixed $key
108
  * @return mixed
109
  */
 
110
  public function offsetGet($key)
111
  {
112
  if (array_key_exists($key, $this->context)) {
107
  * @param mixed $key
108
  * @return mixed
109
  */
110
+ #[\ReturnTypeWillChange]
111
  public function offsetGet($key)
112
  {
113
  if (array_key_exists($key, $this->context)) {
plugin/Modules/Html/ReviewsHtml.php CHANGED
@@ -109,6 +109,7 @@ class ReviewsHtml extends \ArrayObject
109
  * @param mixed $key
110
  * @return mixed
111
  */
 
112
  public function offsetGet($key)
113
  {
114
  if (array_key_exists($key, $this->rendered)) {
109
  * @param mixed $key
110
  * @return mixed
111
  */
112
+ #[\ReturnTypeWillChange]
113
  public function offsetGet($key)
114
  {
115
  if (array_key_exists($key, $this->rendered)) {
plugin/Modules/Html/Tags/Tag.php CHANGED
@@ -90,7 +90,10 @@ abstract class Tag implements TagContract
90
  $value = glsr()->filterString($this->for.'/value/'.$this->tag, $value, $this);
91
  if (Helper::isNotEmpty($value)) {
92
  if (!empty($wrapWith)) {
93
- $value = glsr(Builder::class)->$wrapWith($value);
 
 
 
94
  }
95
  $value = glsr()->filterString($this->for.'/wrapped', $value, $rawValue, $this);
96
  if (!$this->isRaw()) {
90
  $value = glsr()->filterString($this->for.'/value/'.$this->tag, $value, $this);
91
  if (Helper::isNotEmpty($value)) {
92
  if (!empty($wrapWith)) {
93
+ $value = glsr(Builder::class)->$wrapWith([
94
+ 'class' => 'glsr-tag-value',
95
+ 'text' => $value
96
+ ]);
97
  }
98
  $value = glsr()->filterString($this->for.'/wrapped', $value, $rawValue, $this);
99
  if (!$this->isRaw()) {
plugin/Modules/Html/TemplateTags.php CHANGED
@@ -103,7 +103,7 @@ class TemplateTags
103
  */
104
  protected function reviewAuthorTag(Review $review)
105
  {
106
- return $review->author ?: __('Anonymous', 'site-reviews');
107
  }
108
 
109
  /**
103
  */
104
  protected function reviewAuthorTag(Review $review)
105
  {
106
+ return $review->author();
107
  }
108
 
109
  /**
plugin/Modules/Schema.php CHANGED
@@ -125,7 +125,7 @@ class Schema
125
  public function render()
126
  {
127
  if ($schemas = glsr()->retrieve('schemas', [])) {
128
- printf('<script type="application/ld+json" class="%s-schema">%s</script>',
129
  glsr()->id,
130
  json_encode(
131
  glsr()->filterArray('schema/all', $schemas),
@@ -162,7 +162,7 @@ class Schema
162
  $schema->reviewBody($review->content);
163
  })
164
  ->datePublished((new DateTime($review->date)))
165
- ->author($this->getSchemaType('Person')->name($review->author))
166
  ->itemReviewed($this->getSchemaType()->name($this->getSchemaOptionValue('name')));
167
  if (!empty($review->rating)) {
168
  $schema->reviewRating(
@@ -255,8 +255,8 @@ class Schema
255
  'custom' => '',
256
  'default' => $fallback,
257
  ]);
258
- return Helper::ifTrue('custom' === $setting['default'],
259
- $setting['custom'],
260
  $setting['default']
261
  );
262
  }
@@ -275,9 +275,6 @@ class Schema
275
  if ($value !== $fallback) {
276
  return $this->setAndGetKeyValue($option, $value);
277
  }
278
- if (!is_singular()) {
279
- return;
280
- }
281
  $method = Helper::buildMethodName($option, 'getThing');
282
  if (method_exists($this, $method)) {
283
  return $this->setAndGetKeyValue($option, $this->$method());
@@ -309,20 +306,27 @@ class Schema
309
  */
310
  protected function getThingDescription()
311
  {
312
- $post = get_post();
313
- $text = Arr::get($post, 'post_excerpt');
314
- if (empty($text)) {
315
- $text = Arr::get($post, 'post_content');
 
 
 
 
316
  }
317
- if (function_exists('excerpt_remove_blocks')) {
318
- $text = excerpt_remove_blocks($text);
 
 
 
 
 
 
 
 
319
  }
320
- $text = strip_shortcodes($text);
321
- $text = wpautop($text);
322
- $text = wptexturize($text);
323
- $text = wp_strip_all_tags($text);
324
- $text = str_replace(']]>', ']]&gt;', $text);
325
- return wp_trim_words($text, apply_filters('excerpt_length', 55));
326
  }
327
 
328
  /**
@@ -330,7 +334,12 @@ class Schema
330
  */
331
  protected function getThingImage()
332
  {
333
- return (string) get_the_post_thumbnail_url(null, 'large');
 
 
 
 
 
334
  }
335
 
336
  /**
@@ -338,7 +347,13 @@ class Schema
338
  */
339
  protected function getThingName()
340
  {
341
- return get_the_title();
 
 
 
 
 
 
342
  }
343
 
344
  /**
@@ -346,7 +361,24 @@ class Schema
346
  */
347
  protected function getThingUrl()
348
  {
349
- return (string) get_the_permalink();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
350
  }
351
 
352
  /**
125
  public function render()
126
  {
127
  if ($schemas = glsr()->retrieve('schemas', [])) {
128
+ printf('<script type="application/ld+json" class="%s-schema">%s</script>',
129
  glsr()->id,
130
  json_encode(
131
  glsr()->filterArray('schema/all', $schemas),
162
  $schema->reviewBody($review->content);
163
  })
164
  ->datePublished((new DateTime($review->date)))
165
+ ->author($this->getSchemaType('Person')->name($review->author()))
166
  ->itemReviewed($this->getSchemaType()->name($this->getSchemaOptionValue('name')));
167
  if (!empty($review->rating)) {
168
  $schema->reviewRating(
255
  'custom' => '',
256
  'default' => $fallback,
257
  ]);
258
+ return Helper::ifTrue('custom' === $setting['default'],
259
+ $setting['custom'],
260
  $setting['default']
261
  );
262
  }
275
  if ($value !== $fallback) {
276
  return $this->setAndGetKeyValue($option, $value);
277
  }
 
 
 
278
  $method = Helper::buildMethodName($option, 'getThing');
279
  if (method_exists($this, $method)) {
280
  return $this->setAndGetKeyValue($option, $this->$method());
306
  */
307
  protected function getThingDescription()
308
  {
309
+ if (is_archive()) {
310
+ $text = get_the_archive_description();
311
+ } elseif (is_singular()) {
312
+ $post = get_post();
313
+ $text = Arr::get($post, 'post_excerpt');
314
+ if (empty($text)) {
315
+ $text = Arr::get($post, 'post_content');
316
+ }
317
  }
318
+ if (!empty($text)) {
319
+ if (function_exists('excerpt_remove_blocks')) {
320
+ $text = excerpt_remove_blocks($text);
321
+ }
322
+ $text = strip_shortcodes($text);
323
+ $text = wpautop($text);
324
+ $text = wptexturize($text);
325
+ $text = wp_strip_all_tags($text);
326
+ $text = str_replace(']]>', ']]&gt;', $text);
327
+ return wp_trim_words($text, apply_filters('excerpt_length', 55));
328
  }
329
+ return '';
 
 
 
 
 
330
  }
331
 
332
  /**
334
  */
335
  protected function getThingImage()
336
  {
337
+ if (is_singular()) {
338
+ return (string) get_the_post_thumbnail_url(null, 'large');
339
+ }
340
+ // You will need to use the "site-reviews/schema/<schema_type>"
341
+ // filter hook to set the image for archive pages.
342
+ return '';
343
  }
344
 
345
  /**
347
  */
348
  protected function getThingName()
349
  {
350
+ if (is_archive()) {
351
+ return wp_strip_all_tags(get_the_archive_title());
352
+ }
353
+ if (is_singular()) {
354
+ return get_the_title();
355
+ }
356
+ return '';
357
  }
358
 
359
  /**
361
  */
362
  protected function getThingUrl()
363
  {
364
+ $queried = get_queried_object();
365
+ if (is_singular()) {
366
+ $url = (string) get_the_permalink();
367
+ } elseif (is_category()) {
368
+ $url = get_category_link($queried);
369
+ } elseif (is_tag()) {
370
+ $url = get_tag_link($queried);
371
+ } elseif (is_author()) {
372
+ $url = get_author_posts_url($queried->ID);
373
+ } elseif (is_post_type_archive()) {
374
+ $url = get_post_type_archive_link($queried->name);
375
+ } elseif (is_tax()) {
376
+ $url = get_term_link($queried);
377
+ }
378
+ if (!empty($url) && !is_wp_error($url)) {
379
+ return (string) $url;
380
+ }
381
+ return '';
382
  }
383
 
384
  /**
plugin/Modules/Schema/BaseType.php CHANGED
@@ -131,6 +131,7 @@ abstract class BaseType implements ArrayAccess, JsonSerializable, Type
131
  * @param mixed $offset
132
  * @return bool
133
  */
 
134
  public function offsetExists($offset)
135
  {
136
  return array_key_exists($offset, $this->properties);
@@ -140,6 +141,7 @@ abstract class BaseType implements ArrayAccess, JsonSerializable, Type
140
  * @param string $offset
141
  * @return mixed
142
  */
 
143
  public function offsetGet($offset)
144
  {
145
  return $this->getProperty($offset);
@@ -150,6 +152,7 @@ abstract class BaseType implements ArrayAccess, JsonSerializable, Type
150
  * @param mixed $value
151
  * @return void
152
  */
 
153
  public function offsetSet($offset, $value)
154
  {
155
  $this->setProperty($offset, $value);
@@ -159,6 +162,7 @@ abstract class BaseType implements ArrayAccess, JsonSerializable, Type
159
  * @param string $offset
160
  * @return void
161
  */
 
162
  public function offsetUnset($offset)
163
  {
164
  unset($this->properties[$offset]);
131
  * @param mixed $offset
132
  * @return bool
133
  */
134
+ #[\ReturnTypeWillChange]
135
  public function offsetExists($offset)
136
  {
137
  return array_key_exists($offset, $this->properties);
141
  * @param string $offset
142
  * @return mixed
143
  */
144
+ #[\ReturnTypeWillChange]
145
  public function offsetGet($offset)
146
  {
147
  return $this->getProperty($offset);
152
  * @param mixed $value
153
  * @return void
154
  */
155
+ #[\ReturnTypeWillChange]
156
  public function offsetSet($offset, $value)
157
  {
158
  $this->setProperty($offset, $value);
162
  * @param string $offset
163
  * @return void
164
  */
165
+ #[\ReturnTypeWillChange]
166
  public function offsetUnset($offset)
167
  {
168
  unset($this->properties[$offset]);
plugin/Modules/SystemInfo.php CHANGED
@@ -293,6 +293,7 @@ class SystemInfo
293
  'Page For Posts ID' => glsr(OptionManager::class)->getWP('page_for_posts'),
294
  'Page On Front ID' => glsr(OptionManager::class)->getWP('page_on_front'),
295
  'Permalink Structure' => Arr::get($wordpress, 'permalink'),
 
296
  'Post Stati' => implode(', ', get_post_stati()),
297
  'Remote Post' => glsr(Cache::class)->getRemotePostTest(),
298
  'SCRIPT_DEBUG' => Arr::get($constants, 'SCRIPT_DEBUG'),
293
  'Page For Posts ID' => glsr(OptionManager::class)->getWP('page_for_posts'),
294
  'Page On Front ID' => glsr(OptionManager::class)->getWP('page_on_front'),
295
  'Permalink Structure' => Arr::get($wordpress, 'permalink'),
296
+ // @phpstan-ignore-next-line
297
  'Post Stati' => implode(', ', get_post_stati()),
298
  'Remote Post' => glsr(Cache::class)->getRemotePostTest(),
299
  'SCRIPT_DEBUG' => Arr::get($constants, 'SCRIPT_DEBUG'),
plugin/Overrides/ReviewsListTable.php CHANGED
@@ -64,7 +64,7 @@ class ReviewsListTable extends \WP_Posts_List_Table
64
  'name' => 'post_author',
65
  'show' => 'display_name_with_login',
66
  'show_option_none' => '&mdash; '._x('No Change', 'admin-text', 'site-reviews').' &mdash;',
67
- 'who' => 'authors',
68
  ];
69
  $args = apply_filters('quick_edit_dropdown_authors_args', $args, $bool = true); // @since WP 5.6.0
70
  return wp_dropdown_users($args);
64
  'name' => 'post_author',
65
  'show' => 'display_name_with_login',
66
  'show_option_none' => '&mdash; '._x('No Change', 'admin-text', 'site-reviews').' &mdash;',
67
+ 'who' => 'authors', // @todo this may be deprecated in WP 5.9
68
  ];
69
  $args = apply_filters('quick_edit_dropdown_authors_args', $args, $bool = true); // @since WP 5.6.0
70
  return wp_dropdown_users($args);
plugin/Review.php CHANGED
@@ -112,7 +112,7 @@ class Review extends Arguments
112
  public function assignedPosts()
113
  {
114
  if (empty($this->assigned_posts)) {
115
- return $this->assigned_posts;
116
  }
117
  return get_posts([
118
  'post__in' => $this->assigned_posts,
@@ -127,7 +127,7 @@ class Review extends Arguments
127
  public function assignedTerms()
128
  {
129
  if (empty($this->assigned_terms)) {
130
- return $this->assigned_terms;
131
  }
132
  $terms = get_terms(glsr()->taxonomy, ['include' => $this->assigned_terms]);
133
  if (is_wp_error($terms)) {
@@ -142,7 +142,7 @@ class Review extends Arguments
142
  public function assignedUsers()
143
  {
144
  if (empty($this->assigned_users)) {
145
- return $this->assigned_users;
146
  }
147
  return get_users([
148
  'fields' => ['display_name', 'ID', 'user_email', 'user_nicename', 'user_url'],
@@ -155,7 +155,7 @@ class Review extends Arguments
155
  */
156
  public function author()
157
  {
158
- return Text::name($this->get('author'));
159
  }
160
 
161
  /**
@@ -246,7 +246,7 @@ class Review extends Arguments
246
  $meta = array_map(function ($item) {
247
  return array_shift($item);
248
  }, array_filter($meta));
249
- $meta = array_filter($meta, 'strlen');
250
  $meta = array_map('maybe_unserialize', $meta);
251
  $this->_meta = glsr()->args($meta);
252
  }
@@ -257,6 +257,7 @@ class Review extends Arguments
257
  * @param mixed $key
258
  * @return bool
259
  */
 
260
  public function offsetExists($key)
261
  {
262
  return parent::offsetExists($key) || !is_null($this->custom()->$key);
@@ -266,6 +267,7 @@ class Review extends Arguments
266
  * @param mixed $key
267
  * @return mixed
268
  */
 
269
  public function offsetGet($key)
270
  {
271
  $alternateKeys = [
@@ -292,6 +294,7 @@ class Review extends Arguments
292
  * @param mixed $key
293
  * @return void
294
  */
 
295
  public function offsetSet($key, $value)
296
  {
297
  // This class is read-only, except for custom fields
@@ -308,6 +311,7 @@ class Review extends Arguments
308
  * @param mixed $key
309
  * @return void
310
  */
 
311
  public function offsetUnset($key)
312
  {
313
  // This class is read-only
112
  public function assignedPosts()
113
  {
114
  if (empty($this->assigned_posts)) {
115
+ return [];
116
  }
117
  return get_posts([
118
  'post__in' => $this->assigned_posts,
127
  public function assignedTerms()
128
  {
129
  if (empty($this->assigned_terms)) {
130
+ return [];
131
  }
132
  $terms = get_terms(glsr()->taxonomy, ['include' => $this->assigned_terms]);
133
  if (is_wp_error($terms)) {
142
  public function assignedUsers()
143
  {
144
  if (empty($this->assigned_users)) {
145
+ return [];
146
  }
147
  return get_users([
148
  'fields' => ['display_name', 'ID', 'user_email', 'user_nicename', 'user_url'],
155
  */
156
  public function author()
157
  {
158
+ return Text::name($this->get('author', __('Anonymous', 'site-reviews')));
159
  }
160
 
161
  /**
246
  $meta = array_map(function ($item) {
247
  return array_shift($item);
248
  }, array_filter($meta));
249
+ $meta = array_filter($meta, '\GeminiLabs\SiteReviews\Helper::isNotEmpty');
250
  $meta = array_map('maybe_unserialize', $meta);
251
  $this->_meta = glsr()->args($meta);
252
  }
257
  * @param mixed $key
258
  * @return bool
259
  */
260
+ #[\ReturnTypeWillChange]
261
  public function offsetExists($key)
262
  {
263
  return parent::offsetExists($key) || !is_null($this->custom()->$key);
267
  * @param mixed $key
268
  * @return mixed
269
  */
270
+ #[\ReturnTypeWillChange]
271
  public function offsetGet($key)
272
  {
273
  $alternateKeys = [
294
  * @param mixed $key
295
  * @return void
296
  */
297
+ #[\ReturnTypeWillChange]
298
  public function offsetSet($key, $value)
299
  {
300
  // This class is read-only, except for custom fields
311
  * @param mixed $key
312
  * @return void
313
  */
314
+ #[\ReturnTypeWillChange]
315
  public function offsetUnset($key)
316
  {
317
  // This class is read-only
plugin/Reviews.php CHANGED
@@ -2,12 +2,11 @@
2
 
3
  namespace GeminiLabs\SiteReviews;
4
 
5
- use ArrayObject;
6
  use GeminiLabs\SiteReviews\Defaults\SiteReviewsDefaults;
7
  use GeminiLabs\SiteReviews\Helpers\Cast;
8
  use GeminiLabs\SiteReviews\Modules\Html\ReviewsHtml;
9
 
10
- class Reviews extends ArrayObject
11
  {
12
  /**
13
  * @var array
@@ -35,7 +34,7 @@ class Reviews extends ArrayObject
35
  $this->max_num_pages = Cast::toInt(ceil($total / $this->args['display']));
36
  $this->reviews = $reviews;
37
  $this->total = $total;
38
- parent::__construct($this->reviews, ArrayObject::STD_PROP_LIST | ArrayObject::ARRAY_AS_PROPS);
39
  }
40
 
41
  /**
@@ -58,6 +57,7 @@ class Reviews extends ArrayObject
58
  * @param mixed $key
59
  * @return mixed
60
  */
 
61
  public function offsetGet($key)
62
  {
63
  if (array_key_exists($key, $this->reviews)) {
2
 
3
  namespace GeminiLabs\SiteReviews;
4
 
 
5
  use GeminiLabs\SiteReviews\Defaults\SiteReviewsDefaults;
6
  use GeminiLabs\SiteReviews\Helpers\Cast;
7
  use GeminiLabs\SiteReviews\Modules\Html\ReviewsHtml;
8
 
9
+ class Reviews extends \ArrayObject
10
  {
11
  /**
12
  * @var array
34
  $this->max_num_pages = Cast::toInt(ceil($total / $this->args['display']));
35
  $this->reviews = $reviews;
36
  $this->total = $total;
37
+ parent::__construct($this->reviews, \ArrayObject::STD_PROP_LIST | \ArrayObject::ARRAY_AS_PROPS);
38
  }
39
 
40
  /**
57
  * @param mixed $key
58
  * @return mixed
59
  */
60
+ #[\ReturnTypeWillChange]
61
  public function offsetGet($key)
62
  {
63
  if (array_key_exists($key, $this->reviews)) {
plugin/Router.php CHANGED
@@ -11,18 +11,44 @@ class Router
11
  /**
12
  * @var array
13
  */
14
- protected $unguardedActions;
 
 
 
 
 
15
 
16
  public function __construct()
17
  {
18
- $this->unguardedActions = glsr()->filterArray('router/unguarded-actions', [
19
  'dismiss-notice',
 
 
20
  'fetch-paged-reviews',
21
- 'search-posts',
22
- 'search-users',
23
  ]);
24
  }
25
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
  /**
27
  * @return void
28
  */
@@ -30,7 +56,7 @@ class Router
30
  {
31
  $request = $this->getRequest();
32
  if ($this->isValidPostRequest($request)) {
33
- check_admin_referer($request->_action);
34
  $this->routeRequest('admin', $request);
35
  }
36
  }
@@ -38,11 +64,13 @@ class Router
38
  /**
39
  * @return void
40
  */
41
- public function routeAjaxRequest()
42
  {
43
  $request = $this->getRequest();
44
  $this->checkAjaxRequest($request);
45
- $this->checkAjaxNonce($request);
 
 
46
  $this->routeRequest('ajax', $request);
47
  wp_die();
48
  }
@@ -66,14 +94,11 @@ class Router
66
  */
67
  protected function checkAjaxNonce(Request $request)
68
  {
69
- if (!is_user_logged_in() || in_array($request->_action, $this->unguardedActions)) {
70
- return;
71
- }
72
  if (empty($request->_nonce)) {
73
- $this->sendAjaxError('request is missing a nonce', $request);
74
  }
75
  if (!wp_verify_nonce($request->_nonce, $request->_action)) {
76
- $this->sendAjaxError('request failed the nonce check', $request, 403);
77
  }
78
  }
79
 
@@ -83,10 +108,10 @@ class Router
83
  protected function checkAjaxRequest(Request $request)
84
  {
85
  if (empty($request->_action)) {
86
- $this->sendAjaxError('request must include an action', $request);
87
  }
88
  if (empty($request->_ajax_request)) {
89
- $this->sendAjaxError('request is invalid', $request);
90
  }
91
  }
92
 
@@ -120,6 +145,8 @@ class Router
120
  */
121
  protected function isValidPublicNonce(Request $request)
122
  {
 
 
123
  if (is_user_logged_in() && !wp_verify_nonce($request->_nonce, $request->_action)) {
124
  glsr_log()->error('nonce check failed for public request')->debug($request);
125
  return false;
@@ -144,18 +171,26 @@ class Router
144
 
145
  /**
146
  * @param string $error
147
- * @param int $statusCode
 
148
  * @return void
149
  */
150
- protected function sendAjaxError($error, Request $request, $statusCode = 400)
151
  {
152
  glsr_log()->error($error)->debug($request);
153
- glsr(Notice::class)->addError(_x('There was an error (try reloading the page).', 'admin-text', 'site-reviews').' <code>'.$error.'</code>');
 
 
 
 
 
 
 
154
  wp_send_json_error([
155
- 'code' => $statusCode,
156
- 'message' => __('The form could not be submitted. Please notify the site administrator.', 'site-reviews'),
157
- 'notices' => glsr(Notice::class)->get(),
158
  'error' => $error,
 
 
159
  ]);
160
  }
161
  }
11
  /**
12
  * @var array
13
  */
14
+ protected $unguardedAdminActions;
15
+
16
+ /**
17
+ * @var array
18
+ */
19
+ protected $unguardedPublicActions;
20
 
21
  public function __construct()
22
  {
23
+ $this->unguardedAdminActions = glsr()->filterArray('router/admin/unguarded-actions', [
24
  'dismiss-notice',
25
+ ]);
26
+ $this->unguardedPublicActions = glsr()->filterArray('router/public/unguarded-actions', [
27
  'fetch-paged-reviews',
28
+ 'submit-review',
 
29
  ]);
30
  }
31
 
32
+ /**
33
+ * @return void
34
+ */
35
+ public function routeAdminAjaxRequest()
36
+ {
37
+ $request = $this->getRequest();
38
+ $this->checkAjaxRequest($request);
39
+ if (glsr()->isAdmin()) { // if viewing a WP admin page
40
+ if (!in_array($request->_action, $this->unguardedAdminActions)) {
41
+ $this->checkAjaxNonce($request);
42
+ }
43
+ } else {
44
+ if (!in_array($request->_action, $this->unguardedPublicActions)) {
45
+ $this->checkAjaxNonce($request);
46
+ }
47
+ }
48
+ $this->routeRequest('ajax', $request);
49
+ wp_die();
50
+ }
51
+
52
  /**
53
  * @return void
54
  */
56
  {
57
  $request = $this->getRequest();
58
  if ($this->isValidPostRequest($request)) {
59
+ check_admin_referer($request->_action); // die() called if nonce is invalid
60
  $this->routeRequest('admin', $request);
61
  }
62
  }
64
  /**
65
  * @return void
66
  */
67
+ public function routePublicAjaxRequest()
68
  {
69
  $request = $this->getRequest();
70
  $this->checkAjaxRequest($request);
71
+ if (!in_array($request->_action, $this->unguardedPublicActions)) {
72
+ $this->checkAjaxNonce($request);
73
+ }
74
  $this->routeRequest('ajax', $request);
75
  wp_die();
76
  }
94
  */
95
  protected function checkAjaxNonce(Request $request)
96
  {
 
 
 
97
  if (empty($request->_nonce)) {
98
+ $this->sendAjaxError('AJAX request is missing a nonce', $request, 400, 'Unauthorized request');
99
  }
100
  if (!wp_verify_nonce($request->_nonce, $request->_action)) {
101
+ $this->sendAjaxError('AJAX request failed the nonce check', $request, 403, 'Unauthorized request');
102
  }
103
  }
104
 
108
  protected function checkAjaxRequest(Request $request)
109
  {
110
  if (empty($request->_action)) {
111
+ $this->sendAjaxError('AJAX request must include an action', $request, 400, 'Invalid request');
112
  }
113
  if (empty($request->_ajax_request)) {
114
+ $this->sendAjaxError('AJAX request is invalid', $request, 400, 'Invalid request');
115
  }
116
  }
117
 
145
  */
146
  protected function isValidPublicNonce(Request $request)
147
  {
148
+ // only require a nonce for public requests if user is logged in, this avoids
149
+ // potential caching issues since unauthenticated requests should never be destructive.
150
  if (is_user_logged_in() && !wp_verify_nonce($request->_nonce, $request->_action)) {
151
  glsr_log()->error('nonce check failed for public request')->debug($request);
152
  return false;
171
 
172
  /**
173
  * @param string $error
174
+ * @param int $code
175
+ * @param string $message
176
  * @return void
177
  */
178
+ protected function sendAjaxError($error, Request $request, $code = 400, $message = '')
179
  {
180
  glsr_log()->error($error)->debug($request);
181
+ $notices = '';
182
+ if (glsr()->isAdmin()) {
183
+ glsr(Notice::class)->addError(_x('There was an error (try reloading the page).', 'admin-text', 'site-reviews').' <code>'.$error.'</code>');
184
+ $notices = glsr(Notice::class)->get();
185
+ }
186
+ if ('submit-review' === $request->_action) {
187
+ $message = __('The form could not be submitted. Please notify the site administrator.', 'site-reviews');
188
+ }
189
  wp_send_json_error([
190
+ 'code' => $code,
 
 
191
  'error' => $error,
192
+ 'message' => $message ?: $error,
193
+ 'notices' => $notices,
194
  ]);
195
  }
196
  }
readme.txt CHANGED
@@ -5,7 +5,7 @@ Tags: reviews, ratings, testimonials, woocommerce, product reviews, business rev
5
  Tested up to: 5.8
6
  Requires at least: 5.5
7
  Requires PHP: 5.6
8
- Stable tag: 5.19.0
9
  License: GPLv3
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -140,6 +140,25 @@ All documentation can be found in the "Help" page of the plugin. If your questio
140
 
141
  ## Changelog
142
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
143
  = 5.19.0 (2021-12-30) =
144
 
145
  - Added `author_id` column to "Import Third Party Reviews" tool
5
  Tested up to: 5.8
6
  Requires at least: 5.5
7
  Requires PHP: 5.6
8
+ Stable tag: 5.20.0
9
  License: GPLv3
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
11
 
140
 
141
  ## Changelog
142
 
143
+ = 5.20.0 (2022-01-26) =
144
+
145
+ - Added an "Author" filter to the All Reviews table
146
+ - Added hooks to override custom field sanitizers (for the Review Forms add-on)
147
+ - Added Twenty Twenty-Two plugin style
148
+ - Fixed a security issue with AJAX requests @patchstackapp
149
+ - Fixed compatibility with Object Caching plugins (i.e. Docket Cache)
150
+ - Fixed compatibility with review pagination and the Review Images add-on lightbox
151
+ - Fixed schema in review snippets when reviews have an anonymous author
152
+ - Fixed the category filter visibility in the All Reviews table
153
+ - Fixed the status option in the glsr_get_reviews() function, it will no longer return trashed reviews
154
+ - Fixed the updater for inactive add-ons
155
+ - Updated the polyfill.io script version
156
+
157
+ = 5.19.1 (2022-01-08) =
158
+
159
+ - Added loading spinner when changing review status on the All Reviews page
160
+ - Fixed the default Schema title and description on archive pages, it will now use the archive title and description if one exists.
161
+
162
  = 5.19.0 (2021-12-30) =
163
 
164
  - Added `author_id` column to "Import Third Party Reviews" tool
site-reviews.php CHANGED
@@ -7,7 +7,7 @@
7
  * Plugin Name: Site Reviews
8
  * Plugin URI: https://wordpress.org/plugins/site-reviews
9
  * Description: Receive and display reviews on your website
10
- * Version: 5.19.0
11
  * Author: Paul Ryley
12
  * Author URI: https://geminilabs.io
13
  * License: GPL2
7
  * Plugin Name: Site Reviews
8
  * Plugin URI: https://wordpress.org/plugins/site-reviews
9
  * Description: Receive and display reviews on your website
10
+ * Version: 5.20.0
11
  * Author: Paul Ryley
12
  * Author URI: https://geminilabs.io
13
  * License: GPL2
views/pages/settings/translations.php CHANGED
@@ -9,9 +9,8 @@
9
  </div>
10
 
11
  <p>
12
- <?= _x('Here you can customise any text of the plugin that is shown on the frontend of your website, including the field labels and placeholders of the review form.', 'admin-text', 'site-reviews'); ?>
13
  <?= _x('If you are using the Polylang plugin, any custom text you enter here will be translatable on the Polylang "Strings translations" page.', 'admin-text', 'site-reviews'); ?>
14
-
15
  </p>
16
 
17
  <div class="glsr-strings-form">
9
  </div>
10
 
11
  <p>
12
+ <?= _x('Here you can customise any English text of the plugin that is shown on the frontend of your website, including the field labels and placeholders of the review form.', 'admin-text', 'site-reviews'); ?>
13
  <?= _x('If you are using the Polylang plugin, any custom text you enter here will be translatable on the Polylang "Strings translations" page.', 'admin-text', 'site-reviews'); ?>
 
14
  </p>
15
 
16
  <div class="glsr-strings-form">
views/pages/welcome/upgrade/v500.php CHANGED
@@ -1,4 +1,4 @@
1
- <div class="glsr-card postbox is-fullwidth open">
2
  <h3 class="glsr-card-heading">
3
  <button type="button" class="glsr-accordion-trigger" aria-expanded="false" aria-controls="upgrade-v5_0_0">
4
  <span class="title">Version 5.0.0</span>
1
+ <div class="glsr-card postbox is-fullwidth">
2
  <h3 class="glsr-card-heading">
3
  <button type="button" class="glsr-accordion-trigger" aria-expanded="false" aria-controls="upgrade-v5_0_0">
4
  <span class="title">Version 5.0.0</span>
views/pages/welcome/whatsnew.php CHANGED
@@ -4,6 +4,7 @@
4
  <div class="is-fullwidth">
5
  <div class="glsr-flex-row">
6
  <div class="glsr-column">
 
7
  <?php include trailingslashit(__DIR__).'whatsnew/v519.php'; ?>
8
  <?php include trailingslashit(__DIR__).'whatsnew/v518.php'; ?>
9
  <?php include trailingslashit(__DIR__).'whatsnew/v517.php'; ?>
4
  <div class="is-fullwidth">
5
  <div class="glsr-flex-row">
6
  <div class="glsr-column">
7
+ <?php include trailingslashit(__DIR__).'whatsnew/v520.php'; ?>
8
  <?php include trailingslashit(__DIR__).'whatsnew/v519.php'; ?>
9
  <?php include trailingslashit(__DIR__).'whatsnew/v518.php'; ?>
10
  <?php include trailingslashit(__DIR__).'whatsnew/v517.php'; ?>
views/pages/welcome/whatsnew/v519.php CHANGED
@@ -1,6 +1,6 @@
1
- <div class="glsr-card postbox is-fullwidth open">
2
  <h3 class="glsr-card-heading">
3
- <button type="button" class="glsr-accordion-trigger" aria-expanded="true" aria-controls="welcome-v5_19_0">
4
  <span class="title">Version 5.19</span>
5
  <span class="icon"></span>
6
  </button>
1
+ <div class="glsr-card postbox is-fullwidth">
2
  <h3 class="glsr-card-heading">
3
+ <button type="button" class="glsr-accordion-trigger" aria-expanded="false" aria-controls="welcome-v5_19_0">
4
  <span class="title">Version 5.19</span>
5
  <span class="icon"></span>
6
  </button>
views/pages/welcome/whatsnew/v520.php ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="glsr-card postbox is-fullwidth open">
2
+ <h3 class="glsr-card-heading">
3
+ <button type="button" class="glsr-accordion-trigger" aria-expanded="true" aria-controls="welcome-v5_20_0">
4
+ <span class="title">Version 5.20</span>
5
+ <span class="icon"></span>
6
+ </button>
7
+ </h3>
8
+ <div id="welcome-v5_20_0" class="inside">
9
+ <p><em>Initial Release Date &mdash; January 26th, 2022</em></p>
10
+ <h4>✨ New Features</h4>
11
+ <ul>
12
+ <li>Added a loading indicator when changing review status on the All Reviews page</li>
13
+ <li>Added an "Author" filter to the All Reviews table</li>
14
+ <li>Added hooks to override custom field sanitizers (for the <a href="https://niftyplugins.com/plugins/site-reviews-forms/" target="_blank">Review Forms</a> add-on)</li>
15
+ <li>Added schema support for archive pages, it will now use the archive title and description if they exist</li>
16
+ <li>Added Twenty Twenty-Two plugin style</li>
17
+ </ul>
18
+ <h4>🛠 Tweaks</h4>
19
+ <ul>
20
+ <li>Updated the polyfill.io script version</li>
21
+ </ul>
22
+ <h4>🐞 Bugs Fixed</h4>
23
+ <ul>
24
+ <li>Fixed a security issue with AJAX requests @patchstackapp</li>
25
+ <li>Fixed compatibility with Object Caching plugins (i.e. Docket Cache)</li>
26
+ <li>Fixed compatibility with review pagination and the <a href="https://niftyplugins.com/plugins/site-reviews-images/" target="_blank">Review Images</a> add-on lightbox</li>
27
+ <li>Fixed schema in review snippets when reviews have an anonymous author</li>
28
+ <li>Fixed the category filter visibility in the All Reviews table</li>
29
+ <li>Fixed the status option in the <a data-expand="#fn-glsr_get_reviews" href="<?= glsr_admin_url('documentation', 'functions'); ?>">glsr_get_reviews</a> function, it will no longer return trashed reviews</li>
30
+ <li>Fixed the updater for inactive add-ons</li>
31
+ </ul>
32
+ </div>
33
+ </div>