def block str
      return str unless self.class.const_defined?(:BLOCK_TAGS)
      result = str.dup
      self.class::BLOCK_TAGS.each { |tag, value|
        result.gsub!(/(#{tag})(.*?)(?:#{tag}|\Z)/m) { |m|
          %Q{

#{$1} #{Base64.encode64($2).carriage(false).bowl}

}
        }
      }
      result
    end
def block str
      return str unless self.class.const_defined?(:BLOCK_TAGS)
      result = str.dup
      self.class::BLOCK_TAGS.each { |tag, value|
        result.gsub!(/(#{tag})(.*?)(?:#{tag}|\Z)/m) { |m|
          %Q{

#{$1} #{Base64.encode64($2).carriage(false).bowl}

}
        }
      }
      result
    end
Prepares blocks in the input for the execution