--- theme : "moon" highlightTheme : "agate" --- ## Introduction to JavaScript --- ### What is JavaScript? ![Java logo with a no symbol](dist/img/not-java.png) JavaScript is not Java --- ### JavaScript is the language of the web ![Laptop and server connected via the internet](dist/img/client-server.jpg) Photo credits: [Andrew E. Larson](http://www.flickr.com/photos/papalars/5210226441/) and [John Seb Barber](http://www.flickr.com/photos/johnseb/3425464/) [cc](http://creativecommons.org/licenses/by-nc/2.0/) --- ### JavaScript works with HTML & CSS ![Triangle](dist/img/triangle.jpg) Photo credit: [Gillicious](http://www.flickr.com/photos/ggunson/44539990/) [cc](http://creativecommons.org/licenses/by-nc-sa/2.0/) --- ### What is JavaScript? * Created by Brendan Eich as "LiveScript" in 1995, which got renamed to "JavaScript" * Standardized by the **ECMAScript** specifications. * A _client-side processing language_. A browser reads the code and runs it directly. * Interfaces with **HTML** & **CSS**. * Lets you build dynamic webpages that respond to input from users. --- ### What can JavaScript do? Image lightboxes [![https://gyazo.com/01b0065c2feee682dbffe3d7bf4e5545](https://i.gyazo.com/01b0065c2feee682dbffe3d7bf4e5545.gif)](https://gyazo.com/01b0065c2feee682dbffe3d7bf4e5545) --- ### What can JavaScript do? Fully featured web applications [![https://gyazo.com/1ea0791eece706f4ab9ff8213a4e1fbf](https://i.gyazo.com/1ea0791eece706f4ab9ff8213a4e1fbf.gif)](https://gyazo.com/1ea0791eece706f4ab9ff8213a4e1fbf) --- ### What can JavaScript do? Keep track of users with [Cookies](https://en.wikipedia.org/wiki/HTTP_cookie) or storing data with [local storage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage). [![https://gyazo.com/56208a5722a6f7ab682c2baddbba8ce3](https://i.gyazo.com/56208a5722a6f7ab682c2baddbba8ce3.gif)](https://gyazo.com/56208a5722a6f7ab682c2baddbba8ce3) --- ### What can JavaScript do? Interactive elements like tabs, sliders, etc [![https://gyazo.com/4841d6f99367b28a1d6fca4395f408a2](https://i.gyazo.com/4841d6f99367b28a1d6fca4395f408a2.gif)](https://gyazo.com/4841d6f99367b28a1d6fca4395f408a2) --- ### What can JavaScript do? Drawing & animation [![https://gyazo.com/6e183501f7ae5df7f07d37b9513ccfb9](https://i.gyazo.com/6e183501f7ae5df7f07d37b9513ccfb9.gif)](https://gyazo.com/6e183501f7ae5df7f07d37b9513ccfb9) --- ### Script Tags You can mix JavaScript and HTML. The **script tag** tells your browser the stuff inside is code, not content. ``` ``` --- ### JavaScript Files Just like CSS, you can split JavaScript code into it's own file. ``` ``` --- ### Let's Develop It * Make a folder in your `projects` folder called `javascript`. * Inside, make a new page called `jsdemo1.html`. * Write this code inside. ```
Test Page
This is my awesome JavaScript code.
``` --- ### How does JavaScript work? 1. You visit a website with JavaScript code on it. 2. Your browser (e.g., Chrome) reads the code line-by-line. 3. The browser runs each line of code as it reads it. 4. Based on these instructions, the browser performs calculations and changes the HTML and CSS on the page. 5. If the browser finds code it doesn't understand, it stops running and creates an error message. --- ### Console You can see what's going on in the **console**. ![](dist/img/console-panel.png) --- ### Let's Develop It * Open the console. * In Chrome, use the keyboard shortcut: * Mac: **Command + Option + J** * Windows: **Control + Shift + J** * Open your practice page. * Do you see anything in the console? * Try typing in 2 + 2 and hitting enter. --- ### Statements Each instruction in JS is a "statement", like: ```js console.log('Hello World!') console.log('I am glad to meet you') console.log('I am fuzzy') ``` --- ### Comments JS supports both multi and single line comments. ``` /* I can make long comments with multiple lines here */ console.log('Hello World!') // Or make short comments here ``` --- ### Getting results onto your screen Open a popup box. ``` alert('Hello World!') ``` Display a message in your console. ``` console.log('Hello World!') ``` Add something to the page. ``` document.write('Hello World!') ``` --- ### Let's Develop It * Open `index.html`. * Add a comment to the code. * Try different ways of printing a message. * Create a new file called `mycode.js`. * Move your code to this file and link it to your page. --- ### variables To declare a variable in JS, use the keyword `let` and the variable name. ``` let numberOfKittens ``` It is best practice to give your variable a known starting value. ``` let numberOfKittens = 5 ``` --- ### variable Values * When you first create a variable, it does not have a value (it is `undefined`). * You can set a value for a variable. * variables can hold different types of data. * The value of a variable can change over time. --- ### Naming variables * The variable name is case-sensitive. * A new variable should have a unique name. * variable names need to start with a letter, `$`, or `_`. * Avoid [reserved words](https://developer.mozilla.org/en/JavaScript/Reference/Reserved_Words). * Choose clarity and meaning for humans to read later. * Camel-case is the convention. --- ### Using a variable Once you have created a variable, you can use it in your code. Just type the name of the variable. ``` let numberOfKittens = 5 console.log(numberOfKittens) ``` --- ### Let's Develop It In your JavaScript file, create a variable and give it a valid name and value. Then, display the value. --- ### Data Types * **string** string of characters ``` let userName = 'Jane Lane' ``` * **number** integer or floating point ``` let myAge = 30 ``` * **boolean** true or false ``` let catsAreBest = true ``` * **undefined** value that hasn't been defined ``` let favoriteThings ``` * **null** an explicitly empty value ``` let goodPickupLines = null ``` --- ### Numbers! ![Cats in a basket](dist/img/kitten-basket.jpg) Photo credit: [WJ van den Eijkhof](http://www.flickr.com/photos/tom-poes/2159348460/) [cc](http://creativecommons.org/licenses/by-nc/2.0/) --- ### Numbers variables can be numbers, either integers or floats (decimals). ``` let numberOfKittens = 5 let cutenessRating = 9.6 ``` JavaScript automatically converts integers to floats `NaN` = Not-A-Number --- ### Arithmetic Operators Once you have numbers, you can do math with them! ``` let numberOfKittens = 5 let numberOfPuppies = 4 let numberOfAnimals = numberOfKittens + numberOfPuppies ``` --- ### Arithmetic Operators | Example | Name | Result | | ------- | -------------- | -------------------------------- | | `-a` | Negation | Opposite of `a`. | | `a + b` | Addition | Sum of `a` and `b`. | | `a - b` | Subtraction | Difference of `a` and `b`. | | `a * b` | Multiplication | Product of `a` and `b`. | | `a / b` | Division | Quotient of `a` and `b`. | | `a % b` | Modulus | Remainder of `a` divided by `b`. | --- ### Let's Develop It Create two variables and try some arithmetic operators. Don't forget to display your results! --- ## Strings --- ### Strings In JS, a string can be created using either single or double quotes. There is no difference between them. ``` let kittensName = 'Fluffy' let puppyName = "Fido" ``` If you want to use a quote in your string, you'll need to **escape** it with a backslash. ``` console.log('I\'d like to use an apostrophe') ``` Alternatively, use double quotes: ``` console.log("I'd like to use an apostrophe") ``` --- ### Playing with Strings ![Cat playing with string](dist/img/kitten-string.jpg) Photo credit: [Mike Lawson](http://www.flickr.com/photos/dirtbikedba/5796961878/) [cc](http://creativecommons.org/licenses/by-nc/2.0/) --- ### String Operators You can put strings together with a `+`, the concatenation operator. ``` let kittensName = 'Fluffy ' let fullName = kittensName + 'McDougle' console.log(fullName) // Outputs 'Fluffy McDougle' ``` --- ### String Operators You can also use `+=` to add things to the end of a string. ``` let kittensName = 'Admiral ' kittensName += 'Snuggles' console.log(kittensName) // Outputs 'Admiral Snuggles' ``` --- ### Let's Develop It Create two variables, a first name and a last name, and then put them together to make a full name. Don't forget to display your results! --- ### Combining strings and numbers You can use concatenation to mix strings and numbers. When you do this, JavaScript will treat the number like a string. ``` let numberOfFruit = 6 let typeOfFruit = 'bananas' let allTheFruit = 'I have ' + numberOfFruit + ' ' + typeOfFruit + '!' console.log(allTheFruit) ``` --- ### Template Literal Similar to Ruby, we can perform string interpolation in JS, except here it is called a template literal. We indicate a template using backticks. Here is the previous code example refactored to use templates: ``` let numberOfFruit = 6 let typeOfFruit = 'bananas' let allTheFruit = `I have ${numberOfFruit} ${typeOfFruit}!` console.log(allTheFruit) ``` --- ### Let's Develop It Create a program to calculate the tip at a restaurant. It should: * Have variables for the bill **pre-tip** and the **tip percentage**. * Calculate the total bill. * Output a sentence like "Your total bill, with tip, is $14.75". Use template literals. * Bonus: Use [`toFixed()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed) to round the bill total to 2 decimals. --- ### Functions Functions are the Javascript equivalent of Ruby methods. --- ### Declaring Functions To declare (create) a function, you can give it a name, then include all the code for the function inside curly brackets `{}` ``` function parrotFacts() { console.log('Some parrot species can live for over 80 years') console.log('Kakapos are a critically endangered flightless parrot') } ``` Functions can have multiple lines. Note that unlike Ruby, the parentheses () after the name are required --- ### Using Functions To invoke (use) a function, you type its name, followed by parenthesis `()` ``` parrotFacts() ``` We'll talk about what can go inside those parenthesis in a minute! For now, leave them empty. --- ### Let's Develop It Write a function that outputs a sentence. Then invoke that function later in your code. --- ### Arguments Functions, like Ruby methods, can accept parameters (aka arguments). ``` function callKitten(kittenName){ console.log(`Come here, ${kittenName}!`) } callKitten('Fluffy') // outputs 'Come here, Fluffy!' function addNumbers(a, b){ console.log(a + b) } addNumbers(5, 7) // outputs 12 addNumbers(9, 12) // outputs 21 ``` Remember, the () after the function name are required for both the declaration and the call, even if there are no arguments. --- ### ES6 Functions Modern JS (ES6) supports an alternative function declaration using "arrow" notation ``` let addOne = (num) => { let newNumber = num + 1 console.log('You now have ' + newNumber) } // Declare variables let numberOfKittens = 5 let numberOfPuppies = 4 // Use them in functions addOne(numberOfKittens) addOne(numberOfPuppies) ``` Note that the syntax for _calling_ an arrow function is unchanged. --- ### Let's Develop It Write a simple program to combine a first name and a last name inside a function. Then update the function to accept a first and last name as arguments. --- ### Returning Values You can have a function return a value using the `return` keyword. Note that, unlike Ruby, `return` is mandatory, except in some cases of ES6 "arrow" syntax. ``` function square(num) { return num * num } // The below `cube` function is shorthand for: // function cube(num) { return num * num * num } let cube = (num) => num * num * num console.log(square(4)) // outputs '16' console.log(cube(2)) // outputs '8' let squareOfFive = square(5) // squareOfFive equals '25' ``` `return` will immediately end a function. --- ### Let's Develop It Add a return statement to your 'name' function. Use that function to set the value of a variable. --- ### Boolean Variables ![Kitten with light switch](dist/img/kitten-switch.jpg) Photo credit: [elycefeliz](http://www.flickr.com/photos/elycefeliz/5726163170/) [cc](http://creativecommons.org/licenses/by-nc/2.0/) --- ### Boolean Variables Boolean variables represent the logical values `true` and `false` ``` let catsAreBest = true let dogsRule = false ``` --- ### Boolean Variables Some values are considered `[falsy](https://developer.mozilla.org/en-US/docs/Glossary/Falsy)` and will evaluate to `false` in a Boolean context. ``` // the following variables will evaluate as false let myName = '' let numOfKids = 0 let isMarried // remember a variable with no value is undefined ``` `null` and `NaN` will also evaluate as `false`. Everything else evaluates as `true`. --- ### Control Flow ![Forked path](dist/img/fork-path.jpg) Photo credit: [DennisM2](http://www.flickr.com/photos/dennism2/1504087870/) [cc](http://creativecommons.org/licenses/by-nc/2.0/) --- ### The if statement Use `if` statements to decide which lines of code to execute, based on a condition. ``` if (condition) { // statements to execute } ``` ``` let age = 30 if (age > 18) { console.log('You are an adult') } ``` --- ### Comparison Operators | Example | Name | Result | | --------- | ------------------------ | --------------------------------------------------------------------- | | `a == b` | Equal | **`TRUE`** if `a` is equal to `b` (can be different types). | | `a === b` | Identical | **`TRUE`** if `a` is equal to `b`, and the same type. | | `a != b` | Not equal | **`TRUE`** if `a` is not equal to `b` (can be different types). | | `a !== b` | Not identical | **`TRUE`** if `a` is not equal to `b`, or they are not the same type. | | `a < b` | Less than | **`TRUE`** if `a` is strictly less than `b`. | | `a > b` | Greater than | **`TRUE`** if `a` is strictly greater than `b`. | | `a <= b` | Less than or equal to | **`TRUE`** if `a` is less than or equal to `b`. | | `a >= b` | Greater than or equal to | **`TRUE`** if `a` is greater than or equal to `b`. | --- ### Watch out! Don't mix up `=` and `==` and `===` ![Caution Tape](dist/img/caution.jpg) Photo credit: [Eugene Zemlyanskiy](http://www.flickr.com/photos/pictureperfectpose/76138988/) [cc](http://creativecommons.org/licenses/by-nc/2.0/) --- ### Let's Develop It Make a variable called "temperature". Write some code that tells you to put on a coat if it is below 50 degrees. --- ### Even more control flow ![Sign post with multiple signs](dist/img/toomanysigns.jpg) Photo credit: [Thomas Hawk](http://www.flickr.com/photos/thomashawk/2402598275/) [cc](http://creativecommons.org/licenses/by-nc/2.0/) --- ### The if/else statement Use `else` to provide an alternate set of instructions. ``` let age = 30 if (age >= 16) { console.log('Yay, you can drive!') } else { console.log('Sorry, you have ' + (16 - age) + ' years until you can drive.') } ``` --- ### The if/else statement If you have multiple conditions, you can use `else if`. ``` let age = 30 if (age >= 35) { console.log('You can vote AND run for President!') } else if (age >= 30) { console.log('You can vote AND run for the Senate!') } else if (age >= 18) { console.log('You can vote!') } else { console.log('You can\'t vote, but you can write your representatives.') } ``` Note that it is the two distinct words `else if` (with a space), not `elsif` as in Ruby --- ### Let's Develop It Modify your "wear a coat" code for these conditions: 1. If it's less than 50 degrees, wear a coat. 2. If it's less than 30 degrees, wear a coat and a hat. 3. If it's less than 0 degrees, stay inside. 4. Otherwise, wear whatever you want. --- ### Logical Operators
Example
Name
Result
a && b
And
TRUE
if both
a
and
b
are
TRUE
.
a || b
Or
TRUE
if either
a
or
b
is
TRUE
.
!a
Not
TRUE
if
a
is not
TRUE
.
--- ### Using logical operators You can use these operators to combine conditions. ``` let age = 30 let yearsAsCitizen = 30 if (age >=30 && yearsAsCitizen > 9) { console.log('You can run for the Senate!') } else { console.log('You are not eligible to run for the Senate') } ``` --- ### Let's Develop It Add a logical operator to your "what to wear" program. --- ### Resources * [JavaScript Guide](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide), from the Mozilla Developers Network. * [Code Academy](http://www.codecademy.com/tracks/javascript), with interactive JavaScript lessons to help you review. --- ## Questions?


{% load compressed %}
Hey there! I see you're running Internet Explorer 6.
That's neat. This reminds me of my grandpa. He had this old car that he kept having to fix. He spent so much money on it that he didn't want to get rid of it (even when it stopped running).
You guys should hang out.
Here's a free sports car from Snipt.


{% extends "portfolioapp/base_portfolio.html" %} {% block title %}Project list{% endblock title %} {% block content %}
I am a Python developer with above 1 year non-commercial experience in creating software. Currently I am expanding my web development skills especially in Django and unit tests in Django. During college I took part in many courses about computer science in control systems such as: databases, operating systems, network programming, data visualization and project management.
3rd semester Master of Science: Computer Science in Control Engineering


#include <app.h>
Inheritance diagram for TDeskTop::
Public Methods | |
| TDeskTop (const TRect &bounds) | |
| void | cascade (const TRect &) |
| virtual void | handleEvent (TEvent &) |
| void | tile (const TRect &) |
| virtual void | tileError () |
| virtual void | shutDown () |
Static Public Methods | |
| TBackground* | initBackground (TRect) |
| TStreamable* | build () |
Static Public Attributes | |
| char | defaultBkgrnd |
| const char* const | name |
Protected Methods | |
| TDeskTop (StreamableInit) | |
Protected Attributes | |
| TBackground* | background |
| Boolean | tileColumnsFirst |
TDeskTop represents the desk top area of the screen between the top menu bar and bottom status line (but only when the bar and line exist). By default, TDeskTop has a TBackground object inside which paints its background.
TDeskTop objects can be written to and read from streams using the overloaded >> and << operators.
Definition at line 179 of file app.h.
|
|
Constructor. Creates a TDeskTop group with size `bounds' by calling its base constructors TGroup::TGroup and TDeskInit::TDeskInit(&initBackground). The resulting TBackground object created by initBackground is then inserted into the desk top.
|
|
|
Constructor used to recover the view from a stream. Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type StreamableInit. |
|
|
Creates a new TDeskTop. Used to recover the view from a stream. Called to create an object in certain stream-reading situations. Reimplemented from TGroup. |
|
|
Moves all the windows in a cascade-like fashion. Redisplays all tileable windows owned by the desk top in cascaded format. The first tileable window in Z-order (the window "in back") is zoomed to fill the desk top, and each succeeding window fills a region beginning one line lower and one space further to the right than the one before. The active window appears "on top" as the smallest window. |
|
|
Standard TDeskTop event handler. Calls TGroup::handleEvent() and takes care of the commands cmNext (usually the hot key F6) and cmPrev by cycling through the windows owned by the desk top, starting with the currently selected view. Reimplemented from TGroup. |
|
|
Creates a new background. Returns a pointer to a newly-allocated TBackground object. The address of this member function is passed as an argument to the TDeskInit constructor. The latter invokes initBackground() to create a new TBackground object with the same bounds as the calling TDeskTop object. The background data member is set to point at the new TBackground object. Redefine this method if you want a custom background. |
|
|
Releases TDeskTop resources. This function is derived from TObject. Used internally by TObject::destroy() to ensure correct destruction of derived and related objects. shutDown() is overridden in many classes to ensure the proper setting of related data members when destroy() is called. This method releases all the resources allocated by the TDeskTop. It sets pointer background to 0 and then calls TGroup::shutDown(). Reimplemented from TGroup. |
|
|
Moves all the windows in a tile-like fashion. |
|
|
Called on tiling error. This method is called whenever cascade() or tile() run into troubles in moving the windows. You can redefine it if you want to give an error message to the user. By default, it does nothing. |
|
|
This variable stores a pointer to the background object associated with this desk top. |
|
|
The default pattern which will be used for painting the background. |
|
|
Undocumented. Reimplemented from TGroup. |
|
|
True if method tile() should favour columns first. Set to False in TDeskTop constructor.
|


How does language develop?
How to learn a language from scratch?
Wittgenstein’s “language games”.
[WLM16] Learning Language Games through Interaction
See ML seminar notes.
[FAFW16] Learning to Communicate with Deep Multi-Agent Reinforcement Learning
Cooperative learning of communication protocols.
see also Kasai [8].
Task
Multiple agents in fully cooperative, partially observable, sequential multi-agent decisiom-making problems. Each gets a private observation of the Markov state.
- Centralized learning (unrestricted communication)
- Decentralized execution (communicate only by discrete limited-bandwidth channel)
Actual tasks
- Switch riddle
- MNIST games: see 2 MNIST digits of some color. Reward depends on action, color, and parity. Send 1 bit of info. Agree to send either color or parity (parity better). (DIAL seems to get optimal here. RIAL fails.)
Model
- Reinforced inter-agent learning (RIAL)
- Deep Q-learning
- Independent Q-learning: learn own network parameters, treat other agents as part of environment.
- Deep recurrent Q-network. [17]
- independent Q-learning = RIAL.
- Disable experience replay (experience obsolete and misleading)
- Differentiable inter-agent learning (DIAL)
- Takes advantage of centralized learning.
- RIAL is only end-to-end within agent.
- Allows real-value messages to pass.
- (This is not realistic between agents in terms of evolution. But it can make sense within agents - ex. different brain parts)
- During centralized learning, communication replaced with direct connections between output of one agent’s network and input of another’s.
Difficulty: positive rewards are sparse, arising only when sending and interpreting are properly coordinated.
Conclusions
Why is language discrete? Noise forces messages into 2 different modes.


| Avoid modifiers which are implied by the context |
33 |
| Avoid modifiers which are implied by the context |
35 |
| Avoid modifiers which are implied by the context |
37 |
| Avoid modifiers which are implied by the context |
39 |
| Avoid modifiers which are implied by the context |
41 |
| Avoid modifiers which are implied by the context |
43 |
| Avoid modifiers which are implied by the context |
45 |
| Avoid modifiers which are implied by the context |
47 |
| Avoid modifiers which are implied by the context |
49 |
| Avoid modifiers which are implied by the context |
51 |
| Avoid modifiers which are implied by the context |
53 |
| Avoid modifiers which are implied by the context |
55 |
| Avoid modifiers which are implied by the context |
57 |
| Avoid modifiers which are implied by the context |
59 |
| Avoid modifiers which are implied by the context |
61 |
| Avoid modifiers which are implied by the context |
63 |
| Avoid modifiers which are implied by the context |
65 |
| Avoid modifiers which are implied by the context |
67 |
| Avoid modifiers which are implied by the context |
69 |
| Avoid modifiers which are implied by the context |
71 |
| Avoid modifiers which are implied by the context |
73 |
| Avoid modifiers which are implied by the context |
75 |
| Avoid modifiers which are implied by the context |
77 |
| Avoid modifiers which are implied by the context |
79 |
| Avoid modifiers which are implied by the context |
81 |
| Avoid modifiers which are implied by the context |
83 |
| Avoid modifiers which are implied by the context |
85 |
| Avoid modifiers which are implied by the context |
87 |
| Avoid modifiers which are implied by the context |
89 |
| Avoid modifiers which are implied by the context |
91 |
| Avoid modifiers which are implied by the context |
93 |
| Avoid modifiers which are implied by the context |
95 |
| Avoid modifiers which are implied by the context |
97 |
| Avoid modifiers which are implied by the context |
99 |
| Avoid modifiers which are implied by the context |
101 |
| Avoid modifiers which are implied by the context |
103 |
| Avoid modifiers which are implied by the context |
105 |
| Avoid modifiers which are implied by the context |
107 |
| Avoid modifiers which are implied by the context |
109 |
| Avoid modifiers which are implied by the context |
111 |
| Avoid modifiers which are implied by the context |
113 |
| Avoid modifiers which are implied by the context |
115 |
| Avoid modifiers which are implied by the context |
117 |
| Avoid modifiers which are implied by the context |
119 |
| Avoid modifiers which are implied by the context |
121 |
| Avoid modifiers which are implied by the context |
123 |
| Avoid modifiers which are implied by the context |
127 |
| Avoid modifiers which are implied by the context |
129 |
| Avoid modifiers which are implied by the context |
131 |
| Avoid modifiers which are implied by the context |
133 |
| Avoid modifiers which are implied by the context |
135 |
| Avoid modifiers which are implied by the context |
137 |
| Avoid modifiers which are implied by the context |
139 |
| Avoid modifiers which are implied by the context |
141 |
| Avoid modifiers which are implied by the context |
143 |
| Avoid modifiers which are implied by the context |
145 |
| Avoid modifiers which are implied by the context |
147 |
| Avoid modifiers which are implied by the context |
149 |
| Avoid modifiers which are implied by the context |
151 |
| Avoid modifiers which are implied by the context |
153 |
| Avoid modifiers which are implied by the context |
155 |
| Avoid modifiers which are implied by the context |
157 |
| Avoid modifiers which are implied by the context |
159 |
| Avoid modifiers which are implied by the context |
161 |
| Avoid modifiers which are implied by the context |
163 |
| Avoid modifiers which are implied by the context |
165 |
| Avoid modifiers which are implied by the context |
168 |
| Avoid modifiers which are implied by the context |
170 |
| Avoid modifiers which are implied by the context |
172 |
| Avoid modifiers which are implied by the context |
174 |
| Avoid modifiers which are implied by the context |
176 |
| Avoid modifiers which are implied by the context |
178 |
| Avoid modifiers which are implied by the context |
180 |
| Avoid modifiers which are implied by the context |
182 |
| Avoid modifiers which are implied by the context |
184 |
| Avoid modifiers which are implied by the context |
186 |
| Avoid modifiers which are implied by the context |
188 |
| Avoid modifiers which are implied by the context |
190 |
| Avoid modifiers which are implied by the context |
192 |
| Avoid modifiers which are implied by the context |
194 |
| Avoid modifiers which are implied by the context |
196 |
| Avoid modifiers which are implied by the context |
198 |
| Avoid modifiers which are implied by the context |
200 |
| Avoid modifiers which are implied by the context |
204 |
| Avoid modifiers which are implied by the context |
206 |
| Avoid modifiers which are implied by the context |
208 |
| Avoid modifiers which are implied by the context |
210 |
| Avoid modifiers which are implied by the context |
212 |
| Avoid modifiers which are implied by the context |
214 |
| Avoid modifiers which are implied by the context |
216 |
| Avoid modifiers which are implied by the context |
218 |
| Avoid modifiers which are implied by the context |
220 |
| Avoid modifiers which are implied by the context |
223 |
| Avoid modifiers which are implied by the context |
225 |
| Avoid modifiers which are implied by the context |
227 |
| Avoid modifiers which are implied by the context |
230 |
| Avoid modifiers which are implied by the context |
232 |
| Avoid modifiers which are implied by the context |
234 |
| Avoid modifiers which are implied by the context |
236 |
| Avoid modifiers which are implied by the context |
238 |
| Avoid modifiers which are implied by the context |
240 |
| Avoid modifiers which are implied by the context |
242 |
| Avoid modifiers which are implied by the context |
244 |
| Avoid modifiers which are implied by the context |
246 |
| Avoid modifiers which are implied by the context |
248 |
| Avoid modifiers which are implied by the context |
250 |
| Avoid modifiers which are implied by the context |
252 |
| Avoid modifiers which are implied by the context |
254 |
| Avoid modifiers which are implied by the context |
256 |
| Avoid modifiers which are implied by the context |
258 |
| Avoid modifiers which are implied by the context |
260 |
| Avoid modifiers which are implied by the context |
262 |
| Avoid modifiers which are implied by the context |
264 |
| Avoid modifiers which are implied by the context |
266 |
| Avoid modifiers which are implied by the context |
268 |
| Avoid modifiers which are implied by the context |
270 |
| Avoid modifiers which are implied by the context |
272 |
| Avoid modifiers which are implied by the context |
274 |
| Avoid modifiers which are implied by the context |
309 |
| Avoid modifiers which are implied by the context |
311 |
| Avoid modifiers which are implied by the context |
313 |
| Avoid modifiers which are implied by the context |
315 |
| Avoid modifiers which are implied by the context |
322 |
| Avoid modifiers which are implied by the context |
324 |
| Avoid modifiers which are implied by the context |
326 |
| Avoid modifiers which are implied by the context |
328 |
| Avoid modifiers which are implied by the context |
333 |
| Avoid modifiers which are implied by the context |
338 |
| Avoid modifiers which are implied by the context |
340 |
| Avoid modifiers which are implied by the context |
342 |
| Avoid modifiers which are implied by the context |
344 |
| Avoid modifiers which are implied by the context |
346 |
| Avoid modifiers which are implied by the context |
348 |
| Avoid modifiers which are implied by the context |
350 |
| Avoid modifiers which are implied by the context |
352 |
| Avoid modifiers which are implied by the context |
354 |
| Avoid modifiers which are implied by the context |
356 |
| Avoid modifiers which are implied by the context |
358 |
| Avoid modifiers which are implied by the context |
360 |
| Avoid modifiers which are implied by the context |
366 |
| Avoid modifiers which are implied by the context |
368 |
| Avoid modifiers which are implied by the context |
370 |
| Avoid modifiers which are implied by the context |
372 |
| Avoid modifiers which are implied by the context |
374 |
| Avoid modifiers which are implied by the context |
376 |
| Avoid modifiers which are implied by the context |
378 |
| Avoid modifiers which are implied by the context |
380 |
| Avoid modifiers which are implied by the context |
382 |
| Avoid modifiers which are implied by the context |
384 |
| Avoid modifiers which are implied by the context |
386 |
| Avoid modifiers which are implied by the context |
388 |
| Avoid modifiers which are implied by the context |
390 |
| Avoid modifiers which are implied by the context |
392 |
| Avoid modifiers which are implied by the context |
394 |
| Avoid modifiers which are implied by the context |
396 |
| Avoid modifiers which are implied by the context |
398 |
| Avoid modifiers which are implied by the context |
400 |
| Avoid modifiers which are implied by the context |
402 |
| Avoid modifiers which are implied by the context |
404 |
| Avoid modifiers which are implied by the context |
406 |
| Avoid modifiers which are implied by the context |
408 |
| Avoid modifiers which are implied by the context |
410 |
| Avoid modifiers which are implied by the context |
412 |
| Avoid modifiers which are implied by the context |
414 |
| Avoid modifiers which are implied by the context |
416 |
| Avoid modifiers which are implied by the context |
418 |
| Avoid modifiers which are implied by the context |
420 |
| Avoid modifiers which are implied by the context |
422 |
| Avoid modifiers which are implied by the context |
424 |
| Avoid modifiers which are implied by the context |
426 |
| Avoid modifiers which are implied by the context |
428 |
| Avoid modifiers which are implied by the context |
430 |
| Avoid modifiers which are implied by the context |
432 |
| Avoid modifiers which are implied by the context |
434 |
| Avoid modifiers which are implied by the context |
436 |
| Avoid modifiers which are implied by the context |
438 |
| Avoid modifiers which are implied by the context |
440 |
| Avoid modifiers which are implied by the context |
442 |
| Avoid modifiers which are implied by the context |
444 |
| Avoid modifiers which are implied by the context |
446 |
| Avoid modifiers which are implied by the context |
451 |
| Avoid modifiers which are implied by the context |
453 |
| Avoid modifiers which are implied by the context |
455 |
| Avoid modifiers which are implied by the context |
457 |
| Avoid modifiers which are implied by the context |
462 |
| Avoid modifiers which are implied by the context |
464 |
| Avoid modifiers which are implied by the context |
466 |
| Avoid modifiers which are implied by the context |
468 |
| Avoid modifiers which are implied by the context |
470 |
| Avoid modifiers which are implied by the context |
472 |
| Avoid modifiers which are implied by the context |
474 |
| Avoid modifiers which are implied by the context |
476 |
| Avoid modifiers which are implied by the context |
478 |
| Avoid modifiers which are implied by the context |
498 |
| Avoid modifiers which are implied by the context |
500 |
| Avoid modifiers which are implied by the context |
502 |
| Avoid modifiers which are implied by the context |
507 |
| Avoid modifiers which are implied by the context |
509 |
| Avoid modifiers which are implied by the context |
511 |
| Avoid modifiers which are implied by the context |
517 |
| Avoid modifiers which are implied by the context |
519 |
| Avoid modifiers which are implied by the context |
522 |
| Avoid modifiers which are implied by the context |
525 |
| Avoid modifiers which are implied by the context |
534 |
| Avoid modifiers which are implied by the context |
536 |
| Avoid modifiers which are implied by the context |
539 |
| Avoid modifiers which are implied by the context |
541 |
| Avoid modifiers which are implied by the context |
543 |
| Avoid modifiers which are implied by the context |
545 |
| Avoid modifiers which are implied by the context |
546 |
| Avoid modifiers which are implied by the context |
548 |
| Avoid modifiers which are implied by the context |
550 |
| Avoid modifiers which are implied by the context |
552 - 553 |
| Avoid modifiers which are implied by the context |
555 - 556 |
| Avoid modifiers which are implied by the context |
558 |
| Avoid modifiers which are implied by the context |
560 |
| Avoid modifiers which are implied by the context |
562 |
| Avoid modifiers which are implied by the context |
564 |
| Avoid modifiers which are implied by the context |
566 |
| Avoid modifiers which are implied by the context |
568 |
| Avoid modifiers which are implied by the context |
570 |
| Avoid modifiers which are implied by the context |
572 |
| Avoid modifiers which are implied by the context |
574 |
| Avoid modifiers which are implied by the context |
576 |
| Avoid modifiers which are implied by the context |
578 |
| Avoid modifiers which are implied by the context |
580 |
| Avoid modifiers which are implied by the context |
582 |
| Avoid modifiers which are implied by the context |
584 |
| Avoid modifiers which are implied by the context |
586 |
| Avoid modifiers which are implied by the context |
588 |
| Avoid modifiers which are implied by the context |
590 |
| Avoid modifiers which are implied by the context |
592 |
| Avoid modifiers which are implied by the context |
596 |
| Avoid modifiers which are implied by the context |
598 |
| Avoid modifiers which are implied by the context |
601 |
| Avoid modifiers which are implied by the context |
604 |
| Avoid modifiers which are implied by the context |
606 |
| Avoid modifiers which are implied by the context |
608 |
| Avoid modifiers which are implied by the context |
610 |
| Avoid modifiers which are implied by the context |
612 |
| Avoid modifiers which are implied by the context |
614 |
| Avoid modifiers which are implied by the context |
616 |
| Avoid modifiers which are implied by the context |
621 |
| Avoid modifiers which are implied by the context |
623 |
| Avoid modifiers which are implied by the context |
625 |
| Avoid modifiers which are implied by the context |
627 |
| Avoid modifiers which are implied by the context |
629 |
| Avoid modifiers which are implied by the context |
632 |
| Avoid modifiers which are implied by the context |
634 |
| Avoid modifiers which are implied by the context |
641 |
| Avoid modifiers which are implied by the context |
647 |
| Avoid modifiers which are implied by the context |
650 |
| Avoid modifiers which are implied by the context |
652 |
| Avoid modifiers which are implied by the context |
654 |
| Avoid modifiers which are implied by the context |
656 |
| Avoid modifiers which are implied by the context |
658 |
| Avoid modifiers which are implied by the context |
660 |
| Avoid modifiers which are implied by the context |
662 |
| Avoid modifiers which are implied by the context |
667 |
| Avoid modifiers which are implied by the context |
669 |
| Avoid modifiers which are implied by the context |
671 |
| Avoid modifiers which are implied by the context |
673 |
| Avoid modifiers which are implied by the context |
675 |
| Avoid modifiers which are implied by the context |
677 |
| Avoid modifiers which are implied by the context |
679 |
| Avoid modifiers which are implied by the context |
681 |
| Avoid modifiers which are implied by the context |
683 |
| Avoid modifiers which are implied by the context |
685 |
| Avoid modifiers which are implied by the context |
687 |
| Avoid modifiers which are implied by the context |
692 |
| Avoid modifiers which are implied by the context |
694 |
| Avoid modifiers which are implied by the context |
696 |
| Avoid modifiers which are implied by the context |
709 |
| Avoid modifiers which are implied by the context |
711 |
| Avoid modifiers which are implied by the context |
713 |
| Avoid modifiers which are implied by the context |
715 |
| Avoid modifiers which are implied by the context |
721 |
| Avoid modifiers which are implied by the context |
724 |
| Avoid modifiers which are implied by the context |
726 |
| Avoid modifiers which are implied by the context |
728 |
| Avoid modifiers which are implied by the context |
730 |
| Avoid modifiers which are implied by the context |
732 |
| Avoid modifiers which are implied by the context |
734 |
| Avoid modifiers which are implied by the context |
736 |
| Avoid modifiers which are implied by the context |
738 |
| Avoid modifiers which are implied by the context |
740 |
| Avoid modifiers which are implied by the context |
742 |
| Avoid modifiers which are implied by the context |
744 |
| Avoid modifiers which are implied by the context |
746 |
| Avoid modifiers which are implied by the context |
748 |
| Avoid modifiers which are implied by the context |
750 |
| Avoid modifiers which are implied by the context |
752 |
| Avoid modifiers which are implied by the context |
754 |
| Avoid modifiers which are implied by the context |
756 |
| Avoid modifiers which are implied by the context |
761 |
| Avoid modifiers which are implied by the context |
763 |
| Avoid modifiers which are implied by the context |
765 |
| Avoid modifiers which are implied by the context |
769 |
| Avoid modifiers which are implied by the context |
771 |
| Avoid modifiers which are implied by the context |
776 |
| Avoid modifiers which are implied by the context |
779 |
| Avoid modifiers which are implied by the context |
780 |
| Avoid modifiers which are implied by the context |
781 |
| Avoid modifiers which are implied by the context |
782 |
| Avoid modifiers which are implied by the context |
783 |
| Avoid modifiers which are implied by the context |
784 |
| Avoid modifiers which are implied by the context |
785 |
| Avoid modifiers which are implied by the context |
786 |
| Avoid modifiers which are implied by the context |
787 |
| Avoid modifiers which are implied by the context |
788 |
| Avoid modifiers which are implied by the context |
789 |
| Avoid modifiers which are implied by the context |
790 |
| Avoid modifiers which are implied by the context |
792 |
| Avoid modifiers which are implied by the context |
793 |
| Avoid modifiers which are implied by the context |
794 |
| Avoid modifiers which are implied by the context |
796 |
| Avoid modifiers which are implied by the context |
797 |
| Avoid modifiers which are implied by the context |
798 |
| Avoid modifiers which are implied by the context |
799 |
| Avoid modifiers which are implied by the context |
800 |
| Avoid modifiers which are implied by the context |
801 |
| Avoid modifiers which are implied by the context |
802 |
| Avoid modifiers which are implied by the context |
803 |
| Avoid modifiers which are implied by the context |
804 |
| Avoid modifiers which are implied by the context |
805 |
| Avoid modifiers which are implied by the context |
806 |
| Avoid modifiers which are implied by the context |
807 |
| Avoid modifiers which are implied by the context |
808 |
| Avoid modifiers which are implied by the context |
809 |
| Avoid modifiers which are implied by the context |
812 - 813 |
| Avoid modifiers which are implied by the context |
815 |
| Avoid modifiers which are implied by the context |
816 |
| Avoid modifiers which are implied by the context |
819 |
| Avoid modifiers which are implied by the context |
820 |
| Avoid modifiers which are implied by the context |
821 |
| Avoid modifiers which are implied by the context |
822 |
| Avoid modifiers which are implied by the context |
823 |
| Avoid modifiers which are implied by the context |
824 |
| Avoid modifiers which are implied by the context |
825 |
| Avoid modifiers which are implied by the context |
826 |
| Avoid modifiers which are implied by the context |
827 |
| Avoid modifiers which are implied by the context |
829 |
| Avoid modifiers which are implied by the context |
834 |
| Avoid modifiers which are implied by the context |
840 |
| Avoid modifiers which are implied by the context |
845 |
| Avoid modifiers which are implied by the context |
850 |
| Avoid modifiers which are implied by the context |
855 |
| Avoid modifiers which are implied by the context |
856 |
| Avoid modifiers which are implied by the context |
857 |
| Avoid modifiers which are implied by the context |
858 |
| Avoid modifiers which are implied by the context |
861 |
| Avoid modifiers which are implied by the context |
862 |
| Avoid modifiers which are implied by the context |
863 |
| Avoid modifiers which are implied by the context |
865 |
| Avoid modifiers which are implied by the context |
866 |
| Avoid modifiers which are implied by the context |
867 |
| Avoid modifiers which are implied by the context |
872 |
| Avoid modifiers which are implied by the context |
873 |
| Avoid modifiers which are implied by the context |
874 |
| Avoid modifiers which are implied by the context |
875 |
| Avoid modifiers which are implied by the context |
876 |
| Avoid modifiers which are implied by the context |
877 |
| Avoid modifiers which are implied by the context |
880 |
| Avoid modifiers which are implied by the context |
881 |
| Avoid modifiers which are implied by the context |
882 |
| Avoid modifiers which are implied by the context |
886 |
| Avoid modifiers which are implied by the context |
887 |
| Avoid modifiers which are implied by the context |
888 |
| Avoid modifiers which are implied by the context |
889 |
| Avoid modifiers which are implied by the context |
890 |
| Avoid modifiers which are implied by the context |
891 |
| Avoid modifiers which are implied by the context |
892 |
| Avoid modifiers which are implied by the context |
893 |
| Avoid modifiers which are implied by the context |
894 |
| Avoid modifiers which are implied by the context |
895 |
| Avoid modifiers which are implied by the context |
896 |
| Avoid modifiers which are implied by the context |
897 |
| Avoid modifiers which are implied by the context |
898 |
| Avoid modifiers which are implied by the context |
899 |
| Avoid modifiers which are implied by the context |
900 |
| Avoid modifiers which are implied by the context |
901 |
| Avoid modifiers which are implied by the context |
903 |
| Avoid modifiers which are implied by the context |
909 |
| Avoid modifiers which are implied by the context |
910 |
| Avoid modifiers which are implied by the context |
911 |
| Avoid modifiers which are implied by the context |
912 |
| Avoid modifiers which are implied by the context |
913 |
| Avoid modifiers which are implied by the context |
915 |
| Avoid modifiers which are implied by the context |
916 |
| Avoid modifiers which are implied by the context |
917 |
| Avoid modifiers which are implied by the context |
918 |
| Avoid modifiers which are implied by the context |
920 |
| Avoid modifiers which are implied by the context |
921 |
| Avoid modifiers which are implied by the context |
922 |
| Avoid modifiers which are implied by the context |
923 |
| Avoid modifiers which are implied by the context |
924 |
| Avoid modifiers which are implied by the context |
925 |
| Avoid modifiers which are implied by the context |
926 |
| Avoid modifiers which are implied by the context |
927 |
| Avoid modifiers which are implied by the context |
928 |
| Avoid modifiers which are implied by the context |
929 |
| Avoid modifiers which are implied by the context |
930 |
| Avoid modifiers which are implied by the context |
932 |
| Avoid modifiers which are implied by the context |
933 |
| Avoid modifiers which are implied by the context |
934 |
| Avoid modifiers which are implied by the context |
936 |
| Avoid modifiers which are implied by the context |
937 |
| Avoid modifiers which are implied by the context |
938 |
| Avoid modifiers which are implied by the context |
939 |
| Avoid modifiers which are implied by the context |
941 |
| Avoid modifiers which are implied by the context |
942 |
| Avoid modifiers which are implied by the context |
943 |
| Avoid modifiers which are implied by the context |
944 |
| Avoid modifiers which are implied by the context |
945 |
| Avoid modifiers which are implied by the context |
947 |
| Avoid modifiers which are implied by the context |
948 |
| Avoid modifiers which are implied by the context |
949 |
| Avoid modifiers which are implied by the context |
950 |
| Avoid modifiers which are implied by the context |
951 |
| Avoid modifiers which are implied by the context |
952 |
| Avoid modifiers which are implied by the context |
953 |
| Avoid modifiers which are implied by the context |
954 |
| Avoid modifiers which are implied by the context |
955 |
| Avoid modifiers which are implied by the context |
956 |
| Avoid modifiers which are implied by the context |
957 |
| Avoid modifiers which are implied by the context |
959 |
| Avoid modifiers which are implied by the context |
961 |
| Avoid modifiers which are implied by the context |
962 |
| Avoid modifiers which are implied by the context |
963 |
| Avoid modifiers which are implied by the context |
964 |
| Avoid modifiers which are implied by the context |
965 |
| Avoid modifiers which are implied by the context |
966 |
| Avoid modifiers which are implied by the context |
967 |
| Avoid modifiers which are implied by the context |
969 |
| Avoid modifiers which are implied by the context |
970 |
| Avoid modifiers which are implied by the context |
978 |
| Avoid modifiers which are implied by the context |
983 |
| Avoid modifiers which are implied by the context |
984 |
| Avoid modifiers which are implied by the context |
985 |
| Avoid modifiers which are implied by the context |
986 |
| Avoid modifiers which are implied by the context |
988 |
| Avoid modifiers which are implied by the context |
989 |
| Avoid modifiers which are implied by the context |
992 |
| Avoid modifiers which are implied by the context |
993 |
| Avoid modifiers which are implied by the context |
994 |
| Avoid modifiers which are implied by the context |
995 |
| Avoid modifiers which are implied by the context |
996 |
| Avoid modifiers which are implied by the context |
999 |
| Avoid modifiers which are implied by the context |
1000 |
| Avoid modifiers which are implied by the context |
1001 |
| Avoid modifiers which are implied by the context |
1002 |
| Avoid modifiers which are implied by the context |
1003 |
| Avoid modifiers which are implied by the context |
1004 |
| Avoid modifiers which are implied by the context |
1006 |
| Avoid modifiers which are implied by the context |
1007 |
| Avoid modifiers which are implied by the context |
1009 |
| Avoid modifiers which are implied by the context |
1010 |
| Avoid modifiers which are implied by the context |
1016 |
| Avoid modifiers which are implied by the context |
1021 |
| Avoid modifiers which are implied by the context |
1022 |
| Avoid modifiers which are implied by the context |
1023 |
| Avoid modifiers which are implied by the context |
1024 |
| Avoid modifiers which are implied by the context |
1025 |
| Avoid modifiers which are implied by the context |
1026 |
| Avoid modifiers which are implied by the context |
1027 |
| Avoid modifiers which are implied by the context |
1028 |
| Avoid modifiers which are implied by the context |
1029 |
| Avoid modifiers which are implied by the context |
1030 |
| Avoid modifiers which are implied by the context |
1031 |
| Avoid modifiers which are implied by the context |
1032 |
| Avoid modifiers which are implied by the context |
1033 |
| Avoid modifiers which are implied by the context |
1038 |
| Avoid modifiers which are implied by the context |
1039 |
| Avoid modifiers which are implied by the context |
1040 |
| Avoid modifiers which are implied by the context |
1041 |
| Avoid modifiers which are implied by the context |
1042 |
| Avoid modifiers which are implied by the context |
1043 |
| Avoid modifiers which are implied by the context |
1044 |
| Avoid modifiers which are implied by the context |
1049 |
| Avoid modifiers which are implied by the context |
1050 |
| Avoid modifiers which are implied by the context |
1051 |
| Avoid modifiers which are implied by the context |
1056 |
| Avoid modifiers which are implied by the context |
1057 |
| Avoid modifiers which are implied by the context |
1058 |
| Avoid modifiers which are implied by the context |
1059 |
| Avoid modifiers which are implied by the context |
1060 |
| Avoid modifiers which are implied by the context |
1061 |
| Avoid modifiers which are implied by the context |
1062 |
| Avoid modifiers which are implied by the context |
1063 |
| Avoid modifiers which are implied by the context |
1068 |
| Avoid modifiers which are implied by the context |
1069 |
| Avoid modifiers which are implied by the context |
1070 |
| Avoid modifiers which are implied by the context |
1071 |
| Avoid modifiers which are implied by the context |
1072 |
| Avoid modifiers which are implied by the context |
1073 |
| Avoid modifiers which are implied by the context |
1074 |
| Avoid modifiers which are implied by the context |
1075 |
| Avoid modifiers which are implied by the context |
1076 |
| Avoid modifiers which are implied by the context |
1077 |
| Avoid modifiers which are implied by the context |
1078 |
| Avoid modifiers which are implied by the context |
1079 |
| Avoid modifiers which are implied by the context |
1080 |
| Avoid modifiers which are implied by the context |
1081 |
| Avoid modifiers which are implied by the context |
1086 |
| Avoid modifiers which are implied by the context |
1087 |
| Avoid modifiers which are implied by the context |
1088 |
| Avoid modifiers which are implied by the context |
1089 |
| Avoid modifiers which are implied by the context |
1090 |
| Avoid modifiers which are implied by the context |
1091 |
| Avoid modifiers which are implied by the context |
1092 |
| Avoid modifiers which are implied by the context |
1093 |
| Avoid modifiers which are implied by the context |
1094 |
| Avoid modifiers which are implied by the context |
1095 |
| Avoid modifiers which are implied by the context |
1096 |
| Avoid modifiers which are implied by the context |
1101 |
| Avoid modifiers which are implied by the context |
1102 |
| Avoid modifiers which are implied by the context |
1104 |
| Avoid modifiers which are implied by the context |
1106 |
| Avoid modifiers which are implied by the context |
1107 |
| Avoid modifiers which are implied by the context |
1108 |
| Avoid modifiers which are implied by the context |
1109 |
| Avoid modifiers which are implied by the context |
1110 |
| Avoid modifiers which are implied by the context |
1111 |
| Avoid modifiers which are implied by the context |
1116 |
| Avoid modifiers which are implied by the context |
1117 |
| Avoid modifiers which are implied by the context |
1118 |
| Avoid modifiers which are implied by the context |
1119 |
| Avoid modifiers which are implied by the context |
1124 |
| Avoid modifiers which are implied by the context |
1125 |
| Avoid modifiers which are implied by the context |
1126 |
| Avoid modifiers which are implied by the context |
1131 |
| Avoid modifiers which are implied by the context |
1132 |
| Avoid modifiers which are implied by the context |
1133 |
| Avoid modifiers which are implied by the context |
1138 |
| Avoid modifiers which are implied by the context |
1139 |
| Avoid modifiers which are implied by the context |
1140 |
| Avoid modifiers which are implied by the context |
1141 |
| Avoid modifiers which are implied by the context |
1146 |
| Avoid modifiers which are implied by the context |
1147 |
| Avoid modifiers which are implied by the context |
1148 |
| Avoid modifiers which are implied by the context |
1149 |
| Avoid modifiers which are implied by the context |
1150 |
| Avoid modifiers which are implied by the context |
1151 |
| Avoid modifiers which are implied by the context |
1156 |
| Avoid modifiers which are implied by the context |
1157 |
| Avoid modifiers which are implied by the context |
1158 |
| Avoid modifiers which are implied by the context |
1159 |
| Avoid modifiers which are implied by the context |
1164 |
| Avoid modifiers which are implied by the context |
1165 |
| Avoid modifiers which are implied by the context |
1166 |
| Avoid modifiers which are implied by the context |
1167 |
| Avoid modifiers which are implied by the context |
1168 |
| Avoid modifiers which are implied by the context |
1169 |
| Avoid modifiers which are implied by the context |
1170 |
| Avoid modifiers which are implied by the context |
1175 |
| Avoid modifiers which are implied by the context |
1176 |
| Avoid modifiers which are implied by the context |
1177 |
| Avoid modifiers which are implied by the context |
1178 |
| Avoid modifiers which are implied by the context |
1179 |
| Avoid modifiers which are implied by the context |
1180 |
| Avoid modifiers which are implied by the context |
1181 |
| Avoid modifiers which are implied by the context |
1182 |
| Avoid modifiers which are implied by the context |
1183 |
| Avoid modifiers which are implied by the context |
1188 |
| Avoid modifiers which are implied by the context |
1189 |
| Avoid modifiers which are implied by the context |
1190 |
| Avoid modifiers which are implied by the context |
1191 |
| Avoid modifiers which are implied by the context |
1196 |
| Avoid modifiers which are implied by the context |
1197 |
| Avoid modifiers which are implied by the context |
1198 |
| Avoid modifiers which are implied by the context |
1199 |
| Avoid modifiers which are implied by the context |
1200 |
| Avoid modifiers which are implied by the context |
1201 |
| Avoid modifiers which are implied by the context |
1202 |
| Avoid modifiers which are implied by the context |
1203 |
| Avoid modifiers which are implied by the context |
1204 |
| Avoid modifiers which are implied by the context |
1205 |
| Avoid modifiers which are implied by the context |
1206 |
| Avoid modifiers which are implied by the context |
1207 - 1208 |
| Avoid modifiers which are implied by the context |
1209 - 1210 |


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/squares.html ---
Do we have that the square of a real number is nonnegative?
mul_self_nonneg
looks promising
too bad x^2 is not defeq x*x :disappointed:
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


Following the steps above, at this point the indicator object is ready for you to analyse. Each indicator has different properties which you can see from the Reference Table types.
In the example above the BollingerBand.StandardDeviation
dataframe column is much smaller than the Upper
and Lower
band properties. With a little help from pandas we can drop the standard deviation column and plot the remaining ones.
# drop the standard deviation fields df1_bb.drop('standarddeviation', 1) # plot the Bollinger Band df1_bb.plot()


{{ template "header" . }}
Are you sure you want to remove key {{ .Key.Comment }} {{ .Key.Fingerprint }}?


Usage
Initializing a dropdown
Types
Dropdown
A basic dropdown has no special formatting of its own
Inline
A dropdown can be formatted to appear inline in other content
Selection
A dropdown can be formatted to allow selection of a menu choice.
Floating
A dropdown menu can appear to be floating below an element.
Pointing
A dropdown menu can be formatted to point to its content
Simple
A simple dropdown can open without javascript
Examples
Multiple Levels
A dropdown menu can also contain sub menus inside of it
My favorite animal breed isButton Group
A button group can be formatted to show additional content as a dropdown
Combo Button
A button can be formatted with a dropdown
Menu
A menu element can contain a dropdown
Form
A dropdown can be formatted to allow selection inside a form
Let's go ahead and get you signed up.
Transitions
A dropdown can have different transitions.
Variations
Fluid
A dropdown can take the full width of its parent
States
Visible
A visible dropdown menu has its menu open
Disabled
A disabled dropdown menu will not open or close
Behavior
Show
A dropdown can show its menu
Hide
A dropdown can hide its menu
Toggle
A dropdown can toggle between menu visibility
Settings
Dropdown Settings
Dropdown settings modify the dropdown's behavior
| Setting | Default | Description |
|---|---|---|
| on | click | Event used to trigger dropdown |
| delay |
delay: {
show: 50,
hide: 300
}
|
Time in milliseconds to debounce show or hide behavior |
| transition | slide down | Named transition to use when animating menu in and out. Fade and slide down are available without including ui transitions |
| action | hide | Sets a default action to occur.
nothing
no action occurs
hide
Dropdown menu is hidden
changeText
dropdown menu is hidden and text field is changed
updateForm
dropdown menu is hidden text field is changed and hidden input value is changed
function(){}
custom function is executed
|
Callbacks
Callback settings specify a function to occur after a specific behavior.
| Setting | Context | Description |
|---|---|---|
| onChange(value, text) | Dropdown | Is called after a dropdown item is selected. Receieves the name and value of selection. |
| onShow | Dropdown | Is called after a dropdown is shown. |
| onHide | Dropdown | Is called after a dropdown is hidden. |
DOM Settings
DOM settings specify how this module should interface with the DOM
| Setting | Default | Description |
|---|---|---|
| namespace | dropdown | Event namespace. Makes sure module teardown does not effect other events attached to an element. |
| selector |
selector : {
menu : '.menu',
item : '.menu > .item',
text : '> .text',
input : '> input[type="hidden"]'
},
|
|
| metadata |
metadata: {
text : 'text',
value : 'value'
},
|
|
| className |
className : {
active : 'active',
placeholder : 'default',
disabled : 'disabled',
visible : 'visible'
}
|
Debug Settings
Debug settings controls debug output to the console
| Setting | Default | Description |
|---|---|---|
| name | Dropdown | Name used in debug logs |
| debug | True | Provides standard debug output to console |
| performance | True | Provides standard debug output to console |
| verbose | True | Provides ancillary debug output to console |
| error |
error : {
action : 'You called a dropdown action that was not defined',
method : 'The method you called is not defined.',
transition : 'The requested transition was not found'
}
|


My Most Potent Dating Tips
What’s worked best for my clients
by Marty Nemko Ph.D.Marty Nemko Ph.D.
Many of my clients have wanted help in meeting their special someone. These tips have been the most potent.
Meeting
Online is usually best. Of course, there’s dissembling online (as well as in life) but compared with the other ways of meeting, online has most often worked best. That’s not surprising because it’s so easy to curate and because most busy (read, successful, broadly defined) people don’t have the time for more time-consuming ways to meet.
The keys to successful online dating:
- Be not hypey but honest in words and pictures about your strengths, weaknesses, and preferences. The game isn't “Who can get the most queries.” It’s “Who can get on-target queries.”
- Have high standards and if you sense the person isn't right for you, cut your losses quickly—There are lots of fish in the sea.
Here are more tips on online dating.
Getting set up. The second most likely way to meet a special someone is getting set-up by friends and relatives you respect. They know you and care about you and generally curate well, certainly better than if you went to a club, bar, or singles event. Try to overcome any shyness about asking to get set up. Most people enjoy doing that.
Communicating
It’s about balance:
- Revealing yourself and equally asking, listening, and following up about the other person.
- Moderate candor, especially in the beginning, probably not baring all.  Slow really is better. . . usually.
- It’s a conversation not lecturettes. A rule of thumb: Most utterances should last 15 to 60 seconds.
- Slowly deepen the conversation, perhaps starting with interests at and outside work, family, and then values. Stay alert to signs you’re probing too much or too little, too quickly or not quickly enough. Here are 50 deepening questions.
Evaluating wisely
It’s easy to let those early months of infatuation cloud your thinking. My clients who have been most successful in love balance heart-driven feelings with head-driven thinking.  A relationship is often devastated if one partner is high-maintenance. There’s resentment about the imbalance of power, of money, or of need for attention and “processing.”
- whether the person brings out the best in you.
- the ineffable: Do you feel good around this person?
- the summative question: Are you better off monogamously with this person, being non-exclusive, or breaking up?
Here's more on rating your relationship.
Accept or leave. My clients who are successful in love tend to not let a bad relationship dribble on. They either accept the person pretty much as-is or they leave. The chances of significantly “fixing” a person in a reasonable amount of time are too small. There are plenty fish in the sea. Accept or leave
Marry?
Even if kids are in the plan, the benefits of marriage must be very carefully weighed against its shackles, not just legal shackles but family and friends’ expectations. In many circles, marriage is expected as is staying together except in extreme circumstances, even if you're not happy.
I’ve seen many couples decide to marry and to stay married heavily because of external expectations. So this article would feel incomplete unless I stressed the obvious: Marrying and staying married are too consequential to let norms pressure you. When you consider all the facts and the feelings, are you wise to publicly and legally commit to being coupled for a lifetime?
Offering the other extreme is one of my most popular articles, with more than 171,000 views: The Recluse Option.
The takeaway
Romantic relationships can offer some of life’s highest highs and lowest lows. I hope this article’s ideas will tilt your prospects upward.
I read this aloud on YouTube.
Post Comment
Your name
E-mail
The content of this field is kept private and will not be shown publicly.
Subject
Comment *
Notify me when new comments are posted
All comments
Replies to my comment
Leave this field blank


Get Secure Teacher Account
Join Edmodo, where over 47 million teachers, students, and parents are connecting to collaborate on assignments, discover new resources, and more!
By clicking, you agree to our Terms of Service & Privacy Policy.


PlusSlider
I do not fear death,
in view of the fact that I had been dead
for billions and billions of years
before I was born, and had not suffered
the slightest inconvenience from it.
- Mark Twain
in view of the fact that I had been dead
for billions and billions of years
before I was born, and had not suffered
the slightest inconvenience from it.
- Mark Twain
The difference between the right word
and the almost right word is the difference
between lightning and a lightning bug.
- Mark Twain
and the almost right word is the difference
between lightning and a lightning bug.
- Mark Twain
Nature knows no indecencies;
man invents them.
- Mark Twain
man invents them.
- Mark Twain
Features
- Slides are HTML (Can be images or text)
- Easily swap between fading & sliding
- Multiple PlusSliders per page
- Very simple & valid markup
- Autoplay (Optional)
- Next/Previous Navigation (Optional)
- Titled or numbered paginated navigation (Optional)
- Callback available after each slide
- Supports slides of various width and height
- Tested on IE7+ and modern browsers
Default Options
$('#slider').plusSlider({
/* General */
sliderType: 'slider', // Choose whether the carousel is a 'slider' or a 'fader'
width: false, // Overide the default CSS width
height: false, // Overide the default CSS width
/* Display related */
defaultSlide: 0, // Sets the default starting slide - Number based on item index
displayTime: 4000, // The amount of time the slide waits before automatically moving on to the next one. This requires 'autoPlay: true'
sliderEasing: 'linear', // Anything other than 'linear' and 'swing' requires the easing plugin
speed: 500, // The amount of time it takes for a slide to fade into another slide
/* Functioanlity related */
autoPlay: true, // Creats a times, looped 'slide-show'
keyboardNavigation: true, // The keyboard's directional left and right arrows function as next and previous buttons
pauseOnHover: true, // AutoPlay does not continue ifsomeone hovers over Plus Slider.
/* Arrow related */
createArrows: true, // Creates forward and backward navigation
nextText: 'Next', // Adds text to the 'next' trigger
prevText: 'Previous', // Adds text to the 'prev' trigger
/* Pagination related */
createPagination: true, // Creates Numbered pagination
paginationPosition: 'prepend', // Place the pagination above the slider within the HTML
paginationWidth: false, // Automatically gives the pagination a dynamic width
paginationTitle: false, // Checks for attribute 'data-title' on each slide and names the pagination accordingly
/* Callbacks */
onSlide: null // Callback function
});
Changelog
Version 1.4
- Added slider support for dynamic
width
andheight
- Streamlined the script
- Removed the
paginationThumbnails
option - Set the
paginationWidth
to default to false - Changed the title of the option
autoPlay
toautoPlay
- Added
defaultSlide
option - Added comments throughout the jquery.plusslider.js file as well as made it more human-readable
- Changed a couple of element types and class names
- Added
.plusslide-container
class to the.child
parent
Version 1.3
- Added nextText and prevText options
- Added the paginationThumbnails option
- Added the nextSlide() functionality to toSlide()
- Removed the nextSlide() function - Redundant
Version 1.2.6
- Added a paginationTitle
- Plugin optimization
- Added a minimal style option for easier CSS customization - jordanlev
- Added callback function - jordanlev
- Added toSlide() function - jordanlev
Version 1.2
- Added option to place pagination before the slides
- Fixed a bug where PlusSlider wouldn't fade when display was set to none
- Removed version number from all file names
Version 1.1
- Added support for multiple sliders per page
- Added a
width
&height
option
Version 1
- First official version


--- layout: study title: Study (The Cherkewski View) ---
This is where I write, about my reading and more. Rather than a neat list of articles, think of this as a scattered collection of notes. This is public thinking via the best medium: writing.
' | remove: '
' }}{{ post.subtitle | markdownify | remove: '
' | remove: '
' }} ({{ post.date | date: "%Y" }})


Dear, Subjec: Please save me. I would like to apply through this medium for your co-operation and to secure an opportunity to invest and do joint business with you in your country,as i do not have much knowleagde about international business/investment. I have a substantial capital I honorably intend to invest in your countryinto a very lucrative venture of which you are to advise and execute thesaid venture over there for the mutual benefits of both of us. Your ableco-operation is to become my business partner,trustee and representativein your country and create an ideas on how money will be invested, probably managed and the type ofinvestment after the money is transferred to your custody with yourassistance. Meanwhile, on indication of your willingness to handle this transactionsincerely by protecting our interests and upon your acceptance of thisproposal, I would furnish you with the full detailed information, procedure,amount involve and mutual agreement on your percentage interest or shareholding for helping me to secure the release of the deposit and investingthe money. I shall be glad to reserve this respect and opportunity for you, if you sodesire, but do urge you to give the matter your immediate attention it deserves. Looking forward to your response. Mrs. Femia Bangura


import abc
import time
import typing
import logging
from . import log
[docs]class BaseThrottleHandler(abc.ABC):
"""
This is the interface that must be implemented to satisfy naz's throttle handling.
User implementations should inherit this class and
implement the :func:`throttled <BaseThrottleHandler.throttled>`, :func:`not_throttled <BaseThrottleHandler.not_throttled>`,
:func:`allow_request <BaseThrottleHandler.allow_request>` and
:func:`throttle_delay <BaseThrottleHandler.throttle_delay>` methods with the type signatures shown.
When an SMPP client exceeds it's rate limit, or when the SMSC is under load or for whatever reason;
The SMSC may decide to start throtlling requests from that particular client.
When it does so, it replies to the client with a throttling status. Under such conditions, it is important for the client to start
rate limiting itself. The way naz implements this self imposed self-regulation is via Throttle Handlers.
The methods in this class are also called when the SMSC is under load and is responding with `ESME_RMSGQFUL`(message queue full) responses
"""
[docs] @abc.abstractmethod
async def throttled(self) -> None:
"""
this method will be called by naz everytime we get a throttling response from SMSC.
"""
raise NotImplementedError("throttled method must be implemented.")
[docs] @abc.abstractmethod
async def not_throttled(self) -> None:
"""
this method will be called by naz everytime we get any response from SMSC that is not a throttling response.
"""
raise NotImplementedError("not_throttled method must be implemented.")
[docs] @abc.abstractmethod
async def allow_request(self) -> bool:
"""
this method will be called by naz just before sending a request to SMSC.
The response from this method will determine wether naz will send the request or not.
"""
raise NotImplementedError("allow_request method must be implemented.")
[docs] @abc.abstractmethod
async def throttle_delay(self) -> float:
"""
if the last :func:`allow_request <BaseThrottleHandler.allow_request>` method call returned False(thus denying sending a request),
naz will call the throttle_delay method
to determine how long in seconds to wait before calling allow_request again.
"""
raise NotImplementedError("throttle_delay method must be implemented.")
[docs]class SimpleThrottleHandler(BaseThrottleHandler):
"""
This is an implementation of BaseThrottleHandler.
It works by:
- calculating the percentage of responses from the SMSC that are THROTTLING(or ESME_RMSGQFUL) responses.
- if that percentage goes above :attr:`deny_request_at <SimpleThrottleHandler.deny_request_at>` percent AND \
total number of responses from SMSC is greater than :attr:`sample_size <SimpleThrottleHandler.sample_size>` over \
:attr:`sampling_period <SimpleThrottleHandler.sampling_period>` seconds
- then deny making anymore requests to SMSC
"""
[docs] def __init__(
self,
sampling_period: float = 180.00,
sample_size: float = 50.00,
deny_request_at: float = 1.00,
throttle_wait: float = 3.00,
logger: typing.Union[None, logging.Logger] = None,
) -> None:
"""
Parameters:
sampling_period: the duration in seconds over which we will calculate the percentage of throttled responses.
sample_size: the minimum number of responses we should have got from SMSC over :sampling_period duration to enable us make a decision.
deny_request_at: the percent of throtlled responses above which we will deny naz from sending more requests to SMSC.
throttle_wait: the time in seconds to wait before calling allow_request after the last allow_request that returned False.
"""
if not isinstance(sampling_period, float):
raise ValueError(
"`sampling_period` should be of type:: `float` You entered: {0}".format(
type(sampling_period)
)
)
if not isinstance(sample_size, float):
raise ValueError(
"`sample_size` should be of type:: `float` You entered: {0}".format(
type(sample_size)
)
)
if not isinstance(deny_request_at, float):
raise ValueError(
"`deny_request_at` should be of type:: `float` You entered: {0}".format(
type(deny_request_at)
)
)
if not isinstance(throttle_wait, float):
raise ValueError(
"`throttle_wait` should be of type:: `float` You entered: {0}".format(
type(throttle_wait)
)
)
if not isinstance(logger, (type(None), logging.Logger)):
raise ValueError(
"`logger` should be of type:: `None` or `logging.Logger` You entered: {0}".format(
type(logger)
)
)
self.NON_throttle_responses: int = 0
self.throttle_responses: int = 0
self.updated_at: float = time.monotonic()
self.sampling_period: float = sampling_period
self.sample_size: float = sample_size
self.deny_request_at: float = deny_request_at
self.throttle_wait: float = throttle_wait
if logger is not None:
self.logger = logger
else:
self.logger = log.SimpleLogger("naz.SimpleThrottleHandler")
@property
def percent_throttles(self) -> float:
total_smsc_responses: int = self.NON_throttle_responses + self.throttle_responses
if total_smsc_responses < self.sample_size:
# we do not have enough data to make decision, so asssume happy case
return 0.0
return round((self.throttle_responses / (total_smsc_responses)) * 100, 2)
[docs] async def allow_request(self) -> bool:
self.logger.log(
logging.DEBUG, {"event": "naz.SimpleThrottleHandler.allow_request", "stage": "start"}
)
# calculat percentage of throttles before resetting NON_throttle_responses and throttle_responses
current_percent_throttles: float = self.percent_throttles
_throttle_responses: int = self.throttle_responses
_NON_throttle_responses: int = self.NON_throttle_responses
now: float = time.monotonic()
time_since_update: float = now - self.updated_at
if time_since_update > self.sampling_period:
# we are only interested in percent throttles in buckets of self.sampling_period seconds.
# so reset values after self.sampling_period seconds.
self.NON_throttle_responses = 0
self.throttle_responses = 0
self.updated_at = now
if current_percent_throttles > self.deny_request_at:
self.logger.log(
logging.INFO,
{
"event": "naz.SimpleThrottleHandler.allow_request",
"stage": "end",
"percent_throttles": current_percent_throttles,
"throttle_responses": _throttle_responses,
"NON_throttle_responses": _NON_throttle_responses,
"sampling_period": self.sampling_period,
"sample_size": self.sample_size,
"deny_request_at": self.deny_request_at,
"state": "deny_request",
},
)
return False
self.logger.log(
logging.DEBUG,
{
"event": "naz.SimpleThrottleHandler.allow_request",
"stage": "end",
"percent_throttles": current_percent_throttles,
"throttle_responses": _throttle_responses,
"NON_throttle_responses": _NON_throttle_responses,
"sampling_period": self.sampling_period,
"sample_size": self.sample_size,
"deny_request_at": self.deny_request_at,
"state": "allow_request",
},
)
return True
[docs] async def not_throttled(self) -> None:
self.NON_throttle_responses += 1
[docs] async def throttled(self) -> None:
self.throttle_responses += 1
[docs] async def throttle_delay(self) -> float:
# todo: sleep in an exponetial manner upto a maximum then wrap around.
return self.throttle_wait


Admin
Show the Transcript of Dialog
View
Hide
Setting up the conversation
Setup
Update
Whats this?
Chilab
Help
(current)
Let's Talk
Choose a pdf file
Loading document ...
Previous
Next
Page
of
Loading page ...
Start
Reset all
Speak
Hide transcript
Response
Data


We aggregate networks!
- unleash viral web-readiness
- redefine frictionless convergence
- redefine world-class e-markets
- utilize collaborative channels
- optimize cross-platform technologies
- engage mission-critical partnerships
- reinvent transparent relationships
- grow end-to-end e-business
- whiteboard robust models
- empower turn-key channels


AP Top Science News at 12:02 a.m. EST
by EndPlaySpaceX launches 60 more mini satellites for global internet
Mini Mercury skips across sun's vast glare in rare transit
The most destructive hurricanes are hitting US more often
Egypt says it's unearthed large animal mummy, likely a lion
Iran awards prestigious prize to 2 US-educated scientists
Scientific groups remove job posts over LGBTQ policy at BYU
Mural of activist Greta Thunberg going up in San Francisco
Millions at stake in dinosaur fight: Are fossils minerals?
France reopens contested Jewish tomb in east Jerusalem
Pacific bird refuge struggles as ocean garbage patch grows