CINXE.COM
Guidelines for Safely Practicing Counterspeech - Online Harassment Field Manual
<!DOCTYPE html> <html lang="en-US" class="wpex-color-scheme-default"> <head> <meta charset="UTF-8"><script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"594355002",accountID:"3544943",trustKey:"66686",xpid:"VwMDVV9XCxAFVlVUBwkGV1I=",licenseKey:"NRJS-3e6ff61feaae3967716",applicationID:"524608116"};;/*! For license information please see nr-loader-spa-1.274.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>h,gD:()=>g,xN:()=>p});var n=r(993);const i=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var o=r(2614),a=r(944),s=r(384),c=r(8122);const u="[data-nr-mask]",d=()=>{const e={mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},feature_flags:[],generic_events:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},harvest:{tooManyRequestsDelay:60},jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},logging:{enabled:!0,harvestTimeSeconds:10,autoStart:!0,level:n.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){i(t)?e.mask_selector="".concat(t,",").concat(u):""===t||null===t?e.mask_selector=u:(0,a.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){i(t)?e.block_selector+=",".concat(t):""!==t&&(0,a.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,a.R)(7,t)}},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},soft_navigations:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},ssl:void 0,user_actions:{enabled:!0}}},l={},f="All configuration objects require an agent identifier!";function h(e){if(!e)throw new Error(f);if(!l[e])throw new Error("Configuration for ".concat(e," was never set"));return l[e]}function p(e,t){if(!e)throw new Error(f);l[e]=(0,c.a)(t,d());const r=(0,s.nY)(e);r&&(r.init=l[e])}function g(e,t){if(!e)throw new Error(f);var r=h(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=>{"use strict";r.d(t,{a:()=>c,o:()=>s});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!a[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.loader_config=a[e])}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,Yq:()=>a,xv:()=>n});const n="1.274.0",i="PROD",o="CDN",a="^2.0.0-alpha.17"},6154:(e,t,r)=>{"use strict";r.d(t,{A4:()=>s,OF:()=>d,RI:()=>i,WN:()=>h,bv:()=>o,gm:()=>a,lR:()=>f,m:()=>u,mw:()=>c,sb:()=>l});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s="complete"===a?.document?.readyState,c=Boolean("hidden"===a?.document?.visibilityState),u=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),l=d&&"undefined"==typeof SharedWorker,f=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),h=Date.now()-(0,n.t)()},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>o});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];if("*"===r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let o,a;i>0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a="");let[s]=o.split(":");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),h(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=h(n),c=g(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=v()[s[e]];p&&p.push([f,e,r,a]);return a},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,ZF:()=>c,bz:()=>a,el:()=>u});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},7485:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u="addEventListener",d="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],"-",p)}function p(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,f),h(a.gm,f),h(c.prototype,f)),t.on(u+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,o.I)(n,l,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(d+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,Zp:()=>i,mq:()=>s,nf:()=>a,qN:()=>o});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],o=["focus","blur"],a=4,s=1e3},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,TZ:()=>a,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log",a=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>u});var n=r(9908),i=r(1863),o=r(860),a=r(3969),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>d,G4:()=>o,Qb:()=>l,TZ:()=>i,Ug:()=>a,_s:()=>s,bc:()=>u,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},u={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},d=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>c,CT:()=>u,SR:()=>s});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO&&(0,o.V)(e)&&!0===(0,i.gD)(e,"session_trace.enabled")}function c(e){return!0===(0,i.gD)(e,"session_replay.preload")&&s(e)}function u(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>s,Lc:()=>u,Rz:()=>d,TZ:()=>n,bD:()=>o,d3:()=>a,jx:()=>l,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState",l=1e3},3962:(e,t,r)=>{"use strict";r.d(t,{AM:()=>o,O2:()=>s,Qu:()=>c,TZ:()=>a,ih:()=>u,tC:()=>i});var n=r(860);const i=["click","keydown","submit"],o="api",a=n.K7.softNav,s={INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},c={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},u={IP:"in progress",FIN:"finished",CAN:"cancelled"}},7378:(e,t,r)=>{"use strict";r.d(t,{$p:()=>x,BR:()=>b,Kp:()=>R,L3:()=>y,Lc:()=>c,NC:()=>o,SG:()=>d,TZ:()=>i,U6:()=>p,UT:()=>m,d3:()=>w,dT:()=>f,e5:()=>A,gx:()=>v,l9:()=>l,oW:()=>h,op:()=>g,rw:()=>u,tH:()=>E,uP:()=>s,wW:()=>T,xq:()=>a});var n=r(384);const i=r(860).K7.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",l="remaining",f="interaction",h="spaNode",p="jsonpNode",g="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=(0,n.dV)().o.ST,w="-start",R="-end",x="-body",T="cb"+R,A="jsTime",E="fetch"},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>o});var n=r(9417),i=r(6154);const o=e=>i.RI&&!0===(0,n.gD)(e,"privacy.cookies_enabled")},425:(e,t,r)=>{"use strict";r.d(t,{j:()=>j});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),h=r(384),p=r(6344);const g=["setErrorHandler","finished","addToTrace","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],m=["setErrorHandler","finished","addToTrace","addRelease"];var v=r(1863),b=r(2614),y=r(993),w=r(3785),R=r(2646),x=r(3434);function T(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,x.YM)(i),a=new R.y(s.P);return a.level=n.level,a.customAttributes=n.customAttributes,o.inPlace(t,[r],"wrap-logger-",a),i}function A(){const e=(0,h.pV)();g.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const E={};var S=r(9417),N=r(5603),O=r(5284);const _=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let I=!1;function j(e,t={},g,R){let{init:x,info:j,loader_config:P,runtime:C={},exposed:k=!0}=t;C.loaderType=g;const L=(0,h.pV)();j||(x=L.init,j=L.info,P=L.loader_config),(0,S.xN)(e.agentIdentifier,x||{}),(0,N.a)(e.agentIdentifier,P||{}),j.jsAttributes??={},d.bv&&(j.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,j);const H=(0,S.D0)(e.agentIdentifier),D=[j.beacon,j.errorBeacon];I||(H.proxy.assets&&(_(H.proxy.assets),D.push(H.proxy.assets)),H.proxy.beacon&&D.push(H.proxy.beacon),A(),(0,h.US)("activatedFeatures",O.B),e.runSoftNavOverSpa&&=!0===H.soft_navigations.enabled&&H.feature_flags.includes("soft_nav")),C.denyList=[...H.ajax.deny_list||[],...H.ajax.block_internal?D:[]],C.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=function(e,t,h=!1){t||(0,c.Ak)(e,"api");const g={};var R=s.ee.get(e),x=R.get("tracer");E[e]=b.g.OFF,R.on(p.G4.REPLAY_RUNNING,(t=>{E[e]=t}));var A="api-",S=A+"ixn-";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),I(A,n,!0,o||null===r?"session":void 0)(t,r)}function O(){}g.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,R),(0,w.R)(R,e,t,r)},g.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,R),T(R,e,t,{customAttributes:r,level:i})},m.forEach((e=>{g[e]=I(A,e,!0,"api")})),g.addPageAction=I(A,"addPageAction",!0,n.K7.genericEvents),g.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,I(A,"setPageViewName",!0)()},g.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return N(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},g.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},g.setApplicationVersion=function(e){if("string"==typeof e||null===e)return N("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},g.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,R),R.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},g[p.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,R)},g[p.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,R)},g.interaction=function(e){return(new O).get("object"==typeof e?e:{})};const _=O.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,R),h||(0,a.p)(S+"tracer",[(0,v.t)(),e,r],i,n.K7.spa,R),function(){if(x.emit((o?"":"no-")+"fn-start",[(0,v.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw x.emit("fn-err",[arguments,this,t],r),t}finally{x.emit("fn-end",[(0,v.t)()],r)}}}};function I(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,R),i&&(0,a.p)(e+t,[(0,v.t)(),...arguments],r?null:this,i,R),r?void 0:this}}function j(){r.e(478).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),R.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{_[e]=I(S,e,void 0,h?n.K7.softNav:n.K7.spa)})),g.setCurrentRouteName=h?I(S,"routeName",void 0,n.K7.softNav):I(A,"routeName",!0,n.K7.spa),g.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,R),(0,a.p)("err",[t,(0,v.t)(),!1,r,!!E[e]],void 0,n.K7.jserrors,R)},d.RI?(0,u.GG)((()=>j()),!0):j(),g}(e.agentIdentifier,R,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),I=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>o,K7:()=>n,P3:()=>i});const n={ajax:"ajax",genericEvents:"generic_events",jserrors:"jserrors",logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.spa]:5,[n.ajax]:6,[n.sessionTrace]:7,[n.softNav]:8,[n.sessionReplay]:9,[n.logging]:10,[n.genericEvents]:11},o={[n.pageViewTiming]:"events",[n.ajax]:"events",[n.spa]:"events",[n.softNav]:"events",[n.metrics]:"jserrors",[n.jserrors]:"jserrors",[n.sessionTrace]:"browser/blobs",[n.sessionReplay]:"browser/blobs",[n.logging]:"browser/logs",[n.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({212:"nr-spa-compressor",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.274.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.274.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={478:"sha512-1vUqEfJPB8Pihje9mv5CfYgkitO1FWcS+UQb84DbXqP8oYctRv4/lzl/MzNLPlRhcY1WVDBGL20I8vm6s2VV7g==",249:"sha512-Y/BeZAh6VSTmUtUNmS5XdyKxL92s30Fyyj8xVW76HSPxcKItL4+x2+kGMZc8pMJnUpZDz1L4eftZQAJh3D8NnA==",212:"sha512-Gn2tQ3qog5Yhrx/gRutkSTYPp+7nkKFt4/mIXg99LxcNpMDAYJZDBYmAACdoHNM86+iq1F3cBcQotFNzjIX8bw=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={38:0,788:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.274.0.PROD"]=self["webpackChunk:NRBA-1.274.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(e=(0,r.LA)(16)){this.agentIdentifier=e}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(425);var l=i(1687),f=i(4234),h=i(5289),p=i(6154),g=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,v.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(478).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(t.sharedAggregator)await t.sharedAggregator;else{t.sharedAggregator=i.e(478).then(i.bind(i,9337));const{EventAggregator:e}=await t.sharedAggregator;t.sharedAggregator=new e}if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(478).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,h.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,g.SR)(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class w extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var R=i(384);var x=i(9908),T=i(2843),A=i(3878),E=i(782),S=i(1863);class N extends b{static featureName=E.T;constructor(e,t=!0){super(e,E.T,t),p.RI&&((0,T.u)((()=>(0,x.p)("docHidden",[(0,S.t)()],void 0,E.T,this.ee)),!0),(0,A.sp)("pagehide",(()=>(0,x.p)("winPagehide",[(0,S.t)()],void 0,E.T,this.ee))),this.importAggregator(e))}}var O=i(3969);class _ extends b{static featureName=O.TZ;constructor(e,t=!0){super(e,O.TZ,t),this.importAggregator(e)}}var I=i(6774),j=i(3304);class P{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,j.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return H(e)?e:new P(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t="Unhandled Promise Rejection";if(!e?.reason)return;if(H(e.reason))try{return e.reason.message=t+": "+e.reason.message,C(e.reason)}catch(t){return C(e.reason)}const r=C(e.reason);return r.message=t+": "+r?.message,r}function L(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new P(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return H(e.error)?e.error:C(e)}function H(e){return e instanceof Error&&!!e.stack}class D extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(e=>{this.abortHandler&&(0,x.p)("ierr",[C(e),(0,S.t)(),!0,{},this.#r],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.#r=e})),p.gm.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,x.p)("err",[k(e),(0,S.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),p.gm.addEventListener("error",(e=>{this.abortHandler&&(0,x.p)("err",[L(e),(0,S.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var M=i(8990);let K=1;const U="nr@id";function V(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===p.gm?0:(0,M.I)(e,U,(function(){return K++}))}function G(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,j.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=["open","send"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get("xhr")}(r);if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=p.gm.XMLHttpRequest,a=p.gm.MutationObserver,s=p.gm.Promise,c=p.gm.setInterval,u="readystatechange",d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],f=p.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit("new-xhr",[r],a),r.addEventListener(u,(s=a,function(){var e=this;e.readyState>3&&!s.resolved&&(s.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,d,"fn-",y)}),(0,A.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit("internal-error",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,["onreadystatechange"],"fn-",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,"-xhr-",y),n.on("send-xhr-start",(function(e,t){h(e,t),function(e){l.push(e),a&&(g?g.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on("open-xhr-start",h),a){var g=s&&s.resolve();if(!c&&!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on("fn-end",(function(e){e[0]&&e[0].type===u||b()}));function b(){for(var e=0;e<l.length;e++)h(0,l[e]);l.length&&(l=[])}function y(e,t){return t}return n}var Y="fetch-",X=Y+"body-",J=["arrayBuffer","blob","json","text","formData"],Q=p.gm.Request,ee=p.gm.Response,te="prototype";const re={};function ne(e){const t=function(e){return(e||B.ee).get("fetch")}(e);if(!(Q&&ee&&p.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[B.P]&&o[B.P].dt&&(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+"start",[r,e],a),a.then((function(e){return t.emit(n+"end",[null,e],a),e}),(function(e){throw t.emit(n+"end",[e],a),e}))})}return re[t.debugId]=1,J.forEach((e=>{r(Q[te],e,X),r(ee[te],e,X)})),r(p.gm,"fetch",Y),t.on(Y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(Y+"done",[null,r],n)}else t.emit(Y+"done",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof p.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,j.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,"distributed_tracing")&&(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=["load","error","abort","timeout"],de=ue.length,le=(0,R.dV)().o.REQ,fe=(0,R.dV)().o.XHR;class he extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=>(0,x.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};p.gm?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};pe(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=R,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){T(t,e)}),(0,A.jT)(!1)),p.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,A.jT)(!1))}function o(e){this.params={method:e[0]},pe(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader&&(r.setRequestHeader("newrelic",i.newrelicHeader),o=!0),i.traceContextParentHeader&&(r.setRequestHeader("traceparent",i.traceContextParentHeader),i.traceContextStateHeader&&r.setRequestHeader("tracestate",i.traceContextStateHeader),o=!0),o&&(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=G(i);a&&(n.txSize=a)}this.startTime=(0,S.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<de;s++)r.addEventListener(ue[s],this.listener,(0,A.jT)(!1))}function u(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function d(e,t){var r=""+V(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=""+V(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,S.t)()}function h(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function g(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,S.t)()))}function v(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,S.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&p.RI&&(t=""+p.gm.location.href):e[0]&&e[0].url?t=e[0].url:p.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function y(e,t){this.params={},this.metrics={},this.startTime=(0,S.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof le?r=i.url:p.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),pe(this,r);var o=(""+(i&&i instanceof le&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function w(e,t){if(this.endTime=(0,S.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,S.t)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,a.K7.ajax)}function R(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<de;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,S.t)()-this.startTime,this.loadCazptureCalled||4!==e.readyState?null==t.status&&(t.status=0):T(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function T(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?G(e.response):"text"===r||""===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader("X-NewRelic-App-Data");i&&((0,x.p)(O.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,a.K7.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",o),t.on("open-xhr-end",s),t.on("send-xhr-start",c),t.on("xhr-cb-time",u),t.on("xhr-load-added",d),t.on("xhr-load-removed",l),t.on("xhr-resolved",f),t.on("addEventListener-end",h),t.on("removeEventListener-end",g),t.on("fn-end",v),t.on("fetch-before-start",b),t.on("fetch-start",y),t.on("fn-start",m),t.on("fetch-done",w)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function pe(e,t){var r=(0,ie.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const ge={},me=["pushState","replaceState"];function ve(e){const t=function(e){return(e||B.ee).get("history")}(e);return!p.RI||ge[t.debugId]++||(ge[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,me,"-")),t}var be=i(3738);const{He:ye,bD:we,d3:Re,Kp:xe,TZ:Te,Lc:Ae,uP:Ee,Rz:Se}=be;class Ne extends b{static featureName=Te;constructor(e,t=!0){super(e,Te,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;ve(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Ee,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Ae,(function(e,t){(0,x.p)("bst",[e[0],t,this.bstStart,(0,S.t)()],void 0,a.K7.sessionTrace,r)})),r.on(Se+Re,(function(e){this.time=(0,S.t)(),this.startPath=location.pathname+location.hash})),r.on(Se+xe,(function(e){(0,x.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,x.p)(ye,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:we,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var Oe=i(2614);class _e extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem("".concat(Oe.H3,"_").concat(Oe.uh)))}catch(e){}(0,g.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()=>this.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,x.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#s(e){return e&&(e.sessionReplayMode===Oe.g.FULL||e.sessionReplayMode===Oe.g.ERROR)||(0,g.Aw)(this.agentIdentifier)}#u=!1;async#c(e){if(!this.#u){this.#u=!0;try{const{Recorder:t}=await Promise.all([i.e(478),i.e(249)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==Oe.g.FULL&&this.featAggregate.initializeRecording(Oe.g.FULL,!0):(this.#i=Oe.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==Oe.g.FULL&&(this.recorder.parent.mode=Oe.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3962);class je extends b{static featureName=Ie.TZ;constructor(e,t=!0){if(super(e,Ie.TZ,t),!p.RI||!(0,R.dV)().o.MO)return;const r=ve(this.ee);Ie.tC.forEach((e=>{(0,A.sp)(e,(e=>{a(e)}),!0)}));const n=()=>(0,x.p)("newURL",[(0,S.t)(),""+window.location],void 0,this.featureName,this.ee);r.on("pushState-end",n),r.on("replaceState-end",n);try{this.removeOnAbort=new AbortController}catch(e){}(0,A.sp)("popstate",(e=>(0,x.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let i=!1;const o=new((0,R.dV)().o.MO)(((e,t)=>{i||(i=!0,requestAnimationFrame((()=>{(0,x.p)("newDom",[(0,S.t)()],void 0,this.featureName,this.ee),i=!1})))})),a=(0,v.s)((e=>{(0,x.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}),100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,{domObserver:o})}}var Pe=i(7378);const Ce={},ke=["appendChild","insertBefore","replaceChild"];function Le(e){const t=function(e){return(e||B.ee).get("jsonp")}(e);if(!p.RI||Ce[t.debugId])return t;Ce[t.debugId]=!0;var r=(0,W.YM)(t),n=/[?&](?:callback|cb)=([^&#]+)/,i=/(.*)\.([^.]+)/,o=/^(\w+)(\.|$)(.*)$/;function a(e,t){if(!e)return t;const r=e.match(o),n=r[1];return a(r[3],t[n])}return r.inPlace(Node.prototype,ke,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var o=(s=e.src,c=s.match(n),c?c[1]:null);var s,c;if(!o)return;var u=function(e){var t=e.match(i);if(t&&t.length>=3)return{key:t[2],parent:a(t[1],window)};return{key:e,parent:window}}(o);if("function"!=typeof u.parent[u.key])return;var d={};function l(){t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,A.jT)(!1)),e.removeEventListener("error",f,(0,A.jT)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,A.jT)(!1)),e.removeEventListener("error",f,(0,A.jT)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,A.jT)(!1)),e.addEventListener("error",f,(0,A.jT)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const He={};function De(e){const t=function(e){return(e||B.ee).get("promise")}(e);if(He[t.debugId])return t;He[t.debugId]=!0;var r=t.context,n=(0,W.YM)(t),i=p.gm.Promise;return i&&function(){function e(r){var o=t.context(),a=n(r,"executor-",o,null,!1);const s=Reflect.construct(i,[a],e);return t.context(s).getCtx=function(){return o},s}p.gm.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return i.toString()},Object.setPrototypeOf(e,i),["all","race"].forEach((function(r){const n=i[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=i[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=i.prototype;const o=i.prototype.then;i.prototype.then=function(...e){var i=this,a=r(i);a.promise=i,e[0]=n(e[0],"cb-",a,null,!1),e[1]=n(e[1],"cb-",a,null,!1);const s=o.apply(this,e);return a.nextPromise=s,t.emit("propagate",[i,!0],s,!1,!1),s},i.prototype.then[W.Jt]=o,t.on("executor-start",(function(e){e[0]=n(e[0],"resolve-",this,null,!1),e[1]=n(e[1],"resolve-",this,null,!1)})),t.on("executor-err",(function(e,t,r){e[1](r)})),t.on("cb-end",(function(e,r,n){t.emit("propagate",[n,!0],this.nextPromise,!1,!1)})),t.on("propagate",(function(e,r,n){this.getCtx&&!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const Me={},Ke="setTimeout",Ue="setInterval",Ve="clearTimeout",Ge="-start",Fe=[Ke,"setImmediate",Ue,Ve,"clearImmediate"];function Be(e){const t=function(e){return(e||B.ee).get("timer")}(e);if(Me[t.debugId]++)return t;Me[t.debugId]=1;var r=(0,W.YM)(t);return r.inPlace(p.gm,Fe.slice(0,2),Ke+"-"),r.inPlace(p.gm,Fe.slice(2,3),Ue+"-"),r.inPlace(p.gm,Fe.slice(3),Ve+"-"),t.on(Ue+Ge,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(Ke+Ge,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}const We={};function ze(e){const t=function(e){return(e||B.ee).get("mutation")}(e);if(!p.RI||We[t.debugId])return t;We[t.debugId]=!0;var r=(0,W.YM)(t),n=p.gm.MutationObserver;return n&&(window.MutationObserver=function(e){return this instanceof n?new n(r(e,"fn-")):n.apply(this,arguments)},MutationObserver.prototype=n.prototype),t}const{TZ:qe,d3:Ze,Kp:Ye,$p:Xe,wW:Je,e5:Qe,tH:$e,uP:et,rw:tt,Lc:rt}=Pe;class nt extends b{static featureName=qe;constructor(e,t=!0){if(super(e,qe,t),!p.RI)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,n=0;const i=this.ee.get("tracer"),o=Le(this.ee),a=De(this.ee),s=Be(this.ee),c=Z(this.ee),u=this.ee.get("events"),d=ne(this.ee),l=ve(this.ee),f=ze(this.ee);function h(e,t){l.emit("newURL",[""+window.location,t])}function g(){n++,r=window.location.hash,this[et]=(0,S.t)()}function m(){n--,window.location.hash!==r&&h(0,!0);var e=(0,S.t)();this[Qe]=~~this[Qe]+e-this[et],this[rt]=e}function v(e,t){e.on(t,(function(){this[t]=(0,S.t)()}))}this.ee.on(et,g),a.on(tt,g),o.on(tt,g),this.ee.on(rt,m),a.on(Je,m),o.on(Je,m),this.ee.on("fn-err",((...t)=>{t[2]?.__newrelic?.[e.agentIdentifier]||(0,x.p)("function-err",[...t],void 0,this.featureName,this.ee)})),this.ee.buffer([et,rt,"xhr-resolved"],this.featureName),u.buffer([et],this.featureName),s.buffer(["setTimeout"+Ye,"clearTimeout"+Ze,et],this.featureName),c.buffer([et,"new-xhr","send-xhr"+Ze],this.featureName),d.buffer([$e+Ze,$e+"-done",$e+Xe+Ze,$e+Xe+Ye],this.featureName),l.buffer(["newURL"],this.featureName),f.buffer([et],this.featureName),a.buffer(["propagate",tt,Je,"executor-err","resolve"+Ze],this.featureName),i.buffer([et,"no-"+et],this.featureName),o.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),v(d,$e+Ze),v(d,$e+"-done"),v(o,"new-jsonp"),v(o,"jsonp-end"),v(o,"cb-start"),l.on("pushState-end",h),l.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){h(0,n>1)}),(0,A.jT)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var it=i(3333);class ot extends b{static featureName=it.TZ;constructor(e,t=!0){super(e,it.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled];p.RI&&e.init.user_actions.enabled&&(it.Zp.forEach((e=>(0,A.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),it.qN.forEach((e=>(0,A.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)))))),r.some((e=>e))?this.importAggregator(e):this.deregisterDrain()}}var at=i(993),st=i(3785);class ct extends b{static featureName=at.TZ;constructor(e,t=!0){super(e,at.TZ,t);const r=this.ee;this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,st.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t,r){super(r),p.gm?(this.features={},(0,R.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(w),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,R.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[he,w,N,Ne,_e,_,D,ot,ct,je,nt],loaderType:"spa"})})()})();</script> <link rel="profile" href="https://gmpg.org/xfn/11"> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <link rel="alternate" hreflang="en" href="https://onlineharassmentfieldmanual.pen.org/guidelines-for-safely-practicing-counterspeech/" /> <link rel="alternate" hreflang="fr" href="https://onlineharassmentfieldmanual.pen.org/fr/contre-discours-cyberharcelement/" /> <link rel="alternate" hreflang="es" href="https://onlineharassmentfieldmanual.pen.org/es/practica-contradiscurso-forma-segura/" /> <link rel="alternate" hreflang="ar" href="https://onlineharassmentfieldmanual.pen.org/ar/%d8%aa%d9%88%d8%ac%d9%8a%d9%87%d8%a7%d8%aa-%d9%84%d8%a7%d8%b9%d8%aa%d9%85%d8%a7%d8%af-%d8%ae%d8%b7%d8%a7%d8%a8-%d9%85%d8%b6%d8%a7%d8%af-%d8%a2%d9%85%d9%86/" /> <link rel="alternate" hreflang="sw" href="https://onlineharassmentfieldmanual.pen.org/sw/miongozo-ya-kufanya-mazoezi-ya-kujibu-kwa-usalama/" /> <link rel="alternate" hreflang="x-default" href="https://onlineharassmentfieldmanual.pen.org/guidelines-for-safely-practicing-counterspeech/" /> <!-- Hubbub v.1.34.1 https://morehubbub.com/ --> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="article" /> <meta property="og:title" content="Guidelines for Safely Practicing Counterspeech" /> <meta property="og:description" content="When it comes to whether to "feed the trolls," there is a lot of conflicting information out there. For some, practicing counterspeech can be empowering—as long as it's done safely." /> <meta property="og:url" content="https://onlineharassmentfieldmanual.pen.org/guidelines-for-safely-practicing-counterspeech/" /> <meta property="og:site_name" content="Online Harassment Field Manual" /> <meta property="og:updated_time" content="2024-03-18T19:51:14+00:00" /> <meta property="article:published_time" content="2018-04-11T21:56:07+00:00" /> <meta property="article:modified_time" content="2024-03-18T19:51:14+00:00" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:title" content="Guidelines for Safely Practicing Counterspeech" /> <meta name="twitter:description" content="When it comes to whether to "feed the trolls," there is a lot of conflicting information out there. For some, practicing counterspeech can be empowering—as long as it's done safely." /> <meta class="flipboard-article" content="When it comes to whether to "feed the trolls," there is a lot of conflicting information out there. For some, practicing counterspeech can be empowering—as long as it's done safely." /> <!-- Hubbub v.1.34.1 https://morehubbub.com/ --> <meta name="generator" content="Total WordPress Theme v5.11"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- This site is optimized with the Yoast SEO plugin v22.9 - https://yoast.com/wordpress/plugins/seo/ --> <title>Guidelines for Safely Practicing Counterspeech - Online Harassment Field Manual</title> <meta name="description" content="When it comes to whether to "feed the trolls," there is a lot of conflicting information out there. For some, practicing counterspeech can be empowering—as long as it's done safely." /> <link rel="canonical" href="https://onlineharassmentfieldmanual.pen.org/guidelines-for-safely-practicing-counterspeech/" /> <meta name="twitter:label1" content="Est. reading time" /> <meta name="twitter:data1" content="10 minutes" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://onlineharassmentfieldmanual.pen.org/guidelines-for-safely-practicing-counterspeech/","url":"https://onlineharassmentfieldmanual.pen.org/guidelines-for-safely-practicing-counterspeech/","name":"Guidelines for Safely Practicing Counterspeech - Online Harassment Field Manual","isPartOf":{"@id":"https://onlineharassmentfieldmanual.pen.org/#website"},"datePublished":"2018-04-11T21:56:07+00:00","dateModified":"2024-03-18T19:51:14+00:00","description":"When it comes to whether to \"feed the trolls,\" there is a lot of conflicting information out there. For some, practicing counterspeech can be empowering—as long as it's done safely.","breadcrumb":{"@id":"https://onlineharassmentfieldmanual.pen.org/guidelines-for-safely-practicing-counterspeech/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://onlineharassmentfieldmanual.pen.org/guidelines-for-safely-practicing-counterspeech/"]}]},{"@type":"BreadcrumbList","@id":"https://onlineharassmentfieldmanual.pen.org/guidelines-for-safely-practicing-counterspeech/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://onlineharassmentfieldmanual.pen.org/"},{"@type":"ListItem","position":2,"name":"Guidelines for Safely Practicing Counterspeech"}]},{"@type":"WebSite","@id":"https://onlineharassmentfieldmanual.pen.org/#website","url":"https://onlineharassmentfieldmanual.pen.org/","name":"Online Harassment Field Manual","description":"PEN America","publisher":{"@id":"https://onlineharassmentfieldmanual.pen.org/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://onlineharassmentfieldmanual.pen.org/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https://onlineharassmentfieldmanual.pen.org/#organization","name":"Online Harassment Field Manual","url":"https://onlineharassmentfieldmanual.pen.org/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://onlineharassmentfieldmanual.pen.org/#/schema/logo/image/","url":"https://onlineharassmentfieldmanual.pen.org/wp-content/uploads/2018/04/pen-logo.png","contentUrl":"https://onlineharassmentfieldmanual.pen.org/wp-content/uploads/2018/04/pen-logo.png","width":552,"height":210,"caption":"Online Harassment Field Manual"},"image":{"@id":"https://onlineharassmentfieldmanual.pen.org/#/schema/logo/image/"}}]}</script> <!-- / Yoast SEO plugin. --> <link rel='dns-prefetch' href='//onlineharassmentfieldmanual.pen.org' /> <link rel="alternate" type="application/rss+xml" title="Online Harassment Field Manual » Feed" href="https://onlineharassmentfieldmanual.pen.org/feed/" /> <link rel="alternate" type="application/rss+xml" title="Online Harassment Field Manual » Comments Feed" href="https://onlineharassmentfieldmanual.pen.org/comments/feed/" /> <link rel="preload" href="https://onlineharassmentfieldmanual.pen.org/wp-content/themes/Total/assets/lib/ticons/fonts/ticons.woff2" type="font/woff2" as="font" crossorigin><link rel='stylesheet' id='js_composer_front-css' href='https://onlineharassmentfieldmanual.pen.org/wp-content/plugins/js_composer/assets/css/js_composer.min.css?ver=7.3' media='all' /> <link rel='stylesheet' id='contact-form-7-css' href='https://onlineharassmentfieldmanual.pen.org/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=5.9.6' media='all' /> <link rel='stylesheet' id='dpsp-frontend-style-pro-css' href='https://onlineharassmentfieldmanual.pen.org/wp-content/plugins/social-pug/assets/dist/style-frontend-pro.css?ver=1.34.1' media='all' /> <style id='dpsp-frontend-style-pro-inline-css'> @media screen and ( max-width : 640px ) { aside#dpsp-floating-sidebar.dpsp-hide-on-mobile.opened { display: none; } } </style> <link rel='stylesheet' id='wpex-style-css' href='https://onlineharassmentfieldmanual.pen.org/wp-content/themes/ohfm-theme/style.css?ver=5.11' media='all' /> <link rel='stylesheet' id='wpex-mobile-menu-breakpoint-max-css' href='https://onlineharassmentfieldmanual.pen.org/wp-content/themes/Total/assets/css/wpex-mobile-menu-breakpoint-max.css?ver=5.11' media='only screen and (max-width:959px)' /> <link rel='stylesheet' id='wpex-mobile-menu-breakpoint-min-css' href='https://onlineharassmentfieldmanual.pen.org/wp-content/themes/Total/assets/css/wpex-mobile-menu-breakpoint-min.css?ver=5.11' media='only screen and (min-width:960px)' /> <link rel='stylesheet' id='wpex-wpbakery-css' href='https://onlineharassmentfieldmanual.pen.org/wp-content/themes/Total/assets/css/frontend/wpbakery.css?ver=5.11' media='all' /> <link rel='stylesheet' id='ticons-css' href='https://onlineharassmentfieldmanual.pen.org/wp-content/themes/Total/assets/lib/ticons/css/ticons.min.css?ver=1.0.1' media='all' /> <link rel='stylesheet' id='vcex-shortcodes-css' href='https://onlineharassmentfieldmanual.pen.org/wp-content/themes/Total/assets/css/vcex-shortcodes.css?ver=5.11' media='all' /> <link rel='stylesheet' id='parent-style-css' href='https://onlineharassmentfieldmanual.pen.org/wp-content/themes/Total/style.css?ver=6.5.5' media='all' /> <link rel='stylesheet' id='child-style-css' href='https://onlineharassmentfieldmanual.pen.org/wp-content/themes/ohfm-theme/style.css?ver=6.5.5' media='all' /> <script></script><link rel="https://api.w.org/" href="https://onlineharassmentfieldmanual.pen.org/wp-json/" /><link rel="alternate" type="application/json" href="https://onlineharassmentfieldmanual.pen.org/wp-json/wp/v2/pages/629" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://onlineharassmentfieldmanual.pen.org/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.5.5" /> <link rel='shortlink' href='https://onlineharassmentfieldmanual.pen.org/?p=629' /> <link rel="alternate" type="application/json+oembed" href="https://onlineharassmentfieldmanual.pen.org/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fonlineharassmentfieldmanual.pen.org%2Fguidelines-for-safely-practicing-counterspeech%2F" /> <link rel="alternate" type="text/xml+oembed" href="https://onlineharassmentfieldmanual.pen.org/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fonlineharassmentfieldmanual.pen.org%2Fguidelines-for-safely-practicing-counterspeech%2F&format=xml" /> <meta name="generator" content="WPML ver:4.6.11 stt:5,1,4,2,66;" /> <meta name="hubbub-info" description="Hubbub 1.34.1"><!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-WWMZLR2');</script> <!-- End Google Tag Manager --><!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-37373404-7"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-37373404-7'); setTimeout(gtag('event', '60_seconds_read'), 60000); </script><noscript><style>body:not(.content-full-screen) .wpex-vc-row-stretched[data-vc-full-width-init="false"]{visibility:visible;}</style></noscript><link rel="icon" href="https://onlineharassmentfieldmanual.pen.org/wp-content/uploads/2022/11/favicon.png" sizes="32x32" /> <link rel="icon" href="https://onlineharassmentfieldmanual.pen.org/wp-content/uploads/2022/11/favicon.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://onlineharassmentfieldmanual.pen.org/wp-content/uploads/2022/11/favicon.png" /> <meta name="msapplication-TileImage" content="https://onlineharassmentfieldmanual.pen.org/wp-content/uploads/2022/11/favicon.png" /> <style id="wp-custom-css"> /* MENU *//* center the menu and remove border */.navbar-style-two{text-align:center}/* Left Align dropdowns */.navbar-style-two .dropdown-menu li li{text-align:left}/* Remove left border */.navbar-style-two .dropdown-menu{border:0}/* Remove menu item floats,display inline and remove border */.navbar-style-two .dropdown-menu >li{display:inline-block;float:none;border:0}/* BLOCKQUOTE */blockquote{font-size:18px;color:#6f7070}/* FONT STYLES */.coral{font-size:24px;color:#ff7158}strong{color:#000000}a strong{color:#ff7158}h2 a,h3 a,h4 a,h5 a{color:#ff7158}h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover{text-decoration:underline}.wp-caption p.wp-caption-text{margin-bottom:0px !important}entry-content .wp-caption-text{font-size:.1em;img{display:block}}/* SIDEBAR *//* WPML *//* HEADER *//* Remove site logo on mobile */@media only screen and (max-width:959px){#site-logo{display:none !important}} </style> <noscript><style> .wpb_animate_when_almost_visible { opacity: 1; }</style></noscript><style data-type="wpex-css" id="wpex-css">/*TYPOGRAPHY*/body{font-family:"Neutraface";font-size:16px;line-height:1.6;letter-spacing:0px}#site-logo .site-logo-text{font-style:normal;text-transform:uppercase}.main-navigation-ul .link-inner{font-weight:400;font-size:18px;text-transform:uppercase}h1,.wpex-h1{font-weight:500;color:#ff7158}h2,.wpex-h2{font-weight:500}h3,.wpex-h3{font-weight:500}.footer-callout-content{font-weight:300;font-size:18px}/*CUSTOMIZER STYLING*/:root{--wpex-accent:#ff7158;--wpex-accent-alt:#ff7158;--wpex-hover-btn-bg:#000000;--wpex-site-logo-color:#000000;--wpex-vc-column-inner-margin-bottom:40px}.page-header.wpex-supports-mods{background-color:#ff7158;border-top-color:#ff7158;border-bottom-color:#ff7158}#site-scroll-top{background-color:#000000;color:#ffffff}#site-scroll-top:hover{background-color:#000000}:root,.boxed-main-layout.wpex-responsive #wrap{--wpex-container-width:1000px}#site-logo-fa-icon{color:#0a0a0a}#site-navigation-wrap{--wpex-main-nav-bg:#6f7070;--wpex-main-nav-border-color:#6f7070;--wpex-main-nav-link-color:#ffffff;--wpex-hover-main-nav-link-color:#ffffff;--wpex-active-main-nav-link-color:#ffffff;--wpex-hover-main-nav-link-color:#000000;--wpex-active-main-nav-link-color:#000000}.navbar-style-one,.navbar-style-two,.navbar-style-three,.navbar-style-four,.navbar-style-five,.navbar-style-six{--wpex-main-nav-link-inner-bg:#6f7070;--wpex-hover-main-nav-link-inner-bg:#6f7070;--wpex-active-main-nav-link-inner-bg:#6f7070;--wpex-active-main-nav-link-inner-bg:#6f7070}#searchform-dropdown{--wpex-dropmenu-colored-top-border-color:#e4e4e4}#mobile-menu{--wpex-link-color:#000000;--wpex-hover-link-color:#000000;--wpex-hover-link-color:#222222}#sidr-main,.sidr-class-dropdown-menu ul{background-color:#222222}#sidr-main{--wpex-border-main:#222222;color:#ffffff;--wpex-link-color:#ffffff;--wpex-text-2:#ffffff;--wpex-hover-link-color:#ffb700}.mobile-toggle-nav{background:#000000;color:#ffffff;--wpex-link-color:#ffffff;--wpex-hover-link-color:#888888}.mobile-toggle-nav-ul,.mobile-toggle-nav-ul a{border-color:#222222}#footer-callout-wrap{background-color:#6f7070;border-top-color:#6f7070;border-bottom-color:#6f7070;color:#ffffff}#footer-callout .theme-button{border-radius:5px;background:#000000}#footer-callout .theme-button:hover{background:#333333}#footer{--wpex-surface-1:#000000;background-color:#000000;color:#ffffff;--wpex-heading-color:#ffffff;--wpex-text-2:#ffffff;--wpex-text-3:#ffffff;--wpex-text-4:#ffffff}#footer-bottom{padding:15px 0;background-color:#000000;color:#ffffff;--wpex-text-2:#ffffff;--wpex-text-3:#ffffff;--wpex-text-4:#ffffff}@media only screen and (min-width:960px){#site-logo .logo-img{max-width:276px}}</style></head> <body class="page-template-default page page-id-629 wp-custom-logo wp-embed-responsive wpml-language-en wpex-theme wpex-responsive full-width-main-layout no-composer wpex-live-site wpex-has-primary-bottom-spacing site-full-width content-right-sidebar has-sidebar sidebar-widget-icons hasnt-overlay-header wpex-mobile-toggle-menu-icon_buttons has-mobile-menu navbar-has-inner-span-bg wpex-no-js wpb-js-composer js-comp-ver-7.3 vc_responsive"> <a href="#content" class="skip-to-content wpex-absolute wpex-opacity-0 wpex-no-underline">Skip to content</a> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WWMZLR2" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --><script type="text/javascript"> window._mfq = window._mfq || []; (function() { var mf = document.createElement("script"); mf.type = "text/javascript"; mf.defer = true; mf.src = "//cdn.mouseflow.com/projects/fc2a9123-bfb5-48c1-9812-34c225e6ab5e.js"; document.getElementsByTagName("head")[0].appendChild(mf); })(); </script> <span data-ls_id="#site_top" tabindex="-1"></span> <div id="outer-wrap" class="wpex-overflow-clip"> <div id="wrap" class="wpex-clr"> <header id="site-header" class="header-two wpex-header-two-flex-v dyn-styles wpex-print-hidden wpex-relative wpex-clr"> <div id="site-header-inner" class="header-two-inner header-padding container wpex-relative wpex-h-100 wpex-py-30 wpex-flex wpex-items-center wpex-clr"> <div id="site-logo" class="site-branding header-two-logo logo-padding wpex-table"> <div id="site-logo-inner" class="wpex-table-cell wpex-align-middle wpex-clr"><a id="site-logo-link" href="https://onlineharassmentfieldmanual.pen.org/" rel="home" class="main-logo"><img src="https://onlineharassmentfieldmanual.pen.org/wp-content/uploads/2018/04/pen-logo.png" alt="Online Harassment Field Manual" class="logo-img" width="552" height="210" data-no-retina data-skip-lazy fetchpriority="high"></a></div> </div> <aside id="header-aside" class="header-two-aside wpex-ml-auto wpex-order-2"> <div class="header-aside-content wpex-clr"><span class="site-header-title" style="color:#000000;font-size: 2em">ONLINE HARASSMENT FIELD MANUAL</span> <div class="wpml-ls-statics-shortcode_actions wpml-ls wpml-ls-legacy-list-horizontal"> <ul><li class="wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-en wpml-ls-current-language wpml-ls-first-item wpml-ls-item-legacy-list-horizontal"> <a href="https://onlineharassmentfieldmanual.pen.org/guidelines-for-safely-practicing-counterspeech/" class="wpml-ls-link"> <span class="wpml-ls-native">EN</span></a> </li><li class="wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-fr wpml-ls-item-legacy-list-horizontal"> <a href="https://onlineharassmentfieldmanual.pen.org/fr/contre-discours-cyberharcelement/" class="wpml-ls-link"> <span class="wpml-ls-native" lang="fr">FR</span></a> </li><li class="wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-es wpml-ls-item-legacy-list-horizontal"> <a href="https://onlineharassmentfieldmanual.pen.org/es/practica-contradiscurso-forma-segura/" class="wpml-ls-link"> <span class="wpml-ls-native" lang="es">ES</span></a> </li><li class="wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-ar wpml-ls-item-legacy-list-horizontal"> <a href="https://onlineharassmentfieldmanual.pen.org/ar/%d8%aa%d9%88%d8%ac%d9%8a%d9%87%d8%a7%d8%aa-%d9%84%d8%a7%d8%b9%d8%aa%d9%85%d8%a7%d8%af-%d8%ae%d8%b7%d8%a7%d8%a8-%d9%85%d8%b6%d8%a7%d8%af-%d8%a2%d9%85%d9%86/" class="wpml-ls-link"> <span class="wpml-ls-native" lang="ar">AR</span></a> </li><li class="wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-sw wpml-ls-last-item wpml-ls-item-legacy-list-horizontal"> <a href="https://onlineharassmentfieldmanual.pen.org/sw/miongozo-ya-kufanya-mazoezi-ya-kujibu-kwa-usalama/" class="wpml-ls-link"> <span class="wpml-ls-native" lang="sw">SW</span></a> </li></ul> </div> </div> </aside> <div id="mobile-menu" class="wpex-mobile-menu-toggle show-at-mm-breakpoint wpex-flex wpex-items-center wpex-absolute wpex-top-50 -wpex-translate-y-50 wpex-right-0"> <div class="wpex-inline-flex wpex-items-center"> <a href="#" class="mobile-menu-toggle" role="button" aria-label="Toggle mobile menu" aria-expanded="false"><span class="mobile-menu-toggle__icon wpex-flex"><span class="wpex-hamburger-icon wpex-hamburger-icon--inactive wpex-hamburger-icon--animate" aria-hidden="true"><span></span></span></span></a> </div> </div></div> <div id="site-navigation-wrap" class="navbar-style-two navbar-fixed-line-height fixed-nav hide-at-mm-breakpoint wpex-clr wpex-print-hidden"> <nav id="site-navigation" class="navigation main-navigation main-navigation-two container wpex-relative wpex-clr" aria-label="Main menu"><ul id="menu-main-navigation" class="main-navigation-ul dropdown-menu wpex-dropdown-menu wpex-dropdown-menu--onhover"><li id="menu-item-1924" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children dropdown menu-item-1924"><a href="https://onlineharassmentfieldmanual.pen.org/prepare-for-online-harassment/"><span class="link-inner">Prepare</span></a> <ul class="sub-menu"> <li id="menu-item-303" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-303"><a href="https://onlineharassmentfieldmanual.pen.org/using-secure-passwords-logins/"><span class="link-inner">Protecting Accounts and Devices from Hacking</span></a></li> <li id="menu-item-424" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-424"><a href="https://onlineharassmentfieldmanual.pen.org/protecting-information-from-doxing/"><span class="link-inner">Managing Your Online Footprint</span></a></li> <li id="menu-item-423" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-423"><a href="https://onlineharassmentfieldmanual.pen.org/navigating-comments-sections-message-boards/"><span class="link-inner">Navigating Comments Sections & Message Boards</span></a></li> <li id="menu-item-288" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-288"><a href="https://onlineharassmentfieldmanual.pen.org/protecting-websites/"><span class="link-inner">Protecting Websites</span></a></li> <li id="menu-item-289" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-289"><a href="https://onlineharassmentfieldmanual.pen.org/establishing-supportive-cyber-communities/"><span class="link-inner">Finding Supportive Cyber Communities</span></a></li> <li id="menu-item-422" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-422"><a href="https://onlineharassmentfieldmanual.pen.org/further-tips-considerations/"><span class="link-inner">Further Digital Security Tips</span></a></li> </ul> </li> <li id="menu-item-1925" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-ancestor current_page_ancestor menu-item-has-children dropdown menu-item-1925"><a href="https://onlineharassmentfieldmanual.pen.org/respond/"><span class="link-inner">Respond</span></a> <ul class="sub-menu"> <li id="menu-item-1927" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1927"><a href="https://onlineharassmentfieldmanual.pen.org/legal-considerations/documenting-online-harassment/"><span class="link-inner">Documenting Online Harassment</span></a></li> <li id="menu-item-463" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-463"><a href="https://onlineharassmentfieldmanual.pen.org/blocking-muting-restricting/"><span class="link-inner">Blocking, Muting, & Restricting</span></a></li> <li id="menu-item-421" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-421"><a href="https://onlineharassmentfieldmanual.pen.org/reporting-online-harassment-to-platforms/"><span class="link-inner">Reporting to Platforms</span></a></li> <li id="menu-item-462" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-462"><a href="https://onlineharassmentfieldmanual.pen.org/dealing-with-harassing-emails-direct-messages/"><span class="link-inner">Dealing with Harassing Emails & Direct Messages</span></a></li> <li id="menu-item-461" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-461"><a href="https://onlineharassmentfieldmanual.pen.org/deploying-supportive-cyber-communities/"><span class="link-inner">Deploying Supportive Cyber Communities</span></a></li> <li id="menu-item-1929" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children dropdown menu-item-1929"><a href="#"><span class="link-inner">Practicing Counterspeech <span class="nav-arrow second-level"><span class="nav-arrow__icon ticon ticon-angle-right" aria-hidden="true"></span></span></span></a> <ul class="sub-menu"> <li id="menu-item-710" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-629 current_page_item menu-item-710"><a href="https://onlineharassmentfieldmanual.pen.org/guidelines-for-safely-practicing-counterspeech/" aria-current="page"><span class="link-inner">Guidelines for Safely Practicing Counterspeech</span></a></li> <li id="menu-item-502" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-502"><a href="https://onlineharassmentfieldmanual.pen.org/fight-back-write-back/"><span class="link-inner">Fight Back/Write Back</span></a></li> </ul> </li> <li id="menu-item-709" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-709"><a href="https://onlineharassmentfieldmanual.pen.org/getting-creative/"><span class="link-inner">Getting Creative</span></a></li> </ul> </li> <li id="menu-item-32" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children dropdown menu-item-32"><a href="https://onlineharassmentfieldmanual.pen.org/self-care/"><span class="link-inner">Self-Care</span></a> <ul class="sub-menu"> <li id="menu-item-505" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-505"><a href="https://onlineharassmentfieldmanual.pen.org/self-care-2/"><span class="link-inner">How to Cultivate Self-Care</span></a></li> <li id="menu-item-504" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-504"><a href="https://onlineharassmentfieldmanual.pen.org/mental-health-care-and-direct-services/"><span class="link-inner">Mental Health Care & Direct Services</span></a></li> <li id="menu-item-501" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-501"><a href="https://onlineharassmentfieldmanual.pen.org/advice-from-a-psychologist/"><span class="link-inner">Advice from a Psychologist</span></a></li> <li id="menu-item-503" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-503"><a href="https://onlineharassmentfieldmanual.pen.org/additional-wellness-resources/"><span class="link-inner">Additional Wellness Resources</span></a></li> </ul> </li> <li id="menu-item-31" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children dropdown menu-item-31"><a href="https://onlineharassmentfieldmanual.pen.org/legal-considerations/"><span class="link-inner">Legal</span></a> <ul class="sub-menu"> <li id="menu-item-607" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-607"><a href="https://onlineharassmentfieldmanual.pen.org/documenting-online-harassment/"><span class="link-inner">Documenting Online Harassment</span></a></li> <li id="menu-item-1954" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1954"><a href="https://onlineharassmentfieldmanual.pen.org/assessing-online-threats/"><span class="link-inner">Assessing Online Threats</span></a></li> <li id="menu-item-3413" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3413"><a href="https://onlineharassmentfieldmanual.pen.org/involving-law-enforcement/"><span class="link-inner">Involving Law Enforcement</span></a></li> <li id="menu-item-3414" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3414"><a href="https://onlineharassmentfieldmanual.pen.org/online-harassment-legal-basics-101/"><span class="link-inner">Online Harassment: Legal Basics 101</span></a></li> <li id="menu-item-3379" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3379"><a href="https://onlineharassmentfieldmanual.pen.org/federal-laws-online-harassment/"><span class="link-inner">Federal Laws & Online Harassment</span></a></li> <li id="menu-item-3394" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3394"><a href="https://onlineharassmentfieldmanual.pen.org/state-laws-online-harassment/"><span class="link-inner">State Laws & Online Harassment</span></a></li> <li id="menu-item-3399" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3399"><a href="https://onlineharassmentfieldmanual.pen.org/restraining-orders-online-harassment/"><span class="link-inner">Restraining Orders & Online Harassment</span></a></li> <li id="menu-item-3412" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3412"><a href="https://onlineharassmentfieldmanual.pen.org/online-harassment-case-studies/"><span class="link-inner">Online Harassment Case Studies</span></a></li> <li id="menu-item-606" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-606"><a href="https://onlineharassmentfieldmanual.pen.org/legal-resources-for-writers-and-journalists/"><span class="link-inner">Legal Resources for Writers & Journalists</span></a></li> </ul> </li> <li id="menu-item-30" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children dropdown menu-item-30"><a href="https://onlineharassmentfieldmanual.pen.org/support/"><span class="link-inner">Support</span></a> <ul class="sub-menu"> <li id="menu-item-714" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-714"><a href="https://onlineharassmentfieldmanual.pen.org/guidelines-for-talking-to-friends-and-loved-ones/"><span class="link-inner">Guidelines for Talking to Friends and Allies</span></a></li> <li id="menu-item-713" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-713"><a href="https://onlineharassmentfieldmanual.pen.org/guidelines-for-talking-to-employers-and-professional-contacts/"><span class="link-inner">Guidelines for Talking to Employers about Abuse</span></a></li> <li id="menu-item-797" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-797"><a href="https://onlineharassmentfieldmanual.pen.org/best-practices-for-allies-and-witnesses/"><span class="link-inner">Best Practices For Allies & Witnesses</span></a></li> <li id="menu-item-798" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-798"><a href="https://onlineharassmentfieldmanual.pen.org/best-practices-for-employers/"><span class="link-inner">Best Practices For Employers</span></a></li> </ul> </li> <li id="menu-item-1915" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children dropdown menu-item-1915"><a href="https://onlineharassmentfieldmanual.pen.org/what-is-online-abuse/"><span class="link-inner">What is Online Abuse</span></a> <ul class="sub-menu"> <li id="menu-item-707" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-707"><a href="https://onlineharassmentfieldmanual.pen.org/defining-online-harassment-a-glossary-of-terms/"><span class="link-inner">Defining “Online Harassment”</span></a></li> <li id="menu-item-708" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-708"><a href="https://onlineharassmentfieldmanual.pen.org/making-sense-of-online-harassment/"><span class="link-inner">Making Sense of Online Harassment</span></a></li> <li id="menu-item-1916" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1916"><a href="https://onlineharassmentfieldmanual.pen.org/pen-america-position-statement/"><span class="link-inner">Online Harassment as Free Expression Issue</span></a></li> <li id="menu-item-1917" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1917"><a href="https://pen.org/online-harassment-survey-key-findings"><span class="link-inner">PEN America’s Online Harassment Survey</span></a></li> <li id="menu-item-29" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children dropdown menu-item-29"><a href="https://onlineharassmentfieldmanual.pen.org/stories/"><span class="link-inner">Stories of Survival <span class="nav-arrow second-level"><span class="nav-arrow__icon ticon ticon-angle-right" aria-hidden="true"></span></span></span></a> <ul class="sub-menu"> <li id="menu-item-602" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-602"><a href="https://onlineharassmentfieldmanual.pen.org/stories/k-author-new-york/"><span class="link-inner">K., Author</span></a></li> <li id="menu-item-605" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-605"><a href="https://onlineharassmentfieldmanual.pen.org/stories/bethany-mandel-editor-and-columnist-new-jersey/"><span class="link-inner">Bethany Mandel, Editor and Columnust</span></a></li> <li id="menu-item-617" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-617"><a href="https://onlineharassmentfieldmanual.pen.org/stories/lindsay-screenwriter-new-york/"><span class="link-inner">Lindsay, Screenwriter</span></a></li> <li id="menu-item-969" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-969"><a href="https://onlineharassmentfieldmanual.pen.org/stories/erica-m-poet-editor-rhode-island/"><span class="link-inner">Erica M., Poet and Editor</span></a></li> <li id="menu-item-604" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-604"><a href="https://onlineharassmentfieldmanual.pen.org/stories/gina-young-playwright-podcaster-and-blogger-california/"><span class="link-inner">Gina Young, Playwright and Podcaster</span></a></li> <li id="menu-item-603" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-603"><a href="https://onlineharassmentfieldmanual.pen.org/stories/jordan-blogger-tennessee/"><span class="link-inner">Jordan, Blogger</span></a></li> </ul> </li> <li id="menu-item-460" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-460"><a href="https://onlineharassmentfieldmanual.pen.org/additional-online-harassment-resources/"><span class="link-inner">Additional Online Harassment Resources</span></a></li> </ul> </li> <li class="search-toggle-li menu-item wpex-menu-extra no-icon-margin"><a href="#" class="site-search-toggle search-dropdown-toggle" role="button" aria-expanded="false" aria-controls="searchform-dropdown" aria-label="Search"><span class="link-inner"><span class="wpex-menu-search-text wpex-hidden">Search</span><span class="wpex-menu-search-icon ticon ticon-search" aria-hidden="true"></span></span></a> <div id="searchform-dropdown" data-placeholder="Search" data-disable-autocomplete="true" class="header-searchform-wrap header-drop-widget header-drop-widget--colored-top-border wpex-invisible wpex-opacity-0 wpex-absolute wpex-transition-all wpex-duration-200 wpex-translate-Z-0 wpex-text-initial wpex-z-10000 wpex-top-100 wpex-right-0 wpex-surface-1 wpex-text-2 wpex-p-15"> <form role="search" method="get" class="searchform wpex-relative" action="https://onlineharassmentfieldmanual.pen.org/"> <label class="searchform-label wpex-text-current wpex-block wpex-m-0 wpex-p-0"> <span class="screen-reader-text">Search</span> <input type="search" class="searchform-input field" name="s" placeholder="Search"> </label> <button type="submit" class="searchform-submit"><span class="ticon ticon-search" aria-hidden="true"></span><span class="screen-reader-text">Submit</span></button> </form> </div> </li></ul></nav> </div> </header> <main id="main" class="site-main wpex-clr"> <header class="page-header has-aside default-page-header wpex-relative wpex-mb-40 wpex-surface-2 wpex-py-20 wpex-border-t wpex-border-b wpex-border-solid wpex-border-surface-3 wpex-text-2 wpex-supports-mods"> <div class="page-header-inner container wpex-md-flex wpex-md-flex-wrap wpex-md-items-center wpex-md-justify-between"> <div class="page-header-content wpex-md-mr-15"> <h1 class="page-header-title wpex-block wpex-m-0 wpex-text-2xl"> <span>Guidelines for Safely Practicing Counterspeech</span> </h1> </div> <div class="page-header-aside wpex-md-text-right"><nav class="site-breadcrumbs position-page_header_aside wpex-text-4 wpex-text-sm" aria-label="You are here:"><span class="breadcrumb-trail wpex-clr"><span><span><a href="https://onlineharassmentfieldmanual.pen.org/">Home</a></span> » <span class="breadcrumb_last" aria-current="page">Guidelines for Safely Practicing Counterspeech</span></span></span></nav></div></div> </header> <div id="content-wrap" class="container wpex-clr"> <div id="primary" class="content-area wpex-clr"> <div id="content" class="site-content wpex-clr"> <article id="single-blocks" class="single-page-article wpex-clr"> <div class="single-page-content single-content entry wpex-clr"><p><span class="coral">Deciding whether to “feed the trolls” is a highly personal decision, there’s no right answer. And for some, practicing counterspeech can be empowering—as long as it’s done safely.</span></p> <p>There is no one right way to navigate online abuse. And what seems like the best or most comfortable choice for you might look different for someone else. Because of this, there’s a lot of conflicting information out there about whether or not you should reply to your trolls. Some say <a href="https://counterhate.com/wp-content/uploads/2022/05/Dont-Feed-the-Trolls.pdf">not to do it</a> under any circumstance, while others say <a href="https://www.theverge.com/2018/7/12/17561768/dont-feed-the-trolls-online-harassment-abuse">it’s not so simple</a> or others argue that the risk outweighs the reward. (A confrontation might escalate the abuse, or inadvertently reward the troll for their behavior. Oftentimes, online abusers want nothing more than to know that they’ve ruined your day). In certain cases, it frankly might not be safe to directly engage an online harasser.</p> <p>For many writers and journalists, however, challenging the authority of online trolls, engaging in counterspeech, or directly confronting one’s harasser can be an important and empowering step in countering online abuse and reclaiming control of online narratives about one’s life and work.</p> <h2>What is Counterspeech?</h2> <p>Not to be confused with <a href="https://www.nytimes.com/2016/06/20/us/mob-shaming-the-pillory-at-the-center-of-the-global-village.html">outrage mobs</a>, which tend to flay the messenger instead of the message, and can end up silencing discourse that actually contains important nuance, witty comments and other forms of <a href="https://dangerousspeech.org/counterspeech/">online counterspeech</a> are a valuable way for targets of online harassment to assert their own voices and humanity while simultaneously eroding the impact of hateful or defamatory messages. Counterspeech is also a useful tool for <a href="https://onlineharassmentfieldmanual.pen.org/best-practices-for-allies-and-witnesses/">witnesses</a> who wish to intervene in online attacks. Some examples include:</p> <ul> <li>Retweeting hateful messages along with an explicit statement about what makes the message so harmful.</li> <li>Reclaiming a hashtag that’s been used to promote a hateful idea by flooding that hashtag with positive messages.</li> <li><a href="https://onlineharassmentfieldmanual.pen.org/establishing-supportive-cyber-communities/">Enlisting an online community</a> to redirect the conversation in a comments section, Twitter thread, etc., by posting a succession of positive and constructive statements aimed at content, not people. (For more information, check out the <a href="https://onlineharassmentfieldmanual.pen.org/deploying-supportive-cyber-communities/">Deploying Your Supportive Cyber Communities</a> section of this Field Manual.)</li> </ul> <p>Practicing counterspeech can empower allies and bystanders in acts of resistance, as happened with <a href="https://time.com/5904114/milk-tea-alliance/">The Milk Tea Alliance:</a> In April 2020 Thai actor Vachirawit Chivaaree wrote a Tweet voicing support for Hong Kong’s independence. Chinese nationalists responded by trolling his account. When fans leapt to protect the Thai star, a <a href="https://www.reuters.com/article/us-thailand-china-internet/insta-star-wars-china-tensions-in-southeast-asia-flare-online-idUSKCN21W11P/">meme war</a> broke out. Since then, #MilkTeaAlliance has been a clear and effective mark of pro-democracy solidarity among social media users in Myanmar, Hong Kong, Taiwan, Thailand, and other parts of Asia.</p> <p>As a free expression organization, PEN America believes that exercising speech in spaces where others are trying to shut it down is one of the most powerful tools we have. “Confronting” a harasser can mean reaching out to an individual directly, but it doesn’t have to. It can also mean making a broader statement to your social media network, <a href="https://onlineharassmentfieldmanual.pen.org/establishing-supportive-cyber-communities/">online support communities</a>, and the public about why the abuse leveled against you is unacceptable and must be stopped.</p> <p>Whether and how to respond is a personal choice. Below are a series of guidelines that PEN America recommends following when deciding whether or not to respond to an online harasser. These guidelines have been crafted with the help of a licensed mental health professional with your wellness and safety in mind. If you are facing state-sponsored harassment, check out this section of the Field Manual for guidance on how to address government-backed abuse.</p> <h2>1. Assess the threat level.</h2> <p>Before choosing to confront an online harasser, you should make an honest assessment of the threat level, both in terms of your physical and digital security. Work your way through the questions in the <a href="https://onlineharassmentfieldmanual.pen.org/assessing-online-threats/">Assessing Online Threats</a> section of the Field Manual and remember: trust your judgment and follow your instincts. You are in the best position to decide whether or not engaging a troll will escalate the abuse or compromise your safety.</p> <p>For more guidance on how to assess threat levels, consider the following:</p> <ul> <li>If you believe you’re on the receiving end of a legitimate threat to your physical safety, do not engage your troll. Contact any local or regional civil society organizations working in this area and enlist members of your community to provide you with support and, if necessary, secure housing at this time. Be sure to <a href="https://onlineharassmentfieldmanual.pen.org/documenting-online-harassment/">document</a> all harassment against you.</li> <li>If you believe that your harasser poses no risk to your physical safety, but appears volatile or disgruntled enough to continue harassing you online, it’s likely not worth engaging.</li> <li>If you believe that your harasser poses no physical threat and most likely will not escalate the abuse once you confront them, and the nature of the attack does not appear organized or informed by state-led entities, you may benefit from engagement.</li> </ul> <h2>2. Self-evaluate: <em>Am I ready for a confrontation?</em></h2> <p>It’s not worth confronting an online harasser until you’re emotionally prepared to do so. Engaging a harasser when you’re highly agitated might escalate the abuse, and also cause ensuing abuse to have a more harmful impact on your well-being.</p> <p><strong><em>“I prefer remaining silent rather than engaging with trolls,”</em> says a Tanzanian journalist, interviewed by PEN America and who prefers remaining anonymous. <em>“I am afraid that engaging with trolls might lead to the situation getting out of hand and which will harm my reputation.”</em></strong></p> <p>How will you know if you’re ready? The following questions can help clue you into your own emotional state:</p> <ul> <li>Are you constantly ruminating on the harassment? Do thoughts of your online harassment crop up throughout the day, interfering with your work or interrupting your social life?</li> <li>Are you more interested in retaliating against and humiliating your troll than in standing up for yourself and your ideas?</li> <li>When you think about your online harassment, do you get agitated and/or upset? If so, are you able to calm yourself down? If you’re unable to calm yourself down when confronted with thoughts of your online abuse, or if you’re fixated on thoughts of revenge and retaliation, you’re likely not ready to confront your abuser. Instead, consider following <a style="letter-spacing: 0px;" href="https://onlineharassmentfieldmanual.pen.org/self-care/">these guidelines to practice self-care</a><span style="color: var(--wpex-text-2); letter-spacing: 0px;">. If, however, you’re in possession of good coping mechanisms for regaining calm when you’re agitated, and you’re less fixated on harming your troll and more fixated on ending the abuse and standing up for what’s right, then you’re likely ready for the next step.</span></li> </ul> <h2>3. Decide how and where you want to confront your harasser.</h2> <p>Confronting your online harasser does not have to mean sending a direct message or naming the individual abuser. (In fact, in instances where you’re targeted from multiple online accounts, you’ll be unable to address specific individuals and will need to confront the abuse more generally.)</p> <p>There are several forms this confrontation can take. You could decide to publish a statement on social media condemning the particular form of bigotry of which you’ve been the target. You could <a href="https://onlineharassmentfieldmanual.pen.org/cyber-safety/deploying-supportive-cyber-communities/" rel="noopener">deploy your online support community</a> to help correct a defamatory narrative being spread about you. Or you could choose to screenshot and re-post hateful messages against you in order to spotlight the outrageousness of this behavior, as journalist Wafa Al-Amm chose to do when she was barraged by sexist tweets, telling her to “stay in the kitchen” and away from discussing politics and social issues.<em> “My strategy in naming and shaming online abusers produced positive results,”</em> Wafa said in an interview with PEN America and the <a href="https://www.ndi.org/">National Democratic Institute.</a> <em>“No one wants their abusive tweet to be pinned at the top of my page, which has a large following. When I repost such tweets, trolls tend to scale back their abusive language or entirely stop targeting me.”</em></p> <p>Questions to ask yourself before confronting your harasser include:</p> <ul> <li>Is it important to you to speak out against abuse on the very platform where it happened, or would you prefer to make a statement on a different platform?</li> <li>Are you more concerned with confronting a troll directly, or with condemning their specific form of behavior?</li> <li>Are you more interested in debunking false claims made against you and setting the record straight, or with calling attention to absurd and harmful behavior?</li> </ul> <p>When Beninese journalist Angela Kpedija posted on Facebook denouncing the harassment of female journalists in newsrooms, in honor of International Labour Day 2020, she didn’t expect to be hit with a <a href="https://www.francetvinfo.fr/monde/afrique/societe-africaine/au-benin-une-journaliste-se-bat-contre-le-harcelement-sexuel-un-fleau-en-milieu-professionnel_4036747.html">harassment campaign.</a> In an effort to mobilize her allies, Kpedija started the hashtag #N’aiepaspeur (which translates to #Don’tBeScared); her online community quickly came to her defense. Practicing counterspeech allowed Kpedija to regain control over the defamatory narratives being spread about her. <em>“My struggle in this hostile environment is really to liberate speech. More and more women and even men must feel free to express themselves and fight for their convictions and ideals. I dream of a domino effect,”</em> she told PEN America.</p> <p>Deciding where and how you want to confront your harasser is important. Remember, speaking out about online harassment—even when you’re not engaging your abuser directly—is still a means of fighting back. Condemning <em>the harassment</em> instead of <em>the harasser</em> may help to prevent further escalation.</p> <h2>4. Establish your end goal.</h2> <p>Clarify for yourself what you hope to accomplish with your messaging:</p> <ul> <li>Do you want to undermine the message using humor?</li> <li>Do you want to fact-check a claim?</li> <li>Do you want to raise awareness about a specific attitude or belief you perceive as harmful?</li> <li>Do you want to enlist others in spreading your message?</li> </ul> <p>Be prepared that, while you might not change your attacker’s mind, you can still set the record straight and become a positive example for others who are being attacked online.</p> <h2>5. Use language and craft messages that are likely to de-escalate the abuse.</h2> <p>It can be hard to remember that the people guilty of dehumanizing you online are usually humans themselves (unless, of course, they’re bots.) It might feel impossible to generate empathy for your attacker, which is understandable. But some targets of online harassment have found it <a href="https://www.pnas.org/doi/10.1073/pnas.2116310118">surprisingly helpful</a> to do so. Many times, online abusers are deeply unhappy in their own lives—which is not an excuse for abusive online behaviors, but at least a partial explanation. (If you’re interested in trying to learn more about why people engage in online harassment, check out the <a href="https://onlineharassmentfieldmanual.pen.org/resource-guide-to-combat-online-harassment/making-sense-of-online-harassment/" rel="noopener">Making Sense of Online Hate and Harassment</a> section of this Field Manual.)</p> <p>Whether or not you find it useful to consider the person behind the hateful messages, the below information can help you compose messages that mitigate, rather than escalate, a tense online situation, while also ensuring you get your point across clearly and firmly:</p> <ul> <li><strong>Condemn the content of the harassment rather than the harasser.</strong> You’re likely to have a more productive conversation if the person attacking you doesn’t feel attacked in return. (This might feel unfair at first, but taking the high road when someone else goes low is a validating act in and of itself.)</li> <li><strong>Name the consequences of the harassment and how it impacts you or your community directly.</strong> Explicitly stating how something harms you or the community you represent offers a concrete sense of the harassment’s impact and transforms online hate from a theoretical issue to a real-life harm. It also invites your abuser to see their actions as something with real impact, which can be a difficult thing for online harassers to comprehend when they’re sitting on the other side of a computer, physically removed from their targets.</li> <li><strong>Avoid name-calling, using hostile or insulting language, or threatening your harasser. </strong>It might be tempting, but it will almost certainly make things worse.</li> <li><strong>Find a way to express your humanness.</strong> So often, online abuse makes us feel less than human. If there’s an identifiable aspect of your humanity that’s been attacked—your beliefs, your background, your physical features—then seize on that element, and reclaim it for yourself.</li> <li><strong>If you’re up for it, try empathy at the same time that you’re condemning a specific behavior.</strong> After being bullied throughout grade school, Sameer Jha founded the Empathy Alliance, an organization dedicated to making schools safer for LGTBQ+ youths in the U.S. <em>“The first thing that I did was I went back to the middle school where I had been bullied,”</em> Jha wrote in an article for Global Citizen. Jha wanted to tell school leadership about the lack of support they faced not only from their peers, but from the school itself. The result? <em>“Luckily, my counselor and principal were incredibly understanding, and they wanted to make a difference and to change the school environment. I partnered with them and started a gender and sexuality awareness club at that middle school, specifically focusing around anti-bullying initiatives.” </em>While this kind of encounter won’t necessarily end in the same outcome for everyone, and while it requires emotional investment that some people may rightly be unwilling to expend, it’s a nice example of what can happen when we rise above our own pain to acknowledge someone else’s.</li> </ul> <p><em>Some confrontations may not go as well as you’d like, while others may surprise you. If you follow the steps above and a confrontation still doesn’t result in a helpful outcome, take pride in the fact that you spoke up and your online harasser failed to silence you.</em></p> </div> </article> </div> </div> <aside id="sidebar" class="sidebar-primary sidebar-container wpex-print-hidden"> <div id="sidebar-inner" class="sidebar-container-inner wpex-mb-40"><div id="text-9" class="sidebar-box widget widget_text wpex-mb-30 wpex-clr"><div class="widget-title wpex-heading wpex-text-md wpex-mb-20">Recommended Reading</div> <div class="textwidget"><p><a href="https://www.washingtonpost.com/investigations/2023/02/14/women-journalists-global-violence/" target="_blank" rel="noopener">These women journalists were doing their jobs. That made them targets. </a><br /> Taylor Lorenz<br /> <em>The Washington Post</em></p> <p><a href="https://www.washingtonpost.com/opinions/2020/07/08/im-female-journalist-middle-east-i-wont-be-silenced-by-online-attacks/">I’m a female journalist in the Middle East. I won’t be silenced by online attacks</a><br /> Ghada Oueiss<br /> <em>The Washington Post</em></p> <p><a href="https://niemanreports.org/articles/how-journalists-beyond-the-u-s-fight-back-against-state-sponsored-disinformation/">How Journalists Beyond the U.S. Fight Back Against Government Intimidation</a><br /> Madeleine Schwartz<br /> <em>Nieman Reports</em></p> <p><a href="https://www.onlinesos.org/journalistsperspectives#:~:text=Online%20harassment%20of%20journalists%20and,according%20to%20a%20recent%20study.">Journalists on Online Harassment and its Mental Health Impacts: What We Face and What We Need</a><br /> Katie Hunter<br /> <em>OnlineSOS</em></p> <p><a href="https://www.washingtonpost.com/opinions/2021/06/29/rana-ayyub-india-journalism-modi-harassment/">The Indian government continues to harass journalists. I’m facing prison over a tweet.</a><br /> Rana Ayyub<br /> <em>The Washington Post</em></p> <p><a href="https://counterhate.com/research/toxic-twitter-anti-lgbtq/">Toxic Twitter—How Twitter Makes Millions From Anti-LGBTQ+ Rhetoric</a><br /> <em>Center for Countering Digital Hate</em></p> <p><a href="https://psmag.com/social-justice/women-arent-welcome-internet-72170">Why Women Aren’t Welcome on the Internet</a><br /> Amanda Hess<br /> <em>Pacific Standard</em></p> </div> </div><div id="text-6" class="sidebar-box widget widget_text wpex-mb-30 wpex-clr"><div class="widget-title wpex-heading wpex-text-md wpex-mb-20">Recommended Media</div> <div class="textwidget"><p><a href="https://www.nobelprize.org/prizes/peace/2021/ressa/lecture/">Maria Ressa’s 2021 Nobel Lecture</a><br /> Maria Ressa<br /> <em>The Nobel Prize</em></p> <p><a href="https://journalists.org/resources/internetting-while-brown-black-and-a-woman-a-collective-guide/">Internetting While Brown/Black AND a Woman: A Collective Guide</a><br /> Imaeyen Ibanga, Elisa Lees Muñoz, Courtney Radsch, Versha Sharma<br /> <em>Online News Association</em></p> <p><a href="https://www.theguardian.com/commentisfree/audio/2016/may/28/cyberbullying-online-harassment-jessica-valenti-podcast">Dealing with cyberbullying – What would a feminist do?</a><br /> Featuring Jessica Valenti, Jamia Wilson, and Danielle Citron<br /> <em>The Guardian</em></p> <p><a href="https://www.youtube.com/watch?v=EsxHTE6CYkU">The Outrage Machine</a><br /> Retro Report<br /> <em>The New York Times</em></p> <p><a href="https://www.youtube.com/watch?v=knvmMBlPXew">A Dark Place</a><br /> Directed by Javier Luque<br /> <em>OSCE Representative on Freedom of the Media</em></p> </div> </div></div> </aside> </div> </main> <style>.vc_custom_1524085143925{padding-top: 5px !important;}</style> <div id="footer-callout-wrap" class="wpex-surface-2 wpex-text-2 wpex-py-30 wpex-border-solid wpex-border-surface-3 wpex-border-y wpex-print-hidden"> <div id="footer-callout" class="container"> <div id="footer-callout-left" class="footer-callout-content wpex-text-xl"><div class="vc_row wpb_row vc_row-fluid no-bottom-margins wpex-vc-full-width-row wpex-vc-full-width-row--centered"><div class="wpb_column vc_column_container vc_col-sm-9"><div class="vc_column-inner"><div class="wpb_wrapper"> <div style="font-size:16px;line-height:25px;" class="wpb_text_column wpb_content_element " > <div class="wpb_wrapper"> <p>PEN America stands at the intersection of literature and human rights to protect open expression in the United States and worldwide. We champion the freedom to write, recognizing the power of the word to transform the world. Learn more at <a href="https://pen.org/" target="blank" rel="noopener noreferrer">pen.org</a>. <em>This website was made possible with support from the New York Community Trust and Craig Newmark Philanthropies.</em></p> </div> </div> </div></div></div><div class="wpb_column vc_column_container vc_col-sm-3"><div class="vc_column-inner vc_custom_1524085143925"><div class="wpb_wrapper"> <div class="wpb_text_column wpb_content_element " > <div class="wpb_wrapper"> <p><img class="alignnone wp-image-1999 size-medium" src="https://onlineharassmentfieldmanual.pen.org/wp-content/uploads/2019/08/CNP-logo_300w.png" alt="Craig Newmark Philanthropies" width="300" height="31" /></p> <p><img class="alignright wp-image-1002 size-medium" src="https://onlineharassmentfieldmanual.pen.org/wp-content/uploads/2018/04/NYCT_logo_small-300x88.jpg" alt="" width="300" height="88" /><br /> <img class="alignnone wp-image-3302" src="https://onlineharassmentfieldmanual.pen.org/wp-content/uploads/2021/10/Jigsaw_logomark_rgb_black-1.png" alt="Jigsaw logo" width="548" height="90" /></p> </div> </div> </div></div></div></div></div> </div> </div> <div id="footer-bottom" class="wpex-py-20 wpex-text-sm wpex-surface-dark wpex-bg-gray-900 wpex-text-center wpex-md-text-left wpex-print-hidden"> <div id="footer-bottom-inner" class="container"><div class="footer-bottom-flex wpex-md-flex wpex-md-justify-between wpex-md-items-center"> <div id="copyright" class="wpex-last-mb-0">Copyright PEN America 2024 - All Rights Reserved</div> </div></div> </div> </div> </div> <nav class="mobile-toggle-nav wpex-mobile-menu mobile-toggle-nav--animate wpex-surface-1 wpex-hidden wpex-text-2 wpex-togglep-afterheader wpex-z-9999" aria-expanded="false" aria-label="Mobile menu" data-wpex-insert-after="#site-header"> <div class="mobile-toggle-nav-inner container"> <ul class="mobile-toggle-nav-ul wpex-h-auto wpex-leading-inherit wpex-list-none wpex-my-0 wpex-mx-auto"></ul> <div class="mobile-toggle-nav-search"> <div id="mobile-menu-search" class="wpex-relative wpex-pb-20"> <form method="get" action="https://onlineharassmentfieldmanual.pen.org/" class="mobile-menu-searchform"> <label class="wpex-text-current"> <span class="screen-reader-text">Search</span> <input type="search" name="s" autocomplete="off" placeholder="Search"> <input type="hidden" name="lang" value="en"> </label> <button type="submit" class="searchform-submit theme-button"><span class="ticon ticon-search" aria-hidden="true"></span><span class="screen-reader-text">Submit</span></button> </form> </div> </div> </div> </nav> <div id="mv-grow-data" data-settings='{"floatingSidebar":{"stopSelector":false},"general":{"contentSelector":false,"show_count":{"content":false,"sidebar":false},"isTrellis":false},"post":null,"shareCounts":{"facebook":0,"linkedin":0,"pinterest":0},"shouldRun":true}'></div><aside id="dpsp-floating-sidebar" aria-label="social sharing sidebar" class="dpsp-shape-rectangular dpsp-size-small dpsp-hide-on-mobile dpsp-position-left dpsp-button-style-1 dpsp-no-animation" data-trigger-scroll="false"> <ul class="dpsp-networks-btns-wrapper dpsp-networks-btns-share dpsp-networks-btns-sidebar dpsp-has-button-icon-animation"> <li class="dpsp-network-list-item dpsp-network-list-item-facebook"> <a rel="nofollow noopener" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fonlineharassmentfieldmanual.pen.org%2Fguidelines-for-safely-practicing-counterspeech%2F&t=Guidelines%20for%20Safely%20Practicing%20Counterspeech" class="dpsp-network-btn dpsp-facebook dpsp-no-label dpsp-first dpsp-has-label-mobile" target="_blank" aria-label="Share on Facebook" title="Share on Facebook"> <span class="dpsp-network-icon "> <span class="dpsp-network-icon-inner"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 18 32"><path d="M17.12 0.224v4.704h-2.784q-1.536 0-2.080 0.64t-0.544 1.92v3.392h5.248l-0.704 5.28h-4.544v13.568h-5.472v-13.568h-4.544v-5.28h4.544v-3.904q0-3.328 1.856-5.152t4.96-1.824q2.624 0 4.064 0.224z"></path></svg></span> </span> </a></li> <li class="dpsp-network-list-item dpsp-network-list-item-x"> <a rel="nofollow noopener" href="https://x.com/intent/tweet?text=Guidelines%20for%20Safely%20Practicing%20Counterspeech&url=https%3A%2F%2Fonlineharassmentfieldmanual.pen.org%2Fguidelines-for-safely-practicing-counterspeech%2F" class="dpsp-network-btn dpsp-x dpsp-no-label dpsp-has-label-mobile" target="_blank" aria-label="Share on X" title="Share on X"> <span class="dpsp-network-icon "> <span class="dpsp-network-icon-inner"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 30"><path d="M30.3 29.7L18.5 12.4l0 0L29.2 0h-3.6l-8.7 10.1L10 0H0.6l11.1 16.1l0 0L0 29.7h3.6l9.7-11.2L21 29.7H30.3z M8.6 2.7 L25.2 27h-2.8L5.7 2.7H8.6z"></path></svg></span> </span> </a></li> <li class="dpsp-network-list-item dpsp-network-list-item-linkedin"> <a rel="nofollow noopener" href="https://www.linkedin.com/shareArticle?url=https%3A%2F%2Fonlineharassmentfieldmanual.pen.org%2Fguidelines-for-safely-practicing-counterspeech%2F&title=Guidelines%20for%20Safely%20Practicing%20Counterspeech&summary=When%20it%20comes%20to%20whether%20to%20%22feed%20the%20trolls%2C%22%20there%20is%20a%20lot%20of%20conflicting%20information%20out%20there.%20For%20some%2C%20practicing%20counterspeech%20can%20be%20empowering%E2%80%94as%20long%20as%20it%27s%20done%20safely.&mini=true" class="dpsp-network-btn dpsp-linkedin dpsp-no-label dpsp-has-label-mobile" target="_blank" aria-label="Share on LinkedIn" title="Share on LinkedIn"> <span class="dpsp-network-icon "> <span class="dpsp-network-icon-inner"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 27 32"><path d="M6.24 11.168v17.696h-5.888v-17.696h5.888zM6.624 5.696q0 1.312-0.928 2.176t-2.4 0.864h-0.032q-1.472 0-2.368-0.864t-0.896-2.176 0.928-2.176 2.4-0.864 2.368 0.864 0.928 2.176zM27.424 18.72v10.144h-5.856v-9.472q0-1.888-0.736-2.944t-2.272-1.056q-1.12 0-1.856 0.608t-1.152 1.536q-0.192 0.544-0.192 1.44v9.888h-5.888q0.032-7.136 0.032-11.552t0-5.28l-0.032-0.864h5.888v2.56h-0.032q0.352-0.576 0.736-0.992t0.992-0.928 1.568-0.768 2.048-0.288q3.040 0 4.896 2.016t1.856 5.952z"></path></svg></span> </span> </a></li> <li class="dpsp-network-list-item dpsp-network-list-item-pinterest"> <button data-href="#" class="dpsp-network-btn dpsp-pinterest dpsp-no-label dpsp-last dpsp-has-label-mobile" aria-label="Save to Pinterest" title="Save to Pinterest"> <span class="dpsp-network-icon "> <span class="dpsp-network-icon-inner"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 23 32"><path d="M0 10.656q0-1.92 0.672-3.616t1.856-2.976 2.72-2.208 3.296-1.408 3.616-0.448q2.816 0 5.248 1.184t3.936 3.456 1.504 5.12q0 1.728-0.32 3.36t-1.088 3.168-1.792 2.656-2.56 1.856-3.392 0.672q-1.216 0-2.4-0.576t-1.728-1.568q-0.16 0.704-0.48 2.016t-0.448 1.696-0.352 1.28-0.48 1.248-0.544 1.12-0.832 1.408-1.12 1.536l-0.224 0.096-0.16-0.192q-0.288-2.816-0.288-3.36 0-1.632 0.384-3.68t1.184-5.152 0.928-3.616q-0.576-1.152-0.576-3.008 0-1.504 0.928-2.784t2.368-1.312q1.088 0 1.696 0.736t0.608 1.824q0 1.184-0.768 3.392t-0.8 3.36q0 1.12 0.8 1.856t1.952 0.736q0.992 0 1.824-0.448t1.408-1.216 0.992-1.696 0.672-1.952 0.352-1.984 0.128-1.792q0-3.072-1.952-4.8t-5.12-1.728q-3.552 0-5.952 2.304t-2.4 5.856q0 0.8 0.224 1.536t0.48 1.152 0.48 0.832 0.224 0.544q0 0.48-0.256 1.28t-0.672 0.8q-0.032 0-0.288-0.032-0.928-0.288-1.632-0.992t-1.088-1.696-0.576-1.92-0.192-1.92z"></path></svg></span> </span> </button></li> </ul></aside> <script type="text/html" id="wpb-modifications"> window.wpbCustomElement = 1; </script><link rel='stylesheet' id='wpml-legacy-horizontal-list-0-css' href='https://onlineharassmentfieldmanual.pen.org/wp-content/plugins/sitepress-multilingual-cms/templates/language-switchers/legacy-list-horizontal/style.min.css?ver=1' media='all' /> <script src="https://onlineharassmentfieldmanual.pen.org/wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=5.9.6" id="swv-js"></script> <script id="contact-form-7-js-extra"> var wpcf7 = {"api":{"root":"https:\/\/onlineharassmentfieldmanual.pen.org\/wp-json\/","namespace":"contact-form-7\/v1"}}; </script> <script src="https://onlineharassmentfieldmanual.pen.org/wp-content/plugins/contact-form-7/includes/js/index.js?ver=5.9.6" id="contact-form-7-js"></script> <script async data-noptimize data-cfasync="false" src="https://onlineharassmentfieldmanual.pen.org/wp-content/plugins/social-pug/assets/dist/front-end-free.js?ver=1.34.1" id="dpsp-frontend-js-pro-js"></script> <script id="wpex-core-js-extra"> var wpex_theme_params = {"menuWidgetAccordion":"1","mobileMenuBreakpoint":"959","i18n":{"openSubmenu":"Open submenu of %s","closeSubmenu":"Close submenu of %s"},"stickyNavbarBreakPoint":"959","selectArrowIcon":"<span class=\"wpex-select-arrow__icon ticon ticon-angle-down\" aria-hidden=\"true\"><\/span>","customSelects":".widget_categories form,.widget_archive select,.vcex-form-shortcode select","scrollToHash":"1","localScrollFindLinks":"1","localScrollHighlight":"1","localScrollUpdateHash":"","scrollToHashTimeout":"500","localScrollTargets":"li.local-scroll a, a.local-scroll, .local-scroll-link, .local-scroll-link > a","localScrollSpeed":"1000","scrollToBehavior":"smooth","mobileMenuOpenSubmenuIcon":"<span class=\"wpex-open-submenu__icon wpex-transition-all wpex-duration-300 ticon ticon-angle-down\" aria-hidden=\"true\"><\/span>"}; </script> <script src="https://onlineharassmentfieldmanual.pen.org/wp-content/themes/Total/assets/js/frontend/core.min.js?ver=5.11" id="wpex-core-js"></script> <script src="https://onlineharassmentfieldmanual.pen.org/wp-content/themes/Total/assets/js/frontend/mobile-menu/toggle.min.js?ver=5.11" id="wpex-mobile-menu-toggle-js"></script> <script></script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-3e6ff61feaae3967716","applicationID":"524608116","transactionName":"bwdSYRZZX0NVB0dZCVZNcVYQUV5eGxRSVwM=","queueTime":0,"applicationTime":707,"atts":"Q0BRF15DTE0=","errorBeacon":"bam.nr-data.net","agent":""}</script></body> </html>