diff --git a/CHANGELOG.md b/CHANGELOG.md index 9979420b1..f61f6d154 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to - ✨(frontend) Add "Copy link to block" feature #2547 - ✨(frontend) add word count to doc header toolbox #2549 - ✨(frontend) add find and replace feature to the editor #2570 +- ✨(frontend) add math and diagram blocks to the editor #2617 ### Changed diff --git a/src/frontend/apps/e2e/__tests__/app-impress/assets/base-content-test-pdf.txt b/src/frontend/apps/e2e/__tests__/app-impress/assets/base-content-test-pdf.txt index 87b5203df..289041963 100644 --- a/src/frontend/apps/e2e/__tests__/app-impress/assets/base-content-test-pdf.txt +++ b/src/frontend/apps/e2e/__tests__/app-impress/assets/base-content-test-pdf.txt @@ -1 +1 @@ -BArGhI+yDwDEn5aq3wjiCZ+Wqt8I4wmmxAEiQXc3Sm9vYm5DUUFBQWdjQW41YXEzd2pQQXdZRUFNbWlodWNKQWdWSVpXeHNiNEhKb29ibkNRY0ZoTW1paHVjSkRBZ2dRMkZzYkc5MWRNR2ZscXJmQ0tVSW41YXEzd2pDQ0FFQUJhaWZscXJmQ01FSUFYY2tNR1UxWmpBM01EVXRNbU5pWXkwME9XUXdMV0ZoTlRrdE1EUXhPR0V4WVRRM09URXh4NStXcXQ4STRBT2ZscXJmQ0o4SUF3NWliRzlqYTBOdmJuUmhhVzVsY2djQXlhS0c1d2tjQXdsd1lYSmhaM0poY0dnb0FNbWlodWNKSFE5aVlXTnJaM0p2ZFc1a1EyOXNiM0lCZHdka1pXWmhkV3gwS0FESm9vYm5DUjBKZEdWNGRFTnZiRzl5QVhjSFpHVm1ZWFZzZENnQXlhS0c1d2tkRFhSbGVIUkJiR2xuYm0xbGJuUUJkd1JzWldaMEtBREpvb2JuQ1J3Q2FXUUJkeVJtWWpkbE16RTBaaTB3TjJJeExUUXhZV1l0T0RreU1pMWpaalV6TjJJMFpHSXpZMkhZQlorV3F0OElBQWNCRG1SdlkzVnRaVzUwTFhOMGIzSmxBd3BpYkc5amEwZHliM1Z3QndDZmxxcmZDQUFERG1Kc2IyTnJRMjl1ZEdGcGJtVnlCd0NmbHFyZkNBRURDWEJoY21GbmNtRndhQWNBbjVhcTN3Z0NCZ1FBbjVhcTN3Z0RDa2hsYkd4dklGUmxlSFFvQUorV3F0OElBZzlpWVdOclozSnZkVzVrUTI5c2IzSUJkd2RrWldaaGRXeDBLQUNmbHFyZkNBSUpkR1Y0ZEVOdmJHOXlBWGNIWkdWbVlYVnNkQ2dBbjVhcTN3Z0NEWFJsZUhSQmJHbG5ibTFsYm5RQmR3UnNaV1owS0FDZmxxcmZDQUVDYVdRQmR3NXBibWwwYVdGc1FteHZZMnRKWkllZmxxcmZDQUVERG1Kc2IyTnJRMjl1ZEdGcGJtVnlCd0NmbHFyZkNCSURCMmhsWVdScGJtY0hBSitXcXQ4SUV3WUdBSitXcXQ4SUZBUmliMnhrQW50OWhwK1dxdDhJRlFsMFpYaDBRMjlzYjNJV2V5SnpkSEpwYm1kV1lXeDFaU0k2SW1Kc2RXVWlmWVNmbHFyZkNCWVBTR1ZzYkc4Z1NHVmhaR2x1WnlBeGhwK1dxdDhJSlFSaWIyeGtCRzUxYkd5R241YXEzd2dtQ1hSbGVIUkRiMnh2Y2dSdWRXeHNLQUNmbHFyZkNCTVBZbUZqYTJkeWIzVnVaRU52Ykc5eUFYY0haR1ZtWVhWc2RDZ0FuNWFxM3dnVENYUmxlSFJEYjJ4dmNnRjNCMlJsWm1GMWJIUW9BSitXcXQ4SUV3MTBaWGgwUVd4cFoyNXRaVzUwQVhjRWJHVm1kQ2dBbjVhcTN3Z1RCV3hsZG1Wc0FYMEJLQUNmbHFyZkNCTU1hWE5VYjJkbmJHVmhZbXhsQVhrb0FKK1dxdDhJRWdKcFpBRjNKR00wWXpJMk5EazFMV05oT1dNdE5HTTNPQzA1TTJSaUxUTTBNVEZqTjJJME4yUTFab2VmbHFyZkNCSUREbUpzYjJOclEyOXVkR0ZwYm1WeUJ3Q2ZscXJmQ0M0REIyaGxZV1JwYm1jSEFKK1dxdDhJTHdZR0FKK1dxdDhJTUFSaWIyeGtBbnQ5aEorV3F0OElNUTlJWld4c2J5QklaV0ZrYVc1bklES0duNWFxM3doQUJHSnZiR1FFYm5Wc2JDZ0FuNWFxM3dndkQySmhZMnRuY205MWJtUkRiMnh2Y2dGM0IyUmxabUYxYkhRb0FKK1dxdDhJTHdsMFpYaDBRMjlzYjNJQmR3ZGtaV1poZFd4MEtBQ2ZscXJmQ0M4TmRHVjRkRUZzYVdkdWJXVnVkQUYzQkd4bFpuUW9BSitXcXQ4SUx3VnNaWFpsYkFGOUFpZ0FuNWFxM3dndkRHbHpWRzluWjJ4bFlXSnNaUUY1S0FDZmxxcmZDQzRDYVdRQmR5UXpOemxsTkRnME5DMWxOV1kxTFRSbU4ySXRZVFZpWXkxbFl6azNOamRpTVRSaFlqaUhuNWFxM3dndUF3NWliRzlqYTBOdmJuUmhhVzVsY2djQW41YXEzd2hJQXdkb1pXRmthVzVuQndDZmxxcmZDRWtHQmdDZmxxcmZDRW9FWW05c1pBSjdmWWFmbHFyZkNFc1BZbUZqYTJkeWIzVnVaRU52Ykc5eUYzc2ljM1J5YVc1blZtRnNkV1VpT2lKbmNtVmxiaUo5aEorV3F0OElUQTlJWld4c2J5QklaV0ZrYVc1bklET0duNWFxM3doYkJHSnZiR1FFYm5Wc2JJYWZscXJmQ0Z3UFltRmphMmR5YjNWdVpFTnZiRzl5Qkc1MWJHd29BSitXcXQ4SVNROWlZV05yWjNKdmRXNWtRMjlzYjNJQmR3ZGtaV1poZFd4MEtBQ2ZscXJmQ0VrSmRHVjRkRU52Ykc5eUFYY0haR1ZtWVhWc2RDZ0FuNWFxM3doSkRYUmxlSFJCYkdsbmJtMWxiblFCZHdSc1pXWjBLQUNmbHFyZkNFa0ZiR1YyWld3QmZRTW9BSitXcXQ4SVNReHBjMVJ2WjJkc1pXRmliR1VCZVNnQW41YXEzd2hJQW1sa0FYY2tabVU1WkdWaE1HWXRZMk5tTnkwME1ETmtMV0pqTURVdFl6a3pNVEl6T1RobVpHUXpoNStXcXQ4SVNBTU9ZbXh2WTJ0RGIyNTBZV2x1WlhJSEFKK1dxdDhJWkFNSmNHRnlZV2R5WVhCb0tBQ2ZscXJmQ0dVUFltRmphMmR5YjNWdVpFTnZiRzl5QVhjSFpHVm1ZWFZzZENnQW41YXEzd2hsQ1hSbGVIUkRiMnh2Y2dGM0IyUmxabUYxYkhRb0FKK1dxdDhJWlExMFpYaDBRV3hwWjI1dFpXNTBBWGNFYkdWbWRDZ0FuNWFxM3doa0FtbGtBWGNrTURBek16UTVaamN0TmpVeE15MDBaVGswTFRsaFpERXRORE13WVdRNE1EVTBNalZsaDUrV3F0OElaQU1PWW14dlkydERiMjUwWVdsdVpYSUhBSitXcXQ4SWFnTU5ZMmhsWTJ0TWFYTjBTWFJsYlFjQW41YXEzd2hyQmdRQW41YXEzd2hzRUVOb1pXTnJiR2x6ZENCSmRHVnRJREVvQUorV3F0OElhdzlpWVdOclozSnZkVzVrUTI5c2IzSUJkd2RrWldaaGRXeDBLQUNmbHFyZkNHc0pkR1Y0ZEVOdmJHOXlBWGNIWkdWbVlYVnNkQ2dBbjVhcTN3aHJEWFJsZUhSQmJHbG5ibTFsYm5RQmR3UnNaV1owS0FDZmxxcmZDR3NIWTJobFkydGxaQUY1S0FDZmxxcmZDR29DYVdRQmR5UTNPVEppWlROaE55MWpNemcwTFRReE0yTXRZakpqTXkxaE9HTmpZelF4WkdaaU5EYUhuNWFxM3docUF3NWliRzlqYTBOdmJuUmhhVzVsY2djQW41YXEzd2lDQVFNTlkyaGxZMnRNYVhOMFNYUmxiUWNBbjVhcTN3aURBUVlFQUorV3F0OEloQUVRUTJobFkydHNhWE4wSUVsMFpXMGdNaWdBbjVhcTN3aURBUTlpWVdOclozSnZkVzVrUTI5c2IzSUJkd2RrWldaaGRXeDBLQUNmbHFyZkNJTUJDWFJsZUhSRGIyeHZjZ0YzQjJSbFptRjFiSFFvQUorV3F0OElnd0VOZEdWNGRFRnNhV2R1YldWdWRBRjNCR3hsWm5Rb0FKK1dxdDhJZ3dFSFkyaGxZMnRsWkFGNEtBQ2ZscXJmQ0lJQkFtbGtBWGNrTUdNek56azBaR0V0WkRjM1pTMDBPR1ZtTFdFME0yWXRNREUwWlRrNU1EaGhPV1UyaDUrV3F0OElnZ0VERG1Kc2IyTnJRMjl1ZEdGcGJtVnlCd0NmbHFyZkNKb0JBd2x3WVhKaFozSmhjR2dvQUorV3F0OEltd0VQWW1GamEyZHliM1Z1WkVOdmJHOXlBWGNIWkdWbVlYVnNkQ2dBbjVhcTN3aWJBUWwwWlhoMFEyOXNiM0lCZHdka1pXWmhkV3gwS0FDZmxxcmZDSnNCRFhSbGVIUkJiR2xuYm0xbGJuUUJkd1JzWldaMEtBQ2ZscXJmQ0pvQkFtbGtBWGNrWTJSalpXTTVOMk10T0RjNVpDMDBNVGMzTFRnNE9UQXRNV1kzWVdabE5EZzVNV1U1aDUrV3F0OEltZ0VERG1Kc2IyTnJRMjl1ZEdGcGJtVnlCd0NmbHFyZkNLQUJBd1Z4ZFc5MFpRY0FuNWFxM3dpaEFRWUVBSitXcXQ4SW9nRUxTR1ZzYkc4Z1VYVnZkR1VvQUorV3F0OElvUUVQWW1GamEyZHliM1Z1WkVOdmJHOXlBWGNIWkdWbVlYVnNkQ2dBbjVhcTN3aWhBUWwwWlhoMFEyOXNiM0lCZHdka1pXWmhkV3gwS0FDZmxxcmZDS0FCQW1sa0FYY2tOMlF3WVRWa1lqRXROekl5TWkwME5UTXhMV0ZpT0RNdFptTm1ZemRpTTJZM01USmxoNStXcXQ4SW9BRUREbUpzYjJOclEyOXVkR0ZwYm1WeUJ3Q2ZscXJmQ0xFQkF3bHdZWEpoWjNKaGNHZ29BSitXcXQ4SXNnRVBZbUZqYTJkeWIzVnVaRU52Ykc5eUFYY0haR1ZtWVhWc2RDZ0FuNWFxM3dpeUFRbDBaWGgwUTI5c2IzSUJkd2RrWldaaGRXeDBLQUNmbHFyZkNMSUJEWFJsZUhSQmJHbG5ibTFsYm5RQmR3UnNaV1owS0FDZmxxcmZDTEVCQW1sa0FYY2tZVEF6WkdFMlltRXRabVppTlMwMFlqVmtMVGhtWmpJdFlUYzFORGhtWW1WaFpqQTFoNStXcXQ4SXNRRUREbUpzYjJOclEyOXVkR0ZwYm1WeUJ3Q2ZscXJmQ0xjQkF3NTBiMmRuYkdWTWFYTjBTWFJsYlFjQW41YXEzd2k0QVFZRUFKK1dxdDhJdVFFVFNHVnNiRzhnVkc5bloyeGxJRXhwYzNRZ01TZ0FuNWFxM3dpNEFROWlZV05yWjNKdmRXNWtRMjlzYjNJQmR3ZGtaV1poZFd4MEtBQ2ZscXJmQ0xnQkNYUmxlSFJEYjJ4dmNnRjNCMlJsWm1GMWJIUW9BSitXcXQ4SXVBRU5kR1Y0ZEVGc2FXZHViV1Z1ZEFGM0JHeGxablFvQUorV3F0OEl0d0VDYVdRQmR5Um1Oek5oWm1JME9TMWpPR0UzTFRSbVlXWXRPR0U0WmkwMVlXWXpPREV5WkRBd1pUT0huNWFxM3dpM0FRTU9ZbXh2WTJ0RGIyNTBZV2x1WlhJSEFKK1dxdDhJMFFFRENYQmhjbUZuY21Gd2FDZ0FuNWFxM3dqU0FROWlZV05yWjNKdmRXNWtRMjlzYjNJQmR3ZGtaV1poZFd4MEtBQ2ZscXJmQ05JQkNYUmxlSFJEYjJ4dmNnRjNCMlJsWm1GMWJIUW9BSitXcXQ4STBnRU5kR1Y0ZEVGc2FXZHViV1Z1ZEFGM0JHeGxablFvQUorV3F0OEkwUUVDYVdRQmR5UmxOVGcwTkRJMk9DMHpNVEUyTFRReU1qRXRPVGMzTUMxaFpUSXpZalJoT1RrNU9XU0huNWFxM3dqUkFRTU9ZbXh2WTJ0RGIyNTBZV2x1WlhJSEFKK1dxdDhJMXdFREVHNTFiV0psY21Wa1RHbHpkRWwwWlcwSEFKK1dxdDhJMkFFR0JBQ2ZscXJmQ05rQkZFNTFiV0psY21Wa0lFeHBjM1FnU1hSbGJTQXhLQUNmbHFyZkNOZ0JEMkpoWTJ0bmNtOTFibVJEYjJ4dmNnRjNCMlJsWm1GMWJIUW9BSitXcXQ4STJBRUpkR1Y0ZEVOdmJHOXlBWGNIWkdWbVlYVnNkQ2dBbjVhcTN3allBUTEwWlhoMFFXeHBaMjV0Wlc1MEFYY0ViR1ZtZENnQW41YXEzd2pZQVFWemRHRnlkQUYvS0FDZmxxcmZDTmNCQW1sa0FYY2tPVGMxWWpnMlptTXROems0WWkwMFptTTFMVGxqTWpjdFpqQm1OelpsT1RNM1l6YzNoNStXcXQ4STF3RUREbUpzYjJOclEyOXVkR0ZwYm1WeUJ3Q2ZscXJmQ1BNQkF4QnVkVzFpWlhKbFpFeHBjM1JKZEdWdEJ3Q2ZscXJmQ1BRQkJnUUFuNWFxM3dqMUFSUk9kVzFpWlhKbFpDQk1hWE4wSUVsMFpXMGdNaWdBbjVhcTN3ajBBUTlpWVdOclozSnZkVzVrUTI5c2IzSUJkd2RrWldaaGRXeDBLQUNmbHFyZkNQUUJDWFJsZUhSRGIyeHZjZ0YzQjJSbFptRjFiSFFvQUorV3F0OEk5QUVOZEdWNGRFRnNhV2R1YldWdWRBRjNCR3hsWm5Rb0FKK1dxdDhJOUFFRmMzUmhjblFCZnlnQW41YXEzd2p6QVFKcFpBRjNKREZrT0RWbU16Vm1MVGRsTnpZdE5EaGtOUzA1TURSbUxUbG1aRGhsTVdWaU5XUXdaSWVmbHFyZkNQTUJBdzVpYkc5amEwTnZiblJoYVc1bGNnY0FuNWFxM3dpUEFnTUpjR0Z5WVdkeVlYQm9LQUNmbHFyZkNKQUNEMkpoWTJ0bmNtOTFibVJEYjJ4dmNnRjNCMlJsWm1GMWJIUW9BSitXcXQ4SWtBSUpkR1Y0ZEVOdmJHOXlBWGNIWkdWbVlYVnNkQ2dBbjVhcTN3aVFBZzEwWlhoMFFXeHBaMjV0Wlc1MEFYY0ViR1ZtZENnQW41YXEzd2lQQWdKcFpBRjNKREptTXpZeFpEQmhMVFJsT1RRdE5EWTVZUzA1WldWbUxXTTROV0V5T1RRMlpUSTJONGVmbHFyZkNJOENBdzVpYkc5amEwTnZiblJoYVc1bGNnY0FuNWFxM3dpVkFnTU9ZblZzYkdWMFRHbHpkRWwwWlcwSEFKK1dxdDhJbGdJR0JBQ2ZscXJmQ0pjQ0VrSjFiR3hsZENCTWFYTjBJRWwwWlcwZ01TZ0FuNWFxM3dpV0FnOWlZV05yWjNKdmRXNWtRMjlzYjNJQmR3ZGtaV1poZFd4MEtBQ2ZscXJmQ0pZQ0NYUmxlSFJEYjJ4dmNnRjNCMlJsWm1GMWJIUW9BSitXcXQ4SWxnSU5kR1Y0ZEVGc2FXZHViV1Z1ZEFGM0JHeGxablFvQUorV3F0OElsUUlDYVdRQmR5UXdNMlJoTWpBeVlTMDBORFEwTFRRMVpqSXRPV00zT0MwNVl6ZzFOVEF3WkRabVpET0huNWFxM3dpVkFnTU9ZbXh2WTJ0RGIyNTBZV2x1WlhJSEFKK1dxdDhJcmdJRERtSjFiR3hsZEV4cGMzUkpkR1Z0QndDZmxxcmZDSzhDQmdRQW41YXEzd2l3QWhKQ2RXeHNaWFFnVEdsemRDQkpkR1Z0SURJb0FKK1dxdDhJcndJUFltRmphMmR5YjNWdVpFTnZiRzl5QVhjSFpHVm1ZWFZzZENnQW41YXEzd2l2QWdsMFpYaDBRMjlzYjNJQmR3ZGtaV1poZFd4MEtBQ2ZscXJmQ0s4Q0RYUmxlSFJCYkdsbmJtMWxiblFCZHdSc1pXWjBLQUNmbHFyZkNLNENBbWxrQVhja09USXpaVFE1TjJNdFpqZzBPQzAwWkdaakxXRXlaVEl0Tm1VeE1HSmhaVEExTmpWaGg1K1dxdDhJcmdJRERtSnNiMk5yUTI5dWRHRnBibVZ5QndDZmxxcmZDTWNDQXdsd1lYSmhaM0poY0dnb0FKK1dxdDhJeUFJUFltRmphMmR5YjNWdVpFTnZiRzl5QVhjSFpHVm1ZWFZzZENnQW41YXEzd2pJQWdsMFpYaDBRMjlzYjNJQmR3ZGtaV1poZFd4MEtBQ2ZscXJmQ01nQ0RYUmxlSFJCYkdsbmJtMWxiblFCZHdSc1pXWjBLQUNmbHFyZkNNY0NBbWxrQVhja056SXdZMkkxWmprdFptRTVZUzAwWkRGaExUZzNORGt0Tnpaa05EZzNNbUV4TkRZemg1K1dxdDhJeHdJRERtSnNiMk5yUTI5dWRHRnBibVZ5QndDZmxxcmZDTTBDQXdsamIyUmxRbXh2WTJzSEFKK1dxdDhJemdJR0JnQ2ZscXJmQ004Q0NYUmxlSFJEYjJ4dmNpUjdJbk4wY21sdVoxWmhiSFZsSWpvaWNtZGlLREkwT1N3Z01URTNMQ0F4TXpFcEluMkVuNWFxM3dqUUFnVmpiMjV6ZElhZmxxcmZDTlVDQ1hSbGVIUkRiMnh2Y2dSdWRXeHNocCtXcXQ4STFnSUpkR1Y0ZEVOdmJHOXlKSHNpYzNSeWFXNW5WbUZzZFdVaU9pSnlaMklvTWpJMUxDQXlNamdzSURJek1pa2lmWVNmbHFyZkNOY0NBU0NHbjVhcTN3allBZ2wwWlhoMFEyOXNiM0lFYm5Wc2JJYWZscXJmQ05rQ0NYUmxlSFJEYjJ4dmNpUjdJbk4wY21sdVoxWmhiSFZsSWpvaWNtZGlLREV5TVN3Z01UZzBMQ0F5TlRVcEluMkVuNWFxM3dqYUFnRmhocCtXcXQ4STJ3SUpkR1Y0ZEVOdmJHOXlCRzUxYkd5R241YXEzd2pjQWdsMFpYaDBRMjlzYjNJa2V5SnpkSEpwYm1kV1lXeDFaU0k2SW5KbllpZ3lNalVzSURJeU9Dd2dNak15S1NKOWhKK1dxdDhJM1FJQklJYWZscXJmQ040Q0NYUmxlSFJEYjJ4dmNnUnVkV3hzaHArV3F0OEkzd0lKZEdWNGRFTnZiRzl5SkhzaWMzUnlhVzVuVm1Gc2RXVWlPaUp5WjJJb01qUTVMQ0F4TVRjc0lERXpNU2tpZllTZmxxcmZDT0FDQVQyR241YXEzd2poQWdsMFpYaDBRMjlzYjNJRWJuVnNiSWFmbHFyZkNPSUNDWFJsZUhSRGIyeHZjaVI3SW5OMGNtbHVaMVpoYkhWbElqb2ljbWRpS0RJeU5Td2dNakk0TENBeU16SXBJbjJFbjVhcTN3ampBZ0VnaHArV3F0OEk1QUlKZEdWNGRFTnZiRzl5Qkc1MWJHeUduNWFxM3dqbEFnbDBaWGgwUTI5c2IzSWtleUp6ZEhKcGJtZFdZV3gxWlNJNkluSm5ZaWd4TWpFc0lERTROQ3dnTWpVMUtTSjloSitXcXQ4STVnSUNNVENHbjVhcTN3am9BZ2wwWlhoMFEyOXNiM0lFYm5Wc2JJYWZscXJmQ09rQ0NYUmxlSFJEYjJ4dmNpUjdJbk4wY21sdVoxWmhiSFZsSWpvaWNtZGlLREl5TlN3Z01qSTRMQ0F5TXpJcEluMkVuNWFxM3dqcUFnRTdocCtXcXQ4STZ3SUpkR1Y0ZEVOdmJHOXlCRzUxYkd3b0FKK1dxdDhJemdJSWJHRnVaM1ZoWjJVQmR3cHFZWFpoYzJOeWFYQjBLQUNmbHFyZkNNMENBbWxrQVhja1kySmpZbVkxTWpNdE16Z3haaTAwWmpNMExUazVabU10TTJabE9UTXdOMkV4WkRneWg1K1dxdDhJelFJRERtSnNiMk5yUTI5dWRHRnBibVZ5QndDZmxxcmZDTzhDQXdsd1lYSmhaM0poY0dnb0FKK1dxdDhJOEFJUFltRmphMmR5YjNWdVpFTnZiRzl5QVhjSFpHVm1ZWFZzZENnQW41YXEzd2p3QWdsMFpYaDBRMjlzYjNJQmR3ZGtaV1poZFd4MEtBQ2ZscXJmQ1BBQ0RYUmxlSFJCYkdsbmJtMWxiblFCZHdSc1pXWjBLQUNmbHFyZkNPOENBbWxrQVhja05XTmtaRFpsT1RBdE9ETTJNQzAwTlRFM0xUbGlPVEV0TnpobU9EWXpNMkZpTldVd2g1K1dxdDhJN3dJRERtSnNiMk5yUTI5dWRHRnBibVZ5QndDZmxxcmZDUFVDQXdka2FYWnBaR1Z5S0FDZmxxcmZDUFVDQW1sa0FYY2tNRGt4WVRZMk5XWXRZVEppWXkwME1HSXhMVGxsWkRrdE5qQmlaRE0wT1dGaE9UWmtoNStXcXQ4STlRSUREbUpzYjJOclEyOXVkR0ZwYm1WeUJ3Q2ZscXJmQ1BnQ0F3bHdZWEpoWjNKaGNHZ29BSitXcXQ4SStRSVBZbUZqYTJkeWIzVnVaRU52Ykc5eUFYY0haR1ZtWVhWc2RDZ0FuNWFxM3dqNUFnbDBaWGgwUTI5c2IzSUJkd2RrWldaaGRXeDBLQUNmbHFyZkNQa0NEWFJsZUhSQmJHbG5ibTFsYm5RQmR3UnNaV1owS0FDZmxxcmZDUGdDQW1sa0FYY2taR1JqTVRWbFkySXRabVpsTVMwMFltTTVMVGxsWkRNdE5XRmpZamt3TVRrMVpEaGxoNStXcXQ4SStBSUREbUpzYjJOclEyOXVkR0ZwYm1WeUJ3Q2ZscXJmQ1A0Q0F3bHdZV2RsUW5KbFlXc29BSitXcXQ4SS9nSUNhV1FCZHlSak9ERmhOVFJrTVMwME1qQXhMVFF3TWprdFlqVmlNeTB6TURRd1lUWXdOemN3WlRPSG41YXEzd2orQWdNS1kyOXNkVzF1VEdsemRBY0FuNWFxM3dpQkF3TUdZMjlzZFcxdUJ3Q2ZscXJmQ0lJREF3NWliRzlqYTBOdmJuUmhhVzVsY2djQW41YXEzd2lEQXdNSmNHRnlZV2R5WVhCb0J3Q2ZscXJmQ0lRREJnUUFuNWFxM3dpRkF3MURiMngxYlc0Z01TQlVaWGgwS0FDZmxxcmZDSVFERDJKaFkydG5jbTkxYm1SRGIyeHZjZ0YzQjJSbFptRjFiSFFvQUorV3F0OEloQU1KZEdWNGRFTnZiRzl5QVhjSFpHVm1ZWFZzZENnQW41YXEzd2lFQXcxMFpYaDBRV3hwWjI1dFpXNTBBWGNFYkdWbWRDZ0FuNWFxM3dpREF3SnBaQUYzSkRBeVkyTTBZVFV3TFRoa01EVXRORE13TnkxaU4yTTNMVE0yWldJeU56Z3hOVGt6WkNnQW41YXEzd2lDQXdKcFpBRjNKREV6WldJd09HTmtMVFU1TWpndE5HTm1ZaTFoWkRNd0xUTmtZbVJqTURBNE16SXhaU2dBbjVhcTN3aUNBd1YzYVdSMGFBRjlBWWVmbHFyZkNJSURBd1pqYjJ4MWJXNEhBSitXcXQ4SW1RTUREbUpzYjJOclEyOXVkR0ZwYm1WeUJ3Q2ZscXJmQ0pvREF3bHdZWEpoWjNKaGNHZ0hBSitXcXQ4SW13TUdCQUNmbHFyZkNKd0REVU52YkhWdGJpQXlJRlJsZUhRb0FKK1dxdDhJbXdNUFltRmphMmR5YjNWdVpFTnZiRzl5QVhjSFpHVm1ZWFZzZENnQW41YXEzd2liQXdsMFpYaDBRMjlzYjNJQmR3ZGtaV1poZFd4MEtBQ2ZscXJmQ0pzRERYUmxlSFJCYkdsbmJtMWxiblFCZHdSc1pXWjBLQUNmbHFyZkNKb0RBbWxrQVhja05qVXdPV1JtTTJVdE56SmxZaTAwTjJZeExXSmpZakF0WlRjNE1tWXpPR0U1TURnNUtBQ2ZscXJmQ0prREFtbGtBWGNrTURCaE1qWmhZakF0WkdNeU5TMDBZV1JtTFRsa09UQXRZbUV6Wm1Fd01ETmxabUppS0FDZmxxcmZDSmtEQlhkcFpIUm9BWDBCaDUrV3F0OEltUU1EQm1OdmJIVnRiZ2NBbjVhcTN3aXdBd01PWW14dlkydERiMjUwWVdsdVpYSUhBSitXcXQ4SXNRTURDWEJoY21GbmNtRndhQWNBbjVhcTN3aXlBd1lFQUorV3F0OElzd01OUTI5c2RXMXVJRE1nVkdWNGRDZ0FuNWFxM3dpeUF3OWlZV05yWjNKdmRXNWtRMjlzYjNJQmR3ZGtaV1poZFd4MEtBQ2ZscXJmQ0xJRENYUmxlSFJEYjJ4dmNnRjNCMlJsWm1GMWJIUW9BSitXcXQ4SXNnTU5kR1Y0ZEVGc2FXZHViV1Z1ZEFGM0JHeGxablFvQUorV3F0OElzUU1DYVdRQmR5UTROVFU0T1dVeVl5MWlOVEEwTFRSbU5qa3RPVEl4WlMwNU1tWTVNVGM0Wm1ZeFlqbUhuNWFxM3dpeEF3TU9ZbXh2WTJ0RGIyNTBZV2x1WlhJSEFKK1dxdDhJeFFNRENYQmhjbUZuY21Gd2FDZ0FuNWFxM3dqR0F3OWlZV05yWjNKdmRXNWtRMjlzYjNJQmR3ZGtaV1poZFd4MEtBQ2ZscXJmQ01ZRENYUmxlSFJEYjJ4dmNnRjNCMlJsWm1GMWJIUW9BSitXcXQ4SXhnTU5kR1Y0ZEVGc2FXZHViV1Z1ZEFGM0JHeGxablFvQUorV3F0OEl4UU1DYVdRQmR5UmpaVE0zWkRNeVlTMDFNR1k0TFRRd1pXWXRZalZsWXkwd05ERmxaR0V6TXpWbU9UVW9BSitXcXQ4SXNBTUNhV1FCZHlRNE9UVTROVFZsTnkxak1qQmlMVFE1T1RjdE9HTTVNaTFpTWpabE1qQTNPRGMzTmpBb0FKK1dxdDhJc0FNRmQybGtkR2dCZlFFb0FKK1dxdDhJZ1FNQ2FXUUJkeVEzT1RReU0yRTFOeTB4WlRWaExUUTBPRE10T0dKbU9TMDBNek00Wm1NMk5XVTFZekdIbjVhcTN3aUJBd01PWW14dlkydERiMjUwWVdsdVpYSUhBSitXcXQ4SXpnTURCMk5oYkd4dmRYUW9BSitXcXQ4SXp3TU5kR1Y0ZEVGc2FXZHViV1Z1ZEFGM0JHeGxablFvQUorV3F0OEl6d01QWW1GamEyZHliM1Z1WkVOdmJHOXlBWGNHZVdWc2JHOTNLQUNmbHFyZkNNOERCV1Z0YjJwcEFYY0U4SitTb1NnQW41YXEzd2pPQXdKcFpBRjNKR0l5WVdJNFl6ZGhMV00zTUdRdE5ETTNPUzA0T0dVMUxXVmlPVGMwTnpZM05tSTVNb2VmbHFyZkNNNERBdzVpYkc5amEwTnZiblJoYVc1bGNnY0FuNWFxM3dqVUF3TUpjR0Z5WVdkeVlYQm9LQUNmbHFyZkNOVUREMkpoWTJ0bmNtOTFibVJEYjJ4dmNnRjNCMlJsWm1GMWJIUW9BSitXcXQ4STFRTUpkR1Y0ZEVOdmJHOXlBWGNIWkdWbVlYVnNkQ2dBbjVhcTN3alZBdzEwWlhoMFFXeHBaMjV0Wlc1MEFYY0ViR1ZtZENnQW41YXEzd2pVQXdKcFpBRjNKRGc0TkRVd1ptTmpMVEkxTUdRdE5HTm1aQzFoTnpaa0xUYzRNekZoTVRCa01qWXhOSWVmbHFyZkNOUURBdzVpYkc5amEwTnZiblJoYVc1bGNnY0FuNWFxM3dqYUF3TUpjR0Z5WVdkeVlYQm9LQUNmbHFyZkNOc0REMkpoWTJ0bmNtOTFibVJEYjJ4dmNnRjNCMlJsWm1GMWJIUW9BSitXcXQ4STJ3TUpkR1Y0ZEVOdmJHOXlBWGNIWkdWbVlYVnNkQ2dBbjVhcTN3amJBdzEwWlhoMFFXeHBaMjV0Wlc1MEFYY0ViR1ZtZENnQW41YXEzd2phQXdKcFpBRjNKRFkzTm1FME56VXlMV1prT0RndE5EazJOUzFpTTJKbExXUmtaamN4T0dWbVpETmtZb2VmbHFyZkNOb0RBdzVpYkc5amEwTnZiblJoYVc1bGNnY0FuNWFxM3dqZ0F3TUZkR0ZpYkdVSEFKK1dxdDhJNFFNRENIUmhZbXhsVW05M0J3Q2ZscXJmQ09JREF3bDBZV0pzWlVObGJHd0hBSitXcXQ4STR3TUREblJoWW14bFVHRnlZV2R5WVhCb0J3Q2ZscXJmQ09RREJnWUFuNWFxM3dqbEF3UmliMnhrQW50OWhKK1dxdDhJNWdNTFFsSkpSRWxQVGlEQ3JpQ0duNWFxM3dqd0F3UmliMnhrQkc1MWJHeUduNWFxM3dqeEF3UmliMnhrQW50OWhwK1dxdDhJOGdNR2FYUmhiR2xqQW50OWhKK1dxdDhJOHdNZktFRnVkR0ZuYjI1cGMzUmxJR1JsSUd6aWdKbEZjMjNEcVhKdmJzS3VLWWFmbHFyZkNJNEVCR0p2YkdRRWJuVnNiSWFmbHFyZkNJOEVCbWwwWVd4cFl3UnVkV3hzS0FDZmxxcmZDT01EQ1hSbGVIUkRiMnh2Y2dGM0IyUmxabUYxYkhRb0FKK1dxdDhJNHdNUFltRmphMmR5YjNWdVpFTnZiRzl5QVhjR2NIVnljR3hsS0FDZmxxcmZDT01ERFhSbGVIUkJiR2xuYm0xbGJuUUJkd1pqWlc1MFpYSW9BSitXcXQ4STR3TUhZMjlzYzNCaGJnRjlDU2dBbjVhcTN3ampBd2R5YjNkemNHRnVBWDBCS0FDZmxxcmZDT01EQ0dOdmJIZHBaSFJvQVhVSmUzLzRBQUFBQUFBQWZZVUJmVDk5UDMwL2ZUOTlQbjAvZlljQmg1K1dxdDhJNGdNRENIUmhZbXhsVW05M0J3Q2ZscXJmQ0pjRUF3bDBZV0pzWlVObGJHd0hBSitXcXQ4SW1BUUREblJoWW14bFVHRnlZV2R5WVhCb0J3Q2ZscXJmQ0prRUJnUUFuNWFxM3dpYUJDRlFZWE1nWkdVZ1JHbHNkWFJwYjI0c0lFRmtiV2x1YVhOMGNtRjBhVzl1d3FDR241YXEzd2k2QkFSaWIyeGtBbnQ5aEorV3F0OEl1d1FFVUZWU1JZYWZscXJmQ0w4RUJHSnZiR1FFYm5Wc2JJU2ZscXJmQ01BRUFzS2doNStXcXQ4SW1nUURDV2hoY21SQ2NtVmhhNGVmbHFyZkNNSUVCZ1lBbjVhcTN3akRCQVJpYjJ4a0FudDloSitXcXQ4SXhBUW1TVlpFd3FBNklERTFNREFnYldjdklERTFJRzFzSUhOdmFYUWdNVEF3SUcxbkx5QnRiQzZHbjVhcTN3anBCQVJpYjJ4a0JHNTFiR3lIbjVhcTN3akRCQU1KYUdGeVpFSnlaV0ZyaDUrV3F0OEk2d1FHQmdDZmxxcmZDT3dFQ1hWdVpHVnliR2x1WlFKN2ZZU2ZscXJmQ08wRUNsQnZjMjlzYjJkcFpUcUduNWFxM3dqM0JBbDFibVJsY214cGJtVUViblZzYklTZmxxcmZDUGdFQXNLZ2hwK1dxdDhJK1FRRVltOXNaQUo3ZllTZmxxcmZDUG9FQnpFMmJXY3ZhMmVHbjVhcTN3aUJCUVJpYjJ4a0JHNTFiR3lFbjVhcTN3aUNCU05XYjJ4MWJXVWd3NkFnYVc1cVpXTjBaWElnYzNWeUlERXdJSE5sWTI5dVpHVnpMaWdBbjVhcTN3aVlCQWwwWlhoMFEyOXNiM0lCZHdka1pXWmhkV3gwS0FDZmxxcmZDSmdFRDJKaFkydG5jbTkxYm1SRGIyeHZjZ0YzRW5KbllpZ3lNRFFzSURJd05Dd2dNakEwS1NnQW41YXEzd2lZQkExMFpYaDBRV3hwWjI1dFpXNTBBWGNFYkdWbWRDZ0FuNWFxM3dpWUJBZGpiMnh6Y0dGdUFYMEpLQUNmbHFyZkNKZ0VCM0p2ZDNOd1lXNEJmUUVvQUorV3F0OEltQVFJWTI5c2QybGtkR2dCZFFsN2YvZ0FBQUFBQUFCOWhRRjlQMzAvZlQ5OVAzMCtmVDk5aHdHSG41YXEzd2lYQkFNSWRHRmliR1ZTYjNjSEFKK1dxdDhJcXdVRENYUmhZbXhsUTJWc2JBY0FuNWFxM3dpc0JRTU9kR0ZpYkdWUVlYSmhaM0poY0dnSEFKK1dxdDhJclFVR0JnQ2ZscXJmQ0s0RkJHSnZiR1FDZTMyRW41YXEzd2l2QlFWUWIybGtjNGFmbHFyZkNMUUZCR0p2YkdRRWJuVnNiQ2dBbjVhcTN3aXNCUWwwWlhoMFEyOXNiM0lCZHdka1pXWmhkV3gwS0FDZmxxcmZDS3dGRDJKaFkydG5jbTkxYm1SRGIyeHZjZ0YzQjJSbFptRjFiSFFvQUorV3F0OElyQVVOZEdWNGRFRnNhV2R1YldWdWRBRjNCR3hsWm5Rb0FKK1dxdDhJckFVSFkyOXNjM0JoYmdGOUFTZ0FuNWFxM3dpc0JRZHliM2R6Y0dGdUFYMEJoNStXcXQ4SXJBVURDWFJoWW14bFEyVnNiQWNBbjVhcTN3aTdCUU1PZEdGaWJHVlFZWEpoWjNKaGNHZ0hBSitXcXQ4SXZBVUdCZ0NmbHFyZkNMMEZCR0p2YkdRQ2UzMkVuNWFxM3dpK0JRUXlNR3RuaHArV3F0OEl3Z1VFWW05c1pBUnVkV3hzS0FDZmxxcmZDTHNGQ1hSbGVIUkRiMnh2Y2dGM0IyUmxabUYxYkhRb0FKK1dxdDhJdXdVUFltRmphMmR5YjNWdVpFTnZiRzl5QVhjSFpHVm1ZWFZzZENnQW41YXEzd2k3QlExMFpYaDBRV3hwWjI1dFpXNTBBWGNFYkdWbWRDZ0FuNWFxM3dpN0JRZGpiMnh6Y0dGdUFYMEJLQUNmbHFyZkNMc0ZCM0p2ZDNOd1lXNEJmUUVvQUorV3F0OEl1d1VJWTI5c2QybGtkR2dCZFFGOWhRR0huNWFxM3dpN0JRTUpkR0ZpYkdWRFpXeHNCd0NmbHFyZkNNb0ZBdzUwWVdKc1pWQmhjbUZuY21Gd2FBY0FuNWFxM3dqTEJRWUdBSitXcXQ4SXpBVUVZbTlzWkFKN2ZZU2ZscXJmQ00wRkJETXdhMmVHbjVhcTN3alJCUVJpYjJ4a0JHNTFiR3dvQUorV3F0OEl5Z1VKZEdWNGRFTnZiRzl5QVhjSFpHVm1ZWFZzZENnQW41YXEzd2pLQlE5aVlXTnJaM0p2ZFc1a1EyOXNiM0lCZHdka1pXWmhkV3gwS0FDZmxxcmZDTW9GRFhSbGVIUkJiR2xuYm0xbGJuUUJkd1JzWldaMEtBQ2ZscXJmQ01vRkIyTnZiSE53WVc0QmZRRW9BSitXcXQ4SXlnVUhjbTkzYzNCaGJnRjlBU2dBbjVhcTN3aktCUWhqYjJ4M2FXUjBhQUYxQVgwL2g1K1dxdDhJeWdVRENYUmhZbXhsUTJWc2JBY0FuNWFxM3dqWkJRTU9kR0ZpYkdWUVlYSmhaM0poY0dnSEFKK1dxdDhJMmdVR0JnQ2ZscXJmQ05zRkJHSnZiR1FDZTMyRW41YXEzd2pjQlFRME1HdG5ocCtXcXQ4STRBVUVZbTlzWkFSdWRXeHNLQUNmbHFyZkNOa0ZDWFJsZUhSRGIyeHZjZ0YzQjJSbFptRjFiSFFvQUorV3F0OEkyUVVQWW1GamEyZHliM1Z1WkVOdmJHOXlBWGNIWkdWbVlYVnNkQ2dBbjVhcTN3alpCUTEwWlhoMFFXeHBaMjV0Wlc1MEFYY0ViR1ZtZENnQW41YXEzd2paQlFkamIyeHpjR0Z1QVgwQktBQ2ZscXJmQ05rRkIzSnZkM053WVc0QmZRRW9BSitXcXQ4STJRVUlZMjlzZDJsa2RHZ0JkUUY5UDRlZmxxcmZDTmtGQXdsMFlXSnNaVU5sYkd3SEFKK1dxdDhJNkFVRERuUmhZbXhsVUdGeVlXZHlZWEJvQndDZmxxcmZDT2tGQmdZQW41YXEzd2pxQlFSaWIyeGtBbnQ5aEorV3F0OEk2d1VFTlRCclo0YWZscXJmQ084RkJHSnZiR1FFYm5Wc2JDZ0FuNWFxM3dqb0JRbDBaWGgwUTI5c2IzSUJkd2RrWldaaGRXeDBLQUNmbHFyZkNPZ0ZEMkpoWTJ0bmNtOTFibVJEYjJ4dmNnRjNCMlJsWm1GMWJIUW9BSitXcXQ4STZBVU5kR1Y0ZEVGc2FXZHViV1Z1ZEFGM0JHeGxablFvQUorV3F0OEk2QVVIWTI5c2MzQmhiZ0Y5QVNnQW41YXEzd2pvQlFkeWIzZHpjR0Z1QVgwQktBQ2ZscXJmQ09nRkNHTnZiSGRwWkhSb0FYVUJmVCtIbjVhcTN3am9CUU1KZEdGaWJHVkRaV3hzQndDZmxxcmZDUGNGQXc1MFlXSnNaVkJoY21GbmNtRndhQWNBbjVhcTN3ajRCUVlHQUorV3F0OEkrUVVFWW05c1pBSjdmWVNmbHFyZkNQb0ZCRFl3YTJlR241YXEzd2orQlFSaWIyeGtCRzUxYkd3b0FKK1dxdDhJOXdVSmRHVjRkRU52Ykc5eUFYY0haR1ZtWVhWc2RDZ0FuNWFxM3dqM0JROWlZV05yWjNKdmRXNWtRMjlzYjNJQmR3ZGtaV1poZFd4MEtBQ2ZscXJmQ1BjRkRYUmxlSFJCYkdsbmJtMWxiblFCZHdSc1pXWjBLQUNmbHFyZkNQY0ZCMk52YkhOd1lXNEJmUUVvQUorV3F0OEk5d1VIY205M2MzQmhiZ0Y5QVNnQW41YXEzd2ozQlFoamIyeDNhV1IwYUFGMUFYMC9oNStXcXQ4STl3VURDWFJoWW14bFEyVnNiQWNBbjVhcTN3aUdCZ01PZEdGaWJHVlFZWEpoWjNKaGNHZ0hBSitXcXQ4SWh3WUdCZ0NmbHFyZkNJZ0dCR0p2YkdRQ2UzMkVuNWFxM3dpSkJnUTNNR3RuaHArV3F0OElqUVlFWW05c1pBUnVkV3hzS0FDZmxxcmZDSVlHQ1hSbGVIUkRiMnh2Y2dGM0IyUmxabUYxYkhRb0FKK1dxdDhJaGdZUFltRmphMmR5YjNWdVpFTnZiRzl5QVhjSFpHVm1ZWFZzZENnQW41YXEzd2lHQmcxMFpYaDBRV3hwWjI1dFpXNTBBWGNFYkdWbWRDZ0FuNWFxM3dpR0JnZGpiMnh6Y0dGdUFYMEJLQUNmbHFyZkNJWUdCM0p2ZDNOd1lXNEJmUUVvQUorV3F0OEloZ1lJWTI5c2QybGtkR2dCZFFGOVBvZWZscXJmQ0lZR0F3bDBZV0pzWlVObGJHd0hBSitXcXQ4SWxRWUREblJoWW14bFVHRnlZV2R5WVhCb0J3Q2ZscXJmQ0pZR0JnWUFuNWFxM3dpWEJnUmliMnhrQW50OWhKK1dxdDhJbUFZRU9EQnJaNGFmbHFyZkNKd0dCR0p2YkdRRWJuVnNiQ2dBbjVhcTN3aVZCZ2wwWlhoMFEyOXNiM0lCZHdka1pXWmhkV3gwS0FDZmxxcmZDSlVHRDJKaFkydG5jbTkxYm1SRGIyeHZjZ0YzQjJSbFptRjFiSFFvQUorV3F0OElsUVlOZEdWNGRFRnNhV2R1YldWdWRBRjNCR3hsWm5Rb0FKK1dxdDhJbFFZSFkyOXNjM0JoYmdGOUFTZ0FuNWFxM3dpVkJnZHliM2R6Y0dGdUFYMEJLQUNmbHFyZkNKVUdDR052YkhkcFpIUm9BWFVCZlQrSG41YXEzd2lWQmdNSmRHRmliR1ZEWld4c0J3Q2ZscXJmQ0tRR0F3NTBZV0pzWlZCaGNtRm5jbUZ3YUFjQW41YXEzd2lsQmdZR0FKK1dxdDhJcGdZRVltOXNaQUo3ZllTZmxxcmZDS2NHQkRrd2EyZUduNWFxM3dpckJnUmliMnhrQkc1MWJHd29BSitXcXQ4SXBBWUpkR1Y0ZEVOdmJHOXlBWGNIWkdWbVlYVnNkQ2dBbjVhcTN3aWtCZzlpWVdOclozSnZkVzVrUTI5c2IzSUJkd2RrWldaaGRXeDBLQUNmbHFyZkNLUUdEWFJsZUhSQmJHbG5ibTFsYm5RQmR3UnNaV1owS0FDZmxxcmZDS1FHQjJOdmJITndZVzRCZlFFb0FKK1dxdDhJcEFZSGNtOTNjM0JoYmdGOUFTZ0FuNWFxM3dpa0JnaGpiMngzYVdSMGFBRjFBWDJIQVllZmxxcmZDS3NGQXdoMFlXSnNaVkp2ZHdjQW41YXEzd2l6QmdNSmRHRmliR1ZEWld4c0J3Q2ZscXJmQ0xRR0F3NTBZV0pzWlZCaGNtRm5jbUZ3YUFjQW41YXEzd2kxQmdZR0FKK1dxdDhJdGdZRVltOXNaQUo3ZllTZmxxcmZDTGNHQjBSdmMyVWdiV2VHbjVhcTN3aStCZ1JpYjJ4a0JHNTFiR3dvQUorV3F0OEl0QVlKZEdWNGRFTnZiRzl5QVhjSFpHVm1ZWFZzZENnQW41YXEzd2kwQmc5aVlXTnJaM0p2ZFc1a1EyOXNiM0lCZHhKeVoySW9NalF5TENBeU5ESXNJREkwTWlrb0FKK1dxdDhJdEFZTmRHVjRkRUZzYVdkdWJXVnVkQUYzQkd4bFpuUW9BSitXcXQ4SXRBWUhZMjlzYzNCaGJnRjlBU2dBbjVhcTN3aTBCZ2R5YjNkemNHRnVBWDBCaDUrV3F0OEl0QVlEQ1hSaFlteGxRMlZzYkFjQW41YXEzd2pGQmdNT2RHRmliR1ZRWVhKaFozSmhjR2dIQUorV3F0OEl4Z1lHQkFDZmxxcmZDTWNHQXpNeU1DZ0FuNWFxM3dqRkJnbDBaWGgwUTI5c2IzSUJkd2RrWldaaGRXeDBLQUNmbHFyZkNNVUdEMkpoWTJ0bmNtOTFibVJEYjJ4dmNnRjNFbkpuWWlneU5ESXNJREkwTWl3Z01qUXlLU2dBbjVhcTN3akZCZzEwWlhoMFFXeHBaMjV0Wlc1MEFYY0ViR1ZtZENnQW41YXEzd2pGQmdkamIyeHpjR0Z1QVgwQktBQ2ZscXJmQ01VR0IzSnZkM053WVc0QmZRRW9BSitXcXQ4SXhRWUlZMjlzZDJsa2RHZ0JkUUY5aFFHSG41YXEzd2pGQmdNSmRHRmliR1ZEWld4c0J3Q2ZscXJmQ05FR0F3NTBZV0pzWlZCaGNtRm5jbUZ3YUFjQW41YXEzd2pTQmdZRUFKK1dxdDhJMHdZRE5EZ3dLQUNmbHFyZkNORUdDWFJsZUhSRGIyeHZjZ0YzQjJSbFptRjFiSFFvQUorV3F0OEkwUVlQWW1GamEyZHliM1Z1WkVOdmJHOXlBWGNTY21kaUtESTBNaXdnTWpReUxDQXlORElwS0FDZmxxcmZDTkVHRFhSbGVIUkJiR2xuYm0xbGJuUUJkd1JzWldaMEtBQ2ZscXJmQ05FR0IyTnZiSE53WVc0QmZRRW9BSitXcXQ4STBRWUhjbTkzYzNCaGJnRjlBU2dBbjVhcTN3alJCZ2hqYjJ4M2FXUjBhQUYxQVgwL2g1K1dxdDhJMFFZRENYUmhZbXhsUTJWc2JBY0FuNWFxM3dqZEJnTU9kR0ZpYkdWUVlYSmhaM0poY0dnSEFKK1dxdDhJM2dZR0JBQ2ZscXJmQ044R0F6WTBNQ2dBbjVhcTN3amRCZ2wwWlhoMFEyOXNiM0lCZHdka1pXWmhkV3gwS0FDZmxxcmZDTjBHRDJKaFkydG5jbTkxYm1SRGIyeHZjZ0YzRW5KbllpZ3lORElzSURJME1pd2dNalF5S1NnQW41YXEzd2pkQmcxMFpYaDBRV3hwWjI1dFpXNTBBWGNFYkdWbWRDZ0FuNWFxM3dqZEJnZGpiMnh6Y0dGdUFYMEJLQUNmbHFyZkNOMEdCM0p2ZDNOd1lXNEJmUUVvQUorV3F0OEkzUVlJWTI5c2QybGtkR2dCZFFGOVA0ZWZscXJmQ04wR0F3bDBZV0pzWlVObGJHd0hBSitXcXQ4STZRWUREblJoWW14bFVHRnlZV2R5WVhCb0J3Q2ZscXJmQ09vR0JnUUFuNWFxM3dqckJnTTRNREFvQUorV3F0OEk2UVlKZEdWNGRFTnZiRzl5QVhjSFpHVm1ZWFZzZENnQW41YXEzd2pwQmc5aVlXTnJaM0p2ZFc1a1EyOXNiM0lCZHhKeVoySW9NalF5TENBeU5ESXNJREkwTWlrb0FKK1dxdDhJNlFZTmRHVjRkRUZzYVdkdWJXVnVkQUYzQkd4bFpuUW9BSitXcXQ4STZRWUhZMjlzYzNCaGJnRjlBU2dBbjVhcTN3anBCZ2R5YjNkemNHRnVBWDBCS0FDZmxxcmZDT2tHQ0dOdmJIZHBaSFJvQVhVQmZUK0huNWFxM3dqcEJnTUpkR0ZpYkdWRFpXeHNCd0NmbHFyZkNQVUdBdzUwWVdKc1pWQmhjbUZuY21Gd2FBY0FuNWFxM3dqMkJnWUVBSitXcXQ4STl3WURPVFl3S0FDZmxxcmZDUFVHQ1hSbGVIUkRiMnh2Y2dGM0IyUmxabUYxYkhRb0FKK1dxdDhJOVFZUFltRmphMmR5YjNWdVpFTnZiRzl5QVhjU2NtZGlLREkwTWl3Z01qUXlMQ0F5TkRJcEtBQ2ZscXJmQ1BVR0RYUmxlSFJCYkdsbmJtMWxiblFCZHdSc1pXWjBLQUNmbHFyZkNQVUdCMk52YkhOd1lXNEJmUUVvQUorV3F0OEk5UVlIY205M2MzQmhiZ0Y5QVNnQW41YXEzd2oxQmdoamIyeDNhV1IwYUFGMUFYMC9oNStXcXQ4STlRWURDWFJoWW14bFEyVnNiQWNBbjVhcTN3aUJCd01PZEdGaWJHVlFZWEpoWjNKaGNHZ0hBSitXcXQ4SWdnY0dCQUNmbHFyZkNJTUhCREV4TWpBb0FKK1dxdDhJZ1FjSmRHVjRkRU52Ykc5eUFYY0haR1ZtWVhWc2RDZ0FuNWFxM3dpQkJ3OWlZV05yWjNKdmRXNWtRMjlzYjNJQmR4SnlaMklvTWpReUxDQXlORElzSURJME1pa29BSitXcXQ4SWdRY05kR1Y0ZEVGc2FXZHViV1Z1ZEFGM0JHeGxablFvQUorV3F0OElnUWNIWTI5c2MzQmhiZ0Y5QVNnQW41YXEzd2lCQndkeWIzZHpjR0Z1QVgwQktBQ2ZscXJmQ0lFSENHTnZiSGRwWkhSb0FYVUJmVDZIbjVhcTN3aUJCd01KZEdGaWJHVkRaV3hzQndDZmxxcmZDSTRIQXc1MFlXSnNaVkJoY21GbmNtRndhQWNBbjVhcTN3aVBCd1lFQUorV3F0OElrQWNFTVRJNE1DZ0FuNWFxM3dpT0J3bDBaWGgwUTI5c2IzSUJkd2RrWldaaGRXeDBLQUNmbHFyZkNJNEhEMkpoWTJ0bmNtOTFibVJEYjJ4dmNnRjNFbkpuWWlneU5ESXNJREkwTWl3Z01qUXlLU2dBbjVhcTN3aU9CdzEwWlhoMFFXeHBaMjV0Wlc1MEFYY0ViR1ZtZENnQW41YXEzd2lPQndkamIyeHpjR0Z1QVgwQktBQ2ZscXJmQ0k0SEIzSnZkM053WVc0QmZRRW9BSitXcXQ4SWpnY0lZMjlzZDJsa2RHZ0JkUUY5UDRlZmxxcmZDSTRIQXdsMFlXSnNaVU5sYkd3SEFKK1dxdDhJbXdjRERuUmhZbXhsVUdGeVlXZHlZWEJvQndDZmxxcmZDSndIQmdRQW41YXEzd2lkQndReE5EUXdLQUNmbHFyZkNKc0hDWFJsZUhSRGIyeHZjZ0YzQjJSbFptRjFiSFFvQUorV3F0OEltd2NQWW1GamEyZHliM1Z1WkVOdmJHOXlBWGNTY21kaUtESTBNaXdnTWpReUxDQXlORElwS0FDZmxxcmZDSnNIRFhSbGVIUkJiR2xuYm0xbGJuUUJkd1JzWldaMEtBQ2ZscXJmQ0pzSEIyTnZiSE53WVc0QmZRRW9BSitXcXQ4SW13Y0hjbTkzYzNCaGJnRjlBU2dBbjVhcTN3aWJCd2hqYjJ4M2FXUjBhQUYxQVgySEFZZWZscXJmQ0xNR0F3aDBZV0pzWlZKdmR3Y0FuNWFxM3dpb0J3TUpkR0ZpYkdWRFpXeHNCd0NmbHFyZkNLa0hBdzUwWVdKc1pWQmhjbUZuY21Gd2FBY0FuNWFxM3dpcUJ3WUdBSitXcXQ4SXF3Y0VZbTlzWkFKN2ZZU2ZscXJmQ0t3SENWWnZiSFZ0WlNCdGJJYWZscXJmQ0xVSEJHSnZiR1FFYm5Wc2JDZ0FuNWFxM3dpcEJ3bDBaWGgwUTI5c2IzSUJkd2RrWldaaGRXeDBLQUNmbHFyZkNLa0hEMkpoWTJ0bmNtOTFibVJEYjJ4dmNnRjNCMlJsWm1GMWJIUW9BSitXcXQ4SXFRY05kR1Y0ZEVGc2FXZHViV1Z1ZEFGM0JHeGxablFvQUorV3F0OElxUWNIWTI5c2MzQmhiZ0Y5QVNnQW41YXEzd2lwQndkeWIzZHpjR0Z1QVgwQmg1K1dxdDhJcVFjRENYUmhZbXhsUTJWc2JBY0FuNWFxM3dpOEJ3TU9kR0ZpYkdWUVlYSmhaM0poY0dnSEFKK1dxdDhJdlFjR0JBQ2ZscXJmQ0w0SEF6TXNNaWdBbjVhcTN3aThCd2wwWlhoMFEyOXNiM0lCZHdka1pXWmhkV3gwS0FDZmxxcmZDTHdIRDJKaFkydG5jbTkxYm1SRGIyeHZjZ0YzQjJSbFptRjFiSFFvQUorV3F0OEl2QWNOZEdWNGRFRnNhV2R1YldWdWRBRjNCR3hsWm5Rb0FKK1dxdDhJdkFjSFkyOXNjM0JoYmdGOUFTZ0FuNWFxM3dpOEJ3ZHliM2R6Y0dGdUFYMEJLQUNmbHFyZkNMd0hDR052YkhkcFpIUm9BWFVCZllVQmg1K1dxdDhJdkFjRENYUmhZbXhsUTJWc2JBY0FuNWFxM3dqSUJ3TU9kR0ZpYkdWUVlYSmhaM0poY0dnSEFKK1dxdDhJeVFjR0JBQ2ZscXJmQ01vSEF6UXNPQ2dBbjVhcTN3aklCd2wwWlhoMFEyOXNiM0lCZHdka1pXWmhkV3gwS0FDZmxxcmZDTWdIRDJKaFkydG5jbTkxYm1SRGIyeHZjZ0YzQjJSbFptRjFiSFFvQUorV3F0OEl5QWNOZEdWNGRFRnNhV2R1YldWdWRBRjNCR3hsWm5Rb0FKK1dxdDhJeUFjSFkyOXNjM0JoYmdGOUFTZ0FuNWFxM3dqSUJ3ZHliM2R6Y0dGdUFYMEJLQUNmbHFyZkNNZ0hDR052YkhkcFpIUm9BWFVCZlQrSG41YXEzd2pJQndNSmRHRmliR1ZEWld4c0J3Q2ZscXJmQ05RSEF3NTBZV0pzWlZCaGNtRm5jbUZ3YUFjQW41YXEzd2pWQndZRUFKK1dxdDhJMWdjRE5pdzBLQUNmbHFyZkNOUUhDWFJsZUhSRGIyeHZjZ0YzQjJSbFptRjFiSFFvQUorV3F0OEkxQWNQWW1GamEyZHliM1Z1WkVOdmJHOXlBWGNIWkdWbVlYVnNkQ2dBbjVhcTN3alVCdzEwWlhoMFFXeHBaMjV0Wlc1MEFYY0ViR1ZtZENnQW41YXEzd2pVQndkamIyeHpjR0Z1QVgwQktBQ2ZscXJmQ05RSEIzSnZkM053WVc0QmZRRW9BSitXcXQ4STFBY0lZMjlzZDJsa2RHZ0JkUUY5UDRlZmxxcmZDTlFIQXdsMFlXSnNaVU5sYkd3SEFKK1dxdDhJNEFjRERuUmhZbXhsVUdGeVlXZHlZWEJvQndDZmxxcmZDT0VIQmdRQW41YXEzd2ppQndFNEtBQ2ZscXJmQ09BSENYUmxlSFJEYjJ4dmNnRjNCMlJsWm1GMWJIUW9BSitXcXQ4STRBY1BZbUZqYTJkeWIzVnVaRU52Ykc5eUFYY0haR1ZtWVhWc2RDZ0FuNWFxM3dqZ0J3MTBaWGgwUVd4cFoyNXRaVzUwQVhjRWJHVm1kQ2dBbjVhcTN3amdCd2RqYjJ4emNHRnVBWDBCS0FDZmxxcmZDT0FIQjNKdmQzTndZVzRCZlFFb0FKK1dxdDhJNEFjSVkyOXNkMmxrZEdnQmRRRjlQNGVmbHFyZkNPQUhBd2wwWVdKc1pVTmxiR3dIQUorV3F0OEk2Z2NERG5SaFlteGxVR0Z5WVdkeVlYQm9Cd0NmbHFyZkNPc0hCZ1FBbjVhcTN3anNCd001TERZb0FKK1dxdDhJNmdjSmRHVjRkRU52Ykc5eUFYY0haR1ZtWVhWc2RDZ0FuNWFxM3dqcUJ3OWlZV05yWjNKdmRXNWtRMjlzYjNJQmR3ZGtaV1poZFd4MEtBQ2ZscXJmQ09vSERYUmxlSFJCYkdsbmJtMWxiblFCZHdSc1pXWjBLQUNmbHFyZkNPb0hCMk52YkhOd1lXNEJmUUVvQUorV3F0OEk2Z2NIY205M2MzQmhiZ0Y5QVNnQW41YXEzd2pxQndoamIyeDNhV1IwYUFGMUFYMC9oNStXcXQ4STZnY0RDWFJoWW14bFEyVnNiQWNBbjVhcTN3ajJCd01PZEdGaWJHVlFZWEpoWjNKaGNHZ0hBSitXcXQ4STl3Y0dCQUNmbHFyZkNQZ0hCREV4TERJb0FKK1dxdDhJOWdjSmRHVjRkRU52Ykc5eUFYY0haR1ZtWVhWc2RDZ0FuNWFxM3dqMkJ3OWlZV05yWjNKdmRXNWtRMjlzYjNJQmR3ZGtaV1poZFd4MEtBQ2ZscXJmQ1BZSERYUmxlSFJCYkdsbmJtMWxiblFCZHdSc1pXWjBLQUNmbHFyZkNQWUhCMk52YkhOd1lXNEJmUUVvQUorV3F0OEk5Z2NIY205M2MzQmhiZ0Y5QVNnQW41YXEzd2oyQndoamIyeDNhV1IwYUFGMUFYMCtoNStXcXQ4STlnY0RDWFJoWW14bFEyVnNiQWNBbjVhcTN3aURDQU1PZEdGaWJHVlFZWEpoWjNKaGNHZ0hBSitXcXQ4SWhBZ0dCQUNmbHFyZkNJVUlCREV5TERnb0FKK1dxdDhJZ3dnSmRHVjRkRU52Ykc5eUFYY0haR1ZtWVhWc2RDZ0FuNWFxM3dpRENBOWlZV05yWjNKdmRXNWtRMjlzYjNJQmR3ZGtaV1poZFd4MEtBQ2ZscXJmQ0lNSURYUmxlSFJCYkdsbmJtMWxiblFCZHdSc1pXWjBLQUNmbHFyZkNJTUlCMk52YkhOd1lXNEJmUUVvQUorV3F0OElnd2dIY205M2MzQmhiZ0Y5QVNnQW41YXEzd2lEQ0FoamIyeDNhV1IwYUFGMUFYMC9oNStXcXQ4SWd3Z0RDWFJoWW14bFEyVnNiQWNBbjVhcTN3aVFDQU1PZEdGaWJHVlFZWEpoWjNKaGNHZ0hBSitXcXQ4SWtRZ0dCQUNmbHFyZkNKSUlCREUwTERRb0FKK1dxdDhJa0FnSmRHVjRkRU52Ykc5eUFYY0haR1ZtWVhWc2RDZ0FuNWFxM3dpUUNBOWlZV05yWjNKdmRXNWtRMjlzYjNJQmR3ZGtaV1poZFd4MEtBQ2ZscXJmQ0pBSURYUmxlSFJCYkdsbmJtMWxiblFCZHdSc1pXWjBLQUNmbHFyZkNKQUlCMk52YkhOd1lXNEJmUUVvQUorV3F0OElrQWdIY205M2MzQmhiZ0Y5QVNnQW41YXEzd2lRQ0FoamIyeDNhV1IwYUFGMUFYMkhBU2dBbjVhcTN3amhBd2wwWlhoMFEyOXNiM0lCZHdka1pXWmhkV3gwS0FDZmxxcmZDT0FEQW1sa0FYY2taakprTUdKalkyVXROMkppT1MwME9EYzFMVGd4WWpBdFpHSXlZams1TkRZNU1EVTBnWitXcXQ4STRBTUJBQVdIbjVhcTN3aWZDQU1PWW14dlkydERiMjUwWVdsdVpYSUhBSitXcXQ4SXBRZ0RDWEJoY21GbmNtRndhQWNBbjVhcTN3aW1DQU1ZYVc1MFpYSnNhVzVyYVc1blUyVmhjbU5vU1c1c2FXNWxLQUNmbHFyZkNLY0lCM1J5YVdkblpYSUJkd0V2S0FDZmxxcmZDS2NJQ0dScGMyRmliR1ZrQVhpSG41YXEzd2luQ0FNV2FXNTBaWEpzYVc1cmFXNW5UR2x1YTBsdWJHbHVaU2dBbjVhcTN3aXFDQVZrYjJOSlpBRjNKREF5TW1Rd05EaGpMVFprTURjdE5HVTFPQzFpTTJaakxUbGpORE5oTWpnM01USmxPU2dBbjVhcTN3aXFDQVYwYVhSc1pRRjNEMVJsYzNRZ1VtVm5jbVZ6YzJsdmJpZ0FuNWFxM3dpbUNBOWlZV05yWjNKdmRXNWtRMjlzYjNJQmR3ZGtaV1poZFd4MEtBQ2ZscXJmQ0tZSUNYUmxlSFJEYjJ4dmNnRjNCMlJsWm1GMWJIUW9BSitXcXQ4SXBnZ05kR1Y0ZEVGc2FXZHViV1Z1ZEFGM0JHeGxablNCbjVhcTN3aW1DQUVBRUNFQW41YXEzd2lsQ0FKcFpBR0huNWFxM3dpbENBTU9ZbXh2WTJ0RGIyNTBZV2x1WlhJSEFKK1dxdDhJd2dnREIyaGxZV1JwYm1jSEFKK1dxdDhJd3dnR0JnQ2ZscXJmQ01RSUJHSnZiR1FDZTMyRW41YXEzd2pGQ0JKSVpXeHNieUJVYVhSc1pTQlViMmRuYkdXR241YXEzd2pYQ0FSaWIyeGtCRzUxYkd3b0FKK1dxdDhJd3dnUFltRmphMmR5YjNWdVpFTnZiRzl5QVhjSFpHVm1ZWFZzZENnQW41YXEzd2pEQ0FsMFpYaDBRMjlzYjNJQmR3ZGtaV1poZFd4MEtBQ2ZscXJmQ01NSURYUmxlSFJCYkdsbmJtMWxiblFCZHdSc1pXWjBLQUNmbHFyZkNNTUlCV3hsZG1Wc0FYMEJLQUNmbHFyZkNNTUlER2x6Vkc5bloyeGxZV0pzWlFGNEtBQ2ZscXJmQ01JSUFtbGtBWGNrWm1Vek1tUmpZamd0TXpJMVl5MDBNbVV4TFdJME5tWXRPRFExWldVMU1USmlOVFJsaDUrV3F0OEl3Z2dERG1Kc2IyTnJRMjl1ZEdGcGJtVnlCd0NmbHFyZkNOOElBd2x3WVhKaFozSmhjR2dvQUorV3F0OEk0QWdQWW1GamEyZHliM1Z1WkVOdmJHOXlBWGNIWkdWbVlYVnNkQ2dBbjVhcTN3amdDQWwwWlhoMFEyOXNiM0lCZHdka1pXWmhkV3gwS0FDZmxxcmZDT0FJRFhSbGVIUkJiR2xuYm0xbGJuUUJkd1JzWldaMEtBQ2ZscXJmQ044SUFtbGtBWGNrWWpaaFpUbG1ZVFV0T0RGaVlTMDBNelpqTFRsbU1qQXRPRFU1T0RCalpEVTFNV0kxaDUrV3F0OEkzd2dERG1Kc2IyTnJRMjl1ZEdGcGJtVnlCd0NmbHFyZkNPVUlBd2RvWldGa2FXNW5Cd0NmbHFyZkNPWUlCZ1lBbjVhcTN3am5DQVJpYjJ4a0FudDloSitXcXQ4STZBZ05TR1ZzYkc4Z2RHbDBiR1VnTklhZmxxcmZDUFVJQkdKdmJHUUViblZzYkNnQW41YXEzd2ptQ0E5aVlXTnJaM0p2ZFc1a1EyOXNiM0lCZHdka1pXWmhkV3gwS0FDZmxxcmZDT1lJQ1hSbGVIUkRiMnh2Y2dGM0IyUmxabUYxYkhRb0FKK1dxdDhJNWdnTmRHVjRkRUZzYVdkdWJXVnVkQUYzQkd4bFpuUW9BSitXcXQ4STVnZ0ZiR1YyWld3QmZRUW9BSitXcXQ4STVnZ01hWE5VYjJkbmJHVmhZbXhsQVhrb0FKK1dxdDhJNVFnQ2FXUUJkeVExT1RGaE5XSTFNQzFtWTJZd0xUUXlZMkl0WWpRM1lpMDVZV1EzT1dZMU16ZG1aREdIbjVhcTN3amxDQU1PWW14dlkydERiMjUwWVdsdVpYSUhBSitXcXQ4SS9RZ0RDWEJoY21GbmNtRndhQ2dBbjVhcTN3aitDQTlpWVdOclozSnZkVzVrUTI5c2IzSUJkd2RrWldaaGRXeDBLQUNmbHFyZkNQNElDWFJsZUhSRGIyeHZjZ0YzQjJSbFptRjFiSFFvQUorV3F0OEkvZ2dOZEdWNGRFRnNhV2R1YldWdWRBRjNCR3hsWm5Rb0FKK1dxdDhJL1FnQ2FXUUJkeVEwWmpRNU1XTXhOeTA1T0dRNUxUUTNaRGt0T0dabU1TMDRPREEzWVdaa016Qm1OMldIbjVhcTN3ajlDQU1PWW14dlkydERiMjUwWVdsdVpYSUhBSitXcXQ4SWd3a0RCMmhsWVdScGJtY0hBSitXcXQ4SWhBa0dCZ0NmbHFyZkNJVUpCR0p2YkdRQ2UzMkVuNWFxM3dpR0NRMUlaV3hzYnlCMGFYUnNaU0ExaHArV3F0OElrd2tFWW05c1pBUnVkV3hzS0FDZmxxcmZDSVFKRDJKaFkydG5jbTkxYm1SRGIyeHZjZ0YzQjJSbFptRjFiSFFvQUorV3F0OEloQWtKZEdWNGRFTnZiRzl5QVhjSFpHVm1ZWFZzZENnQW41YXEzd2lFQ1ExMFpYaDBRV3hwWjI1dFpXNTBBWGNFYkdWbWRDZ0FuNWFxM3dpRUNRVnNaWFpsYkFGOUJTZ0FuNWFxM3dpRUNReHBjMVJ2WjJkc1pXRmliR1VCZVNnQW41YXEzd2lEQ1FKcFpBRjNKRFU1TkRrME5UTTFMVGcwTVRVdE5ESmxOQzA1Tm1GakxUWTBNV0l4WW1OaE5UWmhZWWVmbHFyZkNJTUpBdzVpYkc5amEwTnZiblJoYVc1bGNnY0FuNWFxM3dpYkNRTUpjR0Z5WVdkeVlYQm9LQUNmbHFyZkNKd0pEMkpoWTJ0bmNtOTFibVJEYjJ4dmNnRjNCMlJsWm1GMWJIUW9BSitXcXQ4SW5Ba0pkR1Y0ZEVOdmJHOXlBWGNIWkdWbVlYVnNkQ2dBbjVhcTN3aWNDUTEwWlhoMFFXeHBaMjV0Wlc1MEFYY0ViR1ZtZENnQW41YXEzd2liQ1FKcFpBRjNKREEyWVRrM01USmxMV0kyTUdZdE5EYzJNeTFpTm1aaUxUTmpOamRoWTJFd1pqVTJPSWVmbHFyZkNKc0pBdzVpYkc5amEwTnZiblJoYVc1bGNnY0FuNWFxM3dpaENRTUhhR1ZoWkdsdVp3Y0FuNWFxM3dpaUNRWUdBSitXcXQ4SW93a0VZbTlzWkFKN2ZZU2ZscXJmQ0tRSkRVaGxiR3h2SUhScGRHeGxJRGFHbjVhcTN3aXhDUVJpYjJ4a0JHNTFiR3dvQUorV3F0OElvZ2tQWW1GamEyZHliM1Z1WkVOdmJHOXlBWGNIWkdWbVlYVnNkQ2dBbjVhcTN3aWlDUWwwWlhoMFEyOXNiM0lCZHdka1pXWmhkV3gwS0FDZmxxcmZDS0lKRFhSbGVIUkJiR2xuYm0xbGJuUUJkd1JzWldaMEtBQ2ZscXJmQ0tJSkJXeGxkbVZzQVgwR0tBQ2ZscXJmQ0tJSkRHbHpWRzluWjJ4bFlXSnNaUUY1S0FDZmxxcmZDS0VKQW1sa0FYY2tZVEUwTXpJME5qRXROREZsTUMwME4yRXdMV0l4TTJVdE5XWmpOek15TkdKallUSXloNStXcXQ4SW9Ra0REbUpzYjJOclEyOXVkR0ZwYm1WeUJ3Q2ZscXJmQ0xrSkF3bHdZWEpoWjNKaGNHZ29BSitXcXQ4SXVna1BZbUZqYTJkeWIzVnVaRU52Ykc5eUFYY0haR1ZtWVhWc2RDZ0FuNWFxM3dpNkNRbDBaWGgwUTI5c2IzSUJkd2RrWldaaGRXeDBLQUNmbHFyZkNMb0pEWFJsZUhSQmJHbG5ibTFsYm5RQmR3UnNaV1owS0FDZmxxcmZDTGtKQW1sa0FYY2tNemxpTURjM01UY3RZamxrWWkwME5Ea3pMVGhsWmpBdFlXTXhPREV4T0RNM056TmpoNStXcXQ4SXVRa0REbUpzYjJOclEyOXVkR0ZwYm1WeUJ3Q2ZscXJmQ0w4SkF3bHdZWEpoWjNKaGNHZ0hBSitXcXQ4SXdBa0dCQUNmbHFyZkNNRUpEZkNmcDVuaWdJM2ltWUx2dUkrR241YXEzd2pHQ1FsMFpYaDBRMjlzYjNJaGV5SnpkSEpwYm1kV1lXeDFaU0k2SW5KbllpZzJPU3dnTmprc0lEZzRLU0o5aHArV3F0OEl4d2tQWW1GamEyZHliM1Z1WkVOdmJHOXlKSHNpYzNSeWFXNW5WbUZzZFdVaU9pSnlaMklvTWpVMUxDQXlOVFVzSURJMU5Ta2lmWVNmbHFyZkNNZ0pQUENmbUlQd240Nko4SithZ1BDZm1ZdmlnSTNpbVlEdnVJL3duNmVSOEorUHYrS0FqZUtkcE8rNGorS0FqZkNma292aWdJM3duNmVSOEorUHZvYWZscXJmQ09JSkNYUmxlSFJEYjJ4dmNnUnVkV3hzaHArV3F0OEk0d2tQWW1GamEyZHliM1Z1WkVOdmJHOXlCRzUxYkd5RW41YXEzd2prQ1F3Z1RXRm5hV01nWlcxdmFta29BSitXcXQ4SXdBa1BZbUZqYTJkeWIzVnVaRU52Ykc5eUFYY0haR1ZtWVhWc2RDZ0FuNWFxM3dqQUNRbDBaWGgwUTI5c2IzSUJkd2RrWldaaGRXeDBLQUNmbHFyZkNNQUpEWFJsZUhSQmJHbG5ibTFsYm5RQmR3UnNaV1owS0FDZmxxcmZDTDhKQW1sa0FYY2taVFZpWlRkbE1HSXRNR0V3WWkwME16TTBMV0V4T0RZdE5EQXlaVEExTUdJM05tRmhoNStXcXQ4SXZ3a0REbUpzYjJOclEyOXVkR0ZwYm1WeUJ3Q2ZscXJmQ1BVSkF3ZG9aV0ZrYVc1bkJ3Q2ZscXJmQ1BZSkJnWUFuNWFxM3dqM0NRUmliMnhrQW50OWhKK1dxdDhJK0FrWFkyOXdlUzl3WVhOMGFXNW5JRzkxZENCdlppQmtiMk9HbjVhcTN3aVBDZ1JpYjJ4a0JHNTFiR3dvQUorV3F0OEk5Z2tQWW1GamEyZHliM1Z1WkVOdmJHOXlBWGNQY21kaUtERXpMQ0F4Tnl3Z01qTXBLQUNmbHFyZkNQWUpDWFJsZUhSRGIyeHZjZ0YzRW5KbllpZ3lOREFzSURJME5pd2dNalV5S1NnQW41YXEzd2oyQ1ExMFpYaDBRV3hwWjI1dFpXNTBBWGNFYkdWbWRDZ0FuNWFxM3dqMkNRVnNaWFpsYkFGOUFTZ0FuNWFxM3dqMkNReHBjMVJ2WjJkc1pXRmliR1VCZVNnQW41YXEzd2oxQ1FKcFpBRjNKR05oWldSaE1EVmpMVFF4WldZdE5ESTVZUzA0WXpsaUxUUTNPVFEzTW1FMlpXUmhOWWVmbHFyZkNQVUpBdzVpYkc5amEwTnZiblJoYVc1bGNnY0FuNWFxM3dpWENnTUpjR0Z5WVdkeVlYQm9LQUNmbHFyZkNKZ0tEMkpoWTJ0bmNtOTFibVJEYjJ4dmNnRjNCMlJsWm1GMWJIUW9BSitXcXQ4SW1Bb0pkR1Y0ZEVOdmJHOXlBWGNIWkdWbVlYVnNkQ2dBbjVhcTN3aVlDZzEwWlhoMFFXeHBaMjV0Wlc1MEFYY0ViR1ZtZENnQW41YXEzd2lYQ2dKcFpBRjNKREEwTXpBeVlqVmxMV015WVRNdE5ESTRNUzA1TmpVMkxUTmpOMlUxTkRJMVlXVmhaSUdmbHFyZkNKY0tBUUFKZ1orV3F0OEluUW9CQUFtQm41YXEzd2luQ2dFQUJRTFc2Yk5vQUllZmxxcmZDS29JQmdRQTF1bXphQUFCSUFMSm9vYm5DUU1BQWdnRkZRYWZscXJmQ0FTZkNBYW5DQU93Q0JLZENobz0ixp+Wqt8I4gnGhI+yDwAJdGV4dENvbG9yBG51bGzGxoSPsg+mxAHGhI+yDwAPYmFja2dyb3VuZENvbG9yBG51bGzGxoSPsg+lxAGflqrfCOMJCXRleHRDb2xvcgRudWxsxp+Wqt8I4wmflqrfCOQJD2JhY2tncm91bmRDb2xvcgRudWxsxJ+Wqt8IxgmflqrfCMcJBuKeoe+4j8aflqrfCMYJxoSPsg+qxAEJdGV4dENvbG9yJHsic3RyaW5nVmFsdWUiOiJyZ2IoMjQwLCAyNDYsIDI1MikifcbGhI+yD6zEAcaEj7IPqsQBD2JhY2tncm91bmRDb2xvciF7InN0cmluZ1ZhbHVlIjoicmdiKDEzLCAxNywgMjMpIn3GxoSPsg+rxAGflqrfCMcJCXRleHRDb2xvcgRudWxsxsaEj7IPrsQBn5aq3wjHCQ9iYWNrZ3JvdW5kQ29sb3IEbnVsbA7JoobnCQAAAgcAn5aq3wjPAwYEAMmihucJAgVIZWxsb4HJoobnCQcFhMmihucJDAggQ2FsbG91dMGflqrfCKUIn5aq3wjCCAEABaiflqrfCMEIAXckMGU1ZjA3MDUtMmNiYy00OWQwLWFhNTktMDQxOGExYTQ3OTExx5+Wqt8I4AOflqrfCJ8IAw5ibG9ja0NvbnRhaW5lcgcAyaKG5wkcAwlwYXJhZ3JhcGgoAMmihucJHQ9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KADJoobnCR0JdGV4dENvbG9yAXcHZGVmYXVsdCgAyaKG5wkdDXRleHRBbGlnbm1lbnQBdwRsZWZ0KADJoobnCRwCaWQBdyRmYjdlMzE0Zi0wN2IxLTQxYWYtODkyMi1jZjUzN2I0ZGIzY2HXBZ+Wqt8IAAcBDmRvY3VtZW50LXN0b3JlAwpibG9ja0dyb3VwBwCflqrfCAADDmJsb2NrQ29udGFpbmVyBwCflqrfCAEDCXBhcmFncmFwaAcAn5aq3wgCBgQAn5aq3wgDCkhlbGxvIFRleHQoAJ+Wqt8IAg9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KACflqrfCAIJdGV4dENvbG9yAXcHZGVmYXVsdCgAn5aq3wgCDXRleHRBbGlnbm1lbnQBdwRsZWZ0KACflqrfCAECaWQBdw5pbml0aWFsQmxvY2tJZIeflqrfCAEDDmJsb2NrQ29udGFpbmVyBwCflqrfCBIDB2hlYWRpbmcHAJ+Wqt8IEwYGAJ+Wqt8IFARib2xkAnt9hp+Wqt8IFQl0ZXh0Q29sb3IWeyJzdHJpbmdWYWx1ZSI6ImJsdWUifYSflqrfCBYPSGVsbG8gSGVhZGluZyAxhp+Wqt8IJQRib2xkBG51bGyGn5aq3wgmCXRleHRDb2xvcgRudWxsKACflqrfCBMPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgAn5aq3wgTCXRleHRDb2xvcgF3B2RlZmF1bHQoAJ+Wqt8IEw10ZXh0QWxpZ25tZW50AXcEbGVmdCgAn5aq3wgTBWxldmVsAX0BKACflqrfCBMMaXNUb2dnbGVhYmxlAXkoAJ+Wqt8IEgJpZAF3JGM0YzI2NDk1LWNhOWMtNGM3OC05M2RiLTM0MTFjN2I0N2Q1ZoeflqrfCBIDDmJsb2NrQ29udGFpbmVyBwCflqrfCC4DB2hlYWRpbmcHAJ+Wqt8ILwYGAJ+Wqt8IMARib2xkAnt9hJ+Wqt8IMQ9IZWxsbyBIZWFkaW5nIDKGn5aq3whABGJvbGQEbnVsbCgAn5aq3wgvD2JhY2tncm91bmRDb2xvcgF3B2RlZmF1bHQoAJ+Wqt8ILwl0ZXh0Q29sb3IBdwdkZWZhdWx0KACflqrfCC8NdGV4dEFsaWdubWVudAF3BGxlZnQoAJ+Wqt8ILwVsZXZlbAF9AigAn5aq3wgvDGlzVG9nZ2xlYWJsZQF5KACflqrfCC4CaWQBdyQzNzllNDg0NC1lNWY1LTRmN2ItYTViYy1lYzk3NjdiMTRhYjiHn5aq3wguAw5ibG9ja0NvbnRhaW5lcgcAn5aq3whIAwdoZWFkaW5nBwCflqrfCEkGBgCflqrfCEoEYm9sZAJ7fYaflqrfCEsPYmFja2dyb3VuZENvbG9yF3sic3RyaW5nVmFsdWUiOiJncmVlbiJ9hJ+Wqt8ITA9IZWxsbyBIZWFkaW5nIDOGn5aq3whbBGJvbGQEbnVsbIaflqrfCFwPYmFja2dyb3VuZENvbG9yBG51bGwoAJ+Wqt8ISQ9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KACflqrfCEkJdGV4dENvbG9yAXcHZGVmYXVsdCgAn5aq3whJDXRleHRBbGlnbm1lbnQBdwRsZWZ0KACflqrfCEkFbGV2ZWwBfQMoAJ+Wqt8ISQxpc1RvZ2dsZWFibGUBeSgAn5aq3whIAmlkAXckZmU5ZGVhMGYtY2NmNy00MDNkLWJjMDUtYzkzMTIzOThmZGQzh5+Wqt8ISAMOYmxvY2tDb250YWluZXIHAJ+Wqt8IZAMJcGFyYWdyYXBoKACflqrfCGUPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgAn5aq3whlCXRleHRDb2xvcgF3B2RlZmF1bHQoAJ+Wqt8IZQ10ZXh0QWxpZ25tZW50AXcEbGVmdCgAn5aq3whkAmlkAXckMDAzMzQ5ZjctNjUxMy00ZTk0LTlhZDEtNDMwYWQ4MDU0MjVlh5+Wqt8IZAMOYmxvY2tDb250YWluZXIHAJ+Wqt8IagMNY2hlY2tMaXN0SXRlbQcAn5aq3whrBgQAn5aq3whsEENoZWNrbGlzdCBJdGVtIDEoAJ+Wqt8Iaw9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KACflqrfCGsJdGV4dENvbG9yAXcHZGVmYXVsdCgAn5aq3whrDXRleHRBbGlnbm1lbnQBdwRsZWZ0KACflqrfCGsHY2hlY2tlZAF5KACflqrfCGoCaWQBdyQ3OTJiZTNhNy1jMzg0LTQxM2MtYjJjMy1hOGNjYzQxZGZiNDaHn5aq3whqAw5ibG9ja0NvbnRhaW5lcgcAn5aq3wiCAQMNY2hlY2tMaXN0SXRlbQcAn5aq3wiDAQYEAJ+Wqt8IhAEQQ2hlY2tsaXN0IEl0ZW0gMigAn5aq3wiDAQ9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KACflqrfCIMBCXRleHRDb2xvcgF3B2RlZmF1bHQoAJ+Wqt8IgwENdGV4dEFsaWdubWVudAF3BGxlZnQoAJ+Wqt8IgwEHY2hlY2tlZAF4KACflqrfCIIBAmlkAXckMGMzNzk0ZGEtZDc3ZS00OGVmLWE0M2YtMDE0ZTk5MDhhOWU2h5+Wqt8IggEDDmJsb2NrQ29udGFpbmVyBwCflqrfCJoBAwlwYXJhZ3JhcGgoAJ+Wqt8ImwEPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgAn5aq3wibAQl0ZXh0Q29sb3IBdwdkZWZhdWx0KACflqrfCJsBDXRleHRBbGlnbm1lbnQBdwRsZWZ0KACflqrfCJoBAmlkAXckY2RjZWM5N2MtODc5ZC00MTc3LTg4OTAtMWY3YWZlNDg5MWU5h5+Wqt8ImgEDDmJsb2NrQ29udGFpbmVyBwCflqrfCKABAwVxdW90ZQcAn5aq3wihAQYEAJ+Wqt8IogELSGVsbG8gUXVvdGUoAJ+Wqt8IoQEPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgAn5aq3wihAQl0ZXh0Q29sb3IBdwdkZWZhdWx0KACflqrfCKABAmlkAXckN2QwYTVkYjEtNzIyMi00NTMxLWFiODMtZmNmYzdiM2Y3MTJlh5+Wqt8IoAEDDmJsb2NrQ29udGFpbmVyBwCflqrfCLEBAwlwYXJhZ3JhcGgoAJ+Wqt8IsgEPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgAn5aq3wiyAQl0ZXh0Q29sb3IBdwdkZWZhdWx0KACflqrfCLIBDXRleHRBbGlnbm1lbnQBdwRsZWZ0KACflqrfCLEBAmlkAXckYTAzZGE2YmEtZmZiNS00YjVkLThmZjItYTc1NDhmYmVhZjA1h5+Wqt8IsQEDDmJsb2NrQ29udGFpbmVyBwCflqrfCLcBAw50b2dnbGVMaXN0SXRlbQcAn5aq3wi4AQYEAJ+Wqt8IuQETSGVsbG8gVG9nZ2xlIExpc3QgMSgAn5aq3wi4AQ9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KACflqrfCLgBCXRleHRDb2xvcgF3B2RlZmF1bHQoAJ+Wqt8IuAENdGV4dEFsaWdubWVudAF3BGxlZnQoAJ+Wqt8ItwECaWQBdyRmNzNhZmI0OS1jOGE3LTRmYWYtOGE4Zi01YWYzODEyZDAwZTOHn5aq3wi3AQMOYmxvY2tDb250YWluZXIHAJ+Wqt8I0QEDCXBhcmFncmFwaCgAn5aq3wjSAQ9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KACflqrfCNIBCXRleHRDb2xvcgF3B2RlZmF1bHQoAJ+Wqt8I0gENdGV4dEFsaWdubWVudAF3BGxlZnQoAJ+Wqt8I0QECaWQBdyRlNTg0NDI2OC0zMTE2LTQyMjEtOTc3MC1hZTIzYjRhOTk5OWSHn5aq3wjRAQMOYmxvY2tDb250YWluZXIHAJ+Wqt8I1wEDEG51bWJlcmVkTGlzdEl0ZW0HAJ+Wqt8I2AEGBACflqrfCNkBFE51bWJlcmVkIExpc3QgSXRlbSAxKACflqrfCNgBD2JhY2tncm91bmRDb2xvcgF3B2RlZmF1bHQoAJ+Wqt8I2AEJdGV4dENvbG9yAXcHZGVmYXVsdCgAn5aq3wjYAQ10ZXh0QWxpZ25tZW50AXcEbGVmdCgAn5aq3wjYAQVzdGFydAF/KACflqrfCNcBAmlkAXckOTc1Yjg2ZmMtNzk4Yi00ZmM1LTljMjctZjBmNzZlOTM3Yzc3h5+Wqt8I1wEDDmJsb2NrQ29udGFpbmVyBwCflqrfCPMBAxBudW1iZXJlZExpc3RJdGVtBwCflqrfCPQBBgQAn5aq3wj1ARROdW1iZXJlZCBMaXN0IEl0ZW0gMigAn5aq3wj0AQ9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KACflqrfCPQBCXRleHRDb2xvcgF3B2RlZmF1bHQoAJ+Wqt8I9AENdGV4dEFsaWdubWVudAF3BGxlZnQoAJ+Wqt8I9AEFc3RhcnQBfygAn5aq3wjzAQJpZAF3JDFkODVmMzVmLTdlNzYtNDhkNS05MDRmLTlmZDhlMWViNWQwZIeflqrfCPMBAw5ibG9ja0NvbnRhaW5lcgcAn5aq3wiPAgMJcGFyYWdyYXBoKACflqrfCJACD2JhY2tncm91bmRDb2xvcgF3B2RlZmF1bHQoAJ+Wqt8IkAIJdGV4dENvbG9yAXcHZGVmYXVsdCgAn5aq3wiQAg10ZXh0QWxpZ25tZW50AXcEbGVmdCgAn5aq3wiPAgJpZAF3JDJmMzYxZDBhLTRlOTQtNDY5YS05ZWVmLWM4NWEyOTQ2ZTI2N4eflqrfCI8CAw5ibG9ja0NvbnRhaW5lcgcAn5aq3wiVAgMOYnVsbGV0TGlzdEl0ZW0HAJ+Wqt8IlgIGBACflqrfCJcCEkJ1bGxldCBMaXN0IEl0ZW0gMSgAn5aq3wiWAg9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KACflqrfCJYCCXRleHRDb2xvcgF3B2RlZmF1bHQoAJ+Wqt8IlgINdGV4dEFsaWdubWVudAF3BGxlZnQoAJ+Wqt8IlQICaWQBdyQwM2RhMjAyYS00NDQ0LTQ1ZjItOWM3OC05Yzg1NTAwZDZmZDOHn5aq3wiVAgMOYmxvY2tDb250YWluZXIHAJ+Wqt8IrgIDDmJ1bGxldExpc3RJdGVtBwCflqrfCK8CBgQAn5aq3wiwAhJCdWxsZXQgTGlzdCBJdGVtIDIoAJ+Wqt8IrwIPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgAn5aq3wivAgl0ZXh0Q29sb3IBdwdkZWZhdWx0KACflqrfCK8CDXRleHRBbGlnbm1lbnQBdwRsZWZ0KACflqrfCK4CAmlkAXckOTIzZTQ5N2MtZjg0OC00ZGZjLWEyZTItNmUxMGJhZTA1NjVhh5+Wqt8IrgIDDmJsb2NrQ29udGFpbmVyBwCflqrfCMcCAwlwYXJhZ3JhcGgoAJ+Wqt8IyAIPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgAn5aq3wjIAgl0ZXh0Q29sb3IBdwdkZWZhdWx0KACflqrfCMgCDXRleHRBbGlnbm1lbnQBdwRsZWZ0KACflqrfCMcCAmlkAXckNzIwY2I1ZjktZmE5YS00ZDFhLTg3NDktNzZkNDg3MmExNDYzh5+Wqt8IxwIDDmJsb2NrQ29udGFpbmVyBwCflqrfCM0CAwljb2RlQmxvY2sHAJ+Wqt8IzgIGBgCflqrfCM8CCXRleHRDb2xvciR7InN0cmluZ1ZhbHVlIjoicmdiKDI0OSwgMTE3LCAxMzEpIn2En5aq3wjQAgVjb25zdIaflqrfCNUCCXRleHRDb2xvcgRudWxshp+Wqt8I1gIJdGV4dENvbG9yJHsic3RyaW5nVmFsdWUiOiJyZ2IoMjI1LCAyMjgsIDIzMikifYSflqrfCNcCASCGn5aq3wjYAgl0ZXh0Q29sb3IEbnVsbIaflqrfCNkCCXRleHRDb2xvciR7InN0cmluZ1ZhbHVlIjoicmdiKDEyMSwgMTg0LCAyNTUpIn2En5aq3wjaAgFhhp+Wqt8I2wIJdGV4dENvbG9yBG51bGyGn5aq3wjcAgl0ZXh0Q29sb3IkeyJzdHJpbmdWYWx1ZSI6InJnYigyMjUsIDIyOCwgMjMyKSJ9hJ+Wqt8I3QIBIIaflqrfCN4CCXRleHRDb2xvcgRudWxshp+Wqt8I3wIJdGV4dENvbG9yJHsic3RyaW5nVmFsdWUiOiJyZ2IoMjQ5LCAxMTcsIDEzMSkifYSflqrfCOACAT2Gn5aq3wjhAgl0ZXh0Q29sb3IEbnVsbIaflqrfCOICCXRleHRDb2xvciR7InN0cmluZ1ZhbHVlIjoicmdiKDIyNSwgMjI4LCAyMzIpIn2En5aq3wjjAgEghp+Wqt8I5AIJdGV4dENvbG9yBG51bGyGn5aq3wjlAgl0ZXh0Q29sb3IkeyJzdHJpbmdWYWx1ZSI6InJnYigxMjEsIDE4NCwgMjU1KSJ9hJ+Wqt8I5gICMTCGn5aq3wjoAgl0ZXh0Q29sb3IEbnVsbIaflqrfCOkCCXRleHRDb2xvciR7InN0cmluZ1ZhbHVlIjoicmdiKDIyNSwgMjI4LCAyMzIpIn2En5aq3wjqAgE7hp+Wqt8I6wIJdGV4dENvbG9yBG51bGwoAJ+Wqt8IzgIIbGFuZ3VhZ2UBdwpqYXZhc2NyaXB0KACflqrfCM0CAmlkAXckY2JjYmY1MjMtMzgxZi00ZjM0LTk5ZmMtM2ZlOTMwN2ExZDgyh5+Wqt8IzQIDDmJsb2NrQ29udGFpbmVyBwCflqrfCO8CAwlwYXJhZ3JhcGgoAJ+Wqt8I8AIPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgAn5aq3wjwAgl0ZXh0Q29sb3IBdwdkZWZhdWx0KACflqrfCPACDXRleHRBbGlnbm1lbnQBdwRsZWZ0KACflqrfCO8CAmlkAXckNWNkZDZlOTAtODM2MC00NTE3LTliOTEtNzhmODYzM2FiNWUwh5+Wqt8I7wIDDmJsb2NrQ29udGFpbmVyBwCflqrfCPUCAwdkaXZpZGVyKACflqrfCPUCAmlkAXckMDkxYTY2NWYtYTJiYy00MGIxLTllZDktNjBiZDM0OWFhOTZkh5+Wqt8I9QIDDmJsb2NrQ29udGFpbmVyBwCflqrfCPgCAwlwYXJhZ3JhcGgoAJ+Wqt8I+QIPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgAn5aq3wj5Agl0ZXh0Q29sb3IBdwdkZWZhdWx0KACflqrfCPkCDXRleHRBbGlnbm1lbnQBdwRsZWZ0KACflqrfCPgCAmlkAXckZGRjMTVlY2ItZmZlMS00YmM5LTllZDMtNWFjYjkwMTk1ZDhlh5+Wqt8I+AIDDmJsb2NrQ29udGFpbmVyBwCflqrfCP4CAwlwYWdlQnJlYWsoAJ+Wqt8I/gICaWQBdyRjODFhNTRkMS00MjAxLTQwMjktYjViMy0zMDQwYTYwNzcwZTOHn5aq3wj+AgMKY29sdW1uTGlzdAcAn5aq3wiBAwMGY29sdW1uBwCflqrfCIIDAw5ibG9ja0NvbnRhaW5lcgcAn5aq3wiDAwMJcGFyYWdyYXBoBwCflqrfCIQDBgQAn5aq3wiFAw1Db2x1bW4gMSBUZXh0KACflqrfCIQDD2JhY2tncm91bmRDb2xvcgF3B2RlZmF1bHQoAJ+Wqt8IhAMJdGV4dENvbG9yAXcHZGVmYXVsdCgAn5aq3wiEAw10ZXh0QWxpZ25tZW50AXcEbGVmdCgAn5aq3wiDAwJpZAF3JDAyY2M0YTUwLThkMDUtNDMwNy1iN2M3LTM2ZWIyNzgxNTkzZCgAn5aq3wiCAwJpZAF3JDEzZWIwOGNkLTU5MjgtNGNmYi1hZDMwLTNkYmRjMDA4MzIxZSgAn5aq3wiCAwV3aWR0aAF9AYeflqrfCIIDAwZjb2x1bW4HAJ+Wqt8ImQMDDmJsb2NrQ29udGFpbmVyBwCflqrfCJoDAwlwYXJhZ3JhcGgHAJ+Wqt8ImwMGBACflqrfCJwDDUNvbHVtbiAyIFRleHQoAJ+Wqt8ImwMPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgAn5aq3wibAwl0ZXh0Q29sb3IBdwdkZWZhdWx0KACflqrfCJsDDXRleHRBbGlnbm1lbnQBdwRsZWZ0KACflqrfCJoDAmlkAXckNjUwOWRmM2UtNzJlYi00N2YxLWJjYjAtZTc4MmYzOGE5MDg5KACflqrfCJkDAmlkAXckMDBhMjZhYjAtZGMyNS00YWRmLTlkOTAtYmEzZmEwMDNlZmJiKACflqrfCJkDBXdpZHRoAX0Bh5+Wqt8ImQMDBmNvbHVtbgcAn5aq3wiwAwMOYmxvY2tDb250YWluZXIHAJ+Wqt8IsQMDCXBhcmFncmFwaAcAn5aq3wiyAwYEAJ+Wqt8IswMNQ29sdW1uIDMgVGV4dCgAn5aq3wiyAw9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KACflqrfCLIDCXRleHRDb2xvcgF3B2RlZmF1bHQoAJ+Wqt8IsgMNdGV4dEFsaWdubWVudAF3BGxlZnQoAJ+Wqt8IsQMCaWQBdyQ4NTU4OWUyYy1iNTA0LTRmNjktOTIxZS05MmY5MTc4ZmYxYjmHn5aq3wixAwMOYmxvY2tDb250YWluZXIHAJ+Wqt8IxQMDCXBhcmFncmFwaCgAn5aq3wjGAw9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KACflqrfCMYDCXRleHRDb2xvcgF3B2RlZmF1bHQoAJ+Wqt8IxgMNdGV4dEFsaWdubWVudAF3BGxlZnQoAJ+Wqt8IxQMCaWQBdyRjZTM3ZDMyYS01MGY4LTQwZWYtYjVlYy0wNDFlZGEzMzVmOTUoAJ+Wqt8IsAMCaWQBdyQ4OTU4NTVlNy1jMjBiLTQ5OTctOGM5Mi1iMjZlMjA3ODc3NjAoAJ+Wqt8IsAMFd2lkdGgBfQEoAJ+Wqt8IgQMCaWQBdyQ3OTQyM2E1Ny0xZTVhLTQ0ODMtOGJmOS00MzM4ZmM2NWU1YzGHn5aq3wiBAwMOYmxvY2tDb250YWluZXIHAJ+Wqt8IzgMDB2NhbGxvdXQoAJ+Wqt8IzwMNdGV4dEFsaWdubWVudAF3BGxlZnQoAJ+Wqt8IzwMPYmFja2dyb3VuZENvbG9yAXcGeWVsbG93KACflqrfCM8DBWVtb2ppAXcE8J+SoSgAn5aq3wjOAwJpZAF3JGIyYWI4YzdhLWM3MGQtNDM3OS04OGU1LWViOTc0NzY3NmI5MoeflqrfCM4DAw5ibG9ja0NvbnRhaW5lcgcAn5aq3wjUAwMJcGFyYWdyYXBoKACflqrfCNUDD2JhY2tncm91bmRDb2xvcgF3B2RlZmF1bHQoAJ+Wqt8I1QMJdGV4dENvbG9yAXcHZGVmYXVsdCgAn5aq3wjVAw10ZXh0QWxpZ25tZW50AXcEbGVmdCgAn5aq3wjUAwJpZAF3JDg4NDUwZmNjLTI1MGQtNGNmZC1hNzZkLTc4MzFhMTBkMjYxNIeflqrfCNQDAw5ibG9ja0NvbnRhaW5lcgcAn5aq3wjaAwMJcGFyYWdyYXBoKACflqrfCNsDD2JhY2tncm91bmRDb2xvcgF3B2RlZmF1bHQoAJ+Wqt8I2wMJdGV4dENvbG9yAXcHZGVmYXVsdCgAn5aq3wjbAw10ZXh0QWxpZ25tZW50AXcEbGVmdCgAn5aq3wjaAwJpZAF3JDY3NmE0NzUyLWZkODgtNDk2NS1iM2JlLWRkZjcxOGVmZDNkYoeflqrfCNoDAw5ibG9ja0NvbnRhaW5lcgcAn5aq3wjgAwMFdGFibGUHAJ+Wqt8I4QMDCHRhYmxlUm93BwCflqrfCOIDAwl0YWJsZUNlbGwHAJ+Wqt8I4wMDDnRhYmxlUGFyYWdyYXBo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ZWZhdWx0KACflqrfCMMICXRleHRDb2xvcgF3B2RlZmF1bHQoAJ+Wqt8IwwgNdGV4dEFsaWdubWVudAF3BGxlZnQoAJ+Wqt8IwwgFbGV2ZWwBfQEoAJ+Wqt8IwwgMaXNUb2dnbGVhYmxlAXgoAJ+Wqt8IwggCaWQBdyRmZTMyZGNiOC0zMjVjLTQyZTEtYjQ2Zi04NDVlZTUxMmI1NGWHn5aq3wjCCAMOYmxvY2tDb250YWluZXIHAJ+Wqt8I3wgDCXBhcmFncmFwaCgAn5aq3wjgCA9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KACflqrfCOAICXRleHRDb2xvcgF3B2RlZmF1bHQoAJ+Wqt8I4AgNdGV4dEFsaWdubWVudAF3BGxlZnQoAJ+Wqt8I3wgCaWQBdyRiNmFlOWZhNS04MWJhLTQzNmMtOWYyMC04NTk4MGNkNTUxYjWHn5aq3wjfCAMOYmxvY2tDb250YWluZXIHAJ+Wqt8I5QgDB2hlYWRpbmcHAJ+Wqt8I5ggGBgCflqrfCOcIBGJvbGQCe32En5aq3wjoCA1IZWxsbyB0aXRsZSA0hp+Wqt8I9QgEYm9sZARudWxsKACflqrfCOYID2JhY2tncm91bmRDb2xvcgF3B2RlZmF1bHQoAJ+Wqt8I5ggJdGV4dENvbG9yAXcHZGVmYXVsdCgAn5aq3wjmCA10ZXh0QWxpZ25tZW50AXcEbGVmdCgAn5aq3wjmCAVsZXZlbAF9BCgAn5aq3wjmCAxpc1RvZ2dsZWFibGUBeSgAn5aq3wjlCAJpZAF3JDU5MWE1YjUwLWZjZjAtNDJjYi1iNDdiLTlhZDc5ZjUzN2ZkMYeflqrfCOUIAw5ibG9ja0NvbnRhaW5lcgcAn5aq3wj9CAMJcGFyYWdyYXBoKACflqrfCP4ID2JhY2tncm91bmRDb2xvcgF3B2RlZmF1bHQoAJ+Wqt8I/ggJdGV4dENvbG9yAXcHZGVmYXVsdCgAn5aq3wj+CA10ZXh0QWxpZ25tZW50AXcEbGVmdCgAn5aq3wj9CAJpZAF3JDRmNDkxYzE3LTk4ZDktNDdkOS04ZmYxLTg4MDdhZmQzMGY3ZYeflqrfCP0IAw5ibG9ja0NvbnRhaW5lcgcAn5aq3wiDCQMHaGVhZGluZwcAn5aq3wiECQYGAJ+Wqt8IhQkEYm9sZAJ7fYSflqrfCIYJDUhlbGxvIHRpdGxlIDWGn5aq3wiTCQRib2xkBG51bGwoAJ+Wqt8IhAkPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgAn5aq3wiECQl0ZXh0Q29sb3IBdwdkZWZhdWx0KACflqrfCIQJDXRleHRBbGlnbm1lbnQBdwRsZWZ0KACflqrfCIQJBWxldmVsAX0FKACflqrfCIQJDGlzVG9nZ2xlYWJsZQF5KACflqrfCIMJAmlkAXckNTk0OTQ1MzUtODQxNS00MmU0LTk2YWMtNjQxYjFiY2E1NmFhh5+Wqt8IgwkDDmJsb2NrQ29udGFpbmVyBwCflqrfCJsJAwlwYXJhZ3JhcGgoAJ+Wqt8InAkPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgAn5aq3wicCQl0ZXh0Q29sb3IBdwdkZWZhdWx0KACflqrfCJwJDXRleHRBbGlnbm1lbnQBdwRsZWZ0KACflqrfCJsJAmlkAXckMDZhOTcxMmUtYjYwZi00NzYzLWI2ZmItM2M2N2FjYTBmNTY4h5+Wqt8ImwkDDmJsb2NrQ29udGFpbmVyBwCflqrfCKEJAwdoZWFkaW5nBwCflqrfCKIJBgYAn5aq3wijCQRib2xkAnt9hJ+Wqt8IpAkNSGVsbG8gdGl0bGUgNoaflqrfCLEJBGJvbGQEbnVsbCgAn5aq3wiiCQ9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KACflqrfCKIJCXRleHRDb2xvcgF3B2RlZmF1bHQoAJ+Wqt8IogkNdGV4dEFsaWdubWVudAF3BGxlZnQoAJ+Wqt8IogkFbGV2ZWwBfQYoAJ+Wqt8IogkMaXNUb2dnbGVhYmxlAXkoAJ+Wqt8IoQkCaWQBdyRhMTQzMjQ2MS00MWUwLTQ3YTAtYjEzZS01ZmM3MzI0YmNhMjKHn5aq3wihCQMOYmxvY2tDb250YWluZXIHAJ+Wqt8IuQkDCXBhcmFncmFwaCgAn5aq3wi6CQ9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KACflqrfCLoJCXRleHRDb2xvcgF3B2RlZmF1bHQoAJ+Wqt8IugkNdGV4dEFsaWdubWVudAF3BGxlZnQoAJ+Wqt8IuQkCaWQBdyQzOWIwNzcxNy1iOWRiLTQ0OTMtOGVmMC1hYzE4MTE4Mzc3M2OHn5aq3wi5CQMOYmxvY2tDb250YWluZXIHAJ+Wqt8IvwkDCXBhcmFncmFwaAcAn5aq3wjACQYEAJ+Wqt8IwQkN8J+nmeKAjeKZgu+4j4aflqrfCMYJCXRleHRDb2xvciF7InN0cmluZ1ZhbHVlIjoicmdiKDY5LCA2OSwgODgpIn2Gn5aq3wjHCQ9iYWNrZ3JvdW5kQ29sb3IkeyJzdHJpbmdWYWx1ZSI6InJnYigyNTUsIDI1NSwgMjU1KSJ9hJ+Wqt8IyAk88J+Yg/Cfjonwn5qA8J+Zi+KAjeKZgO+4j/Cfp5Hwn4+/4oCN4p2k77iP4oCN8J+Si+KAjfCfp5Hwn4++hp+Wqt8I4gkJdGV4dENvbG9yBG51bGyGn5aq3wjjCQ9iYWNrZ3JvdW5kQ29sb3IEbnVsbISflqrfCOQJDCBNYWdpYyBlbW9qaSgAn5aq3wjACQ9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KACflqrfCMAJCXRleHRDb2xvcgF3B2RlZmF1bHQoAJ+Wqt8IwAkNdGV4dEFsaWdubWVudAF3BGxlZnQoAJ+Wqt8IvwkCaWQBdyRlNWJlN2UwYi0wYTBiLTQzMzQtYTE4Ni00MDJlMDUwYjc2YWGHn5aq3wi/CQMOYmxvY2tDb250YWluZXIHAJ+Wqt8I9QkDB2hlYWRpbmcHAJ+Wqt8I9gkGBgCflqrfCPcJBGJvbGQCe32En5aq3wj4CRdjb3B5L3Bhc3Rpbmcgb3V0IG9mIGRvY4aflqrfCI8KBGJvbGQEbnVsbCgAn5aq3wj2CQ9iYWNrZ3JvdW5kQ29sb3IBdw9yZ2IoMTMsIDE3LCAyMykoAJ+Wqt8I9gkJdGV4dENvbG9yAXcScmdiKDI0MCwgMjQ2LCAyNTIpKACflqrfCPYJDXRleHRBbGlnbm1lbnQBdwRsZWZ0KACflqrfCPYJBWxldmVsAX0BKACflqrfCPYJDGlzVG9nZ2xlYWJsZQF5KACflqrfCPUJAmlkAXckY2FlZGEwNWMtNDFlZi00MjlhLThjOWItNDc5NDcyYTZlZGE1h5+Wqt8I9QkDDmJsb2NrQ29udGFpbmVyBwCflqrfCJcKAwlwYXJhZ3JhcGgoAJ+Wqt8ImAoPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgAn5aq3wiYCgl0ZXh0Q29sb3IBdwdkZWZhdWx0KACflqrfCJgKDXRleHRBbGlnbm1lbnQBdwRsZWZ0KACflqrfCJcKAmlkAXckMDQzMDJiNWUtYzJhMy00MjgxLTk2NTYtM2M3ZTU0MjVhZWFkgZ+Wqt8IlwoBAAmBn5aq3widCgEACYGflqrfCKcKAQAFAtbps2gAh5+Wqt8IqggGBADW6bNoAAEgA8aEj7IPAQCoxAHJoobnCQMAAggFFQaflqrfCAWfCAanCAOwCBLjCQKdCho= \ No newline at end of file +As4F8b//qAwABwEOZG9jdW1lbnQtc3RvcmUDCmJsb2NrR3JvdXAHAPG//6gMAAMOYmxvY2tDb250YWluZXIHAPG//6gMAQMJcGFyYWdyYXBoBwDxv/+oDAIGAQDxv/+oDAMBKADxv/+oDAIPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgA8b//qAwCCXRleHRDb2xvcgF3B2RlZmF1bHQoAPG//6gMAg10ZXh0QWxpZ25tZW50AXcEbGVmdCgA8b//qAwBAmlkAXcOaW5pdGlhbEJsb2NrSWSB8b//qAwEAoTxv/+oDAoBdIHxv/+oDAEBABTB8b//qAwB8b//qAwMAQAZxPG//6gMCvG//6gMCwlIZWxsbyBUZXjH8b//qAwB8b//qAwhAw5ibG9ja0NvbnRhaW5lcgcA8b//qAxEAwdoZWFkaW5nBwDxv/+oDEUGBgDxv/+oDEYEYm9sZAJ7fYbxv/+oDEcJdGV4dENvbG9yFnsic3RyaW5nVmFsdWUiOiJibHVlIn2E8b//qAxID0hlbGxvIEhlYWRpbmcgMYbxv/+oDFcEYm9sZARudWxshvG//6gMWAl0ZXh0Q29sb3IEbnVsbCgA8b//qAxFD2JhY2tncm91bmRDb2xvcgF3B2RlZmF1bHQoAPG//6gMRQl0ZXh0Q29sb3IBdwdkZWZhdWx0KADxv/+oDEUNdGV4dEFsaWdubWVudAF3BGxlZnQoAPG//6gMRQVsZXZlbAF9ASgA8b//qAxFDGlzVG9nZ2xlYWJsZQF5KADxv/+oDEQCaWQBdyQ1MjVlYTFhMy1iM2M2LTQzMTMtYWI1YS03NmU3NmViZjQ5OTTH8b//qAxE8b//qAwhAw5ibG9ja0NvbnRhaW5lcgcA8b//qAxgAwdoZWFkaW5nBwDxv/+oDGEGBgDxv/+oDGIEYm9sZAJ7fYTxv/+oDGMPSGVsbG8gSGVhZGluZyAyhvG//6gMcgRib2xkBG51bGwoAPG//6gMYQ9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KADxv/+oDGEJdGV4dENvbG9yAXcHZGVmYXVsdCgA8b//qAxhDXRleHRBbGlnbm1lbnQBdwRsZWZ0KADxv/+oDGEFbGV2ZWwBfQIoAPG//6gMYQxpc1RvZ2dsZWFibGUBeSgA8b//qAxgAmlkAXckZDEyMTFkNDMtMzNlMC00ZTI0LWFhMjctNzAzMGYzODhhZjExx/G//6gMYPG//6gMIQMOYmxvY2tDb250YWluZXIHAPG//6gMegMHaGVhZGluZwcA8b//qAx7BgYA8b//qAx8BGJvbGQCe32G8b//qAx9D2JhY2tncm91bmRDb2xvchd7InN0cmluZ1ZhbHVlIjoiZ3JlZW4ifYTxv/+oDH4PSGVsbG8gSGVhZGluZyAzhvG//6gMjQEEYm9sZARudWxshvG//6gMjgEPYmFja2dyb3VuZENvbG9yBG51bGwoAPG//6gMew9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KADxv/+oDHsJdGV4dENvbG9yAXcHZGVmYXVsdCgA8b//qAx7DXRleHRBbGlnbm1lbnQBdwRsZWZ0KADxv/+oDHsFbGV2ZWwBfQMoAPG//6gMewxpc1RvZ2dsZWFibGUBeSgA8b//qAx6AmlkAXckOGYxYmMwMWQtZmRhMS00ZDEwLWI2NjgtZjg2NmQ3MzI0ZmE5x/G//6gMevG//6gMIQMOYmxvY2tDb250YWluZXIHAPG//6gMlgEDCXBhcmFncmFwaCgA8b//qAyXAQ9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KADxv/+oDJcBCXRleHRDb2xvcgF3B2RlZmF1bHQoAPG//6gMlwENdGV4dEFsaWdubWVudAF3BGxlZnQoAPG//6gMlgECaWQBdyRmOTZhYzdhZC0yYzliLTQ3ZWMtODMxNy0wYzdmNjNmZjU0NGPH8b//qAyWAfG//6gMIQMOYmxvY2tDb250YWluZXIHAPG//6gMnAEDDWNoZWNrTGlzdEl0ZW0HAPG//6gMnQEGBADxv/+oDJ4BEENoZWNrbGlzdCBJdGVtIDEoAPG//6gMnQEPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgA8b//qAydAQl0ZXh0Q29sb3IBdwdkZWZhdWx0KADxv/+oDJ0BDXRleHRBbGlnbm1lbnQBdwRsZWZ0KADxv/+oDJ0BB2NoZWNrZWQBeSgA8b//qAycAQJpZAF3JDA5Nzc0OWUxLTMwYzQtNDhiNy1iNjBhLWYyNjk2YmM3ZmIyOMfxv/+oDJwB8b//qAwhAw5ibG9ja0NvbnRhaW5lcgcA8b//qAy0AQMNY2hlY2tMaXN0SXRlbQcA8b//qAy1AQYEAPG//6gMtgEQQ2hlY2tsaXN0IEl0ZW0gMigA8b//qAy1AQ9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KADxv/+oDLUBCXRleHRDb2xvcgF3B2RlZmF1bHQoAPG//6gMtQENdGV4dEFsaWdubWVudAF3BGxlZnQoAPG//6gMtQEHY2hlY2tlZAF4KADxv/+oDLQBAmlkAXckMDA0MjA0NWEtMjRmMy00MzljLThkNmUtN2RkODM5ZTBhYTJmx/G//6gMtAHxv/+oDCEDDmJsb2NrQ29udGFpbmVyBwDxv/+oDMwBAwlwYXJhZ3JhcGgoAPG//6gMzQEPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgA8b//qAzNAQl0ZXh0Q29sb3IBdwdkZWZhdWx0KADxv/+oDM0BDXRleHRBbGlnbm1lbnQBdwRsZWZ0KADxv/+oDMwBAmlkAXckMGE1NDQ5NzMtYmIwYy00M2JlLTlhOGQtMjg0MzQyYzllZWU2x/G//6gMzAHxv/+oDCEDDmJsb2NrQ29udGFpbmVyBwDxv/+oDNIBAwVxdW90ZQcA8b//qAzTAQYEAPG//6gM1AELSGVsbG8gUXVvdGUoAPG//6gM0wEPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgA8b//qAzTAQl0ZXh0Q29sb3IBdwdkZWZhdWx0KADxv/+oDNIBAmlkAXckZDczN2M1NmQtY2FiNi00MDllLWFiYTEtZTdjN2Q5NTAyODg2x/G//6gM0gHxv/+oDCEDDmJsb2NrQ29udGFpbmVyBwDxv/+oDOMBAwlwYXJhZ3JhcGgoAPG//6gM5AEPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgA8b//qAzkAQl0ZXh0Q29sb3IBdwdkZWZhdWx0KADxv/+oDOQBDXRleHRBbGlnbm1lbnQBdwRsZWZ0KADxv/+oDOMBAmlkAXckNTQ5OWMyOGYtYzMzZi00NjA4LWFiM2ItYWQ2MzlkMDYyMzBjx/G//6gM4wHxv/+oDCEDDmJsb2NrQ29udGFpbmVyBwDxv/+oDOkBAw50b2dnbGVMaXN0SXRlbQcA8b//qAzqAQYEAPG//6gM6wETSGVsbG8gVG9nZ2xlIExpc3QgMSgA8b//qAzqAQ9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KADxv/+oDOoBCXRleHRDb2xvcgF3B2RlZmF1bHQoAPG//6gM6gENdGV4dEFsaWdubWVudAF3BGxlZnQoAPG//6gM6QECaWQBdyRmMjJhMmE0Ny02MDk0LTQ4MmQtOTMwMC02Mjk3NmZkODYyY2XH8b//qAzpAfG//6gMIQMOYmxvY2tDb250YWluZXIHAPG//6gMgwIDCXBhcmFncmFwaCgA8b//qAyEAg9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KADxv/+oDIQCCXRleHRDb2xvcgF3B2RlZmF1bHQoAPG//6gMhAINdGV4dEFsaWdubWVudAF3BGxlZnQoAPG//6gMgwICaWQBdyRlMWU3NWI0Zi0xMWI1LTQ2YTAtOGQ1MC1lNzYyOGJjZWRmNTHH8b//qAyDAvG//6gMIQMOYmxvY2tDb250YWluZXIHAPG//6gMiQIDEG51bWJlcmVkTGlzdEl0ZW0HAPG//6gMigIGBADxv/+oDIsCFE51bWJlcmVkIExpc3QgSXRlbSAxKADxv/+oDIoCD2JhY2tncm91bmRDb2xvcgF3B2RlZmF1bHQoAPG//6gMigIJdGV4dENvbG9yAXcHZGVmYXVsdCgA8b//qAyKAg10ZXh0QWxpZ25tZW50AXcEbGVmdCgA8b//qAyKAgVzdGFydAF/KADxv/+oDIkCAmlkAXckYmM4NDQ2YTMtY2M5ZC00YTNhLTkyYjYtOTU5ZjIzNGMwMzA3x/G//6gMiQLxv/+oDCEDDmJsb2NrQ29udGFpbmVyBwDxv/+oDKUCAxBudW1iZXJlZExpc3RJdGVtBwDxv/+oDKYCBgQA8b//qAynAhROdW1iZXJlZCBMaXN0IEl0ZW0gMigA8b//qAymAg9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KADxv/+oDKYCCXRleHRDb2xvcgF3B2RlZmF1bHQoAPG//6gMpgINdGV4dEFsaWdubWVudAF3BGxlZnQoAPG//6gMpgIFc3RhcnQBfygA8b//qAylAgJpZAF3JDNkMjdlMzEzLWRlYmItNDIyMS1iZDI2LWNmMWJlMzc0ZTEzZcfxv/+oDKUC8b//qAwhAw5ibG9ja0NvbnRhaW5lcgcA8b//qAzBAgMJcGFyYWdyYXBoKADxv/+oDMICD2JhY2tncm91bmRDb2xvcgF3B2RlZmF1bHQoAPG//6gMwgIJdGV4dENvbG9yAXcHZGVmYXVsdCgA8b//qAzCAg10ZXh0QWxpZ25tZW50AXcEbGVmdCgA8b//qAzBAgJpZAF3JGUyZjY1NzM2LTY4NTgtNDllMC05MzQ5LTkxNjNjNWM5NjAzZsfxv/+oDMEC8b//qAwhAw5ibG9ja0NvbnRhaW5lcgcA8b//qAzHAgMOYnVsbGV0TGlzdEl0ZW0HAPG//6gMyAIGBADxv/+oDMkCEkJ1bGxldCBMaXN0IEl0ZW0gMSgA8b//qAzIAg9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KADxv/+oDMgCCXRleHRDb2xvcgF3B2RlZmF1bHQoAPG//6gMyAINdGV4dEFsaWdubWVudAF3BGxlZnQoAPG//6gMxwICaWQBdyQ5MjBmOWQ0My1jNTYzLTQ2ZDctYmZhZC0wZGMyM2E0MGE5OGXH8b//qAzHAvG//6gMIQMOYmxvY2tDb250YWluZXIHAPG//6gM4AIDDmJ1bGxldExpc3RJdGVtBwDxv/+oDOECBgQA8b//qAziAhJCdWxsZXQgTGlzdCBJdGVtIDIoAPG//6gM4QIPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgA8b//qAzhAgl0ZXh0Q29sb3IBdwdkZWZhdWx0KADxv/+oDOECDXRleHRBbGlnbm1lbnQBdwRsZWZ0KADxv/+oDOACAmlkAXckZDFmZTFjZGItYzA2MS00Mzk4LTg3ZTItNzhmNGQyNmY2YmQxx/G//6gM4ALxv/+oDCEDDmJsb2NrQ29udGFpbmVyBwDxv/+oDPkCAwlwYXJhZ3JhcGgoAPG//6gM+gIPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgA8b//qAz6Agl0ZXh0Q29sb3IBdwdkZWZhdWx0KADxv/+oDPoCDXRleHRBbGlnbm1lbnQBdwRsZWZ0KADxv/+oDPkCAmlkAXckYTFlODg5MTAtYTY5NS00MTk0LWI4Y2MtYWY4MDA2NTc5NzJmx/G//6gM+QLxv/+oDCEDDmJsb2NrQ29udGFpbmVyBwDxv/+oDP8CAwljb2RlQmxvY2sHAPG//6gMgAMGBADxv/+oDIEDDWNvbnN0IGEgPSAxMDsoAPG//6gMgAMIbGFuZ3VhZ2UBdwpqYXZhc2NyaXB0KADxv/+oDP8CAmlkAXckMmRiMzU3YWUtYWNhZi00N2Y0LTk3ZmItNDhiOWUxN2IwYzI4x/G//6gM/wLxv/+oDCEDDmJsb2NrQ29udGFpbmVyBwDxv/+oDJEDAwlwYXJhZ3JhcGgoAPG//6gMkgMPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgA8b//qAySAwl0ZXh0Q29sb3IBdwdkZWZhdWx0KADxv/+oDJIDDXRleHRBbGlnbm1lbnQBdwRsZWZ0KADxv/+oDJEDAmlkAXckYjg2YzM0MjEtNzlkZC00YjhiLTg2MDUtYjgwMmRhMDQyMzEwx/G//6gMkQPxv/+oDCEDDmJsb2NrQ29udGFpbmVyBwDxv/+oDJcDAwdkaXZpZGVyKADxv/+oDJcDAmlkAXckZjI0MGEzOTctY2VhYS00OWU2LTg0MjUtZGE1YTNmNGE1ZTIyx/G//6gMlwPxv/+oDCEDDmJsb2NrQ29udGFpbmVyBwDxv/+oDJoDAwlwYXJhZ3JhcGgoAPG//6gMmwMPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgA8b//qAybAwl0ZXh0Q29sb3IBdwdkZWZhdWx0KADxv/+oDJsDDXRleHRBbGlnbm1lbnQBdwRsZWZ0KADxv/+oDJoDAmlkAXckNGFkYmM0MTQtN2UyOS00NWQ1LWIyMjQtY2NjYzQxZTMyMzU1x/G//6gMmgPxv/+oDCEDDmJsb2NrQ29udGFpbmVyBwDxv/+oDKADAwlwYWdlQnJlYWsoAPG//6gMoAMCaWQBdyQ5ZjAyYjM0Yi1lNTMzLTQxMDUtYTBiOC0zOTNkODllZjFiOGHH8b//qAygA/G//6gMIQMKY29sdW1uTGlzdAcA8b//qAyjAwMGY29sdW1uBwDxv/+oDKQDAw5ibG9ja0NvbnRhaW5lcgcA8b//qAylAwMJcGFyYWdyYXBoBwDxv/+oDKYDBgQA8b//qAynAw1Db2x1bW4gMSBUZXh0KADxv/+oDKYDD2JhY2tncm91bmRDb2xvcgF3B2RlZmF1bHQoAPG//6gMpgMJdGV4dENvbG9yAXcHZGVmYXVsdCgA8b//qAymAw10ZXh0QWxpZ25tZW50AXcEbGVmdCgA8b//qAylAwJpZAF3JDNhY2RjYzYyLTU1ZmQtNGIxNi04NjVhLWM1ZWI3NjBjNTI5YigA8b//qAykAwJpZAF3JDdkZDE2MjhlLWE4NWYtNDBmZi05MDI3LWNjZTgzZmQ5YWRjMSgA8b//qAykAwV3aWR0aAF9AYfxv/+oDKQDAwZjb2x1bW4HAPG//6gMuwMDDmJsb2NrQ29udGFpbmVyBwDxv/+oDLwDAwlwYXJhZ3JhcGgHAPG//6gMvQMGBADxv/+oDL4DDUNvbHVtbiAyIFRleHQoAPG//6gMvQMPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgA8b//qAy9Awl0ZXh0Q29sb3IBdwdkZWZhdWx0KADxv/+oDL0DDXRleHRBbGlnbm1lbnQBdwRsZWZ0KADxv/+oDLwDAmlkAXckY2E4MmJhNTMtYWY3NS00MWU1LThhNDAtMzkyZTJjMDkwYzljKADxv/+oDLsDAmlkAXckMjliYmFiOGMtNzhlZS00YTlhLTg2NTgtYTFhNDI2M2I3NmQ1KADxv/+oDLsDBXdpZHRoAX0Bh/G//6gMuwMDBmNvbHVtbgcA8b//qAzSAwMOYmxvY2tDb250YWluZXIHAPG//6gM0wMDCXBhcmFncmFwaAcA8b//qAzUAwYEAPG//6gM1QMNQ29sdW1uIDMgVGV4dCgA8b//qAzUAw9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KADxv/+oDNQDCXRleHRDb2xvcgF3B2RlZmF1bHQoAPG//6gM1AMNdGV4dEFsaWdubWVudAF3BGxlZnQoAPG//6gM0wMCaWQBdyRhNzFlNTk3ZS1mNjQ4LTRlNWUtODFjNi05NjY2ZjdmMTVjMzeH8b//qAzTAwMOYmxvY2tDb250YWluZXIHAPG//6gM5wMDCXBhcmFncmFwaCgA8b//qAzoAw9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KADxv/+oDOgDCXRleHRDb2xvcgF3B2RlZmF1bHQoAPG//6gM6AMNdGV4dEFsaWdubWVudAF3BGxlZnQoAPG//6gM5wMCaWQBdyQ2YzNhNzUzMS0wNGUwLTQxYWUtOWNhNi0xZjI4M2Y0YWE5ZDAoAPG//6gM0gMCaWQBdyQ1NTUyYTIwZi00M2EyLTQ0OGUtOTM0Ny00MTkzZGU1YzVmNDIoAPG//6gM0gMFd2lkdGgBfQEoAPG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A8b//qAyyCAMOdGFibGVQYXJhZ3JhcGgHAPG//6gMswgGBADxv/+oDLQIBDE0LDQoAPG//6gMsggJdGV4dENvbG9yAXcHZGVmYXVsdCgA8b//qAyyCA9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KADxv/+oDLIIDXRleHRBbGlnbm1lbnQBdwRsZWZ0KADxv/+oDLIIB2NvbHNwYW4BfQEoAPG//6gMsggHcm93c3BhbgF9ASgA8b//qAyyCAhjb2x3aWR0aAF1AX2HASgA8b//qAyDBAl0ZXh0Q29sb3IBdwdkZWZhdWx0KADxv/+oDIIEAmlkAXckM2JjN2I0OGMtYzcxYS00N2I2LThmYzEtOTI5MmFjZmE3NTMwx/G//6gMggTxv/+oDCEDDmJsb2NrQ29udGFpbmVyBwDxv/+oDMEIAwlwYXJhZ3JhcGgoAPG//6gMwggPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgA8b//qAzCCAl0ZXh0Q29sb3IBdwdkZWZhdWx0KADxv/+oDMIIDXRleHRBbGlnbm1lbnQBdwRsZWZ0KADxv/+oDMEIAmlkAXckYmM5Y2UzYzYtMTA3ZC00NWY1LWI4YjQtZDc3ODEyZDEzMzJjx/G//6gMwQjxv/+oDCEDDmJsb2NrQ29udGFpbmVyBwDxv/+oDMcIAwlwYXJhZ3JhcGgHAPG//6gMyAgDFmludGVybGlua2luZ0xpbmtJbmxpbmUoAPG//6gMyQgFZG9jSWQBdyQwMjJkMDQ4Yy02ZDA3LTRlNTgtYjNmYy05YzQzYTI4NzEyZTkoAPG//6gMyQgIZGlzYWJsZWQBeSgA8b//qAzJCAd0cmlnZ2VyAXcBLygA8b//qAzJCAV0aXRsZQF3D1Rlc3QgUmVncmVzc2lvbigA8b//qAzICA9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KADxv/+oDMgICXRleHRDb2xvcgF3B2RlZmF1bHQoAPG//6gMyAgNdGV4dEFsaWdubWVudAF3BGxlZnQoAPG//6gMxwgCaWQBdyRmN2U0NWFlZS1lMjA1LTQ0MjctOWQxNy04YTlhNTBhNTUwMjfH8b//qAzHCPG//6gMIQMOYmxvY2tDb250YWluZXIHAPG//6gM0ggDB2hlYWRpbmcHAPG//6gM0wgGBgDxv/+oDNQIBGJvbGQCe32E8b//qAzVCBJIZWxsbyBUaXRsZSBUb2dnbGWG8b//qAznCARib2xkBG51bGwoAPG//6gM0wgPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgA8b//qAzTCAl0ZXh0Q29sb3IBdwdkZWZhdWx0KADxv/+oDNMIDXRleHRBbGlnbm1lbnQBdwRsZWZ0KADxv/+oDNMIBWxldmVsAX0BKADxv/+oDNMIDGlzVG9nZ2xlYWJsZQF4KADxv/+oDNIIAmlkAXckN2VlMzgzNjAtYmQ3ZC00YTcyLWI2YjAtNjE3MTg2MTk3YTFhx/G//6gM0gjxv/+oDCEDDmJsb2NrQ29udGFpbmVyBwDxv/+oDO8IAwlwYXJhZ3JhcGgoAPG//6gM8AgPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgA8b//qAzwCAl0ZXh0Q29sb3IBdwdkZWZhdWx0KADxv/+oDPAIDXRleHRBbGlnbm1lbnQBdwRsZWZ0KADxv/+oDO8IAmlkAXckNWUxMmJmYjEtZmQ1YS00ZjA1LThmM2QtM2M1OTg1NGY2YTBkx/G//6gM7wjxv/+oDCEDDmJsb2NrQ29udGFpbmVyBwDxv/+oDPUIAwdoZWFkaW5nBwDxv/+oDPYIBgYA8b//qAz3CARib2xkAnt9hPG//6gM+AgNSGVsbG8gdGl0bGUgNIbxv/+oDIUJBGJvbGQEbnVsbCgA8b//qAz2CA9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KADxv/+oDPYICXRleHRDb2xvcgF3B2RlZmF1bHQoAPG//6gM9ggNdGV4dEFsaWdubWVudAF3BGxlZnQoAPG//6gM9ggFbGV2ZWwBfQQoAPG//6gM9ggMaXNUb2dnbGVhYmxlAXkoAPG//6gM9QgCaWQBdyQ1NDVjN2RkMy0wNWFmLTQ0MTMtODhjNS00NjU1Yzg3YTA4ZGbH8b//qAz1CPG//6gMIQMOYmxvY2tDb250YWluZXIHAPG//6gMjQkDCXBhcmFncmFwaCgA8b//qAyOCQ9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KADxv/+oDI4JCXRleHRDb2xvcgF3B2RlZmF1bHQoAPG//6gMjgkNdGV4dEFsaWdubWVudAF3BGxlZnQoAPG//6gMjQkCaWQBdyRlYmJiMGVkMS0zYjVkLTRmMTMtODYzZi0wMjA0N2U5MjM3ZjPH8b//qAyNCfG//6gMIQMOYmxvY2tDb250YWluZXIHAPG//6gMkwkDB2hlYWRpbmcHAPG//6gMlAkGBgDxv/+oDJUJBGJvbGQCe32E8b//qAyWCQ1IZWxsbyB0aXRsZSA1hvG//6gMowkEYm9sZARudWxsKADxv/+oDJQJD2JhY2tncm91bmRDb2xvcgF3B2RlZmF1bHQoAPG//6gMlAkJdGV4dENvbG9yAXcHZGVmYXVsdCgA8b//qAyUCQ10ZXh0QWxpZ25tZW50AXcEbGVmdCgA8b//qAyUCQVsZXZlbAF9BSgA8b//qAyUCQxpc1RvZ2dsZWFibGUBeSgA8b//qAyTCQJpZAF3JDRhN2VlMTIxLTU1NzgtNDAzNy04ZDE3LTgzYjdjM2IyYjZiZMfxv/+oDJMJ8b//qAwhAw5ibG9ja0NvbnRhaW5lcgcA8b//qAyrCQMJcGFyYWdyYXBoKADxv/+oDKwJD2JhY2tncm91bmRDb2xvcgF3B2RlZmF1bHQoAPG//6gMrAkJdGV4dENvbG9yAXcHZGVmYXVsdCgA8b//qAysCQ10ZXh0QWxpZ25tZW50AXcEbGVmdCgA8b//qAyrCQJpZAF3JGY5ZjhiYTNiLWEyYWMtNDIwMy1hYTgzLTRiNzMyNmQ1MjY3Zsfxv/+oDKsJ8b//qAwhAw5ibG9ja0NvbnRhaW5lcgcA8b//qAyxCQMHaGVhZGluZwcA8b//qAyyCQYGAPG//6gMswkEYm9sZAJ7fYTxv/+oDLQJDUhlbGxvIHRpdGxlIDaG8b//qAzBCQRib2xkBG51bGwoAPG//6gMsgkPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgA8b//qAyyCQl0ZXh0Q29sb3IBdwdkZWZhdWx0KADxv/+oDLIJDXRleHRBbGlnbm1lbnQBdwRsZWZ0KADxv/+oDLIJBWxldmVsAX0GKADxv/+oDLIJDGlzVG9nZ2xlYWJsZQF5KADxv/+oDLEJAmlkAXckYjQ1M2ZjNjQtOTJiOS00ZDJiLWI0MWEtMTA5ODgwOWM0YzRjx/G//6gMsQnxv/+oDCEDDmJsb2NrQ29udGFpbmVyBwDxv/+oDMkJAwlwYXJhZ3JhcGgoAPG//6gMygkPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgA8b//qAzKCQl0ZXh0Q29sb3IBdwdkZWZhdWx0KADxv/+oDMoJDXRleHRBbGlnbm1lbnQBdwRsZWZ0KADxv/+oDMkJAmlkAXckOTYyNjlmOGItNGQ2MS00MjYzLTk5Y2MtYThjZWM4YjAwZTY1x/G//6gMyQnxv/+oDCEDDmJsb2NrQ29udGFpbmVyBwDxv/+oDM8JAwlwYXJhZ3JhcGgHAPG//6gM0AkGBADxv/+oDNEJDfCfp5nigI3imYLvuI+G8b//qAzWCQl0ZXh0Q29sb3IkeyJzdHJpbmdWYWx1ZSI6InJnYigyNDAsIDI0NiwgMjUyKSJ9hvG//6gM1wkPYmFja2dyb3VuZENvbG9yIXsic3RyaW5nVmFsdWUiOiJyZ2IoMTMsIDE3LCAyMykifYTxv/+oDNgJBuKeoe+4j4bxv/+oDNoJCXRleHRDb2xvcgRudWxshvG//6gM2wkPYmFja2dyb3VuZENvbG9yBG51bGyG8b//qAzcCQl0ZXh0Q29sb3IheyJzdHJpbmdWYWx1ZSI6InJnYig2OSwgNjksIDg4KSJ9hvG//6gM3QkPYmFja2dyb3VuZENvbG9yJHsic3RyaW5nVmFsdWUiOiJyZ2IoMjU1LCAyNTUsIDI1NSkifYTxv/+oDN4JPPCfmIPwn46J8J+agPCfmYvigI3imYDvuI/wn6eR8J+Pv+KAjeKdpO+4j+KAjfCfkovigI3wn6eR8J+Pvobxv/+oDPgJCXRleHRDb2xvcgRudWxshvG//6gM+QkPYmFja2dyb3VuZENvbG9yBG51bGyE8b//qAz6CQwgTWFnaWMgZW1vamkoAPG//6gM0AkPYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgA8b//qAzQCQl0ZXh0Q29sb3IBdwdkZWZhdWx0KADxv/+oDNAJDXRleHRBbGlnbm1lbnQBdwRsZWZ0KADxv/+oDM8JAmlkAXckOTc5NWUyNzYtMTUwMi00N2U3LTk4ZDUtYTNmN2U0MzQ4ODAzx/G//6gMzwnxv/+oDCEDDmJsb2NrQ29udGFpbmVyBwDxv/+oDIsKAwdoZWFkaW5nBwDxv/+oDIwKBgYA8b//qAyNCgRib2xkAnt9hPG//6gMjgoXY29weS9wYXN0aW5nIG91dCBvZiBkb2OG8b//qAylCgRib2xkBG51bGwoAPG//6gMjAoPYmFja2dyb3VuZENvbG9yAXcPcmdiKDEzLCAxNywgMjMpKADxv/+oDIwKCXRleHRDb2xvcgF3EnJnYigyNDAsIDI0NiwgMjUyKSgA8b//qAyMCg10ZXh0QWxpZ25tZW50AXcEbGVmdCgA8b//qAyMCgVsZXZlbAF9ASgA8b//qAyMCgxpc1RvZ2dsZWFibGUBeSgA8b//qAyLCgJpZAF3JGU3ZGNhYzNkLTJjNGYtNDAxZi05MDFhLTYyYzExZGQ2YzU3Ocfxv/+oDIsK8b//qAwhAw5ibG9ja0NvbnRhaW5lcgcA8b//qAytCgMJcGFyYWdyYXBoKADxv/+oDK4KD2JhY2tncm91bmRDb2xvcgF3B2RlZmF1bHQoAPG//6gMrgoJdGV4dENvbG9yAXcHZGVmYXVsdCgA8b//qAyuCg10ZXh0QWxpZ25tZW50AXcEbGVmdCgA8b//qAytCgJpZAF3JDA4NjdkZDNiLTg2N2ItNDljYi05YmE3LWU2Y2M2ZGYwMTkzN8fxv/+oDK0K8b//qAwhAw5ibG9ja0NvbnRhaW5lcgcA8b//qAyzCgMJcGFyYWdyYXBoKADxv/+oDLQKD2JhY2tncm91bmRDb2xvcgF3B2RlZmF1bHQoAPG//6gMtAoJdGV4dENvbG9yAXcHZGVmYXVsdCgA8b//qAy0Cg10ZXh0QWxpZ25tZW50AXcEbGVmdCgA8b//qAyzCgJpZAF3JDQzMTY4YTdlLTFhMGQtNGY3My1hZTczLWNhMWIyZDk1MDQyOSaupfizBwDH8b//qAytCvG//6gMswoDDmJsb2NrQ29udGFpbmVyBwCupfizBwADCXBhcmFncmFwaCgArqX4swcBD2JhY2tncm91bmRDb2xvcgF3B2RlZmF1bHQoAK6l+LMHAQl0ZXh0Q29sb3IBdwdkZWZhdWx0KACupfizBwENdGV4dEFsaWdubWVudAF3BGxlZnQoAK6l+LMHAAJpZAF3JDkyODMwYTg0LTc3YWQtNGUyOC1iOTJhLTQ1ODhkNzE4NzA5MgcArqX4swcBBgQArqX4swcGBC9tZXJHrqX4swcBAwdkaWFncmFtBwCupfizBwsGBACupfizBwwPZ3JhcGggVEQKICAgIEFbhK6l+LMHGwVTdGFydISupfizByAIXSAtLT4gQluErqX4swcoBFN0b3CErqX4swcsAV3ErqX4swcgrqX4swchBUhlbGxvxK6l+LMHLK6l+LMHLQVXb3JsZMfxv/+oDLMK8b//qAwhAw5ibG9ja0NvbnRhaW5lcgcArqX4swc4AwlwYXJhZ3JhcGgoAK6l+LMHOQ9iYWNrZ3JvdW5kQ29sb3IBdwdkZWZhdWx0KACupfizBzkJdGV4dENvbG9yAXcHZGVmYXVsdCgArqX4swc5DXRleHRBbGlnbm1lbnQBdwRsZWZ0KACupfizBzgCaWQBdyQ4MTIzYTE5Ny1lZjBkLTQyYzMtOTYzNC0yZmUwYTViNjU2ZjgHAK6l+LMHOQYEAK6l+LMHPgEvR66l+LMHOQMJbWF0aEJsb2NrBwCupfizB0AGBACupfizB0EFRSA9IG2ErqX4swdGAXiErqX4swdHAWOErqX4swdIBMKowqiErqX4swdKAl4yx66l+LMHOPG//6gMIQMOYmxvY2tDb250YWluZXIHAK6l+LMHTQMJcGFyYWdyYXBoKACupfizB04PYmFja2dyb3VuZENvbG9yAXcHZGVmYXVsdCgArqX4swdOCXRleHRDb2xvcgF3B2RlZmF1bHQoAK6l+LMHTg10ZXh0QWxpZ25tZW50AXcEbGVmdCgArqX4swdNAmlkAXckN2FlYTE5YWQtNDBjOC00Y2JmLThkY2UtZGU5M2ZlZDFjZDVmAvG//6gMAwQBCQIML66l+LMHCAEEBgUcBSkEOQQ+AkcBSQI= \ No newline at end of file diff --git a/src/frontend/apps/e2e/__tests__/app-impress/assets/doc-export-PDF-browser-regressions.pdf b/src/frontend/apps/e2e/__tests__/app-impress/assets/doc-export-PDF-browser-regressions.pdf index a5fddb471..e7efd7124 100644 Binary files a/src/frontend/apps/e2e/__tests__/app-impress/assets/doc-export-PDF-browser-regressions.pdf and b/src/frontend/apps/e2e/__tests__/app-impress/assets/doc-export-PDF-browser-regressions.pdf differ diff --git a/src/frontend/apps/e2e/__tests__/app-impress/assets/doc-export-regressions.pdf b/src/frontend/apps/e2e/__tests__/app-impress/assets/doc-export-regressions.pdf index 35838c040..0ce2a6c56 100644 Binary files a/src/frontend/apps/e2e/__tests__/app-impress/assets/doc-export-regressions.pdf and b/src/frontend/apps/e2e/__tests__/app-impress/assets/doc-export-regressions.pdf differ diff --git a/src/frontend/apps/e2e/__tests__/app-impress/assets/test_import.md b/src/frontend/apps/e2e/__tests__/app-impress/assets/test_import.md index 461c52de1..15abf6dd7 100644 --- a/src/frontend/apps/e2e/__tests__/app-impress/assets/test_import.md +++ b/src/frontend/apps/e2e/__tests__/app-impress/assets/test_import.md @@ -28,7 +28,7 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam auctor, nisl ege **Code block:** -```js +```javascript const hello_world = () => { console.log("Hello, world!"); } diff --git a/src/frontend/apps/e2e/__tests__/app-impress/doc-editor.spec.ts b/src/frontend/apps/e2e/__tests__/app-impress/doc-editor.spec.ts index ad2704491..5e7110970 100644 --- a/src/frontend/apps/e2e/__tests__/app-impress/doc-editor.spec.ts +++ b/src/frontend/apps/e2e/__tests__/app-impress/doc-editor.spec.ts @@ -709,7 +709,7 @@ test.describe('Doc Editor', () => { page, browserName, }) => { - await createDoc(page, 'doc-scroll', browserName, 1); + await createDoc(page, 'doc-copy-link-to-block', browserName, 1); const editor = await writeInEditor({ page, text: 'First Block' }); @@ -745,4 +745,45 @@ test.describe('Doc Editor', () => { await expect(editor.getByText('First Block')).not.toBeInViewport(); await expect(editor.getByText('My Block')).toBeInViewport(); }); + + test('it checks "Equation block" feature', async ({ page, browserName }) => { + await createDoc(page, 'doc-equation', browserName, 1); + + const { editor } = await openSuggestionMenu({ + page, + suggestion: 'Block Equation', + }); + + await editor.getByLabel('E = mc^2').fill('E = mc^2'); + await editor.locator('.bn-code-block-source-popup-ok-button').click(); + await expect( + editor.locator('.katex-html').filter({ hasText: 'E=mc2' }), + ).toBeVisible(); + }); + + test('it checks "Diagram block" feature', async ({ page, browserName }) => { + await createDoc(page, 'doc-diagram', browserName, 1); + + const { editor } = await openSuggestionMenu({ + page, + suggestion: 'Diagram', + }); + + await editor.getByRole('img', { name: 'Mermaid diagram' }).click(); + + const diagramCode = editor.getByLabel('Enter diagram code'); + await diagramCode.click(); + await page.keyboard.press('ControlOrMeta+a'); + await page.keyboard.press('Backspace'); + + await page.keyboard.type('graph TD'); + await page.keyboard.press('Enter'); + await page.keyboard.type(' A[Hello] --> B[World]'); + + await editor.locator('.bn-code-block-source-popup-ok-button').click(); + + await expect( + editor.getByLabel('Mermaid diagram').filter({ hasText: 'HelloWorld' }), + ).toBeVisible(); + }); }); diff --git a/src/frontend/apps/e2e/__tests__/app-impress/doc-export.spec.ts b/src/frontend/apps/e2e/__tests__/app-impress/doc-export.spec.ts index 18cca6b39..63cb3fb35 100644 --- a/src/frontend/apps/e2e/__tests__/app-impress/doc-export.spec.ts +++ b/src/frontend/apps/e2e/__tests__/app-impress/doc-export.spec.ts @@ -360,7 +360,7 @@ test.describe('Doc Export', () => { const download = await downloadPromise; expect(download.suggestedFilename()).toBe(`${randomDoc}.pdf`); - await page.waitForTimeout(1000); + await page.waitForTimeout(3000); const pdfBuffer = await cs.toBuffer(await download.createReadStream()); diff --git a/src/frontend/apps/e2e/__tests__/app-impress/doc-tree.spec.ts b/src/frontend/apps/e2e/__tests__/app-impress/doc-tree.spec.ts index 2dbadc744..cc1d182e0 100644 --- a/src/frontend/apps/e2e/__tests__/app-impress/doc-tree.spec.ts +++ b/src/frontend/apps/e2e/__tests__/app-impress/doc-tree.spec.ts @@ -357,6 +357,9 @@ test.describe('Doc Tree', () => { const treeRow1 = await getTreeRow(page, docChild1); const treeRow2 = await getTreeRow(page, docChild2); + // Wait for the tree to be stable + await page.waitForTimeout(500); + await docTree.click(); await page.keyboard.press('Tab'); await expect(rootItem).toBeFocused(); diff --git a/src/frontend/apps/e2e/__tests__/app-impress/utils-editor.ts b/src/frontend/apps/e2e/__tests__/app-impress/utils-editor.ts index dd97844bb..0ca00dcd2 100644 --- a/src/frontend/apps/e2e/__tests__/app-impress/utils-editor.ts +++ b/src/frontend/apps/e2e/__tests__/app-impress/utils-editor.ts @@ -11,9 +11,14 @@ export const getEditor = async ({ page }: { page: Page }) => { export const tryFocusEditorContent = async ({ page }: { page: Page }) => { const editor = await getEditor({ page }); if ( - (await editor.locator('.bn-trailing-block.ProseMirror-widget').count()) > 0 + (await editor + .locator('.bn-block-outer div[data-content-type="paragraph"]') + .count()) > 0 ) { - await editor.locator('.bn-trailing-block.ProseMirror-widget').click(); + await editor + .locator('.bn-block-outer div[data-content-type="paragraph"]') + .last() + .click(); } else { await editor.click(); } diff --git a/src/frontend/apps/e2e/__tests__/app-impress/utils-export.ts b/src/frontend/apps/e2e/__tests__/app-impress/utils-export.ts index 5ff23e2f0..87411bfcb 100644 --- a/src/frontend/apps/e2e/__tests__/app-impress/utils-export.ts +++ b/src/frontend/apps/e2e/__tests__/app-impress/utils-export.ts @@ -45,7 +45,7 @@ export const overrideDocContent = async ({ 1, ); - await page.waitForTimeout(1000); + await expect(page.getByText('copy/pasting out of doc')).toBeVisible(); // Add Image SVG await openSuggestionMenu({ @@ -178,7 +178,7 @@ export const comparePDFWithAssetFolder = async ({ const maxDiffRatio = 0.0005; try { - expect(numDiffPixels).toBeLessThan(0.0005); + expect(diffRatio).toBeLessThan(maxDiffRatio); } catch { if (testInfo) { const pageNo = String(i + 1).padStart(2, '0'); diff --git a/src/frontend/apps/impress/next.config.js b/src/frontend/apps/impress/next.config.js index a66e86b96..8786512c0 100644 --- a/src/frontend/apps/impress/next.config.js +++ b/src/frontend/apps/impress/next.config.js @@ -11,6 +11,10 @@ const nextConfig = { allowedDevOrigins: ['docs.127.0.0.1.nip.io'], output: 'export', trailingSlash: true, + // `@blocknote/math-block` imports `katex/dist/katex.min.css` from its entry + // point; transpiling it lets Next.js accept that global CSS import from + // within node_modules. + transpilePackages: ['@blocknote/math-block'], images: { unoptimized: true, }, diff --git a/src/frontend/apps/impress/package.json b/src/frontend/apps/impress/package.json index 7b0550d9b..28dc88295 100644 --- a/src/frontend/apps/impress/package.json +++ b/src/frontend/apps/impress/package.json @@ -26,7 +26,9 @@ "@ai-sdk/openai": "3.0.71", "@blocknote/code-block": "0.54.0", "@blocknote/core": "0.54.0", + "@blocknote/diagram-block": "0.54.0", "@blocknote/mantine": "0.54.0", + "@blocknote/math-block": "0.54.0", "@blocknote/react": "0.54.0", "@blocknote/xl-ai": "0.54.0", "@blocknote/xl-docx-exporter": "0.54.0", @@ -46,6 +48,7 @@ "@mantine/core": "9.5.2", "@mantine/hooks": "9.5.2", "@react-aria/live-announcer": "3.5.1", + "@react-pdf/math": "2.0.1", "@react-pdf/renderer": "4.9.0", "@sentry/nextjs": "10.70.0", "@tanstack/react-query": "5.102.2", @@ -63,6 +66,8 @@ "idb": "8.0.3", "lodash": "4.18.1", "luxon": "3.7.2", + "mathjax-full": "3.2.2", + "mathml2omml": "0.5.0", "next": "16.3.2", "posthog-js": "1.418.10", "react": "*", diff --git a/src/frontend/apps/impress/src/features/docs/doc-editor/components/BlockNoteEditor.tsx b/src/frontend/apps/impress/src/features/docs/doc-editor/components/BlockNoteEditor.tsx index aa3190e85..064ece2fe 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-editor/components/BlockNoteEditor.tsx +++ b/src/frontend/apps/impress/src/features/docs/doc-editor/components/BlockNoteEditor.tsx @@ -1,4 +1,4 @@ -import { codeBlockOptions } from '@blocknote/code-block'; +import { codeBlockOptions, syntaxHighlighter } from '@blocknote/code-block'; import { BlockNoteSchema, createCodeBlockSpec, @@ -10,8 +10,17 @@ import { CommentsExtension } from '@blocknote/core/comments'; import '@blocknote/core/fonts/inter.css'; import * as localesBN from '@blocknote/core/locales'; import { withCollaboration } from '@blocknote/core/yjs'; +import { + createReactDiagramBlockSpec, + locales as diagramLocales, +} from '@blocknote/diagram-block'; import { BlockNoteView } from '@blocknote/mantine'; import '@blocknote/mantine/style.css'; +import { + createReactInlineMathSpec, + createReactMathBlockSpec, + locales as mathLocales, +} from '@blocknote/math-block'; import { FloatingComposerController, FloatingThreadController, @@ -75,12 +84,15 @@ const baseBlockNoteSchema = withPageBreak( ...defaultBlockSpecs, callout: CalloutBlock(), codeBlock: createCodeBlockSpec(codeBlockOptions), + diagram: createReactDiagramBlockSpec(), + mathBlock: createReactMathBlockSpec(), pdf: PdfBlock(), uploadLoader: UploadLoaderBlock(), }, inlineContentSpecs: { ...defaultInlineContentSpecs, interlinkingLinkInline: InterlinkingLinkInlineContent, + math: createReactInlineMathSpec(), }, }), ); @@ -115,6 +127,11 @@ export const BlockNoteEditor = ({ doc, provider }: BlockNoteEditorProps) => { !i18n.resolvedLanguage || !(i18n.resolvedLanguage in localesBNAI) ? DEFAULT_LOCALE : i18n.resolvedLanguage; + // The math and diagram blocks ship the same set of locales. + const langLocalesBNMathDiagram = + !i18n.resolvedLanguage || !(i18n.resolvedLanguage in mathLocales) + ? DEFAULT_LOCALE + : i18n.resolvedLanguage; const { uploadFile, errorAttachment } = useUploadFile(doc.id); const conf = useConfig().data; @@ -205,6 +222,11 @@ export const BlockNoteEditor = ({ doc, provider }: BlockNoteEditorProps) => { }, dictionary: { ...localesBN[langLocalesBN as keyof typeof localesBN], + math: mathLocales[langLocalesBNMathDiagram as keyof typeof mathLocales], + diagram: + diagramLocales[ + langLocalesBNMathDiagram as keyof typeof diagramLocales + ], ...(localesBNMultiColumn && { multi_column: localesBNMultiColumn[ @@ -234,6 +256,9 @@ export const BlockNoteEditor = ({ doc, provider }: BlockNoteEditorProps) => { return defaultPasteHandler(); }, extensions: [ + // Highlights the source of code blocks and of the math / diagram + // blocks' editable LaTeX / Mermaid popups. + syntaxHighlighter, CommentsExtension({ threadStore, resolveUsers }), ...(aiExtension ? [aiExtension] : []), ], @@ -265,6 +290,7 @@ export const BlockNoteEditor = ({ doc, provider }: BlockNoteEditorProps) => { langLocalesBN, langLocalesBNMultiColumn, langLocalesBNAI, + langLocalesBNMathDiagram, provider, uploadFile, threadStore, diff --git a/src/frontend/apps/impress/src/features/docs/doc-editor/components/BlockNoteSuggestionMenu.tsx b/src/frontend/apps/impress/src/features/docs/doc-editor/components/BlockNoteSuggestionMenu.tsx index 805377f69..9af05c784 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-editor/components/BlockNoteSuggestionMenu.tsx +++ b/src/frontend/apps/impress/src/features/docs/doc-editor/components/BlockNoteSuggestionMenu.tsx @@ -1,5 +1,7 @@ import { combineByGroup } from '@blocknote/core'; import { filterSuggestionItems } from '@blocknote/core/extensions'; +import { getDiagramSlashMenuItems } from '@blocknote/diagram-block'; +import { getMathSlashMenuItems } from '@blocknote/math-block'; import { DefaultReactSuggestionItem, SuggestionMenuController, @@ -57,6 +59,8 @@ export const BlockNoteSuggestionMenu = ({ getMultiColumnSlashMenuItems?.(editor) || [], getPdfReactSlashMenuItems(editor, t, fileBlocksName), getCalloutReactSlashMenuItems(editor, t, basicBlocksName), + getMathSlashMenuItems(editor), + getDiagramSlashMenuItems(editor), aiAllowed && getAISlashMenuItems ? getAISlashMenuItems(editor) : [], ); diff --git a/src/frontend/apps/impress/src/features/docs/doc-editor/components/BlockNoteToolBar/BlockNoteToolbar.tsx b/src/frontend/apps/impress/src/features/docs/doc-editor/components/BlockNoteToolBar/BlockNoteToolbar.tsx index d187045b5..0c98b2de5 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-editor/components/BlockNoteToolBar/BlockNoteToolbar.tsx +++ b/src/frontend/apps/impress/src/features/docs/doc-editor/components/BlockNoteToolBar/BlockNoteToolbar.tsx @@ -1,8 +1,11 @@ +import { getDiagramBlockTypeSelectItems } from '@blocknote/diagram-block'; +import { getMathBlockTypeSelectItems } from '@blocknote/math-block'; import { FormattingToolbar, FormattingToolbarController, blockTypeSelectItems, getFormattingToolbarItems, + useBlockNoteEditor, useDictionary, } from '@blocknote/react'; import dynamic from 'next/dynamic'; @@ -30,6 +33,7 @@ const ModalConfirmDownloadUnsafe = dynamic( const AIToolbarButton = BlockNoteAI?.AIToolbarButton; export const BlockNoteToolbar = ({ aiAllowed }: { aiAllowed: boolean }) => { + const editor = useBlockNoteEditor(); const dict = useDictionary(); const [confirmOpen, setIsConfirmOpen] = useState(false); const [onConfirm, setOnConfirm] = useState<() => void | Promise>(); @@ -40,6 +44,8 @@ export const BlockNoteToolbar = ({ aiAllowed }: { aiAllowed: boolean }) => { let toolbarItems = getFormattingToolbarItems([ ...blockTypeSelectItems(dict), getCalloutFormattingToolbarItems(t), + ...getMathBlockTypeSelectItems(editor), + ...getDiagramBlockTypeSelectItems(editor), ]); // Find the index of the file download button @@ -75,7 +81,7 @@ export const BlockNoteToolbar = ({ aiAllowed }: { aiAllowed: boolean }) => { }); return toolbarItems; - }, [dict, t]); + }, [dict, editor, t]); const formattingToolbar = useCallback(() => { return ( diff --git a/src/frontend/apps/impress/src/features/docs/doc-export/mappingDocx.tsx b/src/frontend/apps/impress/src/features/docs/doc-export/mappingDocx.tsx index dc8afc2f4..07d3c8c89 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-export/mappingDocx.tsx +++ b/src/frontend/apps/impress/src/features/docs/doc-export/mappingDocx.tsx @@ -1,3 +1,8 @@ +import { diagramBlockMapping } from '@blocknote/diagram-block/docx-exporter'; +import { + inlineMathMapping, + mathBlockMapping, +} from '@blocknote/math-block/docx-exporter'; import { docxDefaultSchemaMappings } from '@blocknote/xl-docx-exporter'; import { @@ -18,6 +23,10 @@ export const docxDocsSchemaMappings: DocsExporterDocx['mappings'] = { // implementation signature, so we can reuse the handler directly. // eslint-disable-next-line @typescript-eslint/no-explicit-any pdf: docxDefaultSchemaMappings.blockMapping.file as any, + // Renders the LaTeX as a native (editable) Word equation. + mathBlock: mathBlockMapping, + // Renders the Mermaid source to a PNG in the browser (async mapping). + diagram: diagramBlockMapping, quote: blockMappingQuoteDocx, image: blockMappingImageDocx, uploadLoader: blockMappingUploadLoaderDocx, @@ -48,6 +57,8 @@ export const docxDocsSchemaMappings: DocsExporterDocx['mappings'] = { inlineContentMapping: { ...docxDefaultSchemaMappings.inlineContentMapping, interlinkingLinkInline: inlineContentMappingInterlinkingLinkDocx, + // Renders inline math as a native (editable) Word equation. + math: inlineMathMapping, }, styleMapping: { ...docxDefaultSchemaMappings.styleMapping, diff --git a/src/frontend/apps/impress/src/features/docs/doc-export/mappingODT.ts b/src/frontend/apps/impress/src/features/docs/doc-export/mappingODT.ts index ea37c7420..a1fd1c2ae 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-export/mappingODT.ts +++ b/src/frontend/apps/impress/src/features/docs/doc-export/mappingODT.ts @@ -1,3 +1,8 @@ +import { diagramBlockMapping } from '@blocknote/diagram-block/odt-exporter'; +import { + inlineMathMapping, + mathBlockMapping, +} from '@blocknote/math-block/odt-exporter'; import { odtDefaultSchemaMappings } from '@blocknote/xl-odt-exporter'; import { @@ -23,10 +28,16 @@ export const odtDocsSchemaMappings: DocsExporterODT['mappings'] = { // eslint-disable-next-line @typescript-eslint/no-explicit-any pdf: odtDefaultSchemaMappings.blockMapping.file as any, uploadLoader: blockMappingUploadLoaderODT, + // Renders the LaTeX as a native (editable) ODF formula object. + mathBlock: mathBlockMapping, + // Renders the Mermaid source to a PNG in the browser (async mapping). + diagram: diagramBlockMapping, }, inlineContentMapping: { ...baseInlineMappings, interlinkingLinkInline: inlineContentMappingInterlinkingLinkODT, + // Renders inline math as a native (editable) ODF formula object. + math: inlineMathMapping, }, }; diff --git a/src/frontend/apps/impress/src/features/docs/doc-export/mappingPDF.tsx b/src/frontend/apps/impress/src/features/docs/doc-export/mappingPDF.tsx index 1431715d6..a37ca068b 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-export/mappingPDF.tsx +++ b/src/frontend/apps/impress/src/features/docs/doc-export/mappingPDF.tsx @@ -1,3 +1,8 @@ +import { diagramBlockMapping } from '@blocknote/diagram-block/pdf-exporter'; +import { + inlineMathMapping, + mathBlockMapping, +} from '@blocknote/math-block/pdf-exporter'; import { pdfDefaultSchemaMappings } from '@blocknote/xl-pdf-exporter'; import { @@ -27,10 +32,16 @@ export const pdfDocsSchemaMappings: DocsExporterPDF['mappings'] = { // eslint-disable-next-line @typescript-eslint/no-explicit-any pdf: pdfDefaultSchemaMappings.blockMapping.file as any, uploadLoader: blockMappingUploadLoaderPDF, + // Renders the LaTeX as a vector formula (via @react-pdf/math). + mathBlock: mathBlockMapping, + // Renders the Mermaid source to a PNG in the browser (async mapping). + diagram: diagramBlockMapping, }, inlineContentMapping: { ...pdfDefaultSchemaMappings.inlineContentMapping, interlinkingLinkInline: inlineContentMappingInterlinkingLinkPDF, + // Inline math is rasterized to an image that flows with the text. + math: inlineMathMapping, }, styleMapping: { ...pdfDefaultSchemaMappings.styleMapping, diff --git a/src/frontend/apps/impress/src/features/docs/doc-export/utils_print.ts b/src/frontend/apps/impress/src/features/docs/doc-export/utils_print.ts index d5a8aea0c..cdbd30bf1 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-export/utils_print.ts +++ b/src/frontend/apps/impress/src/features/docs/doc-export/utils_print.ts @@ -30,8 +30,8 @@ const PRINT_ONLY_CONTENT_CSS = ` div[data-is-empty-and-focused="true"], div[data-floating-ui-focusable], .collaboration-cursor-custom__base, - .c__toast__container - { + .bn-source-block-popup, + .c__toast__container { display: none !important; } diff --git a/src/frontend/apps/impress/src/features/docs/doc-presenter/hooks/useSlides.ts b/src/frontend/apps/impress/src/features/docs/doc-presenter/hooks/useSlides.ts index c19c3ff24..24b221826 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-presenter/hooks/useSlides.ts +++ b/src/frontend/apps/impress/src/features/docs/doc-presenter/hooks/useSlides.ts @@ -26,7 +26,11 @@ const extractInlineText = (content: PresenterBlock['content']): string => { return node.text; } if ('content' in node && node.content !== undefined) { - return extractInlineText(node.content); + // Plain inline content (e.g. inline math) exposes its content as a + // raw string rather than a list of inline nodes. + return typeof node.content === 'string' + ? node.content + : extractInlineText(node.content); } } return ''; diff --git a/src/frontend/yarn.lock b/src/frontend/yarn.lock index c0a956cba..537fb4056 100644 --- a/src/frontend/yarn.lock +++ b/src/frontend/yarn.lock @@ -80,6 +80,14 @@ swr "^2.2.5" throttleit "2.1.0" +"@antfu/install-pkg@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@antfu/install-pkg/-/install-pkg-1.1.0.tgz#78fa036be1a6081b5a77a5cf59f50c7752b6ba26" + integrity sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ== + dependencies: + package-manager-detector "^1.3.0" + tinyexec "^1.0.1" + "@apideck/better-ajv-errors@^0.3.1": version "0.3.6" resolved "https://registry.yarnpkg.com/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz#957d4c28e886a64a8141f7522783be65733ff097" @@ -1366,6 +1374,15 @@ prosemirror-transform "^1.12.0" prosemirror-view "^1.42.2" +"@blocknote/diagram-block@0.54.0": + version "0.54.0" + resolved "https://registry.yarnpkg.com/@blocknote/diagram-block/-/diagram-block-0.54.0.tgz#633fbe9a906211c2de4284bc4d5bf4bd3f21b20a" + integrity sha512-i9CGjq7KiT0Kta5R3WhInv5wlLyLxjZ83MwRbzH96IbdxC7YMopnj8Q+0/1Ul4hiJoBJ+Wwm68nDmA8yqBpeBw== + dependencies: + "@blocknote/core" "^0.54.0" + "@blocknote/react" "^0.54.0" + mermaid "^11.0.0" + "@blocknote/mantine@0.54.0": version "0.54.0" resolved "https://registry.yarnpkg.com/@blocknote/mantine/-/mantine-0.54.0.tgz#1ffea37ccf5442b67c79691a50bc288e94b850a6" @@ -1374,6 +1391,18 @@ "@blocknote/core" "^0.54.0" "@blocknote/react" "^0.54.0" +"@blocknote/math-block@0.54.0": + version "0.54.0" + resolved "https://registry.yarnpkg.com/@blocknote/math-block/-/math-block-0.54.0.tgz#ff42b2801a0aaba1f047c2b20eda0a885cd006a3" + integrity sha512-dguY+E2/Y51ZLE+ZJjkemSY1p16OvIpA7N56LJpT6gbNQAB9awRqWxsn64xTVwSpK5u9UVpdj18i2aBzf2Bfvg== + dependencies: + "@blocknote/core" "^0.54.0" + "@blocknote/react" "^0.54.0" + "@handlewithcare/prosemirror-inputrules" "^0.1.4" + katex "^0.16.11" + prosemirror-model "^1.25.4" + prosemirror-state "^1.4.4" + "@blocknote/react@0.54.0", "@blocknote/react@^0.54.0": version "0.54.0" resolved "https://registry.yarnpkg.com/@blocknote/react/-/react-0.54.0.tgz#a5c397fc619479ab13b826356dbb90003ac13bce" @@ -1466,6 +1495,11 @@ "@blocknote/xl-multi-column" "^0.54.0" "@react-pdf/renderer" "^4.5.1" +"@braintree/sanitize-url@^7.1.2": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-7.1.2.tgz#ca2035b0fefe956a8676ff0c69af73e605fcd81f" + integrity sha512-jigsZK+sMF/cuiB7sERuo9V7N9jx+dhmHHnQyDSVdpZwVutaBu7WvNYqMDLSgFgfB30n452TP3vjDAvFC973mA== + "@bramus/specificity@^2.4.2": version "2.4.2" resolved "https://registry.yarnpkg.com/@bramus/specificity/-/specificity-2.4.2.tgz#aa8db8eb173fdee7324f82284833106adeecc648" @@ -1491,6 +1525,11 @@ hashery "^1.3.0" keyv "^5.6.0" +"@chevrotain/types@~11.1.2": + version "11.1.2" + resolved "https://registry.yarnpkg.com/@chevrotain/types/-/types-11.1.2.tgz#e83a1a2704f0c5e49e7592b214031a0f4a34d7e5" + integrity sha512-U+HFai5+zmJCkK86QsaJtoITlboZHBqrVketcO2ROv865xfCMSFpELQoz1GkX5GzME8pTa+3kbKrZHQtI0gdbw== + "@cspotcode/source-map-support@^0.8.0": version "0.8.1" resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" @@ -2243,6 +2282,20 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.3.tgz#c2b9d2e374ee62c586d3adbea87199b1d7a7a6ba" integrity sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ== +"@iconify/types@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@iconify/types/-/types-2.0.0.tgz#ab0e9ea681d6c8a1214f30cd741fe3a20cc57f57" + integrity sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg== + +"@iconify/utils@^3.0.2": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@iconify/utils/-/utils-3.1.4.tgz#04dad014e8ed80b1bbe341f5d090059ea0c60578" + integrity sha512-b1S7B1k9ohZ+iNTi2ATxbRYG9fTrJmUT0rc46bvVnNxqNRGW7dyo/vRREwyniI5IRN2RSJHDcm+s3BjWrSAjHw== + dependencies: + "@antfu/install-pkg" "^1.1.0" + "@iconify/types" "^2.0.0" + import-meta-resolve "^4.2.0" + "@img/colour@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@img/colour/-/colour-1.1.0.tgz#b0c2c2fa661adf75effd6b4964497cd80010bb9d" @@ -2856,6 +2909,13 @@ resolved "https://registry.yarnpkg.com/@mantine/hooks/-/hooks-9.5.2.tgz#f8bb6dffcc62cf2adad8a01056f8d66ceb687f36" integrity sha512-CsANdaF07VRhcvDCupIvAPtIqU1NxYSc+bhFCCasDHpgJOUQxmqeMOGCCGSjtOOEIs+E+pt2ZbbdfnygDYPybA== +"@mermaid-js/parser@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@mermaid-js/parser/-/parser-1.2.1.tgz#94cc40416137bb10d2bc1b0a49c623d716e76233" + integrity sha512-n12NohV3mrUyUL2o93IgG/ifeW9FTyeJn3zDxkhwa8MJ9Fxg3HQMlA3RiGmD/3UnJvheztkjjQAjA2T4LmUcpw== + dependencies: + "@chevrotain/types" "~11.1.2" + "@napi-rs/canvas-android-arm64@0.1.100": version "0.1.100" resolved "https://registry.yarnpkg.com/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-0.1.100.tgz#b7c68b91d57702a5fc523fa82de72ea741e6766e" @@ -4182,6 +4242,14 @@ queue "^6.0.1" yoga-layout "^3.2.1" +"@react-pdf/math@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@react-pdf/math/-/math-2.0.1.tgz#8a1fcc9ab244df7a228d75caf1ed48f2290ba36d" + integrity sha512-o+QQA03iT76RiKe8uhOgof+5X7GzA4SUjjPbffi6IGwcOotuxTKm3uhZAnx18ioylSpJf4BcVgUazzb5Ycv8qw== + dependencies: + "@react-pdf/svg" "^1.1.0" + mathjax-full "^3.2.2" + "@react-pdf/paginate@1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@react-pdf/paginate/-/paginate-1.0.1.tgz#9b270c747d5092be69ea1f1babee5b673a622442" @@ -4247,7 +4315,7 @@ media-engine "^2.0.0" postcss-value-parser "^4.1.0" -"@react-pdf/svg@^1.1.1": +"@react-pdf/svg@^1.1.0", "@react-pdf/svg@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@react-pdf/svg/-/svg-1.1.1.tgz#23088a91590a4132c292c7e5af4987472ce42f98" integrity sha512-m1GmGxV2wg/3VpoQ0aCJ598fBedCCfN+HtxKx1lq5kdwUWEaTbfXI1DGFAUedprFDd/i24okKFaUhV/KVZIqIQ== @@ -5817,6 +5885,216 @@ dependencies: "@types/node" "*" +"@types/d3-array@*": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@types/d3-array/-/d3-array-3.2.2.tgz#e02151464d02d4a1b44646d0fcdb93faf88fde8c" + integrity sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw== + +"@types/d3-axis@*": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@types/d3-axis/-/d3-axis-3.0.6.tgz#e760e5765b8188b1defa32bc8bb6062f81e4c795" + integrity sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw== + dependencies: + "@types/d3-selection" "*" + +"@types/d3-brush@*": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@types/d3-brush/-/d3-brush-3.0.6.tgz#c2f4362b045d472e1b186cdbec329ba52bdaee6c" + integrity sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A== + dependencies: + "@types/d3-selection" "*" + +"@types/d3-chord@*": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@types/d3-chord/-/d3-chord-3.0.6.tgz#1706ca40cf7ea59a0add8f4456efff8f8775793d" + integrity sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg== + +"@types/d3-color@*": + version "3.1.3" + resolved "https://registry.yarnpkg.com/@types/d3-color/-/d3-color-3.1.3.tgz#368c961a18de721da8200e80bf3943fb53136af2" + integrity sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A== + +"@types/d3-contour@*": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@types/d3-contour/-/d3-contour-3.0.6.tgz#9ada3fa9c4d00e3a5093fed0356c7ab929604231" + integrity sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg== + dependencies: + "@types/d3-array" "*" + "@types/geojson" "*" + +"@types/d3-delaunay@*": + version "6.0.4" + resolved "https://registry.yarnpkg.com/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz#185c1a80cc807fdda2a3fe960f7c11c4a27952e1" + integrity sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw== + +"@types/d3-dispatch@*": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@types/d3-dispatch/-/d3-dispatch-3.0.7.tgz#ef004d8a128046cfce434d17182f834e44ef95b2" + integrity sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA== + +"@types/d3-drag@*": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@types/d3-drag/-/d3-drag-3.0.7.tgz#b13aba8b2442b4068c9a9e6d1d82f8bcea77fc02" + integrity sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ== + dependencies: + "@types/d3-selection" "*" + +"@types/d3-dsv@*": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@types/d3-dsv/-/d3-dsv-3.0.7.tgz#0a351f996dc99b37f4fa58b492c2d1c04e3dac17" + integrity sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g== + +"@types/d3-ease@*": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/d3-ease/-/d3-ease-3.0.2.tgz#e28db1bfbfa617076f7770dd1d9a48eaa3b6c51b" + integrity sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA== + +"@types/d3-fetch@*": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@types/d3-fetch/-/d3-fetch-3.0.7.tgz#c04a2b4f23181aa376f30af0283dbc7b3b569980" + integrity sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA== + dependencies: + "@types/d3-dsv" "*" + +"@types/d3-force@*": + version "3.0.10" + resolved "https://registry.yarnpkg.com/@types/d3-force/-/d3-force-3.0.10.tgz#6dc8fc6e1f35704f3b057090beeeb7ac674bff1a" + integrity sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw== + +"@types/d3-format@*": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/d3-format/-/d3-format-3.0.4.tgz#b1e4465644ddb3fdf3a263febb240a6cd616de90" + integrity sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g== + +"@types/d3-geo@*": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@types/d3-geo/-/d3-geo-3.1.1.tgz#9e283af179601c549581600b3fec25941911329d" + integrity sha512-65Emv9fQiQQqphLlRkuQ5ypPsOmWPhtBGCMv61JDPEPMvsx+gzhGf74yw1a78xFKPj6zw4AgQICJoQv0vK9M2w== + dependencies: + "@types/geojson" "*" + +"@types/d3-hierarchy@*": + version "3.1.7" + resolved "https://registry.yarnpkg.com/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz#6023fb3b2d463229f2d680f9ac4b47466f71f17b" + integrity sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg== + +"@types/d3-interpolate@*": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz#412b90e84870285f2ff8a846c6eb60344f12a41c" + integrity sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA== + dependencies: + "@types/d3-color" "*" + +"@types/d3-path@*": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@types/d3-path/-/d3-path-3.1.1.tgz#f632b380c3aca1dba8e34aa049bcd6a4af23df8a" + integrity sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg== + +"@types/d3-polygon@*": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/d3-polygon/-/d3-polygon-3.0.2.tgz#dfae54a6d35d19e76ac9565bcb32a8e54693189c" + integrity sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA== + +"@types/d3-quadtree@*": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz#d4740b0fe35b1c58b66e1488f4e7ed02952f570f" + integrity sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg== + +"@types/d3-random@*": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/d3-random/-/d3-random-3.0.4.tgz#6bd3683b8332fc0f01e7059b7636bc5c7ede7337" + integrity sha512-UHYId5WTCx4L4YNel7NU00XUXXgvgpgZOvp10PuvsQENjMDXhh2RyFc0KBjO7B45ne4Ha1yVH7ii0vnzKkuzWA== + +"@types/d3-scale-chromatic@*": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz#dc6d4f9a98376f18ea50bad6c39537f1b5463c39" + integrity sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ== + +"@types/d3-scale@*": + version "4.0.9" + resolved "https://registry.yarnpkg.com/@types/d3-scale/-/d3-scale-4.0.9.tgz#57a2f707242e6fe1de81ad7bfcccaaf606179afb" + integrity sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw== + dependencies: + "@types/d3-time" "*" + +"@types/d3-selection@*": + version "3.0.11" + resolved "https://registry.yarnpkg.com/@types/d3-selection/-/d3-selection-3.0.11.tgz#bd7a45fc0a8c3167a631675e61bc2ca2b058d4a3" + integrity sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w== + +"@types/d3-shape@*": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@types/d3-shape/-/d3-shape-3.2.0.tgz#66ff342011dc243c6c20e6b899523d148aca412d" + integrity sha512-kVd74ta9eof3eJOvbNd1vGKS/XERRyQbT26Og63hIsvDO84cjD5gEOhsXf26w3FSoNlPVz84DOFcKv/oou+fMw== + dependencies: + "@types/d3-path" "*" + +"@types/d3-time-format@*": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/d3-time-format/-/d3-time-format-4.0.3.tgz#d6bc1e6b6a7db69cccfbbdd4c34b70632d9e9db2" + integrity sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg== + +"@types/d3-time@*": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/d3-time/-/d3-time-3.0.4.tgz#8472feecd639691450dd8000eb33edd444e1323f" + integrity sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g== + +"@types/d3-timer@*": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/d3-timer/-/d3-timer-3.0.2.tgz#70bbda77dc23aa727413e22e214afa3f0e852f70" + integrity sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw== + +"@types/d3-transition@*": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@types/d3-transition/-/d3-transition-3.0.9.tgz#1136bc57e9ddb3c390dccc9b5ff3b7d2b8d94706" + integrity sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg== + dependencies: + "@types/d3-selection" "*" + +"@types/d3-zoom@*": + version "3.0.8" + resolved "https://registry.yarnpkg.com/@types/d3-zoom/-/d3-zoom-3.0.8.tgz#dccb32d1c56b1e1c6e0f1180d994896f038bc40b" + integrity sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw== + dependencies: + "@types/d3-interpolate" "*" + "@types/d3-selection" "*" + +"@types/d3@^7.4.3": + version "7.4.3" + resolved "https://registry.yarnpkg.com/@types/d3/-/d3-7.4.3.tgz#d4550a85d08f4978faf0a4c36b848c61eaac07e2" + integrity sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww== + dependencies: + "@types/d3-array" "*" + "@types/d3-axis" "*" + "@types/d3-brush" "*" + "@types/d3-chord" "*" + "@types/d3-color" "*" + "@types/d3-contour" "*" + "@types/d3-delaunay" "*" + "@types/d3-dispatch" "*" + "@types/d3-drag" "*" + "@types/d3-dsv" "*" + "@types/d3-ease" "*" + "@types/d3-fetch" "*" + "@types/d3-force" "*" + "@types/d3-format" "*" + "@types/d3-geo" "*" + "@types/d3-hierarchy" "*" + "@types/d3-interpolate" "*" + "@types/d3-path" "*" + "@types/d3-polygon" "*" + "@types/d3-quadtree" "*" + "@types/d3-random" "*" + "@types/d3-scale" "*" + "@types/d3-scale-chromatic" "*" + "@types/d3-selection" "*" + "@types/d3-shape" "*" + "@types/d3-time" "*" + "@types/d3-time-format" "*" + "@types/d3-timer" "*" + "@types/d3-transition" "*" + "@types/d3-zoom" "*" + "@types/deep-eql@*": version "4.0.2" resolved "https://registry.yarnpkg.com/@types/deep-eql/-/deep-eql-4.0.2.tgz#334311971d3a07121e7eb91b684a605e7eea9cbd" @@ -5879,6 +6157,11 @@ "@types/express-serve-static-core" "^5.0.0" "@types/serve-static" "^2" +"@types/geojson@*": + version "7946.0.16" + resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.16.tgz#8ebe53d69efada7044454e3305c19017d97ced2a" + integrity sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg== + "@types/glob-to-regexp@^0.4.4": version "0.4.4" resolved "https://registry.yarnpkg.com/@types/glob-to-regexp/-/glob-to-regexp-0.4.4.tgz#409e71290253203185b1ea8a3d6ea406a4bdc902" @@ -6618,6 +6901,14 @@ resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz#538b1e103bf8d9864e7b85cc96fa8d6fb6c40777" integrity sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g== +"@upsetjs/venn.js@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@upsetjs/venn.js/-/venn.js-2.0.0.tgz#3be192038cdda927aa4f8b22ab51af82abf47f34" + integrity sha512-WbBhLrooyePuQ1VZxrJjtLvTc4NVfpOyKx0sKqioq9bX1C1m7Jgykkn8gLrtwumBioXIqam8DLxp88Adbue6Hw== + optionalDependencies: + d3-selection "^3.0.0" + d3-transition "^3.0.1" + "@vercel/oidc@3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@vercel/oidc/-/oidc-3.1.0.tgz#066caee449b84079f33c7445fc862464fe10ec32" @@ -6824,6 +7115,11 @@ "@webassemblyjs/ast" "1.14.1" "@xtuc/long" "4.2.2" +"@xmldom/xmldom@0.9.10": + version "0.9.10" + resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.9.10.tgz#a0ad5a26fe8aa996310870726e1704977f769dee" + integrity sha512-A9gOqLdi6cV4ibazAjcQufGj0B1y/vDqYrcuP6d/6x8P27gRS8643Dj9o1dEKtB6O7fwxb2FgBmJS2mX7gpvdw== + "@xtuc/ieee754@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" @@ -7803,6 +8099,11 @@ commander@13.1.0: resolved "https://registry.yarnpkg.com/commander/-/commander-13.1.0.tgz#776167db68c78f38dcce1f9b8d7b8b9a488abf46" integrity sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw== +commander@7, commander@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + commander@^12.1.0: version "12.1.0" resolved "https://registry.yarnpkg.com/commander/-/commander-12.1.0.tgz#01423b36f501259fdaac4d0e4d60c96c991585d3" @@ -7813,10 +8114,10 @@ commander@^2.20.0: resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -commander@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== +commander@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== commander@^9.0.0: version "9.5.0" @@ -7927,6 +8228,20 @@ cors@2.8.6: object-assign "^4" vary "^1" +cose-base@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/cose-base/-/cose-base-1.0.3.tgz#650334b41b869578a543358b80cda7e0abe0a60a" + integrity sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg== + dependencies: + layout-base "^1.0.0" + +cose-base@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cose-base/-/cose-base-2.2.0.tgz#1c395c35b6e10bb83f9769ca8b817d614add5c01" + integrity sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g== + dependencies: + layout-base "^2.0.0" + cosmiconfig@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" @@ -8079,6 +8394,304 @@ csstype@^3.0.2: resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== +cytoscape-cose-bilkent@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz#762fa121df9930ffeb51a495d87917c570ac209b" + integrity sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ== + dependencies: + cose-base "^1.0.0" + +cytoscape-fcose@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz#e4d6f6490df4fab58ae9cea9e5c3ab8d7472f471" + integrity sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ== + dependencies: + cose-base "^2.2.0" + +cytoscape@^3.34.0: + version "3.34.2" + resolved "https://registry.yarnpkg.com/cytoscape/-/cytoscape-3.34.2.tgz#295edfc876b87bd971de3ac7a9d65c6be18f4ad6" + integrity sha512-Cm2jaj1X/PBNlzV9yH8zcfGOxO7U+CJ/+mxSBVPSchLaugdp4jtlGx5qaHtPRZ6tgiZ5P+o1XoRfJA+ba6KM3g== + +"d3-array@1 - 2": + version "2.12.1" + resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-2.12.1.tgz#e20b41aafcdffdf5d50928004ececf815a465e81" + integrity sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ== + dependencies: + internmap "^1.0.0" + +"d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@3, d3-array@^3.2.0: + version "3.2.4" + resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-3.2.4.tgz#15fec33b237f97ac5d7c986dc77da273a8ed0bb5" + integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg== + dependencies: + internmap "1 - 2" + +d3-axis@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-axis/-/d3-axis-3.0.0.tgz#c42a4a13e8131d637b745fc2973824cfeaf93322" + integrity sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw== + +d3-brush@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-brush/-/d3-brush-3.0.0.tgz#6f767c4ed8dcb79de7ede3e1c0f89e63ef64d31c" + integrity sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ== + dependencies: + d3-dispatch "1 - 3" + d3-drag "2 - 3" + d3-interpolate "1 - 3" + d3-selection "3" + d3-transition "3" + +d3-chord@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-chord/-/d3-chord-3.0.1.tgz#d156d61f485fce8327e6abf339cb41d8cbba6966" + integrity sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g== + dependencies: + d3-path "1 - 3" + +"d3-color@1 - 3", d3-color@3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2" + integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA== + +d3-contour@4: + version "4.0.2" + resolved "https://registry.yarnpkg.com/d3-contour/-/d3-contour-4.0.2.tgz#bb92063bc8c5663acb2422f99c73cbb6c6ae3bcc" + integrity sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA== + dependencies: + d3-array "^3.2.0" + +d3-delaunay@6: + version "6.0.4" + resolved "https://registry.yarnpkg.com/d3-delaunay/-/d3-delaunay-6.0.4.tgz#98169038733a0a5babbeda55054f795bb9e4a58b" + integrity sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A== + dependencies: + delaunator "5" + +"d3-dispatch@1 - 3", d3-dispatch@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-3.0.1.tgz#5fc75284e9c2375c36c839411a0cf550cbfc4d5e" + integrity sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg== + +"d3-drag@2 - 3", d3-drag@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-drag/-/d3-drag-3.0.0.tgz#994aae9cd23c719f53b5e10e3a0a6108c69607ba" + integrity sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg== + dependencies: + d3-dispatch "1 - 3" + d3-selection "3" + +"d3-dsv@1 - 3", d3-dsv@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-3.0.1.tgz#c63af978f4d6a0d084a52a673922be2160789b73" + integrity sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q== + dependencies: + commander "7" + iconv-lite "0.6" + rw "1" + +"d3-ease@1 - 3", d3-ease@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-3.0.1.tgz#9658ac38a2140d59d346160f1f6c30fda0bd12f4" + integrity sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w== + +d3-fetch@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-fetch/-/d3-fetch-3.0.1.tgz#83141bff9856a0edb5e38de89cdcfe63d0a60a22" + integrity sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw== + dependencies: + d3-dsv "1 - 3" + +d3-force@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-3.0.0.tgz#3e2ba1a61e70888fe3d9194e30d6d14eece155c4" + integrity sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg== + dependencies: + d3-dispatch "1 - 3" + d3-quadtree "1 - 3" + d3-timer "1 - 3" + +"d3-format@1 - 3", d3-format@3: + version "3.1.2" + resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-3.1.2.tgz#01fdb46b58beb1f55b10b42ad70b6e344d5eb2ae" + integrity sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg== + +d3-geo@3: + version "3.1.1" + resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-3.1.1.tgz#6027cf51246f9b2ebd64f99e01dc7c3364033a4d" + integrity sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q== + dependencies: + d3-array "2.5.0 - 3" + +d3-hierarchy@3: + version "3.1.2" + resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz#b01cd42c1eed3d46db77a5966cf726f8c09160c6" + integrity sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA== + +"d3-interpolate@1 - 3", "d3-interpolate@1.2.0 - 3", d3-interpolate@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz#3c47aa5b32c5b3dfb56ef3fd4342078a632b400d" + integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== + dependencies: + d3-color "1 - 3" + +d3-path@1: + version "1.0.9" + resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-1.0.9.tgz#48c050bb1fe8c262493a8caf5524e3e9591701cf" + integrity sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg== + +"d3-path@1 - 3", d3-path@3, d3-path@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-3.1.0.tgz#22df939032fb5a71ae8b1800d61ddb7851c42526" + integrity sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ== + +d3-polygon@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-polygon/-/d3-polygon-3.0.1.tgz#0b45d3dd1c48a29c8e057e6135693ec80bf16398" + integrity sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg== + +"d3-quadtree@1 - 3", d3-quadtree@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-3.0.1.tgz#6dca3e8be2b393c9a9d514dabbd80a92deef1a4f" + integrity sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw== + +d3-random@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-random/-/d3-random-3.0.1.tgz#d4926378d333d9c0bfd1e6fa0194d30aebaa20f4" + integrity sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ== + +d3-sankey@^0.12.3: + version "0.12.3" + resolved "https://registry.yarnpkg.com/d3-sankey/-/d3-sankey-0.12.3.tgz#b3c268627bd72e5d80336e8de6acbfec9d15d01d" + integrity sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ== + dependencies: + d3-array "1 - 2" + d3-shape "^1.2.0" + +d3-scale-chromatic@3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz#34c39da298b23c20e02f1a4b239bd0f22e7f1314" + integrity sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ== + dependencies: + d3-color "1 - 3" + d3-interpolate "1 - 3" + +d3-scale@4: + version "4.0.2" + resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-4.0.2.tgz#82b38e8e8ff7080764f8dcec77bd4be393689396" + integrity sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ== + dependencies: + d3-array "2.10.0 - 3" + d3-format "1 - 3" + d3-interpolate "1.2.0 - 3" + d3-time "2.1.1 - 3" + d3-time-format "2 - 4" + +"d3-selection@2 - 3", d3-selection@3, d3-selection@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-3.0.0.tgz#c25338207efa72cc5b9bd1458a1a41901f1e1b31" + integrity sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ== + +d3-shape@3: + version "3.2.0" + resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-3.2.0.tgz#a1a839cbd9ba45f28674c69d7f855bcf91dfc6a5" + integrity sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA== + dependencies: + d3-path "^3.1.0" + +d3-shape@^1.2.0: + version "1.3.7" + resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.3.7.tgz#df63801be07bc986bc54f63789b4fe502992b5d7" + integrity sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw== + dependencies: + d3-path "1" + +"d3-time-format@2 - 4", d3-time-format@4: + version "4.1.0" + resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-4.1.0.tgz#7ab5257a5041d11ecb4fe70a5c7d16a195bb408a" + integrity sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg== + dependencies: + d3-time "1 - 3" + +"d3-time@1 - 3", "d3-time@2.1.1 - 3", d3-time@3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-3.1.0.tgz#9310db56e992e3c0175e1ef385e545e48a9bb5c7" + integrity sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q== + dependencies: + d3-array "2 - 3" + +"d3-timer@1 - 3", d3-timer@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-3.0.1.tgz#6284d2a2708285b1abb7e201eda4380af35e63b0" + integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA== + +"d3-transition@2 - 3", d3-transition@3, d3-transition@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-3.0.1.tgz#6869fdde1448868077fdd5989200cb61b2a1645f" + integrity sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w== + dependencies: + d3-color "1 - 3" + d3-dispatch "1 - 3" + d3-ease "1 - 3" + d3-interpolate "1 - 3" + d3-timer "1 - 3" + +d3-zoom@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-3.0.0.tgz#d13f4165c73217ffeaa54295cd6969b3e7aee8f3" + integrity sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw== + dependencies: + d3-dispatch "1 - 3" + d3-drag "2 - 3" + d3-interpolate "1 - 3" + d3-selection "2 - 3" + d3-transition "2 - 3" + +d3@^7.9.0: + version "7.9.0" + resolved "https://registry.yarnpkg.com/d3/-/d3-7.9.0.tgz#579e7acb3d749caf8860bd1741ae8d371070cd5d" + integrity sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA== + dependencies: + d3-array "3" + d3-axis "3" + d3-brush "3" + d3-chord "3" + d3-color "3" + d3-contour "4" + d3-delaunay "6" + d3-dispatch "3" + d3-drag "3" + d3-dsv "3" + d3-ease "3" + d3-fetch "3" + d3-force "3" + d3-format "3" + d3-geo "3" + d3-hierarchy "3" + d3-interpolate "3" + d3-path "3" + d3-polygon "3" + d3-quadtree "3" + d3-random "3" + d3-scale "4" + d3-scale-chromatic "3" + d3-selection "3" + d3-shape "3" + d3-time "3" + d3-time-format "4" + d3-timer "3" + d3-transition "3" + d3-zoom "3" + +dagre-d3-es@7.0.14: + version "7.0.14" + resolved "https://registry.yarnpkg.com/dagre-d3-es/-/dagre-d3-es-7.0.14.tgz#1272276e26457cf3b97dac569f8f0531ec33c377" + integrity sha512-P4rFMVq9ESWqmOgK+dlXvOtLwYg0i7u0HBGJER0LZDJT2VHIPAMZ/riPxqJceWMStH5+E61QxFra9kIS3AqdMg== + dependencies: + d3 "^7.9.0" + lodash-es "^4.17.21" + damerau-levenshtein@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" @@ -8119,6 +8732,11 @@ data-view-byte-offset@^1.0.1: es-errors "^1.3.0" is-data-view "^1.0.1" +dayjs@^1.11.21: + version "1.11.23" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.23.tgz#b0a363506dde5f36cf5075e42ebe8115165a8c79" + integrity sha512-QDTCU0M0MxR3hQfnlDJfwekQiaanm1ubOD231u73WBckQ/fsamwRLiE2GBz6D3a/xF1NgfiDLJjXBa1hYOYTtQ== + debug@4, debug@^4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.5, debug@^4.3.7, debug@^4.4.0, debug@^4.4.1, debug@^4.4.3: version "4.4.3" resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" @@ -8178,6 +8796,13 @@ define-properties@^1.1.3, define-properties@^1.2.1: has-property-descriptors "^1.0.0" object-keys "^1.1.1" +delaunator@5: + version "5.1.0" + resolved "https://registry.yarnpkg.com/delaunator/-/delaunator-5.1.0.tgz#d13271fbf3aff6753f9ea6e235557f20901046ea" + integrity sha512-AGrQ4QSgssa1NGmWmLPqN5NY2KajF5MqxetNEO+o0n3ZwZZeTmt7bBnvzHWrmkZFxGgr4HdyFgelzgi06otLuQ== + dependencies: + robust-predicates "^3.0.2" + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -8307,7 +8932,7 @@ domhandler@^5.0.2, domhandler@^5.0.3: dependencies: domelementtype "^2.3.0" -dompurify@3.4.14, dompurify@^3.4.13: +dompurify@3.4.14, dompurify@^3.3.3, dompurify@^3.4.13: version "3.4.14" resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.4.14.tgz#a789edb2c7bcdb69a93713a34edb7e0a5245d8c9" integrity sha512-dVoH9z+MY+C9IilgGCk3YfFqjLi3fChm2OiKJMzh6axrJ5qwxqWaZamgmHrpv22CN/KdbZJuGEGgfQoL00LTdg== @@ -8621,6 +9246,11 @@ es-to-primitive@^1.3.0: is-date-object "^1.0.5" is-symbol "^1.0.4" +es-toolkit@^1.45.1: + version "1.52.0" + resolved "https://registry.yarnpkg.com/es-toolkit/-/es-toolkit-1.52.0.tgz#71eaf1a8b18834ef77637eccbb885ba4c03cd6dd" + integrity sha512-XTNEJQh1tY1ZJVcf6ayP/2n4ZPyaHlW2FWs7xvw5ddPuhUVjLD3olQVQS7kf58JbAB48iL0uL/jerTrjtV3lDA== + esbuild@^0.25.0: version "0.25.11" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.25.11.tgz#0f31b82f335652580f75ef6897bba81962d9ae3d" @@ -8931,6 +9561,11 @@ eslint@10.9.0: natural-compare "^1.4.0" optionator "^0.9.3" +esm@^3.2.25: + version "3.2.25" + resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" + integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== + espree@^11.2.0: version "11.2.0" resolved "https://registry.yarnpkg.com/espree/-/espree-11.2.0.tgz#01d5e47dc332aaba3059008362454a8cc34ccaa5" @@ -9175,6 +9810,13 @@ fast-uri@^3.0.1: resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.1.2.tgz#8af3d4fc9d3e71b11572cc2673b514a7d1a8c8ec" integrity sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ== +fastdom@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/fastdom/-/fastdom-1.0.12.tgz#ae43d55af017252ae499b2e186511ab97412de39" + integrity sha512-LB+xjSTEbjHE1cWsxu+tN2Xqr1kpi+V9aADI7sVM5ZMaXyYGPHULQMzpJMYqOTULK/73pUkWVzzObFRBkPr+hg== + dependencies: + strictdom "^1.0.1" + fastest-levenshtein@^1.0.16: version "1.0.16" resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" @@ -9703,6 +10345,11 @@ gulp-sort@^2.0.0: dependencies: through2 "^2.0.1" +hachure-fill@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/hachure-fill/-/hachure-fill-0.5.2.tgz#d19bc4cc8750a5962b47fb1300557a85fcf934cc" + integrity sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg== + handlebars@^4.7.9: version "4.7.9" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.9.tgz#6f139082ab58dc4e5a0e51efe7db5ae890d56a0f" @@ -9979,7 +10626,7 @@ i18next@26.4.0: dependencies: "@babel/runtime" "^7.26.10" -iconv-lite@0.6.3, iconv-lite@^0.6.3: +iconv-lite@0.6, iconv-lite@0.6.3, iconv-lite@^0.6.3: version "0.6.3" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== @@ -10066,6 +10713,11 @@ import-local@^3.2.0: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" +import-meta-resolve@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz#08cb85b5bd37ecc8eb1e0f670dc2767002d43734" + integrity sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg== + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -10103,6 +10755,16 @@ internal-slot@^1.1.0: hasown "^2.0.2" side-channel "^1.1.0" +"internmap@1 - 2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/internmap/-/internmap-2.0.3.tgz#6685f23755e43c524e251d29cbc97248e3061009" + integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg== + +internmap@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/internmap/-/internmap-1.0.1.tgz#0017cc8a3b99605f0302f2b198d272e015e5df95" + integrity sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw== + intl-messageformat@^10.1.0: version "10.7.18" resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.7.18.tgz#51a6f387afbca9b0f881b2ec081566db8c540b0d" @@ -11079,6 +11741,13 @@ jszip@^3.10.1: readable-stream "~2.3.6" setimmediate "^1.0.5" +katex@^0.16.11, katex@^0.16.47: + version "0.16.47" + resolved "https://registry.yarnpkg.com/katex/-/katex-0.16.47.tgz#0a13a42c2deb4f74e61f162d440b9165a548030f" + integrity sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg== + dependencies: + commander "^8.3.0" + keyv@^4.5.4: version "4.5.4" resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" @@ -11093,6 +11762,11 @@ keyv@^5.5.5, keyv@^5.6.0: dependencies: "@keyv/serialize" "^1.1.1" +khroma@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/khroma/-/khroma-2.1.0.tgz#45f2ce94ce231a437cf5b63c2e886e6eb42bbbb1" + integrity sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw== + kind-of@^6.0.2: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" @@ -11120,6 +11794,16 @@ language-tags@^1.0.9: dependencies: language-subtag-registry "^0.3.20" +layout-base@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/layout-base/-/layout-base-1.0.2.tgz#1291e296883c322a9dd4c5dd82063721b53e26e2" + integrity sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg== + +layout-base@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/layout-base/-/layout-base-2.0.1.tgz#d0337913586c90f9c2c075292069f5c2da5dd285" + integrity sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg== + lead@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/lead/-/lead-4.0.0.tgz#5317a49effb0e7ec3a0c8fb9c1b24fb716aab939" @@ -11270,6 +11954,11 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" +lodash-es@^4.17.21: + version "4.18.1" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.18.1.tgz#b962eeb80d9d983a900bf342961fb7418ca10b1d" + integrity sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A== + lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" @@ -11401,6 +12090,11 @@ makeerror@1.0.12: dependencies: tmpl "1.0.5" +marked@^16.3.0: + version "16.4.2" + resolved "https://registry.yarnpkg.com/marked/-/marked-16.4.2.tgz#4959a64be6c486f0db7467ead7ce288de54290a3" + integrity sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA== + matcher-collection@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/matcher-collection/-/matcher-collection-2.0.1.tgz#90be1a4cf58d6f2949864f65bb3b0f3e41303b29" @@ -11414,11 +12108,26 @@ math-intrinsics@^1.1.0: resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== +mathjax-full@3.2.2, mathjax-full@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/mathjax-full/-/mathjax-full-3.2.2.tgz#43f02e55219db393030985d2b6537ceae82f1fa7" + integrity sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w== + dependencies: + esm "^3.2.25" + mhchemparser "^4.1.0" + mj-context-menu "^0.6.1" + speech-rule-engine "^4.0.6" + mathml-tag-names@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3" integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg== +mathml2omml@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/mathml2omml/-/mathml2omml-0.5.0.tgz#b2509930388610f03cea4975e4a886f359e4b2c7" + integrity sha512-4eLs37a+TH+CL/M5XZZrlc75SNRJNPiZzIaeSSvH0UFCRaCdSYRHWvrlA7MUbeQks/z4sVhfg+GlcZhVVUHzqg== + mdast-util-to-hast@^13.0.0: version "13.2.1" resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz#d7ff84ca499a57e2c060ae67548ad950e689a053" @@ -11504,11 +12213,44 @@ meriyah@^6.1.4: resolved "https://registry.yarnpkg.com/meriyah/-/meriyah-6.1.4.tgz#2d49a8934fbcd9205c20564579c3560d9b1e077b" integrity sha512-Sz8FzjzI0kN13GK/6MVEsVzMZEPvOhnmmI1lU5+/1cGOiK3QUahntrNNtdVeihrO7t9JpoH75iMNXg6R6uWflQ== +mermaid@^11.0.0: + version "11.17.2" + resolved "https://registry.yarnpkg.com/mermaid/-/mermaid-11.17.2.tgz#e3caf3717582c0e44e5d04cff043e025caec7cba" + integrity sha512-V6K3C8EBdEsPFZXSKMJe6ppQOENxuHARr9GvHX4hh47lAbhMRD9qf4oEK7LoaRQxULMa80/qt5gHO73aCleBBg== + dependencies: + "@braintree/sanitize-url" "^7.1.2" + "@iconify/utils" "^3.0.2" + "@mermaid-js/parser" "^1.2.1" + "@types/d3" "^7.4.3" + "@upsetjs/venn.js" "^2.0.0" + cytoscape "^3.34.0" + cytoscape-cose-bilkent "^4.1.0" + cytoscape-fcose "^2.2.0" + d3 "^7.9.0" + d3-sankey "^0.12.3" + dagre-d3-es "7.0.14" + dayjs "^1.11.21" + dompurify "^3.3.3" + es-toolkit "^1.45.1" + fastdom "1.0.12" + katex "^0.16.47" + khroma "^2.1.0" + marked "^16.3.0" + roughjs "^4.6.6" + stylis "^4.3.6" + ts-dedent "^2.2.0" + uuid "^11.1.0 || ^12 || ^13 || ^14.0.0" + methods@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== +mhchemparser@^4.1.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/mhchemparser/-/mhchemparser-4.2.1.tgz#d73982e66bc06170a85b1985600ee9dabe157cb0" + integrity sha512-kYmyrCirqJf3zZ9t/0wGgRZ4/ZJw//VwaRVGA75C4nhE60vtnIzhl9J9ndkX/h6hxSN7pjg/cE0VxbnNM+bnDQ== + micromark-util-character@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz#2f987831a40d4c510ac261e89852c4e9703ccda6" @@ -11653,6 +12395,11 @@ minipass@^7.1.2: resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== +mj-context-menu@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/mj-context-menu/-/mj-context-menu-0.6.1.tgz#a043c5282bf7e1cf3821de07b13525ca6f85aa69" + integrity sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA== + mktemp@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/mktemp/-/mktemp-0.4.0.tgz#6d0515611c8a8c84e484aa2000129b98e981ff0b" @@ -11986,6 +12733,11 @@ package-json-from-dist@^1.0.0: resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== +package-manager-detector@^1.3.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/package-manager-detector/-/package-manager-detector-1.8.0.tgz#70c9a2c4bd1a513dcd6cad006a9fcebec22a1253" + integrity sha512-yQA4H19AmPEoMUeavPMDIe1higySl/gH/yaQrkT/s07Qp+7pp2hYz30N3z2l5BkjVkF9Ow6o0wjJamm2y7Sn0A== + pako@^0.2.5: version "0.2.9" resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" @@ -12052,6 +12804,11 @@ parseurl@^1.3.3: resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== +path-data-parser@0.1.0, path-data-parser@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/path-data-parser/-/path-data-parser-0.1.0.tgz#8f5ba5cc70fc7becb3dcefaea08e2659aba60b8c" + integrity sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w== + path-exists@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" @@ -12219,6 +12976,19 @@ pngjs@7.0.0, pngjs@^7.0.0: resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-7.0.0.tgz#a8b7446020ebbc6ac739db6c5415a65d17090e26" integrity sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow== +points-on-curve@0.2.0, points-on-curve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/points-on-curve/-/points-on-curve-0.2.0.tgz#7dbb98c43791859434284761330fa893cb81b4d1" + integrity sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A== + +points-on-path@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/points-on-path/-/points-on-path-0.2.1.tgz#553202b5424c53bed37135b318858eacff85dd52" + integrity sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g== + dependencies: + path-data-parser "0.1.0" + points-on-curve "0.2.0" + possible-typed-array-names@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz#93e3582bc0e5426586d9d07b79ee40fc841de4ae" @@ -13254,6 +14024,11 @@ rimraf@^3.0.2: dependencies: glob "^7.1.3" +robust-predicates@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/robust-predicates/-/robust-predicates-3.0.3.tgz#1099061b3349e2c5abec6c2ab0acd440d24d4062" + integrity sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA== + rolldown@~1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/rolldown/-/rolldown-1.1.5.tgz#339aae250844351fc55b74e2652d3ebd6fba389d" @@ -13324,6 +14099,16 @@ rope-sequence@^1.3.0: resolved "https://registry.yarnpkg.com/rope-sequence/-/rope-sequence-1.3.4.tgz#df85711aaecd32f1e756f76e43a415171235d425" integrity sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ== +roughjs@^4.6.6: + version "4.6.6" + resolved "https://registry.yarnpkg.com/roughjs/-/roughjs-4.6.6.tgz#1059f49a5e0c80dee541a005b20cc322b222158b" + integrity sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ== + dependencies: + hachure-fill "^0.5.2" + path-data-parser "^0.1.0" + points-on-curve "^0.2.0" + points-on-path "^0.2.1" + router@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/router/-/router-2.2.0.tgz#019be620b711c87641167cc79b99090f00b146ef" @@ -13352,6 +14137,11 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" +rw@1: + version "1.3.3" + resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" + integrity sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ== + safe-array-concat@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.3.tgz#c9e54ec4f603b0bbb8e7e5007a5ee7aecd1538c3" @@ -13745,6 +14535,15 @@ space-separated-tokens@^2.0.0: resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f" integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== +speech-rule-engine@^4.0.6: + version "4.1.4" + resolved "https://registry.yarnpkg.com/speech-rule-engine/-/speech-rule-engine-4.1.4.tgz#aabbd8342eb639f0cccb0d9e971084ec9c01bd73" + integrity sha512-i/VCLG1fvRc95pMHRqG4aQNscv+9aIsqA2oI7ZQS51sTdUcDHYX6cpT8/tqZ+enjs1tKVwbRBWgxut9SWn+f9g== + dependencies: + "@xmldom/xmldom" "0.9.10" + commander "13.1.0" + wicked-good-xpath "1.3.0" + sprintf-js@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.3.tgz#4914b903a2f8b685d17fdf78a70e917e872e444a" @@ -13828,6 +14627,11 @@ streamx@^2.12.0, streamx@^2.12.5, streamx@^2.13.2, streamx@^2.14.0: fast-fifo "^1.3.2" text-decoder "^1.1.0" +strictdom@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strictdom/-/strictdom-1.0.1.tgz#189de91649f73d44d59b8432efa68ef9d2659460" + integrity sha512-cEmp9QeXXRmjj/rVp9oyiqcvyocWab/HaoN4+bwFeZ7QzykJD6L3yD4v12K1x0tHpqRqVpJevN3gW7kyM39Bqg== + string-length@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" @@ -14130,6 +14934,11 @@ stylis@4.3.6: resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.3.6.tgz#7c7b97191cb4f195f03ecab7d52f7902ed378320" integrity sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ== +stylis@^4.3.6: + version "4.4.0" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.4.0.tgz#c5846c9345f4bfc51bd0cbd7ca35a0744f485a5d" + integrity sha512-5Z9ZpRzfuH6l/UAvCPAPUo3665Nk2wLaZU3x+TLHKVzIz33+sbJqbtrYoC3KD4/uVOr2Zp+L0LySezP9OHV9yA== + superagent@^10.3.0: version "10.3.0" resolved "https://registry.yarnpkg.com/superagent/-/superagent-10.3.0.tgz#ff1e39e7976b63f8084291d65f5bfbbbbd156989" @@ -14360,6 +15169,11 @@ tinybench@^2.9.0: resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.9.0.tgz#103c9f8ba6d7237a47ab6dd1dcff77251863426b" integrity sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg== +tinyexec@^1.0.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-1.3.0.tgz#aacc1dbb1d4e93e6ad8dd64944e09f9ad147a474" + integrity sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ== + tinyexec@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-1.0.2.tgz#bdd2737fe2ba40bd6f918ae26642f264b99ca251" @@ -14468,6 +15282,11 @@ ts-api-utils@^2.5.0: resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-2.5.0.tgz#4acd4a155e22734990a5ed1fe9e97f113bcb37c1" integrity sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA== +ts-dedent@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/ts-dedent/-/ts-dedent-2.3.0.tgz#8fac36c7902b541c154ac13a27ac467997af11f8" + integrity sha512-JfJeIHke7y2egdGGgRAvpCwYFUsHlM2gPcrVOxFkznt/4uzQ7HFmvE63iFHVLBJNDuyDOQgijDK/tXH/f6Msjg== + ts-essentials@^10.2.1: version "10.2.1" resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-10.2.1.tgz#f16288c2a43d0b09a080f29b4dc7fdfa7b5e6091" @@ -14899,7 +15718,7 @@ util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -uuid@14.0.2: +uuid@14.0.2, "uuid@^11.1.0 || ^12 || ^13 || ^14.0.0": version "14.0.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-14.0.2.tgz#d5ae03e4db0881c87271f8b0b9bd7312d02c799a" integrity sha512-xZe/16rV4aa+HGSOCiY2YeLT1OybRLrrkL/Rqaq7p7GMVXjFh+6wN4oMYgjFmnSnhY8t6Xpdl2l9qmnHYuMHwQ== @@ -15274,6 +16093,11 @@ why-is-node-running@^2.3.0: siginfo "^2.0.0" stackback "0.0.2" +wicked-good-xpath@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/wicked-good-xpath/-/wicked-good-xpath-1.3.0.tgz#81b0e95e8650e49c94b22298fff8686b5553cf6c" + integrity sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw== + word-wrap@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34"