**Role:** Senior Vue.js Frontend Developer.

**Task:** Refactor `MarketingAnalysis.vue` and `MarketingService.js` to support the new backend response structure and rendering logic.

**Context:**
The backend logic has changed.

1.  **Endpoint:** The endpoint to fetch analysis results is now `GET api/marketing/analysis/{id}`.
2.  **Data Structure:** The `report` object in the response now contains a field `fullAnalysis`. This field is a huge Markdown string.
3.  **Embedded Charts:** Inside this Markdown string, there are code blocks containing JSON data for charts/tables. They look like this:

    ````markdown
    ... text ...

    ```json:seasonality
    { ...data... }
    ```
    ````

    ... text ...

    ```

    ```

**Requirements:**

1.  **Update Service:** Ensure `MarketingService.getAnalysisResult(id)` calls the correct endpoint (`api/marketing/analysis/{id}`).

2.  **Refactor Rendering Logic (`MarketingAnalysis.vue`):**

    -   Instead of hardcoded sections for "Summary", "Charts", "SWOT", etc., we need a **Dynamic Markdown Renderer**.
    -   Create a computed property or a helper function that parses `report.fullAnalysis`.
    -   It should split the markdown string into an array of segments based on the regex for code blocks: \`\`\`\`json:(\\w+)\\n([\\s\\S]\*?)\\n\`\`\` \`.
    -   **Iterate through these segments in the template:**
        -   If the segment is **Text**: Render it using `marked` (v-html).
        -   If the segment is a **Code Block**, parse the JSON and render the appropriate component based on the identifier (e.g., `seasonality`, `competitors`, `funnel`, `swot`, `channelsPotential`, `audienceSegmentation`).

3.  **Component Mapping:**
    Reuse the existing UI logic (PrimeVue Charts and Cards) but apply them dynamically inside the loop:

    -   `json:seasonality` -\> Render `Chart type="line"` (reuse existing logic for options/data).
    -   `json:funnel` -\> Render `Chart type="bar"` (reuse existing logic).
    -   `json:channelsPotential` -\> Render `Chart type="bar"` + list of justifications.
    -   `json:audienceSegmentation` -\> Render Pie Charts.
    -   `json:competitors` -\> Render the grid of competitor cards (reuse existing UI code).
    -   `json:swot` -\> Render the 4-block SWOT grid (reuse existing UI code).

4.  **Cleanup:**

    -   Remove the old static blocks (Cards for "Краткое резюме", "Графики", "SWOT", "Стратегия"), as they are now all included in the `fullAnalysis` stream.
    -   Keep the "Header" (Download PDF button) and "Recommendations" (if it's still a separate array in JSON, keep it, otherwise remove).
    -   Keep the Form for starting the analysis.

**Goal:** The user should see a seamless document flow where text explains the data, and charts/tables appear immediately after the relevant text, exactly as they are placed in the Markdown string.

**Technical Hint:**
You can create a reactive variable `parsedContent` which is an array of objects: `{ type: 'markdown' | 'chart', content: string | object, chartType?: string }`.

Begin implementation.
