// Path: JHazm/src/main/java/jhazm/utility/MakeTrans.java
// public class MakeTrans {
//     private final Map<Character, Character> d;
// 
//     public MakeTrans(String intab, String outab) {
//         d = new HashMap<>();
//         for (int i = 0; i < intab.length(); i++)
//             d.put(intab.charAt(i), outab.charAt(i));
//     }
// 
//     public String translate(String src) {
//         StringBuilder sb = new StringBuilder(src.length());
//         for (char src_c : src.toCharArray())
//             sb.append(d.containsKey(src_c) ? (Character) d.get(src_c) : src_c);
//         return sb.toString();
//     }
// }
// 
// Path: JHazm/src/main/java/jhazm/utility/RegexPattern.java
// public class RegexPattern {
//     private final String Pattern;
//     private final String Replace;
//     public RegexPattern(String pattern, String replace) {
//         this.Pattern = pattern;
//         this.Replace = replace;
//     }
// 
//     public String apply(String text) {
//         return text.replaceAll(Pattern, Replace);
//     }
// }


import jhazm.utility.MakeTrans;
import jhazm.utility.RegexPattern;
import java.util.ArrayList;
import java.util.List;
package jhazm;



/**
 * @author Mojtaba Khallash
 */
public class Normalizer {
    public static Normalizer instance;
    private final String puncAfter = "!:\\.،؛؟»\\]\\)\\}";
    private final String puncBefore = "«\\[\\(\\{";
    private boolean characterRefinement = true;
// Path: JHazm/src/main/java/jhazm/utility/MakeTrans.java
// public class MakeTrans {
//     private final Map<Character, Character> d;
// 
//     public MakeTrans(String intab, String outab) {
//         d = new HashMap<>();
//         for (int i = 0; i < intab.length(); i++)
//             d.put(intab.charAt(i), outab.charAt(i));
//     }
// 
//     public String translate(String src) {
//         StringBuilder sb = new StringBuilder(src.length());
//         for (char src_c : src.toCharArray())
//             sb.append(d.containsKey(src_c) ? (Character) d.get(src_c) : src_c);
//         return sb.toString();
//     }
// }
// 
// Path: JHazm/src/main/java/jhazm/utility/RegexPattern.java
// public class RegexPattern {
//     private final String Pattern;
//     private final String Replace;
//     public RegexPattern(String pattern, String replace) {
//         this.Pattern = pattern;
//         this.Replace = replace;
//     }
// 
//     public String apply(String text) {
//         return text.replaceAll(Pattern, Replace);
//     }
// }


// Path: JHazm/src/main/java/jhazm/Normalizer.java
import jhazm.utility.MakeTrans;
import jhazm.utility.RegexPattern;
import java.util.ArrayList;
import java.util.List;

package jhazm;



/**
 * @author Mojtaba Khallash
 */
public class Normalizer {
    public static Normalizer instance;
    private final String puncAfter = "!:\\.،؛؟»\\]\\)\\}";
    private final String puncBefore = "«\\[\\(\\{";
    private boolean characterRefinement = true;
    private List<RegexPattern> characterRefinementPatterns;