diff --git a/head/objective-c-compile/test/inputs/json/priority/blns-object.json/default/QTTopLevel.h b/head/objective-c-compile/test/inputs/json/priority/blns-object.json/default/QTTopLevel.h
new file mode 100644
index 0000000..0b3e688
--- /dev/null
+++ b/head/objective-c-compile/test/inputs/json/priority/blns-object.json/default/QTTopLevel.h
@@ -0,0 +1,628 @@
+// To parse this JSON:
+//
+//   NSError *error;
+//   QTTopLevel *topLevel = [QTTopLevel fromJSON:json encoding:NSUTF8Encoding error:&error];
+
+#import <Foundation/Foundation.h>
+
+@class QTTopLevel;
+@class QTA;
+@class QTB;
+@class QTC;
+
+NS_ASSUME_NONNULL_BEGIN
+
+#pragma mark - Top-level marshaling functions
+
+QTTopLevel *_Nullable QTTopLevelFromData(NSData *data, NSError **error);
+QTTopLevel *_Nullable QTTopLevelFromJSON(NSString *json, NSStringEncoding encoding, NSError **error);
+NSData     *_Nullable QTTopLevelToData(QTTopLevel *topLevel, NSError **error);
+NSString   *_Nullable QTTopLevelToJSON(QTTopLevel *topLevel, NSStringEncoding encoding, NSError **error);
+
+#pragma mark - Object interfaces
+
+@interface QTTopLevel : NSObject
+@property (nonatomic, strong) QTA *a;
+@property (nonatomic, strong) QTB *b;
+@property (nonatomic, strong) QTC *c;
+
++ (_Nullable instancetype)fromJSON:(NSString *)json encoding:(NSStringEncoding)encoding error:(NSError *_Nullable *)error;
++ (_Nullable instancetype)fromData:(NSData *)data error:(NSError *_Nullable *)error;
+- (NSString *_Nullable)toJSON:(NSStringEncoding)encoding error:(NSError *_Nullable *)error;
+- (NSData *_Nullable)toData:(NSError *_Nullable *)error;
+@end
+
+@interface QTA : NSObject
+@property (nonatomic, copy)   NSString *a;
+@property (nonatomic, copy)   NSString *a0;
+@property (nonatomic, copy)   NSString *a000;
+@property (nonatomic, copy)   NSString *a0000;
+@property (nonatomic, copy)   NSString *a1;
+@property (nonatomic, copy)   NSString *a100000000;
+@property (nonatomic, copy)   NSString *a1E02;
+@property (nonatomic, copy)   NSString *aAlert123T;
+@property (nonatomic, copy)   NSString *aFalse;
+@property (nonatomic, copy)   NSString *aHrefJava123456781112ScriptJavascriptAlert1XXXA;
+@property (nonatomic, copy)   NSString *aHrefJavascriptX09JavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefJavascriptX0AJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefJavascriptX3AJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX01JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX05JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX08JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX09JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX0CjavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX10JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX11JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX13JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX17JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX1FjavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefXC2XA0JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefXE1X9AX80JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefXE1XA0X8EjavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefXE2X80X83JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefXE2X80X84JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefXE2X80X86JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefXE2X80X87JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefXE2X80XA8JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aNil;
+@property (nonatomic, copy)   NSString *aTRUE;
+@property (nonatomic, copy)   NSString *aTest;
+@property (nonatomic, copy)   NSString *aTrue;
+@property (nonatomic, copy)   NSString *abcDivStyleXExpX00RessionJavascriptAlert1DEF;
+@property (nonatomic, copy)   NSString *abcDivStyleXExpX5CressionJavascriptAlert1DEF;
+@property (nonatomic, copy)   NSString *abcDivStyleXX09ExpressionJavascriptAlert1DEF;
+@property (nonatomic, copy)   NSString *abcDivStyleXX0BexpressionJavascriptAlert1DEF;
+@property (nonatomic, copy)   NSString *abcDivStyleXX20ExpressionJavascriptAlert1DEF;
+@property (nonatomic, copy)   NSString *abcDivStyleXX3AexpressionJavascriptAlert1DEF;
+@property (nonatomic, copy)   NSString *abcDivStyleXXC2XA0ExpressionJavascriptAlert1DEF;
+@property (nonatomic, copy)   NSString *abcDivStyleXXE2X80X80ExpressionJavascriptAlert1DEF;
+@property (nonatomic, copy)   NSString *abcDivStyleXXE2X80X84ExpressionJavascriptAlert1DEF;
+@property (nonatomic, copy)   NSString *abcDivStyleXXE2X80X89ExpressionJavascriptAlert1DEF;
+@property (nonatomic, copy)   NSString *abcDivStyleXXE2X80X8BexpressionJavascriptAlert1DEF;
+@property (nonatomic, copy)   NSString *alert123;
+@property (nonatomic, copy)   NSString *alert123T;
+@property (nonatomic, copy)   NSString *alertXSS;
+@property (nonatomic, copy)   NSString *andU200BZEROWIDTHSPACEWhichAreInTheCCategoriesButAreOften;
+@property (nonatomic, copy)   NSString *another;
+@property (nonatomic, copy)   NSString *arsenalCanal;
+@property (nonatomic, copy)   NSString *autofocusOnkeyupJavascriptAlert123;
+@property (nonatomic, copy)   NSString *aux;
+@property (nonatomic, copy)   NSString *changingLengthWhenLowercased;
+@property (nonatomic, copy)   NSString *charactersWhichIncreaseInLength2To3BytesWhenLowercased;
+@property (nonatomic, copy)   NSString *classic;
+@property (nonatomic, copy)   NSString *commandInjectionRuby;
+@property (nonatomic, copy)   NSString *d;
+@property (nonatomic, copy)   NSString *dickVanDyke;
+@property (nonatomic, copy)   NSString *drHermanILibshitz;
+@property (nonatomic, copy)   NSString *empty;
+@property (nonatomic, copy)   NSString *envHome;
+@property (nonatomic, copy)   NSString *etcHosts;
+@property (nonatomic, copy)   NSString *etcPasswd00;
+@property (nonatomic, copy)   NSString *fontsAndHaveANumberOfSpecialBehaviors;
+@property (nonatomic, copy)   NSString *fooValBar;
+@property (nonatomic, copy)   NSString *home;
+@property (nonatomic, copy)   NSString *humanInjection;
+@property (nonatomic, copy)   NSString *iNVOkINGTHEFÈẸLINGOFCHÁOS;
+@property (nonatomic, copy)   NSString *ifImgSrcXOnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *ifScriptJavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *imgSRCJavAscriptAlertXSS;
+@property (nonatomic, copy)   NSString *imgSRCJavX0AAscriptAlertXSS;
+@property (nonatomic, copy)   NSString *imgSRCJavX0DAscriptAlertXSS;
+@property (nonatomic, copy)   NSString *imgSrc106971189711599114105112116589710810111411640398883833941;
+@property (nonatomic, copy)   NSString *imgSrcX09XOnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgSrcX11XOnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgSrcXOnerrorX00JavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgSrcXOnerrorX09JavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgSrcXX09OnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgSrcXX10OnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgSrcXX11OnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgSrcXX12OnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgSrcXX13OnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgSrcXxxXX00OnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgSrcXxxXX0BonerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgSrcXxxXX2FonerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgX00SrcXOnerrorAlert1;
+@property (nonatomic, copy)   NSString *imgX10SrcXOnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgX13SrcXOnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgX32SrcXOnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgX39SrcXOnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *inf;
+@property (nonatomic, copy)   NSString *infinity;
+@property (nonatomic, copy)   NSString *innocuousStringsWhichMayBeBlockedByProfanityFiltersHTTPSEnWikipediaOrgWikiScunthorpeProblem;
+@property (nonatomic, assign) BOOL isDontMakeAMap;
+@property (nonatomic, copy)   NSString *jimmyClitheroe;
+@property (nonatomic, copy)   NSString *kernelExit1;
+@property (nonatomic, copy)   NSString *knownCVEsAndVulnerabilities;
+@property (nonatomic, copy)   NSString *lightwaterCountryPark;
+@property (nonatomic, copy)   NSString *lpt2;
+@property (nonatomic, copy)   NSString *lpt3;
+@property (nonatomic, copy)   NSString *lsAl;
+@property (nonatomic, copy)   NSString *msdosWindowsSpecialFilenames;
+@property (nonatomic, copy)   NSString *nonWhitespaceC1ControlsU0080ThroughU0084AndU0086ThroughU009F;
+@property (nonatomic, copy)   NSString *none;
+@property (nonatomic, copy)   NSString *null;
+@property (nonatomic, copy)   NSString *one;
+@property (nonatomic, copy)   NSString *one0;
+@property (nonatomic, copy)   NSString *one1;
+@property (nonatomic, copy)   NSString *onfocusJaVaSCriptAlert123Autofocus;
+@property (nonatomic, copy)   NSString *or11;
+@property (nonatomic, copy)   NSString *penistoneCommunityChurch;
+@property (nonatomic, copy)   NSString *perlEPrintIMGSRCJava0ScriptAlertXSSOut;
+@property (nonatomic, copy)   NSString *prn;
+@property (nonatomic, copy)   NSString *romansInSussexCoUk;
+@property (nonatomic, copy)   NSString *s;
+@property (nonatomic, copy)   NSString *sUnSU;
+@property (nonatomic, copy)   NSString *scScriptRiptAlert123ScScriptRipt;
+@property (nonatomic, copy)   NSString *scriptAlert123ScriptX;
+@property (nonatomic, copy)   NSString *scriptInjection;
+@property (nonatomic, copy)   NSString *scriptSRCHTTPHaCkersOrgXSSJSB;
+@property (nonatomic, copy)   NSString *scriptSRCHTTPHaCkersOrgXSSJSSCRIPT;
+@property (nonatomic, copy)   NSString *scriptScriptAlert123Script;
+@property (nonatomic, copy)   NSString *scriptX00JavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptX09TypeTextJavascriptJavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptX0CjavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptX0DjavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptX20TypeTextJavascriptJavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptX3EtypeTextJavascriptJavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptXC2X85JavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptXC2XA0JavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptXE1X9AX80JavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptXE1XA0X8EjavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptXE2X80X81JavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptXE2X80X86JavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptXE2X80X89JavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptXE2X81X9FjavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptXEFXBBXBFjavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptXF0X90X96X9AjavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptXSSSRCHTTPHaCkersOrgXSSJSSCRIPT;
+@property (nonatomic, copy)   NSString *some;
+@property (nonatomic, copy)   NSString *some0;
+@property (nonatomic, copy)   NSString *sqlInjection;
+@property (nonatomic, copy)   NSString *stringWhichCanRevealSystemFilesWhenParsedByABadlyConfiguredXMLParser;
+@property (nonatomic, copy)   NSString *stringsThatTestForKnownVulnerabilities;
+@property (nonatomic, copy)   NSString *stringsWhichCanBeAccidentallyExpandedIntoDifferentStringsIfEvaluatedInTheWrongContextEGUsedAsAPrintfFormatStringOrViaPERLOrShellEvalMightExposeSensitiveDataFromTheProgramDoingTheInterpolationOrMightJustRepresentTheWrongString;
+@property (nonatomic, copy)   NSString *stringsWhichCanCallSystemCommandsWithinRubyRailsApplications;
+@property (nonatomic, copy)   NSString *stringsWhichConsistsOfJapaneseStyleEmoticonsWhichArePopularOnTheWeb;
+@property (nonatomic, copy)   NSString *stringsWhichContainBoldItalicEtcVersionsOfNormalCharacters;
+@property (nonatomic, copy)   NSString *stringsWhichContainCommonUnicodeSymbolsEGSmartQuotes;
+@property (nonatomic, copy)   NSString *stringsWhichContainEmojiShouldBeTheSameBehaviorAsTwoByteCharactersButNotAlways;
+@property (nonatomic, copy)   NSString *stringsWhichContainMisplacedQuotationMarksCanCauseEncodingErrors;
+@property (nonatomic, copy)   NSString *stringsWhichContainUnicodeSubscriptsSuperscriptsCanCauseRenderingIssues;
+@property (nonatomic, copy)   NSString *stringsWhichCrashedIMessageInVariousVersionsOfIOS;
+@property (nonatomic, copy)   NSString *stringsWhichMayCauseHumanToReinterpretWorldview;
+@property (nonatomic, copy)   NSString *superBowlXXX;
+@property (nonatomic, copy)   NSString *test;
+@property (nonatomic, copy)   NSString *textareaScriptAlert123Script;
+@property (nonatomic, copy)   NSString *the;
+@property (nonatomic, copy)   NSString *the0;
+@property (nonatomic, copy)   NSString *the00;
+@property (nonatomic, copy)   NSString *the000;
+@property (nonatomic, copy)   NSString *the0000;
+@property (nonatomic, copy)   NSString *the00Ɩ;
+@property (nonatomic, copy)   NSString *the0X0;
+@property (nonatomic, copy)   NSString *the1;
+@property (nonatomic, copy)   NSString *the10;
+@property (nonatomic, copy)   NSString *the100;
+@property (nonatomic, copy)   NSString *the1000;
+@property (nonatomic, copy)   NSString *the100000;
+@property (nonatomic, copy)   NSString *the100000000;
+@property (nonatomic, copy)   NSString *the11;
+@property (nonatomic, copy)   NSString *the12;
+@property (nonatomic, copy)   NSString *the123456789012345678901234567890123456789;
+@property (nonatomic, copy)   NSString *the13;
+@property (nonatomic, copy)   NSString *the14;
+@property (nonatomic, copy)   NSString *the15;
+@property (nonatomic, copy)   NSString *the16;
+@property (nonatomic, copy)   NSString *the17;
+@property (nonatomic, copy)   NSString *the18;
+@property (nonatomic, copy)   NSString *the19;
+@property (nonatomic, copy)   NSString *the1DROPTABLEUsers;
+@property (nonatomic, copy)   NSString *the1E02;
+@property (nonatomic, copy)   NSString *the1E2;
+@property (nonatomic, copy)   NSString *the1Qnan;
+@property (nonatomic, copy)   NSString *the1Snan;
+@property (nonatomic, copy)   NSString *the2;
+@property (nonatomic, copy)   NSString *the20;
+@property (nonatomic, copy)   NSString *the21;
+@property (nonatomic, copy)   NSString *the22;
+@property (nonatomic, copy)   NSString *the23;
+@property (nonatomic, copy)   NSString *the3;
+@property (nonatomic, copy)   NSString *the4;
+@property (nonatomic, copy)   NSString *the5;
+@property (nonatomic, copy)   NSString *the6;
+@property (nonatomic, copy)   NSString *the7;
+@property (nonatomic, copy)   NSString *the8;
+@property (nonatomic, copy)   NSString *the9;
+@property (nonatomic, copy)   NSString *the999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999;
+@property (nonatomic, copy)   NSString *theFalse;
+@property (nonatomic, copy)   NSString *theNextTwoLinesMayAppearToBeBlankOrMojibakeInSomeViewers;
+@property (nonatomic, copy)   NSString *theQuicKBrownFoXBeeeep;
+@property (nonatomic, copy)   NSString *theTest;
+@property (nonatomic, copy)   NSString *the٠١٢٣٤٥٦٧٨٩;
+@property (nonatomic, copy)   NSString *twoByteCharacters;
+@property (nonatomic, copy)   NSString *u0000U000AOrU000DNULLFCR;
+@property (nonatomic, copy)   NSString *uOncopyAlertCopyMeU;
+@property (nonatomic, copy)   NSString *undef;
+@property (nonatomic, copy)   NSString *unicodeFont;
+@property (nonatomic, copy)   NSString *unicodeNumbers;
+@property (nonatomic, copy)   NSString *unwantedInterpolation;
+@property (nonatomic, copy)   NSString *xLsAl;
+@property (nonatomic, copy)   NSString *zḀḶGO;
+@property (nonatomic, copy)   NSString *ªº;
+@property (nonatomic, copy)   NSString *çIÂ;
+@property (nonatomic, copy)   NSString *œÁØ;
+@property (nonatomic, copy)   NSString *œØπ;
+@property (nonatomic, copy)   NSString *ʖ;
+@property (nonatomic, copy)   NSString *הָיְתָהTestالصفحاتالتّحول;
+@property (nonatomic, copy)   NSString *ثمنفسسقطتوبالتحديدجزيرتيباستخدامأندنوإذهناالستاروتنصيبكانأهّلايطاليابريطانيافرنساقدأخذسليمانإتفاقيةبينمايذكرالحدودأيبعدمعاملةبولنداالإطلاقعلإيو;
+@property (nonatomic, copy)   NSString *ด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็ด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็ด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็;
+@property (nonatomic, copy)   NSString *ⱥ;
+@property (nonatomic, copy)   NSString *ⱦ;
+@property (nonatomic, copy)   NSString *パーティーへ行かないか;
+@property (nonatomic, copy)   NSString *和製漢語;
+@property (nonatomic, copy)   NSString *田中さんにあげて下さい;
+@property (nonatomic, copy)   NSString *ﬁﬂ;
+@property (nonatomic, copy)   NSString *ｨ;
+@end
+
+@interface QTB : NSObject
+@property (nonatomic, copy)   NSString *aHrefHTTPFooBarXYAImgAltImgSrcXXOnerrorJavascriptAlert1A;
+@property (nonatomic, copy)   NSString *aHrefJavascriptX00JavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefJavascriptX0DJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX02JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX04JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX0AjavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX0DjavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX0EjavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX0FjavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX16JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX19JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX1AjavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX1DjavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX1EjavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefXE2X80X81JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefXE2X80X82JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefXE2X80XA9JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefXE2X80XAFjavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *abcDivStyleXExpressionX5CJavascriptAlert1DEF;
+@property (nonatomic, copy)   NSString *abcDivStyleXX0AexpressionJavascriptAlert1DEF;
+@property (nonatomic, copy)   NSString *abcDivStyleXX0DexpressionJavascriptAlert1DEF;
+@property (nonatomic, copy)   NSString *abcDivStyleXXE2X80X82ExpressionJavascriptAlert1DEF;
+@property (nonatomic, copy)   NSString *abcDivStyleXXE2X80X83ExpressionJavascriptAlert1DEF;
+@property (nonatomic, copy)   NSString *abcDivStyleXXE2X80X85ExpressionJavascriptAlert1DEF;
+@property (nonatomic, copy)   NSString *abcDivStyleXXE2X80X87ExpressionJavascriptAlert1DEF;
+@property (nonatomic, copy)   NSString *abcDivStyleXXE2X80X8AexpressionJavascriptAlert1DEF;
+@property (nonatomic, copy)   NSString *another;
+@property (nonatomic, copy)   NSString *appearInInput;
+@property (nonatomic, copy)   NSString *ath0;
+@property (nonatomic, copy)   NSString *autofocusOnkeyupJavascriptAlert123;
+@property (nonatomic, copy)   NSString *b;
+@property (nonatomic, copy)   NSString *b100000;
+@property (nonatomic, copy)   NSString *bFALSE;
+@property (nonatomic, copy)   NSString *bIMGSRCOnmouseoverAlertXxs;
+@property (nonatomic, copy)   NSString *bNIL;
+@property (nonatomic, copy)   NSString *bScriptAlert123Script;
+@property (nonatomic, copy)   NSString *bTouchTmpBlnsFail;
+@property (nonatomic, copy)   NSString *basement;
+@property (nonatomic, copy)   NSString *butNow20CforMyGreatestTrick8M;
+@property (nonatomic, copy)   NSString *byteOrderMarksUFEFFAndUFFFEEachOnItsOwnLine;
+@property (nonatomic, copy)   NSString *com1;
+@property (nonatomic, copy)   NSString *com3;
+@property (nonatomic, copy)   NSString *commonlyMisinterpretedAsAdditionalGraphicCharacters;
+@property (nonatomic, copy)   NSString *con;
+@property (nonatomic, copy)   NSString *contextsDividedIntoThreeGroupsBasedOnUSLayoutKeyboardPosition;
+@property (nonatomic, copy)   NSString *creditHTTPSTwitterCOMJifaStatus625776454479970304;
+@property (nonatomic, copy)   NSString *devNullTouchTmpBlnsFailEcho;
+@property (nonatomic, copy)   NSString *empty;
+@property (nonatomic, copy)   NSString *evalPutsHelloWorld;
+@property (nonatomic, copy)   NSString *expression;
+@property (nonatomic, copy)   NSString *file;
+@property (nonatomic, copy)   NSString *fileInclusion;
+@property (nonatomic, copy)   NSString *fooValBar;
+@property (nonatomic, copy)   NSString *generalCategoryCFInUnicode800;
+@property (nonatomic, copy)   NSString *hEWHOWAĮTSBEHINDTHEWALḼ;
+@property (nonatomic, copy)   NSString *help;
+@property (nonatomic, copy)   NSString *httpA3030;
+@property (nonatomic, copy)   NSString *iOSVulnerabilities;
+@property (nonatomic, copy)   NSString *ifYouReReadingThisYouVeBeenInAComaForAlmost20YearsNowWeReTryingANewTechniqueWeDonTKnowWhereThisMessageWillEndUpInYourDreamButWeHopeItWorksPleaseWakeUpWeMissYou;
+@property (nonatomic, copy)   NSString *iframeSrcHTTPHaCkersOrgScriptletHTML;
+@property (nonatomic, copy)   NSString *imgSRC14JavascriptAlertXSS;
+@property (nonatomic, copy)   NSString *imgSRCJavX09AscriptAlertXSS;
+@property (nonatomic, copy)   NSString *imgSRCOnmouseoverAlertXxs;
+@property (nonatomic, copy)   NSString *imgSRCX6AX61X76X61X73X63X72X69X70X74X3AX61X6CX65X72X74X28X27X58X53X53X27X29;
+@property (nonatomic, copy)   NSString *imgSrc00001060000097000011800000970000115000009900001140000105000011200001160000058000009700001080000101000011400001160000040000003900000880000083000008300000390000041;
+@property (nonatomic, copy)   NSString *imgSrcX00XOnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgSrcXOnerrorX11JavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgSrcXOnerrorX12JavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgSrcXxxXX0AonerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgSrcXxxXX0ConerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgSrcXxxXX0DonerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgX00SrcXOnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgX11SrcXOnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgX12SrcXOnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgX47SrcXOnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *ircSpecificStrings;
+@property (nonatomic, assign) BOOL isDontMakeAMap;
+@property (nonatomic, copy)   NSString *japaneseEmoticons;
+@property (nonatomic, copy)   NSString *kernelExecLsAl;
+@property (nonatomic, copy)   NSString *lindaCallahan;
+@property (nonatomic, copy)   NSString *nul;
+@property (nonatomic, copy)   NSString *null;
+@property (nonatomic, copy)   NSString *numericStrings;
+@property (nonatomic, copy)   NSString *oftenForbiddenToAppearInVariousTextBasedFileFormatsEGXML;
+@property (nonatomic, copy)   NSString *one;
+@property (nonatomic, copy)   NSString *onfocusJaVaSCriptAlert123Autofocus;
+@property (nonatomic, copy)   NSString *or111;
+@property (nonatomic, copy)   NSString *quotationMarks;
+@property (nonatomic, copy)   NSString *regionalIndicatorSymbols;
+@property (nonatomic, copy)   NSString *regionalIndicatorSymbolsCanBeDisplayedDifferentlyAcross;
+@property (nonatomic, copy)   NSString *reservedStrings;
+@property (nonatomic, copy)   NSString *scriptAlert123Script;
+@property (nonatomic, copy)   NSString *scriptAlert123ScriptX;
+@property (nonatomic, copy)   NSString *scriptAlertXSSSCRIPT;
+@property (nonatomic, copy)   NSString *scriptSRCHaCkersOrgJ;
+@property (nonatomic, copy)   NSString *scriptSrcJscriptSScript;
+@property (nonatomic, copy)   NSString *scriptX09JavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptX0AtypeTextJavascriptJavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptX0DtypeTextJavascriptJavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptX21JavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptX3BjavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptXE2X80X85JavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptXE2X80X87JavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptXE2X80X8AjavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptXE2X80XA8JavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptXE2X80XA9JavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptXE2X80XAFjavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptXE3X80X80JavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scunthorpeProblem;
+@property (nonatomic, copy)   NSString *some;
+@property (nonatomic, copy)   NSString *stringsThatMayOccurOnIRCClientsThatMakeSecurityProductsFreakOut;
+@property (nonatomic, copy)   NSString *stringsWhichAreReservedCharactersInMSDOSWindows;
+@property (nonatomic, copy)   NSString *stringsWhichAttemptToInvokeABenignScriptInjectionShowsVulnerabilityToXSS;
+@property (nonatomic, copy)   NSString *stringsWhichContainTextThatShouldBeRenderedRTLIfPossibleEGArabicHebrew;
+@property (nonatomic, copy)   NSString *stringsWhichContainTwoByteCharactersCanCauseRenderingIssuesOrCharacterLengthIssues;
+@property (nonatomic, copy)   NSString *stringsWhichContainUnicodeNumbersIfTheCodeIsLocalizedItShouldSeeTheInputAsNumeric;
+@property (nonatomic, copy)   NSString *stringsWhichMayBeUsedElsewhereInCode;
+@property (nonatomic, copy)   NSString *terminalEscapeCodes;
+@property (nonatomic, copy)   NSString *the;
+@property (nonatomic, copy)   NSString *the000;
+@property (nonatomic, copy)   NSString *the01000;
+@property (nonatomic, copy)   NSString *the08;
+@property (nonatomic, copy)   NSString *the09;
+@property (nonatomic, copy)   NSString *the0Xffffffffffffffff;
+@property (nonatomic, copy)   NSString *the1;
+@property (nonatomic, copy)   NSString *the100;
+@property (nonatomic, copy)   NSString *the1000;
+@property (nonatomic, copy)   NSString *the100000;
+@property (nonatomic, copy)   NSString *the100000000;
+@property (nonatomic, copy)   NSString *the1DROPTABLEUsers1;
+@property (nonatomic, copy)   NSString *the1Ind;
+@property (nonatomic, copy)   NSString *the1Inf;
+@property (nonatomic, copy)   NSString *the2;
+@property (nonatomic, copy)   NSString *the21474836481;
+@property (nonatomic, copy)   NSString *the22250738585072011E308;
+@property (nonatomic, copy)   NSString *the3;
+@property (nonatomic, copy)   NSString *theNextLineMayAppearToBeBlankMojibakeOrDingbatsInSomeViewers;
+@property (nonatomic, copy)   NSString *theNextLineMayAppearToBeBlankOrMojibakeInSomeViewers;
+@property (nonatomic, copy)   NSString *theNextLineMayBeFlaggedForTrailingWhitespaceInSomeViewers;
+@property (nonatomic, copy)   NSString *theScriptAlert123Script;
+@property (nonatomic, copy)   NSString *the１２３;
+@property (nonatomic, copy)   NSString *thisFileUnfortunatelyCannotExpressStringsContaining;
+@property (nonatomic, copy)   NSString *touchTmpBlnsFail;
+@property (nonatomic, copy)   NSString *touchTmpBlnsShellshock2Fail;
+@property (nonatomic, copy)   NSString *tysonGay;
+@property (nonatomic, copy)   NSString *unicodeSymbols;
+@property (nonatomic, copy)   NSString *x00ScriptJavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *x3CscriptJavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *åßƑÆ;
+@property (nonatomic, copy)   NSString *ɐnbᴉlɐⱯuƃɐɯƎɹolopꞱǝƎɹoqɐlꞱnꞱunpᴉpᴉɔuᴉɹodɯǝʇPoɯsnᴉǝOpPǝsꞱᴉlǝƂuᴉɔsᴉdᴉpɐɹnʇǝʇɔǝsuoɔꞱǝɯɐꞱᴉsɹolopƜnsdᴉƜǝɹo;
+@property (nonatomic, copy)   NSString *ωÇΜ;
+@property (nonatomic, copy)   NSString *ຈل͜ຈﾉヽຈل͜ຈﾉ;
+@property (nonatomic, copy)   NSString *ṱOINVOKèTHEHIVEMINDREPRESEǸTINGCHAOS;
+@property (nonatomic, copy)   NSString *社會科學院語學研究所;
+@property (nonatomic, copy)   NSString *部落格;
+@property (nonatomic, copy)   NSString *사회과학원어학연구소;
+@property (nonatomic, copy)   NSString *찦차를타고온펲시맨과쑛다리똠방각하;
+@property (nonatomic, copy)   NSString *ﷺ;
+@property (nonatomic, copy)   NSString *ﾛ_;
+@end
+
+@interface QTC : NSObject
+@property (nonatomic, copy)   NSString *_1;
+@property (nonatomic, copy)   NSString *a;
+@property (nonatomic, copy)   NSString *aHrefX00JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX03JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX06JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX07JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX0BjavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX12JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX14JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX15JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX18JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX1BjavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX1CjavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefX20JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefXE2X80X80JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefXE2X80X85JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefXE2X80X88JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefXE2X80X89JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefXE2X80X8AjavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefXE2X81X9FjavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *aHrefXE3X80X80JavascriptJavascriptAlert1IDFuzzelement1TestA;
+@property (nonatomic, copy)   NSString *abcDivStyleXExpressionX00JavascriptAlert1DEF;
+@property (nonatomic, copy)   NSString *abcDivStyleXX00ExpressionJavascriptAlert1DEF;
+@property (nonatomic, copy)   NSString *abcDivStyleXX0CexpressionJavascriptAlert1DEF;
+@property (nonatomic, copy)   NSString *abcDivStyleXXE2X80X81ExpressionJavascriptAlert1DEF;
+@property (nonatomic, copy)   NSString *abcDivStyleXXE2X80X86ExpressionJavascriptAlert1DEF;
+@property (nonatomic, copy)   NSString *abcDivStyleXXE2X80X88ExpressionJavascriptAlert1DEF;
+@property (nonatomic, copy)   NSString *abcDivStyleXXE3X80X80ExpressionJavascriptAlert1DEF;
+@property (nonatomic, copy)   NSString *abcDivStyleXXEFXBBXBFexpressionJavascriptAlert1DEF;
+@property (nonatomic, copy)   NSString *andU007FDEL;
+@property (nonatomic, copy)   NSString *another;
+@property (nonatomic, copy)   NSString *asciiPunctuationAllOfTheseCharactersMayNeedToBeEscapedInSome;
+@property (nonatomic, copy)   NSString *bodyOnloadAlertXSS;
+@property (nonatomic, copy)   NSString *c;
+@property (nonatomic, copy)   NSString *c00;
+@property (nonatomic, copy)   NSString *c000;
+@property (nonatomic, copy)   NSString *c1;
+@property (nonatomic, copy)   NSString *c100;
+@property (nonatomic, copy)   NSString *c100000;
+@property (nonatomic, copy)   NSString *c100000000;
+@property (nonatomic, copy)   NSString *c1E02;
+@property (nonatomic, copy)   NSString *cScriptAlert123Script;
+@property (nonatomic, copy)   NSString *cTrue;
+@property (nonatomic, copy)   NSString *clock;
+@property (nonatomic, copy)   NSString *com2;
+@property (nonatomic, copy)   NSString *com4;
+@property (nonatomic, copy)   NSString *craigCockburnSoftwareSpecialist;
+@property (nonatomic, copy)   NSString *dccSendStartkeylogger000;
+@property (nonatomic, copy)   NSString *emoji;
+@property (nonatomic, copy)   NSString *empty;
+@property (nonatomic, copy)   NSString *evaluate;
+@property (nonatomic, copy)   NSString *fooValBar;
+@property (nonatomic, copy)   NSString *hasOwnProperty;
+@property (nonatomic, copy)   NSString *hornimanMuseum;
+@property (nonatomic, copy)   NSString *httpWWWCumQcCA;
+@property (nonatomic, copy)   NSString *iOnwheelAlert1ScrollOverMeI;
+@property (nonatomic, copy)   NSString *imgABCSrcDXEOnerrorFAlert1;
+@property (nonatomic, copy)   NSString *imgOnmouseoverAlertXxs;
+@property (nonatomic, copy)   NSString *imgSCRIPTAlertXSSSCRIPT;
+@property (nonatomic, copy)   NSString *imgSRCJavascriptAlertStringFromCharCode888383;
+@property (nonatomic, copy)   NSString *imgSRCJavascriptAlertXSS;
+@property (nonatomic, copy)   NSString *imgSrcOnerrorAltJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgSrcX10XOnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgSrcX12XOnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgSrcX13XOnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgSrcX32XOnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgSrcX47XOnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgSrcXOnerrorAlert123;
+@property (nonatomic, copy)   NSString *imgSrcXOnerrorX10JavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgSrcXOnerrorX32JavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgSrcXScriptJavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *imgSrcXxxXX09OnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgSrcXxxXX20OnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgSrcXxxXX22OnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgSrcXxxXX27OnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgX11SrcXOnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgX34SrcXOnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *imgX47SrcXOnerrorJavascriptAlert1;
+@property (nonatomic, copy)   NSString *infinity;
+@property (nonatomic, assign) BOOL isDontMakeAMap;
+@property (nonatomic, copy)   NSString *javaSCriptAlert123;
+@property (nonatomic, copy)   NSString *lpt1;
+@property (nonatomic, copy)   NSString *ltScriptGtAlert3912339LtScriptGt;
+@property (nonatomic, copy)   NSString *magnaCumLaude;
+@property (nonatomic, copy)   NSString *medievalErectionOfParapets;
+@property (nonatomic, copy)   NSString *mocha;
+@property (nonatomic, copy)   NSString *naN;
+@property (nonatomic, copy)   NSString *nonWhitespaceC0ControlsU0001ThroughU0008U000EThroughU001F;
+@property (nonatomic, copy)   NSString *null;
+@property (nonatomic, copy)   NSString *one;
+@property (nonatomic, copy)   NSString *one00;
+@property (nonatomic, copy)   NSString *one100000;
+@property (nonatomic, copy)   NSString *one100000000;
+@property (nonatomic, copy)   NSString *onfocusJaVaSCriptAlert123Autofocus;
+@property (nonatomic, copy)   NSString *orReusedForInternalDelimitersOnTheTheoryThatTheyShouldNever;
+@property (nonatomic, copy)   NSString *plaintext;
+@property (nonatomic, copy)   NSString *powerلُلُصّبُلُلصّبُررًॣॣH冗;
+@property (nonatomic, copy)   NSString *rightToLeftStrings;
+@property (nonatomic, copy)   NSString *rosesAre031Mred0MVioletsAre034MblueHopeYouEnjoyTerminalHue;
+@property (nonatomic, copy)   NSString *s;
+@property (nonatomic, copy)   NSString *scriptAlert123Script;
+@property (nonatomic, copy)   NSString *scriptAlert123ScriptX;
+@property (nonatomic, copy)   NSString *scriptJavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptScriptAlert123Script;
+@property (nonatomic, copy)   NSString *scriptSrcJscriptSScript;
+@property (nonatomic, copy)   NSString *scriptX0AjavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptX0BjavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptX0CtypeTextJavascriptJavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptX20JavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptX2BjavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptX2FtypeTextJavascriptJavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptX7EjavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptXE2X80X80JavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptXE2X80X82JavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptXE2X80X83JavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptXE2X80X84JavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptXE2X80X88JavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptXE2X80X8BjavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptXEFXBFXAEjavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scriptXEFXBFXBEjavascriptAlert1Script;
+@property (nonatomic, copy)   NSString *scunthorpeGeneralHospital;
+@property (nonatomic, copy)   NSString *serverCodeInjection;
+@property (nonatomic, copy)   NSString *shitakeMushrooms;
+@property (nonatomic, copy)   NSString *some;
+@property (nonatomic, copy)   NSString *some00;
+@property (nonatomic, copy)   NSString *specialCharacters;
+@property (nonatomic, copy)   NSString *srcJaVaSCriptPrompt132;
+@property (nonatomic, copy)   NSString *stringsWhichCanBeInterpretedAsNumeric;
+@property (nonatomic, copy)   NSString *stringsWhichCanCauseASQLInjectionIfInputsAreNotSanitized;
+@property (nonatomic, copy)   NSString *stringsWhichCanCauseUserToPullInFilesThatShouldNotBeAPartOfAWebServer;
+@property (nonatomic, copy)   NSString *stringsWhichCanCauseUserToRunCodeOnServerAsAPrivilegedUserCFHTTPSNewsYcombinatorCOMItemID7665153;
+@property (nonatomic, copy)   NSString *stringsWhichContainCorruptedTextTheCorruptionWillNotAppearInNonHTMLTextHoweverViaHTTPWWWEeemoNet;
+@property (nonatomic, copy)   NSString *stringsWhichContainUnicodeWithAnUpsidedownEffectViaHTTPWWWUpsidedowntextCOM;
+@property (nonatomic, copy)   NSString *stringsWhichContainUnicodeWithUnusualPropertiesEGRightToLeftOverrideCFHTTPWWWUnicodeOrgChartsPDFU2000PDF;
+@property (nonatomic, copy)   NSString *stringsWhichPunishTheFoolsWhoUseCatTypeOnThisFile;
+@property (nonatomic, copy)   NSString *svgScript1231Alert123Script;
+@property (nonatomic, copy)   NSString *systemLsAl;
+@property (nonatomic, copy)   NSString *systemTouchTmpBlnsFail;
+@property (nonatomic, copy)   NSString *test;
+@property (nonatomic, copy)   NSString *testTest;
+@property (nonatomic, copy)   NSString *the;
+@property (nonatomic, copy)   NSString *the00;
+@property (nonatomic, copy)   NSString *the000;
+@property (nonatomic, copy)   NSString *the0TouchTmpBlnsShellshock1Fail;
+@property (nonatomic, copy)   NSString *the0Xabad1Dea;
+@property (nonatomic, copy)   NSString *the0Xffffffff;
+@property (nonatomic, copy)   NSString *the0️;
+@property (nonatomic, copy)   NSString *the0️1️2️3️4️5️6️7️8️9️;
+@property (nonatomic, copy)   NSString *the1;
+@property (nonatomic, copy)   NSString *the10;
+@property (nonatomic, copy)   NSString *the100;
+@property (nonatomic, copy)   NSString *the100000;
+@property (nonatomic, copy)   NSString *the100000000;
+@property (nonatomic, copy)   NSString *the11;
+@property (nonatomic, copy)   NSString *the12;
+@property (nonatomic, copy)   NSString *the13;
+@property (nonatomic, copy)   NSString *the1E02;
+@property (nonatomic, copy)   NSString *the1E2;
+@property (nonatomic, copy)   NSString *the1Ind;
+@property (nonatomic, copy)   NSString *the2;
+@property (nonatomic, copy)   NSString *the3;
+@property (nonatomic, copy)   NSString *the4;
+@property (nonatomic, copy)   NSString *the5;
+@property (nonatomic, copy)   NSString *the6;
+@property (nonatomic, copy)   NSString *the7;
+@property (nonatomic, copy)   NSString *the8;
+@property (nonatomic, copy)   NSString *the9;
+@property (nonatomic, copy)   NSString *the92233720368547758081;
+@property (nonatomic, copy)   NSString *theScriptAlert123Script;
+@property (nonatomic, copy)   NSString *the١٢٣;
+@property (nonatomic, copy)   NSString *titleOnpropertychangeJavascriptAlert1TitleTitleTitle;
+@property (nonatomic, copy)   NSString *treatedAsWhitespaceInSomeContexts;
+@property (nonatomic, copy)   NSString *trickUnicode;
+@property (nonatomic, copy)   NSString *undefined;
+@property (nonatomic, copy)   NSString *unicodeAdditionalControlCharactersAllOfTheCharactersWith;
+@property (nonatomic, copy)   NSString *unicodeSubscriptSuperscriptAccents;
+@property (nonatomic, copy)   NSString *unicodeUpsidedown;
+@property (nonatomic, copy)   NSString *user;
+@property (nonatomic, copy)   NSString *version;
+@property (nonatomic, copy)   NSString *version800PlusU0009HTU000BVTU000CFFU0085NEL;
+@property (nonatomic, copy)   NSString *whitespaceAllOfTheCharactersWithCategoryZsZlOrZpInUnicode;
+@property (nonatomic, copy)   NSString *xmlVersion10EncodingISO88591DOCTYPEFooELEMENTFooANYENTITYXxeSYSTEMFileEtcPasswdFooXxeFoo;
+@property (nonatomic, copy)   NSString *xxeInjectionXML;
+@property (nonatomic, copy)   NSString *zalgoText;
+@property (nonatomic, copy)   NSString *zz;
+@property (nonatomic, copy)   NSString *åíîïÓôÒúæ;
+@property (nonatomic, copy)   NSString *ω;
+@property (nonatomic, copy)   NSString *ёђѓєѕіїјљњћќѝўџабвгдежзийклмнопрстуфхцчшщъыьэюЯабвгдежзийклмнопрстуфхцчшщъыьэюя;
+@property (nonatomic, copy)   NSString *בְּרֵאשִׁיתבָּרָאאֱלֹהִיםאֵתהַשָּׁמַיִםוְאֵתהָאָרֶץ;
+@property (nonatomic, copy)   NSString *مُنَاقَشَةُسُبُلِاِسْتِخْدَامِاللُّغَةِفِيالنُّظُمِالْقَائِمَةِوَفِيميَخُصَّالتَّطْبِيقَاتُالْحاسُوبِيَّةُ;
+@property (nonatomic, copy)   NSString *ṯHENEZPERDIANHIVḘMINḌǪFCḤAƠSZALGO;
+@property (nonatomic, copy)   NSString *ノº_ºノ;
+@property (nonatomic, copy)   NSString *울란바토르;
+@property (nonatomic, copy)   NSString *ｔｈｅＱｕｉｃｋＢｒｏｗｎＦｏｘＪｕｍｐｓＯｖｅｒＴｈｅＬａｚｙＤｏｇ;
+@property (nonatomic, copy)   NSString *ﾉಥ益ಥﾉ;
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/head/objective-c-compile/test/inputs/json/priority/blns-object.json/default/QTTopLevel.m b/head/objective-c-compile/test/inputs/json/priority/blns-object.json/default/QTTopLevel.m
new file mode 100644
index 0000000..91782bc
--- /dev/null
+++ b/head/objective-c-compile/test/inputs/json/priority/blns-object.json/default/QTTopLevel.m
@@ -0,0 +1,1473 @@
+#import "QTTopLevel.h"
+
+#define λ(decl, expr) (^(decl) { return (expr); })
+
+static id NSNullify(id _Nullable x) {
+    return (x == nil || x == NSNull.null) ? NSNull.null : x;
+}
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface QTTopLevel (JSONConversion)
++ (instancetype)fromJSONDictionary:(NSDictionary *)dict;
+- (NSDictionary *)JSONDictionary;
+@end
+
+@interface QTA (JSONConversion)
++ (instancetype)fromJSONDictionary:(NSDictionary *)dict;
+- (NSDictionary *)JSONDictionary;
+@end
+
+@interface QTB (JSONConversion)
++ (instancetype)fromJSONDictionary:(NSDictionary *)dict;
+- (NSDictionary *)JSONDictionary;
+@end
+
+@interface QTC (JSONConversion)
++ (instancetype)fromJSONDictionary:(NSDictionary *)dict;
+- (NSDictionary *)JSONDictionary;
+@end
+
+#pragma mark - JSON serialization
+
+QTTopLevel *_Nullable QTTopLevelFromData(NSData *data, NSError **error)
+{
+    @try {
+        id json = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:error];
+        return *error ? nil : [QTTopLevel fromJSONDictionary:json];
+    } @catch (NSException *exception) {
+        *error = [NSError errorWithDomain:@"JSONSerialization" code:-1 userInfo:@{ @"exception": exception }];
+        return nil;
+    }
+}
+
+QTTopLevel *_Nullable QTTopLevelFromJSON(NSString *json, NSStringEncoding encoding, NSError **error)
+{
+    return QTTopLevelFromData([json dataUsingEncoding:encoding], error);
+}
+
+NSData *_Nullable QTTopLevelToData(QTTopLevel *topLevel, NSError **error)
+{
+    @try {
+        id json = [topLevel JSONDictionary];
+        NSData *data = [NSJSONSerialization dataWithJSONObject:json options:NSJSONWritingFragmentsAllowed error:error];
+        return *error ? nil : data;
+    } @catch (NSException *exception) {
+        *error = [NSError errorWithDomain:@"JSONSerialization" code:-1 userInfo:@{ @"exception": exception }];
+        return nil;
+    }
+}
+
+NSString *_Nullable QTTopLevelToJSON(QTTopLevel *topLevel, NSStringEncoding encoding, NSError **error)
+{
+    NSData *data = QTTopLevelToData(topLevel, error);
+    return data ? [[NSString alloc] initWithData:data encoding:encoding] : nil;
+}
+
+@implementation QTTopLevel
++ (NSDictionary<NSString *, NSString *> *)properties
+{
+    static NSDictionary<NSString *, NSString *> *properties;
+    return properties = properties ? properties : @{
+        @"a": @"a",
+        @"b": @"b",
+        @"c": @"c",
+    };
+}
+
++ (_Nullable instancetype)fromData:(NSData *)data error:(NSError *_Nullable *)error
+{
+    return QTTopLevelFromData(data, error);
+}
+
++ (_Nullable instancetype)fromJSON:(NSString *)json encoding:(NSStringEncoding)encoding error:(NSError *_Nullable *)error
+{
+    return QTTopLevelFromJSON(json, encoding, error);
+}
+
++ (instancetype)fromJSONDictionary:(NSDictionary *)dict
+{
+    return [dict isKindOfClass:NSDictionary.class] ? [[QTTopLevel alloc] initWithJSONDictionary:dict] : nil;
+}
+
+- (instancetype)initWithJSONDictionary:(NSDictionary *)dict
+{
+    if (self = [super init]) {
+        if (![dict[@"a"] isKindOfClass:NSDictionary.class]) return nil;
+        if (![dict[@"b"] isKindOfClass:NSDictionary.class]) return nil;
+        if (![dict[@"c"] isKindOfClass:NSDictionary.class]) return nil;
+        [self setValuesForKeysWithDictionary:dict];
+        _a = [QTA fromJSONDictionary:(id)_a];
+        if (!_a && dict[@"a"] && ![dict[@"a"] isKindOfClass:NSNull.class]) return nil;
+        _b = [QTB fromJSONDictionary:(id)_b];
+        if (!_b && dict[@"b"] && ![dict[@"b"] isKindOfClass:NSNull.class]) return nil;
+        _c = [QTC fromJSONDictionary:(id)_c];
+        if (!_c && dict[@"c"] && ![dict[@"c"] isKindOfClass:NSNull.class]) return nil;
+    }
+    return self;
+}
+
+- (void)setValue:(nullable id)value forKey:(NSString *)key
+{
+    id resolved = QTTopLevel.properties[key];
+    if (resolved) [super setValue:value forKey:resolved];
+}
+
+- (void)setNilValueForKey:(NSString *)key
+{
+    id resolved = QTTopLevel.properties[key];
+    if (resolved) [super setValue:@(0) forKey:resolved];
+}
+
+- (NSDictionary *)JSONDictionary
+{
+    id dict = [[self dictionaryWithValuesForKeys:QTTopLevel.properties.allValues] mutableCopy];
+
+    [dict addEntriesFromDictionary:@{
+        @"a": [_a JSONDictionary],
+        @"b": [_b JSONDictionary],
+        @"c": [_c JSONDictionary],
+    }];
+
+    return dict;
+}
+
+- (NSData *_Nullable)toData:(NSError *_Nullable *)error
+{
+    return QTTopLevelToData(self, error);
+}
+
+- (NSString *_Nullable)toJSON:(NSStringEncoding)encoding error:(NSError *_Nullable *)error
+{
+    return QTTopLevelToJSON(self, encoding, error);
+}
+@end
+
+@implementation QTA
++ (NSDictionary<NSString *, NSString *> *)properties
+{
+    static NSDictionary<NSString *, NSString *> *properties;
+    return properties = properties ? properties : @{
+        @"!@#$%^&*()`~": @"a",
+        @"-0": @"a0",
+        @"0,00": @"a000",
+        @"0.0/0.0": @"a0000",
+        @"-1": @"a1",
+        @"1'000'000.00": @"a100000000",
+        @"1E02": @"a1E02",
+        @"';alert(123);t='": @"aAlert123T",
+        @"False": @"aFalse",
+        @"<a href=java&#1&#2&#3&#4&#5&#6&#7&#8&#11&#12script:javascript:alert(1)>XXX</a>": @"aHrefJava123456781112ScriptJavascriptAlert1XXXA",
+        @"<a href=\"javascript\\x09:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefJavascriptX09JavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"javascript\\x0A:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefJavascriptX0AJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"javascript\\x3A:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefJavascriptX3AJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x01javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX01JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x05javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX05JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x08javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX08JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x09javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX09JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x0Cjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX0CjavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x10javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX10JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x11javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX11JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x13javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX13JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x17javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX17JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x1Fjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX1FjavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\xC2\\xA0javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefXC2XA0JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\xE1\\x9A\\x80javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefXE1X9AX80JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\xE1\\xA0\\x8Ejavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefXE1XA0X8EjavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\xE2\\x80\\x83javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefXE2X80X83JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\xE2\\x80\\x84javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefXE2X80X84JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\xE2\\x80\\x86javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefXE2X80X86JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\xE2\\x80\\x87javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefXE2X80X87JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\xE2\\x80\\xA8javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefXE2X80XA8JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"nil": @"aNil",
+        @"TRUE": @"aTRUE",
+        @"\u202btest\u202b": @"aTest",
+        @"True": @"aTrue",
+        @"ABC<div style=\"x:exp\\x00ression(javascript:alert(1)\">DEF": @"abcDivStyleXExpX00RessionJavascriptAlert1DEF",
+        @"ABC<div style=\"x:exp\\x5Cression(javascript:alert(1)\">DEF": @"abcDivStyleXExpX5CressionJavascriptAlert1DEF",
+        @"ABC<div style=\"x:\\x09expression(javascript:alert(1)\">DEF": @"abcDivStyleXX09ExpressionJavascriptAlert1DEF",
+        @"ABC<div style=\"x:\\x0Bexpression(javascript:alert(1)\">DEF": @"abcDivStyleXX0BexpressionJavascriptAlert1DEF",
+        @"ABC<div style=\"x:\\x20expression(javascript:alert(1)\">DEF": @"abcDivStyleXX20ExpressionJavascriptAlert1DEF",
+        @"ABC<div style=\"x\\x3Aexpression(javascript:alert(1)\">DEF": @"abcDivStyleXX3AexpressionJavascriptAlert1DEF",
+        @"ABC<div style=\"x:\\xC2\\xA0expression(javascript:alert(1)\">DEF": @"abcDivStyleXXC2XA0ExpressionJavascriptAlert1DEF",
+        @"ABC<div style=\"x:\\xE2\\x80\\x80expression(javascript:alert(1)\">DEF": @"abcDivStyleXXE2X80X80ExpressionJavascriptAlert1DEF",
+        @"ABC<div style=\"x:\\xE2\\x80\\x84expression(javascript:alert(1)\">DEF": @"abcDivStyleXXE2X80X84ExpressionJavascriptAlert1DEF",
+        @"ABC<div style=\"x:\\xE2\\x80\\x89expression(javascript:alert(1)\">DEF": @"abcDivStyleXXE2X80X89ExpressionJavascriptAlert1DEF",
+        @"ABC<div style=\"x:\\xE2\\x80\\x8Bexpression(javascript:alert(1)\">DEF": @"abcDivStyleXXE2X80X8BexpressionJavascriptAlert1DEF",
+        @";alert(123);": @"alert123",
+        @"\";alert(123);t=\"": @"alert123T",
+        @"\\\";alert('XSS');//": @"alertXSS",
+        @"# and U+200B (ZERO WIDTH SPACE), which are in the C categories but are often": @"andU200BZEROWIDTHSPACEWhichAreInTheCCategoriesButAreOften",
+        @",": @"another",
+        @"Arsenal canal": @"arsenalCanal",
+        @"\" autofocus onkeyup=\"javascript:alert(123)": @"autofocusOnkeyupJavascriptAlert123",
+        @"AUX": @"aux",
+        @"#\tChanging length when lowercased": @"changingLengthWhenLowercased",
+        @"#\tCharacters which increase in length (2 to 3 bytes) when lowercased": @"charactersWhichIncreaseInLength2To3BytesWhenLowercased",
+        @"classic": @"classic",
+        @"#\tCommand Injection (Ruby)": @"commandInjectionRuby",
+        @"%d": @"d",
+        @"Dick Van Dyke": @"dickVanDyke",
+        @"Dr. Herman I. Libshitz": @"drHermanILibshitz",
+        @" ": @"empty",
+        @"$ENV{'HOME'}": @"envHome",
+        @"../../../../../../../../../../../etc/hosts": @"etcHosts",
+        @"../../../../../../../../../../../etc/passwd%00": @"etcPasswd00",
+        @"#       fonts, and have a number of special behaviors": @"fontsAndHaveANumberOfSpecialBehaviors",
+        @"<foo val=`bar' />": @"fooValBar",
+        @"$HOME": @"home",
+        @"#\tHuman injection": @"humanInjection",
+        @"̡͓̞ͅI̗̘̦͝n͇͇͙v̮̫ok̲̫̙͈i̖͙̭̹̠̞n̡̻̮̣̺g̲͈͙̭͙̬͎ ̰t͔̦h̞̲e̢̤ ͍̬̲͖f̴̘͕̣è͖ẹ̥̩l͖͔͚i͓͚̦͠n͖͍̗͓̳̮g͍ ̨o͚̪͡f̘̣̬ ̖̘͖̟͙̮c҉͔̫͖͓͇͖ͅh̵̤̣͚͔á̗̼͕ͅo̼̣̥s̱͈̺̖̦̻͢.̛̖̞̠̫̰": @"iNVOkINGTHEFÈẸLINGOFCHÁOS",
+        @"<!--[if<img src=x onerror=javascript:alert(1)//]> -->": @"ifImgSrcXOnerrorJavascriptAlert1",
+        @"<!--[if]><script>javascript:alert(1)</script -->": @"ifScriptJavascriptAlert1Script",
+        @"<IMG SRC=\"jav   ascript:alert('XSS');\">": @"imgSRCJavAscriptAlertXSS",
+        @"<IMG SRC=\"jav&#x0A;ascript:alert('XSS');\">": @"imgSRCJavX0AAscriptAlertXSS",
+        @"<IMG SRC=\"jav&#x0D;ascript:alert('XSS');\">": @"imgSRCJavX0DAscriptAlertXSS",
+        @"<IMG SRC=&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#39;&#88;&#83;&#83;&#39;&#41;>": @"imgSrc106971189711599114105112116589710810111411640398883833941",
+        @"<img src\\x09=x onerror=\"javascript:alert(1)\">": @"imgSrcX09XOnerrorJavascriptAlert1",
+        @"<img src\\x11=x onerror=\"javascript:alert(1)\">": @"imgSrcX11XOnerrorJavascriptAlert1",
+        @"<img src=x onerror=\\x00\"javascript:alert(1)\">": @"imgSrcXOnerrorX00JavascriptAlert1",
+        @"<img src=x onerror=\\x09\"javascript:alert(1)\">": @"imgSrcXOnerrorX09JavascriptAlert1",
+        @"<img src=x\\x09onerror=\"javascript:alert(1)\">": @"imgSrcXX09OnerrorJavascriptAlert1",
+        @"<img src=x\\x10onerror=\"javascript:alert(1)\">": @"imgSrcXX10OnerrorJavascriptAlert1",
+        @"<img src=x\\x11onerror=\"javascript:alert(1)\">": @"imgSrcXX11OnerrorJavascriptAlert1",
+        @"<img src=x\\x12onerror=\"javascript:alert(1)\">": @"imgSrcXX12OnerrorJavascriptAlert1",
+        @"<img src=x\\x13onerror=\"javascript:alert(1)\">": @"imgSrcXX13OnerrorJavascriptAlert1",
+        @"`\"'><img src=xxx:x \\x00onerror=javascript:alert(1)>": @"imgSrcXxxXX00OnerrorJavascriptAlert1",
+        @"`\"'><img src=xxx:x \\x0Bonerror=javascript:alert(1)>": @"imgSrcXxxXX0BonerrorJavascriptAlert1",
+        @"`\"'><img src=xxx:x \\x2Fonerror=javascript:alert(1)>": @"imgSrcXxxXX2FonerrorJavascriptAlert1",
+        @"<img \\x00src=x onerror=\"alert(1)\">": @"imgX00SrcXOnerrorAlert1",
+        @"<img\\x10src=x onerror=\"javascript:alert(1)\">": @"imgX10SrcXOnerrorJavascriptAlert1",
+        @"<img\\x13src=x onerror=\"javascript:alert(1)\">": @"imgX13SrcXOnerrorJavascriptAlert1",
+        @"<img\\x32src=x onerror=\"javascript:alert(1)\">": @"imgX32SrcXOnerrorJavascriptAlert1",
+        @"<img \\x39src=x onerror=\"javascript:alert(1)\">": @"imgX39SrcXOnerrorJavascriptAlert1",
+        @"INF": @"inf",
+        @"-Infinity": @"infinity",
+        @"#\tInnocuous strings which may be blocked by profanity filters (https://en.wikipedia.org/wiki/Scunthorpe_problem)": @"innocuousStringsWhichMayBeBlockedByProfanityFiltersHTTPSEnWikipediaOrgWikiScunthorpeProblem",
+        @"dontMakeAMap": @"isDontMakeAMap",
+        @"Jimmy Clitheroe": @"jimmyClitheroe",
+        @"Kernel.exit(1)": @"kernelExit1",
+        @"#\tKnown CVEs and Vulnerabilities": @"knownCVEsAndVulnerabilities",
+        @"Lightwater Country Park": @"lightwaterCountryPark",
+        @"LPT2": @"lpt2",
+        @"LPT3": @"lpt3",
+        @"`ls -al /`": @"lsAl",
+        @"#\tMSDOS/Windows Special Filenames": @"msdosWindowsSpecialFilenames",
+        @"# Non-whitespace C1 controls: U+0080 through U+0084 and U+0086 through U+009F.": @"nonWhitespaceC1ControlsU0080ThroughU0084AndU0086ThroughU009F",
+        @"None": @"none",
+        @"(null)": @"null",
+        @"'\"'": @"one",
+        @"0": @"one0",
+        @"1": @"one1",
+        @" onfocus=JaVaSCript:alert(123) autofocus": @"onfocusJaVaSCriptAlert123Autofocus",
+        @"' OR '1'='1": @"or11",
+        @"Penistone Community Church": @"penistoneCommunityChurch",
+        @"perl -e 'print \"<IMG SRC=java\\0script:alert(\\\"XSS\\\")>\";' > out": @"perlEPrintIMGSRCJava0ScriptAlertXSSOut",
+        @"PRN": @"prn",
+        @"RomansInSussex.co.uk": @"romansInSussexCoUk",
+        @"%s": @"s",
+        @"<<< %s(un='%s') = %u": @"sUnSU",
+        @"<sc<script>ript>alert(123)</sc</script>ript>": @"scScriptRiptAlert123ScScriptRipt",
+        @"\"><script>alert(123);</script x=\"": @"scriptAlert123ScriptX",
+        @"#\tScript Injection": @"scriptInjection",
+        @"<SCRIPT SRC=http://ha.ckers.org/xss.js?< B >": @"scriptSRCHTTPHaCkersOrgXSSJSB",
+        @"<SCRIPT/SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>": @"scriptSRCHTTPHaCkersOrgXSSJSSCRIPT",
+        @"</script><script>alert(123)</script>": @"scriptScriptAlert123Script",
+        @"\"`'><script>\\x00javascript:alert(1)</script>": @"scriptX00JavascriptAlert1Script",
+        @"<script\\x09type=\"text/javascript\">javascript:alert(1);</script>": @"scriptX09TypeTextJavascriptJavascriptAlert1Script",
+        @"\"`'><script>\\x0Cjavascript:alert(1)</script>": @"scriptX0CjavascriptAlert1Script",
+        @"\"`'><script>\\x0Djavascript:alert(1)</script>": @"scriptX0DjavascriptAlert1Script",
+        @"<script\\x20type=\"text/javascript\">javascript:alert(1);</script>": @"scriptX20TypeTextJavascriptJavascriptAlert1Script",
+        @"<script\\x3Etype=\"text/javascript\">javascript:alert(1);</script>": @"scriptX3EtypeTextJavascriptJavascriptAlert1Script",
+        @"\"`'><script>\\xC2\\x85javascript:alert(1)</script>": @"scriptXC2X85JavascriptAlert1Script",
+        @"\"`'><script>\\xC2\\xA0javascript:alert(1)</script>": @"scriptXC2XA0JavascriptAlert1Script",
+        @"\"`'><script>\\xE1\\x9A\\x80javascript:alert(1)</script>": @"scriptXE1X9AX80JavascriptAlert1Script",
+        @"\"`'><script>\\xE1\\xA0\\x8Ejavascript:alert(1)</script>": @"scriptXE1XA0X8EjavascriptAlert1Script",
+        @"\"`'><script>\\xE2\\x80\\x81javascript:alert(1)</script>": @"scriptXE2X80X81JavascriptAlert1Script",
+        @"\"`'><script>\\xE2\\x80\\x86javascript:alert(1)</script>": @"scriptXE2X80X86JavascriptAlert1Script",
+        @"\"`'><script>\\xE2\\x80\\x89javascript:alert(1)</script>": @"scriptXE2X80X89JavascriptAlert1Script",
+        @"\"`'><script>\\xE2\\x81\\x9Fjavascript:alert(1)</script>": @"scriptXE2X81X9FjavascriptAlert1Script",
+        @"\"`'><script>\\xEF\\xBB\\xBFjavascript:alert(1)</script>": @"scriptXEFXBBXBFjavascriptAlert1Script",
+        @"\"`'><script>\\xF0\\x90\\x96\\x9Ajavascript:alert(1)</script>": @"scriptXF0X90X96X9AjavascriptAlert1Script",
+        @"<SCRIPT/XSS SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>": @"scriptXSSSRCHTTPHaCkersOrgXSSJSSCRIPT",
+        @"(╯°□°）╯︵ ┻━┻)": @"some",
+        @"{0}": @"some0",
+        @"#\tSQL Injection": @"sqlInjection",
+        @"#\tString which can reveal system files when parsed by a badly configured XML parser": @"stringWhichCanRevealSystemFilesWhenParsedByABadlyConfiguredXMLParser",
+        @"#\tStrings that test for known vulnerabilities": @"stringsThatTestForKnownVulnerabilities",
+        @"#\tStrings which can be accidentally expanded into different strings if evaluated in the wrong context, e.g. used as a printf format string or via Perl or shell eval. Might expose sensitive data from the program doing the interpolation, or might just represent the wrong string.": @"stringsWhichCanBeAccidentallyExpandedIntoDifferentStringsIfEvaluatedInTheWrongContextEGUsedAsAPrintfFormatStringOrViaPERLOrShellEvalMightExposeSensitiveDataFromTheProgramDoingTheInterpolationOrMightJustRepresentTheWrongString",
+        @"#\tStrings which can call system commands within Ruby/Rails applications": @"stringsWhichCanCallSystemCommandsWithinRubyRailsApplications",
+        @"#\tStrings which consists of Japanese-style emoticons which are popular on the web": @"stringsWhichConsistsOfJapaneseStyleEmoticonsWhichArePopularOnTheWeb",
+        @"#\tStrings which contain bold/italic/etc. versions of normal characters": @"stringsWhichContainBoldItalicEtcVersionsOfNormalCharacters",
+        @"#\tStrings which contain common unicode symbols (e.g. smart quotes)": @"stringsWhichContainCommonUnicodeSymbolsEGSmartQuotes",
+        @"#\tStrings which contain Emoji; should be the same behavior as two-byte characters, but not always": @"stringsWhichContainEmojiShouldBeTheSameBehaviorAsTwoByteCharactersButNotAlways",
+        @"#\tStrings which contain misplaced quotation marks; can cause encoding errors": @"stringsWhichContainMisplacedQuotationMarksCanCauseEncodingErrors",
+        @"#\tStrings which contain unicode subscripts/superscripts; can cause rendering issues": @"stringsWhichContainUnicodeSubscriptsSuperscriptsCanCauseRenderingIssues",
+        @"#\tStrings which crashed iMessage in various versions of iOS": @"stringsWhichCrashedIMessageInVariousVersionsOfIOS",
+        @"#\tStrings which may cause human to reinterpret worldview": @"stringsWhichMayCauseHumanToReinterpretWorldview",
+        @"Super Bowl XXX": @"superBowlXXX",
+        @"\u202a\u202atest\u202a": @"test",
+        @"</textarea><script>alert(123)</script>": @"textareaScriptAlert123Script",
+        @"'": @"the",
+        @"+0": @"the0",
+        @"0..0": @"the00",
+        @"0,0,0": @"the000",
+        @"0,0/0,0": @"the0000",
+        @"00˙Ɩ$-": @"the00Ɩ",
+        @"0x0": @"the0X0",
+        @",./;'[]\\-=": @"the1",
+        @"1/0": @"the10",
+        @"1.00": @"the100",
+        @"1.0/0.0": @"the1000",
+        @"1'000,00": @"the100000",
+        @"1 000 000.00": @"the100000000",
+        @"\U0001d47b\U0001d489\U0001d486 \U0001d492\U0001d496\U0001d48a\U0001d484\U0001d48c \U0001d483\U0001d493\U0001d490\U0001d498\U0001d48f \U0001d487\U0001d490\U0001d499 \U0001d48b\U0001d496\U0001d48e\U0001d491\U0001d494 \U0001d490\U0001d497\U0001d486\U0001d493 \U0001d495\U0001d489\U0001d486 \U0001d48d\U0001d482\U0001d49b\U0001d49a \U0001d485\U0001d490\U0001d488": @"the11",
+        @"1/2": @"the12",
+        @"123456789012345678901234567890123456789": @"the123456789012345678901234567890123456789",
+        @"\U0001d4e3\U0001d4f1\U0001d4ee \U0001d4fa\U0001d4fe\U0001d4f2\U0001d4ec\U0001d4f4 \U0001d4eb\U0001d4fb\U0001d4f8\U0001d500\U0001d4f7 \U0001d4ef\U0001d4f8\U0001d501 \U0001d4f3\U0001d4fe\U0001d4f6\U0001d4f9\U0001d4fc \U0001d4f8\U0001d4ff\U0001d4ee\U0001d4fb \U0001d4fd\U0001d4f1\U0001d4ee \U0001d4f5\U0001d4ea\U0001d503\U0001d502 \U0001d4ed\U0001d4f8\U0001d4f0": @"the13",
+        @"\U0001d57f\U0001d58d\U0001d58a \U0001d596\U0001d59a\U0001d58e\U0001d588\U0001d590 \U0001d587\U0001d597\U0001d594\U0001d59c\U0001d593 \U0001d58b\U0001d594\U0001d59d \U0001d58f\U0001d59a\U0001d592\U0001d595\U0001d598 \U0001d594\U0001d59b\U0001d58a\U0001d597 \U0001d599\U0001d58d\U0001d58a \U0001d591\U0001d586\U0001d59f\U0001d59e \U0001d589\U0001d594\U0001d58c": @"the14",
+        @"\U0001f1fa\U0001f1f8\U0001f1f7\U0001f1fa\U0001f1f8 \U0001f1e6\U0001f1eb\U0001f1e6\U0001f1f2\U0001f1f8": @"the15",
+        @"\U0001f1fa\U0001f1f8\U0001f1f7\U0001f1fa\U0001f1f8\U0001f1e6": @"the16",
+        @"\U0001f1fa\U0001f1f8\U0001f1f7\U0001f1fa\U0001f1f8\U0001f1e6\U0001f1eb\U0001f1e6\U0001f1f2": @"the17",
+        @"\U0001f469\U0001f3fd": @"the18",
+        @"\U0001f6be \U0001f192 \U0001f193 \U0001f195 \U0001f196 \U0001f197 \U0001f199 \U0001f3e7": @"the19",
+        @"1;DROP TABLE users": @"the1DROPTABLEUsers",
+        @"-1E02": @"the1E02",
+        @"1E2": @"the1E2",
+        @"1#QNAN": @"the1Qnan",
+        @"1#SNAN": @"the1Snan",
+        @"-,": @"the2",
+        @"﷽": @"the20",
+        @"\ufeff": @"the21",
+        @"ﾟ･✿ヾ╲(｡◕‿◕｡)╱✿･ﾟ": @"the22",
+        @"\ufffe": @"the23",
+        @"-.": @"the3",
+        @"<>?:\"{}|_+": @"the4",
+        @"\\": @"the5",
+        @"\302\200\302\201\302\202\302\203\302\204\302\206\302\207\302\210\302\211\302\212\302\213\302\214\302\215\302\216\302\217\302\220\302\221\302\222\302\223\302\224\302\225\302\226\302\227\302\230\302\231\302\232\302\233\302\234\302\235\302\236\302\237": @"the6",
+        @"\302\255\u0600\u0601\u0602\u0603\u0604\u0605\u061c\u06dd\u070f\u180e\u200b\u200c\u200d\u200e\u200f\u202a\u202b\u202c\u202d\u202e\u2060\u2061\u2062\u2063\u2064\u2066\u2067\u2068\u2069\u206a\u206b\u206c\u206d\u206e\u206f\ufeff\ufff9\ufffa\ufffb\U000110bd\U0001bca0\U0001bca1\U0001bca2\U0001bca3\U0001d173\U0001d174\U0001d175\U0001d176\U0001d177\U0001d178\U0001d179\U0001d17a\U000e0001\U000e0020\U000e0021\U000e0022\U000e0023\U000e0024\U000e0025\U000e0026\U000e0027\U000e0028\U000e0029\U000e002a\U000e002b\U000e002c\U000e002d\U000e002e\U000e002f\U000e0030\U000e0031\U000e0032\U000e0033\U000e0034\U000e0035\U000e0036\U000e0037\U000e0038\U000e0039\U000e003a\U000e003b\U000e003c\U000e003d\U000e003e\U000e003f\U000e0040\U000e0041\U000e0042\U000e0043\U000e0044\U000e0045\U000e0046\U000e0047\U000e0048\U000e0049\U000e004a\U000e004b\U000e004c\U000e004d\U000e004e\U000e004f\U000e0050\U000e0051\U000e0052\U000e0053\U000e0054\U000e0055\U000e0056\U000e0057\U000e0058\U000e0059\U000e005a\U000e005b\U000e005c\U000e005d\U000e005e\U000e005f\U000e0060\U000e0061\U000e0062\U000e0063\U000e0064\U000e0065\U000e0066\U000e0067\U000e0068\U000e0069\U000e006a\U000e006b\U000e006c\U000e006d\U000e006e\U000e006f\U000e0070\U000e0071\U000e0072\U000e0073\U000e0074\U000e0075\U000e0076\U000e0077\U000e0078\U000e0079\U000e007a\U000e007b\U000e007c\U000e007d\U000e007e\U000e007f": @"the7",
+        @"₀₁₂": @"the8",
+        @"⒯⒣⒠ ⒬⒰⒤⒞⒦ ⒝⒭⒪⒲⒩ ⒡⒪⒳ ⒥⒰⒨⒫⒮ ⒪⒱⒠⒭ ⒯⒣⒠ ⒧⒜⒵⒴ ⒟⒪⒢": @"the9",
+        @"999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999": @"the999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999",
+        @"false": @"theFalse",
+        @"# The next two lines may appear to be blank or mojibake in some viewers.": @"theNextTwoLinesMayAppearToBeBlankOrMojibakeInSomeViewers",
+        @"The quic\010\010\010\010\010\010k brown fo\007\007\007\007\007\007\007\007\007\007\007x... [Beeeep]": @"theQuicKBrownFoXBeeeep",
+        @"\u2066test\u2067": @"theTest",
+        @"٠١٢٣٤٥٦٧٨٩": @"the٠١٢٣٤٥٦٧٨٩",
+        @"#\tTwo-Byte Characters": @"twoByteCharacters",
+        @"# U+0000, U+000A, or U+000D (NUL, LF, CR).": @"u0000U000AOrU000DNULLFCR",
+        @"<u oncopy=alert()> Copy me</u>": @"uOncopyAlertCopyMeU",
+        @"undef": @"undef",
+        @"#\tUnicode font": @"unicodeFont",
+        @"#\tUnicode Numbers": @"unicodeNumbers",
+        @"#\tUnwanted Interpolation": @"unwantedInterpolation",
+        @"%x('ls -al /')": @"xLsAl",
+        @"Z̮̞̠͙͔ͅḀ̗̞͈̻̗Ḷ͙͎̯̹̞͓G̻O̭̗̮": @"zḀḶGO",
+        @"¡™£¢∞§¶•ªº–≠": @"ªº",
+        @"¸˛Ç◊ı˜Â¯˘¿": @"çIÂ",
+        @"Œ„´‰ˇÁ¨ˆØ∏”’": @"œÁØ",
+        @"œ∑´®†¥¨ˆøπ“‘": @"œØπ",
+        @"( ͡° ͜ʖ ͡°)": @"ʖ",
+        @"הָיְתָהtestالصفحات التّحول": @"הָיְתָהTestالصفحاتالتّحول",
+        @"ثم نفس سقطت وبالتحديد،, جزيرتي باستخدام أن دنو. إذ هنا؟ الستار وتنصيب كان. أهّل ايطاليا، بريطانيا-فرنسا قد أخذ. سليمان، إتفاقية بين ما, يذكر الحدود أي بعد, معاملة بولندا، الإطلاق عل إيو.": @"ثمنفسسقطتوبالتحديدجزيرتيباستخدامأندنوإذهناالستاروتنصيبكانأهّلايطاليابريطانيافرنساقدأخذسليمانإتفاقيةبينمايذكرالحدودأيبعدمعاملةبولنداالإطلاقعلإيو",
+        @"ด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็ ด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็ ด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็": @"ด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็ด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็ด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็",
+        @"Ⱥ": @"ⱥ",
+        @"Ⱦ": @"ⱦ",
+        @"パーティーへ行かないか": @"パーティーへ行かないか",
+        @"和製漢語": @"和製漢語",
+        @"田中さんにあげて下さい": @"田中さんにあげて下さい",
+        @"`⁄€‹›ﬁﬂ‡°·‚—±": @"ﬁﬂ",
+        @"｀ｨ(´∀｀∩": @"ｨ",
+    };
+}
+
++ (instancetype)fromJSONDictionary:(NSDictionary *)dict
+{
+    return [dict isKindOfClass:NSDictionary.class] ? [[QTA alloc] initWithJSONDictionary:dict] : nil;
+}
+
+- (instancetype)initWithJSONDictionary:(NSDictionary *)dict
+{
+    if (self = [super init]) {
+        if (![dict[@"!@#$%^&*()`~"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"-0"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"0,00"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"0.0/0.0"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"-1"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"1'000'000.00"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"1E02"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"';alert(123);t='"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"False"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=java&#1&#2&#3&#4&#5&#6&#7&#8&#11&#12script:javascript:alert(1)>XXX</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"javascript\\x09:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"javascript\\x0A:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"javascript\\x3A:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x01javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x05javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x08javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x09javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x0Cjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x10javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x11javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x13javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x17javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x1Fjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\xC2\\xA0javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\xE1\\x9A\\x80javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\xE1\\xA0\\x8Ejavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\xE2\\x80\\x83javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\xE2\\x80\\x84javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\xE2\\x80\\x86javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\xE2\\x80\\x87javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\xE2\\x80\\xA8javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"nil"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"TRUE"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\u202btest\u202b"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"True"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ABC<div style=\"x:exp\\x00ression(javascript:alert(1)\">DEF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ABC<div style=\"x:exp\\x5Cression(javascript:alert(1)\">DEF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ABC<div style=\"x:\\x09expression(javascript:alert(1)\">DEF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ABC<div style=\"x:\\x0Bexpression(javascript:alert(1)\">DEF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ABC<div style=\"x:\\x20expression(javascript:alert(1)\">DEF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ABC<div style=\"x\\x3Aexpression(javascript:alert(1)\">DEF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ABC<div style=\"x:\\xC2\\xA0expression(javascript:alert(1)\">DEF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ABC<div style=\"x:\\xE2\\x80\\x80expression(javascript:alert(1)\">DEF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ABC<div style=\"x:\\xE2\\x80\\x84expression(javascript:alert(1)\">DEF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ABC<div style=\"x:\\xE2\\x80\\x89expression(javascript:alert(1)\">DEF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ABC<div style=\"x:\\xE2\\x80\\x8Bexpression(javascript:alert(1)\">DEF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@";alert(123);"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\";alert(123);t=\""] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\\\";alert('XSS');//"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"# and U+200B (ZERO WIDTH SPACE), which are in the C categories but are often"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@","] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"Arsenal canal"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\" autofocus onkeyup=\"javascript:alert(123)"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"AUX"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tChanging length when lowercased"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tCharacters which increase in length (2 to 3 bytes) when lowercased"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"classic"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tCommand Injection (Ruby)"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"%d"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"Dick Van Dyke"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"Dr. Herman I. Libshitz"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@" "] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"$ENV{'HOME'}"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"../../../../../../../../../../../etc/hosts"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"../../../../../../../../../../../etc/passwd%00"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#       fonts, and have a number of special behaviors"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<foo val=`bar' />"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"$HOME"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tHuman injection"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"̡͓̞ͅI̗̘̦͝n͇͇͙v̮̫ok̲̫̙͈i̖͙̭̹̠̞n̡̻̮̣̺g̲͈͙̭͙̬͎ ̰t͔̦h̞̲e̢̤ ͍̬̲͖f̴̘͕̣è͖ẹ̥̩l͖͔͚i͓͚̦͠n͖͍̗͓̳̮g͍ ̨o͚̪͡f̘̣̬ ̖̘͖̟͙̮c҉͔̫͖͓͇͖ͅh̵̤̣͚͔á̗̼͕ͅo̼̣̥s̱͈̺̖̦̻͢.̛̖̞̠̫̰"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<!--[if<img src=x onerror=javascript:alert(1)//]> -->"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<!--[if]><script>javascript:alert(1)</script -->"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<IMG SRC=\"jav   ascript:alert('XSS');\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<IMG SRC=\"jav&#x0A;ascript:alert('XSS');\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<IMG SRC=\"jav&#x0D;ascript:alert('XSS');\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<IMG SRC=&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#39;&#88;&#83;&#83;&#39;&#41;>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img src\\x09=x onerror=\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img src\\x11=x onerror=\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img src=x onerror=\\x00\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img src=x onerror=\\x09\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img src=x\\x09onerror=\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img src=x\\x10onerror=\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img src=x\\x11onerror=\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img src=x\\x12onerror=\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img src=x\\x13onerror=\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"`\"'><img src=xxx:x \\x00onerror=javascript:alert(1)>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"`\"'><img src=xxx:x \\x0Bonerror=javascript:alert(1)>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"`\"'><img src=xxx:x \\x2Fonerror=javascript:alert(1)>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img \\x00src=x onerror=\"alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img\\x10src=x onerror=\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img\\x13src=x onerror=\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img\\x32src=x onerror=\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img \\x39src=x onerror=\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"INF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"-Infinity"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tInnocuous strings which may be blocked by profanity filters (https://en.wikipedia.org/wiki/Scunthorpe_problem)"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"dontMakeAMap"] isKindOfClass:NSNumber.class]) return nil;
+        if (![dict[@"Jimmy Clitheroe"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"Kernel.exit(1)"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tKnown CVEs and Vulnerabilities"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"Lightwater Country Park"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"LPT2"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"LPT3"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"`ls -al /`"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tMSDOS/Windows Special Filenames"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"# Non-whitespace C1 controls: U+0080 through U+0084 and U+0086 through U+009F."] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"None"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"(null)"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"'\"'"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"0"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"1"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@" onfocus=JaVaSCript:alert(123) autofocus"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"' OR '1'='1"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"Penistone Community Church"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"perl -e 'print \"<IMG SRC=java\\0script:alert(\\\"XSS\\\")>\";' > out"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"PRN"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"RomansInSussex.co.uk"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"%s"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<<< %s(un='%s') = %u"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<sc<script>ript>alert(123)</sc</script>ript>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"><script>alert(123);</script x=\""] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tScript Injection"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<SCRIPT SRC=http://ha.ckers.org/xss.js?< B >"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<SCRIPT/SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"</script><script>alert(123)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\x00javascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<script\\x09type=\"text/javascript\">javascript:alert(1);</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\x0Cjavascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\x0Djavascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<script\\x20type=\"text/javascript\">javascript:alert(1);</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<script\\x3Etype=\"text/javascript\">javascript:alert(1);</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\xC2\\x85javascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\xC2\\xA0javascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\xE1\\x9A\\x80javascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\xE1\\xA0\\x8Ejavascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\xE2\\x80\\x81javascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\xE2\\x80\\x86javascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\xE2\\x80\\x89javascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\xE2\\x81\\x9Fjavascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\xEF\\xBB\\xBFjavascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\xF0\\x90\\x96\\x9Ajavascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<SCRIPT/XSS SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"(╯°□°）╯︵ ┻━┻)"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"{0}"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tSQL Injection"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tString which can reveal system files when parsed by a badly configured XML parser"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tStrings that test for known vulnerabilities"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tStrings which can be accidentally expanded into different strings if evaluated in the wrong context, e.g. used as a printf format string or via Perl or shell eval. Might expose sensitive data from the program doing the interpolation, or might just represent the wrong string."] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tStrings which can call system commands within Ruby/Rails applications"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tStrings which consists of Japanese-style emoticons which are popular on the web"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tStrings which contain bold/italic/etc. versions of normal characters"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tStrings which contain common unicode symbols (e.g. smart quotes)"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tStrings which contain Emoji; should be the same behavior as two-byte characters, but not always"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tStrings which contain misplaced quotation marks; can cause encoding errors"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tStrings which contain unicode subscripts/superscripts; can cause rendering issues"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tStrings which crashed iMessage in various versions of iOS"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tStrings which may cause human to reinterpret worldview"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"Super Bowl XXX"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\u202a\u202atest\u202a"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"</textarea><script>alert(123)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"'"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"+0"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"0..0"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"0,0,0"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"0,0/0,0"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"00˙Ɩ$-"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"0x0"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@",./;'[]\\-="] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"1/0"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"1.00"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"1.0/0.0"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"1'000,00"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"1 000 000.00"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\U0001d47b\U0001d489\U0001d486 \U0001d492\U0001d496\U0001d48a\U0001d484\U0001d48c \U0001d483\U0001d493\U0001d490\U0001d498\U0001d48f \U0001d487\U0001d490\U0001d499 \U0001d48b\U0001d496\U0001d48e\U0001d491\U0001d494 \U0001d490\U0001d497\U0001d486\U0001d493 \U0001d495\U0001d489\U0001d486 \U0001d48d\U0001d482\U0001d49b\U0001d49a \U0001d485\U0001d490\U0001d488"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"1/2"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"123456789012345678901234567890123456789"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\U0001d4e3\U0001d4f1\U0001d4ee \U0001d4fa\U0001d4fe\U0001d4f2\U0001d4ec\U0001d4f4 \U0001d4eb\U0001d4fb\U0001d4f8\U0001d500\U0001d4f7 \U0001d4ef\U0001d4f8\U0001d501 \U0001d4f3\U0001d4fe\U0001d4f6\U0001d4f9\U0001d4fc \U0001d4f8\U0001d4ff\U0001d4ee\U0001d4fb \U0001d4fd\U0001d4f1\U0001d4ee \U0001d4f5\U0001d4ea\U0001d503\U0001d502 \U0001d4ed\U0001d4f8\U0001d4f0"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\U0001d57f\U0001d58d\U0001d58a \U0001d596\U0001d59a\U0001d58e\U0001d588\U0001d590 \U0001d587\U0001d597\U0001d594\U0001d59c\U0001d593 \U0001d58b\U0001d594\U0001d59d \U0001d58f\U0001d59a\U0001d592\U0001d595\U0001d598 \U0001d594\U0001d59b\U0001d58a\U0001d597 \U0001d599\U0001d58d\U0001d58a \U0001d591\U0001d586\U0001d59f\U0001d59e \U0001d589\U0001d594\U0001d58c"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\U0001f1fa\U0001f1f8\U0001f1f7\U0001f1fa\U0001f1f8 \U0001f1e6\U0001f1eb\U0001f1e6\U0001f1f2\U0001f1f8"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\U0001f1fa\U0001f1f8\U0001f1f7\U0001f1fa\U0001f1f8\U0001f1e6"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\U0001f1fa\U0001f1f8\U0001f1f7\U0001f1fa\U0001f1f8\U0001f1e6\U0001f1eb\U0001f1e6\U0001f1f2"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\U0001f469\U0001f3fd"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\U0001f6be \U0001f192 \U0001f193 \U0001f195 \U0001f196 \U0001f197 \U0001f199 \U0001f3e7"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"1;DROP TABLE users"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"-1E02"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"1E2"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"1#QNAN"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"1#SNAN"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"-,"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"﷽"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\ufeff"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ﾟ･✿ヾ╲(｡◕‿◕｡)╱✿･ﾟ"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\ufffe"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"-."] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<>?:\"{}|_+"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\\"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\302\200\302\201\302\202\302\203\302\204\302\206\302\207\302\210\302\211\302\212\302\213\302\214\302\215\302\216\302\217\302\220\302\221\302\222\302\223\302\224\302\225\302\226\302\227\302\230\302\231\302\232\302\233\302\234\302\235\302\236\302\237"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\302\255\u0600\u0601\u0602\u0603\u0604\u0605\u061c\u06dd\u070f\u180e\u200b\u200c\u200d\u200e\u200f\u202a\u202b\u202c\u202d\u202e\u2060\u2061\u2062\u2063\u2064\u2066\u2067\u2068\u2069\u206a\u206b\u206c\u206d\u206e\u206f\ufeff\ufff9\ufffa\ufffb\U000110bd\U0001bca0\U0001bca1\U0001bca2\U0001bca3\U0001d173\U0001d174\U0001d175\U0001d176\U0001d177\U0001d178\U0001d179\U0001d17a\U000e0001\U000e0020\U000e0021\U000e0022\U000e0023\U000e0024\U000e0025\U000e0026\U000e0027\U000e0028\U000e0029\U000e002a\U000e002b\U000e002c\U000e002d\U000e002e\U000e002f\U000e0030\U000e0031\U000e0032\U000e0033\U000e0034\U000e0035\U000e0036\U000e0037\U000e0038\U000e0039\U000e003a\U000e003b\U000e003c\U000e003d\U000e003e\U000e003f\U000e0040\U000e0041\U000e0042\U000e0043\U000e0044\U000e0045\U000e0046\U000e0047\U000e0048\U000e0049\U000e004a\U000e004b\U000e004c\U000e004d\U000e004e\U000e004f\U000e0050\U000e0051\U000e0052\U000e0053\U000e0054\U000e0055\U000e0056\U000e0057\U000e0058\U000e0059\U000e005a\U000e005b\U000e005c\U000e005d\U000e005e\U000e005f\U000e0060\U000e0061\U000e0062\U000e0063\U000e0064\U000e0065\U000e0066\U000e0067\U000e0068\U000e0069\U000e006a\U000e006b\U000e006c\U000e006d\U000e006e\U000e006f\U000e0070\U000e0071\U000e0072\U000e0073\U000e0074\U000e0075\U000e0076\U000e0077\U000e0078\U000e0079\U000e007a\U000e007b\U000e007c\U000e007d\U000e007e\U000e007f"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"₀₁₂"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"⒯⒣⒠ ⒬⒰⒤⒞⒦ ⒝⒭⒪⒲⒩ ⒡⒪⒳ ⒥⒰⒨⒫⒮ ⒪⒱⒠⒭ ⒯⒣⒠ ⒧⒜⒵⒴ ⒟⒪⒢"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"false"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"# The next two lines may appear to be blank or mojibake in some viewers."] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"The quic\010\010\010\010\010\010k brown fo\007\007\007\007\007\007\007\007\007\007\007x... [Beeeep]"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\u2066test\u2067"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"٠١٢٣٤٥٦٧٨٩"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tTwo-Byte Characters"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"# U+0000, U+000A, or U+000D (NUL, LF, CR)."] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<u oncopy=alert()> Copy me</u>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"undef"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tUnicode font"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tUnicode Numbers"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tUnwanted Interpolation"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"%x('ls -al /')"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"Z̮̞̠͙͔ͅḀ̗̞͈̻̗Ḷ͙͎̯̹̞͓G̻O̭̗̮"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"¡™£¢∞§¶•ªº–≠"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"¸˛Ç◊ı˜Â¯˘¿"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"Œ„´‰ˇÁ¨ˆØ∏”’"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"œ∑´®†¥¨ˆøπ“‘"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"( ͡° ͜ʖ ͡°)"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"הָיְתָהtestالصفحات التّحول"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ثم نفس سقطت وبالتحديد،, جزيرتي باستخدام أن دنو. إذ هنا؟ الستار وتنصيب كان. أهّل ايطاليا، بريطانيا-فرنسا قد أخذ. سليمان، إتفاقية بين ما, يذكر الحدود أي بعد, معاملة بولندا، الإطلاق عل إيو."] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็ ด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็ ด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"Ⱥ"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"Ⱦ"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"パーティーへ行かないか"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"和製漢語"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"田中さんにあげて下さい"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"`⁄€‹›ﬁﬂ‡°·‚—±"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"｀ｨ(´∀｀∩"] isKindOfClass:NSString.class]) return nil;
+        [self setValuesForKeysWithDictionary:dict];
+    }
+    return self;
+}
+
+- (void)setValue:(nullable id)value forKey:(NSString *)key
+{
+    id resolved = QTA.properties[key];
+    if (resolved) [super setValue:value forKey:resolved];
+}
+
+- (void)setNilValueForKey:(NSString *)key
+{
+    id resolved = QTA.properties[key];
+    if (resolved) [super setValue:@(0) forKey:resolved];
+}
+
+- (NSDictionary *)JSONDictionary
+{
+    id dict = [[self dictionaryWithValuesForKeys:QTA.properties.allValues] mutableCopy];
+
+    for (id jsonName in QTA.properties) {
+        id propertyName = QTA.properties[jsonName];
+        if (![jsonName isEqualToString:propertyName]) {
+            dict[jsonName] = dict[propertyName];
+            [dict removeObjectForKey:propertyName];
+        }
+    }
+
+    [dict addEntriesFromDictionary:@{
+        @"dontMakeAMap": _isDontMakeAMap ? @YES : @NO,
+    }];
+
+    return dict;
+}
+@end
+
+@implementation QTB
++ (NSDictionary<NSString *, NSString *> *)properties
+{
+    static NSDictionary<NSString *, NSString *> *properties;
+    return properties = properties ? properties : @{
+        @"<a href=http://foo.bar/#x=`y></a><img alt=\"`><img src=x:x onerror=javascript:alert(1)></a>\">": @"aHrefHTTPFooBarXYAImgAltImgSrcXXOnerrorJavascriptAlert1A",
+        @"<a href=\"javascript\\x00:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefJavascriptX00JavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"javascript\\x0D:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefJavascriptX0DJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x02javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX02JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x04javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX04JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x0Ajavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX0AjavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x0Djavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX0DjavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x0Ejavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX0EjavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x0Fjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX0FjavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x16javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX16JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x19javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX19JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x1Ajavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX1AjavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x1Djavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX1DjavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x1Ejavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX1EjavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\xE2\\x80\\x81javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefXE2X80X81JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\xE2\\x80\\x82javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefXE2X80X82JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\xE2\\x80\\xA9javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefXE2X80XA9JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\xE2\\x80\\xAFjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefXE2X80XAFjavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"ABC<div style=\"x:expression\\x5C(javascript:alert(1)\">DEF": @"abcDivStyleXExpressionX5CJavascriptAlert1DEF",
+        @"ABC<div style=\"x:\\x0Aexpression(javascript:alert(1)\">DEF": @"abcDivStyleXX0AexpressionJavascriptAlert1DEF",
+        @"ABC<div style=\"x:\\x0Dexpression(javascript:alert(1)\">DEF": @"abcDivStyleXX0DexpressionJavascriptAlert1DEF",
+        @"ABC<div style=\"x:\\xE2\\x80\\x82expression(javascript:alert(1)\">DEF": @"abcDivStyleXXE2X80X82ExpressionJavascriptAlert1DEF",
+        @"ABC<div style=\"x:\\xE2\\x80\\x83expression(javascript:alert(1)\">DEF": @"abcDivStyleXXE2X80X83ExpressionJavascriptAlert1DEF",
+        @"ABC<div style=\"x:\\xE2\\x80\\x85expression(javascript:alert(1)\">DEF": @"abcDivStyleXXE2X80X85ExpressionJavascriptAlert1DEF",
+        @"ABC<div style=\"x:\\xE2\\x80\\x87expression(javascript:alert(1)\">DEF": @"abcDivStyleXXE2X80X87ExpressionJavascriptAlert1DEF",
+        @"ABC<div style=\"x:\\xE2\\x80\\x8Aexpression(javascript:alert(1)\">DEF": @"abcDivStyleXXE2X80X8AexpressionJavascriptAlert1DEF",
+        @"⁰⁴⁵₀₁₂": @"another",
+        @"# appear in input.": @"appearInInput",
+        @"+++ATH0": @"ath0",
+        @"' autofocus onkeyup='javascript:alert(123)": @"autofocusOnkeyupJavascriptAlert123",
+        @"\t\013\014 \302\205             \u200b\u2028\u2029  　": @"b",
+        @"1'000.00": @"b100000",
+        @"FALSE": @"bFALSE",
+        @"<IMG SRC=# onmouseover=\"alert('xxs')\">": @"bIMGSRCOnmouseoverAlertXxs",
+        @"NIL": @"bNIL",
+        @"--><script>alert(123)</script>": @"bScriptAlert123Script",
+        @"`touch /tmp/blns.fail`": @"bTouchTmpBlnsFail",
+        @"basement": @"basement",
+        @"But now...\033[20Cfor my greatest trick...\033[8m": @"butNow20CforMyGreatestTrick8M",
+        @"# \"Byte order marks\", U+FEFF and U+FFFE, each on its own line.": @"byteOrderMarksUFEFFAndUFFFEEachOnItsOwnLine",
+        @"COM1": @"com1",
+        @"COM3": @"com3",
+        @"# Commonly misinterpreted as additional graphic characters.": @"commonlyMisinterpretedAsAdditionalGraphicCharacters",
+        @"CON": @"con",
+        @"# contexts.  Divided into three groups based on (US-layout) keyboard position.": @"contextsDividedIntoThreeGroupsBasedOnUSLayoutKeyboardPosition",
+        @"#\tCredit: https://twitter.com/jifa/status/625776454479970304": @"creditHTTPSTwitterCOMJifaStatus625776454479970304",
+        @"/dev/null; touch /tmp/blns.fail ; echo": @"devNullTouchTmpBlnsFailEcho",
+        @"\001\002\003\004\005\006\007\010\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037\177": @"empty",
+        @"eval(\"puts 'hello world'\")": @"evalPutsHelloWorld",
+        @"expression": @"expression",
+        @"File:///": @"file",
+        @"#\tFile Inclusion": @"fileInclusion",
+        @"<foo val=”bar“ />": @"fooValBar",
+        @"# general category Cf (in Unicode 8.0.0).": @"generalCategoryCFInUnicode800",
+        @"̦H̬̤̗̤͝e͜ ̜̥̝̻͍̟́w̕h̖̯͓o̝͙̖͎̱̮ ҉̺̙̞̟͈W̷̼̭a̺̪͍į͈͕̭͙̯̜t̶̼̮s̘͙͖̕ ̠̫̠B̻͍͙͉̳ͅe̵h̵̬͇̫͙i̹͓̳̳̮͎̫̕n͟d̴̪̜̖ ̰͉̩͇͙̲͞ͅT͖̼͓̪͢h͏͓̮̻e̬̝̟ͅ ̤̹̝W͙̞̝͔͇͝ͅa͏͓͔̹̼̣l̴͔̰̤̟͔ḽ̫.͕": @"hEWHOWAĮTSBEHINDTHEWALḼ",
+        @"--help": @"help",
+        @"http://a/%%30%30": @"httpA3030",
+        @"#\tiOS Vulnerabilities": @"iOSVulnerabilities",
+        @"If you're reading this, you've been in a coma for almost 20 years now. We're trying a new technique. We don't know where this message will end up in your dream, but we hope it works. Please wake up, we miss you.": @"ifYouReReadingThisYouVeBeenInAComaForAlmost20YearsNowWeReTryingANewTechniqueWeDonTKnowWhereThisMessageWillEndUpInYourDreamButWeHopeItWorksPleaseWakeUpWeMissYou",
+        @"<iframe src=http://ha.ckers.org/scriptlet.html <": @"iframeSrcHTTPHaCkersOrgScriptletHTML",
+        @"<IMG SRC=\" &#14;  javascript:alert('XSS');\">": @"imgSRC14JavascriptAlertXSS",
+        @"<IMG SRC=\"jav&#x09;ascript:alert('XSS');\">": @"imgSRCJavX09AscriptAlertXSS",
+        @"<IMG SRC= onmouseover=\"alert('xxs')\">": @"imgSRCOnmouseoverAlertXxs",
+        @"<IMG SRC=&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x61&#x6C&#x65&#x72&#x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29>": @"imgSRCX6AX61X76X61X73X63X72X69X70X74X3AX61X6CX65X72X74X28X27X58X53X53X27X29",
+        @"<IMG SRC=&#0000106&#0000097&#0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&#0000097&#0000108&#0000101&#0000114&#0000116&#0000040&#0000039&#0000088&#0000083&#0000083&#0000039&#0000041>": @"imgSrc00001060000097000011800000970000115000009900001140000105000011200001160000058000009700001080000101000011400001160000040000003900000880000083000008300000390000041",
+        @"<img src\\x00=x onerror=\"javascript:alert(1)\">": @"imgSrcX00XOnerrorJavascriptAlert1",
+        @"<img src=x onerror=\\x11\"javascript:alert(1)\">": @"imgSrcXOnerrorX11JavascriptAlert1",
+        @"<img src=x onerror=\\x12\"javascript:alert(1)\">": @"imgSrcXOnerrorX12JavascriptAlert1",
+        @"`\"'><img src=xxx:x \\x0Aonerror=javascript:alert(1)>": @"imgSrcXxxXX0AonerrorJavascriptAlert1",
+        @"`\"'><img src=xxx:x \\x0Conerror=javascript:alert(1)>": @"imgSrcXxxXX0ConerrorJavascriptAlert1",
+        @"`\"'><img src=xxx:x \\x0Donerror=javascript:alert(1)>": @"imgSrcXxxXX0DonerrorJavascriptAlert1",
+        @"<img \\x00src=x onerror=\"javascript:alert(1)\">": @"imgX00SrcXOnerrorJavascriptAlert1",
+        @"<img \\x11src=x onerror=\"javascript:alert(1)\">": @"imgX11SrcXOnerrorJavascriptAlert1",
+        @"<img \\x12src=x onerror=\"javascript:alert(1)\">": @"imgX12SrcXOnerrorJavascriptAlert1",
+        @"<img \\x47src=x onerror=\"javascript:alert(1)\">": @"imgX47SrcXOnerrorJavascriptAlert1",
+        @"#   IRC specific strings": @"ircSpecificStrings",
+        @"dontMakeAMap": @"isDontMakeAMap",
+        @"#\tJapanese Emoticons": @"japaneseEmoticons",
+        @"Kernel.exec(\"ls -al /\")": @"kernelExecLsAl",
+        @"Linda Callahan": @"lindaCallahan",
+        @"NUL": @"nul",
+        @"null": @"null",
+        @"#\tNumeric Strings": @"numericStrings",
+        @"# Often forbidden to appear in various text-based file formats (e.g. XML),": @"oftenForbiddenToAppearInVariousTextBasedFileFormatsEGXML",
+        @"#": @"one",
+        @"\" onfocus=JaVaSCript:alert(123) autofocus": @"onfocusJaVaSCriptAlert123Autofocus",
+        @"' OR 1=1 -- 1": @"or111",
+        @"#\tQuotation Marks": @"quotationMarks",
+        @"#       Regional Indicator Symbols": @"regionalIndicatorSymbols",
+        @"#       Regional Indicator Symbols can be displayed differently across": @"regionalIndicatorSymbolsCanBeDisplayedDifferentlyAcross",
+        @"#\tReserved Strings": @"reservedStrings",
+        @"\"><script>alert(123)</script>": @"scriptAlert123Script",
+        @"><script>alert(123);</script x=": @"scriptAlert123ScriptX",
+        @"<<SCRIPT>alert(\"XSS\");//<</SCRIPT>": @"scriptAlertXSSSCRIPT",
+        @"<SCRIPT SRC=//ha.ckers.org/.j>": @"scriptSRCHaCkersOrgJ",
+        @"<script src=\"\\\\%(jscript)s\"></script>": @"scriptSrcJscriptSScript",
+        @"\"`'><script>\\x09javascript:alert(1)</script>": @"scriptX09JavascriptAlert1Script",
+        @"<script\\x0Atype=\"text/javascript\">javascript:alert(1);</script>": @"scriptX0AtypeTextJavascriptJavascriptAlert1Script",
+        @"<script\\x0Dtype=\"text/javascript\">javascript:alert(1);</script>": @"scriptX0DtypeTextJavascriptJavascriptAlert1Script",
+        @"\"`'><script>\\x21javascript:alert(1)</script>": @"scriptX21JavascriptAlert1Script",
+        @"\"`'><script>\\x3Bjavascript:alert(1)</script>": @"scriptX3BjavascriptAlert1Script",
+        @"\"`'><script>\\xE2\\x80\\x85javascript:alert(1)</script>": @"scriptXE2X80X85JavascriptAlert1Script",
+        @"\"`'><script>\\xE2\\x80\\x87javascript:alert(1)</script>": @"scriptXE2X80X87JavascriptAlert1Script",
+        @"\"`'><script>\\xE2\\x80\\x8Ajavascript:alert(1)</script>": @"scriptXE2X80X8AjavascriptAlert1Script",
+        @"\"`'><script>\\xE2\\x80\\xA8javascript:alert(1)</script>": @"scriptXE2X80XA8JavascriptAlert1Script",
+        @"\"`'><script>\\xE2\\x80\\xA9javascript:alert(1)</script>": @"scriptXE2X80XA9JavascriptAlert1Script",
+        @"\"`'><script>\\xE2\\x80\\xAFjavascript:alert(1)</script>": @"scriptXE2X80XAFjavascriptAlert1Script",
+        @"\"`'><script>\\xE3\\x80\\x80javascript:alert(1)</script>": @"scriptXE3X80X80JavascriptAlert1Script",
+        @"#\tScunthorpe Problem": @"scunthorpeProblem",
+        @"(｡◕ ∀ ◕｡)": @"some",
+        @"#   Strings that may occur on IRC clients that make security products freak out": @"stringsThatMayOccurOnIRCClientsThatMakeSecurityProductsFreakOut",
+        @"#\tStrings which are reserved characters in MSDOS/Windows": @"stringsWhichAreReservedCharactersInMSDOSWindows",
+        @"#\tStrings which attempt to invoke a benign script injection; shows vulnerability to XSS": @"stringsWhichAttemptToInvokeABenignScriptInjectionShowsVulnerabilityToXSS",
+        @"#\tStrings which contain text that should be rendered RTL if possible (e.g. Arabic, Hebrew)": @"stringsWhichContainTextThatShouldBeRenderedRTLIfPossibleEGArabicHebrew",
+        @"#\tStrings which contain two-byte characters: can cause rendering issues or character-length issues": @"stringsWhichContainTwoByteCharactersCanCauseRenderingIssuesOrCharacterLengthIssues",
+        @"#\tStrings which contain unicode numbers; if the code is localized, it should see the input as numeric": @"stringsWhichContainUnicodeNumbersIfTheCodeIsLocalizedItShouldSeeTheInputAsNumeric",
+        @"#\tStrings which may be used elsewhere in code": @"stringsWhichMayBeUsedElsewhereInCode",
+        @"#\tTerminal escape codes": @"terminalEscapeCodes",
+        @"\"": @"the",
+        @"0.00": @"the000",
+        @"01000": @"the01000",
+        @"08": @"the08",
+        @"09": @"the09",
+        @"0xffffffffffffffff": @"the0Xffffffffffffffff",
+        @"❤️ \U0001f494 \U0001f48c \U0001f495 \U0001f49e \U0001f493 \U0001f497 \U0001f496 \U0001f498 \U0001f49d \U0001f49f \U0001f49c \U0001f49b \U0001f49a \U0001f499": @"the1",
+        @"$1.00": @"the100",
+        @"1,0/0,0": @"the1000",
+        @"1 000.00": @"the100000",
+        @"1 000 000,00": @"the100000000",
+        @"1'; DROP TABLE users-- 1": @"the1DROPTABLEUsers1",
+        @"1#IND": @"the1Ind",
+        @"1#INF": @"the1Inf",
+        @"\U0001d54b\U0001d559\U0001d556 \U0001d562\U0001d566\U0001d55a\U0001d554\U0001d55c \U0001d553\U0001d563\U0001d560\U0001d568\U0001d55f \U0001d557\U0001d560\U0001d569 \U0001d55b\U0001d566\U0001d55e\U0001d561\U0001d564 \U0001d560\U0001d567\U0001d556\U0001d563 \U0001d565\U0001d559\U0001d556 \U0001d55d\U0001d552\U0001d56b\U0001d56a \U0001d555\U0001d560\U0001d558": @"the2",
+        @"-2147483648/-1": @"the21474836481",
+        @"2.2250738585072011e-308": @"the22250738585072011E308",
+        @"\U0001f60d": @"the3",
+        @"# The next line may appear to be blank, mojibake, or dingbats in some viewers.": @"theNextLineMayAppearToBeBlankMojibakeOrDingbatsInSomeViewers",
+        @"# The next line may appear to be blank or mojibake in some viewers.": @"theNextLineMayAppearToBeBlankOrMojibakeInSomeViewers",
+        @"# The next line may be flagged for \"trailing whitespace\" in some viewers.": @"theNextLineMayBeFlaggedForTrailingWhitespaceInSomeViewers",
+        @"<script>alert(123)</script>": @"theScriptAlert123Script",
+        @"１２３": @"the１２３",
+        @"# This file unfortunately cannot express strings containing": @"thisFileUnfortunatelyCannotExpressStringsContaining",
+        @"$(touch /tmp/blns.fail)": @"touchTmpBlnsFail",
+        @"() { _; } >_[$($())] { touch /tmp/blns.shellshock2.fail; }": @"touchTmpBlnsShellshock2Fail",
+        @"Tyson Gay": @"tysonGay",
+        @"#\tUnicode Symbols": @"unicodeSymbols",
+        @"'`\"><\\x00script>javascript:alert(1)</script>": @"x00ScriptJavascriptAlert1Script",
+        @"'`\"><\\x3Cscript>javascript:alert(1)</script>": @"x3CscriptJavascriptAlert1Script",
+        @"åß∂ƒ©˙∆˚¬…æ": @"åßƑÆ",
+        @"˙ɐnbᴉlɐ ɐuƃɐɯ ǝɹolop ʇǝ ǝɹoqɐl ʇn ʇunpᴉpᴉɔuᴉ ɹodɯǝʇ poɯsnᴉǝ op pǝs 'ʇᴉlǝ ƃuᴉɔsᴉdᴉpɐ ɹnʇǝʇɔǝsuoɔ 'ʇǝɯɐ ʇᴉs ɹolop ɯnsdᴉ ɯǝɹo˥": @"ɐnbᴉlɐⱯuƃɐɯƎɹolopꞱǝƎɹoqɐlꞱnꞱunpᴉpᴉɔuᴉɹodɯǝʇPoɯsnᴉǝOpPǝsꞱᴉlǝƂuᴉɔsᴉdᴉpɐɹnʇǝʇɔǝsuoɔꞱǝɯɐꞱᴉsɹolopƜnsdᴉƜǝɹo",
+        @"Ω≈ç√∫˜µ≤≥÷": @"ωÇΜ",
+        @"ヽ༼ຈل͜ຈ༽ﾉ ヽ༼ຈل͜ຈ༽ﾉ": @"ຈل͜ຈﾉヽຈل͜ຈﾉ",
+        @"Ṱ̺̺̕o͞ ̷i̲̬͇̪͙n̝̗͕v̟̜̘̦͟o̶̙̰̠kè͚̮̺̪̹̱̤ ̖t̝͕̳̣̻̪͞h̼͓̲̦̳̘̲e͇̣̰̦̬͎ ̢̼̻̱̘h͚͎͙̜̣̲ͅi̦̲̣̰̤v̻͍e̺̭̳̪̰-m̢iͅn̖̺̞̲̯̰d̵̼̟͙̩̼̘̳ ̞̥̱̳̭r̛̗̘e͙p͠r̼̞̻̭̗e̺̠̣͟s̘͇̳͍̝͉e͉̥̯̞̲͚̬͜ǹ̬͎͎̟̖͇̤t͍̬̤͓̼̭͘ͅi̪̱n͠g̴͉ ͏͉ͅc̬̟h͡a̫̻̯͘o̫̟̖͍̙̝͉s̗̦̲.̨̹͈̣": @"ṱOINVOKèTHEHIVEMINDREPRESEǸTINGCHAOS",
+        @"社會科學院語學研究所": @"社會科學院語學研究所",
+        @"部落格": @"部落格",
+        @"사회과학원 어학연구소": @"사회과학원어학연구소",
+        @"찦차를 타고 온 펲시맨과 쑛다리 똠방각하": @"찦차를타고온펲시맨과쑛다리똠방각하",
+        @"ﷺ": @"ﷺ",
+        @"__ﾛ(,_,*)": @"ﾛ_",
+    };
+}
+
++ (instancetype)fromJSONDictionary:(NSDictionary *)dict
+{
+    return [dict isKindOfClass:NSDictionary.class] ? [[QTB alloc] initWithJSONDictionary:dict] : nil;
+}
+
+- (instancetype)initWithJSONDictionary:(NSDictionary *)dict
+{
+    if (self = [super init]) {
+        if (![dict[@"<a href=http://foo.bar/#x=`y></a><img alt=\"`><img src=x:x onerror=javascript:alert(1)></a>\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"javascript\\x00:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"javascript\\x0D:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x02javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x04javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x0Ajavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x0Djavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x0Ejavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x0Fjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x16javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x19javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x1Ajavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x1Djavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x1Ejavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\xE2\\x80\\x81javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\xE2\\x80\\x82javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\xE2\\x80\\xA9javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\xE2\\x80\\xAFjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ABC<div style=\"x:expression\\x5C(javascript:alert(1)\">DEF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ABC<div style=\"x:\\x0Aexpression(javascript:alert(1)\">DEF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ABC<div style=\"x:\\x0Dexpression(javascript:alert(1)\">DEF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ABC<div style=\"x:\\xE2\\x80\\x82expression(javascript:alert(1)\">DEF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ABC<div style=\"x:\\xE2\\x80\\x83expression(javascript:alert(1)\">DEF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ABC<div style=\"x:\\xE2\\x80\\x85expression(javascript:alert(1)\">DEF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ABC<div style=\"x:\\xE2\\x80\\x87expression(javascript:alert(1)\">DEF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ABC<div style=\"x:\\xE2\\x80\\x8Aexpression(javascript:alert(1)\">DEF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"⁰⁴⁵₀₁₂"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"# appear in input."] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"+++ATH0"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"' autofocus onkeyup='javascript:alert(123)"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\t\013\014 \302\205             \u200b\u2028\u2029  　"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"1'000.00"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"FALSE"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<IMG SRC=# onmouseover=\"alert('xxs')\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"NIL"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"--><script>alert(123)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"`touch /tmp/blns.fail`"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"basement"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"But now...\033[20Cfor my greatest trick...\033[8m"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"# \"Byte order marks\", U+FEFF and U+FFFE, each on its own line."] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"COM1"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"COM3"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"# Commonly misinterpreted as additional graphic characters."] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"CON"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"# contexts.  Divided into three groups based on (US-layout) keyboard position."] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tCredit: https://twitter.com/jifa/status/625776454479970304"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"/dev/null; touch /tmp/blns.fail ; echo"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\001\002\003\004\005\006\007\010\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037\177"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"eval(\"puts 'hello world'\")"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"expression"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"File:///"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tFile Inclusion"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<foo val=”bar“ />"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"# general category Cf (in Unicode 8.0.0)."] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"̦H̬̤̗̤͝e͜ ̜̥̝̻͍̟́w̕h̖̯͓o̝͙̖͎̱̮ ҉̺̙̞̟͈W̷̼̭a̺̪͍į͈͕̭͙̯̜t̶̼̮s̘͙͖̕ ̠̫̠B̻͍͙͉̳ͅe̵h̵̬͇̫͙i̹͓̳̳̮͎̫̕n͟d̴̪̜̖ ̰͉̩͇͙̲͞ͅT͖̼͓̪͢h͏͓̮̻e̬̝̟ͅ ̤̹̝W͙̞̝͔͇͝ͅa͏͓͔̹̼̣l̴͔̰̤̟͔ḽ̫.͕"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"--help"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"http://a/%%30%30"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tiOS Vulnerabilities"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"If you're reading this, you've been in a coma for almost 20 years now. We're trying a new technique. We don't know where this message will end up in your dream, but we hope it works. Please wake up, we miss you."] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<iframe src=http://ha.ckers.org/scriptlet.html <"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<IMG SRC=\" &#14;  javascript:alert('XSS');\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<IMG SRC=\"jav&#x09;ascript:alert('XSS');\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<IMG SRC= onmouseover=\"alert('xxs')\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<IMG SRC=&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x61&#x6C&#x65&#x72&#x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<IMG SRC=&#0000106&#0000097&#0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&#0000097&#0000108&#0000101&#0000114&#0000116&#0000040&#0000039&#0000088&#0000083&#0000083&#0000039&#0000041>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img src\\x00=x onerror=\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img src=x onerror=\\x11\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img src=x onerror=\\x12\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"`\"'><img src=xxx:x \\x0Aonerror=javascript:alert(1)>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"`\"'><img src=xxx:x \\x0Conerror=javascript:alert(1)>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"`\"'><img src=xxx:x \\x0Donerror=javascript:alert(1)>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img \\x00src=x onerror=\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img \\x11src=x onerror=\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img \\x12src=x onerror=\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img \\x47src=x onerror=\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#   IRC specific strings"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"dontMakeAMap"] isKindOfClass:NSNumber.class]) return nil;
+        if (![dict[@"#\tJapanese Emoticons"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"Kernel.exec(\"ls -al /\")"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"Linda Callahan"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"NUL"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"null"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tNumeric Strings"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"# Often forbidden to appear in various text-based file formats (e.g. XML),"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\" onfocus=JaVaSCript:alert(123) autofocus"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"' OR 1=1 -- 1"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tQuotation Marks"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#       Regional Indicator Symbols"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#       Regional Indicator Symbols can be displayed differently across"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tReserved Strings"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"><script>alert(123)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"><script>alert(123);</script x="] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<<SCRIPT>alert(\"XSS\");//<</SCRIPT>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<SCRIPT SRC=//ha.ckers.org/.j>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<script src=\"\\\\%(jscript)s\"></script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\x09javascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<script\\x0Atype=\"text/javascript\">javascript:alert(1);</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<script\\x0Dtype=\"text/javascript\">javascript:alert(1);</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\x21javascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\x3Bjavascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\xE2\\x80\\x85javascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\xE2\\x80\\x87javascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\xE2\\x80\\x8Ajavascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\xE2\\x80\\xA8javascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\xE2\\x80\\xA9javascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\xE2\\x80\\xAFjavascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\xE3\\x80\\x80javascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tScunthorpe Problem"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"(｡◕ ∀ ◕｡)"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#   Strings that may occur on IRC clients that make security products freak out"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tStrings which are reserved characters in MSDOS/Windows"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tStrings which attempt to invoke a benign script injection; shows vulnerability to XSS"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tStrings which contain text that should be rendered RTL if possible (e.g. Arabic, Hebrew)"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tStrings which contain two-byte characters: can cause rendering issues or character-length issues"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tStrings which contain unicode numbers; if the code is localized, it should see the input as numeric"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tStrings which may be used elsewhere in code"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tTerminal escape codes"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\""] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"0.00"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"01000"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"08"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"09"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"0xffffffffffffffff"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"❤️ \U0001f494 \U0001f48c \U0001f495 \U0001f49e \U0001f493 \U0001f497 \U0001f496 \U0001f498 \U0001f49d \U0001f49f \U0001f49c \U0001f49b \U0001f49a \U0001f499"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"$1.00"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"1,0/0,0"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"1 000.00"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"1 000 000,00"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"1'; DROP TABLE users-- 1"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"1#IND"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"1#INF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\U0001d54b\U0001d559\U0001d556 \U0001d562\U0001d566\U0001d55a\U0001d554\U0001d55c \U0001d553\U0001d563\U0001d560\U0001d568\U0001d55f \U0001d557\U0001d560\U0001d569 \U0001d55b\U0001d566\U0001d55e\U0001d561\U0001d564 \U0001d560\U0001d567\U0001d556\U0001d563 \U0001d565\U0001d559\U0001d556 \U0001d55d\U0001d552\U0001d56b\U0001d56a \U0001d555\U0001d560\U0001d558"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"-2147483648/-1"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"2.2250738585072011e-308"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\U0001f60d"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"# The next line may appear to be blank, mojibake, or dingbats in some viewers."] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"# The next line may appear to be blank or mojibake in some viewers."] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"# The next line may be flagged for \"trailing whitespace\" in some viewers."] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<script>alert(123)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"１２３"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"# This file unfortunately cannot express strings containing"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"$(touch /tmp/blns.fail)"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"() { _; } >_[$($())] { touch /tmp/blns.shellshock2.fail; }"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"Tyson Gay"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tUnicode Symbols"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"'`\"><\\x00script>javascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"'`\"><\\x3Cscript>javascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"åß∂ƒ©˙∆˚¬…æ"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"˙ɐnbᴉlɐ ɐuƃɐɯ ǝɹolop ʇǝ ǝɹoqɐl ʇn ʇunpᴉpᴉɔuᴉ ɹodɯǝʇ poɯsnᴉǝ op pǝs 'ʇᴉlǝ ƃuᴉɔsᴉdᴉpɐ ɹnʇǝʇɔǝsuoɔ 'ʇǝɯɐ ʇᴉs ɹolop ɯnsdᴉ ɯǝɹo˥"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"Ω≈ç√∫˜µ≤≥÷"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ヽ༼ຈل͜ຈ༽ﾉ ヽ༼ຈل͜ຈ༽ﾉ"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"Ṱ̺̺̕o͞ ̷i̲̬͇̪͙n̝̗͕v̟̜̘̦͟o̶̙̰̠kè͚̮̺̪̹̱̤ ̖t̝͕̳̣̻̪͞h̼͓̲̦̳̘̲e͇̣̰̦̬͎ ̢̼̻̱̘h͚͎͙̜̣̲ͅi̦̲̣̰̤v̻͍e̺̭̳̪̰-m̢iͅn̖̺̞̲̯̰d̵̼̟͙̩̼̘̳ ̞̥̱̳̭r̛̗̘e͙p͠r̼̞̻̭̗e̺̠̣͟s̘͇̳͍̝͉e͉̥̯̞̲͚̬͜ǹ̬͎͎̟̖͇̤t͍̬̤͓̼̭͘ͅi̪̱n͠g̴͉ ͏͉ͅc̬̟h͡a̫̻̯͘o̫̟̖͍̙̝͉s̗̦̲.̨̹͈̣"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"社會科學院語學研究所"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"部落格"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"사회과학원 어학연구소"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"찦차를 타고 온 펲시맨과 쑛다리 똠방각하"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ﷺ"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"__ﾛ(,_,*)"] isKindOfClass:NSString.class]) return nil;
+        [self setValuesForKeysWithDictionary:dict];
+    }
+    return self;
+}
+
+- (void)setValue:(nullable id)value forKey:(NSString *)key
+{
+    id resolved = QTB.properties[key];
+    if (resolved) [super setValue:value forKey:resolved];
+}
+
+- (void)setNilValueForKey:(NSString *)key
+{
+    id resolved = QTB.properties[key];
+    if (resolved) [super setValue:@(0) forKey:resolved];
+}
+
+- (NSDictionary *)JSONDictionary
+{
+    id dict = [[self dictionaryWithValuesForKeys:QTB.properties.allValues] mutableCopy];
+
+    for (id jsonName in QTB.properties) {
+        id propertyName = QTB.properties[jsonName];
+        if (![jsonName isEqualToString:propertyName]) {
+            dict[jsonName] = dict[propertyName];
+            [dict removeObjectForKey:propertyName];
+        }
+    }
+
+    [dict addEntriesFromDictionary:@{
+        @"dontMakeAMap": _isDontMakeAMap ? @YES : @NO,
+    }];
+
+    return dict;
+}
+@end
+
+@implementation QTC
++ (NSDictionary<NSString *, NSString *> *)properties
+{
+    static NSDictionary<NSString *, NSString *> *properties;
+    return properties = properties ? properties : @{
+        @"\U0002070e\U00020731\U00020779\U00020c53\U00020c78\U00020c96\U00020ccf": @"_1",
+        @"A:": @"a",
+        @"<a href=\"\\x00javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX00JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x03javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX03JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x06javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX06JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x07javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX07JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x0Bjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX0BjavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x12javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX12JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x14javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX14JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x15javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX15JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x18javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX18JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x1Bjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX1BjavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x1Cjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX1CjavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\x20javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefX20JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\xE2\\x80\\x80javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefXE2X80X80JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\xE2\\x80\\x85javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefXE2X80X85JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\xE2\\x80\\x88javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefXE2X80X88JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\xE2\\x80\\x89javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefXE2X80X89JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\xE2\\x80\\x8Ajavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefXE2X80X8AjavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\xE2\\x81\\x9Fjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefXE2X81X9FjavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"<a href=\"\\xE3\\x80\\x80javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": @"aHrefXE3X80X80JavascriptJavascriptAlert1IDFuzzelement1TestA",
+        @"ABC<div style=\"x:expression\\x00(javascript:alert(1)\">DEF": @"abcDivStyleXExpressionX00JavascriptAlert1DEF",
+        @"ABC<div style=\"x:\\x00expression(javascript:alert(1)\">DEF": @"abcDivStyleXX00ExpressionJavascriptAlert1DEF",
+        @"ABC<div style=\"x:\\x0Cexpression(javascript:alert(1)\">DEF": @"abcDivStyleXX0CexpressionJavascriptAlert1DEF",
+        @"ABC<div style=\"x:\\xE2\\x80\\x81expression(javascript:alert(1)\">DEF": @"abcDivStyleXXE2X80X81ExpressionJavascriptAlert1DEF",
+        @"ABC<div style=\"x:\\xE2\\x80\\x86expression(javascript:alert(1)\">DEF": @"abcDivStyleXXE2X80X86ExpressionJavascriptAlert1DEF",
+        @"ABC<div style=\"x:\\xE2\\x80\\x88expression(javascript:alert(1)\">DEF": @"abcDivStyleXXE2X80X88ExpressionJavascriptAlert1DEF",
+        @"ABC<div style=\"x:\\xE3\\x80\\x80expression(javascript:alert(1)\">DEF": @"abcDivStyleXXE3X80X80ExpressionJavascriptAlert1DEF",
+        @"ABC<div style=\"x:\\xEF\\xBB\\xBFexpression(javascript:alert(1)\">DEF": @"abcDivStyleXXEFXBBXBFexpressionJavascriptAlert1DEF",
+        @"# and U+007F (DEL)": @"andU007FDEL",
+        @"-": @"another",
+        @"# ASCII punctuation.  All of these characters may need to be escaped in some": @"asciiPunctuationAllOfTheseCharactersMayNeedToBeEscapedInSome",
+        @"<BODY onload!#$%&()*~+-_.,:;?@[/|\\]^`=alert(\"XSS\")>": @"bodyOnloadAlertXSS",
+        @"\"'\"'\"''''\"": @"c",
+        @"-0.0": @"c00",
+        @"0.0/0": @"c000",
+        @"--1": @"c1",
+        @"-1.00": @"c100",
+        @"1,000.00": @"c100000",
+        @"1,000,000.00": @"c100000000",
+        @"1E+02": @"c1E02",
+        @"><script>alert(123)</script>": @"cScriptAlert123Script",
+        @"true": @"cTrue",
+        @"CLOCK$": @"clock",
+        @"COM2": @"com2",
+        @"COM4": @"com4",
+        @"Craig Cockburn, Software Specialist": @"craigCockburnSoftwareSpecialist",
+        @"DCC SEND STARTKEYLOGGER 0 0 0": @"dccSendStartkeylogger000",
+        @"#\tEmoji": @"emoji",
+        @"\"\"": @"empty",
+        @"evaluate": @"evaluate",
+        @"<foo val=“bar” />": @"fooValBar",
+        @"hasOwnProperty": @"hasOwnProperty",
+        @"Horniman Museum": @"hornimanMuseum",
+        @"http://www.cum.qc.ca/": @"httpWWWCumQcCA",
+        @"<i onwheel=alert(1)> Scroll over me </i>": @"iOnwheelAlert1ScrollOverMeI",
+        @"<img[a][b][c]src[d]=x[e]onerror=[f]\"alert(1)\">": @"imgABCSrcDXEOnerrorFAlert1",
+        @"<IMG onmouseover=\"alert('xxs')\">": @"imgOnmouseoverAlertXxs",
+        @"<IMG \"\"\"><SCRIPT>alert(\"XSS\")</SCRIPT>\">": @"imgSCRIPTAlertXSSSCRIPT",
+        @"<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>": @"imgSRCJavascriptAlertStringFromCharCode888383",
+        @"<IMG SRC=\"javascript:alert('XSS')\"": @"imgSRCJavascriptAlertXSS",
+        @"<img src onerror /\" '\"= alt=javascript:alert(1)//\">": @"imgSrcOnerrorAltJavascriptAlert1",
+        @"<img src\\x10=x onerror=\"javascript:alert(1)\">": @"imgSrcX10XOnerrorJavascriptAlert1",
+        @"<img src\\x12=x onerror=\"javascript:alert(1)\">": @"imgSrcX12XOnerrorJavascriptAlert1",
+        @"<img src\\x13=x onerror=\"javascript:alert(1)\">": @"imgSrcX13XOnerrorJavascriptAlert1",
+        @"<img src\\x32=x onerror=\"javascript:alert(1)\">": @"imgSrcX32XOnerrorJavascriptAlert1",
+        @"<img src\\x47=x onerror=\"javascript:alert(1)\">": @"imgSrcX47XOnerrorJavascriptAlert1",
+        @"<img src=x onerror=alert(123) />": @"imgSrcXOnerrorAlert123",
+        @"<img src=x onerror=\\x10\"javascript:alert(1)\">": @"imgSrcXOnerrorX10JavascriptAlert1",
+        @"<img src=x onerror=\\x32\"javascript:alert(1)\">": @"imgSrcXOnerrorX32JavascriptAlert1",
+        @"<img src=\"x` `<script>javascript:alert(1)</script>\"` `>": @"imgSrcXScriptJavascriptAlert1Script",
+        @"`\"'><img src=xxx:x \\x09onerror=javascript:alert(1)>": @"imgSrcXxxXX09OnerrorJavascriptAlert1",
+        @"`\"'><img src=xxx:x \\x20onerror=javascript:alert(1)>": @"imgSrcXxxXX20OnerrorJavascriptAlert1",
+        @"`\"'><img src=xxx:x \\x22onerror=javascript:alert(1)>": @"imgSrcXxxXX22OnerrorJavascriptAlert1",
+        @"`\"'><img src=xxx:x \\x27onerror=javascript:alert(1)>": @"imgSrcXxxXX27OnerrorJavascriptAlert1",
+        @"<img\\x11src=x onerror=\"javascript:alert(1)\">": @"imgX11SrcXOnerrorJavascriptAlert1",
+        @"<img \\x34src=x onerror=\"javascript:alert(1)\">": @"imgX34SrcXOnerrorJavascriptAlert1",
+        @"<img\\x47src=x onerror=\"javascript:alert(1)\">": @"imgX47SrcXOnerrorJavascriptAlert1",
+        @"Infinity": @"infinity",
+        @"dontMakeAMap": @"isDontMakeAMap",
+        @"JavaSCript:alert(123)": @"javaSCriptAlert123",
+        @"LPT1": @"lpt1",
+        @"&lt;script&gt;alert(&#39;123&#39;);&lt;/script&gt;": @"ltScriptGtAlert3912339LtScriptGt",
+        @"magna cum laude": @"magnaCumLaude",
+        @"medieval erection of parapets": @"medievalErectionOfParapets",
+        @"mocha": @"mocha",
+        @"NaN": @"naN",
+        @"# Non-whitespace C0 controls: U+0001 through U+0008, U+000E through U+001F,": @"nonWhitespaceC0ControlsU0001ThroughU0008U000EThroughU001F",
+        @"NULL": @"null",
+        @"%": @"one",
+        @"0,,0": @"one00",
+        @"1.000,00": @"one100000",
+        @"1.000.000,00": @"one100000000",
+        @"' onfocus=JaVaSCript:alert(123) autofocus": @"onfocusJaVaSCriptAlert123Autofocus",
+        @"# or reused for internal delimiters on the theory that they should never": @"orReusedForInternalDelimitersOnTheTheoryThatTheyShouldNever",
+        @"<plaintext>": @"plaintext",
+        @"Powerلُلُصّبُلُلصّبُررً ॣ ॣh ॣ ॣ冗": @"powerلُلُصّبُلُلصّبُررًॣॣH冗",
+        @"#\tRight-To-Left Strings": @"rightToLeftStrings",
+        @"Roses are \033[0;31mred\033[0m, violets are \033[0;34mblue. Hope you enjoy terminal hue": @"rosesAre031Mred0MVioletsAre034MblueHopeYouEnjoyTerminalHue",
+        @"%*.*s": @"s",
+        @"'><script>alert(123)</script>": @"scriptAlert123Script",
+        @"'><script>alert(123);</script x='": @"scriptAlert123ScriptX",
+        @"\"`'><script>-javascript:alert(1)</script>": @"scriptJavascriptAlert1Script",
+        @"< / script >< script >alert(123)< / script >": @"scriptScriptAlert123Script",
+        @"<script src=\"/\\%(jscript)s\"></script>": @"scriptSrcJscriptSScript",
+        @"\"`'><script>\\x0Ajavascript:alert(1)</script>": @"scriptX0AjavascriptAlert1Script",
+        @"\"`'><script>\\x0Bjavascript:alert(1)</script>": @"scriptX0BjavascriptAlert1Script",
+        @"<script\\x0Ctype=\"text/javascript\">javascript:alert(1);</script>": @"scriptX0CtypeTextJavascriptJavascriptAlert1Script",
+        @"\"`'><script>\\x20javascript:alert(1)</script>": @"scriptX20JavascriptAlert1Script",
+        @"\"`'><script>\\x2Bjavascript:alert(1)</script>": @"scriptX2BjavascriptAlert1Script",
+        @"<script\\x2Ftype=\"text/javascript\">javascript:alert(1);</script>": @"scriptX2FtypeTextJavascriptJavascriptAlert1Script",
+        @"\"`'><script>\\x7Ejavascript:alert(1)</script>": @"scriptX7EjavascriptAlert1Script",
+        @"\"`'><script>\\xE2\\x80\\x80javascript:alert(1)</script>": @"scriptXE2X80X80JavascriptAlert1Script",
+        @"\"`'><script>\\xE2\\x80\\x82javascript:alert(1)</script>": @"scriptXE2X80X82JavascriptAlert1Script",
+        @"\"`'><script>\\xE2\\x80\\x83javascript:alert(1)</script>": @"scriptXE2X80X83JavascriptAlert1Script",
+        @"\"`'><script>\\xE2\\x80\\x84javascript:alert(1)</script>": @"scriptXE2X80X84JavascriptAlert1Script",
+        @"\"`'><script>\\xE2\\x80\\x88javascript:alert(1)</script>": @"scriptXE2X80X88JavascriptAlert1Script",
+        @"\"`'><script>\\xE2\\x80\\x8Bjavascript:alert(1)</script>": @"scriptXE2X80X8BjavascriptAlert1Script",
+        @"\"`'><script>\\xEF\\xBF\\xAEjavascript:alert(1)</script>": @"scriptXEFXBFXAEjavascriptAlert1Script",
+        @"\"`'><script>\\xEF\\xBF\\xBEjavascript:alert(1)</script>": @"scriptXEFXBFXBEjavascriptAlert1Script",
+        @"Scunthorpe General Hospital": @"scunthorpeGeneralHospital",
+        @"#\tServer Code Injection": @"serverCodeInjection",
+        @"shitake mushrooms": @"shitakeMushrooms",
+        @"''": @"some",
+        @"0/0": @"some00",
+        @"#\tSpecial Characters": @"specialCharacters",
+        @"src=JaVaSCript:prompt(132)": @"srcJaVaSCriptPrompt132",
+        @"#\tStrings which can be interpreted as numeric": @"stringsWhichCanBeInterpretedAsNumeric",
+        @"#\tStrings which can cause a SQL injection if inputs are not sanitized": @"stringsWhichCanCauseASQLInjectionIfInputsAreNotSanitized",
+        @"#\tStrings which can cause user to pull in files that should not be a part of a web server": @"stringsWhichCanCauseUserToPullInFilesThatShouldNotBeAPartOfAWebServer",
+        @"#\tStrings which can cause user to run code on server as a privileged user (c.f. https://news.ycombinator.com/item?id=7665153)": @"stringsWhichCanCauseUserToRunCodeOnServerAsAPrivilegedUserCFHTTPSNewsYcombinatorCOMItemID7665153",
+        @"#\tStrings which contain \"corrupted\" text. The corruption will not appear in non-HTML text, however. (via http://www.eeemo.net)": @"stringsWhichContainCorruptedTextTheCorruptionWillNotAppearInNonHTMLTextHoweverViaHTTPWWWEeemoNet",
+        @"#\tStrings which contain unicode with an \"upsidedown\" effect (via http://www.upsidedowntext.com)": @"stringsWhichContainUnicodeWithAnUpsidedownEffectViaHTTPWWWUpsidedowntextCOM",
+        @"#\tStrings which contain unicode with unusual properties (e.g. Right-to-left override) (c.f. http://www.unicode.org/charts/PDF/U2000.pdf)": @"stringsWhichContainUnicodeWithUnusualPropertiesEGRightToLeftOverrideCFHTTPWWWUnicodeOrgChartsPDFU2000PDF",
+        @"#\tStrings which punish the fools who use cat/type on this file": @"stringsWhichPunishTheFoolsWhoUseCatTypeOnThisFile",
+        @"<svg><script>123<1>alert(123)</script>": @"svgScript1231Alert123Script",
+        @"System(\"ls -al /\")": @"systemLsAl",
+        @"@{[system \"touch /tmp/blns.fail\"]}": @"systemTouchTmpBlnsFail",
+        @"\u2029test\u2029": @"test",
+        @"test\u2060test\u202b": @"testTest",
+        @"\"''''\"'\"": @"the",
+        @"+0.0": @"the00",
+        @"0.0.0": @"the000",
+        @"() { 0; }; touch /tmp/blns.shellshock1.fail;": @"the0TouchTmpBlnsShellshock1Fail",
+        @"0xabad1dea": @"the0Xabad1Dea",
+        @"0xffffffff": @"the0Xffffffff",
+        @"\U0001f3f30\U0001f308️": @"the0️",
+        @"0️⃣ 1️⃣ 2️⃣ 3️⃣ 4️⃣ 5️⃣ 6️⃣ 7️⃣ 8️⃣ 9️⃣ \U0001f51f": @"the0️1️2️3️4️5️6️7️8️9️",
+        @"--": @"the1",
+        @"\U0001d683\U0001d691\U0001d68e \U0001d69a\U0001d69e\U0001d692\U0001d68c\U0001d694 \U0001d68b\U0001d69b\U0001d698\U0001d6a0\U0001d697 \U0001d68f\U0001d698\U0001d6a1 \U0001d693\U0001d69e\U0001d696\U0001d699\U0001d69c \U0001d698\U0001d69f\U0001d68e\U0001d69b \U0001d69d\U0001d691\U0001d68e \U0001d695\U0001d68a\U0001d6a3\U0001d6a2 \U0001d68d\U0001d698\U0001d690": @"the10",
+        @"-$1.00": @"the100",
+        @"1 000,00": @"the100000",
+        @"1'000'000,00": @"the100000000",
+        @"\U0001f435 \U0001f648 \U0001f649 \U0001f64a": @"the11",
+        @"-1/2": @"the12",
+        @"\U0001f47e \U0001f647 \U0001f481 \U0001f645 \U0001f646 \U0001f64b \U0001f64e \U0001f64d": @"the13",
+        @"-1E+02": @"the1E02",
+        @"-1E2": @"the1E2",
+        @"-1#IND": @"the1Ind",
+        @".": @"the2",
+        @"\\\\": @"the3",
+        @"_": @"the4",
+        @"⁰⁴⁵": @"the5",
+        @"⅛⅜⅝⅞": @"the6",
+        @"✋\U0001f3ff \U0001f4aa\U0001f3ff \U0001f450\U0001f3ff \U0001f64c\U0001f3ff \U0001f44f\U0001f3ff \U0001f64f\U0001f3ff": @"the7",
+        @"・(￣∀￣)・:*:": @"the8",
+        @"\U0001d413\U0001d421\U0001d41e \U0001d42a\U0001d42e\U0001d422\U0001d41c\U0001d424 \U0001d41b\U0001d42b\U0001d428\U0001d430\U0001d427 \U0001d41f\U0001d428\U0001d431 \U0001d423\U0001d42e\U0001d426\U0001d429\U0001d42c \U0001d428\U0001d42f\U0001d41e\U0001d42b \U0001d42d\U0001d421\U0001d41e \U0001d425\U0001d41a\U0001d433\U0001d432 \U0001d41d\U0001d428\U0001d420": @"the9",
+        @"-9223372036854775808/-1": @"the92233720368547758081",
+        @"＜script＞alert(123)＜/script＞": @"theScriptAlert123Script",
+        @"١٢٣": @"the١٢٣",
+        @"<title onpropertychange=javascript:alert(1)></title><title title=>": @"titleOnpropertychangeJavascriptAlert1TitleTitleTitle",
+        @"# treated as whitespace in some contexts.": @"treatedAsWhitespaceInSomeContexts",
+        @"#\tTrick Unicode": @"trickUnicode",
+        @"undefined": @"undefined",
+        @"# Unicode additional control characters: all of the characters with": @"unicodeAdditionalControlCharactersAllOfTheCharactersWith",
+        @"#\tUnicode Subscript/Superscript/Accents": @"unicodeSubscriptSuperscriptAccents",
+        @"#\tUnicode Upsidedown": @"unicodeUpsidedown",
+        @"$USER": @"user",
+        @"--version": @"version",
+        @"# version 8.0.0), plus U+0009 (HT), U+000B (VT), U+000C (FF), U+0085 (NEL),": @"version800PlusU0009HTU000BVTU000CFFU0085NEL",
+        @"# Whitespace: all of the characters with category Zs, Zl, or Zp (in Unicode": @"whitespaceAllOfTheCharactersWithCategoryZsZlOrZpInUnicode",
+        @"<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?><!DOCTYPE foo [ <!ELEMENT foo ANY ><!ENTITY xxe SYSTEM \"file:///etc/passwd\" >]><foo>&xxe;</foo>": @"xmlVersion10EncodingISO88591DOCTYPEFooELEMENTFooANYENTITYXxeSYSTEMFileEtcPasswdFooXxeFoo",
+        @"#      XXE Injection (XML)": @"xxeInjectionXML",
+        @"#\tZalgo Text": @"zalgoText",
+        @"ZZ:": @"zz",
+        @"ÅÍÎÏ˝ÓÔ\uf8ffÒÚÆ☃": @"åíîïÓôÒúæ",
+        @",。・:*:・゜’( ☻ ω ☻ )。・:*:・゜’": @"ω",
+        @"ЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя": @"ёђѓєѕіїјљњћќѝўџабвгдежзийклмнопрстуфхцчшщъыьэюЯабвгдежзийклмнопрстуфхцчшщъыьэюя",
+        @"בְּרֵאשִׁית, בָּרָא אֱלֹהִים, אֵת הַשָּׁמַיִם, וְאֵת הָאָרֶץ": @"בְּרֵאשִׁיתבָּרָאאֱלֹהִיםאֵתהַשָּׁמַיִםוְאֵתהָאָרֶץ",
+        @"مُنَاقَشَةُ سُبُلِ اِسْتِخْدَامِ اللُّغَةِ فِي النُّظُمِ الْقَائِمَةِ وَفِيم يَخُصَّ التَّطْبِيقَاتُ الْحاسُوبِيَّةُ، ": @"مُنَاقَشَةُسُبُلِاِسْتِخْدَامِاللُّغَةِفِيالنُّظُمِالْقَائِمَةِوَفِيميَخُصَّالتَّطْبِيقَاتُالْحاسُوبِيَّةُ",
+        @"̗̺͖̹̯͓Ṯ̤͍̥͇͈h̲́e͏͓̼̗̙̼̣͔ ͇̜̱̠͓͍ͅN͕͠e̗̱z̘̝̜̺͙p̤̺̹͍̯͚e̠̻̠͜r̨̤͍̺̖͔̖̖d̠̟̭̬̝͟i̦͖̩͓͔̤a̠̗̬͉̙n͚͜ ̻̞̰͚ͅh̵͉i̳̞v̢͇ḙ͎͟-҉̭̩̼͔m̤̭̫i͕͇̝̦n̗͙ḍ̟ ̯̲͕͞ǫ̟̯̰̲͙̻̝f ̪̰̰̗̖̭̘͘c̦͍̲̞͍̩̙ḥ͚a̮͎̟̙͜ơ̩̹͎s̤.̝̝ ҉Z̡̖̜͖̰̣͉̜a͖̰͙̬͡l̲̫̳͍̩g̡̟̼̱͚̞̬ͅo̗͜.̟": @"ṯHENEZPERDIANHIVḘMINḌǪFCḤAƠSZALGO",
+        @"┬─┬ノ( º _ ºノ)": @"ノº_ºノ",
+        @"울란바토르": @"울란바토르",
+        @"Ｔｈｅ ｑｕｉｃｋ ｂｒｏｗｎ ｆｏｘ ｊｕｍｐｓ ｏｖｅｒ ｔｈｅ ｌａｚｙ ｄｏｇ": @"ｔｈｅＱｕｉｃｋＢｒｏｗｎＦｏｘＪｕｍｐｓＯｖｅｒＴｈｅＬａｚｙＤｏｇ",
+        @"(ﾉಥ益ಥ）ﾉ\ufeff ┻━┻": @"ﾉಥ益ಥﾉ",
+    };
+}
+
++ (instancetype)fromJSONDictionary:(NSDictionary *)dict
+{
+    return [dict isKindOfClass:NSDictionary.class] ? [[QTC alloc] initWithJSONDictionary:dict] : nil;
+}
+
+- (instancetype)initWithJSONDictionary:(NSDictionary *)dict
+{
+    if (self = [super init]) {
+        if (![dict[@"\U0002070e\U00020731\U00020779\U00020c53\U00020c78\U00020c96\U00020ccf"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"A:"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x00javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x03javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x06javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x07javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x0Bjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x12javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x14javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x15javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x18javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x1Bjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x1Cjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\x20javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\xE2\\x80\\x80javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\xE2\\x80\\x85javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\xE2\\x80\\x88javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\xE2\\x80\\x89javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\xE2\\x80\\x8Ajavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\xE2\\x81\\x9Fjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<a href=\"\\xE3\\x80\\x80javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ABC<div style=\"x:expression\\x00(javascript:alert(1)\">DEF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ABC<div style=\"x:\\x00expression(javascript:alert(1)\">DEF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ABC<div style=\"x:\\x0Cexpression(javascript:alert(1)\">DEF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ABC<div style=\"x:\\xE2\\x80\\x81expression(javascript:alert(1)\">DEF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ABC<div style=\"x:\\xE2\\x80\\x86expression(javascript:alert(1)\">DEF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ABC<div style=\"x:\\xE2\\x80\\x88expression(javascript:alert(1)\">DEF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ABC<div style=\"x:\\xE3\\x80\\x80expression(javascript:alert(1)\">DEF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ABC<div style=\"x:\\xEF\\xBB\\xBFexpression(javascript:alert(1)\">DEF"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"# and U+007F (DEL)"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"-"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"# ASCII punctuation.  All of these characters may need to be escaped in some"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<BODY onload!#$%&()*~+-_.,:;?@[/|\\]^`=alert(\"XSS\")>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"'\"'\"''''\""] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"-0.0"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"0.0/0"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"--1"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"-1.00"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"1,000.00"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"1,000,000.00"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"1E+02"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"><script>alert(123)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"true"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"CLOCK$"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"COM2"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"COM4"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"Craig Cockburn, Software Specialist"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"DCC SEND STARTKEYLOGGER 0 0 0"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tEmoji"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"\""] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"evaluate"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<foo val=“bar” />"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"hasOwnProperty"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"Horniman Museum"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"http://www.cum.qc.ca/"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<i onwheel=alert(1)> Scroll over me </i>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img[a][b][c]src[d]=x[e]onerror=[f]\"alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<IMG onmouseover=\"alert('xxs')\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<IMG \"\"\"><SCRIPT>alert(\"XSS\")</SCRIPT>\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<IMG SRC=\"javascript:alert('XSS')\""] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img src onerror /\" '\"= alt=javascript:alert(1)//\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img src\\x10=x onerror=\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img src\\x12=x onerror=\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img src\\x13=x onerror=\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img src\\x32=x onerror=\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img src\\x47=x onerror=\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img src=x onerror=alert(123) />"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img src=x onerror=\\x10\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img src=x onerror=\\x32\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img src=\"x` `<script>javascript:alert(1)</script>\"` `>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"`\"'><img src=xxx:x \\x09onerror=javascript:alert(1)>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"`\"'><img src=xxx:x \\x20onerror=javascript:alert(1)>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"`\"'><img src=xxx:x \\x22onerror=javascript:alert(1)>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"`\"'><img src=xxx:x \\x27onerror=javascript:alert(1)>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img\\x11src=x onerror=\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img \\x34src=x onerror=\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<img\\x47src=x onerror=\"javascript:alert(1)\">"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"Infinity"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"dontMakeAMap"] isKindOfClass:NSNumber.class]) return nil;
+        if (![dict[@"JavaSCript:alert(123)"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"LPT1"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"&lt;script&gt;alert(&#39;123&#39;);&lt;/script&gt;"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"magna cum laude"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"medieval erection of parapets"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"mocha"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"NaN"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"# Non-whitespace C0 controls: U+0001 through U+0008, U+000E through U+001F,"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"NULL"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"%"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"0,,0"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"1.000,00"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"1.000.000,00"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"' onfocus=JaVaSCript:alert(123) autofocus"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"# or reused for internal delimiters on the theory that they should never"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<plaintext>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"Powerلُلُصّبُلُلصّبُررً ॣ ॣh ॣ ॣ冗"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tRight-To-Left Strings"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"Roses are \033[0;31mred\033[0m, violets are \033[0;34mblue. Hope you enjoy terminal hue"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"%*.*s"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"'><script>alert(123)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"'><script>alert(123);</script x='"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>-javascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"< / script >< script >alert(123)< / script >"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<script src=\"/\\%(jscript)s\"></script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\x0Ajavascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\x0Bjavascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<script\\x0Ctype=\"text/javascript\">javascript:alert(1);</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\x20javascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\x2Bjavascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<script\\x2Ftype=\"text/javascript\">javascript:alert(1);</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\x7Ejavascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\xE2\\x80\\x80javascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\xE2\\x80\\x82javascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\xE2\\x80\\x83javascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\xE2\\x80\\x84javascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\xE2\\x80\\x88javascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\xE2\\x80\\x8Bjavascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\xEF\\xBF\\xAEjavascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"`'><script>\\xEF\\xBF\\xBEjavascript:alert(1)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"Scunthorpe General Hospital"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tServer Code Injection"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"shitake mushrooms"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"''"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"0/0"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tSpecial Characters"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"src=JaVaSCript:prompt(132)"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tStrings which can be interpreted as numeric"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tStrings which can cause a SQL injection if inputs are not sanitized"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tStrings which can cause user to pull in files that should not be a part of a web server"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tStrings which can cause user to run code on server as a privileged user (c.f. https://news.ycombinator.com/item?id=7665153)"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tStrings which contain \"corrupted\" text. The corruption will not appear in non-HTML text, however. (via http://www.eeemo.net)"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tStrings which contain unicode with an \"upsidedown\" effect (via http://www.upsidedowntext.com)"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tStrings which contain unicode with unusual properties (e.g. Right-to-left override) (c.f. http://www.unicode.org/charts/PDF/U2000.pdf)"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tStrings which punish the fools who use cat/type on this file"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<svg><script>123<1>alert(123)</script>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"System(\"ls -al /\")"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"@{[system \"touch /tmp/blns.fail\"]}"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\u2029test\u2029"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"test\u2060test\u202b"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\"''''\"'\""] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"+0.0"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"0.0.0"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"() { 0; }; touch /tmp/blns.shellshock1.fail;"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"0xabad1dea"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"0xffffffff"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\U0001f3f30\U0001f308️"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"0️⃣ 1️⃣ 2️⃣ 3️⃣ 4️⃣ 5️⃣ 6️⃣ 7️⃣ 8️⃣ 9️⃣ \U0001f51f"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"--"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\U0001d683\U0001d691\U0001d68e \U0001d69a\U0001d69e\U0001d692\U0001d68c\U0001d694 \U0001d68b\U0001d69b\U0001d698\U0001d6a0\U0001d697 \U0001d68f\U0001d698\U0001d6a1 \U0001d693\U0001d69e\U0001d696\U0001d699\U0001d69c \U0001d698\U0001d69f\U0001d68e\U0001d69b \U0001d69d\U0001d691\U0001d68e \U0001d695\U0001d68a\U0001d6a3\U0001d6a2 \U0001d68d\U0001d698\U0001d690"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"-$1.00"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"1 000,00"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"1'000'000,00"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\U0001f435 \U0001f648 \U0001f649 \U0001f64a"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"-1/2"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\U0001f47e \U0001f647 \U0001f481 \U0001f645 \U0001f646 \U0001f64b \U0001f64e \U0001f64d"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"-1E+02"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"-1E2"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"-1#IND"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"."] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\\\\"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"_"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"⁰⁴⁵"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"⅛⅜⅝⅞"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"✋\U0001f3ff \U0001f4aa\U0001f3ff \U0001f450\U0001f3ff \U0001f64c\U0001f3ff \U0001f44f\U0001f3ff \U0001f64f\U0001f3ff"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"・(￣∀￣)・:*:"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"\U0001d413\U0001d421\U0001d41e \U0001d42a\U0001d42e\U0001d422\U0001d41c\U0001d424 \U0001d41b\U0001d42b\U0001d428\U0001d430\U0001d427 \U0001d41f\U0001d428\U0001d431 \U0001d423\U0001d42e\U0001d426\U0001d429\U0001d42c \U0001d428\U0001d42f\U0001d41e\U0001d42b \U0001d42d\U0001d421\U0001d41e \U0001d425\U0001d41a\U0001d433\U0001d432 \U0001d41d\U0001d428\U0001d420"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"-9223372036854775808/-1"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"＜script＞alert(123)＜/script＞"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"١٢٣"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<title onpropertychange=javascript:alert(1)></title><title title=>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"# treated as whitespace in some contexts."] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tTrick Unicode"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"undefined"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"# Unicode additional control characters: all of the characters with"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tUnicode Subscript/Superscript/Accents"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tUnicode Upsidedown"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"$USER"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"--version"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"# version 8.0.0), plus U+0009 (HT), U+000B (VT), U+000C (FF), U+0085 (NEL),"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"# Whitespace: all of the characters with category Zs, Zl, or Zp (in Unicode"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?><!DOCTYPE foo [ <!ELEMENT foo ANY ><!ENTITY xxe SYSTEM \"file:///etc/passwd\" >]><foo>&xxe;</foo>"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#      XXE Injection (XML)"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"#\tZalgo Text"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ZZ:"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ÅÍÎÏ˝ÓÔ\uf8ffÒÚÆ☃"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@",。・:*:・゜’( ☻ ω ☻ )。・:*:・゜’"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"ЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"בְּרֵאשִׁית, בָּרָא אֱלֹהִים, אֵת הַשָּׁמַיִם, וְאֵת הָאָרֶץ"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"مُنَاقَشَةُ سُبُلِ اِسْتِخْدَامِ اللُّغَةِ فِي النُّظُمِ الْقَائِمَةِ وَفِيم يَخُصَّ التَّطْبِيقَاتُ الْحاسُوبِيَّةُ، "] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"̗̺͖̹̯͓Ṯ̤͍̥͇͈h̲́e͏͓̼̗̙̼̣͔ ͇̜̱̠͓͍ͅN͕͠e̗̱z̘̝̜̺͙p̤̺̹͍̯͚e̠̻̠͜r̨̤͍̺̖͔̖̖d̠̟̭̬̝͟i̦͖̩͓͔̤a̠̗̬͉̙n͚͜ ̻̞̰͚ͅh̵͉i̳̞v̢͇ḙ͎͟-҉̭̩̼͔m̤̭̫i͕͇̝̦n̗͙ḍ̟ ̯̲͕͞ǫ̟̯̰̲͙̻̝f ̪̰̰̗̖̭̘͘c̦͍̲̞͍̩̙ḥ͚a̮͎̟̙͜ơ̩̹͎s̤.̝̝ ҉Z̡̖̜͖̰̣͉̜a͖̰͙̬͡l̲̫̳͍̩g̡̟̼̱͚̞̬ͅo̗͜.̟"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"┬─┬ノ( º _ ºノ)"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"울란바토르"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"Ｔｈｅ ｑｕｉｃｋ ｂｒｏｗｎ ｆｏｘ ｊｕｍｐｓ ｏｖｅｒ ｔｈｅ ｌａｚｙ ｄｏｇ"] isKindOfClass:NSString.class]) return nil;
+        if (![dict[@"(ﾉಥ益ಥ）ﾉ\ufeff ┻━┻"] isKindOfClass:NSString.class]) return nil;
+        [self setValuesForKeysWithDictionary:dict];
+    }
+    return self;
+}
+
+- (void)setValue:(nullable id)value forKey:(NSString *)key
+{
+    id resolved = QTC.properties[key];
+    if (resolved) [super setValue:value forKey:resolved];
+}
+
+- (void)setNilValueForKey:(NSString *)key
+{
+    id resolved = QTC.properties[key];
+    if (resolved) [super setValue:@(0) forKey:resolved];
+}
+
+- (NSDictionary *)JSONDictionary
+{
+    id dict = [[self dictionaryWithValuesForKeys:QTC.properties.allValues] mutableCopy];
+
+    for (id jsonName in QTC.properties) {
+        id propertyName = QTC.properties[jsonName];
+        if (![jsonName isEqualToString:propertyName]) {
+            dict[jsonName] = dict[propertyName];
+            [dict removeObjectForKey:propertyName];
+        }
+    }
+
+    [dict addEntriesFromDictionary:@{
+        @"dontMakeAMap": _isDontMakeAMap ? @YES : @NO,
+    }];
+
+    return dict;
+}
+@end
+
+NS_ASSUME_NONNULL_END
