<commit_before>﻿<Window x:Class="SleepHunter.Views.SpellTargetWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:models="clr-namespace:SleepHunter.Models"
        xmlns:ctl="clr-namespace:SleepHunter.Controls"
        xmlns:sh="clr-namespace:SleepHunter"
        xmlns:sys="clr-namespace:System;assembly=mscorlib"
        xmlns:settings="clr-namespace:SleepHunter.Settings"
        Title="Choose Target" 
        Width="500" Height="330"
        Style="{StaticResource ObsidianWindow}"
        WindowStartupLocation="CenterOwner"
        ResizeMode="NoResize">
    <Grid Margin="8">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="Auto"/>
        </Grid.ColumnDefinitions>
        
        <Border Grid.RowSpan="2" 
                BorderBrush="{StaticResource ObsidianSeparatorColor}"
                BorderThickness="1"
                Padding="2" Width="64" Height="64"
                HorizontalAlignment="Center"
                VerticalAlignment="Center"
                Margin="8,4">
             <Image Source="{Binding RelativeSource={RelativeSource AncestorType=sh:SpellTargetWindow}, Path=Spell.Icon, Mode=OneWay}"
                    Width="62" Height="62"
                    RenderOptions.BitmapScalingMode="NearestNeighbor"/>
        </Border>

        <TextBlock Grid.Column="1"
                   Grid.RowSpan="2"
                   Text="{Binding RelativeSource={RelativeSource AncestorType=sh:SpellTargetWindow}, Path=Spell.Name, Mode=OneWay}"
                   Style="{StaticResource ObsidianText}"
                   FontSize="26"
                   TextWrapping="WrapWithOverflow"
                   Margin="4,1,4,2"/>

        <Border Name="WarningBorder" 
                Grid.Column="2"
                Grid.RowSpan="2"
                Background="{DynamicResource ObsidianControlBackground}"
                BorderBrush="{StaticResource ObsidianDisabled}"
                HorizontalAlignment="Center"
                VerticalAlignment="Center"
                Margin="6,2"
                ToolTip="Warning: Undefined Spell"
                Visibility="Collapsed">
            <Path StrokeThickness="2"
                  Stroke="{Binding ElementName=WarningBorder, Path=BorderBrush}"
                  Data="M 0,24 h 24 l -12,-22 z m 12,-15 v 8 m 0,2 v 2"
                  HorizontalAlignment="Center"
                  VerticalAlignment="Center"/>
        </Border>
        
        <TextBlock Grid.Column="3" Text="Level"
                   Style="{StaticResource ObsidianText}"
                   TextAlignment="Center"
                   FontSize="18"
                   Opacity="0.5"
                   Margin="4,2"/>        
        
        <TextBlock Grid.Row="1" Grid.Column="3"
                   Style="{StaticResource ObsidianText}"
                   FontSize="26"
                   TextAlignment="Center"
                   TextWrapping="Wrap"
                   Opacity="0.75"
                   Margin="8,-8,8,4">
            <TextBlock.Text>
                <MultiBinding StringFormat="{}{0} / {1}">
                    <Binding RelativeSource="{RelativeSource AncestorType=sh:SpellTargetWindow}" Path="Spell.CurrentLevel" Mode="OneWay"/>
                    <Binding RelativeSource="{RelativeSource AncestorType=sh:SpellTargetWindow}" Path="Spell.MaximumLevel" Mode="OneWay"/>
                </MultiBinding>
            </TextBlock.Text>
        </TextBlock>

        <Separator Grid.Row="2"
                   Grid.ColumnSpan="4"
                   Style="{StaticResource ObsidianSeparator}"/>        
        
        <Grid Grid.Row="3" Grid.ColumnSpan="4">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto"/>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>

            <TextBlock Text="Target Mode:"<commit_msg>XAML fixes<commit_after>﻿<Window x:Class="SleepHunter.Views.SpellTargetWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:models="clr-namespace:SleepHunter.Models"
        xmlns:ctl="clr-namespace:SleepHunter.Controls"
        xmlns:views="clr-namespace:SleepHunter.Views"
        xmlns:sys="clr-namespace:System;assembly=mscorlib"
        xmlns:settings="clr-namespace:SleepHunter.Settings"
        Title="Choose Target" 
        Width="500" Height="330"
        Style="{StaticResource ObsidianWindow}"
        WindowStartupLocation="CenterOwner"
        ResizeMode="NoResize">
    <Grid Margin="8">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="Auto"/>
        </Grid.ColumnDefinitions>
        
        <Border Grid.RowSpan="2" 
                BorderBrush="{StaticResource ObsidianSeparatorColor}"
                BorderThickness="1"
                Padding="2" Width="64" Height="64"
                HorizontalAlignment="Center"
                VerticalAlignment="Center"
                Margin="8,4">
             <Image Source="{Binding RelativeSource={RelativeSource AncestorType=views:SpellTargetWindow}, Path=Spell.Icon, Mode=OneWay}"
                    Width="62" Height="62"
                    RenderOptions.BitmapScalingMode="NearestNeighbor"/>
        </Border>

        <TextBlock Grid.Column="1"
                   Grid.RowSpan="2"
                   Text="{Binding RelativeSource={RelativeSource AncestorType=views:SpellTargetWindow}, Path=Spell.Name, Mode=OneWay}"
                   Style="{StaticResource ObsidianText}"
                   FontSize="26"
                   TextWrapping="WrapWithOverflow"
                   Margin="4,1,4,2"/>

        <Border Name="WarningBorder" 
                Grid.Column="2"
                Grid.RowSpan="2"
                Background="{DynamicResource ObsidianControlBackground}"
                BorderBrush="{StaticResource ObsidianDisabled}"
                HorizontalAlignment="Center"
                VerticalAlignment="Center"
                Margin="6,2"
                ToolTip="Warning: Undefined Spell"
                Visibility="Collapsed">
            <Path StrokeThickness="2"
                  Stroke="{Binding ElementName=WarningBorder, Path=BorderBrush}"
                  Data="M 0,24 h 24 l -12,-22 z m 12,-15 v 8 m 0,2 v 2"
                  HorizontalAlignment="Center"
                  VerticalAlignment="Center"/>
        </Border>
        
        <TextBlock Grid.Column="3" Text="Level"
                   Style="{StaticResource ObsidianText}"
                   TextAlignment="Center"
                   FontSize="18"
                   Opacity="0.5"
                   Margin="4,2"/>        
        
        <TextBlock Grid.Row="1" Grid.Column="3"
                   Style="{StaticResource ObsidianText}"
                   FontSize="26"
                   TextAlignment="Center"
                   TextWrapping="Wrap"
                   Opacity="0.75"
                   Margin="8,-8,8,4">
            <TextBlock.Text>
                <MultiBinding StringFormat="{}{0} / {1}">
                    <Binding RelativeSource="{RelativeSource AncestorType=views:SpellTargetWindow}" Path="Spell.CurrentLevel" Mode="OneWay"/>
                    <Binding RelativeSource="{RelativeSource AncestorType=views:SpellTargetWindow}" Path="Spell.MaximumLevel" Mode="OneWay"/>
                </MultiBinding>
            </TextBlock.Text>
        </TextBlock>

        <Separator Grid.Row="2"
                   Grid.ColumnSpan="4"
                   Style="{StaticResource ObsidianSeparator}"/>        
        
        <Grid Grid.Row="3" Grid.ColumnSpan="4">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto"/>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>

            <TextBlock Text="Target Mode:"
{'fraction_non_alphanumeric': 0.120083849071671, 'fraction_numerical': 0.01637053304052705, 'mean_word_length': 1.794700139470014, 'pattern_counts': {'":': 0, '<': 107, '<?xml version=': 0, '>': 105, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 14}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4215425', 'n_tokens_mistral': 2765, 'n_tokens_neox': 2398, 'n_words': 384}