Skip to content

Conversation

naren-ponder
Copy link
Collaborator

@naren-ponder naren-ponder commented May 26, 2022

Signed-off-by: Naren Krishna naren@ponder.io

What do these changes do?

Add RSS Memory Profiling at LogMemoryInterval interval to Modin logging. This helps with out-of-core measurements.

  • commit message follows format outlined here
  • passes flake8 modin/ asv_bench/benchmarks scripts/doc_checker.py
  • passes black --check modin/ asv_bench/benchmarks scripts/doc_checker.py
  • signed commit with git commit -s
  • Resolves Add RSS Memory to Modin Logging #4501?
  • tests added and passing
  • module layout described at docs/development/architecture.rst is up-to-date
  • added (Issue Number: PR title (PR Number)) and github username to release notes for next major release

Signed-off-by: Naren Krishna <naren@ponder.io>
@naren-ponder naren-ponder requested a review from a team as a code owner May 26, 2022 18:48
Signed-off-by: Naren Krishna <naren@ponder.io>
Signed-off-by: Naren Krishna <naren@ponder.io>
mvashishtha
mvashishtha previously approved these changes May 26, 2022
Copy link
Collaborator

@mvashishtha mvashishtha left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with one fix.

@codecov
Copy link

codecov bot commented May 26, 2022

Codecov Report

Merging #4502 (a96bb27) into master (49fc2cf) will increase coverage by 2.73%.
The diff coverage is 56.25%.

@@            Coverage Diff             @@
##           master    #4502      +/-   ##
==========================================
+ Coverage   86.64%   89.37%   +2.73%     
==========================================
  Files         226      229       +3     
  Lines       18298    21229    +2931     
==========================================
+ Hits        15854    18974    +3120     
+ Misses       2444     2255     -189     
Impacted Files Coverage Δ
modin/logging/config.py 30.26% <40.00%> (+0.41%) ⬆️
modin/config/envvars.py 86.63% <63.63%> (+2.34%) ⬆️
modin/core/storage_formats/base/query_compiler.py 87.02% <0.00%> (-12.20%) ⬇️
...ns/pandas_on_ray/partitioning/virtual_partition.py 78.57% <0.00%> (-11.23%) ⬇️
modin/core/dataframe/pandas/dataframe/dataframe.py 94.68% <0.00%> (-0.39%) ⬇️
...entations/pandas_on_dask/partitioning/partition.py 91.46% <0.00%> (ø)
modin/experimental/batch/pipeline.py 100.00% <0.00%> (ø)
modin/experimental/batch/__init__.py 100.00% <0.00%> (ø)
modin/experimental/batch/test/test_pipeline.py 100.00% <0.00%> (ø)
... and 20 more

📣 Codecov can now indicate which changes are the most critical in Pull Requests. Learn more

@modin-bot
Copy link

modin-bot commented May 26, 2022

TeamCity Python test results bot

Tests PASSed

Tests Logs
3%]
ssssssxxxx.xssss.xssss.xxxxxxxx.xxssss.xssss.xx.xxxxx.xxxx.xxxxxxxxxxxxx [ 93%]
xxssss.xxxxxxx.xxssss.xxxxsssss.sss.xssss.x..x.xxxxxssss.xxxxxxxxxx.xsss [ 93%]
xssssssssssssx.xxxxx.xx.xxx.xxx..xssss.xxx.xxxxxxssss.xxxxxxxx.xssss.xss [ 93%]
ss.xxxxxxxxxx.xxxx.xx.xxssss.xssss.xxxxxxx.ssss.xxssss..xxxxxxxssss.ssss [ 93%]
.xxxxxxxs..x.ssss.xxxxsssssssssssssssssssssssssssssss.xx.xx.xxxxx.xsssss [ 93%]
ssssss.ssss.xxx.xx.xxssss.ssss.ssss.ssss.xxxssss.xx.xxssss.xssss.x.ssss. [ 93%]
.xx.ssss..ssss..x.xxxssss.xxx.x.xx.x..xxxxxx.xxxxssss...ssssssssssssssss. [ 94%]
sssssssssss.sxx.xxxxssss..x..xxxxxxssss.x.xxxxx.xx.xxxxssss.xxxxxxxssss. [ 94%]
xxxxxxssss.s.x.x.xx.sss.x.x.xxx.ssss.x.xxxxx.x.x.xxssssssssssssssssssxxx [ 94%]
xx..ssss.x.xxx.xxxxx..xx..xx.xx.xxx.x.xxxxx.x.xssss.xssss...ssssssssssss [ 94%]
ssssssss.ssxs.s.sxsxxx..xxxx.xx.xx..x.ss.xxx.sss..xx.x.xxx.sssssssssssss [ 94%]
sss.s...x.xssss.xxx.x.....sss.sssss.xxxx..ssxssssssssssss.s...xx....xx.x [ 94%]
..x...xssss..xx.x.x..xx.ss.x.x.xx....x..x.xssssx....x.xxssss...xx..x.x.. [ 94%]
xx.x...xx.s.sss..ssss..x.ssss......ssss......xxssss.x...x..............x [ 95%]
...ssss.x.xx.x.....x.....xssss.ssss..x..........sss......x....x....xsss. [ 95%]
.x........x...xxx....xx....x..x.........x.x...ssss....xx..x....x.....sss [ 95%]
.........ssss............x.......x...x.....x.x......x.....xx..........x. [ 95%]
.x.....xx...................x..x..........xx....x....................... [ 95%]
..x.....xssss.........x..xx.....x..............x........x.............x. [ 95%]
.....x.....x.......s..........................ssss...................... [ 95%]
..x.....x..........x.................................x.................. [ 96%]
.s.........................xx....x...................................... [ 96%]
...........sss...x.............x........................................ [ 96%]
...................ss.s................................................. [ 96%]
.....................................x......x........................... [ 96%]
...........x........x.................x................................. [ 96%]
....xx.................................................................. [ 96%]
........................................................................ [ 97%]
........................................................................ [ 97%]
........................................................................ [ 97%]
........................................................................ [ 97%]
........................................................................ [ 97%]
........................................................................ [ 97%]
........................................................................ [ 98%]
........................................................................ [ 98%]
........................................................................ [ 98%]
................................x....................................... [ 98%]
....ss..s..s.s.s..............ssss.ss..................sssssss.sss.ss.ss [ 98%]
ss.sssssssss.sssssssssssss........s.................ssss.x.x..sss....... [ 98%]
..........s.....xx..................x..........................x........ [ 98%]
...............x......s..s..................s..............s.xs...s..... [ 99%]
......ssss.................sss.ssss..s.......x...........s...ss.s.s.ss.s [ 99%]
.sx......sssss.s...s.s...s...ss...........s..........s.x............sx.. [ 99%]
....ss....s....ssss.....x......s....x.ss..s.......ss...s.ssss...ss...... [ 99%]
.sss.sss.sss..s.............s.........................ss.s.ss.s......... [ 99%]
....s.s..........x....s.x.......................s....................... [ 99%]
......s.............s................................................... [ 99%]
.............sssssssssssssss..........................                   [100%]error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
fatal: bad object HEAD


---------- coverage: platform linux, python 3.8.13-final-0 -----------
Coverage XML written to file coverage.xml

= 8861 passed, 37801 skipped, 2917 xfailed, 30840 warnings in 177.16s (0:02:57) =
PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.
Tests are successful
============================= test session starts ==============================
platform linux -- Python 3.8.13, pytest-7.1.2, pluggy-1.0.0
benchmark: 3.4.1 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
rootdir: /modin, configfile: setup.cfg
plugins: benchmark-3.4.1, cov-2.11.0, forked-1.4.0, xdist-2.5.0
collected 2464 items

modin/pandas/test/test_io.py ........................................... [  1%]
........................................................................ [  4%]
.............................................ssssssssssssssssssss.ss.ss. [  7%]
ss.ss.ss.ss.ss.ss.ss.ss.ss.ssssssssssssssssssss.ss.ss.ss.ss.ss.ss.ss.ss. [ 10%]
ss.ss.ss.ssssssssssssssssssss.ss.ss.ss.ss.ss.ss.ss.ss.ss.ss.ss.sssssssss [ 13%]
sssssssssss.ss.ss.ss.ss.ss.ss.ss.ss.ss.ss.ss.ssssssssssssssssssss.ss.ss. [ 16%]
ss.ss.ss.ss.ss.ss.ss.ss.ss.ssssssssssssssssssss.ss.ss.ss.ss.ss.ss.ss.ss. [ 19%]
ss.ss.ss.ssssssssssssssssssss.ss.ss.ss.ss.ss.ss.ss.ss.ss.ss.ss.sssssssss [ 22%]
sssssssssss.ss.ss.ss.ss.ss.ss.ss.ss.ss.ss.ss............................ [ 25%]
........................................................................ [ 28%]
........................................................................ [ 30%]
........................................................................ [ 33%]
........................................................................ [ 36%]
........................................................................ [ 39%]
........................................................................ [ 42%]
........................................................................ [ 45%]
........................................................................ [ 48%]
.................................s...................................... [ 51%]
........................................................................ [ 54%]
........................................................................ [ 57%]
........................................................................ [ 60%]
........................................................................ [ 63%]
........................................................................ [ 66%]
........................................................................ [ 68%]
........................................................................ [ 71%]
........................................................................ [ 74%]
........................................................................ [ 77%]
........................................................................ [ 80%]
................................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [ 83%]
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [ 86%]
xxxxxxxx................................................................ [ 89%]
........................................................................ [ 92%]
........................................................................ [ 95%]
.............................................................X.......ss. [ 98%]
...x....................xx.........ss........                            [100%]

---------- coverage: platform linux, python 3.8.13-final-0 -----------
Coverage XML written to file coverage.xml


= 1999 passed, 341 skipped, 123 xfailed, 1 xpassed, 3914 warnings in 135.52s (0:02:15) =
============================= test session starts ==============================
platform linux -- Python 3.8.13, pytest-7.1.2, pluggy-1.0.0
benchmark: 3.4.1 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
rootdir: /modin, configfile: setup.cfg
plugins: benchmark-3.4.1, cov-2.11.0, forked-1.4.0, xdist-2.5.0
gw0 I / gw1 I / gw2 I / gw3 I / gw4 I / gw5 I / gw6 I / gw7 I / gw8 I / gw9 I / gw10 I / gw11 I / gw12 I / gw13 I / gw14 I / gw15 I / gw16 I / gw17 I / gw18 I / gw19 I / gw20 I / gw21 I / gw22 I / gw23 I / gw24 I / gw25 I / gw26 I / gw27 I / gw28 I / gw29 I / gw30 I / gw31 I / gw32 I / gw33 I / gw34 I / gw35 I / gw36 I / gw37 I / gw38 I / gw39 I / gw40 I / gw41 I / gw42 I / gw43 I / gw44 I / gw45 I / gw46 I / gw47 I
gw0 [49579] / gw1 [49579] / gw2 [49579] / gw3 [49579] / gw4 [49579] / gw5 [49579] / gw6 [49579] / gw7 [49579] / gw8 [49579] / gw9 [49579] / gw10 [49579] / gw11 [49579] / gw12 [49579] / gw13 [49579] / gw14 [49579] / gw15 [49579] / gw16 [49579] / gw17 [49579] / gw18 [49579] / gw19 [49579] / gw20 [49579] / gw21 [49579] / gw22 [49579] / gw23 [49579] / gw24 [49579] / gw25 [49579] / gw26 [49579] / gw27 [49579] / gw28 [49579] / gw29 [49579] / gw30 [49579] / gw31 [49579] / gw32 [49579] / gw33 [49579] / gw34 [49579] / gw35 [49579] / gw36 [49579] / gw37 [49579] / gw38 [49579] / gw39 [49579] / gw40 [49579] / gw41 [49579] / gw42 [49579] / gw43 [49579] / gw44 [49579] / gw45 [49579] / gw46 [49579] / gw47 [49579]

........................................................................ [  0%]
........................................................................ [  0%]
........................................................................ [  0%]
........................................................................ [  0%]
............x........................................................... [  0%]
........................................................................ [  0%]
........................................................................ [  1%]
........................................................................ [  1%]
........................................................................ [  1%]
.......................x................................................ [  1%]
.............................................x.......................... [  1%]
........................................................................ [  1%]
........................................................................ [  1%]
...............................x........................................ [  2%]
........................................................................ [  2%]
............................................................x........... [  2%]
........................................................................ [  2%]
........................................................................ [  2%]
........................................................................ [  2%]
........................................................................ [  2%]
........................................................................ [  3%]
........................................................................ [  3%]
........................................................................ [  3%]
........................................................................ [  3%]
........................................................................ [  3%]
........................................................................ [  3%]
........................................................................ [  3%]
........................................................................ [  4%]
........................................................................ [  4%]
........................................................................ [  4%]
........................................................................ [  4%]
........................................................................ [  4%]
........................................................................ [  4%]
........................................................................ [  4%]
..............................x......................................... [  5%]
........................................................................ [  5%]
..............................................x......................... [  5%]
........................................................................ [  5%]
..........................................x............................. [  5%]
........................................................................ [  5%]
........................................................................ [  5%]
........................................................................ [  6%]
........................................................................ [  6%]
........................................................................ [  6%]
..........................x............................................. [  6%]
................................x....................................... [  6%]
....................sssssssssssssssssssssssssssssssssssssss.s.ssssss.s.s [  6%]
.ss.ss..ss.s.s.ss.ss.s..sssssssssssssssssssssssssss..s.sss.s.s.s.xss..s. [  6%]
..s.ss.s...ss..s.ss.s.s.s.ssssssssssssssssssssssssssssssssssssssssssssss [  7%]
sssss.s.ssssssssssss.ss.ssssssssssssssssssssssssssssssssssssssssssssssss [  7%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [  7%]
.s.ss.s..ss..sss.ss.ssssssssssssssssssssssssssssssssssssssssssssssss.sss [  7%]
sss.ssssssssssssssssssssss.ssssssssssssssssssssssssssss.sssssss.sss..ss. [  7%]
ss.s.sss.ss..ssss.ssss.....sssss........................................ [  7%]
................ssssssssssssssssssssssssssss.ssss..ss.s.s..s.s.s.s...s.s [  7%]
s.s....ss.sss..s.s.s.sx.ss.ss.ss.ssssssssssssss.ssssssssssssssssssssssss [  8%]
ssssssssssssssssss.sssssssssss.ssssssssssssssssssssssssssss.sss..ss..sss [  8%]
.s.ss.s.ss..ss.sss.s.sss.s.......................s.......sssssssssssssss [  8%]
ssssssssssssss..ssssss.ssssssss.ss..s.ss..ssss..ssssssssssssssssssssssss [  8%]
ssssssssssssssssssssssssssss.s.ss.ssssssssssss.sssss.sssssssssssssssssss [  8%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [  8%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [  8%]
ssssssssssssssssssssssssss.sssssssssssssssssssssssssssssssssssssssssssss [  9%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [  9%]
ssssss.sssssssssssssssssssssssssssssssss.sssssssssssssss.ssssss.ssssssss [  9%]
sssssssssssssssssssssssssssssssssssssssss.ssss.sssssssssssss.sssssssssss [  9%]
sss.sss..sss.ssss..ss.sss.ss.ss..sss.s.ss.ss.s.ss.ssss.s..sss.ss..sss.s. [  9%]
ss.s.s.sss.ssss..ss.ss.ss.s.ss.sssss.s.sss.ss.sssss.sssss.ss.ss.ss.ss.ss. [  9%]
s.ssssssss.sss.ssss.ss..sssssssssssssssssssssssssssssssssssssssssssssssss [ 10%]
ssssssssssssssssssssssssssssssssssssssss.sssssssssss..sss.sss.sssssssssss [ 10%]
ssssssssssssss.sssssssssssssssssssssssssssssssssssssssssssssss.sss..s.ss [ 10%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 10%]
ssssssss.ssssssssss.s.ss..sss.ssssssssssssssssssssssssssssssssssss.sssss [ 10%]
sssssssssssssssssssssssssssssss.ssssss.s.sssssssssss..ss..ssss.sss.s.ss. [ 10%]
ss..sss..ssss.ss.ss.ss.ss.ss.sss.ss..sss.sssssss.ssssssssssssssssssss.ss [ 10%]
sssssss.ssssssssss.ssssssssssssssssssssss.sssssssssssssssss.ss.sssssssss [ 11%]
sssssssssssssssssss.sssssssssssssssssss.ssssssssssssssssssssssssssssssss [ 11%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 11%]
ssssssssssssssssssssssssssssssssssss.sssssssssssssssssssssssssssssssssss [ 11%]
sssssssssssssssss.s.s.sss.sssss.sssssss.ss.sss.s.ss.s.ssss..ss..ssss..ss [ 11%]
s.ss..ssss.ss.sss.sss.s.sssssss.sssss.ssss.s..s.ss.s.ssssss..sss.s.sssss [ 11%]
sssssssssssssssssssssssssssssssssssssss.sssssssssssssss.ssssssssssssssss [ 11%]
sssssssssssssssssssssssssssss.sssssssss.sssssssss..ssssssssssssss.ssssss [ 12%]
ssssssssss.ssssss.sssssssssssssss.ssssssss..sssssssssssssssssssssss.ss.s [ 12%]
ssssss.sss.sssssssssssssssssssss.ssssssssssssssss.ssssssssssssssssss.sss [ 12%]
ssssssssssssss.sssssssss.sssssssssssssssssss.ssssssssss.sss..sssssss.sss [ 12%]
sssssssssssssssssssss.ssssssssssssssssssssssss.sssssssssss.sssssssssss.s [ 12%]
sssssssssssss.ssssssssssssssssssssssssssssss.ssssssssssssss.ssssssssss.s [ 12%]
ssssssssss.sssssssssssssssssssssssssssssssss.sssssssssssssssssssssss.sss [ 12%]
ssssssssssssss.ssssssssssssss.sssssssssssssssssssssss.sssss.ssssssssssss [ 13%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 13%]
sss.sssssssssssssssssssssss.sssssssssss.ssssssss..ssssssssssssssssssss.s [ 13%]
ssssssssssssssssss.sssss..sssss.ssss.sssssssssssssssssssssssssssssssssss [ 13%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 13%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 13%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 13%]
sssssssssssssssssssssssssssssssssssss.sssssssssssssssssss.ssssssssssssss [ 14%]
ssssssssssssssss.ssssssssss.ssssssssssssss..sssssssssssss.ssssssssssssss [ 14%]
sssssssssss..ssssssssssssssssss.sssssss.ssss.sssssssssssssssssssss.sssss [ 14%]
sssssssssssssssss.sssssss..sssssssssss.sssssss.sssssssssssssssss.sssssss. [ 14%]
sssssssssss..ssssssssssss.sssssssssss.sssssssssssss..sssssssssssssss.sss [ 14%]
ssssssssssssssssss..sss.ssssssssssssss..ss.ssssss.sssss.sss..sssssssssss [ 14%]
ssssssssssssssss.s.ssssssssssssssss.ssssssssssssssssss.sssssssssssssssss [ 14%]
s.ssssssssssss.ssssssssssssssssssssss.ss.ssssssssss.sssssssss.sssssss.ss [ 15%]
sssssssssssssssssssss.s.ssssssssssssssss..ss.sssssssss..ssssssssssssssss [ 15%]
ssssssssssssssss.ssssssssssss.ssssss.sssssssssss.sssss.sssssssssssssssss [ 15%]
s.sssssssss.ssssss.sssssssssssssssssssssssss.ssssssssss.sss.ss.sssssssss [ 15%]
ssssssssssssssssss.sssssssssss.ssssssssssss.ssssssssssss.sssssssssssssss [ 15%]
ssssssssssssssssssssss.sssssssssssssssssssssssssssssssssssssssssssssssss [ 15%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 15%]
sssssssssssssssssssssssssssssssssssssssss.ssssssssssssssssssssss.sssssss [ 16%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 16%]
ssssssssssssssss.sssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 16%]
ssssssssssssssssssssss.sssssssssssssssssssssssssssssssssssssssssssssssss. [ 16%]
.sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 16%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 16%]
sssssssssssssssssss.sssssssssssssssssssssssssssssssssssssssssssssssssssss [ 16%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 17%]
ssssssssssssssssssssssssssssssssssssssssssssssssssss.sssssssssssssssssss [ 17%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 17%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 17%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 17%]
sssssssssssssssss.sssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 17%]
ss.ssssssssssssssss.ssssssssss.sss.ssssss.ssssss.sssssssssss..ssssssssss [ 18%]
sssssssss.sssssssssssssss..sssssssssssssssssssssss.sssssss.sssssssssssss [ 18%]
ssssss.sssssssssssssssssssssssssssssssssssssssssssssss.sssssssss.sssssss [ 18%]
ssssssssssss.ssssssssssssss.sssssssssssss.sssssssssss.sss.ssssssss.sssss [ 18%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 18%]
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.ssssss [ 18%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 18%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 19%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 19%]
ssssssssssss.sssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 19%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 19%]
sssssssssssssssssssssssssssssss.ssssssssssssssssssssssssssssssssssssssss [ 19%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 19%]
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.ssssssss [ 19%]
sssssssss.ssssssssss.sssssssssssssssssssssssssssssssssss.sssssssssssssss [ 20%]
sssssssssssssssssssssssssssssssssssssssssssss.ssssssssssssssssssssssssss [ 20%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.sssssssssssss [ 20%]
ssssssssssssssssss..ssssssssssssssssssssssssssssssssssssssssssssssssssss [ 20%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 20%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 20%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 20%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 21%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 21%]
sssssssssssssssssssssssssssssssssssssssssssssssssssssssss.ssssssssssssss [ 21%]
sssssssssssssssssssssssssssssssssssssss.ssssssssssssssssssssssssssssssss [ 21%]
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss..sssssss [ 21%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 21%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 21%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 22%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 22%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 22%]
ssssssssssssssssssssssssssssssss.ss.ssssssssssssssssssssssssssssssssssss [ 22%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 22%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 22%]
ssssssss.sssssssssssssssssssssssssssssssssssss.sssssssssssssssssssssssss [ 22%]
sssss.sss.ss...sss.ss.ss.ss.ss.sssssssssssssssssssssssssssssssss.sssssss [ 23%]
sssssss.sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss. [ 23%]
ss.ss...sssssss.ssssss.ss.ss.s.s.s.ssssss.s....s....ssssssssssssssssssss [ 23%]
ssssssss.s.ssssssssss.sss..s.sssss.sssssss.s.s.s.ss.ss.ssss.ss.ss.s.ss.s [ 23%]
.ss.s.ss.ss.s.ss.s.ssss.sss.ss.ss.s.s.s.ss.s.s..s....s.s..sss.ssssssssss [ 23%]
ssssssss......s.s.s...sssss....s.............ssssssssssssssssssssss...s. [ 23%]
....s..s..s.....s...sssss......s..s.ssssssssssssssssssssssssssssssssss.s [ 23%]
sss.sss.ssss.s.ss.s.ss.sss.s.ss.s..ss.ss.s.ss.ss..sss.s.s.sss.s.s.s.s.ss [ 24%]
.ss.ss.s.ss.sss.s.s.s..ss.s.sssssssssssssssssssssssssssssssssssss.ss..ss [ 24%]
s.ss.s.ss.s.sss.s.sss.ss.sssssssss.sssssssssssss.ssssssssss.ss.sssssssss [ 24%]
ssssssssssssssssssssssssss.ssssss.ssssssss..sssssssss.ssss.ss.s.ssssssss [ 24%]
sssssssssssssssssssssssssssssssssss.sssssssssssss.ssssssssssssssssssssss [ 24%]
sss.sssssssss.ssssssssssss.sssssssss..ssssssssssssssssss.sssssss.sss.sss [ 24%]
sssssssssssss.s.sssssssssss.ssssssssss.sssssssssssssssssssssssssssssssss [ 24%]
ss.sssss.ssssssss..sss.ssssss.s..sssssssssssssssssssssssssssssssssssssss [ 25%]
ss.ssssssssssssssssssss.sssssssss.ssssssssss..ss.s.s.ss.sss.ss.s.ss.s.ss [ 25%]
..s..ssss.ss.s.ss.s.sss.ss.s.s..ssss...sssssssssssssssssssssssssssssssss [ 25%]
ssssssssssssssssssssssssssssssssssss.ssssss.sss.ss.ss.ss.ss.s.ss.ss.s.ss [ 25%]
s.ss..ss.sssss.sssssssssssssssssssssssssssssssssssssssssssss.sss.ss..s.s [ 25%]
.ssss.s.s.sss.s.ss.s.s..sss.s.sssssssssssssssssssssssssss.ssssssssssssss [ 25%]
sssssssssssssss.sssssssss.ssss.sssssssssssssssssssssssssssssssssssssssss [ 26%]
sssss.s.ssss.ssssssss.ssssssssss.s.ssssss.sssssssssssssssssss.ssssssssss [ 26%]
sss.sssss.sssssssss.s.sssss.sssssssss.ss.ssssssssss.ssssssssssssssssssss [ 26%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 26%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.sssssss [ 26%]
sssssssss.ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 26%]
sssssssss.ssssssssssssssssssssssssssssssssssssssssss.sssssssssssssssssss [ 26%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 27%]
sssssssssssssssssssssssssssssssss.ssssssssssssssssssssssssssssssssssssss [ 27%]
sssssssssssss.ssssssssssssssssssssssssssssssssssssssssssssssssssssssssss. [ 27%]
sssssssssssssssssssssssssssssssss.ssssssssssssssssssssssssssssssssssssss [ 27%]
sssssssssssssssssssssss.ssssssssssssssssssssssssssssssssssssssssssssssss [ 27%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.s [ 27%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 27%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 28%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 28%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 28%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 28%]
ssssssssssssssssssssssssssss.sssssssssssssssssssssssssssssssssssssssssss [ 28%]
ssssssssssssssssssssssssssssss.sssssssssssssssssssssssssssssssssssssssss [ 28%]
sssssssssssssssssssssssssssssssssssssssssssssssssssss.ssssssssssssssssss [ 28%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 29%]
sssssssssssssssssssssssssssssssssssssssssssssssssss..sssssssssssssssssss [ 29%]
sssssssssssssssssssssssssssssssssssssss.ssssssssssssssssssssssssssssssss [ 29%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 29%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 29%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 29%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 29%]
ssssssssssssssssssssssssssssssssssssss..ssssssssssssssssssssssssssssssss [ 30%]
ssssssssssssssssssssssss.sssss..ssssssssssssssssss.sssssssssssssssssssss [ 30%]
ssssssssssssssss..sssss..s.....sssssssssss..s......s.s.s.............ss. [ 30%]
ss.ss.s.s.....s...s.sssssssssssss.sssssssssssssssssssssssss.ssss.ssss.ss. [ 30%]
.sss..ss.ss.ss.ss..s..sssss.ss.ssssssssssssssssssssssssssssssss.ssssssss [ 30%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 30%]
ssssssssss.sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 30%]
ssssssssssssssssssssssssssssssssssssssssssssssss.s.sssss..sssss.sssss... [ 31%]
...s.s.s...x.....xs.s..sssssssssssssssssssssssssssssss.sssss.ss..ss...sss [ 31%]
.sssss.ss.sssssssssssssssssssssssssssssssss.s..sssssssssssssssssssssssss [ 31%]
sssssss.ss.sssss.ss..sss.ss.sss.sss.ss.ssxs.s..ssss.s.s.s.ss.ss.ss..ssss [ 31%]
s.s.ssxss..sssss.s.ss.sss.s..ssss.s.xsssss.s.s.ss..sssssssssssssssssssss [ 31%]
ssssssssssss.s.sss.sss..s.ss.ss.ssss.ss.ss.ss..ss.sss.ssssssssssssssssss [ 31%]
ssssss.sssssxsssssssssssssssss.sssss.sss..ss.s.ssssssssssss.ssssssssssss [ 31%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.sssssss [ 32%]
ssssssssssssssssss.ssssssssssss.sssssssss..ssxs.sss.ss.s.xs.ss.sss.ss... [ 32%]
s....sx..x..x............x..ss...ss......s..ss.xs..ss.ss.s.ssss...ssxxs. [ 32%]
x.s.ss..sssxs.sss....s..ss.ss.....s..sxs...s..ss...s...sxxxs..ssssss..xs [ 32%]
s.s.ss.ss.s.ss.ss.s.sx.ss.ssss.sss.ssss..xx...x.s.s.ss.....s.xs.ss..sssss [ 32%]
sss...s..s..sssss.ss.s.ss.ss.s.sssxxss.ssxs...s..ss.sss.ssssss.ss.ss..ss [ 32%]
..sssss.s..s.ss.ssss....s.s.s.sss..x..sssssssssss.ssssssssssssssssss.s.s [ 32%]
.sss.ss..ss..ssss.ssssss.s..s.ss..sss..sss.ssssssss..ss.sss.ss...s.s..s.s [ 33%]
.ss.ssssssss.ss.sssssssssss.sss.sss.ssss.s.s.ssss...s..s...s.s..s.ss..s.s [ 33%]
sssssssss.s..sss.sxs.s.s.sssss.sss.ssss.s..ss.s.....ss..ssssxsssssssss.ss. [ 33%]
ss.s..s...s..xss.s..s..sss.s..s.s.xsxs..s.sssss.sxsss.ssssss.sss.s.ss.s. [ 33%]
s.sxss..sss.sssss.ss.sssxsx.x..s.ssss..ss.xss.sss..sss.sssss.s.ssssssxs.s [ 33%]
ssss.ss.ssssss.ssssxsxssxs.ssssss.ssss.s.xsssssss.sssssssss.ss.s.ssxs.ssss [ 33%]
sssssssss.ss.ssx.xssxs..ssssss.sxssssssssssssss..ssss.sssss.sssssssssss. [ 33%]
sxssssssss.s.xssssxsx.ss.sssssxs.s.sssssssss.ss.ss.s.ssssss...ss.ssss.s. [ 34%]
s.ssssssssssssxsxsssxssssssss.sss..s.ssss.ssssss..sssss.ss.sss.sssssssss [ 34%]
ssss.sssssssssss.ssss.s.sss.ss..s.sssss.ssss.s.sssss.ssssssssssssssssssss [ 34%]
sssss.sssss..s.ss.s.sxsss.ssssss.ssssss.sssssssss.sssssssss.sss.ssssssss [ 34%]
s.sss.ss.sssssss.ss.s.sssss.sssssssss.sssssss.ss..sssssss.sss.sss.sss.ss [ 34%]
.s.s.s.ssssss.sssss.sssssssssssss.s.sssss.s.s.ssssss.ssss.sss.sss.sss.ss [ 34%]
ss..ssssssssssss..ssssssss...ssssss.ss.sssssss..ss.ss.ss.s.ssssssssssssss [ 35%]
ssss.ssssss.s.sssss.sss.sss.sssssssss.ssssss.sssssssssssss.sssssssssss.. [ 35%]
ss.ssssssss..ss.ssssssss.ssss.ssssssssssssssssssss.sssssssssss.s.sssssss [ 35%]
sssssssss.ssssssssssss.ss.sssssss.ssssssss.ss.sss.s.sssssssssssssssssss.s [ 35%]
ssssssssssssss.ss.ssssssss.s.ssss.ssss..sss.sssssss.ssssssss.sss.ssssss.s. [ 35%]
sss.ssssssssssss.ssss.ssssssss.sssssssssssssssssssssssssssss.sss.sssss.s [ 35%]
s.ss..ss..ssssss..ss.sssss.ssssss.ssssssssssss..s.sssss.ssssss.sssss.ss. [ 35%]
sssss.ssss.ssssssssssssssssssssss.sssss..ssss.s.sss.sss..s.ss...ss.sssss [ 36%]
ssssssssssssssss.ssssssss.ss.ssss.sssssss.sssssss.sssss.sssssss.sssss.ss [ 36%]
.s..s.sssssss..sssss..ss.ssssssssss.ssss.sssssssssssssssssss.sssssssssssss [ 36%]
sssssss..ssss.sss..sssssss..ssss.ssssss.sss.ssss...sssssssss.sssssss.ssss [ 36%]
ssssss.ssssss.sssssssss.ssssssssssssssssssssss.ss.sss.s.sss.ss.s.ss.ss.sss [ 36%]
ssss..ssssssssssssss.sssssssssss.s.ss.ssssssssssssssssss.sssssssssssssss [ 36%]
ssss.sss.ssssssssss.ssssss.s.sss.sss..s.s.sss.ssss.sssssssssssssssss.sss. [ 36%]
sssssssssssssssssssssssssssssssss.sss..s.s..ss.sss.ss..ss.sss.sss...ssss [ 37%]
ssssss.ssssssssssssss.sssssxsss.ssssss.ss.ssssssss.s.sss.sssssss.ss.s.ss [ 37%]
s.sss..ssss.sss.sss.ss..sxsssxsss..xsssss.sssssssssss.ssssssssssssssssss [ 37%]
ssssssssssssss.ssxs.s..sxss.sss.xss.sss.s.ssss.sss.sss..ssssss.sssssssssss [ 37%]
sss.ss.ssss.ssssxsxsssssxsssssss.sxsssssssssssssssss.s.ss.ss.ss.s.ss.s.s [ 37%]
ss.ssss..ssxs.ssxssss.sxssssxs.sssssss.ssssssssssss.ssssss.ssssssssssssss [ 37%]
sssxss.sx.sss.sx..ssss.sssxss.sssssss.ss...sssss.sssssssssssssssss.sssssss [ 37%]
ssss.xssss.xsssssssxssss.sssssssssssss..sss.sss.sss.ssss.sssss.sss.ss.ssss [ 38%]
sssss.ssss.ssxssssssss.sssssssssssssssssssssssssssssssss.sssssssss.ss.s. [ 38%]
.sss.ss.ssssxssss.ssssss.sss.ss.sssss.sssssssssssssss.sssssss.ssssssssss [ 38%]
ssssssssssssssssssssss.s.s.s.sssss.s.s..ss.sssssss.ss.ss.ssss.ssssss.sss [ 38%]
ssssssssssssssss.sssssssxss.ssssss.ssss.sssssssssssssssssssss.ss.s.ss.ssss [ 38%]
ssssssss.sss.s.sssxssxssss.ss.sxssss.sssssssss.ssssssssssssssssssssssssssss [ 38%]
ssssssssssssxsssx.sssssx.ssssss.sssssssssss.sss.ss.ssssssss.ssssssss.ssss [ 38%]
.sssssssssssxssxsssxsssssssssssxsssssssssssssss.sssssssss.sss.ss.ssssssss [ 39%]
ss.ss.xssx.ssss.xsssssssssxsssss.s.sssssssssssssssssssssssssssssssss.sss.. [ 39%]
sxsssxsss.sssssss.xssxssssss.sssssss.sssssss.sssssssssssssss..s.sssssss.sssx [ 39%]
sssssxsssssss.xssssssssssssssssss.ssssss.ssssss.sssssss.sssssssssssssss. [ 39%]
s.s..ssssssxssssss.sss.ssssssssssssss.ssssssssssssssssssss.ssssss.sss.ss [ 39%]
ss.ssssssssssxsssss.ss.ssssssssssssss.sssssssssssssss.ssss.sssss.sssssss [ 39%]
ssssssssssssss.sssssssssssssssssss.s.ssssssss.ssssssss..ssssssssssssssssss [ 39%]
.sssssssss.ssssssssssss.ssssssssssssssssss.sssssssssssssssssss.sssss.ss.ssss [ 40%]
sssssssssssssssssssss.ssssssssssssssssss.sssssssssssssssssss.sssssssssss [ 40%]
sssssssss.ssssssssssssssssssssssssssssssssss.sssssssss.sssssssssssssssss [ 40%]
ssss.s..sssssssssssssssssssssssssss.ssssssssssssssssssssssssssss.sssssss [ 40%]
sssssssssssssssss.s..sss.ssssssss.sss.ssssssssssssssssssss.ssssssss.ssss. [ 40%]
sssssss.sssss.ssssssssssssssssssssssssss.ssss.sss..ssss.sssssssssss.ss.s [ 40%]
ss.sss.sssssssssssssssssss.sss.ssssssssssssssssss.sssssssssssss.ssssssss [ 41%]
ssssss.s.ss.sssss.sssssssss..ssssss.ssssssssssssssssssssssssssss.sssssss [ 41%]
sssssssssssssssssssssss.sss.sssssssss.sss.s.sss.ssss.sssss.ssss.sssssssssss [ 41%]
.ssssssssss.sssssss.ssssssssssssssss..ssssssssssssssssssssssssssssss.sss.ss. [ 41%]
ss.ssssssssssss...ssss.ssssssssssssssssssssss.s.ssssss.ssss.ssss.sssssss [ 41%]
sssss..sssss.ssssssssssssss.s.sss.ssss.sssssss.s..sssssssssssxsssss.sss. [ 41%]
.ssssss.sss.sssssssssssss.sssssssssssssssssssssssss.sss.ss.sss.ss.sssssss [ 41%]
sxs.s.sssssss..ssssssss.ssssss.ssss.sss.ss..sss.ssssssssssssssssssxsssss [ 42%]
.sssssssss.s.ssss.sss.s.ss.ss.ss..s..sss.ssssssssssss..sssssxssssss.ss.sssss [ 42%]
sss.sssssss.ssssssssx.xssssssss.sssss.s..sss.s..ssssssxsss.ss.s.sssss.sss [ 42%]
ss.s.sss.ssxsssssxs.sss.sssss.ssssssssssssssssxs.ssssssssssssssxss..ss.s [ 42%]
s.s..ssssssssssx.xsss.s.ss.ssssssss..sssssx.ssssss.ss.sssssss.sssxsssssssss [ 42%]
ssssxs.ssxss.sssssssss.s..sss..ss.sssss.sss..ssss.ssssxsssssssss.s.sssss [ 42%]
xssssxs..ssssxssssssssssss.sssssssssssxsssssssss.xss.s..sss.s...sssssx.ssx [ 42%]
ssssssssx..ssssss.ss.ssssssxsssss..s.sss.sssssssssxs.ssssssssss.sss.ssssx [ 43%]
s.ssss.ss.ssss.ss.sss.ssssxs.s.ssssss.s.ssxsssss.s.ssss.sssssss..ssssssxss [ 43%]
sssssssss.sss.sssssxssssssssssssssss.ss.ss.sss..sssssxss.sssssx.ssss.ssss [ 43%]
ss.s.sssssss.xssss.ss..sssss.sssssssssssssssssxsssssss.ssxss.sssss.ss.sss [ 43%]
s.s.ssssssssss.s...ssss.sssssssss.sssss.sxsssssssss..sssssss.sssssssssssss [ 43%]
.sssxsssxssssssssssssssss..ss..s.sssssssxssss.ssss.ssssssss.sssssss.sssss [ 43%]
xsssssxs..sssssssssssssssssssss.ssssssssssssssssssssssxssss.sss.ssssssss [ 43%]
ssxxssssssss..ssssss.ssssss.sssssssssssss.ssss.sssssssssssssssssssssxsss [ 44%]
xssssss..sssssss.sssss.ssssssssss.sssssssss.ssssssssss.sssssssssxsxs..sss [ 44%]
sxxssssssssssss.ssss.ss.sssssssssssssssssss.s.sss.sssssssssssssssssxs.ss [ 44%]
.sssss.ss.ssssssssssss.s.ssssss.ssssxsssssssssssssssssss.ssxsss.ss.sssss [ 44%]
ss.sss.ssssxssssss..ssss.sssssssssssss.ssssss.ssss.ss.ssssssx.ssssssssss [ 44%]
sssss.sssss.sssssssssssssssss.s..ssssss.sssssssssssss.sssssss.sssssss.ss [ 44%]
sssxsxsssss.ssssssssss.sssssssssssssssss.sssssssssss.sssssssssss..sssssss [ 45%]
ssxsss.ssss.sssssssssss.ssssssssssss.ss.sssssssssssssssssssssss.sxsssssss [ 45%]
ssssssssssssssss..s.ssss.sxssssssssssssssssssssssssssssssssssssssx.ssssss [ 45%]
ssssssssssssssssssss.ssssssssssssssssssssssssssssssssssssssssssssxssssss [ 45%]
ssssssss.ssssssssssssssssssss.s.ssssssssssssssssssssssssssssssxsssssssss.sss [ 45%]
ssssssssssssssssssssssssssssssssssssssssssss.ssssssssssss.ssssssssssssss [ 45%]
ssssssss.sssss.sssssss.ssssssssssssssssssssssssssssssssssssssssss.ssssssss [ 45%]
sss.ssssssssssssss.ssssssssssssssssssssssssssssss.ss.ssssssssssss..sssss [ 46%]
sssssssssssss.ssssssssssssssssssssss.sssssssssss.ssssssssssssssss.ssssss [ 46%]
ssssss.sss.s.sssssssssssssssssssssssssssssss.ssssssssssssssssxssss.ssssss [ 46%]
sssssx.sssssssssssssssssssssssssssssss.sssssssssssssssssxsssss.ssssssssss [ 46%]
sssxsssssssssssss.ssss.sssssssssssss.sssssssssssssssxssssssssssssssssxsss [ 46%]
..sssssssssssssssssssssssssssssssssssssssss.xssssssss.sssssssssxss.sss.ss [ 46%]
sssssssssssssssssssssssssss..ssssssssssssssxssssssssssssssssssssssssssss [ 46%]
ssssssssssss.sssssssxss.ss.sssssssssssssssxssss.ssssssssss..sssssssssssss [ 47%]
sssssssssssssssssssssssssssssssssssssssss...ssssssssssss.ssssssssssssssss [ 47%]
sss.s.sssssssss..sssssssssssssssssssssxssssssssssssssssssssssss.sssss.s.s.s [ 47%]
ssssssssss.ssssssssssssssssssss.sss.ssssss..sssssssssss.sss.ssssssssssss [ 47%]
sssssssssssssssss.ss.ss.sssssss.sssss.sssssssxsss.ssssssss.sssssssssss..s [ 47%]
sssssssssssssssssssxsssssssssssssssssxsxss.ss.sss.ssssssssss.sssssssssss [ 47%]
ssssss.ssxsssss..ssssssssssssssxsxssssssssssssssssssssssss.ss.sssss.ssxss [ 47%]
ssssss.sssssssxxsss.sssssss.s.s.ssssssssssssssssssxssssssssssssssssxxs.ss.ss [ 48%]
s.sssssss..sssssssssssssss.sssxssss.s.sssssssxssssssssssxsssssxsssssssss [ 48%]
s.s.ss.ssssssxsssss.sssssssssssssss.xsssxsss..sssssssssssssssssssssssss.s [ 48%]
sssssssssss.sssss.ssssssssssssx.sssssssssssss.sssssssssss..sssssssssssss [ 48%]
ssssssxsssssssssss.ss.ss.sssssssssssssssssssssssss..ssxs..ssssssssssss.s [ 48%]
sssssssssssssssssss.sssssssss.ssssssxssssssssxsssss.ssssssss.sssssssssss [ 48%]
ssssssxssssssssssssssssssxs.sssssssssssssssssssssssssssss.sxssss.sssssssx [ 48%]
sssssssssssssssssssssssss.ssssssssxssssssssssssssssxssss.ssssss.s.ssssss [ 49%]
sssssssssssssxssssssssssssssx.ss.sssssssss.ssssssssssssssss.sxssssss.ssss [ 49%]
ssssss.ssssssssssxssssssssss.sssssssssssssssssssssssssxsss.ssssxsxssssss [ 49%]
ssssssssssssssssssssssssssss.sxssssxssssssssssssssssss.ss.ssssssssssssss [ 49%]
ss.ssssxssxsssssssssssssssssss.ss.sssssssssssssssssssssxsssssssssssssssss [ 49%]
ssssssxssssssssssssssssssssxssssssssssssssssssssssxsssssss.ssssssssxssss [ 49%]
sssssssssssssssssssssssxssssssssssssssssssssssssssssss.sssssssxsssssssss. [ 50%]
ssssssssxsssssssssssssssssssssssssssss.ssssssssssssssxsssssss.ssssssssssss [ 50%]
sxssssssssssssssssssssssss.sssssssssssssssss.ssssssssssssssssssssss.sssss [ 50%]
sssssssssss.ssssssssssssssssss.sss.ssssssssssssssssssssssssssss.ssssssssxs [ 50%]
sssss..ssssssssssssssssssxsssssssssssssssss.sx.ssssssssss..sssssssssssss [ 50%]
ssss.sssssssss.ssssssssss...sxss.sssssssssssssssssssss.sssxs.sss.ss.sssss [ 50%]
sx.sssssssssssss.sxsssss.ssss.ssssssssssssssssssssssss.sss.ssssss.ssssssss [ 50%]
sssssssss.sssssssxssssssssss.ss.ssssxssssssss.ssxssssssssssss.ss.sssssss [ 51%]
sssssssssssssssxsssssssssssxssssssssssssssssxsssssssssssss.sssss.ss.ssssssssss [ 51%]
sssxssssssssssssssssssssssssss.ssssssssssssssssxssssssssssssssssssssssssxs [ 51%]
sssssssssssssssssssssss.ssssx.s.ss.ssssssssssssssssssssssssssssssssssssxs [ 51%]
ssssssssssssssssssxssssss.sssssss.s.ssssssssssxssssssssssssssssssssssssss [ 51%]
sss.sssssssssssssssssssssssssssssxssss.s.sxss.sxx.ss.sssssssssssssssssss [ 51%]
ss.s.s.s.xssss.s.s.sxsssssssssxssssss.ssss.s.s.sssssssssssssssssssssssss [ 51%]
sssssssss.sssssssssssssssssssssssssssssssssssssssssssssssssssssss..sssss [ 52%]
xssssssssssssssssx.s.ssssssssssssssssssssxsssx.s.sssssssssssssssssssssss [ 52%]
ssssssssssssssxsssssssssxsss.sx.sxssssssssssssssssssssssssssssssssssssss [ 52%]
ssss.ssxssssssssssssssssssssssssssssssss.sxxxssssssssssxssssssssssssssss [ 52%]
.ssssssssssssssssssssssss.sssssssssssssssssssxxxsssssssssssssssssxssss.s [ 52%]
s.sssssssssssxssssssssssssssssssssssssssssssssss.sssssssssssssssssssssss [ 52%]
sssssxxssssssssssssssssss.ssssssssssssssx.ss.ssssssssssssx..s..ssssssssxx [ 52%]
.sssssxsssssssssxx.xssssssss.ssxsxssssssssssssxssssssx.ssxsssssssssssssss [ 53%]
sssssssxssssxsxsssssssxxsssssssx.ssssxssssssssssssssssssssssssssssssxsss [ 53%]
s..sssssssssssssssssssssssssxssxsss.ssxssxsss.sssssss.ssssssssxxss..ssss [ 53%]
sssssssssssxsssssssssssssssssssssssssssssxssssssxssssxsxssssssxssss.ssss [ 53%]
xssssssssssssssssssssssssxsssssssssxsssssxsssssssssssssssssssssssxssssssx [ 53%]
xsssssxssssssssssssssssssssssxsssssssssssssssssssssssssssssssssssssssssss [ 53%]
ssssssssssssssssxsxssxssssssxssssssssxsssssssssssssssxssssssssssssssssss [ 54%]
sssssssssssssssssssssssssssssssxsssssssssssssssss.ssxssxsssxssssssssssss [ 54%]
ssssssssssssssssssssssssssxs.ssssssssssssssssssxss.ssssssssssssssssssssss [ 54%]
sssssssssssssssssssssssss.xxxssssssssssssssss.sssssssssssssssxssssssssss [ 54%]
ssssssssxxsssssssssssss.sssssssssssxxssssssssssssssxsssssssssssxssssssss [ 54%]
sssssssxxssssssssssssssssssssssssssssssssssssssssssssss..ssssx.ssssssxss [ 54%]
sssssssssxsssssssssssssssssssssssx.ssssssssssssssssssss..sssssssssssssss [ 54%]
sssssssssssssssssssssssssssssssssssss.sssssssssssssssssssssxssssssssxxss [ 55%]
ssssssxxssssssxsssssssssssssssssssssssssssssssssssssssssssssssssssssssxx [ 55%]
sssssssssssss.xsssssssssssssssxxxxssssssssssssssssssssssssssssssssssssss [ 55%]
ssssssssssssssssssssssssssssssssxxsssssssssssssssssssssxssssssssssssxsss [ 55%]
ssssxsssssssssssssssssssssxssssssssssssssssssssssssssssxssssssssssssssss [ 55%]
sssxsxx.ssssssssssssssssxsssssssss.xssssssssssssssssssssssssssssssssssss [ 55%]
sssxsssss.sxssssxssssssx.sss.ssssxsssssssssssssssssssssxxssxxssxsxssssssx [ 55%]
s.sssssssxssssssssssssxssssssssxxsxssssssssssssssssssxssssxsxsssssssssss [ 56%]
sssxsssssssssssssssxssssxssssssssss.sss.x.sssssssssssssssxssssssxsssssss [ 56%]
sssssxsssssssss.ssssssssssssss.sssssssss.ssssssss.sssssxxsssssssssssssss [ 56%]
ssss.xssssssssssx.xsssssxssssssxssssssssssssss.x.xxsssssssssssssxxxsssss [ 56%]
xsxsxssss.sss.x.xxxssxxssssssxsssssxssssssssssxs.sssx.xx..xxs.xxxsssssss [ 56%]
sxxxssss.sssss.xxsssssssssssxxxss..ssssssxssss.xxxxs..x..xxxxxssss.x.sxs [ 56%]
ss.sssssxsssssssssssssssssssxssss.xxxss.ssssssssssssssssssssxx.sssssssss [ 56%]
sssx.xxxssssssssxssxxxss.sxxsxxsssssxsssxssssxsssxsxxsxsssss.xxsssssssss [ 57%]
sss..sxssxsxssxssxssssssssssssssssxssssssssssssssssssssxxs.sxss.ssxx.s.s [ 57%]
ssssssssssssssssssssssxssssssssssssss.xssxxxxxss.sssxsssssxssxssssssssss [ 57%]
ssssssssssssxssssssssssssssssss.xxssssssxxxxssssssssssssssssssxxxxssssxs [ 57%]
sssssssxsssssssxssssssssss.xssxssxxss.sssssxsssssxssssxssss.xxssssssssss [ 57%]
sssssssssssssssssxxsssssssssssssxssxsssss.ssssssxss.ssssssxsssssssssssss [ 57%]
ssssssssssxsxxsssssssssssssssssxxsssssssssssssssssssssssxsssss..ssssssss [ 57%]
sssss.xssss.xxxsssssssssssssssssssssxssxxxssssssssssssssssssssssssssssxs [ 58%]
sssssssssssssssssssss...ssssssssssxx.sxxxs.ssssssssssssss.ssssssssssssss [ 58%]
ssssssssss.ssssssssssxx.s.xxxxxss.sxsssxxsssssssxsssssxsssssssx..sssssssss [ 58%]
sxsssssssxssxsxssssssxssssxsssssssssssssxsssss.xxsss.ssssxxxsss.sxs.ssss [ 58%]
ssssssssxssssssssssssssxsssssxxxsssxx.s.ssssssss.sxsssssxs.ssssssssssssssx [ 58%]
xssssssssssssxsssssssssssssssxsss.sxssxsss.sssxssssxsxsxxsxssssssssxssss [ 58%]
sssssssssssssssssssssssssssssssxxssssssssssssxxssssssxssssssssssssx.ssssxss [ 58%]
sssxsssssssssssssxxsssx.x.xxxxxxxxxsssssssxxxxxxxxxxxsssssssssssxxsxxxxs [ 59%]
sssss.sssssxxxxxssssssss..sssssssssxxs.s.s..x..ssssxsssxs.s.....xxssssss [ 59%]
sxsx.xx.xxx.sssssx.x.xxxxss.sssxxxxxxxssxx.sxxxxxssxsxsxxsssxsxxxx.ssssss [ 59%]
sxsss.sxssssxxsssssss...sssssssssssssssssssssssssx.ssxxsss.sssssssssxsss [ 59%]
xsxsss.xssssssssssssss.ssssssssss.xxsssxssss.xsssssssssssxsssssssxssssss [ 59%]
ssssssxxs.sxssssxssssssssssxxsss.xxxxxxssxxss.xxxssxxssssxxss.x.xsssssss [ 59%]
ssssssssssssssssxxssxss.sxsssssssssssssssxs.x.xsssssssssssssssxsxsssssss [ 59%]
sss..xsssssssssssxxssssss.sssxssssssxx..x.ssssssssxxsssssxxxxxssssssssss [ 60%]
sssssss.ssssssxxxxxssssssssssssssssssssssssssssssssssssss.ssssssssssssss [ 60%]
sssssssxsssssssssssssssssssxxssssxxsssssssssssxssssssssssssxssssssssssss [ 60%]
sssss.ssssssssssssssssssssssxsssssxssssxsssssssssssssssssssssssssssssssx [ 60%]
xssssssssssssssssssssssssssssssssssssssssssss.ssssssxxxsssssssssssssssss [ 60%]
ssssssssssssssssssssssssssssssssxssssxxssssssssssssssssssssssssssxssssss [ 60%]
sssssssssssssssssssssxsssssssssssssssssssssssssssssssssssssssssssssxs.ss [ 60%]
ssssssssssxs.sssssxssssssssssssssxsssssssssssssssssxxssssssss..xxxxxx.xs [ 61%]
sxssssxsxsxsssssxsssxxsssxxs.s..xsssxxsssssss.sssss..sss.s.ssx.sssss.s.x [ 61%]
ssss.xsssssssssssssssssx.xs.sxsssssx..sssssxxxxxxxxx.xx.xxxxxxx.xxxxssss [ 61%]
xssssssssssxsxssxssxsssxsxssssssssssxssssssxxsssssxssxxsssssxssssssssxss [ 61%]
s.sssxxssssssssssssssssssssssssssssssssssssssssssssssxssssssssxxxsssssss [ 61%]
sssssssssssssssssss.ssssssssssssssssssssssssssssssssssssssssssssssxssssx [ 61%]
xsssssssssssss..ssssssssssssxsssssssxxxsssssssssssssssssssssssssssssssss [ 62%]
ssssssssssssssssssssssssxxssssssssssssssssssssssssssssssss.sssssssssssss [ 62%]
ssssssxssssxxsssssssssxssssssssssssssssssss..xssssssssssssss..sssssssssx [ 62%]
sss.xxssssss.ssx.xssssssssxsssssssxssssss.xsxsssssssss.sssssssssssssssxx [ 62%]
sssssxsssssssssssssss.xssssssssssssssssssssssssssssssssss.xxxs.ssxsssxxsx [ 62%]
sssxxss.ssssxsxsxsssssxssssssssssssss.xsssssssssssssxsssxsssssssss.sssss [ 62%]
xxssssssssssxssssssssssssxsssxsxsssssssssssssssss.ssxssssxsxssss.sssss.x [ 62%]
ssssssssssssssssssxsssssxssssxxsssssssssssssssssssssxxsssxssssssssssxss.s [ 63%]
ssssssss.xssssssssssssssssssssxsssxsssssssssssssxsxsxsxsssssxssssxsssssssss [ 63%]
xsssxx.xssssssssssssssxssssssxssxssss.ssss.ssss.ssxxxsssxsssxsssssssssss [ 63%]
sxsssssssssssssssssxssss.x..xxsssssssssssssssssssssssssssssssssssssssxxx [ 63%]
xsssss.sssssxsssssssssssssssssssssssxsssssssssssssssss.sssssssxsssssssss [ 63%]
xssssssssxxsssssssssxssssxssss...sssss.ssssssssssssxssssssssxsssssssxxxs [ 63%]
ssssssssssss.sssssxsssssssssssssssxsssssssssssssssssssssssssssssssssssss [ 63%]
ssssssssssssss..sssssssssssssssssssssss.xssssssssssss.xxxsssssssssssssss [ 64%]
ssssxssssssxxssssssssssssssssssxxxsssssssxssssxssssssssssssssssss.sssssx [ 64%]
sssssssssxxsssxxxssssssssssssssssssssssssssxxxxxxsssxssssxsxssssssssssss [ 64%]
ssssssssssssssx.sssssssssssssssssssssssssssssssssxsss.xsssssssssssssssss [ 64%]
sxssssssssssx.ssssssssssssssssssssssssxsssssssssssssssss.xxsssssssssssxs [ 64%]
sssssssxxssssssssssxsssssssssssssssssxssss....xx.sssssssssssssssssssssss [ 64%]
ss.xssss.sssss.xxxsssssssssssssssssssssssxxxsssxssss..xsssssssssssssx.ss [ 64%]
ssssssssssxxsssxxxxxssssssxsssss.sssssssssssssx.xxssxsssssxsxsxxsssxsxsss [ 65%]
.sssssssxxs.ssssssxsssssssxxsssssssssssx.sssssssssssxsxssxssssss.ss.xxsss [ 65%]
sxxsssss.sssxsssssssssssssssssxxsssssssssssssssssssssssss.ssx.sxxsssxsxx [ 65%]
x....xxxxxxxssxxxxxsssssss.xssssssssssssxxxxxxsssxxxs.ssssssssssssxsssss [ 65%]
sssssssssssssssxxssssxsssssssssssssssssxxssssssssss.sss.sssssssss..xssss [ 65%]
ssxsssssssssssssssssxssssxssssss.xsssssssssssssssssssxssssssss..ssss.x.x [ 65%]
.sxx.sxsssssssssssxxs.xsxxs.xxsssssssxxxxxxsx.xssxsssxxxsssxxssssssssxxs [ 65%]
s.sssxssssssssssssssssssssssssssssssxssssss.ssssssssssxsssssssssssssssss [ 66%]
sssxxssssss.xxsssssssxxssssssssxsssssssssssssssssssssssssssxssssss..x.ss [ 66%]
sssssssssssssssssxssssssssssxssss.xssssssssssssss.sxxxx.x..xxsssxsxxssxx [ 66%]
xxsssssssssssssssssssssssssssssss.xsssssssssssssxssss.xxxxssssssssssssss [ 66%]
ssssxxxssssssssssssssssssssssssssssssssssssssssssssssxsssssssssss.xxxx.s [ 66%]
sssssssssssssssssssssssssss.sssssssxsssssssssssssssssssxxssssxsxxsssssss [ 66%]
sssssssssssssssssssssssssssssssssssssssssssssssssssssss.xsssssssssssssxx [ 66%]
ssssssssssssssssssssss.ss.x.xsssssssssssssssssxxssssssssssxssssxssssxxss [ 67%]
ssssssssssssssssssssssssssx.sssssssssxsss.xssssssssssssssx.sssxsssssssss [ 67%]
ssssssssssssssssssssssssssxxxxssssssssssssssssss.sssssssssxxssssssssssss [ 67%]
xxxxssssxxssssssssssx.xxxssss.x.xxxssssssssssssssssssssss.xsssssss.xssss [ 67%]
sssssssxxxxsss..sssssssssssssssxsssssssssssssssx..sssssssssxss.xxxssssss [ 67%]
sssxxxssxsssssssssssss.ssssssxsxssssxs.ss.xsssx.sssssssssss.ssssssx.sssss [ 67%]
sssssxssssssssxssssssssxsssssss.ss.xssssxssxsssssssss.ssxssssssssssssssssx [ 67%]
.sssxsssssssssssssssssxsxsxsxssxssss.sssxsssssssssxsssxxxxxsssssssssssssxss [ 68%]
sssss.sssxxssssssssssssssssssssxxx.ssssssssssssssssssssxxsssxsxsxsssssss [ 68%]
ssssssssxssss.sxxsssssssssssssssssxssssxsss.sssssxxsssssssssxsssxsxsssss [ 68%]
ssssssssssssssssssxx..xxx.ssxsxxssxsssssssssssssssxssss.ssssxxxssxxssssx [ 68%]
s.ssssssssssxssssssssssssssssssssssxssssssxssssssssx.sssssssssssssssxxs. [ 68%]
sssss.xssssxxsssssssssssssssssssxssssxx.ssssssssssssxx.sssssssssssssssss [ 68%]
sssxsssssssssssssssssssssssssssssssssssssssx.s.xxxssssssssssssssssssss.s [ 69%]
sssssssss.xsssssssssssssssssssssx.xxxxsssxssss.sssssssssssssssssssxsssss [ 69%]
sssssssxxxxxxsssssxssssssssssssssssssssx..xssss..x.xxxxssssssssssssssxss [ 69%]
ssssssssssssssxxssssssssssssssss.ssssssssssss.xxxsssssss.xsssssssssssssx [ 69%]
xxxxx.ssssssssssssssssssssssxxxssssssssssssx.sssssssssssssssssssssssssss [ 69%]
sssxxxx.xxsxssssxsssssssssssssssssssssssxsssssssssssssssssssxsssssssssss [ 69%]
ssssssssssss..ssssssssssssssssssssssssssssssx.xxxssxssssss.ssxxsssssssssss [ 69%]
ssxsssssss.ss.ssssssss.ss.s.sxssxssssssssssssssssss.s.ssxsssssssssxsss.. [ 70%]
sssxx..sssxxxssssxxxxsssxxxssssxsssxxxssxssssx.xxxxxxsxssssxsxsssssssssx [ 70%]
sssss.ss.ssssx..xx.ssss..x.xxsssssssssssssssssssssxs.xssssssssssssssx.xx [ 70%]
.sssssssssxxxxsxsssssxsxsxx.sssxsssssssxssxsxssssxssssssssssssssssxsxssss [ 70%]
ssx.sssssssssssssxss.sxxssssssssssssssssssssxsssssxssxxssssssssssssssss. [ 70%]
xssssssssssssssssssxsss.xsxssssxsssxsssssssssxssssssssssssssssssssssxsss [ 70%]
sssssssxsssxssxxssssss.sssssssss.sssssss.xsssssssssxssssssssssxssxssssxx..xx [ 70%]
xxx.xxxxsssssxxxxxxsx.xxxssssssssssxxxxxxxssssssssssssssxxxxsxsxsss.ss.sss [ 71%]
ssssxxxxxssss..s..s.sssssxsxssss.x..xss.ssssxsss.xxxxsxs.ssssxsssx.xxsxx [ 71%]
sx.ssssssssssssssxsssssssssssssssssssssssssssxssssssssxssssxsssssss.sssx [ 71%]
xssssssssssssssssssssssssss.ssssssssssss.sssssssssssssssssssssxsssssssss [ 71%]
sssssssssxssssssssssssssssssssssxxsssssssssxss.ssssssssssss.xssssxsssxss [ 71%]
ssssssssssssssssssssssssssxssssssssssssssssssssssssssssssssssssssssssssx [ 71%]
sssxsssssssssssssssssssssssssssx.sxsssssssssssxxssssssssssssssssxssssxss [ 71%]
sssssssssssxssssxssssssssssssssssssssssssssssssssssssssss.ssssssssssssss [ 72%]
ssssssxxsssssssssssssssssssxsssssssssssssssxxxsssssssssssssssssssssssxss [ 72%]
sssssssssssssssssssssssssssxssssssssssssssssssssssssssssssssssssssssssss [ 72%]
xssssssssssssxxsxssssssssssssxsssxsssssssssssssssssssssssssssssssss.sssssss [ 72%]
ssssssssssssxsssxssssssssssssssssssssssssssssssssssssssssssssssss.ssssss [ 72%]
ssxsssssssssssssssssss.ssssssssssssss.sssssssssxsssssss.sssssssssssssxss [ 72%]
ssssssxss.sssssssssssssssssssssssssssssssssssssssssssssssssssssssssxsssss [ 72%]
sssssssxsssssssssssssssxsxssssssssssssssssssssssssssssssssssssssssssssssx [ 73%]
ssssss.ssssssxsssssssssssssssssssssssxx.ssssssssssssssssssssssssssssssssx [ 73%]
sssssss.sssssssssssssssssssssssssssssssssssssssssssssssxxsssssssssssssss [ 73%]
sssssssssssssssssssssssssssssssssssssxsssssssssssssssssssssssssssssssss. [ 73%]
xxssssssssssssssssssssssssssssssssssssssssssxssssssssssssssssssssxssssss [ 73%]
ssssssssssssxxssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 73%]
ssssssssssssssssssssssssssssssssssssssssssssss.sssssssssssssssssssssssss [ 73%]
sssssssssssssssssssxxsssssssssssssssxsssssssssssxsssssssssssssssssssxssss [ 74%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 74%]
sssssssssssssssssssssssssssxssssssssssssssxxssssssssssssssssssssssssssss [ 74%]
sssssssssssssxsssss..sxsxsssssss.sssssssssssxssssss.ssssssss..sssss.sssss [ 74%]
sssxssssssssssssssssxxsssssssss.ssssssssssssssssss.sssssxxssssssssssssss [ 74%]
ssssssssxssssssssssssssssssssssssssssx.ssxss.sssssssssssss.xssssssssssss [ 74%]
ssssxxxssssssssssssss.sssssssssssssssssssssss.xsssssssx.ssssssssssssssss [ 74%]
sssssxxxs.sssssssssssxsssssssssss.xsssssxxxssssssssssxsssssssssssssssx.s [ 75%]
ssssssxxsssssssssssssssssssssssssssssssssssssssssssssxxssssssxssssssssss [ 75%]
sssssssssxssssssssssssssssssssssssssxsssssssssssssssssssssxsssssssssssssx [ 75%]
sxsxssssxxxxxssssssssssxsxsssxsssssssssssssssssssssssssssssxsssssssssssss [ 75%]
ssssssssssssssssssxssssssssssssssxsssssssssssss.ssssssssxxssssssssssssss [ 75%]
sssxsssssss.sssssxssssxssxsssxss.ssssssssssxssssssssss.sssssssssssssssss [ 75%]
sssssssssssssssssssssssssssssssssssssssssxsssssssssssssx.sssssssssssssss [ 76%]
ssssssss..sxsssssssxssssssssssssssssssssssssssss..xxsssssxssssssssssssss [ 76%]
sssssssssxsssssssssssss.ssssssssssxssssssssssssssssssssssssssssssxssssssx [ 76%]
ssxssssssssssssssssxxsssssssssssssssssssssssssssssssssssssssssssxsssssss [ 76%]
ssssssssssssssxssssssssssssssssssssssssssxsssssssss.sssssssssss.xsssssss [ 76%]
sssssssssssssss.sssss.xssssssxxsssssssssssssssssssssssssssssssssssssssss [ 76%]
sxsssssssxssss.sssssssss..sssssss.xssxsssxssssssssssssssssxsssxsssssssss [ 76%]
s.sssssssssxsssxsssxsssssssssssssssssssssssssssssssssssssssssssxxsssssss [ 77%]
ssssssssssssssssssssssssssssssssssssssssxsssssssssssssssxsssssssssssssss [ 77%]
ssssxxssssssssxsssssssssssssssssxsssssssssssssssssssxsssssssssssssssssss [ 77%]
ssssssssssssssssssxxsssssssssssssssssssxsssssssssssssssssssssxxsssssssss [ 77%]
sssssssssssssssxxsssssssssssssssssssssxssssssssssssssssssssssssssss.ssss [ 77%]
ssssssssssssssssssssssssssssssssxsssssssxsssssxsssssssssssssssssssssssss [ 77%]
sssssssssssssssssssssssssssssssssssssssssssssssx.ssssssssssssssssssxssss [ 77%]
ssssssssssssssxsssssssssssssssssssssssssssssssssssssssssss....xxs.s.ssxs [ 78%]
ss.s.xsxss.ssssssss.ssssss.sssss.sssss.ssssssss.ssssss.sxsssss.xssssx.ss.s [ 78%]
ssssssssssssssssssssssssssssssssss.sssssssssssssssssssssssssssxs...xssss [ 78%]
sssssssssssssssssxssssssssssssssssssssssxsssssssssssssssssssssssssssssss [ 78%]
ssssssxssssxsssssssssssssssssxsssss.....sssssssssxssssssssssssssssssssss [ 78%]
ssss.ssssssssssssss........ssssssssssssssssxsssssss.xxssssssssssssssssss [ 78%]
sssssssssssssssss.ssssss.....ssssss.s..sxsssssssxsssss.xssssssssssssssss [ 78%]
ssssssssssss.xssssxssssssssss..sssssssssssssx.sxss.ssssssssxxxssssxxxss. [ 79%]
.ss.xsxxxssssxssss.s.sssssxxxssss.xx.xsss....xsssssssssssssssssssssssss. [ 79%]
.ssssssxx..sssssssssssssssssssxsssssssss.xxxxx..sssss.xxxssx.s.ss..sssxs [ 79%]
.sxsxsssssssssssssxsssssssssssssss..xx..xxxxx.xxxx..sxxsssssssssxssxssss [ 79%]
sssssssssssssssssxssssxxxssssssssssssssssssssssss..ssssssssssssss.xxssss [ 79%]
ssssssssxxsssxssssssssssssssssssssssssssssssssssxxxxxxxsx.ssxssssx.sxsss [ 79%]
ss.xxsssssxsssssxsssssxssssssssssxxssssxssssssss.ssxssssssssxss.ss.sssss [ 79%]
ssxsssxsssssxs.sxssssxsssssssssssssxxssxssssssssssssssssssssx.sssss.xxxx [ 80%]
sssssssssxxxxxxsssxssssssssssssssssss.sx.xxsssssxxssssssssssssssssssssss [ 80%]
ssssssssssssssssssssssssssssssssxxsssssssssssssxssssssssssxxssssssssssss [ 80%]
ssssssssssssxxssssssssssxxssssx.xxssssssssssssssssssssss.sssssssssssssss [ 80%]
ssssssssssssss.xssssxsssssssxsssxssssxssssssssssssssssssss.sssssssssssss [ 80%]
.xssssxxxssssssxssss.ssssxxssssssssxssssss..xsxss.xssssss..xsssssxssxsss [ 80%]
ssssssssssssssssssssssssssssssssss..ssssssssssssssssssssssssssssssssssss [ 80%]
sssxxx..sssssssssssssssssssxssssssssssssssxssssssssssssxssss.ssssssx.sss [ 81%]
sxssssssssss.xsssxx.sssssssssssssssssssssxxxsssxxsssssssssssssss.sssssss [ 81%]
sssxxxsssssssssssxxxsssssssssssssssxsssssssssxsssssssxxssssxxxssssssssssx [ 81%]
sssssssssssssssssssssssssssssssssx.sssssssssssssssssssssssssssssssssssss [ 81%]
sssssssssssssssssssxsssssssxsss.xsssssssssssssssssssssssssssssssssxxxxss [ 81%]
ssxssss.sssssssssssssssssssssxxxxsssssssssss.xssxssss..sssssssssssssssss [ 81%]
sss.sssssssssssssssssssxssssxssssssssssssxssssssssssssssss.xx.sxxxssssss [ 81%]
sssssssxxssssssssssxssssssssssssssssxxxxxsssssssssssssssss.xxxssssxxsssss [ 82%]
sssssssssssssssssssxsssssssssssssssssssssssssssssssssssssssssssss.xxxsss [ 82%]
s.sssssssss.xssssx.xxxssssssssss.xxx.xssssssxsssssssssssssssxssss.xxxxss [ 82%]
ssssssssssssssssssssssssssssssssx.xsssssssssssssssssssssssssssssssssssss [ 82%]
ssssssssssssssssssssssssssssssssxssss.s.xxsssssssssss.x.s.xxssssssssssss [ 82%]
ssssssssssssssx..sx.xxssssssxxxssssssssxssssssss.xssxssxssssssssssssxssx [ 82%]
ssxsx.xx.ssssssssxssssssxxxsssssxsssxssssssssssxssssxxsssxsssssssxsssssxx [ 82%]
sssxsssssssxsxsssssssssssxxxssssssssssss.ssssxxssssssxssxxssssssssssssss [ 83%]
ssxsxssssssxs.ssssssssssssssssssxsssssssss.xssssss.xssss.x..x..xxssssxxx [ 83%]
..ssssxssxsss.xs.xxs.xxxssxxs...xxxsssxxsssssssssssssssssss.xss.xxxsssss [ 83%]
sssssss.sssxxxsssssss.sssssss.xx.sxssx.xxxsssssssssxxxxsssssssxx..x..xxsss [ 83%]
.ssxsxssssxxx..sssssxsxxsssxsss.s.xxxxxsx..s.sxx.xxxx.xxxxxs.ssxxxxxxxxxxsxxxs [ 83%]
xxsxsssxxxxxxxxxxxssssxsssssxxxxsssxxsssssssxsssxxsssssssx..sssssxssssxx [ 83%]
ssss......ssssxsssx..x....sssxxxxxsx.s.sssxxxsx.sssxxxx.sxxxssxx.xxssxsxxx. [ 84%]
xsxsxsssxxssssssssxsssssxssxsx.x.sssssss.sxssxssxsssssxsssssssxssssssxsxs [ 84%]
sssxs.sssxsx....xssssxxsssxxsssssssssssssssssssssssss.xsssssssssssssssss [ 84%]
ssssssssssssxssss.ssssssssssssxssssxx.sssx..xssssssssssssss.x.sssxsssxsss [ 84%]
xxsss.xsssssssx.ssxssxssxxssxsssssxx.xxsssssss.xssxssssssssxxsssssssssss [ 84%]
sssssssxssssssssssssssssssssssxxxssssssssssss.xxssssssssssxxssssssxxssss [ 84%]
sssssssssxx.xxxsxxsssxsssxssssssssxsxssssxssssssxssssxsssx.ssxssxsssxsxs [ 84%]
sxsss.sssxs.ssxssxssssxssxsssssssssssssssssssssxssssssxsxsssssssssssssxs.ssss [ 85%]
sssssssssss.s.ssssxsssssssss.sssxsssssssssssss.ssxssxsssssss.sxsxssx.sss [ 85%]
sssssxssssxxsssxsssssxsssssssss..x.sxssxx.ssssssssssssss.sssssssssssssss [ 85%]
sssssssxxssssssssxxxxxxsssxssss.ssssssxsssssxsxsssssxx.xssssssssxssssssss [ 85%]
ssxssss.ssssxssssssssxssssxxxs.ssssssssssssssxssssssssssssssxssxsssssssss [ 85%]
sss.ssssssssssssssssssssss.xssssxs.xssssssssssssssssssssssssssssssssssssx [ 85%]
xsssssssssxssssssssssssssssssssssssssssssssxssssssssssssssssssssssssssss [ 85%]
sssssss.xssssssssss.xssssssssssss.xxsssssssssssssssssssxssssssssssssssss [ 86%]
sssssssssxssssssxx.xss.xsxssssxssssssssssssxxxxxssssssxssssssxxsssssssss [ 86%]
sssssssssssssssssxxxssssssssssssssssssssssssssssssssssssssssssssssssssss [ 86%]
sssssssssssssssxxsssssssssssssxsssssssssssssssssssssxxssssssssssssssssss [ 86%]
ssssxssss.ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 86%]
ssssssssssssssssssssssssssssss.ssssssssssssssssssssssssssssssxssssxsssss [ 86%]
ssssssssssssssxsssssssxsssssssxssssssssssss.ssssssssssssssxsssssssssssss [ 86%]
sssssssssxssssssssssssss.ssssssssssssssssssxsssssssssssssssssxssssssssss [ 87%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 87%]
sssxssssssssssssssssssssssssssssssssssssssssssssssssssssssssssxsssssssss [ 87%]
ssssssssssssssssssssssssssssssxs.sssssssssssssssssssssssssssssssssssssss [ 87%]
ssssssssssssssssssssxxssssssssssssssssssssssssssssssssssssssssxsssssssss [ 87%]
sssssssssssssssssssssxxsssssssssssss.sxss..ssssssssssssssx.sxsxsssssssss [ 87%]
ssxxxxsssssssssxx.xxsssssssssssssssxxsssssssssssssssss..xxs..xssssssx.x. [ 87%]
xx.ssss.sssxssssssssssxxxsssssssssssssssssssssssssssssssss.sssssssssssss [ 88%]
ssssssssssssssssssssssssxsssssssssssssssss.sssssssssssss.sssssssssssssss [ 88%]
sssssssssssssxssssssssssssssssssssssssssssssssssssssss.sssssssssssssssss [ 88%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 88%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssss.sssssssssssssssss [ 88%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 88%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 88%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 89%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 89%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 89%]
ssssssssssxsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 89%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 89%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 89%]
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 90%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 90%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 90%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 90%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 90%]
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssxssssssssss [ 90%]
sssssssssssssssssssssssssssssssssssssssssxsssssssss.sssssxssssssssssssss [ 90%]
sssssssss.sss.ssssssssssssssxss.ssssxxssssssss.ssxssssssxssssssssssssssx [ 91%]
s.sxxsssssssssssssssssssxsssxsss..ssssssssssss.xx...x.x....x.xsxsss..x.s [ 91%]
sss.xxx..sssssssssssssssssssss.s.xs.xsxssss.sxssssxsx.sxs.sxxs.s.sxs.xss [ 91%]
xxss.sx.ssss.xxxxxx.xxsssssssssssssssss.sxxxxxx.sssssssssssssssssxxs.ssx [ 91%]
sxsxsxssx.ssxs.ssxssxs.xsssxssssss.ssssssxssssss.sssssxsssxsxssxssxssxss [ 91%]
ssxsxssxssxsxsssxssssxsxsss.ssssssssssssssssssssssssssssssssssssssssss.s [ 91%]
sssssssssssxsssssssssssssssssssxssssssssssssssssssssssssssssssssssssssss [ 91%]
sssssssssxssssssssssssssssssssssssssssssxsssxxssssssssssssssssssssssssss [ 92%]
sssssssssssssssssxssxssssssssssssssssxssssssxssssssxsssssssssssssssssssx [ 92%]
sssssssssssssssssssxssssssssxsxxssssssssssssssss.ssxssssssssssssssssssss [ 92%]
sssssxsssssssssssssssssxsssssssssssssssxsssssssssssssssssssssssss.ssssss [ 92%]
sssssssssssssssssssssssxs.sssssssssssxssssssssssssxssxssssssssssssssssxs [ 92%]
ssssssssssxxssssssssssssssssssssxsssssxsssssssssssssssxssssssssssxssssss [ 92%]
ssssssssssssssssxssssssss.sssssssssssssssssssssssssssssssssssssxxsssssss [ 92%]
sssssssssssssssssssss.xssssssssssssssssssssssssssssssssxsssssssssxssssss [ 93%]
ssssssxxxx.xssss.xssss.xxxxxxxx.xxssss.xssss.xx.xxxxx.xxxx.xxxxxxxxxxxxx [ 93%]
xxssss.xxxxxxx.xxssss.xxxxsssss.sss.xssss.x..x.xxxxxssss.xxxxxxxxxx.xsss [ 93%]
xssssssssssssx.xxxxx.xx.xxx.xxx..xssss.xxx.xxxxxxssss.xxxxxxxx.xssss.xss [ 93%]
ss.xxxxxxxxxx.xxxx.xx.xxssss.xssss.xxxxxxx.ssss.xxssss..xxxxxxxssss.ssss [ 93%]
.xxxxxxxs..x.ssss.xxxxsssssssssssssssssssssssssssssss.xx.xx.xxxxx.xsssss [ 93%]
ssssss.ssss.xxx.xx.xxssss.ssss.ssss.ssss.xxxssss.xx.xxssss.xssss.x.ssss. [ 93%]
.xx.ssss..ssss..x.xxxssss.xxx.x.xx.x..xxxxxx.xxxxssss...ssssssssssssssss. [ 94%]
sssssssssss.sxx.xxxxssss..x..xxxxxxssss.x.xxxxx.xx.xxxxssss.xxxxxxxssss. [ 94%]
xxxxxxssss.s.x.x.xx.sss.x.x.xxx.ssss.x.xxxxx.x.x.xxssssssssssssssssssxxx [ 94%]
xx..ssss.x.xxx.xxxxx..xx..xx.xx.xxx.x.xxxxx.x.xssss.xssss...ssssssssssss [ 94%]
ssssssss.ssxs.s.sxsxxx..xxxx.xx.xx..x.ss.xxx.sss..xx.x.xxx.sssssssssssss [ 94%]
sss.s...x.xssss.xxx.x.....sss.sssss.xxxx..ssxssssssssssss.s...xx....xx.x [ 94%]
..x...xssss..xx.x.x..xx.ss.x.x.xx....x..x.xssssx....x.xxssss...xx..x.x.. [ 94%]
xx.x...xx.s.sss..ssss..x.ssss......ssss......xxssss.x...x..............x [ 95%]
...ssss.x.xx.x.....x.....xssss.ssss..x..........sss......x....x....xsss. [ 95%]
.x........x...xxx....xx....x..x.........x.x...ssss....xx..x....x.....sss [ 95%]
.........ssss............x.......x...x.....x.x......x.....xx..........x. [ 95%]
.x.....xx...................x..x..........xx....x....................... [ 95%]
..x.....xssss.........x..xx.....x..............x........x.............x. [ 95%]
.....x.....x.......s..........................ssss...................... [ 95%]
..x.....x..........x.................................x.................. [ 96%]
.s.........................xx....x...................................... [ 96%]
...........sss...x.............x........................................ [ 96%]
...................ss.s................................................. [ 96%]
.....................................x......x........................... [ 96%]
...........x........x.................x................................. [ 96%]
....xx.................................................................. [ 96%]
........................................................................ [ 97%]
........................................................................ [ 97%]
........................................................................ [ 97%]
........................................................................ [ 97%]
........................................................................ [ 97%]
........................................................................ [ 97%]
........................................................................ [ 98%]
........................................................................ [ 98%]
........................................................................ [ 98%]
................................x....................................... [ 98%]
....ss..s..s.s.s..............ssss.ss..................sssssss.sss.ss.ss [ 98%]
ss.sssssssss.sssssssssssss........s.................ssss.x.x..sss....... [ 98%]
..........s.....xx..................x..........................x........ [ 98%]
...............x......s..s..................s..............s.xs...s..... [ 99%]
......ssss.................sss.ssss..s.......x...........s...ss.s.s.ss.s [ 99%]
.sx......sssss.s...s.s...s...ss...........s..........s.x............sx.. [ 99%]
....ss....s....ssss.....x......s....x.ss..s.......ss...s.ssss...ss...... [ 99%]
.sss.sss.sss..s.............s.........................ss.s.ss.s......... [ 99%]
....s.s..........x....s.x.......................s....................... [ 99%]
......s.............s................................................... [ 99%]
.............sssssssssssssss..........................                   [100%]error: object directory /localdisk/tc_agent/system/git/git-CE4319E5.git/objects does not exist; check .git/objects/info/alternates
fatal: bad object HEAD


---------- coverage: platform linux, python 3.8.13-final-0 -----------
Coverage XML written to file coverage.xml

= 8861 passed, 37801 skipped, 2917 xfailed, 30840 warnings in 177.16s (0:02:57) =
PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.
Tests are successful


<b>Remaining output truncated<b>


@naren-ponder naren-ponder marked this pull request as draft May 26, 2022 22:08
Signed-off-by: Naren Krishna <naren@ponder.io>
Signed-off-by: Naren Krishna <naren@ponder.io>
@naren-ponder naren-ponder marked this pull request as ready for review May 31, 2022 16:04
Signed-off-by: Naren Krishna <naren@ponder.io>
Signed-off-by: Naren Krishna <naren@ponder.io>
@naren-ponder naren-ponder changed the title FEAT-#4501: Add RSS Memory Profiling to Modin Logging FEAT-#4501, #4503: Add RSS Memory Profiling to Modin Logging May 31, 2022
Signed-off-by: Naren Krishna <naren@ponder.io>
@naren-ponder naren-ponder changed the title FEAT-#4501, #4503: Add RSS Memory Profiling to Modin Logging FEAT-#4501: Add RSS Memory Profiling to Modin Logging May 31, 2022
Signed-off-by: Naren Krishna <naren@ponder.io>
Signed-off-by: Naren Krishna <naren@ponder.io>
Copy link
Collaborator

@devin-petersohn devin-petersohn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For logging memory specifically, I think we should probably use this: https://docs.python.org/3/library/logging.handlers.html#rotatingfilehandler

Signed-off-by: Naren Krishna <naren@ponder.io>
Signed-off-by: Naren Krishna <naren@ponder.io>
Signed-off-by: Naren Krishna <naren@ponder.io>
Signed-off-by: Naren Krishna <naren@ponder.io>
Copy link
Collaborator

@RehanSD RehanSD left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

left a quick question, but looks good to me otherwise! I think instead of writing over the file maybe it would be better to truncate the middle part? So that way users have start and end?

logfile = RotatingFileHandler(
filename=log_filename,
mode="a",
maxBytes=100000000,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we have maxBytes set so high?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I set it to 10MB for each file (since it is being stored locally I think this is reasonable), and logging a max of 10GB.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where is the 10GB max?

Copy link
Collaborator Author

@naren-ponder naren-ponder Jun 1, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://docs.python.org/3/library/logging.handlers.html#rotatingfilehandler -- because backupCount is set to 100. At maximum you get 100 files of 10MB each. If people are running logs at that level anyhow and need support, they would likely reach out to us somehow.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good to me!

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks like 100 MB (10^8)? Is that what you meant to put? I think something like int(1e8) would be more readable.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it might be better to make this configurable instead of hard coded.

I think setting a default max of 10GB of logs is way too high. This is 10GB per Modin job, not total. I prefer to cap it at 100MB per job by default. If more is needed, they can set a configuration.

Copy link
Collaborator Author

@naren-ponder naren-ponder Jun 2, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So 10MB per file, and a max of 10 files, for a total of 100MB per job? Was looking through Google and the max MB per file for logs people recommend for a local filesystem is somewhere in the 10-50MB range.

RehanSD
RehanSD previously approved these changes Jun 1, 2022
Copy link
Collaborator

@RehanSD RehanSD left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

logfile = RotatingFileHandler(
filename=log_filename,
mode="a",
maxBytes=100000000,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it might be better to make this configurable instead of hard coded.

I think setting a default max of 10GB of logs is way too high. This is 10GB per Modin job, not total. I prefer to cap it at 100MB per job by default. If more is needed, they can set a configuration.

Signed-off-by: Naren Krishna <naren@ponder.io>
Copy link
Collaborator

@devin-petersohn devin-petersohn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This LGTM, @naren-ponder thanks!

I want to separate the different kinds of logs in a separate PR. Will open an issue for that.

@devin-petersohn devin-petersohn merged commit c1d5dbd into modin-project:master Jun 3, 2022
@naren-ponder naren-ponder deleted the mem_rss branch June 3, 2022 14:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add RSS Memory to Modin Logging
6 participants