CINXE.COM

Academic Integrity Policy | School of Computing and Information | University of Pittsburgh

<!DOCTYPE html> <html lang="en" dir="ltr" prefix="content: http://purl.org/rss/1.0/modules/content/ dc: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ rdfs: http://www.w3.org/2000/01/rdf-schema# sioc: http://rdfs.org/sioc/ns# sioct: http://rdfs.org/sioc/types# skos: http://www.w3.org/2004/02/skos/core# xsd: http://www.w3.org/2001/XMLSchema#"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="IE=edge" /><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:"1120106159",accountID:"3604677",trustKey:"66686",xpid:"VwAHVVBUDxAJUlRTAgcFVlc=",licenseKey:"NRJS-b367e9f72e0ce8cc173",applicationID:"965156203"};;/*! 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> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="msapplication-TileColor" content="#2b5797"/> <meta name="msapplication-config" content="/sites/default/files/favicons/browserconfig.xml"/> <meta name="theme-color" content="#1c2957"/> <meta name="description" content="Students and Faculty Obligations and Hearing Procedures This document supplements the University of Pittsburgh’s Guidelines on Academic Integrity. No attempt to use it should be made without consulting the parent document. Instructors of SCI courses who have identified an integrity violation should follow the procedure outlined in this document. Effective Date: August 2018 |" /> <meta name="keywords" content="University, Pittsburgh, Pitt, College, Learning, Research, Students, Undergraduate, Graduate" /> <meta name="generator" content="Drupal 7 (http://drupal.org)" /> <link rel="canonical" href="https://www.sci.pitt.edu/student-resources/policies/academic-integrity-policy" /> <link rel="shortlink" href="https://www.sci.pitt.edu/node/437" /> <meta property="og:title" content="Academic Integrity Policy" /> <meta property="og:description" content="Students and Faculty Obligations and Hearing Procedures This document supplements the University of Pittsburgh’s Guidelines on Academic Integrity. No attempt to use it should be made without consulting the parent document. Instructors of SCI courses who have identified an integrity violation should follow the procedure outlined in this document. Effective Date: August 2018 | Last Revised: February 2018 Academic Integrity: Student Obligations I. Student Obligations II. Procedures for Adjudication III. Timelines IV. Sanctions V. Academic Integrity Hearing Board VI." /> <meta property="og:updated_time" content="2023-12-11T09:17:37-05:00" /> <meta name="twitter:title" content="Academic Integrity Policy" /> <meta name="twitter:description" content="Students and Faculty Obligations and Hearing Procedures This document supplements the University of Pittsburgh’s Guidelines on Academic Integrity. No attempt to use it should be made without" /> <meta property="article:published_time" content="2020-07-20T17:03:25-04:00" /> <meta property="article:modified_time" content="2023-12-11T09:17:37-05:00" /> <title>Academic Integrity Policy | School of Computing and Information | University of Pittsburgh</title> <link type="text/css" rel="stylesheet" href="/sites/default/files/css/css_lQaZfjVpwP_oGNqdtWCSpJT1EMqXdMiU84ekLLxQnc4.css" media="all" /> <link type="text/css" rel="stylesheet" href="/sites/default/files/css/css_RTpulIpPjg_nSMDPdMqZBnaRv3i0JXTi9Pv5Swfr_6E.css" media="all" /> <link type="text/css" rel="stylesheet" href="/sites/default/files/css/css_yNI9Cch8AM_BaaKzWgijp6JnIBjZAG8gIIMVYfeiDf0.css" media="all" /> <link type="text/css" rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" media="all" /> <link type="text/css" rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@unicorn-fail/drupal-bootstrap-styles@0.0.2/dist/3.3.1/7.x-3.x/drupal-bootstrap.min.css" media="all" /> <link type="text/css" rel="stylesheet" href="/sites/default/files/css/css_8RzIXUsk2YPpK92-NR_kt9hRp-sNFwE_BqREKcgPcLM.css" media="all" /> <!-- HTML5 element support for IE6-8 --> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <script src="//code.jquery.com/jquery-2.2.4.js"></script> <script>window.jQuery || document.write("<script src='/sites/all/modules/jquery_update/replace/jquery/2.2/jquery.js'>\x3C/script>")</script> <script src="/sites/default/files/js/js_GOikDsJOX04Aww72M-XK1hkq4qiL_1XgGsRdkL0XlDo.js"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script> <script src="/sites/default/files/js/js_u3xuc_-UmE75zf0cFPtLNhfmKElRdxvfV9OrsY3v8E0.js"></script> <script src="//pitt.edu/webtrends/webtrends.load.js"></script> <script src="/sites/default/files/js/js_YGy8u8r43ebWX_c5Yduw0fLoPBY1uMawfu-V4e2L42Y.js"></script> <script src="https://www.googletagmanager.com/gtag/js?id=G-PZQFKP0Y8Y"></script> <script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments)};gtag("js", new Date());gtag("set", "developer_id.dMDhkMT", true);gtag("config", "G-PZQFKP0Y8Y", {"groups":"default","anonymize_ip":true});</script> <script src="/sites/default/files/js/js_eOR9EdGwFV6QfPJ8nhKo-TC46xe2As2AR6UokZ4fxQo.js"></script> <script>jQuery.extend(Drupal.settings, {"basePath":"\/","pathPrefix":"","setHasJsCookie":0,"ajaxPageState":{"theme":"pitt_theme_spirit","theme_token":"9xm_reyRfGqg9yHQc0QBQZHAvEZVL8ddFvkKXNjwX9M","js":{"sites\/all\/themes\/bootstrap\/js\/bootstrap.js":1,"\/\/code.jquery.com\/jquery-2.2.4.js":1,"0":1,"misc\/jquery-extend-3.4.0.js":1,"misc\/jquery-html-prefilter-3.5.0-backport.js":1,"misc\/jquery.once.js":1,"misc\/drupal.js":1,"sites\/all\/modules\/jquery_update\/js\/jquery_browser.js":1,"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@3.3.7\/dist\/js\/bootstrap.min.js":1,"sites\/all\/modules\/ckeditor_accordion\/js\/ckeditor-accordion.js":1,"sites\/all\/modules\/entityreference\/js\/entityreference.js":1,"sites\/all\/modules\/google_cse\/google_cse.js":1,"sites\/all\/modules\/miniorange_saml\/js\/testconfig.js":1,"sites\/all\/modules\/miniorange_saml\/js\/backdoor.js":1,"sites\/all\/modules\/miniorange_saml\/js\/addCopyIcon.js":1,"\/\/pitt.edu\/webtrends\/webtrends.load.js":1,"sites\/all\/libraries\/jquery-actual\/jquery.actual.min.js":1,"sites\/all\/modules\/edu_pitt_sci_acalog\/js\/edu_pitt_sci_acalog.js":1,"sites\/all\/modules\/fancybox\/fancybox.js":1,"sites\/all\/libraries\/fancybox\/source\/jquery.fancybox.pack.js":1,"sites\/all\/libraries\/fancybox\/lib\/jquery.mousewheel.pack.js":1,"sites\/all\/modules\/jcaption\/jcaption.js":1,"sites\/all\/modules\/google_analytics\/googleanalytics.js":1,"https:\/\/www.googletagmanager.com\/gtag\/js?id=G-PZQFKP0Y8Y":1,"1":1,"sites\/all\/themes\/pitt_theme_spirit\/bootstrap\/js\/affix.js":1,"sites\/all\/themes\/pitt_theme_spirit\/bootstrap\/js\/alert.js":1,"sites\/all\/themes\/pitt_theme_spirit\/bootstrap\/js\/button.js":1,"sites\/all\/themes\/pitt_theme_spirit\/bootstrap\/js\/carousel.js":1,"sites\/all\/themes\/pitt_theme_spirit\/bootstrap\/js\/collapse.js":1,"sites\/all\/themes\/pitt_theme_spirit\/bootstrap\/js\/dropdown.js":1,"sites\/all\/themes\/pitt_theme_spirit\/bootstrap\/js\/modal.js":1,"sites\/all\/themes\/pitt_theme_spirit\/bootstrap\/js\/tooltip.js":1,"sites\/all\/themes\/pitt_theme_spirit\/bootstrap\/js\/popover.js":1,"sites\/all\/themes\/pitt_theme_spirit\/bootstrap\/js\/scrollspy.js":1,"sites\/all\/themes\/pitt_theme_spirit\/bootstrap\/js\/tab.js":1,"sites\/all\/themes\/pitt_theme_spirit\/bootstrap\/js\/transition.js":1,"sites\/all\/themes\/pitt_theme_spirit\/js\/script.js":1,"sites\/all\/themes\/pitt_theme_spirit\/js\/search.js":1,"sites\/all\/themes\/pitt_theme_spirit\/js\/nav.js":1},"css":{"modules\/system\/system.base.css":1,"sites\/all\/modules\/calendar\/css\/calendar_multiday.css":1,"sites\/all\/modules\/ckeditor_accordion\/css\/ckeditor-accordion.css":1,"modules\/field\/theme\/field.css":1,"sites\/all\/modules\/google_cse\/google_cse.css":1,"modules\/node\/node.css":1,"sites\/all\/modules\/siteimprove\/css\/siteimprove.css":1,"sites\/all\/modules\/views\/css\/views.css":1,"sites\/all\/modules\/ckeditor\/css\/ckeditor.css":1,"sites\/all\/modules\/ctools\/css\/ctools.css":1,"sites\/all\/libraries\/fancybox\/source\/jquery.fancybox.css":1,"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@3.3.7\/dist\/css\/bootstrap.min.css":1,"https:\/\/cdn.jsdelivr.net\/npm\/@unicorn-fail\/drupal-bootstrap-styles@0.0.2\/dist\/3.3.1\/7.x-3.x\/drupal-bootstrap.min.css":1,"sites\/all\/themes\/pitt_theme_spirit\/fonts\/css\/fontawsome.min.css":1,"sites\/all\/themes\/pitt_theme_spirit\/fonts\/css\/all.css":1,"sites\/all\/themes\/pitt_theme_spirit\/fonts\/css\/light.min.css":1,"sites\/all\/themes\/pitt_theme_spirit\/fonts\/css\/brands.min.css":1,"sites\/all\/themes\/pitt_theme_spirit\/fonts\/cooper.css":1,"sites\/all\/themes\/pitt_theme_spirit\/less\/style.less":1}},"fancybox":{"selectors":["a.fancybox"]},"googleCSE":{"cx":"d0d541f149397d615","resultsWidth":600,"domain":"www.google.com","showWaterMark":1},"jcaption":{"jcaption_selectors":[".region-content article img"],"jcaption_alt_title":"title","jcaption_requireText":1,"jcaption_copyStyle":0,"jcaption_removeStyle":0,"jcaption_removeClass":0,"jcaption_removeAlign":1,"jcaption_copyAlignmentToClass":0,"jcaption_copyFloatToClass":1,"jcaption_copyClassToClass":0,"jcaption_autoWidth":1,"jcaption_keepLink":0,"jcaption_styleMarkup":"","jcaption_animate":0,"jcaption_showDuration":"200","jcaption_hideDuration":"200"},"better_exposed_filters":{"views":{"title_block":{"displays":{"header_title_block":{"filters":[]},"footer_title_block":{"filters":[]},"block_3":{"filters":[]}}},"social_media_icons":{"displays":{"footer_social_block":{"filters":[]}}}}},"ckeditor_accordion":{"collapseAll":1},"googleanalytics":{"account":["G-PZQFKP0Y8Y"],"trackOutbound":1,"trackMailto":1,"trackDownload":1,"trackDownloadExtensions":"7z|aac|arc|arj|asf|asx|avi|bin|csv|doc(x|m)?|dot(x|m)?|exe|flv|gif|gz|gzip|hqx|jar|jpe?g|js|mp(2|3|4|e?g)|mov(ie)?|msi|msp|pdf|phps|png|ppt(x|m)?|pot(x|m)?|pps(x|m)?|ppam|sld(x|m)?|thmx|qtm?|ra(m|r)?|sea|sit|tar|tgz|torrent|txt|wav|wma|wmv|wpd|xls(x|m|b)?|xlt(x|m)|xlam|xml|z|zip"},"urlIsAjaxTrusted":{"\/student-resources\/policies\/academic-integrity-policy":true},"bootstrap":{"anchorsFix":"0","anchorsSmoothScrolling":"0","formHasError":1,"popoverEnabled":1,"popoverOptions":{"animation":1,"html":0,"placement":"right","selector":"","trigger":"click","triggerAutoclose":1,"title":"","content":"","delay":0,"container":"body"},"tooltipEnabled":1,"tooltipOptions":{"animation":1,"html":0,"placement":"auto left","selector":"","trigger":"hover focus","delay":0,"container":"body"}}});</script> </head> <body class="html not-front not-logged-in one-sidebar sidebar-second page-node page-node- page-node-437 node-type-page pitt_dark" > <div id="skip-link" role="navigation"> <a href="#main-content" class="element-invisible element-focusable">Skip to main content</a> </div> <div id="pittbar" role="banner"> <div class="container"> <div class="secondary-links"> <div id="secondary-nav-prefix">Information for:</div> <nav role="navigation"> <ul class="menu nav navbar-nav secondary"><li class="first leaf"><a href="/information-faculty-staff" title="">Faculty &amp; Staff</a></li> <li class="leaf"><a href="/recruiting" title="">Prospective Faculty</a></li> <li class="leaf"><a href="/prospective-students" title="">Prospective Students</a></li> <li class="leaf"><a href="/alumni" title="">Alumni</a></li> <li class="last leaf"><a href="/partnership" title="">Partners</a></li> </ul> </nav> </div> </div> </div> <div class="header_wrapper"> <div class="container hb"> <div class="row"> <div class="col-xs-12 col-sm-12 col-md-9 logo_space"> <div class="pitt_shield"> <a href="http://www.pitt.edu"> <img src="/sites/all/themes/pitt_theme_spirit/img/pitt_shield_white.png" width="261" alt="University of Pittsburgh logo" /> </a> </div> <div class="site_title_wrapper"> <div class="region region-logo"> <section aria-label="" id="block-views-title-block-header-title-block" class="block block-views clearfix"> <div class="view view-title-block view-id-title_block view-display-id-header_title_block site-info--title-block view-dom-id-abf5a6ded24a01f9e20a269336403293"> <div class="view-content"> <div> <span class="single_title"><a href="/" class="site-info__title">School of Computing and Information</a></span> </div> </div> </div> </section> </div> </div><!--title_wrapper --> </div> <div class="col-xs-12 col-sm-12 col-md-3 header_links"> <div class="pittbar__search"> <div class="region region-pre-nav"> <section aria-label="" id="block-search-form" class="block block-search clearfix"> <form class="google-cse form-search content-search" action="/student-resources/policies/academic-integrity-policy" method="post" id="search-block-form" accept-charset="UTF-8"><div> <div class="searchbox" role="search"> <label for="edit-search-block-form-1" class="hidden">Use this for to search the site.</label> <input type="text" maxlength="128" name="search_block_form" class="searchbox-input" id="edit-search-block-form-1" size="15" value="" aria-label="Search Form" required title="Enter the terms you wish to search for." /> <input type="submit" class="searchbox-submit btn btn-primary" /> <span class="searchbox-icon icon glyphicon glyphicon-search" aria-label="search" aria-hidden="true"></span> </div> <div class="form-actions form-wrapper form-group" id="edit-actions"><button class="element-invisible btn btn-primary form-submit" type="submit" id="edit-submit" name="op" value="Search">Search</button> </div><input type="hidden" name="form_build_id" value="form-ZhEIJ00fCb8tMnAsOeP1DzH-wrLi2fEuWZP5OHrYEXg" /> <input type="hidden" name="form_id" value="search_block_form" /> </div></form> </section> </div> </div> </div> </div> </div> <div class="nav_wrapper"> <div class="container"> <div class="row"> <div class="col-xs-12"> <div class="navbar-header site-info__navbar-toggle"> <!-- .btn-navbar is used as the toggle for collapsed navbar content --> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".primary-links"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> </div> <div role="navigation" aria-label="primary" id="primary-links" class="container-fluid"> <div class="navbar container navbar-default"> <div class="navbar-collapse collapse navbar primary-links primary-links__navbar"> <a class="pitt_seal" href="http://www.pitt.edu" title="University of PIttsburgh Home"></a> <div class="region region-navigation"> <section aria-label="" id="block-menu-block-1" class="block block-menu-block clearfix"> <div class="menu-block-wrapper menu-block-1 menu-name-main-menu parent-mlid-0 menu-level-1"> <ul class="menu nav"><li class="first leaf menu-mlid-218"><a href="/" title="">Home</a></li> <li class="expanded menu-mlid-5857"><a href="/about">About</a><ul class="menu nav"><li class="first expanded menu-mlid-8503"><a href="/about/deans-annual-update">Dean&#039;s Annual Update</a><ul class="menu nav"><li class="first leaf menu-mlid-9201"><a href="/about/deans-annual-update/deans-2022-annual-update">2022 Update</a></li> <li class="leaf menu-mlid-9185"><a href="/about/deans-annual-update/deans-annual-update-2021">2021 Update</a></li> <li class="last leaf menu-mlid-8847"><a href="/about/deans-annual-update/2020-update">2020 Update</a></li> </ul></li> <li class="leaf menu-mlid-8504"><a href="/about/reputation-and-history">Reputation and History</a></li> <li class="leaf menu-mlid-8476"><a href="/about/departments-and-programs">Departments and Programs</a></li> <li class="leaf menu-mlid-8849"><a href="/about/institutes">Institutes</a></li> <li class="leaf menu-mlid-8739"><a href="https://www.sci.pitt.edu/recruiting" title="">Faculty Recruiting</a></li> <li class="leaf menu-mlid-9178"><a href="/about/committees">Committees</a></li> <li class="leaf menu-mlid-8505"><a href="/about/zoom-backgrounds">Zoom Backgrounds</a></li> <li class="leaf menu-mlid-8451"><a href="/about/contact-us">Contact Us</a></li> <li class="leaf menu-mlid-9183"><a href="/about/board-visitors">Board of Visitors</a></li> <li class="last leaf menu-mlid-9191"><a href="/about/sci-learning-academy">SCI Learning Academy</a></li> </ul></li> <li class="expanded menu-mlid-3063"><a href="/people" title="">People</a><ul class="menu nav"><li class="first leaf menu-mlid-8714"><a href="https://www.sci.pitt.edu/administration" title="">Administration</a></li> <li class="leaf menu-mlid-8578"><a href="/people/faculty" title="">Faculty Directory</a></li> <li class="leaf menu-mlid-8475"><a href="/people/staff" title="">Staff Directory</a></li> <li class="last leaf menu-mlid-8477"><a href="/people/phd-students">PhD Students</a></li> </ul></li> <li class="expanded menu-mlid-8766"><a href="/equity">Equity</a><ul class="menu nav"><li class="first leaf menu-mlid-8767"><a href="/equity/committee">Diversity, Equity and Inclusion Committee</a></li> <li class="leaf menu-mlid-8768"><a href="/equity/school-initiatives-and-resources">School Initiatives and Resources</a></li> <li class="leaf menu-mlid-8773"><a href="/equity/events">Events</a></li> <li class="last leaf menu-mlid-8769"><a href="/equity/university-initiatives-and-resources">University Initiatives and Resources</a></li> </ul></li> <li class="expanded menu-mlid-8440"><a href="/research">Research</a><ul class="menu nav"><li class="first leaf menu-mlid-8466"><a href="/research" title="">Overview</a></li> <li class="leaf menu-mlid-8583"><a href="/research/faculty-spotlight">Faculty Spotlight</a></li> <li class="expanded menu-mlid-8463"><a href="/research/active-research">Active Research</a><ul class="menu nav"><li class="first leaf menu-mlid-8470"><a href="/research/active-research/current-grants">Current Grants</a></li> <li class="leaf menu-mlid-9196"><a href="/research/active-research/faculty-accepting-undergraduate-students-research">Faculty Accepting Undergraduate Students for Research</a></li> <li class="last leaf menu-mlid-9197"><a href="https://pitt.co1.qualtrics.com/jfe/form/SV_djvb4vsuvzS3GRM" title="">Submit Research for Undergraduate Students</a></li> </ul></li> <li class="leaf menu-mlid-8468"><a href="/research/labs-centers-and-institutes">Labs, Centers, and Institutes</a></li> <li class="leaf menu-mlid-8467"><a href="/research/visiting-scholars">Visiting Scholars</a></li> <li class="last leaf menu-mlid-8469"><a href="/research/undergraduate-research-scholars">Undergraduate Research Scholars</a></li> </ul></li> <li class="expanded menu-mlid-8441"><a href="/academics">Academics</a><ul class="menu nav"><li class="first leaf menu-mlid-8562"><a href="/academics/degrees-and-programs">Degrees and Programs</a></li> <li class="expanded menu-mlid-8529"><a href="/academics/undergraduate-majors">Undergraduate Majors</a><ul class="menu nav"><li class="first leaf menu-mlid-8532"><a href="/academics/undergraduate-majors/find-right-major-you">Find the Right Major for You</a></li> <li class="leaf menu-mlid-8533"><a href="/academics/undergraduate-majors/computational-biology">Computational Biology</a></li> <li class="leaf menu-mlid-8772"><a href="/academics/undergraduate-majors/computational-social-science">Computational Social Science</a></li> <li class="leaf menu-mlid-8534"><a href="/academics/undergraduate-majors/computer-science">Computer Science</a></li> <li class="leaf has-children menu-mlid-8757"><a href="/academics/undergraduate-majors/data-science">Data Science</a></li> <li class="leaf has-children menu-mlid-8535"><a href="/academics/undergraduate-majors/digital-narrative-and-interactive-design">Digital Narrative and Interactive Design</a></li> <li class="leaf menu-mlid-8536"><a href="/academics/undergraduate-majors/information-science">Information Science</a></li> <li class="leaf menu-mlid-8584"><a href="/academics/undergraduate-majors/bs-ms-computer-science">BS + MS in Computer Science</a></li> <li class="leaf menu-mlid-9179"><a href="/academics/undergraduate-majors/physics-and-quantum-computing">Physics and Quantum Computing</a></li> <li class="last leaf menu-mlid-8585"><a href="/academics/undergraduate-majors/minors">Minors</a></li> </ul></li> <li class="expanded menu-mlid-8537"><a href="/academics/masters-degrees">Master&#039;s Degrees</a><ul class="menu nav"><li class="first leaf menu-mlid-8568"><a href="/academics/masters-degrees/library-and-information-science-mlis">Library and Information Science</a></li> <li class="leaf menu-mlid-9208"><a href="/academics/masters-degrees/computational-modeling-and-simulation-ms">Computational Modeling and Simulation</a></li> <li class="leaf menu-mlid-8564"><a href="/academics/masters-degrees/computer-science-ms">Computer Science</a></li> <li class="leaf menu-mlid-9199"><a href="/academics/masters-degrees/data-science">Data Science</a></li> <li class="leaf menu-mlid-8575"><a href="/academics/masters-degrees/information-science-ms">Information Science</a></li> <li class="leaf menu-mlid-8571"><a href="/academics/masters-degrees/intelligent-systems-ms">Intelligent Systems</a></li> <li class="last leaf menu-mlid-8574"><a href="/academics/masters-degrees/telecommunications-ms">Telecommunications</a></li> </ul></li> <li class="expanded menu-mlid-8538"><a href="/academics/doctoral-degrees">Doctoral Degrees</a><ul class="menu nav"><li class="first leaf menu-mlid-8565"><a href="/academics/doctoral-degrees/computational-modeling-and-simulation-phd">Computational Modeling and Simulation</a></li> <li class="leaf menu-mlid-8566"><a href="/academics/doctoral-degrees/computer-science-phd">Computer Science</a></li> <li class="leaf menu-mlid-8573"><a href="/academics/doctoral-degrees/information-science-phd">Information Science</a></li> <li class="leaf menu-mlid-8572"><a href="/academics/doctoral-degrees/information-science-focus-telecommunications-phd">Information Science with a focus in Telecommunications</a></li> <li class="leaf menu-mlid-8570"><a href="/academics/doctoral-degrees/intelligent-systems-phd">Intelligent Systems</a></li> <li class="last leaf menu-mlid-8567"><a href="/academics/doctoral-degrees/library-and-information-science-phd">Library and Information Science</a></li> </ul></li> <li class="expanded menu-mlid-8539"><a href="/academics/graduate-certificates">Graduate Certificates</a><ul class="menu nav"><li class="first leaf menu-mlid-8771"><a href="/academics/graduate-certificates/applied-data-driven-methods">Applied Data-Driven Methods</a></li> <li class="leaf menu-mlid-8540"><a href="/academics/graduate-certificates/big-data-analytics">Big Data Analytics</a></li> <li class="leaf menu-mlid-8543"><a href="/academics/graduate-certificates/cybersecurity-policy-and-law">Cybersecurity, Policy, and Law</a></li> <li class="leaf menu-mlid-8544"><a href="/academics/graduate-certificates/information-and-network-security">Information and Network Security</a></li> <li class="leaf menu-mlid-8541"><a href="/academics/graduate-certificates/information-science">Information Science</a></li> <li class="last leaf menu-mlid-8542"><a href="/academics/graduate-certificates/telecommunications">Telecommunications</a></li> </ul></li> <li class="leaf menu-mlid-8580"><a href="https://www.sciprofessional.pitt.edu/" title="">Professional Institute</a></li> <li class="expanded menu-mlid-8545"><a href="/academics/experiential-learning">Experiential Learning</a><ul class="menu nav"><li class="first leaf menu-mlid-9176"><a href="/academics/experiential-learning/types-opportunities">Types of Opportunities</a></li> <li class="last leaf menu-mlid-9177"><a href="/academics/experiential-learning/course-credit-opportunities">Experiential Learning Courses</a></li> </ul></li> <li class="leaf menu-mlid-8732"><a href="/academics/earn-master-s-degree-sci">Pitt2Pitt</a></li> <li class="last leaf menu-mlid-8745"><a href="/academics/student-profiles">Student Profiles</a></li> </ul></li> <li class="expanded menu-mlid-8442"><a href="/admissions">Admissions</a><ul class="menu nav"><li class="first leaf menu-mlid-8454"><a href="/admissions/take-next-step">Take the Next Step</a></li> <li class="expanded menu-mlid-8527"><a href="/admissions/undergraduate-admissions">Undergraduate Admissions</a><ul class="menu nav"><li class="first last leaf menu-mlid-8472"><a href="/admissions/undergraduate-admissions-faq">Undergraduate Admissions FAQ</a></li> </ul></li> <li class="leaf menu-mlid-8549"><a href="/admissions/masters-admissions">Master&#039;s Admissions</a></li> <li class="leaf menu-mlid-8550"><a href="/admissions/doctoral-admissions">Doctoral Admissions</a></li> <li class="leaf menu-mlid-8560"><a href="/admissions/certificate-admissions">Certificate Admissions</a></li> <li class="expanded menu-mlid-8473"><a href="/admissions/graduate-admissions-faq">Graduate Admissions FAQ</a><ul class="menu nav"><li class="first last leaf menu-mlid-8845"><a href="/admissions/graduate-admissions-faq/gre-requirements">GRE Requirements</a></li> </ul></li> <li class="expanded menu-mlid-8555"><a href="/admissions/tuition-and-financial-aid">Tuition and Financial Aid</a><ul class="menu nav"><li class="first leaf menu-mlid-8556"><a href="/admissions/tuition-and-financial-aid/financial-aid">Financial Aid</a></li> <li class="last leaf menu-mlid-8557"><a href="/admissions/tuition-and-financial-aid/scholarships">Scholarships</a></li> </ul></li> <li class="leaf menu-mlid-8558"><a href="/admissions/campus-life">Campus Life</a></li> <li class="last leaf menu-mlid-8471"><a href="/admissions/information-sessions">Information Sessions</a></li> </ul></li> <li class="expanded active-trail menu-mlid-8443 active"><a href="/student-resources" title="" class="active-trail">Students</a><ul class="menu nav"><li class="first leaf menu-mlid-8563"><a href="/student-resources/z-student-resources">A-Z Student Resources</a></li> <li class="expanded menu-mlid-8499"><a href="/student-resources/academic-advising-center">Academic Advising Center</a><ul class="menu nav"><li class="first leaf menu-mlid-8520"><a href="/student-resources/academic-advising-center/responsibilities">Responsibilities</a></li> <li class="leaf menu-mlid-8518"><a href="/student-resources/academic-advising-center/placement-assessments">Placement Assessments</a></li> <li class="leaf menu-mlid-8519"><a href="/student-resources/academic-advising-center/general-education-requirements">General Education Requirements</a></li> <li class="leaf menu-mlid-9195"><a href="/student-resources/academic-advising-center/major-and-minor-declaration">Major and Minor Declaration</a></li> <li class="leaf menu-mlid-8852"><a href="/student-resources/academic-advising-center/faculty-mentors">Faculty Mentors</a></li> <li class="last leaf menu-mlid-8851"><a href="/students/academic-advising-center/contact-sci-advising-center">Contact the SCI Advising Center</a></li> </ul></li> <li class="leaf menu-mlid-8500"><a href="/student-resources/building-hours">Building Hours</a></li> <li class="expanded menu-mlid-8525"><a href="/student-resources/career-services">Career Services</a><ul class="menu nav"><li class="first leaf menu-mlid-8551"><a href="https://careerservices.sci.pitt.edu/career-resources/" title="">Career Resources</a></li> <li class="leaf menu-mlid-8553"><a href="https://careerservices.sci.pitt.edu/jobs/" title="">Job Board</a></li> <li class="leaf menu-mlid-9180"><a href="/student-resources/career-services/post-graduate-outcomes" title="">Post-Graduate Outcomes</a></li> <li class="last leaf menu-mlid-9182"><a href="/student-resources/career-services/faqs">FAQs</a></li> </ul></li> <li class="leaf menu-mlid-9205"><a href="https://courses.sci.pitt.edu" title="">Course Schedule</a></li> <li class="leaf menu-mlid-9206"><a href="/student-resources/enrollment-resources">Enrollment Resources</a></li> <li class="expanded menu-mlid-8521"><a href="/student-resources/graduation">Graduation</a><ul class="menu nav"><li class="first leaf menu-mlid-8869"><a href="/student-resources/graduation/graduation-process-expectations">Graduation Process and Expectations</a></li> <li class="leaf menu-mlid-8871"><a href="/student-resources/graduation/apply-graduation">Apply for Graduation</a></li> <li class="last leaf menu-mlid-8522"><a href="/students/graduation/school-recognition-ceremony">School Recognition Ceremony</a></li> </ul></li> <li class="leaf menu-mlid-8524"><a href="/student-resources/information-technology">Information Technology</a></li> <li class="expanded menu-mlid-8514"><a href="/student-resources/newly-admitted-students">Newly Admitted Students</a><ul class="menu nav"><li class="first leaf menu-mlid-8516"><a href="/student-resources/newly-admitted-students/graduate-student-orientation">Graduate Student Orientation</a></li> <li class="leaf menu-mlid-8515"><a href="/student-resources/newly-admitted-students/new-graduate-student-faq">New Graduate Student FAQ</a></li> <li class="last leaf menu-mlid-8619"><a href="/student-resources/newly-admitted-students/undergraduate-student-orientation">Undergraduate Student Orientation</a></li> </ul></li> <li class="leaf menu-mlid-8607"><a href="/student-resources/ombudsperson">Ombudsperson</a></li> <li class="expanded active-trail menu-mlid-8507 active"><a href="/student-resources/policies" class="active-trail">Policies</a><ul class="menu nav"><li class="first leaf active-trail active menu-mlid-8508 active"><a href="/student-resources/policies/academic-integrity-policy" class="active-trail active">Academic Integrity Policy</a></li> <li class="last leaf menu-mlid-9186"><a href="/student-resources/policies/experiential-learning-policies">Experiential Learning Policies</a></li> </ul></li> <li class="leaf menu-mlid-9207"><a href="/student-resources/sci-ubelong">SCI UBelong</a></li> <li class="leaf menu-mlid-8546"><a href="/student-resources/school-forms">School Forms</a></li> <li class="leaf menu-mlid-9192"><a href="/student-resources/student-appeals">Student Appeals</a></li> <li class="leaf menu-mlid-8506"><a href="/student-resources/student-organizations">Student Organizations</a></li> <li class="expanded menu-mlid-8528"><a href="/student-resources/student-success">Student Success</a><ul class="menu nav"><li class="first leaf has-children menu-mlid-8717"><a href="/student-resources/student-success/academic-support-and-tutoring">Academic Support and Tutoring</a></li> <li class="last leaf menu-mlid-8721"><a href="/student-resources/student-success/student-success-workshops">Student Success Workshops</a></li> </ul></li> <li class="last leaf menu-mlid-8720"><a href="/student-resources/who-contact">Who to Contact</a></li> </ul></li> <li class="expanded menu-mlid-5865"><a href="/news" title="">News</a><ul class="menu nav"><li class="first leaf menu-mlid-8587"><a href="/news" title="">All News</a></li> <li class="last leaf menu-mlid-8589"><a href="/news/submit-news-item">Submit a News Item</a></li> </ul></li> <li class="expanded menu-mlid-8445"><a href="https://calendar.pitt.edu/school_of_computing_and_information" title="">Events</a><ul class="menu nav"><li class="first leaf menu-mlid-8588"><a href="https://calendar.pitt.edu/school_of_computing_and_information" title="">All Events</a></li> <li class="last leaf menu-mlid-8600"><a href="/events/event-assistance-promotion">Event Assistance &amp; Promotion</a></li> </ul></li> <li class="last leaf menu-mlid-9214"><a href="/give-sci">Give to SCI</a></li> </ul></div> </section> </div> </div> </div> </div> <!-- /#primary-links --> </div> </div> </div> </div> </div> <a id="main-content"></a> <div class="main-container container-fluid"> <div class="container" id="content-wrapper"> <div class="row"> <section class="col-sm-8 content" name="Highlights"> <ol class="breadcrumb"><li><a href="/student-resources" title="">Students</a></li> <li><a href="/student-resources/policies">Policies</a></li> </ol> <h1 class="page-header">Academic Integrity Policy</h1> <div class="region region-content"> <section aria-label="" id="block-system-main" class="block block-system clearfix"> <div id="node-437" class="node node-page clearfix" about="/student-resources/policies/academic-integrity-policy" typeof="foaf:Document"> <div> <span property="dc:title" content="Academic Integrity Policy" class="rdf-meta element-hidden"></span> </div> <article class="field-body"> <h2>Students and Faculty Obligations and Hearing Procedures</h2> <p>This document supplements the University of Pittsburgh’s Guidelines on Academic Integrity. No attempt to use it should be made without consulting the parent document. Instructors of SCI courses who have identified an integrity violation should follow the <a href="/sites/default/files/PDFs/instructor_steps_for_addressing_academic_integrity_0.pdf">procedure outlined in this document</a>.</p> <p><em>Effective Date: August 2018 | Last Revised: February 2018</em></p> <p><strong>Academic Integrity: Student Obligations</strong><br /> I. Student Obligations<br /> II. Procedures for Adjudication<br /> III. Timelines<br /> IV. Sanctions<br /> V. Academic Integrity Hearing Board<br /> VI. Review and Appeal</p> <p><strong>Academic Integrity: Faculty Obligations</strong><br /> I. Faculty Obligations<br /> II. Grievance Procedures<br /> III. Individual Grievances<br /> IV. Procedures<br /> V. Remedial Action<br /> VI. Review and Appeal<br /> VII. Timeliness<br /> VIII. Formal Hearing Board</p> <hr /> <h2>Academic Integrity: Student Obligations</h2> <h3>I. Student Obligations</h3> <p>A student has an obligation to exhibit honesty and to respect the ethical standards of the professions represented in the School of Computing and Information when carrying out his or her academic assignments. Without limiting the application of this principle, a student may be found to have violated this obligation if they:*</p> <ul> <li>Refers during an academic evaluation to materials or sources or employs devices not authorized by the instructor.</li> <li>Provides assistance during an academic evaluation to another person in a manner not authorized by the instructor.</li> <li>Receives assistance during academic evaluation from another person in a manner not authorized by the instructor.</li> <li>Engages in unauthorized possession, buying, selling, obtaining, or using a copy of any materials intended to be used as an instrument of academic evaluation in advance of its administration.</li> <li>Acts as a substitute for another person in any academic evaluation process.</li> <li>Utilizes a substitute in any academic evaluation procedure.</li> <li>Practices any form of deceit in an academic evaluation proceeding.</li> <li>Depends on the aid of others in a manner expressly prohibited by the instructor, in the research, preparation, creation, writing, performing, or publication of work to be submitted for academic credit or evaluation.</li> <li>Provides aid to another person, knowing such aid is expressly prohibited by the instructor, in the research, preparation, creation, writing, performing, or publication of work to be submitted for academic credit or evaluation.</li> <li>Presents as one’s own, for academic evaluation, the ideas, representations, or words of another person or persons without customary and proper acknowledgement of sources.</li> <li>Submits the work of another person in a manner which represents the work to be one’s own.</li> <li>Knowingly permits one’s work to be submitted by another person without the instructor’s authorization.</li> <li>Attempts to influence or change one’s academic evaluation or record for reasons other than achievement or merit.</li> <li>Indulges, during a class (or examination) session in which one is a student, in conduct which is so disruptive as to infringe upon the rights of the instructor or fellow students.</li> <li>Fails to cooperate, if called upon, in the investigation or disposition of any allegation of dishonesty pertaining to another student, or any other breach of a student’s obligation to exhibit honesty.</li> </ul> <h3>II. Procedures for Adjudication</h3> <p>No student should be subject to an adverse finding that they committed an offense related to academic integrity, and no sanction should be imposed related thereto, except in accordance with procedures appropriate for disposition of the particular matter involved. The degree of formality of proceedings, the identity of the decision maker or decision makers, and other related aspects properly reflect such considerations as the severity of the potential sanction, its probable impact upon the student, and the extent to which matters of professional judgment are essential in arriving at an informed decision. In all cases, however, the objective is to provide fundamental fairness to the student as well as an orderly means for arriving at a decision, starting first with the individual instructor and then designated administrative officers or bodies.</p> <p>These Guidelines are not meant to address differences of opinion over grades issued by faculty in exercising good faith professional judgments of student work. They are meant to address ways in which a faculty member deals with a student regarding an alleged breach of academic integrity. In matters of academic integrity, the succeeding procedural steps must be followed:</p> <ol> <li>Any member of the University community who has evidence may bring to the attention of the instructor a complaint that a student has failed, in one or more respects, to meet faithfully the obligations specified in the above Section I.**Acting on his or her own evidence, and/or on the basis of evidence submitted to the instructor, the instructor will advise the student that they have reason to believe that the student has committed an offense related to academic integrity, and the student will be afforded an opportunity to respond. If the accused student and the instructor accept a specific resolution offered by either of them, the matter shall be considered closed if both parties sign a written agreement to that effect and submit it to the Office of the Dean. The Dean’s Office will maintain a written record of the agreement, signed by the student and the instructor. These records are not to be added to the student’s individual file and they are to be destroyed when the student graduates or permanently terminates registration. The SCI Dean’s Office may provide such information identifying an individual student for the following uses: <ol> <li>To an instructor who is involved with a student integrity violation at the initial stage and who wishes to use this previous record in determining whether a resolution between the instructor and the student or an academic integrity board hearing may be most appropriate, especially in the case of repeat offenders; and,</li> <li>To the SCI Academic Integrity Hearing Board (see section V for more details about the Board) after a decision of guilt or innocence has been made in a case, but before a sanction has been recommended.</li> </ol> </li> <li>If this is a second or further offense the matter will be closed between the instructor and the student, but the School of Computing and Information may still impose a further sanction. If a student agrees that he or she is guilty of the second or further offense, sanction appeals will be made directly to the Office of the Dean.</li> <li>If a resolution between the instructor and the student cannot be reached, a meeting should be scheduled with the student, instructor, and department chair (or her/his representative) for a final attempt at an informal resolution. If this meeting does not result in a mutually agreeable outcome, the instructor will file a written statement of charges with SCI’s Associate Dean for Academic Programs. Such statement should set forth the alleged offenses which are the basis of the charges, including a factual narrative of events and the dates and times of occurrences. The statement should also include the names of persons having personal knowledge of circumstances or events, the general nature and description of all evidence, and the signature of the charging party. If this occurs at the end of a term, and/or the last term of enrollment, the “G” grade should be issued for the course until the matter is decided. In situations involving the student’s last term before graduation, degree certifications can be withheld, pending the outcome of the hearing which should be expedited as quickly as possible.</li> <li>The SCI Associate Dean for Academic Programs or her/his designate will conduct an investigation of the charges, talking with the student, instructor, and department chair. The Associate Dean for Academic Programs will reach a decision regarding the case and this decision will be sent to all the parties involved in the case.</li> <li>If either party wishes to appeal the Associate Dean for Academic Programs’ decision, the Appeal will be made in the first instance to the SCI Academic Integrity Officer. At this time the formal written charges and all other collected material will be turned over to the SCI Academic Integrity Officer. The Integrity Officer will review the case and make a final attempt at resolving the issue informally. If this fails, the Integrity Officer will convene an Academic Integrity Hearing Board and transmit a written statement of charges to the student, together with a copy of these regulations.</li> <li>The letter of transmittal to the student, a copy of which shall also be sent to the instructor or charging party, will provide reasonable notice of the time and place where a hearing or the charges will be held by the Academic Integrity Hearing Board.</li> <li>In proceedings before the SCI Academic Integrity Hearing Board, the student shall have the right to: <ol> <li>Be considered innocent until found guilty by clear and convincing evidence of a violation of the student obligations of academic integrity;</li> <li>Have a fair disposition of all matters as promptly as possible under the circumstances;</li> <li>Elect to have a private or public hearing;</li> <li>Be informed of the general nature of the evidence to be presented;</li> <li>Confront and question all parties and witnesses except when extraordinary circumstances makes this impossible;</li> <li>Present a factual defense through witnesses, personal testimony and other relevant evidence;</li> <li>Decline to testify against himself or herself;</li> <li>Have only relevant evidence considered by the Academic Integrity Hearing Board; and,</li> <li>Have access to a recording of the proceedings.</li> </ol> </li> <li>The hearing should provide a fair inquiry into the truth or falsity of the charges, with the charged party and the instructor or charging party afforded the right to cross-examine all adverse witnesses. At the level of the SCI Academic Integrity Hearing Board, legal counsel shall not be permitted, but a non-attorney/law student representative from within the University community shall be permitted for both faculty and students. A law student cannot be used as a representative at the Academic Integrity Hearing Board.</li> <li>Any member of the University community may, upon showing of relevancy and necessity, request witnesses to appear at the hearing. Witnesses who are members of the University community shall be required to appear, and other witnesses may be requested to appear, at a hearing. When necessitated by fairness or extraordinary circumstances, the Chair of the SCI Academic Integrity Hearing Board may make arrangements for recorded or written testimony for use in a proceeding.</li> <li><strong>Hearing Procedure: </strong>The hearing will be conducted as follows: <ol> <li>The Chair of the SCI Academic Integrity Hearing Board shall not apply technical exclusionary rules of evidence followed in judicial proceedings nor entertain technical legal motions. Technical legal rules pertaining to the wording of questions, hearsay, and opinions will not be formally applied. Reasonable rules of relevancy will guide the Chair of Academic Integrity Hearing Board in ruling on the admissibility of evidence. Reasonable limits may be imposed on the number of factual witnesses and the amount of cumulative evidence that may be introduced;</li> <li>The alleged offense or offenses upon which the complaint is based shall be read by the Chair of the Academic Integrity Hearing Board;</li> <li>Objections to procedure shall be entered on the record, and the Chair of Academic Integrity Hearing Board shall make any necessary rulings regarding the validity of such objections;</li> <li>The charging party shall state their case and shall offer evidence in support thereof;</li> <li>The accused or representative for accused shall have the opportunity to question charging party;</li> <li>The charging party shall be given the opportunity to call witnesses;</li> <li>The accused or representatives for accused shall be given the opportunity to question each witness of the charging party after they testifies;</li> <li>The charging party shall inform the Chair of the Academic Integrity Hearing Board when his/her presentation is completed. At this time Academic Integrity Hearing Board members shall be given an opportunity to ask questions of the persons participating in the hearing;</li> <li>The Academic Integrity Hearing Board shall recess, and the Chair of Academic Integrity Hearing Board shall make a determination as to whether the charging party has presented sufficient evidence to support a finding against the accused, if such evidence is uncontroverted. The parties may be required to remain in the hearing room during the recess or may be excused for a period set by the Chair of the Academic Integrity Board;</li> <li>Depending upon the determination of the Chair of Academic Integrity Hearing Board, the matter shall be dismissed or the accused shall be called upon to present their case and offer evidence in support thereof;</li> <li>The accused may testify or not as they choose;</li> <li>The charging party shall have the opportunity to question the accused if the accused voluntarily chooses to testify;</li> <li>The accused or a representative for accused shall have the opportunity to call witnesses;</li> <li>The charging party shall have the opportunity to question each witness of the accused after they testify;</li> <li>The accused shall inform the Chair of the Academic Integrity Hearing Board when his/her presentation is complete, and the Academic Integrity Hearing Board members shall have an opportunity to ask questions of the accused as well as the accused’s witnesses;</li> <li>The Chair of the Academic Integrity Hearing Board shall have an opportunity to address the hearing board on University regulations or procedure in the presence of all parties, but shall not offer other comments without the consent of all parties; and,</li> <li>The hearing shall be continued and the members of the hearing board shall deliberate in private until a decision is reached and recorded.</li> <li>A suitable record (audio recording) shall be made of the proceedings, exclusive of deliberations to arrive at a decision.</li> <li>The proposed decision, which shall be written, shall include a determination whether the charges have been proven by clear and convincing evidence, together with findings with respect to the material facts. If any charges are established, the proposed decision shall state the particular sanction or sanctions to be imposed. Prior violations or informal resolutions of violations may be considered only in recommending sanctions, not in determining guilt or innocence. Once a determination of guilt has been made, and before determining sanctions, the Chair of the Academic Integrity Hearing Board should find out from the Office of the Dean whether prior offenses and sanctions imposed have occurred.</li> <li>The proposed decision shall be submitted to the Dean, who will make an independent review of the hearing proceedings. The Dean may require that the charges be dismissed, or that the case be remanded for further proceedings whenever he or she deems this to be necessary. Upon completion of such additional proceedings, if any, and within a reasonable time the Dean shall issue a final decision. The Dean may reject any findings made by the Academic Integrity Hearing Board adverse to the student, and may dismiss the charges or reduce the severity of any sanction imposed, but the Dean may not make new findings adverse to the student or increase the severity of a sanction, except in the case of repeat offenders of Academic Integrity Guidelines.</li> <li>The Chair of the Academic Integrity Hearing Board shall then transmit to the charged party and the instructor copies of all actions taken by the Academic Integrity Hearing Board and the Dean. If a sanction is imposed, the notice to the student will make reference to the student’s opportunity, by petition filed with the Provost, to appeal to the University Review Board.</li> </ol> </li> </ol> <h3>III. Timelines</h3> <p>It is the responsibility of all parties, including administrative officers, to take prompt action in order that charges can be resolved quickly and fairly. Failure of the instructor to utilize these procedures diligently may constitute grounds for dismissal of charges. Parties have the right to seek review of the Provost or to petition the University Review Board for an appeal from a decision of The Academic Integrity Hearing Board within five (5) working days of the date of the decision letter.</p> <h3>IV. Sanctions</h3> <p>The alternative sanctions which may be imposed upon a finding that an offense related to academic integrity has been committed are the following:</p> <ol> <li>Dismissal from the University without expectation of readmission.</li> <li>Suspension from the University for a specific period of time.</li> <li>Reduction in grade, or assignment of a failing grade, in the course in which the offending assignment or examination was submitted.</li> <li>Reduction in grade, or assignment of a failing grade, on the assignment or examination in which the offense occurred.</li> </ol> <p>In administering sanctions, SCI strives to achieve consistency in their application. That is, within SCI, the same sanctions will be applied for the same offenses, unless extenuating circumstances can be documented, e.g. the student is a repeat offender.</p> <p>While all sanctions indicated above may be considered in each particular case, the sanction for a first violation of the Academic Integrity Code will normally be a failing grade in the course. Furthermore, once the Dean’s Office learns of a second offense, even if a sanction has been agreed upon by the instructor and the student, an additional sanction may be imposed by the School. A second violation will normally result in suspension or dismissal from the School.</p> <p>The imposition of such sanctions may be considered by SCI in the preparation of any report concerning a student submitted to a government agency, accrediting body, or other person or institution in accordance with the requirements of law or the written consent of the student.</p> <h3>V. Academic Integrity Hearing Board</h3> <p>The Academic Integrity Hearing Board shall be appointed by the Dean’s Office and will comprise three (3) faculty and three (3) students; the students appointed to the Board shall be of the same academic level (i.e., graduate or undergraduate) as the student whose case is being considered. The Dean will also designate which appointed faculty member shall serve as Chair of the Academic Integrity Hearing Board. The Chair will vote only in the case of a tie vote.</p> <p>In appointing members to the Academic Integrity Hearing Board, emphasis should be placed on obtaining faculty members with expertise and/or concerns related to academic integrity matters. Regardless of the selection process, it is the responsibility of the Dean’s Office to provide all new Academic Integrity Hearing Board members with an orientation designed to familiarize the new members with the academic integrity guidelines for the University and the School of Computing and Information. Hearing Board members, thought appointed on an as-needed basis, shall be appointed in such a way as to ensure continuity of membership as well as orderly turnover of membership.</p> <h3>VI. Review and Appeal</h3> <p>A student or instructor may seek to have the SCI Dean’s final decision (or a determination that the charges are not subject to adjudication) reviewed by the Provost, who may seek the advice of the University Review Board, or the student may appeal to the University Review Board, whose recommendation shall be made to the Provost (See footnote 1). The action of the Provost, taken with or without the advice of the University Review Board, shall constitute an exhaustion of all required institutional remedies (See footnote 2).</p> <hr /> <h2>Academic Integrity: Faculty Obligations</h2> <p>I. Faculty Obligations</p> <p>A faculty member accepts an obligation, in relation to their students, to discharge their duties in a fair and conscientious manner in accordance with the ethical standards generally recognized within the academic community, as well as those of the professions represented in the School of Computing and Information.<br /> Without limiting the application of the above principle, members of the faculty are also expected (except in cases of illness or other compelling circumstance) to conduct themselves in a professional manner, including the following:</p> <ol> <li>To meet their classes when scheduled;</li> <li>To be available at reasonable times for appointments with students, and to keep such appointments;</li> <li>To make appropriate preparation for classes and other meetings;</li> <li>To perform their grading duties and other academic evaluations in a timely manner;</li> <li>To describe to students, within the period in which a student may add and drop a course, orally, in writing, or by reference to printed course descriptions, the general content and objectives of a course; and announce the methods and standards of evaluation, including the importance to be assigned various factors in academic evaluation, and, in advance of any evaluation, the permissible materials or references allowed during evaluation (See footnote 3);</li> <li>To base all academic evaluations upon good faith professional judgement;</li> <li>Not to consider, in academic evaluation, such factors as race, color, religion, sex, sexual orientation, age, national origin, and political or cultural affiliation, and life style, activities, or behavior outside the classroom unrelated to academic achievement (See footnote 4);</li> <li>To respect the confidentiality of information regarding a student contained in University records; and to refrain from releasing such information, except in connection with intra-University business, or with student consent, or as may be permitted by law (See footnote 5);</li> <li>Not to exploit their professional relationship with students for private advantage; and to refrain from soliciting the assistance of students for private purposes in a manner which infringes upon such students’ freedom of choice;</li> <li>To give appropriate recognition to contributions made by students to research, publication, service, or other activities;</li> <li>To refrain from any activity which involves risk to the health and safety of a student, except with the student’s informed consent, and, where applicable, in accordance with the University policy relating to the use of human subjects in experimentation; and</li> <li>To respect the dignity of students individually and collectively in the classroom and other academic contexts.*</li> </ol> <h3>II. Grievance Procedures</h3> <p>Any member of the University community having evidence may bring to the attention of the appropriate department chair within SCI and/or SCI dean a complaint that a faculty member has failed, in one or more respects, to meet faithfully the obligations set forth above. The Chair or Dean, at their discretion, will take such action by way of investigation, counseling, or action—in accordance with applicable University procedures—as may appear to be proper under the circumstances. The faculty member’s and student’s interest in confidentiality, academic freedom, and professional integrity in such matters will be respected.</p> <h3>III. Individual Grievances</h3> <p>In order to provide a means for students to seek and obtain redress for grievances affecting themselves individually, the following procedures should be followed. These are not intended and shall not be used to provide sanctions against faculty members.</p> <h3>IV. Procedures</h3> <p>Where an individual student alleges with particularity that the actions of a faculty member have resulted in serious academic injury to the student, the matter shall (if requested by the student) be presented to the SCI Academic Integrity Hearing Board for adjudication. Serious academic injury includes, but is not necessarily limited to, the awarding of a lower course grade than that which the student has earned or suspension from a class. However, this is not intended to address normal grading decisions of faculty in exercising good-faith professional judgment in evaluating a student’s work.</p> <p>It is the responsibility of the student, before seeking to have a grievance adjudicated, to attempt to resolve the matter by personal conference with the faculty member concerned, and, if such attempts are unavailing, to call the matter to the attention of the Department Chair (or her/his designated representative) for consideration and adjustment by informal means. If unsatisfied with the outcome at that level, the student or faculty member may take the case to the Associate Dean for Academic Programs. The Associate Dean for Academic Programs (or her/his designated representative) will review the student’s concerns, investigate the charges, and render a decision. If the student or faculty member disagrees with the Associate Dean’s decision, either may appeal to the School of Computing and Information Academic Integrity Officer, in which case the following grievance procedures shall be employed:</p> <ol> <li>The aggrieved student will file a written statement of charges with the SCI Academic Integrity Officer.</li> <li>If the Academic Integrity Administrative Officer determines that the charges are subject to adjudication under the terms of the Academic Integrity Guidelines, she/he will transmit the charges to the faculty member, together with a copy of these regulations.</li> <li>The letter of transmittal to the faculty member, a copy of which shall also be sent to the student, shall state the composition of a committee that has been named to meet with the involved parties to make an informal inquiry into the charge. The purpose of this committee is to provide a last effort at informal resolution of the matter between the student and the faculty member. The committee will be appointed by the Associate Dean for Academic Programs and composed of one faculty member and one student from the same population (graduate or undergraduate) as the student filing the grievance. The committee will serve on a case-by-case basis. Members of this informal committee must recuse themselves from further participation should the case proceed to a formal hearing.</li> <li>The committee shall meet with the faculty member, the student, and others as appropriate, to review the nature of the problem in an attempt to reach a settlement of the differences. This is not a formal hearing and formal procedural rules do not apply. Upon completion of these meetings, if no mutually agreeable resolution results, the committee may produce its own recommendation for a solution to the conflict.</li> <li>Should the committee recommend that the faculty member take some corrective action on behalf of the student, its recommendations shall be provided to the faculty member. As promptly as reasonable and at least within five (5) working days after the faculty member receives the recommendations of the committee, the faculty member shall privately take that action which they elect, and so advise the student and chair of the committee of that action.</li> <li>Should the committee conclude that the faculty member needs to take no corrective action on behalf of the student, this finding shall be forwarded to both the faculty member and the student.</li> <li>If the student elects to pursue the matter further, either because he or she is dissatisfied with the resulting action of the faculty member or the conclusion of the committee, they should discuss this intent with the chair of the committee who should review the procedures to be followed with the student. If the student wishes to proceed with a formal hearing, the chair of the committee shall advise the SCI Academic Integrity Officer. The Academic Integrity Officer will review the case and make a final attempt at resolving the issue informally. If this fails, the Integrity Officer will convene an Academic Integrity Hearing Board and transmit a written statement of charges to the faculty member, together with a copy of these regulations.</li> <li>The formal hearing should provide a fair inquiry into the truth or falsity of the charges, with the faculty member and the student afforded the right to cross-examine. At the level of the SCI Academic Integrity Hearing Board, legal counsel shall not be permitted, but a representative from within the University community shall be permitted for both faculty and students.</li> <li>A suitable record (audio recording) shall be made of the proceedings, exclusive of deliberations to arrive at a decision.</li> <li>The proposed decision, which shall be written, shall include a determination whether charges have been proved by clear and convincing evidence, together with findings with respect to the material facts. If any charges are established, the proposed decision shall state the particular remedial action to be taken.</li> <li>The proposed decision shall be submitted to the Dean, who will make an independent review of the hearing proceedings. The Dean may require that the charges be dismissed, or that the case be remanded for further proceedings whenever he or she deems this to be necessary. The Dean may limit the scope of any further proceedings or require that part or all of the original proceedings be reconvened. Upon completion of such additional proceedings, if any, the Dean shall issue a final decision. The Dean may reject any findings made by the Academic Integrity Hearing Board, may dismiss the charges, or may reduce the extent of the remedial action to be taken. If the Dean believes remedial action to be taken may infringe upon the exercise of academic freedom, they will seek an advisory opinion from the Senate Committee on Tenure and Academic Freedom before issuing his or her own decision. The decision of the Dean shall be in writing, shall set forth with particularity any new findings of fact or remedies, and shall include a statement of the reasons underlying such action.</li> <li>The Dean’s Office shall then transmit to the faculty member and to the student copies of all actions affecting them taken by the hearing authority and the Dean. Suitable records shall be maintained as confidential and retained in the office of the SCI Dean.</li> </ol> <h3>V. Remedial Action</h3> <p>Remedies in a student’s behalf should usually be those agreed to willingly by the faculty member. Other remedial action to benefit a student may be authorized by the Dean only upon recommendation of the Academic Integrity Hearing Board and limited to:</p> <ul> <li>allowing a student to repeat an examination;</li> <li>allowing a student to be evaluated for work that would otherwise be too late to be considered;</li> <li>directing that additional opportunities be afforded for consultation or instruction;</li> <li>elimination of a grade that had been assigned by a faculty member from the transcript;</li> <li>changing of a failing letter or numerical grade to a “pass” or “satisfactory” grade, so as not to affect adversely a student’s grade average;</li> <li>allowing a student to repeat a course without paying tuition or any other penalty, schedule and program permitting.</li> </ul> <p>If some action is contemplated that might be deemed to infringe upon the academic freedom of the faculty member, the Dean shall seek an advisory opinion from the Senate Committee on Tenure and Academic Freedom (TAF). In such cases, the Senate TAF may identify other acceptable remedies or render such advice as may be appropriate in the particular situation.</p> <p>No action detrimental to the faculty member shall be taken, except as in strict accordance with established University procedures. An adjustment hereunder in the student’s behalf shall not be deemed a determination that the faculty member was in any way negligent or derelict.</p> <h3>VI. Review and Appeal</h3> <p>A student or faculty member may seek to have the Dean’s final decision (or a determination that the charges are not subject to adjudication) reviewed by the Provost, who may seek the advice of the University Review Board, or the student may appeal to the University Review Board, whose recommendation shall be made to the Provost. The action of the Provost, taken with or without the advice of the University Review Board, shall constitute an exhaustion of all required institutional remedies.</p> <p>If any such determination may be deemed to have a possible adverse effect upon the faculty member’s professional situation, the faculty member may seek the assistance of the Tenure and Academic Freedom Committee of the University Senate.</p> <h3>VII. Timeliness</h3> <p>It is the responsibility of all parties, including administrative officers, to take prompt action in order that grievances may be resolved quickly and fairly. While no explicit time limit could apply to all cases, failure to use diligence in seeking redress may constitute grounds for denial of a hearing or other relief, especially if prejudice results. Parties have the right to seek review of the Provost or to petition the University Review Board for an appeal from a decision of The Academic Integrity Hearing Board or investigatory committee within five (5) working days of the date of the decision letter.</p> <h3>VIII. Formal Hearing Board</h3> <p>The Academic Integrity Hearing Board shall be appointed by the Dean’s Office and will comprise three (3) faculty and three (3) students; the students appointed to the Board shall be of the same academic level (i.e., graduate or undergraduate) as the student whose case is being considered. The Dean will also designate which appointed faculty member shall serve as Chair of the Academic Integrity Hearing Board. The Chair will vote only in the case of a tie vote.</p> <p>In appointing members to the Academic Integrity Hearing Boards, emphasis should be placed on obtaining faculty members with expertise and/or concerns related to academic integrity matters. Regardless of the selection process, it is the responsibility of the Dean’s Office to provide all new Academic Integrity Hearing Board members with an orientation designed to familiarize the new members with the academic integrity guidelines for the given unit. Hearing Board members, thought appointed on an as-needed basis, shall be appointed in such a way as to ensure continuity of membership as well as orderly turnover of membership.</p> <hr /> <h3>Grievance Procedures Against Senior Administrators</h3> <p>A student complaint of arbitrary or unfair treatment against the SCI Dean should be made to the Provost or appropriate Senior Vice Chancellor. There must be a prompt review and decision on the grievance. Members of the faculty who may be called upon to review and advise on the grievance should be drawn from outside the jurisdiction of the administrator against whom the charge is made.</p> <h3>Footnotes</h3> <ol> <li>The University Review Board and its jurisdiction are described in the University of Pittsburgh’s Guidelines on Academic Integrity.</li> <li>In implementation, the decision of the Provost shall be binding also on matters of interpretation of codes and procedures, determination of serious injury, and determination that an allegation is subject to adjudication by the procedures provided herein.</li> <li>SCI recognizes that what is expected of faculty hereunder is intended to provide students with a notion of what is required in the course, and how they will be evaluated; a general statement of broadly defined parameters therefore typically suffices. If a course is deemed experimental in content, evaluation techniques, or grading practices, the students should be so advised. By academic evaluation is meant a measurement or grading of a student’s academic performance, such as in written or oral examinations or papers, research reports, or class or laboratory participation.</li> <li>If the student charges include discrimination, the SCI Academic Integrity Officer will consult with the SCI Affirmative Action Officer to ensure compliance with appropriate civil rights legislation and regulations. In such cases, the University Senate Tenure and Academic Freedom Committee may be consulted at any time.</li> <li>References or recommendations may be given in good faith by a faculty member on his or her own behalf, without documentation of a student’s consent if it may be reasonably perceived that the student initiated the request for a recommendation, in response to apparent bona fide inquires, such as those from institutions which state that the student has applied for employment, for admission to graduate school, or for a professional license. See fuller statements concerning University records in the Student Code of Conduct and Judicial Procedures.</li> </ol> <p><strong>*Note:</strong> There may be instances where the charging party may more appropriately invoke the University of Pittsburgh Student Code of Conduct and Judicial Procedures. This may occur where the alleged wrong mainly involves factual determinations and not academic issues. Similarly, students should be advised that other University policies may more appropriately apply to a given grievance or avenue of redress, including, but not necessarily limited to, the University of Pittsburgh Sexual Harassment Policy and Procedure.</p> <p><strong>**Note: </strong>If the instructor elects not to pursue a complaint submitted by a member of the University community, the complaint can be submitted to an individual appointed by the Dean who can pursue the matter in place of the instructor.</p> <p><em>The University of Pittsburgh, as an educational institution and as an employer, values equality of opportunity, human dignity, and racial/ethnic and cultural diversity. Accordingly, the University prohibits and will not engage in discrimination or harassment on the basis of race, color, religion, national origin, ancestry, sex, age, marital status, familial status, sexual orientation, gender identity or expression, disability, or status as a disabled veteran or a veteran of the Vietnam era. Further, the University will continue to take affirmative steps to support and advance these values consistent with the University’s mission. This policy applies to admissions, employment, and access to and treatment in University programs and activities. This is a commitment made by the University and is in accordance with federal, state, and/or local laws and regulations.</em></p> <p><em>For information on University equal opportunity and affirmative action programs and complaint/grievance procedures, please contact the University of Pittsburgh; Office of Affirmative Action, Diversity, and Inclusion; Carol W. Mohamed, Director (and Title IX, 504 and ADA Coordinator); 412 Bellefield Hall; 315 South Bellefield Avenue; Pittsburgh, PA 15260; 412-648-7860.</em></p> </article> </div> </section> </div> </section> <aside class="col-sm-4 sidebar-second"> <div class="region region-sidebar-second"> <section aria-label="Students" id="block-menu-block-2" class="block block-menu-block menu-block clearfix"> <h3 class="block-title" class="block__title">Students</h3> <div class="menu-block-wrapper menu-block-2 menu-name-main-menu parent-mlid-0 menu-level-2"> <ul class="menu nav"><li class="first leaf menu-mlid-8563"><a href="/student-resources/z-student-resources">A-Z Student Resources</a></li> <li class="collapsed menu-mlid-8499"><a href="/student-resources/academic-advising-center">Academic Advising Center</a></li> <li class="leaf menu-mlid-8500"><a href="/student-resources/building-hours">Building Hours</a></li> <li class="collapsed menu-mlid-8525"><a href="/student-resources/career-services">Career Services</a></li> <li class="leaf menu-mlid-9205"><a href="https://courses.sci.pitt.edu" title="">Course Schedule</a></li> <li class="leaf menu-mlid-9206"><a href="/student-resources/enrollment-resources">Enrollment Resources</a></li> <li class="collapsed menu-mlid-8521"><a href="/student-resources/graduation">Graduation</a></li> <li class="leaf menu-mlid-8524"><a href="/student-resources/information-technology">Information Technology</a></li> <li class="collapsed menu-mlid-8514"><a href="/student-resources/newly-admitted-students">Newly Admitted Students</a></li> <li class="leaf menu-mlid-8607"><a href="/student-resources/ombudsperson">Ombudsperson</a></li> <li class="expanded active-trail menu-mlid-8507 active"><a href="/student-resources/policies" class="active-trail">Policies</a><ul class="menu nav"><li class="first leaf active-trail active menu-mlid-8508 active"><a href="/student-resources/policies/academic-integrity-policy" class="active-trail active">Academic Integrity Policy</a></li> <li class="last leaf menu-mlid-9186"><a href="/student-resources/policies/experiential-learning-policies">Experiential Learning Policies</a></li> </ul></li> <li class="leaf menu-mlid-9207"><a href="/student-resources/sci-ubelong">SCI UBelong</a></li> <li class="leaf menu-mlid-8546"><a href="/student-resources/school-forms">School Forms</a></li> <li class="leaf menu-mlid-9192"><a href="/student-resources/student-appeals">Student Appeals</a></li> <li class="leaf menu-mlid-8506"><a href="/student-resources/student-organizations">Student Organizations</a></li> <li class="collapsed menu-mlid-8528"><a href="/student-resources/student-success">Student Success</a></li> <li class="last leaf menu-mlid-8720"><a href="/student-resources/who-contact">Who to Contact</a></li> </ul></div> </section> </div> </aside> <!-- /#sidebar-second --> </div> </div><!-- /#content-wrapper --> </div><!-- /.main-container --> <footer class="footer container-fluid"> <div class="container"> <div class="site_title"> <div class="footer-logo footer__logo"> <img src="/sites/all/themes/pitt_theme_spirit/img/pitt_shield_white.png" width="261" alt="University of Pittsburgh logo" /> <div class="region region-footer-logo"> <section aria-label="" id="block-views-title-block-block-3" class="block block-views clearfix"> <div class="view view-title-block view-id-title_block view-display-id-block_3 footer-site-info--title-block view-dom-id-2121b88549f78f3feb983804ddda377b"> <div class="view-content"> <div> <span class="single_title site_logo"><a href="/" class="site-info__title">School of Computing and Information</a></span> </div> </div> </div> </section> </div> </div> </div> <div class="region region-footer"> <section aria-label="" id="block-views-title-block-footer-title-block" class="block block-views block__address-block clearfix"> <div class="view view-title-block view-id-title_block view-display-id-footer_title_block footer--title-block view-dom-id-66f985ea656889ae98f31e2cee125ad0"> <div class="view-content"> <div> <div class="field-contact-info"> <p>Information Sciences Building, Fifth Floor<br /> 135 North Bellefield Avenue<br /> Pittsburgh, PA 15260</p> <p>412-383-4396</p> <p><a href="mailto:sciadmit@pitt.edu">sciadmit@pitt.edu</a></p> </div> </div> </div> </div> </section> <section aria-label="" id="block-nodesinblock-1" class="block block-nodesinblock clearfix"> <div class="nodesinblock first last odd" id="nodesinblock-207"> <div class="node-207 node node-block block-type-with-text nodesinblock--with-text clearfix nodesinblock--default" about="/block/resources-footer-block" typeof="sioc:Item foaf:Document"> <div class="block-column nodesinblock__column"> <div name="Resources Footer Block"> <h4>Resources<a href="https://www.coronavirus.pitt.edu/">​</a></h4> <ul class="two-column"> <li><a href="/node/399">Departments and Programs</a></li> <li><a href="/node/501">Degrees and Programs</a></li> <li><a href="/node/333">Admissions</a></li> <li><a href="https://www.registrar.pitt.edu/calendars">Academic Calendar</a></li> <li><a href="https://courses.sci.pitt.edu">Course Schedule</a></li> <li><a href="/people">Faculty Directory</a></li> <li><a href="https://www.sci.pitt.edu/people/staff">Staff Directory</a></li> <li><a href="https://www.sci.pitt.edu/give-sci">Give Now</a></li> <li><a href="https://sciatpitt.wufoo.com/forms/q1emy2a21khuibd/">Submit Web Changes</a></li> </ul> </div> </div> </div> </div> </section> <section aria-label="" id="block-views-7991932e043137b92876af32e9d227ec" class="block block-views block__social-media clearfix"> <div class="view view-social-media-icons view-id-social_media_icons view-display-id-footer_social_block social-block footer--social-block view-dom-id-70f277d51b6a7e39c330c55a28445b5f"> <div class="view-content"> <div class="views-row views-row-1 views-row-odd views-row-first"> <div class="views-field views-field-nothing"> <span class="field-content"><a href="mailto:sciadmit@pitt.edu" target="_blank" title="Email Us"><span aria-label="Email Us" class="fa fa-envelope" aria-hidden="true"></span></a></span> </div> </div> <div class="views-row views-row-2 views-row-even"> <div class="views-field views-field-nothing"> <span class="field-content"><a href="https://www.facebook.com/SciPitt/" target="_blank" title="Find SCI on Facebook"><span aria-label="Find SCI on Facebook" class="fab fa-facebook-f" aria-hidden="true"></span></a></span> </div> </div> <div class="views-row views-row-3 views-row-odd"> <div class="views-field views-field-nothing"> <span class="field-content"><a href="https://twitter.com/SciPitt" target="_blank" title="Follow SCI Pitt on Twitter"><span aria-label="Follow SCI Pitt on Twitter" class="fab fa-twitter" aria-hidden="true"></span></a></span> </div> </div> <div class="views-row views-row-4 views-row-even"> <div class="views-field views-field-nothing"> <span class="field-content"><a href="https://www.linkedin.com/school/university-of-pittsburgh-school-of-computing-and-information/?viewAsMember=true" target="_blank" title="Follow SCI on LinkedIn"><span aria-label="Follow SCI on LinkedIn" class="fab fa-linkedin" aria-hidden="true"></span></a></span> </div> </div> <div class="views-row views-row-5 views-row-odd views-row-last"> <div class="views-field views-field-nothing"> <span class="field-content"><a href="https://www.instagram.com/pitt_sci/?hl=en" target="_blank" title="Follow SCI on Instagram"><span aria-label="Follow SCI on Instagram" class="fab fa-instagram" aria-hidden="true"></span></a></span> </div> </div> </div> </div> </section> </div> <div id="copyright" class="container-fluid footer__copyright"> <div class="region region-copyright"> <section aria-label="" id="block-block-1" class="block block-block clearfix"> <span>Revised 11/22/24</span><span>Copyright 2024</span> </section> </div> </div> </div> </footer> <script src="/sites/default/files/js/js_MRdvkC2u4oGsp5wVxBG1pGV5NrCPW3mssHxIn6G9tGE.js"></script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-b367e9f72e0ce8cc173","applicationID":"965156203","transactionName":"ZlxSYUECDURSUkNQVl8WZUdaTExeXVVSQRdBUUA=","queueTime":0,"applicationTime":352,"atts":"ShtRFwkYHko=","errorBeacon":"bam.nr-data.net","agent":""}</script></body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10