diff --git a/.env.example b/.env.example
index e8004fd..bd420ff 100644
--- a/.env.example
+++ b/.env.example
@@ -2,4 +2,6 @@ OPENAI_API_KEY=
RPC_URL=
SOLANA_PRIVATE_KEY=
JUPITER_REFERRAL_ACCOUNT=
-JUPITER_FEE_BPS=
\ No newline at end of file
+JUPITER_FEE_BPS=
+FLASH_PRIVILEGE= referral | nft | none
+HELIUS_API_KEY=
\ No newline at end of file
diff --git a/.eslintrc b/.eslintrc
index e619c84..3b8e4c6 100644
--- a/.eslintrc
+++ b/.eslintrc
@@ -13,6 +13,7 @@
"no-constant-condition": "off",
"@typescript-eslint/explicit-function-return-type": "off",
"@typescript-eslint/no-explicit-any": "off",
+ "@typescript-eslint/no-empty-object-type": "off",
"@typescript-eslint/no-unused-vars": ["warn", { "argsIgnorePattern": "^_" }],
"no-console": ["warn", { "allow": ["warn", "error"] }],
"curly": ["error", "all"],
@@ -30,4 +31,4 @@
"ecmaVersion": 2020,
"sourceType": "module"
}
-}
\ No newline at end of file
+}
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000..c862186
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,29 @@
+name: ci
+on:
+ push:
+ branches: [main]
+ pull_request:
+ branches: [main]
+jobs:
+ check:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+
+ - uses: pnpm/action-setup@v3
+ with:
+ version: 9.4.0
+
+ - uses: actions/setup-node@v4
+ with:
+ node-version: "23"
+ cache: "pnpm"
+
+ - name: Install dependencies
+ run: pnpm install -r --no-frozen-lockfile
+
+ - name: Run lint and fix
+ run: pnpm run lint:fix
+
+ - name: Build packages
+ run: pnpm run build
diff --git a/.husky/pre-commit b/.husky/pre-commit
new file mode 100644
index 0000000..d42474c
--- /dev/null
+++ b/.husky/pre-commit
@@ -0,0 +1 @@
+tsc && lint-staged
\ No newline at end of file
diff --git a/.lintstagedrc b/.lintstagedrc
new file mode 100644
index 0000000..021c8d8
--- /dev/null
+++ b/.lintstagedrc
@@ -0,0 +1,5 @@
+{
+ "**/*.+(ts|tsx)": [
+ "eslint . --ext .ts --fix"
+ ]
+}
diff --git a/README.md b/README.md
index 622a52f..6fdedb8 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,6 @@

-



@@ -23,7 +22,6 @@ An open-source toolkit for connecting AI agents to Solana protocols. Now, any ag
Anyone - whether an SF-based AI researcher or a crypto-native builder - can bring their AI agents trained with any model and seamlessly integrate with Solana.
-
[](https://replit.com/@sendaifun/Solana-Agent-Kit)
> Replit template created by [Arpit Singh](https://github.com/The-x-35)
@@ -35,7 +33,10 @@ Anyone - whether an SF-based AI researcher or a crypto-native builder - can brin
- Balance checks
- Stake SOL
- Zk compressed Airdrop by Light Protocol and Helius
-
+- **NFTs on 3.Land**
+ - Create your own collection
+ - NFT creation and automatic listing on 3.land
+ - List your NFT for sale in any SPL token
- **NFT Management via Metaplex**
- Collection deployment
- NFT minting
@@ -54,6 +55,8 @@ Anyone - whether an SF-based AI researcher or a crypto-native builder - can brin
- Jito Bundles
- Pyth Price feeds for fetching Asset Prices
- Register/resolve Alldomains
+ - Perpetuals Trading with Adrena Protocol
+ - Drift Vaults, Perps, Lending and Borrowing
- **Solana Blinks**
- Lending by Lulo (Best APR for USDC)
@@ -89,6 +92,9 @@ Anyone - whether an SF-based AI researcher or a crypto-native builder - can brin
- Price feed integration for market analysis
- Automated decision-making capabilities
+## 📃 Documentation
+You can view the full documentation of the kit at [docs.solanaagentkit.xyz](https://docs.solanaagentkit.xyz)
+
## 📦 Installation
```bash
@@ -126,6 +132,57 @@ const result = await agent.deployToken(
console.log("Token Mint Address:", result.mint.toString());
```
+### Create NFT Collection on 3Land
+```typescript
+const optionsWithBase58: StoreInitOptions = {
+ privateKey: "",
+ isMainnet: true, // if false, collection will be created on devnet 3.land (dev.3.land)
+};
+
+ const collectionOpts: CreateCollectionOptions = {
+ collectionName: "",
+ collectionSymbol: "",
+ collectionDescription: "",
+ mainImageUrl: ""
+ };
+
+const result = await agent.create3LandCollection(
+ optionsWithBase58,
+ collectionOpts
+ );
+```
+
+### Create NFT on 3Land
+When creating an NFT using 3Land's tool, it automatically goes for sale on 3.land website
+```typescript
+const optionsWithBase58: StoreInitOptions = {
+ privateKey: "",
+ isMainnet: true, // if false, listing will be on devnet 3.land (dev.3.land)
+};
+const collectionAccount = ""; //hash for the collection
+const createItemOptions: CreateSingleOptions = {
+ itemName: "",
+ sellerFee: 500, //5%
+ itemAmount: 100, //total items to be created
+ itemSymbol: "",
+ itemDescription: "",
+ traits: [
+ { trait_type: "", value: "" },
+ ],
+ price: 0, //100000000 == 0.1 sol, can be set to 0 for a free mint
+ mainImageUrl: "",
+ splHash: "", //present if listing is on a specific SPL token, if not present sale will be on $SOL
+};
+const isMainnet = true;
+const result = await agent.create3LandNft(
+ optionsWithBase58,
+ collectionAccount,
+ createItemOptions,
+ isMainnet
+);
+
+```
+
### Create NFT Collection
@@ -213,11 +270,205 @@ import { PublicKey } from "@solana/web3.js";
```typescript
-const price = await agent.pythFetchPrice(
- "0xe62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43"
-);
+const priceFeedID = await agent.getPythPriceFeedID("SOL");
-console.log("Price in BTC/USD:", price);
+const price = await agent.getPythPrice(priceFeedID);
+
+console.log("Price of SOL/USD:", price);
+```
+
+### Open PERP Trade
+
+```typescript
+import { PublicKey } from "@solana/web3.js";
+
+const signature = await agent.openPerpTradeLong({
+ price: 300, // $300 SOL Max price
+ collateralAmount: 10, // 10 jitoSOL in
+ collateralMint: new PublicKey("J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn"), // jitoSOL
+ leverage: 50000, // x5
+ tradeMint: new PublicKey("J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn"), // jitoSOL
+ slippage: 0.3, // 0.3%
+});
+```
+
+### Close PERP Trade
+
+```typescript
+import { PublicKey } from "@solana/web3.js";
+
+const signature = await agent.closePerpTradeLong({
+ price: 200, // $200 SOL price
+ tradeMint: new PublicKey("J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn"), // jitoSOL
+});
+```
+
+### Close Empty Token Accounts
+
+``` typescript
+
+const { signature } = await agent.closeEmptyTokenAccounts();
+```
+
+### Create a Drift account
+
+Create a drift account with an initial token deposit.
+
+```typescript
+const result = await agent.createDriftUserAccount()
+```
+
+### Create a Drift Vault
+
+Create a drift vault.
+
+```typescript
+const signature = await agent.createDriftVault({
+ name: "my-drift-vault",
+ marketName: "USDC-SPOT",
+ redeemPeriod: 1, // in days
+ maxTokens: 100000, // in token units e.g 100000 USDC
+ minDepositAmount: 5, // in token units e.g 5 USDC
+ managementFee: 1, // 1%
+ profitShare: 10, // 10%
+ hurdleRate: 5, // 5%
+ permissioned: false, // public vault or whitelist
+})
+```
+
+### Deposit into a Drift Vault
+
+Deposit tokens into a drift vault.
+
+```typescript
+const signature = await agent.depositIntoDriftVault(100, "41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU")
+```
+
+### Deposit into your Drift account
+
+Deposit tokens into your drift account.
+
+```typescript
+const {txSig} = await agent.depositToDriftUserAccount(100, "USDC")
+```
+
+### Derive a Drift Vault address
+
+Derive a drift vault address.
+
+```typescript
+const vaultPublicKey = await agent.deriveDriftVaultAddress("my-drift-vault")
+```
+
+### Do you have a Drift account
+
+Check if agent has a drift account.
+
+```typescript
+const {hasAccount, account} = await agent.doesUserHaveDriftAccount()
+```
+
+### Get Drift account information
+
+Get drift account information.
+
+```typescript
+const accountInfo = await agent.driftUserAccountInfo()
+```
+
+### Request withdrawal from Drift vault
+
+Request withdrawal from drift vault.
+
+```typescript
+const signature = await agent.requestWithdrawalFromDriftVault(100, "41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU")
+```
+
+### Carry out a perpetual trade using a Drift vault
+
+Open a perpertual trade using a drift vault that is delegated to you.
+
+```typescript
+const signature = await agent.tradeUsingDelegatedDriftVault({
+ vault: "41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU",
+ amount: 500,
+ symbol: "SOL",
+ action: "long",
+ type: "limit",
+ price: 180 // Please long limit order at $180/SOL
+})
+```
+
+### Carry out a perpetual trade using your Drift account
+
+Open a perpertual trade using your drift account.
+
+```typescript
+const signature = await agent.tradeUsingDriftPerpAccount({
+ amount: 500,
+ symbol: "SOL",
+ action: "long",
+ type: "limit",
+ price: 180 // Please long limit order at $180/SOL
+})
+```
+
+### Update Drift vault parameters
+
+Update drift vault parameters.
+
+```typescript
+const signature = await agent.updateDriftVault({
+ name: "my-drift-vault",
+ marketName: "USDC-SPOT",
+ redeemPeriod: 1, // in days
+ maxTokens: 100000, // in token units e.g 100000 USDC
+ minDepositAmount: 5, // in token units e.g 5 USDC
+ managementFee: 1, // 1%
+ profitShare: 10, // 10%
+ hurdleRate: 5, // 5%
+ permissioned: false, // public vault or whitelist
+})
+```
+
+### Withdraw from Drift account
+
+Withdraw tokens from your drift account.
+
+```typescript
+const {txSig} = await agent.withdrawFromDriftAccount(100, "USDC")
+```
+
+### Borrow from Drift
+
+Borrow tokens from drift.
+
+```typescript
+const {txSig} = await agent.withdrawFromDriftAccount(1, "SOL", true)
+```
+
+### Repay Drift loan
+
+Repay a loan from drift.
+
+```typescript
+const {txSig} = await agent.depositToDriftUserAccount(1, "SOL", true)
+```
+
+### Withdraw from Drift vault
+
+Withdraw tokens from a drift vault after the redemption period has elapsed.
+
+```typescript
+const signature = await agent.withdrawFromDriftVault( "41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU")
+```
+
+### Update the address a Drift vault is delegated to
+
+Update the address a drift vault is delegated to.
+
+```typescript
+const signature = await agent.updateDriftVaultDelegate("41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU", "new-address")
```
## Examples
@@ -248,7 +499,6 @@ The toolkit relies on several key Solana and Metaplex libraries:
- @metaplex-foundation/umi
- @lightprotocol/compressed-token
- @lightprotocol/stateless.js
-- @pythnetwork/price-service-client
## Contributing
@@ -261,7 +511,6 @@ Refer to [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines on how to co
-
## Star History
[](https://star-history.com/#sendaifun/solana-agent-kit&Date)
@@ -270,6 +519,12 @@ Refer to [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines on how to co
Apache-2 License
+## Funding
+
+If you wanna give back any tokens or donations to the OSS community -- The Public Solana Agent Kit Treasury Address:
+
+Solana Network : EKHTbXpsm6YDgJzMkFxNU1LNXeWcUW7Ezf8mjUNQQ4Pa
+
## Security
This toolkit handles private keys and transactions. Always ensure you're using it in a secure environment and never share your private keys.
diff --git a/docs/assets/highlight.css b/docs/assets/highlight.css
index 63010a9..ecb07c6 100644
--- a/docs/assets/highlight.css
+++ b/docs/assets/highlight.css
@@ -17,6 +17,8 @@
--dark-hl-7: #4FC1FF;
--light-hl-8: #098658;
--dark-hl-8: #B5CEA8;
+ --light-hl-9: #267F99;
+ --dark-hl-9: #4EC9B0;
--light-code-background: #FFFFFF;
--dark-code-background: #1E1E1E;
}
@@ -31,6 +33,7 @@
--hl-6: var(--light-hl-6);
--hl-7: var(--light-hl-7);
--hl-8: var(--light-hl-8);
+ --hl-9: var(--light-hl-9);
--code-background: var(--light-code-background);
} }
@@ -44,6 +47,7 @@
--hl-6: var(--dark-hl-6);
--hl-7: var(--dark-hl-7);
--hl-8: var(--dark-hl-8);
+ --hl-9: var(--dark-hl-9);
--code-background: var(--dark-code-background);
} }
@@ -57,6 +61,7 @@
--hl-6: var(--light-hl-6);
--hl-7: var(--light-hl-7);
--hl-8: var(--light-hl-8);
+ --hl-9: var(--light-hl-9);
--code-background: var(--light-code-background);
}
@@ -70,6 +75,7 @@
--hl-6: var(--dark-hl-6);
--hl-7: var(--dark-hl-7);
--hl-8: var(--dark-hl-8);
+ --hl-9: var(--dark-hl-9);
--code-background: var(--dark-code-background);
}
@@ -82,4 +88,5 @@
.hl-6 { color: var(--hl-6); }
.hl-7 { color: var(--hl-7); }
.hl-8 { color: var(--hl-8); }
+.hl-9 { color: var(--hl-9); }
pre, code { background: var(--code-background); }
diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js
index 492edcd..3a34b45 100644
--- a/docs/assets/navigation.js
+++ b/docs/assets/navigation.js
@@ -1 +1 @@
-window.navigationData = "eJyNlU1PwkAQhv/LnokIfnMjIH6hEmy8GA/rMqWbLrNNd1Yhxv9uKMRSuh289NB53mfayXT79i0IliR64sUaibI/B6QHTaIlMkmJ6AllpHPg2tX6UUILI1oi1TgTvU738qf1Z+or0hZLg0aCPJYKXHtTqoa7Z+e18PVSLjIDjGNLcKqBNQYKeAiZsasFIAWNIfB/4udsfXUHrFuKV2Ks5w2edYkN5yDJ5uH0psbFR0AqmeRawRRcZtGF517HOOmN/viyeVq0h0i6dArN6iaYa3DvM02QRzYFHEqSQfE+xAnH3ti+UtYjDYGkNo4dRzPONXnUSOViPI0itkcjzbWY+EUWexxLjyph9UHykHrksRgnt/oBjtWuKPnnEoZRTl48xCABlQaFZZmT3EqcGdj5wmiVgWtvb+8lj68uOmfd3TNtEN09P72U6U+Za/lh1ofZplQ1nOyGVfFRbE7fyFqzM/HYY7EYrl2DqsLz05rwFXIFpn93QFnBGCksQXmC/aO/1FUARhRrnDVbyiqjmANV/hHB16tBNeH7L4Zcd8U="
\ No newline at end of file
+window.navigationData = "eJyNllGTkzAQgP8Lzx3r9bxT+1Zbq+h57dwx3oPjwzZsS4aQMMmi7Tj+d6fQEShh4YUH9ttvYSGb/PgTEB4pmAfPRoGGxQE1fZUUTIIcKAnmgVDgHLppO/4qoUwFkyCVOg7mN7N3fyf/TQtB0ujaIDWh3YNAN61C7eTZ3X0n+eMRslwh47gQnOoDkEg2Nka7BSK0/kfqUJxyaZTCsv4Kc2VOGWryWn3gOPEmP1/dgPVC8Uq9l4cezznEJlsEMtafXcW49DWSSLZWCnxClxvt/J+yi7FSBS5ZKuMwshDjFixk/j55yUH1KOtI4Se5+21sWrYKI3DpE/a3oQ/mCnxGJQv3grvEmDSM2Tb3sKP14+Vj1F+KXBLayKSoV0DgtV5DnPChUGYhhCk0rZBAKsc+cD/OFfkmNdXL73EdsTV6aa7EZQj1/n+NOKfZWmmspNMa+cXn4VhtkeX7Qj9AoUXCi33kkHpd6PJjc+PPw7HaEyUjB5EfHZKX8BoxDlchYdZrvuJGaYeFQ6qyTcsERer11GF2DoCOFTb2ATrl50Vf3b7KfP3+7c3drLmZL6Nw8/hcZ/8CK2Gnzrt4FWobbpvJohyH1bEjMkY1/ol9ocuF5aYdqC28f9MRfkcrUC3CAWULY6R4RFEQXp95al0LYER7qeN+Sx1lFAek1uHI+3odqCP8+Q8guIFL"
\ No newline at end of file
diff --git a/docs/assets/search.js b/docs/assets/search.js
index 61dd52b..68faf85 100644
--- a/docs/assets/search.js
+++ b/docs/assets/search.js
@@ -1 +1 @@
-window.searchData = "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";
\ No newline at end of file
+window.searchData = "eJy1nWtz27bSx7+L/dbTaqF73im23PjUiX18SZ9OpsOhJchmTZEsSTn16fS7PwOAlBbgklpKzKt2Yu5iCfxx2x9A/XOSxt+zkw/f/jl5DaLlyQcQk7OTyF/Lkw8n93HoR/7sWUb5r0F+cnayScOTDyeL0M8ymf1s//mnl3wdnpyVfz35cHLy71npdQhi63URR1mebhZ5nHJcntrPI/dnJ4mfyiivRrorGHpigEuO5CIP4ohb8O7xY8r97oehZNXf6fbR48vz/OUylVnWolxkcmQ9r4Jnbh2bR1uWJ3qDnU5T+ddGZvmlv1nI/HITLXnvXJittNmqMDsmjqVMwvj9IX6VPIGZ5/Pi+eNLPo/DsIW+jdECGx0Tw7PMP/qhHy0kq/RnmT9tH++m3Jv8RfLGlF3hcWFzTATrIMq/XD6wSlbPRqsDerhVYp76UbZivix6+Lhe9hxkuUwv4rUf8BRWmixLk+PKz+LwTd7HYasItFEWh53E8Czz2zRY++l7ixieZZ4Yo05iyFN/yeti5ZPHlBYG6yC/SZdMrenH4+LxY8p98vPFC79c/XgX5S7UoBDOwlCXzZtIjI0fhnFpc0wE34P8ZZn632dhyJu6i+f9MDyy5DiR0a1Mkwelm+s44k3hyiqRaaLVFhqrzqK4f4lT3srJCiMrzI5SQhhn8oBAtN0PjITdMHYgHbRMKKPlLMtkzusW6nG/fPzIUffh9p471uZJF+WpRdmFn/sf32ctltGqeGW59HP/6f3g1XRDNA/B4pW/yEHB5KXhMbGsZL540dHcpgFzoadtdCBJYXOUBv1NtHi53ayTy03EX2obs2SzTlabqIsVd5b7r7z3L588cu3DLm/37FHvJ6PlebxOlIDlchakyzROeO8ro+Via+lvLY+aE9KFf65HwTgL2BscZWUGwZ3V0VGk0s/l+fXnz/wQtMkiXK87K/8+iJ5DeR8s5fI6+GsTLIP8/TaOeQuGXUyZdpMpN2HpJjFujo3zUvX6srV4g6cy04NFgsyOjeMmkdG5jHKZymUZzm9B/rKtNnZoaoGxKDyVEaq1V4g8dREtatvWalcxokbtSPfFJmoWFjsvbnpFW/lhsfXqYB68+R7JZcswnmUeK7PO4yiCuIzTh+uLVqEUcaziNA+Xx0ezq5CH6wt2pezqIw+PznyZKO6K7f4hbeSHYbo177KtPvtBtAun3bZdPbuLpZsshv++DDZrM4zP1uuvA15nMmZm2PbX67dBl3Gcm7mpZRgdzGh2FMlBUSTHz6uJjJ7i+NWE8dlPX5nZ+tLQRLIuDY/KJfpRsJJZ3jqW0rDDWFS26z1/0Uv9SymXV+xhLnnPX/RqfyXlMuhgjNvG0TqCY/feujp/CZ6+x+nrg5+98rbe2urZWOXG6qh+Ei9eb/1EpveLIMtiZl5KWSXKKttZHV8XD0ESBlGbesi3FkflPWWUxel1kLFz7cYiDLIuMu7a17nO9KkYAmYSxtiZDGG4tTs6GzRfJ7khTbPFIt5EzJSMtpXKVu+B/Z1tN1mBO5nEaX6/Watsd8vsQKpts61tNxFdyNwPQrk0kbUMaVkYp6XxUTGFfvaiFvgP7AS+NlGTTBeZfO1Mb6JbBqBF00UELzIMNtmtn+oQosxf8DeHxjZRtrlte/y61eQ0n97Vsp6dWvPD0C/s4sLu+LG1f+2rtEsrjFtYhr5Ku3TEclE0X1bMtPcujONHW5VDUhJZlNv12zSIU+5uXVnnpbXaoic76+Nr5f6vjb/MPm/CPMi4pxxMtkUbrneGRxJ/tbl/iFsFUljlcUdRlGj5Mo3XrQIpDVdpvO4oFlPJZRS3aZzEmc/LiBVr5sI02ZkeE4+fJGn8dlhAhW3HEaXyT7nIDwrImHYcj/xbLja7JkNzAiumwrwMKrfMj4nL7L1+k08vcdxmnft9a3HknNSm6GeZd1PuUoay3Vsbi25KNzV4kQar/DGTabGqbVH5S2W6yWTqb007iuervwlbR/JWGHUwxl9FedwykMIyiPK462ge4oMaaTvzdNxOS5kGb6id2tBaY7uroG547TKWmaqdT34RV6tqimWmKufFLwLrqJacJruKVjEvHqe1AmN43Cykj13+tj22ohYPLfVd+NgdfVHriM6Urvc6j4qjXMhQPqsu3TI+7WGjPCxLDz8iOuVSnQtpozAUmjJX50O60dgmWbYfMY1RZ3XzLPNdAGyRP8t8F0EHCi9luRV2m/YpjbeK7qZ1KjHx26gSURct5aql7GkHqWa5M24Z02jg7u70kw9xHO7mkNXGbCWznyvPNN56qDj/KlN1uPCq2b31VGMB/d2titn5w9XNl90hqTc/DfynUGY/F39pdGQd3/9tdn09f/BmFxd38/t7z9jvcXzqefl7Iu1rBN6e1XjpwNjWhXMxv72++d17uPl1/qVVMOZ8u6czed2E8nF2PftyPm8VRXHOvJsAHu5mX+4v53etIij32p02x/nN9fVcGxzSJrtEVTdBfb768uB9uXxoFYs6iu9Fq7yzprlopww9E3dT+N38v4/z+wfv8vHLRbseW6ykPH3/patg7m+uv869i5vPs6t28ijOjHgGtXcTzi/zh2LwuJg9zFqF8yzzYvhQZyg7DOe2XSPpOJKOmudy/nD+ybu9u2o5kGks4mmm2k0g9w+zX+feb1cPn7z/PN62ikWfcPTUwsT7c5N0Hs79zfXs95ajLAopi0P/vavx9m7+y9X9w/zusO5kTtR02p+u518uvNn9/bzdaKtOg3uamHQTxvndfPYw9365+vjbzd2v3sPs/tdW8Zi1llcwek9B+m6Hv/ub62OGwCwOO222298fPnmH9n11msLrfABQQ+HNb1/mF0U93XuXN3few/VF68FRH6srqivzVnHq5eGyuyBv764+z+5+P6Q5VXTF7a/OZ7XZ9fW25h6uW078KjA/DLeVpk4Bdt2sOMDDmhRH2OWwcfV59ku7LlCMF8Haf+5Q/kZPqJoOlJgRFqqsH6G1cio6smVVmLuznt038d3s94urx89e0dTnt58/txuBzfFCr2hxdcDwhwQ2+/zZ+zo4JjR/vfbeBp12jJu785l3f/Xll+u5d391Mb/wfvt0dXd9e3NzfUh3UUefPHMi3dNH0r3vL0EaqksGHa1GZo9f1JT2+Pn28vHLAVkCczPIK64GdZktuLye3X/ybm7nX7z2m0N98sZTZ3+8DveJJqTz65v7+cEx6eNAXQZVKO/z4/XD1f3VL4fIrGTAnaU4bu6v1K7xsKAK1uXlcceBbdM/l3c3nw+LbZsMUtncjsNzG/L27ub25n520MCxjaw8a9BNiLPb27ubr8fGWBzP+FFB3s3/Mz9/ODJGc2LjR4U4/7/5+ePRbV2c4PhRQRZ6/G3+8dPNzUG7w+JsQ1fDyvX8wHDMSYtuw9GrOrWNv/c+/q4X7O0SHnopp09Aek/verneUcZDBXZIJamAOq2h29mdmSe/3M/ap7r1WVUPnUrqKE2l0i84Jp2xur27urm7evi9XcpKpWRwgDp7VR6W7LQPXtxdXT54X2eP1+2yRkU/1KjP06yvm7Aeby+OCcsAyO7DKlceV18ebg4Orlx+qNM/3YdYogYlu4u72W+za7MaOTTaEkDsznKYpUnngZcBHxduGeYPCtIsytVM8cvsQSXGDgzTLM+3h09+gFJRYFdfLm/aKRRFo85b/ICh5vFeT2fnN49fjhhx1MknrziA0WkD6xhv53e3B8VYtK4OUR3g6TbEi5v5vam/T7OvZayHhKkOs5kqVMfZini7DXW3Uzuy2dGe7Uc1/XYAurnzPt7c3d1YQ9EhQW8Hozj1nuI0ja1hqduarlbvgd3eqtjuev/F/O7qqzOjH3CCxZwJtcfLLk+zEAuPcrQ/dgVSjvYHByqGo91gan/DM1DfvVj5C5n9bP7CP06kEmCzK292e+X9Ov99j0d9pdoPPD8JvFdZf2GnCK+myP883l4pZHo3v5zf3elNqZbsvsL/3CSBwqWpXMk01dvQ5rN3vDAu53PvI/qA1Z7SV1J6Tw0fsWou1KT4bu+uvl5dz3+Z7yvU5PSSNHgLQvlcf4KuudBP8+urx3tuG5u7fO3b2NKnmqbRF4RxUeZPfIW6H8qt8XW673x4GVNNMYk61xfl/rPcW5L1KLcwu/uWB6xuEvuSpdUmzkP8KtP/Ybs8LR6va2c31ppCN2nQokzz9JFFpvG7H+bvH/0syG7jAN+z3h9BYfykjJPS+MiAFqbZ24SBTNoXTovqQh/jW0t0ppmMY/ccX1q7s4HuXQ5OEac7873dlXqdmqCy4Dny8026R/RuMNjsoCBw9X8Oonz3+JfLhzuZJXGUkTHVPsxvCHU+sr3r08KMft36d6gLQua+Onx3SCA708ODwQ2AvzrYMKwSj/ErXd1pySU5r9X5Pd3Z0O9JxV1XvFpDpv66Xfk7o6MD+C6fsiAnJV1b/s7m6OKDKMgDP9x+He7+5rpVKIX99ptwWcPH9FqElYVBkvjP8mPSSnGnpV3TcrJFGGVq+FK2a6DSbiUPbSS3G6420bUG901jIPkgvys2jvn1vhmDPv0GLYfhhggah+B2hRdj6CO99GqKobBsWoa1CkWmKb3ebwiitDmseCy6600YF9e4zCdlsibl1T/dYiaIcz/86oebQ0o41dZvhTX9+g2vVDs6qiNbWT7300guDwmr9CBLD12Flko/zIO1nCXvh8RVmvtJ/X60fVCZzNUHn8gxe19EyPaIcLCE/2PyC9uPSVNRuc90sokmne7dTVfCbbkVpUtt3Ilyi8ze10/oY7t7C90+f1yxS7kI1n7Yoo6RxXFF5z6tYrrY4unjigzj5/jx7opfqjJomm3Y1ewH4bv3FoebNsJyrI4LYZVK+T/p+Zv8xf7s0d4wCMvjQtG35A4IpGJ3XBiJTNd+JKNdmpsfCml7XDjyb/Vhv7odIB2GZdO6eDySm49rq4sYTYuQ6lMt1r65n2/Id6vxerq1oN+MCLl23fMqoytydVFXtjZp+Mwov3B9u+Uqery/OG8TgDYLok22XHQQxFpmWU2WuC6AncmxhS/iZauSi+cPKNba073nLzxV0092oewGz/vUXRN+k8Lva9cQTXFo0z3LiXbBJMTXfZnBcL7we0AwB4XRUQANXa8phH3dr10QdV2wKYLGbri3eNwVi28dm4+gqS8eq0+n1nTGume76I6Nvvd1yNqXqF3fZq/0nNMchrJrUH/bMBpTTnsqZG/WiREM1sFMZ8Xnf/vrJCTjsR7gt3gQJRsyoVX1d1o+W3OQwYqwprh4k/PL2z58RIHy70R9Hsb6jGFzqbZFu6JFbzqG4e47MJ/8aBkifqDP+f5c/GtjI1Xbvj7840Ex8tO8Jy9Cqe0w6yCU5PiBS9g9dkghS5kt0iBhVMmp/eghhUnTxHtfCT13UMUtXuSaTAFZ9VY+dUgRL44Ua8rYPcYsBAtV75TOX+TilSpm99c2aVf962ZxHQVzfJ4Wv2wWNwIwFGZTsQ/qPBa3zNw8fGiBaZC9kiJzCysfPLSgbBHT85lbUPlgi4LcLQT6qYqrXNIUs/pYi7mLXCLUuTzdsy52o63LrOZ5GjxtcnpMqC3cMjskCLJy91Zruwp9CiL8SwGNDk+3D+95m6bK1LdymltxV+D24XYF4orTPyN766f+mmw99Gd+pf218aO8JhnnOjxFD9NvgSOsnWXpDUmlsOLBgwuq3f9VSmre9NFF4Xb5uP194VtfHZ4gZ/bKQ23gMV1ltMvmiqvG2oQM/9ugjprStd1eobDD0G1z50f0PromBm2UFkZHBpAl/gL/QAuj/rcWRxYdbdZPMr1ZOT8fvT8CYxiv9vyGNDuQIFoGb8Fyc5AgdsZHqcLKWauDxvqXR+pHQ/eZlqs2tsvT5l+ArYTaso/TZTZ2cW6R6nSjn8vUDx8zOkVOlr0z22QNaXJmEKF8k2ldgposH1m0Lroiot1v2OxRkvtgV3Ii/XI0VYn8EGHRpe9XV0PhuIo/6cP5xc8ANCXiyQf5VVzc1H68Iw/Y1Ts/LQyVSd370u/QHAid/t4fR8Maf18YtdV+tWRX/O7RFlWvv9Lb1vXp1ozxtugNjm//SiAtFbA/GHQJXu3BySGlMSTkIC8cdBJYcQGpOAl/QGCFAx856LL56jIWnPZrTGDsD8fanu4Opjayw+pj/F7zZxZHabJo4/d0Z1OzgyTibpd6qCu5KfXAL3Qt85e4XcFbk6MLT2pn99rCtyaHFI4+174KoqWTA999pX33x0bxIHfFd25qPVp/5zpVv12HoQD1QfnKM5TzP87UZkH+ffLhn5M3maoTKicfTsRP/Z+mJ2cnq0Cq34f+8K1M5S/idXHxZxkvNvp//yge+yoX+qLRh2/m6Z97J2ffemdD8VN/NPjjj7NvpbH+g/6H0sfuX7QhnJx9A8oQKoZgGYqTs2+CMhQVQ2EZ9k/OvvXPBuOfxHBkGfYrhn3LcHBy9m1AlTioGA4sw+HJ2bchVeKwYji0DEcnZ99GVImjiuHIMhyfnH0bU4bjiuHYMpycnH2bUIaTiuHEMpyenH2bUobTiuHUFoDSA5Dagap4wFGPlg+tH0JAtoJA6QJIDUFVRGCrCJQ2oE8aV4UEtpJA6QNILUFVTGCrCZRGYEgaVwUFtqJA6QRITUFVVGCrCpRWgNQVVIUFtrJA6QVIbUFVXGCrC5RmgNQXVAUGtsKE0owgFSaqChO2woTSjCAVJqoKE84YpQcpepQihilbYUJpRpAKE1WFCVthQmlGkAoTVYUJW2FCaUaQChNVhQlbYUJpRpAKE1WFCVthQmlGkAoTVYUJW2FCaUaQChNVhQlbYUJpRpAKE1WFCVthfaWZPqmwflVhfVthfaWZPqmwflVhfVthfaWZPqmwflVhfWcm1FMhqbA+MRnaCusrzfRJhfWrCuvbCusrzfRJhfWrCuvbCusrzfRJhfWrCuvbCusrzfRJhfWrCuvbCusrzfRJhfWrCuvbCusrzfRJhfWrCuvbChsozQxIhQ2qChvYChsozQxIhQ2qChvYChsozQxIhQ2qChvYChsozQxIhQ2qChs46y294KJXXMSSy1bYQGlmQCpsUFXYwFbYQGlmQCpsUFXYwFbYQGlmQCpsUFXYwFbYQGlmQCpsUFXYwFbYQGlmQCpsUFXYwFbYUGlmSCpsWFXY0FbYUGlmSCpsWFXY0FbYUGlmSCpsWFXY0FbYUGlmSCpsWFXY0FbYUGlmSCpsWFXY0FnV62U9qbAhsbC3FTZUmhmSChtWFTa0FTZUmhmSChtWFTa0FTZUmhmSChtWFTa0FTZUmhmSChtWFTa0FTZSmhmRChtVFTayFTZSmhmRChtVFTayFTZSmhmRChtVFTayFTZSmhmRChtVFTayFTZSmhmRChtVFTayFTZSmhmRChtVFTZy9o5680jvHonto62wkdLMiFTYqKqwka2wkdLMiFTYqKqwka2wkdLMiFTYqKqwka2wsdLMmFTYuKqwsa2wsdLMmFTYuKqwsa2wsdLMmFTYuKqwsa2wsdLMmFTYuKqwsa2wsdLMmFTYuKqwsa2wsdLMmFTYuKqwsa2wsdLMmFTYuKqwsZOh0CkKOkdBJClshY2VZsakwsZVhY1thY2VZsakwsZVhY1thU2UZiakwiZVhU1shU2UZiakwiZVhU1shU2UZiakwiZVhU1shU2UZiakwiZVhU1shU2UZiakwiZVhU1shU2UZiakwiZVhU1shU2UZiakwiZVhU1shU2UZiakwiZVhU2cPJhOhNGZMCIVZitsojQzIRU2qSpsYitsqjQzJRU2rSpsaitsqjQzJRU2rSpsaitsqjQzJRU2rSpsaitsqjQzJRU2rSpsaitsqjQzJRU2rSpsaitsqjQzJRU2rSpsaitsqjQzJRU2rSpsaitsqjQzJRU2rSpsaitsqjQzJRU2rSps6mRbdbqVzrcSCVc342pSrjU5Vyrp6mRdezrt2qPzrj0i8dpzMq89nXrt0bnXHpF87TnZ155Ov/bo/GuPSMD2nAxsT6dge3QOtkckYXtOFran07A9Og/bIxKxPScT29Op2B6di+0Rydiek43t6XRsj87H9oiEbM/JyPZ0SrZH52R7RFK252Rlezot26Pzsj0iMdtzlGiS/zXZfyr9X8n/GwBQQwAoBOAo0UCAGgpAYQCXAxgQUEMCKBTgsgADA2poAIUDXB5ggEANEaCQgMsEDBSooQIUFnC5gAEDNWSAQgMuGzBwoIYOUHjA5QMGENQQAgoROIwAdNofaEoABCYAhxOATv0DTQqAQAXgsAIQBkfV8CgKSDlK1AgAaGIABDIAhxmAxgBAUwMgsAE43AA0CgCaHACBDsBhB6BxAND0AAh8AA4/AI0EgCYIQCAEcBgCaCwANEUAAiOAwxFAowGgSQIQKAEclgAaDwBNE4DACeDwBNCIAGiiAARSAIcpgMYEQFMFILACOFwB+gaO1tBRCo86StS4AGi6AAReAIcvgEYGQBMGIBADOIwBNDYAmjIAgRnA4Qyg0QHQpAEI1AAOawCND4CmDUDgBnB4A2iEADRxAAI5gMMcQGMEoKkDENgBHO4AGiUATR6AQA/gsAfQOAFo+gAEfgCHP4BGCkATCCAQBDgMAgYG1dewegrWO0rUaAFoEgEEigCHRYDGC0DTCCBwBDg8AjRiAJpIAIEkwGESoDED0FQCCCwBDpcAjRqAJhNAoAlw2ARo3AA0nQACT4DDJ0AjB6AJBRCIAhxGARo7AE0pgMAU4HAK0OgBaFIBBKoAh1WAxg9A0wogcAU4vAKG5uBIzckR6uiIo0QDLaiDTEBAC3CoBWgQATT0AAJcgEMuQMMIoMEHEPACHHoBGkgADT+AABjgEAwYGR3SQiYgBjgUAzSYABqCAAEywCEZoOEE0CAECJgBDs0ADShgJMhmJIAGOEQDNKQAGogAATXAoRqgQQXQUAQIsAEO2YCROcQ0PBv0f5pMwXFAHWNylKiBBdBwBAjAAQ7hAA0tgAYkQEAOcCgHaHABNCQBAnSAQzpAwwugQQkQsAMc2gEaYAANS4AAHuAQD9AQA8ZAtgIBPcChHqBBBtDQBAjwAQ75AA0zYEwe5gQCfoBDP0ADDaDhCRAABBwCAhpqAA1QgIAg4FAQGJsjdbQSCRACDgkBDTeABilAwBBwaAhowAE0TAECiIBDREBDDqCBChBQBBwqAhp0AA1VgAAj4JAR0LADaLACBBwBh46ABh5AwxUgAAk4hAQmg4a+QEAScCgJTIYNUiZACTikBDT8ABrxAAFLwKEloAEI0JgHCGACDjGBiTngSfcFApqAQ01AgxCgcQ8Q4AQccgIahgCNfICAJ+DQE5gaJdJ9gQAo4BAUmBol1hxUJZToUBTQYARo/AMESAGHpMB00DC9EzAFHJoC02HD5EoAFXCICmhIAjSEAgKqgENVQIMSoEEUEGAFHLICGpYADaOAgCvg0BWYmuPGdF8gAAs4hEUYwkJDKUEQFuEQFmEICw2mBEFYhENYhCEsNJwSBGERDmERhrDQgEoQhEU4hEUYwkJDKkEQFuEQFqGBiaAxlSAIi3AIi9DARPTIUVkQhEU4hEVoYCJoTCUIwiIcwiI0MBE0phIEYREOYREamIjegOrOgiAswiEsAszhd3LXJgjCIhzCIjQwETSmEgRhEQ5hERqY1LUCQViEQ1iEBiaC5lyCICzCISxCAxNBcy5BEBbhEBYBRolTuhIJJTqERcCooRkJwiIcwiJg3NSMhBIdwiI0MBE0aRMEYREOYREwbWpGQonuLQxzDYNGdYK6iOHexDCEhV5kCeoyRuU2hlYizfoEeSHDUaK5kkGzPkFdynBvZZhrGTTrE9TFDPdmhrmaQbM+QV3OcG9nmOsZMCKFRF3QcG9omCsaNOsT1CUN95aGISz0AkNQFzXcmxrmqgYNCwV1WcMhLKJvlEjPTARhEQ5hERqYiJorRQRhEQ5hEX1zMYjuCwRhEQ5hEf1+QzMShEU4hEVoYCJq7iYRhEU4hEVoYCLq7icRSnQIi9DARNTcUSIIi3AIi9DARNTcUyIIi3AIi9DARNTcVSIIi3AIi9DARNTcVyIIi3AIi9DARIgJ2YwEYREOYREDo0RaygRhEQ5hERqYCJo2CoKwCIewiIG5pkZLmSAswiEsQgMTQdNGQRAW4RAWoYGJoGmjIAiLcAiL0MBE0LRREIRFOIRFaGAi+sOzAfzUH08cB4QSHcIiBpOGBQZBWIRDWIQGJoLGlYIgLMIhLEIDk7pXIAiLcAiL0MBE0LxTEIRFOIRFDI0S6WGdICzCISxiaJRI9wWCsAiHsIihuTRJ9wWCsAiHsAgNTATNOwVBWIRDWIRGJoLmnYJgLMJhLEIjEzEg80iCYCzCYSxCI5NaHRBKdBiL0MhE0MBUEIxFOIxFaGQiaGAqCMYiHMYiNDIRNDAVBGMRDmMRGpnUVSLBWITDWMSo31CJBGMRDmMRI6NEujMRjEU4jEWMjBLpiYVgLMJhLGJklEh3JoKxCIexCI1MBI1sBcFYhMNYhEYmNW1A6NAhLGI0baoBQocOYREamAgaGQuCsAiHsAgNTASNjAVBWIRDWIQGJoJGxoIgLMIhLEIDE0EjY0EQFuEQFqGBiaCRsSAIi3AIixgPGxY4BGERDmERGpgIGhoLgrAIh7CIsdFhzZ1y6lK5o0MNTAQNjQVBWIRDWIQGJoKGxoIgLMIhLEIDE0FDY0EQlvLf9Pde3mSay+WV+e7Lt28n1e9E/XPiFZ+FEbvvy/9zouT44Z9//919CObDP/+ib8Gov6li/eJjN8gNjJEbMW7hRpa/QoC94aCEaOHNernpcOdmOuR5KX+5budFpda3bhQb15Yqi85ymCRp/Ca99SbMgyx49pI0TuLMD71qLaoDeLuS+sz3NgWU/kv32O8YuR0zvaIvTKOGEVPUMAOeWp780I8Wknjf6QS1z4TpLF+86O+oWhWHHEFbR0n5kWD0nv0Rfs8pz2PxCWvsBrCbPsvNQlVW6Idh+bVY9Jqo9oEX1EJ9GVKuk/xdf8OyGAosr0NUeUNe5WmviUyTXH1zMozV13XRaw/wWx/gMHuJ09yuSOSRWY36R3OQix4aDFTKW5uppCnPm/WRVfyu+GWHzEap/o49auRxD7Uyc0TeeVzufmreGsOwdMa9lk7jpDK2wmiAR0Xe6LqIo1VgaQU1yrAYWIcjrq9IVici1BpcN1mebtTHzazXQy/H86N/eqcf+tFyV2/Y4wi9Kre6dj6jldWeIzQ+jZj1pZ15yzRY5d4mk6lXDAbURDTAA+qAOSjgAt78TUh7xjXLnEEKz8/mR4489cNMlGu8alCXdlq4Dtb+MzVDgTXkcsdc43M74xNuBa5f0ap+eQsJXMv9VrUcpwvfy4LoOZSe+vLw0vv+EqRhEsdkSXiwB+5ob0oqvhVKxj/E8bfpLVp+St6Fuq11EKr1cZtK1061pC13SBvjNtIohKx0bI2FaJYbMmc57a9x7YeUwJ1MtNMs1j9cFcehvaZGQU7bBJn9tfGXWRmqNZihZhm1aZY8SMIgsusQTyhtdPMmU7XsCqovjATOXPMbj4W8rcZA0Y1bROfMTSPcu0ctBrrYWU/imlfnTTmO7B9DxotTvMDq8ZYYux+xxo7wOD7lLdDUr//uGVJGeEjhzZnGK9WQaLs75kaoFmbebnFABdnDaz92HWrHen1PbbJQqOzKVB7pZQxSDK+rGmfFF/RRDaIK5PqJsyD3giiP9y4y+niRwRulSv9b7/vWSEPcC4e8oRUV0rg8wKsOweyXxrWqHnq6miBtTdjSUj4LjzWz6gTVw6RVNeQxOR2gl+eOSTIN3pylp9lZkQ2HlyxD3pBuSthVLLFxm6Bha8IblK2fFMT5L5xm6TPbKpaZ0eyLv62LJvnioWbIL0MVoUrQBVByQH1vwux61f4WRKuYjBr3bOYiCcuizu9gjEcM5ojkdArl26oJpLMJT2YyTZ25HjtRB7BZXrZfDcepux7WFK+fFh8vZ+45cKR95vuaAoiE8hB3AebquvBWRot+uMGaeVCcY26Y6FdccT/FSx7BW9DJv3MZZZV0yhS/b48X1kr97rOnf12LXExgTfd40tEuze91bX9sASfRsIh6vBfWLvX8v5S5H4RymcrESfCNkN8RbyzauS1+Lw6FieuSJ52dNxNctlmvnWwuViQz0ad+ToDS9gRrm7eMWqnf+fF0ntTTSVJy3YBbnElhjOM4kVGDX7x2Fry1s/GbpMFbEMpne6uAqxK47a386ffXYVrqQTMvczvkeCt/XAIndjECGPHGS+1VVWU1RLRIauOsNjqc6GRmTFeplP+Tnr/JX/RPZdjjD37dHi/CZ5l7fhh6y3jtB1Hm5eGSXHBhOAjMjHvpO5XPQZbLVC6toiiR4vW4aPEGWSbzzHt69+LvkV6CVKc2/AJ9/guoWK2wzX/J6PFyTPC6hCpCxby3aiw+xgRkO+el41WcqiYmC8D5OuDNC6qAJA3UMNtQL4CHHuAJXXk22+Gln/vk1IjjZc5j2mtC1m8PB9njB9mUrsBN1mc3mcXU7SEDz7GCuQFUHsPQ9JCnd90/rFENLaVGvDWL8VhISg0Y2B/etzO37cbfbpTYObcco0AH7EALcm1lU1AypaWbOH9xqLWV7OF62+1BK/sNFNyEHZ2qq12lmf9YVYe6yoDdU/TIUdMWaJxmAqDSYeFtFad5aGFYPB0OeCuAZ5kXo0/1na3hjP3OyXv+UlmL4vM1Q35kpauVlMvAelWcdmJmnZ5lbtbffu4/vROpC7xuZC4bbZ95sHi1xY0JFxNwKZeJM2bhNRjXCZWvRY7GTEcG0hSkwc9e1cbA3Q/hLiyYE+uLHy1Dp7LwLCfMm56dqBscLIf69/Q8Pwm8V2mv6vCYD8x1p3Gnfx8d7aCtdhmhcXrUJsjtD2uSu0ucklKHQ1v7Jb3i1I5gzlJ2lxOWmAfl2REmwaF+cBmHh88IMZFVEAV54Idh8NcmWAb5exZbzA8wmQTmVB9EycY+dAP41A3z2I3+JT+Z5dJPI2lVorqlj7AOL6jtjyxileCkCzOB8+cmCXKZeispvSd7jAG8Gwfmxr70l8qVTFOdD6skQtVni5Bj3uBQON4OrfYeDfdmJnwN/U2kkkSbdbLaRLWUSH3CEe0/eDI0vgvXFcLTR9Eyc9ihjJZmP0ZuBfAGD3iDmfJolq+2hnCfYzoqf+Ya913sh5nHCIN1kFdPMGKt8Ea+MH6ON2lgKwTnYKc8LYebMC7kaxJ0GTWMqs98oDGFp+a1HwUrmeXFMQU/fZVWF8EDPhNBrGWWuc3Qw2fwetNieGZuFtcy9ys9DeeIgTnOl47cNsFARH2DhelL/9IqlixeIjDXMOvAGZLGOBYzdp6dqC/LcL3VZY/wHNvjLXO1u2hFdvUe7urMbJTyt2PW0SonZYzPQqvPS3E9Owfw7LGI5UU/bi3OcI8aFYs+mBbnIAVz1Rxt1k8yjVfV48LqXhsa5ngzpcpe+gG5mMQKVF/q47p7iuPXuhFggFYqzHPWymX92WO8muK1i+WvevTYuorAc5gufHOgWQN5W9qYkjEhmfan628RrteWM6Qg5im5nTNzxk8f8dsuJNUpP6sA1OTMMzOqAEORire3NIkzqcxEqnKo2mgh9dpyWfr9HuQv28CtMtCCjpk5K8tAdUI2HlJrn6lWc8WgksDv48U1M68Sb/LKGh1Pfczjl0Q0QysBwGsXvUP00BaRTGPinQizyrRje/LDF2MEM4GXqBN9Ue4sFgDvXYG5HUxkuvYjGeWeOhH27OfOyTe8Pezx5pQqtOxhagnlLMA8fF2TLFKfwEFOmW+rfAXRJlvaG68elmyvRVypHzkrNtxFBTMtlhS/8L6SzsIUT8XMgzfIF52JwN2KuUoo9kFmU0QvofHag3k2Bu+uqGsY+EgpMJeFKrvo7Tk8gAcW4ArnPX/Zd4AAr2KZCycnGRrkcm3P0Hjw4o4xpc+KN7xtFcxcMpnY6VvXoHgtk/rvy2Cz9ooT8v567b0NyO06HsWYuRnH+SJZr0nXWKXMJU/h2nj21+u3gbXIQ43eriLoZQ/O6DHPatn+EscfGo2Y420q/TAP1tJP7DXyBCeTpjx9l/CqiYLizA+TFZVuCbyBxcPUjvxTLnLmQTDLfRv/jRcZkFfmiJzKvzYyy73VJqIPJuAZDZgTd+lULT+Xqf/dD71VGq/3HknG4ylzBVMUtfI3C5nrl7CS8CgH38bdLnAVd81ZYTSrMLMDqboxog6e1ooYp2mAecSt9JrFYVP3wO3IVrT2XMMoUX8bcLub9pfFIdHhrMbnusv9V2vyxItg5uXwNMhenWOgOGXJ3IGl8eI18ROZZosgy5xLJHipxMwxpPG7H+bvT34WZEkcOPeR1UfW0QqdNx5nixe59u03xakAZn1lizi1FywWgmTuJjOVxsYbI9XlvHLNSY4OeHxnCk6VsojXif6ow9IP0mUaJ5ZeUK9gDsPKpwp8UW6wy6CtgQe1D5PSZTLPg+jZbueJdZ2d2UCBc60bp0CEWQycnYhhyegMdjk7EUxMmQXPkZ9vUidpiLcY5gsKKm1a5E8FM9GUBevAPZSDT2YJ5lnVLAySxH+WLsjCFzyAeRPD3PLzn2WUvwbWFICcMfWY+IvAycbh7b9gHtevjnuo9pkH17UP0+3+3CTkZIQXaszNLPKq6u2dPiyI9/HQYzZp7ucbWxk4BS565ZEAEOX/MB2/r58cODzFYp7ylg657/RdfA0UmN/uUIconPQETqML5qnHXKVgUn9t91CLnzHjkVGmEn/qexthkOWOeHFOjJntNh6VLwcX4NQ587RuhacKfDpODMuhjnngWbtbvMjFqz294cQaMx+tXbl5JuyHedegOLwfu40p7M998Jaf2llV7QJfghDMpaH2lb8nzkoA7+eZyfA8zmuOfeBEuGCe49Le3vxw46SVMJdhHvyrHFC3ztkyX67uugAWAzBpoHFWpleXe7dTOFxmTqEoQjtWwKfxAxh4EGeCKe1/oxDC9jVqdlcoeCYQRr6VSxU+dfcOiYp5VwwtU5XiHSyAh2fmV2O0w5VzusFKKbVyQ91oxodw2U1jvOmtetPVW5z+A+axldK7ck7daMVf9OHW4vdAfZXKnuOw5pmQZpMsOR9lwe3DzHkSnkvZkxc3rSO1vDHdFFHTh/BFdN5877qjWA7+9gBzS+Ke9xhZIymvmb77YWiDcbx3K2d63msaXx5xzBcfgj/AFdUV0bsyl5LbI6D22gZvFJhfNCo8VSZqfEdYML93V/japPbqAWeGxahkcsxb6d/lUxY4qBB/ggaY11rLhB0vz4j7GZMrbwuIU+8pTtPYKqrpDjkeN5gYb5d+dBZqeAHZytM2jUnMiPjIJPPMacVtZezBOyhOjv+Ps5MkSGQYRPLkw7c//v33/wFNDG76";
\ No newline at end of file
diff --git a/docs/classes/SolanaAgentKit.html b/docs/classes/SolanaAgentKit.html
index 62e7d4a..96303d4 100644
--- a/docs/classes/SolanaAgentKit.html
+++ b/docs/classes/SolanaAgentKit.html
@@ -1,66 +1,111 @@
Configuration object
-Solana RPC connection
-Wallet keypair for signing transactions
-Public key of the wallet
-Optionalpayer: stringOptionalinitialSupply: numberOptionaloptions: PumpFunTokenOptionsOptionalrecipient: PublicKeyConfiguration object
+Solana RPC connection
+Wallet keypair for signing transactions
+Public key of the wallet
+Optionalpayer: stringOptionalinitialSupply: numberCloses an existing trading position on Flash.Trade
+Flash trade close parameters
+Transaction signature
+Opens a new trading position on Flash.Trade
+Flash trade parameters including market, side, collateral, leverage, and pool name
+Transaction signature
+Optionaloptions: PumpFunTokenOptionsOptionalrecipient: PublicKeyOptionalsplmintAddress: PublicKeyOptionalprice: numberOptionalprice: number
Main class for interacting with Solana blockchain Provides a unified interface for token operations, NFT management, trading and more
SolanaAgentKit
-