<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Carriage Return / Multiple Line Break Issue Importing CSV File in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Carriage-Return-Multiple-Line-Break-Issue-Importing-TXT-File/m-p/421781#M280716</link>
    <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/88384"&gt;@Shmuel&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/159"&gt;@Tom&lt;/a&gt;'s solution seems very neat, but testing it I have the feeling&amp;nbsp;it misses the last input record.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;...&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Since it wrties each line as it reads it there is no way it misses any lines.&amp;nbsp; It might not write an end of line for the last record, if it did not have enough pipe characters.&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sat, 16 Dec 2017 16:07:23 GMT</pubDate>
    <dc:creator>Tom</dc:creator>
    <dc:date>2017-12-16T16:07:23Z</dc:date>
    <item>
      <title>Carriage Return / Multiple Line Break Issue Importing TXT File</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Carriage-Return-Multiple-Line-Break-Issue-Importing-TXT-File/m-p/420988#M280707</link>
      <description>&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying to import quite a large pipe-delimited txt file (approx.&amp;nbsp;18 million observations/ 17 million KB) into sas (version 9.4), but there are too many line breaks in my data to use a regular infile statement. I tried using the TERMSTR=CRLF statement initially, and this did help delete the completely empty rows, however it did not fix the rows that are misaligned.&amp;nbsp;To fully understand my issue, see attached for a simple example I created of my raw data.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regarding the sample I have attached, lines 2-5 are all the same row of data, but they are unfortunately split up like this. Does anybody have any tips for how to resolve this issue so I can potentially import a cleaner file without having to piece things back together manually?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 14 Dec 2017 14:48:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Carriage-Return-Multiple-Line-Break-Issue-Importing-TXT-File/m-p/420988#M280707</guid>
      <dc:creator>Lauren_dal</dc:creator>
      <dc:date>2017-12-14T14:48:54Z</dc:date>
    </item>
    <item>
      <title>Re: Carriage Return / Multiple Line Break Issue Importing CSV File</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Carriage-Return-Multiple-Line-Break-Issue-Importing-TXT-File/m-p/421103#M280708</link>
      <description>&lt;P&gt;I have downloaded your attachment, which looks like this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;Var1|Var2|Var3|Var4|Var5|
1000|PEONY|DIRECT SUNLIGHT|YELLOW|80.0|
1600|ROSE|NEEDS TO BE WATERED
EVERY 5 TO 7 DAYS

AND PLACED IN DIRECT SUNLIGHT|RED|125.25
1750|LILY|NOT DIRECT SUNLIGHT|WHITE|76.05
&lt;/PRE&gt;
&lt;P&gt;Lines 1 names 5 variables, suggesting each record will have 4 pipes.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Note that record 1 (line 1) and record 2 (line 2) each have a trailing pipe, yielding 5 pipes, and implying 6 pipe-delimited fields. But record 3 (lines 3 through 6) and record 4 (line 7)&amp;nbsp; do not have trailing pipes, so they have 4 pipes, implying 5 pipe-delimited fields.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Is this a transcription error, or&amp;nbsp; is it actually in the raw data you&amp;nbsp; are using?&amp;nbsp; If it's the latter get the person who made the file redo it consistently.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 14 Dec 2017 08:03:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Carriage-Return-Multiple-Line-Break-Issue-Importing-TXT-File/m-p/421103#M280708</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2017-12-14T08:03:32Z</dc:date>
    </item>
    <item>
      <title>Re: Carriage Return / Multiple Line Break Issue Importing CSV File</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Carriage-Return-Multiple-Line-Break-Issue-Importing-TXT-File/m-p/421116#M280709</link>
      <description>&lt;P&gt;try using proc import, something like this&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
proc import datafile ="C:\data.txt" out= xyz
dbms="dlm" replace;
delimiter='|';
getnames=yes;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 14 Dec 2017 09:16:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Carriage-Return-Multiple-Line-Break-Issue-Importing-TXT-File/m-p/421116#M280709</guid>
      <dc:creator>RM6</dc:creator>
      <dc:date>2017-12-14T09:16:18Z</dc:date>
    </item>
    <item>
      <title>Re: Carriage Return / Multiple Line Break Issue Importing CSV File</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Carriage-Return-Multiple-Line-Break-Issue-Importing-TXT-File/m-p/421159#M280710</link>
      <description>&lt;P&gt;It was realy a chalenge. Next code works fine with the sample.&lt;/P&gt;
&lt;P&gt;I hope you'll be able to addapt it to your input:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  format v1-v5 ; 
  retain i j v1-v5;
  length a_line  word w_next $100 
         v1 $5 v2-v4 $100  v5 $10;
  infile datalines truncover;
  link read_line;
  array vx $ v1-v5;
  i=1; 
  do until (i=6);
     word= scan(a_line,i,'|'); 
     vx(i) = word;
     if word = '' then do;
        do until (a_line ne ' ');
           link read_line;
        end;
	    if i&amp;gt;1 then i=i-1;
        do until (w_next=' ');
	       word = scan(a_line,j,'|'); 
	       w_next = scan(a_line,j+1,'|');
	       vx(i) = catx(' ',vx(i),word);
	       if w_next ne ' ' then do; i+1; j+1; end;
	    end;
     end; 
     i+1;
  end;
  output; 
  call missing(v1, v2, v3, v4, v5);
  keep v1-v5;
return;
read_line:
  N+1; j=1;
  input a_line $100.;
return;
datalines;
Var1|Var2|Var3|Var4|Var5|
1000|PEONY|DIRECT SUNLIGHT|YELLOW|80.0|
1600|ROSE|NEEDS TO BE WATERED
EVERY 5 TO 7 DAYS

AND PLACED IN DIRECT SUNLIGHT|RED|125.25
1750|LILY|NOT DIRECT SUNLIGHT|WHITE|76.05
; run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;You may want to define some variables as numeric instead of character.&lt;/P&gt;
&lt;P&gt;You may need addapt maximum length&amp;nbsp; of character variables. and&lt;/P&gt;
&lt;P&gt;to maximum number of variables per line.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;wish you success.&lt;/P&gt;</description>
      <pubDate>Thu, 14 Dec 2017 13:06:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Carriage-Return-Multiple-Line-Break-Issue-Importing-TXT-File/m-p/421159#M280710</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2017-12-14T13:06:27Z</dc:date>
    </item>
    <item>
      <title>Re: Carriage Return / Multiple Line Break Issue Importing CSV File</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Carriage-Return-Multiple-Line-Break-Issue-Importing-TXT-File/m-p/421188#M280711</link>
      <description>&lt;P&gt;Thanks so much for the reply. I realize I actually made a mistake in my data sample, it should look like this (there are no pipes at the end of the lines, just CRLF characters):&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Var1|Var2|Var3|Var4|Var5&lt;BR /&gt;1000|PEONY|DIRECT SUNLIGHT|YELLOW|80.0&lt;BR /&gt;1600|ROSE|NEEDS TO BE WATERED&lt;BR /&gt;EVERY 5 TO 7 DAYS&lt;/P&gt;&lt;P&gt;AND PLACED IN DIRECT SUNLIGHT|RED|125.25&lt;BR /&gt;1750|LILY|NOT DIRECT SUNLIGHT|WHITE|76.05&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have updated my sample data file as well.&lt;/P&gt;</description>
      <pubDate>Thu, 14 Dec 2017 14:38:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Carriage-Return-Multiple-Line-Break-Issue-Importing-TXT-File/m-p/421188#M280711</guid>
      <dc:creator>Lauren_dal</dc:creator>
      <dc:date>2017-12-14T14:38:15Z</dc:date>
    </item>
    <item>
      <title>Re: Carriage Return / Multiple Line Break Issue Importing CSV File</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Carriage-Return-Multiple-Line-Break-Issue-Importing-TXT-File/m-p/421223#M280712</link>
      <description>&lt;P&gt;Shmuel - your code seems like it will work for this data. I just tried modifying it a bit using my actual data (which the updated sample data it modeled off of) but now I am getting the following error:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ERROR: Array subscript out of range at line 661 column 29.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The line and column # change every time.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is my adaptation of the code below:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Do you see anything amiss that I am not seeing?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data encounters_test;&lt;BR /&gt;format v1-v126 ;&lt;BR /&gt;retain i j v1-v126;&lt;BR /&gt;length a_line word w_next $500&lt;BR /&gt;v1-v126 $500;&lt;BR /&gt;infile source truncover;&lt;BR /&gt;link read_line;&lt;BR /&gt;array vx $ v1-v126;&lt;BR /&gt;i=1;&lt;BR /&gt;do until (i=127);&lt;BR /&gt;word= scan(a_line,i,'|');&lt;BR /&gt;vx(i) = word;&lt;BR /&gt;if word = '' then do;&lt;BR /&gt;do until (a_line ne ' ');&lt;BR /&gt;link read_line;&lt;BR /&gt;end;&lt;BR /&gt;if i&amp;gt;1 then i=i-1;&lt;BR /&gt;do until (w_next=' ');&lt;BR /&gt;word = scan(a_line,j,'|');&lt;BR /&gt;w_next = scan(a_line,j+1,'|');&lt;BR /&gt;vx(i) = catx(' ',vx(i),word);&lt;BR /&gt;if w_next ne ' ' then do; i+1; j+1; end;&lt;BR /&gt;end;&lt;BR /&gt;end;&lt;BR /&gt;i+1;&lt;BR /&gt;end;&lt;BR /&gt;output;&lt;BR /&gt;call missing(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30,&lt;BR /&gt;v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60,&lt;BR /&gt;v61, v62, v63, v64, v65, v66, v67, v68, v69, v70, v71, v72, v73, v74, v75, v76, v77, v78, v79, v80, v81, v82, v83, v84, v85, v86, v87, v88, v89, v90,&lt;BR /&gt;v91, v92, v93, v94, v95, v96, v97, v98, v99, v100, v101, v102, v103, v104, v105, v106, v107, v108, v109, v110, v111, v112, v113, v114, v115, v116, v117, v118, v119, v120, v121, v122, v123, v124, v125, v126);&lt;BR /&gt;keep v1-v126;&lt;BR /&gt;return;&lt;BR /&gt;read_line:&lt;BR /&gt;N+1; j=1;&lt;BR /&gt;input a_line $400.;&lt;BR /&gt;return;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks again for your helpful response!&lt;/P&gt;</description>
      <pubDate>Thu, 14 Dec 2017 15:55:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Carriage-Return-Multiple-Line-Break-Issue-Importing-TXT-File/m-p/421223#M280712</guid>
      <dc:creator>Lauren_dal</dc:creator>
      <dc:date>2017-12-14T15:55:35Z</dc:date>
    </item>
    <item>
      <title>Re: Carriage Return / Multiple Line Break Issue Importing CSV File</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Carriage-Return-Multiple-Line-Break-Issue-Importing-TXT-File/m-p/421246#M280713</link>
      <description>&lt;P&gt;I would suggest counting the number of pipes and removing the line breaks when not at the end of the line.&amp;nbsp; But there are a few situations that could make that hard.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Does your actual data file ever have truncated records?&amp;nbsp; That is records that only contain some of the fields and instead of adding a number of pipe characters to the end to indicate the last few a missing the line just stops?&amp;nbsp; That will probably make just counting pipes impossible.&amp;nbsp;Does the last field on the line every have embedded line breaks?&amp;nbsp; That would also make it impossible to just count lines.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you can't count&amp;nbsp;pipes then you will need to see if you can detect the beginning of a new line. So if the first one or two fields always follow a specific pattern then you could test those for an indication that you have hit the beginning of a new record.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Does your actual data every contain any pipe characters as values?&amp;nbsp; That is a value like 'a|b'. If so it will make the process harder, but it should be possible to still parse.&amp;nbsp; Normally in a delimited file you would quote the value that contains the delimiter.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;1|"a|b"|3&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;But some systems might instead try to "escape" the delimiter.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;1|a\|b|3&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Here is a simple method to copy the file and remove embedded line breaks by just counting the number of pipes. I have it put a space before the continuation lines, but you could put some other character there.&amp;nbsp; I have it count the number of pipes in the first line and use that to drive the process of checking if the current record has enough pipes or not.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;filename fixed temp;
data _null_;
  retain maxp 0 p 0;
  infile sample ;
  file fixed ;
  input ;
  if p then put ' ' @;
  put _infile_ @;
  p+countc(_infile_,'|');
  if _n_=1 then maxp=p;
  if p&amp;gt;= maxp then do ;
    put ;
    p=0;
  end;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Since the file is large you might see if you can get a solution that does not involve making a whole new copy of the file.&amp;nbsp; So instead you might try building the full record into a string variable, then assigning the string variable back to the _INFILE_ variable and then reading the values with an INPUT statement.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 14 Dec 2017 16:44:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Carriage-Return-Multiple-Line-Break-Issue-Importing-TXT-File/m-p/421246#M280713</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2017-12-14T16:44:18Z</dc:date>
    </item>
    <item>
      <title>Re: Carriage Return / Multiple Line Break Issue Importing CSV File</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Carriage-Return-Multiple-Line-Break-Issue-Importing-TXT-File/m-p/421294#M280714</link>
      <description>&lt;P&gt;Tom - Thank you so much for sending this code! I think it completely resolved the issue with the data!&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My understanding of the code is that for the lines that have less than the max # of pipes, it is replacing the extra CRLF characters at the end those&amp;nbsp;lines with a space so that the data can then import properly.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks so much!&lt;/P&gt;</description>
      <pubDate>Thu, 14 Dec 2017 18:47:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Carriage-Return-Multiple-Line-Break-Issue-Importing-TXT-File/m-p/421294#M280714</guid>
      <dc:creator>Lauren_dal</dc:creator>
      <dc:date>2017-12-14T18:47:36Z</dc:date>
    </item>
    <item>
      <title>Re: Carriage Return / Multiple Line Break Issue Importing CSV File</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Carriage-Return-Multiple-Line-Break-Issue-Importing-TXT-File/m-p/421773#M280715</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/159"&gt;@Tom&lt;/a&gt;'s solution seems very neat, but testing it I have the feeling&amp;nbsp;it misses the last input record.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have not found any failure in your addapted code, but make some light changes&lt;/P&gt;
&lt;P&gt;and added some debuging tools:&lt;/P&gt;
&lt;P&gt;- defined MAX_V macro variable set to 126 - number of variables.&lt;/P&gt;
&lt;P&gt;- added put to log statement =&amp;nbsp;&lt;STRONG&gt;N=&lt;/STRONG&gt; input record number every 20th record.&lt;/P&gt;
&lt;P&gt;- replaced the call missing statement with a do loop.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please run the next code and, in case of "&lt;STRONG&gt;&lt;SPAN&gt;ERROR: Array subscript out of rang" &lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;post the full log and the input records that cause the ERROR (from record N= to N+20)&lt;/P&gt;
&lt;P&gt;or you may change the debuging statement to:&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;/*debug*/ if N ge &amp;lt;last value in log&amp;gt; then put a_line=;&lt;/PRE&gt;
&lt;P&gt;and rerun.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Having the log and the input records that caused the error - then I'll be able to fix the code.&lt;/P&gt;</description>
      <pubDate>Sat, 16 Dec 2017 11:41:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Carriage-Return-Multiple-Line-Break-Issue-Importing-TXT-File/m-p/421773#M280715</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2017-12-16T11:41:59Z</dc:date>
    </item>
    <item>
      <title>Re: Carriage Return / Multiple Line Break Issue Importing CSV File</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Carriage-Return-Multiple-Line-Break-Issue-Importing-TXT-File/m-p/421781#M280716</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/88384"&gt;@Shmuel&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/159"&gt;@Tom&lt;/a&gt;'s solution seems very neat, but testing it I have the feeling&amp;nbsp;it misses the last input record.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;...&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Since it wrties each line as it reads it there is no way it misses any lines.&amp;nbsp; It might not write an end of line for the last record, if it did not have enough pipe characters.&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 16 Dec 2017 16:07:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Carriage-Return-Multiple-Line-Break-Issue-Importing-TXT-File/m-p/421781#M280716</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2017-12-16T16:07:23Z</dc:date>
    </item>
  </channel>
</rss>

