PNG  IHDR  8] PLTE S =tRNS   PNG  IHDR  8] PLTE S =tRNS   REDROOM
PHP 7.4.33
Preview: 091.phpt Size: 7.82 KB
//opt/alt/tests/alt-php84-pecl-msgpack_2.2.0-1.el9/tests/091.phpt

--TEST--
unpack of object converter (object)
--SKIPIF--
<?php
if (version_compare(PHP_VERSION, '5.2.0') < 0) {
    echo "skip tests in PHP 5.2 or newer";
}
--FILE--
<?php
if(!extension_loaded('msgpack'))
{
    dl('msgpack.' . PHP_SHLIB_SUFFIX);
}

error_reporting(0);

function test($type, $variable, $object, $result = null)
{
    $serialized = msgpack_pack($variable);
    $unserialized = msgpack_unpack($serialized, $object);
    var_dump($unserialized);
    if ($result)
    {
        echo $unserialized == $result ? 'OK' : 'ERROR', PHP_EOL;
    }
    else
    {
        echo 'SKIP', PHP_EOL;
    }
}

class Obj
{
    public $a;
    protected $b;
    private $c;

    public function __construct($a = null, $b = null, $c = null, $d = null)
    {
        $this->a = $a;
        $this->b = $b;
        $this->c = $c;
        if (is_array($d))
        {
            foreach ($d as $key => $val)
            {
                $this->{$key} = $val;
            }
        }
    }
}

$object = new Obj();

test('null', null, new Obj(), new Obj(null, null, null));

test('bool: true', true, new Obj(), new Obj(true, null, null));
test('bool: false', false, new Obj(), new Obj(false, null, null));

test('zero: 0', 0, new Obj(), new Obj(0, null, null));
test('small: 1', 1, new Obj(), new Obj(1, null, null));
test('small: -1', -1, new Obj(), new Obj(-1, null, null));
test('medium: 1000', 1000, new Obj(), new Obj(1000, null, null));
test('medium: -1000', -1000, new Obj(), new Obj(-1000, null, null));
test('large: 100000', 100000, new Obj(), new Obj(100000, null, null));
test('large: -100000', -100000, new Obj(), new Obj(-100000, null, null));

test('double: 123.456', 123.456, new Obj(), new Obj(123.456, null, null));

test('empty: ""', "", new Obj(), new Obj("", null, null));
test('string: "foobar"', "foobar", new Obj(), new Obj("foobar", null, null));

test('array: empty', array(), new Obj(), new Obj(null, null, null));
test('array(1, 2, 3)', array(1, 2, 3), new Obj(), new Obj(1, 2, 3));
test('array(array(1, 2, 3), arr...', array(array(1, 2, 3), array(4, 5, 6), array(7, 8, 9)), new Obj(), new Obj(array(1, 2, 3), array(4, 5, 6), array(7, 8, 9)));
test('array(1, 2, 3, 4)', array(1, 2, 3, 4), new Obj());

test('array("foo", "foobar", "foohoge")', array("foo", "foobar", "hoge"), new Obj(), new Obj("foo", "foobar", "hoge"));
test('array("a" => 1, "b" => 2))', array("a" => 1, "b" => 2), new Obj(), new Obj(1, 2, null));
test('array("one" => 1, "two" => 2))', array("one" => 1, "two" => 2), new Obj(), new Obj(null, null, null, array("one" => 1, "two" => 2)));

test('array("a" => 1, "b" => 2, 3))', array("a" => 1, "b" => 2, 3), new Obj(), new Obj(1, 2, 3));
test('array(3, "a" => 1, "b" => 2))', array(3, "a" => 1, "b" => 2), new Obj(), new Obj(1, 2, 3));
test('array("a" => 1, 3, "b" => 2))', array("a" => 1, 3, "b" => 2), new Obj(), new Obj(1, 2, 3));

$a = array('foo');
test('array($a, $a)', array($a, $a), new Obj(), new Obj($a, $a, null));

$a = array(
    'a' => array(
        'b' => 'c',
        'd' => 'e'
        ),
    'f' => array(
        'g' => 'h'
        )
    );
test('array', $a, new Obj(), new Obj(null, null, null, $a));

$o = new Obj(1, 2, 3);
test('object', $o, new Obj(), new Obj(1, 2, 3));

class Obj2 {
    public $A;
    protected $B;
    private $C;

    function __construct($a, $b, $c) {
        $this->A = $a;
        $this->B = $b;
        $this->C = $c;
    }
}

$o = new Obj2(1, 2, 3);
test('object', $o, new Obj(), new Obj($o));

$o1 = new Obj2(1, 2, 3);
$o2 = new Obj2(4, 5, 6);
test('object', array($o1, $o2), new Obj(), new Obj($o1, $o2));

--EXPECTF--
object(Obj)#%d (3) {
  ["a"]=>
  NULL
  [%r"?b"?:protected"?%r]=>
  NULL
  [%r"?c"?:("Obj":)?private"?%r]=>
  NULL
}
OK
object(Obj)#%d (3) {
  ["a"]=>
  bool(true)
  [%r"?b"?:protected"?%r]=>
  NULL
  [%r"?c"?:("Obj":)?private"?%r]=>
  NULL
}
OK
object(Obj)#%d (3) {
  ["a"]=>
  bool(false)
  [%r"?b"?:protected"?%r]=>
  NULL
  [%r"?c"?:("Obj":)?private"?%r]=>
  NULL
}
OK
object(Obj)#%d (3) {
  ["a"]=>
  int(0)
  [%r"?b"?:protected"?%r]=>
  NULL
  [%r"?c"?:("Obj":)?private"?%r]=>
  NULL
}
OK
object(Obj)#%d (3) {
  ["a"]=>
  int(1)
  [%r"?b"?:protected"?%r]=>
  NULL
  [%r"?c"?:("Obj":)?private"?%r]=>
  NULL
}
OK
object(Obj)#%d (3) {
  ["a"]=>
  int(-1)
  [%r"?b"?:protected"?%r]=>
  NULL
  [%r"?c"?:("Obj":)?private"?%r]=>
  NULL
}
OK
object(Obj)#%d (3) {
  ["a"]=>
  int(1000)
  [%r"?b"?:protected"?%r]=>
  NULL
  [%r"?c"?:("Obj":)?private"?%r]=>
  NULL
}
OK
object(Obj)#%d (3) {
  ["a"]=>
  int(-1000)
  [%r"?b"?:protected"?%r]=>
  NULL
  [%r"?c"?:("Obj":)?private"?%r]=>
  NULL
}
OK
object(Obj)#%d (3) {
  ["a"]=>
  int(100000)
  [%r"?b"?:protected"?%r]=>
  NULL
  [%r"?c"?:("Obj":)?private"?%r]=>
  NULL
}
OK
object(Obj)#%d (3) {
  ["a"]=>
  int(-100000)
  [%r"?b"?:protected"?%r]=>
  NULL
  [%r"?c"?:("Obj":)?private"?%r]=>
  NULL
}
OK
object(Obj)#%d (3) {
  ["a"]=>
  float(123.456)
  [%r"?b"?:protected"?%r]=>
  NULL
  [%r"?c"?:("Obj":)?private"?%r]=>
  NULL
}
OK
object(Obj)#%d (3) {
  ["a"]=>
  string(0) ""
  [%r"?b"?:protected"?%r]=>
  NULL
  [%r"?c"?:("Obj":)?private"?%r]=>
  NULL
}
OK
object(Obj)#%d (3) {
  ["a"]=>
  string(6) "foobar"
  [%r"?b"?:protected"?%r]=>
  NULL
  [%r"?c"?:("Obj":)?private"?%r]=>
  NULL
}
OK
object(Obj)#%d (3) {
  ["a"]=>
  NULL
  [%r"?b"?:protected"?%r]=>
  NULL
  [%r"?c"?:("Obj":)?private"?%r]=>
  NULL
}
OK
object(Obj)#%d (3) {
  ["a"]=>
  int(1)
  [%r"?b"?:protected"?%r]=>
  int(2)
  [%r"?c"?:("Obj":)?private"?%r]=>
  int(3)
}
OK
object(Obj)#%d (3) {
  ["a"]=>
  array(3) {
    [0]=>
    int(1)
    [1]=>
    int(2)
    [2]=>
    int(3)
  }
  [%r"?b"?:protected"?%r]=>
  array(3) {
    [0]=>
    int(4)
    [1]=>
    int(5)
    [2]=>
    int(6)
  }
  [%r"?c"?:("Obj":)?private"?%r]=>
  array(3) {
    [0]=>
    int(7)
    [1]=>
    int(8)
    [2]=>
    int(9)
  }
}
OK
object(Obj)#%d (4) {
  ["a"]=>
  int(1)
  [%r"?b"?:protected"?%r]=>
  int(2)
  [%r"?c"?:("Obj":)?private"?%r]=>
  int(3)
  ["3"]=>
  int(4)
}
SKIP
object(Obj)#%d (3) {
  ["a"]=>
  string(3) "foo"
  [%r"?b"?:protected"?%r]=>
  string(6) "foobar"
  [%r"?c"?:("Obj":)?private"?%r]=>
  string(4) "hoge"
}
OK
object(Obj)#%d (3) {
  ["a"]=>
  int(1)
  [%r"?b"?:protected"?%r]=>
  int(2)
  [%r"?c"?:("Obj":)?private"?%r]=>
  NULL
}
OK
object(Obj)#%d (5) {
  ["a"]=>
  NULL
  [%r"?b"?:protected"?%r]=>
  NULL
  [%r"?c"?:("Obj":)?private"?%r]=>
  NULL
  ["one"]=>
  int(1)
  ["two"]=>
  int(2)
}
OK
object(Obj)#%d (3) {
  ["a"]=>
  int(1)
  [%r"?b"?:protected"?%r]=>
  int(2)
  [%r"?c"?:("Obj":)?private"?%r]=>
  int(3)
}
OK
object(Obj)#%d (3) {
  ["a"]=>
  int(1)
  [%r"?b"?:protected"?%r]=>
  int(2)
  [%r"?c"?:("Obj":)?private"?%r]=>
  int(3)
}
OK
object(Obj)#%d (3) {
  ["a"]=>
  int(1)
  [%r"?b"?:protected"?%r]=>
  int(2)
  [%r"?c"?:("Obj":)?private"?%r]=>
  int(3)
}
OK
object(Obj)#%d (3) {
  ["a"]=>
  array(1) {
    [0]=>
    string(3) "foo"
  }
  [%r"?b"?:protected"?%r]=>
  array(1) {
    [0]=>
    string(3) "foo"
  }
  [%r"?c"?:("Obj":)?private"?%r]=>
  NULL
}
OK
object(Obj)#%d (4) {
  ["a"]=>
  array(2) {
    ["b"]=>
    string(1) "c"
    ["d"]=>
    string(1) "e"
  }
  [%r"?b"?:protected"?%r]=>
  NULL
  [%r"?c"?:("Obj":)?private"?%r]=>
  NULL
  ["f"]=>
  array(1) {
    ["g"]=>
    string(1) "h"
  }
}
OK
object(Obj)#%d (3) {
  ["a"]=>
  int(1)
  [%r"?b"?:protected"?%r]=>
  int(2)
  [%r"?c"?:("Obj":)?private"?%r]=>
  int(3)
}
OK
object(Obj)#%d (3) {
  ["a"]=>
  object(Obj2)#%d (3) {
    ["A"]=>
    int(1)
    [%r"?B"?:protected"?%r]=>
    int(2)
    [%r"?C"?:("Obj2":)?private"?%r]=>
    int(3)
  }
  [%r"?b"?:protected"?%r]=>
  NULL
  [%r"?c"?:("Obj":)?private"?%r]=>
  NULL
}
OK
object(Obj)#%d (3) {
  ["a"]=>
  object(Obj2)#%d (3) {
    ["A"]=>
    int(1)
    [%r"?B"?:protected"?%r]=>
    int(2)
    [%r"?C"?:("Obj2":)?private"?%r]=>
    int(3)
  }
  [%r"?b"?:protected"?%r]=>
  object(Obj2)#%d (3) {
    ["A"]=>
    int(4)
    [%r"?B"?:protected"?%r]=>
    int(5)
    [%r"?C"?:("Obj2":)?private"?%r]=>
    int(6)
  }
  [%r"?c"?:("Obj":)?private"?%r]=>
  NULL
}
OK

Directory Contents

Dirs: 0 × Files: 132

Name Size Perms Modified Actions
203 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
489 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
562 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
861 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
542 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
604 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.06 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.20 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.47 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.43 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
804 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
963 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
892 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
887 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1009 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1016 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.02 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.16 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
795 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.54 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
841 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
606 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.12 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.26 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
854 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
556 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
3.32 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
2.09 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.59 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.55 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.22 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
3.51 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
934 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
2.26 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
2.24 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.28 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
965 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
723 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
886 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
906 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
957 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.09 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.08 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.05 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
964 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.58 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
4.62 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
4.69 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.15 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.24 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
4.65 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
4.72 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.23 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.33 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
4.27 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
4.31 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
5.19 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
5.19 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
3.79 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
3.85 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
4.75 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
4.74 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
3.82 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
4.72 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
4.72 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
4.02 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
4.92 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
5.22 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
7.69 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
7.82 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
7.52 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
7.65 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
7.74 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
7.88 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
7.57 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
7.70 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
7.60 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
7.85 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
7.98 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
7.68 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
7.81 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
7.71 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.46 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.47 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.66 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.67 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.78 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.79 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
2.34 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
2.34 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
3.18 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
3.19 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
3.39 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.54 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.55 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.74 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.75 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.86 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.87 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
2.41 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
2.42 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
3.26 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
3.26 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
3.47 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.41 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.42 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.61 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.62 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.73 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.74 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
2.29 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
2.29 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
3.13 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
3.13 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
3.34 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.13 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.04 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
2.45 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
2.45 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
409 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
652 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
311 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
906 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
536 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
428 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.11 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
512 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
751 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.11 KB lrw-r--r-- 2024-11-18 17:07:52
Edit Download
402 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
358 B lrw-r--r-- 2024-11-18 17:07:52
Edit Download
1.18 MB lrw-r--r-- 2024-11-18 17:07:52
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).
 !"#$%&'(()*+,-./00123456789 t\ wIDATx ]ys  47Y ƒ -  "  Rv  < f{Ɛ $k l L > L  ~h^ 1  [  r G t& h  l F z3O Y ! p A(_g̷ E8 )S 8 c  Kb"z ~ 5 J xAL WU <  *  5 m;W a pB h ~P J 2 3 6 ҙ .Ƹ P i  4g F R L P ΪK/D  M v (a3 k J Œ4N5* SH ` SdJ z  O J Xՠ V>u ߱ BE&L b2 ?2` tX+  c CB A$ i b C ĀMB E : /  # Dx &l =q Ty  0 \p I ( L Ǎ { e 4k ;`u^ヲ eP!( d {  )T A 8 O;Ě n >;s6 !  :Nx `[S D HU ~ q›J F} a g*D 49 / pn k h (t 8NxƐF _!r չ7 ZR R׷ q/5") Ӎ NY 0 x sZ!   o  fu  ,  K"$ ? pg  㕣=  1» {h " fh7    y  } € +7  $ y " X —ą - G P u 4 m >J 5 L =V ' ^@I p ?MS xЌ XV P ! h "C NS9B8̢ ]!K  e   zA , ӏkbY  !< XQ ٿyS| *" f { w  4@[S <  # 0 ! js [m  =,~ o "ݎ DHf Wo $ g ! Vԅ t mB /y Wf V4񺍸 c+@x?  B ~u " xUN e 0 BĂ) ~J pz! 7y6]l Ԥ@ P a< O /DHC `≻  N m"$  0ObB }{ x AO FCG D R ^ "B  { WDH  UR l@ T #  +"d T ; 0 i  D}. 7 ` ' ] w rE &S i ƕiTD EL P _ u h $ Ա FG wVD G L R Zf ' .!] J /ZR oGЍs Mr Ĥ ʬ 3 Q [3 cL ` ^ p + ( F;# B 5 '  2Y f [  ϶R0e }  E 7 6M aۮ H <& n % L] E}Up x紉, Uw' Q  Ǯշo k ވۙ 0N94 VX5 xEDE l D #֤ } C o )W :  ^ s 9  bRf iX5u ཱི 4 :[  T 1. | [E 2ؽ Iy\ : o x K G 5 ylP ' uK E ftb/i[3 .g _  [3M n G, #NwQ5~  ؚ) | n =Ц"x qg gB ` 듘 ~ x w ? ? R~  _ u. &VQ K˻   H C ( TN˄+ `C dA nB׭ D 3"Z G ê ^k H_ /- ~ " R_  .8 Z_ 6@ o  xg  uP ? 3լ @7AM!  E7^ - =V L  x  g-D0  CtmW 7  O  G _ WD0 g C  w1 r d w : a | \  *" f nֳ ^ H# f L ` Z ۽hV  }S F r0Ù Bć5r] @! NL iQ]{s^=4 d  WD  "  "   M; t" 8 5 e dL| "-*st" ) SWD ?R[S e ooF  20.D ? bo =) A i o d ģ ZҰaO @E =) i D a &ܟa CϞ y6 ,<%{^x%{f8? `iw^ ?/ M * IEND B`