diff --git a/changelogs/unreleased/5186-jxun b/changelogs/unreleased/5186-jxun new file mode 100644 index 0000000000..4333691d26 --- /dev/null +++ b/changelogs/unreleased/5186-jxun @@ -0,0 +1 @@ +Add annotation "pv.kubernetes.io/migrated-to" for CSI checking. \ No newline at end of file diff --git a/changelogs/unreleased/5189-jxun b/changelogs/unreleased/5189-jxun new file mode 100644 index 0000000000..56c6c4f1e9 --- /dev/null +++ b/changelogs/unreleased/5189-jxun @@ -0,0 +1 @@ +Make CSI snapshot creation timeout configurable. \ No newline at end of file diff --git a/config/crd/v1/bases/velero.io_backups.yaml b/config/crd/v1/bases/velero.io_backups.yaml index 03bfed1ffb..eebfedf705 100644 --- a/config/crd/v1/bases/velero.io_backups.yaml +++ b/config/crd/v1/bases/velero.io_backups.yaml @@ -37,6 +37,11 @@ spec: spec: description: BackupSpec defines the specification for a Velero backup. properties: + csiSnapshotTimeout: + description: CSISnapshotTimeout specifies the time used to wait for + CSI VolumeSnapshot status turns to ReadyToUse during creation, before + returning error as timeout. The default value is 10 minute. + type: string defaultVolumesToRestic: description: DefaultVolumesToRestic specifies whether restic should be used to take a backup of all pod volumes by default. diff --git a/config/crd/v1/bases/velero.io_schedules.yaml b/config/crd/v1/bases/velero.io_schedules.yaml index c391b1f5f1..c3e0a69fa4 100644 --- a/config/crd/v1/bases/velero.io_schedules.yaml +++ b/config/crd/v1/bases/velero.io_schedules.yaml @@ -61,6 +61,11 @@ spec: description: Template is the definition of the Backup to be run on the provided schedule properties: + csiSnapshotTimeout: + description: CSISnapshotTimeout specifies the time used to wait + for CSI VolumeSnapshot status turns to ReadyToUse during creation, + before returning error as timeout. The default value is 10 minute. + type: string defaultVolumesToRestic: description: DefaultVolumesToRestic specifies whether restic should be used to take a backup of all pod volumes by default. diff --git a/config/crd/v1/crds/crds.go b/config/crd/v1/crds/crds.go index 748e958c12..c135b82645 100644 --- a/config/crd/v1/crds/crds.go +++ b/config/crd/v1/crds/crds.go @@ -29,7 +29,7 @@ import ( ) var rawCRDs = [][]byte{ - []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xec}\xcdr\x1c9r\xf0\x9dO\x91\xc1\xef\xa0\xdd\bvs'\xbe\x83\x1d\xbci(M\xb8c\xc6\x1a\x86(\xcb\a\x87\x0f\xe8\xaa\xecn\fQ@-\x80j\xaa\xed\xf0\xbb;\x90\x00\xea\xafQUh\x0e\xb9;\xeb\x10.RW\x01\x89D\"\xff\x91\x05^\xadV\xab+V\xf3\xaf\xa8\rW\xf2\x0eX\xcd\xf1\x9bE\xe9~\x99\xf5\xd3?\x9b5W\xb7\xc7\x1f\xae\x9e\xb8,\xef\xe0\xbe1VU\x9fѨF\x17\xf8\x01w\\r˕\xbc\xaaв\x92Yvw\x05\xc0\xa4T\x96\xb9\xc7\xc6\xfd\x04(\x94\xb4Z\t\x81z\xb5G\xb9~j\xb6\xb8m\xb8(Q\x13\xf08\xf5\xf1/\xeb\u007fZ\xff\xe5\n\xa0\xd0Hÿ\xf0\n\x8deU}\a\xb2\x11\xe2\n@\xb2\n\xef`ˊ\xa7\xa66\xeb#\n\xd4j\xcdՕ\xa9\xb1ps\xed\xb5j\xea;\xe8^\xf8!\x01\x0f\xbf\x86\x1fi4=\x10\xdc؟{\x0f\u007f\xe1\xc6ҋZ4\x9a\x89v&zf\xb8\xdc7\x82\xe9\xf8\xf4\n\xc0\x14\xaa\xc6;\xf8䦨Y\x81\xe5\x15@X\x0eM\xb9\n\b\x1f\u007f\xf0\x10\x8a\x03V\xcc\xe3\x02\xa0j\x94\xef\x1f6_\xff\xff\xe3\xe01@\x89\xa6м\xb6D\x14\x8f\x18p\x03\f\xbeҲ@\a\xf2\x83=0\v\x1ak\x8d\x06\xa55`\x0f\b\x05\xabm\xa3\x11\xd4\x0e~n\xb6\xa8%Z4-h\x80B4Ƣ\x06c\x99E`\x16\x18ԊK\v\\\x82\xe5\x15\u009f\xde?l@m\u007f\xc3\xc2\x1a`\xb2\x04f\x8c*8\xb3X\xc2Q\x89\xa6B?\xf6\xcf\xeb\x16j\xadU\x8d\xda\xf2Hg\xdfz\\\xd5{:Z\xde;G\x01\xdf\vJ\xc7N\xe8\x97\x11\xa8\x88e \x9a[\x8f=p\xd3-\x978d\x00\x18\\'&\x03\xf2kxD\xed\xc0\x809\xa8F\x94\x8e\v\x8f\xa8\x1d\xc1\n\xb5\x97\xfc\xbfZ\xd8\x06\xac\xa2I\x05\xb3\x18\x18\xa0k\\ZԒ\t82\xd1\xe0\r\x91\xa4b'\xd0\xe8f\x81F\xf6\xe0Q\x17\xb3\x86\u007fU\x1a\x81˝\xba\x83\x83\xb5\xb5\xb9\xbb\xbd\xdds\x1b\xa5\xa9PU\xd5HnO\xb7$\x18|\xdbX\xa5\xcdm\x89G\x14\xb7\x86\xefWL\x17\an\xb1p\x1by\xcbj\xbe\"\xd4%IԺ*\xff_d\x00\xf3n\x80\xab=9f4Vs\xb9\xef\xbd \xae\x9f\xd9\x01'\x00\x9e\xbf\xfcP\xbf\x8a\x8e\xd0\ue463\xce珏_\xfa\xbc\xc7͘\xfaD\xf7\x1eCv[\xe0\b\xc6\xe5\x0e\xb5\xdfĝV\x15\xc1DYz\xee#\xd6\x15\x1c\xe5\x98\xfc\xa6\xd9Vܺ}\xffk\x83\xc61\xb9Z\xc3=\xa9\x18\xd8\"4u\xe98s\r\x1b\t\xf7\xacBq\xcf\f\xbe\xf9\x068J\x9b\x95#l\xde\x16\xf4\xb5㸳\xa7Z\xefE\xd4e\x13\xfb\xe5\x15\xc2c\x8d\xc5@`\xdc(\xbe\xe3\x05\x89\x05\xec\x94\xee\xf4\x85WW\xeb\x01ȴ\xc8\xfa\xc9v\xac\x11\xf6+\x89\xba\xf9\xa2>\xa3\xb1\xbc\x18\xf7\x1a!\xf5!9(\"\x85\x06\x9e\x0fh\x0f\xa8\x1d\xff\xd0\v\x12\xc93\x98@[j\xb0$\x89dO\b,`O\xa2-\x04\xd4*j!\x03\xdbSDv}\x06\xc9\xd3v\xab\x94@6\xd6\x12\xf8\xad\x10M\x89e\xab\xb6\xcfh0Z\xdddz\x01d\xd2\x18\x97Nj\x9c\x11q\xe8\xc9\xee\xadS̉\xc51\x8d\xe0\xf8\x96K\x0f\x8ft\xee\x01\x93\x1b\xe4\x1a\xb7X%p\x9bd3ߜ\xa9d[\x81w`u\x83\x13\x94aZ\xb3\xd3\x04]\xa2y\xcf%K\xdb?h\x11\xc1\v\xb2?\xad\xae \xcaxk\xc5\xf49F\xf0G&\xcaA\xa9\xa7%B\xfc\x8b\xeb\xd3\xe9=(\xc8K\x82-\x1eؑ+\x1d\x96\x1e\xcc\xd0\x16\x01\xbfa\xd1XL\xf1?\xb3P\xf2\xdd\x0e\xb5\x83S\x1f\x98A\xe3M\xdf4A\xa6E\xd95=\xbd\x99g\xeb\xe86\xd2q*\xad|\nu'\xd0c\xb9\x8a\xcd!ꌆs[dɏ\xbcl\x98\x00.\x8de\xb2\xf0\xeba-^\xe7끹M>\xc3٫È\xb9ۉ\x81jT\x12Ai\xa8\x9c=8\xef:\xb6`]\x9bZ\xf6\x969\xed\xa4<\x8b\xeaF\xa0\tS\x95\xa4s;\x1dp3\t\xba\xdd\x11\xefK\b\xb6E\x01\x06\x05\x16V\xe949\x966ٷ\x1c\xbd6Ań\x86\xebt\xb7[j\xb7\xb0\x19\x90\xe0\xd4\xf6\xf3\x81\x17\ao\xe6\x1d\a\x11\x1c(\x15\x1a\x92rV\xd7\xe24\xb5HX\xda\xf90ɜ\xa0wmA\xe4\xc7\xf0R\xc2ߵ\f\xddص\x05-9\xa4l\xcb\x0e`\xd5\xec\xb2\xffo\x126\xaa\xfd\x170\xed\xe6l\xe8\xeb2\xad#)w\xee\xfcf\aX\xd5\xf6t\x03\xdcƧK\x10\x9d\xb3\xd2\xcd\xff\x0f\xbc1\x97s\xfcf<\xf2U9~vW\x96 \xba]i\xa7\xff\a\xdc\x142\x16\x8f\xc1Vdo\xc8/\xfdQ7\xc0w톔7\xb0\xe3¢\x1e\xed\xcc\uf497\xd7 F\x8e\xbds\xadb\xb68|\xfc\xe6\xa5q\x03\f\x9e\xf0\xe4=\x16&\xc1m\x0es\x13MD:\xe7ġ\xdc\n1\xd9\x13\x9e\bLH\x96,\x8e\xcee\x05ߞ\xf0\x94\xd3mD@\x87\x137!\t\xe4(\xe9\x1e\x10!(\xb6\xce'\x1eP\xe2+\xea\xa2\xe5\xc5A\xbe\"\x89-\xd2\xfe\x05\xcbl\xb7\xad\x974\xa4\x8d}g\xfc\x169)8\xf0:s\xa1\xcéA\x92\x96\x98\xfa\xfa\xca\x04/ۉ<\xdfo\xe4\xb47\xbd\xf6\a=4\t+ȹX\x84[kU\xa01\xf3,\x92\xa1\xad\x17\x92\x84m\x82\x90\xf9\x00\xc6\x1f\x98\xcc'%c\xcbwH\x1d\x91.t\xe5?~\xebe/\x9d\xf0\xbb\xdfK\xccw)^@2[Ul|2\x98\x85\xe2\xbd\x1f\x19\xc5$\x00\xf2\xa1\x81\xde7$\xea\xf9\x1ed`\xa4?\x82\x99\xae\xb8\xdc\xd0\x04\xf0ë\x9b\xf5VI\xe2K\x1c\xf7\xfb8\xb6#z\xfb\x80\xa47\xd7#R\x94\xb9\xd78ع\xf3<\xb7s\x143AJe\xfb\xe9\x04\a\xb7V\xe5;\x03;\xae\x8d\xed#\x9a\xcb\x14͂\xf4w\xed\xd2\xc8I~\xd4\xfaE\x81ӯ~d/\x91uP\xcf\xf1|u\xf203\xd5\xe8P\b\x81\xef\x80[@Y\xa8FR\xfaʼn:M\xe1\xb7\xc0+\xe8l\x92\xe5)\b\xd7P6U\x1e\x01V\xc4u\\\xce\xe6i\xfa\xdd\u007fb\\\xbcŶY^\xa1jf\rg\xd7\x06\xdb\xf6ŏ\x1c\x1c\x94W\xec\x1b\xaf\x9a\nX\xe5H\x9f\x1b\xf6\xec|q\xcc`\xc7\xe1\x99qK\x96\xc3\xc1%3b\x95\x13\xaaZ\xa0͕\xc8-\xee\x94&y6\xbc\xc4\xd60\a.P\x12\x18\xec\x18\x17\x8d\xceԐ\x17\xd1\xf6\x92X#(\x8b\xd7\v\"\xf2&_\x11)2\x12\xb1\x99\xce⼶\xaeu\xbe\xab\xf8\xa01\xcf=[JJG\xf7\xac\xd6\xdc\xf1\x92zm\x0f-\xb0\x18\x93\xa7\xef.\xdaY\xfb\xee\xa2-\xb4\xef.\xdad\xfb\xee\xa2-\xb7\xef.Zh\xdf]\xb4ؾ\xbbh\xdf]\xb4\xb9ns\xdaz\t#_q?\xf1r\x11\x8b\x8c\xe3\xe99\x14g\xe0\x87j\x8a{_}\x9f[a\xb9I\x8fJ\xd4Ն\xb2\xfe\x15}\x91\x90\u202e\xe8\xa23%mɥ\x13\x90\xc8\u07be\x80x\xa1\b3\xab\x9c2]}\x9bS\xf0\xb3T\xe63\xac3m\xcblb\xa1\xa9\x8a\x93$\xe8\x10\xbflpno\xbf\x86dX\xafC~n\xc4\xf4\xef^\x83\x9aQ\x8a\xb3P\x803_\x98;G\xafQ\xe81$\x98\x1e\x14\x8c\xfea\xe8\xb5P%3]\x1b\x13N\x82в\xe3\x0f\xeb\xe1\x1b\xabB\xa5\f\x84\xbbX.\xe7Ï\xbcZ\x9a\x17W\xd0\f+d&T\xf4\xa5GF\xf9\x85\xc2\xf952\xf3E-\x97Tƌ\xeb^&\x81.\xd7\xc3\xe4D\x8e\v\xb5//\xa8xɬv\xfc\xdd\ac95-/\xaadY,\b̬_\x19V\xa6̃\xbc\xa0j%\x8b8\xcb\x15*\x17ץ\x84:\x90\xd9udW\xa3$\xeaLf\x01O֠\xccU\x97,d\xa5\xce+O\xf2kJfAS\xbd\xc9r%\xc9\xebՋ\xbe\x86\x0f<\xadj\x16\xabA\x16}\xe4y\xfc\x16\xeb=.\xa9\xf2X\xa4\xd8\v+:ڊ\x8d\x89y/\xad\xe3\x18\xd6iL\x00ͩޘ\xa8Θ\x808[\xb3\x91[\x931\x01{\xc1\xec\xcer\xc9\xcc\xcb\U00107430h\xdf\xc4ߊ\xa3^\xba0\xa5\a\xee⒇\xfe먻\xdb\xcb\xe85ͻ\x9f)ϓ\xdb\xc3\xe5\xeeg\xd5\b\xcbkA\xe9\xfc#/\x93A\xa3=\xe0\t\x9e\xb9\x10N\xad\xfe\xa6\xe83\xa7\xed\x89 \xfd\xfa\xb9e\xcf\xf5ȉf\x06\x9eQ\b`)\xe6:[y\xe1\xbf\xe5-\xd4\n\x9d\xcew\x02\x17>\xf9\f\x9f\xfc\xdex\x0e\xa6/\xb9R\x19O{\xc0\xcaA\x89ߎ^\x10~\xcc;\x88ޗ\xa5g\u007fmP\x9f@\x1dQw\x1e\xc3\xc2w\x04^\xd0L#\xba\u00ad\xa0?\xfc\x17\xe4#ǹ\x138x/\xbd\tK\x82\x1d\xe1Hp\x9c̋v\xaf\x9dzsq\xc0D\xd7t\xe2C\xb5\xa3\x13\xef\x97|\xcf\xdc\"\xfc\xb7\r\x1d.\x0f\x1e\x16\xcd\xf6\x9b\x04\x10/\x0f!f@\xe6\x16\xd5\xe7\x1d@-\x16ѿU(\xb1\x14Ld{QyE\xf2oQ\x1c\u007fAQ\xfc\x05A\xc5eaE6\x99r\x8a\xdf\xdf$\xb8x\xc3\xf0\xe2-\x02\x8c\x97\x85\x18\v GE\xed9\xe5\xeaY\x87\xab\xd9\xe7\v9\x87\xa3\xcbG\x00\xf3e\xe8\x19\xe5\xe7\x19\x87\x03K\x98f\x94\x99_V^\x9eA\xc37\n>\xde(\xfcx\x8b\x00\xe4mC\x90\xc5 d\x91sf_\xbf8\xbb\xact\x89z6\x19\x9f\xcbj\xb3L6\x8a\x17\x86s\x8e\xbe\xa8\x8dw\xa4\xb8^\x03\xd74\x95Rn\xbf\xfe,\xe0g.K\xbf\x1f\x8e\xa9zv\x9c\xee\x04\xa2\xfa\xf7֩\xe8\xfc\xb34\xd0ѡ\x82\xc1\x9ai\xba4j{\xf2\a\x93f\r\x1fYq\x18v\x84\x033\xb0S\xbaJ:L\xd7\xed\x89\xccm\x1c\xe5\x9e\\\xaf\x01~R\xed\xa1W\xffF\x05ëZ\x9c\\\x1c\x00\xd7\xc3!/c\x80$\xf3\x18\xc9jsP\U0007a6c5X\xefq\xd8;qx\x17/\xbb)\x84j\xca\x16\xfa\xc4\xe61y\x82\x87\xaf\xe4\x93\xd05!EweJ\xf0:b\xcc7\xbeQ\xe5\xc7\xd7?\xcc3Vi\xb6\xc7_\x94\xbfwh\x89\x12\xc3ރK\xa7\x82\xae\x88\x87\xeb\xf1ۋ\x94\r\r7 \x8d\x80u53A\x1a\xbasN\x87eJ\x89\xccȟ\xb5ba1_\xbe\xfc\xe2\x17`y\x85\xeb\x0f\x8d?8]\xd5L\x1btԌ\v\xf3\x83\xb6\xee\xbf\a\xf5\x9c\xcam\xa8\xb0\xe6\x1f\xc7xk\xa4\xba\x1c:\x9f\xbd\b{\u007fCRd\xbcH\xa2%F\xfd\x9a\x1e\xd5\v\xccz\x9b\xe4\xa5<\x19\x90O\xc1\xe9]$G)\v\xfa\xae\xe6u\xaf\xf9\x99\xd2\xdaSWmYf\x1b\xb3|\xd9\x16u\x8bW\xeb\x85\xea\xaeF\xd3\x1d=\x1e\x84\xbf\xd3\xe6E\xf7m\x85b\x94\xc1u\x87\xf3\xfbt\u007f>\x82.\xb5ӥG\x8d\xca`ڋ\xb3\x9e\x99i\v^\x92\x86\xb4\x03\xe7G\x92'\xeb\xa0a\txD\tJR}\v\xdd~\xe3/^\x1c\x8fI@\xedC\t\x054M-\x14+\xa3\x84G\x9b\x15.\xeb\xfbB\xfaK\x1fQ\xbf330\xe9r\xb0\x9d\xd2)\"\x9c+LoX\xee\xa0d\x16WI\xa0Y\xba/\xc9l\x85\xe1CF7\xef\xaduqA\xcaW\x1e\xee\xdf\xe3fjd\xb4\xbfVY&@6\xd5\xd6\x1bt\x16;\xa4\xf6\xefq3\x129\x13*\x9ef\xc4\xcb/\x8cK\x8b\xfb\xb3\x9c\xe2\xf9\xca\xee#\xff\\\xbc\xb2v\xe4\xd4\xcaLS\x14ḫ\x11\"\xe5ڷ\x9c\xfb\xfaˤZ\xbe\xc5;Ψ\x93W\x81T\b\x18/\xa2\xf3\x95\x80\x15\x1a\xc3\xf6\xf1r\xb3gg\x81\xf6(\x91\x1c\x9fT\xbe\xd1\a\x86]\xe5\xd8\xf0j/\x9f\xc1b\x85mX\x98 \x9e\xfc\xf7z\xbdK\xf9\x05B\xeda\xc7\x05u\r\xd70\x06\xd3|!M\xbe\xd5\\\xe7\x98\xf2\x8fmGG\x1bJ>\xd3Ftו\xa2\xe0{\xee\xec\xa0ۤ=\xd3[\xb6\xc7U\xa1\x84@*3?\xc7\xeb-\x855\xd4\xe7}Ff\x16\x97\xf6S\xbfo\xc8t\xf8\xdd\xf67c0\u007fA!\xdd^i\xb9\xc6\xee:\xd83\x84\x14M|\x91\xe9\xf6TH^\x9cz\x8ei\xbfo\x14\xb0\xa0W=\x9cx\x8f\xeaMp\x06\xd3\xd1l\xc5~S\xfa\x06*.\xdd?\xce\xe3\xa7TD\x1c|\x11\xfetg\xdd\x02\xde\x0f\xaeO[&\xdd3\xa4\x18\x05b\xcaUM\x97Ʈ\xe0\x13\x9e{V\xbe\xda\x15KJ\xbe\xa5n\x8bu]6\xf2A\xab\xbd\x8b\x87\x13/[\xe5\x95x\xf7\xc0\xb4\xe5L\x88\x93\x9fdr\xf6ċ\x0f\xe8\fפ\xf7\x92&k\xc0r\x89\xb2\xa1[\x17zs\xe99\x81\xeaT\xb7\xaa\xb1\x03Uҩ\xa2tڟ\x80\xadᓲ\x183\xba|\b\xd3)_4v\x85\xbb\x9d\xd2\xd6G\xfa\xab\x15\xf0]\xf0\x86\x12p\x9dLЉ\x94\xbf\xbc\x15\xb8\xed\x0e\xe5;\xee\xa5@G\x93\x10\xd2\rO\x15;\xf9\x9aEV\x14\xce\xd9\xc6[c\x99H\xe8\xb7\xdfU\x03En\xa7\xe3>,\xff-ᇝ\x11|\xd3\xef\xdf~8\xdeZ7\x02\xe7)G5\xe5^\xb7'-\x1dP\xa51Jx\xd6\xdcZ\xa7O\xfbGv`\x9d\x06\x15\x02\x8c\xd3)\x13\xd7\x04\xceivz\xefl\xeff:\x858\x8co\xda\xceS\xa6;,N\xb9m\xd9\x12\t&\x96\xe5\xbfY\xe2&\x8eu[Y\x1c\x98\xdc;\xa6Ҫ\xd9\x1f\"_NXƩ\f\\㐂Z4{\xc7\xea\xe1\xb8\xc46Z\xf6R0\xe1\x00\xa5\xec\xa1ˊ\xa7ILCJ8^ ~\x1b.\xfe[\xed\xb4\xaaVa/\xe8\x94\xe3&\xa4F4W\xce\xffw\x81\xfc\x04\xd0\xee\x86-b\x83\xbaF\t\xcc\x04|2>\xa8\x9a\xdfֹ<\x85e\xda\xe6F\x15\x8f\x83\xce\v\x01\x05AN\xe3\xfb\x18\x12?\xfeò\xfb\xf1U\xee7`\xb8\x8cw\x97\xfbĒg\x05\xe3\xe2\f\x8d\x14\xab'\x0f\xb0\xce\"\x84A<0D\xffo\x1b\n\x1c[\v\xf31ǧ\xfc:\xea>\xaa\xceuR\xdeA\f~`\x82\x1e\u007f\xe2;\u007f\xa6V8\xac\xff\xfcw\xaf\xba=f\xf9,\xeff\xdd\x15\xf2DZ\xbf\x03>`\xad\xb1`\xc9\xc0\x03\xe0A\xa0\xf3#\f\xe2\xd0\x13zw\x91\xcb{|Y\x10\xf7\x9a\x11\\\xbcV\xffu\xe2\x9a\xe3\xcbb\xb77\v\xdc^wu\xcfLK.\xf7K2\xf6\xef\xa1[\"r\v\x10\x12\xb1[b\x19m4\xb7\x18\xbb\xf5B\xb7\x88\xe3\xc4mףp\ue542\xb7\xa4\x1d8{H\n\xb4\xec\xc9v\x98)<\xe9\x12b\xac(б\xeb\xa7\xf1\x9fϸ\xbe\xa6\x1f\xf1/d\xd0\xcfBIon\xcd\x1d\xfc\xc7\u007f^Aȸ~\x8d\u007f\n\xc3=\xfc\xdf\x00\x00\x00\xff\xff\xa6\x16s\x9fjd\x00\x00"), + []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xec=Msܸrw\xfd\x8a.\xe5\xe0\xf7\xaa4\xa3u吔n^\xd9[Q\xedƫ\xb2\xf4\x9cC*\a\f\xd93\x83\x15\t\xf0\x01\xe0ȓT\xfe{\xaa\x1b\xe0\xe7\x80$F+\xbd\xb7/e\\\xec!\x81F\xa3\xd1\xe8/4[\x17\xab\xd5\xeaBT\xf2+\x1a+\xb5\xba\x01QI\xfc\xe6P\xd1/\xbb~\xfaW\xbb\x96\xfa\xfa\xf0\xfe\xe2I\xaa\xfc\x06nk\xebt\xf9\x05\xad\xaeM\x86\x1fq+\x95tR\xab\x8b\x12\x9dȅ\x137\x17\x00B)\xed\x04=\xb6\xf4\x13 \xd3\xca\x19]\x14hV;T\xeb\xa7z\x83\x9bZ\x169\x1a\x06\xdeL}\xf8a\xfd/\xeb\x1f.\x002\x83<\xfcQ\x96h\x9d(\xab\x1bPuQ\\\x00(Q\xe2\rlD\xf6TWv}\xc0\x02\x8d^K}a+\xcch\xae\x9d\xd1uu\x03\xdd\v?$\xe0\xe1\xd7\xf0#\x8f\xe6\a\x85\xb4\xee\xe7\xde\xc3_\xa4u\xfc\xa2*j#\x8av&~f\xa5\xdaՅ0\xcd\xd3\v\x00\x9b\xe9\no\xe03MQ\x89\f\xf3\v\x80\xb0\x1c\x9er\x15\x10>\xbc\xf7\x10\xb2=\x96\xc2\xe3\x02\xa0+T\x1f\xee\xef\xbe\xfe\xf3\xc3\xe01@\x8e63\xb2rL\x14\x8f\x18H\v\x02\xbe\xf2\xb2\xc0\x04\xf2\x83\xdb\v\a\x06+\x83\x16\x95\xb3\xe0\xf6\b\x99\xa8\\m\x10\xf4\x16~\xae7h\x14:\xb4-h\x80\xac\xa8\xadC\x03\xd6\t\x87 \x1c\b\xa8\xb4T\x0e\xa4\x02'K\x84?}\xb8\xbf\x03\xbd\xf9\r3gA\xa8\x1c\x84\xb5:\x93\xc2a\x0e\a]\xd4%\xfa\xb1\u007f^\xb7P+\xa3+4N6t\xf6\xad\xc7U\xbd\xa7\xa3\xe5\xbd#\n\xf8^\x90\x13;\xa1_F\xa0\"\xe6\x81h\xb4\x1e\xb7\x97\xb6[.s\xc8\x000P'\xa1\x02\xf2kx@C`\xc0\xeeu]\xe4ą\a4D\xb0L\xef\x94\xfc\xef\x16\xb6\x05\xa7y\xd2B8\f\f\xd05\xa9\x1c\x1a%\n8\x88\xa2\xc6+&I)\x8e`\x90f\x81Z\xf5\xe0q\x17\xbb\x86\u007f\xd7\x06A\xaa\xad\xbe\x81\xbds\x95\xbd\xb9\xbe\xdeIל\xa6L\x97e\xad\xa4;^\xf3\xc1\x90\x9b\xdaic\xafs<`qm\xe5n%L\xb6\x97\x0e3\xda\xc8kQ\xc9\x15\xa3\xae\xf8D\xad\xcb\xfc\x9f\x1a\x06\xb0\xef\x06\xb8\xba#1\xa3uF\xaa]\xef\x05s\xfd\xcc\x0e\xd0\x01\xf0\xfc\xe5\x87\xfaUt\x84\xa6GD\x9d/\x9f\x1e\x1e\xfb\xbc'\xed\x98\xfaL\xf7\x1eCv[@\x04\x93j\x8b\xc6o\xe2\xd6\xe8\x92a\xa2\xca=\xf71\xeb\x16\x12\u0558\xfc\xb6ޔ\xd2Ѿ\xff\xb5FKL\xae\xd7p\xcb\"\x066\bu\x95\x13g\xae\xe1N\xc1\xad(\xb1\xb8\x15\x16\xdf|\x03\x88\xd2vE\x84Mۂ\xbet\x1cw\xf6T\xeb\xbdhd\xd9\xc4~y\x81\xf0Pa6804Jne\xc6\xc7\x02\xb6\xdat\xf2\u008b\xab\xf5\x00d\xfc\xc8Rˬ|P\xa2\xb2{\xedH\xfe\xeaڍ{\x8c\x10\xba}\xb8\x1b\rh\x90\t\xa8\xb1X\xa9-\xe6tΞ\x85t\x84\xde\tL @\xf0\x95%L\x03\x8f%Mm\xc1\xd5F\xf1)\xfd\x82\"?>\xea\xbfX\x84\xbcffmt\xc5\x15lp\xab\rF\xe0\x1a\xa4\xf1\xd4\x19\x8d!\xc2XFI\xd7n\r\x8f{$2\x8a\xbap\x81聾\xf7?@)U\xedp}\x02mb\x83=Q\x18\x8c_\x81}\xd4_\xd0:\x99-\x10\xefctP\x8f\x80\xcf{t{4t\xf0\xf8\x05˲\xc8\"7\x1d\x89\x9dxB\x10a\xdbY&\x16\x05T\xba\x11\xdf\x166\xc7\x06٩\x05n\xb4.P\x8c\xc5+~ˊ:Ǽ\xd5w'\xcc3Zݧ\x93\x01l\v\b\xa9Hܐ\xf6%\xf4T\xf7\x964Zdq\xc2 Ё\x97\xca\xc3ce\xb5\xc7(gS\x93\x0e\xcb\bn\xb3\xdb\alc\x88M\x817\xe0L}\xcaH~\xac0F\x1c'\xe8\xd2\xd8E\xa9di\xfb\a\xf1[Ȍ\x15w+d\x992^͋(k\xff\x81\x89\xb2\xd7\xfai\x89\x10\xffF}:\x85\x01\x19\x9b\x97\xb0\xc1\xbd8Hm\xc2҃\xfe\xde \xe07\xccj\x871\xfe\x17\x0er\xb9ݢ!8\xd5^X\xb4\xdef\x98&ȴ\f\x04\x96\x1a\x93\x9by\xb2\x8en#\x89Sy\xe5S\xa8Ӂ\x1e\x9f\xab\xa6\x11\xa2$\xa6\xc8\xdeS\xb9<ȼ\x16\x05He\x9dP\x99_\x8fh\xf1:]\x0f\xccm\xf2\t\xce^\x8f4\x98\xd3N\ft\x8aV\b\xda@I\x8a\xf4\xb4\xebX\xf5wmj\xd9\x1bA\xd2I{\x165u\x816L\x95\xb3\xb2\xead\xc0\xd5$\xe8vG\xbc\x11V\x88\r\x16`\xb1\xc0\xcci\x13'\xc7\xd2&\xfb\x96\"\xd7&\xa8\x18\x91pC\xe5\xd7-l\x06$\xb0f\xdc\xcbl\xef\xed#\xe2 \x86\x03\xb9F˧\\TUq\x9cZ$,\xed|\x98d\xee\xa0wm\xe1ȏ\xe1\xc5\x0e\u007f\xd7\x12dc\xd7\x16\xa4䐲-;\x80ӳ\xcb\xfe\xffI\xd8F쿀i\xefN\x86\xbe.\xd3\x12I%\xf9Aw[\xc0\xb2r\xc7+\x90\xaey\xba\x04\x91\x8c\x95n\xfe\u007f\xe0\x8d9\x9f\xe3\xef\xc6#_\x95\xe3gwe\t\"\xedJ;\xfd?র\xb2x\b\xba\"yC~鏺\x02\xb9m7$\xbf\x82\xad,\x1c\x9a\xd1\xce\xfc\xae\xf3\xf2\x1a\xc4H\xd1w\xd4J\xe1\xb2\xfd\xa7ody\xd9.R\x97H\x97\xf1`o\xbf6\xf6\xfcP1/\xc0\x05\xf6\xec\xa5\xc1\xd2G\f\x1e\x99\x9a\xdd\x13\xb6\xa8>|\xfe\x88\xf9\x1cy \x8d\xf3N\x16\xf2a\x84l\u007f\xea`\x94\xa7.#\x98>\xad\u007f\xe3cAW \xe0\t\x8f\xdeb\x11\nhs\x04M4\xe1\xe9\x9c\x12\x87\x83R\xccdOxd0!ʴ8:\x95\x15|{\xc2cJ\xb7\x11\x01\t'iC\xf4\x8c(I\x0f\x98\x10\x1c\x94H'\x1epİ\x91Eˋ\x83tAҴ\x86\xf6/Xf\xbbm\xbdh+o\xec;뷈N\xc1^V\x89\v%5\a\x16\xf9\xb441ï\xa2\x90y;\x91\xe7\xfb;5m\r\x0f\xdbg\xed\xee\xd4\x15|\xfa&m\b\xdb~\xd4h?k\xc7Oބ\x9c\x1e\xf1\x17\x10\xd3\x0f\xe4㥼\xd8&:\xf4\x83\x8f\t\xcc\xed\u06dd\xf7\xf0\xda\xed\x91\x16\xee\x14\xf9-\x81\x1e\x1cJ\xf6\xd3\xcd\xeb\x87a+k\xcb\xd1E\xa5ՊU\xe5:6\x93'v\"Hm\x06;r\x8aZ;\xa9\x9f0\x11\xec#i\x12?\xde\a\xc7\v\x91a\xde\x04\xc78\xa4+\x1c\xeed\x06%\x9aݜ\xe2跊\xe4{\x1a\n\x89R\u05f739,M\xb57-\x88\xee|\x19\x99\x15\x9d܄^\xcdf/v\x9d\x88\xe4Nw]^\x11\xabX\xb6?\x16\xa9+\xf2\x9c/\xe1Dq\u007f\x86\xc4?c/Nu\xbfG\xcck\xc8Rp\x90\xf1\u007fH\xcd1C\xff/TB\x9a\x843\xfc\x81\xef\xd4\n\x1c\x8c\rQ\xac\xfe44\x83\xb4@\xfb{\x10\xc5\xe9\x1dAdq\x9ad\v\x16^\x91\xeb\xed\x89\xc5r\x05\xcf{m\xbdN\xddJ\x8c\x86T\x87MZ\xb8|\xc2\xe3\xe5Չ\x1c\xb8\xbcS\x97^\xc1\x9f-nZkA\xab\xe2\b\x97<\xf6\xf2\xf7\x18A\x89\x9c\x98ԍ\xef.SMe\xf2%\x1bK\x80\x06\xb6\x17vd\xe6\xcea\x9dć\x95\xb6\x91k\x88\tT\xee\xb5u>\xb280Kωb\x81\xe7\xa1\x10\xbd\x02\xb1\xf5W\xa6\xda4\x97a$\xf6F\x01W\xda5;/ai\x1bۈ\x98\aJ\x8e\xd5ew\x82\xbd<\xbd\xf47d<\x89\xc8ظX\x84[\x19\x9d\xa1\xb5\xf3,\x92 \xad\x17\x82\x84m\x80Px\a\xc6\xdf4\xcd\a%\x9b\x96n\x90\x12\x91\xce4\xe5?}\xebE/\xe9\xf0\xd3\xef%\xe6;\x17/\xe03[\x96b|\xa5\x9a\x84\xe2\xad\x1f\xd9\x1c\x93\x00Ȼ\x06fW\xf3QO\xb7 \x03#\xfd\x11\xd4t)\xd5\x1dO\x00\xef_]\xad\xb7B\x12_b\xb8\xdf6c;\xa2\xb7\x0f\xf8\xf4\xa6ZD\x9a#\xf7\x06\a;w\x1a\xe7&C1\x11\xa4Ү\x1fN \xb8\x95\xce\xdfY\xd8Jc]\x1f\xd1T\xa6\xa8\x17N\u007f\xd7\xce\xf5\x9c\xd4'c^\xe48\xfd\xeaG\xf6\x02Y{\xfd\xdc\\LO^f\xc6\x1a_\n!\xc8-H\a\xa82]+\x0e\xbf\xd0Q\xe7)\xfc\x16x\x01\x9dL\xb24\x01A\rU]\xa6\x11`\xc5\\'\xd5l\x9c\xa6\xdf\xfd'!\x8b\xb7\xd867u\u007f\x1fk\x83mk.\xf2\xfb\x19\x06\xa5\xf8&˺\x04Q\x12\xe9Sݞ\xad\xbf\xfe\x1f\xecx\x9b\x04\xc0pY\x8d8M\x87\xaa*Х\x9eH\u007f\xddO\xc7\xc4\xca\x1c[\xc5\x1c\xb8@+\x10\xb0\x15\xb2\xa8M\xa2\x84<\x8b\xb6\xe7\xf8\x1aAX\xbc\x9e\x13\x916\xf9\x8aI\x91\x10\x88M4\x16\xe7\xa5ue\xd2M\xc5{\x83i\xe6\xd9RP\xba1\xcf*#\x89\x97\xf4k[h\x81ń:~7\xd1N\xdaw\x13m\xa1}7\xd1&\xdbw\x13m\xb9}7\xd1B\xfbn\xa25\xed\xbb\x89\xf6\xddD\x9b\xeb6'\xad\x970\xf2\x9f*L\xbc\\\xc4\"\xe1zz\x0e\xc5\x19\xf8!\x9b\xe2\xd6\u007f\xb6\x90\x9aay\x17\x1f\x15ɫ\r\xdfC\xac\xf8S\x8e\x18\atI\x17\x9d*iS.\xe9\x804\xec\xed3\xaf\x17\x920\x93\xd2)\xe3ٷ)\t?Ki>\xc3<\xd36ͦI4\xd5\xcd$\x11:4\x9f\x84\x90\xd9\xdb\xcf!\x19\xe6밝\xdb`\xfaw\xcfAMH\xc5YH\xc0\x99O̝\xa3\xd7\xc8\xf5\x18\x12\xcc\f\x12F\xff0\xf4ZȒ\x99\u038d\t7A\xe8\xc4\xe1\xfdz\xf8\xc6\xe9\x90)\x03\xcf\xd2\xed#Kyޣ\xe2;,\xb5맽6\xfc\x16\xbe\xcd\x19\xd3\x11\xb4\x01%\v&\xe7\f\xb7\x0e\xc8\v\xbfVޅ;\xfb\\λ\x1fi\xb94/Π\x19f\xc8L\x88\xe8s\xaf\x8c\xd2\x13\x85\xd3sd\xe6\x93Z\xceɌ\x19\xe7\xbdL\x02]·I\xf1\x1c\x17r_^\x90\xf1\x92\x98\xed\xf8\xbb/\xc6RrZ^\x94ɲ\x98\x10\x98\x98\xbf2\xccL\x99\ayF\xd6J\x12q\x963T\xce\xceK\ty \xb3\xebH\xceF\x89\xe4\x99\xcc\x02\x9e\xccA\x99\xcb.Y\x88J\x9df\x9e\xa4\xe7\x94̂\xe6|\x93\xe5L\x92\xd7\xcb\x17}\r\x1bxZ\xd4,f\x83,\xda\xc8\xf3\xf8-\xe6{\x9c\x93\xe5\xb1H\xb1\x17ft\xb4\x19\x1b\x13\xf3\x9e\x9b\xc71\xccӘ\x00\x9a\x92\xbd1\x91\x9d1\x01q6g#5'c\x02\xf6\x82ڝ咙\x97\xf1/HaQ\xbf\x15\u007f+\x8ez\xe9´\x19\x98\x8bK\x16\xfa\xaf\xa3\ued17\x8d\xd54o~\xc6,O\xe9\xf6盟e]8Y\x15\x1c\xce?\xc8<\xea4\xba=\x1e\xe1Y\x16\x05\x89\xd5\xdf4\u007f\xe6\xb492\xa4_\xbf\xb4\xec\xb9\x1e\x19\xd1\xc2\xc23\x16\x05\x88\x18s\x9d\xac<\xf3\x1fAgz\x85$\xf3\xe9\xc0\x85O>÷\xd2W\x9e\x83\xf9K\xaeX\xc4\xd3\xed\xb1$(ͷ\xa3g\xb8\x1f\xf3\x06\xa2\xb7e\xf9\xd9_k4G\xd0\a4\x9dŰ\xf0\x1d\x81?h\xb6.\xbaĭ ?\xfc\xa7\xf7#ù;p\xf0Ay\x15\x16\x05;\u0091\xe1Й/ڽ&\xf1F~\xc0D\xd7x\xe0C\xb7\xa3#\xef\x97l\xcf\xd4$\xfc\xb7u\x1d\xcew\x1e\x16\xd5\xf6\x9b8\x10/w!f@\xa6&է]@-&ѿ\x95+\xb1\xe4L$[QiI\xf2o\x91\x1c\u007fFR\xfc\x19N\xc5ynE2\x99R\x92\xdf\xdfĹxC\xf7\xe2-\x1c\x8c\x97\xb9\x18\v GI\xed)\xe9\xeaI\x97\xab\xc9\xf7\v)\x97\xa3\xcbW\x00\xf3i\xe8\t\xe9\xe7\t\x97\x03K\x98&\xa4\x99\x9f\x97^\x9e@\xc37r>\xde\xc8\xfdx\v\a\xe4m]\x90E'd\x91sf_\xbf8\xba\xacM\x8ef6\x18\x9f\xcaj\xb3L6\xf2\x17\x86s\x8e\xbe\xa8mj\xa4P\xaf\x81i\x1a\v)\xb7_\u007ff\xf0\xb3T\xb9\xdf\x0fb\xaa\x9e\x1e\xe7bJ\x9c\xff\xde\x1a\x15\x9d}\x16\a:\xbaT\xb0X\t\xc3ն6G\u007f1i\xd7\xf0Id\xfbaG\xd8\v\v[mʨ\xc1t\xd9\xde\xc8\\7\xa3\xe8\xc9\xe5\x1a\xe0'\xdd^z\xf5+*XYVő\xfc\x00\xb8\x1c\x0ey\x19\x03D\x99dž\xba>\xa1\xdc͂\xaf\xf70\xec\x1d\xb9\xbck\x8a\xddd\x85\xae\xf3\x16\xfa\xc4\xe6\tu\x84\xfb\xafl\x93p\x99\x90\xac+\x99\x12\xac\x8e\xc6\xe7\x1bWT\xf9\xf1\xf5/\xf3\xac\xd3F\xec\xf0\x17\xed\v6-Qb\xd8{P\xad+Ȋ\xe6r\xbd\xf9\xf6\"\xa6CC\xe9\xa8\x11\xb0.g&\x9c\x86\ue793\xb0\x8c\t\x91\x99\xf3\xe7\\\xb1\xb0\x98\xc7\xc7_\xfc\x02\x9c,q\xfd\xb1\xf6\x17\xa7\xabJ\x18\x8bD\xcdfa~І\xfe\xbb\xd7ϱ؆\x0ek\xfeq\x8c\xb7A\xce\xcb\xe1\xfbٳ\xb0?\f\xcaO5$Zbԯ\xf1Q=Ǭ\xb7I\xfe\x94G\x1d\xf2)8\xbd\n|\x1c\xb2\xe0\xefj^\xb7\xccϔԞ\xaaQ\xc6u\xb9\x96\xab\x94\xf9\xf2]\xa1&a\xc8\xee\xaa\r\xd7\xe8\t\xa5\xbd\xb8\xa6\xcd\xcb\n\x95\xf9d\x94A\x9d\xc8\xf9}\xba=\x1d\xc1\xd5\x00M\xde+T\xd6\x16\xcez\x16\xb6Mx\x89*\xd2\x0e\x9c\x1fɖ,A\xc3\x1c\xf0\x80\n\xb4\xe2\xfc\x16\xae~\xe3+V\x8e\xc7D\xa0\xf6\xa1\x84\x04\x9a\xba*\xb4ț\x13\xde\xe8\xacP\xe5\xf0\x91\xe5\x979\xa0ygg`rq\xb0\xad61\"\x9c\nL\xafXn \x17\x0eWQ\xa0I\xb2/\xcal\x99\x95CF\xb7\x1f\x9c#\xbf f+\x8f+\xcdM\x8dl\xf4\xaf\xd3N\x14\xa0\xear\xe3\x15\xbah:\xc4\xf6\xef\xa4ޜ\r\x19O3\xc7\xcb/L*\x87\xbb\x93\x98\xe2\xe9\xcan\x1b\xfe9{e\xedȩ\x95\xd9:\xcb\xd0\xdam]\x141Ӿ\xe5\xdc\xd7_&\xe7\xf2-\xd68\xe3N^\x04r\"`S\x88\xceg\x02\x96h\xad\xd85\xc5͞I\x03\xedP!\x1b>\xb1x\xa3w\f\xbḇai/\x1f\xc1\x12\x99\xabE\x98\xa0\xb9\xf9\xef\xf5z\x17\xb3\v\n\xbd\x83\xad,\xb8k\xa8_\x19T\xf3\x994\xf9VI\x93\xa2\xca?\xb5\x1d\x896\x1c|\xe6\x8d\xe8\xea\xbcb!w\x92\xf4 m\xd2N\x98\x8d\xd8\xe1*\xd3E\x81\x9cf~\x8a\xd7[\x1e\u0590\x9f\xf7\x05\x85]\\\xdaO\xfd\xbe!\xd2\xe1w\xdbW\xc6\x10\xbe@!\x97\xfdt\xd2`WG\xf7\x04!\xcd\x13\x9f\xa5\xba=\x15\xa2\x15gO1\xed\xf7m\x0eX\x90\xab\x1eNS\x80\xf6*\x18\x83qo\xb6\x14\xbfis\x05\xa5T\xf4\x0fY\xfc\x1c\x8ah\x06\x9f\x85?\u05ec[\xc0\xfb\x9e\xfa\xb4i\xd2=E\x8á\x982U㩱+\xf8\x8c\xa7\x96\x95\xcfvŜ\x83o\xb12\xbb\xd4\xe5N\xdd\x1b\xbd#\u007f8\xf2\xb2\x15^\x91w\xf7\xc28)\x8a\xe2\xe8'\x99\x9c=\xf2\xe2#\x92⚴^\xe2d\rX.Q6t\xeb\\o\xa9<'p\x9e\xeaF\xd7n J:Q\x14\x0f\xfb3\xb05|\xd6\x0e\x9b\x88\xae\x1c\xc2$\xe1\x8b֭p\xbb\xd5\xc6yO\u007f\xb5\x02\xb9\r\xd6P\x04.\x9d\t\xbe\x91\xf2UoA\xba\xeeR\xbe\xe3^vt\f\x1fB\xae\xf0T\x8a\xa3\xcfY\x14YF\xc66^['\x8a\x88|\xfb]9Plv\x12\xf7a\xfe\x97\x88\x1dvB\xf0\xbb~\xff\xf6\xc3\xf1V\xbb18O9\xce)\xf7\xb2=\xaa\xe9\x803\x8dQ\xc1\xb3\x91Α<\xed_ف#\tZ\x14`I\xa6L\x94\t\x9c\x93\xec\xfc\x9et\xef\xddt\bq\xe8ߴ\x9d\xa7TwX\x9c\xa6m\xd90\t&\x96\xe5\xbfY\x92\xb6\x19K[\x99\xed\x85\xda\x11S\x19]\xef\xf6\r_NhƩ\b\\MHAU\xd4;b\xf5p]\xe2j\xa3z!\x98p\x81\x92\xf7\xd0\x15\xd9\xd3$\xa6!$\xdcT^\xbf\x0e\x85\xffV[\xa3\xcbU\xd8\v\xbe\xe5\xb8\n\xa1\x11#5\xd9\xff\xe4\xc8O\x00\xed*l1\x1bT\x15*\x106\xe0\x93\xf0A\xd5\xfc\xb6\xce\xc5)\x9c0.իx\x18t^p(\x18r\x1c߇\x10\xf8\xf1\x1f\x96ݎk\xe0_\x81\x95\xaa)\xfa\xee\x03K\x9e\x15,\xf9\x19\x06\xd9W\x8f^`\x9dx\b\x03\u007f`\x88\xfe\xdf\xd6\x158\xb4\x1a\xe6S\x8aM\xf9u\xd4}\x94\x9dK\xa7\xbc\x83\x18\xec\xc0\b=\xfe$\xb7\xfeN-#\xac\xff\xfcwϺ=$\xd9,\xeff\xcd\x15\xb6DZ\xbb\x03>be0\x13Q\xc7\x03\xe0\xbe@\xb2#,\xe2\xd0\x12zw\x96\xc9{x\x99\x13\xf7\x9a\x1e\\\xf3\xf7\b^ǯ9\xbc\xccw{3\xc7\xeduW\xf7,\xb8\x06\xfa\xd2\x19\xfb\x8f\xd0-\xe2\xb9\x05\b\x11\xdf-\xb2\x8c֛[\xf4\xddz\xae[\x83\xe3D\xb5\xeb\x91;\xf7J\xce[T\x0f\x9c\x8aU_\xbdٓ\xe9t:a\x8d|F\xeb\xa4\xd1s`\x8dğ=j\xfa媗\u07fbJ\x9a\xd9\xfe\xfbɋ\xd4b\x0e\xcb༩\xbf\xa23\xc1r\xfc\x84\x1b\xa9\xa5\x97FOj\xf4L0\xcf\xe6\x13\x00\xa6\xb5\xf1\x8c\xa6\x1d\xfd\x04\xe0F{k\x94B;ݢ\xae^\xc2\x1a\xd7A*\x816\x12/W\xef?T\xbf\xab>L\x00\xb8\xc5x\xfcI\xd6\xe8<\xab\x9b9\xe8\xa0\xd4\x04@\xb3\x1a\xe7\xb0f\xfc%4\xce\x1b˶\xa8\fOwU{ThM%\xcd\xc45\xc8\xe9\xea\xad5\xa1\x99C\xbb\x90(d\xb6\x92H\x1f#\xb1U\"v\x9f\x89\xc5u%\x9d\xff\xf3\xe5=\xf7\xd2\xf9\xb8\xafQ\xc12u\x89\xad\xb8\xc5\xed\x8c\xf5?\xb4WOa\xedTZ\x91z\x1b\x14\xb3\x17\x8eO\x00\x1c7\r\xce!\x9en\x18G1\x01ȘEjS`BD-0\xf5h\xa5\xf6h\x97F\x85Z\x9f\xee\x12踕\x8d\x8f('Y \v\x03E\x1ap\x9e\xf9\xe0\xc0\x05\xbe\x03\xe6`\xb1gR\xb1\xb5\xc2\xd9_4+\xffGz\x00?9\xa3\x1f\x99\xdf͡J\xa7\xaaf\xc7\\YM:z\xec\xcc\xf8#\t༕z;\xc6\xd2=s\xfe\x99))NZ\a\xe9\xc0\xef\x10\x14s\x1e\x8c\xb6e,\x1e?\x97ț\x1c(\xfb[ƪ\x82E\xf6\\\xb3\x81\x0f \xa4\xa3\x02\xc0E\xa2C\xb0\xa8<\xa3\xf59x\x1b\xde$>7z#\xb7C\xa1\xbb5\xcd%\x8b\xb9B\xba\x87\xdc2\xdeD\xa1\x89\xac\xa3\xb1f/\x05\xda)\xf9\x87\xdcH\x9e9\t6e\xae\x8dD%\xdcP\xd2\v^\x16E\xb1(ȫ\x99\xba\xa2\xc3\xe5ic,\x8d\x99\xd4ɂ[\x021\xd8\xd8:\xa7T\xedQ\x8bS5rƍ\x89Qˡ\x80\x83\xf4\xbb\x14\x0e\u0558\xdf\xc1\xab\xbeG\xe3\x05\x8fc\xd3=ޟvH;S\x02Ep\xc8-\xfahm\xa8\xc8|Ȕ*\x80/\xc1ŀڏ\x13e\xc4B\xad\x9c~\xc1\xe3\x10h\xb8\xa6\xdc\\\xc2\\g\xf9\x8eJ\xe7°\xc5\rZ\xd4~4\xa8Sgb5z\x8cq]\x18\xee(\xa4sl\xbc\x9b\x99=ڽ\xc4\xc3\xec`\xec\x8b\xd4\xdb)\x01>\xcd\x1e4\x8bm\xc5\xec\xbb\xf8\xe7\x82\xc8O\x0f\x9f\x1e\xe6\xb0\x10\x02\x8cߡ%\xadm\x82*\x86֩o\xde\xc7\x1c\xfb\x1e\x82\x14\u007f\xb8\xfb\x16\\L\x93<\xe7\x06lV\xd1\xfa\x8fT\xa8E\xa6\b\xa2UҊ\xb1@\x99\x92\x94]gm\xa6X3f\x88c\x15fwP`\xa2\f2\x16Q_p\x18L_q\xb3\\\xec^\xf1\xb1RHK-$\xa7B\xec\xdc7J\x83!\xce\xea\xed\x11\xc1\xfa\x15\xf8\xa5\x880.x\x12 \xe7\xc3+\x1c?t\xf7\xb6mY\nO9\xc79\xf4T@9\xd0H9\x90\xd9!r1(p\xa35y\xa37\xc0N\xa1\xee\xce\xf5c\xfc\x1b#\xc4:\xf0\x17\x1c\x01~ \xcaǸ\xb1`\x9c\x8e\x11/\xc1a\f\xbe\xd7\u0600\xeb6\xce\xd9\x12\xed-\xbc,\x17\xb4\xf1\x94&\x19,\x17\xb0\x0eZ(,\x1c\x1dv\xa8\xa9C\x90\x9b\xe3\xf8]4\x9e\xeeW\x05\xd5Xa\xe4\x1a\xbf`;.C\x8a\xe1sX\x1fGj\x82\x1b\x84l,n\xe4\xcf7\b\xf9\x187\x16\xc0\x1b\xe6w \xb5\x93\x02\x81\x8d\xc0\x9f\x8a\xb5\v\x82\x9e\xf2\xffC\x8e\"ߠ\x9e\u05fc=\xb1\xf3\x16\x87/\x18_\xf1\x9fǼ\xed\x84B\xf9\x9d#\xffy-xɏG%ڟ\x1e\f\xfe\x94*,>\x92*Ϙy\x1e\x9ex\xa5R+\xcf\x16c\xceLu\x81\xb1\x16]c\xb4\xa0\xe6\xe9\xb6:\xade\xf9\u007fW\xad\x8d\xabuz\x1e\xe5zkE\v7\xb5*\xf1\x89\xe6\xcd\xcdJz\xb8\xea\xb6\x02f\xed\xa8Sl\xfb\x95\x9e\x8c\xbfH\x9b\xf2\xaeӧP?\xac!\xe8X\xa9Ō_\xc1\xdf5|\xa2ޖ\xb2\x93\x98\x13\xdfv\xcc\x00\xa4\x03m\x0et\xbcC/\x92\x00\xa3S\xbe\xa6n\x8di\x91\x9b\xe1\xb8t\x90JQƶX\x9b\xfdhƦBӢ:\x02sd:\xfb\xdfT\x1f\xaaw\xbfZ\x17\xa4\x98\xf3\xd4Ԡ\xf8\x8a{9|\xe5\x19\xa2{?8Q\x1c\xff\xe4\x0e\xf4\xe3\xc7\xd2,\xcfl\xde\xf6\xe3\b\x18\x1b\xa9\xa8\x16\x1c\x89\x13m\xc50|\x8f\xfc\xb8\xba\xbfs\xb1\x84G\xed\xc7ʾ\x03Z\x8c\x1d\x13\n\xaa\xe2M~\x97\bΣ\x1d1\x80\x93\xf6\xa2\xceA\x19\xbd\xed9N\x1a\xf9\x95\x82*\xb4dPƂ@O\xa9Io\x81\xef\x98\xdeb\xfb\n\x95\xf9\u007f\x9dS2\x9f\x9eʹ\x16\"\xf5%\xf3\xb8I\xa3Or\xacL\x1f\xbc\x00\xb7\x9b\xc7_\u007f\v\xf7E\xb3\x17ۜ+\xb8\x0f\xf6\x97,M\xa0N}\xfb\"\u070eooo\x87\xcf\xcd7 \xf1ַ\xf0W\xde5\xe0\xc0\\\xfb*\xfe\xeb\xe1PS\xb5z\xb5\x04\xfe\x92v\xa5\xe7\xc3|\x04\xd8\xda\x04\xff\x9agލ\x19t~\xee\u007f\v\x8f\xf1#Ƶ\"\x83\xf6\x14\x8d\xf0`\xa9\x95l_\xc5bP\x18\xcb-\xb7?/-z\xdfZ\xbak\xc3/17\xc85\x9ak\a\x93)_v\xf4\x9aA\xee΄\xf5\xe9\xa5x\x0e\xff\xfeϤMה\x13\x1b\x8f\xe2\x87\xfeǵw)d\x94/d\xf1'\xa7:&}\x1d\x84\xbf\xfdc\x92\xaeB\xf1\\>i\xd1\xe4\u007f\x03\x00\x00\xff\xff\x1d\r\x93\v\x97\x1c\x00\x00"), []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xb4\x96Ms\xe36\x0f\xc7\xef\xfa\x14\x98}\x0e{y$\xefN\x0f\xed\xe8\xd6\xcd\xee!\xd36\xe3I2\xb9tz\xa0I\xd8\xe2F\"Y\x00t\xeav\xfa\xdd;$%\xbf\xc8v6=\x947\x91 \xf0\xe7\x0f\x04Ī\xae\xebJ\x05\xfb\x84\xc4ֻ\x16T\xb0\xf8\x87\xa0K_\xdc<\xff\xc0\x8d\xf5\x8b\xed\xc7\xea\xd9:\xd3\xc2Md\xf1\xc3=\xb2\x8f\xa4\xf13\xae\xad\xb3b\xbd\xab\x06\x14e\x94\xa8\xb6\x02P\xceyQi\x9a\xd3'\x80\xf6N\xc8\xf7=R\xbdA\xd7<\xc7\x15\xae\xa2\xed\rRv>\x85\xde~h\xbeo>T\x00\x9a0o\u007f\xb4\x03\xb2\xa8!\xb4\xe0b\xdfW\x00N\r\u0602\xc1\x1e\x05WJ?\xc7@\xf8{D\x16n\xb6\xd8#\xf9\xc6\xfa\x8a\x03\xea\x14xC>\x86\x16\x0e\ve\xff(\xaa\x1c\xe8sv\xf5)\xbb\xba/\xae\xf2joY~\xbaf\xf1\xb3\x1d\xadB\x1fI\xf5\x97\x05e\x03\xb6n\x13{E\x17M*\x00\xd6>`\vwIVP\x1aM\x050\xf2\xc82kP\xc6dª_\x92u\x82t\xe3\xfb8Ldk0Țl\x90L\xf0\xb1\xc3|D\xf0k\x90\x0e\xa1\x84\x03\xf1\xb0\xc2Q\x81\xc9\xfb\x00\xbe\xb2wK%]\vM\xe2\xd5\x14\xd3$d4(\xa8?ͧe\x97\x04\xb3\x90u\x9bk\x12X\x94D\x9eD\xe4\xb8\xd6;\xa0#\xbe\xa7\x02\xb2}\x13:ŧ\xd1\x1f\xf2µ\xc8\xc5f\xfb\xb1\x90\xd6\x1d\x0e\xaa\x1dm}@\xf7\xe3\xf2\xf6黇\x93i8\xd5z!\xb5`\x19Ԥ4\x81+\xd4\xc0;\x04O0x\x9a\xa8r\xb3w\x1a\xc8\a$\xb1\xd3\xd5*㨪\x8efg\x12\xde'\x95\xc5\nL*'\xe4\fm\xbc\x04hƃ\x15\x98\x96\x810\x102\xbaR`'\x8e!\x19)\a~\xf5\x15\xb54\xf0\x80\x94\xdc\x00w>\xf6&U\xe1\x16I\x80P\xfb\x8d\xb3\u007f\xee}s:g\n\xda+9\xe4g\x1a\xf9\xd29\xd5\xc3V\xf5\x11\xff\x0f\xca\x19\x18\xd4\x0e\bS\x14\x88\xee\xc8_6\xe1\x06~I\x98\xac[\xfb\x16:\x91\xc0\xedb\xb1\xb12u\x13\xed\x87!:+\xbbEn\fv\x15\xc5\x13/\fn\xb1_\xb0\xddԊtg\x05\xb5D\u0085\n\xb6\xce\xd2]\xee(\xcd`\xfeGc\xff\xe1\xf7'Z\xcf.H\x19\xb9\xd0_\xc9@*\xf3\x92\xf6\xb2\xb5\x9c\xe2\x00:M%:\xf7_\x1e\x1ea\n\x9d\x931\xa7\x9f\xb9\x1f6\xf2!\x05\t\x98uk\xa4\x92\xc45\xf9!\xfbDg\x82\xb7N\xf2\x87\xee-\xba9~\x8e\xab\xc1\nOW2媁\x9b\xdcbSQ\xc7`\x94\xa0i\xe0\xd6\xc1\x8d\x1a\xb0\xbfQ\x8c\xffy\x02\x12i\xae\x13ط\xa5\xe0\xf8\xef07.Ԏ\x16\xa6\xf6}%_\x17\x8a\xf6!\xa0N\x19L\x10\xd3n\xbb\xb6:\x97\a\xac=\xc1Kgu7\x15\xed\x8c\xee\xbe\xc0\x9b\x93\x85\xcb\x05\x9dơM\xceW\xae\x1e\x1er\xee,\xe1\xec\x16\xd6p\xd6s_璛\xe1\xbf$S:\xf1\xc8FG\"trԟեMoe\x81D\x9e\xcefg\xa2\xbed\xa3\xfc\x04P\xd61(\xb7\x1b7\x82tJ\xe0\x05)\x95\x81\xf61\xf5\x194`\xe2\x19\xbf\x11\xcb\xf1\xbf$\x90\xd7\xc8ܜ\xd9Y\xc1ႦW\xb2\x93Fz^\xa8U\x8f-\bE\xbc\x92YE\xa4v\xb3\xb5\xfc\xcf\xfa\x06\x82e\xb2\xb9\x94\x83\xfd\u007f\xfa\x9bIȸ]\x1c\xce#\xd5p\x87/\x17foݒ\xfc\x86\x90\xe7W>-.\v\xbd\xfdc\xe0\r\x94.^ʳIN\xfd\xce\x1cQd\xf1\xa46\xc7\\9\xae\xf6\xfd\xbb\x85\xbf\xfe\xae\x0e\xf7Zi\x8dA\xd0\xdc\xcd_i\xefޝ<\xb7\xf2\xa7\xf6\xae\xbc\x8c\xb8\x85_\u007f\xabJ(4O\xd3\xeb)M\xfe\x13\x00\x00\xff\xff--\nM\xde\n\x00\x00"), []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xb4WMs\xdc6\f\xbd\xef\xaf\xc0\xa4\x87\xb43\x916\x99\x1e\xda\xd9[\xeb\xe4\x90i\xea\xf1\xac]_:=p)\xacĚ\"Y\x02\\\xc7\xfd\xf5\x1d\x90\xd2~h\xb5\xb6s(o\x02A\xf0\x11xx\xa4\x16UU-T0\xf7\x18\xc9x\xb7\x02\x15\f~et\xf2E\xf5\xc3\xcfT\x1b\xbf\xdc}X<\x18\u05ec\xe0*\x11\xfb~\x8d\xe4S\xd4\xf8\x11\xb7\xc6\x196\xde-zd\xd5(V\xab\x05\x80rγ\x123\xc9'\x80\xf6\x8e\xa3\xb7\x16cբ\xab\x1f\xd2\x067\xc9\xd8\x06c\x0e>n\xbd{_\xffT\xbf_\x00\xe8\x88y\xf9\x9d\xe9\x91X\xf5a\x05.Y\xbb\x00p\xaa\xc7\x154\xfe\xd1Y\xaf\x9a\x88\xff$$\xa6z\x87\x16\xa3\xaf\x8d_P@-\x9b\xb6ѧ\xb0\x82\xc3DY;\x00*\x87\xf98\x84Y\x970y\xc6\x1a\xe2\xdf\xe6f\xbf\x98\xc1#\xd8\x14\x95=\a\x91'ɸ6Y\x15Ϧ\x17\x00\xa4}\xc0\x15\\\v\x8c\xa046\v\x80\xe1\xec\x19V5\x9cn\xf7\xa1\x84\xd2\x1d\xf6\xaa\xe0\x05\xf0\x01\xdd/7\x9f\xef\u007f\xbc=1\x034H:\x9a\xc09\x83\x13\xcc`\b\x14\f\b\x80\xfd\x1e\x14(\a*\xb2\xd9*Ͱ\x8d\xbe\x87\x8d\xd2\x0f)\xec\xa3\x02\xf8\xcdߨ\x19\x88}T-\xbe\x03J\xba\x03%\xf1\x8a+X\xdf\xc2\xd6X\xac\xf7\x8bB\xf4\x01#\x9b1\xcbe\x1c\x91\xeb\xc8:\x01\xfeV\xceV\xbc\xa0\x11V!\x01w8\xe6\a\x9b!\x1d\xe0\xb7\xc0\x9d!\x88\x18\"\x12\xba³\x93\xc0 N\xca\r'\xa8\xe1\x16\xa3\x84\x01\xea|\xb2\x8d\x90q\x87\x91!\xa2\xf6\xad3\xff\xeec\x93dH6\xb5\x8aG:\x1c\x86q\x8c\xd1)\v;e\x13\xbe\x03\xe5\x1a\xe8\xd5\x13D\xccyJ\xee(^v\xa1\x1a~\xf7\x11\xc1\xb8\xad_A\xc7\x1ch\xb5\\\xb6\x86ǦҾ\xef\x933\xfc\xb4\xcc\xfda6\x89}\xa4e\x83;\xb4K2m\xa5\xa2\xee\f\xa3\xe6\x14q\xa9\x82\xa92t\x97\x1b\xab\xee\x9b\xef\xe2І\xf4\xf6\x04+?\t͈\xa3q\xed\xd1D\xe6\xfc3\x15\x10\xd6\x17\u0094\xa5\xe5\x14\x87D\x8bI\xb2\xb3\xfet{\a\xe3ֹ\x18\xd3\xec\x17\xe6\xec\x17ҡ\x04\x920\xe3\xb6\x18K\x113\xf3$&\xba&x\xe38\u007fhk\xd0M\xd3Oi\xd3\x1b\xa6\x91\xccR\xab\x1a\xae\xb2\xd2\xc0\x06!\x85F165|vp\xa5z\xb4W\x8a\xf0\u007f/\x80d\x9a*I\xec\xebJp,\x92S璵\xa3\x89Q\xc9.\xd4k\xd2\xea\xb7\x01\xb5TO\x12(+\xcd\xd6\xe8\xdc\x1a\xb0\xf5\x11ԡ\xf3\x87\x04\xd6'\x91\xe7;7\x83S\xb1E\x9eZ'X\uec93l\xffةS\xa1\xf9\x1e\xeb\xb6\x16\xad\xa0\x01HQ\x8f\x1f곈\x971\xc0,{g\x91\x8c$\x964H^E\nD\xa4\x8e1\x9do-\x03]\xea\xe77\xa8\xe0\u05cc\xf9\x8bo\x9f\x9d\xbf\xf2\x8e\x85\xee\xcf:\xdd{\x9bz\xbcu*P\xe7_\xf0\xfd\xccؿ\xces\xbc\x90\xf7\x97Թ\xe3\x1aE\xca\xf1\xf2!\x06\x875R\xb2\x17\xb6\xbb@\xebq\xe4\xeb\xeb\xe5\x1a\xc9\x058\xd6H\x96\x14MG\x90gAt\xc8H\ayy4\xdc\xcdF\x04x\xec\x8c\xee\xf2\xc2\\`Q.\"\xafMցo\x87/}a\"ΐ\xac\xca\xe4\x9b1\v\xf83\xf3\x85n\xbe\xb4A5tث\x14\x81\x15'\xfa\x06M\xc8\xfec\xaau\x8a\x11\x1d\x0fQ\xf2\x1d9]\xf0ZQ\x18;\xe9\x8f\xf5\x97\x17\x94\xe1\xe3\xc13\xbf\x02\x95q\x05M\x88X\x91i\xe5f\x979цܳ\xe7\xc9(\xe3\xf4\xa5q\x9a\xa8ي\xe2\xd7`bV\xc0\x17 ~\xda;\x16\x01CW.\xa7\xe9[*\aD\xca\x17\xbfV\xd3'\x87\x8c\rB\x83\x16\x19\x1b\xd8<\x15%~\"\xc6\xfe\x1c\xf7\xd6\xc7^\xf1\n\xe4Ҫ\xd8\xcc\xd0H\u07bbjcq\x05\x1c\xd3%\x96\xcd\x1e\xcb\f\xb8\xa8\x97\x15\\\xe3\xe3\x8c\xf5&z\x8dDx\xdeF\x17O2\xdb\x04gF\x92\x97Es\x94\xa5\xe1\xc1:X\x0e-\xa3\xb4\xc6\xc0\xd8\\O\xff\x02\u07bc9y\xd6\xe7O\xed]c\xca\x0f\f\xfc\xf9עD\xc5\xe6~|\xad\x8b\xf1\xbf\x00\x00\x00\xff\xff\xef_\x1d\xd3:\r\x00\x00"), @@ -37,7 +37,7 @@ var rawCRDs = [][]byte{ []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xc4Y_s\x1b\xb7\x11\u007f\xe7\xa7\xd8q\x1e\xd4̘\xc7\xc4\xed\xb4\x1d\xbe\xd9R\xd3Q\x9b\xc8\x1aSՋ\xc7\x0f\xe0ay\x87\xe8\x0e\xb8b\x01\xd2l&߽\xb3\xc0\x81\xbc\u007f\x14%M\x94܋-`\xb1\xf8\xedb\xffs6\x9f\xcfg\xa2Q\xf7hI\x19\xbd\x04\xd1(\xfc\xeaP\xf3_\x94=\xfc\x9d2e\x16\xdb\xefg\x0fJ\xcb%\\zr\xa6\xfe\x84d\xbc\xcd\xf1\n7J+\xa7\x8c\x9e\xd5\xe8\x84\x14N,g\x00Bk\xe3\x04/\x13\xff\t\x90\x1b\xed\xac\xa9*\xb4\xf3\x02u\xf6\xe0\u05f8\xf6\xaa\x92h\x03\xf3t\xf5\xf6\xbb\xeco\xd9w3\x80\xdcb8~\xa7j$'\xeaf\t\xdaW\xd5\f@\x8b\x1a\x97\xd0\x18\xb95\x95\xaf\xd1\"9c\x91\xb2-VhM\xa6̌\x1a\xcc\xf9\xd6\xc2\x1a\xdf,\xe1\xb8\x11\x0f\xb7\x88\xa24\xb7F\xde\a>\x9f\"\x9f\xb0U)r\xff\x9e\xdc\xfeQ\x91\v$M孨&p\x84]R\xba\xf0\x95\xb0\xe3\xfd\x19\x00\xe5\xa6\xc1%\xdc0\x94F\xe4(g\x00\xad\x02\x02\xb49\b)\x83JEuk\x95vh/\x99ER\xe5\x1c$RnU\xe3\x82\xca\x0e|\xc0l\xc0\x95\xc8W\x06u\v\xa5\x95.\xc2R\x84\x00\xce\xc0\x1a\xa1E\"\x033\x80\x9f\xc9\xe8[\xe1\xca%d\xac\xb8\xac12ӉgK\x13u~3Xu{\x96\x83\x9cU\xba8\x85\xec7\x06\xd5\xc3sk\xe4\v\x90<\xe7\xdaHۻ\xf4\xbe\xbbt\xee\xde[#\xdb\x03\xd0\x1a\x10\x90\x13\xce\x13\x90\xcfK\x10\x047\xb8[\\\xeb[k\n\x8bD\x130\x02y֔\x82\xfa8Va\xe3uql\x8c\xad\x85[\x82\xd2\xee\xaf\u007f9\x8d\xad=\x949\xe3D\xf5a\xef\x90zH\xef\x86\xcb\x11-\x1bv\x81\xf6\x8f\x83\xbbfHWF\xf7\xf5\xfaa\xb0:\x05\xb6\xc34\x05\xbdl\x14\xb0z\\\xdf\x17}~R\xb8\xb8\x10\xb7\xb7\xdfǰ\x91\x97X\x8beKi\x1a\xd4\xefo\xaf\xef\xff\xbc\xea-\x034\xd64h\x9dJ\x91,~\x9d\b\xdeY\x85\xbef/\x98a\xa4\x02ɡ\x1b):E\\C\xd9b\x88\u03a2\b,6\x16\tu\f\xe6=\xc6\xc0DB\x83Y\xff\x8c\xb9\xcb`\x85\x96\xd9\x00\x95\xc6W\xc1۷h\x1dX\xccM\xa1\xd5\xff\x0e\xbc\x89}\x8f/\xad\x84\xc36\x9c\x1e\xbf\x10ﴨ`+*\x8foAh\t\xb5\u0603E\xbe\x05\xbc\xee\xf0\v$\x94\xc1Ol!Jo\xcc\x12J\xe7\x1aZ.\x16\x85r)s妮\xbdVn\xbf\bIH\xad\xbd3\x96\x16\x12\xb7X-H\x15sa\xf3R9̝\xb7\xb8\x10\x8d\x9a\a\xe8:d\xaf\xac\x96\xdf\xd86\xd7\xd1E\x0f\xeb\xc8\xe9\xe2\x17\xf2\xca#/\xc0\x89\x05\x14\x81h\x8fF)\x8e\x8aN\xe1\xf1\xd3?Vw\x90\xae\x0e\x8f1\xd4~\xd0\xfb\xf1 \x1d\x9f\x80\x15\xa6\xf4\x06m|č5u\xe0\x89Z6Fi\x17\xfe\xc8+\x85z\xa8~\xf2\xebZ9~\xf7\xffz$\xc7o\x95\xc1eH\xe7\x1c/}Ö+3\xb8\xd6p)j\xac.\x05\xe1\xab?\x00k\x9a\xe6\xacا=A\xb7\x12\x19\x12G\xadu6R\xb5p⽆\x15\xc0\xaa\xc1\x9c\x9f\x8f5\xc8G\xd5F\xe5\xc178\xfc\x80\x18\xd1g=\xd6Ӯ\xcb\xdfZ\xe4\x0f\xbeY9cE\x81?\x9a\xc8sH4\xc0\xf6a\xeaL\x02\xa7;9/2\a\x8a\x94#\xa6\x00U:\xbc+\xd1b8éQ\xe5l^\x86\x943vόc\xb6\xccF\x1cN\xbf\xfb2\xad=\x80\x1f\x8c\x05\xfc*\xea\xa6·\xa0\xa2\xc6\x0f\xe1/ٌ\xa2\xa8\x8e\x03G\xd8)W\xaaa\xd2:h\x80\xad\xab\x15{\x17\xc4u\xe2\x01\xc1\xb4\xe2z\x84J=\xe0\x12ބJ\xf0\b\xf3\x17v\xac_ߜ\xe0\xfa\xa7\xe8@o\x98\xe8M\x04w\xc8w]\x8f<\x82t\xa5p\xe0\xac*\n<\x16\xa2\xc3/\x04o\x0e\x89߂\xb1\xac\x01m:,\x02c~\xbd\x18\x8fP\x8e@\u007f~\xf7\xe5$⾾@i\x89_\xe1\x1d(\x1du\xd3\x18\xf9m\x06w\xc1:\xf6ډ\xaf|S^\x1a\xc2S\x9a5\xbaڳ̥\xd8\"\x90\xa9\x11vXU\xf3XoH؉=k!=\x1cۛ\x80FX\xf7\xa8\xb5\xa6*\xe3\xee\xe3\xd5\xc7eD\xc6\x06U\x84x\xc7\xd9i\xa3\xb8j\xe0r!\xe6\xbc`\x8d\xa3\xa4\x99>\xf2\xd1|\x9c\x81\xbc\x14\xba\xc0(/\xc2\xc6s\x16\xca.^\xe2\xc7\xe3ԟ\xbe\x89\x12`\x188\xfe\xb0$\xfaD\xe1B\xa5\xfa\x04ẽ֣\xc2=\xf85Z\x8d\x0e\x83|\xd2\xe4Ģ\xe5\xd88Z\x98-ڭ\xc2\xddbg\xec\x83\xd2ŜMs\x1em\x80\x16\xa1=]|\x13\xfey\xb1,\xa1\x93}\xaa@\xbd\x06\xfb5\xa5\xe2{h\xf1\"\xa1R\xad\xf8\xf4\xc2\xf9t\xe70\xa0i\x8c\x1c\xac\xf4-a\xb0y|\x9a\xc1Fo \xd6\xc5;n\xab´\xe59\x8dU\x9c\U0003468d\xfe\xed\xd2܇\x8b\xdb\x17\xb7V\xb9\xe1±?M~\xfc\x95/\xc7'\xc2\x1c\xc3ʈΩ\x1aC\xbf\x12\x87S;A钩\x17\x85\x0e\xbfx4\xc4Tf\x872\x94u\\un\x84\xaaP\xc2a\x9e\rw\xdca\x86\x86\xfeb\xaa\x8aI\x8c<\xa1\f\xbd\xe7\x04\xe8\xf1\xb94#\xe36~\xce,F\x14\xdaW\x95XW\xb8\x04g\xfdx\xfb\x11\a\xaa\x91H\x14\xe7<\xe8\xa7H\x15;\xbe\xf6\b\x88\xb5\xf1\xee\xd0\xf2\xb5\xaeԪ\xe2\x82Z+x^\xdbY\n:\a\xe5\x96i\xa6,\xee\xe0ԏ\x9b\x1c\u007f\xa8}=\xbef\x0e7\xb8\x9bX\x1d\xcd,\xbb\x9b\x97Ʉ&\xf6~\b\xd6\xf1,\x05\xb4\x17\x9d\xd3AK\x06\xa5\xa9\x92u\x1b'*о^\xa3eE\x84Ai\xd2H\n\rS=t\xa8\xbd\x8f\x9a\xbc_=(#\x1b\xb8\x8a\x81m\xb7\xa1`\xa3\x17\xf4\x13m\x95Q\xac\xacYu\xc4(\x91\xb1Y\x01\xa01\x961\x89CZ\x02\bk\xd8[\xad\xc9W;2\xf5Cl\xa9\x8dJK\xf2\xd9\xf8\xe0\xfa\xf0\xae\xfe\xbe~\xb7\x02\x10\x9e\xf2\xf1Ϫ\xa3\xc0ع\x06L\xd4z\x05`\xb0\xa3\x06<\x05V\u0093\xb3A\xb1\xf5\x8aB} M\xde\xd6ʮ\x82#\x91\xdc\uef0d\xae\x81\xd3F9݇T\xd2\xd9dC\x9b\xc1\xd01oi\x15\xf8\xd7\xc5\xedO*pVq:z\xd4K\x81\xe4\xed\xa0\xcc.j\xf43\x85\xe4 \b먁\x9b\x14\x8bCAr\x05\xd0C\x90c\xab\x00\xa5̠\xa2\xbe\xf5\xca0\xf9+\xabc7\x80Y\xc1\x97`\xcd-\xf2\xbe\x81z\x80\xbd\x9eA\x96u\a\xc0>\xec\xa8_\xf319\x97\xc8EP\xb6\x0f\xefK\xd8bO\x1d6\xbd\xa6ud>\xdc~\xbc\xff\xee\xeeL\f\xe0\xbcu\xe4Y\rP\x96oTC#)\x80\xa4 \xbcr\x9c\x19~\x9b\f\x16-\x90\xa9x(\x00\xefiȟd\x1f\x03\xd8-\xf0^\x05\xf0\xe4<\x052\xa5\x9c\xce\fCRB\x03\xb6\xfdB\x82k\xb8#\x9f\xcc@\xd8ۨe\xaa\xb9\x03y\x06O\xc2\xee\x8c\xfa\xeb\xc9v\x00\xb6٩F\xa6\x9e\xcfӗ\xf16\xa8\xe1\x80:\xd2\xff\x01\x8d\x84\x0e\x8f\xe0)y\x81hF\xf6\xb2J\xa8\xe1\xdaz\x02e\xb6\xb6\x81=\xb3\v\xcdz\xbdS<\xf4\x8e\xb0]\x17\x8d\xe2\xe3:\xb7\x81j#[\x1f֒\x0e\xa4\xd7A\xed*\xf4b\xaf\x98\x04GOkt\xaaʡ\x9b\xdc?u'\xff\xe7\xfbn\vo\xcfb-L\x06\xf6\xca\xecF\x1b\xb9\xb0_` U6\xa8\x00\xd8\x1f-Y\x9c\x80N\xa2\x84\xce\xe6\xe7\xbb\xcf0\xb8\xcedL\xd1ϸ\x9f\x0e\x86\x13\x05\t0e\xb6\xe4\v\x89[o\xbbl\x93\x8ctV\x19\xce\v\xa1\x15\x99)\xfc!\xb6\x9d\xe2\xc4\xfb\x1f\x91\x02'\xaej\xb8\xca\x03\x05Z\x82\xe8R\xe5\xca\x1a>\x1a\xb8\u008e\xf4\x15\x06\xfa\xcf\tHH\x87*\x01\xfbu\x14\x8cg\xe1T\xb9\xa06\xda\x18\xc6\xd53|MGН#\x91\xe8K\b\xa6\xa3j\xabD\xee\r\xd8Z\x0f8ӯ\xcfL/\xb7n\xfaZ\x14\x0f\xd1ݱ\xf5\xb8\xa3O\xb6\u061c*Mb\xfbq\xe9\xcc\x10\\\x9a,\xa5\x8diYqf\x1b\x80\xf7ȣ\xfeeT\xe6i\f,\xe6\xf3\x02\t\x99\bL\xedl\xd0\b\xfa%W\x94\x11\xc7\v9]/\x1cI)\xed\xed#\xd8-\x93\x19\x1b\xedc]Ȥ%\xf0Ѽ*\xd8rU|\x94\xa9\xf0\xb6\x8a\xfc\x85@7\x13\xf5\x01\xf7mԺ\xb7U\t\xdb9d\xd5jZv\x99\xbeT6\xaaX9\x96\xde\xffv\xbc\x0f鞢\xa7\x9b\xedB\x06\xf7\xe7\xda\xe3\xc2)\x82>\x94\x94\n\xf8\xf3;\xfa\xfc\xebk%\x80\xb3\xb2\x0f\xa2/\xe8\x90\xf2{E\x0e\x89r\xe5i2A\xab\xe5\xf6\x98\xe8,U\xdbDe\xca\xf1d{\x82\xdfW\x8d\x0fF\x8e\xe15\x03$\x1f\x18\xc0\x16\xd1{2ܛ\xc97\xea7\x8f\x10\x8d\x81G\xed\x93^\"\x17*\xe0\xd3\xfc\xc4\x10X2\x06\x9c\x04\xe3~{\xc4\xe9-\x94I[괭\xf5\x1dry\xeaT\xc9\xd0L#=)\xb1\xd5\xd4\x00\xfb8\xdf~i\xaeP\b\xb8\xbb\x94\xddu\xd1*\x97m\u007f\x04\xb0\xb5\x91\x9f\x81\x9e\xf7\xf3(\xe0\x02\x1d\x17\"u{\f\x97\xe2\xbcM:K\x05\xf14\xbf/\x87@&vs7\x15\xdc\xd0\xe3\x82tC(\xe7}\\\xc1\x8d\xe5\xe5\xadg3\\슙0\xa4w\x89\x1c\xf1\x1cJ#\x8f%\xb1}zg5\xf0\xf7?\xabSc\xa1\x10\xe4\x98\xe4\xcd\xf4\xef\xe1͛\xb3\x9f\x81\xbc\x14֔\xc7{h\xe0\xb7\xdfW\xc5\x15\xc9\xfbၟ\x84\xff\x06\x00\x00\xff\xff\xe08S\ft\r\x00\x00"), []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xec\xbd}s#\xb7\x910\xfe\xbf?\x05j\xe3\xfaI{\x11)or\xc9\xefn+\xf5\xa4\x94]\xd9Q٫U\xad\x94\xf5\x93r|>p\xa6I\xe24\x03L\x00\f%\xde\xf9\xbe\xfbSh\x00\xf3B\x0e\xc9\x01\x86\xda\x17{pU\x17/5\xd3\x034\x1a\xfd\x8enZ\xb0\xf7 \x15\x13\xfc%\xa1\x05\x83G\r\xdc\xfcKM\xef\xffMM\x998_\xbd\xf8\xe2\x9e\xf1\xf4%yU*-\xf2w\xa0D)\x13x\rsƙf\x82\u007f\x91\x83\xa6)\xd5\xf4\xe5\x17\x84P΅\xa6\xe6ge\xfeIH\"\xb8\x96\"\xcb@N\x16\xc0\xa7\xf7\xe5\ff%\xcbR\x90\b\xdc\u007fz\xf5\xd5\xf4\xff\x9f~\xf5\x05!\x89\x04|\xfd\x8e\xe5\xa04͋\x97\x84\x97Y\xf6\x05!\x9c\xe6\xf0\x92HPZHP\xd3\x15d Ŕ\x89/T\x01\x89\xf9\xd8B\x8a\xb2xI\xea?\xd8w\xdcD\xec\"\xde\xd9\xd7\xf1\x97\x8c)\xfdm\xf3\xd7\xef\x98\xd2\xf8\x97\"+%\xcd\xea\x8fᏊ\xf1E\x99QY\xfd\xfc\x05!*\x11\x05\xbc$\xd7\xe63\x05M \xfd\x82\x10\xb7&\xfc\xec\xc4\xcdz\xf5\u0082H\x96\x90S;\x1fBD\x01\xfc\xe2\xe6\xea\xfd\xefo[?\x13\x92\x82J$+4b\xc6͍0E(y\x8fk3\x13\xc0M zI5\x91PHP\xc0\xb5\"z\t\x84\x16E\xc6\x12Db\x05\x91\x101\xaf\xdeRd.E^C\x9b\xd1\xe4\xbe,\x88\x16\x84\x12M\xe5\x024\xf9\xb6\x9c\x81\xe4\xa0A\x91$+\x95\x069\xad`\x15R\x14 5\U000c8d63AG\x8d_7\xd6rb\x96k\x9f\"\xa9! \xb0Sv(\x83\xd4a\xc8\xccV/\x99\xaa\x97\xb6\xb9\x1c\xb7$ʉ\x98\xfd\x17$zJnA\x1a0D-E\x99\xa5\x86\xeeV \rr\x12\xb1\xe0\xec\xbf+\xd8\xca,\xd4|4\xa3\x1a\xdc~׃q\r\x92ӌ\xachV\xc2\x19\xa1<%9]\x13\t\xe6+\xa4\xe4\rx\xf8\x88\x9a\x927\xb8=|.^\x92\xa5օzy~\xbe`ڟ\x9fD\xe4yə^\x9f\xe3Q`\xb3R\v\xa9\xceSXAv\xae\xd8bBe\xb2d\x1a\x12]J8\xa7\x05\x9b\xe0\xd49\x9e\xa1i\x9e\xfe\xa6ڶ\x93\xd6\\\xf5\xdaP\x9eҒ\xf1E\xe3\x0fH\xe6{v\xc0\x10\xbc\xa5%\xfb\xaa]E\x8dh\xf3\x93\xc1λ\xcbۻ&\x9d1\xb5\x89}\xc4{\x83\xf8\xea-0\bc|\x0e\xd2n\"R\x9b\x81\t<-\x04\xe3\x1a\xff\x91d\f\xf8&\xfaU9˙6\xfb\xfe\xcf\x12\x94!h1%\xaf\x90\xa9\x90\x19\x90\xb2H\xa9\x86tJ\xae8yEs\xc8^Q\x05O\xbe\x01\x06\xd3jb\x10\xdbo\v\x9a\xfcp\xf3a\x8b\xb5\xc6\x1f<\xf3ڱ_\xee\xf4\xdf\x16\x90\xb4N\x8cy\x8d\xcd\xdd1's![\xcc\xc1\xbc2m\x01\xed>\xb4f\xd8\xd3o8\xd8\xe6_6\xa6\xf2\x97\xeaAC?f\x12%g\xff,\x01Y\x9c=\xb1\xb0\xc5R\xb6@\x12??$\x8b\xe9\xd6\xdfw\xe0\xd4\fxL\xb22\x85\xb4\xe2\xb6[k٘\xf1\xe5\xd6\v(\x8e(\xe3\x86\xfe\r\xfb7\xd3\xe6\xf5_\r;\xed\x981\x95@\f\x052n\xe1\x11\xc6q\xb1\x9d\x986\x83i\xc8;&\xb7wu\x04\xe5\x1c\x9de\xf0\x92hY\xc2\x0e\xccP)\xe9z\ab\xbcl\ue2d7\xeay\xc7\x102\x96@SPX\xd4X!C\xe5\xf6\x8c\xc8'\x8e\x15\xa6\f;\xf3\xab\xbc\x11\x19K\xd6\aQ\xd3\xf5\x92?n\xee\xf0y\n\x9e\xc1\x92\xae\x98(eǚ̑4\xcf\xdeג\xb4\xe6\xa6\xc203\a%\x8d[q'\xb6\x96B\xdc\x1f\xda\xfc\xbf\x9agj\xb6M\x12T\xeb\xfcZ\xa4\xdbn'Eg@\xe0\x11\x92RwL\x93\x90\xb4D\t\"$)\x84һ7~7\xf3!\x96\x1f\xec\xa2Z\xb2\x8fj\xb6V\xe6x\xa5\xdf:\xb3\xd0\x16\xdf\x14\x1c\xcc\\s\xb3u\xf5\xb3R\x94\xf6\xd9M\x01\xd7\xc0x7FȌ*H\x89pd_f\xa0ܷR\xdc\xfe\x9a\xb1\x9c\xed\x04]-ު\x1a\x19\x9dAF\x14d\x90h!\xb71\xd9\a\x9fv\xf4a\x96;\xf0\xd8\xc16\xdb\xf4_/l\x0fHb\xc8\xfcaɒ\xa5\xd5\x02\fm\"\x1c\x92\nP\xc89\x8c\xa6\xba\u07b5Hrh\xef\xddG\xf6\xf1\x8ez\x1c8S\x9b\xf0\xba\xf8I=z\xf0\xdbz\x1c\xe0\xbc[\x9c\xc5\xfd\xde):\xeb\xf1\xcbD\xac\x17%\x11D{\xb5\xf5\xeaq\x89\x16\xad*\xa3\xed_\xcd\t\xe4\x85^\x9f\x11\xa6\xfd\xaf\x87 \xd2,k|\xff3ޘp\x8a\xbf\xda|\xf3\xa8\x14\xbfwW\x0eA4\xbbR}\xfe3\xdc\x14\x14\x16\xb7NV\xf4ސ\xef\x9ao\x9d\x116\xaf6$=#s\x96i\x90\x1b;3\xe8\xbc\x1c\x03\x19}\xe4\x9d\x199\xd5\xc9\xf2\xf2\xd1h6\xaa\xf6@\xf5\xc4\xcb\xe6\xcbV'\xf6FB[0\x1f\x80K\xd0~e\x12rk\x17\xdf!6\xeb_Р\xb8\xb8~\r\xe9>\xf4\x90~\x94\xb7\xb5\x90\x8b\x8d\xc96?\xed\x14\xfd\xbe\xcbp\xaaOe4Y\x8f\xc7\x19\xa1\xe4\x1e\xd6Vc\xa1\x9c\x98͡\x1a\xf5\xddN\xf3i\x1b9\xe8z\xb1\xea1\xac\x11\x8c\xf3\xa5\x1c|\xbb/)\xd8q\x0f\x1d\xfa~\xd7h!\xd0\xcc\xc9Y\xb8\x16\x93\xe6\aD\x04Z\xde\xfd\x91G\xd0/\xe6y\xd1\xe1ő\xfe\x8c\xc4\x0f\x8f\xfb\x88eV\xdb\xd6\xf0\x1f\xe2ƞ(\xbbE\xe6\x14,Y\xd1s\xa1\xe8>T\x80\xa7\xc5{\xc6\xdeӌ\xa5Շ,\xdd_\xf1\xdd\xdap{\\\v}\xc5ϬI\xa6\x90J^\vP\xd7B\xe3/O\x82N;\xf1\bd\xda\x17\xf1xq˶\r\x1e\x9a.\xb6\x1e\xc4mǕ\xf5\xa4T\xdb\xc3\x14\xb9\xe2\xc6pq\xf8@\x87\xa9\xfd\xdc~\xf9\xd0\x1ey\xa9Ї\xc6\x05\x9f\xa0\xa8\x9cv}\xc9\"\xbb'H![;\xb2=\xb5\xea\xa3\xf6\x83=\xc1\xde\x19Ib߷.\xe0\x8c&\x90zk\x13\x1d\x97TÂ%$\a\xb9\xd8'8\x9a\xa30\xfc\xbd\xdf\x14zr];\x02)\xac\x9fh\xf7ñ\xee\xf4\xf0d&\xe6\xe4\xf6x\xcao\xf6\xc1Gw\xf8+w?zxE(bQ\xff8\x88]\x9a\xa6\x18\\\xa2\xd9M\x00\xc7\x0f؋m\xd9o'f%dN\vs~\xffLj9$\xe8\xff%\x05e\xb2\xc7\x19\xbe\xc08Q\x06\xadw\x9dg\xac\xf9\x19\xf3\x05\xa6\x88\xd9\xdf\x15Ͷ=\xe1\x1d\x8b\x13\x86\xb7@f\x05\xb9\x98oi,g\xe4a)\x94\x95\xa9s\x06Y\x97˦=\x98\"\xcf\xeea\xfd\xecl\x8b\x0f<\xbb\xe2Ϭ\x80\x0ff7\x95\xb6 x\xb6&\xcf\xf0\xddgC\x94\xa0\x9e\x94\xd8\xeb1\xde\xe9\xe7\xaeG\x8b,\x9a\xbe\xee\xda\xc9\xed\xd4\xdc}\xb3\xeeE\x87\x85P\xfa\xaf\xdd\x0e\xbb\x1d\xf3\xb9\xf1o\xb4u\xd3\x0e\xbf\xd7A\x9d\xdd\xf9\xb0*\xa6j4\xb9\xb9\x06\xe9\x9cx\x96\xd1z\v`\xa0mt\xc8IW9\xe8h\xe5Y5\b>@\x156\xe6\xd1g\x8a!Z\xa3\xc1K\xa0\xbe}\xf9\xd8\xf01\x9a\x13j\xfe\xdd\\ȱ\xb5\xdaD\xe49\u074c\xf2\xf5\x9a\xea+\xfb\xa6\xa7i\a\xc8\xee\xbe\\\x94x.\xfb\xab{\x9e\x860\xbe\xf7\xc0\xf4\x92qB\xfd\xf1\a\xe9\b\x8a\x92B\x1c\xe6Dv,\xa9\"3\x00^\xf9\xc6?\x05y\x9d3~\x85\x1f /\x8e.\xdfI\x8d\xae\xa8\xed\xf4\xa8\xae6\xb4\xfa\x01%N_\xd5H\xa4\xe4a\t\x12ZT\xb1\xed\xf06\x1acO\x90\\\xe8\xa6_\xc1\xc0-Dz\xa2ȜI\xa5\x9b\x13\xedKp\xa5\xeaK\x0e\x81;lVw\xc7r\x10\xa5\x8e\u0603\xcb\xfa\xedV\x806\xa7\x8f,/sBsQ\xf6\x10\xeev\x18\xf9\xc2\xf2*\x8a\xeav\xe0\x812]œ\xd0â\x85٥\"\x03\xddw\x8bg07\xec(\x11\\\xb1\x14\xa4\x8f\xf2\u06dde\xc2\x1c\xdc9eY\xd9\x15\xbe\xe9\x1a\xa1f*\xbf\x942\xcaJ}k\xdflx\r\x97⡍\xa0\xde(X\xd2\x15\x106'L\x13\xe0\x89\xd9\x17\x90\x96e\xe3'\x1c2\x105\xbdɲ\x1f\x837\x03x\x99\xf7C\xc0\x04O6\xe3{\x9db\xcdǿ\xa6,{\x8am3\x94\x17\u007f4\xbe\xaf\xdf\xfe G\xa3b*\xfdE\xd8\f\xc8;\xa0\xe9ڟ\x0f\xaa\xb51U\x91\x06\x04\x91%or\xc4'8\x19!\xf6\x9d\x9b\xc51\r7\xc6Y\x8f\x8d\xdd\xf0\xe73\xdd\xd4v\f\x88'\xd5v\xcc\a*A\x17㚹j\x010\xa2\xd2+\xce8\xf7\x8aj\x024\x9f\x19\x18\x03\x15R\xeb\xf42\xe2\xd3\xe9\xd16wiG\x18\xbcsu!\xaaˆ\x9b\xd7\x19\x9a\x8d|\xbf\xe0#\xe0\x1c\xbckQ\x92\aʵ'\xfaJ\x99+DO\xaa\x0f\xddU;\xa8\\\x04<\xbd\x95L\xe8UV\x9f\xd1\a\\\xcb5f\x98\xf5\x9d\xb4\x1d\xc64MEroԑ\x9c.\xe0\xe4D\x91Wo^\x1bR1Z\x87\x11\x19\x01\x12\xc1\x0ef#\xb1\x85\x14+\x96\x1a\xd5\xe9=\x95\x8c\xce2c\x04\xcfA\x02O@\x91/O\xdf_\xbc\xfb\xe9\xfa\xe2\xcd\xe5\xf3 \xe0\xc6t\x86ǂrC\x83\xa5\xf2Ҽ\xda}\xb3\x00\xe0+&\x057\b\n\xc3\xc6՜P\xb2\xf2\xb3M\xaa\xe4;cje+\xa7\xcd\x05A\xacV\xec\x1d!\x8c\x17\xa5\xf6\xde\xd1\a\x96ed\x16\x06\xb1\xe4ɒ\xf2\x85\xc1\xebkQ\x9ay~\xf9%bEBZ&\xee`\x06At\x87\xe9\xcb3\x17\u03a2Y&\x1e\x14\xca\x16P\t-\x1c\x8e\x83`6\xb6\x97\xa85\xd7\xf4\xf1%aS\x98\x92g_6\xfe\xf4,\b&b\xab\x90\xc2,\xd3\xc6#,\x163\xa6AҌ\xa1\x13\xb5\x84,;\t\x98e\x90\xb8\xb0#\xd8\xdem\xbe\x16\x12`\btL\xd8\xd1\xe6\xe8\x97\x15\x03\xb7_\x9e\x92k\xa1\xf7e\xa0\xed\x1e\x95\bC\x1cO;y\xfc\xe5\xf5ݻ\xbf\u07fc\xbd\xba\xbe\ve\xedM\xb1\xb0\x9b\xd5\xc71ɖX\xe8`\xf5a\xbb\xbfO,\xb4Y}\x10\xdc\x1dba\x8bՇ!\xb6C,l\xb3\xfa0\x16\xbc-\x16v\xb0\xfa \xb0\x9bba'\xab\x0f\x82\xda\x16\v\xbbX}\x10\xc8n\xb1\xd0\xc1\xeaÅжXh\xb3\xfa0\x88\xbb\xc5\xc2\x06\xab\x0f\x02\xdb-\x16FV\xdf\xf1Z\x18\xab\a\xbe\x8af\xf3\xdf9\xf3\xab\xc1\x8a\xaa=\x0f\xa3C-0\xe3\x80\xf16\x9f\xeb\xd2\n\x9e\x16\xf3m\x97 _\xbd\xa7\xed\xb4\n\xde\\l\x10dR\x1f\a\x9f\xb1\x8db\xad\xb2h\xc3XL\x8c\x95fǡ\xc8Y\xf7؎\xa7\xb9\x8b\"\xf1\xf8 \r\x9cL\xc9\x1b\x97a@ɫ\x9f\xae^_^\xdf]}}u\xf9.\f)$\xfe\xec\x10\x9f42\x105'\x1d\xe6a\x04^\xf6k\x0e\xc1\x02َB\u008a\x89Re\xeb*\xbd}\xf8ѵc\xf3五\xb25Q W,\x89\x99m\xe7Ԇ\xa8:v\x1cTx\xe2W\u007f@\xed\x89\x00\xbc\xdb&v\xcaO\fi\x1d\xd32v \x9f\xc0>\xb6〕\x1c\x01\xf1\xb8\nTc\x96{ը\b\xa0\xfbml\xd2;q\xb19P\xfdz\rsZf\xd6\xdb\xf6\xec\xd94D\x97\xb1c(\x8b\xfdZ\x8a\x9e\x01\x94\xe6h\xb1\xd9[{\x01\xcbG\f\x8e#\x84N\\blK\xedP\x81\xf6\xaa\x1d\xcc\xe5Nz\x9b2(o\xae\x1e\xf1R\x9eؐ\xf4\x9c-\xde\xd0\xe2[X\xbf\x83y\f\x88M\xb4cάK/\r5\r\xea\x81Z\x8f\x9dZ\fW\x1c\x8a\x17\x12\x92Q\xdc5Z8\xb9s\xd9Ϩ\xc3\x1a\xf4\xc4-\x89\f;X~\xc4iw~\xb4U\x99\x86\x9a\x17\r\xb1\xf2\x87辆[\"x\x02\x85V\xe7bet\ax8\u007f\x10\xf2\xdeXb\x0fL/'6\x1e\xa6\xce\xf1\x1a\xce\xf9o\xf0\u007f\x06\xcc\xee\xee\xed\xeb\xb7/\xc9E\x9a\x12\x81\xac\xb6T0/3\x9bv\xd7;ӷk\xd4u\x14\xce\xf0.\xff\x19)Y\xfa\xe7pf\xeb\xc7\x11hC\x146\x13\xf3H\xf4q\x8b\x91\xfc\xb5\x97R\x03peXx\xc5\x11\x88\x90\x18~\xeb\x93\x06\xbb{\xf8\x84e\xa7\xe8\x0eD\xfbL\x88\f\xe8f݊~\xa3\u007fh\xb8k\xf4K\a\xee\x1a\x01\xe1㮁'\xe08R\xe3\xa4\x16\x1b\xfd\xd2Y\xbb\x8738\v\x91\xbe$\xaa,\n!\xb5\xaaj4L\r#\b\x8bgԣ\x05\x04\xef\xf6\x9d\x91\xff\xac~Ļ#ꇓ\x93?}{\xf9\xf7\xffsr\xf2\xe3\u007f\xc6~\xa7\x86\xd9(\xafs\f\xc0\xaa\x80d\xcaE\n\x86e\x9f\xd9\u007f:\xcb\xeb\"\xc1\x04\x99\xeb\x01\xe8Q\x9a\xeaRM\x97B髛3\xff\xcfB\xa4W7\x03A\"\f\x15\xa1\x82\x92\xa3(\x01\xbbj݄\x8c\x16\xa5\xfb\x9a8\x83\x85\xa6+\x9fc\xe8\xfdksdn\xa8^\xf6O\xb1\xeb\x1a\x0f\x92i\r\x1cmU\x90\xb9\"b~f\xb8#\x9a\x02Cx\xb7 \xcfV/\x02#\x94-\x00\xc3\x05\xdbܣ\xe8Hۈ\xd8v\xecf\b\xc7\"\u07b5i؟\xf7\x12Tٔ\x03\x80^\xdc\\\xf9ZK\x1f\x11\xf1C%[\xb5m\x1fC\xbe\xf9\x84\xf3\xaf\x9fD\xcey\xe8\xc3D]\x9dSl\xef`\xf4\xbbɻ{d\f\x8b2Q\x9eօ\x99N\xed\x8fӤ(c\x99\xb9\x83\x90C.\xe4\xfa\xcc\xff\x13\x8a%\xe4 i6QZH\xba\x88\x16?~\xaa8\xc5\xfa_\xf6s\xb1\x9c\xbf\x81\x82홆%\xf14\xa0J I)\x8d\xb5\x93\xad\xbd\x8e\x02\xe9G\x93o\x15\xfdtW\x85\xea;\xdaD^'\xab\x0f\xb35k\xfe\x81n\x9c\x95\xc8\xca\x1c\xd4Ye\xa5\f\x00\x8c.M\xbe\"+*\xd5G\xb5\xb8R\xb6b\xaao\xbatנ|\xfd6\x925\x11\xe4\xb1v\x11\x8ckX\f0\xd1&\xc7@F\xa7\xf9\xe8\xcaG\f\xd8lQ\xea\xa2\xc4\xe4\xe1\x9c\xea**\xf5X\x888ϝ\x1f\x8d\x82>i\xd3a\xfa\"ƍmGA\xb5\x06\xc9_\x92\xff8\xfd\xc7o\u007f\x9e<\xff\xf3\xe9\xe9\x0f_M\xfe\xfd\xc7ߞ\xfec\x8a\xff\xf1/\xcf\xff\xfc\xfcg\xff\x8f\xdf>\u007f~z\xfa÷o\xbe\xb9\xbb\xb9\xfc\x91=\xff\xf9\a^\xe6\xf7\xf6_?\x9f\xfe\x00\x97?\xf6\x04\xf2\xfc\xf9\x9f\xbf\x8c\x9e\xf2\xe3\xa4\xf6\xd0L\x18\xd7\x13!'\x96\b\x0e\x16{\xd87\xa57\x1e\x8c!\xff\x84f\x19\xa4\x84\xe59\xa4\x8cj\xc8\xc2\xfd\xe4\xbe\x02h\xb3ܣ\xed\xf0i\x8bIF\xe9\rK\xca\xd3\f$\xd6+t>\xc0\x16|\r2g\x9c\x86\x16\f!Uz\x17\xba,!%4I\x84L]-8_ً\xcap\x8d\xbf\xe2x\xa8+5$\xcff\xbe^0\xe4Y&\x92{EJ\xaeYV\x97\x87\xf4\xb5!]o\xca`\xa8Q,\xa6\xfa\xcfIu&&؏\xec\xfc7\xf5\x9f\xf0\x87P\xe5w\x88\xe5ӯ\x9e\xef\xf6بA\tH\x1a\x98L)\xc2Ŗ\x1f\x98\x17,\x8c\xfab\x88\xaa\xae\xafZ\t\x9a8#\x03\v\x10\xb7\xbb\xeaPd\x9bX\x17\x8d\xde\aV!\xb1ch\x8eBD-\xa0\xe6\xd8S\xb68:\xd6\xe8\v\xdbf\x8cC\xb3~1Ú\xa8\xf1!\xcc\xe6\t\xb6\xfc\xc8Y\xa8\xf1A`&\xb1\xc7ȺQ\xdb\xd2\xce}H2\xbf\x14B\x93ӓ\xf3\x93\xe7[A\xad\x93x\xa8s\x96\x81\x95\xae\xb6\xc8RRmV4H\xc5\xf2\"[\xe3\xfe\x9c\xa4\xd8\xd1\xc9]\x87\x95e\\\x8c\x98 S3\xbb\xec\vB\x9d\x11%\x88\x96\xd4w\x19\x88\x9f\xab\x81f\x80kY:]\xe5\xf4\xe4\xe7\x933\x02:\x89\xcd\a&\xe4A\xf0\x13\x8dd4%w\x82\x94\xaa\x9ex4̵(\t\a[\a\x00\x1e\x8b\x8c%Lgk\x14\xf3\xd10E\xa9m\xf1El\x90\x88\x85\xb6.\x1f\x99v\xf7t\xe2\xc1\xce\xc9Wxڭ\xaa@\xa81\x86Vp\xbe\x04\x9a\xe9e\xfc\xfd>C\x97\\\xf0\xc9\u007f\x83\x14XƋ;\x88\xb1ޝ\x88\xd8Ys\x1c!\xe3$ƍ\xb0\xf9vd\x12\x83Q\x10\xbe\x81`\x95\x93lu$\xbd\xbb\xbb\xf9\x06t[\x84E\xa1\xc3\xcc\xc8\xe7\xe7\xa3K\x1b\xe4\\Ȏ.Ç\xc7P\xf9\xb7\x14*\n3d\xbb_\xabҶ\xfb\x845Rx\x9c\xcf\xd9\x0e-\xdai\xc9.\xa3\x91\\\xdd\xc4'b\xfd]\x94\x06[3:\xcb\xd6U\x15Y\x05\x9a<3S\x8fO{f\x1c\xf7\xf3\xaf@S\xac\xdb˕\x06\x1a\xa9\"\x1d\xe1\xa85\xe6r\x1c\xa5\xc6\xf6\xdd]Z\x90\x03v\xb4Y\x02\xcb\xd1\xfe\x14\xcfT<\x9b\xb4\x15^$\x14\x96\xfd\xba9~$&\xb9\xc5+\xec.\xb8\xdfg\x83r\x13\xa9o\u007fl\x97\xe8j;G\x16\xef\xf0\x83q\x9c&\x1e\x8a\x01\xb3\x1b\x9e%L\x06g\xab\x92\xae\b\x98\xc5\xd5 \x98\xee\xeeexZ\xda\xe68\xca\xfd\x92\xe8\x12^\xcd\xf1\x94h\xc2\xe9}|<\rK\xb5$q\x89\x88\xedׇab\xe0\r\x052X\xdf\xc2\xcb<\xd1\u05cd\xb7/\x1bkAh\x92\xc4\x15\x8a\xb2\xc3u/G\x86\xa5@\xaeB\x13\x1c\xeb1\x98\xc4\n\x11\xee\xbf\xf4cЅ\xb7\xe3\\w;\xcae\xb7\x8ez\x89\x92\xf02\x9f\r\xe0$U\x01\f\xa9k\x82q\x1b?\xc0\x99R\x15ۼ\xc6\xe9\xf9\x10\xee\x10}\x0fU\x18\xca\x17@^\x98\x99\xfe\xf1\x0f\u007f\xf8\xfd\x1f\xa6\x88\x86h\xa8>\xb0L9\xb9\xba\xb8\xbe\xf8\xe9\xf6\xfd+,\xe2\x16K\xe5Or\xb3\r\xcb6D˟vd\x1eA\x19\xec\x95\n\v\x9d\r\xd9ack8\xff\xb7u.\xab\xd88[sh\x81\xec\xe6#\xf1\x99!Bl\x82\x87\xe8C\xdb\xd9:)nEr\u007f\x04K\xfb\xe4\xeeՍ\x05U\x1b\xdbQ\xbb@\xb9w13\xbe\x12\xd9\xca\xf6\v\xbc{u\x83\b\x8a\xdbY\xf36\xc6\a\xd0շ6s\xf47\xe1mjN\x14T\x96\x17\xaec&%\x12hƔf\t~\xab\nSD\xda\xf7\xe2>&\x8b\xe7\x93\xf1+\x9c\xbc\xf5\xe9@\xe8b\x88>\xcd\x1b\xae\x89\x96\x8ba\b\x8bh\xb8&b\xaft\x8d\x1a\xc9\xd15\x12+\xea\x85\x1c\xa6Ǐ\x1aɧ\xad\x91|n22\xfa\xd5B\u00ad\x16\xc5\xc0\xac\t\v\xe4H9\x13\xbe\x13ݮ\xa4\x06\x92Fl\xa9\xed\x1d}qsUy\xc7E+\x11\x01\x93W\x82\xa1\xaa2Y\xfa\xd8\f\a\xa5\xce1=\xa2,\xac\xe7\xcb7\x94\f\x8fX\x15\x12\xb0\v\x9f\xe0gUE\x02D\ap\xfb#\xe8$\xfc\xb4\xa0O\xc6厸x\xa2߮\xa1i\x18\x89\xa4j\tة\x02\x1e\x99V\xbe\xdb5U\x82\xdb\x10\xae\xdb>&\xc2\x03\x98L\x91\x82*e\x03w\xba^\x84\xfdȍHO\"\xa2\xb7\x8d\t\x91\x85\xa4\t\x90\x02$\x13)\xc1\xaa\u007f\xa9x\b\x9f\xe7\f\x16\x8c+O\xbff\xa2\xfe`\x18]\t\xa2\"\xc2u\xe7\xd9w\xad.Rخ\xbcԉ\x88\xe0\xc3\xeeu\x87\xc5\xcd\x04\xa2\u0ad38Ms|J\x9ae\xeb\xfa\xa0\xfa\x9b\x9e\xfa\xf8\x9b\xb4\x9dI\x14\x8b\x84zݛ\x99D\xe1\xd1\xc0V\xe6\x919\nuV\xd2\x10\xf2oQ'S\xe6T%\xcb\x01m\xbeHx\xfa\xf2\x98\xdatp\x8c\xa9M\xbdǘ\xda4\xa66\x8d\xa9McjӘ\xda\xd4\vĘ\xdaT\xcdhLm\xda3\xc6Ԧ1\xb5\xe9\xf0\x18S\x9b\xc6Ԧz\x8c\xa9M\xbdƘ\xda\xd4c\x8c\xa9Mcj\xd3\xce1\x06\x12\xc7Ԧ_c qLm\n{}Lm\n\x18cjӘ\xda\xe4ǘ\xda\x148F\x8ddLm\xfa5j$\x9f\x9b\x8c\x1cT],\xf05\x9f\xc7s#\xc5l@\x99\xb1\x1b\x8cճĥ\x01\x89ytm\x1d;\x9d)y\xd5J\xcfpM\xf8m\x95\x96 \x88.ѧNO\x1aZ\xaf'\xb8&\x93/\n\xa6\xce\va\xff_\x9dS\xd0H&\xb0\xfe\xb5\x10\xe1\x10+|c\xb2\b\x0ee\x10D\xf1\xba\xfd\xd9\x03\x98\t\x10\f\xf3\x98\x99\x03C\xb4\x9b\x01\x19\x03{\xb2\x05<\xd8(\xe6ڝ)\xb0\x11\xf1\x8fN\x05qY\x02\xdb\xd1\xfe!\t\x17\x98\n\xb7\x15鏄Xe\a\xec\x8a\xf2ǩ\xe4\xea\xf8\x11\xfe'\x88\xee\x1f?\xb2\xbf'\xaaO֢\x8c\x82\xb9#\xa2\xef\"\xf3\x91\xb4\xd9\x19\xcd\xf7Q\xf98\x98ݑ\xfcVD>\x96\x98\x06E\xf1\a\x04\xa7\x06*\xd7\xf1\x9e\xe4hM\xc9%\x1b\xdf-%\xa8\xa5Ȃym\x8bϾa\x9c\xe5en\u06042쑭\xaal\xe6p\x1a\xf1yNV\xeb\xb0a8\x03\x98\xa5\x80M,)\xcbbJ\xd5ai\xbd%E\xff\x84*\x93\x04 5r\xf2u\x1d\x02\x0f\x86\xf9\xfbi\xb5r\xdbU\x83)\xf2\"\x94\xf2lCE\xb4\xef~\xff\xbb\xa8ݏ\xb1\f#\x136\x0e'k \xe4`L\x0eO\xd4\x18\xa2n\xc4:R\x9e&9cOb\x06\xf9{\xa4hؓ\x94AX\x9c\x98=RB\xc6 \xce90\x11cO\x12\x86\xc3Q\xa4\x02\xb2\x9d\x80\xb1\x99H\x11\x87\xf2\xf8\xe4\x8b\x01\xb2\xed\xa9\x92.v'\\Ē$\x19\x9cl1<\xd1\xe2\x88\xdd\x0e\xeb́\xc1\xdd\xf1\a\xb9\xe8\x8e\xe09\x1c\x98T\xf1Th9F\n\xc1G\xec>\x1b\xbd\xabC\x92'\x06&N\fI\x9a\x88M\x98ؓ,1\xc4\xd3<0Qb\x10\xf9Ć#\xa2C\x11\xc3\xc3\x10\x83C\x10{\x12\"\x86\xf4\x84\xed\f=\xc4\xf6/\xf4\xa3\x1dv\xd8\b\x1fD\xaa\x85͐\xc3QC\aG\x0f\x1b\xc4'1\xecO`h$\"\xc4\xe2p;yaH\x12\xc2\x00\x8a\x8ee\xfeQA\x95h\xa6\xcd8ӌf\xaf!\xa3\xeb[H\x04O\x835\xa3\x8d\x86H\xd5yU\x16\x9c\xb5\xcc\xc33!Z\xb71\x97\xd4u΄\xd4_\xa8\xf5ѐp֊\xea#\xa1\x18\xa70\xab\xd7\xedۓ\x1f7nA>\x9a\xcb\xc0^)=\x06\x11\xfcU<\x101\xd7\xc0\xc9)\xe3\x9e\x0e\xc2\xfd\xa8\xb5\xb3\xa0\xf6\x17U\xc7\xda\xfc\xf5\xc5W\xe1\x9c\xcbN\xe6\xf3u\xec\xa0kK\xa9\xa7\xf3\xeb\xb9\x0f\x1c߱\xe7\x00\xcf\xcbp\x1f}˹g\x1d\x84m\xfe\x1e\xbcyu\x1b\xbe\x178o\xcfM\xd0K\xed\xca6D\xc0\xfcL\x89*:\xed\xec`\xca\x19\x89\xe8<\xb6/ݬN\x1d\v\x06\xbb#լN\x1b\v\x9f\xe8\xae4\xb3\xa8\x94\xb1\x8f\xee\xe1\xdcH\x13\x8b7?w\xa4\x889\xf5,R\x89\x8fN\x0f\x1b\xed\xb0\xc0\xb1'\rl\xb4\xc3>!;\xec\xf3\xb00\x1a\xb5N\xbe\x914\x81\x9b\xa3\xa9\x99\x9e]\x91\xb4\x94ԉ\f\xaf\xe0E\xd9\x1b\x86\xc9p\x80\xd4r\xaa\xaap\rV\\\x99\x97YD\xf1\xaa\xb2\x10\xbc]\xfd\xc9\xe6T4\x8b\xb8\x04\x03u\xd9.\x1d\xabv\x8aR\xcc\t-\xa4\xb0j\x1f\x91%\xe7F꺳d\x90bl%\x15'!\x9b5{\x14[\x98\xed2*\x16V\xc1a\x11\xf2\xe5a\t\xdck\x99n\xc2fvs!\x136\xcb\xd6dI\xb3\x98\xf0\xcb\x03\xd3KB\xc9=\xcb27\xcd)\xb9\x05M\xf4\x92\xa9Hgj&\xf8\x027\x83\xda\t\xc3c\x01\x89Q;\x92\f(/\x8b\xb8\xf5\x1beu-J\xe9\xd7\xef\xda\xc6\xf9Y\xc6$mp\x96\x9d\xf9\xad>Q\xfb\x0fl\x04bm\x82b\xa9\xc0\xd7iz`\nΆ`ַ\x19\xb5\xe7\xc0\xae\xbb\x90b\xc5RH\xc9l\x1dG\xff\"E\xaduJ\xde#<\xcf\xf7\xb9\xe0\x13\x0e\vjl\xa3\xf0\x93j\x85\xb8=\xf3v\x9e\xb6\x1e\x05OYBu\x84\x8d\xa5\xb0\xb0^]N\x8f\xac\x18E,4(7\x18\xe8)\x17D\xa0R\\r\xa6\xd7\x18\x1b]\x96\x9a\xa4\xe2\x81?\x9fb\xeb\xd9\x18&E\xc9\f4u\xf7Zm+A\x14X\x8a\x00\xa7\xb3,F9\xc1LܻN\x02%s\xa0\xba\x8c\xe8\uede0\x1a:\xfd\x01\x96\x1e\x8e{\x1c\x98r\x11\xd09)\xb9\x82\xe0\xfb3\r\xfb\xf0\x8f\xff\xfa\xe1\xecC\x96\x83(\xf5'\xe5 |X\xb2d\xd9\xf47\xb0\x1c\x14\x11\xe5\x90kkZ\x90\x17nZ\xdd\x14\xf1\xc4\xed#\u007fq^\xc5(\xad14\xc4\xde\x117ڬ\xe6W%N\a\xad\x9b\x1a\x1e\xf6\xfa\xfa\xf6\xa7\xef.\xfer\xf9ݔ\\\xd2d\xd9,C\xca\t5r#\b&ʕ%]\x01\xa1\xa4\xe4쟥\xed\xe0\x9e\xc4E\xa7&m].\xf0]O\x05a\xd6ِ\x8a\x02\xa1\x89έ\x10\xa0\xb1`&9-&\xf7\xb0\x0e\xd2y\xe3\xb1\x14\x85\xa3\xedI\xdb\xc5\xe7\xb4\xffM0\t4e\x9fP1\x05ǥ\xeayuWU\xc8\xc5*\xd0i\x84֞\x87\x0e<-\x04\xe3Zu\x95Z\b\x02\xbbm2~2)\x8bc\xa9\x85\x8e1\x96Z\xd89\xc6R\vc\xa9\x85\xb1\xd4\xc2Xj\xa1{\x8c\xa5\x16\xc6R\v\x9fU\xf2\xf4Xj\xa11\xc6R\v\x11c,\xb5\xb0k\x8c\xa5\x16z\x8d\xb1\xd4\xc2\xf6\x18K-t\x8e\xb1\xd4B\xc7\x18K-\xf4\x1dc\xa9\x85j\xfcr\xae\xf8\x8c\xa5\x16>\xd5+>c\xa9\x85>\xe3\xf3\xb8\b5\x96Z\x18K-x\xbc\x8c\xa5\x16\x82\xc6Xjac\x8c\xa5\x16>W\xa2\x1aK-\x8c\xa5\x16\xc6R\v\xdd\xdf\xfd\xb5\xdbac\xa9\x85O\xd5\x0e\xfb<,\x8c\xb1\xd4\xc2Xja,\xb50\x96Z\x18K-\x8c\xa5\x16\xc6R\vc\xa9\x85\xb1\xd4¯ȫ\x18\xa55JP\xa2\x94I\x98\x1d\xdc&\xb2W\"/J\r\xe4\x9d\aU)\xcbA\vGY\xc2T\xf3F\xff\x87\xedD\x98\b>g\v\xa7\xe8\x9d\xe7\x94\xd3\x05L*\xfcL\xea\xfbw\xe7\x1f\"7>c9\v+\xb2`F]\xb1\xe0f\x80\x87#Ҡ\x1ejN\x0f4\xa6\v\xaa5H\xfe\x92\xfc\xc7\xe9?~\xfb\xf3\xe4\xf9\x9fOO\u007f\xf8j\xf2\xef?\xfe\xf6\xf4\x1fS\xfc\x8f\u007fy\xfe\xe7\xe7?\xfb\u007f\xfc\xf6\xf9\xf3\xd3\xd3\x1f\xbe}\xf3\xcd\xdd\xcd\xe5\x8f\xec\xf9\xcf?\xf02\xbf\xb7\xff\xfa\xf9\xf4\a\xb8\xfc\xb1'\x90\xe7\xcf\xff\xfce\xf0T\x8fl\x9c\xb6\xcf\xe3wH9uJ\x11\xf2\xed\x9c>\x1a\x06\x1bN\n\xb9(\xb9\xb6\xb7l\xec1\xafN\x84M\xc3\n=\x94\xe4S9\x98d\x88\xa1\xed\xf2\xd1\xc6\xf3\x190\xc6\xf3i\xcf\xe7;G;\xed\x13\x1a<\xc7ܩL{Nh0L/\xb8\xd1Э\xe6\xc9\x14\x119\xd3Ɯ\x8e\xb9f\xdc(\xa4\x82WR\x9a.j˫µ\xbc\xb9\xbdM\xc1T\xf3\x82F\xe3R\xb8\xf0\xb6o\x8cZJy\x1d\xa7@\x9e3Ia\xce8\xa4V=\xfd\xf5\xf1\xbb\xa8\xd7\x14$\xa5dz\xfdJp\r\x8fA\x8e\xfd\xf6y\xb9m\x03\"v3\xc2\x0f\x8d\x9f\x10\x11\x85\xbdv\xb4Q!\fo\xfe\x85\xa9\xac@d\xc9џe\xeb\\\x80\xb6\xce\x1d4\xc3\xf1f\xcf\xc6\xe4\x83\xc0{\u05cb\xf5h\xfd\xb3d+\x9a\x01\xd7\r\xe87h\x1c7?\xf0\x14\x1a\xb2\xa6꾦J\x98\x18S\xa9\xc2۹G+\xfe\x04\x8f\xfa\x83hǨz\xdcH\xb6b\x19,\xe0R%4\xc3\xd32\xcc\\\xbe\xd8\x015\xf8\xc0\x1bTH\x91)\xf2\xb0\x04É\b\xf5.D,\xb2\xb0\xa0\x11Iٹ٫\xc2ONY_\xa7Q\xf4\n*\rUx\x1fe0`\xacE4\x13\"s7&\xb3u=\u007f\x16\x17\x82\xe2\xe2'\x0e\x0f?\x99\xd9*2\xcf\xe8\xa2rM*бi\xa2\xf5Q\xadܱG\xdb0\xa6P\xae\x13\x9a=е\xaa\x1d\xdfqW\xcb-ė\xe4\xc5s\xe4\x0fT\x91j\x8e)\xf9\xdds̰zuq\xf3\xd3\xed\xdfo\u007f\xbax\xfd\xe6\xea:\x8e\x8f\x9b=\x83\xc0\x98\u007fB\v:c\x19\x8bQ<\xb72Ǜ\xc0Pp\xa6\xe9y*E\xf8\x95%ķ\x8f\x85\xd4\xf2m\x98w\xa9Y\x11\x0e\xc9nޚp\xb8\xefRR\xae+\xa7w\x83\x1ce\xc95\xcb?\xe8\xa5n\x9a\x0e\xbf\xd0}\x91\xa6\x90\x0eC\xc9\xf1\xee¼\xf2\xd3X\xd7\x05颠\x12r\xf3\xf6\xf6\xea\xffn\xd0\xe6\xba\x18\x92\xa0\xff\x11\xee\xa2\x12b\x0e\xd2\xe0=~g\xebW\x8c\xbb\xbcw|~7\x8e+=`XN⻒\xb7\xcb\xd9\xd6p#\xf4\x93\x14\xa6䦊\x14\xb7\xa05\x98z8\xaf\x93@\fH\xae\x19ͲuS\x13\xd6\x02k2\x84\a5\xf9\x8e\xdc\xf59\xcdT0#\x8f\x97\xc6F\x91yc\xcc\xf7A\xbbXA!)p\xa1\x9d\xc7/\xea4\x889B#֧и,ВxQJf-\x8c\x99\xf28\xbf\xa9f\x8e\x11\xa6\xf0\x94\x0f\x05\x9bf\x9c\x13ƕ\x97!*\xe8/\x81\xa6XS\xa6\xa0zi\xf3Ts\xaa\xee!\xb5?D\xea\xd8UH\xd6̸Z\xfaݺ\x80\xe8x*\xea\xd66\xfb\x17\xe3\xbc\xe1\xde\xd8\x01\xe5\xbdh\xfa\x96g\xebwB诫2&\x83\b\xf9{g-\xb5\xe3@\xc1HYb\xd9n3\xbf\tn\"\x96miVZq\xd4\x17c%|`\x06!K~\xa1\xbe\x91\xa2\fV\x05\xb6\x94\xf5o\xae^#\xbf,]\x86\f\xd7r\x8d\xa5\xa9b\x98D\xfb\xccU\xf6\xd8\xdf\\NST\xb6M\xc5\x1e|\xb8\x9e\xbc\xa1kB3%\x9c\xe1\x18\x11\f\xee\xf2\x90\x10窉\xb9\x19=\x13z\xb9\xe9\xd3A\xf6\xb0\xfd\x9d\xf0\x02Fu\x82M\xe5\xc94K\x18\xe2BB\xb0\xf4\x1e\x14)$$\x90\x02O\x82\xa9\xf7\xe3\xa4A \xe5_\vn\xd8\xcb ڿ\xf2\xf9?\xd6e<̪\xc7L%g\xd3S\xccWB\xe6R*\x9069L\x96\x10\xb7\xf1ߖ3\xc8@[G\t\x16\xb9\xa5\xdaz\xfeXN\x17ᧉ\xeaJ\x14jA\x80\xabR\x82s\x9ak\x92\x8a\b3\xc0Ց2K\xff\xdb\xd5k\xf2\x1595k\u007f\x8e\xe4?\xa7,\x8b\xa9\xfa\x82\xb7?6\xb8\t\x9b\xfb)\x1a\x94\x86\xeb\x04\x1c\x8d}iY\xf5\x19Ⴈ2Yz\x9c\xc6x\x87\xbc\xf3\xcaݐ\xc2+l#k\xfa\x04X\xd3@\xc1\xfa7\x05r\xb0\\\xfd\xdb\a\x90\xabC\xdc`\x867\xb5w\r\x19\n\xc9AӔj\x1a\x13|+y\xa3:\xe2\xc6Q\x88\xa1\xdd\xfdG\x01I;\x18\xe6\xaf\xec(|\x1c)\xad\xe0;\xc6\xcbG{;`\xb8C\xf9\xf6\x12\xc1\x11\x17J\x8a\x91(3 \xb4(2f\xcb\xf7m\xb4\x88\xb9j\x91n\xdc\xdeo\x9b\x9a(\x1eh\x96\t\xa3fD\x84\xc7%\xe5\xa9ȷ\x16o\fQ\xa0\x11Vqc\xc1\x1d\x87s\xd7a\v\x97\xdd\xf5\xe1\xfc\xb5\x1d\xb6!\xae\xfb\fV\x10Q\xa5|\xb3\x89\x92\x81b\fRO5\b6\xca\xfb\x99\xd1\x19dV5\xb4'Gm\x9f\x9ch\xafh\xa4SU\x8alxɋw\"\x03\x9b\x1b\xef\x91d\xc0\xfebp\x84/\x0f\xc5\x11z\x9fZ8\x8a\xf6\xa2\u007f\x8a8*#4<\xb2\x89#\xa3&\xb6qd\xc0\xfeBp\x14\x1d\x82P\x90$\"/n\xa4\x98\xb3\xf0ú%\xfa\x1d\xb8:9'\\\xf4\x97\n\xba\xb2\xc8Q\x8fD\xe0\xe1\x1a\xb9\x9b\f\x95\x8dKOT[\x99\xe7nq\x05\x03\xfd\xff\x1a*\x04r\xed\xb3\r\xbd\xc2}5|\xb6\xcd|\xa1B\xa4\x1e\xd0\a\x95n\"\xa1\x19v$\x8a\xa3\v\xb2I\x1b\x9b\x00\a\xdc\xe7\"\xb6\xb1\x9d\x83\xe3s\xfa\xb0%\v\xfe\x12\xe1\x19 \xbe\xb9\x9fH\xa1Q;\xde^\xc0\xbb\xb3\xf7e\f\xec(\xc0\xfeZ\x9c\xd1S|\xf2U\xeacW\xe6\x8bq\xd3\x15\xaeT\xf6\x9b\xaa\xa7\x92A8\xf04\xb6\x12TA\xf5\xf2\x8cH\xc8\xf0\xe2\x9egh\xf7֡u\x12\xb7O\x8d\x05{\xce\xe07\x0e\xf5l&x\xdc%v\\5\x86\x05\xbcF{K\xccm_\xe2`\xff\xc1\x0e\xf7F\xed\xae\bw\xa6\xecqoXwE0ȏ\xe3\xdeX䊾\x92滚\xd1\xec\xb6\b\xef\xf0C6i\xf9\x9b7\xb7\x17m\x90q\x9c\x1d\xf3z\xa5U\x8f\rLBӜ)\xc5\x04'\x0f0[\nq\x1f\x05\xf7ԧ\xce/\x98^\x96\xb3i\"\xf2F\x16\xfdD\xb1\x85:w'{b\xb0\x13\xd7\xe4\x84\xf1\xcc\xdfz\xb0\x1eB\xae\x95\x8f\x18\x98\xc5\xc4iY\x15V\x91\x00]\xa7B\x97ຍ\xf6\xeb\xd8\"UxcძTۤx\x1dYP\xfc\x009F\xe3\xc5U\x97iT{\xb2\x84Y\xefK\x9c\xb85{iC?\x1f\xbe\x8d\x805\xd5\x12P\xc3\xdb\b\xfc\xb5\x86ER\xb0\xc5!\"\xed>6o5\xf4\xae\x15\x12\x1bю\xb4%O\xb0v\x9b\x9b\xe2I\xd3\xe9\x10Uǃ\xf8\xa3\x82ަ\xacX\xd2\t:\bP\xde\x18\x81\x16\x05\xd1\x1b;K\xc1\x85\xb4\xc7ۨ\xf4\x82G\xf4\xfc\xb6\x03\xfdW6\xdf\fi\xd6)\x1a\x8d\xedz\x15\x9f\xeei\x86K\x87\xc3\xf46\xac\rd\xd4\x16\xeb؉/S\xff\xc0\xf4\x12\xdb7-\xa1\xf5\x81x\xccJP\x98\xb0\xc4\tH)\xa4\xbb7\xe2\x13\rb\xeb*[\xfd\a/\xb7\x18\xa6@ͿNԐ\fZ\xd2j\x1fk>\xa0\fǁ\xf9\x1c\x124\xd9\x1b;\x17\x05܆hN\xeb~c\xeej\xb8aB曑\xc7+g\x8f\x06\x03M60\x10\v\xbe/V7\xc8\xe7SB\xae\xe2\fQ\u007f\xb1\xfb\xccp\x9a&tw\xb3(\x96\x14x\xab35n\xa2\v\xe7\xc5I\x06\xc0\xac^3\xa3x\xc9\x10\x93oA\x9a9\x17G\x11Ø{မ#\xe8\x98P\xacOl;\u007fc+\x1f#\xce9\xb6\x99\xc3\xe1\xfdc\xd11\x84=\xb9\x1c\x84\x85\x87q\x89͙:j>\aّ\xd3\x11\x9f\xddD\x9e:É<]\xb4\x99\x1c!\xe2L>J\x94'\xeeⷭ\xe8<\xb0\xcd\xefm\x03JãiT\x8f\xa0\xb5;qj\xab\xdaWU\xb1\xb3\xb5\xaf\xc6\xcf\xfe;4g\xbe\xdd~\x9e\v[l\xa0Y\xea\xde\xf55\rSSJ\xaeY\xe6\x83Wy\x91\x19\xe3\xb15\xe3\xe0lH\x84\xd5\xe87|V!\xa3no\xec\n\xfd\x87\x9d\x97\xffB1T\xb54\xf6\xf5\xbco\xaaO\xd9\xe8G\xa0\x06\xec\xda\xcfc\xc96-|\xbc\x8d\xa4l>\a\u007f\xc39P\xec\x15T\xd2\xdc\x18\x0e\x8a\xb8\xd4\xdf\x19,\x98\xbdfZ\xa9V\x81\x11\x8a\xaaHؙU\xf7\x98&9[,\xad\x97\x86P,E\x19^nR\v\x92\t\x9a\x12\xe4\xe2B\x92\a*sc\xb1\xd0d\x89\xf5\x1b)'i\x19|\xf0\xb1\x93\xdcz\xa24\xd5@D\x01\xb6\xa4\x84\xdd\x1b\x83o[]+\x8cL\xc7\xe6\xd3c\xf3\xe9\xdecl>=6\x9f\x1e\x9bO\x87\x8e\xb1\xf9\xf4\xd8|\xba\xf7\x18\x9bO\x8fͧ\xc7\xe6\xd3v\x8cͧ#\xc6\xd8|z\xd7\x18\x9bO\xf7\x1ac\xf3\xe9\xed16\x9f\xee\x1cc\xf3\xe9\x8e16\x9f\xee;\xc6\xe6\xd3\xd5\xf8\xe54=\x1b\x9bO\u007f\xaaM\xcf\xc6\xe6\xd3}\xc6\xe7\xd1\x1anl>=6\x9f\xf6x\x19\x9bO\a\x8d\xb1\xf9\xf4\xc6\x18\x9bO\u007f\xaeD56\x9f\x1e\x9bO\x8fͧ\xbb\xbf\xfbk\xb7\xc3\xc6\xe6ӟ\xaa\x1d\xf6yX\x18c\xf3\xe9\xb1\xf9\xf4\xd8|zl>=6\x9f\x1e\x9bO\x8fͧ\xc7\xe6\xd3c\xf3\xe9_\x91W1\xf2\xa6HʂZ\xb6\xf5\xe8\x16\x10S\xfb\xc4\xd7\xee4\x8c\xac\x9c\xcfA\xa2\xf0\xc5\xd9y\xe5(\xee\x12\x98\xef\fU\x89n\x97\x11\x8b\x8d\x02%\xd0\xd4ּ\b\xf3\vvN\xcb\x17!\xc5\xf6e\xf6^j`x\x80\\\xbe\xfd\xbav\xbaƴ:\x88\xbb\x1d\x88\xeby˓\xf8\xbbB5!tTg\ríM\xc0O2\xa1\xdc=YDv\xb2\xa4\x9cC\xe6\x94n\x16\x86\xd9%Ud\x06\xc0\x89(\x80[\xb5\x85\x12\xc5\xf8\"\x03B\xb5\xa6\xc9rjV\x10\xe6=sD\xe0\xba\xd6\xd53UZ\x02\xcd-1H\xc8C\xfb\f\x9a)\x12\x9aH\xa1\x14\xc9\xcbL\xb3\xa2\x9a$Q\x80\xa52\x02\x93\x96\xae\xe6\xf5\x06c\x92x}\x01\xf5\xacZE\xf0\x1cm\x19\xb4ƙ\xd7T\xea3l\a\x9b\x17zm\xefR\x85\t>\xec\xda)\x95&Iƀk\xb7j[\x9f\x11\xe7yFBs\xe3\xf1\xfa\xae\xdd\x05\xe5P\xcbS\xf4\x8a\x14Zٛ>q\x13uSL\x99r\xde7uF\xa8\xf6\x822\x98\xe8=-!\xd9{\x05\xce\xce\xda\xfd\x149ͺ\xa4\xbf\xaa\xaf\x9a\xd5\xccp\x9e\xd10\xc5\xd03\xa5\xb3V-\x87\xda>\xc4$wd\xabA`\xb1\xec\x90\xc5\x02\x1e\x1c\x0e+\xc3? \x01\xb6B\u007f\x90\xe1\x8cA\x107\xb9\xe8\x933ц\xee\xfa\x06\x94\xa2\v\xb8\tL\xb1\xd9\xe5 \xc6,\x9b\x9a\xb8\x02\r.\xacF\xa6EC\x87\xab/\xa0\xb4-\xd0 \xb0\xb9]ces>H\xa65 \x11c\xe7*\xcc<\f\xcc\x03ߚ\\\xf3z\xcc\x1b\xffA\xfb\xa1P\xaa5\xfa\x14O\xed\xa5\x8e\x19\x90\x99d0's\xc6i\xe6\xeea\x84]8\xc2~\x16T\x19ҤJ\x81D\x9f\x8bs;y܄\x11\xec\xf7\x0e\x91Z\x96<\xa1\x8d.\x97X\xfd\x8e\xcd\xc9\x02\xefz\x04\x1a\x13K\xcaɿ~\xf5\xef\u007f$\xb3\xb5т\xd18\xd6BӬ\xda\xc0\f\xf8\"\xb0\xb6\xbf\x13O\xed:d\x15%d,g\xa1n!c\f\xfc\xee~\xd6\x0e4\x9e\xa7\xb0:o\xd0\xe7$\x13\x8b0\x9c\xbe\xf2\xf7+\xab;\x93!\x8a|\x94k\xbf\x83\r\x88\x8c%\xebhF\xe0\x9b琥x\xb0\xae\xbc\x81'\xb6\xbe\xe2X\x88\xa2\xcclJ\xc6\u05fe\xb2d\x10\xc8R\xc1v5\xacN>\x18J\r~j\x9b\x1d\xc2\xed\x95)\xb7\x940\xa5\xc5\x15\x9es\xa1\xf1\xaag\x0e\xfa\x89\xbf\xa6Y6\xa3\xc9\xfd\x9d\xf8N,\xd4[~)e`\x9b}\xa4~\x8f\x8f\x8c\x1a-fY\xf2{ly[\xd7\x1a\x16a\xd2V\x94\xba(\xb5\xbf\xe4\xddt\xef\xfa\xcd\f\xae\aY)h\xde3\\\xcf\x0e\x1e\u0379E\xf7l\x18;p\xc5w,w\xc9Ģ\x9a\xb7\xf2\xcc \xf4F\xd0\xef\xbe\xfa\xd7\u007f\xb3,\x8b\bI\xfe\xed+\xbc2\xaaά\x10C\xdd\xc0(\xb29Ͳ\xd0`V\x93\xc1\x18\xa2\x9fv0\x89'\xe7\x11:\x9e\x1d<\x89\xc9}w\xf7w\xb4\xb7\x99V\x90\xcd\xcfl\xed\x11\xefA\f\x02z\x82J܉\x93\xb2X\xe4\xe6#\x18\xb4+\x91\x959\xbc\x86\x15K\xc2\"\xfc-T\xb7\xa0\xf8HPƔ&\"\xac\n\xc4,\x13\xc9=I\x1d\xa0\xc6\u074c\xcd>\xd6!\x98\x89\xb8\x85\xb2su\xf5\xfd\x13\x12ڌ(\xa7EQ\xd5r\x90\xf4\xa1\xb5X\xe4%\xc1\x17Phl\xa0:>\xab\xc3N7Ta\xf7\xef6\xb0Z\x03\xf2\x04S\x84J?;\xdc\xcd뭆T\xbe\x83^T\xae\x81\xdb\x13\xab\xa7\x99\x9dC\xce\x1c\x1e^\x1f\x90\xf4\x10w\xa7\xa7\x85c^\xe5\n\xe4T;\x9b&2\u007f\x06\xa9\xb6\x00\xa9\x982\n\xcc{<\x13\xaf2\xca\xf2\xf8\x1b\xfe1\r\t\x06\xb4\x80\x8d\xc9K\x984\xe84\xf0\xc5`D\x0f\xaa{\x14v\xb7Ų4l\xe9\x1b\xcf\xf5oD\xea\x00!\xab\xb6m\x98\x8d)\x1bL\x0e\xbb\n=\fR8\x86\xb2\xfd\xf75\x8e\x9a\\߮3\xfc8\xe3\x01\xb20\x1d\xb3\xff\x18\xec\x1b'\u007f\x04\xee\x8d|\xdb-chݹ\xa6\xc3\xc6\x11T\xc3\xf4r>\x92\xa9͍\x8d\x00o(\xc8M\x8f\x9c\xbc<\xf9\xa0<ܢ[\x8a\x82.\xd0\x1a\x19\x88\xf5Mp\xc3\n\xcd\x1a3\x19!V=c\x10.\xa4Um\xf3(\xa0\xf6B}-\x87\xbd\xf9\x84\x95\xc7\" >\xd05\xa1R\x94<\xb5\xb1\x87:(\xf5f\x03\x1dׂ\xc7L\xd9E\xbf]\xa5\xa9\xaa\xa6-\xa6\t0N^L_|\xf5\xb9\t~\\Ɇ\xe0\x8f,\xfc\xdc\xe0[\x1f\x14\v\xbee\xfb@L\xbcq.ֺ\xc3zT\xd9I\x1b\x03B \x0f\x92iG\xcd\x0fL\x019\r\xf5\x9a\xfb!d\xb3\x96\xe5\xf3\xb6K/\xaaw\xfb\xb0\xa2\xa7\xaa\x9c=\x81d\xb0\f=\x02=Ȅ\xba|\xf1*\x1ef\x87Xi\"\xfdYL\xa7\x8fS;\x9b\x13[\xf5\xea\xf9\a=$n\xcb.\x1f\x8b\x88\xceq\xadm\xbb|,(z\xfd\x8bz\xffb\xceI-\xc2w\xef_\x04\xdc\xddj\xc1_`IWQ\xf2O\xb1\x9ceTf\x98Zvk1If\xa5&\xc0WL\n\x1eu\xfb\x82\x90\x15\x95\f\xab\x8dK\xc0Z\x90\t(\xf2\xe5\xe9\xfb\x8bw\x98\xa1\x1dS\xb8˖\xe9t\xfbS*[^|(F\x1b\x8b\xdc<\x045IG\xc0\xb5\x87\xc0\xe3\xd3P&j\x00\x1e\xbf4\"U\x89\x90\xbc\xd4%Ͱ`[\x92\x95\x8a\xad>\xa4,\x8a\xb5\x1c+]\xfb\x17d8\xba\x92\x81\xafY\x10\xbf\xd9(\x8fX3\xf2\xad\n\x84\xc1\t\x1b\xa8\f\xd6\x15n;\xd3j\x02\xe9\xd87\xa8j&\t;\x87\xba\xab\x9ej\xaf\x10\xba\x9eo\xa1\xa9K\x1b\xd9\x069]|\x04\xd7z(M\aQe0=\x86Q\xa2\xcb\xfb\xec7\xf5\xb6Zl\xdft=\u05ec\xd71\xa7\x8f\x98PI\xf1\xb8\xf6\\\xa1\x98\xe3,\xc8{\xc8@\n/\x96\x1e(\xd3\xd5}Sƙ\x0e\xee,\x81\x86\x93\xad\xa7\u070f\x00\x82\xb6\xbe\xf7\xbe\xf4|\xf0\xf0\xb6\x1d\"\xb3\xbddup\x16\xfb\xbe\xbf\xe7eƓ\xacL\xe1UV*\r\xf2\x1d(Q\xca\xce\xe8\xc7Ft\xb9\xf3\xadƥ\xd2\a\x17pJ\xec#\x13\x95\x88\xa2\x93=\xc8\xfa\xe5J\x9fq\x93J}\xc1\t\xbc\x9f\\ݤ\xb1\x95\xbd\x94\x16\x12vT\xd6\xe6e\x96m\\j\xec\xec\x9b`\x9e3\xdaɎ\xbb]\xfb\xec\a?EcH\xaa\x82\xf6FY\xe3\x05\x9b\x80\xaf2\x96\xa0Þ\xfb?\xd8\xff2\xb3v\x1f\xe9X\xa1\xddK\x9b\x84\x8ayY\x18\x9d=\xc3\xe4\n^\u007f\xc1VP\xb0\x1f\xde^\xfeN\xa7\xe0ރ\xd4\vi]t\xe8'\x12Hd\xf5\xf3\x1b\b\xf3\x94\xd3\a_\xdbd\xd3\xc4XM\x83\xee\xb9\x19M\xee\xcb\xe2\xd3B\x1fv\xa0\xbe\x85\fu\x83\x03\xa8\xfb\xae\xf9\xacE[\x0e\x9a\xae^L\xdb\u007f1\xb65\xcb4f!w\xaaf\x0f6\x13\xd2`\xcd^8Kي\xa5%\xcdZ\x14\xd8\xc0Y\x8dZ\xbc\x90ʲ\xae\x04),\x89\xeb\xdeoḺ0\x18|V\xf7{\x81\xd1\xf1c\xd4o\x97\n\xdb͂\xdb\xeeōW,\x16]\x1c\u05f5\x03W\x1e\x8f\x8e\xb5\x1b\xfbag\x9a\xed\x9d+H\xe8\x9fÕ_\\\xbfޥ\xde\xecuٷ\xa6z\xb1g:\xee\xccT\x1b\xbe\xaf\v\x83S\xc4ܝ/uF(\xb9\x87\xf5\x99M~\xe5\xae\f\xbd\x03b\xbb\x06;\xb5\xe1\x1ev\xab*\xe6e\vo\x17b\xfa8\xf0\xefa\xaf鉶\x8e{XWawċ\xf9\xc1\a@kT\xb86\xee\xfbe\xff\xde(g/}\xc3c\xad\xf7\xf4+4K0\xc4gIŬ\xe1D\xb9V͂\xab%+\x0e%\xc7PL\xd9\x16s\x8f\xfd\xaay\xaf\x05o\xe9\uf29f\x91k\xa1\xcd\xff\\>2u\xe0B\x8e\xd9\xcb\xd7\x02Ե\xd0\xf8\xf4`\xe4ة\xf5F\x8d}\x1cI\x9a[\x1e\x89\x97\x94\xf0\x1b\xd52\xaf\x0e\xdf\u007f\xafP\xcc\x14\xb9\xe2\x86Q9\x1cT\x97\x15\x95\x03\u07fcc\x88\\m\xbf&j\xbf݂o\xd1j\xbe\xd1\xc4\\\xf3S\xfbQޚ\x86\x9d\x82\xf5hۿ`\x82v\x91\xd1\x04R\xd7g\xc2l\xbc\x96TÂ\xedo?\x90\x83\\`\xa2A\xb2ܷ\xaa\x1e\xa1Þ\x8a\xf71T\xe4ݬfR\xa1\xfd)Th'CP|\xee\xc0\x86\xef$F\xb3\x9b\x83\x1c\xed ƶe\x91\xfd\xb4\x13\xe6\xb40\x94\xff?\x86=#\x11\xfd/)(\x93jJ.\xdc\r\x95\x1d\xdfm\xbe\xe1t\x9d&p\x03\x97)bvaE3\xb0\x85\x8a)'\xb0\xb7\xfc\x8a\x98oI\xcb3\xf2\xb0\x14\n%C\x1dDzv\x0f\xebgg\xad\x13\xb2\x03\xa2y\xf8\x8a?;\xab\xe2e\xadCY\xc9)\fa<ÿ=\x9bn\t\xd8\x1d\xb0\x0f\x88ݽT\xb2珕\xd6\xfdƦ6m\xef|_\xfa\xd8K\x1b[\x15\x18\x9b\xdfl\x11GS9n\x99\x15]\x9f\xa4r\x01\xba\xcb\x04q\x1a3\xa62L\xc9\x05_o\xc1ŋq\x9d*\xb73\xe2*:+Z티\xa5%fH4@\xb9\xc4%\xd5m\b\x9b\a\xb7wmϦ\b\xd9\xd2w\x0fY\x1co7\x1e\xb7\xa9\xa8V\xe3ۯ?w\xa9\xceL/#\xf5g\u007f\x83\xab\x03ju\x89^/a]\xe1\xf3\xbf\x04\xe3ub\xe0\xdbw\xd5\xf9\x9an\x98\x02\x9d\rS\x1f \xcb\bU\xdb\xcbw\x8d\x86\x121\x01#\xb4\xccNzzp\xa5\xb5\xcf\xf0\fv\x19\xa8U[\x9d\xbc\xd9\x1f\xaa\xbf\x11\xb5_õ\xca8\xfe\xf6\xcf\x12\xe4\x1a\v\x0e\xd4*Oe\xd0u\x9fq\xcb)\xb0\x05\xa8\xe7]\x8e\x01\x1a~\xb3\xa5\xf9\xd7\x1c\x83\\p+\x83;\xc1n\xcc\x11\xe1\x80jZ;\x86?\x1bCfǣ\x9dP\xb9\xa8\xde\ue987\xbd\xa2\xa6\x9f\xe5\xf3ԶO\xb8\xf5sP\xefx\x12\v(\xde\x06\xda\x03\xd2\xc8\xc0\xc3VP\xdfD\xa6\x03\x96\xd0\xd3\xd9B\x87\xac\xa1\xdej`\x1f\x8b(\xd2&:\xb8\x80\xa7\xb0\x8a\xc2\xec\xa2\xdeh:l\x1b=\x91u\xf4\x84\xf6\xd1SXHq6\xd2\x01\x90\x95\x05\xd5\xd7J\xea\x99b\xd9;D\xd1'\nt8n\xb5\xcf^\xeaa1\xf5\n~\x1c\x9a\xe9A\xbb)\xccr\xea\x85\xc3'\xb2\x9e\x9e\xc8~z\n\v\xeaim\xa8\x83V\xd4A\xca\xd9\xfb\xe7h\x1f9\n\a\xb9\x82k\x91\u008d\x90]\xf9\xdc\xed\xfc\xac\xcd\xe7;\"X\r#Hd)ޫ\xc5G;\x16\x85\xba\xbc\xd3\xe3\xe3\x16\xd5\x1dlr߿y\u007fh=\xef\xaa\a\xf7/\x84b/=k\x9fu\xacüo\xef\xd6sZ\xa8\xa5\xd0\xe4\xd4\x17\xb1J2Q\xa6\xce\b\x91\x1d\xf9]\xc3Wy\x8b\x975\xfb-\xd4>\xdbZ+K\x96\x8dx\xceC\x95&\xe5\xa0w\x91\"\x16\xe1@@x\xd0PHbŵZ\xf5\xfe0a\nL\xe8\xd9\x1f!\xdb\xc2\xc4\xe5\xe6;\x1b\xcd\xc0j\\\xf8\xdb\xfc;\x0e\xac\xad\xa0 tE$5^\"\x02\x14\a\x99\xf4\x01D\x91\x83\x92\xa5G8q\vY\xdb!\xc5!\xc8\xea@T#\xb0ȴW\xabQ\b4Ì\x9f >\xf7\xf0c\x95,!-3\xe8n\xfe\xbf\xd5.\xc2?\xea펒\xb3\u007f\x96ЬM[e\x8a\xb8\xa7\xbb\xcedͫ\xaa\x10w#\xb3Ɉ\xb4\xbf \x9f\xf5_rHw\x90w\\Io\x82\xb4\xb2[(\x8d\xf5B\xb8n\x14?\xf7\xe1\xdfĵ\xc9t\x8fw\x96\xbb\xf1k\xd8\xe5\x96\xeaرn\xb5m⾺\x95\x99\xbecgT\a\x9b\xdc\xc3\"\x13Z\xe8R:2OJ\x89}\xb9\xebV\xa2\xd4c\xae\x8bM\xeefZ.?\x87\t~\xc7rP\x9a\xe6\xc5\x01\ny\xb5\xfd\x86\xd9\x00!SUU\x1cm\x86\xea\xeb\xe6\xd7]\x8e+Z\xb7\\O\xa7\r\xd8\x16\f\xea\xfd\x064\xa4\x04V\xc0\x89+\xb6\x01\x954\xe8:\x88wh\x18\xcb\x15\xe6\xe4y8x\xefv.$\xc1\xee\xf6\xd5Է)\u0097pK\xa9\x86IgE\x9f^\x12\xb2\xf3\xa0\xe3u\xf9C\x92\x11k\x108E7\xc1\xfbZf{\xb3̾\xed+\x00\xb8\x92;\x0f \x81,\x80\x1b\x14wj\x02\xce\\\xb2-\x97\rb\xdd\t\xae\x12)\xeel\x97꒺\x0fXIYyw\xbb<\x83H\xc9\xf8Hg\xb5\x93}\x85\xec\\\xe5\x85w@U\xd7\xfd\xa1\x16\"\xben>\xeb\xacb\x8b\x03\\zBm\xbf\xfa%\x10\xe0\x9aIا!\b\xfcr\xc0\x19'\xa4XRu\x88]ޘg\xaa\xd6؍CYq\xcaw;\xe6\x04\xbc̷\x81O\xc85]\x89\xbc\xaaX\xeae\x1f\xd9\xfc~\xe3\xf1\x8d\x84F#\xa5k\x88N\x9ev \xe7\x94ͭi\x91\x98Yo_\xa2\xf9\xc0\x89\x89\x0fTr\xc6\x17\x87\x16\xff\xbd{\xacC5q\x10:\x94\x93\x8eET\xeaJ\x90r\xe2'\xb9\xe3\xceM\xa5\xb0\fPO:\xcf\xd0֏H\xc8i\x03\xc9\xeeK\xee\x97Z\xad\xb7\xe5&]°\xc5\xed=\xe3\xe9K\u007f1\xaf\xc8JI3\xf7\xcfDp\xcb\x16\xd4K\xf2Ï_\xf8\x05\xbd\a\xa9\xaa\x1f\xff_\x00\x00\x00\xff\xff\xc8\aW} \xfd\x01\x00"), - []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xec|\xbd}\xf8\u05fbN5\xf4䠚%H\v\x02\x1eX\xa8\xc1T\xcb\x0f\xdcN80H\\C\xe5\xa8Eap\x15(\x93\xd6 \x01\xb4\x81\x02\x8dԩL\x02E\xb9\xb3\xdd\xe92Ka\x83D\xdcuݡ0\xba@\xe3dX6\xbe\xb4\xd4D\xab\xb6\x87\xf1;\x9a\x94o\xe5\xa5\b-\vN\xb5\x180\xad\xe8\xe0e[\xda\x06\u007f&p\a0P#\xa1@o~\xc3ĭ\xe1\x0e\r\x81\tX'Z\xed\xd1\x10\x05\x12\xfd\xa8\xe4\xffְ-I\xaccArX\xad\xe5\xa6\xf0\xe2S\"\x83\xbd\xc8J\xbc\x00\xa1R\xc8\xc5\x01\f\xd2(P\xaa\x16\xf5\x99\xee-\tkX@\x04\x93j\x8b\xd5j\xdc\x1a\x9d3LTi\xa1\xa5r\xfc#\xc9$\xaa>\xf9m\xb9ɥ#\xbe\xff^\xa2uī5\\\xb3\xcd 9,\vZ=\xe9\x1an\x15\\\x8b\x1c\xb3ka\xf1\xd5\x19@\x94\xb6+\"l\x1c\v\xda\xe6\xae\xdf\xd8S\xad\xf5!\x98\xa6\x11~\x855~W`\xd2Y2\xd4One\xc2\v\x835_\xad\x02z\xdaϗ\xe1U\v\x95\xea\xa1\xe6\xfd\xfaIm\x13k\x13\x8e`B\xa5b\xd6G_F\xa8ɟ0/h\xb9Πx_5#\x14\x89Fi\xed\x82\x04c\x19ԛ\xae\xb4\x1a\x1c)\x15\x1en\x87D\xaf\xbdL+\xadqD\xcdi\x8azĶ\xa2\xcc\xdc\x03\xd9q\xb4\xf7\xfa\x1bZ'\x93\xa1\x96\xbdI|\x1c\xec\x18\xf8\x8d\x96(\xecvhhq\xf2\a\xd6w\x83p\x81\u05ccŔU\x9ex\"\x93\xb9\xf1\x14 ݙeP\xe8\x14\xf6~$\xd8\x1c\x02\xd2Ǽi\xf8\xb3\xd1:C1D5\xfc\x9ede\x8ai\xed\xe6\fҥ7ۛ\xa3N\xec\x10\n\xa9H\xca\xc8\xfd\"TU\xfdud\x9el\xaf\x84A E!\x95\x87\tһ%\x9b\x11\x81\xa3\"\x1d\xe6#xNJ\xa4/\xe4x\x8aM\x86W\xe0L9$\xeb\x01\x860F\x1c&h\x16\x9c\xe6%$\xab\xfbT\xea<\x93\t\x12\xb1j\xa5\xcdTcҌ\xcc\xef\x1f\x90`;\xad\x9fb\x88\xf4\x1fԮ1N\x90pl\x02\x1b܉\xbd\xd4\xc6\xf6=\x1c\xfc\x8eI\xe9pl\x1d\t\a\xa9\xdcn\xd1\x10,v\xa8k\xff{\x8aX\xd3*\x82\x8a\x99f\xfcѼ\x1a\xa6\x13\xf3\x98\x1acSaU<\n\x15\x18q\xd2\xd8e\x01R\xa5r/\xd3Rd \x95uB%~~\xa2\xc6ox~0'\x10G\xf8{\x05\x1cfA\\\xeaX6\xad\x90\xdc\xd1\\\x9ba\xe1\b\xe5\x18\xcc8\x196\x824\xa0\x1e3GM1\x14\xc5U\xa8\xa4lR\x1b\xbds\xd1p\xca;\x85\x99\xd8`\x06\x163L\x9c6\xe3\xe4\x89\x11\x02_b\xf5\xe7\be\a4ic3HPg\x95hS\x9c\x86\xe7\x9dLv\xde\u007f#)cX\x90j\xb4\xac1DQd\x87\xa9IC\x8cdT\x83\xcd)\x8d\xa6D\xa8\x8f>\xdc1EҔH\x1dܔ\x19mܥz-6oD\uf829~H\xd8o\x8f\xba\xbf\xbc\xb0\x13\xb9%\xc5w\xb7[\xc0\xbcp\x87\v\x90.\xd4\xc6@%\a\xab\xc1\xe3oƸ\xd3V\xcbm\xbf\xf7\x8b\xaf\x96\x17\xe1Z\x8d\xc6߄il\xac\xee*[\xb5\x88a\x9f\xda=/@nk\x86\xa5\x17\xb0\x95\x99C\xf6\xa5\xe6\x10m9:\xb3\x9c{I\x02\xc5\xda^*\xb9p\xc9\xee\xa6\x0ei#z\xf4h\xd5\a\xe0\xfd\xf2\x10\xc30\x0f\"@B\xedT\xf0.\x884\x98\xfbݕ{^\x1fM\r{\x80\x1f>\u007f\xc4t\x8ed\x10/\xa9G\x93\xfa\xd0\xf3t\xda(\xf0\x04\xa3@\xb6&\xc5nZ\x1d\xe3\xf9=\xb4\v\x10\xf0\x84\a\xefY\r\x06\x97C\x85X+j\x90\x06yC\x8f\xd5\xc8\x13\x1e\x18T\xb5C\x17\x05o\x89\xa8\xf8\xf2\x84\x87ئ=\xa2\x12~\xd5\x1e\x85\xa7.U\xf0,b\x96RSj\xa2Vk\a\x9c\x8e\x9b,,SJ\xa1\x04\x8a\x9f8\xed\x9aa\x9dm\xe9'<\xbc\xb3\x9e}\xb4jv\xb2X@\x01R\xd8`\x91WX؏}\x10\x99L\xeb\xc1x\x9d,\x80x\xab.\xe0\xb3v\xf4\xe7滴\x84\xa2J\xe1\xa3F\xfbY;\xaeyU\x12\xfbI\x9cH`ߙ\x97\xa5\xf2f\x81\xe8\xb2h\xfc\x06\a6\xa1$\xa25ۤ\x85[E\xf1\x99\xa7\xcf\x126\xed0 \xe7\xd1\xcaK\xcb;\xbaJ\xab\x15\x9b\xe90\xda\x02\xa0m\xbc*Vi\xd3\xe1\xd4\xc5B\x88\x83(V\xe8ݓ\xb5\xf2_\x8e\xf6§\x8a\xc1\"\x13\t\xa6\x90\x96\xbc\xdf\xce\x1b\xef\xc2\xe1\xa3L G\xf3\x88P\x90݈\x17\xaa\x05\x9aܗ\x13\xa40\u07b5\b\xa52\vi\x1cb+Z\xf5\x91-\x03\x9b\xa3\x9a\x8f\xec\xb2O7\x8f\x9b%\x9bw\xf6\x87\xa2\xa8\xdf>\xd2]fY\x16\xf2\xeb\xd8\a\xf1Hz\xf7#\x17\xbc\xd9\xfb\a\x99W\x16\xef?㬡\x90Ʈ\xe1\x03\x1fhg\xd8\xee\x1fv\t[CE\x81$L\xa4\x05\x92\x93\xbd\xc8\xc8} \xe5\xad\x003\xefL\xe8\xed\x91\a\x15\xa7b\x9ew\xdaz\x9b\xbf\x95\x98\xf1\xe9\xd6\xf9\x13\x1e\xce/\x8e\xb4\xd7\xf9\xad:\x8f\x83I:\xffHi\xd5^\x8bV\xd9\x01\xce\xf9\xdb9;fK\x96\xc8\t\xce\xdb\x02\xa9\x8en\xca\xc7\xcfKB\x01\x8a\xb5\x83\xd7B\x9d\xebCZr\xe1\xe7f\x11-Ӆ\xb6n\x11Z_\xb5u~\x03\xb0\xe3n\x0f\xec\x10\xc6D\u007fծ!\x88\xadC\x03\xd6i\x13\x0eDI\xed\xf66ȉ\xf3v\x9e\xf7\xc4\xeaz7\xd2\x03\xa6 \xf3\xbc\xd1\x10^\xa7\x9f\xfb\x93R\xfa\u007f\x1ef\xc2\xce\x12\xc3.\x8cN\xd0\xdayQ\x8a\xb4\x1c3\x1b\xb6\xf5f\xad\xf0\xc1\xdb6J5\xc7l%\x87\xb2\xcc\x15'Ҟ\x10\xd8\xdc|o\xed;\x93\x1a\xa2\xdf1\xa2|\n\x8e\xc0\x89Ny.\xfa\x87\xf3\xd1\xe8^\xfb\xdea\x01V\xc0|\xc0d\x1eKV*\xcb\xfc\xe6J$\xffj\x8eG.\xd5-\x0f\x04\xef_\xcdY\x81\xa0\xca\xf1\xd4P\xe6:\xf4o\x18RW\xc4Ư\x10\x8e\x9a5\x9f\xd5\x18\xecp\xf6\xf8$#\x9eS@δҮ\xbdYS\x8d\xf4\xce\xc2V\x1a\xeb\x1a\x84\x17@\x95\x96\x8f\x93_7\xc6T7Ɯ\x1cb~\xf1\xbd[ۊ;\xfd\\%F,\t\xac\x03\xf1wb\x8f \xb7 \x1d\xa0Jt\xa9xË\xd4\x05\r\xb3\x00\xa2g\xa27&\x916\xb3\xd5Y\x95y\x1f\xa8\xc5\xe7\xa5-\xcdF\xab\xf3\x87\xe6\xad\xca\x0f\xe4\xa0-\xbb 0\x9bo\x16\x834\xc4d\x99\r\xe7\x8f\xcd@]\x92[\x16\x1b\x83G\xe4\x91\xc5g\x8fő\a\xf8\xc6nl\xceX\xb4\xd7\x16\x9b\x1f\xf6:Ya\x91\xb9`\xad\f\xafY\x90'f\x80E\x13,.\xdb+:ǫ\x95\xb95O\xad\x89̮\xe1|\xadY\x90C\xf9\\1YZQ\xb8F\xe7f\xd5\x19W\xf3;\x89?\x94\x91\xf5\xf2\xb9\xdf/\xe9\xe7O\xe7WEeUE\xc5\x02\xf38G\xe5M-͖\x8a\xa2\xea\xd2̨:\xebib\xe0\xa8|\xa8\xe3\\\xa7\xa9\xa9\xccfA\x8dg8M\x81\x1d\xca}\x8a\xc8k\x9a\x00\xd9\xcexZ\xec\x06\xccJ\xd3L\x83\xe1[\xf5\xa1\xcc\xdb\xda\xec\xffC\x02\u007ft\xd2\xdat\\\xe0\x98\xa8\xe4K\xaf\v\xf1>x}Cn\xf5x\x8c\xe7\x9d\xed\x13\xdc\xea\x11\x90\xb7[\xc8\xcb\xcc\xc9\"k]\xafw;<\xc0\xb3\xcc2R\xe7\xbfi\xbez\xb990\xb4/\xdfj\x01\x1e\x03\xd9\r\x10\x84\x85g\xcc2\xfa{D\x85\xc4?\"\x91\xe8\x15\x92\xcd\x19\xdf\x06\xaf.\xc8W/P\\\xf8\\?\xbe\x97\xca\xf6,'H\xe1^\xfd\t\xe1״\xb3\xeb}t\xae\xfb\xbdDs\x00\xbdGS{5\xa3b\xd6\xdcW\xaa\x96\xa6-\xb3F\x95T:\xc9?e\xd2U-㫡^\xd0\xf0Ay3\xdbǕa\x91\x0ei\x82\xa3)\xd5I\xb1\xd0\x18\b\xa5k\b#\xfdc|\xe9%\x17x^#Tz\x89`)ʭx\x8d\x80\xe9\xb5B\xa6\xa5AӒ\xa3˨\v8\xaf\x11:-\t\x9e\x16y\x80\xf1\x17l^\xebb\xcd+\x04Q'\x87Q\x8bH\x17{qfq0\x151\xbf\x99\x8b2G\x1eW\x04\xc8\xd1\v2\xc3\x01U\x04ģ\x8b1\xb3!U\xcc:\xe8\a]?|\xcd%\xfa\x18\u007f\xd1YR\xec\x11|\xdc1\xcf\xfc\xf5\x95\xc8k+\x91\x87@1\xd8G^OY~-%\x92\xce'\x06[\x93CG^?Y\x14n\x9d\x18pMB\x9c\xban2\x1drMo\xa7\xf5\xaf\x99\x9c\xe0NDH\xd8l\x93\x1f>\x11\xd0&E3{\xb8\xb2D4g\x85\xb2\x17\x13u\xc7\xef\xbd:\x10\xdeĢV탛1\xee\xe8\xfa\x16|\x02\xbfJ\x95zސ\x10\xb6\xfc\v~h\x8f\xef\xc9Ԏϸ\x185\xdef\xef\xd0\xc8b!H\x8drPć\xdbv\r7\"\xd9\xd5\rG \xf2\xc8;aa\xabM.\x1c\x9cקq\x97\xa1'՜\xaf\x01~\xd1\xf5Ah땛\x11\xb8V\xe6Ev\xa0\xe8\aλ\x80~LtF\xc5\xcf*Q\u061d\x0e\x0f\xa2ED\xc0w\xdd\x1e\x03Ǿ\xe19\xb4$\xd3eZ\x8f0\xc1n\xa1\x0e\xf0\xf5\x81\xbd)~\x04*i\x1e˪|\xa5\x10\t\xf7\xde\xd2\x1a\x019\xf6\x06\xde\"\x92\x8d\x1f\x0e[\xa7\x8dx\xc4O\xda?\x0f\x18C\xb3n\x8f\xce\v\x91\x95\xae\n\xa9\"\xd5ݯQI\xf6s\xeb\x03l2Ȫ\xd5֜\xa5\x13\xb6cJlf\x9d;\x97EL\xee\xfe\xfe\x93\x9f\x90\x939\xae?\x96\xfe\xa0~U\bc\x91(\x1d&\xea;m\xc6\xed\xdcN?C\xa6+:\xfcܟ\x87A\xceX㜀\x93f\xe3_\xe2\v\xe2\x1bH\x17#\xf2\x0f\xc3=[\x81l\x8b\x89SG\xfbz;\nKX\xab\x13ɺ\x88\xb7\x848Q\xec\xf5\x9e\x8a\x9b\xb2(\x13*\xa3\xb4\xf8\xe5Y\xa1\xf9\x16\x16\xaa\xbdU\x9eS3\x8fG\xfe\xd7Q\xc7\xc0\xe0!\xf5A\xfa\xaf\xd7|\xc8\uea4a@\xd6?[\x1d\xf6\xb6\xa4\xad\x9f\xd3<&\xdd\xcc\xfa\x1f_\xfbþ\xebj\xf8\x05\xcbU\xfd\xa8\xe6Y\x04e\xfd\xb3\xc91\xef\x94\xfa\xb7\xa9\x13Q\xb8\xd2T\xe65)\r\xbf\x9bG@\xd0?+w\xdaK\xa5ͫ\xcd3\xbcl\xdeqn\xa2\xfd\xd9W\xa3\a\xf8W\xbfy:\xfa\b\xa8\xb7\xae\xfeU\xe7\x15\xc1?\x8d\x9d\x83\xeb\x80\xdf\x19\x9c\x99\xe9WjS'\xf9V\x84\xe6\x8e\xe1}»1ԇ\xb36W\xf0\x19\x9f\ajo\x14M\xe2\xf8Lͧfb\xca{\x04C\xaf4ONq_\xf7\xe2\xbc\xd8\x01m\xd1Us\xbd潄\x1b\x91e-\x88>\av\x88\xad\xff,\xb7~\x03'\xa19\xfd\xcbQ\x8bQ\xc55\xa9\xb4\xc6\x14\xd6\xe0\x92:\xaa\xb4h\xf6\x98\xb6\x84\xa4\xb2\xe1\xed\x9ar\xd3<\x17\t\u007f\xfcy֬J\x91$X\xb8*\xb1\xab\xfd\x9a\xfd\xf99\xff\b\x8f\xd5\xf3\xcfD+\xefh\xdb+\xf8\xef\xff9\x83\xca\x00?\x84\x17\xe9\xa9\xf2\xff\x02\x00\x00\xff\xff\x94\x01\x97\xcd\xfb_\x00\x00"), + []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xec\x1d\xcbn\x1c\xb9\xf1\xae\xaf((\a'\x80f\xb4F\x0e\tt\xf3\xcaZDX\xc76,\xad.A\x0e\x9c\xee\x9ai\xae\xba\xc9^\x92=\xf2d\xb1\xff\x1e\x14\x1f\xfd\x9a~\xb0\xc7\x12\xb2Y\x88\x17k\xd8d\xb1XU\xac\aY\xa4\xcfV\xab\xd5\x19+\xf9\x03*ͥ\xb8\x02Vr\xfcjP\xd0/\xbd~\xfc\xbb^sy\xb9\u007f{\xf6\xc8Ez\x05ו6\xb2\xf8\x82ZV*\xc1\xf7\xb8\xe5\x82\x1b.\xc5Y\x81\x86\xa5̰\xab3\x00&\x844\x8c\xaa5\xfd\x04H\xa40J\xe69\xaa\xd5\x0e\xc5\xfa\xb1\xda\xe0\xa6\xe2y\x8a\xca\x02\x0fC\xef\xbf[\xffm\xfd\xdd\x19@\xa2\xd0v\xbf\xe7\x05jÊ\xf2\nD\x95\xe7g\x00\x82\x15x\x05:\xc90\xadr\xd4\xeb=\xe6\xa8\xe4\x9a\xcb3]bB\xa3픬\xca+h>\xb8N\x1e\x137\x8b;\xdf\xdfV\xe5\\\x9b\x1f;\xd5\x1f\xb86\xf6S\x99W\x8a\xe5\xad\xf1l\xad\xe6bW\xe5L5\xf5g\x00:\x91%^\xc1G\x1a\xaad\t\xa6g\x00~bv\xe8\x15\xb04\xb5\xa4b\xf9gŅAu-\xf3\xaa\b$ZA\x8a:Q\xbc4\x96\x14w\x86\x99J\x83܂ɰ=\x0e\x95\x9f\xb5\x14\x9f\x99ɮ`\xadm\xbbu\x991\x1d\xbe:\x129\x00\xbe\xca\x1c\b7m\x14\x17\xbb\xa1\xd1\xde\xc1\xb5\x92\x02\xf0k\xa9P\x13ʐZΊ\x1dCș6`x\x81\xc0\xfc\x80\xf0Ĵ\xc5a+\x15\x98\x8c\xeby\x9a\x10\x90\x0e\xb6\x0e\x9d\x0f\xfdj\x87P\xca\fztZ\xa0\x82T\xaf\x8f$\xb2\x03\xf3\xdd\x0e\x87\x81\xb9\xcf\xfb\xb7Nn\x92\f\vv\xe5[\xca\x12ŻϷ\x0f\u007f\xbd\xebTCO\x0e\xfc,\x81k`\xf0`\x85\x1a\x94_~`2f@!q\r\x85\xa1\x16\xa5\xc2U\xa0LZ\x83\x04\x90\nJT\\\xa6<\t\x14\xb5\x9du&\xab<\x85\r\x12q\xd7u\x87R\xc9\x12\x95\xe1aٸ\xd2R\x13\xad\xda\x1e\xc6ohR\xae\x95\x93\"\xd4Vp\xfcb\xc0\xd4\xd3\xc1\xc96\xd7\r\xfe\x96\xc0\x1d\xc0@\x8d\x98\x00\xb9\xf9\x19\x13\xb3\x86;T\x04&`\x9dH\xb1GE\x14H\xe4N\xf0\xff\u05305I\xac\xb1\x82dЯ\xe5\xa6\xd8\xc5'X\x0e{\x96Wx\x01L\xa4P\xb0\x03(\xa4Q\xa0\x12-x\xb6\x89^\xc3?\xa5B\xe0b+\xaf 3\xa6\xd4W\x97\x97;n\x82zLdQT\x82\x9bå\xd5t|S\x19\xa9\xf4e\x8a{\xcc/5߭\x98J2n01\x95\xc2KV\xf2\x95E]X\x15\xb9.\xd2?\x05\x8e\xea7\x1d\\\x8f֊+V\x89Mp\x80\xb4\x99\x13\x18\xd7\xd5͢!4U\x11u\xbe\xdc\xdcݷ\x85\x89\xeb>\xf5-\xdd[\x12ְ\x80\b\xc6\xc5\x16\xfdj\xdc*YX\x98(\xd2Rra\xec\x8f$\xe7(\xfa\xe4\xd7զ\xe0\x86\xf8\xfeK\x85\xda\x10\xaf\xd6pmm\x06\xc9aU\xd2\xeaI\xd7p+\xe0\x9a\x15\x98_3\x8d/\xce\x00\xa2\xb4^\x11a\xe3X\xd06w\xfdƎj\xad\x0f\xc14\x8d\xf0+\xac\xf1\xbb\x12\x93Β\xa1~|\xcb\x13\xbb0\xac\xe6\xabU@O\xfb\xb92\xbcj\xc1\xab\x1ejޯ\x9f\xd46\xb16\xe1\b&x\x15\xb3>\xfa2BM\xfb\t\x8b\x92\x96\xeb\f\x8a\xf7\xbe\x19\xa1H4Jk\x17$\x18ˠޤ\xd7jp\xa4T\xecp\x19\x12\xbd\xf6<\xf5Z㈚\xd3\x14\xa5\x92h~'X\xa93i\xc8.\xc8\xca\f\xb5\xeaM\xe0\xfa\xee\xb6\xd7)\xf0\xd9s\xddڽJcJSxb\xbc\xbf~B!y\xb8\xbe\xbb\x85\ar#0\xc0\x04g\xfd\xc0TJX5\xf8\x05Yz\xb8\x97?i\x84\xb4\xb2\xda ز\x8b\x11\xc0\x1b\xdc\xd2bSH0\xa8\x03*E\xb2\xa7-j\xb22kk\xa4Sܲ*7^\xb9p\ro\xbf\x83\x82\x8b\xca\xe01\xdfa\x9a\xf7\x8eH\x16\x9c\x9b\x8d\xbe\x97_P\x1b\x9eD\x10\xf4\xfd`\xc7\x16Q\x9f24\x19*\xd2t\xf6\x835\x1e\xa3s\xafIo\xd8#\xf9\x1f\x1b'Nd\x88\xf2\x1cJ\x99\xc2ލ\x04\x9bC@zj\xc2\x1b)sdC\"\x88_\x93\xbcJ1\xad}\xc6A!\xeb\xcd\xf6樓\xf5\xae\x19\x17\xb4dɗ%TE\xfdud\x9e\xd6\xf83\x85@Z\x97\v\a\x13\xb8\xf3\xf16#\xab\x97\n7X\x8c\xe09\xcbb\xb0^<\xdb\xe4x\x05FUC\x8a#\xc0`J\xb1\xc3\x04\xcdB\x04\xb2\x84du\x1fo\x1bs\x9e \x11\xab\xb6\x80\x96j\x964#\xf3\xfb?$X&\xe5c\f\x91\xfeA\xed\x1aK\x0f\x89\r\xf4`\x83\x19\xdbs\xa9t\xdf]į\x98T\x06\xc7\xd6\x113\x90\xf2\xed\x16\x15\xc1\xb2\xd1I\x1d\xccL\x11kZ\xdfRQӌ?\x9aW\xc3tb\x9e\xa5\xc6\xd8T\xac]\x1b\x85\n\x16qR\x87U\t\\\xa4|\xcfӊ\xe5\xc0\x856L$n~\xac\xc6ox~0'\x10G\xf8;k\x16fA\\\xea\xb8\tR \xf9\xf6\x85T\xc3\xc2\x11\xca1\x98q2l\x18i@9fۛ\xa2($\xf6\xa8\xa4\xd6\x1e5z\xe7\xa2\xe1\x94\xf3\xb0s\xb6\xc1\x1c4\xe6\x98\x18\xa9\xc6\xc9\x13#\x04\xae\xc4\xea\xcf\x11\xca\x0ehҮ!\x9eU\xa2M!K\x9d\xf1$s\xce0I\x99\x85\x05\xa9Dm5\x06+\xcb\xfc05i\x88\x91\f?\u061c\xd2hJ\x84\xfa\xe8\xc3\x1dS$M\x89\xd4\xc1M\x99\xd1\xc6]\xaa\xd7b\xf3J\xf4\x0e\x9a⛄\xfd\xf6\xa8\xfb\xf3\v;\x91\x9bS\xb0|\xbb\x05,Js\xb8\x00nBm\fTr\xb0\x1a<\xfe`\x8c;m\xb5\xdc\xf6{?\xfbjy\x16\xae\xd5h\xfcA\x98f\x8d՝\xb7U\x8b\x18\xf6\xa1\xdd\xf3\x02\xf8\xb6fXz\x01[\x9e\x1b\xb4\xbe\xd4\x1c\xa2-Gg\x96s\xcfI\xa0X\xdbK\xa5`&\xc9n\xea\xfd\x81\x88\x1e=Z\xf5\x018\xbf<\xc40\x96\a\x11 \xa1v*\xec\x96\x12WX\xb8\xad\xaa{\xbb>\x9a\x1a\xeb\x01\xbe\xfb\xf8\x1e\xd39\x92A\xbc\xa4\x1eM\xea]\xcf\xd3i\xa3`'\x18\x05\xb25)\xeb\xa6\xd51\x9eې\xbc\x00\x06\x8fxp\x9e\xd5`p9T\x88\xb5\xac\x06\xa9\xd0\xee\x8eZ5\xf2\x88\a\v\xcaowF\xc1[\"*\xae<\xe2!\xb6i\x8f\xa8\x84\x9f\xdf\xf0qԥ\n;\x8b\x98\xa5Ԕ\x9a\xa8~퀑q\x93\x85eJ)\x94@\xf1\x13\xa7]3\xac\xb3\xc7\xff\x88\x877ڱ\x8fVM\xc6\xcb\x05\x14 \x85\r\x1a\xed\n\v\x9b\xdb\x0f,\xe7i=\x98]'\v ފ\v\xf8(\r\xfds\xf3\x95kBQ\xa4\xf0^\xa2\xfe(\x8d\xadyQ\x12\xbbI\x9cH`\xd7\xd9.K\xe1\xcc\x02\xd1e\xd1\xf8\r\x0eք\x92\x88\xd6l\xe3\x1an\x05\xc5g\x8e>Kؔa@ΡUT\xdan\x8f\v)V\xd6L\x87\xd1\x16\x00m\xe3\xe5Y%U\x87S\x17\v!\x0e\xa2\xe8ѻ'k\xe5\xbe\x1c\x1d,L\x15\x85e\xce\x12L\xc3v\xa5=\xc5`\x06w<\x81\x02\xd5\x0e\xa1$\xbb\x11/T\v4\xb9+'Ha\xbck\x11\x8a7\vi\x1cb+Z\xf5\x91-\x03\x9b\xa3\x9a\x8f\x1cYL7\x8f\x9b\xa55\xef\xd6\x1f\x8a\xa2~\xfb||\x99eYȯc\x1f\xc4!\xe9\u070f\x82\xd9\xcd\xde_ɼZ\xf1\xfe-\xce\x1a2\xae\xf4\x1a\xde\xd9\xec\x80\x1c\xdb\xfd\xc3.ak\xa8(\x90\x84\t\xd7@r\xb2g9\xb9\x0f\xa4\xbc\x05`\xee\x9c\t\xb9=\xf2\xa0\xe2T\xccS&\xb5\xb3\xf9[\x8e\xb9=*<\u007f\xc4\xc3\xf9ő\xf6:\xbf\x15\xe7q0I\xe7\x1f)\xad\xdak\x91\"?\xc0\xb9\xfdvn\x1d\xb3%K\xe4\x04\xe7m\x81TG7\xb5g\xf9KB\x01\x8a\xb5\x83\xd7B\x9d\xeb\x13or\xe1\xe7f\x11-ӥ\xd4#\xc7N#h}\x96ڸ\r\xc0\x8e\xbb=\xb0C\x18\x13\xfd\xf9]C`[\x83\n\xb4\x91*\x9c.\x93\xda\xedm\x90\x13\xe7\xf5<\xef\x89\xd5\xf5n\xa4\x03LA\xe6y\xa3!\x9cN?w\xc7\xce\xf4\xf7<\xcc\xc4:K\x16v\xa9d\x82ZϋR\xa4\xe5\x98ٰ\xad7k\x99\v\u07b6Q\xaa9f+9\x94e\xae8\x91\xf6\x84\xc0\xe6\xe6kkߙ\xd4\x10\xfd\x8e\x11\xe5Sp\x04\x9b5V\x14\xac\x9f\xe9\x10\x8d\xee\xb5\xeb\x1d\x16\xa0\a\xe6\x02&\xb5\xab\xacRY\xe67{\x91\xfc\xbd9\x1e\x05\x17\xb7v x\xfbb\xce\n\x04U\x8e\xa7\x862ס\u007fÐ\xba\"6~\x85pn/\xedY\x8d\xc2\x0eg\x8fO2\xe29\x05\xe4L\viڛ5~\xa47\x1a\xb6\\i\xd3 \xbc\x00*\xd7\xf68\xf9ecLq\xa3\xd4\xc9!\xe6'\u05fb\xb5\xad\x98\xc9'\x9fe\xb2$\xb0\x0e\xc4\xcf\xd8\x1e\x81o\x81\x1b@\x91\xc8J\xd8\r/R\x174\xcc\x02\x88\x8e\x89ΘD\xda\xccVgQ\x15\xf1\x04YY\xe9\xe4bvw\xac\xdd\xe5\a\xc6\xe3v\xa7\xe04\xb6\x9a\xa9\x8c\x92\xa1\xd2M\x93\xf1\xa9%\xedt\xa2\x82}\xe5EU\x00+\x88-K\xe2ƭKJ\t\xb9G\x8e\xd7O\x8c\x1b\x9f\x8e\xe9\x0eV\x97i\xd3D\x16e\x8e\x06C\xbaI\"\x85\xe6)\xd6\xee\x83\xe7\xff`\xf2\xceXa\xb0e<\xaf\xd4\x02\x1d\xbd\x983K\xe36\xaf\x9e\x9e?\x18\x8bGde\x89\x19\xb9\xe9\xbe\xc0i\x9e\xb7\x1f\xa5Z\xe62\u007fV\xf8\xfc\xaei\xa98I\xa9\x9c\xf3NgaZ\xef\xb5\xeb\x9dz\xe1e\xe20\xe6\x9e\xceB\xb5\x98\xbc\xba\xa7uyuO_\xdd\xd3W\xf7\xb4W^\xdd\xd3W\xf7\xf4\xd5=\x1d.\xaf\xeei\xab\xbc\xba\xa7\xd1\xf6#\x06Õݹ\x9dh\x10\x85Ud\n\xc6\x1c\xda3c\xf9L\xa3\xeb\xbc\xd2\x06Ւ\f\xe9\xdb\xe1\x9e\x039\xf4\x89k\xb2\xb2\xd7\x1dǤ\xa6I]i\x8c^\x9d2MK2,&w\xb1%\xc2\v\x8fN\x83\x1e϶\x8fM\xa0\x9bK\x9b\xeb\xe6\x8e\xd7\xe9j\xee\xaf\x11\x82\x18\x19\x86\xf7\xdcs\x17\xa6\xda9W\xdd\xdc7\x1b\a\x04\x8c\u007f\x97y\xe5\x91im3\xc9lӉ\xf8c\x16>вw\xb8\xd0%\xa6\xea$~\xff\xaei\x19\x91m6\x9ec\xe6O-Ѱ\xfd\xdbu\xf7\x8b\x91>\xe3ldfO\xdcd\xee2\x17\x85\xaeb\xd7Nk\x0fr\xea/R\xf6i<\x02Q*\x10\x11\x90*E5{\xb8\xb2D4g\x85\xb2\x17\x13u\xc7\xef\xbd:\x10\xdeĢV탛1\xee\xc8\xfa\x16|\x02?r\x91:ސ\x10\xb6\xfc\v\xfbj\xa1\xbd'S;>\xe3b\xd4x\x9b\xbdC#\x8d%#5j\x83\"{\xb8\xad\xd7pÒ\xacn8\x02ю\x9c1\r[\xa9\nf\xe0\xbc>\x8d\xbb\f=\xa9\xe6|\r\xf0\x83\xac\x0fB[\xaf܌\xc0ռ(\xf3\x03E?p\xde\x05\xf4m\xa23*~ڿ\x04\xe7\x1fD\x8b\x88\x80\xef\xba=\x06\x8e}\xc3shI.\xab\xb4\x1ea\x82\xddL\x1c\xe0\xf3\x83\xf5\xa6\xec#PI\xf3X\x96\xf7\x95B$\xdc{Kk\x04\xe4\u0603\x82\x8bH6~8\xac\x8dTl\x87\x1f\xa4{k1\x86f\xdd\x1e\x9d\xe76\xbd\xae\n\xa9\"\xfe\xeeר$\xbb\xb9\xf5\x016\x19d~\xb55g\xe9\x84\xed\x98\x12\x9bY\xe7\xc6\xe4\x11\x93\xbb\xbf\xff\xe0&dx\x81\xeb\xf7\x95;\xa8_\x95Li$J\x87\x89\xbaN\x9bq;\x97\xc9'ȥ\xa7\xc3\xf7\xfdy(\xb4\x19k6'\xe0\xa4\xd9\xec;O\x1f\x06\xd2ň\xfc\xc3p\xcfV \xdbb\xe2\xd4Ѿ\u070e\xc2bZ˄[]d\xb7\x84l\xa2\xd8\xcb=\x157eQ&TF\xa5\xf1ӓ@\xf5%,T}+\x1c\xa7f^\xe2\xfc\xe9\xa8c`\xf0\x90\xfa \xfd\xd7k>d\xf7\x84'\x90v\xafT\x86\xbd-\xae\xeb\xb7I\x8fI7\xb3\xfe\xc7\xd7\xfe\xb0\xef\xba\x1a~\x0etU\xbfPz\x16AY\xf7\ng̣\xaf\xee\xb9΄\x95\xa6R\u07bc&\x95\xb2\xef\xe6\x11\x10t\xcfʝ\xf6\xeck\xf3\x04\xf6\f/\x9bG\xb1\x9bh\u007f\xf6\t\xee\x01\xfe\xd5\x0fȎ\xbe\xa8ꬫ{\"{E\xf0Oc\xe7\xe0:\xb0\xef\f\xce\xcc\xf43\xb5\xa9\x93|=\xa1m\xc7\xf0>\xe1\xdd\x18\xea\xc3Y\x9b+\xf8\x88O\x03\xb57\x82&q|\xa6\xe6R31\xb5{\x04CO^ONq_\xf7\xb2y\xb1\x03ڢ\xab\xe6z\xcd{\t7,\xcf[\x10]\x0e\xec\x10[\xff̷n\x03'\xa19\xfd\xe5\xa8Ũ\xe2\x9aTZc\nkpI\x1dUjT{L[B\xe2mx\xbb\xa6\xda4\xcfE¯\xbf\x9d5\xab\x92%\t\x96\xc6'v\xb5\xffk\x80\xf3s\xfb#\xbc\xfco\u007f&R8G[_\xc1\xbf\xfe}\x06\xde\x00?\x84\xe7\xfd\xa9\xf2\xbf\x01\x00\x00\xff\xff\x9dJq\x1dHa\x00\x00"), []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xb4VO\x8f\xeb4\x10\xbf\xe7S\x8c\x1e\x87w!\xe9{\xe2\x00\xca\r\x15\x0e+`\xb5\xda>\xed\x05qp\x9di;\xacc\x9b\xf1\xb8K\xf9\xf4\xc8v\xb2m\x93\x94]\x90\xf0-\xf6\xfc\xf9\xcdo\xfed\xaa\xba\xae+\xe5\xe9\t9\x90\xb3-(O\xf8\xa7\xa0M_\xa1y\xfe.4\xe4V\xc7\xcf\xd53ٮ\x85u\f\xe2\xfaG\f.\xb2\xc6\x1fpG\x96\x84\x9c\xadz\x14\xd5)Qm\x05\xa0\xacu\xa2\xd2uH\x9f\x00\xdaYag\fr\xbdG\xdb<\xc7-n#\x99\x0e9\x1b\x1f]\x1f?5\xdf6\x9f*\x00͘տP\x8fAT\xef[\xb0ј\n\xc0\xaa\x1e[\b\xc8II\x94\xc4\xc0\xf8G\xc4 \xa19\xa2Av\r\xb9*x\xd4\xc9\xf1\x9e]\xf4-\x9c\x1f\x8a\xfe\x00\xaa\x04\xb4ɦ6\xd9\xd4c1\x95_\r\x05\xf9\xe9\x96\xc4\xcf4Hy\x13Y\x99e@Y \x1c\x1c\xcb\xfd\xd9i\r!py!\xbb\x8fF\xf1\xa2r\x05\x10\xb4\xf3\xd8B\xd6\xf5JcW\x01\fLe[\xf5\xc0\xc5\xf1s1\xa7\x0fث\xe2\x04\xc0y\xb4\xdf?\xdc=}\xb3\xb9\xba\x06\xe80h&/\x99\xef\x85Ȁ\x02(\x18P\x808PZc\b\xa0#3Z\x81\x82\x12\xc8\xee\x1c\xf79G\xaf\xa6\x01\xd4\xd6E\x019 d\x05\xd9*\x03Ge\"~\r\xcavЫ\x130&/\x10텽,\x12\x1a\xf8\xc51f2[8\x88\xf8ЮV{\x92\xb1\xeb\xb4\xeb\xfbhIN\xab\xdc@\xb4\x8d\xe28\xac:<\xa2Y\x05\xda\u05ca\xf5\x81\x04\xb5Dƕ\xf2Tg\xe86w^\xd3w_\xf1Ч\xe1\xe3\x15V9\xa5\xca\n\xc2d\xf7\x17\x0f\xb9!\xfe!\x03\xa9\x1dJ}\x14\xd5\x12ř\xe8t\x95\xd8y\xfcq\xf3\x05F\xd79\x19S\xf63\xefg\xc5pNA\"\x8c\xec\x0e\xb9$qǮ\xcf6\xd1vޑ-ե\r\xa1\x9d\xd2\x1f\xe2\xb6'\tc\xed\xa6\\5\xb0Σ\b\xb6\b\xd1wJ\xb0k\xe0\xce\xc2Z\xf5h\xd6*\xe0\xff\x9e\x80\xc4t\xa8\x13\xb1\xefK\xc1\xe5\x14\x9d\n\x17\xd6.\x1e\xc61w#_\vݽ\xf1\xa8S\x06\x13\x89I\x9bv\xa4s{\xc0\xce1\xa8%\x95\xe6]H\xb2ƿ\xc42L\x92\x82f2_R\u007f\xbe\x8dfy\x9c䗃\n8\xbd\x9c`zH2S\xff\x86v\xa8O\xda`1Q\xa6\t\xbe\r%\x1d\xb4\xb1\x9f\xfb\xac\xe1\x1e_\x16n\x1fإɚ\xe7\xfa\xf5\xb9Q\x1bP\xfe7{\xb2\xb3p\xa7\x91\x15\xa9\xfc\x0f\xbb\x1c\xd5\x17\x03z0\x04\x1c\xadM};\x9b\x90\x19\xc8t\x92\xcfdH\xb0_@\xb3\x88\xe7\xce\xee\\\xde\x04Tr\xac\xa4\xf4\x13\x0e\xc9\x1e\xfc\x14\\\v\x06o纜\xf9\xf0z\x17\xa1\xe5\xe4?\xe9\u007fSN\xe3\x86\x18\x17}\xd7\x19\xd5\xe2C\xf2\xb8\xc4\xf8r\u007f\r(\xa31jk\xb0\x05\xe18\xd7.\xba\x8aY\x9d\xa6U3\x96\xday\x9fz\xa3\x80f\n\xa9O^\x0ehou\x03\xbc\xa8锿\xf2\f\xdb\xd3-\xd5\xf5\xebr8o\xa9R\xba-\xa4\xd9]\v-p\xf6.R\x16\xb3WJzq\xf3\x98\x11\xb2\xb9\x94\x1dg\xc6Uk\x8c\x8b\xc8<\x86\x9b\x10\x16\x93=\xbb\xcc滋\xf0\x828V\xfb1\xe0\xf3\xe8M\x9b\x9a\x17\xec\xee\xa7+\xee\x87\x0fW\xbbj\xfe\xd4\xcevT6t\xf8\xf5\xb7\xaaX\xc5\xeei\\0\xd3\xe5\xdf\x01\x00\x00\xff\xff\xfb\xb1p\x12\x1b\f\x00\x00"), []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xb4VM\x8f\xdb6\x10\xbd\xebW\f\xd2C.\x95\x9c\xa0\x87\x16\xba\x05n\x0fA\xd3`\x11\xa7\xbe\x14=\xd0\xe4Ȟ.E\xb2\x9c\xa1\xdb\xed\xaf/HQ돕\xb7Y\xa0э\xc3\xe1\x9b7o>\xec\xa6m\xdbF\x05\xdabd\xf2\xae\a\x15\b\xff\x16t\xf9\xc4\xdd\xfd\x0fܑ_\x1d\xdf6\xf7\xe4L\x0f\xeb\xc4\xe2\xc7O\xc8>E\x8d?\xe2@\x8e\x84\xbckF\x14e\x94\xa8\xbe\x01P\xceyQ\xd9\xcc\xf9\b\xa0\xbd\x93\xe8\xad\xc5\xd8\xee\xd1u\xf7i\x87\xbbD\xd6`,\xe0s\xe8\xe3\x9b\xee\xfb\xeeM\x03\xa0#\x96\xe7\x9fiD\x165\x86\x1e\\\xb2\xb6\x01pj\xc4\x1e\x8eަ\x11٩\xc0\a/\xd6\xeb)XwD\x8b\xd1w\xe4\x1b\x0e\xa8s\xec}\xf4)\xf4p\xba\x98 *\xaf)\xa7mA\xdbT\xb4\x0f\x15\xad8Xb\xf9\xf9\x19\xa7\x0f\xc4R\x1c\x83MQٛ̊\x0f\x93\xdb'\xab\xe2-\xaf\x06\x80\xb5\x0f\xd8\xc3\xc7L1(\x8d\xa6\x01\xa8\xf2\x14\xca\xed,\xc0\xdb\tQ\x1fpTS.\x00>\xa0{w\xf7~\xfb\xdd\xe6\xc2\f`\x90u\xa4 E\xe4\xe5D\x80\x18\x14\xccL\xe0\xaf\x03F\x84mQ\rX|D\xae\xa4\x1fA\x01f\xfe\xdc=\x1aC\xf4\x01\xa3\xd0,\xf0\xf4\x9d\xb5י\xf5\x8a\xd7\xebL}\xf2\x02\x93\xfb\n\x19\xe4\x80s\xfahj\xb6\xe0\a\x90\x031D\f\x11\x19\x9d\x9c\xcau\xfa\xfc\x00ʁ\xdf\xfd\x81Z:\xd8`\xcc0\xc0\a\x9f\xac\xc9\xedx\xc4(\x10Q\xfb\xbd\xa3\u007f\x1e\xb1\x19ė\xa0V\t\xd6ʞ>r\x82\xd1)\vGe\x13~\v\xca\x19\x18\xd5\x03D\xccQ \xb93\xbc\xe2\xc2\x1d\xfc\xe2#\x02\xb9\xc1\xf7p\x10\tܯV{\x92y\xac\xb4\x1f\xc7\xe4H\x1eVeBh\x97\xc4G^\x19<\xa2]1\xed[\x15\xf5\x81\x04\xb5\xa4\x88+\x15\xa8-\xd4\xdd\xd4\xed\xa3\xf9&\xd6A\xe4\xd7\x17\\\xe5!w\x11K$\xb7?\xbb(\xed\xfeL\x05r\xa7O\x8d0=\x9d\xb28\t\x9dMY\x9dO?m>\xc3\x1c\xba\x14\xe3Z\xfd\xa2\xfb\xe9!\x9fJ\x90\x05#7`\x9c\x8a8D?\x16Lt&xrR\x0e\xda\x12\xbak\xf99\xedF\x92\\\xf7?\x13\xb2\xe4Zu\xb0.\xbb\x06v\b)\x18%h:x\xef`\xadF\xb4k\xc5\xf8\xd5\v\x90\x95\xe66\v\xfbe%8_\x93\xd7Γj\xe7\x03V\x97؍z-O\xf2&\xa0\xbe\x18\xa0\x8cB\x03\xd5\xc9\x1e|\xbc\xd2U\xcds\xbe\x8c\xd7]\xb8/\x0f8L;~\xa0\xfd\xb5\x15@\x19S~!\x94\xbd\xbb\xf9\xf6\x19\xc1\x16\xf2^\x97H\xb9Q\a\x1f3\xa3#\x19\x8c\xed\x9cge\x92bM\x98\xd0\x1a\xee\x9e@\xdeм&Y \x9fҼ\xe0qW\xdd2\x93,\xf4\xfcl\xdaPX\x17fY\x9fj\x8f\xb7\x18,d\x9c;\x9c\"^\xcdj\xfb\x18\xe0\x8bzG\x94$~y\xf7\x94g\xd5sW;H\xa7\x18\xd1I\xc5\\ش\xffO\a\x85\x83b\xfc\x0f͗#\xdc\xe5\x97s\x19,\r\xa8\x1f\xb4\xc5\t\x10\xfc\xb0\xd0m/\xa2\x9c?ti|ʭ\x85wGEV\xed,.\xdc\xfd\xea\xd4\xcdۛ\xc5_\xac\xe7\x13#\xe7ujz\x90\x98&\xec\xdae\xd5r\xaa\xbe\xd2\x1a\x83\xa0\xf9x\xfd\xaf\xe7ի\x8b?.娽\x9b\x86\x95{\xf8\xed\xf7fBE\xb3\x9d\xff\x81d\xe3\xbf\x01\x00\x00\xff\xff\xbf\xca\xff\xa71\n\x00\x00"), } diff --git a/pkg/apis/velero/v1/backup.go b/pkg/apis/velero/v1/backup.go index 7fc0f7a4c6..232955a35d 100644 --- a/pkg/apis/velero/v1/backup.go +++ b/pkg/apis/velero/v1/backup.go @@ -110,6 +110,12 @@ type BackupSpec struct { // +optional // +nullable OrderedResources map[string]string `json:"orderedResources,omitempty"` + + // CSISnapshotTimeout specifies the time used to wait for CSI VolumeSnapshot status turns to + // ReadyToUse during creation, before returning error as timeout. + // The default value is 10 minute. + // +optional + CSISnapshotTimeout metav1.Duration `json:"csiSnapshotTimeout,omitempty"` } // BackupHooks contains custom behaviors that should be executed at different phases of the backup. diff --git a/pkg/apis/velero/v1/zz_generated.deepcopy.go b/pkg/apis/velero/v1/zz_generated.deepcopy.go index c0a8f2c567..9cc49a8b5b 100644 --- a/pkg/apis/velero/v1/zz_generated.deepcopy.go +++ b/pkg/apis/velero/v1/zz_generated.deepcopy.go @@ -250,6 +250,7 @@ func (in *BackupSpec) DeepCopyInto(out *BackupSpec) { (*out)[key] = val } } + out.CSISnapshotTimeout = in.CSISnapshotTimeout } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupSpec. diff --git a/pkg/builder/backup_builder.go b/pkg/builder/backup_builder.go index 0fa2a3b7fe..73a994b465 100644 --- a/pkg/builder/backup_builder.go +++ b/pkg/builder/backup_builder.go @@ -233,3 +233,9 @@ func (b *BackupBuilder) OrderedResources(orders map[string]string) *BackupBuilde b.object.Spec.OrderedResources = orders return b } + +// CSISnapshotTimeout sets the Backup's CSISnapshotTimeout +func (b *BackupBuilder) CSISnapshotTimeout(timeout time.Duration) *BackupBuilder { + b.object.Spec.CSISnapshotTimeout.Duration = timeout + return b +} diff --git a/pkg/cmd/cli/backup/create.go b/pkg/cmd/cli/backup/create.go index 6190d7f9a1..3c2c23838d 100644 --- a/pkg/cmd/cli/backup/create.go +++ b/pkg/cmd/cli/backup/create.go @@ -98,6 +98,7 @@ type CreateOptions struct { SnapshotLocations []string FromSchedule string OrderedResources string + CSISnapshotTimeout time.Duration client veleroclient.Interface } @@ -122,6 +123,7 @@ func (o *CreateOptions) BindFlags(flags *pflag.FlagSet) { flags.StringSliceVar(&o.SnapshotLocations, "volume-snapshot-locations", o.SnapshotLocations, "List of locations (at most one per provider) where volume snapshots should be stored.") flags.VarP(&o.Selector, "selector", "l", "Only back up resources matching this label selector.") flags.StringVar(&o.OrderedResources, "ordered-resources", "", "Mapping Kinds to an ordered list of specific resources of that Kind. Resource names are separated by commas and their names are in format 'namespace/resourcename'. For cluster scope resource, simply use resource name. Key-value pairs in the mapping are separated by semi-colon. Example: 'pods=ns1/pod1,ns1/pod2;persistentvolumeclaims=ns1/pvc4,ns1/pvc8'. Optional.") + flags.DurationVar(&o.CSISnapshotTimeout, "csi-snapshot-timeout", o.CSISnapshotTimeout, "How long to wait for CSI snapshot creation before timeout.") f := flags.VarPF(&o.SnapshotVolumes, "snapshot-volumes", "", "Take snapshots of PersistentVolumes as part of the backup.") // this allows the user to just specify "--snapshot-volumes" as shorthand for "--snapshot-volumes=true" // like a normal bool flag @@ -332,7 +334,8 @@ func (o *CreateOptions) BuildBackup(namespace string) (*velerov1api.Backup, erro LabelSelector(o.Selector.LabelSelector). TTL(o.TTL). StorageLocation(o.StorageLocation). - VolumeSnapshotLocations(o.SnapshotLocations...) + VolumeSnapshotLocations(o.SnapshotLocations...). + CSISnapshotTimeout(o.CSISnapshotTimeout) if len(o.OrderedResources) > 0 { orders, err := ParseOrderedResources(o.OrderedResources) if err != nil { diff --git a/pkg/cmd/cli/backup/create_test.go b/pkg/cmd/cli/backup/create_test.go index 401e93e473..8941630256 100644 --- a/pkg/cmd/cli/backup/create_test.go +++ b/pkg/cmd/cli/backup/create_test.go @@ -19,6 +19,7 @@ package backup import ( "context" "testing" + "time" "github.com/stretchr/testify/assert" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -35,6 +36,7 @@ func TestCreateOptions_BuildBackup(t *testing.T) { o.Labels.Set("velero.io/test=true") o.OrderedResources = "pods=p1,p2;persistentvolumeclaims=pvc1,pvc2" orders, err := ParseOrderedResources(o.OrderedResources) + o.CSISnapshotTimeout = 20 * time.Minute assert.NoError(t, err) backup, err := o.BuildBackup(testNamespace) @@ -46,6 +48,7 @@ func TestCreateOptions_BuildBackup(t *testing.T) { SnapshotVolumes: o.SnapshotVolumes.Value, IncludeClusterResources: o.IncludeClusterResources.Value, OrderedResources: orders, + CSISnapshotTimeout: metav1.Duration{Duration: o.CSISnapshotTimeout}, }, backup.Spec) assert.Equal(t, map[string]string{ diff --git a/pkg/cmd/cli/schedule/create.go b/pkg/cmd/cli/schedule/create.go index c5fe9398cc..e32a71c0cd 100644 --- a/pkg/cmd/cli/schedule/create.go +++ b/pkg/cmd/cli/schedule/create.go @@ -145,6 +145,7 @@ func (o *CreateOptions) Run(c *cobra.Command, f client.Factory) error { VolumeSnapshotLocations: o.BackupOptions.SnapshotLocations, DefaultVolumesToRestic: o.BackupOptions.DefaultVolumesToRestic.Value, OrderedResources: orders, + CSISnapshotTimeout: metav1.Duration{Duration: o.BackupOptions.CSISnapshotTimeout}, }, Schedule: o.Schedule, UseOwnerReferencesInBackup: &o.UseOwnerReferencesInBackup, diff --git a/pkg/cmd/server/server.go b/pkg/cmd/server/server.go index 3c83ba75a3..e837020d3a 100644 --- a/pkg/cmd/server/server.go +++ b/pkg/cmd/server/server.go @@ -102,6 +102,8 @@ const ( // the default TTL for a backup defaultBackupTTL = 30 * 24 * time.Hour + defaultCSISnapshotTimeout = 10 * time.Minute + // defaultCredentialsDirectory is the path on disk where credential // files will be written to defaultCredentialsDirectory = "/tmp/credentials" @@ -111,7 +113,7 @@ type serverConfig struct { // TODO(2.0) Deprecate defaultBackupLocation pluginDir, metricsAddress, defaultBackupLocation string backupSyncPeriod, podVolumeOperationTimeout, resourceTerminatingTimeout time.Duration - defaultBackupTTL, storeValidationFrequency time.Duration + defaultBackupTTL, storeValidationFrequency, defaultCSISnapshotTimeout time.Duration restoreResourcePriorities []string defaultVolumeSnapshotLocations map[string]string restoreOnly bool @@ -142,6 +144,7 @@ func NewCommand(f client.Factory) *cobra.Command { defaultVolumeSnapshotLocations: make(map[string]string), backupSyncPeriod: defaultBackupSyncPeriod, defaultBackupTTL: defaultBackupTTL, + defaultCSISnapshotTimeout: defaultCSISnapshotTimeout, storeValidationFrequency: defaultStoreValidationFrequency, podVolumeOperationTimeout: defaultPodVolumeOperationTimeout, restoreResourcePriorities: defaultRestorePriorities, @@ -650,6 +653,7 @@ func (s *server) runControllers(defaultVolumeSnapshotLocations map[string]string s.config.defaultBackupLocation, s.config.defaultVolumesToRestic, s.config.defaultBackupTTL, + s.config.defaultCSISnapshotTimeout, s.sharedInformerFactory.Velero().V1().VolumeSnapshotLocations().Lister(), defaultVolumeSnapshotLocations, s.metrics, diff --git a/pkg/controller/backup_controller.go b/pkg/controller/backup_controller.go index 3f54e8f4f3..eff0861ebd 100644 --- a/pkg/controller/backup_controller.go +++ b/pkg/controller/backup_controller.go @@ -87,6 +87,7 @@ type backupController struct { defaultBackupLocation string defaultVolumesToRestic bool defaultBackupTTL time.Duration + defaultCSISnapshotTimeout time.Duration snapshotLocationLister velerov1listers.VolumeSnapshotLocationLister defaultSnapshotLocations map[string]string metrics *metrics.ServerMetrics @@ -111,6 +112,7 @@ func NewBackupController( defaultBackupLocation string, defaultVolumesToRestic bool, defaultBackupTTL time.Duration, + defaultCSISnapshotTimeout time.Duration, volumeSnapshotLocationLister velerov1listers.VolumeSnapshotLocationLister, defaultSnapshotLocations map[string]string, metrics *metrics.ServerMetrics, @@ -135,6 +137,7 @@ func NewBackupController( defaultBackupLocation: defaultBackupLocation, defaultVolumesToRestic: defaultVolumesToRestic, defaultBackupTTL: defaultBackupTTL, + defaultCSISnapshotTimeout: defaultCSISnapshotTimeout, snapshotLocationLister: volumeSnapshotLocationLister, defaultSnapshotLocations: defaultSnapshotLocations, metrics: metrics, @@ -359,6 +362,11 @@ func (c *backupController) prepareBackupRequest(backup *velerov1api.Backup) *pkg request.Spec.TTL.Duration = c.defaultBackupTTL } + if request.Spec.CSISnapshotTimeout.Duration == 0 { + // set default CSI VolumeSnapshot timeout + request.Spec.CSISnapshotTimeout.Duration = c.defaultCSISnapshotTimeout + } + // calculate expiration request.Status.Expiration = &metav1.Time{Time: c.clock.Now().Add(request.Spec.TTL.Duration)} @@ -638,7 +646,7 @@ func (c *backupController) runBackup(backup *pkgbackup.Request) error { backupLog.Error(err) } - err = c.checkVolumeSnapshotReadyToUse(context.Background(), volumeSnapshots) + err = c.checkVolumeSnapshotReadyToUse(context.Background(), volumeSnapshots, backup.Spec.CSISnapshotTimeout.Duration) if err != nil { backupLog.Errorf("fail to wait VolumeSnapshot change to Ready: %s", err.Error()) } @@ -879,9 +887,10 @@ func encodeToJSONGzip(data interface{}, desc string) (*bytes.Buffer, []error) { // using goroutine here instead of waiting in CSI plugin, because it's not easy to make BackupItemAction // parallel by now. After BackupItemAction parallel is implemented, this logic should be moved to CSI plugin // as https://github.com/vmware-tanzu/velero-plugin-for-csi/pull/100 -func (c *backupController) checkVolumeSnapshotReadyToUse(ctx context.Context, volumesnapshots []*snapshotv1api.VolumeSnapshot) error { +func (c *backupController) checkVolumeSnapshotReadyToUse(ctx context.Context, volumesnapshots []*snapshotv1api.VolumeSnapshot, + csiSnapshotTimeout time.Duration) error { eg, _ := errgroup.WithContext(ctx) - timeout := 10 * time.Minute + timeout := csiSnapshotTimeout interval := 5 * time.Second for _, vs := range volumesnapshots { diff --git a/pkg/controller/pod_volume_backup_controller.go b/pkg/controller/pod_volume_backup_controller.go index 8bce92ed7c..420e3ca9cf 100644 --- a/pkg/controller/pod_volume_backup_controller.go +++ b/pkg/controller/pod_volume_backup_controller.go @@ -208,19 +208,6 @@ func (r *PodVolumeBackupReconciler) SetupWithManager(mgr ctrl.Manager) error { Complete(r) } -func (r *PodVolumeBackupReconciler) singlePathMatch(path string) (string, error) { - matches, err := r.FileSystem.Glob(path) - if err != nil { - return "", errors.WithStack(err) - } - - if len(matches) != 1 { - return "", errors.Errorf("expected one matching path: %s, got %d", path, len(matches)) - } - - return matches[0], nil -} - // getParentSnapshot finds the most recent completed PodVolumeBackup for the // specified PVC and returns its Restic snapshot ID. Any errors encountered are // logged but not returned since they do not prevent a backup from proceeding. @@ -317,7 +304,7 @@ func (r *PodVolumeBackupReconciler) buildResticCommand(ctx context.Context, log pathGlob := fmt.Sprintf("/host_pods/%s/volumes/*/%s", string(pvb.Spec.Pod.UID), volDir) log.WithField("pathGlob", pathGlob).Debug("Looking for path matching glob") - path, err := r.singlePathMatch(pathGlob) + path, err := kube.SinglePathMatch(pathGlob, r.FileSystem, log) if err != nil { return nil, errors.Wrap(err, "identifying unique volume path on host") } diff --git a/pkg/controller/pod_volume_restore_controller.go b/pkg/controller/pod_volume_restore_controller.go index 3315dae3ba..14671834e7 100644 --- a/pkg/controller/pod_volume_restore_controller.go +++ b/pkg/controller/pod_volume_restore_controller.go @@ -215,19 +215,6 @@ func getResticInitContainerIndex(pod *corev1api.Pod) int { return -1 } -func singlePathMatch(path string) (string, error) { - matches, err := filepath.Glob(path) - if err != nil { - return "", errors.WithStack(err) - } - - if len(matches) != 1 { - return "", errors.Errorf("expected one matching path: %s, got %d", path, len(matches)) - } - - return matches[0], nil -} - func (c *PodVolumeRestoreReconciler) processRestore(ctx context.Context, req *velerov1api.PodVolumeRestore, pod *corev1api.Pod, log logrus.FieldLogger) error { volumeDir, err := kube.GetVolumeDirectory(ctx, log, pod, req.Spec.Volume, c.Client) if err != nil { @@ -236,7 +223,9 @@ func (c *PodVolumeRestoreReconciler) processRestore(ctx context.Context, req *ve // Get the full path of the new volume's directory as mounted in the daemonset pod, which // will look like: /host_pods//volumes// - volumePath, err := singlePathMatch(fmt.Sprintf("/host_pods/%s/volumes/*/%s", string(req.Spec.Pod.UID), volumeDir)) + volumePath, err := kube.SinglePathMatch( + fmt.Sprintf("/host_pods/%s/volumes/*/%s", string(req.Spec.Pod.UID), volumeDir), + c.fileSystem, log) if err != nil { return errors.Wrap(err, "error identifying path of volume") } diff --git a/pkg/util/kube/utils.go b/pkg/util/kube/utils.go index 24b2ef6c70..bf7ac0011c 100644 --- a/pkg/util/kube/utils.go +++ b/pkg/util/kube/utils.go @@ -34,15 +34,20 @@ import ( "k8s.io/apimachinery/pkg/util/wait" corev1client "k8s.io/client-go/kubernetes/typed/core/v1" "sigs.k8s.io/controller-runtime/pkg/client" + + "github.com/vmware-tanzu/velero/pkg/util/filesystem" ) // These annotations are taken from the Kubernetes persistent volume/persistent volume claim controller. // They cannot be directly importing because they are part of the kubernetes/kubernetes package, and importing that package is unsupported. // Their values are well-known and slow changing. They're duplicated here as constants to provide compile-time checking. // Originals can be found in kubernetes/kubernetes/pkg/controller/volume/persistentvolume/util/util.go. -const KubeAnnBindCompleted = "pv.kubernetes.io/bind-completed" -const KubeAnnBoundByController = "pv.kubernetes.io/bound-by-controller" -const KubeAnnDynamicallyProvisioned = "pv.kubernetes.io/provisioned-by" +const ( + KubeAnnBindCompleted = "pv.kubernetes.io/bind-completed" + KubeAnnBoundByController = "pv.kubernetes.io/bound-by-controller" + KubeAnnDynamicallyProvisioned = "pv.kubernetes.io/provisioned-by" + KubeAnnMigratedTo = "pv.kubernetes.io/migrated-to" +) // NamespaceAndName returns a string in the format / func NamespaceAndName(objMeta metav1.Object) string { @@ -163,6 +168,9 @@ func GetVolumeDirectory(ctx context.Context, log logrus.FieldLogger, pod *corev1 return pvc.Spec.VolumeName, nil } +// isProvisionedByCSI function checks whether this is a CSI PV by annotation. +// Either "pv.kubernetes.io/provisioned-by" or "pv.kubernetes.io/migrated-to" indicates +// PV is provisioned by CSI. func isProvisionedByCSI(log logrus.FieldLogger, pv *corev1api.PersistentVolume, kbClient client.Client) (bool, error) { if pv.Spec.CSI != nil { return true, nil @@ -171,14 +179,15 @@ func isProvisionedByCSI(log logrus.FieldLogger, pv *corev1api.PersistentVolume, // Refer to https://github.com/vmware-tanzu/velero/issues/4496 for more details if pv.Annotations != nil { driverName := pv.Annotations[KubeAnnDynamicallyProvisioned] - if len(driverName) > 0 { + migratedDriver := pv.Annotations[KubeAnnMigratedTo] + if len(driverName) > 0 || len(migratedDriver) > 0 { list := &storagev1api.CSIDriverList{} if err := kbClient.List(context.TODO(), list); err != nil { return false, err } for _, driver := range list.Items { - if driverName == driver.Name { - log.Debugf("the annotation %s=%s indicates the volume is provisioned by a CSI driver", KubeAnnDynamicallyProvisioned, driverName) + if driverName == driver.Name || migratedDriver == driver.Name { + log.Debugf("the annotation %s or %s equals to %s indicates the volume is provisioned by a CSI driver", KubeAnnDynamicallyProvisioned, KubeAnnMigratedTo, driverName) return true, nil } } @@ -187,6 +196,21 @@ func isProvisionedByCSI(log logrus.FieldLogger, pv *corev1api.PersistentVolume, return false, nil } +// SinglePathMatch function will be called by PVB and PVR controller to check whether pass-in volume path is valid. +// Check whether there is only one match by the path's pattern (/host_pods/%s/volumes/*/volume_name/[mount|]). +func SinglePathMatch(path string, fs filesystem.Interface, log logrus.FieldLogger) (string, error) { + matches, err := fs.Glob(path) + if err != nil { + return "", errors.WithStack(err) + } + if len(matches) != 1 { + return "", errors.Errorf("expected one matching path: %s, got %d", path, len(matches)) + } + + log.Debugf("This is a valid volume path: %s.", matches[0]) + return matches[0], nil +} + // IsV1CRDReady checks a v1 CRD to see if it's ready, with both the Established and NamesAccepted conditions. func IsV1CRDReady(crd *apiextv1.CustomResourceDefinition) bool { var isEstablished, namesAccepted bool diff --git a/pkg/util/kube/utils_test.go b/pkg/util/kube/utils_test.go index 4a6db60695..178fa425fc 100644 --- a/pkg/util/kube/utils_test.go +++ b/pkg/util/kube/utils_test.go @@ -197,6 +197,13 @@ func TestGetVolumeDirectorySuccess(t *testing.T) { pv: builder.ForPersistentVolume("a-pv").ObjectMeta(builder.WithAnnotations(KubeAnnDynamicallyProvisioned, "csi.test.com")).Result(), want: "a-pv/mount", }, + { + name: "Volume with CSI annotation 'pv.kubernetes.io/migrated-to' appends '/mount' to the volume name", + pod: builder.ForPod("ns-1", "my-pod").Volumes(builder.ForVolume("my-vol").PersistentVolumeClaimSource("my-pvc").Result()).Result(), + pvc: builder.ForPersistentVolumeClaim("ns-1", "my-pvc").VolumeName("a-pv").Result(), + pv: builder.ForPersistentVolume("a-pv").ObjectMeta(builder.WithAnnotations(KubeAnnMigratedTo, "csi.test.com")).Result(), + want: "a-pv/mount", + }, } csiDriver := storagev1api.CSIDriver{ @@ -425,3 +432,13 @@ func TestIsCRDReady(t *testing.T) { _, err = IsCRDReady(obj) assert.NotNil(t, err) } + +func TestSinglePathMatch(t *testing.T) { + fakeFS := velerotest.NewFakeFileSystem() + fakeFS.MkdirAll("testDir1/subpath", 0755) + fakeFS.MkdirAll("testDir2/subpath", 0755) + + _, err := SinglePathMatch("./*/subpath", fakeFS, logrus.StandardLogger()) + assert.NotNil(t, err) + assert.Contains(t, err.Error(), "expected one matching path") +} diff --git a/site/content/docs/main/api-types/backup.md b/site/content/docs/main/api-types/backup.md index 37cb30bf9e..23805b21d7 100644 --- a/site/content/docs/main/api-types/backup.md +++ b/site/content/docs/main/api-types/backup.md @@ -29,6 +29,10 @@ metadata: namespace: velero # Parameters about the backup. Required. spec: + # CSISnapshotTimeout specifies the time used to wait for + # CSI VolumeSnapshot status turns to ReadyToUse during creation, before + # returning error as timeout. The default value is 10 minute. + csiSnapshotTimeout: 10m # Array of namespaces to include in the backup. If unspecified, all namespaces are included. # Optional. includedNamespaces: diff --git a/site/content/docs/main/api-types/schedule.md b/site/content/docs/main/api-types/schedule.md index 9c5dc26cee..5bc430c8ff 100644 --- a/site/content/docs/main/api-types/schedule.md +++ b/site/content/docs/main/api-types/schedule.md @@ -34,6 +34,10 @@ spec: schedule: 0 7 * * * # Template is the spec that should be used for each backup triggered by this schedule. template: + # CSISnapshotTimeout specifies the time used to wait for + # CSI VolumeSnapshot status turns to ReadyToUse during creation, before + # returning error as timeout. The default value is 10 minute. + csiSnapshotTimeout: 10m # Array of namespaces to include in the scheduled backup. If unspecified, all namespaces are included. # Optional. includedNamespaces: diff --git a/site/content/docs/main/examples.md b/site/content/docs/main/examples.md index 58a35fd5da..d774b387dd 100644 --- a/site/content/docs/main/examples.md +++ b/site/content/docs/main/examples.md @@ -47,10 +47,10 @@ cd velero kubectl apply -f examples/nginx-app/with-pv.yaml ``` -1. Create a backup with PV snapshotting: +1. Create a backup with PV snapshotting. `--csi-snapshot-timeout` is used to setup time to wait before CSI snapshot creation timeout. The default value is 10 minutes: ```bash - velero backup create nginx-backup --include-namespaces nginx-example + velero backup create nginx-backup --include-namespaces nginx-example --csi-snapshot-timeout=20m ``` 1. Simulate a disaster: diff --git a/site/content/docs/v1.9/api-types/backup.md b/site/content/docs/v1.9/api-types/backup.md index 37cb30bf9e..11f37fc502 100644 --- a/site/content/docs/v1.9/api-types/backup.md +++ b/site/content/docs/v1.9/api-types/backup.md @@ -29,6 +29,11 @@ metadata: namespace: velero # Parameters about the backup. Required. spec: + # Available since v1.9.1. + # CSISnapshotTimeout specifies the time used to wait for + # CSI VolumeSnapshot status turns to ReadyToUse during creation, before + # returning error as timeout. The default value is 10 minute. + csiSnapshotTimeout: 10m # Array of namespaces to include in the backup. If unspecified, all namespaces are included. # Optional. includedNamespaces: diff --git a/site/content/docs/v1.9/api-types/schedule.md b/site/content/docs/v1.9/api-types/schedule.md index 9c5dc26cee..ccc441999d 100644 --- a/site/content/docs/v1.9/api-types/schedule.md +++ b/site/content/docs/v1.9/api-types/schedule.md @@ -34,6 +34,11 @@ spec: schedule: 0 7 * * * # Template is the spec that should be used for each backup triggered by this schedule. template: + # Available since v1.9.1. + # CSISnapshotTimeout specifies the time used to wait for + # CSI VolumeSnapshot status turns to ReadyToUse during creation, before + # returning error as timeout. The default value is 10 minute. + csiSnapshotTimeout: 10m # Array of namespaces to include in the scheduled backup. If unspecified, all namespaces are included. # Optional. includedNamespaces: