wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwUwUfUfUfUfUff3333333333wwWUeWeUeUeVWUVeWeWUgUvUWUvwWewwC44>>CD3NN4N>N>333##7r#$7r#$7r##7r##7r##7r#43D##www#www#www#www#www#www#www#wwwwUTwWU4wU5TeU6TUfU4UwUdUw6tww7twwwwwwwwwwGwwwGDwwDDtG43tG#"s7""swwwwwGwwwGwwwDDwG4DtG#3tG#"s7""swwwwwwwwwwtwwDtwGDDwG3Ct7"2t7""swwwwwwtwwwtwwDDwGDCtG32t7"2t7""swwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww̙̪wwww||ɜɜwwwwww̙̙wwww||ɜɩ""""""""""""43D$#7r$#7r##7r##7r##7r##7r#333##www#www#www#www#www#www#www#wwwwwwwwwww""""!"""3333#"""#wwwwwwww""!33DD"""2www2!!!!"!!!!!!!!!!!!!!"!!!!!!!!!!!!!!wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww̪̪̪̪ʬʬʬ̪̪̪ʬʬʬʪ"""!" "!""!"""wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww""3"3"3333333333333333wwww||,,#2#23333333333333333wwwwww"""3"33333333333333333wwww||,,2#2#3333333333333333wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww333333333333333333333333333333333333<<<<3333333333333333333333333333333333333333333333333333<<<<3333333333333333wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww`Uf`3f33 ""`UfU`3f3333 """fUfUf3f3333333333333fUff3f333"""`Uf`3f3333333333333333333333333333333333 ""3333S33333333333333`UfU`3f333333333333fUff3f333333333333333333333 """3333333333"""VeVe6c6c?333""""33633633333333333333333?333?333""""33333333333333333333      wwwwwwwwwwwwwwwwwwwwwwwwwwwwJwJw3w3Dw3DwwwwpwwpwwpwwDwwDwwDwwpwwwwwOww3w3Dw3DwpwwwwDww ww wwAwwDwwpwwwwwwwww@w3w3w3DwwwpwDpwDDpwJ wwJ wwwwpwwppww ",p""p!wwpwwwwwwwwwppwwppwwpwwwwwwwwwppww //p/pwwpwwwwwwwwwppwwppwwpwwwwwwwwwwwwwwwwwwpwwwwwwwwwwwwwwwwwwwwwwwwwwwppwwwwwwwppwwwwwwwwwwwppwwpppwwwwpwppwwppwpwwwwPpw`pw`Vpwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwppppwpwwwwwwwww0Dw0Dw0DwwwwwwwpwDpwDpwDpwwwpwwpwwpwwww0DwCwCwwwwwwpwDpwwwwwpwwpwwwwwwww0DCCwwwwwwwpwDpwCwCwpwpwwwwwwwwwpww ww0Cpw3ww0ww@pwwwwwwwwpww wwpw wwwwpwwwwwww733s32#332#33#"333#33#23233#'""r'""r"!""!""!""!""!"!""qWUUuUeVUUVeUUffUUVeUUVeUVUUegffvzywwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwp  wpwpw wwwpwpww pw wp w pwpwwwwwwwww"w"wbwlwDwBw`U"pww"ww"wwd wwd wwAwwDwwUUpwwwww/ww/ww/wwwBw`U"ww""pw""pwDDpwFwwFwwwwUUpwww/"w/FwFwwDwBw`U"www"pwwpwwpwwDwwDwwDwwUUpw4333LDDDLDDDLDDDLDDDLDDDLDDDLDDD33wwD4wwD4wwD4wwD4wwD4wwD4wwD4wwwwwwwwwL|CDDCDD33Csww7wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpwpw w wwpwwwwwwwwww`URw0Dfw0DUw0DUw"ww"ww"wwUUpwfDpwUDpwUDpw"ww"pww"pwwpwww`URw0DfwCTwCTww"ww"w/wUUpwfDpwUwwUww"pww"pww wwwww`URw0DfCdUCdUw"ww"ww/wwUUpwfDpwUCwUCw"pw"pwwwwwwwwLDDDLDDDLDDDwwwwwwwwwwwwwwwwD4wwD4wwD4wwLwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwnfwnUw^Uw`Pw`Vw`VUwUwwwfpwwepwwUpwwpwwUpwwUwZUpwwwfUwffwffwfUwfUwfUwwpwwU wwewwewwVwwUwwUwwpwwwwwfUwfwfwfUwfwfww`UpwwUwwwwwwPwwwwwwUpww pwp.-p"pppwwwwwwwwwpwwwpwwwwww0pww ww0w=pwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwUwwwwwwwZUp w www wwwwwwwwwpwwpwwwUwwwwwwwwwZUp w www wwwwwwwwwpwwwpwwwww`Uww`Uww`Uww`Uww`UwVwVwfUpwwUpwwUpwwUpwwUpwwVwwVwwfwwww`Uww`Uww`Uww`Uww`UwwVwwVwwfUpwwUpwwUpwwUpwwUpwwwwwwwwwwwL wpwp DD 0p w0pwwwwwwwwwpwwwpwwwL wpwp wpwpDD|0p w0pwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpwwww wwwwwwp pwwwwp પ pwwww32p02##3 pwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpwwwwwwwwwwwwwwwwwwwwwwwwpwwwpwwwpwwwpwwwpwwwpwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwww DD DALD pwwww@DD@LL@DD@@DDwwwwp DD DALD pwwwwwwwwpwpwpwpwpwpwpwpwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpwwwwwwwwwwwwwwwwwwwwwwwwpwwpwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwD 2@w wwpwwwwwwwwwwwwwD w2@w wwpwwwwwwwwwwwww@D 2wwwwwwwwwwwwwwww@wD w2pwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwpwwwpwwpwwpwwpwwpwwpwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww733w3sww3sww3swsswsw7wwwwwwww3wwwwswwwswwswwswwwswwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwswwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwswwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww333w34CwwC4ww33ww33wwwwwwwwwwww3www3wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww}wwNww2tw'Cww2tww'Cwww2w|wwMww2tw'Cww2tww'Cwww2w|wGDwCDwwC2twC'Cw7w2tww'Cwww2w|wwJww2tw'Cww2tww'Cwww2wwwwwwDwwGLtwtGLLtGtwDDwwwwwwwwwww3ww7?sws7??s7sw33wwwwwwwwwwwwwwwww|}}w}wwwwwwwwwwwwwwwwwwwwD33|D33sDswswwwwwwwwwwwwwwwwwwww|{{w{wwwwwwwwCwww2tww'Cwww2tww'Cwww2tww'Cwww2wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww}wwwww}7wCww?tww#Cw7r2www|wwwww|7wCww>tww#Cw7r2wwwC|ww7wwwC|7w7Cww3tww#Cw7r2www|wwwww|7wCww>tww#Cw7r2w3sww|7ww|wsw|wsw|wsw|wsw|7ww3sww|w4G|7s=}3}3s}3w}wwwwwwwwwwwwwwwwwwwwwwww3333343wC3ww34wwC3wwwwwwwwwwwww̻˼wwwwwwwwwwwwwww7twwG|ww'sww'sww'sww'sww'sww'swwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww}|||ww~wwwwwwwwwwwwwwGDtGDD|7D|7|wwswwwwwwwwwww|www|ʬ||wwwwwwwwwwwww~ww~~wwwwww|ww|wwwww|wwwwwwwww}w|wwwwt|wtGwwtGwwtGwwtGwwtGwwwwwww|wwwww|wwwwww|wwwwwwwwwwwtwwGww'Bw'"w""w""wwrwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww >5? 𰻻 񰻻 𰻻 𰻻 񰻻 𰻻 !!!! !!𰻻 !!񰻻 !!𰻻 !!𰻻 񰻻 !!!!𰻻  !!!! !!𰻻 !!񰻻 !!𰻻 !!𰻻 񰻻 !!!!𰻻  !!!! ۻ !!𰻻 ۻ !!񰻻 ݻ !!𰻻 ۻ !!𰻻 ۻ 񰻻 !!!!𰻻   Jʰ ?D Jʰ  3D ?D 3DD ?DD 3DD ?33  0DD @@@ """""""""""""""""""""""" 0DD ,,@@@ """""""""""""""""""""""" 0DD #2#2 DD DD DD  3333@4D@4D@4D 3333@#3@#3@#3 """""""""""""""""""""""" 3333@#"@#"@#" """""""""""""""""""""""" 33330""0""0"" DDDDDDDDUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU DDDDDDDDfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUODDODDODDfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUɜɜɜɜɜɜɜɜɜɜD3D3D3D3fUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfU?DD?DD?DDfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfUfU3D3D3D3Dffffffffffffffffffff?33C?33C?33CffffffffffffffffffffDDDDDDDD3333333333333333333333333333333333333333DDDDDDDD3333333333333333333333333333333333333333DODDODDOD3333333333333333333333333333333333333333D3D3D3D333333333333333333333D?DD?DD?D333333333333333333333D3D3D3D333333333333333333333C?33C?33C?333333333333333333333DDDDDDDD333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333DDDDDDDD333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333ʬʬʬʬʬʬʬD3D3D3D3333333333333333333333333333333333333333333333333ʬʬʬʬʬʬʬʬ3D3D3D3D33333333333333333333333333333333333333333333333333333CDDDDDDDD333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333CDDDDĪDDDDDDDD333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333CDDDDĪD3D3D3D3333333333333333333333333333333333333333333333333CDDDDĪ3D3D3D3D333333333333333333333333333333333333333333333333CDDDD333333333333333333333333333333333333333333333333CDDDD333333333333333333333333333333333333333333333333CDDDD333333333333333333333333DDD333333333333333333333333@DD333333333333333333333333333333333333333333333333@@DD333333333333333333333333333333333333333333333333D@DD333333333333333333333333333333333333333333333333"-- title: tic-craft -- author: 5eburek -- desc: Mine and Build! -- site: website link -- license: MIT License (change this to your license of choice) -- version: 0.1 -- script: lua flr = math.floor outl = {} LDM=false t=0 --tags={"Grass","Foliage","Crafting Table","Dirt","Log"} inv={} for i=1,72 do inv[i]=0 end sel=1 insel=1 gm=1 --1-game-0-inv im=0 crafts={ {5,0,0,0,9,4}, {9,9,9,9,3,1}} crftb={ {16,16,16,16,0,16,16,16,16,7,1}, {0,0,0,0,9,0,0,9,0,457,4}, {457,0,457,457,457,457,457,0,457,10,4}} craft_mode=1 anim = { [25] = 4, [41] = 4, [32] = 4, [48] = 4, [64] = 4, [80] = 4 } grav=0.2 p={x=50, y=64, dx=0, dy=0, dir=0, hd=1, st=0} cur={x=0, y=0, ang=0} frames=0 fps=0 last=0 function TIC() update() draw() end function update() t=t+1 if btnp(7) then gm=1-gm end if gm==1 then p_move() cur_move() mine() if t%5 == 0 then tiles_upd() end elseif gm==0 then craft_mode = 1 if mget(cur.x//8, cur.y//8) == 3 then craft_mode = 2 end inv_menu() end get_fps() end function p_move() p.lx = p.x p.ly = p.y p.st = 0 if btn(3) then p.x = p.x + 1 p.dir = 0 p.st = 1 end if btn(2) then p.x = p.x - 1 p.dir = 1 p.st = 1 end if mget((p.x+8)//8,(p.y+17)//8)==10 then if btn(0)then p.y=p.y-1 end if btn(1)then p.y=p.y+1 end else p.dy=mid(-4,3,p.dy) p.dy = p.dy + grav p.y = p.y + p.dy end if solid(p.x+11,p.y+1) or solid(p.x+4,p.y+1) or solid(p.x+11,p.y+14) or solid(p.x+4,p.y+14) then p.x=p.lx end if solid(p.x+11, p.y+15) or solid(p.x+4, p.y+15) or solid(p.x+4, p.y) or solid(p.x+11, p.y) then p.y = p.ly p.dy = 0 p.on_ground = true else p.on_ground = false end if p.on_ground and btnp(4) then p.dy = -3 end end function cur_move() if btn(0) then cur.ang = cur.ang - 0.05 end if btn(1) then cur.ang = cur.ang + 0.05 end cur.ang = mid(-math.pi/2, math.pi/2, cur.ang) local dir = (p.dir==0 and 1 or -1) local r = 16 cur.x = p.x+8+math.cos(cur.ang) * r * dir cur.y = p.y+4+math.sin(cur.ang) * r p.hd = flr(range(cur.ang, -math.pi/2, math.pi/2, 0, 2)) end function draw() if gm==1 then cls(11) map(0,0,30,17,0,0,7,1,remap) if not LDM then border() end pl_draw() ui_draw() elseif gm==0 then inv_draw() end --print("FPS: "..fps, 0, 0) --print("LDM: "..tostring(LDM),0,8) end function tiles_upd() for y=135,0,-1 do for x=0,239 do local t = mget(x,y) local d = mget(x,y+1) local u = mget(x,y-1) local is_liquid = (t==32 or t==48 or t==64 or t==80) if is_liquid then if d==0 then mset(x,y,0) mset(x,y+1,t) else if u~=0 then if t==32 then mset(x,y,48) elseif t==64 then mset(x,y,80) end else if t==48 then mset(x,y,32) elseif t==80 then mset(x,y,64) end end end end if (t==32 or t==48) and (d==64 or d==80) then mset(x,y,0) mset(x,y+1,12) end end end end function ui_draw() spr(295,12,110,7,1,0,0,2,2) spr(inv[sel*2-1],14,112,7) print(inv[sel*2],12,117,0) spr(281,2,126,7) print("-inv",11,128,2) print("-inv",11,127,3) spr(283,62,126,7) print("-jump",71,128,6) print("-jump",71,127,5) spr(284,122,126,7) print("-mine",131,128,9) print("-mine",131,127,10) spr(282,182,126,7) print("-place",191,128,1) print("-place",191,127,2) end function inv_draw() cls(4) if craft_mode==1 then for x=1,2 do for y=1,2 do ix=x*12-4 iy=y*12+8 id=(x+(y-1)*2)*2-1 spr(295,ix,iy,7,1,0,0,2,2) if im==1 and crafts[insel] then if not cont(inv,crafts[insel][x+y-1]) then rect(ix+1,iy+1,10,10,2) end spr(crafts[insel][x+y-1],ix+2,iy+2,7) end end end spr(297,34,28,7) spr(295,44,26,7,1,0,0,2,2) if im==1 and crafts[insel] then if crafts[insel-1] then spr(crafts[insel-1][5],46,40,7) end spr(crafts[insel][5],46,28,7) if crafts[insel+1] then spr(crafts[insel+1][5],46,16,7) end end elseif craft_mode==2 then for x=1,3 do for y=1,3 do ix=x*12-4 iy=y*12+8 id=(x+(y-1)*2)*2-1 spr(295,ix,iy,7,1,0,0,2,2) if im==1 and crftb[insel] then if not cont(inv,crftb[insel][(y-1)*3+x]) then rect(ix+1,iy+1,10,10,2) end spr(crftb[insel][(y-1)*3+x],ix+2,iy+2,7) end end end spr(297,46,34,7) spr(295,56,32,7,1,0,0,2,2) if im==1 and crftb[insel] then if crftb[insel-1] then spr(crftb[insel-1][10],58,46,7) end spr(crftb[insel][10],58,34,7) if crftb[insel+1] then spr(crftb[insel+1][10],58,22,7) end end end for x=1,9 do for y=1,4 do ix=x*12-4 iy=y*12+68 id=(x+(y-1)*9)*2-1 spr(295,ix,iy,7,1,0,0,2,2) if id==insel*2-1 then if im==0 then spr(362,ix,iy,7,1,0,0,2,2) end end if id==sel*2-1 then spr(360,ix,iy,7,1,0,0,2,2) end spr(inv[id],ix+2,iy+2,7) if inv[id+1]>0 then print(inv[id+1],ix+1,iy+7,15) print(inv[id+1],ix,iy+7,14) end end end spr(281,2,126,7) print("-back",11,128,2) print("-back",11,127,3) spr(283,62,126,7) print("-select",71,128,6) print("-select",71,127,5) spr(284,122,126,7) print("-",131,128,9) print("-",131,127,10) spr(282,182,126,7) print("-craft",191,128,1) print("-craft",191,127,2)end function pl_draw() spr(257+p.hd*2,p.x,p.y,7,1,p.dir,0,2,1) if p.st==0 then spr(273,p.x,p.y+8,7,1,p.dir,0,2,1) elseif p.st==1 then spr(275+((t//10)%2)*2,p.x,p.y+8,7,1,p.dir,0,2,1) end spr(256,cur.x,cur.y,7) spr(271,cur.x//8*8,cur.y//8*8,7) end function inv_menu() if im==0 then if btnp(3) then insel=insel+1 end if btnp(2) then insel=insel-1 end if btnp(1) then insel=insel+9 end if btnp(0) then insel=insel-9 end if btnp(5) then sel=insel end insel=mid(1,36,insel) else if btnp(1) then insel=insel-1 end if btnp(0) then insel=insel+1 end if craft_mode==1 then insel=mid(1,#crafts,insel) elseif craft_mode==2 then insel=mid(1,#crftb,insel) end if btnp(5) then craft(insel) end end if btnp(4) then im=1-im insel=1 end end function craft(i) local r local size local res local amount if craft_mode==2 then r = crftb[i] size = 9 res = r[10] amount = r[11] or 1 else r = crafts[i] size = 4 res = r[5] amount = r[6] or 1 end if not r then return end for j=1,size do local id = r[j] if id~=0 then local p = cont(inv,id) if p==nil or inv[p+1]<1 then return end end end for j=1,size do local id = r[j] if id~=0 then local p = cont(inv,id) inv[p+1] = inv[p+1] - 1 if inv[p+1]<=0 then inv[p]=0 inv[p+1]=0 end end end for k=1,amount do local p = cont(inv,res) if p then inv[p+1] = inv[p+1] + 1 else local s = cont(inv,0) if s then inv[s] = res inv[s+1] = 1 end end end end function mine() tx=cur.x//8 ty=cur.y//8 if btnp(6) then local tile = mget(tx,ty) if tile~=0 then local p = cont(inv, tile) if p~=nil then inv[p+1] = inv[p+1] + 1 mset(tx,ty,0) else local s = cont(inv, 0) if s~=nil then inv[s] = tile inv[s+1] = 1 mset(tx,ty,0) end end end end if btnp(5) then if mget(tx,ty)==0 then local i = sel*2-1 local id = inv[i] if id==mid(256,511,id) then return end local count = inv[i+1] if id~=0 and count>0 then mset(tx,ty,id) inv[i+1] = count - 1 if inv[i+1] <= 0 then inv[i] = 0 inv[i+1] = 0 end end end end end function remap(tile) local frames = anim[tile] if frames then local base = tile local frame = (t//10)%frames return base + frame end return tile end function border() for x=0,239 do outl[x] = {} for y=0,135 do outl[x][y] = 0 end end for x=0,239 do for y=0,135 do if pix(x,y)==11 then local l = (x>0) and pget(x-1,y) or 0 local r = (x<239) and pget(x+1,y) or 0 local u = (y>0) and pget(x,y-1) or 0 local d = (y<135) and pget(x,y+1) or 0 if l~=11 or r~=11 or u~=11 or d~=11 then outl[x][y]=1 end end end end for y=0,135 do for x=0,239 do if outl[x][y] == 1 then pix(x,y,0) end end end end function mid(a,b,x) if xb then return b end return x end function range(x, in_min, in_max, out_min, out_max) return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min end function get_fps() frames = frames + 1 if time() - last >= 1000 then fps = frames frames = 0 last = time() end if fps<30 then LDM = true end --if fps>30 then LDM = false end end function pget(x,y) if x<0 or x>239 or y<0 or y>135 then return 11 end return pix(x,y) end function solid(x,y) local tx = x/8 local ty = y/8 return fget(mget(tx,ty),0) end function cont(t, v) for i=1,#t,2 do if t[i] == v then return i end end return nil end function count_item(id) local c = 0 for i=1,#inv,2 do if inv[i] == id then c = c + inv[i+1] end end return c end