diff --git a/code/game/objects/items/weapons/dice.dm b/code/game/objects/items/weapons/dice.dm
index 501cd781fdb..d6733dce656 100644
--- a/code/game/objects/items/weapons/dice.dm
+++ b/code/game/objects/items/weapons/dice.dm
@@ -1,21 +1,64 @@
/obj/item/weapon/dice
name = "d6"
- desc = "A dice with six sides."
+ desc = "A die with six sides. Basic and servicable."
icon = 'icons/obj/dice.dmi'
icon_state = "d6"
w_class = 1
var/sides = 6
/obj/item/weapon/dice/New()
- icon_state = "[initial(icon_state)][rand(sides)]"
+ icon_state = "[initial(icon_state)][rand(1, sides)]"
+
+/obj/item/weapon/dice/d2
+ name = "d2"
+ desc = "A die with two sides. Coins are undignified!"
+ icon_state = "d2"
+ sides = 2
+
+/obj/item/weapon/dice/d4
+ name = "d4"
+ desc = "A die with four sides. The nerd's caltrop."
+ icon_state = "d4"
+ sides = 4
+
+/obj/item/weapon/dice/d8
+ name = "d8"
+ desc = "A die with eight sides. It feels... lucky."
+ icon_state = "d8"
+ sides = 8
+
+/obj/item/weapon/dice/d10
+ name = "d10"
+ desc = "A die with ten sides. Useful for percentages."
+ icon_state = "d10"
+ sides = 10
+
+/obj/item/weapon/dice/d00
+ name = "d00"
+ desc = "A die with ten sides. Works better for d100 rolls than a golfball."
+ icon_state = "d00"
+ sides = 10
+
+/obj/item/weapon/dice/d12
+ name = "d12"
+ desc = "A die with twelve sides. There's an air of neglect about it."
+ icon_state = "d12"
+ sides = 12
/obj/item/weapon/dice/d20
name = "d20"
- desc = "A dice with twenty sides."
+ desc = "A die with twenty sides. The prefered die to throw at the GM."
icon_state = "d20"
sides = 20
/obj/item/weapon/dice/attack_self(mob/user as mob)
+ diceroll(user)
+
+/obj/item/weapon/dice/throw_at(atom/target, range, speed, mob/user as mob)
+ ..()
+ diceroll(user)
+
+/obj/item/weapon/dice/proc/diceroll(mob/user as mob)
var/result = rand(1, sides)
var/comment = ""
if(sides == 20 && result == 20)
@@ -23,6 +66,11 @@
else if(sides == 20 && result == 1)
comment = "Ouch, bad luck."
icon_state = "[initial(icon_state)][result]"
- user.visible_message("[user] has thrown [src]. It lands on [result]. [comment]", \
- "You throw [src]. It lands on a [result]. [comment]", \
- "You hear [src] landing on a [result]. [comment]")
\ No newline at end of file
+ if(initial(icon_state) == "d00")
+ result = (result - 1)*10
+ if(user != null) //Dice was rolled in someone's hand
+ user.visible_message("[user] has thrown [src]. It lands on [result]. [comment]", \
+ "You throw [src]. It lands on [result]. [comment]", \
+ "You hear [src] landing on [result]. [comment]")
+ else if(src.throwing == 0) //Dice was thrown and is coming to rest
+ src.loc.visible_message("[src] rolls to a stop, landing on [result]. [comment]")
\ No newline at end of file
diff --git a/code/game/objects/items/weapons/storage/firstaid.dm b/code/game/objects/items/weapons/storage/firstaid.dm
index a5874f09855..e51deddd3ce 100644
--- a/code/game/objects/items/weapons/storage/firstaid.dm
+++ b/code/game/objects/items/weapons/storage/firstaid.dm
@@ -174,11 +174,18 @@
/obj/item/weapon/storage/pill_bottle/dice
- name = "pack of dice"
- desc = "It's a small container with dice inside."
+ name = "bag of dice"
+ desc = "Contains all the luck you'll ever need."
+ icon = 'icons/obj/dice.dmi'
+ icon_state = "dicebag"
New()
..()
+ new /obj/item/weapon/dice/d4( src )
new /obj/item/weapon/dice( src )
+ new /obj/item/weapon/dice/d8( src )
+ new /obj/item/weapon/dice/d10( src )
+ new /obj/item/weapon/dice/d00( src )
+ new /obj/item/weapon/dice/d12( src )
new /obj/item/weapon/dice/d20( src )
diff --git a/icons/obj/dice.dmi b/icons/obj/dice.dmi
index 283c3d11aea..7801e542c3d 100644
Binary files a/icons/obj/dice.dmi and b/icons/obj/dice.dmi differ
diff --git a/maps/tgstation.2.1.2.dmm b/maps/tgstation.2.1.2.dmm
index f79f0121ce5..ec18c676c6d 100644
--- a/maps/tgstation.2.1.2.dmm
+++ b/maps/tgstation.2.1.2.dmm
@@ -20,12 +20,12 @@
"aat" = (/obj/machinery/washing_machine,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/security/prison)
"aau" = (/obj/machinery/librarycomp{pixel_y = 0},/obj/structure/table,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
"aav" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
-"aaw" = (/obj/structure/table,/obj/item/weapon/dice/d20,/turf/simulated/floor,/area/security/prison)
+"aaw" = (/obj/structure/table,/obj/item/weapon/storage/pill_bottle/dice,/turf/simulated/floor,/area/security/prison)
"aax" = (/obj/structure/table,/obj/item/weapon/pen,/turf/simulated/floor,/area/security/prison)
"aay" = (/obj/structure/table,/obj/structure/bedsheetbin,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/security/prison)
"aaz" = (/obj/machinery/computer/arcade,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
"aaA" = (/obj/structure/table,/turf/simulated/floor,/area/security/prison)
-"aaB" = (/obj/structure/table,/obj/item/weapon/dice,/turf/simulated/floor,/area/security/prison)
+"aaB" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/pill_bottle/dice,/turf/simulated/floor/wood,/area/library)
"aaC" = (/obj/structure/window/reinforced,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/security/prison)
"aaD" = (/obj/machinery/washing_machine,/obj/structure/window/reinforced,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/security/prison)
"aaE" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison)
@@ -1338,7 +1338,6 @@
"azL" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 6; icon_state = "intact-b-f"; initialize_directions = 6; level = 1; name = "pipe"},/turf/simulated/wall,/area/library)
"azM" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 9; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall,/area/library)
"azN" = (/obj/machinery/door/airlock/maintenance{name = "Library Maintenance"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/library)
-"azO" = (/obj/structure/table/woodentable,/obj/item/weapon/dice/d20,/obj/item/weapon/dice,/turf/simulated/floor/wood,/area/library)
"azP" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/packageWrap,/turf/simulated/floor/wood,/area/library)
"azQ" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/wood,/area/library)
"azR" = (/obj/machinery/door/airlock/maintenance{name = "Crematorium Maintenance"; req_access_txt = "27"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/chapel/office)
@@ -8063,7 +8062,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaaiaaiaajaakaalaakaalaakaamaaiaaiaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaiaaiaanaaoaapaaqaaraaqaaqaasaataaiaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaauaavaaqaaqaawaaxaavaaqaasaayaaiaaaaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaagaaiaazaaqaaqaaqaavaaAaaBaaqaaqaaCaaDaaiaaiaaiaafaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaagaaiaazaaqaaqaaqaavaaAaaAaaqaaqaaCaaDaaiaaiaaiaafaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaiaaEaaqaaFaaqaaqaaqaaqaaqaaqaaGaaqaaHaaIaaiaafaaaaaaaaaaaaaaaaafaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaiaaJaaqaaqaaKaaqaaqaaqaaLaaqaaGaaqaaMaaNaaiaafaafaafaaaaafaafaafaafaafaafaafaafaafaafaahaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaiaaOaaPaaOaaQaaOaaRaaOaaSaaOaaTaaOaaOaaUaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaWaaXaaYaaZaaWaaWaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -8103,7 +8102,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaareaskauiaujaujaujaujaukaskareaulamjaumaunauoauoauoauoauoauoauoauoapBaupatCasrauqaurausasrautauuautautautautautautautautauvaaaatIauwauxauyauzauAatIaaaartarxaryatJauBauCauDatJaryalgafCaqAauEauFauGauHauIasNauJauKasNasNauLasNauMarMajKasPaeAarOalWapaapbauNamGanBatYasYauOauaauPauPasYatZauQaubasYauRauSauRauTauUaqhaafauVauWauWauWauWauWauXaaaaqhauYauZavaaqhaqhaaaaaaaaaaafaueavbavcavdaueaafaaaaaaaveavfavfavfavfavgavhavfavfavfavfaviavjavfavkavlavmavnavoaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaavpavqavravqavqavsavtavqavqavravuavvamjaslavwavxavyavzavAavBavCavDauoapBavEanaasrasravFavGauvavHavIavJavKavLavMavNavOavPavQauvaafatIavRavSavTavUavVatIaafartarxaryavWavXavYavXavZaryalgawaaqAawbawcatQawdatQaweawfawgawhawiaqCawjaqCarMajKasPaeAasQanwanxanyanzawkanBatYasYawlauaauaauaasZawmawnawoasYawpawqawqawrauUaqhaaaaafaaaaafaaaaafaaaaafaaaaqhawsawtawuawvaqhaaaaaaaaaaafaueawwawxawyaueaqhawzawAawBawCawDawDawDawDawDawDawEawFawFawGawHawIawFawFawJawKawLaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavpavuavqawMawNawNawOawPawQawRawSawNawNawTawUaqjaslawVauoawWawXawYawZawYaxaaxbaxcaxdampaxeaxfaxgatAaxhaxiaxjaxkaxkaxkaxlaxkaxkaxmavIauvaaaatIaxnaxoaxpavUaxqatIaaaartarxaryaxraxsaxtaxuaxvaryalgaxwaqAaqAaxxaxyaxzaxyaxAaqAaqAaxBaxCaqCaxDaqCarMajKasPaeAasQaxEaxFaxFaxFaxFaxGaxHaxIaxJaxKaxLaxLaxLaxMaxLaxNaxLaxOaxPaxQaxRaxSaqhaqhaqhaqhaqhaqhaqhaqhaqhaqhaqhaqhaqhaqhaxTaqhawzaxUaqhaqhaueaueaxVaxWaueasjaxXaxYaxZayaaybaybaybaybaybasjaycaydaydayeayfaygaydayhayiayjayhayhayhayhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawTaykaylaymawNaynawNaynawNaynawNaynawNayoaypatqaslayqauoayraysaytayuayvaywauoatzayxatAayyatAayzampautayAaxmaxkaxkaxkaxkaxkaxkayBayCayDayEayFayGayHayIayJayKatIaafartayLayMayNayOayPayQayRayMaySayTayUayVayWayXayYayXasMayZaqCazaazaaqCaxBaqCazbazcazdaeAazeazfazfazfazgazhaziazjazkazlazmazkaznazkazoazkazpazqazrawqazsauTaztazuazvazwazwazuazxazyazyazyazyazyazzazAazyazBazCazDazEazFazGawFazHazIazJazJazJazKazLazMazNaybazOazPazQaybaydazRaydazSazTazUazVazWazXazYazZaAaaAbaAcaAdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAeaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawTaykaylaymawNaynawNaynawNaynawNaynawNayoaypatqaslayqauoayraysaytayuayvaywauoatzayxatAayyatAayzampautayAaxmaxkaxkaxkaxkaxkaxkayBayCayDayEayFayGayHayIayJayKatIaafartayLayMayNayOayPayQayRayMaySayTayUayVayWayXayYayXasMayZaqCazaazaaqCaxBaqCazbazcazdaeAazeazfazfazfazgazhaziazjazkazlazmazkaznazkazoazkazpazqazrawqazsauTaztazuazvazwazwazuazxazyazyazyazyazyazzazAazyazBazCazDazEazFazGawFazHazIazJazJazJazKazLazMazNaybaaBazPazQaybaydazRaydazSazTazUazVazWazXazYazZaAaaAbaAcaAdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAeaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAfawNawNaAgawNaynawNaynaAhaynawNaynawNayoaypatqaslaAiauoaAjaAkaAlaAmaAlavxavxaAnaAoaAnaApaAqaApaApaAraAsaAtaAuaAuaAuaAvaAuaAuaAwaAxauvaaaaAyatIaAzaAAaAzatIatIaaaartaABaryaACaADaAEaAFaAGaAHaAIaAJaAKaALauFaxBaxBaxBaAMaANaqCaAOaAPaqCawjaqCaAQaARaASaeAaATaeAaeAaeAaAUaeAaAVaAWasYaAXauaasYaAYasYaAZasYaBaaBbaBcaBdaBeaBfaBgaBhaBiawuaBjaBkaBlaBjaBjaBmavfawuaBnawuaviaBoawuaBpaBqaBraBsaBsaBtaBuaBvaBwaBsaBxaByaBzaBAaBBaBCaBDaBEaybaBFaBGaydaBHaBIaBJaBKazWaBLaAaazZaBMayhayhayhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawTaBNaylaymawNaynawNaynawNaynawNaynawNayoaypatqaBOaBPaBQaBRaBRaBRaBRaBPaBSaBTaBUaBVaBWampaBXaobaobautaBYaBZavIaCaaCbaCcaCdaCeaCfaCgauvaaaaChaaaaCiaCjaCiaaaaafaaaartaABaryaCkaClaCmaCnaCoaryakEagAaqCaCpaCqaxBaxBaxBaCraCsaqCaaaaaaaCtaCuaCvaCwaCxaCyaCzaCAaCtaaaaaaaCBaCCaCDaCEasYaCFauaauaauaawnauaauaauaaCGauTaCHauTaCIaCJaCKaCLaCKaCKaCMaCNaCOaCKaCPaCQaCQaCRaCQaCSaCQaCTaCUaCUaCVaCUaCUaCWaCUaCUaCUaCUaCXaCYaBAaCZaDaaDbaDcaDdaybaDeaDfaDgaDhaDiaDjaBKaDkaBLaAaazZaAaaDlaDmaDnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDoaDoaDoaDoaDoaDoaDoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDpaDqavqawMawNawNawNaDrawNawNaDsawNawNawTaDtareaslargaDuaDvaDvaDvaDvaDvaDvaDvaDwaDxanaanaaDyanaanaautaDzaDAaDBaDCaDCaDCaDCaDDaDEaDFauvaDGaDHaDIaDJaDKaDLaDIaDIaDMartaDNaryaryaryaDOaDParyaryaDQakmaqCaqCaqCaDRaDSaDTaqCaqCaqCaDUaDVaDWaDXaCxaCxaCxaCxaCxaDYaDZaDVaEaaCBaEbaCDaEcasYasYasYasYasYasYasYasYasYaCGaEdaEeaEfaEgaEhaEiaEjaEkaCKaElaEmaEnaEoaEpaCQaEqaEraCQaEsaCQaEtaEuaEvaEwaExaEyaEzaEAaEBaECaCUaEDaEEaEFaCZaEGaDbaDcaEHaybaEIaEJaEKaELaEMaBKaBKaydayhaENazZaAaaEOaEPaEQaaaaaaaaaaaaaaaaaaaaaaaaaaaaDoaDoaDoaDoaDoaDoaDoaDoaDoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa