diff --git a/fps.txt b/fps.txt index 106e5a7..f122c77 100644 --- a/fps.txt +++ b/fps.txt @@ -1,2846 +1,1741 @@ -0 0 -1 143 -2 196 -3 266 -4 215 -5 201 -6 155 -7 210 -8 241 -9 261 -10 239 -11 271 -12 265 -13 239 -14 248 -15 209 -16 229 -17 270 -18 264 -19 229 -20 261 -21 255 -22 235 -23 193 -24 216 -25 225 -26 242 -27 265 -28 246 -29 226 -30 254 -31 266 -32 250 -33 267 -34 248 -35 239 -36 258 -37 230 -38 233 -39 251 -40 251 -41 230 -42 49 -43 228 -44 245 -45 246 -46 238 -47 255 -48 243 -49 212 -50 209 -51 255 -52 227 -53 215 -54 243 -55 260 -56 234 -57 252 -58 270 -59 245 -60 266 -61 256 -62 259 -63 268 -64 237 -65 206 -66 268 -67 265 -68 242 -69 215 -70 261 -71 244 -72 266 -73 225 -74 238 -75 270 -76 259 -77 215 -78 257 -79 262 -80 240 -81 274 -82 253 -83 260 -84 270 -85 246 -86 261 -87 245 -88 241 -89 242 -90 234 -91 243 -92 250 -93 279 -94 248 -95 255 -96 275 -97 239 -98 270 -99 273 -100 244 -101 268 -102 258 -103 259 -104 265 -105 259 -106 277 -107 267 -108 239 -109 232 -110 249 -111 253 -112 262 -113 62 -114 178 -115 190 -116 192 -117 204 -118 202 -119 203 -120 199 -121 207 -122 197 -123 176 -124 175 -125 199 -126 190 -127 191 -128 175 -129 171 -130 182 -131 164 -132 157 -133 173 -134 169 -135 184 -136 194 -137 200 -138 198 -139 214 -140 199 -141 211 -142 217 -143 202 -144 191 -145 198 -146 205 -147 212 -148 208 -149 201 -150 203 -151 201 -152 215 -153 202 -154 192 -155 189 -156 203 -157 196 -158 234 -159 190 -160 188 -161 183 -162 188 -163 175 -164 201 -165 216 -166 213 -167 210 -168 216 -169 206 -170 215 -171 190 -172 171 -173 196 -174 201 -175 206 -176 223 -177 200 -178 191 -179 211 -180 228 -181 211 -182 189 -183 210 -184 204 -185 206 -186 203 -187 210 -188 213 -189 212 -190 224 -191 202 -192 195 -193 212 -194 216 -195 191 -196 191 -197 208 -198 195 -199 201 -200 215 -201 220 -202 206 -203 210 -204 221 -205 213 -206 209 -207 265 -208 244 -209 264 -210 252 -211 257 -212 233 -213 228 -214 281 -215 240 -216 233 -217 273 -218 253 -219 259 -220 266 -221 245 -222 253 -223 252 -224 260 -225 268 -226 243 -227 229 -228 247 -229 250 -230 207 -231 217 -232 247 -233 206 -234 256 -235 271 -236 236 -237 212 -238 223 -239 237 -240 235 -241 203 -242 262 -243 208 -244 204 -245 206 -246 207 -247 201 -248 210 -249 214 -250 197 -251 207 -252 227 -253 198 -254 242 -255 253 -256 217 -257 254 -258 259 -259 276 -260 248 -261 284 -262 232 -263 251 -264 229 -265 254 -266 258 -267 272 -268 253 -269 260 -270 269 -271 266 -272 240 -273 258 -274 247 -275 247 -276 252 -277 233 -278 239 -279 280 -280 257 -281 281 -282 261 -283 257 -284 261 -285 245 -286 224 -287 256 -288 223 -289 241 -290 272 -291 273 -292 234 -293 269 -294 254 -295 260 -296 264 -297 268 -298 276 -299 263 -300 258 -301 236 -302 205 -303 246 -304 254 -305 259 -306 250 -307 265 -308 259 -309 253 -310 278 -311 252 -312 262 -313 236 -314 247 -315 277 -316 243 -317 257 -318 230 -319 269 -320 222 -321 255 -322 219 -323 248 -324 246 -325 267 -326 256 -327 271 -328 241 -329 247 -330 253 -331 250 -332 250 -333 244 -334 265 -335 238 -336 215 -337 253 -338 230 -339 243 -340 265 -341 246 -342 257 -343 270 -344 233 -345 246 -346 272 -347 242 -348 245 -349 278 -350 262 -351 276 -352 252 -353 249 -354 257 -355 251 -356 178 -357 187 -358 185 -359 220 -360 201 -361 197 -362 178 -363 213 -364 220 -365 193 -366 199 -367 194 -368 191 -369 172 -370 212 -371 227 -372 210 -373 200 -374 214 -375 225 -376 219 -377 218 -378 189 -379 193 -380 208 -381 187 -382 178 -383 205 -384 209 -385 207 -386 207 -387 203 -388 195 -389 216 -390 207 -391 189 -392 190 -393 210 -394 190 -395 210 -396 217 -397 220 -398 207 -399 213 -400 198 -401 181 -402 218 -403 197 -404 193 -405 213 -406 210 -407 203 -408 192 +4 115 +5 124 +6 103 +7 131 +8 72 +9 88 +10 92 +11 126 +12 79 +13 79 +14 77 +15 78 +16 98 +17 90 +18 108 +19 78 +20 120 +21 125 +22 90 +23 90 +24 112 +25 79 +26 88 +27 83 +28 87 +29 85 +30 101 +31 71 +32 101 +33 120 +34 90 +35 67 +36 97 +37 93 +38 121 +39 72 +40 87 +41 77 +42 85 +43 81 +44 79 +45 78 +46 112 +47 97 +48 110 +49 74 +50 78 +51 56 +52 80 +53 81 +54 71 +55 73 +56 74 +57 72 +58 72 +59 71 +60 71 +61 96 +62 69 +63 90 +64 66 +65 69 +66 63 +67 75 +68 72 +69 66 +70 75 +71 68 +72 68 +73 75 +74 63 +75 74 +76 69 +77 61 +78 59 +79 47 +80 71 +81 63 +82 63 +83 56 +84 62 +85 49 +86 44 +87 58 +88 54 +89 52 +90 56 +91 61 +92 57 +93 52 +94 57 +95 57 +96 52 +97 55 +98 44 +99 48 +100 44 +101 48 +102 44 +103 44 +104 53 +105 45 +106 42 +107 49 +108 41 +109 43 +110 49 +111 36 +112 45 +113 38 +114 36 +115 42 +116 32 +117 45 +118 34 +119 46 +120 36 +121 38 +122 39 +123 45 +124 35 +125 37 +126 35 +127 40 +128 35 +129 37 +130 34 +131 42 +132 33 +133 38 +134 33 +135 37 +136 28 +137 40 +138 31 +139 36 +140 29 +141 31 +142 30 +143 34 +144 26 +145 34 +146 27 +147 33 +148 29 +149 31 +150 31 +151 28 +152 36 +153 28 +154 34 +155 27 +156 30 +157 29 +158 30 +159 31 +160 25 +161 35 +162 25 +163 35 +164 27 +165 29 +166 29 +167 29 +168 32 +169 27 +170 37 +171 27 +172 35 +173 30 +174 32 +175 29 +176 37 +177 28 +178 35 +179 30 +180 37 +181 31 +182 41 +183 35 +184 40 +185 34 +186 43 +187 33 +188 41 +189 36 +190 48 +191 34 +192 35 +193 45 +194 33 +195 50 +196 36 +197 38 +198 35 +199 38 +200 48 +201 37 +202 54 +203 47 +204 39 +205 57 +206 46 +207 38 +208 52 +209 47 +210 48 +211 51 +212 40 +213 61 +214 57 +215 49 +216 64 +217 59 +218 55 +219 63 +220 59 +221 58 +222 70 +223 60 +224 60 +225 60 +226 80 +227 74 +228 68 +229 69 +230 81 +231 68 +232 64 +233 74 +234 89 +235 68 +236 75 +237 85 +238 94 +239 94 +240 79 +241 105 +242 93 +243 89 +244 96 +245 83 +246 76 +247 114 +248 91 +249 83 +250 105 +251 96 +252 102 +253 97 +254 74 +255 132 +256 122 +257 102 +258 93 +259 90 +260 84 +261 118 +262 96 +263 107 +264 97 +265 93 +266 83 +267 149 +268 125 +269 142 +270 118 +271 140 +272 207 +273 197 +274 147 +275 153 +276 131 +277 123 +278 167 +279 152 +280 148 +281 146 +282 134 +283 198 +284 125 +285 243 +286 146 +287 207 +288 145 +289 170 +290 146 +291 135 +292 182 +293 210 +294 142 +295 184 +296 141 +297 176 +298 142 +299 221 +300 198 +301 163 +302 111 +303 198 +304 174 +305 124 +306 178 +307 173 +308 173 +309 164 +310 138 +311 162 +312 138 +313 141 +314 152 +315 200 +316 144 +317 146 +318 229 +319 128 +320 133 +321 219 +322 106 +323 185 +324 178 +325 149 +326 184 +327 114 +328 144 +329 156 +330 126 +331 201 +332 145 +333 168 +334 140 +335 171 +336 192 +337 181 +338 166 +339 204 +340 130 +341 216 +342 143 +343 206 +344 148 +345 189 +346 164 +347 197 +348 181 +349 210 +350 225 +351 194 +352 179 +353 134 +354 121 +355 119 +356 149 +357 206 +358 149 +359 158 +360 149 +361 157 +362 121 +363 206 +364 125 +365 304 +366 145 +367 179 +368 189 +369 160 +370 173 +371 172 +372 162 +373 187 +374 236 +375 233 +376 218 +377 160 +378 176 +379 187 +380 170 +381 237 +382 231 +383 226 +384 155 +385 191 +386 176 +387 178 +388 202 +389 170 +390 255 +391 120 +392 210 +393 208 +394 141 +395 177 +396 265 +397 139 +398 180 +399 158 +400 161 +401 174 +402 174 +403 182 +404 222 +405 216 +406 167 +407 273 +408 165 409 206 -410 189 -411 202 -412 184 -413 204 -414 193 -415 210 -416 210 -417 209 -418 218 -419 202 -420 192 -421 195 -422 203 -423 220 -424 179 -425 203 -426 207 -427 185 -428 205 -429 212 -430 205 -431 211 -432 198 -433 181 -434 212 -435 206 -436 190 -437 171 -438 196 -439 269 -440 252 -441 251 -442 240 -443 247 -444 233 -445 219 -446 265 -447 236 -448 231 -449 277 -450 237 -451 247 -452 268 -453 252 -454 258 -455 241 -456 246 -457 248 -458 258 -459 249 -460 255 -461 267 -462 257 -463 268 -464 251 -465 262 -466 254 -467 231 -468 249 -469 246 -470 236 -471 252 -472 252 -473 246 -474 223 -475 247 -476 240 -477 250 -478 272 -479 217 -480 222 -481 195 -482 248 -483 233 -484 249 -485 248 -486 221 -487 239 -488 265 -489 279 -490 237 -491 270 -492 258 -493 242 -494 234 -495 242 -496 244 -497 274 -498 251 -499 248 -500 256 -501 251 -502 241 -503 257 -504 244 -505 241 -506 258 -507 255 -508 265 -509 264 -510 244 -511 267 -512 254 -513 252 -514 235 -515 247 -516 218 -517 236 -518 256 -519 253 -520 254 -521 272 -522 251 -523 258 -524 242 -525 251 -526 265 -527 243 -528 241 -529 224 -530 239 -531 255 -532 269 -533 228 -534 233 -535 222 -536 246 -537 257 -538 138 -539 232 -540 219 -541 252 -542 235 -543 263 -544 259 -545 249 -546 255 -547 257 -548 241 -549 264 -550 262 -551 255 -552 272 -553 249 -554 235 -555 261 -556 241 -557 255 -558 252 +410 226 +411 230 +412 174 +413 113 +414 197 +415 204 +416 160 +417 225 +418 176 +419 177 +420 170 +421 181 +422 229 +423 160 +424 211 +425 161 +426 208 +427 130 +428 212 +429 140 +430 220 +431 149 +432 168 +433 144 +434 307 +435 198 +436 246 +437 154 +438 204 +439 142 +440 251 +441 164 +442 184 +443 187 +444 194 +445 187 +446 215 +447 147 +448 140 +449 219 +450 156 +451 188 +452 130 +453 148 +454 214 +455 165 +456 121 +457 204 +458 206 +459 131 +460 242 +461 136 +462 183 +463 129 +464 214 +465 149 +466 230 +467 148 +468 120 +469 186 +470 207 +471 138 +472 187 +473 145 +474 186 +475 179 +476 206 +477 154 +478 160 +479 140 +480 144 +481 203 +482 137 +483 185 +484 189 +485 209 +486 140 +487 186 +488 128 +489 128 +490 145 +491 189 +492 169 +493 169 +494 190 +495 176 +496 158 +497 156 +498 176 +499 161 +500 193 +501 169 +502 215 +503 155 +504 188 +505 134 +506 140 +507 175 +508 145 +509 160 +510 179 +511 220 +512 157 +513 187 +514 138 +515 160 +516 134 +517 131 +518 158 +519 177 +520 172 +521 187 +522 168 +523 159 +524 136 +525 152 +526 129 +527 151 +528 184 +529 157 +530 179 +531 195 +532 205 +533 216 +534 234 +535 177 +536 254 +537 194 +538 178 +539 223 +540 221 +541 165 +542 165 +543 167 +544 224 +545 214 +546 163 +547 206 +548 166 +549 231 +550 206 +551 200 +552 252 +553 215 +554 169 +555 217 +556 180 +557 209 +558 170 559 248 -560 246 -561 276 -562 245 -563 253 -564 232 -565 237 -566 227 -567 209 -568 238 -569 253 -570 264 -571 251 -572 244 -573 276 -574 225 -575 254 -576 273 -577 250 -578 238 -579 282 -580 260 -581 257 -582 254 -583 248 -584 194 -585 221 -586 208 -587 220 -588 211 -589 220 -590 179 -591 222 -592 208 -593 209 -594 218 -595 217 -596 204 -597 195 -598 194 -599 210 -600 214 -601 199 -602 202 -603 201 -604 209 -605 231 -606 222 -607 212 -608 222 -609 216 -610 184 -611 195 -612 214 -613 219 -614 214 -615 208 -616 201 -617 215 -618 234 -619 210 -620 207 -621 206 -622 213 -623 211 -624 200 -625 194 -626 214 -627 229 -628 212 -629 183 -630 206 -631 215 -632 216 -633 176 -634 196 -635 201 -636 190 -637 185 -638 188 -639 200 -640 183 -641 184 -642 174 -643 202 -644 212 -645 223 -646 231 +560 163 +561 185 +562 234 +563 225 +564 256 +565 84 +566 1239 +567 220 +568 211 +569 174 +570 238 +571 219 +572 160 +573 182 +574 226 +575 220 +576 209 +577 164 +578 173 +579 175 +580 176 +581 162 +582 273 +583 200 +584 221 +585 247 +586 231 +587 189 +588 171 +589 232 +590 171 +591 210 +592 240 +593 220 +594 203 +595 161 +596 189 +597 162 +598 203 +599 177 +600 196 +601 157 +602 205 +603 209 +604 237 +605 170 +606 213 +607 215 +608 144 +609 225 +610 166 +611 262 +612 173 +613 230 +614 234 +615 236 +616 184 +617 205 +618 153 +619 248 +620 250 +621 167 +622 187 +623 226 +624 223 +625 209 +626 244 +627 231 +628 234 +629 146 +630 224 +631 162 +632 183 +633 166 +634 181 +635 175 +636 223 +637 209 +638 211 +639 153 +640 176 +641 178 +642 177 +643 161 +644 170 +645 227 +646 198 647 207 -648 218 -649 214 -650 211 -651 211 -652 185 -653 189 -654 186 -655 201 -656 220 -657 207 -658 190 -659 203 -660 197 -661 198 -662 215 -663 216 -664 193 -665 208 -666 221 -667 209 -668 209 -669 219 -670 218 -671 189 -672 233 -673 264 -674 275 -675 243 -676 262 -677 250 -678 263 -679 232 -680 254 -681 267 -682 263 -683 266 -684 262 -685 275 -686 256 -687 224 -688 277 -689 240 -690 251 -691 267 -692 250 -693 277 -694 266 -695 231 -696 249 -697 254 -698 264 -699 232 -700 235 -701 251 -702 266 -703 237 -704 227 -705 267 -706 253 -707 246 -708 270 -709 228 -710 244 -711 268 -712 246 -713 248 -714 275 +648 203 +649 133 +650 196 +651 147 +652 220 +653 154 +654 141 +655 227 +656 159 +657 256 +658 198 +659 238 +660 218 +661 166 +662 161 +663 292 +664 179 +665 178 +666 198 +667 220 +668 188 +669 229 +670 211 +671 231 +672 144 +673 280 +674 204 +675 194 +676 201 +677 230 +678 183 +679 193 +680 176 +681 194 +682 186 +683 191 +684 160 +685 261 +686 162 +687 188 +688 192 +689 172 +690 206 +691 211 +692 117 +693 217 +694 215 +695 177 +696 189 +697 169 +698 167 +699 169 +700 208 +701 177 +702 203 +703 212 +704 142 +705 213 +706 153 +707 138 +708 198 +709 161 +710 194 +711 197 +712 181 +713 186 +714 169 715 190 -716 221 -717 242 -718 263 -719 243 -720 246 -721 256 -722 237 -723 273 -724 237 -725 245 -726 260 -727 263 -728 250 -729 266 -730 231 -731 231 -732 254 -733 256 -734 227 -735 264 -736 259 -737 232 -738 265 -739 251 -740 252 -741 241 -742 230 -743 244 -744 250 -745 250 -746 215 -747 243 -748 267 -749 246 -750 264 -751 237 -752 248 -753 277 -754 228 -755 245 -756 256 -757 249 -758 225 -759 256 -760 251 -761 218 -762 259 -763 273 -764 237 -765 254 -766 241 -767 245 -768 253 -769 261 -770 224 -771 281 -772 254 -773 264 -774 271 -775 258 -776 250 -777 273 -778 224 -779 254 -780 260 -781 240 -782 240 -783 255 -784 233 -785 243 -786 236 -787 229 -788 250 -789 264 -790 214 -791 240 -792 265 -793 254 -794 243 -795 270 -796 253 -797 245 -798 241 -799 242 -800 236 -801 282 +716 199 +717 177 +718 181 +719 178 +720 167 +721 179 +722 186 +723 179 +724 180 +725 195 +726 175 +727 182 +728 174 +729 137 +730 253 +731 160 +732 192 +733 172 +734 217 +735 171 +736 218 +737 209 +738 179 +739 210 +740 222 +741 188 +742 226 +743 216 +744 159 +745 202 +746 229 +747 199 +748 187 +749 210 +750 242 +751 178 +752 256 +753 231 +754 178 +755 216 +756 206 +757 234 +758 185 +759 196 +760 215 +761 201 +762 244 +763 212 +764 214 +765 206 +766 239 +767 241 +768 199 +769 216 +770 218 +771 191 +772 222 +773 205 +774 186 +775 229 +776 209 +777 145 +778 213 +779 215 +780 223 +781 201 +782 217 +783 213 +784 197 +785 218 +786 212 +787 246 +788 227 +789 221 +790 233 +791 234 +792 193 +793 223 +794 220 +795 215 +796 231 +797 229 +798 218 +799 223 +800 237 +801 256 802 246 -803 244 -804 253 -805 242 -806 240 -807 270 +803 204 +804 227 +805 232 +806 241 +807 216 808 254 -809 261 -810 240 -811 240 -812 263 -813 263 -814 242 -815 177 -816 210 -817 200 -818 188 -819 212 -820 203 -821 219 -822 215 -823 204 -824 204 -825 213 -826 226 -827 216 -828 213 -829 211 -830 206 -831 224 -832 199 -833 195 -834 209 -835 210 -836 210 -837 196 -838 200 -839 200 -840 199 -841 202 -842 205 -843 192 -844 211 -845 211 -846 221 -847 197 -848 215 -849 205 -850 209 -851 224 -852 198 -853 198 -854 210 -855 224 -856 220 -857 200 -858 208 -859 211 -860 216 +809 215 +810 273 +811 286 +812 169 +813 233 +814 223 +815 289 +816 182 +817 226 +818 170 +819 252 +820 275 +821 255 +822 258 +823 268 +824 199 +825 226 +826 235 +827 262 +828 253 +829 228 +830 237 +831 226 +832 278 +833 221 +834 261 +835 255 +836 221 +837 182 +838 350 +839 275 +840 235 +841 277 +842 252 +843 275 +844 294 +845 250 +846 253 +847 286 +848 275 +849 237 +850 182 +851 387 +852 241 +853 248 +854 263 +855 262 +856 280 +857 249 +858 254 +859 232 +860 244 861 214 -862 210 -863 192 -864 202 -865 202 -866 174 -867 192 -868 192 -869 201 -870 207 -871 220 -872 216 -873 208 -874 199 -875 213 -876 217 -877 211 -878 198 -879 188 -880 192 -881 220 -882 198 -883 199 -884 204 -885 212 -886 201 -887 224 -888 201 -889 204 -890 214 -891 225 -892 184 -893 200 -894 188 -895 202 -896 222 -897 209 -898 254 -899 237 -900 279 -901 236 -902 264 -903 220 -904 228 -905 256 -906 250 -907 256 +862 245 +863 229 +864 231 +865 224 +866 240 +867 229 +868 223 +869 269 +870 225 +871 262 +872 223 +873 217 +874 258 +875 216 +876 215 +877 219 +878 249 +879 232 +880 214 +881 227 +882 274 +883 234 +884 236 +885 210 +886 231 +887 261 +888 233 +889 225 +890 259 +891 279 +892 229 +893 228 +894 257 +895 122 +896 224 +897 217 +898 231 +899 205 +900 211 +901 221 +902 227 +903 208 +904 231 +905 254 +906 197 +907 181 908 235 -909 268 -910 238 -911 45 -912 258 -913 244 -914 264 -915 258 -916 270 -917 262 -918 234 -919 227 -920 269 -921 247 -922 231 -923 252 -924 251 -925 233 -926 263 -927 259 -928 234 -929 249 -930 262 -931 238 -932 260 -933 260 -934 248 -935 237 -936 259 -937 248 -938 282 -939 236 -940 247 -941 271 -942 240 -943 231 -944 254 -945 241 -946 256 -947 207 -948 238 -949 200 -950 231 -951 252 -952 252 -953 249 -954 274 -955 238 -956 249 -957 279 -958 255 -959 264 -960 249 -961 249 -962 259 -963 255 -964 238 -965 277 -966 248 -967 246 -968 259 -969 248 -970 260 -971 268 -972 239 -973 261 -974 257 -975 241 -976 280 -977 231 -978 239 -979 267 -980 257 -981 236 -982 258 -983 241 -984 243 -985 263 -986 249 -987 239 -988 276 -989 255 -990 245 -991 251 -992 245 -993 251 -994 261 -995 255 -996 264 -997 263 -998 228 -999 215 -1000 262 -1001 258 -1002 264 -1003 268 -1004 245 -1005 269 -1006 252 -1007 222 -1008 274 -1009 248 -1010 256 -1011 263 -1012 259 -1013 254 -1014 279 -1015 216 -1016 238 -1017 244 -1018 254 -1019 237 -1020 255 -1021 252 -1022 243 -1023 242 -1024 259 -1025 255 -1026 276 -1027 245 -1028 268 -1029 258 -1030 246 -1031 254 -1032 244 -1033 250 -1034 272 -1035 252 -1036 257 -1037 260 -1038 260 -1039 233 -1040 266 -1041 271 -1042 265 -1043 190 -1044 199 -1045 200 -1046 197 -1047 189 -1048 213 -1049 197 -1050 200 -1051 204 -1052 206 -1053 208 -1054 215 -1055 207 -1056 189 -1057 213 -1058 222 -1059 224 -1060 212 -1061 206 -1062 211 -1063 207 -1064 215 -1065 209 -1066 202 -1067 228 -1068 216 -1069 194 -1070 163 -1071 206 -1072 202 -1073 224 -1074 216 -1075 190 -1076 188 -1077 216 -1078 223 -1079 216 -1080 210 -1081 211 -1082 219 -1083 216 -1084 207 -1085 209 -1086 191 -1087 231 -1088 201 -1089 192 -1090 197 -1091 201 -1092 209 -1093 208 -1094 201 -1095 198 -1096 210 -1097 226 -1098 213 -1099 196 -1100 204 -1101 216 -1102 211 -1103 207 -1104 213 -1105 214 -1106 220 -1107 226 -1108 220 -1109 208 -1110 219 -1111 209 -1112 196 -1113 204 -1114 203 -1115 214 -1116 232 -1117 210 -1118 215 -1119 223 -1120 219 -1121 213 -1122 195 -1123 202 -1124 212 -1125 230 -1126 250 -1127 275 -1128 264 -1129 231 -1130 242 -1131 254 -1132 240 -1133 262 -1134 241 -1135 254 -1136 277 -1137 264 -1138 252 -1139 290 -1140 245 -1141 281 -1142 244 -1143 255 -1144 256 -1145 259 -1146 251 -1147 272 -1148 242 -1149 238 -1150 264 -1151 242 -1152 245 -1153 277 -1154 251 -1155 273 -1156 215 -1157 250 -1158 226 -1159 262 -1160 260 -1161 275 -1162 247 -1163 261 -1164 254 -1165 246 -1166 229 -1167 271 -1168 270 -1169 251 -1170 261 -1171 255 -1172 237 -1173 259 -1174 223 -1175 244 -1176 253 -1177 246 -1178 250 -1179 263 -1180 255 -1181 258 -1182 248 -1183 235 -1184 226 -1185 271 -1186 75 -1187 230 -1188 231 -1189 231 -1190 273 -1191 247 -1192 238 -1193 278 -1194 240 -1195 262 -1196 269 -1197 249 -1198 264 -1199 236 -1200 253 -1201 267 -1202 256 -1203 237 -1204 260 -1205 249 -1206 258 -1207 248 -1208 255 -1209 260 -1210 270 -1211 259 -1212 256 -1213 251 -1214 244 -1215 272 -1216 256 -1217 240 +909 209 +910 226 +911 203 +912 193 +913 243 +914 215 +915 238 +916 197 +917 257 +918 243 +919 210 +920 188 +921 238 +922 229 +923 238 +924 261 +925 228 +926 237 +927 201 +928 235 +929 251 +930 220 +931 229 +932 250 +933 223 +934 253 +935 186 +936 228 +937 265 +938 236 +939 228 +940 258 +941 290 +942 282 +943 266 +944 264 +945 254 +946 290 +947 241 +948 275 +949 303 +950 259 +951 255 +952 302 +953 250 +954 313 +955 303 +956 322 +957 282 +958 301 +959 259 +960 289 +961 284 +962 269 +963 282 +964 313 +965 272 +966 318 +967 260 +968 330 +969 272 +970 273 +971 277 +972 255 +973 270 +974 219 +975 254 +976 271 +977 281 +978 258 +979 316 +980 267 +981 255 +982 341 +983 220 +984 336 +985 231 +986 275 +987 255 +988 251 +989 261 +990 280 +991 312 +992 279 +993 256 +994 284 +995 254 +996 312 +997 266 +998 249 +999 259 +1000 285 +1001 238 +1002 256 +1003 230 +1004 291 +1005 301 +1006 275 +1007 210 +1008 329 +1009 254 +1010 291 +1011 226 +1012 296 +1013 274 +1014 261 +1015 268 +1016 240 +1017 271 +1018 226 +1019 304 +1020 240 +1021 293 +1022 222 +1023 258 +1024 286 +1025 251 +1026 241 +1027 227 +1028 243 +1029 305 +1030 291 +1031 214 +1032 230 +1033 291 +1034 275 +1035 272 +1036 239 +1037 284 +1038 250 +1039 268 +1040 328 +1041 272 +1042 291 +1043 287 +1044 242 +1045 318 +1046 259 +1047 303 +1048 281 +1049 237 +1050 345 +1051 260 +1052 281 +1053 207 +1054 392 +1055 307 +1056 259 +1057 289 +1058 265 +1059 226 +1060 306 +1061 237 +1062 288 +1063 260 +1064 265 +1065 246 +1066 248 +1067 255 +1068 214 +1069 279 +1070 218 +1071 251 +1072 257 +1073 226 +1074 264 +1075 259 +1076 217 +1077 267 +1078 275 +1079 231 +1080 268 +1081 244 +1082 231 +1083 310 +1084 256 +1085 309 +1086 233 +1087 276 +1088 303 +1089 232 +1090 259 +1091 280 +1092 264 +1093 302 +1094 265 +1095 249 +1096 308 +1097 251 +1098 323 +1099 217 +1100 281 +1101 290 +1102 245 +1103 251 +1104 342 +1105 259 +1106 327 +1107 260 +1108 343 +1109 301 +1110 281 +1111 247 +1112 298 +1113 270 +1114 294 +1115 277 +1116 289 +1117 268 +1118 267 +1119 214 +1120 253 +1121 309 +1122 295 +1123 238 +1124 158 +1125 162 +1126 271 +1127 321 +1128 219 +1129 258 +1130 335 +1131 262 +1132 294 +1133 250 +1134 271 +1135 323 +1136 311 +1137 255 +1138 326 +1139 263 +1140 246 +1141 310 +1142 297 +1143 275 +1144 306 +1145 314 +1146 286 +1147 316 +1148 276 +1149 313 +1150 310 +1151 266 +1152 314 +1153 266 +1154 340 +1155 248 +1156 290 +1157 293 +1158 267 +1159 298 +1160 243 +1161 210 +1162 359 +1163 258 +1164 297 +1165 254 +1166 295 +1167 232 +1168 255 +1169 311 +1170 215 +1171 234 +1172 254 +1173 215 +1174 278 +1175 283 +1176 213 +1177 150 +1178 229 +1179 233 +1180 256 +1181 243 +1182 206 +1183 276 +1184 224 +1185 257 +1186 254 +1187 222 +1188 267 +1189 205 +1190 250 +1191 227 +1192 262 +1193 276 +1194 167 +1195 235 +1196 243 +1197 293 +1198 231 +1199 297 +1200 211 +1201 223 +1202 273 +1203 198 +1204 227 +1205 240 +1206 237 +1207 265 +1208 230 +1209 221 +1210 248 +1211 206 +1212 211 +1213 238 +1214 223 +1215 202 +1216 229 +1217 217 1218 249 -1219 235 -1220 238 -1221 279 -1222 246 -1223 249 -1224 248 -1225 244 -1226 262 -1227 283 -1228 257 -1229 267 +1219 211 +1220 220 +1221 209 +1222 220 +1223 225 +1224 274 +1225 174 +1226 229 +1227 201 +1228 233 +1229 228 1230 247 -1231 231 -1232 213 -1233 270 -1234 256 -1235 259 -1236 264 -1237 247 -1238 262 -1239 256 -1240 204 -1241 258 -1242 257 -1243 252 -1244 276 -1245 272 -1246 258 -1247 267 -1248 258 -1249 245 -1250 245 -1251 263 -1252 253 -1253 272 -1254 249 -1255 220 -1256 257 -1257 256 -1258 278 -1259 221 -1260 228 -1261 249 -1262 272 -1263 232 -1264 265 -1265 252 -1266 237 -1267 245 -1268 267 -1269 266 -1270 260 -1271 247 -1272 255 -1273 269 -1274 256 -1275 223 -1276 216 -1277 210 -1278 216 -1279 181 -1280 210 -1281 227 -1282 198 -1283 210 -1284 212 -1285 188 +1231 246 +1232 270 +1233 272 +1234 216 +1235 249 +1236 270 +1237 270 +1238 266 +1239 211 +1240 275 +1241 272 +1242 232 +1243 288 +1244 231 +1245 216 +1246 266 +1247 193 +1248 243 +1249 244 +1250 315 +1251 244 +1252 241 +1253 255 +1254 237 +1255 297 +1256 232 +1257 288 +1258 266 +1259 244 +1260 268 +1261 217 +1262 338 +1263 308 +1264 272 +1265 265 +1266 332 +1267 257 +1268 235 +1269 289 +1270 259 +1271 332 +1272 248 +1273 256 +1274 333 +1275 245 +1276 192 +1277 276 +1278 245 +1279 222 +1280 261 +1281 222 +1282 289 +1283 224 +1284 263 +1285 313 1286 219 -1287 209 -1288 190 -1289 189 -1290 194 -1291 193 -1292 205 -1293 207 -1294 214 -1295 216 -1296 231 -1297 229 -1298 206 -1299 227 -1300 208 -1301 211 -1302 179 -1303 219 -1304 218 -1305 232 -1306 215 -1307 221 -1308 204 -1309 216 -1310 213 -1311 218 -1312 191 -1313 213 -1314 213 -1315 202 -1316 208 -1317 206 -1318 213 -1319 229 -1320 200 -1321 199 -1322 182 -1323 214 -1324 218 -1325 203 -1326 215 -1327 201 -1328 209 -1329 222 -1330 209 -1331 208 -1332 183 -1333 209 -1334 222 -1335 207 -1336 198 -1337 216 -1338 198 -1339 203 -1340 187 -1341 200 -1342 172 -1343 184 -1344 205 -1345 220 -1346 207 -1347 218 -1348 178 -1349 208 -1350 204 -1351 213 -1352 208 -1353 211 -1354 190 -1355 198 -1356 232 -1357 262 -1358 235 -1359 290 -1360 244 -1361 255 -1362 253 -1363 243 -1364 271 -1365 227 -1366 236 -1367 267 -1368 249 -1369 237 -1370 259 -1371 241 -1372 228 -1373 255 -1374 270 -1375 235 -1376 269 -1377 272 -1378 233 -1379 262 -1380 233 -1381 252 -1382 280 -1383 256 -1384 246 -1385 250 -1386 242 -1387 242 -1388 221 -1389 208 -1390 234 -1391 276 -1392 261 -1393 243 -1394 271 -1395 243 -1396 211 -1397 249 -1398 242 -1399 257 -1400 263 -1401 234 -1402 251 -1403 275 -1404 251 -1405 238 -1406 279 -1407 272 -1408 240 -1409 250 -1410 180 -1411 221 -1412 258 -1413 264 -1414 260 -1415 270 -1416 260 -1417 224 -1418 258 -1419 268 -1420 246 -1421 221 -1422 181 -1423 154 -1424 188 -1425 226 -1426 208 -1427 272 -1428 245 -1429 227 -1430 252 -1431 270 -1432 260 -1433 265 -1434 243 -1435 224 -1436 267 -1437 224 -1438 232 -1439 272 -1440 244 -1441 236 +1287 224 +1288 325 +1289 318 +1290 243 +1291 299 +1292 259 +1293 291 +1294 235 +1295 336 +1296 305 +1297 248 +1298 356 +1299 316 +1300 282 +1301 304 +1302 279 +1303 298 +1304 282 +1305 360 +1306 250 +1307 397 +1308 294 +1309 391 +1310 309 +1311 389 +1312 289 +1313 309 +1314 276 +1315 373 +1316 279 +1317 266 +1318 339 +1319 312 +1320 318 +1321 296 +1322 320 +1323 287 +1324 357 +1325 295 +1326 284 +1327 300 +1328 319 +1329 309 +1330 298 +1331 283 +1332 308 +1333 222 +1334 291 +1335 225 +1336 334 +1337 247 +1338 274 +1339 292 +1340 294 +1341 333 +1342 269 +1343 338 +1344 281 +1345 227 +1346 274 +1347 343 +1348 290 +1349 323 +1350 351 +1351 313 +1352 307 +1353 307 +1354 326 +1355 331 +1356 285 +1357 289 +1358 330 +1359 384 +1360 308 +1361 327 +1362 399 +1363 313 +1364 286 +1365 299 +1366 344 +1367 243 +1368 286 +1369 303 +1370 234 +1371 401 +1372 307 +1373 354 +1374 324 +1375 284 +1376 273 +1377 375 +1378 302 +1379 291 +1380 272 +1381 496 +1382 248 +1383 359 +1384 329 +1385 304 +1386 315 +1387 338 +1388 319 +1389 283 +1390 358 +1391 295 +1392 239 +1393 293 +1394 294 +1395 262 +1396 294 +1397 173 +1398 208 +1399 285 +1400 327 +1401 293 +1402 344 +1403 271 +1404 373 +1405 298 +1406 374 +1407 207 +1408 317 +1409 331 +1410 298 +1411 372 +1412 334 +1413 356 +1414 259 +1415 381 +1416 258 +1417 256 +1418 327 +1419 365 +1420 293 +1421 301 +1422 298 +1423 338 +1424 268 +1425 298 +1426 206 +1427 291 +1428 253 +1429 260 +1430 295 +1431 188 +1432 463 +1433 244 +1434 281 +1435 162 +1436 261 +1437 235 +1438 316 +1439 266 +1440 228 +1441 253 1442 266 -1443 264 -1444 254 -1445 252 -1446 235 -1447 261 -1448 273 -1449 267 -1450 254 -1451 245 -1452 242 -1453 278 -1454 233 -1455 232 -1456 266 -1457 275 -1458 218 -1459 261 -1460 255 -1461 247 -1462 249 -1463 227 -1464 253 -1465 281 -1466 241 -1467 207 -1468 243 -1469 257 -1470 228 -1471 242 -1472 268 -1473 260 -1474 268 -1475 239 -1476 248 -1477 254 -1478 222 -1479 242 -1480 274 -1481 266 -1482 228 -1483 199 -1484 267 -1485 260 -1486 254 -1487 237 -1488 225 -1489 266 -1490 225 -1491 228 -1492 231 -1493 252 -1494 232 -1495 228 -1496 268 -1497 257 -1498 214 -1499 256 -1500 241 -1501 251 -1502 282 -1503 229 -1504 252 -1505 218 -1506 220 -1507 193 -1508 204 -1509 200 -1510 225 -1511 186 -1512 195 -1513 210 -1514 183 -1515 205 -1516 226 -1517 191 -1518 211 -1519 220 -1520 210 -1521 209 -1522 209 -1523 213 -1524 197 -1525 203 -1526 223 -1527 218 -1528 99 -1529 216 -1530 188 -1531 196 -1532 215 -1533 188 -1534 200 -1535 226 -1536 208 -1537 189 -1538 206 -1539 224 -1540 205 +1443 238 +1444 280 +1445 232 +1446 293 +1447 183 +1448 178 +1449 143 +1450 264 +1451 186 +1452 178 +1453 198 +1454 218 +1455 185 +1456 110 +1457 183 +1458 176 +1459 179 +1460 138 +1461 218 +1462 131 +1463 218 +1464 212 +1465 226 +1466 219 +1467 152 +1468 187 +1469 136 +1470 189 +1471 212 +1472 203 +1473 116 +1474 194 +1475 150 +1476 237 +1477 131 +1478 263 +1479 228 +1480 241 +1481 234 +1482 260 +1483 218 +1484 187 +1485 226 +1486 196 +1487 166 +1488 269 +1489 274 +1490 142 +1491 235 +1492 142 +1493 233 +1494 200 +1495 180 +1496 247 +1497 222 +1498 183 +1499 227 +1500 181 +1501 242 +1502 166 +1503 256 +1504 164 +1505 183 +1506 216 +1507 264 +1508 205 +1509 231 +1510 258 +1511 235 +1512 162 +1513 167 +1514 153 +1515 157 +1516 200 +1517 198 +1518 220 +1519 245 +1520 246 +1521 126 +1522 230 +1523 141 +1524 156 +1525 219 +1526 204 +1527 198 +1528 202 +1529 218 +1530 126 +1531 190 +1532 141 +1533 249 +1534 125 +1535 259 +1536 133 +1537 245 +1538 140 +1539 220 +1540 154 1541 218 -1542 214 -1543 205 -1544 217 -1545 216 -1546 204 -1547 201 -1548 209 -1549 191 -1550 188 -1551 209 -1552 189 -1553 205 -1554 198 -1555 211 -1556 196 -1557 191 -1558 206 -1559 215 -1560 231 +1542 245 +1543 196 +1544 247 +1545 222 +1546 220 +1547 213 +1548 139 +1549 123 +1550 234 +1551 219 +1552 146 +1553 153 +1554 212 +1555 149 +1556 229 +1557 144 +1558 225 +1559 197 +1560 227 1561 204 -1562 208 -1563 194 -1564 198 -1565 229 -1566 213 -1567 219 -1568 194 -1569 200 -1570 200 -1571 196 -1572 201 -1573 195 -1574 204 -1575 203 -1576 215 -1577 205 -1578 198 -1579 199 -1580 218 -1581 220 -1582 181 -1583 194 -1584 186 -1585 255 -1586 275 -1587 236 -1588 273 -1589 243 -1590 244 -1591 267 -1592 201 -1593 210 -1594 243 -1595 287 -1596 212 -1597 253 -1598 254 -1599 273 -1600 251 -1601 253 -1602 248 -1603 260 -1604 257 -1605 250 -1606 252 -1607 243 -1608 232 -1609 209 -1610 273 -1611 243 -1612 273 -1613 261 -1614 255 -1615 256 -1616 235 -1617 221 -1618 226 -1619 245 -1620 261 -1621 232 -1622 259 -1623 261 -1624 263 -1625 92 -1626 241 -1627 241 -1628 238 -1629 231 -1630 234 -1631 276 -1632 235 -1633 248 -1634 272 -1635 269 -1636 263 -1637 261 -1638 265 -1639 231 -1640 221 -1641 193 -1642 240 -1643 277 -1644 203 -1645 251 -1646 260 -1647 275 -1648 209 -1649 253 -1650 255 -1651 251 -1652 229 -1653 242 -1654 250 -1655 257 -1656 239 -1657 257 -1658 223 -1659 247 -1660 242 -1661 245 -1662 263 -1663 238 -1664 252 -1665 247 -1666 235 -1667 223 -1668 262 -1669 247 -1670 235 -1671 259 -1672 242 -1673 258 -1674 267 -1675 242 -1676 251 -1677 283 -1678 246 -1679 267 -1680 248 -1681 232 -1682 259 -1683 263 -1684 251 -1685 270 -1686 259 -1687 257 -1688 250 -1689 250 -1690 221 -1691 259 -1692 260 -1693 260 -1694 259 -1695 258 -1696 283 -1697 261 -1698 221 -1699 253 -1700 244 -1701 250 -1702 264 -1703 262 -1704 241 -1705 276 -1706 248 -1707 255 -1708 274 -1709 274 -1710 282 -1711 252 -1712 236 -1713 247 -1714 214 -1715 239 -1716 253 -1717 252 -1718 242 -1719 262 -1720 255 -1721 240 -1722 248 -1723 248 -1724 234 -1725 233 -1726 235 -1727 254 -1728 254 -1729 263 -1730 235 -1731 238 -1732 260 -1733 242 -1734 191 -1735 222 -1736 218 -1737 205 -1738 199 -1739 205 -1740 221 -1741 195 -1742 207 -1743 217 -1744 211 -1745 219 -1746 206 -1747 210 -1748 211 -1749 220 -1750 209 -1751 203 -1752 196 -1753 197 -1754 207 -1755 213 -1756 201 -1757 202 -1758 205 -1759 216 -1760 177 -1761 216 -1762 202 -1763 200 -1764 214 -1765 211 -1766 197 -1767 213 -1768 218 -1769 221 -1770 188 -1771 191 -1772 205 -1773 195 -1774 204 -1775 196 -1776 195 -1777 211 -1778 215 -1779 212 -1780 225 -1781 207 -1782 207 -1783 178 -1784 209 -1785 227 -1786 203 -1787 207 -1788 205 -1789 191 -1790 228 -1791 213 -1792 183 -1793 180 -1794 215 -1795 209 -1796 219 -1797 222 -1798 206 -1799 214 -1800 223 -1801 206 -1802 185 -1803 206 -1804 194 -1805 207 -1806 204 -1807 205 -1808 210 -1809 218 -1810 216 -1811 205 -1812 198 -1813 208 -1814 272 -1815 232 -1816 235 -1817 267 -1818 244 -1819 219 -1820 286 -1821 239 -1822 221 -1823 215 -1824 256 -1825 245 -1826 265 -1827 260 -1828 257 -1829 270 -1830 251 -1831 236 -1832 270 -1833 270 -1834 252 -1835 262 -1836 259 -1837 265 -1838 239 -1839 236 -1840 236 -1841 253 -1842 236 -1843 228 -1844 252 -1845 255 -1846 241 -1847 224 -1848 198 -1849 230 -1850 258 -1851 247 -1852 230 -1853 242 -1854 289 -1855 205 -1856 245 -1857 264 -1858 256 -1859 251 -1860 257 -1861 257 -1862 258 -1863 272 -1864 240 -1865 272 -1866 226 -1867 253 -1868 258 -1869 245 -1870 238 -1871 243 -1872 241 -1873 238 -1874 262 -1875 237 -1876 231 -1877 253 -1878 264 -1879 241 -1880 257 -1881 248 -1882 245 -1883 280 -1884 240 -1885 238 -1886 248 -1887 237 -1888 240 -1889 263 -1890 250 -1891 243 -1892 255 -1893 247 -1894 234 -1895 263 -1896 250 -1897 239 -1898 198 -1899 266 -1900 232 -1901 250 -1902 277 -1903 236 -1904 266 -1905 248 -1906 251 -1907 273 -1908 251 -1909 249 -1910 271 -1911 248 -1912 256 -1913 266 -1914 240 -1915 227 -1916 267 -1917 260 -1918 252 -1919 258 -1920 243 -1921 255 -1922 224 -1923 251 -1924 271 -1925 253 -1926 49 -1927 248 -1928 247 -1929 277 -1930 215 -1931 223 -1932 247 -1933 255 -1934 206 -1935 263 -1936 260 -1937 264 -1938 227 -1939 241 -1940 262 -1941 264 -1942 254 -1943 263 -1944 280 -1945 271 -1946 224 -1947 277 -1948 251 -1949 271 -1950 268 -1951 258 -1952 274 -1953 278 -1954 245 -1955 260 -1956 248 -1957 251 -1958 247 -1959 241 -1960 236 -1961 245 -1962 189 -1963 201 -1964 202 -1965 222 -1966 216 -1967 213 -1968 195 -1969 183 -1970 215 -1971 222 -1972 205 -1973 223 -1974 209 -1975 218 -1976 222 -1977 217 -1978 204 -1979 215 -1980 200 -1981 203 -1982 207 -1983 212 -1984 220 -1985 203 -1986 197 -1987 197 -1988 202 -1989 209 -1990 230 -1991 202 -1992 223 -1993 215 -1994 222 -1995 203 -1996 216 -1997 204 -1998 214 -1999 217 -2000 208 -2001 202 -2002 191 -2003 215 -2004 204 -2005 203 -2006 207 -2007 228 -2008 219 -2009 197 -2010 187 -2011 197 -2012 217 -2013 228 -2014 205 -2015 214 -2016 229 -2017 230 -2018 227 -2019 217 -2020 222 -2021 189 -2022 197 -2023 200 -2024 204 -2025 198 -2026 199 -2027 224 -2028 205 -2029 190 -2030 217 -2031 209 -2032 210 -2033 191 -2034 212 -2035 201 -2036 208 -2037 218 -2038 210 -2039 218 -2040 223 -2041 217 -2042 211 -2043 202 -2044 211 -2045 194 -2046 215 -2047 211 -2048 255 -2049 255 -2050 253 -2051 227 -2052 259 -2053 208 -2054 267 -2055 263 -2056 245 -2057 242 -2058 279 -2059 227 -2060 258 -2061 276 -2062 283 -2063 252 -2064 298 -2065 245 -2066 289 -2067 229 -2068 240 -2069 254 -2070 269 -2071 239 -2072 284 -2073 267 -2074 264 -2075 252 -2076 233 -2077 226 -2078 264 -2079 194 -2080 224 -2081 269 -2082 268 -2083 241 -2084 273 -2085 253 -2086 263 -2087 248 -2088 269 -2089 239 -2090 232 -2091 256 -2092 263 -2093 226 -2094 255 -2095 254 -2096 261 -2097 252 -2098 263 -2099 259 -2100 230 -2101 266 -2102 239 -2103 237 -2104 256 -2105 233 -2106 230 -2107 217 -2108 265 -2109 245 -2110 236 -2111 252 -2112 231 -2113 250 -2114 246 -2115 250 -2116 235 -2117 253 -2118 245 -2119 250 -2120 237 -2121 219 -2122 245 -2123 261 -2124 235 -2125 239 -2126 261 -2127 229 -2128 228 -2129 260 -2130 257 -2131 257 -2132 207 -2133 273 -2134 227 -2135 249 -2136 276 -2137 246 -2138 270 -2139 267 -2140 221 -2141 261 -2142 235 -2143 233 -2144 232 -2145 260 -2146 258 -2147 257 -2148 270 -2149 248 -2150 256 -2151 257 -2152 213 -2153 270 -2154 240 -2155 238 -2156 267 -2157 269 -2158 225 -2159 240 -2160 269 -2161 243 -2162 263 -2163 263 -2164 253 -2165 254 -2166 259 -2167 228 -2168 251 -2169 261 -2170 268 -2171 271 -2172 267 -2173 281 -2174 276 -2175 265 -2176 265 -2177 268 -2178 258 -2179 259 -2180 215 -2181 267 -2182 249 -2183 241 -2184 271 -2185 216 -2186 261 -2187 268 -2188 246 -2189 267 -2190 266 -2191 251 -2192 238 -2193 263 -2194 259 -2195 238 -2196 192 -2197 217 -2198 205 -2199 199 -2200 207 -2201 232 -2202 188 -2203 204 -2204 214 -2205 207 -2206 215 -2207 199 -2208 207 -2209 211 -2210 222 -2211 236 -2212 190 -2213 210 -2214 198 -2215 215 -2216 205 -2217 228 -2218 224 -2219 200 -2220 228 -2221 212 -2222 187 -2223 219 -2224 233 -2225 207 -2226 211 -2227 220 -2228 234 -2229 212 -2230 216 -2231 215 -2232 209 -2233 205 -2234 192 -2235 198 -2236 179 -2237 217 -2238 224 -2239 196 -2240 229 -2241 229 -2242 211 -2243 207 -2244 205 -2245 192 -2246 178 -2247 210 -2248 215 -2249 204 -2250 208 -2251 224 -2252 226 -2253 217 -2254 197 -2255 208 -2256 200 -2257 209 -2258 211 -2259 214 -2260 220 -2261 227 -2262 195 -2263 208 -2264 202 -2265 191 -2266 204 -2267 234 -2268 211 -2269 204 -2270 223 -2271 216 -2272 227 -2273 219 -2274 266 -2275 238 -2276 217 -2277 265 -2278 253 -2279 261 -2280 268 -2281 238 -2282 261 -2283 246 -2284 242 -2285 237 -2286 276 -2287 246 -2288 205 -2289 281 -2290 233 -2291 236 -2292 267 -2293 233 -2294 234 -2295 239 -2296 256 -2297 268 -2298 280 -2299 248 -2300 240 -2301 266 -2302 276 -2303 259 -2304 240 -2305 257 -2306 269 -2307 276 -2308 250 -2309 279 -2310 243 -2311 238 -2312 226 -2313 261 -2314 261 -2315 258 -2316 231 -2317 245 -2318 262 -2319 261 -2320 237 -2321 260 -2322 259 -2323 264 -2324 248 -2325 260 -2326 251 -2327 260 -2328 220 -2329 252 -2330 244 -2331 240 -2332 223 -2333 253 -2334 251 -2335 262 -2336 253 -2337 245 -2338 250 -2339 270 -2340 211 -2341 250 -2342 269 -2343 256 -2344 253 -2345 241 -2346 244 -2347 271 -2348 263 -2349 277 -2350 273 -2351 241 -2352 242 -2353 277 -2354 234 -2355 272 -2356 255 -2357 264 -2358 283 -2359 270 -2360 253 -2361 251 -2362 231 -2363 229 -2364 232 -2365 260 -2366 262 -2367 284 -2368 254 -2369 250 -2370 253 -2371 236 -2372 234 -2373 274 -2374 260 -2375 264 -2376 212 -2377 229 -2378 250 -2379 243 -2380 200 -2381 252 -2382 273 -2383 262 -2384 261 -2385 255 -2386 243 -2387 239 -2388 240 -2389 259 -2390 248 -2391 274 -2392 261 -2393 260 -2394 271 -2395 254 -2396 249 -2397 260 -2398 256 -2399 254 -2400 238 -2401 243 -2402 241 -2403 230 -2404 231 -2405 279 -2406 258 -2407 229 -2408 256 -2409 249 -2410 237 -2411 271 -2412 222 -2413 258 -2414 275 -2415 249 -2416 251 -2417 245 -2418 257 -2419 245 -2420 272 -2421 246 -2422 257 -2423 233 -2424 239 -2425 245 -2426 247 -2427 243 -2428 241 -2429 260 -2430 268 -2431 228 -2432 190 -2433 226 -2434 214 -2435 212 -2436 209 -2437 210 -2438 176 -2439 203 -2440 215 -2441 208 -2442 221 -2443 208 -2444 217 -2445 225 -2446 219 -2447 218 -2448 203 -2449 218 -2450 215 -2451 207 -2452 206 -2453 206 -2454 209 -2455 212 -2456 206 -2457 207 -2458 185 -2459 208 -2460 222 -2461 211 -2462 227 -2463 206 -2464 194 -2465 203 -2466 201 -2467 201 -2468 210 -2469 202 -2470 224 -2471 203 -2472 207 -2473 204 -2474 209 -2475 221 -2476 211 -2477 188 -2478 175 -2479 212 -2480 220 -2481 214 -2482 194 -2483 194 -2484 212 -2485 227 -2486 214 -2487 213 -2488 221 -2489 226 -2490 198 -2491 191 -2492 206 -2493 209 -2494 198 -2495 229 -2496 218 -2497 213 -2498 212 -2499 215 -2500 196 -2501 207 -2502 208 -2503 230 -2504 219 -2505 220 -2506 212 -2507 223 -2508 218 -2509 201 -2510 214 -2511 204 -2512 253 -2513 231 -2514 207 -2515 268 -2516 252 -2517 265 -2518 227 -2519 229 -2520 197 -2521 243 -2522 224 -2523 263 -2524 228 -2525 251 -2526 255 -2527 247 -2528 262 -2529 255 -2530 241 -2531 265 -2532 242 -2533 247 -2534 253 -2535 254 -2536 236 -2537 249 -2538 237 -2539 255 -2540 236 -2541 263 -2542 257 -2543 256 -2544 229 -2545 207 -2546 269 -2547 258 -2548 240 -2549 254 -2550 242 -2551 245 -2552 247 -2553 258 -2554 250 -2555 268 -2556 254 -2557 235 -2558 232 -2559 255 -2560 242 -2561 243 -2562 233 -2563 215 -2564 224 -2565 241 -2566 237 -2567 246 -2568 207 -2569 229 -2570 246 -2571 251 -2572 232 -2573 265 -2574 261 -2575 249 -2576 249 -2577 279 -2578 229 -2579 257 -2580 239 -2581 245 -2582 236 -2583 264 -2584 205 -2585 249 -2586 241 -2587 247 -2588 242 -2589 259 -2590 247 -2591 242 -2592 252 -2593 223 -2594 220 -2595 209 -2596 235 -2597 242 -2598 253 -2599 272 -2600 258 -2601 272 -2602 256 -2603 220 -2604 254 -2605 241 -2606 239 -2607 270 -2608 259 -2609 243 -2610 259 -2611 229 -2612 230 -2613 262 -2614 254 -2615 222 -2616 229 -2617 265 -2618 235 -2619 197 -2620 259 -2621 242 -2622 228 -2623 252 -2624 246 -2625 237 -2626 268 -2627 252 -2628 244 -2629 253 -2630 224 -2631 257 -2632 256 -2633 240 -2634 242 -2635 267 -2636 243 -2637 250 -2638 276 -2639 270 -2640 250 -2641 269 -2642 216 -2643 233 -2644 266 -2645 257 -2646 206 -2647 252 -2648 142 -2649 248 -2650 249 -2651 252 -2652 249 -2653 256 -2654 277 -2655 283 -2656 259 -2657 245 -2658 252 -2659 226 -2660 265 -2661 252 -2662 181 -2663 211 -2664 217 -2665 202 -2666 215 -2667 211 -2668 191 -2669 214 -2670 202 -2671 200 -2672 212 -2673 222 -2674 204 -2675 203 -2676 219 -2677 199 -2678 209 -2679 218 -2680 203 -2681 201 -2682 217 -2683 225 -2684 203 -2685 213 -2686 212 -2687 205 -2688 191 -2689 205 -2690 192 -2691 197 -2692 208 -2693 215 -2694 203 -2695 210 -2696 208 -2697 214 -2698 203 -2699 200 -2700 215 -2701 195 -2702 208 -2703 218 -2704 193 -2705 217 -2706 205 -2707 208 -2708 217 -2709 217 -2710 218 -2711 184 -2712 222 -2713 206 -2714 197 -2715 207 -2716 208 -2717 180 -2718 221 -2719 209 -2720 206 -2721 199 -2722 195 -2723 215 -2724 209 -2725 223 -2726 217 -2727 229 -2728 202 -2729 213 -2730 202 -2731 184 -2732 211 -2733 224 -2734 214 -2735 192 -2736 211 -2737 207 -2738 195 -2739 220 -2740 197 -2741 217 -2742 261 -2743 206 -2744 245 -2745 267 -2746 248 -2747 237 -2748 212 -2749 256 -2750 228 -2751 278 -2752 213 -2753 260 -2754 275 -2755 253 -2756 73 -2757 224 -2758 229 -2759 274 -2760 240 -2761 252 -2762 251 -2763 239 -2764 218 -2765 240 -2766 242 -2767 230 -2768 250 -2769 239 -2770 253 -2771 246 -2772 236 -2773 225 -2774 265 -2775 228 -2776 256 -2777 235 -2778 273 -2779 216 -2780 213 -2781 258 -2782 238 -2783 235 -2784 224 -2785 246 -2786 206 -2787 252 -2788 251 -2789 238 -2790 241 -2791 251 -2792 223 -2793 246 -2794 238 -2795 233 -2796 236 -2797 260 -2798 238 -2799 235 -2800 217 -2801 253 -2802 249 -2803 245 -2804 266 -2805 249 -2806 259 -2807 265 -2808 236 -2809 263 -2810 259 -2811 232 -2812 258 -2813 249 -2814 231 -2815 249 -2816 241 -2817 246 -2818 219 -2819 255 -2820 236 -2821 257 -2822 218 -2823 260 -2824 256 -2825 271 -2826 240 -2827 219 -2828 237 -2829 216 -2830 230 -2831 232 -2832 265 -2833 255 -2834 238 -2835 268 -2836 248 -2837 260 -2838 215 -2839 248 -2840 270 -2841 277 -2842 231 -2843 262 -2844 254 -2845 247 +1562 136 +1563 131 +1564 208 +1565 118 +1566 204 +1567 209 +1568 223 +1569 126 +1570 147 +1571 193 +1572 137 +1573 205 +1574 222 +1575 130 +1576 221 +1577 137 +1578 201 +1579 130 +1580 230 +1581 135 +1582 247 +1583 149 +1584 216 +1585 162 +1586 214 +1587 132 +1588 231 +1589 217 +1590 236 +1591 148 +1592 158 +1593 160 +1594 140 +1595 214 +1596 156 +1597 160 +1598 240 +1599 129 +1600 158 +1601 205 +1602 149 +1603 135 +1604 232 +1605 147 +1606 216 +1607 114 +1608 190 +1609 137 +1610 227 +1611 145 +1612 174 +1613 236 +1614 130 +1615 199 +1616 144 +1617 132 +1618 216 +1619 146 +1620 202 +1621 103 +1622 231 +1623 125 +1624 174 +1625 208 +1626 214 +1627 200 +1628 144 +1629 127 +1630 187 +1631 122 +1632 188 +1633 187 +1634 182 +1635 159 +1636 218 +1637 123 +1638 167 +1639 131 +1640 196 +1641 181 +1642 190 +1643 193 +1644 181 +1645 112 +1646 165 +1647 126 +1648 163 +1649 131 +1650 175 +1651 127 +1652 122 +1653 162 +1654 103 +1655 188 +1656 134 +1657 157 +1658 180 +1659 207 +1660 97 +1661 157 +1662 127 +1663 196 +1664 132 +1665 123 +1666 185 +1667 107 +1668 130 +1669 201 +1670 127 +1671 206 +1672 123 +1673 173 +1674 103 +1675 134 +1676 202 +1677 127 +1678 193 +1679 103 +1680 125 +1681 126 +1682 197 +1683 168 +1684 193 +1685 117 +1686 133 +1687 128 +1688 112 +1689 180 +1690 185 +1691 198 +1692 136 +1693 170 +1694 124 +1695 186 +1696 179 +1697 188 +1698 163 +1699 200 +1700 106 +1701 164 +1702 152 +1703 134 +1704 123 +1705 105 +1706 209 +1707 108 +1708 135 +1709 164 +1710 166 +1711 131 +1712 161 +1713 118 +1714 124 +1715 170 +1716 159 +1717 119 +1718 122 +1719 122 +1720 166 +1721 163 +1722 169 +1723 103 +1724 114 +1725 95 +1726 145 +1727 158 +1728 166 +1729 137 +1730 138 +1731 108 +1732 153 +1733 113 +1734 126 +1735 145 +1736 111 +1737 120 +1738 120 +1739 110 +1740 109 +1741 143 +1742 113 +1743 88 +1744 98 diff --git a/imgui.ini b/imgui.ini index f8f7b0d..1eaf1f3 100644 --- a/imgui.ini +++ b/imgui.ini @@ -7,7 +7,7 @@ Pos=1652,11 Size=259,200 [Window][Material] -Pos=1650,214 +Pos=1648,207 Size=266,285 [Window][Fog settings] @@ -15,6 +15,6 @@ Pos=1654,501 Size=247,157 [Window][Debug] -Pos=1650,665 -Size=260,294 +Pos=1651,676 +Size=260,143 diff --git a/scenes/test.rt b/scenes/test.rt index 614df5b..02fe112 100644 --- a/scenes/test.rt +++ b/scenes/test.rt @@ -1,6 +1,6 @@ -CAM -1 0 0 0 0 0 1 90 5 +CAM -1 40 40 0 -90 0 1 90 5 -MAT 255 255 255 0.0 1. 0.5 // white 0 +MAT 255 255 255 0.0 1. 1. // white 0 MAT 255 10 10 0.0 0.0 0.0 // red 1 MAT 30 30 30 0.0 0.0 0.0 // gray 2 @@ -13,13 +13,13 @@ MAT 255 255 255 5.0 0.0 0.0 // white light 6 MAT 255 255 255 0.0 0.0 0.0 TRN // glass 7 -# pl 0 0 -40 0 0 1 1 // back wall -# pl 0 0 40 0 0 -1 5 // front wall -# pl 40 0 0 -1 0 0 3 // right wall -# pl -40 0 0 1 0 0 2 // left wall -# pl 0 60 0 0 -1 0 4 // ceiling -# pl 0 -10 0 0 1 0 2 // floor +pl 0 0 -40 0 0 1 1 // back wall +pl 0 0 40 0 0 -1 5 // front wall +pl 40 0 0 -1 0 0 3 // right wall +pl -40 0 0 1 0 0 2 // left wall +pl 0 60 0 0 -1 0 4 // ceiling +pl 0 -10 0 0 1 0 2 // floor -# qu -20 59 -20 40 0 0 0 0 40 6 +qu -20 59 -20 40 0 0 0 0 40 6 -OBJ obj/Dragon_80K.obj +OBJ obj/Model.obj diff --git a/shaders/debug.glsl b/shaders/debug.glsl index bafb9d5..41665c5 100644 --- a/shaders/debug.glsl +++ b/shaders/debug.glsl @@ -135,28 +135,24 @@ int traceRay(Ray ray) hitInfo traceBVH(Ray ray, inout Stats stats) { hitInfo hit; + hitInfo hit_bvh; hit.t = 1e30; hit.obj_index = -1; - const int MAX_STACK_SIZE = 64; - int stack[MAX_STACK_SIZE]; + int stack[64]; int stack_ptr = 0; - stack[0] = 0; - vec3 inv_dir = 1.0 / ray.direction; - while (stack_ptr >= 0) { int current_index = stack[stack_ptr--]; GPUBvh node = bvh[current_index]; - - if (intersectRayBVH(ray, node)) - { - stats.box_count++; + stats.box_count++; + if (intersectRayBVH(ray, node, hit_bvh) && hit_bvh.t < hit.t) + { if (node.is_leaf != 0) { for (int i = 0; i < node.primitive_count; i++) @@ -173,13 +169,35 @@ hitInfo traceBVH(Ray ray, inout Stats stats) stats.triangle_count++; } } - - if (node.is_leaf == 0 && stack_ptr < MAX_STACK_SIZE - 2) + else { - stack_ptr++; - stack[stack_ptr] = node.left_index; - stack_ptr++; - stack[stack_ptr] = node.right_index; + // GPUBvh left_node = bvh[node.left_index]; + // GPUBvh right_node = bvh[node.right_index]; + + // hitInfo left_hit; + // hitInfo right_hit; + + // left_hit.t = 1e30; + // right_hit.t = 1e30; + + // stats.box_count += 2; + + // intersectRayBVH(ray, left_node, left_hit); + // intersectRayBVH(ray, right_node, right_hit); + + // if (left_hit.t > right_hit.t) + // { + // if (left_hit.t < hit.t) stack[++stack_ptr] = node.left_index; + // if (right_hit.t < hit.t) stack[++stack_ptr] = node.right_index; + // } + // else + // { + // if (right_hit.t < hit.t) stack[++stack_ptr] = node.right_index; + // if (left_hit.t < hit.t) stack[++stack_ptr] = node.left_index; + // } + + stack[++stack_ptr] = node.left_index; + stack[++stack_ptr] = node.right_index; } } } diff --git a/shaders/intersect.glsl b/shaders/intersect.glsl index 96ce565..14a919d 100644 --- a/shaders/intersect.glsl +++ b/shaders/intersect.glsl @@ -225,7 +225,7 @@ bool intersect(Ray ray, GPUObject obj, out hitInfo hit) } -bool intersectRayBVH(Ray ray, GPUBvh node) +bool intersectRayBVH(Ray ray, GPUBvh node, inout hitInfo hit) { vec3 invDir = 1.0 / ray.direction; @@ -235,10 +235,10 @@ bool intersectRayBVH(Ray ray, GPUBvh node) vec3 tMin = min(t1, t2); vec3 tMax = max(t1, t2); - float tEnter = max(max(tMin.x, tMin.y), tMin.z); - float tExit = min(min(tMax.x, tMax.y), tMax.z); + hit.t = max(max(tMin.x, tMin.y), tMin.z); + hit.last_t = min(min(tMax.x, tMax.y), tMax.z); - return tEnter <= tExit && tExit >= 0.0; + return hit.t <= hit.last_t && hit.last_t >= 0.0; } diff --git a/shaders/trace.glsl b/shaders/trace.glsl index 5e27c33..8fa00a0 100644 --- a/shaders/trace.glsl +++ b/shaders/trace.glsl @@ -66,10 +66,8 @@ hitInfo traceBVH(Ray ray) hit.t = 1e30; hit.obj_index = -1; - const int MAX_STACK_SIZE = 64; - int stack[MAX_STACK_SIZE]; + int stack[64]; int stack_ptr = 0; - stack[0] = 0; while (stack_ptr >= 0) @@ -78,7 +76,8 @@ hitInfo traceBVH(Ray ray) GPUBvh node = bvh[current_index]; - if (intersectRayBVH(ray, node)) + hitInfo temp_hit; + if (intersectRayBVH(ray, node, temp_hit) && temp_hit.t < hit.t) { if (node.is_leaf != 0) { @@ -98,13 +97,10 @@ hitInfo traceBVH(Ray ray) } } } - - if (node.is_leaf == 0 && stack_ptr < MAX_STACK_SIZE - 2) + else { - stack_ptr++; - stack[stack_ptr] = node.left_index; - stack_ptr++; - stack[stack_ptr] = node.right_index; + stack[++stack_ptr] = node.left_index; + stack[++stack_ptr] = node.right_index; } } } diff --git a/srcs/RT.cpp b/srcs/RT.cpp index 39855fe..386fe47 100644 --- a/srcs/RT.cpp +++ b/srcs/RT.cpp @@ -20,8 +20,8 @@ int main(int argc, char **argv) return (1); Window window(&scene, WIDTH, HEIGHT, "RT_GPU", 0); - // Shader shader("shaders/vertex.vert", "shaders/frag.frag", "shaders/compute.glsl"); - Shader shader("shaders/vertex.vert", "shaders/frag.frag", "shaders/debug.glsl"); + Shader shader("shaders/vertex.vert", "shaders/frag.frag", "shaders/compute.glsl"); + // Shader shader("shaders/vertex.vert", "shaders/frag.frag", "shaders/debug.glsl"); GLint max_gpu_size; glGetIntegerv(GL_MAX_SHADER_STORAGE_BLOCK_SIZE, &max_gpu_size); @@ -122,13 +122,22 @@ int main(int argc, char **argv) Camera *camera = scene.getCamera(); // performance profiling - if (true && window.getFps() < 2000) + if (false) { float time = (float)(glfwGetTime()) ; recorded_fps.push_back((int)window.getFps()); - camera->setPosition(glm::vec3(cos((time + 6.28) * 0.5), 0., sin((time + 6.28) * 0.5))); + float y_offset = 30; + float dist_to_obj = 60; + float speed = 0.5; + + camera->setPosition(glm::vec3( + cos((time + 6.28) * speed) * dist_to_obj, + y_offset, + sin((time + 6.28) * speed) * dist_to_obj + )); + glm::vec3 direction = glm::normalize(camera->getPosition()); float yaw = glm::degrees(atan2(direction.z, direction.x)); diff --git a/srcs/class/Shader.cpp b/srcs/class/Shader.cpp index d06e680..abc338d 100644 --- a/srcs/class/Shader.cpp +++ b/srcs/class/Shader.cpp @@ -67,7 +67,7 @@ Shader::Shader(std::string vertexPath, std::string fragmentPath, std::string com const char *fragmentCode = loadFileWithIncludes(fragmentPath); const char *computeCode = loadFileWithIncludes(computePath); - // printWithLineNumbers(computeCode); + printWithLineNumbers(computeCode); _vertex = glCreateShader(GL_VERTEX_SHADER);