From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id mL0JKOj7/GbeHQEAqHPOHw:P1 (envelope-from ) for ; Wed, 02 Oct 2024 07:53:12 +0000 Received: from aspmx1.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0.migadu.com with LMTPS id mL0JKOj7/GbeHQEAqHPOHw (envelope-from ) for ; Wed, 02 Oct 2024 09:53:12 +0200 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=mat.ucm.es header.s=google header.b=d29K1a66; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=quarantine) header.from=ucm.es ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1727855592; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=B7xcyDGl6pelYCUk6u5PjHa0cR0d3SSWDOige7DmjyA=; b=MPX61OCYzKY6pFINXs+FvRdtX6cVckp79b6YXoFE2srxXZhFU4/QU3sfSmA9/dvkrAArew xH4P3X+Wuzw1MdAV5oG1imbWDz7GCyKiBNXk0Ft46KlOa/IPSkGhYZWsQATNnYaynUxOMs BgemtvRvlcxUUddTpKzmlLGW2pzAtWJYry5aRnKFNYazjgSbdXjGEN9wyAFTDuNBdPrnj9 Lm5U9mDM2WDj1ogmD+uo5YDXr74B88LS18tRHbzCmInHbaqMN3wRmQa1R4qSbJwiV3hN1k cpHh+q9EhG2Vyrm5RefikbrpX04eNUHEzPbkziGUkC9p8mcL4ACBiGLwmQEZoQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1727855592; a=rsa-sha256; cv=none; b=t/DQEUfb7N+ye1tbe+clTItlqM1NVZRfJHtLWK9eWGpvNaHnA9anzEKmlDb1eY+sxh+9T0 dEjW5mvrLYiaKYG9HhkxCQ9xFu66zl74j5/zinMQGhMS2FGVIMmjP0CCy05dUnJdVEb2nA +wzx8LTbxRSb11oxC8TmvjZklA2RSCrJRMamoIhjehR97sephuB04QH6mYQuC+LxcJk+1N WqsEx4SfqxCeFKAwG4Vo3e1pi6y782rj4WWcLhLamhvozXjFtEFQz6Wx/SVo9eawKcH5gm pgbi3EbRUTQM6f8kvLZln3wNKqxLj8Ak5a8jkdGfyuBqrSIVmA2u938yIKalmQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=mat.ucm.es header.s=google header.b=d29K1a66; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=quarantine) header.from=ucm.es Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 07BF95F529 for ; Wed, 02 Oct 2024 09:53:12 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1svu9k-0003Xt-G7; Wed, 02 Oct 2024 03:52:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1svu9h-0003Xg-Kt for emacs-orgmode@gnu.org; Wed, 02 Oct 2024 03:52:17 -0400 Received: from mail-ed1-x52a.google.com ([2a00:1450:4864:20::52a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1svu9a-0000ky-Ox for emacs-orgmode@gnu.org; Wed, 02 Oct 2024 03:52:16 -0400 Received: by mail-ed1-x52a.google.com with SMTP id 4fb4d7f45d1cf-5c882864d3aso6163406a12.2 for ; Wed, 02 Oct 2024 00:52:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mat.ucm.es; s=google; t=1727855528; x=1728460328; darn=gnu.org; h=mime-version:user-agent:message-id:date:subject:to:from:from:to:cc :subject:date:message-id:reply-to; bh=B7xcyDGl6pelYCUk6u5PjHa0cR0d3SSWDOige7DmjyA=; b=d29K1a66vZ/VSGCiz7gASsVGzf+L4aYhwD5i9gApcp/akyAuYltoiBh652GPl5FkX4 ePgVoaYBZTHqaRkMkdwqKDZbwVFlHItVv+159pzu6pi/7r/KA8YtH70e3hDd54BjQVzt 9Mr5eMjxvN2/gajNtqlogPrcUUWbA7BAjOCTs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727855528; x=1728460328; h=mime-version:user-agent:message-id:date:subject:to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=B7xcyDGl6pelYCUk6u5PjHa0cR0d3SSWDOige7DmjyA=; b=MezeccRNzIks2kmA1/0LO7cj7wtqmaYtm3Hw6utNYhqhqVmycknbql5SKbDgJL2XgV Vj9eFTzJFjR1+RXjG1A1PiVNwvwijlNn9zIqdbkzziIleXbQV1ZgIkfkoIRRQ7uS+rXO MNzHoNuFIA28M/1k6xmYltRTMFazN+D+fgJiTcFnV8pDrjT2zfM6mDreYUbkVzYxTWde MITjQMcGXwe15g3JG7ribENmTpmXgKmZ8Qnfv7fC0N8JX/lplEdqaKULM+ER8yvBtDpc P4GRmLGVGvliK+UryGTmnmKkB8SslZ3GQ4wDbHUZULcvt9+w+jajEAVGli9FBABythl/ 6xeQ== X-Gm-Message-State: AOJu0YyqPHn1VfXLlTGZCXhF8ckMHIan8i4R63xIukTCaXRzdk2Hgmt0 Dc6McXu1gHrESRcl48mEHGyc97LHDVYctiNSpIghCpjAuODtfauN94kX9QUja6e8as8mMA78KXH PQ6IHVaFGe3mgcL7Hr5DJo5WdPI+iJCG+hD9WYbphLVBhWy85CCh5FXT1nh5IBMTgAV8ZpBBhUI uSLNBh9e5/+3qg4Zhr3hRtxffUwbZtyQ== X-Google-Smtp-Source: AGHT+IGmi2RRImVr9BwH8To1/M8wVqOJFnpml7WTRUguqWQC4a8abj8n82tWjv27pab3A/iNVgLgLA== X-Received: by 2002:a17:907:3187:b0:a91:158b:122c with SMTP id a640c23a62f3a-a98f8268193mr176124366b.38.1727855527587; Wed, 02 Oct 2024 00:52:07 -0700 (PDT) Received: from Utnapischtim (p200300fb0f3e6c34773b22615cd2a015.dip0.t-ipconnect.de. [2003:fb:f3e:6c34:773b:2261:5cd2:a015]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a93c2775c55sm820509366b.5.2024.10.02.00.52.06 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 02 Oct 2024 00:52:06 -0700 (PDT) X-Mailer: emacs 29.4 (via feedmail 11-beta-1 I) From: Uwe Brauer To: emacs-orgmode Subject: what does (json-readtable-error 47) mean (python, jupyter, matlab) Date: Wed, 02 Oct 2024 09:52:00 +0200 Message-ID: <87msjnrlgf.fsf@mat.ucm.es> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=sha256; protocol="application/pkcs7-signature" Received-SPF: pass client-ip=2a00:1450:4864:20::52a; envelope-from=oub@ucm.es; helo=mail-ed1-x52a.google.com X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -4.49 X-Spam-Score: -4.49 X-Migadu-Queue-Id: 07BF95F529 X-Migadu-Scanner: mx13.migadu.com X-TUID: 2SvDiIu6/i+7 --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hi, I am using ob-ipython (which is a bit outdated) and I already opened an issue at https://github.com/gregsexton/ob-ipython/issues/226=20=20 However if someone knows how to deal with the (json-readtable-error 47) error type, I would appreciate it. Uwe Brauer=20 Here is the explanation. I successfully used ob-ipython with org mode and matlab, with Ubuntu 16.04,= python 3.5 and matlab 2019a, its python engine (and emacs 29.0.5=20 compiled from a commit which was a pre 29 release) Now I had to upgrade to Ubuntu 24.04 with python 3.12 (and emacs 29.4, I also tried out the same 29.0.50 version I used in Ubuntu 16.04) When I repeated the steps I list below and run=20 #+begin_src matlab=20 x =3D [1, 2, 3, 4, 5]; fprintf('|%d', x) #+end_src I obtain=20 #+begin_src=20 Debugger entered--Lisp error: (json-readtable-error 47) signal(json-readtable-error (47)) json-read() ob-ipython--collect-json() ob-ipython--execute-request("x =3D [1, 2, 3, 4, 5];\nfprintf('|%d', x)" "= matlab") ob-ipython--execute-sync("x =3D [1, 2, 3, 4, 5];\nfprintf('|%d', x)" ((:c= olname-names) (:rowname-names) (:result-params "output" "replace") (:result= -type . output) (:results . "output replace") (:exports . "code") (:session= . "matlab") (:kernel . "matlab") (:cache . "no") (:noweb . "no") (:hlines = . "no") (:tangle . "no"))) org-babel-execute:matlab("x =3D [1, 2, 3, 4, 5];\nfprintf('|%d', x)" ((:c= olname-names) (:rowname-names) (:result-params "output" "replace") (:result= -type . output) (:results . "output replace") (:exports . "code") (:session= . "matlab") (:kernel . "matlab") (:cache . "no") (:noweb . "no") (:hlines = . "no") (:tangle . "no"))) org-babel-execute-src-block(nil ("matlab" "x =3D [1, 2, 3, 4, 5];\nfprint= f('|%d', x)" ((:colname-names) (:rowname-names) (:result-params "replace" "= output") (:result-type . output) (:results . "replace output") (:exports . = "code") (:tangle . "no") (:hlines . "no") (:noweb . "no") (:cache . "no") (= :kernel . "matlab") (:session . "matlab")) "" nil 1371 "(ref:%s)")) org-ctrl-c-ctrl-c(nil) funcall-interactively(org-ctrl-c-ctrl-c nil) call-interactively(org-ctrl-c-ctrl-c nil nil) command-execute(org-ctrl-c-ctrl-c) #+end_src any idea how to fix this? Below the steps. Steps #+begin_src=20 sudo dpkg --purge python3-ptyprocess pip3 install --user --upgrade --force-reinstall --no-cache-dir jupyter pip3 install --user --upgrade --force-reinstall --no-cache-dir pymatbridge pip3 install --user --upgrade --force-reinstall --no-cache-dir matlab_kernel python3 -m matlab_kernel.check=20 #+end_src #+begin_src=20 cd *usr/local/MATLAB/R2024b/extern/engines/python* sudo /usr/bin/python3 setup.py install #+end_src Then #+begin_src=20 /usr/bin/python3 in the python prompt: import matlab.engine eng =3D matlab.engine.start_matlab() #+end_src #+BEGIN_SRC emacs-lisp (setq org-confirm-babel-evaluate nil) ;don't prompt me to confirm everyti= me I want to evaluate a block (add-hook 'org-babel-after-execute-hook 'org-display-inline-images 'append) =20=20=20=20 (add-to-list 'org-src-lang-modes '("matlab" . matlab)) (setq python-shell-interpreter "python3") (setq org-babel-default-header-args:matlab '((:results . "output replace") (:session . "matlab") (:kernel . "matlab") (:exports . "code") (:cache . "no") (:noweb . "no") (:hlines . "no") (:tangle . "no"))) (defalias 'org-babel-execute:matlab 'org-babel-execute:ipython) (defalias 'org-babel-prep-session:matlab 'org-babel-prep-session:ipython) (defalias 'org-babel-matlab-initiate-session 'org-babel-ipython-initiate-se= ssion) #+END_SRC =20 =2D-=20 I strongly condemn Hamas heinous despicable pogroms/atrocities on Israel I strongly condemn Putin's war of aggression against Ukraine. I support to deliver weapons to Ukraine's military.=20 I support the EU and NATO membership of Ukraine.=20 --=-=-= Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=smime.p7s MIIWMAYJKoZIhvcNAQcCoIIWITCCFh0CAQExDzANBglghkgBZQMEAgEFADALBgkqhkiG9w0BBwGg ghPHMIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsxCzAJBgNV BAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTAeFw0w ODEwMjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1U LVJDTTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCC AgoCggIBALpxgHpMhm5/yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63 URcfqQgfBBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAzWHFc tPVrbtQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxFtBDXaEAUwED653cX euYLj2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z374jNUUeAlz+taibmSXaXvMiwzn1 5Cou08YfxGyqxRxqAQVKL9LFwag0Jl1mpdICIfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsX F3mwWsXmo8RZZUc1g16p6DULmbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpx ffnTtOmlcYF7wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peS MKGJ47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2ZSysV4999AeU 14ECll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMetUqIJ5G+GR4of6ygnXYMgrwTJ bFaai0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O BBYEFPd9xf3E6Jobd2Sn9R2gzL+HYJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIB Fh1odHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/Mj TvDDnFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1RXxlDPiy N8+sD8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYMLVN0V2Ue1bLdI4E7pWYj J2cJj+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf77IzlhEYt8llvhjho6Tc+hj507wTmzl6 NLrTQfv6MooqtyuGC2mDOL7Nii4LcK2NJpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSAN A+iW+YJF1DngoABd15jmfZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb +dY7Ixjp6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp1txy M/1d8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B9kiABdcPUXmsEKvU 7ANm5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wokRqEIr9baRRmW1FMdW4R58MD3R++L j8UGrp1MYp3/RgT408m2ECVAdf4WqslKYIYvuu8wd+RU4riEmViAqhOLUTpPSPaLtrMwggbaMIIE wqADAgECAhBFXzrhXCHNulRPgqpHUevbMA0GCSqGSIb3DQEBCwUAMDsxCzAJBgNVBAYTAkVTMREw DwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTAeFw0xNDEwMjgxMTQ4 NThaFw0yOTEwMjgxMTQ4NThaMEsxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEOMAwG A1UECwwFQ2VyZXMxGTAXBgNVBAMMEEFDIEZOTVQgVXN1YXJpb3MwggEiMA0GCSqGSIb3DQEBAQUA A4IBDwAwggEKAoIBAQCdIAQmLfstaTDL2ZN/peWu1HBy75S+RWvlj7IL+bozhiWvhvHA2Nu2P77x vokFpv3DIeGS1VIgFr52JiF+wexZVaCQ6VLM0g+pM8o6aNi0vdQm6hbcBukM1kkRUWASiWQKDnXB coyM7s7kJ8nAgDeJXZ9t55HhgA6az/WaqbQtKStaLDCVgX1Wfxqqv94CdP93wp1gLln/0xzVrNYd Y3vMnoxN25n09xWMybvSK+IdqiGARS73v1vLbdpzHr2ruos+MeRigaF/Z+3W1CpiaOz2JyDA+GvM vLLXPNdjLQeh4WezhuLY34wFOal/+Lwdk4roHLcxLZSUKyNeEeHNqbBHAgMBAAGjggLIMIICxDAS BgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUsdRPxCN5+kQFCcbr Oc/oNbC4IGQwgZgGCCsGAQUFBwEBBIGLMIGIMEkGCCsGAQUFBzABhj1odHRwOi8vb2NzcGZubXRy Y21jYS5jZXJ0LmZubXQuZXMvb2NzcGZubXRyY21jYS9PY3NwUmVzcG9uZGVyMDsGCCsGAQUFBzAC hi9odHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9jZXJ0cy9BQ1JBSVpGTk1UUkNNLmNydDAfBgNVHSME GDAWgBT3fcX9xOiaG3dkp/UdoMy/h2CabTCB6wYDVR0gBIHjMIHgMIHdBgRVHSAAMIHUMCkGCCsG AQUFBwIBFh1odHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9kcGNzLzCBpgYIKwYBBQUHAgIwgZkMgZZT dWpldG8gYSBsYXMgY29uZGljaW9uZXMgZGUgdXNvIGV4cHVlc3RhcyBlbiBsYSBEZWNsYXJhY2nD s24gZGUgUHLDoWN0aWNhcyBkZSBDZXJ0aWZpY2FjacOzbiBkZSBsYSBGTk1ULVJDTSAoIEMvIEpv cmdlIEp1YW4sIDEwNi0yODAwOS1NYWRyaWQtRXNwYcOxYSkwgdQGA1UdHwSBzDCByTCBxqCBw6CB wIaBkGxkYXA6Ly9sZGFwZm5tdC5jZXJ0LmZubXQuZXMvQ049Q1JMLE9VPUFDJTIwUkFJWiUyMEZO TVQtUkNNLE89Rk5NVC1SQ00sQz1FUz9hdXRob3JpdHlSZXZvY2F0aW9uTGlzdDtiaW5hcnk/YmFz ZT9vYmplY3RjbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludIYraHR0cDovL3d3dy5jZXJ0LmZubXQu ZXMvY3Jscy9BUkxGTk1UUkNNLmNybDANBgkqhkiG9w0BAQsFAAOCAgEAjD0otOB+DfNuXNpcdz2A ZB5O6RK4yeay/yuAoHg9hEwsZYsv3PFjK+fdUkHbr/wXC4yahPIJ1F1Wop75gmbAhV6cXuqD53xG jn5f5mPtq2LvRk4nYZWBvU0CPak0D5n55mtWlQOffUv7fOJOEu+kC0S1PHoBMVsmYSCSlHUCdtbO +6zDBQgxQGylHTaeIIjOoIlWba7ZTL2QfD52IElG7BVimkFlq+CfsQI0768p4gApmZ75Yx3RlBOG QNFgjEUXBiFYWhzVMT4t/SdVsRrmP+/qhVxq4/7Z3IuMf+tN1WGHgucj8Mo8Yod25Dype6FvGBsi K7yMFP/Sfd1ZA8UHei736weWVP25JRUau0r4rKOAYsfmh7yLgY5sfsYlS2GRTARjMaKOD9aYq+b6 ODSCeVZPseJTQrh8RaV0gGX2c1qHXbJI9U3rer/yQJdLclHxwzzZl6zMtWe0+zriK1XZYquSs0D4 u27hn9RNjiW4f4hF6+j2t5Prv3QxC9isLCNKy40Ph9cjzr+YYRIa+FvAQKamF7wv+NXS5nTXIjma aCF50Gvlaoq/rgSYhc0VVnbf6aHxEUKCo9mxq1VpWgFCrUV686E8yMS/GIyDM9e97YDeBKaeD9Qo NwobMVvIv695JmF0/zniY+Tcg8QJhkQ2oBhZeMGW2bxQNGZQG3XCmBEwggdeMIIGRqADAgECAhBO 4xiw0S+63mIlHHJCk2peMA0GCSqGSIb3DQEBCwUAMEsxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhG Tk1ULVJDTTEOMAwGA1UECwwFQ2VyZXMxGTAXBgNVBAMMEEFDIEZOTVQgVXN1YXJpb3MwHhcNMjIw MzA2MjA0MTIyWhcNMjYwMzA2MjA0MTIyWjCBgTELMAkGA1UEBhMCRVMxGDAWBgNVBAUTD0lEQ0VT LVgyMDY0MTIzQjEZMBcGA1UEKgwQVVdFIFJJQ0hBUkQgT1RUTzEPMA0GA1UEBAwGQlJBVUVSMSww KgYDVQQDDCNCUkFVRVIgVVdFIFJJQ0hBUkQgT1RUTyAtIFgyMDY0MTIzQjCCASIwDQYJKoZIhvcN AQEBBQADggEPADCCAQoCggEBAKCVRP7G6NZvrispzK4ZQtrsLnCroteQ6n0H/NfOY3PFY4ycrjKF fiRtE3G/R4aVaHS9lglvNxm9jiqtaa/dGQrHAmEdFzjsumXJZzYTGj73/XWa6ILfUke11CNN1CbG loO8SrqQKY/s2gDBRps2Dczx9Yf61lcbytdjaFEZJkhd9bfrHZyV7AonIlC9anZeV9ALS/OVowJ0 dmzJnycNe4z5KvrF0gRi+92NhsKGcqz/IzOWnH48g1ur2HOCGvX9M53zg/crp3iYtFHgwR4CeNqG E/Nwz4Bok6MOrsVDY9LdpSRrBCpwawU2JZA6uPV1DkznHb+Uw1KQ5NQMGnJf+oECAwEAAaOCBAUw ggQBMG8GA1UdEQRoMGaBDk9VQkBNQVQuVUNNLkVTpFQwUjEYMBYGCSsGAQQBrGYBBAwJWDIwNjQx MjNCMRUwEwYJKwYBBAGsZgECDAZCUkFVRVIxHzAdBgkrBgEEAaxmAQEMEFVXRSBSSUNIQVJEIE9U VE8wDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCBeAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsG AQUFBwMCMB0GA1UdDgQWBBRlXLbbq3nLWo9hlAdzFlbFJiR5UTAfBgNVHSMEGDAWgBSx1E/EI3n6 RAUJxus5z+g1sLggZDCBggYIKwYBBQUHAQEEdjB0MD0GCCsGAQUFBzABhjFodHRwOi8vb2NzcHVz dS5jZXJ0LmZubXQuZXMvb2NzcHVzdS9PY3NwUmVzcG9uZGVyMDMGCCsGAQUFBzAChidodHRwOi8v d3d3LmNlcnQuZm5tdC5lcy9jZXJ0cy9BQ1VTVS5jcnQwggEVBgNVHSAEggEMMIIBCDCB+gYKKwYB BAGsZgMKATCB6zApBggrBgEFBQcCARYdaHR0cDovL3d3dy5jZXJ0LmZubXQuZXMvZHBjcy8wgb0G CCsGAQUFBwICMIGwDIGtQ2VydGlmaWNhZG8gY3VhbGlmaWNhZG8gZGUgZmlybWEgZWxlY3Ryw7Nu aWNhLiBTdWpldG8gYSBsYXMgY29uZGljaW9uZXMgZGUgdXNvIGV4cHVlc3RhcyBlbiBsYSBEUEMg ZGUgbGEgRk5NVC1SQ00gY29uIE5JRjogUTI4MjYwMDQtSiAoQy9Kb3JnZSBKdWFuIDEwNi0yODAw OS1NYWRyaWQtRXNwYcOxYSkwCQYHBACL7EABADCBugYIKwYBBQUHAQMEga0wgaowCAYGBACORgEB MAsGBgQAjkYBAwIBDzATBgYEAI5GAQYwCQYHBACORgEGATB8BgYEAI5GAQUwcjA3FjFodHRwczov L3d3dy5jZXJ0LmZubXQuZXMvcGRzL1BEU0FDVXN1YXJpb3NfZXMucGRmEwJlczA3FjFodHRwczov L3d3dy5jZXJ0LmZubXQuZXMvcGRzL1BEU0FDVXN1YXJpb3NfZW4ucGRmEwJlbjCBtQYDVR0fBIGt MIGqMIGnoIGkoIGhhoGebGRhcDovL2xkYXB1c3UuY2VydC5mbm10LmVzL2NuPUNSTDU0MTksY249 QUMlMjBGTk1UJTIwVXN1YXJpb3Msb3U9Q0VSRVMsbz1GTk1ULVJDTSxjPUVTP2NlcnRpZmljYXRl UmV2b2NhdGlvbkxpc3Q7YmluYXJ5P2Jhc2U/b2JqZWN0Y2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p bnQwDQYJKoZIhvcNAQELBQADggEBAEH6ff/NGd7OPmjKzvbBgw5oz6WReT/Z3joOg4lsmpikYU4j cFNR6FVyFxFN5c2+bR5qsG/05mZgiSDWAxn5c3jcUeDiBA26lCq3SyfJ0UNhul/MOy5ryJlBiPlk cYsz2Z0wcYftdmpDu1xIqtiTVuSTlds+Xt4ztAuGPX149BN9DuTdyaQ21nx/CXKU0iXTQHrXzjda Wu2SyjdDQDLiXOTlACs5SbLxOg/C/HkaKDP7p66soCzprt3tH9+xrX+3xNCAyCcIddNbcL7NwKzT JkRYZ+RgQoRevrm16skMma2Ogw1fF/axpJItZ/CSDsaTTnsYGIG5mr9KHpHPty01BwExggItMIIC KQIBATBfMEsxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEOMAwGA1UECwwFQ2VyZXMx GTAXBgNVBAMMEEFDIEZOTVQgVXN1YXJpb3MCEE7jGLDRL7reYiUcckKTal4wDQYJYIZIAWUDBAIB BQCggaAwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMjQxMDAyMDc1 MjAwWjAvBgkqhkiG9w0BCQQxIgQgmyY5Wj+k7SWIR876BAQ1RFy/ej2o6H5TZhw1FVj3DN4wNQYJ KoZIhvcNAQkPMSgwJjALBglghkgBZQMEASowCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA0GCSqG SIb3DQEBAQUABIIBAIUO/SJ2BwDIj2F8WTeW3XaqiLPrQGccQw+Ca3M3zq70oQ9cQ6dCA3xo5RPu 10lKlmVaT05HugUVk0ZFxTsdkVf+YGPqK0M5Ma6J3aEL+EdnDgX+uA8gqPpJxgYip7aKfL93rMOs 5UJ7OgSgtPWC8yJrSAohXlpLzbFHw/stpx3FBvmGDmkZYwntMt4cwXF/jLYvroY+7w4GKlW+VTSZ 3cid2zjoE54uk1hc6EkvpcxBQgxvetYjXAKHfgOeUwkgkbyBK+RWdpyqaaDDifJWixFa0oFzNCo9 0oDU5OD0qV+TXeClsnHWBSGdl5uLzPYZimh9n8Yz+vA3fov4TW2EOHA= --=-=-=--