From 126e84521ae2541bb89c58997c3dd428659774c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Bevacqua?= Date: Wed, 15 Mar 2017 20:31:21 -0500 Subject: [PATCH 1/5] Start review of @rvagg's commentary! :tada: --- chapters/ch01.asciidoc | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/chapters/ch01.asciidoc b/chapters/ch01.asciidoc index a8f7bf9..5472201 100644 --- a/chapters/ch01.asciidoc +++ b/chapters/ch01.asciidoc @@ -1,7 +1,7 @@ [[ecmascript-and-the-future-of-javascript]] == ECMAScript and the Future of JavaScript -JavaScript has gone from being a 1995 marketing ploy to gain a tactical advantage, to becoming the core programming experience in the world's most widely used application runtime platform in 2017. The language doesn't merely run in browsers anymore, but is also used to create desktop and mobile applications, in hardware devices, and even in the vacuum of space. +JavaScript has gone from being a 1995 marketing ploy to gain a tactical advantage, to becoming the core programming experience in the world's most widely used application runtime platform in 2017. The language doesn't merely run in browsers anymore, but is also used to create desktop and mobile applications, in hardware devices, and even in space suit design at NASA. How did JavaScript get here, and where is it going next? @@ -47,7 +47,7 @@ Having spent ten years without observing significant change to the language spec Since ES6 came out, TC39 has streamlinedfootnote:[You can find the September 2013 presentation which lead to the streamlined proposal revisioning process here: https://mjavascript.com/out/tc39-improvement.] its proposal revisioning process and adjusted it to meet modern expectations: the need to iterate more often and consistently, and to democratize specification development. At this point, TC39 moved from an ancient Word-based flow to using ecmarkup and GitHub Pull Requests, greatly increasing the number of proposalsfootnoteref:[proposals,You can find all proposals being considered by TC39 at https://mjavascript.com/out/tc39-proposals.] being created as well as external participation by non-members. -Firefox, Chrome, Edge, Safari and Node.js all offer over 95% compliancy of the ES6 specification,footnote:[For a detailed ES6 compatibility report across browsers, check out the following table: https://mjavascript.com/out/es6-compat.] but we’ve been able to use the features as they came out in each of these browsers rather than having to wait until the flip of a switch when their implementation of ES6 was 100% finalized. +Firefox, Chrome, Edge, Safari and Node.js all offer over 95% compliance of the ES6 specification,footnote:[For a detailed ES6 compatibility report across browsers, check out the following table: https://mjavascript.com/out/es6-compat.] but we’ve been able to use the features as they came out in each of these browsers rather than having to wait until the flip of a switch when their implementation of ES6 was 100% finalized. The new process involves four different maturity stagesfootnote:[The TC39 proposal process documentation can be found at https://mjavascript.com/out/tc39-process.]. The more mature a proposal is, the more likely it is to eventually make it into the specification. @@ -160,7 +160,9 @@ For the next step, we'll replace the value of the +scripts+ property in +package [source,json] ---- { - "build": "babel src --out-dir dist" + "scripts": { + "build": "babel src --out-dir dist" + } } ---- @@ -258,12 +260,16 @@ Referencing the +node_modules/.bin+ directory, an implementation detail of how n [source,json] ---- -"lint": "eslint ." +{ + "scripts": { + "lint": "eslint ." + } +} ---- As you might recall from the Babel example, +npm+ add +node_modules+ to the +PATH+ when executing scripts. To lint our codebase, we can execute +npm run lint+ and npm will find the ESLint CLI embedded deep in the +node_modules+ directory. -Let's consider the following +example.js+ file, which is purposely ridden with style issues, to demonstrate what ESLint does. +Let's consider the following +example.js+ file, which is purposely riddled with style issues, to demonstrate what ESLint does. [source,javascript] ---- @@ -283,7 +289,11 @@ ESLint is able to fix most style problems automatically if we pass in a +--fix+ [source,json] ---- -"lint-fix": "eslint . --fix" +{ + "scripts": { + "lint-fix": "eslint . --fix" + } +} ---- When we run +lint-fix+ we'll only get a pair of errors: +hello+ is never used and +false+ is a constant condition. Every other error has been fixed in place, resulting in the bit of source code found below. The remaining errors weren't fixed because ESLint avoids making assumptions about our code, and prefers not to incur in semantic changes. In doing so, +--fix+ becomes a useful tool to resolve code style wrinkles without risking a broken program as a result. @@ -317,7 +327,7 @@ We get several new mechanics to describe asynchronous code flows in ES6: promise There's a common practice in JavaScript where developers use plain objects to create hash maps with arbitrary string keys. This can lead to vulnerabilities if we're not careful and let user input end up defining those keys. ES6 introduces a few different native built-ins to manage sets and maps, which don't have the limitation of using string keys exclusively. These collections are explored in chapter 5. -Proxy objects redefine what can be done through JavaScript reflection. Proxy objects are similar to proxies in other contexts, such as web traffic routing. They can intercept any interaction with a JavaScript object such as defining, deleting, or accessing a property. Given the mechanics of how proxies work, they are impossible to implement holistically as a polyfill. We'll devote chapter 6 to understanding proxies. +Proxy objects redefine what can be done through JavaScript reflection. Proxy objects are similar to proxies in other contexts, such as web traffic routing. They can intercept any interaction with a JavaScript object such as defining, deleting, or accessing a property. Given the mechanics of how proxies work, they are impossible to polyfill holistically: polyfills exist, but they have limitations making them incompatible with the specification in some use cases. We'll devote chapter 6 to understanding proxies. Besides new built-ins, ES6 comes with several updates to +Number+, +Math+, +Array+, and strings. In chapter 7 we'll go over a plethora of new instance and static methods added to these built-ins. From c8e33bf84061a6ebf5cc290f8082996fac90b7a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Bevacqua?= Date: Wed, 15 Mar 2017 20:45:43 -0500 Subject: [PATCH 2/5] naming clarification and arguments example. --- chapters/ch02.asciidoc | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/chapters/ch02.asciidoc b/chapters/ch02.asciidoc index a6efa77..a0925a9 100644 --- a/chapters/ch02.asciidoc +++ b/chapters/ch02.asciidoc @@ -232,7 +232,7 @@ var example = (parameters) => { } ---- -While arrow functions look very similar to your typical anonymous function, they are fundamentally different: arrow functions can't have a name, they can't be used as constructors, they don't have a +prototype+ property, and they are bound to their lexical scope. +While arrow functions look very similar to your typical anonymous function, they are fundamentally different: arrow functions can't be named explicitly, although modern runtimes can infer a name based on the variable they're assigned to; they can't be used as constructors nor do they have a +prototype+ property, meaning you can't use +new+ on an arrow function; and they are bound to their lexical scope, which is the reason why they don't alter the meaning of +this+. Let's dig into their semantic differences with traditional functions, the many ways to declare an arrow function, and practical use cases. @@ -261,6 +261,32 @@ If we had defined the function passed to +setInterval+ as a regular anonymous fu In a similar fashion, lexical binding in ES6 arrow functions also means that function calls won't be able to change the +this+ context when using +.call+, +.apply+, +.bind+, etc. That limitation is usually more useful than not, as it ensures that the context will always be preserved and constant. +Let's now shift our attention to the following example. What do you think the `console.log` statement will print? + +[source,javascript] +---- +function puzzle () { + return function () { + console.log(arguments) + } +} +puzzle('a', 'b', 'c')(1, 2, 3) +---- + +The answer is that `arguments` refers to the context of the anonymous function, and thus the arguments passed to that function will be printed. In this case, those arguments are `1, 2, 3`. + +What about in the following case, where we use an arrow function instead of the anonymous function in the previous example? + +[source,javascript] +---- +function puzzle () { + return () => console.log(arguments) +} +puzzle('a', 'b', 'c')(1, 2, 3) +---- + +In this case, the `arguments` object refers to the context of the `puzzle` function, because arrow functions don't create a closure. For this reason, the printed arguments will be `'a', 'b', 'c'`. + I've mentioned there's several flavors of arrow functions, but so far we've only looked at their fully fleshed version. What are the others way to represent an arrow function? ==== 2.2.2 Arrow Function Flavors From 598dc8b7c7e63dd8aee573b79d06aaa103f7bc3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Bevacqua?= Date: Thu, 16 Mar 2017 00:25:37 -0500 Subject: [PATCH 3/5] @rvagg's comments for chapter 2 addressed. should check `for` examples for correctness. --- chapters/ch02.asciidoc | 73 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 66 insertions(+), 7 deletions(-) diff --git a/chapters/ch02.asciidoc b/chapters/ch02.asciidoc index a0925a9..f5b0c9f 100644 --- a/chapters/ch02.asciidoc +++ b/chapters/ch02.asciidoc @@ -300,7 +300,7 @@ var example = (parameters) => { } ---- -An arrow function with exactly one parameter can omit the parenthesis. This is optional. It's useful when passing the arrow function to another method, as it reduces the amount of parenthesis involved, making it easier for humans to parse the code. +An arrow function with exactly one parameter can omit the parenthesis. This is optional. It's useful when passing the arrow function to another method, as it reduces the amount of parenthesis involved, making it easier for some humans to parse the code. [source,javascript] ---- @@ -887,8 +887,8 @@ In ES6, you can combine spread with array destructuring. The following piece of [source,javascript] ---- -var [first, second, ...rest] = ['a', 'b', 'c', 'd', 'e'] -console.log(rest) +var [first, second, ...other] = ['a', 'b', 'c', 'd', 'e'] +console.log(other) // <- ['c', 'd', 'e'] ---- @@ -947,8 +947,8 @@ The following table summarizes the use cases we've discussed for the spread oper |======= |Use Case|ES5|ES6 |Concatenation|+[1, 2].concat(more)+|+[1, 2, ...more]+ -|Push onto list|+list.push.apply(list, [3, 4])+|+list.push(...[3, 4])+ -|Destructuring|+a = list[0], rest = list.slice(1)+ | +[a, ...rest] = list+ +|Push an array onto list|+list.push.apply(list, items)+|+list.push(...items)+ +|Destructuring|+a = list[0], other = list.slice(1)+ | +[a, ...other] = list+ |+new+ and +apply+|+new (Date.bind.apply(Date, [null,2015,31,8]))+| +new Date(...[2015,31,8])+ |======= @@ -1088,7 +1088,37 @@ The template we've just prepared would produce output like what's shown in the f ---- -Sometimes, it might be a good idea to pre-process the results of expressions before inserting them into your templates. For these advanced kinds of use cases, it's possible to use another feature of template literals called tagged templates. +A downside when it comes to multi-line template literals is indentation. The following example shows a typically indented piece of code with a template literal contained in a function. While we may have expected no indentation, the string is has four spaces of indentation. + +[source,javascript] +---- +function getParagraph () { + return ` + Dear Rod, + + This is a template literal string that's indented + four spaces. However, you may have expected for it + to be not indented at all. + + Nico + ` +} +---- + +While not ideal, we could get away with a utility function to remove indentation from each line in the resulting string. + +[source,javascript] +---- +function unindent (text) { + return text + .split('\n') + .map(line => line.slice(4)) + .join('\n') + .trim() +} +---- + +Sometimes, it might be a good idea to pre-process the results of interpolated expressions before inserting them into your templates. For these advanced kinds of use cases, it's possible to use another feature of template literals called tagged templates. ==== 2.5.3 Tagged Templates @@ -1152,7 +1182,7 @@ console.log(text) // <- 'Hello MAURICE, I am THRILLED to meet you!' ---- -A decidedly more useful use case would be to sanitize expressions interpolated into your templates, automatically, using a tagged template. Given a template where all expressions are considered user-input, we could use a hypothetical +sanitize+ library to remove HTML tags and similar hazards. +A decidedly more useful use case would be to sanitize expressions interpolated into your templates, automatically, using a tagged template. Given a template where all expressions are considered user-input, we could use a hypothetical +sanitize+ library to remove HTML tags and similar hazards, preventing cross site scripting (XSS) attacks where users might inject malicious HTML into our websites. [source,javascript] ---- @@ -1251,6 +1281,35 @@ console.log(i) // <- i is not defined ---- +Given +let+ variables declared in a loop are scoped to each step in the loop, the bindings would work as expected in combination with an asynchronous function call, as opposed to what we're used to with +var+. Let's look at concrete examples. + +First, we'll look at the typical example of how +var+ scoping works. The +i+ binding is scoped to the +printNumbers+ function, and its value increases all the way to +10+ as each timeout callback is scheduled. By the time each callbacks run -- one every 100 milliseconds -- +i+ has a value of +10+ and thus that's what's printed every single time. + +[source,javascript] +---- +function printNumbers () { + for (var i = 0; i < 10; i++) { + setTimeout(function () { + console.log(i) + }, i * 100) + } +} +printNumbers() +---- + +Using +let+, in contrast, binds the variable to the block's scope. Indeed, each step in the loop still increases the value of the variable, but a new binding is created each step of the way, meaning that each timeout callback will hold a reference to the binding holding the value of +i+ at the point when the callback was scheduled, printing every number from +0+ through +9+ as expected. + +[source,javascript] +---- +function printNumbers () { + for (let i = 0; i < 10; i++) { + setTimeout(function () { + console.log(i) + }, i * 100) + } +} +printNumbers() +---- One more thing of note about +let+ is a concept called the "Temporal Dead Zone". From 70e2882d619458413fd64f129d02717ae52a9be9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Bevacqua?= Date: Tue, 21 Mar 2017 01:25:56 -0300 Subject: [PATCH 4/5] review chapters 3 and 4 via @rvagg --- chapters/ch03.asciidoc | 52 ++++-- chapters/ch04.asciidoc | 159 ++++++++++-------- images/c04g01-promisees.png | Bin 0 -> 416847 bytes ...problem.png => c04g02-halting-problem.png} | Bin 4 files changed, 130 insertions(+), 81 deletions(-) create mode 100644 images/c04g01-promisees.png rename images/{c04g01-halting-problem.png => c04g02-halting-problem.png} (100%) diff --git a/chapters/ch03.asciidoc b/chapters/ch03.asciidoc index acf219f..5d783d5 100644 --- a/chapters/ch03.asciidoc +++ b/chapters/ch03.asciidoc @@ -1,7 +1,7 @@ [[classes-symbols-and-symbols]] == Classes, Symbols, and Objects -Now that we've covered the basic improvements to the syntax, we're in good shape to take aim at a few other additions to the language: classes, and symbols. Classes provide syntax to represent prototypal inheritance under the traditional class-based programming paradigm. Symbols are a new primitive value type in JavaScript, like strings, booleans, and numbers. They can be used for defining protocols, and in this chapter we'll investigate what that means. When we're done with classes and symbols, we'll discuss a few new static methods added to the +Object+ built-in in ES6. +Now that we've covered the basic improvements to the syntax, we're in good shape to take aim at a few other additions to the language: classes, and symbols. Classes provide syntax to represent prototypal inheritance under the traditional class-based programming paradigm. Symbols are a new primitive value type in JavaScript, like strings, booleans, and numbers. They can be used for defining protocols, and in this chapter we'll investigate what that means. When we're done with classes and symbols, we'll discuss a few new static methods added to the `Object` built-in in ES6. === 3.1 Classes @@ -221,9 +221,24 @@ console.log(person.satiety) // <- 40 ---- -Sometimes it's also important to have static methods at the class level, rather than at the instance level. JavaScript classes allow you to define such methods using the +static+ keyword, much like you would use +get+ or +set+ as a prefix to a method definition that's a getter or a setter. +Sometimes it's necessary to add static methods at the class level, rather than members at the instance level. Using syntax available before ES6 instance members have to be explicitly added to the prototype chain. Meanwhile, static methods should be added to the constructor directly. -The following example defines a +MathHelper+ class with a static +sum+ method that's able to calculate the sum of all numbers passed to it in a function call, by taking advantage of the +Array.prototype.reduce+ method. +[source,javascript] +---- +function Person () { + this.hunger = 100 +} +Person.prototype.eat = function () { + this.hunger-- +} +Person.isPerson = function (person) { + return person instanceof Person +} +---- + +JavaScript classes allow you to define static methods like +Person.isPerson+ using the +static+ keyword, much like you would use +get+ or +set+ as a prefix to a method definition that's a getter or a setter. + +The following example defines a +MathHelper+ class with a static +sum+ method that's able to calculate the sum of all numbers passed to it in a function call, by taking advantage of the `Array#reduce` method. [source,javascript] ---- @@ -253,7 +268,7 @@ Banana.prototype.slice = function () { } ---- -Given the ephemeral knowledge one has to remember, and the fact that `Object.create` was only made available in ES5, JavaScript developers have historically turned to libraries to resolve their prototype inheritance issues. One such example is +util.inherits+ in Node.js, which is usually favored over `Object.create` for legacy support reasons. +Given the ephemeral knowledge one has to remember, and the fact that `Object.create` was only made available in ES5, JavaScript developers have historically turned to libraries to resolve their prototype inheritance issues. One such example is `util.inherits` in Node.js, which is usually favored over `Object.create` for legacy support reasons. [source,javascript] ---- @@ -673,7 +688,7 @@ function md (input, options=defaults) { } ---- -The default values have to be merged with user-provided configuration, somehow. That's where +Object.assign+ comes in, as shown in the following example. Here, we start with an empty +{}+ object, copy our default values over to it, and then copy the options on top. The resulting +config+ object will have all of the default values plus the user-provided configuration. +The default values have to be merged with user-provided configuration, somehow. That's where +Object.assign+ comes in, as shown in the following example. We start with an empty +{}+ object, -- which will be mutated and returned by `Object.assign` -- we copy the default values over to it, and then copy the options on top. The resulting +config+ object will have all of the default values plus the user-provided configuration. [source,javascript] ---- @@ -682,6 +697,23 @@ function md (input, options) { } ---- +.Understanding the `target` of `Object.assign` +[WARNING] +==== +The `Object.assign` function mutates its first argument. It's signature is `(target, ...sources)`. Every source is applied onto the target object, source by source and property by property. + +Consider the following scenario, where we don't pass an empty object as the first argument of `Object.assign`, instead just providing it with the `defaults` and the `options`. We would be changing the contents of the `defaults` object, losing some of our default values -- and obtaining some wrong ones -- in the process of mutating the object. The first invocation would produce the same result as the previous example, but it would modify our defaults in the process, changing how subsequent calls to +md+ work. + +[source,javascript] +---- +function md (input, options) { + const config = Object.assign(defaults, options) +} +---- + +For this reason, it's generally best to pass a brand new object on the first position, every time. +==== + For any properties that had a default value where the user also provided a value, the user-provided value will prevail. Here's how +Object.assign+ works. First, it takes the first argument passed to it, let's call it +target+. It then iterates over all keys of each of the other arguments, let's call them +sources+. For each source in +sources+, all of its properties are iterated and assigned to +target+. The end result is that right-most sources -- in our case, the +options+ object -- overwrite any previously assigned values, as shown in the following bit of code. [source,javascript] @@ -739,7 +771,7 @@ Object.assign({}, { a: ['b', 'c', 'd'] }, { a: ['e', 'f'] }) // <- { a: ['e', 'f'] } ---- -At the time of this writing, there's an ECMAScript stage 3 proposal to implement spread in objects, similar to how you can spread iterable objects onto an array in ES6. Spreading an object onto another is equivalent to using an +Object.assign+ function call. +At the time of this writing, there's an ECMAScript stage 3 proposalfootnote:[You can find the proposal draft at: https://mjavascript.com/out/object-spread.] to implement spread in objects, similar to how you can spread iterable objects onto an array in ES6. Spreading an object onto another is equivalent to using an +Object.assign+ function call. The following piece of code shows a few cases where we're spreading the properties of an object onto another one, and the +Object.assign+ counterpart. As you can see, using object spread is more succint and should be preferred where possible. @@ -810,7 +842,7 @@ Object.is(-0, +0) // <- false ---- -These differences may not seem like much, but dealing with +NaN+ has always been cumbersome because of its special quirks, such as +typeof NaN+ being +'number'+ and it not being equal to itself. +These differences may not seem like much, but dealing with +NaN+ has always been cumbersome because of its special quirks, such as +typeof NaN+ being `'number'` and it not being equal to itself. ==== 3.3.3 +Object.setPrototypeOf+ @@ -825,7 +857,7 @@ const cat = Object.create(baseCat) cat.name = 'Milanesita' ---- -The `Object.create` method is, however, limited to newly created objects. In contrast, we could use +Object.setPrototypeOf+ to change the prototype of an object that already exists, as shown in the following code snippet. +The `Object.create` method is, however, limited to newly created objects. In contrast, we could use `Object.setPrototypeOf` to change the prototype of an object that already exists, as shown in the following code snippet. [source,javascript] ---- @@ -833,12 +865,12 @@ const baseCat = { type: 'cat', legs: 4 } const cat = Object.setPrototypeOf({ name: 'Milanesita' }, baseCat) ---- -Note however that there are serious performance implications when using +Obect.setPrototypeOf+ as opposed to `Object.create`, and some careful consideration is in order before you decide to go ahead and sprinkle +Object.setPrototypeOf+ all over a codebase. +Note however that there are serious performance implications when using `Obect.setPrototypeOf` as opposed to `Object.create`, and some careful consideration is in order before you decide to go ahead and sprinkle `Object.setPrototypeOf` all over a codebase. .Performance issues [WARNING] ==== -Using +Object.setPrototypeOf+ to change the prototype of an object is an expensive operation. Here is what the Mozilla Developer Network documentation has to say about the matter. +Using `Object.setPrototypeOf` to change the prototype of an object is an expensive operation. Here is what the Mozilla Developer Network documentation has to say about the matter. [quote, Mozilla Developer Network] ____ diff --git a/chapters/ch04.asciidoc b/chapters/ch04.asciidoc index 2208de2..14230dc 100644 --- a/chapters/ch04.asciidoc +++ b/chapters/ch04.asciidoc @@ -7,11 +7,11 @@ To kick off the chapter, we'll start by discussing promises. Promises have exist === 4.1 Promises -Promises can be vaguely defined as "a proxy for a value that will eventually become available". While we can write synchronous code inside Promises, Promise-based code flows in a strictly asynchronous manner. Promises make asynchronous flows easier to reason about -- once you've mastered promises, that is. +Promises can be vaguely defined as "a proxy for a value that will eventually become available". While we can write synchronous code inside promises, promise-based code flows in a strictly asynchronous manner. Promises can make asynchronous flows easier to reason about -- once you've mastered promises, that is. ==== 4.1.1 Getting Started with Promises -As an example, let's take a look at the upcoming browser +fetch+ API. This API is a simplification of +XMLHttpRequest+. It aims to be super simple to use for the most basic use cases: making a +GET+ request against an HTTP resource. It also provides a comprehensive API that caters to advanced use cases as well, but that's not our focus for now. In its most basic incarnation, you can make a +GET /items+ request using a piece of code like the following. +As an example, let's take a look at the upcoming browser +fetch+ API. This API is a simplification of +XMLHttpRequest+. It aims to be super simple to use for the most basic use cases: making a +GET+ request against an HTTP resource. It provides an extensive API that caters to advanced use cases, but that's not our focus for now. In its most basic incarnation, you can make a +GET /items+ HTTP request using a piece of code like the following. [source,javascript] ---- @@ -71,7 +71,7 @@ p.then(null, error => { .Promises as an alternative to callbacks and events **** -Traditionally JavaScript relied on callbacks instead of promises and chaining. If the +fetch+ function asked for a callback, you'd have to add one that would then get executed whenever the fetch operation ends. Typical asynchronous code flow conventions in Node.js established a best practice of reserving the first parameter in the callback for errors -- that may or may not occur -- during the fetching process. The rest of the parameters can be used to read the results of the asynchronous operation. Most commonly, a single data parameter is used. The next bit of code shows how +fetch+ would look like if it had a callback-based API. +Traditionally JavaScript relied on callbacks instead of promises and chaining. If the +fetch+ function asked for a callback, you'd have to add one that would then get executed whenever the fetch operation ends. Typical asynchronous code flow conventions in Node.js established a best practice of reserving the first parameter in the callback for errors -- that may or may not occur -- during the fetching process. The rest of the parameters can be used to read the results of the asynchronous operation. Most commonly, a single data parameter is used. The next bit of code shows how +fetch+ would look if it had a callback-based API. [source,javascript] ---- @@ -86,7 +86,7 @@ fetch('/items', (err, res) => { The callback wouldn't be invoked until the +/items+ resource has been retrieved, or an error arises from the +fetch+ operation. Execution remains asynchronous and non-blocking. Note that in this model you could only specify a single callback. That callback would be responsible for all functionality derived from the response, and it'd be up to the consumer to come up with a mechanism to compose different aspects of handling the response into that single callback. -Besides traditional callbacks, another API design choice might have been to use an event-driven model. In this case the object returned by +fetch+ would be able to register callbacks for different kinds of events, binding as many event handlers as needed for any events -- just like when you attach event listeners to the browser DOM. Typically there's an +error+ event that's raised when things go awry, and other events that are raised when something notable happens. In the following piece of code, we show how +fetch+ would look like if it had an event-based API. +Besides traditional callbacks, another API design choice might have been to use an event-driven model. In this case the object returned by +fetch+ would be able to register callbacks for different kinds of events, binding as many event handlers as needed for any events -- just like when you attach event listeners to the browser DOM. Typically there's an +error+ event that's raised when things go awry, and other events that are raised when something notable happens. In the following piece of code, we show how +fetch+ would look if it had an event-based API. [source,javascript] ---- @@ -104,10 +104,18 @@ Binding several listeners for each type of event would eliminate the concern we When it comes to promises, chaining is a major source of confusion. In an event-based API, chaining is made possible by having the +.on+ method attach the event listener and then returning the event emitter itself. Promises are different. The +.then+ and +.catch+ methods return a new promise every time. That's important because chaining can have wildly different results depending on where you append a +.then+ or a +.catch+ call onto. -.A major source of confusion +.Visualizing Promise chains: a major source of confusion [WARNING] ==== The +.then+ and +.catch+ methods return a new promise every time, creating a tree-like data structure. If you had a +p1+ promise and a +p2+ promise returned by +p1.then+, the +p1+ and +p2+ promises would be nodes connected by the +p1.then+ reaction handler. Reactions create new promises that are attached to the tree as children of the promise they're reacting to. + +When we chain promises, we need to understand that `p1.then(r1).then(r2)` creates two new `p2` and `p3` promises. The second reaction, `r2`, is going to fire if `p2` fulfills, while the `r1` reaction will fire when `p1` is fulfilled. When we have a statement such as `p1.then(r1); p1.then(r2)`, in contrast, both `r1` and `r2` will fire if `p1` is fulfilled. A discrepancy occurs when `p1` fulfills but `p2` doesn't. + +Figuring out the tree-like nature of promises is the key to unlocking a deep understanding of how promises behave. To this end, I've created an online tool called Promisees you can use to play around with promise chains while visualizing the tree structure they leave behind. + +image::../images/c04g01-promisees.png["Promisees lets you write a piece of code and visualize how the underlying graph evolves as promises are settled in fulfillment or rejection."] + +You can find Promisees at https://mjavascript.com/out/promisees. ==== A promise is created by passing the +Promise+ constructor a resolver that decides how and when the promise is settled, by calling either a +resolve+ method that will settle the promise in fulfillment or a +reject+ method that'd settle the promise as a rejection. Until the promise is settled by calling either function, it'll be in pending state and any reactions attached to it won't be executed. The following snippet of code creates a promise from scratch where we'll wait for a second before randomly settling the promise with a fulfillment or rejection result. @@ -135,7 +143,7 @@ Promise // <- 123 ---- -When a +p+ promise is fulfilled, reactions registered with +p.then+ are executed. When a +p+ promise is rejected, reactions registered with +p.catch+ are executed. Those reactions can, in turn, result in three different situations depending on whether they return a value, +throw+ an error, or return a +Promise+ or thenable. Thenables are objects considered promise-like that can be casted into a +Promise+ using +Promise.resolve+ as observed in section 4.1.3. +When a +p+ promise is fulfilled, reactions registered with +p.then+ are executed. When a +p+ promise is rejected, reactions registered with +p.catch+ are executed. Those reactions can, in turn, result in three different situations depending on whether they return a value, a +Promise+, a thenable, or +throw+ an error. Thenables are objects considered promise-like that can be casted into a +Promise+ using +Promise.resolve+ as observed in section 4.1.3. A reaction may return a value, which would cause the promise returned by +.then+ to become fulfilled with that value. In this sense, promises can be chained to transform the fulfillment value of the previous promise over and over, as shown in the following snippet of code. @@ -719,7 +727,7 @@ This sort of abstraction of complexity into another function often helps keep co ==== Iterators don't have any knowledge that the sequences they produce are infinite. In a similar situation to the famous halting problem, there is no way of knowing whether the sequence is infinite or not in code. -image::../images/c04g01-halting-problem.png["The halting problem depicted by XKCD comic 1266"] +image::../images/c04g02-halting-problem.png["The halting problem depicted in an XKCD comic: https://mjavascript.com/out/xkcd-1266."] You typically have a good idea of whether a sequence is infinite or not. Whenever you have an infinite sequence it's up to you to add an escape condition that ensures the program won't crash in an attempt to loop over every single value in the sequence. While +for..of+ won't run into the problem unless there's no escape condition, using mechanisms such as spread or +Array.from+ would immediately result in the program crashing into an infinite loop in the case of infinite sequences. ==== @@ -749,7 +757,7 @@ const colors = { green: '#0e0', orange: '#f50', pink: '#e07', - [Symbol.iterator] () { + [Symbol.iterator]() { const keys = Object.keys(colors) return { next () { @@ -832,26 +840,26 @@ const songs = [ We could create a +playlist+ function that returns a sequence, representing all the songs that will be played by our application. This function would take the +songs+ provided by the human as well as the +repeat+ value, which indicates how many times they want the songs to be reproduced in a loop -- once, twice, or +Infinity+ times -- before coming to an end. -The following piece of code shows how we could implement +playlist+. We could start with an empty playlist. In each turn of the loop we'll check if there are any songs left to play. If there aren't any songs left, and we have a +repeat+ value above zero, we'll create a +copy+ of the song list provided by the user. We use that +copy+ as state, to know where we are in their song list. We'll return the first song in the list by pulling it with +.shift+, until there aren't any songs left in our +copy+. The sequence ends when there aren't any songs left and +repeat+ is zero or less. +The following piece of code shows how we could implement +playlist+. We start with an empty playlist and use an +index+ number to track where in the song list we are positioned. We return the next song in the list by incrementing the +index+, until there aren't any songs left in the current loop. At this point we decrement om the `repeat` count and reset the `index`. The sequence ends when there aren't any songs left and +repeat+ reaches zero. [source,javascript] ---- function playlist (songs, repeat) { return { - [Symbol.iterator] () { - let copy = [] + [Symbol.iterator]() { + let index = 0 return { next () { - if (copy.length === 0) { - if (repeat < 1) { - return { done: true } - } - copy = songs.slice() + if (index >= songs.length) { repeat-- + index = 0 } - return { - value: copy.shift(), done: false + if (repeat < 1) { + return { done: true } } + const song = songs[index] + index++ + return { done: false, value: song } } } } @@ -867,7 +875,7 @@ console.log([...playlist(['a', 'b'], 3)]) // <- ['a', 'b', 'a', 'b', 'a', 'b'] ---- -To iterate over the playlist we'd probably come up with a +player+ function. Assuming a +playSong+ function that reproduces a song and invokes a callback when the song ends, our +player+ implementation could look like the following function, where we asynchronously loop the iterator coming from a sequence, requesting new songs as previous ones finish playback. Given that there's always a considerable waiting period in between +g.next+ calls -- while the songs are actually played inside +playSong+ -- there's no risk of running into an infinite loop even when the sequence produced by +playlist+ is infinite. +To iterate over the playlist we'd probably come up with a +player+ function. Assuming a +playSong+ function that reproduces a song and invokes a callback when the song ends, our +player+ implementation could look like the following function, where we asynchronously loop the iterator coming from a sequence, requesting new songs as previous ones finish playback. Given that there's always a considerable waiting period in between +g.next+ calls -- while the songs are actually playing inside +playSong+ -- there's little risk of being stuck in an infinite loop that'd crash the runtime, even when the sequence produced by +playlist+ is infinite. [source,javascript] ---- @@ -898,37 +906,35 @@ const sequence = playlist(songs, Infinity) player(sequence) ---- -A change allowing the human to shuffle their playlist wouldn't be complicated to introduce. We'd have to tweak the +playlist+ function to include a +shuffle+ flag. That way, each step where we reproduce the list of user-provided songs could +A change allowing the human to shuffle their playlist wouldn't be complicated to introduce. We'd have to tweak the +playlist+ function to include a +shuffle+ flag, and if that flag is present we'd sort the song list at random. [source,javascript] ---- -function playlist (songs, repeat, shuffle) { +function playlist (inputSongs, repeat, shuffle) { + const songs = shuffle ? shuffleSongs(inputSongs) : inputSongs return { - [Symbol.iterator] () { - let copy = [] + [Symbol.iterator]() { + let index = 0 return { next () { - if (copy.length === 0) { - if (repeat < 1) { - return { done: true } - } - copy = songs.slice() + if (index >= songs.length) { repeat-- + index = 0 } - const value = shuffle ? randomSong() : nextSong() - return { done: false, value } + if (repeat < 1) { + return { done: true } + } + const song = songs[index] + index++ + return { done: false, value: song } } } - function randomSong () { - const index = Math.floor(Math.random() * copy.length) - return copy.splice(index, 1)[0] - } - function nextSong () { - return copy.shift() - } } } } +function shuffleSongs (songs) { + return songs.slice().sort(() => Math.random() > 0.5 ? 1 : -1) +} ---- Lastly, we'd have to pass in the +shuffle+ flag as +true+ if we wanted to shuffle songs in each repeat cycle. Otherwise, songs would be reproduced in the original order provided by the user. Here again we've abstracted away something that usually would involve many lines of code used to decide what song comes next into a neatly decoupled function that's only concerned with producing a sequence of songs to be reproduced by a song player. @@ -939,6 +945,17 @@ console.log([...playlist(['a', 'b'], 3, true)]) // <- ['a', 'b', 'b', 'a', 'a', 'b'] ---- +You may have noticed how the `playlist` function doesn't necessarily need to concern itself with the sort order of the songs passed to it. A better design choice may well be to extract shuffling into the calling code. If we kept the original +playlist+ code we had earlier, we could use code like the following to obtain a shuffled song collection. + +[source,javascript] +---- +function shuffleSongs (songs) { + return songs.slice().sort(() => Math.random() > 0.5 ? 1 : -1) +} +console.log([...playlist(shuffleSongs(['a', 'b']), 3)]) +// <- ['a', 'b', 'b', 'a', 'a', 'b'] +---- + Iterators are an important tool in ES6 that help us not only to decouple code but also to come up with constructs that were previously harder to implement, such as the ability of dealing with a sequence of songs indistinctly -- regardless of whether the sequence is finite or infinite. This indifference is, in part, what makes writing code leveraging the iterator protocol more elegant. It also makes it risky to cast an unknown iterable into an array (with, say, the +...+ spread operator), as you're risking crashing your program due to an infinite loop. Generators are an alternative way of creating functions that return an iterable object, without explicitly declaring an object literal with a +Symbol.iterator+ method. They make it easier to implement functions, such as the +range+ or +take+ functions in section 4.2.2, while also allowing for a few more interesting use cases. @@ -1279,7 +1296,7 @@ Yet another benefit of asking consumers to provide a generator function is that ==== 4.3.5 Dealing with asynchronous flows -Staying on the subject of our magic 8-ball, and going back to the example where we call +ball+ with a user-provided +questions+ generator, let's reminisce about what would change about our code if the answers were to be provided asynchronously. The beauty of generators is that if the way we iterate over the questions were to become asynchronous, the generator wouldn't have to change at all. We already have the ability to suspend execution in the generator while we fetch the answers to the questions, and all it'd take would be to ask a service for the answer to the current question, return that value via an intermediary +yield+ statement or in some other way, and then call +g.next+ on the +questions+ generator object. +Staying on the subject of our magic 8-ball, and going back to the example where we call +ball+ with a user-provided +questions+ generator, let's consider what would change about our code if the answers were to be provided asynchronously. The beauty of generators is that if the way we iterate over the questions were to become asynchronous, the generator wouldn't have to change at all. We already have the ability to suspend execution in the generator while we fetch the answers to the questions, and all it'd take would be to ask a service for the answer to the current question, return that value via an intermediary +yield+ statement or in some other way, and then call +g.next+ on the +questions+ generator object. Let's assume we're back at the following usage of +ball+. @@ -1626,7 +1643,7 @@ We've looked into flow control mechanisms such as callbacks, events, promises, i Languages like Python and C# have had +async+ / +await+ for a while. In ES2017, JavaScript gained native syntax that can be used to describe asynchronous operations. -Let's go over a quick recap comparing promises, callbacks and generators. Afterwards we'll look into Async Functions in JavaScript, and how this new feature can help make our code more readable. +Let's go over a quick recap comparing promises, callbacks and generators. Afterwards we'll look into async functions in JavaScript, and how this new feature can help make our code more readable. ==== 4.4.1 Flavors of Async Code @@ -1722,17 +1739,17 @@ getRandomArticle(function* printRandomArticle () { }); ---- -Generators may not be the most straightforward way of accomplishing the results that we want in this case: you're only moving the complexity somewhere else. We might as well stick with Promises. +Generators may not be the most straightforward way of accomplishing the results that we want in this case: you're only moving the complexity somewhere else. We might as well stick with promises. Besides involving an unintuitive syntax into the mix, your iterator code will be highly coupled to the generator function that's being consumed. That means you'll have to change it often as you add new +yield+ expressions to the generator code. -A better alternative would be to use an Async Function. +A better alternative would be to use an async function. ==== 4.4.2 Using +async+ / +await+ -Async Functions let us take a +Promise+-based implementation and take advantage of the synchronous-looking generator style. A huge benefit in this approach is that you won't have to change the original +getRandomArticle+ at all: as long as it returns a promise it can be awaited. +Async functions let us take a promise-based implementation and take advantage of the synchronous-looking generator style. A huge benefit in this approach is that you won't have to change the original +getRandomArticle+ at all: as long as it returns a promise it can be awaited. -Note that +await+ may only be used inside Async Functions, marked with the +async+ keyword. Async Functions work similarly to generators, by suspending execution in the local context until a promise settles. If the awaited expression isn't originally a promise, it gets casted into a promise. +Note that +await+ may only be used inside async functions, marked with the +async+ keyword. Async functions work similarly to generators, by suspending execution in the local context until a promise settles. If the awaited expression isn't originally a promise, it gets casted into a promise. The following piece of code consumes our original +getRandomArticle+, which relied on promises. Then it runs that model through an asynchronous +renderView+ function, which returns a bit of HTML, and updates the page. Note how we can use +try+ / +catch+ to handle errors in awaited promises from within the +async+ function, treating completely asynchronous code as if it were synchronous. @@ -1752,7 +1769,7 @@ async function read () { read() ---- -An Async Function always returns a +Promise+. In the case of uncaught exceptions, the returned promise settles in rejection. Otherwise, the returned promise resolves to the return value. This aspect of Async Functions allows us to mix them with regular promise-based continuation as well. The following example shows how the two may be combined. +An async function always returns a +Promise+. In the case of uncaught exceptions, the returned promise settles in rejection. Otherwise, the returned promise resolves to the return value. This aspect of async functions allows us to mix them with regular promise-based continuation as well. The following example shows how the two may be combined. [source,javascript] ---- @@ -1768,7 +1785,7 @@ read() .catch(err => console.error(err)) ---- -Making the +read+ function a bit more reusable, we could return the resulting +html+, and allow consumers to do continuation using promises or yet another Async Function. That way, your +read+ function becomes only concerned with pulling down the HTML for a view. +Making the +read+ function a bit more reusable, we could return the resulting +html+, and allow consumers to do continuation using promises or yet another async function. That way, your +read+ function becomes only concerned with pulling down the HTML for a view. [source,javascript] ---- @@ -1786,7 +1803,7 @@ Following the example, we can use plain promises to prints the HTML. read().then(html => console.log(html)) ---- -Using Async Functions wouldn't be all that difficult for continuation, either. In the next snippet, we create a +write+ function used for continuation. +Using async functions wouldn't be all that difficult for continuation, either. In the next snippet, we create a +write+ function used for continuation. [source,javascript] ---- @@ -1800,7 +1817,7 @@ What about concurrent asynchronous flows? ==== 4.4.3 Concurrent Async Flows -In asynchronous code flows, it is commonplace to execute two or more tasks concurrently. While Async Functions make it easier to write asynchronous code, they also lend themselves to code that executes one asynchronous operation at a time. A function with multiple +await+ expressions in it will be suspended once at a time on each +await+ expression until that +Promise+ is settled, before unsuspending execution and moving onto the next +await+ expression -- this is a similar case to what we observe with generators and +yield+. +In asynchronous code flows, it is commonplace to execute two or more tasks concurrently. While async functions make it easier to write asynchronous code, they also lend themselves to code that executes one asynchronous operation at a time. A function with multiple +await+ expressions in it will be suspended once at a time on each +await+ expression until that +Promise+ is settled, before unsuspending execution and moving onto the next +await+ expression -- this is a similar case to what we observe with generators and +yield+. [source,javascript] ---- @@ -1830,7 +1847,7 @@ async function concurrent () { } ---- -Promises offer an alternative to +Promise.all+ in +Promise.race+. We can use +Promise.race+ to get the result from the promise that fulfills quicker. +We could use +Promise.race+ to get the result from the promise that fulfills quicker. [source,javascript] ---- @@ -1846,13 +1863,13 @@ async function race () { ==== 4.4.4 Error Handling -Errors are swallowed silently within an +async+ function, just like inside normal Promises, due to Async Functions being wrapped in a +Promise+. Uncaught exceptions raised in the body of your Async Function or during suspended execution while evaluating an +await+ expresion will reject the promise returned by the +async+ function. +Errors are swallowed silently within an +async+ function, just like inside normal Promises, due to async functions being wrapped in a +Promise+. Uncaught exceptions raised in the body of your async function or during suspended execution while evaluating an +await+ expresion will reject the promise returned by the +async+ function. -That is, unless we add +try+ / +catch+ blocks around +await+ expressions. For the portion of the Async Function code that's wrapped, errors are treated under typical +try+ / +catch+ semantics. +That is, unless we add +try+ / +catch+ blocks around +await+ expressions. For the portion of the async function code that's wrapped, errors are treated under typical +try+ / +catch+ semantics. -Naturally, this can be seen as a strength: you can leverage +try+ / +catch+ conventions, something you were unable to do with asynchronous callbacks, and somewhat able to when using promises. In this sense, Async Functions are akin to generators, where we can take advantage of +try+ / +catch+ thanks to function execution suspension turning asynchronous flows into seemingly synchronous code. +Naturally, this can be seen as a strength: you can leverage +try+ / +catch+ conventions, something you were unable to do with asynchronous callbacks, and somewhat able to when using promises. In this sense, async functions are akin to generators, where we can take advantage of +try+ / +catch+ thanks to function execution suspension turning asynchronous flows into seemingly synchronous code. -Furthermore, you're able to catch these exceptions from outside the +async+ function, by adding a +.catch+ clause to the promise they return. While this is a flexible way of combining the +try+ / +catch+ error handling flavor with +.catch+ clauses in Promises, it can also lead to confusion and ultimately cause to errors going unhandled, unless everyone reading the code is comfortable with async function semantics in terms of the promise wrapper and how +try+ / +catch+ works under this context. +Furthermore, you're able to catch these exceptions from outside the +async+ function, by adding a +.catch+ clause to the promise they return. While this is a flexible way of combining the +try+ / +catch+ error handling flavor with +.catch+ clauses in promises, it can also lead to confusion and ultimately cause to errors going unhandled, unless everyone reading the code is comfortable with async function semantics in terms of the promise wrapper and how +try+ / +catch+ works under this context. [source,javascript] ---- @@ -1865,7 +1882,7 @@ As you can see, there's quite a few ways in which we can notice exceptions and t ==== 4.4.5 Understanding Async Function Internals -Async Functions leverage both generators and promises internally. Let's suppose we have the following Async Function. +Async functions leverage both generators and promises internally. Let's suppose we have the following async function. [source,javascript] ---- @@ -1930,7 +1947,7 @@ function spawn (generator) { } ---- -Consider the following Async Function. In order to print the result, we're also using promise-based continuation. Let's follow the code as a thought exercise. +Consider the following async function. In order to print the result, we're also using promise-based continuation. Let's follow the code as a thought exercise. [source,javascript] ---- @@ -1944,7 +1961,7 @@ exercise().then(result => console.log(result)) // <- ['slowest', 'slow'] ---- -First, we could translate the function to our +spawn+ based logic. We wrap the body of our Async Function in a generator passed to +spawn+, and replace any +await+ expressions with +yield+. +First, we could translate the function to our +spawn+ based logic. We wrap the body of our async function in a generator passed to +spawn+, and replace any +await+ expressions with +yield+. [source,javascript] ---- @@ -1960,7 +1977,7 @@ exercise().then(result => console.log(result)) // <- ['slowest', 'slow'] ---- -When +spawn+ is called with the generator function, it immediately creates a generator object and executes +step+ a first time, as seen in the next code snippet. The +step+ function will also be used whenever we reach a +yield+ expression, which are equivalent to the +await+ expressions in our Async Function. +When +spawn+ is called with the generator function, it immediately creates a generator object and executes +step+ a first time, as seen in the next code snippet. The +step+ function will also be used whenever we reach a +yield+ expression, which are equivalent to the +await+ expressions in our async function. [source,javascript] ---- @@ -1976,7 +1993,7 @@ function spawn (generator) { } ---- -The first thing that happens in the +step+ function is calling the +nextFn+ function inside a +try+ / +catch+ block. This resumes execution in the generator function. If the generator function were to produce an error, we'd fall into the +catch+ clause, and the underlying promise for our Async Function would be rejected without any further steps, as shown next. +The first thing that happens in the +step+ function is calling the +nextFn+ function inside a +try+ / +catch+ block. This resumes execution in the generator function. If the generator function were to produce an error, we'd fall into the +catch+ clause, and the underlying promise for our async function would be rejected without any further steps, as shown next. [source,javascript] ---- @@ -1996,16 +2013,16 @@ function runNext (nextFn) { } ---- -Back to the Async Function, code up until the following expression is evaluated. No errors are incurred, and execution in the Async Function is suspended once again. +Back to the async function, code up until the following expression is evaluated. No errors are incurred, and execution in the async function is suspended once again. [source,javascript] ---- yield new Promise(resolve => setTimeout(resolve, 500, 'slowest')) ---- -The yielded expression is received by +step+ as +next.value+, while +next.done+ indicates whether the generator sequence has ended. In this case, we receive the +Promise+ in the function controlling exactly how iteration should occur. At this time, +next.done+ is +false, meaning we won't be resolving the async function's wrapper Promise. We wrap +next.value+ in a fulfilled +Promise+, just in case we haven't received a +Promise+. +The yielded expression is received by +step+ as +next.value+, while +next.done+ indicates whether the generator sequence has ended. In this case, we receive the +Promise+ in the function controlling exactly how iteration should occur. At this time, +next.done+ is +false+, meaning we won't be resolving the async function's wrapper Promise. We wrap +next.value+ in a fulfilled +Promise+, just in case we haven't received a +Promise+. -We then wait on the +Promise+ to be fulfilled or rejected. If the promise is fulfilled, we push the fulfillment value to the generator function by advancing the generator sequence with +value+. If the promise is rejected, we would've used +g.throw+, which would've resulted in an error being raised in the generator function, causing the Async Function's wrapper promise to be rejected at +runNext+. +We then wait on the +Promise+ to be fulfilled or rejected. If the promise is fulfilled, we push the fulfillment value to the generator function by advancing the generator sequence with +value+. If the promise is rejected, we would've used +g.throw+, which would've resulted in an error being raised in the generator function, causing the async function's wrapper promise to be rejected at +runNext+. [source,javascript] ---- @@ -2028,14 +2045,14 @@ function step (nextFn) { Using +g.next()+ on its own means that the generator function resumes execution. By passing a value to +g.next(value)+, we've made it so that the +yield+ expression evaluates to that +value+. The +value+ in question is, in this case, the fulfillment value of the originally yielded +Promise+, which is +'slowest'+. -Back in the generator function, we assign +'slowest' to +r1+. +Back in the generator function, we assign `'slowest'` to `r1`. [source,javascript] ---- const r1 = yield new Promise(resolve => setTimeout(resolve, 500, 'slowest')) ---- -Then, execution runs up until the second +yield+ statement. The +yield+ expression once again causes execution in the Async Function to be suspended, and sends the new +Promise+ to the +spawn+ iterator. +Then, execution runs up until the second +yield+ statement. The +yield+ expression once again causes execution in the async function to be suspended, and sends the new +Promise+ to the +spawn+ iterator. [source,javascript] ---- @@ -2053,15 +2070,15 @@ return [r1, r2] At this point, +next+ evaluates to the following object. -[source,javascript] +[source,json] ---- { - value: ['slowest', 'slow'], - done: true + "value": ["slowest", "slow"], + "done": true } ---- -Immediately, the iterator checks that +next.done+ is indeed +true+, and resolves the Async Function to +['slowest', 'slow']+. +Immediately, the iterator checks that `next.done` is indeed `true`, and resolves the async function to `['slowest', 'slow']`. [source,javascript] ---- @@ -2080,9 +2097,9 @@ exercise().then(result => console.log(result)) // <- ['slowest', 'slow'] ---- -Async Functions, then, are little more than a sensible default when it comes to iterating generator functions in such a way that makes passing values back and forth as frictionless as possible. Some syntactic sugar hides away the generator function, the +spawn+ function used to iterate over the sequence of yielded expressions, and +yield+ becomes +await+. +Async functions, then, are little more than a sensible default when it comes to iterating generator functions in such a way that makes passing values back and forth as frictionless as possible. Some syntactic sugar hides away the generator function, the +spawn+ function used to iterate over the sequence of yielded expressions, and +yield+ becomes +await+. -Noting that Async Functions are syntactic sugar on top of generators and promises, we can also make a point about the importance of learning how each of these constructs work in order to get better insight into how you can mix, match, and combine all the different flavors of asynchronous code flows together. +Noting that async functions are syntactic sugar on top of generators and promises, we can also make a point about the importance of learning how each of these constructs work in order to get better insight into how you can mix, match, and combine all the different flavors of asynchronous code flows together. === 4.5 Asynchronous Iteration @@ -2129,7 +2146,7 @@ The contract for an iterator mandates that the +next+ method of +Symbol.iterator ==== 4.5.1 Async Iterators -In *async iterators*, the contract has a subtle difference: +next+ is supposed to return a +Promise+ that resolves to an object containing +value+ and +done+ properties. The promise enables the sequence to define asynchronous tasks before the next item in the series is resolved. A new +Symbol.asyncIterator+ is introduced to declare asynchronous iterators, in order to avoid confusion that would result of reusing +Symbol.iterator+. +In async iterators, the contract has a subtle difference: +next+ is supposed to return a +Promise+ that resolves to an object containing +value+ and +done+ properties. The promise enables the sequence to define asynchronous tasks before the next item in the series is resolved. A new +Symbol.asyncIterator+ is introduced to declare asynchronous iterators, in order to avoid confusion that would result of reusing +Symbol.iterator+. The +sequence+ iterable could be made compatible with the async iterator interface with two small changes: we replace +Symbol.iterator+ with +Symbol.asyncIterator+, and we wrap the return value for the +next+ method in +Promise.resolve+, thus returning a +Promise+. @@ -2167,7 +2184,7 @@ const interval = duration => ({ }) ---- -In order to consume an async iterator, we can leverage the new +for await..of+ construct introduced alongside Async Iterators. This is yet another way of writing code that behaves asynchronously yet looks synchronous. Note that +for await..of+ statements are only allowed inside Async Functions. +In order to consume an async iterator, we can leverage the new +for await..of+ construct introduced alongside async iterators. This is yet another way of writing code that behaves asynchronously yet looks synchronous. Note that +for await..of+ statements are only allowed inside async functions. [source,javascript] ---- @@ -2196,7 +2213,7 @@ async function* fetchInterval(duration, ...params) { When stepped over, async generators return objects with a +{ next, return, throw }+ signature, whose methods return promises for +{ next, done }+. This is in contrast with regular generators which return +{ next, done }+ directly. -You can consume the +interval+ async generator in exactly the same way you could consume the object-oriented async iterator. The following example consumes the +fetchInterval+ generator to poll an +/api/status+ HTTP resource and leverage its JSON response. After each step ends, we wait for a second and repeat the process. +You can consume the +fetchInterval+ async generator in exactly the same way you could consume the object-based +interval+ async iterator. The following example consumes the +fetchInterval+ generator to poll an +/api/status+ HTTP resource and leverage its JSON response. After each step ends, we wait for a second and repeat the process. [source,javascript] ---- diff --git a/images/c04g01-promisees.png b/images/c04g01-promisees.png new file mode 100644 index 0000000000000000000000000000000000000000..a1ec9af57017c5b6067a586688a74b4aefbda986 GIT binary patch literal 416847 zcmeFZcR1Va`#($<)uE-WRjXD@?V?stT2-s|3?)YG8i`F+OVysSLR*`lVvAX7kD3t? zYL5stVubM1`~G~#b3DiK+_%4;e}4YRk-YQ1uJbzg>pahQguT>IzDC7JMMg$;P35_g zHW?Y!BpKO-W6DdXSCpsd_{hkv-mz0ue5sV*8F@p zJp3XPuZy-k3f1V@=(0|7UrZN0k(BgoWFSkxk4s7#fnU8&@|)Yc`};Iu2cqXT_O8IWHsD8 z%E=UDU(T;aF3vAJ|IOC6`sDcyvU>t8b|UZxEe}K-`76W1wt|x{lBIOpTp1>N8TZ>} z(S7LEU9QW@(&SLVw>4Cjf*Mk3S2q1W7MGXXD#F!5#$^_ekL?1(Q$+5>_h~S-B22TN z>@J17A;!0l2i%Tay83CNODrfU#DMg7xw;s}ipAX_`4@E9ooTb*E6c+#ZC(Tz*bBCJ z4*zH=b2}uD>ZBgKDnuqv4#l%lm0fSU>S_azzAOFhgSPqW=#cI0CzkV%pFWm;!NS@{ zXZ0bpYYzT==|jY zt^~|vi9c~ocwa8u=A!cVez8(L;QNv40Ns5lFQv% zE^H(FDkq#w|Ga{Jt|bUw{_DoM`a~(wERT6m3B~ zL-*Z^jE;zy!8ys~XA)djgq`Sx7GjKP?sl+%nGJd7JZ@KH**ED~^0JOpCzFE4#tLpBXBGbbj5fxmwqJ?G5$r zQ&unXOD)nu5p0x~zp#5KT^UqXyTR8+?)tPohK%!S*b|yqE6!^-*(|Nd5mz5P?T(?c z;?WL0`gHfH20LA>^ZfOp@EwlQSk3z(+FD>;IpFPXhDk%Jeu3M1lw9zM%+XUBI1{hvQdY@zY#PO#7yF}2a;rTJDlO+d3 zYVo)JZDEg@ZD+;5Nd#{irUx(0hX2;{x@ZwV7(?4Zn_gRS+p}2}ONmWk*N;l~>|){1 zGqNdZ(h`(;xt-YY956N@7a|qk`rLf&-uoE|^e--1Kd=_f335wv%iMaVr8W3+P~Elgp1Et- ztj&+}pXhG+-j>rI%}>&mTlFYRu1hsmlvQa^^jFLpRI__%Ov4{tm8!2St?v8$@UxNu zLXS#omX}|@P}g3&u5d@&NCB;cR`$+y3v#R7Vqf6vKF>?Vo68%(>zMeIH<4Fa&$-}g z!H^zak3+Xy&!AvkuOXjk8kucVc;|Dw9-lTQ2V#sDX3k<7BrV@1iV&TNMn0KRT39t% zC0WG=UH>MZJmTk&)OMxF$C0&+iHseOeCX+06K;O*w1ivSwVJf@W6YE8x4r8!+3k95 zt|ZF0RMIRyr)&7(pyNpWmjjjXg4>@H3o12=jBr8XB~AshdcIM+;`s83^K+vez7b0i zf((Igj)2U%9ojrEY#aLpVAo;nKv^ss_AZvcE)PtxL+|sj;cCM*pAG_%utGE=`jM^? zd3H`-*$eq68};_}iuNj;XAXXKzN|$fSR>d%QMA>t^-1fqR*Gl0I1I9Mv#veEKMQUr zw(CUD(W98A#k7Q6#Z)BFR&G=C4FxH7^($_}Hp5FcsW$937i|bOdwq6`Q;W5Wql+m1 zk9SJ$q}(y#uY0Ja%G2Y~^P-1OKR>bj_OyMGUbR@uM4$01pp$=3i2WQW-bKe{*rDg! zwQ~Lnrz(HR7Oy8m@4>YFn)~)kR#59|%z8#cD#_~b$)Wxs>Uz@kyP+>aaZ!&t`Q&Pl|6=(PHgB4ZGz*@&x+@`kyRaS_+^8L9L*?P?M6?lGu_WQ^A^>lYZDc z$jVxO4^PN|yWH|IG&E8HfQv+C+FViZ4y>gvRZB3%`{A}W%@BOm)Z1KwY zmH)3-F*-kwKF7Db|Ml}1xTX4uhvH*)Fne%3kXta_k2`^pk=ghr@qVv}8vU5mMVN?p zH}Sz!iy1{CGXF6Vp-NNGgf)ZXSz*3dw!2it_lmpP*Rx`;Q%Up+k09U($jF&&@Ay?Z=Y1K$bS<}d9&|E<$OUaNF#LI^eDbYVw$f> zW>1KG{~%Wue~oV$j8=-i{^r#cDwz!*3o68&5JnNYk;0Yu~996gM`l zsBuyG88?xWkdvYsC|JSwkk1eKFu=$m)_E}QYlqxLlCC*i_u<3F%1O|{?(Kc5<4^sG zQGC_#BjfMTm}&cos}sD@c6UwO)7|Qq_dCPh z(JJz|Yg|u%Ax)_9*FS6+zMNN@nc|bX?YNA-vUF|$2H0>vZo4>e#fc6p$kH(HQ*eOT zUdX+k7sb&eO$x{!t}S2r)RUMbP+c;%u7d3-^)Z(P_nl1C;@DAw)09nv{-V2!c#~ll z!sOyqKmZS}zX*BY8M?t=t65{dCBL9>pa=^cJ^8k;42pIiC^I{mic%hoUYA{z3D{KH znRhoI)R`FGvLz0zW=PAp;HcL&h@c5pe?d31tJJqn3W&C&s@u@e6HC&laI(<&-iv+v zc|xItv5Wnbh93rSOLFHoa2GkV$HiI!7zywoc^&H<<=M8n1L6TL$CjHp1cznRAqSd+ zL(-Am#OGG?FL@muaxdU{GX9$x%ynd+?{}@6X)9RmJ$-QQ&mkA(*J#MT z|6;Iay32h-XU4>BC(43+WYE>I^J&8BGF$l54-)j>Lt|ql>d0b@$@lNwWnh?+64|nr z;Pj<<8()i%&Q$vN+pnor|6Lt%J(zVNGpE++vgzRKn`C6CbNs!@f9<1W?GAFYd*fl};>`AEUkghYu!roudw&T1 z_ut>=wDz+5A4<;d|6%KtLBT)Y2nq`b3I6xqr%Pr2T$Orh=Vk3^sAT74?d*O^10W*t zSV-ot1^=(F{)goMT59w^ONCF@{_my#>#P4Pl@a{I!vA9FZ+ZQ7^;BR0DjC857CwNg zDV^oCvXduMQBu(LB45K^_PRTo^83&r+}bFPf8$P-)zvce(>L5}>^CT1_3r%$dgb2o zu>YJ@oQ3B154FNA-j_l+9|kcjhHwdAj-g(gY!eDLVy1LhyFrOCa*U@pd0TJU75C7g zVM%vy1;DEZHt;m4u3HFPuv;CG+%Q@-;IG`;AC0A?I7i9$mhAt&{9hUT|7ZvDx#ymy zT$c~L5Ry-3&ZM~0;%4&iPZOj2SeZF3>%T3;=!7hcnpqd>ENZ zv-cL;?wEDVa!obh;P*z_p7wrj#K$vi!WL6Y)>W6nv`*lN;jBe9T|7tr8*sTz>Bd?7 zOFoDyCc)%0wSYkncdUrP(19%VM(|Mp0DhhP!VP({fBEw2&Bf=P%%&#_nJ}dug}@7v zK(Ybpyh*i?v#=x7cJX-|^DOoFB+KRGXO_z_?<&QO6gTC6ubfl2IuMknaXyyIN-%h? zZPRV#jSgB$hDLvQ%6=x7`$ZY^-sG3d1sbs{+vHo5RNJ*>_Gb{ssn{yWF4tV#1+cl6 z3$f4-6bNO|7AgH(Y5sK|8#6i0n_;aU3sxFQ_m8kyU7567EtJY<+T#@^WsF~1D0OUh z|B=sqndl=Q7Wk!qsnWj*1-0B_JAeogifdJVR|s7y=oF>r+~*wLGL0h}jQID;Rn&jW zIdJ4xAp=$L6X3jk{W@U11zSet{FL(yw)(R39B0C%Kp(@4)l^(@R_!n8&r>5Ld^h^` zSoW_yVLQW4Z{@qs`MPhdO!;j*Xwni{k*BfZ_GuxmUu*YmmA&LUp>!r|na^sTib<}M zn4J6EQ2jiimxc7QoY{UazJX_;^Gvq;fm3LNMlW=NH2=dljI;YUtKyfmJ49k@;McRo zg>Mp6w|r*pzm&?APPua$gzP=08b!QBF;B&VIL~IqaaV5HpL6(9B7H#HWpSY^DFs9q zXTe@9w#^fdy!oaNCMNptB_;23juV)>lms_mue~#59ACRs4^wK{>AKQVa$_ucm6ra~ zUP2-H<{2c`{PG6O$j*Hbh>7mXKB(a)rEi0Q-UJp- zVUh8TJGPBM;zAUTkHYy~l~2xRYTW$1Q7QnRu`$YKUWidxNOo zojZ#UkexHSMGwC)-ja%n7MUKKtL{%n#Xn!s%n%f>HB&BG+73L|VnXHG*Rm1y{0vs} z`S(RC;aE|WLqEYUV588_D0G^5DJMheN6^~AtGFVudHal@?kTZ@DwYjB?eKpeLMYi{ z_=5aYk9$Xb+{84$E+tbtJg;a>uZsOOp6UBd79ks0)v-~^(8LJ$p5y!c{wx~{C0xA3 zC;14oZR2}nwGq~mA%`ZqjcMGodhhd%86g=c-cdE3Uz^&I5ifE!0e4++OMH~t=Z%nr zh{$09U56cm1|5YqD(vnskg{*tsT~>`npXa6Oal&Rn@_V`(eC*x#OP zENe2y?fW%Y%mo3quJm_Nx4#QNyzVCw!Ni>Ejo|R%QqcvR=UiO`_gOuAlR z)ZPUZrfG<6H3WU#v{O7wT)OWV$>C@1U~49FIHDHZr+i=BxM>RI(u) zaUjAB`gVw%PERT6kTq*G+u+|zDLsZ?`SKNI@tbP00g zdSfHyTt{-p4g}P#^gBi0%uX-zeh25ONdA)gE4k>f+atr{FmG581|UWzIm_*(J%YPV z&V_(s8@MYt00YIpm*0)&dTi6Q_gjt4>*lim+OReUGa$3Ac9`ZG2XhzGM1bFq0dB=# zbq8yv^u{|+>mKGXmQEY4?37K%r0iCAZ1LLq`jtu+oXIpO&Dk(2DJfBz8YjAk*^Dk3 zPwGe>Cu+phgW&X2nlY7DcST3y=-gf9Qu<@)jp)ztw+_@J|hv z%7m?VzR#oMMWuP;59Bm?LCFACt`jVx_8YDhTjZ^v*VM$#Jo-J^L_5Qrh9lX zlA4B&^I4O{yY?JLhpC8y2p1x!RH&@k*V@--GMi4A{CHUMN(A&p=I1hn*>`QrJU1Wp z%T(&liQ;XEJW_ecTqV#Vy!dB4eR=J%M~6m^`Ok4SR|U%*CcfvUG4zM(srG(`{&-hy zep|$%?$SM$GdK$Ui*vz=k5jtp3wE#3uyQ_=+xxTgyC~}^2ZfGDn~Ukra>H_il4&5G zREfE&C+bqYyLH3Na<7|&=H5lz){h8iy~xl*YFEpP_Py%Pd>Xga`u}}aI5mn|I!e(4 z5m?!~-ODu49(q#tyI$yv^urYj=4q_pGWgWG>Y|!mKcveKIj~62gSN1C^>P9KaYsI#t2=l;RbX{j*4Aih^IdTIwT7kxrm5;nX;O! zFc;j$^{EWAhS1tB6m=q|<9Brz5g>I*G*QizcgZm#rTgf?k2~6Kmg1{3S zIRQ3^C|%;EF!ej2Y8)bfP-vjJ1Mh)E)OlPll^V_+2%Dg-Oc8$9#+lX;VVxNq<*;|z zxPNh60TuJ8BqolsymCyp;~Hb;LxFfmX=9xR&%|||(wSAgFJ>HHt$}$Mj|c;EJ^bCU z2@iS1Zs+}$xuHl2QhmPyYIzhYbtW!{;O1=7{JVp@S}`iX2F`6cn$M8?qIB<;?c?GT(n$(vicz0jCpmm*epOL=TzR|F09zxXf@)qXU}Cq z!dx?H`*2a$d|;8n!Trql`vrqUUoPFfXbp;7iD1aqL?kQWS1MKj#GH61@DqIYd1`={ zf~W037oHhOZGbxKIb#%qK5gA}fhHxwy-u*6bVYU&MFwd;DcL4XZQ4yfqheWY6H0Td zWrUlY+%ya)E>ixp4GpSj`eEPPNA{{i%kemYFdD64BUP!ni!1RDxwVkyX(gH?xf|v@ z82w0Ax#Q1u{(B8oIXQ$hAQl_%asI6B@OgdtrQdk;uy=35#Dh8AbHC&!Fc^~&Dv$3@ zr9NEUm(@lVJ!u2{)%*|;W;)LH2;2UZ9bx|~Tj?8@t1aYWJld}e@n}UjZ#!s?EfR7O zhs#R_U(Dk55O^_OG^E6U;%s=}hCEyKIo_4spTeLHUFYd4yt>%7GhtOrupzt%Mv*UY z$h@-1L?jFc^Vo~VQ-leZEv9R*4x?~)cfHKqvw_fo(?hl9NM%H6j`0|&eLW6v3INsN z2m~PlqwlX43iHA^r>59lI`gHJ+d4wkZ?cf16A{c3zvnBS#)G;Ygn)Aw)fo^pQdpZ(;k0WdslFfNE(~b z+YpNa=JgQKdif1G)IH10^0sFaz>UsA`9~;Cp2-R6$qDZun}AX&Y%Z=LN{JBQ>>lT*}t3 zC^;iON&$TcIQ3r>UV>R!T|dyJgiy{jh8`8mVVkmhNOLA-1U2ZgrQ#&iu#H`qN40OC zwegw1tgf9qS{*9T98s=bX>~Y$9=;c-6S>F2MeWcR+|!z~;GxpR^5!d~NxaktxKyH9 zt+B`VC-(Lh+=@R_rOozM{>3Txa(nAlD~r^twGG5npVG<|uO<$ywDov6)@71iFH`Vx zbpSO0xTeeEj2QnTcr(Jv*h;{9LO0K7PQwL)|ECmP6|ub_Cw!egj~jOeRC24|3zA1)gwZ>A2%`L{o@eJ zLpY=Jp8_1nR3=coNaP@Bx6%M+Ct>RuQL>u(t8w%+c~|t!PzqcRmrS*R%fG9Z0={@>87s05SYDzzN57pQ_P?V(rUw^h<~r7 zmN~5`=YS&rDZya1JJ5V=>8Vu%mm0@hcs+qX9Xuyv{DR$d&c^3ecJlZ`+y2Ed?S?T@ z9AWd*X4=3A&nn1ray!*$Px5s-(%j5!N%6ar;b(;ol|Mv_)KLec7-}r@-1;eLe>?z! zEReAEW$8W}VYZmSbKFYpCEx>T=> z=DFk7=ftASVI|btzl~4xF3$BkBj3V-s?NIBICGrBVWsbAp2^ZWbXm$M4cYK5^Li00 z;v5hN9KsA|t(UrVPH{;5HKP(rxbP{vCR-`w8k2Z}^Cw@0e{Rsw`;o)8ZI?(Z2$ez+ z!fxdQTq34Sp`^i5yI?zfl(6`wv}=UAYy0K%n$ymi74?0ibaSM6gD;@;u_y2=&I2=v z`^6YkPqVzbnsDA$4Z1nkp{f;o=#*igYAyV?P9C50_xDFQVZ^-yu|A0&CLvV+#uF{B zEGzNGt2x9Kt~ns#OI4-nMkvgj7w~X&#bl)_0V0VX(!-pCqmn5f6_Xa zAH*EBLr^$}QmO4ruBT~AjI@J}BJg206K-~j1_98Xt0OWdv^{_8h%LD}U^utnJ!a}v z%fFi2+%RnxWc^u!%0iK^W~B8}==YR`0}Y&^~}3f5J3j=;b39>XS)vPRD3 zP`&h~qplPT2iiihPU{ZR`cN!N%8WI4ika4Kp^0)nOy1J~szxto7DBzG>AKX#VZrd1 z{vJ>*4+xQra^;2}|C_!5r9yN6p=j+}A45;Hzf*1%4ojLuts8nGQI#dz()I1-p!iBm z*+nCki1#LusSg}~3di-$q1N>_O5DwH5^oJ)-k=)H8cxajv`m4ZBYGHu>Tms&KDRDi zDIkby|N8e4D0x52^^7lw=im7^{b2HoYo_w02$uE{9$qA7r_z5Ml9r ziDT^@`#OF23z6AMAws$J*B*UJId!~0V-j6BuH z%sa+Gr$*Mw*IuNtM=083l)!)`f#Des4V07JFEa3Hsqs3Qm95t)p%gHuC3o7ArFj}+ zDy8O0gUy;~j`N4h^AYlmlpc`v*py6J)55~SEo&9{`M;n+P{l=K6O)C$rUrg%>!W)r z6CXYPdHRdE|9eWh$a*AStN&^d3Le|RVlvA)y-EeMl6ILgm0bI&2-{6cx+A$9)0*y9 zajI} zxTQlSlQv90)Tl#MqzDZKR~g?$;GQGbr))AoQ&TJj`mAQ0m=N3U z=YQF9FyCjn;T>BO6JO*lI_TAP%Vg$%#z3Dlo8d-z9dShY`=GR2g|sqf$Pj2rMef6B=xaqu;Yw^hAZa!urZu4X57< zQwh&Nn$^8@lOmpn{)7gH-{G5u)wnfbH)9qtw*<9xU5>fYOrsKd zEq3eH9@v5Op2zdUbqKo3KhzOD$;pp2cB>N*Wx$Ej)XJVdN2UsNa&qRe{!b=CJp3$& z(Qn$0npjABk9nvg`p*M_n7C$!yvz*k`s*2BqFr#}8;7w%cQW;N#c0^*$O?TEVkPrF zx0X4wPc{TqX%75Kv~sFzV2l2e{HAF7MnI@}nn43nAkjg3OaOyJ;NlY-CcrSDOEheB zt235k;VlD2CqPV0#BRu{01l6_Xbn+OQQ;)d$;(r&tEFPE`lKDKbml^hfP%OlUYDU3-;wpI%0qnG zqbRb!nV{18Tm|_AH`xoi1x>s?yJaN$k7-kA{(?=P6!2LjW8#>9pSJWIfH)4aBV79u z-%mbr*>e#d`pDXUEYuw7y#1*XN1F&XL9|Akc6o*&hi0P8d^nQ(frRTdwK|F0*@0i_ z|Dg6iIiAf4qJ}`6wyQ)5xo}b0_Q<<>{#tdP3wG0lNo10n;XH*GCZq1xpjjhxwp{qdl|2O&yRf@n%@Odv zmgc`TdNo&G&pPLk(-b@aov-=nQ*ZR??dv%qiEb&wp<012H{C|b!~>m$p1kz05IF39 zPL2;~9>9Zc>t$A{6Ej#X8hG&}EFnDG1Rqcb#@+E=KUm7y%!=Inb>jtG@Iu?w&{MP& zXLqQPIPoA}^lsSt-^|aK%FijY_JmN&C0MkcCbz&$8oqz-%5LfWijNkDuVNRP1jA+W{m*w9^$lh z8CH&~@6Of8#3R->^laPvh_!`x|ev9<5|AstTZNd-dMKmL0UP`w!5yB zMKL<3<0|fzzlBP!oJRCSgV#`Ym^M7lx%DwGFE3}JffZ^&$j0XC-@Zt5WqCk~l#(ZR z_^&X~bFJoiQcAtN`&er-LK35xCgol=hj&9jq{kvQP#t_@r2<9`vY{y`0B+Yx7*dZ+ zw+r0!%0T60RL`dT^{R<)W7d!O*!ErdlU8fN#MAIEg` z9>bF8A?o`5LRY&$IUbL{JU!q;XX+l~;lTO$uko6diG1MV%0Oc=rmA3|$)Y7sM~+E7 z{qZRfW@V|@%y_z*x#8pMn^Rn@4q0>5m*Ys9M^hPH|EFkt6&zFm2D|l%8Fbaxx+~U> zqRf1O&d9mz-h@%q69&O9HmRk7Q!^=FpG|yOgi*IFjv5Rt5M8nYYw+OYAaX@g;w7h8 zokT8j}`32!He0`n@(63i*o@pRg%ohu*+(jo4EIrVszA%EJkD4qbmjc(LE3|#wz&le_0{IQ8 z9`*c*Mz2hM)TrxwHtVwZ;)CRq!4cZ|?hoNsg9PYvf0^o9A(s$6jz9h7%V6!ifSSz5 zWg?;FcfRZX=-*qWspMOIxlgWp!df$xF_rKu^cvso?JM^lfP1rEk*?@+adC;*kKAXF zu&EGP?#dc1yY)}Gn!fuSaoTR9eoow*RB7-;wQAI?gT*)Eq5qoJ!2)TopvlV^%J<#F z?GlN&EQZ9a9SS)?VAzfkj4K3PfgDhJ5OjI^BNmF&3T?w;vzf2)5C4($%%JuY=Wc50hce9LUK}qPZ;6!@&e= z-ejXdn3d==E=&aFjFAl@ZhhT352;}(5~h|b5bxS>IMy|}5ul#i*7VTS0ywn4n`yQ3 z>5_r}4A9JvaNBL@5lL7}@X)+TPhfwBm1=`~%jyShl#KGR_tXQCEJ(%jh98j`GmI9< z^!pw1@C0vZR3@gEtA8Z6K?s4#fw?%>BC%$ zxAIzpO11mBX;vEk>P_Ox<@Khy12TF72BqawruR_%K1x(P_$rP5+WA0LC+n0)#|xf_ zodx*OTlB!g4Z+oZXy74KG`n#6$*6NKsbsG|JeHQH`~4~v&!FzfY~;a0+LzB?PBgJ; zfrn{VsZ-xzFnqqdYYZZ%jU%HdMltOwM@&hE!?*0YFTW>iDgMa^IwR#zQR?JQ)`u_a zHcVCv+l&3+#a`{%;;zHtCEYkD>?Tov61+IksE!mEMaV|UW+DNJ4!+j{NblPA34QjY zmwlgyeywvnhcSboSWt?CbbFEGX{6X0w$*{Iqgld5&PmcO>!~PaJ&W?7adHFH4!oCC zslzWP$l4zp*40b_4g7h);%I*U(I1^!V(N=0^DGYzTh4h~!3rM2w}+IIdLp)QqYaSG z?Is_@w>z11MaA(B8@0fw(y#_TC8<veoQzd|&zykQmY+LswhsQWL>Y zJQQ>2qxZz7)bU`Rc4c`z5kR=Yq&Pz_iReCfIEgJ&{uCY_KNS~chaTmu9 z<{VF~2QI_6VgChSMCi(n1uut=1G6-7QpHbf`u=Z&hHc5$Bxcu;JwymhP!| zqSVU3lPNfTKr~HRbaXf3w*_u8AG9v)-TK*|vq@3DkmI|s3Y|qIXw&Y0Pn6hEtpc8` z3C~Yf-;U4w5mjY4dyoZystX; zrCQA>HOl`&u_$S6U$+|qXXr^+H=(!Pqqm9rIeXBQQzc6WzJgVHXTxL+6fqEatr zi&c&;=;+^h<)1>8i!$GEmiF^XiC~fzZyybEp znR^DMuj7z`fwd!rL8=bXiD>X%r*>tJwbp`?PJNb&{)&?z&qz-??THF^B!7HA zGj5?QhmXj$ct?+gEicnGT}=;9Tz14hbTISL*LPw}?xJJ$&0{oiDsYG{CN^xYiP(*= zUY$G2JHFyRpP3u2Wsb2Ps`GA;+1qEeRy9A#CVstFIWmbU zp;`q>Zjzy!d}`EKfHcfmrZ#??&r>#ICoY@#7fZlZ_XWU2wU+_I&rAkXn>;m(p%zXs zgf;38x*k$lKV1WAX2gG*vY?%R%b;VWwji`bXCWnRY=voW>gnLOr*lRP8W?|R3^Y(t z@eFmu4&L+U(nDzCFBC8W)IN>u1!4P4vRzf(o6K(OWo5%F4Do6h_P*k&%<0x{KC9%3 z`O4BflL_g%9KZL*s+&TChmETZnxO@mTp@{&LYEN#p`rl0EZb(2a>GxmpRx@}BAS|- z(V|V$f`svK>EF%gt=m4{)VSyLHQOZKu?Pgt{6^#45ydd)$GysI7QE(Gl zUL0`e_HB-l{sv@ro@cXSCF^bLe@Zg)WI_AfX;Ks~n|9&4wle_&E4ha?u!C3?Gn(g z=)j{_O>OP_*M;UMYh$RTr&dPYVbu*>=bmzE{s{3E6z&3@`hb9l)(2LdcbSQy1sP1>0 zrmS_V+JpAMq~MNPfKUJaC)1G{ZRe)-J4RwcP(zJ_b^a~h(le4AcpO+2{|0}xk#zB3^Q{$TzoLk> zUUMwdyGRZ7a5OWv_1R7r6-J?!ziyMJfOV<;_|wChY^@}0WB#;z{N<(2zVOBH;}Y!V zdaFI%V$NpQ*BsGC|M*@x!${O1n?ZWDP-=}S&&i(V9hHU>XUCYph{rY4<;K%Q1bqC! z=pc*{W2R!)r-E4K;gRHM+Uo?nk>d8RH=z9>Is-=l@FNt%)sNVw}&!ovp7AG z?MHb5tq9i6(QrKx9|XtK4bhTM#_jF=iF1NFNG6;E0ql>h4~+B&c03{8UY*~1dULO8 zRMonxYM|#`eD05XJGMo~T%o88V&cQbz02ql2rZcPkQH2K>N;~0XGZ9GC^c5^F|_J1 z0N@Thnll;7mGjH$_&A|BKU=QxQl;1lF`JU;Hm}mr`R%nFR(a0_Tc%~^v+j*Xm~f$Y z^}25Iz&PhdM`UIBx3&ULv{H*VcfR@i-*)?Ht2bM@S_INR!PBO=Ha}VkD^cl4(2IzD zP??o(US~Ho##!upPo=W1*kk<71B1&=Hu%NH)9%>ZpfYP>xM1UBi=kqeBW7@ry-qW^ zW28>XXs?BWcSig`pqgm=wQ3hDVy_D&T7T#)WqDtl)IwjBoy{5Nff?d`%Ca%oVo2+L z?;jrHZ2n32__Q-V+SCx`=Dc%SDypu8L`$z5@{CsIJS8#hrHVZuTw@LF$5;c_lKHRCtpO*Vug2PcmFj~Se+ucxuNp%9{`BvF zd8o`~fSL`_nm^YL<*sUUSv|=qQPsGwrI1{Q!MIn#}Ax*^5bZbf7kt(pWtD zMWOA2wKmT*a;eUjeK4ntJ=k(NvE;!(REsL-tQWF5=2K6OzP#|QjH+{=KSl~{K%4C< zUwGrS+*;4eC34_j=pC;{Qg=3aabli*FPzUm2%nEqCGMsA_VAP9oRHGSPo1h5WOZkM z8I(YonxsZ`trm{Zt+SpdV}U1A?w+qiUCpPB4+cF;<3C)X>;BGaIxUBWv>zZ0Ytda* zB#5IxX`-aWB*%2x?M%&Rhaq}j_}<49%}iw7o{|7aV6bNy?CnH)Ydea~IrLDeu+0v} zH34BrkQh1u!es6R>}7$AiE1wI5pEbMeMtB7aPpAt+v?sXk8>LS9c9$MKFOOek#SI0 zWlwQy6x!sj%L378vNAc`^gB+tG9U7RuJbX0!JbvQ_aMa7chjJ4t<*#}o5n1QoLIis zDG1}I%Lx3W`>d&HIrm;AZIQbGBfGg2;X>G&MQMh!f#zB{(r?5{a;8G?MdGS~?g%e# zOiapu#QssuH9;>Es#pny9oc^yAN zE5hy`$@Oxc0-rOcO16>W!VshYuGP8xbZm6mE0Pw_GOFg1UK5W0!R>$oeULOm9Gt6M z!ZdxdrMi_J7?Z5zWkw1fsRd1w2=hR^5QaGU;8+#y5PHp4&zwsw>gJjK{!q zbE97%E0M>PYa1jz2kG%0!16(1vYLw-;H1f|U*SXc&x$3@8Ur^i7VVq8TlvEEn#vd8 z2Uix*1a5v|#<4oHJA(DP{i(i5rmovGb|OapIl~KUqH#Q5`-w!m{`CT%ife+)-iuuy z=rVY0&ApM2k_!rLyD#!+e$+5zpRS!TWuR+VeThU*`Tg*dRK*VGT%qgnao1TGUcgMt zaWUpJR^J6Dn)h9D*yO8fp8@_#$m{jM z%tc<=4eKj(`FmS_M#Kzn7G{Lw7oR}B=mWY`Y;fP*mj2k%qViD`$?ssQX}WZ`E$Xfq zMdpJJ|9(I9{JJ{OJi<5ED%@TvIZO_RjrHQPr%=qh%6>L}>3E@$B z@c@DYJ}od#Iq=|0Vg-@Ud#8);N47dtZ$w4ig9(=#otlk`kU;x6DN|_Y34{8iD>YL+ zEAq3afCwAH^n3#$a)=gR?TZpW_|19}6D@aah<9dE@8IW$c5m%_c9rzYB5Vg(DpgBV zn4$(^^XH)+Y2j8TIVz&EE==ripG&FC*%xi2=xOtj2c4#O$D%Z2W| z`={S)DZcnM>AgJ<-J9kCS5|IK;7WT))JH>-IG8i|J09jax#-&@*E9#IU0f|nhagM; zc9u5aHnKH{4O$@2sg08Nl6U;mdKGGJ!W8^ zr?D3%@7Z3JO=1y+2NOPUrTE>2CF{X64(Gc#C#8(BHWcH>5c8UOZb`A!WgdjOxY+e0 zZT$G}Y}4O@5%B8bhIQaODjTR>@B} zUoDj?9uA=gPiMaCVO)-@1L?ZgOS3WI0(G5eg8oK8S|rQ~PgogvMq*&_z+zX;z;2r_ zrJhB>hg?2>@lc(-@=p!d`PgQQP!?X#$zxGFJG)r-MHrvCv~9-2`c38jgNosS7_p6d zj_r|WHfCYvb+AT4?G#i6h7NSal41&SlH z+m1H3=KVw5loob$<_k9h3`*)&d6$l0e5Ft%onWkkt!6ZKH-v{Z7Ag}LJ++T*Elc*Y zNFRxaa+aKEFbg0(_fyuV9j@Lo^Zq}ay$4iN+uAO?RYXw)#f{RjAV^0LkWdBbO*)|} z5IUiTUR0E#^cLw&YJf-!LMS3gNhneSgbtykfRuprKd0>T-ErZUb^KZY zP<;4!ecw4fY+o_mdpTwzHwg+sFFQ0$-)orO_6FXV(es&JW_iR~CLy!+frq zHPZIHExeNEm^xWUCcyF2hZNtwBdKM~~^g=H5?7kgJB-_KB7n0l!=*_l7j?wkH(+3x( zx`nEq*6rQoDfXK7VV1Aq5&cAVl=pY9Oy~BUZ3%H8y149q>>2o?tc=8k)AvcV8&T+B zbFcDy)wm@5a8G=SbcS5wz=T@w6=i)hv&9OyTG67fU*@xEyOU$=jC#X;m6!wzE-aq$ z?}}a~&mYbf2*qai3o_^`&<*pq+3pH8;GDY`^VGW!LL~pZ7{|8ue3E;}2yob~VeT%x z_0X&hS7}wNQbjo{*~oCAY#rjH$0xUpHv?TzO?usHrj(&CD^ZRwqi4^>b^OhlmZJmh ze~H?t1^ZzRERSMA_>%#98H%rQGtSeR2TuT_Kf!}4vMe&$O0%@mzNXIZ8NDY^eKn5v2bcwi~Ec1 ztWryR$>z=aeNb#n47a~;MbOCoc73r1bVMay7lZl8ZaA~+CTFX+gT9Ch+7Qf9R85d&U!u@Iu|FnWrY}JLUFkvo4=Rh;L8d{4hp`sP-sJelhq^n9g zoV>bhOvZy}gji3vUQ<%grGU+Sg!BnpbCCG#wxn*#rP2U@l~H$T0Vq?xZpNp z+4bcuXA}amgIf{0<7OPQE!5*(GiIQ%s~1MxAn}O()4Oh7Hm*FF*M*-4MNfaBB099|BkH%i)pu4$$7N9I#oZ(&n3MI`fQCBdJ9`fV%|=q8`Ck6xp84brNQP z7Ss1!SjJJr3q0jN_;}&^bFqGgy+1p#OYa?7HasMeU)bLlDY@vd!&8(R#3RcJTD* zCmV4a+NlP2=oB+>(+hSpJn~z9E~NfYOb|I1^k8o~@>{IupPIW9Zl9;PI4f%7y3+*6 z7V$ct++2^<@Xjuvb=!Els3Gb3rertm1dg3z&Y6doIK4iXp}tQZchsE3_Z1W62;?u6 z@NZ0hxAu72LzQ@^1}q4EFb&!852>VY6IV97I^VVx6LsFyHA3?-eLt_KQ9h(HIC&e!S9}e-LhZceC{37(itij9Gt?ULVaEfr~zth!&)JdtKDUml!@igEM8w2&?Ib5^oSp?lOkVRTmnTyA-4K zN(K^HHx65lcTvFVG^Zoos8q;nxHjv z2qi0cmni%MT}q)ejtpK6$GBb|TTM+vCd19OZ-D^cL!s&~0y)3K+O`A7gxj?EI9G^V zQ!}`;6B|EsuEsX&ZCj#S)>QoK@0Qr*@M3$1*d>?!WWAQeY~K>1*Z@%Vs6=~sSn8(> zf7(xHhNXVXw9>ccjI-`;#e)6b+S;)eK10en=V7yx#%(^Lu&NQaNx6u!P4~lE{V;oK zK#DrL%2LT$b)u$5l-bI@mFJTFoy&h3?|7L@#M#hpq+w;Hr_C}5;_PC;I$5?9X4v{w zYG(jq)l?Bbob;=$MVfIutnZ@%f%>@7iJvc};4~7lBYI)#YywO{-#7?nof7xlW@@! zRziTW0!O8tsp`qxnjp}-HTk<0XDKyufq{XaG#{MRm2puhoqU?^sE)e}rZUx%FP{rb z31`UhfCpAVh+r)Jm!+8pUbENYcVXz|g3>MFnljrewhD&Fn&m1-bmCry!934+q{bvg zgRW&-SqVU4n77QTsOWA^-bl{C&qT>e443w z*&!#NQ@z1rSj=oom+W?E;b9sEbG4M26kKhgFI|* ziwitG^4bp#q%FaT7;CTxL;VuC14Lv3)$pc0U}lBE3-n2TfS*yD>VVJMn3QYi#qP6W zHhH9xu9^~|Ow{1%XrIhezGaZq!J1Pd>!vA>ZY!JmlUT!FXOcJF&-4sjnB@Y!^5_mJ zrB+>&=;hp?9p&gEub8v_4>#~)W<1S!Xtq@*IEkRj%7V*_K5RHBxBC=m9Xe(CpiuKe zk;#KO@LZEoprv|!wVgR!ny{W$HQUqlUe#LuUw(&dO$vTGYS0Y2x4$qdsScKAhMgJ{3+8=$ z_v7IYZ@Yu%>UXL;QXu+KNLRepwe#k}%(nhV*YSyzm0o)2n=VUU- z9ctvu!`;GNl!O;3amuB|m(xIE_1P9BV}ueiw*(sLyU`v! zQBVEY7*0uJJ{3c?$)9SX7OOdQPIEItSj1+6VCERu4{2ta`ygR6bX?z7Ionm*m&ioU zT8hr8?rQn+!(h1$W(N=m2|?N-YtnR&va%|ufsbC~0S<_xct^MRx&vY`AkRFF4^d_Q zK$DDSZc|(d-ZTb!1Xp@P)}T82lAoUe087d7RTKC4t(~Jxex><#3498Sadk6&@HB9; zgIw>HXvCie5Vo||lUD_|ynH>1cQ+b~?7i)BWVgopsO~qS@}qtV)cU@=a_DMMuXXQ_+1Rakm4GaObXO`5)(3zr}9MP&a96HEq74 z)1mn6bU$!&23@i<%_KN9sHe4!KNQn7dNXzjWzyymM@b!11qV`y2CGOJAY_xav0|gB zJ~vs6?}J@{`B`p!P|$v&LF=zcN4wfO;`6dv{E@E1?kwFC{IkhT=pb6YpzW7U1d+fh zcu6;xW#%bD^+Yk|;F0196^HgW@#?38K?qWcF{4Gkm2KBp&&EK{{{52^7n9oANh!HV z4g;PPZp{ry((AD*)PowH-XN3swGjUY*o;oIZ2wI3C-W0vnY@^}nXh^^A>F^y>MZp) zc4?gxnbbZMEKF`Zm7cRIlo@8&6co7Q8BjsDvD@;4g``)b@H$f4`XIA}lrX#KvP7T3MgIiJJMpraIG z|3I+fc@x6L3}xz#luNJoGDtN*vjV`#il2n-go9rNxRw&|Y)?A_Zqo`G7z8Bxo*dS1 zALd#^8HFnnN^(Mn1J-LOYfPgKqW*?yZe=2{5r)(()}le|*w~AaNG+1;9T7caQ&FU`6-YdG&Xg4&oojG@G9E$v9U*^Xr_+i*-J9~3|cj;6W zM*~HLl|qhvd);wqaL$d#93uNF0c-h@ql9w@1Gf)#M`u54%{q$0_!BEO9yD$|3TWxA zXiyPqbI{vu)v`Peo^1;e%W#F^Gfr7F`|4+$XHdQgfb*hEoC?xk-K>+2mxmCqLIZ zB@^-D^4~g5hJ>sA6t=zNeTeJtxpC$2-i7rO4$}fV^A?6|e^@eD8UV17p25pa%IrE6 zpAu=k)>ePCnxA}A_VY{l`6g;8jGU)Is;cmlTlq80JxBG8!GE{9JB!^hUUrWuU}YWW zb+}$4g`DB=BUW#tk2aItLv~o5I|^?#lJ=yjwaO@oV&W#&xK6xWpozI`1P9@V5}jw) zI0c74d!G@*93?>`RnP^Y%%aI^ilM@{`W?tTFh>5E<=Ct9)dHPz_H8}XJ{1webge6QJUlq_;5-t}5(Tt%mk?6QmwHR)KP zhBpw2G*h^$Gc%#?X&;r&LW;vcu+iG;;N<@HFEk9a|5M#-La(HU2;|XlGx`)+DjSk} zg0u0yTQJQL=8nh;OK8pYteLO+E^6Bg$E`!*P~!t*CCERUW%}H?m1NAcTkJn{nR|}Q{JOjS%>0|lj)&XQa=aurO%}$F6E?@SpS06K~mL8 z3uj!bS;2-CbJkV?+D(QQOx@$U2=%#8@gcjpo+zv&Y$jbc&Q850Xv&De74lBZxc9Rc znLNy!oozV)|0LCxCUHmIZ=P#4C#Wh}4R+HRVpBOeIUe^|y}`Z&8$ikKvGgn3ya5FK zeacMNmKZ!x3sArPD%W{=t1ia6e=|5vX1!2E*9(ZF-PkKZ9r0*2SjC_8HJU1!!i~V4u zs%ibk!TJ)}Ys7@kiyAh)|D^FaVu_lz*>)`4Yh+vS0v_@XGqERmbOW$HklJ}`H|Owh z92IirP&8dX|IlHh`ceq6s*#MofXQc2*fhU&wt!3AoD+&XS)rCPb#P3JOE$P|0khfw z_tz}%1ud#~@}1kJ19^swesixvjK%k63oH9l&wg3v00taddZo-Rj{0$=RvaV0GgxN_ zu`gKcw}ikg_Bk272yIzR>PE2H~8EAF^U}y84J~{Og^&| zQqA(L4vek{`*msiq=*kKzB*WCnd5(IDFq3&3$ttKAq&g1hY3GuPWQJBoJ~AcR`!&I z!`pue^lGLW#HDD$FmzmUa=a6( z-r$0%5+4If>l#_#*=%VueveLSyZ`?E`y%ZJobfDUf<;AJ`}*Uzpy98{A%^9ju$FEl zN-pOm1JR3rX00Y(Jm25n?}c}&UACwn8uoN9!A>=qIXQv#!qQKe$$@4*$hqpkeikY6 zE>P5cL#lkUTC_Yc+#48P208_kDg^-?`TLm0{eSElSh^a?oDKz`d$}5+(=C zp4kw}bP4fo>&wczaoI9Y_knb3*|YqurTbxdvb!`_yuJ!e-n87$i5pMZ$g_n`zOGXx zEv$t#pTG#XVQgA&gnjDQ6*&L`{egb=;au|p{fQYvtfgU{s&A%p1IgEyn}h*2ec~}2 z8XCLdQqvt{RQ|0P)X>8i7=m4@uHM@)2A-i98i|Cn4Gl-j2a*>4?*xKs^+-#2xh7Ee zB{*uvL?A)cu&Owu!tj>KX}6cts5GJ}ZX=F60Mt9<)lLsJ70g^tb1w@p249aKQ^&^b z+x7NCQQBb>j^th|&!rtdRDj8}pu1Zf7gbRIC?cR189q1JF&51KRh(Iju_oHO!1Jimm?AA zu#;cD0ffTS{jtg}5!I?(%caenR28vCS16;Vad*|5+rvAQLYt2_-|N(>PBqU4pSv}5 zywc&d)4>m#$F?Y)4$4ZR!sHOnUmu#!1)Ej1kmZ22p0HZYik3p+#tQdAN4Q__O?bs7 zW{{Z1Uy$T=RR2uqyCm(@c)XJ}aPFVBkA@h%moeU0L=8#67{o5Hd)E7IB( zFoU&qVnW)u@A|s9eCEEpt}l7iK)1KDVHV$5TZx40G>ug^=_2S)Cd=fN$PP{kg{t4{ z8}@aZ=!b=KZOhB~WOqLA1oT&2`%|*6q`=c-6+jl>uJ>N)#f()U4gq>Km5u!D-g77P zPeOdGWmV{s-N>TT2Voo23blp??uY(kC1$G}=vIlH^x7Hwl`Q~v%j$1Vm!+ALOJqRI z_f;F(HmPPj34pA~ClM%~PG18kYBH`KZ7)kHL4bs}Ecz7Gow6>8?WOBC7+&(YlW^^| zP^wSES)G$;z_#2Z)2yG?i9;zl(P>f7bm^DS<4f0W+K-~^w&|SkOoHM#?V9rTRA73z zI9Eo2*W$UFv(~Wzx+-?Qb9)!+TR*MaFhcah9JTE*n7Hiig*gm54Y3^U3qcjw`!v>O zt@LxErebHMkGnADcg67X_Y2VwPSBTy3zK!?>-fbPB_ZvPo}bwKmh<%|C%L5UDhwgw zy+>gomMjt%%?(dL;DQhx^2qd zyKTX#en-+C+YojSJMNy6wz%AO-$<%eMFr}k;bPKgn1(=go0|;-pXbRX(;sB98H$;a z3a}4gXUA_`v6YDL*A{+Aw{(TQ)^+d7J`Pg4JYw$_Me(FRJ8gX#PRp7W3^i|wN?N>E zmi|~zL*v_4-&E{HHdFaFN>&hhBTkm+#rh*gejcJ{ zB2|OYs8F}^%n@NAGWx35-ur3-Luzt;BbHn*)hGMWWnT)2l%6F33Ljlra39a0GK6RP zVTu?C8w9^>S1pP?V%!1g+O-c8BLfB~#VQVoq3NDd_pg_~(n;bqqLDu$8r;Nxp-s#9 zIu5yJ1IBzp;XgsvM<=+o)lqJHrLM$N;HG}0x|RTE)_vf8yjbvz^MWT zaG&^AgdmD^=CG+f4{O>8n#)~bR(DijV7cBSdPku~gqoHqyj^K3LTg~2TW4{WtD)Cr zNf#8cK`2~)&8@(YF&9QE zgwzd;&#t1 zhq1JqD5lNS)Qvj{5o8#}5)?XVXrqU8ot$W7hn2Gg7?XaZc^0E^sB#?N7QzN%p6uC`lE0-n zBKflg3RkJ1;bXaocHnn)izt;TQ;sX}Noj;m%(!M-^^dwXpm}-nOQ|aCdZmF;tUS0OuH%Pt~z+W0oJ7&7d|bxFba&-P$qaflVz;iY2~R)bijyqEQtg0kT4o4vYJ}DgwV;t5+nx zYUz>gU6W}rZ74*K)#$(`v|NCa%-QbaLr%3?t7WDoMp73jV*dK$$DNhmZ{53l_pS|q zr%)~6m+jw$VRGJ$XA8f{}+{CZQl5X2IB0jzsV1NQ)cK>-sdMxS(ZV)FJ0 zM$|q>mZaQOA*L5lyCJAK=NxW+QBc1fR`uK~A4NJD+Xn2Jfl;u!5Fnu%S{7_zjDE!Z zI_d^fqV78=G*v~5lQHo(ngj*I%e%ymxiD{QLqpx7VSb+YMU ztjyb4Q}crZZOF-mwav|j7_h8KM%Nou)DtnW3nX?+v92h8mL+@4U+kbw_^X<8b*z2m zIRu$n3+z=uY8k-HxSMZ~7GT|N5B%)&@ZdSltieQz@&`2hvV4wotwp@YVf@#?r~YHpU{ z;^9$!HfNWzySuAZ%tA<@benQ~t>elYD8o-r%?|Neft7UImKGO(OhT@C>+9zYi{1TH zQUuHiQUy2T$4A31&gX%%R;hd69$d;(? zw_1vd=NZ0_2wwPmkNUwTt#V}yai=7bM#dZD0 zdDQiXJkqS|>+3g$R3H4S&2s1Q)8zxzs3-|Jxw~9xPaf&Gxo>txeRUmxN!lhY zilUX)0lT##%U6pm)(xJ<_clD%KGk&yHKyHu{{H>Pt#y*FaFV{*FUI6rS=><9&zzRN_;Vz5-7yR>G(h_ zRTba(M=~mzgIuNAY^fWzY&@{?B2jNUO`CTww^;E${ig{3H7@_@Yj~-D3`8jART5V8p=_N>@qGeYHsZ*o$pBnt{_eJWdD5@oqGgj#$ttd8^ zvszby3r|gVa}3D79cxPd?%LhT7AsL$?#<0KO?}~$B*%lBe3j^yu3{a_?mh!2Mk2^6 zE!)m8=hUgCI16Qa=e7DxCjD8rRTG^iIeyA&{tq>N%l+Kg?ETGHo*TJYY-SS)&m+no z8;idZQU9ysT&?~Ue8G|Poy2o-w+p0z_B2TPFwAESls#SztlDYrvY&b3WF%4eMiOHt z=G>#l8Z$NFBQnA_h^|SFksYj>tF)j%?Kxd46_tp@tfZJXZ-RBVf4}#~(*Kd|9Hh!< z)dI2s`b%`+@9%vfU3ScrXUCo^4Gu~-&jDh};)EKY>%m<&xjc}p)A(!Z-T6PAq}cfb zD2t@Yfqi7u(P9zrlGO%FlW$D`ycr%-27-RiUI7G zdyD*K=t}tNrhF%*KR0PN}PE;l4MuS2iZyJ7-0x z?FKhxFZ<*GyK`0%72DY;pH^83>Yi!)B8M+@95--<+Q%i>JFV|PtX){w)sSK?}@CtH8y-gku>=^Py zMO!13=S}7r3xiHF>Fk;)jA(XRp-z$+_(!S zT#icr=OnxS;QV-_iM`jM1zVAQY1&_w=!?J`mq9xvDDvQ}ceXp`rL{5nZ%hk6dH|3> zzbWG3?Cex0yiopQcwR@}e7-s>_3qvCRh$22@ZP`5l+8;f<()6YkrJ}DNdd(= z4Rzx%G^tw1?|prR0q{w{&@ih`uE-26nDLWZ_?04E$}llK7Z%++)PZDe8_H(8$CCi$ znzRvgjQUrxb2vR=DPEeL6(fp6{OP}1*K_0f>I;ZaF%;YLsEGTI+kecH|1?iOu23mX z9eUbkKG3lK1Zk?r@rD&Q)ze;-GHkrx5@&I*OCwtLH7`4_Z3i&H4b z3MXuqcT9S(dNh)+P~iK1Nmj;RCZxy1On6B&JJ7^Xje=CbU&ju}afT;`>uO zU$p*b)^c6HPc`~M*y!pl(>A7cQRH6+TrLVWQ);xu%oP97PUc;;dke!mF^~K(UM=&= zhHqyLYp7f@P+3*x8xI){iAtH}#oUy~3C=cAlQq2Yug%j9T4e_5g_DC?!zLl~Lk4cUc%Qc8f2Bf;5PUDd{_N< zIQO-qh+1`YC4ipj=+CW+76$a1n&Qv2K?pA zFA%EcsoyfZ?5E0Bo2DzZR{0w}!jtJrnxpG(f={CB#GNK7#))jcg!ZXN6gixC7s_-x z(ij2(5YSAtMiwl2Z$R`hhl;ot4)%THD^)V&$jp8zSr6nZ#>(GGzG{}E?Kl%Q3 z8mxS!Qn!vQjqwT>C*PoYE=HyZt1e-fIZ_@>;c+TAOB>(J4C|0wfb7U#3MS^37ZNh7 z(YYCUc2_v&d#nY9(v(lwCLYP`Tu?S zI$iCKkPsaW4UL+vuByKNuom0B?q}!QFHg9gjn;@p)O5G|OrYy@4B~kUA+YA?ViH8F zrNJnWLX7aST^7++JADAFkz%kI$mtn?{3pT6j|27Q&`{lgEgS@Ot^4?xSef?O?xpZ-taW{=O9j(`BC{)tz5>p)J zX;DZ2*YRgCoMBG71c*DscX&zMy}(VI_28G&$jwc5J^ly!?Nw+Bwzf}+;S8rN5SS5A zahB|$RWTIeis=P0eB7d} z3QPF-@iHzd_B9pQ;QW-(j~K=)-oPRw5nC}5Kl_5F6TZ%FXQ!;C`k`?+Gn3$Me1;WZoOQRwXkC3+} zJ^$(o{}0(S=_)YK@?~BpkJ*Cme^WT$K=ZnHf*KD1_$n2lAw=%(WA*D_vT4CBUYdC&wOCrpe3@rG9>9X6B)Qz^7_AttwgHjQ!S_>i3Mf9+HL-)jGV zLDkP2&k=X=S9@r=JTk9;#?m_J9!h0x##g0M zk1pcB8?W;;4}}|0DsL&Obm4ERRCl3{-W**TOtBI{a)4mWOQFo|eEb9`yjQw6gEa8P zr-F4l!t7-`Dm=BZ(lIFeIT{@3)7sKH;P-)tZ?ib^;Q!Rv|LVLU?dvnQ^Bt)Tm3a#*GTH4&z_$-1MYXIMSbY#`6;rvc%J~%C$Ow@jY7HNr&u@b?DA`4^LG`q%U;zYG2V&U{LaRoHF8Azwk_Cyq@n|icxB(Jk%`Wa zcmb^!h81skqo?W4h7U z_O`H9XMd*T*0{NQet!NrO1;IW(pwAkVNANRWW(poxBj&={Fepye?RG@J_l0OH#c{I z>`AsA#DY{ASY`b-aIU{%+>FXZ-y2a^PyHNk>{|A!*KzZg7NBmZ)pmjRmSqo{dD=XK z#k_;LI9G3giYe{%+%m9am9)&8O?`*?=>hcx9%`=X+)9r*SI35`LsacgdvfkTKa5JQK8%IIAV)*Tl;uwmWYCzK+gvGEKNp%umMq^tJ@i2hYk_~Rs zI1*TEpP!efAl#)@LF*WHwjVY(HZksW2laFBs`an)vnQB}ar7Ux05<$C{f@UnF}@a%^WJj};UmN7mf`lW1Bff5_$mgspHELs zy(eKC%-g~*(HB%#-*6brskck9Ffh2ew;6N+bakUsmX-4xQ6RUPRIzKA)tVDkqCJ`8Rk2ZGLmmyTx2{<@ zWU#oz;O9d2XD;Dz`wsF)>9_-5mh893Az4~B3*X+QJ*s|hOgHsb-7*6$3iZ?(4F|L-LFblS#m;!i7KsSb^mj~Q#x?gY+P9IiW*afDdZki zPsqKxhpg`vET&z9f1%GVX0AFcpPJ;?WdvYwMYCYe0S=kB4c3kfx zV`npG)-s6*wg`^;Y#tsZ4xL}k!Ov`M)du^rJdgAqKZzY#pIeC>^2Lkj)GK=w?h|sF zPMoHHaVI2Ne7U?oXAt|?LbW3f>VfZ~;xq73q)NK#;&J9IHBM*IotQ1WKoqoR*X%BJ za~>ZU|5)CHv6w^dbx@4KcOoG0x0ws~d$iuGdVRZ0XT{!L zP+|9bw3bHApb|JG;!*Ng1f?b*?r^2mY<%6(E4|#e@6klJbDB1?PGU2|m;J+w$lWV6 zMZ++Qhq4PPk$9!jZI7v(=axLS*pi$;XGMUGo@omyU$KIDW-8W=m4!uMX>D(B&l9$= z`29oL7O6GlNZKO;){)MxY9D6@BMYQzg+|K zAdJ1rJ*-b;I_F%wa%8(Luf5?TY~Jk1e`4W05gwu08dYQPUpoZNA~gP>dGq@ z$(hx>e*9J+OWR$+yc<=Oui377XtZY3$onVj@y70jR^t=LK0hqFwb(95s3u9npMluS z%0^n@Xz;#2S0!z#jVnyi-ieVfE~owA@>E(Uz*-oqqi7{QK5Z12Ki*J%)N}DHVTnQW zGrsk^+NOJZj-~rktKqoDgjD(4%J00qT^@3D(`PGM_r<~-!RK`ZN(K};XWWp zx>LG+^;GQK2f9QavMR^-%S(MM?>)^iO8k%vD57pUks0fZ*{ z2e&aVApLBe*XZIotEQK=zg`an`z)fqb7vtZHfAHY>N^H|E53%f5E5X-6i7nA(~$v# zK&QZN-rDD8l=6Rezqv&xihSvB-zK9I!+nWixI0~~Cxrt~hi1BxuEIVCt217y?MuC@ z0>_wpEdG3&MRqi0&dJddX!Lt<>-QKdBt5xcopkcVqg?QpZvrs7o`3beIQX~C=0?`o z>;dVVz-arYZnEVXR}&YH-sI}S>qfQ*)Y$-m17v{uSS7H9#k=$R1Q0o?JPD^3?j|<& zv-N(d3(JHKiXk}SE7~iq{XXrLc(%klc1=t3CEB~G0!z!wzLvGD-Y?HZbzSajDO9A* ze82@-h*K_lf^>J4lj0UzMz6aNFA=cJBJ0A8Pfx-oJ!f9-v=h?sV31b0dAJ zf;F2;d|{W&dkA`{WDNRR{w6(6-@D2=)ek#6YlZGHmRc~dCbtIc6kA&f?(goJhP3c< zcofx6{OZ}9Puvf^ES1juFe^Kp7(@Hm+DS=2mSq=x(R(f z{N_pUs(b4aMmn1TMYBNR9v7NEZ5KN|XVv~p11#MxV@kuw`KM;Sms2f@#kS8&@Xfnw zj72PpPk<;@atEu>+T4b+$ebvFxvDM%ixmYpz>_uK-9=zsKVjA^uD>Gim?DUB}-`F-Xt+kKEwVQZKdoDgp;f@*mH42rB zvB4^5j-A7{^(}&atwFE+96dXBcs#r|uHq0VKu7yfEX}a-u4Los!@-P9xxI(wwG5u5 zKAmGnte&c}6^@Nxcckw)Nq^ZMlm|C&Hf#*M(5nOl3O&0bYiT=fx8RjqtTs_;t~@`? z+p9 z;K#nB`#yO}D;H743^SFE%$KL_Z5{3mt(7&n@$kccYxF8yQ&G&Tw$^`|$m9!pv4+<+ zQEGSG1tb9?BgZ~Hlb~x%zxAX^4WVc`lC7XK=3D{it!tW`@npPE*4Wc4*fFIlTJ3<< zscVvv*MVC^gFvXCh4k0lvwl}HSxw}-kVxKMOgZ>y9-#7^{$4`Dn{V$y6BcH1O2RE~ zcIXD1ZyJatCNCTX#&}=d{sjHa=0@okodKz8m2|Chn19!hE#93|zd4!kb^WWN|8%k;9zdF!@erPaIPtl#T6CRty& zvXa~?>NeyA;63F1j_u}`%(fSJfy$OZC)0(_exlV$3?=uT8UI)R6LXcqT{6>FdJa^^5_`Oxpv-7S%O$b@>% zqWn@XW)302_SW0hO10rz9X)F2MZIdi!=f}LyFha(BrrAgnS^jjs~Y_vTw3(V;1kjT zgYg8;()H}KADIhVRp0iOdP4=M@}Y5ov{F@Bv26ahGhLjLZ>ZdF)29=sWZfO`I13`W zojcq8u>X!wmhH@QRu*CU7a?SsX=K68!A)uS*wo@$&2Phc4X2@o%Q5U8Cp#SJ*Kj7I z^Dhr#@HwO)i&awu9r^<4Szo3#_YV8qwZ(F24Nnv#cyFq@n&>oe)3$puZ&?iX*%`>J zPi^+I%gxD^_2k4Oofw(g6kgfl?^G+j%eH&3A6%1??Tg8{EKko9tTs zTVD58BhzckQzfy|o6RFEKXB;QBTny?zUpnmbkR{e5AGK%6B$kp>uW3JdtT?p5Jx*X*n8n5qQG zm(56p(Fj@dhQjA7S1e7Y!kg=^EB0#%?0q3EuN=^x0IDpm|_-yqwR`jqy&^H32mRD4S8qd4b zRg)5!IyhuwZf?c|=4-2|e*acvYG%YG>E-?0@66f9ZAR?$X+7dSE51v5HDgG=01Wx{ zX1n=%Zc0S+w|kFbZgOI-v8FmD%`H>U2t0AYNI5TNb?zSmmcff-8&kz6RcO=l`>!`0)kEQxkluDv~4 zu-&)wgz)*4&v;ha`4jeyWzZnNjXDV$9dz7<2=QN?c*-U_hTmDqN{B`k)tegM?Fv>u zFs)tyyM}>tmpM~!Zyj#S>6p8Q}T zPBpRWtPJhNdUBP~dV2>0jDV=DE6WSbB~8ATBM_;y6`2Lmx|J#PZB%whUeSW%W%s@X zgoG?X)lZ&^&$xojikmlauHJNHCVD1ziT>8c4tD?$ z@`S@lDqy?*qXnVpTi=_Drfo%+yZuPd3Oh^~3jnif7Vf?Fi*mDD*ylEjcdGbw&(q$x zKaaEE0NWZ2b=e&;jfFe|FmBZ6aF_%-$w~+b-y8|CUTgAU=#I-)I_eKaKM@4R9Kgz9 zdR49dNh#qO_4Ie0Fzy~%Dh(_zqn)YS7jBT|Zr#5b7o?@|e>sIS`EBg_mZEXi=-uTux%*{L}HEwcF`A&IS zrz#88mX-|`M@mnyHl{^ctQy?vjUZYOL+KAz?o_7o-16;XaFcbCv*$&1nZ~w(cw@on z_Q3}q^mn?Up~16fTYsg|gj)AA$=Fs6OTUq|d-rbpa4m1Q%HUSZj1veeqZ&2yMh$62 z&y5q?@z+1wV`%J0Q{x`|i~Q<7@Oiv@akf>KTznT+WWJ1jZV$Z;4NS%!fzf$3`UZph z#q=r{8wB!DV13_MK9zdO;VJd#Ao7ayteYLZ9j%TJm}6tC>}6~axP<-tFS&MgX6=8j z!wgx_(YPN|VTQZ z0OQI)5EZp|`aYwL>o~Ce<-pI54)x%C!(Lpuu>zaxO5}l5A(mC=V5h?aZ%gZ77mhU? zcYSdnJ+BIPudJ~=fMyge!h`n$TX#1Gb|`{N=>>U~p@cdtITCpYeuL9%SZ9gTQy=kb89-Do|F-OqLSJ+!bJZ~MnTeB~6{`l?WpA|7ZsnVw#;0(C{!o`i;7dmZ}a z8&2M$ddrYb8D2N;dQKkL8p9mAfwPBp%YL*P4=5HXC8(_u@6@)oj2gJ!d<@6W2cFZ+ za;9$|0{xw00DAij_m+;dzq2)}to7+)aM;OsIyR0`kvZ0N;^aGBC|r<@11||hZwc*Y-sgwcOxTxxNv+A+I!?nYISASOA;$rS7PfPx0fyaRgrf` znKhpp>b;JeiCM@<%EkQBWVBtFLC12v5l{0u&)8a-d`i8fRH+Q8hpys;%Zosh*B%Qs zqq`p}gQ`1Ae9u(6oA%?y0~Z3I^mLxb-WRT5#e?A*7_FptiPl#u(iC zJb{n;0hSUgweicZ&dN;+~u z8Q3aATV-IY3{BPgyKvzGlrd~a$M~mv+9+3fw*B2teO5f%W?06yS?TGxbfpcM8R?b* zZh!v(3UYIBQJiR9X=}spE-pdxV2>Ev{*`PWCoKJ{ZH7q^aIz(|E7CG{gIJaCl&9)D z<=gXgJ5G9ZnTkV|o3ay4yNzw4dZt`HRt;{$0i{<~C>^2Xf|aW>r*fw}w|+RuI_0_5 zk7z!PZJlvWXQSKMvu6hw$tusSlL_{9KN%gKj@igLBegk{{-88oK z7g&kIzuJk7i+@KRhO3Y!pMaIf(cpGA>ej8qo#nHUC>Ma@*B?C{O*p)BC(by^TMGUE zvdWiWRsBK~W~9g)N>X2pOxoW$j@Ms5hU*TVZ!*iOv8YHMJPvf>?ZYP>W#ZzJF~6n; zv(pmM+kOUbogRDKlThiNeQ$al|F-kAzkj|&cw@9F zn^uc)amL*`nf$s1uX1knr(M4CK&W0D?(4vnAkPvC3w?V)S1>QQ({6C=&`cvRsfY2&MJ+qD(!*9%#kudrk$RkdBf$zK7j?EvEyGZH-zz=Nr(nsKoN}nVF|9 zWQ;klAt!fZk>GI6p+$PyPGRTP7V#`6pK%t?a!L7%P+xow2QCHdyjnc$xNm5TjH7*1 z*e%HP*Wbo42BxtWsgdkEP-%Jd6EDPPTwX#L!)1|)$TpT!2;bMW2XN{@pt0>3{!Sb{ z-h!e!@yMK%jUsth;*|Z;J_35;{SA(#lyOx@S0750=U@A&LX1J~Rfgsgt{#8g-AlBT z=P3_K5(cg|1{&L1xxRllP8~)|)n;oy$}K36LAqby$Hym2rReMzMwgf*0TP%Z0&#K1 z{_OJ5a_q=7mYQzIs7M{_uAVuMz6HyWl3Ri5%;RXZ9S+9`jHM#OA`gq_`Ch&ll9xbC zV_S1m=sAA?`}1aFd6}5u6w3KC`7F*FtI(A7rPDEgu9_bK9Vg$wncP*lN9xX*KM%Oj zXywm@f3Y&>i3ICA7SFX_QtEC#?>6g=L^IP`$JpLCmWs@NC}#C@OGaP#>%+;zfyTCD zP?6{n2wdx_aaG)P$LO(T z26oyLXT>%_8NwdRLrq93C1(oah;u0)ty+SgS)qLV{%onE= zjLK7E_|V5ciN`+qA2BO49mV;%NJ&aYN^-Jzw@tv?r_ZBqVHHwS-! zG_fCl^)2Pumd3W4cZ6c0JRw6_d$Vr!m0YxqZJpY-_isim-;M^idIhSL9d1xMBB4k1 zBbY9?Hr(>V9alhoyTRp~Z@!7Ao_Z=k=5}6~u12>@mMrnF7PZdW+uQxiUK93p@3kJ~ zf)J3Kt@dYfZqg(D2l101cVm`yq#nej3u>1SJP(%N`(Au#)6&t4LQ~TM`Ha&2xNu+_ zzW?ieW`U6|!*74;QF&nPd(dYThzsDwSiSjOIQH@{@${=_0*aPycpo;;QxEfokowNo z@v6h7HIlI$kG^j+loW=}q511SgciH|!4Hns??p~h2^K%H8opcCzGnJU-U%?c4R4G- zom2Tgcj+d4`~#a&U7U+lHAx@5i7RLKZe`|m$Qi$}Rjq9QJCHa_;`7qKia0muLKZ}Gj?nvr(r{rJ5PK7u>T za*?6?({va=|GR(0expC*809X-#~yz_>hCN;cBfU zdh>#7^}TpGo_OqcaMywoWQ_K=tN8@}{fFPh3yr=D!Es|8&B$H)2%h-R1L7$`jMhi< zy4&Bu8_)d&KYGFbpraa}`HSDf{8ahO@V+18J5L{VQ;XcyAH$RHQODv=Jo}g5z-#Ts z{+n8j4?O-mShZ*YW@V@P+Ev@irABOj`UiNy+*ll1$gSRl#~*vx>a#Umk-6E`iW3K3 zz>j|XBHDu(u0Yo9@BPOQV|ittocir`Kh=!1E)}c&@qv$i44dw` z6SJi+YTHulX#e(~;Cow-n4(tNY5yH3BpJF-c_SV8_5b`!>@c@0dxbFe3%e?{?4@lz z?uSRmZRwG1tiAO#Ui{hju`R^5?Q7S0-&ddOtXaKUjB4U><=9>vZtg~6Zkc>Gy&45M zX-JWq2N)W_jm}Fr`o=*R4hei}<$rQ<4OZ6_Bk`tu;(2!i2D8gizw8ba%t}R))NeU7 z{O}zw1AX0SYnD$K9z7TEz{OXp*1y@;-O|@S6j#?{(flH0rKs=1 z4xsy53r-w7h^FhK#|HWI`l9+8lojM6&1z@}-5r-lWyas|Ev{LOn&J#}izmuGM;x}o zsw)>i*he)&F@*>#(4-Ks+st4thuojIK1H;Z6Dc zd5FnOa$Y6wTCzaaONRB(QR(mN?m*MYBWO79VsxiF5k|k2hYMHl>B*TW%#kNWRr-WR{|lqq`lXng zpKWcELsIwVwKkl4`zTI%^m-ibIu7WM$A!$wdaRr;h6O{{ap=`If^0|WShDsW6ei1y zTbE_~ZV24IGmGVm5qFd$Z*;#^%@6bm`zB}h_Wkk5r6J*e*BJlaW^8}n`BUx6V_N;j z`%#vD6Ng@U389=-1-3Q0R%JMzXxYm!cYw`>tcRUe&R&-ZBsok~sd_ zo}fko>Ve+L0|(HYG=dwKF1UABN&;ICDjK5jhP+I80JDE)Hz0HwNp^YStPR!*B>(2G-Q8^qZpOI9?ll!dmj@i+P?nmmly|^d^BXM#pvVylZ zoQ@YaIUbgTsD3IP3*?xSF2@{o#2b*~)x}dsaQKY-1H#HXeV^4FlJjcQ zpfQhCeUIWcmY$i0VL1*D4ELgM{NY!%?kR+?XKY6?J#;9Zv$Cu`DWD%JzxKX5>-;is z^|<3_jK?aZBRx?WTo0f}&PBn3-j8$~Om-q=s=s6Ns_4vBbbs_VIO+4AD9WE-i<+vr z$VpS@%^_hYa~he89X)c^@;+=H({#HkHs^kOcD?2IRBXzqbjW#?y@Ihk(esk3YWB

F=#NcbfyutE@py7laE#1pdA~%Z*m#o?!LTJ5gSkhg6yG`c6G^kMp`*_q{d#x^E(FnCl?i`LOq6OZ4^; zMJ@bmJvnEjl;IBR%OrArEHBj@zC8ZktFeZxWWRc`xJF(qmP3AaX(>|VGbMc??n_K` zpE28<=>65edFXBgo6DNp#l){iyxnWD#uCMQ2e;~Y8T|ZUuEFV7kT$R>FyDDuDue|aK)Ni^4%UD)!`VDnQ5q>ABfvSoBD z6HE+Wzb;;C(~*#!je*OT5TBZkICs}3==#gNa~Rmo39 zxN+l#WmtRd+BIC4zAG=c$_QE+*D9~KW>9^)|DoT;nhg)*gc!~i7UUx zjYi8ml{x7NmKP~qZhZ~b_KYagb|tYq7`+iha|~0_MyURqeK6CZ>V;KqH@Kv+tuxN) zXmnd6-bHmdefqRcdXDYu-gCuiEVyvtLOk)r6Ufic_xJMq-~YZp?UYdE%Hyqy)f-%q z2-d~2r6?0?Kk^7p{PQ-yF{)jE%b7;B*fU3$YkvDvcz=DdOQ|orwEhwNC%HlRS3i6? zKrSwM3I4+$zYoQhMQlKkv5s6e zEAhE+)nfM#zlQJaX!aNB#L^FZ5r6Qmn!vuvQfkI*)U4Vfzx%QE+y5C)kB&vxQ#X26 zt*b*`@*tXy?!n=v>$+%MTsZ2{DX8aKc~d#07hK_xDGx#l)^9|y=ykr8 z4m|L{Y7`X6%IG?cw>!oVl-&OreC6?#Q0AZkL9H8kIP=&SzJ(3De~2%CZ%06}UReLc zpX1|e%k`o^PR%Yv?S{utyY7Dc;(vSv+s^rm{E6JWM`syvF+TmZ|AJK|<3=yr z*J%G&uf-3)@)yAkNezu-$znY5=YNK^<=Rk2m5gq;YahkeSFOZ%KmCu$Dv^CeL<+J4 z4}ebnp2+?;){jB-_LbmMfAux25{zb0>uAjf{s?vT+wrBZKZRc70^8hw?R_(KjHG0v zM2;OoSUhyPTu+6$UzqKg>5y&D+l2r6rN>ZiU%j%8&6fS~QQ5ZF9(WpG{=2QF+VN?Z zeSc&m0U0^jVgM?icZwg7FAA>kc@;1s_HcOG1nu(kY*#Hug zkv4lV)~>Dc8-yys#3Z>PY=nxs`%qWm^E_l^BPk^VMU~6&aA`S??A(R3Hv-RffqhLv z#mWuxd1=EqNBWr|#=`X*3z7Dse422$5}P(J3)nZsU4qDzh|CUTvAisZrZ@m(*X(aCZ)y#nj*uk#t6nrahLkXuxR zwZC14Q*X#8)?B4h%{8s9)ooFAlXH!LMzfge_fmpS-jXs7onGO3Ok?RUJwy=i$hX zS7f^gRBJ6|3STkEvYyA9#cG=n@9)djK7xu1N3mo7*xbt$ODDD0}h9aNxyP0}PDJ{jn=P6ARa^Mzzm!!ly(Gdjt1;o9<+3FJai~ zPhiRTC9|!`9;e1@9m`4b*q0vp+}8jKWuMPRft>F2SLSDl5xf;{_Tr}8WR=OI+yE}a z+Iz~Z?2g90woj#wwXIVla<}+ua}(UnG__w0*$3xifE8Sk0jf^BAYj*aiSJkl|rDf&#_qBm^+ijRh>_@3$$e-zR-Rf^7SQ~K} zWmvbq-tl;mnOBUuwZ*8CbJ-?(x)u(B*ga~tcqZ~)H*x8?Tr$G_taiz&?b5Wb!pXcJGiMfoYnE)?&w zqaIpDMzWDLI*q*9GxngOxNfbFvwTW=@9xI&9SX?l5hMQRa3~_!L0{64g@R z@hUoV6>CIcp7+#4n9zKVZdbOYvz6tYR=%s+SDvj!}_2)+vv8t!+2tI4koDx#y6M3x)xG^jH)W<@vA=wBh{KV0S^q zaA%-N3}l}HzZTNme=D80ky4Rz@HMO+*ZuTob}qitXw3X?KWIX@dsf#0ql zUH3sE*)P-#c{sr~UkOshu_!`%COYTw^(CBni)fg{+)TCWKOQHGVL@^!);(N5?z%iJ ztI)bmD{0(=-N##f-8KH_l$QAJpAB6@i_*^bBK{-m#~!#s8x!}29PZxhkm4^>Bo zdfIT|{MZ-t#`SYFV^)@)^!B2sU+oX}bD>*J=ln}Y8_`|v+a`*uD#YMc&+(!+-dlCO z6#zD6?2?!x-|^6~c^gmq?)@4Bz@+yU%3+~n`o zMB4DLgK*}<6F#;?Zy!+*!oSv&Z;F0u0zMw zpWr^D>rdu9V9rBB&1L=Dg~xqU_e;lK?zJe{Xx=-xmB&l>^MfWdePd<#+SS#Ccfb4H zuANlnot?g$ZpuTg@?NWhN-G`n=FPLRa>U3qTMSX%!mobyD;zo$`tFBY{ix-ud!owO z#*OR9dgxuq-t-_6%5yYowqW{b(wEg%8 z7#5?}IAyFW2CZ3}9!Ba#pI!f9>U#s-)(hK*}VPcH@~rrk*86gjjhFU z)*0SJHvEB2#U?uyZG=xEh=u?=pCEEGxyambgN@UxTreF@WlFD`Zl^LgSts3L`aq=f!ik@M{&}e1tq8ffxndAxvxJFYM`p>JFoT1G)=4RXYCWq;lSzOM z&CSg^={Z(jjAxoB<3IR=KY+=_D-30zs|P*d*ZmfbcWp-f=-e}{cm@8i zFE0|Wl>4wxyxg5>ak9*CP&fY(yvH=Q?Y)4Pw{92Xmu~CxY8xMZ2n+IjPXW{Bt;6rG zIE;VU=kqZe7nh8OpV$&$Y6dJ@P?3x^})ao`KE3|3}#K*>B*SEXB3Fif?}V4C4Cp@aX3sw>+laeCK8S&HuL- zDavD#cxs!7oT#*deDT5xSxX+rSC`iU-DmLZPkxS9Ph6Er?<_2P;J5IBcP*FRq+-qE zUqMgvALFN{2iW3A@aa)w+in@lPk;1(@Y)ISAP|>^JL(_A2S2d|^E0yXu0MDZCqDh> zIO=Q8`agHs67edkZt*9{1N_A}*|gW?;evP|oTcP?(Q?V{@q^e+6&F|!nR+`~UG#{G z;&u4iAIwMMU@Kn!`7iK-7#!S`vCUt;2_O032F#Y3PW8LKfX{b+8Q*!~lGRWB@7~Y+ zr5M}F!*dB;XLjMoKi-C8mphS~Q-)0+`Zyk0R*a1K8}PL+_u{i(ds?uwxG5o1I23|$7hZo!9TvHeM9?Ht3H2xw9kX>4fy#Feu)DYugRxf@=f9aDr z@}K`-Keu45>9P-e<-drrt&h3dc7ORJ*$=Pi{qTKw@7ij7?wg;1`x$Y3zrF6Kx(~iM z5%>S$e?s}}o7lhgXZZKsM|_OM(EWoSeJ|!`C(3rU8J~am9(?23a{*QL{u_{KUl5yp z{g|)cUZ$7B*e|pS$2eHqxts9KuRaFf%qnpE$}U}ocYpBxzHPhy1Nipm`|*YEyx`b` z$_%#eYg?0)!dl#4RwBpBt7tgffTs3dImRWSa9%Z*EK&x2avZ8(kN)ew5rZsaYt(j# z@%gxCrSg*1hnBNv&~#O{mH1S7o4MEDuhRNWs8fbr5(cg}OFPHWa$^7^a-+1cbdj_p z57m-#JsT?3aVGFL6P)F zeAVLAp(8kZsS|^8vvY3MQt{?hD1A)8yk&Jb-MklpvjpE@^pN}=7wo{Y#lDi%dV_Wh5BBA%{SsXfi3hg)h5ij0lE0@$^VR1H6 z@~iN`y#v^4H%1Dh-&TY2FW9z|mDDFU6FcSR(g-rLl^0<-MRr_8w`?BDW=p+=otB*^ z9*7e#(A|ly-Vr1v#o@~7i(0)Et1&Jg9pg}U3yvNX?-sIMBqXGvpyCcJlJ%M*o=KM7 ze;=;d_==S{Ha+0;eyBW&Hj8JrjB@(_2Syf9aiBZgh2OYva*5T4(6KA>%6 zR$-$U+sZ6K!T?&Ne#2<}wCoZrs#}Ia@t~R3J#MS;>roy&!db_DMUzOx^_~-t&I?f` zpQz6hParryI_IRhiiTU$% zTa!Lc`8ADCc<#%MMl@cnLQQ@K>Nc)H(&3XBm@QwxSm3(|IoEK^GEP#*g{Ak^TKoJ^ zr+gkUz`%KY`xD8jT(NA_BiwZ~HjFn+n20Vdd+F_S=qszSj`2CUa;)hLJSu8AGxo;p z29EC9C3^diHn$eb#VehhVC2P(H^r;*h&3PWyFS*|WcQ%{CrW`NsyV)h5xHgaGnm{}%SFVw-X$+uA=9P^XTCL-a zI$qS&$+;j+K9HMVjTH-;u;u3`y554OUUjR? zc^}p^+~Qz*P8~jj>IW9d!`M2ksY}Ai<^fbLTZ$aT=K3id9d)OlIHwl%*12H-r}n%a zaBg*L*HgZDK$Izj6)v9(JRf(ZgBaV6p7~^5t9hSqK9(kP zr5Y@gxzg%Y8UFe4xFPF5t;iR{%SE_%VcWR#S2*)Eys6A5|eROq8r^Fj`;I{8N+uk`p zYA}8S=fz`lp^PuLd>&Fx27bEUu3@?_Ph`$BHkQfHTP8a*fyL!~vcBuC%8pWIXh1O0C$+09Uvj~fp_^$i1 zjjgV#mvIBXGz;dga-}sCk!~Cr&|VYiqN-*(zh(e(_T4ZHz_J9L3(;RQl$R}-#UhSYL_BDHwRgn=}1dW7O%F0me<=a{?Q-e z#qGaA#k_fzjwu*Y*i9&7+l?DH`t|7a)~#FpdDA3ezrm?D8mF6{!OFrNj=djl`n<}y z)sOjn8r=F;q23rntx&IW!SqBzhteM@J+6IK2Di};s*PJ^a2riyTg^?iq22b%LsBO}-G>wn#YC7)bv`G~c2BxK^w6&tJ{hI(w&$z)iQO3}!bySZ_V}Re3}5+4q0=&NE|Pa@*VSlfQ4krvLEASUu{( zcEP>(A?wX&aa|@)Bb5)JzR-GlYN@=m@0a4iwn3{$!=7#OdkarI`AL*oMz?9WYkeJF z{#i8MKpVo*fBWC~KL-OJ5QjTP|6rytkx^KV_WeJ>XTNJ2k+oyn_rHeYZBOE>TdHM} zU5)o|D#o|O@N;COU2fniW6EM&AH6Cal1~IRo(nWS@hWE@YPmADZG9bIe)6Ai$zRxx zSDyYZUU~BoF^qdu4C7L<`H4sI%zyr|-_z#m-+93IX79~LeCsRU#ktYCBO|?N-2W`T zcBUWS{Fc-eqt5%*=i=xqW5>9gz3OSlsIkAi^`~wO$w2+B`xD~9FQn&M5ia)N1vjH` zJ~E`Q-xfn=)A)D)3qQjCUB~d1zy6$M%v}4v$1v}OZ~4cA;w^q-+e^FuAMqypn!kI! zy^Z+A-+UQ|w>*g_Wxb`&e-OX7?BDUdBR)gC-XkyKME4rhh*!xK58REXzxSrUu1@4U zutNOGsnCj-ou+LtHsq7ED}mRx zjY$}N?mlDpklKz*KNSyUJGS84U*Cf4#Bx0Gx%K$McVF?>|Hvmc`qnMFu=N{Xz|+R2 z*1qRieEs!T@yY-G4Xj;W?ynQs#8RxQ@tI>@+Wk-XS^&3pyztZSV1KiCW&XHqyM=dQ zWzqMsZEWKW-WBn3{NSj8bNk_6;7`6|aFe6sw(oxfFCYFG{#v~Ij-4HYt5l_v+y639 zUM|PsFMbv;jO`w>ez)Ok`%mM^zkd?dVi#P!NnU(-_B+P@8M;4SB__RJcx}KzZp-K1 zH)?F#j%WYdpWxYZV?yoiJMf(&JMhTozlld{XCu4zefUWA3u5d)CS#_&?EAUO*!KE) zY=7yHVUXX43ylYGp}9kh8kM)$BvjWg#L1U^hGk|O;))b$Lmk-n@2@&PgvqSNvQcB( z-j)VDzxR|;UA40h7cOY8v}vfhyBcSAIu9sQJasl7+KzpGZ=U_QAfG00y)GVlmzT(! z)A`87bsTu^LdZ+z~yYDLZHakv`|FTMcNzOApX3Hx4YLgk80SSBxC zq={GPMLFjKjGC+KwXtn4j=%DJfG5(v*0Xqhd$Sl%K7dLG53rh1IO{k$uL^fn=V5qI z-&WUJ-Q)PgcyydTh(<9=Q`_L#vsX~HtVp(jVmVJX%30DL(&e*M>M^DmL^q%FZ@=QV z85Ko7!vwW`?LK_jsOV#VX>^|wSLP^56XSK;gK$+LEh7ybr}l_(;`o*gg%L@HeVhuj z7pHdbK>B_6p)yxq%DE?hRGS!jH@xQmRAS+>wU!q)$UgtZE5`mjfwt8?m64q(<_Pja zh`ex`l2wGNMb#+EQfAYA;t^ZCE=S;Dx35d)qa5$sp_k#@=xnpLx8!WGpc)O=E?-6G z*dbD9%L^ToJ687J=(G$mC)9>8Y}~b7t|#=^`_bQe9{c21x$;3QlTTpgR^5fN6E8Y& z7SH6l-8i&utKZA98iYDt?0&ujtKTKZb6HJ=Rr2}yQ~Qkbsrt}C-l%bZKRT~EziKsA z+n67`k;svk->OGH-K-7BjbhKqkb30d;425xu&#cd7~F`Fa)nRzki3YqOU{96Yl(|1 z!J1X`tn2fx)BDljUss;H;UbuWHTPCoFCZv`_@k|Q8*mmM9(LGRokhpxMr*DT?s*S6 zi?C1(TvX^2Po~f9G3Q!+GFRG-=Bu^Xyh4oA#*Hf48Id_Jg`AT{Y#5X4@2xs_E8~*| zqhE(;74Q8Aj7if_f2X{pwi^Q}@^YNa4Q9=)K+4CM-h;l3Vu$E0)2%1d`LhK^CX%j0A3$GUzoG!nn#vcIPxM;YS#KkY7Bqr}4Y z0hICGx8+=E?UHZn%6+j!^-Txy>Silfi^-+)k#F6W?Z$<3-F}JYv&|SNuSQZviFooo zE?W7tHmtHU~W26S?g3sKq+oqCfX9_F&-OC@pv zA}=hbplEIts;lHWQ-u5EC52ZHw>VV`FHfx40LsVgBU!y|>=uT5 zaYMb?60H!U+x}$kRZZkvKKqVx-+iJ1xh5CK6y}|ZzP|H#b7u?g+Waue` z;&?f!A==LmlTtGEmDE>#l^5HOfBfTqqg&$pZO*F8je_ouTwo{<-OHw80uG! zMB>pZo{QVt+vM41Ij*)|!R)*|96jEM)hp^Po60r%pWa*n=pweNq(4JKEf8>$h(6`_Xmb z2>$Ko&)|$<^f8jL9Cdz!*o4&e&FI4R?&;_iQp6n(@;B zW7{zu=brsnoO$R;%kVQvJOjE0byv_!@FdrTU;L$MY-=b!w+;WaeI=gUTrN-8SK~c* z{KD_$HfQ!||9aYS*~wtGV;lbD3DcNyOmADm9vm83hLTJ%3^;g19(awFnW>!OJZl>a z>bX`7YrJ^DRlYuVfB*ky?>zwHxb8duFM20>B~eI%AR(}cAXp^!CXp`GC6bF=V?}mi zIdN?H{?R2los-x(`%bd|I!8|I|H*&HaV+WV#G!`T!nwsh;8j*Y32Iweu|TuzlRNECb#_Kdq{A5KsnrqBNw_*c7G-^m(x_d zIO8Uo+__)?d4h|C^K8Rt+!G{@Js?#R?Ks zOZ|p=z_R5feCMlQ@)%p+#cGlRucGu5utx^)|I2*EVooK|DiIo!t`Q^q@a z7;nJA1M&lUr~PDwZiymlX|FzGz@{H(X$rf&V*2@{e3T?s+g}7PAZAjXwzc8|t=LwR z$iR(rXe!!GFOVZJe`yg3ZXH5qzw>R6-(209j+##vekl-HlJD1uZOJ|^GLuCE?}x_F zu|0ONQdqV~X}5#8s5=Eac^aw1m8NXmla+wmab(dq?3OG5A*(2hgo!e812-<{))jHA z;q-are{>Vo3!2`$v=}v&3L|>pzDN?6k)EKj%1LZ1!U-o{xLiC|jhv6JRzH7{52$|w zJjapqvXPUe3OChAy)R?Bq9wtt@Hx`ZfPNC(rqI8_!gzGrh3HB=i3^Y^Rip_t*R^RP z@4@lc_4*8lm+{U{lBVQQ+396{S~Ll6-CvnZ4L0D!l`cmhAJ!b7tCc0&GVjdSB8Q zYCf+K+iEihG+wAd{^nA$(hQ_!MWaP4JW{+4HC}QO+d5+C$ECV%>@1}=O)m=!-@Q)^ zpv#qkJ(8KJWA^0K6%t|IC-O~hxaopjK&~D(y)+rma7z{5Y`uX63-cg!f>h1P78=P4h4It~SS&6?|y=z~3tNv$h{ z|M{JbYxi_?jJ>b44Ug(#XgYNeO*%&c8n0>M3uMgTh{mF^fMF+1{oowwqZ~|}*L>~k z)X=f?0U!Hq}I;YeOHq-zS@t7A+pJ3}KZi@2E^UXbF8d z7KMW1T-09Bj)e`<3-R4v$2>0i_iNl@!PrdAM$7rL8nLaqmzE?NtM4mDDcz5W4+>qK zdfEp%oefI3`jfXk_xpj|R|nE}>gUz>y}@XQdbucAwS}zC%Jiu|&sqSjLdff4h#*<(Fj?K-w zANaE>g_e8QAsy(cIgSH0#ze()o}Ru@65Pho2N~iSQ<&o;BiCRCX}Egxbvuy0WhUB) zZh1`H>xpU7B^M-ay7@A(Gmz_mHhS}8Sim7xo0gi^X$Ni{!*`uM*BQnAB@6; z+WvMDS^nfFKfxzI`AJD=EAqE~{dzLc8jAx5JU@q3%i=1w?da%`EZYh(?_6-g%B!oB z_9*+^k1D?DfF$nO8 zZ#JD7@#l2UJ0mHEej;i`wIZh?E>H3KdrZxnr|_yDzn4M`D+H-p#sBHkr=^Re-;st; zKw){-O6#*(Sy@O*l5B!Wr4(k`t&HDSbgiweP_5j~pFbaL<fo zjP)y*p&%~{iP7%2CSn@y&wg_WPQUa|ctbU{CcfUbJE~_BNyt$we%W`^%J9UfG~HgZ z60IuHiPR+1cK(!P^;R2BUGMqew|MRYbt^c_j@ldg5eHaC{YZnmce1k{SM&s`QnG_~ zE4K4jl>%=x1~)Sl`&jdFyy4;bV(pv9FtGbk5;n%7a4|jXua)!E)kWg!60#tdwiaLg z)Fu4*rIY%?PMs2n2S82LWZh5an0A*Z3xsxmDOskh;9{&EhtBA~fD>_zRlbAz&y`DJ z=VkOI9!?yjy}4MsR2E(KUOMI`mR0j01gMu9hDmTsl=4bZgac?)4xV}a1cvY5PZr&l z;{GDwH|ha89u{^V)+*w|>O)7B5at(l!`AUhm`67(@~0cQShZA$VyH|)#OvXP?Z{8R zgCj1<<*qJO#JXcRamd5hjU=c(UjH%dQ}XW;P4G80r!pyCl-ENgw&x}ng?VH$mfUdt zDSh#^;Sm@oK02o#TKD7m&7u`c!%a!yD-YJ_x-u6g-BYs zVSMn;MGpZk;n=kSJX%JQ>H_CBWe;Ss?N9VII!z&J53j5^gsM?UNhJY>+qC1tVxM|t zbPb(|oOD^VG11-Xaa!p98!fPrAXZqq$;?SaoyPi>8tdek&RbUL;3!5Z3#oKn9_$-X zy}K;cr@j$1osX#JLoUbNH%CUsXeYf4N?3sMWgR$swcWdw9SRXYUkDY28zc>zQJzV& z*WN{<#(YWCm`-Jum80>PpDDMj;r1q7OHLwYah>Ss9Vfvpy(mb|B&$z#_7eG>PzJSxBz$b~&ou>_Jo4C{oEXR!pjcQG9l$IIHAnYWN!++5pb$Q%z{>ChNG0xL12H zuyahh!|n#u)OHDNkaUzdV;56xBykXDILLZcobPi01`8cu=RmVdg*=E z!k6CTPz@}r@5b!;@Ur3yGfz%PV_HH4dW&i$20EN$6+D3+{>lcoBjm+WmOER5_gCQvTv+p8bc1h87)2et}<2ASK-?+swZt~|oR-3a?^!2#k zKd3%z(zwY*;3*D9XChU;T&Z5YEIsx60p3^p-FF&i*{?b=1MP5fiUjvl;h2!-P7g;^ z6m<+yNhl&AZsvUYIQsZSeetw$Q4Nobt7B&RL`}E*33hpB=zeQ*QZo=Rq#;aSD9-2p zW^UDewU_}vt5PEhU}--y^g&V--J?5yZW2JmW`hRWw*C(gs*y9Y7v{!NHX7N1hf zZs^!COx|iiSY#B2j=zu8y&sjV+^WZiNiQ|t)QE7hY&-bwJD9g=Ga^${)x#L9Jb{Up zCWOVr%A!>Jka-gyI``0N*ulRbbNb#>AVW|3qJBx&9}eE8uICdvBmmmm8g z-hAy<`er}eF1DRZf?HwrcgKz$PA9+@OTbP6t=|wYLA*InFG{=}6LIT55cHO+`*BZc zx%<8g_GndGcT#c9R7xw$>n%NT+>9TiJh_JV7MD>xKJS0&rI(~Is_3?&qC(n!`Q?{= zj_XbipeMHNBnwNk=|)E#swE-3Wx?%io(JpPTtA`%!@RsxH%9dF@2>~l<(PNGVF{(V3iX|BfAyxSUrGDH&G8acCVU!9`IC?1S= zp^q9+9955~So-7ks*==XqTTDhPorr9l@|vCG@ZCdH{Kzoqs(}#?^V^z>K~Q%+N}Vc zKw`ftc<^KPP)F4zbkE;JR`DW`Lsm>ave`((+8iCeJ>hu6q6QD2w-9UAkVQJZ;8PS@z2w}UbP{p-oo^+NX6sI3vYdgw zc4rY=L~@2CXdUfqGqe_>mT{oVOTEzHX0KFaEwbC-6sW=MQ_-qB#8OS1rWx$?^5)$} z*DtF1+R*a48i$|fc#@`2ul3T+x+m(sr=`A)tPznF>5N>uUe;@29NKi<&2OS+ZrlB=#rspg5*jPYX-P$A*n7 zkR?QdlCz<;<{VDfdbzJ1Z^FS>o7AYKWqf)e%9fWRFC{^G>75)`iK8`M;&F<>U?V!) zE@&9&(T=f#&&-~q0Nas09#1Q38YbGir)VT0U!VQ;o@cMFM@?M2T!U!0Ev;ip#9@(n z*t};oq+WcY8^_+g;50thrtfLps(3(Flh%tF8ORAytZFqsw`?QsEzYv{!ZzwV&mB9B zPTetwdrq^;wqVTyr7x_lq-kTdcLeVK)jh-Q4QTEYQvs@boR=g?LAOyp_3= zJM-7>PE^%&V=Gy+j!4Ks#g31_Hr!8^ce>Hp){YLcB55@1wds1}3dVKYe!+J=V1C>G zv4HtB41I=JALW`)|N6R7jElx@(9gN1Vc!lC3w!*U6~|R~9JVR(3di}qW3@X+@dymKksoI`8V#59e(uIJj@iJ=iNiU zFTAV8@$bIc|GqQmb;9Cy*z&<4nx9YO$g1>$k}@nW$wNZMLTufagvz&$qtmWb)cEyr zH8V$fhGpVj-X67;<+b2`tMlR^R5o~dkYLZeykdQw@Z82`tM0oL+if$@XH{+y8tf1s z?4@L-BPA&j3G|VABn|4tOo@>s_DV>0yhC$5g)@jKD7*ddTMV;fWgF2X;>*3B{X+_i zpjy>t0&5Ez7^cUvp4w*cpS4)}?7)KlQbW+|s$bU!ud&XK2O*FZLRqbVR)}t^s;bb~ z*r=PSoSYmdv90iH)+(-UgfqM|jNVg((L2eJ4^E=}|NQ~x?cPK8o(UMcejR-;{|dKB zXA?ok$Eq)(^?&>WlJ|ZD5%F~V#&z`m+b<9n9gQ&Rt4GeBLi=;iV&0wyrSP^JH_-d? zzhQcGMD{};N{D}wGh^6bhB=7je*14fM^<(&wiAQSj!txTbs{Z24U@#kHg3ZcUwIsF zy!v~3-V}i;+9#e53Cp%~$-1o&j|-=2-h|jz-6tIgjXzoqpt|mSL+Qw;`^~1~m{{`` zUiD)XzjJKXYS`=ryjaS-SPJXJRyZNL78fHC|IwpIt%#E2PzVh5w&3*p;`a`zYD@6RPyYdy zrmHv8S=g{P4Yig2i%DZ3;?ln58%1Zk|M7+5iIdAXOF5I(7_*ePd$J$4k_9@GE^F~3 z@_9+|eF@+B>fhn>-}+N*yC;)g{v{xH;XTrC`@Tm=L^^=#_g}-0e|gA1fw4&ogr=a<>g+fa9F7-hn0uj*1)qe$6IE+|8JfqKBhGNA}%^gg{!(RNHvkK*0RdTiQX zg3RUjlg->SP<4h|HZPST>aBX8WJK<6#lv66m-nsm&C04K&y&M6m6?yOY}Eoe#MA`Y zuJr7hn@EI4)20W-rIzFCPks@rG@{~w(@8DG0{iJTQV}SrXoThgr)wAi4X=eE(phwV zwTl4q>r4G2t%vMl=VMha+${W>ZTn+`UKER(@+77SF-(tUkC#=ApzHRO_PVJbPJJ$$ zN)}AX#I3%k8Qm+U3_gVA8`fj75HCi=AUQo-`W2T_M(6{A_J(UXd!^ZKiBDwDZp|T(*6*Z z^58YJTB)LvkrPkViV*t}zN>uzAPc#!E}(Pl8d(6_lN~qEIZ=eHs1%xlDjuDx*dTEM zWFx}#;X*x?!PP})p z1o30BTXo||3R|S8H3c4)hKLwTk0R1Za?W&N4;#2)NedvTQS9WdgEQ@F3eX^z9;g+*@QEdLb zJF%ufh-Gc)Zl$pYS#!@w%EQJzTTuDNQLmzpl;VxpSS(*e2O3Y~c#Zk-%V7Ie)H*Jz znljJMs!#P;ZQ7dao_1{E^}4Hk03|-Ono$?z>yoo#PQPT4;f`yTz7Ngb0P;H<*Y5t> z<2W=@hIPvqB8g0z#w4U5NBr`Or9zGNx8qvX88r24)KmeE*EF;&Sq)??5LgCM5Ndst zwmgCKb=r8$tp~<}uB5V4)i3I{!7?jd`YePl1B2)hgDi~`Vyfbz3}sI&R&U+r_NGU? zgAZ3eZp>a(L}tQV?k~f|*pvQg2c=HkfDmXo?U2%oj)*I#CdOtS z3uxsVR!tw~?|rpjeWxg3Q0qis?a(8C_2AS9Zq}T}&9+iJNV6ftL}g$#eF*%vMrf{j z^?!NWE=h}GGw`z~2=-wf8MWy=r~Bi~%Nx3?Q+UwcdqYv?%?50GF~ShIJVq0-MjAl_AI`SSyPM@UXiJ0hUM|gZ9iEYW!s}w#Ng9qQn@X6!yaV30M zEQKE*m!!6;xXbzOAatPIo|?o@p8YP`+iqdkgCD`NrOPBM#q~F?;D5jJe{lZvDM@5| zTe&B)*=&*(T(KQVMlkICY3LNmEhj=K{QB#!OFy@Rp|wL)7jIR?n;&n-MTyP$QOWq? zR}FL5EUmm93`J<-21@T1wwOHaHX_V@t$GAxhTqZ5svlMK+JBPOrprUF@U9@F#W4)-pP=zM4 zpxHk>f{~G7dNJRPm7jVN`?LaK;g|A!lPnU8Qy@>QDVFA4T^$K!JXjUg##B(Kh|aV- zeOWhrx=@a9fBy*-D5KBb=4w=3ZbCO%DjKD)JqLTb(Gy*cC!g5un;5z80$FQ*M6%W# znIK+nwHfDDBV0E26zWI3R(dhxyceg_F1&>Bbl8{rHKsm(n(P4?xpZ;n+kR{ksSr)N z@lk5XGEkuiosLN()4qe_`I%=#KG;u@LIi`Kpb zRs%RKr_iI(N63eK&$k@TQ{9Qjl6wkd%j25##S6?r9bs@BeHap#B75w+q#5W?83#zy zFN=A6e-z)-Lwt2au$nB{SM9cc>7`+xqAm9&e46^A-yWm963{soQADR8FT;G>Q=L4n-;?6o2;!Od5T)XG>nODjuNt z{tfie0L41mf)nR%%F!nlqf8Rpj#7W|Hfre>D=aJ$_iWjNVwz@f<%(P!R4hunWK7zO zU$6#S%d({PVX{PcxT;mpo8i9jaMurP4ZY6D0bj0Lde=QMTY>5E7)|G$>|f{aVBu?B zr;$Z)uS=qOox`Cn&rf>D?2e-h9@hfR@9bQ=hi+EmUHZi*rXy$m0_5amU>;e1BmFIn z*K$a(_)%nCIE2$piq*aV$7>!D`fUL9)rwed9A+R(iSY3bwZntv_6Y<-z_h?JN$iCr5l;k&UBjHVw3X0 z9VUj+-r9z~p%K_of^5Bj}k84XQCUG(-a2Wa(NjiEYJopPUfo zifIU>bKa;5ez>Q(b5{Cgh! zsy>aER>WZ(`z#;1(*?J)g;!J>wXz112T$=>5x-A)W6`ZMu22@+iku2@?F}+puUfek z;@hA9{O8Vv@NsMZ{{8k4B5roR6Ug8AFh0I6TMF2E^dSqf?I_#m!V*TVQ4GuJ#0;#T(%Rwm1Fsv=%jU+Q+WB0>~{CU=*Jg5oq( zUeFVA8!GPHqtV$DSQ&L9kYCdQ1wuCnXw@h^6Ig zu`HKr5ltVzcKI#4o`_{Di;*xjh}uiF^ddcqUXYKWby(Yv6CdTR zd9qY5e4CEZ&Nn96#j>wEsq}QEmEX2OmC^VTJ}OGTAGgQh*EyysZ0DDuVx?-8%RS#l zd-|#m;b@&Rua4_Yu#uJdm<&}&5RZavx!hg#jc!q8-@8H)+uBf9`7WyU=4Ovh^;sLJ zO=wblov+;?t&iK|oFLKgkXSOm$Mw!Hn zQ!DW(E0)EGnCL`xxHBbuVR^_+l|}Ny?YG=UJ=sh0Wn&3sslDdX4g0-_>$wi2dzNK%&q9-n zWAVa7bZS0W64w=Z3T)?4;}dEpM`Km;GimcYV6`e9=UmLrmi>C;=RHo~xgNqO;ZCKY zN)+Y6?5IgUUB|W0iu-EweW%csSW~xL%VkA76mdqAm_uCag}_{|4QSJ~3qr`+q>##* z8^>y6aID7{mPvX%v8TJyd6poDFUOh{<(<9zEk`-TTCnPbb1LfA?A3iW2d0+3KCAK) zX;@?)Rw-iJiM~3#{r(l*`|D(NQ0yf>uZPu3g^ovG#>2k!Ev`vf(MDY3^!Hw`zq1z; z^g(hI{mWmp05$4|l&%T5Y^M~Kpiq1?GckaxHS}ytc_v~_o3XYnxMbb0&EPz1vF6#q zZ1$JFULX8|KMR3!a%cuW#c3_riv6mQx8MElcTkUsr4ZZ-S5#Dlt5>foq36y*62a2L zUa<@lRu-twRmHKQ6w=IdS~-R2_RJZFxT>O}!fx?2Xo-ek#Gx*>Rgnp+wyImcd^xsk*`jXxycA)}%F68F zv~k;a@`_gi3zifkovb2=--<1p5$$mxl7^-8>1nRwdRlHtYhm;?kzMZ=U4%WG9Rpz1 zuevO$*o^I)w`220vRb92_2GvO@oe%v8?f9U4~zHxDV}=jDe3p0KeJJd(rGzQRct!# zB?E31D`Y{i%YL()ftJy1I(M?a1ez|m+(QBF!cg)vIAZdv!?8yE=DBB4O_o-LOZCBu zt{lRX1wz?}_-oDzuHrwr7@KoEj5CY2VX>nBY^=H<1quu6Co3iL%ZIduD@d^G|K;`V zqnD*PGncPN9L2L`bFsAD{J~K-5%6?MvfXm)jbjIO#kL}_zEG+SO`Y<2N?1%5how~X z|KyhM!ov?gjEDDcmGUHf^>_6vBBErh+K{UsP};i!o0jSeX6=CzQe{!GeTQRZdU_tx z;`Lv5XC^9E5r^yW+Brpq;0P+Ok#S)C(5@b}+ij@2F(B=TU9=JRc{rcDKDG|R{&1)| zwd`4i^9{3@oF#vJVdy~|@S|OLjL*x#zMGvU>sKz;(T5t6`>+rFF6YXZwjYz_Zn0FG z&FBS%^mO=ia z$5>S@LwvMSCv82b>oRC-)QN`D1CC(!Qz{oA7OgrR4j4opob?JyzC^~d08{yQI31=JV))#g-nvv{L{Y#c{cak+} z(aVV!?FUcZP>;;%rK7F*ciof57K(NB7%$_ol)`-PAJx&6kVdU(dOAw^kib0hxprN$ zBEO+@?H+2YMP;@6>3JOH*@sqvjn~ZA0CPTPd@K;keUue_T|7(qFlKb8trOyx))LJNz`TI_48;M zlt=zq3k&V{6D|?*rb57Rz47lJCs2^$1J4QiC{MWfbe$Ak1S$0^~?QtT>diT zM|yupBtEWLv$_;TMMWseAcF;7K0sFUXm%OwwqQ0N!S-j>vxC{{FMYl~1RJP@@fQ{r z+G7)AQ(?9Cfd?MIm%sdFnr$RU`iXV1PaG3|RHqHA?wc!1yJ%Et)AnsDfOegfwo;Lt z_G$fSjtf6wQBmmr=YK@kkDf(DW;Uj+v*HjGv_eQMoVe}?tG2G?R1@v&?8N);zmE?- z_<&|FRn3K{M|o)h0q++iIT7K{tX~VV<#QCFoHw5fV- j%j8xxU|ulN#)bYegP| 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�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≪8o1LGQOn{P_9GaLEQ&&v-*-iLp-T&QU^?<@!8hiGi{Zm5NOKG+aKDQe>vo zKukSHx|?xr?}QEZ%YCW;>IE=meA>nl=iILji2Abk$xba|znij%&xEB`#Pk^;|ACJ_ zCl&3KTMj(ge+kg30|aNLuD)Ew`CLv=D#|?Wt8$*SwP7s}z2~xdUS1||As|X_#U5EVlxJ}6#CF$zH+VfyDuQv@wB(++Te6XGE8yzl?H^+KP>Y^ z-WO@O9k{#_7~p7Ue1CfWykfc?NYh!BpU zBcH}5i9HyV+QeUr;#S~oufY%s`?Ei=r$KJo1R-3NUEd6X;om)IZ(`XwuJsmi{MVIFHA-x;;PIZ;8>oAMF|SPuVuGzC&{|gR>Jtz;h~*5lJ?k3`6u|4gBtf z1@0+FPw(blS9AkUQS?OggYm(+&ypFErZnNk4dhuS>g>Fcs&>)wSw-CL(}0aRY`gJo zA|1gRbu-HQ6)|a&ompDs#0Zm%+<2<;!CDl`%QV;H^|Z4MF?>uSG-FH53;u@plv3!2 zB#|fM1?-f-&I$71r~k@i0_Kx5Wceu)e+23=P&NE&edc z;4wRfMy^8pR4!d916ktmwuAht0}TyBudT?it6iRQQHi4T*1?J%?2B>9zV#8P)LMU| zg}5^fdQP(By9w(`jmqCC%?AR6+#Z+!a4f;=0}w>G84X?F65DJ^cxJG$ZioLMS0giW zoyoMzL!QV4Iy&A^BqEn>O!Df-LjxJuSij`GP@KTcrmUzmQ}lpW|4unAsw`$?GZH8A zcG(ce))M;qV{M!OC+_^&7q600vHlR7c^2%GRob75pN-w3PS`B)?r;iMU6pp@7lg4w z78rL(u3cn?=v?xQ%PR!A1(h`Jg^KGgSp8$wrb}_`2YMgDI_4jOKuR%$OXW*8)BP0h zJYH|o zrPv;qks=T~!yRc-i_vE%4ujqbhl(`7L*<&o#pj7XR!mAJ63F|I!#g1+#w@PdkzN}Xyjeca`DWD>6 z_jLkw%>_8{PoZ=ob{W4hbP+V{v;AN<@Li2-Uh~iVk6FkU)_BHX?K4GTR)PW_AM86x z2?_z7P=7YSrlRTvCIhcc@8b7%ybl7nuUZy@fB^LY;&(2J`{78!;aixNt ztQ~|f=|*BXjWowj^oZunjV`HSmdLVxXWQL zS{O-;BVOk@F0`p+^U&OlR+!+$7PMnG!rA@_xzhRd$H*WU6T=9a%P|U}i^AzaYfK6( z9rIi;Q^w{@JDX|TM1ek~UUy+-?WmhMepF-7S!hoEiuQks!2jj*a_y~~7a_Gs3{AJ#hI3FZA>H=s&_QTHYMdIMTqjsnC`3TCcuAcJSD4||v`D=CDC zytx=tq{1h!CwA7E-nRP+6)zHR0cBC>I4Ff_v2RHw6CXBY3+IF5D%4E6DL;#NkxURm zJZh$7(xn8oK$KSP3qmnRlAy+^ShlM-|@&s*wG+5et^yH1u9Qwf!qJ&KyQV|eKpmGmPq;(Pf&e`U9f%%p5o&snFAfwP@#-jP-mfD0)M zwc6{1W497R#idN4E)M~&Y|U;2+3)?Uv@NW%t-N&xTFYqbl7H9e3d;kGx+BaZvW!&7 z^_Ub{B&*9aC<$|&)w27Ry=g~Myh8+`hvr|>kvwsa!K6}fb0C$y_wocY3Ms~seD#TT z)D;A09%qebk)yYV=GCb}q+;TMX`Wf1O=bV)asoh z^_2{AGD_)2FQXP6B(3nA;#Z3@80BwIRr*(YtC_~g>QYtJ*H)kiGV`mq9^p|2;GAV@C{>^J$oe#Y=_ZCB|9ze)Yu)T$BADz)RPWKlX%y)8@GgoPi_ zlVoel<@JavkKR`n;Y;MiG%mj0rG@mX#CZWX>cU&0J!%b0DnEhkQY1T|us78AULCZ``ET25hiBZFn^|5a`}mR2qoQ)A zw6Rz5pQ-o2+|zegp-9@K-uqp^Ss^ zf)bFU0L|lqv!Zs%SWV0$1CbDk;?XAv-Z{r|-|*L^UZ6G=1~iyqS+do}%0Dg&0omSD zFTgR$@C#Au9vj^T>SsQe=uG|YZ#jAc6+Jh??J-kdDKQUC){N%T5o6{0A2v6VuW)~o zndixghsxMj^wkw=rs}v;co`r|ezjnJ5H)!l2BD}QUA#m?Pe z*6dF;rprlEoxLTIjiExS>gG;WJ@eqIFD`1%?I^MhKb&`4f|h?SQe2WKNjcAnpp;zA z>6il2MWk?AtUA-cK0Rua(da4z-owK+qxY>JFNfs04k}VyTZxFjH@c^b9XE(dzao${&M9+=##WTV$ztjRTDq?npQ$IMZY*0J7wH4NVP;YU&aUGs)UhAWbjGSvPy=3 zNdd$96K5)dTwQ}eAf2}=8q5(T1E1RPve4_o)-Y?czj{*o%W{nTx$r=NXd!*GXa2QS zcGy{Znw(OXL!eOH6V<(34F$I>6>yE^drltvsBK*v3UIZ^>iNg5Cens9rD-K?0}wL; zoMI|nhl3w@SpAF1$KK`J>f5@Nm8cgFCzk9-@DJ|SCPQ$(*4LE?NO|jnL^sOSm6-I? zx1~`&Mk>Eva5!D-6P~=vKvLU|Ss%L=UTIu?r_1KH0 zfXYloRj8O)EVl1(TuX4}F`#)m?j)Wj|Kt5=z9ph${`1`(Wl^t^oOuRX+u9Ew%2JeBWnTcJQ-I`{sM@78ZD`IvRL9$O9Ts)k7gpg3)DM(56-gA4ma4!S_xt6p8ZrzC36eIwC z4gp4<&H~(Hs4%kpf_>9fD);jTq`|nrb(}hW(cOLjMw(qdsRGF8o~CD!o~{w9ws7p; zXOHlTKqH*kz2KdbyUHBqK#P_7!ng`*r&Is*{)sZB@@wl@xzI29KizQc^g_0mQanj% z{LiE!G4>BVKA;Aou~F8f4EOEn1Savb;*c?Ayhlna!upRA!k)y+f&1OWkpKTAS#V;% zBzM6fHG7ny+Sl+L-wU2uAfERzv_OA$hy}xgWUhw~Pz>vxD^Lue)&3STu zUhA`GTNO^^gtmVJpDrLzcDi5h5KZ;2>*EzLtgJ|I(|yQww$xfqcb@p=5NJ@qeIC>P zm-kARPosBw zBKwT^(tD0iymqkJ>UK~-O8bLikkMKO_5#<+O>4fw9#dlxgboGWK02vGXPoz&xeyjl zawwQo&jts`3y3qHNmnYSaL+AE)i>vr`VX9*`x2g!b+SyPZVix-Y9MrnbEN4$uSbb7 zgqL`2h(0nXQ3Ok07<8GX|42B)>i^vv=o%||k?i5uE2O=|nJu!LcPI^LhUb^v0M(^6 zJ%~|(Z*oEPY08ZpC`0|ZR}>cg(kt^s{&)H2j>89y zse2kmXPVFb6&xJY$WOO}1W>zCDp)?vVt|s!tBeF+F>igS{am&iHK=5E+S9t^ehpvPltL3bka1t>K1dooWq zj6uMG`NM{$#pY@cdq?(FmaBemfN*P&7uZKAF?Q2&SB!-rmL$z@AXX6^_JK@XNW+&) z;ML!(nn-Hp&nGzjK;GD?aBic8lO;qo%%uz^??}8XBS41iwqn>h1qdfm!Oe*p*ToI# zoNI%BJG;Y@x0hCc9v3NGh3&8%{>o~vaPo{|OXXJcQIY2C(gU9aVzkX_e0p&PVJk(e z1{%7)ffeL}+jGMn;2A_0;LF{pllwr(j9DiCE?56m`r=}pSFmA_{2(xAMejH;X`2uA zE2A6LfU)J$%B(1eceyx_@^xYX1Ufmy`oPDN)a+4CHpH7%T31E z$?&@+*k^mrGYNh_6qX-g<7HlMMUA~`_;s21l_JKg~HW2AJ9qc=~t=9i#@(aRMzoi}B# zCCg+le=Qv{gQ97b`i{++fhsl(#U_liAzs|owmki#9wa%fGDZN1Si$QrE98HuEOyo_ zin!&}!=rxb%O$Ta*TyiK)mEUbr)UuP$O6hwI57cW=fZfCFR<>u{gKi;Mu=1u3Y}?$ zxDCTX**c0>d>*fF8NHmqsymJi5Hi;KAB zPU|cko9S*K#ny@vm%Ytb@Y}^U1p($e=2ylgom;3Zh9Hggt8f4K|G?zGcwPJ1>t7qR zU-@S!XKJ(=h~N>u%#13SRt!ZrVt8rGvj�@+nv7_57*ju+Jb^0sbr4IFWvT(Vt`d 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�eg$YfWF`*74u~+{A7_0&dJ35m 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 literal 0 HcmV?d00001 diff --git a/images/c04g01-halting-problem.png b/images/c04g02-halting-problem.png similarity index 100% rename from images/c04g01-halting-problem.png rename to images/c04g02-halting-problem.png From df73f2d7d3ea7e299a1a0fa6515ec545465ac7cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Bevacqua?= Date: Fri, 24 Mar 2017 02:08:34 -0300 Subject: [PATCH 5/5] finish applying @rvagg's review --- chapters/ch02.asciidoc | 2 +- chapters/ch03.asciidoc | 4 +- chapters/ch05.asciidoc | 88 +++++++++++++++++++++++++++++------------- chapters/ch06.asciidoc | 75 +++++++++++++++++++++-------------- chapters/ch07.asciidoc | 16 ++++---- chapters/ch08.asciidoc | 33 ++++++++++++---- chapters/ch09.asciidoc | 4 +- 7 files changed, 146 insertions(+), 76 deletions(-) diff --git a/chapters/ch02.asciidoc b/chapters/ch02.asciidoc index f5b0c9f..834bea0 100644 --- a/chapters/ch02.asciidoc +++ b/chapters/ch02.asciidoc @@ -764,7 +764,7 @@ Let's turn our attention to spread and rest operators next. === 2.4 Rest Parameters and Spread Operator -Before ES6, interacting with an arbitrary amount of function parameters was complicated. You had to use +arguments+, which isn't an array but has a +length+ property. Usually you'd end up casting the +arguments+ object into an actual array using +Array.prototype.slice.call+, and going from there, as shown in the following snippet. +Before ES6, interacting with an arbitrary amount of function parameters was complicated. You had to use +arguments+, which isn't an array but has a +length+ property. Usually you'd end up casting the +arguments+ object into an actual array using +Array#slice.call+, and going from there, as shown in the following snippet. [source,javascript] ---- diff --git a/chapters/ch03.asciidoc b/chapters/ch03.asciidoc index 5d783d5..e856dca 100644 --- a/chapters/ch03.asciidoc +++ b/chapters/ch03.asciidoc @@ -221,7 +221,7 @@ console.log(person.satiety) // <- 40 ---- -Sometimes it's necessary to add static methods at the class level, rather than members at the instance level. Using syntax available before ES6 instance members have to be explicitly added to the prototype chain. Meanwhile, static methods should be added to the constructor directly. +Sometimes it's necessary to add static methods at the class level, rather than members at the instance level. Using syntax available before ES6, instance members have to be explicitly added to the prototype chain. Meanwhile, static methods should be added to the constructor directly. [source,javascript] ---- @@ -773,7 +773,7 @@ Object.assign({}, { a: ['b', 'c', 'd'] }, { a: ['e', 'f'] }) At the time of this writing, there's an ECMAScript stage 3 proposalfootnote:[You can find the proposal draft at: https://mjavascript.com/out/object-spread.] to implement spread in objects, similar to how you can spread iterable objects onto an array in ES6. Spreading an object onto another is equivalent to using an +Object.assign+ function call. -The following piece of code shows a few cases where we're spreading the properties of an object onto another one, and the +Object.assign+ counterpart. As you can see, using object spread is more succint and should be preferred where possible. +The following piece of code shows a few cases where we're spreading the properties of an object onto another one, and their +Object.assign+ counterpart. As you can see, using object spread is more succint and should be preferred where possible. [source,javascript] ---- diff --git a/chapters/ch05.asciidoc b/chapters/ch05.asciidoc index 3cc5b49..79b3406 100644 --- a/chapters/ch05.asciidoc +++ b/chapters/ch05.asciidoc @@ -1,7 +1,7 @@ [[leveraging-es-collections]] == Leveraging ECMAScript Collections -JavaScript data structures are flexible enough that we're able to turn any object into a hash-map, where we map string keys to arbitrary values. For example, one might use an object to map +npm+ package names to their metadata, as shown next. +JavaScript data structures are flexible enough that we're able to turn any object into a hash-map, where we map string keys to arbitrary values. For example, one might use an object to map npm package names to their metadata, as shown next. [source,javascript] ---- @@ -273,7 +273,7 @@ console.log([...map]) // <- [['a', 3]] ---- -In ES6 maps, +NaN+ becomes a "corner-case" that gets treated as a value that's equal to itself, even though the +NaN === NaN+ expression evaluates to +false+. A number of ECMAScript features introduced in ES6 and later use a different comparison algorithm than that of ES5 and earlier where +NaN+ is equal to +NaN+, although +NaN !== NaN+; and ++0+ is different from +-0+, even though ++0 === -0+. The following piece of code shows how even though +NaN+ is typically evaluated to be different than itself, +Map+ considers +NaN+ to be a constant value that's always the same. +In ES6 maps, `NaN` becomes a "corner-case" that gets treated as a value that's equal to itself, even though the `NaN === NaN` expression evaluates to `false`. A number of ECMAScript features introduced in ES6 and later use a different comparison algorithm than that of ES5 and earlier where `NaN` is equal to `NaN`, although `NaN !== NaN`; and `+0` is different from `-0`, even though `+0 === -0`. The following piece of code shows how even though `NaN` is typically evaluated to be different than itself, `Map` considers `NaN` to be a constant value that's always the same. [source,javascript] ---- @@ -309,7 +309,7 @@ console.log([...map.entries()]) Map entries are always iterated in insertion order. This contrasts with +Object.keys+, which is specified to follow an arbitrary order. Although, in practice, insertion order is typically preserved by JavaScript engines regardless of the specification. -Maps have a +.forEach+ method that's identical in behavior to that in ES5 +Array+ objects. Once again, keys do not get casted into strings in the case of +Map+, as demonstrated below. +Maps have a +.forEach+ method that's equivalent in behavior to that in ES5 +Array+ objects. The signature is `(value, key, map)`, where `value` and `key` correspond to the current item in the iteration, while `map` is the map being iterated. Once again, keys do not get casted into strings in the case of +Map+, as demonstrated below. [source,javascript] ---- @@ -365,7 +365,9 @@ function destroy (entry) { } ---- -One of the most valuable aspects of +Map+ is the ability to index by any object, such as DOM elements. That, combined with the fact that +Map+ also has collection manipulation abilities greatly simplifies things. +One of the most valuable aspects of +Map+ is the ability to index by any object, such as DOM elements. That, combined with the fact that +Map+ also has collection manipulation abilities greatly simplifies things. This is crucial for DOM manipulation in jQuery and other DOM-heavy libraries, which often need to map DOM elements to their internal state. + +The following example shows how `Map` would reduce the burden of maintenance in user code. [source,javascript] ---- @@ -393,7 +395,7 @@ function destroy (el) { } ---- -The fact that mapping functions have become one liners thanks to native +Map+ methods means we could inline those functions instead, as readability is no longer an issue. The following piece of code is a vastly simplified alternative to the ES5 piece of code we started with. Here we're not concerned with implementation details anymore, but have instead boiled the DOM-to-API mapping to its bare essentials. +The fact that mapping functions have become one-liners thanks to native +Map+ methods means we could inline those functions instead, as readability is no longer an issue. The following piece of code is a vastly simplified alternative to the ES5 piece of code we started with. Here we're not concerned with implementation details anymore, but have instead boiled the DOM-to-API mapping to its bare essentials. [source,javascript] ---- @@ -430,7 +432,7 @@ map.set(Symbol(), 2) // <- TypeError ---- -In exchange for having a more limited feature set, +WeakMap+ key references are weakly held, meaning that the objects referenced by +WeakMap+ keys are subject to garbage collection if there are no other references to them. This kind of behavior is useful when you have metadata about a +person+, for example, but you want the +person+ to be garbage collected when and if the only reference back to +person+ is their metadata. You can now keep that metadata in a +WeakMap+ using +person+ as the key. +In exchange for having a more limited feature set, +WeakMap+ key references are weakly held, meaning that the objects referenced by +WeakMap+ keys are subject to garbage collection if there are no references to them -- other than weak references. This kind of behavior is useful when you have metadata about a +person+, for example, but you want the +person+ to be garbage collected when and if the only reference back to +person+ is their metadata. You can now keep that metadata in a +WeakMap+ using +person+ as the key. With +WeakMap+, you are still able to provide an iterable for initialization. @@ -457,33 +459,33 @@ map.has(date) // <- false ---- -==== 5.2.1 Is +WeakMap+ Strictly Worse Than +Map+? +==== 5.2.1 Is +WeakMap+ A Worse +Map+? -The distinction that makes +WeakMap+ worth the trouble is in its name. Given that +WeakMap+ holds references to its keys weakly, those object are subject to garbage collection if there are no other references to them other than as +WeakMap+ keys. This is in contrast with +Map+ which holds strong object references, preventing +Map+ keys and values from being garbage collected. +The distinction which makes +WeakMap+ worth the trouble is in its name. Given that +WeakMap+ holds references to its keys weakly, those object are subject to garbage collection if there are no other references to them other than as +WeakMap+ keys. This is in contrast with +Map+ which holds strong object references, preventing +Map+ keys and values from being garbage collected. -Correspondingly, use cases for +WeakMap+ revolve around the need to specify metadata or extend an object while still being able to garbage collect that object if there are no other references to it. A perfect example might be the underlying implementation for +process.on('unhandledRejection')+ in Node.js, which uses a +WeakMap+ to keep track of rejected promises that weren't dealt with. By using +WeakMap+, the implementation prevents memory leaks because the +WeakMap+ won't be grabbing onto those promises strongly. In this case, we have a simple map that weakly holds onto promises, but is flexible enough to handle entries being removed from the map when they're no longer referenced anywhere else. +Correspondingly, use cases for +WeakMap+ revolve around the need to specify metadata or extend an object while still being able to garbage collect that object if there are no other references to it. A perfect example might be the underlying implementation for `process.on('unhandledRejection')` in Node.js, which uses a +WeakMap+ to keep track of rejected promises that weren't dealt with yet. By using +WeakMap+, the implementation prevents memory leaks because the +WeakMap+ won't be grabbing onto the state related to those promises strongly. In this case, we have a simple map that weakly holds onto state, but is flexible enough to handle entries being removed from the map when promises are no longer referenced anywhere else. Keeping data about DOM elements that should be released from memory when they're no longer of interest is another important use case, and in this regard using +WeakMap+ is an even better solution to the DOM-related API caching solution we implemented earlier using +Map+. -In so many words, then: no, +WeakMap+ is not strictly worse than +Map+ -- they just cater to different use cases. +In so many words, then: no, +WeakMap+ is definitely not worse than +Map+ -- they just cater to different use cases. === 5.3 Sets in ES6 -A set is a grouping of values. Sets are also a new collection type in ES6. Sets are similar to +Map+. +The `Set` built-in is a new collection type in ES6 used to represent a grouping of values. In several aspects, `Set` is similar to `Map`. -- +Set+ is also iterable -- +Set+ constructor also accepts an iterable -- +Set+ also has a +.size+ property -- Keys can be arbitrary values or object references -- Keys must be unique -- +NaN+ equals +NaN+ when it comes to +Set+ too -- All of +.keys+, +.values+, +.entries+, +.forEach+, +.has+, +.delete+, and +.clear+ +- `Set` is also iterable +- `Set` constructor also accepts an iterable +- `Set` also has a `.size` property +- `Set` values can be arbitrary values or object references, like `Map` keys +- `Set` values must be unique, like `Map` keys +- `NaN` equals `NaN` when it comes to `Set` too +- All of `.keys`, `.values`, `.entries`, `.forEach`, `.has`, `.delete`, and `.clear` -At the same time, sets are different from +Map+ in a few key ways. Sets don't hold key value pairs, there's only one dimension. You can think of sets as being similar to arrays where every element is distinct from each other. +At the same time, sets are different from `Map` in a few key ways. Sets don't hold key value pairs, there's only one dimension. You can think of sets as being similar to arrays where every element is distinct from each other. -There isn't a +.get+ method in +Set+. A +set.get(key)+ method would be redundant: if you already have the +key+ then there isn't anything else to get, as that's the only dimension. If we wanted to check for whether the +key+ is in the set, there's +set.has(key)+ to fulfill that role. +There isn't a `.get` method in `Set`. A `set.get(value)` method would be redundant: if you already have the `value` then there isn't anything else to get, as that's the only dimension. If we wanted to check for whether the `value` is in the set, there's `set.has(value)` to fulfill that role. -Similarly, a +set.set(key)+ method wouldn't be aptly named, as you aren't setting a +value+ to a +key+, but merely adding a value to the set instead. Thus, the method to add values to a set is +set.add+, as demonstrated in the next snippet. +Similarly, a `set.set(value)` method wouldn't be aptly named, as you aren't setting a `key` to a `value`, but merely adding a value to the set instead. Thus, the method to add values to a set is `set.add`, as demonstrated in the next snippet. [source,javascript] ---- @@ -491,7 +493,7 @@ const set = new Set() set.add({ an: 'example' }) ---- -Sets are iterable, but unlike maps you only iterate over keys, not key value pairs. The following example demonstrates how sets can be spread over an array using the spread operator and creating a single dimensional list. +Sets are iterable, but unlike maps you only iterate over values, not key value pairs. The following example demonstrates how sets can be spread over an array using the spread operator and creating a single dimensional list. [source,javascript] ---- @@ -500,7 +502,7 @@ console.log([...set]) // <- ['a', 'b', 'c'] ---- -In the following example you can note how a set won't contain duplicate entries: every element in a +Set+ must be unique. +In the following example you can note how a set won't contain duplicate entries: every element in a `Set` must be unique. [source,javascript] ---- @@ -509,7 +511,7 @@ console.log([...set]) // <- ['a', 'b', 'c'] ---- -The following piece of code creates a +Set+ with all of the +

+ elements on a page and then prints how many were found. Then, we query the DOM again and call +set.add+ again for every DOM element. Given that they're all already in the +set+, the +.size+ property won't change, meaning the +set+ remains the same. +The following piece of code creates a `Set` with all of the `
` elements on a page and then prints how many were found. Then, we query the DOM again and call `set.add` again for every DOM element. Given that they're all already in the `set`, the `.size` property won't change, meaning the `set` remains the same. [source,javascript] ---- @@ -524,11 +526,45 @@ console.log(set.size) // <- 56 ---- +Given that a `Set` has no keys, the `Set#entries` method returns an iterator of `[value, value]` for each element in the set. + +[source,javascript] +---- +const set = new Set(['a', 'b', 'c']) +console.log([...set.entries()]) +// <- [['a', 'a'], ['b', 'b'], ['c', 'c']] +---- + +The `Set#entries` method is consistent with `Map#entries`, which returns an iterator of `[key, value]` pairs. Using `Set#entries` as the default iterator for `Set` collections wouldn't be valuable, since it's used in `for..of`, when spreading a `set`, and in `Array.from`. In all of those cases, you probably want to iterate over a sequence of values in the set, but not a sequence of `[value, value]` pairs. + +As demonstrated next, the default `Set` iterator uses `Set#values`, as opposed to `Map` which defined its iterator as `Map#entries`. + +[source,javascript] +---- +const map = new Map() +console.log(map[Symbol.iterator] === map.entries) +// <- true +const set = new Set() +console.log(set[Symbol.iterator] === set.entries) +// <- false +console.log(set[Symbol.iterator] === set.values) +// <- true +---- + +The `Set#keys` method also returns an iterator for values, again for consistency, and it's in fact a reference to the `Set#values` iterator. + +[source,javascript] +---- +const set = new Set() +console.log(set.keys === set.values) +// <- true +---- + === 5.4 ES6 WeakSets -In a similar fashion to +Map+ and +WeakMap+, +WeakSet+ is the weak version of +Set+ that can't be iterated over. You can't iterate over a +WeakSet+. The values in a +WeakSet+ must be unique object references. If nothing else is referencing a +value+ found in a +WeakSet+, it'll be subject to garbage collection. +In a similar fashion to `Map` and `WeakMap`, `WeakSet` is the weak version of `Set` that can't be iterated over. The values in a `WeakSet` must be unique object references. If nothing else is referencing a `value` found in a `WeakSet`, it'll be subject to garbage collection. -Much like in +WeakMap+, you can only +.add+, +.delete+, and check if +WeakSet#has+ a given +value+. Just like in +Set+, there's no +.get+ because sets are one-dimensional. +Much like in `WeakMap`, you can only `.add`, `.delete`, and check if `WeakSet#has` a given `value`. Just like in `Set`, there's no `.get` because sets are one-dimensional. We aren't allowed to add primitive values such as strings or symbols to a +WeakSet+. diff --git a/chapters/ch06.asciidoc b/chapters/ch06.asciidoc index 7094710..2336a8f 100644 --- a/chapters/ch06.asciidoc +++ b/chapters/ch06.asciidoc @@ -1,11 +1,11 @@ [[managing-property-access-with-proxies]] == Managing Property Access with Proxies -Proxies are an interesting and powerful feature coming in ES6 that act as intermediaries between API consumers and objects. In a nutshell, you can use a +Proxy+ to determine the desired behavior whenever the properties of an underlying +target+ object are accessed. A +handler+ object can be used to configure traps for your +Proxy+, which define and restrict how the underlying object is accessed, as we'll see in a bit. +Proxies are an interesting and powerful feature in ES6 that act as intermediaries between API consumers and objects. In a nutshell, you can use a +Proxy+ to determine the desired behavior whenever the properties of an underlying +target+ object are accessed. A +handler+ object can be used to configure traps for your +Proxy+, which define and restrict how the underlying object is accessed, as we'll see in a bit. === 6.1 Getting Started with Proxy -By default, proxies don't do much -- in fact they don't do anything. If you don't provide any configuration, your +proxy+ will just work as a pass-through to the +target+ object, also known as a "no-op forwarding +Proxy+" meaning that all operations on the +Proxy+ object defer to the underlying object. +By default, proxies don't do much -- in fact they don't do anything. If you don't provide any configuration, your proxy will just work as a pass-through to the +target+ object, also known as a "no-op forwarding proxy" meaning that all operations on the proxy object defer to the underlying object. In the following piece of code, we create a no-op forwarding +Proxy+. You can observe how by assigning a value to +proxy.exposed+, that value is passed onto +target.exposed+. You could think of proxies as the gatekeepers of their underlying objects: they may allow certain operations to go through and prevent others from passing, but they carefully inspect every single interaction with their underlying objects. @@ -46,9 +46,9 @@ proxy['something-else'] // <- undefined ---- -As a complement to proxies, ES6 introduces a +Reflect+ built-in object. The traps in ES6 proxies are mapped one-to-one to the +Reflect+ API: For every trap, there’s a matching reflection method in +Reflect+. These methods can be particularly useful when we want to provide the default behavior of proxy traps, but we don't want to concern ourselves with the implementation of that behavior. +As a complement to proxies, ES6 introduces a +Reflect+ built-in object. The traps in ES6 proxies are mapped one-to-one to the +Reflect+ API: For every trap, there’s a matching reflection method in +Reflect+. These methods can be particularly useful when we want the default behavior of proxy traps, but we don't want to concern ourselves with the implementation of that behavior. -In the following code snippet we use +Reflect.get+ to provide the default behavior for +get+ operations, while not worrying about accessing the +key+ property in +target+ by hand. While in this case the operation may seem trivial, the default behavior for other traps may be harder to remember and implement correctly. However, when using the +Reflect+ API, we just need to forward the method call to the reflection API and return the result. +In the following code snippet we use +Reflect.get+ to provide the default behavior for +get+ operations, while not worrying about accessing the +key+ property in +target+ by hand. While in this case the operation may seem trivial, the default behavior for other traps may be harder to remember and implement correctly. We can forward every parameter in the trap to the reflection API and return its result. [source,javascript] ---- @@ -68,8 +68,7 @@ The +get+ trap doesn't necessarily have to return the original +target[key]+ val ---- const handler = { get (target, key) { - const [prefix] = key - if (prefix === '_') { + if (key.startsWith('_')) { throw new Error(`Property "${ key }" cannot be read through this proxy.`) } return Reflect.get(target, key) @@ -182,7 +181,7 @@ const proxy = concealWithPrefix(target) // expose proxy to consumers ---- -You might be tempted to argue that you could achieve the same behavior in ES5 simply by using variables privately scoped to the +concealWithPrefix+ function, without the need for the +Proxy+ itself. The difference is that proxies allow you to "privatize" property access dynamically. Without relying on +Proxy+, you couldn't mark every property that starts with an underscore as private. You could use +Object.freeze+ on the object, but then you wouldn't be able to modify the properties yourself, either. Or you could define get and set accessors for every property, but then again you wouldn't be able to block access on every single property, only the ones you explicitly configured getters and setters for. +You might be tempted to argue that you could achieve the same behavior in ES5 simply by using variables privately scoped to the +concealWithPrefix+ function, without the need for the +Proxy+ itself. The difference is that proxies allow you to "privatize" property access dynamically. Without relying on +Proxy+, you couldn't mark every property that starts with an underscore as private. You could use +Object.freeze+footnote:[The Object.freeze method prevents adding new properties, removing existing ones, and modifying property value references. Note that it doesn't make the values themselves immutable: their properties can still change provided Object.freeze isn't called on those objects as well.] on the object, but then you wouldn't be able to modify the property references yourself, either. Or you could define get and set accessors for every property, but then again you wouldn't be able to block access on every single property, only the ones you explicitly configured getters and setters for. ==== 6.1.3 Schema Validation with Proxies @@ -190,7 +189,7 @@ Sometimes we have an object with user input that we want to validate against a s There is a number of ways in which you could do schema validation. You could use a validation function that throws errors if an invalid value is found on the object, but you'd have to ensure the object is off limits once you've deemed it valid. You could validate each property individually, but you'd have to remember to validate them whenever they're changed. You could also use a +Proxy+. By providing consumers with a +Proxy+ to the actual model object, you'd ensure that the object never enters an invalid state, as an exception would be thrown otherwise. -Another aspect of schema validation via +Proxy+ is that it helps you separate validation concerns from the +target+ object, where validation occurs sometimes in the wild. The +target+ object would stay as a plain old JavaScript object (or POJO, for short), meaning that while you give consumers a validating proxy, you keep an untainted version of the data that's always valid, as guaranteed by the proxy. +Another aspect of schema validation via +Proxy+ is that it helps you separate validation concerns from the +target+ object, where validation occurs sometimes in the wild. The +target+ object would stay as a plain JavaScript object, meaning that while you give consumers a validating proxy, you keep an untainted version of the data that's always valid, as guaranteed by the proxy. Just like a validation function, the handler settings can be reutilized across several +Proxy+ instances, without having to rely on prototypal inheritance or ES6 classes. @@ -292,7 +291,7 @@ We've already covered +get+, which traps property access; and +set+, which traps ==== 6.3.1 +has+ Trap -We can use +handler.has+ to conceal any property you want. It's a trap for the +in+ operator. In the +set+ trap code samples we prevented changes and even access to properties with a certain prefix, but unwanted accessors could still probe the +proxy+ to figure out whether these properties exist. There are three alternatives here. +We can use +handler.has+ to conceal any property you want when it comes to the `in` operator. In the +set+ trap code samples we prevented changes and even access to properties with a certain prefix, but unwanted accessors could still probe the +proxy+ to figure out whether these properties exist. There are three alternatives here. - Do nothing, in which case +key in proxy+ falls through to +Reflect.has(target, key)+, the equivalent of +key in target+ - Return +true+ or +false+ regardless of whether +key+ is or is not present in +target+ @@ -348,6 +347,16 @@ console.log('_secret' in target) We could've thrown an exception instead. That would be useful in situations where attempts to access properties in the private space is seen as a mistake that would've resulted in an invalid state, rather than as a security concern in code that aims to be embedded into third party websites. +Note that if we wanted to prevent `Object#hasOwnProperty` from finding properties in the private space, the `has` trap won't help. + +[source,javascript] +---- +console.log(proxy.hasOwnProperty('_secret')) +// <- true +---- + +The `getOwnPropertyDescriptor` trap in section 6.4.1 offers a solution that's able to intercept `Object#hasOwnProperty` as well. + ==== 6.3.2 +deleteProperty+ Trap Setting a property to +undefined+ clears its value, but the property is still part of the object. Using the +delete+ operator on a property with code like +delete cat.furBall+ means that the +furBall+ property will be completely gone from the +cat+ object. @@ -419,7 +428,7 @@ Consumers interacting with +target+ through the +proxy+ can no longer delete pro ==== 6.3.3 +defineProperty+ Trap -The +Object.defineProperty+ function can be used to add new properties to a +target+ object, using a property +key+ and a property +descriptor+. For the most part, +Object.defineProperty(target, key, descriptor)+ is used in two kinds of situations. +The +Object.defineProperty+ function -- introduced in ES5 -- can be used to add new properties to a +target+ object, using a property +key+ and a property +descriptor+. For the most part, +Object.defineProperty(target, key, descriptor)+ is used in two kinds of situations. 1. When we need to ensure cross-browser support of getters and setters 2. When we want to define a custom property accessor @@ -577,7 +586,7 @@ for (const key of Object.keys(proxy)) { } ---- -Symbol iteration wouldn't be affected by our +handler+ because Symbol keys have a type of +'symbol'+, which would cause our +.filter+ function to return true. +Symbol iteration wouldn't be affected by our +handler+ because `Symbol` keys have a type of +'symbol'+, which would cause our +.filter+ function to return true. [source,javascript] ---- @@ -650,6 +659,16 @@ console.log(Object.getOwnPropertyDescriptor(proxy, 'topping')) // <- { value: 'mozzarella', writable: true, enumerable: true, configurable: true } ---- +The `getOwnPropertyDescriptor` trap is able to intercept the implementation of `Object#hasOwnProperty`, which relies on property descriptors to check whether a property exists. + +[source,javascript] +---- +console.log(proxy.hasOwnProperty('topping')) +// <- true +console.log(proxy.hasOwnProperty('_secret')) +// <- false +---- + When you're trying to hide things, it's best to have them try and behave as if they fell in some other category than the category they're actually in, thus concealing their behavior and passing it off for something else. Throwing, however, sends the wrong message when we want to conceal something: why does a property throw instead of return +undefined+? It must exist but be inaccessible. This is not unlike situations in HTTP API design where we might prefer to return "404 Not Found" responses for sensitive resources, such as an administration back end, when the user is unauthorized to access them, instead of the technically correct "401 Unauthorized" status code. When debugging concerns outweight security concerns, you should at least consider the +throw+ statement. In any case, it's important to understand your use case in order to figure out the optimal and least surprising behavior for a given component. @@ -671,7 +690,7 @@ The +apply+ trap receives three arguments. - +target+ is the function being proxied - +ctx+ is the context passed as +this+ to +target+ when applying a call -- +args+ is the arguments passed to +target+ when applying the call +- +args+ is an array of arguments passed to +target+ when applying the call The default implementation that doesn't alter the outcome would return the results of calling +Reflect.apply+. @@ -872,8 +891,8 @@ Note that arrow functions can't be used as constructors, and thus we can't use t We can use the +handler.getPrototypeOf+ method as a trap for all of the following operations. -- `Object.prototype.__proto__` property -- `Object.prototype.isPrototypeOf` method +- `Object#__proto__` property +- `Object#isPrototypeOf` method - `Object.getPrototypeOf` method - `Reflect.getPrototypeOf` method - `instanceof` operator @@ -972,25 +991,15 @@ proxy.setPrototypeOf(proxy, base) // <- Error: Changing the prototype is forbidden ---- -In these cases, it's best to fail with an exception so that consumers can understand what is going on. By explicitly disallowing prototype changes, the consumer can start looking elsewhere. If we didn't throw an exception, the consumer could still eventually learn that the prototype isn't changing through debugging. You may as well save them from the pain! - -==== 6.4.6 +isExtensible+ Trap - -An extensible object is an object that you can add new properties to, an object you can extend. - -The +handler.isExtensible+ method can be used for logging or auditing calls to +Object.isExtensible+, but not to decide whether an object is extensible. That's because this trap is subject to a harsh invariant that puts a hard limit to what you can do with it: a +TypeError+ is thrown if +Object.isExtensible(proxy) !== Object.isExtensible(target)+. - -If you didn't want consumers to know whether the underlying object is extensible or not, you could +throw+ an error in an +isExtensible+ trap. +In these cases, it's best to fail with an exception so that consumers can understand what is going on. By explicitly disallowing prototype changes, the consumer can start looking elsewhere. If we didn't throw an exception, the consumer could still eventually learn that the prototype isn't changing through debugging. You might as well save them from that pain! -While this trap is nearly useless, other than for auditing purposes, the hard invariant makes sense because there's also the +preventExtensions+ trap that's a bit more permissive. +==== 6.4.6 +preventExtensions+ Trap -==== 6.4.7 +preventExtensions+ Trap - -You can use +handler.preventExtensions+ to trap the +Object.preventExtensions+ method. When extensions are prevented on an object, new properties can't be added any longer: the object can't be extended. +You can use +handler.preventExtensions+ to trap the +Object.preventExtensions+ method introduced in ES5. When extensions are prevented on an object, new properties can't be added any longer: the object can't be extended. Imagine a scenario where you want to be able to selectively +preventExtensions+ on some objects, but not all of them. In that scenario, you could use a +WeakSet+ to keep track of the objects that should be extensible. If an object is in the set, then the +preventExtensions+ trap should be able to capture those requests and discard them. -The following snippet does exactly that: it keeps objects that can be extended in a +WeakSet+ and prevents the rest from being extended. Note that the trap always returns the opposite of +Reflect.isExtensible(target)+. Returning +true+ means the object can't be extended anymore, while +false+ means the object can still be extended. +The following snippet does exactly that: it keeps objects that can be extended in a +WeakSet+ and prevents the rest from being extended. [source,javascript] ---- @@ -1001,7 +1010,7 @@ const handler = { if (canPrevent) { Object.preventExtensions(target) } - return !Reflect.isExtensible(target) + return Reflect.preventExtensions(target) } } ---- @@ -1030,6 +1039,14 @@ console.log(Object.isExtensible(proxy)) // <- false ---- +==== 6.4.7 +isExtensible+ Trap + +An extensible object is an object that you can add new properties to, an object you can extend. + +The +handler.isExtensible+ method can be used for logging or auditing calls to +Object.isExtensible+, but not to decide whether an object is extensible. That's because this trap is subject to a harsh invariant that puts a hard limit to what you can do with it: a +TypeError+ is thrown if +Object.isExtensible(proxy) !== Object.isExtensible(target)+. + +While this trap is nearly useless other than for auditing purposes, you could also throw an error within the handler if you don't want consumers to know whether the underlying object is extensible or not. + As we've learned over the last few pages, there's a myriad of use cases for proxies. We can use +Proxy+ for all of the following, and that's just the tip of the iceberg. - Add validation rules on plain old JavaScript objects, and enforce them diff --git a/chapters/ch07.asciidoc b/chapters/ch07.asciidoc index 86cec0e..fb81a7a 100644 --- a/chapters/ch07.asciidoc +++ b/chapters/ch07.asciidoc @@ -47,7 +47,7 @@ When ES5 came around, the default radix in +parseInt+ changed, from +8+ to +10+. [source,javascript] ---- -console.log(parseInt(`100`, `8`)) +console.log(parseInt(`100`, 8)) // <- 64 ---- @@ -236,7 +236,7 @@ parseInt(`0o110`.slice(2), 8) // <- 72 ---- -To make matters even worse, the +Number+ function is perfectly able to cast these strings into the correct numbers. +In contrast, the +Number+ function is perfectly able to cast these strings into the correct numbers. [source,javascript] ---- @@ -960,18 +960,18 @@ The +ToInteger+ function translates any values in the +(-1, 0)+ range into +-0+. // <- Uncaught RangeError: Invalid count value ---- -An example use case for +String#repeat+ may be the typical padding function. The +leftPad+ function in the next code snippet takes a multiline string and pads every line with as many +spaces+ as desired, using a default of two spaces. +An example use case for +String#repeat+ may be the typical padding function. The +indent+ function in the next code snippet takes a multiline string and indents every line with as many +spaces+ as desired, using a default of two spaces. [source,javascript] ---- -function leftPad (text, spaces = 2) { +function indent (text, spaces = 2) { return text .split(`\n`) .map(line => ` `.repeat(spaces) + line) .join(`\n`) } -leftPad(`a +indent(`a b c`, 2) // <- ` a\n b\n c` @@ -979,7 +979,7 @@ c`, 2) ==== 7.3.5 String Padding and Trimming -At the time of this writing, there's two new string padding methods slated for publication in ES2017: +String#padStart+ and +String#padEnd+. Using these methods, we wouldn't have to implement something like +leftPad+ in the previous code snippet. When performing string manipulation, we often want to pad a string so that it's formatted consistently with a style we have in mind. This can be useful when formatting numbers, currency, HTML, and in a variety of other cases usually involving monospaced text. +At the time of this writing, there's two new string padding methods slated for publication in ES2017: +String#padStart+ and +String#padEnd+. Using these methods, we wouldn't have to implement something like +indent+ in the previous code snippet. When performing string manipulation, we often want to pad a string so that it's formatted consistently with a style we have in mind. This can be useful when formatting numbers, currency, HTML, and in a variety of other cases usually involving monospaced text. Using +padStart+, we will specify the desired length for the target string and the padding string, which defaults to a single space character. If the original string is at least as long as the specified length, +padStart+ will result in a null operation, returning the original string unchanged. @@ -1048,7 +1048,7 @@ Let's switch protocols and learn about Unicode. ==== 7.3.6 Unicode -JavaScript strings are represented using UTF-16 code unitsfootnote:[Learn more about UCS-2, UCS-4, UTF-16 and UTF-32 here: https://mjavascript.com/out/unicode-encodings.]. Each code unit can be used to represent a code point in the +[U+0000, U+FFFF]+ range -- also known as the BMP, short for basic multilingual plane. You can represent individual code points in the BMP plane using the +`\u3456`+ syntax. You could also represent code units in the +[U+0000, U+0255]+ using the +\x00..\xff+ notation. For instance, +`\xbb`+ represents +`»`+, the +187+ character, as you can verify by doing +parseInt(`bb`, 16)+ -- or +String.fromCharCode(187)+. +JavaScript strings are represented using UTF-16 code unitsfootnote:[Learn more about UCS-2, UCS-4, UTF-16 and UTF-32 here: https://mjavascript.com/out/unicode-encodings.]. Each code unit can be used to represent a code point in the +[U+0000, U+FFFF]+ range -- also known as the BMP, short for basic multilingual plane. You can represent individual code points in the BMP plane using the +`\u3456`+ syntax. You could also represent code units in the +[U+0000, U+0255]+ range using the +\x00..\xff+ notation. For instance, +`\xbb`+ represents +`»`+, the +187+ character, as you can verify by doing +parseInt(`bb`, 16)+ -- or +String.fromCharCode(187)+. For code points beyond +U+FFFF+, you'd represent them as a surrogate pair. That is to say, two contiguous code units. For instance, the horse emoji +`🐎`+ code point is represented with the +`\ud83d\udc0e`+ contiguous code units. In ES6 notation you can also represent code points using the +`\u{1f40e}`+ notation (that example is also the horse emoji). @@ -1198,7 +1198,7 @@ const text = `\ud83d\udc0e\ud83d\udc71\u2764` // <- [128014, 128113, 10084] ---- -You can take the base-16 representation of those base-10 code points, and use them to create a string with the new unicode code point escape syntax of +\u{codePoint}+. This syntax allows you to represent unicode code points that are beyond the BMP (or basic multilingual plane). That is, code points outside the +[U+0000, U+FFFF]+ range that are typically represented using the +\u1234+ syntax. +You can take the base-16 representation of those base-10 code points, and use them to create a string with the new unicode code point escape syntax of +\u{codePoint}+. This syntax allows you to represent unicode code points that are beyond the BMP. That is, code points outside the +[U+0000, U+FFFF]+ range that are typically represented using the +\u1234+ syntax. Let's start by updating our example to print the hexadecimal version of our code points. diff --git a/chapters/ch08.asciidoc b/chapters/ch08.asciidoc index bd63988..7523428 100644 --- a/chapters/ch08.asciidoc +++ b/chapters/ch08.asciidoc @@ -152,7 +152,7 @@ console.log(render(`list`, [{ image::../images/c08g03-dynamic-render.png["Printing different views through a normalized render function."] -Moving on, you'll notice that ES6 modules are heavily influenced by CommonJS. In the next few sections we'll look at +export+ and +import+ statements, and learn how ESM is compatible with CJS. +Moving on, you'll notice that ES6 modules are somewhat influenced by CommonJS. In the next few sections we'll look at +export+ and +import+ statements, and learn how ESM is compatible with CJS. === 8.2 JavaScript Modules @@ -259,7 +259,7 @@ When you want to expose multiple values from CJS modules you don't necessarily n [source,javascript] ---- module.exports.counter = 0 -module.exports.count = () => counter++ +module.exports.count = () => module.exports.counter++ ---- We can replicate this behavior in ESM by using the named exports syntax. Instead of assigning properties to an implicit +module.exports+ object like with CommonJS, in ES6 you declare the bindings you want to +export+, as shown in the following code snippet. @@ -325,17 +325,34 @@ It's important to keep in mind that we are exporting bindings, and not merely va ===== Bindings, Not Values -ES6 modules export bindings, not values nor references. This means that a +counter+ variable you export would be bound into the +counter+ variable on the module, and its value would be subject to changes made to +counter+. While unexpectedly changing the public interface of a module after it has initially loaded can lead to confusion, this can indeed be useful in some cases. +ES6 modules export bindings, not values nor references. This means that a +fungible+ binding exported from a module would be bound into the +fungible+ variable on the module, and its value would be subject to changes made to +fungible+. While unexpectedly changing the public interface of a module after it has initially loaded can lead to confusion, this can indeed be useful in some cases. -In the next code snippet, our module's +counter+ export would be initially bound to +0+ and increase by +1+ every second. Modules consuming this API would see the +counter+ value changing every second. +In the next code snippet, our module's +fungible+ export would be initially bound to an object and be changed into an array after five seconds. [source,javascript] ---- -export let counter = 0 -setInterval(() => counter++, 1000) +export let fungible = { name: 'bound' } +setTimeout(() => fungible = [0, 1, 2], 5000) +---- + +Modules consuming this API would see the +fungible+ value changing after five seconds. Consider the following example, where we print the consumed binding every 2 seconds. + +[source,javascript] +---- +import { fungible } from './fungible' + +console.log(fungible) // <- { name: 'bound' } +setInterval(() => console.log(fungible), 2000) +// <- { name: 'bound' } +// <- { name: 'bound' } +// <- [0, 1, 2] +// <- [0, 1, 2] +// <- [0, 1, 2] ---- -Finally, the JavaScript module system offers an +export..from+ syntax, where you can expose another module's interface. +This kind of behavior is best suited for counters and flags, but is best avoided unless its purpose is clearly defined, since it can lead to confusing behavior and API surfaces changing unexpected from the point of view of a consumer. + +The JavaScript module system also offers an +export..from+ syntax, where you can expose another module's interface. ===== Exporting from another module @@ -568,7 +585,7 @@ const random = (function() { })() ---- -Compare that to the following piece of code, used in an ESM module called +random+. The immediately-invoking function expression wrapper trick went away, along with the name for our module, which now resides in its filename. We've regained the simplicity from back in the day, when we wrote raw JavaScript inside plain HTML +