Directory structure:
└── gmf520-code-cracker/
├── README.md
├── code-cracker.sln
├── LICENSE
└── src/
└── Liuliu.CodeCracker/
├── App.config
├── App.xaml
├── App.xaml.cs
├── Liuliu.CodeCracker.csproj
├── MainWindow.xaml
├── MainWindow.xaml.cs
├── packages.config
├── Contexts/
│ └── SoftContext.cs
├── Converters/
│ └── StringToPageSegModeConverter.cs
├── Infrastructure/
│ ├── CodeCrackerBase.cs
│ ├── ICodeCracker.cs
│ └── PageSegMode.cs
├── Properties/
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ ├── Resources.resx
│ ├── Settings.Designer.cs
│ └── Settings.settings
├── Resources/
│ └── LocalResource.xaml
├── UserControls/
│ ├── CodeCrackView.xaml
│ ├── CodeCrackView.xaml.cs
│ ├── CodeFilterView.xaml
│ ├── CodeFilterView.xaml.cs
│ ├── CodeLoadView.xaml
│ └── CodeLoadView.xaml.cs
└── ViewModels/
├── CodeCrackViewModel.cs
├── CodeFilterViewModel.cs
├── CodeLoadViewModel.cs
├── MainCommandViewModel.cs
├── MainViewModel.cs
└── ViewModelLocator.cs