diff --git a/book/0_0_introduction.html b/book/0_0_introduction.html index cf9db18..e5fc062 100644 --- a/book/0_0_introduction.html +++ b/book/0_0_introduction.html @@ -78,7 +78,7 @@ @@ -224,7 +224,7 @@ really do is to stub out a Reactor, and Executor and i - @@ -238,7 +238,7 @@ really do is to stub out a Reactor, and Executor and i - @@ -247,21 +247,6 @@ really do is to stub out a Reactor, and Executor and i - - - diff --git a/book/0_1_2_generators_pin.html b/book/0_1_2_generators_pin.html deleted file mode 100644 index 327b1ca..0000000 --- a/book/0_1_2_generators_pin.html +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - Generators and Pin - Futures Explained in 200 Lines of Rust - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - - - -
-
-

Generators and Pin

-

So the second difficult part that there seems to be a lot of questions about -is Generators and the Pin type.

-

Generators

-
**Relevant for:**
-
-- Understanding how the async/await syntax works
-- Why we need `Pin`
-- Why Rusts async model is extremely efficient
-
-

The motivation for Generators can be found in RFC#2033. It's very -well written and I can recommend reading through it (it talks as much about -async/await as it does about generators).

-

Basically, there were three main options that were discussed when Rust was -desiging how the language would handle concurrency:

-
    -
  1. Stackful coroutines, better known as green threads.
  2. -
  3. Using combinators.
  4. -
  5. Stackless coroutines, better known as generators.
  6. -
-

Stackful coroutines/green threads

-

I've written about green threads before. Go check out -Green Threads Explained in 200 lines of Rust if you're interested.

-

Green threads uses the same mechanisms as an OS does by creating a thread for -each task, setting up a stack and forcing the CPU to save it's state and jump -from one task(thread) to another. We yield control to the scheduler which then -continues running a different task.

-

Rust had green threads once, but they were removed before it hit 1.0. The state -of execution is stored in each stack so in such a solution there would be no need -for async, await, Futures or Pin. All this would be implementation -details for the library.

-

Combinators

-

Futures 1.0 used combinators. If you've worked with Promises in JavaScript, -you already know combinators. In Rust they look like this:

-

-# #![allow(unused_variables)]
-#fn main() {
-let future = Connection::connect(conn_str).and_then(|conn| {
-    conn.query("somerequest").map(|row|{
-        SomeStruct::from(row)
-    }).collect::<Vec<SomeStruct>>()
-});
-
-let rows: Result<Vec<SomeStruct>, SomeLibraryError> = block_on(future).unwrap();
-
-#}
-

While an effective solution there are mainly two downsides I'll focus on:

-
    -
  1. The error messages produced could be extremely long and arcane
  2. -
  3. Not optimal memory usage
  4. -
-

The reason for the higher than optimal memory usage is that this is basically -a callback-based approach, where each closure stores all the data it needs -for computation. This means that as we chain these, the memory required to store -the needed state increases with each added step.

-

Stackless coroutines/generators

-

This is the model used in Async/Await today. It has two advantages:

-
    -
  1. It's easy to convert normal Rust code to a stackless corotuine using using -async/await as keywords (it can even be done using a macro).
  2. -
  3. It uses memory very efficiently
  4. -
-

The second point is in contrast to Futures 1.0 (well, both are efficient in -practice but thats beside the point). Generators are implemented as state -machines. The memory footprint of a chain of computations is only defined by -the largest footprint any single step requires. That means that adding steps to -a chain of computations might not require any added memory at all.

-

How generators work

-

In Nightly Rust today you can use the yield keyword. Basically using this -keyword in a closure, converts it to a generator. A closure looking like this -(I'm going to use the terminology that's currently in Rust):

-

-# #![allow(unused_variables)]
-#fn main() {
-let a = 4;
-let b = move || {
-        println!("Hello");
-        yield a * 2;
-        println!("world!");
-    };
-
-if let GeneratorState::Yielded(n) = gen.resume() {
-        println!("Got value {}", n);
-    }
-
-if let GeneratorState::Complete(()) = gen.resume() {
-        ()
-};
-#}
-

Early on, before there was a consensus about the design of Pin, this -compiled to something looking similar to this:

-
fn main() {
-    let mut gen = GeneratorA::start(4);
-
-    if let GeneratorState::Yielded(n) = gen.resume() {
-        println!("Got value {}", n);
-    }
-
-    if let GeneratorState::Complete(()) = gen.resume() {
-        ()
-    };
-}
-
-// If you've ever wondered why the parameters are called Y and R the naming from
-// the original rfc most likely holds the answer
-enum GeneratorState<Y, R> {
-    // originally called `CoResult`
-    Yielded(Y),  // originally called `Yield(Y)`
-    Complete(R), // originally called `Return(R)`
-}
-
-trait Generator {
-    type Yield;
-    type Return;
-    fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return>;
-}
-
-enum GeneratorA {
-    Enter(i32),
-    Yield1(i32),
-    Exit,
-}
-
-impl GeneratorA {
-    fn start(a1: i32) -> Self {
-        GeneratorA::Enter(a1)
-    }
-}
-
-impl Generator for GeneratorA {
-    type Yield = i32;
-    type Return = ();
-    fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return> {
-        // lets us get ownership over current state
-        match std::mem::replace(&mut *self, GeneratorA::Exit) {
-            GeneratorA::Enter(a1) => {
-
-          /*|---code before yield1---|*/
-          /*|*/ println!("Hello"); /*|*/ 
-          /*|*/ let a = a1 * 2;    /*|*/
-          /*|------------------------|*/
-
-                *self = GeneratorA::Yield1(a);
-                GeneratorState::Yielded(a)
-            }
-            GeneratorA::Yield1(_) => {
-
-          /*|----code after yield1----|*/
-          /*|*/ println!("world!"); /*|*/ 
-          /*|-------------------------|*/
-
-                *self = GeneratorA::Exit;
-                GeneratorState::Complete(())
-            }
-            GeneratorA::Exit => panic!("Can't advance an exited generator!"),
-        }
-    }
-}
-
-
-

The yield keyword was discussed first in RFC#1823 and in RFC#1832.

-
-
|| {
-    let arr: Vec<i32> = (0..a).enumerate().map((i,_) i).collect();
-    for n in arr {
-        yield n;
-    }
-    println!("The sum is: {}", arr.iter().sum());
-}
-|| {
-    yield a * 2;
-    println!("Hello!");
-}
-
- -
- - -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/book/0_3_proper_waker.html b/book/0_3_proper_waker.html deleted file mode 100644 index 20f2c68..0000000 --- a/book/0_3_proper_waker.html +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - Proper Waker - Futures Explained in 200 Lines of Rust - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - - - -
-
-

Proper Waker

- -
- - -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/book/0_5_async_wait.html b/book/0_5_async_wait.html deleted file mode 100644 index 55ea326..0000000 --- a/book/0_5_async_wait.html +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - Supporting async/await - Futures Explained in 200 Lines of Rust - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - - - -
-
-

Supporting async/await

- -
- - -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/book/0_1_background_information.html b/book/1_0_background_information.html similarity index 86% rename from book/0_1_background_information.html rename to book/1_0_background_information.html index 5ef014b..9452359 100644 --- a/book/0_1_background_information.html +++ b/book/1_0_background_information.html @@ -78,7 +78,7 @@ @@ -159,6 +159,7 @@ try to give a high level overview that will make it easier to learn Rusts
  • Async Basics - Strategies for handling I/O
  • Async Basics - Epoll, Kqueue and IOCP
  • +

    r

    @@ -171,7 +172,7 @@ try to give a high level overview that will make it easier to learn Rusts - @@ -189,7 +190,7 @@ try to give a high level overview that will make it easier to learn Rusts - @@ -198,21 +199,6 @@ try to give a high level overview that will make it easier to learn Rusts - - - diff --git a/book/0_1_1_trait_objects.html b/book/1_1_trait_objects.html similarity index 90% rename from book/0_1_1_trait_objects.html rename to book/1_1_trait_objects.html index 8048c3b..939361f 100644 --- a/book/0_1_1_trait_objects.html +++ b/book/1_1_trait_objects.html @@ -78,7 +78,7 @@ @@ -317,13 +317,13 @@ one. async std and - - @@ -335,13 +335,13 @@ one. async std and - - @@ -350,21 +350,6 @@ one. async std and - var socket = new WebSocket("ws://localhost:3001"); - socket.onmessage = function (event) { - if (event.data === "reload") { - socket.close(); - location.reload(true); // force reload from server (not from cache) - } - }; - - window.onbeforeunload = function() { - socket.close(); - } - - diff --git a/book/1_2_generators_pin.html b/book/1_2_generators_pin.html new file mode 100644 index 0000000..8eec5c3 --- /dev/null +++ b/book/1_2_generators_pin.html @@ -0,0 +1,900 @@ + + + + + + Generators and Pin - Futures Explained in 200 Lines of Rust + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + + + +
    +
    +

    Generators and Pin

    +

    So the second difficult part that there seems to be a lot of questions about +is Generators and the Pin type.

    +

    Generators

    +
    +

    Relevant for:

    +
      +
    • Understanding how the async/await syntax works since it's how await is implemented
    • +
    • Why we need Pin
    • +
    • Why Rusts async model is extremely efficient
    • +
    +

    The motivation for Generators can be found in RFC#2033. It's very +well written and I can recommend reading through it (it talks as much about +async/await as it does about generators).

    +
    +

    Basically, there were three main options that were discussed when Rust was +desiging how the language would handle concurrency:

    +
      +
    1. Stackful coroutines, better known as green threads.
    2. +
    3. Using combinators.
    4. +
    5. Stackless coroutines, better known as generators.
    6. +
    +

    Stackful coroutines/green threads

    +

    I've written about green threads before. Go check out +Green Threads Explained in 200 lines of Rust if you're interested.

    +

    Green threads uses the same mechanisms as an OS does by creating a thread for +each task, setting up a stack and forcing the CPU to save it's state and jump +from one task(thread) to another. We yield control to the scheduler which then +continues running a different task.

    +

    Rust had green threads once, but they were removed before it hit 1.0. The state +of execution is stored in each stack so in such a solution there would be no need +for async, await, Futures or Pin. All this would be implementation +details for the library.

    +

    Combinators

    +

    Futures 1.0 used combinators. If you've worked with Promises in JavaScript, +you already know combinators. In Rust they look like this:

    +
    let future = Connection::connect(conn_str).and_then(|conn| {
    +    conn.query("somerequest").map(|row|{
    +        SomeStruct::from(row)
    +    }).collect::<Vec<SomeStruct>>()
    +});
    +
    +let rows: Result<Vec<SomeStruct>, SomeLibraryError> = block_on(future).unwrap();
    +
    +
    +

    While an effective solution there are mainly three downsides I'll focus on:

    +
      +
    1. The error messages produced could be extremely long and arcane
    2. +
    3. Not optimal memory usage
    4. +
    5. Did not allow to borrow across combinator steps.
    6. +
    +

    Point #3, is actually a major drawback with Futures 1.0.

    +

    Not allowing borrows across suspension points ends up being very +un-ergonomic and often requiring extra allocations or copying to accomplish +some tasks which is inefficient.

    +

    The reason for the higher than optimal memory usage is that this is basically +a callback-based approach, where each closure stores all the data it needs +for computation. This means that as we chain these, the memory required to store +the needed state increases with each added step.

    +

    Stackless coroutines/generators

    +

    This is the model used in Rust today. It a few notable advantages:

    +
      +
    1. It's easy to convert normal Rust code to a stackless corotuine using using +async/await as keywords (it can even be done using a macro).
    2. +
    3. No need for context switching and saving/restoring CPU state
    4. +
    5. No need to handle dynamic stack allocation
    6. +
    7. Very memory efficient
    8. +
    9. Allowed for borrows across suspension points
    10. +
    +

    The last point is in contrast to Futures 1.0. With async/await we can do this:

    +
    async fn myfn() {
    +    let text = String::from("Hello world");
    +    let borrowed = &text[0..5];
    +    somefuture.await;
    +    println!("{}", borrowed);
    +}
    +
    +

    Generators are implemented as state machines. The memory footprint of a chain +of computations is only defined by the largest footprint any single step +requires. That means that adding steps to a chain of computations might not +require any added memory at all.

    +

    How generators work

    +

    In Nightly Rust today you can use the yield keyword. Basically using this +keyword in a closure, converts it to a generator. A closure looking like this +(I'm going to use the terminology that's currently in Rust):

    +
    let a = 4;
    +let b = move || {
    +        println!("Hello");
    +        yield a * 2;
    +        println!("world!");
    +    };
    +
    +if let GeneratorState::Yielded(n) = gen.resume() {
    +        println!("Got value {}", n);
    +    }
    +
    +if let GeneratorState::Complete(()) = gen.resume() {
    +        ()
    +};
    +
    +

    Early on, before there was a consensus about the design of Pin, this +compiled to something looking similar to this:

    +
    fn main() {
    +    let mut gen = GeneratorA::start(4);
    +
    +    if let GeneratorState::Yielded(n) = gen.resume() {
    +        println!("Got value {}", n);
    +    }
    +
    +    if let GeneratorState::Complete(()) = gen.resume() {
    +        ()
    +    };
    +}
    +
    +// If you've ever wondered why the parameters are called Y and R the naming from
    +// the original rfc most likely holds the answer
    +enum GeneratorState<Y, R> {
    +    // originally called `CoResult`
    +    Yielded(Y),  // originally called `Yield(Y)`
    +    Complete(R), // originally called `Return(R)`
    +}
    +
    +trait Generator {
    +    type Yield;
    +    type Return;
    +    fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return>;
    +}
    +
    +enum GeneratorA {
    +    Enter(i32),
    +    Yield1(i32),
    +    Exit,
    +}
    +
    +impl GeneratorA {
    +    fn start(a1: i32) -> Self {
    +        GeneratorA::Enter(a1)
    +    }
    +}
    +
    +impl Generator for GeneratorA {
    +    type Yield = i32;
    +    type Return = ();
    +    fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return> {
    +        // lets us get ownership over current state
    +        match std::mem::replace(&mut *self, GeneratorA::Exit) {
    +            GeneratorA::Enter(a1) => {
    +
    +          /*|---code before yield1---|*/
    +          /*|*/ println!("Hello"); /*|*/ 
    +          /*|*/ let a = a1 * 2;    /*|*/
    +          /*|------------------------|*/
    +
    +                *self = GeneratorA::Yield1(a);
    +                GeneratorState::Yielded(a)
    +            }
    +            GeneratorA::Yield1(_) => {
    +
    +          /*|----code after yield1----|*/
    +          /*|*/ println!("world!"); /*|*/ 
    +          /*|-------------------------|*/
    +
    +                *self = GeneratorA::Exit;
    +                GeneratorState::Complete(())
    +            }
    +            GeneratorA::Exit => panic!("Can't advance an exited generator!"),
    +        }
    +    }
    +}
    +
    +
    +

    The yield keyword was discussed first in RFC#1823 and in RFC#1832.

    +
    +

    Now that you know that the yield keyword in reality rewrites your code to become a state machine, +you'll also know the basics of how await works. It's very similar.

    +

    Now, there are some limitations in our naive state machine above. What happens when you have a +borrow across a yield point?

    +

    We could forbid that, but one of the major design goals for the async/await syntax has been +to allow this. These kinds of borrows were not possible using Futures 1.0 so we can't let this +limitation just slip and call it a day yet.

    +

    Instead of discussing it in theory, let's look at some code.

    +
    +

    We'll use the optimized version of the state machines which is used in Rust today. For a more +in deapth explanation see Tyler Mandry's execellent article: How Rust optimizes async/await

    +
    +
    let a = 4;
    +let b = move || {
    +        let to_borrow = String::new("Hello");
    +        let borrowed = &to_borrow;
    +        println!("{}", borrowed);
    +        yield a * 2;
    +        println!("{} world!", borrowed);
    +    };
    +
    +

    Now what does our rewritten state machine look like with this example?

    +
    
    +# #![allow(unused_variables)]
    +#fn main() {
    +# // If you've ever wondered why the parameters are called Y and R the naming from
    +# // the original rfc most likely holds the answer
    +# enum GeneratorState<Y, R> {
    +#     // originally called `CoResult`
    +#     Yielded(Y),  // originally called `Yield(Y)`
    +#     Complete(R), // originally called `Return(R)`
    +# }
    +# 
    +# trait Generator {
    +#     type Yield;
    +#     type Return;
    +#     fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return>;
    +# }
    +
    +enum GeneratorA {
    +    Enter,
    +    Yield1 {
    +        to_borrow: String,
    +        borrowed: &String, // uh, what lifetime should this have?
    +    },
    +    Exit,
    +}
    +
    +# impl GeneratorA {
    +#     fn start() -> Self {
    +#         GeneratorA::Enter
    +#     }
    +# }
    +
    +impl Generator for GeneratorA {
    +    type Yield = usize;
    +    type Return = ();
    +    fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return> {
    +        // lets us get ownership over current state
    +        match std::mem::replace(&mut *self, GeneratorA::Exit) {
    +            GeneratorA::Enter => {
    +                let to_borrow = String::from("Hello");
    +                let borrowed = &to_borrow;
    +                *self = GeneratorA::Yield1 {to_borrow, borrowed};
    +                GeneratorState::Yielded(borrowed.len())
    +            }
    +
    +            GeneratorA::Yield1 {to_borrow, borrowed} => {
    +                println!("Hello {}", borrowed);
    +                *self = GeneratorA::Exit;
    +                GeneratorState::Complete(())
    +            }
    +            GeneratorA::Exit => panic!("Can't advance an exited generator!"),
    +        }
    +    }
    +}
    +#}
    +

    If you try to compile this you'll get an error (just try it yourself by pressing play).

    +

    What is the lifetime of &String. It's not the same as the lifetime of Self. It's not static. +Turns out that it's not possible for us in Rusts syntax to describe this lifetime, which means, that +to make this work, we'll have to let the compiler know that we control this correct.

    +

    That means turning to unsafe.

    +

    Let's try to write an implementation that will compiler using unsafe. As you'll +see we end up in a self referential struct. A struct which holds references +into itself.

    +

    As you'll notice, this compiles just fine!

    +
    pub fn main() {
    +    let mut gen = GeneratorA::start();
    +    let mut gen2 = GeneratorA::start();
    +
    +    if let GeneratorState::Yielded(n) = gen.resume() {
    +        println!("Got value {}", n);
    +    }
    +    // If you uncomment this, very bad things can happen. This is why we need `Pin`
    +    // std::mem::swap(&mut gen, &mut gen2);
    +
    +    if let GeneratorState::Yielded(n) = gen2.resume() {
    +        println!("Got value {}", n);
    +    }
    +
    +    // if you uncomment `mem::swap`.. this should now start gen2.
    +    if let GeneratorState::Complete(()) = gen.resume() {
    +        ()
    +    };
    +}
    +
    +enum GeneratorState<Y, R> {
    +    Yielded(Y),  // originally called `Yield(Y)`
    +    Complete(R), // originally called `Return(R)`
    +}
    +
    +trait Generator {
    +    type Yield;
    +    type Return;
    +    fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return>;
    +}
    +
    +enum GeneratorA {
    +    Enter,
    +    Yield1 {
    +        to_borrow: String,
    +        borrowed: *const String, // Normally you'll see `std::ptr::NonNull` used instead of *ptr
    +    },
    +    Exit,
    +}
    +
    +impl GeneratorA {
    +    fn start() -> Self {
    +        GeneratorA::Enter
    +    }
    +}
    +impl Generator for GeneratorA {
    +    type Yield = usize;
    +    type Return = ();
    +    fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return> {
    +        // lets us get ownership over current state
    +            match self {
    +            GeneratorA::Enter => {
    +                let to_borrow = String::from("Hello");
    +                let borrowed = &to_borrow;
    +                let res = borrowed.len();
    +
    +                // Tricks to actually get a self reference
    +                *self = GeneratorA::Yield1 {to_borrow, borrowed: std::ptr::null()};
    +                match self {
    +                 GeneratorA::Yield1{to_borrow, borrowed} => *borrowed = to_borrow,
    +                 _ => ()  
    +                };
    +
    +                GeneratorState::Yielded(res)
    +            }
    +
    +            GeneratorA::Yield1 {borrowed, ..} => {
    +                let borrowed: &String = unsafe {&**borrowed};
    +                println!("{} world", borrowed);
    +                *self = GeneratorA::Exit;
    +                GeneratorState::Complete(())
    +            }
    +            GeneratorA::Exit => panic!("Can't advance an exited generator!"),
    +        }
    +    }
    +}
    +
    +
    +

    Try to uncomment the line with mem::swap and see the result of running this code.

    +
    +

    While the example above compiles just fine, we expose users of this code to +both possible undefined behavior and other memory errors while using just safe +Rust. This is a big problem!

    +

    But now, let's prevent the segfault from happening using Pin. We'll discuss +Pin more below, but you'll get an introduction here by just reading the +comments.

    +
    #![feature(optin_builtin_traits)]
    +use std::pin::Pin;
    +
    +pub fn main() {
    +    let gen1 = GeneratorA::start();
    +    let gen2 = GeneratorA::start();
    +    // Before we pin the pointers, this is safe to do
    +    // std::mem::swap(&mut gen, &mut gen2);
    +
    +    // constructing a `Pin::new()` on a type which does not implement `Unpin` is unsafe.
    +    // However, as I mentioned in the start of the next chapter about `Pin` a
    +    // boxed type automatically implements `Unpin` so to stay in safe Rust we can use 
    +    // that to avoid unsafe. You can also use crates like `pin_utils` to do this safely, 
    +    // just remember that they use unsafe under the hood so it's like using an already-reviewed 
    +    // unsafe implementation.
    +
    +    let mut pinned1 = Box::pin(gen1);
    +    let mut pinned2 = Box::pin(gen2);
    +    // Uncomment these if you think it's safe to pin the values to the stack instead 
    +    // (it is in this case). Remember to comment out the two previous lines first.
    +    //let mut pinned1 = unsafe { Pin::new_unchecked(&mut gen1) };
    +    //let mut pinned2 = unsafe { Pin::new_unchecked(&mut gen2) };
    +
    +    if let GeneratorState::Yielded(n) = pinned1.as_mut().resume() {
    +        println!("Got value {}", n);
    +    }
    +    
    +    if let GeneratorState::Yielded(n) = pinned2.as_mut().resume() {
    +        println!("Gen2 got value {}", n);
    +    };
    +
    +    // This won't work
    +    // std::mem::swap(&mut gen, &mut gen2);
    +    // This will work but will just swap the pointers. Nothing inherently bad happens here.
    +    // std::mem::swap(&mut pinned1, &mut pinned2);
    +
    +    let _ = pinned1.as_mut().resume();
    +    let _ = pinned2.as_mut().resume();
    +}
    +
    +enum GeneratorState<Y, R> {
    +    // originally called `CoResult`
    +    Yielded(Y),  // originally called `Yield(Y)`
    +    Complete(R), // originally called `Return(R)`
    +}
    +
    +trait Generator {
    +    type Yield;
    +    type Return;
    +    fn resume(self: Pin<&mut Self>) -> GeneratorState<Self::Yield, Self::Return>;
    +}
    +
    +enum GeneratorA {
    +    Enter,
    +    Yield1 {
    +        to_borrow: String,
    +        borrowed: *const String, // Normally you'll see `std::ptr::NonNull` used instead of *ptr
    +    },
    +    Exit,
    +}
    +
    +impl GeneratorA {
    +    fn start() -> Self {
    +        GeneratorA::Enter
    +    }
    +}
    +
    +// This tells us that the underlying pointer is not safe to move after pinning. In this case,
    +// only we as implementors "feel" this, however, if someone is relying on our Pinned pointer
    +// this will prevent them from moving it. You need to enable the feature flag 
    +// `#![feature(optin_builtin_traits)]` and use the nightly compiler to implement `!Unpin`.
    +// Normally, you would use `std::marker::PhantomPinned` to indicate that the
    +// struct is `!Unpin`.
    +impl !Unpin for GeneratorA { }
    +
    +impl Generator for GeneratorA {
    +    type Yield = usize;
    +    type Return = ();
    +    fn resume(self: Pin<&mut Self>) -> GeneratorState<Self::Yield, Self::Return> {
    +        // lets us get ownership over current state
    +        let this = unsafe { self.get_unchecked_mut() };
    +            match this {
    +            GeneratorA::Enter => {
    +                let to_borrow = String::from("Hello");
    +                let borrowed = &to_borrow;
    +                let res = borrowed.len();
    +
    +                // Trick to actually get a self reference. We can't reference
    +                // the `String` earlier since these references will point to the
    +                // location in this stack frame which will not be valid anymore
    +                // when this function returns.
    +                *this = GeneratorA::Yield1 {to_borrow, borrowed: std::ptr::null()};
    +                match this {
    +                 GeneratorA::Yield1{to_borrow, borrowed} => *borrowed = to_borrow,
    +                 _ => ()  
    +                };
    +
    +                GeneratorState::Yielded(res)
    +            }
    +
    +            GeneratorA::Yield1 {borrowed, ..} => {
    +                let borrowed: &String = unsafe {&**borrowed};
    +                println!("{} world", borrowed);
    +                *this = GeneratorA::Exit;
    +                GeneratorState::Complete(())
    +            }
    +            GeneratorA::Exit => panic!("Can't advance an exited generator!"),
    +        }
    +    }
    +}
    +
    +

    Now, as you see, the user of this code must either:

    +
      +
    1. Box the value and thereby allocating it on the heap
    2. +
    3. Use unsafe and pin the value to the stack. The user knows that if they move +the value afterwards it will violate the guarantee they promise to uphold when +they did their unsafe implementation.
    4. +
    +

    Now, the code which is created and the need for Pin to allow for borrowing +across yield points should be pretty clear.

    +

    Pin

    +
    +

    Relevant for

    +
      +
    1. To understand Generators and Futures
    2. +
    3. Knowing how to use Pin is required when implementing your own Future
    4. +
    5. To understand self-referential types in Rust
    6. +
    7. This is the way borrowing across await points is accomplished
    8. +
    +

    Pin was suggested in RFC#2349

    +
    +

    Ping consists of the Pin type and the Unpin marker. Let's start off with some general rules:

    +
      +
    1. Pin does nothing special, it only prevents the user of an API to violate some assumtions you make when writing your (most likely) unsafe code.
    2. +
    3. Most standard library types implement Unpin
    4. +
    5. Unpin means it's OK for this type to be moved even when pinned.
    6. +
    7. If you Box a value, that boxed value automatcally implements Unpin.
    8. +
    9. The main use case for Pin is to allow self referential types
    10. +
    11. The implementation behind objects that doens't implement Unpin is most likely unsafe +
        +
      1. Pin prevents users from your code to break the assumtions you make when writing the unsafe implementation
      2. +
      3. It doesn't solve the fact that you'll have to write unsafe code to actually implement it
      4. +
      +
    12. +
    13. You're not really meant to be implementing !Unpin, but you can on nightly with a feature flag
    14. +
    +
    +

    Unsafe code does not mean it's litterally "unsafe", it only relieves the +guarantees you normally get from the compiler. An unsafe implementation can +be perfectly safe to do, but you have no safety net.

    +
    +

    Let's take a look at an example:

    +
    use std::pin::Pin;
    +
    +fn main() {
    +    let mut test1 = Test::new("test1");
    +    test1.init();
    +    let mut test2 = Test::new("test2");
    +    test2.init();
    +
    +    println!("a: {}, b: {}", test1.a(), test1.b());
    +    std::mem::swap(&mut test1, &mut test2); // try commenting out this line
    +    println!("a: {}, b: {}", test2.a(), test2.b());
    +
    +}
    +
    +#[derive(Debug)]
    +struct Test {
    +    a: String,
    +    b: *const String,
    +}
    +
    +impl Test {
    +    fn new(txt: &str) -> Self {
    +        let a = String::from(txt);
    +        Test {
    +            a,
    +            b: std::ptr::null(),
    +        }
    +    }
    +    
    +    fn init(&mut self) {
    +        let self_ref: *const String = &self.a;
    +        self.b = self_ref;
    +    }
    +    
    +    fn a(&self) -> &str {
    +        &self.a
    +    } 
    +    
    +    fn b(&self) -> &String {
    +        unsafe {&*(self.b)}
    +    }
    +}
    +
    +

    As you can see this results in unwanted behavior. The pointer to b stays the +same and points to the old value. It's easy to get this to segfault, and fail +in other spectacular ways as well.

    +

    Pin essentially prevents the user of your unsafe code +(even if that means yourself) move the value after it's pinned.

    +

    If we change the example to using Pin instead:

    +
    use std::pin::Pin;
    +use std::marker::PhantomPinned;
    +
    +pub fn main() {
    +    let mut test1 = Test::new("test1");
    +    test1.init();
    +    let mut test1_pin = unsafe { Pin::new_unchecked(&mut test1) }; 
    +    let mut test2 = Test::new("test2");
    +    test2.init();
    +    let mut test2_pin = unsafe { Pin::new_unchecked(&mut test2) };
    +
    +    println!(
    +        "a: {}, b: {}",
    +        Test::a(test1_pin.as_ref()),
    +        Test::b(test1_pin.as_ref())
    +    );
    +
    +    // Try to uncomment this and see what happens
    +    // std::mem::swap(test1_pin.as_mut(), test2_pin.as_mut());
    +    println!(
    +        "a: {}, b: {}",
    +        Test::a(test2_pin.as_ref()),
    +        Test::b(test2_pin.as_ref())
    +    );
    +}
    +
    +#[derive(Debug)]
    +struct Test {
    +    a: String,
    +    b: *const String,
    +    _marker: PhantomPinned,
    +}
    +
    +
    +impl Test {
    +    fn new(txt: &str) -> Self {
    +        let a = String::from(txt);
    +        Test {
    +            a,
    +            b: std::ptr::null(),
    +            // This makes our type `!Unpin`
    +            _marker: PhantomPinned,
    +        }
    +    }
    +    fn init(&mut self) {
    +        let self_ptr: *const String = &self.a;
    +        self.b = self_ptr;
    +    }
    +
    +    fn a<'a>(self: Pin<&'a Self>) -> &'a str {
    +        &self.get_ref().a
    +    }
    +
    +    fn b<'a>(self: Pin<&'a Self>) -> &'a String {
    +        unsafe { &*(self.b) }
    +    }
    +}
    +
    +
    +

    Now, what we've done here is pinning a stack address. That will always be +unsafe if our type implements !Unpin, in other words. That our type is not +Unpin which is the norm.

    +

    We use some tricks here, including requiring an init. If we want to fix that +and let users avoid unsafe we need to place our data on the heap.

    +

    Stack pinning will always depend on the current stack frame we're in, so we +can't create a self referential object in one stack frame and return it since +any pointers we take to "self" is invalidated.

    +

    The next example solves some of our friction at the cost of a heap allocation.

    +
    use std::pin::Pin;
    +use std::marker::PhantomPinned;
    +
    +pub fn main() {
    +    let mut test1 = Test::new("test1");
    +    let mut test2 = Test::new("test2");
    +
    +    println!("a: {}, b: {}",test1.as_ref().a(), test1.as_ref().b());
    +
    +    // Try to uncomment this and see what happens
    +    // std::mem::swap(&mut test1, &mut test2);
    +    println!("a: {}, b: {}",test2.as_ref().a(), test2.as_ref().b());
    +}
    +
    +#[derive(Debug)]
    +struct Test {
    +    a: String,
    +    b: *const String,
    +    _marker: PhantomPinned,
    +}
    +
    +impl Test {
    +    fn new(txt: &str) -> Pin<Box<Self>> {
    +        let a = String::from(txt);
    +        let t = Test {
    +            a,
    +            b: std::ptr::null(),
    +            _marker: PhantomPinned,
    +        };
    +        let mut boxed = Box::pin(t);
    +        let self_ptr: *const String = &boxed.as_ref().a;
    +        unsafe { boxed.as_mut().get_unchecked_mut().b = self_ptr };
    +
    +        boxed
    +    }
    +
    +    fn a<'a>(self: Pin<&'a Self>) -> &'a str {
    +        &self.get_ref().a
    +    }
    +
    +    fn b<'a>(self: Pin<&'a Self>) -> &'a String {
    +        unsafe { &*(self.b) }
    +    }
    +}
    +
    +

    Seeing this we're ready to sum up with a few more points to remember about +pinning:

    +
      +
    1. Pinning only makes sense to do for types that are !Unpin
    2. +
    3. Pinning a !Unpin pointer to the stack will requires unsafe
    4. +
    5. Pinning a boxed value will not require unsafe, even if the type is !Unpin
    6. +
    7. If T: Unpin (which is the default), then Pin<'a, T> is entirely equivalent to &'a mut T.
    8. +
    9. Getting a &mut T to a pinned pointer requires unsafe if T: !Unpin
    10. +
    11. Pinning is really only useful when implementing self-referential types.
      +For all intents and purposes you can think of !Unpin = self-referential-type
    12. +
    +

    The fact that boxing (heap allocating) a value that implements !Unpin is safe +makes sense. Once the data is allocated on the heap it will have a stable address.

    +

    There are ways to safely give some guarantees on stack pinning as well, but right +now you need to use a crate like pin_utils:pin_utils to do that.

    +

    Projection/structural pinning

    +

    In short, projection is using a field on your type. mystruct.field1 is a +projection. Structural pinning is using Pin on struct fields. This has several +caveats and is not something you'll normally see so I refer to the documentation +for that.

    +

    Pin and Drop

    +

    The Pin guarantee exists from the moment the value is pinned until it's dropped. +In the Drop implementation you take a mutabl reference to self, which means +extra care must be taken when implementing Drop for pinned types.

    +

    Putting it all together

    +

    This is exactly what we'll do when we implement our own Futures stay tuned, +we're soon finished.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/book/0_6_concurrent_futures.html b/book/1_3_pin.html similarity index 82% rename from book/0_6_concurrent_futures.html rename to book/1_3_pin.html index 3e9bf24..146a7c2 100644 --- a/book/0_6_concurrent_futures.html +++ b/book/1_3_pin.html @@ -3,7 +3,7 @@ - Bonus: concurrent futures - Futures Explained in 200 Lines of Rust + Pin - Futures Explained in 200 Lines of Rust @@ -78,7 +78,7 @@ @@ -145,19 +145,23 @@
    -

    Bonus: concurrent futures

    +

    Pin

    @@ -166,32 +170,21 @@
    - - - diff --git a/book/0_2_naive_implementation.html b/book/2_0_future_example.html similarity index 57% rename from book/0_2_naive_implementation.html rename to book/2_0_future_example.html index 3fa6dea..1c834df 100644 --- a/book/0_2_naive_implementation.html +++ b/book/2_0_future_example.html @@ -3,7 +3,7 @@ - Naive example - Futures Explained in 200 Lines of Rust + The main example - Futures Explained in 200 Lines of Rust @@ -78,7 +78,7 @@ @@ -145,102 +145,165 @@
    -

    Naive example

    -
    use std::sync::atomic::{AtomicUsize, Ordering};
    -use std::sync::mpsc::{channel, Sender};
    -use std::sync::{Arc, Mutex};
    -use std::thread::{self, JoinHandle};
    -use std::time::{Duration, Instant};
    +                        
    use std::{
    +    future::Future, pin::Pin, sync::{mpsc::{channel, Sender}, Arc, Mutex},
    +    task::{Context, Poll, RawWaker, RawWakerVTable, Waker},
    +    thread::{self, JoinHandle}, time::{Duration, Instant}
    +};
     
     fn main() {
    -    let readylist = Arc::new(Mutex::new(vec![]));
    -    let mut reactor = Reactor::new();
    -
    -    let mywaker = MyWaker::new(1, thread::current(), readylist.clone());
    -    reactor.register(2, mywaker);
    -
    -    let mywaker = MyWaker::new(2, thread::current(), readylist.clone());
    -    reactor.register(2, mywaker);
    -    
    -    executor_run(reactor, readylist);
    -}
    -// ====== EXECUTOR ======
    -fn executor_run(mut reactor: Reactor, rl: Arc<Mutex<Vec<usize>>>) {
         let start = Instant::now();
    -        loop {
    -        let mut rl_locked = rl.lock().unwrap();
    -        while let Some(event) = rl_locked.pop() {
    -            let dur = (Instant::now() - start).as_secs_f32(); 
    -            println!("Event {} just happened at time: {:.2}.", event, dur);
    -            reactor.outstanding.fetch_sub(1, Ordering::Relaxed);
    -        }
    -        drop(rl_locked);
    +    let reactor = Reactor::new();
    +    let reactor = Arc::new(Mutex::new(reactor));
    +    let future1 = Task::new(reactor.clone(), 3, 1);
    +    let future2 = Task::new(reactor.clone(), 1, 2);
     
    -        if reactor.outstanding.load(Ordering::Relaxed) == 0 {
    -            reactor.close();
    -            break;
    -        }
    +    let fut1 = async {
    +        let val = future1.await;
    +        let dur = (Instant::now() - start).as_secs_f32();
    +        println!("Future got {} at time: {:.2}.", val, dur);
    +    };
     
    -        thread::park();
    -    }
    +    let fut2 = async {
    +        let val = future2.await;
    +        let dur = (Instant::now() - start).as_secs_f32();
    +        println!("Future got {} at time: {:.2}.", val, dur);
    +    };
    +
    +    let mainfut = async {
    +        let handle1 = spawn(fut1);
    +        let handle2 = spawn(fut2);
    +        handle1.await;
    +        handle2.await;
    +    };
    +
    +    block_on(mainfut);
    +    reactor.lock().map(|mut r| r.close()).unwrap();
     }
     
    -// ====== "FUTURE" IMPL ======
    -#[derive(Debug)]
    +//// ============================ EXECUTOR ====================================
    +fn block_on<F: Future>(mut future: F) -> F::Output {
    +    let mywaker = Arc::new(MyWaker{ thread: thread::current() }); 
    +    let waker = waker_into_waker(Arc::into_raw(mywaker));
    +    let mut cx = Context::from_waker(&waker);
    +    let val = loop {
    +        let pinned = unsafe { Pin::new_unchecked(&mut future) };
    +        match Future::poll(pinned, &mut cx) {
    +            Poll::Ready(val) => break val,
    +            Poll::Pending => thread::park(),
    +        };
    +    };
    +    val
    +}
    +
    +fn spawn<F: Future>(future: F) -> Pin<Box<F>> {
    +    let mywaker = Arc::new(MyWaker{ thread: thread::current() }); 
    +    let waker = waker_into_waker(Arc::into_raw(mywaker)); 
    +    let mut cx = Context::from_waker(&waker); 
    +    let mut boxed = Box::pin(future);
    +    let _ = Future::poll(boxed.as_mut(), &mut cx); 
    +    boxed
    +}
    +
    +// ====================== FUTURE IMPLEMENTATION ==============================
    +#[derive(Clone)]
     struct MyWaker {
    -    id: usize,
         thread: thread::Thread,
    -    readylist: Arc<Mutex<Vec<usize>>>,
     }
     
    -impl MyWaker {
    -    fn new(id: usize, thread: thread::Thread, readylist: Arc<Mutex<Vec<usize>>>) -> Self {
    -        MyWaker {
    -            id,
    -            thread,
    -            readylist,
    -        }
    -    }
    -
    -    fn wake(&self) {
    -        self.readylist.lock().map(|mut rl| rl.push(self.id)).unwrap();
    -        self.thread.unpark();
    -    }
    -}
    -
    -
    -#[derive(Debug, Clone)]
    +#[derive(Clone)]
     pub struct Task {
         id: usize,
    -    pending: bool, 
    +    reactor: Arc<Mutex<Reactor>>,
    +    data: u64,
    +    is_registered: bool,
     }
     
    -// ===== REACTOR =====
    +fn mywaker_wake(s: &MyWaker) {
    +    let waker_ptr: *const MyWaker = s;
    +    let waker_arc = unsafe {Arc::from_raw(waker_ptr)};
    +    waker_arc.thread.unpark();
    +}
    +
    +fn mywaker_clone(s: &MyWaker) -> RawWaker {
    +    let arc = unsafe { Arc::from_raw(s).clone() };
    +    std::mem::forget(arc.clone()); // increase ref count
    +    RawWaker::new(Arc::into_raw(arc) as *const (), &VTABLE)
    +}
    +
    +const VTABLE: RawWakerVTable = unsafe {
    +    RawWakerVTable::new(
    +        |s| mywaker_clone(&*(s as *const MyWaker)),     // clone
    +        |s| mywaker_wake(&*(s as *const MyWaker)),      // wake
    +        |s| mywaker_wake(*(s as *const &MyWaker)),      // wake by ref
    +        |s| drop(Arc::from_raw(s as *const MyWaker)),   // decrease refcount
    +    )
    +};
    +
    +fn waker_into_waker(s: *const MyWaker) -> Waker {
    +    let raw_waker = RawWaker::new(s as *const (), &VTABLE);
    +    unsafe { Waker::from_raw(raw_waker) }
    +}
    +
    +impl Task {
    +    fn new(reactor: Arc<Mutex<Reactor>>, data: u64, id: usize) -> Self {
    +        Task {
    +            id,
    +            reactor,
    +            data,
    +            is_registered: false,
    +        }
    +    }
    +}
    +
    +impl Future for Task {
    +    type Output = usize;
    +    fn poll(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> {
    +        let mut r = self.reactor.lock().unwrap();
    +        if r.is_ready(self.id) {
    +            Poll::Ready(self.id)
    +        } else if self.is_registered {
    +            Poll::Pending
    +        } else {
    +            r.register(self.data, cx.waker().clone(), self.id);
    +            drop(r);
    +            self.is_registered = true;
    +            Poll::Pending
    +        }
    +    }
    +}
    +
    +// =============================== REACTOR ===================================
     struct Reactor {
         dispatcher: Sender<Event>,
         handle: Option<JoinHandle<()>>,
    -    outstanding: AtomicUsize,
    +    readylist: Arc<Mutex<Vec<usize>>>,
     }
     #[derive(Debug)]
     enum Event {
         Close,
    -    Simple(MyWaker, u64),
    +    Simple(Waker, u64, usize),
     }
     
     impl Reactor {
         fn new() -> Self {
             let (tx, rx) = channel::<Event>();
    +        let readylist = Arc::new(Mutex::new(vec![]));
    +        let rl_clone = readylist.clone();
             let mut handles = vec![];
             let handle = thread::spawn(move || {
                 // This simulates some I/O resource
                 for event in rx {
    +                let rl_clone = rl_clone.clone();
                     match event {
                         Event::Close => break,
    -                    Event::Simple(mywaker, duration) => {
    +                    Event::Simple(waker, duration, id) => {
                             let event_handle = thread::spawn(move || {
                                 thread::sleep(Duration::from_secs(duration));
    -                            mywaker.wake();
    +                            rl_clone.lock().map(|mut rl| rl.push(id)).unwrap();
    +                            waker.wake();
                             });
    +
                             handles.push(event_handle);
                         }
                     }
    @@ -252,22 +315,28 @@ impl Reactor {
             });
     
             Reactor {
    +            readylist,
                 dispatcher: tx,
                 handle: Some(handle),
    -            outstanding: AtomicUsize::new(0),
             }
         }
     
    -    fn register(&mut self, duration: u64, mywaker: MyWaker) {
    +    fn register(&mut self, duration: u64, waker: Waker, data: usize) {
             self.dispatcher
    -            .send(Event::Simple(mywaker, duration))
    +            .send(Event::Simple(waker, duration, data))
                 .unwrap();
    -        self.outstanding.fetch_add(1, Ordering::Relaxed);
         }
     
         fn close(&mut self) {
             self.dispatcher.send(Event::Close).unwrap();
         }
    +
    +    fn is_ready(&self, id_to_check: usize) -> bool {
    +        self.readylist
    +            .lock()
    +            .map(|rl| rl.iter().any(|id| *id == id_to_check))
    +            .unwrap()
    +    }
     }
     
     impl Drop for Reactor {
    @@ -275,136 +344,6 @@ impl Drop for Reactor {
             self.handle.take().map(|h| h.join().unwrap()).unwrap();
         }
     }
    -
    -
    use std::sync::atomic::{AtomicUsize, Ordering};
    -use std::sync::mpsc::{channel, Sender};
    -use std::sync::{Arc, Mutex};
    -use std::thread::{self, JoinHandle};
    -use std::time::{Duration, Instant};
    -
    -fn main() {
    -    let readylist = Arc::new(Mutex::new(vec![]));
    -    let mut reactor = Reactor::new();
    -
    -    let mywaker = MyWaker::new(1, thread::current(), readylist.clone());
    -    reactor.register(2, mywaker);
    -
    -    let mywaker = MyWaker::new(2, thread::current(), readylist.clone());
    -    reactor.register(2, mywaker);
    -    
    -    executor_run(reactor, readylist);
    -}
    -# // ====== EXECUTOR ======
    -# fn executor_run(mut reactor: Reactor, rl: Arc<Mutex<Vec<usize>>>) {
    -#     let start = Instant::now();
    -#         loop {
    -#         let mut rl_locked = rl.lock().unwrap();
    -#         while let Some(event) = rl_locked.pop() {
    -#             let dur = (Instant::now() - start).as_secs_f32(); 
    -#             println!("Event {} just happened at time: {:.2}.", event, dur);
    -#             reactor.outstanding.fetch_sub(1, Ordering::Relaxed);
    -#         }
    -#         drop(rl_locked);
    -# 
    -#         if reactor.outstanding.load(Ordering::Relaxed) == 0 {
    -#             reactor.close();
    -#             break;
    -#         }
    -# 
    -#         thread::park();
    -#     }
    -# }
    -# 
    -# // ====== "FUTURE" IMPL ======
    -# #[derive(Debug)]
    -# struct MyWaker {
    -#     id: usize,
    -#     thread: thread::Thread,
    -#     readylist: Arc<Mutex<Vec<usize>>>,
    -# }
    -# 
    -# impl MyWaker {
    -#     fn new(id: usize, thread: thread::Thread, readylist: Arc<Mutex<Vec<usize>>>) -> Self {
    -#         MyWaker {
    -#             id,
    -#             thread,
    -#             readylist,
    -#         }
    -#     }
    -# 
    -#     fn wake(&self) {
    -#         self.readylist.lock().map(|mut rl| rl.push(self.id)).unwrap();
    -#         self.thread.unpark();
    -#     }
    -# }
    -# 
    -# 
    -# #[derive(Debug, Clone)]
    -# pub struct Task {
    -#     id: usize,
    -#     pending: bool, 
    -# }
    -# 
    -# // ===== REACTOR =====
    -# struct Reactor {
    -#     dispatcher: Sender<Event>,
    -#     handle: Option<JoinHandle<()>>,
    -#     outstanding: AtomicUsize,
    -# }
    -# #[derive(Debug)]
    -# enum Event {
    -#     Close,
    -#     Simple(MyWaker, u64),
    -# }
    -# 
    -# impl Reactor {
    -#     fn new() -> Self {
    -#         let (tx, rx) = channel::<Event>();
    -#         let mut handles = vec![];
    -#         let handle = thread::spawn(move || {
    -#             // This simulates some I/O resource
    -#             for event in rx {
    -#                 match event {
    -#                     Event::Close => break,
    -#                     Event::Simple(mywaker, duration) => {
    -#                         let event_handle = thread::spawn(move || {
    -#                             thread::sleep(Duration::from_secs(duration));
    -#                             mywaker.wake();
    -#                         });
    -#                         handles.push(event_handle);
    -#                     }
    -#                 }
    -#             }
    -# 
    -#             for handle in handles {
    -#                 handle.join().unwrap();
    -#             }
    -#         });
    -# 
    -#         Reactor {
    -#             dispatcher: tx,
    -#             handle: Some(handle),
    -#             outstanding: AtomicUsize::new(0),
    -#         }
    -#     }
    -# 
    -#     fn register(&mut self, duration: u64, mywaker: MyWaker) {
    -#         self.dispatcher
    -#             .send(Event::Simple(mywaker, duration))
    -#             .unwrap();
    -#         self.outstanding.fetch_add(1, Ordering::Relaxed);
    -#     }
    -# 
    -#     fn close(&mut self) {
    -#         self.dispatcher.send(Event::Close).unwrap();
    -#     }
    -# }
    -# 
    -# impl Drop for Reactor {
    -#     fn drop(&mut self) {
    -#         self.handle.take().map(|h| h.join().unwrap()).unwrap();
    -#     }
    -# }
     
    @@ -412,13 +351,13 @@ fn main() {
    - - - diff --git a/book/0_4_proper_future.html b/book/2_1_concurrent_futures.html similarity index 78% rename from book/0_4_proper_future.html rename to book/2_1_concurrent_futures.html index 924e45b..bf7b3b8 100644 --- a/book/0_4_proper_future.html +++ b/book/2_1_concurrent_futures.html @@ -3,7 +3,7 @@ - Proper Future - Futures Explained in 200 Lines of Rust + Bonus 1: concurrent futures - Futures Explained in 200 Lines of Rust @@ -78,7 +78,7 @@ @@ -145,23 +145,19 @@
    -

    Proper Future

    +

    Bonus 1: concurrent futures

    @@ -170,36 +166,17 @@
    - - - diff --git a/book/index.html b/book/index.html index 377dc45..365fd2a 100644 --- a/book/index.html +++ b/book/index.html @@ -78,7 +78,7 @@ @@ -239,21 +239,6 @@ really do is to stub out a Reactor, and Executor and i - - - diff --git a/book/print.html b/book/print.html index d6b1090..ff930bc 100644 --- a/book/print.html +++ b/book/print.html @@ -80,7 +80,7 @@ @@ -232,6 +232,7 @@ try to give a high level overview that will make it easier to learn Rusts
  • Async Basics - Strategies for handling I/O
  • Async Basics - Epoll, Kqueue and IOCP
  • +

    r

    Trait objects and fat pointers

    Trait objects and dynamic dispatch

    The single most confusing topic we encounter when implementing our own Futures @@ -402,15 +403,17 @@ one. async std and Generators -

    **Relevant for:**
    -
    -- Understanding how the async/await syntax works
    -- Why we need `Pin`
    -- Why Rusts async model is extremely efficient
    -
    +
    +

    Relevant for:

    +

    The motivation for Generators can be found in RFC#2033. It's very well written and I can recommend reading through it (it talks as much about async/await as it does about generators).

    +

    Basically, there were three main options that were discussed when Rust was desiging how the language would handle concurrency:

      @@ -432,10 +435,7 @@ details for the library.

      Combinators

      Futures 1.0 used combinators. If you've worked with Promises in JavaScript, you already know combinators. In Rust they look like this:

      -
      
      -# #![allow(unused_variables)]
      -#fn main() {
      -let future = Connection::connect(conn_str).and_then(|conn| {
      +
      let future = Connection::connect(conn_str).and_then(|conn| {
           conn.query("somerequest").map(|row|{
               SomeStruct::from(row)
           }).collect::<Vec<SomeStruct>>()
      @@ -443,36 +443,48 @@ let future = Connection::connect(conn_str).and_then(|conn| {
       
       let rows: Result<Vec<SomeStruct>, SomeLibraryError> = block_on(future).unwrap();
       
      -#}
      -

      While an effective solution there are mainly two downsides I'll focus on:

      +
      +

      While an effective solution there are mainly three downsides I'll focus on:

      1. The error messages produced could be extremely long and arcane
      2. Not optimal memory usage
      3. +
      4. Did not allow to borrow across combinator steps.
      +

      Point #3, is actually a major drawback with Futures 1.0.

      +

      Not allowing borrows across suspension points ends up being very +un-ergonomic and often requiring extra allocations or copying to accomplish +some tasks which is inefficient.

      The reason for the higher than optimal memory usage is that this is basically a callback-based approach, where each closure stores all the data it needs for computation. This means that as we chain these, the memory required to store the needed state increases with each added step.

      Stackless coroutines/generators

      -

      This is the model used in Async/Await today. It has two advantages:

      +

      This is the model used in Rust today. It a few notable advantages:

      1. It's easy to convert normal Rust code to a stackless corotuine using using async/await as keywords (it can even be done using a macro).
      2. -
      3. It uses memory very efficiently
      4. +
      5. No need for context switching and saving/restoring CPU state
      6. +
      7. No need to handle dynamic stack allocation
      8. +
      9. Very memory efficient
      10. +
      11. Allowed for borrows across suspension points
      -

      The second point is in contrast to Futures 1.0 (well, both are efficient in -practice but thats beside the point). Generators are implemented as state -machines. The memory footprint of a chain of computations is only defined by -the largest footprint any single step requires. That means that adding steps to -a chain of computations might not require any added memory at all.

      +

      The last point is in contrast to Futures 1.0. With async/await we can do this:

      +
      async fn myfn() {
      +    let text = String::from("Hello world");
      +    let borrowed = &text[0..5];
      +    somefuture.await;
      +    println!("{}", borrowed);
      +}
      +
      +

      Generators are implemented as state machines. The memory footprint of a chain +of computations is only defined by the largest footprint any single step +requires. That means that adding steps to a chain of computations might not +require any added memory at all.

      How generators work

      In Nightly Rust today you can use the yield keyword. Basically using this keyword in a closure, converts it to a generator. A closure looking like this (I'm going to use the terminology that's currently in Rust):

      -
      
      -# #![allow(unused_variables)]
      -#fn main() {
      -let a = 4;
      +
      let a = 4;
       let b = move || {
               println!("Hello");
               yield a * 2;
      @@ -486,7 +498,7 @@ if let GeneratorState::Yielded(n) = gen.resume() {
       if let GeneratorState::Complete(()) = gen.resume() {
               ()
       };
      -#}
      +

      Early on, before there was a consensus about the design of Pin, this compiled to something looking similar to this:

      fn main() {
      @@ -560,114 +572,679 @@ impl Generator for GeneratorA {
       

      The yield keyword was discussed first in RFC#1823 and in RFC#1832.

      -
      || {
      -    let arr: Vec<i32> = (0..a).enumerate().map((i,_) i).collect();
      -    for n in arr {
      -        yield n;
      -    }
      -    println!("The sum is: {}", arr.iter().sum());
      -}
      -|| {
      -    yield a * 2;
      -    println!("Hello!");
      -}
      +

      Now that you know that the yield keyword in reality rewrites your code to become a state machine, +you'll also know the basics of how await works. It's very similar.

      +

      Now, there are some limitations in our naive state machine above. What happens when you have a +borrow across a yield point?

      +

      We could forbid that, but one of the major design goals for the async/await syntax has been +to allow this. These kinds of borrows were not possible using Futures 1.0 so we can't let this +limitation just slip and call it a day yet.

      +

      Instead of discussing it in theory, let's look at some code.

      +
      +

      We'll use the optimized version of the state machines which is used in Rust today. For a more +in deapth explanation see Tyler Mandry's execellent article: How Rust optimizes async/await

      +
      +
      let a = 4;
      +let b = move || {
      +        let to_borrow = String::new("Hello");
      +        let borrowed = &to_borrow;
      +        println!("{}", borrowed);
      +        yield a * 2;
      +        println!("{} world!", borrowed);
      +    };
       
      -

      Naive example

      -
      use std::sync::atomic::{AtomicUsize, Ordering};
      -use std::sync::mpsc::{channel, Sender};
      -use std::sync::{Arc, Mutex};
      -use std::thread::{self, JoinHandle};
      -use std::time::{Duration, Instant};
      +

      Now what does our rewritten state machine look like with this example?

      +
      
      +# #![allow(unused_variables)]
      +#fn main() {
      +# // If you've ever wondered why the parameters are called Y and R the naming from
      +# // the original rfc most likely holds the answer
      +# enum GeneratorState<Y, R> {
      +#     // originally called `CoResult`
      +#     Yielded(Y),  // originally called `Yield(Y)`
      +#     Complete(R), // originally called `Return(R)`
      +# }
      +# 
      +# trait Generator {
      +#     type Yield;
      +#     type Return;
      +#     fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return>;
      +# }
      +
      +enum GeneratorA {
      +    Enter,
      +    Yield1 {
      +        to_borrow: String,
      +        borrowed: &String, // uh, what lifetime should this have?
      +    },
      +    Exit,
      +}
      +
      +# impl GeneratorA {
      +#     fn start() -> Self {
      +#         GeneratorA::Enter
      +#     }
      +# }
      +
      +impl Generator for GeneratorA {
      +    type Yield = usize;
      +    type Return = ();
      +    fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return> {
      +        // lets us get ownership over current state
      +        match std::mem::replace(&mut *self, GeneratorA::Exit) {
      +            GeneratorA::Enter => {
      +                let to_borrow = String::from("Hello");
      +                let borrowed = &to_borrow;
      +                *self = GeneratorA::Yield1 {to_borrow, borrowed};
      +                GeneratorState::Yielded(borrowed.len())
      +            }
      +
      +            GeneratorA::Yield1 {to_borrow, borrowed} => {
      +                println!("Hello {}", borrowed);
      +                *self = GeneratorA::Exit;
      +                GeneratorState::Complete(())
      +            }
      +            GeneratorA::Exit => panic!("Can't advance an exited generator!"),
      +        }
      +    }
      +}
      +#}
      +

      If you try to compile this you'll get an error (just try it yourself by pressing play).

      +

      What is the lifetime of &String. It's not the same as the lifetime of Self. It's not static. +Turns out that it's not possible for us in Rusts syntax to describe this lifetime, which means, that +to make this work, we'll have to let the compiler know that we control this correct.

      +

      That means turning to unsafe.

      +

      Let's try to write an implementation that will compiler using unsafe. As you'll +see we end up in a self referential struct. A struct which holds references +into itself.

      +

      As you'll notice, this compiles just fine!

      +
      pub fn main() {
      +    let mut gen = GeneratorA::start();
      +    let mut gen2 = GeneratorA::start();
      +
      +    if let GeneratorState::Yielded(n) = gen.resume() {
      +        println!("Got value {}", n);
      +    }
      +    // If you uncomment this, very bad things can happen. This is why we need `Pin`
      +    // std::mem::swap(&mut gen, &mut gen2);
      +
      +    if let GeneratorState::Yielded(n) = gen2.resume() {
      +        println!("Got value {}", n);
      +    }
      +
      +    // if you uncomment `mem::swap`.. this should now start gen2.
      +    if let GeneratorState::Complete(()) = gen.resume() {
      +        ()
      +    };
      +}
      +
      +enum GeneratorState<Y, R> {
      +    Yielded(Y),  // originally called `Yield(Y)`
      +    Complete(R), // originally called `Return(R)`
      +}
      +
      +trait Generator {
      +    type Yield;
      +    type Return;
      +    fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return>;
      +}
      +
      +enum GeneratorA {
      +    Enter,
      +    Yield1 {
      +        to_borrow: String,
      +        borrowed: *const String, // Normally you'll see `std::ptr::NonNull` used instead of *ptr
      +    },
      +    Exit,
      +}
      +
      +impl GeneratorA {
      +    fn start() -> Self {
      +        GeneratorA::Enter
      +    }
      +}
      +impl Generator for GeneratorA {
      +    type Yield = usize;
      +    type Return = ();
      +    fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return> {
      +        // lets us get ownership over current state
      +            match self {
      +            GeneratorA::Enter => {
      +                let to_borrow = String::from("Hello");
      +                let borrowed = &to_borrow;
      +                let res = borrowed.len();
      +
      +                // Tricks to actually get a self reference
      +                *self = GeneratorA::Yield1 {to_borrow, borrowed: std::ptr::null()};
      +                match self {
      +                 GeneratorA::Yield1{to_borrow, borrowed} => *borrowed = to_borrow,
      +                 _ => ()  
      +                };
      +
      +                GeneratorState::Yielded(res)
      +            }
      +
      +            GeneratorA::Yield1 {borrowed, ..} => {
      +                let borrowed: &String = unsafe {&**borrowed};
      +                println!("{} world", borrowed);
      +                *self = GeneratorA::Exit;
      +                GeneratorState::Complete(())
      +            }
      +            GeneratorA::Exit => panic!("Can't advance an exited generator!"),
      +        }
      +    }
      +}
      +
      +
      +

      Try to uncomment the line with mem::swap and see the result of running this code.

      +
      +

      While the example above compiles just fine, we expose users of this code to +both possible undefined behavior and other memory errors while using just safe +Rust. This is a big problem!

      +

      But now, let's prevent the segfault from happening using Pin. We'll discuss +Pin more below, but you'll get an introduction here by just reading the +comments.

      +
      #![feature(optin_builtin_traits)]
      +use std::pin::Pin;
      +
      +pub fn main() {
      +    let gen1 = GeneratorA::start();
      +    let gen2 = GeneratorA::start();
      +    // Before we pin the pointers, this is safe to do
      +    // std::mem::swap(&mut gen, &mut gen2);
      +
      +    // constructing a `Pin::new()` on a type which does not implement `Unpin` is unsafe.
      +    // However, as I mentioned in the start of the next chapter about `Pin` a
      +    // boxed type automatically implements `Unpin` so to stay in safe Rust we can use 
      +    // that to avoid unsafe. You can also use crates like `pin_utils` to do this safely, 
      +    // just remember that they use unsafe under the hood so it's like using an already-reviewed 
      +    // unsafe implementation.
      +
      +    let mut pinned1 = Box::pin(gen1);
      +    let mut pinned2 = Box::pin(gen2);
      +    // Uncomment these if you think it's safe to pin the values to the stack instead 
      +    // (it is in this case). Remember to comment out the two previous lines first.
      +    //let mut pinned1 = unsafe { Pin::new_unchecked(&mut gen1) };
      +    //let mut pinned2 = unsafe { Pin::new_unchecked(&mut gen2) };
      +
      +    if let GeneratorState::Yielded(n) = pinned1.as_mut().resume() {
      +        println!("Got value {}", n);
      +    }
      +    
      +    if let GeneratorState::Yielded(n) = pinned2.as_mut().resume() {
      +        println!("Gen2 got value {}", n);
      +    };
      +
      +    // This won't work
      +    // std::mem::swap(&mut gen, &mut gen2);
      +    // This will work but will just swap the pointers. Nothing inherently bad happens here.
      +    // std::mem::swap(&mut pinned1, &mut pinned2);
      +
      +    let _ = pinned1.as_mut().resume();
      +    let _ = pinned2.as_mut().resume();
      +}
      +
      +enum GeneratorState<Y, R> {
      +    // originally called `CoResult`
      +    Yielded(Y),  // originally called `Yield(Y)`
      +    Complete(R), // originally called `Return(R)`
      +}
      +
      +trait Generator {
      +    type Yield;
      +    type Return;
      +    fn resume(self: Pin<&mut Self>) -> GeneratorState<Self::Yield, Self::Return>;
      +}
      +
      +enum GeneratorA {
      +    Enter,
      +    Yield1 {
      +        to_borrow: String,
      +        borrowed: *const String, // Normally you'll see `std::ptr::NonNull` used instead of *ptr
      +    },
      +    Exit,
      +}
      +
      +impl GeneratorA {
      +    fn start() -> Self {
      +        GeneratorA::Enter
      +    }
      +}
      +
      +// This tells us that the underlying pointer is not safe to move after pinning. In this case,
      +// only we as implementors "feel" this, however, if someone is relying on our Pinned pointer
      +// this will prevent them from moving it. You need to enable the feature flag 
      +// `#![feature(optin_builtin_traits)]` and use the nightly compiler to implement `!Unpin`.
      +// Normally, you would use `std::marker::PhantomPinned` to indicate that the
      +// struct is `!Unpin`.
      +impl !Unpin for GeneratorA { }
      +
      +impl Generator for GeneratorA {
      +    type Yield = usize;
      +    type Return = ();
      +    fn resume(self: Pin<&mut Self>) -> GeneratorState<Self::Yield, Self::Return> {
      +        // lets us get ownership over current state
      +        let this = unsafe { self.get_unchecked_mut() };
      +            match this {
      +            GeneratorA::Enter => {
      +                let to_borrow = String::from("Hello");
      +                let borrowed = &to_borrow;
      +                let res = borrowed.len();
      +
      +                // Trick to actually get a self reference. We can't reference
      +                // the `String` earlier since these references will point to the
      +                // location in this stack frame which will not be valid anymore
      +                // when this function returns.
      +                *this = GeneratorA::Yield1 {to_borrow, borrowed: std::ptr::null()};
      +                match this {
      +                 GeneratorA::Yield1{to_borrow, borrowed} => *borrowed = to_borrow,
      +                 _ => ()  
      +                };
      +
      +                GeneratorState::Yielded(res)
      +            }
      +
      +            GeneratorA::Yield1 {borrowed, ..} => {
      +                let borrowed: &String = unsafe {&**borrowed};
      +                println!("{} world", borrowed);
      +                *this = GeneratorA::Exit;
      +                GeneratorState::Complete(())
      +            }
      +            GeneratorA::Exit => panic!("Can't advance an exited generator!"),
      +        }
      +    }
      +}
      +
      +

      Now, as you see, the user of this code must either:

      +
        +
      1. Box the value and thereby allocating it on the heap
      2. +
      3. Use unsafe and pin the value to the stack. The user knows that if they move +the value afterwards it will violate the guarantee they promise to uphold when +they did their unsafe implementation.
      4. +
      +

      Now, the code which is created and the need for Pin to allow for borrowing +across yield points should be pretty clear.

      +

      Pin

      +
      +

      Relevant for

      +
        +
      1. To understand Generators and Futures
      2. +
      3. Knowing how to use Pin is required when implementing your own Future
      4. +
      5. To understand self-referential types in Rust
      6. +
      7. This is the way borrowing across await points is accomplished
      8. +
      +

      Pin was suggested in RFC#2349

      +
      +

      Ping consists of the Pin type and the Unpin marker. Let's start off with some general rules:

      +
        +
      1. Pin does nothing special, it only prevents the user of an API to violate some assumtions you make when writing your (most likely) unsafe code.
      2. +
      3. Most standard library types implement Unpin
      4. +
      5. Unpin means it's OK for this type to be moved even when pinned.
      6. +
      7. If you Box a value, that boxed value automatcally implements Unpin.
      8. +
      9. The main use case for Pin is to allow self referential types
      10. +
      11. The implementation behind objects that doens't implement Unpin is most likely unsafe +
          +
        1. Pin prevents users from your code to break the assumtions you make when writing the unsafe implementation
        2. +
        3. It doesn't solve the fact that you'll have to write unsafe code to actually implement it
        4. +
        +
      12. +
      13. You're not really meant to be implementing !Unpin, but you can on nightly with a feature flag
      14. +
      +
      +

      Unsafe code does not mean it's litterally "unsafe", it only relieves the +guarantees you normally get from the compiler. An unsafe implementation can +be perfectly safe to do, but you have no safety net.

      +
      +

      Let's take a look at an example:

      +
      use std::pin::Pin;
       
       fn main() {
      -    let readylist = Arc::new(Mutex::new(vec![]));
      -    let mut reactor = Reactor::new();
      +    let mut test1 = Test::new("test1");
      +    test1.init();
      +    let mut test2 = Test::new("test2");
      +    test2.init();
       
      -    let mywaker = MyWaker::new(1, thread::current(), readylist.clone());
      -    reactor.register(2, mywaker);
      +    println!("a: {}, b: {}", test1.a(), test1.b());
      +    std::mem::swap(&mut test1, &mut test2); // try commenting out this line
      +    println!("a: {}, b: {}", test2.a(), test2.b());
       
      -    let mywaker = MyWaker::new(2, thread::current(), readylist.clone());
      -    reactor.register(2, mywaker);
      -    
      -    executor_run(reactor, readylist);
      -}
      -// ====== EXECUTOR ======
      -fn executor_run(mut reactor: Reactor, rl: Arc<Mutex<Vec<usize>>>) {
      -    let start = Instant::now();
      -        loop {
      -        let mut rl_locked = rl.lock().unwrap();
      -        while let Some(event) = rl_locked.pop() {
      -            let dur = (Instant::now() - start).as_secs_f32(); 
      -            println!("Event {} just happened at time: {:.2}.", event, dur);
      -            reactor.outstanding.fetch_sub(1, Ordering::Relaxed);
      -        }
      -        drop(rl_locked);
      -
      -        if reactor.outstanding.load(Ordering::Relaxed) == 0 {
      -            reactor.close();
      -            break;
      -        }
      -
      -        thread::park();
      -    }
       }
       
      -// ====== "FUTURE" IMPL ======
       #[derive(Debug)]
      -struct MyWaker {
      -    id: usize,
      -    thread: thread::Thread,
      -    readylist: Arc<Mutex<Vec<usize>>>,
      +struct Test {
      +    a: String,
      +    b: *const String,
       }
       
      -impl MyWaker {
      -    fn new(id: usize, thread: thread::Thread, readylist: Arc<Mutex<Vec<usize>>>) -> Self {
      -        MyWaker {
      -            id,
      -            thread,
      -            readylist,
      +impl Test {
      +    fn new(txt: &str) -> Self {
      +        let a = String::from(txt);
      +        Test {
      +            a,
      +            b: std::ptr::null(),
               }
           }
      -
      -    fn wake(&self) {
      -        self.readylist.lock().map(|mut rl| rl.push(self.id)).unwrap();
      -        self.thread.unpark();
      +    
      +    fn init(&mut self) {
      +        let self_ref: *const String = &self.a;
      +        self.b = self_ref;
           }
      +    
      +    fn a(&self) -> &str {
      +        &self.a
      +    } 
      +    
      +    fn b(&self) -> &String {
      +        unsafe {&*(self.b)}
      +    }
      +}
      +
      +

      As you can see this results in unwanted behavior. The pointer to b stays the +same and points to the old value. It's easy to get this to segfault, and fail +in other spectacular ways as well.

      +

      Pin essentially prevents the user of your unsafe code +(even if that means yourself) move the value after it's pinned.

      +

      If we change the example to using Pin instead:

      +
      use std::pin::Pin;
      +use std::marker::PhantomPinned;
      +
      +pub fn main() {
      +    let mut test1 = Test::new("test1");
      +    test1.init();
      +    let mut test1_pin = unsafe { Pin::new_unchecked(&mut test1) }; 
      +    let mut test2 = Test::new("test2");
      +    test2.init();
      +    let mut test2_pin = unsafe { Pin::new_unchecked(&mut test2) };
      +
      +    println!(
      +        "a: {}, b: {}",
      +        Test::a(test1_pin.as_ref()),
      +        Test::b(test1_pin.as_ref())
      +    );
      +
      +    // Try to uncomment this and see what happens
      +    // std::mem::swap(test1_pin.as_mut(), test2_pin.as_mut());
      +    println!(
      +        "a: {}, b: {}",
      +        Test::a(test2_pin.as_ref()),
      +        Test::b(test2_pin.as_ref())
      +    );
      +}
      +
      +#[derive(Debug)]
      +struct Test {
      +    a: String,
      +    b: *const String,
      +    _marker: PhantomPinned,
       }
       
       
      -#[derive(Debug, Clone)]
      +impl Test {
      +    fn new(txt: &str) -> Self {
      +        let a = String::from(txt);
      +        Test {
      +            a,
      +            b: std::ptr::null(),
      +            // This makes our type `!Unpin`
      +            _marker: PhantomPinned,
      +        }
      +    }
      +    fn init(&mut self) {
      +        let self_ptr: *const String = &self.a;
      +        self.b = self_ptr;
      +    }
      +
      +    fn a<'a>(self: Pin<&'a Self>) -> &'a str {
      +        &self.get_ref().a
      +    }
      +
      +    fn b<'a>(self: Pin<&'a Self>) -> &'a String {
      +        unsafe { &*(self.b) }
      +    }
      +}
      +
      +
      +

      Now, what we've done here is pinning a stack address. That will always be +unsafe if our type implements !Unpin, in other words. That our type is not +Unpin which is the norm.

      +

      We use some tricks here, including requiring an init. If we want to fix that +and let users avoid unsafe we need to place our data on the heap.

      +

      Stack pinning will always depend on the current stack frame we're in, so we +can't create a self referential object in one stack frame and return it since +any pointers we take to "self" is invalidated.

      +

      The next example solves some of our friction at the cost of a heap allocation.

      +
      use std::pin::Pin;
      +use std::marker::PhantomPinned;
      +
      +pub fn main() {
      +    let mut test1 = Test::new("test1");
      +    let mut test2 = Test::new("test2");
      +
      +    println!("a: {}, b: {}",test1.as_ref().a(), test1.as_ref().b());
      +
      +    // Try to uncomment this and see what happens
      +    // std::mem::swap(&mut test1, &mut test2);
      +    println!("a: {}, b: {}",test2.as_ref().a(), test2.as_ref().b());
      +}
      +
      +#[derive(Debug)]
      +struct Test {
      +    a: String,
      +    b: *const String,
      +    _marker: PhantomPinned,
      +}
      +
      +impl Test {
      +    fn new(txt: &str) -> Pin<Box<Self>> {
      +        let a = String::from(txt);
      +        let t = Test {
      +            a,
      +            b: std::ptr::null(),
      +            _marker: PhantomPinned,
      +        };
      +        let mut boxed = Box::pin(t);
      +        let self_ptr: *const String = &boxed.as_ref().a;
      +        unsafe { boxed.as_mut().get_unchecked_mut().b = self_ptr };
      +
      +        boxed
      +    }
      +
      +    fn a<'a>(self: Pin<&'a Self>) -> &'a str {
      +        &self.get_ref().a
      +    }
      +
      +    fn b<'a>(self: Pin<&'a Self>) -> &'a String {
      +        unsafe { &*(self.b) }
      +    }
      +}
      +
      +

      Seeing this we're ready to sum up with a few more points to remember about +pinning:

      +
        +
      1. Pinning only makes sense to do for types that are !Unpin
      2. +
      3. Pinning a !Unpin pointer to the stack will requires unsafe
      4. +
      5. Pinning a boxed value will not require unsafe, even if the type is !Unpin
      6. +
      7. If T: Unpin (which is the default), then Pin<'a, T> is entirely equivalent to &'a mut T.
      8. +
      9. Getting a &mut T to a pinned pointer requires unsafe if T: !Unpin
      10. +
      11. Pinning is really only useful when implementing self-referential types.
        +For all intents and purposes you can think of !Unpin = self-referential-type
      12. +
      +

      The fact that boxing (heap allocating) a value that implements !Unpin is safe +makes sense. Once the data is allocated on the heap it will have a stable address.

      +

      There are ways to safely give some guarantees on stack pinning as well, but right +now you need to use a crate like pin_utils:pin_utils to do that.

      +

      Projection/structural pinning

      +

      In short, projection is using a field on your type. mystruct.field1 is a +projection. Structural pinning is using Pin on struct fields. This has several +caveats and is not something you'll normally see so I refer to the documentation +for that.

      +

      Pin and Drop

      +

      The Pin guarantee exists from the moment the value is pinned until it's dropped. +In the Drop implementation you take a mutabl reference to self, which means +extra care must be taken when implementing Drop for pinned types.

      +

      Putting it all together

      +

      This is exactly what we'll do when we implement our own Futures stay tuned, +we're soon finished.

      +

      Pin

      +
      use std::{
      +    future::Future, pin::Pin, sync::{mpsc::{channel, Sender}, Arc, Mutex},
      +    task::{Context, Poll, RawWaker, RawWakerVTable, Waker},
      +    thread::{self, JoinHandle}, time::{Duration, Instant}
      +};
      +
      +fn main() {
      +    let start = Instant::now();
      +    let reactor = Reactor::new();
      +    let reactor = Arc::new(Mutex::new(reactor));
      +    let future1 = Task::new(reactor.clone(), 3, 1);
      +    let future2 = Task::new(reactor.clone(), 1, 2);
      +
      +    let fut1 = async {
      +        let val = future1.await;
      +        let dur = (Instant::now() - start).as_secs_f32();
      +        println!("Future got {} at time: {:.2}.", val, dur);
      +    };
      +
      +    let fut2 = async {
      +        let val = future2.await;
      +        let dur = (Instant::now() - start).as_secs_f32();
      +        println!("Future got {} at time: {:.2}.", val, dur);
      +    };
      +
      +    let mainfut = async {
      +        let handle1 = spawn(fut1);
      +        let handle2 = spawn(fut2);
      +        handle1.await;
      +        handle2.await;
      +    };
      +
      +    block_on(mainfut);
      +    reactor.lock().map(|mut r| r.close()).unwrap();
      +}
      +
      +//// ============================ EXECUTOR ====================================
      +fn block_on<F: Future>(mut future: F) -> F::Output {
      +    let mywaker = Arc::new(MyWaker{ thread: thread::current() }); 
      +    let waker = waker_into_waker(Arc::into_raw(mywaker));
      +    let mut cx = Context::from_waker(&waker);
      +    let val = loop {
      +        let pinned = unsafe { Pin::new_unchecked(&mut future) };
      +        match Future::poll(pinned, &mut cx) {
      +            Poll::Ready(val) => break val,
      +            Poll::Pending => thread::park(),
      +        };
      +    };
      +    val
      +}
      +
      +fn spawn<F: Future>(future: F) -> Pin<Box<F>> {
      +    let mywaker = Arc::new(MyWaker{ thread: thread::current() }); 
      +    let waker = waker_into_waker(Arc::into_raw(mywaker)); 
      +    let mut cx = Context::from_waker(&waker); 
      +    let mut boxed = Box::pin(future);
      +    let _ = Future::poll(boxed.as_mut(), &mut cx); 
      +    boxed
      +}
      +
      +// ====================== FUTURE IMPLEMENTATION ==============================
      +#[derive(Clone)]
      +struct MyWaker {
      +    thread: thread::Thread,
      +}
      +
      +#[derive(Clone)]
       pub struct Task {
           id: usize,
      -    pending: bool, 
      +    reactor: Arc<Mutex<Reactor>>,
      +    data: u64,
      +    is_registered: bool,
       }
       
      -// ===== REACTOR =====
      +fn mywaker_wake(s: &MyWaker) {
      +    let waker_ptr: *const MyWaker = s;
      +    let waker_arc = unsafe {Arc::from_raw(waker_ptr)};
      +    waker_arc.thread.unpark();
      +}
      +
      +fn mywaker_clone(s: &MyWaker) -> RawWaker {
      +    let arc = unsafe { Arc::from_raw(s).clone() };
      +    std::mem::forget(arc.clone()); // increase ref count
      +    RawWaker::new(Arc::into_raw(arc) as *const (), &VTABLE)
      +}
      +
      +const VTABLE: RawWakerVTable = unsafe {
      +    RawWakerVTable::new(
      +        |s| mywaker_clone(&*(s as *const MyWaker)),     // clone
      +        |s| mywaker_wake(&*(s as *const MyWaker)),      // wake
      +        |s| mywaker_wake(*(s as *const &MyWaker)),      // wake by ref
      +        |s| drop(Arc::from_raw(s as *const MyWaker)),   // decrease refcount
      +    )
      +};
      +
      +fn waker_into_waker(s: *const MyWaker) -> Waker {
      +    let raw_waker = RawWaker::new(s as *const (), &VTABLE);
      +    unsafe { Waker::from_raw(raw_waker) }
      +}
      +
      +impl Task {
      +    fn new(reactor: Arc<Mutex<Reactor>>, data: u64, id: usize) -> Self {
      +        Task {
      +            id,
      +            reactor,
      +            data,
      +            is_registered: false,
      +        }
      +    }
      +}
      +
      +impl Future for Task {
      +    type Output = usize;
      +    fn poll(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> {
      +        let mut r = self.reactor.lock().unwrap();
      +        if r.is_ready(self.id) {
      +            Poll::Ready(self.id)
      +        } else if self.is_registered {
      +            Poll::Pending
      +        } else {
      +            r.register(self.data, cx.waker().clone(), self.id);
      +            drop(r);
      +            self.is_registered = true;
      +            Poll::Pending
      +        }
      +    }
      +}
      +
      +// =============================== REACTOR ===================================
       struct Reactor {
           dispatcher: Sender<Event>,
           handle: Option<JoinHandle<()>>,
      -    outstanding: AtomicUsize,
      +    readylist: Arc<Mutex<Vec<usize>>>,
       }
       #[derive(Debug)]
       enum Event {
           Close,
      -    Simple(MyWaker, u64),
      +    Simple(Waker, u64, usize),
       }
       
       impl Reactor {
           fn new() -> Self {
               let (tx, rx) = channel::<Event>();
      +        let readylist = Arc::new(Mutex::new(vec![]));
      +        let rl_clone = readylist.clone();
               let mut handles = vec![];
               let handle = thread::spawn(move || {
                   // This simulates some I/O resource
                   for event in rx {
      +                let rl_clone = rl_clone.clone();
                       match event {
                           Event::Close => break,
      -                    Event::Simple(mywaker, duration) => {
      +                    Event::Simple(waker, duration, id) => {
                               let event_handle = thread::spawn(move || {
                                   thread::sleep(Duration::from_secs(duration));
      -                            mywaker.wake();
      +                            rl_clone.lock().map(|mut rl| rl.push(id)).unwrap();
      +                            waker.wake();
                               });
      +
                               handles.push(event_handle);
                           }
                       }
      @@ -679,22 +1256,28 @@ impl Reactor {
               });
       
               Reactor {
      +            readylist,
                   dispatcher: tx,
                   handle: Some(handle),
      -            outstanding: AtomicUsize::new(0),
               }
           }
       
      -    fn register(&mut self, duration: u64, mywaker: MyWaker) {
      +    fn register(&mut self, duration: u64, waker: Waker, data: usize) {
               self.dispatcher
      -            .send(Event::Simple(mywaker, duration))
      +            .send(Event::Simple(waker, duration, data))
                   .unwrap();
      -        self.outstanding.fetch_add(1, Ordering::Relaxed);
           }
       
           fn close(&mut self) {
               self.dispatcher.send(Event::Close).unwrap();
           }
      +
      +    fn is_ready(&self, id_to_check: usize) -> bool {
      +        self.readylist
      +            .lock()
      +            .map(|rl| rl.iter().any(|id| *id == id_to_check))
      +            .unwrap()
      +    }
       }
       
       impl Drop for Reactor {
      @@ -703,140 +1286,7 @@ impl Drop for Reactor {
           }
       }
       
      -
      use std::sync::atomic::{AtomicUsize, Ordering};
      -use std::sync::mpsc::{channel, Sender};
      -use std::sync::{Arc, Mutex};
      -use std::thread::{self, JoinHandle};
      -use std::time::{Duration, Instant};
      -
      -fn main() {
      -    let readylist = Arc::new(Mutex::new(vec![]));
      -    let mut reactor = Reactor::new();
      -
      -    let mywaker = MyWaker::new(1, thread::current(), readylist.clone());
      -    reactor.register(2, mywaker);
      -
      -    let mywaker = MyWaker::new(2, thread::current(), readylist.clone());
      -    reactor.register(2, mywaker);
      -    
      -    executor_run(reactor, readylist);
      -}
      -# // ====== EXECUTOR ======
      -# fn executor_run(mut reactor: Reactor, rl: Arc<Mutex<Vec<usize>>>) {
      -#     let start = Instant::now();
      -#         loop {
      -#         let mut rl_locked = rl.lock().unwrap();
      -#         while let Some(event) = rl_locked.pop() {
      -#             let dur = (Instant::now() - start).as_secs_f32(); 
      -#             println!("Event {} just happened at time: {:.2}.", event, dur);
      -#             reactor.outstanding.fetch_sub(1, Ordering::Relaxed);
      -#         }
      -#         drop(rl_locked);
      -# 
      -#         if reactor.outstanding.load(Ordering::Relaxed) == 0 {
      -#             reactor.close();
      -#             break;
      -#         }
      -# 
      -#         thread::park();
      -#     }
      -# }
      -# 
      -# // ====== "FUTURE" IMPL ======
      -# #[derive(Debug)]
      -# struct MyWaker {
      -#     id: usize,
      -#     thread: thread::Thread,
      -#     readylist: Arc<Mutex<Vec<usize>>>,
      -# }
      -# 
      -# impl MyWaker {
      -#     fn new(id: usize, thread: thread::Thread, readylist: Arc<Mutex<Vec<usize>>>) -> Self {
      -#         MyWaker {
      -#             id,
      -#             thread,
      -#             readylist,
      -#         }
      -#     }
      -# 
      -#     fn wake(&self) {
      -#         self.readylist.lock().map(|mut rl| rl.push(self.id)).unwrap();
      -#         self.thread.unpark();
      -#     }
      -# }
      -# 
      -# 
      -# #[derive(Debug, Clone)]
      -# pub struct Task {
      -#     id: usize,
      -#     pending: bool, 
      -# }
      -# 
      -# // ===== REACTOR =====
      -# struct Reactor {
      -#     dispatcher: Sender<Event>,
      -#     handle: Option<JoinHandle<()>>,
      -#     outstanding: AtomicUsize,
      -# }
      -# #[derive(Debug)]
      -# enum Event {
      -#     Close,
      -#     Simple(MyWaker, u64),
      -# }
      -# 
      -# impl Reactor {
      -#     fn new() -> Self {
      -#         let (tx, rx) = channel::<Event>();
      -#         let mut handles = vec![];
      -#         let handle = thread::spawn(move || {
      -#             // This simulates some I/O resource
      -#             for event in rx {
      -#                 match event {
      -#                     Event::Close => break,
      -#                     Event::Simple(mywaker, duration) => {
      -#                         let event_handle = thread::spawn(move || {
      -#                             thread::sleep(Duration::from_secs(duration));
      -#                             mywaker.wake();
      -#                         });
      -#                         handles.push(event_handle);
      -#                     }
      -#                 }
      -#             }
      -# 
      -#             for handle in handles {
      -#                 handle.join().unwrap();
      -#             }
      -#         });
      -# 
      -#         Reactor {
      -#             dispatcher: tx,
      -#             handle: Some(handle),
      -#             outstanding: AtomicUsize::new(0),
      -#         }
      -#     }
      -# 
      -#     fn register(&mut self, duration: u64, mywaker: MyWaker) {
      -#         self.dispatcher
      -#             .send(Event::Simple(mywaker, duration))
      -#             .unwrap();
      -#         self.outstanding.fetch_add(1, Ordering::Relaxed);
      -#     }
      -# 
      -#     fn close(&mut self) {
      -#         self.dispatcher.send(Event::Close).unwrap();
      -#     }
      -# }
      -# 
      -# impl Drop for Reactor {
      -#     fn drop(&mut self) {
      -#         self.handle.take().map(|h| h.join().unwrap()).unwrap();
      -#     }
      -# }
      -
      -

      Proper Waker

      -

      Proper Future

      -

      Supporting async/await

      -

      Bonus: concurrent futures

      +

      Bonus 1: concurrent futures

      @@ -860,21 +1310,6 @@ fn main() { - - - diff --git a/book/searchindex.js b/book/searchindex.js index f7f1442..babf24f 100644 --- a/book/searchindex.js +++ b/book/searchindex.js @@ -1 +1 @@ -Object.assign(window.search, {"doc_urls":["0_0_introduction.html#futures-explained-in-200-lines-of-rust","0_0_introduction.html#what-does-this-book-give-you-that-isnt-covered-elsewhere","0_0_introduction.html#what-well-do-and-not","0_0_introduction.html#credits-and-thanks","0_0_introduction.html#why-is-futures-in-rust-hard-to-understand","0_1_background_information.html#some-background-information","0_1_background_information.html#concurrency-in-general","0_1_1_trait_objects.html#trait-objects-and-fat-pointers","0_1_1_trait_objects.html#trait-objects-and-dynamic-dispatch","0_1_1_trait_objects.html#fat-pointers-in-rust","0_1_1_trait_objects.html#reactorexecutor-pattern","0_1_2_generators_pin.html#generators-and-pin","0_1_2_generators_pin.html#generators","0_1_2_generators_pin.html#stackful-coroutinesgreen-threads","0_1_2_generators_pin.html#combinators","0_1_2_generators_pin.html#stackless-coroutinesgenerators","0_1_2_generators_pin.html#how-generators-work","0_2_naive_implementation.html#naive-example","0_3_proper_waker.html#proper-waker","0_4_proper_future.html#proper-future","0_5_async_wait.html#supporting-asyncawait","0_6_concurrent_futures.html#bonus-concurrent-futures"],"index":{"documentStore":{"docInfo":{"0":{"body":57,"breadcrumbs":5,"title":5},"1":{"body":48,"breadcrumbs":5,"title":5},"10":{"body":162,"breadcrumbs":4,"title":2},"11":{"body":9,"breadcrumbs":4,"title":2},"12":{"body":50,"breadcrumbs":3,"title":1},"13":{"body":68,"breadcrumbs":5,"title":3},"14":{"body":64,"breadcrumbs":3,"title":1},"15":{"body":60,"breadcrumbs":4,"title":2},"16":{"body":168,"breadcrumbs":4,"title":2},"17":{"body":374,"breadcrumbs":2,"title":2},"18":{"body":0,"breadcrumbs":2,"title":2},"19":{"body":0,"breadcrumbs":2,"title":2},"2":{"body":67,"breadcrumbs":1,"title":1},"20":{"body":0,"breadcrumbs":2,"title":2},"21":{"body":0,"breadcrumbs":3,"title":3},"3":{"body":23,"breadcrumbs":2,"title":2},"4":{"body":110,"breadcrumbs":4,"title":4},"5":{"body":13,"breadcrumbs":2,"title":2},"6":{"body":43,"breadcrumbs":2,"title":2},"7":{"body":0,"breadcrumbs":6,"title":4},"8":{"body":42,"breadcrumbs":6,"title":4},"9":{"body":380,"breadcrumbs":5,"title":3}},"docs":{"0":{"body":"This book aims to explain Futures in Rust using an example driven approach. The goal is to get a better understanding of Futures by implementing a toy Reactor, a very simple Executor and our own Futures. We'll start off solving a small problem without Futures, Wakers or async/await and then gradually adapt our example so it implements all these concepts, and can be solved using the executor provided by both tokio and async_str. In the end I've made some reader excercises you can do if you want to fix some of the most glaring ommissions and shortcuts we took and create a slightly better example yourself.","breadcrumbs":"Futures Explained in 200 Lines of Rust","id":"0","title":"Futures Explained in 200 Lines of Rust"},"1":{"body":"That's a valid question. There are many good resources and examples already. First of all, this book will point you to some background information that I have found very valuable to get an understanding of concurrent programming in general. I find that many discussions arise, not because Futures is a hard concept to grasp, but that concurrent programming is a hard concept in general. Secondly, I've always found small runnable examples very exiting to learn from. It's all code that you can download, play with and learn from.","breadcrumbs":"What does this book give you that isn't covered elsewhere?","id":"1","title":"What does this book give you that isn't covered elsewhere?"},"10":{"body":"If you don't know what this is, you should take a few minutes and read about it. You will encounter the term Reactor and Executor a lot when working with async code in Rust. I have written a quick introduction explaining this pattern before which you can take a look at here: homepage Epoll, Kqueue and IOCP Explained - The Reactor-Executor Pattern I'll re-iterate the most important parts here. This pattern consists of at least 2 parts: A reactor handles some kind of event queue has the responsibility of respoonding to events An executor Often has a scheduler Holds a set of suspended tasks, and has the responsibility of resuming them when an event has occurred The concept of a task A set of operations that can be stopped half way and resumed later on This is a pattern not only used in Rust, but it's very popular in Rust due to how well it separates concerns between handling and scheduling tasks, and queing and responding to I/O events. The only thing Rust as a language defines is the task . In Rust we call an incorruptible task a Future. Futures has a well defined interface, which means they can be used across the entire ecosystem. In addition, Rust provides a way for the Reactor and Executor to communicate through the Waker. We'll get to know these in the following chapters. Providing these pieces let's Rust take care a lot of the ergonomic \"friction\" programmers meet when faced with async code, and still not dictate any preferred runtime to actually do the scheduling and I/O queues. It's important to know that Rust doesn't provide a runtime, so you have to choose one. async std and tokio are two popular ones. With that out of the way, let's move on to our main example.","breadcrumbs":"Some background information » Reactor/Executor pattern","id":"10","title":"Reactor/Executor pattern"},"11":{"body":"So the second difficult part that there seems to be a lot of questions about is Generators and the Pin type.","breadcrumbs":"Some background information » Generators and Pin","id":"11","title":"Generators and Pin"},"12":{"body":"**Relevant for:** - Understanding how the async/await syntax works\n- Why we need `Pin`\n- Why Rusts async model is extremely efficient The motivation for Generators can be found in RFC#2033 . It's very well written and I can recommend reading through it (it talks as much about async/await as it does about generators). Basically, there were three main options that were discussed when Rust was desiging how the language would handle concurrency: Stackful coroutines, better known as green threads. Using combinators. Stackless coroutines, better known as generators.","breadcrumbs":"Some background information » Generators","id":"12","title":"Generators"},"13":{"body":"I've written about green threads before. Go check out Green Threads Explained in 200 lines of Rust if you're interested. Green threads uses the same mechanisms as an OS does by creating a thread for each task, setting up a stack and forcing the CPU to save it's state and jump from one task(thread) to another. We yield control to the scheduler which then continues running a different task. Rust had green threads once, but they were removed before it hit 1.0. The state of execution is stored in each stack so in such a solution there would be no need for async, await, Futures or Pin. All this would be implementation details for the library.","breadcrumbs":"Some background information » Stackful coroutines/green threads","id":"13","title":"Stackful coroutines/green threads"},"14":{"body":"Futures 1.0 used combinators. If you've worked with Promises in JavaScript, you already know combinators. In Rust they look like this: let future = Connection::connect(conn_str).and_then(|conn| { conn.query(\"somerequest\").map(|row|{ SomeStruct::from(row) }).collect::>()\n}); let rows: Result, SomeLibraryError> = block_on(future).unwrap(); While an effective solution there are mainly two downsides I'll focus on: The error messages produced could be extremely long and arcane Not optimal memory usage The reason for the higher than optimal memory usage is that this is basically a callback-based approach, where each closure stores all the data it needs for computation. This means that as we chain these, the memory required to store the needed state increases with each added step.","breadcrumbs":"Some background information » Combinators","id":"14","title":"Combinators"},"15":{"body":"This is the model used in Async/Await today. It has two advantages: It's easy to convert normal Rust code to a stackless corotuine using using async/await as keywords (it can even be done using a macro). It uses memory very efficiently The second point is in contrast to Futures 1.0 (well, both are efficient in practice but thats beside the point). Generators are implemented as state machines. The memory footprint of a chain of computations is only defined by the largest footprint any single step requires. That means that adding steps to a chain of computations might not require any added memory at all.","breadcrumbs":"Some background information » Stackless coroutines/generators","id":"15","title":"Stackless coroutines/generators"},"16":{"body":"In Nightly Rust today you can use the yield keyword. Basically using this keyword in a closure, converts it to a generator. A closure looking like this (I'm going to use the terminology that's currently in Rust): let a = 4;\nlet b = move || { println!(\"Hello\"); yield a * 2; println!(\"world!\"); }; if let GeneratorState::Yielded(n) = gen.resume() { println!(\"Got value {}\", n); } if let GeneratorState::Complete(()) = gen.resume() { ()\n}; Early on, before there was a consensus about the design of Pin, this compiled to something looking similar to this: fn main() { let mut gen = GeneratorA::start(4); if let GeneratorState::Yielded(n) = gen.resume() { println!(\"Got value {}\", n); } if let GeneratorState::Complete(()) = gen.resume() { () };\n} // If you've ever wondered why the parameters are called Y and R the naming from\n// the original rfc most likely holds the answer\nenum GeneratorState { // originally called `CoResult` Yielded(Y), // originally called `Yield(Y)` Complete(R), // originally called `Return(R)`\n} trait Generator { type Yield; type Return; fn resume(&mut self) -> GeneratorState;\n} enum GeneratorA { Enter(i32), Yield1(i32), Exit,\n} impl GeneratorA { fn start(a1: i32) -> Self { GeneratorA::Enter(a1) }\n} impl Generator for GeneratorA { type Yield = i32; type Return = (); fn resume(&mut self) -> GeneratorState { // lets us get ownership over current state match std::mem::replace(&mut *self, GeneratorA::Exit) { GeneratorA::Enter(a1) => { /*|---code before yield1---|*/ /*|*/ println!(\"Hello\"); /*|*/ /*|*/ let a = a1 * 2; /*|*/ /*|------------------------|*/ *self = GeneratorA::Yield1(a); GeneratorState::Yielded(a) } GeneratorA::Yield1(_) => { /*|----code after yield1----|*/ /*|*/ println!(\"world!\"); /*|*/ /*|-------------------------|*/ *self = GeneratorA::Exit; GeneratorState::Complete(()) } GeneratorA::Exit => panic!(\"Can't advance an exited generator!\"), } }\n} The yield keyword was discussed first in RFC#1823 and in RFC#1832 . || { let arr: Vec = (0..a).enumerate().map((i,_) i).collect(); for n in arr { yield n; } println!(\"The sum is: {}\", arr.iter().sum());\n}\n|| { yield a * 2; println!(\"Hello!\");\n}","breadcrumbs":"Some background information » How generators work","id":"16","title":"How generators work"},"17":{"body":"use std::sync::atomic::{AtomicUsize, Ordering};\nuse std::sync::mpsc::{channel, Sender};\nuse std::sync::{Arc, Mutex};\nuse std::thread::{self, JoinHandle};\nuse std::time::{Duration, Instant}; fn main() { let readylist = Arc::new(Mutex::new(vec![])); let mut reactor = Reactor::new(); let mywaker = MyWaker::new(1, thread::current(), readylist.clone()); reactor.register(2, mywaker); let mywaker = MyWaker::new(2, thread::current(), readylist.clone()); reactor.register(2, mywaker); executor_run(reactor, readylist);\n}\n// ====== EXECUTOR ======\nfn executor_run(mut reactor: Reactor, rl: Arc>>) { let start = Instant::now(); loop { let mut rl_locked = rl.lock().unwrap(); while let Some(event) = rl_locked.pop() { let dur = (Instant::now() - start).as_secs_f32(); println!(\"Event {} just happened at time: {:.2}.\", event, dur); reactor.outstanding.fetch_sub(1, Ordering::Relaxed); } drop(rl_locked); if reactor.outstanding.load(Ordering::Relaxed) == 0 { reactor.close(); break; } thread::park(); }\n} // ====== \"FUTURE\" IMPL ======\n#[derive(Debug)]\nstruct MyWaker { id: usize, thread: thread::Thread, readylist: Arc>>,\n} impl MyWaker { fn new(id: usize, thread: thread::Thread, readylist: Arc>>) -> Self { MyWaker { id, thread, readylist, } } fn wake(&self) { self.readylist.lock().map(|mut rl| rl.push(self.id)).unwrap(); self.thread.unpark(); }\n} #[derive(Debug, Clone)]\npub struct Task { id: usize, pending: bool, } // ===== REACTOR =====\nstruct Reactor { dispatcher: Sender, handle: Option>, outstanding: AtomicUsize,\n}\n#[derive(Debug)]\nenum Event { Close, Simple(MyWaker, u64),\n} impl Reactor { fn new() -> Self { let (tx, rx) = channel::(); let mut handles = vec![]; let handle = thread::spawn(move || { // This simulates some I/O resource for event in rx { match event { Event::Close => break, Event::Simple(mywaker, duration) => { let event_handle = thread::spawn(move || { thread::sleep(Duration::from_secs(duration)); mywaker.wake(); }); handles.push(event_handle); } } } for handle in handles { handle.join().unwrap(); } }); Reactor { dispatcher: tx, handle: Some(handle), outstanding: AtomicUsize::new(0), } } fn register(&mut self, duration: u64, mywaker: MyWaker) { self.dispatcher .send(Event::Simple(mywaker, duration)) .unwrap(); self.outstanding.fetch_add(1, Ordering::Relaxed); } fn close(&mut self) { self.dispatcher.send(Event::Close).unwrap(); }\n} impl Drop for Reactor { fn drop(&mut self) { self.handle.take().map(|h| h.join().unwrap()).unwrap(); }\n} use std::sync::atomic::{AtomicUsize, Ordering};\nuse std::sync::mpsc::{channel, Sender};\nuse std::sync::{Arc, Mutex};\nuse std::thread::{self, JoinHandle};\nuse std::time::{Duration, Instant}; fn main() { let readylist = Arc::new(Mutex::new(vec![])); let mut reactor = Reactor::new(); let mywaker = MyWaker::new(1, thread::current(), readylist.clone()); reactor.register(2, mywaker); let mywaker = MyWaker::new(2, thread::current(), readylist.clone()); reactor.register(2, mywaker); executor_run(reactor, readylist);\n}\n# // ====== EXECUTOR ======\n# fn executor_run(mut reactor: Reactor, rl: Arc>>) {\n# let start = Instant::now();\n# loop {\n# let mut rl_locked = rl.lock().unwrap();\n# while let Some(event) = rl_locked.pop() {\n# let dur = (Instant::now() - start).as_secs_f32(); # println!(\"Event {} just happened at time: {:.2}.\", event, dur);\n# reactor.outstanding.fetch_sub(1, Ordering::Relaxed);\n# }\n# drop(rl_locked);\n# # if reactor.outstanding.load(Ordering::Relaxed) == 0 {\n# reactor.close();\n# break;\n# }\n# # thread::park();\n# }\n# }\n# # // ====== \"FUTURE\" IMPL ======\n# #[derive(Debug)]\n# struct MyWaker {\n# id: usize,\n# thread: thread::Thread,\n# readylist: Arc>>,\n# }\n# # impl MyWaker {\n# fn new(id: usize, thread: thread::Thread, readylist: Arc>>) -> Self {\n# MyWaker {\n# id,\n# thread,\n# readylist,\n# }\n# }\n# # fn wake(&self) {\n# self.readylist.lock().map(|mut rl| rl.push(self.id)).unwrap();\n# self.thread.unpark();\n# }\n# }\n# # # #[derive(Debug, Clone)]\n# pub struct Task {\n# id: usize,\n# pending: bool, # }\n# # // ===== REACTOR =====\n# struct Reactor {\n# dispatcher: Sender,\n# handle: Option>,\n# outstanding: AtomicUsize,\n# }\n# #[derive(Debug)]\n# enum Event {\n# Close,\n# Simple(MyWaker, u64),\n# }\n# # impl Reactor {\n# fn new() -> Self {\n# let (tx, rx) = channel::();\n# let mut handles = vec![];\n# let handle = thread::spawn(move || {\n# // This simulates some I/O resource\n# for event in rx {\n# match event {\n# Event::Close => break,\n# Event::Simple(mywaker, duration) => {\n# let event_handle = thread::spawn(move || {\n# thread::sleep(Duration::from_secs(duration));\n# mywaker.wake();\n# });\n# handles.push(event_handle);\n# }\n# }\n# }\n# # for handle in handles {\n# handle.join().unwrap();\n# }\n# });\n# # Reactor {\n# dispatcher: tx,\n# handle: Some(handle),\n# outstanding: AtomicUsize::new(0),\n# }\n# }\n# # fn register(&mut self, duration: u64, mywaker: MyWaker) {\n# self.dispatcher\n# .send(Event::Simple(mywaker, duration))\n# .unwrap();\n# self.outstanding.fetch_add(1, Ordering::Relaxed);\n# }\n# # fn close(&mut self) {\n# self.dispatcher.send(Event::Close).unwrap();\n# }\n# }\n# # impl Drop for Reactor {\n# fn drop(&mut self) {\n# self.handle.take().map(|h| h.join().unwrap()).unwrap();\n# }\n# }","breadcrumbs":"Naive example","id":"17","title":"Naive example"},"18":{"body":"","breadcrumbs":"Proper Waker","id":"18","title":"Proper Waker"},"19":{"body":"","breadcrumbs":"Proper Future","id":"19","title":"Proper Future"},"2":{"body":"We'll: Implement our own Futures and get to know the Reactor/Executor pattern Implement our own waker and learn why it's a bit foreign compared to other types Talk a bit about runtime complexity and what to keep in mind when writing async Rust. Make sure all examples can be run on the playground Not rely on any helpers or libraries, but try to face the complexity and learn We'll not: Talk about how futures are implemented in Rust the language, the state machine and so on Explain how the different runtimes differ, however, you'll hopefully be a bit better off if you read this before you go research them Explain concurrent programming, but I will supply sources I do want to explore Rusts internal implementation but that will be for a later book.","breadcrumbs":"What we'll do and not","id":"2","title":"What we'll do and not"},"20":{"body":"","breadcrumbs":"Supporting async/await","id":"20","title":"Supporting async/await"},"21":{"body":"","breadcrumbs":"Bonus: concurrent futures","id":"21","title":"Bonus: concurrent futures"},"3":{"body":"I'll like to take the chance of thanking the people behind mio, tokio, async_std, Futures, libc, crossbeam and many other libraries which so much is built upon. Reading and exploring some of this code is nothing less than impressive.","breadcrumbs":"Credits and thanks","id":"3","title":"Credits and thanks"},"4":{"body":"Well, I think it has to do with several things: Futures has a very interesting implementation, compiling down to a state machine using generators to suspend and resume execution. In a language such as Rust this is pretty hard to do ergonomically and safely. You are exposed to some if this complexity when working with futures and want to understand them, not only learn how to use them. Rust doesn't provide a runtime. That means you'll actually have to choose one yourself and actually know what a Reactor and an Executor is. While not too difficult, you need to make more choices than you need in GO and other languages designed with a concurrent programming in mind and ships with a runtime. Futures exist in two versions, Futures 1.0 and Futures 3.0. Futures 1.0 was known to have some issues regarding ergonomics. Turns out that modelling async coding after Promises in JavaScript can turn in to extremely long errors and type signatures with a type system as Rust. Futures 3.0 are not compatible with Futures 1.0 without performing some work. Async await syntax was recently stabilized what we'll really do is to stub out a Reactor, and Executor and implement","breadcrumbs":"Why is Futures in Rust hard to understand","id":"4","title":"Why is Futures in Rust hard to understand"},"5":{"body":"Before we start implementing our Futures , we'll go through some background information that will help demystify some of the concepts we encounter.","breadcrumbs":"Some background information","id":"5","title":"Some background information"},"6":{"body":"If you find the concepts of concurrency and async programming confusing in general, I know where you're coming from and I have written some resources to try to give a high level overview that will make it easier to learn Rusts Futures afterwards: Async Basics - The difference between concurrency and parallelism Async Basics - Async history Async Basics - Strategies for handling I/O Async Basics - Epoll, Kqueue and IOCP","breadcrumbs":"Concurrency in general","id":"6","title":"Concurrency in general"},"7":{"body":"","breadcrumbs":"Some background information » Trait objects and fat pointers","id":"7","title":"Trait objects and fat pointers"},"8":{"body":"The single most confusing topic we encounter when implementing our own Futures is how we implement a Waker . Creating a Waker involves creating a vtable which allows using dynamic dispatch to call methods on a type erased trait object we construct our selves. If you want to know more about dynamic dispatch in Rust I can recommend this article: https://alschwalm.com/blog/static/2017/03/07/exploring-dynamic-dispatch-in-rust/ Let's explain this a bit more in detail.","breadcrumbs":"Some background information » Trait objects and dynamic dispatch","id":"8","title":"Trait objects and dynamic dispatch"},"9":{"body":"Let's take a look at the size of some different pointer types in Rust. If we run the following code: # use std::mem::size_of;\ntrait SomeTrait { } fn main() { println!(\"Size of Box: {}\", size_of::>()); println!(\"Size of &i32: {}\", size_of::<&i32>()); println!(\"Size of &Box: {}\", size_of::<&Box>()); println!(\"Size of Box: {}\", size_of::>()); println!(\"Size of &dyn Trait: {}\", size_of::<&dyn SomeTrait>()); println!(\"Size of &[i32]: {}\", size_of::<&[i32]>()); println!(\"Size of &[&dyn Trait]: {}\", size_of::<&[&dyn SomeTrait]>()); println!(\"Size of [i32; 10]: {}\", size_of::<[i32; 10]>()); println!(\"Size of [&dyn Trait; 10]: {}\", size_of::<[&dyn SomeTrait; 10]>());\n} As you see from the output after running this, the sizes of the references varies. Most are 8 bytes (which is a pointer size on 64 bit systems), but some are 16 bytes. The 16 byte sized pointers are called \"fat pointers\" since they carry more extra information. In the case of &[i32] : The first 8 bytes is the actual pointer to the first element in the array (or part of an array the slice refers to) The second 8 bytes is the length of the slice. The one we'll concern ourselves about is the references to traits, or trait objects as they're called in Rust. &dyn SomeTrait is an example of a trait object The layout for a pointer to a trait object looks like this: The first 8 bytes points to the data for the trait object The second 8 bytes points to the vtable for the trait object The reason for this is to allow us to refer to an object we know nothing about except that it implements the methods defined by our trait. To allow this we use dynamic dispatch. Let's explain this in code instead of words by implementing our own trait object from these parts: // A reference to a trait object is a fat pointer: (data_ptr, vtable_ptr)\ntrait Test { fn add(&self) -> i32; fn sub(&self) -> i32; fn mul(&self) -> i32;\n} // This will represent our home brewn fat pointer to a trait object\n#[repr(C)]\nstruct FatPointer<'a> { /// A reference is a pointer to an instantiated `Data` instance data: &'a mut Data, /// Since we need to pass in literal values like length and alignment it's /// easiest for us to convert pointers to usize-integers instead of the other way around. vtable: *const usize,\n} // This is the data in our trait object. It's just two numbers we want to operate on.\nstruct Data { a: i32, b: i32,\n} // ====== function definitions ======\nfn add(s: &Data) -> i32 { s.a + s.b\n}\nfn sub(s: &Data) -> i32 { s.a - s.b\n}\nfn mul(s: &Data) -> i32 { s.a * s.b\n} fn main() { let mut data = Data {a: 3, b: 2}; // vtable is like special purpose array of pointer-length types with a fixed // format where the three first values has a special meaning like the // length of the array is encoded in the array itself as the second value. let vtable = vec![ 0, // pointer to `Drop` (which we're not implementing here) 6, // lenght of vtable 8, // alignment // we need to make sure we add these in the same order as defined in the Trait. // Try changing the order of add and sub and see what happens. add as usize, // function pointer sub as usize, // function pointer mul as usize, // function pointer ]; let fat_pointer = FatPointer { data: &mut data, vtable: vtable.as_ptr()}; let test = unsafe { std::mem::transmute::(fat_pointer) }; // And voalá, it's now a trait object we can call methods on println!(\"Add: 3 + 2 = {}\", test.add()); println!(\"Sub: 3 - 2 = {}\", test.sub()); println!(\"Mul: 3 * 2 = {}\", test.mul());\n} If you run this code by pressing the \"play\" button at the top you'll se it outputs just what we expect. This code example is editable so you can change it and run it to see what happens. The reason we go through this will be clear later on when we implement our own Waker we'll actually set up a vtable like we do here to and knowing what it is will make this much less mysterious.","breadcrumbs":"Some background information » Fat pointers in Rust","id":"9","title":"Fat pointers in Rust"}},"length":22,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{".":{".":{"a":{")":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"(":{"df":0,"docs":{},"i":{",":{"_":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"17":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"1":{".":{"0":{"df":4,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"0":{"df":1,"docs":{"9":{"tf":2.0}}},"6":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"2":{"0":{"0":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.0}}},"df":0,"docs":{}},"df":4,"docs":{"10":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"9":{"tf":2.0}}},"3":{".":{"0":{"df":1,"docs":{"4":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"9":{"tf":2.0}}},"4":{"df":1,"docs":{"16":{"tf":1.0}}},"6":{"4":{"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.0}}},"8":{"df":1,"docs":{"9":{"tf":2.449489742783178}}},"a":{"1":{"df":1,"docs":{"16":{"tf":1.0}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"10":{"tf":1.0},"4":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"1":{"tf":1.0},"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"13":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"0":{"tf":1.0},"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"c":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":2.449489742783178}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"9":{"tf":2.23606797749979}}}},"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{"/":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"0":{"tf":1.0},"12":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"20":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"df":6,"docs":{"10":{"tf":1.7320508075688772},"12":{"tf":1.0},"13":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"0":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}}}}},"df":0,"docs":{}}},"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"1":{"tf":1.0},"5":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.0}}},"i":{"c":{"df":4,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"6":{"tf":2.0}}},"df":0,"docs":{}}}},"df":2,"docs":{"16":{"tf":1.0},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"10":{"tf":1.0},"13":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"2":{"tf":1.0},"5":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"2":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"2":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"21":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":3,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"2":{"tf":1.0}}},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"0":{"tf":1.0},"15":{"tf":1.0}}}},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":2.0}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":2.6457513110645907}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"10":{"tf":1.0},"16":{"tf":2.0},"8":{"tf":1.0},"9":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}}}},"n":{"c":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{":":{":":{"<":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"10":{"tf":1.0},"4":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":7,"docs":{"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"3":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":2.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"12":{"tf":1.0},"14":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"6":{"tf":1.0}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"2":{"tf":1.0}}},"t":{"df":1,"docs":{"4":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"4":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"x":{"df":2,"docs":{"2":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":6,"docs":{"1":{"tf":1.4142135623730951},"12":{"tf":1.0},"2":{"tf":1.0},"21":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"6":{"tf":1.0},"8":{"tf":1.0}}}}},"n":{".":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"\"":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}},"t":{"df":1,"docs":{"9":{"tf":1.0}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"13":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"9":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":1,"docs":{"13":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"b":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}}}},"d":{"a":{"df":0,"docs":{},"t":{"a":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":2,"docs":{"14":{"tf":1.0},"9":{"tf":3.605551275463989}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"15":{"tf":1.0},"9":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":2.449489742783178}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}},"n":{"df":2,"docs":{"16":{"tf":1.0},"4":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"13":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"i":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":1.0},"2":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"s":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"17":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"4":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"15":{"tf":1.0}}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"4":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":2,"docs":{"17":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":2.449489742783178}}}},"df":1,"docs":{"17":{"tf":2.0}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"8":{"tf":2.0},"9":{"tf":1.0}}}},"df":1,"docs":{"9":{"tf":2.23606797749979}}}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"15":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}}},"n":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"5":{"tf":1.0},"8":{"tf":1.0}}}}}}},"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"10":{"tf":1.0},"4":{"tf":1.4142135623730951}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}},"t":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":2,"docs":{"10":{"tf":2.0},"17":{"tf":2.8284271247461903}}}}}},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":6,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":4,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":2.0},"17":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}},"t":{"df":2,"docs":{"1":{"tf":1.0},"16":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"2":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"4":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"4":{"tf":1.0}}}}}}}},"f":{"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"2":{"tf":1.0}}}},"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"df":2,"docs":{"7":{"tf":1.0},"9":{"tf":2.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"'":{"a":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"10":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"1":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"9":{"tf":2.0}}}}},"x":{"df":2,"docs":{"0":{"tf":1.0},"9":{"tf":1.0}}}},"n":{"df":3,"docs":{"16":{"tf":2.0},"17":{"tf":4.0},"9":{"tf":2.8284271247461903}}},"o":{"c":{"df":0,"docs":{},"u":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.4142135623730951}}}}}}}}},"r":{"c":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"12":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":2.0}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":15,"docs":{"0":{"tf":2.23606797749979},"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"17":{"tf":1.4142135623730951},"19":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":3.0},"5":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":2.0}}}}}}}},"df":1,"docs":{"16":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"a":{"1":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"4":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"1":{"(":{"_":{"df":1,"docs":{"16":{"tf":1.0}}},"a":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"d":{"(":{"a":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":7,"docs":{"1":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":2.0},"15":{"tf":1.0},"16":{"tf":2.23606797749979},"4":{"tf":1.0},"6":{"tf":1.4142135623730951}}}}}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"1":{"tf":1.0},"6":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":6,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}},"o":{"d":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"a":{"d":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":2.0}}}}}}},"h":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"10":{"tf":1.0}}}},"n":{"d":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"17":{"tf":3.4641016151377544},"6":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"17":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"r":{"d":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":1,"docs":{"5":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"13":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}}}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"/":{"2":{"0":{"1":{"7":{"/":{"0":{"3":{"/":{"0":{"7":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"i":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"3":{"tf":1.0}}}},"m":{"df":1,"docs":{"16":{"tf":1.0}}},"v":{"df":3,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"13":{"tf":1.0}}}},")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"/":{"df":0,"docs":{},"o":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"6":{"tf":1.0}}}},"3":{"2":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"9":{"tf":3.4641016151377544}}},"df":0,"docs":{}},"d":{"df":1,"docs":{"17":{"tf":2.449489742783178}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":8,"docs":{"0":{"tf":1.4142135623730951},"13":{"tf":1.0},"15":{"tf":1.0},"2":{"tf":2.0},"4":{"tf":1.4142135623730951},"5":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":2.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"n":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":3,"docs":{"1":{"tf":1.0},"5":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"17":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.4142135623730951}},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"9":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}}}}},"f":{"a":{"c":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"o":{"c":{"df":0,"docs":{},"p":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"4":{"tf":1.0}}}}},"t":{"'":{"df":7,"docs":{"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.7320508075688772}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"2":{"tf":1.0}}}},"y":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":7,"docs":{"10":{"tf":1.7320508075688772},"14":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}},"n":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"4":{"tf":1.0},"6":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":2.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"3":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"'":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":1,"docs":{"16":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"i":{"b":{"c":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"13":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":4,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"t":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0}}}}},"m":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"15":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"15":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":4,"docs":{"2":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"3":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":5,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"2":{"tf":1.0},"4":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}},"o":{"df":1,"docs":{"3":{"tf":1.0}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":3,"docs":{"4":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"12":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"12":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.0}}},"t":{"df":3,"docs":{"16":{"tf":1.0},"17":{"tf":2.449489742783178},"9":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"w":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":4.242640687119285}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"1":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":1,"docs":{"16":{"tf":2.0}},"e":{"df":0,"docs":{},"e":{"d":{"df":5,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"w":{"(":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"3":{"tf":1.0},"9":{"tf":1.0}}}},"w":{"df":1,"docs":{"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":3.3166247903554}}}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"n":{"c":{"df":1,"docs":{"13":{"tf":1.0}}},"df":4,"docs":{"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"12":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"17":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"17":{"tf":2.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":2.0}}}}}}},"s":{"df":1,"docs":{"13":{"tf":1.0}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"t":{"df":3,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"4":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"17":{"tf":2.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"6":{"tf":1.0}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"c":{"a":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":2.23606797749979},"2":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"4":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":4,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"1":{"tf":1.0},"9":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"15":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"7":{"tf":1.0},"9":{"tf":4.0}}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"a":{"d":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"9":{"tf":3.0}}}},"u":{"b":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":1.0}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"2":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0}},"m":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"0":{"tf":1.0},"10":{"tf":1.7320508075688772},"4":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"b":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.0},"11":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":1,"docs":{"16":{"tf":1.4142135623730951}},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"(":{"1":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"2":{"df":1,"docs":{"17":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"2":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":4,"docs":{"0":{"tf":1.0},"10":{"tf":2.0},"17":{"tf":4.0},"4":{"tf":1.4142135623730951}}}}}},"d":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":3.1622776601683795}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"4":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"14":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"12":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"10":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":2.449489742783178}}}}},"g":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"12":{"tf":1.0}}}},"i":{"df":1,"docs":{"2":{"tf":1.0}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"13":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"r":{"(":{"c":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"1":{"tf":1.0},"17":{"tf":1.4142135623730951},"6":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"m":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"4":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}},"f":{"c":{"#":{"1":{"8":{"2":{"3":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"3":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"3":{"3":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"l":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"d":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}},"e":{"d":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":1,"docs":{"17":{"tf":2.0}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":3,"docs":{"13":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":2.0}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":2.8284271247461903},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"2":{"tf":1.7320508075688772},"4":{"tf":2.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}}},"x":{"df":1,"docs":{"17":{"tf":2.0}}}},"s":{".":{"a":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}},"b":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"4":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"13":{"tf":1.0},"9":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"13":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"10":{"tf":1.7320508075688772},"13":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"11":{"tf":1.0},"15":{"tf":1.0},"9":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"9":{"tf":1.0}},"e":{"df":1,"docs":{"9":{"tf":1.7320508075688772}},"m":{"df":1,"docs":{"11":{"tf":1.0}}}},"l":{"df":0,"docs":{},"f":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"_":{"a":{"d":{"d":{"(":{"1":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"16":{"tf":2.449489742783178},"17":{"tf":3.1622776601683795}}},"v":{"df":1,"docs":{"8":{"tf":1.0}}}},"n":{"d":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"9":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"4":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":2,"docs":{"15":{"tf":1.0},"8":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{":":{":":{"<":{"&":{"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"9":{"tf":2.0}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.0}}}},"v":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"4":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"1":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},")":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"f":{"3":{"2":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"0":{"tf":1.0},"17":{"tf":1.4142135623730951},"5":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":6,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0}}}}},"d":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"<":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{":":{":":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"c":{":":{":":{"df":0,"docs":{},"{":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"c":{":":{":":{"df":0,"docs":{},"{":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"{":{"a":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"{":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"10":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"10":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951}}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"17":{"tf":2.449489742783178},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"u":{"b":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}}},"u":{"b":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"2":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"10":{"tf":1.0},"4":{"tf":1.0}}},"df":0,"docs":{}}}}}},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"x":{"df":2,"docs":{"12":{"tf":1.0},"4":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"4":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":3,"docs":{"10":{"tf":1.7320508075688772},"3":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":2,"docs":{"12":{"tf":1.0},"2":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":3,"docs":{"10":{"tf":2.23606797749979},"13":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"10":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}},"s":{"df":0,"docs":{},"t":{".":{"a":{"d":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}},">":{"(":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}}},"t":{"'":{"df":2,"docs":{"1":{"tf":1.0},"16":{"tf":1.0}}},"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"'":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"10":{"tf":1.0},"4":{"tf":1.0}}},"k":{"df":1,"docs":{"4":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{":":{":":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":2.0}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"(":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"s":{"(":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"p":{"a":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":2.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"17":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":2.449489742783178},"17":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":2,"docs":{"12":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"o":{"d":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":3,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"3":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"0":{"tf":1.0}}}},"p":{"df":1,"docs":{"9":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}},"y":{"df":1,"docs":{"0":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"16":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":4.242640687119285}}}}},"df":0,"docs":{},"i":{"df":3,"docs":{"2":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"4":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"o":{"df":5,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}}},"x":{"df":1,"docs":{"17":{"tf":2.0}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":6,"docs":{"11":{"tf":1.0},"16":{"tf":2.0},"2":{"tf":1.0},"4":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"u":{"6":{"4":{"df":1,"docs":{"17":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"12":{"tf":1.0},"4":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"p":{"df":2,"docs":{"13":{"tf":1.0},"9":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}},"df":11,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":1.7320508075688772},"17":{"tf":3.1622776601683795},"4":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"z":{"df":2,"docs":{"17":{"tf":2.449489742783178},"9":{"tf":2.23606797749979}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"16":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"17":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":6,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"12":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"4":{"tf":1.0}}}}}}}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"8":{"tf":1.0},"9":{"tf":2.6457513110645907}},"e":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":6,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"0":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"y":{"df":2,"docs":{"10":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{},"e":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":6,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"2":{"tf":1.7320508075688772},"4":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"4":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":5,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"4":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"2":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"6":{"tf":1.0}}}}}}}}},"y":{"df":1,"docs":{"16":{"tf":1.0}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}},"1":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":2,"docs":{"13":{"tf":1.0},"16":{"tf":2.6457513110645907}},"e":{"d":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"2":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}}},"r":{"df":2,"docs":{"13":{"tf":1.0},"6":{"tf":1.0}}},"v":{"df":2,"docs":{"14":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"0":{"tf":1.0},"4":{"tf":1.0}}}}}}}}}}}},"breadcrumbs":{"root":{"0":{".":{".":{"a":{")":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"(":{"df":0,"docs":{},"i":{",":{"_":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"17":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"1":{".":{"0":{"df":4,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"0":{"df":1,"docs":{"9":{"tf":2.0}}},"6":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"2":{"0":{"0":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"13":{"tf":1.0}}},"df":0,"docs":{}},"df":4,"docs":{"10":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"9":{"tf":2.0}}},"3":{".":{"0":{"df":1,"docs":{"4":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"9":{"tf":2.0}}},"4":{"df":1,"docs":{"16":{"tf":1.0}}},"6":{"4":{"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.0}}},"8":{"df":1,"docs":{"9":{"tf":2.449489742783178}}},"a":{"1":{"df":1,"docs":{"16":{"tf":1.0}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"10":{"tf":1.0},"4":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"1":{"tf":1.0},"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"13":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"0":{"tf":1.0},"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"c":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":2.449489742783178}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"9":{"tf":2.23606797749979}}}},"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{"/":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"0":{"tf":1.0},"12":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"df":6,"docs":{"10":{"tf":1.7320508075688772},"12":{"tf":1.0},"13":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"0":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}}}}},"df":0,"docs":{}}},"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.7320508075688772},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.0}}},"i":{"c":{"df":4,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"6":{"tf":2.0}}},"df":0,"docs":{}}}},"df":2,"docs":{"16":{"tf":1.0},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"10":{"tf":1.0},"13":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"2":{"tf":1.0},"5":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"2":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"2":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"21":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"k":{"df":3,"docs":{"0":{"tf":1.0},"1":{"tf":1.7320508075688772},"2":{"tf":1.0}}},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"0":{"tf":1.0},"15":{"tf":1.0}}}},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":2.0}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":2.6457513110645907}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"10":{"tf":1.0},"16":{"tf":2.0},"8":{"tf":1.0},"9":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}}}},"n":{"c":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{":":{":":{"<":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"10":{"tf":1.0},"4":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":7,"docs":{"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"3":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":2.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"12":{"tf":1.0},"14":{"tf":2.0}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"6":{"tf":1.0}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"2":{"tf":1.0}}},"t":{"df":1,"docs":{"4":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"4":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"x":{"df":2,"docs":{"2":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":6,"docs":{"1":{"tf":1.4142135623730951},"12":{"tf":1.0},"2":{"tf":1.0},"21":{"tf":1.4142135623730951},"4":{"tf":1.0},"6":{"tf":2.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"6":{"tf":1.0},"8":{"tf":1.0}}}}},"n":{".":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"\"":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}},"t":{"df":1,"docs":{"9":{"tf":1.0}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"13":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"9":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"u":{"df":1,"docs":{"13":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"b":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}}}},"d":{"a":{"df":0,"docs":{},"t":{"a":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":2,"docs":{"14":{"tf":1.0},"9":{"tf":3.605551275463989}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"15":{"tf":1.0},"9":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":2.449489742783178}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}},"n":{"df":2,"docs":{"16":{"tf":1.0},"4":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"13":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"i":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":1.0},"2":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"s":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"17":{"tf":2.0},"8":{"tf":2.23606797749979},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"4":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"15":{"tf":1.0}}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"4":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":2,"docs":{"17":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":2.449489742783178}}}},"df":1,"docs":{"17":{"tf":2.0}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"8":{"tf":2.23606797749979},"9":{"tf":1.0}}}},"df":1,"docs":{"9":{"tf":2.23606797749979}}}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"15":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.4142135623730951}}}}}}}}},"n":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"5":{"tf":1.0},"8":{"tf":1.0}}}}}}},"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"10":{"tf":1.0},"4":{"tf":1.4142135623730951}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}},"t":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":2,"docs":{"10":{"tf":2.0},"17":{"tf":2.8284271247461903}}}}}},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":6,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"17":{"tf":1.4142135623730951},"2":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":4,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":2.0},"17":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}},"t":{"df":2,"docs":{"1":{"tf":1.0},"16":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"0":{"tf":1.7320508075688772},"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"2":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"4":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"4":{"tf":1.0}}}}}}}},"f":{"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"2":{"tf":1.0}}}},"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"df":2,"docs":{"7":{"tf":1.4142135623730951},"9":{"tf":2.23606797749979}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"'":{"a":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"10":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"1":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"9":{"tf":2.0}}}}},"x":{"df":2,"docs":{"0":{"tf":1.0},"9":{"tf":1.0}}}},"n":{"df":3,"docs":{"16":{"tf":2.0},"17":{"tf":4.0},"9":{"tf":2.8284271247461903}}},"o":{"c":{"df":0,"docs":{},"u":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.4142135623730951}}}}}}}}},"r":{"c":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"12":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":2.0}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":15,"docs":{"0":{"tf":2.449489742783178},"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"17":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"3":{"tf":1.0},"4":{"tf":3.1622776601683795},"5":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":2.0}}}}}}}},"df":1,"docs":{"16":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"a":{"1":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"4":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"1":{"(":{"_":{"df":1,"docs":{"16":{"tf":1.0}}},"a":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"d":{"(":{"a":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":7,"docs":{"1":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"12":{"tf":2.23606797749979},"15":{"tf":1.0},"16":{"tf":2.449489742783178},"4":{"tf":1.0},"6":{"tf":1.7320508075688772}}}}}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"6":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":6,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}},"o":{"d":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"a":{"d":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":2.0}}}}}}},"h":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"10":{"tf":1.0}}}},"n":{"d":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"17":{"tf":3.4641016151377544},"6":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"17":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"r":{"d":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"4":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":1,"docs":{"5":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"13":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}}}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"/":{"2":{"0":{"1":{"7":{"/":{"0":{"3":{"/":{"0":{"7":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"i":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"3":{"tf":1.0}}}},"m":{"df":1,"docs":{"16":{"tf":1.0}}},"v":{"df":3,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"13":{"tf":1.0}}}},")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"/":{"df":0,"docs":{},"o":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"6":{"tf":1.0}}}},"3":{"2":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"9":{"tf":3.4641016151377544}}},"df":0,"docs":{}},"d":{"df":1,"docs":{"17":{"tf":2.449489742783178}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":8,"docs":{"0":{"tf":1.4142135623730951},"13":{"tf":1.0},"15":{"tf":1.0},"2":{"tf":2.0},"4":{"tf":1.4142135623730951},"5":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":2.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"n":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":12,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.7320508075688772},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"17":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.4142135623730951}},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"9":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}}}}},"f":{"a":{"c":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"o":{"c":{"df":0,"docs":{},"p":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"4":{"tf":1.0}}}}},"t":{"'":{"df":7,"docs":{"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.7320508075688772}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"2":{"tf":1.0}}}},"y":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":7,"docs":{"10":{"tf":1.7320508075688772},"14":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}},"n":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"4":{"tf":1.0},"6":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":2.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"3":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"'":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":1,"docs":{"16":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"i":{"b":{"c":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"13":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"13":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":4,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"t":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0}}}}},"m":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"15":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"15":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":4,"docs":{"2":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"3":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":5,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"2":{"tf":1.0},"4":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}},"o":{"df":1,"docs":{"3":{"tf":1.0}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":3,"docs":{"4":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"12":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"12":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.0}}},"t":{"df":3,"docs":{"16":{"tf":1.0},"17":{"tf":2.449489742783178},"9":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"w":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":4.242640687119285}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"1":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":1,"docs":{"16":{"tf":2.0}},"e":{"df":0,"docs":{},"e":{"d":{"df":5,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"w":{"(":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"3":{"tf":1.0},"9":{"tf":1.0}}}},"w":{"df":1,"docs":{"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"7":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":3.3166247903554}}}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"n":{"c":{"df":1,"docs":{"13":{"tf":1.0}}},"df":4,"docs":{"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"12":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"17":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"17":{"tf":2.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":2.0}}}}}}},"s":{"df":1,"docs":{"13":{"tf":1.0}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"t":{"df":3,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"4":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"17":{"tf":2.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"6":{"tf":1.0}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"c":{"a":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":2.449489742783178},"2":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"4":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":4,"docs":{"11":{"tf":1.7320508075688772},"12":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"1":{"tf":1.0},"9":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"15":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"7":{"tf":1.4142135623730951},"9":{"tf":4.123105625617661}}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"a":{"d":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"9":{"tf":3.0}}}},"u":{"b":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":1.0}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"2":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0}},"m":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"0":{"tf":1.0},"10":{"tf":1.7320508075688772},"4":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"b":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.0},"11":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":1,"docs":{"16":{"tf":1.4142135623730951}},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"(":{"1":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"2":{"df":1,"docs":{"17":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"2":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":4,"docs":{"0":{"tf":1.0},"10":{"tf":2.0},"17":{"tf":4.0},"4":{"tf":1.4142135623730951}}}}}},"d":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":3.1622776601683795}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"4":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"14":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"12":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"10":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":2.449489742783178}}}}},"g":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"12":{"tf":1.0}}}},"i":{"df":1,"docs":{"2":{"tf":1.0}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"13":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"r":{"(":{"c":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"1":{"tf":1.0},"17":{"tf":1.4142135623730951},"6":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"m":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"4":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}},"f":{"c":{"#":{"1":{"8":{"2":{"3":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"3":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"3":{"3":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"l":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"d":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}},"e":{"d":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":1,"docs":{"17":{"tf":2.0}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":3,"docs":{"13":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":2.0}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"0":{"tf":1.7320508075688772},"10":{"tf":2.8284271247461903},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"2":{"tf":1.7320508075688772},"4":{"tf":2.23606797749979},"6":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":2.0}}}}},"x":{"df":1,"docs":{"17":{"tf":2.0}}}},"s":{".":{"a":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}},"b":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"4":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"13":{"tf":1.0},"9":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"13":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"10":{"tf":1.7320508075688772},"13":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"11":{"tf":1.0},"15":{"tf":1.0},"9":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"9":{"tf":1.0}},"e":{"df":1,"docs":{"9":{"tf":1.7320508075688772}},"m":{"df":1,"docs":{"11":{"tf":1.0}}}},"l":{"df":0,"docs":{},"f":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"_":{"a":{"d":{"d":{"(":{"1":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"16":{"tf":2.449489742783178},"17":{"tf":3.1622776601683795}}},"v":{"df":1,"docs":{"8":{"tf":1.0}}}},"n":{"d":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"9":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"4":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":2,"docs":{"15":{"tf":1.0},"8":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{":":{":":{"<":{"&":{"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"9":{"tf":2.0}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.0}}}},"v":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"4":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":2.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"1":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},")":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"f":{"3":{"2":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"0":{"tf":1.0},"17":{"tf":1.4142135623730951},"5":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":6,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0}}}}},"d":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"<":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{":":{":":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"c":{":":{":":{"df":0,"docs":{},"{":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"c":{":":{":":{"df":0,"docs":{},"{":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"{":{"a":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"{":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"10":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"10":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951}}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"17":{"tf":2.449489742783178},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"u":{"b":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}}},"u":{"b":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"2":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"10":{"tf":1.0},"4":{"tf":1.0}}},"df":0,"docs":{}}}}}},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"x":{"df":2,"docs":{"12":{"tf":1.0},"4":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"4":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":3,"docs":{"10":{"tf":1.7320508075688772},"3":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":2,"docs":{"12":{"tf":1.0},"2":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":3,"docs":{"10":{"tf":2.23606797749979},"13":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"10":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}},"s":{"df":0,"docs":{},"t":{".":{"a":{"d":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}},">":{"(":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"3":{"tf":1.7320508075688772}}}},"t":{"'":{"df":2,"docs":{"1":{"tf":1.0},"16":{"tf":1.0}}},"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"'":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"10":{"tf":1.0},"4":{"tf":1.0}}},"k":{"df":1,"docs":{"4":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{":":{":":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":2.0}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"(":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"s":{"(":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"p":{"a":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":2.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"17":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":2.6457513110645907},"17":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":2,"docs":{"12":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"o":{"d":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":3,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"3":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"0":{"tf":1.0}}}},"p":{"df":1,"docs":{"9":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}},"y":{"df":1,"docs":{"0":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"16":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":4.242640687119285}}}}},"df":0,"docs":{},"i":{"df":3,"docs":{"2":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"4":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"o":{"df":5,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}}},"x":{"df":1,"docs":{"17":{"tf":2.0}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":6,"docs":{"11":{"tf":1.0},"16":{"tf":2.0},"2":{"tf":1.0},"4":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"u":{"6":{"4":{"df":1,"docs":{"17":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"12":{"tf":1.0},"4":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"p":{"df":2,"docs":{"13":{"tf":1.0},"9":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}},"df":11,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":1.7320508075688772},"17":{"tf":3.1622776601683795},"4":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"z":{"df":2,"docs":{"17":{"tf":2.449489742783178},"9":{"tf":2.23606797749979}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"16":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"17":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":6,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"12":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"4":{"tf":1.0}}}}}}}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"8":{"tf":1.0},"9":{"tf":2.6457513110645907}},"e":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":6,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"18":{"tf":1.4142135623730951},"2":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"0":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"y":{"df":2,"docs":{"10":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{},"e":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":6,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"2":{"tf":2.0},"4":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"4":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":5,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"2":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"6":{"tf":1.0}}}}}}}}},"y":{"df":1,"docs":{"16":{"tf":1.0}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}},"1":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":2,"docs":{"13":{"tf":1.0},"16":{"tf":2.6457513110645907}},"e":{"d":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"2":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}}},"r":{"df":2,"docs":{"13":{"tf":1.0},"6":{"tf":1.0}}},"v":{"df":2,"docs":{"14":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"0":{"tf":1.0},"4":{"tf":1.0}}}}}}}}}}}},"title":{"root":{"2":{"0":{"0":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{"/":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"21":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"21":{"tf":1.0},"6":{"tf":1.0}}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}}},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"f":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"7":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"0":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.0},"4":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"6":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"5":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"7":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"11":{"tf":1.0}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"7":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"0":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"13":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"15":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"7":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"2":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}},"pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5"},"results_options":{"limit_results":30,"teaser_word_count":30},"search_options":{"bool":"OR","expand":true,"fields":{"body":{"boost":1},"breadcrumbs":{"boost":1},"title":{"boost":2}}}}); \ No newline at end of file +Object.assign(window.search, {"doc_urls":["0_0_introduction.html#futures-explained-in-200-lines-of-rust","0_0_introduction.html#what-does-this-book-give-you-that-isnt-covered-elsewhere","0_0_introduction.html#what-well-do-and-not","0_0_introduction.html#credits-and-thanks","0_0_introduction.html#why-is-futures-in-rust-hard-to-understand","1_0_background_information.html#some-background-information","1_0_background_information.html#concurrency-in-general","1_1_trait_objects.html#trait-objects-and-fat-pointers","1_1_trait_objects.html#trait-objects-and-dynamic-dispatch","1_1_trait_objects.html#fat-pointers-in-rust","1_1_trait_objects.html#reactorexecutor-pattern","1_2_generators_pin.html#generators-and-pin","1_2_generators_pin.html#generators","1_2_generators_pin.html#stackful-coroutinesgreen-threads","1_2_generators_pin.html#combinators","1_2_generators_pin.html#stackless-coroutinesgenerators","1_2_generators_pin.html#how-generators-work","1_2_generators_pin.html#pin","1_2_generators_pin.html#projectionstructural-pinning","1_2_generators_pin.html#pin-and-drop","1_2_generators_pin.html#putting-it-all-together","1_3_pin.html#pin","2_1_concurrent_futures.html#bonus-1-concurrent-futures"],"index":{"documentStore":{"docInfo":{"0":{"body":57,"breadcrumbs":5,"title":5},"1":{"body":48,"breadcrumbs":5,"title":5},"10":{"body":162,"breadcrumbs":4,"title":2},"11":{"body":9,"breadcrumbs":4,"title":2},"12":{"body":53,"breadcrumbs":3,"title":1},"13":{"body":68,"breadcrumbs":5,"title":3},"14":{"body":92,"breadcrumbs":3,"title":1},"15":{"body":80,"breadcrumbs":4,"title":2},"16":{"body":899,"breadcrumbs":4,"title":2},"17":{"body":536,"breadcrumbs":3,"title":1},"18":{"body":21,"breadcrumbs":4,"title":2},"19":{"body":23,"breadcrumbs":4,"title":2},"2":{"body":67,"breadcrumbs":1,"title":1},"20":{"body":9,"breadcrumbs":4,"title":2},"21":{"body":0,"breadcrumbs":3,"title":1},"22":{"body":0,"breadcrumbs":4,"title":4},"3":{"body":23,"breadcrumbs":2,"title":2},"4":{"body":110,"breadcrumbs":4,"title":4},"5":{"body":13,"breadcrumbs":2,"title":2},"6":{"body":44,"breadcrumbs":2,"title":2},"7":{"body":0,"breadcrumbs":6,"title":4},"8":{"body":42,"breadcrumbs":6,"title":4},"9":{"body":380,"breadcrumbs":5,"title":3}},"docs":{"0":{"body":"This book aims to explain Futures in Rust using an example driven approach. The goal is to get a better understanding of Futures by implementing a toy Reactor, a very simple Executor and our own Futures. We'll start off solving a small problem without Futures, Wakers or async/await and then gradually adapt our example so it implements all these concepts, and can be solved using the executor provided by both tokio and async_str. In the end I've made some reader excercises you can do if you want to fix some of the most glaring ommissions and shortcuts we took and create a slightly better example yourself.","breadcrumbs":"Futures Explained in 200 Lines of Rust","id":"0","title":"Futures Explained in 200 Lines of Rust"},"1":{"body":"That's a valid question. There are many good resources and examples already. First of all, this book will point you to some background information that I have found very valuable to get an understanding of concurrent programming in general. I find that many discussions arise, not because Futures is a hard concept to grasp, but that concurrent programming is a hard concept in general. Secondly, I've always found small runnable examples very exiting to learn from. It's all code that you can download, play with and learn from.","breadcrumbs":"What does this book give you that isn't covered elsewhere?","id":"1","title":"What does this book give you that isn't covered elsewhere?"},"10":{"body":"If you don't know what this is, you should take a few minutes and read about it. You will encounter the term Reactor and Executor a lot when working with async code in Rust. I have written a quick introduction explaining this pattern before which you can take a look at here: homepage Epoll, Kqueue and IOCP Explained - The Reactor-Executor Pattern I'll re-iterate the most important parts here. This pattern consists of at least 2 parts: A reactor handles some kind of event queue has the responsibility of respoonding to events An executor Often has a scheduler Holds a set of suspended tasks, and has the responsibility of resuming them when an event has occurred The concept of a task A set of operations that can be stopped half way and resumed later on This is a pattern not only used in Rust, but it's very popular in Rust due to how well it separates concerns between handling and scheduling tasks, and queing and responding to I/O events. The only thing Rust as a language defines is the task . In Rust we call an incorruptible task a Future. Futures has a well defined interface, which means they can be used across the entire ecosystem. In addition, Rust provides a way for the Reactor and Executor to communicate through the Waker. We'll get to know these in the following chapters. Providing these pieces let's Rust take care a lot of the ergonomic \"friction\" programmers meet when faced with async code, and still not dictate any preferred runtime to actually do the scheduling and I/O queues. It's important to know that Rust doesn't provide a runtime, so you have to choose one. async std and tokio are two popular ones. With that out of the way, let's move on to our main example.","breadcrumbs":"Some background information » Reactor/Executor pattern","id":"10","title":"Reactor/Executor pattern"},"11":{"body":"So the second difficult part that there seems to be a lot of questions about is Generators and the Pin type.","breadcrumbs":"Some background information » Generators and Pin","id":"11","title":"Generators and Pin"},"12":{"body":"Relevant for: Understanding how the async/await syntax works since it's how await is implemented Why we need Pin Why Rusts async model is extremely efficient The motivation for Generators can be found in RFC#2033 . It's very well written and I can recommend reading through it (it talks as much about async/await as it does about generators). Basically, there were three main options that were discussed when Rust was desiging how the language would handle concurrency: Stackful coroutines, better known as green threads. Using combinators. Stackless coroutines, better known as generators.","breadcrumbs":"Some background information » Generators","id":"12","title":"Generators"},"13":{"body":"I've written about green threads before. Go check out Green Threads Explained in 200 lines of Rust if you're interested. Green threads uses the same mechanisms as an OS does by creating a thread for each task, setting up a stack and forcing the CPU to save it's state and jump from one task(thread) to another. We yield control to the scheduler which then continues running a different task. Rust had green threads once, but they were removed before it hit 1.0. The state of execution is stored in each stack so in such a solution there would be no need for async, await, Futures or Pin. All this would be implementation details for the library.","breadcrumbs":"Some background information » Stackful coroutines/green threads","id":"13","title":"Stackful coroutines/green threads"},"14":{"body":"Futures 1.0 used combinators. If you've worked with Promises in JavaScript, you already know combinators. In Rust they look like this: let future = Connection::connect(conn_str).and_then(|conn| { conn.query(\"somerequest\").map(|row|{ SomeStruct::from(row) }).collect::>()\n}); let rows: Result, SomeLibraryError> = block_on(future).unwrap(); While an effective solution there are mainly three downsides I'll focus on: The error messages produced could be extremely long and arcane Not optimal memory usage Did not allow to borrow across combinator steps. Point #3, is actually a major drawback with Futures 1.0. Not allowing borrows across suspension points ends up being very un-ergonomic and often requiring extra allocations or copying to accomplish some tasks which is inefficient. The reason for the higher than optimal memory usage is that this is basically a callback-based approach, where each closure stores all the data it needs for computation. This means that as we chain these, the memory required to store the needed state increases with each added step.","breadcrumbs":"Some background information » Combinators","id":"14","title":"Combinators"},"15":{"body":"This is the model used in Rust today. It a few notable advantages: It's easy to convert normal Rust code to a stackless corotuine using using async/await as keywords (it can even be done using a macro). No need for context switching and saving/restoring CPU state No need to handle dynamic stack allocation Very memory efficient Allowed for borrows across suspension points The last point is in contrast to Futures 1.0. With async/await we can do this: async fn myfn() { let text = String::from(\"Hello world\"); let borrowed = &text[0..5]; somefuture.await; println!(\"{}\", borrowed);\n} Generators are implemented as state machines. The memory footprint of a chain of computations is only defined by the largest footprint any single step requires. That means that adding steps to a chain of computations might not require any added memory at all.","breadcrumbs":"Some background information » Stackless coroutines/generators","id":"15","title":"Stackless coroutines/generators"},"16":{"body":"In Nightly Rust today you can use the yield keyword. Basically using this keyword in a closure, converts it to a generator. A closure looking like this (I'm going to use the terminology that's currently in Rust): let a = 4;\nlet b = move || { println!(\"Hello\"); yield a * 2; println!(\"world!\"); }; if let GeneratorState::Yielded(n) = gen.resume() { println!(\"Got value {}\", n); } if let GeneratorState::Complete(()) = gen.resume() { ()\n}; Early on, before there was a consensus about the design of Pin, this compiled to something looking similar to this: fn main() { let mut gen = GeneratorA::start(4); if let GeneratorState::Yielded(n) = gen.resume() { println!(\"Got value {}\", n); } if let GeneratorState::Complete(()) = gen.resume() { () };\n} // If you've ever wondered why the parameters are called Y and R the naming from\n// the original rfc most likely holds the answer\nenum GeneratorState { // originally called `CoResult` Yielded(Y), // originally called `Yield(Y)` Complete(R), // originally called `Return(R)`\n} trait Generator { type Yield; type Return; fn resume(&mut self) -> GeneratorState;\n} enum GeneratorA { Enter(i32), Yield1(i32), Exit,\n} impl GeneratorA { fn start(a1: i32) -> Self { GeneratorA::Enter(a1) }\n} impl Generator for GeneratorA { type Yield = i32; type Return = (); fn resume(&mut self) -> GeneratorState { // lets us get ownership over current state match std::mem::replace(&mut *self, GeneratorA::Exit) { GeneratorA::Enter(a1) => { /*|---code before yield1---|*/ /*|*/ println!(\"Hello\"); /*|*/ /*|*/ let a = a1 * 2; /*|*/ /*|------------------------|*/ *self = GeneratorA::Yield1(a); GeneratorState::Yielded(a) } GeneratorA::Yield1(_) => { /*|----code after yield1----|*/ /*|*/ println!(\"world!\"); /*|*/ /*|-------------------------|*/ *self = GeneratorA::Exit; GeneratorState::Complete(()) } GeneratorA::Exit => panic!(\"Can't advance an exited generator!\"), } }\n} The yield keyword was discussed first in RFC#1823 and in RFC#1832 . Now that you know that the yield keyword in reality rewrites your code to become a state machine, you'll also know the basics of how await works. It's very similar. Now, there are some limitations in our naive state machine above. What happens when you have a borrow across a yield point? We could forbid that, but one of the major design goals for the async/await syntax has been to allow this . These kinds of borrows were not possible using Futures 1.0 so we can't let this limitation just slip and call it a day yet. Instead of discussing it in theory, let's look at some code. We'll use the optimized version of the state machines which is used in Rust today. For a more in deapth explanation see Tyler Mandry's execellent article: How Rust optimizes async/await let a = 4;\nlet b = move || { let to_borrow = String::new(\"Hello\"); let borrowed = &to_borrow; println!(\"{}\", borrowed); yield a * 2; println!(\"{} world!\", borrowed); }; Now what does our rewritten state machine look like with this example? # // If you've ever wondered why the parameters are called Y and R the naming from\n# // the original rfc most likely holds the answer\n# enum GeneratorState {\n# // originally called `CoResult`\n# Yielded(Y), // originally called `Yield(Y)`\n# Complete(R), // originally called `Return(R)`\n# }\n# # trait Generator {\n# type Yield;\n# type Return;\n# fn resume(&mut self) -> GeneratorState;\n# } enum GeneratorA { Enter, Yield1 { to_borrow: String, borrowed: &String, // uh, what lifetime should this have? }, Exit,\n} # impl GeneratorA {\n# fn start() -> Self {\n# GeneratorA::Enter\n# }\n# } impl Generator for GeneratorA { type Yield = usize; type Return = (); fn resume(&mut self) -> GeneratorState { // lets us get ownership over current state match std::mem::replace(&mut *self, GeneratorA::Exit) { GeneratorA::Enter => { let to_borrow = String::from(\"Hello\"); let borrowed = &to_borrow; *self = GeneratorA::Yield1 {to_borrow, borrowed}; GeneratorState::Yielded(borrowed.len()) } GeneratorA::Yield1 {to_borrow, borrowed} => { println!(\"Hello {}\", borrowed); *self = GeneratorA::Exit; GeneratorState::Complete(()) } GeneratorA::Exit => panic!(\"Can't advance an exited generator!\"), } }\n} If you try to compile this you'll get an error (just try it yourself by pressing play). What is the lifetime of &String. It's not the same as the lifetime of Self. It's not static. Turns out that it's not possible for us in Rusts syntax to describe this lifetime, which means, that to make this work, we'll have to let the compiler know that we control this correct. That means turning to unsafe. Let's try to write an implementation that will compiler using unsafe. As you'll see we end up in a self referential struct . A struct which holds references into itself. As you'll notice, this compiles just fine! pub fn main() { let mut gen = GeneratorA::start(); let mut gen2 = GeneratorA::start(); if let GeneratorState::Yielded(n) = gen.resume() { println!(\"Got value {}\", n); } // If you uncomment this, very bad things can happen. This is why we need `Pin` // std::mem::swap(&mut gen, &mut gen2); if let GeneratorState::Yielded(n) = gen2.resume() { println!(\"Got value {}\", n); } // if you uncomment `mem::swap`.. this should now start gen2. if let GeneratorState::Complete(()) = gen.resume() { () };\n} enum GeneratorState { Yielded(Y), // originally called `Yield(Y)` Complete(R), // originally called `Return(R)`\n} trait Generator { type Yield; type Return; fn resume(&mut self) -> GeneratorState;\n} enum GeneratorA { Enter, Yield1 { to_borrow: String, borrowed: *const String, // Normally you'll see `std::ptr::NonNull` used instead of *ptr }, Exit,\n} impl GeneratorA { fn start() -> Self { GeneratorA::Enter }\n}\nimpl Generator for GeneratorA { type Yield = usize; type Return = (); fn resume(&mut self) -> GeneratorState { // lets us get ownership over current state match self { GeneratorA::Enter => { let to_borrow = String::from(\"Hello\"); let borrowed = &to_borrow; let res = borrowed.len(); // Tricks to actually get a self reference *self = GeneratorA::Yield1 {to_borrow, borrowed: std::ptr::null()}; match self { GeneratorA::Yield1{to_borrow, borrowed} => *borrowed = to_borrow, _ => () }; GeneratorState::Yielded(res) } GeneratorA::Yield1 {borrowed, ..} => { let borrowed: &String = unsafe {&**borrowed}; println!(\"{} world\", borrowed); *self = GeneratorA::Exit; GeneratorState::Complete(()) } GeneratorA::Exit => panic!(\"Can't advance an exited generator!\"), } }\n} Try to uncomment the line with mem::swap and see the result of running this code. While the example above compiles just fine, we expose users of this code to both possible undefined behavior and other memory errors while using just safe Rust. This is a big problem! But now, let's prevent the segfault from happening using Pin. We'll discuss Pin more below, but you'll get an introduction here by just reading the comments. #![feature(optin_builtin_traits)]\nuse std::pin::Pin; pub fn main() { let gen1 = GeneratorA::start(); let gen2 = GeneratorA::start(); // Before we pin the pointers, this is safe to do // std::mem::swap(&mut gen, &mut gen2); // constructing a `Pin::new()` on a type which does not implement `Unpin` is unsafe. // However, as I mentioned in the start of the next chapter about `Pin` a // boxed type automatically implements `Unpin` so to stay in safe Rust we can use // that to avoid unsafe. You can also use crates like `pin_utils` to do this safely, // just remember that they use unsafe under the hood so it's like using an already-reviewed // unsafe implementation. let mut pinned1 = Box::pin(gen1); let mut pinned2 = Box::pin(gen2); // Uncomment these if you think it's safe to pin the values to the stack instead // (it is in this case). Remember to comment out the two previous lines first. //let mut pinned1 = unsafe { Pin::new_unchecked(&mut gen1) }; //let mut pinned2 = unsafe { Pin::new_unchecked(&mut gen2) }; if let GeneratorState::Yielded(n) = pinned1.as_mut().resume() { println!(\"Got value {}\", n); } if let GeneratorState::Yielded(n) = pinned2.as_mut().resume() { println!(\"Gen2 got value {}\", n); }; // This won't work // std::mem::swap(&mut gen, &mut gen2); // This will work but will just swap the pointers. Nothing inherently bad happens here. // std::mem::swap(&mut pinned1, &mut pinned2); let _ = pinned1.as_mut().resume(); let _ = pinned2.as_mut().resume();\n} enum GeneratorState { // originally called `CoResult` Yielded(Y), // originally called `Yield(Y)` Complete(R), // originally called `Return(R)`\n} trait Generator { type Yield; type Return; fn resume(self: Pin<&mut Self>) -> GeneratorState;\n} enum GeneratorA { Enter, Yield1 { to_borrow: String, borrowed: *const String, // Normally you'll see `std::ptr::NonNull` used instead of *ptr }, Exit,\n} impl GeneratorA { fn start() -> Self { GeneratorA::Enter }\n} // This tells us that the underlying pointer is not safe to move after pinning. In this case,\n// only we as implementors \"feel\" this, however, if someone is relying on our Pinned pointer\n// this will prevent them from moving it. You need to enable the feature flag // `#![feature(optin_builtin_traits)]` and use the nightly compiler to implement `!Unpin`.\n// Normally, you would use `std::marker::PhantomPinned` to indicate that the\n// struct is `!Unpin`.\nimpl !Unpin for GeneratorA { } impl Generator for GeneratorA { type Yield = usize; type Return = (); fn resume(self: Pin<&mut Self>) -> GeneratorState { // lets us get ownership over current state let this = unsafe { self.get_unchecked_mut() }; match this { GeneratorA::Enter => { let to_borrow = String::from(\"Hello\"); let borrowed = &to_borrow; let res = borrowed.len(); // Trick to actually get a self reference. We can't reference // the `String` earlier since these references will point to the // location in this stack frame which will not be valid anymore // when this function returns. *this = GeneratorA::Yield1 {to_borrow, borrowed: std::ptr::null()}; match this { GeneratorA::Yield1{to_borrow, borrowed} => *borrowed = to_borrow, _ => () }; GeneratorState::Yielded(res) } GeneratorA::Yield1 {borrowed, ..} => { let borrowed: &String = unsafe {&**borrowed}; println!(\"{} world\", borrowed); *this = GeneratorA::Exit; GeneratorState::Complete(()) } GeneratorA::Exit => panic!(\"Can't advance an exited generator!\"), } }\n} Now, as you see, the user of this code must either: Box the value and thereby allocating it on the heap Use unsafe and pin the value to the stack. The user knows that if they move the value afterwards it will violate the guarantee they promise to uphold when they did their unsafe implementation. Now, the code which is created and the need for Pin to allow for borrowing across yield points should be pretty clear.","breadcrumbs":"Some background information » How generators work","id":"16","title":"How generators work"},"17":{"body":"Relevant for To understand Generators and Futures Knowing how to use Pin is required when implementing your own Future To understand self-referential types in Rust This is the way borrowing across await points is accomplished Pin was suggested in RFC#2349 Ping consists of the Pin type and the Unpin marker. Let's start off with some general rules: Pin does nothing special, it only prevents the user of an API to violate some assumtions you make when writing your (most likely) unsafe code. Most standard library types implement Unpin Unpin means it's OK for this type to be moved even when pinned. If you Box a value, that boxed value automatcally implements Unpin. The main use case for Pin is to allow self referential types The implementation behind objects that doens't implement Unpin is most likely unsafe Pin prevents users from your code to break the assumtions you make when writing the unsafe implementation It doesn't solve the fact that you'll have to write unsafe code to actually implement it You're not really meant to be implementing !Unpin, but you can on nightly with a feature flag Unsafe code does not mean it's litterally \"unsafe\", it only relieves the guarantees you normally get from the compiler. An unsafe implementation can be perfectly safe to do, but you have no safety net. Let's take a look at an example: use std::pin::Pin; fn main() { let mut test1 = Test::new(\"test1\"); test1.init(); let mut test2 = Test::new(\"test2\"); test2.init(); println!(\"a: {}, b: {}\", test1.a(), test1.b()); std::mem::swap(&mut test1, &mut test2); // try commenting out this line println!(\"a: {}, b: {}\", test2.a(), test2.b()); } #[derive(Debug)]\nstruct Test { a: String, b: *const String,\n} impl Test { fn new(txt: &str) -> Self { let a = String::from(txt); Test { a, b: std::ptr::null(), } } fn init(&mut self) { let self_ref: *const String = &self.a; self.b = self_ref; } fn a(&self) -> &str { &self.a } fn b(&self) -> &String { unsafe {&*(self.b)} }\n} As you can see this results in unwanted behavior. The pointer to b stays the same and points to the old value. It's easy to get this to segfault, and fail in other spectacular ways as well. Pin essentially prevents the user of your unsafe code (even if that means yourself) move the value after it's pinned. If we change the example to using Pin instead: use std::pin::Pin;\nuse std::marker::PhantomPinned; pub fn main() { let mut test1 = Test::new(\"test1\"); test1.init(); let mut test1_pin = unsafe { Pin::new_unchecked(&mut test1) }; let mut test2 = Test::new(\"test2\"); test2.init(); let mut test2_pin = unsafe { Pin::new_unchecked(&mut test2) }; println!( \"a: {}, b: {}\", Test::a(test1_pin.as_ref()), Test::b(test1_pin.as_ref()) ); // Try to uncomment this and see what happens // std::mem::swap(test1_pin.as_mut(), test2_pin.as_mut()); println!( \"a: {}, b: {}\", Test::a(test2_pin.as_ref()), Test::b(test2_pin.as_ref()) );\n} #[derive(Debug)]\nstruct Test { a: String, b: *const String, _marker: PhantomPinned,\n} impl Test { fn new(txt: &str) -> Self { let a = String::from(txt); Test { a, b: std::ptr::null(), // This makes our type `!Unpin` _marker: PhantomPinned, } } fn init(&mut self) { let self_ptr: *const String = &self.a; self.b = self_ptr; } fn a<'a>(self: Pin<&'a Self>) -> &'a str { &self.get_ref().a } fn b<'a>(self: Pin<&'a Self>) -> &'a String { unsafe { &*(self.b) } }\n} Now, what we've done here is pinning a stack address. That will always be unsafe if our type implements !Unpin, in other words. That our type is not Unpin which is the norm. We use some tricks here, including requiring an init. If we want to fix that and let users avoid unsafe we need to place our data on the heap. Stack pinning will always depend on the current stack frame we're in, so we can't create a self referential object in one stack frame and return it since any pointers we take to \"self\" is invalidated. The next example solves some of our friction at the cost of a heap allocation. use std::pin::Pin;\nuse std::marker::PhantomPinned; pub fn main() { let mut test1 = Test::new(\"test1\"); let mut test2 = Test::new(\"test2\"); println!(\"a: {}, b: {}\",test1.as_ref().a(), test1.as_ref().b()); // Try to uncomment this and see what happens // std::mem::swap(&mut test1, &mut test2); println!(\"a: {}, b: {}\",test2.as_ref().a(), test2.as_ref().b());\n} #[derive(Debug)]\nstruct Test { a: String, b: *const String, _marker: PhantomPinned,\n} impl Test { fn new(txt: &str) -> Pin> { let a = String::from(txt); let t = Test { a, b: std::ptr::null(), _marker: PhantomPinned, }; let mut boxed = Box::pin(t); let self_ptr: *const String = &boxed.as_ref().a; unsafe { boxed.as_mut().get_unchecked_mut().b = self_ptr }; boxed } fn a<'a>(self: Pin<&'a Self>) -> &'a str { &self.get_ref().a } fn b<'a>(self: Pin<&'a Self>) -> &'a String { unsafe { &*(self.b) } }\n} Seeing this we're ready to sum up with a few more points to remember about pinning: Pinning only makes sense to do for types that are !Unpin Pinning a !Unpin pointer to the stack will requires unsafe Pinning a boxed value will not require unsafe, even if the type is !Unpin If T: Unpin (which is the default), then Pin<'a, T> is entirely equivalent to &'a mut T. Getting a &mut T to a pinned pointer requires unsafe if T: !Unpin Pinning is really only useful when implementing self-referential types. For all intents and purposes you can think of !Unpin = self-referential-type The fact that boxing (heap allocating) a value that implements !Unpin is safe makes sense. Once the data is allocated on the heap it will have a stable address. There are ways to safely give some guarantees on stack pinning as well, but right now you need to use a crate like pin_utils : pin_utils to do that.","breadcrumbs":"Some background information » Pin","id":"17","title":"Pin"},"18":{"body":"In short, projection is using a field on your type. mystruct.field1 is a projection. Structural pinning is using Pin on struct fields. This has several caveats and is not something you'll normally see so I refer to the documentation for that.","breadcrumbs":"Some background information » Projection/structural pinning","id":"18","title":"Projection/structural pinning"},"19":{"body":"The Pin guarantee exists from the moment the value is pinned until it's dropped. In the Drop implementation you take a mutabl reference to self, which means extra care must be taken when implementing Drop for pinned types.","breadcrumbs":"Some background information » Pin and Drop","id":"19","title":"Pin and Drop"},"2":{"body":"We'll: Implement our own Futures and get to know the Reactor/Executor pattern Implement our own waker and learn why it's a bit foreign compared to other types Talk a bit about runtime complexity and what to keep in mind when writing async Rust. Make sure all examples can be run on the playground Not rely on any helpers or libraries, but try to face the complexity and learn We'll not: Talk about how futures are implemented in Rust the language, the state machine and so on Explain how the different runtimes differ, however, you'll hopefully be a bit better off if you read this before you go research them Explain concurrent programming, but I will supply sources I do want to explore Rusts internal implementation but that will be for a later book.","breadcrumbs":"What we'll do and not","id":"2","title":"What we'll do and not"},"20":{"body":"This is exactly what we'll do when we implement our own Futures stay tuned, we're soon finished.","breadcrumbs":"Some background information » Putting it all together","id":"20","title":"Putting it all together"},"21":{"body":"","breadcrumbs":"Some background information » Pin","id":"21","title":"Pin"},"22":{"body":"","breadcrumbs":"Bonus 1: concurrent futures","id":"22","title":"Bonus 1: concurrent futures"},"3":{"body":"I'll like to take the chance of thanking the people behind mio, tokio, async_std, Futures, libc, crossbeam and many other libraries which so much is built upon. Reading and exploring some of this code is nothing less than impressive.","breadcrumbs":"Credits and thanks","id":"3","title":"Credits and thanks"},"4":{"body":"Well, I think it has to do with several things: Futures has a very interesting implementation, compiling down to a state machine using generators to suspend and resume execution. In a language such as Rust this is pretty hard to do ergonomically and safely. You are exposed to some if this complexity when working with futures and want to understand them, not only learn how to use them. Rust doesn't provide a runtime. That means you'll actually have to choose one yourself and actually know what a Reactor and an Executor is. While not too difficult, you need to make more choices than you need in GO and other languages designed with a concurrent programming in mind and ships with a runtime. Futures exist in two versions, Futures 1.0 and Futures 3.0. Futures 1.0 was known to have some issues regarding ergonomics. Turns out that modelling async coding after Promises in JavaScript can turn in to extremely long errors and type signatures with a type system as Rust. Futures 3.0 are not compatible with Futures 1.0 without performing some work. Async await syntax was recently stabilized what we'll really do is to stub out a Reactor, and Executor and implement","breadcrumbs":"Why is Futures in Rust hard to understand","id":"4","title":"Why is Futures in Rust hard to understand"},"5":{"body":"Before we start implementing our Futures , we'll go through some background information that will help demystify some of the concepts we encounter.","breadcrumbs":"Some background information","id":"5","title":"Some background information"},"6":{"body":"If you find the concepts of concurrency and async programming confusing in general, I know where you're coming from and I have written some resources to try to give a high level overview that will make it easier to learn Rusts Futures afterwards: Async Basics - The difference between concurrency and parallelism Async Basics - Async history Async Basics - Strategies for handling I/O Async Basics - Epoll, Kqueue and IOCP r","breadcrumbs":"Concurrency in general","id":"6","title":"Concurrency in general"},"7":{"body":"","breadcrumbs":"Some background information » Trait objects and fat pointers","id":"7","title":"Trait objects and fat pointers"},"8":{"body":"The single most confusing topic we encounter when implementing our own Futures is how we implement a Waker . Creating a Waker involves creating a vtable which allows using dynamic dispatch to call methods on a type erased trait object we construct our selves. If you want to know more about dynamic dispatch in Rust I can recommend this article: https://alschwalm.com/blog/static/2017/03/07/exploring-dynamic-dispatch-in-rust/ Let's explain this a bit more in detail.","breadcrumbs":"Some background information » Trait objects and dynamic dispatch","id":"8","title":"Trait objects and dynamic dispatch"},"9":{"body":"Let's take a look at the size of some different pointer types in Rust. If we run the following code: # use std::mem::size_of;\ntrait SomeTrait { } fn main() { println!(\"Size of Box: {}\", size_of::>()); println!(\"Size of &i32: {}\", size_of::<&i32>()); println!(\"Size of &Box: {}\", size_of::<&Box>()); println!(\"Size of Box: {}\", size_of::>()); println!(\"Size of &dyn Trait: {}\", size_of::<&dyn SomeTrait>()); println!(\"Size of &[i32]: {}\", size_of::<&[i32]>()); println!(\"Size of &[&dyn Trait]: {}\", size_of::<&[&dyn SomeTrait]>()); println!(\"Size of [i32; 10]: {}\", size_of::<[i32; 10]>()); println!(\"Size of [&dyn Trait; 10]: {}\", size_of::<[&dyn SomeTrait; 10]>());\n} As you see from the output after running this, the sizes of the references varies. Most are 8 bytes (which is a pointer size on 64 bit systems), but some are 16 bytes. The 16 byte sized pointers are called \"fat pointers\" since they carry more extra information. In the case of &[i32] : The first 8 bytes is the actual pointer to the first element in the array (or part of an array the slice refers to) The second 8 bytes is the length of the slice. The one we'll concern ourselves about is the references to traits, or trait objects as they're called in Rust. &dyn SomeTrait is an example of a trait object The layout for a pointer to a trait object looks like this: The first 8 bytes points to the data for the trait object The second 8 bytes points to the vtable for the trait object The reason for this is to allow us to refer to an object we know nothing about except that it implements the methods defined by our trait. To allow this we use dynamic dispatch. Let's explain this in code instead of words by implementing our own trait object from these parts: // A reference to a trait object is a fat pointer: (data_ptr, vtable_ptr)\ntrait Test { fn add(&self) -> i32; fn sub(&self) -> i32; fn mul(&self) -> i32;\n} // This will represent our home brewn fat pointer to a trait object\n#[repr(C)]\nstruct FatPointer<'a> { /// A reference is a pointer to an instantiated `Data` instance data: &'a mut Data, /// Since we need to pass in literal values like length and alignment it's /// easiest for us to convert pointers to usize-integers instead of the other way around. vtable: *const usize,\n} // This is the data in our trait object. It's just two numbers we want to operate on.\nstruct Data { a: i32, b: i32,\n} // ====== function definitions ======\nfn add(s: &Data) -> i32 { s.a + s.b\n}\nfn sub(s: &Data) -> i32 { s.a - s.b\n}\nfn mul(s: &Data) -> i32 { s.a * s.b\n} fn main() { let mut data = Data {a: 3, b: 2}; // vtable is like special purpose array of pointer-length types with a fixed // format where the three first values has a special meaning like the // length of the array is encoded in the array itself as the second value. let vtable = vec![ 0, // pointer to `Drop` (which we're not implementing here) 6, // lenght of vtable 8, // alignment // we need to make sure we add these in the same order as defined in the Trait. // Try changing the order of add and sub and see what happens. add as usize, // function pointer sub as usize, // function pointer mul as usize, // function pointer ]; let fat_pointer = FatPointer { data: &mut data, vtable: vtable.as_ptr()}; let test = unsafe { std::mem::transmute::(fat_pointer) }; // And voalá, it's now a trait object we can call methods on println!(\"Add: 3 + 2 = {}\", test.add()); println!(\"Sub: 3 - 2 = {}\", test.sub()); println!(\"Mul: 3 * 2 = {}\", test.mul());\n} If you run this code by pressing the \"play\" button at the top you'll se it outputs just what we expect. This code example is editable so you can change it and run it to see what happens. The reason we go through this will be clear later on when we implement our own Waker we'll actually set up a vtable like we do here to and knowing what it is will make this much less mysterious.","breadcrumbs":"Some background information » Fat pointers in Rust","id":"9","title":"Fat pointers in Rust"}},"length":23,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{"df":1,"docs":{"9":{"tf":1.0}}},"1":{".":{"0":{"df":5,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"4":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"0":{"df":1,"docs":{"9":{"tf":2.0}}},"6":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"df":1,"docs":{"22":{"tf":1.0}}},"2":{"0":{"0":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.0}}},"df":0,"docs":{}},"df":3,"docs":{"10":{"tf":1.0},"16":{"tf":1.7320508075688772},"9":{"tf":2.0}}},"3":{".":{"0":{"df":1,"docs":{"4":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"14":{"tf":1.0},"9":{"tf":2.0}}},"4":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"6":{"4":{"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.0}}},"8":{"df":1,"docs":{"9":{"tf":2.449489742783178}}},"_":{"df":1,"docs":{"16":{"tf":2.0}},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":2.0}}}}}}},"df":0,"docs":{}}},"a":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"16":{"tf":1.0}}},"<":{"'":{"a":{">":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"c":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"14":{"tf":1.0},"17":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"4":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"16":{"tf":2.0}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"16":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":4,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.7320508075688772}}},"df":0,"docs":{},"w":{"df":6,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":3,"docs":{"1":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"1":{"tf":1.0},"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"13":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"0":{"tf":1.0},"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"c":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"9":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"y":{"df":0,"docs":{},"n":{"c":{"/":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"0":{"tf":1.0},"12":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"df":7,"docs":{"10":{"tf":1.7320508075688772},"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":1,"docs":{"17":{"tf":1.0}}},"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"4":{"tf":1.0}}}}},"df":0,"docs":{}}},"b":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{">":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"1":{"tf":1.0},"5":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}},"d":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.0}}},"i":{"c":{"df":4,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"6":{"tf":2.0}}},"df":0,"docs":{}}}},"df":3,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":3.605551275463989},"9":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":1,"docs":{"14":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"10":{"tf":1.0},"13":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"2":{"tf":1.0},"5":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"17":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"16":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"2":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"16":{"tf":1.0}}},"t":{"df":3,"docs":{"2":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"22":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":3,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"2":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.7320508075688772},"16":{"tf":5.385164807134504},"17":{"tf":1.0}},"e":{"d":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"0":{"tf":1.0},"16":{"tf":1.0}}}},"x":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"1":{"df":1,"docs":{"16":{"tf":1.0}}},"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":2.449489742783178}},"e":{"d":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"b":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":2.6457513110645907}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"10":{"tf":1.0},"16":{"tf":3.7416573867739413},"8":{"tf":1.0},"9":{"tf":1.7320508075688772}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"19":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"9":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}}}},"n":{"c":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":2,"docs":{"17":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"10":{"tf":1.0},"4":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":8,"docs":{"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":2.8284271247461903},"17":{"tf":2.23606797749979},"3":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":2.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"12":{"tf":1.0},"14":{"tf":2.0}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"6":{"tf":1.0}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"2":{"tf":1.0}}},"t":{"df":1,"docs":{"4":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":2.6457513110645907},"17":{"tf":1.0},"4":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":2.0}}}},"df":0,"docs":{}}},"x":{"df":2,"docs":{"2":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":6,"docs":{"1":{"tf":1.4142135623730951},"12":{"tf":1.0},"2":{"tf":1.0},"22":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"6":{"tf":1.0},"8":{"tf":1.0}}}}},"n":{".":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"\"":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"17":{"tf":1.0}}}}},"t":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":2.449489742783178},"9":{"tf":1.0}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"13":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"13":{"tf":1.0},"16":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"9":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":2,"docs":{"13":{"tf":1.0},"15":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"b":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":2.23606797749979},"17":{"tf":1.0}}}}}}}}},"d":{"a":{"df":0,"docs":{},"t":{"a":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":3,"docs":{"14":{"tf":1.0},"17":{"tf":1.4142135623730951},"9":{"tf":3.605551275463989}}},"df":0,"docs":{}},"y":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"15":{"tf":1.0},"9":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}},"n":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"13":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"i":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":1.0},"2":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"s":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"8":{"tf":2.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"17":{"tf":1.0},"4":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"15":{"tf":1.0},"17":{"tf":1.0}}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"4":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}}}}},"r":{"a":{"df":0,"docs":{},"w":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"19":{"tf":2.0},"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":3,"docs":{"15":{"tf":1.0},"8":{"tf":2.0},"9":{"tf":1.0}}}},"df":1,"docs":{"9":{"tf":2.23606797749979}}}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"df":2,"docs":{"15":{"tf":1.0},"17":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"5":{"tf":1.0},"8":{"tf":1.0}}}}}}},"d":{"df":3,"docs":{"0":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}}},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"17":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":2.8284271247461903}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"4":{"tf":1.4142135623730951}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"15":{"tf":1.0},"17":{"tf":1.7320508075688772}},"t":{"df":1,"docs":{"10":{"tf":2.0}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":7,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"2":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":2.0},"4":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"19":{"tf":1.0},"4":{"tf":1.0}}}},"t":{"df":2,"docs":{"1":{"tf":1.0},"16":{"tf":2.8284271247461903}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"2":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}},"n":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"16":{"tf":1.0},"4":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":3,"docs":{"14":{"tf":1.0},"19":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"4":{"tf":1.0}}}}}}}},"f":{"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"2":{"tf":1.0}}},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"df":2,"docs":{"7":{"tf":1.0},"9":{"tf":2.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"'":{"a":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"w":{"df":3,"docs":{"10":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"n":{"d":{"df":2,"docs":{"1":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"16":{"tf":1.4142135623730951},"9":{"tf":2.0}}}}},"x":{"df":3,"docs":{"0":{"tf":1.0},"17":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}},"n":{"df":4,"docs":{"15":{"tf":1.0},"16":{"tf":3.872983346207417},"17":{"tf":3.7416573867739413},"9":{"tf":2.8284271247461903}}},"o":{"c":{"df":0,"docs":{},"u":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.4142135623730951}}}}}}}}},"r":{"b":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"c":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"12":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":1.0},"17":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.0},"9":{"tf":2.0}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":16,"docs":{"0":{"tf":2.23606797749979},"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":3.0},"5":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":2.449489742783178}}}}}}}},"1":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"2":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"df":1,"docs":{"16":{"tf":2.6457513110645907}}},"df":1,"docs":{"16":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"r":{"(":{"a":{"1":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":3.1622776601683795}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"4":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":2.0}}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"1":{"(":{"_":{"df":1,"docs":{"16":{"tf":1.0}}},"a":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":2.449489742783178}},"{":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":3.605551275463989}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":2.6457513110645907}}}}}}}}},"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"d":{"(":{"a":{"df":1,"docs":{"16":{"tf":1.0}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"d":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":2.449489742783178}}},"r":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":2.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"16":{"tf":2.8284271247461903}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":8,"docs":{"1":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":2.0},"15":{"tf":1.0},"16":{"tf":3.7416573867739413},"17":{"tf":1.4142135623730951},"4":{"tf":1.0},"6":{"tf":1.4142135623730951}}}}},"t":{"df":1,"docs":{"17":{"tf":1.0}}}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"1":{"tf":1.0},"17":{"tf":1.0},"6":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"16":{"tf":1.0}}}},"df":6,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}},"o":{"d":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"a":{"d":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":2.0}}}}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"19":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"10":{"tf":1.0}}}},"n":{"d":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"15":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"16":{"tf":2.0},"17":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"r":{"d":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":2.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":1,"docs":{"5":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"13":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}}}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"/":{"2":{"0":{"1":{"7":{"/":{"0":{"3":{"/":{"0":{"7":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"i":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"3":{"tf":1.0}}}},"m":{"df":1,"docs":{"16":{"tf":1.0}}},"v":{"df":3,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"13":{"tf":1.0}}}},"/":{"df":0,"docs":{},"o":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"6":{"tf":1.0}}}},"3":{"2":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"9":{"tf":3.4641016151377544}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":3.0},"17":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":13,"docs":{"0":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":2.449489742783178},"17":{"tf":3.4641016151377544},"19":{"tf":1.4142135623730951},"2":{"tf":2.0},"20":{"tf":1.0},"4":{"tf":1.4142135623730951},"5":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":2.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":3,"docs":{"1":{"tf":1.0},"5":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":3,"docs":{"16":{"tf":2.0},"17":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"9":{"tf":1.0}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}}}}},"f":{"a":{"c":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"o":{"c":{"df":0,"docs":{},"p":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"4":{"tf":1.0}}}}},"t":{"'":{"df":10,"docs":{"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":2.449489742783178},"17":{"tf":2.0},"19":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.7320508075688772}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"16":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"2":{"tf":1.0}}}},"y":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":2.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":9,"docs":{"10":{"tf":1.7320508075688772},"14":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}},"n":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"4":{"tf":1.0},"6":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":2.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"3":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"'":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":1,"docs":{"16":{"tf":2.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"i":{"b":{"c":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"13":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":2.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"e":{"df":4,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"o":{"c":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":5,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"t":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0}}}}},"m":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"15":{"tf":1.0},"16":{"tf":2.0},"2":{"tf":1.0},"4":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"15":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":2.0},"9":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"16":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"df":6,"docs":{"16":{"tf":1.0},"17":{"tf":2.23606797749979},"2":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"n":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"'":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"3":{"tf":1.0}}}},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":2.449489742783178}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":8,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"19":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"m":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"2":{"tf":1.0},"4":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}},"o":{"df":1,"docs":{"3":{"tf":1.0}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"4":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"12":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"10":{"tf":1.0},"16":{"tf":2.23606797749979},"17":{"tf":1.4142135623730951}}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"12":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.0}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}},"df":3,"docs":{"16":{"tf":3.3166247903554},"17":{"tf":3.605551275463989},"9":{"tf":1.7320508075688772}}}},"y":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"1":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"16":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"16":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"e":{"d":{"df":8,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"17":{"tf":1.0}}},"w":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"18":{"tf":1.0}}}},"df":1,"docs":{"17":{"tf":1.0}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":4,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.0}}},"i":{"c":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":3,"docs":{"16":{"tf":2.6457513110645907},"17":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"17":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":3.3166247903554}}}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.0}}},"l":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"n":{"c":{"df":2,"docs":{"13":{"tf":1.0},"17":{"tf":1.0}}},"df":6,"docs":{"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":3.605551275463989}}}}}}},"s":{"df":1,"docs":{"13":{"tf":1.0}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"t":{"df":5,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"4":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":2.0}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"6":{"tf":1.0}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":2.0}}}}}}}}}}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"c":{"a":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":2.23606797749979},"2":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"4":{"tf":1.0}}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":2.0}}}}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}},"n":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"&":{"'":{"a":{"df":1,"docs":{"17":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}},"'":{"a":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}}}},"df":8,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":3.3166247903554},"17":{"tf":4.47213595499958},"18":{"tf":1.7320508075688772},"19":{"tf":2.0},"21":{"tf":1.0}},"g":{"df":1,"docs":{"17":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"d":{"1":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}},"2":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{},"y":{"df":3,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"9":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"1":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"16":{"tf":2.0},"17":{"tf":2.0},"7":{"tf":1.0},"9":{"tf":4.0}}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"16":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"16":{"tf":1.0},"4":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"a":{"d":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":2.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":2.23606797749979}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"9":{"tf":3.0}}}},"u":{"b":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":1.4142135623730951}}}}}}},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"0":{"tf":1.0},"16":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"2":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0}},"m":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"4":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"0":{"tf":1.0},"10":{"tf":1.7320508075688772},"4":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"u":{"b":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"17":{"tf":1.0},"9":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.0},"11":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":2,"docs":{"16":{"tf":2.449489742783178},"6":{"tf":1.0}},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"2":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":3,"docs":{"0":{"tf":1.0},"10":{"tf":2.0},"4":{"tf":1.4142135623730951}}}}}},"d":{"df":5,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}},"i":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"14":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"12":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"16":{"tf":2.23606797749979},"18":{"tf":1.0},"19":{"tf":1.0},"9":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":2.23606797749979}}}}}}}}},"g":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"12":{"tf":1.0},"17":{"tf":1.0}}}},"i":{"df":2,"docs":{"16":{"tf":1.0},"2":{"tf":1.0}},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"13":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"r":{"(":{"c":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"17":{"tf":2.23606797749979}}}}}},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"1":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}}},"m":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"4":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":2.449489742783178}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":2.0}}}},"df":2,"docs":{"16":{"tf":3.0},"17":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}},"f":{"c":{"#":{"1":{"8":{"2":{"3":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"3":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"3":{"3":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"4":{"9":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"n":{"df":4,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":2.0}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"t":{"df":13,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":2.8284271247461903},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":2.6457513110645907},"17":{"tf":1.0},"2":{"tf":1.7320508075688772},"4":{"tf":2.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}}}},"s":{".":{"a":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}},"b":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":3,"docs":{"16":{"tf":2.449489742783178},"17":{"tf":1.7320508075688772},"4":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":4,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"9":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"13":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"10":{"tf":1.7320508075688772},"13":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"11":{"tf":1.0},"9":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"9":{"tf":1.0}},"e":{"df":4,"docs":{"16":{"tf":2.449489742783178},"17":{"tf":2.0},"18":{"tf":1.0},"9":{"tf":1.7320508075688772}},"m":{"df":1,"docs":{"11":{"tf":1.0}}}},"g":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"f":{".":{"a":{"df":1,"docs":{"17":{"tf":1.7320508075688772}}},"b":{"df":1,"docs":{"17":{"tf":2.23606797749979}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":2.8284271247461903}}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":2.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":3,"docs":{"16":{"tf":5.0990195135927845},"17":{"tf":3.7416573867739413},"19":{"tf":1.0}}},"v":{"df":1,"docs":{"8":{"tf":1.0}}}},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"9":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"18":{"tf":1.0},"4":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"4":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":1,"docs":{"18":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":2,"docs":{"15":{"tf":1.0},"8":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{":":{":":{"<":{"&":{"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"9":{"tf":2.0}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"p":{"df":1,"docs":{"16":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.0}}}},"v":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"16":{"tf":1.0},"18":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"20":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"17":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"t":{"a":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"4":{"tf":1.0}}}},"l":{"df":1,"docs":{"17":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"df":5,"docs":{"12":{"tf":1.0},"13":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":2.449489742783178}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"(":{"a":{"1":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"0":{"tf":1.0},"16":{"tf":2.23606797749979},"17":{"tf":1.0},"5":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":6,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":2.8284271247461903},"2":{"tf":1.0},"4":{"tf":1.0}}},"i":{"c":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"y":{"df":3,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"20":{"tf":1.0}}}},"d":{":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":2.0},"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"<":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"10":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"10":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951}}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":1,"docs":{"17":{"tf":2.449489742783178}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"16":{"tf":3.1622776601683795},"17":{"tf":3.4641016151377544}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"9":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{}}},"u":{"b":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}}},"u":{"b":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"m":{"df":1,"docs":{"17":{"tf":1.0}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"2":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"10":{"tf":1.0},"4":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"x":{"df":3,"docs":{"12":{"tf":1.0},"16":{"tf":1.4142135623730951},"4":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"4":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":5,"docs":{"10":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"19":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.0}},"n":{"df":1,"docs":{"19":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"k":{"df":2,"docs":{"12":{"tf":1.0},"2":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":3,"docs":{"10":{"tf":2.23606797749979},"13":{"tf":1.4142135623730951},"14":{"tf":1.0}}}}},"df":1,"docs":{"17":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"10":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}},"s":{"df":0,"docs":{},"t":{".":{"a":{"d":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}},"1":{".":{"a":{"df":1,"docs":{"17":{"tf":1.0}},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":1,"docs":{"17":{"tf":1.0}}},"b":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"b":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":1,"docs":{"17":{"tf":2.449489742783178}}},"2":{".":{"a":{"df":1,"docs":{"17":{"tf":1.0}},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":1,"docs":{"17":{"tf":1.0}}},"b":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"b":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":1,"docs":{"17":{"tf":2.449489742783178}}},":":{":":{"a":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"2":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"b":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"2":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"\"":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"17":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"17":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},">":{"(":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"17":{"tf":3.0},"9":{"tf":1.4142135623730951}}}},"x":{"df":0,"docs":{},"t":{"[":{"0":{".":{".":{"5":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"15":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}}},"t":{"'":{"df":2,"docs":{"1":{"tf":1.0},"16":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"'":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"10":{"tf":1.0},"16":{"tf":1.0},"4":{"tf":1.0}}},"k":{"df":3,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"4":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":3,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"o":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"16":{"tf":4.123105625617661}}}}}}}},"df":0,"docs":{}},"d":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":3,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"3":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"0":{"tf":1.0}}}},"p":{"df":1,"docs":{"9":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}},"y":{"df":1,"docs":{"0":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"16":{"tf":2.0},"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":4.242640687119285}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0}}}},"df":5,"docs":{"16":{"tf":2.0},"17":{"tf":1.7320508075688772},"2":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"20":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"o":{"df":4,"docs":{"10":{"tf":1.0},"16":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":9,"docs":{"11":{"tf":1.0},"16":{"tf":4.242640687119285},"17":{"tf":3.4641016151377544},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":1.0}}},"n":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"16":{"tf":2.0},"17":{"tf":1.4142135623730951}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}}},"r":{"df":1,"docs":{"16":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"12":{"tf":1.0},"17":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"14":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":2.23606797749979},"17":{"tf":4.0}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":3,"docs":{"16":{"tf":3.605551275463989},"17":{"tf":4.358898943540674},"9":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"19":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":5,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"9":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}},"df":12,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":2.0},"16":{"tf":4.358898943540674},"17":{"tf":3.3166247903554},"18":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.7320508075688772},"17":{"tf":2.0}}}},"i":{"df":0,"docs":{},"z":{"df":2,"docs":{"16":{"tf":1.7320508075688772},"9":{"tf":2.23606797749979}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"1":{"tf":1.0},"16":{"tf":1.0}}},"df":0,"docs":{}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"16":{"tf":3.1622776601683795},"17":{"tf":2.449489742783178},"19":{"tf":1.0},"9":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"4":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.0},"4":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"8":{"tf":1.0},"9":{"tf":2.6457513110645907}},"e":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"2":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"0":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"y":{"df":3,"docs":{"10":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{},"e":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":8,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"16":{"tf":1.7320508075688772},"2":{"tf":1.7320508075688772},"20":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"r":{"df":3,"docs":{"17":{"tf":1.4142135623730951},"20":{"tf":1.0},"9":{"tf":1.0}}},"v":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"17":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"4":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"r":{"d":{"df":2,"docs":{"17":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":5,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":2.23606797749979},"4":{"tf":1.4142135623730951}}},"l":{"d":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"16":{"tf":1.0},"17":{"tf":1.7320508075688772},"2":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"6":{"tf":1.0}}}}}}}}},"y":{"df":1,"docs":{"16":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":2.0}}}},"1":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"16":{"tf":2.23606797749979}}},"df":2,"docs":{"13":{"tf":1.0},"16":{"tf":3.872983346207417}},"e":{"d":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":2.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":6,"docs":{"16":{"tf":2.6457513110645907},"17":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}}},"r":{"df":3,"docs":{"13":{"tf":1.0},"17":{"tf":1.0},"6":{"tf":1.0}}},"v":{"df":2,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":4,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"4":{"tf":1.0}}}}}}}}}}}},"breadcrumbs":{"root":{"0":{"df":1,"docs":{"9":{"tf":1.0}}},"1":{".":{"0":{"df":5,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"4":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"0":{"df":1,"docs":{"9":{"tf":2.0}}},"6":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"2":{"0":{"0":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"13":{"tf":1.0}}},"df":0,"docs":{}},"df":3,"docs":{"10":{"tf":1.0},"16":{"tf":1.7320508075688772},"9":{"tf":2.0}}},"3":{".":{"0":{"df":1,"docs":{"4":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"14":{"tf":1.0},"9":{"tf":2.0}}},"4":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"6":{"4":{"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.0}}},"8":{"df":1,"docs":{"9":{"tf":2.449489742783178}}},"_":{"df":1,"docs":{"16":{"tf":2.0}},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":2.0}}}}}}},"df":0,"docs":{}}},"a":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"16":{"tf":1.0}}},"<":{"'":{"a":{">":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"c":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"14":{"tf":1.0},"17":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"4":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"16":{"tf":2.0}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"16":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":4,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.7320508075688772}}},"df":0,"docs":{},"w":{"df":6,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":3,"docs":{"1":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"1":{"tf":1.0},"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"13":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"0":{"tf":1.0},"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"c":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"9":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"y":{"df":0,"docs":{},"n":{"c":{"/":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"0":{"tf":1.0},"12":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"df":7,"docs":{"10":{"tf":1.7320508075688772},"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":1,"docs":{"17":{"tf":1.0}}},"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"4":{"tf":1.0}}}}},"df":0,"docs":{}}},"b":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{">":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":17,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"5":{"tf":1.7320508075688772},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"d":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.0}}},"i":{"c":{"df":4,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"6":{"tf":2.0}}},"df":0,"docs":{}}}},"df":3,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":3.605551275463989},"9":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":1,"docs":{"14":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"10":{"tf":1.0},"13":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"2":{"tf":1.0},"5":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"17":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"16":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"2":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"16":{"tf":1.0}}},"t":{"df":3,"docs":{"2":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"k":{"df":3,"docs":{"0":{"tf":1.0},"1":{"tf":1.7320508075688772},"2":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.7320508075688772},"16":{"tf":5.385164807134504},"17":{"tf":1.0}},"e":{"d":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"0":{"tf":1.0},"16":{"tf":1.0}}}},"x":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"1":{"df":1,"docs":{"16":{"tf":1.0}}},"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":2.449489742783178}},"e":{"d":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"b":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":2.6457513110645907}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"10":{"tf":1.0},"16":{"tf":3.7416573867739413},"8":{"tf":1.0},"9":{"tf":1.7320508075688772}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"19":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"9":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}}}},"n":{"c":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":2,"docs":{"17":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"10":{"tf":1.0},"4":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":8,"docs":{"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":2.8284271247461903},"17":{"tf":2.23606797749979},"3":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":2.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"12":{"tf":1.0},"14":{"tf":2.23606797749979}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"6":{"tf":1.0}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"2":{"tf":1.0}}},"t":{"df":1,"docs":{"4":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":2.6457513110645907},"17":{"tf":1.0},"4":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":2.0}}}},"df":0,"docs":{}}},"x":{"df":2,"docs":{"2":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":6,"docs":{"1":{"tf":1.4142135623730951},"12":{"tf":1.0},"2":{"tf":1.0},"22":{"tf":1.4142135623730951},"4":{"tf":1.0},"6":{"tf":2.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"6":{"tf":1.0},"8":{"tf":1.0}}}}},"n":{".":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"\"":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"17":{"tf":1.0}}}}},"t":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":2.449489742783178},"9":{"tf":1.0}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"13":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"13":{"tf":1.0},"16":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"9":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"u":{"df":2,"docs":{"13":{"tf":1.0},"15":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"b":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":2.23606797749979},"17":{"tf":1.0}}}}}}}}},"d":{"a":{"df":0,"docs":{},"t":{"a":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":3,"docs":{"14":{"tf":1.0},"17":{"tf":1.4142135623730951},"9":{"tf":3.605551275463989}}},"df":0,"docs":{}},"y":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"15":{"tf":1.0},"9":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}},"n":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"13":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"i":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":1.0},"2":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"s":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"8":{"tf":2.23606797749979},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"17":{"tf":1.0},"4":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"15":{"tf":1.0},"17":{"tf":1.0}}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"4":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}}}}},"r":{"a":{"df":0,"docs":{},"w":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"19":{"tf":2.23606797749979},"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":3,"docs":{"15":{"tf":1.0},"8":{"tf":2.23606797749979},"9":{"tf":1.0}}}},"df":1,"docs":{"9":{"tf":2.23606797749979}}}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"df":2,"docs":{"15":{"tf":1.0},"17":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.4142135623730951}}}}}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"5":{"tf":1.0},"8":{"tf":1.0}}}}}}},"d":{"df":3,"docs":{"0":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}}},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"17":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":2.8284271247461903}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"4":{"tf":1.4142135623730951}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"15":{"tf":1.0},"17":{"tf":1.7320508075688772}},"t":{"df":1,"docs":{"10":{"tf":2.0}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":7,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"2":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":2.0},"4":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"19":{"tf":1.0},"4":{"tf":1.0}}}},"t":{"df":2,"docs":{"1":{"tf":1.0},"16":{"tf":2.8284271247461903}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"0":{"tf":1.7320508075688772},"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"2":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}},"n":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"16":{"tf":1.0},"4":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":3,"docs":{"14":{"tf":1.0},"19":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"4":{"tf":1.0}}}}}}}},"f":{"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"2":{"tf":1.0}}},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"df":2,"docs":{"7":{"tf":1.4142135623730951},"9":{"tf":2.23606797749979}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"'":{"a":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"w":{"df":3,"docs":{"10":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"n":{"d":{"df":2,"docs":{"1":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"16":{"tf":1.4142135623730951},"9":{"tf":2.0}}}}},"x":{"df":3,"docs":{"0":{"tf":1.0},"17":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}},"n":{"df":4,"docs":{"15":{"tf":1.0},"16":{"tf":3.872983346207417},"17":{"tf":3.7416573867739413},"9":{"tf":2.8284271247461903}}},"o":{"c":{"df":0,"docs":{},"u":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.4142135623730951}}}}}}}}},"r":{"b":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"c":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"12":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":1.0},"17":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.0},"9":{"tf":2.0}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":16,"docs":{"0":{"tf":2.449489742783178},"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"3":{"tf":1.0},"4":{"tf":3.1622776601683795},"5":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":2.449489742783178}}}}}}}},"1":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"2":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"df":1,"docs":{"16":{"tf":2.6457513110645907}}},"df":1,"docs":{"16":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"r":{"(":{"a":{"1":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":3.1622776601683795}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"4":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":2.0}}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"1":{"(":{"_":{"df":1,"docs":{"16":{"tf":1.0}}},"a":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":2.449489742783178}},"{":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":3.605551275463989}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":2.6457513110645907}}}}}}}}},"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"d":{"(":{"a":{"df":1,"docs":{"16":{"tf":1.0}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"d":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":2.449489742783178}}},"r":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":2.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"16":{"tf":2.8284271247461903}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":8,"docs":{"1":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"12":{"tf":2.23606797749979},"15":{"tf":1.0},"16":{"tf":3.872983346207417},"17":{"tf":1.4142135623730951},"4":{"tf":1.0},"6":{"tf":1.7320508075688772}}}}},"t":{"df":1,"docs":{"17":{"tf":1.0}}}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"1":{"tf":1.4142135623730951},"17":{"tf":1.0},"6":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"16":{"tf":1.0}}}},"df":6,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}},"o":{"d":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"a":{"d":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":2.0}}}}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"19":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"10":{"tf":1.0}}}},"n":{"d":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"15":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"16":{"tf":2.0},"17":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"r":{"d":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"4":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":2.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":1,"docs":{"5":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"13":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}}}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"/":{"2":{"0":{"1":{"7":{"/":{"0":{"3":{"/":{"0":{"7":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"i":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"3":{"tf":1.0}}}},"m":{"df":1,"docs":{"16":{"tf":1.0}}},"v":{"df":3,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"13":{"tf":1.0}}}},"/":{"df":0,"docs":{},"o":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"6":{"tf":1.0}}}},"3":{"2":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"9":{"tf":3.4641016151377544}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":3.0},"17":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":13,"docs":{"0":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":2.449489742783178},"17":{"tf":3.4641016151377544},"19":{"tf":1.4142135623730951},"2":{"tf":2.0},"20":{"tf":1.0},"4":{"tf":1.4142135623730951},"5":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":2.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":17,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"5":{"tf":1.7320508075688772},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":3,"docs":{"16":{"tf":2.0},"17":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"9":{"tf":1.0}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}}}}},"f":{"a":{"c":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"o":{"c":{"df":0,"docs":{},"p":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"4":{"tf":1.0}}}}},"t":{"'":{"df":10,"docs":{"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":2.449489742783178},"17":{"tf":2.0},"19":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.7320508075688772}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"16":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"2":{"tf":1.0}}}},"y":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":2.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":9,"docs":{"10":{"tf":1.7320508075688772},"14":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}},"n":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"4":{"tf":1.0},"6":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":2.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"3":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"'":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":1,"docs":{"16":{"tf":2.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"i":{"b":{"c":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"13":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":2.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"e":{"df":4,"docs":{"0":{"tf":1.4142135623730951},"13":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"o":{"c":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":5,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"t":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0}}}}},"m":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"15":{"tf":1.0},"16":{"tf":2.0},"2":{"tf":1.0},"4":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"15":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":2.0},"9":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"16":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"df":6,"docs":{"16":{"tf":1.0},"17":{"tf":2.23606797749979},"2":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"n":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"'":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"3":{"tf":1.0}}}},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":2.449489742783178}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":8,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"19":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"m":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"2":{"tf":1.0},"4":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}},"o":{"df":1,"docs":{"3":{"tf":1.0}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"4":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"12":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"10":{"tf":1.0},"16":{"tf":2.23606797749979},"17":{"tf":1.4142135623730951}}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"12":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.0}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}},"df":3,"docs":{"16":{"tf":3.3166247903554},"17":{"tf":3.605551275463989},"9":{"tf":1.7320508075688772}}}},"y":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"1":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"16":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"16":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"e":{"d":{"df":8,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"17":{"tf":1.0}}},"w":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"18":{"tf":1.0}}}},"df":1,"docs":{"17":{"tf":1.0}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":4,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.0}}},"i":{"c":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":3,"docs":{"16":{"tf":2.6457513110645907},"17":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"17":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":3.3166247903554}}}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.0}}},"l":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"n":{"c":{"df":2,"docs":{"13":{"tf":1.0},"17":{"tf":1.0}}},"df":6,"docs":{"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":3.605551275463989}}}}}}},"s":{"df":1,"docs":{"13":{"tf":1.0}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"t":{"df":5,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"4":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":2.0}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"6":{"tf":1.0}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":2.0}}}}}}}}}}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"c":{"a":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":2.449489742783178},"2":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"4":{"tf":1.0}}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":2.0}}}}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}},"n":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"&":{"'":{"a":{"df":1,"docs":{"17":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}},"'":{"a":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}}}},"df":8,"docs":{"11":{"tf":1.7320508075688772},"12":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":3.3166247903554},"17":{"tf":4.58257569495584},"18":{"tf":2.0},"19":{"tf":2.23606797749979},"21":{"tf":1.4142135623730951}},"g":{"df":1,"docs":{"17":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"d":{"1":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}},"2":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{},"y":{"df":3,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"9":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"1":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"16":{"tf":2.0},"17":{"tf":2.0},"7":{"tf":1.4142135623730951},"9":{"tf":4.123105625617661}}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"16":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"16":{"tf":1.0},"4":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"a":{"d":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":2.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":2.23606797749979}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"9":{"tf":3.0}}}},"u":{"b":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":1.4142135623730951}}}}}}},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"0":{"tf":1.0},"16":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"2":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0}},"m":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"4":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"0":{"tf":1.0},"10":{"tf":1.7320508075688772},"4":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"u":{"b":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"17":{"tf":1.0},"9":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.0},"11":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":2,"docs":{"16":{"tf":2.449489742783178},"6":{"tf":1.0}},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"2":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":3,"docs":{"0":{"tf":1.0},"10":{"tf":2.0},"4":{"tf":1.4142135623730951}}}}}},"d":{"df":5,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}},"i":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"14":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"12":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"16":{"tf":2.23606797749979},"18":{"tf":1.0},"19":{"tf":1.0},"9":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":2.23606797749979}}}}}}}}},"g":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"12":{"tf":1.0},"17":{"tf":1.0}}}},"i":{"df":2,"docs":{"16":{"tf":1.0},"2":{"tf":1.0}},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"13":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"r":{"(":{"c":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"17":{"tf":2.23606797749979}}}}}},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"1":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}}},"m":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"4":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":2.449489742783178}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":2.0}}}},"df":2,"docs":{"16":{"tf":3.0},"17":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}},"f":{"c":{"#":{"1":{"8":{"2":{"3":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"3":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"3":{"3":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"4":{"9":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"n":{"df":4,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":2.0}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"t":{"df":13,"docs":{"0":{"tf":1.7320508075688772},"10":{"tf":2.8284271247461903},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":2.6457513110645907},"17":{"tf":1.0},"2":{"tf":1.7320508075688772},"4":{"tf":2.23606797749979},"6":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":2.0}}}}}},"s":{".":{"a":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}},"b":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":3,"docs":{"16":{"tf":2.449489742783178},"17":{"tf":1.7320508075688772},"4":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":4,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"9":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"13":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"10":{"tf":1.7320508075688772},"13":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"11":{"tf":1.0},"9":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"9":{"tf":1.0}},"e":{"df":4,"docs":{"16":{"tf":2.449489742783178},"17":{"tf":2.0},"18":{"tf":1.0},"9":{"tf":1.7320508075688772}},"m":{"df":1,"docs":{"11":{"tf":1.0}}}},"g":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"f":{".":{"a":{"df":1,"docs":{"17":{"tf":1.7320508075688772}}},"b":{"df":1,"docs":{"17":{"tf":2.23606797749979}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":2.8284271247461903}}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":2.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":3,"docs":{"16":{"tf":5.0990195135927845},"17":{"tf":3.7416573867739413},"19":{"tf":1.0}}},"v":{"df":1,"docs":{"8":{"tf":1.0}}}},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"9":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"18":{"tf":1.0},"4":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"4":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":1,"docs":{"18":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":2,"docs":{"15":{"tf":1.0},"8":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{":":{":":{"<":{"&":{"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"9":{"tf":2.0}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"p":{"df":1,"docs":{"16":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.0}}}},"v":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"16":{"tf":1.0},"18":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"20":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"17":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"t":{"a":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"4":{"tf":1.0}}}},"l":{"df":1,"docs":{"17":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"df":5,"docs":{"12":{"tf":1.0},"13":{"tf":2.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":2.449489742783178}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"(":{"a":{"1":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"0":{"tf":1.0},"16":{"tf":2.23606797749979},"17":{"tf":1.0},"5":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":6,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":2.8284271247461903},"2":{"tf":1.0},"4":{"tf":1.0}}},"i":{"c":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"y":{"df":3,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"20":{"tf":1.0}}}},"d":{":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":2.0},"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"<":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"10":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"10":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951}}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":1,"docs":{"17":{"tf":2.449489742783178}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"16":{"tf":3.1622776601683795},"17":{"tf":3.4641016151377544}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"9":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{}}},"u":{"b":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}}},"u":{"b":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"m":{"df":1,"docs":{"17":{"tf":1.0}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"2":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"10":{"tf":1.0},"4":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"x":{"df":3,"docs":{"12":{"tf":1.0},"16":{"tf":1.4142135623730951},"4":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"4":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":5,"docs":{"10":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"19":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.0}},"n":{"df":1,"docs":{"19":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"k":{"df":2,"docs":{"12":{"tf":1.0},"2":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":3,"docs":{"10":{"tf":2.23606797749979},"13":{"tf":1.4142135623730951},"14":{"tf":1.0}}}}},"df":1,"docs":{"17":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"10":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}},"s":{"df":0,"docs":{},"t":{".":{"a":{"d":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}},"1":{".":{"a":{"df":1,"docs":{"17":{"tf":1.0}},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":1,"docs":{"17":{"tf":1.0}}},"b":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"b":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":1,"docs":{"17":{"tf":2.449489742783178}}},"2":{".":{"a":{"df":1,"docs":{"17":{"tf":1.0}},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":1,"docs":{"17":{"tf":1.0}}},"b":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"b":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":1,"docs":{"17":{"tf":2.449489742783178}}},":":{":":{"a":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"2":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"b":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"2":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"\"":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"17":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"17":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},">":{"(":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"17":{"tf":3.0},"9":{"tf":1.4142135623730951}}}},"x":{"df":0,"docs":{},"t":{"[":{"0":{".":{".":{"5":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"15":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"3":{"tf":1.7320508075688772}}}},"t":{"'":{"df":2,"docs":{"1":{"tf":1.0},"16":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"'":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"10":{"tf":1.0},"16":{"tf":1.0},"4":{"tf":1.0}}},"k":{"df":3,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"4":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":3,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"o":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"16":{"tf":4.123105625617661}}}}}}}},"df":0,"docs":{}},"d":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":3,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"3":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"0":{"tf":1.0}}}},"p":{"df":1,"docs":{"9":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}},"y":{"df":1,"docs":{"0":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"16":{"tf":2.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":4.242640687119285}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0}}}},"df":5,"docs":{"16":{"tf":2.0},"17":{"tf":1.7320508075688772},"2":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"20":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"o":{"df":4,"docs":{"10":{"tf":1.0},"16":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":9,"docs":{"11":{"tf":1.0},"16":{"tf":4.242640687119285},"17":{"tf":3.4641016151377544},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":1.0}}},"n":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"16":{"tf":2.0},"17":{"tf":1.4142135623730951}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}}},"r":{"df":1,"docs":{"16":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"12":{"tf":1.0},"17":{"tf":1.4142135623730951},"4":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"14":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":2.23606797749979},"17":{"tf":4.0}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":3,"docs":{"16":{"tf":3.605551275463989},"17":{"tf":4.358898943540674},"9":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"19":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":5,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"9":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}},"df":12,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":2.0},"16":{"tf":4.358898943540674},"17":{"tf":3.3166247903554},"18":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.7320508075688772},"17":{"tf":2.0}}}},"i":{"df":0,"docs":{},"z":{"df":2,"docs":{"16":{"tf":1.7320508075688772},"9":{"tf":2.23606797749979}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"1":{"tf":1.0},"16":{"tf":1.0}}},"df":0,"docs":{}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"16":{"tf":3.1622776601683795},"17":{"tf":2.449489742783178},"19":{"tf":1.0},"9":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"4":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.0},"4":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"8":{"tf":1.0},"9":{"tf":2.6457513110645907}},"e":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"2":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"0":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"y":{"df":3,"docs":{"10":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{},"e":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":8,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"16":{"tf":1.7320508075688772},"2":{"tf":2.0},"20":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"r":{"df":3,"docs":{"17":{"tf":1.4142135623730951},"20":{"tf":1.0},"9":{"tf":1.0}}},"v":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"17":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"4":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"r":{"d":{"df":2,"docs":{"17":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":5,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":2.449489742783178},"4":{"tf":1.4142135623730951}}},"l":{"d":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"16":{"tf":1.0},"17":{"tf":1.7320508075688772},"2":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"6":{"tf":1.0}}}}}}}}},"y":{"df":1,"docs":{"16":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":2.0}}}},"1":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"16":{"tf":2.23606797749979}}},"df":2,"docs":{"13":{"tf":1.0},"16":{"tf":3.872983346207417}},"e":{"d":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":2.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":6,"docs":{"16":{"tf":2.6457513110645907},"17":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}}},"r":{"df":3,"docs":{"13":{"tf":1.0},"17":{"tf":1.0},"6":{"tf":1.0}}},"v":{"df":2,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":4,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"4":{"tf":1.0}}}}}}}}}}}},"title":{"root":{"1":{"df":1,"docs":{"22":{"tf":1.0}}},"2":{"0":{"0":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"22":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"19":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}}},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"f":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"7":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.0},"22":{"tf":1.0},"4":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"6":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"5":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"7":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.0}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"7":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"0":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"13":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"15":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"7":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"e":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"2":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}},"pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5"},"results_options":{"limit_results":30,"teaser_word_count":30},"search_options":{"bool":"OR","expand":true,"fields":{"body":{"boost":1},"breadcrumbs":{"boost":1},"title":{"boost":2}}}}); \ No newline at end of file diff --git a/book/searchindex.json b/book/searchindex.json index 4285617..f5dcf9c 100644 --- a/book/searchindex.json +++ b/book/searchindex.json @@ -1 +1 @@ -{"doc_urls":["0_0_introduction.html#futures-explained-in-200-lines-of-rust","0_0_introduction.html#what-does-this-book-give-you-that-isnt-covered-elsewhere","0_0_introduction.html#what-well-do-and-not","0_0_introduction.html#credits-and-thanks","0_0_introduction.html#why-is-futures-in-rust-hard-to-understand","0_1_background_information.html#some-background-information","0_1_background_information.html#concurrency-in-general","0_1_1_trait_objects.html#trait-objects-and-fat-pointers","0_1_1_trait_objects.html#trait-objects-and-dynamic-dispatch","0_1_1_trait_objects.html#fat-pointers-in-rust","0_1_1_trait_objects.html#reactorexecutor-pattern","0_1_2_generators_pin.html#generators-and-pin","0_1_2_generators_pin.html#generators","0_1_2_generators_pin.html#stackful-coroutinesgreen-threads","0_1_2_generators_pin.html#combinators","0_1_2_generators_pin.html#stackless-coroutinesgenerators","0_1_2_generators_pin.html#how-generators-work","0_2_naive_implementation.html#naive-example","0_3_proper_waker.html#proper-waker","0_4_proper_future.html#proper-future","0_5_async_wait.html#supporting-asyncawait","0_6_concurrent_futures.html#bonus-concurrent-futures"],"index":{"documentStore":{"docInfo":{"0":{"body":57,"breadcrumbs":5,"title":5},"1":{"body":48,"breadcrumbs":5,"title":5},"10":{"body":162,"breadcrumbs":4,"title":2},"11":{"body":9,"breadcrumbs":4,"title":2},"12":{"body":50,"breadcrumbs":3,"title":1},"13":{"body":68,"breadcrumbs":5,"title":3},"14":{"body":64,"breadcrumbs":3,"title":1},"15":{"body":60,"breadcrumbs":4,"title":2},"16":{"body":168,"breadcrumbs":4,"title":2},"17":{"body":374,"breadcrumbs":2,"title":2},"18":{"body":0,"breadcrumbs":2,"title":2},"19":{"body":0,"breadcrumbs":2,"title":2},"2":{"body":67,"breadcrumbs":1,"title":1},"20":{"body":0,"breadcrumbs":2,"title":2},"21":{"body":0,"breadcrumbs":3,"title":3},"3":{"body":23,"breadcrumbs":2,"title":2},"4":{"body":110,"breadcrumbs":4,"title":4},"5":{"body":13,"breadcrumbs":2,"title":2},"6":{"body":43,"breadcrumbs":2,"title":2},"7":{"body":0,"breadcrumbs":6,"title":4},"8":{"body":42,"breadcrumbs":6,"title":4},"9":{"body":380,"breadcrumbs":5,"title":3}},"docs":{"0":{"body":"This book aims to explain Futures in Rust using an example driven approach. The goal is to get a better understanding of Futures by implementing a toy Reactor, a very simple Executor and our own Futures. We'll start off solving a small problem without Futures, Wakers or async/await and then gradually adapt our example so it implements all these concepts, and can be solved using the executor provided by both tokio and async_str. In the end I've made some reader excercises you can do if you want to fix some of the most glaring ommissions and shortcuts we took and create a slightly better example yourself.","breadcrumbs":"Futures Explained in 200 Lines of Rust","id":"0","title":"Futures Explained in 200 Lines of Rust"},"1":{"body":"That's a valid question. There are many good resources and examples already. First of all, this book will point you to some background information that I have found very valuable to get an understanding of concurrent programming in general. I find that many discussions arise, not because Futures is a hard concept to grasp, but that concurrent programming is a hard concept in general. Secondly, I've always found small runnable examples very exiting to learn from. It's all code that you can download, play with and learn from.","breadcrumbs":"What does this book give you that isn't covered elsewhere?","id":"1","title":"What does this book give you that isn't covered elsewhere?"},"10":{"body":"If you don't know what this is, you should take a few minutes and read about it. You will encounter the term Reactor and Executor a lot when working with async code in Rust. I have written a quick introduction explaining this pattern before which you can take a look at here: homepage Epoll, Kqueue and IOCP Explained - The Reactor-Executor Pattern I'll re-iterate the most important parts here. This pattern consists of at least 2 parts: A reactor handles some kind of event queue has the responsibility of respoonding to events An executor Often has a scheduler Holds a set of suspended tasks, and has the responsibility of resuming them when an event has occurred The concept of a task A set of operations that can be stopped half way and resumed later on This is a pattern not only used in Rust, but it's very popular in Rust due to how well it separates concerns between handling and scheduling tasks, and queing and responding to I/O events. The only thing Rust as a language defines is the task . In Rust we call an incorruptible task a Future. Futures has a well defined interface, which means they can be used across the entire ecosystem. In addition, Rust provides a way for the Reactor and Executor to communicate through the Waker. We'll get to know these in the following chapters. Providing these pieces let's Rust take care a lot of the ergonomic \"friction\" programmers meet when faced with async code, and still not dictate any preferred runtime to actually do the scheduling and I/O queues. It's important to know that Rust doesn't provide a runtime, so you have to choose one. async std and tokio are two popular ones. With that out of the way, let's move on to our main example.","breadcrumbs":"Some background information » Reactor/Executor pattern","id":"10","title":"Reactor/Executor pattern"},"11":{"body":"So the second difficult part that there seems to be a lot of questions about is Generators and the Pin type.","breadcrumbs":"Some background information » Generators and Pin","id":"11","title":"Generators and Pin"},"12":{"body":"**Relevant for:** - Understanding how the async/await syntax works\n- Why we need `Pin`\n- Why Rusts async model is extremely efficient The motivation for Generators can be found in RFC#2033 . It's very well written and I can recommend reading through it (it talks as much about async/await as it does about generators). Basically, there were three main options that were discussed when Rust was desiging how the language would handle concurrency: Stackful coroutines, better known as green threads. Using combinators. Stackless coroutines, better known as generators.","breadcrumbs":"Some background information » Generators","id":"12","title":"Generators"},"13":{"body":"I've written about green threads before. Go check out Green Threads Explained in 200 lines of Rust if you're interested. Green threads uses the same mechanisms as an OS does by creating a thread for each task, setting up a stack and forcing the CPU to save it's state and jump from one task(thread) to another. We yield control to the scheduler which then continues running a different task. Rust had green threads once, but they were removed before it hit 1.0. The state of execution is stored in each stack so in such a solution there would be no need for async, await, Futures or Pin. All this would be implementation details for the library.","breadcrumbs":"Some background information » Stackful coroutines/green threads","id":"13","title":"Stackful coroutines/green threads"},"14":{"body":"Futures 1.0 used combinators. If you've worked with Promises in JavaScript, you already know combinators. In Rust they look like this: let future = Connection::connect(conn_str).and_then(|conn| { conn.query(\"somerequest\").map(|row|{ SomeStruct::from(row) }).collect::>()\n}); let rows: Result, SomeLibraryError> = block_on(future).unwrap(); While an effective solution there are mainly two downsides I'll focus on: The error messages produced could be extremely long and arcane Not optimal memory usage The reason for the higher than optimal memory usage is that this is basically a callback-based approach, where each closure stores all the data it needs for computation. This means that as we chain these, the memory required to store the needed state increases with each added step.","breadcrumbs":"Some background information » Combinators","id":"14","title":"Combinators"},"15":{"body":"This is the model used in Async/Await today. It has two advantages: It's easy to convert normal Rust code to a stackless corotuine using using async/await as keywords (it can even be done using a macro). It uses memory very efficiently The second point is in contrast to Futures 1.0 (well, both are efficient in practice but thats beside the point). Generators are implemented as state machines. The memory footprint of a chain of computations is only defined by the largest footprint any single step requires. That means that adding steps to a chain of computations might not require any added memory at all.","breadcrumbs":"Some background information » Stackless coroutines/generators","id":"15","title":"Stackless coroutines/generators"},"16":{"body":"In Nightly Rust today you can use the yield keyword. Basically using this keyword in a closure, converts it to a generator. A closure looking like this (I'm going to use the terminology that's currently in Rust): let a = 4;\nlet b = move || { println!(\"Hello\"); yield a * 2; println!(\"world!\"); }; if let GeneratorState::Yielded(n) = gen.resume() { println!(\"Got value {}\", n); } if let GeneratorState::Complete(()) = gen.resume() { ()\n}; Early on, before there was a consensus about the design of Pin, this compiled to something looking similar to this: fn main() { let mut gen = GeneratorA::start(4); if let GeneratorState::Yielded(n) = gen.resume() { println!(\"Got value {}\", n); } if let GeneratorState::Complete(()) = gen.resume() { () };\n} // If you've ever wondered why the parameters are called Y and R the naming from\n// the original rfc most likely holds the answer\nenum GeneratorState { // originally called `CoResult` Yielded(Y), // originally called `Yield(Y)` Complete(R), // originally called `Return(R)`\n} trait Generator { type Yield; type Return; fn resume(&mut self) -> GeneratorState;\n} enum GeneratorA { Enter(i32), Yield1(i32), Exit,\n} impl GeneratorA { fn start(a1: i32) -> Self { GeneratorA::Enter(a1) }\n} impl Generator for GeneratorA { type Yield = i32; type Return = (); fn resume(&mut self) -> GeneratorState { // lets us get ownership over current state match std::mem::replace(&mut *self, GeneratorA::Exit) { GeneratorA::Enter(a1) => { /*|---code before yield1---|*/ /*|*/ println!(\"Hello\"); /*|*/ /*|*/ let a = a1 * 2; /*|*/ /*|------------------------|*/ *self = GeneratorA::Yield1(a); GeneratorState::Yielded(a) } GeneratorA::Yield1(_) => { /*|----code after yield1----|*/ /*|*/ println!(\"world!\"); /*|*/ /*|-------------------------|*/ *self = GeneratorA::Exit; GeneratorState::Complete(()) } GeneratorA::Exit => panic!(\"Can't advance an exited generator!\"), } }\n} The yield keyword was discussed first in RFC#1823 and in RFC#1832 . || { let arr: Vec = (0..a).enumerate().map((i,_) i).collect(); for n in arr { yield n; } println!(\"The sum is: {}\", arr.iter().sum());\n}\n|| { yield a * 2; println!(\"Hello!\");\n}","breadcrumbs":"Some background information » How generators work","id":"16","title":"How generators work"},"17":{"body":"use std::sync::atomic::{AtomicUsize, Ordering};\nuse std::sync::mpsc::{channel, Sender};\nuse std::sync::{Arc, Mutex};\nuse std::thread::{self, JoinHandle};\nuse std::time::{Duration, Instant}; fn main() { let readylist = Arc::new(Mutex::new(vec![])); let mut reactor = Reactor::new(); let mywaker = MyWaker::new(1, thread::current(), readylist.clone()); reactor.register(2, mywaker); let mywaker = MyWaker::new(2, thread::current(), readylist.clone()); reactor.register(2, mywaker); executor_run(reactor, readylist);\n}\n// ====== EXECUTOR ======\nfn executor_run(mut reactor: Reactor, rl: Arc>>) { let start = Instant::now(); loop { let mut rl_locked = rl.lock().unwrap(); while let Some(event) = rl_locked.pop() { let dur = (Instant::now() - start).as_secs_f32(); println!(\"Event {} just happened at time: {:.2}.\", event, dur); reactor.outstanding.fetch_sub(1, Ordering::Relaxed); } drop(rl_locked); if reactor.outstanding.load(Ordering::Relaxed) == 0 { reactor.close(); break; } thread::park(); }\n} // ====== \"FUTURE\" IMPL ======\n#[derive(Debug)]\nstruct MyWaker { id: usize, thread: thread::Thread, readylist: Arc>>,\n} impl MyWaker { fn new(id: usize, thread: thread::Thread, readylist: Arc>>) -> Self { MyWaker { id, thread, readylist, } } fn wake(&self) { self.readylist.lock().map(|mut rl| rl.push(self.id)).unwrap(); self.thread.unpark(); }\n} #[derive(Debug, Clone)]\npub struct Task { id: usize, pending: bool, } // ===== REACTOR =====\nstruct Reactor { dispatcher: Sender, handle: Option>, outstanding: AtomicUsize,\n}\n#[derive(Debug)]\nenum Event { Close, Simple(MyWaker, u64),\n} impl Reactor { fn new() -> Self { let (tx, rx) = channel::(); let mut handles = vec![]; let handle = thread::spawn(move || { // This simulates some I/O resource for event in rx { match event { Event::Close => break, Event::Simple(mywaker, duration) => { let event_handle = thread::spawn(move || { thread::sleep(Duration::from_secs(duration)); mywaker.wake(); }); handles.push(event_handle); } } } for handle in handles { handle.join().unwrap(); } }); Reactor { dispatcher: tx, handle: Some(handle), outstanding: AtomicUsize::new(0), } } fn register(&mut self, duration: u64, mywaker: MyWaker) { self.dispatcher .send(Event::Simple(mywaker, duration)) .unwrap(); self.outstanding.fetch_add(1, Ordering::Relaxed); } fn close(&mut self) { self.dispatcher.send(Event::Close).unwrap(); }\n} impl Drop for Reactor { fn drop(&mut self) { self.handle.take().map(|h| h.join().unwrap()).unwrap(); }\n} use std::sync::atomic::{AtomicUsize, Ordering};\nuse std::sync::mpsc::{channel, Sender};\nuse std::sync::{Arc, Mutex};\nuse std::thread::{self, JoinHandle};\nuse std::time::{Duration, Instant}; fn main() { let readylist = Arc::new(Mutex::new(vec![])); let mut reactor = Reactor::new(); let mywaker = MyWaker::new(1, thread::current(), readylist.clone()); reactor.register(2, mywaker); let mywaker = MyWaker::new(2, thread::current(), readylist.clone()); reactor.register(2, mywaker); executor_run(reactor, readylist);\n}\n# // ====== EXECUTOR ======\n# fn executor_run(mut reactor: Reactor, rl: Arc>>) {\n# let start = Instant::now();\n# loop {\n# let mut rl_locked = rl.lock().unwrap();\n# while let Some(event) = rl_locked.pop() {\n# let dur = (Instant::now() - start).as_secs_f32(); # println!(\"Event {} just happened at time: {:.2}.\", event, dur);\n# reactor.outstanding.fetch_sub(1, Ordering::Relaxed);\n# }\n# drop(rl_locked);\n# # if reactor.outstanding.load(Ordering::Relaxed) == 0 {\n# reactor.close();\n# break;\n# }\n# # thread::park();\n# }\n# }\n# # // ====== \"FUTURE\" IMPL ======\n# #[derive(Debug)]\n# struct MyWaker {\n# id: usize,\n# thread: thread::Thread,\n# readylist: Arc>>,\n# }\n# # impl MyWaker {\n# fn new(id: usize, thread: thread::Thread, readylist: Arc>>) -> Self {\n# MyWaker {\n# id,\n# thread,\n# readylist,\n# }\n# }\n# # fn wake(&self) {\n# self.readylist.lock().map(|mut rl| rl.push(self.id)).unwrap();\n# self.thread.unpark();\n# }\n# }\n# # # #[derive(Debug, Clone)]\n# pub struct Task {\n# id: usize,\n# pending: bool, # }\n# # // ===== REACTOR =====\n# struct Reactor {\n# dispatcher: Sender,\n# handle: Option>,\n# outstanding: AtomicUsize,\n# }\n# #[derive(Debug)]\n# enum Event {\n# Close,\n# Simple(MyWaker, u64),\n# }\n# # impl Reactor {\n# fn new() -> Self {\n# let (tx, rx) = channel::();\n# let mut handles = vec![];\n# let handle = thread::spawn(move || {\n# // This simulates some I/O resource\n# for event in rx {\n# match event {\n# Event::Close => break,\n# Event::Simple(mywaker, duration) => {\n# let event_handle = thread::spawn(move || {\n# thread::sleep(Duration::from_secs(duration));\n# mywaker.wake();\n# });\n# handles.push(event_handle);\n# }\n# }\n# }\n# # for handle in handles {\n# handle.join().unwrap();\n# }\n# });\n# # Reactor {\n# dispatcher: tx,\n# handle: Some(handle),\n# outstanding: AtomicUsize::new(0),\n# }\n# }\n# # fn register(&mut self, duration: u64, mywaker: MyWaker) {\n# self.dispatcher\n# .send(Event::Simple(mywaker, duration))\n# .unwrap();\n# self.outstanding.fetch_add(1, Ordering::Relaxed);\n# }\n# # fn close(&mut self) {\n# self.dispatcher.send(Event::Close).unwrap();\n# }\n# }\n# # impl Drop for Reactor {\n# fn drop(&mut self) {\n# self.handle.take().map(|h| h.join().unwrap()).unwrap();\n# }\n# }","breadcrumbs":"Naive example","id":"17","title":"Naive example"},"18":{"body":"","breadcrumbs":"Proper Waker","id":"18","title":"Proper Waker"},"19":{"body":"","breadcrumbs":"Proper Future","id":"19","title":"Proper Future"},"2":{"body":"We'll: Implement our own Futures and get to know the Reactor/Executor pattern Implement our own waker and learn why it's a bit foreign compared to other types Talk a bit about runtime complexity and what to keep in mind when writing async Rust. Make sure all examples can be run on the playground Not rely on any helpers or libraries, but try to face the complexity and learn We'll not: Talk about how futures are implemented in Rust the language, the state machine and so on Explain how the different runtimes differ, however, you'll hopefully be a bit better off if you read this before you go research them Explain concurrent programming, but I will supply sources I do want to explore Rusts internal implementation but that will be for a later book.","breadcrumbs":"What we'll do and not","id":"2","title":"What we'll do and not"},"20":{"body":"","breadcrumbs":"Supporting async/await","id":"20","title":"Supporting async/await"},"21":{"body":"","breadcrumbs":"Bonus: concurrent futures","id":"21","title":"Bonus: concurrent futures"},"3":{"body":"I'll like to take the chance of thanking the people behind mio, tokio, async_std, Futures, libc, crossbeam and many other libraries which so much is built upon. Reading and exploring some of this code is nothing less than impressive.","breadcrumbs":"Credits and thanks","id":"3","title":"Credits and thanks"},"4":{"body":"Well, I think it has to do with several things: Futures has a very interesting implementation, compiling down to a state machine using generators to suspend and resume execution. In a language such as Rust this is pretty hard to do ergonomically and safely. You are exposed to some if this complexity when working with futures and want to understand them, not only learn how to use them. Rust doesn't provide a runtime. That means you'll actually have to choose one yourself and actually know what a Reactor and an Executor is. While not too difficult, you need to make more choices than you need in GO and other languages designed with a concurrent programming in mind and ships with a runtime. Futures exist in two versions, Futures 1.0 and Futures 3.0. Futures 1.0 was known to have some issues regarding ergonomics. Turns out that modelling async coding after Promises in JavaScript can turn in to extremely long errors and type signatures with a type system as Rust. Futures 3.0 are not compatible with Futures 1.0 without performing some work. Async await syntax was recently stabilized what we'll really do is to stub out a Reactor, and Executor and implement","breadcrumbs":"Why is Futures in Rust hard to understand","id":"4","title":"Why is Futures in Rust hard to understand"},"5":{"body":"Before we start implementing our Futures , we'll go through some background information that will help demystify some of the concepts we encounter.","breadcrumbs":"Some background information","id":"5","title":"Some background information"},"6":{"body":"If you find the concepts of concurrency and async programming confusing in general, I know where you're coming from and I have written some resources to try to give a high level overview that will make it easier to learn Rusts Futures afterwards: Async Basics - The difference between concurrency and parallelism Async Basics - Async history Async Basics - Strategies for handling I/O Async Basics - Epoll, Kqueue and IOCP","breadcrumbs":"Concurrency in general","id":"6","title":"Concurrency in general"},"7":{"body":"","breadcrumbs":"Some background information » Trait objects and fat pointers","id":"7","title":"Trait objects and fat pointers"},"8":{"body":"The single most confusing topic we encounter when implementing our own Futures is how we implement a Waker . Creating a Waker involves creating a vtable which allows using dynamic dispatch to call methods on a type erased trait object we construct our selves. If you want to know more about dynamic dispatch in Rust I can recommend this article: https://alschwalm.com/blog/static/2017/03/07/exploring-dynamic-dispatch-in-rust/ Let's explain this a bit more in detail.","breadcrumbs":"Some background information » Trait objects and dynamic dispatch","id":"8","title":"Trait objects and dynamic dispatch"},"9":{"body":"Let's take a look at the size of some different pointer types in Rust. If we run the following code: # use std::mem::size_of;\ntrait SomeTrait { } fn main() { println!(\"Size of Box: {}\", size_of::>()); println!(\"Size of &i32: {}\", size_of::<&i32>()); println!(\"Size of &Box: {}\", size_of::<&Box>()); println!(\"Size of Box: {}\", size_of::>()); println!(\"Size of &dyn Trait: {}\", size_of::<&dyn SomeTrait>()); println!(\"Size of &[i32]: {}\", size_of::<&[i32]>()); println!(\"Size of &[&dyn Trait]: {}\", size_of::<&[&dyn SomeTrait]>()); println!(\"Size of [i32; 10]: {}\", size_of::<[i32; 10]>()); println!(\"Size of [&dyn Trait; 10]: {}\", size_of::<[&dyn SomeTrait; 10]>());\n} As you see from the output after running this, the sizes of the references varies. Most are 8 bytes (which is a pointer size on 64 bit systems), but some are 16 bytes. The 16 byte sized pointers are called \"fat pointers\" since they carry more extra information. In the case of &[i32] : The first 8 bytes is the actual pointer to the first element in the array (or part of an array the slice refers to) The second 8 bytes is the length of the slice. The one we'll concern ourselves about is the references to traits, or trait objects as they're called in Rust. &dyn SomeTrait is an example of a trait object The layout for a pointer to a trait object looks like this: The first 8 bytes points to the data for the trait object The second 8 bytes points to the vtable for the trait object The reason for this is to allow us to refer to an object we know nothing about except that it implements the methods defined by our trait. To allow this we use dynamic dispatch. Let's explain this in code instead of words by implementing our own trait object from these parts: // A reference to a trait object is a fat pointer: (data_ptr, vtable_ptr)\ntrait Test { fn add(&self) -> i32; fn sub(&self) -> i32; fn mul(&self) -> i32;\n} // This will represent our home brewn fat pointer to a trait object\n#[repr(C)]\nstruct FatPointer<'a> { /// A reference is a pointer to an instantiated `Data` instance data: &'a mut Data, /// Since we need to pass in literal values like length and alignment it's /// easiest for us to convert pointers to usize-integers instead of the other way around. vtable: *const usize,\n} // This is the data in our trait object. It's just two numbers we want to operate on.\nstruct Data { a: i32, b: i32,\n} // ====== function definitions ======\nfn add(s: &Data) -> i32 { s.a + s.b\n}\nfn sub(s: &Data) -> i32 { s.a - s.b\n}\nfn mul(s: &Data) -> i32 { s.a * s.b\n} fn main() { let mut data = Data {a: 3, b: 2}; // vtable is like special purpose array of pointer-length types with a fixed // format where the three first values has a special meaning like the // length of the array is encoded in the array itself as the second value. let vtable = vec![ 0, // pointer to `Drop` (which we're not implementing here) 6, // lenght of vtable 8, // alignment // we need to make sure we add these in the same order as defined in the Trait. // Try changing the order of add and sub and see what happens. add as usize, // function pointer sub as usize, // function pointer mul as usize, // function pointer ]; let fat_pointer = FatPointer { data: &mut data, vtable: vtable.as_ptr()}; let test = unsafe { std::mem::transmute::(fat_pointer) }; // And voalá, it's now a trait object we can call methods on println!(\"Add: 3 + 2 = {}\", test.add()); println!(\"Sub: 3 - 2 = {}\", test.sub()); println!(\"Mul: 3 * 2 = {}\", test.mul());\n} If you run this code by pressing the \"play\" button at the top you'll se it outputs just what we expect. This code example is editable so you can change it and run it to see what happens. The reason we go through this will be clear later on when we implement our own Waker we'll actually set up a vtable like we do here to and knowing what it is will make this much less mysterious.","breadcrumbs":"Some background information » Fat pointers in Rust","id":"9","title":"Fat pointers in Rust"}},"length":22,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{".":{".":{"a":{")":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"(":{"df":0,"docs":{},"i":{",":{"_":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"17":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"1":{".":{"0":{"df":4,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"0":{"df":1,"docs":{"9":{"tf":2.0}}},"6":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"2":{"0":{"0":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.0}}},"df":0,"docs":{}},"df":4,"docs":{"10":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"9":{"tf":2.0}}},"3":{".":{"0":{"df":1,"docs":{"4":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"9":{"tf":2.0}}},"4":{"df":1,"docs":{"16":{"tf":1.0}}},"6":{"4":{"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.0}}},"8":{"df":1,"docs":{"9":{"tf":2.449489742783178}}},"a":{"1":{"df":1,"docs":{"16":{"tf":1.0}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"10":{"tf":1.0},"4":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"1":{"tf":1.0},"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"13":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"0":{"tf":1.0},"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"c":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":2.449489742783178}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"9":{"tf":2.23606797749979}}}},"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{"/":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"0":{"tf":1.0},"12":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"20":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"df":6,"docs":{"10":{"tf":1.7320508075688772},"12":{"tf":1.0},"13":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"0":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}}}}},"df":0,"docs":{}}},"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"1":{"tf":1.0},"5":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.0}}},"i":{"c":{"df":4,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"6":{"tf":2.0}}},"df":0,"docs":{}}}},"df":2,"docs":{"16":{"tf":1.0},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"10":{"tf":1.0},"13":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"2":{"tf":1.0},"5":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"2":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"2":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"21":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":3,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"2":{"tf":1.0}}},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"0":{"tf":1.0},"15":{"tf":1.0}}}},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":2.0}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":2.6457513110645907}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"10":{"tf":1.0},"16":{"tf":2.0},"8":{"tf":1.0},"9":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}}}},"n":{"c":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{":":{":":{"<":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"10":{"tf":1.0},"4":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":7,"docs":{"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"3":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":2.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"12":{"tf":1.0},"14":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"6":{"tf":1.0}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"2":{"tf":1.0}}},"t":{"df":1,"docs":{"4":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"4":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"x":{"df":2,"docs":{"2":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":6,"docs":{"1":{"tf":1.4142135623730951},"12":{"tf":1.0},"2":{"tf":1.0},"21":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"6":{"tf":1.0},"8":{"tf":1.0}}}}},"n":{".":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"\"":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}},"t":{"df":1,"docs":{"9":{"tf":1.0}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"13":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"9":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":1,"docs":{"13":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"b":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}}}},"d":{"a":{"df":0,"docs":{},"t":{"a":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":2,"docs":{"14":{"tf":1.0},"9":{"tf":3.605551275463989}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"15":{"tf":1.0},"9":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":2.449489742783178}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}},"n":{"df":2,"docs":{"16":{"tf":1.0},"4":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"13":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"i":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":1.0},"2":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"s":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"17":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"4":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"15":{"tf":1.0}}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"4":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":2,"docs":{"17":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":2.449489742783178}}}},"df":1,"docs":{"17":{"tf":2.0}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"8":{"tf":2.0},"9":{"tf":1.0}}}},"df":1,"docs":{"9":{"tf":2.23606797749979}}}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"15":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}}},"n":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"5":{"tf":1.0},"8":{"tf":1.0}}}}}}},"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"10":{"tf":1.0},"4":{"tf":1.4142135623730951}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}},"t":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":2,"docs":{"10":{"tf":2.0},"17":{"tf":2.8284271247461903}}}}}},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":6,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":4,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":2.0},"17":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}},"t":{"df":2,"docs":{"1":{"tf":1.0},"16":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"2":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"4":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"4":{"tf":1.0}}}}}}}},"f":{"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"2":{"tf":1.0}}}},"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"df":2,"docs":{"7":{"tf":1.0},"9":{"tf":2.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"'":{"a":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"10":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"1":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"9":{"tf":2.0}}}}},"x":{"df":2,"docs":{"0":{"tf":1.0},"9":{"tf":1.0}}}},"n":{"df":3,"docs":{"16":{"tf":2.0},"17":{"tf":4.0},"9":{"tf":2.8284271247461903}}},"o":{"c":{"df":0,"docs":{},"u":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.4142135623730951}}}}}}}}},"r":{"c":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"12":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":2.0}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":15,"docs":{"0":{"tf":2.23606797749979},"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"17":{"tf":1.4142135623730951},"19":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":3.0},"5":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":2.0}}}}}}}},"df":1,"docs":{"16":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"a":{"1":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"4":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"1":{"(":{"_":{"df":1,"docs":{"16":{"tf":1.0}}},"a":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"d":{"(":{"a":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":7,"docs":{"1":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":2.0},"15":{"tf":1.0},"16":{"tf":2.23606797749979},"4":{"tf":1.0},"6":{"tf":1.4142135623730951}}}}}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"1":{"tf":1.0},"6":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":6,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}},"o":{"d":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"a":{"d":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":2.0}}}}}}},"h":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"10":{"tf":1.0}}}},"n":{"d":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"17":{"tf":3.4641016151377544},"6":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"17":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"r":{"d":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":1,"docs":{"5":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"13":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}}}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"/":{"2":{"0":{"1":{"7":{"/":{"0":{"3":{"/":{"0":{"7":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"i":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"3":{"tf":1.0}}}},"m":{"df":1,"docs":{"16":{"tf":1.0}}},"v":{"df":3,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"13":{"tf":1.0}}}},")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"/":{"df":0,"docs":{},"o":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"6":{"tf":1.0}}}},"3":{"2":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"9":{"tf":3.4641016151377544}}},"df":0,"docs":{}},"d":{"df":1,"docs":{"17":{"tf":2.449489742783178}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":8,"docs":{"0":{"tf":1.4142135623730951},"13":{"tf":1.0},"15":{"tf":1.0},"2":{"tf":2.0},"4":{"tf":1.4142135623730951},"5":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":2.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"n":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":3,"docs":{"1":{"tf":1.0},"5":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"17":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.4142135623730951}},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"9":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}}}}},"f":{"a":{"c":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"o":{"c":{"df":0,"docs":{},"p":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"4":{"tf":1.0}}}}},"t":{"'":{"df":7,"docs":{"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.7320508075688772}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"2":{"tf":1.0}}}},"y":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":7,"docs":{"10":{"tf":1.7320508075688772},"14":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}},"n":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"4":{"tf":1.0},"6":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":2.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"3":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"'":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":1,"docs":{"16":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"i":{"b":{"c":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"13":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":4,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"t":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0}}}}},"m":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"15":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"15":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":4,"docs":{"2":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"3":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":5,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"2":{"tf":1.0},"4":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}},"o":{"df":1,"docs":{"3":{"tf":1.0}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":3,"docs":{"4":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"12":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"12":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.0}}},"t":{"df":3,"docs":{"16":{"tf":1.0},"17":{"tf":2.449489742783178},"9":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"w":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":4.242640687119285}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"1":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":1,"docs":{"16":{"tf":2.0}},"e":{"df":0,"docs":{},"e":{"d":{"df":5,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"w":{"(":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"3":{"tf":1.0},"9":{"tf":1.0}}}},"w":{"df":1,"docs":{"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":3.3166247903554}}}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"n":{"c":{"df":1,"docs":{"13":{"tf":1.0}}},"df":4,"docs":{"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"12":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"17":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"17":{"tf":2.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":2.0}}}}}}},"s":{"df":1,"docs":{"13":{"tf":1.0}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"t":{"df":3,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"4":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"17":{"tf":2.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"6":{"tf":1.0}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"c":{"a":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":2.23606797749979},"2":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"4":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":4,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"1":{"tf":1.0},"9":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"15":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"7":{"tf":1.0},"9":{"tf":4.0}}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"a":{"d":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"9":{"tf":3.0}}}},"u":{"b":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":1.0}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"2":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0}},"m":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"0":{"tf":1.0},"10":{"tf":1.7320508075688772},"4":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"b":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.0},"11":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":1,"docs":{"16":{"tf":1.4142135623730951}},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"(":{"1":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"2":{"df":1,"docs":{"17":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"2":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":4,"docs":{"0":{"tf":1.0},"10":{"tf":2.0},"17":{"tf":4.0},"4":{"tf":1.4142135623730951}}}}}},"d":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":3.1622776601683795}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"4":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"14":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"12":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"10":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":2.449489742783178}}}}},"g":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"12":{"tf":1.0}}}},"i":{"df":1,"docs":{"2":{"tf":1.0}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"13":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"r":{"(":{"c":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"1":{"tf":1.0},"17":{"tf":1.4142135623730951},"6":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"m":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"4":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}},"f":{"c":{"#":{"1":{"8":{"2":{"3":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"3":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"3":{"3":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"l":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"d":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}},"e":{"d":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":1,"docs":{"17":{"tf":2.0}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":3,"docs":{"13":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":2.0}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":2.8284271247461903},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"2":{"tf":1.7320508075688772},"4":{"tf":2.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}}},"x":{"df":1,"docs":{"17":{"tf":2.0}}}},"s":{".":{"a":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}},"b":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"4":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"13":{"tf":1.0},"9":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"13":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"10":{"tf":1.7320508075688772},"13":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"11":{"tf":1.0},"15":{"tf":1.0},"9":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"9":{"tf":1.0}},"e":{"df":1,"docs":{"9":{"tf":1.7320508075688772}},"m":{"df":1,"docs":{"11":{"tf":1.0}}}},"l":{"df":0,"docs":{},"f":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"_":{"a":{"d":{"d":{"(":{"1":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"16":{"tf":2.449489742783178},"17":{"tf":3.1622776601683795}}},"v":{"df":1,"docs":{"8":{"tf":1.0}}}},"n":{"d":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"9":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"4":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":2,"docs":{"15":{"tf":1.0},"8":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{":":{":":{"<":{"&":{"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"9":{"tf":2.0}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.0}}}},"v":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"4":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"1":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},")":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"f":{"3":{"2":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"0":{"tf":1.0},"17":{"tf":1.4142135623730951},"5":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":6,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0}}}}},"d":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"<":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{":":{":":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"c":{":":{":":{"df":0,"docs":{},"{":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"c":{":":{":":{"df":0,"docs":{},"{":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"{":{"a":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"{":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"10":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"10":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951}}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"17":{"tf":2.449489742783178},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"u":{"b":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}}},"u":{"b":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"2":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"10":{"tf":1.0},"4":{"tf":1.0}}},"df":0,"docs":{}}}}}},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"x":{"df":2,"docs":{"12":{"tf":1.0},"4":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"4":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":3,"docs":{"10":{"tf":1.7320508075688772},"3":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":2,"docs":{"12":{"tf":1.0},"2":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":3,"docs":{"10":{"tf":2.23606797749979},"13":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"10":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}},"s":{"df":0,"docs":{},"t":{".":{"a":{"d":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}},">":{"(":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}}},"t":{"'":{"df":2,"docs":{"1":{"tf":1.0},"16":{"tf":1.0}}},"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"'":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"10":{"tf":1.0},"4":{"tf":1.0}}},"k":{"df":1,"docs":{"4":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{":":{":":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":2.0}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"(":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"s":{"(":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"p":{"a":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":2.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"17":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":2.449489742783178},"17":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":2,"docs":{"12":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"o":{"d":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":3,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"3":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"0":{"tf":1.0}}}},"p":{"df":1,"docs":{"9":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}},"y":{"df":1,"docs":{"0":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"16":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":4.242640687119285}}}}},"df":0,"docs":{},"i":{"df":3,"docs":{"2":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"4":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"o":{"df":5,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}}},"x":{"df":1,"docs":{"17":{"tf":2.0}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":6,"docs":{"11":{"tf":1.0},"16":{"tf":2.0},"2":{"tf":1.0},"4":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"u":{"6":{"4":{"df":1,"docs":{"17":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"12":{"tf":1.0},"4":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"p":{"df":2,"docs":{"13":{"tf":1.0},"9":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}},"df":11,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":1.7320508075688772},"17":{"tf":3.1622776601683795},"4":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"z":{"df":2,"docs":{"17":{"tf":2.449489742783178},"9":{"tf":2.23606797749979}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"16":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"17":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":6,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"12":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"4":{"tf":1.0}}}}}}}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"8":{"tf":1.0},"9":{"tf":2.6457513110645907}},"e":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":6,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"0":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"y":{"df":2,"docs":{"10":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{},"e":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":6,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"2":{"tf":1.7320508075688772},"4":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"4":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":5,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"4":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"2":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"6":{"tf":1.0}}}}}}}}},"y":{"df":1,"docs":{"16":{"tf":1.0}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}},"1":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":2,"docs":{"13":{"tf":1.0},"16":{"tf":2.6457513110645907}},"e":{"d":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"2":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}}},"r":{"df":2,"docs":{"13":{"tf":1.0},"6":{"tf":1.0}}},"v":{"df":2,"docs":{"14":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"0":{"tf":1.0},"4":{"tf":1.0}}}}}}}}}}}},"breadcrumbs":{"root":{"0":{".":{".":{"a":{")":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"(":{"df":0,"docs":{},"i":{",":{"_":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"17":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"1":{".":{"0":{"df":4,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"0":{"df":1,"docs":{"9":{"tf":2.0}}},"6":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"2":{"0":{"0":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"13":{"tf":1.0}}},"df":0,"docs":{}},"df":4,"docs":{"10":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"9":{"tf":2.0}}},"3":{".":{"0":{"df":1,"docs":{"4":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"9":{"tf":2.0}}},"4":{"df":1,"docs":{"16":{"tf":1.0}}},"6":{"4":{"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.0}}},"8":{"df":1,"docs":{"9":{"tf":2.449489742783178}}},"a":{"1":{"df":1,"docs":{"16":{"tf":1.0}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"10":{"tf":1.0},"4":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"1":{"tf":1.0},"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"13":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"0":{"tf":1.0},"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"c":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":2.449489742783178}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"9":{"tf":2.23606797749979}}}},"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{"/":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"0":{"tf":1.0},"12":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"df":6,"docs":{"10":{"tf":1.7320508075688772},"12":{"tf":1.0},"13":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"0":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}}}}},"df":0,"docs":{}}},"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.7320508075688772},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.0}}},"i":{"c":{"df":4,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"6":{"tf":2.0}}},"df":0,"docs":{}}}},"df":2,"docs":{"16":{"tf":1.0},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"10":{"tf":1.0},"13":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"2":{"tf":1.0},"5":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"2":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"2":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"21":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"k":{"df":3,"docs":{"0":{"tf":1.0},"1":{"tf":1.7320508075688772},"2":{"tf":1.0}}},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"0":{"tf":1.0},"15":{"tf":1.0}}}},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":2.0}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":2.6457513110645907}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"10":{"tf":1.0},"16":{"tf":2.0},"8":{"tf":1.0},"9":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}}}},"n":{"c":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{":":{":":{"<":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"10":{"tf":1.0},"4":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":7,"docs":{"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"3":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":2.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"12":{"tf":1.0},"14":{"tf":2.0}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"6":{"tf":1.0}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"2":{"tf":1.0}}},"t":{"df":1,"docs":{"4":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"4":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"x":{"df":2,"docs":{"2":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":6,"docs":{"1":{"tf":1.4142135623730951},"12":{"tf":1.0},"2":{"tf":1.0},"21":{"tf":1.4142135623730951},"4":{"tf":1.0},"6":{"tf":2.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"6":{"tf":1.0},"8":{"tf":1.0}}}}},"n":{".":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"\"":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}},"t":{"df":1,"docs":{"9":{"tf":1.0}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"13":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"9":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"u":{"df":1,"docs":{"13":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"b":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}}}},"d":{"a":{"df":0,"docs":{},"t":{"a":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":2,"docs":{"14":{"tf":1.0},"9":{"tf":3.605551275463989}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"15":{"tf":1.0},"9":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":2.449489742783178}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}},"n":{"df":2,"docs":{"16":{"tf":1.0},"4":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"13":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"i":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":1.0},"2":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"s":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"17":{"tf":2.0},"8":{"tf":2.23606797749979},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"4":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"15":{"tf":1.0}}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"4":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":2,"docs":{"17":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":2.449489742783178}}}},"df":1,"docs":{"17":{"tf":2.0}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"8":{"tf":2.23606797749979},"9":{"tf":1.0}}}},"df":1,"docs":{"9":{"tf":2.23606797749979}}}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"15":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.4142135623730951}}}}}}}}},"n":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"5":{"tf":1.0},"8":{"tf":1.0}}}}}}},"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"10":{"tf":1.0},"4":{"tf":1.4142135623730951}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}},"t":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":2,"docs":{"10":{"tf":2.0},"17":{"tf":2.8284271247461903}}}}}},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":6,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"17":{"tf":1.4142135623730951},"2":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":4,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":2.0},"17":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}},"t":{"df":2,"docs":{"1":{"tf":1.0},"16":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"0":{"tf":1.7320508075688772},"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"2":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"4":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"4":{"tf":1.0}}}}}}}},"f":{"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"2":{"tf":1.0}}}},"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"df":2,"docs":{"7":{"tf":1.4142135623730951},"9":{"tf":2.23606797749979}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"'":{"a":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"10":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"1":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"9":{"tf":2.0}}}}},"x":{"df":2,"docs":{"0":{"tf":1.0},"9":{"tf":1.0}}}},"n":{"df":3,"docs":{"16":{"tf":2.0},"17":{"tf":4.0},"9":{"tf":2.8284271247461903}}},"o":{"c":{"df":0,"docs":{},"u":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.4142135623730951}}}}}}}}},"r":{"c":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"12":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":2.0}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":15,"docs":{"0":{"tf":2.449489742783178},"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"17":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"3":{"tf":1.0},"4":{"tf":3.1622776601683795},"5":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":2.0}}}}}}}},"df":1,"docs":{"16":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"a":{"1":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"4":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"1":{"(":{"_":{"df":1,"docs":{"16":{"tf":1.0}}},"a":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"d":{"(":{"a":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":7,"docs":{"1":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"12":{"tf":2.23606797749979},"15":{"tf":1.0},"16":{"tf":2.449489742783178},"4":{"tf":1.0},"6":{"tf":1.7320508075688772}}}}}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"6":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":6,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}},"o":{"d":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"a":{"d":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":2.0}}}}}}},"h":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"10":{"tf":1.0}}}},"n":{"d":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"17":{"tf":3.4641016151377544},"6":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"17":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"r":{"d":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"4":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":1,"docs":{"5":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"13":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}}}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"/":{"2":{"0":{"1":{"7":{"/":{"0":{"3":{"/":{"0":{"7":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"i":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"3":{"tf":1.0}}}},"m":{"df":1,"docs":{"16":{"tf":1.0}}},"v":{"df":3,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"13":{"tf":1.0}}}},")":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"/":{"df":0,"docs":{},"o":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"6":{"tf":1.0}}}},"3":{"2":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"9":{"tf":3.4641016151377544}}},"df":0,"docs":{}},"d":{"df":1,"docs":{"17":{"tf":2.449489742783178}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":8,"docs":{"0":{"tf":1.4142135623730951},"13":{"tf":1.0},"15":{"tf":1.0},"2":{"tf":2.0},"4":{"tf":1.4142135623730951},"5":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":2.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"n":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":12,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.7320508075688772},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"17":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.4142135623730951}},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"9":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}}}}},"f":{"a":{"c":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"o":{"c":{"df":0,"docs":{},"p":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"4":{"tf":1.0}}}}},"t":{"'":{"df":7,"docs":{"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.7320508075688772}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"2":{"tf":1.0}}}},"y":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":7,"docs":{"10":{"tf":1.7320508075688772},"14":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}},"n":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"4":{"tf":1.0},"6":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":2.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"3":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"'":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":1,"docs":{"16":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"i":{"b":{"c":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"13":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"13":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":4,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"t":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0}}}}},"m":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"15":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"15":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":4,"docs":{"2":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"3":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":5,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"2":{"tf":1.0},"4":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}},"o":{"df":1,"docs":{"3":{"tf":1.0}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":3,"docs":{"4":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"12":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"12":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.0}}},"t":{"df":3,"docs":{"16":{"tf":1.0},"17":{"tf":2.449489742783178},"9":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"w":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":4.242640687119285}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"1":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":1,"docs":{"16":{"tf":2.0}},"e":{"df":0,"docs":{},"e":{"d":{"df":5,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"w":{"(":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"3":{"tf":1.0},"9":{"tf":1.0}}}},"w":{"df":1,"docs":{"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"7":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":3.3166247903554}}}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"n":{"c":{"df":1,"docs":{"13":{"tf":1.0}}},"df":4,"docs":{"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"12":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"17":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"17":{"tf":2.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":2.0}}}}}}},"s":{"df":1,"docs":{"13":{"tf":1.0}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"t":{"df":3,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"4":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"17":{"tf":2.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"6":{"tf":1.0}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"c":{"a":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":2.449489742783178},"2":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"4":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":4,"docs":{"11":{"tf":1.7320508075688772},"12":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"1":{"tf":1.0},"9":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"15":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"7":{"tf":1.4142135623730951},"9":{"tf":4.123105625617661}}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"a":{"d":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"9":{"tf":3.0}}}},"u":{"b":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":1.0}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"2":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0}},"m":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"0":{"tf":1.0},"10":{"tf":1.7320508075688772},"4":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"b":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.0},"11":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":1,"docs":{"16":{"tf":1.4142135623730951}},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"(":{"1":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"2":{"df":1,"docs":{"17":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"2":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":4,"docs":{"0":{"tf":1.0},"10":{"tf":2.0},"17":{"tf":4.0},"4":{"tf":1.4142135623730951}}}}}},"d":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":3.1622776601683795}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"4":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"14":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"12":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"10":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":2.449489742783178}}}}},"g":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"12":{"tf":1.0}}}},"i":{"df":1,"docs":{"2":{"tf":1.0}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"13":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"r":{"(":{"c":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"1":{"tf":1.0},"17":{"tf":1.4142135623730951},"6":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"m":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"4":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}},"f":{"c":{"#":{"1":{"8":{"2":{"3":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"3":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"3":{"3":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"l":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"i":{"d":{")":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}},"e":{"d":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":1,"docs":{"17":{"tf":2.0}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":3,"docs":{"13":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":2.0}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"0":{"tf":1.7320508075688772},"10":{"tf":2.8284271247461903},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"2":{"tf":1.7320508075688772},"4":{"tf":2.23606797749979},"6":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":2.0}}}}},"x":{"df":1,"docs":{"17":{"tf":2.0}}}},"s":{".":{"a":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}},"b":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"4":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"13":{"tf":1.0},"9":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"13":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"10":{"tf":1.7320508075688772},"13":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"11":{"tf":1.0},"15":{"tf":1.0},"9":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"9":{"tf":1.0}},"e":{"df":1,"docs":{"9":{"tf":1.7320508075688772}},"m":{"df":1,"docs":{"11":{"tf":1.0}}}},"l":{"df":0,"docs":{},"f":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"_":{"a":{"d":{"d":{"(":{"1":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"16":{"tf":2.449489742783178},"17":{"tf":3.1622776601683795}}},"v":{"df":1,"docs":{"8":{"tf":1.0}}}},"n":{"d":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"9":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"4":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":2,"docs":{"15":{"tf":1.0},"8":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{":":{":":{"<":{"&":{"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"9":{"tf":2.0}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.0}}}},"v":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"4":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":2.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"a":{"1":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},")":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"f":{"3":{"2":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"0":{"tf":1.0},"17":{"tf":1.4142135623730951},"5":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":6,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0}}}}},"d":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"<":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{":":{":":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"c":{":":{":":{"df":0,"docs":{},"{":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"c":{":":{":":{"df":0,"docs":{},"{":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"{":{"a":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"{":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"10":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"10":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951}}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"17":{"tf":2.449489742783178},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"u":{"b":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}}},"u":{"b":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"2":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"10":{"tf":1.0},"4":{"tf":1.0}}},"df":0,"docs":{}}}}}},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"x":{"df":2,"docs":{"12":{"tf":1.0},"4":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"4":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":3,"docs":{"10":{"tf":1.7320508075688772},"3":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":2,"docs":{"12":{"tf":1.0},"2":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":3,"docs":{"10":{"tf":2.23606797749979},"13":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"10":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}},"s":{"df":0,"docs":{},"t":{".":{"a":{"d":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}},">":{"(":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"3":{"tf":1.7320508075688772}}}},"t":{"'":{"df":2,"docs":{"1":{"tf":1.0},"16":{"tf":1.0}}},"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"'":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"10":{"tf":1.0},"4":{"tf":1.0}}},"k":{"df":1,"docs":{"4":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{":":{":":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":2.0}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"(":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"s":{"(":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"p":{"a":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":2.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"17":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":2.6457513110645907},"17":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":2,"docs":{"12":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"o":{"d":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":3,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"3":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"0":{"tf":1.0}}}},"p":{"df":1,"docs":{"9":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}},"y":{"df":1,"docs":{"0":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"16":{"tf":1.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":4.242640687119285}}}}},"df":0,"docs":{},"i":{"df":3,"docs":{"2":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"4":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"o":{"df":5,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}}},"x":{"df":1,"docs":{"17":{"tf":2.0}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":6,"docs":{"11":{"tf":1.0},"16":{"tf":2.0},"2":{"tf":1.0},"4":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"u":{"6":{"4":{"df":1,"docs":{"17":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"12":{"tf":1.0},"4":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"p":{"df":2,"docs":{"13":{"tf":1.0},"9":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}},"df":11,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":1.7320508075688772},"17":{"tf":3.1622776601683795},"4":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"z":{"df":2,"docs":{"17":{"tf":2.449489742783178},"9":{"tf":2.23606797749979}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"16":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"17":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":6,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"12":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"4":{"tf":1.0}}}}}}}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"8":{"tf":1.0},"9":{"tf":2.6457513110645907}},"e":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":6,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"18":{"tf":1.4142135623730951},"2":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"0":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"y":{"df":2,"docs":{"10":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{},"e":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":6,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"2":{"tf":2.0},"4":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"4":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":5,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"2":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"6":{"tf":1.0}}}}}}}}},"y":{"df":1,"docs":{"16":{"tf":1.0}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}},"1":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":2,"docs":{"13":{"tf":1.0},"16":{"tf":2.6457513110645907}},"e":{"d":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"2":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}}},"r":{"df":2,"docs":{"13":{"tf":1.0},"6":{"tf":1.0}}},"v":{"df":2,"docs":{"14":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"0":{"tf":1.0},"4":{"tf":1.0}}}}}}}}}}}},"title":{"root":{"2":{"0":{"0":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{"/":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"21":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"21":{"tf":1.0},"6":{"tf":1.0}}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}}},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"f":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"7":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"0":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.0},"4":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"6":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"5":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"7":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"11":{"tf":1.0}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"7":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"0":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"13":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"15":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"7":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"2":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}},"pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5"},"results_options":{"limit_results":30,"teaser_word_count":30},"search_options":{"bool":"OR","expand":true,"fields":{"body":{"boost":1},"breadcrumbs":{"boost":1},"title":{"boost":2}}}} \ No newline at end of file +{"doc_urls":["0_0_introduction.html#futures-explained-in-200-lines-of-rust","0_0_introduction.html#what-does-this-book-give-you-that-isnt-covered-elsewhere","0_0_introduction.html#what-well-do-and-not","0_0_introduction.html#credits-and-thanks","0_0_introduction.html#why-is-futures-in-rust-hard-to-understand","1_0_background_information.html#some-background-information","1_0_background_information.html#concurrency-in-general","1_1_trait_objects.html#trait-objects-and-fat-pointers","1_1_trait_objects.html#trait-objects-and-dynamic-dispatch","1_1_trait_objects.html#fat-pointers-in-rust","1_1_trait_objects.html#reactorexecutor-pattern","1_2_generators_pin.html#generators-and-pin","1_2_generators_pin.html#generators","1_2_generators_pin.html#stackful-coroutinesgreen-threads","1_2_generators_pin.html#combinators","1_2_generators_pin.html#stackless-coroutinesgenerators","1_2_generators_pin.html#how-generators-work","1_2_generators_pin.html#pin","1_2_generators_pin.html#projectionstructural-pinning","1_2_generators_pin.html#pin-and-drop","1_2_generators_pin.html#putting-it-all-together","1_3_pin.html#pin","2_1_concurrent_futures.html#bonus-1-concurrent-futures"],"index":{"documentStore":{"docInfo":{"0":{"body":57,"breadcrumbs":5,"title":5},"1":{"body":48,"breadcrumbs":5,"title":5},"10":{"body":162,"breadcrumbs":4,"title":2},"11":{"body":9,"breadcrumbs":4,"title":2},"12":{"body":53,"breadcrumbs":3,"title":1},"13":{"body":68,"breadcrumbs":5,"title":3},"14":{"body":92,"breadcrumbs":3,"title":1},"15":{"body":80,"breadcrumbs":4,"title":2},"16":{"body":899,"breadcrumbs":4,"title":2},"17":{"body":536,"breadcrumbs":3,"title":1},"18":{"body":21,"breadcrumbs":4,"title":2},"19":{"body":23,"breadcrumbs":4,"title":2},"2":{"body":67,"breadcrumbs":1,"title":1},"20":{"body":9,"breadcrumbs":4,"title":2},"21":{"body":0,"breadcrumbs":3,"title":1},"22":{"body":0,"breadcrumbs":4,"title":4},"3":{"body":23,"breadcrumbs":2,"title":2},"4":{"body":110,"breadcrumbs":4,"title":4},"5":{"body":13,"breadcrumbs":2,"title":2},"6":{"body":44,"breadcrumbs":2,"title":2},"7":{"body":0,"breadcrumbs":6,"title":4},"8":{"body":42,"breadcrumbs":6,"title":4},"9":{"body":380,"breadcrumbs":5,"title":3}},"docs":{"0":{"body":"This book aims to explain Futures in Rust using an example driven approach. The goal is to get a better understanding of Futures by implementing a toy Reactor, a very simple Executor and our own Futures. We'll start off solving a small problem without Futures, Wakers or async/await and then gradually adapt our example so it implements all these concepts, and can be solved using the executor provided by both tokio and async_str. In the end I've made some reader excercises you can do if you want to fix some of the most glaring ommissions and shortcuts we took and create a slightly better example yourself.","breadcrumbs":"Futures Explained in 200 Lines of Rust","id":"0","title":"Futures Explained in 200 Lines of Rust"},"1":{"body":"That's a valid question. There are many good resources and examples already. First of all, this book will point you to some background information that I have found very valuable to get an understanding of concurrent programming in general. I find that many discussions arise, not because Futures is a hard concept to grasp, but that concurrent programming is a hard concept in general. Secondly, I've always found small runnable examples very exiting to learn from. It's all code that you can download, play with and learn from.","breadcrumbs":"What does this book give you that isn't covered elsewhere?","id":"1","title":"What does this book give you that isn't covered elsewhere?"},"10":{"body":"If you don't know what this is, you should take a few minutes and read about it. You will encounter the term Reactor and Executor a lot when working with async code in Rust. I have written a quick introduction explaining this pattern before which you can take a look at here: homepage Epoll, Kqueue and IOCP Explained - The Reactor-Executor Pattern I'll re-iterate the most important parts here. This pattern consists of at least 2 parts: A reactor handles some kind of event queue has the responsibility of respoonding to events An executor Often has a scheduler Holds a set of suspended tasks, and has the responsibility of resuming them when an event has occurred The concept of a task A set of operations that can be stopped half way and resumed later on This is a pattern not only used in Rust, but it's very popular in Rust due to how well it separates concerns between handling and scheduling tasks, and queing and responding to I/O events. The only thing Rust as a language defines is the task . In Rust we call an incorruptible task a Future. Futures has a well defined interface, which means they can be used across the entire ecosystem. In addition, Rust provides a way for the Reactor and Executor to communicate through the Waker. We'll get to know these in the following chapters. Providing these pieces let's Rust take care a lot of the ergonomic \"friction\" programmers meet when faced with async code, and still not dictate any preferred runtime to actually do the scheduling and I/O queues. It's important to know that Rust doesn't provide a runtime, so you have to choose one. async std and tokio are two popular ones. With that out of the way, let's move on to our main example.","breadcrumbs":"Some background information » Reactor/Executor pattern","id":"10","title":"Reactor/Executor pattern"},"11":{"body":"So the second difficult part that there seems to be a lot of questions about is Generators and the Pin type.","breadcrumbs":"Some background information » Generators and Pin","id":"11","title":"Generators and Pin"},"12":{"body":"Relevant for: Understanding how the async/await syntax works since it's how await is implemented Why we need Pin Why Rusts async model is extremely efficient The motivation for Generators can be found in RFC#2033 . It's very well written and I can recommend reading through it (it talks as much about async/await as it does about generators). Basically, there were three main options that were discussed when Rust was desiging how the language would handle concurrency: Stackful coroutines, better known as green threads. Using combinators. Stackless coroutines, better known as generators.","breadcrumbs":"Some background information » Generators","id":"12","title":"Generators"},"13":{"body":"I've written about green threads before. Go check out Green Threads Explained in 200 lines of Rust if you're interested. Green threads uses the same mechanisms as an OS does by creating a thread for each task, setting up a stack and forcing the CPU to save it's state and jump from one task(thread) to another. We yield control to the scheduler which then continues running a different task. Rust had green threads once, but they were removed before it hit 1.0. The state of execution is stored in each stack so in such a solution there would be no need for async, await, Futures or Pin. All this would be implementation details for the library.","breadcrumbs":"Some background information » Stackful coroutines/green threads","id":"13","title":"Stackful coroutines/green threads"},"14":{"body":"Futures 1.0 used combinators. If you've worked with Promises in JavaScript, you already know combinators. In Rust they look like this: let future = Connection::connect(conn_str).and_then(|conn| { conn.query(\"somerequest\").map(|row|{ SomeStruct::from(row) }).collect::>()\n}); let rows: Result, SomeLibraryError> = block_on(future).unwrap(); While an effective solution there are mainly three downsides I'll focus on: The error messages produced could be extremely long and arcane Not optimal memory usage Did not allow to borrow across combinator steps. Point #3, is actually a major drawback with Futures 1.0. Not allowing borrows across suspension points ends up being very un-ergonomic and often requiring extra allocations or copying to accomplish some tasks which is inefficient. The reason for the higher than optimal memory usage is that this is basically a callback-based approach, where each closure stores all the data it needs for computation. This means that as we chain these, the memory required to store the needed state increases with each added step.","breadcrumbs":"Some background information » Combinators","id":"14","title":"Combinators"},"15":{"body":"This is the model used in Rust today. It a few notable advantages: It's easy to convert normal Rust code to a stackless corotuine using using async/await as keywords (it can even be done using a macro). No need for context switching and saving/restoring CPU state No need to handle dynamic stack allocation Very memory efficient Allowed for borrows across suspension points The last point is in contrast to Futures 1.0. With async/await we can do this: async fn myfn() { let text = String::from(\"Hello world\"); let borrowed = &text[0..5]; somefuture.await; println!(\"{}\", borrowed);\n} Generators are implemented as state machines. The memory footprint of a chain of computations is only defined by the largest footprint any single step requires. That means that adding steps to a chain of computations might not require any added memory at all.","breadcrumbs":"Some background information » Stackless coroutines/generators","id":"15","title":"Stackless coroutines/generators"},"16":{"body":"In Nightly Rust today you can use the yield keyword. Basically using this keyword in a closure, converts it to a generator. A closure looking like this (I'm going to use the terminology that's currently in Rust): let a = 4;\nlet b = move || { println!(\"Hello\"); yield a * 2; println!(\"world!\"); }; if let GeneratorState::Yielded(n) = gen.resume() { println!(\"Got value {}\", n); } if let GeneratorState::Complete(()) = gen.resume() { ()\n}; Early on, before there was a consensus about the design of Pin, this compiled to something looking similar to this: fn main() { let mut gen = GeneratorA::start(4); if let GeneratorState::Yielded(n) = gen.resume() { println!(\"Got value {}\", n); } if let GeneratorState::Complete(()) = gen.resume() { () };\n} // If you've ever wondered why the parameters are called Y and R the naming from\n// the original rfc most likely holds the answer\nenum GeneratorState { // originally called `CoResult` Yielded(Y), // originally called `Yield(Y)` Complete(R), // originally called `Return(R)`\n} trait Generator { type Yield; type Return; fn resume(&mut self) -> GeneratorState;\n} enum GeneratorA { Enter(i32), Yield1(i32), Exit,\n} impl GeneratorA { fn start(a1: i32) -> Self { GeneratorA::Enter(a1) }\n} impl Generator for GeneratorA { type Yield = i32; type Return = (); fn resume(&mut self) -> GeneratorState { // lets us get ownership over current state match std::mem::replace(&mut *self, GeneratorA::Exit) { GeneratorA::Enter(a1) => { /*|---code before yield1---|*/ /*|*/ println!(\"Hello\"); /*|*/ /*|*/ let a = a1 * 2; /*|*/ /*|------------------------|*/ *self = GeneratorA::Yield1(a); GeneratorState::Yielded(a) } GeneratorA::Yield1(_) => { /*|----code after yield1----|*/ /*|*/ println!(\"world!\"); /*|*/ /*|-------------------------|*/ *self = GeneratorA::Exit; GeneratorState::Complete(()) } GeneratorA::Exit => panic!(\"Can't advance an exited generator!\"), } }\n} The yield keyword was discussed first in RFC#1823 and in RFC#1832 . Now that you know that the yield keyword in reality rewrites your code to become a state machine, you'll also know the basics of how await works. It's very similar. Now, there are some limitations in our naive state machine above. What happens when you have a borrow across a yield point? We could forbid that, but one of the major design goals for the async/await syntax has been to allow this . These kinds of borrows were not possible using Futures 1.0 so we can't let this limitation just slip and call it a day yet. Instead of discussing it in theory, let's look at some code. We'll use the optimized version of the state machines which is used in Rust today. For a more in deapth explanation see Tyler Mandry's execellent article: How Rust optimizes async/await let a = 4;\nlet b = move || { let to_borrow = String::new(\"Hello\"); let borrowed = &to_borrow; println!(\"{}\", borrowed); yield a * 2; println!(\"{} world!\", borrowed); }; Now what does our rewritten state machine look like with this example? # // If you've ever wondered why the parameters are called Y and R the naming from\n# // the original rfc most likely holds the answer\n# enum GeneratorState {\n# // originally called `CoResult`\n# Yielded(Y), // originally called `Yield(Y)`\n# Complete(R), // originally called `Return(R)`\n# }\n# # trait Generator {\n# type Yield;\n# type Return;\n# fn resume(&mut self) -> GeneratorState;\n# } enum GeneratorA { Enter, Yield1 { to_borrow: String, borrowed: &String, // uh, what lifetime should this have? }, Exit,\n} # impl GeneratorA {\n# fn start() -> Self {\n# GeneratorA::Enter\n# }\n# } impl Generator for GeneratorA { type Yield = usize; type Return = (); fn resume(&mut self) -> GeneratorState { // lets us get ownership over current state match std::mem::replace(&mut *self, GeneratorA::Exit) { GeneratorA::Enter => { let to_borrow = String::from(\"Hello\"); let borrowed = &to_borrow; *self = GeneratorA::Yield1 {to_borrow, borrowed}; GeneratorState::Yielded(borrowed.len()) } GeneratorA::Yield1 {to_borrow, borrowed} => { println!(\"Hello {}\", borrowed); *self = GeneratorA::Exit; GeneratorState::Complete(()) } GeneratorA::Exit => panic!(\"Can't advance an exited generator!\"), } }\n} If you try to compile this you'll get an error (just try it yourself by pressing play). What is the lifetime of &String. It's not the same as the lifetime of Self. It's not static. Turns out that it's not possible for us in Rusts syntax to describe this lifetime, which means, that to make this work, we'll have to let the compiler know that we control this correct. That means turning to unsafe. Let's try to write an implementation that will compiler using unsafe. As you'll see we end up in a self referential struct . A struct which holds references into itself. As you'll notice, this compiles just fine! pub fn main() { let mut gen = GeneratorA::start(); let mut gen2 = GeneratorA::start(); if let GeneratorState::Yielded(n) = gen.resume() { println!(\"Got value {}\", n); } // If you uncomment this, very bad things can happen. This is why we need `Pin` // std::mem::swap(&mut gen, &mut gen2); if let GeneratorState::Yielded(n) = gen2.resume() { println!(\"Got value {}\", n); } // if you uncomment `mem::swap`.. this should now start gen2. if let GeneratorState::Complete(()) = gen.resume() { () };\n} enum GeneratorState { Yielded(Y), // originally called `Yield(Y)` Complete(R), // originally called `Return(R)`\n} trait Generator { type Yield; type Return; fn resume(&mut self) -> GeneratorState;\n} enum GeneratorA { Enter, Yield1 { to_borrow: String, borrowed: *const String, // Normally you'll see `std::ptr::NonNull` used instead of *ptr }, Exit,\n} impl GeneratorA { fn start() -> Self { GeneratorA::Enter }\n}\nimpl Generator for GeneratorA { type Yield = usize; type Return = (); fn resume(&mut self) -> GeneratorState { // lets us get ownership over current state match self { GeneratorA::Enter => { let to_borrow = String::from(\"Hello\"); let borrowed = &to_borrow; let res = borrowed.len(); // Tricks to actually get a self reference *self = GeneratorA::Yield1 {to_borrow, borrowed: std::ptr::null()}; match self { GeneratorA::Yield1{to_borrow, borrowed} => *borrowed = to_borrow, _ => () }; GeneratorState::Yielded(res) } GeneratorA::Yield1 {borrowed, ..} => { let borrowed: &String = unsafe {&**borrowed}; println!(\"{} world\", borrowed); *self = GeneratorA::Exit; GeneratorState::Complete(()) } GeneratorA::Exit => panic!(\"Can't advance an exited generator!\"), } }\n} Try to uncomment the line with mem::swap and see the result of running this code. While the example above compiles just fine, we expose users of this code to both possible undefined behavior and other memory errors while using just safe Rust. This is a big problem! But now, let's prevent the segfault from happening using Pin. We'll discuss Pin more below, but you'll get an introduction here by just reading the comments. #![feature(optin_builtin_traits)]\nuse std::pin::Pin; pub fn main() { let gen1 = GeneratorA::start(); let gen2 = GeneratorA::start(); // Before we pin the pointers, this is safe to do // std::mem::swap(&mut gen, &mut gen2); // constructing a `Pin::new()` on a type which does not implement `Unpin` is unsafe. // However, as I mentioned in the start of the next chapter about `Pin` a // boxed type automatically implements `Unpin` so to stay in safe Rust we can use // that to avoid unsafe. You can also use crates like `pin_utils` to do this safely, // just remember that they use unsafe under the hood so it's like using an already-reviewed // unsafe implementation. let mut pinned1 = Box::pin(gen1); let mut pinned2 = Box::pin(gen2); // Uncomment these if you think it's safe to pin the values to the stack instead // (it is in this case). Remember to comment out the two previous lines first. //let mut pinned1 = unsafe { Pin::new_unchecked(&mut gen1) }; //let mut pinned2 = unsafe { Pin::new_unchecked(&mut gen2) }; if let GeneratorState::Yielded(n) = pinned1.as_mut().resume() { println!(\"Got value {}\", n); } if let GeneratorState::Yielded(n) = pinned2.as_mut().resume() { println!(\"Gen2 got value {}\", n); }; // This won't work // std::mem::swap(&mut gen, &mut gen2); // This will work but will just swap the pointers. Nothing inherently bad happens here. // std::mem::swap(&mut pinned1, &mut pinned2); let _ = pinned1.as_mut().resume(); let _ = pinned2.as_mut().resume();\n} enum GeneratorState { // originally called `CoResult` Yielded(Y), // originally called `Yield(Y)` Complete(R), // originally called `Return(R)`\n} trait Generator { type Yield; type Return; fn resume(self: Pin<&mut Self>) -> GeneratorState;\n} enum GeneratorA { Enter, Yield1 { to_borrow: String, borrowed: *const String, // Normally you'll see `std::ptr::NonNull` used instead of *ptr }, Exit,\n} impl GeneratorA { fn start() -> Self { GeneratorA::Enter }\n} // This tells us that the underlying pointer is not safe to move after pinning. In this case,\n// only we as implementors \"feel\" this, however, if someone is relying on our Pinned pointer\n// this will prevent them from moving it. You need to enable the feature flag // `#![feature(optin_builtin_traits)]` and use the nightly compiler to implement `!Unpin`.\n// Normally, you would use `std::marker::PhantomPinned` to indicate that the\n// struct is `!Unpin`.\nimpl !Unpin for GeneratorA { } impl Generator for GeneratorA { type Yield = usize; type Return = (); fn resume(self: Pin<&mut Self>) -> GeneratorState { // lets us get ownership over current state let this = unsafe { self.get_unchecked_mut() }; match this { GeneratorA::Enter => { let to_borrow = String::from(\"Hello\"); let borrowed = &to_borrow; let res = borrowed.len(); // Trick to actually get a self reference. We can't reference // the `String` earlier since these references will point to the // location in this stack frame which will not be valid anymore // when this function returns. *this = GeneratorA::Yield1 {to_borrow, borrowed: std::ptr::null()}; match this { GeneratorA::Yield1{to_borrow, borrowed} => *borrowed = to_borrow, _ => () }; GeneratorState::Yielded(res) } GeneratorA::Yield1 {borrowed, ..} => { let borrowed: &String = unsafe {&**borrowed}; println!(\"{} world\", borrowed); *this = GeneratorA::Exit; GeneratorState::Complete(()) } GeneratorA::Exit => panic!(\"Can't advance an exited generator!\"), } }\n} Now, as you see, the user of this code must either: Box the value and thereby allocating it on the heap Use unsafe and pin the value to the stack. The user knows that if they move the value afterwards it will violate the guarantee they promise to uphold when they did their unsafe implementation. Now, the code which is created and the need for Pin to allow for borrowing across yield points should be pretty clear.","breadcrumbs":"Some background information » How generators work","id":"16","title":"How generators work"},"17":{"body":"Relevant for To understand Generators and Futures Knowing how to use Pin is required when implementing your own Future To understand self-referential types in Rust This is the way borrowing across await points is accomplished Pin was suggested in RFC#2349 Ping consists of the Pin type and the Unpin marker. Let's start off with some general rules: Pin does nothing special, it only prevents the user of an API to violate some assumtions you make when writing your (most likely) unsafe code. Most standard library types implement Unpin Unpin means it's OK for this type to be moved even when pinned. If you Box a value, that boxed value automatcally implements Unpin. The main use case for Pin is to allow self referential types The implementation behind objects that doens't implement Unpin is most likely unsafe Pin prevents users from your code to break the assumtions you make when writing the unsafe implementation It doesn't solve the fact that you'll have to write unsafe code to actually implement it You're not really meant to be implementing !Unpin, but you can on nightly with a feature flag Unsafe code does not mean it's litterally \"unsafe\", it only relieves the guarantees you normally get from the compiler. An unsafe implementation can be perfectly safe to do, but you have no safety net. Let's take a look at an example: use std::pin::Pin; fn main() { let mut test1 = Test::new(\"test1\"); test1.init(); let mut test2 = Test::new(\"test2\"); test2.init(); println!(\"a: {}, b: {}\", test1.a(), test1.b()); std::mem::swap(&mut test1, &mut test2); // try commenting out this line println!(\"a: {}, b: {}\", test2.a(), test2.b()); } #[derive(Debug)]\nstruct Test { a: String, b: *const String,\n} impl Test { fn new(txt: &str) -> Self { let a = String::from(txt); Test { a, b: std::ptr::null(), } } fn init(&mut self) { let self_ref: *const String = &self.a; self.b = self_ref; } fn a(&self) -> &str { &self.a } fn b(&self) -> &String { unsafe {&*(self.b)} }\n} As you can see this results in unwanted behavior. The pointer to b stays the same and points to the old value. It's easy to get this to segfault, and fail in other spectacular ways as well. Pin essentially prevents the user of your unsafe code (even if that means yourself) move the value after it's pinned. If we change the example to using Pin instead: use std::pin::Pin;\nuse std::marker::PhantomPinned; pub fn main() { let mut test1 = Test::new(\"test1\"); test1.init(); let mut test1_pin = unsafe { Pin::new_unchecked(&mut test1) }; let mut test2 = Test::new(\"test2\"); test2.init(); let mut test2_pin = unsafe { Pin::new_unchecked(&mut test2) }; println!( \"a: {}, b: {}\", Test::a(test1_pin.as_ref()), Test::b(test1_pin.as_ref()) ); // Try to uncomment this and see what happens // std::mem::swap(test1_pin.as_mut(), test2_pin.as_mut()); println!( \"a: {}, b: {}\", Test::a(test2_pin.as_ref()), Test::b(test2_pin.as_ref()) );\n} #[derive(Debug)]\nstruct Test { a: String, b: *const String, _marker: PhantomPinned,\n} impl Test { fn new(txt: &str) -> Self { let a = String::from(txt); Test { a, b: std::ptr::null(), // This makes our type `!Unpin` _marker: PhantomPinned, } } fn init(&mut self) { let self_ptr: *const String = &self.a; self.b = self_ptr; } fn a<'a>(self: Pin<&'a Self>) -> &'a str { &self.get_ref().a } fn b<'a>(self: Pin<&'a Self>) -> &'a String { unsafe { &*(self.b) } }\n} Now, what we've done here is pinning a stack address. That will always be unsafe if our type implements !Unpin, in other words. That our type is not Unpin which is the norm. We use some tricks here, including requiring an init. If we want to fix that and let users avoid unsafe we need to place our data on the heap. Stack pinning will always depend on the current stack frame we're in, so we can't create a self referential object in one stack frame and return it since any pointers we take to \"self\" is invalidated. The next example solves some of our friction at the cost of a heap allocation. use std::pin::Pin;\nuse std::marker::PhantomPinned; pub fn main() { let mut test1 = Test::new(\"test1\"); let mut test2 = Test::new(\"test2\"); println!(\"a: {}, b: {}\",test1.as_ref().a(), test1.as_ref().b()); // Try to uncomment this and see what happens // std::mem::swap(&mut test1, &mut test2); println!(\"a: {}, b: {}\",test2.as_ref().a(), test2.as_ref().b());\n} #[derive(Debug)]\nstruct Test { a: String, b: *const String, _marker: PhantomPinned,\n} impl Test { fn new(txt: &str) -> Pin> { let a = String::from(txt); let t = Test { a, b: std::ptr::null(), _marker: PhantomPinned, }; let mut boxed = Box::pin(t); let self_ptr: *const String = &boxed.as_ref().a; unsafe { boxed.as_mut().get_unchecked_mut().b = self_ptr }; boxed } fn a<'a>(self: Pin<&'a Self>) -> &'a str { &self.get_ref().a } fn b<'a>(self: Pin<&'a Self>) -> &'a String { unsafe { &*(self.b) } }\n} Seeing this we're ready to sum up with a few more points to remember about pinning: Pinning only makes sense to do for types that are !Unpin Pinning a !Unpin pointer to the stack will requires unsafe Pinning a boxed value will not require unsafe, even if the type is !Unpin If T: Unpin (which is the default), then Pin<'a, T> is entirely equivalent to &'a mut T. Getting a &mut T to a pinned pointer requires unsafe if T: !Unpin Pinning is really only useful when implementing self-referential types. For all intents and purposes you can think of !Unpin = self-referential-type The fact that boxing (heap allocating) a value that implements !Unpin is safe makes sense. Once the data is allocated on the heap it will have a stable address. There are ways to safely give some guarantees on stack pinning as well, but right now you need to use a crate like pin_utils : pin_utils to do that.","breadcrumbs":"Some background information » Pin","id":"17","title":"Pin"},"18":{"body":"In short, projection is using a field on your type. mystruct.field1 is a projection. Structural pinning is using Pin on struct fields. This has several caveats and is not something you'll normally see so I refer to the documentation for that.","breadcrumbs":"Some background information » Projection/structural pinning","id":"18","title":"Projection/structural pinning"},"19":{"body":"The Pin guarantee exists from the moment the value is pinned until it's dropped. In the Drop implementation you take a mutabl reference to self, which means extra care must be taken when implementing Drop for pinned types.","breadcrumbs":"Some background information » Pin and Drop","id":"19","title":"Pin and Drop"},"2":{"body":"We'll: Implement our own Futures and get to know the Reactor/Executor pattern Implement our own waker and learn why it's a bit foreign compared to other types Talk a bit about runtime complexity and what to keep in mind when writing async Rust. Make sure all examples can be run on the playground Not rely on any helpers or libraries, but try to face the complexity and learn We'll not: Talk about how futures are implemented in Rust the language, the state machine and so on Explain how the different runtimes differ, however, you'll hopefully be a bit better off if you read this before you go research them Explain concurrent programming, but I will supply sources I do want to explore Rusts internal implementation but that will be for a later book.","breadcrumbs":"What we'll do and not","id":"2","title":"What we'll do and not"},"20":{"body":"This is exactly what we'll do when we implement our own Futures stay tuned, we're soon finished.","breadcrumbs":"Some background information » Putting it all together","id":"20","title":"Putting it all together"},"21":{"body":"","breadcrumbs":"Some background information » Pin","id":"21","title":"Pin"},"22":{"body":"","breadcrumbs":"Bonus 1: concurrent futures","id":"22","title":"Bonus 1: concurrent futures"},"3":{"body":"I'll like to take the chance of thanking the people behind mio, tokio, async_std, Futures, libc, crossbeam and many other libraries which so much is built upon. Reading and exploring some of this code is nothing less than impressive.","breadcrumbs":"Credits and thanks","id":"3","title":"Credits and thanks"},"4":{"body":"Well, I think it has to do with several things: Futures has a very interesting implementation, compiling down to a state machine using generators to suspend and resume execution. In a language such as Rust this is pretty hard to do ergonomically and safely. You are exposed to some if this complexity when working with futures and want to understand them, not only learn how to use them. Rust doesn't provide a runtime. That means you'll actually have to choose one yourself and actually know what a Reactor and an Executor is. While not too difficult, you need to make more choices than you need in GO and other languages designed with a concurrent programming in mind and ships with a runtime. Futures exist in two versions, Futures 1.0 and Futures 3.0. Futures 1.0 was known to have some issues regarding ergonomics. Turns out that modelling async coding after Promises in JavaScript can turn in to extremely long errors and type signatures with a type system as Rust. Futures 3.0 are not compatible with Futures 1.0 without performing some work. Async await syntax was recently stabilized what we'll really do is to stub out a Reactor, and Executor and implement","breadcrumbs":"Why is Futures in Rust hard to understand","id":"4","title":"Why is Futures in Rust hard to understand"},"5":{"body":"Before we start implementing our Futures , we'll go through some background information that will help demystify some of the concepts we encounter.","breadcrumbs":"Some background information","id":"5","title":"Some background information"},"6":{"body":"If you find the concepts of concurrency and async programming confusing in general, I know where you're coming from and I have written some resources to try to give a high level overview that will make it easier to learn Rusts Futures afterwards: Async Basics - The difference between concurrency and parallelism Async Basics - Async history Async Basics - Strategies for handling I/O Async Basics - Epoll, Kqueue and IOCP r","breadcrumbs":"Concurrency in general","id":"6","title":"Concurrency in general"},"7":{"body":"","breadcrumbs":"Some background information » Trait objects and fat pointers","id":"7","title":"Trait objects and fat pointers"},"8":{"body":"The single most confusing topic we encounter when implementing our own Futures is how we implement a Waker . Creating a Waker involves creating a vtable which allows using dynamic dispatch to call methods on a type erased trait object we construct our selves. If you want to know more about dynamic dispatch in Rust I can recommend this article: https://alschwalm.com/blog/static/2017/03/07/exploring-dynamic-dispatch-in-rust/ Let's explain this a bit more in detail.","breadcrumbs":"Some background information » Trait objects and dynamic dispatch","id":"8","title":"Trait objects and dynamic dispatch"},"9":{"body":"Let's take a look at the size of some different pointer types in Rust. If we run the following code: # use std::mem::size_of;\ntrait SomeTrait { } fn main() { println!(\"Size of Box: {}\", size_of::>()); println!(\"Size of &i32: {}\", size_of::<&i32>()); println!(\"Size of &Box: {}\", size_of::<&Box>()); println!(\"Size of Box: {}\", size_of::>()); println!(\"Size of &dyn Trait: {}\", size_of::<&dyn SomeTrait>()); println!(\"Size of &[i32]: {}\", size_of::<&[i32]>()); println!(\"Size of &[&dyn Trait]: {}\", size_of::<&[&dyn SomeTrait]>()); println!(\"Size of [i32; 10]: {}\", size_of::<[i32; 10]>()); println!(\"Size of [&dyn Trait; 10]: {}\", size_of::<[&dyn SomeTrait; 10]>());\n} As you see from the output after running this, the sizes of the references varies. Most are 8 bytes (which is a pointer size on 64 bit systems), but some are 16 bytes. The 16 byte sized pointers are called \"fat pointers\" since they carry more extra information. In the case of &[i32] : The first 8 bytes is the actual pointer to the first element in the array (or part of an array the slice refers to) The second 8 bytes is the length of the slice. The one we'll concern ourselves about is the references to traits, or trait objects as they're called in Rust. &dyn SomeTrait is an example of a trait object The layout for a pointer to a trait object looks like this: The first 8 bytes points to the data for the trait object The second 8 bytes points to the vtable for the trait object The reason for this is to allow us to refer to an object we know nothing about except that it implements the methods defined by our trait. To allow this we use dynamic dispatch. Let's explain this in code instead of words by implementing our own trait object from these parts: // A reference to a trait object is a fat pointer: (data_ptr, vtable_ptr)\ntrait Test { fn add(&self) -> i32; fn sub(&self) -> i32; fn mul(&self) -> i32;\n} // This will represent our home brewn fat pointer to a trait object\n#[repr(C)]\nstruct FatPointer<'a> { /// A reference is a pointer to an instantiated `Data` instance data: &'a mut Data, /// Since we need to pass in literal values like length and alignment it's /// easiest for us to convert pointers to usize-integers instead of the other way around. vtable: *const usize,\n} // This is the data in our trait object. It's just two numbers we want to operate on.\nstruct Data { a: i32, b: i32,\n} // ====== function definitions ======\nfn add(s: &Data) -> i32 { s.a + s.b\n}\nfn sub(s: &Data) -> i32 { s.a - s.b\n}\nfn mul(s: &Data) -> i32 { s.a * s.b\n} fn main() { let mut data = Data {a: 3, b: 2}; // vtable is like special purpose array of pointer-length types with a fixed // format where the three first values has a special meaning like the // length of the array is encoded in the array itself as the second value. let vtable = vec![ 0, // pointer to `Drop` (which we're not implementing here) 6, // lenght of vtable 8, // alignment // we need to make sure we add these in the same order as defined in the Trait. // Try changing the order of add and sub and see what happens. add as usize, // function pointer sub as usize, // function pointer mul as usize, // function pointer ]; let fat_pointer = FatPointer { data: &mut data, vtable: vtable.as_ptr()}; let test = unsafe { std::mem::transmute::(fat_pointer) }; // And voalá, it's now a trait object we can call methods on println!(\"Add: 3 + 2 = {}\", test.add()); println!(\"Sub: 3 - 2 = {}\", test.sub()); println!(\"Mul: 3 * 2 = {}\", test.mul());\n} If you run this code by pressing the \"play\" button at the top you'll se it outputs just what we expect. This code example is editable so you can change it and run it to see what happens. The reason we go through this will be clear later on when we implement our own Waker we'll actually set up a vtable like we do here to and knowing what it is will make this much less mysterious.","breadcrumbs":"Some background information » Fat pointers in Rust","id":"9","title":"Fat pointers in Rust"}},"length":23,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{"df":1,"docs":{"9":{"tf":1.0}}},"1":{".":{"0":{"df":5,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"4":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"0":{"df":1,"docs":{"9":{"tf":2.0}}},"6":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"df":1,"docs":{"22":{"tf":1.0}}},"2":{"0":{"0":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.0}}},"df":0,"docs":{}},"df":3,"docs":{"10":{"tf":1.0},"16":{"tf":1.7320508075688772},"9":{"tf":2.0}}},"3":{".":{"0":{"df":1,"docs":{"4":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"14":{"tf":1.0},"9":{"tf":2.0}}},"4":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"6":{"4":{"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.0}}},"8":{"df":1,"docs":{"9":{"tf":2.449489742783178}}},"_":{"df":1,"docs":{"16":{"tf":2.0}},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":2.0}}}}}}},"df":0,"docs":{}}},"a":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"16":{"tf":1.0}}},"<":{"'":{"a":{">":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"c":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"14":{"tf":1.0},"17":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"4":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"16":{"tf":2.0}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"16":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":4,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.7320508075688772}}},"df":0,"docs":{},"w":{"df":6,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":3,"docs":{"1":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"1":{"tf":1.0},"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"13":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"0":{"tf":1.0},"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"c":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"9":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"y":{"df":0,"docs":{},"n":{"c":{"/":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"0":{"tf":1.0},"12":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"df":7,"docs":{"10":{"tf":1.7320508075688772},"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":1,"docs":{"17":{"tf":1.0}}},"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"4":{"tf":1.0}}}}},"df":0,"docs":{}}},"b":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{">":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"1":{"tf":1.0},"5":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}},"d":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.0}}},"i":{"c":{"df":4,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"6":{"tf":2.0}}},"df":0,"docs":{}}}},"df":3,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":3.605551275463989},"9":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":1,"docs":{"14":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"10":{"tf":1.0},"13":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"2":{"tf":1.0},"5":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"17":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"16":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"2":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"16":{"tf":1.0}}},"t":{"df":3,"docs":{"2":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"22":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":3,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"2":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.7320508075688772},"16":{"tf":5.385164807134504},"17":{"tf":1.0}},"e":{"d":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"0":{"tf":1.0},"16":{"tf":1.0}}}},"x":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"1":{"df":1,"docs":{"16":{"tf":1.0}}},"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":2.449489742783178}},"e":{"d":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"b":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":2.6457513110645907}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"10":{"tf":1.0},"16":{"tf":3.7416573867739413},"8":{"tf":1.0},"9":{"tf":1.7320508075688772}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"19":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"9":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}}}},"n":{"c":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":2,"docs":{"17":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"10":{"tf":1.0},"4":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":8,"docs":{"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":2.8284271247461903},"17":{"tf":2.23606797749979},"3":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":2.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"12":{"tf":1.0},"14":{"tf":2.0}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"6":{"tf":1.0}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"2":{"tf":1.0}}},"t":{"df":1,"docs":{"4":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":2.6457513110645907},"17":{"tf":1.0},"4":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":2.0}}}},"df":0,"docs":{}}},"x":{"df":2,"docs":{"2":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":6,"docs":{"1":{"tf":1.4142135623730951},"12":{"tf":1.0},"2":{"tf":1.0},"22":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"6":{"tf":1.0},"8":{"tf":1.0}}}}},"n":{".":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"\"":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"17":{"tf":1.0}}}}},"t":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":2.449489742783178},"9":{"tf":1.0}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"13":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"13":{"tf":1.0},"16":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"9":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":2,"docs":{"13":{"tf":1.0},"15":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"b":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":2.23606797749979},"17":{"tf":1.0}}}}}}}}},"d":{"a":{"df":0,"docs":{},"t":{"a":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":3,"docs":{"14":{"tf":1.0},"17":{"tf":1.4142135623730951},"9":{"tf":3.605551275463989}}},"df":0,"docs":{}},"y":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"15":{"tf":1.0},"9":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}},"n":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"13":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"i":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":1.0},"2":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"s":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"8":{"tf":2.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"17":{"tf":1.0},"4":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"15":{"tf":1.0},"17":{"tf":1.0}}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"4":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}}}}},"r":{"a":{"df":0,"docs":{},"w":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"19":{"tf":2.0},"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":3,"docs":{"15":{"tf":1.0},"8":{"tf":2.0},"9":{"tf":1.0}}}},"df":1,"docs":{"9":{"tf":2.23606797749979}}}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"df":2,"docs":{"15":{"tf":1.0},"17":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"5":{"tf":1.0},"8":{"tf":1.0}}}}}}},"d":{"df":3,"docs":{"0":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}}},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"17":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":2.8284271247461903}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"4":{"tf":1.4142135623730951}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"15":{"tf":1.0},"17":{"tf":1.7320508075688772}},"t":{"df":1,"docs":{"10":{"tf":2.0}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":7,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"2":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":2.0},"4":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"19":{"tf":1.0},"4":{"tf":1.0}}}},"t":{"df":2,"docs":{"1":{"tf":1.0},"16":{"tf":2.8284271247461903}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"2":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}},"n":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"16":{"tf":1.0},"4":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":3,"docs":{"14":{"tf":1.0},"19":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"4":{"tf":1.0}}}}}}}},"f":{"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"2":{"tf":1.0}}},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"df":2,"docs":{"7":{"tf":1.0},"9":{"tf":2.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"'":{"a":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"w":{"df":3,"docs":{"10":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"n":{"d":{"df":2,"docs":{"1":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"16":{"tf":1.4142135623730951},"9":{"tf":2.0}}}}},"x":{"df":3,"docs":{"0":{"tf":1.0},"17":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}},"n":{"df":4,"docs":{"15":{"tf":1.0},"16":{"tf":3.872983346207417},"17":{"tf":3.7416573867739413},"9":{"tf":2.8284271247461903}}},"o":{"c":{"df":0,"docs":{},"u":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.4142135623730951}}}}}}}}},"r":{"b":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"c":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"12":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":1.0},"17":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.0},"9":{"tf":2.0}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":16,"docs":{"0":{"tf":2.23606797749979},"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":3.0},"5":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":2.449489742783178}}}}}}}},"1":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"2":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"df":1,"docs":{"16":{"tf":2.6457513110645907}}},"df":1,"docs":{"16":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"r":{"(":{"a":{"1":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":3.1622776601683795}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"4":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":2.0}}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"1":{"(":{"_":{"df":1,"docs":{"16":{"tf":1.0}}},"a":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":2.449489742783178}},"{":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":3.605551275463989}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":2.6457513110645907}}}}}}}}},"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"d":{"(":{"a":{"df":1,"docs":{"16":{"tf":1.0}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"d":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":2.449489742783178}}},"r":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":2.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"16":{"tf":2.8284271247461903}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":8,"docs":{"1":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":2.0},"15":{"tf":1.0},"16":{"tf":3.7416573867739413},"17":{"tf":1.4142135623730951},"4":{"tf":1.0},"6":{"tf":1.4142135623730951}}}}},"t":{"df":1,"docs":{"17":{"tf":1.0}}}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"1":{"tf":1.0},"17":{"tf":1.0},"6":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"16":{"tf":1.0}}}},"df":6,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}},"o":{"d":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"a":{"d":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":2.0}}}}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"19":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"10":{"tf":1.0}}}},"n":{"d":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"15":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"16":{"tf":2.0},"17":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"r":{"d":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":2.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":1,"docs":{"5":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"13":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}}}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"/":{"2":{"0":{"1":{"7":{"/":{"0":{"3":{"/":{"0":{"7":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"i":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"3":{"tf":1.0}}}},"m":{"df":1,"docs":{"16":{"tf":1.0}}},"v":{"df":3,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"13":{"tf":1.0}}}},"/":{"df":0,"docs":{},"o":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"6":{"tf":1.0}}}},"3":{"2":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"9":{"tf":3.4641016151377544}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":3.0},"17":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":13,"docs":{"0":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":2.449489742783178},"17":{"tf":3.4641016151377544},"19":{"tf":1.4142135623730951},"2":{"tf":2.0},"20":{"tf":1.0},"4":{"tf":1.4142135623730951},"5":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":2.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":3,"docs":{"1":{"tf":1.0},"5":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":3,"docs":{"16":{"tf":2.0},"17":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"9":{"tf":1.0}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}}}}},"f":{"a":{"c":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"o":{"c":{"df":0,"docs":{},"p":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"4":{"tf":1.0}}}}},"t":{"'":{"df":10,"docs":{"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":2.449489742783178},"17":{"tf":2.0},"19":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.7320508075688772}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"16":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"2":{"tf":1.0}}}},"y":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":2.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":9,"docs":{"10":{"tf":1.7320508075688772},"14":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}},"n":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"4":{"tf":1.0},"6":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":2.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"3":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"'":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":1,"docs":{"16":{"tf":2.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"i":{"b":{"c":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"13":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":2.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"e":{"df":4,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"o":{"c":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":5,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"t":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0}}}}},"m":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"15":{"tf":1.0},"16":{"tf":2.0},"2":{"tf":1.0},"4":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"15":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":2.0},"9":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"16":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"df":6,"docs":{"16":{"tf":1.0},"17":{"tf":2.23606797749979},"2":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"n":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"'":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"3":{"tf":1.0}}}},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":2.449489742783178}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":8,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"19":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"m":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"2":{"tf":1.0},"4":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}},"o":{"df":1,"docs":{"3":{"tf":1.0}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"4":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"12":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"10":{"tf":1.0},"16":{"tf":2.23606797749979},"17":{"tf":1.4142135623730951}}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"12":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.0}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}},"df":3,"docs":{"16":{"tf":3.3166247903554},"17":{"tf":3.605551275463989},"9":{"tf":1.7320508075688772}}}},"y":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"1":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"16":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"16":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"e":{"d":{"df":8,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"17":{"tf":1.0}}},"w":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"18":{"tf":1.0}}}},"df":1,"docs":{"17":{"tf":1.0}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":4,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.0}}},"i":{"c":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":3,"docs":{"16":{"tf":2.6457513110645907},"17":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"17":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":3.3166247903554}}}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.0}}},"l":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"n":{"c":{"df":2,"docs":{"13":{"tf":1.0},"17":{"tf":1.0}}},"df":6,"docs":{"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":3.605551275463989}}}}}}},"s":{"df":1,"docs":{"13":{"tf":1.0}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"t":{"df":5,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"4":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":2.0}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"6":{"tf":1.0}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":2.0}}}}}}}}}}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"c":{"a":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":2.23606797749979},"2":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"4":{"tf":1.0}}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":2.0}}}}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}},"n":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"&":{"'":{"a":{"df":1,"docs":{"17":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}},"'":{"a":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}}}},"df":8,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":3.3166247903554},"17":{"tf":4.47213595499958},"18":{"tf":1.7320508075688772},"19":{"tf":2.0},"21":{"tf":1.0}},"g":{"df":1,"docs":{"17":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"d":{"1":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}},"2":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{},"y":{"df":3,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"9":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"1":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"16":{"tf":2.0},"17":{"tf":2.0},"7":{"tf":1.0},"9":{"tf":4.0}}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"16":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"16":{"tf":1.0},"4":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"a":{"d":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":2.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":2.23606797749979}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"9":{"tf":3.0}}}},"u":{"b":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":1.4142135623730951}}}}}}},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"0":{"tf":1.0},"16":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"2":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0}},"m":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"4":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"0":{"tf":1.0},"10":{"tf":1.7320508075688772},"4":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"u":{"b":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"17":{"tf":1.0},"9":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.0},"11":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":2,"docs":{"16":{"tf":2.449489742783178},"6":{"tf":1.0}},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"2":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":3,"docs":{"0":{"tf":1.0},"10":{"tf":2.0},"4":{"tf":1.4142135623730951}}}}}},"d":{"df":5,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}},"i":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"14":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"12":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"16":{"tf":2.23606797749979},"18":{"tf":1.0},"19":{"tf":1.0},"9":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":2.23606797749979}}}}}}}}},"g":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"12":{"tf":1.0},"17":{"tf":1.0}}}},"i":{"df":2,"docs":{"16":{"tf":1.0},"2":{"tf":1.0}},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"13":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"r":{"(":{"c":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"17":{"tf":2.23606797749979}}}}}},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"1":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}}},"m":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"4":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":2.449489742783178}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":2.0}}}},"df":2,"docs":{"16":{"tf":3.0},"17":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}},"f":{"c":{"#":{"1":{"8":{"2":{"3":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"3":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"3":{"3":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"4":{"9":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"n":{"df":4,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":2.0}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"t":{"df":13,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":2.8284271247461903},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":2.6457513110645907},"17":{"tf":1.0},"2":{"tf":1.7320508075688772},"4":{"tf":2.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}}}},"s":{".":{"a":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}},"b":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":3,"docs":{"16":{"tf":2.449489742783178},"17":{"tf":1.7320508075688772},"4":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":4,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"9":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"13":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"10":{"tf":1.7320508075688772},"13":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"11":{"tf":1.0},"9":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"9":{"tf":1.0}},"e":{"df":4,"docs":{"16":{"tf":2.449489742783178},"17":{"tf":2.0},"18":{"tf":1.0},"9":{"tf":1.7320508075688772}},"m":{"df":1,"docs":{"11":{"tf":1.0}}}},"g":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"f":{".":{"a":{"df":1,"docs":{"17":{"tf":1.7320508075688772}}},"b":{"df":1,"docs":{"17":{"tf":2.23606797749979}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":2.8284271247461903}}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":2.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":3,"docs":{"16":{"tf":5.0990195135927845},"17":{"tf":3.7416573867739413},"19":{"tf":1.0}}},"v":{"df":1,"docs":{"8":{"tf":1.0}}}},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"9":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"18":{"tf":1.0},"4":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"4":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":1,"docs":{"18":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":2,"docs":{"15":{"tf":1.0},"8":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{":":{":":{"<":{"&":{"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"9":{"tf":2.0}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"p":{"df":1,"docs":{"16":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.0}}}},"v":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"16":{"tf":1.0},"18":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"20":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"17":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"t":{"a":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"4":{"tf":1.0}}}},"l":{"df":1,"docs":{"17":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"df":5,"docs":{"12":{"tf":1.0},"13":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":2.449489742783178}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"(":{"a":{"1":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"0":{"tf":1.0},"16":{"tf":2.23606797749979},"17":{"tf":1.0},"5":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":6,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":2.8284271247461903},"2":{"tf":1.0},"4":{"tf":1.0}}},"i":{"c":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"y":{"df":3,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"20":{"tf":1.0}}}},"d":{":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":2.0},"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"<":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"10":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"10":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951}}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":1,"docs":{"17":{"tf":2.449489742783178}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"16":{"tf":3.1622776601683795},"17":{"tf":3.4641016151377544}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"9":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{}}},"u":{"b":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}}},"u":{"b":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"m":{"df":1,"docs":{"17":{"tf":1.0}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"2":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"10":{"tf":1.0},"4":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"x":{"df":3,"docs":{"12":{"tf":1.0},"16":{"tf":1.4142135623730951},"4":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"4":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":5,"docs":{"10":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"19":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.0}},"n":{"df":1,"docs":{"19":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"k":{"df":2,"docs":{"12":{"tf":1.0},"2":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":3,"docs":{"10":{"tf":2.23606797749979},"13":{"tf":1.4142135623730951},"14":{"tf":1.0}}}}},"df":1,"docs":{"17":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"10":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}},"s":{"df":0,"docs":{},"t":{".":{"a":{"d":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}},"1":{".":{"a":{"df":1,"docs":{"17":{"tf":1.0}},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":1,"docs":{"17":{"tf":1.0}}},"b":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"b":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":1,"docs":{"17":{"tf":2.449489742783178}}},"2":{".":{"a":{"df":1,"docs":{"17":{"tf":1.0}},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":1,"docs":{"17":{"tf":1.0}}},"b":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"b":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":1,"docs":{"17":{"tf":2.449489742783178}}},":":{":":{"a":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"2":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"b":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"2":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"\"":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"17":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"17":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},">":{"(":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"17":{"tf":3.0},"9":{"tf":1.4142135623730951}}}},"x":{"df":0,"docs":{},"t":{"[":{"0":{".":{".":{"5":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"15":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}}},"t":{"'":{"df":2,"docs":{"1":{"tf":1.0},"16":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"'":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"10":{"tf":1.0},"16":{"tf":1.0},"4":{"tf":1.0}}},"k":{"df":3,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"4":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":3,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"o":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"16":{"tf":4.123105625617661}}}}}}}},"df":0,"docs":{}},"d":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":3,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"3":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"0":{"tf":1.0}}}},"p":{"df":1,"docs":{"9":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}},"y":{"df":1,"docs":{"0":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"16":{"tf":2.0},"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":4.242640687119285}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0}}}},"df":5,"docs":{"16":{"tf":2.0},"17":{"tf":1.7320508075688772},"2":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"20":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"o":{"df":4,"docs":{"10":{"tf":1.0},"16":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":9,"docs":{"11":{"tf":1.0},"16":{"tf":4.242640687119285},"17":{"tf":3.4641016151377544},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":1.0}}},"n":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"16":{"tf":2.0},"17":{"tf":1.4142135623730951}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}}},"r":{"df":1,"docs":{"16":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"12":{"tf":1.0},"17":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"14":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":2.23606797749979},"17":{"tf":4.0}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":3,"docs":{"16":{"tf":3.605551275463989},"17":{"tf":4.358898943540674},"9":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"19":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":5,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"9":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}},"df":12,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":2.0},"16":{"tf":4.358898943540674},"17":{"tf":3.3166247903554},"18":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.7320508075688772},"17":{"tf":2.0}}}},"i":{"df":0,"docs":{},"z":{"df":2,"docs":{"16":{"tf":1.7320508075688772},"9":{"tf":2.23606797749979}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"1":{"tf":1.0},"16":{"tf":1.0}}},"df":0,"docs":{}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"16":{"tf":3.1622776601683795},"17":{"tf":2.449489742783178},"19":{"tf":1.0},"9":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"4":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.0},"4":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"8":{"tf":1.0},"9":{"tf":2.6457513110645907}},"e":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"2":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"0":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"y":{"df":3,"docs":{"10":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{},"e":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":8,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"16":{"tf":1.7320508075688772},"2":{"tf":1.7320508075688772},"20":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"r":{"df":3,"docs":{"17":{"tf":1.4142135623730951},"20":{"tf":1.0},"9":{"tf":1.0}}},"v":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"17":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"4":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"r":{"d":{"df":2,"docs":{"17":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":5,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":2.23606797749979},"4":{"tf":1.4142135623730951}}},"l":{"d":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"16":{"tf":1.0},"17":{"tf":1.7320508075688772},"2":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"6":{"tf":1.0}}}}}}}}},"y":{"df":1,"docs":{"16":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":2.0}}}},"1":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"16":{"tf":2.23606797749979}}},"df":2,"docs":{"13":{"tf":1.0},"16":{"tf":3.872983346207417}},"e":{"d":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":2.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":6,"docs":{"16":{"tf":2.6457513110645907},"17":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}}},"r":{"df":3,"docs":{"13":{"tf":1.0},"17":{"tf":1.0},"6":{"tf":1.0}}},"v":{"df":2,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":4,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"4":{"tf":1.0}}}}}}}}}}}},"breadcrumbs":{"root":{"0":{"df":1,"docs":{"9":{"tf":1.0}}},"1":{".":{"0":{"df":5,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"4":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"0":{"df":1,"docs":{"9":{"tf":2.0}}},"6":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"2":{"0":{"0":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"13":{"tf":1.0}}},"df":0,"docs":{}},"df":3,"docs":{"10":{"tf":1.0},"16":{"tf":1.7320508075688772},"9":{"tf":2.0}}},"3":{".":{"0":{"df":1,"docs":{"4":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"14":{"tf":1.0},"9":{"tf":2.0}}},"4":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"6":{"4":{"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.0}}},"8":{"df":1,"docs":{"9":{"tf":2.449489742783178}}},"_":{"df":1,"docs":{"16":{"tf":2.0}},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":2.0}}}}}}},"df":0,"docs":{}}},"a":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"16":{"tf":1.0}}},"<":{"'":{"a":{">":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"c":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"14":{"tf":1.0},"17":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"4":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"16":{"tf":2.0}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"16":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":4,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.7320508075688772}}},"df":0,"docs":{},"w":{"df":6,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":3,"docs":{"1":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"1":{"tf":1.0},"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"13":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"0":{"tf":1.0},"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"c":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"9":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"y":{"df":0,"docs":{},"n":{"c":{"/":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"0":{"tf":1.0},"12":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"df":7,"docs":{"10":{"tf":1.7320508075688772},"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":1,"docs":{"17":{"tf":1.0}}},"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"4":{"tf":1.0}}}}},"df":0,"docs":{}}},"b":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"df":0,"docs":{}},"<":{"'":{"a":{">":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":17,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"5":{"tf":1.7320508075688772},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"d":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.0}}},"i":{"c":{"df":4,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"6":{"tf":2.0}}},"df":0,"docs":{}}}},"df":3,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":3.605551275463989},"9":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":1,"docs":{"14":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"10":{"tf":1.0},"13":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"2":{"tf":1.0},"5":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"17":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"16":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"2":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"16":{"tf":1.0}}},"t":{"df":3,"docs":{"2":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"k":{"df":3,"docs":{"0":{"tf":1.0},"1":{"tf":1.7320508075688772},"2":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.7320508075688772},"16":{"tf":5.385164807134504},"17":{"tf":1.0}},"e":{"d":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"0":{"tf":1.0},"16":{"tf":1.0}}}},"x":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"1":{"df":1,"docs":{"16":{"tf":1.0}}},"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":2.449489742783178}},"e":{"d":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"b":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":2.6457513110645907}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"10":{"tf":1.0},"16":{"tf":3.7416573867739413},"8":{"tf":1.0},"9":{"tf":1.7320508075688772}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"19":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"9":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}}}},"n":{"c":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":2,"docs":{"17":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"10":{"tf":1.0},"4":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":8,"docs":{"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":2.8284271247461903},"17":{"tf":2.23606797749979},"3":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":2.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{":":{":":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"12":{"tf":1.0},"14":{"tf":2.23606797749979}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"6":{"tf":1.0}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"2":{"tf":1.0}}},"t":{"df":1,"docs":{"4":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":2.6457513110645907},"17":{"tf":1.0},"4":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":2.0}}}},"df":0,"docs":{}}},"x":{"df":2,"docs":{"2":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951}}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":6,"docs":{"1":{"tf":1.4142135623730951},"12":{"tf":1.0},"2":{"tf":1.0},"22":{"tf":1.4142135623730951},"4":{"tf":1.0},"6":{"tf":2.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"6":{"tf":1.0},"8":{"tf":1.0}}}}},"n":{".":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"\"":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{")":{".":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"|":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"17":{"tf":1.0}}}}},"t":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":2.449489742783178},"9":{"tf":1.0}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"13":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"13":{"tf":1.0},"16":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"9":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"u":{"df":2,"docs":{"13":{"tf":1.0},"15":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"8":{"tf":1.4142135623730951}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"b":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":2.23606797749979},"17":{"tf":1.0}}}}}}}}},"d":{"a":{"df":0,"docs":{},"t":{"a":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":3,"docs":{"14":{"tf":1.0},"17":{"tf":1.4142135623730951},"9":{"tf":3.605551275463989}}},"df":0,"docs":{}},"y":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"15":{"tf":1.0},"9":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}},"n":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"13":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"i":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":1.0},"2":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"s":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"8":{"tf":2.23606797749979},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"17":{"tf":1.0},"4":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"15":{"tf":1.0},"17":{"tf":1.0}}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"4":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}}}}},"r":{"a":{"df":0,"docs":{},"w":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"19":{"tf":2.23606797749979},"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":3,"docs":{"15":{"tf":1.0},"8":{"tf":2.23606797749979},"9":{"tf":1.0}}}},"df":1,"docs":{"9":{"tf":2.23606797749979}}}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"df":2,"docs":{"15":{"tf":1.0},"17":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.4142135623730951}}}}}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"5":{"tf":1.0},"8":{"tf":1.0}}}}}}},"d":{"df":3,"docs":{"0":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}}},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"17":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":2.8284271247461903}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"4":{"tf":1.4142135623730951}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"15":{"tf":1.0},"17":{"tf":1.7320508075688772}},"t":{"df":1,"docs":{"10":{"tf":2.0}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":7,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"2":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":2.0},"4":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"19":{"tf":1.0},"4":{"tf":1.0}}}},"t":{"df":2,"docs":{"1":{"tf":1.0},"16":{"tf":2.8284271247461903}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"0":{"tf":1.7320508075688772},"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"2":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}},"n":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"16":{"tf":1.0},"4":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":3,"docs":{"14":{"tf":1.0},"19":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"4":{"tf":1.0}}}}}}}},"f":{"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"2":{"tf":1.0}}},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"df":2,"docs":{"7":{"tf":1.4142135623730951},"9":{"tf":2.23606797749979}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"'":{"a":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"w":{"df":3,"docs":{"10":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"n":{"d":{"df":2,"docs":{"1":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"16":{"tf":1.4142135623730951},"9":{"tf":2.0}}}}},"x":{"df":3,"docs":{"0":{"tf":1.0},"17":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}},"n":{"df":4,"docs":{"15":{"tf":1.0},"16":{"tf":3.872983346207417},"17":{"tf":3.7416573867739413},"9":{"tf":2.8284271247461903}}},"o":{"c":{"df":0,"docs":{},"u":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.4142135623730951}}}}}}}}},"r":{"b":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"c":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"12":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":1.0},"17":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.0},"9":{"tf":2.0}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":16,"docs":{"0":{"tf":2.449489742783178},"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"3":{"tf":1.0},"4":{"tf":3.1622776601683795},"5":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":2.449489742783178}}}}}}}},"1":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"2":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"df":1,"docs":{"16":{"tf":2.6457513110645907}}},"df":1,"docs":{"16":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"r":{"(":{"a":{"1":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":3.1622776601683795}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"4":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":2.0}}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"1":{"(":{"_":{"df":1,"docs":{"16":{"tf":1.0}}},"a":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":2.449489742783178}},"{":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":3.605551275463989}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":2.6457513110645907}}}}}}}}},"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"d":{"(":{"a":{"df":1,"docs":{"16":{"tf":1.0}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"d":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":2.449489742783178}}},"r":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":2.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{":":{":":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"16":{"tf":2.8284271247461903}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":8,"docs":{"1":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"12":{"tf":2.23606797749979},"15":{"tf":1.0},"16":{"tf":3.872983346207417},"17":{"tf":1.4142135623730951},"4":{"tf":1.0},"6":{"tf":1.7320508075688772}}}}},"t":{"df":1,"docs":{"17":{"tf":1.0}}}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"1":{"tf":1.4142135623730951},"17":{"tf":1.0},"6":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"16":{"tf":1.0}}}},"df":6,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}},"o":{"d":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"a":{"d":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":2.0}}}}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"19":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"10":{"tf":1.0}}}},"n":{"d":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"15":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"16":{"tf":2.0},"17":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"r":{"d":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"4":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":2.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":1,"docs":{"5":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"13":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}}}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"/":{"2":{"0":{"1":{"7":{"/":{"0":{"3":{"/":{"0":{"7":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"i":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"3":{"tf":1.0}}}},"m":{"df":1,"docs":{"16":{"tf":1.0}}},"v":{"df":3,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"13":{"tf":1.0}}}},"/":{"df":0,"docs":{},"o":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"6":{"tf":1.0}}}},"3":{"2":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"9":{"tf":3.4641016151377544}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":3.0},"17":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":13,"docs":{"0":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":2.449489742783178},"17":{"tf":3.4641016151377544},"19":{"tf":1.4142135623730951},"2":{"tf":2.0},"20":{"tf":1.0},"4":{"tf":1.4142135623730951},"5":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":2.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":17,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"5":{"tf":1.7320508075688772},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":3,"docs":{"16":{"tf":2.0},"17":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"9":{"tf":1.0}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}}}}},"f":{"a":{"c":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"8":{"tf":1.0}}}}}}},"o":{"c":{"df":0,"docs":{},"p":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"4":{"tf":1.0}}}}},"t":{"'":{"df":10,"docs":{"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":2.449489742783178},"17":{"tf":2.0},"19":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.7320508075688772}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"16":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"2":{"tf":1.0}}}},"y":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":2.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":9,"docs":{"10":{"tf":1.7320508075688772},"14":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}},"n":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"4":{"tf":1.0},"6":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":2.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"3":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"'":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":1,"docs":{"16":{"tf":2.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"i":{"b":{"c":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"13":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":2.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"e":{"df":4,"docs":{"0":{"tf":1.4142135623730951},"13":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"o":{"c":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":5,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"t":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0}}}}},"m":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"15":{"tf":1.0},"16":{"tf":2.0},"2":{"tf":1.0},"4":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"15":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":2.0},"9":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"16":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"df":6,"docs":{"16":{"tf":1.0},"17":{"tf":2.23606797749979},"2":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"n":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"'":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"3":{"tf":1.0}}}},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":2.449489742783178}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":8,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"19":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"m":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"2":{"tf":1.0},"4":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}},"o":{"df":1,"docs":{"3":{"tf":1.0}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"4":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"12":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"10":{"tf":1.0},"16":{"tf":2.23606797749979},"17":{"tf":1.4142135623730951}}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"12":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.0}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}},"df":3,"docs":{"16":{"tf":3.3166247903554},"17":{"tf":3.605551275463989},"9":{"tf":1.7320508075688772}}}},"y":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"1":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"16":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"16":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"e":{"d":{"df":8,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"17":{"tf":1.0}}},"w":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"18":{"tf":1.0}}}},"df":1,"docs":{"17":{"tf":1.0}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":4,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.0}}},"i":{"c":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":3,"docs":{"16":{"tf":2.6457513110645907},"17":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"17":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":3.3166247903554}}}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.0}}},"l":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"n":{"c":{"df":2,"docs":{"13":{"tf":1.0},"17":{"tf":1.0}}},"df":6,"docs":{"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":3.605551275463989}}}}}}},"s":{"df":1,"docs":{"13":{"tf":1.0}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"t":{"df":5,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"4":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":2.0}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"6":{"tf":1.0}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":2.0}}}}}}}}}}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"c":{"a":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":2.449489742783178},"2":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"4":{"tf":1.0}}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":2.0}}}}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}},"n":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"&":{"'":{"a":{"df":1,"docs":{"17":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}},"'":{"a":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}}}},"df":8,"docs":{"11":{"tf":1.7320508075688772},"12":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":3.3166247903554},"17":{"tf":4.58257569495584},"18":{"tf":2.0},"19":{"tf":2.23606797749979},"21":{"tf":1.4142135623730951}},"g":{"df":1,"docs":{"17":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"d":{"1":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}},"2":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{},"y":{"df":3,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"9":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"1":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"16":{"tf":2.0},"17":{"tf":2.0},"7":{"tf":1.4142135623730951},"9":{"tf":4.123105625617661}}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"16":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"16":{"tf":1.0},"4":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"a":{"d":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":2.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":2.23606797749979}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"9":{"tf":3.0}}}},"u":{"b":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":1.4142135623730951}}}}}}},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"0":{"tf":1.0},"16":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"2":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0}},"m":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"4":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"0":{"tf":1.0},"10":{"tf":1.7320508075688772},"4":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"u":{"b":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"17":{"tf":1.0},"9":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.0},"11":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":2,"docs":{"16":{"tf":2.449489742783178},"6":{"tf":1.0}},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"2":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":3,"docs":{"0":{"tf":1.0},"10":{"tf":2.0},"4":{"tf":1.4142135623730951}}}}}},"d":{"df":5,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}},"i":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"14":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"12":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"16":{"tf":2.23606797749979},"18":{"tf":1.0},"19":{"tf":1.0},"9":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":2.23606797749979}}}}}}}}},"g":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"12":{"tf":1.0},"17":{"tf":1.0}}}},"i":{"df":2,"docs":{"16":{"tf":1.0},"2":{"tf":1.0}},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"13":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"r":{"(":{"c":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"17":{"tf":2.23606797749979}}}}}},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"1":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}}},"m":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"4":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":2.449489742783178}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":2.0}}}},"df":2,"docs":{"16":{"tf":3.0},"17":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}},"f":{"c":{"#":{"1":{"8":{"2":{"3":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"3":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"3":{"3":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"4":{"9":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"n":{"df":4,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":2.0}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"t":{"df":13,"docs":{"0":{"tf":1.7320508075688772},"10":{"tf":2.8284271247461903},"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":2.6457513110645907},"17":{"tf":1.0},"2":{"tf":1.7320508075688772},"4":{"tf":2.23606797749979},"6":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":2.0}}}}}},"s":{".":{"a":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}},"b":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":3,"docs":{"16":{"tf":2.449489742783178},"17":{"tf":1.7320508075688772},"4":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":4,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"9":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"13":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"10":{"tf":1.7320508075688772},"13":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"11":{"tf":1.0},"9":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"9":{"tf":1.0}},"e":{"df":4,"docs":{"16":{"tf":2.449489742783178},"17":{"tf":2.0},"18":{"tf":1.0},"9":{"tf":1.7320508075688772}},"m":{"df":1,"docs":{"11":{"tf":1.0}}}},"g":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"f":{".":{"a":{"df":1,"docs":{"17":{"tf":1.7320508075688772}}},"b":{"df":1,"docs":{"17":{"tf":2.23606797749979}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":2.8284271247461903}}}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":2.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":3,"docs":{"16":{"tf":5.0990195135927845},"17":{"tf":3.7416573867739413},"19":{"tf":1.0}}},"v":{"df":1,"docs":{"8":{"tf":1.0}}}},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"13":{"tf":1.0},"9":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"18":{"tf":1.0},"4":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"4":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":1,"docs":{"18":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":2,"docs":{"15":{"tf":1.0},"8":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{":":{":":{"<":{"&":{"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"[":{"&":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"9":{"tf":2.0}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"p":{"df":1,"docs":{"16":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.0}}}},"v":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{".":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"16":{"tf":1.0},"18":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"20":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"17":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"t":{"a":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"4":{"tf":1.0}}}},"l":{"df":1,"docs":{"17":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"df":5,"docs":{"12":{"tf":1.0},"13":{"tf":2.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":2.449489742783178}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"(":{"a":{"1":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"0":{"tf":1.0},"16":{"tf":2.23606797749979},"17":{"tf":1.0},"5":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":6,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":2.8284271247461903},"2":{"tf":1.0},"4":{"tf":1.0}}},"i":{"c":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"y":{"df":3,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"20":{"tf":1.0}}}},"d":{":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":2.0},"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"<":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"10":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"10":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951}}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":1,"docs":{"17":{"tf":2.449489742783178}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"16":{"tf":3.1622776601683795},"17":{"tf":3.4641016151377544}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"9":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{}}},"u":{"b":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}}},"u":{"b":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":1,"docs":{"9":{"tf":1.0}}},"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"m":{"df":1,"docs":{"17":{"tf":1.0}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"2":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"10":{"tf":1.0},"4":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"x":{"df":3,"docs":{"12":{"tf":1.0},"16":{"tf":1.4142135623730951},"4":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"4":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":5,"docs":{"10":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"19":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.0}},"n":{"df":1,"docs":{"19":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"k":{"df":2,"docs":{"12":{"tf":1.0},"2":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":3,"docs":{"10":{"tf":2.23606797749979},"13":{"tf":1.4142135623730951},"14":{"tf":1.0}}}}},"df":1,"docs":{"17":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"10":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}},"s":{"df":0,"docs":{},"t":{".":{"a":{"d":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}},"1":{".":{"a":{"df":1,"docs":{"17":{"tf":1.0}},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":1,"docs":{"17":{"tf":1.0}}},"b":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"b":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":1,"docs":{"17":{"tf":2.449489742783178}}},"2":{".":{"a":{"df":1,"docs":{"17":{"tf":1.0}},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{")":{".":{"a":{"df":1,"docs":{"17":{"tf":1.0}}},"b":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"b":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":1,"docs":{"17":{"tf":2.449489742783178}}},":":{":":{"a":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"2":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"b":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"2":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"\"":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"17":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"17":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},">":{"(":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"17":{"tf":3.0},"9":{"tf":1.4142135623730951}}}},"x":{"df":0,"docs":{},"t":{"[":{"0":{".":{".":{"5":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"15":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"3":{"tf":1.7320508075688772}}}},"t":{"'":{"df":2,"docs":{"1":{"tf":1.0},"16":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"'":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"10":{"tf":1.0},"16":{"tf":1.0},"4":{"tf":1.0}}},"k":{"df":3,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"4":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":3,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"o":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"16":{"tf":4.123105625617661}}}}}}}},"df":0,"docs":{}},"d":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":3,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"3":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"0":{"tf":1.0}}}},"p":{"df":1,"docs":{"9":{"tf":1.0}},"i":{"c":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}},"y":{"df":1,"docs":{"0":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"16":{"tf":2.0},"7":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":4.242640687119285}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0}}}},"df":5,"docs":{"16":{"tf":2.0},"17":{"tf":1.7320508075688772},"2":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"20":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"o":{"df":4,"docs":{"10":{"tf":1.0},"16":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":9,"docs":{"11":{"tf":1.0},"16":{"tf":4.242640687119285},"17":{"tf":3.4641016151377544},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":1.0}}},"n":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"16":{"tf":2.0},"17":{"tf":1.4142135623730951}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}}},"r":{"df":1,"docs":{"16":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"12":{"tf":1.0},"17":{"tf":1.4142135623730951},"4":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"14":{"tf":1.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":2.23606797749979},"17":{"tf":4.0}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":3,"docs":{"16":{"tf":3.605551275463989},"17":{"tf":4.358898943540674},"9":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"19":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":5,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"9":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}},"df":12,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":2.0},"16":{"tf":4.358898943540674},"17":{"tf":3.3166247903554},"18":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.7320508075688772},"17":{"tf":2.0}}}},"i":{"df":0,"docs":{},"z":{"df":2,"docs":{"16":{"tf":1.7320508075688772},"9":{"tf":2.23606797749979}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"1":{"tf":1.0},"16":{"tf":1.0}}},"df":0,"docs":{}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"16":{"tf":3.1622776601683795},"17":{"tf":2.449489742783178},"19":{"tf":1.0},"9":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"4":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.0},"4":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"8":{"tf":1.0},"9":{"tf":2.6457513110645907}},"e":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"2":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"0":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"y":{"df":3,"docs":{"10":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{},"e":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":8,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"16":{"tf":1.7320508075688772},"2":{"tf":2.0},"20":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"r":{"df":3,"docs":{"17":{"tf":1.4142135623730951},"20":{"tf":1.0},"9":{"tf":1.0}}},"v":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"17":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"4":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"r":{"d":{"df":2,"docs":{"17":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":5,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":2.449489742783178},"4":{"tf":1.4142135623730951}}},"l":{"d":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"16":{"tf":1.0},"17":{"tf":1.7320508075688772},"2":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"6":{"tf":1.0}}}}}}}}},"y":{"df":1,"docs":{"16":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":2.0}}}},"1":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"16":{"tf":2.23606797749979}}},"df":2,"docs":{"13":{"tf":1.0},"16":{"tf":3.872983346207417}},"e":{"d":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":2.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":6,"docs":{"16":{"tf":2.6457513110645907},"17":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}}},"r":{"df":3,"docs":{"13":{"tf":1.0},"17":{"tf":1.0},"6":{"tf":1.0}}},"v":{"df":2,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":4,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"4":{"tf":1.0}}}}}}}}}}}},"title":{"root":{"1":{"df":1,"docs":{"22":{"tf":1.0}}},"2":{"0":{"0":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"22":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"19":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}}},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"f":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"7":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.0},"22":{"tf":1.0},"4":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"6":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"5":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"7":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.0}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"7":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"0":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"13":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"15":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"7":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"e":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"2":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}},"pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5"},"results_options":{"limit_results":30,"teaser_word_count":30},"search_options":{"bool":"OR","expand":true,"fields":{"body":{"boost":1},"breadcrumbs":{"boost":1},"title":{"boost":2}}}} \ No newline at end of file diff --git a/src/0_2_naive_implementation.md b/src/0_2_naive_implementation.md deleted file mode 100644 index ff1f6e6..0000000 --- a/src/0_2_naive_implementation.md +++ /dev/null @@ -1,268 +0,0 @@ -# Naive example - - -```rust -#![feature(duration_float)] -use std::sync::atomic::{AtomicUsize, Ordering}; -use std::sync::mpsc::{channel, Sender}; -use std::sync::{Arc, Mutex}; -use std::thread::{self, JoinHandle}; -use std::time::{Duration, Instant}; - -fn main() { - let readylist = Arc::new(Mutex::new(vec![])); - let mut reactor = Reactor::new(); - - let mywaker = MyWaker::new(1, thread::current(), readylist.clone()); - reactor.register(2, mywaker); - - let mywaker = MyWaker::new(2, thread::current(), readylist.clone()); - reactor.register(2, mywaker); - - executor_run(reactor, readylist); -} -// ====== EXECUTOR ====== -fn executor_run(mut reactor: Reactor, rl: Arc>>) { - let start = Instant::now(); - loop { - let mut rl_locked = rl.lock().unwrap(); - while let Some(event) = rl_locked.pop() { - let dur = (Instant::now() - start).as_secs_f32(); - println!("Event {} just happened at time: {:.2}.", event, dur); - reactor.outstanding.fetch_sub(1, Ordering::Relaxed); - } - drop(rl_locked); - - if reactor.outstanding.load(Ordering::Relaxed) == 0 { - reactor.close(); - break; - } - - thread::park(); - } -} - -// ====== "FUTURE" IMPL ====== -#[derive(Debug)] -struct MyWaker { - id: usize, - thread: thread::Thread, - readylist: Arc>>, -} - -impl MyWaker { - fn new(id: usize, thread: thread::Thread, readylist: Arc>>) -> Self { - MyWaker { - id, - thread, - readylist, - } - } - - fn wake(&self) { - self.readylist.lock().map(|mut rl| rl.push(self.id)).unwrap(); - self.thread.unpark(); - } -} - - -#[derive(Debug, Clone)] -pub struct Task { - id: usize, - pending: bool, -} - -// ===== REACTOR ===== -struct Reactor { - dispatcher: Sender, - handle: Option>, - outstanding: AtomicUsize, -} -#[derive(Debug)] -enum Event { - Close, - Simple(MyWaker, u64), -} - -impl Reactor { - fn new() -> Self { - let (tx, rx) = channel::(); - let mut handles = vec![]; - let handle = thread::spawn(move || { - // This simulates some I/O resource - for event in rx { - match event { - Event::Close => break, - Event::Simple(mywaker, duration) => { - let event_handle = thread::spawn(move || { - thread::sleep(Duration::from_secs(duration)); - mywaker.wake(); - }); - handles.push(event_handle); - } - } - } - - for handle in handles { - handle.join().unwrap(); - } - }); - - Reactor { - dispatcher: tx, - handle: Some(handle), - outstanding: AtomicUsize::new(0), - } - } - - fn register(&mut self, duration: u64, mywaker: MyWaker) { - self.dispatcher - .send(Event::Simple(mywaker, duration)) - .unwrap(); - self.outstanding.fetch_add(1, Ordering::Relaxed); - } - - fn close(&mut self) { - self.dispatcher.send(Event::Close).unwrap(); - } -} - -impl Drop for Reactor { - fn drop(&mut self) { - self.handle.take().map(|h| h.join().unwrap()).unwrap(); - } -} -``` - -```rust -#![feature(duration_float)] -use std::sync::atomic::{AtomicUsize, Ordering}; -use std::sync::mpsc::{channel, Sender}; -use std::sync::{Arc, Mutex}; -use std::thread::{self, JoinHandle}; -use std::time::{Duration, Instant}; - -fn main() { - let readylist = Arc::new(Mutex::new(vec![])); - let mut reactor = Reactor::new(); - - let mywaker = MyWaker::new(1, thread::current(), readylist.clone()); - reactor.register(2, mywaker); - - let mywaker = MyWaker::new(2, thread::current(), readylist.clone()); - reactor.register(2, mywaker); - - executor_run(reactor, readylist); -} -# // ====== EXECUTOR ====== -# fn executor_run(mut reactor: Reactor, rl: Arc>>) { -# let start = Instant::now(); -# loop { -# let mut rl_locked = rl.lock().unwrap(); -# while let Some(event) = rl_locked.pop() { -# let dur = (Instant::now() - start).as_secs_f32(); -# println!("Event {} just happened at time: {:.2}.", event, dur); -# reactor.outstanding.fetch_sub(1, Ordering::Relaxed); -# } -# drop(rl_locked); -# -# if reactor.outstanding.load(Ordering::Relaxed) == 0 { -# reactor.close(); -# break; -# } -# -# thread::park(); -# } -# } -# -# // ====== "FUTURE" IMPL ====== -# #[derive(Debug)] -# struct MyWaker { -# id: usize, -# thread: thread::Thread, -# readylist: Arc>>, -# } -# -# impl MyWaker { -# fn new(id: usize, thread: thread::Thread, readylist: Arc>>) -> Self { -# MyWaker { -# id, -# thread, -# readylist, -# } -# } -# -# fn wake(&self) { -# self.readylist.lock().map(|mut rl| rl.push(self.id)).unwrap(); -# self.thread.unpark(); -# } -# } -# -# -# #[derive(Debug, Clone)] -# pub struct Task { -# id: usize, -# pending: bool, -# } -# -# // ===== REACTOR ===== -# struct Reactor { -# dispatcher: Sender, -# handle: Option>, -# outstanding: AtomicUsize, -# } -# #[derive(Debug)] -# enum Event { -# Close, -# Simple(MyWaker, u64), -# } -# -# impl Reactor { -# fn new() -> Self { -# let (tx, rx) = channel::(); -# let mut handles = vec![]; -# let handle = thread::spawn(move || { -# // This simulates some I/O resource -# for event in rx { -# match event { -# Event::Close => break, -# Event::Simple(mywaker, duration) => { -# let event_handle = thread::spawn(move || { -# thread::sleep(Duration::from_secs(duration)); -# mywaker.wake(); -# }); -# handles.push(event_handle); -# } -# } -# } -# -# for handle in handles { -# handle.join().unwrap(); -# } -# }); -# -# Reactor { -# dispatcher: tx, -# handle: Some(handle), -# outstanding: AtomicUsize::new(0), -# } -# } -# -# fn register(&mut self, duration: u64, mywaker: MyWaker) { -# self.dispatcher -# .send(Event::Simple(mywaker, duration)) -# .unwrap(); -# self.outstanding.fetch_add(1, Ordering::Relaxed); -# } -# -# fn close(&mut self) { -# self.dispatcher.send(Event::Close).unwrap(); -# } -# } -# -# impl Drop for Reactor { -# fn drop(&mut self) { -# self.handle.take().map(|h| h.join().unwrap()).unwrap(); -# } -# } -``` \ No newline at end of file diff --git a/src/0_3_proper_waker.md b/src/0_3_proper_waker.md deleted file mode 100644 index d6ceb1a..0000000 --- a/src/0_3_proper_waker.md +++ /dev/null @@ -1 +0,0 @@ -# Proper Waker diff --git a/src/0_4_proper_future.md b/src/0_4_proper_future.md deleted file mode 100644 index e66e433..0000000 --- a/src/0_4_proper_future.md +++ /dev/null @@ -1 +0,0 @@ -# Proper Future diff --git a/src/0_5_async_wait.md b/src/0_5_async_wait.md deleted file mode 100644 index 07d1ebd..0000000 --- a/src/0_5_async_wait.md +++ /dev/null @@ -1 +0,0 @@ -# Supporting async/await diff --git a/src/0_6_concurrent_futures.md b/src/0_6_concurrent_futures.md deleted file mode 100644 index 1f039d1..0000000 --- a/src/0_6_concurrent_futures.md +++ /dev/null @@ -1 +0,0 @@ -# Bonus: concurrent futures diff --git a/src/0_1_background_information.md b/src/1_0_background_information.md similarity index 100% rename from src/0_1_background_information.md rename to src/1_0_background_information.md diff --git a/src/0_1_1_trait_objects.md b/src/1_1_trait_objects.md similarity index 100% rename from src/0_1_1_trait_objects.md rename to src/1_1_trait_objects.md diff --git a/src/0_1_2_generators_pin.md b/src/1_2_generators_pin.md similarity index 69% rename from src/0_1_2_generators_pin.md rename to src/1_2_generators_pin.md index 41cf2b8..fccc174 100644 --- a/src/0_1_2_generators_pin.md +++ b/src/1_2_generators_pin.md @@ -503,250 +503,10 @@ they did their unsafe implementation. Now, the code which is created and the need for `Pin` to allow for borrowing across `yield` points should be pretty clear. -## Pin -> **Relevant for** -> -> 1. To understand `Generators` and `Futures` -> 2. Knowing how to use `Pin` is required when implementing your own `Future` -> 3. To understand self-referential types in Rust -> 4. This is the way borrowing across `await` points is accomplished -> -> `Pin` was suggested in [RFC#2349][rfc2349] - -Ping consists of the `Pin` type and the `Unpin` marker. Let's start off with some general rules: - -1. Pin does nothing special, it only prevents the user of an API to violate some assumtions you make when writing your (most likely) unsafe code. -2. Most standard library types implement `Unpin` -3. `Unpin` means it's OK for this type to be moved even when pinned. -4. If you `Box` a value, that boxed value automatcally implements `Unpin`. -5. The main use case for `Pin` is to allow self referential types -6. The implementation behind objects that doens't implement `Unpin` is most likely unsafe - 1. `Pin` prevents users from your code to break the assumtions you make when writing the `unsafe` implementation - 2. It doesn't solve the fact that you'll have to write unsafe code to actually implement it -7. You're not really meant to be implementing `!Unpin`, but you can on nightly with a feature flag - - -> Unsafe code does not mean it's litterally "unsafe", it only relieves the -> guarantees you normally get from the compiler. An `unsafe` implementation can -> be perfectly safe to do, but you have no safety net. - -Let's take a look at an example: - -```rust,editable -use std::pin::Pin; - -fn main() { - let mut test1 = Test::new("test1"); - test1.init(); - let mut test2 = Test::new("test2"); - test2.init(); - - println!("a: {}, b: {}", test1.a(), test1.b()); - std::mem::swap(&mut test1, &mut test2); // try commenting out this line - println!("a: {}, b: {}", test2.a(), test2.b()); - -} - -#[derive(Debug)] -struct Test { - a: String, - b: *const String, -} - -impl Test { - fn new(txt: &str) -> Self { - let a = String::from(txt); - Test { - a, - b: std::ptr::null(), - } - } - - fn init(&mut self) { - let self_ref: *const String = &self.a; - self.b = self_ref; - } - - fn a(&self) -> &str { - &self.a - } - - fn b(&self) -> &String { - unsafe {&*(self.b)} - } -} -``` - -As you can see this results in unwanted behavior. The pointer to `b` stays the -same and points to the old value. It's easy to get this to segfault, and fail -in other spectacular ways as well. - -Pin essentially prevents the **user** of your unsafe code -(even if that means yourself) move the value after it's pinned. - -If we change the example to using `Pin` instead: - -```rust,editable -use std::pin::Pin; -use std::marker::PhantomPinned; - -pub fn main() { - let mut test1 = Test::new("test1"); - test1.init(); - let mut test1_pin = unsafe { Pin::new_unchecked(&mut test1) }; - let mut test2 = Test::new("test2"); - test2.init(); - let mut test2_pin = unsafe { Pin::new_unchecked(&mut test2) }; - - println!( - "a: {}, b: {}", - Test::a(test1_pin.as_ref()), - Test::b(test1_pin.as_ref()) - ); - - // Try to uncomment this and see what happens - // std::mem::swap(test1_pin.as_mut(), test2_pin.as_mut()); - println!( - "a: {}, b: {}", - Test::a(test2_pin.as_ref()), - Test::b(test2_pin.as_ref()) - ); -} - -#[derive(Debug)] -struct Test { - a: String, - b: *const String, - _marker: PhantomPinned, -} - - -impl Test { - fn new(txt: &str) -> Self { - let a = String::from(txt); - Test { - a, - b: std::ptr::null(), - // This makes our type `!Unpin` - _marker: PhantomPinned, - } - } - fn init(&mut self) { - let self_ptr: *const String = &self.a; - self.b = self_ptr; - } - - fn a<'a>(self: Pin<&'a Self>) -> &'a str { - &self.get_ref().a - } - - fn b<'a>(self: Pin<&'a Self>) -> &'a String { - unsafe { &*(self.b) } - } -} - -``` - -Now, what we've done here is pinning a stack address. That will always be -`unsafe` if our type implements `!Unpin`, in other words. That our type is not -`Unpin` which is the norm. - -We use some tricks here, including requiring an `init`. If we want to fix that -and let users avoid `unsafe` we need to place our data on the heap. - -Stack pinning will always depend on the current stack frame we're in, so we -can't create a self referential object in one stack frame and return it since -any pointers we take to "self" is invalidated. - -The next example solves some of our friction at the cost of a heap allocation. - -```rust, editbable -use std::pin::Pin; -use std::marker::PhantomPinned; - -pub fn main() { - let mut test1 = Test::new("test1"); - let mut test2 = Test::new("test2"); - - println!("a: {}, b: {}",test1.as_ref().a(), test1.as_ref().b()); - - // Try to uncomment this and see what happens - // std::mem::swap(&mut test1, &mut test2); - println!("a: {}, b: {}",test2.as_ref().a(), test2.as_ref().b()); -} - -#[derive(Debug)] -struct Test { - a: String, - b: *const String, - _marker: PhantomPinned, -} - -impl Test { - fn new(txt: &str) -> Pin> { - let a = String::from(txt); - let t = Test { - a, - b: std::ptr::null(), - _marker: PhantomPinned, - }; - let mut boxed = Box::pin(t); - let self_ptr: *const String = &boxed.as_ref().a; - unsafe { boxed.as_mut().get_unchecked_mut().b = self_ptr }; - - boxed - } - - fn a<'a>(self: Pin<&'a Self>) -> &'a str { - &self.get_ref().a - } - - fn b<'a>(self: Pin<&'a Self>) -> &'a String { - unsafe { &*(self.b) } - } -} -``` - -Seeing this we're ready to sum up with a few more points to remember about -pinning: - -1. Pinning only makes sense to do for types that are `!Unpin` -2. Pinning a `!Unpin` pointer to the stack will requires `unsafe` -3. Pinning a boxed value will not require `unsafe`, even if the type is `!Unpin` -4. If T: Unpin (which is the default), then Pin<'a, T> is entirely equivalent to &'a mut T. -5. Getting a `&mut T` to a pinned pointer requires unsafe if `T: !Unpin` -6. Pinning is really only useful when implementing self-referential types. -For all intents and purposes you can think of `!Unpin` = self-referential-type - -The fact that boxing (heap allocating) a value that implements `!Unpin` is safe -makes sense. Once the data is allocated on the heap it will have a stable address. - -There are ways to safely give some guarantees on stack pinning as well, but right -now you need to use a crate like [pin_utils]:[pin_utils] to do that. - -### Projection/structural pinning - -In short, projection is using a field on your type. `mystruct.field1` is a -projection. Structural pinning is using `Pin` on struct fields. This has several -caveats and is not something you'll normally see so I refer to the documentation -for that. - -### Pin and Drop - -The `Pin` guarantee exists from the moment the value is pinned until it's dropped. -In the `Drop` implementation you take a mutabl reference to `self`, which means -extra care must be taken when implementing `Drop` for pinned types. - -## Putting it all together - -This is exactly what we'll do when we implement our own `Futures` stay tuned, -we're soon finished. [rfc2033]: https://github.com/rust-lang/rfcs/blob/master/text/2033-experimental-coroutines.md [greenthreads]: https://cfsamson.gitbook.io/green-threads-explained-in-200-lines-of-rust/ [rfc1823]: https://github.com/rust-lang/rfcs/pull/1823 [rfc1832]: https://github.com/rust-lang/rfcs/pull/1832 -[rfc2349]: https://github.com/rust-lang/rfcs/blob/master/text/2349-pin.md -[optimizing-await]: https://tmandry.gitlab.io/blog/posts/optimizing-await-1/ -[pin_utils]: https://github.com/rust-lang/rfcs/blob/master/text/2349-pin.md \ No newline at end of file +[optimizing-await]: https://tmandry.gitlab.io/blog/posts/optimizing-await-1/ \ No newline at end of file diff --git a/src/1_3_pin.md b/src/1_3_pin.md new file mode 100644 index 0000000..787452d --- /dev/null +++ b/src/1_3_pin.md @@ -0,0 +1,242 @@ +## Pin + +> **Relevant for** +> +> 1. To understand `Generators` and `Futures` +> 2. Knowing how to use `Pin` is required when implementing your own `Future` +> 3. To understand self-referential types in Rust +> 4. This is the way borrowing across `await` points is accomplished +> +> `Pin` was suggested in [RFC#2349][rfc2349] + +Ping consists of the `Pin` type and the `Unpin` marker. Let's start off with some general rules: + +1. Pin does nothing special, it only prevents the user of an API to violate some assumtions you make when writing your (most likely) unsafe code. +2. Most standard library types implement `Unpin` +3. `Unpin` means it's OK for this type to be moved even when pinned. +4. If you `Box` a value, that boxed value automatcally implements `Unpin`. +5. The main use case for `Pin` is to allow self referential types +6. The implementation behind objects that doens't implement `Unpin` is most likely unsafe + 1. `Pin` prevents users from your code to break the assumtions you make when writing the `unsafe` implementation + 2. It doesn't solve the fact that you'll have to write unsafe code to actually implement it +7. You're not really meant to be implementing `!Unpin`, but you can on nightly with a feature flag + + +> Unsafe code does not mean it's litterally "unsafe", it only relieves the +> guarantees you normally get from the compiler. An `unsafe` implementation can +> be perfectly safe to do, but you have no safety net. + +Let's take a look at an example: + +```rust,editable +use std::pin::Pin; + +fn main() { + let mut test1 = Test::new("test1"); + test1.init(); + let mut test2 = Test::new("test2"); + test2.init(); + + println!("a: {}, b: {}", test1.a(), test1.b()); + std::mem::swap(&mut test1, &mut test2); // try commenting out this line + println!("a: {}, b: {}", test2.a(), test2.b()); + +} + +#[derive(Debug)] +struct Test { + a: String, + b: *const String, +} + +impl Test { + fn new(txt: &str) -> Self { + let a = String::from(txt); + Test { + a, + b: std::ptr::null(), + } + } + + fn init(&mut self) { + let self_ref: *const String = &self.a; + self.b = self_ref; + } + + fn a(&self) -> &str { + &self.a + } + + fn b(&self) -> &String { + unsafe {&*(self.b)} + } +} +``` + +As you can see this results in unwanted behavior. The pointer to `b` stays the +same and points to the old value. It's easy to get this to segfault, and fail +in other spectacular ways as well. + +Pin essentially prevents the **user** of your unsafe code +(even if that means yourself) move the value after it's pinned. + +If we change the example to using `Pin` instead: + +```rust,editable +use std::pin::Pin; +use std::marker::PhantomPinned; + +pub fn main() { + let mut test1 = Test::new("test1"); + test1.init(); + let mut test1_pin = unsafe { Pin::new_unchecked(&mut test1) }; + let mut test2 = Test::new("test2"); + test2.init(); + let mut test2_pin = unsafe { Pin::new_unchecked(&mut test2) }; + + println!( + "a: {}, b: {}", + Test::a(test1_pin.as_ref()), + Test::b(test1_pin.as_ref()) + ); + + // Try to uncomment this and see what happens + // std::mem::swap(test1_pin.as_mut(), test2_pin.as_mut()); + println!( + "a: {}, b: {}", + Test::a(test2_pin.as_ref()), + Test::b(test2_pin.as_ref()) + ); +} + +#[derive(Debug)] +struct Test { + a: String, + b: *const String, + _marker: PhantomPinned, +} + + +impl Test { + fn new(txt: &str) -> Self { + let a = String::from(txt); + Test { + a, + b: std::ptr::null(), + // This makes our type `!Unpin` + _marker: PhantomPinned, + } + } + fn init(&mut self) { + let self_ptr: *const String = &self.a; + self.b = self_ptr; + } + + fn a<'a>(self: Pin<&'a Self>) -> &'a str { + &self.get_ref().a + } + + fn b<'a>(self: Pin<&'a Self>) -> &'a String { + unsafe { &*(self.b) } + } +} + +``` + +Now, what we've done here is pinning a stack address. That will always be +`unsafe` if our type implements `!Unpin`, in other words. That our type is not +`Unpin` which is the norm. + +We use some tricks here, including requiring an `init`. If we want to fix that +and let users avoid `unsafe` we need to place our data on the heap. + +Stack pinning will always depend on the current stack frame we're in, so we +can't create a self referential object in one stack frame and return it since +any pointers we take to "self" is invalidated. + +The next example solves some of our friction at the cost of a heap allocation. + +```rust, editbable +use std::pin::Pin; +use std::marker::PhantomPinned; + +pub fn main() { + let mut test1 = Test::new("test1"); + let mut test2 = Test::new("test2"); + + println!("a: {}, b: {}",test1.as_ref().a(), test1.as_ref().b()); + + // Try to uncomment this and see what happens + // std::mem::swap(&mut test1, &mut test2); + println!("a: {}, b: {}",test2.as_ref().a(), test2.as_ref().b()); +} + +#[derive(Debug)] +struct Test { + a: String, + b: *const String, + _marker: PhantomPinned, +} + +impl Test { + fn new(txt: &str) -> Pin> { + let a = String::from(txt); + let t = Test { + a, + b: std::ptr::null(), + _marker: PhantomPinned, + }; + let mut boxed = Box::pin(t); + let self_ptr: *const String = &boxed.as_ref().a; + unsafe { boxed.as_mut().get_unchecked_mut().b = self_ptr }; + + boxed + } + + fn a<'a>(self: Pin<&'a Self>) -> &'a str { + &self.get_ref().a + } + + fn b<'a>(self: Pin<&'a Self>) -> &'a String { + unsafe { &*(self.b) } + } +} +``` + +Seeing this we're ready to sum up with a few more points to remember about +pinning: + +1. Pinning only makes sense to do for types that are `!Unpin` +2. Pinning a `!Unpin` pointer to the stack will requires `unsafe` +3. Pinning a boxed value will not require `unsafe`, even if the type is `!Unpin` +4. If T: Unpin (which is the default), then Pin<'a, T> is entirely equivalent to &'a mut T. +5. Getting a `&mut T` to a pinned pointer requires unsafe if `T: !Unpin` +6. Pinning is really only useful when implementing self-referential types. +For all intents and purposes you can think of `!Unpin` = self-referential-type + +The fact that boxing (heap allocating) a value that implements `!Unpin` is safe +makes sense. Once the data is allocated on the heap it will have a stable address. + +There are ways to safely give some guarantees on stack pinning as well, but right +now you need to use a crate like [pin_utils]:[pin_utils] to do that. + +### Projection/structural pinning + +In short, projection is using a field on your type. `mystruct.field1` is a +projection. Structural pinning is using `Pin` on struct fields. This has several +caveats and is not something you'll normally see so I refer to the documentation +for that. + +### Pin and Drop + +The `Pin` guarantee exists from the moment the value is pinned until it's dropped. +In the `Drop` implementation you take a mutable reference to `self`, which means +extra care must be taken when implementing `Drop` for pinned types. + +## Putting it all together + +This is exactly what we'll do when we implement our own `Futures` stay tuned, +we're soon finished. + +[rfc2349]: https://github.com/rust-lang/rfcs/blob/master/text/2349-pin.md +[pin_utils]: https://github.com/rust-lang/rfcs/blob/master/text/2349-pin.md diff --git a/src/2_0_future_example.md b/src/2_0_future_example.md new file mode 100644 index 0000000..c268f5b --- /dev/null +++ b/src/2_0_future_example.md @@ -0,0 +1,195 @@ +# Implementing our own Future + +```rust +use std::{ + future::Future, pin::Pin, sync::{mpsc::{channel, Sender}, Arc, Mutex}, + task::{Context, Poll, RawWaker, RawWakerVTable, Waker}, + thread::{self, JoinHandle}, time::{Duration, Instant} +}; + +fn main() { + let start = Instant::now(); + + // Many runtimes create a glocal `reactor` we pass it as an argument + let reactor = Reactor::new(); + let reactor = Arc::new(Mutex::new(reactor)); + + let future1 = Task::new(reactor.clone(), 2, 1); + let future2 = Task::new(reactor.clone(), 1, 2); + + let fut1 = async { + let val = future1.await; + let dur = (Instant::now() - start).as_secs_f32(); + println!("Future got {} at time: {:.2}.", val, dur); + }; + + let fut2 = async { + let val = future2.await; + let dur = (Instant::now() - start).as_secs_f32(); + println!("Future got {} at time: {:.2}.", val, dur); + }; + + let mainfut = async { + fut1.await; + fut2.await; + }; + + block_on(mainfut); + reactor.lock().map(|mut r| r.close()).unwrap(); +} + +//// ============================ EXECUTOR ==================================== +fn block_on(mut future: F) -> F::Output { + let mywaker = Arc::new(MyWaker{ thread: thread::current() }); + let waker = waker_into_waker(Arc::into_raw(mywaker)); + let mut cx = Context::from_waker(&waker); + let val = loop { + let pinned = unsafe { Pin::new_unchecked(&mut future) }; + match Future::poll(pinned, &mut cx) { + Poll::Ready(val) => break val, + Poll::Pending => thread::park(), + }; + }; + val +} + +// ====================== FUTURE IMPLEMENTATION ============================== +#[derive(Clone)] +struct MyWaker { + thread: thread::Thread, +} + +#[derive(Clone)] +pub struct Task { + id: usize, + reactor: Arc>, + data: u64, + is_registered: bool, +} + +fn mywaker_wake(s: &MyWaker) { + let waker_ptr: *const MyWaker = s; + let waker_arc = unsafe {Arc::from_raw(waker_ptr)}; + waker_arc.thread.unpark(); +} + +fn mywaker_clone(s: &MyWaker) -> RawWaker { + let arc = unsafe { Arc::from_raw(s).clone() }; + std::mem::forget(arc.clone()); // increase ref count + RawWaker::new(Arc::into_raw(arc) as *const (), &VTABLE) +} + +const VTABLE: RawWakerVTable = unsafe { + RawWakerVTable::new( + |s| mywaker_clone(&*(s as *const MyWaker)), // clone + |s| mywaker_wake(&*(s as *const MyWaker)), // wake + |s| mywaker_wake(*(s as *const &MyWaker)), // wake by ref + |s| drop(Arc::from_raw(s as *const MyWaker)), // decrease refcount + ) +}; + +fn waker_into_waker(s: *const MyWaker) -> Waker { + let raw_waker = RawWaker::new(s as *const (), &VTABLE); + unsafe { Waker::from_raw(raw_waker) } +} + +impl Task { + fn new(reactor: Arc>, data: u64, id: usize) -> Self { + Task { + id, + reactor, + data, + is_registered: false, + } + } +} + +impl Future for Task { + type Output = usize; + fn poll(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { + let mut r = self.reactor.lock().unwrap(); + if r.is_ready(self.id) { + Poll::Ready(self.id) + } else if self.is_registered { + Poll::Pending + } else { + r.register(self.data, cx.waker().clone(), self.id); + drop(r); + self.is_registered = true; + Poll::Pending + } + } +} + +// =============================== REACTOR =================================== +struct Reactor { + dispatcher: Sender, + handle: Option>, + readylist: Arc>>, +} +#[derive(Debug)] +enum Event { + Close, + Simple(Waker, u64, usize), +} + +impl Reactor { + fn new() -> Self { + let (tx, rx) = channel::(); + let readylist = Arc::new(Mutex::new(vec![])); + let rl_clone = readylist.clone(); + let mut handles = vec![]; + let handle = thread::spawn(move || { + // This simulates some I/O resource + for event in rx { + let rl_clone = rl_clone.clone(); + match event { + Event::Close => break, + Event::Simple(waker, duration, id) => { + let event_handle = thread::spawn(move || { + thread::sleep(Duration::from_secs(duration)); + rl_clone.lock().map(|mut rl| rl.push(id)).unwrap(); + waker.wake(); + }); + + handles.push(event_handle); + } + } + } + + for handle in handles { + handle.join().unwrap(); + } + }); + + Reactor { + readylist, + dispatcher: tx, + handle: Some(handle), + } + } + + fn register(&mut self, duration: u64, waker: Waker, data: usize) { + self.dispatcher + .send(Event::Simple(waker, duration, data)) + .unwrap(); + } + + fn close(&mut self) { + self.dispatcher.send(Event::Close).unwrap(); + } + + fn is_ready(&self, id_to_check: usize) -> bool { + self.readylist + .lock() + .map(|rl| rl.iter().any(|id| *id == id_to_check)) + .unwrap() + } +} + +impl Drop for Reactor { + fn drop(&mut self) { + self.handle.take().map(|h| h.join().unwrap()).unwrap(); + } +} +``` \ No newline at end of file diff --git a/src/2_1_concurrent_futures.md b/src/2_1_concurrent_futures.md new file mode 100644 index 0000000..90fd423 --- /dev/null +++ b/src/2_1_concurrent_futures.md @@ -0,0 +1 @@ +# Bonus 1: concurrent futures diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 560f036..ac3e8de 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -1,11 +1,9 @@ # Summary - [Introduction](./0_0_introduction.md) -- [Some background information](./0_1_background_information.md) - - [Trait objects and fat pointers](./0_1_1_trait_objects.md) - - [Generators and Pin](./0_1_2_generators_pin.md) -- [Naive example](./0_2_naive_implementation.md) -- [Proper Waker](./0_3_proper_waker.md) -- [Proper Future](0_4_proper_future.md) -- [Supporting async/await](0_5_async_wait.md) -- [Bonus: concurrent futures](0_6_concurrent_futures.md) +- [Some background information](./1_0_background_information.md) + - [Trait objects and fat pointers](./1_1_trait_objects.md) + - [Generators and Pin](./1_2_generators_pin.md) + - [Pin](./1_3_pin.md) +- [The main example](./2_0_future_example.md) +- [Bonus 1: concurrent futures](2_1_concurrent_futures.md)