please help fix this 1 at a time  Compiling raydium_amm v0.3.0 (C:\solana_rust_bot\src\raydium-amm\program)
error: unknown start of token: \u{2019}
 --> src\raydium-amm\program\src\error.rs:1:5
  |
1 | Here’s the structured representation of your error.rs file. This file defines the various error types that can occur in your Raydium AMM program, allowing for effective erro... 
  |     ^
  |
help: Unicode character '’' (Right Single Quotation Mark) looks like ''' (Single Quote), but it is not
  |
1 | Here's the structured representation of your error.rs file. This file defines the various error types that can occur in your Raydium AMM program, allowing for effective error management and handling.
  |     ~

error: unknown start of token: \
 --> src\raydium-amm\program\src\error.rs:2:3
  |
2 | C:\solana_rust_bot\src\raydium-amm\program\src\error.rs
  |   ^

error: unknown start of token: \
 --> src\raydium-amm\program\src\error.rs:2:19
  |
2 | C:\solana_rust_bot\src\raydium-amm\program\src\error.rs
  |                   ^

error: unknown start of token: \
 --> src\raydium-amm\program\src\error.rs:2:23
  |
2 | C:\solana_rust_bot\src\raydium-amm\program\src\error.rs
  |                       ^

error: unknown start of token: \
 --> src\raydium-amm\program\src\error.rs:2:35
  |
2 | C:\solana_rust_bot\src\raydium-amm\program\src\error.rs
  |                                   ^

error: unknown start of token: \
 --> src\raydium-amm\program\src\error.rs:2:43
  |
2 | C:\solana_rust_bot\src\raydium-amm\program\src\error.rs
  |                                           ^

error: unknown start of token: \
 --> src\raydium-amm\program\src\error.rs:2:47
  |
2 | C:\solana_rust_bot\src\raydium-amm\program\src\error.rs
  |                                               ^

error: expected one of `!` or `::`, found `s`
 --> src\raydium-amm\program\src\error.rs:1:6
  |
1 | Here’s the structured representation of your error.rs file. This file defines the various error types that can occur in your Raydium AMM program, allowing for effective erro... 
  |      ^ expected one of `!` or `::`

error[E0432]: unresolved import `crate::error::AmmError`
 --> src\raydium-amm\program\src\processor.rs:4:5
  |
4 |     error::AmmError,
  |     ^^^^^^^^^^^^^^^ no `AmmError` in `error`

error[E0432]: unresolved import `crate::error::AmmError`
 --> src\raydium-amm\program\src\state.rs:3:13
  |
3 | use crate::{error::AmmError, math::Calculator};
  |             ^^^^^^^^^^^^^^^ no `AmmError` in `error`
  |
  = note: unresolved item `crate::processor::account_parser::AmmError` exists but is inaccessible

error[E0432]: unresolved import `raydium_amm`
  --> src\raydium-amm\program\src\math.rs:17:5
   |
17 | use raydium_amm::amm;
   |     ^^^^^^^^^^^ use of undeclared crate or module `raydium_amm`

error[E0432]: unresolved imports `crate::math::Calculator`, `crate::math::CheckedCeilDiv`, `crate::math::InvariantPool`, `crate::math::InvariantToken`, `crate::math::RoundDirection`, `crate::math::SwapDirection`, `crate::math::U128`, `crate::math::U256`, `crate::state::GetPoolData`, `crate::state::GetSwapBaseInData`, `crate::state::GetSwapBaseOutData`, `crate::state::RunCrankData`
  --> src\raydium-amm\program\src\processor.rs:12:9
   |
12 |         Calculator, CheckedCeilDiv, InvariantPool, InvariantToken, RoundDirection, SwapDirection,
   |         ^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^ no `SwapDirection` in `math`
   |         |           |               |              |               |
   |         |           |               |              |               no `RoundDirection` in `math`
   |         |           |               |              no `InvariantToken` in `math`
   |         |           |               no `InvariantPool` in `math`
   |         |           no `CheckedCeilDiv` in `math`
   |         no `Calculator` in `math`
13 |         U128, U256,
   |         ^^^^  ^^^^ no `U256` in `math`
   |         |
   |         no `U128` in `math`
...
16 |         AmmConfig, AmmInfo, AmmParams, AmmResetFlag, AmmState, AmmStatus, GetPoolData,
   |                                                                           ^^^^^^^^^^^ no `GetPoolData` in `state`
17 |         GetSwapBaseInData, GetSwapBaseOutData, Loadable, RunCrankData, SimulateParams,
   |         ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^            ^^^^^^^^^^^^
   |         |
   |         no `GetSwapBaseInData` in `state`

error[E0432]: unresolved import `crate::math::Calculator`
 --> src\raydium-amm\program\src\state.rs:3:30
  |
3 | use crate::{error::AmmError, math::Calculator};
  |                              ^^^^^^^^^^^^^^^^ no `Calculator` in `math`
  |
  = note: unresolved item `crate::processor::account_parser::Calculator` exists but is inaccessible

warning: unused import: `SimulateParams`
 --> src\raydium-amm\program\src\instruction.rs:6:56
  |
6 | use crate::state::{AmmParams, Fees, LastOrderDistance, SimulateParams};
  |                                                        ^^^^^^^^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

warning: unused import: `arrayref::array_ref`
 --> src\raydium-amm\program\src\instruction.rs:7:5
  |
7 | use arrayref::array_ref;
  |     ^^^^^^^^^^^^^^^^^^^

warning: unused imports: `AccountMeta`, `Instruction`, and `sysvar`
  --> src\raydium-amm\program\src\instruction.rs:9:19
   |
9  |     instruction::{AccountMeta, Instruction},
   |                   ^^^^^^^^^^^  ^^^^^^^^^^^
...
13 |     sysvar,
   |     ^^^^^^

warning: unused import: `instruction::Instruction`
 --> src\raydium-amm\program\src\math.rs:8:5
  |
8 |     instruction::Instruction,
  |     ^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `Deserialize` and `Serialize`
  --> src\raydium-amm\program\src\state.rs:17:13
   |
17 | use serde::{Deserialize, Serialize};
   |             ^^^^^^^^^^^  ^^^^^^^^^

warning: unused import: `convert::TryInto`
  --> src\raydium-amm\program\src\state.rs:21:5
   |
21 |     convert::TryInto,
   |     ^^^^^^^^^^^^^^^^

error[E0308]: mismatched types
   --> src\raydium-amm\program\src\instruction.rs:421:47
    |
421 |                         Pack::pack_into_slice(fees, &mut fees_slice[..]);
    |                         --------------------- ^^^^ expected `&_`, found `Fees`
    |                         |
    |                         arguments to this function are incorrect
    |
    = note: expected reference `&_`
                  found struct `state::Fees`
note: method defined here
   --> C:\Users\Orsen\.cargo\registry\src\index.crates.io-6f17d22bba15001f\solana-program-1.16.27\src\program_pack.rs:19:8
    |
19  |     fn pack_into_slice(&self, dst: &mut [u8]);
    |        ^^^^^^^^^^^^^^^
help: consider borrowing here
    |
421 |                         Pack::pack_into_slice(&fees, &mut fees_slice[..]);
    |                                               +

error[E0599]: no variant or associated item named `Seperate` found for enum `AmmParams` in the current scope
    --> src\raydium-amm\program\src\processor.rs:5355:24
     |
5355 |             AmmParams::Seperate => {
     |                        ^^^^^^^^ variant or associated item not found in `AmmParams`
     |
    ::: src\raydium-amm\program\src\state.rs:350:1
     |
350  | pub enum AmmParams {
     | ------------------ variant or associated item `Seperate` not found for this enum
     |
help: there is a variant with a similar name
     |
5355 |             AmmParams::Separate => {
     |                        ~~~~~~~~

error[E0308]: mismatched types
   --> src\raydium-amm\program\src\state.rs:698:25
    |
698 |         self.min_size = (coin_lot_size as u128 * self.sys_decimal_value as u128) / (10u128.pow(coin_decimals.into()));
    |         -------------   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u64`, found `u128`
    |         |
    |         expected due to the type of this binding

error[E0308]: mismatched types
   --> src\raydium-amm\program\src\state.rs:699:44
    |
699 |         self.min_size = if self.min_size < u64::max_value() as u128 {
    |                            -------------   ^^^^^^^^^^^^^^^^^^^^^^^^ expected `u64`, found `u128`
    |                            |
    |                            expected because this is `u64`
    |
help: you can convert `self.min_size` from `u64` to `u128`, matching the type of `u64::max_value() as u128`
    |
699 |         self.min_size = if u128::from(self.min_size) < u64::max_value() as u128 {
    |                            +++++++++++             +

warning: unused variable: `rest`
   --> src\raydium-amm\program\src\instruction.rs:241:29
    |
241 |                 let (param, rest) = Self::unpack_u8(rest)?;
    |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_rest`
    |
    = note: `#[warn(unused_variables)]` on by default

warning: unused variable: `rest`
   --> src\raydium-amm\program\src\instruction.rs:276:29
    |
276 |                 let (param, rest) = Self::unpack_u8(rest)?;
    |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_rest`

warning: unused variable: `rest`
   --> src\raydium-amm\program\src\instruction.rs:289:29
    |
289 |                 let (param, rest) = Self::unpack_u8(rest)?;
    |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_rest`

Some errors have detailed explanations: E0308, E0432, E0599.
For more information about an error, try `rustc --explain E0308`.
warning: `raydium_amm` (lib) generated 9 warnings
error: could not compile `raydium_amm` (lib) due to 17 previous errors; 9 warnings emitted