MemShrink progress, week 12

about:memory improvements

Lots of changes were made to about:memory this week.

Justin Lebar landed a patch that provides detailed information about RSS, vsize and swap memory usage on Linux and Android.  (The patch was backed out due to a minor leak but I expect Justin will fix that and re-land it soon.)  This will help us understand memory usage that is not covered by the “Explicit Allocations” tree in about:memory, such as memory used for static code and data, and it should be particularly useful on Android.  The contents of the new trees are hidden by default;  you have to click on the tree heading to expand each one.

Kyle Huey split up about:memory’s layout measurements on a per-PresShell basis.  This makes it easy to see how much layout memory is being used by each web page.

Something I failed to mention last week was that with the landing of type inference, each JavaScript compartment has five new measurements: “object-main”, “script-main”, “tables”, “analysis-temporary”, and “object-empty-shapes”.

I converted some of the JavaScript memory reporters to use moz_malloc_usable_size to measure actual allocation sizes instead of requested allocation sizes.  This accounts for slop bytes caused by the heap allocator rounding up.  This is quite important — slop bytes can easily account for over 10% of the heap, and if we don’t account for them we’ll never get about:memory’s “heap-unclassified” number down.  Therefore I’ll be doing more of this in the future.  And it would be great if people writing new memory reporters can do the same thing!

Finally, on the topic of “heap-unclassified” number:  people often complain about it, so I’m happy to say that it is on a clear downward path.  Indeed, thanks to DMD, at the time of writing we have 16 open bugs to add new memory reporters for things that consume significant amounts of memory, and 13 of these are assigned.  I’m hoping that in a month or two the “heap-unclassified” number on development builds will typically be 10–15% rather than the 30–35% it usually is now.

Other things

I changed the growth strategy used for one of JaegerMonkey’s buffers to avoid large amounts of memory wasted due to slop bytes.  These buffers are short-lived so the fix doesn’t make a great difference to total memory consumption, but it does reduce the number of allocations and heap churn.

Marco Bonardo wrote about his recent changes to the handling of the places database.

Dietrich Ayala wrote about an experimental add-on that unloads tabs that haven’t been viewed in a while, which is an interesting idea.  I suspect the exact approach used in the add-on won’t be viable in the long run, but we can certainly benefit from doing a better job of discarding regenerable info that hasn’t been used in a while, particularly on mobile.

Bug counts

This weeks’s bug counts are as follows:

  • P1: 29 (-2, +2)
  • P2: 80 (-4, +8)
  • P3: 40 (-2, +4)
  • Unprioritized: 22 (-12, +12)

Just like last week, Marco Castelluccio tagged quite a lot of old bugs with “[MemShrink]“.  We had 45 unprioritized bugs at the start of this week’s meeting, and we got through more than 20 of them.

Some comments on last week’s post got me thinking about how to make it easier for more people to help with MemShrink.  For those who don’t have much coding experience, probably the best bet is to look at the list of unconfirmed bugs — these are problems reported by users where the particular problem hasn’t been identified.  Often they need additional effort to determine if they are reproducible, due to add-ons, etc.  For example, in bug 676872 a user was seeing very high memory usage, and it’s clear that it was caused by one or more of the 41(!) add-ons he had enabled.  Ideally that bug’s reporter would disable them selectively to narrow that down, but anyone could do likewise with some effort.

For those who do have coding experience, it would be worth looking at the list of bugs that have a “mentor” annotation.  For example, bug 472209 is about adding some graphing capability to about:memory.  Jezreel Ng made some excellent progress on this during his internship, it just needs someone to take over and finish it up.

Finally, for those who like a challenge or have some experience with Firefox’s code, the full list of unassigned bugs might be of interest.  There are currently 86 such bugs!  More than I’d like.

(BTW, I’ve added links for the three bug lists above to the MemShrink wiki page.)

On HIATUS

I will be on vacation for the next five weeks and the MemShrink progress report will be on hiatus during that time.  But MemShrink meetings will continue (except there won’t be one next week due to the Mozilla all-hands meeting).  I look forward to writing a bumper progress report on October 19, where I’ll be able to summarize everything that happened while I was away!

35 Responses to MemShrink progress, week 12

  1. 41 add-ons aren’t that many that they would need an exclamation mark.

    Have fun during the vacation.

    • How many would you say warrant an exclamation mark exactly?

      41 addons would represent a very small minority of Firefox users users.

    • I have 33 add-ons enabled, 6 disabled due to incompat or rare use.

      Pains me seeing another Mozilla person thinking the default browser is usable for most people and having several add-ons installed is rare. This is how I also interpreted the (!).

      3 of my Add-Ons are to help the cause (about:telemetry, about:startup, Add-On Compat Reporter). 10 fix stupid newer design decisions or improve inadequate features. 7 are for web development. A few actually add new functionality and then there’s security (NoScript) and annoyance removal (Stylish, ABP, ABP El Hiding Helper).

      It must be frustrating to deal with Add-On memory when Add-On memory usage is mysterious. but let’s not see another Mozilla dev deny the importance of Add-Ons to the product.

      Sorry, I know this is a digression.

  2. Have a great holiday! :-)

  3. I’m sure this is probably a silly question reflecting a total lack of how about:memory works, but does about:memory have any sort of impact on performance?
    I suppose that goes to reporters? Are reporters always doing something in the background or are they merely called when about:memory is called?

    On a pseudo-related note, I was wondering if it might be helpful to put a refresh button with the other buttons at the bottom of the memory page.
    Yes, technically it’s not necessary, but it would plant the understanding in the user’s head that the display is not being updated and fit alongside all the other functions affecting the page.

    • Nicholas Nethercote

      It’s not a silly question. The memory reporters only do stuff when about:memory is generated, so they add no cost to normal browser operation, other than a tiny increase in overall code size.

      As for the refresh button… I haven’t seen any evidence that anyone has found the current behaviour confusing, so I’m inclined to leave it alone :)

      • I agree this would be handy. Why? I think a lot of users would be familiar with opening the Windows Task Manager and seeing real-time data when analyzing system memory usage. I’ve found myself sitting in front of about:memory and expecting it to auto-update. I know it’s just a familiarity thing but a checkbox to have about:memory update in real-time wouldn’t hurt.

      • Regenerating about:memory every say, 5 seconds could be useful for trying to trace a memory leak that ends up freezing the browser: keep about:memory open in a separate window and browse normally or leave it on overnight to reproduce the memory leak, then switch to that window to see what’s using up all that memory while the browser is otherwise inoperable.

  4. Oh, and have a great holiday!

  5. With all this memory measurement, isn’t memory going to increase? ;)
    In all seriousness, does memory getting used to collect this data when about:memory is not open?

    One thing I have noticed reading about:memory is that hours after I have closed a tab that has loaded the G+ +1 widget it is still hanging about, even with a forced GC. We will ever get a kill -9 for these things? (as well as filing bugs for them)

  6. can you rename RSS on Windows platforms to Working Set? This is how MS names it and users maybe confused when they compare the values with tools like Process Explorer/VMMap.

  7. moz_malloc_usable_size looks as if it can return 0 in some build configurations. Is this likely to be a problem?

    • Nicholas Nethercote

      It’s not a problem. Every memory reporter that uses it has fallback code to compute the size if moz_malloc_usable_size returns 0. So on those platforms the slop bytes won’t be reported, but otherwise everything will work ok.

  8. Add-On MemShrink Detective

    I’ve created an Add-On Collection for 38 of the 41 Add-Ons mentioned in bug 676872
    I found links related to the other 3.

    Anyone who wants to help can use that collection and the instructions here:

    676872 comment 13

    to help decipher which Add-On is causing the high usage.

    I hope making the collection means everyone doesn’t have to repeat the steps of searching for and manually installing all the different Add-Ons required to confirm or deny this bug.

  9. what does the p flag stand for on [rwxp]? private? Does firefox actually use shared memory?

  10. Antti Huovilainen

    I’m using latest Firefox 8 builds and routinely see js-gc-heap-unused-fraction over 50-60%. Is this normal?

  11. Ok, by using about:memory I´ve found a possible cause of the midgnight memory dinner, I believe it´s the JS portion of a site, as we can see: 315.02 MB (41.79%) — compartment(http://social.static.globo.com/pc/sc/ind…) which is related to the following website opened: http://globoesporte.globo.com/futebol/times/gremio/ can anyone here look into it why that JS is eating up memory? certainly there´s a leakage there.

  12. I am wondering if these look normal.

    Main Process

    Explicit Allocations
    1,429.88 MB (100.0%) — explicit
    ├────740.53 MB (51.79%) — js
    │ ├──110.96 MB (07.76%) — compartment(http://www.hksilicon.com/kb/articles/384…)
    │ │ ├───47.54 MB (03.32%) — gc-heap
    │ │ │ ├──29.99 MB (02.10%) — objects
    │ │ │ ├──15.23 MB (01.07%) — shapes
    │ │ │ └───2.31 MB (00.16%) — (5 omitted)
    │ │ ├───32.84 MB (02.30%) — scripts
    │ │ ├───22.60 MB (01.58%) — mjit-code
    │ │ └────7.98 MB (00.56%) — (5 omitted)
    │ ├──100.69 MB (07.04%) — (59 omitted)
    │ ├───95.25 MB (06.66%) — compartment(http://mediacdn.disqus.com/1315436279/bu…)
    │ │ ├──48.99 MB (03.43%) — gc-heap
    │ │ │ ├──29.15 MB (02.04%) — objects
    │ │ │ ├──18.49 MB (01.29%) — shapes
    │ │ │ └───1.34 MB (00.09%) — (5 omitted)
    │ │ ├──26.83 MB (01.88%) — scripts
    │ │ ├──13.19 MB (00.92%) — mjit-code
    │ │ └───6.25 MB (00.44%) — (5 omitted)
    │ ├───93.23 MB (06.52%) — compartment(http://www.facebook.com/plugins/like.php…)
    │ │ ├──45.91 MB (03.21%) — gc-heap
    │ │ │ ├──25.60 MB (01.79%) — objects
    │ │ │ ├──19.19 MB (01.34%) — shapes
    │ │ │ └───1.12 MB (00.08%) — (5 omitted)
    │ │ ├──26.86 MB (01.88%) — scripts
    │ │ ├──13.75 MB (00.96%) — mjit-code
    │ │ └───6.71 MB (00.47%) — (5 omitted)
    │ ├───60.37 MB (04.22%) — compartment(https://plusone.google.com/u/0/_/+1/fast…)
    │ │ ├──28.86 MB (02.02%) — gc-heap
    │ │ │ ├──17.13 MB (01.20%) — objects
    │ │ │ ├──10.75 MB (00.75%) — shapes
    │ │ │ └───0.98 MB (00.07%) — (5 omitted)
    │ │ ├──17.82 MB (01.25%) — scripts
    │ │ ├───9.44 MB (00.66%) — mjit-code
    │ │ └───4.26 MB (00.30%) — (5 omitted)
    │ ├───33.92 MB (02.37%) — compartment([System Principal])
    │ │ ├──20.79 MB (01.45%) — gc-heap
    │ │ │ ├──10.18 MB (00.71%) — objects
    │ │ │ ├───7.40 MB (00.52%) — shapes
    │ │ │ └───3.21 MB (00.22%) — (5 omitted)
    │ │ └──13.13 MB (00.92%) — (7 omitted)
    │ ├───33.62 MB (02.35%) — compartment(http://unwire.hk/2011/09/08/nikon-5-new-…)
    │ │ ├──15.44 MB (01.08%) — gc-heap
    │ │ │ ├───8.71 MB (00.61%) — objects
    │ │ │ └───6.73 MB (00.47%) — (6 omitted)
    │ │ ├───9.22 MB (00.65%) — (6 omitted)
    │ │ └───8.96 MB (00.63%) — scripts
    │ ├───31.66 MB (02.21%) — compartment(http://www.tgdaily.com/space-features/58…)
    │ │ ├──16.20 MB (01.13%) — gc-heap
    │ │ │ ├───8.27 MB (00.58%) — objects
    │ │ │ └───7.92 MB (00.55%) — (6 omitted)
    │ │ ├───8.00 MB (00.56%) — scripts
    │ │ └───7.47 MB (00.52%) — (6 omitted)
    │ ├───30.45 MB (02.13%) — compartment(http://platform.twitter.com/widgets/twee…)
    │ │ ├──17.89 MB (01.25%) — gc-heap
    │ │ │ ├──10.08 MB (00.70%) — objects
    │ │ │ ├───7.57 MB (00.53%) — shapes
    │ │ │ └───0.25 MB (00.02%) — (5 omitted)
    │ │ └──12.56 MB (00.88%) — (7 omitted)
    │ ├───20.48 MB (01.43%) — compartment(http://www.google.com/eyeblaster/addiney…)
    │ │ ├──12.48 MB (00.87%) — (7 omitted)
    │ │ └───8.00 MB (00.56%) — gc-heap
    │ │ └──8.00 MB (00.56%) — (7 omitted)
    │ ├───17.86 MB (01.25%) — compartment(http://java.dzone.com/news/solr%E2%80%99…)
    │ │ └──17.86 MB (01.25%) — (8 omitted)
    │ ├───16.79 MB (01.17%) — compartment(http://www.tomshardware.com/news/ie10-be…)
    │ │ ├───9.20 MB (00.64%) — gc-heap
    │ │ │ └──9.20 MB (00.64%) — (7 omitted)
    │ │ └───7.59 MB (00.53%) — (7 omitted)
    │ ├───14.71 MB (01.03%) — gc-heap-chunk-unused
    │ ├───11.80 MB (00.82%) — compartment(http://www.readwriteweb.com/cloud/2011/0…)
    │ │ └──11.80 MB (00.82%) — (8 omitted)
    │ ├───11.72 MB (00.82%) — compartment(http://s7.addthis.com/static/r07/sh53.ht…)
    │ │ └──11.72 MB (00.82%) — (8 omitted)
    │ ├───11.67 MB (00.82%) — compartment(http://chinese.winandmac.com/news/new-it…)
    │ │ └──11.67 MB (00.82%) — (8 omitted)
    │ ├───11.59 MB (00.81%) — compartment(https://plus.google.com/u/0/_/notificati…)
    │ │ └──11.59 MB (00.81%) — (8 omitted)
    │ ├────9.65 MB (00.68%) — compartment(http://www.tuaw.com/2011/09/09/snow-leop…)
    │ │ └──9.65 MB (00.68%) — (8 omitted)
    │ ├────8.68 MB (00.61%) — compartment(http://googleads.g.doubleclick.net/pagea…)
    │ │ └──8.68 MB (00.61%) — (8 omitted)
    │ ├────8.09 MB (00.57%) — compartment(atoms)
    │ │ └──8.09 MB (00.57%) — (8 omitted)
    │ └────7.35 MB (00.51%) — compartment(http://www.macobserver.com/tmo/article/a…)
    │ └──7.35 MB (00.51%) — (8 omitted)
    ├────501.77 MB (35.09%) — heap-unclassified
    ├─────81.82 MB (05.72%) — layout
    │ ├──81.82 MB (05.72%) — all
    │ └───0.00 MB (00.00%) — (1 omitted)
    ├─────72.37 MB (05.06%) — storage
    │ └──72.37 MB (05.06%) — sqlite
    │ ├──39.05 MB (02.73%) — places.sqlite
    │ │ ├──38.79 MB (02.71%) — cache-used
    │ │ └───0.26 MB (00.02%) — (2 omitted)
    │ ├──25.34 MB (01.77%) — urlclassifier3.sqlite
    │ │ ├──25.26 MB (01.77%) — cache-used
    │ │ └───0.08 MB (00.01%) — (2 omitted)
    │ └───7.98 MB (00.56%) — (13 omitted)
    ├─────32.51 MB (02.27%) — images
    │ ├──32.04 MB (02.24%) — content
    │ │ ├──32.04 MB (02.24%) — used
    │ │ │ ├──22.87 MB (01.60%) — raw
    │ │ │ └───9.18 MB (00.64%) — uncompressed
    │ │ └───0.00 MB (00.00%) — (1 omitted)
    │ └───0.46 MB (00.03%) — (1 omitted)
    └──────0.88 MB (00.06%) — (1 omitted)

    Other Measurements
    1,723.23 MB — vsize
    1,530.05 MB — private
    1,409.32 MB — resident
    1,346.68 MB — heap-committed
    1,293.30 MB — heap-used
    369.00 MB — js-gc-heap
    136.70 MB — heap-unused
    15.38 MB — gfx-surface-win32
    2.31 MB — heap-dirty
    0.01 MB — gfx-surface-image
    0.00 MB — gfx-d2d-surfacecache
    0.00 MB — gfx-d2d-surfacevram

    To me that looks like there is a leakage somewhere.

  13. I chuckled at the ! given to the chap with 41 extensions installed. I have 104 in Firefox at the moment. I test FF Beta, Aurora, and Nightly, with all three installed, switching back and forth with a common profile, largely to see if anything breaks. For the record, I lost two in the FF 3.6->FF 4.0 transition, and none since. (Addons Compatibility Reporter is my friend.)

    Something is leaking. FF7 improved memory usage, but if I leave it up overnight, I’ll see WinXP memory usage as reported by Process Explorer go over 1GB, with only three or four tabs open. Finding out which extension is leaking would involve selectively disabling them one at a time, and restarting and leaving FF up for a long time to see if I still saw the memory usage growth. Do that up to 104 times to find the culprit? Sorry, but no. The work around is to periodically restart FF. Since I check for new updates to Aurora and Nightly on a daily basis, that’s not an imposition.

    I would love instrumentation that would report memory use by any individual extension. This is something I like about Google Chrome: their separate process per tab model also applies to add-ons, and I see an entry under Chrome’s top level listing in Process Explorer for each addon as well as each open tab. (Think Chrome is better because it uses less RAM? Add a few addons and see what happens…)

    I hope some sort of capability like this is on Mozilla’s radar screen for the future.
    _____
    Dennis

  14. I had an Add-on ( HyperTranslate 4.0.0 ) which was working normally, even on Nightlies. Αt some unspecified time ( 1-1.5 month ago ), it began to leak extreme amounts of memory over time. It’s like it doesn’t release anymore any memory. Is it possible to happened in conjunction with MeMshring program? I tried it even on latest Fx 7 b6 with same results. Check it out if you have time, cause it exceeds 1GB after less than one hour usage. 1 more translation addon causes the same behavior.

    Needless to say, if I uninstall it, everything works flawlessly. The only Translation add-on I found not causing this is “Quick Translator”

  15. since aurora updated to 9.0a2, memory-usage sometimes suddenly sky-rockets without a reason. in about 2 minutes memory goes from 400 MB to well over 1 GB without me even opening new tabs or really doing anything
    this is about:memory about half a minute before it reached over 2GB and I had to shut it down:
    Main Process

    Explicit Allocations
    751,443,456 B (100.0%) — explicit
    ├──520,815,160 B (69.31%) — heap-unclassified
    ├──199,907,654 B (26.60%) — js
    │ ├───98,802,192 B (13.15%) — compartment(atoms)
    │ │ ├──96,389,632 B (12.83%) — string-chars
    │ │ ├───2,412,544 B (00.32%) — gc-heap
    │ │ │ ├──2,336,560 B (00.31%) — strings
    │ │ │ ├─────62,272 B (00.01%) — arena-unused
    │ │ │ ├──────9,424 B (00.00%) — arena-headers
    │ │ │ └──────4,288 B (00.00%) — arena-padding
    │ │ └──────────16 B (00.00%) — analysis-temporary
    │ ├───40,904,720 B (05.44%) — compartment([System Principal], 0x4b62000)
    │ │ ├──19,943,424 B (02.65%) — gc-heap
    │ │ │ ├───8,965,560 B (01.19%) — objects
    │ │ │ ├───4,878,680 B (00.65%) — shapes
    │ │ │ ├───3,381,752 B (00.45%) — arena-unused
    │ │ │ ├───1,469,152 B (00.20%) — strings
    │ │ │ ├─────985,320 B (00.13%) — scripts
    │ │ │ ├─────115,936 B (00.02%) — type-objects
    │ │ │ ├──────77,904 B (00.01%) — arena-headers
    │ │ │ ├──────67,320 B (00.01%) — arena-padding
    │ │ │ └───────1,800 B (00.00%) — xml
    │ │ ├───7,471,104 B (00.99%) — mjit-code
    │ │ │ ├──7,238,700 B (00.96%) — method
    │ │ │ ├────230,748 B (00.03%) — regexp
    │ │ │ └──────1,656 B (00.00%) — unused
    │ │ ├───3,999,256 B (00.53%) — string-chars
    │ │ ├───2,509,896 B (00.33%) — object-slots
    │ │ ├───2,303,840 B (00.31%) — mjit-data
    │ │ ├───1,857,064 B (00.25%) — script-data
    │ │ ├───1,389,408 B (00.18%) — property-tables
    │ │ ├─────350,208 B (00.05%) — analysis-temporary
    │ │ ├─────348,224 B (00.05%) — tjit-data
    │ │ │ ├──174,080 B (00.02%) — allocators-main
    │ │ │ ├──122,944 B (00.02%) — trace-monitor
    │ │ │ └───51,200 B (00.01%) — allocators-reserve
    │ │ ├─────275,168 B (00.04%) — shape-kids
    │ │ ├─────176,056 B (00.02%) — type-inference
    │ │ │ ├──115,936 B (00.02%) — object-main
    │ │ │ └───60,120 B (00.01%) — script-main
    │ │ ├─────150,000 B (00.02%) — object-empty-shapes
    │ │ └─────131,072 B (00.02%) — tjit-code
    │ ├───19,344,674 B (02.57%) — compartment(https://mail.google.com/mail/?ui=2&shva=1#inbox)
    │ │ ├──10,723,328 B (01.43%) — gc-heap
    │ │ │ ├───4,191,624 B (00.56%) — objects
    │ │ │ ├───2,323,360 B (00.31%) — shapes
    │ │ │ ├───2,091,360 B (00.28%) — scripts
    │ │ │ ├───1,689,920 B (00.22%) — arena-unused
    │ │ │ ├─────221,632 B (00.03%) — type-objects
    │ │ │ ├─────129,888 B (00.02%) — strings
    │ │ │ ├──────41,888 B (00.01%) — arena-headers
    │ │ │ └──────33,656 B (00.00%) — arena-padding
    │ │ ├───3,489,480 B (00.46%) — script-data
    │ │ ├───1,507,328 B (00.20%) — mjit-code
    │ │ │ ├──1,286,864 B (00.17%) — method
    │ │ │ ├────157,052 B (00.02%) — regexp
    │ │ │ └─────63,412 B (00.01%) — unused
    │ │ ├───1,340,512 B (00.18%) — object-slots
    │ │ ├───1,117,280 B (00.15%) — property-tables
    │ │ ├─────529,944 B (00.07%) — type-inference
    │ │ │ ├──491,144 B (00.07%) — object-main
    │ │ │ ├───34,104 B (00.00%) — tables
    │ │ │ └────4,696 B (00.00%) — script-main
    │ │ ├─────294,386 B (00.04%) — string-chars
    │ │ ├─────155,168 B (00.02%) — shape-kids
    │ │ ├─────114,816 B (00.02%) — analysis-temporary
    │ │ └──────72,432 B (00.01%) — object-empty-shapes
    │ ├───12,993,912 B (01.73%) — gc-heap-chunk-dirty-unused
    │ ├────5,031,584 B (00.67%) — compartment(http://www.w3schools.com/jsref/dom_obj_form.asp)
    │ │ ├──2,789,376 B (00.37%) — gc-heap
    │ │ │ ├────961,176 B (00.13%) — objects
    │ │ │ ├────716,680 B (00.10%) — shapes
    │ │ │ ├────636,144 B (00.08%) — arena-unused
    │ │ │ ├────331,080 B (00.04%) — scripts
    │ │ │ ├────112,416 B (00.01%) — type-objects
    │ │ │ ├─────13,664 B (00.00%) — strings
    │ │ │ ├─────10,896 B (00.00%) — arena-headers
    │ │ │ └──────7,320 B (00.00%) — arena-padding
    │ │ ├────851,968 B (00.11%) — mjit-code
    │ │ │ ├──724,344 B (00.10%) — method
    │ │ │ ├──117,740 B (00.02%) — regexp
    │ │ │ └────9,884 B (00.00%) — unused
    │ │ ├────687,856 B (00.09%) — script-data
    │ │ ├────249,344 B (00.03%) — property-tables
    │ │ ├────207,952 B (00.03%) — type-inference
    │ │ │ ├──190,256 B (00.03%) — object-main
    │ │ │ └───17,696 B (00.00%) — tables
    │ │ ├────158,072 B (00.02%) — object-slots
    │ │ ├─────31,424 B (00.00%) — shape-kids
    │ │ ├─────22,632 B (00.00%) — string-chars
    │ │ ├─────19,904 B (00.00%) — analysis-temporary
    │ │ └─────13,056 B (00.00%) — object-empty-shapes
    │ ├────4,762,532 B (00.63%) — compartment(https://www.youtube.com/watch?v=1OR7FF7nAc8&feature=autoplay&list=PLF9A1B74159F76784&lf=plpp&playnext=25&shuffle=865171)
    │ │ ├──2,531,328 B (00.34%) — gc-heap
    │ │ │ ├────857,104 B (00.11%) — objects
    │ │ │ ├────605,400 B (00.08%) — shapes
    │ │ │ ├────547,408 B (00.07%) — arena-unused
    │ │ │ ├────394,800 B (00.05%) — scripts
    │ │ │ ├────101,280 B (00.01%) — type-objects
    │ │ │ ├──────9,888 B (00.00%) — arena-headers
    │ │ │ ├──────8,576 B (00.00%) — strings
    │ │ │ └──────6,872 B (00.00%) — arena-padding
    │ │ ├────720,896 B (00.10%) — mjit-code
    │ │ │ ├──635,136 B (00.08%) — method
    │ │ │ ├───82,596 B (00.01%) — regexp
    │ │ │ └────3,164 B (00.00%) — unused
    │ │ ├────702,480 B (00.09%) — script-data
    │ │ ├────285,120 B (00.04%) — property-tables
    │ │ ├────216,444 B (00.03%) — type-inference
    │ │ │ ├──169,376 B (00.02%) — object-main
    │ │ │ ├───24,956 B (00.00%) — script-main
    │ │ │ └───22,112 B (00.00%) — tables
    │ │ ├────202,648 B (00.03%) — object-slots
    │ │ ├─────40,640 B (00.01%) — shape-kids
    │ │ ├─────30,848 B (00.00%) — analysis-temporary
    │ │ ├─────20,224 B (00.00%) — string-chars
    │ │ └─────11,904 B (00.00%) — object-empty-shapes
    │ ├────4,357,664 B (00.58%) — compartment(http://nl.wikipedia.org/wiki/Kernspinresonantie)
    │ │ ├──2,138,112 B (00.28%) — gc-heap
    │ │ │ ├────689,088 B (00.09%) — objects
    │ │ │ ├────602,712 B (00.08%) — arena-unused
    │ │ │ ├────520,920 B (00.07%) — shapes
    │ │ │ ├────213,120 B (00.03%) — scripts
    │ │ │ ├─────85,920 B (00.01%) — type-objects
    │ │ │ ├─────11,024 B (00.00%) — strings
    │ │ │ ├──────8,352 B (00.00%) — arena-headers
    │ │ │ └──────6,976 B (00.00%) — arena-padding
    │ │ ├──1,179,648 B (00.16%) — mjit-code
    │ │ │ ├──1,052,424 B (00.14%) — method
    │ │ │ ├────104,920 B (00.01%) — regexp
    │ │ │ └─────22,304 B (00.00%) — unused
    │ │ ├────530,592 B (00.07%) — script-data
    │ │ ├────181,696 B (00.02%) — property-tables
    │ │ ├────163,616 B (00.02%) — type-inference
    │ │ │ ├──128,176 B (00.02%) — object-main
    │ │ │ └───35,440 B (00.00%) — tables
    │ │ ├─────87,232 B (00.01%) — object-slots
    │ │ ├─────39,616 B (00.01%) — shape-kids
    │ │ ├─────24,752 B (00.00%) — string-chars
    │ │ ├──────6,688 B (00.00%) — analysis-temporary
    │ │ └──────5,712 B (00.00%) — object-empty-shapes
    │ ├────2,608,500 B (00.35%) — compartment(https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=11&ct=1317407969&rver=6.1.6206.0&wp=MBI_SSL_SHARED&wreply=https:%2F%2Fmail.live.com%2Fdefault.aspx%3Fid%3D64855&lc=1043&id=64855&mkt=nl-NL&cbcxt=mai#!/mail/InboxLight.aspx?n=2111373823!fid=5&n=1548451555)
    │ │ ├──1,769,472 B (00.24%) — gc-heap
    │ │ │ ├────741,104 B (00.10%) — arena-unused
    │ │ │ ├────544,080 B (00.07%) — objects
    │ │ │ ├────325,880 B (00.04%) — shapes
    │ │ │ ├────118,080 B (00.02%) — scripts
    │ │ │ ├─────19,648 B (00.00%) — type-objects
    │ │ │ ├──────8,968 B (00.00%) — arena-padding
    │ │ │ ├──────6,912 B (00.00%) — arena-headers
    │ │ │ └──────4,800 B (00.00%) — strings
    │ │ ├────262,144 B (00.03%) — mjit-code
    │ │ │ ├──201,304 B (00.03%) — method
    │ │ │ ├───51,772 B (00.01%) — unused
    │ │ │ └────9,068 B (00.00%) — regexp
    │ │ ├────221,472 B (00.03%) — script-data
    │ │ ├────147,168 B (00.02%) — property-tables
    │ │ ├─────90,848 B (00.01%) — object-slots
    │ │ ├─────68,560 B (00.01%) — type-inference
    │ │ │ ├──58,184 B (00.01%) — object-main
    │ │ │ └──10,376 B (00.00%) — tables
    │ │ ├─────28,480 B (00.00%) — shape-kids
    │ │ ├─────10,448 B (00.00%) — analysis-temporary
    │ │ ├──────5,664 B (00.00%) — object-empty-shapes
    │ │ └──────4,244 B (00.00%) — string-chars
    │ ├────2,269,184 B (00.30%) — runtime
    │ │ ├──2,097,152 B (00.28%) — atoms-table
    │ │ └────172,032 B (00.02%) — runtime-object
    │ ├────1,705,152 B (00.23%) — compartment(http://localhost:8080/)
    │ │ ├──1,073,152 B (00.14%) — gc-heap
    │ │ │ ├────682,640 B (00.09%) — arena-unused
    │ │ │ ├────175,232 B (00.02%) — objects
    │ │ │ ├────139,360 B (00.02%) — shapes
    │ │ │ ├─────48,480 B (00.01%) — scripts
    │ │ │ ├─────17,664 B (00.00%) — type-objects
    │ │ │ ├──────4,192 B (00.00%) — arena-headers
    │ │ │ ├──────3,328 B (00.00%) — strings
    │ │ │ └──────2,256 B (00.00%) — arena-padding
    │ │ ├────327,680 B (00.04%) — mjit-code
    │ │ │ ├──214,528 B (00.03%) — method
    │ │ │ ├───78,932 B (00.01%) — regexp
    │ │ │ └───34,220 B (00.00%) — unused
    │ │ ├────121,920 B (00.02%) — property-tables
    │ │ ├────101,400 B (00.01%) — script-data
    │ │ ├─────35,648 B (00.00%) — type-inference
    │ │ │ ├──27,456 B (00.00%) — object-main
    │ │ │ └───8,192 B (00.00%) — tables
    │ │ ├─────25,792 B (00.00%) — object-slots
    │ │ ├──────7,712 B (00.00%) — shape-kids
    │ │ ├──────7,632 B (00.00%) — string-chars
    │ │ ├──────2,440 B (00.00%) — analysis-temporary
    │ │ └──────1,776 B (00.00%) — object-empty-shapes
    │ ├────1,519,360 B (00.20%) — compartment(https://strabrecht.swp.nl/5.3.4/Magister.aspx?ReturnUrl=%2f5.3.3.2%2f)
    │ │ ├────827,392 B (00.11%) — gc-heap
    │ │ │ ├──278,600 B (00.04%) — objects
    │ │ │ ├──253,600 B (00.03%) — shapes
    │ │ │ ├──135,840 B (00.02%) — scripts
    │ │ │ ├──124,528 B (00.02%) — arena-unused
    │ │ │ ├───25,984 B (00.00%) — type-objects
    │ │ │ ├────4,208 B (00.00%) — strings
    │ │ │ ├────3,232 B (00.00%) — arena-headers
    │ │ │ └────1,400 B (00.00%) — arena-padding
    │ │ ├────248,032 B (00.03%) — script-data
    │ │ ├────196,608 B (00.03%) — mjit-code
    │ │ │ ├──119,156 B (00.02%) — method
    │ │ │ ├───38,732 B (00.01%) — unused
    │ │ │ └───38,720 B (00.01%) — regexp
    │ │ ├─────75,072 B (00.01%) — type-inference
    │ │ │ ├──69,088 B (00.01%) — object-main
    │ │ │ └───5,984 B (00.00%) — tables
    │ │ ├─────66,400 B (00.01%) — property-tables
    │ │ ├─────43,392 B (00.01%) — object-slots
    │ │ ├─────27,616 B (00.00%) — shape-kids
    │ │ ├─────22,448 B (00.00%) — analysis-temporary
    │ │ ├──────9,232 B (00.00%) — string-chars
    │ │ └──────3,168 B (00.00%) — object-empty-shapes
    │ ├────1,345,532 B (00.18%) — compartment(http://rooster.strabrecht.nl/weken/Dagelijks/39/s/s00406.htm?randint=78184&ri=0.7538216099034857&ri=0.44013975634774216&ri=0.44526598396453043&ri=0.5139050751887461)
    │ │ ├────798,720 B (00.11%) — gc-heap
    │ │ │ ├──286,632 B (00.04%) — arena-unused
    │ │ │ ├──253,808 B (00.03%) — objects
    │ │ │ ├──246,120 B (00.03%) — shapes
    │ │ │ ├────4,544 B (00.00%) — type-objects
    │ │ │ ├────3,240 B (00.00%) — scripts
    │ │ │ ├────3,120 B (00.00%) — arena-headers
    │ │ │ └────1,256 B (00.00%) — arena-padding
    │ │ ├────165,952 B (00.02%) — tjit-data
    │ │ │ ├───79,936 B (00.01%) — trace-monitor
    │ │ │ ├───51,200 B (00.01%) — allocators-reserve
    │ │ │ └───34,816 B (00.00%) — allocators-main
    │ │ ├────131,072 B (00.02%) — mjit-code
    │ │ │ ├───70,972 B (00.01%) — method
    │ │ │ └───60,100 B (00.01%) — unused
    │ │ ├────131,072 B (00.02%) — tjit-code
    │ │ ├─────77,312 B (00.01%) — object-slots
    │ │ ├─────23,712 B (00.00%) — property-tables
    │ │ ├──────4,944 B (00.00%) — object-empty-shapes
    │ │ ├──────4,764 B (00.00%) — type-inference
    │ │ │ ├──4,544 B (00.00%) — object-main
    │ │ │ └────220 B (00.00%) — script-main
    │ │ ├──────4,000 B (00.00%) — shape-kids
    │ │ ├──────3,968 B (00.00%) — script-data
    │ │ └─────────16 B (00.00%) — analysis-temporary
    │ ├────1,179,424 B (00.16%) — compartment(http://input.mozilla.com/nl/feedback)
    │ │ ├────622,592 B (00.08%) — gc-heap
    │ │ │ ├──315,600 B (00.04%) — arena-unused
    │ │ │ ├──135,864 B (00.02%) — objects
    │ │ │ ├───92,720 B (00.01%) — shapes
    │ │ │ ├───53,040 B (00.01%) — scripts
    │ │ │ ├───18,016 B (00.00%) — type-objects
    │ │ │ ├────3,504 B (00.00%) — strings
    │ │ │ ├────2,432 B (00.00%) — arena-headers
    │ │ │ └────1,416 B (00.00%) — arena-padding
    │ │ ├────327,680 B (00.04%) — mjit-code
    │ │ │ ├──216,884 B (00.03%) — method
    │ │ │ ├───59,128 B (00.01%) — regexp
    │ │ │ └───51,668 B (00.01%) — unused
    │ │ ├────107,032 B (00.01%) — script-data
    │ │ ├─────48,640 B (00.01%) — property-tables
    │ │ ├─────32,416 B (00.00%) — type-inference
    │ │ │ ├──28,320 B (00.00%) — object-main
    │ │ │ └───4,096 B (00.00%) — tables
    │ │ ├─────17,584 B (00.00%) — object-slots
    │ │ ├─────12,608 B (00.00%) — shape-kids
    │ │ ├──────7,984 B (00.00%) — string-chars
    │ │ ├──────1,928 B (00.00%) — analysis-temporary
    │ │ └────────960 B (00.00%) — object-empty-shapes
    │ ├────1,029,264 B (00.14%) — compartment(http://smk-rooster.appspot.com/rooster?naam=koop)
    │ │ ├────479,232 B (00.06%) — gc-heap
    │ │ │ ├──181,800 B (00.02%) — objects
    │ │ │ ├──145,600 B (00.02%) — shapes
    │ │ │ ├───78,664 B (00.01%) — arena-unused
    │ │ │ ├───48,960 B (00.01%) — scripts
    │ │ │ ├───18,048 B (00.00%) — type-objects
    │ │ │ ├────3,328 B (00.00%) — strings
    │ │ │ ├────1,872 B (00.00%) — arena-headers
    │ │ │ └──────960 B (00.00%) — arena-padding
    │ │ ├────327,680 B (00.04%) — mjit-code
    │ │ │ ├──244,500 B (00.03%) — method
    │ │ │ ├───55,764 B (00.01%) — unused
    │ │ │ └───27,416 B (00.00%) — regexp
    │ │ ├────101,880 B (00.01%) — script-data
    │ │ ├─────41,920 B (00.01%) — property-tables
    │ │ ├─────32,144 B (00.00%) — type-inference
    │ │ │ ├──28,048 B (00.00%) — object-main
    │ │ │ └───4,096 B (00.00%) — tables
    │ │ ├─────26,640 B (00.00%) — object-slots
    │ │ ├──────7,872 B (00.00%) — shape-kids
    │ │ ├──────7,696 B (00.00%) — string-chars
    │ │ ├──────2,232 B (00.00%) — analysis-temporary
    │ │ └──────1,968 B (00.00%) — object-empty-shapes
    │ ├──────936,584 B (00.12%) — gc-heap-chunk-admin
    │ ├──────735,944 B (00.10%) — compartment(about:blank)
    │ │ ├──675,840 B (00.09%) — gc-heap
    │ │ │ ├──469,304 B (00.06%) — arena-unused [11]
    │ │ │ ├──106,920 B (00.01%) — objects [11]
    │ │ │ ├───89,760 B (00.01%) — shapes [11]
    │ │ │ ├────3,872 B (00.00%) — type-objects [11]
    │ │ │ ├────2,640 B (00.00%) — arena-headers [11]
    │ │ │ ├────2,024 B (00.00%) — arena-padding [11]
    │ │ │ └────1,320 B (00.00%) — scripts [11]
    │ │ ├───39,424 B (00.01%) — object-slots [11]
    │ │ ├────8,096 B (00.00%) — property-tables [11]
    │ │ ├────5,280 B (00.00%) — shape-kids [11]
    │ │ ├────3,872 B (00.00%) — type-inference
    │ │ │ └──3,872 B (00.00%) — object-main [11]
    │ │ ├────3,168 B (00.00%) — object-empty-shapes [11]
    │ │ ├──────176 B (00.00%) — analysis-temporary [11]
    │ │ └───────88 B (00.00%) — script-data [11]
    │ ├──────262,144 B (00.03%) — stack
    │ ├───────83,296 B (00.01%) — compartment([System Principal], jar:file:///C:/Users/Simon/AppData/Roaming/Mozilla/Firefox/Profiles/f326f9n5.default/extensions/ping.telemetry@mozilla.com.xpi!/bootstrap.js, 0x57d0000)
    │ │ ├──69,632 B (00.01%) — gc-heap
    │ │ │ ├──45,352 B (00.01%) — arena-unused
    │ │ │ ├──11,944 B (00.00%) — objects
    │ │ │ ├───9,280 B (00.00%) — shapes
    │ │ │ ├───2,040 B (00.00%) — scripts
    │ │ │ ├─────448 B (00.00%) — type-objects
    │ │ │ ├─────280 B (00.00%) — arena-padding
    │ │ │ ├─────272 B (00.00%) — arena-headers
    │ │ │ └──────16 B (00.00%) — strings
    │ │ ├───4,688 B (00.00%) — script-data
    │ │ ├───3,328 B (00.00%) — property-tables
    │ │ ├───3,216 B (00.00%) — object-slots
    │ │ ├───1,120 B (00.00%) — shape-kids
    │ │ ├─────528 B (00.00%) — type-inference
    │ │ │ ├──448 B (00.00%) — object-main
    │ │ │ └───80 B (00.00%) — script-main
    │ │ ├─────480 B (00.00%) — object-empty-shapes
    │ │ ├─────288 B (00.00%) — string-chars
    │ │ └──────16 B (00.00%) — analysis-temporary
    │ ├───────35,992 B (00.00%) — compartment(moz-nullprincipal:{23d12515-55a7-47df-928a-83204d483907})
    │ │ ├──32,768 B (00.00%) — gc-heap
    │ │ │ ├──26,592 B (00.00%) — arena-unused
    │ │ │ ├───3,480 B (00.00%) — objects
    │ │ │ ├───2,240 B (00.00%) — shapes
    │ │ │ ├─────128 B (00.00%) — arena-headers
    │ │ │ ├─────120 B (00.00%) — scripts
    │ │ │ ├─────112 B (00.00%) — arena-padding
    │ │ │ └──────96 B (00.00%) — type-objects
    │ │ ├───2,544 B (00.00%) — object-slots
    │ │ ├─────256 B (00.00%) — property-tables
    │ │ ├─────160 B (00.00%) — shape-kids
    │ │ ├─────144 B (00.00%) — object-empty-shapes
    │ │ ├──────96 B (00.00%) — type-inference
    │ │ │ └──96 B (00.00%) — object-main
    │ │ ├──────16 B (00.00%) — analysis-temporary
    │ │ └───────8 B (00.00%) — script-data
    │ └────────────0 B (00.00%) — gc-heap-chunk-clean-unused
    ├───14,225,656 B (01.89%) — layout
    │ ├───2,305,436 B (00.31%) — shell(https://mail.google.com/mail/?ui=2&view=bsp&ver=ohhl4rw8mbn4)
    │ │ ├──1,417,180 B (00.19%) — styledata [3]
    │ │ └────888,256 B (00.12%) — arenas [3]
    │ ├───1,525,428 B (00.20%) — shell(https://www.youtube.com/watch?v=rhN7SG-H-3k)
    │ │ ├────892,068 B (00.12%) — styledata [2]
    │ │ └────633,360 B (00.08%) — arenas [2]
    │ ├─────970,856 B (00.13%) — shell(http://nl.wikipedia.org/wiki/Hoofdpagina)
    │ │ ├──579,904 B (00.08%) — arenas
    │ │ └──390,952 B (00.05%) — styledata
    │ ├─────769,744 B (00.10%) — shell(https://mail.google.com/mail/?ui=2&shva=1#inbox)
    │ │ ├──702,912 B (00.09%) — styledata
    │ │ └───66,832 B (00.01%) — arenas
    │ ├─────723,004 B (00.10%) — shell(chrome://browser/content/browser.xul)
    │ │ ├──581,104 B (00.08%) — arenas
    │ │ └──141,900 B (00.02%) — styledata
    │ ├─────697,472 B (00.09%) — shell(about:blank)
    │ │ ├──523,920 B (00.07%) — styledata [12]
    │ │ └──173,552 B (00.02%) — arenas [12]
    │ ├─────691,144 B (00.09%) — shell(http://nl.wikipedia.org/wiki/Kernspinresonantie)
    │ │ ├──390,952 B (00.05%) — styledata
    │ │ └──300,192 B (00.04%) — arenas
    │ ├─────595,032 B (00.08%) — shell(http://www.w3schools.com/jquery/jquery_effects.asp)
    │ │ ├──371,848 B (00.05%) — styledata
    │ │ └──223,184 B (00.03%) — arenas
    │ ├─────583,140 B (00.08%) — shell(https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=11&ct=1317407969&rver=6.1.6206.0&wp=MBI_SSL_SHARED&wreply=https:%2F%2Fmail.live.com%2Fdefault.aspx%3Fid%3D64855&lc=1043&id=64855&mkt=nl-NL&cbcxt=mai#!/mail/InboxLight.aspx?n=2111373823!fid=5&n=1548451555)
    │ │ ├──371,956 B (00.05%) — styledata
    │ │ └──211,184 B (00.03%) — arenas
    │ ├─────555,128 B (00.07%) — shell(http://rooster.strabrecht.nl/weken/Dagelijks/40/c/c00044.htm)
    │ │ ├──360,392 B (00.05%) — styledata
    │ │ └──194,736 B (00.03%) — arenas
    │ ├─────503,784 B (00.07%) — shell(http://rooster.strabrecht.nl/weken/Dagelijks/frames/navbar.htm)
    │ │ ├──360,392 B (00.05%) — styledata
    │ │ └──143,392 B (00.02%) — arenas
    │ ├─────459,128 B (00.06%) — shell(https://mail.google.com/mail/?ui=2&view=js&name=main,tlist,ptlist&ver=4jcrGvEdA68.nl.&am=!UWhoknh25chVJL3uu7THQnUA4AiTmYcqpzM93B4hULoyj3mYpQ2gPz_Hc63X4zw_)
    │ │ ├──398,440 B (00.05%) — styledata [2]
    │ │ └───60,688 B (00.01%) — arenas [2]
    │ ├─────440,048 B (00.06%) — shell(http://www.w3schools.com/jquery/tryit_view.asp?filename=tryjquery_slide_toggle)
    │ │ ├──359,104 B (00.05%) — styledata
    │ │ └───80,944 B (00.01%) — arenas
    │ ├─────422,888 B (00.06%) — shell(http://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_slide_toggle)
    │ │ ├──357,848 B (00.05%) — styledata
    │ │ └───65,040 B (00.01%) — arenas
    │ ├─────412,892 B (00.05%) — shell(https://strabrecht.swp.nl/5.3.4/Magister.aspx?ReturnUrl=%2f5.3.3.2%2f)
    │ │ ├──359,132 B (00.05%) — styledata
    │ │ └───53,760 B (00.01%) — arenas
    │ ├─────399,620 B (00.05%) — shell(http://localhost:8080/)
    │ │ ├──359,076 B (00.05%) — styledata
    │ │ └───40,544 B (00.01%) — arenas
    │ ├─────394,856 B (00.05%) — shell(http://smk-rooster.appspot.com/rooster?naam=koop)
    │ │ ├──359,128 B (00.05%) — styledata
    │ │ └───35,728 B (00.00%) — arenas
    │ ├─────387,464 B (00.05%) — shell(http://rooster.strabrecht.nl/weken/Dagelijks/39/s/s00407.htm?randint=803010&ri=0.7126034618737914&ri=0.978281178856681&ri=0.6693260433518361&ri=0.1904411708567888&ri=0.9160252091744973&ri=0.29623184305564576&ri=0.3753688127710969&ri=0.3395994561286515&ri=0.8019775152169156&ri=0.8612801779468641&ri=0.06913060712940045&ri=0.10537114561845695&ri=0.5080392477865653&ri=0.3107104369164442&ri=0.0011336491505316015&ri=0.19134538410823776&ri=0.656787521945376&ri=0.6019684328629857&ri=0.8001292221807307&ri=0.5570530003224788&ri=0.7030658157342508&ri=0.22652209718021088&ri=0.9463730601560479&ri=0.2661348108076357&ri=0.5576802820737667&ri=0.8573767771378136&ri=0.10140665984163544&ri=0.12949291215261405&ri=0.7101805257805072&ri=0.2154015154323068&ri=0.6420016131375541&ri=0.05358118483289698&ri=0.323381133242962&ri=0.18962279782351754&ri=0.9959224218432385&ri=0.2539911015758387&ri=0.022280231125071492&ri=0.4966414985384491&ri=0.6271647064106852&ri=0.7444892199920048&ri=0.3500311157721909&ri=0.414330023448221&ri=0.768324502046502&ri=0.761662653535757&ri=0.11362349045787079&ri=0.37496516463296836&ri=0.24775539723069384&ri=0.03532863976963596&ri=0.09193038939913434&ri=0.452953405570091&ri=0.009169334672192386&ri=0.06486450744632599&ri=0.8287769755013576&ri=0.03230464504615038&ri=0.1713375689986838&ri=0.8116143774495894&ri=0.48368783465281895&ri=0.18901090766445028&ri=0.7255480258838357&ri=0.46752868304111794&ri=0.9629683351318328&ri=0.5734858078829239&ri=0.21847516202870665&ri=0.21019292641107623&ri=0.8037770996296284&ri=0.828221566422362&ri=0.018118756964953908&ri=0.10440180913334718&ri=0.533845180803631&ri=0.8258193683313448&ri=0.010467818053008338&ri=0.560434997061064&ri=0.4794986227858554&ri=0.2625496007775938&ri=0.8245456645643856&ri=0.009190858429112825&ri=0.24464037954068207&ri=0.392598124930554&ri=0.9334927969043938&ri=0.7043343388416436&ri=0.33334805642988685&ri=0.9381548443334408&ri=0.22934359451266517&ri=0.8116151703502433&ri=0.6387435725390633&ri=0.46050067197549827&ri=0.9191529791111969&ri=0.19551291357693334&ri=0.7707910238587985&ri=0.7272494937388293&ri=0.840129526421581&ri=0.5633647097126809&ri=0.44567903113925&ri=0.8609010292648692&ri=0.5414312300763351&ri=0.8771322934996514&ri=0.4094438897643926&ri=0.3038610165515079&ri=0.7302799314594364&ri=0.19296447930401628&ri=0.6184896042989052&ri=0.8850848820962551&ri=0.9300510438840641&ri=0.33871118709980697&ri=0.6496610728999005&ri=0.5235013154458725&ri=0.44799448798510577&ri=0.08954540673514189&ri=0.5625270183365312&ri=0.3533717684068338&ri=0.00024332517340031057&ri=0.7518494131704782&ri=0.6865282975103232&ri=0.3067422307218146&ri=0.5917661326891448&ri=0.3155212659817669&ri=0.05564846189075345&ri=0.4381436973473434&ri=0.4989195400462103&ri=0.5848580324780309&ri=0.4632623572211134&ri=0.5266971650477525&ri=0.4522571566693112&ri=0.9481719390895995&ri=0.35981931453421045&ri=0.740779953420174&ri=0.3672510050419676&ri=0.6962956445073606&ri=0.0660169816032703&ri=0.4004090614058462&ri=0.22058181582707403&ri=0.050132921185647494&ri=0.024122205306560396&ri=0.12249819794028605&ri=0.9196545451471769&ri=0.30741105044783346&ri=0.060095006580517696&ri=0.8841445628760403&ri=0.26299498619853257&ri=0.7687910762462187&ri=0.8791722596055753&ri=0.7891016964556047&ri=0.33918428987146554&ri=0.3534921706612171&ri=0.2675667965245071&ri=0.5725945107211298&ri=0.9619870802865844&ri=0.06458663617104088&ri=0.7229387057996768&ri=0.12963299250185345&ri=0.9893298085560199&ri=0.7141211495763757&ri=0.48629482118049305&ri=0.6019805647060097&ri=0.6237853659553718&ri=0.5682214506140807&ri=0.19797258079159008&ri=0.8089335881075735&ri=0.0422203986498505&ri=0.8223357001647942&ri=0.6503647376007724&ri=0.05706814681678429&ri=0.9522613675120425&ri=0.06677352482396537&ri=0.3600408549080858&ri=0.6141101898428725&ri=0.9232357579218846&ri=0.15269672524983335&ri=0.9319223288853731&ri=0.3820857158303185&ri=0.5892446246473049&ri=0.11871768903181423&ri=0.4381665514327112&ri=0.5549068275079072&ri=0.07202277983856731&ri=0.08826226780378188&ri=0.28441706713979586&ri=0.2955500970627475&ri=0.22124265277258826&ri=0.2978527048602855&ri=0.2860754940808654&ri=0.7179835532662588&ri=0.5199186136679984&ri=0.6664675890670274&ri=0.9272517716585847&ri=0.7089982621777176&ri=0.7525671718090293&ri=0.5661343989719033&ri=0.02504891500741424&ri=0.375101207133136&ri=0.7837801457728021&ri=0.7039115011492175&ri=0.27183839958763045&ri=0.14962517907474582&ri=0.04486652147190262&ri=0.2754152933432461&ri=0.3781825864485199&ri=0.845212464885246&ri=0.5762194178039872&ri=0.8000491552780868&ri=0.7890603192424951&ri=0.18682808203498946&ri=0.7230644642161679&ri=0.29809026277841455&ri=0.1960520513145897&ri=0.6104592354475592&ri=0.8322456299963126&ri=0.7197906374954388&ri=0.31814064139966214&ri=0.36265688645294036&ri=0.5477051001716534&ri=0.7866485400367482&ri=0.6737841986035057&ri=0.1860760873819982&ri=0.5523131111669656&ri=0.6550064372333052&ri=0.31691697363916405&ri=0.12617083011043273&ri=0.8537041250358747&ri=0.062132046223047355&ri=0.7595350122707785&ri=0.2442001887657953&ri=0.9617757397052942&ri=0.8649384998198443&ri=0.5535222028578125&ri=0.27170152725747754&ri=0.5555062744622938&ri=0.13149981547230172&ri=0.2543736053153376&ri=0.4915873357764192&ri=0.48674755478327214&ri=0.19551812206309338&ri=0.7394717455372891&ri=0.3810219810145091&ri=0.21864905180157024&ri=0.33389878960040875&ri=0.10357254653153647&ri=0.8012342115441061&ri=0.04636952053379162&ri=0.9775896552818779&ri=0.6041569155898072&ri=0.7694222171977156&ri=0.6977326572394122&ri=0.6158407815552044&ri=0.3793043234651797&ri=0.09790703173418569&ri=0.16148268906594676&ri=0.804040693786707&ri=0.9107446109470214&ri=0.43569084666345803&ri=0.8407963343978714&ri=0.9352857343276775&ri=0.4547442321462182&ri=0.4975762713853984&ri=0.37970750154698363&ri=0.6858384433368536&ri=0.9134832220346364&ri=0.5160030255583558&ri=0.7601006799146597&ri=0.29463131257626984&ri=0.8695792540138536&ri=0.20075785298381377&ri=0.5169294732200791&ri=0.08697235153000626&ri=0.7564147248798133&ri=0.7417146719140074&ri=0.16931648969519653&ri=0.9026084767869751&ri=0.3869234639264383&ri=0.6397603412869346&ri=0.21519089727949792&ri=0.3383030075750696&ri=0.3134931600170485&ri=0.40106293113576597&ri=0.28711964264848644&ri=0.965083673268586&ri=0.741639574375398&ri=0.3798385397787566&ri=0.31698903698970526&ri=0.9303172145905703&ri=0.9701092960268489&ri=0.30477276372569784&ri=0.807192401886437&ri=0.6047669470790946&ri=0.5800666084525965&ri=0.27425334719475447&ri=0.5559805154757931&ri=0.18478940579201908&ri=0.8460214702566242&ri=0.2555699905158536&ri=0.43463079811048977&ri=0.4098265217756305&ri=0.09115403684727019&ri=0.3732377921604064&ri=0.06409173182186512&ri=0.8053492928095212&ri=0.95969279298831&ri=0.5216004154322392&ri=0.48875843046169265&ri=0.1114095554152914&ri=0.8290019690905979&ri=0.08686935770196602&ri=0.1950359367767316&ri=0.8069556939815699&ri=0.8340346032940124&ri=0.8137553312632926&ri=0.07234639426156853&ri=0.8900690355539652&ri=0.22680779392867978&ri=0.10184848387077328&ri=0.16423617085479014&ri=0.32427665438373465&ri=0.043555990315160775&ri=0.2669031029590604&ri=0.30723947720481315&ri=0.8110971932227529&ri=0.30221887394315206&ri=0.5521835092514253&ri=0.005154608724476262&ri=0.7989758799439819&ri=0.202919849351745&ri=0.925027223341848&ri=0.13638872086136866&ri=0.8887648770884476&ri=0.05409164459672611&ri=0.9437816415718737&ri=0.34202824282905797&ri=0.0459053291824395&ri=0.8969049586715764&ri=0.23027044634756888&ri=0.1922900569152306&ri=0.279467357184648&ri=0.05065679732868622&ri=0.3329462330869307&ri=0.47901070507409826&ri=0.698204104136634&ri=0.05177436761221543&ri=0.015885198963472957&ri=0.23182926400914705&ri=0.10377632724550645&ri=0.7090909564822795&ri=0.2587804873950549&ri=0.3057203085379725&ri=0.5313035436146535&ri=0.24805014812963067&ri=0.5030903240163135&ri=0.6375332824481141&ri=0.3973981428950163&ri=0.7664943508750965&ri=0.929497143202999&ri=0.5191944507664717&ri=0.16583863053494552&ri=0.4746942192209457&ri=0.8018340122499253&ri=0.48522762599134606&ri=0.69103833294474&ri=0.44227487489321604&ri=0.16263458952373755&ri=0.662250132782332&ri=0.6494656462975241&ri=0.8246955347939172&ri=0.41546293114279254&ri=0.678100062096073&ri=0.719172346547076&ri=0.7919383975480805&ri=0.5791792111419963&ri=0.47825095888813984&ri=0.4175859604278771&ri=0.6320634785209511&ri=0.24929778143360581&ri=0.6471706723718775&ri=0.757722558555805&ri=0.7522852524408793&ri=0.5515938674898377&ri=0.08228004356790608&ri=0.13297626096737836&ri=0.5502275774363669&ri=0.6231148417705519&ri=0.11816803247524688&ri=0.09064154054449869&ri=0.37801306509663013&ri=0.40575278060378395&ri=0.44871945878666175&ri=0.904324830729433&ri=0.07184328840774934&ri=0.7875340453767217&ri=0.444811638104212&ri=0.10540148572407848&ri=0.7697257612057673&ri=0.3767826011954776&ri=0.7152358864119457&ri=0.383674279203289&ri=0.9900043268679662&ri=0.44431305974041224&ri=0.0085006888517829&ri=0.5173900783321704&ri=0.19334886753194502&ri=0.8188096751876238&ri=0.8031722894926715&ri=0.24277035012590376&ri=0.3008608896073385&ri=0.7705477940134174&ri=0.18440905855482492&ri=0.22321239771232204&ri=0.8909509788261868&ri=0.16861365227624425&ri=0.8543461909912405&ri=0.5283170207887044&ri=0.04764449433228324&ri=0.4467790733469873&ri=0.3739864744901198&ri=0.28289922216153074&ri=0.08297169622118372&ri=0.1631872502547277&ri=0.9842539117683875&ri=0.3961379750356263&ri=0.6060987132841091&ri=0.1890055621218405&ri=0.6038659873739958&ri=0.5310215164792467&ri=0.6618554485098761&ri=0.8112023464630315&ri=0.8516811776026938&ri=0.7242441593797896&ri=0.9113165087231223&ri=0.28460295842397476&ri=0.19117775451727148&ri=0.3167111702730746&ri=0.07709194881695725&ri=0.6183823293068083&ri=0.5447200430907023&ri=0.10480766810796915&ri=0.1259834475717252&ri=0.6321494523156912&ri=0.9752689051675116&ri=0.8725880242740792&ri=0.9116626533639504&ri=0.5667806278900721&ri=0.28319187165731474&ri=0.7150419052187985&ri=0.2500275626263081&ri=0.7851573957477715&ri=0.6158299276228529&ri=0.8125931176064668&ri=0.6498935576039836&ri=0.3479655166189499&ri=0.4374767516560796&ri=0.5669878965348337&ri=0.17167507802697257&ri=0.49971123626686964&ri=0.45742691501572474&ri=0.25872817836338646&ri=0.13671423286871687&ri=0.35011115752361766&ri=0.3637490728878908&ri=0.6362069978576397&ri=0.6599126918890816&ri=0.2860117517710231&ri=0.46044051168207334&ri=0.0967013798405918&ri=0.22832306627451693&ri=0.8989950218594506&ri=0.5556193901979668&ri=0.3693797085932531&ri=0.7983559467100584&ri=0.4638264149499285&ri=0.698410733101643&ri=0.8604792953727382&ri=0.13425889015239534&ri=0.25290129610661727&ri=0.612182507095883&ri=0.07081082181602305&ri=0.3605238440136267&ri=0.2218461481803028&ri=0.9217882033016974&ri=0.7457453125426361&ri=0.9508786657255832&ri=0.8514308460628224&ri=0.5224717868492403&ri=0.6678407841109576&ri=0.626519814990202&ri=0.1809482379083328&ri=0.6880917128666335&ri=0.25226390326643344&ri=0.8862415861131909&ri=0.31821719513681557&ri=0.766319847513162&ri=0.3551633918544459&ri=0.1411188906712405&ri=0.9613655202779194&ri=0.5584718665854905&ri=0.9551515320656864&ri=0.6763993080873113&ri=0.7175488372176316&ri=0.7316252460148444&ri=0.6180495482618764&ri=0.9132610045823208&ri=0.25376181565297773&ri=0.8606810517053504&ri=0.9050536586339394&ri=0.6930924988480787&ri=0.5648978617678194&ri=0.9480257696913563&ri=0.13447752078640296&ri=0.556950763151085&ri=0.8942136492866933&ri=0.5184496895377284&ri=0.15722790175303702&ri=0.24285367546494419&ri=0.0913547048761465&ri=0.6369776274755254&ri=0.05616918477880062&ri=0.873563333692751&ri=0.44309816128018964&ri=0.44726868846156786&ri=0.9295335955271654&ri=0.5575161656208129&ri=0.26196924233661467&ri=0.07824106972113609&ri=0.168532782399631&ri=0.37555650212726077&ri=0.7678873026881511&ri=0.016578180279222643&ri=0.8893275665712733&ri=0.9761293908247178&ri=0.04799811299507939&ri=0.2927723398098918&ri=0.4295116975948199&ri=0.2515892506053524&ri=0.12984826561734097&ri=0.0783624728702057&ri=0.06926607999980372&ri=0.8182804646424527&ri=0.4530582500117296&ri=0.5420216520663355&ri=0.3873396420154158&ri=0.27304625154652695&ri=0.274650214373237&ri=0.062151271296765453&ri=0.912013110677933&ri=0.4488219047794849&ri=0.793186746699299&ri=0.14363759086150174&ri=0.9772019911112113&ri=0.1419688815859389&ri=0.026877146291432008&ri=0.6364271897130322&ri=0.9438548726800892&ri=0.034005734687630684&ri=0.7308068706724942&ri=0.1035776552338169&ri=0.1968034566627398&ri=0.7803923754506008&ri=0.8884471579252823&ri=0.4364393827143819&ri=0.5772205249993638&ri=0.4890237288263364&ri=0.562600382770831&ri=0.06462517999524642&ri=0.160841939289457&ri=0.06108915701780271&ri=0.14093787072064157&ri=0.35842361650198074&ri=0.5421092099700107&ri=0.1169538686337862&ri=0.26128615330429994&ri=0.07131241725585236&ri=0.034388627989331066&ri=0.47971854872142505&ri=0.9518180683317483&ri=0.9202284147840648&ri=0.4464232977431596&ri=0.4391133295828057&ri=0.7713049191596667&ri=0.6512498305208247&ri=0.34517442866622927&ri=0.26838270284395094&ri=0.9845857318427785&ri=0.18834759978891646&ri=0.9652078889698118&ri=0.7168172766152415&ri=0.05841035313076248&ri=0.7128617131186961&ri=0.17478255028174616&ri=0.4505887472435973&ri=0.012812063113131766&ri=0.7713589229157359&ri=0.15879652353704932&ri=0.6645443545739093&ri=0.4131664231210225&ri=0.7595280490043518&ri=0.7287474348959891&ri=0.33761712316482406&ri=0.03809217424928546&ri=0.3797691202995338&ri=0.4198632667208161&ri=0.8545080317165008&ri=0.508350929459562&ri=0.9201326084862571&ri=0.7855598006293226&ri=0.9662963461002182&ri=0.41190149697948164&ri=0.45226507291507845&ri=0.5493808970837855&ri=0.3126345637212541&ri=0.7102653022871794&ri=0.2960173012296412&ri=0.5245780732165525&ri=0.978183884229951&ri=0.46135897736427034&ri=0.34837133199022063&ri=0.46148541218515327&ri=0.80594690018155&ri=0.1439506664628637&ri=0.12434270457925256&ri=0.2328460496913588&ri=0.44015325129635197&ri=0.1188960351133691&ri=0.6075137936617558&ri=0.017246799948291147&ri=0.32135498807485274&ri=0.012310211243711677&ri=0.2578550130708448&ri=0.3908166824422684&ri=0.10638748527695852&ri=0.05583220393025157&ri=0.7744896793360192&ri=0.48734605333451964&ri=0.23585239024960847&ri=0.6691376933749003&ri=0.4610590589541056&ri=0.6369822891139693&ri=0.6217787967891986&ri=0.8198567003758245&ri=0.2913437696001474&ri=0.14365840597125779&ri=0.6781189283574564&ri=0.9460522598542288&ri=0.022797694299670934&ri=0.11141086797900523&ri=0.16673445428193612&ri=0.4764163906377714&ri=0.9556508693322654&ri=0.4797427812839694&ri=0.581529849419655&ri=0.23333953821716724&ri=0.1852373484257117&ri=0.6781887795501674&ri=0.04338895816794086&ri=0.254009968941048&ri=0.44520452636234187&ri=0.5602376711987438&ri=0.9285710168388219&ri=0.8146989570895073&ri=0.8892599469086043&ri=0.5267695634655873&ri=0.7032224517432193&ri=0.6933884742593982&ri=0.4091120111342911&ri=0.9991629899300937&ri=0.6866605207367591&ri=0.955897259754714&ri=0.33626088670388476&ri=0.6522291216145283&ri=0.7160853614426256&ri=0.8006618398540887&ri=0.6252955201164209&ri=0.06712847654867604&ri=0.9353763723422374&ri=0.24732838209932984&ri=0.8663535218628994&ri=0.714427081239361&ri=0.18062931858581832&ri=0.7043119599275981&ri=0.7243996849166113&ri=0.4274480130295867&ri=0.6850905730013821&ri=0.7004794192649523&ri=0.6529796606562538&ri=0.776074405068948&ri=0.07614434026181804&ri=0.3161118189068467&ri=0.9801051859365494&ri=0.0011605655863836661&ri=0.8870094907554361&ri=0.0983031056898751&ri=0.7139264689848315&ri=0.4197072410328573&ri=0.05580215759346063&ri=0.4959509590274468&ri=0.6658488952481122&ri=0.4609571010903283&ri=0.13462022411093366&ri=0.09949620504336776&ri=0.7387494746045778&ri=0.7435671531174358&ri=0.18130599685554727&ri=0.2205670999544609&ri=0.4779499451948723&ri=0.8540137989498089&ri=0.5565435117958301&ri=0.5966844284507823&ri=0.23260208194698118&ri=0.7363873533841323&ri=0.09894635896127757&ri=0.25618418611114724&ri=0.5251422815122685&ri=0.8537316106040131&ri=0.4007926893126865&ri=0.8285134712275529&ri=0.47647094933474066&ri=0.5310854492401316&ri=0.15706326670354132&ri=0.8350564966372466&ri=0.3845133507891534&ri=0.14038201016865415&ri=0.8104390871696829&ri=0.7456463096831218&ri=0.8038180258047435&ri=0.0373622812782044&ri=0.9649146742772656&ri=0.83591910854945&ri=0.7238490936340741&ri=0.41065897348665403&ri=0.2906834014028805&ri=0.1306667952476931&ri=0.6936285546343567&ri=0.4532070379502908&ri=0.8929510167310754&ri=0.9683445864441806&ri=0.9903851168864132&ri=0.5161372228366898&ri=0.3673336100844401&ri=0.9718894639654283&ri=0.1798654235506436&ri=0.15530862472307116&ri=0.014496294229037865&ri=0.461005950896752&ri=0.665964246038067&ri=0.23063677455250142&ri=0.9366889366278957&ri=0.5910755688046645&ri=0.07732977966611876&ri=0.4683733100672708&ri=0.9888350429219817&ri=0.7538457988970321&ri=0.5886001821941808&ri=0.14649361818961082&ri=0.8068301653642884&ri=0.025055431642702186&ri=0.5239278420858151&ri=0.8133485961266311&ri=0.3857059151347044&ri=0.6941518221907751&ri=0.8404474498374517&ri=0.19973681781209385&ri=0.9303161380258084&ri=0.16125701806761628&ri=0.33934408354901835&ri=0.7345533811217737&ri=0.9512011908662394&ri=0.7365384180528147&ri=0.7021777322535525&ri=0.32417165541979565&ri=0.8282866323026165&ri=0.12714068284302404&ri=0.7001204309283796&ri=0.30571424212560394&ri=0.31507277939672107&ri=0.646834712867084&ri=0.17376218483573824&ri=0.7343692262979208&ri=0.7059712126909182&ri=0.4335403021026498&ri=0.6311420135776287&ri=0.4149081734863802&ri=0.6394443757247266&ri=0.20987864833617664&ri=0.5616603148645071&ri=0.3375621063093893&ri=0.7596047465362822&ri=0.37191059110900826&ri=0.8135289007343441&ri=0.4284114158200001&ri=0.708929764384511&ri=0.44121754010237846&ri=0.6324148242652837&ri=0.7744464413072464&ri=0.17474871355427335&ri=0.16548058522446507&ri=0.2089342824631949&ri=0.7334545320336959&ri=0.9621576655239068&ri=0.8027146691959176&ri=0.8326529145330281&ri=0.5888901084898364&ri=0.3160191507440101&ri=0.37431357466731974&ri=0.0002487290612064319&ri=0.6598838570410095&ri=0.9647024154377336&ri=0.9220623011912032&ri=0.07549370364647923&ri=0.026547314777192188&ri=0.6082206291976154&ri=0.05427305346865241&ri=0.3487108045965309&ri=0.28072913490353146&ri=0.823421338373484&ri=0.31620079779492527&ri=0.5933619710388723&ri=0.9623792820313506&ri=0.6088864937735614&ri=0.16989510731303126&ri=0.46742399732782114&ri=0.5916773210476637&ri=0.04219801239716403&ri=0.618644081636338&ri=0.3572081188664211&ri=0.4570812202862702&ri=0.7722254773926153&ri=0.7611669645915977&ri=0.5112797360362068&ri=0.5694527358209185&ri=0.319091988112831&ri=0.8107113872045003&ri=0.5621344315309499&ri=0.4424157007460615&ri=0.4044744440872281&ri=0.3642118075250761&ri=0.783286723237875&ri=0.6091035023325316&ri=0.784894669663187&ri=0.9566651265691205&ri=0.6794274769944846&ri=0.03545203367075589&ri=0.31065737256307535&ri=0.18587982100496736&ri=0.7573065927278319&ri=0.8401940972150319&ri=0.18309148467109682&ri=0.9427550561495185&ri=0.5749968808538011&ri=0.981712046030387&ri=0.6327507516361006&ri=0.5322455313069909&ri=0.41719570519033367&ri=0.8219042601759305&ri=0.4912303356714517&ri=0.7201688413892556&ri=0.19422028691041437&ri=0.7272221918721575&ri=0.3792550373677789&ri=0.9910113080169034&ri=0.4123532681405001&ri=0.11703412077849695&ri=0.48369614676886064&ri=0.5518885946533361&ri=0.31319454148891346&ri=0.6194716452234053&ri=0.14617241776775391&ri=0.867817304840177&ri=0.529675668438402&ri=0.24491553500104046&ri=0.7358919153031067&ri=0.7634539600426866&ri=0.8563932281635115&ri=0.7372768747192656&ri=0.5293908776132734&ri=0.37645741461244453&ri=0.9819170993320094&ri=0.5132298327403754&ri=0.5698257246299803&ri=0.4976311714312097&ri=0.2807303368259727&ri=0.8495524391847126&ri=0.728474555934839&ri=0.08300160358915776&ri=0.012456370270291672&ri=0.22873153667521195&ri=0.44110430661335864&ri=0.9729885680131458&ri=0.5260302533594331&ri=0.0029879371157512935&ri=0.8418600906942669&ri=0.10382449835459195&ri=0.316469981442855&ri=0.7868785814806983&ri=0.2673325354303434&ri=0.7463782767881055&ri=0.03190400286288797&ri=0.23863123671963238&ri=0.35345962865799485&ri=0.5575402029984526&ri=0.7785115450025056&ri=0.14036868321682283&ri=0.19791947108764218&ri=0.47932414394015543&ri=0.3210316495687988&ri=0.9373780237669909&ri=0.31066970325350896&ri=0.7708433242083433&ri=0.026497336903900326&ri=0.14658194084706544&ri=0.3252904385591362&ri=0.7083158778580548&ri=0.6488511142241411&ri=0.2943675554972025&ri=0.6937864944989548&ri=0.7382563458391267&ri=0.30209812091931465&ri=0.29392975184368275&ri=0.837505448018437&ri=0.11900959006115952&ri=0.21965305875760388&ri=0.42228464292869583&ri=0.4768275529623165&ri=0.3357831517935007&ri=0.14753726718327353&ri=0.3071099003185973&ri=0.1122839338146906&ri=0.8243343987548652&ri=0.46908215860790825&ri=0.5835678839259659&ri=0.879759369351976&ri=0.7884688238736627&ri=0.4087951429142994&ri=0.13126795924092116&ri=0.25243552161898597&ri=0.14650541539055573&ri=0.9130445466464058&ri=0.05152421407851138&ri=0.3121315124449696&ri=0.8918657667581233&ri=0.055219589049264384&ri=0.7950648800812439&ri=0.5626973080291067&ri=0.40294286836089654&ri=0.06302158515615064&ri=0.10034960402834381&ri=0.5081169404721709&ri=0.4874059738391566&ri=0.31554289257227985&ri=0.6526509114437161&ri=0.46797718324604776&ri=0.19609766930427908&ri=0.9077897348994466&ri=0.6240561044117439&ri=0.35295843380633496&ri=0.6916795903830781&ri=0.6303048447561888&ri=0.5045457349272214&ri=0.37300356190074724&ri=0.707182922829514&ri=0.46154685654999505&ri=0.8843050968542336&ri=0.9008214842291307&ri=0.37961976656277086&ri=0.9206820119765334&ri=0.09742479586389108&ri=0.9633812314583896&ri=0.4938120427624484&ri=0.8784447284228085&ri=0.8871467584693458&ri=0.08405324589639118&ri=0.42159368860375024&ri=0.6737234351648334&ri=0.502811940693675&ri=0.44805356406943964&ri=0.2915428565163156&ri=0.633527594237372&ri=0.8886658665210587&ri=0.6138478385742239&ri=0.17439989980247683&ri=0.34399242262504803&ri=0.8746783535243848&ri=0.24317084599824856&ri=0.3193280030596246&ri=0.27007734441108366&ri=0.5295337271830625&ri=0.5723179658930773&ri=0.7261718890651742&ri=0.5716146522800621&ri=0.08594756090921252&ri=0.5973650450041963&ri=0.5888717213391333&ri=0.2133645187696872&ri=0.09846647426401234&ri=0.19597255804712288&ri=0.3951878352084447&ri=0.716732531194127&ri=0.7439069593271402&ri=0.6584306207945997&ri=0.7178927385852659&ri=0.15080601729378795&ri=0.424589641041225&ri=0.3506008934243662&ri=0.9825867677920027&ri=0.21036573041487472&ri=0.08452532147385794&ri=0.4814117287266746&ri=0.747293429863325&ri=0.47852860248004025&ri=0.8987087593336555&ri=0.19756286389136224&ri=0.27899082410856024&ri=0.22167817080638375&ri=0.24567673584860528&ri=0.4780956602963583&ri=0.4622353159257274&ri=0.3143389905291276&ri=0.12348645520073387&ri=0.5514855103924041&ri=0.32503380349654065&ri=0.1416509457832379&ri=0.41927070396545574&ri=0.8079123937541228&ri=0.717120713100744&ri=0.5771000619739607&ri=0.6925257208920961&ri=0.42936580651144407&ri=0.9257960413273624&ri=0.38316179934376593&ri=0.3822885367500739&ri=0.21024060502506758&ri=0.26448069167994115&ri=0.6325132886056387&ri=0.5983593704987875&ri=0.2910796676450036&ri=0.9191453866004561&ri=0.9974706453124019&ri=0.9067259830667211&ri=0.7781198185583251&ri=0.5877692459467724&ri=0.005307518258207078&ri=0.769345761262329&ri=0.4712972677424614&ri=0.6979845886198184&ri=0.60711143326497&ri=0.5484420680237675&ri=0.17336876516100475&ri=0.23806378760503033&ri=0.6578338417807285&ri=0.23547090720151265&ri=0.3028045816573304&ri=0.4864048617841047&ri=0.15519027918050754&ri=0.3149143124210637&ri=0.7831100287730623&ri=0.1746717316391616&ri=0.33506695197860004&ri=0.42305661997847976&ri=0.4312310860543004&ri=0.8697456210396803&ri=0.9710897788632399&ri=0.7118999682607238&ri=0.3177010492383199&ri=0.6096435545860526&ri=0.4760124953352175&ri=0.07837507188485227&ri=0.8211839243458489&ri=0.07856064876695024&ri=0.6525795860910939&ri=0.6690037844113796&ri=0.350071205400154&ri=0.8561919005351951&ri=0.19152082629591816&ri=0.32016950527643473&ri=0.9537880513706831&ri=0.5264903280215193&ri=0.26433327784249006&ri=0.8441517734346856&ri=0.2964652094898511&ri=0.6810170552321949&ri=0.8085070821578169&ri=0.32108127472100345&ri=0.7156328719040732&ri=0.10204024760398589&ri=0.3528514693485133&ri=0.8069714340594886&ri=0.33859282025821014&ri=0.6605386169222707&ri=0.48057718368476254&ri=0.11798308029814963&ri=0.47912497811930566&ri=0.7142660373973394&ri=0.2777911715198792&ri=0.6010780642252153&ri=0.7871847183882003&ri=0.04103347569245297&ri=0.3650605288572182&ri=0.05121848890872516&ri=0.8742471871659321&ri=0.5923643818178961&ri=0.3597012640888265&ri=0.18526742546479646&ri=0.38695468574970504&ri=0.6026799448502886&ri=0.866448567643777&ri=0.3327476467363438&ri=0.7517237969084284&ri=0.8391703231384824&ri=0.3441645389513527&ri=0.2536145425602925&ri=0.06296797673764398&ri=0.027508230603567885&ri=0.4462398761925067&ri=0.2431993095208067&ri=0.8375922311886168&ri=0.7385609366402531&ri=0.6823456357069579&ri=0.9344789439450228&ri=0.6084160232545027&ri=0.2712571729858473&ri=0.4991912908578654&ri=0.45782907888474444&ri=0.5791806499287565&ri=0.31676499761353283&ri=0.12794544309060285&ri=0.8684159926749131&ri=0.8137972870727572&ri=0.43913704196093095&ri=0.795975392635832&ri=0.0013839564721833675&ri=0.6824921126711715&ri=0.6575791542977428&ri=0.15056172042772153&ri=0.16499443462892815&ri=0.5375044905451899&ri=0.6654989176975346&ri=0.9922442898531875&ri=0.3318729849310392&ri=0.8409948261678367&ri=0.4714901969784804&ri=0.6654558869582244&ri=0.7385204396100746&ri=0.2178179499916164&ri=0.49740994720897236&ri=0.7040995426487561&ri=0.05324438552146937&ri=0.1558186622844382&ri=0.418703594605103&ri=0.5797261652940074&ri=0.5226675467511055&ri=0.32630530233466537&ri=0.2821351702618653&ri=0.6499683559064727&ri=0.7569687080623458&ri=0.7473579536694864&ri=0.6860784255886899&ri=0.6548869076466115&ri=0.06401319222776058&ri=0.2626273344119695&ri=0.05852537066148533&ri=0.3588861374978283&ri=0.4925283880966206&ri=0.05828054483674394&ri=0.3179682631961237&ri=0.18585421658374357&ri=0.994481230683676&ri=0.1907502353397309&ri=0.4523113328933468&ri=0.9451850865575637&ri=0.3668134356041003&ri=0.34794303160573825&ri=0.8009686488396439&ri=0.996337718753627&ri=0.8826908899512175&ri=0.3165639068492144&ri=0.07530422844956275&ri=0.44958932588267464&ri=0.772423516031953&ri=0.8782123304613941&ri=0.4025706093694885&ri=0.25063873744634013&ri=0.9642118088909511&ri=0.10690674137809997&ri=0.9285023479068031&ri=0.24671598985886023&ri=0.7448761628726236&ri=0.29069343627175326&ri=0.7637204195352992&ri=0.5818546181229849&ri=0.25072552342819776&ri=0.949996338925472&ri=0.3091039924913408&ri=0.018982767103314035&ri=0.9487213080536755&ri=0.6753635099248112&ri=0.24528567667151713&ri=0.036489318671393156&ri=0.518093035708225&ri=0.7572669449814085&ri=0.7214266666922157&ri=0.7969215625477327&ri=0.7925619438750414&ri=0.830612035114153&ri=0.5284277397608311&ri=0.3354702420366297&ri=0.6733286526345894&ri=0.0066125440981447126&ri=0.29173265387890435&ri=0.565898554633023&ri=0.1729812368686502&ri=0.21468755836344744&ri=0.9688800932914254&ri=0.9515713186768716&ri=0.0004801459446949208&ri=0.7270367937451264&ri=0.18696043103111115&ri=0.939240327240741&ri=0.3473757285019805&ri=0.08855025978115827&ri=0.20513334371318215&ri=0.5032424208010529&ri=0.785415211470823&ri=0.9247087330149263&ri=0.5373629135079003&ri=0.3977663818350705&ri=0.43569485369353866&ri=0.35013112195527785&ri=0.5205261704900043&ri=0.9648449072225942&ri=0.8195139370139953&ri=0.9504250633921488&ri=0.3630514048184992&ri=0.5957279031554669&ri=0.051086605776908156&ri=0.5599971232933725&ri=0.45924265643135453&ri=0.19329344039025376&ri=0.28226783762420926&ri=0.3084784874952622&ri=0.004446182717346203&ri=0.23315259219545414&ri=0.5594497427941424&ri=0.6584228506887144&ri=0.19621588554429892&ri=0.2711041575524814&ri=0.5027848249876992&ri=0.4069324112651601&ri=0.5566331181263572&ri=0.9945960358541527&ri=0.4678917826098593&ri=0.8738682856433401&ri=0.1609378009554766&ri=0.16584895018612045&ri=0.10020072931941038&ri=0.7493018084347796&ri=0.8076266621605345&ri=0.054299143873957734&ri=0.44209370326745256&ri=0.32286271169396874&ri=0.41517513663847994&ri=0.20601609755861316&ri=0.0029968745717875445&ri=0.0676404484454497&ri=0.1805389404865998&ri=0.647751764823081&ri=0.45258062588110026&ri=0.8012951529227171&ri=0.28459181782741616&ri=0.8732771128626812&ri=0.8472238783232303&ri=0.8970342270396504&ri=0.17965534989542187&ri=0.20966280149791838&ri=0.549898785537377&ri=0.2671108443637079&ri=0.7442775395440084&ri=0.4111597944728995&ri=0.25363192221537634&ri=0.09150086030050253&ri=0.8404160833935324&ri=0.5783363563586665&ri=0.7686987976570486&ri=0.5144139652735712&ri=0.05818257539229921&ri=0.7501276387863557&ri=0.4837070235526334&ri=0.781295785675796&ri=0.6833041873107594&ri=0.7664541528673499&ri=0.6607252272676303&ri=0.538976747024548&ri=0.17245876446689312&ri=0.24906535387707485&ri=0.9746136284389277&ri=0.27162435194294443&ri=0.6716396959385617&ri=0.7982644040916094&ri=0.9567122600210334&ri=0.09515475445452015&ri=0.36270692224389756&ri=0.7531708092403362&ri=0.25304363821037534&ri=0.38276018635615383&ri=0.6732800895682227&ri=0.11317664428651608&ri=0.8571857357266198&ri=0.9442083332233852&ri=0.6351303550795969&ri=0.4682530565484324&ri=0.7279714444807847&ri=0.7315698656356798&ri=0.926226949269036&ri=0.03576299284098561&ri=0.45217135813515097&ri=0.29403049884725785&ri=0.381594694383696&ri=0.15143665238587034&ri=0.8623152633726318&ri=0.45444380884278346&ri=0.008138949967511189&ri=0.8121656494231185&ri=0.7698093119416276&ri=0.9302809023320516&ri=0.7885939536095862&ri=0.11827235001923775&ri=0.2235048210875742&ri=0.8716334591956122&ri=0.8097510353654089&ri=0.7129105979727249&ri=0.9538748921262511&ri=0.5389261480779183&ri=0.5001228304133765&ri=0.5662538845302554&ri=0.9129552492554699&ri=0.5929947324742646&ri=0.01219982685067078&ri=0.7021275716950959&ri=0.07020552561311566&ri=0.7201863075923569&ri=0.03445530613575121&ri=0.7147410226753664&ri=0.8744471528090005&ri=0.5651375606516846&ri=0.568255318555304&ri=0.1731762716054428&ri=0.042034147993727955&ri=0.19388768116605337&ri=0.45482941594678794&ri=0.26128901903289614&ri=0.581413051549574&ri=0.5599819107299956&ri=0.6874588660108065&ri=0.2506788460745851&ri=0.21422848082993873&ri=0.6962219341713233&ri=0.7940383312147631&ri=0.6543841282604923&ri=0.6031299495353458&ri=0.6047198540991809&ri=0.8251673119389364&ri=0.15895862392530458&ri=0.046436991847248144&ri=0.0679112280035451&ri=0.7329276870437227&ri=0.6825854640354914&ri=0.5498181887535544&ri=0.8531840962000429&ri=0.17550346524466398&ri=0.15688506382646383&ri=0.4351407855098459&ri=0.03377985975564679&ri=0.032799147529236516&ri=0.880073122721822&ri=0.8966467286381982&ri=0.3986224971048632&ri=0.16821279165027603&ri=0.5391249721389544&ri=0.16461190826512284&ri=0.17373203064603493&ri=0.22172020128175518&ri=0.24860251960938295&ri=0.1866443373429968&ri=0.5278790375011815&ri=0.4694263085200501&ri=0.20379999666405268&ri=0.9867778225884971&ri=0.5851358251563522&ri=0.03474022447047287&ri=0.7958649302753144&ri=0.1125172982666619&ri=0.9169810289130146&ri=0.9863298403376932&ri=0.2865503143377994&ri=0.8299921168837768&ri=0.7366135722424176&ri=0.10801278903595446&ri=0.3902544531340002&ri=0.9773733412578356&ri=0.2681324414996479&ri=0.37573940386854454&ri=0.3610046693335933&ri=0.6367116226024172&ri=0.013238312946867392&ri=0.42682431292907497&ri=0.43204101319619004&ri=0.03435165693866615&ri=0.8881135953011576&ri=0.5565829241722192&ri=0.7056564710003574&ri=0.33007954370089576&ri=0.4531366500849786&ri=0.027528746902465318&ri=0.8409496827087242&ri=0.20515935922546724&ri=0.7080870733696327&ri=0.7262881548058239&ri=0.13714640612169293&ri=0.4094150529216263&ri=0.17549768943103194&ri=0.45338866293291613&ri=0.8601463559277638&ri=0.6775141054738212&ri=0.2448098791378387&ri=0.3810769139764506&ri=0.9099510663071219&ri=0.674608974917798&ri=0.9999883927801791&ri=0.46432270702183376&ri=0.1766295