pax_global_header00006660000000000000000000000064131647414700014521gustar00rootroot0000000000000052 comment=d5e9a1d5f125715733b7fb54951bf640c5988e59 d3-drag-1.2.1/000077500000000000000000000000001316474147000127435ustar00rootroot00000000000000d3-drag-1.2.1/.eslintrc000066400000000000000000000002251316474147000145660ustar00rootroot00000000000000parserOptions: sourceType: module env: browser: true extends: "eslint:recommended" rules: no-cond-assign: 0 no-fallthrough: 0 d3-drag-1.2.1/.gitignore000066400000000000000000000001001316474147000147220ustar00rootroot00000000000000*.sublime-workspace .DS_Store build/ node_modules npm-debug.log d3-drag-1.2.1/.npmignore000066400000000000000000000000361316474147000147410ustar00rootroot00000000000000*.sublime-* build/*.zip test/ d3-drag-1.2.1/LICENSE000066400000000000000000000027031316474147000137520ustar00rootroot00000000000000Copyright 2010-2016 Mike Bostock All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the author nor the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. d3-drag-1.2.1/README.md000066400000000000000000000465751316474147000142430ustar00rootroot00000000000000# d3-drag [Drag-and-drop](https://en.wikipedia.org/wiki/Drag_and_drop) is a popular and easy-to-learn pointing gesture: move the pointer to an object, press and hold to grab it, “drag” the object to a new location, and release to “drop”. D3’s [drag behavior](#api-reference) provides a convenient but flexible abstraction for enabling drag-and-drop interaction on [selections](https://github.com/d3/d3-selection). For example, you can use d3-drag to facilitate interaction with a [force-directed graph](https://github.com/d3/d3-force), or a simulation of colliding circles: [Force Dragging III](http://bl.ocks.org/mbostock/ad70335eeef6d167bc36fd3c04378048)[Force Dragging II](http://bl.ocks.org/mbostock/2990a882e007f8384b04827617752738) You can also use d3-drag to implement custom user interface elements, such as a slider. But the drag behavior isn’t just for moving elements around; there are a variety of ways to respond to a drag gesture. For example, you can use it to lasso elements in a scatterplot, or to paint lines on a canvas: [Line Drawing](http://bl.ocks.org/mbostock/f705fc55e6f26df29354) The drag behavior can be combined with other behaviors, such as [d3-zoom](https://github.com/d3/d3-zoom) for zooming. [Drag & Zoom II](http://bl.ocks.org/mbostock/3127661b6f13f9316be745e77fdfb084) The drag behavior is agnostic about the DOM, so you can use it with SVG, HTML or even Canvas! And you can extend it with advanced selection techniques, such as a Voronoi overlay or a closest-target search: [Circle Dragging IV](http://bl.ocks.org/mbostock/ec10387f24c1fad2acac3bc11eb218a5)[Circle Dragging II](http://bl.ocks.org/mbostock/c206c20294258c18832ff80d8fd395c3) Best of all, the drag behavior automatically unifies mouse and touch input, and avoids browser idiosyncrasies. When [Pointer Events](https://www.w3.org/TR/pointerevents/) are more widely available, the drag behavior will support those, too. ## Installing If you use NPM, `npm install d3-drag`. Otherwise, download the [latest release](https://github.com/d3/d3-drag/releases/latest). You can also load directly from [d3js.org](https://d3js.org), either as a [standalone library](https://d3js.org/d3-drag.v1.min.js) or as part of [D3 4.0](https://github.com/d3/d3). AMD, CommonJS, and vanilla environments are supported. In vanilla, a `d3` global is exported: ```html ``` [Try d3-drag in your browser.](https://tonicdev.com/npm/d3-drag) ## API Reference This table describes how the drag behavior interprets native events: | Event | Listening Element | Drag Event | Default Prevented? | | ------------ | ----------------- | ---------- | ------------------ | | mousedown⁵ | selection | start | no¹ | | mousemove² | window¹ | drag | yes | | mouseup² | window¹ | end | yes | | dragstart² | window | - | yes | | selectstart² | window | - | yes | | click³ | window | - | yes | | touchstart | selection | start | no⁴ | | touchmove | selection | drag | yes | | touchend | selection | end | no⁴ | | touchcancel | selection | end | no⁴ | The propagation of all consumed events is [immediately stopped](https://dom.spec.whatwg.org/#dom-event-stopimmediatepropagation). If you want to prevent some events from initiating a drag gesture, use [*drag*.filter](#drag_filter). ¹ Necessary to capture events outside an iframe; see [#9](https://github.com/d3/d3-drag/issues/9).
² Only applies during an active, mouse-based gesture; see [#9](https://github.com/d3/d3-drag/issues/9).
³ Only applies immediately after some mouse-based gestures; see [*drag*.clickDistance](#drag_clickDistance).
⁴ Necessary to allow [click emulation](https://developer.apple.com/library/ios/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//apple_ref/doc/uid/TP40006511-SW7) on touch input; see [#9](https://github.com/d3/d3-drag/issues/9).
⁵ Ignored if within 500ms of a touch gesture ending; assumes [click emulation](https://developer.apple.com/library/ios/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//apple_ref/doc/uid/TP40006511-SW7). # d3.drag() [<>](https://github.com/d3/d3-drag/blob/master/src/drag.js "Source") Creates a new drag behavior. The returned behavior, [*drag*](#_drag), is both an object and a function, and is typically applied to selected elements via [*selection*.call](https://github.com/d3/d3-selection#selection_call). # drag(selection) [<>](https://github.com/d3/d3-drag/blob/master/src/drag.js#L39 "Source") Applies this drag behavior to the specified [*selection*](https://github.com/d3/d3-selection). This function is typically not invoked directly, and is instead invoked via [*selection*.call](https://github.com/d3/d3-selection#selection_call). For example, to instantiate a drag behavior and apply it to a selection: ```js d3.selectAll(".node").call(d3.drag().on("start", started)); ``` Internally, the drag behavior uses [*selection*.on](https://github.com/d3/d3-selection#selection_on) to bind the necessary event listeners for dragging. The listeners use the name `.drag`, so you can subsequently unbind the drag behavior as follows: ```js selection.on(".drag", null); ``` Applying the drag behavior also sets the [-webkit-tap-highlight-color](https://developer.apple.com/library/mac/documentation/AppleApplications/Reference/SafariWebContent/AdjustingtheTextSize/AdjustingtheTextSize.html#//apple_ref/doc/uid/TP40006510-SW5) style to transparent, disabling the tap highlight on iOS. If you want a different tap highlight color, remove or re-apply this style after applying the drag behavior. # drag.container([container]) [<>](https://github.com/d3/d3-drag/blob/master/src/drag.js#L145 "Source") If *container* is specified, sets the container accessor to the specified object or function and returns the drag behavior. If *container* is not specified, returns the current container accessor, which defaults to: ```js function container() { return this.parentNode; } ``` The *container* of a drag gesture determines the coordinate system of subsequent [drag events](#drag-events), affecting *event*.x and *event*.y. The element returned by the container accessor is subsequently passed to [d3.mouse](https://github.com/d3/d3-selection#mouse) or [d3.touch](https://github.com/d3/d3-selection#touch), as appropriate, to determine the local coordinates of the pointer. The default container accessor returns the parent node of the element in the originating selection (see [*drag*](#_drag)) that received the initiating input event. This is often appropriate when dragging SVG or HTML elements, since those elements are typically positioned relative to a parent. For dragging graphical elements with a Canvas, however, you may want to redefine the container as the initiating element itself: ```js function container() { return this; } ``` Alternatively, the container may be specified as the element directly, such as `drag.container(canvas)`. # drag.filter([filter]) [<>](https://github.com/d3/d3-drag/blob/master/src/drag.js#L141 "Source") If *filter* is specified, sets the filter to the specified function and returns the drag behavior. If *filter* is not specified, returns the current filter, which defaults to: ```js function filter() { return !d3.event.button; } ``` If the filter returns falsey, the initiating event is ignored and no drag gestures are started. Thus, the filter determines which input events are ignored; the default filter ignores mousedown events on secondary buttons, since those buttons are typically intended for other purposes, such as the context menu. # drag.touchable([touchable]) [<>](https://github.com/d3/d3-drag/blob/master/src/drag.js#L153 "Source") If *touchable* is specified, sets the touch support detector to the specified function and returns the drag behavior. If *touchable* is not specified, returns the current touch support detector, which defaults to: ```js function touchable() { return "ontouchstart" in this; } ``` Touch event listeners are only registered if the detector returns truthy for the corresponding element when the drag behavior is [applied](#_drag). The default detector works well for most browsers that are capable of touch input, but not all; Chrome’s mobile device emulator, for example, fails detection. # drag.subject([subject]) [<>](https://github.com/d3/d3-drag/blob/master/src/drag.js#L149 "Source") If *subject* is specified, sets the subject accessor to the specified object or function and returns the drag behavior. If *subject* is not specified, returns the current subject accessor, which defaults to: ```js function subject(d) { return d == null ? {x: d3.event.x, y: d3.event.y} : d; } ``` The *subject* of a drag gesture represents *the thing being dragged*. It is computed when an initiating input event is received, such as a mousedown or touchstart, immediately before the drag gesture starts. The subject is then exposed as *event*.subject on subsequent [drag events](#drag-events) for this gesture. The default subject is the [datum](https://github.com/d3/d3-selection#selection_datum) of the element in the originating selection (see [*drag*](#_drag)) that received the initiating input event; if this datum is undefined, an object representing the coordinates of the pointer is created. When dragging circle elements in SVG, the default subject is thus the datum of the circle being dragged. With [Canvas](https://html.spec.whatwg.org/multipage/scripting.html#the-canvas-element), the default subject is the canvas element’s datum (regardless of where on the canvas you click). In this case, a custom subject accessor would be more appropriate, such as one that picks the closest circle to the mouse within a given search *radius*: ```js function subject() { var n = circles.length, i, dx, dy, d2, s2 = radius * radius, circle, subject; for (i = 0; i < n; ++i) { circle = circles[i]; dx = d3.event.x - circle.x; dy = d3.event.y - circle.y; d2 = dx * dx + dy * dy; if (d2 < s2) subject = circle, s2 = d2; } return subject; } ``` (If necessary, the above can be accelerated using [*quadtree*.find](https://github.com/d3/d3-quadtree#quadtree_find).) The returned subject should be an object that exposes `x` and `y` properties, so that the relative position of the subject and the pointer can be preserved during the drag gesture. If the subject is null or undefined, no drag gesture is started for this pointer; however, other starting touches may yet start drag gestures. See also [*drag*.filter](#drag_filter). The subject of a drag gesture may not be changed after the gesture starts. The subject accessor is invoked with the same context and arguments as [*selection*.on](https://github.com/d3/d3-selection#selection_on) listeners: the current datum `d` and index `i`, with the `this` context as the current DOM element. During the evaluation of the subject accessor, [d3.event](https://github.com/d3/d3-selection#event) is a beforestart [drag event](#drag-events). Use *event*.sourceEvent to access the initiating input event and *event*.identifier to access the touch identifier. The *event*.x and *event*.y are relative to the [container](#drag_container), and are computed using [d3.mouse](https://github.com/d3/d3-selection#mouse) or [d3.touch](https://github.com/d3/d3-selection#touch) as appropriate. # drag.clickDistance([distance]) [<>](https://github.com/d3/d3-drag/blob/master/src/drag.js#L162 "Source") If *distance* is specified, sets the maximum distance that the mouse can move between mousedown and mouseup that will trigger a subsequent click event. If at any point between mousedown and mouseup the mouse is greater than or equal to *distance* from its position on mousedown, the click event follwing mouseup will be suppressed. If *distance* is not specified, returns the current distance threshold, which defaults to zero. The distance threshold is measured in client coordinates ([*event*.clientX](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/clientX) and [*event*.clientY](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/clientY)). # drag.on(typenames, [listener]) [<>](https://github.com/d3/d3-drag/blob/master/src/drag.js#L157 "Source") If *listener* is specified, sets the event *listener* for the specified *typenames* and returns the drag behavior. If an event listener was already registered for the same type and name, the existing listener is removed before the new listener is added. If *listener* is null, removes the current event listeners for the specified *typenames*, if any. If *listener* is not specified, returns the first currently-assigned listener matching the specified *typenames*, if any. When a specified event is dispatched, each *listener* will be invoked with the same context and arguments as [*selection*.on](https://github.com/d3/d3-selection#selection_on) listeners: the current datum `d` and index `i`, with the `this` context as the current DOM element. The *typenames* is a string containing one or more *typename* separated by whitespace. Each *typename* is a *type*, optionally followed by a period (`.`) and a *name*, such as `drag.foo` and `drag.bar`; the name allows multiple listeners to be registered for the same *type*. The *type* must be one of the following: * `start` - after a new pointer becomes active (on mousedown or touchstart). * `drag` - after an active pointer moves (on mousemove or touchmove). * `end` - after an active pointer becomes inactive (on mouseup, touchend or touchcancel). See [*dispatch*.on](https://github.com/d3/d3-dispatch#dispatch_on) for more. Changes to registered listeners via *drag*.on during a drag gesture *do not affect* the current drag gesture. Instead, you must use [*event*.on](#event_on), which also allows you to register temporary event listeners for the current drag gesture. **Separate events are dispatched for each active pointer** during a drag gesture. For example, if simultaneously dragging multiple subjects with multiple fingers, a start event is dispatched for each finger, even if both fingers start touching simultaneously. See [Drag Events](#drag-events) for more. # d3.dragDisable(window) [<>](https://github.com/d3/d3-drag/blob/master/src/nodrag.js#L4 "Source") Prevents native drag-and-drop and text selection on the specified *window*. As an alternative to preventing the default action of mousedown events (see [#9](https://github.com/d3/d3-drag/issues/9)), this method prevents undesirable default actions following mousedown. In supported browsers, this means capturing dragstart and selectstart events, preventing the associated default actions, and immediately stopping their propagation. In browsers that do not support selection events, the user-select CSS property is set to none on the document element. This method is intended to be called on mousedown, followed by [d3.dragEnable](#dragEnable) on mouseup. # d3.dragEnable(window[, noclick]) [<>](https://github.com/d3/d3-drag/blob/master/src/nodrag.js#L15 "Source") Allows native drag-and-drop and text selection on the specified *window*; undoes the effect of [d3.dragDisable](#dragDisable). This method is intended to be called on mouseup, preceded by [d3.dragDisable](#dragDisable) on mousedown. If *noclick* is true, this method also temporarily suppresses click events. The suppression of click events expires after a zero-millisecond timeout, such that it only suppress the click event that would immediately follow the current mouseup event, if any. ### Drag Events When a [drag event listener](#drag_on) is invoked, [d3.event](https://github.com/d3/d3-selection#event) is set to the current drag event. The *event* object exposes several fields: * `target` - the associated [drag behavior](#drag). * `type` - the string “start”, “drag” or “end”; see [*drag*.on](#drag_on). * `subject` - the drag subject, defined by [*drag*.subject](#drag_subject). * `x` - the new *x*-coordinate of the subject; see [*drag*.container](#drag_container). * `y` - the new *y*-coordinate of the subject; see [*drag*.container](#drag_container). * `dx` - the change in *x*-coordinate since the previous drag event. * `dy` - the change in *y*-coordinate since the previous drag event. * `identifier` - the string “mouse”, or a numeric [touch identifier](https://www.w3.org/TR/touch-events/#widl-Touch-identifier). * `active` - the number of currently active drag gestures (on start and end, not including this one). * `sourceEvent` - the underlying input event, such as mousemove or touchmove. The *event*.active field is useful for detecting the first start event and the last end event in a sequence of concurrent drag gestures: it is zero when the first drag gesture starts, and zero when the last drag gesture ends. The *event* object also exposes the [*event*.on](#event_on) method. # event.on(typenames, [listener]) [<>](https://github.com/d3/d3-drag/blob/master/src/event.js "Source") Equivalent to [*drag*.on](#drag_on), but only applies to the current drag gesture. Before the drag gesture starts, a [copy](https://github.com/d3/d3-dispatch#dispatch_copy) of the current drag [event listeners](#drag_on) is made. This copy is bound to the current drag gesture and modified by *event*.on. This is useful for temporary listeners that only receive events for the current drag gesture. For example, this start event listener registers temporary drag and end event listeners as closures: ```js function started() { var circle = d3.select(this).classed("dragging", true); d3.event.on("drag", dragged).on("end", ended); function dragged(d) { circle.raise().attr("cx", d.x = d3.event.x).attr("cy", d.y = d3.event.y); } function ended() { circle.classed("dragging", false); } } ``` d3-drag-1.2.1/d3-drag.sublime-project000066400000000000000000000002711316474147000172120ustar00rootroot00000000000000{ "folders": [ { "path": ".", "file_exclude_patterns": [ "*.sublime-workspace" ], "folder_exclude_patterns": [ "build" ] } ] } d3-drag-1.2.1/img/000077500000000000000000000000001316474147000135175ustar00rootroot00000000000000d3-drag-1.2.1/img/canvas.png000066400000000000000000000464711316474147000155140ustar00rootroot00000000000000PNG  IHDR}^ iCCPICC ProfileHT̤Z #k(ҫ@%@P+ ,E\"kAD(v .l ;wwo{\a lQ'#6. @zT3׿mt4S<7)r"7)4sl.]-(+Q.b4i>&2 (lw4: ʖ._-ʮ6:22N!o55l,a:{[9tРçC׬6miCfϝiSQ3a.;piQ3>fEΰhi }~~KIY>3epnJd pVZD/i^$,cFlo\)=J&yH(xa0=tt?i>+'Bl6f8:['T>pO+TBd3PA @bh*R~NCPtF7g)"sa&‘"g¹p .+p3|<ma"^H$#"d R#H҆t!7 ahDa8LVL)ӌ b0߰T:eac<2l>[m^`q8gspF\;7*xS >gGaGE& B10B N"XEl# 'H$C )JZO*!5.ޒd#9'#ɟ( e!ELFSQRT;5MF^>~XȰd2kedee^ee=d˞!R(g %ǖ[#W&wZܸD>C~  > \< hME6ҪhhÊ8ECEbb11%%[hJeJg$tn@g'h4g˜9s>()+')(7*(VaTiQyQ5Q S]z@K5E5g5Z 갺zJ~B}5^j55S5wkբijvkzPbx0%NƘXBG{BP'JgN#].S7Ywn^*zD}~^.1 Z * s Q܌2*n㌙i{M`;2)tiL`Vivǜbac^o>hA`bj;vfignYeJ*jUkku-ZV׶Il6u}w7؏:9$8;a*2C[Wk8~rwv:sg %ͫ7vp2\\JܴnnOuݹ#G=^yZz<.^vrr&+i%f%ge*UW X]Zcڼծ'O[ Emؖ.oeEw69o:g͖}[p Z~zGK~ܖg;p;;ntY[$_[4+xWn,sض^^^IIPI>};})M)(,k,W/Ra?w 5|n_EsAeaO~bTWZ]XFP# s;~d{=\/=h1c ~}"DIɆSʛhMP汖Ik\kmmMXRsFLYϑ坛<{~]Pǒc/ xe<_qrטZ_onצ7Z{{wp[[ݎ};ܻ{}?ău =*~7%ރO"< =/yOOGFY?;3;|/ѫS=;6Zzַ*okپ>ć*k?1?u}<2 KWm=̘EVANNM 8;@MOBK;QB=4Q)K`iCY6ӵ(~| ɉ_fО9ŧCPc[s W"LBOYiTXtXML:com.adobe.xmp 960 500 2@IDATxs}27$Uxq4XyJ*UlTFƱ(2YHE2E$%Ҥip @ bžνP0Awy}V@~S4@ @s 4@ @hN@ @h-,,544Vз~ 6持 Q2ꪫΒvюڝs4žr=RU@---bj[uD`t3@@:h`HutP<М%աRj hП=h`F=>4P`^Ic@ lXa@`nDR*,Y *iqq̨ Bg+@`F h:[Z3j @p$jT6c4AWW;@̽ᩯg@A[XX6k~~jllnV  PvgAjkkU<#4TCCA@h&nV  P1 @4h*^ !Y`;B* @dAؘA@yFh: S]]]f@!H&f@0 fP\:5tk`VJ]Je֥KV?ԯ6\VV"@jxjҹY9vE;jw.h+@`F QЩ[9uM+u5@ab1+Y2^lV]m?7o @---Y *B41?ڦCpqP(gH!_'WN^Ӂt8. #D0@MQtoκ#D-@ăOϷߊns7ӳ ctzc |;CZ gĸ jzZ_+טVt'=FQ С?{94BzVC|UϡyP`^мw3={(P` D3@ZJkpPpsD0@R7k}fnD6@O^S\@R,#:[uFdj㠕R(žs:QWꐳ(hCy dWWWIZhG9DQ[ö W cccmmm ^VV?ԯ6Ɯ1W^>b+@`!t8~5j7@xn0<3Uq!ܼ[uN.v61pym!yh׍; DGN^Ӂt84xsC0ymA йh^O݊ӳtht.#B_<Vz @giBv45A2@ D\PPG7ʇ/SV?ԯ6Ɯ1 `?{Y .5:zۗ+rMhGN8B| z`;dasmn^ԉRU'̹y9\ Щ%Zs_D%]U.=>r8?{M_[PL!Dֶ Mݪs0PX3ng9>?oSҹo7] ʙ7;ky (Rr^c՛&DMM:7oD]Cտ;={M8@X;k};58}|] !={J%93ϡ|e+@`zgҳT{}h N[k*` 5}) 9={Me e YZe3RrzVy܄KϞy,MMջ6=}1&@g_']* gއF[-%5V# k*[ G_Mp"w̹O+u7ෑfZ3wn捖8w v4={q/ gT U<: }c|cy lXim`%@n`rnV\sq!/Z(n+k ݌pO׏U<:k?35=m ={MsѹQv'@甡{Qh ܖtOlhJ9`wf7@xtB97PSSfҳT0N66vֳFݿNgȅ+Uu7~ß~C+mʹq1_-߶U6:}Lhx`۠3oE;vwr`6ҩ =3oE;jwuRlW劇,ʧp{~Ws-UuC{$Hmbfze,={;"Ll푷67oD]"rgZ,gx>{Gcsw1~R}Oy}Y%F#WΛ *۸g?7oVG|wa;k܏輶ݘC.1Ue;o#:m:D܎Mv 7rr wzq" Ʉ쵤)h]1ӳt . *.,M &:m:(7!2b8@{``ڦF⭩kZenV¨>={M>DF* hoʖ-gѻx+*U<?] zޱSj. +={Mp+JOХVxSag]?l7@x>~ja1=lΤ}ax"58rp>bf'/>nzʈk7={`Kg-hM6›{ hϳ"~MgӳT݋w(~ng 4+Gh=B*>xY+ZڽxgZhp7q9=<Ϟzzg`I gJz {^xbz>qcLpJM_sogddftйM *{km1[]|6[Z۽~[m1@p1/=POQr3J!onp3=0O`lVVܐx_2a8@'[&N=# VFS~;ϝT=\(^w+\K*t]!}{Lgힲ2[k*固tOl瓧?7dﴧ6$BqjxƝbL4e;>]O օ&vφ ʶ{vvn7lҹN>PΕU3t~^{8VwG-hm]Xsjyw-gV5ϭm,=`LYL^Svֶ VsOz\s E(Ml#@O *﫺bm+ţGho!tg$@mm7@xnBojXr=[hoy~PkO}O/Xс^>>yRRs_UKտu9=6={kBq `oW6b6={azLv? *%<5Ur;48=SSYWY+uh>>:ӎ!ͮan9ñNcNCU|4.\KOg<ΎKgkun>vQ:o wad=M^U-wWk}|2L7TW.~P[+mʹq$OÕhDScYhh y5Vnn[o "Jsd+n}P:gϬ @>O*@"Οu(= #Bׄ>t0=߳$X' !譭Lc(;SDzVF0B97ߞ:b O7 ".F={XH}tҗ_H_kB6fQ65U+ӳ׺v\b)oD_C_1QEw*=Ґn>y.Q7ɾ/X+u6+M ПmۧyI e^F{7юv_>?(Io:7oD]Bok?sg:>ܙT*G@vԠ&zbyk Ynh,1mmv)&-?/@n^/.,twvntO'O=wﴒZЎQzڎvqMk};Rw&=s6/S-߾\Pe}c_6K^{ >[ =).,hz:}ܗnͿbwNkwp~kt5]Q{YY_87O~꥟}齏{?q64m,W-+jYj1@.ra!/SS+齻 ՉԕY *;dU@ymA1TCTGJS/W[Zgk8rzj7@ݞZGo);7bVҳJU\UzJzVBszCēkG*h⹪_Y *{}?|nV܌!MskڗuUJU\Uv~zV23r3evNnpe]~ӳS*K c%Uރ S}gM'vӳ׸ [wW+.hڭLu{!Rr^cM`(@+@}jsW; U6L*Rk}W8 )֊+׻zW NqARŵ\B@zڂӊGZjmّ?կ>7Tз~ 6(-v jO684ݓkV\O@;YdTth;>Gy.Q>" ] jiq!=U`' O^|҅22*w~Lz  J,6eKg~X]C>%b >(Czg5(Й>{cZ}}{&ܼ[uP:}{wZ@B|:oK7 *8˛o ЇIb?ڦCAD?@ˋ#Сqg΍;MEr%.e^ܸcXzAK|nV: ׮p|Vuv95Vt oMq>v=5Vt{^M&'cb`ڦYD<@N'@ַRwF+uwyZe7,h]O^ӡe3G*q×,Tפj*kpSL߳Uխ:ϥak*%7tIC?cXk* Z9 GM_޽c(ܬNԕ:c$. q==ۮn{GD]<S=ˬmTϝUp*x"5-ܗIV7[ =;E;j߹!T W`E**)PCfvgh?i8@wit6 *8rϞy QǛz2w+>S]O7nmxm|Z_[PLgҧjh;qtk֯gO|Ӈ?Ё/~_im y{ h9[Z gއ4@yS3Ud8@xe1@lW̹~?ڦCpʼyιV#U6+PDzwf~g@:,\zdzVlH+TKӳT<+PzP0ymAdZyԽԑv~NtCs%HГhYݪ<h D<@OVz bT|]ȳ{|nSIG;nV'JTWf7@xnW :%5:JM`W%7OMgE;jw';}oh D6@3?n,@`gޮdW/]g2/+ }W@i[铟U<7+{ϼ s3Y"Wm1Z3@t(sn0/XH *Q ˽3ng1?43U$"[-%5V<@ӳC~x @;$Y*+n%O^S\a7ЮIYe3v@DvZesT(r0o}bVٌda/5Vt {Li; z5>o1={MsNk}RwR6lBU<-$-?%:[u@nbl-[5 "zdnV\jr}~0(Io*@nV'jlr,f+@`F HNiU<# KgvL=c%=T N}pz6q2}covVV?ԯO6FVhx vRbر") Rz+vR"??rzVym7={K .hh4-UD0@  F6ZzVI aѝb i1.gXQ,ПC~f)o@Ą>4=EkGhϥX/y9s(U<] jH%]Splz pJ@1:Z&vd|kM'?󲲾з~ 6 L?~|ԭ: tk|VV\d|t3:LG;g_Ёt89:fBT0TSS1p:(gsgJKK7D1uӳMG*(C;rVy\[82 t U 3ϡ :ZzVI\U8(y행I*K 2rݕBzV\O8#tBͳgj)9м X І2/snd2xñ;+:=Ǐ[ *"@)Y%`F[ɣ~Dguιtp\YY51z|q$s:QWꐋR[ *Xe3vhGMY'i{;6:Ki}Z|s3W/~_imDرcf!ضm}vƎ fxF zڵk  Pvg :xA4@vi7@xF ۷ LA[c UmSԏEз~ 6͛7 *$@`rkTy.QsDFA4]7[R7mn^ԉRUh4@-Zl&ܼ[u 4 6 #Bb]8wzq4v @E{d!輶頜yv @;|z`Ky agFEvkA4\tL2 挌 *$@ZϞy m۶1@gއǎU6cGP`^d1@7773vhYHή IR[nUfj)90VV@XD"a+@`F SsKr?={M2^8~R/4,\X *`E2U*E[VҳT0rӳd7k+@`F !Y1Fh)U0~cD䒭504uX *`KiikY%1.hY;U7f1@l9Gu'=F k ,gxF9v!= Ƃ cvgXsh=䮡wnV B| R6e7@xF]h:ߐU<#Xсt89@ީU<# X뛕 DAѐL&?GtV3LP0vӳAQH$ʶnݚnV'JrV hJ;m۶lsvю]p& |+಑ܹ҃s7oз~ 6?" Lc@XH4,7hY[U<# @-Z3439fh!뚱U6c @`rbVٌ %uƖSQ 4}&S 4P LbfP2^4-JV |mgH\qq#ЀC+.h@=fzVahE7{Z%1.w]v'=F4ບ)ҳ`, @6gcB| @&2/sn@ KήƊ|(`oV DүfVsaHc~o?Oo^V?ԯ6@ƾْs:QWꐳ cRtӱy.Q @Ee0T5sn,ܬ]vžDGe7u!b3pwlwm|CSз~ 6dw7 7u -DM4=={M 8+10\YgɎ6nkO+mʹ1g E浀ڦpH*Y7zvwߩrMhGfҧBH^ӡ nrdHo_67oD]M6"㡥g @a[-ܼ[uFRk*@63ϡ wOr5Hü{}hh \ kʙa̹Ѐ *wCsaRk5 43J^S lX4M^S, `n@gCäd5 ) %yR9@A2r fҳw)@)7ӳטN+{XVj)9QTz뇌h,YtXzZ/: GSc gT 9Ze @ͅmVJemk2@o= @䈙^S2h2={m4UU05c4,һ}VVi&;JpVY7j+={Me3vp*@VnU6cWdTX *+d.10g1={M3p6U<45Wh vӳdgvgA&@ @*qnV +@8nV  @cw+ho$O/N4V߸}xз~ 6沴ivw&;jK۽y.Qs}B*@񰛞)][m}'|$NR\c)ohMJ׍xy}S]{ k@ Q(~DMuHd?"LrRk:umks c40]cDMuα *@VXH%=#g\ni:f2@7R9 +={Mp;$JoU644Whyk7={Mep ;icZ @Vb`nV񡜴П=۩XVrw*,g gއ67ͤg )rsvw?W̹$h )rY7j1@OLr5vEYE]*ۗmg|VKyeWiӳ4#&SVfv:@0D@&GlhY[q?={Mr=;5Gӳ 4PYI*5}#n%@T.fW>\zVI@ ejChY[]qqҳ4PXWKzO*24j+@`.fYeÑ-W]N*/sRNsh= @r9@OHbhVzbvKC34ෆ ngU6WsB97`Tp-=PNEmi]_+:h 0gv5UL('a~zbz2vTk}R74]H*#30;i7@xaw%ǿKtVӍxo }W@ic. DDϡziU<鲧[?TܬNU#Rjv}t43oE;jwu¥B|:hU0@{~!V;BzV ^kyPV;6diBsh=?;2^kg4>4='vӳ2 jWn  @ΏdA$[cEbgH^ΌAZ߬ԍDy 8dinF܏u#9@}h Es˽M矛ՉRU& 0/@`@bh~4$]v"6ZKygF\ @槗F{'{GZo\ZQ]ee}oCJh3mCff蓱 džs ={Mu/:7s|MjG{M@S/o +={M:c##Iϕg& g [mx *_Y@ gh%={MG//OO7 v[V~U؋{^t$4mɕ1 E|Omh!xsU1Sph=R?f+@`Q8e1@l E겭5QoU6w+/Z *;JJVzV*;h@/X *;bQ5qVb;Eh7f1={MGi,V'lh44?m7@ ǥDR}@{_U|ĆczuJV> @ѱ-h~zV; @Ծ|nV.gǍ4x_U|$et9rVy8 @_:.3ng]4M^\Iw-=$nhΏt'=?43ct!= nxDПC @4v&>4=ho`!+B974n,mP`k@:7@ܭiZOUY @>XonV9jӫe~Dguι/4~v~ ӳ.ZGfu!@<;h1@lRm67k  @2^ubVٌ]+c7&.H|ϛ/+ }W@ic@"Jx1[Yl}?U0 D|VV4 L_{JzV4 dq+Z2^{-ӳd8.g @2rVy4-JOU pх=?q-=$S/os'=F?x2 h ?34߇ghIÆ[[cEbgh@7+u @"er8~Vs4,?nV'JrVJګ.ʋ;lsvю]p&Eg7pŽ۲qw~/}B6fژ3 4 @h 4@q&p%IENDB`d3-drag-1.2.1/img/dots.png000066400000000000000000000775561316474147000152220ustar00rootroot00000000000000PNG  IHDR iCCPICC ProfileHT̤Z #k(ҫ@%@P+ ,E\"kAD(v .l ;wwo{\a lQ'#6. @zT3׿mt4S<7)r"7)4sl.]-(+Q.b4i>&2 (lw4: ʖ._-ʮ6:22N!o55l,a:{[9tРçC׬6miCfϝiSQ3a.;piQ3>fEΰhi }~~KIY>3epnJd pVZD/i^$,cFlo\)=J&yH(xa0=tt?i>+'Bl6f8:['T>pO+TBd3PA @bh*R~NCPtF7g)"sa&‘"g¹p .+p3|<ma"^H$#"d R#H҆t!7 ahDa8LVL)ӌ b0߰T:eac<2l>[m^`q8gspF\;7*xS >gGaGE& B10B N"XEl# 'H$C )JZO*!5.ޒd#9'#ɟ( e!ELFSQRT;5MF^>~XȰd2kedee^ee=d˞!R(g %ǖ[#W&wZܸD>C~  > \< hME6ҪhhÊ8ECEbb11%%[hJeJg$tn@g'h4g˜9s>()+')(7*(VaTiQyQ5Q S]z@K5E5g5Z 갺zJ~B}5^j55S5wkբijvkzPbx0%NƘXBG{BP'JgN#].S7Ywn^*zD}~^.1 Z * s Q܌2*n㌙i{M`;2)tiL`Vivǜbac^o>hA`bj;vfignYeJ*jUkku-ZV׶Il6u}w7؏:9$8;a*2C[Wk8~rwv:sg %ͫ7vp2\\JܴnnOuݹ#G=^yZz<.^vrr&+i%f%ge*UW X]Zcڼծ'O[ Emؖ.oeEw69o:g͖}[p Z~zGK~ܖg;p;;ntY[$_[4+xWn,sض^^^IIPI>};})M)(,k,W/Ra?w 5|n_EsAeaO~bTWZ]XFP# s;~d{=\/=h1c ~}"DIɆSʛhMP汖Ik\kmmMXRsFLYϑ坛<{~]Pǒc/ xe<_qrטZ_onצ7Z{{wp[[ݎ};ܻ{}?ău =*~7%ރO"< =/yOOGFY?;3;|/ѫS=;6Zzַ*okپ>ć*k?1?u}<2 KWm=̘EVANNM 8;@MOBK;QB=4Q)K`iCY6ӵ(~| ɉ_fО9ŧCPc[s W"LBOYiTXtXML:com.adobe.xmp 960 500 2rIDATx]ݡ8vt@:Ht@: p:p:p .%ݝȲ df|' ~G}e>kBPǟ(?[B'<B?|A ! U[W)ȴS Ʉ2!zgGiek![?͕ !۾c,D, A8rBaζlE&YlBu xß\P K[okl%\T6+Q-//GX!ڏ;e=o [\SԊeJ!e؆qx@R_v8׺g? Ǫ_~x})&)Ve>xdRKv~7G?E/XVzPKfYv2~~I=~P8DQNCg6`'G{̲S~ǜ8P7734~jE `9>?;SH"h2SݧB;8Au`P_e8d>!:"šͽ:J&[rq( vlBDT D 0uer.(jiج.RךyJeH w%;cZx:Ə9Te^?1A+a`KnB:7(A:C D–޽8~G"B?.k_gǪ'!2'ue2@&'ڳT°Ʀ7{Ēcyp9v}6%gq\gqrqaYDx8+%f4x]n Z+ǝY9i13ެd1p"k 4Yn}Uik;cWsk1Fpa8?QFodо^Ǒ"p3LdJ9SX/sSuq%jߨ4+ҟuh8 g9ei4^pq^mrZrkjnðWt`.E-˹b>U)R }*SuЇ7JwmcS[$LW۸ 4k_/ytз!2m[K&қa۶Fն= wڷPJ6sTq_Csy+*V)gb^s7DFJ` gd6y1"3}ig6ϫ5$|g-Ō#I iJ\~ujGKDXp5S4R#J=0'0ryתsیfWՁg'FH! &GTBdvNG'[ym\ w<2}Jv>0V[ c #45y`n34'd&OMuojVN?eN L]!hd +91 HaLa/|ʿb}0,b 2Ja?Vpv[k;-ytk"okbU nwb=VeɃMGݺS{뺶Wuyk&1 ē_,Tm8Cz]K0=?u﹞+5Zʼne[_jݾĝU男Z;!}z a#0d82fߪAi+ SY.M~5.-kd.Dk~oSCw}/ˑT(I4`"pR7wgN!uuxSǍ= e|vvS|A` ͽf}ua.Dg}9%f67tۗKI(6ӵظ ٜ0Z/ m|ϰ&BT۫ ](wug3L6^Lf[XPmjuzBP^ >|m_EG[ y?; lGJaJ+|2솷Kx;Ӄ +;ZXqƽ>8Mmر0z 8CuWw/1]~"s%'@k%3UU{Ч>㥼޹>cQww0tvv>1ȧ?V%#&.9%0Z Pkhaqmv36רw3)F"SЪm'QݴN$BIwJ!2wl.4! /=_ P!Dnj|nDbR*.ܫtͻo/$j *f:Ql+ntg@ ӥSWJK1)&<^r{.ʜG36 Cr9CZ '5 wVC7PY@szI!~W3gyD}ww3pD>C*ˤ1^ϫely hVͰWZIh]pr 2AR*E)߿2k=HdT{FС_̯,we'ĺpA?:i5!S97T=.%NHQP]lO)4 KNnQv8!] qeI*4G{2u,>&kBFJfʉ)؅X5)хGaSf{U 9\D ]`;]'|uI<ra`2AMr- qQ '9+9 s f8<4*ozSji/:!LXbX% 7ZU[-.ͭlH3rXdȴX-mjsgMa{ʼn6h N?buxMCmȜmQaзG3ɷX2"R웞jo!:-:"Zޟ~a6ub2, í(pz0s(M78,LY@3U#Nf⩧Q\X-Wf.NG˿4:` tV&u W2|he90-5}\*.ۻs*Z/pXiY CȞ(ÀKϳ"=nQw!J |[еO9iWMW8nuV!S E'A qW" w)ٖp{wb@k_ІO._|JǦyaeٽq.f)[s?F:CIsuޢ}aj'qA8PtW vL&P;6ndo,j QЌT>Ck4p@¤E&5L 4 j2T$Oa "6PH/n伡v9X'0gĦ,E@X-Yb[g,t΀w3Eu:g$XM RJϼ^0Yggs`TK*!6R&-y T{vd`c-𱹮5EϮرA%b?/YFܝ h]i%\-1|tؙš6 @nU^.ႁ4 +jx~_ 2hcH !rkf. ꂭ-ؽNpkV׼2Ɲ79~0ќM&53˧!LJJ}Pc\ֽ} $~酨0V"밧arK]>.0Jy!533%& 6'3N"+D 9V8k *ǃ}&L P2x۠fLvC*/}NCMrUx&c@>DMkLá̷ߏ1Bd|J9iq!۪MEK gZz'"ݾI2){փ9Nr*p^7::b )"DB/ 륡[P9w, ;'sQ;N/ D;>xOsHZ}%~SYf)bus :'p~WS{Y.ivn]d}C7[8ŭ5d3ٖ"6‘LJ*ZEwp%W_r%Mnq+jzn5;Owz8 4Vy0F8l[k6 O%~nā(euq*i Mvr`/(-G?Ufe8Mv͠2i%/F+uTzCεCiEv #?y4wUacKYF!46UD,KA !*x(UO `v c<79i_^7\eκ"jt5S6Nr`g?)"o 6ɇT6=c$sNz$7Sc91 GF-dw,qʫC@X4hȠX g֑)1}S)cjQ}_Oo3Scm.z=|v૝e0m܈`E&a,iq.տdeP~W3DOQV7h.hERHZdVX;WACN`MU`!Ղ*Au|Gm/Pspӊw:_;SCׅH*eJZ[ Ь]hVl.!epF b1c5Eپ};ΐK\KK65OwYK@`|`fﯠWoiYDn%jc'rNk^jM,uG>= uOweQ&L=s(~͹ 7͐scMd }PHM[Rdžd=U!7(3Q8 _<;jKSm=Ȼ(KbRN>1OU|oQaJ_2zj[3S p#x]57j 'rd5CAW@m);;~{M?8TQx=yS$mGKVOSRYXqfGTo?ipƚ} Mw~E4c;JuK9DVs`?PldSd'v`L6gVtN 1(@"luyAu檀ښTrƘ X^=IbG.Ee TߚqM&_5޲®8+_r}TD_)M4K•!%5SNWrB؜nNM2 7VđD-reN9+\U~ Cnr+O±U#JTmWxU, fҫ݀4,tХ)?FFƑRyJ:[p8w;4trV=Z _NM1"<6VͩʼnC)5WYfpɘM>zdNC8@YpJ`xLPV};WkL 쀖8q$v -M2׉+;{v¥{@pMWF[ǣhdL1R(ȇUi>\WMɺhvfWygP|GlwJ$ˢ;}4u2(sv*`.N{r_8+f:=)+I54!gx WgᚽSc.\ ~/ctmnD79ӳ*aoy-텐7Qjz,n4o!}vv'dv4-Z9k`⌯J SBP pP~WBa(lM>MR\7p̷9PIȋh_~qS?+uD+O`gB};{Bia#!(4"Er+ 2+,b'ӡ]1]V1&gVu+_Y:O6%]Y]vil 6}zJ3*ͫ`lT ͭ84w'c!{U hةS1d!*!:vͶꟓ9ᤒT _M9k$6%.Ϧv_K)ѱwM-ݧI%̓{K[j( dEcVYOJqliEΈw߬R+P`uIH?TIi!әj'_GS1gOqK _Ґ[\Y*>Ȱ*_ TBd |JpZ7*!3-fK,VH!!ҁ<`lOSx^j4l)2Hy* 27N_beE>,JfqW =:᫕Z6$UDxDӺQhxV"U?> &rdCgP0 PP*iK&_C:<SecHfBT|l6sE!sCk۾ϱ hvΔ^L[gXu)MnLr]׌1ZoDO`1[eB܃~9>Y|Zyi$%UF *[=rm/l\ow)<`풳A#m-Vj5T&53͌1K~cecյKAۍpFsT^Z]B >^C}a:WӦ/`>~@syZ}L:bXC5>3܏j]`JZ|>p"^fꬴOU#V0qxi_A7S FE<7]\?޷8ʀيW$,WFSnSY=kݯR5ȣaoz S({IZGlx lY8)bbVa5z,]ޏ[y TVT>^Sn4e7 ce u\T!^`h|p3嶁ㅯ^_+^Ֆ?`ҩ>#cҖh՟YOT\[VR.7rxk<2te!:^կxd P??] 6DǬ-Mx! C CGL6Ȧodͻ5=omp}yA?"\B|l3a@s5qsTv԰wn RmCQ"iC=:q3;%=@ ]h2htr&r~rCjVPzs"knlImA+(R5y`8@6M)a(P}d[Gz90LB4!}C\NяkzFzV[Y3]݅[\} 66lj_׋ r>kE|Wt^v5h{Z>.w}fO?o1~`nx40̜AgDͰvUxs1rRRo,N68~J"[\hF<*!֏X{.?DQmcrӯ`s5屮T>_1&5xs0ͧTJ/*=᧋Mwn2 +j9wϸOs1uA [enx%X:aTX9Yо= 5$2] YfP@`SY~Yf.\k@y@ ]C:4~+J]Z4vf xuTpZwWۃGu]J7:zá^Γ]=L}$uqwXY&Nϔ3;.3ضSfr-ʾ[Zz,ɝ:c!{; G|? kϼCx;3٩`Z湑kY}I%\1W;*>BVjrxӺ#ֈRWh~}(:DW?ՄeC '(Я\cr\4Rzy?)s2`apwr ÌWt .6]aa)8Va3v~n7|ڔ"6j)>Dld+Վ5ELYz ZgA6]Q+''of芇I4V-28"|3N;Ww@_ۧgibW¶V0㥼Lp*Yh;\FeR6?Ov~g_wu.x̩9T钑` sglӒ$o3g@MTv!<>)=AD˳t*KN;{λS)\U(Wl=+~Lr4;o2Cm/_;KRS%j*Nkϴ:e.ZV Uoe*Ho3e)o^+Ds)O9[9eZQ;mpk`fHz=<5+KB<>ў#~?h]"4f4E%Ox7\ ֜a}ubmWq#c\# X6 4ή7JT LQX|&>[^0Nwh)eN!I v qṶhgȕeSB %VJբ8+)-Yv ++MRns Les73xH_pz*,X<smIR_ DmVOݾN_c:JB(WL ୰*Dt$޴R g6 z}N+Љ7qɱwt$p35kr/ĥTO.fㆬm[jp%Ew,$)bU~p|'D_* ]no[h)PM"Ym"6z- xлxAvHb $U^)9:?Z\%tqdsx= ;\(\`a:~@x|1*RU>jju@}ʕkB߳W'11߽8'. m{ D% wsGkb hv%TvJZdDŽk-)&ɮ:a=7@n]NaC0OYY z]"8CU8vj!k壄8|Ѿͤ)=uߙ16Óp* V{A<8 ! zޡY7Gaw!JML|mQkXT@zT 6Pm>,Jh {Cm 6 <>0dXF'yŞQY*إ!~ s\ C66ܠ.t'C)*!#k}2im}iDJ6;~ٻ h "F:pT}[ kh6~3xաZV{I`?׽0Wo' k.T4Ub|ߒNf_J͗2GELxDUAZo7D =&&wO|H[K^h+xm0|e :u(2:߃hd! @g%kҟNRօ0A‘5I8[?_pi!oI O(WW 7%嚬TA-nj)HKh9£xϥ 'z {=t3겳1?< r]\5s -}D)PFthu(ʁ "3-vѦ֗kI `tu?ez#*+ yG'p 6XXP&RÚWdNEN(E}%"Wxec,vυ ;$лm{j­EGG0>V?gl%-BQə$ > k|}-7QO?DKr ~l͙7iu41WUzsܫ 93'axE}{M >D_qRAɞ!{r&2$-]1^A2l^{2BDG;c,kbڛؘhMF>- G_=%tDW; ޡgo:RbHfRu՚b=="Ƞ2p!&\Ec6,RK 7 1/Q3FH-^iHu3 lTe[3AE%VEMHvm>G OB\67mgjn [ BVW֌-g{ϦVC, j*ƿ9[cBa虎27g!r׵2,H\u# .SEDž6z~z)}¦RZG&D% 'Aۜ9q}ߖ=zn'-%;= !]&0#b8z*; Y¸ۏu_Vd\ c݃ /|=]k :MP[ad8aBו76zk/¦CQ| 2ÑSB=;O#.01")Ht{.?eLβfMS='6) !RE)HV}tM5TEkƧZs:/|ɀӉ:#3sݎA.Ƽy_fn%㜹q).KW'rg"N"xoh`U2KRLjlU)PYմ0ȉ/m9ZcUڢ͗#UEhտG70PgLPK!;9-Df:X 釵a%yXHnЂ;`,J|rւb1Ygp,3SĕòTatIF8(P͍C\cg)eRkM8VM# lʠ@焾˔>O8"'rF"`ڋthpN?# Mv -]&61eڳz7%x{dZ&p(Hƹqu4u{<9nꩭw0&54uVX]c`J`g:a! 9!(93ic:{ YB{pa:)s0靷gr!J/ՈHiVK7r;Qcͣk/pN6m|`8KS%b@q{s7[ƨK0} ܥeJ$DsuR2Mk(p|oCܺ`Z%ahp.BL5dE|:dwKf"-O">ݮ4*l?9;O%Ї:j1*""xqOe҅XOL*M\s/&z)+^* y:o"vVw5grX1sZ fpG)bMa24 V B]/y#| hNy,Mz}tBʡG]:ӆV#8MԤ$@H+2e=J-Wz3`נg-ҫr#<6L 3bFDŽϊZM0S-Q2 w בԷ &E  -m ]i `[,a:7~sς`p;f*q# {X7(BO9&L))31{4ΰ ]jvS较%Gg{DčY0jޚ%S\2,)=3dȮeog.&Fd'YGZKQ~8X?5,p\:u98Tc>ь8Vn܍K$*>}Ch`3ս~˼7޼$Z,J4>׬kՇ<Fws\k{X&/B[?Vrnʿ.7^0Wz"q|;8jek#{t1j]M)0c9X N૛[ȳj^tAv^SȞʁauaœSiOM+X:{bc4խ y\`=Cf< QK6aF )\._9 %vK)fqyY~:M':;l O~38L Jeݔ2 F;Bȗ}U[}5oowFL0ρ-C z*`_7 ֦ة"T PڼKt[l|\\1BWWn5톛d2jpzN[JZ14m̅[x-ڪ.3U:@5cz՘gDV3+8sP7?ze^j3Q=D /tcEG.7K!jec}pv/Բ ]J_hzml H^8W_luY8X,\Y2՝ Vժ*MWT3`k;~6RX7t1uo"=*6E|M)ojwI=1P5)kHLy쬋-b0M=;bwY/'܎Ֆ eX$kY:};1,6?O}EL|X *F_ ]@fO5.pN3DBq\0[VARC[#{qSh;ʬ̔=Msqmy[1OBj~Vݚ e\\E7T6xi'+&Lqp⳱Eevf9ᜋR{|^+\ З[!~m6\5Mb׬l_"Zn5im`0_n2a`ʬ杗uu"W|_]3ÍݖDWDgvXQOfز17^Ԧ"՜95^)7<5ugG-h+XztJ6'Odǐxc C-Dam2_1k3t5&ޓnj6gzbwD3Z= Xlc !ɒvzϴ,DmqMkut {`&UjvU<9>ͣ) 3χf\q`!P⣫+pmp+)'eOV6~7Sޑ u-G>)R*\XZ~:ՐȋN` 8:"7%x=@EDz@O `3t<* jWHT!,@gRA%z'rx&7[<+zG DkК.>qZdpAy~Y}qN)ժv W:sؐEj+ҰJ8 iWp`OzDeq! Xbe+k_}]Eu^}5m׹ݩGaŎ\kz%Ox G0*-?Z\䡮c$\E=i >;0K_hwj-k9xW?ymx%*\ND}` N&2:*ǟlg.[0P j,8bX=ґȧߵaɺֻ6#BYX|jɐd"K]if9 K)KH/c86j&?xTXGYQ 4ј<7B 62ew@hiԛVd>R-*U7yP=+WUG+ 1%lcòH2Gl4K KF|d*W{$d]KVOcl=SY'/}| \C@|/D}&2 fu֧RTSG^7\W{>:JuM}Й=챒0o+7WŖ[8W̎(2(N0s-YR-yU3'Iiĸqomzu=P>T (iն5(11Igt5{ Ģu*Q\꺇' ux f< ;}Jpn h"ELD/ dV+dbѣc3$cLZV RfX!%[;)*GnR/}~g"Pʵ#Ñq6φ="Š2߭i˕M9XJsnĖ`Փu͞Q'uO|5Aispp;,=WYJ ӹۙneM.߸a}<W+1KECch1-H0ndCgOi\ݏ2v] Ҧ'du2.F $R}hc)@Xܞvq ur|&yֶ ĵI&W]}QAZ!vfylw7pK>!dxomxv ]'ߧ<·:ڡO)RqqdPE>*ceԺ1AVIu `Tg*ʴL2[Rߚ5d'/WҤ)Ժ~9e7H[W>:$":^#{J@  Al| ny<%xCqkBMq6h[莡1 ~ ڽ> %O_IW~keriCT4©NJa_- 8'QsM$(kNӏJYk$Q<;XLWXW81=8 u_>1&#sf@0p#]1>b/_=4FwRII{dzȄC 4j~<'U`̈́ f0,P0^*]2Sf ЍڪE@労"5&\j^xD==W%^k•/k b[vɢx{ iaMީuѹ9~uWf :` mЁ6!֧ ZX4(HW ĔAāau0t9,=-WІLlrTf=amYN 1/1 5"ٚc䜔=cWX|*#w,E)E\i6;rNqv1ѡc|ؚP%T߼R!bmv]\{)x[dp.^UdJSb'A W9^ ;eeMn p̭ajbHv)QT[uY1c'nN>|K'7`D<]6 \Vv*C]URfb/uټJR/ 5`-M~^X*E寗{,7E _7,kRnzc)2axmDΥ1{IͲʹkPB"GpTh!,u~2v0*AIaq@":1*,U|7=cP` _y/NW[(}/S!Akr7n,%,uVD~0 7LjL;;5]CLB$0z'!>e⯫Y?!I^v/x%U#K>~ߩu~s||9sQ!:\U`1Ž=߈Fx+WfG{7V 1&5I@J؏Tt@Q 2I@!Dv^v@uK@倆-E z:zN]5br"Kħ-:ԔXyXޕ:/,@Y=w+o˘^s}x#WîȨ8֚|.䥾9m]p &qu3l#H j6k݆E#tc q6S&uKU1:4[b.D߿ ",Oj}- p1Z-0ci9 BlN`tIʓ0llnn,wٓ-46ك *3mVy2$r$܇c,n>{fJI]N: Bp?(:6Ҁ_.i&/ʄѕə95e ,*m )pʆx} 7Ż6ۚR؃uytb"vGL D:0_Dl!4Rw/D….Mq<٭ZhJ*#a}~;ި:~he3hiGތqL+6>j9D5BnTd$,,":&iҬɜІ q\x {xH)~ٲP2F"Fi|_>_1Υ!?`<k硁Y|=2LRYУ8'ȯXN> M,ZuZjt:9%s =+!8f&40{ =AB y/@lpb K0*j׏|kJYqlkR'Xs7+ۍ3\; oR5;+ɕ!Nvͨ8JjQ,,ޖCT?DxB3i'Z]#YiZyky%c~Kx(V1d!p$l}; *e;=mD!Y[1!ر}(n~(; D;p+05uX``nћ#LQl(.puF; ȳũ\#x|H롩ɤ|7W#n&2,!L`PgLV8e@Aa\f~ڍTc{!`b J2=*6MIk/`)cyC&_ `g,8@`i $X PXǮ|=7svlW7ǤQxÞ k@ ݊b _}X+"dKѦ7ƛwz;y4;;y0ݎvV}xy*^p!g{PㄽL3IB`\9skrs֩ե׏iBk\1[xqz =}RB)rnT wj\,Ø6EJ*ppˢTam{$Yqf2ҬZ7տ:,֨ŗt'}L-KlQ"Msk-\h< ejTi؛5IRIe ü/ sm[\v#'6fYpYؓ+;Y[bGCuʁ SM6{#:ߩ'ԡJ rp+_cьQ(b[EʢªaJ-/a;u1@(\Tr c󃹸3bU&b:dwnl9wX/&U㦺S m.sv.CÜOjWe"}R̵%Np揁P~Ma?`a6UI|/cr0:3g2pRXsRxv=Rح| R|]gq<5,?N6gVR|gHBY[t"﫺 F>ɜ:V>:$PKyc+QN;|Usn{8ź c477dإtͤfR+J:%K0B~8tvG /.3T kֹvH[ѫػҳ 98G੝p>yfUU#vs8ubI/\V(sIKVj` q<9 `mQ VLbe CbߦX(̴-q/~މq4}DDb5#ePǿ{|7n F@y4`2%I㍈x^XcVfcX3`WBvL#p“oәO@|BH  Ukaz2WQSB3/{_5kmk]N[xɪ.PZPLJpX +0%D%~*q?u4E}CKԾuJZiC钷 UUI3P :|:S$aD?Ú'xsLWwQ?wiym}:4%ء zd׼Y\wYf{'ZIP"?xp[ iMϙ!ٵ%q+Ӈ&:k<MoCsOsu; R$bP@^Om""Ja;~w]m'!G.3_u//#:h^E櫆B%wstnʝ[NК$qHBgrvC̅4LX<'ݧt\ursXn'{@DP=Vt3KpᆃZh@;'xvS4Vt2skzrBWxbPki@"oWV !?[eR?m~3?Ѹox(Sip}M?cO9u.q67nLb”7xrr|#ߜn Qj۠5iЀѕ{W_L{*r1z~M@( AmGzP|?q%VTKCdKuN`b.[rkC~},-!AX;{ѕܺdnFaՌ VZq$t3fWKarNIT&`(gp E2 l˾t}@⿾=ޒ$5[Z-ϫ~C 2]dRÞ{ŀ2r5yvɵ@zmȓCK@jP(Of.xc \!Z$W48 ˳@WFp}{C9AU e0 *ɗUIvlvus^hlcʚ֑fT{8S.1h~XKLB!B~$ `nef6|s`h\Y.LPߟ/ǧy+ŦaK4v/ip?zbOu4bm&.8':\ ~Z6 4yb=D$`@vBTJ+\+> ۃ6_ sz &U|,c$jgܒ`%\o *"05\&gT6-hbن|,9]*`bcICE0Y4y*,#J\Nll~[tq@:Hq6W?ٞb} E[aA݅*EuFĈ%D7Կ> 0pdpjvK ";G}]b/͸@<[ۨf 2h]%iHG?S2Ea5=&a6lb5tV S -K%ܹ؋avrnF;~7lLBT3'hg@.2ܶx{}T\hG9$3C{`knOM)?H ۢX?AɝB'noP,lb (p2DE`\DL?q8P#8z@30[ǶA@ BSОC ?Г<@'s tI CL  Q$p<+ j<=[o&2 (lw4: ʖ._-ʮ6:22N!o55l,a:{[9tРçC׬6miCfϝiSQ3a.;piQ3>fEΰhi }~~KIY>3epnJd pVZD/i^$,cFlo\)=J&yH(xa0=tt?i>+'Bl6f8:['T>pO+TBd3PA @bh*R~NCPtF7g)"sa&‘"g¹p .+p3|<ma"^H$#"d R#H҆t!7 ahDa8LVL)ӌ b0߰T:eac<2l>[m^`q8gspF\;7*xS >gGaGE& B10B N"XEl# 'H$C )JZO*!5.ޒd#9'#ɟ( e!ELFSQRT;5MF^>~XȰd2kedee^ee=d˞!R(g %ǖ[#W&wZܸD>C~  > \< hME6ҪhhÊ8ECEbb11%%[hJeJg$tn@g'h4g˜9s>()+')(7*(VaTiQyQ5Q S]z@K5E5g5Z 갺zJ~B}5^j55S5wkբijvkzPbx0%NƘXBG{BP'JgN#].S7Ywn^*zD}~^.1 Z * s Q܌2*n㌙i{M`;2)tiL`Vivǜbac^o>hA`bj;vfignYeJ*jUkku-ZV׶Il6u}w7؏:9$8;a*2C[Wk8~rwv:sg %ͫ7vp2\\JܴnnOuݹ#G=^yZz<.^vrr&+i%f%ge*UW X]Zcڼծ'O[ Emؖ.oeEw69o:g͖}[p Z~zGK~ܖg;p;;ntY[$_[4+xWn,sض^^^IIPI>};})M)(,k,W/Ra?w 5|n_EsAeaO~bTWZ]XFP# s;~d{=\/=h1c ~}"DIɆSʛhMP汖Ik\kmmMXRsFLYϑ坛<{~]Pǒc/ xe<_qrטZ_onצ7Z{{wp[[ݎ};ܻ{}?ău =*~7%ރO"< =/yOOGFY?;3;|/ѫS=;6Zzַ*okپ>ć*k?1?u}<2 KWm=̘EVANNM 8;@MOBK;QB=4Q)K`iCY6ӵ(~| ɉ_fО9ŧCPc[s W"LBOYiTXtXML:com.adobe.xmp 960 500 2<`IDATxkݸ`ga. E 9| N%ڇ\D(KLbFbR>CbsGͻD Q|Zܨ>.[QB&LnPBP&~7*ٙG0U~Lݞ %HX8qz*y dUq:)\΄ )%!0b7 )y Dva\'y^:".47gQ;RFEo@*N$yp#+QN>`Nm7 &EVp.Y"υ5IlX}]yyC_˧`rCv&y59($&]j Xu\Ik8-hT 6iQyWJ+?ƴvYnD)%r. l'W=-ws2E7RRA-ũI9IgI ˔RHǴxƀä}Z ;k~̣*_mSd;z~nK&OAR7oN.7N(srꍲr56H_8N~L H:ppEm7"|Ka0Wz]l0# 8r4q ,sBɧRYGVQId/;+X ceul% &dl=,z֥ ].sç' vr\zqj>l=ej<}TuL OxӒE%em̶Z%1d  pn2> p1qgX,70wנ#λ܌-6$\u\J[8O-(})M]/*<X`,i_#ȦyIJ'2bqst/;;e1̖yF]OIn25w]X}R;N"uY3.OS_s|x=`PZ3Gni8 V4e`@F'4sƲZ &Wp.:OhXV 4"zΈrY=aafjXV4rR]+ѱeYŜJXXge|Ж]_|z K~ٕpjT.bYrǤ%eͤ\.pq`e(-[ 4T}|dȼKpeśRҰ|gJ2'<_nj|Edӛ}Dn$i_6G=2_~xTd޼sf̹T_bff K72Vpsn#6k.^PKö <Ϙ7Z%3o#wt\W}E]Ql#ǫ| 벺Jv3'5Kg|GpO8`*ܨ"WlR85Fκ 04lR25[A\{ccp7S4dORS⑫ 6[iV1 t- f_>+\W};Ik餢_{m^=Ֆ,\_B,\߅#WUN]?1t>iZR&ht}z.EA1gXO'fhtliHM <-}.Us%kj-XL NE` 'h7.Ygmѓ`KCBѶ\\̸Moj8=)Ɓz+x VQ78;}firϸYNp`n® טz0*_"/x{5הeA2+*e ]ψVaP9t<뭘$Uht]#æ!,18]V1'cFGcў2kpﴙOOO<$[.aD-[Jr7tV6e;o+mDH\'֘ђ9cߜZ^n76"|"ONr)#.¯b5>`IʫV ц>e 59$Ni- q.' 9v\K-&ۯr>ڻSX9`GHcLKCgsh$Ga666"x_rܘ=RP?pk #jVl@ `Z X8rE9F XDA *v(`֎dߑ+xpKJ$IGUsᅦVRuƨJsBKO | tY3IT ^Ɯs>fX47*n]$%Uλ-$|\<*>f׀16tos4i>3i_ٓ(i!%; <4h=33KgH Nf#\UĦޙi>:;h#iAGe=ωVrf g"_CtV.nohhW%~ p%65ģEY\bnNiSۯxMKQŕ=6vnp>K+=& 6뗴,e. y "g{˳r]vJ5%lJ;wTagQ%!6/81.RчnSUdfqvKBS5)N:Va9 ?֑C5"O;%CNV ,E}l(6TE 65EcVRxepNP^1AΤ(tevIn&|jʯn!!7BhV ^ }h M$("@wSb<+Vտ'`K8]N >%w)=%27 vۦ>s/w6˶n޻ phcB uQҫH튿B+@ 0_xoD>7s@HAr/ .I \,IuK ǝPwH\Jn S܆x>-ᱫxEN4cK~:ygGxm <20mw0[XQetH/5i\a,vH_I=㳈Os/ĥ-< ?le&hP?ϿN~|8-=ijVXgV9Qqxi={AvXij? [c[lDѾi ~ u` *X*m.ol1r?:%~oeL0 g)1њK<PSv)Zz")Jrv*}`zVrX.uVRK7 w8^%c1Sx-?ZAuLSsrS~V ɫ sUDdaB3aqX)S}0V@VB-LAb)ͫT fxUXxW>?ɂђAHo4R`ɪHWv6D'\בI0iS?^׋, *' pE)u72+QI}4.gV,{çf9W uݓh0O\wvb;ߋmM-;PvS_Im}$:})cKԅW?̞֛ x Ϸ< ]ەC($`{%*;QIk|m`p6?83L%ºL$0 RnMsTJ9c^Kqɽ)wc1 kz^\byܪ>][L*N~a9H-dBf}E2oxR[zQ~Ν9BOА~Ѻl{l:l'L OjCZےWДun>@` .WX*_9Z9~`yĂֶo^ʉY Θ%s\wSק}v,a23E7Tagx /f@.֑R"?ѽzt&hU[[vyΆYxő9K ?!!fy %#@ A@$z qqcˢu̼ (^,|R/wd (jEwBW8UBv'ܛD/<~2>3`dob'X|vD2UTg8xiU7O$&+ J+boV@A+xug?JjC&Wpv$2 X9aj۬R (m~qyc$5ԛӀaHe ^ǖ^^x5-Ҽx-g-?͔L 8_—\]:<~Š/Gu;M>/]jp06%ǴhιеtWh>q[/Frm'`O ~9׶6|cK$%w)LB4@BI-iŃF ) }d4-VY8fJm%+W}&"$>!s@1,Tl"gx9Ѝ91Ba5mPyts,4#YMs+w iaE*&g>M FLBo v2=N;p&KO,י 罬 4^ޡ>S[MyNj`($*'z?2}|GX>2]cF0|:J '&{h1'y1`hX3aX5d40yݢBuNo>eLw d՛Y0iaXӁ{3 D03 1& `걬ЌQkUa/rK 85{K@JH|̑β{@ YT/LTk0w%8ִ5/.ߟvr4s9WR1yc`^3睴%~7j+>'U̢4pEfhJh~:ۖՎTroV)^a-zۗڅn)Ͻ~4hnulp# nIOu.{;zk qMXKp2| aEZU6x]v?{Bxu禘G "*ox/#wqyx<{]WyrbB0 ;Jrtɛ3BmUBia;wF² cmZa$MVq,<_ޘc^ ?5~W_74>^m\}FU݂fZ0 h\xcD/3"Oy)_obHr$0ކN.Fo|)#Ppt?ngxw0[~ǟi;D1ʰs͑xwVmtvQqj:__C)߬ O3hP x~dSrSBV^AqvgmِNϛ^_o :3|O~h_)"n OsN,OU|m:?ѥn6jTNIce\H =R4a~WNEpk=NHˏv0&)aX_/oӿ&'H**1G_uUc,p:̗0Ԯ\M=az :R<{pXe?̋'j~]XN:Y!q[EyX8 3PLi8נE yZ̫,hz E"XkG"_lo_XS7 c-ϒ60YdP9 ~T A?7X[WÒlO wtΛ7pU=y~8VW\[Hd_xQp|ƧD+"]E\lk}g=5 q9XÆuy_0zʽ= RkHf8}n sٛI%l?"@РnqZL3kq^wc-+U,]/% ծ߳GXN3(^Fl1θԤV2#Jm˒k{ʉ58gA#ǖW,TnvE0ɚj#e5X=W!J|"2"`\r0q=-vy] %оՙ\~ Frj8#8p&[L(:' @7kXRR6GpT֑MO/&bie~my@`(u |bxٵJ!dy4;O#7çۓ>Eh*2$Ί/ao+:Taؼ&PeJ'-s%{&uyI7138zTTpZVd1jTU9/ j`pv$i5K NXJ{!{JJb59rfl Z'pYϞJCԽ"##”2'+0pZ?5Tˊ6V~fL `I~5(P6Wn2|2>מ:'t`eK7}%)W\y*8$Ԃ˩!L`,ra$g/E=Vg?"%=%~1}Sx_C_L.5hAC%*aS7;d^W2N WL8|ZzW{yϡ|6{8čV컩I>n)ՂQ,_Y+S2 |eqm;VT)cL(bGkN]UXԓMk;MlNޡiv&$.bJqƪGv;5/^2y Kط*. wk@g %*NV'8} nM{vWqH h'? 4H ٱ~y>aÌ.RGsn %JebY;EݤNMB25'sEVUkmb@s~iX40DRWޚn6 9`H^R`xMti= wT?o/P%6 WMh-Yd32pxaFqt(q1/e+ hqOITL;}eT1z~)5PW)[‹<0g/gC{Y#GdZDREӻ +Vy7sSdpg*xjfQ=8óF = U[CZP|3' $S]8qb/b`ْ&Sy,/1b%afLYO*Xy̷䆏iR58[L~?K*HHX_5{ g^/ZkD1+{I*@4Qr9/N"cʱszk30;X .0#ڑO>PV͗?gAB\ޟ=.Z3)5$tWe9ÚHyAE#Z:,eFgڔ4\)n^6UFt"fF7sl \΄J{66,R4.v8}oQAɁzqm )j7Ɇ$V@ԥ={!dD;ZR ?:ki-T)2i΅![8 OoBVCuKQ08RVO%FSJX1mM,7oXڢXah61s߷^MʆXjF4Qܬzx{(ʦXڈV-vO!-› ΃k=ws'< L43ɂL}>Es9IcgLo@";'zƌ`CIc,<;/\2T:uǓlTNUXrS"m &obG-E#kSHeY MPb?-TW&U5]hdLތSN>V0Ok5" X/|@-8K(Dh0@#Y3}=~.)} 0Y C3%rI#k)I`<Ǟ`D9N;MD$GҶ꯯&Iʪk*hK" ` U* :'Eq՘ 3%IpzΈɔz Yl"<!VZ+Үw8ZALr'? SoO^WIeB; dy'tC嵗T\"Nr+B)3u7wT!Fg؍d/02t֒5v#%Ʒbl`e{0K][K*W %5܉\)~?ci&@i1 a${ךASl ~9]ؠt~;dOY87 Py\jWN:g`Ƽuzwav ۜy?R| "Xu/| Y,5~h3R0c"m3%/+*RIǾ.]_Zl 4JvV 6_.f6rۙkE&l*'Yx*"Woš[?@"}LEY{Q-`& o_Y35lukyjNQ]|*"ʷZƶOkn$GevXзv͜Wߓr"xWtA]aMcS3(kRapn<Χ0wCt9(kgŘɥޑ$*VEM(r6M[#cilcoQ.H!= " lkAfM(^WȂ^ڌv@Mx-?`3BeY5j8%D>H Ġ0ɆG %d )adR45&IH $$ `%% R0v%u('Ll>% ` {nFO&٤\ ad"!0Ɇh0FCJ*$tˍ11LlQ '>!&I&"QLlOG\H&I6#i8*"I6L1LlQ8c1=&!!!IHH`&!!!IHH`&!!!IHH`&!!(=,jIENDB`d3-drag-1.2.1/img/force-collide.png000066400000000000000000002050571316474147000167450ustar00rootroot00000000000000PNG  IHDR iCCPICC ProfileHT̤Z #k(ҫ@%@P+ ,E\"kAD(v .l ;wwo{\a lQ'#6. @zT3׿mt4S<7)r"7)4sl.]-(+Q.b4i>&2 (lw4: ʖ._-ʮ6:22N!o55l,a:{[9tРçC׬6miCfϝiSQ3a.;piQ3>fEΰhi }~~KIY>3epnJd pVZD/i^$,cFlo\)=J&yH(xa0=tt?i>+'Bl6f8:['T>pO+TBd3PA @bh*R~NCPtF7g)"sa&‘"g¹p .+p3|<ma"^H$#"d R#H҆t!7 ahDa8LVL)ӌ b0߰T:eac<2l>[m^`q8gspF\;7*xS >gGaGE& B10B N"XEl# 'H$C )JZO*!5.ޒd#9'#ɟ( e!ELFSQRT;5MF^>~XȰd2kedee^ee=d˞!R(g %ǖ[#W&wZܸD>C~  > \< hME6ҪhhÊ8ECEbb11%%[hJeJg$tn@g'h4g˜9s>()+')(7*(VaTiQyQ5Q S]z@K5E5g5Z 갺zJ~B}5^j55S5wkբijvkzPbx0%NƘXBG{BP'JgN#].S7Ywn^*zD}~^.1 Z * s Q܌2*n㌙i{M`;2)tiL`Vivǜbac^o>hA`bj;vfignYeJ*jUkku-ZV׶Il6u}w7؏:9$8;a*2C[Wk8~rwv:sg %ͫ7vp2\\JܴnnOuݹ#G=^yZz<.^vrr&+i%f%ge*UW X]Zcڼծ'O[ Emؖ.oeEw69o:g͖}[p Z~zGK~ܖg;p;;ntY[$_[4+xWn,sض^^^IIPI>};})M)(,k,W/Ra?w 5|n_EsAeaO~bTWZ]XFP# s;~d{=\/=h1c ~}"DIɆSʛhMP汖Ik\kmmMXRsFLYϑ坛<{~]Pǒc/ xe<_qrטZ_onצ7Z{{wp[[ݎ};ܻ{}?ău =*~7%ރO"< =/yOOGFY?;3;|/ѫS=;6Zzַ*okپ>ć*k?1?u}<2 KWm=̘EVANNM 8;@MOBK;QB=4Q)K`iCY6ӵ(~| ɉ_fО9ŧCPc[s W"LBOYiTXtXML:com.adobe.xmp 960 500 2IDATܕc$DD"%E2JCJCEIdVhP]4HTR={^9|3./}Ȳ3di?@` 6W]2(0CմHM4hPQ WsfLy,%)C (|\aԎ Bh;myAj'[Wӌ)mJ>%5EP =2YWAf`&0TLg&!Co #$ނ6 A1a(9\bx\Z-֦wlo՘ERLK,cH(YJ%s;&oƽ # &;NX||AW_AE_Bbh0Kx#X"Zau 'Yd Ut$zh R,Lu)b[giAg$̘(M%ᥒE1:߻6I7ŬSj+݌Z:3,'AIij9ėU 63?u-jG㌺PqN w L =O$G!)sC,Ld1sE7dxlFUq[0Jtr1\f@Mqvi4/k)ϹJ0JH Xm\m1Oaa6{6U.OM &z@͌BH$\$6ҙU v(V7"L:@A%˫"eיgLsj&wHZՠ`)G0K=^@<$ WC>d1|+ ma p\bLИK]xhc2e"TdD qg[\`ǟ{ײ"9BE/wh;oOeЍ=ޞ3H ZAC!Iq?Gd/<^1^,fLyP%NPvPqH%l2w$U.UG WzLZ6S7cw#LWa el1y>d^g5r4(0пOL%7ˏBLYce wS5Yn; \Z(%PDc { X-S3D~xnsGCpa<^NuHjoGZ:i Ag˘"K,T!Cmb2|TǸ9P s!-ӞpS4rUcvRƙWA*pQj\j`A0Wľ d59* fp^k-&3nkנɧv3Sg}9 Vd$r՚ntV@#&f0ILR|n^wd&Ybg5jtvVaƼ%3_خY5eEwG "fR[gu6cpAgnȌZ tx5f3] V1Jp9 P1YB}& N 7v<Ι;1gWNIy}+!+lf+ SŞ }7 ,дՅ CPY %>c UFCo0&lL"&l-LOߩf\ դpAÑvLLf C8b{$s lbieh2N|rxoauM 1`# 8VpE[N7L<&C=O15N&dS=Ԩ0]ۚ 9E:s5#L2L2#ߓ)%y, k[&=0?{85*1la0dd|r "? ƈ#=2F{뭱3"4"࣋`qT|AwHu)P1pQ3ti{º`>|}b ᫏Ɣh3k>>t2l!7@!a没=f*$N&6^lg5w~+GBY2Mf _6E T +ȭ'BL0m.M",KYda=i?J4AA̚P!^L_)]D"B09Hk8lc,<;!֎ibNl;xuD0$|mW9ݐ¯Lƈ*WJU($+lb+LON/`xz` {U _!K"fσ=F z২LfPy@RYFB8% 槻78 (WS?6cƹSO*Ԙbɂ.;f[ m<[!1[5ƙ7A"EnB(cvWu9{ 123Nf.#s8Cf}NA\^b~trGEŴPy v@ɄMRB.yp۴A]q& wʈn?is;&SBj @I.PF(dƺG:#[|Y.`-Mછ`_["yB+AÞ`.5ݘ{"[1aO7 2tf@j`he]᫊μK}aEWNg?i2apө*%F]hM9rL#Y3KZ#[ +zP|awk&8cWuEx[]puУ+ }dJt΅&S' tׂj ;Cb,xxa19R7y1J-cO8*eP(iE ,:RGI.D>pq_x 2С+ck_d;diӅ7oӓoR9G6=N+t T&{\g.1 bKl !tɔ w'"A6cjt[L lAIo A)H1d9LK3~s:Rvw z2>w&u`@BzT7xb2(3Lx*҅?=Yק6K8jM3@r%Qq2(4gɩw&clgEQmFo,fgphցf4 qEr*tѫm C1Ug?YG~?l#xz63xkbNIWvA "`V>Ɔ% ZqHk4|ԙ(bzaP`5n2){7D]*~TPP#$ lLJ ۶=dbkU1f](%E$mWulOXa/ol T,Xv(xŶAb-Aq<PJC~Q %̓$  LX?率5;/A~A?|G 泺7L.1c!WӢӲp5X[/H< 5/uT#tjq PpHyJBcAɭ&ݘPrØa82|]`1-u^Ĕnч_zi 6Y3eуA(qPU:sgVIֵϘ}{ڦ{_7FFƕBV90^ïz8C_1c|L/D{i{$ʔŐƘGƘ2"(MWAK;.i!cC!3C[I_ k"lO$ͩF'}\8z<2}6ja2M(ˤ-P,JfT& V_̧qP)EP$C `XUn -i|"̣Ϭjf s,rYI{"7fTEJ 6̽|=.1zN}ePʏ s;:sluL %S4 d_(OQ%3f!wF4sJ9}I(i?AlS0V߃LkMxܡE$mP1Ms>{*Tznćfhۿ[/l8L7:=3N(τЩPp ooIrd"cu| Fd˂p+uA_IRQ퀒9 f2I{43<'I\l (o bԅ9$퓠`mc5S'!̷.Ɯ UAk5M&%`ANe(O> =fQp@2<*V2N?Hk> uLXvIHAfPRGQ .w-ͶY"|6r}bsUIjAnSCs΃6S O 3_2%<0(O~ e9O-$Tх*"LYwB,ƄkAf`aV}+CL& p/TTfw ,&.BbL&L:P8b6g$dv3>+d fCwL(7H*:X^Y0otd/wΘY2pE.Bƈ*ͤ0%8.LZ ULJP($9i0e)TmB\?Ẅ́LJL&LH-Bt;#ϥ[s (i+pu&֌2ps'c[Ҿ*n$BIDYL??b"LB̴*"LҠdӜhk2< ZaՐXlb|\)('FBfc̍#0]hS oJ,b #@PqFf۞oW 5LMf 2e?\0CPIz=(nBHb@ML w'Ƙ`q$8f O U>8ʣDMA16[,8PQO %Cb 9&JPqM2H5A&g#U?Y,f􄂋-&m,Q*2e(((XleJxc08' A5p>-wأ!"Dx3ۜZY'1y ~l#Ә`A/PrY%w᭽p)(4[B* і4CLqCA"&3,!.CZf{=&K:BIP1F!.}S Khri p(>1(XK ^:x;+")b̫;I0f3j$Ã氏-&퀒L%%MBLρTs"jlP@"1ި\6> 0łܩ:J.ǥP1%vV$PH=n3FHjmaɄEP9PҝBPRdHf6fxj1 ̠yFv*YBW:W֙P=oP f) HKr\p t%ޤcȔ 3a#d8tɸP*"b3D)F'H5zn3G+QA 3!7BY *L2]~jj.HaVMr\Nk` 8#ȸIxImXJFp1@&΀OAZ~zvC!O=\59k,vCH!%;AmqtuT42._m rG0h$T@gH,g%}Pr#:bZ#y9|}h%0eT2`taJ]EΓN7B ;72#fX%lӷ;H$Լrc0 f3NL _2q| 2&X*"A[d`xGP1I09fm9>::_NL [`ք,!C07bН1W3LCɛazޜ/7YJL,lXAPp-SpD1M ࣫`*j H *BL{fXogI $ r.bUr1q9T `xE7GB3 z߅&qYam{Rj\4lSN@ɡ sa1e-TTՙ&?6vVvLYmmCr,6H!^gZ'<ͷ^V P-S!u,o@d=c-abMc ~^ve4 ;cr8rPr`µpsga& %&n ݙ=r2f\/ 9 Xw7̶\&%FKCEic!`}PPbg^U8qse"Nb=3Q!QCE1OG-&%[.L uLc1pf2 fgWZ<|>3 ,&$*E͸rØÊ<.̷  zk>ՉÑ&.P`.N~\Mb< J~dqq9$iSٶlРh) bJp}?oeK4,',#B7߀($$=ͤg`sE>[ 7`nٮ9R# _ÿ`ٛ "al] Aۤ]P6C~>ANR/`}= Џϡ+QOW`5i%g#G3Y[]6hN l4A_ׯmSzxjmaJיa  o9GѺAC9NB5! r}LPqIYP nj|#鰫.n ϬX#֜wlfρ f퐡79+ᦏ`.mG =CD,V J2fqqv|Y6=/]̵R=,'EȇyJR{^> 2F(qzEO,(N^#͹n 1+)BK~2v%|ɸum9YK.GZ#Xn?u$maOQ > 'BAԞfQ5\Skxh3>zdҕZOaunXB%".E~ӜV9?Ҫ;qZw?Wex<,T̠?{,ܽl2l#\b K+gbHh4pnT+}GOLdE1B Ўk-&bX!5J7 WG|r|עPrQrbNrH4b(Y8LxaV57#bkLܸͤ;ݚ|ѡHzJ|ǶpYk! i"32 &s] C=|%R\0|akd/MP1)dgЊse1(jsYU-̴R 4Xm `1 Y~Y<{6dm*(?f,Dd? 7:y*dTHe11 na.Q7Oc8~,֝Pj`1ȭdc~66As_9Kg~o?fT42Xw>  v~ ܛL3/Lf,01b^ 2 P!)N݌=L18 J lf mOy&5{X֧~rDFK~>g\KdPz79-=PZc,HU`~>d R/L%&PasUPQ[g6-0g{3{$gΤ_ uN,eaW(OhAIo&!3IB%oM %itoy+hz4sP2(1ߔA:t+S̻ 1AV,' OҪ# &Y6yd)@WBo1 Jg`$ӊ5;DW&/Yc^ %ȡ0_2)4V3)\  IOd :<^(1gFQ&1Ǩ?R 1%~qAEu%yV)6Ŷ գy#n[ҮLsk,ҙM_f@Lfr2[T h$EPbކ̰(xzݡ Q%a+!iAL7B[3c} Ua^xIeP%IQ "G7d|MgAYօOҀF> 2,mwAL WX,QtWCڑ=*4zx wA ׀$S{s$ջqyfo᯵`d݀Ge?O? aqVhw}khed#`L vNݠsƹ4q |.!ުl[IH|˸iPY--$i쫕INP׃Sn*uΔp[ΙI2g#m!&9fѾ<Z-0F r)dX~ow>r7 rEHHS%cɘw ѭ/ui^3+,Ƙ2X?gGYl&9`t _f2 uY0s$T&Wz/38ߝ|#۰'lӻ@jM `>(/S󄧶C>$A4W o,aFҴDo22t%um3p5Yg(0FԀ6X_lw;0-aR 3$N&ᣇ`6jQ#4lfgK$p!_]6/M-f1PSĘ 3Dgơ rh xoy$"l$Jg5Lc{khtԇ~6sjU(.c@ 6m:60T4mPr9Ӝ q2i$#@{/3ȦbE ` ?/8L[s-f tL~\g:6?.~a*( %2m;Lrc™w]g~xUAOc#NS"@eBU6*ex .&{x[MZ2$ Vƽ%HT|c 2 Z'kJYڲ)C_EO*4e lYL,~f/vчp޺>]_\ט0JF eBhlэۆУ7ۮ;:3Bi x2#㬃!dq2* fG?rzᥑzEIICLBAm)S1voH\g1,tQ+Vkq[lz#b` c7_]:x-|$B{rd+vg_,M@UtOY_+rU(r-M҄bt 1!Y]]ۮ/Lߊ0L!%lfzrmf]ȝ(%!C=Z"{ P bAIIJdY* T7%@L=S `R#G9:!WE*~`12COcu[\>reţP]n /t5ů} f%_3f4A?C.s8*͕aƁqΗuki;Gb,ODK,q{/Nbomx)e.2L%7 2&'xng c>w &G|l5+DdR$"!QBFiHx앭d-PE(H{q\=q~j^ qzlv?F=zweE㦄Y*@H45ՐU1-3=Xi*DzC!p gr gAcIӌ8hd30 sÎMW͏~Xfw:J8ff!"⿊=L9* rZF!2c&pX} [G4DD6ծg:f5sg1nby׶wb~$IȰ_:|,keEN_L[;n8jT/""8{@$A&D,d ?b9 ksS2^n䆋_+"$ %ίW z` _ V0|\M~ob`Y 39vd"15 g}x{dgÉKn2\x:| cݎ?n]HqY h忉q+Va(D^&@- ^.3v[hЙOosi=B!r'e"/OI7 h=TA14ĦM %nS&:9ʒ[Nm 0@qbqi_3Ko`c1a ˰AFi rYȘZ9$?A`EfCo`Yd57H%0!2!K}XnzeJ"I66uL 0 FSA#` ]vW9L p;l*0ϵ6& "PULy"w# 2AoMyk7?ݢE(?L?!0̞ -59Za^ _$/Dz-X(q6|VPAbl0| sX@-9 :U,ƙ& r#K5D.c 1&T7q sE9>z+znE#X7#P)ƪz]ό+z]7)V &6yT^f%g{kb6ww65k% SND}^IP| Q kC 1z0jvCxj[ n2XA@_80n"~bл)aDֱ3k7kuMPU,f ֱ9"/!%8bSv.}RWN꭯&HPFSnk  XR˺yDoj V=ls3'*VٴO~SzBd K`Cd %c!:ӝ/ҁ] Mn[#4$ᴃF7RjfO\`1-:OhY 7_ssc.K.S4!%0D"@ i pDT, ߋ@G'aDVr+PC?fi|ᄙ2f} fqCf̵ݸb>T4@Kq-Z1&i? G!_q& g#@0 F):5 aXᤩX,y==jW4ɘ]`ֺR @ͦXc08e)fAaz,g͜?XNY`hMR} }#E3;̗8~ᆱÊ[ΔXJP4l:f%<" t }~Iݷv|I?1V A[reIf[bF{!5fl~6A)&xa3_ |Yrni%%xZWv-Z_OjKw+mdjӓQsl^[A_0"H+hciCBџFS'Y$!؎!XLXgyd>vx:i-7Z7 E{A(bjWEj^\?$AR;lz1B],/=-fȕ$֫,Q`,g I}hC-t(<2/:P{¦'#:c+C_7f́zrD&FM[v$΅G-z1{ˣ ,kos9D.$qj,4w~:d8#o(ᜋ *p`vpXC;QCGa|-kL''@/SN^Qs;c,2 Ls˞c\zpΉ1ϬzScÔo q,q 1{5|tK.)C[z6EW u~S`k|찊}ΰe=p|G_tE?ǶEfZ,f.;?`a,"86=8sjcI3:"k/Nvgxbq ԛ )+:7_9mkыw .g%%eWAy~'kK?zrulћ3=QV0wE:׮r786*#Er)De} tu)XGW_OAb{9e e777.~2nY7A1FA=7.g0a&uV,<U̚1f97G7 Աf@+;!WW00΄g%~t}F̡ {4ʴ{ 9Dz[=5OD,e @oCg-3iȡ谂<=p1lbO,F$̲7-4X 85!pjLP#Ŕ _ ) w,b%捺늋yILθCv[3n9a%b*W,:L OȥxU^(rbM*SspDzL;ZƈGs[C$D aVc;,Txk_`g\`aXHr $ zÜރ VRMJ%iDNRՁH)uT[MQ)V"/0 /,nOTk;<HheL:j(T2#I+EeLa= F82 +`)9Ԡ-D\ٷG'[csxg3A!b.;>dDztU$C!q k0(KAc%:rfd+Չ2ktfe<`"$WAIU" fӝ.%xôG!rs (H)f3HCZ@kI$چH 4ƩfGVdiWc6#1 "/3Ž :[L3:CY`2#"@bսP؟#ZXŔ!r+ ״ )t149,;rH| z[d"[$߅2B{m$j 4ajj@`ZdLMcFӜ9DDG$y~íƼ&2eeȱ-.SN\\b 1B!-ԳI}hP:crjęw<a+ϴQ|8fe0%Ao"i9QCPδtAb qq"=C._X֣^CW\"wHg!X5t!p RfJ8-Fx7xabIbWqrH:l(+_$Ы'͔rz,IN3-9*43j[V[lkHB$k8;%Eƚ#CG$.QCʹx:FX$3Q(TʯA*f \H$9 #I:w ! $5 /+>hwvXbsrFjt9An3`ȅjȋ!qD.hfF|tQx%2U]mӛ m͞t>b0 MB~7ArE}'$^'A`oy0'r4'ryZQd+|e}h4IҾ:P;Hlg$.btAYʒYk=zeW??bǙĹm~+K,,?R$!p7ِ贞!:L'H!ZMwbʯЛDoڠ =a,%AsMγeAZ@ġs$b%㻦(rS qub;VqP *sԤwX@l m !KEJ0hlyz˘f66=._2@oGҺZG@#ߛK6ɷU'Fg"i($VZl!sG.BsGkB ŭgd}htwD8!NHij2"I2Q:}mf,tzq6n V%Bk9]C2v-8G4[Bo8i܉ ?2 ":;b.-P{GH["O#9SV2A:tX!`2q:"eH?2GL~zƹ%l .0 Ikq_;vʹhc%bq0Dbq5cHl2=: uUĚ".A$)q$n2$:!ؓԩ:I/7 L2 vB'Yt@C`0HHZhiS!Krvpyگfa3ƭ _@cz/$vrD, 8b ^rgp$!2/N3 ?XQV2NhXoaf]!%/%{G_fCn CMbZ$ Q:H2"̘G̱Pi^3l47 璣!T]H44;J q7ӢuyAfD;Ak2vFmfn!!q$6ivDCij |,g-w[_Le%|!x ,srt*$f2f0:j/a82-/!᫟ A vCJy$ 3CNwX@=/7)tWܼυx{So\hk* BtɃPa.&sBo3;mG3B$-N]5$VVBb!IHyLHJ"³P=9OCI̊gfI_92jVlфoúA,Bdи"8^b<}hy8$gAI:7 e>SJV1hB/0E~v>{ٕ IQo-f|%"DŽ)+0A3d Dp[ SL1"V;g)?8!iQp?<Οiя_LzP??k=N LmW*V1Nr#HrK+;"?у]'j|A>P.m;ցg)Μ.Ù8"˹yYķYMwN`:0{PaJȌ1ӛqYs ҇WqP携j /Afֵ+c]pK/je޳Ҽ>ڔSo˴9ei7}vGG'9!Xq@5qAg!S]s%kܽ@͆5Xb4t a=psEdƟhg25R%(6 bQ s$nQ%uD ȷLK@d Kd7!~C!b f2oףu1g#vۤ>srb>g4t mdx:Ƒ矇|=>=~+S[jI+3 k9QdwLkb!u6+YC`])]k&u,'<{w~)LP.:]aʯ9)Fh;|g = Aj`]SEV͎/E+Pi,'\m?1E}@]mz] RH,g bᩧbhf1kuQUZᾊ{#v|( :d5Xh|͔u)f0|ge.s0#X#:iP0Rq3D/`!#:?G翹`Jh< L67?-ỤNm1|LsCJ:0?tlb0(>nQi'LFVr3XU$c,"ShU$i(V=D# s?g#pn_du/BjAg0W1Okg ,#'OW/b 5d$2#~ Lf87HNNKs'vCO,0R3rkthW|wF2zVs#!=Enl2>7LuN wbx %Au諘3Hz1fkg?Hݠ1y@)A}vv4VmQW& π^&BREZZXfOf0=rպr"l4@eA(xTTߩ JL@-g@`ɿ!pJ} `!t:X$EAQRC@̘ELb\1ZXFz)C!Q3Nmc/rV,cJie'!ѡdU#zЄڬc>D`wђ;Ak87PS1chM-oWJg:Bk8ɋ bh􌲀qiM`=S)zD2͝<]"CbW\Fl_u/MZg҃f2kG3>K*2W 7/K(է~T|~,'UO%KG;Z7L3"\ L[vDS̎e ?uE?00dH\ƒDCc4 ,r2y)q|FA&moMw5Y21j#*g}ͦ}sv L2>-X^>@[pDKR3]l2y1*R?;`?Rd%gE) gK4.ƣ}!bC)vC|BZfZjXWBynRsn`6K=dĶ%Δb3~H?AvrYmQ\`DH34g?\w@krzAll4[פ~,8/IfM9!Ps])9 #bN<0Z`u ȟz:wL{XC 4;(jvLJ.:0|j? PO<=: 3^c 6K~~!1ij݅('&CI|N8"pjy7hGEVy$#1fhb'V}v27B3s` dz{(3MzwVSaܩS7"'BKwG[2"R؅s2i u0uDi[௵F['|6a)Yǔi6Y!!q +} z,6}(zam1Z}:wrSVA@UAm_X ܹO:r]8A?,X;Jb.|NhCM];*̍<tRv<.b <2c}GJFHJ,5Xx2 >)jkjK:_tH@&L=$ n6b$DeJl]c2|WSW-f!լs!0焯7BdH,a0< S$XL3`Y!2 kY ?O2ބv똥>~aPlj܈lB_T +9e$|\CχZgCdw @7tt*Z'QлB;#Q.vIc'.wm氏Ƈdx8j(d͔!r~йOQ(?a>xg˔W s帥̰BVs'4ko}dl!+|O?Ъq!CB2&BQ$`f2Le"5-*d ITs^xZ~]œm,_~p?UrGOO"n3ً>_<:ͶY$2 9$@L[MPz+K D'l )/_iS- <-tf^ %c Y] 9B%e),ka103}"r=&B~"}PO | fyyib&TwCi/F7=&Y# )6oMUMTO"ԁ5΅*fgBc;eoWYk/zML2Qi/gP.KLA ?]O0E4f7"H2zkxbC[L}[\hMnuaG2@ .~ƥsnɬ/u\$~f9C[m`};ˠlց*úE=їY?~7?!ְzAd ss`H\Fr9>d'g7DN:,w &0]l 16N1 6sD.&&D;=˙wXy8`Xλ=GQb+X3o-7x"܁"_1˺Z2"'}%4NtYN,k.vDz]!pE:!IkLAb9ϟN|sMb05 /2gt "׳کufϟϖ)5|1LL?2Z^e\й_1+D1 z'L2!rE ᖰ~DE& qIR~^2m6$F\*"(9Xǜ 2euF/ ^(rJYކF] C`NfSIaҗb"U䷐hP͔P8nDKxQ#j3@$[6jax[zet7Yhla yno *騵-TE-X`4F̺ "36xIc3IC!6}L*o|]=0׏qs/P%TO1g1D:mbMbCb GdW`Ĉfpz5r=Z>9޼.:c7e 91>YA $D2}nEL+\,31y~8OXlQ֞7vX(:"0k.Yg a.f_*R?-T^~. pͮLk!YB͌yvDoiDxaگmC}T4"SK!2<]xuP̧Ba܍ba2ߗ:7Ŕ屖|_0 I,&(uE}۠@\סTq67/y*$es 1k D֐:w1]y"|7#N9y:Ko"ӨCd2!b2zo'xe-u4;L@J0{8 u{ u_s Q&נjnNj|,s $W0kD16H|+{ #PdW] BdyDS"-bwP-6B曻D? x CuhVEI=૯RifvbFXH0O2k0D1i1$bSr;9qKx&|[XgoAO|E1*ΌḅP'l<?Xl(sb)䱎.< ys^$gr )vx2BAYZ,5"S z}mp6}y;4jzK+m&9;߻jDdlw.$3B*4%@jpi1B7eek |0LsЙ45DbY .s,&ЛRUQ4k=bbho b!eZ?}6~̟m5 IMsBiwL[%WB9*:S o/. RCuzb-]pEMni2EmsMkLB8$eSpU/3$o 6WaRH$m`Rph;} {˃߳t&ЙzbP}mq.lF< ?7)j$XCuB.kLu?tƏ5ɥ]wEJL{Iz ./ J)n0 Pu$e?yھD-4NuX?xyA"5:=u/Tu&# Z"kDs (%A-1\|1ȷcbZL 5F&$;$ .(Uk|ʤnp;" c h4vX7ϭ{ju*u ΁ĩ̳bwb yXP: g^&C@mHК%. _7'H ϙz3I~:\&>:nmcy_~b/;dP䜕$&3)H c5!!0Y5s*jgh02gñpIڗ@Cҽ z],r 2]l[#Z洀Uq$grH,fvB?Bo8sQ˩6tB`Gw4V3=w{@: +@+&B:hꑱ.34@g RaMLb0y Nd!`?v~(1e#Fa;.P$_9{_4jb>?2MbkQ,H蘠zDY$Gxc(w7d}qB͌? qtiU|9l&#wb+-Q_ .x ?6tuF݆Gk koUcNVwD!sKY9΅sb)!T&'"țWj5K/b̘8Sl?Y";LBO~ֶҚiOhB6vK ڠt@s~G ̖tZ]b"4>$]A &bS/s=gâ/b9 OA_sX~f =0GY";8LQCsD岯YgYXjGar};Я3[Ab}W"\GTg =CYv#h4' cZU{Tupw@{4.sXtgշmV:sHZ__=juy/z5"q!D2i 14s 7}6쒳z$<|0 VUqK&^wIV LXIg& 9oO=fz%_W.A fV(IAk wCޓ]^ǧ/9cO?3d={"0 Y$BkcLsf DBGGΟe^C~cat(Ro{WIt-^xT1eO)s 2Kcdd (1`bFlh#i-|tećQ{Lֹko"YL#Q4l&gsprc!c=a2)_"Oui.|;޼cpxG1iDnf$g֩(0`C_#F'جf15nEsWqA@ne?2ְ u.oSꛞUetrY1sEfyc+jᲘZ0Hl pB!˔I,];ryN|\c]<YoRkCcH["J={,;aX{;[Q}0>z3Xk 7A$F΂hkƜ'>A4яw=3f=Aҥy9µQ̧*oB(5ȡT \(h2Ouo}:D6#۠Hְ:"9qJop3mk$>H]}xC^tL6Kx}E҅DӌŏdB`+B{8d()"1-!pP=lXBPL" >?>5Vp@gbҽ؂E!YyD~!)Ho25nG?rX]bfMclgۮfWXLAc ADl65CMr?GbL7$y [2yq[{A%Y߳D7U!IB 1g$1V(yb1${L[p]rG P'/!!P,N+2A9ylp2e{d5De.h',g}BK5@}r#\8.&ZAc? 2s3w)OEjdʚuGYj7`-VXZ^QW=EĖ;"7B*Myds1VMVuHV #lW5AкcDl4ς)ޫ/vG+cYEɡyӦuARſCc: =R0ޖqD2i]wta3Lr \> \{ `{7gЛI22wZULÊ1nocԳ"gqKmy3 <^հ]|TW/řg6YcXt!"UENq3 q@ifbq,v5+̄ޮqT|5P {qo٩sk#,w4*wBd 7/Uu+ *21 %N"-n["kϋ*pτPGC)ſ-_AUd0ǭ0j h|I#Id:eu>3^ɍe_B1ǒ%Y` ܖ1ULfY]p9~RLrWѧ'}Xl9tnXelmovDC</Hc-gE(p1wA΃F;)7BM!vȴĶT1JY~]k pD)֕0BMp)D7wԟ&/"@5nO5{Aſ+ B@WB,["mVqFv ;:1<[U`[!qrx4+ 3QVz{9[f9LYY#Ex{Co. ";9twrYDY*XHtA*H~qD~%fm;-vDAEO 8f 76I\aXl7i.ܘ0{ !NΆy5RVG9"Cb =j$tvMuAאxBd SV_dY|kՆ2ú:2@P T"63 p;뙩[u~acK@5@YĥʩCzO-9I@d| 9,T5T/4:G rDcƍq5@d>kDzHkt5oA`b,eNحL93 땷jBVS{٥ƪCyyA@5'F3>HP@ 1mX엷S"_̰C=֨: "e>Na[An(.D{b c ֧(u&yˡEu|@eނ"{'F!qILfi:4{842VOyE1۸pq bq*$fOBq|086x@sY?'~a-"HY@uA)&鬼!>c5]v8l;aкۣ>(qB@d-3@#s$3+hsXL;Lf81^+jt{Z1Qɵ+\f;@b9"CǮ/F"?0}T rZ;&)f;삤;X(]s pcM+P6 ygCd!5CIYހV%s@fKcP85U_Zub / &g&e^2g00͍x ǡ[Iz2!0whXlcaJqrp&`3e-4XJC5{~R{5,`?!)C!Mdu:cv(ۊYaIPzc0OxxmlDb/3=΄|&YG"ؕ.C۠7i jn@M QIV==q֊͜$N5HL8=ƴ(f-@Z/B\l>cQ֋K w*Œj#fuB4@_j B7:.p~Ax lcwߝذ -H*: pbU逜vOas,MF"&[Pin[̧^uwX^b+$>g9 à17;*s `Ai,[V `>`'%xod5K2FnBnq82 l gAc2NBfdhdQ/>nVGӠs$"QQ3{QGt_m&54`8'hsa6Xчn앝Z{qg[D0}](ǃ$M,c72orIVBG^+h vCVLvpl#60iD.7;@gt:@gbS[)y"G=Z{{B$.EBqY3C鹑:M F@snF_vGGũ7!1dˊWX)f[ "tNg1p|>q&yCq<ƣI 4֒ 0PI#$SȈ4C'JRޚ5m$\~Ա'sk`s#κAEY*ӶEF\ (cd{E>[eOShg !aA2)G Q ̋>_Eu @ ,'^ǚmtWg?HHr5D4W!|Xs>_N6}u9`gY mxz=MĎB EBGf,GϘ[TG ĝ4(;d%Dn`167{2Ӷ{ ˿VHD07!&) qClH:>(uzgmX 8%zT,dJfYjôe:d; !^'~$RM?.wHnjn:e "X&2v7޵zmG8w:CGCbMG㾀p;/$= _g4|=@e;0o QQBaEVC{&̓,r$v"*XjM֕q8D\R] 8CUPǙcP26GAN*/r710u0(|@\ihcZECa ^'e~dʇye; ҭ5E!qqYGNsDH΄@waиfN-BHF rA;b&}&72[exQbZIk!r/B/uBSH)FکiPj9 Ev@VSmZAo)޸Q.=0u%Y  FgucNC bTAYaS5f +7f} ?MX1ȟL{C neK^Q޾iXYEHb Ӌe14L"@ ͓!ieᶩ`\ V&8c{ ,>%x̊59Rǡeﲞ@\RB0Yf Ť6c.|u`vUMAwK ByL@inBgúx LQn>CYC| s!12[%u?m WU"V@d s>(]ّH%G@ ӱk!0e.& W(bZ;.Cb3aOMga~"eͧZzH,9ewÿ{!vV:@1T3iDf; 8R Ԋ1Wν{i3$YNi3h0"#^ Lzlց}4fDz꠽n*Bd%KXN"ŠDN;+ƺ fì qɤ!>E6l:ee~'s|FXȻ:',ߧ1ά'!293sô$ph0eu<ᑿB[Ҽ a_;0)c?:abxwa&NϬs+%[^F˰`Q"W@bRF#̯Lyd銟 , KDbEav@Wԏ-jGyzMct \(ObJf7Z-svv1V#N9=N i"?oCMngBփ6%c/4An?۬&ez"F)B}2%BxSA8{w4K#x:(vOŌOF;Y+"Ռ?XWKwK4'bGΎe!$cI'`./YQ"3k*D&0ǀlbVus@o0]MΩb)~wcdyxUue!+mD8y?$7A#j5k ^&c͠`~["yJl;%w"H.Ӟ eZc b1 w9SJv4%&M>V6sO@,᭿ :㒖HۣM[X:{;lHloq?;o;vB-do@zYL,:C]ZGCW_]5apR#^Kvkb8TɿK,h%\xدcSm`;, /qK#ta)zݑ17a2)[Y iWŬ!$T5ub1)!C3!7BAfy񟞿ɧ% G8>5Z _2HA5jfDw:У2W-_zZ$} LDb:bƫP<%M6:y$!)IJ!>$N2ǫџ_g"}[H,bkm!UL{ ;1Fy P:I{W, $ngq6zDXr?sGdjM~!ؖ߰п>VImrͤ G5fAM}5{CֻO%nA׸ztw(*tvX&+$Ưli]Vj0Y˝vZ첀z-2 b'&y!bRd!ʣnU&S^N+MN{)gCd"PEr $<.͖I\!e h\Pϊ~{6v^s]1nj-~.kb`v3e}7Nx'Μ0x bOBb"=DW1CoB= "P8NYXh.B|N_0d}O^Y41zfém貉i*橨Ǖ mטo!Bͥ7,o pb3!q#D:V2ǞѮe\9 'f#̛&i۬6,6´aK e0vE~kSO$'CbS\5! m2{jg>BQ} ~zV2رqܳm U53F|-N_yewHznkzaX;jm{M1Ǽ` Ot%D*cp"'YãTX$Q_.}#7(5bg_5c]uo.0ozWBz1bz=nEֲDVXAq27w/V9?Cu:B$Nwt!|m=٣/qhE֟x0 T@& $^ 8ڠ}t^Vu!X/qf` +IQbM1be9.B+ zy"y^})X$kC-P#-X 6t(ҝ=p~1P x@ĠCYnݬVzvb{ρE$󉠛 mEw~Hs ]1qH64 B0xL'B㐥lINuheЮ)pxL7AZqƦ!2l"E&!4D3C{EXG<@PR.̸9keP^*f=Կ+aJ,%m t1'?|tM],fOsgc4W^Y %j߲dȼ4!W6AW@n 3E9z|.rqpqo@AM&gCYS *Oы__~p G;`'$%Y bB߷E[MI@Y wr $te',ϣGfnҘF i&EKLeb\fQm  [$ NʤP$BOvݞ(Y/ώ|oPdt4q#(8 %pq%gymL,4˙7/X,r,TxyR'9*V3'd63]?\#2󏄇JKli͠Ar +xEsfG,iP# fOH|GE\boV/ \x{$ԉ݉ݗ!1äs;\l]rm4'Lҁc&5%앵vR͢qz(H΄!ѶݡCL~DdU X*()׍:CniOEHAIңc b!J~(\U0U0j+?4/Xk&|u,a OǬ#sk"|TA2J|Jc1[,P$RvLTX{t1 Yrc%:X$H |"{{M_mPǢ7sׇ ѵ6oivׁ.L 㙠_[ `_؝>> _ҹJn#y?BHmR0ކ6KC 93bئ]ڰ"#wW;5!(X|*rcPP"oo[,k?l&LAͅDwB`q<iB]Q7)&BaA%HN{b52;Y z_ 7XD{^Z&irő(Qİ5rL ?Q*@0A  ? Үg㮁 aN|Fn!3S117ɽS |r$?יL龋m ݠ+x;)0rX}mA7u/CVHHg^!U?Rc]**M[B y.$߁)6m%ͥ2?^ 7V Ҹ Rc PL#ٌsеiϪWBS?&,M?Ǹ3 d{u& 7OYtc?Iqdsh_6j (vC$d.P(Cm 7.Mf"_iL> 2 Ӑ퐇#Ӡ*kV(DR| o3ٟ45l7i9]s-zfҿ,i6Yp Ѝ=޾Ty ]P-D50ȼ¤o ԚA:r7hgx0jdhfރb&ӻ!]I`(x|*:kS *FH·̤llWmm =63\qeMZ^ڇƺ^f Rԁ__T+ Zѝ7QY~q1=!w` &'BE ^D1d$U:BbI=SCQ/6Pph-(3  Ӆš/,12:s$=mĂbw_94.Ѝ \ȸEZǤ0 m EpZfrȽø|(<Jt;ArE =wݪ3.aEC XJH 7 y`1Xaqzw3.SE;OnoݐkB 7AE4΢=Pr$>TKIMXC^ 0|rJx**(YO!qc U;"xc!^c)l/Mv4~8a&:{B+stuÄ@kθabq9r"_CEԇBœPqF($۸Y B儅LAPq+}L$T 5I0zd9,4>.tM,g9)D>7n1dCh(tdL)1(gN?*8\a*Fcp T'7@Io)Tk0EoRB zܲ0b* P:IdLւD0>fs*aD1:BfMO}7Z;lX aqaqbGf*n$堢M։P3t)`1뻆KL2C4 zJc $1#HOC,b覱T_{ [ 錄v}JiLq>h Wn6o>Qy:8L&-(mwBE.n7)SZo0E@I5`< _M#R'C`x,XJKxj^a&]⃓Ibt?="/;,-gBI3T7ݐ{&BI?f` %Lz{ J>d)bgGWY s 9JtY|{GWѤ]Ki0MmRiB[l"ܹ`5Pҥi4a^GAA[JUAPRǢ%٤9 2U$ (l[K3fAwL7O,jOM$ A(Aړ gZW(?EаMLq &}X^ :1i/ 5'DMglP%$PR$N2)3k@[W˫K] Muz%XĘu2UFJ=i S}tjA2J~+$+,d"Wu"P29MFRLAf!92m҄S5'@E_x[3/MG[[# *7-R rXX~1(vGQapue N%8&BA[P> $7 &93*իhf0ߏѠҡ=fcҋ&4@j&9 *3w0 ?w2(8ᾉ ?g;>* rN۾y+QD,o"ljLAI0yT%ý8dT4ՙ? /w,!FAnїE ~ Z}$7᫁M~N!jfC"&:@$ ?g*|I?;b`+)Q@MP5y58Ӆ:A.D2 %G i?m ,fٺl2Gd$܌m4BK"#<LCn<Ȭ'B~b!U3J?:neXSL0g.j c20d1kt6$}KɵPҥ\ Bd20*ƒjᅡ)N.BQwE1 2= dͤud^gu6]c1]tuj6&sGGoA2p%M)iXDni/* H$ Prɗ;Ic5by3֘22?2Acb;>3GPA(YF20lΊ2F7V8!K#}8TA2 ~XTXz hg1CJB8ƭHP2ph*QG -b& s3\Z %H,-|TacVGz3$xk%do{x`x0ni6,&P!rP2rL,|Z 2,&̆,q.-3n6//?:'9*xipuYUB7lWA&/mAՌ{ rɷbӘCOEA}!GP1m2Sm{!/Zwa(f3aipG0XX}>3X OᯫE7 󡠩ɤ-caLb\.d0)FAEӈ5^E̋ wFR ~^6eLۻ0R<=`6i1)v=LHnRP?S5> 'XLRxni 0 -:nx@hP2 Bf!G f?vu]n 4F?kSl)U,4mvks6;U=ӹR6&_PRU0C'.FًlB'^T0F0$ne!{pcOcֆmLU:iփ(3 Hw|iC4R*cNuinntsX$SQڰYa*ӣ{|;szCw‡AECE#MQmXw.7afU!R !5aPo9bELcpd-?s)L*?ͣ$Pb2myDZ;ɥk:7@? }8W@nFI0ɶ=xH}C,bLu^/d4sC,av^k49c:I1n.st6*^,"&BVAy6iib?t(F0e1|qVU(1@D1tf tAPQS/i0(mA1 o~}sma\ B;pj4G3,!GOVf %tIFkѦ'c]Lb,iy2\&͐mf _YH̄JK`Ձ;ѓ}*`A Uh=4ibA5jA5Bn =`i̧)z]VKiBb͜_r$k[{kѾ4.S eiYW|f{9uxaPqc&lqPQaTt 0Μu<\X.ȕs-'S:Kl/_T8>1D4Lw6Af&K}IJ" ZP>S`(Гp3IPAAMl jL26Ho Wq}0d@'8-D1*F CN1D?̙S~DIE@NL* dLCEv6&L1tBv9TbOl7T` ֪eBvT괂_]_ĵP1J#H:Lx%)8:H9 {i?Sm &񱠗E!wIO  o[Rk1A\T~) YjR[gi˪!+HHm!1L_Bŧ$mIvxڡ%\=`B(d8`m8meR (c_ f}'Jȝ3='HA2g=W-6Tcn|Ti/I5c!3dm; p@:S𵀙, \%d^j$Al=,&} >:_(X[o=?2n}yx;>ޢ`'+o=(1noUͨcG`]Ѝ,vSb\mf·\Oq 7\U$w;΂r,L.|雇 KҞ_^jAˠ%&̅DGQj_W!m!W=2g,f?a sٴB&3̃ &gAI3$.g,B'^nMyR,ƅ.TiDhءܝIA EH0 )@u<ƭ.+tL7ikbܿbPPtKt3~o@j3XC`R,%BX-s?{|W?iZ)fca|ov-X+ܽ`P6FRDݧari7<%PqI]H 3x>JAM:Nc;PKl@! x*6Obmz}R06)N%&3,<7 &携 @W>I@`8ޢq+EY:rFj"[Eim tz7"Z (z[}BRz C<\ s\aPL<9 ^nH΂ 3˃,?"(A7NCf3.(8qCDЇ] ZvIR| ̳H2dXF(mqJ(i!ljtfOvXȮW\=i4@k ?M,G+ЯJA[CůdYP>6CŵI8c JQS55n$:CP8+[,f̠O*?Lƿ{q#L۪[?fK]x},t0k1dFZ$cP<j %h3!t-d91'4&DF]ZPbQ? *ߣ4:Y 5_[_%4:#SOAfY^ ^*/e^ms] d&Cmd=}\%1&|aII |LCMl9Zj,  [dO;H,1ۖpw7G0J60Oi+du4e/xw0o-X.(Y+fD9̕g#[&9f\\%%CCovPހT f3O$CE 7Aɹ&i<o 4.L0׍S iAIdshl-Xr1 Yl8(٢GB4r IoPr21P1\%gt.gtF}xqHLeUb$6C4gDSc{4Tb ,v=U%Z|S8 Sf{* Am$P}8D#9*,BJqڇPrq<0X0i/tH6H [ wDPAzҵpԉ:,fP8 *4/~BE * +!IJF3%<$jL,; &\ 6CN0dCICAv́E| sTgBZ91LҨ YH6r]<Eߤ(i"_$P0$͆+xYxl0ZCfE(8b R?^dJ1  9APbVGnsC`1g5isnP0!PQU!ءPM#&ZBdäِ'hkHn!@Ղ7Pg‡PPa _x(4qNR6 !#PQ$$# 3A/qF@$f tZ;<8E@RhA x U:#g2:3ƢNH;.x87^o3]Q찋f &L0Cݡ`4EtC<؉qοu<ϠFlGӋY;͇7mq>3>"L Rl++\1>38L')H S4(h| 3KWPf 0> .NY/}Q.N_3 z! Gxmv"+!6Ps rTy`z@+9ޞ0(|8H55CםX$& F"ǃ1ulc,r2t3[psCJ.ql@NQܰE&6\E{P0M૓MD&lNؔv{r.|l 0z~hN`o` oX?f? s$Ḩc5A95V$A߇<(SյeTD8kǤ(~@:=~sHFLgӘθ/L1!2lm_L\GLy0Ѕ*4*Lmzq cof-3eTL'bSC׭2%z,4]EnDXfYnm4ӫ`kk=uu[݈w#P6L(TeH=x5cnEK:F*529kGXɆÃ]'|hw&(6#a[F.ߙ,f㙠I.`dv.նrO,skwE_܏Ƀq22%Fov7xzŠ^19H87B&l1n1GFgmUFq@MPSpUyBIP >4e9vE5zρLs2ewzFBä #8LZ"L @):Sj&[Aozw|2L,F9~ܧ,Sfknb4رp,XH;R0?HjꙌBI7qb||,X 63OphF}^Lg\7eʨ3uGAAo&lac=Ltk9٠%uƭta ~=5,@^),4 .mҕkؼFJuμfj``9\ 5 @ I$m104zaDЕ6 !XdT|2e5એ\Ʈ[k!MAms!P2 BI]4GCbtֆPAf.mf[b2e߆Fۘ SMM5`7>Pr?iCI 5,aW mfWֆL ,SF {o }%C 'Pt*AE_Ő꧳Mu鶇x08**YLJHDB-*Bt-40L%[mPqȑ#bdTJAv2mY ݣU$2eMw,j~vlj5LgE4M0J(O~ ,.7H&I>1Ÿ޾YlOu"i%6˔a쵖H(3h!!1qP2 J]'Eq¦ Z[Lpu,b)6)@Ie[}`0BSb(M$߆ Bg\ X CoD^!8**Yw}ᦟbF'HMfLk J2Jԇh`v3 WAOsN˃LT=TNf+j]U6 6bu! ;J3.>`Hj3sY)呷Bp(hy9A?"by?'~m{y6ĕP3$Hil(AJ&=[$$""g 鄋>iWi.Yy Zz,Xast:d.y9"1X$%^"0\,"FA% (9=uP\# ?8Mme:zaw^.G~;l+AE%Kie$cSfB5!áX sɽPH(ib\A}xi ww24H`}:$,̩WX,x *dφEr$|,dL1#1gEW`फ़r쐩Ɛ;dk2a[=x*3l& ,M 9ˠ*Pc7̄vfv_# ƉȧB}r eW|7!a7  > *ɔ3fo6,3j^AO۝&hZ+^hBN&?UsK_OIۚPn fet- (B2% 7X(r܌ X0%z jۘ$>9*PqM 3AWvljo+0_PePPb s͸hH|sARԀ&D{;a+ 5Qr':$P1a2r9&po65>љ+T "8_0#)N`_]r@ӯL! ¸H(h$̸ s2TJwHkf1j_0#>: Ħ=oLmff\-8cLɃI{v0FDP8 R3w(1YPdhH̟%_ bfq TԵHnLg @|y=1%AKЋod H1[JI$IiFh/M5*]I$[+Y"<Ͻgw{=s^NEI .2 >\,MgU2#MJ= vEP=9J|r /i#Qvzj*n\YWUJҘ b@n?0hduWm0n3) .,&؏Ӄ>T$dP%g4PA/O,Ʃp68I.gJG s^zV&^ÂHUgso"~6cuT =%(u* 9J XsŹp;87C wiL*V2e_X0<-v`MTNqd2>0C{,&+!O/LY f,2 (7*zP(y3!_{?^}g2j?rLkc^&"ϊkȋ/坟h2xRWL@Zċb~`ƹuR,`1k tRx8!ot(YF1 *(@d".៎X^.3K skhIN1=yUi(b 1e)r&8L)DL*Mˤ yaxN*g ,(\ %[:* u+\ln3a eV[&Ǿ&jAEd>Z$+ wM;c|sQYQfjBdigZ3 $PbCV,`F{!:#K6i܃`'b.mwoы5 ^:*]CgŔߡd=ȷd05̉zZ QU')@~69òGq U"Yq]j3i#oɯb3iBKtQ}h{=a|a\%La&'@22|2TTfb >2/¨[zk X@PvZ<.uN d*; qf؃i'"߼(ѨwB_PqNR;R#M&ͅO$pVFUxa}!djFÌ]}+cBIp9f|[G yӛUұD_yWIfw`2͞`mOCɍ&eT 6oqEt]{OXTejT*LR;bw%6f@ō6SOA JH̉GUHߵ.ߥ9Rci`ѐ{IV_x;W0K,\Y}ަM"lBx22mEe|JƓ PFq4TӘ|uX8P-OƍOs|ͤQ b1`G1iTf9E23fǙ&%3/nS@35 1*jE\EUbB${* \9c$Th=C+L/bK7xY0}2Ùs̫k v+P].#$~eғPѳ˄(8wKeY[Q .5n밈>%71KD~|lة4<,}Hr 'Q:,g./Otsf S9=h gX(T(|`4qf :R؀k=9 n)6sQr?BIYK<#-eFK8-ӡ ܋|U$P$F 6BY@jL ziN莆pi< 4& )f7((#&P"H/A7s0-XĹ1Y~{Yn"Ab7]PaaPQߦ} T)ItHn}4C)8Üp-:vԇ4@N+,&\{9QU klil;0mScz+()cl0~jj,$F ]:3D-H\ Q%3 mfEnn%LBI LW!ϷL@TT46ߍ fؗBb`{N5z"+&;䎽.& #J#kL+ӝhtzeLZԺC(J~'-;QtXϴR8d2(Jr TT1MP1LR6SXOxb%i`ZbЁ~̲TCZs5 $?\(yςLDGȌ4@ͤH{fFK 7`~|m@J:reP("VԀIjo y T*.(y5AX[? `E]hwdk0& r!u{iCn7>Lp&@0$vƬErBVcaSP06(Cn-) /Odl 9*&+*&}o#<mLU(<%%4F@$ (Hz+H-턒eLX s'edBb@E Y3d= .2| M#$ˠGr1 c~Ρ0MwX̰,a0-q̼3l+)+4 [t T"!bxEPe^^+>s |"7OK1[l&|l=!wC.aIvcy0ݬ3Gukq\\5Ixko2w(YLP0FxIB&jG 2Rr1~&k3`mf>kGe2@QQYk@IrU҃oe'שuLrZCf59r +(iֿX 8KՂ9N=2tI2*ߡ F\+=LSgίXcR T& ֑wAE0IcT0u 9 R0yrH i@ɱUP1JPrv"Ml;8{ _/t1 7sj tsG,f`)F[:sbP2:g0j-LsK[_b0Go\!z'"q[?Ypc}mRy q 0fB(aB Jj̰GYfٗ8抛g2M`[e__CI>*!r5YHA,z0#^8?o'&KzWWKYH_,"f#Wt1 o 6N'`Pr)-ȅbM bf3;uA/N?4y"@M৲4 ]VI0 d $~; Ae,_A/Z[blMdx١=<\3ACf|% 'إ!.BJ4VG;lE|b zq,;S~gQ3vsćpN7J2d&xICj&,܇$P2EUuXdbKdL|.wͺXW-y I-3eLsvAA-1F#P3Sm|r~fٕ UvdwD h#ZW@B7}0^- GKlsAA @E ɐikZA7<^0Xi>!&Bm#TuBkXSCôod G!3_s!F@Q.ZUH0Tul#)gOKtѯETk">{)P3ZhӞ`Xjl0iTt ČSIENDB`d3-drag-1.2.1/img/force-graph.png000066400000000000000000000701601316474147000164260ustar00rootroot00000000000000PNG  IHDR iCCPICC ProfileHT̤Z #k(ҫ@%@P+ ,E\"kAD(v .l ;wwo{\a lQ'#6. @zT3׿mt4S<7)r"7)4sl.]-(+Q.b4i>&2 (lw4: ʖ._-ʮ6:22N!o55l,a:{[9tРçC׬6miCfϝiSQ3a.;piQ3>fEΰhi }~~KIY>3epnJd pVZD/i^$,cFlo\)=J&yH(xa0=tt?i>+'Bl6f8:['T>pO+TBd3PA @bh*R~NCPtF7g)"sa&‘"g¹p .+p3|<ma"^H$#"d R#H҆t!7 ahDa8LVL)ӌ b0߰T:eac<2l>[m^`q8gspF\;7*xS >gGaGE& B10B N"XEl# 'H$C )JZO*!5.ޒd#9'#ɟ( e!ELFSQRT;5MF^>~XȰd2kedee^ee=d˞!R(g %ǖ[#W&wZܸD>C~  > \< hME6ҪhhÊ8ECEbb11%%[hJeJg$tn@g'h4g˜9s>()+')(7*(VaTiQyQ5Q S]z@K5E5g5Z 갺zJ~B}5^j55S5wkբijvkzPbx0%NƘXBG{BP'JgN#].S7Ywn^*zD}~^.1 Z * s Q܌2*n㌙i{M`;2)tiL`Vivǜbac^o>hA`bj;vfignYeJ*jUkku-ZV׶Il6u}w7؏:9$8;a*2C[Wk8~rwv:sg %ͫ7vp2\\JܴnnOuݹ#G=^yZz<.^vrr&+i%f%ge*UW X]Zcڼծ'O[ Emؖ.oeEw69o:g͖}[p Z~zGK~ܖg;p;;ntY[$_[4+xWn,sض^^^IIPI>};})M)(,k,W/Ra?w 5|n_EsAeaO~bTWZ]XFP# s;~d{=\/=h1c ~}"DIɆSʛhMP汖Ik\kmmMXRsFLYϑ坛<{~]Pǒc/ xe<_qrטZ_onצ7Z{{wp[[ݎ};ܻ{}?ău =*~7%ރO"< =/yOOGFY?;3;|/ѫS=;6Zzַ*okپ>ć*k?1?u}<2 KWm=̘EVANNM 8;@MOBK;QB=4Q)K`iCY6ӵ(~| ɉ_fО9ŧCPc[s W"LBOYiTXtXML:com.adobe.xmp 960 500 2cIDATyBZiw .!K젳;wyRPqBAqep}L)Mu.1zG Ia $I2,$I%$ɰ$@$HdXI K Ia $I2,$I%$ɰ$@$HdXI K Ia $I2,$I%$ɰ$@$HdXI K Ia $I2,$I%$ɰ$@$HdXI K Ia $I2,$I%$ɰ$@$HdXI K Ia $I2, )~RDHoG7!ޒ/B7 ޒbA %b (>55Ah0)F}6f5߃@2s23r'L dA g1bXՊ CH3%Fx,TNP wW|#q[wu5߁@2Lp/, ma $M!ŸZVpѴș 7 z:_rbCt.eW>d@kX-jFI{ ̷THo@2`9YT whh̷Ho@2el)P79]k2hHo@2*3W81L90Lm'܉RTU4qL{sJBh3 B.% bJ +bqy hGw }_+8ESu,dH4\@|![!\[1߀@2)1R \+]:a_Ձvs'.d.D"$Hژv,8M9(C7K ſ&;|‘RFnKDwVJ,7Ho@2zV<ڝAW3y4#HRAպ ,*g.4d@ɠmݧHo@2e4kP2Y.~*C\z.#Y`ve6m05扴%Ho@2|ƧϰH{@3:_?zf $ñ >:#}W8Rͣ$,d8B3Y-70rEsi'f $vL{iţMreCs$]Gz9mw 9|N&қ% z/tNOIZ_f $#*rg+Bȹ߃p*Ho@2$LM.[8WafZU"қ% wuE$8*tZHƴTp1U,=t+% w&T 6,dP41 6K5ܙFzAx7͍TNP*|{PA ZHo@2 ]425`f j8"Yɰ.;I4.Xl/_[JBHo@2*{[ӘotGv >7K X|?tViAA ܧ<&n7K ص֌&oh^:\8S $HFV(UX\ZX_+j-X3jŽd8В;  zzmBk @2dhC*K&T/|\AT[~nJF [32]ӷm]k-v}#q$H7 r B HyM$3߮ǎc(WL`>;Bpѵ-~yLn^$aBQ @z>nW4f,H|;V<A1dHX^g?mwj1 %Մ/.`Vni ɘ =EUix dLI9qf~s3H$ޚt$ <8. I 98(xNx91 7g6x{# A 7(.F&yNGydP #vC J EB*-x5dP?}j j=WZTfɠ˙;p?]7*e$H/&.tʭ A QyfҖbW"@z1b$k]Ny5j+| G#$H/fJ*T<,-7H%^LwBh&yeɥ੦WedP !&l*Qy#_ny…ɨK*j@9t+٢vGkTc A$HcpbJRItKҚF2*4cט[x1I9$H43f' STE!y΅ɰҸmm$ЃB3$HcwYd<2-b3hM#@z3aJ\|[Y$H`  Ϩ K !/FwB<#_E2,JZ./αB$w K y^EҾ ~- w K gTvTh}sS%54(<'D;T־Hzҙ iҫI~CP)8yZJ|b*\䞭=);Ҙ %F>3Ii:g{*0DS1#QY+wbB3&Ȏ={dz<4iاԹ4芑P 9v;G7s3ZgLН 6}mB/x ; Tbe NZ\,v4vU /[(={S<ڿ9IKT6w0^^Gs H(Ĉrtc_gnn1#I4[ B/@쐯|e +:sn.~߹fy$[ Qv ~2[YTSSEnbe53T|7໳)FB|# wf4\:s'#'e^@z= ; xN`|CE+s7S4C ]OY+zNΣ0 Bg7-S{HC 1pF!~7[!K tEse 9 b=G$.F>04͍ȹW2fj/LPzfۢ!txh Xw^c2512kُ^@z2:- Q]7x.Sb:qҰ0:OsGսLt ,/^@zw+Cf~]~]7z|#q~9{,x Λadۼ@]^fZ}#,Nwv,Qm\u\77WJxcSl.ǵʔ)^hZ3ӌ6Ch֎{ٯ^@\vɩ:nSfV =_=ly \Qm|לEsmu3[qP]:7:5Tgn;oIo#&4^nnκMb~.;r¤PMĹfpZ̈́R>Dy%L ΟЈgt"+tJhMပ"*C\q U #uvO0\Xn ./B֢f{X;EW'~r"k9  |BLy44ipф<%s,7<<5Z-!.4^bG: ج"u)1XunsvٞqgF5(R{|<3MkE4 54:҃N(ƄP yV=sq{ $tzpsqm5]6Sb$nni޼xGsZ6ݡkN;g趲@͔rMAc<@t^;ӥ| d NDj ߔ+0%Flh'=jaw^q'hLwRB3%F2eϏj'jB![tG!#aȓcI&ƬLFbͶᛣ'_RG)ٟzPX͔CaեLC`Ɣ7޸!3Z1v Lj._++kՍzcgw9 N.nnAziu8cg|dR^@z; sՕ9|.b.Y.JJB vCG9ŹKKh~w*Y%-؞C=\%w^roݥOB7?s-0TkQ[v͙f3 )`3q]6AauqH!b4G6K7|gsm.G1$wuŽhMz#*3[2ƹpcE?+'ĹU޿mgjnpeĒQrL@n 6Mn.>{شDr$^6Дu.{ ;| .xOA  \ }0\uwݔ-7kh}45⡵/lf;J+UT fWЉ^Es\kRdrL GDC7VH"xLcU45(( zj䊌et$lr{@_1ϝ|jy=m쮆\f 9QUtatD\8ωp>ƐB zf[Y&,{:hvm=~5wy ^]v &u8gVo4O/خ,u| `62Jfh*9 S; AFG{!?Z+ @zM9؉:|ޱ~aixu68 psM|T;]+y  8uߙET67V4LxY\1V8Hc!^EqTeT\2rVغ}M~<:"]G,T_hGezbgz*0K3-F T5`el_=] _i,k"4_h󧌔uѼ#,)ʲDGU:1G>SD+;[Yskjи΁U x#{<<֌4nfdB++;wP]xx̴w[!U\|BǤ2+ljX+ޙr͹nX)YQ%wX)A~w۾DC )1ɉɏZTLKޡfxd`MaTՍ12D&A%x@T1t3FR P!)^͓xWQĩoмUk眇j&xٞCc b,T[]9OˮT6wbt K^teOl i<+,FF\+2Wh OXy N]<4M C>{4[>TJµtΞMe1zZITk)ZLo鄩s̷ȝS.xW}'4﹝5O+ l8|gJ7W-T3УA1Y[[@-ْ3$Xs@'bi]|%t f_sCiLk(BLP/4v12<-D΀M%7qE!b58 !5h )vxh3VX+YZ+qiLj|[;Cjb `7㛎{w4ҕ J r΃=8s3 )zMûw{<(sh.Cḫ7V<Ҙ_֌rʔм 5#Y TMܻp;i.{J6Th&)gTY>!T=i(8T[ΟD8ߋZ¾p#DzE`=x7i7Rj8j3p 9A0}䱹:93rυD BOMkNIq`*{ ;Ӊ:&%H?qQϹrNzfn5̇L8OtE n,r=]:᫓{ ]*uR{$` 5݀vũ>8>aSϒX^ت?/.܅HoE ilV: :.5t0F9CUx4f+lN ;t%{;ig@0W!6!TzwCPMvYIzil1\n%sh#WE }{4sqN̖rKPM,P-Um.MG3?5[\\?"{[ Uݹpc5Hњwa{ږ]4U"-kͼU܉oigMgզDw"o3[N47sAK-hPx$v46PWհ<@3\2-MpM`8Pwo\ stFL[hStCBlF) Tft!,#@z#j)S0E!ž _~em1g[3@ԝ:,uk/4gWS"j,q I1Rg-: k|)\sˋ xn2wXtdm.ޠ^tͧLMX[Քӓ-Єn?I:J1g +NI2)FzLsh:7o;۰+3ką. Q yQJg" ũ/}YszJ *a%Rܹ;좺9WwK")Vb/ngK$tRϷkH2+v_$[\FnB7}.6\Im3ⰮuZbi+ W0[V2[F٣!MŁoQu'3,/g.4r!3-s& H3)Tݤ]&i[Jh!ܚ=9X.Rb19By}_<4fQ( DžiNCqI ' ] ;׼ &fJxq5bL*X'_\lt)9usm3jÔ-Q͛;~VG,W`}_m6gؼuÃNخݢn,/WʋbrL:=7;J&gx,á`0r:vb6{]ދ(7׏bT,TJ%J[DsR˨Nv*)9/S: !046‘H4'3djvvn>by^nlnnF?88lw:G͵Ņt4qMvw :/nl F8S'mZxs"2uV /0hՕMW.l$[&ؼIҟ=w}k7Vhm7YP<-,m5| G;^M,77f|:BSG emks{ܦ *yŀu:7.V|5+Hcc)Q>N\NG.bu#sj}{zys.g-d'2*E=ZMVbd'_,qEp8Εj4"\GL7 p tJi,kB'MȦ!l{d&h{gV\0n~bN(Jڧ8TU6q$tGa2LOSKG\i#{D^J:#jQMό>ٙhPzNJA}!J /Agxy*q脲1]e/p_Cz-CZ4*<][g:S`c\UP⋖C2ʂoz*gtd}\ñz] bFz5u+%]@%WGMW&ib q0w45"~?!e^1 #n[j{(,=I{u,_3t {86C> 3jz[Ճ&+HLһ@k-LobŎ"9zvtl\:“@NZ쥫pጲIĶE߅.s"2=L[)WK-5M47Viڠaz̯ܦn7Zp ߎa}]VvڹG 7upƑftYJRg>kr4q:=LDא^@\1*zdX'L'l0ל 8rrgr.\GXL)z4{DZGKci I%I|੫uf+y茎Yn-,uqpMi3:v\^GMo5mPlV؜Eze8&TDH'Xy*1$/Q+1s]"}8%U.e6}zG%VOբneg DiZcu<\x pj=:3!}H@> eXfeNѥXppO,%?U;+HZB3a >`5ΝOk \rOb|83ӳ= ڲeSt$ag=`g͚tm_QrlZ8OW1,'^@z=5Rź`XT$7oOYq[]F[}/,җ.dbkp.cMMZ^5[гr%^^Ҧ8T#&SdU2*&(>9ZM=ٍJv~@YY9oiXpj4n0ܲ3HK 7Pte;X HhQ#ׯVye]_1:ljňLɭ,F'}}%GX밤8I$0Xѳ1Goِ^@z=za,{t"VKO`{J}s"9nfKD85x\ӥh^xʍ +LJ"j*g^kIvj<+]掿Dtk')tZ}gZZ U+zT5Zgҷɍ}Ȃ^eV"j\\h4ә#jüɝ]Ei露Viـbh蘠ee-7}Z.VrtBW!h7ۛ`Gz@z-ҟ3HN٬dBW%mr+!Cǁv+lͧ)lfaܫ=`crk]5g9֕IqyZ;(חaf(z/fTD' WRqgS'ǔ+CLUs==m1(!KO4OWuQFqSe1f3D'A*wvzh_t|vU'%ҋ+rObXع&ԋܗ\Ygfvx^5m$ec)dWkS;܌j^9nmMsvSX^INop&Z*5[|]rLtL L I4qZ:n =1%/j*AP [Tj8I=Uִ,ZMfiE8.cb6NVJmBsɥ|izyyj9c1*s]Us5:Xud/T T F +Vu#hOe\2. 0i7iYo R[BjҫXNH:u:mfSmгd?e{>udλvJ_>5u .5pԍ&U J8θ^ L'8 G s=):iuZ`%W|a˖-KRIjBwEz\Gt[@Kx")  (=%v17'ȇ#^Cp[Ť[vFzB_ s#KH:I~{ـ*Th,=nL\+y]Jk^ѣSVk\j\'e#^A1@I~ޮ ,е #RW`4yu% K[*qz1KFюYىLASLu4 g@m#b6׫qNϖRb k͛ vNz+nc`vi72a[I)-~_ ͗PFн'Q֝ڧckR! I mr'>trЮ-ڭCu=3rό{kڐ 7vm=94%\e<:K =7?noiHW2":**Wbζ!19U]){0sDUjS}="ֺ#6,*n%rxU74ֹ&[sfG-'$~܈p,C@i'styNU}E^.&sb hXpfFUPUQݬ>Cr8%aBc|t̨c5z<'.yI,s>cl*o^3ѓuij7Vj>9ɝHCHӡjԼ T$^sxPx 6`==Y td"oU)+m_RC+nq2ߥaA@>>0:]o!\Oh[qItV7= S| cPqf`ҬU.+#'pq׎Zo K Q5Z#'CWq^vu{<]?!xufNQ(ͲץGid(ұU*nrUZۗ|ua _!>* K4=bS+<uY^d9'֩r j+Ut&`i !hoyx=4,KTzkZ i*Q1f aǜG䜯 疪}mvP6pyyf0Z{'S.]h\j&~+5E]U:I%բϿq׮PW- M҂ |hAH}O1OmHH̙[1g^woA|bS Kij"9sVSr@VM2h]cԳ.)(Ntm[|֜+~@e%mk3Pt{|ܨ_@e䉆>'\aTTF~X6w#9:bbSiq߆vg*r;7Hv`I8;o1@&0T-3RʸbDGx43*W"`Uenuȇ7T^RN: 9OcihW]Гmi U10 ^+BS7`- %:$T[6IUbك :a\tъ,;gL/HHHb#ƚa.:>Bд0QyNXSY[6%>wT xd C ΣyJmm7³D?B]g/?ixKKM NQEhGQѥg8N#U\5+Eb5c*aήs6ʎp5 z r1g-"Tc\**F FbLz}SS@p:GffX<\Hf6QZ'gmE(?L/zxlB2\G%^\goiR:m)pAt6'K*'t DcBUn]]6/NOzZ9:<8+JB>nne2+KB2Efg"Ph:O|It:6l6O}#㢏<\e+e%eF+m.whj Ujf.tti.ll 4#;">\Q~ظȸ17# 뵈'Tbʙ!;)Z)B1K99[yζe݈C_4gR)L cDé[`(Wtm-I/`SNv4U5EH_8akiM!'/Q^ptfm\t|UFD8eGDgs>a}8>gI'ZVK 7AТerVZ(4ML['̥#^OaqBW*H?F }lh 6C ׊6*epd5`ihHEkD's B[e/_㈜!s¬ٱxč)k*ve /)?Ȩz,tc23yAo#}?-.cv}x-No@KZ}K=SYucv .gVpsl7dyɪҰ;I&]i…+9z'gn;*XԛYUV7g*5sUv|~uVsdɇyyċM$8L--:̱]ZӻtK$ %eЌ75l4n7W3.՛l+*U,4kuT),-E"wH/:\RM.59 t$V8;ZNұ;4c -_ ٬USS.զjƖ245Nf=UT@akG_92ncazL>H/>NTueMQ!\(^8Z<ciҶ>g'J~vr%x|]z`ɧxt$m>_VQ\;}|egaiOo0)+nΐ)./VPr$;NU#x׾6]9gWUm=uk;St|O0$> (If~U[Ѱ>MGɈcpoc! C}}U: *s^RW\;6qf\t|ϩݛn*kUY|7JحbɼG~Al5Eo#L𮍋e~ȋ;-*qˌ lYQu4 ƨ/U*S*IeDtU۬*H/kD'CH:[n9}UYӚƘR]ڬrPV82"MpR@cW`C(ا3ZeDt)M4ơyitMGfRQˆ1oL]c} ٘"jH ޷#:Z ':7Nѵ3şmOM+ hUy #0w)S#Ef`wdھq51w !zl5HQ!F\_%Ug,\9&D6̺$VH$0̯3go%Ƒ_{qbx1)(TlG*=AAx ZeB8ųh[95L1Sk+f{ "Ti&D(zjrЬMEhʬSrK@η5=@fѨ4]hqdmJ]M'HyҠ'4.,̚vjmrB|)3"BhijK%B~Gv}m> WHb4-:MѮn;"=PD_g!y6ZZcLdC &9/G'6d9d 3Ωɹx7]= }s>Q)Et\*t]jW܆_EO>q!w]Is<9K_]#^jm2.lR20R_Еgk^m 3cO=]}>ÌIüCnK*k?Y |}9!RO: 1$m]CO.xE,` g\sTmpܴ#3-೹|t=c q{ÿc$7R1okte/K e0?,@4e 4 FjisTmՕ+:ABSKߥa$1$S"f9fEއHn9I=::m~\y{&KLLLf{ gԮE+L 1ԎV+3|? {&DgpJwderTtm"]K{'3H&V?*ǻ%$DHu[PfHk ױ2^'hLyҵ4EEexW׎׹uh>qtcC[ط&yRߊ 7 e91..@nDtT.GN~6@jgc MoLяy z>}6g9.?crHGNx}ޙOk3weIviDݱ@߿#B/O5<>}pQ^OGC^{M,vygRZFS+xg|#Os=|7?Tɻ"x襁/yt;}hsNn'&~-*Kk,qޝGtcB?Qv!x*4CXON85Щ4]U;=c GsCu:txЄK0 !~}?ٚ&ϟO}}>g['x ޡϢ/˖xd; m- PeTt}eA3# ~eC?= !>TxQckQ_c<8&x8CPxBBErs Kl5K.#"'[S gỳ|=lǾ&%~qϗd# gdgxȉˌ>~?@S2/AKTsy@M-OHNN|P6ZG!FHo]NMGHO<]cHoOGHOgCz㲢o?@gb|l|O}=zθ Cz*t+!|<=5?q7!FHoE ,&x*[C~/O鑤A ]H!+!Io@7K Iқ%$Hf $Iz$YI,$Io@7K Iқ%$Hf $Iz$YI,$Io@7K Iқ%$Hf $Iz$YI,$Io@7K Iқ%$Hf $Iz$YI,$Io@7K Iқ%$Hf $Iz$YI,$Io@7K Iқ%$Hf $Iz$YI,$Io@7K Iқ%$Hf $Iz$Y3eIENDB`d3-drag-1.2.1/img/voronoi.png000066400000000000000000001127721316474147000157320ustar00rootroot00000000000000PNG  IHDR}^ iCCPICC ProfileHT̤Z #k(ҫ@%@P+ ,E\"kAD(v .l ;wwo{\a lQ'#6. @zT3׿mt4S<7)r"7)4sl.]-(+Q.b4i>&2 (lw4: ʖ._-ʮ6:22N!o55l,a:{[9tРçC׬6miCfϝiSQ3a.;piQ3>fEΰhi }~~KIY>3epnJd pVZD/i^$,cFlo\)=J&yH(xa0=tt?i>+'Bl6f8:['T>pO+TBd3PA @bh*R~NCPtF7g)"sa&‘"g¹p .+p3|<ma"^H$#"d R#H҆t!7 ahDa8LVL)ӌ b0߰T:eac<2l>[m^`q8gspF\;7*xS >gGaGE& B10B N"XEl# 'H$C )JZO*!5.ޒd#9'#ɟ( e!ELFSQRT;5MF^>~XȰd2kedee^ee=d˞!R(g %ǖ[#W&wZܸD>C~  > \< hME6ҪhhÊ8ECEbb11%%[hJeJg$tn@g'h4g˜9s>()+')(7*(VaTiQyQ5Q S]z@K5E5g5Z 갺zJ~B}5^j55S5wkբijvkzPbx0%NƘXBG{BP'JgN#].S7Ywn^*zD}~^.1 Z * s Q܌2*n㌙i{M`;2)tiL`Vivǜbac^o>hA`bj;vfignYeJ*jUkku-ZV׶Il6u}w7؏:9$8;a*2C[Wk8~rwv:sg %ͫ7vp2\\JܴnnOuݹ#G=^yZz<.^vrr&+i%f%ge*UW X]Zcڼծ'O[ Emؖ.oeEw69o:g͖}[p Z~zGK~ܖg;p;;ntY[$_[4+xWn,sض^^^IIPI>};})M)(,k,W/Ra?w 5|n_EsAeaO~bTWZ]XFP# s;~d{=\/=h1c ~}"DIɆSʛhMP汖Ik\kmmMXRsFLYϑ坛<{~]Pǒc/ xe<_qrטZ_onצ7Z{{wp[[ݎ};ܻ{}?ău =*~7%ރO"< =/yOOGFY?;3;|/ѫS=;6Zzַ*okپ>ć*k?1?u}<2 KWm=̘EVANNM 8;@MOBK;QB=4Q)K`iCY6ӵ(~| ɉ_fО9ŧCPc[s W"LBOYiTXtXML:com.adobe.xmp 960 500 2hIDATxٓd}΋'F혉%"[3dRchaFdI[c A1&)Hl6b@C@w[T[Uv Ydͷ눉dw='NtTUg=y|3{&F~8B4b2b1!'f>ǁrGRZơ$D'"t:8rhM!V|I6vBNs6Eݎb4Yzc!AO'B(-M"рpJ8.0N/ogBOm|o?~ex1q ,vt@5dY>vI/V^-xㄖ r@ejd2%DiRs8"ژ4|HmҎ q Jx!&DQ*@:/wzc0!ж0x("nu_^:/7|8A DP@Eq4!1N#b&Iݹ!  Bm/f;l&D-bDX _uH=/<:hxu@sM( qBTvQphb)~?rvt:A'D:]!kY< aGsTU QhH$8f1َnƒ9jv~DXI|q0NY4tXA:S"!N3Nc}+ d2I`m'%5CFq0ҩgј4aGuzX"36`Iukcoh4q MF' fcR X!UBЂD"fB%WXEճh,bZVV9P@KA\)!D6b8OBtX,6NybhSY 3o0#0!lL&H" Z%Ϣd}XʀrFneYf"DBl68Bg 1σ ǁ hINb* qd8^f4% !?Cb -ƞQk}ւ"a$O(,G|C7Y΂3~,Xn  4:OVVa8vvv~JgTbX9B> d=) aGw#&Z|T*3M C:ꙙVk 3A N6bF.Ij h h0BlB:lv+b+*p<x*aG;bxtP@l"MG Ba;Bnb1H絞/o .b !dY؏&vi_ei!D-6#2CPA`D8GB*ǁ DƤZf9b9X5(=HP``Tlzh~/~}?b1 $g&t:˅ a9i'<9 FǰL^q, ov!92qCZ5 xI},xA, 4b `RAnз ot!8g<C:㶵)OfPr'$tݼLJ Ne; I1гwk<5 h4  ! u,#d B^N*̧QϢp8(G;LB@œ3t:]xb lYNhj0It^n84 ҹX,F"rMXWU*B1͂ hSH$&W~[Y4tgA\.C:;+⌗bęqf<4?L(:q0v4tB3yZ z苺|0GȺE<%~^ lq_~Ca+O?!z{;OhҙC<ǁՁz. }Wp8,J}W~֘zP/߃ML*8"$r%9HSzb$օK\M=ƼRdGpb&BȊ+$fw=+zF= yr@ 6fL&ñZu=m7XVn;VQ:cőY DEBR4s綤#10f3NC7 Nsr-A[Ǫs I!l #(t$Tvvv

+>/Lɬb̑2CP+t[Bho^x?|-4_Gx^|r*+;'zN "(pssVI^B|r> 3o0#Bth4']>xJIsg~n8Zyx;$,϶Trg't:\. fiNE h*ϗ<}_JHg Usjـ]ؘ4|>ir̠Uq~ϳ٬hdY m^T iJ:' ܹjc(W=`P]; Hm`pMêܹtn;N"(0LB]𴧜/Q-MOhwT O2)װmDv͡pۓm˥Cp_PAG^߹+8D(\rx_Rq,?+MԳh6ϝ+9p^ h%V(Yi޿x>p FH &Aw6Jg|Emf\r2FnuQ^nm}l*R=)$4D"qr}b!iQϢp8(Gdp 0p89n5+E:,4o}MEn9x+(/F-*lJ%7`J֓UW@d6\vlF\A¶+A`2; hr٬\.CRP@{z JCa .=zLalV$ dU6.zGD(![^8u4~ZzCЖ8;mɦEc^VhUTŀmUPݑAЊ6tg<`;:)VR)aw8cZڌ'S&)ڃ@%7t: " :(W-dgg_O}k h XUK1\cgg<q7ծ=¶ ¶+&[F]Lvf=ALmg5 <~_-Fv<"ZTd3"bk}ԳhΎ"JM2 *lC4onnRa[<H$,o| hYfϵm72+-I/ "(S~OT}99R)R JU+* ht[SnTRܤs|jY|?30nujUÞq \Hg!!zH$8Y4O xFhvSLDX29&ƮR&$}GEnfT\~[8Fu=/F$e<`IIDR%<IzaF<@:' &ۥVPW@4E7A6X,2@zAI5c6tVjZ*JVc"Zz=Qa;LbNCMJ(AtZ(πZn$Cϫ+#^i7L677u2\Tlhg2OgTQפ3к]ٸ)Ui~gD oVF ?<4M(EP 4 c~frp hbXժwr5GaZ*0E[[8qT cXG[,Pg!*X+< F]_&tYgoGEhw}GF9D`fk!.z/KQ@˃sT& ‹1H0(P Yg g"zFL~R J/~Ze9FCi ;% iv6%T*Է`_!zF=]GVQ:S@E _A4!043E@,PvedqE94:tSaT$q]j4v)h4Q+L&Aj8HC3`P,:ΚՀo]ZF;;;-b1,̉"lV͛\y y3:tw()ɱi(]'h|'e}8ef:ijo}M<ӨmAMNf>vq^]Ϋ>|ƷLn ; "(u;Nn,sޠ&뭻Xt]52[ C/d= Ŀ Ԓx<܂G?6~()Ab1m~+GAa8γ\.d\zL&`P%GR*jHZùp8=rn@:' lEM̂=h\dG 4W*-^/82wvvE"ܪ<`X4+*Jᢢt&Qױ<-WQ@9&x<ͻX,b)ծZb10|O>ct>/jPI2TF,4Q@ ~.^n  Y[CcSv2:%VX.xWU\zAM$5AiMOUS=c螢s.Mb|d1%+dE̎234Q`zBԝ蘺W+;d!}||ߥ^qdvdΎǿ h }간9μXj=  r|@Fe^*'"jDUf<W!f<Qԋbb<[|0Sބ|H"P.ٝ2F-x#ޮIfXYy1[X5Vx\ŐBa/@AXP{\/h4t1lffT49rjki_Gxg'H^!ᒉ[7Bat:zR@aC χ^8ax=]Dh`Dh hr,n7>"XrZ.1wЏ=oIhSiyyᄍ z: (\D…||>Ѡt&dUI$ᔡ@!͋Cq$]8ac)\DɤP"~^vQz."fH(zdY~LL}`߽ cg+G|8,"ED(e(lhPYD91|H$BL(q 4A~&LV}y|c2? egbrpy^J\.C:7MNzX̰"`ۺ`'=ZڳF*P 'lEp>;J9⣪*V:m4ъ錛ri`]t:2lh*731׼PAR<}R"OR`S(&vQ܇ X*p<"cqgQQ;㲋(( ;;;x C}4fǙA*pF` 2xqBMܡG"d¡pfɘNXZ!-#'|>@(P,c&--XSO+GdA(-8s4q|>_V9\^J htS #ef8&I&SRX]Ţ[5Az 4!шCa+ԔuP!4!GH$X> B8[O)U lBMd\.yFGUW=޹B\CNV&2vcbJ3K 3 hXx|>P2Voå7ѨZ(Y]nw3CZB BM# Ұz2,pd^J%eV,tP~ {HvdzRxƣ~2~_ /<5( $&6>Ɖˏ+b#Trf:ӝdn!V^-x#nm" t h0jk 0VP(~~wv7SEK7|~_ /8冷31i|02P@vH 8Ԅ8Zyx_CU.lV.LgL9f*t>o hFF.& bhЯJlCQ]?VotΔr}˥Cp8*sxgSモG|C\( |>_V9Cֿ7/>P*m p ף +AO=ݓ5d[u'r[+XǾyټt^n@h hBkxtF=~kWM&o|rgtLN_ +\1z XnK2OM5EI<W=hj:)^ѭV+9F!Fd8-LghJe  88+hwI1ʐkhДI)F \(EC\ne0#T7Lg/$My];M*ᯟ},r駀&q(zM lGC7\.t\9o)zFg=Lgm"EgcЫܪ/v%zES@blvgG9essjv2%zz˕A瞓A=+2\f3,H6, y9NJ )Գh} hBZ˨^Egݭ J۳ NXVnConnBj  OM5`0YYlJ4dSϢE/ 9tǪrdOꅤ Y4t>4!Mv[oJ3u8cZSId2͹|f:lTZ/zZpHtMMdvR{h?_E*~B|7;pk[]LglWS7Vqdm]3֭ێ)-@.lf>FXA-z`~~tᰗud2r2rYt8(JECW{>NӂcR Xԡ&K7yjT*R*)#_ y2rq@Foll<裖Xݒβe3bd x/{xn2gXXCat> qUF\.ceU ʦ޼`~ ]uxp⊅f0@n=33 x~'e'FCMLv?O:/7H(CHDZ_RIN" ]1BC>W8~ꩧi_Gxlf34{+_pto?ZY4t{[v03rP@fQ{z AghhmT%>.OYX+f:X8q gU NJC2JXq :սwRϢNRRQ!(?}o<WQ@ۢPϸ i&z PhN$o+^/F ȵSvZY4t4Y\k2_ءʸD"!U+ jLE,c 3_()o}~TzM48(J?~BB ǩcV+y 

|^3Ch(ԪA.]}Ɖ|7MDMߐY=Pe9~6Ww~45G2yjSg.o՛_ЄZn hT^ L2R+S#%xt]"P@.ݍ8ی#$: a =2r,Nh]zфè]d'.p8KdLgp\WącuNxQ@#P,8r9MPH'H&*Jurf:(`Dዏ\Xs_e=BB6 6Bb[:kv}҅e3{*h\ro] c3 hO-'h,7*:.D>T,Gl@ʳ߾|/uW:4VdG-,CZF9b;gef:a,~;W gK ;ۇohűT*YU[,bFt*Ѷ?lDH(#c[V45Y!l2h\;\u/f3g'm-o1Vδ3TQ=YŒfޅ3& htšS;3FU9_/7,R-?z<  hh/+yE&TX+Ϸ33FR3 rdnQ[6,/\&*Q,=F5;ېkEd (Gbϧ~ڢ`DWޥ[}/.,J6xP@ h׶~c!TZCM4)u鸭:>wss]vZB?TW@kGxlӷV˪$sF]:g8Ttw݋]΍ ;o1P@S@yOMqHƍ#t 3ӹMk\ްrWLiRhw 4U:#x=G{Oc;oi@Ţ;Zz~K/P@ˎ*pwTRd2J|ZeJX帟nPً8ZyR[L)jwŽ}wX@oW$Q}249. Bp8tl|_3A.lf><(9 gOsm L(&)t:x~ˬ=IwNyqz@:/7|v2Zݚ5yc_}τZ^XHE9677=^lwg7T'^,Zy93|>wKY/5mnJEU[3rw;76W_sF=c\P((WS5j /dιqfc^s k c4ނ7"tNQ@@?1宇dF3'`P.7;/\6/?ez hb#wF)94:Ƴh#"beWAP}pn* |>=[Co ?y2Nw9$Цrq ȈFC)&7Bz.ewwWEnG"P(_G=3<#$,8px:*AE1, a1 &#qԳH@\@Nt├Xs2T8@&t:bxX7XfьhH$/8nf P($i+ \C|$BA: 9ŲiYi:F"^UQN޾^*RIڗ,P?Z@Xٹ@I,j(s,  ’r/Czox,vT2sgr8ǜ'ǁ#su ht^)4{ʥ|SDg-VDQڀ&;XdtuU$0 +PX@Jtrz$Yњ>Gz.+uzI|4AfY :xקR)3w\YW)Z~-@zZbut^rr2\=W C,l7x,>ՔH$XZC 8 əLv  d[Fchn{1 Tbh&=9VqN {IYV9XJn_,F8paqLt:=|"`.}☼puճ 0*|<YX4p%vvvbMфL_q_R)*DQ"L(')W*s[6A=ommS/ ~D"AS48Lv:WUo^oUX= h4jd,Xas^s>\P |`M &Ǔ#kkg"Hp:t:]-9nwUm8K7v-T*EK[[[+*t#d2=s4vγne5#pn;̰I&h0EEIk$d|!9L(R:B*nPTFl=c5Vp=a% S$6i`l(1,M%NvuN Ig^~?rƣ>f L'D~!vX \e|@:+TUX6~FէHC^cBȎDs-=+MDrժ5_1FC72]i I)GnJBm~ s%R(dXD|!g[rJV>BUrd21}y@Ft:=8D*٬T;G(dSY] %MO)M=4Cщ^R)9mn'%\}PKr9&N:DA{YZ׈qɝ%d|h[*O9Wb`zLӼ-Rp&`Dx1w$j@\f|h7wPבS?aFQ<k!@^PVQjLS߯DDbUT \l~+i *^z8I6r`d!2_L)8xݙL&:/I uW{&p8\f{ǁb !I쐛ZSe|8M|exph 8P@[d2I$|}?WQ/^F`0hvG3TUJi B8P@;l6+ Vʒţ1[BgFuUM@yOlz&p(nC 0F^G0nM`Ïi8J> hsec /lf!;!ǁ{;4cW&g@4nhRWj4#qWOlX@ V9iZB@X,gOQه`^1BTK<ćaefss)]A.]!1B_hXƈݛޭ_Ǚ_rZy:;dYĻl2kq\.t8.0+^`/4gX1K&l)Re,NK30P9 v95BhpT*YUP@H.u QVT*u * >| hY(ˉDKiDnfYqZiqf EB70 hH$B((r\߈2dVyNU#G*0a hVDץZzM 0d02Lw@HtrGU/r( ?vB<"/<| I&I$Y`0H y8P@K4O^guSia|>7{ahćuв_4EK ta|X,2qr,d@X,FN 'j2VqbCT?a~:@<в3B2 + { ~uVI,uwd2³B&#. hΙM-;FSM.ǹrV+KH 1E[;MܢR0bDo$MKj0Nq򁬓? (H\v\ )l~ϡ{j7Hzj5&n2 Aor\8P@+|>fa=|J\I/i& hh4EAbYe|%VV8P@+0EyULT*/^L&R7qϧMDVЪn~?PIJ%}ZN榢bZ2qh4*^h0`Za|6v0|BLZJZ8/wI&L8P@M4E 5Mgd2VMFbT*I+)+x) LS~@ESZi^R1F By`MW~:dҏ;b в#L4t{&&bZ|>'Qup_0;L&h4qȂd2_v[ t2;YQyd2w<"o|:NT<fuc`z vc^. B: .R^Ї>"yjbZy`ip@LcVe "A~ު a}3E%S@[ >JQ,N&(J0ڂ|,vc h7Yb;;;|Qissy8|ޤRșZ skلBLc7llD09cZ5ɖJ;iE[>ƄŢ\.ˣ)\ѺAE1(f\?/@ DU9bJ$H^htu1 Dp.DB[@#+ Vd9C㝝\ #~Ӳڡx-m|!u\|q>O(Fa*rXIӸPYnv^Rnq1CAHlx ,kdr>FǸsrZq1-\rw,PYT*A1(r^@Xy,iX!x &U ̃@@`YZ3p6;,cr6ZxᢄHkVဲڏiZV̕J)L޹5=q`ǻdx+\ m`XSDֺcLk0pUqca} 7!!YSD7̆jbz@,XC>I|B/ 9>X+` ba.PEfi"82؀>в3xw!s< 0F|n>⏒o'i`_y2k?S EE@+onn^zXǐ c h5ߌZ WruBw(͍A1cQYhDi},]A3ݱb80KcA,+-ɤ^C$>Kr؉ċx&ż\px$FrØh_ŀcw烙łv ,hà8d+b@Ts0 h56L4/T}HЩT* , ؽlooJ~lE96TA}}G_f=fgPRB5|>3υYZ/VM? EL" P@{,tڎOU(/ X1FVcC$OFQV'XhjT*D[~>ОkM}TJRy~(‹X(^%!"].9'ލ|>pݭF(] ^XfX/CÕbI0!ޣѨ !}u0 *E06􇡀&d2%zG\Khh1p1%sS.X  C̜P"j|ܶ.(H1Vo&;mn*a] ft:韰 6󚧀&G`wjlX#c hGc+o}S>~ ?WQ/^hj冐X]d lfrz:f"a3]))6}lߐڨ֫B+oKax:nMWV(0K-36S@`@t$qJ?M1i|T_INE_b7V 7YrcҘ(NӮ6iл'KDF3i݊i "'S؇d2S"a3t"a3 *Q@l4(FxMFr|@F.~A 跑&*2B~k2 *i$fiq"aP@+Jln>ɨڨٷ>kt^n8+QX3_b- idܤruf`0YZ")BA?=@ߙ^淞-gԳh8ʽ`ŵ/D%7RϢ|Mǻ00`i?wYZM$pXשQ ZZGvGBzrt:52 <4 oܸqM&l&ᖛ#]APwM=fm^HghXx:^1әlЙP@KG2tet&I,[*[ڨpƺrY?xc`exvq вY͌pYAOCs=ǪbIrl>$-%jdܪP(4OK-EtׁF@f,ZLZg+NZ"N)k$G?Vѫ*cl޷O O]@ĀEVH$XP@BPhZn^e `0nZ{ 3oX"I`6B! @ G @(ea:a; s7c#}FUc0?J!j=pTw ,S٢ wq=Qp8LRTUWz٘ZGs@{֓M^0 ,hѲhZp޴41 e 6Co3`mTSK=n\wC2^/p"FE4[. \tz&EXˋCس@5 *[LH$q .#O2WŠ*N_RQ@ۧ~M>6)u,(pX`^rʮϱtPE,_-і&.38A;ʉP@F!Oʂ|>M1B8IR?{U* y`Ai&Sp8PND* b3zAgr` u4:bb a H )\+BmAB)YbDb-Kqe )OLZ''PtДtawD8 hא-nkS@X,6Lg~u8B&2c#Z  "n|UM1B9.%F|&|Hˍ7蒮U˖P@*ᝀ6O~ Ka[ <!ř+3OTr\ uLvLZ |F#LFZvɌ=1YL&# kfRC䜠sZ]ν:(~T@9|z[hڋ3_?bI"Fh@:g0|ͦ$=Ɛy 8X 6ze2\1Nu^}* }Ν$ıʫ7oeBj1d/] o!L?~0]{sjT6~_ /( 2o- _i!+(edpkc+9F!qa|>%I($,0W^5fKFOi5@h\.ynhL2TU b#zZj  (]H^|{# z0f89 /n[!ѲW_!!yq_wW|>χƱpDwaYΰa@x$ !"R w-d4:!?"+ [Zh&Nuj %)EK/U//>ТTjRFȑB.?v-aaW(! 2`ҧ5@[BлbΨgp8ԁ)Z+XCêuP9ďrUKn} E$ǯBR]4D^\V+/Y/ L&i1†@$ptR:/7ѩjJES8L*}}O~ $U&mo?UϋNQ#\\t~ϸ[Pu !z ot(芙{kB;2Y%Ϋ Գhn{?tg2oZLFTU& dwv MPe鲩cTdՒjJ_{׾dz^<’|z"ǁ";+2_ءX>4 Rb}-VKO:Ei76&VUr?*f2b1B@?ZS)lʴjA~/I KSe Ż$XUYA%л-ԳhTi>o^&Ș?.o_*iR i Ul0Jqz6:nv䇶~Meedh iO<+m+n-*VD|9Y`y'BhǪb~PɤZP#t;ͼ[B#ooڗnƼv,$?/C )zUݖY=fh42ry3`q<76r%{ן oEn;VqW50Xg<8qfiޑS\ktd2NGf>g~yC/Ƞ5V8Zɂ\.gܮz#`GBfް<#d21itUhl6 }83W/x#Uˑ 0?Bb|j]v 2i7KgWmΧ't:?"T*[Ɂz qM@+d~6lNpXnƫt:m*.Ťu 86ŷԛ0:qS@WϨ% xBJ%uX,6LT~F?z|lINRq2Ͱ8|>ҖP(.@гP-,Tʦb~v /]77lIiSRz^,9§:5/K8A7s{%v>GO}Du&vt:mSvm>t^} ,̱ rEym#;_w_h?GQ"pϖj9WϢf8c8u;x|ɭ=>%j |WE,ڊPTvx^=8Zyx ,)emzHA0ZZ\.A>!>(+UF!uձr$߅L{f)~R7o>~v$֫MweXk}5VoLtlj~`+ܖj!n=Q[@z_hhX1BH"Y.h>AOk6NHĒ 4֪IƉG~;c8ˆ+ZjbuS h.WЋ}(i WV}yd-**#{ֆn`wKd2gPNQ[@j/+O#t:zxٚb{Zot޼-9 eYB!?03-ҽùu p488uObPK3 w}2u vl^Ph/\4&25Z#~Q J@/WCg hES`j> }LT*zgf[ )q,Ӝ3 Ad-#lCQ6˝},q6=/ ֪Eh3_߭rʭVkG=| Qd}8.B)⚀_/лVʼt^n@;d%ϜQ]8I!]a+j?P |zF9k9T\NT2C+b1!,<~>{{Ͼuۛo$}9t:XU#/Hz\c|'|?z A-1dF NgKjxI3[WǻRE`<=ɇZd]b)!{NJC?foE:N翽U[@+fƳZwڃɲ[R܂e>kzO8##q|-,:`tGX捥$;7|rD"aS{hF9xiS56Uh0yMf@aREn"Z"; Wdh/Wq-93CUQ9y)vL&]qd2N&!{#d== U/:n{mg-hFvexZq \>Vv*h4\9ce\ek <.Eg=:/wF=7BY0 'ñz*`8_2ؽr9HR@\yq8TbtW6,ǻWh.{81aF{* Ei5ZLKs:ꕼg>޹tv *:?h yEl@\{9>zFWWW'S3֭@~hqo'ᤀ[ʿɺ#d UH4%BT ~VycWox ވK{N(7B6?mױj)k{: .\/\tR@V3wP(v7Ne2b1닌$E(!6f3 DNNEeZ#a#Yuk}{?wE= h^{&Os2/gtSꩰ +) (>+!N wn'L魔뙓-FXr_rX@~Ò{oLۺ3dѝΝTvvֱخ*dEY*J9]mY-.$[j a Ab@HrȧaL| A<7\|s`eC ~FXtATx=vyю2FPW;B@FlrguoÆȧ?.%J@_S'͂7KRX8|[4[A/Nb<tj*C]@:L~|Գhw]vge9s65+'{5|Aɭ5~Ϳ͸mDWS@SfNjnwssS -˞G} Ll.oa^<^MѮ=ˬ{L S e>&O> wz|.<:@sHdbz6uyU3OH Bjkw ^#4YmDaBfo a$'#j ‡+v;h jIbHz7|7^:O7@h%-7 $H YLDy^["c=I,E֭FBG8o( cOA=GUezs<#i2ġƞ˧ދTmåbw7o 3tl6 `tjg Px>#4;) L]"0Y|F+:yvyюP1=0dᙊl,p|,J@{d7p8 Ó_9Yn)z~tCVB2 'bwNg&gq7G=vG;}_rp{nL ]Տy+LE7֟?zEm91Ј=ۢVfT*l6ΠTXgێ?OAhFifulyZ͚K=|"m;.N9 {}4jnH:pMhC{lY1wJMݳ[l)BGn7}f5A+ 0 \=6ճ:e4?zwyhdwq/k C ?A [FDGBNSW@SYp ~FzU/XyZX]MXlv ڝsӏ]-h2`Jjگ~3Lj hdBC@ϒ,?iagOsqylC ,9#s?!/h4t:Գ٨۸!_aׄHuW$Վ~ yhݼqy|aN#Hn- Qz\^6Qx]u4ut'ZOo 7=BWM4uaqip`zi~_dJ-ΉIby²:X9M$NSQ@SqC@" F6T}4ua)֕w,M?zzݾdm$rX\.tiוAȡ!;_ѳHEl6F\0y!#^pB\Ύ*;G .vulK4 C)=;3=T*מUQUܯRG OKsSϹ Af2 .>A # ɉRK*7R8ͷX"73@gmBAhGKZ-Y^=V5_x.gd4b|ݩVa:4a:ݧ0KHycn$jGJ͛WE=# 0c aY?g<YvGс]#dp|QM+," hFn.ɣ3:3R~P:>Hg(* =pVkznuw|v7^N3_QQ@~SA(&3LZer2Nj* )7{mj%4@ҋ#+D%&XRfTɤCy>l h4ȚTbG"v/<Ue1BoIR ݯfڄ6U\rX`!A,J=mr \.q|hO򞧑lZ-FQ#q}sI~ͿT&cTn׆RT(x;{:Ƣ67LBh4b:_n`0aGSv;x&Ɠ`LNd;DJfJm;H Wf;,?SB=g^f`l0PF@]g_n[ڑKg!PV`$ίT7۷ߌ5qm7~Ϳۼ6wEs!z69l>EQv_-(c%]j鹌6{Ę4cggV.nR\V=yejXO{*W5}'+$ګuMІ9}K,}8MO}ettfqp%x<]h[mFҪWvR&r^Q2d 8;-gE/sj$LJ/ nO%~ä7mM=ǷkZ:3䄔U:O7ڵeYW%lw6o79V#Nb򗀎vRLt=t^ˬ{%碁Sp=*X3|;,u\nyѹRl[^>y|>̈́l0 6T1! h0lqȐ4.nd] *1ilѣk?X=H^w1 B$搜 .ϟ?_@6V6[E`޳|h074u{kk[x]nRFbI ? L&SVqz<D'kr ` >V4ҩgHd韇g*gMNY7Io}:GXEL ;}l?ۨ`[f]Q0`ގuVChq蠥A.3oz.d<#*wɠاR@_XK8b͙6e nRXYΊ:?VwoIYl"0Jxg h> 2,@,&/z6Z+r5 x߽aW7&@rQhT`F`>4+. r}9 \P*qP?UW@T*+fܻWկ8.$>M?ЯWzנ/hw^| |2r,<+r$tްQwvv4Ё?T*l65 e0ujЎk]* ΊHjFYLm?j3\ F#gKʳUI =D"b\t}/0qCV+Ё@`gM/+C_y'U#e4} 2!YF]ayQbTι\r6qM1$zwNzoiHn$ }\"J.2 CEqj$''gQX"M -q3 16 is 6F$P*\\iH^ o,XV@E9A7'{F$>M?ЯWzŬ0.[; &PX5%4u{e)pA?gjqܑ@ mO{ 4eAvKz6eA!hO/)'`GVd2Bvv(N *#ss hP^✣X,h4P4/IVB10M*:<^Y@@`eqXߘ&?z>P?/pDP6ڥpWΡʄΧ  hzGlB$7/o'4O2Wz+ LJX Z->4/IENDB`d3-drag-1.2.1/index.js000066400000000000000000000001701316474147000144060ustar00rootroot00000000000000export {default as drag} from "./src/drag"; export {default as dragDisable, yesdrag as dragEnable} from "./src/nodrag"; d3-drag-1.2.1/package-lock.json000066400000000000000000001066071316474147000161710ustar00rootroot00000000000000{ "name": "d3-drag", "version": "1.2.1", "lockfileVersion": 1, "dependencies": { "acorn": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.1.tgz", "integrity": "sha512-vOk6uEMctu0vQrvuSqFdJyqj1Q0S5VTDL79qtjo+DhRr+1mmaD+tluFSCZqhvi/JUhXSzoZN2BhtstaPEeE8cw==", "dev": true }, "acorn-jsx": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, "dependencies": { "acorn": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", "dev": true } } }, "ajv": { "version": "4.11.8", "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", "dev": true }, "ajv-keywords": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", "dev": true }, "ansi-escapes": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", "dev": true }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true }, "argparse": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", "dev": true }, "array-union": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dev": true }, "array-uniq": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", "dev": true }, "arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, "babel-code-frame": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=", "dev": true }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, "brace-expansion": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "dev": true }, "caller-path": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true }, "callsites": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", "dev": true }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true }, "circular-json": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.1.tgz", "integrity": "sha1-vos2rvzN6LPKeqLWr8B6NyQsDS0=", "dev": true }, "cli-cursor": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", "dev": true }, "cli-width": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz", "integrity": "sha1-sjTKIJsp72b8UY2bmNWEewDt8Ao=", "dev": true }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", "dev": true }, "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, "commander": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", "dev": true }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "concat-stream": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", "dev": true }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, "d": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true }, "d3-dispatch": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.3.tgz", "integrity": "sha1-RuFJHqqbWMNY/OW+TovtYm54cfg=" }, "d3-selection": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.1.0.tgz", "integrity": "sha1-GZhoSJZIj4OcoDchI9o08dMYgJw=" }, "debug": { "version": "2.6.8", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", "dev": true }, "deep-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", "dev": true }, "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, "define-properties": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "dev": true }, "defined": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", "dev": true }, "del": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true }, "doctrine": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=", "dev": true }, "es-abstract": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.7.0.tgz", "integrity": "sha1-363ndOAb/Nl/lhgCmMRJyGI/uUw=", "dev": true }, "es-to-primitive": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", "dev": true }, "es5-ext": { "version": "0.10.24", "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.24.tgz", "integrity": "sha1-pVh3yZJLwMjZvTwsvhdJWsFwmxQ=", "dev": true }, "es6-iterator": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", "integrity": "sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI=", "dev": true }, "es6-map": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", "dev": true }, "es6-set": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", "dev": true }, "es6-symbol": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "dev": true }, "es6-weak-map": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", "dev": true }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "escope": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", "dev": true }, "eslint": { "version": "3.19.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz", "integrity": "sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=", "dev": true }, "espree": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/espree/-/espree-3.4.3.tgz", "integrity": "sha1-KRC1zNSc6JPC//+qtP2LOjG4I3Q=", "dev": true }, "esprima": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", "dev": true }, "esquery": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", "dev": true }, "esrecurse": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", "dev": true }, "estraverse": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", "dev": true }, "esutils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", "dev": true }, "event-emitter": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "dev": true }, "exit-hook": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", "dev": true }, "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, "figures": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", "dev": true }, "file-entry-cache": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true }, "flat-cache": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", "integrity": "sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=", "dev": true }, "for-each": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.2.tgz", "integrity": "sha1-LEBFC5NI6X8oEyJZO6lnBLmr1NQ=", "dev": true }, "foreach": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", "dev": true }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "function-bind": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz", "integrity": "sha1-FhdnFMgBeY5Ojyz391KUZ7tKV3E=", "dev": true }, "generate-function": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", "dev": true }, "generate-object-property": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", "dev": true }, "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true }, "globals": { "version": "9.18.0", "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", "dev": true }, "globby": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "dev": true }, "graceful-fs": { "version": "4.1.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "dev": true }, "graceful-readlink": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", "dev": true }, "has": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", "dev": true }, "has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true }, "ignore": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.3.tgz", "integrity": "sha1-QyNS5XrM2HqzEQ6C0/6g5HgSFW0=", "dev": true }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true }, "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, "inquirer": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", "dev": true }, "interpret": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.3.tgz", "integrity": "sha1-y8NcYu7uc/Gat7EKgBURQBr8D5A=", "dev": true }, "is-callable": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", "dev": true }, "is-date-object": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", "dev": true }, "is-fullwidth-code-point": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true }, "is-function": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=", "dev": true }, "is-my-json-valid": { "version": "2.16.0", "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz", "integrity": "sha1-8Hndm/2uZe4gOKrorLyGqxCeNpM=", "dev": true }, "is-path-cwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", "dev": true }, "is-path-in-cwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", "dev": true }, "is-path-inside": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", "dev": true }, "is-property": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", "dev": true }, "is-regex": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true }, "is-resolvable": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", "dev": true }, "is-symbol": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", "dev": true }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", "dev": true }, "js-yaml": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.9.0.tgz", "integrity": "sha512-0LoUNELX4S+iofCT8f4uEHIiRBR+c2AINyC8qRWfC6QNruLtxVZRJaPcu/xwMgFIgDxF25tGHaDjvxzJCNE9yw==", "dev": true }, "json-stable-stringify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "dev": true }, "jsonify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", "dev": true }, "jsonpointer": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", "dev": true }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true }, "lodash": { "version": "4.17.4", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", "dev": true }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true }, "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "mute-stream": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", "dev": true }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, "object-inspect": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.2.2.tgz", "integrity": "sha1-yCEV5PzIiK6hTWTCLk8X9qcNXlo=", "dev": true }, "object-keys": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=", "dev": true }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true }, "onetime": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", "dev": true }, "optionator": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true }, "os-homedir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, "package-preamble": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/package-preamble/-/package-preamble-0.1.0.tgz", "integrity": "sha1-xDlzgbcDU0SOQlXqmkml5bQYymg=", "dev": true }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, "path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", "dev": true }, "path-parse": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", "dev": true }, "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", "dev": true }, "pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true }, "pluralize": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", "dev": true }, "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, "process-nextick-args": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", "dev": true }, "progress": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", "dev": true }, "readable-stream": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "dev": true }, "readline2": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", "dev": true }, "rechoir": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", "dev": true }, "require-uncached": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true }, "resolve": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.3.3.tgz", "integrity": "sha1-ZVkHw0aahoDcLeOidaj91paR8OU=", "dev": true }, "resolve-from": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", "dev": true }, "restore-cursor": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", "dev": true }, "resumer": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz", "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=", "dev": true }, "rimraf": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", "dev": true }, "rollup": { "version": "0.45.1", "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.45.1.tgz", "integrity": "sha512-uAARayLMSESiUdpwkcDgUky4TwPBQhvpZmz3UuMtNoyeq79iHEM9IyBTB/5TWEBtzz4D/j2x0KAGMOVq6MhO7g==", "dev": true }, "run-async": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", "dev": true }, "rx-lite": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", "dev": true }, "safe-buffer": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", "dev": true }, "shelljs": { "version": "0.7.8", "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", "dev": true }, "slice-ansi": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", "dev": true }, "source-map": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", "dev": true }, "source-map-support": { "version": "0.4.15", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.15.tgz", "integrity": "sha1-AyAt9lwG0r2MfsI2KhkwVv7407E=", "dev": true }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, "string_decoder": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "dev": true }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true }, "string.prototype.trim": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz", "integrity": "sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=", "dev": true }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true }, "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true }, "table": { "version": "3.8.3", "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", "dev": true, "dependencies": { "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, "string-width": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.0.tgz", "integrity": "sha1-AwZkVh/BRslCPsfZeP4kV0N/5tA=", "dev": true }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true } } }, "tape": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/tape/-/tape-4.7.0.tgz", "integrity": "sha512-ePzu2KfZYVtq0v+KKGxBJ9HJWYZ4MaQWeGabD+KpVdMKRen3NJPf6EiwA5BxfMkhQPGtCwnOFWelcB39bhOUng==", "dev": true, "dependencies": { "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true } } }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, "tryit": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz", "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=", "dev": true }, "type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, "uglify-js": { "version": "3.0.24", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.0.24.tgz", "integrity": "sha512-IZ7l7MU2j7LIuz6IAFWBOk1dbuQ0QVQsKLffpNPKXuL8NYcFBBQ5QkvMAtfL1+oaBW16344DY4sA26GI9cXzlA==", "dev": true }, "user-home": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", "dev": true }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "dev": true }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "write": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true }, "xtend": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", "dev": true } } } d3-drag-1.2.1/package.json000066400000000000000000000026601316474147000152350ustar00rootroot00000000000000{ "name": "d3-drag", "version": "1.2.1", "description": "Drag and drop SVG, HTML or Canvas using mouse or touch input.", "keywords": [ "d3", "d3-module", "drag", "behavior", "interaction" ], "homepage": "https://d3js.org/d3-drag/", "license": "BSD-3-Clause", "author": { "name": "Mike Bostock", "url": "http://bost.ocks.org/mike" }, "main": "build/d3-drag.js", "module": "index", "jsnext:main": "index", "repository": { "type": "git", "url": "https://github.com/d3/d3-drag.git" }, "scripts": { "pretest": "rm -rf build && mkdir build && rollup -c --banner \"$(preamble)\"", "test": "tape 'test/**/*-test.js' && eslint index.js src", "prepublishOnly": "npm run test && uglifyjs -b beautify=false,preamble=\"'$(preamble)'\" build/d3-drag.js -c -m -o build/d3-drag.min.js", "postpublish": "git push && git push --tags && cd ../d3.github.com && git pull && cp ../d3-drag/build/d3-drag.js d3-drag.v1.js && cp ../d3-drag/build/d3-drag.min.js d3-drag.v1.min.js && git add d3-drag.v1.js d3-drag.v1.min.js && git commit -m \"d3-drag ${npm_package_version}\" && git push && cd - && zip -j build/d3-drag.zip -- LICENSE README.md build/d3-drag.js build/d3-drag.min.js" }, "dependencies": { "d3-dispatch": "1", "d3-selection": "1" }, "devDependencies": { "eslint": "4", "package-preamble": "0.1", "rollup": "0.50", "tape": "4", "uglify-js": "3" } } d3-drag-1.2.1/rollup.config.js000066400000000000000000000005311316474147000160610ustar00rootroot00000000000000const definition = require("./package.json"); const dependencies = Object.keys(definition.dependencies); export default { input: "index", external: dependencies, output: { extend: true, file: `build/${definition.name}.js`, format: "umd", globals: dependencies.reduce((p, v) => (p[v] = "d3", p), {}), name: "d3" } }; d3-drag-1.2.1/src/000077500000000000000000000000001316474147000135325ustar00rootroot00000000000000d3-drag-1.2.1/src/constant.js000066400000000000000000000001101316474147000157110ustar00rootroot00000000000000export default function(x) { return function() { return x; }; } d3-drag-1.2.1/src/drag.js000066400000000000000000000116251316474147000150120ustar00rootroot00000000000000import {dispatch} from "d3-dispatch"; import {event, customEvent, select, mouse, touch} from "d3-selection"; import nodrag, {yesdrag} from "./nodrag"; import noevent, {nopropagation} from "./noevent"; import constant from "./constant"; import DragEvent from "./event"; // Ignore right-click, since that should open the context menu. function defaultFilter() { return !event.button; } function defaultContainer() { return this.parentNode; } function defaultSubject(d) { return d == null ? {x: event.x, y: event.y} : d; } function defaultTouchable() { return "ontouchstart" in this; } export default function() { var filter = defaultFilter, container = defaultContainer, subject = defaultSubject, touchable = defaultTouchable, gestures = {}, listeners = dispatch("start", "drag", "end"), active = 0, mousedownx, mousedowny, mousemoving, touchending, clickDistance2 = 0; function drag(selection) { selection .on("mousedown.drag", mousedowned) .filter(touchable) .on("touchstart.drag", touchstarted) .on("touchmove.drag", touchmoved) .on("touchend.drag touchcancel.drag", touchended) .style("touch-action", "none") .style("-webkit-tap-highlight-color", "rgba(0,0,0,0)"); } function mousedowned() { if (touchending || !filter.apply(this, arguments)) return; var gesture = beforestart("mouse", container.apply(this, arguments), mouse, this, arguments); if (!gesture) return; select(event.view).on("mousemove.drag", mousemoved, true).on("mouseup.drag", mouseupped, true); nodrag(event.view); nopropagation(); mousemoving = false; mousedownx = event.clientX; mousedowny = event.clientY; gesture("start"); } function mousemoved() { noevent(); if (!mousemoving) { var dx = event.clientX - mousedownx, dy = event.clientY - mousedowny; mousemoving = dx * dx + dy * dy > clickDistance2; } gestures.mouse("drag"); } function mouseupped() { select(event.view).on("mousemove.drag mouseup.drag", null); yesdrag(event.view, mousemoving); noevent(); gestures.mouse("end"); } function touchstarted() { if (!filter.apply(this, arguments)) return; var touches = event.changedTouches, c = container.apply(this, arguments), n = touches.length, i, gesture; for (i = 0; i < n; ++i) { if (gesture = beforestart(touches[i].identifier, c, touch, this, arguments)) { nopropagation(); gesture("start"); } } } function touchmoved() { var touches = event.changedTouches, n = touches.length, i, gesture; for (i = 0; i < n; ++i) { if (gesture = gestures[touches[i].identifier]) { noevent(); gesture("drag"); } } } function touchended() { var touches = event.changedTouches, n = touches.length, i, gesture; if (touchending) clearTimeout(touchending); touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed! for (i = 0; i < n; ++i) { if (gesture = gestures[touches[i].identifier]) { nopropagation(); gesture("end"); } } } function beforestart(id, container, point, that, args) { var p = point(container, id), s, dx, dy, sublisteners = listeners.copy(); if (!customEvent(new DragEvent(drag, "beforestart", s, id, active, p[0], p[1], 0, 0, sublisteners), function() { if ((event.subject = s = subject.apply(that, args)) == null) return false; dx = s.x - p[0] || 0; dy = s.y - p[1] || 0; return true; })) return; return function gesture(type) { var p0 = p, n; switch (type) { case "start": gestures[id] = gesture, n = active++; break; case "end": delete gestures[id], --active; // nobreak case "drag": p = point(container, id), n = active; break; } customEvent(new DragEvent(drag, type, s, id, n, p[0] + dx, p[1] + dy, p[0] - p0[0], p[1] - p0[1], sublisteners), sublisteners.apply, sublisteners, [type, that, args]); }; } drag.filter = function(_) { return arguments.length ? (filter = typeof _ === "function" ? _ : constant(!!_), drag) : filter; }; drag.container = function(_) { return arguments.length ? (container = typeof _ === "function" ? _ : constant(_), drag) : container; }; drag.subject = function(_) { return arguments.length ? (subject = typeof _ === "function" ? _ : constant(_), drag) : subject; }; drag.touchable = function(_) { return arguments.length ? (touchable = typeof _ === "function" ? _ : constant(!!_), drag) : touchable; }; drag.on = function() { var value = listeners.on.apply(listeners, arguments); return value === listeners ? drag : value; }; drag.clickDistance = function(_) { return arguments.length ? (clickDistance2 = (_ = +_) * _, drag) : Math.sqrt(clickDistance2); }; return drag; } d3-drag-1.2.1/src/event.js000066400000000000000000000006561316474147000152200ustar00rootroot00000000000000export default function DragEvent(target, type, subject, id, active, x, y, dx, dy, dispatch) { this.target = target; this.type = type; this.subject = subject; this.identifier = id; this.active = active; this.x = x; this.y = y; this.dx = dx; this.dy = dy; this._ = dispatch; } DragEvent.prototype.on = function() { var value = this._.on.apply(this._, arguments); return value === this._ ? this : value; }; d3-drag-1.2.1/src/nodrag.js000066400000000000000000000015311316474147000153420ustar00rootroot00000000000000import {select} from "d3-selection"; import noevent from "./noevent"; export default function(view) { var root = view.document.documentElement, selection = select(view).on("dragstart.drag", noevent, true); if ("onselectstart" in root) { selection.on("selectstart.drag", noevent, true); } else { root.__noselect = root.style.MozUserSelect; root.style.MozUserSelect = "none"; } } export function yesdrag(view, noclick) { var root = view.document.documentElement, selection = select(view).on("dragstart.drag", null); if (noclick) { selection.on("click.drag", noevent, true); setTimeout(function() { selection.on("click.drag", null); }, 0); } if ("onselectstart" in root) { selection.on("selectstart.drag", null); } else { root.style.MozUserSelect = root.__noselect; delete root.__noselect; } } d3-drag-1.2.1/src/noevent.js000066400000000000000000000003121316474147000155420ustar00rootroot00000000000000import {event} from "d3-selection"; export function nopropagation() { event.stopImmediatePropagation(); } export default function() { event.preventDefault(); event.stopImmediatePropagation(); }