CREATE ASSEMBLY [string_split]
FROM 0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000800000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A2400000000000000504500004C0103008BB0A74E0000000000000000E00002210B010800001200000006000000000000EE300000002000000040000000004000002000000002000004000000000000000400000000000000008000000002000000000000020040850000100000100000000010000010000000000000100000000000000000000000943000005700000000400000B802000000000000000000000000000000000000006000000C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000080000000000000000000000082000004800000000000000000000002E74657874000000F4100000002000000012000000020000000000000000000000000000200000602E72737263000000B8020000004000000004000000140000000000000000000000000000400000402E72656C6F6300000C0000000060000000020000001800000000000000000000000000004000004200000000000000000000000000000000D0300000000000004800000002000500382200005C0E000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001E02280100000A2A1E02280400000A2AA6730600000A8001000004730700000A8002000004730800000A8003000004730900000A80040000042A0000133001000F000000010000117E010000046F0A00000A0A2B00062A00133001000F000000020000117E020000046F0B00000A0A2B00062A00133001000F000000030000117E030000046F0C00000A0A2B00062A00133001000F000000040000117E040000046F0D00000A0A2B00062A001330020011000000050000110203281100000A281200000A0A2B00062A000000133001000B0000000600001102281300000A0A2B00062A00133001000F00000007000011D005000002281400000A0A2B00062A00133001000B0000000800001102281500000A0A2B00062A00133001001800000009000011028C0100001B2D0A280100002B0A2B062B04020A2B00062A13300200100000000A000011031200FE150200001B06810200001B2A1E02281700000A2A133002002C0000000B000011027B1900000A6F1A00000A0B078C0300001B2D12280200002B0B027B1900000A076F1B00000A070A2B00062A4A02281700000A02731C00000A7D1900000A2A001E02281700000A2A13300400190000000C00001102178D140000010C0816039D086F1E00000A0B070A2B00062A000000260302281F00000A512A000042534A4201000100000000000C00000076322E302E35303732370000000005006C0000007C050000237E0000E80500009C05000023537472696E677300000000840B000008000000235553008C0B00001000000023475549440000009C0B0000C002000023426C6F6200000000000000020000015715A209090E000000FA013300160000010000001A0000000700000005000000130000000700000023000000280000000C00000002000000050000000500000009000000010000000400000002000000030000000200000000008B050100000000000A00B7008D000A00EB00CD000600FB00F4000A0053018D000600D101F4000A005302290206008B0278020E00E602D0020E00FF02D0020E002C0314030600560343030A0095036E030A00AD0313000E00E203C50306001704F70306003504F40006005904F4000A00720413000600C004A1040600D404F4000600D904F4000A00E6046E0312001905FE0412002E05FE0406004005F70306006005F70300000000010000000000010001000000000029003700050001000100000000003A00370009000100020000011000450037000D0001000300050100004F0000000D0005000800050100005D0000000D0005000F0001000000780000000D000600110031001601200031003F012D00310061013A003100860147002100620290005020000000000618C700130001005820000000000618C7001300010060200000000011180201170001008C2000000000130809011B000100A8200000000013082F0128000100C420000000001308580135000100E020000000001308760142000100FC20000000004602BC01630001001C21000000004602C501680002003421000000008300D6016C0002005021000000004602DE01710002006821000000001100E701780002008C21000000000100050280000300A821000000000618C70013000400B02100000000030819028B000400E821000000000618C70013000400FC21000000000618C70013000400042200000000160097029D0004002C22000000001600B602A400060000000100C30100000100FC0100000100FC0100000100A60200000200AC0200000100C30200000200C7020900C70013004100C700AB005100C700BA001100C70013005900C70013002400C70013002C00C70013003400C70013003C00C7001300240019028B002C0019028B00340019028B003C0019028B006100C70013006900C70013007100C7000D017900260458011900BC0163001900C50168002900470465011900DE0171008900630475011900C70013009100C70085014400620290004C008D048B004C00970402024C00C70013009900C7000F02A900E0041A02B100DE012A02B900C7001300C100C7001300C900C7009202D100C7001300290083003A012E00130197022E001B01A00240002B00D80040001300B10043001B00C00043001300B10049008300120163001300B10063001B00C000690083004B0180002B00D80083007300D80083007B00D80083001B00C00084000B017F02890083002601A0002B00D800A3001300B100A300C3008D01C0002B00D800C300EB001402C3001300B100E0002B00D80000012B00D80000011300B10020012B00D80020011300B10040012B00D80040011300B10060012B00D80060011300B10080012B00D800A0012B00D800C0012B00D800C0011300B100E0012B00D80000022B00D80000021300B100400203012F02F900FE00030108015D0161016C017101800180010802210204000100060005000000EB004F000000A40154000000530159000000B0015E0000006C02980002000400030002000500050002000600070002000700090002000F000B00750075008800DD00E400EB00F200EF01F6010480000000000000000000000000000000007E05000002000000000000000000000001000A00000000000800000000000000000000000A001300000000000200000000000000000000000100F400000000000200000000000000000000000100F204000000000500040006000400000010000C00FA01000010001900FA01000000001B00FA012D007B012D00FD0100000000003C4D6F64756C653E006D73636F726C6962004D6963726F736F66742E56697375616C4261736963004D794170706C69636174696F6E004D79004D79436F6D7075746572004D7950726F6A656374004D79576562536572766963657300546872656164536166654F626A65637450726F766964657260310055736572446566696E656446756E6374696F6E73004D6963726F736F66742E56697375616C42617369632E4170706C69636174696F6E5365727669636573004170706C69636174696F6E42617365002E63746F72004D6963726F736F66742E56697375616C42617369632E4465766963657300436F6D70757465720053797374656D004F626A656374002E6363746F72006765745F436F6D7075746572006D5F436F6D70757465724F626A65637450726F7669646572006765745F4170706C69636174696F6E006D5F4170704F626A65637450726F76696465720055736572006765745F55736572006D5F557365724F626A65637450726F7669646572006765745F5765625365727669636573006D5F4D7957656253657276696365734F626A65637450726F7669646572004170706C69636174696F6E00576562536572766963657300457175616C73006F0047657448617368436F64650054797065004765745479706500546F537472696E67004372656174655F5F496E7374616E63655F5F005400696E7374616E636500446973706F73655F5F496E7374616E63655F5F006765745F476574496E7374616E6365004D6963726F736F66742E56697375616C42617369632E4D7953657276696365732E496E7465726E616C00436F6E7465787456616C75656031006D5F436F6E7465787400476574496E7374616E63650053797374656D2E436F6C6C656374696F6E730049456E756D657261626C65007061727365537472696E67434C5200496E70757400536570617261746F72004765744E657874546F6B656E00726F7700546865546F6B656E0053797374656D2E436F6D706F6E656E744D6F64656C00456469746F7242726F777361626C6541747472696275746500456469746F7242726F777361626C6553746174650053797374656D2E436F6465446F6D2E436F6D70696C65720047656E657261746564436F64654174747269627574650053797374656D2E446961676E6F737469637300446562756767657248696464656E417474726962757465004D6963726F736F66742E56697375616C42617369632E436F6D70696C65725365727669636573005374616E646172644D6F64756C6541747472696275746500486964654D6F64756C654E616D654174747269627574650053797374656D2E436F6D706F6E656E744D6F64656C2E44657369676E0048656C704B6579776F72644174747269627574650053797374656D2E52756E74696D652E436F6D70696C657253657276696365730052756E74696D6548656C70657273004765744F626A65637456616C75650052756E74696D655479706548616E646C65004765745479706546726F6D48616E646C6500416374697661746F7200437265617465496E7374616E6365004D7947726F7570436F6C6C656374696F6E417474726962757465006765745F56616C7565007365745F56616C75650053797374656D2E52756E74696D652E496E7465726F70536572766963657300436F6D56697369626C65417474726962757465004368617200537472696E670053706C697400436F6E76657273696F6E730053797374656D2E44617461004D6963726F736F66742E53716C5365727665722E5365727665720053716C46756E6374696F6E4174747269627574650053716C466163657441747472696275746500436F6D70696C6174696F6E52656C61786174696F6E734174747269627574650052756E74696D65436F6D7061746962696C69747941747472696275746500737472696E675F73706C697400737472696E675F73706C69742E646C6C000003200000000000E8B196BA336C1B4B9C6720D6E9E9E0940008B77A5C561934E08908B03F5F7F11D50A3A0320000103000001040000120C070615121801120C040000120807061512180112080400001211070615121801121104000012140706151218011214040800120C040800120804080012110408001214042001021C0320000804200012150320000E021E00071001011E001E000730010101101E00021300042000130007061512190113000428001300060002121D0E03060002011C100E052001011125080100010000000000052002010E0E1701000A4D7954656D706C61746507382E302E302E30000004010000000615121801120C061512180112080615121801121106151218011214040701120C040701120804070112110407011214042001010E1301000E4D792E4170706C69636174696F6E00001301000E4D792E576562536572766963657300001001000B4D792E436F6D707574657200000C0100074D792E5573657200000400011C1C03070102030701080600011215114104070112150307010E051001001E00040A011E000407011E00072004010E0E0E0E6101003453797374656D2E5765622E53657276696365732E50726F746F636F6C732E536F617048747470436C69656E7450726F746F636F6C124372656174655F5F496E7374616E63655F5F13446973706F73655F5F496E7374616E63655F5F0000000615121801130006151219011300040A0113000520010113000607021300130004200101020501000000000620011D0E1D03080703121D1D0E1D030400010E1C4F01000200540E1146696C6C526F774D6574686F644E616D650C4765744E657874546F6B656E540E0F5461626C65446566696E6974696F6E17537472696E67436F6C204E56415243484152284D41582912010001005408074D617853697A65FFFFFFFF04200101080801000800000000001E01000100540216577261704E6F6E457863657074696F6E5468726F77730100BC3000000000000000000000DE300000002000000000000000000000000000000000000000000000D03000000000000000000000000000000000000000005F436F72446C6C4D61696E006D73636F7265652E646C6C0000000000FF250020400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001000000018000080000000000000000000000000000001000100000030000080000000000000000000000000000001000000000048000000584000005C02000000000000000000005C0234000000560053005F00560045005200530049004F004E005F0049004E0046004F0000000000BD04EFFE00000100000000000000000000000000000000003F000000000000000400000002000000000000000000000000000000440000000100560061007200460069006C00650049006E0066006F00000000002400040000005400720061006E0073006C006100740069006F006E00000000000000B004BC010000010053007400720069006E006700460069006C00650049006E0066006F0000009801000001003000300030003000300034006200300000002C0002000100460069006C0065004400650073006300720069007000740069006F006E000000000020000000300008000100460069006C006500560065007200730069006F006E000000000030002E0030002E0030002E003000000044001100010049006E007400650072006E0061006C004E0061006D006500000073007400720069006E0067005F00730070006C00690074002E0064006C006C00000000002800020001004C006500670061006C0043006F0070007900720069006700680074000000200000004C00110001004F0072006900670069006E0061006C00460069006C0065006E0061006D006500000073007400720069006E0067005F00730070006C00690074002E0064006C006C0000000000340008000100500072006F006400750063007400560065007200730069006F006E00000030002E0030002E0030002E003000000038000800010041007300730065006D0062006C0079002000560065007200730069006F006E00000030002E0030002E0030002E00300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000C000000F03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
WITH PERMISSION_SET = SAFE
GO

CREATE FUNCTION [dbo].[string_split](@string [nvarchar](4000), @separator [nchar](1))
RETURNS  TABLE (
	[StringCol] [nvarchar](500) NULL
) WITH EXECUTE AS CALLER
AS 
EXTERNAL NAME [string_split].[UserDefinedFunctions].[parseStringCLR]
GO


CREATE ASSEMBLY [string_csv_sort]
FROM 0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000800000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A2400000000000000504500004C010300E2DD08520000000000000000E00002210B0108000006000000060000000000006E2400000020000000400000000040000020000000020000040000000000000004000000000000000080000000020000000000000300408500001000001000000000100000100000000000001000000000000000000000001C2400004F00000000400000C002000000000000000000000000000000000000006000000C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000080000000000000000000000082000004800000000000000000000002E7465787400000074040000002000000006000000020000000000000000000000000000200000602E72737263000000C0020000004000000004000000080000000000000000000000000000400000402E72656C6F6300000C0000000060000000020000000C0000000000000000000000000000400000420000000000000000000000000000000050240000000000004800000002000500942000008803000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001330040030000000010000110002178D060000010C0816039D086F0400000A0A06280100002B00720100007006280600000A730700000A0B2B00072A1E02280800000A2A42534A4201000100000000000C00000076322E302E35303732370000000005006C0000004C010000237E0000B80100004801000023537472696E67730000000000030000080000002355530008030000100000002347554944000000180300007000000023426C6F620000000000000002000001471502000908000000FA013300160000010000000800000002000000020000000200000008000000030000000100000001000000020000000100000000000A00010000000000060043003C000A006B0056000600B50095000600D50095000A000E01F300060023013C00060028013C00060035013C000000000001000000000001000100010010001E000000050001000100502000000000960075000A0001008C20000000008618850011000300000001008B0000000200900019008500150021008500110029008500110039002F011F0041003B01260039004001320011008500390009008500110020001B001A002E000B0047002E00130050003E0004800000000000000000000000000000000075000000020000000000000000000000010033000000000002000000000000000000000001004A00000000000B002E0000000000003C4D6F64756C653E00737472696E675F6373765F736F72742E646C6C0055736572446566696E656446756E6374696F6E73006D73636F726C69620053797374656D004F626A6563740053797374656D2E446174610053797374656D2E446174612E53716C54797065730053716C537472696E6700737472696E675F6373765F736F7274002E63746F72005F737472005F64656C0053797374656D2E52756E74696D652E436F6D70696C6572536572766963657300436F6D70696C6174696F6E52656C61786174696F6E734174747269627574650052756E74696D65436F6D7061746962696C697479417474726962757465004D6963726F736F66742E53716C5365727665722E5365727665720053716C46756E6374696F6E417474726962757465004368617200537472696E670053706C697400417272617900536F7274004A6F696E0000000000032C0000000000F80162485C511945B6CEBC113E6F0A0C0008B77A5C561934E08906000211090E0303200001042001010804010000000620011D0E1D0307100101011D1E00030A010E0600020E0E1D0E042001010E0807031D0E11091D030801000800000000001E01000100540216577261704E6F6E457863657074696F6E5468726F777301004424000000000000000000005E24000000200000000000000000000000000000000000000000000050240000000000000000000000005F436F72446C6C4D61696E006D73636F7265652E646C6C0000000000FF250020400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100100000001800008000000000000000000000000000000100010000003000008000000000000000000000000000000100000000004800000058400000640200000000000000000000640234000000560053005F00560045005200530049004F004E005F0049004E0046004F0000000000BD04EFFE00000100000000000000000000000000000000003F000000000000000400000002000000000000000000000000000000440000000100560061007200460069006C00650049006E0066006F00000000002400040000005400720061006E0073006C006100740069006F006E00000000000000B004C4010000010053007400720069006E006700460069006C00650049006E0066006F000000A001000001003000300030003000300034006200300000002C0002000100460069006C0065004400650073006300720069007000740069006F006E000000000020000000300008000100460069006C006500560065007200730069006F006E000000000030002E0030002E0030002E003000000048001400010049006E007400650072006E0061006C004E0061006D006500000073007400720069006E0067005F006300730076005F0073006F00720074002E0064006C006C0000002800020001004C006500670061006C0043006F0070007900720069006700680074000000200000005000140001004F0072006900670069006E0061006C00460069006C0065006E0061006D006500000073007400720069006E0067005F006300730076005F0073006F00720074002E0064006C006C000000340008000100500072006F006400750063007400560065007200730069006F006E00000030002E0030002E0030002E003000000038000800010041007300730065006D0062006C0079002000560065007200730069006F006E00000030002E0030002E0030002E0030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000C000000703400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
WITH PERMISSION_SET = SAFE
GO

CREATE FUNCTION [dbo].[string_csv_sort](@str [nvarchar](500), @delimiter [nchar](1))
RETURNS [nvarchar](500) WITH EXECUTE AS CALLER
AS 
EXTERNAL NAME [string_csv_sort].[UserDefinedFunctions].[string_csv_sort]
GO

CREATE ASSEMBLY [string_index]
FROM 0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000800000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A2400000000000000504500004C010300C31F99530000000000000000E00002210B0108000006000000060000000000003E240000002000000040000000004000002000000002000004000000000000000400000000000000008000000002000000000000030040850000100000100000000010000010000000000000100000000000000000000000EC2300004F00000000400000B002000000000000000000000000000000000000006000000C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000080000000000000000000000082000004800000000000000000000002E7465787400000044040000002000000006000000020000000000000000000000000000200000602E72737263000000B0020000004000000004000000080000000000000000000000000000400000402E72656C6F6300000C0000000060000000020000000C00000000000000000000000000004000004200000000000000000000000000000000202400000000000048000000020005007C200000700300000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000133002001600000001000011000203280400000A0A06049A730500000A0B2B00072A1E02280600000A2A000042534A4201000100000000000C00000076322E302E35303732370000000005006C00000044010000237E0000B00100004C01000023537472696E677300000000FC020000080000002355530004030000100000002347554944000000140300005C00000023426C6F620000000000000002000001471502000900000000FA0133001600000100000006000000020000000200000003000000060000000300000001000000010000000300000000000A0001000000000006003F0038000A00670052000600B20092000600D20092000A000B01F0000E003F0120010000000001000000000001000100010010001A000000050001000100502000000000960071000A00010072200000000086187D0012000400000001008300000002008800000003008D0019007D00160021007D00120029007D00120031004501200011007D00270009007D00120020001B001B002E000B0033002E0013003C002C000480000000000000000000000000000000007100000002000000000000000000000001002F0000000000020000000000000000000000010046000000000002000000000000000000000001003800000000000000003C4D6F64756C653E0073706C69745F696E6465782E646C6C0055736572446566696E656446756E6374696F6E73006D73636F726C69620053797374656D004F626A6563740053797374656D2E446174610053797374656D2E446174612E53716C54797065730053716C537472696E670073706C69745F696E646578002E63746F72005F737472005F64656C005F6964780053797374656D2E52756E74696D652E436F6D70696C6572536572766963657300436F6D70696C6174696F6E52656C61786174696F6E734174747269627574650052756E74696D65436F6D7061746962696C697479417474726962757465004D6963726F736F66742E53716C5365727665722E5365727665720053716C46756E6374696F6E4174747269627574650053797374656D2E546578742E526567756C617245787072657373696F6E730052656765780053706C69740000000320000000000043C64BF64977B54BB38AAB88821528C80008B77A5C561934E08907000311090E0E0803200001042001010804010000000600021D0E0E0E042001010E0607021D0E11090801000800000000001E01000100540216577261704E6F6E457863657074696F6E5468726F777301001424000000000000000000002E24000000200000000000000000000000000000000000000000000020240000000000000000000000005F436F72446C6C4D61696E006D73636F7265652E646C6C0000000000FF250020400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100100000001800008000000000000000000000000000000100010000003000008000000000000000000000000000000100000000004800000058400000540200000000000000000000540234000000560053005F00560045005200530049004F004E005F0049004E0046004F0000000000BD04EFFE00000100000000000000000000000000000000003F000000000000000400000002000000000000000000000000000000440000000100560061007200460069006C00650049006E0066006F00000000002400040000005400720061006E0073006C006100740069006F006E00000000000000B004B4010000010053007400720069006E006700460069006C00650049006E0066006F0000009001000001003000300030003000300034006200300000002C0002000100460069006C0065004400650073006300720069007000740069006F006E000000000020000000300008000100460069006C006500560065007200730069006F006E000000000030002E0030002E0030002E003000000040001000010049006E007400650072006E0061006C004E0061006D0065000000730070006C00690074005F0069006E006400650078002E0064006C006C0000002800020001004C006500670061006C0043006F0070007900720069006700680074000000200000004800100001004F0072006900670069006E0061006C00460069006C0065006E0061006D0065000000730070006C00690074005F0069006E006400650078002E0064006C006C000000340008000100500072006F006400750063007400560065007200730069006F006E00000030002E0030002E0030002E003000000038000800010041007300730065006D0062006C0079002000560065007200730069006F006E00000030002E0030002E0030002E003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000C000000403400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
WITH PERMISSION_SET = SAFE
GO

CREATE FUNCTION [dbo].[string_index](@str [nvarchar](500), @delimiter [nvarchar](100), @idx [int])
RETURNS [nvarchar](500) WITH EXECUTE AS CALLER
AS 
EXTERNAL NAME [string_index].[UserDefinedFunctions].[split_index]
GO

CREATE ASSEMBLY [string_sum]
FROM 0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000800000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A2400000000000000504500004C010300A26376500000000000000000E00002210B010800001400000006000000000000DE3200000020000000400000000040000020000000020000040000000000000004000000000000000080000000020000000000000200408500001000001000000000100000100000000000001000000000000000000000008C3200004F00000000400000B002000000000000000000000000000000000000006000000C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000080000000000000000000000082000004800000000000000000000002E74657874000000E4120000002000000014000000020000000000000000000000000000200000602E72737263000000B0020000004000000004000000160000000000000000000000000000400000402E72656C6F6300000C0000000060000000020000001A00000000000000000000000000004000004200000000000000000000000000000000C0320000000000004800000002000500C8220000C40F000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001E02280100000A2A1E02280400000A2AA6730600000A8001000004730700000A8002000004730800000A8003000004730900000A80040000042A0000133001000F000000010000117E010000046F0A00000A0A2B00062A00133001000F000000020000117E020000046F0B00000A0A2B00062A00133001000F000000030000117E030000046F0C00000A0A2B00062A00133001000F000000040000117E040000046F0D00000A0A2B00062A001330020011000000050000110203281100000A281200000A0A2B00062A000000133001000B0000000600001102281300000A0A2B00062A00133001000F00000007000011D005000002281400000A0A2B00062A00133001000B0000000800001102281500000A0A2B00062A00133001001800000009000011028C0100001B2D0A280100002B0A2B062B04020A2B00062A13300200100000000A000011031200FE150200001B06810200001B2A1E02281700000A2A133002002C0000000B000011027B1900000A6F1A00000A0B078C0300001B2D12280200002B0B027B1900000A076F1B00000A070A2B00062A4A02281700000A02731C00000A7D1900000A2A001E02281700000A2A3202732000000A7D060000042A0000009A0F01282100000A2C022B1A027B060000040F01282200000A6F2300000A1F2C6F2400000A262A004E027B06000004037B060000046F2500000A262A13300400440000000C0000117E2600000A0A027B060000042C28027B060000046F2700000A16311A027B0600000416027B060000046F2700000A17DA6F2800000A0A120206282900000A080B2B00072A4A02036F2A00000A732B00000A7D060000042A004A03027B060000046F2C00000A6F2D00000A2A0042534A4201000100000000000C00000076322E302E35303732370000000005006C00000030060000237E00009C0600002406000023537472696E677300000000C00C00000800000023555300C80C0000100000002347554944000000D80C0000EC02000023426C6F6200000000000000020000015717A20B090E000000FA013300160000010000001D000000070000000600000017000000070000000100000031000000270000000C00000002000000050000000500000002000000090000000100000004000000020000000300000002000000000012060100000000000A00AE0084000A00E200C4000600F200EB000A004A0184000600C801EB000A004A0220020E0096027B020600B302A7020E00EE02D902060029031F0306003D031F031200680352031200810352031200AE0396030600D803C5030A001704F0030A002F0413001200640447040600990479040600B704EB000600DB04EB000A00F404130006004205230506006805EB000E008B057B020E00AC057B020600B305EB000600C90579040600E905790400000000010000000000010001000000000029003700050001000100000000003A00370009000100020000011000450037000D0001000300050100004F0000000D0005000800050100005D0000000D0005000F0001200000780000000D000600110031000D012000310036012D00310058013A0031007D0147002100590290000100C1029D005020000000000618BE00130001005820000000000618BE00130001006020000000001118F900170001008C2000000000130800011B000100A820000000001308260128000100C4200000000013084F0135000100E0200000000013086D0142000100FC20000000004602B301630001001C21000000004602BC01680002003421000000008300CD016C0002005021000000004602D501710002006821000000001100DE01780002008C21000000000100FC0180000300A821000000000618BE0013000400B02100000000030810028B000400E821000000000618BE0013000400FC21000000000618BE00130004000422000000000600D402130004001422000000000600F802A10004003C220000000006000903A700050050220000000006001503AD000600A0220000000066033603B2000600B4220000000066034A03B800070000000100BA0100000100F30100000100F301000001000303000001000F03000001003B0300000100500307001D000900BE0013006100BE00BE007100BE00CD001100BE0013007900BE0013002400BE0013002C00BE0013003400BE0013003C00BE001300240010028B002C0010028B00340010028B003C0010028B008100BE0013008900BE0013009100BE0020019900A8046B011900B30163001900BC0168002900C90478011900D5017100A900E50488011900BE001300B100BE0098014400590290004C000F058B004C00190515024C00BE001300B900BE00220239003603B20039004A03B8004100BE001300490056052D0249000F057100410061053102410061053702410061053D02C1006F0543024100750568004100D50146024900BE0020015100800571004100BE0020014100D501710059004A032001C900BE005402D900BE001300E100BE00BC02E900BE0013002900830025012E008B01CA022E008301C10240002B00EB0040001300C40043001300C40043001B00D30049008300430163001300C40063001B00D30069008300360180002B00EB0083001B00D30083007300EB0083007B00EB00890083005701A0002B00EB00A3001300C400A300C300A001C0002B00EB00C3001300C400C300EB002702E0002B00EB00E30073015A0200012B00EB0000011300C40020012B00EB0020011300C40040012B00EB0040011300C40060012B00EB0060011300C40080012B00EB00A0012B00EB00C0011300C400C0012B00EB00E0012B00EB0000021300C40000022B00EB000C01110116011B01700174017F018401930193011B024C0204000100060005000000E2004F0000009B01540000004A0159000000A7015E0000006302980002000400030002000500050002000600070002000700090002000F000B0007002C003D0007002E003F00750075008800F000F700FE000501020209020480000000000000000000000000000000000706000002000000000000000000000001000A00000000000800000000000000000000000A0013000000000002000000000000000000000001006F02000000000200000000000000000000000100EB00000000000500040006000400000010000C00F101000010001900F101000000001B00F1012D008E012D0010020000003C4D6F64756C653E006D73636F726C6962004D6963726F736F66742E56697375616C4261736963004D794170706C69636174696F6E004D79004D79436F6D7075746572004D7950726F6A656374004D79576562536572766963657300546872656164536166654F626A65637450726F7669646572603100436F6E636174656E617465004D6963726F736F66742E56697375616C42617369632E4170706C69636174696F6E5365727669636573004170706C69636174696F6E42617365002E63746F72004D6963726F736F66742E56697375616C42617369632E4465766963657300436F6D70757465720053797374656D004F626A656374002E6363746F72006765745F436F6D7075746572006D5F436F6D70757465724F626A65637450726F7669646572006765745F4170706C69636174696F6E006D5F4170704F626A65637450726F76696465720055736572006765745F55736572006D5F557365724F626A65637450726F7669646572006765745F5765625365727669636573006D5F4D7957656253657276696365734F626A65637450726F7669646572004170706C69636174696F6E00576562536572766963657300457175616C73006F0047657448617368436F64650054797065004765745479706500546F537472696E67004372656174655F5F496E7374616E63655F5F005400696E7374616E636500446973706F73655F5F496E7374616E63655F5F006765745F476574496E7374616E6365004D6963726F736F66742E56697375616C42617369632E4D7953657276696365732E496E7465726E616C00436F6E7465787456616C75656031006D5F436F6E7465787400476574496E7374616E63650053797374656D2E44617461004D6963726F736F66742E53716C5365727665722E536572766572004942696E61727953657269616C697A650053797374656D2E5465787400537472696E674275696C64657200696E7465726D656469617465526573756C7400496E69740053797374656D2E446174612E53716C54797065730053716C537472696E6700416363756D756C6174650076616C7565004D65726765006F74686572005465726D696E6174650053797374656D2E494F0042696E617279526561646572005265616400720042696E61727957726974657200577269746500770053797374656D2E436F6D706F6E656E744D6F64656C00456469746F7242726F777361626C6541747472696275746500456469746F7242726F777361626C6553746174650053797374656D2E436F6465446F6D2E436F6D70696C65720047656E657261746564436F64654174747269627574650053797374656D2E446961676E6F737469637300446562756767657248696464656E417474726962757465004D6963726F736F66742E56697375616C42617369632E436F6D70696C65725365727669636573005374616E646172644D6F64756C6541747472696275746500486964654D6F64756C654E616D654174747269627574650053797374656D2E436F6D706F6E656E744D6F64656C2E44657369676E0048656C704B6579776F72644174747269627574650053797374656D2E52756E74696D652E436F6D70696C657253657276696365730052756E74696D6548656C70657273004765744F626A65637456616C75650052756E74696D655479706548616E646C65004765745479706546726F6D48616E646C6500416374697661746F7200437265617465496E7374616E6365004D7947726F7570436F6C6C656374696F6E417474726962757465006765745F56616C7565007365745F56616C75650053797374656D2E52756E74696D652E496E7465726F70536572766963657300436F6D56697369626C65417474726962757465006765745F49734E756C6C00417070656E6400537472696E6700456D707479006765745F4C656E6774680052656164537472696E670053716C55736572446566696E656441676772656761746541747472696275746500466F726D61740053657269616C697A61626C6541747472696275746500436F6D70696C6174696F6E52656C61786174696F6E734174747269627574650052756E74696D65436F6D7061746962696C69747941747472696275746500737472696E675F73756D00737472696E675F73756D2E646C6C000000000003200000000000DDCF5A8B42C7714C8C1CA2C8F5975C6E0008B77A5C561934E08908B03F5F7F11D50A3A0320000103000001040000120C070615121801120C040000120807061512180112080400001211070615121801121104000012140706151218011214040800120C040800120804080012110408001214042001021C0320000804200012150320000E021E00071001011E001E000730010101101E000213000420001300070615121901130004280013000306122105200101112505200101121C042000112505200101122905200101122D052001011135080100010000000000052002010E0E1701000A4D7954656D706C61746507382E302E302E30000004010000000615121801120C061512180112080615121801121106151218011214040701120C040701120804070112110407011214042001010E1001000B4D792E436F6D707574657200000C0100074D792E5573657200001301000E4D792E4170706C69636174696F6E00001301000E4D792E576562536572766963657300000400011C1C03070102030701080600011215115104070112150307010E051001001E00040A011E000407011E00072004010E0E0E0E6101003453797374656D2E5765622E53657276696365732E50726F746F636F6C732E536F617048747470436C69656E7450726F746F636F6C124372656174655F5F496E7374616E63655F5F13446973706F73655F5F496E7374616E63655F5F0000000615121801130006151219011300040A0113000520010113000607021300130004200101020501000000000320000205200112210E05200112210305200112211C02060E0520020E08080707030E112511250520010111696101000200000004005402124973496E76617269616E74546F4E756C6C73015402174973496E76617269616E74546F4475706C696361746573005402124973496E76617269616E74546F4F726465720054080B4D61784279746553697A65FFFFFFFF04200101080801000800000000001E01000100540216577261704E6F6E457863657074696F6E5468726F777301000000B43200000000000000000000CE320000002000000000000000000000000000000000000000000000C0320000000000000000000000005F436F72446C6C4D61696E006D73636F7265652E646C6C0000000000FF2500204000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100100000001800008000000000000000000000000000000100010000003000008000000000000000000000000000000100000000004800000058400000540200000000000000000000540234000000560053005F00560045005200530049004F004E005F0049004E0046004F0000000000BD04EFFE00000100000000000000000000000000000000003F000000000000000400000002000000000000000000000000000000440000000100560061007200460069006C00650049006E0066006F00000000002400040000005400720061006E0073006C006100740069006F006E00000000000000B004B4010000010053007400720069006E006700460069006C00650049006E0066006F0000009001000001003000300030003000300034006200300000002C0002000100460069006C0065004400650073006300720069007000740069006F006E000000000020000000300008000100460069006C006500560065007200730069006F006E000000000030002E0030002E0030002E003000000040000F00010049006E007400650072006E0061006C004E0061006D006500000073007400720069006E0067005F00730075006D002E0064006C006C00000000002800020001004C006500670061006C0043006F00700079007200690067006800740000002000000048000F0001004F0072006900670069006E0061006C00460069006C0065006E0061006D006500000073007400720069006E0067005F00730075006D002E0064006C006C0000000000340008000100500072006F006400750063007400560065007200730069006F006E00000030002E0030002E0030002E003000000038000800010041007300730065006D0062006C0079002000560065007200730069006F006E00000030002E0030002E0030002E003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000C000000E03200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
WITH PERMISSION_SET = SAFE
GO

CREATE AGGREGATE [dbo].[string_sum]
(@input [nvarchar](4000))
RETURNS[nvarchar](max)
EXTERNAL NAME [string_sum].[Concatenate]
GO


CREATE ASSEMBLY [concat_assembly]
FROM 0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000800000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A2400000000000000504500004C01030099CAAB540000000000000000E00002210B010800000A000000060000000000007E290000002000000040000000004000002000000002000004000000000000000400000000000000008000000002000000000000030040850000100000100000000010000010000000000000100000000000000000000000242900005700000000400000A002000000000000000000000000000000000000006000000C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000080000000000000000000000082000004800000000000000000000002E746578740000008409000000200000000A000000020000000000000000000000000000200000602E72737263000000A00200000040000000040000000C0000000000000000000000000000400000402E72656C6F6300000C0000000060000000020000001000000000000000000000000000004000004200000000000000000000000000000000602900000000000048000000020005000C220000180700000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000133001000B00000001000011027B030000040A2B00062A2202037D030000042A820002730900000A7D01000004027E0A00000A7D0200000402172802000006002A000000133003008000000001000011000F02280B00000A16FE010F02280C00000A6F0D00000A16FE025F16FE010A062D3700020F02280C00000A7D02000004027B010000046F0E00000A16FE0216FE010A062D13027B010000040F02280C00000A6F0F00000A2600027B010000040F01280C00000A6F0F00000A260F01280B00000A0A062D0802162802000006002A13300300510000000100001100027B010000046F0E00000A16FE020F017B010000046F0E00000A16FE025F16FE010A062D12027B01000004027B020000046F0F00000A26027B010000040F017B010000046F1000000A6F0F00000A262A00000013300200160000000200001100027B010000046F1000000A731100000A0A2B00062A00001330030039000000010000110002036F1200000A7D0200000402036F1200000A731300000A7D01000004027B010000046F0E00000A16FE010A062D0802162802000006002A860003027B020000046F1400000A0003027B010000046F1000000A6F1400000A002A0042534A4201000100000000000C00000076322E302E35303732370000000005006C0000008C020000237E0000F80200000803000023537472696E67730000000000060000080000002355530008060000100000002347554944000000180600000001000023426C6F6200000000000000020000015717A2030900000000FA0133001600000100000010000000020000000300000008000000060000000100000014000000060000000200000001000000010000000200000002000000010000000200000000000A0001000000000006002C0025000A005D00420006007A006E000A00D000BB000600FF00F50006004201F5000600E601C60106000C02C60106002A0225000A00400242000A006102420006008702680206009D0268020600A802C6010600C30225000600EC02250000000000010000000000010001000921100015000000050001000100010088000A00010095000E00010087013D005020000000008608A000110001006720000000008108AB00150001007020000000008600B6001A0002009420000000008600DA001E0002002021000000008600E500260004008021000000008600EB002C000500A42100000000E1010C0131000500E92100000000E1014F013700060000000100A60100000100AC0100000200B20100000100BC0100000100C20100000100C4010200090011003D013100110081013700390006024400410006021A00490006021A0051000602490061000602B100710006021A00190006021A007900CA020E002100A00011002100D002C0007900DA02C4001900DA02C4001900E502C8008100F302C00021000602CE002900FC02C00019000602CE0031008101CE0020004300B7002E002300E1002E001B00D80040004300B700430033004F0061004300B700BC00D3000200010000009F01400002000100030001000200030002000E0003000200100005000480000000000000000000000000000000001500000002000000000000000000000001001C0000000000020000000000000000000000010036000000000000000000003C4D6F64756C653E00636F6E6361742E646C6C00636F6E636174006D73636F726C69620053797374656D0056616C7565547970650053797374656D2E44617461004D6963726F736F66742E53716C5365727665722E536572766572004942696E61727953657269616C697A650053797374656D2E5465787400537472696E674275696C646572005F616363756D756C61746F72005F64656C696D69746572006765745F49734E756C6C007365745F49734E756C6C00496E69740053797374656D2E446174612E53716C54797065730053716C537472696E6700416363756D756C617465004D65726765005465726D696E6174650053797374656D2E494F0042696E617279526561646572004D6963726F736F66742E53716C5365727665722E5365727665722E4942696E61727953657269616C697A652E5265616400526561640042696E617279577269746572004D6963726F736F66742E53716C5365727665722E5365727665722E4942696E61727953657269616C697A652E5772697465005772697465003C49734E756C6C3E6B5F5F4261636B696E674669656C640049734E756C6C0076616C75650056616C75650044656C696D697465720047726F7570007200770053797374656D2E52756E74696D652E436F6D70696C6572536572766963657300436F6D70696C6174696F6E52656C61786174696F6E73417474726962757465002E63746F720052756E74696D65436F6D7061746962696C6974794174747269627574650053657269616C697A61626C654174747269627574650053716C55736572446566696E656441676772656761746541747472696275746500466F726D61740053797374656D2E52756E74696D652E496E7465726F705365727669636573005374727563744C61796F7574417474726962757465004C61796F75744B696E6400436F6D70696C657247656E65726174656441747472696275746500537472696E6700456D707479006765745F56616C7565006765745F4C656E67746800417070656E64004F626A65637400546F537472696E670052656164537472696E6700000003200000000000F5B6942DAE35624ABCA1882657BF52440008B77A5C561934E0890306120D02060E032000020420010102032000010720020111111111052001011108042000111105200101121505200101121902060203280002042001010805200101112D6101000200000004005402124973496E76617269616E74546F4F72646572005402124973496E76617269616E74546F4E756C6C73015402174973496E76617269616E74546F4475706C6963617465730054080B4D61784279746553697A65FFFFFFFF0520010111350401000000030701020320000E03200008052001120D0E042001010E04070111110801000800000000001E01000100540216577261704E6F6E457863657074696F6E5468726F7773014C29000000000000000000006E290000002000000000000000000000000000000000000000000000602900000000000000000000000000000000000000005F436F72446C6C4D61696E006D73636F7265652E646C6C0000000000FF25002040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100100000001800008000000000000000000000000000000100010000003000008000000000000000000000000000000100000000004800000058400000440200000000000000000000440234000000560053005F00560045005200530049004F004E005F0049004E0046004F0000000000BD04EFFE00000100000000000000000000000000000000003F000000000000000400000002000000000000000000000000000000440000000100560061007200460069006C00650049006E0066006F00000000002400040000005400720061006E0073006C006100740069006F006E00000000000000B004A4010000010053007400720069006E006700460069006C00650049006E0066006F0000008001000001003000300030003000300034006200300000002C0002000100460069006C0065004400650073006300720069007000740069006F006E000000000020000000300008000100460069006C006500560065007200730069006F006E000000000030002E0030002E0030002E003000000038000B00010049006E007400650072006E0061006C004E0061006D006500000063006F006E006300610074002E0064006C006C00000000002800020001004C006500670061006C0043006F00700079007200690067006800740000002000000040000B0001004F0072006900670069006E0061006C00460069006C0065006E0061006D006500000063006F006E006300610074002E0064006C006C0000000000340008000100500072006F006400750063007400560065007200730069006F006E00000030002E0030002E0030002E003000000038000800010041007300730065006D0062006C0079002000560065007200730069006F006E00000030002E0030002E0030002E00300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000C000000803900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
WITH PERMISSION_SET = SAFE

GO

CREATE AGGREGATE dbo.string_sum2 ( 

    @Value NVARCHAR(MAX) 
  , @Delimiter NVARCHAR(4000) 

) RETURNS NVARCHAR(MAX) 
EXTERNAL Name concat_assembly.concat; 
GO