From 2dbd124c2d194e39fa053884a0f48a9b2f5e8856 Mon Sep 17 00:00:00 2001 From: Stephen Dranger Date: Thu, 10 Feb 2011 19:55:45 -0600 Subject: [PATCH] sounds, idle, etc --- TODO | 11 +++------ convo.py | 33 ++++++++++++++++++++++++- convo.pyc | Bin 23547 -> 24902 bytes dataobjs.py | 2 ++ dataobjs.pyc | Bin 11504 -> 11753 bytes generic.pyc | Bin 3575 -> 3575 bytes irc.pyc | Bin 13203 -> 13203 bytes memos.pyc | Bin 31005 -> 31046 bytes menus.pyc | Bin 20542 -> 20542 bytes oyoyo/__init__.pyc | Bin 333 -> 333 bytes oyoyo/client.pyc | Bin 9728 -> 9728 bytes oyoyo/cmdhandler.pyc | Bin 8312 -> 8312 bytes oyoyo/helpers.pyc | Bin 5013 -> 5013 bytes oyoyo/ircevents.pyc | Bin 5693 -> 5693 bytes oyoyo/parse.pyc | Bin 2869 -> 2869 bytes parsetools.pyc | Bin 6979 -> 6979 bytes pesterchum.js | 2 +- pesterchum.py | 48 ++++++++++++++++++++++++++++++++++-- themes/pesterchum/cease.wav | Bin 0 -> 24260 bytes themes/pesterchum/style.js | 8 ++++-- themes/trollian/cease.wav | Bin 0 -> 24260 bytes themes/trollian/style.js | 1 + 22 files changed, 92 insertions(+), 13 deletions(-) create mode 100644 themes/pesterchum/cease.wav create mode 100644 themes/trollian/cease.wav diff --git a/TODO b/TODO index 2562cdd..c668bcc 100644 --- a/TODO +++ b/TODO @@ -1,22 +1,19 @@ Features: * Tray doesn't disappear on windows after close -* Idling -* PESTERCHUM:BLOCKED -* new sound on CEASE and BEGIN? * scroll bar style? +* flashing?? * More complex quirks: random, spelling, by-sound -* change profile only once we have confirmation from server * convert hex tags ( or ) -* convo backgrounds -- make them more like http://www.mspaintadventures.com/storyfiles/hs2/02546_2.gif -* help button on quirks menu? * help menu -- about and forum -* dropped messages when chatting ? -- release alpha * shared buddy lists - changes to the buddy list should refresh it? multiple clients share buddy list??? * chumList not scaling -- QListView + delegate? * spell check? +* convo backgrounds -- make them more like http://www.mspaintadventures.com/storyfiles/hs2/02546_2.gif +* help button on quirks menu? -- release beta +* change profile only once we have confirmation from server * log viewer * pick your own icon * time codes diff --git a/convo.py b/convo.py index f91d105..51c99b4 100644 --- a/convo.py +++ b/convo.py @@ -1,5 +1,6 @@ from string import Template import re +from datetime import datetime, timedelta from PyQt4 import QtGui, QtCore from dataobjs import PesterProfile, Mood, PesterHistory @@ -223,6 +224,14 @@ class PesterText(QtGui.QTextEdit): msg = chum.pestermsg(me, systemColor, window.theme['convo/text/unblocked']) window.chatlog.log(chum.handle, convertTags(msg, "bbcode")) self.append(convertTags(msg)) + elif msg == "PESTERCHUM:BLOCKED": + msg = chum.pestermsg(me, systemColor, window.theme['convo/text/blockedmsg']) + window.chatlog.log(chum.handle, convertTags(msg, "bbcode")) + self.append(convertTags(msg)) + elif msg == "PESTERCHUM:IDLE": + msg = chum.idlemsg(systemColor, window.theme['convo/text/idle']) + window.chatlog.log(chum.handle, convertTags(msg, "bbcode")) + self.append(convertTags(msg)) elif msg[0:3] == "/me" or msg[0:13] == "PESTERCHUM:ME": if msg[0:3] == "/me": start = 3 @@ -248,6 +257,12 @@ class PesterText(QtGui.QTextEdit): if chum is me: window.chatlog.log(parent.chum.handle, convertTags(msg, "bbcode")) else: + if window.idle: + idlethreshhold = 60 + if (not hasattr(self, 'lastmsg')) or \ + datetime.now() - self.lastmsg > timedelta(0,60): + parent.messageSent.emit("PESTERCHUM:IDLE", parent.title()) + self.lastmsg = datetime.now() window.chatlog.log(chum.handle, convertTags(msg, "bbcode")) def changeTheme(self, theme): self.setStyleSheet(theme["convo/textarea/style"]) @@ -295,6 +310,7 @@ class PesterInput(QtGui.QLineEdit): self.setText(prev) elif event.key() in [QtCore.Qt.Key_PageUp, QtCore.Qt.Key_PageDown]: self.parent().textArea.keyPressEvent(event) + self.parent().mainwindow.idletime = 0 QtGui.QLineEdit.keyPressEvent(self, event) @@ -348,6 +364,10 @@ class PesterConvo(QtGui.QFrame): self.quirksOff.setCheckable(True) self.connect(self.quirksOff, QtCore.SIGNAL('toggled(bool)'), self, QtCore.SLOT('toggleQuirks(bool)')) + self.unblockchum = QtGui.QAction(self.mainwindow.theme["main/menus/rclickchumlist/unblockchum"], self) + self.connect(self.unblockchum, QtCore.SIGNAL('triggered()'), + self, QtCore.SLOT('unblockChumSlot()')) + self.optionsMenu.addAction(self.quirksOff) self.optionsMenu.addAction(self.addChumAction) self.optionsMenu.addAction(self.blockAction) @@ -373,6 +393,7 @@ class PesterConvo(QtGui.QFrame): def updateMood(self, mood, unblocked=False, old=None): syscolor = QtGui.QColor(self.mainwindow.theme["convo/systemMsgColor"]) if mood.name() == "offline" and self.chumopen == True and not unblocked: + self.mainwindow.ceasesound.play() msg = self.chum.pestermsg(self.mainwindow.profile(), syscolor, self.mainwindow.theme["convo/text/ceasepester"]) self.textArea.append(convertTags(msg)) self.mainwindow.chatlog.log(self.title(), convertTags(msg, "bbcode")) @@ -386,14 +407,21 @@ class PesterConvo(QtGui.QFrame): else: if self.chum.blocked(self.mainwindow.config) and not unblocked: self.setWindowIcon(QtGui.QIcon(self.mainwindow.theme["main/chums/moods/blocked/icon"])) + self.optionsMenu.addAction(self.unblockchum) + self.optionsMenu.removeAction(self.blockAction) else: self.setWindowIcon(mood.icon(self.mainwindow.theme)) + self.optionsMenu.removeAction(self.unblockchum) + self.optionsMenu.addAction(self.blockAction) # print mood update? def updateBlocked(self): if self.parent(): self.parent().updateBlocked(self.title()) else: self.setWindowIcon(QtGui.QIcon(self.mainwindow.theme["main/chums/moods/blocked/icon"])) + self.optionsMenu.addAction(self.unblockchum) + self.optionsMenu.removeAction(self.blockAction) + def updateColor(self, color): self.chum.color = color def addMessage(self, text, me=True): @@ -468,6 +496,7 @@ class PesterConvo(QtGui.QFrame): self.quirksOff.setText(self.mainwindow.theme["main/menus/rclickchumlist/quirksoff"]) self.addChumAction.setText(self.mainwindow.theme["main/menus/rclickchumlist/addchum"]) self.blockAction.setText(self.mainwindow.theme["main/menus/rclickchumlist/blockchum"]) + self.unblockchum.setText(self.mainwindow.theme["main/menus/rclickchumlist/unblockchum"], self) self.textArea.changeTheme(theme) self.textInput.changeTheme(theme) @@ -498,11 +527,13 @@ class PesterConvo(QtGui.QFrame): @QtCore.pyqtSlot() def blockThisChum(self): self.mainwindow.blockChum(self.chum.handle) + @QtCore.pyqtSlot() + def unblockChumSlot(self): + self.mainwindow.unblockChum(self.chum.handle) @QtCore.pyqtSlot(bool) def toggleQuirks(self, toggled): self.applyquirks = not toggled - messageSent = QtCore.pyqtSignal(QtCore.QString, QtCore.QString) windowClosed = QtCore.pyqtSignal(QtCore.QString) diff --git a/convo.pyc b/convo.pyc index 69f939dff3bbe06fab1b65153fc2604981c4cb14..2c481a88faf6ff2e658c721ae1ce9fb46153f76a 100644 GIT binary patch delta 7562 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 %s [%s] %s %s [%s] at %s --" % (syscolor.name(), self.handle, self.colorhtml(), self.initials(), verb, otherchum.handle, otherchum.colorhtml(), otherchum.initials(), datetime.now().strftime("%H:%M")) def moodmsg(self, mood, syscolor, theme): return "-- %s [%s] changed their mood to %s --" % (syscolor.name(), self.handle, self.colorhtml(), self.initials(), mood.name().upper(), theme["main/chums/moods"][mood.name()]["icon"]) + def idlemsg(self, syscolor, verb): + return "-- %s [%s] %s --" % (syscolor.name(), self.handle, self.colorhtml(), self.initials(), verb) def memoclosemsg(self, syscolor, timeGrammar, verb): return "%s%s%s %s." % (syscolor.name(), self.colorhtml(), timeGrammar.pcf, self.initials(), timeGrammar.number, verb) def memoopenmsg(self, syscolor, td, timeGrammar, verb, channel): diff --git a/dataobjs.pyc b/dataobjs.pyc index 042338fd8fd50e9c0aec0a9ce2c895654cdc166b..f8076413aa336122e4428e9ceaea1a38c6d06c60 100644 GIT binary patch delta 718 zcmZXR&1(~35XNUVUv3j^5>2Uvbkigz+ayJ+c(GC<(u$xFHhM5MqPS6`Egm*vOG~QQ z7PQs0ovH}pNd)nt?xA?GC!rM;dhy_YQ1Bq0MV#3hdhjqm=Hq#0-}l|0XE%m?>%X?Q zyt#Awt?yeX`5pi&03`%71Qi#U0C%0-M3{0x$<2Mj@Lmj2Z#bVdcfb^@SsDhjRdQCB zb~&cXMf^1O>r)L7Ab;SB$t|m_dJ{{dC*!-c~h-D za{L9pq;rWioTgNAw*3_gtN;U){g^}#?&c`y5n4+Q?7JoIF~OvO-vJDMOsI*$s$HyA zFO5`cS8tfcjEwHnivNgqf>XJw6=Qg@T@AFVit19`sw<$Xiv48IK}4Irq@D#Ivcfne zm=-*svGfI8rtj%_zcc#Ry{Ql33a#tK$Yw*dTh<00@(UUy%x!DHulY(DeC zVrQS%nCIpyMKT9a7O)w4eQOf%U;$D&A+GL@FOTD zQ1zey1XFhfA*2U?n(%~{1~ie^(&lM(QsA#7MHk zR)#oFLv|Z3(z1OBW62l0j@4_09}lR-@gN$RPOoiAJVTymXp9NQBx8}WOpVqqI&|h^ zoKBoactm}!I}A}tWw_*61Ohn%pld=G8n9HHKB&H%4 z58?&gSNn>-1!w<8cj&6P*Ju!OP7SEqHLcgQns!7f={V?MMCq!w%@7gS8_M%EBhU1t z%ez9{(zYjJ`&-=3`8|PuemUf2;uxu?}yr!~eo`VGsxJGD>V=l`b5VIdNvt6Raa I5M${30^-|+)&Kwi diff --git a/generic.pyc b/generic.pyc index cc9b4e29bd33bedddb2ec6b068f7f5c5c74311f5..033bd9ad82c6b3e24d80f1c8cfd8c05b670f149f 100644 GIT binary patch delta 16 Ycmew^{au><;wN6NuK9r**+1|C06|#?H2?qr delta 16 Ycmew^{au><;wN6N>6-o<*+1|C06yjh$^ZZW diff --git a/irc.pyc b/irc.pyc index e4a65a510087af4df768c7fa422ef6360a2a92cd..62a8eb1dacfd9b430f6554df3ecd56d0d78e85b6 100644 GIT binary patch delta 16 XcmbQ7J~^HJ;wN6NuK9r**?WuuJx>P5 delta 16 YcmbQ7J~^HJ;wN6NMfU?XviBGR06%gE9smFU diff --git a/memos.pyc b/memos.pyc index 0dd44f5aac5ad0eca9cefb5cbe48b4cb6e642469..aa9b72e29db0454bef8bef521a6abebf080e2087 100644 GIT binary patch delta 131 zcmbRHiSgJcM)r%Jc)4cUhHPZ7iQwX3U|?_t;^Lagy%CB61tJWLHH-`?ObjW^42mf% zlUGGFv$6tNY?F;5jTzY|r$x#!a!hWGv}5F)d?eCTg$t2m`BH2DTS delta 15 WcmdlgwpEPn;wN6NbFmxQ^tk~smj#mm diff --git a/parsetools.pyc b/parsetools.pyc index 15d589a55a6cb29c5087bb2a1c45a4532717e6c5..9e3829499417b46bdce28471bafcfe54795f0558 100644 GIT binary patch delta 16 XcmX?XcG!&l;wN6NnYJMt*=?i&I|l|0 delta 16 XcmX?XcG!&l;wN6N*1q74>^9N>JX{7z diff --git a/pesterchum.js b/pesterchum.js index c2cec68..da823fc 100644 --- a/pesterchum.js +++ b/pesterchum.js @@ -1 +1 @@ -{"tabs": true, "soundon": true, "chums": ["marineAquist", "unknownTraveler", "tentacleTherapist", "macruralAlchemist", "vaginalEngineer", "mechanicalSpectacle", "carcinoGeneticist", "schlagzeugGator", "gamblingGenocider", "gardenGnostic", "superGhost", "centaursTesticle", "arachnidsGrip", "grimAuxiliatrix", "remoteBloodbath", "nitroZealist", "greenZephyr", "arsenicCatnip", "adiosToreador", "cuttlefishCuller", "rageInducer", "gallowsCalibrator", "caligulasAquarium", "terminallyCapricious", "illuminatedWax", "aquaMarinist", "maxiumumFatness", "elegantDiversion", "moirailBunp", "uroborosUnbound", "androidTechnician", "midnightSparrow", "apocalypseArisen", "acapellaWaterfall", "anguillaNuntia", "oilslickOrchid", "confusedTransient", "pretentiousFantasia", "aquaticMarinist", "ardentAbettor"], "defaultprofile": "ghostDunk", "block": []} \ No newline at end of file +{"tabs": true, "soundon": true, "chums": ["unknownTraveler", "tentacleTherapist", "vaginalEngineer", "mechanicalSpectacle", "carcinoGeneticist", "schlagzeugGator", "gamblingGenocider", "gardenGnostic", "superGhost", "centaursTesticle", "arachnidsGrip", "grimAuxiliatrix", "remoteBloodbath", "nitroZealist", "greenZephyr", "arsenicCatnip", "adiosToreador", "cuttlefishCuller", "rageInducer", "gallowsCalibrator", "caligulasAquarium", "terminallyCapricious", "illuminatedWax", "aquaMarinist", "maxiumumFatness", "elegantDiversion", "moirailBunp", "uroborosUnbound", "androidTechnician", "midnightSparrow", "apocalypseArisen", "anguillaNuntia", "oilslickOrchid", "confusedTransient", "pretentiousFantasia", "aquaticMarinist"], "defaultprofile": "ghostDunk", "block": []} \ No newline at end of file diff --git a/pesterchum.py b/pesterchum.py index f4d5312..4b2df4e 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -662,6 +662,7 @@ class PesterWindow(MovingWindow): self.importaction = QtGui.QAction(self.theme["main/menus/client/import"], self) self.connect(self.importaction, QtCore.SIGNAL('triggered()'), self, QtCore.SLOT('importExternalConfig()')) + self.menu = QtGui.QMenuBar(self) filemenu = self.menu.addMenu(self.theme["main/menus/client/_name"]) @@ -762,6 +763,15 @@ class PesterWindow(MovingWindow): self.waitingMessages = waitingMessageHolder(self) + self.idle = False + self.idlethreshold = 600 + self.idletimer = QtCore.QTimer(self) + self.idleposition = QtGui.QCursor.pos() + self.idletime = 0 + self.connect(self.idletimer, QtCore.SIGNAL('timeout()'), + self, QtCore.SLOT('checkIdle()')) + self.idletimer.start(1000) + if not self.config.defaultprofile(): self.changeProfile() self.loadingscreen = LoadingScreen(self) @@ -800,6 +810,7 @@ class PesterWindow(MovingWindow): def newMessage(self, handle, msg): if handle in self.config.getBlocklist(): #yeah suck on this + self.sendMessage.emit("PESTERCHUM:BLOCKED", handle) return if not self.convos.has_key(handle): if msg == "PESTERCHUM:CEASE": # ignore cease after we hang up @@ -817,7 +828,10 @@ class PesterWindow(MovingWindow): convo.addMessage(msg, False) # play sound here if self.config.soundOn(): - self.alarm.play() + if msg in ["PESTERCHUM:CEASE", "PESTERCHUM:BLOCK"]: + self.ceasesound.play() + else: + self.alarm.play() def newMemoMsg(self, chan, handle, msg): if not self.memos.has_key(chan): # silently ignore in case we forgot to /part @@ -1016,8 +1030,10 @@ class PesterWindow(MovingWindow): # sounds if not pygame.mixer: self.alarm = NoneSound() + self.ceasesound = NoneSound() else: self.alarm = pygame.mixer.Sound(theme["main/sounds/alertsound"]) + self.ceasesound = pygame.mixer.Sound(theme["main/sounds/ceasesound"]) def changeTheme(self, theme): self.theme = theme @@ -1247,6 +1263,32 @@ class PesterWindow(MovingWindow): self.moodRequest.emit(chum) self.unblockedChum.emit(handle) + @QtCore.pyqtSlot(bool) + def toggleIdle(self, idle): + if self.idle and not idle: + self.idle = False + elif idle and not self.idle: + self.idle = True + sysColor = QtGui.QColor(self.theme["convo/systemMsgColor"]) + verb = self.theme["convo/text/idle"] + for (h, convo) in self.convos.iteritems(): + msg = self.profile().idlemsg(sysColor, verb) + convo.textArea.append(convertTags(msg)) + self.chatlog.log(h, convertTags(msg, "bbcode")) + self.sendMessage.emit("PESTERCHUM:IDLE", h) + + @QtCore.pyqtSlot() + def checkIdle(self): + newpos = QtGui.QCursor.pos() + if newpos == self.idleposition: + self.idletime += 1 + else: + self.idletime = 0 + if self.idletime >= self.idlethreshold: + self.toggleIdle(True) + else: + self.toggleIdle(False) + self.idleposition = newpos @QtCore.pyqtSlot() def importExternalConfig(self): f = QtGui.QFileDialog.getOpenFileName(self) @@ -1695,7 +1737,6 @@ class MainProgram(QtCore.QObject): irc, QtCore.SLOT('setChannelMode(QString, QString, QString)')) - # IRC --> Main window irc.connect(irc, QtCore.SIGNAL('connected()'), widget, QtCore.SLOT('connected()')) @@ -1752,6 +1793,9 @@ class MainProgram(QtCore.QObject): def run(self): self.ircapp.start() + self.widget.loadingscreen = LoadingScreen(self.widget) + self.connect(self.widget.loadingscreen, QtCore.SIGNAL('rejected()'), + self.widget, QtCore.SLOT('close()')) status = self.widget.loadingscreen.exec_() if status == QtGui.QDialog.Rejected: sys.exit(0) diff --git a/themes/pesterchum/cease.wav b/themes/pesterchum/cease.wav new file mode 100644 index 0000000000000000000000000000000000000000..4169e12ec5ee3cf7e437b3e7bc9a5207076a7169 GIT binary patch literal 24260 zcmajH1-uu<_cuPX`RTY#NVhc7p>zt;C0&9NN`o{g2oees3X0My4bq^9NO!4p-M*iW zjhX+MyTAQi{C@w>^W4vC@7BzjbKd8D&dl!4ZkM*LS{>_;P|v14S`HsQp@at^gyH9X z9idV^5aN&r4IMOL&>ASi!8uAXEUXNnJS=QWr@|{+I^|%G`>&E_JwpNpSxkbSFNK{e zkjNp8im;gNu~s=KY0CUhNygcK%QEXQ9hp9?j-i*a&*TaJBhxs;tTxXv%`{j{9a+oF z(tlfTXk;EQu-VklK*+51pKB9C)2{zSqX4IZR?RJ=uBnyLGAR4Me+9OhR#Et42$}na zrOXSa_5WSxKjj+uFx<5Kh0jNYHCkXB+aqvRr4lTL2Mzq$8G}FOmf-`2Gt-Xk6>Pog z`vR_*N0~R6RO3Ixfg$s%EwApGt(u6M>w@E^Cd@L%7={wlrhuKV+W6m|G8tx+D)?_A zXyU`p7_|-G8AupM%_FSrzmFKD*m2WGtOWZrtTwj`_-&py4iG2F1%ENx0> z_8ZboTndmd+B7s|ts9b=ED`)|Fv76FwAJvhv1i~aA|;<4rne0l21cfQ!+)RE8!$bbfOO}?0GBj+#+Om-CLVzy+g z88)wKVMHp!oO#SV$9Tg$#*UiXM*d}WO&v@hn;tiPX`oc_-{7Gs&ura1Z}^oRHU118 z3_V|EFgtGU8~U0V)7&#HWpdc|tLuUzhHnim^n50nY%*KUuLu$hERFJJbQ*gm-UTff zZJRY%Rx+de-*W!nSQ%C_NoJH9`uzL9VV}|Je|v;!X&`9&%E&ZEd4r#?{x@1Pbu;R| zy2si!{AA`M!<$B|vTeintj>SqWq6JqH?|le26JD{vF16$3oQC16o$*%9N<+%ngO zUFNx0tt&v=7*UuWG`0U9f&aTI@CMVyz?E5KB3BS`Oj5yO<~ZgRLvtg)nvrabUtb-| znaKU;F~cS^+6w$sV9Be;nBqozrjEwGQM!P=M!5oi7NB9|hXN@DF=|+6FwWqB=>xNj z=@oOI*tTM3r zH>XTwn6BpeS2h2)*Z+-#k*f_|4J%lTn5bH}Wu(Q6R~XYO>wTkxWB_ z!v%H=|8xDuB8n{xN2Z^FM8T1N^U`F4QLdoxVv%e{Gpk{sUm(wrZs=|xY-nO`n;IKh z8lErEfmvm8%w(XsZ>|}Wjq6uq%xv1hP&a&CAjLq*)R*aC$~U*nxG;QcT5Xmxyjozf zQOmH!kY+I7WJUoVh9yC~0`WxD#O1GU~8erj~5|s`iHOSm{^WG`7w5OkWg~{m=5|zL`4; zm{ZX5fBMhxhk=Y~gV}=FzM*RYLrhDUEOXn`vcP)<(hLr;GymBK7jVYF$Ydy!YW%&b zpP5Zw?ca=2rly8A=6@!wfEi3fu{L?jq_AzqEu&Q<-@lrf4BnZg z3=Iv>v-XVw;`(Y?%m}EHE)QQD%A= z_`Z6?JZ9QrNHKIaabS8BX!j~RnDzzyGdyKvKtl_&mf^5ZoyAR732>)0XGJ1c;IOcDri|H?RzQ9|ojr6B)xJMs_lz-<13+j!c#@1~79B z)Adz}Y|m_)X==1!`jq+6j->oDQLs;e#u#of8l@4cz1RRv&!JN z@rU?1x<~I38~IvqPTr?Kp=Wp|N8wxo$|NJmCUTn;rZwn%GE(2Dd9HYQ0GY{TM&wf}F@bK_AjuB#n$A+lZZ>Ba`*k z+Hf_fWU3{}Fm#0bK?n&wgsFT@t`q(STe#NTTy8hMLu-;7TAq4M+een8#oX_FT|N_k zgm#f*dSNo1TqH>}g|yR%A}V$TX^+Scc(kC3o5VkbWxSg^jQeo=xHxy4^Wr@uPaCGz zR#Wt8^bij66NK9QdVGrB*1yt=kv`-YnMYP@Ta>Z!^|7t-OWJE_2;WO8CO4KUiwpST z+&C_gZ@^FICvvB0Cw;VPSBSD-?~YP=hqyv`z@^|HNh5u|ZX=z@9`doSC=KJ0=<#Sh zr8xN$|14ItWXMmYF=8Kn1J|41!T-Y_;D_M`l@~2uS{&jR-WLb2Gx{;>ycjZdfPL{%Ql30;%$p?9x&{8PM|3&v{&6MG> zrty*5Roay=Dq*RZMpXq31f6H1;qI?Zuk}zGED%9hMK316) zrQt@g?OIWMOq^l)My?^2=DL!%waMCd+EXp0Emu;aD?|4KgM+uCFLX&LW}E74;@oDB zT7DLX35SHAg%iR9zA<{Lj*IOMUka~`&mxm}x23yvm^@OLg7#}G)m*ilwhvhMZLCK4 zN?@V?dhl?380sJwb$Z>J^Ps(~rM$R9$PluHu<(TILpWt}!ZV?Uup8}D z=S16vt_JrcP&pEs_`(nu+g<6U9EKM_w<+bN%gtN2Uh4$Cg;yAsR7 z1MC$NPbalc_}=x*vO-uYv=e_9e~}V}V|uw*uizrz)gV^8a;0r)?v2jZt!w#Dv_Y|n zF(F<@8K!;`s~#Mj*Ejpq?Dj!bJ0VT=JWdvqPk7fmW=VwvDtsgUD9w@9;B=*Lc&o3c z@2!YPN=wI_$TQ#Zj=TV6#;-)D#`?x3b-D6ec)9OP_PETIIU6GwPq#NtI-k-ZDd^s5 zT_Y41dWo&2Uh?bWH{^M=ULZI3xc`&5m%DDe;(5(e&VELCQ%{R+jqZ!tm4@ot*p|Q# zIi)i1WpwhDS9?ow&)2DgQl}&aob%-lLL1O&ue@Bo#d*~?LnZPm=Src<`a9D1E@#4K z*9=Q9+)QZ`Z57)YPgeg{GQ<7zj%QX&-;tRT;!uCPnEY#6g_OEphkd9xUid)zP9ADm zB5j~^qaFPVbN1x%vEBHzZI}0~x2oek@uq$^%11ZFuEqaUro^uLk7jw&o4jnFQ$F5b zTDYDV86lawsJ>EATk? zHD6w|9DdI_$kWB!$uU;CK=;Q7$BxBmytndxtWKbRcK3`4=?imK#Ln`nvsTKr)L}^# zJR5DbrMIPe@@;8^bdgI?mxsFgy5zPF+*IyxBWxYrmz_neU4_A9iSoL7S)HX;QO88> zet&j6Gn%z5*os_~uX>uNWF~pNM;+DWi9%O#s@PwADAY&W<153P0~-QsV?B{3RdY6T z@31Gyf8u4T8fzJ^8mk@sCA`AdJS!n%OZt`U#HbHnu!oXnr8P(iCRBD^vb-S=klRD{ zO%(3x^WTKd~PZ7vZ1qL+A|$@P)Be>lH5%eG;Cctij#nY0l@K0j}+~R?;c@meyJO zUg6^9Vjl*-&v9h!$|#cEBfNzsSrZa7QlBJmOE~S!lN5d>UyN(d{f38YRiecJt?s@i zk?z_Mj<;^G4YW*^REJH{y zm-%imf%LJQPb^;8QbyA&HhTp8ej^t~%Co+z_pdx=cNz`|(aLLfetr zS|r|Hb91+3!L`DhuU+EFb{bE$omIguScJ!@0?jg0gDGTLV8vUh3PgVY^~ zi=6eP4LF_lqxaA%{78?*`iBSlkLNWHmW@xLEyNCTMX9fF5jE1O{s1-LWM0Kh^%l{x zfi8J{12dIg{94DUqMXm%t4&~`oCGpqQl4!d)*>>FVrLCn@ z3jeH(j4Y1~i{?b+$lrnLIXK<%{L>eQbB8Epq6N+)XCnm_6bs^pbGt^nex}d zG;r0nUzH?+CJKnLf( zV*5}iPnN|dNA^e8Daka1KSwXfInt8sqSeIy_FQ+%gwCG3_HOcZyhKkRC+JI3NdGi` zE6^^xfBN|Jae4QZqhd?X_h};wy`5Cv^@02tZ=e~ZKb?SX>vdwYLs9>adCUA_w5m1^ z(AkEZG)sR=6Ub(Mgj~YXM}E%jP{)MV_%8*zDNXs(_RNF^Dc*#p_T9n?@|n6*t)#C- z)%XdxCapvFkQAE6{~>R-y=^aMxyX$mAI95;lOvzSl4ELkePDX_pcluVBtM;zxjQm~ z+w9zx>M0_obxSPcT4x<1H^e^#O3WcMWlo`#vR;?0I zLwYqT8tZk*(261Vt`Ik!_l>& z9-%2wA$}^dFYs;7p_iFYPCX935CfG7we(1=U$|r8dMT&8+ntHF#_|erx7bRIVVz`< zQZPbqjb|k!&aK(jeh2lc-1s`LSeeta;#Q z_Qi}@*Y)X;TwDt|=Bb+-SKP9~ARPABArDdj(vd{iH*$g%fg!?abj zDf*quk)~TVTh>_9tt~BXp$-|NY>Isz-Wep}ZP60p`#x88?u+l940+VxY3H0>@e#rv z_vS)@qQ?vGOZm%N$@#?6K-?x=7dr_GUd~bOBfJ|G$Gz|jRDulC%8?=HIJQY;9Nk>6 zJ08g+@jvmVfzPwQ$o|gXJ@S>3M;mhzT^Ogqad}6w$7PZ1yMfHuGwofjsr87nuIFSz z%cRGNPH#U)M{6z1bFrOJTv{wAiyP1ob#AzluVMDM?8d>J8WA*S>lCR_&y-Q#uJ)jC ziS&!>kzk}xI4RgScsf;trqj7s(Yew>|&p$;Bs*j26N7^h@&6gr0>Wg_flLojBOd+jAtVcwfvEn+X~G zL}3#D5)a0U@avFaXAzxTMtAW>{&)F;?Vk0lG==*~>mT{qH!QcYe?z!ve7fEjdvOsx zA@*f(s&7Z`_qjy^Poke{710eLXxU}kZ~xA5+`&5@SQp9_<)E}#EG_*bSC+j(jJ8y7 zN3=jy|EN$zJ;Z0(h9tB}{X1o7LTN`gu@dbQ4~6Q4BB9qqX`!Lvuc4QEEgTGu4POoq z4F4F3#h+=l&>%6%_P}1tzRR*jI7yExtD+U+)AY7DQ|w`1k?->3saaohV+b8eJ=K&?oAqHWPFZkPC{ z{L)g_k}59~x8XW^N%e#xsqg6_+*!OVrT`xjm3F}y*_|`q&Z?H%#$Pi^v@o557Sm2} zm*fTcR<8$l1-5WQ`Ivat+Q50*J=)tgVTiYmbDcbrpGgC12eqO$Qu{%}+8w2Y5`^pQ zje1pnl>ELOxyyN0J7-#s^6#Ve`g`%OBh@07@GyVd+&kHMSr@Z>S@G=hzNdkOp%$^( z`av$uI@6ty)FNeM@*{89@vgjpYl1KEW8?|8sPlc#8doK2cP?997kw6d;+qo~5q(FU zO79EZZ0+2;yeZyt?)moB!Y*w{q*dTeU%=NXm=_uot{W=iyO4SEx&QIaCyD9y+(nT! zIBFZ?ou1qz^+4L{G*2?|%yuod7m_FQ-*UJ38{!H1hUF)#Z2eg%O54KN-5yyUT_1m2 z^U=e&JXeJap(*GN9?WgS4e==SnZ7?(GBn74!dKW|)xSQF8W|c*i(CtjjEss-jyF}4 zNG?}WS}upJqaE+M270=CuX-Hr@%9!{HVSF|RZUCaZpgnnR(tm+p7VI@S-eYc6*~mi zZ>fP^;Zf1^@vt@kd3ihE7O$pg%sf5vf?gtO5XTARoz|C_nn zvS()R&EDke7`>|^^sPA5UduZ;d0EQxl3`98FgNcPZ#pC!%^UGH``e6mE`HkDT$Kju+7i4P>V(fMA}4$#6MKCwS#&GrAx46 zPVP(Xnd60;{w%k2d>DV+{$WBeWlZ6WBFEC2CDwAyvOedJ>U)(GErkkP3qh9F%b$uF zAw3IN@vd7-swbL`f)6ccb-q2D?m`^Um8bm5b%0wSTlVXxm zMEx@A3KsHp&h3}mId@^+M`2F;5T%Gat;w#b-hSS9-S-^rEyK7OTE*B0(KGSC$vN>C z`%_Psq`e8Fodcx1ut>ZvsmLFZhdM5Lu6nW@r!66ViQXfU?HlI18qmX2 zm5bzOxUV-@>k!_XJMU%6Q}s#J=XJ842H)2n3SI3D-TM>vCpPqc>f~&F<*$Ut_*bs6 z+}N?q(=M?@^8Dnco_=zaejJYm=lIIy-S?+NPbqUqL*6UDZp*T_c2sxtwh^fVzldB> zD#UxncE?V~PDa;9YlTzuhGyJ*_Sa+IqwSB*Jl&Z!GdNor&n4K;C)O*pukflOKNlX7 z(#iAKT1q-0wv>{sQRe}#mPiuXJ7wvK{$n_n*D!l}Rxocz5<;)%KFV?Cjq!~M)`)bB-U&r=3ctMfc=7$e|0({+{_?HBNYc+*BXLmS4~i=# z>y!u)-y zl2A3ZOxnAt6I0qHu5ccZwjfR4r*m{Dzt!@F^E$-KB}X@TC;DD_Em9}Y%iklkDb_?E ziT@NY+1_<*v#t;m@HO>DXjRVQti)W=pB8Sa>?OZ}6dca0(tG+_tQ6^mo1QQk+w)Tj=aa6W_h8VHvUXj@dH; zcO&1#mur+LD1b+BMTPC+U}=xELL4rX6{hpm`PEz}gh@yB$A~BJcWxkOYF;7#JYZTG zx|&-fbeE6Xo48Xv=R8}yJv{3ipUa2&dE6FE@g`w~oM8LIwoE?H4b?kF?+5g}`MD0? zC&8kzY5D-}oLt)3)jiEs-x0U86V7R$h0_Cp!06!f(EZ5PSX!)oa97TajD0UQKY#dg zWKLFO4}NMpnlLJDXOY`Q(_sX7!JF#nDDUGRpeDGPuti>Gd(Y0{QMhZ?F*_$?ct-WC zoZR;UuINg=HTM@E<0lJoQ4?#xo!trCGc=l{t25M8{W*Doi%A1*Jzd|qhd6uNGNp$6 zVYHO&(TmX)_$NV=FWZ7nr>B?uFUJmRIf=)Y<6A?Y2gOjK@XpBSSR}qXwmh`U_eqYL zIW2Qq_5uIPcpt8cwT7#`_mhMPUfns|+Eh41t@^L(cr8Sq2yyELXFc~p_bz99shqwg zT;EqH=USF6=c%8Io>%&jMtD5mUpU8S@L@reZ1Mu>INU9&DvcCp34h_mgi||2+6K1e zjnBQ3H$QMZ>{WZ?xuPhKl($$;StaXfxLfjv^sSi5N4P;k7Z|@SvrTf^Jx9Hx+`Vo6 z#C^1fGAXh-*gcpVY8ox3j;1sCadI{58Ov+(7@;1XqZSXn%pJ-4Jgat?)0pvv|^iE|1)eeF^4QN{i&TruUW=Lh>~d7Ic(ddK>$BiAh^ zOi1XL@P})ZbXG4DO$d~Q`yMNOXTrmk4rD0zT<+MHr zPmtcX&-XM*nwr=R?zV2VOcheGk2Iu%Ar=CH(^Ad8#5vY^-Tt2Sp!5rWQJ)**LM+Ink znSGSKs;#v31G&1mo;yOmR&7e9_^J44b*26o%@I}W?{=&Gg6%8Y5sORO&M$>WYPGc- zrL^`V8H{fTw=4r3KfBL*jyipo%Y0ma9NQln7ib+g8z>we9lxnpgX{2Sk}g_>XZQqZ z6I&VhI88JV54LK!8}yQROC;mLYGcUbU_Qbi!nMk%isDOc?K;?`pA3vWqo z?Kxz-E++7mcwQVY_qIhHC0z4de>g*yrI=TL2w(6I%`2IA)c<{GQdCt#XtDUfvfMTw zN;%vo+{2s;tv99m`~X@G?iLH-BK~GMrL#L_Kg@oZ+t0r$v^2I`%ceP0CK=jW>ZI7u za3{Tp|F_(xIeT(f1*%3HYBRWZtl92c$@9{trM{m0(3|0W%hpJ~Bq~Bjp_X*s`j)e$ zXO{P@X{Bh=^*B)Jeu=J7TS-td=IVXdi z)R)3VSLw9k#jcmwTB=wnQfxpGA@vsY6|$wK{FSAnZIh$8`+#Sow_HMf&vx5dzKDJ? zIxV=+m+V{ayX`9$>>e$v<)AJ?4|$O-)tTd->lx>)Ya1`E#Fh0wVrN1-eP^?7Wo*y< zBP%&q_7@HLqX*S#v^5@1!`dU|QuKakR$!R#-P|47-EtoJ#)X$C7mepTaRDxiE?M#Du?EL=yJM(j%Ic&J)%fG6gd_A!Qb2G&l{1u zGUtQ52mYMUf!H1G3$DGjh9@)mR_e0U@hRB}KIe1G5BxuR^H`bi-0*%(zuFZC0X(DBEI-Rd~P@}Ob(M!>Wlx-ifU4niW~)W?PD6=_rC$F#!9wY>j0QY_!_Vce9@ z5mrc7EwX)vqpma2S@m7+sJ#e;o@Pd^*0)%@?a!irYrne|J=N&Ua+n zA6jPd9$H;>#r_VTf$Q-l{v_Wm-)_jE0$jrk)30zHEnhmDcqYQ=D9OFp{#ahcza(vx zlaVD66l)%@p{~&{(P_9fHxd7%--;~?g?wCYv+RGe`eqN!xt4b;*fjQmwu_eFOUu-D z&!u`k^OW&)cUN;hwb?B9g~7O`J_MfOT~Lo{b;xkEnI9}&uxQqSmNQZh(aJZ%?Wjwi zreZ3tplWO+&lCO&7qu&9*sPWIu)PVOm9!x(k^hX zbh=(isU9gAZ0(zz`$o?FtcF=5GfQRO$%^D0_O%Jsi5=4ILOWX}&-;l@k`JZe6noNf zZ%5Y)TR+(%ekjhAR?AJS7i~7j2aba?#6M31%E@mkT65heUfJx*5z{e z5#m|t7Tj|_Ww|M}5u5Up&|Up6rEE+Nf9~(@+wH6EKNdI@S{&V}xb+Qm7g|O?BA2uc zO7VFAXvN5o@Nc0Kkvp*;)Oz$ZS4aBAdcbkdrMtd#Hg~kP{VE5mQj|K@*Js&_%7FsUehKi@z~!{XY@d1S~wi?higR3#y6@1NPX^2skiMX=SQyX zF5cDLUeb~ytii*`C8d1aqBztUS`D&<&V!samu}E6$7@Csf?a*qynk|!K<_+bNsJ_LZfnyh(h)hmeho(U0qW$XArd{rFAdaJiJVx-|}C zm`Ork?iy-E2atOD4DEq_f}X*Lcr5Ognp*^`$2wh}BTnGwqli9S>!1!%D#nY(FDfIn z`FaHIEB{EEkuUWjT0^CAtahYXsC=+#;8%Ywe-YnUpW@F7j*Q%j^@Qi%-;2#{`<(0C zoOi#+?e61Dv|q6_m5%ct^UH-##V@34vTXUo2q>`V0LRvI}+L-xZVO zPXMo#BIT=bFW{cgHu6Ltt1lzH&^g?O|3Ek)z9Dm#DV8;Gcj-RN1+k;P!~!G0tIA*T z(aKqMz4k<_q(9Z$kkaH6Jx}$;L(vkEbD=ZAqQM1$ss3^Poq=~kwIfYpE;T~#a)sr% z?SUi7^_?r#mFuWv?_(V(?-SmIxg6Jpxni=EC)q3&Ez9H{(n@|E5?}_%56TD18Kn$l zk5c+*>csc(Qf>raN_Z*!Ej|+O32XRwxb5gWvRwOC*$;@c3LOnC3ipegj*e8)wM1&i z6Yy#@p8ld&)8fj@cnWCvJ7m3eaF47D?S^;r&%`V8EbB;X2g?Y#yHs9mFKpxg=Jw-$ z_!(o1QsIF0`j&!NZlX7Y7Lo`7@lrZ9;b1nT#Z7NoA_hxme_D3yZ{3(s@yZtg#oD zK-b7seYE?>#x>Rmhp02 z+#~ehZ{y{-J=ctHBa|1d(pOR|X^S{h7|3-*wMl<%ow`yDs~>0*kd-+B%F8B&9pcBa?y`Hv2sT$uC%Zm+(Cn)Vy6`lc?Kp)||cr>1i!eoKoRcj0E zn;HKpZd2E2J>hIN{*K=c@n2EeCms;a^1pBuxE%ZkzJU*5D`)3_=Zg#Vg;e1QKaS7l zI&*d4KEhq{o9+MIXqXHC;lv*lirb8BsRiR9*+AK4Wz@!LOrT2(>KDE z!XmT;GRXvf8-JCb%lGEqz^@?%o;z>Si|FUH^;(jCS+7h!BA1CkYta()85vH->kGC0 z>IJ2|awJ|nzB;xnRwe$LlB~AVDv*Y#GFM5^#Io`l`Aa!T?g@QMMFI0KU?$>r!0U7H z$r1i-p_}022LoT0qdGKGFRS~sf3(v2=g@<%rthJ@(NKIFH{b?yGq~Tl`CKj@kAH<{ z5)!?jPuKdXhn0QG6Qz|}N}Hk|Aiu-h$SU|Ts)$O_5~PU!x;9PCfQVS39@Q@D8KfMV zffsNI{2jiu@GIY&&*Ro`9|2Yod;xF86}dCOl(Kwxei}cT_wX0FhFl_cqY|_&*`<5+ z!P+Htjhd{T)>`UC;EDPkln!$&KM-QVS)rLQho8mO#eTYu^waNX#bDNAD%nhi(p;G7 z`HX%`7m%j^0r~q4Ea6dbrPP%>&%MWA;*asm_+0KRUW$6q z5#%Yfv;t;>9M!)AAC^O(qY&zb*WxWW7u&h7umev=H)$E#j5OBEYTebw>UuSru!virZgepDT#snIw8yGli)umr4vZUaq2KW!F3NohI91_Kz$mmh_W=Kh zKfrEW3f6I43y#g?KI4XR4Iq;45&gwG(W(qU&CK4~HN7j++q&RI0 z$3CDv=t$VwMAG#N`iEK^vR_s8tnwAi9n{r(T1h& zjqwc>KrMjvg}C>)joimDf3_9(HQt2|(|^cdQkE2hnXN_0Xi|e7qIJ;sP`V0kh9}{d z_yq2bFQcaDEUio@k!|`@?Gx<)WVLyEVa&0vno<#pF3@09=1ct>`cM z2VF?hNpUhrf28fwzR`XG9@zEW`fQR0{wWLoNyD8Xn|Feii*irlIn#KUbUz(s({c1e zK!MT)s3!C&)3`@mYrYPQ2kwD?%A!&90_jC`J&F7R^Duby87dE!d<(zbFsjQ&qv1*J zb9#a<2cMOog=jZA9Q-zxencn2ET&HMZJI@TkZbxI`fplKEmvKo_Efj2y&#A9bT_RC zd?>+L_`UoM$jxo}9BvNh<<{WJI0F^JWAQ=2s{uEN>%^r(91OwRQIK|~+2kN(pRMFO za+Yu&1g`ec}YPGQc`KqNxTKj1qscDV}AjYi=Sz>FDqG9H6F;bHhQycBihe;HWVv2L$9j7`S6>9Wl>%8Oa4(nxF7f-gH@HnOikbzO zkEK@ngd_k$U(t)y4>9-vMh}x|9G*qr)W_(}fC;tr?)nt{ygruXkpZB0X|U=!>VOa7 z`}jEi9`eZBF!OyeDv3_eE%Y|zq8SL|1(@f?aKCa_xPdT-T|sTo2I__kF_64Nej*)c z28?~L0!kfmSC}y7mr+B~hT_KtQFt{mIIsK<-)&_O%|`j*msCbt55l}y0rb^HYFgIP%gwF0De!OZ+4 zcp1ztsDgJO87-nUDJ74|EpiipT_JDLAE^cPLYv`N8?A@jF_*Z=&-(j%Ux-mF*-JXobm&`eAun!@KgJ7jPh1$= za0y%wH^q%`HQ-iPm<2K%dg{Ko1?-i>H6aGaL%%zVCeois6OyBEhv!wVku{_Y{hLlh zg~8_v^apjg8@LaC2G6Dw&}KlzO_PA%v*;fB7u>JCNB7co;8~r_CPhh>ep|n*r|SyH znL@&(D?LKf(EET&7U}|6e2fPG8UntK7NI)u1a~Jr2X9x@M?2x^?=*ZG>(JLFaEq~y z2EzLh189uwCX2`h;-vFv9PZVhK`|u2bFQ-Ry!ac`5hcO9VShsw*h**63E;m)kPp^? zN9WNY;MI=-@%!-3LM3uZpRd=2td#}VjNA2kB#Rt|tC+%&59)ENxrH#YvvCLTAe;bw z#U}8<7W4om1MfcuKMuu>LFdQlJrt%JXh)g?UZil{Lg60JXY>Mfqj%5}@XKZ7g#PLQ zY`u$|Xb&J2A*;y%@Z&<5ZBYSo)?;9E53~Sv21%b%7hOvl!*x#{%w?$qaa{?}sDpk$ zFF~&k_iB^H!PzKM0@ozfb57BJHn^6Nmbt&yd>jC4((=X{sh`@Aug&u=3{4k2>b~1^y zCRIo|QipT|(3kdFR+v$Ul0V^7eV_`S?F1Vn84Nf9$-)ttf4(R)D%|n$kt5^>;Cwcz1uPEJ zK9Ei9xIOea{cuT~jy9m4$cC3Mn@B5e(fXI`UGas%+%Le>MP z4iO)zMkmqz5M@ol!XqexJkXCn2S#lLJende%B255E>1=b(M;$sUqE|RaV;3p9Y>Q; zdB~A#fiI0|HNa~Eup|$#>W4l78&05W;PY8%1ZoN8FpP-*pa%inosgG*gp%9oX2=o8 zU_Ftxp(Vk#Q!uM>BxK|cz^sd;B6yn8QRp{R62FUQgN03T8qNevmVy6TL7wY~J_Ibc z0aCxfvJb2u4SjPIa>ib$JClxr7@r0_`5i_BE>sz~G#Pyhh;4>=9F7`;ZP&nO{eVHm z=^LQK1jtn9AZK|XW-3CTdW6oVEod_ItXH5+8i2Y(1dl@FV0#9d3eh(c^7nAya1^|-4)kdR`9TNNi^5%vZ>f*gK(o;wNI@0B zwsg>K0gV1w)a<9LAbWfb>od^eEr_wZ^ak`t%b=&P4jGn%?2$ooAyYYMOXv@Np)YAM z(2Mo>|DeCnuV^n?3HY=^B_IdB1gki>FVG#$1q9BZhsY1wZ$(4lSPbx43>mry?L()4 zhkVdyc7~cOz=ww*8s~vkZBc1>Q!R&H&iCLZ@Zm0KaUb~a1pLmy-Y2v#TqC;abMWHN zFb+9H0x*u858Por@JWcWa`5ATS%(0r;gD&{A~$%T2J~R z>;k-&Ld?$urtb#?D2y8#qrQOb2GHtDklGPs#Gv)BLGO3LkHewQ+zKpv0b`#;;9M%q z!u<)3b%A{5r54D`F2H{hXdI#pivL$=>7Wl0z#C2u#8u;r?)B!Xb2z}E? zG!cCOh?Igi@^3)Q&jm}H!wA1F9R%6v619O=^B^+*Lg|nn4nVy20{*Cw3w8tdRsh?N zg72R}9?gNVelB?PAb9pe$PUeE1BmHrAgLEfJwP8pA6^4|vIe+(1~~mQc<|%=4CsdU z9G`(*7`#~z>>dO9u7!*-2MvOe4&&B#=rKma$YdNu`KkPPtpnD;Y&t+{0qFk@jO-HO z{lu4$3l0G)haj*0PJaWBUWXp?5wPnh;5{3%d~2|+1mKlQ%K>tWfPYqq{ZB!sm%y5r z=n`brmFOeX4!DyH9`vG0s0r-#1+Pv5UygwsQ~|P3255Bzdc>757FY`T`gi&S?kl|p zIb{IE;iurg5x}cjz=9mmVWYXq@d65gq-fZl){(FEeDBlx;2jOZ#rWM#vMH4D6Z-JnV&<0pc!rhxB>A4^IH1%zHOLuRGwu z$6(oS5Sd@n1(5p(171B~nF7*&r&*v?b&xO_Y+MGhHWOs_&PP8H^y1-uQyR#w4ZLp( zcy$7uUWc($6c~3Ga?W1RYa?KO6qpi$@8^^PR69Wq9s#|2Yw&(DNbtc}`%j3|15o}d zRu>~}n2VD3V#$f9J*Lxr<1+?l87)*z#{s{X1cfnT;P*r#* zHUVTNK+j(sV!SFKRt0!p6WA|J8)qs#PI^SR$C9b<1YBf1}(zfbiimL=r#;A zY!A591Xj5LsbpA}2disAR5XR90pQ_<9GebxPl8vX zsv%gD1hJe29=iaX`V%~P15kYo{bmsK$^xv;!?oKU=o?ppMoXa=*a3a_Ul7qewEHG7 zYdGLE2z=QY3^$ln#8OA74ko`Ag)3cBj&I1N7;D{44 zV>R$$N8n(4(5@a}RTS_JLD`#7>JC`)08q|>pARxtIvhC(cy9&HuLdu!gdfXlH{iTZ z6JW&C2;#ppsuh2Ugzz`!9oUu7F-o zp*0NsUQu9a9f;YQ;P=u{-VRa}@Yi!F!SZ@uK28c~6o8{I0l8a%_fcTMF7V!A;Qj@$ zH8a=A}yDRVVxe(7+09xj~l{I93c=DhAPR0lfmy!b9M|jr@3j1UX0n z1l(}GBruhEyF7S16%gbh!v{d4=diFoKO2yUgS9%u;v>+3*>x5;dIaLmK z083fyH_Vq-8rn_-T||(k1BY#p9ST8PCBS>7{s%2RpBH!Y^Uoc6AKHpQMrJYl8k8sp z5=ueND+(5Ha5a+$tv`fPPk?_6FUBe##D^cYqxo3^E|;KpU~kB)@IMB_weG@n^1@H~~S@RdBBM))N!=4Q1jI|Zs z{kK602b8zL;sPIe0V5Y|JD{Wk$}&mptPEuh2>?5MC4=>U%s!@34D?W7ThF%>K@MaV zGQF68L$I(C1}b{~nK0C45?BqG(h0h=KOJyoUm#%iF`OCVF+iDp!+^Cef*u--l?i-* z2!mdRPRs)m?6EIYuw%^6B6!5mfj~R#iwhFSXEIc1fqgfDd64-_1GE{sF<1wnY;HdG z0XV`Kz z8`dl{_+TppHQ|L`*p9)%qLO(a7o_;01?CSHLyUD1K!Sax#|m0t@GrxTaoG(&2e8?l zpSKvdlOT5`L#}YaFA0tp&bPw>mKx<4K2d0eF;#(I7=C`}_1MflrcV&`cnH4-kXJME zwFp9v&43?^Qx>sdShGCKya6Ay08g^0V3Ez3&c43EzUm=^KN+K0^cgL)7-Sk3hW}2` zf>~m430^ISau{kcCWx@dn80F>F-e9a80s>wTHy?<#lEq_{LIc+VV~7yTwz|x%RkF< z11rNg%q$IpjnBc#FyPC2j4UV@1RPnM1ffg-v}f!yVk8gjjKj46%Udj38E@Hla}XS1 zY-6#=@(c3`YnccA*%pD49O%k})$lM0bfbU-V;s}Q0#X>u+4o0SB(qp%-wa~hWqPuV O!*U5@GW%W-rT-t_YlYhY literal 0 HcmV?d00001 diff --git a/themes/pesterchum/style.js b/themes/pesterchum/style.js index 90f3029..7fe812d 100644 --- a/themes/pesterchum/style.js +++ b/themes/pesterchum/style.js @@ -15,12 +15,14 @@ "selected": "background-color: #ffff00", "loc": [10,0] }, - "sounds": { "alertsound": "$path/alarm.wav" }, + "sounds": { "alertsound": "$path/alarm.wav", + "ceasesound": "$path/cease.wav" }, "menus": {"client": {"_name": "CLIENT", "options": "OPTIONS", "memos": "MEMOS", "userlist": "USERLIST", "import": "IMPORT", + "idle": "IDLE", "exit": "EXIT"}, "profile": {"_name": "PROFILE", "switch": "SWITCH", @@ -220,10 +222,12 @@ "ceasepester": "ceased pestering", "blocked": "blocked", "unblocked": "unblocked", + "blockedmsg": "did not receive message from", "openmemo": "opened memo on board", "joinmemo": "responded to memo", "closememo": "ceased responding to memo", - "kickedmemo": "You have been banned from this memo!" + "kickedmemo": "You have been banned from this memo!", + "idle": "is now an idle chum!" }, "systemMsgColor": "#646464" }, diff --git a/themes/trollian/cease.wav b/themes/trollian/cease.wav new file mode 100644 index 0000000000000000000000000000000000000000..4169e12ec5ee3cf7e437b3e7bc9a5207076a7169 GIT binary patch literal 24260 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 O!*U5@GW%W-rT-t_YlYhY literal 0 HcmV?d00001 diff --git a/themes/trollian/style.js b/themes/trollian/style.js index 0affc98..c878188 100644 --- a/themes/trollian/style.js +++ b/themes/trollian/style.js @@ -21,6 +21,7 @@ "memos": "Memos", "userlist": "Fresh Targets", "import": "import U2;", + "idle":, "Idle", "exit": "Abscond"}, "profile": {"_name": "View", "switch": "Trolltag",