rancher / rke2

https://docs.rke2.io/
Apache License 2.0
1.51k stars 264 forks source link

rke2-ingress-nginx does not watch Ingress resources without IngressClassName set #6510

Closed hyeluoh closed 3 weeks ago

hyeluoh commented 1 month ago

Environmental Info: RKE2 Version: v1.30.3

rke2 version v1.30.3+rke2r1 go version go1.22.5 X:boringcrypto Node(s) CPU architecture, OS, and Version:

arm64 centos 7.9 Cluster Configuration:

1 server 3 agents Describe the bug:

After upgrading from RKE2 v1.29.7 to v1.30.3, services within the Kubernetes cluster that are accessed through Ingress are returning 404 errors. Steps To Reproduce:

Expected behavior:

Actual behavior:

Additional context / logs:

brandond commented 1 month ago

Can you provide an example showing how exactly you'd configured the ingress settings? What specifically was missing?

nugzarg commented 1 month ago

The reason fro this issue is missing annotation ingressclass.kubernetes.io/is-default-class: "true" for nginx IngressClass. I'm not sure, but it seems that nginx IngressClass was set automatically as default in previous version. Which is not the case now. Simple workaround is t0 set this annotation manually, or change nginx-ingress helm chart configuration. Example:

apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
  name: rke2-ingress-nginx
  namespace: kube-system
spec:
  valuesContent: |-
    controller:
      ingressClassResource:
        name: nginx
        enabled: true
        default: true
brandond commented 1 month ago

That should be handled when the chart is upgraded, via the .global.systemDefaultIngressClass chart value that is injected into the chart values. Have you customized the ingress chart deployment in any other way? Can you provide the output of kubectl get helmchart -n kube-system rke2-ingress-nginx -o yaml?

nugzarg commented 1 month ago

Yes, I have customized helm chart od nginx ingress. Here the customized helm chart config:

---
apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
  name: rke2-ingress-nginx
  namespace: kube-system
spec:
  valuesContent: |-
    controller:
      allowSnippetAnnotations: true
      enableAnnotationValidations: true
      hostNetwork: false
      hostPort:
        enabled: false
      service:
        enabled: true
        type: NodePort
        nodePorts:
          http: 32080
          https: 32443
          tcp:
            8080: 32808
        externalTrafficPolicy: Local
      dnsPolicy: ClusterFirst
      ingressClassResource:
        name: nginx
        enabled: true
        default: true
      ingressClass: nginx
      metrics:
        enabled: true
        serviceMonitor:
          enabled: true
      config:
        use-forwarded-headers: true
        compute-full-forwarded-for: true
        proxy-body-size: "200m"
        fail_timeout: "5s"
        enable-modsecurity: true
        enable-owasp-modsecurity-crs: true
        modsecurity-snippet: |
          SecAuditLog /dev/stdout
          SecAuditLogFormat JSON
        log-format-escape-json: "true"
        log-format-upstream: '{ 
          "time_local": "$time_local",
          "time_iso8601": "$time_iso8601",
          "network": {
             "forwarded_ip": "$http_x_forwarded_for", 
             "forwarded_original_ip": "$http_x_original_forwarded_for", 
             "real_ip": "$http_x_real_ip"
           },
          "user":{"name":"$remote_user"},
          "user_agent":{"original":"$http_user_agent"},
          "http":{
            "version": "$server_protocol",
            "request":{
              "body":{"bytes":$body_bytes_sent},
              "bytes": $request_length,
              "method":"$request_method",
              "referrer":"$http_referer"
            },
            "response":{
              "body":{"bytes":$body_bytes_sent},
              "bytes": $bytes_sent,
              "status_code":$status,
              "time":$request_time
            },
            "upstream": {
              "bytes": $upstream_response_length,
              "status_code":"$upstream_status",
              "time":$upstream_response_time,
              "address": "$upstream_addr",
              "name": "$proxy_upstream_name"
            }
          },
          "url":{
            "domain":"$host",
            "path":"$uri",
            "query":"$args",
            "original":"$request_uri"
          }
        }'

Section ingressClassResource: was not set before rke2 upgrade.

brandond commented 1 month ago

Please show the helmchart, not the helmchartconfig

nugzarg commented 1 month ago

Here the output of kubectl get helmchart -n kube-system rke2-ingress-nginx -o yaml

apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
  annotations:
    helm.cattle.io/chart-url: https://rke2-charts.rancher.io/assets/rke2-ingress-nginx/rke2-ingress-nginx-4.8.200.tgz
    helmcharts.cattle.io/managed-by: helm-controller
    objectset.rio.cattle.io/applied: H4sIAAAAAAAA/4yS3W7TQBCFXwXNLY7/1nESS1wUR0AEolJaKvVyvJ7Ei9e70c7G/FR5d7RpqhYKoZfjOXPm8+y5A9ypG3KsrIEKOtJDLNF7TbGyyZhBBL0yLVTwgfRQd+g8RDCQxxY9QnUHaIz16JU1HMo/HGSYmOydDube77hKEtdTPjk2OHZoZEcuSJGZPN93ldk6Yp6YrTLfHz5BBLb5StIz+dgp+2SNCoRn+vabITfZjj1U0Av+7RejVx+Vad9ctK09t+LewuBAUMFzyBdN8g5lGO/3DU34B3sa4BCBxob08Xr/suiQO6hgJkWzmRWbRV7mJc5oKposQzGfLsoNzbNpVhZpIUQbTM+RnmHhHclA0ljr2TvcQbVBzRTB8cVqazwZH/JQ8Kp+O6xe51/qC7H2sp6mt+ZmuH53K9Z9u/5k1p3cLvkyb8X7n8PVPBsS25flIr8e5fRSQQRMPqzaatugjqXesydXr5ZrqCBL4yKP0zhNshKiv2jG4n+q5eerk0TEaZylzwV2QBVif6pjbSXqR1m43RI9LpWDCpIRXaJVk5wye4zlo5jJjUrSE3zxAHY4HH4FAAD//ySeAJRoAwAA
    objectset.rio.cattle.io/id: ""
    objectset.rio.cattle.io/owner-gvk: k3s.cattle.io/v1, Kind=Addon
    objectset.rio.cattle.io/owner-name: rke2-ingress-nginx
    objectset.rio.cattle.io/owner-namespace: kube-system
  creationTimestamp: "2021-12-22T07:44:12Z"
  finalizers:
  - wrangler.cattle.io/helm-controller
  - wrangler.cattle.io/on-helm-chart-remove
  generation: 64
  labels:
    objectset.rio.cattle.io/hash: 7c3bf74f92626a7e53b11a38596fe8151640433d
  name: rke2-ingress-nginx
  namespace: kube-system
  resourceVersion: "1224480281"
  uid: e854442e-1d62-439e-86fe-ba1ebbfd7711
spec:
  bootstrap: false
  chartContent: H4sICBmI+2UCA3RtcC50YnVmTFY3RkdRLnRhcgDsO2d3GzmS81m/ok6692Tvc5OiHNbmhHdymBm9sWWdZW/etcHuIolTN9ALoCVxwn8/VAENgqRoWZuTJrAboRIqoYA253hYSDUzaG2hZlJdDS9E3aEdLERTf/YX+Tvwf48ePKBf+lv9HR3cH91/9NnowcPRo8MHhwcP7392MHp48PPRZ3Dw2d/gr7NOGE/Knwtnnbl/kr+9PeBVh1KrqZx1Rjip1Y5vfoPTMcyda+14OJxJN+8mg1I3w/NugkahQztc1ZtJrSfDRkg1rHRph51FU8w6WeGQ+4sVDH5uhVeDpvKodgjd6ws0xg+2MNUGZqjQD8QKDFrdmRJBiQbtzh6cIYLDpq0FkfB+jnWLxg5cW/tOGtRDGvv3aVfXq22E66WYYG3BaRBtWy/4oa4TKks0eVYbrcLIMfzwkwdmy2Yu7HwMYlKODu/7lmbBA3yLOD/3vPhZyhld12jGO8DUjGHZ5ptQiUmNR0ppx3L4hahlxU8ey1TUFv0g2YgZEgAAT+13iG3oAmGhwqnoasdSUvryv3hUOTdauyUAAIOtttJpsxiDEaqcownLkIw9J4sRMciJKM8vhakseAG0nrCJrKVbEBNWVmjAonMeBLg5snQDsdCZGi6koOYMN7AvAS8ifdlj6SzCz1D6geZnUHbGoHKJK4MzaZ1ZDANUbTJgRF8jHDVKZZ2oa6KjnAvjYLKA1ugLWfWkZU4MLmVde9HIOpKQC4ebnJiNYTeIZzR4MrhfeKAVKqxGu2EOXF5eFpVwAoqvoJMVjA5GQc6dOrLvLJpxahK15/bUyAtZ4wxf2FLUvMBjcKbDHYJWFODngFCAV9KyPE/PTpktFBXoKZQGBbdr5aekYae29ZTu9kCeRZNCS0xnmsaPQio0pIQEITWcsFJu+v1MIbaAb7Vx9CQcv67PgtrTiMp6knN8p34Wi5mdyRgeH6QXO4YHD+732H5JyySqCsrOOt2seiTQLf2w0Z4Q4uSalv5oEL2U1Kue6SZXFN4a0Q6Zbnphi490JWMN2CdIRGJFz+tC57lrhCfogwQ9g0iItglgjqJCYz1Gr/kIFlVQbyOmU1kSfrJW32pBlKU2oVffymk7g5g5bbwSTVv7UYEE+T1TGd+KSNAOkLFdLc7QfcstfwoXBm3r+cecHRZnLVG5FYbGf5W13vM0Zhz5t2uYec1aJ+p6Ab1EMNpCBZWywUJoZdPLJ0+fa+uOaiksWgKQvY7ht78PIEC23rEc/nxw4P8ZcVsYydFwHBsKmGo9qHUp6tQyESa1JEAexuBwcP/jcAw22mEOKDXdzFUCGlni520imQs1o5mSDetZ7YGh+Voa637pV/dbP/sEHUgFpbAIC93BXFwg7M9Dz6U258Gp7g8Y/NNFH0juweVc1gidJRWi8aDChHvsEDnW1x2R4sdE/0bD9i08PzkbwPGU8V1KO4fr3CMRfI7YBkAXhIVFCZLjJMM7f2wTVsKyjcOoPqe6luVivG1UL8CnwmDRoBN1CsrBlaT4m7N7G9OpsK31YugXHBn+cM9DLDzEgiAWESLTcRwmgnXCdRYuhYVJLdQ5TLAUnWX+DYK0oDScobmQJQJetdrGAN1DKIIzf5aES8st1lxol2atrCS1pMyhKNpuUks7L2xEN63FjMReeZBEqKqEqaCsdVdRFtO1FiqNRKELeeBOSJuMO9EVHiuHRon6uE1pVZD/qdElWptEoCf/h6XzMvBS1Z2DKNNntfCdInn6Yd5OMRimEuuKoabcN+ZLlIgVxaVw5TzF6Ai+KBku86an6wFoIpUwC4b5PMiFLCvRzxAj3b8M8JiclJlsMJgYaWMmAXdEVclkwiL02BbLwZKOu6TROb9PF8TxmiDfkt2vLnTIji281a2u9WwBR5fCILzRHedCUxSuM8jGRPF3hqRmLHmIq55JvG8aZKrvdd5F2EWjK/xyV3RO726VWCCoJ4epicTcyAxpplTkEaZJVzI1t176dRWSReLHMF4b7dzzJQ3oSwU/K6ySbYsu48zeA02cX0ob3afkbdNEVhUqGEJltJ8SlOtyjioioKjs5tpiDiu4zm9qPRE1RFzkxmL290q0QGtgneQtEi21Y9BM+lmYkGc0q4J5g3/spMGK6CMywmo9OzmGiaBVXC5On9UHMHDHduWcFEyTEC066FrK82mCqJq79xiDlapEBidUCD5kwFBpte+gkVewQDeAZ0JR3lZha7DkbaWmaR9PlPKcydrO/xzef3J4wGilhQbNjOWwEo0S73uU4XNfzJsfHzCJMeH16iYt6VYFkxS1IrCUMQcJvmAdhP2+ax9460ejewWtkgVDwEbTE4BsJnHMI2J/Ssm3D7dp/GbWHtkOkYtWeDUbblqtUHF8U/nIa5hb6b+ewyRanldjyVZ2/BycZsUi9DEedW0lHN7LRAvSpUCfiIw+jSidSIVV0E0BtvMZ6RX51/2ac8J9cgUR4/Hzfge2F6zeRkoMTqMVMw6Dgpujl869aao0MJTru2ywuq4l6WMVFZ1Siq++hNFg9Ji1yQTr2ux+suaB30Swmeg5CEXq8qE8IqRtnBcsZxzb4G3y0f36bFfKjel52M5B8Qqy7EIGxDPjwLj8CVjmSosQNDejIe9UPb42BDSPapN8ApjN+QWB8uvrBbmRH+0ukZ8KIxp0aNjzCqilOucqUkyI0yr222DCvQycEdBquEjMJ2IGrF+EQcekGeQ6kxFUSmSiQgBeOSOgTXQOaGD2nqfkX2+v+wSLiGIYlGs5DQfiXJwxmBzVM238xIalQ+tKocLegynltLCRCUmbUlms7hGTxErrB6Fy9/IlrbU+Zz3ZStOa3icdZlbzyl+VdvCtrrJ6CaW+VOnZAeoIE5K04BwX45Cl7fQwz7DsDMmKVNLLHVpyYhLtmkMkcDZA7afEGQk8Q8PrcnapwwbdCXtuh6JqpJJkI0W0laFd2NLV6TXWByms9nkV66CqYjYdxhM98SkREd7TpnDXEzAotcGB1Y248vyoXW8hj0dPDneTDI54gdN2cMXzBUtIfvCURB8yZwNf/+/zE3A65t0MTarcI0WPHpLlwcoOT5K2i8rG4VwdJLyxEhjTn8mC+lMuSBu7KkTesH/I4Ucy7AahTDqDU7pCIpx+LeVWhpKpRO3qapNim06R9ZNhxA1K3A5dEwRXB3w8Cq4KXocdhFRpVxBh9YxztUgq0vk4+VVnHSVFX/C+tRUlfjX8Io5+T21fRZfh5v3+JJUeX8pGuiC+UrfX+l4NgrcFkmo7CcUO8IzrmKf2T+P5JEJjpupEygr2z6HK0vn/vnP6+vn7k6NXL85Oj569uMuwElGRrb5+NUcViBxEAuDLLwMJ9/IKLW+m2KbqegnL+soDpr6sHS458a7Zn0RsWtULaGhs8LNp9BknG9oM4OtQ867lOSU4+kuqxqzsVLBp3eIeNCiU3UYTO/9N6IHvmw041cxg2NdCUksCeqPAy347cbImd1e2pA43E0Ij+929XdJwI+aP4L65xBvxRhBLWfBksVHI7apPZaar/j7MdNUnM8PgXomrhhxH7QlVFikCEqhKX6paiwq+Qf1SOjyE58KJSV/N3NtLUWxS69mgCVB4j3V4MHoyHB0OR4+HVs4UeQihXBHKgbZwuhBlTNgKoaqi46cZ6prwFFWPx6OJYF8G2r7DxYpOp4SLkppGMBMKQZhZ16AKIm6Fpd+t9SgG9mIwG9Cg4NAWKxns2dlLKNE4ZsOFMmUpeMu9AyEPOzKzJNK9rCm8pxy3sLYuMlCelzXnXBp0wTen0JtziepCGq2IN7gQRpL3SmWFSMsLdZHqy6klqwCHxP/r169jC4Rs52ujmziI/wItXuBvcJq3xwwpn5+2E3FSkXY/K2dh8OG5wEarM3QfQBv/yuVIYuaDH3guVTWGNOT2hzNLcAR9BdDezrXaT7xgPbDzYetBnJVzrLqaVuV/8ALNAh4dNGkZsszy9jRwWsYVnWz7x7uXSlM05LJ33ATkapiCCXPAb9cTz3XlloLDapczcjajs0ticGdZy8K4gwbrjP+ZLdJZeWTqJmmG6Wdx9pImo/nU9h13R71hK36nxIWQngUS8Ch0uEXrX97kUxKNHxqp3qCoFmfo5VvZD0zhhZaV1xSeQAlYOnW6RN5OG5rR07gGYQwHPXCq/3p4daqsexicSKH/CWoQj9piGkjBm7YPjhYj3Z3YnsV7hCW2jh7ywylhyR8WnvCCAA8jpTkpyXShCJa26/+/2wtStzSOI/uLP3ai/vEFnRvb1H8Rt7f8m1pxOsXS+eYT3Sv5j6dczcgaTvSLKyw7h3dGg0ecudzNfNB0KpV0C1ZkoZwsRN9i/OSbBPgXFdpej5pjR05MWvn4nvSStqwK4tknxeeWuae6SqvXGKL8Ts7mXFiIWxXDx1ijYnTAGkRzjvyUXii9miegzzvjuT9LcjieKZ2aWcrEWHLJEeEYevj0Rzgi/Ldoctcc/EDK8bIOCLnmi6uWIh1pU96bNEq07VrJnLx3NnJV045V1pWULAcdga8UUz4NMVeEVfn3QZ7ql38+9rxek7r6gwjOWlZR9wenO9dpZyr6bSrnR9Qvzbqt9m2q083KdLMq3SzNTJY3rOPtVeivjTSpzu2xbleadZXZvV5nkldenqLZlgIfAbTOcJgCg/UCtAr1jDrlLrLyRMcMN2GDSjd+1h17NyQlKMo5x8jgAwe3dN9U56edgx22OvyvSGdygdIiozQFwX7MGQ95lkakkLhdV1lTOUHLhbxFO8ew/8MPIFVZdxXC7sraD1jAMICfftr/GKCkdQHY4A3WKCwOaMd249ykPONNFcgVIL2szf/eT+bhnFidneNlyqj4MPCdssJJO5Uh2eoj/JFaXIrFv6UgrzWkP0OGKUl1aBqpOE/5xogST9FIXf2JKStcCkmHoDRtKi+QEtjO4fLYpCJ7AD0lblU4lEqbg49SMob7B3nymzzCZgEbQrpFif8tzX6Z9xV4IcuPJrz0kmsfrC2R9iR7SN1VoOGll4ZCPgaoWGCS31qjJxid65/vo2o5xXJR1j7DTIcFBaGIwAMG64RxXXtK7Wl/Txi/QZfe/U88/4/VvwRwMEdRu/mzOZbnp8LN0wyuw3qfPwwDvt/NerTh5PDw4YNlI0mbTPDbt29P+1ZKB6Son2Mtlpueh31vu6oRqd3JBnXnUsdh32E7rtK8nRv0zNSVpyF28WXbzmDqCuDquExJOLlkbiuWLTLZFMimNLaJYkQ2kASRt26KgXjdKoNtAmDV/LeVQLroS/T3VdBAOJTEF6CqWi2VG1DhlBNWtJyrlCgv+NJGuoccb9fQ7QkCm8H6vuD+dNRJXpQcGZ1u+vEy3uvqSxnSshApiclFvCHXVGyjIJZOU7azwDOOeZs4QUd0hDpcQJlqOQQh0RSyMRFwMAA5veGyXDpg6jejHzYuR36AxoNdY5AuFXKt9OY62moASM7OP2/eYzbY1rIUz3SnSAFTDVkq2XQNpBoPQyJxENmnunourelYJk+7aoZRfM95jSF8LAD7jVRHEUA4KNpfLRzt3wOFVGKY6LCg+YScGnHF1HQ0tRbyZnLo2JC6760TQQlw2D8FijcrWdScOEkqncp8KQeI0SrcNIKqQ+p5dvoOOifreHRA1E06u8irJua2n+kEDMMHP7//cI+f/WgK58XDh6PDgwdPDuL9pOMKyUruxauc0S15ElU8dFuv8yPBR6Rt5ECqCrGiyj8TQw+p7F+2XeHmRjvHyYDBWdxBFlN5RSlAEk76BCYgzN4BPBSuiDRZW4MNf/Dy5OCVpOYkb5q4PmlzAh+Kuo59A17RSbq8iPfVzrESIDqnbSmI6h3I38bbjis3i8qx7MhWknyo15qsKbQ5YWbovAK8W67/KZoSlRMz9PHkIBv2ivn4+MgJzsWF1CYRsgdEPj7Xl2ocG4Dyl0mC8kupKn25liTyuHTHYTmzCPVaMh+bGlPJcZSaNsPL44OcnnftX5+aw+3UPDpYXdu38VOztMt8Fm74aJNd6MknQIPOyJKwJuu84TqH6VQhWlYATovn2sjvKfLXnBpH4JR5xvtgxVSbIn6UkaNb5TqKpsr2amFwel+96PU+Oor3S4//PnTEG1Tve3t677QnLkBJSphDDWQcXaARM+RLVVmnyJrZHMkgP2p+83bd+sggw2qLVv4CjeUPrHapmQ42Lkaibuei/3xrLxsF8ZwxM+zR4AouLBwOruJweoQvYR1a3zta9saLYmnEpiO4jdG34ayD7557VSUlj0e+uqYD17Bry3SfUNR0dytp/pbEK/SZdYR+jNN+sH5tpF9pUb/JAnjOAOtf9ZrvuhOubd4ts5CsmzeSZxmI5OPTpBVoqTVdtwoD43lVX/LJVb41ukE3xy6Ze7rJtZQNxEOImMYF0/SW+cVyNn/r8NX4ycGTIOLcbqjqEOZsWkKyhaXc971q72ddfgYFG9s1d4xweOcaQD9U6Vzty91mUSxfd3/67WHz+7t3d/7jzG/pzPNbRo1sRF3rEoQFwdfkC6nYLESJJGbW1DBm8PEEq5Gl0VZP3bAHyuPTRwOvYmu6BZt95Awn3xyf/Cp9xuw7gzNPwWbzokdI1vPW5W0Hm26UfeTW1PG07wLJnwKE+4AgWqpWOF3qOm5LWAbfpWC1vDt3tDI63Zkj4QVgyYJDofgSTSQgXDokwOkDYtF/vQhtBDiAb+NHQyKdd/CUo1+ejRMVE3RirdAnLm1B1ZpiImoqFpoigi560GEFIy3HDkS8mDPX6YukRAajpBp3IjDeY8MqbrKuE06EfYZII+KVVwL9jXTfdpOQ2Aft0gahQidkbUFMdOcC+s602uL41l8lPDg4fPAgouePLyfYb0rWV/IihEALuq7CBWkFowF/0xB1F/IVTqq7uUnkXTVdqRH9p9nMBK0C9KsQNo8NQtcO4BfCyBh0aWT8DiupFicDlm/jYEVOVHezOcyxbsC1NYS9xWBrUp3ffWBq4z3Y41M2kSULL6V1oKfZ7U60QKo6l+V8/bpGpC4wm3Z1BOx2lc8Ipv+CzmtF3zbcw6uw9y9ka/Nl6NuPT1O0S5dlqOoRBBjvusbvDmLdN36Eb7uaDe3DSy2qp3FNQtHZT8MifXpuSZoliST/6vbPZ42UodeFsEqJkLQy681nnBW8oQzt0/m2XCoGsaZ+khwIOfV4787Ne51PCpjg9HewBn8ZtpMnCt/rbbD5jFqDAJLL/tYjThaXN9rcDsnFuKQd6evpcMkHnPZAX+pS1Lv+mZaZyEp3sP0Sa5XJLm4nuHzkBp+q2K5z2khRL+UwDPC9Dg/30iNvUpKkyPALCuMbWvH/7F15dxu5kZ+/+Snw2s6OlKibLZKiPdzRvHhkZ8Y7l56k3IfcElsSE5LNEBQdPXv27dfYr7efZPFDodBoqMFLR+awclhCA4VC4SrU+cSO5oQGw46wduOysTKLgmCpMs4jvMGiA+0v/vowEgMtoknc8w6RH3hmQQ9ql9zvDp4PlMSfNjBMTnjIMXzkB7lkdohkHFYr747u2Nwv8rY8EZIeEnhuja9HuWJC6S/1h0J3mw9e177dFfNBmXOI+gM5/r//+d9ZeZXtcOdOa/fs07xLBiJm1OOFYpFh3Djls1XBk4I7ICOYFSnL714y83SfvtZ/QbtP5TGvjOr13nxiFjbkR/BPpqABsV16hEYdIWDlha/snGicTIxTEqZRztStH0NKz+Ij7dzE9hM4g0iGe8wkPyzU1J4NWdWE24K5AYXgMD8GxB1BJlUvVR+6ADCNc6QtM/TTFniDyW+y0UANjNRa9kIzvgoS3oz52ArFHSeogalyP+u8JEoT8BivG7tLnUFGtRftBY9jK08uE1Uy7+zg/7vbRpvItpLOMj7hUWhu9VqSWICra2HACLcWik2n5E9ajJlUnn9VRuJ6D/9HoJR9yggR68H7bpqeG6bnZcnilUO/ASHqNjGoN0oJjHv18xjpC28ILh3T346QlXtpt1Jg5hZKlGr0uJSN+Fn/+Fy1QSX1L4p98Aw7ilz8+W+C58gUrvvlX3wkAFC9s+Fg7NZwH4B6L7lyO67qcQ5bZzm80ehU4A7hiKw92wOvrB8QkxxgkzdmIS2Z3PW0iJNMlJLlH3BfneZVZzsejP59nOf9vO9g6tvYy+uzce4y57YDHVNqfAmctZOMYEORHfGm3JLJ5T9ysiKpu0ZiAv9GT8wXB4f6iHizxjuTIcg3/Exl4gc4XXvtSIiTZoIuQOBfpSzjUPH0SRP9n2bKnSzlm++FXbSQQnwjV3hsxnE568gEZ4kkcBYjxW6wLILXBRPcUZ9XNk2No7x7SNd0RWf2yj3yER/oF//PZd5ZTyYD2TQ3YTusUxAH02D359JVS9cHQiDtgHXqpME0gSwoXsK1NCIEFsZgew4u6by8FNNi5sZneQMrJhH/9vho9w1xi5nAKXqeTQG6Fkk+P2s8dtjyYZlPhcX8OK+N6DCEa8Kwn01ixSyW7ULlIpM83IR9Zg4YF8f8nj1llJDWDJLKKXofq1R6OkrhrNok0LPb3q01vgzh2kuTVpJyu4xdipjXCDVz68Sxoj8s4WaFnKm97X20HmL7viuaB9xltRhEPp47+PDoGQx/CboYCUHMme9hZD+QkQZL+ROAD3THWN9/n7yQufK8GKpn2jdQn/BklLgop9IbbZ0CPlHdT7LsYoQWBLwpp/PmPFMrdHBWoXKTmjapac2ecTuv2Skw4i33lV3dv3Na8fpeirOL8F2QlcEd7SK3Bl7kEPtyQKoR7rfcwTvETZBt5fWYrS2BgjqmnWMHNcicLy/Rea3e7jWnASOFp308uuGzHZ94P2vDjbPCmI+zQ6KC8LG8UoYrH8fn+H9F08FQjCXiHFxPBIOCd20hciWu1kagfJk4n+UQwchaqDfO//Pjv9qRf1PAMNUdNk0dmUIx7acmnCMhm+AsdUNoojec5nwL4DCGObsCAwnbTDG3I90P08n06hNIYYzjkOu65OHIn0ld6I1mTTs7U34wBfM9HIjTuXTMlZcTFmKkLm8GDI/E5rWcNnUUvaYy92piek8JiURevRG59pbALWvISwGXjAyevoK/lXphOGsQJBwVc9XtTLIz7oXCUjpXMmDxVJnNkmBWK2QPqHxWpGoV1LyVttrps9Zu3M5babeV53u/Vpd2a6/b222f5Xn7Yq/Vaj9/3u63z7Nu6yLPn7XTT7J+2uq3Wvl5ml5cpP1nabudt/NPsvPsWfbJRTe96HeeQUO3cMJWnK7SNIi5JATCkBL6xPzsCrFBekEVwROjFIm1YE1z9vFQs2PaYL2ItecBHNtiBNO9wGtUM0OlDlY/WNQcKeRzw7tjJlGdpu9GzvJRlLBgzznuXJT4yLPIi7cGe5ZDYElWo3TRqvLZII4ePL404z/wRR6ulO+/ijOpZY0kJgoj4D+p1/Y0vu1rfMvbuM7fuNbjOOxzHPA6Xu537IyICWDox9YT5QPJ+HEL/sIvjN/YeMK3DWPTRmmE+5zFJFXHbudkcT5I/UfU4BGF68HrMxDVgRc8BSb0ixd4K9esh3rl2trhi+sCGHtq66DAwlPlCRHSjqFu8N29/K3M6JCUmGeNBWkHjARK66SgnnSX+iUp9rFefmr38Uhl/QG42hHoH4I8dDaR5L+ttePIKWKDxxYMHrmYxNxrtyWHcrNxHmx03E9Y3FeJlx6KfT4aTKfQiHsxr/UtYBa7Dr1wmbPA47FCov9AwqIHQqPb8OjEHbR3WzHkjbGGH3eSvaQVt57Hl91u9qybPvukY1tNFCV4d7y++LaYHZKqxRWWHJJESYsRB8VUU3WYGVkFX3JmemgZYCB/L86szMn8ws1tTDG79QOG6kLUeRkt9jQSos4Vf8mZqrEGyuXCRiP/WA1vHA4yr1SXR0Uxcxa+F3++laapLb+QXyjp8MQppYCUWOPq4ZFdkvyW8ywwkfV3ae+rb6hmb7HQW+bDi9goZsALOVcdV0LxQT51xvSEF7ch2N6N/dQ3/Iszh/ZmWgxkNwSE65MZztQwEFzIfEJEX936HHgk4guAa7CZL8FxHW74b70MuRqzoEY/NyGdrLFF7e/QL1UXFjwn3fgx1jhjeBPi+le7UR1bSSxxeT7NJhg9FlYUqEQIRXqEXGdx3BMeOSNl13/t8g8Y7axutgPNgFSaCCBaStBBY9dw52FNdwD7URgUXmsBFmW5cJxrsFrO58m+Kca4BBZtfEeNVgmSWL5gaIo5PCseSlgR+ZykLTgSse20qDixDVFukqpE9X7FjL0fv20xN0xuOBxMlNa840/M7XRkE2cUBVdV9yrCXXrWfT1btabr8hu24o17chuorqG35OriqhgXU6Ypt7FKAv5gl8U013RW2LiltPuOar6VG/tICTI2nuJa+k9Z6mNr2bfsVE05xCucYoLq7oiJngHVVTbRascRVgrsTOi1XZ4Cagpw+JPtLD108QjL+1xFb7uJmvJzSE22gj4NJHA5HWZydjrVaqVT48WouDcE+0u3xWcidcBeYCHtWlzK04tLzP6c57i/FQLTgbZNsJ8D5u0U4Faq6hO6q86yPkebYLlQXEnQJCAHExf+uAWsykcZON7rsWED9Uol/QPDtL4Ps4K4cYZKZJC0SRWoPET28mZXkT8G05tbtN/K5pdh0ks5PM3RMD/Fq/lU0pt5G5zqFizvt1WH+LK1vS0+Fd208zz9t0yEQtRlYxD7QvPLhDxuZrV4JUgMQeHbPP9H/WxM83H+llopcjggXdc/uHbMBkGinxSFYsRu9tJU+uSG94z4pdjSTgVhLx5+4b2jaKf7/x3tJb+KvhfboqlbLm24LbAl9m7NxGjlmVAvKLiprj0RavAwobgRe3/4g6yn8TckwM/GYu8XYBKyqvPw7Ho6zvtov6OZL7bkknTKZLNZPkZfi6nfuU/qd3501O/ckfqdpdRnN4URXqy5E8OC4lpoffVVvijUbj8f5rOcAxxnwkZsEHjakF4AaS8ID+xLlCOglwIKUY3M+25ox8VBM0jF3U6FOcM4K0w7TXfocOVHN+PvheaoCeVhvMaNdFZVqxBCwru8VFhlsx1W3dPZxOjm4hLYXlxrk7mZrqoPVaPhLyjiG6DDCx6GOll/nsFd1LEg5Fwb6OKA1cBcrAGBIYYNzNX1DCdYbOSgoKyRcig4rU4qXcngbioTdpSxE2QeUdP8eFZMeDlCf8K/W4WZKWANN7RhFoFGSA5ARjcFecqRoAwp/qb5fIA35ZcDCYGHDmqspbclpyg6aYfdQNDErIzPqaTHA/GYJ35PmtrcngVVayfoi31AH/L14S2a7MWGcuTnGRY58WPnrOjfYEBTTuPX3dtrd/xEflwYFLxAU/Sdeieg+DdW78MVlko67ysHoB9clh9vL841A9xzRNAObmNHOkZ2tKh8XGl6Uqh1xm3WUv7oRVndJRw1wlMJsX4ExqXmUc6BeyhS7zwvo/hIF67dkGuYmrOBSq49qq0q0innDuMp4xFT1xyVyItfE4pyEo6u0g5HVwnHUfGVS34cmTAm3TAmtYjsrYfH2tFiP0SL/RAt1o28umn+jCf3mSMD8FbMkwHihpN3rDcU3xTr3zwqi0l4bA+ROsWPNecf8D/EgHPL4yX5g9ggaJIfuMjXirr6Xk9fW6urZR3vavUXGQY+WWZv6I3eWeQPY1fooroIyyCCsDbc0LTQDwHkK1w2jQbSuvcIQIFsbT4tHihlGzOmYSLdxWHbH4Sr+vkh+Gxv6vXsqnvY88DT9ARfvEuVcz7RXOW0o5l78oSn++jzFwec7nONcGMI/XVWJpjmHLNT1W8y6uNG2iR4WavbbQBEr+E/cChzD6+8J1qYgi87pp74D7z/EEmkvKzNhnDT/6+0RshGTAcHZdV9bMoaDp9gN5C/L/znmj8W96m2xkPNC7tTH9NAZASgJvNFJU2zyKbT7AYbUL/wD9ULm8yZpJPaDotwDuKyOAAD0ZGk1Tgbd36j4Vkf6+5j01Fs5Q4NHy1sHwyhYvqHfdGggZ0cHDINwJGY5IGTbDB1Md10fbvpxzndcYy0RW62n2SkZUns4viEvSUjsyk5C7tuKOfnKhhRmkYG/9++/KHgr4oY/722CUcea1EIdRf31YLaazPieCMM/qWX5An52mEs5GvFubPrpLs8WozuuBjlvtfiDiXH+qMCmKvYmPrjKLuhnCkZi5sp3w86J3d2zgJ+qdrMCnZoI9h+GImxepUazxa266DBlMLFLTmDfmdbvNBuyN1OnI/PC5y3LwfqyZPHX+bDoZJflmFJk0bV14otcSgJaU+8gXE2tFD9K91GdNJPuqL1mVBH6Lw5hiTvvenrDU/8A2T+VxjE/atYo9DoXx3iX7qhL9XCIR9bmnMjMT0yO1NX+ugH/vPhR0nwW3F1YXBUKtn89ruTV8fJ7F+zu/WRqp9up4N/8eP/2027ux/tdvZ2u61OK91rf5TudtvtzkcifQwCXMPFR6FyVzj+4H4kP5DeVabfPXmvMojE8jHL7+EI1Xj3LhaDC779pYg4kkAkEnJQT0oQCXsyK8YVAfsbX+TkW+7E/BC/PfoaCgETyBifZc76HtmzPW4hE9aWfoMt6slGGkhwGm5vo1chyDBMh78+/fa7l69OD787Otl/9251SIADTPKhzBfBfLqFI1dJV0Qcly636Mk3NgIYAS9hG2cqLsTfZTFGQOr96F2i0+qjD/nn9K8Wne8jEcyr4A4D2p4yzcI2IT/uA/e7UFTWkPR4Q5rKhUQ9fnCq7t4rVS3yGu3Xh5sgDXRuYTxQR7JeAmRAkPBDGAPgP76PEBqSfASj3w3kYMbBLZ8adHpPqytVi/Ig7GdVvLMloRpE7SSqgSlvAT1eD+qxAsuzXj1L3CgIK50nr+Fez0pscZG/vZUVwwUJKYJ5DLNkIGn8kRI2UvJUJyeweyZ9fKfV9xY27vHbTRbYxwFCWRFAJB7o2LWrmT2oN1jOEK6FV3PFi1rtv3ioTT5xgjAPEk4bs2NlVYETB1VRb0q47dekj4mQUHWtMXHwZajcxVOmDL3fnqf1+2+39UxH7tjtodqC/ZFE7mnSKJN+cfx/suQYqbWOkEg1aZfNZfl0IH+3K3r7QuajeT49UJSCPiv6bH9XEe8AGvjkxWRiAiKrvqpRlEuRVxnemDNwMioNL7wuPbcZYT+/8kVR6CJz7+T/NCheZHzu11kk+UL4Ssr3nqifdjf5O0OunNE4/nsONoQKV/Vz06/SzZERHPGS8/tkw1gnDNSVTr/w9u3bxFAMbzX9lYMhcV3O8mEbMwgUnkAcaF7Wlc+CBXvVVr6PgPvjz6ERNNVUwyaoay5MVDqWVrpNSKCPUo4xIo1110BSHmyOr4YpOfn6GOX6qGapGR/ozgoUYjb0iOqQKQ7Sl4VCzmhjaMMar7nrUKc7IhMkaHLFX6jgWHZCtgHZDLmTqyWOYbDAQs2It92czUWgw3uLMa3fX9xAkyU5h9j4U5IQCJZGAMvPbBWFo19FI44aWtLsbUD0/PN5Gn94/59e5cNJPpXJbDJ8sPf/7t5emnrv/2etVvvD+/8xft69a/5SzAcjSMopiAE2/v4IZFH68574ZVPdYKjVUAb/HENRX3TMfWh2omHqxZSYKcC4xVyHZIXMi+Ak5ktW17Rx0t9DtTE+F922/nUwOr6+gBQ5ihkY3bL4nbA8gArFYEV4AmkT+FpkYJw4hifX0vqupSPQdW2vUHmMZxci+oWMfyEjdyT8O+ebeM/x5UX0q0hEp9Hmo8os5ci4F1Y7Opor2Eg92qTx+5yg6/oz9AHMIcg5z8A0ymLkBjDXrTikaDbNya4g79vsWFuGVi+/PUZd3HdgobaXEcx5yMSlyIFnmT/yTHOdYIXViDaUJaSnaA4ueOXVxi2dlxZB8V4OXM8tXRtBfwl50NDvOus//DsvIWum4xn51Eykw+iGTINqZ3WFdrbZrPgjjH3XbupS8TybZNrg2cRY7U/JfDwWL77+uqH91+jPb1+dnH7++tuXp8evjn73WgcCC6NOMZDOr7Qvs+oFAI7/eHx68OXRd9+dNCq8fWk2rErDwGw1tAlbBy8CEWolnOmuPTu+yG3Y53OhYS3buaW9dWWWmSQ165e+RMJpumzN+5XXHoXoDy5zOVs2GF33pa4aHA0XEcSD+mH+GjjXVmGsvdE6IBcCC+3eTe+Ccun8gK6EsJgrcBxuBURljnxsOyj3Wf+GpYTS1wjKChdKZS2nppKeqK9fJg3sXa2r5XccDPcLvji0XhniGshyBjOnpcngeKOki+OZFoC+qcG5rP9mZRK6rcpBPVWtXpW99/Zdsg7zrJ9PVySthVh241ymfkcLB1WdYhfi0snAMoPwwD7EJ9fKllVexTbvSuNz7e0yJzcyWqDag0Qi/8ON9dn+1L6XP2t+6vjWoPgzLG2dcdVjb9lIx9HPJ401FwNDKJfBWXE97gcXgxkhh5fH6JlDedNYfXl4cGBSWV0m5gO4jeo6aWL7RX7AT2fZBPsMrCBZouAuIR+J9Wgh3DVV6ePemGrPSO6HdppW3Wzu90T1gG9+qo5GxdhYFC4bD9UiUAgyhNR7+tXVC2tO+FmWYDmEa1GGGI6qYKrzre8LxPHtdugJ84QELjVN3qtlU8xyh3ephzJR7eLioieWKznqAVDwnn58dtOrqCnMFhF1TDnmgEauvzLrXVdhKTfJVvIrzqlPeACqD+vhTvJaFOHI7wDgq3jC29496JfYSHIUwKVDdS0zvw28fL1qiTFLja3agE+d9barBxXffY7Uh8/mhtFyIEzC1cnJZ2aAliImoT+EMeTWDU2hee6Z2IsDqWXnLIpf8zRccTb8VitPjnO2mqGudsCGTti7zKDFYBPYwYk90r77rDaeFmrE2Qy/D3RoMc3nHPpmzjWX1uRWHQbhzkiNrjLZ7cQpRGvOKz/BxWoO3USl1jO/ehxmREsoLHdBHVjrj9FYRqu8uhA1FsSoMVFl8SIck7FsoaQt5EznAs35IxiEK84Zj9gzwmimaxa2PLCwT7JLHeW1Qittt3OLYGkCTTNItoXL2RjcRuRVHoUlCwrr7ZJbgyOpiEoEHP8uXR2DdLKBU6fw/rgaXF7l01Vo+drV0VqLWBlgeLhmUtakTliGs6p+1gFA7fnHwaHn3o/rg30v1AzDzbVj8AtfpK/gt2TCZtcN3Y2jTeONhb0neQtzTAEqxK+mtJRoSOCeS+DG54ajdnfikLvhrT+GC4prmBWMWL4wRDaDYSpYvIIyPqolq4U0umCT9zxh78WYyQ84ga6tnwcV2z/Ri/N1VbB+xP/Sj6xcSZGZ5ggt/Hj/TrWmqXeqP0f+unGXBxldn5opPWWHiNpLjky1k1o77ZrHQjNap6V3uEbLDgBnDKX877SY2iGcqlV2qpeyOxhfWoi5ckpQQIjwJwDTH5ru1nBw6aEchxmVwh7SCOT0YSh+/e6d+Vv9ERrPT1v/q082Vv8+mP13q93y9b9pp/tB//sYP2F+muaeb55gbJoFKiBi3Et/NI5WD15IA41jqhJntk48t5X2tVcbb7alrLt5JjBkjzVmeeHtPDbBV6fXgWeYWYMYFM3LZViMZ9hqk6u4Yw5XZqdTnwCeoNS1qlxTaJi475Al2AzGj4FNzN3UyCq4RxYyx4P+fmCOw+L0hKHwd87ku7+6OaDzXTcIT6cPgTs3ZSv37FGhmsDJeTfWyHZrILvp560FbHMDG2Z/1MqfkNFTv1q3wjvgCpDr4ushCVQWHDbXfYvzdf9ecAbIO+IMVMI4u31pr2h/T2qD99Lqed0RMFQLIHwqwtFkKVrbK3TB0sfAEGIWN1bGEq0HePWTfZprf9Cij0C+5Pk/qasHw1QTfIERp6Y6CIk9zJD60HhzAP9VO6zFuKbxrVw5/nqY22wynBJhHzzySqCAVxhO7FjH7q8K0mmzALIyV10Zoqq7MrVUQI6RevV9rXb5WOYq6QzjYD7EQ/rCCCwHsUbnTuLqLwtpCcvR4bGe0OfylvU9ktvXP5e016q0qGk6jbarWFAapRgaOaCyHJSDyuo34ec3OBhr70OlAdEbn9nEFSDr08IInxAItLie6V6qpwn38pZqUG9r9EK76qSYIK3izQvlKpIfKTgKrMf1zkyVOEOdeEqV6nqi7OriqVprO+Ipufz39ms755CA3FKZd744R7wKoRpLYQbFqcqLqS4xEqFMUjkbfbKzxhZ1aZRc+HeYj7dFi8ej5h+oec583iesEoIT0DH90F7WH+y/7QnKpy3lp4pNAhEdrfPu7/9Od7ddff+32s86rQ/v/8f4cRmc1VmGFSs7KWS4oa/FWBuOTeCiIT0RbMShs9CYJDSUpGUH8USKad/kWOd62nDv4IXrsANVlgKF1jilzWIn1aUXtL3heu64m8G4yZEfDyHQcLx4WCS8Kmfv5NSJBwTN9fgJeig22L0NAI51ex2kJY5jNcIvON1PBgo4wfy1IpbTO7sDtn60TJXVCOCAvgsVMFcxOll78OzgtWFnnD0Izddfo5ztKGEwju4l6rSfp+lVOkpl5FqNCC810b0sGLLsMFHBzrPEzGFSgRTpvg9elCG0rnXmQEKjmF5mYxMNxvG1q0Awq4u34tisf+2uipUlSYl8VswdOzp/D84KooAufLR9hqnabIOd6+7uutZc7oeoeGn3KAeR9U4qo5EfsAyCzVMec2Pa9f8YG9N2dueNab8Gd+fzZ91VNidz/xvfXq6bMKubNwd2S0PpK2/vuC88lWd/TBn8Wd25gUzQndS7w0iCC+8hgSdyfr7JcVmC9h88P3z+X2XninVKw6YJ2AnjAn4IbMb/txS77/H/e9302Y+e///A/+uFwk1YCLzZu4Hsk9wrTocQza6VOGNq9htHqygvO1qiKib8PV12NUEqIrZUBupRD0lMYhMuawe/X08up1k/35kUcsYf9B/85TaUmBLZxMaIrWfC0sf6G94x6H7n/9l70u5GcWW/96/gcGcmyTljO846J2/N1rfzbi85Wd7yqQ8BJeYNBi6CdOe+P/9QCQooG8uKHKcXMUuMkEqlklSSSrXAG3jrZwELGretNbvua1ytZT2ct2rMateim5UjZ4YdYFUgQ9IYEhKHeWsgRYqsPehGY4B6iC0ui9VV2h/tUUHCx2OZRqRcNarjZJ9DvkeW3bWKPLAcf8vQBVQaOKvy2IjaCfKlOlWjiAj6Ug2a8JUqxoYMsiFa4leZreCMlMYlWrePWoFGOkvosG9vMXjOXCI9O+enFQJ+J+v/XRgHJQzcBuit/+PDMV3/D8d71v/jCh+7/p/IIfpjbAPsNiCJmDyL40q6YECUuWbGg0n3Vwc+uQ+pQHfdsgO+BsNLLVTpMThbH/+HX1KoLr1WIffX5f+He7t7hP8f7O2OLf9f9Fj+fyeAN7z+P5K7lTD3akwvKdfUXwlWzO/1WW8LYX3O+zOsLyiulnOD2J8dX15UQ5AP33nccetx6EXpxBu7EloZgEi81uFSHV5SiTnlcuSMh2MR3ifPoyqS3PF9zrK3IqjXhAUirFyb2qgkC/QmbgHNB7mWKBvJ2gliheQlgUTQqsUActNJf/S41ewOR60hSQA/c1iuZmiS4dmHIG09DNPndiKNG9TUQz/JIWYOm+JPsaahXBqMyBcyvHpKLzN60KasGUFovoVzRD5oaee2ddd77bBgxrVzqq2dNEiM9kwuxe8SY+ACkXRBDlMsj1SCx8seqAtaSiGZOJDqiUZXLr8blR5S5WW4qKFYNnrPNPtMVnlrKbUNn7Ofx4fFj5KGdKx1EGjlwDCcb7NkikXxAa8ieCk555u0MERH29hmzK/HOjCEbzM2KPPSBdTM0vEOQiXM7pnYtk8n5fZwSKxKu4DJR8phjCtbXzuJgSs+mGzcNoSk06qMiZNWXvOmT/FbGbG4+kz9NRicnfUXw3b4zwbjdqqaZmrA6gVJH/N23GFEvJWojzcFq0T7WYj3T0Y6EedtkAzqmbuz0r98sPJ//FUR/Pnyn/3tw1n5j73/t/KfV5H/ANKrE/+8lMDfCoCsAMh4lPcs3Vb+Y+U/Vv4DbbHin37xD5QjaYN6dphLS/TlNIDQYFrkHhhSYsD91QtzaJ338iwrl+7lDZKrYkhwKyp6JVFR+yBjLioyrGyN7TQXFakrsKIiKyqyoqIfTv5TRYmUKx4R/ujpfx4czOj/jA+2rfyHPlb+o4xSKmVBH+UnuX6s08zRKoZ+E3IbEaI0wOVYCk4E3PdIAaSBOlwApcWBrPZZ1JA9JqK2ou0kRjOFt/P6hcEPNLBULzZr5/8pTynXX5n93956/X9a/k+dif/zeLizP9xe7H69+guOoda4jqiNrDbZNM2ftI2dZtcYOV/LheWO5V69ulzSeq1RwQ+1dvSH56sFSvdcmhwABHDNhZx66n09cg7293f3a0ffYVlwjDHAj5wPBc+vRDjANw7GvD7LkrQ9zdoxDJsIg/OAfEziqyTJwbXC+zAuvrZzQY7j+El8LdI0YtOy7V4EyHND7NHzeYUserKEN5iAZ2EGL2mWCHsJFsCblL/BzyD5EotI+uWVirX/+97OfwrDf43z397hzPq/M7b+v0wfa//XMvy3xz/rHsB1+5wAyDVJYeyP+s6tCn9i/q8w/Nax/96b8f+yv7dv+b/hY/m/huG3XQasefhPaBduwP+5bJknW0aWAC3+vzse0/ufnX1r/73wsfwfuTyZYj8Po7eM3kqK1r3/n43AAZzfyP/77gHl//vj8s/a+L/l/3q8Xzpel1xIxL4Xw+YBYtlLBcTfHb8OlosSbqdhI3VA3BLGJM9TfjQadXlMkPh8lLF7lrHYZyPP98XgFFu3GP7/j1HlMa/Epu3TAHHno7+kGYOqeUidtvc4CSRHh//EcV41/7TtFrC9yNA1gFJUc6GruZz4NJWfauTCWGwvB743uBcqnmVN7aCdv/KGFu6cBWup6NRdp8cO8SO9XhT6I7iaW7log6Dr0PdnEvP8VdZgH1VhWx2JJJhqCWFDWbaC1G17o7NRK4Gel5O5LFniiLdRFcHnSvsgeVZHCL82HIEUeRzja5JKxUaa5fTq/PjmvJN0e3nWTiIiRuIFmnFIReVvPW39TrG263KhJOuiaUgYsPP7eziOOh+TmEEqQrtijyH7QimArfejsCS0ZHlHXa1b+ap7FG2XOTL3Fw5PCgrro6aPS+49apNYj2Hk4ZQlRS6NsnCadFMBdQNoBjq8cyPVtbtBS/9YAZpqO5mhnoBYhOKNqVpIE6AKjE3OCXb/r+Hi3WT/v3s4Y/9dyoSs/tdr7P9BSAoyBWDbVK0Ls0D0zGXDeg6qDVNzGHAvYtgFVFojGNNjowG+4fBJUkSBc8ecspgXiTAnG32VbDibInjNCDR0toau2GkG7KuzGYR+vuW4Q3eL8AEShIo2bYXe5g03h8qd3nr2dSbXqxgkl2NSiUKahHGOKWBC07wJr+f0epZ0mSrGLRbH9Y3XA0B+pFe9UchzfIFYkH1N9ZMkC8J4Gf/ysCnitDrqPQs9ydN75z7EmompJMWSkXu1epWQlbqdb5fHHZMCAbfn9h0nrTaOOKh6AGtDk1vgfoCaA6nngEKqJkcH87rV7WSPLM6XGbPpats24rmXF6RiMjtWUpUfeaulZRByPykhPSnqR7YX0XHUX2ffZGj/fun9n1rTw0D/b7xH7b/GewdW/+817v/oHnBz/vZo9d74f6ht0vq902vrHtSTnIKlttVYgYnygX2+0/M/zp4BbuEHXhBMmBewjK8o/vP24Zz4z4f2/u/V7/+Cd7Kf+1UvTtHoAzn5Om5DGiy/Ha4/8AueJ1MxPQbV/FhSiwTIphJ/Yl80WO8QNrum+Z9mydcnygHM5v/OjP3Hq8f/sPMf+vma5ZYJ6DMBoN3K2QB2iTkvMJj/uU/svo3Pf9t7dP3f2Tu057/XmP9l5/6UE72XDQqKUF0SDU+XtDhFw4TXlKC1WUsaOZsE2RLMFtJHwUvsY89/RbAW/v8a8T8t/y8Cy/+7IIvAiP9j8dXz/yJYCf8vgqX5v30s/1fzfm3/T0LZh9z/HFr/D+t5LKOvQcoRfqzP6gkAY2av0ITV4PnozWjA4zBNWT5ot6ZPNQNKXMsCXXK4b5YSFwOOLTloP5YjE+kq6VW1FAtxg8QBZ/kLYChhq3EMJpde5k0lQpxHg2AySEWKDi7q0UIxAH9Pzi9/sqffnV/AWsc5+pf+0Yy2DlCEbBIAUwDyo9/82fU/8Ng0iTnLV73+C2cf452Z9X+t8n97/ksyZ5P9fR4fEDsCxz2D7i/5qLu1OONJkk9cqR7S3iM4bshPMe+N9wD2dYJF0dOml6a80RnBen/GuwWTLYDCYM7gSKs2iyP+FPlrOuKlnZmxx1AMtHchF6FY3ofTMO9Y9czLoCKmVE68Frak7OFJ5u6mEZIqACyiKvhkvGJe8KSwSSLZ1NGk+tunDviEfaneY6jhAhgo37fJIM74Xz84FGEYaqZhHv1J1WPvF9axqAip/tmhp4KYy5NkAwWTFBMC8xlFwhCBqI+j0OOsRYdWIpWJKWBsOb8YoxN3Im3VKQpqYEF17UDixSalmOH1w3CpKKYfpEwNg7KRHmySrGeSXJMoIXNy8Sfu5xFXBCrppYK6Up1ZTcuadAhpGTxVUt0mZP8yna4AangD3BfVMEiHtWNd9a8O2CbtJk68jF1mic84J9sp8cz9DGhowtIIRtcLH0vg3HjNaHUGUen6os8plrkovGf+kx+RtmOygq9ivt7gVLSPaCw89b4CZDq4r8A6lAHFENy87iZTmkLXjCT3skHkvp8gdtJe7kM4FRJQH4lIUH9/9vny6vz9p+Mz+ZkypFHBs1FZ3otGUXgn/ptWEIc8eXYst+fG03uB6HkQm61IS7Z2R+Zd+4ti6rWzrg61KHxkMeN8Dm74SY0cglkxdhnzgrAHPfxG8VMB0kcwTbIc+Zf2mQ150GUJpm+ONMc3Mkc6pduLN8kJMvo88ZPoyLk5vZTfKIl/6dkqC9jUDrh5RA6sHazEFwMCcsnmoLMVijUluNEwmbI8C32OLeincX9hwBo3BYouUIBR9M3qwlMqm4y+j/QbROsyaJrOxMn9tL//2mMYO+wyY/fhV7kd6/84KL9KdHCqgUKggjSY91UmG62bUtac3EWwRnIXgTm5b8++TXIjHpvzz8HysvOmOi4MMfiLoFrvNuQ/IV7MB2FYyLX4QS/ED0lQRGwusCRlcc4iJjjZE/oiIUdIRAgXRHXbTWsm43IqAbW/ybHaf0ryJ1mSzOFdU9EQuQMeyTyjCvpn+ETrYBFnC6Eoihusc8oxRKnVQYvl/qh7V0naIEkLWQZ1lgH0NskJ+65PcVSeS4X/mPWvZQPhYbG/B1qHCZExvA99uJl9oVbQaap52KDFdQ4dNEmBqmnkasy3/NFfQbZTlN60oSAS6nJqwfuSvOkiDvMG6kuwsLBTw5GaQIiWPpGwrB6hEB9V+yE/3WHoFKr0Y/qEM7A/6f3YOlIsOmz1y3+p9KmNpSv9XzludXUs/jhuLb+Dv47bK1Tqb9KW4oZKo08UY26WzEmZ53QBqX9RgX7pvpAoXiF/WQanNjtCJKDrntXRbge4i12uQkM5JBTkd4OQC8CMcxdWIsfFhrmELp0xRMfLc27WqqDPDcVaibAYqMvp1NmN14+VtlMVS9CqAv4bBPanxY3Q8O7vxbrQOnPUKQoEsKAZEdIkSh6erlOxGSpHJM8zL+xsYXqz0HtgHfiqW2GsnXpWMXHE4pTFsmnlgO6vmeezS5aFSaBQCVlYCGB/Fwc/hPgiexuMavpyZ0GoS3EMxBCqZWcqVlOTw9VgybMSApB0of6cTc93YVkzp7dUpfxCF/bf5opb4Cglp1VeltCnpvp0pz7ZSSeW0EaS9tEgIBQ85iEHVJ2B3ZFHJQhsF6UxaTIpV/7oKYdfDPaQhDfoHTCwkPpkoXYs/UPqf7M0Sp6mDCN9rVD/+3BvTO1/vzH/z1b/G7t/3QrgWLHVALca4KvQAG+cSPdt6rwiT0TU/xKRRRvRP1ngkf1jxtIo9L3eDXj1/VTshCm11qmczq1aulVLt2rpVi3dqqVbtXSrlm7V0q1aulVLt2rpVi3dqqVbtXSrlm7V0q1aulVLt2rpVi3dqqVbtXSrlm7V0q1aulVLt2rpVi3dqqVbtXSrlm7V0q1aulVLt2rpVi3dqqVbtXSrlv7dqaXr639PUg8Vv1cc/313fEjjv2/v79j4H+uO/765aiXwrWWVayHKvFLDliqKwy4li73syXFbUEePOy5NuGO5V6ZuDk+91LsLozAPy5qOLy8qYHz4zuMzUGD1lWro70TUdnG+iC6T4LjKxrK2TjpqVipavbzitULh1urAq3XgW0ro0GM3XvbAclTVmGN3AOnU9gASTRAFrWeqG94/RFrZq/LeV53ymB3Ly4tTnWGaA6k+sGmSPd3mYRT+A4boJcv8kiLeA5OQy55+Sku61CfoN21xJ1AZSTcFWFWSBI/LeQWlVRF+8R5ZVlbX+iRJQKeEdttOL29X0zA/Lb6BVtXbTijUNwd3DKh2xybeY1iLFeq3I+WU//4t5mz8lyqLH3mcRH03j/+5e7g9E/9z75Xt/2z896rHQT+95oG4YxN7sb84/8WcIIk3cocXKeit4HocOO3izhPLy+zXieM5p1FJcZZdJRGDXWcn5SSMg7KgE3InY38vwowFnS1fLIWighn9+QdsV9BQ8KJV3w9tKrhsV9UmHZo9XIv56c5UErDNBghFQj6oyg7g85HjClm7+2aOQWCDhFaTmu9QQOJIhZVYTOo4s5xl0K127THh/3AUQ76/2vP/3kz8z+2D/cP18n97/lccwF9EPiCXkUmep/xoNILa+GQUJH6pSkLO+r3oNdma4/q1OOsFn+7+l/nEbtyemfvXA0n/Fuk0bMTVwPStxsmBvUIcxpVyKLiQgJsEL0on3titiYneLIiQWzuwZsSZLk58QvEx6c/OsEjLLGXBizhn2aMXLZw2JK8E4CdJFCRfYnkDt7B8NyuVcoCF+8Ly/SIOdWEq38BZ1pf/3ouiO8+vbtPrN8kG7r0wKjJ2M8kYnyRR1Wqa2lKA2JVQqLV//Ub0NZT4007Ms/DhAdSXlM2qs0oYbfbRDeXeAPeCRy/2WXBUSzPypGxk8qkEFMZetHQHLCzZu+vE8kSU4DiT+fLVyigbsrQkDiV0IIwa/KCPMn90KfNmsYTC7v+qk1cKVpBkI2ga/33vcMb/z8HBK9//2PN/1ePS7rV1J7vsgfxju/zzN2H24gJs5b8hBzqSB9w8payqflALX6q38/pFIoK50MJvddZ9g14boXSuJR/tQ32TN3XF2vZr5hof+ripQauw1DczU+MFkIyqLILeKm/PdKtkneH7f2Rr8FOt/2kSBCHPilSc3+6K4AEjwZuv/7tjuv7vbe9t2/V/zf7/vDhYWmHjIXc2Ne6wxbY733LGW1uyGlT4UNe1JStTOVNr1bBATUQuXeUexW39FsohZcImZ9NHceSYpl7GHPdf/2U83BkPtwfbrtPVG/lbcccq8MPqb0tV5DIJznCmnMBMWeHux7outK4LeyZqOeGOH70wEtNGzrDNiceF6ulsZsctRRC3sVfnF8JYQKgNBEipqAgJh7KweQWwrqYIpmFV6pJWmeD11v8smbJ8wgqeFREjKgCG9/+H23T9390Z2/P/2vU/lzkCbS3O1gyTqyJinVIK3ctpEgu/XmLl95OMJQL8FFbqWc3Pvrz1CtxBor34Ggraw3uNtuMiN3fN0wfTdiT3inqg2nTwgiAU660Xve/bbRgAU6/h2ghnjSXtQ5YUKZB24MQq06i4awwFYI70m4ko0LaZrHvm/J+nL6X/v7893pnR/9/bXyP/t/yfHn7+uTz77OucfWa3pm0fn0SIvAlGZPONXkKel8PxkqezbL9zYkNmT2vR4feEyf8gpzM8vAj3fl9Y0OpAFGZ9PL/5fHLx8ezz9fnVf16cnlPOrvTvMnCu/+f68+m7q0+fbuimXO2mtUHuNubePbtGb61mvloHLf+si04L4Kj3MYzYAwuOxIUwZzVKl/WHcyGJgKMi+i/5i3Mssjhi11FZZIKKNx++IRaaA2cDrf826pTadhIT0iwRqhEswBRpeoev4ob9i5cF5XZp442Gobm+kflsByaZqtjSzqDqVH60fCNMLwj+0hXuDsTRduZCAM6hJJVQAs+16sZqok29+a0Sb/ypc7sBtVfJWLXGVQbgpM5OMNS/7UBcMUNt3UrRVoOkDdAuSJuivhKpkKcu8hBxTEecME23uiKYV10RaFdHfsopfXF5isxTzvGLsyYhK+JjfssZyM4EBldSpdvJJ8zBCevkicgJi2BS5A6sMcic+RD30kfOxoeC51cC6sckvkoSYJNC9VwYsgvdkb/idn22CLBUSS2ZA1B6m2R3YeB4gVA7B8Sgftj3y6qRTmN4RRId7O/v7gtlIg61rrVSdKwliPA2jJh0oN2QnrP3YVx87SAFCB3HTxvaBwn7WPlf+Ye9lP734fbM+e9wbO//XkP/J7vz/KGfMS9nM8cv+OYVOejqwb54RudH2PD8jJddz7rhkgIiWIhLMrfXLpHkuh2D09YXhM0h6ZFld62vDyzXBymPKlMv5ZiUJkHzIk8l+C4IkyZhnPdhgL+jkDcvX8TtmT5ylcuhFdY1o7XWV3XVy69b94jnXl7MRUEG6DKvCq26VttWP0myoPLspEAB5gfvfIXJgjmWE9rDjWtZ28UZTsX+tiABV4s/qU5yU/1hzx5ZnC+CiDN1URcEIfeTsvxTD/7/L4AA7B3Rcts47r1foek+tNmZpLEdxzedu4e02Ws7k3Y8SXovO52OYrGxdmVJK0ppc3MffxQFmxIUCybsKGmWemhjigBBEgJBEARaX3SEP7XOaTcjCgsJafxTk4JorbD83rCst8GX9at5/YL6AThelFIL4LS1MBTyxZdVb6Ae1C2k0O/MqkFYJIGfEINq0g1R5iy8oza9jBh0WFnHf/an/11Vt3Ot1UDq/Hc4GGH/76HL//qz6n9wh9upgZuqgUkkICDNUsZ1jLWqZYbaniRZ6Lt4oHbCZclGSEe4j8YPA0n3Gp9kOwPE49//VzsAQvRz5L9+h+N/DIYj5//zEPI/mE/LoAkt2b+S8Dp9pnNoZcj55XAFcx2X4iAVC10bDz0Wio/j+weBr6pqZ+rIRhIQ3/9kdDxp+f+Njtz3//DxH2DWYe/WWWXFGDZ1a97Y6wWOhjESB4elsbhKRtAAcgOl+YYQ3KtsrnlykZeuhzrAdj2366N0yoPudghGCgZTtiuxuRIlltch89sUEsh2kF5W0hlfzciQjBAlfvDGj8r78dmHKUxjo0xTx0NlxoxL0oW2Ipzrs0REHHqLr0CwW0Ezz+uD+FH9cZmVAfVn9Ty6d77S1LMRIzpXaSUhTYcU+ackENoXpRQQENOGZKXnAAWRbej6Z7UxXV2ugFEjBe37PAdjk3E8nauyZ/QtztYo6f4flNAmMEUXINQ3FOA8fI1Il1MbUgDEkiAMhRIC3HVraxOvxcb9myl0EIa5I7+RHweIi/RNm7ZHI+5GXAFAJ/aAJVbJOeiBxCiwEotFsx27ybv4TW7HcNKW4+S9s5zk8Zy8f6aTPXCd3AHbSZrvLLyg+sg7iu56W/DYvZCEsmnSow6DZeBwemAS2nQbzzsbFeIAPkMgP7V+MqOSDPH5tB+GKAIGQxQBmyEAms8QCBWHIdCtWuYVWsY+ydmat7f/gB/vLu9/Hh1Ohtj+czh29p9ens3dw/c3t9DQSIGduDf5CVRISDzq65IsCw3A9mWpgeY4hhriOgCy11hwjuqCzI2hZvUTWrSDh3GyomBlf/gwhVkzBVa8i1Bh3uWQxjdl0Zj4BG1vyGI1spMhZZmxGHgpK5bRj+l7NpDRDuu8NFHwv9byOFtymiB7cxzgsTbLARxtnmPtt3ErWEcmNtybIQEMToV2z4Pr/3DPbpf6/+hoPGnr/87/o5eHc/mSuxMg0PP3BDRSenfgkurhNK58bZ+eFlrvJ2CJHQATE/tmMmNXwEOKuJdPLmOnwMfJJ3L3uwd2c2joKQ0djnWWK2ZDCz86Gt2hQEPN/g+aHkaX9DwOL4Tpv/1FGN3WN2DNMsSwTJxP/5I0R/+j9D6G/jcYqGxP2P/36Ge5/+v8/9AShbXE/jz6nCPfwzjy7U5RtFALuUogX+XbXsHbmTq3vfK2pap2r4oZgXx3Q6azRAKpuJgeOARgQQnfoMzAZ0mVFFpFOlEo4jAHelAhpoTGYUfDXPhRPn87F7M/PzVMoPgF2FIZuNr0bBP93dun+sVXXQkM0JGH7pNC0uhPSH/lCAHxXTuPXp5jLtuzFmJCczegalA7Wq5tSvf4jrjOEbcXd1raHbZ/TnHes8571nnPOu9Z5z3rjv7d05/9168CftiZgan4P4Mxtv8OJ8fO/7eXpxXrG4V2gWBApDUXqj/RwBCMYDj8TGcIn4U/BAHebQEuc+8tSojmjF4mf4pmNG2MvwPuiZ2eOfkPmZcI+W99/6Pt/zV0+V96P/+j74DQTqsfgUEAwjZ110UDS1+puxDxjNRdBBoc8CySYvP14THfXsFd5if7opFtlLDTBDKtZx2395bXN8hv/MhyyuUs81PxAYABnf0wzpN4uWszJNUKISENVlU4TWVC84pin1pTphBrGAysZtb+AS1sSzQUn99FOnrF7QBCQ3bDugt/JFd6Litc8AvYzRrJmoiKfMF3AZYDkFK4GI8pEzv+oLFsNNVxDl4cG5qSnYzBAKt3/Ss0JThVFR+r6UCX31n/iYidJcjp/xApZf/Kn6nNXLAfiDRKbheCMABZ+v8NJ8Nhy/4znjj9/wHuf8CMv6kmfK0WrySFNEr7KbBF3+YfxJ5tG1C7R/d4pwK3xHeS61/ak0MLbBIn+ZqB1WYgOfNLXakZ6j8TaRTO/KZHFQKGOm+TIkbuORrBTViy3ftQql7dnoWLsKnQ31WhAu3m7ir5w0WeqX+vl65O8AvYFmk5BArCw3IRxufCD24vxCyJg84BQVUr+KVgBqaofWpUT9MkOGl7x1KWRAILrdfXZQCPbXEDLJlgLxfWygZECu4vPQ1nne1QYG0y2kSACGkTo7O4TpVUqmI414jAb9q80Iamp58ajCxMyjwd2nsSXVXHrzRBFngY1JiEI2+TOBc/ckOObL5Ao7Mhtg2+FpMU0XwxdonH99ewP8wxxE01eKq8gV8B6msmrkOZZ7cVskbNTKSJDEvx+jXJVhW/+nHwVWN+vm4o9FuFrcpzg/jNeD12gh+kq7pmsKgZVYOe+SeZsQ2A9FAlZnRp7woabx3Tq1+9k9lMpLmnkMlVUkuNU3pJpkuqNI2eL6ty79dXgAl1TPxlbivo/X35fyTiPW+I29739vexQwY8ZlPdBfKvVoLZdTIOF3bWw59OA/MM56WuPUGWpLhs3zs5O6uXmRSjNAutquL+ZbWEojSaem2EqSN9NIV1HSRqYW3eTwr/3XB2n9Jv8Q1ieRHf1GUhCWxE4GBIck4U3ohYSDnNkivR4ATt8PdO5Jg9Uj+fv/ZeVR7f/8Uvk6xzdiGZL4KSs7kohe/7y8tp41Xp2B760amI/E3UuUZnDu4Axk2nIguTwBpzAwzjzMOFSIrcGmkTDmOVxWymql7OMyHnSRRsjhdDYszf/DAqMsHAjCAR5vJjCJ8Ma0Fv+LxFo+YzF42Vz10UYj57UagJ/jI3weHBLv+Nx2Su57AR8sK1EOf/SaJiIT6WO2406je1N6/p7UkLnYWgpyhd5s5DFEIxumNCoNiEKpqiOAnQ4Uj51EspmhCSjTYGyMOI2BDg5jr8k6ju5kkkMmw1MIXkBCAU2+4Z/fq1NP0sS2hCDPAmI56LbAGZP99l/kxMm0Lz+PCZ1XcGo2c+LzRyJDxBdO3Pe7T/z1OfMPxz/H+G48kI3/8fufhPffv/EGcAlnZfc1oAkiqL/ezWe16r/upm+BwXXIncV6Uvm7eGTqYfAJk8eO/LFpbyWg6cRbwvEyaWS2o0TYITqCbqnkS0LbCGfXPnS8L2yz8McYchegov9bk5JMr0vDtOo3Q5PpHShXxijeGeOsVAfFMDARz+D1scAGJwgEuBJQ+Dy8Hb6efPeRhBOtGpyGZqePxrAQmZIS7DOahLjdTFZYNmHGdpUb/dYzZLgKLWirHZ34hMtVV79fpOnwdWzz6KRZLd7qZzC43r/vpX+/PnO/+HhPKptsRiTYB//+PocID9f8eHP0f8H7f+A0+gJO9IA4BK5SeLU0Z/qsM7/4EdLZn6AOpxuRB4XiU3LpUQXTnnfqiahV+/LX8ANVALW1T2kdXDzhTHlsLO/0txVRDKrEjLBe6qCK5RRmim/B+38j8fHU8Gj0v+O/8vc1Pw5XXuvdzEk+d/pRv9njfYAxA7tdlAd+wnK5milpPntb/LXaQqeLlN/JvannKaBKcrtn+j2f6JLlTO0U1v9k5u/DAqOZ9w0VrVWx+u6GnJf5neg/1vcDxqx/887NP+5+Q/FpX/VJJybCMp2/uIuhMU2h0Qqw0KzNOyiocyVxw7leleyzG5uQSs5DcixOZeIRJvRlA8MbEPArnDiUV7Laka3+S7LCnAO6d0nTLqvLJYqbOR8Xg0Xt7GChXgoKpZlPL0YyHz89KHRjv2/lWEmQhOsyR9i3yBwNen5uGDkdQccfQ6chbGxY96LV3jJL4t3xZpGonSHuhHmni5NfVwjgPEzpL4W3j90U/1L82/p2H2DPYqf4hZLgL9S2rvSf1nkHyPv/tZoKzbrMWjf/mfJREjAjRt/zk6xvJ/fOT0/4ey/2RquiHsx/ayHAtojdwv8nmSgaG0ZRE6TyLxlPVr/oqziWJdCioQSmrcQdh5+vm94TLQntJl/ardLw0r+QrHCwUnAU6vtqGQL6q6NyK7gnpQt5AC3pnhJFd1GLNV09VdT02+IQy7tbZr244voH3cWvzDy/8rxdqqvs0yQMn/0eSwFf9j4uz/f2f5/6biMvYy4JaBJBJwWL4U6x2Dr2qZseeTJourUtWF5acdHwwfx2/vv0YOBo69wpfoTv5zk8BQ+f8OR63738OR0/8fj/2fn/EPIWTn+MNoesvq5yz0OF8LRk7kbEG1LfK20LBonomWmflbSDSI9SxIYuVxscDCJYSfz4XRADu13rPNzvy3yGkN7dxvPr4HTceH5BahIbnH6X+MINDU/v9wMsb7/+PByOl/j8v/j5CvvHjRT3+Dz9/n2ipsdABnegJdPGcn/w/mIlqE13GSCT5eC/l/OB6i87/B+HDk4r/18vziTf283MlIL0+8ata973MRe1dFGJU2WC9VcsK/FvLg2S/e5fz/7H3pets6kvZ/XwW+01v0dUhxESU5v8btbGdJJ0+c3hc3RUIyTyhSQ1BOfGa9mrmwuZLBi6VI2s5Wsy+9xLbEwlsoFApVhQJYKbObDpdcKK0ptdjV7cZWbumnH5q7Y/vqWppD88PnWGJ0A43c2ZstHhzMq11kaa3v/5uFAjdUiLYxlGAJJ9VFXTUyPAkfX1xe9Jo33YT2vve6gV+fX4iy6tRJuKv6ufnXsn8Sbn7o5uZf/8HVbo5//J/qupkPDWE1OB7EFvdinPz/UL076H83+Vv9b7/Xv/+9fvTXeVe1RyW+fvxEA7ot/ZOwKmU+N8/ho5PwWhVtKecn/63n//nzs18+e/Ldy2fhvvwPmP/LOI5v+X/44//m/3/Q/D+/QgRet7uTE8xuMw9E2RZHlMso1APh2j9T5ViYR42l+MNEZ/70AJGsejSf7/RkPm7Mpe6DGzafPDwTz2W9B27Xh9qiSNFZd0Y0x70mgc05Kg3zByX3edNXhbi2bqT+xiJpIBuJh223m4UnJz/60Y/EIlyE0cmJvoGphN3yZkps206UldI9wKf+phDYo+EqECQCNrZn/ZW0DBZgUGxuxF8138tdq7q8qjUvVSO+oLNzXF01P03StWYsL8tHD+g19IF737+aCZs7uAG8kv3tW5MMDzcbWb+Qb9/y8OP1UuP/aLXMEhGIX5lbC8txN/sWMjed99lCCM58gCwDbPbXj/0dkMgNVttKlqHh7emxP3byRd73TO7SVHP3WgJ1dNGwFtDVBgK65+CZBX6mTXfLxExSrzZpGImTQFyM9OVbIhbXoa2FFO9yhRGUJVRnrF1057xQmj+pPtIW0kVhZBrA77FrtpP79lqWmvAP6/VpBCX/wv6AbCa029Yhzuhb4olY+sNplJ0yWgbZTOAZp6+F7PqdbIS6yp1FEPm2l53YtXF8GluoxZIBBbKZdkg6rQe6weoH6Y+8CiNN6IdpPo4WjOZBNhNPq/cCGoSx2WuVhVGQXefvZtsf67461HK8I+EVJQnjE40Pk4XOt1sjFj+PAy8Ye+XdT83caQ+y6WUt0Y8b+81DKKy7EQ7G9iFUwEmyxNA18p19UhknrBdtI/L6UDUyuE7DeBlCxl9BUzhCBtlM2ItL74fr2zK/+WrodHTyUY2OT6da7JiLOWoMMq0BnUR+FVgA0PPzK9dotGY0CrIZrpGVmv+8K6609DujTNRsxms2m4lfHPcH4UoY3tYt7iMQ267diyRcRmEMASfhSv9GWCkPK505u40mzVdig0UTWuvUQxj1IKCEB5TMtDK2nXwk4Br1bgT8Io2VstBEDmV1yhkRkM2wThsrqJdts/BK1SNe6Kr31PiS1TgUXMcWj2CuxYuz88uXFxjyyjgxUCqFiV0EBV4LTlgpDyudjefueJ76ltcxo2WQOe0a0ai+kzqg6uYQVrW9saoWh6swA3ocrmmurFackQEZjb+d0EIZ7y/s3/cG7kOasMp4eHoSvR4DUXspr710IrY5IrK/roPcuDB+amqrtYDAzG8ZISY8xMQhtkpt5wrvNSryrpxAxgACIn5JCDDmAcZGv8VG/yn1nCndWkbNRrxmIzsnccdRZVlvuw++sUnounUPuOQ4FiCzyzEqSY1DjgmLiP+t8cRLbbHr9gDP4liVksBWPLCVn6jG6BibY3+LsSDbdxsg8BG/ev2dIrCMB5Z9UgnjMAqTJSnhwiNmHCUE2T3W4rCNU4296XKP6WxtHGqPlhBjHuIX2acEsMZQEWzEg41m5IY37bEpzLkO3+iC0yjISDng2clEogPdsWlkZxRTapOIRLnsPFLKMa8g8+s4dM3o+T5/K0XVC5mrSnZm0jVtuzHfbVucxxGqlwdEPPhJDKx4DKzI+zMOBFw/02tqd8lrdzkzwWtdBvujqgOk/6jJlNdkqu2czPtHFNjUMi9l5wNSUbfFW0jJrEc0ZxNOB0A2w5K2l/2VPCoXeTzSsoJS5/tL7OA0xc2lspfAEVrEQ9Mad16JgzU91FrMsaQgm4nf2Bs2xMuDbN5QyKGqEquReGCcRUNkvf0ZQS54kAvdAbvZB0SltoKWPt80y10H2V3LMowMdvT23opGYWpNGn4b2TSWlw0yh2wtNbbAdd9KjHuA10zId1MbDuCEMGMeZmxXQYUAJa/taujaXJ5y9AFk1kNACLprlSyMd22XWGtvbJWLMTZVT2hrHtr6ltSOBxT6BHmn1wD9mfe6UusC6R9hRJArHuTqFqSS/fEQ7FqPhQXeYCUjrIyHld3Cwsm9+zpoAAlswQNbOLCiy3+4CfSZxPnuygIHpTZ3sgvMzsx7v7QuQ4sL6fqgHT7mieUjW3MEDDLrDJ6fvbq8+N3F5fnz1y9fvgHS44v5q4tXdpOokbKUfrovMo76gMxCjV/6D+UdpScPPifkoLKE4yWBzEBRfjsnN3dIO36ooK5qRhyNJB05SS9YcR7I7Pyv250edGlYAph2o1rkWouuOvRexCuOPQAZRanj3EG134k+1/9v8atN/4wTClqlFuGSsNc87LV3ODwock2wRbb8bnPcil27b0mNlhwckGk55nWN/TybI3kf6qg/tDdtm0HuZFl1sugvzEe2p0clA/0dTuIGV8a9UFa3fxs8tR/LMjAle6JS9mgv6TvH0QDZTHy9dweSRWvOTIhSyoOoGnUwFX2EkPEQMnIyaQGrpKJWF7xWF9Qq6l7eh3sasgXHyIBsZpY7rFX6AWqNI1eQuYX0uNMKBv92yOEGJuEavGv1KG/gNtaV6glvwcPT8sB9N3lhxAzXx6ZUD62eyzd4BQjmsXyfY7CtthXHrjOj3khCT3noqTNl5KEI66EI2Wh9noRFi5TTQ5D5WAtJYpwcCvpaBWZTPyiakXw9EMv3BtmXeHwI2a3Hl4YRWeIojNfOFCenHFMMsplPemkqYxplc21xi7o9lsZEeq1P1ksWytrq6f2OujWPU5zVioWzcks4cC4unopfwAU8dHAmCiT783InCSLlQaTalCl1lD9aJ4vYN7bk8bu0/PoLJuweCQb67pbp/Pt2ExyghnY5VgSd8KATb9pM+mt7VLQt5FtmGXuQuVx0KZsbBKx2S8lag6rRfaxKO7OOXT2aUASb8mCddchFIeGkVoU129vWBba+/ZTXLUT7bjAoT3xEPbpSAsmu0LefcHQBZLTW1NWmy7tKKs2+x7SzhDAyHkZmg6Sq0UOuKtXLpg9MvWeAILZqcmzKw3G4mxdQj6wfdelavhz8x0vcayLVoJNJzGNPG6PHrdlvN1oCWbgHpdOfY/O20bGI/1gUda4gJpoxJDDaD/ZMsbbnQPZxQ11XWoiXu7bOmx1lvmOfdIyTkIxExPFkQeYZaNtdLUMLhTqQ+a47FB5zkXrMhV4ZCHPBw1zYyXTmw73nx42oR8JkZRtAZheCr5uSYpF2Sw5D3thkOPqBWazX3UZrfSf6IxLyeU3wMQ8+tum1B06lZ3bDDIk7g41BbUtXlg0mvGILUxEsO58yjFlZCpDNTNXJ9tgU9kX/oj3gF4dWHgtfFAS5WH6UDZJgn/NGPCmu2uG2b+JnyeNnOTNJ2Ud3zMIoPBzZaIKLeXCxtnFmoXnWwvXv87o21gZz9yDr2re/5nVnPUlo/nzX5VutQMKubS7Idbs7hJTxkDI9QQ7wQ4W0YY0SbWOLPx+arsm8xBCalQLwNuTuVDBIU3kmWDEuyO6aJpRfDG9VnHda0Ybdl9Tvx0WEnPKQ7WKLfg3doWKyQXW80IU7QeNhlzzYJZUEGJwf6+l5WZXCBCR4LZEGLKVJH4yVlechxfCQ3GkOWboNdKENUrUdLXUxq8IIZCRApfVV7GRbHWjL3uQK/OEN6xUOgDyFRYD8o1Wyit3+Qn7dVmVwKDeBz8AEyAEEt09A2TpCWQa5/sO/2TjY9UFMDMU8hmItAZy8gFzzur7RMmik2fNAOb4xSx5iwVMXEzCa3aS+dReWHTtErnV+IzZSz8iJrsr3VU+QLC8RZCZ+9P6JeUWrM/Fg4mpI8AUCIhY4rKMl4Moh4eN42tD6NveYi4THG0LOJ26lhTX65jdvvjoZxZIZYkk0H/1JcJqPhBB+eu5MkeKwnUglFNemLsACxacMIJCNgPoWWGh1FS5ds2tes2s0awszxtkN8sYf+qReq41Ph8+VA1zxAFcAhDuE+EFrvw2/fKMZr9EMjRoVozT6I2xTOsvcIRuIcwZYcr1W5tfGQktlTPjhqK5E7kfMcBOdcmQKMnDjJjaM3cXzM6N752eixeEHeHnGf3f25lKpOtQD+nM7MbpKWQ/x1T//4z9ZTtYcTkDmhf2krCCMSolDvpPkb8It2+fgpMub4sqCrRIGGMgA9uT9odWNPpPt168SgdLmqrGeVSlFrsjaW6hlzIACGaBgLB+YQYdPa/0d2JoAXxiBmy8tUsaTYAYJfk7FhUtWmSI6h7jgIS4I8ROxT0yxz4AZ8zCNPPO62uFA0A7pzrZzWwRYObGAuKhA/9yZqHlnbv6ZbrFYJhZLBhMgM6bIQsv3B9wZOk5rKPHgR/qpbOZQFjwUiNenMp7F0akw5YGir+ra7aFqora+1ngVUl7KwSU8uMRr6qUvOb6Eo4zdJnXZNvLSXXNx2VfaFvSXq2yROsSYh0hzw8Y3SLz/rNQClcXRnu9ASayFSDnmFmSAwLkqzOzNUd2I9h08b9tqwlnhQIZWEYDbSoxANdXhIHtYjVyjuatXzcJ6Rv6B8zMccspDToEMYZmPjRWuardpWOc736+Y17oZkMfWpST/dj/cr3hpLnO8NCdyqu34GxJBpYbDGJYZlhsBMjvJritv+ScT2KwODmDNA4DBRGm3KaMSbVfaqP5QH/VjSIW63KhDyXgomdMV7FjUVWO3qhqz2vbt3bzY2KF0wAse8MIDuyWU0jjGjTHyo3hJWPE6xIgzYiDza7hJFqCHd0Ytb8x+VFCjlFJAkTzmmoe59r3sJPJCQFWAHZ3amWYWzGkdh5nyMM0kfFE1KFXBQctrl2F4MJzgeCgoV1PczMCQz6eY0lGHH/PwMU1tDn/XBmahfWwKMSBOtLw6PeWMIMjQst0Ph58icZAg0Hzv9OOBJuuDqtl2+XxXbHzxx87sQznYJQ926RaCR2N52ibXnDECmdfFHMlBqH27pTyWVxL43KP5NtXV0DKw4ogSZPQGfrj3Exg4fMPE/6bdKAe14kGtaDlS9WUnsX1/eaVnmroyhVUtmXJbMOrAMh4Y7Jkti5a7vLjxRyF98HUdhVlk3D1rtAs6zWlREx4qnBOqEnUTmioh0b+qqSDcUby8OPnXeu6/mjrqJvhq9dfopzsvZfwUqNLrJ2ePXzwJ9+WIg/TkX2nbGIZtQE9OnMjXTAWmI1bFUfXtfqzCky0dZVV4QI4t8nrFmbsgEy+04iozPf8wup9qSKtMb1TB4My1XAp56NXcSYUOaWqM+eWhq5p+/qP8gAyZzacdXKvYc5N16dyzvA5HPYmcDJecNRhkPg8yjBpNmL612ZZowDs1cLpYkjNLQAaFGR/eta7Yjd8yMYanrodLtAfolespyzEFmXg9pJC0DYC5nTxpVSLirBAgE+dXLea8HSVbJtrYG+/m/uo7cyHcxhXImXsCvakY+rk8cYxwRhRk034u7u/nkhXegowmXXV4mu+r2l1vDMfJf1RJZVUW03B0dt0gr1ipIJDphIh9ObFd+Z+/efNKN57X/ZWJO+HtSweR8iBSPxvuO6VK8yEeBis7sYCLiAEIsulgpXcHi6BSBxVx1mCQTaGSj0A5w7xcc3QEZFOo+CNQzhJnrPAZZFOo6D6c1FS8W6Ak48xvkBnLRbdKWf32LtrwsSragyzJfgm6Go5YST0rMc9mx4PNNh/7Q1mQpcdICIOVWgYZunvHJ3z+6owwYsJIeRgpMCbXAvh13F4tQUiRQ/rRKjrlbMWBzJ+YtGv2oVXKb5m0W5fvRKVRfdXaWPOJs9jmvjCRK6oGIbaSU8fWb/+kWVueLjIWa4k5QugX9/GSqAu27LII0fhb4F5YV4qYWDsmhGUi4tSogGxGZt2/V0LokvWhsyuD4xVv0gg86kUWRvTscioY1uY0yGbuppVSjG8iNX4tROLrigg3m+JmKwYuyGYfclI+dtEbcbGYcsE60AMyw4V/ZxK4uLWzKkoq4iDs9BOjtBiNUjLhk3f2HWSWTxoV2ic1e/t+Rj+uttpgBtoVqPd5MxxOsPc5jNiIObMIZH6n9qhMIN1oqWnlGCwzXJHR9imJIZ6IYbVOGfggs2K4G4hg5C7gtJQvTdn6CGsZM7BARlv/5p5+ShSoiVaarpP/ZaPBMfiKB76is+fnNtv+uq3d/WdY+8j/rZRw92COpZvxpEvF+R+7PsSugxktg25JDHxJoLtn89snj89MmJpbTXmcIz69kL1CPgUJGfPEdTIO2qnFqbakHHMLstmUKSysZvJML5r0lwc5QYaejfj0E/M8HeZ5vJ6wvFxz7BHI/ASzFilA8EKvbZuG/eL2C49uRvisyi+Q4QSISb3BepgFu93aCT1YE+r0p5arhARkb4exI29NQ+A2rjt3em14cCpJ1pkLkJnpK0vx3fS0FJlQihv9jCYOss9ldboUZmsWq5kvu/+ZPlO3r5ryO81Lo+S38uZnVJc9XM1D6R3DwXQZXLDuOwCZVztrWb1ErF2fHkOzdSJudSQ+0qkkWAdXQGYk4eenRzHzFqzQXjzhJlPcmIMLMjK3UPWEvGV09TgciidYRKcjWNY1PSADrN1wQhcpnMEZIBhapK3snvazqn95wCrXIgE48DG9A+lbWebijF5bPTwXkUZrEMOJ0SkMKWpZTYQVmf15C0eZFBwAwC6V1cJRexG11x7hx35eu6/y/grv2UeBU0HewelUiZOUpcSJcw4e36M8+V2ZTA12yjqCCzJaM7+XfS+Lq/mH184RHOvkDMi8VfvQCwumlq3eqBEo66QIyAwo3f5XuNv/lDRbXKio9TPWyXw0mKwScJBZS3C3RnXs9Y1xUh4OzgnB+8jrkdtKuxWkLavJhE8TniQTa+k/etejLXPHhqnxmJTsp670aqq3MY+TWHPySzjveQ3HFr7E2TStb51ei/GFc8NWoQAlm3m2l1O2WRYTZEYVaYGo8W5d0bSlvHCvnPB42WTAEtZBAJDZARtUg+rtCCca4yw5rirI/AJMaVwsAG45xn2DdwoEfjapOX0o+movtSm+sJeAPKSQjCTz0J3o9X8b5YN9stvv5GrQKre41bU1r2vr0f1wWAyQFJ0EiUI3vl571HQ6cKzCbZDNKGU5II3b5fQGZFYhLOP7vHuLOxdMacW48ZTXeDowfW0kFX1AKikPIHVLJCnTpK46keYyDoKcDn/Eg4xMn7Y5NG4UUuAM8p1omXcEAGS2W8NAj4/rSFPfSRd20jKixC/b0iS7RhysOfMXZHfsBMn4tTn87I4oqJGfNIJl+e0gs7DapWpHJ7rHpwJRqUUzGgo1Rl3xUOkIpO2qf186cmQOKrkdxsWso/0gs4X6f/GH1y8OWC/PtST7Lq+a/i8Y4kGLCX5qlyPWZSMgoyQQhb/wsMhBftPlOuVWuM25qiHX6z7PBQlOYnBqXXkXx4JsJl5UqkAZkHP+zPeBe9qNED7fyB7cv5WyhukfKUnQHlD47RzHXTfy9ZPboV3Euo4SZBPbhiuR/gMQRgoQ8RQAKXsduhRX/nqQvjW3qu6KLqxad8Hwr/MGOezHrSl1eVpXB+pbMjHcEesuSpBpNm6aYmxgoHiA9bNeDZhTeaYc4wIyo/uUaTYVLmqyP+KM6mtbmYLoCprlrnCyL/8a8cFLCkQ+KfC7sxffYaFFzEFdjcN00tU1r6v+nigjWarMeHX25vz5CCoZoLJT1nkqkE2gzFUBHnAEFY+hWNtNIJv6QCNbgPmxAAgBRiPANWsvCWS0MNyLFw0QS9YNoyCbmaIgCqFc0LTHITEbE/RtLbu8weGRvLkdXVGPo2mPWUfXQPYF4b/HPp2M7jrhQbt0x7+w963NbeNKouezfwXWvlWJsyb18iPW3fNwHCfxbpzxjZMzc8o7FUEiZLNCkSqCssfz+O8X3c2GAJEKpSjJ2Uc8VZ5YAhqNBtBo9BPeaexErB/0qEi0GKqRnGllrTMkZ2FOLGgGb0zwdk4xE40G53UDAIIVEKpF06PQ0WcpSKAbxBJT8v4Hg6xM0CV8zk0pxFGM8jjIOH6BUHj3w/Mftrb+Q6mprflC0VH8OC8tyk8gJQr8SZE1Tyg+glsX8uZ7Paj/EfWffvjxzdnbK27wDeo/9bqL9V96Rs34vf7Lt6n/cqUofJyWneKDGhxgIB3TDGSi1jDJhq2JBMtpCyXxeAi5KXQL3e5bFPyDXrpyiuauXPe3At+EFaDH70TGHKa/tUWJrJY3pu+xKYpE2E7mSrbg64340Pfzb12rv8n573QODztHi/WfOkcH3+T8fz//iy6GGxV2Oqc/3Ue5Xy+kFCXevDx/8xOF72FZDiom8Au43ZLJRbBb8dbWv1zbIqL7xprkqK7iyU2ob8FzEd3SMZ9Zq2wcQFvY2RgjRJ7mf9XFQ6L+PE5kEWgjIuVqV/zLtclbYgfoGGms1zDAvH2AzRvHMHW1MJ56jzQsbi4E8McrE0kNUG3BvvFUeGng+917mRC4m6OdBinvIZvldhms33lItb24pFWWFaDWmYJq219/xw0Lq86I6/na2dJbHla7XLudlpaCCEC7bsmIPNnQcZcrCYoyjxF6gIi3nlZrPlxfDKi8dtgO2gNs+lIVGAZsJjjOtrYGgwFEfWWJ2oIhMDgZaexPqSaIgTazpSk3dcCQNRqGwJHPy2iyUzIRPXlyPgFLsEyL/pMnFLsPfXtiXh5RRVUMOSjt+u3Z67OTq7MPb04uzn728fVRIgyg4hBcutI6yumFSWbkNOWcNF6WmL5hU45VM1DM1dYHuP+vvU9/frzj/b0rhirJ7sMP3NqdS2WZKTwE/sBfH8p2rV1kBTwLP/TrAxL5fRq7ZK6Sb5bWE5CJFHMNIixbVyEIFwIGD1idjWJZcPVJaElngyicYIdiXprOEorxWHHys3SN6U9vcgmvr6XTxwZqcfdcm4KNb9/9LIKgHAs6+vhSx2ZsqV0zrjviIkb9JSd5o8otLU8nits2VyCXieK+jE+7lw/4GuWE/pIpTHAGdYAG0GHwiUMyoMXrb211QvHCoP4GPq25jTTw4aissJAGozzGbDusbtN7sOZUh0EXnP8spoKHzqLv2H8HOPAudsuSyE4G6HY9b19tjQlVs1QxxhVU0FqM7h3E2m+lNQCIX1WeBWAQA2PkHvB8cQ9ZCu5RHZNRBW0D+Pp8GQZSUBWDGhpx57dlrmS6Up6/uRIFKeFxpXjGTkegEs+sCu51duMDGGbFrbc00SynCyTmamjwXrBzed9Mfw8biE+zI95KXapGIjBnqIhwiM0pe5MVishb8HalJFRRPB6bD1JkCnyGIp+BalD33ysFC0S7nJQje2XmraGKoGzH23hiELjIRsqsbTzTNPq/v8izG+bP2/PjX2Q+c3fTjsO6cZ7Aa/8QOs184wQBrJXq8ngy07+GqSpaEwYWFFngy3WhOCFuuMIhxCWIUwzW5Gu0ukVJd8TZkC2pMS3tAyZKglkR92q4m0o2Be4xtKdoBUi4OHXbbm0hSzwtjf0srZAXwDNMgMUXvfluCbdEp6sWyjofkHPujObwAgOPtmRACbWC2MIzVHwH5T0V3E2+tj+bOjlhI1XIOMGNBmk0YC/dxTou5pfUIy2uHSfFnx+HLefP3T2R5UBC6KCVTz5LrX71etG32b0gQM0SCdwBl1n0PNb5DLF/Notu1OJxqmtipVLaECg7DVE+wXMZj7FjmVvtFHy/gQPfoGdxDpBT4Jt7WyrRWDXnPpslka2hE08oGiahIph3cjSjawacV0KBG+DmlhSgYueosyQ9La4sbSR2s4G2dDGiEhyk/rCkw9wMfIGGGrr6mLcGdBudzlnTSIINGYREpy9bzvfgBJQ+X2LglCUovw9L/2m6FYt8pgYGj39kMwAL4q8Ls5qOsGKgn+llA5UtQgeIGeokAcsrlvhOHvZgveBwc/FYZ+wfSmsnnX5AjjBfCP6xNQ8aMeEelgKGL6UR0GqVToYyMb3RyGIWlnf1n7fnFtptA3KbP3c+hrNBu6wYkbRIoUw2i56NnZt3WsiwKR7D2acn3ahIBJwEv4VrKYZWAfwdOACDDOuWBqnTclDaEfwLA3//5wfI0jijxF4t+DfhBI/qS9CgZTPNJjEN90kxfyLeykhIj6rYP3wyWOAnmEt/T9zfxiM4VSI1PCQbAlMBX96Z4l1HdaxgfbmIdJwuPSB9MIicp+K6Df4N61mwWCUZpy1b2TqcRDvtjok0IfnuDnKH3MV5MZOJwBA5FhOIYLsikvp2mMk88uqaMk4QmPRlcOr22iVOzlIJWVC5247J09ZmokoxSyHVSwbJoMA5jZaS+Ke8k3ECZwL62si/cEsI5gtwPgcjSDEeBAAoKAG1ism0lLYJhYDghvC9KB/8FiK1LPfVAJ6AcaQWk5xyvlUQCDmPXlyiBRwjyy234CxGKL5cVzwqiFJfjtSUVTgg9oEIAGQ+FHiOOFIS5N2STy0KERRKKq6dpg0oBjq+0TZsPohSveurbQAXL4CCWQNd0xiKMHKOh+DvSdR3GDR9IIQ7WCiT6a0MfWUSLGeK6icHz9LFAdAP5/f8yY9X4vWROHv9jCSUq6vX4h2kTEyZIjR+ZSdIjUJFysxxYYWTI7LLf8YCy2FPHj09HkmpDg+UGu3L6FD1hvuHw45JmdIemqI6w8PhSLVIW9KS97qVHHGuiiA5IlFpNfKSnwV4sDF56WDgb+cDzZ/ULwlfp0NVLCwGoBdgQSlWewZaJ2jV7guZp33zfV+OJv2ffgp++gl+9X/in76TCK/FHwaVX/zzObhw8lvO4NEX2zDP7c+d1xQpSUD0Z0Exi5XSOyiIo0QFpVNuXzzqHbbbj5ytay99cc4eY3DOBB+0Um2E1cNEjPqB8SyhCEAQW9CYP8y8WA0IZWNgnrIaCmgXIsrSRwU9dDibqC0qHldVEgCv2oB8iDWkJhWcRYUUds8eWJdHN4ffg4RqjO1mvsKI+7iCpAj99hDneMzJUJMHR6qxohvK1xyNSqMSUJDFS5kd6qZCe3xBJ1mGrgGzqc2ayPjU0+6Rhv4kyT5KEvaigJUh+vtSBL1T4PzWFO7iEayg+OlWrny7tXU+xjnRPCewJ8DBFMZcjjxR3UChlwywHBWFnF4YiTKRD7QXVkH4zyjW48qkmctLgBx7xE5jTUGf0ACPAiIBCBRmrWCnrDxpjPdS2tGFYq0b6oPoP8rLh4IB6yRNhqthNR7K49r7iSbaFzBT+KzKM+lnh4tMWsq/ef0Mvl2fa1AhMMN4GNT28lHgtnv83KY93nVarjUmwzOjwkzdEU/SB8qd7EwczhrtoVEi4VkBKim6ij26vzw9++Z0f/0sFBf09LUGr7mnAG6ZkBLTLoo/Cm5uVWqbs/ugyFoM1SWX2V7O8C9gmv9xNn+hQFJrMhCCJsC2nKedCm8+KlgFbwUgtBfW/Lyy5jSEknkSq9wO43xdmVID4C+0tie/zvJmwW+9tVvxyMDI32YD/5DLkfnnKZAYzHm51Ab8qPhnTT0bxV9v4qAM8u8L7kcvb9Io+UwXvGViKEbIgMfZLI36oNOvu4E+O1cbf9baqTuSKt8NQb6Hqx+uG1w8unz0SKUyj8GZEC42SpChp0lcBOCcgxYDEqvugRSkHZkNk3gkfoUL9hSsVyJXoyyP9BKJhZEA0QB0DEkJJo/vYI2b4MRpDZxQgMQHhiiSbuABTdIGQGNpylKRBStDhh/KjHXJA4tFpHtqLB06YC0ZDiO5esb5JVET1Z16lpDGz30GDkjDaK00Jzag6MeyENrW1o9waXsPq6Am+1077B78KwmMS9WS0ywqo3hAKLU5gkibi8IFxy2ouagwoNpUgHvpjespiAauBZYzhkNiR/D7gBzR0prrS7OQAipQ0UFaRrZkh8bsjkvHYDgpB9lYbNLNGAw/bUzpFD550kSgmGgTPqEocNgNNDlnB0B5fkM8rNcPyaCv4QCQDvkznHX3D7od0trtiFfZvWODYEVDaXt+hQt8wtW/2O3foy/bBLGHs2QZqeTwU07Qju8c+hKO87vXV6E4x49dnTls6dmUMxQ4r0tK2wNLEvOrIRWTTBfIGPQeGhWTMSg7Uj9BO61UNru5hcOniC1YjaO1y9u5kP2NmGIGV4bxb8hHt2YONGl8njl5/UuohQKPFuiEVwA7YceRMgMUZMjDDylNrNlDKYv1vKXKlMnZeIybIJsV1hgVp1yxBJD8qEO0Np+I6dzKI2D7E+dGWaJSfa/c0FpO3CxrNBEpSKqyNVC4ZCjDAyyoLawzLGHuLY9ZTHqHuWPKBDzzHygPFtm3EUv4AIxkXaBdA0+ItfMk5N0jYf+Q19Zc48eKYGAWdD8B73ARCrd6ofi7v6EvZgX9UTIQf4f7SxqnPkvYxyXIdOGvAUxa08k6mdurtTJgCoJFTAP2jOgAFqSKonO0JoJ0owAtQNdJk6ctxhmjAAu7jDQybHESIrgj7UyNe5aQieyWWT4yGgUzrVIxlnECe3haBslpgrYiqJIhOdYdvXVesOFjqCyP4A1w7Zaka7l/1PLEpa134XKU7mkvwACfzDjxUskVItINuIYkyQWTXMYD+9Ldcf75uYulcEd3jW1AHPcyt6GlfNmG0POCOlrdwrxMKYiJBslLcgFRqZ7lZAr1R4y1o2spd62KPNbO2ZHIpH+GCeR/BJ5nnQT66C4Ylufg/LIvzqmWKKID75JtVGWwPmbGHR0rDx0MyTKCdWWguxMRgvIlXSBMykoMNFzBEiBSSfxRIUTfnowY98X7y5dvT56fiRcn56/PnvetQn37r/Dj3MLbQJSYJrDCzPrkJomdJhMqXkGS9nM0nmMupeweZ3B/+4AEiNPGa9sx+tJN3elhfiO46oqM9VhEQE8A/MX8WNEvm8TFKSPvGGlJDKbGA0DdSXJmYJP/g+VwRF+QvfGBwEs06GBCwoFvriOTcTyZgiSbFeXbgbjXg7CUJALuicFmlB6wtkskWQobOhuNZnkpdw0sNOg+8BRjOdSp5r0NPBZjkH4XJgOT+F1gvprfOa0M/svWrhO/b/0ewA/9pv/5/6K/DDSqFU02XgMFpXcAN/jtj4H5n6A2ziGPXlHV95rGPyIrn2fCu6WWXC1NmwlRTh49zVJt3Y1YcKVqqFjtLy89e/pruKO24IoPKJKC5FePZbfor4mctnZkZIvX8wSXczHn8dlMoAYuaL89NR+GUYmaAUPRbgB2e3t9sCzX/w7OyglAGctEq/UB5VlWbI6ac534/c0S5WQebbmiGP6xImySRq5QNDGJ3UN2j6lbm/WhcTKhU0omFKJccpnHd3GibtQZJGtisqxP6eoyAatbsS9nZr3U05o1eY9OlF76VreOqC0Bm6VqlaGKXJ6ld0DSJNZI0OufYRjHPqTSuzjPUnC5cipP0oOoeYhS+KIEBf58XpivYE7V1/uiyEaSVfNgkNRjpW1oGq64C5Nl/JIYKT2l6FleW0dnBbZTyZTzWRucemwEAiXijfYuQcDY2jCKb5Qu/PXQt9Lk2O7Lo+P93kHb2KUPooODrsn8KWVveKD2D47GJqmIPDChT+Ph8X70tDt8Knu9o95wFB2roRwfSzl62t5eGxv67SPj3Sm1cdOfMQ7IR3Wb/Xz8JisuKez5M8Dm6iY20BaA8qchZISIs8+AW8gbH+Rd13iEdNqdTvB0eNAbyaFaj9prnhfshDmwLXtfdSQ361a4vaC11tv+tDBR11oT8TOSbXCepnmc4U3DgU01XP2SlNpCCm5NJesp66T/PiWaQXcg286KaFQuvLF+mWczuGLiFGfVbbfbgMvnAsxn6Yl+k6Vvs6yoMo/NwJpbL/98TCkjA62je9GtAaP8a3M5xIX29eUQdJezdHu6v99bqR+/2TaWiBkOGy7OL9ddARfKspyTG4DklPMendYmE1g8/VNtH7r1PIdT51RpesJfwRtdpkUccGNKpYWWkdLFUYP+apaUoRHAD7WAuMFxX6xi9PIfTVKDmigwbC8ASK0dHhdLevuYVJkO7Norclp0uWZ105JK0Bu6dHHXIh6zvtXRtLKmTXLe95yFT2CKcS7Aj+4J1330chKSGvE+1qVuIkbqDeMoUqloiSjPTJeIlOYEGJ60BWgNXTiheJlkQ5mwVyZoZNzqmvDgxWKouQK9AWhQffI0HCOXYO71WC2T/9wJQs3nKc2r6+Hkm133DDs9hwrsl1m+Zrd13qhON5N9+m1ZOH5+FDudxm5xWu3W2ItcF08v3783Kxf/iuS5VPnIkBblRAZ00F4N0oVZivxhU2DvyjIyjQyNzk+zYsY/aG5WQjJofA2dSz2uJ1/oCBC0hXnZwcPK4HxM3/Ajqyp9UeZTXZKsXD/257OgRUvwvPmTlGH+XzayIvb/5/HlD88xBvXq8uT0bLeCE1uFqsLgvBUg5to9l/qSAxJLR6B7zSU3eaj2n7b3SjfTvrnt/qgZDJ1RbcASz92OgRtUgZdGWhkd6ch7eb4EoM6sEn/V3kSsxu5Rqk+XHY65n4KT2JbmGgnbMawBSS+62iv+RZzrYtsHTz76AJtiZN2mYHV/lenijSq4PgUozckH8tEtfQMmd3JFexQK17GVfD3I2Alt2cuL8u2SKn5WBg3RQmKzRxrcTtAQShGH+ra6opBZUCn2S4URcIM70QyQedCOCCMsm1mFhioht+Tz5zVreFZ+Kcy3pOqBe5pDPzhU0nFliAtoVDkUgC6ouYdxygHsUujZGFwTsrF4lKAi+FEFN7yv5iyIjJxLBZj67hfxBCSUUc3L5wwbiAm3wPQeIHwEcYrxfHKEWR5w0tQmFDtg+qjNNzSJR3mms3HRshB36nF6V+YsPbmXuXpLefJXFMkIgBYMQiAMwUBKtwDcA8ClbxRIWkTyap50/mjBtYxTqgZQ0e/P23APbovnDiNFBCtT+0rqUVKGnuQ31fvJU4dy9D/W0DZ3P6YA0KTLIFv1Up+Bs/AmdAtNueknIHbE1aY/2PikekRPmcV/UndrL4KGaxU4IAWB1my4BMTMJJJTIwk4/GLZ57C/OV6mgvoXVjgTQEig/wl6zL9iNwzYyvksZXMV0EJOpy61SKiXkK2kfhIXWTRLVHUw+twbCWuJuY4GIxgU2S+lISTKO6HKVCBVaCQiqZWhdJwyYAzRFegBJzhOLWp/x9I9FzDqJ+l857arbgkqm8wkCT8x1Aqj6Po9V4F6i4U+TyEIHq6SOmGNwjNwP8dphECpF8XOW18v9uGivMO8f/BKJjm44g0J714O/+DYjaWHOdaOBxS5SFQu7wEsk/rUJKEgyYLJgr79FSeLX2fjT0wShFd2ZNPg7aniO3TZtEKcjSAfEscp4QfwnZNVWuZ46xo2DxyCaZKA8YWIBnUhKlOBKZ8ksdSVTdAgbjkd64AyHWuuK06MROlKZrr0Bjt9cy6GBlzkOCiyF0l5mT/WMziSGri/Zn++4QN2kNFkd49s9QhKpoQjUokilyZGjHgA2eaUPZo5CgJzajTkBrT/tIHz3d5xt41xNCq/UVEdFUB+X/6etqLFI277SGAGl2IpLJTqQ8DUUQvCs9SFgV9DyxXAaF9tVgWkl0ICcW1dKZ37VfYMMdJm7amVyuoBjG7BML6K2Ndo5Ho6jrqd6OB4v/v0oG0q6nVGqj0e7h+Nn3aeDjvR04Pj0XE36sqofTQcHo2O949MrYpov9dr99pDefx0u2nUU8a1OnY03j/udcbRoRllPBx35FFHGSvbuN2V+/vDrjGjdQ7H7U5bqqcH3dH+flcdGxyOjkfmRoxGTw+Xj91sSJv3qIOyoZlsU3MY968aFYzNq759vZkMU9zVjuDmsfM7IX2gDwbYQPQocFvNjq1UiZS4mZfSzhGl6dXlDgE3wE2Wm04Ykyd1GQyo98QYXmViMa8e+dnhmw4jGan6IKdk3nOmgsGKpHFehs+nJv/sAYarO0uXpWPnuUuqKb/gHs8zUkAIP31DHll2oN3wUyO/LU00Tgf0qvKXg3aJr+YitYvtFaBQxjfwHBrpRea+rew/6BF7JQxZ/q+h0rkmmO4zwYUBC+M6/a403nLrPg/nDcHN7bXSPAKs4bJ9DxuCqbk2qVhWqfVIu7Rf4inAijgoObMmlM12LNICcvON5j9/mbIuSvRKJuGRusSVXRFlSiOdOCEZCslzIasq6nxUkQzlNC4zZ/p0gy8hv9JdBxMVdJCEdRDW0NRT+5FZ+yi7By11nEVzJthrt5f1WUetD+3X0edD+zUU+dh8mmH2KIz6MqfUncPSPrnSRZard9kPeWz2pEzeOtmUVp6Ydur8rmddof6FGfym8lCtax2nkb8j5gagubZDDKwhaADndDBvNFiAuIZ3xjrmJ5CVyWPf2saJQUZU/RZVm9XK5yUyOxUk47EaPUAUpK+5nubqqsiM8vq3bfWLGsH/S2XMdv96u3Uv4yLQt7MCNvb2z3/8gRPjarLzzAgiyun4k+GvmnmAYzso3WVkw1AYLwoU6QvQdxLLTNU9fAb5foCvgZZJq8hj3MU8L8jLXI4UnbyyWho5nPfaZfJBXAdzFPfI6Mku+BbvbOxMBxSkqCyLIZ9CnM7ciBcIgPcmjxXu53oPWeyxaE0eyYymEjeAJaUGlAU2xRJvmKxNjQ0lKNEVBNXDjrmTZOxi/2vWEFKsCZtM+GOMKVO5XS5OVIGUpDvXwOjut7Wrveu0dVjdLlyJ4xLqa7C/4bvbXOnbLHF42wEfseWd4b3yUhXhdPmrfA0gnk9Bp9092F+9M4Xk+zi8evfucoXxYyon+Vwl8oH3l4NGM4Apb831u+oZpjWqoX6nubNfQbChq1+ruN60dEFtREKNoOYbnBTYcBiD9VJlr+NCdQ0rK+SQVBE7/IyHfDo3PAw+5rvtznGr0211nrbAVQI1tWkRlHm7IDukHJXCIPpMzPBfNypLYJAg4kFoKpW8bOtcsNyleY9VmlftaOW325/saROrvZ0lys8ZV71R1oDUNOlmCHmtHnZZ5/U9m/zezf5Mr+GvbAxRzKRLxLDhwok7xZRxASU6dMqzxdrJV8Z+PJsGrzOmQTyFq7ZhXmvLB9W0iSwC1A+1sTMXA2pw4Wo8Cuu7bq2TRHH9PcWQGg9EMwSvKJqZ1dokZUDpcp+JNUE0+7Y3g8o3n5Ae5XKq+Mngz6rX1utMzK0x14xOnJ7Yk+3faxdxGk9mE3vyURYj5XSc1qWJDcFECrZHFaPI/cgFDvpfrOP/PpX2sz2RKnAXHGZVBT69umRUlRTwth8sfD2YF8z6GOP7C9FlgfJekWkNelSZTdrk7lLpQPyM9ISrqMG9Dst04WDlqd+NVSfyfuk4DvsUy7Xyo8VMd/HFQA6U8Dpai3lbH84AcmDXumJWSenZAufuPlebOxPXD8HEX78jqYuXqmmrfmZe9z6GI7SPup2gp7rtw65SB38rddyd3lCp3vig2+09fdqLeiN52B0rddRrH8uobTTrXTVqt8fjdnTU7vVUTx3LkTySx+PD9jgyyvbtZuTXcfU2q/XZPm7+TvLvaQb+uvlqlhFC4wed3RZwR0sQP2vALmyZGvjcQnATDMqKVd0hqMi2qwQ/VPpA7oQrVWwcfupEnZapGrUXcyrWSVFS5Eph/lQ6wFz0tOV5DZZ/LQs5xTQ/+pbDvX3mUx6x7T4oZPe24Q36g2HbeRwpw4e2/2jyVKStyn/NpU9ggy/+3/M3FKqNL4Y4dTWw7GiFEc2+u1lc2IwRXnozzsLERmWW/lDxEMUaZkJPfxd2ObyuIEgoA68DZMmRnaLC5XIFjbW/h58m83KVt703/A58cTSAdRdouVNpRi3gq3KaJRgm2dyRIRMXM40B4f9mxaa/tP6tbPcBPvvLIk5cXrRR+4Gm2frem6o/CMrn6j+o92YKEIKxgQaEIayvAuG+a+tAqr3XV4K4xQAam8J6gAjDedLOp3W3+TOZqwDui8QaCenOggwhsH89t9M1HMg54/DQDIDwWzsGIhaGAIgBQzz3mRLkGR8mMv3IVWWpGgll/+bEGZSdywzX4LKTCrlg6JlxL9+b1lPdBkF5ZAM+suNE3pDrY5wComkk84jy1FEOJ21NQZik9qG6GlyAjF13wtF05u/2Trs9od3e3HmC4Qd+/+P2RVzbX4+yqVpFnIaG9dyQoXzyicgu98jikngSFxUraraO53xlTJbiq2NTUhh/on/+MzmU7rkq5XuOpYQMSRawRkU+f2c/x1sp0/wIoJxoE2hFRvsKYljCyDSgdDDjLPuz2f2h5+OqJtPiYU9MlEz1MmwqFxzftivHFZEfIuzTAvYJmze9TIkkiE4gJQ5kovpE4tuwzFECHq9k58ghhxklASumiaC8psvRnk4vy5TZdXbosbU6xxiRRflahNOLjUl+DcU5eid+axI+yNMagLlkoxx+itP4IkjOeyRZbBSc4TsUr4j5kJOxn+930+ThwEvBZ1GWQt5tNudp3AoHU3J0a1Eja1psE+TUEgT8S/080S/j4tVsSEl/5sVbqMaOFnIIxhiSVnJIfNhf27ttv93d3ydJHXLN3aQGfuSvmFtlI4m4iA2UNqy+gLQnzL0CUlW3TnMnvXavaI0erGxdv+tmGmUHIK85Hflvq0+uZtP+78qhGP/mWxI4geNHsiwP+uOhAllK+2lcs1TtNuPg50ytD3qAhxiRwEmQW2Rs+fVzqTo5gB3Q0Fxi1kYbPWHzsYbiAsy8lLjNVTQwwcsCdypSkcNe/WAH6D9Mlbtv7QBYSTO9AZzx0sQ7GtDaE4NqIuv6jLwBgR+UicAv0S9hsBZTJgh6wDx9ncVpMGO8VbBso4Irv8Ak6yqb+OJBO8T/Wu1mTEC+rztkVNaNvHAn5lrkW4478sCNA3C5j08OQ402GG36Qk7iJPYpuH1+ebe/vcgMx9zysYLIGmizB78Pd0tlrFrcpuTFNc/dNtMzcjLk5jZzIn5M/uRZaj3s/MeDLMMPSpwfSO9M0MNNOW5kMIPSQ6OPrQZaPdQ50l6ZfyTqCvpv0/YrHTyJBc2hB/D25AgC9PRj7zVS7gC9rph6l5zrEn00iGk7I+2JS0zY99xAxw8A2luCZj+j3JzOOgMZbXa8cnE0eNerlAMZaDx2Lvl2FE5WNObVWjVR57keu9b4cBBy4faIQc60pWbJ1wqEJaKND4cfVOHmd73PG8n1t3nem99RNfm+P3U5VXS6m8+aJ12d7obGawYAOs5LNxbDpdfqHfVn9SxG05ot3dxvFq3Trz7UpLlHfVTJsj58KdWSkoLd1+muq/11LYDl/gPuvq3veitzVbrAu2kJGi1r+kGPijp2RJGbyzd+IfVH3YL8NWkMbDYo2W2LINo/ywLQ8DLjGGB6L7MTJGPgIwYbarMcJ7Aj6W51Ei5UB9k4nQMMFNjTb4daTwv1SVfOii/1YHnztQ3q4OJa4+6Jy2Y9RH330OojbXk6LLZxuw0a0g3R88uMWnzB1ENVlDlU/GoKpDg1iBU5DFqdgA1Y19hUjJy2OfirZikZmhJrNo0jlRb8RCm4f5SBse+x3iUVEehciDoYIrGW8AFXDNwYujXN6FfAwwSEZuCgWTP9WbTh+ZpFjecLBtn8fM2izc8XJXy4gpoG6qYuRxbIj9RIaG5VZKRp5xmvnCoJda6lyeBHKm1Agltz3BIXo+OSCH5Iy3zBWpUQLHqAsPVQk3iLZy0IECFbkaMETdIXGR6q0UjDOJX5Q33uBCb9M9IXfir3WG3z+kxS6/dudCHxuzanhuo292zMDuX33DRDVCM0yhL12QBdP5/NnTbqo/y/tSSxUzfR9bbKl00JUgW+PC1IXfvNU1wA6XygJBPUD9aQ76Gh10odVgmubl6m5fHDZTu2iMhJdLi/vRzK+vHDtSDg3v0hTR4gX+kLMyWzIws1qars60GsH4ZcD6MhbWpTRz+G+fDgoLe/tFd9JHMnPFiK4fru4AyBzVNORFgV/sqhO71lCK4R+dJbylbXjX7xu68fAVMHoNkB5GBZd9f/t3m0r+7w6w/HTr9LT/vSvfcFnX99yF/MAbiy17+JF7A/mU3cTuvwr7+Qv6j/qQ/6a/ig/leQYRZTL7efLmUgzT6ytf1W9/07bIbQzD+Xod/gOtfIvtb3nmuAsC4DbfSi85s3O4X77RuddZp7buQbUDnl3zTcrH5S66vQ64HUx34tP2lrBX3V9z0ZjWCfhGgohH9deZ+/y0zjZjGuDiJVqPm8vunKXOO/jfbPR/tbKIWiW0wiUqfxQkvw4X6g0lEGl+fzeDyOVfBKJclEppzgg7OEcGXiG5UCJctcpH0xgOgSrRMzEvYQ++3jQ9H9i2hF6q6VzhJYdhppwPT88iEKBoEgug0IA5g3PgwuzehUHWl5Ijch81w+ALepdHGSqnARYvs4Mi1QwyqT5l3CtzNvEYX7wkoSWH4uwNGDcpyAxyEjriNONIuO2IODosF0Hf9Ss/r0BZ6Fd6VXyfvnl9hPc4rc2jAF5rQ74iqbqEXT5x55hf7DwFO/UMFvqCNI2TIkG+Fhs9I5lDgi5/m9MX1AXzCb4qcE27cac1FiTtOUmxuggctAE/KyXUquXFHRyFexBk+t1+DXu/hMemvmD9cNev3y8fJZ1hr6bLZu1FBWEjCCvzmDXosjr8GCaw2usJkYCKQmKHNNTWWc6885/cMkGzqn38nXzt7xAVi/XA19OInKxak17cI2/y+C4Z++9U/+UXUDH/23ZyfPL84MRuFNVhjOuvEYbfNzuL8P/4efhf93Dzu9wz919g86h939bvug96d258DELf5JtL8FAWaQ/tagsiGYyuT+m/z89psouBrDNhYTDSmob1uE4o8/tq69vbFWtfNdcV69K3zH6PKB+ebl+ZufKF94rsBXWpWFpWW6wOy3tmoQLr2rn8noRhHa1UYoC3+yBbjr/70CaWvrHWZq38NX/2DRwtWn/MYDdP8szV0lGx/4l76XWZC7+T6kkAw7t0Sbh78YHGypV+DRBQh+U/TI9QguIkfugxig6zmlaeUWRZFddkhzAoSuoebwfKGxvrq+3RVTc9GBSrssYxzWLoV7m1+RZZ7oiCVfX6oCHPQgdfg48woGwygYNglk9me1RuyVA4ZEZBgCRz6nBLlUZ39r68mT8wnIEzIt+k+eUIAL9O2JWLOsoaIqhnEJ5vrt2euzk6sztO7+7OPro0QYgNDOCdVpkfTCJLNKUAOvTJx6z1vvUWEW4QNoga69T39+vOP9vYtex/fhB27tzqWy0nRpwR/460PZrrWLZ9fOIhvNrKceQDZEfp/GLpmr5Jul9QRkImGx70l2p7SARosEycyapSgnSq2zUWyfHNiSjgdROMEO5GiH1bgtoRiPFSc/S9eYPpfYXjp9bKAWd8/16auTt+9+FgGXsIeOPr7UsRlbateM6464iFFkTm8oJ5uGys5c8abcmbhtc9J8F/cZmVDv5QPqQCfY33zJFCY4gzpAVAT7E4dkQItnaoh3yCueQhqr14emaERSWKbBKI/RhdkGg1BAo0EnhmzFkD0JI6hh/Gtn0XfsvwMceBe7gRaOJwN0u563r7bGDG5ZqhjjCioixujxaIZMkJxrOF3mryrPAkjPBTq8PWD7lJXuXqYF1IjeEubHAL4+X4aBLFPo1dCIO79VUQxF5vFWgbIonCeAVopn7IUp8sxqwL3ObnwAkGbFW5poljv15UHJBUHhdi7vm+nvYkO5xnnEW6kFJelD3y8VEQ6xOWXGEKq4fg9vVw3v0CgeY1F1ZAp8hiKfgWoueg+dcZcjQmYjRVh9fEjevG/jiUHgIhuB1SKeaRr931/kmc2Kv22PP9DRZ+5woxLgbVg3diS69g+h00x454cA1opheTyZ6V/BiNSaMDDI0OYLYqE4IW64wiHEJYjTGfBPvkarW7RMzz+a5UhgJvVIaSAXFwwg7tVwN5VsCowPtKdoBahI/KnbdmsLWeJpqeZhgeUU0X6Gljq+6M13S7hlDBusheLOB+ScO6M5PAzTxvEDsvwFsYW3iykhtVJ4N/EkgNtxvTG6iyi2UEU4MZXCXgJNQmEvKahSdO1Uwfj5cdhy/tzdw9iEGW4rrXzyWWr1q9eLvs3uBQFqlkjgDqhmXVo8TnVNrGCKG4Jkp6Hi6gucLdgzNsRa3ICOgb35s1TtbSlw3DJkuceyhxP5Ef6CEACOvYCo4Ts5mtE1k2KFCdwAN7dlPOfOUad7VPsmwZWljcSBmtB2l0NAKctHWNLBJtoTF5QFiyS2pQH2oPektHZu3wn1xQpOHFo7WJ7/EG9FUrUYPP5BdXBA/HVhOtqjZYnoSHIfrJYD0Ax1kqDpgtKaQlp0PNxlxgF37B+moNXN8j1bpIcwF1deijDQeyJwxmTl3G8DiGDGTAJisH7qubC8q/+8PbU4bxuQ2/y58zEX18Qgdgq4BBj2bM2jim0nS+BJOc3HcPbpVTcqEgEnwW/h9A2gVQB/Bw7AIMOiN0HqtBzs0h70Lwz8/Z8fytwQU3mjWvBvwglewZegnsxmbmQxnDv7SryVkZAeVbF/+GSwwE+GSTb6yFV8MNnEvciGwFQKiJ7CU+hHVNPVDixm6QExzCkwX4rrdtg5DDt0QtfXnp3iSJieNNppdw47uyTf3RlCPL6L82ImE8pnwWICEWxXRFLfDjNIVnEv+U0RWZy6vbD9RXCCnF0lTs5SCVnGBXbAGs5ElfDq+EVoQ25VQI1rWkrin2ygxL5Yxx+mFW4J8Q+nPtbAXLeJCAIAFJSAWsVkWkrbhEJAcEP4XpRvfguRWpb7asAV75bWXCwyjuKMS7SAY2Q5cwuuFEviy7UvtIyYUl+O1JTaKSD2gQgAZD4UeI7OSsMsyLsln1oUIk6iCFQn107TBhQDHd/olrX5Rqne9TU3gEttlCtd03Dst0bO8RD8PYn6DoOmD4RwBwshLf5iUC9XiOkLB8/SFAboh/aehwBf8fpInL1+RhIK1GB7h9EaTBEav7ITpEahImXmuLDCyRHVaP+MBZbDnjx6ejySUh0eKDXal9Gh6g33D4ed46OD9nD/aWd4OBwpzqYj73UrOWL7e5Ackai0Gnmd4CcmLx4M/O18oPmT+iVZL8JaJwHUuesLmad9831fjib9n34KfvoJfvV/4p++Uw2vxR8GlV/8Q7hsmoKDAsY+d15oESyB6M+CMo/bCeIoUZwWvS8e9Q7b7Ud267q+xOduML/gg0ZqI8pGRJHOkMydUt6D2AKx+vSs4BOFr8H69AVaDGdcBYsfOmimnECwpjlYNdZPDfCqDThkYgrHaAqyMCvs3Lxzxe1iDxKqseYZ8xVG3MeV3WD2EOcYYqHyHCSTB0eqsaIbydcz7VQlmedmYJn9/dvX2F7mCkviwG0/4zqptrTdEto90tCfJNlHSUKEJ09vor8vRdA7Bc7vCmkpBp9u5cq3W1vnY5wTzRNrBU1iqlyzHHmiepphVjpiOVAQ8YzYKRLFmqxXQfjPZEGFlUkzl5cAOfaInaL/hFbYAI8CITFUWGoAdsrKkxZ3n0oSAug/4sQ/BuyZn89nNR7K49r7iSZK9f/gsyrPpB/zhifzsqX8m9fP4Nv1uQblyjOMh0FtLx8FbrvHz23lul2n5VpjMjwzKszUHfEkfaAQdVcWGHHNvFEi4VkBKim6ij26vzw9++Z0f/0sFBdZ7iW4nBu2YcuAxTe7SdSi+ENZZEptc3YfFPWpScz2coZ/AdP8j7P5C6UTdo7IogeaANuymvbEXwEw3Bnqn1fWnIZQMk9ildthnK8rU2oA/IXW9uTXWd4s+K23diseGRj522zgH3I5ShS584A5L5fagB8V/6ypZ6P46038XSVDE/ejlzdplHyma/2fGPA4m6VRH3T6dTcQyNAb+qTWZwvaDUG+h6ufrhvyMgKRaaRSmceZiDVcbJQITk+TuAjuYnWPFgMSqyhFrc3pOhK/wgV7CtYrkSvISaGXSCyMBIgGVNOdwJBLWyOcOK2BQ76HYIgi6QYe0CRtADSWpiwVWbAyZHAqbrJYRLqnpjwfA9aS4TDSSclB1Fyez4M0jNZKcxKBLAK77Uc1hEpKRtMIwbi+vt8pMs1sTbTD7sG/7i3N+8lBAZQhlLJ1ce1c0uaicMGucmouKgzusAw84H5POHkKooFrgeWqRlAEHBw1UvC2tub60iykgApurBRbskNjdselYzCxrbvnFr2n2rTtsNcJ2+GTJ00Eiok24ROstUS7ASbn7AC4efYN8Uy7QwEujtdwAEiHvN7bFdwyW/sH3Q5p7XbEq+zesUGwoqG0Pb/CBT4Rcwrj9efRl22C2MNZsmzu2c5JiwS+c+hLOM7vXl9x7WdXZ071fjlluPO61FQUCE4/vxpSMcl0gYxB76FRMRkHlCLK7UkrBZnlKKkRsQWrcWS7vJ0L2d+IKWZwZRj/hnx0a+ZAkwaOwupiNM4Q1EJNKdUSOSRGZRxPHCkzQMGGvCKjzJHC7KGUxXreUmW2qmw85mB1p3p1keFoApD8qEO0Np+I6dzKg8XNiHOTyCJ9KnBhcy0nap631BZOI6nKljlN6JRZeIAFtYV1hiXMXfC2mpk3pkww6IzCesm+jVjCB2Ak6wLtGnhCrJ0nIe8eCfuH3KzmGj9WBAOzoPsJeIeLULjVg6SD3oa+mBX0R8lA/B3uL2mc+ixhH5cg04W3Bk429tOTub1aoxc2wSKmAXtGdAALUkXROVoTQbpRuMYpTZ62GFfVBCzsMtLIsMVJiOCOtDM17FlCxqmFv3xkIAYk200FBTaZvhTvG2uCtiKokiE51h29dV6w4WOoLI/gDXANqxqU3lwt949anri09S5cjtI97QUY4JMZoAWz4DRrjpWL2P48C53LeGBfujvOPz+Qndsd3TW2AXHcy1zybcuXbQg9L6ij1S2QKgKoAmKiQfKSXEBUqmdl8UB/xFg7upZy16rIY+0qooufTPpneZ7llKrZOgn0qdKvzQfXN0cY7wlEB94l26jKYH3MjDs6Vh46GNLKCOzKQHcnIARJZsMuECZlJQYarmAJAClyzQeIvj0ZMe6L95cv3548PxMvTs5fnz3vW4X69l/hx7mFt4EoMU1ghZn155kJ48lkhi5DJGk/R+M5XC1gzIYZ3N8+IAHitPHadoy+dFMbx+L9w1286oqM9VhEQE8A/MX8WNEvm8SFDZNyjLQkBlPjAaDupgXNFfk/WA5H9AXZGx8IvEQDsyCHYXvgm+vIZAzZ7x5QCUVvB+JeD8JSkgi4JwabUXrA2i4BqUjBBDUazfJS7hpYaNB94CnGzASxlna96yeO6Tt9fnt39u8/m/v/W8NdC/xsPyo1/Zr+//Tj+/+bfx20v/v//9PX31pgg/3wwNwkk+hrrH+n01tcf2MC7Hxf/2/xsyPsIpemtHGcKOszTI7YaYYXB7t+wJ24UVwISEX0ZCYBmL1u09nEdKFnkhnmWquJTIt4xNen9eozA5nvwM0hy292S1kL96jx7UcfqiTGIAi6XzmNB4/zeOf44Ki9a5qO4n7pHkKP2gBkCHxVQKP99j40gsflY/hity/mOiTA0RcMOduSlTtJdgdI3aNjgARefQDIYpKl5FaNagsSd8gXlRAnv0CmO7UCaMeI/HsKA/befkwqx0IZ3HXCw3Afoh5eQOytXfAnT9aLa8OHba5Qziq9JPfD/bAXhqH7ESzD95v/fxr/N1LrV+L/3e5Bp8r/D77z/7V/vvP/HvB/sJkwvwZ1LzFRqIoep6hZmpAZxKa6cdQCwF4P94m9luE6MplCHdqeMV+GXefzmywx5MA6LubT53k2FYXC3HstDlf3ox2hae/L4bcG+z8K2+U9BjeYSt9x6U8xyaJZotwYehihfdjF21FCvs3gXsU3t0VQZIVMXIsZF7sBrAEIF58ECEdduPBgel7aIj19pMUdpORjx3ZsTBN6Af6REP8pE9oi/zi5eI3vffZtwIx+F4Ay5dOnD87TuDhlFSaN3obRaYv1aWlcxVBZtnKwJ3KFVoPnryi3RalhDJHKBwDDyaXRsok0+pQMCrMwsdezt8XLjHKDEJHpITFfXZ70hZMrs3XXBTtmR0TWSwG08pOpkNO4DESFk3bXrcmUSHA7TLU4LTVS7vKAghrWZjbVRa7kBIJooOqWrzjEqXaOdrfW3lFfR6AA6cETKOju+acLFN/v/87Xev+19w+r9//R9/t/vZ/v9z/sUWBjGHb2s7jinDFOYSCP9dUW7AF++HT/EDjrCdXks/FO4DDk5BMEju4DdLXMzrUFzta5BOuguJ2H+M20vKHR2r21r/PO12G+wGmrzLfznfl+5/9HX+391+l2a95/3/O/fJOf/y+AAOyd2XuquhbA3/kr8p15QkNAsN55nrt75vN2vwipza0KF9CeYf/xlxViSoPXIx/Fbd0rTyWGQctvZSVruiT5r5VSJWRnSi+GRHSlvdbRJtvHKSBRen0hSqVVX7GGNNbWxE/gK4MlBExz4E1WK9eJLLIl/4HwpbJcw+lXvmeU/a+Vz13G53IpYfn3QT0QMqjIW1XPGM6YMDhjb6StSiqzTBcy1oHY6g71piRPkmZ52KZDolzvvZqa2LpONdMRHWyq8eypJkI9/3zl/4D6v4/y/1kayn/PqfV28MeBLwF2IGEi52VhXA71ptvPFaFVRqDQNgJBBGm7AiLIcrVvpr1fYTCET+qUDDo2sxrmUepddZXDg6n8UVvlj1DltxvK/8Hs/3QStu3/Htr/uzeU/8zpKlbZYGJ1j3rLnJfKPywEXLBX6G2A513/W/wzOpkg/90a8t98Rx3l29MwsjbuaW6nw64DxrQ3NKhmzI8+NnsIsIIffVEPHz3WiuSF2QOGtbeVD2ltxqnrBUrV03vSxkF8F8OSNrogpcfvlhKCcdSp3pQ2Ts14YXISPc0LdZdDaE6t1pbZkqhwXa1oToOOiuaV+Q2HEoyWfa8hW3D5f9byfzD/z8hH/e8ZGsp/FPw9BP+JJT6K+hcm/70zX/+j/Ef57zldhd5Q26rT9rYqPN4L5p8NxX8YsTb/IfLfuSH/DPh3yTvaXK7up0rNfaaInm/WnxHB4AgewUTSi7yEKnZKc5pU9p536qt0EiT+O4NJEq8tSZgzPP+9SkB14D+igR3/GUww/qNbQ/6rmHQyuhYPcHV1ce1ED4Ho1WfKE3MEH9ZYF7o/h++kwtU/gUuMdLdYJ9Vf5o8h0Ia77RJ573loDb0Z/H+/3HPzL8cN2WaCGd1yWbjNeEe3UbSgF/8V+9b+fxBFFPk/RXuaoa+VMQU6STP+aH8eSjvhssqsaJJoDK/0YhuM/9p7fjdEVa9zb5d8YXHfh3828S3+/SAITs8/8v8A8epa3f22zp+mfJsM5s36h1/UcRGa+ToXff226EIz+/PV6g3URs/jM3yj89bcT1Xyy+bV3jmdFEH+jUe0xr/eqj4w4ffiP/Bs/pnne6fnH/mHiuOa51xAqWIofT0j7bSbY6tAXMkXMwIJO6mbiG3NuVyIosIc6r1XHfcSst+aEFqH1IaQL+sKIo062DOiCnHv10aaIsWMO6h7OEQbWuqPN4VwVdLDZjUEkEQH5AvyD8W3IH7ukATosf/PPJt/3P87Pf9tSIeVCMfhvZ/v6zQRUNClVj30gUkjXsbZY0bxK0rpjPiUXlHdt0mefuzVH3uOU5+oT3lHayrjEp4aajm94zj6XDhr/4gL418lWHBV5NQB7vvx79PQ4p9GDPm/MP4PztKkmdpDc+zqNcWTIL6aW/1YZL4pfpin3w8GHc7/OlXK4Ym/r/7vU4t/r+pD/nH+18uA5K/qLdQDvnP/nPOVcF9ler2QiDXIBaXWV09tD07zB54nInFvQOPXu/a4ZXkc/49FReYHZEBP/iPf5j8McP5H/o9Y3vepkdWzEthbwX/3lX93/lkU2fyzCOd/aMj/weX/0Azi/J+lSUN02lJgIP9fxoII7X91Q/5h3S9j+LSr3wGBDJ2/s2d+U3xfTfQZL+9mZKxvsm9ACjlE3/EomwTv7PlcVyU1paNbH+c8E0ZpeGn8l3HmbpLMrW0o/+KZCYaxZEEf/hmz+A8mDPk/qqH+bzb726/obOds4JhN/4PDLtYA0J9/kILwg93kogqqs9jvvf8XWPz7Ecb/H9OQ/+cg1nn6cleDoKMHyRfI/6D7/9Tm36NY/+E0Dfk/zDnyb7M/gP0/atn/GYuQ/+doyD9B8rvzL7jmX/9og87/Pm3b/7H+4xEN+R+YYORf74sOy78/sfn3MP9z74b7/4h3b/6z4gT6fxC09H8f/X+Oaaj/Z2nypYg3uSx/uEmXMv5h5lhSoocYQP51ihSXr5MDsqAv/37L/v/Wx/8h/8Au4n8m/NvcD+z/RyPc/0P+35SGj/ybosduo2KxOxd3fCtTO/NPb/sfYy37f0CR/9Pz3/hn74eREP0OmERAMFz8MX1YN9zqS1Xy7kdeAtxynVRh/qK6UVKoQFszLoMJW4qGQ76rAb9Jk8Ihpm3rtCBeoysTuUwTc1lvSnFHcXD+B8r/4XtRK//HhcX/YP6Pw6IF4T1P/rskAOph/6c2/74fXA7/yP/RSXhOlhYIye/E/+EwwN7xv6HNf+Rflv6P/HenFpP9nAP/+lsPGv87Ya3438mJ9v8w//c/xW1J5ku+voe83vBymxpH9f/cOZmMwBn73Pi3EoAZaQD/Wi7XIncLEaujapwRDp39/23/nzAKfeT/FO082CbEvFA7a94f6ncKxus1wU0ut3IpFuJPsI+gVgVabcD0Yafiv8hELG9lfFgAdOXfs/mPPPb2xP8g/z351Z2HRcgxYgT5P8z/YP7/bf9fzP+J/L/5+Rv575EAtIP+H9r8s+DNr/+Rf8z2ifx3TwDamf+wnf+fBgz5PyP+MdundjtqWh6IEi4zEgT+k55iRqZU95Q8X4jy5vjTzov/DgGAffx//Nb8j/6/Z8A/Rvvh/N/L8n+s/a+1/g+w/ucZ8I/ZfpH/7gmAu+f/9Nv+PxT5x/kfs/2eAf/toN/h/X9o4F+W/Q/5xzDel8h/hwTgPeb/Vv6vIGIe8o/6P2b7PgP+OycA7+7/w2z+Mf4P+cds3+fE/5D7/2Hb/987j/kf+cds38j/wOt/nwat9b93WfY/5B+zeL9E/jskAOzBf9v/J0T/3/PhH7P9If91HMCf1tu2CbA//16r/hcLTr//j/wfpu9ohgkxLwsMaDrz//nVK8fK6nWbptagr/705Vf2KJjuVV/Gy/hOX/Z06CP/1YB0k8diAP7DiWfz79Pg5fKP/Me54KWopupclH9P5ztczTs0M3gv5UqW5lidm21mxKOrRtdKrJQewui/pOnOxX83ouh6rhYg+guc0bP1Em7D829RP7T/H4uQf9T/0cP3Tcz/f7jjedkB9L78e3r/PwojGtAq8T/1ghDrf5ymWZEyPC/lLY/Lu80c3NniO76uKJ6R166OyX1nkyW8FES9KmTOC/GZ8oWbb9afEcHgSCxXRM8aJBZ5SRZiTT56F2q6hR+/s7vO1/V1/qZfvWt1va3IQUSQR+nibr3R1ch/p/1sWS5ysRS8AHc7ZT2AQbdLIcpRzMtyKWBU9VzJUrgymRF41R2eyW/qm8zIFg4zc6hu5CSiiHOZlapLP13jechtmpN/mOAhsikqeMj1X/52/R3hBeEkF/AlRB2fSPg6IRBYRHaBRc5dunMfLGbj8UKqrxOnq/FjRNL4CY+OrO7+eMYmg+uNHuS9XIlE8lGaL8ZwlMHRuLoSZO4fV5ddzcfxOJ6M1U/772W6SEfFdjGeUJp97z7tHGXrhXMvfnhI80S9B+5O5qu/6+eABzQ/1oe//hXZeiM2HU0/dFZc6tQLcLJZx+Xynpc/NjqKMk/Xi/80u0qeeswPJmEY+r7v1J1toeQ0lDO306+33T1xMJqOGKX/Y68OZAAAAAAG+Vuf41tJJBEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARgIAAP//7MGxAAAAAMAgf+tds6gGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkADswbEAAAAAwCB/612zqAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAOzBsQAAAADAIH/rXbOoBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAA7MGxAAAAAMAgf+tds6gGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkADswbEAAAAAwCB/612zqAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAOzBsQAAAADAIH/rXbOoBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAA7MGxAAAAAMAgf+tds6gGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkADswbEAAAAAwCB/612zqAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAOzBsQAAAADAIH/rXbOoBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAA7MGxAAAAAMAgf+tds6gGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkADswbEAAAAAwCB/612zqAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAOzBsQAAAADAIH/rXbOoBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAA7MGxAAAAAMAgf+tds6gGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkADswbEAAAAAwCB/612zqAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAOzBsQAAAADAIH/rXbOoBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAA7MGxAAAAAMAgf+tds6gGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkADswbEAAAAAwCB/612zqAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAOzBsQAAAADAIH/rXbOoBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAA7MGxAAAAAMAgf+tds6gGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkADswbEAAAAAwCB/612zqAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAOzBsQAAAADAIH/rXbOoBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAA7MGxAAAAAMAgf+tds6gGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkADswbEAAAAAwCB/612zqAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAOzBsQAAAADAIH/rXbOoBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAA7MGxAAAAAMAgf+tds6gGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkADswbEAAAAAwCB/612zqAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAOzBsQAAAADAIH/rXbOoBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAA7MGxAAAAAMAgf+tds6gGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkADtwbEAAAAAwCB/612zqAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQTTjf0AAAQAA=
  set:
    global.clusterCIDR: 10.42.0.0/16
    global.clusterCIDRv4: 10.42.0.0/16
    global.clusterDNS: 10.43.0.10
    global.clusterDomain: cluster.local
    global.rke2DataDir: /var/lib/rancher/rke2
    global.serviceCIDR: 10.43.0.0/16
status:
  jobName: helm-install-rke2-ingress-nginx
brandond commented 1 month ago

Your chart's set values appear to be missing some things that should be injected for ALL system charts, ref: https://github.com/rancher/rke2/blob/e742dc53b463d205773cfb25633309671ce6777c/pkg/bootstrap/bootstrap.go#L312-L323

What is the output of grep -E 'chart-url|global' /var/lib/rancher/rke2/server/manifests/rke2-ingress-nginx.yaml? You should see something like this:

root@rke2-server-1:/# grep -E 'chart-url|global' /var/lib/rancher/rke2/server/manifests/rke2-ingress-nginx.yaml
    helm.cattle.io/chart-url: https://rke2-charts.rancher.io/assets/rke2-ingress-nginx/rke2-ingress-nginx-4.10.102.tgz
    global.clusterCIDR: 10.42.0.0/16
    global.clusterCIDRv4: 10.42.0.0/16
    global.clusterDNS: 10.43.0.10
    global.clusterDomain: cluster.local
    global.rke2DataDir: /var/lib/rancher/rke2
    global.serviceCIDR: 10.43.0.0/16
    global.systemDefaultIngressClass: ingress-nginx

If you see the global.systemDefaultIngressClass value in the chart on disk, but not in the resource deployed to the cluster, please check for apply errors in your rke2-server log.

If you don't see it there... then something else weird is going on, and we'll want to look at your server's config.yaml.

nugzarg commented 1 month ago

grep -E 'chart-url|global' /var/lib/rancher/rke2/server/manifests/rke2-ingress-nginx.yaml Output:

    global.clusterCIDR: 10.42.0.0/16
    global.clusterCIDRv4: 10.42.0.0/16
    global.clusterDNS: 10.43.0.10
    global.clusterDomain: cluster.local
    global.rke2DataDir: /var/lib/rancher/rke2
    global.serviceCIDR: 10.43.0.0/16

cat /etc/rancher/rke2/config.yaml

node-name: "master1.kube.example.com"
node-ip: "1.2.3.4"
node-taint:
- "CriticalAddonsOnly=true:NoExecute"
kubelet-arg:
- feature-gates=SizeMemoryBackedVolumes=true
- seccomp-default=true
- pod-max-pids=2048
cni:
  - cilium
disable:
  - rke2-kube-proxy
brandond commented 1 month ago

And you're sure you're on v1.30.3+rke2rk1 on all your nodes? Can you provide rke2-server logs from journald?

nugzarg commented 1 month ago

No, my cluster is on v1.28.8+rke2r1. I just tried to upgrade first master node to v1.30.3+rke2rk1. The upgrade has triggered nginx-ingress upgrade to v1.10.1-hardened1. After nginx-ingress upgrade, no ingress rule was working. I received error 404 for all requests, because no rule had ingress class set and there was no default ingress class. After that I decided to downgrade the node to v1.28.8+rke2r1 (there was second issue with not working modesecurity and it was too much for me). Downgrade triggered nginx-ingress helm chart downgrade to nginx-1.9.6-hardened1 and everything is working now.

brandond commented 1 month ago

After that I decided to downgrade the node to v1.28.8+rke2r1

This is the first time you've mentioned that you are no longer running the version you listed when creating the issue. It would have been good to mention that, as none of the information I asked for is going to be of any use if you're not running the new version any longer.

because no rule had ingress class set and there was no default ingress class.

rke2-ingress-nginx should have been set as the default ingress class by the chart value I was having you check for.

hyeluoh commented 1 month ago

I have upgraded to version v1.30.3. I checked the Nginx configuration in the Ingress, and there is no domain that I cannot access in the configuration, but it indeed configured the Ingress. My solution is to recreate the Ingress configuration.

hyeluoh commented 1 month ago

No, my cluster is on v1.28.8+rke2r1. I just tried to upgrade first master node to v1.30.3+rke2rk1. The upgrade has triggered nginx-ingress upgrade to v1.10.1-hardened1. After nginx-ingress upgrade, no ingress rule was working. I received error 404 for all requests, because no rule had ingress class set and there was no default ingress class. After that I decided to downgrade the node to v1.28.8+rke2r1 (there was second issue with not working modesecurity and it was too much for me). Downgrade triggered nginx-ingress helm chart downgrade to nginx-1.9.6-hardened1 and everything is working now.

I think I've encountered the same situation as you.I suspect it might be related to the upgrade of the Nginx-Ingress version. The rke2 cluster was upgraded from v1.28.11 to v1.30.3. image

hyeluoh commented 1 month ago

Here is a comparison between the configurations of the two versions.

[root@gt-test-10-117 ~]# diff v1.28.10/nginx.conf v1.30.3/nginx.conf 
2c2
< # Configuration checksum: 8565260235095128852
---
> # Configuration checksum: 6186567879202657564
82,88d81
<       ok, res = pcall(require, "monitor")
<       if not ok then
<       error("require failed: " .. tostring(res))
<       else
<       monitor = res
<       end
<       
111,112d103
<       monitor.init_worker(10000)
<       
144c135
<   server_names_hash_bucket_size   64;
---
>   server_names_hash_bucket_size   32;
237c228
<   # PEM sha: d590dd180ecf6844ce48d03a12a9a92119ff026f
---
>   # PEM sha: 3ee252d5fb4aa5dc6c2eac0505aee1592180d1c0
276a268,269
>       http2 on;
>       
279,280c272,273
<       listen 443 default_server reuseport backlog=511 ssl http2 ;
<       listen [::]:443 default_server reuseport backlog=511 ssl http2 ;
---
>       listen 443 default_server reuseport backlog=511 ssl;
>       listen [::]:443 default_server reuseport backlog=511 ssl;
330,331d322
<               monitor.call()
<               
403a395,396
>           # Custom Response Headers
>           
433,568d425
<   
<   ## start server test.k8s.com
<   server {
<       server_name test.k8s.com ;
<       
<       listen 80  ;
<       listen [::]:80  ;
<       listen 443  ssl http2 ;
<       listen [::]:443  ssl http2 ;
<       
<       set $proxy_upstream_name "-";
<       
<       ssl_certificate_by_lua_block {
<           certificate.call()
<       }
<       
<       location / {
<           
<           set $namespace      "nginx";
<           set $ingress_name   "nginx-web-ingress";
<           set $service_name   "";
<           set $service_port   "";
<           set $location_path  "/";
<           set $global_rate_limit_exceeding n;
<           
<           rewrite_by_lua_block {
<               lua_ingress.rewrite({
<                   force_ssl_redirect = false,
<                   ssl_redirect = true,
<                   force_no_ssl_redirect = false,
<                   preserve_trailing_slash = false,
<                   use_port_in_redirects = false,
<                   global_throttle = { namespace = "", limit = 0, window_size = 0, key = { }, ignored_cidrs = { } },
<               })
<               balancer.rewrite()
<               plugins.run()
<           }
<           
<           # be careful with `access_by_lua_block` and `satisfy any` directives as satisfy any
<           # will always succeed when there's `access_by_lua_block` that does not have any lua code doing `ngx.exit(ngx.DECLINED)`
<           # other authentication method such as basic auth or external auth useless - all requests will be allowed.
<           #access_by_lua_block {
<           #}
<           
<           header_filter_by_lua_block {
<               lua_ingress.header()
<               plugins.run()
<           }
<           
<           body_filter_by_lua_block {
<               plugins.run()
<           }
<           
<           log_by_lua_block {
<               balancer.log()
<               
<               monitor.call()
<               
<               plugins.run()
<           }
<           
<           port_in_redirect off;
<           
<           set $balancer_ewma_score -1;
<           set $proxy_upstream_name "upstream-default-backend";
<           set $proxy_host          $proxy_upstream_name;
<           set $pass_access_scheme  $scheme;
<           
<           set $pass_server_port    $server_port;
<           
<           set $best_http_host      $http_host;
<           set $pass_port           $pass_server_port;
<           
<           set $proxy_alternative_upstream_name "";
<           
<           client_max_body_size                    1m;
<           
<           proxy_set_header Host                   $best_http_host;
<           
<           # Pass the extracted client certificate to the backend
<           
<           # Allow websocket connections
<           proxy_set_header                        Upgrade           $http_upgrade;
<           
<           proxy_set_header                        Connection        $connection_upgrade;
<           
<           proxy_set_header X-Request-ID           $req_id;
<           proxy_set_header X-Real-IP              $remote_addr;
<           
<           proxy_set_header X-Forwarded-For        $remote_addr;
<           
<           proxy_set_header X-Forwarded-Host       $best_http_host;
<           proxy_set_header X-Forwarded-Port       $pass_port;
<           proxy_set_header X-Forwarded-Proto      $pass_access_scheme;
<           proxy_set_header X-Forwarded-Scheme     $pass_access_scheme;
<           
<           proxy_set_header X-Scheme               $pass_access_scheme;
<           
<           # Pass the original X-Forwarded-For
<           proxy_set_header X-Original-Forwarded-For $http_x_forwarded_for;
<           
<           # mitigate HTTPoxy Vulnerability
<           # https://www.nginx.com/blog/mitigating-the-httpoxy-vulnerability-with-nginx/
<           proxy_set_header Proxy                  "";
<           
<           # Custom headers to proxied server
<           
<           proxy_connect_timeout                   5s;
<           proxy_send_timeout                      60s;
<           proxy_read_timeout                      60s;
<           
<           proxy_buffering                         off;
<           proxy_buffer_size                       4k;
<           proxy_buffers                           4 4k;
<           
<           proxy_max_temp_file_size                1024m;
<           
<           proxy_request_buffering                 on;
<           proxy_http_version                      1.1;
<           
<           proxy_cookie_domain                     off;
<           proxy_cookie_path                       off;
<           
<           # In case of errors try the next upstream server before returning an error
<           proxy_next_upstream                     error timeout;
<           proxy_next_upstream_timeout             0;
<           proxy_next_upstream_tries               3;
<           
<           proxy_pass http://upstream_balancer;
<           
<           proxy_redirect                          off;
<           
<       }
<       
<   }
<   ## end server test.k8s.com

Here is the comparison of the Ingress configuration after the upgrade.

[root@gt-test-10-117 ~]# diff v1.28.10/nginx-web-ingress.yaml  v1.30.3/nginx-web-ingress.yaml 
8c8
<   resourceVersion: "20077"
---
>   resourceVersion: "22143"
14,16c14
<   loadBalancer:
<     ingress:
<     - ip: 192.168.10.117
---
>   loadBalancer: {}

@brandond

brandond commented 1 month ago

Are you upgrading directly from v1.28.10 to v1.30.3? That is not supported, you are expected to step through intermediate minors (v1.27) when upgrading.

I am not sure that's related though. Please see the information that was asked for above, regarding the HelmChart resource, both on disk and in the cluster.

serhiynovos commented 3 weeks ago

@brandond after upgrading to RKE2 v1.30.3 +rke2r1 I'm also facing this issue. I checked ingress storage class and it has ingressclass.kubernetes.io/is-default-class: 'true' annotation

apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata:
  annotations:
    ingressclass.kubernetes.io/is-default-class: 'true'
    meta.helm.sh/release-name: rke2-ingress-nginx
    meta.helm.sh/release-namespace: kube-system
  creationTimestamp: '2024-01-25T22:48:15Z'
  generation: 1
  labels:
    app.kubernetes.io/component: controller
    app.kubernetes.io/instance: rke2-ingress-nginx
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: rke2-ingress-nginx
    app.kubernetes.io/part-of: rke2-ingress-nginx
    app.kubernetes.io/version: 1.10.1
    helm.sh/chart: rke2-ingress-nginx-4.10.102
  managedFields:
    - apiVersion: networking.k8s.io/v1
      fieldsType: FieldsV1
      fieldsV1:
        f:metadata:
          f:annotations:
            .: {}
            f:ingressclass.kubernetes.io/is-default-class: {}
            f:meta.helm.sh/release-name: {}
            f:meta.helm.sh/release-namespace: {}
          f:labels:
            .: {}
            f:app.kubernetes.io/component: {}
            f:app.kubernetes.io/instance: {}
            f:app.kubernetes.io/managed-by: {}
            f:app.kubernetes.io/name: {}
            f:app.kubernetes.io/part-of: {}
            f:app.kubernetes.io/version: {}
            f:helm.sh/chart: {}
        f:spec:
          f:controller: {}
      manager: helm
      operation: Update
      time: '2024-08-26T20:10:50Z'
  name: nginx
  resourceVersion: '196680132'
  uid: 93ef06ed-bf17-4c2f-aa1a-0a4619cf1f62
spec:
  controller: k8s.io/ingress-nginx
brandond commented 3 weeks ago

In newer releases of RKE2, the ingress-nginx IngressClass is set as default, and any new Ingress resources created on these versions will have the ingressClassName assigned during creation, if the attribute is not set.

If you're upgrading from earlier releases, and did not explicitly set the ingressClassName on your Ingress resources, the default ingress class WILL NOT be set on your existing resources, and on affected releases of RKE2, ingress-nginx will no longer handle these Ingresses.

The fix is to either:

mdrahman-suse commented 3 weeks ago

Validated the fixes on the latest releases, closing this issue.