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 ms0.migadu.com with LMTPS id wHQ0D5KIzGErkgAAgWs5BA (envelope-from ) for ; Wed, 29 Dec 2021 17:10:58 +0100 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 sFaDDJKIzGGgmgAA9RJhRA (envelope-from ) for ; Wed, 29 Dec 2021 17:10:58 +0100 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 96D4B31E23 for ; Wed, 29 Dec 2021 17:10:57 +0100 (CET) Received: from localhost ([::1]:60528 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n2bXU-0007yv-6B for larch@yhetil.org; Wed, 29 Dec 2021 11:10:56 -0500 Received: from eggs.gnu.org ([209.51.188.92]:59384) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n2bWQ-0007yh-Mx for emacs-orgmode@gnu.org; Wed, 29 Dec 2021 11:09:50 -0500 Received: from [2a00:1450:4864:20::430] (port=43941 helo=mail-wr1-x430.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1n2bWP-0003Uy-1n for emacs-orgmode@gnu.org; Wed, 29 Dec 2021 11:09:50 -0500 Received: by mail-wr1-x430.google.com with SMTP id v11so45342126wrw.10 for ; Wed, 29 Dec 2021 08:09:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mat.ucm.es; s=google; h=from:to:subject:user-agent:date:message-id:mime-version; bh=1rXyup4btjOo7OwqqVA4zWuFJxyuHTDYq5oHnLQB1v4=; b=FTHIewsfnQtneyvJ8sSSUcoL+bYtRLcPwLcDrAcXQNmqlZmW2PT2o5Y9iSEBLboPhu a+8m1Y8jNuyFBneg9F8dBha2UEr3tJjkf3R3cpM/gCKg/A77BlbNN/sin6PjQ8jB9ujp MGO+aFp2s5QtHKMlJcB0CQKA7cZxSNV9kKxec= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:user-agent:date:message-id :mime-version; bh=1rXyup4btjOo7OwqqVA4zWuFJxyuHTDYq5oHnLQB1v4=; b=yBQLWMoLa00bwIfnwsQ1MESKLZa+oSBRMVomA4LFuQSTZT+bHRu1V+XzfyY54s0V5G Ef05ByvCMbPBqquouhbufSsCdgmh9jllzddy/yNIvYWW6n6sHJj0vboPfKK96lEhNfNN YuK+SshE4ZTyo3Q9qI4o6EruK7E4i33ENrO8NxKhOqTRc0JydX9Ktx7r513qqFAUp7qD i39RFp4rWfAIoZj9yyZBhAdrvdwcsc4KXlKBD8NWrNUsaSrJirkgKwBgJ2MAVFSzaUJh rBAnrg339RE5wcHZLX4jyFtIuwIt6kjyIXTtVSJHK7xNZou37x6n1V+WN3vtyG2iH7Yn KWvQ== X-Gm-Message-State: AOAM530dviJtq5oWLvFko9KZlIKUFhHWVJkAgpxWDcSZB2MzQDc8/VJn qv4JNzihaSCNG4hYkrrhQDcLEEMX1xThd+Rn2DIct8zf7uDUYpnULngpjh5egd90ct5cvSk1F6I pdlQTJBux4eDsPOG17HRF9W3q+VPUWNF3Yj5lWAC/JOuyaafrEs9hkz8QHcEl X-Google-Smtp-Source: ABdhPJwrkToe4c5qvdfq/ZTGI5DUdwwEi6R1Ix0E8j5gbomCL7YmGXSkIJbTUs1QZztxYfbI28zPpg== X-Received: by 2002:a5d:64aa:: with SMTP id m10mr22065305wrp.500.1640794186411; Wed, 29 Dec 2021 08:09:46 -0800 (PST) Received: from Utnapischtim (p20030006335361023c6f15120a75c5af.dip0.t-ipconnect.de. [2003:6:3353:6102:3c6f:1512:a75:c5af]) by smtp.gmail.com with ESMTPSA id m10sm22506174wms.25.2021.12.29.08.09.43 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 29 Dec 2021 08:09:44 -0800 (PST) X-Mailer: emacs 29.0.50 (via feedmail 11-beta-1 I) From: Uwe Brauer To: Org Mode List Subject: (ledger?) The fair Christmas problem: splitting expenses automatically User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Date: Wed, 29 Dec 2021 17:09:40 +0100 Message-ID: <87o84zs88r.fsf@mat.ucm.es> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=sha256; protocol="application/pkcs7-signature" X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::430 (failed) Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=oub@ucm.es; helo=mail-wr1-x430.google.com X-Spam_score_int: 7 X-Spam_score: 0.7 X-Spam_bar: / X-Spam_report: (0.7 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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" 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=1640794258; 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=1rXyup4btjOo7OwqqVA4zWuFJxyuHTDYq5oHnLQB1v4=; b=LkIwyxnjKD6+f13EA3RVkxwQeyIHF2oCp/Fx+zVjy1yyxF/l7a56HBHdmscTxuAkfwh7zl xp8SMpDk1fgJFQdfr4C1QOALcA8kTICQSdtWmz1z/H+ZBWkQKXthtd0h374W+8R8fnxSa0 8BOskEse8aLXpYsr/wom2QcfEq6ZGrpTcXFrOn28cE10+lkst1tPPx47E7gzQyQOAyq0tO d7LA1AJSud2mIFZ1Gf1dI3OG19flq2p9cbtgN3gst0U2jZHJvHGTCvXiJ12G19TbxGjm9u eSvD9aOcn5VkZg/Kam1XDZkJOiskCFCQ5o07yEXNxdZ0kOKehPwT5JLcj9xvdg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1640794258; a=rsa-sha256; cv=none; b=muSA6x2FUZU9dGKI3UOrEty5n3uVJdrMrm5CK86oJoZtwvecJfGJFoKY8mL2Sn5T2C8kaO rbj40+xGGEgR3cx5meaRjoBj2NHELth1ut55Fco02UWcMCICa9fszfMyqkfig7aNpX3Oxp A4Wtmq8JGXcQqAR0Ane15v24dGYrZzULM34i7qqgE+Fe+X6rj1/d8/ziI+4CswNUPOVaXA xI34AADwS/yrFIcxBLWpHuQRwG88qrXqZdKjmzqbWKE1ZVIeKHciHQ9RWCOechKxTz5ezw gjWCg49Gy44P15tnteBTvSuRjhWH1MMu1xyAB8rEsr5WQmnzS8ND2n2CoV9Eow== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=mat.ucm.es header.s=google header.b=FTHIewsf; 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.87 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=mat.ucm.es header.s=google header.b=FTHIewsf; 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: 96D4B31E23 X-Spam-Score: -7.87 X-Migadu-Scanner: scn1.migadu.com X-TUID: TZ2j8tIvgvpR --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hi=20 I am not sure whether this is the right place to ask this, but anyhow. Suppose two friends want to buy Christmas presents, but when they have finished, they want to have spent the same amount of money. If they don't a compensation must be transferred. Here is an example ** Start #+name: presents #+begin_src ledger=20=20=20 2010/01/01 * Starting balance assets:bank:savings 0 income:starting balances 2021/12/01 User1:Jacket expenses:User1:Jacket 80 income:User1:creditcard1 2010/07/24 User1:Pajama expenses:User1:Pajama 30 income:User1:creditcard1 2010/07/23 User2:Flowers expenses:User2:Flowers 20 income:User2:creditcard2 2010/07/23 User2:ChristmasTree expenses:User2:ChristmasTree 40.00 income:User2:creditcard2 #+end_src #+RESULTS: presents #+begin_example 170 expenses 110 User1 80 Jacket 30 Pajama 60 User2 40 ChristmasTree 20 Flowers -170 income -110 User1:creditcard1 -60 User2:creditcard2 =2D------------------- 0 #+end_example So user1 spent 110, while user2 spent 60 ** Compensation manually So the compensation is (trivally) | User1 | User2 | User2-->Uwer1 | |-------+-------+---------------| | 110 | 60 | -25 | #+TBLFM: $3=3D($2-$1)/2;f2 Leading to=20 #+name: compensated #+begin_src ledger=20=20=20 2010/01/01 * Starting balance assets:bank:savings 0 income:starting balances 2021/12/01 User1:Jacket expenses:User1:Jacket 80 income:User1:creditcard1 2010/07/24 User1:Pajama expenses:User1:Pajama 30 income:User1:creditcard1 2010/07/23 User2:Flowers expenses:User2:Flowers 20 income:User2:creditcard2 2010/07/23 User2:ChristmasTree expenses:User2:ChristmasTree 40.00 income:User2:creditcard2 2010/07/23 User2:User1-Compensation expenses:User2:User1-Compensation 25.00 expenses:User1:User1-Compensation #+end_src #+RESULTS: compensated #+begin_example 170 expenses 85 User1 80 Jacket 30 Pajama -25 User1-Compensation 85 User2 40 ChristmasTree 20 Flowers 25 User1-Compensation -170 income -110 User1:creditcard1 -60 User2:creditcard2 =2D------------------- 0 #+end_example The question is can this be done automatically? By this I mean can 2010/07/23 User2:User1-Compensation expenses:User2:User1-Compensation 25.00 expenses:User1:User1-Compensation Somehow be generated automatically? --=-=-= 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/OeJj5NyDxAmGRDagGFl4wZbZvFA0ZlAbdcKYETCCB14wggZGoAMCAQICEHyPZdFE 3gS5WtRZrC7IKYIwDQYJKoZIhvcNAQELBQAwSzELMAkGA1UEBhMCRVMxETAPBgNVBAoMCEZOTVQt UkNNMQ4wDAYDVQQLDAVDZXJlczEZMBcGA1UEAwwQQUMgRk5NVCBVc3VhcmlvczAeFw0xODA0MTYw ODA3MDhaFw0yMjA0MTYwODA3MDhaMIGBMQswCQYDVQQGEwJFUzEYMBYGA1UEBRMPSURDRVMtWDIw NjQxMjNCMRkwFwYDVQQqDBBVV0UgUklDSEFSRCBPVFRPMQ8wDQYDVQQEDAZCUkFVRVIxLDAqBgNV BAMMI0JSQVVFUiBVV0UgUklDSEFSRCBPVFRPIC0gWDIwNjQxMjNCMIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEAzS7yAm9gXjzxCrn15XBUuZz/gDM/KQi589qGkENYw7LiHtxKBOncld1o FohvckNdY7A8AJiHVVVoA6BXF7DI0BGFwaQ5qUDlzq7mW9+zL+OLXNSp52lfuERPd2y18LaHLp34 czgsvaCTzPl//lrDz6sa5Q//1DlNuzbjY/Afgd+jPPCI4wjOPcW3k1pvEf9Ed1nmAEiqAfyeHN/n RSfL83jACwvvkrJFg3gxTKrp7QJUdbTAomwPhQcsTWFxdA4FXPAZlYrhiM/qGRp/IKzRUCwIIebD qmkfLZIRl1gm9RFzzpps+dcw4qV7nRcA2KWQwjd36pVQxVF1e1BXq+BZjwIDAQABo4IEBTCCBAEw bwYDVR0RBGgwZoEOb3ViQG1hdC51Y20uZXOkVDBSMRgwFgYJKwYBBAGsZgEEDAlYMjA2NDEyM0Ix FTATBgkrBgEEAaxmAQIMBkJSQVVFUjEfMB0GCSsGAQQBrGYBAQwQVVdFIFJJQ0hBUkQgT1RUTzAM BgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIF4DAdBgNVHSUEFjAUBggrBgEFBQcDBAYIKwYBBQUH AwIwHQYDVR0OBBYEFORUbZuzfTkfXyYfMh59Q0C0evYpMB8GA1UdIwQYMBaAFLHUT8QjefpEBQnG 6znP6DWwuCBkMIGCBggrBgEFBQcBAQR2MHQwPQYIKwYBBQUHMAGGMWh0dHA6Ly9vY3NwdXN1LmNl cnQuZm5tdC5lcy9vY3NwdXN1L09jc3BSZXNwb25kZXIwMwYIKwYBBQUHMAKGJ2h0dHA6Ly93d3cu Y2VydC5mbm10LmVzL2NlcnRzL0FDVVNVLmNydDCCARUGA1UdIASCAQwwggEIMIH6BgorBgEEAaxm AwoBMIHrMCkGCCsGAQUFBwIBFh1odHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9kcGNzLzCBvQYIKwYB BQUHAgIwgbAMga1DZXJ0aWZpY2FkbyBjdWFsaWZpY2FkbyBkZSBmaXJtYSBlbGVjdHLDs25pY2Eu IFN1amV0byBhIGxhcyBjb25kaWNpb25lcyBkZSB1c28gZXhwdWVzdGFzIGVuIGxhIERQQyBkZSBs YSBGTk1ULVJDTSBjb24gTklGOiBRMjgyNjAwNC1KIChDL0pvcmdlIEp1YW4gMTA2LTI4MDA5LU1h ZHJpZC1Fc3Bhw7FhKTAJBgcEAIvsQAEAMIG6BggrBgEFBQcBAwSBrTCBqjAIBgYEAI5GAQEwCwYG BACORgEDAgEPMBMGBgQAjkYBBjAJBgcEAI5GAQYBMHwGBgQAjkYBBTByMDcWMWh0dHBzOi8vd3d3 LmNlcnQuZm5tdC5lcy9wZHMvUERTQUNVc3Vhcmlvc19lcy5wZGYTAmVzMDcWMWh0dHBzOi8vd3d3 LmNlcnQuZm5tdC5lcy9wZHMvUERTQUNVc3Vhcmlvc19lbi5wZGYTAmVuMIG1BgNVHR8Ega0wgaow gaeggaSggaGGgZ5sZGFwOi8vbGRhcHVzdS5jZXJ0LmZubXQuZXMvY249Q1JMMTgwNixjbj1BQyUy MEZOTVQlMjBVc3VhcmlvcyxvdT1DRVJFUyxvPUZOTVQtUkNNLGM9RVM/Y2VydGlmaWNhdGVSZXZv Y2F0aW9uTGlzdDtiaW5hcnk/YmFzZT9vYmplY3RjbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDAN BgkqhkiG9w0BAQsFAAOCAQEAZvJUHMPzj+us0nNHF9NuVpoY1yQL9NzCMCBHYdHQPmc4ITA8zYwa jTXv9lj6P+JDAoa/kqFImCOLcy0ZL4VucSZgtTA8HDuU6mzM11Gf4VKeLnJk9T8EJr5/HQDw+okC r5YlPfyX3y14qdscFa1UJCASfH9PMk8NDF9sr7qHhz/SmapSF87Co8V8uCrCSODmdBHZCAfAIb35 ujfEUuXi0cVkW9PwHltpA1ahA8TXuIXWkk+Ot2NIy5M2SlLVnSUInArMkbc9meIQKpKHTl2oSFm6 PA272V54F5VoKfYLRk38PAZosWyAHiXDLMl3ZgN7ZZZsc17WPeu3kCICEkW1IzGCAiAwggIcAgEB MF8wSzELMAkGA1UEBhMCRVMxETAPBgNVBAoMCEZOTVQtUkNNMQ4wDAYDVQQLDAVDZXJlczEZMBcG A1UEAwwQQUMgRk5NVCBVc3VhcmlvcwIQfI9l0UTeBLla1FmsLsgpgjANBglghkgBZQMEAgEFAKCB kzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yMTEyMjkxNjA5NDBa MCgGCSqGSIb3DQEJDzEbMBkwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMC8GCSqGSIb3DQEJBDEi BCBMZaPeZUOxoRpPKx0/32dBNYovKvyrbF1f9RSNhsywNzANBgkqhkiG9w0BAQEFAASCAQB/d4zM V1ehjp5OM1gBbDEfwCZyMyGZSggIm9h+Di+YC3T8k4YcitwTJwOXspCdnXdWC/8YT1ikH1P3gm5v xrPtPt9qUqiH0Nc0HD2nD3DrscqN4q3QOE+rkB9kIzlhloH8YrO/E4ERmjOypC868tCdr5VpjVkv mKZQG2tszGNUOV0HB1Gt96Joj8i6Ml0yK0KG7mjGQ/xUHBMPySG2sZgLKCQr/s5+/uX6NRxR3Fwm DM6CkdfQGublhkVUZzcH3mDCAMOTRAIV9W6wASgsHy8OIjLsVnnRH6Wcmd/PLS3t58qO4Qf5/EBi 1xUBIZGakcFHk9s0iyUpcVFNchWpikMEAAAAAAAA --=-=-=--