diff --git a/files/assets/css/classic.css b/files/assets/css/classic.css index 46841788ab..72c2b50847 100644 --- a/files/assets/css/classic.css +++ b/files/assets/css/classic.css @@ -1,61 +1,59 @@ /*common*/ :root { - --muted: #666 ; - --black: #444; - --primary: #b40457; - --grey1: #888; - --grey2: #999; - --upvote: #ff8b60; + --muted: #666; + --black: #444; + --bgc: white; + --primary: #b40457; + --grey: #888; + --upvote: #ff8b60; --downvote: #9393ff; --sticky: #228822; } body { - background-image: url(/i/classic2.webp); + background-image: url(/i/classic2.webp); + background-color: var(--bgc) !important; } * { - border-color: var(--muted) !important; + border-color: var(--muted) !important; } #frontpage .container, #thread .container { - max-width: 2160px; + max-width: 2160px; } .sidebar { - background-color: white; - border-radius: 0px; - margin-top: 0; - margin-right: 0; + background-color: var(--bgc); + border-radius: 0px; + margin-top: 0; + margin-right: 0; } .no-gutters { - margin-top: 1rem; + margin-top: 1rem; } -.navbar { - background-color: white !important +#mobile-bottom-navigation-bar, .navbar { + background-color: var(--bgc) !important; } .btn-primary { - background-color: var(--primary) !important; - color:white; + background-color: var(--primary) !important; + color:white; } .dropdown-menu { - background-color: white; + background-color: var(--bgc); } .dropdown-item i { - color: var(--muted) !important; -} - -#mobile-bottom-navigation-bar { - background-color: white !important; + color: var(--muted) !important; } input, textarea, .form-control { - background-color:white !important; + background-color: var(--bgc) !important; + border: 1px solid; } /*decoration*/ @@ -71,10 +69,6 @@ input, textarea, .form-control { color: var(--muted); } -.pronouns { - background-color: white; -} - .fa-thumbtack.text-admin { color: var(--sticky); } @@ -84,86 +78,82 @@ input, textarea, .form-control { } .tooltip { - background-color:white; + background-color: var(--bgc); } /*front page*/ a.btn-block[href~="/submit"] { - display:none; + display:none; } .sorting { - float:left !important; - padding-top: 5px !important; + float:left !important; + padding-top: 5px !important; } #frontpage #main-content-col .row:first-child { - background-image: url(/i/classic1.webp); - background-position:center; - background-repeat: repeat-x; - margin-top: -12px; - margin-bottom:-15px; + background-image: url(/i/classic1.webp); + background-position:center; + background-repeat: repeat-x; + margin-top: -12px; + margin-bottom:-15px; } .sorting .btn { - color: white; - text-shadow: -1px -1px 0 black,1px -1px 0 black,-1px 1px 0 black,1px 1px 0 black; - border:none; + color: white; + text-shadow: -1px -1px 0 black,1px -1px 0 black,-1px 1px 0 black,1px 1px 0 black; + border:none; } #frontpage .sorting .text-primary { - color: yellow !important; - text-decoration: underline; - background-color:transparent !important; + color: yellow !important; + text-decoration: underline; + background-color:transparent !important; } #frontpage #dropdownMenuButton, #frontpage #dropdownMenuButton2, .sorting .dropdown i { - color: yellow; + color: yellow; } .card { - border-color: var(--grey2) !important; + border-color: var(--grey) !important; } .modal-content { - background-color: white + background-color: var(--bgc); } #frontpage .post-title a:not(:visited) { - color: #369; + color: #369; } #frontpage .card.stickied .post-title a { - color: var(--sticky); + color: var(--sticky); } /*posts*/ -#thread .container, #thread .card { - background: transparent !important; -} - @media (min-width: 992px){ - #thread #main-content-col { - padding-left:3rem; - padding-right: 3rem; - } + #thread #main-content-col { + padding-left:3rem; + padding-right: 3rem; + } } .comment-section, .comment { - background-color: white; + background-color: var(--bgc); } blockquote { - background-color: var(--grey1); - color: white; + background-color: var(--grey); + color: white; } /*userpage*/ .jumbotron { - color: var(--grey2); + color: var(--grey); } /*casino*/ #casino-game-wrapper .row-cols-1, #casino-game-wrapper .row-cols-2 { - background-image: none !important; + background-image: none !important; } diff --git a/files/assets/css/classic_dark.css b/files/assets/css/classic_dark.css index 00fc81a826..9f8a46771e 100644 --- a/files/assets/css/classic_dark.css +++ b/files/assets/css/classic_dark.css @@ -1,222 +1,7 @@ -@import 'classic.css?v=4005'; +@import 'classic.css?v=4010'; -/*navbar*/ -.navbar-light, .navbar .container-fluid, #mobile-bottom-navigation-bar { - background-color: var(--black2) !important; +:root { + --muted: #999 !important; + --black: #999 !important; + --bgc: #222 !important; } - -.form-inline.search input { - background-color: var(--black1) !important; -} - -.nav-link.active { - color: var(--white) !important; - box-shadow: inset 0 -2px 0 var(--white) !important; -} - -.nav-link { - color: var(--gray) !important; -} - -/*common*/ -body, .card, #main-content-row { - background-color: var(--black2) !important; - /*background-image: var(--bg2);*/ - color: var(--white); -} - -.posts .card { - border-color: var(--black3) !important; -} - -.arrow-up::before, .arrow-down::before, .score { - color: var(--black1); -} - -.post-title a { - color: var(--gray) !important; -} - -.flaggers, .flaggers a { - background-color: var(--black2) !important; - color: var(--black1) !important; - border-color: var(--gray); -} - -.dropdown-menu, .dropdown-menu a { - color: var(--gray); - background-color: var(--black2); -} - -.popover, .pop-username, .pop-bio, .popover-user-profile, .popover-user-profile * { - background-color: var(--black2); - color: var(--gray); - border-color: var(--black1) !important; -} - -.text-muted { - color: var(--gray) !important; -} - -/*frontpage*/ -#frontpage .sidebar { - background-color: var(--black2) !important; - color: var(--gray); -} - -#frontpage .dropdown .btn { - background-color:transparent !important; - color:yellow; - text-shadow: -1px -1px 0 black, 1px -1px 0 black, -1px 1px 0 black, 1px 1px 0 black !important; - border-color: transparent; - font-size: 1.3rem; -} - -#frontpage .dropdown-toggle, #frontpage i.fas.mr-1 { - color:yellow !important; -} - -/*post*/ -.post-meta, .post-actions a, .post-actions button, .nav-link .fas, label, small, .comment-actions * { - color: var(--gray) !important; -} - -.comment, .comment-text, .comment-section, .comment-body, .post-body { - background-color: var(--black2); - color: var(--gray) !important; -} - -blockquote { - border-left: 2px solid #c5c1ad !important; - background-color: var(--black3) !important; - color: var(--gray) !important; -} - -.form-control, .comment-box.form-control.rounded { - background-color: var(--black2) !important; - color: var(--black1) !important; -} - -#thread #dropdownMenuButton { - background-color: var(--red) !important; - color: white !important; - border-color: transparent; -} - -.btn.format { - background-color: transparent !important; - color: var(--black1) !important; - border-color: transparent !important; -} - -/*leaderboard*/ -#settings2 .bg-white { - background-color: var(--black2) !important; -} - -/*submit*/ -#submit .row.fixed-bottom { - background-color: var(--black2) !important -} - -/*assorted patches I don't feel like categorizing*/ -#followers-table td { - color: var(--black1); -} - -#mobile-bottom-navigation-bar .text-primary { - color: var(--red) !important; -} - -#mobile-bottom-navigation-bar .text-muted { - color: var(--black1) !important; -} - -#settings2 .nav-link.active .fas { - color: var(--gray) !important; -} - -#navbarResponsive .nav-link { - color: var(--black1) !important; -} - -.mobile-nav-icon { - color: var(--black1); -} - -/*patch*/ -#settings2 .text-muted { - color: var(--black3)!important; -} - -.btn-primary:hover, .btn-secondary:hover { - background-color: var(--red-hover) !important; - color: white!important; - border-color: var(--red-hover) -} - -.dropdown-menu a:hover { - color: var(--red); - background-color: #fff; - font-weight: bold; -} - -#navbarResponsive .nav-link:hover i { - color: var(--red) !important; -} - -.btn-secondary:focus, .btn-secondary.focus { - box-shadow: none; - background-color: white!important; - color: var(--red)!important; - border-color: var(--red); -} - -a.nav-link:hover { - color: white !important -} - -.nav.settings-nav { - border: 1px solid var(--red-hover) -} - -#thread .anchor.comment { - border-left: 2px solid var(--black1)!important; -} - -.notifs .comment-collapse-desktop { - border-left: 2px solid var(--black1)!important; -} - -.srd { - background-color: var(--black3) !important -} - -#navbar .form-control.w-100 { - color: var(--white) !important; -} - -/*chat*/ -.chat-message { - color: var(--white) !important; -} - -.sidebar -{ - background-color: #202020 !important; - border-radius: 0px; - margin-top: 0px; -} - -.modal-content { - background-color: var(--black2); -} - -.tooltip-inner { - color: #d8d8d8 !important; - background-color: #313131 !important; -} - -h5.post-title a:visited { - color: #6e6e6e !important; -} \ No newline at end of file diff --git a/files/assets/images/emojis/marseybetauprising.webp b/files/assets/images/emojis/marseybetauprising.webp new file mode 100644 index 0000000000..98cd802411 Binary files /dev/null and b/files/assets/images/emojis/marseybetauprising.webp differ diff --git a/files/assets/images/emojis/marseybongcop.webp b/files/assets/images/emojis/marseybongcop.webp new file mode 100644 index 0000000000..6904bbd597 Binary files /dev/null and b/files/assets/images/emojis/marseybongcop.webp differ diff --git a/files/assets/images/emojis/marseycarpfisherman.webp b/files/assets/images/emojis/marseycarpfisherman.webp new file mode 100644 index 0000000000..3cd07b8bbb Binary files /dev/null and b/files/assets/images/emojis/marseycarpfisherman.webp differ diff --git a/files/assets/images/emojis/marseychingchongsupremacy.webp b/files/assets/images/emojis/marseychingchongsupremacy.webp new file mode 100644 index 0000000000..87e9f36e56 Binary files /dev/null and b/files/assets/images/emojis/marseychingchongsupremacy.webp differ diff --git a/files/assets/images/emojis/marseyclintongarrison.webp b/files/assets/images/emojis/marseyclintongarrison.webp new file mode 100644 index 0000000000..097c90bc5c Binary files /dev/null and b/files/assets/images/emojis/marseyclintongarrison.webp differ diff --git a/files/assets/images/emojis/marseycrusade.webp b/files/assets/images/emojis/marseycrusade.webp new file mode 100644 index 0000000000..8ece43fb0f Binary files /dev/null and b/files/assets/images/emojis/marseycrusade.webp differ diff --git a/files/assets/images/emojis/marseycrusader2.webp b/files/assets/images/emojis/marseycrusader2.webp new file mode 100644 index 0000000000..8858d47d9d Binary files /dev/null and b/files/assets/images/emojis/marseycrusader2.webp differ diff --git a/files/assets/images/emojis/marseydarkcarp.webp b/files/assets/images/emojis/marseydarkcarp.webp new file mode 100644 index 0000000000..e4a0676147 Binary files /dev/null and b/files/assets/images/emojis/marseydarkcarp.webp differ diff --git a/files/assets/images/emojis/marseydarkcomrade.webp b/files/assets/images/emojis/marseydarkcomrade.webp new file mode 100644 index 0000000000..ea007b3c6e Binary files /dev/null and b/files/assets/images/emojis/marseydarkcomrade.webp differ diff --git a/files/assets/images/emojis/marseydarkpizzashill.webp b/files/assets/images/emojis/marseydarkpizzashill.webp new file mode 100644 index 0000000000..f1cb5d387c Binary files /dev/null and b/files/assets/images/emojis/marseydarkpizzashill.webp differ diff --git a/files/assets/images/emojis/marseyedelgard2.webp b/files/assets/images/emojis/marseyedelgard2.webp new file mode 100644 index 0000000000..7c22f4fc9e Binary files /dev/null and b/files/assets/images/emojis/marseyedelgard2.webp differ diff --git a/files/assets/images/emojis/marseyhomochingchong.webp b/files/assets/images/emojis/marseyhomochingchong.webp new file mode 100644 index 0000000000..3a7050bae8 Binary files /dev/null and b/files/assets/images/emojis/marseyhomochingchong.webp differ diff --git a/files/assets/images/emojis/marseyicecreamcone.webp b/files/assets/images/emojis/marseyicecreamcone.webp new file mode 100644 index 0000000000..f6389953e2 Binary files /dev/null and b/files/assets/images/emojis/marseyicecreamcone.webp differ diff --git a/files/assets/images/emojis/marseykkkevil.webp b/files/assets/images/emojis/marseykkkevil.webp new file mode 100644 index 0000000000..12bf6ee883 Binary files /dev/null and b/files/assets/images/emojis/marseykkkevil.webp differ diff --git a/files/assets/images/emojis/marseylicking.webp b/files/assets/images/emojis/marseylicking.webp new file mode 100644 index 0000000000..e1bd142ee4 Binary files /dev/null and b/files/assets/images/emojis/marseylicking.webp differ diff --git a/files/assets/images/emojis/marseyloss.webp b/files/assets/images/emojis/marseyloss.webp new file mode 100644 index 0000000000..831a53652e Binary files /dev/null and b/files/assets/images/emojis/marseyloss.webp differ diff --git a/files/assets/images/emojis/marseyrulebritannia.webp b/files/assets/images/emojis/marseyrulebritannia.webp new file mode 100644 index 0000000000..16ecccd3aa Binary files /dev/null and b/files/assets/images/emojis/marseyrulebritannia.webp differ diff --git a/files/assets/images/emojis/marseysalvindicated.webp b/files/assets/images/emojis/marseysalvindicated.webp new file mode 100644 index 0000000000..804ddf48c1 Binary files /dev/null and b/files/assets/images/emojis/marseysalvindicated.webp differ diff --git a/files/assets/images/emojis/marseysignaling.webp b/files/assets/images/emojis/marseysignaling.webp new file mode 100644 index 0000000000..3f8d850926 Binary files /dev/null and b/files/assets/images/emojis/marseysignaling.webp differ diff --git a/files/assets/images/emojis/marseytrumpgarrison.webp b/files/assets/images/emojis/marseytrumpgarrison.webp new file mode 100644 index 0000000000..e2b1dd5363 Binary files /dev/null and b/files/assets/images/emojis/marseytrumpgarrison.webp differ diff --git a/files/assets/images/hats/Backwards cap 2.webp b/files/assets/images/hats/Backwards cap 2.webp new file mode 100644 index 0000000000..f821f7549a Binary files /dev/null and b/files/assets/images/hats/Backwards cap 2.webp differ diff --git a/files/assets/images/hats/Birthday Hat.webp b/files/assets/images/hats/Birthday Hat.webp new file mode 100644 index 0000000000..f93196ac4f Binary files /dev/null and b/files/assets/images/hats/Birthday Hat.webp differ diff --git a/files/assets/images/hats/Brain Worms.webp b/files/assets/images/hats/Brain Worms.webp new file mode 100644 index 0000000000..cf76671b57 Binary files /dev/null and b/files/assets/images/hats/Brain Worms.webp differ diff --git a/files/assets/images/hats/Coins.webp b/files/assets/images/hats/Coins.webp new file mode 100644 index 0000000000..e83c62fd5a Binary files /dev/null and b/files/assets/images/hats/Coins.webp differ diff --git a/files/assets/images/hats/Diddy Kong Hat.webp b/files/assets/images/hats/Diddy Kong Hat.webp new file mode 100644 index 0000000000..4618901a09 Binary files /dev/null and b/files/assets/images/hats/Diddy Kong Hat.webp differ diff --git a/files/assets/images/hats/Fat Rat Grab.webp b/files/assets/images/hats/Fat Rat Grab.webp new file mode 100644 index 0000000000..1d021ef75f Binary files /dev/null and b/files/assets/images/hats/Fat Rat Grab.webp differ diff --git a/files/assets/images/hats/Gamer Hat.webp b/files/assets/images/hats/Gamer Hat.webp new file mode 100644 index 0000000000..7568182ae6 Binary files /dev/null and b/files/assets/images/hats/Gamer Hat.webp differ diff --git a/files/assets/images/hats/Kepi.webp b/files/assets/images/hats/Kepi.webp new file mode 100644 index 0000000000..acb41008cc Binary files /dev/null and b/files/assets/images/hats/Kepi.webp differ diff --git a/files/assets/images/hats/Maxwell Hat.webp b/files/assets/images/hats/Maxwell Hat.webp new file mode 100644 index 0000000000..7647ec7b0a Binary files /dev/null and b/files/assets/images/hats/Maxwell Hat.webp differ diff --git a/files/assets/images/hats/Miners Helmet.webp b/files/assets/images/hats/Miners Helmet.webp new file mode 100644 index 0000000000..87ecf6a217 Binary files /dev/null and b/files/assets/images/hats/Miners Helmet.webp differ diff --git a/files/assets/images/hats/Santa Hat II.webp b/files/assets/images/hats/Santa Hat II.webp new file mode 100644 index 0000000000..2ded62b710 Binary files /dev/null and b/files/assets/images/hats/Santa Hat II.webp differ diff --git a/files/assets/images/hats/The Orb.webp b/files/assets/images/hats/The Orb.webp new file mode 100644 index 0000000000..3e50698415 Binary files /dev/null and b/files/assets/images/hats/The Orb.webp differ diff --git a/files/assets/images/hats/The Son of Man.webp b/files/assets/images/hats/The Son of Man.webp new file mode 100644 index 0000000000..c29f03c1d6 Binary files /dev/null and b/files/assets/images/hats/The Son of Man.webp differ diff --git a/files/assets/images/rDrama/sidebar/786.webp b/files/assets/images/rDrama/sidebar/786.webp new file mode 100644 index 0000000000..aafa0cc2fd Binary files /dev/null and b/files/assets/images/rDrama/sidebar/786.webp differ diff --git a/files/assets/images/rDrama/sidebar/787.webp b/files/assets/images/rDrama/sidebar/787.webp new file mode 100644 index 0000000000..2758cbe8f1 Binary files /dev/null and b/files/assets/images/rDrama/sidebar/787.webp differ diff --git a/files/classes/user.py b/files/classes/user.py index 4f87156566..a174eff70d 100644 --- a/files/classes/user.py +++ b/files/classes/user.py @@ -173,6 +173,35 @@ class User(Base): def __repr__(self): return f"" + def pay_account(self, currency, amount): + if currency == 'coins': + g.db.query(User).filter(User.id == self.id).update({ User.coins: User.coins + amount }) + else: + g.db.query(User).filter(User.id == self.id).update({ User.procoins: User.procoins + amount }) + + g.db.flush() + + + def charge_account(self, currency, amount): + in_db = g.db.query(User).filter(User.id == self.id).one() + succeeded = False + + if currency == 'coins': + account_balance = in_db.coins + + if account_balance >= amount: + g.db.query(User).filter(User.id == self.id).update({ User.coins: User.coins - amount }) + succeeded = True + elif currency == 'procoins': + account_balance = in_db.procoins + + if account_balance >= amount: + g.db.query(User).filter(User.id == self.id).update({ User.procoins: User.procoins - amount }) + succeeded = True + + if succeeded: g.db.flush() + + return succeeded @property @lazy diff --git a/files/helpers/roulette.py b/files/helpers/roulette.py index 3a7f20a2c0..c06923b2b9 100644 --- a/files/helpers/roulette.py +++ b/files/helpers/roulette.py @@ -71,15 +71,11 @@ def get_active_roulette_games(): def charge_gambler(gambler, amount, currency): - currency_gambler_holds = getattr(gambler, currency) - can_afford = currency_gambler_holds >= amount + charged = gambler.charge_account(currency, amount) - if not can_afford: + if not charged: raise Exception("Gambler cannot afford charge.") - setattr(gambler, currency, currency_gambler_holds - amount) - g.db.add(gambler) - def gambler_placed_roulette_bet(gambler, bet, which, amount, currency): if not bet in ( @@ -172,10 +168,8 @@ def spin_roulette_wheel(): coin_winnings = gambler_payout['coins'] procoin_winnings = gambler_payout['procoins'] - setattr(gambler, 'coins', gambler.coins + coin_winnings) - setattr(gambler, 'procoins', gambler.procoins + procoin_winnings) - - g.db.add(gambler) + gambler.pay_account('coins', coin_winnings) + gambler.pay_account('procoins', procoin_winnings) # Notify the winners. notification_text = f"Winning number: {number}\nCongratulations! One or more of your roulette bets paid off!\n" diff --git a/files/helpers/slots.py b/files/helpers/slots.py index fd25d86d43..e1d05845eb 100644 --- a/files/helpers/slots.py +++ b/files/helpers/slots.py @@ -18,22 +18,16 @@ payout_to_symbols = { def casino_slot_pull(gambler, wager_value, currency): over_min = wager_value >= minimum_bet under_max = wager_value <= maximum_bet - currency_value = getattr(gambler, currency) - has_proper_funds = currency_value >= wager_value - - if (over_min and under_max and has_proper_funds): - setattr(gambler, currency, currency_value - wager_value) - gambler.winnings -= wager_value + charged = gambler.charge_account(currency, wager_value) + if (over_min and under_max and charged): payout = determine_payout() reward = wager_value * payout - currency_value = getattr(gambler, currency, 0) - setattr(gambler, currency, currency_value + reward) - gambler.winnings += reward + gambler.pay_account(currency, reward) + symbols = build_symbols(payout) text = build_text(wager_value, payout, currency) - game_state = { "symbols": symbols, "text": text diff --git a/files/helpers/twentyone.py b/files/helpers/twentyone.py index 4e3bf34cdc..7aee254870 100644 --- a/files/helpers/twentyone.py +++ b/files/helpers/twentyone.py @@ -80,15 +80,11 @@ def get_active_twentyone_game_state(gambler): def charge_gambler(gambler, amount, currency): - currency_gambler_holds = getattr(gambler, currency) - can_afford = currency_gambler_holds >= amount - - if not can_afford: + charged = gambler.charge_account(currency, amount) + + if not charged: raise Exception("Gambler cannot afford charge.") - setattr(gambler, currency, currency_gambler_holds - amount) - g.db.add(gambler) - def create_new_game(gambler, wager, currency): existing_game = get_active_twentyone_game(gambler) @@ -245,12 +241,10 @@ def handle_payout(gambler, state, game): else: raise Exception("Attempted to payout a game that has not finished.") - currency_gambler_holds = getattr(gambler, game.currency) - setattr(gambler, game.currency, currency_gambler_holds + payout) - + gambler.pay_account(game.currency, payout) + game.active = False g.db.add(game) - g.db.add(gambler) return payout diff --git a/files/routes/asset_submissions.py b/files/routes/asset_submissions.py index e461027371..ec4716df8b 100644 --- a/files/routes/asset_submissions.py +++ b/files/routes/asset_submissions.py @@ -144,11 +144,10 @@ def approve_marsey(v, name): new_path = f'/asset_submissions/marseys/original/{name}.{i.format.lower()}' rename(highquality, new_path) - if v.id != author.id: - author.coins += 250 - g.db.add(author) - msg = f"@{v.username} has approved a marsey you made: :{marsey.name}:\nYou have received 250 coins as a reward!" - send_repeatable_notification(author.id, msg) + author.coins += 250 + g.db.add(author) + msg = f"@{v.username} has approved a marsey you made: :{marsey.name}:\nYou have received 250 coins as a reward!" + send_repeatable_notification(author.id, msg) if v.id not in (author.id, marsey.submitter_id): msg = f"@{v.username} has approved a marsey you submitted: :{marsey.name}:" @@ -341,4 +340,4 @@ def remove_hat(v, name): os.remove(f"/asset_submissions/hats/{hat.name}.webp") os.remove(f"/asset_submissions/hats/{hat.name}") - return {"message": f"'{hat.name}' removed!"} \ No newline at end of file + return {"message": f"'{hat.name}' removed!"} diff --git a/files/routes/casino.py b/files/routes/casino.py index 56db1aea75..f0e0597106 100644 --- a/files/routes/casino.py +++ b/files/routes/casino.py @@ -205,4 +205,4 @@ def roulette_player_placed_bet(v): return {"success": True, "bets": bets, "gambler": {"coins": v.coins, "procoins": v.procoins}} except: - return {"error": "Unable to place a bet."}, 400 \ No newline at end of file + return {"error": "Unable to place a bet."}, 400 diff --git a/files/templates/util/assetcache.html b/files/templates/util/assetcache.html index 3417131218..98328a38ee 100644 --- a/files/templates/util/assetcache.html +++ b/files/templates/util/assetcache.html @@ -3,8 +3,8 @@ set CACHE_VER = { 'css/main.css': 4025, 'css/catalog.css': 4007, 'css/4chan.css': 4007, - 'css/classic.css': 4009, - 'css/classic_dark.css': 4007, + 'css/classic.css': 4010, + 'css/classic_dark.css': 4008, 'css/coffee.css': 4007, 'css/dark.css': 4007, 'css/dramblr.css': 4007,