From 30785238ea10facbc0b9918161ffca6bae424df4 Mon Sep 17 00:00:00 2001 From: Reda Lemeden Date: Mon, 1 Jan 2018 22:31:38 +0100 Subject: [PATCH] Update documentation with latest changes --- Supporting Files/Info.plist | 2 +- docs/Classes.html | 4 +- docs/Classes/Animator.html | 4 +- docs/Classes/GIFImageView.html | 4 +- docs/Protocols.html | 4 +- docs/Protocols/GIFAnimatable.html | 64 ++++++++++++++---- docs/Protocols/ImageContainer.html | 4 +- .../Contents/Resources/Documents/Classes.html | 4 +- .../Resources/Documents/Classes/Animator.html | 4 +- .../Documents/Classes/GIFImageView.html | 4 +- .../Resources/Documents/Protocols.html | 4 +- .../Documents/Protocols/GIFAnimatable.html | 64 ++++++++++++++---- .../Documents/Protocols/ImageContainer.html | 4 +- .../Contents/Resources/Documents/index.html | 20 +++--- .../Contents/Resources/Documents/search.json | 2 +- .../Contents/Resources/docSet.dsidx | Bin 12288 -> 12288 bytes docs/docsets/Gifu.tgz | Bin 51829 -> 51846 bytes docs/docsets/Gifu.xml | 2 +- docs/index.html | 20 +++--- docs/search.json | 2 +- 20 files changed, 146 insertions(+), 70 deletions(-) diff --git a/Supporting Files/Info.plist b/Supporting Files/Info.plist index 12bd5e1..b892276 100644 --- a/Supporting Files/Info.plist +++ b/Supporting Files/Info.plist @@ -19,7 +19,7 @@ CFBundleSignature ???? CFBundleVersion - 136 + 140 NSPrincipalClass diff --git a/docs/Classes.html b/docs/Classes.html index 9fd3472..9543f42 100644 --- a/docs/Classes.html +++ b/docs/Classes.html @@ -15,7 +15,7 @@

Gifu Docs (100% documented)

View on GitHub

-

Install in Dash

+

Install in Dash

@@ -127,7 +127,7 @@ diff --git a/docs/Classes/Animator.html b/docs/Classes/Animator.html index 29d8731..801f0a8 100644 --- a/docs/Classes/Animator.html +++ b/docs/Classes/Animator.html @@ -16,7 +16,7 @@
@@ -124,7 +124,7 @@ diff --git a/docs/Classes/GIFImageView.html b/docs/Classes/GIFImageView.html index b584c52..242157e 100644 --- a/docs/Classes/GIFImageView.html +++ b/docs/Classes/GIFImageView.html @@ -16,7 +16,7 @@
@@ -147,7 +147,7 @@ diff --git a/docs/Protocols.html b/docs/Protocols.html index 0a0c464..a2da918 100644 --- a/docs/Protocols.html +++ b/docs/Protocols.html @@ -15,7 +15,7 @@
@@ -123,7 +123,7 @@ diff --git a/docs/Protocols/GIFAnimatable.html b/docs/Protocols/GIFAnimatable.html index 46020a3..7b242fe 100644 --- a/docs/Protocols/GIFAnimatable.html +++ b/docs/Protocols/GIFAnimatable.html @@ -16,7 +16,7 @@
@@ -338,9 +338,9 @@
  • - - - animate(withGIFNamed:loopCount:) + + + animate(withGIFNamed:loopCount:completionHandler:) Extension method @@ -358,7 +358,7 @@

    Declaration

    Swift

    -
    public func animate(withGIFNamed imageName: String, loopCount: Int = 0)
    +
    public func animate(withGIFNamed imageName: String, loopCount: Int = 0, completionHandler: (() -> Void)? = nil)
    @@ -390,6 +390,18 @@
  • + + + + completionHandler + + + +
    +

    Completion callback function

    +
    + +
    @@ -399,9 +411,9 @@
  • - - - animate(withGIFData:loopCount:) + + + animate(withGIFData:loopCount:completionHandler:) Extension method @@ -419,7 +431,7 @@

    Declaration

    Swift

    -
    public func animate(withGIFData imageData: Data, loopCount: Int = 0)
    +
    public func animate(withGIFData imageData: Data, loopCount: Int = 0, completionHandler: (() -> Void)? = nil)
    @@ -451,6 +463,18 @@
  • + + + + completionHandler + + + +
    +

    Completion callback function

    +
    + +
    @@ -460,9 +484,9 @@
  • - - - animate(withGIFURL:loopCount:) + + + animate(withGIFURL:loopCount:completionHandler:) Extension method @@ -480,7 +504,7 @@

    Declaration

    Swift

    -
    public func animate(withGIFURL imageURL: URL, loopCount: Int = 0)
    +
    public func animate(withGIFURL imageURL: URL, loopCount: Int = 0, completionHandler: (() -> Void)? = nil)
    @@ -512,6 +536,18 @@
  • + + + + completionHandler + + + +
    +

    Completion callback function

    +
    + + @@ -930,7 +966,7 @@ diff --git a/docs/Protocols/ImageContainer.html b/docs/Protocols/ImageContainer.html index 3ec3143..0ca73d5 100644 --- a/docs/Protocols/ImageContainer.html +++ b/docs/Protocols/ImageContainer.html @@ -16,7 +16,7 @@

    Gifu Docs (100% documented)

    View on GitHub

    -

    Install in Dash

    +

    Install in Dash

    @@ -101,7 +101,7 @@ diff --git a/docs/docsets/Gifu.docset/Contents/Resources/Documents/Classes.html b/docs/docsets/Gifu.docset/Contents/Resources/Documents/Classes.html index 9fd3472..9543f42 100644 --- a/docs/docsets/Gifu.docset/Contents/Resources/Documents/Classes.html +++ b/docs/docsets/Gifu.docset/Contents/Resources/Documents/Classes.html @@ -15,7 +15,7 @@
    @@ -127,7 +127,7 @@ diff --git a/docs/docsets/Gifu.docset/Contents/Resources/Documents/Classes/Animator.html b/docs/docsets/Gifu.docset/Contents/Resources/Documents/Classes/Animator.html index 29d8731..801f0a8 100644 --- a/docs/docsets/Gifu.docset/Contents/Resources/Documents/Classes/Animator.html +++ b/docs/docsets/Gifu.docset/Contents/Resources/Documents/Classes/Animator.html @@ -16,7 +16,7 @@
    @@ -124,7 +124,7 @@ diff --git a/docs/docsets/Gifu.docset/Contents/Resources/Documents/Classes/GIFImageView.html b/docs/docsets/Gifu.docset/Contents/Resources/Documents/Classes/GIFImageView.html index b584c52..242157e 100644 --- a/docs/docsets/Gifu.docset/Contents/Resources/Documents/Classes/GIFImageView.html +++ b/docs/docsets/Gifu.docset/Contents/Resources/Documents/Classes/GIFImageView.html @@ -16,7 +16,7 @@
    @@ -147,7 +147,7 @@ diff --git a/docs/docsets/Gifu.docset/Contents/Resources/Documents/Protocols.html b/docs/docsets/Gifu.docset/Contents/Resources/Documents/Protocols.html index 0a0c464..a2da918 100644 --- a/docs/docsets/Gifu.docset/Contents/Resources/Documents/Protocols.html +++ b/docs/docsets/Gifu.docset/Contents/Resources/Documents/Protocols.html @@ -15,7 +15,7 @@
    @@ -123,7 +123,7 @@ diff --git a/docs/docsets/Gifu.docset/Contents/Resources/Documents/Protocols/GIFAnimatable.html b/docs/docsets/Gifu.docset/Contents/Resources/Documents/Protocols/GIFAnimatable.html index 46020a3..7b242fe 100644 --- a/docs/docsets/Gifu.docset/Contents/Resources/Documents/Protocols/GIFAnimatable.html +++ b/docs/docsets/Gifu.docset/Contents/Resources/Documents/Protocols/GIFAnimatable.html @@ -16,7 +16,7 @@
    @@ -338,9 +338,9 @@
  • - - - animate(withGIFNamed:loopCount:) + + + animate(withGIFNamed:loopCount:completionHandler:) Extension method @@ -358,7 +358,7 @@

    Declaration

    Swift

    -
    public func animate(withGIFNamed imageName: String, loopCount: Int = 0)
    +
    public func animate(withGIFNamed imageName: String, loopCount: Int = 0, completionHandler: (() -> Void)? = nil)
    @@ -390,6 +390,18 @@
  • + + + + completionHandler + + + +
    +

    Completion callback function

    +
    + +
    @@ -399,9 +411,9 @@
  • - - - animate(withGIFData:loopCount:) + + + animate(withGIFData:loopCount:completionHandler:) Extension method @@ -419,7 +431,7 @@

    Declaration

    Swift

    -
    public func animate(withGIFData imageData: Data, loopCount: Int = 0)
    +
    public func animate(withGIFData imageData: Data, loopCount: Int = 0, completionHandler: (() -> Void)? = nil)
    @@ -451,6 +463,18 @@
  • + + + + completionHandler + + + +
    +

    Completion callback function

    +
    + +
    @@ -460,9 +484,9 @@
  • - - - animate(withGIFURL:loopCount:) + + + animate(withGIFURL:loopCount:completionHandler:) Extension method @@ -480,7 +504,7 @@

    Declaration

    Swift

    -
    public func animate(withGIFURL imageURL: URL, loopCount: Int = 0)
    +
    public func animate(withGIFURL imageURL: URL, loopCount: Int = 0, completionHandler: (() -> Void)? = nil)
    @@ -512,6 +536,18 @@
  • + + + + completionHandler + + + +
    +

    Completion callback function

    +
    + +
    @@ -930,7 +966,7 @@ diff --git a/docs/docsets/Gifu.docset/Contents/Resources/Documents/Protocols/ImageContainer.html b/docs/docsets/Gifu.docset/Contents/Resources/Documents/Protocols/ImageContainer.html index 3ec3143..0ca73d5 100644 --- a/docs/docsets/Gifu.docset/Contents/Resources/Documents/Protocols/ImageContainer.html +++ b/docs/docsets/Gifu.docset/Contents/Resources/Documents/Protocols/ImageContainer.html @@ -16,7 +16,7 @@

    Gifu Docs (100% documented)

    View on GitHub

    -

    Install in Dash

    +

    Install in Dash

    @@ -101,7 +101,7 @@ diff --git a/docs/docsets/Gifu.docset/Contents/Resources/Documents/index.html b/docs/docsets/Gifu.docset/Contents/Resources/Documents/index.html index 527df1b..9267874 100644 --- a/docs/docsets/Gifu.docset/Contents/Resources/Documents/index.html +++ b/docs/docsets/Gifu.docset/Contents/Resources/Documents/index.html @@ -15,7 +15,7 @@
    @@ -58,11 +58,9 @@

    Logo

    -

    GitHub release Bitrise Carthage compatible Join the chat at https://gitter.im/kaishin/gifu Swift 3.0.x platforms

    +

    GitHub release Bitrise Carthage compatible Swift 4.0 platforms

    Gifu adds protocol-based, performance-aware animated GIF support to UIKit. (It’s also a prefecture in Japan).

    - -

    ⚠ The master branch works with Xcode 9 and iOS 11, which are both in beta. Use v2.0 for the stable version.

    Install

    Carthage

    @@ -168,7 +166,9 @@ containing 10 frames, Gifu will load the current frame (red), buffer the next tw

    The simplest way to get started is initializing a GIFAnimatable class in code or in a storyboard, then calling animate(:) on it.

    let imageView = GIFImageView(frame: CGRect(x: 0, y: 0, width: 200, height: 100))
    -imageView.animate(withGIFNamed: "mugen")
    +imageView.animate(withGIFNamed: "mugen") {
    +  print("It's animating!")
    +}
     

    You can also prepare for the animation when the view loads and only start animating after a user interaction.

    @@ -176,7 +176,9 @@ containing 10 frames, Gifu will load the current frame (red), buffer the next tw override func viewDidLoad() { super.viewDidLoad() - imageView.prepareForAnimation(withGIFNamed: "mugen") + imageView.prepareForAnimation(withGIFNamed: "mugen") { + print("Ready to animate!") + } } @IBAction func toggleAnimation(_ sender: AnyObject) { @@ -204,8 +206,8 @@ containing 10 frames, Gifu will load the current frame (red), buffer the next tw
    • iOS 9.0+
    • -
    • Swift 3.0
    • -
    • Xcode 8.0
    • +
    • Swift 4.0
    • +
    • Xcode 9.0

    License

    @@ -214,7 +216,7 @@ containing 10 frames, Gifu will load the current frame (red), buffer the next tw diff --git a/docs/docsets/Gifu.docset/Contents/Resources/Documents/search.json b/docs/docsets/Gifu.docset/Contents/Resources/Documents/search.json index 32cefa2..a3afd9f 100644 --- a/docs/docsets/Gifu.docset/Contents/Resources/Documents/search.json +++ b/docs/docsets/Gifu.docset/Contents/Resources/Documents/search.json @@ -1 +1 @@ -{"Protocols/ImageContainer.html#/s:4Gifu14ImageContainerP5imageSo7UIImageCSgv":{"name":"image","abstract":"

    Used for displaying the animation frames.

    ","parent_name":"ImageContainer"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatableP8animatorAA8AnimatorCSgv":{"name":"animator","abstract":"

    Responsible for managing the animation frames.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatableP5layerSo7CALayerCv":{"name":"layer","abstract":"

    Notifies the instance that it needs display.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatableP5frameSC6CGRectVv":{"name":"frame","abstract":"

    View frame used for resizing the frames.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatableP11contentModeSC013UIViewContentD0Ov":{"name":"contentMode","abstract":"

    Content mode used for resizing the frames.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePA2aBRzAA14ImageContainerRzlE20intrinsicContentSizeSC6CGSizeVv":{"name":"intrinsicContentSize","abstract":"

    Returns the intrinsic content size based on the size of the image.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE15gifLoopDurationSdv":{"name":"gifLoopDuration","abstract":"

    Total duration of one animation loop

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE11activeFrameSo7UIImageCSgv":{"name":"activeFrame","abstract":"

    Returns the active frame if available.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE10frameCountSiv":{"name":"frameCount","abstract":"

    Total frame count of the GIF.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE14isAnimatingGIFSbv":{"name":"isAnimatingGIF","abstract":"

    Introspect whether the instance is animating.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE7animateySS12withGIFNamed_Si9loopCounttF":{"name":"animate(withGIFNamed:loopCount:)","abstract":"

    Prepare for animation and start animating immediately.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE7animatey10Foundation4DataV11withGIFData_Si9loopCounttF":{"name":"animate(withGIFData:loopCount:)","abstract":"

    Prepare for animation and start animating immediately.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE7animatey10Foundation3URLV10withGIFURL_Si9loopCounttF":{"name":"animate(withGIFURL:loopCount:)","abstract":"

    Prepare for animation and start animating immediately.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE19prepareForAnimationySS12withGIFNamed_Si9loopCountyycSg17completionHandlertF":{"name":"prepareForAnimation(withGIFNamed:loopCount:completionHandler:)","abstract":"

    Prepares the animator instance for animation.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE19prepareForAnimationy10Foundation4DataV11withGIFData_Si9loopCountyycSg17completionHandlertF":{"name":"prepareForAnimation(withGIFData:loopCount:completionHandler:)","abstract":"

    Prepare for animation and start animating immediately.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE19prepareForAnimationy10Foundation3URLV10withGIFURL_Si9loopCountyycSg17completionHandlertF":{"name":"prepareForAnimation(withGIFURL:loopCount:completionHandler:)","abstract":"

    Prepare for animation and start animating immediately.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE15prepareForReuseyyF":{"name":"prepareForReuse()","abstract":"

    Stop animating and free up GIF data from memory.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE17startAnimatingGIFyyF":{"name":"startAnimatingGIF()","abstract":"

    Start animating GIF.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE16stopAnimatingGIFyyF":{"name":"stopAnimatingGIF()","abstract":"

    Stop animating GIF.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE21setShouldResizeFramesySbF":{"name":"setShouldResizeFrames(_:)","abstract":"

    Whether the frame images should be resized or not. The default is false, which means that the frame images retain their original size.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE19setFrameBufferCountySiF":{"name":"setFrameBufferCount(_:)","abstract":"

    Sets the number of frames that should be buffered. Default is 50. A high number will result in more memory usage and less CPU load, and vice versa.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE19updateImageIfNeededyyF":{"name":"updateImageIfNeeded()","abstract":"

    Updates the image with a new frame if necessary.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html":{"name":"GIFAnimatable","abstract":"

    The protocol that view classes need to conform to to enable animated GIF support.

    "},"Protocols/ImageContainer.html":{"name":"ImageContainer","abstract":"

    A single-property protocol that animatable classes can optionally conform to.

    "},"Classes/Animator.html#/s:4Gifu8AnimatorCAcA13GIFAnimatable_p12withDelegate_tcfc":{"name":"init(withDelegate:)","abstract":"

    Creates a new animator with a delegate.

    ","parent_name":"Animator"},"Classes/GIFImageView.html#/s:4Gifu12GIFImageViewC8animatorAA8AnimatorCSgv":{"name":"animator","abstract":"

    A lazy animator.

    ","parent_name":"GIFImageView"},"Classes/GIFImageView.html#/c:@M@Gifu@objc(cs)GIFImageView(im)displayLayer:":{"name":"display(_:)","abstract":"

    Layer delegate method called periodically by the layer. Should not be called manually.

    ","parent_name":"GIFImageView"},"Classes/GIFImageView.html":{"name":"GIFImageView","abstract":"

    Example class that conforms to GIFAnimatable. Uses default values for the animator frame buffer count and resize behavior. You can either use it directly in your code or use it as a blueprint for your own subclass.

    "},"Classes/Animator.html":{"name":"Animator","abstract":"

    Responsible for parsing GIF data and decoding the individual frames.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "}} \ No newline at end of file +{"Protocols/ImageContainer.html#/s:4Gifu14ImageContainerP5imageSo7UIImageCSgv":{"name":"image","abstract":"

    Used for displaying the animation frames.

    ","parent_name":"ImageContainer"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatableP8animatorAA8AnimatorCSgv":{"name":"animator","abstract":"

    Responsible for managing the animation frames.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatableP5layerSo7CALayerCv":{"name":"layer","abstract":"

    Notifies the instance that it needs display.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatableP5frameSC6CGRectVv":{"name":"frame","abstract":"

    View frame used for resizing the frames.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatableP11contentModeSC013UIViewContentD0Ov":{"name":"contentMode","abstract":"

    Content mode used for resizing the frames.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePA2aBRzAA14ImageContainerRzlE20intrinsicContentSizeSC6CGSizeVv":{"name":"intrinsicContentSize","abstract":"

    Returns the intrinsic content size based on the size of the image.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE15gifLoopDurationSdv":{"name":"gifLoopDuration","abstract":"

    Total duration of one animation loop

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE11activeFrameSo7UIImageCSgv":{"name":"activeFrame","abstract":"

    Returns the active frame if available.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE10frameCountSiv":{"name":"frameCount","abstract":"

    Total frame count of the GIF.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE14isAnimatingGIFSbv":{"name":"isAnimatingGIF","abstract":"

    Introspect whether the instance is animating.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE7animateySS12withGIFNamed_Si9loopCountyycSg17completionHandlertF":{"name":"animate(withGIFNamed:loopCount:completionHandler:)","abstract":"

    Prepare for animation and start animating immediately.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE7animatey10Foundation4DataV11withGIFData_Si9loopCountyycSg17completionHandlertF":{"name":"animate(withGIFData:loopCount:completionHandler:)","abstract":"

    Prepare for animation and start animating immediately.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE7animatey10Foundation3URLV10withGIFURL_Si9loopCountyycSg17completionHandlertF":{"name":"animate(withGIFURL:loopCount:completionHandler:)","abstract":"

    Prepare for animation and start animating immediately.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE19prepareForAnimationySS12withGIFNamed_Si9loopCountyycSg17completionHandlertF":{"name":"prepareForAnimation(withGIFNamed:loopCount:completionHandler:)","abstract":"

    Prepares the animator instance for animation.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE19prepareForAnimationy10Foundation4DataV11withGIFData_Si9loopCountyycSg17completionHandlertF":{"name":"prepareForAnimation(withGIFData:loopCount:completionHandler:)","abstract":"

    Prepare for animation and start animating immediately.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE19prepareForAnimationy10Foundation3URLV10withGIFURL_Si9loopCountyycSg17completionHandlertF":{"name":"prepareForAnimation(withGIFURL:loopCount:completionHandler:)","abstract":"

    Prepare for animation and start animating immediately.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE15prepareForReuseyyF":{"name":"prepareForReuse()","abstract":"

    Stop animating and free up GIF data from memory.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE17startAnimatingGIFyyF":{"name":"startAnimatingGIF()","abstract":"

    Start animating GIF.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE16stopAnimatingGIFyyF":{"name":"stopAnimatingGIF()","abstract":"

    Stop animating GIF.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE21setShouldResizeFramesySbF":{"name":"setShouldResizeFrames(_:)","abstract":"

    Whether the frame images should be resized or not. The default is false, which means that the frame images retain their original size.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE19setFrameBufferCountySiF":{"name":"setFrameBufferCount(_:)","abstract":"

    Sets the number of frames that should be buffered. Default is 50. A high number will result in more memory usage and less CPU load, and vice versa.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE19updateImageIfNeededyyF":{"name":"updateImageIfNeeded()","abstract":"

    Updates the image with a new frame if necessary.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html":{"name":"GIFAnimatable","abstract":"

    The protocol that view classes need to conform to to enable animated GIF support.

    "},"Protocols/ImageContainer.html":{"name":"ImageContainer","abstract":"

    A single-property protocol that animatable classes can optionally conform to.

    "},"Classes/Animator.html#/s:4Gifu8AnimatorCAcA13GIFAnimatable_p12withDelegate_tcfc":{"name":"init(withDelegate:)","abstract":"

    Creates a new animator with a delegate.

    ","parent_name":"Animator"},"Classes/GIFImageView.html#/s:4Gifu12GIFImageViewC8animatorAA8AnimatorCSgv":{"name":"animator","abstract":"

    A lazy animator.

    ","parent_name":"GIFImageView"},"Classes/GIFImageView.html#/c:@M@Gifu@objc(cs)GIFImageView(im)displayLayer:":{"name":"display(_:)","abstract":"

    Layer delegate method called periodically by the layer. Should not be called manually.

    ","parent_name":"GIFImageView"},"Classes/GIFImageView.html":{"name":"GIFImageView","abstract":"

    Example class that conforms to GIFAnimatable. Uses default values for the animator frame buffer count and resize behavior. You can either use it directly in your code or use it as a blueprint for your own subclass.

    "},"Classes/Animator.html":{"name":"Animator","abstract":"

    Responsible for parsing GIF data and decoding the individual frames.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "}} \ No newline at end of file diff --git a/docs/docsets/Gifu.docset/Contents/Resources/docSet.dsidx b/docs/docsets/Gifu.docset/Contents/Resources/docSet.dsidx index 87f765ab5927b741bde0d683621e60bf4937adf0..d13afb4103af452e45d8a2f8c9169335dfcb336a 100644 GIT binary patch delta 346 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 z zUxgMW0@PY+R&C+F8*)9Tt}ASmxA@HRQ4qjE(ETn_dHH^t-8*C&#ppKP5>rS8UI;T0ma!CGklDu-|p&5AuYz&HN&#NZH};>R+w-4Tx|u4`ZD_tFE$(mpb8 zVuumI#Gk99xyEF?JiqOu3&KzaI`egm6O_(J5V&buNtpU3U5pQubKj~ zY(Ns1D=Vx!tbJ%g?>(N&yHR!kBKN^6vE?<^&HvPNJzf=LQCMzf=tY|8A*tkS+-zAe zZIu^^H3paEd*s-hZ^VeB=5p)C&TgM?lDcY_3CUpXS&b~+p2K5gkFS{owBEwZ;Xd%@ z53gx3&~6eq?K~%?{Hn;A6Ia8SEDCGeQw_woaFCfOS8y7bJ;!bPA;G`uR)Leq6H;|Y zmP?h(?Vb=^FuPw&M-aa7pO`WvAgO=vo$S*V#c#cSviPG|b|*n4lN`2D)ziEPd~zxu zb_mU)S=-M~U#8EB!WtIND611=c6g9P3ZknRu5wAr z<*a$a*>wG|@dV@UG}cWCt^?qSKEsZ?&oti`8_!STp2ir#^*nI@eV^g~)V9XM7lX}D zy8M><&jnHF{|R$5%R6Az@hd8@g6k1rAb4>LzUYFqNqVmB-*b8XFc2*dn11VhJZ!9f z0@j*l0Z-V~X?@7$@Zo8lK5f@cPo#8}p6*tEj(M$Pal;(k01k#ZPxRHx0Q6=)2fA*A zbC2&A43a+W>brZK{6H2Fs}&+{kh8IZ0;ZyG^c3CZFLx2K4K4xNS^8!ymZzqVvbX4q ziC8~!*0u&1wEx3CfU;?lUHmFGMXafp;x%h z_tjI6T%3neZf9fW9ybxcC5XJGp(@}V*S2)6=c8(+#i=BpKU_22nwPL=8%k3z;H}$o z&&@-|yg=3~rW^KAZ5fYZmo~9AQz4~%&4Vt~%YV(ka19u4U&ClebkUW5d1%R>zh0!J z1$0;E_8H7unb|o{Q()Y97YplZJ=vEl4vMYhqTW)h(K%YUSwu9wyqI0`YwAIR1zRQM z(p+N}GK}ttsTTJ7w{;&BqI`(Cn|6_7saOkvnBrgl$o&(iWgDw=h${05nivaZ4$TRd zaBp;RA2f!sVTgwAtdGUA(LuaiR(B(80Df5BxgHG1P;hmrxkc6QPxHL#9AtmQysq7T zD$I^8sFP-0fd4CTU^EmG;>&aJ`G|$in-C*|i<`e&3p7^9=roC<1)Am4lYb#~btBT^ z8Z1b=uo0=r+t7#W9O|XSd%-uKLEIczxrE{1X=oM@N@HW_FRttStdaP|rDNg-bP}&< zY}C{W@XWQq3TevZt~-WZwDL`U4^Zc$`NUqGR+k>#a7*G|cue64OWM1L=L(aLxMXy; z3wBkR8t8Wl6KI{tb^j2y*Qw%>o;klhB8=qIE-+($v{z zgNfwbr-6$J3&K0n0<)$|lcW!zcX95wXu*pRufzQ>3$VSA;Kn)_N!h=%wT>_=AVSOu z_YwL+-K~WJA;!i;W45MwE2dws8M`}XSkA(R%bge!mTPeM#~(+ND}nW|+rKvAl#*74 zQHul$Pvl1B%CF5g5`yQp@v;(0zO9%T%&)wmv~zs9-s0{|@-wWtf-{2v60br9#;+az z5T;x_H?^GScHH>NBwXf|B|&ac9g;>^&O-;iMFxoLU zJ-`*4+a1K}2>lgLqANrnQ=1?mw!aeAPV!od-S6Fh?!Al!+dhK{T$km1WEnny(*jj5 z=4|lk=-l)h`0==r0c-&HL-Ahrez<^}(T9&c!JJvOv3Irm?;Fm?JLY1mHy^G(0P&8& z$WyCiPw!WAdy$o$o{;yJJ*Le&hleZayghXT%Wk&Tg144r0Rj4XB9Hp^`-aYc&uH%1 zyk>W}>F(L#od;s~C+%`V##x!$)qD0`xyY{RUEEgcLcA>U+wA~*y^6Z@`i71m0W4el zl2KmgsNl>=YU)CE+7^#}FGXaGIlAkxi<>#`WYU`WkyVmYR`!BE67lpg|9bKrdcP2# zqv_v>JLYr?xAEs+&fb&H1R|8~ygv50FC;g)^U<|x7Vw#-UaqPmv42h~J7oB0DEHkw zNwnaIQ~yJVJ_L#vS}IT3n^^b~q|x-VzcXPKyHlxHxR1m5UR*KIZO$wDi1X4r;c6Ad zn3e=bRPo6=^`@KpXK$d+-c+LkNL=tMT_N*4TwQrS!u*b(|DHX#r?20a{w@k5;?zM7 zr%`UGa8>FRBYx9A*R+TM`P#ocqDm5~84_0I@INr2lLAo@X|9#nOzGM|v2q8a_tlGX zxUgCV#O?E`Bg+*8W+VHCGwddf0--%NB4Um~ghYy=n{&=h{D~@(+sw9OS#m9ZIU}%Q zbfau5uRlS=Mq>8*LPqTWNvPA-?J6Dm8CA;TxoU2-=08y`>w~R0gJ-*ASKHJEhheuc zqN0sw=m12R?(>~Jx<6I!Faw`oLPJBAOJv*fQx@@ylCkSOoTWm~raBht)SIwfGutBE z?{rgYx4MtFt0nfl7mapX5uu;XK3oEA;k#1rl#kq8{?o8DJq$B^x$h1Wb;<$J6OWWmqntvR0WmH4V{uq*SLN zwFLZ6k}a#+&l+)@r5b8bhG7)w79asKui4%_A_(rDvK;xQ*j>{09(57ViAXQdDt@Tj zVb?oNE7Cm+{y=`ac|U)qHI`*D@?;H}lNQDyn3Wo=jD?DEJCJ!hCU;(Px*u?w*2|L< zlcE17Xt>y$sdJ3L+eo}KOK*pNyy0ab0DOsXUmZuC%-UtkA;u&lO=fqaU*hyf*{op@ zb`&($W#iuW^|Wp}g~*%ZD3-F&ZRsvx8avn2qT{r-1@2?ic_BOz>0YwK9~qfBos&W? zWM-)9{-Xq?UbW9sY(06TGt*eKar?-|&Be7r>;cB0vEJR?l_NFnah2M|BSkw~;2Q(g zq{g%#PcEEuAVJcMPOzu&HO9;Un=*EqBKM41qlitx-IOFE1!ul7d3QDj^Otzm+wZBfw6_n)}h@Bu^J)B%JF?DfF{&b5o3Y4>det$XE&EzZMT0 zuOe@YyAfqZX99xS-?-RBW@Ww{urgFYRH_f7Ea+o9ZK@XjTYF~sA0@&SY1XZ?YULeH z%-3mR;eLLe^=Eo`Xmfq?F=e%5X`@hiWb_hmO?G4y71uf1ro+k3PA+S8fg2Al8Li$# z+V%WoDzhhqs@Fu43u>$W_f{uYHnD)m&3n1UJdKV}FzHHvWT?Kq*blEapv=nMhZw2D zM8uu`B;y!$i&9sUO{Mc%85egLA}-~kC&nKji{BS`%dP1~wy)bI z!Uv_kb<~FT?&ntKLKmmu0EHK(M1VbGq`d=D*9W8v{XHC(EB(EkU=H=IJeKF3F){RK zXvTZ2RI5PJB^&~)ozdMU1muW!R10xTx5?#}@sYj-=|gA#Wv8Fg81e5~lY7_b9zCvC zUZp7pB-eA^TGf#nYx=qRv&Yq%PDYVh2KuZsQi#qp?v1fNJ{-Lfpzuu7g)2wgJ*Uu= z??`tf`z+nL({9?e&_)OAAD***c`VC{W}(UC#r1qZ);>Z+kbsco_6v?Mq5!uQBP)w{mxalg#3tfb&1_%^UkA*(Te1jG8s;m3Z3*h znk(;pOU-T7*T1X8f;imFNZn#|V#{bWi6wk1ng3b%UU@X`0Qu2^Zb>X-gKUZ8c&4}5 z5?pxcr7%GjR#+TV>QOj7D6x#?*_vXa*}8X=Adw^_W-T&L@kUDyPW!TO=B`@&*@o1W zapQ#kSl+K*e2;OjmOujoPu?5c*_YBkWSwHcDA*v84YL`m$SL=0rIhibvLxTUB$& z#wKn~^^j$z|Ki+=9k#Endb1@Iihbwik&@WVEnbQkH3T;{+vzE2pd5y6I{)Y1qQO$6 zxGAUzVloZY3w~?CxPlT+XLngci9^o(@1}T3SrnoIU{`I~Fka<#BJ$g zK9&pz*kNe6bL7`zfV<*QjXk0Lm)cmyE^g@DVHbkKIQuM2>l^)YFPU*yLB?9Th>>5P zZD_8R!o$JF;%e>|Ie37fBO)SXH;0U59KE7$hDq|M{2#;k6LXgZ*eF@AVfP<8%q=0BTES<>KyO?PtizV&>S=x z<~N<7b^P!pXZKw|oi-7%Ni4^ECCg{vo`gI2sWdQeDmmDR>B29C4gCg3FIx$dw6^rJ zxk{S+@kKnX|43Tie^7ZMHG{u4(`yOhF*keh5EQYwApKGlZNsHRbIh`F_9I1_n3%+T z^a=enhXAi|=NX>>&u~5n8X9^4S`@n62#%ygB}h*eWFJcOuF6uCG)IFCP`-5CZDvqi z_S`kMDPHCB@OYB+Tm=EOfEL<2Ls4UGNG*JIxy*7^Zlk)m=mmj>i&6|2I*X}cWs!P9vJH6$7q1A~^ zH>xzh4LV9vV2RW(_G1GqcIN$v{xUldc%^Sp1b_sYJIDL<9(bI;-e@Z?MN z*$|fVIzLvb@NOEN^|6OG=yw(M)Jy9Iu52P@lm)*-_r8r>T>{6b;N6!wg^$*&&Zo_| z9NqWE+_&5_f{)$xdi#$%u(pWoq-;*c`wQkw_rvSd(8F_6^XJ^WCGcY3@(CXr8@dAC zo$LRd^UzD07ydA_E7b5gRjC1Px3)e5w@_UCp*WjARq+rM{BE2vs9pZ^l{;6jGW<3X z#FCh~G7j}N1?)WArkUL2^2=5%`<1^T#3ktnUwQ}bniN{)!l3T{tT-k6>>gQbYpQcrXQaH z%3t@gERir#@~^1q50H=L^QxgP5x(+1&4Z<#u=3Jk0i5# zACibLS6;4|QW6d>Yy_UNL~@lJA{kjJ+8Jr|E0f-980jUV@J^<>f3;B7iYq31BfzWD0xD4@1G^~L$<3N^d4mrlSV@AIOO zkZJ2J7Eo~c_)`hKM{)0ddjfYHTPyfVc3!;H9BMp~c4>#H2wzepRe55zwmeH*bD#*HKpHA7q}S@-99u;Qefm-V8pu;I|)VHUoevVsKjR=gkNJ zH%dHN$$>ph}!wdi-RAh`8GxYFaZ^G5PFO#d;a*SE`WgYVN~MM$2l_o1fobX&CC z`?D8J_wkIhrI%J^&~}_dweuD=I%Nki2ox~9A@l;Wq%K?D7CcxuK=1a!G>U%yqh!tMj zf8+S|NhRppJ=FpgWoT?u;+ET1d8#W{!d9cC8(CMWuq`*IAhRGVYc3Q593U~gFhE5) zUtaKIe?&rAG^rYerHc+e~=(}^QF64OOvv<(i z+wfSdK?=?gC4FfZg%{$zk8L)1pGL~_xRcp=9#zo&$jE!X%FF3|8ss8c@9eM~vK=X#x?@w>n24GR%{W>`a~p;8FBzEBB0j)q-*mgBbnIXDI`RelIP z?0`3pQ8SsgmC`?Jg`QrF_D8Nvdp<3C-}Z5V7rLvDUFiMVmu3Z^%l*{Zz2_)PA*(U( zWvK_(;E~O~V_&G3`{7`r8_>ypTUq&>0eIfVNco=(Vtpj!RI0CI0J%<&rP8&+P4MZbwSASB??d*L3gti|ntcC6}++$MowS-DY-&b%C6o6xBz>eSj@B{4XdeXAPb8`yZ z@$Edf&wLIK?0CIRQW>;etqOscHV0+gcRszD{0>k6CcfdAN&cQ|<XbaHRkC) zKVJcH^kC^dl)V4m%+>Y=17 z&CW~XlQk(XzW3#AZSP;1C-6z<$O98_VsG#?^j}Sul1>o7b_gd(4MIa6ApyxHwzv9w;)gI^Pbwf(xg|PNmU3}sqn2-lBoB>hS zU?(*WP(-4-Jbk9^{hTtGkefH1!0sCSAN}rr-}~`QPI_jBlQ-;Xram9R{ywvqkv4Dt)1iP1Soo~{yc?%;HpI znAVb#l;|bWlDUDowT~_^n;BiS3sIv%KUF+xrr)d>g!9a=D@^!r9atkW_`1yHAxBM4 zpVRX-(jb@=c8azM)-;F-X>7vz z?#Rd03*_bHXUpF_Yk>CQN1k!)N{z#maYJr^o_Mpm*+n*7%jhuHHOwUGP6;`PO9!zN z9PVk%DN%1xkX(kB4=jEE6YMI@kU@rqz|8QQHV7)6=B7kjb&O)-R=hd86)^+L{&YX| z`*Ih)8=o@9^MCzSA>nY6Ml}RBw`eU+RCi#yTug)(JrC96zD8h6Z+yWM4r~9g1E)E| z>XuRc$~3e+rM$GpUY6+5jJmOYk&?3fLF-FDo8`TJw8Ir zj3!{_mjZuIbE0Mh0fp5(EHB)*$P~?ZR0@5!s3?~@2PDG7e7&DZ=-j9rRpiXf<>sQM z2j#!|;G8mzw5JFZ(@bcnRj_n$B1#LQJBR|DcA{?@W|O6 zIJw2j)^*jzX8<~VM-$QuN*$Q$wOo@7i3xJJ8ASF_gyVfbLz%X#zApANIYFu<_sO{` z-i}2!*82MXjW=Y4d_t_f<j87Z+w_&(xaZ2$5QwjVE(h z`JUg!&MI5 zM`|d|!klo^2a6r_b?Dz<{;2bI7bL^sIok}B3hv+IPc*k#G#xd7S9M z(Vp_OFvz3!pDdn7vCa;#;$r71l&%Fz^7XsO2!Ik^y+!eCBF$t?-wM@wkjpT^3U7h^ zm(yPd=bQ_VL=TDUJuk6ka;8A{WxRK-ebqxpI`vs(WGsgCyUW4#=-C)6s7xsQb7*H} zrSlhl$!KHG8~w5O-`d>>-dtG!98wGCs+9#e1V6(IMukwm*(>Fr1`K&noMRmM0gguT z+<;Ib5md<{N)p}DSx+G$zuT6Ln~{E_vCxD$!80`3oTS6_mW`2oBjGU)KfguxaouBN z2RTlu`e5M-%`f&Z8gwTt6wi&*yJ%iXQo0|Dk{{ol6oJMcg`5U11M6j5y@>=nG_?vN%I~fdDq-K$*;rUNQ zt+avmJ19oaBKeGyQcpYLQU`XflGuvmYT8*r?3%yXh?7asdP)$eqf()?jJ9RsN#ws{ z%U#x6HGg{=VD)P%9o|@5e>B$|&XUDL%Dd84KxamMKlEf%lVFS_m`)^^fA*ne|M~=M z{;^CK8j4P*gKVq%oj=BJjWM;R&|7vE@lEjLm#N|!w?15tvfcSYj$Ag^ST2{OE;m6k zLh-1R*m)amB=T!XHU-&l@|q##u6ZVBe4Zo%wc!J$jOoDW^bptY0bWqQTyQ(OM40|s z^})rGV_<&Rxg*YI{+nMv0g2H4*&V?GP$|oL0g?D4tY@;pus?CXVRfw#;&6Y8Z@G$O zVHwsK84ZYW?7~Z4D)Ogu@jy^qCHRV*q)6VGw9gSmYodGg2WC!)(Bu=Gw9T%RV&ueZ zy5eULEIWOiRTMz$YUI;RCEQ>mY}`MbxP(UqDM!t(l+MXx+bvSu5>edB(Q$tR*3VES zstQh(mXc*N;cI$vq?*f)*3<~8F^+`bqK)OXcPT^;#3AD`6(@yDBgO)4bK7Wfh58_e z2|2XpLS+ki>91DP>m8tpXfHreBJeJ+J&Npq-2tImUS3Sr*(HhYcG8CoskuOWwo2@# zDK;5G1i^Z3&ExYMe6OMq?fPhdjX9K_TRDfP_Na837FlmVRn#~_&~``@PPOuzJd*P{ zQ3@aO2Gc_$()mwl`%sS4dlL`0;FD@a4FpJsQ0gP#C2tz*z&G{+^CFUl76wl{{5L)(-b4wiExB?0oTwC^A2X<%uK%m z;_3bf{K7ldD!dWyAbZUlRq&~pc4_d^Y8cbr8?#`!))UL6nyw2mLG^k0d5SOXMTH-}+(S=7ZJvlV4w(E?|XTm3e z2$V-U-+X^x7Y6xlXXbGo9Z%fdwZo;KkC6VOj)^8Abb5X;FcpMW~gT zTZ<63ny;oBTDf|@c$S~pebX~D^&h2gYa_-s;0(Xippx?)=QusTqV2c$pX$5kd~1_? z=_^ZS?}A-@0>i{LGmU%jcl3f87H6}UT9#>*8`YCD(31*C-!ivQkB?32HQ(f%AFh+| z;1M)6%Njq9^ACZMHZQ30DU+3VPe_^!)&M;3jJ|mVf;Jls{oU;4d`jO>gm1KH9+@#^ z?|2HmyEh?aBlYd|pU3D}&;9Mi^;M)YMOPN@9Jxo&76UnuZlnQD zX~7Q}W3szz1Duh2r-S7;YiqkIcx6xTf1WY>OP{I5SReo)27bT2KQFQfkO*FCH!ql%YmHoeFN6-nl=D{?0$3NT>8Y*ayU>=G> zMnb3Ntfm1E#qx;<{^*F+#C*)X35CcwupM+2lJYvG=Er zH#cWkHq01oleu8X3;mA`9QISN;zHSqXC09pN;ZBls zl)Ax{S4`8}6z12TNOCcdHdK~2^eKT5D?h)-;GDOjH8iY<#L7l`Vljq5KzjidVj&A; z153$$5`iw|?cS;;uNo-{2_Da%QWfYRUuoax(Ou!ljc=h((bZkDND9ifW)vd7E|3>F zcm$sTYp-eW#?5gD)Ot&;TD&9MA6_diHrupuII~@;k;uOnb`-NQWUh8|rA`}OE!NC1>HM~1rNi^}Mz!xutgiOfx~y-ws4AEdV#(og+_fVd!WQGh~w8GAwOPRD42nP}C(HJ@h&)Yw{w{?CQ_WWxI zxx?`P9X~s(sq12|+}r^nc0y2DFc%~pC;)rO@rblv--kul_hjxHe=~(b&pkt&sNwL`x7xe9wT|tiYOI0FQynGenTqGsmsu3S*|}aLd&ON zrh+ieQVn;okP8qab73M$GLm`(6BHJZ^3G&Hes>Lq1FpOr7}kg-tg-tk^Q}5rDQ7ntaUqINyT}J&Xz@VV8`$;VzxQ#)WAF zv?BMgxjJaW6WMBd1oZ;Po|I6(3P#H-(Erosf!mA}Evj-Hr6Qd*wrHH#8Qjl_w&A|@RtZ^IAo^+A{ig}xH>XUexhWSOgWFDtyDiGRrzC}DNMmSB`*!z7j*+0y1VU_~KZ#(FJ z`K7JsxUsJzU#LfKNFd5?PQFWf11Gnp6b# zN?bPB2j`d_uAd~E&H%f2AujqS%J18>htOnMI+iHWCWuXmcqcoiFj60WOFL>m=Ia1| zWCzt!$SU-MK1ZrR>;9iHRxdZHi*8uL1_(!gHU-T` zOMXYc>_|!hG;q*=3ZOd;G25dPUj z4MFoJG$K^CnxIY(pbi!ZXaiM$zBe>bY#4Nzh`X_BRA#-7Liw?= z!DV8$^mj+N3*FKo`#GW8IgZfgf(`d6U;(s{Y>_soyba=o@h61n^%OFHr<|CI#t8~? z%fLqI^)G!vjCFtRSH*n0$_=lPW9w!Owy=V)?LW?xWKB$+1DVd<<>8o;4 zs|bgIU+DCxg5x|T_mcE~<{0LFz}tkMG-%rFoUg6RP;tR!9esVv6uT@sEEfdNSBbvE zdE&5&Y|#P3YpPy%n)1A&*$g4nI&}&)X)9y9s!w$kVcoC8djsJ>cowPEg_t2 zFjA-onLy&_h!Phnj%l8t_++#3lQd9D6e3AY>fCaDz|BUkmWf|~J8I<4Bc9DT?(Zh8 zJjQ3%;E_|4Pdt`kiMR$*ETQ$FnofC#EKM-m>__#wo>*0-CCxe=EQ=3H`qhZLdQ?d> zbdzfomU03{BI`ivNI9guV7hS|#Qx#E-*aX!k}4USVUMj>VELz!7M6u&7x6y7+Olno z)=?KQz(kHHWBAK|NDfAHJaB`;#!>Ii>86H&bG(KA9A7b#E6U`u5xkGs`ku*?6~k&> z22CR=Xsx+Mia>mKy|G^Si!LF>7Y)-JlijYf-X$1D8L=7YU~wJkYx)$bHhR&>K04*c zk`S==@riG5r#Cg~8l?OQLCQ9?Bl;{c2Dh#F)F^da_BMroDc&nJd*m|ztOBxGh|>I_ z!?1g*UYEFRa}-EiCe5e&5bHEpa8gB8SXFR_npGklDOnt!iXlsZ4&mksI=fbQk;}%@ z8HtvXnw0|Z(wU{~QgpGZf1t;sB#tya@zL#Xp~XL6{R4 za9>^`&c)t;9N@qWo*-j$!3PL)_#@vM)KTJ@1XIOn#r6w~%7QrR8SFlqDkQ39>RFMo zloVY`^OvF}3K$zG2pR@PDE<8&Z9td!j3-YrcCi%%UURO~8Iad1mnnmJDLGs)defEo zgwb_E|6r7pSHrJnSG>rx!r@1M(kPL6SojSL8z!YvuN!@R2IW5z z2O!k zBe}*>1UC*}ip1w8cyZ$1p&2wYLrt`E@4(wS<7jvlFdiJREJq~tTehed@4Ix z#=uK}cEJ3Rt;s4zO=FTleo3&oWZdUO?&i#y3aQ& z1eQG9nkF`NW}R${N7?9e=>-A*gzRg7UYr|T05t&q0xOssB7cW5;?)Cz+*8Mx58;-gCu@eQJh~K)*YsGk1hcC#~KP`@C%qrsK*U|C%hnP z<@93ru$Tcm4yj#A5FFThKiEbV7h;ACD2pY9Aj&gxU*9vdI6A3;hVwBQ&wbG!?xCp| zSb?seIWBQ==bD5ZLq`JsadAkd89I}Fcl@(82pTLBG$kPn!`R$06YbKczKE>P=jn#D zN5?a7Eg%`7qroGMaMk8SvXkV0`lrb$3xAM6?6MmG14U_M0ERXoQgJgp0xo;IE`qJe zo-@Svqh62nMn!p|Y}YNzktMbP>m;;fdH(?>_qMaiAlPC(ruYtF(O6?Oi-sMdD_{Jd=c1gc9B7rR4VGM8Z=^B(#ijDZr!KH`6WMybdnLE6>x zb`cD0>{khY2)9!A16QxBENHhvZAgEEu;nqWz^+`51g4-_# zO$!49hnwwj@utwL_4W0C7En4b({KhyW2kWJMb`=_3dOm~0@|I0Y_a(gGf3QLF|4}w zrbl(50$3^+N%W@(UFv;(fst&uOB_1Ug}Hoo*(cO9%L&9hxn96+7?WFH5|-zx!0=-D zMUG-E3QM2`lR%HMu!syy5LWy87C{p5rNE7W1-^*t>as5=X0E({;EuMxA08Ire;76N zP!h^QibK~*MX$t2oJVk=eSQ7?B`8j8z;%Q|m|KNuD=m!D0|Kt@VUnX~F^PgM*`RZ% zy(3^0L=K@%FO2#Wk*&bg=H%Ew6Odv>3Q*Ap5DuXP5{r&1cxIs#7gWG0agvlC#UPRt zDE~73b0RPDz{R8m-rrX!GB+lM?GFF`tmu!aCk9EAU0FqV%CY=#a~4IWf?KmP zevvyHT$BvMHi2c~Qx$bFilEGTS+_EUC|@gX5z`~mg~s@Q3(q@`I0+5}*^3)il@}Dp zs#f{A1>|L+hyy&&2$oYGPc0I)pn$`X@GHj!2ZPbrp71031FxWgip`TV0${QbV#SRT zK!12-5qtE0<6rXGx483Vo3~qTB_{bz2lN9GPd{2QAUDtwbY+W(vIRTA{O3(Nc-Gd) zhzM>*sH8rBAyZ!5MEl|W5RjMvPhkv-ZiejLSP?_O4KwxJf7Z(2oO-k8<%B4sL1p`TF*J;HIZc9p+w0zS3^lmkUR?jgxhp0xBY3_3 zJlqf^68J(+LKCllwEF4n36Qg0U>MpzH!ln(nZ2nJsVi?W@I^xSL65W}`oRjRI7c(= zN6rS(2Jc)&!{(1+^8a!hAn4$|2JJzpct$nQy*YUb%0B+*APLwzVUMB5J`dxZ6i;IrbvazZ zGfn33;Gf(tWn@wktnJ3uoC7bikQ$Z9c|c)*fD^;}&?3|a>$_F;^d{Ad4MPc>*%Mq? zN8@o+bVi+Klt452EjQEOuN;@6TOpAZ4uOL$BKXLC**(y_ZitGe;~9Fg_$7S}ufYUY z@w);R;;L>acun3%f~F7WX>ORVr!dD&h?lG^NJ!C0gEzE305w=SD?; z@?|S=0y9hx;(*#kjOvPn+7pu7l8SE9kbBuZ2I!sb60SNHI-dJ>&opIInI+fnISR@P zIot?_fRb?CS&kyZt;c%7K#ZxvEDhK$aKs~`lCbH5-HeJZ58DQ<*9#nPA7{)#yBKwa zSr(v)3vLq_eg{Uc9hA!FXz_LGM3(7)d2-UIPe)_O9=g}5YxUB($m78`2a#Mabax3f zN4Lj%eGz^FXNL!P6;tuv=1}B$dqV?M%qG3#=96rnX?Ag3u%BlNSmF58`pIEV>T>r&O1#sEQt+6C1me@cWI({_eC|)QLqIWqU-NdK zBr174yBpQsoaYTE$9QcsPV#N-y1Ol+T_a?e=P4wFD$zd55rWJ&HXPA1$W*%xci%SX zYHkh`TIQM%G8%axTe7#-*H>_D+XA{peSU4Ub%g@D6R`=jLKb;)uMrks467Lk81>Al z04`i_Qbdq4$t*FaF4zSlM0*B*or_+NmK4D$VWypP+oS53GO7T{P*Z?pO!0Z+-FB*y z-W#<+$ z`OGp2@doWYhDT~iNtpIU0V*4O8GghTc|RH3tBhz`O6E0)Gd}eJh@_;Rk%Q%NF;AbEp zdo{=*c_Qun2{4p|vm-P|obbrNk$&^&FmWHDKm>xuSb!9wD>@#3ma3Ko+yUT=O$t5b zW@sRmuU#4_&F=!iskhfJW>CUS?Or@R1Z0Ez3Y+4(f zn$(cR@Bk#e>pGX+yF{RJ8zo0;b!0Pv(4(rg;Mot?TjD!MGKRadVdlaw(K_gAMn`iB zI0c(xVJ!ixfaPT3nzBG}RFTP$C{QQJ6$3}1I=>>U_6yX1)UbdW1L>dY^+cLq6ROT? z#Cchw8MtWBK%N_2hO4!{K08}hQK-%>FTh=xGr|%2`ik6o$vsA>1FB27D~rD37_PPg z9`&N=0bW2A80=$JSm8Eg;@}j}=Ujx9Ux~;097b{2#R(6p^b5;86huHO!M-Hgmmb5T zhuD?3mt7fuOW6@x%fMU=0J>f`$=?`$2~W^vrGcC zR3%7wfnWh>$K8ylV*?Rp0q@>$1tD?vahaS`t{~)S@D#upsb$;I1|%EFxKGFKg#prC zusk`{=h2fB7z6{(2|%xykOk-zJ&kTWK}L11Mxj}M=x+^W8%n&KyJaqjzR+RK+e{Ch zuq6@{LG`705TbG|;YlZ5Kx_iQLfP#Gr3wy6#n3MpCMs9XaXT`Hi-L~YlkVH=1R3wl z!2oEQGn2TwV@qTUfwK*3H}IaGEb*VEs^AK7*~}u@qb6*Ig!Bnspnh!0;aPqI!QLpx z@FI|Z+VF($bpy-P(K6Y@4fy4Fk7X=6CID5bopEkx!li`&{I_$G5Dci0(AHpH5l$Sf zhAwk=AVpy*z%EhCEeUimctnxpW+}BClXHY|(UEDt) zLX~d}(h+)lfnL$o8i;3Xax5g>B0MzufMP@-cH|itk-p^c@WY46i*8w-eVDq4e5YN4 zz9B4+HY%8!67>|-iC2`q*R{T?DOQ2yqkTHSglK41CLDvsv+gEo(9;AGV}PDO@}jtZ zwsyRSxWtm-qdURyak3Ivl68>XWZbl0r!?RFu<=w*1TYnB#;$D zFugb^`_>$2KQyUi#c=&VC0mw3c~7W+!CjK))pR1tNJ6Jer%%BmfScqJZn?pXrh7@^ z3@xVMqP1m=!NX2)XL%<=i;e0r>oxgl2IaboUr=HdCd`2@f4*ds~L zg|X`371&T9!Ib3gsFV_z<0}yQ;Zu-%o$PNs##msa#0C*VQbSy4L_0y<-K*Sxm=B8p zxZ*~jx=m7L*~z$u2}8X*t`gCzXBc$ZPE84tXiP{^C^npin&iR2Z9m_p4oG4)Q`UiD zVblyBI-$M|hmVsO3D0bxbQO-fB~dC_u=q1zk_L-F=k_3^s6hk|J(JYEzBIG3brO9S z6^2DNR!K@Q^k~}h(Ki8&xg)}VIfe0DpN(>#@0@sALA6x9R81w{`2oypMsg~9P8r)J z=&wXkfRu&heO?eD1cW-4&N^!jqj6*+i5&Hd6n1`P1Hbx7L|#V3Tz_^zR|IxLy{+1L zj%lKeG)EFiM((e)teE0Rp4F%=pI*CUV?N74B&PmA)8kW3&#@GDWzpm08 zGQb{U$LHo(=bv5ZALHgOk1ae_xAV$8M$*WP3vNR2Xf2wiQuPx<GIxGPN4 zhiB0@Ur;NAj*3LK$vn9;>YI@bl9jU- zKIAH6f)idLXB#~oaGm%HG&~|J`!b-cxk&P5UK7$})uI*Q9*6XQr!5z1d|-JABKf`H zYBVmUVu5N-qqKOiGcFU(dl;2!e=UJo*lJn(o2-mj38cRpJTJOX0k;l8>0a^yutety zlNY)PNMoYSx;93~efvSUZov32#cFf`o}ep^V%n@@_!|7YShlocot(%_@)N>3iOPZ! zWNXWQy#`+6?lIYa+Jb7hJ2mQMp~kT0XqiL|T-1ad|1?eLUbMpbq^thMmKkikE zsT?4icx}$P4Av@fk!Dvcz~m& zIeZ@7#Tk2l#xr(l5Rdf2e}vzjd$5FJ97*So2Us0>i5XgWQBgv(*+kiK#uj+l1F%^z zeaZB3B!4P2cOv|f2!Dg{Jmw@k4!vU_6Z-AYEP6%#*-IxWn2HXXvv0+Nevt01k`@_xDE-fURv2b>UEHtZp;uCi7)K z#Z!bH;_*EZoX>}V78UPGtd{NgT@P5v5p9u`9ESqJuH_7prX_0&-?HU9d*|Gu8F*do zHsdURN8qxeKN}z((+DhUlp`4M>)!Qk?)u)2B6-FJOHdw&gdgU}&ZbOssRkaVkS$Kv z3?;j&ezgXj-LVN05lqV290g0A@H}!Ti4S#;&s<`Zu0?=a{Sm7@xJ=;1QbPoa*w05<0ar56JXy<&}%R`F<88f{Ck=V z3_H(w8p{T6pOp;cGDexG;jwHTG;Xr}vgoy6qyiPgDN1TdH)?%-MG&kQ^n+W2nC%;d ztP`=pOYmqEGl$zbzA=D*F6Zo=6;Y5BQTHa1i{uQUrB}|Dr^TWPDli7S*z%3MU8I12 z*)p=4YrQYVG{@Zx#$^^k&n!6sjwF6;NmvgE5tubv(3^ zor)SLF_45>ft5jNrmt@agFDHqQVNck&X5RG2XIf#z!MsHlmrwQU$$=^kCV7zFXRO% zg2FGN0_d0Ycx(@IyG6Vsr+^9sB`7z433)^`xf5uM!*V3K%olK{1auOv;2y<92RNpj zR>u%x6?d@6RW2S!$0>y-tO2?jh2NP|AlgoE%+5aPY!HNFIK7cL$5Ck?_UuL$)C5_e zigd7W#7l&F3mbe<_bUT#JDSr5sNz0qvYW(8kqv4jT2XygvjT6K@RIexcrgTjLnEP5 zGFjc^aDW|noOJ?_fmXnP&1x>`ka@Se$1WmZUP?H9hhO&Os}}`zud?BCpe6rHbtW;{ zwhG9D(nJ}6-l~Fp3RBCzBj42NMd|R zy|Qj;xf+W?RL|pq=1^Uy+5#efmBm~xM8YbTR>3cDoeYz1F^{!7*z{%Gi)J(SW@BCmTGwdo;HgZ|DAhSk@VXFd=r&K%w?)11 zYt(-ElGh#@$R!PUY}UPuadgmf!k#dD(D)lC0(EqXdSc4pbO5CSFsX%qeikW@T_F7u zUMPF5(iiOI>8m_kkT5?WFVa+$oL3mtDRSBB1PtuKlcQh|Ya|X7Cx>su zvFPC#Q_F(D!$h&83Pr0x66m3%As2ou%L4EWX)b+PT!4BGV}LsYjN#@hImC&+ewA0rzTs*?jfxbWow(H5h`&gP7=^BarrBX=6vwDG_OM#z%uB#ip3?W?LEe{?3 zU(O0b7?$uIW^@7N8y66kz!)(y05>^YcqG^cpZ6^eTeUn%-qA=sYC^<1DbYt^utbNl zJSOkH1TD>zD$k0Vl>t3VFDmpwK(Wl)4P&YP{*3)A){8F-G#ZNADQS9B+1_~ES2IK2 zI!2nOFaNA1Bpt4Qosc5cx}cR*y=ukmO1Rx;S0E{Ld$G~JzCfd6DUhls1K6wab9i`= zpbE6Dd|tKF9-yNU-GQOIF_yH(qRRjt>babI2aSBcl|KWky4IL`Ggh;6?S}GiPM$q& zpZPkaiwdUkdJ=aAcrm&-O}I&la2aS*Q3Dw{2~0$&$px{0oCo3iBsLW)WjDh4qO+a^ zsAG*_*Xy)LWJY-3ITwPV0GRX;AJizOXR%kbf@aXMVoyJb3kwjON0W4Wu=gbD{U?P0 zvuNIa6a_e^R~y0S8gI42cw<=~x@ovyEt~_j3C2UE9E{VXOM?A&I$3ab)QJJ@o(8Lh zlY!aEb-?U@-5{odqR+~PUMymOmNSDYwO{-Ti1gtWhS8`wi**u3do00+Q$waOyQNL4`|(lY?>r} z3|p~dTr#2r%%f_lqmpjmDX!Eg2{VCj8g&8}V4T8V#BnA*0-wqnCb0154pg{MDnZ^& zEJ^#ls_P{{&{GI}7!*(`@QpVain-Aeh(N6j9l8KjfPB%TpRTOgz~L1(nMt$FQ7#ID zWY-&icp4DGvse+ehM4SwNl25NzW!w43JLIO&@-bEJ8HjcR1m;sBH2=>=xaH-_0SD; z2_V_pIaNjCU9l-viYT4l*sv8vLbIYQs}*Zfw8V(StLU`CM{~Zzb2Mv1DE$+@m)5t% z;wA@A(-)57{)~+8ks@1|w#11{f#If!C2Qq>w7s9ZPB(KOo8PF<&pFo%xRZNENXF*I z<8Q{7GJ6u`tS{Wd+X@P2O?O}Rp}-L1Y`>Q}>2u}`tJ@-w$bE^7Jq|+;iy&|8 z0OlY)@Z|L%4ZqV4UwTRy` zPXIgbhIFj$1Su6_iA@pb=mTe~vHviC&HSy1^}%wcVuOLbuMO1+yJbZm>`Aua(2GKt ze*#@bxK=o4D+?G;o%eYj{O#6=L9-g!lTo@nC*(%g z8z~d^BJf){B5aoGq)hlj`7W=*OBsBK12JE~R;Lm(G^vdl%JDw)9@kXF4v;YRIvc?ePVo5J4I6IkDpI`L?x^6|O9hK9cBwumrq`qS>P* zmsrF-t3IBdNWyeqT@?h0%=jfVcTjJ5>4Bk4iD2o>x=tee%`u!_wK!WckbQo($8ZaCD&Z5>=xUqVBD8ed);xU zi??8J4~}G>vE_H>*6EPHf71X@v1=cf^O~GLDzAsHKA^gQ>8@8FR3+yv%j+v`7-b?p z4O-AU#6cTaim}J`9VLW+o+U?7Vitz;15vjdSW<1;bFbtZixO9PhMQ>x8jG%ioHxCa_R{2JtvQ&w1Y_R#-}@B=WKFd z2Ak#8e)*RiQwyC?q}H^}xupF<$Amds#vmCz;B4Q_=jSWqLC0B$yr}2u7^>Bp*9_X2 zH+E5BMtc+HlTCDgBvLvu+BdCTma+=m8?bOI$hBVXkZmpZAVk3dWBCU&`M?IX`dS}Z zSGg1oIYLig;x=zrD=uq{7y&p_cW6W7oK!Qi=9bhA(wXC!IgiLfneB z4U=?;tBY9;aQ=hxL3)t(^nz;;Wqj|mBQ~UlwFkl7F6PL89lKjYosd8+EcMA=PS(fk zGE-3Rm*Pm(Y}of5&6-MZtuFs|Z9QtE$}xa#Z5`v>HnKVla+m)i03O;;mO|9XJ`k-| z26uKgPi+t&^fR4}-3uoR!6rfKkXj*w3>bhXsvvguurHK7?^D3?gM&c5@z%6Vok!ID z+-6fKzUXs*gj#I%dmzBF+b`Q&|7CVSFQ@sFK7XLst=~~0rGgjHsrO>O@B;5gkoWZW z%lUdepVGs(;G*<{pLT`cCHMnX5Qx5LhfG1ii`ROl-{A~t&(c>bIV)y$jlV~Nh^|&8 zrnwfxD?9%>gK^q{tlVp^ra~s|U*;gMK`xDeC8oZAZiZ_g1u5ZO0mSvxg7FFGAmgaO zjcJ|1z;?*7hR;}Wty$O>=y+m&*gT7ppc*~=4Ys=5y4L8 zQffYb=r#Rn84o#!vazsCgc^+plkx1lbMk=gxK18))L(5C)roJN#ITDJVbJ_qgI6ps+#)N?_h~!r+9m|r)5HIKLHP~g*-j0YX-deb6dRLvdN9*b2dA=OS z6F5WJ+gT6;DVMwVXhP>8@*ae<_<}~qe*h+bE0aebsBntxZ0tiDsy!!+k|!zr@oauj{1H7KRrJ2{yn9|vtd#=l~#f;N8ysKkxv)lABa>Xfj5 z;&UgWSGkfyC>T{bLZzB?Zhse(FR__?Sv`~Qs##$+GCbVHaIEnfB>Z{yK?K)o;~9Gp zO5yp_J4k}&`6;0>Uv3gQe=DyarNU7Hsq32TrGW@Y*#e6)Y1F=<##x&fGzvZd#a42HRs75A1()nLH zL&;>b1b2~R5}*E~-M`I2lH1KT!Zq85WpQG=Gd9VIm2AaEOp$B_@qFicwJYQdOvLl< zxg1XBNjw1&U)JAsT-+AEm4b;lm`3gLn4(Z4D|xe}X+G?9JM z2`tk_kU9s@12z&AC5`ho^?Ygx{;vW_ia0I=Q(6QsEp#C5zDen}Rng$(J|r=<#I;R3y+VeZBZXRY`h#+E9? z7QrV1t$ag<3uPbOhKBE$)_E2Usdrdod15~{W^|9{8`{3z;0&-}vw(wt7k()0C>Oyw zEGhR6sfMa3u~#EqoYU@x&*#_$$`#?EcR)FzPkM$ruq61aTb}sAMDKaM$K8ZTW)3{S z-b^d)m4-$Lbr*hSX4>yWpjS>#EGC2?{jn0ZRFw-q_yj8+8*9v#&NB_|yf}-X<#+7! zv+_Pa6R%FAVymB7TYaQ|w)*J0tqzaUyLWolo47lD;_mcWbk4cikJE_52b3JNzkJ#D zy#u}N=#5}-`}RvvB4C&_@dTIc@HP?6+~Glyav05sz6$noaRV}J>jSghGHrw<=5*Nu zBY4i1eLrlQZSS+1q2#kntGwH{J&`l)73q8w^mZ9Q$I~uT+CQy-7VSdW6Z`x6$uKkE zyp8%ZE7*V&>RPEPx_gaQn}3f1mq$Nu@YS z9$<6uUd4tkv$@ZiS12{=CMrw~PqwJXK?M|ScU`en4uU!c(J4*xJM6|Y?bJy5y6j23 z-Y^MXTi?veaR&2~`)Uk--vxJ^h+zBspO@bEREV<0LFIbF;1>n=l&U|0@9gI5Xkj%; zy?{iM8hZYNE<%_S_*y_NVKK*HjzWiH+LqN^1Xb}9>_mY(uU<&kqP%w$ z-U+NJh+Y>E+)k&JimcaO?J<1)-eVX_ASZA*2)WlXjxOraFb9^08*jH0Rh9G$ zE^e-7#$ypRK0lp*!DSKk9t#W~=kbueEQ zii5~zFQ-zhUtBDdLyj=*5s_5zw2q)WH-J*?2)w4^3rbodKn^xy_JC8`q>6Du!uDUV ze36-G`ij`+aV!{Y^KjMoXObI(1yB5(`YRu>2lTUQPdU+lr&fiUD0LEtmPV4%ma1+D z0ty)61VD`*gdG!9(b9zwWK>5}D+n!FCST5|4uYw0Vx%H^My^=3o{?EsMbMmq!T4>{ zvMzCKOR74kXT^exfxWxtf=*baBm}HCPxHuqkhPh%|1zN<%s_$3`>s7j? z7_o9BFGr?-IfZVm>|DVaFmu1n9hcQwuNw?*?007! zgSgnUdQNvsJ++(8#6^9W2P=00U&QXVA~H#V{Upz@9ibK^uhHz=TTS$c_W5RQxK&#%l%jvgfS*|{-O zB2lv35j4_kk;zuhItnGNjvmy>&kn@BW+^U3WBg*1=d#5{SqkBkUunSlQB)pFY52Fjlpt0 zRZH3sUCv+B-(MR9Ci7qT-(MT6beZQ1vtQKTUmNSWD)s)8h;M{{fA55M>EENUE1OB( z&fz80&=Iyr$On$PC~-^}wj;&o7ev1(4 z*fF(%&myG(At9yz$}y@kO@+C3IUx1f1)L0Fr)v|(;gw|WHQCH>T{vlSRzbUHVp3G$ zIh;_P-^h4^G)We)seY8%Ds~o7_FkNXNun?qX%p7rW*dpO2IU>WT-A{bLBE3IHzOKW z$OBR4DNs0nu%dm3ha{?z>do@-bXgrEbuOqQza;${Dhe6gtyeYgtg!l-|_k zyY8E^&##Vz0f%_lVT20{vkX0cCJ3N< zwS6pRie)oYfbK`U7S%uw{I7oP_D2LY?Qw!Pc>G6HRdQO-g_a&*0@5`(*r0K z3}WRYQ%iLIiRD!i8_8p)%$GeT${f4*n0()Vy~lnL`kcFO0;%wLUu|A+OM=#sJ$?rQqU2fnl7HE%S!-e>ENrg&1$V`${5@hEZoW=sB5rVOL>KB z8#*kSDOO(Bub7lb_Dir@Rt=#F>O1Hj%44-UMPy*#I%jkmoz<_LGn1jdt-aEJ zo&_h=LSp6hg_g)%KLM4kZ=KjmKh25V0nDulu<$)GWV^15YHzZ~Hz87rU2GD2)@^V- zL^o8-wP(2YjH;=j?NEEZX3zJcdnD zQF#s*>a}Ey)fG#kjY`;!fvcqNgp{o4cerZCg%9DXsUk z0(+U`HQDmqoh!dvS*??eruc}6p)*l?$Phu1b#t`7MsrxwOH(*&)hM6@U!i-HvTe{+ zFrU?t@iwQ%T1jj@>SR4Z8{}AC#<*Q-1StlP=*h`!ToYb3OY$|Djm(nDX9mSQ@Y>#i z^(ibq1%;S`9<=}|5MfFE=3}vchrO++-JHgSa7yl;QW$X(iGs;4YgcEJu&WssN>Ot1 zo)xlTV{DeF!i%c7F5Ok1W}aY~SP)}Xr`(j(8q_F5m?Hc_U4;x4G~~D4nPf?EJ>|xt zbjynF@wJNXsjHc*LJ?_+j$itWASWCuzVIQ;?58C1;v`vacHH_LoGn9rd?E3tUDqal%Ii|sUC zo^Pi)KFs2aE!{Ry%+*#s+f~j}v0ZJZl=IydOp5IVbz@G5MG|!yXMclp+n3ov*JyEtjCI1bLZGWDesoa2=h z{5#`df|u?7pL#Ff92|Fosk9re(&c!u-m>!tZpEj(Gy15IR=A^o?}exTi2B=zp0%=h z8`8D$WBJ-dl-%q@LK(L4| zG$}P0=aY=CdC60My!8Xjxa66}3;E0s{eY)fJ_*c`ulgBr5okk61~K5^@9L30FT>L# z^G#MjW#LCFD=l|TUXzhN^PZK`=FM)4`f;aHe!W!fEl+A1HT>$5wMXx?8+Zs#)911M z@*o>uNIm?}zY11KL=fT~fx;wOC64h!y=Fe0@1#wu$o-CgeCT>#AHND)xm;qjAmM)9kX-!+xkG4VAcm=XR~XB{jb4^?sp^1haK^Hg9o? zL}&ZSMLZ#*GbxOHIWn#N)ph~)P&HJE@r!jUw6qxSc06<63=n&}W~C&T!1t=;Y_G_#8tt(6=zGKD*)ZZAh zF++yBH?<8KMP0Hmc(d}O2f|yGj=Nw69V$V8nZy|Q*~WVu@Qa7bPu$*x5^C~a9_d0M z@-$LYuRv$6c%>iX^2e}gb&^21w#wpn8J%tJ7rBAce8*eKq)Lrh4rN3wJi68rn8V3i z3m}dYB>EUfq}Us(K!M%^@4$9ybwa=s0szNMFKn*e#VPD7*Luqd6r~%}hQ{FUHOsqy zy=)^Xp-JrMAct;3srSA*=^MlZC1`=0+h;{b1=|1sh6LLV4u*clG3CGHIGvmb-C7Qu z!L^K{(RM2punxS`SyR`LK*+>V?Tdi_RiDE8&8H##sp9o>gl>)%M9fgTqa|?jt*{ zLNMa%K)Jq*JnehI?yNs@Dsw)69gh&1R?oWF+3cEC+D>rnKX+@Zm}Rq@GQ`K@Xz#|f z{vz>t&nw%fXmR>lg;QqdF|9-1=Gtle0RHHi8E3)LK?#;>2;*+=fo~o2A)oFM)a-G2 z7tN1ObB?gA*H}x0Jl{k<8Wbw40t4pasAE>+dP$%CBBnx@?*Z*T?krM&-lc*`*^rtb zM2Tlz&<${c;Ipp;%oF2$j*Wl>z|9afmz_49!C42RI2sT04e!jP%xDAlO8hLafI}C1 z!BB<8sZ>|ky+~8L>}+a(hcZRDqKZLG`543;W>6yHl|9uU4Djs;`Fs(Bq5Q!bXikREuD5 z$L`rL%hBpe!-(05whqE&Z>QMljq~X^Rt&3EiL>GfQQ-;4MCH*@5xb?xELGaT@*kw5 zjO`tUv2vgT&sA}MC~SXr3t1fc zaGD0WGg#dqL40eQ7giIimbRIRdd^0X4kvPdf9QU_2H!&tLOTtL8efN^;u4Hmd8!rz zWwSW8(#cNJ;}qvZCMlIkDsxJjrA?ObCUd;N0GdTz%kk}hRiaLQ>Bfn#y**Ti-HDt%E$3?rmtd!8P=Vd)%gmT< zvy!3ied*}HBu%8O2qvbStOr>^T+vRRIKIqgqBS>7gqv%7Sgi-EB!1uMXYu7x648HjnKr!#5|^>T z|4NvE=vMbugM$O`lf*8-V~6fKYZ{WW`4u}IdW7)WZal~B)=AWd(J!KyC+#;&x}%%Q zYZ$YIitay3%mnxW50e4URmBtE@p*eSA`pE3^Dad1Tp9440KrqY~5QKsos{)Xtb{8~LH;(B`|i^tJFrvOhtu)pJ(L>U?2e?+~ z^k3DX(=xkE9$2N|I@u5^!`?6)9(dlBA6DY(XlDx=uJ2kaJKI0M3f6QBaR)yna7BV} zVl=BGb{S*O=H6e+(}^7?MjxA*7)?=wG^1>X${!H{K^`M_0GtMPFn{v~w8qbg!eT$w zJ?}7|dLgEJ)Lx9=f97mHd*I>7sREf@bL~tMQWJ01bI(>I`_|D9xTJkpCR)-cZkj+b zdvpsJeKl@CF%bFYM`;trJ4*Z=DwbE3Tf~WF%QB>0F#Heq(h9j_{k0RTI|r((>gs@F zLj$r0lX<)jG2O>=B6P>=cVYV;JcFvY$m`NO2Z&cGu#Z@+f4)MwXm2kyFM+-e;Nu&L zH3WAj<3;3I@Z767_pC3%u1VpGnyDY&SZ+N`7}u4hg7p14-z1U5h$#|)5Od0R^WVO# zB>v2omq{;N)Sm~mvnFG#$~WUI%V$6Ey-*jv(;T^Rlf6Zlrhilw>?|{oGJ~stPsTHS ztMAI6Oa2_Rf4Wrt9bY``QF>>ok(3%aT9{*J1CRe(#=`m#Tt!-}MOCa%^{I7;N(&u5 z{PVH;qXq;7rHZ!PMQV8tJjnMr{4|FjtlZt~Guu1-Gp^KT^)t~Xe6@?S97F&ZL>@JS z?S6fB=@aLrl5#VSqYpx-f^li4{|jM>UC;DxS{#;Wf9#@wUC-*jB4Pq)>8Uv|{2wI`SKUj~4m@xxl4lp3Yd^c?R5?duHw96=wICit2OFjK{Z9h4Zr zq+y;8!?bVsj6q!4v}#s`0GG$$ah6iAt*b7y+m*yqTfK=F6(976_4zA=om3F+fapmwgdNX-}W`i|F?1$#0l^tl~ZN< zF^Mh>RPYM0a4}wulko(%wKw7`$qV$#dVC7Jf2-g*6(+Q1oiCqb5VZW*+Q7(u7D(#d z<+wyIlIYZv%a5A{8T9Lsc>jo>rll)5qC2W*Uc_q%})d=6chYF zyHGmBg^&&Qat@Raa~+IQ{t4QP?hR^e;2Qr?rL^}jKEF{p~1Sof6&at)hc7)+Z2URiJ5>_wjYAzD@e=5Dc zwq`x?!(v8%Ev*uAM)r)wHjgBX-CJZ3X}Z)x%4r`JXp9eN?$B3uPj@AsQ& zLU;XTN>{{m#=ZkN8o_un`9ZaX*Gc~N>*f57etynePYGLK?ge^7FxPL)+q|eiFbaO4 z+j6$TBkhOz8-DujDZKab6IgI?0YzPV#xBM#h1T@Kf`06I`iW+ar(Is)1MuVBl84_1 z_ph_s6(6#b=7)9xE0bM_;sI%sK#4d4yaJPYi5-7$>xln$EpquP_}bEhYLY)rYE?2mS z?pY$IfE6zEC3*#|w~C_F3HwSL5js_caDP|orL0;+G-65qk3psy79}53>bmfoN zRz5;>U%bilS@iEoVCRbnDV@<)+;C(a`iOEh&OZoY7OhnYMWlS-(A^xR+8M$MY<-{} zt2Ye2#SMe#Lq>^q#1=2tTIctTJf!T_Q!0O%Wl<)N8|nu;IknNAwBG~i3Z&-~!ZbF^ zssfx0ZXw&=^s;b@j0*q`R{3A0^=+3aeDIs^SHW^KbJkyR6cq32&An;RIIQO9(Fs-Db+SKWk3C<>@r_S5gqE((PTd zrh67Ptjf7auS)a_K5-YcW?Uozv3Y=ErAG{mv2BJa`*bHeFy= z0^DqDp-+?G6(hqu1wB#Qz`!A?%8z9N65Eme}G z(djtt2YDJ@dbhpsbeH!QZC3)w-86x$1z^&}nrgnBlK-FH>6ZXzTmVeEs!N}QO}EE% z&H)&pxo>2E8HH2cYl_L<1SL#mAkvN9Y0W3m~vw4H<3O$Id zhn;8?=zXc{4Tc8;t%W}V-93NOW9y(ZutgZ{@3&gxBK$gQNu=r)IT&uYXbVw5<+ea* zV7fs-clU+|4*eY-;9n@1^(`I2L0Vk+w3T0sr*QLWU(law7eItHeVRndH*LX%8>VhV z^dxfomOkhl26P}7s^1+xei0Kvc4J&Yv>zm?Acmy>6jG6W1; zT0Xg#P?!cwdpv*JziBk@LH}`#OjhogcDenad z6{pwfOl-<8mp#1@G!ILT9Jg#siXYY;^8gW1z!0D`dtvgO4vRFT6B2e#@x3F$~icDSJq0-{b58v^>u#_a~XDt1ey`R#TQzGCKACA zWnB6-`yRo?qf^vhOBzG)MIUXv;XZJ@lAO8Mh=9|=IZ7;W*=C%ki~-1QLg<&EAi)PB zZs9nu@-YIRfR2y~=FYC@2ReKrGL-nKnJ`d=lfgVxT=hd`stiu2DVz0+ZVr6uEkaZ1 zXf#CK(^G%0b|5+&<;A$qtJetMOIfN7c5nkc&IkE&i68(qhgtPx%vi-0N6~b&!*gE; zFh16IV-kHz&=r?I(QuX|^GwzaXu!dlp{-hic6Evr;2eYKu$8eqdmNp$*TB#Ub2-K6 z(CMecKGZdvg|CSb9jNtq@D9cnGy|t+wBA^S!xMk#n)TAK34{FAd~%VSEPZyidqrS< z1VnZ^rd=RWkzy5K$98=~ohD+=O55uOm&$nj38UGF(SU$<+6}SN4<6^MFfoZg2tgR8 zfti}nOrD;PFf~&X$cRJux+-v2Cq$+eSSpSLjqMC{=ZaYk^4NAd$~cVrAQXa`M>F%v zI~IT8MC_2>YEa|TuxU(srKJiP7UqtxPYIy4*ENQJW*Jji#zV`iQ+1gFf+Qi50al&V zKwI;i(~jX4mhZ5H(cTG=^UX+uuv6un9dZ$@HvD~fRSLrA&fu^#_Ms} ztSN4nJW+}3Eh63+u%&DedaB+D5tQ(#iI~yXMpH_9S!yy8?Vl;%2C-s^(4hg5VYN+^RxuE(??5K1Yt6sSb_CZYe{ro-t zd6l95Pd;PRMy(*|YGeo)1};F}_yqa2;6J$vL=1NosBhN<^l@>%*k?y>Jh>9Q7;KM-orfP|9y#4|@XwSb88SaVmU#nX&90$Mk zg46yEXTZ`4R?1P#JgVowD`;7d=boYL%5tH{n@ldH;VB~8;$M^Fl3W39lR%SRfB&k^ zIxiNC(wkln>dJQ%4;0}U2x%Dz(OFhM5TuFiev|&O`fFcGj`T@5?zC_o}*$Nr9nshd+R@UC z7?I$^A_uBe6>%V>i+Boesf3AZypiJpk zME<-I7b-eGV-OMTrum!jewPTic(o3X=)p*p?smKC=BD!#zpIbL7BkZ0U@PFH$Lz8t zQMZD1QCJ!_)^%kuo55f`PV2{`^C(A0)y*No+2d=h*{CH;fg_#7s}=Y-bnMsvN!D(a zu4)H5fwB_VZN{Sfd%_RNf6jK4GdZ+Xv1DRv9~g|BqwsTUYUrDUOffSAej*#Ub*NNF zyO0<<)5#goo%1$k=zG>28~;YwyVr?D)7&k9T%xdtN&8{O@pIXIDJwS>zDjfBtCT+E zwCtGby}ineNC+jJBS=kvXk27mS8CyfeKrL`uOSZI)7x`yK1ZLNg8!tE<3|x2cf1cb>evT`mKW=usUkl zd5-b)S)zvOPz`lf^W%!+GUl#j&>XY;wrG_NKp(i7Rw9bLM$HC;Di*U{f3wfG1GQ)=AgHMK<>Y!-#(kD(D}B$z(t%Bk%s$8iy|g+MwybaN zD~~jWd*XB^ujxsCZ8wJ1Zm<_-=wTF{@WC8Q>3qnksa2!W`eu`q-A}0qGMKkidk?g> zlF|BR0<~VXpzIG^b;i~>*kg?VrDCU?3bO0zKu&VCX2XsQf7n}_R=!}KgFgMNw9V>b zoX}ES`B?d~>7L}E*m~$d$T8{%w6P9Djok+0h_dtuxg;kAf(Kz!vO?gBT1BFI-iaM%~l zk?)taGaN7dg}PqPc-gjmtFo9y79hbujW>S9d;f44=p%HIjNcHI~~gwPE&;P;h7 zpJ^J*(qNv7gVZITJPCFaER=qR>h@Mood0QO9K24W%HnhqBl#!siSY7_Ob%jXIc>pMi-gV z&`;Rng0Dgw<|e+mQl+vm_YFAWN>`>*+m<6Ub_=TF5>i5=KLB!*nmC5m`fzV{EORy5 zNCKu8PeSvFcrV-EcSZav7E&4w#J4c!607jlfA}r)k<(zuRHlA!neOku219p|nlzT= z!C&O5EgSR{Mbq*QQokSROjA9Td@TmmAQZ3Z@(h`gsFydCVBa;6M4WFI_#4f?iIiCm zKB95ULKB|Py3xt3#S#-%F>Gpd68xqsfrqoS3fgc$3>v}=#nL*`^43nE+xFh;6n%G> ze}sy@XMR%zrbZZC4XdlGxSDU4X|8rh=jEG&&d{%Axy(~#&SEzIF(*Zp?jtOWJq3lC zjbYV;ZznYdQb}(3k*O-vE1mC9{8)4D0q&q(^PK8)xN~w6zh7HB7EzC;X#o?p)YmO; z?Y`oUG~JL45n{|^F;jK^Q41QDMt5u>ei+7&3#~H092h79YbUt5Zt9m)nae0lJwWCUW-`EawXL{;y zs5vJF`;j=vbv8EoOxM(Iy1}}_kZlgej894H=>PHH<)OU{o!w?CY%3irIY1w6l7Fh)!^Eg>(U?e9b^8?Qvl$REU8B7TPQe zt?yHZ=+>8@y+x#uwjv11(orZ6dvm_v7umML&3y`8WS5thvHss&%v=+2P&~f4(Ok-QCMMH0PO+G z7A7ySo!rKDgl|+}I~l=dSZIcMfpg^r&V}p+&Lx>;(E9R^6R{fpFshicf3u~jXDLXq z!Q4}hbadGD!&R!o{}_$3?RH&F*;0hpl-!Qli7hJER_0Ag)V&*$$$oP)3Ignka?}EWsg}pt53|WT zcn68!e#>VL+d7|2l#dbhfA&l%8B>w@8~QXu`h23EHmm%*ctH>BJoHPkoe#9_{1XL= z%ao_yyTXEUcstBH1ZdIC93GQoKIhji${CRF+N#jA%C5f0-}xJQf{$zM&JK zJaRlf8R-xnDsJnjPlVQCWc%Z16<||u59%rhRszf_3zxzhLh@lph<~8Gr^A{+X>h=# zM`0BXb4)J%pbOoJgGkI_i+Q6}!$)XEN-Hu9bmeTj2P&-Kh!wUV!OJ$lJxvuq5AAX~}5P*KL;`DWdi%;T)F%vXd-G=xpt*vvRFos84- zMwU$EVLGQPe=#H4PM$Uk`HLl$Cl~{$C#shpK(wedT2IQDj^f#n8j`@pt4%T;uN&w2 zJFb`hE}$Wa2dX|_F6VTZaN)jP6A;{ZmU?2H@`0) zj)$#PT(^wW3Dw27=69CwNPLn}NS= zzC7Jt(x0ns-`{#1SKE8}66j8U`|{-}o;%54wp`Bt}=R@df!-SncVEp}9HDZ&TN=02`PW+yb_FqvIWP z*<2!Kksrt+LQeJut-U;8sO0y|UErz0@GQZae<*y6n%>jd1(6F`13eEL;7Nfoz(XJs z%o)8J3&*KR3XH?(2PS$RFj$Tc6Sp7#@ZB@iwd_%UVHs)?*iD_d3t7&m&$%w}3UI1B zZ>I>si&3G>L+Zjs{)^Je^u8MtJX*~M>o$nQAHD-;p&hT@&Cwbl_mz|fLPVhBs=FaDPP*9pE!VaxcG|NRTC!|jfzO)3%Yn|H%+ zX*8LqthUUgs#=$SzYa2WfUZ&Qng zbrp@O+t;YKa*wry3CB)-jelw>hIb&kF2>0u4nt-r5XO@tZmQ zC0HtPL@o(`d}7uUjw4WSr3r|JSX}yq8?4o(XUNa?pIAV=+uweXaoC{u# z&1ww&MZ7guVdiOnY=i+3ezQ6qvhN~%=(9zfsu7%_ z4Ac@^c4m5^2fgNCPX@lfUvvbH!VrX0GmFjiJ}Yl>E07g!_j7w{)#;K@(Wi&~Vk+zo z`)8-aGC#&05CN0uTrY|aed;qJuv9DX)i|GID+%tIp4Oz(Ch|Erat6EsUHpoz8JMwY zCjd)-GDF~S!h^tSo+BFbUKwCvOt4}~!!(L|%0Ob5MrWsEUW@^Z!|3$zW3V?YqM4rY zo&Zap&+BrkECg~wt-VgB)bkw`-3J!UKbF-qT)wj0SkaPOt zEg?Sj)}!V8&C2WhNi>95ga?KzL*CUzF)>kQ5>{&1_0cDdEq-1|Pxb2!Ssexd~ z!Q8P_4i@zKD4tB;H7mRl;Xw5}n z8ATG6GY;U@26vHgE5Wx|j<8XtA=RMm?ffmn{~jes0+!|LA1x8;1h1{~DZ_ zQ~Vo1k|tP1<3ii8#-|r*&HJS&w?y$QYXwN#?MCOs?bqgv&|iOqwYnbX75XzbCgB%; zVcfU?t1+Nv3Bn#y<_={#06iG}b_`4|)&+97U_rF9j1x|nV2pX>leZ_bH4}*wg+U@doBuEZBQu0RY^&(_uEIbN%pLe~`yLuwa85;zH+BGZHa$j`aj#lA&LP4FW5e;5)#};GEFK z3qO#Pu6-sRkDvm{7jQ5V|F4J%kBk1`fDwES>#kXT9s_?u*yI#zDSzBp0T95(D}{zf zdr#DbFIi!{!ISUg;=`qerM@3T%{Rt6vFGj6RP{XnK#fw#@#T$Ij)*p~5apS{M*XrV zUhtE?q#gR{;j73yxB#a)%nxdt@k|c3W*BIUhvWC!C=gpzUbM^bsp&l(v~-@<^D#ka zFQ}Ac4m5w^PuErQJsm{&D@#XSk(+weEcQz=k9f22CAO8sF|*SA`j#B3DR64>gSr9_ z8L#r}qsrvVd0Syzr|y@2Z|9c-g}A%PJue_6^)Kmxciea#b=zHbo9l-~HEfn&5VAB8 za+~-y{e^jq`pk4JsG+t*Jbg|GuK1HTuObYZ1Q&n7xgW_S%F!`rM}b)Xm@Z&`^h`%C z6%-8*6)t`l7(4sJEB}JpCrV6pVjO)3+(jKw0_g4H29FMLEN7(y$dOx5sb_s`O-7S3 z>uWIqJLxjTQtzZp_u5mLJs*17>cto4)EX|_X#NQ4Uj}bA$?-)^6~w}Zy-4gTIN~KNZ+~?>shc2R>3BC6TFR*W2nCXd0IzD@F(M#v<*T1DeavB z`^O(Y(b~PqQ_5Jef>_Q`#oMMc)tSwl9+jw&>en)h{XqlGJ~M z>n6RN&gMSr$@W$xXvl9*q>tF`)bcV!bqn^4W;H@-2uNKzCy&&TGiRmM(w7^vs_U+{ zIh&RkpTdl+vOHj?lIc*Zj0PT)P(GJ=&h+0dlL{%L<{&A8TRRFnP{IljQLRP|u`I}Q zOsq>RSiVr<_yVTyL28H|A#0jU!o`0=rze31zhN#MfHcscEGwCY7pOo`%w15LczX$* z#SIEbR#n3)3o7e`bE-2sxOQFcngI$U!VFSRyk<2V8fFB+F~x}iP3xE3bi7%{3k1Tp z8~wfdC8{o0w?r$GC=*4aMAzIAz1>Ho_^w}s$v)QETzxS++_$MbNZ63DY%+h$!goam z##TglZKzPB6gCU7lU@W2(t-Sxmt=>e!2~>=&GPry#q3n)D9t5TRhiAQ_vgf@XmH3Y z#iW6myq4dl#me}hj+xgK=M?x-tK;Z&@p$+8r`7dOTq{vOl%_T_w=s8SWOd>3rD8f{ zl;1^HLt;K6=C@XBG9lcR?g)QY4Eu!EM|qIZ`ml?o@;S58{`YFtBCWU)527ykyLKEQ zN}{W$@YV0c;B5Mqr$`;V!$g27!c^5nt+*<8k)x_j@|r&G)eZ)0%AB9SrBUb4N8Qda z_z@!b)0h2EJHc}{EAG9VQSu8VHx#7|trR_;Lg+|0V!mc+BdbUMbgh3n^?Ckon9uyq zxWJD7US{Z5eB~?1>v#!(Aa}d{Q7gszJ=&oNoPgR6yiN58$? z8}>O>rVH$G5C|%RwlfCJC2ul`Z<@)uI)r_b8Wlwv)$nNO7J>_`(x=klN&H^Y)aJMe zG>_ ztT4Z+5%rWY30#QXa{sbk<+u_H3}3v)h8vSV3vc1yQ}~qml>WU6lc20^0xm(553TP3jg$YaB>|n2C9W$0a+6W66#-6@XRby8 zRgy@I#1he2W1II(VS!DSSoSg7Wd}5W<>RQx7nB- z)Eh<)Qh<7sH{tQjD1_kbr!N11R>30ncO7ZfyMM~b#yY-AK?_jVJI%;{*=zQq{q3jz z_GRy7uXF4iIw9vd7+v!y*j^&uq$F9id2i_|Y=-5alq`+9?+5><# zSTADXIj-5tQ7V%*XEJ^%Grdx@3;do(|8ihd7w{)ac(d1Zgfn6^WUO`GtL*~Bw`h=M zVSj}0;BSF`!zN0G0qVyUvA|NO?M!Bg5_3Po2Y{2%1arhm2}ZpHnw0p*Agpl)p&K-= z!_sUeB~hQAH7$oz*@d{n0kc%n)Oi)%m3~yEScZj8GHgWN#H+?^zHVR}F#~@{Q*afy zQxXXum;K@Akk98%&BH>~|0>98yv$1hCVz%`c<$t;rOA4wJUTU;e1qjhOY9HK2 zpPEQ!S?@F{fmMY4_WL1+B}g^|E52IBL;ga?j|pAznkv*iQ2$)p-8C_?X}%oh&3{vP z>9e?0iffZ(?0S^7+>gyu-5k_;@l7)0G%BliK6-5FuS%>MD6v}Rbj2|{iP$Jo>np@c z@p2Ss$KdRZP$zdeIBl8jp(b20>BFSPiMNE9^`8Ck`~|kKG1<}7i^K6ASln*WZBv?k zekmXZUAB3#wW(UZ(@NliI2D+IIyI~^;hNV#`L8yC|lpYFWB!xd` zOEnazEPMbUsD{$0DY5C4OVq5M$3G+x(=?7xZLY9!6#$?oAs^ISDNQdpy3puC1#d72 zWR^MYjaNU@c;|1xZHvP%9G^YC!m-FWe*+|3Zdxf3?i~^)DLhej9U;um>wmlkSUPAr zRQ!C!Y$=Y<0~$G)L0ikioj*=la>#g>Fiv&u$Xn)<7$`3kTce5UMN_P;eUin9wVu8RG5pG=vV|PpC;v9ug&h4ArG7{Ptizqp#$TVAv)y4f} zd6?ANHakYUn@+R`G;s@f37@6i03!&ySA~O174prM7%}gmaK|_(?|*;9+a;`oQ0^7; znR`vmKL&C5CE|k9lsuY@DesR2p6ELND+9kB-=STVMj1zh;g0eyIAH&N!~9nn7&{== zp#=RFFe9#j-gpP_&}7@_lE0KoBHEx;6t5_I<%ii-p!Z?Pkk=8j@hL1%W@fyFDuWMm z0OYh}_Q~ue;-Rc=7JtH~VsFZ#K2rjmAhA>V)+@XhVGRX%bKqnXqMPTGr%|6-&M85N zY0e}HG5g9+WzuT$VSPTAcB-VSJzRCubO`Ik1Kw_3-i-zAmvOmu?7*}M8{>|k@p5YRx2I!;3z&E?7Y(up9+>!j5RhX zyE$yllS8^hPK6L}~G@MUs+aH(YDs(*?O!Cw;b^!H6-JhU;(xVUPl$^(S03=3yVzO}9*mJGG4r+^PZs60Sb zUAIdi6YHCuVS5L$=Fo(Qj~;sS&6<;~@=PxBl4tgk7t30nLSWsNg}*^pIpjvl_Cv54 zArf88PIP3*P@U)kBQ5VHN4{9aXdrdly?HzVs5H1fqkla~f%Y&FS-wC_w5+5J;WHC! zw24qY$elNxK@OzO;Jy`&`+7Cm-d7Gc1~!C#y~Jq~zafYNk_3ZZ7HVFu*__&N9X9F1^=QbPm+393y_)m5GY zDLwlea(@N`Jbzj&)NKA}J{u76u#W2R-1escc8vXf8VxduN22O7U({<(pQl%WrYIu0 zz0GITFhvgk_>=!}^ZRf3`+7Xs;KnKUes`Fzmz9&~5jV7)-XY~L0x8L5i&sHDX zMz`Dj?B2Zw|Gh7NyGM8BFCOpRztcFpb98ic?|dvxdi{qFy0bpIm;T>fnk zTY|cB9*XY%Hp;3O7 zH;Y%J#$MF81&Qe4d--7Ge8T%jCGM9R9)1P!YjUQ&HlzqMg4RH@d*FoO+>BnyyBTPUx zUZtBAn^RI(;f;mb`{dJRW>oQ*2XEoA+*1r|ucmeR+GubHgYoSA#rzwz5;Z<;-ilAf z;{R6TKzF?G8h~5}x4ix>0@0|TC|u~YvVU6|k273-0$8p_xSpTqGx1(y2031@?6J{> z*HDZX$=)t-dK#_Q=0p!Fhg3^3TGpy9hJ4M4<=T?I731fTOK2jM8teFdk99b>sBx#; z)t|W^f_l>j@9-XBeEORXO-Ub6H=_!-igD2PjUu}Ol;eyhbehWD0`__u2$N7UUgT6^YUh7bTw-nJE^s99Gn<)y{^Yo0Gwyg~K;6C>ZV&2&L{ zD$IQG5xb?WCIx${m}T+EcngWLldx*^fezn0=1hyANv&Ds0}LV?w{8Vot8BCe>oiGz zce_TMORu=-U(*4?-^ao>!yM>+`hR#cO&aX===Ek!D1HM<98ejcquk(F&lq^TCY)=@2-dxTCM2_HVAT|BzIti8ex643Ok)4RkVR1VcMayI+@A^*BP%?8@l>FJG_ex z&dt2`Tun*C6jY~Lp;6Byf7Jb~bpPL{mz(?lU-5ge_xOiLFMfUYgzdmjK6!vYjY&Kk z!oj9@LYw;mq&lM?|}wyjK+^JW6o!3{-7gyBtL`lWj=`{@X>0N6DcQA zphRDSK(QyWqP%t+Zwkxg^ncFpuVqBU`~(EOThlaO$Hp(ft<8GS`uvvqq-2PY+oKZT zyG*FHr{ftRy&h<~e0lPqBN=y>Qdn|*0nBGdPv`^CyQ-qN!Ctz(P6y(r{1pwRvwAZg ztmWi6=gw;|UK4r1q#n-F(R}HhAj+1mikBeru3IO&fSAL{3%zFJ3xC~!0%0vEpD*&I zr}I#*g^BWofwLft;emGon9?A~u|f-t=3%${XLBtP!TF%Gu&dEcNhexM=E4+p*8ppE zR4Hk&=}^}3bZ8cUo;$-)dode&of956LFuo@>u)v*havl@wlTe}L7r#SKKJ9#cOL%v z=qvia>cXFoo=CswVShZQbb+KRdcq`7D%>Vidx(lvAD_}K6;CE$+&!k$QYRmDAaj#d z>e$QlA&W%g8)uORA0t`1q-%6#uitfxXPxHQDuQ94#xy4M!*fQ&NjxNd*6_P-1DX*o z^!SRQe#qd6IM8`kgd!!evpY8v{gLvuI9QN9dIl<$94#C{Cx4eaPwEa-Go{{~DcaR` zYaOr7SEZ_VbOKo`Icq!8k(ky*A4!k&Yo$w=-O2cmZoPsEc+So6LA`j;*-V^eDdqS* z%k*qHU(eI|L@$(i|Ib(|(>SI}76_W^#e5ZM|G~>v^n{n_k%;wjy?NZkKVb3fuMaxZ zRr3-r*W;9EO@B2CDD<_oajR8+l{1p z$_d11L$%gq1H4_DF&X@Wpg%~6lLxCsY`T4(c_)iaLL@U`2b6x&sC?$f`mgKqIpa)D zo`rW3?kxP%)AyAPc9#7owzh7oBlFRr**f{8I@`rHaDQzg;U7=l#!xbm?gc+40O(UgA%?WX!oEunN5%D@+(pH|l10L{>h%X^;=jMC7YQ#kCZt?{Yw`*>l zvw<#NZGRG;f;Qi!&UyUsBh&x{QNU!!sj|*Nk+}*eU6`N}3z#)t=hOP*Q?u~u3$H`{ zCxbVy!n?p-4v*}!@#u5CJ`W#$uCK>O&xaQl`n$Wz3M!5;B>8gvuA^(c9uu#rST|W<{WU@F0-?#4~65`wsdX% zZizTqt(S4S-dR0^lZQn1{`Srs=*nqwvVUmP*IzBB#OUtH<02>BS9h<;{GspyxY7xA+8)6CiJA9>MzB+9&_{$6eUbMGYjup7V7OVAPBZ>$=e@yu;-fE(M-RWfrkww;f%(_LVg5?H=NYW{bEw9@XEQNDqsK5@ z#_tda`r0kAE*R6h^DM8=fGpYjvRr$sIN9>4UQc>@fA*a)*Uk0*9)8#$u3aoE-yGuP z1!S}eu4M{rz2}7L&VE26?;jE6xOU;_`}LFGy&`|}#{c)f8b9V)-1s)1!goNs@jTBP z-#&fxU@b%>E5e^ z?gJ{t(lD4CEN3yHv7*28zyIg|^S}S+|J%6ew!dh1fsX`@_?q^pIc}ppp1-$&ACZye zIg5Yg9Ck?VFe{TwS%t}0V(vfa$nH`J4>}@t{LdDH{$Kn1X!*ZGKYdsm?~(uCIXt>w zlKH6eBhc8D=U*<+xL~aL|7>~2!^QyT%44n}BMpC) z9v(Q)T>!f7{;&%YQ12 z^$&03J@TLKz0b<_pZB_lhd1({f5m^VbGreD_~SJ+<_oB`TDL9G^@i@^<%ZU#bJV^2 z`O)W}HEwr4X`9`^CeWy8K4r^u`pEAb@X5UWHGc=c_2&JD1%RlPK^1R*x0$TR1l;n< zmuJfy5iu+2&&M;kE~q3g@^l&9^SKE=~8YmPAeInOc$eSqBDO=oeE#+ z;F^@vpR(uVn#T2q-L3zySuZy0N-`l+(?vD;IcvRDlQ+p|N7r5u9h$=#ZF$Ms1Q>uR ztScWZ3b69+*(%>;^GY(omV9|(O@RIY4^k%a+cDi#@udCzW}4*7O0op7Hpy`C(SEq5 z#ALJ1-Q+JfW7-!IEp0nfQ zk2FoySyUfO;Hdod-88XUwKr+`%s4xvZqu4?U$aO39Uq@6JpVnb-u_kq27BeOpnE%2 zUOb5OnlHn~pT3~q=bwwanE~MpEtbrOjqy63jML*v`Fy!7)ezr5{Os^EsR0lNY~5Mb z(x3A?*->^>t?0Z|jog2=R!825FTVy&a8@lo|L2OQ(|>Xv(nU=LUwrZ59XR}FJFxnw z4t#LE!|a-wty$l}AfsPxJ?*z2TUAWInyT{mE%y7yRN1pJS5VD3s-M(q#_`7uEz2-Z zwe@`LEX6VAsivy(k@%c{H5toW_a6UhGU_e%0sDElsZ8;X#aw@X;98uQLDfed@$>68 z@`sc!Pt(ViFK@b!Enl9fyLa#1t6R@9DC>6X_iPzpWQTXFnPzdNw$JH*H5rp?#`|C1 zsmWMgM>UQQorhT!)bHp~`AmM^?bc^3!;>$*_^6ec4eHBRGtNHnq|M4}-QCsoiw~TP z`I~=k_mzt${Hv4t!Y2YBl#?UFH-A4gV|CNjXB$F=bu{@*=X z*b@H_e{T4H|B4^@^+5wn{GgGIFM0m-L@Ny8;UhDH*}t#KAs3v3v5c!8eOI)>JR^%^Hk9^?#8{g!UiySoujlnX{SJcIz z@erYJX%gtAg*dnaQw&}_!p7m<#akrNO_-dIsWSdFozLNtl6tz@B<#4p6?25qG4+w@ zC~&w~rIq@<%;WPG61e9)(|<>pZSKGFGm78~jc)t%d|J#=E19p?^C{BrNV;<;AIeRw zMx9J(B2)uhu{DUJ_B|@k-;OHZq-I$n)8gUcZDTc`j5DImkMKV!eYaft@QzFm)}=Ml z9c$k^E{*JnDwHbjRjOzo>dxJ-|5gn0PoI7E8E0)PaTRNdaw(Mq%6|bUpiE0caTvOL zFO-)1=t#y>H_@dTO413C-cv8g0V2{;nh9|Qhf;;P$6eflId=- zN7FQwZBbGtw`xW;2vWpzE?xQJ^RC{NtaM-AeRLe}$@X)GcXVHMrn(+?5Ai?lybd_i z;D9k!t2_bp`df=N@+mMv#i?p@2cOr>RdZ7>)(-!)D( z02?`MV1AFwNS0HeZ5va#g*iz|J8P;t^~s+sTZQ+7a5L+l$td-#FjzU%i61lDWzb|M z%jwvk*w{h4KQ@p+Pj#`W^hszdBZZwq`U3xxG{z<*$I%`2u^#NS3tI|xtXGO}*5aUY z0u@S^J@2Lpgy@zkEFkrJlYYh@0`q{ApT;E!PQP=v$(mfdlg!3V8P$?BmJ)Kb+!n{M zbek2l@7RI&D($*@t9p|%$47to0IUnM**HA1QIs7gt_CS9fp-S^+zm@DyHVu)( zM0k`Crn~48|5Jy$ws^3$gWEy58Emk+(hfc6-uR#EDXrN|Rh;s^gX77jsU<_K>YQri z;5cofmxUQXBR)k!-`-=T9ai06wYzJ_-h$mpwM(BnkWgbJ^%sPk5UzixrnCP62ST@I z$czuz6%M6t)giG#N&rU|_m0~Mn~eCxaGTYIf7t%QzzV6?It#5?0lTe2234<6g1e-D zpR_AxA|H&NNbg%mcU+v*l(|#BN_7-gdmkJsLP+=cpfd?`8Rr!+o@-^WUz|Fu(Tmb>Hey5It{422htQgCsJL zJ`Wn-(rb0kSt|qb-@8oexK1f*R8!!2skL?v(;iVnl zIKvTlctq)xIpR!?RA@N>QC& qaq7Qn%5?Mnv+tjM|E&D;?w@!68lJo#(mzzwf$V?)@?|Yj9@I ztTnUdoV_PB1^OWw8X$>6faqqE(S?9M??UvX)cQ$Fze0?{y$KP-W=NZ2r;w)6WtH)z zxnzFP@@6=9qUg(-_H4Ax*=1sThpxs#qSrh-@z*|#-)U*!|s@* z*9bb_zCi`7`=EvW_;#sq>qy+Tb#UOc^8w~-_HdJ{p5WNC_Xg${G%Q}G_`okucT4@c zHJQq;E9%vzOT@maqNo+WC) zd<*lHp;ea{)Id`YNIEnQ*?kcZ5l%Q0QJXx8kX7NR);obd+`FDuo_kO#g%2ZGB6$R? zwY;|W@5l|nCM(UV2|6k$YI9>yS&GHlQcPp*g(-JX-aGHE@3dJ&9S7Q1`xy~;4uS%I zKQ|dp>ht0jqH2=QdLhH8M#XuUrFLG=>dY*q?L7?O)`n8(|?SrnVXx0gw z^hC-^7htsdt84l}{b7ArY>7iX(t@F0Z4qRMK4NrP=f;VZ&0JT%}I- z@9-osy4HZs$~66=x=wOr#caD00XLpeR05e{D)ZZ$Kx*-rE2B)R(|IZ`ew#p^f=Jdi z5RxzUm5s~HZq2u;1RNCe4j7VhaZVS2-)=H|f%9VXa^ys|8DqGP%k$IAORsRFZ55XH zjv1|cxMz=~D~~6f%&QC8^@rA0qXPj9J&#UkkgITx($U<@|Cdc^fPbEb26=3`7(Asw z4{TGX9t7H_S6B|uOL^=Kw3Xl7sf~xsam4AR8=EUCDGH5Ds{-R0bJ4Ywm<&-=DHc__ zupmu|%3hrf_^WQTRYhIP!n>3Qy-h<8N5A*y5jwz|O(EcNQb|bAEtb#Q{&4=ejfXu> zu`9u%j^OZpKIzEH;E~Gx8#CYh#Fk?}eEa3|HBnJ3@bTEX4r*9q-f|zRCTV*pNCPd% zDXrh$eAjos1D54*P`gjI^@K#$T<&|Xhej;+HQvIji6&9L$hLgmfh>zQ!E-CiR zsws8b#fVp?k|q^YSzp?r_0ZOHd_B#*N+=H(hPd3g0Oe({zxro`wK=yfAuTWLi7KqW zy638)0>5-&^{jOFx{I@a9?y$gTKIlT!#PN|bq0N9s~%XX&cU*&NNBsy%&qah>bixS zftzSk9%ZfHG=HrP zrFQVR3p8^v$Cbht$az7RFaDDC>fPFUc7O!plsTtggbJRBe~bL>8v; zCGLI`T`KS{h0^2HL>8oeNHtiPbKB2lxUrUmB>mRU(Kc66Q6@W1Y*Kl;84M@w;qK!@ zFN85;S z4y-54JgwHdxcDZXG@bLMYv3!$Ksr)1k8IZ`8_P|2Q2kZ5dxuH>${dqpq9w7_>}rkQt~MMe=D&U8 zItqO>TgAQmRlRbg@#Q`N?swG*1MZdo3{mINL_d=h4`O_0T|dFs&%{clz7Te9{uT~l zkefbJSy%RKqOQygZz6pwI-@u9!Tw}l{N}T4kwVg-Uq@H_jBCR z$;;e@D6nf;DVoe1>vIdAGPkYrJcbBO88IE5kMI5d*W` zgXRwuxaMW&kPQj$b)}WyO$N06=5?9$iIEDiMPNt>H4HynL$hXmVQ!Ag=PJdlIvO3T zgnAA1q+{45aONl~=y!Sh?CC{ItCrL8BOCvlq#KWbljp8cr>BqE3q*#4Sc#I-$>^lN zOsOx^gkte*5UzQ+r|gwt$z)aM4N#I>({a`1tYkkFB_N+kTEtg6y12)nwDB#|&kkMk zEQd=W6T&tFkH-0RAkqgKeI6|Y_Q8&8OJ2KYSpm*5FO*?rSv+|9+znk9)YxB~K-y;# zJxO5yY`BDC(6-}Y|GJGL@>`~DC#V&4&(w20oAF)WZ!d1k>HINmE4}?A3~(UoxtJ6X zcHZmRYyr*IZi3e3m^ZV9p3nbi5vTKAdkcvyaX8Ou>03(H-?a&gJP|`Y^mIgkz@gr# z{;yj^1>hcGcZhlL<-`NnTMb_H<7%@V1m-V?UjSbU&4UfzT+u4P8{Q@09;qv_haT^q zd$70EeB~(8S#}j=`;fep~gw23ALwco2B@>;HhQ0dL*@U)Wne zPXB`q+=J5?{|6Y_EBFsX?fJjTx6@g$H*&T^fj7wm7+UG!KiKfEU z&+bITPx__%&O~?x=lQ^GEF@QkG|U&vOheaEbdjE~YD{zeX|NjV=X(LE=GYp}^od53 z<@u2nW;#Nt#jREeg_`=t$j!8MB^nGB=3*L5sW2pnRljO z(~K4|y#K@qd3Zt<56*2C@}QXCd$962k>cMk(L6QP(Z!7IX7UOuRBZmhLgC%#(Z6@0 z`qj^2vhHr;5xk)^aI!Dde;sDbhRzKFUMv>@r*(`8Dvo)3OoTd1@ewK7z(HmA@s||{ zv`HJ4wS^i2#%_Pg?(g5BcC;IGk*lQ2B-Sc1oBlSMTweJa6lmUZXV6`3>epz>6=V}3 zZLWuK-H8aL!tid86dGAMtGIQqFb(liiLMBG z!^(umD%tTzyi`NeHgxtb;k?e_zsYI_f$7i?6$4y*og|N`BZe0 zV~3?G68pL~E3vae>E*kaJOSC3{sRqRTV1<>hN(gTs&gAw}} z%+Xt(;INFlI@BRkJ(VHaK4Q5<66C+e<{CVy@^C15<4Mo{Umz{9;miYNN`IO+=ZldM z1{I5=A4@|Kk^cF?ngeKR!C}yqD&TSJcqCoJ(VQWN9BCW*Cvwr_bE{H+H-{-?_x}Yi zW5pIbH~kIT%tM6pM>x7fZI{r=50(06*6^f=D#+i<%fAcb$qw(0RSZHForrAm*EzHq zO0gHBh1i(;_ULSa+g>I)gDZLd48mdqKDC|r?f^6CAfM5g+t9#h%Zt-C+% zwq+o2=2m4YQy~H<13Ng(ofNGz2Fpc3pOpPiIvgBLlNm+yIT?=#9_Y`%DrX=-(gvA_ zPA3mgEi3%)hh+Ai+zHbc10dz;vB(TrH!JvjH5DEbJz70DT*W_gS-{V3$cG0C1j*C0 zd8P+YF;`ZK_6ON~Yjqbhh_T5(G7O86bAzgL8#K=CEp-KwFh>IJB^$ra*kkK)Wi;4B zav0QDv+DAH{Xth=5nx!v$Lb(m~csFD*$go(I_jvAXF)s35U+*;jMgveDc?SajrmConaL?@*Cy6yEnv_ge~(VqL2oAC zQEjptfJW&p>x~ZYy>&dwkXNA@9>bD^re$M9g2ZwJFe}RZ^XDs&IMvj~Wb1LV+p|-L zau~|Ll@`1uT3V(R%s`Q?O@BG)@}Iqch;1z6!N0sWtpr3F_eda zGQV5IzZ;?}KL-N5&Xk$Mc!-A?lyLCZP^MUT&M|CUm9mb5Uqbq+lxJ5cR{JgaiqAxa zM!D@;e~hAWPzC4{#N#1~;f%SmAq4i8K=MtN0aSwR!s2U`7oQm?uot)#W)Ylv|4PP) z@<@7xl`@7p3Vlk7lRy77AHy=(qS-P7#Ky1pwn#M(wvQtr`1&lVqp8sF^Lzqk z9zasw2+mdM8)UNTNcghW)NAOkU0esVChq!Xy$(mFTsALmg~67E!5Lps7PS+Np@Bb~ zSD|avw&@e?E@C-cm(QPtq%mqTX+d)v)vl!OXvU zr2@`Us^(+u#*~%%G_;Dzk&uI-&?Z?&6d28D&~YN7$RG0EgVc{1|>;5!%b#jVQE5F$)HzpX>l z=+>I_n5wcylRg|c5@KNi^Rl|Xqie9#IBq1;S7^g_4sgqCYD|Zj^E;VU6oRYaZ2%g9 zW(JWswYh)jtZN3(A1Ex+qBQ=Y*p-5Ly9smw_j0<^__DZ`o55K071P7jUQ|L|iEXDw zqZVC)Bb7V&*h^T~5wgF97Pn%U(^m0_bY`F8@$)Dz8ql)5GHKh4_p@Zal?);FLq%6_ z+2JUT@O2s4WG#}B1!l+nT`}{$IX7&T2^Y?_zxnDHfFgm+plvMbwZI?M%v-$?iduSMPQ9E8?ee5Ss#Ctb2_d>S7|uF4 zyT;nw=#5jEq2Q(f7M3Dk5*ctqO1Wr-REDuHJGagkn6Az&nw+#ME2#Dq=(^#1@Z>CI zzYG+rSS-wtx8av+hhQrhfwNaAC&GvKZI%A6;2uo{(hpmtNu9^<2(g=H4uG=RFF zzEUpTC{(51#UH}m*7mSMpLnd_ zVoG?J;=bgRowT+1chx^yI(t^iV$BMJy^5d84ulmXB`hBUbVx}v)^+<*Aaaw=NFm^QJ-?r z998@_N3E}UT0f*|HIVaZfl%ato9SM_jEYR#z|nn{TF|>+wPn#Q%PXxg)m2borp!a3 z57WF;_2#|?h$z&jrY$|LG~*e?-JVlGNg<`*Qdg%TOc}VY9-%D!O+E_x4bhfADu*m3 zW`cjw*g6&nl8+IxI_LF8Wyh4Ee}Y);WT z++{gcKxIIeG6$ypIJyBLI62w4`=&e2ch8r^LQ^#YJ^Kgxo~G_S{6>N>gf#cXHX#lr z4J<=wY@(!NI!Y3fn{%wk;JefcjUehc=)G13phuHqBh1*g zHff=HZM{FooDBPHCt0A>98Iom7qGekGoqIfTv@w1&tA zOydfqLn=_AzNE)3W;}Q0T{4;0-=XwtwHUFwqip++BJpGsnIYU?-G(Qkd&3E-qpnKk z;2RCAxN-tXd&{0f!WLq~!?}|ZuFg_hc;aXTp&t6J1LQ@^ap;c8Aws(TI($!_5EFMg zuU45_B?lNY&X0a`&YLs+UHYMhn^UZS2I*6lyl{xdAO`BL=$$u;g9*DjcoIR-#@`#x zu7(rBt2sXrQxmcx+Cm`b)mt#Ox+K}oFmA$Sog4Y-oLhYQ$!z_C>eWsdWk+ye>5|bl zHKOf>Ft|a&08_25@}$vMt+6qAd!l3#IakMtPU?Al6g0JbS**Ub3S*zk3Bm`Yx;DOb z^)y?p-%mg-4Khk~YLhv?xBTodQf^Guzj^y%#5s9FE|>|!K-P!SwNGiVytgCKo!rNh z9}aDaF8--zPu8b%p<2Xq-vkaW|}UWlaMg?mAd0wGq}bc|d_CAgEYX z0WF0Hx^ZyYhdDA6vr-c2m+%`S#k=bC0J;ksCXg2LyF)@ZR{aCn$*Z_4Aeb8qfCaCw?)Ci=xR3_-3$F%2= z$K>Ow!q;D=`dNMU(pxDE)b}n|rbwF#1vqid@AGHR8I92~-+t$J)G16Sc052;`~Ug1 zlcN`dLp{zJ{F7n$wj;3+h{1@|W5Y)zoPIB|{DwVui8Rz=tW9Kb{kas$P7TY=dkvTM$m0_cn74h7ts~0Xvb}HwhM^dL0y7XBW1P)Wg5_w4mO!lUA8WJq zHPD<#8DmVNs zE^c*j?a0p*CEhR}`D46Q_O}ZpPf9fB!~J+pqZ2SmvdgdH@=Y%DzPbS@%|?D>tL)otug)6=G2Zgo|C-^ zN5OMJ{|7ERzOd1BfR|hnc9~GFPE)f9TcMnvy9SQ5&v&hrVx%sOce=ooa-}p&htXi3 z3hm>al6yVs%`nN2P_X$zMTR5#ZIgsg_N!+1}S9Y(oKWSnWMd_f4q9ioMD2y_PSJ|BB&eIk*9C z`Y?-45=WAT9q>}g7Q0?v=*#tASJz^novVBM?X-z__!4HZnBkTN^mD26UlFpjexqLn zV%lxp*8!r9^Qr@@bB{%r94$mbuL;B3lNiei>)68e`9CqAz3K|R5S3YFCbv`~ghV;C zE%1gP2FIMmcyxI#l)XK1Q(_`mk z=RGZ1tuAPKh>qpzwvbfq=+0zeQ@@on#Z9yr_ydkiFDCX@!g^U8N*-1byUJC6CouST z4L7cT>qc~fejz@#^v+(-($oJ~uHR$QY-Q!-K1qRb=ASRDtNp3IP_Zv$s1WrgX@gGH z!mA>x?KRKp`dU+OJ%G4Xvckh7Gb79Fk!WS^u=&02gGpTA6Y-rre-aa02`p8lad6gr z6c%8fXmp69@~y3Iin>z<3H!C2gAp@-uAZ83fYIKO-hfcmlUT5Yi16Ai`1kMW8;FZ>Xe_P- zA`;~x_@*`Cd|JUX&j5b?{1U2v$p-Wu@OK;bmg%X)FP}*=q{mW7Od&SPZff#?QO=R! zyr!!XeRkq8eZzj}exc>WMoDqb?hoo>Vu|~>(VHEri*kMn&EFpAHK$*}Rd!3^Y<31R zF1*;As8%k=!KarPM^f56DT3KLm+?pLBX>0<)b>%F(jyr}t3C@ehu5Hv)M48pz+&b` z$5nV~uGAN-^j6y2;skQ>%y$9V7znRvgAw?O+(@#X!K%`+$ia)?VMFWuJ@8uGRLeUc zhV0md)UkssPnp=Ujn?#iB}48r{z|CUbWO9~&~}Y=RBn;e9QK+*Ert9ajU7)3-Wv0* zB9yI#eZOekc5cD=$MC|O_^e%EyZJC7ct)Q{Q3fp@w~yuI?4!a}0m?@!&SMsB9O*0{ zS@hQUS|v0L(_OvAWNx+L=jmxHlVm1Ps0epn?|UbCaRCxNa0?Lh+=mNnl5w5D`tKoH=Q`{2;{aEb@!AM6q02HAxM z60I2wJucOMxY+{Urf*0S=Wdp-YpwBH+~*xL}4JWiB^;s|?>o*K~o; zWRU_LiP3u_W*7~zFnrKYpVHts&eoyeT69zAQt>DEgiG`_I$+{i*G+Jma;}ns-yKHE zU_r0&CpUhp+}$wualGKsj5#GsPK$ysCiQ<%u)e9GCu%8Tf&{Bj&icus!4{ zJ!VCeVnb+xe89)5q06;#)r=lu_iwD(V%g$Ts{NH?lL~B$*y@NH80RJ--BYJkcP6l$ z>v&lrQhqCZ!&NQ*V_}EEPRF*oLdBgC^--3Cd&T5<3`fG0=Xl$neLpt0=m0&3|2@3{}w>g$}K#?_kNv@+kll?M9#y+s6E-@FRe)UQj5GrMu-xCbHlU5B|Ef&JB< zw$Yv@NWtQa`&iA%{y811A*p9kZ*QfHBDl|;3kB0lNFkvccE{$hq(+)Z z^gkJ#NVAnVhy-N#whETVh4H7v32GE7e19wnlmO^YGdRPK=x^Z)cJAClbrm|Wv`+Z+ zbZO?z=$xN1F0B+C;!^X-UB`r_3J2dWEY=4()^q0`tK*zGlm!^Ky^J6&P?`g;i2FVh zO;N|zq70gTPL&3KsfPKM52-29nMylt8HU>gl(1#3mnU9 zht$6>#;9rP{sru0UUhBuTRMaBC&uuqkqptz8p)ZyIOeD8-tG~;uXf7HrS7Jz5{_1* z6dwe>jILZc&lxJj-@HW=q_;q^+&ptrXaHl8Cb^qU6PoG!*sHd9%En2OzL1(5tv9t7 z8hPpp6Ux{nKbU0lS^qTbP0Qz=Fz6ORC6QODGaNOs57+OnXf!`xcXDa?Lw&R49~EWF z$%G5m2w!L8M1=iEZ`;*G_B<-{^d1`EE#z;oIY4aU;I^2O0TSMrx%nE~~)cBe`Kg8U)0WPm^My>GOKr z{-fE=Gp|k179cD?LYAPoNgQp;1n5PjVUNoomV!S)2(&iCZDU(fY&Tlv#J*n*{r#6< zyX*sj0!uB)#}QzSB2NuOf1;Bfpk7(}^$FY4Ne+CH@F~Tk#LZ+q!Cg0Oa^CvZR@hf! zQI2%O_yTPs+U`q6Vp;;_rqc}^h9o0j<$j*3t#ywzbss1 zo~+aWP8VEI61T-)t#aLl4@l0><1KK3XJ7U*V<^bMN_RiF;{i|(ov0$Q=*hh$@1A|%-bd~zCLZ?>8Z-KyUnUQ=VNTUM^3pn z(a~&_*p>H=@dUrDf%M54t#3!oy&KenF3#z(n|^t${*rcK(b7e|{t|z<9k{vOFnWEV zeBKV2bZ5Vgm0FrP=EvUvxJqZbL<@q5+-iy@-R9f$w2t_l(wIKECG*v)OJ~?H&Zr!^ zKZl|#(enLMNHlA%F>yt6;;zAO&^sfbIJ&CmoJlTZG~Y)m<%to|Sd{g8(NkK(TtqmE zv-}xPb1f>`pRRbT-H(r1lK-?VT5xu0u)2gR%*@WNM6ll*=jd#1N$jD=60H^WGb=NT<%sRor6r$^H^1=1>O1x z518Fc!OJW=;shPQNV@6H7a23;hUZU31jtotfqxn~|JOS*p#9pauEIG)HtDYr=y=X-Pa6D#k*4>?dDfWu5qM*owxbNmB7hw zjI5LukG!PD%%zro!~`T-%tmsY%4d5@$)xh+(@u6oz@gewcH!rW9t_+0@BGZAj!y?I z_XzQPUsq$bT=*99Asrf5V}G?cX1$R&HsdK^#`E8Mq*CFNFeXUnqgA%DVB{LrY@mME0^)a!LZ>Y<#6qsGOy45eovxxkqb(TJN~$V@NT z)?7G34>UqmDV-17j0=z1>=1R^%<9&pT(|!6h;$EbHaC0J({{nRTg6$NluqQ|pmrc) ztNPhhsft{wi8Z4-g0yGhT&kg=l9I#ENuIfmmM1k=AkjC6-dlqUc@CwcPaibnsE(X& z0im#gx3_>^JU4Z!El$JXm0Fa3lV_g6#%kKbnP8@=?=-H_ zYGA)@`VU%b?acE!Pmh3Ds&YfaE&mv+6hpQS{yd=%(lbTcc4T@rXDGZ_-InqF|J00d z%18Uf%vy5$xtgOiX2qEivV2?mB<1R-!0^chX2y}aefl!&~d=^d&)kGkL@RF_f;@Z>n(%! z&Q#o38&K8M?|yM7wV^8w{f zW&2n>{aG^ro(QIdp4RU?K!2*yK7QXc-R}sf#eMXnk$}&L-B0Cchy_4%Z1#^Loh*-G z2AyXq^&R@EE^y20BF+hayl-D;NuHJgvXDE*-xu#ri!NfR{c^ z4vf#Aj2Q5P?z0SjH+zx^+g$+aSgTv0tP5~J0R^!0A>wIj`MVMPw1-&_{_-yU*z@z{ zw#VJh4!rfdI0u;Zx}BF1+|2!4FK=9}PUcHER-+;DQ>GbDX2QlS;N#H&Oe`l+NfWB{ zOHqS*KG1!)pB`d(DGspCc>VPhW z_9x-_q|!-tOj;)t8q}c!b+2$f_QY>!B*N^@!4{&11hOTu)bOe|^WV%pS(ES`gRyYD zIFf%HuJ1Q(;J!Oc79@2sd;w7GnDn`?Ty)db75*tdCEN$L3X8SG+>LX{lIcqo+fdRJ zybG1fzGE_sxRR$ZrX(s_&G8>44U@}d9ob+nY}6{h3ma%vR~n1?Q@aeJGCH=rju-d# zB?TAKWt>omOP7Yx48q5u6{C_Ul*Yx9Cr5FAc}qGY~(kGHvkIo=L((PvW@B z@gRAHWTYD!mr8uW`tdxm^SYd05!zBnKj+CBBJU^_1woo7P`DqupYS|A9ga_eFU*gJ zD;+xTDJzsn5UfeLLoTISC zfRGJk9c+WO3{PVQ^`m*fmzynf!=1-r0!{~ddU_ib6Yf1vK_sRCxPai*uegK8?Rr0E z>-o=%QrF4KRms)+Bg&R1${qG0i9N5kmX_DG;)k~dcW%#~9guhadZ6`jaOU89L;|*( z;vxPBaNpz58>>D2ClsTx@8Wp-;3xtfr%7Bn{%Opn^k+dkcIA7m9uYc+ZY7| zf_?%n9>9|G`{b6u{rVa)U|oDBE$ng7p;s&NEFd&H+L7mVnvyiaVBq_A?ee+9V{3zn z$m>+d;pH_2C~6fU-|~F3h;tXZc?^4Lu9*VO+>%%VH#Y-GU_WD!9te*qlYXb~ zg*1&HJ$NT>Y%Wcjxc#JhtLyD{xYWMuJ`H$$+t`y9sRT}*Iz-+phGI8CSsy*^x3){Q zn{>W4PfwSii42mTCtDlWslb8#bJ}V>@b;Pq*aF+@0S;AIxxj==98uezorBk%$1=l| z>kvn4*G_+)H;ANG@VNyn{XQbF>1=X1x;p0fk#QN<{jqVB2VATX`*u7g0XG?!Tiv${ z0$VODBKL_7A0Ofm1Y3_H9U!yJmkp0>nI~fT4G{Rl;3O>f;?isO^)$f<2TJiIqr{V&qAL1leHEZ5(|Fmp|r7SwBYZZz2l%t36xwJSxmK z6g;2KcXC*-=spv~#-c^XMMsxH1O@;JH}}^!5w6z9*UvKv^V6mbgLX?on@yLoU!FRM zU+Q~KPuq8BX!k%1PwywQ48$FGca?da&NYs^-Ui>_X8-xZ?|5P7Yw*1m7A zC<#Bjw+i3>8505j0YK~PL_<9v+e&`t)#rL~g4elA2B1Fa&70J$P1hw0-~&K205t-j zd#&z|@+{%!(yO zyC15FxIgv~gWh|5y^cG8=MVYwF#ESQ5zt1fFR1wCN?7Da_FD?{-BIq#y0-}1^Irxu zA->g*7r@Kx@d$K#B-ctqF+E&Rm{4pByZJ9r>NE4J9Az9ZW#5;T<>&Spq=d=lhfc@I`6&OU~>0zu9B9 z%yO%rwzAJfo_V%jrsaCB1^WM;gVRg28Dt8gb|bZ-U=JEFW`Q zuE0m@<@*51#K%I$RdNq~*IUw-;B&uUAY>lE;s)$=X_TDrgmyXtw(1!#G6 z9i7Dancw7HcHxdZK2ROI3Mb?-jR8Q^HP~5$%Q_-aQ;{*#?tVrUM8M0Qj&ENFCML!^ z9|qoTWQ3Q;7==U6MyrZ3t)BDBIoL9wo#?paW2h%xSY*hj#*+_Vu$tJQB#R2EE6vo* zh~+nDqb{Wr!OHto_Bjhw_ek}Dh5>bjN9l<*{{->|21)RUZqH;T2ga06Js2?$%v2Vl>7@8)8noX z`8u{AF*->5&7w)aBQc_ji}8P^U@1Jqectn&>BqyXX?G6IZx;OwCDbAcXe=Eo9l^8M zU02ZJvL~qN$Zm7YVk&7>Q)(7U$z-|)#6pG}Q{fDVN2G1+k`pnm_et?trfr)J5QgDv zV&G}1HJC)ng^oMKVPV%qdIh#il!NMcy<_vpfzt^8Jz@&AIxV zeVZPCdX_Y}e@>`l_|u3C;Ar)qNJ}Xxa>cFEchLSWK|#R6&bJA}o*WQ^Y|yDgrUu_L z49lnj<-1F|pG0I~@b)@D_Q$wyouPB|$Z)O$lP^uTY{^I(H<;7b_o;>BUb28kC{rAR zdPeOF@t^Uhhrc)>KKb>58`^-#5RdY*PnW)|B64q}?w8`Vu&=UEW~1KV_CFm?7`k4G;{!cD1^-KAXbS)}r;)Ej3E2FwC{V zp+Xbw)y&E_%mC`-L||h1{%)WyY17od-id z(m+_7G4LtzMB#>>JrjaBEF(S~OM8jI&lJY_sz!Q%+9KzBT{tW659!%xA+9gCOBrQe zLWPj%d7SfpfzH*3O^vlmSpG+`-;~4Lp?bcvVN@w>hEAJRD8M`en>3QnT9(|ALt|gvDFFpBWH%UoxL`gq>XV3iy z(=S}fBog4mtFtq`Vi>i3oh{$gJE0q`Yi*(_sNTsq4!*@RD`-5Cc=t5wexhR!x`NtN zC8&&j{E`4CBOsm^Ov#5JUr&IeRk7qN$>Vw6zH-{vZvNLVb%JvmK3jsMkI$nqgm1z= z`}_4F-=1Jtm)1O0J#RBPPM2apk<9P!VzG38(3btk&$%>msoXJ1YQBnjLb>@uZyWP| z(qSx@Or|XiC2wC-Inw#8sqFx0KASZxVBMN`TXM_YKmmEsqwPzigW2<1L~L+0+@3Un zP83m+f-rr|#qq9u$pS3fsnX}k5k8qmi%y8rE+(gCvLh8x7ix#}ljWjAWYcGW$L&4fQ-ID3EDhq(E>unh=0{2KixsnVyT zDvpt-6b!)a=YGdSnJZ04cj1FbbA#c`uuvf9d%M9k6GC5xCyGEOCm0$N)f$cQZLf?t zqh2{XtV5Cx#3;a8iRBfj2`3Ngq_aRAqm8hs$Ev*_`yn-1ES19cQ@x~;bZ@+`J6=>U zK*p7)y;F>3*D4)_P-b8LzGH*V-=-qUrl=CO8UY9*QRCIl2Z3P4GS#-DNJ-d5VsRYX z$OQEfu-%?u?Nt4nLt{{o7Fb1io#FSyx<(*rf1+I=eXSMDBpHi2G#rSWM#7)}fhr5R zC^{6__KD_ttSPKfnAxm!5Ky~44GIq`@# z(E-r?139zl!D@`65m!-SIxDFB(fqASl5MJH)jy#Q#72tcG7H6mNY3(!l@Ia{vT0^I zLKecrc7>vx@zt z^iOluCd0qu*064Ob*g5{Q~d;AO# zbY$DyR@mIFgtDDlFoxUQ^|T--KL7?#UV(l0UCyFc@6nq($F_K)~? z#r?gh+r$iBM9RZtflH7~TkTfb;S#EaXH&vi6$hnt0F8cOYP8+i}W=$p` zco&mI21Bl9{?pA+ea9=_=gtY}-&7 z6=%l&>TYloi5aj9`XlmF)w$f=*+7@S{Iv1gOwVJPnmWSK1~v5#He~#KraV;!47s|M z^Ewb<)yjF_vDJ`%h>Yc-D|X1o>zVy@e-Q3{X@n9G5gB^SJGCH*uKy@~(?QK_0H%aI zZ$MsG97s9=jaQ}|VaEDexHoUpP*0>DWx`XTB;$?Grn%MP9Txd|HTJFSB5154)DSlA z0@-kT%cW*|8x2#Hy=qV)oC%A&bBoDmYJd0rDKqwL3*5eRSl|OW!AQ%Y)orKaKrZ7(4 zoPd}iUQmRi1#8EXcpFW~L&k{w_KNQ#R{vZ?(q3cZpHf!ktCyFXuplMiMg_qH!cW)p z{r$xy<1>~8WR`g;vwSY12t+)M;&?W4Kxza!B@Ipv|Ele&S*1UC_c|;a?ZJn3PhyTS7TR;7u@eE5sg3Tn$Jv&Y!qyYlWFl5>&Qi0sD)4$Qd zN`1Untx?Gu8f-LWR7`>Zw{0x5%V3bKUd@q_ysN~&kI*LmBy|GV%yObnkT_$XTyP;D z-|Rl~Jo9{#36^Ehsz_DvJVl5`C@y5yV3K2Td7|M0(a~z9YhB;^HFfC!FgVUL$m1c& z&SQv5Z7F2GtCRs@*j;ol6RLhnPhEbee~0~1=OFsMlNND=4^J}@NZbDOxb4F}HKq!2 zH|!U5Q4)T$-shDm(kUjDP(4T1w@E=Eils?OraFtUJdf|V^t`jP^QS*{JxG-R0f9Yp zb1<3l;22TzyD^2LIl^99A9?HjI z5&p~8dT-#}Iv~au@)S2Ds4u{BID_Et(u;XKB8bc^O5$9%4?~<&I0#)nlBD46BDZS^ zp+3KWF-Bd{(ly3fI)*6672z&tzJ-Nc@F_4CCXiSssarTfX$~pxM9$iHYlEY6;jVjcrCf;qSWtDnK%RpT?2#SdTKc9^KEenL?nyqsL^`DSP2GVHLVhC#9% z%k+r_7$@3^RZx-Ba=(o!F&%oD(-{F@v@P>jJxknB%~`Ga=`y2^RTLYxseIR1iz_7x z9&+!cHDH=nK}}8gH22buj(QKrqnRzx*IC4x&7>?aAl@r+T+Sd5YC7uG5??n z51xLTkgkKY43#l)$xQ4vtMjk|iL@%n_)>U@QfZEk#x%N8)ebAFKC-3HxoGqJ;W5%u z%ckioKjwh}@__ACnvgH%H=q9lEkM%0DMdm}*+=Xar6AFNv^BXp%Qf05R6qr5&{&^K}5cgGwpn7uTe}vcEsTLVuSInhO0ufPIfZm!^> zK$*Od3!*_D&;V8*NNj##0oD$&KgLl77{P@oE^jY^*G(ye>36;44CJE~dgl^!1^C zE)SSeL9bXsRFo-@maUVTY2lgVY~w8qfxz5GEbp@jmCzvGo8~fk+{{4dNEK+^|1-ww zp>$2P3Fw4g zq68G!qTOAikbvr=jn9p}y1ZSupK?33nUv7i*9c>{;{#aWnwn>cSpDj-O?fZDWTgrj?kup4fiQvfoUPh9&J#08^rT} z;|~kb`zfSOIWZND3lyZt*`^Y=V|9+Sr7LJ}r0%t*4ImeXJxPp(>kc!|5f=xCVuI`= znzn`@yEC9TqE~Li89TAigh%g_``efRx0a2m;aTvupf?Y^fn#3AKU6L7C`nlEMO`Qs z+N449L9G-_$pk4+UzLkmMK}cXLZ?T66&&L!xtF9j$1rsR-X`>jvBf1h-Wj7`MXIg5AvBcc;wXN6Axxs!ma@oOQ=1lrc>TQOB2*K`%%5FCstKy zNwZD`%i@EQemUZ<9#zr|-Q*gXrJR6~$U2}pVh$-Um~Pw#(SLaF_ng^_s7l6W*kkJz zSpG4@g=Jycop_&JZP`{v>nIC<7@#6Ylrj8eBxgo+JaB`|#u4w%>ZXQ(bG(K29A7b# z>dEA?5wwr!`ku;@6~kg(22~>|sI9q5ia>04y|G^SizXq(7Y)-JlijYf-X$nT8L=7Y zpm81UYx)$bHd@h$ADz-;NeF2B_{8Vi=}nEg3MqeFkg^T!h(1k>LAMoupBklx%ig9i z#e1b@k6hxPRe(1OQIbD&7&cGU>k^l3J_Qn&N%QGGoOK#3IH{s2tSY!d%_@C960QHu6UP%G|U19Yj(P@jVBq@$Lq*%Zqp z;sB#tyafbJ#lN0>L6{SN7tk*+5#wTS4(7lOo*-j$!3PL)_#@vM)KOxY1Xaap#kLEK z%7QrRDeOL+DkQ39YFUx7loVY`^OvF}3K$zG2pR@PDE<8&Za|m#j3-YrcCi%%UURO~ z8Q|9{mnnmKDLGUy+UZJc!e~07e=y3)tK!nshGmJuO~*bg68o@!D=S{$S>e$AY2?T} zZ2Sg-4U1B#*NwhDgVG;~0~Ue2#{R_-a~s`OrZ4;qO(ykv1i?jwRb1O`8p(`z!?QoT zl9p|x=hip8Ig$7>oe;nvhjWdk$lN$|DRMqHnHMMS9hyNkGt@-u$^`9!A^YuAp@;*F zeE~^uiq4Y1Bp)h&$z@gI3+Syl0$wnL54z1|a~Z!jjO&yQsS~g#FmR+%oR^R{<`QN_ zm9?CvD%l*B=QG4ghvO&VsR1RU;f%yAInc_Gk~~u_8>+15%jC@#>RQE6P0W{=Vc33= zPHDBQf#@)chLuM1hEHTC+ZbpG;0~xivNc)7sAD3<0j0}sYnbcNH#21)#`qBy@etUFBW9$5hJ zk2Vy4$lwkyg3N*K`@uG{xDhjCKv^s)1gAVB_w_wa zi=&Yma5x{6@!S{v;U1cbffnf6nd1@{cdkjuF?1y0A9oJPGDByw?~Z@920?;Fgr+Ej zVHlemW};2{)E1HT**x8l_UL%#tpy|lbToK>q!F&#oJc%Lu6>%EvhW89#4fr4Fi@06 z24H9dPAWRXBjB>#brEDu_KYFEAN6{qH7d#yWt(nUj%=|F*e9Va%li*7xwjoBgJ84u znBqHxMPrTCEGl+5T^T7GQ~QyYv-Cz5ja+iZd7eec;O9mACtzKQnAjcklDQ1~p!d*! z|6mM+K=ywBGm1qX3ev8gv5R0}W4}u1L%5Z?AGms5b@9<@sy|H{>u2L^22JjOMU7;| zIbmeS8wiAo5P8f)Z;;wqjDPXpj}PGqAl8oVA&@xpiHuFL=Oo*R9=*MOjlhT42#H4F z2n00>IdnZ_Ss!O(BdGmyP_-~HaJZR&kBc{jUahaMw}9MvnT9hs5<`VsFS=SlQ7Fz; z7EtdjWQ)zWm_gz`i(%2VH$AEg6_}-Rkwkxr(52qj7Z}NgyTzdsU6{*fmwik%3+`z9`{7{`{)bUR4<(^2q&PIKRP;)W#CZe<+Sk|LUxMO92V6%egt=8%w$j2V zJs{x99ws?@7LzFGk_|eC(mMi1LF5qH^unl55ZMY$Z7z-tGyy4AqyQCt0O1fyz_IA4 zf@c;=aY2PSB}S6c0~kb-0^vV@sog|?WiAjFd0qsD<(vMmU@D0=i zUEU%hZ^2G5eR-1(p0Fit(A%y ze1HIipV9m7F&U8Cg56j+&;2$20|$B3+L>rH&Rc9YjrxQ*ZXXoDgMHsBBw*FNTJZE~iOwd)>Q^ zp#<04i~FA#cf|xI^sd*Rfg7Sk0$<2UXkzt`7C#-I06E(QilO~;^TME#*-n*6S$T_r zFA~BJa-<#64_ZjYIhtWVavVe(ymJ)|n?Huh|I2NFOb72ZXb(cgGpd0mx1^VoqoWQo z9XlL#f|bG$b#~T&@=y;eBnb5 zy7_KN8$1ckZak+OZmLvK4{FD2oj7&;`w%yp8bKpgP7E+@UIS(idaAMdGEkb?J zzFSpKZ&JP3FqFWVJ;8-_G#*DmXVhs%2{e=6ax?w?$}uUr6%twDAUNnEf)Cx7-2=_* zhNx&do}nk3U((m`8dPu2$qccApzL8*Lyjuv01Mr4_uCnt^iWHg5O(7jGw zt(UGv9uK}b6Up^LcTa-k==NBzFTzit?C=1uVk+L-9Ev<|J2XJVY|=YApJe+?vpdHH z`+262^=w&O<}xgn#<{b<;i1K{)Ob+McNlqMXOmyHV`TdDd`pjMrA7^|pw1jgVrVr;re=MExj7 z5HjD`a74?%Q|&ffzirUe+#D#>%rzmTH1dG9#JAShS8#RP0-8mAc5T#kg#wxru?f^d z7I|{75f)zzs~HFw_0*}rT)5Vxh#+N>Sz=CqU9byAu=WfZ7rh=WDS}eMN;~JaN7XT9 zQ~{KsssPED;=;`+TlpB zr|m1@7fHwfJt*PJh~k2<;se2_5h<`^Q6Gc06amV>tnexxBcbvomI6X9;qcIVc8c2sBG|M_z_#=aboeolCT&=geBA+ zi$J56$c!3uWw=81aoN5qa^#!>b^oA$>`gDQ188)~jTs5HXVCT*=^8Apt$p!VSr^SMO?Gml>gBi*J388tf9vxeg%(|M;8E@QxY zW^FL?Fk2dzaSmO;&p<%-YLG(mgxmQOU?>U4BQ!^h@JPTBfAeTCaUUT=1cb(aSb!8x zS9Clq6)g+s0pN>G3O(v(Xds%eT^caWZvw%kxA!k*P(r76FPt<#%1>|VW`|j$&p$e-b^6$uxc%M_QSQ7_|B1x zp;tCcT=*qg2TjdrXifp8U{fsYB_I{BolM+Q7BG$~5*ZQ&>IAuB;3!mo=U0T)eu1hQ z7GPr_{ZqZ3Nb_q#)!B`>E=x267Y!Q7bEC^}wbs{XXUi%I)w$&bxC?7WC_-Ofky|gh z#|U+p>JoZo(N-M8-B!S(UUYhZ7El2O`&boLxDA;YI0dvh7h&gD;&DEQQ5<%0LW3&( z!ZHs95s*r-FNyZ0$MEQXA$H~YvMXaLJ3?z2h>HP0*Xt(v8^bT*VY;m};1ecN50l$) zNP>oE!2m=g$ELeF0G*qv1Q9O~ECB7e&UiXDU||-}?hTg_5@R2i$vNc;LXHMc0gRDS zwjFIivXPAYWb9rTAoYUf$*DdMpPaxT7;sJie8q$;fTw6_bmIwsGOBYm3e7@)YslM> z=Uaw;SXtI3N{6zhIasTsg<> z$QmvRI!aHv&({e&-dTeIkTho|ad*d-hzo(U6>B%}o}Mi6pQWnc4sprMBJoiZGDAZ8 z1TRoOw&c((zk*VO(^0TJ%vy`{3rH z!(}x-je~UT?SvrW0a`J9R1~p=R~?^=jbE`cC~|;IItTK99SJ4EbWE)eQ$i~nyg$GO z$d`REkL8^38asHEoKvXsjX^p>Z!h30npy+#j7^S(q+5iCMjud&2*i#&10&LR6dt|_H>H1$@)3eY4ly{T+y#xZQSSu~vDi-uGD(QrV$ zr40=5E0H}fm?Q~g#Sly{4$8hY2htBsDp@gHJ5b4g=4DXcV`^}hB&#~BEATim zcQJF{{M>wkUwH8Tq-Vldb>tL0$h}VXHy&dwFj8WJupy}- zt}~*4ouKUQRc_3OMF3oJBT(HYsj%#1T*HK+-W^wnXw@?ex@@PW1Wq(2q$m^{PD4%d zV4&O2=hOjC%x20u5G;(E!9yq1w&Bom5+mWM4HU1!aknH&B?}sV22|2u5$N0=gcLQ1 z;Gt)dy4ROxHnvWp@1nx6h+~zc1Vf9a%^!V#3(%N5BAing&-K|;?z5c}ODl+$s+X#% zpWzQ&Mn*{xp=oBDkVR@ewLg)3)8l3u!3x#uk zQgVZaC9m-{fA+7-G=~h3huE>X`PKO+7W&7yxr<{957zCxG7pk8GUI}q5IkCnrm0l@ z$Pl?-sewZV#zh&CTo8?M3j|J(GRFe99EA;ZP2x4B(x@<)oum3L@v1LmE<3qLc(hmb z${=g@^*PdFuY_JmZ3GyMjbAH(~z@Sa-R{CkCVg%L`}wdSq!F{&*BcxNW4F< zH~b)(Ymq0Dn!M!19Fc7uk))+Y7MicxVT#yWV}fFd=1HcRAGrV-w)0eTS^I)&A#_wE zvQ6g6ol)P4Y>=#+weTTV855lF3OU>8$$;y`R-oY#S=pBXWzC%=U*n zNPpULp~eTcmmreg8?Hp-&QvT=&1sYt4|c|7!g&v)QthuLFbi8PYk!lS5i0@rcZ26e z7b>9EAt>ETJ^+^JTw(G;Hvwr(v`N>-=(x`xg!=}R|5B_*H{fx)rk-|*NMTK)Xg1=g7W;4a|;nZ@o=6F zv6py`Wjpn!&*V*VNBWo<2Gm6HvXZkh6UOR)XH%dp6?Ief zr>qYS*G|0ZPfm|MH9jx6q&q4%6OwaY@^Z`*yvw9KcK{Lyx>J;eQM6R!gpG!eEn$Wr zH_{-DHr{+TPorM!K+^C@=O(fU$$<;QavjJ4XIY4|&PgKY(ySj zPa3mn0*_pd&;UnDbLc#Onu{~`if8Q7z#i#^{|LXm_Mi#HIFimE53oA?5;L^$qN0RW zvx%_dj4kl82OzVc`jX}2Nd8o4?s)hm5&j0@dCW<89D2tgHp|AWy68QcH4jyEr$}(#b#BS^t83{`}-pkfURwD z>cXMYSluSlP1ehPil+#@iO2Uua6TIXYE-<-v0Ap{H$7k_hqXmkatsOxyOuLZnwG51 ze9M;a?45IqX5e*yrQ3|N9f8V<{%nAFOe3(Zk&j@&uY1?$-1WU3Me>vlmP~md5`LH? zo=us^QVldrAudi=4JBSxzgUCD?$`v02qxuhih`w%dzL!1;({o%q8cPX$!@`?@oqKnu5F2A~KR9%HAY$k(?p4^vap?v{*Dj z1jb+&o4=8Nw~G`oTSiuMwfDuC=9rs7xy&NynI$K{k;IQJ3F`qSLbD+{f|sQczC zhNO4xcJ@ifK@g7N^hV+w zN2Pt(s~cHR6J&u3(!s(JFA?f3Z16?hFATWtXigg-iu==8<-1HhmfQqREWyY|INm?HZLGJe3I&r8B+L)Ui!>D_=M_eAid?pOIh>26Xz$Jd0t0#Q z_$VmE8i@nN#o-(0SoG!?Q_BLw!$h&83Y}JgB+x@nLoWQYEDJz0q`CA(aRKT%gaPgh zkl#ocKnW)k;*(@NoQj+(HLGNzcWkhKJiz7baFXQ9nK5*}l0%$m>sNV|_zhPJYE+~+ zhCw#GSc1IS(A9^D=>a6V=J=v!kjaxn^I0+D!)%P`Y$5@>w^bBjKp_`Gj(*rMeL@{UGo zQ4=EeNr^rRgC#nc)JC1`1$RCz+wtPIFmdQqVd0)l1MZWv4T_h;;1v0i*xpwUp= zPD#_7%J#QyUdS3-B6U4f*~?Zrm>`T~uP zrGTrR2+UrMpTon0WU4^g%I8%(?ExAZ(Ht1M8)HdpESe19p`OdRcTmaqYxy&CqvX~IoXgv&siiWOieC`8m>Gl2fQQxl&wf2SQ3kWM33rOHOx5^lb}LW zWD2h|eL(9bWYZ++W7vuv{R*xIzMa8syCAi5<1yH7W?8 zGm&hmQ}nf*+)AWU-=%11CJyOJlX>**&6c}!Qnpm<|PTBt4b?VH0aDJmc zKj&O8peOgVkc`cZ$DhKNGJ725j4#~7a|MO7rn@iuP+*90w%Ecg<#<^G z@L|;JVd!BIzFtGQvp*mr= ztmuP1$u=B%Q3#V9)0o-&QWz5=Iqt!PBgC)${n7C!&}D>cg>$yDfbrCMpXb5fZjBf; ztC2k!rOR_dZgjnoGGQ+Qzl9^hW~olfgg=z;>N>oV!G|~y^95{mDltQo+L)mn?=$al zO+`$9UV4LDKht&h6DP4Zo*^4s1Tf?na;kY?gP~z0FMd!AoTK|<{#3+Jf&u-gZj&ZG z_5+ag1A#LG*7vNG^$~4&7z`|Hq8}Y)s+#r9l=*{MQ=$#6H64N0IW^1Q56vSRU%_C9 zRTYH)+(SZ$Uout@`Z~;R;`g9CtCaVJwGCZ=1~UTcJ@503^3hO3jK&)_Sxa&nBF)O8bvimId;N$^a@%H~KsKL{Ae6AAZ` zLf@@bN1>RHEs z6buOt6BG^~AAR=d@t60Xv>raW|G0H{m=0QB-2d|P*4?{z@7=p|?{1fVJmyhy&9%yI zv8@WmeL1z)9f!Jj3-Gj1w`r3`O{3pOsAUQ}5Bq_(2TmV65nao~-Qy z&ywcWsE2B#Wf2WCSII(+)QE+Z1GgkKjE#2}*WsF)^ZO*6dW*? ze=w5|Y*4GO^^uj;{BsVkU^MGlP8mTkZ^4y_S9bH;%iK;XZ0#CqSuZ$tjr%E;XfI{> zQnz%{`6DgFt!UdYNr$+)nAHI1KPVrh2Wd|)xCT+i_dYvfLuy!i5Zvv5VvgLgyEW7a z3Dm+;pX}vieY`F+1@(R@j#SNteb>>fsRY;R@^3fRqc*A>1K8HqG0trxtHU67`7Z+C zq5WhjM2+kN(Q0LIXJ_-&1_44p)7jX)aIz3=5~L2P6*98Y3C+3IEvnUCw;VHEn04c$~ol_1-pp3hPyz2Fj{mxWpefRs_7Kl#NT$a`^k*3y>|`!~rRIZP)328CkaH*-3(G{P(ReT!&(1q157>_Digo=%?U%W*t`GnBoZ1u>9vxqFW$bPgi#K{$&qXmtF42Vk-?dGvt_r^wF6KD43Q zbHXTjq5^Rkqyj_Jz`ek@l){coOF@gMb)6u2Ozyy${s%h1>&aW1dHswjoz1!Dx;$IV zIDIo7A05-FQcpmURV~8QBJ#Go)zHJZr5aR z+=yPyq|B&)P6;bMcOrU~D>;OMQKchPs!8YecQN@Ao5`2eGx@HY6=oyD!(9x=8m~dZ zpJyLLaIH3;u?L|PoIK93_ytuE|~+cmM#U?3qObff!MQ zAnPvq$C>6)@?G@H4WWiP#xPV;~5=@tx`0m;combPko0& z5mQDrG6|B-zv&Dmlg$#`MUF{)`j2-1HU~*=H`@r;Y#WxviS5qVBqvs~6&o={vK7Sh z()DUr$QhW3=iPHPoXnGW0wTVwzw5ZTEqp5l6LBybybhKHp}>%Ii9j(UBeokyDFNTH zP9dCsW^8N(I274toI$;YA0o{l^8>oQmeReI+-3Sr+}OZVhg9h^r%k`r30D=u1J|Q} zRf2LQHWO(g`=k?Cri~zV4xk5YBq&N6=WXiw)Drw(2a*(VTnMJL2wqz1fSw0+g%Xcv z#CGs11~B|$isIlrdd-o5gGIz4bfq%IEoy6j8)840vm*rEMK-*QC#Um1luW4-umbt4 z4(R~mb_vhg36b8+j^1wP!OpUif=778?w{ttoTiBDcrE;rEKmy>(ydQR70SW|dP&3F zjTz2b@jHwyRfsKuPXt=|h71?VKDrGJ-!ZN8EE-bpu*UMler(L>9?dtjeY?RKV8Ld8 z0S7PqP}or}f^%3>?j2GMRZ(KEM!Gns-3_15u?v(d!b9(XazdZ<40T{h@K?7y@q>xp z^LmfF36abkc!0f`R@y5KjS%WC{LIX>--$r4oSaxp2toQ|C2XlG7ryriRy;P=m@S=W z8rper7D3DJ*ym^EeSRihokqo0KeM)f`bcf{(M?+&9;J8h^sF~=clyNL>9gpZbF&|( z5r+>bIcR_Rvh8~ZdfU+(!Ql4om!L$zFlpimF5BU4BAU6wgCgZHnh|{!?B(JHWZ2dR zX1itD2usZAvIj=+oGtr)*f!hVXEj5~XPH)cw{LqQXV@#!`6%e^GJuY!U8b~ae_Act zg|a91_w|!uX25wH^=DSF0VmY8c$pFHgY5cQ7gz)a=Bgt#wbdcuE}_VwStwWlMYiDf zpX2^M_w|xWag;p3=HR`G4P9n)pEIveYSc|sm>QmJQICTPDA?}0Vyhekbqu0Yn&eB9 z!D=FZFM~TyM6mt+&r9!nDn!}hpmIH7@QZ?bO4XmhcXso2w6L0_-oG}yuGi`Wfn#PB z4L$!s7a`0Ed@UfCu$bd8N1?+pZOdvdf~xolcA~(YS1+V%QQkWW?*!HqM6U}7Zl}{q zMb>Mt_87i?=P?W=kP|o@gxqVbUs@w}Bn;nwGwKoID6PnmvfRaCVFnO52Im#fvJlV$ z3%+wb|4=Dbk0u^^DkngEj^Oa`0U;N>lR4(&l~`6lKyxL!Z08QB+HMztTJiD00;d|@ z6)pR-W1_L$l)3gGM;GgRVDp`i<|42@mNHS&rfH6 za9KpX#{$F0c|2sV%g@(yBAznZODcBt?BuXF4$lp!#ZU%OQ(qgS;vllw%c&IW7Z(fV zkRwccL?jhFts^MU4WJY|0Zl!sbZXvu>BV-Ut}hlz9RN{918~9 zJY4ntndHV`!4p5H{>lgJ0sXAnQ%>}Msa2sSN}a@^rIBQ`rK%f(fC5H10Z^j{VaEhj zv~(c^8P(C$3PMYk$(J*#gJ3G07^#S!k!x11XJpn@5j1CDFn-&#tVN^&~dX;V|MywpktC4AcPN7>X zJ6CW9Ox^7J0igwn+V}CUeSa0V)6EixM|Errd9(R zThe}Z$)S%`s?B~_zt}xmftUh+S>uGcmGM4C$7QwF>jr}x``uZ`ATIW-p3~h@Pwl2N zaZw-U!OC607xDi7*f!p#c^5C*P@81#%ATeHHIs8M5}yo2u-b-vY$dBat~ynYjh}W_ zKB}u&`4?o*Y2D+Ivao^+ltG_0y=`wAff118B2dL2pbQoX)tk~?#ywJhhRI`~2Fl}! z`lMq0jZLgSsJx@X+&GcW4GO4SmR?~SgyUlR^J}w`qX$WSc5cj+NR%vh1dX&I%vs)6 zl#MOy!#L5k&D+$(LD55tJ*XNMKAh(L<00Le<-}+h{ktYCMSRO_8WGF=>V7%TFC`r; zg)Cyd?ZrwP64RsB`cPkg{IK{0O9%^F8UU(fE`5-&{DeKO#8|ok{W6l-0%g&U1VL8I zRIzDrlLvQ%FTr2!on}gykB(=z_B3C|f6Xr=`0-cI!BCk|_J+m~Iv5a@%TlPtD)i#X zn({Rg;hi;7c<-2CJ2%qxa)M6|3~cb>e@1j81d`lFgWbO6naaR_s3?-9kB#+snm=F1 z(?#Qg5E6JWPDh@l3=`;81Rttc8r41cIBDS5BN}9bKI0#rOI4IS&sZ`bt<}p7^DOd{ zcIeyImG_EA+Qh0A1Yx@ltgWQ`B~YXxe`wk!W15y<)ZbqlgXMgxmb4+doWH2QzcvU= z=D+aoUmL4*ndh?#U)0}U8|%3$_3o2pZ-jr}cfz~$`zY+nW>U9vcm*|dgzXXXfuk-; zoRX^w5o=U;a4{#qQU(4YyKgali&VOo_YQ5QZ{RRYJjI*#t^+WnYn!y{jGSgsLiwM; zBR6Ghf>hd>Z`K}!<#a9H)RJY#F1V!0hR@b%h1&Uz&>qM7S3$yN5ZVtl|> zZ3nfKR`5ZE7g@_YZr#!B1AfNOl{z^NNGSwNa??F zjH*miVXj>cNPTtzCqvlj+Qe~qC7F9oHuGB-PMVxm&@P&o6jgW*CsgM*GM*q!k_Bw4 zA7!?RoduM=7bjtoC=5p0gmt*tM&hkOc}Fl;btFU3ui*I2h=vvNK$Lk36b^r^Xy4%> ziE5;JvphUqRmVu33+l)(Nxy-LLI!v1Rn2>=vwysEsuQ-eD3dq6D!miBlZFT>hIm(4S#uAhxajiON=Q14gi^B@7%HByF2il8Hy_uk8PM*8 zA!Kmg7LmIWjUyPOJ5u#Mx?%y^`&`O&D^5KhRwfLJbbZkLk_>zYw_krr#X#3Nthr9` zg7UN_2E&32vZA@fAOHe?iewcC3ru+QMn`*3Ev4l&@SKse*0J4JlcBz2u}*%K=ySzd zlRIh`XOz(G+l42TD=Y*X}Wsiw6$L>8Q-*K-G5`bAc`08x4TC18e2Db$Zw{i&T8m!h*Ug6q?4vS`rmDlwvCMWmC z!hWm$60DY0L#TrK4!Vc(SglSG8Q8bZ8J$LF^(*JhWT!3njHSb2S+B{DZp zKxOM&C$`d0b7FS@b87-Dd`}G7Zt9}io9yvTh?HU%o5Y@V8{7=h4Ha|a8LmB}YHDaZ z)SfRnx{3}oXIJ0ALWvqOQK&?lnyb?mx9703R7qgKyeoR(l{zlpz)8ObUI=<8EUKpGu95%dDW}cA+TjxszZO(CdQ?}UgmgBwmf&|%I{WI z>tv%TJ|bf1Ow=ASL{Mbi9Ida>9G3Lb6wX>T3Mj!>=pLnP8+0AaXLV$}&8e|g5?hZt zSx?XgIhL0(ZkHNCiUA~gaxxp&gjdayd`)H}v!wEwK`{@!ws&BC3X4xcA*P^5EkFuH zSW>_FSnPjcZ!2myr*R>ilDnrAMw~>VV6w~F)!8KMYKDbUl$^X{g>2XunenS#&l)J8@lnfNjBaRC3+FBwroy} zUlW3KTkuuJlht-G9;PwJ8^+^inQsU4IaFvR7Vma6B+_iLoyN=a?KH=SS$wgj+Xjlc z+Nx)}%6TfbtId>hUT(pp*j`XK=7d-zQKxbCH#oO_nH@x4v&V2~OE13H83w~7vK3Gs z(070DAWsfF|Mca{Rp+Gd5y{~ps$SIj$II10Cm7QcW!r-?@HT0g1zm4cwE1S2GZH`fVx_#N99B1)G zyv@^T>`RUGd4bPxB0w41x2Zp`Wz@GH>_H*<^wHyoFCM-;-L_i(776{AeLSB~j!$VW zmq~Ob(WArD!@zqWu%SVh{d&A0dg+#ax`ik*4?6Pw#OntHi|9g=QiE|m$>^GwJjH)o zKfsJjo@u<0&-~C2c#7qdz#RFipAi>!IV3kA! zAub6NCebQ!j34SX^XYsiZCXX{cO-w$w4$`Q$}j~FIHh>dP>&(fkXM- zjr#!yV>5Gi!Jz(U9ba72xQ6RnF{UZSjI=H?*FP}tGtYPWQuR=6+bdC-CHoV;(ME}G zHIPD%?T?Etm$#rQ2x+wG`dc@gEOWD(vL2E0v(7;qVy&s^A9x+_Krzy-iY~3Ia*?Rm z7cz~;HFr<5%T5pbp_VjM;+}uowf>gW_^Q|Yg*Fn**4f#-#VHb4F=k_i40Ug68#Ic#WMS}T zM4Z!QX3^cYA-?Mp8nP*wH}_-Gox_ zeRa||hzUy20ynqMijE4l0RRjMwjCS{{fuMEf5~w=IT52J7e_s0ACjAxiUXm%9kEY}SN*FmzOS<}=| z4MnbDx!DK78O(nJ3R~_uu&M-#_Jl3G#yC!1bHG^ycO{trn(prHmK8w!T5Iot@9T?x z5fnaFdZ&YaI4E2uPSpOP>{mRAbJu>g9)+WQ+dNYj+(2w{fFt@GOVojpi0FJerdyiO zG>v2iBWn}F!TZ6$xGEbbgj{}lNVw^zN3@3zCUC-=NAQ0IZ+R_(wz{!)W!$R926}&g zWCpjtzYxSp4+t*x_*jh0Fc3YJfjZ*|v__G_TWAxHx7%}5SbjgW;bPskH^v8jcNTw;`5$YwolRG^tB47 z%+6z4hrG?T)A#}W(K9p7f~A8JEY%Rk-QEM=I_5(@-6N>kEUkR8e z#`zo@0SSPcA!;r=Z90Rq4n}b_9_Aa~nMs+^2JDsiSzrN&F7|?<3=Q^znhQ}Q-hzpC z?}hd?F_o3E9Hylzsm-w;qL@sqneZBR^?FCNnZFAUuI5Xj+0v6hpPW;vuCRNNrgquc z)DC}Tif~00gP8I$h&jxlM8qq5szJyhu6T$3TRWRizl&$%MQw}*gQXh*i*i+2llDb9 zNz*7qvnf6J(URP z5e@WBOVAgXGr?9AwQ(l94(FyweV0{V4gaCX7qf+p8ilA9!QPJDvtN~?)s==3vlDF{ zgv;JevC|vp({ZdAR;vqoX2rOOaWsw1MS6NJkmlI}BsxKnI?y;!uCs z{_GaAP9n>d+P>nh1CS2y2@&PQDbU8Ii78!7ne73pli@KKM+v|Tso&3^`6W@4ys1Ca!WhzldEWyt^AyR^wC~Gy8 z#>4PKg_Te}P^5weiAs@B`pH&i8me2)*AytNLdj~ zOgUK(vVypxojh@TnaxCNZXQiqheTwtbEwyDSd|46nXk9o38H^hM9K@c#4UfE^X%`> z)b?BW{%&!eQ5Yt)0QZ~P0r$dhrUfYf5xZOI5`Y`%M6!WD0W=VH+Q+W+zwouXiM~RsLKj2|9 z;JL1N;yXTXuSNud&wpOV3l3tivi(si4S%7%0xv=I;=RMd#otJR8e(NRrR6}QQU{$BafVJksJPH{SxK=> zRk7CzBs^7&^|Z%e^qEpHW{Cyup6wQ4szM#s5bARPCqpLtcFQK%Q`%ITlPJnGoyy-3 z-Iiag=R{m@k7V&U`sZ{!lPDttyZ~iDn!kU?NIq6A|S|Pozgl>+;S)#`sMl#BNEQu7k%>i|B!p;$w3cQRf?o(0dnigVBU zBJ7$JzNne{;f>|i!-R2NSt>~1pYu%;NsO2x0SGatd^i8?%Sz(Ue0iDl!bSagKs#$P z#;SZX&a!;=1K$gE;XBQd8#mcoglYOmRl&|O11U4O4)|m|)3^Gr{JG@ML92gD)!*^O z!yct~mKsT^k)wq*N0yI%C-{L; zbqsvV3q@FcD?QEQzTbu_^s^nffBUwtQU1S`vmj1@AE}%w(~n7XWuSsrfQ5_kYMhKG zxUIbrUrAn|SJvZG;9Y+Qq>HS2u&9D|_c$JPc$_On1z?=HtBdXYq@o?L#^><{#h zu1ESkU3vZDlK81m;8WqywAP`Dg(B`|93QYa?)fp(#EhzlVhnD(M3SQO(+ zFAyo}APvebXziJTiShTU;v%aIGJ~kgXtHWzbTVYk97wT;eSLrPKwu3Ia~6wkKFJIR zMZ8$q+dM!JFe*Xlf?a@dL&uN+0(3e_~&HH?b^emrhGcqY45E}>O!hnh zhX~sxcZcWq?uH)2c%e@YIl^@J_%3@ii;jE+N|jb&b9i7PZlnh<*kNuL#_d7YYnn=R z-c}KvLxEq zX)tdSxw(;<5P2`ax{YR zWb%V*3$K&>?bpls8~yy8xtwpkX+kwiJp=rXeop+d_G}qo?^YHoi99e6 zpyV7sxrk*f!_5?eX+)VEg~Adj`OSXz|wv`98T(jE)uAkLq*CCe*>!m!J^@&QYS_O z`nhc4|C2P*o628ZPQOY~j-pvm`~U8cQksRFzo8F>|2w+!$7?GeA-XT#MmyUq*$*8w?0MQwttsqlecy8K z+i}nh4(q@9p;i*6S#9dMY!!3v)BRDrxs|Ne`9dio+DU~%f0lS`*Y#_SGL|yXO!Ds= zXVQERM4u_B>{M$*+TQ}ZzUazWtCwziwIF2=#OU>DEK34?M7(QuiqaXe(sa(ArZ}3h z3dP0gxG3SxQY4(fs(T6HC866)`Sxecskc0xrv6F_B2~J*Yu0qn!iH5j7wJ`regP<* z?t=z@}(6d5(K*lY5-t=#1Aju01j`5V^wD z9WU#2Lt~m@fR~zY?RzceN~LpJy4(Et?5W>5;+h9*s*PLWgASu|%Db-hmf3&4avNSp!r~M#Lqbu*W7oP6& z-lFYF0J)nckhK6zx>!@qms9fp(>whVz>EukNmq60ld$Rbn9ex>15{Ti+dozN$A?1S zAra+AeAN@`KBR_F47PFvqVY=I$vG0oFgk!m=y5i0uw9`Ck@c_>jRL(db-lsxV4$_| zN1(e$e|l^kbOyEvqy7C>Yg~k1XDx|T-699W?G|kz3aH!`2n|d(2GFtgxjl)}9v zY%V{}52B-1;-}FISome9n$dWGunVUJ%aC4Ue?u6v3aTasG9~ze#cR=xQL3>s%gQWj z<|&iLr+r_C8K4x}aeeF<@KbeEhU1|M6hRA&2^{nV`lrCG42#ZcaGX}qLC2s~X;~A7 zxG;pzYlji^6R<-ovLhmEsga;OIWsB=%E(U zj_@o{^c0Fsv>?K!+J%4UGyhhyva06ye+VS|I+cIroPV0oB(%f6QgrB@$>x02g0q4Vp*Ll+VG{=VtNG+2H(C1ZZ1e+u zhB{5eoRzlM4X%{&_!CC65u*VC?X(+Wr5`-bS7Blje-MH&Oan7Dp_x2AA7N^yCXf+_ z@O4$-u1<(dEwEG^2^!lO=*|_h8sxFcn**~ux zx9?(QS!&R-Gs2#AnF2f0y%Kw<^I()B5}jk)rki1w0Ad*zuQ~)P7a_U`%Eim3**@by z@3nX~o)SjDSWc*Ff8dvEj#R9@C+fEJyDzX>rQ%r+I-O4!IKzH>5RWH12cFG&S84JF zX4XUM1aG*)-_tollVG7L?l7Gxh~aYxp#USnghLpC7L3>9vRPByE_tF7*IPuqF}sB-%eyz71l<5~od&XZ4!qe+ZUQ^?us34?b0RrDrsR zItrXciAc(t1ES1};~NKZtU}3}sA!U36=#UjuZ{ADIqVT{l=)!L>xNoZX?j&;>lKe- z@rav32yhH{)w7;Yi(Ck*YSIf&GRiA(rU?c0z~VPC*^_sn7KnP9WC$>+rX?sI?aRU$ zGnerpXraFae=7`?an(@q$#OyUnb=Y3Fjl>G8SI0Y@ca2Y{PQY9{hxfssEt}d(ACHg zFbrIPyzvS0Yr%hV9f%n2I#Azk2_CCwvrcNw%mnt9=3 zPF#Tx#*!Hh~ZD7Qlyr?oHJa-FW>4bkLrEAu`+(=f76BVmJjkI%9nOHI6Reb@n0Zvs zfmhJ79?v~P*_Gu&k2jfIO2bn`w8d|e!;)M9X_Fw6UVpz;XPp-dM(Itj2X*Z`iU*4D z41}}{gy<}*9|+RKcE3sgSpBsxB}e)s9Cuo{8j)DKBiaBjuLfts6dn^0wob%VmP~dv zq5eIFn|#WoNaKJLe_C)7_g^Kw5MdpX)i7yV3I0Bv6?$D#$2F(_uvuFlxF-3aDk{FI z>aO2y8h>2{?s}Ao2Gu+~*^N+(RR~vlUIxDK17fyqsu+p|AM!Xgfl?V$jU!N7K@7$R zp5*8zdRwKf7HzEK#PFmP1Du0Q7o1KD|0{)AkdA0<1?^~QMvO@CVUYt>s){%e(nUOp z4(|j-ZhNG!2xv54CDAHhKUJBVW=h;jd|fMgZGYFn8c?S6DoT)bL`NAzH%N_V?mb#v4Ci7)FTvBiw^IM@m}=`p)(Nz|=iT@;pvjdfjF%w{lH zkJI|`=se2NQFU{OaQ65HYc^`hQs77@@oEJ=4judTf0DIZrK{S3PN1v=cAK#%|DNze zvVXH3ar|6%U&_i&g|E`w_$s9jIW0S;dT*~XBN9SM=Lk|0 zAQ~4LSNYf^c%OPx5Ly?*PU2ds`-cAjHAeU_-9I#ffQ)%>{P zxQw}L88pW%zb#s21JDO{y@6pJ-Ds@EZ2l!BM?Ua(V5bt@N(>m=Rii*W-*MIEu z?LaMB3J5CdeL1<_m2saX+DhLuv2qEhzf~SDmpn z4)$0hK&jX%r-JNyI*^lGt=X_61Aq3`rj;+4=b%qND{Zs77$>w8S3Xw0Y`P~oD7GFt z5OR$A0d1_qP-C~jIHD{)Lb-c6%rsBN$7A6qrQ#BDueq0+#`gEeB4}tjkfT>Xl~B1y zPfLeif2Z|2S0gMWuRl`U0d zcRiy6K33u|&{^SDI)xNQw4vem zT&YTkvc53Dt;~Cewquvll1HsW7!Y4Oh`Yeepa}BS4;=P|bL9JF?F`3Df1$3|GhVhW z->NKTkp)OFP~%ObxVl)=z<+I#t@3vQu3a}q4083(V^sB*anOC<8$x7BTHxUjF-#50y+?k&G8*0vp!G0tTa-EHhKGQX| zn{KeKFl3v9G2@fch;36O>vSF1+d&y@=GmAT5%o)E7Jpc5Qs6yTmb$>3L=7X*8W>ee zEBiXDv|=`&GVQEhAfgjoTp?Y6DPJ=XN_$+G3Ke3YfQ2^8LhJj~A-eS?Xm1f|sF0|Y z!jvR(oZv}Y9ol3oOS%w3a-;6IkbE|Q9YZ~-2Q>|VE z0HmAA{C~KwSeAk1B#KfM3ZB3qv4mNv>S6IZhfOe?t$syMfw0D4C2Uw^*Fj~xC56X& zOl&Ba*ibOBp~l1p(V@6k+jDR%)`3c_kpucCY!p`57C?KzvW3YDY$vy|9pM`l*iJ^U z85WvhUf^7LfpZ~yfpbY_8MMCq<3y~6-;XM$?0;-&>RAdBY%uqfBOM)f{cx4)@IOYQ zY`a}o6FJ)GGKXZjb$G3;|6CrM2_SqbY_-5!Ez_FAZO`Hj=Wghp>AQu=q2bE$NwyT> zH6^!Wc4CXlwUv335_Ru}WU}AfjDi5Wq8znAV5;SD_QPy)3GX2B+i&^IVO!^uiSjX` z-hZAcC1WZwe?y;UNS{yC(`J=_7cc06oriuYw)26uoqwW0ahdYedskRc4sVBfXFQXN zNoi)03K-U=M-OxEmO!ozL88-_>zB)yvzLQ@nE^;6c!XoRiwkJQ*RY*GpH;2yAeGhX zkQPJm21m}=Q;OH8yV0~+fy&a!fDz3mJAd;vAuHX@_<#@AGvZ?|Ncua-j21C*SZx1Q-2Do zF1jZ3B~UBM0Z(L2VcYs)%PKO^^0HbsD{5)9hDAjhoY)T45u{D@K8l0n+iv3BG(}js zs$4d^UN5fI%cjeucNZ5VX5w4)jZ(NS`lmOnXo9KwnE~T$02SaEwz*gx#PeH8^F*TM z&R~ct$&2A8q88hP-+;e5(sKzq=YRIM@G2y_Hm_cpPp@8i<(*r4kK9*6u7pfx8N}{d z#q^y+N~kf_v#=v13RqH?m|R57RkaiGLZGO+awtS?Y;($_K7qMnNlAFz~LNHWo#z_!6l)TskCp;#Z<8jWEC)!j=~!2Gh70 zG*p2Q$pSdxE^=P?N5o}9qkjjRS*1v+z+hlXa3l!{IsXm~J07-HmD|jAlrm)wYp$W5 z)x39`;{)pisv41hZ+pUKU?k=u)ruOy8wfIco!~9~Z3h0f`SNsoMSrfheShn5Ty5{= zOQ1Xb?aP;^ca87&FRZ5ZVeu`zUp7yz4mW=FITt2-WCD1w||3}00^sXZCkx& zZ?F3@^Iv8Mh@#!5zgr)5=TG`DQtWX8BU6l)|K<4)-$(ZK2pXo1RG{DZEBTCPbt|n2 zI@3hlkQiOL#uwyUVYR0thUVrpzfE1g0&HMja0}SxjgEKFWpjy`MSdWQ2szmswD$6V zp_1P-cY&u0!?OfyqJQu)YI;v+7ep>(4fH&0fF}jU01tskFlY2?EF7mMDKHMBADHNQ zz+gE(Ox%9_!*|b6*Rn_bg=MHoU^jK*E@U~MKIgi?E5NDlyqzKhFGhtj52*_m`7cT< z)BA2r@Mtw3tlJ{{y7;S#7KXVFM0LGMx!KHF{w+iiY& z*6$5^d(CllrWt-A0%s5o1$1U*hIZx$L;Ql-jvtJT*xJqv!z}oWWMhQ={UL9sV%*=C z4Z|ROJB!~w&(~|}+p0a7#A{`w1LwB3En=a~K@&@h-^}SR!BUAMaz)^O6SJOh9Pt8R z*akzu5A2ZSKh#_O!l9Ay2UhI6%?wUq#xx}5e%2qiWoj&mV6L14PRCOfc8+yEe#}=3 z8dUyG9%qDFcq)oc>xG137tIs)nknJK5o?@-1>?7IE_gLIt1zKigo&lYj2MsS8QP)lstndyZd^qPY`8TkHw z(GfTbLl92QEH=~oth~vsKvuNf&+VyIr%OUbpC0y$sjxfjpPdfN{1|sY1WclHy(l{L zsn3YOQmw#O<9w2>B)DgKT9Zzj$mih58Sn;l@hi4wV8*7M04&LW41vQ54+5)sj%dt# zWq^e-!HOvj(De9p(Y8&qz` z8ed2Rdyc?sk*n;?zrqz_I8~2Q9sQhch@=`DldyuL{&hm2FD`w#wrC)TTUqlkxqn8V z9!@51x9XyBaHo0$C174*Bs7_;b!8y7XxZt4@va4}xd<$yNTPDa0leDaE)s4f_!i4? zmVc)Zi&_;eR(8~=M-=O_#p2Y@EnDOtoveN1P$2eSgA;R#-vK0Pf>kswv<+)~dZE_5 zUy5=|6wk6&fVACibWYrUZO#b&MSobU>v3MAKXYRee&H9!jSH|E18P<-fapT(ZZCwQ zqgNQ&;vQR0q9%CT{J7ozmcplH!Fzki8bjvwt2AIRf8cdGtj5hEoTNR?*Q0p`{7vLM z=O#t6P)>utXjVay#AJfMn-cN7zS01rgGmJP>hXL^fS#!uO)hc&OB7S!WPgvK@ruw_ zj0f;Ah)Aa0E^kMIT@HwozX8Cyx2!COdQ>>-@abpEQ02{9q8XoOEQ5U{sh4BVYzLSd&ml~G( zeh@X^80*BIw@*{m^ZWxfN+rjaH(og++QdSXX9gSf%c6L}Px_K}=%r5aF*Z z9eG7=>Q%GYFU36K&BB-1Ruad|O7rVma;T=jsl^ZK3Or=I%CnCulP~9Og>jv_U;4eB zUk()F?k4xVfRNO`qzB${<8{<+ciC;O9~RZHS$;vt(nQE@;@9*S<}vCs)3Kn2+7j{f zIU%^>Pu{$WFlZ871b^p#B$Fsd$DADnV*O*ffceog9l26aG(1$e_+en|><_Q~3u>Pz zG1ZB2^c`>)bwCNAw~HG*I>fP@l@1_BZat-*^|3V>O~$OR#RTl6%M?q!lQP|FPi6Le z=xM7LUzk&CxNxKSBcy*BywxPf8$l2FCi9s}X}mdp+iV>M@PEk1_ZPo`r$*|!7^9{o8V3GHcF16{sQD_9UZ}+jAPO^1ofx1cLwYqhwvPGlH!wY?=B%bXY>>u zb!q%}y4@4HqwaL?f;G?Dp_}Ljc+a?CpWd738D2K@dgcdby=Lizzo84ShOzK19bR*$ z2?V~W0|wC>`hQSg9%t7SQwN!{6I7Ot($K(<#04R+viBA~xO6mvP>n}Y*Hhh*u=zIH zFv5@%ZnzQnxS|K%d^9b4D{#(M(c1tw_ug9w45ZG1Taln4zdeyY zVz*Pv%MjHq*fW~d2&Ew)b?KZuQb*35l~zk%Zp^B#yV~Y#T4H<(GqTF^fSpRFL#;9z zcuYe1T;@5`f4fX7q>P$_qzG>9DC|H9D?miG8a2eSAkQ(eF0o+wLWScCn7#+8A$o+Y zX)*~H3xA!S1RDH?xo`l|K!dWZWEx(e0zol%L22UcC3F@yC?Hu?4XZ4utP{?u&gkIU zb-8N>D2xa*NImhI)o^H-5d_B+Ck8aFUvks&W*ILK2-|M-_v)9Zx?J57txTd!6pa#H zb4T=cACcm_ei0`7SZ8zf#q4n3rt%5=t9g+qU@N_oI-(eTCQ=OwUmt0k4Hp||h6QiQRA+HpZ24?bFew!96+?kQpg~ykQ>5x%=7hMgB`G}a`TCK^1a96q` zSbs6>6IvhTK}PGtE|$vY%u4&;t5u7%;zm4(y5R5HafB#|uAahIzY~MA>06#6b?^=o z0j3C3RTH)1y4*#Msy4}M`nXp+7_2FCe*Tt5oj)ISJHy~dh~Q6O_CM_e&)KZF_i{$b zFO=L+lrpqZ^mq!PBi)Gknx&1b9{tme>VMSd`Q(ay`-tlaT91B(baUSO;!7muzG*`@qa0< z8rn894F13)imm2L;xpgFNRbkyMQyVgLF+ogGMj|9945lhEmllD<@@Rxc*w?0l3u3R z)_Rpg$mSS9VHa&C-g4eZGnxkMq!Ei-_|ZC>k7rGyO$*M--w5G2@X9w6f%h@%Jl8-B z%_b1%?mDB43+Kp9+68iIuL@-#D1V?PSLyBPJWe>XD`&obTIohW+Hruz2ZL#nAj!%WH zS?rM1?}=f4T4R`hg)z`=!aG4MTVk`K&uK-W=)ibjSd%ra&&uee0@ltRemFZ?Mn^ zwS*WFU_7BSfU7G?>JEdehYieoFR{+kcH2Q&!cjEmSUHwT9Js~3xv3dZeco+0W(W0# zk%JVV-sDYqJTnR*IQyx~KcH2xi2YqhTJ^4faM zd)ez8JBJRewMFQqN=hzD4+||cuf}$Im5O6IX7sTu^7(=HN(4GKQVA(A*0}ZnpbgfG zSa^6c6zu}P=h1HtjOqgZL-vMh{$ z@E!au&~Mm8$uL0uxFQx<3bmcdEKy?aNB9765}II+I4QxXmq3#ezYM|}XArtU<2o$O zR#Fo6=~>fqIF((9I~*`eB~6`I(Ov0BRf=U;=p@5Nv5L*~&9 zqd^f~#=t2%EFo*?uzS8TubL6p8ZGtM(NeE9!BT3#fbFa#b1BNekS#!n&Qbf|Hu}^= zGRu0WNeQeX?6=9NR*ILS zKsyF!Z-hFz%fV^OY!5Zzib)?PHBP)G#H{!1hvzS_g^kIMrd}M5_rT(Ii*B3J?DI*!7B6lYvxnZ`SR18!R!e&P7+=@pJe#`zl{;d0YTiE!_bFiGKwvg-(8e%|DNHNetA)1l($ zD`rb^d>+uq!3^439`5{c%92CIyM%G7b4T7XpTt0Uq1YNtR4i&e|E6xVH#S2f?`SpR^7kTFt0A-47;x>9zv# z6oH*LSo>jf=*C7y%nT=gT=E!6m7~I3yhO($Ncl7=?|N-^zYKZcd?9bG5q=*Gi!5lH z^WZ_fQ!f0$J>$U!aL8T;>B{35-PFtvCp<+naUEi@-{$2N^>1=6Ss>GFEmjxzljUJj zYuoG??QS~J9?--s;1zt9b_0wc>|PfRE>*}kS7OAxhr%7>puGQo5pS2U5<ez(bR5qf7o$E{SM^R#Cj7?6n_e*MZ)LB|~0E%*Lm%JeisC7OD(B%mI+o zlG!J-mxzb5x>*Q+n~J?Di~39naDv26A*MN# zD8%e5JC#YR$%hFlGOERqGsAVa%m5_--3y3$_w-_@b0gK4v!ZHGVf=wT-Vfp}S7vLw zO*1W*WFEZj=SilCmF6@+tbv^@sI==eoN82l?K%}V+X`xb_GZUa(zr zJHKlB%|EXA0WZu?tAUg=&BPi+d=nj)fk)mO^jNKQ(1WA+aIo`ELwqV&PBGTlr0nLf zHB-9h2flTLXs6~u+RH;L{RJp0pQ}KaCU(GHhHVUA%TDB>7{Hgw&5`RlmiK}V*5sL5 zslcU@jjJkuIs|`7#M9q5iSf|JEaT#;p(+m$wlXZ7E&0~EidZt#uATxu1flW(RdwAi zg-on(c82X8#F|4BB0hTP%{OaKw#qZP$V;BtOI|E%c?yAbTNeHXUFDD)DccXhW`sy| zF+0(bAwzYd3yie9n;iLK6{CUFZTIH!1fbI3`i%B}Bn8^TL}d8_G10P;HiXYitkEVy z`5<@RbOt$)I)nRGH16xwWP4vZ+!)vp`t=g0P5g!+4oDIVdReG>xn^@}!*$s7*N}~t zM*?-h$FuBtJ{bt9L3`j!&~BbCX@#=M2^*%{R{pl*X{Mi>o=6Q52qdUBIaODA4y5$# zZ^#*c4DkGEu~4)5qxoz=#KStO!*ko80@yM3_h~f9Bp!*X%Y0F};hiJ;xzoLW|JnUU_vp_3`}hAxqx&B*;PTG~u_dT0 z=ka(o8qap-qilo04fV)a8s_i+AwO>zg^>H>UJd?M}6;*0SxUeA|* zEC78tL|w`q>RWIl|44P@EVHo zBH7yoPEVut+MMV?<&bJAM$1~Y#gK0pv0Piyw_^M}atTeOQez#z@39UC7d7s5yZSTt zLr`z};2qv0j8A{lp(*JD>Sk2oRxu9RzENaXfO4GCgicerTfkm#g{Hn^^AeXYr?rEV>n3? z_U?*Eq1Bp>V1pnRN^%EQs1epztFY4 z&()MPOhI+373y{Bz4W}mOlhG`8Z_{wFN6Be2KmmS zceg?J;r+XJcisPo_m8^wO85W$qoa@a|G(tt!QSH^9=-VW*%P({Kl$VV{xl}>YzPON z-U)5)2av0u@Hu|49tFV0Jk>lLF@Bd>XVWoLT-;rfbTM) z)}D@Mg!Fo#>GI{tgN|g}T}ole^#w4W9X+8BK<}!G;s$%^_BtJipYm5Un9l0Wc(9g} z=bSsQ!FWyN0h4+-OGopicY-Kex+-3R$h&Es>;hsAColAxjW2Y60}6z-pnSf_m!8f; zxfUkM7Y5FPFop--31CWtAjb+VG@6Iq?w`%IL~6X_LyJ&fm+DsXf~PnZHqh0}y;|4^;!;ZwS!;>iSTyT_DT>f(bAByO@s z9ea`9XNhQZ<1F&vVI)hJbcwF))w^lwtg{?jMKBE1n8t*Bc+QA8iHD?58h&oterALV zJ-%Y7?=v_e4RoFrAxKH=?9I(Yf24dZ4i#jNo++#1%jS>F<(X6fAF#uJ>eyKBtpGhZyq=C4_G|=>w^w; z)x5;Z^*AMeN>hyj>U=G2+G>?w<&0uGEvPhe^5wO>8AgYtok$7g(O57h%jrSrsk%9| zasn;dP^~rD0B@IOOa}WP=nn$oMohHsCSMR~yXMw8 z8>r%c)h6L7X!Bj_oX7V+LJdF=1x$9FD(f5+nX7=(g$XLLfLY^pKCM4KH4Cr4@H*6g zGFbB}ybIjr@W?(Jk3QGy^YG#4`g(lye0X6Yzq_lfAmRu@k}ubn9bN0qcz8|Cdj6Pa zrgr9^KDh7k?u%Zv)Y&y{-Mu06``$;z*vv!# zQ*JSB=$$;rmUhUYx}tyJm4@l9|LC1u#LL=GGiSGd;6?X=DD#f`d$sk?y_4wuZZtE0 zmpAU28_r4{6n{s#I=t~;0)^A?-@f}dz_NdvCueChUHLXhYmTSBGT8n$zRZ{5?*qf% zv4^mZs;T)Z^#33@{K37qy6_Pe|ADZW=eMEV?Ki|FoYK~B&=owMXJfowHj+z5!zL)u zrm?J-^V#s^`DnhGWKi*^(<4cQg6Rr>rtxfp!XH6=g@aW@3Uyk72ls zFA)a%#x1cf*wVZ6EN{+$EZMuV+<2=v+48AgPkMTH_MI@-&GqgczTY5jTr4Xc-{Ry2 zB(w^yWeRM){qrYGicjZDtSVi$lT~>&sgkdAx`TPW>9#764+yoq-9ipaBJB}%zC@sO?^Qzg z0hMA|7>o^;vzX9W(cbyr|MUO(-~aRfZCrHQU$ncxM}kItLwnR5x6vNY-`T*A$jH*1 z#eZ@RD7!sIJ4_aAg*cd3L29T7VIXA439FaG&p`M*O!yEFALacY<^6UG?=9~y&cc5;S^vY5_h| zb7zL04-|(yVlO&S0b!?g8pFbjQ<`QceiUak{y@MCi3Ilb2Y-qq z>{GB)GLg9%exF49cdB1~6lmK{OqIr=YL=E)4AP%L;Ud?I`akGTCLj_@OneH@p5zbsM|T} z-u?XO^UoT$JD;@8ZeSB=R5YKmoI}1 zyz=GQGDk$rO8WEh46X|*$%{N4#}kvzkb9iAAG3$|Y*)IJ8;sLRh9}d-sDGO1j8dn< zS33A6<@BfQIk~2B{b6_OKWx^E&AO6I=+tykO@7XLZ`I^YGTPC#7etBXa7J5RvNiz* z;0o)?2a5)*e0#RaH`%LKfr^ON&I$9cU3%Tf4`X~`LdEM0jy0j9DKAN zt|>9utaCT{%gva!)67j2;eUjiR30OzKA92md09$(3&-#FkU3eqq;ym9izuwL)Tzsy}9zscY3`t+18fMLyitIt2A)kPi>)T`NNLM~>>`5toeX>g9noXm=ev=bm+g&xrx_?~EC%eA?zy>-y zKK@A4RGmfju>_9FUoWSL)vCQo%V);f8Fic1eEXU`>hJjYRAKt>SoQX|0x;MshXvi+ zsq*4M#MgWoHvaSl{e1qpxSJUe&d_4XeApPT8GZu{9TLvt}#{iY|Ir@Gmh#fwVHAKVMEI@ z%u{VWA395MjCrc5s(d6q=bxI4<*j>k>2OjbB zn>OA#wcNj2mB zFYnZ3EU%*)$NSF1tP1LP^r(C$Kks(yGnV1W7hinP%FG7!<*ONI?|IT@<+bka>iWfd zPR9JrKezkJ#RC)msgv2lCj#%4lLEsxf8RG_b<@>n98Y#`y8mqU&xi5~OhBBoR zJy@64NO!D#@3=IwBdSoUxL2v7eW*Kkzy4b>$UlAd*=L-!tprxAE6Sx*e-5Yzpnx(i z4aH&T?!8c2?xQ0aPu)b976lGxxi5=lE~mxx9xL_*O?l(Hd^VW}jp=+gXZBrrDDFm? z&6m@7B6X_c2cF-us}>Z|tT(HWQ&DkjPZln)&(jpyVOi0F@}Dqw z(HV8pHgcJ%HrOGqHTa3#e~G2_|6Hvow8>?Yzin}R1)j`5%L&H9u!mRs97y#gXh4OW zK}n{&#U4%5RJKJ)o!qJ!)gVX_&$)Evi_g1ySF+lDdH2zAyeHew8Q#%-)tTyg+&#p9 z+<6^vrojPYtX6pf==HZ2>*P~{AP}k#ddi9!UrMv8)hb+U-PK>rUjp2hahXcX^x9xB zaK3AtY5+EJ*ueZAmys-|K-)H^a0_#ily=rscj}WrS=I{g2H|GbKa)}FSz)kps1rYA zw#%T&OqSEJKe4%kc7JRjfu8DOQ|Xh?R%Qx2hx7&hlM%)y3I`!v^06N5vcQuymUhwC~t~_bTnCdaIg~ z564G;cn_=#v)MR2vQd;BC$0u5D}i?g`P>alF}qRflU)Eh%S3pT5T?86691}0U0XcZ z+QIFh+zd8YU1^7&b8r05^_13ZrYcT(-@)-@)6|k7R&`D_a&VkB(aXXRpb?)Up>OZ8 z(hjTcuiD+UV{gIoq}rv=9Z0A#lKKlmP6*e3Q`6c1fCHghGi1hl>39lY#tuu21e zm~+&RyZ5qu$l*R()A?^VXPDpk`KE96D2Sf7BLk>Qwm}jZNS_CdZ|SwV=d6_h`R`mN zbzCb5kmCB5`{3L!JJ<95wppd~yZTz`ZQXtEBiZ$pK<1}R!G5;?hSt)}peSi|!ALb2}tBo-9{25RB40bLGGq{&Hx?(2$n ztX}1GxePeX8eUH)5{FJ0PeG$dvDr3uy2FrhuLY{o%2%PM9sXc>WERA;hTuqLv0Fv%sJ@_z~0<;S0oKOcWS{(SuT`1A4S c1.2.1https://pyroh.github.io/docsets/Gifu.tgz +3.0.0https://kaishin.github.io/docsets/Gifu.tgz diff --git a/docs/index.html b/docs/index.html index 527df1b..9267874 100644 --- a/docs/index.html +++ b/docs/index.html @@ -15,7 +15,7 @@
    @@ -58,11 +58,9 @@

    Logo

    -

    GitHub release Bitrise Carthage compatible Join the chat at https://gitter.im/kaishin/gifu Swift 3.0.x platforms

    +

    GitHub release Bitrise Carthage compatible Swift 4.0 platforms

    Gifu adds protocol-based, performance-aware animated GIF support to UIKit. (It’s also a prefecture in Japan).

    - -

    ⚠ The master branch works with Xcode 9 and iOS 11, which are both in beta. Use v2.0 for the stable version.

    Install

    Carthage

    @@ -168,7 +166,9 @@ containing 10 frames, Gifu will load the current frame (red), buffer the next tw

    The simplest way to get started is initializing a GIFAnimatable class in code or in a storyboard, then calling animate(:) on it.

    let imageView = GIFImageView(frame: CGRect(x: 0, y: 0, width: 200, height: 100))
    -imageView.animate(withGIFNamed: "mugen")
    +imageView.animate(withGIFNamed: "mugen") {
    +  print("It's animating!")
    +}
     

    You can also prepare for the animation when the view loads and only start animating after a user interaction.

    @@ -176,7 +176,9 @@ containing 10 frames, Gifu will load the current frame (red), buffer the next tw override func viewDidLoad() { super.viewDidLoad() - imageView.prepareForAnimation(withGIFNamed: "mugen") + imageView.prepareForAnimation(withGIFNamed: "mugen") { + print("Ready to animate!") + } } @IBAction func toggleAnimation(_ sender: AnyObject) { @@ -204,8 +206,8 @@ containing 10 frames, Gifu will load the current frame (red), buffer the next tw
    • iOS 9.0+
    • -
    • Swift 3.0
    • -
    • Xcode 8.0
    • +
    • Swift 4.0
    • +
    • Xcode 9.0

    License

    @@ -214,7 +216,7 @@ containing 10 frames, Gifu will load the current frame (red), buffer the next tw diff --git a/docs/search.json b/docs/search.json index 32cefa2..a3afd9f 100644 --- a/docs/search.json +++ b/docs/search.json @@ -1 +1 @@ -{"Protocols/ImageContainer.html#/s:4Gifu14ImageContainerP5imageSo7UIImageCSgv":{"name":"image","abstract":"

    Used for displaying the animation frames.

    ","parent_name":"ImageContainer"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatableP8animatorAA8AnimatorCSgv":{"name":"animator","abstract":"

    Responsible for managing the animation frames.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatableP5layerSo7CALayerCv":{"name":"layer","abstract":"

    Notifies the instance that it needs display.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatableP5frameSC6CGRectVv":{"name":"frame","abstract":"

    View frame used for resizing the frames.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatableP11contentModeSC013UIViewContentD0Ov":{"name":"contentMode","abstract":"

    Content mode used for resizing the frames.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePA2aBRzAA14ImageContainerRzlE20intrinsicContentSizeSC6CGSizeVv":{"name":"intrinsicContentSize","abstract":"

    Returns the intrinsic content size based on the size of the image.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE15gifLoopDurationSdv":{"name":"gifLoopDuration","abstract":"

    Total duration of one animation loop

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE11activeFrameSo7UIImageCSgv":{"name":"activeFrame","abstract":"

    Returns the active frame if available.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE10frameCountSiv":{"name":"frameCount","abstract":"

    Total frame count of the GIF.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE14isAnimatingGIFSbv":{"name":"isAnimatingGIF","abstract":"

    Introspect whether the instance is animating.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE7animateySS12withGIFNamed_Si9loopCounttF":{"name":"animate(withGIFNamed:loopCount:)","abstract":"

    Prepare for animation and start animating immediately.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE7animatey10Foundation4DataV11withGIFData_Si9loopCounttF":{"name":"animate(withGIFData:loopCount:)","abstract":"

    Prepare for animation and start animating immediately.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE7animatey10Foundation3URLV10withGIFURL_Si9loopCounttF":{"name":"animate(withGIFURL:loopCount:)","abstract":"

    Prepare for animation and start animating immediately.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE19prepareForAnimationySS12withGIFNamed_Si9loopCountyycSg17completionHandlertF":{"name":"prepareForAnimation(withGIFNamed:loopCount:completionHandler:)","abstract":"

    Prepares the animator instance for animation.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE19prepareForAnimationy10Foundation4DataV11withGIFData_Si9loopCountyycSg17completionHandlertF":{"name":"prepareForAnimation(withGIFData:loopCount:completionHandler:)","abstract":"

    Prepare for animation and start animating immediately.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE19prepareForAnimationy10Foundation3URLV10withGIFURL_Si9loopCountyycSg17completionHandlertF":{"name":"prepareForAnimation(withGIFURL:loopCount:completionHandler:)","abstract":"

    Prepare for animation and start animating immediately.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE15prepareForReuseyyF":{"name":"prepareForReuse()","abstract":"

    Stop animating and free up GIF data from memory.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE17startAnimatingGIFyyF":{"name":"startAnimatingGIF()","abstract":"

    Start animating GIF.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE16stopAnimatingGIFyyF":{"name":"stopAnimatingGIF()","abstract":"

    Stop animating GIF.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE21setShouldResizeFramesySbF":{"name":"setShouldResizeFrames(_:)","abstract":"

    Whether the frame images should be resized or not. The default is false, which means that the frame images retain their original size.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE19setFrameBufferCountySiF":{"name":"setFrameBufferCount(_:)","abstract":"

    Sets the number of frames that should be buffered. Default is 50. A high number will result in more memory usage and less CPU load, and vice versa.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE19updateImageIfNeededyyF":{"name":"updateImageIfNeeded()","abstract":"

    Updates the image with a new frame if necessary.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html":{"name":"GIFAnimatable","abstract":"

    The protocol that view classes need to conform to to enable animated GIF support.

    "},"Protocols/ImageContainer.html":{"name":"ImageContainer","abstract":"

    A single-property protocol that animatable classes can optionally conform to.

    "},"Classes/Animator.html#/s:4Gifu8AnimatorCAcA13GIFAnimatable_p12withDelegate_tcfc":{"name":"init(withDelegate:)","abstract":"

    Creates a new animator with a delegate.

    ","parent_name":"Animator"},"Classes/GIFImageView.html#/s:4Gifu12GIFImageViewC8animatorAA8AnimatorCSgv":{"name":"animator","abstract":"

    A lazy animator.

    ","parent_name":"GIFImageView"},"Classes/GIFImageView.html#/c:@M@Gifu@objc(cs)GIFImageView(im)displayLayer:":{"name":"display(_:)","abstract":"

    Layer delegate method called periodically by the layer. Should not be called manually.

    ","parent_name":"GIFImageView"},"Classes/GIFImageView.html":{"name":"GIFImageView","abstract":"

    Example class that conforms to GIFAnimatable. Uses default values for the animator frame buffer count and resize behavior. You can either use it directly in your code or use it as a blueprint for your own subclass.

    "},"Classes/Animator.html":{"name":"Animator","abstract":"

    Responsible for parsing GIF data and decoding the individual frames.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "}} \ No newline at end of file +{"Protocols/ImageContainer.html#/s:4Gifu14ImageContainerP5imageSo7UIImageCSgv":{"name":"image","abstract":"

    Used for displaying the animation frames.

    ","parent_name":"ImageContainer"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatableP8animatorAA8AnimatorCSgv":{"name":"animator","abstract":"

    Responsible for managing the animation frames.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatableP5layerSo7CALayerCv":{"name":"layer","abstract":"

    Notifies the instance that it needs display.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatableP5frameSC6CGRectVv":{"name":"frame","abstract":"

    View frame used for resizing the frames.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatableP11contentModeSC013UIViewContentD0Ov":{"name":"contentMode","abstract":"

    Content mode used for resizing the frames.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePA2aBRzAA14ImageContainerRzlE20intrinsicContentSizeSC6CGSizeVv":{"name":"intrinsicContentSize","abstract":"

    Returns the intrinsic content size based on the size of the image.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE15gifLoopDurationSdv":{"name":"gifLoopDuration","abstract":"

    Total duration of one animation loop

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE11activeFrameSo7UIImageCSgv":{"name":"activeFrame","abstract":"

    Returns the active frame if available.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE10frameCountSiv":{"name":"frameCount","abstract":"

    Total frame count of the GIF.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE14isAnimatingGIFSbv":{"name":"isAnimatingGIF","abstract":"

    Introspect whether the instance is animating.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE7animateySS12withGIFNamed_Si9loopCountyycSg17completionHandlertF":{"name":"animate(withGIFNamed:loopCount:completionHandler:)","abstract":"

    Prepare for animation and start animating immediately.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE7animatey10Foundation4DataV11withGIFData_Si9loopCountyycSg17completionHandlertF":{"name":"animate(withGIFData:loopCount:completionHandler:)","abstract":"

    Prepare for animation and start animating immediately.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE7animatey10Foundation3URLV10withGIFURL_Si9loopCountyycSg17completionHandlertF":{"name":"animate(withGIFURL:loopCount:completionHandler:)","abstract":"

    Prepare for animation and start animating immediately.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE19prepareForAnimationySS12withGIFNamed_Si9loopCountyycSg17completionHandlertF":{"name":"prepareForAnimation(withGIFNamed:loopCount:completionHandler:)","abstract":"

    Prepares the animator instance for animation.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE19prepareForAnimationy10Foundation4DataV11withGIFData_Si9loopCountyycSg17completionHandlertF":{"name":"prepareForAnimation(withGIFData:loopCount:completionHandler:)","abstract":"

    Prepare for animation and start animating immediately.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE19prepareForAnimationy10Foundation3URLV10withGIFURL_Si9loopCountyycSg17completionHandlertF":{"name":"prepareForAnimation(withGIFURL:loopCount:completionHandler:)","abstract":"

    Prepare for animation and start animating immediately.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE15prepareForReuseyyF":{"name":"prepareForReuse()","abstract":"

    Stop animating and free up GIF data from memory.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE17startAnimatingGIFyyF":{"name":"startAnimatingGIF()","abstract":"

    Start animating GIF.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE16stopAnimatingGIFyyF":{"name":"stopAnimatingGIF()","abstract":"

    Stop animating GIF.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE21setShouldResizeFramesySbF":{"name":"setShouldResizeFrames(_:)","abstract":"

    Whether the frame images should be resized or not. The default is false, which means that the frame images retain their original size.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE19setFrameBufferCountySiF":{"name":"setFrameBufferCount(_:)","abstract":"

    Sets the number of frames that should be buffered. Default is 50. A high number will result in more memory usage and less CPU load, and vice versa.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html#/s:4Gifu13GIFAnimatablePAAE19updateImageIfNeededyyF":{"name":"updateImageIfNeeded()","abstract":"

    Updates the image with a new frame if necessary.

    ","parent_name":"GIFAnimatable"},"Protocols/GIFAnimatable.html":{"name":"GIFAnimatable","abstract":"

    The protocol that view classes need to conform to to enable animated GIF support.

    "},"Protocols/ImageContainer.html":{"name":"ImageContainer","abstract":"

    A single-property protocol that animatable classes can optionally conform to.

    "},"Classes/Animator.html#/s:4Gifu8AnimatorCAcA13GIFAnimatable_p12withDelegate_tcfc":{"name":"init(withDelegate:)","abstract":"

    Creates a new animator with a delegate.

    ","parent_name":"Animator"},"Classes/GIFImageView.html#/s:4Gifu12GIFImageViewC8animatorAA8AnimatorCSgv":{"name":"animator","abstract":"

    A lazy animator.

    ","parent_name":"GIFImageView"},"Classes/GIFImageView.html#/c:@M@Gifu@objc(cs)GIFImageView(im)displayLayer:":{"name":"display(_:)","abstract":"

    Layer delegate method called periodically by the layer. Should not be called manually.

    ","parent_name":"GIFImageView"},"Classes/GIFImageView.html":{"name":"GIFImageView","abstract":"

    Example class that conforms to GIFAnimatable. Uses default values for the animator frame buffer count and resize behavior. You can either use it directly in your code or use it as a blueprint for your own subclass.

    "},"Classes/Animator.html":{"name":"Animator","abstract":"

    Responsible for parsing GIF data and decoding the individual frames.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "}} \ No newline at end of file