// ==UserScript== // @name 4cheddit skin // @namespace 4cheddit // @version 2018.11.31 // @include *://*.4chan.org/* // @include *://*.4channel.org/* // @exclude *://is.4chan.org/* // @grant unsafeWindow // @grant GM_getValue // @grant GM_setValue // @description Changes 4chan pages to look like Reddit // @downloadURL none // ==/UserScript== 'use strict'; //Fallback if(document.getElementById('redditcss')){ throw '' } if(typeof unsafeWindow=='undefined'){ window.unsafeWindow=window window.GM_getValue=function(key){ return localStorage['*4cheddit*'+key] } window.GM_setValue=function(key,val){ localStorage['*4cheddit*'+key]=val } } // Create element function function element(tag,parent,attributes,innerhtml){ var newtag=document.createElement(tag) if(attributes){ for(var i in attributes){ newtag.setAttribute(i,attributes[i]) } } if(innerhtml){ newtag.innerHTML=innerhtml } if(parent){ parent.appendChild(newtag) } return newtag } //Converts timestamp to relative time function toreltime(inti,tnow){ var timd=(tnow-inti)/1000 var sec=timd%60|0 timd/=60 var min=timd%60|0 timd/=60 var hrs=timd%24|0 timd/=24 var day=timd%30.4375|0 var week=timd/7|0 var dayw=day%7|0 timd/=30.4375 var mon=timd%12|0 var yer=Math.floor(timd/12) if(!mon&&!yer&&day>6){ var tout=week+' week'+(week>1?'s ':' ')+(dayw&&week<2?'and '+dayw+' day'+(dayw>1?'s ':' '):'') }else{ var till=[ yer?yer+' year'+(yer>1?'s ':' '):'', mon&&yer<2?mon+' month'+(mon>1?'s ':' '):'', day&&mon<2?day+' day'+(day>1?'s ':' '):'', hrs&&day<2?hrs+' hour'+(hrs>1?'s ':' '):'', min&&hrs<3?min+' minute'+(min>1?'s ':' '):'', (sec&&min<10)||!min?sec+' second'+(sec>1?'s ':' '):'' ] for(var g=0;g>'+post]=1 } localStorage['4chan-track-'+board+'-'+thread]=JSON.stringify(obj) } } } var postsbyme=[] var currentthread='\\d+' if(activepage=='thread'){ var resto=document.getElementsByName('resto')[0] if(resto){ currentthread=resto.value }else{ var match=location.pathname.match(/\/([0-9]+)/) if(match){ currentthread=match[1] } } } for(var i in localStorage){ var match=i.match(new RegExp('^4chan-track-'+currentboard+'-('+currentthread+')$')) if(match){ var thread=JSON.parse(localStorage[i]) for(var j in thread){ postsbyme.push(j.substr(2)) } } } } var tnow=new Date var utc=0 if(replies.length>200){ var end=200 }else{ var end=replies.length } for(var i=0;i=3600){ replies[j].classList.add('postbump') } utc=newutc if(replies[j].classList.contains('opContainer')){ var blockquote=replies[j].getElementsByTagName('blockquote')[0] if(!blockquote.innerHTML){ blockquote.style.display='none' } } //Reposted images timestamp var filelink=replies[j].querySelector('.fileText>a,.file-info>a') if(filelink){ var match=filelink.innerHTML.match(/^(\d{13})s?\.\w+$/) if(match&&match[1]>1042e9&&match[1]/g,'') if((uid&&opname==uid.className)||opname==postname){ var opmark=element('span',0,0,' [S] ') nameblock.parentNode.insertBefore(opmark,nameblock.parentNode.getElementsByClassName('dateTime')[0]) nameblock.classList.add('submitterlink') } } //Mark my posts var postid=replies[j].querySelector('.postNum.desktop>:last-child').innerHTML if(j&&postsbyme&&postsbyme.indexOf(postid)+1&&!replies[j].getElementsByClassName('yourlink')[0]){ var memark=element('span',0,0,' [') element('a',memark,{ class:'pointer yourlink' },'U').onclick=function(){ userlink() } memark.appendChild(document.createTextNode('] ')) nameblock.parentNode.insertBefore(memark,nameblock.parentNode.getElementsByClassName('dateTime')[0]) nameblock.classList.remove('submitterlink') nameblock.classList.add('yourlink') } //Mark capcodes var capcode=replies[j].querySelector('.postInfo .capcodeMod,.postInfo .capcodeAdmin') if(capcode&&capcode.lastChild.tagName=='IMG'){ if(capcode.classList.contains('capcodeAdmin')){ element('span',capcode,0,' [A]') }else{ element('span',capcode,0,' [M]') } } //Exand files if(thesettings.expandfiles){ var thumblink=replies[j].querySelector('a.fileThumb') if(thumblink){ thumblink.onclick=expandthumb expandlist.push(thumblink) } } } } if(postcount){ var repliesnumber=document.querySelectorAll('.thread .replyContainer').length if(repliesnumber){ postcount.innerHTML='all '+repliesnumber+' comments' postcount.style.marginBottom='' } } } } //Update posts with delay function updatepostsx(){ var currenttime=+new Date var pasttime=replycache[0] if(pasttime+1000>=currenttime){ setTimeout(function(){ if(pasttime==replycache[0]){ updatepostsx() } },pasttime+1000) }else{ replycache[0]=currenttime updateposts() } } //Expand thumbnails function expandthumb(event,close){ getSelection().removeAllRanges() if(close){ removeEventListener('keydown',expandkeydown) removeEventListener('keyup',expandkeyup) removeEventListener('blur',expandkeyup) removeEventListener('contextmenu',expandkeyup) expandkeyup() expanddiv.style.display='none' var fromtop=[pageXOffset,pageYOffset] expandlist[expandindex].focus() if(!event.shiftKey){ scroll(fromtop[0],fromtop[1]) } expandindex=-1 expandnextfile() expandthis=0 }else{ event.preventDefault() event.stopPropagation() var target=event.target for(;target;){ if(target.tagName=='A'){ break } target=target.parentNode } expanddiv.style.display='block' expandindex=expandlist.indexOf(target) expandnextfile() addEventListener('keydown',expandkeydown) addEventListener('keyup',expandkeyup) addEventListener('blur',expandkeyup) addEventListener('contextmenu',expandkeyup) } } function expandkeydown(event){ var nodefault=1 if(expandmode){ switch(event.keyCode){ case 13:{ // Enter expandthumb(event,1) break } case 32:{ // Space if(event.ctrlKey){ expanddiv.style.background='none' expandthis.style.opacity='.5' }else if(expandthis.paused){ expandthis.play() }else{ expandthis.pause() } break } case 37:{ // Left var totime=expandthis.currentTime-5 if(totime<0){ totime=0 } expandthis.currentTime=totime break } case 39:{ // Right var totime=expandthis.currentTime+5 var maxtime=expandthis.duration if(totime>=maxtime){ if(expandthis.paused){ totime=maxtime }else{ if(expandthis.loop){ totime=0 }else{ expandthis.pause() totime=maxtime } } } expandthis.currentTime=totime break } case 38:{ // Up expandnextfile(-1) break } case 40:{ // Down expandnextfile(1) break } default:{ nodefault=0 break } } }else{ switch(event.keyCode){ case 13:{ // Enter expandthumb(event,1) break } case 32:{ // Space expanddiv.style.background='none' expandthis.style.opacity='.5' break } case 37: case 38:{ // Left, Up expandnextfile(-1) break } case 39: case 40:{ // Right, Down expandnextfile(1) break } default:{ nodefault=0 break } } } if(nodefault){ event.preventDefault() } } function expandkeyup(event){ if(!event||event.keyCode==32||event.type=='blur'||event.type=='contextmenu'){ expanddiv.style.background= expandthis.style.opacity='' } } function expandnextfile(dir){ if(expandthis){ var opacity=expandthis.style.opacity expanddiv.removeChild(expandthis) } if(expandindex+1){ if(dir){ expandindex=(expandindex+dir)%expandlist.length if(expandindex<0){ expandindex=expandlist.length-1 } } var url=expandlist[expandindex].href if(/\.webm$/.test(url)){ expandmode=1 expandthis=element('video',expanddiv,{ preload:1, controls:1 }) if(!thesettings.pausevideos){ expandthis.autoplay=1 } if(!thesettings.noloopvideos){ expandthis.loop=1 } if(!thesettings.unmuteWebm){ expandthis.muted='muted' } }else{ expandmode=0 expandthis=element('img',expanddiv) } expandthis.src=url expandthis.style.opacity=opacity } } //Automatically show quick reply function showqr(){ setTimeout(function(){ unsafeWindow.QR.realshow=unsafeWindow.QR.show unsafeWindow.QR.show=function(){ this.realshow.apply(this,arguments) document.getElementById('qrFile').setAttribute('accept',fileaccept) if(currentboard=='s4s'&&thesettings.autofortune){ document.querySelector('#quickReply [name="email"]').value='fortune' } document.body.classList.add('qropened') } unsafeWindow.QR.realclose=unsafeWindow.QR.close unsafeWindow.QR.close=function(){ this.realclose.apply(this,arguments) document.body.classList.remove('qropened') } if(activepage=='thread'){ if(thesettings.qrautoopen&&!document.getElementsByClassName('closed').length){ if(!document.getElementsByClassName('open-qr-wrap')[0]){ QR.init() } QR.show(document.getElementsByName('resto')[0].value) } var update=document.querySelectorAll('[data-cmd="update"]')[1] if(update){ update.accessKey='r' } } //Add new options to settings if(unsafeWindow.SettingsMenu){ unsafeWindow.SettingsMenu.options['4cheddit Settings']={ fullreddit:['Reddit logo and icon','Make everybody think that you\'re actually browsing Reddit',0], expandfiles:['Expand files to full screen [Help]','Overrides "Image expansion" option',1], pausevideos:['Don\'t autoplay videos','Videos can be played by pressing spacebar',0,1], noloopvideos:['Don\'t loop videos','You can temporarily turn on loop in video right click menu',0,1], qrautoopen:['Automatically open Quick Reply','Open Quick Reply as soon as the page loads',0], autofortune:['Always check your #fortune','Never worry that you\'ll break the first rule',0,1], listcatalog:['Catalog links in board list','Boards at the top of the page will always lead you to catalog',0], hidenavlinks:['Hide [Return] [Catalog] [Top] buttons','',true] } if(GM_getValue('wordreplace')){ unsafeWindow.SettingsMenu.options['4cheddit Settings'].exportwordreplace=[ 'Export replace and highlight patterns: [Export]','It has been moved to a separate userscript',0 ] } } unsafeWindow.expandfiles=function(){ var menu=element('div',document.body,{ class:'UIPanel' }) menu.innerHTML='
Expand files to full screen Help\ Close
\ With this setting on, the images and videos will be opened in the middle of the screen with a darkened background

\ Hotkeys:
\ \u25C0, \u25B2, \u25B6, \u25BC (only \u25B2 and \u25BC for videos):
Go to previous/next file in the thread

\ \u25C0, \u25B6 (videos):
Seek 5 seconds backwards/forwards

\ Space (videos):
Pause video

\ Space (Ctrl+Space for videos):
Hold the button to make the view transparent, useful when thying to read a post and looking at a picture at the same time

\ Enter, Click:
Closes the file

\ \u21E7 Shift+Enter, \u21E7 Shift+Click:
Close the file and also scroll to the post that it was attached to

' menu.onclick=closepanel } unsafeWindow.exportreplace=function(){ var replace={ patterns:[] } var wr_strings=GM_getValue('wordreplace') if(wr_strings){ wr_strings=JSON.parse(wr_strings) }else{ wr_strings=[] } for(var i in wr_strings){ replace.patterns[i]={ on:wr_strings[i][0], pattern:wr_strings[i][1], replace:wr_strings[i][2], board:wr_strings[i][3], mark:wr_strings[i][4] } } replace=JSON.stringify(replace).replace(/&/g,'&').replace(//g,'>') var menu=element('div',document.body,{ class:'UIPanel' }) menu.innerHTML='
Export replace and highlight patterns\ Close
\ \
\ \ \
\
' menu.onclick=closepanel document.getElementById('replacedl').onclick=function(){ var txt=document.getElementById('replacetxt').value txt=btoa(encodeURIComponent(txt).replace(/%([0-9A-F]{2})/g,function(a,b){ return String.fromCharCode('0x'+b) })) element('a',0,{ href:'data:application/json;base64,'+txt, download:'wordreplace.json' }).click() } document.getElementById('replaceclear').onclick=function(event){ if(confirm('Are you sure you want to clear your Replace and highlight patterns? This will remove the option to export them')){ GM_setValue('wordreplace','') var parent=event.target.parentNode.parentNode.parentNode parent.parentNode.removeChild(parent) } } } },1000) } function closepanel(event){ if(event.target.className=='UIPanel'){ event.target.parentNode.removeChild(event.target) } if(event.target.tagName=='IMG'){ var target=event.target.parentNode.parentNode.parentNode.parentNode target.parentNode.removeChild(target) } if(event.target.classList.contains('closeIcon')){ var target=event.target.parentNode.parentNode.parentNode target.parentNode.removeChild(target) } } //User link that lists posts made by you function userlink(board){ if(board==undefined){ var menu=element('div',document.body,{ class:'UIPanel', id:'userlink' }) if(activepage=='catalog'){ var closebutton='' }else{ if(unsafeWindow.Main){ var iconurl=unsafeWindow.Main.icons.cross }else{ var iconurl='//s.4cdn.org/image/buttons/futaba/cross.png' } var closebutton='Close' } menu.innerHTML='
Posts made by you\ '+closebutton+'
\

' menu.onclick=closepanel var userlinkselect=document.getElementById('userlinkselect') var userlinkposts=document.getElementById('userlinkposts') document.getElementById('userlinkselect').onchange=function(event){ userlink(event.target.value) } var userlinkboards={} element('option',userlinkselect,{ value:'' },'All') for(var i in localStorage){ var match=i.match(/^4chan-track-(\w+)-(\d+)$/) if(match){ var thread=JSON.parse(localStorage[i]) for(var j in thread){ if(!userlinkboards[match[1]]){ userlinkboards[match[1]]=[] } userlinkboards[match[1]].push([match[2]*1,j.substr(2)*1]) } } } Object.keys(userlinkboards).sort().forEach(function(board){ if(board=='s4s'){ var boardname='[s4s]' }else{ var boardname='/'+board+'/' } var option=element('option',userlinkselect,{ value:board },boardname) var divparent=element('div',userlinkposts,{ id:'userlink-'+board }) element('br',divparent) element('b',divparent,0,boardname) var linkparent=element('ul',divparent) userlinkboards[board]=userlinkboards[board].sort(function(a,b){ return a[1]>b[1]?1:-1 }) userlinkboards[board].forEach(function(post){ if(board==currentboard){ var text='>>'+post[1] }else{ var text='>>>/'+board+'/'+post[1] } var li=element('li',linkparent) element('a',li,{ href:'/'+board+'/thread/'+post[0]+'#p'+post[1] },text) }) }) userlinkselect.focus() if(userlinkboards[currentboard]){ userlinkselect.value=currentboard userlink(currentboard) } }else{ if(board){ var style='#userlinkposts>:not(#userlink-'+board+'){display:none}' }else{ var style='' } document.getElementById('userlinkstyle').innerHTML=style } } if(document.getElementsByTagName('meta').length){ //Get settings var thesettings=localStorage['4chan-settings'] if(thesettings){ thesettings=JSON.parse(thesettings) if(thesettings.expandfiles==undefined){ thesettings.expandfiles=true localStorage['4chan-settings']=JSON.stringify(thesettings) } if(thesettings.hidenavlinks==undefined){ thesettings.hidenavlinks=true localStorage['4chan-settings']=JSON.stringify(thesettings) } }else{ thesettings={} var fullreddit=GM_getValue('fullreddit') if(fullreddit){ thesettings.fullreddit=fullreddit=='true'?1:0 } thesettings.expandfiles=true thesettings.hidenavlinks=true } var homelinkimg,faviconimg,thecss longstrings() //Add CSS element('style',document.head,{ id:'redditcss' },thecss) //Determine current page format, board name, and thread id if(document.body.classList.contains('is_index')){ var activepage='index' }else if(document.getElementById('content')){ var activepage='catalog' }else if(location.pathname.indexOf('/thread/')+1){ var activepage='thread' }else{ var activepage='main' } var currentboard='' var match=document.body.classList[0] if(match){ match=match.match(/^board_(\w+)$/) if(match){ var currentboard=match[1] }else if(activepage!='main'){ match=location.pathname.match(/^\/(\w+)\//) if(match){ var currentboard=match[1] } } } // Blue bar if(thesettings.listcatalog){ var catalog='catalog' }else{ var catalog='' } var bluebar=element('div',0,{ id:'bluebar' }) document.body.insertBefore(bluebar,document.body.firstChild) var boardlist=element('div',0,{ id:'boardlist' }) //Board list var boardarray=[] if(location.pathname=='/'){ //Home page board list var boardlinks=document.querySelectorAll('#boards .boxcontent a') for(var i=0;i.boardList>a') for(var i=0;i'+boardarray[i]+'') } } var front=location.pathname=='/'?' class="currentboard"':'' boardlist.innerHTML='front - all - random | '+boardnodes.join(' - ') if(boardlast){ boardlist.appendChild(document.createTextNode(' | ')) element('a',boardlist,0,'[...]').onclick=function(event){ event.target.parentNode.removeChild(event.target) showallboards.style.display='inline' } var showallboards=element('span',boardlist,{ style:'display:none' },boardlast) } document.body.insertBefore(boardlist,bluebar) document.getElementById('randomboardlink').addEventListener('click',function(){ location='/'+boardarray[Math.random()*boardarray.length|0]+'/'+catalog }) //Logo that links to home page var homelink=element('a',bluebar,{ id:'bluebar-logo', href:'/' }) element('img',homelink,{ src:homelinkimg }) if(currentboard){ element('a',bluebar,{ id:'bluebar-return', href:'/'+currentboard+'/' },currentboard) } if(activepage=='thread'){ var newcontent='comments' }else{ var newcontent='new' } if(activepage=='catalog'){ var newclass='bluebar-inactive' var catalogclass='bluebar-active' var newhref='/'+currentboard+'/' }else{ var newclass='bluebar-active' var catalogclass='bluebar-inactive' var newhref=location.pathname } //Either new or comments tab element('a',bluebar,{ class:newclass, href:newhref },newcontent) //Catalog tab if(currentboard){ element('a',bluebar,{ class:catalogclass, href:'/'+currentboard+'/catalog' },'catalog') } if(thesettings.fullreddit){ //Change favicon document.querySelector('[rel="shortcut icon"]').setAttribute('href',faviconimg) } if(activepage!='main'){ //Paste fortune into traditional post form if(thesettings.autofortune&¤tboard=='s4s'){ var forms=document.getElementsByName('email') for(var i=0;ia:nth-of-type(-1n+3)') for(var i=links.length;i--;){ links[i].parentNode.removeChild(links[i]) } } var navchilds=document.getElementsByClassName('navLinksBot')[0].childNodes for(var i=navchilds.length;i--;){ if(navchilds[i].nodeType==3){ navchilds[i].parentNode.removeChild(navchilds[i]) } } postcount=element('div',document.querySelector('.post.op'),{ class:'postcount' }) var repliesnumber=document.querySelectorAll('.thread .replyContainer').length if(repliesnumber){ postcount.innerHTML='all '+repliesnumber+' comments' }else{ postcount.innerHTML='no comments (yet)
there doesn\'t seem to be anything here
' postcount.style.marginBottom='30px' } } if(activepage=='index'||activepage=='thread'){ var opcontainers=document.querySelectorAll('.opContainer') for(var opnum=0;opnum/g,' ') var fortune=subject.getElementsByClassName('fortune')[0] if(fortune){ fortune.parentNode.removeChild(fortune) } var spoilers=opcontainers[opnum].querySelectorAll(':scope .subject>s') for(var i=0;i/g,'').replace(/&|&[lg]t;|[^\s]/g,'?') } if(subject.textContent.length>50){ var text=subject.textContent.slice(0,50).replace(/\W+\w+$/,'') }else{ var text=subject.textContent } subject.innerHTML='' subject.appendChild(document.createTextNode(text)) if(body.innerHTML==text){ body.style.display='none' } } var replylink=opcontainers[opnum].getElementsByClassName('replylink')[0] var threadurl=replylink?replylink.href:location.pathname subject.innerHTML=''+subject.innerHTML+'' postinfo.insertBefore(postinfo.getElementsByClassName('nameBlock')[0],postinfo.firstChild) postinfo.insertBefore(document.createTextNode(' by '),postinfo.firstChild) postinfo.insertBefore(postinfo.getElementsByClassName('dateTime')[0],postinfo.firstChild) postinfo.insertBefore(document.createTextNode('submitted '),postinfo.firstChild) var op=opcontainers[opnum].getElementsByClassName('op')[0] var optable=element('div',0,{ id:'optable' }) var file=op.getElementsByClassName('file')[0] if(file){ var filetext=file.querySelector(':scope .fileText,:scope .file-info') if(filetext){ postinfo.insertBefore(filetext,postinfo.firstChild) } optable.appendChild(file) } postinfo.insertBefore(newdiv,postinfo.firstChild) optable.appendChild(postinfo) op.insertBefore(optable,op.firstChild) } } if(activepage=='thread'){ var nameblock=document.querySelector('.opContainer .nameBlock') var uid=nameblock.getElementsByClassName('posteruid')[0] if(uid){ opname=uid.className }else{ var opsname=nameblock.innerHTML.trim().replace(/
/g,'') var tempopsname=opsname if(opsname.indexOf('class="flag')+1){ var newdiv=element('div',0,0,opsname) newdiv.removeChild(newdiv.getElementsByClassName('flag')[0]) tempopsname=newdiv.innerHTML.trim() } if(tempopsname!='Anonymous'){ opname=opsname } } } if(activepage=='index'||activepage=='thread'){ //Expand images if(thesettings.expandfiles){ var expanddiv=element('div',document.body,{ id:'imgexpand', style:'display:none' }) expanddiv.onclick=function(event){ if(!expandmode||event.target!=expandthis){ expandthumb(event,1) } } var expandthis var expandmode=0 var expandlist=[] var expandindex=-1 } setInterval(function(){ updateposts(0,1) },30000) updateposts() document.addEventListener('4chanParsingDone',updateposts) document.addEventListener('PostsInserted',updatepostsx) //Show Quick Reply if(unsafeWindow.Main){ showqr() }else{ document.addEventListener('4chanMainInit',showqr) } document.addEventListener('4chanSettingsSaved',function(){ var thesettings=JSON.parse(localStorage['4chan-settings']) GM_setValue('fullreddit',thesettings.fullreddit+'') }) } } function longstrings(){ if(thesettings.fullreddit){ homelinkimg='data:;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAAoCAMAAAACNM4XAAAAhFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvLy+fn58/Pz8AAAAAAADv7+////8PDw8AAAAAAAAAAAB/f38AAAAAAABvb2+Pj4+/v7+vr69PT08fHx/f399fX1/Pz8//on//cz//8+//f0//xK//RQD/uZ//UA//rY//Zy//il8EhIVuAAAAGHRSTlMADx9vv3+v/+8v////n9////9fz4//Tz8+qhQLAAADlUlEQVR4Ab2VbXejLhOHhwcdNKIIGhobk+5Tdv97f//vd5cJ0pC65/iiyfViZX8duGTwEPgM4/SvkAWDp1KiKkVV1rtGPtXLkFdCt9iZrufPFFsHgeeLtYDAUI/1c1ut4jZFIZ7q3Tt4OswXWrZKDqJ6ltJzAF9i/XKYpul1PPZt8Z5Uj/bvVd1LOY8nk5jOOLRzL9kjvVztzAHHzmS81XNnzvKRYnE0u34ynzjXXYePFNvjqX8Npm/fv5Hxx8/vv8KzOT9WzPF4Dp5fl8vldxj8vFz+hOcJjxIeiUVq9O938X9h8P19YAJHx2E7TGuWJ1VJiS0Eg1Xw2uG/l78/aOt/Lv+jZCxgO6ARdZ5IRAHgENGtm9XJrPKyWRw18lNSgMXR7FDAGuVhXTz7LxAXoZ8YtuAVDpDh+27Ne2jhS3dcfCqAsiFz80I9n+qRrpDef4U4nvG6mLk6KE/nvm9qnMm76y18iTh+1atiYEN/vTNP00TPqVF7uKOCCPeQ46t7secfYqDyFTHhZX9+PcV7+lCrgkHCK7QwIDrSa3ynFTczQ6D5h9iG7irNotjRRIlEy+/N+7ZpEJummXE+z2X0plclnQewGHGxQuMV1UYxKzE62quYJnKM2HtvP0/GdNM0vYXPrHYsExMtu3pbqZJ5uAZIkJi8ziGRxDCs75ip12YyiWZqijux0hbovekeFXi9p3wIfLgvF7GNJbzMxP86Y1ubW/HLeFK5WFWxr44iWp/TySlGgY7iljoTkFvEw5iJx9HMVSamqSwOAg5xoA4US89o3QoR90DwLWI5ZeLjzjT+VtxCYI+obkK57HvZsqQ4lbgNYn24FYdxnYlleoMiEo6QgryqvFl92CAWx7DLRD2dED6LB8zJ1vI0log6zdsgZuptHE0CzYteEWvMkNladqs4R/Rjk7xv80FxWG2184kKVlqtb1YvN4gp7hbxAdsKVsR7RIRICngcO6oSiMhiojaJgbt0yHWoXxEzRBSp3jIKBiAqpCr+cSta3CYG2yydVmxdDJpuEkIoLChACpi7ikEuJUxtEtOdNxmiQVR2VczDYtpzbyWtSoEqqsq2GMUew+zKW4WbxPLYmcNMp7zrOzP1+zUxHWr2+2TzzzxPtogxOM91F7xTsJeZOP3Pt3hl+cXeKyScXKrskrgkrv4tVnhHAQlWygoSVkspS8vSX235HghWyaWKiTJUQCXLUCXksCzjYeH/NjtPA1utKpIAAAAASUVORK5CYII=' faviconimg='data:;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAEJ0lEQVR4AbWXfyydVxjH3ev2LpdGhExMMg0LwhiSpmYmRFo/E8nEX5amTCSqa9lMLNIskw1LEMGYf/z6YyFjs0mQiagIksWinUldNCLVNKj53bHhfvd90pfcEr3uvD7JJ7znnOd5XrnnPuewUYm79DP6LtXTi/QXV1fXLf5spa/Rc+N1+ie9Sb+nRvqoqKgIQl5eHvh8i54bH9FCak5ZfX09hPLycvA5n54bnTSImuNmMBiMUVFR0Ov1D/jsRM+Fi/ThCXM6eolqqWro6Hv0Dv2W/kpnaRW9SS+rWTCU3qZX6Bu03NHRcSElJQWVlZXo7e3F6OgoxJ6eHpSVlSE5ORn29vaPufYr6qTE3lZyWUV2ZGQkqqqq4O7ubqLPGxsbsb29DUtsbm6iuroaLi4u615eXibJIbkkJz0dzs7Of0mx0tJSxMXFYW1tDdaysLCAsLAwNDc3Q3Ix5wq1OeqxAaJhA9kcGRlBSEgIdnZ2cMgf94BPw4HmL3AMGfuEcw/6ccD6+joCAgJgNBohOSU3PRVf8/NGfz+TmfPxFeCaDaXzRhzyZEoZp7cuw5yWlhYpDslJT41Gp9M93tvbw0vUZr8o8qE78PcmDtne4tilF3M1d2DO4uKiFL9PNfT0aLXah8c2nckEPLoPPF/HMTgmc7LGnPn5eTDdPWo1de3t7TgrNTU1YK4vqdW85enpubW0tARzGhoaMDg4iKPImPR/c+bm5uTr+Ew5sP4XH3AX/zM1NYUDJicnER8fD19fX8TExECU32VM5g4YGxuDh4eHHMcR9EyE8WCZzs3NxfT0NA6Q/TE7Oyu+1KDGx8eRmZkJbmI5hN6hqqCnd21tbU1BQUHIyMhARUUFmpqaIEobTktLg7+/PzQazZ7Sfm2parzt4ODwTIqvrKygr68PtbW1kEtHcXEx6urqMDAwgI2NDbi5uYE95AljPKk68C//ra2tDdHR0bBEYGAgurq6wLBeqgr+sbGxmJiYQFJSEiwh/X95eRmhoaFg7Jv0zCQXFBRA+nliYiIsIefH6uoqsrKywNir9MwkZGdn4+nTp4iIiIAl/Pz8sLu7i9TUVDD2fVVuvfye/yvngo+PD16FiW3Y29sb8gJyh2CsPVWF70pKShAcHPzKu8HMzAxko+bn54Mx31DVMNAf2ZDQ3d2Nk2ArliuZFG+iF6jqpKSnp+MkEhISpPg1ei5cpVV2dnb7Rw8oQdo0+8U215TRcKoqOfLZdnZ2orCwENevX4c5+/v7kF4ht+WOjg6Eh4ebGJNKz4SWXqAGXk5mpP0ODw9jaGgI0u1ycnIg7Ve8ceMG5OYr86K8KON+pwYlh5Zahcbsv1wnWkhb6Q+0nf5EO+jPih3KWLuyppV+Tp2UHHolp9VoqE5JYFCSOVBHJbmzopMy5qCsMSgxOkuF/wPG+KMUMQiaLQAAAABJRU5ErkJggg==' }else{ homelinkimg='data:;base64,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' } thecss='\ /* Hide a lot of stuff */\ #ctrl-top,.boardBanner,body>.center,#delform>.center,#content>.center,hr,#blotter,#boardNavDesktopFoot,.stylechanger,#styleSwitcher,\ .cataloglink,#qf-clear,#content .navLinks,#content #settings>:nth-child(3),#op+.navLinks,.rules,#boardNavDesktop,.ad-plea,\ #qf-ctrl.active::after,#quote-preview .postcount,h1.qr-link-container+#togglePostFormLink{\ display:none!important;\ }\ #qf-ctrl,#ctrl>#settings>:nth-child(5),#hidden-label,#togglePostForm,#togglePostFormLink,.hasrelative,.navLinksBot{\ color:transparent!important;\ font-size:0!important;\ }\ .is_index .board>hr{\ display:block!important;\ }\ body{\ font-family:verdana,arial,helvetica,arial unicode ms,symbola,sans-serif!important;\ background:#fff;\ min-height:100%;\ margin:0!important;\ padding:0;\ color:#000;\ }\ /* Highlight dubs */\ .postNum [href$="00"]+a,\ .postNum [href$="11"]+a,.postNum [href$="22"]+a,.postNum [href$="33"]+a,\ .postNum [href$="44"]+a,.postNum [href$="55"]+a,.postNum [href$="66"]+a,\ .postNum [href$="77"]+a,.postNum [href$="88"]+a,.postNum [href$="99"]+a{\ background:#ffa500;\ }\ #content [data-id$="00"],\ #content [data-id$="11"],#content [data-id$="22"],#content [data-id$="33"],\ #content [data-id$="44"],#content [data-id$="55"],#content [data-id$="66"],\ #content [data-id$="77"],#content [data-id$="88"],#content [data-id$="99"]{\ outline:2px solid #ffa500;\ }\ /* Index page list */\ .pagelist{\ background:none!important;\ border:0!important;\ clear:both;\ white-space:nowrap;\ }\ .pagelist::before{\ content:"view more:";\ color:#808080;\ font-size:12px;\ float:left;\ }\ .prev input,.next input,.depagelink{\ content:"next \\203A";\ padding:1px 4px;\ background:#eee;\ border:1px solid #ddd;\ border-radius:3px;\ font-weight:bold;\ color:#369!important;\ cursor:pointer;\ text-transform:lowercase;\ font-size:12px;\ }\ .prev input:hover,.next input:hover{\ background:#f0f0f0;\ border:1px solid #82a6c9;\ }\ .prev input:active,.next input:active{\ background:#e4e4e4;\ }\ /* Catalog */\ #search-cnt,#qf-cnt{\ display:block!important;\ }\ #index-search,#search-box,#qf-box{\ position:absolute;\ display:block;\ top:100px;\ right:0;\ border:1px solid #808080!important;\ font-size:18px;\ width:295px!important;\ height:23px;\ padding:2px;\ background:none;\ z-index:1;\ box-sizing:content-box!important;\ }\ #index-search{\ background:#fff!important;\ }\ #search-cnt::after,#qf-cnt::after{\ content:"";\ display:block;\ position:absolute;\ top:101px;\ right:6px;\ width:295px;\ height:23px;\ background:#fff;\ }\ #search-box:focus,#qf-box:focus{\ background:#fff;\ }\ #content #settings{\ float:none;\ text-align:left;\ margin:50px 0 0 70px;\ }\ #post-preview{\ background:#fff;\ color:#000;\ border-radius:0;\ }\ #post-preview .post-last{\ color:#888;\ }\ #post-preview .post-author{\ color:#369;\ }\ #qf-ctrl::after{\ content:"search 4chan";\ display:block;\ position:absolute;\ top:100px;\ right:5px;\ width:301px;\ height:29px;\ z-index:2;\ color:#a9a9a9;\ font-size:18px;\ padding:2px;\ box-sizing:border-box;\ }\ #ctrl>#settings>:nth-child(5)>span{\ cursor:text;\ }\ #ctrl>#info{\ float:none;\ }\ #togglePostFormLink>a{\ text-decoration:none;\ display:block;\ width:298px;\ height:20px;\ text-align:center;\ padding:4px 0;\ border:1px solid #c4dbf1;\ background:#f0f6fd;\ background:linear-gradient(to bottom,#fff,#ecf5fe);\ border-top-right-radius:30px 15px;\ border-bottom-right-radius:30px 15px;\ margin:10px auto;\ }\ #togglePostFormLink>a::after{\ content:"Submit a new text post";\ font-size:15px;\ font-family:verdana,arial,helvetica,arial unicode ms,symbola,sans-serif;\ font-weight:bold;\ color:#369;\ }\ #togglePostFormLink>a:hover{\ border-color:#879eb4;\ background:#a9c5df;\ background:linear-gradient(to bottom,#ccdff1,#aec9e1 50%,#a5c2dd 51%,#6da1d2);\ }\ #togglePostFormLink>a:hover::after{\ color:#fff!important;\ }\ /*Name, subject, etc. tabs on index and catalog*/\ .postForm>tbody>tr>td:first-child{\ border:0!important;\ color:#000!important;\ background:none!important;\ text-align:right;\ font-size:10px!important;\ }\ /*Comment box on index and catalog*/\ tr[data-type="Comment"] textarea{\ width:500px;\ height:100px;\ }\ /*Post block*/\ #postForm{\ margin-left:20px;\ }\ .post.op .file-info{\ display:block;\ }\ .navLinks a,.fileText a,.file-info a{\ color:#000!important;\ text-decoration:underline;\ }\ .postContainer{\ clear:both;\ font-size:13px;\ }\ .post.reply{\ border-color:transparent!important;\ background:none!important;\ min-width:400px;\ }\ blockquote{\ word-wrap:break-word;\ padding:5px;\ font-size:14px;\ margin:0;\ min-height:1em;\ }\ .post.reply:target blockquote,.highlight blockquote{\ background:#ffc!important;\ }\ .name{\ color:#369!important;\ }\ .postInfo,.postNum a,.file,.postMenuBtn{\ font-size:10px!important;\ color:#888!important;\ }\ s:focus,s:focus *{\ color:#fff;\ outline:0;\ }\ .opContainer blockquote{\ background-color:#fafafa;\ border:1px solid #369;\ border-radius:7px;\ padding:7px 10px;\ margin:5px 0 0 51px;\ max-width:60em;\ }\ .opContainer .file,.opContainer .fileThumb,.opContainer .fileThumb img{\ float:none!important;\ display:inline-block!important;\ }\ /* Make space for quick reply window */\ .qropened .board{\ margin-right:307px;\ }\ @media (max-width:1000px){\ .board{\ margin-right:0!important;\ }\ }\ /* Quick reply comment height */\ #quickReply textarea{\ min-height:150px;\ }\ /*Disclaimer at the very bottom*/\ #absbot,div#absbot a:not(:hover),#absbot a:hover{\ color:#808080!important;\ font-size:10px;\ }\ /*Top line*/\ .sideArrows{\ width:15px;\ height:30px;\ color:transparent!important;\ cursor:default;\ background-position:-71px 0px;\ margin:10px 6px 0 15px!important;\ }\ .navLinks{\ clear:both;\ }\ .replyContainer{\ }\ .passNotice{\ color:#888;\ }\ #header{\ position:absolute!important;\ top:-20px!important;\ }\ .thread-stats{\ position:fixed;\ top:100px;\ right:5px;\ }\ .thread-stats>.ts-replies::before{\ content:"Comments: ";\ }\ .thread-stats>.ts-images::before{\ content:"Files: ";\ }\ .thread-stats>.ts-ips::before{\ content:"Posters: ";\ }\ .thread-stats>.ts-page::before{\ content:"Page ";\ }\ .navLinksBot{\ margin-left:20px;\ }\ #quote-preview{\ background:#fff!important;\ border:1px solid #ccc!important;\ }\ .postbump .postNum::after{\ content:" BUMP";\ color:#f00;\ }\ .post:not(#quote-preview) s b{\ opacity:0\ }\ .post:not(#quote-preview) s:hover b{\ opacity:1;\ text-shadow:0 0 3px #fff;\ }\ /* Expand images */\ #imgexpand{\ position:fixed;\ top:0;\ left:0;\ width:100%;\ height:100%;\ background:rgba(0,0,0,.5);\ cursor:pointer;\ z-index:2;\ }\ #imgexpand *{\ position:fixed;\ top:0;\ left:0;\ right:0;\ bottom:0;\ max-width:100%;\ max-height:100%;\ margin:auto;\ }\ #imgexpand img{\ background:url(data:image/gif;base64,R0lGODlhEAAQAPABAOfn5////yH5BAAKAAAALAAAAAAQABAAAAIfhG+hq4jM3IFLJhoswNly/XkcBpIiVaInlLJr9FZWAQA7);\ }\ #imgexpand video{\ background:#000;\ cursor:default;\ }\ /* Blue bar */\ #bluebar{\ border-bottom:1px solid #5f99cf;\ background-color:#cee3f8;\ margin:0;\ text-align:left;\ position:relative;\ }\ #bluebar-logo{\ display:inline-block;\ margin:2px 5px 0 0;\ height:40px;\ }\ #bluebar-return{\ color:#000;\ text-decoration:none;\ font-weight:bold;\ font-variant:small-caps;\ font-size:14px;\ margin-right:7px;\ }\ #bluebar-return:hover{\ text-decoration:underline;\ }\ .bluebar-active,.bluebar-inactive{\ font-weight:bold;\ margin:0 3px 1px 3px;\ padding:2px 6px 0 6px;\ font-size:12px;\ text-decoration:none;\ }\ .bluebar-active,.bluebar-active:hover{\ color:#ff4500!important;\ background:#fff;\ border:1px solid #5f99cf;\ border-bottom:1px solid #fff;\ }\ .bluebar-inactive,.bluebar-inactive:hover{\ color:#369!important;\ background:#eff7ff;\ }\ #bluebar-user{\ position:absolute;\ right:0;\ bottom:0;\ background-color:#eff7ff;\ padding:4px;\ border-top-left-radius:7px;\ font-size:10px;\ color:gray;\ cursor:default;\ }\ #bluebar-user a{\ cursor:pointer;\ color:#369;\ }\ #bluebar-user a:hover{\ color:#369!important;\ text-decoration:underline;\ }\ #boardlist{\ background-color:#f0f0f0;\ white-space:nowrap;\ text-transform:uppercase;\ border-bottom:1px solid #808080;\ height:18px;\ min-height:18px;\ line-height:18px;\ overflow:hidden;\ cursor:default;\ margin-top:0;\ padding-left:5px;\ color:#808080;\ font-size:9px;\ text-align:left;\ transition:height .5s;\ }\ #boardlist:hover{\ white-space:normal;\ height:auto;\ }\ #boardlist a{\ color:#000;\ font-size:9px;\ text-decoration:none;\ cursor:pointer;\ }\ #boardlist a:hover{\ text-decoration:underline;\ }\ #boardlist a.currentboard{\ color:#ff4500;\ font-weight:bold;\ }\ /*Settings*/\ .fPattern,.fBoards{\ padding:1px!important;\ font-size:11px!important;\ }\ #wr-body>div{\ text-align:center;\ }\ #wr-add{\ float:left;\ }\ .highlighttext{\ background:#99f;\ color:#ff3;\ }\ .postcount{\ font-size:16px;\ padding:10px 0 3px 0;\ margin:10px 10px 0 15px;\ border-bottom:1px dotted gray;\ width:calc(100% - 25px);\ clear:left;\ }\ .postcount div{\ color:red;\ font-size:13px;\ position:absolute;\ margin:14px 0 0 -10px;\ }\ .opContainer .postInfo.desktop .name{\ font-weight:normal!important;\ }\ .subject a{\ color:blue!important;\ font-size:16px;\ font-weight:normal;\ }\ .subject a:hover{\ color:blue!important;\ }\ #optable{\ display:table-row;\ }\ #optable>*{\ display:table-cell!important;\ vertical-align:bottom;\ }\ /* Images */\ .sideArrows,#content .nofile,#content .imgdel,.is_index .fileDeletedRes{\ background-repeat:no-repeat;\ background-image:url("data:;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAyCAMAAADx7dyJAAAA3lBMVEUAAAC3t7e3t7cAAAAAAAAAAAC8vLy4uLi4uLgAAAAAAAAAAAAAAAAAAAAAAAAAAAC+vr69vb0AAAAAAAAAAAAAAADBwcHAwMAAAAC2tram0fqm0fqm0fqm0foAAACm0fqm0fqm0frKysrKysrOzs7CwsLOzs7T09PHx8fIyMjU1NTU1NTY2NjNzc3Y2Njb29vb29vc3Nzc3Nym0fr/RQD/RQD/RQD/RQD/RQD/RQD/RQCm0fr/RQD/RQD/RQD/RQD/RQD/RQCm0fqm0fr/RQD/RQD/RQD/RQCm0fqm0friiswmAAAASnRSTlMA/wATJhz//wBDMA5NPjkE//80SCEJ//8Y/x9/XwArP/+//wD//wD/////AP//AP8A/wAvKj8aAAo1D+8vVR8FSk9PrzpFJRVvDxwuszYAAANySURBVHgBrdcLV9s2H8fxnyuJVNJfErGszpQh0pZeHnqhF1iALS3sxvb+39AsYh07BBySPJ9wkmPD+WLLWBb4/yqezOHJYzHOxcrqzujpLTwdxKUSGokiY8k4DBntFuPiMUcrbenJlxUTxIAgy8Hqs6IofipWZzVpQFdKEik0ahoagaa613RHKweBS8wFw9HQxNB5vr+///NBVuzu7e0VzWt3tCprIlpWoSEIPYeTyeRFro7GRZGqjXExPAiBNFo1VQDz8aFssTtuFMVovNu8isFs5ZGhIi+pdMvZnpfjnZ2XrxK8GmAUOkFUGhjMHr1+/ezoTYI3D3NUY8By9u27d/87fp/g/cOEx3rZDx8/Hn34lODTvVjNOZeS84q5x2dPjo/fnnxO8HmJ5paIrLW8tFYSSVU/Mvvl5OTky9cEXzOn0XCVJBlrB2SMW/IxoOHYcLaD9rOWRKRc5b3S6Mu/S7n2R4Ds28osJ8WC8ETc4V5CeipZaD4CkK0ahEAVAOaNxkNcpJg+ZLmQ3R+6ZFwCEKQwd3p29ss0O784u7icNubfr8kh+zVlB/7AbAS0z9XfZo3vbfXHVbNxfT7vcsARQ/YiZQduB1UCxqI1S67a7PdZcjpNKtLQpPvZ34duXkGh+VrIXrfZ05xNrAWXQPbHZHI4ONUYYxSyqxT6s81eznpDwohTBWT7KTs0MWrTO7fL69nsrx/T1t9N9SJvSOJYyD4fnsYZoefmZto5vzmfZqVCzz+TycHwQ6fLDuL2zt170OkekWtno8XiM/Kg554HuqaATgi4n+FrLj98hY7tb/UEqtH59/Dw8NtB3/JiKUqHDNqTjIItTeFKrpgYl5Z2zkd0HJfU4FigSaw13yaCBPoCu3u0zlusl00UCQwJxrj1srkbFzvRqoCs9qm6CeEN6183GSW1O4Ki0mFDwZKt0bLGAaVso7LGFpgkGdltitj8XVeGiIzDNnyMhsgorgiJIfKqJm626jIKgKt56anNKp3eefAcm+MGtxTFMgBol7ilAvcOG7MRKWZ8jcQZkydE5wU2RqK3YJDWe51PAqrERvI5Cypde7NWLq/xAeG3uGIABMet6F1/P6Otspmgqre/PZOts7VXd/YT2z7LqatufbT5vxBmiCPbfmyhfO1YlGQ17mYriY05S0QmaiyqCTAKj/YfMfq5TiasXK8AAAAASUVORK5CYII=");\ }\ /*User link on catalog*/\ .UIPanel{\ line-height:14px;\ font-size:14px;\ background-color:rgba(0,0,0,0.25);\ position:fixed;\ width:100%;\ height:100%;\ z-index:9002;\ top:0;\ left:0;\ }\ .UIPanel::after{\ display:inline-block;\ height:100%;\ vertical-align:middle;\ content:"";\ }\ .UIPanel>div{\ -moz-box-sizing:border-box;\ box-sizing:border-box;\ display:inline-block;\ height:auto;\ max-height:100%;\ position:relative;\ width:400px;\ left:50%;\ margin-left:-200px;\ overflow:auto;\ box-shadow:0 0 5px rgba(0,0,0,0.25);\ vertical-align:middle;\ padding:2px;\ }\ #userlink ul{\ -moz-column-width:140px;\ -webkit-column-width:140px;\ column-width:140px;\ }\ .nameBlock{\ color:#369;\ cursor:pointer;\ }\ .nameBlock:hover{\ text-decoration:underline;\ }\ .submitterlink,.submitterlink .name{\ color:#0055df!important;\ }\ .yourlink,.yourlink .name{\ color:#000!important;\ }\ /*Compatibility with upboats*/\ .opContainer .cnt{\ float:left;\ width:50px;\ margin-top:5px;\ }\ .replyContainer .nmb{\ width:31px;\ }\ .opContainer .nmb{\ width:51px;\ }\ .nmb{\ margin-top:5px;\ }\ .extPanel{\ background-color:#f0e0d6;\ border:1px solid #d9bfb7;\ border-left:none;\ border-top:none;\ }\ body[style^="margin-top: 20%"]>h1{\ margin-top:20%;\ }\ .navLinksBot>*{\ color:#000;\ font-size:13px;\ }\ .navLinksBot>a,.navLinksBot>label{\ margin-right:5px;\ }\ .filenamestamp a{\ text-decoration:none;\ border-bottom:1px dashed;\ }\ .filenamestamp::after{\ display:block;\ position:absolute;\ content:attr(data-timestamp);\ color:#444;\ background:#fff;\ border:1px solid #767676;\ font:13px segoe ui;\ padding:1px 5px 2px 5px;\ box-shadow:4px 4px 2px -2px rgba(0, 0, 0, 0.5);\ pointer-events:none;\ opacity:0;\ margin:15px 0 0 50px;\ }\ .filenamestamp:hover::after{\ opacity:1;\ transition:opacity .2s .5s;\ }\ .hasrelative::after{\ content:attr(data-relative);\ font-size:10px;\ color:#888;\ }\ .threadContainer{\ border-left:1px dotted #ddf!important;\ }\ #index-mode,#index-sort,#index-size,.is_index .navLinks>.brackets-wrap{\ float:left!important;\ margin:50px 0 30px 0;\ }\ .is_index .navLinks>.brackets-wrap:first-child{\ margin-left:70px;\ }\ .is_index .board{\ clear:both;\ }\ '.replace(/\s+/g,' ').replace(/\/\*((?!\*\/).)*\*\//g,'').replace(/;? ?} ?/g,'}').replace(/ ?([{,;]) ?/g,'$1') }