From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id uMeLMPP0S2PEwwAAbAwnHQ (envelope-from ) for ; Sun, 16 Oct 2022 14:11:31 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id qLywMPP0S2P56wAA9RJhRA (envelope-from ) for ; Sun, 16 Oct 2022 14:11:31 +0200 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 0EBDB92D1 for ; Sun, 16 Oct 2022 14:11:31 +0200 (CEST) Received: from localhost ([::1]:44962 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ok2UM-0005LQ-2N for larch@yhetil.org; Sun, 16 Oct 2022 08:11:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41302) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ok2TW-0005LA-0J for emacs-orgmode@gnu.org; Sun, 16 Oct 2022 08:10:38 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]:38483) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ok2TT-0005fF-8g for emacs-orgmode@gnu.org; Sun, 16 Oct 2022 08:10:37 -0400 Received: by mail-wr1-x432.google.com with SMTP id j16so14345743wrh.5 for ; Sun, 16 Oct 2022 05:10:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mat.ucm.es; s=google; h=mime-version:user-agent:message-id:date:reply-to:references:subject :cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=/ZsyZinCycIOAy4/RnkhhDHQF7SFi7iaGycPKW+GPZw=; b=b/7nlS4LMfGfcdddIy9fD7FpVYwi9PQ3sAaKeZU3csgaxdt8LDYyVjls6Bj5whQ8FA B9UzandqxdZyuySYAhi6qETOKtUvMJKkQ4UvBd3A9a8jyqWCkTVsRYxc90VM9DrYPArz MxU9AZCko9pL1tO/mmYyX0rUpsgbqilqNBMVM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:user-agent:message-id:date:reply-to:references:subject :cc:to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=/ZsyZinCycIOAy4/RnkhhDHQF7SFi7iaGycPKW+GPZw=; b=4FpMJJqPHscG49HIw4G5Tw/rpUp8XnaBtYw+rCyB6zjSuNJVuE/fJsOkOvncfgNh+8 uZNVfOqygtdo1hwa4Hgn7PQbdyemL23edU24hG5Vgi1DsTU9JNWd2BlP6/J58GxLCHvo lNHlnKb8idZqSh7Y5IbdR7bJnq7seUsZvouSBUY4cj/ZO3i3Z77i0sh0QBIYFzpJwaFj MOub6e0S8Z/vttE/aypeq2glFHFkUtBDPuLrIfTdjvcfmwvTFTrjtRqB0Pr9tyS9P41t icnxtqVwNezszVKko49XX3iAqZeIs3fyOPReJK0k35cN/VavVyOKTs104kKw0S61YeI8 Hryw== X-Gm-Message-State: ACrzQf2IhjpNWh3osZ2F0zgGxeWYsMGRJ8hO/64WG/hmZlzy+2UTcsjy /Cv8LwzvgI4DY9z+nzpI8APFzA== X-Google-Smtp-Source: AMsMyM56dk+xCTzbBw61GpBODcIIbwdi2c9ckVUYQtund/DccaLAadIflbAnZZlqHUz0aoS2iMhIlA== X-Received: by 2002:a5d:47c5:0:b0:22e:6941:81eb with SMTP id o5-20020a5d47c5000000b0022e694181ebmr3570284wrc.408.1665922232618; Sun, 16 Oct 2022 05:10:32 -0700 (PDT) Received: from Utnapischtim (p2003000633b07953f0dc1ad8e9d7d87c.dip0.t-ipconnect.de. [2003:6:33b0:7953:f0dc:1ad8:e9d7:d87c]) by smtp.gmail.com with ESMTPSA id u12-20020a5d6acc000000b0022ae0965a8asm6004529wrw.24.2022.10.16.05.10.31 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 16 Oct 2022 05:10:31 -0700 (PDT) X-Mailer: emacs 29.0.50 (via feedmail 11-beta-1 I) From: Uwe Brauer To: Ihor Radchenko Cc: Uwe Brauer , emacs-orgmode@gnu.org Subject: Re: [BUG] columnview cannot deal with more than 100 headings [N/A (N/A @ /home/oub/emacs/site-lisp/packages/org/)] References: <878ron8u89.fsf@mat.ucm.es> <877d10rx0q.fsf@localhost> X-Hashcash: 1:20:221016:yantar92@posteo.net::h6K+4PSnGjaeBKFA:0000000000000000000000000000000000000000000gVt X-Hashcash: 1:20:221016:emacs-orgmode@gnu.org::Vv84Dl9qXgLDpC1J:00000000000000000000000000000000000000002zR5 X-Hashcash: 1:20:221016:oub@mat.ucm.es::0bcoAWXJgrQUEsk4:0003wOT Date: Sun, 16 Oct 2022 14:10:24 +0200 Message-ID: <87a65wnf4f.fsf@mat.ucm.es> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=sha256; protocol="application/pkcs7-signature" Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=oub@ucm.es; helo=mail-wr1-x432.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: , Reply-To: Uwe Brauer Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1665922291; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=/ZsyZinCycIOAy4/RnkhhDHQF7SFi7iaGycPKW+GPZw=; b=qsD9mvJ3WiYqf197eHRXTC9q4baqDDm6C3XvK7To1X4mLxg0SaPPL2SHa8bKbgtgTj+gAV RLYB2QR5TUxcgSKPO2ZSbo6+5SkY12Z+0t87ItBT2EDv+BUs631BE5KSUVukfC6zYP1IBM 0nMH3eXgAYfKGPgTfHc6kJ8JAs1J9gxLj7sOG6MBqaAJhTRoGj2gxVG9aYNYhqdtr6D7lm 7Rne8FEjAio72IpILYY6Oot7FAnfoM/Sv2LMC0nDxhnMcEebl3WQhYiLJctn1Pcpdo9gzT mnOaSpVADxeQZWqJBQ5moEr26hzvx1c/RmTYWSknIvuuXl/uCt0pKiBYuNlaww== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1665922291; a=rsa-sha256; cv=none; b=HRh+kEbq0Y6vBn5XKapVI9aXt1lrrWWrtG4lfIEpsycZpDSF8DU2bL9aODUnFIE1m7Ov9G pyLOb4CubFLi2nn14wAvnPJ7fOLru9Zhk3xWHe9P7D8Cb21VJ8Twa1A5e9FpwmSew/u6Kj I1PTTCy3vthQw/ROOhNkTrwF8A1Ihm01Ii3hjffo2AtP5JA6ZxMQCfPfUvjcmTzXSAkhIH 8PAPwKrFWnH0kKKeICOgGMSZUmW7F6AW/KFty6udSGBH6rk91/vHUUt5HmVPdjW/+ik4z+ d5iYon3AhXtEFen0aIOCNPCl09DCdErB1dHrS4GhRVEkgpOIJ9uu9RC00vjcCw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=mat.ucm.es header.s=google header.b="b/7nlS4L"; dmarc=pass (policy=none) header.from=mat.ucm.es; 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" X-Migadu-Spam-Score: -7.30 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=mat.ucm.es header.s=google header.b="b/7nlS4L"; dmarc=pass (policy=none) header.from=mat.ucm.es; 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" X-Migadu-Queue-Id: 0EBDB92D1 X-Spam-Score: -7.30 X-Migadu-Scanner: scn0.migadu.com X-TUID: zzIqq6KjfI7p --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable >>> "IR" =3D=3D Ihor Radchenko writes: > Uwe Brauer writes: >> I attach a file that hopefully explains the problem. >>=20 >> That file contains 109 heading, each heading has 17 different properties= when all of them are included in the=20 >> #+BEGIN: columnview >> #+END: >>=20 >> Block then not all headings are included. It seems to work with 15 prope= rties but not for all 17. > I tried your file on the latest main, but I do not see anything > obviously wrong. Could you please clarify what you expect to see? Ok then, I will pull and install the latest master/main. BTW, you send me some time ago (the <2022-07-30>) a patch that allowed edit-comment-blk: support COMMENT blocks Is this now in master/main? It is very convenient for my workflow For you convenience I attach the patch below Regards =2D-=20 I strongly condemn Putin's war of aggression against the Ukraine. I support to deliver weapons to Ukraine's military.=20 I support the ban of Russia from SWIFT. I support the EU membership of the Ukraine.=20 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Support-interactive-editing-of-comment-blocks.patch Content-Transfer-Encoding: quoted-printable diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS index 478fcf95c..0bc3fa638 100644 =2D-- a/etc/ORG-NEWS +++ b/etc/ORG-NEWS @@ -141,6 +141,14 @@ discouraged when working with Org files. =20 ** New features =20 +*** Interactive commands now support escaping text inside comment blocks + +~org-edit-special~ and ~org-insert-structure-template~ now handle +comment blocks. + +See [[*New command ~org-edit-comment-block~ to edit comment block at +point]]. + *** New customization option =3Dorg-property-separators=3D A new alist variable to control how properties are combined. =20 @@ -253,6 +261,16 @@ instance, includes all available items in the printed bibliography. ** New functions and changes in function arguments =20 +*** New command ~org-edit-comment-block~ to edit comment block at point + +As the contents of comments blocks is not parsed as Org markup, the +headlines and keywords inside should be escaped, similar to src +blocks, example blocks, and export blocks. This in inconvenient to do +manually and ~org-edit-special~ is usually advised to edit text in +such kind of blocks. + +Now, comment block editing is also supported via this new function. + *** New function ~org-element-cache-map~ for quick mapping across Org elem= ents =20 When element cache is enabled, the new function provides the best @@ -266,7 +284,6 @@ to ~org-element--cache-map-statistics~ and ~org-element--cache-map-statistics-threshold~. =20 ~org-scan-tags~ and tag views in agenda utilise the new function. =2D *** New function ~org-element-at-point-no-context~ =20 This function is like ~org-element-at-point~, but it does not try to diff --git a/lisp/org-src.el b/lisp/org-src.el index b7e0af50e..0249af60b 100644 =2D-- a/lisp/org-src.el +++ b/lisp/org-src.el @@ -384,7 +384,7 @@ (defun org-src--contents-area (datum) (let ((beg (org-element-property :contents-begin datum)) (end (org-element-property :contents-end datum))) (list beg end (buffer-substring-no-properties beg end)))) =2D ((memq type '(example-block export-block src-block)) + ((memq type '(example-block export-block src-block comment-block)) (list (progn (goto-char (org-element-property :post-affiliated datu= m)) (line-beginning-position 2)) (progn (goto-char (org-element-property :end datum)) @@ -1161,6 +1161,29 @@ (defun org-edit-export-block () (lambda () (org-escape-code-in-region (point-min) (point-max))))) t)) =20 +(defun org-edit-comment-block () + "Edit comment block at point. +\\ +A new buffer is created and the block is copied into it, and the +buffer is switched into Org mode. + +When done, exit with `\\[org-edit-src-exit]'. The edited text \ +will then replace the area in the Org mode buffer. + +Throw an error when not at a comment block." + (interactive) + (let ((element (org-element-at-point))) + (unless (and (eq (org-element-type element) 'comment-block) + (org-src--on-datum-p element)) + (user-error "Not in a comment block")) + (org-src--edit-element + element + (org-src--construct-edit-buffer-name (buffer-name) "org") + 'org-mode + (lambda () (org-escape-code-in-region (point-min) (point-max))) + (org-unescape-code-in-string (org-element-property :value element))) + t)) + (defun org-edit-src-code (&optional code edit-buffer-name) "Edit the source or example block at point. \\ diff --git a/lisp/org.el b/lisp/org.el index 937892ef3..d75894590 100644 =2D-- a/lisp/org.el +++ b/lisp/org.el @@ -8869,7 +8869,8 @@ (defun org-insert-structure-template (type) (region-end (and region? (copy-marker (region-end)))) (extended? (string-match-p "\\`\\(src\\|export\\)\\'" type)) (verbatim? (string-match-p =2D (concat "\\`" (regexp-opt '("example" "export" "src"))) + (concat "\\`" (regexp-opt '("example" "export" + "src" "comment"))) type)) (upcase? (string=3D (car (split-string type)) (upcase (car (split-string type)))))) @@ -16979,6 +16980,7 @@ (defun org-edit-special (&optional arg) When in a source code block, call `org-edit-src-code'. When in a fixed-width region, call `org-edit-fixed-width-region'. When in an export block, call `org-edit-export-block'. +When in a comment block, call `org-edit-comment-block'. When in a LaTeX environment, call `org-edit-latex-environment'. When at an INCLUDE, SETUPFILE or BIBLIOGRAPHY keyword, visit the included = file. When at a footnote reference, call `org-edit-footnote-reference'. @@ -17025,6 +17027,7 @@ (defun org-edit-special (&optional arg) (`table-row (call-interactively 'org-table-edit-formulas)) (`example-block (org-edit-src-code)) (`export-block (org-edit-export-block)) + (`comment-block (org-edit-comment-block)) (`fixed-width (org-edit-fixed-width-region)) (`latex-environment (org-edit-latex-environment)) (`planning --=-=-=-- --==-=-= Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=smime.p7s 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 zuQnycCAN4ldn23nkeGADprP9ZqptC0pK1osMJWBfVZ/Gqq/3gJ0/3fCnWAuWf/THNWs1h1je8ye jE3bmfT3FYzJu9Ir4h2qIYBFLve/W8tt2nMevau6iz4x5GKBoX9n7dbUKmJo7PYnIMD4a8y8stc8 12MtB6HhZ7OG4tjfjAU5qX/4vB2TiugctzEtlJQrI14R4c2psEcCAwEAAaOCAsgwggLEMBIGA1Ud EwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSx1E/EI3n6RAUJxus5z+g1 sLggZDCBmAYIKwYBBQUHAQEEgYswgYgwSQYIKwYBBQUHMAGGPWh0dHA6Ly9vY3NwZm5tdHJjbWNh LmNlcnQuZm5tdC5lcy9vY3NwZm5tdHJjbWNhL09jc3BSZXNwb25kZXIwOwYIKwYBBQUHMAKGL2h0 dHA6Ly93d3cuY2VydC5mbm10LmVzL2NlcnRzL0FDUkFJWkZOTVRSQ00uY3J0MB8GA1UdIwQYMBaA FPd9xf3E6Jobd2Sn9R2gzL+HYJptMIHrBgNVHSAEgeMwgeAwgd0GBFUdIAAwgdQwKQYIKwYBBQUH AgEWHWh0dHA6Ly93d3cuY2VydC5mbm10LmVzL2RwY3MvMIGmBggrBgEFBQcCAjCBmQyBllN1amV0 byBhIGxhcyBjb25kaWNpb25lcyBkZSB1c28gZXhwdWVzdGFzIGVuIGxhIERlY2xhcmFjacOzbiBk ZSBQcsOhY3RpY2FzIGRlIENlcnRpZmljYWNpw7NuIGRlIGxhIEZOTVQtUkNNICggQy8gSm9yZ2Ug SnVhbiwgMTA2LTI4MDA5LU1hZHJpZC1Fc3Bhw7FhKTCB1AYDVR0fBIHMMIHJMIHGoIHDoIHAhoGQ bGRhcDovL2xkYXBmbm10LmNlcnQuZm5tdC5lcy9DTj1DUkwsT1U9QUMlMjBSQUlaJTIwRk5NVC1S Q00sTz1GTk1ULVJDTSxDPUVTP2F1dGhvcml0eVJldm9jYXRpb25MaXN0O2JpbmFyeT9iYXNlP29i amVjdGNsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50hitodHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9j cmxzL0FSTEZOTVRSQ00uY3JsMA0GCSqGSIb3DQEBCwUAA4ICAQCMPSi04H4N825c2lx3PYBkHk7p ErjJ5rL/K4CgeD2ETCxliy/c8WMr591SQduv/BcLjJqE8gnUXVainvmCZsCFXpxe6oPnfEaOfl/m Y+2rYu9GTidhlYG9TQI9qTQPmfnma1aVA599S/t84k4S76QLRLU8egExWyZhIJKUdQJ21s77rMMF CDFAbKUdNp4giM6giVZtrtlMvZB8PnYgSUbsFWKaQWWr4J+xAjTvryniACmZnvljHdGUE4ZA0WCM RRcGIVhaHNUxPi39J1WxGuY/7+qFXGrj/tnci4x/603VYYeC5yPwyjxih3bkPKl7oW8YGyIrvIwU /9J93VkDxQd6LvfrB5ZU/bklFRq7Sviso4Bix+aHvIuBjmx+xiVLYZFMBGMxoo4P1pir5vo4NIJ5 Vk+x4lNCuHxFpXSAZfZzWoddskj1Tet6v/JAl0tyUfHDPNmXrMy1Z7T7OuIrVdliq5KzQPi7buGf 1E2OJbh/iEXr6Pa3k+u/dDEL2KwsI0rLjQ+H1yPOv5hhEhr4W8BApqYXvC/41dLmdNciOZpoIXnQ a+Vqir+uBJiFzRVWdt/pofERQoKj2bGrVWlaAUKtRXrzoTzIxL8YjIMz173tgN4Epp4P1Cg3Chsx W8i/r3kmYXT/OeJj5NyDxAmGRDagGFl4wZbZvFA0ZlAbdcKYETCCB14wggZGoAMCAQICEE7jGLDR L7reYiUcckKTal4wDQYJKoZIhvcNAQELBQAwSzELMAkGA1UEBhMCRVMxETAPBgNVBAoMCEZOTVQt UkNNMQ4wDAYDVQQLDAVDZXJlczEZMBcGA1UEAwwQQUMgRk5NVCBVc3VhcmlvczAeFw0yMjAzMDYy MDQxMjJaFw0yNjAzMDYyMDQxMjJaMIGBMQswCQYDVQQGEwJFUzEYMBYGA1UEBRMPSURDRVMtWDIw NjQxMjNCMRkwFwYDVQQqDBBVV0UgUklDSEFSRCBPVFRPMQ8wDQYDVQQEDAZCUkFVRVIxLDAqBgNV BAMMI0JSQVVFUiBVV0UgUklDSEFSRCBPVFRPIC0gWDIwNjQxMjNCMIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEAoJVE/sbo1m+uKynMrhlC2uwucKui15DqfQf8185jc8VjjJyuMoV+JG0T cb9HhpVodL2WCW83Gb2OKq1pr90ZCscCYR0XOOy6ZclnNhMaPvf9dZrogt9SR7XUI03UJsaWg7xK upApj+zaAMFGmzYNzPH1h/rWVxvK12NoURkmSF31t+sdnJXsCiciUL1qdl5X0AtL85WjAnR2bMmf Jw17jPkq+sXSBGL73Y2GwoZyrP8jM5acfjyDW6vYc4Ia9f0znfOD9yuneJi0UeDBHgJ42oYT83DP gGiTow6uxUNj0t2lJGsEKnBrBTYlkDq49XUOTOcdv5TDUpDk1Awacl/6gQIDAQABo4IEBTCCBAEw bwYDVR0RBGgwZoEOT1VCQE1BVC5VQ00uRVOkVDBSMRgwFgYJKwYBBAGsZgEEDAlYMjA2NDEyM0Ix FTATBgkrBgEEAaxmAQIMBkJSQVVFUjEfMB0GCSsGAQQBrGYBAQwQVVdFIFJJQ0hBUkQgT1RUTzAM BgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIF4DAdBgNVHSUEFjAUBggrBgEFBQcDBAYIKwYBBQUH AwIwHQYDVR0OBBYEFGVctturectaj2GUB3MWVsUmJHlRMB8GA1UdIwQYMBaAFLHUT8QjefpEBQnG 6znP6DWwuCBkMIGCBggrBgEFBQcBAQR2MHQwPQYIKwYBBQUHMAGGMWh0dHA6Ly9vY3NwdXN1LmNl cnQuZm5tdC5lcy9vY3NwdXN1L09jc3BSZXNwb25kZXIwMwYIKwYBBQUHMAKGJ2h0dHA6Ly93d3cu Y2VydC5mbm10LmVzL2NlcnRzL0FDVVNVLmNydDCCARUGA1UdIASCAQwwggEIMIH6BgorBgEEAaxm AwoBMIHrMCkGCCsGAQUFBwIBFh1odHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9kcGNzLzCBvQYIKwYB BQUHAgIwgbAMga1DZXJ0aWZpY2FkbyBjdWFsaWZpY2FkbyBkZSBmaXJtYSBlbGVjdHLDs25pY2Eu IFN1amV0byBhIGxhcyBjb25kaWNpb25lcyBkZSB1c28gZXhwdWVzdGFzIGVuIGxhIERQQyBkZSBs YSBGTk1ULVJDTSBjb24gTklGOiBRMjgyNjAwNC1KIChDL0pvcmdlIEp1YW4gMTA2LTI4MDA5LU1h ZHJpZC1Fc3Bhw7FhKTAJBgcEAIvsQAEAMIG6BggrBgEFBQcBAwSBrTCBqjAIBgYEAI5GAQEwCwYG BACORgEDAgEPMBMGBgQAjkYBBjAJBgcEAI5GAQYBMHwGBgQAjkYBBTByMDcWMWh0dHBzOi8vd3d3 LmNlcnQuZm5tdC5lcy9wZHMvUERTQUNVc3Vhcmlvc19lcy5wZGYTAmVzMDcWMWh0dHBzOi8vd3d3 LmNlcnQuZm5tdC5lcy9wZHMvUERTQUNVc3Vhcmlvc19lbi5wZGYTAmVuMIG1BgNVHR8Ega0wgaow gaeggaSggaGGgZ5sZGFwOi8vbGRhcHVzdS5jZXJ0LmZubXQuZXMvY249Q1JMNTQxOSxjbj1BQyUy MEZOTVQlMjBVc3VhcmlvcyxvdT1DRVJFUyxvPUZOTVQtUkNNLGM9RVM/Y2VydGlmaWNhdGVSZXZv Y2F0aW9uTGlzdDtiaW5hcnk/YmFzZT9vYmplY3RjbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDAN BgkqhkiG9w0BAQsFAAOCAQEAQfp9/80Z3s4+aMrO9sGDDmjPpZF5P9neOg6DiWyamKRhTiNwU1Ho VXIXEU3lzb5tHmqwb/TmZmCJINYDGflzeNxR4OIEDbqUKrdLJ8nRQ2G6X8w7LmvImUGI+WRxizPZ nTBxh+12akO7XEiq2JNW5JOV2z5e3jO0C4Y9fXj0E30O5N3JpDbWfH8JcpTSJdNAetfON1pa7ZLK N0NAMuJc5OUAKzlJsvE6D8L8eRooM/unrqygLOmu3e0f37Gtf7fE0IDIJwh101twvs3ArNMmRFhn 5GBChF6+ubXqyQyZrY6DDV8X9rGkki1n8JIOxpNOexgYgbmav0oekc+3LTUHATGCAiAwggIcAgEB MF8wSzELMAkGA1UEBhMCRVMxETAPBgNVBAoMCEZOTVQtUkNNMQ4wDAYDVQQLDAVDZXJlczEZMBcG A1UEAwwQQUMgRk5NVCBVc3VhcmlvcwIQTuMYsNEvut5iJRxyQpNqXjANBglghkgBZQMEAgEFAKCB kzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yMjEwMTYxMjEwMjVa MCgGCSqGSIb3DQEJDzEbMBkwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMC8GCSqGSIb3DQEJBDEi BCD2USW2ihKhNRTeN7AMdeNLI+Lj9QVNS9+J4gsbtjGWoDANBgkqhkiG9w0BAQEFAASCAQBBGvGg FvMke2rqoYj/zE2j4msWchIa/BTj0D7bm17vgW0ECIGUWu0eT016iORi9+vM45vTwA8aFEaESb0f EAEpqZdHK13eBtNqDtbCcIotKSNR/CcLvHNOPiaLxGDMP2bcWyBjTU8TtxuQOv+endVLt8ER1Vzy /v6M1X+lbAxVZH6Q2tsVhfF4nS2ZAnSc3kdjRiX+8BrMla6k/5XBkvCgDVUZAxXd5CciQYgI5939 +esEZSpxGTsY8a5+sktawcsZAt28iBpp3/Gm3cxwQq9HxOwtkObIZbA6jXhMLm7yMoLh5vuHYj7+ L8jvs/s/o4jdtLXWaJnt9rIHtTnfIyMqAAAAAAAA --==-=-=--