From 5f0d334b8dfb3dac217ca99d9a77912f6f211c81 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Mon, 17 Apr 2023 10:59:28 +0100 Subject: [PATCH 01/54] Swift: Add basic-query-for-swift-code.rst. --- .../basic-query-for-swift-code.rst | 130 ++++++++++++++++++ .../codeql-for-swift.rst | 13 ++ docs/codeql/codeql-language-guides/index.rst | 1 + 3 files changed, 144 insertions(+) create mode 100644 docs/codeql/codeql-language-guides/basic-query-for-swift-code.rst create mode 100644 docs/codeql/codeql-language-guides/codeql-for-swift.rst diff --git a/docs/codeql/codeql-language-guides/basic-query-for-swift-code.rst b/docs/codeql/codeql-language-guides/basic-query-for-swift-code.rst new file mode 100644 index 00000000000..41208d7e6a5 --- /dev/null +++ b/docs/codeql/codeql-language-guides/basic-query-for-swift-code.rst @@ -0,0 +1,130 @@ +.. _basic-query-for-swift-code: + +Basic query for Swift code +========================= + +Learn to write and run a simple CodeQL query using Visual Studio Code with the CodeQL extension. + +.. include:: ../reusables/vs-code-basic-instructions/setup-to-run-queries.rst + +About the query +--------------- + +The query we're going to run performs a basic search of the code for ``if`` expressions that are redundant, in the sense that they have an empty ``then`` branch. For example, code such as: + +.. code-block:: swift + + if error { + // we should handle the error + } + +.. include:: ../reusables/vs-code-basic-instructions/find-database.rst + +Running a quick query +--------------------- + +.. include:: ../reusables/vs-code-basic-instructions/run-quick-query-1.rst + +#. In the quick query tab, delete the content and paste in the following query. + + .. code-block:: ql + + import swift + + from IfStmt ifStmt + where ifStmt.getThen().(BraceStmt).getNumberOfElements() = 0 + select ifStmt, "This 'if' statement is redundant." + +.. include:: ../reusables/vs-code-basic-instructions/run-quick-query-2.rst + +.. image:: ../images/codeql-for-visual-studio-code/basic-swift-query-results-1.png + :align: center + +If any matching code is found, click a link in the ``ifStmt`` column to open the file and highlight the matching ``if`` statement. + +.. image:: ../images/codeql-for-visual-studio-code/basic-swift-query-results-2.png + :align: center + +.. include:: ../reusables/vs-code-basic-instructions/note-store-quick-query.rst + +About the query structure +~~~~~~~~~~~~~~~~~~~~~~~~~ + +After the initial ``import`` statement, this simple query comprises three parts that serve similar purposes to the FROM, WHERE, and SELECT parts of an SQL query. + ++------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ +| Query part | Purpose | Details | ++==================================================================+===================================================================================================================+=================================================================================================+ +| ``import swift`` | Imports the standard CodeQL AST libraries for Swift. | Every query begins with one or more ``import`` statements. | ++------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ +| ``from IfStmt ifStmt`` | Defines the variables for the query. | We use: an ``IfStmt`` variable for ``if`` statements. | +| | Declarations are of the form: | | +| | `` `` | | ++------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ +| ``where ifStmt.getThen().(BraceStmt).getNumberOfElements() = 0`` | Defines a condition on the variables. | ``ifStmt.getThen()``: gets the ``then`` branch of the ``if`` expression. | +| | | ``.(BraceStmt)``: requires that the ``then`` branch is a brace statement (``{ }``). | +| | | ``.getNumberOfElements() = 0``: requires that the brace statement contains no child statements. | ++------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ +| ``select ifStmt, "This 'if' statement is redundant."`` | Defines what to report for each match. | Reports the resulting ``if`` statement with a string that explains the problem. | +| | | | +| | ``select`` statements for queries that are used to find instances of poor coding practice are always in the form: | | +| | ``select , ""`` | | ++------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ + +Extend the query +---------------- + +Query writing is an inherently iterative process. You write a simple query and then, when you run it, you discover examples that you had not previously considered, or opportunities for improvement. + +Remove false positive results +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Browsing the results of our basic query shows that it could be improved. Among the results you are likely to find examples of ``if`` statements with an ``else`` branch, where an empty ``then`` branch does serve a purpose. For example: + +.. code-block:: swift + + if (option == "-verbose") { + // nothing to do - handled earlier + } else { + handleError("unrecognized option") + } + +In this case, identifying the ``if`` statement with the empty ``then`` branch as redundant is a false positive. One solution to this is to modify the query to select ``if`` statements where both the ``then`` and ``else`` branches are missing. + +To exclude ``if`` statements that have an ``else`` branch: + +#. Add the following to the where clause: + + .. code-block:: ql + + and not exists(ifStmt.getElse()) + + The ``where`` clause is now: + + .. code-block:: ql + + where + ifStmt.getThen().(BraceStmt).getNumberOfElements() = 0 and + not exists(ifStmt.getElse()) + +#. Re-run the query. + + There are now fewer results because ``if`` expressions with an ``else`` branch are no longer included. + +Further reading +--------------- + +.. include:: ../reusables/swift-further-reading.rst +.. include:: ../reusables/codeql-ref-tools-further-reading.rst + +.. Article-specific substitutions for the reusables used in docs/codeql/reusables/vs-code-basic-instructions + +.. |language-text| replace:: Swift + +.. |language-code| replace:: ``swift`` + +.. |example-url| replace:: https://github.com/alamofire/alamofire + +.. |image-quick-query| image:: ../images/codeql-for-visual-studio-code/quick-query-tab-swift.png + +.. |result-col-1| replace:: The first column corresponds to the expression ``ifStmt`` and is linked to the location in the source code of the project where ``ifStmt`` occurs. diff --git a/docs/codeql/codeql-language-guides/codeql-for-swift.rst b/docs/codeql/codeql-language-guides/codeql-for-swift.rst new file mode 100644 index 00000000000..ccb3499b727 --- /dev/null +++ b/docs/codeql/codeql-language-guides/codeql-for-swift.rst @@ -0,0 +1,13 @@ +.. _codeql-for-swift: + +CodeQL for Swift +=============== + +Experiment and learn how to write effective and efficient queries for CodeQL databases generated from Swift codebases. + +.. toctree:: + :hidden: + + basic-query-for-swift-code + +- :doc:`Basic query for Swift code `: Learn to write and run a simple CodeQL query. diff --git a/docs/codeql/codeql-language-guides/index.rst b/docs/codeql/codeql-language-guides/index.rst index 79f3f79ac54..2b4fabc01a7 100644 --- a/docs/codeql/codeql-language-guides/index.rst +++ b/docs/codeql/codeql-language-guides/index.rst @@ -14,3 +14,4 @@ Experiment and learn how to write effective and efficient queries for CodeQL dat codeql-for-javascript codeql-for-python codeql-for-ruby + codeql-for-swift From f2cb2b324ee85a2d23fe7316e4d8208c21509080 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Tue, 18 Apr 2023 13:24:14 +0100 Subject: [PATCH 02/54] Swift: Add analyzing-data-flow-in-swift.rst --- .../analyzing-data-flow-in-swift.rst | 290 ++++++++++++++++++ .../codeql-for-swift.rst | 3 + 2 files changed, 293 insertions(+) create mode 100644 docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst diff --git a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst new file mode 100644 index 00000000000..69b42f327d8 --- /dev/null +++ b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst @@ -0,0 +1,290 @@ +.. _analyzing-data-flow-in-swift: + +Analyzing data flow in Swift +============================ + +You can use CodeQL to track the flow of data through a Swift program to places where the data is used. + +About this article +------------------ + +This article describes how data flow analysis is implemented in the CodeQL libraries for Swift and includes examples to help you write your own data flow queries. +The following sections describe how to use the libraries for local data flow, global data flow, and taint tracking. +For a more general introduction to modeling data flow, see ":ref:`About data flow analysis `." + +Local data flow +--------------- + +Local data flow tracks the flow of data within a single method or callable. Local data flow is easier, faster, and more precise than global data flow. Before looking at more complex tracking, you should always consider local tracking because it is sufficient for many queries. + +Using local data flow +~~~~~~~~~~~~~~~~~~~~~ + +You can use the local data flow library by importing the ``DataFlow`` module. The library uses the class ``Node`` to represent any element through which data can flow. +The ``Node`` class has a number of useful subclasses, such as ``ExprNode`` for expressions and ``ParameterNode`` for parameters. You can map between data flow nodes and expressions/control-flow nodes using the member predicates ``asExpr`` and ``getCfgNode``: + +.. code-block:: ql + + class Node { + /** + * Gets this node's underlying expression, if any. + */ + Expr asExpr() { none() } + + /** + * Gets this data flow node's corresponding control flow node. + */ + ControlFlowNode getCfgNode() { none() } + + ... + } + +You can use the predicates ``exprNode`` and ``parameterNode`` to map from expressions and parameters to their data-flow node: + +.. code-block:: ql + + /** Gets a node corresponding to expression `e`. */ + ExprNode exprNode(DataFlowExpr e) { result.asExpr() = e } + + /** + * Gets the node corresponding to the value of parameter `p` at function entry. + */ + ParameterNode parameterNode(DataFlowParameter p) { result.getParameter() = p } + +There can be multiple data-flow nodes associated with a single expression node in the AST. + +The predicate ``localFlowStep(Node nodeFrom, Node nodeTo)`` holds if there is an immediate data flow edge from the node ``nodeFrom`` to the node ``nodeTo``. +You can apply the predicate recursively, by using the ``+`` and ``*`` operators, or you can use the predefined recursive predicate ``localFlow``. + +For example, you can find flow from an expression ``source`` to an expression ``sink`` in zero or more local steps: + +.. code-block:: ql + + DataFlow::localFlow(DataFlow::exprNode(source), DataFlow::exprNode(sink)) + +Using local taint tracking +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Local taint tracking extends local data flow to include flow steps where values are not preserved, for example, string manipulation. +For example: + +.. code-block:: swift + + temp = x + y = temp + ", " + temp + +If ``x`` is a tainted string then ``y`` is also tainted. + +The local taint tracking library is in the module ``TaintTracking``. +Like local data flow, a predicate ``localTaintStep(DataFlow::Node nodeFrom, DataFlow::Node nodeTo)`` holds if there is an immediate taint propagation edge from the node ``nodeFrom`` to the node ``nodeTo``. +You can apply the predicate recursively, by using the ``+`` and ``*`` operators, or you can use the predefined recursive predicate ``localTaint``. + +For example, you can find taint propagation from an expression ``source`` to an expression ``sink`` in zero or more local steps: + +.. code-block:: ql + + TaintTracking::localTaint(DataFlow::exprNode(source), DataFlow::exprNode(sink)) + +Examples of local data flow +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This query finds the ``format`` argument passed into each call to ``String.init(format:_:)``: + +.. code-block:: ql + + import swift + + from CallExpr call, MethodDecl method + where + call.getStaticTarget() = method and + method.hasQualifiedName("String", "init(format:_:)") + select call.getArgument(0).getExpr() + +Unfortunately this will only give the expression in the argument, not the values which could be passed to it. +So we use local data flow to find all expressions that flow into the argument: + +.. code-block:: ql + + import swift + import codeql.swift.dataflow.DataFlow + + from CallExpr call, MethodDecl method, Expr sourceExpr, Expr sinkExpr + where + call.getStaticTarget() = method and + method.hasQualifiedName("String", "init(format:_:)") and + sinkExpr = call.getArgument(0).getExpr() and + DataFlow::localFlow(DataFlow::exprNode(sourceExpr), DataFlow::exprNode(sinkExpr)) + select sourceExpr, sinkExpr + +We can vary the source, for example, making the source the parameter of a function rather than an expression. The following query finds where a parameter is used for the format: + +.. code-block:: ql + + import swift + import codeql.swift.dataflow.DataFlow + + from CallExpr call, MethodDecl method, ParamDecl sourceParam, Expr sinkExpr + where + call.getStaticTarget() = method and + method.hasQualifiedName("String", "init(format:_:)") and + sinkExpr = call.getArgument(0).getExpr() and + DataFlow::localFlow(DataFlow::parameterNode(sourceParam), DataFlow::exprNode(sinkExpr)) + select sourceParam, sinkExpr + +The following example finds calls to ``String.init(format:_:)`` where the format string is not a hard-coded string literal: + +.. code-block:: ql + + import swift + import codeql.swift.dataflow.DataFlow + + from CallExpr call, MethodDecl method, Expr sinkExpr + where + call.getStaticTarget() = method and + method.hasQualifiedName("String", "init(format:_:)") and + sinkExpr = call.getArgument(0).getExpr() and + not exists(StringLiteralExpr sourceLiteral | + DataFlow::localFlow(DataFlow::exprNode(sourceLiteral), DataFlow::exprNode(sinkExpr)) + ) + select call, "Format argument to " + method.getName() + " isn't hard-coded." + +Global data flow +---------------- + +Global data flow tracks data flow throughout the entire program, and is therefore more powerful than local data flow. +However, global data flow is less precise than local data flow, and the analysis typically requires significantly more time and memory to perform. + +.. pull-quote:: Note + + .. include:: ../reusables/path-problem.rst + +Using global data flow +~~~~~~~~~~~~~~~~~~~~~~ + +You can use the global data flow library by implementing the module ``DataFlow::ConfigSig``: + +.. code-block:: ql + + import codeql.swift.dataflow.DataFlow + + module MyDataFlowConfiguration implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { + ... + } + + predicate isSink(DataFlow::Node sink) { + ... + } + } + + module MyDataFlow = DataFlow::Global; + +These predicates are defined in the configuration: + +- ``isSource`` - defines where data may flow from. +- ``isSink`` - defines where data may flow to. +- ``isBarrier`` - optionally, restricts the data flow. +- ``isAdditionalFlowStep`` - optionally, adds additional flow steps. + +The last line (``module MyDataFlow = ...``) performs data flow analysis using the configuration, and its results can be accessed with ``MyDataFlow::flow(DataFlow::Node source, DataFlow::Node sink)``: + +.. code-block:: ql + + from DataFlow::Node source, DataFlow::Node sink + where MyDataFlow::flow(source, sink) + select source, "Dataflow to $@.", sink, sink.toString() + +Using global taint tracking +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Global taint tracking is to global data flow what local taint tracking is to local data flow. +That is, global taint tracking extends global data flow with additional non-value-preserving steps. +The global taint tracking library uses the same configuration module as the global data flow library but taint flow analysis is performed with ``TaintTracking::Global``: + +.. code-block:: ql + + module MyTaintFlow = TaintTracking::Global; + + from DataFlow::Node source, DataFlow::Node sink + where MyTaintFlow::flow(source, sink) + select source, "Taint flow to $@.", sink, sink.toString() + +Predefined sources and sinks +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The data flow library module ``codeql.swift.dataflow.FlowSources`` contains a number of predefined sources and sinks, providing a good starting point for defining data flow and taint flow based security queries. + +- The class ``RemoteFlowSource`` represents data flow from remote network inputs and from other applications. +- The class ``LocalFlowSource`` represents data flow from local user input. +- The class ``FlowSource`` includes both of the above. + +Examples of global data flow +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The following global taint-tracking query finds places where a string literal is used in a function call argument called "password". + - Since this is a taint-tracking query, the ``TaintTracking::Global`` module is used. + - The ``isSource`` predicate defines sources as any ``StringLiteralExpr``. + - The ``isSink`` predicate defines sinks as arguments to a ``CallExpr`` called "password". + - The sources and sinks may need tuning to a particular use case, for example if passwords are represented by a type other than ``String`` or passed in arguments of a different name than "password". + +.. code-block:: ql + + import swift + import codeql.swift.dataflow.DataFlow + import codeql.swift.dataflow.TaintTracking + + module ConstantPasswordConfig implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node node) { node.asExpr() instanceof StringLiteralExpr } + + predicate isSink(DataFlow::Node node) { + // any argument called `password` + exists(CallExpr call | call.getArgumentWithLabel("password").getExpr() = node.asExpr()) + } + + module ConstantPasswordFlow = TaintTracking::Global; + + from DataFlow::Node sourceNode, DataFlow::Node sinkNode + where ConstantPasswordFlow::flow(sourceNode, sinkNode) + select sinkNode, sourceNode, sinkNode, + "The value '" + sourceNode.toString() + "' is used as a constant password." + + +The following global taint-tracking query finds places where a value from a remote or local user input is used as an argument to the SQLite ``Connection.execute(_:)`` function. + - Since this is a taint-tracking query, the ``TaintTracking::Global`` module is used. + - The ``isSource`` predicate defines sources as a ``FlowSource`` (remote or local user input). + - The ``isSink`` predicate defines sinks as the first argument in any call to ``Connection.execute(_:)``. + +.. code-block:: ql + + + import swift + import codeql.swift.dataflow.DataFlow + import codeql.swift.dataflow.TaintTracking + import codeql.swift.dataflow.FlowSources + + module SqlInjectionConfig implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node node) { node instanceof FlowSource } + + predicate isSink(DataFlow::Node node) { + exists(CallExpr call | + call.getStaticTarget().(MethodDecl).hasQualifiedName("Connection", ["execute(_:)"]) and + call.getArgument(0).getExpr() = node.asExpr() + ) + } + } + + module SqlInjectionFlow = TaintTracking::Global; + + from DataFlow::Node sourceNode, DataFlow::Node sinkNode + where SqlInjectionFlow::flow(sourceNode, sinkNode) + select sinkNode, sourceNode, sinkNode, "This query depends on a $@.", sourceNode, + "user-provided value" + +Further reading +--------------- + +- ":ref:`Exploring data flow with path queries `" + + +.. include:: ../reusables/swift-further-reading.rst +.. include:: ../reusables/codeql-ref-tools-further-reading.rst diff --git a/docs/codeql/codeql-language-guides/codeql-for-swift.rst b/docs/codeql/codeql-language-guides/codeql-for-swift.rst index ccb3499b727..d43688921cf 100644 --- a/docs/codeql/codeql-language-guides/codeql-for-swift.rst +++ b/docs/codeql/codeql-language-guides/codeql-for-swift.rst @@ -9,5 +9,8 @@ Experiment and learn how to write effective and efficient queries for CodeQL dat :hidden: basic-query-for-swift-code + analyzing-data-flow-in-swift - :doc:`Basic query for Swift code `: Learn to write and run a simple CodeQL query. + +- :doc:`Analyzing data flow in Swift `: You can use CodeQL to track the flow of data through a Swift program to places where the data is used. From 5e7159f80045b44351562230db923043f2e8be02 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 26 Apr 2023 18:49:24 +0100 Subject: [PATCH 03/54] Swift: Minor edits. --- .../analyzing-data-flow-in-swift.rst | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst index 69b42f327d8..90576aac9f1 100644 --- a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst +++ b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst @@ -15,7 +15,7 @@ For a more general introduction to modeling data flow, see ":ref:`About data flo Local data flow --------------- -Local data flow tracks the flow of data within a single method or callable. Local data flow is easier, faster, and more precise than global data flow. Before looking at more complex tracking, you should always consider local tracking because it is sufficient for many queries. +Local data flow tracks the flow of data within a single function. Local data flow is easier, faster, and more precise than global data flow. Before looking at more complex tracking, you should always consider local tracking because it is sufficient for many queries. Using local data flow ~~~~~~~~~~~~~~~~~~~~~ @@ -36,7 +36,7 @@ The ``Node`` class has a number of useful subclasses, such as ``ExprNode`` for e */ ControlFlowNode getCfgNode() { none() } - ... + ... } You can use the predicates ``exprNode`` and ``parameterNode`` to map from expressions and parameters to their data-flow node: @@ -65,7 +65,7 @@ For example, you can find flow from an expression ``source`` to an expression `` Using local taint tracking ~~~~~~~~~~~~~~~~~~~~~~~~~~ -Local taint tracking extends local data flow to include flow steps where values are not preserved, for example, string manipulation. +Local taint tracking extends local data flow to include flow steps where values are not preserved, such as string manipulation. For example: .. code-block:: swift @@ -209,10 +209,10 @@ The global taint tracking library uses the same configuration module as the glob where MyTaintFlow::flow(source, sink) select source, "Taint flow to $@.", sink, sink.toString() -Predefined sources and sinks +Predefined sources ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The data flow library module ``codeql.swift.dataflow.FlowSources`` contains a number of predefined sources and sinks, providing a good starting point for defining data flow and taint flow based security queries. +The data flow library module ``codeql.swift.dataflow.FlowSources`` contains a number of predefined sources, providing a good starting point for defining data flow and taint flow based security queries. - The class ``RemoteFlowSource`` represents data flow from remote network inputs and from other applications. - The class ``LocalFlowSource`` represents data flow from local user input. @@ -221,11 +221,11 @@ The data flow library module ``codeql.swift.dataflow.FlowSources`` contains a nu Examples of global data flow ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The following global taint-tracking query finds places where a string literal is used in a function call argument called "password". +The following global taint-tracking query finds places where a string literal is used in a function call argument named "password". - Since this is a taint-tracking query, the ``TaintTracking::Global`` module is used. - The ``isSource`` predicate defines sources as any ``StringLiteralExpr``. - The ``isSink`` predicate defines sinks as arguments to a ``CallExpr`` called "password". - - The sources and sinks may need tuning to a particular use case, for example if passwords are represented by a type other than ``String`` or passed in arguments of a different name than "password". + - The sources and sinks may need tuning to a particular use, for example if passwords are represented by a type other than ``String`` or passed in arguments of a different name than "password". .. code-block:: ql @@ -245,8 +245,7 @@ The following global taint-tracking query finds places where a string literal is from DataFlow::Node sourceNode, DataFlow::Node sinkNode where ConstantPasswordFlow::flow(sourceNode, sinkNode) - select sinkNode, sourceNode, sinkNode, - "The value '" + sourceNode.toString() + "' is used as a constant password." + select sinkNode, "The value '" + sourceNode.toString() + "' is used as a constant password." The following global taint-tracking query finds places where a value from a remote or local user input is used as an argument to the SQLite ``Connection.execute(_:)`` function. @@ -256,7 +255,6 @@ The following global taint-tracking query finds places where a value from a remo .. code-block:: ql - import swift import codeql.swift.dataflow.DataFlow import codeql.swift.dataflow.TaintTracking @@ -277,8 +275,7 @@ The following global taint-tracking query finds places where a value from a remo from DataFlow::Node sourceNode, DataFlow::Node sinkNode where SqlInjectionFlow::flow(sourceNode, sinkNode) - select sinkNode, sourceNode, sinkNode, "This query depends on a $@.", sourceNode, - "user-provided value" + select sinkNode, "This query depends on a $@.", sourceNode, "user-provided value" Further reading --------------- From 08854136fe300df35c6dc69f3f22eb6927c1621b Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Thu, 27 Apr 2023 13:55:09 +0100 Subject: [PATCH 04/54] Swift: QLDoc consistency. --- .../codeql-language-guides/analyzing-data-flow-in-swift.rst | 4 +++- .../ql/lib/codeql/swift/dataflow/internal/DataFlowPublic.qll | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst index 90576aac9f1..6ba39061232 100644 --- a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst +++ b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst @@ -43,7 +43,9 @@ You can use the predicates ``exprNode`` and ``parameterNode`` to map from expres .. code-block:: ql - /** Gets a node corresponding to expression `e`. */ + /** + * Gets a node corresponding to expression `e`. + */ ExprNode exprNode(DataFlowExpr e) { result.asExpr() = e } /** diff --git a/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowPublic.qll b/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowPublic.qll index 6d3db9c04fa..74779ea3b37 100644 --- a/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowPublic.qll +++ b/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowPublic.qll @@ -129,7 +129,9 @@ class PostUpdateNode extends Node instanceof PostUpdateNodeImpl { Node getPreUpdateNode() { result = super.getPreUpdateNode() } } -/** Gets a node corresponding to expression `e`. */ +/** + * Gets a node corresponding to expression `e`. + */ ExprNode exprNode(DataFlowExpr e) { result.asExpr() = e } /** From e2e8e5ddd35c274ac3fa5ae7db9ea01e71a63b09 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Thu, 27 Apr 2023 13:58:41 +0100 Subject: [PATCH 05/54] Swift: Add swift-further-reading.rst --- docs/codeql/reusables/swift-further-reading.rst | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 docs/codeql/reusables/swift-further-reading.rst diff --git a/docs/codeql/reusables/swift-further-reading.rst b/docs/codeql/reusables/swift-further-reading.rst new file mode 100644 index 00000000000..306bc0fa0c0 --- /dev/null +++ b/docs/codeql/reusables/swift-further-reading.rst @@ -0,0 +1,4 @@ +- `CodeQL queries for Swift `__ +- `Example queries for Swift `__ +- `CodeQL library reference for Swift `__ + From 74274e834ec584260737d3f5bc9d100931e9b9d9 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Thu, 27 Apr 2023 16:47:26 +0100 Subject: [PATCH 06/54] Swift: Add the four complete examples from the doc pages to the examples directory. --- swift/ql/examples/snippets/empty_if.ql | 15 ++++++++++ .../snippets/simple_constant_password.ql | 26 ++++++++++++++++ .../examples/snippets/simple_sql_injection.ql | 30 +++++++++++++++++++ .../simple_uncontrolled_string_format.ql | 20 +++++++++++++ 4 files changed, 91 insertions(+) create mode 100644 swift/ql/examples/snippets/empty_if.ql create mode 100644 swift/ql/examples/snippets/simple_constant_password.ql create mode 100644 swift/ql/examples/snippets/simple_sql_injection.ql create mode 100644 swift/ql/examples/snippets/simple_uncontrolled_string_format.ql diff --git a/swift/ql/examples/snippets/empty_if.ql b/swift/ql/examples/snippets/empty_if.ql new file mode 100644 index 00000000000..6dd1c2ee1f0 --- /dev/null +++ b/swift/ql/examples/snippets/empty_if.ql @@ -0,0 +1,15 @@ +/** + * @name Empty 'if' statement + * @description Finds 'if' statements where the "then" branch is empty and no + * "else" branch exists. + * @id swift/examples/empty-if + * @tags example + */ + +import swift + +from IfStmt ifStmt +where + ifStmt.getThen().(BraceStmt).getNumberOfElements() = 0 and + not exists(ifStmt.getElse()) +select ifStmt, "This 'if' statement is redundant." diff --git a/swift/ql/examples/snippets/simple_constant_password.ql b/swift/ql/examples/snippets/simple_constant_password.ql new file mode 100644 index 00000000000..b101d700ec3 --- /dev/null +++ b/swift/ql/examples/snippets/simple_constant_password.ql @@ -0,0 +1,26 @@ +/** + * @name Constant password + * @description Finds places where a string literal is used in a function call + * argument named "password". + * @id swift/examples/simple-constant-password + * @tags example + */ + +import swift +import codeql.swift.dataflow.DataFlow +import codeql.swift.dataflow.TaintTracking + +module ConstantPasswordConfig implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node node) { node.asExpr() instanceof StringLiteralExpr } + + predicate isSink(DataFlow::Node node) { + // any argument called `password` + exists(CallExpr call | call.getArgumentWithLabel("password").getExpr() = node.asExpr()) + } +} + +module ConstantPasswordFlow = TaintTracking::Global; + +from DataFlow::Node sourceNode, DataFlow::Node sinkNode +where ConstantPasswordFlow::flow(sourceNode, sinkNode) +select sinkNode, "The value '" + sourceNode.toString() + "' is used as a constant password." diff --git a/swift/ql/examples/snippets/simple_sql_injection.ql b/swift/ql/examples/snippets/simple_sql_injection.ql new file mode 100644 index 00000000000..6aaa3a50701 --- /dev/null +++ b/swift/ql/examples/snippets/simple_sql_injection.ql @@ -0,0 +1,30 @@ +/** + * @name Database query built from user-controlled sources + * @description Finds places where a value from a remote or local user input + * is used as an argument to the SQLite ``Connection.execute(_:)`` + * function. + * @id swift/examples/simple-sql-injection + * @tags example + */ + +import swift +import codeql.swift.dataflow.DataFlow +import codeql.swift.dataflow.TaintTracking +import codeql.swift.dataflow.FlowSources + +module SqlInjectionConfig implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node node) { node instanceof FlowSource } + + predicate isSink(DataFlow::Node node) { + exists(CallExpr call | + call.getStaticTarget().(MethodDecl).hasQualifiedName("Connection", ["execute(_:)"]) and + call.getArgument(0).getExpr() = node.asExpr() + ) + } +} + +module SqlInjectionFlow = TaintTracking::Global; + +from DataFlow::Node sourceNode, DataFlow::Node sinkNode +where SqlInjectionFlow::flow(sourceNode, sinkNode) +select sinkNode, "This query depends on a $@.", sourceNode, "user-provided value" diff --git a/swift/ql/examples/snippets/simple_uncontrolled_string_format.ql b/swift/ql/examples/snippets/simple_uncontrolled_string_format.ql new file mode 100644 index 00000000000..ea4f34a1a9f --- /dev/null +++ b/swift/ql/examples/snippets/simple_uncontrolled_string_format.ql @@ -0,0 +1,20 @@ +/** + * @name Uncontrolled format string + * @description Finds calls to ``String.init(format:_:)`` where the format + * string is not a hard-coded string literal. + * @id swift/examples/simple-uncontrolled-format-string + * @tags example + */ + +import swift +import codeql.swift.dataflow.DataFlow + +from CallExpr call, MethodDecl method, Expr sinkExpr +where + call.getStaticTarget() = method and + method.hasQualifiedName("String", "init(format:_:)") and + sinkExpr = call.getArgument(0).getExpr() and + not exists(StringLiteralExpr sourceLiteral | + DataFlow::localFlow(DataFlow::exprNode(sourceLiteral), DataFlow::exprNode(sinkExpr)) + ) +select call, "Format argument to " + method.getName() + " isn't hard-coded." From 837f16c212bc405641d9007fc3e641003132b4ed Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Fri, 28 Apr 2023 12:15:51 +0100 Subject: [PATCH 07/54] Swift: Address singleton set literal warning --- .../codeql-language-guides/analyzing-data-flow-in-swift.rst | 2 +- swift/ql/examples/snippets/simple_sql_injection.ql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst index 6ba39061232..f117f233109 100644 --- a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst +++ b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst @@ -267,7 +267,7 @@ The following global taint-tracking query finds places where a value from a remo predicate isSink(DataFlow::Node node) { exists(CallExpr call | - call.getStaticTarget().(MethodDecl).hasQualifiedName("Connection", ["execute(_:)"]) and + call.getStaticTarget().(MethodDecl).hasQualifiedName("Connection", "execute(_:)") and call.getArgument(0).getExpr() = node.asExpr() ) } diff --git a/swift/ql/examples/snippets/simple_sql_injection.ql b/swift/ql/examples/snippets/simple_sql_injection.ql index 6aaa3a50701..7695e62e599 100644 --- a/swift/ql/examples/snippets/simple_sql_injection.ql +++ b/swift/ql/examples/snippets/simple_sql_injection.ql @@ -17,7 +17,7 @@ module SqlInjectionConfig implements DataFlow::ConfigSig { predicate isSink(DataFlow::Node node) { exists(CallExpr call | - call.getStaticTarget().(MethodDecl).hasQualifiedName("Connection", ["execute(_:)"]) and + call.getStaticTarget().(MethodDecl).hasQualifiedName("Connection", "execute(_:)") and call.getArgument(0).getExpr() = node.asExpr() ) } From e0074d52ebe59c4a380d585d0a72f7ccaabd1090 Mon Sep 17 00:00:00 2001 From: Tony Torralba Date: Fri, 28 Apr 2023 10:56:35 +0200 Subject: [PATCH 08/54] Add autogenerated models for org.apache.commons.net --- .../org.apache.commons.net.model.yml | 1416 +++++++++++++++++ 1 file changed, 1416 insertions(+) create mode 100644 java/ql/lib/ext/generated/org.apache.commons.net.model.yml diff --git a/java/ql/lib/ext/generated/org.apache.commons.net.model.yml b/java/ql/lib/ext/generated/org.apache.commons.net.model.yml new file mode 100644 index 00000000000..49c61eb4328 --- /dev/null +++ b/java/ql/lib/ext/generated/org.apache.commons.net.model.yml @@ -0,0 +1,1416 @@ +# THIS FILE IS AN AUTO-GENERATED MODELS AS DATA FILE. DO NOT EDIT. +# Definitions of models for the org.apache.commons.net framework. +extensions: + - addsTo: + pack: codeql/java-all + extensible: sinkModel + data: + - ["org.apache.commons.net.ftp", "FTPClient", true, "appendFile", "(String,InputStream)", "", "Argument[this]", "open-url", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "appendFileStream", "(String)", "", "Argument[this]", "open-url", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "initiateListParsing", "()", "", "Argument[this]", "open-url", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "initiateListParsing", "(String)", "", "Argument[this]", "open-url", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "initiateListParsing", "(String,String)", "", "Argument[this]", "open-url", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "initiateMListParsing", "()", "", "Argument[this]", "open-url", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "initiateMListParsing", "(String)", "", "Argument[this]", "open-url", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listDirectories", "()", "", "Argument[this]", "open-url", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listDirectories", "(String)", "", "Argument[this]", "open-url", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listFiles", "()", "", "Argument[this]", "open-url", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listFiles", "(String)", "", "Argument[this]", "open-url", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listFiles", "(String,FTPFileFilter)", "", "Argument[this]", "open-url", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listNames", "()", "", "Argument[this]", "open-url", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listNames", "(String)", "", "Argument[this]", "open-url", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "mlistDir", "()", "", "Argument[this]", "open-url", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "mlistDir", "(String)", "", "Argument[this]", "open-url", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "mlistDir", "(String,FTPFileFilter)", "", "Argument[this]", "open-url", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "retrieveFile", "(String,OutputStream)", "", "Argument[this]", "open-url", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "retrieveFileStream", "(String)", "", "Argument[this]", "open-url", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "storeFile", "(String,InputStream)", "", "Argument[this]", "open-url", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "storeFileStream", "(String)", "", "Argument[this]", "open-url", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "storeUniqueFile", "(InputStream)", "", "Argument[this]", "open-url", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "storeUniqueFile", "(String,InputStream)", "", "Argument[this]", "open-url", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "storeUniqueFileStream", "()", "", "Argument[this]", "open-url", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "storeUniqueFileStream", "(String)", "", "Argument[this]", "open-url", "df-generated"] + - ["org.apache.commons.net.util", "KeyManagerUtils", false, "createClientKeyManager", "(File,String)", "", "Argument[0]", "read-file", "df-generated"] + - ["org.apache.commons.net.util", "KeyManagerUtils", false, "createClientKeyManager", "(File,String,String)", "", "Argument[0]", "read-file", "df-generated"] + - ["org.apache.commons.net.util", "KeyManagerUtils", false, "createClientKeyManager", "(String,File,String,String,String)", "", "Argument[1]", "read-file", "df-generated"] + - ["org.apache.commons.net", "SocketClient", true, "connect", "(String,int)", "", "Argument[this]", "open-url", "df-generated"] + - addsTo: + pack: codeql/java-all + extensible: sourceModel + data: + - ["org.apache.commons.net.ftp", "FTPClient", true, "listNames", "()", "", "ReturnValue", "remote", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listNames", "(String)", "", "ReturnValue", "remote", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "retrieveFile", "(String,OutputStream)", "", "Argument[1]", "remote", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "retrieveFileStream", "(String)", "", "ReturnValue", "remote", "df-generated"] + - addsTo: + pack: codeql/java-all + extensible: summaryModel + data: + - ["org.apache.commons.net.bsd", "RCommandClient", true, "rcommand", "(String,String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.bsd", "RCommandClient", true, "rcommand", "(String,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.bsd", "RCommandClient", true, "rcommand", "(String,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.bsd", "RCommandClient", true, "rcommand", "(String,String,String,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.bsd", "RCommandClient", true, "rcommand", "(String,String,String,boolean)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.bsd", "RCommandClient", true, "rcommand", "(String,String,String,boolean)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.bsd", "RExecClient", true, "getErrorStream", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.bsd", "RExecClient", true, "getInputStream", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.bsd", "RExecClient", true, "getOutputStream", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.bsd", "RExecClient", true, "rexec", "(String,String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.bsd", "RExecClient", true, "rexec", "(String,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.bsd", "RExecClient", true, "rexec", "(String,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.bsd", "RExecClient", true, "rexec", "(String,String,String,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.bsd", "RExecClient", true, "rexec", "(String,String,String,boolean)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.bsd", "RExecClient", true, "rexec", "(String,String,String,boolean)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.bsd", "RLoginClient", true, "rlogin", "(String,String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.bsd", "RLoginClient", true, "rlogin", "(String,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.bsd", "RLoginClient", true, "rlogin", "(String,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.bsd", "RLoginClient", true, "rlogin", "(String,String,String,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.bsd", "RLoginClient", true, "rlogin", "(String,String,String,int)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.bsd", "RLoginClient", true, "rlogin", "(String,String,String,int)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.chargen", "CharGenTCPClient", false, "getInputStream", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.chargen", "CharGenUDPClient", false, "receive", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.daytime", "DaytimeTCPClient", false, "getTime", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.discard", "DiscardTCPClient", true, "getOutputStream", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.echo", "EchoTCPClient", false, "getInputStream", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.finger", "FingerClient", true, "getInputStream", "(boolean)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.finger", "FingerClient", true, "getInputStream", "(boolean,String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.finger", "FingerClient", true, "getInputStream", "(boolean,String,String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.finger", "FingerClient", true, "query", "(boolean)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.finger", "FingerClient", true, "query", "(boolean,String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "CompositeFileEntryParser", true, "CompositeFileEntryParser", "(FTPFileEntryParser[])", "", "Argument[0].ArrayElement", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "FTPTimestampParserImpl", true, "getDefaultDateFormat", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "FTPTimestampParserImpl", true, "getRecentDateFormat", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "FTPTimestampParserImpl", true, "getServerTimeZone", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "FTPTimestampParserImpl", true, "getShortMonths", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "FTPTimestampParserImpl", true, "parseTimestamp", "(String,Calendar)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "MLSxEntryParser", true, "parseEntry", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "ParserInitializationException", true, "ParserInitializationException", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "ParserInitializationException", true, "ParserInitializationException", "(String,Throwable)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "ParserInitializationException", true, "ParserInitializationException", "(String,Throwable)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "ParserInitializationException", true, "getRootCause", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "RegexFTPFileEntryParserImpl", true, "matches", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "VMSFTPEntryParser", true, "parseFileList", "(InputStream)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "VMSFTPEntryParser", true, "parseFileList", "(InputStream)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "Configurable", true, "configure", "(FTPClientConfig)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "acct", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "appe", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "cwd", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "dele", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "eprt", "(InetAddress,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "getControlEncoding", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "getReplyString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "getReplyStrings", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "help", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "list", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "mdtm", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "mfmt", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "mfmt", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "mkd", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "mlsd", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "mlst", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "nlst", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "pass", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "port", "(InetAddress,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "rest", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "retr", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "rmd", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "rnfr", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "rnto", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "sendCommand", "(FTPCmd,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "sendCommand", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "sendCommand", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "sendCommand", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "sendCommand", "(int,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "setControlEncoding", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "site", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "size", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "smnt", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "stat", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "stor", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "stou", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", true, "user", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient$HostnameResolver", true, "resolve", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient$HostnameResolver", true, "resolve", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient$NatServerResolverImpl", true, "NatServerResolverImpl", "(FTPClient)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "appendFile", "(String,InputStream)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "appendFileStream", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "changeWorkingDirectory", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "deleteFile", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "doCommand", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "doCommand", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "doCommandAsStrings", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "doCommandAsStrings", "(String,String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "doCommandAsStrings", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "doCommandAsStrings", "(String,String)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "doCommandAsStrings", "(String,String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "enterRemoteActiveMode", "(InetAddress,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "featureValue", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "featureValues", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "getControlKeepAliveReplyTimeoutDuration", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "getControlKeepAliveTimeoutDuration", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "getCopyStreamListener", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "getDataTimeout", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "getModificationTime", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "getModificationTime", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "getModificationTime", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "getPassiveHost", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "getPassiveLocalIPAddress", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "getSize", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "getSize", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "getSize", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "getStatus", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "getStatus", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "getStatus", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "getStatus", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "getSystemName", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "getSystemType", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "initiateListParsing", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "initiateListParsing", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "initiateListParsing", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "initiateListParsing", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "initiateListParsing", "(String,String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "initiateListParsing", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "initiateListParsing", "(String,String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "initiateMListParsing", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listDirectories", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listFiles", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listFiles", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listFiles", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listFiles", "(String,FTPFileFilter)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listHelp", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listHelp", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listHelp", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listHelp", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listNames", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "login", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "login", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "login", "(String,String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "login", "(String,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "login", "(String,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "makeDirectory", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "mdtmCalendar", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "mdtmFile", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "mdtmFile", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "mdtmFile", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "mdtmInstant", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "mlistDir", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "mlistDir", "(String,FTPFileFilter)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "mlistFile", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "mlistFile", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "mlistFile", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "printWorkingDirectory", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "remoteAppend", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "remoteRetrieve", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "remoteStore", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "remoteStoreUnique", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "removeDirectory", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "rename", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "rename", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "retrieveFile", "(String,OutputStream)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "retrieveFileStream", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "sendSiteCommand", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "setActiveExternalIPAddress", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "setControlKeepAliveReplyTimeout", "(Duration)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "setControlKeepAliveTimeout", "(Duration)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "setCopyStreamListener", "(CopyStreamListener)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "setDataTimeout", "(Duration)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "setModificationTime", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "setModificationTime", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "setParserFactory", "(FTPFileEntryParserFactory)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "setPassiveLocalIPAddress", "(InetAddress)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "setPassiveLocalIPAddress", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "setPassiveNatWorkaroundStrategy", "(HostnameResolver)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "setReportActiveExternalIPAddress", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "storeFile", "(String,InputStream)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "storeFileStream", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "storeUniqueFile", "(String,InputStream)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "storeUniqueFileStream", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "structureMount", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(FTPClientConfig)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String,String,String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String,String,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String,String,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String,String,String,String)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String,String,String,String)", "", "Argument[4]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String,String,String,String)", "", "Argument[5]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String,String,String,String,boolean,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String,String,String,String,boolean,boolean)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String,String,String,String,boolean,boolean)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String,String,String,String,boolean,boolean)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String,String,String,String,boolean,boolean)", "", "Argument[4]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String,String,String,String,boolean,boolean)", "", "Argument[5]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "getDefaultDateFormatStr", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "getRecentDateFormatStr", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "getServerLanguageCode", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "getServerSystemKey", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "getServerTimeZoneId", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "getShortMonthNames", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "setDefaultDateFormatStr", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "setRecentDateFormatStr", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "setServerLanguageCode", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "setServerTimeZoneId", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "setShortMonthNames", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPConnectionClosedException", true, "FTPConnectionClosedException", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", true, "getGroup", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", true, "getLink", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", true, "getName", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", true, "getRawListing", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", true, "getTimestamp", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", true, "getUser", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", true, "setGroup", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", true, "setLink", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", true, "setName", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", true, "setRawListing", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", true, "setTimestamp", "(Calendar)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", true, "setUser", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", true, "toFormattedString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", true, "toFormattedString", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", true, "toString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFileEntryParser", true, "parseFTPEntry", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFileEntryParser", true, "parseFTPEntry", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFileEntryParser", true, "preParse", "(List)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFileEntryParser", true, "readNextEntry", "(BufferedReader)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPHTTPClient", true, "FTPHTTPClient", "(String,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPHTTPClient", true, "FTPHTTPClient", "(String,int,Charset)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPHTTPClient", true, "FTPHTTPClient", "(String,int,String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPHTTPClient", true, "FTPHTTPClient", "(String,int,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPHTTPClient", true, "FTPHTTPClient", "(String,int,String,String)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPHTTPClient", true, "FTPHTTPClient", "(String,int,String,String,Charset)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPHTTPClient", true, "FTPHTTPClient", "(String,int,String,String,Charset)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPHTTPClient", true, "FTPHTTPClient", "(String,int,String,String,Charset)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPListParseEngine", true, "FTPListParseEngine", "(FTPFileEntryParser)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPListParseEngine", true, "getFileList", "(FTPFileFilter)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPListParseEngine", true, "getFiles", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPListParseEngine", true, "getFiles", "(FTPFileFilter)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPListParseEngine", true, "getNext", "(int)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPListParseEngine", true, "getPrevious", "(int)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPListParseEngine", true, "readServerList", "(InputStream)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPListParseEngine", true, "readServerList", "(InputStream,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", true, "FTPSClient", "(SSLContext)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", true, "FTPSClient", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", true, "FTPSClient", "(String,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", true, "FTPSClient", "(boolean,SSLContext)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", true, "execADAT", "(byte[])", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", true, "execAUTH", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", true, "execCONF", "(byte[])", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", true, "execENC", "(byte[])", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", true, "execMIC", "(byte[])", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", true, "execPROT", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", true, "getAuthValue", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", true, "getEnabledCipherSuites", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", true, "getEnabledProtocols", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", true, "getHostnameVerifier", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", true, "getTrustManager", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", true, "parseADATReply", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", true, "setAuthValue", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", true, "setEnabledCipherSuites", "(String[])", "", "Argument[0].ArrayElement", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", true, "setEnabledProtocols", "(String[])", "", "Argument[0].ArrayElement", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", true, "setHostnameVerifier", "(HostnameVerifier)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", true, "setKeyManager", "(KeyManager)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", true, "setTrustManager", "(TrustManager)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSServerSocketFactory", true, "FTPSServerSocketFactory", "(SSLContext)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSServerSocketFactory", true, "init", "(ServerSocket)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSSocketFactory", true, "FTPSSocketFactory", "(SSLContext)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSSocketFactory", true, "init", "(ServerSocket)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "AuthenticatingIMAPClient", true, "AuthenticatingIMAPClient", "(SSLContext)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "AuthenticatingIMAPClient", true, "AuthenticatingIMAPClient", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "AuthenticatingIMAPClient", true, "AuthenticatingIMAPClient", "(String,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "AuthenticatingIMAPClient", true, "AuthenticatingIMAPClient", "(String,boolean,SSLContext)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "AuthenticatingIMAPClient", true, "AuthenticatingIMAPClient", "(String,boolean,SSLContext)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "AuthenticatingIMAPClient", true, "AuthenticatingIMAPClient", "(boolean,SSLContext)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "AuthenticatingIMAPClient", true, "auth", "(AUTH_METHOD,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "AuthenticatingIMAPClient", true, "auth", "(AUTH_METHOD,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "AuthenticatingIMAPClient", true, "authenticate", "(AUTH_METHOD,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "AuthenticatingIMAPClient", true, "authenticate", "(AUTH_METHOD,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAP$IMAPChunkListener", true, "chunkReceived", "(IMAP)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAP", true, "doCommand", "(IMAPCommand,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAP", true, "getReplyString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAP", true, "getReplyStrings", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAP", true, "sendCommand", "(IMAPCommand,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAP", true, "sendCommand", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAP", true, "sendCommand", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAP", true, "sendCommand", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAP", true, "sendData", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAP", true, "setChunkListener", "(IMAPChunkListener)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "append", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "append", "(String,String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "append", "(String,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "append", "(String,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "append", "(String,String,String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "append", "(String,String,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "append", "(String,String,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "append", "(String,String,String,String)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "copy", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "copy", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "create", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "delete", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "examine", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "fetch", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "fetch", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "list", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "list", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "login", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "login", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "lsub", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "lsub", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "rename", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "rename", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "search", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "search", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "search", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "select", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "status", "(String,String[])", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "status", "(String,String[])", "", "Argument[1].ArrayElement", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "store", "(String,String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "store", "(String,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "store", "(String,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "subscribe", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "uid", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "uid", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", true, "unsubscribe", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPSClient", true, "IMAPSClient", "(SSLContext)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPSClient", true, "IMAPSClient", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPSClient", true, "IMAPSClient", "(String,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPSClient", true, "IMAPSClient", "(String,boolean,SSLContext)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPSClient", true, "IMAPSClient", "(String,boolean,SSLContext)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPSClient", true, "IMAPSClient", "(boolean,SSLContext)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPSClient", true, "getEnabledCipherSuites", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPSClient", true, "getEnabledProtocols", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPSClient", true, "getHostnameVerifier", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPSClient", true, "getTrustManager", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPSClient", true, "setEnabledCipherSuites", "(String[])", "", "Argument[0].ArrayElement", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPSClient", true, "setEnabledProtocols", "(String[])", "", "Argument[0].ArrayElement", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPSClient", true, "setHostnameVerifier", "(HostnameVerifier)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPSClient", true, "setKeyManager", "(KeyManager)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPSClient", true, "setTrustManager", "(TrustManager)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.io", "CRLFLineReader", false, "CRLFLineReader", "(Reader)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.io", "CopyStreamEvent", true, "CopyStreamEvent", "(Object,long,int,long)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.io", "CopyStreamEvent", true, "toString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.io", "CopyStreamException", true, "CopyStreamException", "(String,long,IOException)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.io", "CopyStreamException", true, "getIOException", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.io", "DotTerminatedMessageReader", false, "DotTerminatedMessageReader", "(Reader)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.io", "DotTerminatedMessageWriter", false, "DotTerminatedMessageWriter", "(Writer)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.io", "FromNetASCIIOutputStream", false, "FromNetASCIIOutputStream", "(OutputStream)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.io", "SocketInputStream", true, "SocketInputStream", "(Socket,InputStream)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.io", "SocketOutputStream", true, "SocketOutputStream", "(Socket,OutputStream)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.io", "SocketOutputStream", true, "SocketOutputStream", "(Socket,OutputStream)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.io", "ToNetASCIIOutputStream", false, "ToNetASCIIOutputStream", "(OutputStream)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.io", "Util", false, "copyReader", "(Reader,Writer)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.io", "Util", false, "copyReader", "(Reader,Writer,int)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.io", "Util", false, "copyReader", "(Reader,Writer,int,long,CopyStreamListener)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.io", "Util", false, "copyStream", "(InputStream,OutputStream)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.io", "Util", false, "copyStream", "(InputStream,OutputStream,int)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.io", "Util", false, "copyStream", "(InputStream,OutputStream,int,long,CopyStreamListener)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.io", "Util", false, "copyStream", "(InputStream,OutputStream,int,long,CopyStreamListener,boolean)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "Article", true, "addReference", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "Article", true, "getArticleId", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "Article", true, "getDate", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "Article", true, "getFrom", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "Article", true, "getReferences", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "Article", true, "getSubject", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "Article", true, "setArticleId", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "Article", true, "setDate", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "Article", true, "setFrom", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "Article", true, "setSubject", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "Article", true, "toString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", true, "article", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", true, "authinfoPass", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", true, "authinfoUser", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", true, "body", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", true, "getReplyString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", true, "group", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", true, "head", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", true, "ihave", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", true, "listActive", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", true, "newgroups", "(String,String,boolean,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", true, "newgroups", "(String,String,boolean,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", true, "newgroups", "(String,String,boolean,String)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", true, "newnews", "(String,String,String,boolean,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", true, "newnews", "(String,String,String,boolean,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", true, "newnews", "(String,String,String,boolean,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", true, "newnews", "(String,String,String,boolean,String)", "", "Argument[4]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", true, "sendCommand", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", true, "sendCommand", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", true, "sendCommand", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", true, "sendCommand", "(int,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", true, "stat", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", true, "xhdr", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", true, "xhdr", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", true, "xover", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "authenticate", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "authenticate", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "forwardArticle", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "forwardArticle", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "forwardArticle", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "iterateNewNews", "(NewGroupsOrNewsQuery)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "iterateNewNews", "(NewGroupsOrNewsQuery)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "iterateNewNews", "(NewGroupsOrNewsQuery)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "iterateNewNewsgroupListing", "(NewGroupsOrNewsQuery)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "iterateNewNewsgroupListing", "(NewGroupsOrNewsQuery)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "iterateNewNewsgroupListing", "(NewGroupsOrNewsQuery)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "iterateNewNewsgroups", "(NewGroupsOrNewsQuery)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "iterateNewsgroupListing", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "iterateNewsgroupListing", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "iterateNewsgroupListing", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "iterateNewsgroupListing", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "iterateNewsgroups", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "listHelp", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "listNewNews", "(NewGroupsOrNewsQuery)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "listNewNews", "(NewGroupsOrNewsQuery)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "listNewNews", "(NewGroupsOrNewsQuery)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "listNewNewsgroups", "(NewGroupsOrNewsQuery)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "listNewNewsgroups", "(NewGroupsOrNewsQuery)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "listNewsgroups", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "listNewsgroups", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "listNewsgroups", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "listOverviewFmt", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "postArticle", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(String,ArticleInfo)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(String,ArticleInfo)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(String,ArticleInfo)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(String,ArticleInfo)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(String,ArticleInfo)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(String,ArticlePointer)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(String,ArticlePointer)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(String,ArticlePointer)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(String,ArticlePointer)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(String,ArticlePointer)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(int)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(int,ArticlePointer)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(int,ArticlePointer)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(long)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(long,ArticleInfo)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(long,ArticleInfo)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(String,ArticleInfo)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(String,ArticleInfo)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(String,ArticleInfo)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(String,ArticleInfo)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(String,ArticleInfo)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(String,ArticlePointer)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(String,ArticlePointer)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(String,ArticlePointer)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(String,ArticlePointer)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(String,ArticlePointer)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(int)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(int,ArticlePointer)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(int,ArticlePointer)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(long)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(long,ArticleInfo)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(long,ArticleInfo)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(String,ArticleInfo)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(String,ArticleInfo)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(String,ArticleInfo)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(String,ArticleInfo)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(String,ArticleInfo)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(String,ArticlePointer)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(String,ArticlePointer)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(String,ArticlePointer)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(String,ArticlePointer)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(String,ArticlePointer)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(int)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(int,ArticlePointer)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(int,ArticlePointer)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(long)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(long,ArticleInfo)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(long,ArticleInfo)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleInfo", "(int)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleInfo", "(int,int)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleInfo", "(long)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleInfo", "(long,long)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveHeader", "(String,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveHeader", "(String,int)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveHeader", "(String,int)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveHeader", "(String,int,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveHeader", "(String,int,int)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveHeader", "(String,int,int)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveHeader", "(String,long)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveHeader", "(String,long)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveHeader", "(String,long)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveHeader", "(String,long,long)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveHeader", "(String,long,long)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveHeader", "(String,long,long)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectArticle", "(ArticleInfo)", "", "Argument[this]", "Argument[0]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectArticle", "(ArticlePointer)", "", "Argument[this]", "Argument[0]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectArticle", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectArticle", "(String,ArticleInfo)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectArticle", "(String,ArticleInfo)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectArticle", "(String,ArticleInfo)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectArticle", "(String,ArticlePointer)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectArticle", "(String,ArticlePointer)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectArticle", "(String,ArticlePointer)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectArticle", "(int,ArticlePointer)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectArticle", "(long,ArticleInfo)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectNewsgroup", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectNewsgroup", "(String,NewsgroupInfo)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectNewsgroup", "(String,NewsgroupInfo)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectNewsgroup", "(String,NewsgroupInfo)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectNextArticle", "(ArticleInfo)", "", "Argument[this]", "Argument[0]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectNextArticle", "(ArticlePointer)", "", "Argument[this]", "Argument[0]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectPreviousArticle", "(ArticleInfo)", "", "Argument[this]", "Argument[0]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectPreviousArticle", "(ArticlePointer)", "", "Argument[this]", "Argument[0]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPConnectionClosedException", false, "NNTPConnectionClosedException", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NewGroupsOrNewsQuery", false, "addDistribution", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NewGroupsOrNewsQuery", false, "addNewsgroup", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NewGroupsOrNewsQuery", false, "getDate", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NewGroupsOrNewsQuery", false, "getDistributions", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NewGroupsOrNewsQuery", false, "getNewsgroups", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NewGroupsOrNewsQuery", false, "getTime", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NewGroupsOrNewsQuery", false, "omitNewsgroup", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "NewsgroupInfo", false, "getNewsgroup", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "SimpleNNTPHeader", true, "SimpleNNTPHeader", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "SimpleNNTPHeader", true, "SimpleNNTPHeader", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "SimpleNNTPHeader", true, "addHeaderField", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "SimpleNNTPHeader", true, "addHeaderField", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "SimpleNNTPHeader", true, "addNewsgroup", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "SimpleNNTPHeader", true, "getFromAddress", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "SimpleNNTPHeader", true, "getNewsgroups", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "SimpleNNTPHeader", true, "getSubject", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "SimpleNNTPHeader", true, "toString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "Threadable", true, "messageThreadId", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "Threadable", true, "messageThreadReferences", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "Threadable", true, "setChild", "(Threadable)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "Threadable", true, "setNext", "(Threadable)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "Threadable", true, "simplifiedSubject", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "Threader", true, "thread", "(Iterable)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "Threader", true, "thread", "(List)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.nntp", "Threader", true, "thread", "(Threadable[])", "", "Argument[0].ArrayElement", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", true, "getDatagramPacket", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", true, "setDatagramPacket", "(DatagramPacket)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeInfo", true, "TimeInfo", "(NtpV3Packet,long)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeInfo", true, "TimeInfo", "(NtpV3Packet,long,List)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeInfo", true, "TimeInfo", "(NtpV3Packet,long,List)", "", "Argument[2].Element", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeInfo", true, "TimeInfo", "(NtpV3Packet,long,List,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeInfo", true, "TimeInfo", "(NtpV3Packet,long,List,boolean)", "", "Argument[2].Element", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeInfo", true, "TimeInfo", "(NtpV3Packet,long,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeInfo", true, "addComment", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeInfo", true, "getAddress", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeInfo", true, "getComments", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeInfo", true, "getMessage", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "ExtendedPOP3Client", true, "auth", "(AUTH_METHOD,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "ExtendedPOP3Client", true, "auth", "(AUTH_METHOD,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3", true, "getReplyString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3", true, "getReplyStrings", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3", true, "sendCommand", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3", true, "sendCommand", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3", true, "sendCommand", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3", true, "sendCommand", "(int,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3Client", true, "listUniqueIdentifier", "(int)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3Client", true, "login", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3Client", true, "login", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3Client", true, "login", "(String,String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3Client", true, "retrieveMessage", "(int)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3Client", true, "retrieveMessageTop", "(int,int)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3MessageInfo", false, "POP3MessageInfo", "(int,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3MessageInfo", false, "toString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3SClient", true, "POP3SClient", "(SSLContext)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3SClient", true, "POP3SClient", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3SClient", true, "POP3SClient", "(String,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3SClient", true, "POP3SClient", "(String,boolean,SSLContext)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3SClient", true, "POP3SClient", "(String,boolean,SSLContext)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3SClient", true, "POP3SClient", "(boolean,SSLContext)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3SClient", true, "getEnabledCipherSuites", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3SClient", true, "getEnabledProtocols", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3SClient", true, "getHostnameVerifier", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3SClient", true, "getTrustManager", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3SClient", true, "setEnabledCipherSuites", "(String[])", "", "Argument[0].ArrayElement", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3SClient", true, "setEnabledProtocols", "(String[])", "", "Argument[0].ArrayElement", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3SClient", true, "setHostnameVerifier", "(HostnameVerifier)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3SClient", true, "setKeyManager", "(KeyManager)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3SClient", true, "setTrustManager", "(TrustManager)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "AuthenticatingSMTPClient", true, "AuthenticatingSMTPClient", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "AuthenticatingSMTPClient", true, "AuthenticatingSMTPClient", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "AuthenticatingSMTPClient", true, "AuthenticatingSMTPClient", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "AuthenticatingSMTPClient", true, "AuthenticatingSMTPClient", "(String,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "AuthenticatingSMTPClient", true, "AuthenticatingSMTPClient", "(String,boolean,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "AuthenticatingSMTPClient", true, "AuthenticatingSMTPClient", "(String,boolean,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "AuthenticatingSMTPClient", true, "AuthenticatingSMTPClient", "(boolean,SSLContext)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "AuthenticatingSMTPClient", true, "auth", "(AUTH_METHOD,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "AuthenticatingSMTPClient", true, "auth", "(AUTH_METHOD,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "AuthenticatingSMTPClient", true, "ehlo", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "AuthenticatingSMTPClient", true, "elogin", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "RelayPath", false, "RelayPath", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "RelayPath", false, "addRelay", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "RelayPath", false, "toString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTP", true, "SMTP", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTP", true, "expn", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTP", true, "getReplyString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTP", true, "getReplyStrings", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTP", true, "helo", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTP", true, "help", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTP", true, "mail", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTP", true, "rcpt", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTP", true, "saml", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTP", true, "send", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTP", true, "sendCommand", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTP", true, "sendCommand", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTP", true, "sendCommand", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTP", true, "sendCommand", "(int,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTP", true, "soml", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTP", true, "vrfy", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPClient", true, "SMTPClient", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPClient", true, "addRecipient", "(RelayPath)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPClient", true, "addRecipient", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPClient", true, "listHelp", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPClient", true, "listHelp", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPClient", true, "listHelp", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPClient", true, "listHelp", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPClient", true, "login", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPClient", true, "sendMessageData", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPClient", true, "sendSimpleMessage", "(String,String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPClient", true, "sendSimpleMessage", "(String,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPClient", true, "sendSimpleMessage", "(String,String[],String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPClient", true, "sendSimpleMessage", "(String,String[],String)", "", "Argument[1].ArrayElement", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPClient", true, "setSender", "(RelayPath)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPClient", true, "setSender", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPClient", true, "verify", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPConnectionClosedException", false, "SMTPConnectionClosedException", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPSClient", true, "SMTPSClient", "(SSLContext)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPSClient", true, "SMTPSClient", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPSClient", true, "SMTPSClient", "(String,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPSClient", true, "SMTPSClient", "(String,boolean,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPSClient", true, "SMTPSClient", "(String,boolean,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPSClient", true, "SMTPSClient", "(boolean,SSLContext)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPSClient", true, "getEnabledCipherSuites", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPSClient", true, "getEnabledProtocols", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPSClient", true, "getHostnameVerifier", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPSClient", true, "getKeyManager", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPSClient", true, "getTrustManager", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPSClient", true, "setEnabledCipherSuites", "(String[])", "", "Argument[0].ArrayElement", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPSClient", true, "setEnabledProtocols", "(String[])", "", "Argument[0].ArrayElement", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPSClient", true, "setHostnameVerifier", "(HostnameVerifier)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPSClient", true, "setKeyManager", "(KeyManager)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPSClient", true, "setTrustManager", "(TrustManager)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SimpleSMTPHeader", true, "SimpleSMTPHeader", "(String,String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SimpleSMTPHeader", true, "SimpleSMTPHeader", "(String,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SimpleSMTPHeader", true, "SimpleSMTPHeader", "(String,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SimpleSMTPHeader", true, "addCC", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SimpleSMTPHeader", true, "addHeaderField", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SimpleSMTPHeader", true, "addHeaderField", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.smtp", "SimpleSMTPHeader", true, "toString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.telnet", "InvalidTelnetOptionException", true, "InvalidTelnetOptionException", "(String,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.telnet", "Telnet", true, "addOptionHandler", "(TelnetOptionHandler)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.telnet", "Telnet", true, "registerNotifHandler", "(TelnetNotificationHandler)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetClient", true, "TelnetClient", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetClient", true, "TelnetClient", "(String,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetClient", true, "getInputStream", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetClient", true, "getOutputStream", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetClient", true, "registerInputListener", "(TelnetInputListener)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetClient", true, "registerSpyStream", "(OutputStream)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.telnet", "TerminalTypeOptionHandler", true, "TerminalTypeOptionHandler", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.telnet", "TerminalTypeOptionHandler", true, "TerminalTypeOptionHandler", "(String,boolean,boolean,boolean,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTP", true, "bufferedReceive", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTP", true, "bufferedSend", "(TFTPPacket)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPAckPacket", false, "TFTPAckPacket", "(InetAddress,int,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPAckPacket", false, "toString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,InetAddress)", "", "Argument[0]", "Argument[2]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,InetAddress)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,InetAddress)", "", "Argument[3]", "Argument[2]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,InetAddress)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,InetAddress)", "", "Argument[this]", "Argument[2]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,InetAddress,int)", "", "Argument[0]", "Argument[2]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,InetAddress,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,InetAddress,int)", "", "Argument[3]", "Argument[2]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,InetAddress,int)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,InetAddress,int)", "", "Argument[this]", "Argument[2]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,String)", "", "Argument[0]", "Argument[2]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,String)", "", "Argument[3]", "Argument[2]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,String)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,String)", "", "Argument[this]", "Argument[2]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,String,int)", "", "Argument[0]", "Argument[2]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,String,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,String,int)", "", "Argument[3]", "Argument[2]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,String,int)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,String,int)", "", "Argument[this]", "Argument[2]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "sendFile", "(String,int,InputStream,InetAddress)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "sendFile", "(String,int,InputStream,InetAddress)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "sendFile", "(String,int,InputStream,InetAddress)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "sendFile", "(String,int,InputStream,InetAddress,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "sendFile", "(String,int,InputStream,InetAddress,int)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "sendFile", "(String,int,InputStream,InetAddress,int)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "sendFile", "(String,int,InputStream,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "sendFile", "(String,int,InputStream,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "sendFile", "(String,int,InputStream,String)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "sendFile", "(String,int,InputStream,String,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "sendFile", "(String,int,InputStream,String,int)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", true, "sendFile", "(String,int,InputStream,String,int)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPDataPacket", false, "TFTPDataPacket", "(InetAddress,int,int,byte[])", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPDataPacket", false, "TFTPDataPacket", "(InetAddress,int,int,byte[])", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPDataPacket", false, "TFTPDataPacket", "(InetAddress,int,int,byte[],int,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPDataPacket", false, "TFTPDataPacket", "(InetAddress,int,int,byte[],int,int)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPDataPacket", false, "getData", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPDataPacket", false, "setData", "(byte[],int,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPDataPacket", false, "toString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPErrorPacket", false, "TFTPErrorPacket", "(InetAddress,int,int,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPErrorPacket", false, "TFTPErrorPacket", "(InetAddress,int,int,String)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPErrorPacket", false, "getMessage", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPErrorPacket", false, "toString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPPacket", true, "getAddress", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPPacket", true, "newTFTPPacket", "(DatagramPacket)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPPacket", true, "setAddress", "(InetAddress)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPPacket", true, "toString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPPacketException", true, "TFTPPacketException", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPReadRequestPacket", false, "TFTPReadRequestPacket", "(InetAddress,int,String,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPReadRequestPacket", false, "TFTPReadRequestPacket", "(InetAddress,int,String,int)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPReadRequestPacket", false, "toString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPRequestPacket", true, "getFilename", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPWriteRequestPacket", false, "TFTPWriteRequestPacket", "(InetAddress,int,String,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPWriteRequestPacket", false, "TFTPWriteRequestPacket", "(InetAddress,int,String,int)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPWriteRequestPacket", false, "toString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.util", "Base64", true, "Base64", "(int,byte[])", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.util", "Base64", true, "Base64", "(int,byte[],boolean)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.util", "Base64", true, "decode", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.util", "Base64", true, "decode", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.util", "Base64", true, "decode", "(byte[])", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.util", "Base64", true, "decode", "(byte[])", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.util", "Base64", true, "decodeBase64", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.util", "Base64", true, "decodeBase64", "(byte[])", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.util", "Base64", true, "encode", "(byte[])", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.util", "Base64", true, "encode", "(byte[])", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.util", "Base64", true, "encodeBase64", "(byte[])", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.util", "Base64", true, "encodeBase64", "(byte[],boolean)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.util", "Base64", true, "encodeBase64", "(byte[],boolean,boolean)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.util", "Base64", true, "encodeBase64", "(byte[],boolean,boolean,int)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.util", "Base64", true, "encodeBase64Chunked", "(byte[])", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.util", "Base64", true, "encodeBase64String", "(byte[])", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.util", "Base64", true, "encodeBase64String", "(byte[],boolean)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.util", "Base64", true, "encodeBase64StringUnChunked", "(byte[])", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.util", "Base64", true, "encodeBase64URLSafe", "(byte[])", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.util", "Base64", true, "encodeBase64URLSafeString", "(byte[])", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.util", "Base64", true, "encodeToString", "(byte[])", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.util", "Base64", true, "encodeToString", "(byte[])", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.util", "KeyManagerUtils", false, "createClientKeyManager", "(File,String,String)", "", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.util", "KeyManagerUtils", false, "createClientKeyManager", "(KeyStore,String,String)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.util", "KeyManagerUtils", false, "createClientKeyManager", "(String,File,String,String,String)", "", "Argument[3]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.util", "ListenerList", true, "addListener", "(EventListener)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net.whois", "WhoisClient", false, "getInputStream", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net.whois", "WhoisClient", false, "query", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net", "DatagramSocketClient", true, "getLocalAddress", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net", "DatagramSocketClient", true, "setDatagramSocketFactory", "(DatagramSocketFactory)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net", "DefaultSocketFactory", true, "DefaultSocketFactory", "(Proxy)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net", "MalformedServerReplyException", true, "MalformedServerReplyException", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net", "PrintCommandListener", true, "PrintCommandListener", "(PrintWriter)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net", "PrintCommandListener", true, "PrintCommandListener", "(PrintWriter,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net", "PrintCommandListener", true, "PrintCommandListener", "(PrintWriter,boolean,char)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net", "PrintCommandListener", true, "PrintCommandListener", "(PrintWriter,boolean,char,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net", "ProtocolCommandEvent", true, "ProtocolCommandEvent", "(Object,String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net", "ProtocolCommandEvent", true, "ProtocolCommandEvent", "(Object,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net", "ProtocolCommandEvent", true, "ProtocolCommandEvent", "(Object,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net", "ProtocolCommandEvent", true, "ProtocolCommandEvent", "(Object,int,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net", "ProtocolCommandEvent", true, "ProtocolCommandEvent", "(Object,int,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net", "ProtocolCommandEvent", true, "getCommand", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net", "ProtocolCommandEvent", true, "getMessage", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net", "ProtocolCommandSupport", true, "ProtocolCommandSupport", "(Object)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net", "SocketClient", true, "connect", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net", "SocketClient", true, "connect", "(String,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net", "SocketClient", true, "connect", "(String,int,InetAddress,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net", "SocketClient", true, "getLocalAddress", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net", "SocketClient", true, "getProxy", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net", "SocketClient", true, "getRemoteAddress", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net", "SocketClient", true, "getServerSocketFactory", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] + - ["org.apache.commons.net", "SocketClient", true, "setProxy", "(Proxy)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net", "SocketClient", true, "setServerSocketFactory", "(ServerSocketFactory)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["org.apache.commons.net", "SocketClient", true, "setSocketFactory", "(SocketFactory)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - addsTo: + pack: codeql/java-all + extensible: neutralModel + data: + - ["org.apache.commons.net.bsd", "RCommandClient", "connect", "(InetAddress,int,InetAddress)", "df-generated"] + - ["org.apache.commons.net.bsd", "RCommandClient", "connect", "(String,int,InetAddress)", "df-generated"] + - ["org.apache.commons.net.bsd", "RExecClient", "isRemoteVerificationEnabled", "()", "df-generated"] + - ["org.apache.commons.net.bsd", "RExecClient", "setRemoteVerificationEnabled", "(boolean)", "df-generated"] + - ["org.apache.commons.net.chargen", "CharGenUDPClient", "send", "(InetAddress)", "df-generated"] + - ["org.apache.commons.net.chargen", "CharGenUDPClient", "send", "(InetAddress,int)", "df-generated"] + - ["org.apache.commons.net.daytime", "DaytimeUDPClient", "getTime", "(InetAddress)", "df-generated"] + - ["org.apache.commons.net.daytime", "DaytimeUDPClient", "getTime", "(InetAddress,int)", "df-generated"] + - ["org.apache.commons.net.discard", "DiscardUDPClient", "send", "(byte[],InetAddress)", "df-generated"] + - ["org.apache.commons.net.discard", "DiscardUDPClient", "send", "(byte[],int,InetAddress)", "df-generated"] + - ["org.apache.commons.net.discard", "DiscardUDPClient", "send", "(byte[],int,InetAddress,int)", "df-generated"] + - ["org.apache.commons.net.echo", "EchoUDPClient", "receive", "(byte[])", "df-generated"] + - ["org.apache.commons.net.echo", "EchoUDPClient", "receive", "(byte[],int)", "df-generated"] + - ["org.apache.commons.net.examples.mail", "POP3Mail", "printMessageInfo", "(BufferedReader,int)", "df-generated"] + - ["org.apache.commons.net.examples.nntp", "NNTPUtils", "getArticleInfo", "(NNTPClient,long,long)", "df-generated"] + - ["org.apache.commons.net.examples.ntp", "NTPClient", "processResponse", "(TimeInfo)", "df-generated"] + - ["org.apache.commons.net.examples.ntp", "SimpleNTPServer", "SimpleNTPServer", "(int)", "df-generated"] + - ["org.apache.commons.net.examples.ntp", "SimpleNTPServer", "connect", "()", "df-generated"] + - ["org.apache.commons.net.examples.ntp", "SimpleNTPServer", "getPort", "()", "df-generated"] + - ["org.apache.commons.net.examples.ntp", "SimpleNTPServer", "isRunning", "()", "df-generated"] + - ["org.apache.commons.net.examples.ntp", "SimpleNTPServer", "isStarted", "()", "df-generated"] + - ["org.apache.commons.net.examples.ntp", "SimpleNTPServer", "start", "()", "df-generated"] + - ["org.apache.commons.net.examples.ntp", "SimpleNTPServer", "stop", "()", "df-generated"] + - ["org.apache.commons.net.examples.ntp", "TimeClient", "timeTCP", "(String)", "df-generated"] + - ["org.apache.commons.net.examples.ntp", "TimeClient", "timeUDP", "(String)", "df-generated"] + - ["org.apache.commons.net.examples.unix", "chargen", "chargenTCP", "(String)", "df-generated"] + - ["org.apache.commons.net.examples.unix", "chargen", "chargenUDP", "(String)", "df-generated"] + - ["org.apache.commons.net.examples.unix", "daytime", "daytimeTCP", "(String)", "df-generated"] + - ["org.apache.commons.net.examples.unix", "daytime", "daytimeUDP", "(String)", "df-generated"] + - ["org.apache.commons.net.examples.unix", "echo", "echoTCP", "(String)", "df-generated"] + - ["org.apache.commons.net.examples.unix", "echo", "echoUDP", "(String)", "df-generated"] + - ["org.apache.commons.net.examples.unix", "rdate", "timeTCP", "(String)", "df-generated"] + - ["org.apache.commons.net.examples.unix", "rdate", "timeUDP", "(String)", "df-generated"] + - ["org.apache.commons.net.examples.util", "IOUtil", "readWrite", "(InputStream,OutputStream,InputStream,OutputStream)", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "ConfigurableFTPFileEntryParserImpl", "ConfigurableFTPFileEntryParserImpl", "(String)", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "ConfigurableFTPFileEntryParserImpl", "ConfigurableFTPFileEntryParserImpl", "(String,int)", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "ConfigurableFTPFileEntryParserImpl", "getDefaultConfiguration", "()", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "ConfigurableFTPFileEntryParserImpl", "parseTimestamp", "(String)", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "DefaultFTPFileEntryParserFactory", "createMVSEntryParser", "()", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "DefaultFTPFileEntryParserFactory", "createNTFTPEntryParser", "()", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "DefaultFTPFileEntryParserFactory", "createNetwareFTPEntryParser", "()", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "DefaultFTPFileEntryParserFactory", "createOS2FTPEntryParser", "()", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "DefaultFTPFileEntryParserFactory", "createOS400FTPEntryParser", "()", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "DefaultFTPFileEntryParserFactory", "createUnixFTPEntryParser", "()", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "DefaultFTPFileEntryParserFactory", "createVMSVersioningFTPEntryParser", "()", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "FTPFileEntryParserFactory", "createFileEntryParser", "(FTPClientConfig)", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "FTPFileEntryParserFactory", "createFileEntryParser", "(String)", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "FTPTimestampParser", "parseTimestamp", "(String)", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "FTPTimestampParserImpl", "getDefaultDateFormatString", "()", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "FTPTimestampParserImpl", "getRecentDateFormatString", "()", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "MLSxEntryParser", "getInstance", "()", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "MLSxEntryParser", "parseGMTdateTime", "(String)", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "MLSxEntryParser", "parseGmtInstant", "(String)", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "MacOsPeterFTPEntryParser", "MacOsPeterFTPEntryParser", "(FTPClientConfig)", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "NTFTPEntryParser", "NTFTPEntryParser", "(FTPClientConfig)", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "NetwareFTPEntryParser", "NetwareFTPEntryParser", "(FTPClientConfig)", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "OS2FTPEntryParser", "OS2FTPEntryParser", "(FTPClientConfig)", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "OS400FTPEntryParser", "OS400FTPEntryParser", "(FTPClientConfig)", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "RegexFTPFileEntryParserImpl", "RegexFTPFileEntryParserImpl", "(String)", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "RegexFTPFileEntryParserImpl", "RegexFTPFileEntryParserImpl", "(String,int)", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "RegexFTPFileEntryParserImpl", "getGroupCnt", "()", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "RegexFTPFileEntryParserImpl", "getGroupsAsString", "()", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "RegexFTPFileEntryParserImpl", "group", "(int)", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "RegexFTPFileEntryParserImpl", "setRegex", "(String)", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "RegexFTPFileEntryParserImpl", "setRegex", "(String,int)", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "UnixFTPEntryParser", "UnixFTPEntryParser", "(FTPClientConfig)", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "UnixFTPEntryParser", "UnixFTPEntryParser", "(FTPClientConfig,boolean)", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "VMSFTPEntryParser", "VMSFTPEntryParser", "(FTPClientConfig)", "df-generated"] + - ["org.apache.commons.net.ftp.parser", "VMSVersioningFTPEntryParser", "VMSVersioningFTPEntryParser", "(FTPClientConfig)", "df-generated"] + - ["org.apache.commons.net.ftp", "Configurable", "configure", "(FTPClientConfig)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "abor", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "allo", "(int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "allo", "(int,int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "allo", "(long)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "allo", "(long,int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "cdup", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "epsv", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "feat", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "getReply", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "getReplyCode", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "help", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "isStrictMultilineParsing", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "isStrictReplyParsing", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "list", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "mlsd", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "mlst", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "mode", "(int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "nlst", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "noop", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "pasv", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "pwd", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "quit", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "rein", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "sendCommand", "(FTPCmd)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "sendCommand", "(int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "setStrictMultilineParsing", "(boolean)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "setStrictReplyParsing", "(boolean)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "stat", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "stou", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "stru", "(int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "syst", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "type", "(int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTP", "type", "(int,int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "abort", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "allocate", "(int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "allocate", "(int,int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "allocate", "(long)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "allocate", "(long,int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "changeToParentDirectory", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "completePendingCommand", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "enterLocalActiveMode", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "enterLocalPassiveMode", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "enterRemotePassiveMode", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "features", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "getAutodetectUTF8", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "getBufferSize", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "getControlKeepAliveReplyTimeout", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "getControlKeepAliveTimeout", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "getCslDebug", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "getDataConnectionMode", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "getListHiddenFiles", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "getPassivePort", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "getReceiveDataSocketBufferSize", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "getRestartOffset", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "getSendDataSocketBufferSize", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "hasFeature", "(FTPCmd)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "hasFeature", "(String)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "hasFeature", "(String,String)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "initiateMListParsing", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "isIpAddressFromPasvResponse", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "isRemoteVerificationEnabled", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "isUseEPSVwithIPv4", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "listDirectories", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "listNames", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "logout", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "mlistDir", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "reinitialize", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "remoteStoreUnique", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "sendNoOp", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "setActivePortRange", "(int,int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "setAutodetectUTF8", "(boolean)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "setBufferSize", "(int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "setControlKeepAliveReplyTimeout", "(int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "setControlKeepAliveTimeout", "(long)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "setDataTimeout", "(int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "setFileStructure", "(int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "setFileTransferMode", "(int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "setFileType", "(int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "setFileType", "(int,int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "setIpAddressFromPasvResponse", "(boolean)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "setListHiddenFiles", "(boolean)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "setPassiveNatWorkaround", "(boolean)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "setReceieveDataSocketBufferSize", "(int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "setRemoteVerificationEnabled", "(boolean)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "setRestartOffset", "(long)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "setSendDataSocketBufferSize", "(int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "setUseEPSVwithIPv4", "(boolean)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "storeUniqueFile", "(InputStream)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", "storeUniqueFileStream", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", "getDateFormatSymbols", "(String)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", "getSupportedLanguageCodes", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", "getUnparseableEntries", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", "isLenientFutureDates", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", "lookupDateFormatSymbols", "(String)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", "setLenientFutureDates", "(boolean)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClientConfig", "setUnparseableEntries", "(boolean)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPCmd", "getCommand", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPCommand", "getCommand", "(int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", "getHardLinkCount", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", "getSize", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", "getTimestampInstant", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", "getType", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", "hasPermission", "(int,int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", "isDirectory", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", "isFile", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", "isSymbolicLink", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", "isUnknown", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", "isValid", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", "setHardLinkCount", "(int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", "setPermission", "(int,int,boolean)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", "setSize", "(long)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPFile", "setType", "(int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPListParseEngine", "hasNext", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPListParseEngine", "hasPrevious", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPListParseEngine", "resetIterator", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPReply", "isNegativePermanent", "(int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPReply", "isNegativeTransient", "(int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPReply", "isPositiveCompletion", "(int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPReply", "isPositiveIntermediate", "(int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPReply", "isPositivePreliminary", "(int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPReply", "isProtectedReplyCode", "(int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", "FTPSClient", "(boolean)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", "execCCC", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", "execPBSZ", "(long)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", "getEnableSessionCreation", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", "getNeedClientAuth", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", "getUseClientMode", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", "getWantClientAuth", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", "isEndpointCheckingEnabled", "()", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", "parsePBSZ", "(long)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", "setEnabledSessionCreation", "(boolean)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", "setEndpointCheckingEnabled", "(boolean)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", "setNeedClientAuth", "(boolean)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", "setUseClientMode", "(boolean)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSClient", "setWantClientAuth", "(boolean)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSCommand", "getCommand", "(int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSSocketFactory", "createServerSocket", "(int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSSocketFactory", "createServerSocket", "(int,int)", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPSSocketFactory", "createServerSocket", "(int,int,InetAddress)", "df-generated"] + - ["org.apache.commons.net.imap", "AuthenticatingIMAPClient$AUTH_METHOD", "getAuthName", "()", "df-generated"] + - ["org.apache.commons.net.imap", "AuthenticatingIMAPClient", "AuthenticatingIMAPClient", "(boolean)", "df-generated"] + - ["org.apache.commons.net.imap", "IMAP", "doCommand", "(IMAPCommand)", "df-generated"] + - ["org.apache.commons.net.imap", "IMAP", "getState", "()", "df-generated"] + - ["org.apache.commons.net.imap", "IMAP", "sendCommand", "(IMAPCommand)", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", "capability", "()", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", "check", "()", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", "close", "()", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", "expunge", "()", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", "logout", "()", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPClient", "noop", "()", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPCommand", "getCommand", "(IMAPCommand)", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPCommand", "getIMAPCommand", "()", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPReply", "getReplyCode", "(String)", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPReply", "getUntaggedReplyCode", "(String)", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPReply", "isContinuation", "(String)", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPReply", "isContinuation", "(int)", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPReply", "isSuccess", "(int)", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPReply", "isUntagged", "(String)", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPReply", "literalCount", "(String)", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPSClient", "IMAPSClient", "(boolean)", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPSClient", "execTLS", "()", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPSClient", "isEndpointCheckingEnabled", "()", "df-generated"] + - ["org.apache.commons.net.imap", "IMAPSClient", "setEndpointCheckingEnabled", "(boolean)", "df-generated"] + - ["org.apache.commons.net.io", "CopyStreamAdapter", "addCopyStreamListener", "(CopyStreamListener)", "df-generated"] + - ["org.apache.commons.net.io", "CopyStreamAdapter", "removeCopyStreamListener", "(CopyStreamListener)", "df-generated"] + - ["org.apache.commons.net.io", "CopyStreamEvent", "getBytesTransferred", "()", "df-generated"] + - ["org.apache.commons.net.io", "CopyStreamEvent", "getStreamSize", "()", "df-generated"] + - ["org.apache.commons.net.io", "CopyStreamEvent", "getTotalBytesTransferred", "()", "df-generated"] + - ["org.apache.commons.net.io", "CopyStreamException", "getTotalBytesTransferred", "()", "df-generated"] + - ["org.apache.commons.net.io", "CopyStreamListener", "bytesTransferred", "(CopyStreamEvent)", "df-generated"] + - ["org.apache.commons.net.io", "CopyStreamListener", "bytesTransferred", "(long,int,long)", "df-generated"] + - ["org.apache.commons.net.io", "FromNetASCIIInputStream", "FromNetASCIIInputStream", "(InputStream)", "df-generated"] + - ["org.apache.commons.net.io", "FromNetASCIIInputStream", "isConversionRequired", "()", "df-generated"] + - ["org.apache.commons.net.io", "ToNetASCIIInputStream", "ToNetASCIIInputStream", "(InputStream)", "df-generated"] + - ["org.apache.commons.net.io", "Util", "closeQuietly", "(Closeable)", "df-generated"] + - ["org.apache.commons.net.io", "Util", "closeQuietly", "(Socket)", "df-generated"] + - ["org.apache.commons.net.nntp", "Article", "addHeaderField", "(String,String)", "df-generated"] + - ["org.apache.commons.net.nntp", "Article", "getArticleNumber", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "Article", "getArticleNumberLong", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "Article", "printThread", "(Article)", "df-generated"] + - ["org.apache.commons.net.nntp", "Article", "printThread", "(Article,PrintStream)", "df-generated"] + - ["org.apache.commons.net.nntp", "Article", "printThread", "(Article,int)", "df-generated"] + - ["org.apache.commons.net.nntp", "Article", "printThread", "(Article,int,PrintStream)", "df-generated"] + - ["org.apache.commons.net.nntp", "Article", "setArticleNumber", "(int)", "df-generated"] + - ["org.apache.commons.net.nntp", "Article", "setArticleNumber", "(long)", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", "article", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", "article", "(int)", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", "article", "(long)", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", "body", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", "body", "(int)", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", "body", "(long)", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", "getReply", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", "getReplyCode", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", "head", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", "head", "(int)", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", "head", "(long)", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", "help", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", "isAllowedToPost", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", "last", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", "list", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", "next", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", "post", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", "quit", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", "sendCommand", "(int)", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", "stat", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", "stat", "(int)", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTP", "stat", "(long)", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", "completePendingCommand", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", "iterateArticleInfo", "(long,long)", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", "iterateNewsgroups", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", "logout", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", "selectArticle", "(int)", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", "selectArticle", "(long)", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", "selectNextArticle", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPClient", "selectPreviousArticle", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPCommand", "getCommand", "(int)", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPReply", "isInformational", "(int)", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPReply", "isNegativePermanent", "(int)", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPReply", "isNegativeTransient", "(int)", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPReply", "isPositiveCompletion", "(int)", "df-generated"] + - ["org.apache.commons.net.nntp", "NNTPReply", "isPositiveIntermediate", "(int)", "df-generated"] + - ["org.apache.commons.net.nntp", "NewGroupsOrNewsQuery", "NewGroupsOrNewsQuery", "(Calendar,boolean)", "df-generated"] + - ["org.apache.commons.net.nntp", "NewGroupsOrNewsQuery", "isGMT", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "NewsgroupInfo", "getArticleCount", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "NewsgroupInfo", "getArticleCountLong", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "NewsgroupInfo", "getFirstArticle", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "NewsgroupInfo", "getFirstArticleLong", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "NewsgroupInfo", "getLastArticle", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "NewsgroupInfo", "getLastArticleLong", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "NewsgroupInfo", "getPostingPermission", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "Threadable", "isDummy", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "Threadable", "makeDummy", "()", "df-generated"] + - ["org.apache.commons.net.nntp", "Threadable", "subjectIsReply", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "NTPUDPClient", "getTime", "(InetAddress)", "df-generated"] + - ["org.apache.commons.net.ntp", "NTPUDPClient", "getTime", "(InetAddress,int)", "df-generated"] + - ["org.apache.commons.net.ntp", "NTPUDPClient", "getVersion", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "NTPUDPClient", "setVersion", "(int)", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpUtils", "getHostAddress", "(int)", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpUtils", "getModeName", "(int)", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpUtils", "getRefAddress", "(NtpV3Packet)", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpUtils", "getReferenceClock", "(NtpV3Packet)", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Impl", "toString", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "getLeapIndicator", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "getMode", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "getModeName", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "getOriginateTimeStamp", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "getPoll", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "getPrecision", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "getReceiveTimeStamp", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "getReferenceId", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "getReferenceIdString", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "getReferenceTimeStamp", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "getRootDelay", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "getRootDelayInMillisDouble", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "getRootDispersion", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "getRootDispersionInMillis", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "getRootDispersionInMillisDouble", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "getStratum", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "getTransmitTimeStamp", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "getType", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "getVersion", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "setLeapIndicator", "(int)", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "setMode", "(int)", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "setOriginateTimeStamp", "(TimeStamp)", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "setPoll", "(int)", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "setPrecision", "(int)", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "setReceiveTimeStamp", "(TimeStamp)", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "setReferenceId", "(int)", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "setReferenceTime", "(TimeStamp)", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "setRootDelay", "(int)", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "setRootDispersion", "(int)", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "setStratum", "(int)", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "setTransmitTime", "(TimeStamp)", "df-generated"] + - ["org.apache.commons.net.ntp", "NtpV3Packet", "setVersion", "(int)", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeInfo", "computeDetails", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeInfo", "getDelay", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeInfo", "getOffset", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeInfo", "getReturnTime", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeStamp", "TimeStamp", "(Date)", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeStamp", "TimeStamp", "(String)", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeStamp", "TimeStamp", "(long)", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeStamp", "getCurrentTime", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeStamp", "getDate", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeStamp", "getFraction", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeStamp", "getNtpTime", "(long)", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeStamp", "getSeconds", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeStamp", "getTime", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeStamp", "getTime", "(long)", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeStamp", "ntpValue", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeStamp", "parseNtpString", "(String)", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeStamp", "toDateString", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeStamp", "toString", "()", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeStamp", "toString", "(long)", "df-generated"] + - ["org.apache.commons.net.ntp", "TimeStamp", "toUTCString", "()", "df-generated"] + - ["org.apache.commons.net.pop3", "ExtendedPOP3Client$AUTH_METHOD", "getAuthName", "()", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3", "getAdditionalReply", "()", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3", "getState", "()", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3", "removeProtocolCommandistener", "(ProtocolCommandListener)", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3", "sendCommand", "(int)", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3", "setState", "(int)", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3Client", "capa", "()", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3Client", "deleteMessage", "(int)", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3Client", "listMessage", "(int)", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3Client", "listMessages", "()", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3Client", "listUniqueIdentifiers", "()", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3Client", "logout", "()", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3Client", "noop", "()", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3Client", "reset", "()", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3Client", "status", "()", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3Command", "getCommand", "(int)", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3MessageInfo", "POP3MessageInfo", "(int,int)", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3SClient", "POP3SClient", "(boolean)", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3SClient", "execTLS", "()", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3SClient", "isEndpointCheckingEnabled", "()", "df-generated"] + - ["org.apache.commons.net.pop3", "POP3SClient", "setEndpointCheckingEnabled", "(boolean)", "df-generated"] + - ["org.apache.commons.net.smtp", "AuthenticatingSMTPClient$AUTH_METHOD", "getAuthName", "(AUTH_METHOD)", "df-generated"] + - ["org.apache.commons.net.smtp", "AuthenticatingSMTPClient", "elogin", "()", "df-generated"] + - ["org.apache.commons.net.smtp", "AuthenticatingSMTPClient", "getEnhancedReplyCode", "()", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTP", "data", "()", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTP", "getReply", "()", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTP", "getReplyCode", "()", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTP", "help", "()", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTP", "noop", "()", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTP", "quit", "()", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTP", "removeProtocolCommandistener", "(ProtocolCommandListener)", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTP", "rset", "()", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTP", "sendCommand", "(int)", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTP", "turn", "()", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPClient", "completePendingCommand", "()", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPClient", "login", "()", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPClient", "logout", "()", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPClient", "reset", "()", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPClient", "sendNoOp", "()", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPClient", "sendShortMessageData", "(String)", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPCommand", "getCommand", "(int)", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPReply", "isNegativePermanent", "(int)", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPReply", "isNegativeTransient", "(int)", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPReply", "isPositiveCompletion", "(int)", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPReply", "isPositiveIntermediate", "(int)", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPReply", "isPositivePreliminary", "(int)", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPSClient", "SMTPSClient", "(boolean)", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPSClient", "execTLS", "()", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPSClient", "isEndpointCheckingEnabled", "()", "df-generated"] + - ["org.apache.commons.net.smtp", "SMTPSClient", "setEndpointCheckingEnabled", "(boolean)", "df-generated"] + - ["org.apache.commons.net.telnet", "EchoOptionHandler", "EchoOptionHandler", "(boolean,boolean,boolean,boolean)", "df-generated"] + - ["org.apache.commons.net.telnet", "SimpleOptionHandler", "SimpleOptionHandler", "(int)", "df-generated"] + - ["org.apache.commons.net.telnet", "SimpleOptionHandler", "SimpleOptionHandler", "(int,boolean,boolean,boolean,boolean)", "df-generated"] + - ["org.apache.commons.net.telnet", "SuppressGAOptionHandler", "SuppressGAOptionHandler", "(boolean,boolean,boolean,boolean)", "df-generated"] + - ["org.apache.commons.net.telnet", "Telnet", "deleteOptionHandler", "(int)", "df-generated"] + - ["org.apache.commons.net.telnet", "Telnet", "unregisterNotifHandler", "()", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetClient", "TelnetClient", "(int)", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetClient", "getLocalOptionState", "(int)", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetClient", "getReaderThread", "()", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetClient", "getRemoteOptionState", "(int)", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetClient", "sendAYT", "(long)", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetClient", "sendCommand", "(byte)", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetClient", "sendSubnegotiation", "(int[])", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetClient", "setReaderThread", "(boolean)", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetClient", "stopSpyStream", "()", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetClient", "unregisterInputListener", "()", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetCommand", "getCommand", "(int)", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetCommand", "isValidCommand", "(int)", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetNotificationHandler", "receivedNegotiation", "(int,int)", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetOption", "getOption", "(int)", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetOption", "isValidOption", "(int)", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetOptionHandler", "TelnetOptionHandler", "(int,boolean,boolean,boolean,boolean)", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetOptionHandler", "answerSubnegotiation", "(int[],int)", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetOptionHandler", "getAcceptLocal", "()", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetOptionHandler", "getAcceptRemote", "()", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetOptionHandler", "getInitLocal", "()", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetOptionHandler", "getInitRemote", "()", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetOptionHandler", "getOptionCode", "()", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetOptionHandler", "setAcceptLocal", "(boolean)", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetOptionHandler", "setAcceptRemote", "(boolean)", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetOptionHandler", "setInitLocal", "(boolean)", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetOptionHandler", "setInitRemote", "(boolean)", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetOptionHandler", "startSubnegotiationLocal", "()", "df-generated"] + - ["org.apache.commons.net.telnet", "TelnetOptionHandler", "startSubnegotiationRemote", "()", "df-generated"] + - ["org.apache.commons.net.telnet", "WindowSizeOptionHandler", "WindowSizeOptionHandler", "(int,int)", "df-generated"] + - ["org.apache.commons.net.telnet", "WindowSizeOptionHandler", "WindowSizeOptionHandler", "(int,int,boolean,boolean,boolean,boolean)", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTP", "beginBufferedOps", "()", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTP", "discardPackets", "()", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTP", "endBufferedOps", "()", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTP", "getModeName", "(int)", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTP", "receive", "()", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTP", "send", "(TFTPPacket)", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPAckPacket", "getBlockNumber", "()", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPAckPacket", "setBlockNumber", "(int)", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", "getMaxTimeouts", "()", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", "getTotalBytesReceived", "()", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", "getTotalBytesSent", "()", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPClient", "setMaxTimeouts", "(int)", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPDataPacket", "getBlockNumber", "()", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPDataPacket", "getDataLength", "()", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPDataPacket", "getDataOffset", "()", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPDataPacket", "setBlockNumber", "(int)", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPErrorPacket", "getError", "()", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPPacket", "getPort", "()", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPPacket", "getType", "()", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPPacket", "newDatagram", "()", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPPacket", "setPort", "(int)", "df-generated"] + - ["org.apache.commons.net.tftp", "TFTPRequestPacket", "getMode", "()", "df-generated"] + - ["org.apache.commons.net.time", "TimeTCPClient", "getDate", "()", "df-generated"] + - ["org.apache.commons.net.time", "TimeTCPClient", "getTime", "()", "df-generated"] + - ["org.apache.commons.net.time", "TimeUDPClient", "getDate", "(InetAddress)", "df-generated"] + - ["org.apache.commons.net.time", "TimeUDPClient", "getDate", "(InetAddress,int)", "df-generated"] + - ["org.apache.commons.net.time", "TimeUDPClient", "getTime", "(InetAddress)", "df-generated"] + - ["org.apache.commons.net.time", "TimeUDPClient", "getTime", "(InetAddress,int)", "df-generated"] + - ["org.apache.commons.net.util", "Base64", "Base64", "(boolean)", "df-generated"] + - ["org.apache.commons.net.util", "Base64", "Base64", "(int)", "df-generated"] + - ["org.apache.commons.net.util", "Base64", "decodeInteger", "(byte[])", "df-generated"] + - ["org.apache.commons.net.util", "Base64", "encodeInteger", "(BigInteger)", "df-generated"] + - ["org.apache.commons.net.util", "Base64", "isArrayByteBase64", "(byte[])", "df-generated"] + - ["org.apache.commons.net.util", "Base64", "isBase64", "(byte)", "df-generated"] + - ["org.apache.commons.net.util", "Base64", "isUrlSafe", "()", "df-generated"] + - ["org.apache.commons.net.util", "Charsets", "toCharset", "(String)", "df-generated"] + - ["org.apache.commons.net.util", "Charsets", "toCharset", "(String,String)", "df-generated"] + - ["org.apache.commons.net.util", "KeyManagerUtils", "createClientKeyManager", "(File,String)", "df-generated"] + - ["org.apache.commons.net.util", "ListenerList", "getListenerCount", "()", "df-generated"] + - ["org.apache.commons.net.util", "ListenerList", "removeListener", "(EventListener)", "df-generated"] + - ["org.apache.commons.net.util", "SSLContextUtils", "createSSLContext", "(String,KeyManager,TrustManager)", "df-generated"] + - ["org.apache.commons.net.util", "SSLContextUtils", "createSSLContext", "(String,KeyManager[],TrustManager[])", "df-generated"] + - ["org.apache.commons.net.util", "SSLSocketUtils", "enableEndpointNameVerification", "(SSLSocket)", "df-generated"] + - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "asInteger", "(String)", "df-generated"] + - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "getAddress", "()", "df-generated"] + - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "getAddressCount", "()", "df-generated"] + - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "getAddressCountLong", "()", "df-generated"] + - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "getAllAddresses", "()", "df-generated"] + - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "getBroadcastAddress", "()", "df-generated"] + - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "getCidrSignature", "()", "df-generated"] + - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "getHighAddress", "()", "df-generated"] + - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "getLowAddress", "()", "df-generated"] + - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "getNetmask", "()", "df-generated"] + - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "getNetworkAddress", "()", "df-generated"] + - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "getNextAddress", "()", "df-generated"] + - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "getPreviousAddress", "()", "df-generated"] + - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "isInRange", "(String)", "df-generated"] + - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "isInRange", "(int)", "df-generated"] + - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "toString", "()", "df-generated"] + - ["org.apache.commons.net.util", "SubnetUtils", "SubnetUtils", "(String)", "df-generated"] + - ["org.apache.commons.net.util", "SubnetUtils", "SubnetUtils", "(String,String)", "df-generated"] + - ["org.apache.commons.net.util", "SubnetUtils", "getInfo", "()", "df-generated"] + - ["org.apache.commons.net.util", "SubnetUtils", "getNext", "()", "df-generated"] + - ["org.apache.commons.net.util", "SubnetUtils", "getPrevious", "()", "df-generated"] + - ["org.apache.commons.net.util", "SubnetUtils", "isInclusiveHostCount", "()", "df-generated"] + - ["org.apache.commons.net.util", "SubnetUtils", "setInclusiveHostCount", "(boolean)", "df-generated"] + - ["org.apache.commons.net.util", "TrustManagerUtils", "getAcceptAllTrustManager", "()", "df-generated"] + - ["org.apache.commons.net.util", "TrustManagerUtils", "getDefaultTrustManager", "(KeyStore)", "df-generated"] + - ["org.apache.commons.net.util", "TrustManagerUtils", "getValidateServerCertificateTrustManager", "()", "df-generated"] + - ["org.apache.commons.net", "DatagramSocketClient", "close", "()", "df-generated"] + - ["org.apache.commons.net", "DatagramSocketClient", "getCharset", "()", "df-generated"] + - ["org.apache.commons.net", "DatagramSocketClient", "getCharsetName", "()", "df-generated"] + - ["org.apache.commons.net", "DatagramSocketClient", "getDefaultTimeout", "()", "df-generated"] + - ["org.apache.commons.net", "DatagramSocketClient", "getLocalPort", "()", "df-generated"] + - ["org.apache.commons.net", "DatagramSocketClient", "getSoTimeout", "()", "df-generated"] + - ["org.apache.commons.net", "DatagramSocketClient", "isOpen", "()", "df-generated"] + - ["org.apache.commons.net", "DatagramSocketClient", "open", "()", "df-generated"] + - ["org.apache.commons.net", "DatagramSocketClient", "open", "(int)", "df-generated"] + - ["org.apache.commons.net", "DatagramSocketClient", "open", "(int,InetAddress)", "df-generated"] + - ["org.apache.commons.net", "DatagramSocketClient", "setCharset", "(Charset)", "df-generated"] + - ["org.apache.commons.net", "DatagramSocketClient", "setDefaultTimeout", "(int)", "df-generated"] + - ["org.apache.commons.net", "DatagramSocketClient", "setSoTimeout", "(int)", "df-generated"] + - ["org.apache.commons.net", "DatagramSocketFactory", "createDatagramSocket", "()", "df-generated"] + - ["org.apache.commons.net", "DatagramSocketFactory", "createDatagramSocket", "(int)", "df-generated"] + - ["org.apache.commons.net", "DatagramSocketFactory", "createDatagramSocket", "(int,InetAddress)", "df-generated"] + - ["org.apache.commons.net", "DefaultSocketFactory", "createServerSocket", "(int)", "df-generated"] + - ["org.apache.commons.net", "DefaultSocketFactory", "createServerSocket", "(int,int)", "df-generated"] + - ["org.apache.commons.net", "DefaultSocketFactory", "createServerSocket", "(int,int,InetAddress)", "df-generated"] + - ["org.apache.commons.net", "PrintCommandListener", "PrintCommandListener", "(PrintStream)", "df-generated"] + - ["org.apache.commons.net", "PrintCommandListener", "PrintCommandListener", "(PrintStream,boolean)", "df-generated"] + - ["org.apache.commons.net", "PrintCommandListener", "PrintCommandListener", "(PrintStream,boolean,char)", "df-generated"] + - ["org.apache.commons.net", "PrintCommandListener", "PrintCommandListener", "(PrintStream,boolean,char,boolean)", "df-generated"] + - ["org.apache.commons.net", "ProtocolCommandEvent", "getReplyCode", "()", "df-generated"] + - ["org.apache.commons.net", "ProtocolCommandEvent", "isCommand", "()", "df-generated"] + - ["org.apache.commons.net", "ProtocolCommandEvent", "isReply", "()", "df-generated"] + - ["org.apache.commons.net", "ProtocolCommandListener", "protocolCommandSent", "(ProtocolCommandEvent)", "df-generated"] + - ["org.apache.commons.net", "ProtocolCommandListener", "protocolReplyReceived", "(ProtocolCommandEvent)", "df-generated"] + - ["org.apache.commons.net", "ProtocolCommandSupport", "addProtocolCommandListener", "(ProtocolCommandListener)", "df-generated"] + - ["org.apache.commons.net", "ProtocolCommandSupport", "fireCommandSent", "(String,String)", "df-generated"] + - ["org.apache.commons.net", "ProtocolCommandSupport", "fireReplyReceived", "(int,String)", "df-generated"] + - ["org.apache.commons.net", "ProtocolCommandSupport", "getListenerCount", "()", "df-generated"] + - ["org.apache.commons.net", "ProtocolCommandSupport", "removeProtocolCommandListener", "(ProtocolCommandListener)", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "addProtocolCommandListener", "(ProtocolCommandListener)", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "connect", "(InetAddress)", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "connect", "(InetAddress,int)", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "connect", "(InetAddress,int,InetAddress,int)", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "connect", "(String,int)", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "disconnect", "()", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "getCharset", "()", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "getCharsetName", "()", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "getConnectTimeout", "()", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "getDefaultPort", "()", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "getDefaultTimeout", "()", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "getKeepAlive", "()", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "getLocalPort", "()", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "getRemotePort", "()", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "getSoLinger", "()", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "getSoTimeout", "()", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "getTcpNoDelay", "()", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "isAvailable", "()", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "isConnected", "()", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "removeProtocolCommandListener", "(ProtocolCommandListener)", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "setCharset", "(Charset)", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "setConnectTimeout", "(int)", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "setDefaultPort", "(int)", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "setDefaultTimeout", "(int)", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "setKeepAlive", "(boolean)", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "setReceiveBufferSize", "(int)", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "setSendBufferSize", "(int)", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "setSoLinger", "(boolean,int)", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "setSoTimeout", "(int)", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "setTcpNoDelay", "(boolean)", "df-generated"] + - ["org.apache.commons.net", "SocketClient", "verifyRemote", "(Socket)", "df-generated"] From 564bb1ccb02935f451598532608c2725a6f6c07d Mon Sep 17 00:00:00 2001 From: Tony Torralba Date: Tue, 2 May 2023 11:22:47 +0200 Subject: [PATCH 09/54] Manual fixes --- .../org.apache.commons.net.model.yml | 48 +++++++------------ 1 file changed, 18 insertions(+), 30 deletions(-) diff --git a/java/ql/lib/ext/generated/org.apache.commons.net.model.yml b/java/ql/lib/ext/generated/org.apache.commons.net.model.yml index 49c61eb4328..458dc493960 100644 --- a/java/ql/lib/ext/generated/org.apache.commons.net.model.yml +++ b/java/ql/lib/ext/generated/org.apache.commons.net.model.yml @@ -5,43 +5,31 @@ extensions: pack: codeql/java-all extensible: sinkModel data: - - ["org.apache.commons.net.ftp", "FTPClient", true, "appendFile", "(String,InputStream)", "", "Argument[this]", "open-url", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "appendFileStream", "(String)", "", "Argument[this]", "open-url", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "initiateListParsing", "()", "", "Argument[this]", "open-url", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "initiateListParsing", "(String)", "", "Argument[this]", "open-url", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "initiateListParsing", "(String,String)", "", "Argument[this]", "open-url", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "initiateMListParsing", "()", "", "Argument[this]", "open-url", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "initiateMListParsing", "(String)", "", "Argument[this]", "open-url", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "listDirectories", "()", "", "Argument[this]", "open-url", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "listDirectories", "(String)", "", "Argument[this]", "open-url", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "listFiles", "()", "", "Argument[this]", "open-url", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "listFiles", "(String)", "", "Argument[this]", "open-url", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "listFiles", "(String,FTPFileFilter)", "", "Argument[this]", "open-url", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "listNames", "()", "", "Argument[this]", "open-url", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "listNames", "(String)", "", "Argument[this]", "open-url", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "mlistDir", "()", "", "Argument[this]", "open-url", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "mlistDir", "(String)", "", "Argument[this]", "open-url", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "mlistDir", "(String,FTPFileFilter)", "", "Argument[this]", "open-url", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "retrieveFile", "(String,OutputStream)", "", "Argument[this]", "open-url", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "retrieveFileStream", "(String)", "", "Argument[this]", "open-url", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "storeFile", "(String,InputStream)", "", "Argument[this]", "open-url", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "storeFileStream", "(String)", "", "Argument[this]", "open-url", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "storeUniqueFile", "(InputStream)", "", "Argument[this]", "open-url", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "storeUniqueFile", "(String,InputStream)", "", "Argument[this]", "open-url", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "storeUniqueFileStream", "()", "", "Argument[this]", "open-url", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "storeUniqueFileStream", "(String)", "", "Argument[this]", "open-url", "df-generated"] + - ["org.apache.commons.net", "SocketClient", true, "connect", "(InetAddress)", "", "Argument[0]", "open-url", "manual"] + - ["org.apache.commons.net", "SocketClient", true, "connect", "(InetAddress,int)", "", "Argument[0]", "open-url", "manual"] + - ["org.apache.commons.net", "SocketClient", true, "connect", "(InetAddress,int,InetAddress,int)", "", "Argument[0]", "open-url", "manual"] + - ["org.apache.commons.net", "SocketClient", true, "connect", "(String)", "", "Argument[0]", "open-url", "manual"] + - ["org.apache.commons.net", "SocketClient", true, "connect", "(String,int)", "", "Argument[0]", "open-url", "manual"] + - ["org.apache.commons.net", "SocketClient", true, "connect", "(String,int,InetAddress,int)", "", "Argument[0]", "open-url", "manual"] - ["org.apache.commons.net.util", "KeyManagerUtils", false, "createClientKeyManager", "(File,String)", "", "Argument[0]", "read-file", "df-generated"] - ["org.apache.commons.net.util", "KeyManagerUtils", false, "createClientKeyManager", "(File,String,String)", "", "Argument[0]", "read-file", "df-generated"] - ["org.apache.commons.net.util", "KeyManagerUtils", false, "createClientKeyManager", "(String,File,String,String,String)", "", "Argument[1]", "read-file", "df-generated"] - - ["org.apache.commons.net", "SocketClient", true, "connect", "(String,int)", "", "Argument[this]", "open-url", "df-generated"] - addsTo: pack: codeql/java-all extensible: sourceModel data: - - ["org.apache.commons.net.ftp", "FTPClient", true, "listNames", "()", "", "ReturnValue", "remote", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "listNames", "(String)", "", "ReturnValue", "remote", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "retrieveFile", "(String,OutputStream)", "", "Argument[1]", "remote", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "retrieveFileStream", "(String)", "", "ReturnValue", "remote", "df-generated"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listDirectories", "()", "", "ReturnValue", "remote", "df-manual"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listDirectories", "(String)", "", "ReturnValue", "remote", "df-manual"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listFiles", "()", "", "ReturnValue", "remote", "df-manual"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listFiles", "(String)", "", "ReturnValue", "remote", "df-manual"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listFiles", "(String,FTPFileFilter)", "", "ReturnValue", "remote", "df-manual"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listNames", "()", "", "ReturnValue", "remote", "df-manual"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listNames", "(String)", "", "ReturnValue", "remote", "df-manual"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "mlistDir", "()", "", "ReturnValue", "remote", "df-manual"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "mlistDir", "(String)", "", "ReturnValue", "remote", "df-manual"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "mlistDir", "(String,FTPFileFilter)", "", "ReturnValue", "remote", "df-manual"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "retrieveFile", "(String,OutputStream)", "", "Argument[1]", "remote", "df-manual"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "retrieveFileStream", "(String)", "", "ReturnValue", "remote", "df-manual"] - addsTo: pack: codeql/java-all extensible: summaryModel From 34f978ed2661915cef8dd6be6439b04cd349e376 Mon Sep 17 00:00:00 2001 From: Tony Torralba Date: Tue, 2 May 2023 15:29:28 +0200 Subject: [PATCH 10/54] Move manual models out of the generated directory --- .../org.apache.commons.net.model.yml | 29 ------------------ .../lib/ext/org.apache.commons.net.model.yml | 30 +++++++++++++++++++ 2 files changed, 30 insertions(+), 29 deletions(-) create mode 100644 java/ql/lib/ext/org.apache.commons.net.model.yml diff --git a/java/ql/lib/ext/generated/org.apache.commons.net.model.yml b/java/ql/lib/ext/generated/org.apache.commons.net.model.yml index 458dc493960..f4807f0967b 100644 --- a/java/ql/lib/ext/generated/org.apache.commons.net.model.yml +++ b/java/ql/lib/ext/generated/org.apache.commons.net.model.yml @@ -1,35 +1,6 @@ # THIS FILE IS AN AUTO-GENERATED MODELS AS DATA FILE. DO NOT EDIT. # Definitions of models for the org.apache.commons.net framework. extensions: - - addsTo: - pack: codeql/java-all - extensible: sinkModel - data: - - ["org.apache.commons.net", "SocketClient", true, "connect", "(InetAddress)", "", "Argument[0]", "open-url", "manual"] - - ["org.apache.commons.net", "SocketClient", true, "connect", "(InetAddress,int)", "", "Argument[0]", "open-url", "manual"] - - ["org.apache.commons.net", "SocketClient", true, "connect", "(InetAddress,int,InetAddress,int)", "", "Argument[0]", "open-url", "manual"] - - ["org.apache.commons.net", "SocketClient", true, "connect", "(String)", "", "Argument[0]", "open-url", "manual"] - - ["org.apache.commons.net", "SocketClient", true, "connect", "(String,int)", "", "Argument[0]", "open-url", "manual"] - - ["org.apache.commons.net", "SocketClient", true, "connect", "(String,int,InetAddress,int)", "", "Argument[0]", "open-url", "manual"] - - ["org.apache.commons.net.util", "KeyManagerUtils", false, "createClientKeyManager", "(File,String)", "", "Argument[0]", "read-file", "df-generated"] - - ["org.apache.commons.net.util", "KeyManagerUtils", false, "createClientKeyManager", "(File,String,String)", "", "Argument[0]", "read-file", "df-generated"] - - ["org.apache.commons.net.util", "KeyManagerUtils", false, "createClientKeyManager", "(String,File,String,String,String)", "", "Argument[1]", "read-file", "df-generated"] - - addsTo: - pack: codeql/java-all - extensible: sourceModel - data: - - ["org.apache.commons.net.ftp", "FTPClient", true, "listDirectories", "()", "", "ReturnValue", "remote", "df-manual"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "listDirectories", "(String)", "", "ReturnValue", "remote", "df-manual"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "listFiles", "()", "", "ReturnValue", "remote", "df-manual"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "listFiles", "(String)", "", "ReturnValue", "remote", "df-manual"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "listFiles", "(String,FTPFileFilter)", "", "ReturnValue", "remote", "df-manual"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "listNames", "()", "", "ReturnValue", "remote", "df-manual"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "listNames", "(String)", "", "ReturnValue", "remote", "df-manual"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "mlistDir", "()", "", "ReturnValue", "remote", "df-manual"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "mlistDir", "(String)", "", "ReturnValue", "remote", "df-manual"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "mlistDir", "(String,FTPFileFilter)", "", "ReturnValue", "remote", "df-manual"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "retrieveFile", "(String,OutputStream)", "", "Argument[1]", "remote", "df-manual"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "retrieveFileStream", "(String)", "", "ReturnValue", "remote", "df-manual"] - addsTo: pack: codeql/java-all extensible: summaryModel diff --git a/java/ql/lib/ext/org.apache.commons.net.model.yml b/java/ql/lib/ext/org.apache.commons.net.model.yml new file mode 100644 index 00000000000..1ea8876a4e1 --- /dev/null +++ b/java/ql/lib/ext/org.apache.commons.net.model.yml @@ -0,0 +1,30 @@ +extensions: + - addsTo: + pack: codeql/java-all + extensible: sinkModel + data: + - ["org.apache.commons.net", "SocketClient", true, "connect", "(InetAddress)", "", "Argument[0]", "open-url", "manual"] + - ["org.apache.commons.net", "SocketClient", true, "connect", "(InetAddress,int)", "", "Argument[0]", "open-url", "manual"] + - ["org.apache.commons.net", "SocketClient", true, "connect", "(InetAddress,int,InetAddress,int)", "", "Argument[0]", "open-url", "manual"] + - ["org.apache.commons.net", "SocketClient", true, "connect", "(String)", "", "Argument[0]", "open-url", "manual"] + - ["org.apache.commons.net", "SocketClient", true, "connect", "(String,int)", "", "Argument[0]", "open-url", "df-manual"] + - ["org.apache.commons.net", "SocketClient", true, "connect", "(String,int,InetAddress,int)", "", "Argument[0]", "open-url", "manual"] + - ["org.apache.commons.net.util", "KeyManagerUtils", false, "createClientKeyManager", "(File,String)", "", "Argument[0]", "read-file", "df-manual"] + - ["org.apache.commons.net.util", "KeyManagerUtils", false, "createClientKeyManager", "(File,String,String)", "", "Argument[0]", "read-file", "df-manual"] + - ["org.apache.commons.net.util", "KeyManagerUtils", false, "createClientKeyManager", "(String,File,String,String,String)", "", "Argument[1]", "read-file", "df-manual"] + - addsTo: + pack: codeql/java-all + extensible: sourceModel + data: + - ["org.apache.commons.net.ftp", "FTPClient", true, "listDirectories", "()", "", "ReturnValue", "remote", "df-manual"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listDirectories", "(String)", "", "ReturnValue", "remote", "df-manual"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listFiles", "()", "", "ReturnValue", "remote", "df-manual"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listFiles", "(String)", "", "ReturnValue", "remote", "df-manual"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listFiles", "(String,FTPFileFilter)", "", "ReturnValue", "remote", "df-manual"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listNames", "()", "", "ReturnValue", "remote", "df-manual"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "listNames", "(String)", "", "ReturnValue", "remote", "df-manual"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "mlistDir", "()", "", "ReturnValue", "remote", "df-manual"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "mlistDir", "(String)", "", "ReturnValue", "remote", "df-manual"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "mlistDir", "(String,FTPFileFilter)", "", "ReturnValue", "remote", "df-manual"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "retrieveFile", "(String,OutputStream)", "", "Argument[1]", "remote", "df-manual"] + - ["org.apache.commons.net.ftp", "FTPClient", true, "retrieveFileStream", "(String)", "", "ReturnValue", "remote", "df-manual"] From ec44aa2597973c3e09f8737dcf7b402d84791c45 Mon Sep 17 00:00:00 2001 From: Tony Torralba Date: Tue, 2 May 2023 15:31:20 +0200 Subject: [PATCH 11/54] Add change note --- .../lib/change-notes/2023-05-02-apache-commons-net-models.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 java/ql/lib/change-notes/2023-05-02-apache-commons-net-models.md diff --git a/java/ql/lib/change-notes/2023-05-02-apache-commons-net-models.md b/java/ql/lib/change-notes/2023-05-02-apache-commons-net-models.md new file mode 100644 index 00000000000..fb918f48932 --- /dev/null +++ b/java/ql/lib/change-notes/2023-05-02-apache-commons-net-models.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Added models for the Apache Commons Net library, From 2fd8b87bcd2d1b1898847519fe221694b046510d Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 3 May 2023 13:31:27 +0100 Subject: [PATCH 12/54] Apply suggestions from code review Co-authored-by: Mathias Vorreiter Pedersen --- .../analyzing-data-flow-in-swift.rst | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst index f117f233109..679950943ea 100644 --- a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst +++ b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst @@ -29,12 +29,12 @@ The ``Node`` class has a number of useful subclasses, such as ``ExprNode`` for e /** * Gets this node's underlying expression, if any. */ - Expr asExpr() { none() } + Expr asExpr() { ... } /** * Gets this data flow node's corresponding control flow node. */ - ControlFlowNode getCfgNode() { none() } + ControlFlowNode getCfgNode() { ... } ... } @@ -96,7 +96,7 @@ This query finds the ``format`` argument passed into each call to ``String.init( import swift - from CallExpr call, MethodDecl method + from CallExpr call, Method method where call.getStaticTarget() = method and method.hasQualifiedName("String", "init(format:_:)") @@ -110,7 +110,7 @@ So we use local data flow to find all expressions that flow into the argument: import swift import codeql.swift.dataflow.DataFlow - from CallExpr call, MethodDecl method, Expr sourceExpr, Expr sinkExpr + from CallExpr call, Method method, Expr sourceExpr, Expr sinkExpr where call.getStaticTarget() = method and method.hasQualifiedName("String", "init(format:_:)") and @@ -247,7 +247,7 @@ The following global taint-tracking query finds places where a string literal is from DataFlow::Node sourceNode, DataFlow::Node sinkNode where ConstantPasswordFlow::flow(sourceNode, sinkNode) - select sinkNode, "The value '" + sourceNode.toString() + "' is used as a constant password." + select sinkNode, "The value $@ is used as a constant password.", sourceNode, sourceNode.toString() The following global taint-tracking query finds places where a value from a remote or local user input is used as an argument to the SQLite ``Connection.execute(_:)`` function. @@ -267,7 +267,7 @@ The following global taint-tracking query finds places where a value from a remo predicate isSink(DataFlow::Node node) { exists(CallExpr call | - call.getStaticTarget().(MethodDecl).hasQualifiedName("Connection", "execute(_:)") and + call.getStaticTarget().(Method).hasQualifiedName("Connection", "execute(_:)") and call.getArgument(0).getExpr() = node.asExpr() ) } From 1084d7ff0e804eb38a2596d581657b0123264c6a Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 3 May 2023 13:35:07 +0100 Subject: [PATCH 13/54] Swift: Correct a couple more cases. --- .../codeql-language-guides/analyzing-data-flow-in-swift.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst index 679950943ea..3d440b4863e 100644 --- a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst +++ b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst @@ -125,7 +125,7 @@ We can vary the source, for example, making the source the parameter of a functi import swift import codeql.swift.dataflow.DataFlow - from CallExpr call, MethodDecl method, ParamDecl sourceParam, Expr sinkExpr + from CallExpr call, Method method, ParamDecl sourceParam, Expr sinkExpr where call.getStaticTarget() = method and method.hasQualifiedName("String", "init(format:_:)") and @@ -140,7 +140,7 @@ The following example finds calls to ``String.init(format:_:)`` where the format import swift import codeql.swift.dataflow.DataFlow - from CallExpr call, MethodDecl method, Expr sinkExpr + from CallExpr call, Method method, Expr sinkExpr where call.getStaticTarget() = method and method.hasQualifiedName("String", "init(format:_:)") and From 2999b5fea1b88c47e6d09e2dba6343660e882f96 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 3 May 2023 14:29:39 +0100 Subject: [PATCH 14/54] Swift: Mathias's fix for the non-constant format example. --- .../codeql-language-guides/analyzing-data-flow-in-swift.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst index 3d440b4863e..3f0c38f8593 100644 --- a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst +++ b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst @@ -140,13 +140,13 @@ The following example finds calls to ``String.init(format:_:)`` where the format import swift import codeql.swift.dataflow.DataFlow - from CallExpr call, Method method, Expr sinkExpr + from CallExpr call, Method method, DataFlow::Node sinkNode where call.getStaticTarget() = method and method.hasQualifiedName("String", "init(format:_:)") and - sinkExpr = call.getArgument(0).getExpr() and + sinkNode.asExpr() = call.getArgument(0).getExpr() and not exists(StringLiteralExpr sourceLiteral | - DataFlow::localFlow(DataFlow::exprNode(sourceLiteral), DataFlow::exprNode(sinkExpr)) + DataFlow::localFlow(DataFlow::exprNode(sourceLiteral), sinkNode) ) select call, "Format argument to " + method.getName() + " isn't hard-coded." From 02dc9be2397d0a7597eb09f28bfc54ab1acdda52 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 3 May 2023 14:31:48 +0100 Subject: [PATCH 15/54] Swift: Fix the versions in 'examples' as well. --- swift/ql/examples/snippets/simple_constant_password.ql | 2 +- swift/ql/examples/snippets/simple_sql_injection.ql | 2 +- .../examples/snippets/simple_uncontrolled_string_format.ql | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/swift/ql/examples/snippets/simple_constant_password.ql b/swift/ql/examples/snippets/simple_constant_password.ql index b101d700ec3..1307ea2d968 100644 --- a/swift/ql/examples/snippets/simple_constant_password.ql +++ b/swift/ql/examples/snippets/simple_constant_password.ql @@ -23,4 +23,4 @@ module ConstantPasswordFlow = TaintTracking::Global; from DataFlow::Node sourceNode, DataFlow::Node sinkNode where ConstantPasswordFlow::flow(sourceNode, sinkNode) -select sinkNode, "The value '" + sourceNode.toString() + "' is used as a constant password." +select sinkNode, "The value $@ is used as a constant password.", sourceNode, sourceNode.toString() diff --git a/swift/ql/examples/snippets/simple_sql_injection.ql b/swift/ql/examples/snippets/simple_sql_injection.ql index 7695e62e599..46e7fb6ae31 100644 --- a/swift/ql/examples/snippets/simple_sql_injection.ql +++ b/swift/ql/examples/snippets/simple_sql_injection.ql @@ -17,7 +17,7 @@ module SqlInjectionConfig implements DataFlow::ConfigSig { predicate isSink(DataFlow::Node node) { exists(CallExpr call | - call.getStaticTarget().(MethodDecl).hasQualifiedName("Connection", "execute(_:)") and + call.getStaticTarget().(Method).hasQualifiedName("Connection", "execute(_:)") and call.getArgument(0).getExpr() = node.asExpr() ) } diff --git a/swift/ql/examples/snippets/simple_uncontrolled_string_format.ql b/swift/ql/examples/snippets/simple_uncontrolled_string_format.ql index ea4f34a1a9f..1e4ab990277 100644 --- a/swift/ql/examples/snippets/simple_uncontrolled_string_format.ql +++ b/swift/ql/examples/snippets/simple_uncontrolled_string_format.ql @@ -9,12 +9,12 @@ import swift import codeql.swift.dataflow.DataFlow -from CallExpr call, MethodDecl method, Expr sinkExpr +from CallExpr call, Method method, DataFlow::Node sinkNode where call.getStaticTarget() = method and method.hasQualifiedName("String", "init(format:_:)") and - sinkExpr = call.getArgument(0).getExpr() and + sinkNode.asExpr() = call.getArgument(0).getExpr() and not exists(StringLiteralExpr sourceLiteral | - DataFlow::localFlow(DataFlow::exprNode(sourceLiteral), DataFlow::exprNode(sinkExpr)) + DataFlow::localFlow(DataFlow::exprNode(sourceLiteral), sinkNode) ) select call, "Format argument to " + method.getName() + " isn't hard-coded." From 02ae44a91164d88226570bde0bbc06bc4fa3d4ef Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 3 May 2023 14:48:27 +0100 Subject: [PATCH 16/54] Update docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst Co-authored-by: Mathias Vorreiter Pedersen --- .../codeql-language-guides/analyzing-data-flow-in-swift.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst index 3f0c38f8593..31786637bde 100644 --- a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst +++ b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst @@ -188,7 +188,7 @@ These predicates are defined in the configuration: - ``isBarrier`` - optionally, restricts the data flow. - ``isAdditionalFlowStep`` - optionally, adds additional flow steps. -The last line (``module MyDataFlow = ...``) performs data flow analysis using the configuration, and its results can be accessed with ``MyDataFlow::flow(DataFlow::Node source, DataFlow::Node sink)``: +The last line (``module MyDataFlow = ...``) instantiates the parameterized module for data flow analysis by passing the configuration to the parameterized module. Data flow analysis can then be performed using ``MyDataFlow::flow(DataFlow::Node source, DataFlow::Node sink)``: .. code-block:: ql From 850686a8d98425b36edce83a4add6149c9c3381a Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Fri, 5 May 2023 17:34:08 +0100 Subject: [PATCH 17/54] Swift: Add images. --- .../basic-swift-query-results-1.png | Bin 0 -> 124871 bytes .../basic-swift-query-results-2.png | Bin 0 -> 158046 bytes .../quick-query-tab-swift.png | Bin 0 -> 41277 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/codeql/images/codeql-for-visual-studio-code/basic-swift-query-results-1.png create mode 100644 docs/codeql/images/codeql-for-visual-studio-code/basic-swift-query-results-2.png create mode 100644 docs/codeql/images/codeql-for-visual-studio-code/quick-query-tab-swift.png diff --git a/docs/codeql/images/codeql-for-visual-studio-code/basic-swift-query-results-1.png b/docs/codeql/images/codeql-for-visual-studio-code/basic-swift-query-results-1.png new file mode 100644 index 0000000000000000000000000000000000000000..d8b55b0fc83e784d29faa849512858e960f1b9bd GIT binary patch literal 124871 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%0A|oT)mURaSCkm&b2b+= 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 literal 0 HcmV?d00001 diff --git a/docs/codeql/images/codeql-for-visual-studio-code/basic-swift-query-results-2.png b/docs/codeql/images/codeql-for-visual-studio-code/basic-swift-query-results-2.png new file mode 100644 index 0000000000000000000000000000000000000000..83d0414905df935ff81e046704972e7557ab67f2 GIT binary patch literal 158046 zcmb@u1ys~)+c!!xguuWcol*k|qJX625F!mqgM_qnOQUp2DInb-sI-8DG}5JjFq9xj zO4pow+)wzt?>Xn$-&)@+_u6}pGyl4;`-)#ogu1H26+&7<3=E7bN{Vut7#I*<3=FIo z2o`w9mXz;4_!ohbqMj=T##J`-KbYy1T`=$_jT=JOP0R7Io981JOAMz+Hc#AmpIEvv z3-I3Ly~V%FY?F+EfqJbZC#~&e{PQBrlTs;VJ8m#wXU@Q}`RukQ9svOhfg@Wyf*b}3 z<%+<{Zzl*MVA>w;)Vz;8`i$kl;f`VD-E6!W!*GC#?z?cSE=yO(%!W-qu%#h&W=<2v~OGjH0Ft`jEEy;%qZDl<&9BJ#TP8;{`m$ScA zga$K*-jMfW=lK1)%8~Noh0pQYZlzo#I7#Re$qCJ?IMQTkxU(O~DeMS1G((vokD@e8 zBK~?kizv~6lA=G0_cuN}5gjS)^0UnM_ZOar{P%+w6c#ev^*JB>cE*Z;$b6En%d&+N z1v5hiu$~x2MAYC=fSU?^+gV)M@z<-pLsL^zQp|0+?GxwU{)W~V38U!Vgx{-dB{EvF zzxRaJdfv@=Zb!gaAXo6e`Ii=4hXgYV5Y@Z0b4-%o&xc5pwO`HqNKWzlMMRNjS+@O@ z9XvV#X1BAFl=tXWyN;YpeyOW`Gl3N>nZf^9vevdwx46N2!T$Tz$WsV>gQC}#{J(z| ztnKO7oNIsg&<}1)k6DHNUfgGYYpobXpYHe1c>WHZzp=U#_lMc~9}vl4%l@r(Jz^5} zI@@~qch}YW>$*YRcI4k&B4rhonE)j6jo9yp^Y^0QgCokS?nxB-43PgG1mFx}PCGlP zx176%r>}g;|{bxi;DhKEAYR=8r)2}$=ua{?cs)mwFwdV3r-Mrq3FHv ztZLx3*wILyLLGxN&K+m{dRmtMwNpoMRO+_p(8vBO4>TlDr_h>6sR;DIz9Tdj{;?16f1E+10Fo%jMogd{V}z3z#TV z3RRpEMHQys=Zk2ZVR>tIYyp|W2R3`$qt!p2)E%l1+gzZXS@{YESPRS;R%*N!Kp)5(%<;7Wh zyUa={yO5B_;m@!6Wb~qLiryRe^h_=99}lF3hcnsI*$cI*-C+Y6lgNq!&Z<3WswpQU zBjXq#C9Awi!{sntt$~`jt)Zc@B#~cK#Pg6#Y9Q`fSqvVhsHlGB`m-)vMHX?UB1-*Gm1YesOkgCQOp*WuoJAV%x+;6!-`rYEvx))ze{y=-if3(7= z(Xr*?u-pCQtOa!jmL@~kS!TP7vbEXwC|;6^&sclL!+xgrigSEfLc)TezU9f@3d+EI zsVj!NRd8Zr!p-)LLEQshqK1YBLCdvn$xKoAQWrryB_$=dG_c$aE;Y6X8zv~)%YgL&(6Mg?^A6u@=&lLsz=S)Sk?Z>Pr+dr2nG(L^wRjnj_kCeOer=4Y~TMm;yzuFGTKPw2wCA!L$Dj5#bPz#4W>c{^!U2$6M zYd6$5KR6;mwd#JYB^kT37sM;3{e###m<@=htT6I}<`qsQK?inVc_9zA@m&m}n2ej$@Mi=(G?#O_KIn%=51IUcT?qmaPG{ zDh>;HPq07b#wUWypH`9^U&q3bk&y7`J#EF%KUb!MQzwhs5r0tVE9&Dx5H`LG(}!dX zMsHq%WLQFG<{)7xWk%Yj!Y-YVz0}$V_lzgk~R}>ug!((D}c=?#Ia#>t%+J^qonIyoRt5`U# zZF7flRKUi#fA5|qZvYuQHV1zYrgJRE+zP^JZa-EpWxV^e*zoe2rd(cN zu-n#b!yU&t7!1ahia%TG7F!>cTy~Z4bS&#Kzc%FiXn}GZql6~iRkBcs?X_{F=8M*y zZ=Um@@8Yh+#bE)Lf6GI|7_~5&tSg+Z2+etqm&m%F-WGzd<$2=^2xU+pl$DiNKfkK- z*wkP7*5rM8e!}gcNDu)_c>Q`nl<=~oxcH@j4LM2p)Kw#s-u`|qv2k*8IF>h}8(&99 zr>Aarsax%}s5{t5eH*(or6VdNDXj7CWwv@%k7FvZZ-5M1ju)(6N(?tUSf6lO6ujqf z2jcAP%yu*TbG5_9fdoW4Tq+lFvrLKRAo=C*m+nj5d-v8~-L^7r@?z1HyI|FnlK^Gs zPA=;;RTaf%vD?=;`Grbk_s6{TQi}?TJOmWhNYxw_G;!?pK2Eh!%$dU5r)4F~I>NKg zmpNgCB=o}BSo$|r9!3f~FX9x~o*(b_tw^#WLMa1I`c0ffTaG*V#%tw!3c|%ax5T}6 zq#Sgm$XJVGe6p>EGTCmQ?-xm`C@QKOUlE3eLc+hh?u6d{cQlIUhaVq%ZBta1%MFS{L!AFasZQTa(j)ldCsIl63Vjz>*At7gqwUJ3M;PpI`g}+rmeQ?|JA%RP zkn;l(uXdV0viLRl;>oYoE1Zb@{QUhxP!@tCVFKS8J(+HrV$eSO_Q74N;xu2YNEKum zkYDDmeyxaO`~~*&(T_1skbl6f_ECyD$%7mff=}Az-bMh`$*7(a#eW9EE% zYLiDq2u%9v*=8MVp)%ltC$emBvcPVt!n`XQ&dXc7$v)o3!yAcXJmuF#90(Fb-snqF z_x08w>P6fY+A z2M=vfgP@G)XjrNnujPAA!XRqa0SPltrOMvkA`CgDrGz)`uS~Q;oor!Nb4}iT8!TS%VEou}!-mnr*#wtJjGZLyIp*-# zSXEWku3ytD`D)f9IV;Gj-eq!pI2KYOTxR5@2Je*?%~)YB4e7&9illsu{BW{D>9Ee{ zU@Ovj(hDu@i`cib|4}OBH9MBN<35>vT^}VV;MOF|PN=h;C}p6vn=Jn^Q8u;M8D*o@ zx$y0+PDP*^KCoTe~bsFFVJ(H(nDA$I>~GxnSND|>+trq54)!Nb4QI?zq8Jm+{c zV;-B|F6$e^Aojr9Xt+d+b4j7j{%dfk9>uGyEVWGNHTn23np+kST*|9gxl_Yttvc$XWaHyU>$fSiIQ@rr9S}_CCOR*_2;Dny=k49@(!`0LYV?RugJU@c zww$lwAUn^{9RNJ(c+)Y!uF=@p!eTkq#9!%kQAfaecYvvRkv)BVX1y`3m>0AY3s0MO^i@@t^v(J9n8ZBpH;5x~Gta#~JgNfSUbWIj zLEd_y3idLoOhTEh!4he}vFw0zNcKnpBtAY~>cuC?^G}jaoXnSP92pS8h}PaWJnx)@ z5?Ey{uW%rQuNz3Xj4M*Y)sK}u1p1TvvF5IG#pYNp?u&#=HNukL5>_ZnOJmCDh{w60 z+nj0wn=x)gHbUj1lX%X$T>0(}KSQWf25rn{tBKJ~h-ReJ6EFXU@8t{}qYKGw`^jFz z`qzqT-UvEO3lQE4^=^vL*49=h3z}yTv`r$cz;zJEVeu7nTWfuYpAN~r-|9=)IW8TN zVm6p5VbJi?2~?UoSR_%AA){d-eYL}k$3puvLk`T#ECHJr{uAo!T#!oNJ{@Hb45*EK_pAv8@eEiR|T=gg0KbMo^;XF`wh(`(5Qrqusge@e89K&Lnfrfz|Q;lBNS zqp3$ApIgI5QQW2Gd_oL34tzD=-Yu<-U>qQ2qFsNJ1e^KUMjCqY5V%#-iq>RcM)u)!PQC@VX7`zq8NMJWDLfb9D4tw zErv}QaqqoQGup)KM)giX=K`N`;rZx()65lY)@mCmeEtXCELe<;BP{^|;_6aITi+Q%TDYHB0@DkywsOsJ&*Wc0_2Lxbw87&eMdwBMpIKm9An8QF7fl%eMX zAAjvjgFa?`Lweh3d!mfW-NE3MkV9IeHc)3>MqdvsTYT{&;R=={Q!M#$Dzz#(OY+>DPVTOxUUSgTkI(Qb z)2z_PBc_&;KD97gegv19qNZ+A(XBjy=%=$PqtM-yj`t)Wc6 zL7b`K*U^;c_FSj(^@>}UEJL7)w({eW*izU-t?&gj_#ANeF+ORoY`IL!kZaZK0Qp~f z5Oo}flG1DU3)+iD_0mjFxP>IKVz}&qjq6s)GSnMkFP)Ryb50<>=hPOA3)&1XJ_+}A zmG}3R+ z&)bTbFfRFnO~2rZWs0~y?upNlSC>F{L*P~H=s>Wiyt(ixOzRF0ZEN33Y-lLX)+pka z7qT_z$B!Rij*@Cj$~gVfmY>hI71gapoUm)r9fd6x#EU?_8tjJi@g0RT`#Er$En?ye zU-xbb>gMT`8`EzHPGKz`V?rwB7#f@E1cqg1*GMsfFsRr=C(8&(^Y@#Nc-Vih^#KVH7 zP~YF$3+g}4%v@)fsdJoKRahS{p&00t<8mC(hM^kW4jNlCEj)ZnCt`H(4MHOHgJ2_^Enn>)glRTN(q zkVL>55qssx{EVh*X*JozTNN1b?r%n2^T*fCRLG{mw;Pv){g zY@}d3E{OHo>fva5L%A^JZUJ9>*m63-*DUoK8CU>WMmhTbqGOwQxqz=j)(L{Sz{N%r zXE5qE8FJ;-`7r^&z#^}bVmz!c)Zis8R_-MQxljBW*K}OKx%tXotIb#qlYyZz-=JEG z$LanLSw=H31TR~yY=aJWnLi)$Ja=MDA6op5>7-JY>W%;vEi znXh|AGdf$PBc;X?_9%#HZiQxmDD{|+2oGj==93A<#^Flr1#S8NF(przkqn}?Bg9BY~Zy=&+ zZa)_n7%NlN)Fhv7GyU@R(elE)jCm?P4YDRk=38P~+PyPg<0jn(fp}BGEB7Ojt^#r- zt(@tgi)Tz>ef;^QG$TWX@UwMS0T!L*j*S!-y;eKy&bG!3mx)_XkDUl*z(}PCy}Vhh zKtC|PY&s+V++Q09dDl8gbZ?k*v*l#K(ON6)@s-nwN`FMUO$`rwb|!1w;I{vf82W6j z>6G5(S+Xun?+(Tq0tqxDk>ZcMYB08Xx*FNNGb+QeCvh+wHABxfAobMsZ3Fs50@tO6 z)KXZ92k_1Tq9}G=k7L`Y!=st*W)md+=ofug7;G1$)yT(2Cr4o_7I&9zS(;>|^ z0vH6*oqzVje?4RZ0kaV=JipU@4PH<6xHp@n*w!p#{CeVrG>-PyhANB%3{qLwqTI!q z0n&KEtH#;+LqRJ@d=5Excrxvx=T;52$f<57(|r=8MEkF$^ah5tR9M@+=Q{eWpGf?T zjvv8UuU!if7d@Y7xvM}iG`Q?K!kohDL=c~dLu)=>rN(R^%nyQv7hinP{D4*}atA~P zKuG>VPm0TJl%Q6F8Q!P+HoE1MkL-SZAA0C}nw#rUfMdregbae%idn<4HdXh&TxMWi zOx8NgINhIC&bk^QRR$fgUm&>vliToC?I*aG%@#-#07;C;$L}WnfqWJeJRDrqa~-im z{#6w8O1aX+icK!=KkF@e$)|DO1gyN55>;_`ubG}~-N4+eV4^^Mx~7RUQq`OmG)4Ey z$jqA3&hbIQ>U>m~GJLUd`(vKFt&s-}%oNXZ535u?I zKU0Aba2Jb5uI&F9`*L0;WSOW46$LyD^>vWWUS;=Q4Xa_be^cIcfAa^?R!HsPx+oa~ zgNiS}9Ml>FhR1W%tDE0NOurObwWG!OWHfUfA%{RDSbcha#oC;1xZ|#uT24=fe^&C1 zA(i|9UuZt;U8#qLbynipuY2RdxO>O!i1_cAToi6z9Rzi1ijl*O$L>2MGP?()DvD<# z_*`Bgm8o}jHcrVOfKYKKVq+}8of`Mx-|%md^t6O9d0GAqZn#fxG(C6%M z)3%XU+%kTeL_gB$QUp7){1Z0EOHe^dZxUI*(WDn3>m92!k=$F`@fiVYLsw%{-t^9_ zlQ8nLCXRmdGQX5T2I~&J3Y%*7rgHiN&`!%WW-nA2y1(nABcbBY$eB^ANs?8VsxK~W z?}#2$jX8d@tC3n*NJoe>Gi!*tOXdMb?6_c!H^v0tOCKEO^am9pM}={-BBV?W9Sbe{ z?>VXl0VD=@*};J$knf}!@jRJufABo~rB3=CL{C2;ZHm?8&<|1ILF?5l%}|pm=v&yr zPG)baS}JQi<-#Vnxn^iZz)i_ZP!T#baR{TWwo!h|J1i%LN1`2h9`kSC(ye@9J9vF&7G_A1lK#H+jb{9 zmRS*Qw!7Hrc0VJ}#XE><;Clk$RzY}pIHV~xp*sjPSYun)5yOR)FYvwM3FD~v3qQSo zRsd-dSP;fBmhb7Mu!3F|(!aUp=Z5{#LLeFMC%(ShpgFK<|< zXk>us5l-l#;92grqeL8nC6I_=9gdGZKYu#CoK*#&+8qmz2=8~iqUBJ@#!m7X{)IUBX0S!2PS?8$$LJ>00s{|9>-TXPC{>Q z=9_4o?-Jb}_Yz#5PPKpq4miKq4j7u^RfMTtVEP14*l1iS(iyH9o@Fe%+3foPWfw8zjU?)0H zT{iM<%;yW_b%fK?w{ut-07pL#%MYKOHH?g~!r9!qVmxaGiZptxY#WmW7^7-KQ{Z>e zPW$Q z{&GIXIU7pxj=_p&rJfb+!8bC^#tmxp*u0m1+yF?3cRw+O)t=si`Wq>by@b89|9Wc= zd0jmxA@TUNRY81fK4g_3P00R>RL&rUfF1=I+gt^e6qKEGRGuR00zm%-*$Q!tBOKhW zYDuU!o(bVFOaRp@Eu)7tvsu3{Y!O({{gO}EAqEf47VH73&_{bevRG1ANXmCqG+i_N+X+D-Q(%XqzySaIlwgxWr!pmVDL&_M=#z*;rL0`?Z@b|b88oP z>T6hA<~#H57hy_@id=kr-8^znp744XcW3x~5p!P;EtK4Bw4LCNM82r57MOPKeZk&W z5QL+}#rZw}b-4`Z;kiZ{!U4y92h%V#yr20S7$eCpP)q>(v+1#V1{fJ>ht)MSa@w1i z`yYgb8oxHLP~En)Cg$DzdR{(RG3C1tN4$;4C{)X;XsVfaMuGkQU}g?L+EkmDpaWbP z&HiZGswwyA5sP;@!;yGva6x!XjWX7nO_`+i6Q4j@sfP7-rX^H&zCnpyMKbx>JRy4v%UMls2~7t17URa7 zU68)UJ=U-@*tD5xS$Q0#{!KUBj%RHJ!>)L9`JtT%nj6uQyab@U*WAx$M)tnL`u&3EtK<;!|e(CHSp zn%r5^roXw)127fvdUumwpC?zE)4Fs{|6*}M*^16`gnV|m&e23o&3&Ng$hrVtS+v2l zjRC_+dbknAbju>##Tx__r(~L8pCu>aEjNbG!8$@Um@|a-?o(m!XvSXv#I*nRA$bwG z+Vg`vgJIK}%@++w;b$mjh@g` zImQix+UUz4^DQlezv9!=4IVsro=R5pri7}8-|t-R-aWzy8d!c4E5fTtWh4B`CvxIf zZ3R~p-DdVZK{p_?$Arl|b0T~lVPR#JxQd2uVjK%n`AlLhFq-+iKELEIQhl9Ud5&cYXxM$% zfQt>2H+=D4?nQ&nfj)ZP7fGxjH6LCa&7)>oF6iEn4L&{mY6Wv0$whqWP#XD;W;LLY z^>GexbN)u%Ai2%;*PnuxhdltC{@`wiaw;!86<>k^^rvhuau<+&I{lk7btUI(RPFly zVBlT^4A0K+xLP3oeRMBcAtl`<9EXt)85Ivq;64hCgC!&-?N?=85U=h5l39eGG$F{}$s%fRGWZVE57R<5lRp|GPH_)Ag;hR=7Qy(Wh2JYq z>N!TH_fQOM_t9pDq4moJzR@nKei}zj9He(aJjTi%=L(m|h6FV`Vf@@DS)O=p(L!Tl zDFF4uIlyjsJNM}XZ?=f#raA`4{g+7BVeB$!czG&K0RO+^`dw1e_-(5}fnwOgPCA0461*n^PK>JrJ985s9n_U5?_w04+4Sg=;Y(ccRH6~FgUWvK3De?Z`E=FNrp?G z%k-&yt6n6)!B&*&oGho_7=-ZzYh~9Yv;mbaXGuQC)PilhIFy+l;s?-kEsoU$9 zVxGKnkm*{7sG{4pM%4(N*6#zSoJ7`iPIY{YOkN?aO9T$))ylmkWsq_;3^^dY36Ph^ zOZ)m0=R;)t%a=XUUds!;SfsX!X`A@e{nyMB&rLx^wicn!TVUECjF_z<+49Nta%4x|{GTke39$cTQoNHrvjyJH)2D4CW7Sp1P+pAQVy!h-N%Ct=;HjqG|5ln1Fy4GW}##;v&CG`jV zp=phtjBK5G@JR`(*X)~j@I880>7(xlw;#bCRE#78WPv=hF@GO8U!qENfBe1 zrbe?OG>{W^t5tgVtyV(Q{>xvsSD34|$R`Kad?HBFs`leD70=aFu^HjH%FrH)CXM)c zLef19UNCBPsSB9iCx0eXL0BwS9*S>8jm#ZZC%53}#HppByZlR;sP;6yC+@{k>awSp zUYbvU2glF3^3NgWiA7eP>mzsd5v7)`MFR1`1TFqMV`wp?}m_Ce4+)px0` z<>JlVY9;^&RNGCdQUwt^RjCWKwg+OazMz9+)wjfgxfvw+I*B~=xGNx`4N5__zby}# zM)LwdAqX@G?0!#;tUCollSOa1UP*A;GY8(TIxao)_Lz?iL{(tNAxshezS(<(SoGf>*XuW&C6HB*G?#W9gzza zW_H;Z*})rTud@k|&Ly5T8_4kwp4%0R4T-F+K*we6+1eMR1{5-_RjLcHr2ed=rI`D; zx~)8nv3ZN$G<#SNDh!oSU`7NvQPCfZJ>z_9jEuTo$B4vDNc5s zDn`vd2P9VnmOP%L_N34Nokpf z-`^>;-A9RIXnNOeot6*_qo)zzz|UX18? zr6MIXo2)beB_Yqu3)x14<`gaQ_rh|60NTHDFkEG&_Ts4%K~mXOLq0>n=_o1sCeC5K za2WLNPWJ>7J-ix;z6?%Iy24#U4qisi?!c7M(M%)>zO^y!XHHY-$9pL@=5|6R=KG z$j3!0Mv)lGDc7a3xFDw805buEdb*JFS+N%*0EIwbl^;MviWV)z(F)${+(GLEWO>jG z>Iz{J-JK`YlKAmGU@|i>`2{9Iu69s~!L>C-X%1Uu`4t*ws_g&*vD0r7L*a73(ce6S zL@IM_B;I_iNUg>D7l*^T1VcU7a`on@yEj9YWPobUhn`2Rw?@GpP453ii&|nr>9(8# z%8bF5QGZm5$y+Mx*UUX=wK_g|VXd9?X4{em#-W7U8ksHUbO*L(r`^Q5$>oX(@}$|) zfgry_y()ejj4V6X7eedymM(oTC*Oh6oo&dt)4_sjx!h>set4s)_&Gl*WwMmH5GP*p z?Mm9c?hjFF^+6z&rSF8h^`_h~u&x}w2fad2SJBb_RW1^eEcg;Oax=TcaWhT9752u= zt}3)u>*e=Zs~x;Y<3pdjnF698ltr$JxHvoWGdfl4>Fbv+P6US$kqR?A?VxozqBx0J zS&ki3Z9@lZBeIA$okg&mA;Dz~S{uce{vLS8EHf79rf8lBwM2=h0-YWQyF-XGAX5#Q zKU^)_sNcCGHGg(Z(ZLt9lG2SVU!}qDX1<5f8o&%zMy-t+%OO%<)s3g%_==Qqxy(*d z7U4Sb?Ts()THxc$Jtm>P87PELLSMW%aS!TspfyvIEw$&k@GxmAOCVI_pBxv*UnUJ8 zf_co2AOk)O>rhNa(?>jrn*isQPQQg5p#~*%u&=MLzrVkyN4?^-2(**d-*egf-iO_R z2d~XFpJhvj?2LwwbEkTe6#<%7_}V#+zoPdAzTQ108CjEt_247cgREyDs11`cGU%(3 zz2?cRX6M;;6v z(lPu%0M_(bY(IG;alNantJXCp0ndK1x#Giz)1HKDVD?Xw47f}9oRA1w?;IHwrGcR4 z`-NA0(G|z!xSx(6c(y@JEgS_@pt&hk3>Fl`!Y)7|!YeVi@cLIDCag9%7>gd~^drh_YPt?R1S;WPRm_aV5&R3Xgy_9K$t!SQ%7;{AInb2J+1hgJ(-y~s5z_?Q>UlFnL`BJJ(chpLe>M262GYqt(%MBaX4%baYuaRp zA;6Z@52dGhbHPgLm5qD`;lmxzY4X1~4J=A^!ye?4kYJDuOKC0E$g}>kZ{L_KL@esI zCe=_>%g~06#Rut;&1%>rPJ5bk({WUz$2rR-G#CCXYU^z_R*?DQ$B!2+xsfT@Y45FD zAGMHI2X@l7+)qsD+iG2QioI zjcQGP{=ATZ7eL}b>-K{Rs0M31!Ub5+HQ>9D>-Wzy(qrxJ5Z$UI)-?7eYM>^3HAcY!2PlQ>ioPkg;a`A1D`)_gHAl-DY{3A8s>NsBy0qWNCB-#0r+phqPro7lg0$ zr#iY^d7@U64vayte;I?UT>yulBnNp5U{)IPk?233BYF@3LOaPP{&ommI5)R`t^HRZ zuAA_1%?I79utGdq01<=ZLZ@GpwO@zyozG_20cR`atj;Om_EorvnTZGF5>9^fJ5A27Ea< z{}E5`#>WAt09;SBf6F`M1BCTqq)dO;QjNm+^8apo64a3g_ZRZ_ zyg)!a05n`Qm?vHSt{<+Qh~L<64kKhA1^-l%_lwvCURoII9Mf;$h` z1pj)|De8~Qdlvogk4paeH9&R!^K9oJQU2?{Sy@;XzPvLBRs`~Y-@`*tI{tZb6OcUq z5ljC#>Qax=tLfr;|~oER+PAX z|J+ufT_HuVkW;Q(W)?8R2o(9@(PeqHbn#u>lz-lLwfzCWRA^NrkAGGTsZOxZih3Mv z&V*?*+SVZyVuEcxZ-(f-d~iFsBK{sK4B0r2Iw{Q&a7+FGR*c0v|0 z0>rhz@T!@)IehRXzj;zw?=2wIUH-zE^>nn>!C-|Pi=C4b|CKiodvzt}hH$c}M8(g> z<=8HNF_Sn3m2UwPI6Z(RibXsr$U*0);|$u><%U!9OKH{^u6H>~| zEZ0R)T4tgea_LX3bI<-AW0R61v{uJiD}hzYJed$}z5Q!X?L^7H%#O$p2R@9l&7Eu7 zjz6-V?kQonBrQ64qkT?cqz`8pxp{aJh)s_%@zH}pLp#RrJ9!s?@;{#h)ndZqhJf@K zAOgTXZ=-2hC!3k6%?yu@-k(*vRQi1vz#{jB|80YUei{rjegZg>I)0R!wA}r?+F?hI z#FKuU>mpxnoQOqSLYfJ129d-li9$5k12LtXkMu=+ED z%LSXR)7fKlx}cUW0yN>*XuR&!4!!{?>&6_|{7y>Ehx@p)08a>yiz||*1a>$r-l=LS z!2Q)xUDpk~tzY-#buqL}OIJ4>pXNygN2z>htv=+tfB6()pU+MqD?-;sUlYgrSo625 z^sn9SFa4KWK{*nbAhrN^2*6E4RiCK3N}$jHXhOXnCSCV^6&1ueaIf$@G|HIo1|#c^ z>=$4s+yYaxXPI8(d3@mhzFP*fs#e2#BIuS_XzD-P8eG%X#8Jhu3Kie|Dn>>_6EWX6 zFo0n6Nw4cjL)~q}{@}40X)^Tr^S%gGWO_b80_#Ntv0+mHy9CO8;nZKuM8y6DCN2KL z!9$HDAX8xD5x0`MuMJB#$l$+7NK6FNEmMsV(JCEpu8Vi~#j``aQgQmA)p@5bgEYSs z);!`R`h>Cr(J={sRuK^zPr}H=Pr()8-y0IK5?C?z9DaQt_~HlfVxXanSA-V3d@~eF z)yo-c^mL^E>h&}NgpXC}2-<7XJPjyd z4!dI+WO1+@-NNHi`6++q0D})q6ifp@f7**O2OR^O3BRa{b#6ZBSX<+cbUSi-&>I*e zwgsM#iF`i;T#+$l|nhWncWw!Sq!RBHuTxk5CxbPgCCV8D*Su}20N zCYU!6ssMLqWetppQ;{))L?H45@ zQm_6ZM@MXK2?y77k2SO&=f8bR_OBs)+Hh7| zb5;Q+LE)&hkV#4}un(F6@qF=(bIU=LBG~JXt;2_uNh(}DUi(>)#6p#z5O1Fnwbj$N)fD%&Q1-G36^MKkMW$mgicP18>4b<&+Hv2j zL?>fn;|)9JkO5t)F@oR<0k8!f;+;4HXiBFHU=d678jv@45?pcHC$JpI8N@u6XSv{T z4dW>s4@sAM({+w5z-2fT$3r#_ct6U@tK4|?$v`5vSx}i}A)x|T>m%H$0+4UjjZJoP z)Fl?%f2>gG@J}0Y8{hCRm@SSBs;kAXs2mAz{}$x)DIK=(-qwXza?7UYcLJ%_-NEzQ zT|_JuOi0{*{8>uH(&&{MguGYR%4dHq=p1wM$St7lM&J@KUN0QnYgnhqr&kFEbc-%s ztJlyCK0W}LOR^#hjJ-dR&zzGc%7}r$1%3n7th+`IL@KYsdnTa?La$k5j^mMfJm{YE z5ep)lWUuMqCGwdiP>jQ>c+Iejy@$4f(6SkJXg>|5>?mcDYURk)@sm<8oDpGD3 z%%a&86Fkc0A0 z$eyi}0)`1BFLmIeM8itde`HOE(@8^Hob(A{H1__DT1t9QOVts3H^Jmd`8X##TMDsf z>T5?P49EH5m-lpjgo`5hHicK?JhTW*uiP*2kEo_oz?OCtiHKBWGF`}ce1w~MYaL)8 z<8_vA{mwitXb`jnWr~c&qq6P$$Cv=nuNVOxo4uuSNO3XODIz1y#Tz;JAWu-n)fV$|_@m?e z$J$j0D6?>qwgxMMAl=He3R#?+c_h%*3q^R_O!*}{e#mO}t_Idgg1N0hNbtVzq)*xd zIF={Q6zaJ9LQI^=7LacHahTjnloQw@Muq4|beO?rkKDS2y-fE_kPCy`_J&(fIkirr z>&b2u9uK;SlZjdZj?8Td>U%B9jN)E_e$HeyH$ovG9051E0YZP zZel3$N`pxwjh-y`B!EWfHGsfKA$4QATj`hGZ+nkqfUBcpA+Y(Z-jNtway4z!lb?@ zrKCKzv|Pw(=X(eAQQWp=54>hLIW>g==>&x9%aTXPrNz-76qDz5nkSsN>8^0R;*)876%d)LaD6==LtDa45Y5yD785pvBbb0atHtQ=|VA4q2bw1o8v z&jHQADt+_lHFmMS#<~-kBlZL03<{c^*Y#l0fu=A|l@3r64;6gAA5%7fs(t<$Q4l1C z>ps1=(%&1xY{WfmCpp_vFCXsML%G#4IxbMR#;F;iy!skOZ&%RjGZ+#rxFp`bdEU%)KuBnl%}HfzTEVU1?=}#f zk@JGpiO)$s2fFxi0`piMgNh{GT68hj$pETqyG*uB{07!`g>$AHTQMYZz0Gf8+0g&I z;L-1Hb=d3?JXkW~7ts&?N=`QO*91AR-Sr6``c-KZtI`@FFZMESS{-NBmM>zEmWjfagY#rw<=}Dm6*OdQ{VNqs1y#*3mCvdka$f2^W${_Tnpz{$H8E@x274&U(o`vZZCp-<}E{Hofr;i zh!PT!yyh1(@*7bC#$8;~=-kVcP-3xwMS8B)6|uUy zYEF@S4e^N&&~rz~wL}8-!L|1K0|f0j@H)(DJ99qB13`frEO#1J;T2qHE zp4Eb%6nO6P`DI>+qj58dvtpG=LHI4ga)Y{9ahzMP&QD|Pn;jaA7yEH`@{S3F^^kIt z8r69Uab0#*A~_cwsT0S~B|!h(8ZqX^`haEf9&l#?B@VLfN3jE`uro~Aa7@JY``fTX z_e9F4aA;_*qAF|8+2AW6fEEAlF7bwAExbUA1!liJrM=L5k)}$?x4%k!fVGjDnE}Xk zS>d9@(7$k2pVDB45!joSr6+&fqJAG+q%D)6ZY){GvARcraYdaQ4c%QO;!ffFc#Ng< zVfv8bpJAE|YhxOrt0X?aR~ZhS%)87{b8{15U+PWdoJ_&S1r`=1hcHYKoG>aXEiAx7 z6<sD*<^B`ZrIeucnb~YD)IapGuUF9CNy!o@C;b`o>`%TZA&T$d0Ssbk;Z4v$D zwSvJ3tjE{n@`xDsx90<%g#o>uy-VFOU|`@_A?Nv|s-9c3C59d+j+-Q{JQCh1yhisJ zpI4;`VjL;4g9-dHlh$2=x&Swu+Lz>)EPnABmN_s*LpPs@DF}UPF`Hqxcx~72V*`Fr zLEWzb7X0f9itFJG&{F2}?2RZeJsPVd+T`2UtFE{vn*X&@^Z%jhyyLOp-?wkikX(qY zsH`%w_a0@Fm6c>f_9mN%vZatMTeA1w6|%FkXZGIDdG&pMzvuh-_kP`V<@${CbDYQV zKHI4I-t?p8JXyJ@9+@Cp-uzwLJ6Zr{wY!Y#vHEn(U!C}a5A1nSFeA?41YKEwX41f} zhxUP<$x#*O^Ey*wiNEK`fqPL1-IkEKPAG?9xwXCg9h|?)+%-0+BH;(w0Y*`)YpE?y zCMYv+uS$NY9A|$9<*^;#DqlFCoylA_Dtm`-2MTYLw})tvVSU261+N?ZrK;*G)%$PT z7!h3aK|$0k*PFBnhAG*uw@X_|U}6Uw9WiLDj&#A7o<=w1)FWN*T5UVf2*@1Dl1AftenNa9mtm?CeCE!)-&dUM?!i=nan?*1!7)u3n}Q?J%`P&eu2oXQ+fa;C!Ogr%MZ1|QJ zhui*&+IXgbNTjb}y@&guR)$nnCq`%5$EH(y0m2*(h{?){Y-}!B9&2}Vj1Gf7;Dt*y7 zhVpImnbRlEba1vE*`--bAMcj4wF>a5} zt5*fP9-RVFsFQD-Sh5E9@Z%!J4;dfQt18}+S}e!Xw5YN~P^fNXhuJmzuKTAny>!@E zxOO3k_rO}c7LAnOAeNzgkaM;n^~In}XZ;(cXSGES*$9Gmk2DBLaZ>Z&#H!v!nRL2d z+x+J&N*(Q082utCUi3I2*mdXYKit<%Z{eQg7Cu(hI-#{&UG)6G3u~+ZR;_Rak=KCa z{_`#E|L?ASvNB!{;Z6&z;I#l0b5&b&b8{kE(Yk>6T;;WlJx<_i{0snZRMkt16a4T` zF);yL4!^f82EPy_@1A;kY(tZ4cE|k3&a>;{9Rux@JeG)QvcjKYdUm=|q^PgI%V&Q1 z^4xWTF_-iXyO@~I_Du71Pc$lFSU^V3{0*k~H{c{^44V4YG1&Pl+ZfK zhljyhuKBjA`!q`ZANsZ(->)RleU@;SIioUqVB2{3YsTCwyhrQ2JJstx%Ju_{W3LT6 z=*(WL+f1-gh{o5+{-|pETh(@1Xre!?Kpa&#?{O_;^`pN}TzB zYxD1)v~M@j_WbG`<;Ev5Y}^ssP}bP&Kl&*DaXPiEK|TOnn92MtcqQb-RZ@dmetcu= zt5Kt#wNCOCsFSSL3u47C*xO^|*ekIYk6C67L${BHR!j|P8Jqjthe=jTn%n|3zNeO@ zmaX?Kg@)qc^*{rkjey&Q*=e%Me&L%TWrswl>I9_|mF>xw`AbP5--o_JAsym6_AzEY z3Q*q>rL@B*T?bX55u_s4c~O zjH&5m^hld1Jo;l|yIe^u9fZ#;)pdn@-@fs;KfA-n7cXgl(v?91p|P|AJN^Zl;twy@ z<9AW7BVTggMCWlVxmL{8Vn$TuiLddzy!M(`7=^Z{;w&KcPLl%FFEgAhoaJEAZfB2? z6HOk0c-lsb;(y9PpqPb+$m`=sk3UWD6zhK?Znf~c)O-xGV@08(dBdPA&On+jcYGw3 zLD>6T$J&!--HE&0KtWv{@JsR6+aM5**JqRwF;TJi4MeBye!~ib{OKmCbEu=s80;@j zoh^UO`iMli^=n{Qd0rc)!=(6=3hSN{+vno6T=W5|{pO?qM!nY=FDK^?2#$z7sG@Ns z(YCKfjeL|iowp5TIqNkW+d$dg&OngN6uX7ljuuf{uNj%1+?CN$A$TO>xb*Iqd#E{E zkj+>z>I3=)S(Ig~GsQ~G&T9L4tVJw8lIFL!C@ulHfN}fY+^z0f_q{JW19{m5GSo7$ zyr|wd*nAkc0GQEz{9TL#Y)*Uk&gOi5S|EyAld8T|~Ejm>}%%{(yA_r^00hXr{S z&ueT&qUQHz;}L$e1M6(Q>tPHzGd0JGYvA$K)G=`L#>~5+Mlf)1es@UKRBZ(~Kszjc z{AIXymK76 zBze>I@~)>f=G)`UN$;@6rH{pbd*Vlen6Qd22qo&x4d1WEnzgAgkCXixk6W3jyA4l$ z{domq;jC+ZFQ^3^Frs#rq>??N>5udEz$ffFjml3Dsl2kk0&(R&%@3#3A+L9G_b;tia|+ zwfw5Ia9POFU0Jb78O(GVv6y(@jl&@UuO2f8;f!)~YurO=bFkqc{IWveo{W+U&caC^ zZi7;&QBXYBwS%{-3Djj-Ma6f?e#dJ1m}MtptM`6hexPrB7^;j>3k9_WkYVLLsDQl# zOGJBzd1xUBbN80fYYcW7JEGA#_q|Dkq`x`OH)o4 zOGVQOoxu&aC~eNfdAcs&C)lvU;|d?w5qSqq4o3b{opBro1_%GV6lwecmwK+$3G9)7 z6qbYSH5N>kzy$PqpRW}nGuBVHvPYVU_wy!B^+5Jt^m3n*=9{5Na~0>Zovy2P*`U1m zn(i?z(KT3PAhei=`G5&;z_Ww8x9g+uA-I5jV+5ghAx?SS2~@=Kzf-k*GG^OkQWDdG zI?Y458qDFSl%D%Uc^0I@w9IG^=+{&#{ngVH|KkP z+x9bCa&22J)FX8a%Grv}z?jvnY#?Hr5KQM=-IGu4q$&YyQ zdSZY4=}~EXohlpq{-?dW?XOY<1BHL>Om)X_o&+{zV(2Xm4I*ORZj4Xx-b?y6wN_V3 zG``)pZLZyr>2qyeWG^pt)c?_T0jVFO8SI>MiAmTKZXBY=$MX^0TU!`P9Z9%!Gq?%c znZa^fllG~_#l=gVRHL|UgBKYQqI0Ake$!HNUXL<2=4riGvw9J)=B93Jh@IOOcuUw; z$d=#qMa*K=gjWRfH06t4gcf!v)DQF`9}+X_vu6JI|MP%IkTR!Azug7FuVu7(67Dpx zS;{TT^nbj?mR}*a$16diVwNst+GmQ**kM*WZYIoQ&*=-RYaT=k;Hy2mWd^ zmwYhp$U>m5kmr{5|5fbx3Vu{P<$kSOv@?p4$fE9nPO)!|y@8}A1;@zF2rywN+ds{l zYMKvu(!SnC?M<*0YZ_cSjw1!w*S)SY!eYXm)$Ekr_$eDZ1{n+=MkL@V{~PXpuRb=F zrPvY17bz5FYf#CC#q@s<#0rhUGOJ|lVHV|2pkJ7c{xZ)YL1InWuZa#Qp5`W!ZsLD0 zp1D%1eWW6|k%ap{mt8!!-M^k|%crU;{>{ZYXivZ~y|W-0*QI=2k~tk*Sxy*sfYAvJ z4FxHGNFK~Ex3e$RDt7eXjWYXWmiUo!e7_xrFT>1VyKsJuBz6H@(qSmi%9)(813*2R ztrrp#Ys|}AgK}m;I>Y}tTKyGq_B#t1n(J+jEjoG{= zX|54ibTX+M&C%T;FGiX`Uk#q~m|=oQI)qyJrnm1OnS1j+{vall3?`&tCB=a4j9Se5 zwX!l{NeKHX9A{7Jo-+H3(*sTHO_#^G&2(LE`iRmkKm$KKv-mGP&P;m0xHxsaVvqZZ%7 zSnh&I{p|=){Hgs*{Ky3z=BzOjQM~^uTxs;fzZZmhE<#&HV2`-SJ?xik`ZPC%@iy%V zDh+#dTwJ>=#?#dhvxUZ@`!%ujkq_#G5-zGDiW#PDx&r9x_j*j#0deK4`0N)NAA>1A zxdF@jQ_b!5AtxUEU`fo7DKMV&-Zi4No&C~;W3w{u!{WS|9e>I3Hs?V%1E0o^z}MxL z3<|_AK53}9{uQ~$n`Rqf%<7&gGdDvk>m}3fZ0hs)*N6-A$wu_vnljNrYxHgnT9kSj z0jG)JJ=ZHc8di#(N3?l458?tjbXn2jzAR^T$fh?11p61LV?-DEREW=Pgh{&7Q+f*# zxc#;i1_Qt1dY|qr#<~%STfo_)18vh&E$XeZ{edt>`jcwCKrv3r=jJx{Ymn;vbt2Z_K>0{-JLVk0-pM-TY=5bX#{kaHF za4$cgTfRNu*qrsF9LfllduZLFLhKZ&jIlaJKOsU=peOX$&ZysOp#(kFF}hO^89TFh zG8@`|?UuKJg`OK0Z*ob%OwptNyx_ib%o~P6lD-dT&rQ%@r2NA4zx;(+@qB`e#IdEs!XF>NaO}6474Q1bB zLAg52Tx)_*qGL*d1)5Y#zk6>bf2YcEi37K;5qjd8u_*a%R<+`sq%7;@^KzvM%>E7T z(wdJFyYPU${1WWcOn@($Z19?>d5mgW6;&xL6mz-4S>=5p z*#1k173C-y`95jT0UdPs`x`c+ofzejJ#WUmbt3OSun+u#DyEoM_)O@UDwlz6=y_`3=j6Qvmi4qeJ@S^GaabCV)MpL@p zXQliz{yVg>D>eZVQ5)0Q zy-`%tGU5XE7Ukm4GH(o-VD4w*6hB6acIudrKX3VpW`emzGe*5^l_Uw2vyI;1tUIU~ z8G%Cjk+*uXoY5%=c#_FlO|dN?%FiS!`5v+Rp!=xy4Br}mHKa+ND<$kZ_nBsBf$2wk zb{Ql**;`zSUR+&08gCDocGzX0eb=5O2acO0RF4hR{QW*$K_R7Qk6d zI&XsuL*$p$sY~2Mc$sI<|xy?ql)f86H$Hl#V9VAC`S-&);fj4jCjyL9KQ zH&(nl2K63vsX*K_Bc1&HQIVR-MZrEoiBz^$zoG!xdPrd>PDK zU?k0KzF4;cL)#;A)MInt7xT;MKlC;o7NhN$5EY1ODJdy|9k3wgx}zd6wD61 zKIedJc1mmHecBlt8>?E~Vzj9!XUTjo3COLIymQ*yugtPVKl(1~$yr9-g4dYbLpLlEt9ZE^}j|EU^KNsp}E9?8y!E|GJP-CXKPLImhT2 z2pBNIkjm&2= zTY#1gZG?8xU$<_Z58x!RiddC5d0>feGJj?FZ=|grL8~%a>E?0ytFxIZce%2)_u4Uy z49t^soA{FmDvD!PnHhu~PxtC*2%jjT$yuV@H#(wVUd^gY1tCc~(HED-ORqZ7@$!CnPAR31V@MN_sArQI^6}%%Q1pnJYn0q3H^_d07f-XZuSE^_wSp#A+PXy5iF&#CzhmGsRX67q!QGKvW^k5Q9flipCf3+Wp|2b}GZ_X4)>) z7`og%(Jr}3A!hm0XJQjY{IgfZN~^xF(WCZq4P%-}$z8`3{sAeZW34)#-WN7y{iyiC)0ZO@XcY$hLUuB;IZ7+%--+(^mSB0{&7&)H17~?vX_zC>iSvD+9piJ z(@zKnHc>0>3|C|znk9*gFD%fMbPS3(W&~rJNi*p{WAH|^B_A_|fKb6ROsoVW*&vf9 zBWx~ z!MfbCY3+E7ktz@VyHTP^{RM2d9o6Zlr-vKs8&o?>sr2r4MdGjWF_RaGJgaqE1n(ek zTHVK`#FTWEzk1ZwM1YR}yW*mC9tFw+@z5_OY3UkB>lhLPdv)`s5__Y%O<}0@1PwBS zWF1PlYYkt?aVHbXX8yetA|>1ZYeQ}!8@e{s=RE&Li4i}QIY9ERj2-Q_$`r2DKLg)- z$9oJmv{c#Es4{62!Ag{+gr009V|@nCdi31HF$x>pVuVDZ788+x=dYS=s-~CkZ8j^1 z#oV4FlaWJ4%>F7rC)(+8gEjANZgx6`3M+ys5A!6JURBa%Yx*bGeF~i{oC)?h)C2O; zkd~K&w12KexXrM6!`68^1bCQ7>0Qq}3PmOG{W#owqf^`u)=1e1)N`J@rAC}S(nA90 zFFVVT%@)I#FUgNj(5#2aN(kc+vr82%ar8v4pFPo)_(NanN$c*uc<}Q*qS?eKDeawe z%9ECQ#Ozk?H|Pl6xmm``EU%IYy)(?8FUtckmv1%d4tVubspCY;zE0OSl&30*eSUcJ zOW>mq^wDw&Jhv>S?j=hOG7i;gbsqglQ!;PmeCZlZfBNGjn%7yh;FJg2j!lW}Uw-N- zrwB|OgYBz6qmg^=r#YZ9!Swk>$-DIh^Yh*$0q8PwPvh>;amz06Oc*FCUR%TQKErg| zEAtMO-^$VY-3Sl;jn{Z1OLqP$7YE7&uYLV1^zqNsu=CqmKI4&?~5 z<1yUBJ0Xije7*>X*#D^*eFjqP$g8pq8cCPiw+><;)^{zd7ym^po05dBSxB-E95jghq7?JB?=rGX(gqMKxy5&A0MHhn}xQa{6OrbYJNv9XEh*-~=@ zl52%_o2udmzrdwlCYh5)LO7ENc)mauP3tq<5^C#C$m6D@pv;R1fH}Q7c<^YXoD!uf z7A)mp731*`ET~dp5r0Fc_X1f2G)6zhg#{^;P4 zW1op=py=iE8op->E;uc_)2jV3z8Qz!W6e-XtQQPxiZ4t&JZhu_a1}#w1agFb_1xe4 zHzKEgLr`7-iqSvIKNlaezP|B>wEO{5XTiV~e<;p@ruZ?S20@BLNmQY7^#%Vie~&=X z=e`75K61*Ze#1=%s6}WtE>GIsUh^A8oyrTW(NkU5ksBDhk(ZZiY^VFrlVf+U7&qY+ z<3^gYAoRK-_0!n9*HMlnh``?bwGU`!?WXU0R6E&6b3ZKxjjq@Km9fHzh^aWBdFZp z7C={MFk5HS15RyV{@oo*RF|9)`IeU#I&y;IAqr-T>{RJynG5e+a z-V(vdTbO=fGxI2apNHLg$CZqMPaT8&jKP^)pt9Xd{Vf)Jym~}4KjLQdr;rhA3$In8 zd~a%sje{NHUxEpvQ8v^W(+OTm{jn-(Qx4`PB-q(Mhd7-_IF8=P6N>_@3&Ik7d7B*3 z^sk@C(I;_chMb}kkUt*F)69=mK!!P?8-+}wSzsYeCbRDvzia)eb0?v(BDVv-(t*x;{K`-NzS;kn{h&LACKCGAx6xeDrK;q;G|Nb14x0Zi-M&*6!KhaEP**P!ZATY0wi zU2A@m4geRPK&xYPYczdt#mY2x|ILob*cYW+HHqM?l9i~FM+txX6P~VvpWUF}vr7Vy zLFjyHOcbrE*3!Hw#Hx6G;xPGLm}Vu&yoWi7*?JA5?iCMpj3z4f`C}GFg; z@&WbWCbNI>0}g)`kG=*8dOxXUQKGl~+8@lATfUbJ=QDG&NxZ-Ir9Agcv+72+Oz1Ym zZgNs7pN8_g{Joh#_zXmiOK)nj3Uv$>)>lHM?;%^8;Y&`FXNx+l_MbGE1Txtd$c0RB z85TkTwJOyK7&`aI*9}5bSD%a9+kZX~gV`IB-sa5DVFtp2`}y&=OBY&layeEE=wgR= z(%<|XfwbeZ`@<|DMP)v4Y^59m?z2#|iE=rt^b1{T-BXnu&J?1b<0^J@;5bvJ$rpEk zT-PW~747f$2u?7G3(kOiyF>mmyg+DbCGxfu)Yh3+0-1&=2DT{Y^5#3dwKzCFDScD@&W*%Dl4#?}(0tAa7FGS!0{Dk!C3Cy3b1Ym0M=; z!u#1yg7aHp%!rxs^XIjPUz*7{w3r`er~H%sJkp3~15S>xtdE!f-W8kdrI$Ir0|z(6 zZ-8iIZNV(r`R9bHMGJmMqQcCO!NW-V1_Zo}ytl|Hi!iJ4#y_#=S8W`U>jK?MIOAb( z(1*|B@$_zF@Yb3JI2eO~fIApu&R0c%HVSdZsw3K~`}$SIP?iFcf2a><-(9)ja|9gW zL$%oNybaBB^k`=+_=S=fdJ)SC%91j}4VK8MO+YV|zjHX3f;A~{lY~S{W5pMs9$>p? zWM$3I$ytGJ`~pl$!)?camsVF-7x=#h8k%%`Siiaip@8$+)*+iw{Pn^QSOYF#@nhr% zi%s@nvC9q?%PqJt;AS^v>{XK?2tueC8Y=&aOeCgmcc1024We7faE z&wK|-28M=N>((5t@@ducIG&u)f9MF*xU9D_5YP z8m=%||40Z87acL*taut#A-Dc49G#BX7-}xLc9-=S{ujTIZanjdwC|d)o+MJo>{XnH zpXZvml&R2SsdP@8oU)(2Nn)0nc=9BQULWWyzGsL^ao`-eg=Sou0o-M1zO5m!zj~0RPePYv+QBN`|6EMBQ_f$J*gawfR#R*cY?uM z5>v4?2x1C~M_jEp>%7iB++(r-KrbFlNS!0p*8{_i_SNt!M3#_Kj=JQz)QjpGAdR=A zY)MTOm_-aBh`xg7;*ZcyU3-vi_DlT$Sf4BTp8?(31drX9t^i7EUw?{TKl<@5J^BPH zNd<+K0-$JCN}e`L?01Lz$I~N^fhCI1P@3t5kv$@YyK{&KcL|sar`YpJ6|jVUiDAJp zq@^YT9RYM2$rmyyVQ(KNut^X@EmqT&8Q}2HX+@Q^4_&1X6IiCPqpfkQ+FiC6Zvj;V zdW{;B@ei0+2>kDSkq0+RZ_U;ZR3xLGtr3bj067jUfwrB}g{J$oH7YC|d0}AUiT(ph z*wO!dq59XO1kJElQK#?M@0V&3JIkhhLqrK|P{|EGa6EM*NVVjbvpl_@^NmAzEe#lY{3%m`08=wb;&p!0q+_sFS!lH9 zn?l0EgO3lHhq#uIOS__u0UH(BkHIAFN`au=N)KMD?KyE~MST-1r_QiHOke89ke1yN z$jQkOr++EuYxEnUh0yJNsS!_KXIk(8#%!HC^ZGHQ0ORE&)f=%pKtRiI7>-U(R+bnc zGzzGys)7x;BC`%!c$Xds@d}RMS-8_zRRA{M?w%g?9pROS-QWbWry9Qlk2@2Du%UHT zL4jhmr7mQ7ZhO<+IxxkuW7?&K>~b}?oj~N%3k=wf_z@eKSNl>SuL^9NOOq(3CVjP; zJDHi{wUXZbP6`e1t@~w^g4*b63;uLB+{d zVLur;`7LMi@VEHZ`Wh`>>S`8h9LJA$%-b?Q+~zFnt`g?C<12~8;OLicKT$i~WkeqG z1k|1p-9@jv$5HgIOl^gHo^cI?XN9yyu*}Ce5Wjcz%TnRbQNUNM9g28obW*%F%I{As z;Cj(V{GyhQm!P`q{?VEDE3^I_oLKk&7yGqC25S4C$SW$s5KjvjRiSd<1c}i(JER7x zrL&Sr{EW7Pg99EuKDwwR3QP(yF2+v&-I0ippi_yIj4vH&>+B?gtN}n@L%y;X&9K*v z`IfWBZ1XzucymJ^6}KrXZ8g!Z!HLNr6vr1-BK`Y<4#-SsrFWC=Or_oXYvoel85)H<`k9}*L-exxl#L%wB_Sw79V#oBPk4H-H$#f}biFlEwwuK-J; z79PwNuQne&ek_@sdcId@Jl(`2IYNp+V7Mo)%=pi(q4Rm|Z^lqkQ@=;wl{^*AjnH6d zDQ@C^IqoFC7Ri}@mRemL{wd?R;FlZ}{2GKr@(3sO9JnPn#)Z<$BNB@5nLX#dpI7K( zMSydyko3Q@zc$FbFoCUCU3w4DdKPZ<^z=*#8ru7V6+*ShtQiVcJ9XG)PbR`)RiH-sZJ@Q^&V-p0`%*BQpyw`*q{h96 zf<>ck8O1Kl0dWcz;{Qc|`2Tne{<1RqfG@MXq;)>=!FweCa15&_Q%A%-@{x>(^rk=k3Yia2hkt2^QwTS=gSBZo#01P{qf^_HVM$4NOUe4mH z%Ss>er&c$DAAIIWE>w741Al@7m(AUOpjXa{s$;iSl7fq)#{aw`{$=4CkB$AmTvcA@ zZR==nU3=|8h6n%qX8}hny@)a*n6j;(V9)xW+27xs|BiKUV^|f^%fJ^6MP?buK#)Pt zwf?`UdJ8gONkFB3mUtC$owsbOpLj%&MX+q-4x!#RH)1_Yt?>W<<3P8CBKcXNbD2Ex zK^xRIe>~-pGdutLPvfzYIj_7r{BuckTXI9qX4dne95u^Y330+1 zIj?(F5Wt6+wVbT;`iN5XS}^SOgOnM0*z53n3A76Ck*=2P3B)C_+kO;tFV`9$+BR#A zOOjrbzD_?tA}ZgY6s9g_D7BlFB)yIS7M=Dqe_@Fsl-Nv&$1e`Rm43LMwzPFIeg4=$ z;|@!a!g!TPZo5#%xC@N?T^TZeH5Zv>P*Okg-~kovFj%%edp>x^Qk9^2R(#tj9#ONF zG{m2rv||% zo3#Ww4~uxzOx;co3PffA{;=Ga;%+z#`M`F(ogY(gWccH?=UsHHi2vPR2Y)}kazm?J`N$Lj zL$M{{T9BIUMn@&YnKH-Qg%dnk7^O0fXiqKztP2j`K*;_BHEIJg>Mo)47% zGbub)WCG|h^spIT9=ZNh4&{frS$F&NuuVCr#JrOTZJNBk_{YJ(01z!h81%OM;R^u3 z7c`r)DXy8PIda-Gfhi^9HE4>*%X_m=zE-N!0zQ}DLE8#yYZ;&mi% za$8(?Z@4_Q+8y&x@JpxAao&f}lu69tfW+`P6f&fbOrYjqku`u`qj5gjvE~{;OMo1a z_k0MGNMF~2; zQn@u=>owYdJGgXH;zcb41zqM46Tjve_wc-yQFM)eEhI&RUdz^LeY&#eb5YVPR-c%4 zE2*RK&OPK$$A{=>OE>?D3gE|wLTx%6w0(I2!h~*&#hN;Xk5D6U4;D+{@pl3z3nJz^ z%>G6O#6AG0@kzBX9EPxlN5zg0!jLm_8(zDE&TctD%k*d#ZaNGl*b!^v<@pXlApjlg ze+%xPO=$a&l9G0z?)o-;sjoz5<_qIE?kw)qT6`3q#YI zg0E(=K8M(&NAH2*-EzVwXX_HCW+5kzvyu02jfV$j6uC^Y6KynUv{tlUz&BhLKW;M| zS_F;fuS3bs5+#~-HLCBM1y8{xTKwo)Jkm1gD zZa2TfLP)4~SYs9;b2eRDGcyDFPW(KB;}hZAI2Qh2V$-b)Cr%5i(4**+kaAX|&lQya zm$C=`qq~&{eel_P1xui*NIEPDN@J+g;VTID#Ek~*dcd$-6&V8U=x7b&4IwB0^7rrY z<9-Kc8As)N!#{6&MR4)_70XD*Hak+oAhqsNx$XhHxWZi?OkR zTt{OmS!E7?|4L$$?Ae#7qQ6U8ap-Fum)T^Vy&+fOoLf2k6*ACANL%ZD(cwjU(LD9F zLGbl{+sC(D??28ylaf;w?+8zMIJ(W}tXJ&OZN6NYQuA%=NBmiY;k1EQj%8QQj%V@Me@{-6fbga~z$lx(0 z1`6z&Zby(9U};5`{?^dclyTPs{ItF?3?LTH3h_vX_nv+)d|i2Ua4J+6lFzH3pu+bl*3>LW%$1Y04l+RO+R}pBL+dXYDZ!ji;vpM|@Z-%Kuw=D5&&t2si5u#?eDik9`Ok zJ9j|t*lITY)GV)C@8F<-x0NSM5h?rqDicRA3Y>WY``>o6Kf5u=aId-G!gpR}&tUL4 z({GvN3gA**?(o_m8`#h@Fi`q^%lGsK6!#B*Lt6x8mjzTO_>a^=qVcR zcx}!^kedr9l+Y&E133MJgl#%pFX&)$HzC4y?OeolGYL+r)xo|8NWzn)vGLdRbjj*TKMh&j&g%S)r?8Hr7>{Kp z*&(dH?AgPqd+l~Mg#W2BL_Gik3^@#;2_x4J3j|2K}dfKg|3fEoX!LVj2!c!Ya$m)+J%~i-MLu)dlv(^BWItkP7KPdZZNW z{C5bG?A9pT6WL&%q-H$}BG2)32Yv!JEeGP!#aIq<__$PAVH|JmEr}`r;jpkqt)F`}@pL?^Co_d!6-W zPaO5;>y)n!8fX_y`z~*P(~v#4D}FF>r0yTa*!$2wA?K&zQ~RA}wXq;ixseT>MvJME z4DG|{<>TRc*@dRRm0wRUCi1=e*t~Ou-s?S5ME<-h)c&g2N>aw7$(#;#EtpF)* ze*w`a#phB$VBJL4q0xd@9pfkW;^fI0ND5Fly`$s_<(2x!xDIDu0aioTCjhb0%#6C$ zDiL35jrw|wfTZ-&5&HWGT2*tA={68ZzTY6WU+KS{kxy<*wf(2oRmIvbmp^L(#Szgo|zOF8$xojY%mTlrVZjAF-@%@W*L>glc4BSlh*;TY-zw_{MH5H7V0Ms1M1{xe* zuFz$em^ME8^d@f!u2CSW{0&+AwIXvDnT-C_E$nqVB-o7j{ICQDMiMqEh*Y^jfz=3f?{f_0$#DXL$w`f>2&OKN(M987#If zD{;o4uyi7B`!|FZtTO%Va}633Y)JGxbz~>aH0_PB%0ooIkIT=jeVbS#I&xK5t#l*%+ zi_mpPez5-9xG~VN(R_8H*QmYow0upsDx6+g_S2l{ZWjw)Xo!VUGDO=K-m3K6CGx}R z&Zt3k8$2s>bC!QcXvH5;*-vvg zv>Nm3q?HllS*x5%ZOszptAlqxWmTKB1g%9W`JR2RsFzih8V?u2W~PuKF@vIyQ5iB% zM*1~^Zf(*c7B=m9S@~kWM2w#g3ms`BbSfuXWALa6dAM&ac6J(6cO$C zW8q;qMe)U^(xFdXxA$p#aLr&<96X5OXYAp_l4~ldhXItoq_aXa^R*0eg5<Ot3fy)9^f7JV8o(51f7Ed%R$-}}Xvyu8Ql z`Ite{LBp6YIU4?qE{pww%iy+i&si)zppPHb77N1|vB$~qxCF(vg4!P|Gn~!`Xhlpv zMH$oIzI#{ay#8UCPswinCc~Xcb4p%kFB$Bh=8sFJP^+-~Xn`goIFO89?_ehJ^Gt9v zG{X}XQc`4o*K#y&uJCljr?h709xJzs4_)X&zVI5(EM0)vSoR%K8{qeRy;;NZ2CUJ+ z*Nk9td;4wuX$>%+El6i&13DptNuJhGiYA&KV8Aa2eHAj!&M3DT&-E8i1LvTDxH*?S zx%n#tJ6u;sXXU;_zo|^GV;PLG{$-ytcChj54n@Vb}#2X(W@o zRs;`-mGoOB-TNbEiKi zh-gJ5ERU##dClftG4yWRo1PI-2P=K9mp+=G>=tv`)pt=3x1MtLy%cku-OcD!u|NMg zap*u*vQbNeqr)AsnUT$z*s2U*2Jgj zFxVFRd}jjnYZ1Z7=l}QIiW~0S#;{dV3k7gcwv9y-?RS+#UL~lVwq2LrpQgIY6PKF( zOfLlr^Ak4mK-Ey_Y0u2E7jTpVxaZwq~&C&D1o zMT%KYkat8QP*fD2)WwOZ%V*gkxXo=NBG?% zcaiu3)tq{D%dNFZa%O))9hI-gNtu`x_VeB=XJ$fW`Q)0gT^5MCS z+XxlbIp-z#`??&rrbQC8f|{!LJmny@DfBjseE5v8Z|McTO0emDg{FS(foVZD3L4r} zBc(|rc`OGV+9$K3gKpbx$Xt{jY5CnaY^p%d!|FiQuY#p+JI{C5UD;ea|I|1uh&}AX z$vh$l^5^HIj*nPcMkorzbsiWt#=F;%2}WHy*8S<%wvp%a4SB}xrf?>}lSA|f3XfY; zKZTw9K$ifX8`xA%oMn0zMM&Qvnj;5mv;tv0r;Y)g#h_;qKh!pk-p$l3R{XTH$s-1n^Aism zzh7yioeRIR;My4{&^dV^vog6A{CnW(Lx9c#gP>J1w8?~&hfCM>{;p3(I7MuteNq%3p)mH#-vAs^g3zu`Ap!Z5SGE zP1Ni)4X+!u=)}0~?py6fuFl`w7HfAuU--S4&liy*=yS40;Jvgl<``)bU3l_hJ-%|Q zrJ*KUR0f7Z^Sd9S1r<$K4dav~uq92_UTyD%Y10TlF^Z>aKNW`oH8^tz>wH~)?6$dE zqT;_NX|Y0*1U>zBw^vIO^clGk1@NYtheVbQ&3?% z%6LcM{_o;Y;aX*z&ZYOu*t6LC%KMW|E;htC6kD47HeWmRso^a7?hX z%kpV~;LKEVnN_G6N=M{UdC{-a>Bv#)NV2~%5$}I&vJhUb(EHSL?)bauWfhHfj4f1QO@l1Q<=N+zpcZd)?$o zDfZRT$p^)CFyQx8CUfv7`);*fetZn0ih88;XX_fWQ-YP<)s8jiAg<(; z@+kVMcv}5NZ;CUyq+ zfol13(zT3C7SnVWilTEHNSI@gPhiZ&j%i>Rm{$>**S9NkY~QX9*V)KO4j9t zvR4O;aw#+sgoR!GfB1UqsH)npT^JRlq!gs2kxr!>B&DQ78VTtZkWfHk3kXO^Bi#)G zA}OUvN~?5Bhcw^ZKJPEid(QaA@Sn#A*=w(LuY1n>npeQW7V_sx6FCYIQChF1P)F3} z6589Q=Wcq()9QZ+qbi@1t2WR3<*>|QdpM9E>J&{2U8seGHk`_USI7E2#wX-TgUC(6CRtwO7A=EbgqnV2p?9>k^JvO-*)@@H%rK|PI=D{H5$MA;BFAs(Vb!ni>ji4Rgc-6{~0#;8IE?!uH z{S)p<96+M+w9uX+<0+Id=4fL9YWzBoy!z6`jkUFx?9=WbEH}_Bzs-Z$(E>9&``vzM z((@i?WB`P${zPA4>QM2CQ9V5g^IX*814ko*F|T@zAKirCYHv}^5Hbaby=%wH!}-zR zUQ}5*{r?=zK`)##1{ zu|^oJGw0ABnZvX^BR{`;*??aN4BD$t0SS-&D*S^n67?<1{4JqpKQKnI5vQ*sb4x?6 zztNlZvrqV=3HivITebmf+rU@Mw>KVWEm22(Ggc94I6tcab2lvxyxN;r@eDI9Tu2B> z$Rbd0*uUxI5fBdsD~eU6E2XKsqf$d;ky*9tmC!y-4$iKlC*9|`zIa)vYZ3d2;`cy(FK=Z+(*J$%H}0Cd%L?fpM$#IsHMkrs@(!WN z;n;K>ED9?TJE7E^F?|0Wr{nZU>JzBgQ7=C@_%99zzhNc6?_4`u&8xrP#wqM+iuV-n zt!01v(yQlP+n2{5d36qd{G=n~aoZ=1+#0&gap%v>9t~$1?#01tgCUxW=KkwA6o!nE z|DHUB5xyjLANk`md$mlyOXL1aFn4}iHTd+p`se*gN>y`O;`AT`1d6AX=Gal&E66>L zxs_OKK+M4g4h$*ZAcry(%ymFR-GF2W`1qVXu#Yynx-|m>bLl9=!png0v_}DuXF5O} z1xCOIRB9i)OVZ>i)HT4TF1+4aLK`W(FsM&zz|ceC$|&uJysUitt(A1oTQDdB_sWD{ zRC8j(b#lKR=dPBIbD6Z@tykW&u&^NfB8B#>YdE(LN;y8Hg;!2i6)ET4pK*_KXU>E% z#t(vC>gOe?ZMDFIj_|1XqIexlg|lr#n&DN(^%Q;%Ug0l3zGB|rCkj+`77aRx{HkuF1r5@y-lw`qXr(N)1-y;{Sn;`-`Zox_hRt2Zus zKq{fHxB_ln`d++``l-8Xx39%0q4cTMuiexwxW+WzSQ^}PTk(GGR%TbA=uf=<6h8z5~ z?SY_}Z%_)6SmDf*;}uKqQp;Zn{gHu~c|B8bk0;SnZ?c&BmBrX+)Zj7?2fFg*8e1G+ z5swCfL^d!(>vs#{A(0G@Nass8(+^=bXvnl&yQB6T8Mu5H^~pyML>@;gVY4Bx9w9K$ zgWCW>@)mePIqoBl(poY`pNYjUkDL&BzLAoQwTA}{m+?}zYJcbyW0C-MHtMb z-}_lPfqrVYo&3cTu4}dv|hBa1W!N5Y`#q?UZdiWo$9KajspI1rH5U zekvpr1f{V`HC2dcF#KY)tofn=Pz;tBaqvBmqohY^wnh=Zh-sLq()r|^gK?7_*crLC z>rxYo%K2O*kU$L^RYaucotFvW9_dei+}~Wv(?hI4maNOua!_9yp{NJh^X*m}0_zJF z*9WMfww!_vHtRYi*Yhu#cY((h`!!NB@Vc|Y=osft*az2Tb*vSal>y!k@rKNqC1hQ_ zTGv>HDTJNQPxc_B@*zPVlDq1$kofu$Wp~xHEu-DKm+Ggww^VYK5~aF!a(2BWaCcNv&@O36aOgapRIl5dUV-_^sj&Zm*#0=^6c zVr1Q6u+y-XxI3&XtdGtpwM*nAI3D0E@T`zLqW}2kjFV~wp{eK&9Jn+dajB!u`xxIM z%;wD8yg|{$B9rmuOJCn%tpu9t$InvtRH8&WT}JC71ynLEmMM_)|JWJJ;2i$wg0AyKcpz0 zMUBo(Yq77rE8UgIdQ;Do8O*m{EJP=-T&8G=M_O-8Gm?Fab4tv>3cKCgDUEZE(x2z}5pd%RS=nV^_Y8+T9Dd@mMFPbHm~1Qx%Eot&EefoFc7FG+LR) zr+1h$pR6^K?j;C6K5isSwOmg!CSoR1X1%ap46}qV8YYlBx3}{XNbg%RCGZ(*xaL%3V=zG4^^(;Z3+jS1 zos1LzCy=|{;9!!e^(*+cKEW4HSm8J=hS1Z}$^jxG`galbH^$(4J`ja1vF?5v_q36T z2Zv+`skZ%s2bp@pd|odNrieHn+2LnDYxI!N(MtOU^#zADpi;rO?e>9PK?0mrZr?iCe9N~gG!l^#;!-g-8XC3Bro7np! zCQF--w^``B^CKzjM^Q4q<}Gi70lA3Wy)lOO4PR@g(}|r2b!szsN9^7AySwFCmRk-v zOrWD=PI7M~7?aVi>9i=A-=RV>bxRwfzF&DH$fUE^F>O(F3!Rfe)$Uo<@xyCuCb;UT z&l{d3OF2Gqvjfia^Ba#z6W%EUE(?ZieN{w*R=+4F`HOysB>L&!1GbsxJ-#LoCQ{yJ z*UvT}qn8md7ydv^d5v(*CG0)d%YPLiQx2KN9j0+>O;W=(V$LE*p0&q_nE^V+J~GMR zZ${NIW|Tsfe((L)ifum6$M)Q>@FDODcb%?w$2)G9Ltunh6eTzsDXOFDO|;1@PziZs z;lv!xH3{DAFcxk!M^zwr)^}s%{J$3mH~4I=1ztx^3az}n>Rn!SRbGJ@&39a;S98*J zj$BnS{^qSyo^L|{vBn=aA0H7`RRF(spIziL$hkjIAOIJV7wEsoD*{ErYgqADjsPBa^*M?2={<&e6=v)Y`-waLi4R9cY#h*SF{bsbFi zG8YA32)3RBUe=ALi^wl7mKO6lKN#yQe*@zwjb4C4SQDN(HHC(St51=EU3=Tk>Z5L| z#RK#ZR~R1&QcMU@&qI0bHkBxf{@9#HYrE`wPiSDO#+oyxvcWGTTKdUdNISf1hxA2}s ztfmyg1;0>nK})oFV8Gl^(gNoIpl%rFMCN*4Me?gk^*z0gQDlGd$V_@{%AB8iCHs>T z<>B25%jk*ij>Y4baiR2zksB@O2S|OU8&_T0&47Ow#zuy2AB7&+-^)wQ%7{#)>v^Cq z4LZAF%YPYu-V9*_=#GJg<_bGL;gW1T?EsrZ#}1^yO^rA=+*6bt$m-&4=aSr3|9topo!PQu7e^M~ zZu0j-EZ>7kgYe1n=(`Uin*H`_2|ibe;1r$5H(R%{?UFQf%+6bNQxy|d==ip^%*nOf z##R6PS#M7_WZd6@_|%HiP^ynE;jrR97rEBG=ku!SXi(U z-1{jHoW}tI*Anr+hl4KZ-5ur+hOVJSNb(V@qROYSxDW~;3gYUJhRAU2oZ~W<>0CJj zVb^y_Ti=}9=Vp#DJwW>Cd4LfFR{hksGP5AqrfDD;#T?rP1!33g5~#jEK3sqU zC_{ZOZu%atV9Ik)8&gp|>q15bfZrM7Xm0Il;OTROCF8X^BPJat6PT<1SjX{sNFXvy zyi2wEo_0-#tOfd?9&w-+F7Bdre0WH}l<0HN41qmYybwHg0Z+8Y=t9;2aG^U z1_(t6KyfflA%2Lh6163l;t9#5O!qiTObxSN$}PVDfVwC%qXIlH40|7Zdl0Qw7I{Z+ znExjj)v+A6L^++YyNgs`wF8_9XdEEkl1^>ODnlu}hX~i`ltJyQa^y7x&!N1Fb124} z7qgAEhWCX2BoA2iB`nZusHtUVnNK7h4aV?M#Fz=?n3h4)XWkr0cqJy-k$SnMX8P`p zQtPRD9Z;JH;9MI!)9k2{C&;i*=shc$*62N4ZIAtsBc=Yirqhr$Gb1BImfQ1;gxzt` zc~5NV}o8)=P>K>bD`9W@Mofu41NMCLck zVJNcM^j$K{B`qohcu-g4!hi7=?`_XM;J@YuxZDxlvug&_=Gxvc^>524;uQjv<^Dt5 zKfI3|EC>&ORRTk3giW! zh&<1N#CRaTD(I|pgdSU?e4vp1; zRfJdWF{D#Bn<97P^w=WW35XWkL!Z}r^7ZB@JC1(siOsyqfZN%Tv*r^Cs-}fo>FTI9 zMnPiU``!5u{{y!1W)fb>LZ_j8ZYwrn^AUyDeKXKqYYH2Y+on-rmUVG-!w6wgFq7=q zBq=ypNsd2&$cr}{nkVx?vseyU%)mz?YH->pvu^(_dF!F{BmVSemS)&rl&!$?OZ;NR!vaT*r?NTPG(vskc=T&kN<< z0blc64Hs-jzVg;O5TN$q#f;Sp zQlozJJU%L1_c!{C{OE3m`>T&uT>a)B;!ui^I8O6+m7obz0tp#t<&Xz0S^Ks`BdTT_ zY26)r^ExIZ^aW#$W;ot~f%?&VTneFqv(=OA?b_{-%O9M`Bk-=S&TR!%)w~SgoHHfR z0SW6&P|y{uhtqU>80#YIusmtBgr7I?&T@MPVg5;skBxOZuGDvnYI!9Lq9pDOu?h&W z%3`Dlslg>|i3p~i+B|~64Go6)`&!$A{QQgxy?VAqO%9u%Vvw~HC( zZ1U!~-O3=?40l-tk~g+>j!|jhSkQ*=_u}hwEG59J6JniOV3Qj^9DLhVcg5V?{Mp82 z2b!#LPm3?v3S#_A;;)QrlVHO{YH`Nn3F1W7SEz5Um#3PdA>HwF(2iXJvY=~!s$f$T z+2@^ozcbIldkr@FC_w=NqIOqxpfz*Cc$ZrQ(xB9saQdv{ zr90ev*qY@H&z?-gan3(q0>W^HGErGPq%44_(<)NLdY)7GfHYae<-UC-;b6rdlHHZ7 z*Cc`#)E@7@Bs^;FZxkNfaZjtF54xdyTryeuYOHCq`8WBZO*GGiJ^@s?yn^^Mdp99P z0*J7A|7c2E<=unSQ(BoDq`Y32Fg)8KdgMJC%q;h^FS&$W8t5QXPlcAL9Y z*K<+LFAuU(#QlV4{C(o`{=?c*&c+CY9gU7Mp3}J0Ann4|<$AeFfyA~;>L%k#KHj#U zVuH&!7cV-bci-@m=ucxm(fEAA07(ME!q1^o*nB>27?Y9`-VSW}@y8)_Z^5hm9f%YM zUvl6Y_`|>hWMuWgRDHlMJv@UdVPgZNzV|iDlZaEL*AWrldU{$-BLrXDfheiX)Y+eu zMJEalO|X=ZjRY&}*9fD~Qz1@H$AJvVD+Vh7P-o^=ve4pOFYSi5!?}{_dLQHZMOquT zv)ZH1{holctHjmFc(|Xwxu)GwG@8d{x)oAD3jFB#mNpc|>>_%j#d;d*>Sn@QR0hO7Ec7q8GHoW!*{GbAg(h# z<7sOES~jV!&e^l;tGN_#8L^7<&;=9Px72gVnu>-^Sr*1=qqrPbUEvN*>0m*z#;Q{JWJbmyYuIB zJb_A6;Xf3kT0wGe(n$y`IdmlrFNOMz8+98RBKhw77)(TPZspJDml}N36X?8?z-6}| z%V|SA%@EZ%LjFB;3qeFKxRmh0HpvZ?0j78pRb{qKgPv!fjSv!jDIcAVN7l!@H%Xn7 z;&E7$T;@)!8ZewURtpl}ze@`HJ#B<{Hvi$;#h$Oq;8ECbp8vvef`VUKmEw8vSA!NF zBk`UEmX`LnBio(eg*q$VSI^vuE&pH|UbO-)WjsD4FBKYGQPb1}kOE>-TzIjqe-cm4 zI((zFVwSQtfJAKbhXesce+TWSy2()y9I5qg?jw1^hy4cSZ5TEttV~Hl%`Wx_k>{+V z_KCVp-53_9p1=2HzK+thhW-{290CT+nB!!{(%TZC!9-AVKV~Jl@4mVFWiff|wrZ*c zD%#UG95;@$tRi#8eS~NDIbAQ8=OzEc)J~QskZPCsL}~1QUNdza3$V2x{$yD@Ay^;PkOc+>3U?XvVc<|}a{e-vOy!WLM7*^IL z7}2zC*#C^Do)du#3C;mKjDL3JBd7!a!ySXhhwKI9p{+&OAZ{&S1q=+WOnoTJ+dK9} zj=V6hI4|{*KA8uB?+>M-oCnAKK)jbitFr{2e6?fL%{Gu{J4adOX6+?0fwl0Lkr+@N zq#%`Y#?2h+(j=0|oomIn4D_tQM5^z~>&$+SMr1v6Bn?ykucL^RHHwhOZ_mC58Y$E| z5Q)=r9!>`^m^EM6f{>Ea5Q91;EfV858CW+vzEA&(v}8{u%|gEaie01tAIp66Qa0Ht;|26siv ze?#l=xa5IrS}O2YXFWm;;d9^`@(2C^R`3UuY#=&G7j(4*u>i}sl$)EImevUPHsF(j z+Hwh$9H5cXYAq!d^Erat*6oilC+QdjC3JYZ2Plcq9)lgPxc`O7IY*2)Z2I6mEh8&i zXd)Ly4o9b!NaU;Xg&GgejqDs8wOA|wXaIioAPCxx`sl|_w4vdKyL)>*fp2%8yt#_W z(2V?wM_*?)F0teJ{F*0m&8-6%^jK*dxx7g_{?b;GqDXD0;BoUd^i+-n3|vhV^KDpL zIBY|jM{CM~fg)10a5(4*YB7+gXwpZ3+!=_;`SN6;;($aD^`OB#Q~UYoA{^R)$D$R@ zgCyCSeP4t_vOM(h6br$Vt=RDWL9p(&F{y>t=x?m2SI}rA5uo+`&z4p1JIOvE5gYEl zxE}xrC}nDT2pbHnH_^Y0*V0a?ypY!gWZWe4CaG{``<~{Hg-v?{H zXoNm8;QFL2zPg&{!t)Y@S^zo&T-5Bf$KcfhtTWB;`U3m#3!y&g0~^wVz8?yqlLV1! zyO5J9@NgTy!U(I@aoP_+C>VDnrFM>o0;2K=-;a=+m6a8bLMZ66$Lr6gAyL0@1EF*C z?K4_GMX&XTxDA9m5HP=Z&<6AYElt23ajC>^H2;kamTG}Cc^anw=k-UR9f0@?;1wS=?o!rAMLOfo)31=nc|&(Cv<|Jjh(>yHr(G;jbdw zY^1?@Hg*h~O$OOs){D%{fXPKRb&EQJLk1;ewJ<8ZA?+XSF}@2tiV7I0=+z1}a-F#S zT``|w$(+Z*{ubc?Lg3rq_r?v>7@31u>Dm8AfCz)Hw@d;NxNki2dR&8y;1dB>mD&{9 z_fHp)L|3yh3ug3b=8b@xfrIhNXbF%8)^DOIVxKsB+Ay1|&<}tS6IO%gPNvJ#laQUP z3@`->a4TrP4S^G_F*g`{qG(~nuIk4MInf%?B1j*e0DOJgEOYaZ2Vsi6k)TY2+~LTH zT18|+jawt0LUL$mIASX?a6fBGQX#rF9E0leHnplI#M1B z3+&dttY&p3rQ$(o>?EyUMzJ{UEhz(;^yqzHU1kOr}N^;9M0#+}uwsJG2XeG6^ z<6TBTimkK*OhzE5gMUeJv#mTqx2Sm^(-KV5fDQk5*OQXbw9D&VT`nL_W3yd~Tk*hr zI)6BG37|xgXNmp+n}HkwZI)SVQT#%*79kIC3j%Ccc~_YN zcKI&(SZZCTW!^9^fsdB#BZ#@0y}ZKOobyiTuSKkWkI`afmf|7(8B<5lY`LN97r3`i ztE^hdh{`ZaiC$_WU{?IcvT`42Hb<5TbDQVWHrYDL*z-9v{RXnUz8mp+?=Zl8;DCr27L<0Gk)fes>bsTw z3PvQ=ObA&P@;1qbtbDRxJURV+R-K&l@*f83lHLvke__q5R8A z7|9AHiJ2g$OQ zS`TM2BnEaK2Mz+_@BH7Se6liF8-K23_XqE$xPA<<;uawALb{_kj<)-R^Z9G*4fX5o z_}@7W=yw0W5{o7s5=5T)YV6eGlwn z{EbTg=B-jv@W&4k>rE-hT^h&<{qp7ENppUFs8kpn`yW+0-$ojq3;Y%FqpB+9xvlw> zC6Y3izTO?hAAHt&4J&{-JzZTo;WzU_56edhO4=qX+~ZTu=S2odgo9R_8=>7yizOBV zoyN3C&*YI>^t4oFuLaPcM)B@pbqpR{Z`lndkWOQ$wsW7CCjc5+q0^J@C@M{cKq!Zt z$edC=t0+`YUa24uEtDLVgJ2k56Ag-KFM z7rz=0XP41j8-L^%E}%R{wrIq4!U`3i>?hLhCSDfY%G`Yd;YCzU7XxRz`izVh#C9l1 zhlPrBScJGD-&=GUydk%Kfr{5A)@5YzV0{c@WZ7*O^YZo%6qUllLOy#RPNfEz-cK&V zu%e>Evg<7oWVq<-Lzeh5(+X&s4IA=tISmmK-tsOm=pcJ_v(efE1Z;n+BTcsAWx@C3 zUj_Z(FO}o2gbuep0dD=|(fOBQp(GKdlc2!uv0^EL_f6hb%(NU8;$Chsa`x{Z`9|hu zzZrX5rHo!icjz*9d57QzPM|#dFNKf%PrK85IwK5RtHcfi8 zf@TU9sT;H)(7Ft-5zatMB_K)E9tnbOjb30*Sz21Ml+m%tp!AcC^F9i|JOhTdJkiHe z!k6EGSTm3-W)^sRCwK8KJYqOZ(L6POrm_4SEHl33aGNZCAS|pskEN|lXkt+9Djp0z zNb`ydK$>-RH)=~4X%j3AhONGn+BpzRa?w5~p*%xO*1nJ)GWx^-e6NVePhF3!-=_Vw zI*6c_@j03ek?~-Ic;DDSXgiAX-AO@)E<=5TITJX_3v$UOU`k+(HB-<()B%G8%|@=j ziyMX9FxR`Kt9Q4ABi4~pW4K0#LVhfbLq^HaJkk%JSt=W&LbiHNaK7LORl%kwZOom*pR zJ>{hV(Q)z8XBW}CHfwt(+{88rR|4NiON2lt63J z`Q#C;3^YHZp>SBq|L-Du|GmD+(!^AamL(8{IZy1&Ce8@m0Hd{-Y8@fAx^_`m{e>Rmk zkI&rao!2%hRHTo&Jk(8l=n~j*6>aZP$q=KvjglBVBoNy|YiQmko_OUd7dd6AfEbEUq%T>2+3D^3{(MObt0recb)Xs=Be3+e{FWpW zAPF*Cm#0rGEorSs3bm~Dz24F?C?`q#Wo@)&G2Ic{$GG*+;(EGn^ZnJtlpG%Wy}%pf z+)rr_G~?OWxC0Ex6bPznZ^vB@O|Mhh$x(LY6TlPBMJ%C3*Xs zBqh&CKQ?1+MkL5{_sX;1xcfFhSJ&);!szhvgE@8~EIe^CVa^twv4xUFm+#pgfDE-q zfD5)!OWZx$na-}9Wo3i?OY!Ia7gQb5i_hmTF-=3ZS|{vZPG-8hsN zLDyKX1~4RfKYuQ`Q?h(6bFWEqiBrGc<*uCk&!0c<5N=FVg}jC%^KEaHJjdqqc-vCF zD%n?OCl{w%_41dgeGky(p-^hSS9l9}TwnAHu`h6hI%e+-SHLFbSg@#2z`?;`v3Z>J zf!5k_BCHnqZq>Dpq zj#+ecCq-jdv8`p~X+L_m82(V3nRwS9_SDSKA_yzYHM-YBT>A}X$jbx)?v6xeit^R~6g-5SPPU1;u=)aXLzb^1|eopg@ zt8J>Q+D;(OWx!K96*qBxcy&1Nus^_8Kw0&4=I2P{)iok-&MyNe;kpE<2c(nyzUXek z(xcWrwp{1edzL~dGw^Sau1OE%T045B(FWks=x&h>BFeqkyZbcc=A1PP`#3&)AM2VP zZ$>VTStD$-$|2l=PMO zy2u>vFx|w?sy|GXBFo5b*bp1Yc7oHl1Dyeh_@|P|N(*eA3$R<&>Soj%JOO7kmW8*v z3`kZ#mU2=xBqHGs$rVKzS3BO@oUP~zP7BIu_CK0Mk8}jTGMV>{ZQVm4|iAV?K+mu2&rDRkS8h z*?2-18JhOx=iY9uKTWRa398(0U4p8Fl6f2scHza6#&vN9W$nw06CSU_`wk}q%o-t- zUlI-~+?!wSuW0n#;YSDrz;RO>DBI-Mkq8Kl@^4YMXV3PCb774!3kxT|Ua`I6`_|gt zJ}%*kT(Xd|tP1*PLKQNy#OW7LZWq`YI?K`53+A>u$_z~B{IoF%5(#vyp`|x0T~4YJ z&8coDEdE7c+G%hzNo#8N37fn_#0lHaIK9Uils#n=i=$mwggiyrC24vbtLk#u=mn;N zlExpbthI|$u;Q3=MWd6va30_V%bCcmj3-j1i&6?T6vw>hX%L`|o)GcLt|mBn{391@ z`efm$-;_iz$|}kU3bB`v(UxUQCI8ZF^zE#}*o^Zk{M!>2cdI4M7x2-JtM;vyI}rKP z%Q2GT-^qSNhcEAVl@*4d51(I?th-D10{w@ls>A9)&$nI1AFG8487kJSZ5K5y&xo3O zF)gnD)*0j7O0L$`O?Y?Cs#EUD9!hNHb{d{JgdZp`WwO9}1qBmb8x<8S@*CX3T&Dp^ zh0)i~Ks+%>$TK_P{if$K1Z}&fR{DySyN1SFk&gbtva;nb*&qQQnkvcsRyYYqymT=` zwg^!2?nTQ{CW?5uKttt|?;a})$WGThfkqII<1dj?rIVRJyp@p4`8VPhbFVpv`n@Ll zfat7gKkX9Z7JdhS%G}A4Su*FQ+ zx=*TF>~qicbyK_f7(&2%KVPF5;{-76SkZVDHRTWrs zBo>ZO+;b74_IN^gog@kWhF77!Dsk{@2bu0X#i0osneJ>3SqDuIhDtOP`uB;vJ~kA7 zZmE16(J?A^c;RBYeE`Q6le+e>pCBVV}D;%j;`UlJm2nKYgkDnBaln{w$vF zSA`17R}=yjMl0#fuQhsOsF&2aDe13#<3w{n6(YVFJ<4~8_!yGi7*^gVr8)Dt!R?w< zacDriX`=JwU98a!QV(^+)QHjQJj>^s1MIg?7qpKVpOIbs7JqMPF3e>&6OBKKDEDV~ z`V-$%=NTI4$z}JfN6XT`DhSpP$&NmCaqSAze-*2YG|#y(*kGJarV7CXsKA@%t_J0+ zC~k6fa9AR_9&F@)?ymKezTTkJgq$W-#7jN>qe6TW#(OHiBgqlmOnBbe@W5SDl2l&# z1Q1=3#3wXVPTPG!a$U&w@M5frymWWEuuxSs+e3jOb$QZZo61Zkiqg~iwrcbfi-So2 zba?oMY0B_Sv+tsXSYUV3tHGn3J^DIzA@j;7>C=z9j)Ry2CINKj9SEcbduGODt^^rQ zaCqZ~!w0Nmnd$qUIUy$}-b7dqGD?Z}avqWfNqr5~jbx z*zbUDUgFO|;p--ax}uHB&BM^nKmT?FF%#-;_DrExmTx+eo+m;eFOHQDFGs8cn|YN5 zKmTWFgXk~cEV{X*dtHhLxF6Is!qF4|q+3~4TF%~OC%0vlis$ZT=70P12gbfJodY@_ z`2ttm{n`F**VoRg`j_u8*Wdmg!Z^W4T`j6Cmhw)UygHI#W19L3BV%u_l#}DfqwXpC zBa(xqo2+fyB1d&M$W6MVY^iKQY^J4%8#->@-VGP0s2s#_V|G@Pz=KE^(@XuC+@(P- z)aQ6{kH0H!rl{Ne^K{G2Wx6qLOp-Rx(vtIMng3^lP!c`cZcq0+DTp3M&J@mhw0ULW zJ!(sO-2dfEOdO4FH6GtLyup~eir3N6Erb|GL8H^q(4dLaoM|S*!^7jG{H7~QisoS4 z{EhSZ=B%P^@#7DX^MDWvc-tE${vqEl@;a@%qCD_A=| zSeR7ibUY<4INNPWr+ggU%w$E}{2i*%exfQznJ{Bq81M5-TZP%dg8P&@ygvH+hkQg4 z)-oa@msFl~oQIcHSjPuYK14=MTa&bjc5OHJh^pV7$p(0ss2xTY;E8u~UehH&3mLIR ze_ethS4^a)q0t`Piafe^mjPnwG6=5pT1<6BAR%kr0Vq!Iz4z)+j<2sT;qTSe!7e`` z4P=?Y=vjzIODvJGTIpGwU1th**?8@xpxhlF zp;l%SucYLeC)U>LzF~?A5+M?u{!SPAF;xNC(&qLu^0kv|Qaks5dtZ!+`54^Girf^% z7r9F)eCri7~Y*gpQpclj4rVv znfc{IQh)&==|$qeQD!KL*y(#rfh#)y6bkL2UJeUSSgJY-Le1yjZXT8yv_=w1cCo(p z;u@Ly`Ms6)kUre!E(-N5Jf4g&wv+SZloW6U=nM`HhH+kj_3yZ}v|kew3eByMlDbc| zJ8J_r^I)_AxaID;UkWCa7s&x@9*fCvQtUK3%6At`ashe-#RYi%UJE_Md7=#xpKuG9 zhbjG5b{5~9nZ-FehrYk!HET0EOxmc3Jsc8|W3KFHGP!^r%>Fz3=`K9)AzYE8@ta1b z0g(y(7Ho9f+MmB_Gx`POhERHUTT$(QsIJbB%Ki1rh{eXy@iHejHL2&~^lTEvZDLpT;|8jqFqU8{i)~N-EDc!7d?BBfda-1f`Dui8rQ3YBQE&ahj~ML8 z8X~nH?;G#h4khk&2N8S-^kp?O%&EM+zxbN;DXO{V%h~Deo=p3PXaUfa*e$~Tt}?CEVTk2VzR>=>J>dtpsgfFN>Y6(HoLGzHP18GdDlHKqwY0yDv46b!EV=ND z=^0)-qP$tJ?IMnKyn+@(NKf;v+V|7`?u+gF;V0N%4uN&dWTh)01&Z3Eo)X< zf}}IEY4O2};)zpZJSBhW4%!j;p*t1YV6QK9iVC)T+BC`{88p?v&&gk^emZ<)p{$J4 zth4{x_$=TxcuQz?7a%L#?d*Ed6gO;voG?k#qAw9-dsT8TMi5auIB4Hwf{7&aQ}@MH z*}Lx_?1ua3j;mUa{@#`S-K$M+yF5fC8%@+_{FpHYWKoag_;` zvq1QI$2#rygY&F%T8u;#WwCBvELIEawZft8#s_+m^ukfA)|dJiUy%!k){K?*a}EBD z!v&1>2C~(Qi4Br6ALGf^{%U*f#Fua17Ei9A8woswol!cq+92*;=`S&t2EC!A zD~t(v2`}I&UZaL^Ndind{x6AgZQX~HpZ%mXaMLfMGWrJWb}zJZE^*O#_cMAUbMk6G zJ<#&;vNwy>4zd%UNyD$yuiV-9Re2>utR2#V`{ODs8|EC2_gmS$*DVc)lk*QmC5?G! zEZ?w5pyMvHja#MqC%R>kchAJA=@ZOlaPjT!w&M58R$g9jC6l~Pj>h8xFO{htfvJHR zfgS;!5q2v{Qd^&y%s}EI?R9Nbls;sa47USVsylc*pN^N33sJz=nJjhb?17s4>SIN$ zH~C{>!y5I^)3=&VmCj!=jvcC|-LupC9m?zV<$LxJ|0;@==te4)b#K@h@}5EbK_5da zaEP_KgW)|N85z0bXlIwg{a`|wv+0NyT>)$w7c$H(7ThGhN7JCykI;#GeG4;89?lDw zmtYOZ|5aLyCOa3CSu!=R&T6@gD=M`)K_W0LL~BaVrsTx}*#Kj>?|&C<&F`n0C&o7ZuSAAk877$$OW?G@kqAv@t@0u%@8V zRa=2M-Jz`^rH0~YgRcZ55jWpO(WqhS)cJd%mfzbRL*fkAFD4iaCcBdtdgX7F2Bbr% zAK-j;+3u9HlEFW@Dg>aKbP|hl-|3GF&6CoJJvtX7PURJ{k^1HE zcO_!1-+bMIfYZq%f{iq>&j@eq>0;|LdZrcxib?O^<@c8$lM(cq(fR}&32$1;AT5>i z^w%~wwP~JXS;~k&cOt?SPy=#n--0l(FxKjCMQ&1SPIGTAY(JND2eFSDJbr>&MY~Yo zD$5y@%|a9AvNe5b5S{Zito&wDOze}j!@B(h@3hz%dbS560>qr02T3vS820DQ0v46* zW0urQUqo^*t6QoS+>vj8X?ptT2Z1R|3cuMfLjJ4PIx5!*E-HB$T|CNLN^6B{ZOA*) zq&%smGNJe};um5dB7#6ChKj(3lv1*7KxOS4x!Eg{wSM)8!LD!PjknvXXxr*P)0Wfz zHo&fi2@?78+pi?V0)Pa);6_KnGDs2&M!-!Dm_NXgAG3;9yF|Z(K@u#3uqHIXMZS4Z z=!+@P5`lje$_zqW>#kC08a;UNqe%H^{t5PX*Oi=b!CL_zNqL;48_ygS@aty&pY9o{GrcMcr7eo+*7U82f(H#cB5maxXF1jF`^ z<&&Lo>j;TVJ~jtV9*#Q!4bN71KRvy4e=Yy#28Qt1Rr2c(w1c(?$+d%=Pwb4$W{v85 zL&vVVs~z^Z<@=QjX07zD@tVq@%=iFK@;?->Sf?FS<*++M1j2A&JqP`vLA{HGy7~~Z zv2$bVM&2s*PwmN7MbqmsVUGf6=!h0*{(O$nGgvER?qlX8P2y%~%3k!&<8m3fT~@^Q zJ{42+;B3-IRYe9fb2e!}wo){wp0|T$?K7E;>Q?C}VG(orT;vB+(O<#eSSa3W zwRbG(mE+k5_4%>&5!=UeelS_x3hiOqU(hBV7Sq_1U7y5U*DqHM=d-=#=*ax%F#bp3 zpkG6D87d0>oxgSJ?^n5N5SE^SS@{L7n2GlFP4pD^&o8KWN~eiEkBw0z2n+U02#1`g z`PEd&LuvmF7X9ZY*HBAnv?{z??CV6K1TrvJJ^*eA&D+zBF@rG{f0{1%fNrvE8w z|9liCv8;@M8k8pZ-y{$I9~WXPV=`g$&lf~NF~|6?ZtCx+JgmFTrt1WwN{}_R{&P3s zH^J|6C8<9}y^5@v|Jt<15P+u87Gt3I98qBZ{h`h~vYTQr|DJdL{utBjTn#ORgj78_ zi$weT6Xv*d&(bCSd-YZjy;LLUi`fyr{r3mL1;c;%Uj09A-B)dRtnuN~6@P!gq}Oy| z^A^T`Zy&X^<#sjyf1d$wNMK+fbc6Ks&wfiUiTio4`d_YfT)O}15cm7DTkt?{wchgY z1-=NX^6zSxHa0xJ{JG=jNF!kVzdwwUh&!z$6nb*`b6yX6aog6*hSRyrEh=ODCQr_v z`S`Xh4=0V+MRJDK?wfpfX1FWE{xJ!UAhDDstNWq1gUsWR(Ntx0V|(8S5^E6?O%&Yh zj7Dbm4?i%3qLiopG`XH+nKP=8I^*N(DEK-!rxM)g*4L3SmC-oSUAZQKuCrOU(7k!* zd>yOR`G4QYoxg7YV+&&2Q^cMoE-9(7P@f0bWTT_nrF@W?LNrqCeXtf88QIj-ba8R< z>({T&&Q9)qa|OSNfZsl;+1)8~KU9H#5{ z2J@ChYwTsejZ3C$eQFYJwhQvR>%(`1wt=);3>O$+F8C!Oy8KJj-E8%;bo!_?qp>Hy z^SAH85h#$Im4|>NZ}fbRB1;7|dog}E@opuyZFpuyUuY^HUD+=B*AW(dW1Jb5_IgMvYJd3v0}=aJt>6X=5m7 z$6BUwc<;)XNb_;kn2;)ky}#|VJ<}}Q^8Rnh;?9NK8A7KXBnKPwkWo;(^Gwy>PBW6? z!`6@Ys&^Xqa|rOR-%O&5(a?20t^J^dqgA%WXLGac({UsVh`Gmf!fgm7D8fI~UJk6w z4(eKcR!KJ0ZSSH~l07eXYWvq0y>y>GZTY-aR?0W`zu!7D*15J<*qG(CK)l+(%HG^` z@W6#!?6N}Kv9FxXy+pdfL_24D08Q0a0p1Ndd-2oXRd9y9;{yVAEm8EZ@Ir@HIhIG=sA9WJUf zvDoF@*U`-qnYeFY%UkC+|MA6}URVB%%T4h!p^@V0f#)afs^S;>0cz}587he?Mzx%m zvZ{QdjXrq>Im-sLXS2!#;tdu6R59qX`j11Y0CUTq4a;>n}-Xi%2#+HV!Re- za%xJ;x(@7Y2dAdK68S6zJcY;xHzyx}J6RTz2f_j&zno>kgtXZlxZ^c9YH15?O=YCt zx_i}#(3{!Li)CSi#~^}n`_5BE#jOctT2}9;Z;x^qG(J({X?}03xHYP?FRz3-hCrcn z*>Nqib%$iM-ZKJikLaM?f@l3CGFeu%j|qfA-ZXb?l$-a{WHDX6u&MuvX5Nh=7ND4xg^>sADa2FAt`5|Ncc-UdraNeMedbR`87wYCD-cQ9Gj&>)2P zb8sNK-Exg(K@)lP1lX*Zox?R%t22*(ZhacwYyE{INB-q`IM#KKV!#1*HB6ANt zsZ1-0I1LqLmm5cTX001W;v4c#MVy$z~PE)5@ux4;}-chZwqGURB%yGr{yyRI} zO)27cThhy)WkX^HpFHNPS~-i!X|Pz6a4DYe4Z9MT8GTgwxby!JcGdw=u3OtTKtM@h z06_!>5Mc<5l#m!gq`O5*y1S%dXb@0Ry1P4-lI})2MY`d;N8RV$XP@`H-~M+G<1^1) z>%P{te(O8!%1DLT)Ah&kE-xhN?3TL<3e-*xC(y{_vEqeF4d7!2`BU?p8gQh`!CJ~u z`tj|~*x-2kSnQL@oKb^VVNG5GZqy<6DJl7&crX=*0NwU7277DYH*r9$PETBxZIs$x z()D;JUC<9pU3LGob;h&Jz_YohE=liV;p65$WsNbuZ`Y_FhWnLkZ*1l%w;*3_JUY`K|x)(4&@6I04cCUS2{B~DJ z|FdZcm`8^01@-m(j4$gpj!CzraQZh^rAP;ajt5c<&EgyrRf1>4GQKK(o|K(DT+TXL zBT0RBI1#%|pjcLVfQhofHI%5yeR_+9%m$SBYNnq$BxrGSc}R4Pl|t{@FLfsAE-UtL z1>1Vs&h19eN)@!5<7|BWo}ku@p_m`l5m{(8!&oyq_}y*U^@ja)};lDU!3>!ACDo*)V0wMg;8L zl0bi0uw$TTMZ7cWWL~3cwa40V=Y|sa_0A#znT67r{zhAV%hVwP0uhc?!A8H;0-?LT+D5@`m-5( zC#6{NF2<|nPWfO`k}(&lf_sEuLG_Sg#2@O~%lpUjPQR)cqYtxK+f_VYYZ@xit&of2 z(H>6HHhaZF_5)Zh&(4Qx^efX>J1a(0RfM-~7hcu6tYFK}@urfLSPU|4q>1CXFh-$s zGHSOWL^dN~zU5b;>m143ZpYH(s`w)vx_6zHCa&z}`Zwg-|4%phV zl5x#ggwIBw)}k>%u%k6gTif(r zK~TT@kZQ{ecV5)F@9c@NpL#c*gjo0|O`49@oKaKfpWidK6HgYwt|7I$ELjoQ89v_N zveGlYN7S1@uG8hN^V+$02R+x1+;x9B^~Y4**_QmaIa)$$T9tOm(1$oGe|oT~VQk%M z2(XpR2Ax&i+J;@LZ31k!zqPHb`myh>RW`vEy`Iazzr@ZzS^f&I&UohM{NzKL-Q z&P@L0ahj|{R4i=PCLCAeE126mfR0YXZ#-iv@e|(E+i)B{ zH{?+0wJe;NIYlFXyg#MC&%{kmX2EaO>#lu2)kOXL{0?V6xod3)9%qANcOk3OZafaV z2pWt1T35uj>r2{bRpaLoCpwGrmb4l5hL{9}mYc1U_3D*Z%aa*F$?aoj>lQrz;pO$N z3r@k0BeCLTK3y(zTEqK_5*?2))oU#~vF~F)KEYWT(Vf=g#M5*==nmSh&uCa{UgSK{ z4YC|*sNZE&zf+2{UiJmCx;~q9+qw6+0i5_9{)0lVvf0ebz*Kt%*6mN2qMhH1TO?nh58k1$Y>!quNE&*+WW z;$aCuDFPE~+C#T1Dl7Ei;e+a$nvB<^zx<2)D&hh_wAlIJ4=f=z%w=ToPYF*oVN~y-iZ3VkiFoQ$VwBSMWvL zkCWAiJ;y2ai9(an>)cS$3b0zk*M!0O1F*s3d{o#yOLA>#zi8qaAm?YG4P7x{cUg{@&(>lST`!tvTeT39S+w)f zd}r;x`Qn)5>cYLDETmy4Sgx;R;BIO}SN<(B*8tWU38N#0{9M&{{7Uh*f-vZJ#e8cO z!^vXKvT}}if*%547t}DkZ7Y$_cU~}6c&QG=UcdfG*!lVZ$t7ZUV#YY7y?vS%_wSNI zj|wcgrlzK$p&=tfxNf8r*z;NMf^y!Tus1-bRlR7Z3dsyDH)a7GM{#&O@{D=&L+$l) z;_20FeDvxzj6B_R+wPvt=Fg6FtLSoQ3S|&+2B@B6((QJN$%S^5>#|3essc9(}Rx*3J^7Gkg8&HA_Jq$A_>$ z5axYvixmnBeobVxe}E@(FJsw&4P=7QJ6!9H#?jsi!kS&JIzD1*v!1^sIlPRPcl~UaXzn-!nMfOLXbkX}=q@Rd@6L6P5a039@Yv zX2F^YbI~RIRZ0?5l8W*)?^fn2hF}JDchYCh^p(N&AQAeL%DmInk?QQFjj!dkY2}$7 znT3le35Mno@^G)H|M1Xh#VCT_keKcLX)IQ~^pZf~`3~v9apMm~j?7u;N3eTJ#gPme zCc%LUd>jdjKU}OK7YY3wEY6p5@6)OZ-jiy}mQy>B#efnj{_w#<-RE9hK3R0TvVgd8 zoGjQetCB}P{>Q40_I&sb^f`T-)3{{|tUI70!qm(x1M2c*{f$B^D7S0h$eY=zACw6=8tF$lIWg4}@aAC<+ zRwZoei(TGzmUBveS$a&auAhuZ7U1Ao%AVirNKgbRI-0Xc5m^c7(v*#NI@%7YjAO_^ z2Ses`cs^Hk2eDVbChkl#L#G>9flH-=cNiO>UqZR`&SB*}fjp~K_nmaS{j86uUj~*a}|3n*LxON=q#kG-_;qDA0VH> z=|UVIuG?VCpuIER7z}`Vo<5+B$#S75<lbf0QFEVb42hS5M7xc0wdT z>v7frE+Zn;44e8nS>!)v>=yGXBnNF?twhfmbc^_?3l~BxHbzXSm~<*(Cw2P0u~zXr zdIwXdlb6N^OUw;n8)3{}x9hLm19Cm#&FiJ$M`1KrrVZNen?@U=kn&HdVkR5GTUR@= zHfFsGbNxU#*b4NPT@x_)>tC$QP!qTZ{<&zm=$r8r1VMIA6%|-dq$wLl^3}WGz$~ng zG^c=)Ra6ufVBO&{_VKeppyk$r+)4M9q~_)BSK6$a@uxZ zhJ>k*F+^XqcVV+~5AHn~AsKs09R}XUz;|$5*4T{z=DK{0EJv3LX&s82H}+5FKe5g7 zbi>0lBLxQcd<17l6xmIwIX{7Q$)z36Vl^=~vVCzZ&8un>kCyl>9F$x}h$ty|)xWy# zUoOBs{xO1W(nC_vMMSn`uenrtE;Q#Rcc~U4Bw+Axeq>M|Gt4r&q}rP9$anA1f0;& z2xYl+icPTZxmF*gfE9OhK%=bNo(Mz&d_$2YTnpsm6mgrbnuKW-Gg}-j77JE3ySIJ1 z^~tXL7efcEx-_{hJ;?V7r)%7?T{sST!1La9S8TyFLysCOb^c!4R#IDr)`FI)jV{6;MfU(msCRCR<@IKBQmwj|?Aw?SG$#WM5rpB6TEI_Yx1CkT+Gmpf3wkB5lwB#yO7 zl%F1xuFogqT+Hu|ZoB;4*)XdUYp zVug^fgoGZRCg9GO7m?M}B#-uyYBY!jNX=bfW!s&lqoY$BpEz=h|H<=#4{;jLCnigFfg@o)+9?k3F9!Y}m6V#&GaN!djk zWo)xysG*|bWQO%l^FXAbd)uvpr*;xvZg1B3{H>`4*(jzK-0LH|_gtx5Bdxj3q9;H5 z?dwI_aP*{Dv4KG|!vF)c)TFX#qXhPo1nK=BYax{)cgrv;pgKMII$k`6O=w8<$8j*rYQ%xv_xue!~U+H^gTv zlU7tkQSOE#5X}cd6XrxJpsR-SoljN6$dXOr=onR&_@;ktbiEBfC+rnq^UIPm%00OX zDEN7>(Yc_Ta5`J<@^RPBVs>!@~sT8&FdO{GTQ!ChCO#yhR}S=U8Pp zOfUb!&z@r=At3>j4dwi~IDHy@dTi&aD4ZZozyuC9px6c+Ir?zd82a8(Wf~xz-Nsr7 zve6~w=y%ILbHOmppY3WwhO9#IUaEM_K(8|Yy24`eMOt}rr?!z^L1Tze;~45=kESX)ZIcx|j4lN34OT^6&(5b;)?I1?BNT1CS=9%W)}LTP z#l9&;(EYeK@A#>oOV;nXZ(IGSFuBi4u-4jf#14kaZtF!eU(1`&l^vSm3rN|>7Z_Tw zXlT;(=VQCsD+;``SS*o*jPD6%<x6Qx* z_CYEhU7o>#$-*UH-ndO`)QddzguvHI1i%9Qvu99fpTb7YwE&nCcgn3z!sh(Eh7DSZ zptwL{mG0tI-+ z)^z^grU1V(Xs$|`Aw<#kGG-X$6_DaYW&45KWr6MugkcVeFCkn?dDH1=AJr?1j(yT;FC*#0I~@g-UbkfZJpp`Z5*^OLV87^N z?uxiXqlar4;`a!Du7}~@{l;vxxBwL`tgVly5;ClDn|u(wVPFA<=N6lY4)|1K(n^6p z7!h`f(^FCwULJjkESjJL;$vmYk#|vx;8rphvTS?7z)BXh`S?=madwScG=&VClb-% zkDs$@YvWuzkiG6hvAheRplDIU^<)WbASEZ&_Qcz$93h}bTJ%33IZM4aH zZ~}t-mBllC)myRjr!*RBL+6GYMxLt7sHKnm6k~AqNM~p4t0x8{qi0{Ho{-Bj(i_(o zF3kt0D~>K@y;d{TnEr0dLWExz?fGpdIO2W=Z}GHYOc$afzsDcbj)phUb^G$deHxA9k=XG}wT&uC6!PMJf5l-e z>)mYAC_6u53_+nY3shw4wP_$c!DclE6U7N--47kQf|IJsvq$aRoDZ8p(U)~Va-H3q z$^4sM)Xy909OJ3H>cv1j87ev^nlZ!OGG39~x$G%CTWNLlqb7ql3UuU(n>SP}n4Syi z+I#*}kd1oU#_t=z02aT>8$er%_Fh+i?dSE7QgU!mIX$YtWac>1%@G=&(3hGrHwV%% zof~yj2ykCrtQ3)n2;~TtNIdaMq%kwzSXo;Z)wK~AwO5J-HA5LCE6f8`bI}~$EJ$%` zIA5Kd?I*08p9Ht`I6ndGD2FG_rQ=lI_neSln zyZUv2-mKAFVxP`;D9;Di+5rd_48RZbA>~lhrvI6Ex0xP5EH2Mayp-_(A9p1y3J47H z?Fsx!cp!74mKwlALq{h%Y+eo$mG3LhT}f2&e$2}NO)Gy@U(Hxga@Id zR+v`oM1h;s{PoZuq30Y5;ZI0;ke3bl<*wkcp@6faiiYHHsleBk{K>D>wlh@McP9Il z@PN#GDlx#+WePmKN#rEMm7v36-w$kZMvJ{=NqQ2IQ^6}O7NR1c8ea$;G#q&8`P9fH zh(GN28P+`7cDrf`ab#kC3gdS}(Xc-KM(aqHAPe(a)cRQ+_28mWxz>?URPx>3S}8`c zr^lA>9lIx%gDmOSuJ%KYR|oeT#erij?L)Z(xIJ9P4$qK&f7>5hu`L_>)1R~4m9g+x z%be5B@kTUu=NQ^R2=5Fg>+3e`r>_J?zlztSdJr2^Pe>Zzjz_fTqR&T^bXp93iLTOu zFGjPhlLb!j@ir*l5WnDkn-O`Pyos8{-%GO!?0;ZuM~Vg)ZbX@Ut;AFo;-}+?r7Z2z;$mhfH{fCKk%H`L7QgH8=%`g# zW?7jH=;V_*Cd{n{(46#79K*Uei@m6P#8&X*Vg|=X%+tYXVQoHHYaIHJyW;JvkM_uEh7+%0-feAc>-fT)HMTN77SM7Q=z z$K&=OdauKbv0W^$Vz8|ek@ZC^l#{mzTOZm`vs z*c7c|A+sHxIJ`>@2Qgk5<=yXK*;cD#u|h0hlJJtA^IOJ1*C7`-TM}Y$qJ2g*Hu49s zrMk?^qctqaRX4KP4}RQp%-R6^#K0%cll++a*-K0=g#pVhoChwRr-iPTLB=dDq4hWA z_PS-aeJfWhzihsiwcTu`>-Zw;**AW*n`5@Romg7sPrTlt&%>i%degs0yHGij-%h1k zNA7v(Dz{7oQn$FnNAv+lRhDwBtZ|H^N}>{}KNi-zL})}DCYf!(xVXL$Z{Pwka^eS-)wkBxbH`_-W@M$;qkNRAMA zG&iSXMaHV;l*@f69lRt?(+-=OuPzUowEe+dYcv}cmCs0ZdOeLL4{T`D)q5{3C79OWf}TG*eJmhejz@Rf{5a8la96V4tH52$C=$8!`X zV;>CUUy==#>3ofS6t1pBg->pw!ZG&}%|qf*+0~&U_Kz_uKhCOnBU;2D{DH8m^9;HO=x*Tgsw2O#d^6TLW3~g>D4#V7O-a zoZGbgLzJDiZH)&P{CL-{tymqN!zJELeCmG?sEDACts-@{Jbadd&K}|Kyp#`P0MzJ) z4`vJ~Z9)I^r{F)QvCKnnrw48UTT|Pu*&TsP7Mpn)G~#^kay3=#~noUA**neBtEjLx}^Q|Q_631g#hprP3^IdMX> z#M$ck?)Sgk8Je2-l<=^_&(l$_z26D?w#q+{QP^O0lwU;6Og!ti^K!tc*@+yJaT7D{ zX1-eNKMg#0QlN2FJ+U|*LRby zUAx*B737o4)tf$F8ySg53p8w`oa-#}|BnaD^RuWlKKK~*%hU6f+abXR91K4OZc$-B zB)I1gnJ`hF{Z--xjPxe$dl=jEe`*fMRCkef8{lf7!J7Gymr$hd=lv7k|K;BS0F`E> zN$J0PgEU|_@Sk&tece|24ujda@zY_(Tu3o)VeTi^?bqlrI>Uwaw&%aHv)?k_BC>|am%8Vh{pG1HT$ zvDe-c|CZ^FnKcVz(VPm-3A6J@=A^6yP z3;(cjlxwZ%N_bM%X@C1iU-vBv-upyy?IE@@P1+YSRKb`@ZGs?!0X1D`HRZH4A?cx{ z-d*EwqjbiM&(~WcY$9pANpJ6w1O(bwN)2Y!e}5X#=qI?rAV~JVKgJzG22hCh?rko5 zNZTNx48XKzucwNFVhei1eq=QRy@BIulJ6?x*4Ea=#YJ6RU0GQfC{k0@4UPscVW&x6 zRjp)DT!%0ujv;?4T$n|S^G@Kg--n|WMUyV7S2Z_lM+X-e^Ty)zTWPU>RL_4^wDK=Q zO#y1s9@i&$TFR6NfpYBj_XW#QB2u`tFppT~^w!h$R{Zt#Qk(-P;W0E$O+oZn_n2TD zU+lg|H>lq3F|?BZ_h0h67VE~}Jw~+RNRyFt0BEEnPt$-r7lMPa<#X4*5NXN*pAnVp z&3S<>)9CKhyc~rz!8M$ecY-8`I5d8FIPIf#^V4X}eva4oy9QK42|`@btw?_^ zW0w)bTSMFGHGz0g^|_|7B}-K5@&+DwO9}7VYh)?yzfFiSgvd7)JWvN=iz;Jh$MymZ z+>;dLFBAkNB}1}P4f>Pe+2NYq-QBg`ot>QkX+cd(3tS`?I-u+Yd56+5e0je;PeEDY z#i#ig^_hLs=>(B*$7+alQOErYP%x_?Xic|qP%iK`4_#5*LR69OyN^_aU=zZR#kPl^ z|M8#s4o#Q1$#BYz}q8zdiYrSA6*<`YO3z&fc{&4+ZjDT5n>vI|O zp=81o=okP>6lZ4g`FV;Ud{^=Xo<<-Z;~7k9C@PZnekks^^M!~*Nkt`_A3F+63X9K< zHKXc3d7j1@5#GzqVfgO+PNyV)LjgtW^)1w2Pix@;(Lz(g!zcVblK6cHfH0^8GK?he zMXCm~a(H~aco<;dWsg1?G;=$f1RaP^B;8IU9JwF-wKPIo z=e(D=HyX0}c2N>%I%3V!UUHFYVERF@4uRtlW6f)Io`eKvZQ0VqY$vl_rfULq0oat> zy_;jjeCvB)7aAgv`!oZO%xg=Vs7n9n_(J|O&Vj}Y(%R8r>4+jLLUfKVrOMd?i9PCU zUHJATr8z^FOBW|Y+H2)6g=4npu!=5lfA8EML75Ur*nr_)X}CNnSU(7-0f3*>c93Hr zI^fhpWI&2Q($>s5S#z46faqT{m>M8{{Pqrf0P>Lw*e&G^z9B-s6e64MS+5Ue0fb`K zXs{xb_TBAFVADFpeBk_(53<`)4`~vU+CMn(U!oC!Dve;o$2|nQ!CUbq!h)KHs|;6zJd3t>b$s~MD}dv?r~-L z(%QYB=AvEl+E1-tRS&JP_QYH)XCLJ0zD+Bwp%8@f&?^X*nc-w92UbcPV4IOuf1qyG zi^VmMyz#@AvOSAfOv{5v+U+Mr?I-rC@s4-@R=3D7o( z#dBlmtCugF1C)O0xj$HUdSVuMUUGy}k*$sgFKrYeN+8Utd=0WqM`{%n|%<^?lU_7`jznUSUu00+$ zY6}pCvwuO@FNO*K0Y5a1Ay&7xObiUxfS(d{nE|)`SFdEg#ITx9iLj`us-7$f;BX6W zCyO{a)z}SQT!5S;0}+P;hzeQ>I&Kn{1#L2!SLc0yXy~END9+M#=A)ZNRR~=jG&mwQ6*YY1k9)G=yL3dO z{B1bXgdPPs za=GY6oHG=R6@f>B6|3)f4cgFoh^|M>S>Mhip(G2RaHk419rB0pNhzj2$YE1N!B6kd zF&aT#L}f)-lM3ac|6m+qkbAZDtv)6&H~HfG!0x59;Y-7N7s*|HOi!v%pOj`LAM#gm zTHE=~sp1M`46nZN>EM%E^V4^qoB7g5IS2?TY%}2rD`6oi0x1%p&Vm^OoNnw<81LYP zPCn{{w?x_UqtNe#qj^)iDC{ zFQ7Uw_&&!x0Sx*-wh_&zE#XOknQkzcp7n}n=k{>1l%TTmy}HzbH4twc)ur%qaC{25 z4?`}|+bf2o*o!K(5>MJ0WbU=h2VYybWein7xlmtsLsv;?ssO{vbYy)06`Q`(D-Ken zI;!Tts)UosB8n=O^%84EJrnm%u8~d44QU_u{SV>kcDht%i<2I#CGDcwmw~Co%a*e+e@vHw;KLo8K4;{pWQ>0q>4-_ zKbn$y*Zr|e_N2+tOfJ`Nir%K!qx(KhiuVnP`PPf6_IIT1eo?rCH2x6jhF%&%)B{n| zN&2qPXuKr+R?_EO^kg%Yu5dq42;;j>gi2Ol`qEYzBVIxKGX(V{=yZ%~8qudOft&XB~5=g!oU-~3?`Rpez>qJrUV?De3B6;J;ft@AB#h=M*rHPzL} zOM{ZU-FTwj$*Q$5@$=-K}c4q!b{N`Mnj+O1GoDnQF)1U8`CiSF37hlVe23x%T48ah*nWkw$Bg8HAWJfH^MUELG(hxET` zX((;>q}|sd+@pC48~&0Zz&$U)8^AP=YcejgS#+kV=md1(onYshn{?N9n1 zz8c~@!509 zkLmRCYZ~>7Gh8=Nkpj*kv06yjhYzg^*KP1114x`mO4_Q}W1ROC-HE)3fL3x$A-u{U zbCI9VbXo%#c8E-DBGjq+6de$YZ_e%CPwKsik1HCvo`Mg3SpoG+dUCHGB^ilqIPf=f zkm8<``9=j*@WNZ+GWfEb#Fb@FNu!Q>ql{F#LO6}NDxE7vy{^S%h+u(FZ(!v_-_Z6` z8%>XJZXUX_Sz}D=iqPZTX4bGJv_*d#p`K_Rn-)W+rW(VYQ)ohzZzxJ>*hfN8#*544 zA;`(As!*)_;MHAY1=xfneNZw)i~aeO{wj39ll8kxge!Eb!#0Ij>^lDbz6QoE&)@*t z8gl{4L}m}!6UXhlFn)5Urk^zFnjvrDB3@x%F<8e5$PEfh8lB)oH4jo#mQ6ZyWuM{` z9mr>W{RxEm8`s*N^5yygo~^hS#Ilj+$>dL)4%Y!0Xg|e&Jr2-1ynVW=S=0d;GnM?C9AhadB@c=`wvzZ? zx8t^e`fUqneSW@#x5p}=yQCWe+r~oDEruc_Z|tB2hc|Q8+{VVnf{f5bxf)7#u1%)4%dNq10iI1@_rXyjRV93~c4!6~ex z54ZgoC-U?@4-OAy?`Ycu;?X|ydo7zJ`zYrkrDhM=tC7;mIOZZ~vmq1UQDK~2zuqzY z@UY)M3ex0nTpqlrgw7*ACAu%_Yt2vF^a(i1Qp^ZC)(2Jk9zMNJ;^gk^aMwAek_eSF zmjdJTeQK4DPqR|LI6FuQJ5&?rXtybNl|9j&4tT>2NDN6hzHjYgi&6Yu%jjdirnGN+ z1Iike9)eS+;Ti9KM|8vyLNk2G$ZhdpRCA@`=MCTzq?N4S9}qJd$pu?9&g8ZIS%6x# zCWR$M92P|RljEq1RpO!SSXm&tVb~g&oRS*QFkOgiRM)|LKuWsGC1u}&*PTO@? z$01j9pLt9OF1*5y0n%f&?aoDhlBQAdO|Bo`!K?vYRyiE^AEAN9HDb)7AjIS{qx~pk zO(nEXDYCBfyY!Mn6^H9*Bf$Q&(;aJ`&lAy;2pYo+0iCSgYDFSiQtr8K=LhD7^YDPx z0A(8+78kSB+w*9POG`UKBE|0y&$b(`hGZp?ClJs%O8KxIxgO-RzJk3SFV@}vvJL)s z2F2E`3vndXJbGfv_qdA=|2g;n7;&(=K^v}FdE|XJ;^D#mzLZyV_CxNyZ_n;$kc-_< zV*YX8A{S^$et5groYGk#PA>;8?p#w^8NeWFK~S)J3-3ISHh{N3Yfp<>DR_3y!FTw$ z8Lo^M^|}tsqMHTNTlDXkZu{9&?z3&*-2$B;g%k8wy4ORTp6%Xu%+2$Ado@2W!ePtq zB1vrV0;S~1qB95q^P2EpbVn+4l}@0zpxCGz+VTfOM-;p;p-CE@OrVR|nzMfzk@0(p z{XD<#&r*ZFB0_uB6_uM86Yp2_Yei7CGCsS=(CdVye1`7Lgf^Y_v1RVL z=+R4K4*kX(Tg{IAR-KU$%7}N!Bgc7Ygi^Csya>wA{@J;<5PHp=0pBDKot0Q3ktYw_ z;dhy@c9{trw(E|Dj1t2mBIrbrEA{q?U;~xwQO#_>5GN-m`z~0^=G|;F_MTL^6|=6f z3&`G%NiP*pBm)GityY3>pA3zSweRqrf5)L;baD*>rG%dJi?R+59Bl`kVT`I|%|V3= z0--}4zjM@<x7@(>vkDrzL z)~y1}rsP@7`_yX|Cw>`;t|~}M1BgudVkTSi-?NaKrWMLBaRx;~ppAxb5!-^#RgW4o z(Pu=v3`>iL+*8Y2n!)WeVr}wMo`^ynb`;_0cduNVdAfVKxJEE&gDA&!1*&XA)j71@ ztws#ZWdI&l(0 zuu^$1)+FV&>>AGE9rOG%)K9z3TvIgAilM7V2}jzlm*dqBSuYIJ*tZ@_)(FmH4Y;kn zWQR@wV>LMRZ33WAVIBm1L4|978^b~XNOB%`G84M|?n|!FKL^gKL>J$Ko)_EZ{or8E z`%?XKlo>g2N?g^C4XL{eH`b8taj?a;g7EkwU_}s5P?Z4T$xNX3+gtiLn7Q!^^ z6hYs0#3WesqM(G=n!2+@#*NO+x|#5)pN&;OkG1s8)}Kj{NbA3wC+S*bR9FlRstgnX z!i&~)Jw=x4M#+{lVJ@pbS?j9~VxF+*KRbLvChdEx1T*Avaw_;|uHW2~r(8JwZ-9jXb3yo!bqv!I#GL3eZW}{}wa!Su18+>xA^so1trPKxk@0|L z#SK~3&n}}5sxfl#8z0cpI~7`D?hqE3m$pHl2Z9H=~jU2kp@plaYst?hfNSS&;lq+D;DPJ|reuLu5gI zo!i2%`%2&SLs>EC>FMR(RpxTPA08TNHA^+yqEBUX%fs>i$YJ%cz+!rAEc3SvDNW0$ zm^QQD7UUV$pg|Mn$!&U{@H&7_sKG;_5?T1;EoeH0`Y(wcWMaWUF8*A@!C05l&ThEK zdv!&2+i;cd6PZ}=u%mDGaRwy`U|CG!RML8JEt^rxThR|yJ>F|R45d2@qVaQ}zW(Hc zAx=isSlH8QEcrP`+@^u~w?TofFGHTDIn(;BFwFOK;29CB0uYvzkrY{TwRH(D6^!4J zy(#DEPqZBi_*a0kppbrz0)x`h>ZeG?Y0&P7-MzRRq5_w=b#Ae!zFsb6Prm)x%Sks7 z(8p#ciKh^#fR3(evxQKd4?^$AI4r&B0fW(9GlA0vG5bIT_{T(GENsp7ID9gHMd)G4 zWoyngCPH@*pPU&v*gL zBS`uAmqI~gIL@V1YhQF5OA!732c*;K?6h`y|tHUGs1-arJfY-p|$}$5(QM*VDK962!P_a#M5JG-`X=}ixA8Z!KXf%yVGv(rxt(>> z1j}iOQ8E|4#(H#k3y*=3iHT?nGMto7F`%Z$@b&g!T^0=EBS15!JyBj%&DB7PU-AaqU?hUUckKP8tZn>LnXffN>q$nkRh06FN`a+hj@ z_i}-E$jR9esHd7vTV=?*UiMf45Xi$aMD9Ah-=__DbUfN{8F`7WhpYfQnOTqACTnRG zLcais0qpE4u%1}fgda9=mkJrcLtBF=#{V93NrH%~m>um`YDj=G7k!3g%_#toLAx!c zr9W4ICg^Il_WeH}XHI~Ky~hS@#-W>=0_T9f08+Gm;1u4o_Xg@6r1%j4Y6hX?tkwZ~ ztlYtQve|j9xB%!a1ADI@EnGQ zE2NlvaQ39BFELBsI!B-nts4v_MJlP3;)rravUI0FnTQXy?vj7ids|LjlHoqm-)+C&qnp)l-3Og96c5m3&Ekj zzD77${(_W;l$Sts0lYnYJvgvfB3wM;;_gF=SF2VMBHXd74ULSDz8re2QII+TwLS9O ziQ3X?YPp^FnUTXLmVYJv1Gm@WPFz<>`X-f6M8bi4f_PNM8Y#oGvy}qoa4#y^GR9t! zb{|w;T{H1JyPk&t>(!@!k3-7iHyEaPvm_^9sW25T~OKBpM8F%V>H$|#5?uNb>BavF@a}Rj(5~UOx==B1Jvq*#GFl%a_ z`}Xu1-EM)L*|a3WTpIArrnkb17y>IuKSclJQslxXpi)4w;Y#oqDz{5dPCIr~#a~`;$uE9sx5Vkyqy{ytF4o z#f1ILF@WV%dvQ3qUZw}{GZTX#L|`s5%*G;r-Jod=KVMqc|@N9~;e8 zE=h1)r#tNy(EO0Kl`avVecNLL2*56f z6ag3?bWvaq+9oS72d&q@eIG>agE)#0qF-j`=P$=NI5-sV??-F8Rso|t0uvMS=Qpub zpw?T7hYur^ir#)9zx;`of0Cnlu^y?YVNo*;Vv~KU2v51}Y$oOKPoL;u25v{wb|4l9 zEh4~8ai-zwtidWYBj{~Ek5#Dcc1j43p|P2 z-XUqlo2nKnb%!|bLbIYUcZNi-!y7Q=X%bh_GAi+WT=!yU0ce7M_>K-d)D_G(MD&|g z5SGI(g5?jKL7S=`{^lJe5WhN|ZB+o6e5T=XWLz9W$|EJfvrjimm1TgTgSe$H zIO|nC7HD<+xv(%)Gb$=7+tC#^55m*+GEHE687d4c zpT2Y=loVM?h3p>N4{xlKfq3_}>TM%C997&Jz39oF9<;aq&EUKEWFC zGXY-q;SFN3KU@4~|BQRj^lE`B2V(mDv`5w|iLVl!epC$&4FQfrmK1J3E3j>3?cT)U z`pmCoc(^$ZmIC0e10HR|=C*({xS;`B)gR-OIe|gd45a*-P~AYy|L#K4C?`?yDgo;E z|7BGw{|$rszdw}l*}&W!7fIv#zd!c?avj$E=RG%8{(g(VR`sa*udNi_qZ#j)IKu@N z-S{yq}bj*Fr)W#mWR`+v1BhW@LzA>}u@2au{# ziz27URbziasXo5@yW6Z8MO(8Od5Cu?d-P2Of8 z6>x7MWskVI)#Z1MKz#>L(!kc8E#&5=s2EL8dgtF>?ydh}=-dVN{V-zK+k^Gt{Fi_w zsCV@SnEA7_XA!GwYtoU=8C6O}0b=djv0K$_g-%CK2(ob+mPf78-1cBxM`ZZj9gZhas%LK5uAnj>P zotm1O87g_0ht5fzeF%D1?1?Gi-S{&i*Z&QLhW{K;vwG+h1YKO}di_`3em0?jjt6H7 zUX=g+FF17NS^{r;M3oa-Al&P$&$VvzY4#sA2^fP2y3U;ghu>XX(iSb+VO6F|}J z1IJZLRtTtgm23A|?uqZ(re|c7rwsT%-hxMZYr(I=%k*YsYP;R1wJ|e4U*Z4rH%(1V zD5`kz@$n$>{8wEdsS1!Wz~F0En8x2${y%=9pEO&)&q~v6NknB<_Q~~>PtC=%U z+vM8+k6-yadW(*ZE=ef_S!}?W+T7gi>FEKH7cftV$8#P4qnbS+g^`kyo~X;|*h7G( zt+70cWV=WJGofRh@x91wM~UHoYz%*1zcq3;AxH6dB%{`xi@cZvtKq@Xk)54gPAGhQ ze4J;H^8H_za~1GI>9JFDa~b4&v;Mife}C!w;8RC3O>is%3GeksND-)(v_-eHw3KU4 zUP*8YMq?ue?2mX3tMu$tf7UcZl)Jfpt55&F>HU3_k-s1R`S{SkE*vG6OP#a{_HTiW zEBnoqficZd+sL0;Me^^n>WhLPR2cqJ;h($NHCqu$&B?K`k5N&kt-t2uS90Vm{PLS^ z_|Gl&Jsuqc!~LHyX6D{UE+8KTI@JP$k;A8!ATkDvR4qQFS_*aJMYkbskuQwAIy zzd~iW0A7|^VW3iDnW{?N{S$1?YcRXIsf<-*fpplKha8XfFK@38$avO+vDOe!Ib-5I+NXi0!h}WH2 z6)ceJCLNZMky%ri`mU&=5<`%6gsBL6Zp&SJb0fK4qfHU)cXM+T;Dr3=yUR5mFZLe9 z_4bC}52LmOd0V-g_`ZN&_TyUW#Dq$nh+_b#vJDT9DzB)>@px%jH6`-Z7C0Sj~qv+?4ztgN+9`aXI} z15S4Ud%&VQW)buhezk^dAfjv@8Re+siQ?i#PfYx|;UIZ6c{>*K+6|;#y*lhfZf$gZ z*l=uIj5!au3>3e_Si_Q&lRajKCnqxyTJZN6A-|^WztE-s93=`EOpJ!|)-Cq%sHk)e z9878&#>kj!sTl?G+}dy6fOuKR05m0`-!s@-?gr}z++P33 zr-^~kiWia)B?9xWUk)~We>4_C8&Ur3%^;Z3|L3551ox|g{Vd?Uu)H~#MTx~Ifu zLm^m7cVX*|^WJV(jye-ti?;4+!+r(N0-6nRerR}j=l1#rsbh6{M#jooMg)5gi0ygO z(j7AxB*n$kD$J%TrQt3cGCx^0?Z2bCY6}TH6!u%{N=y;~gbx6EIG7xe!BMwU3lfo( zEXdCX{a*z@SWxr`ZflEO7k^rE`qACp$LH1+Yk$S{YucDLRC^td3=IsVQR{0;PrLpf zVc#7{b^G_PQX!RNWu&q@AcCCu9@Zd+)unS28j}h>($FhwytJ-S>Ar z-{<-H^S^g$w$C4>-fvAqoGr7@fiXTzKdU!0GBOXD@!|GMJ-aMWnEC%a2aE)mh_#}lRXe9z ze$fE0?lwUwK+V1-DO*XQQ|d5MeEI$jl6)?jXSkyyITx!(*Y1P3J7}-w9K|X~D9XxS znI78|n|D0lqExI~JViE&H6%;W!?Ju%GSj~D*x^XP( z%^Qn}^F#w0g@IdJ4y)vcHJ5S4rPxpOj}LeA-W9_MKR<7nG~XlRSng_Ktvbp&V``8p z^G1{L(~ZVh?%~;4TkC*p?MH0dRSi2zU%W1$p>?I%7z+`L172SsmMnet5N7x|B)hwO zP5+)@cCrfo`DUOw?iX612{cjDP$s<-Y)L7Na*tNSN{TqZY7vYc2A7!jlc*9(K@^`8 zWIirmwoO+VNDm(#9;UB>BfSk@v$+Z62`qXds6#?Rz~U(>qOEKcxG&FPvl-(P!!+WZ z(Al~ACv^?h^Z4_@V%P;3iBMR}->;~wv~RbRe}*Y#tcD(*)TBmmc?fp$$=vOv(OJV; zWKN+f9t#3C6T_-Do9Mi>w5;j~t=9=PgxG)im_9WlUmBo>WTNDD(a`Rb-nX=ZyG2{k{V2lzmaVjc;3Pn+J220MH2?=%o4r16YkZqsd2 zl!1#&RW*?_sL3riM;xFc4S5S6;X9(bboaQq_xJYpj>LQhs~b^lb&}B7P1)=1m(`!x z_sesKYwB3yYv%sVSgFCIv!*W~vE#n^(*qk^y0#LK!C0boQxBX;^!l0CUFM&+hcvvT z5ZWElkw844jfcKLBuU6&u%dFnJ?&E7V(;QtT5;g0#jw^hu$MCvt*b_%oj>z~1@Qfr zj2TylrNfzduvXQ}+RhE_zhw>6$9Ii8e)6O#U@~&@IX~5L?8#UHH*Ecfrx?G;RBWz=Y*kn=Jw8<_>MNB~$(b|n&{4E=%n`Z4t zv>mm+_p@Ky9cQ;p%Y-jzz%OvUQd{(cum zR3b`ka&rAQEo^PSVT=_deF1PfPTsq0V1f|bh;8`U`U-YoWMpKfRVnoT7j@4zC*Cm& z%7Gh34Yiy|H8DNCWaMGY2LNQUHaBR=oI}$uNcqnQ`UAOpMlduv*{ddUcX4ScFE5g2 zNd3Xzjo~y1;$3W|t4c+ms_}J#=vN?m z;}x#&+_KKW0_>Hw8A(^Mxaqz=kB_1pDcO>s$p?d`0+xP{zn$ zIB4erbT3$`s2AzfLT1;{ATYbvkXHOGF9|dlhA-IP-y(4#l+T%1?2i~(C!VMX&qZ~HuqO&_)q{MO-dztiBh2M2%5bA0fo*MbE~`fHK7SyAVomCxtd)U<>p5q% zYihRK%E{5%s>fhh^E)dIC<3ecKuo*ZWY3@@S*O#nByc#m)%5g-dhi8>0IC+*IxO>m zLYT!dIN~;VC-=cZ-AW?D^n)ly=G1PHyvj+Xqxb=t1C0bK)~VkGNT?G|7d!NNsmpni z)0SnD6ktdid^_p+<}Xh?E4;#&$*B93-N;EEwx?jstL0AFQwo52Pdj&5|IjK7EOj`2 z$YUsO_e!&eiP&8rC%V*J94@@zUcq1AhNWe+@*tUmM#gG%ix?%KPwu|t(Wo@(BQ#=a zg@E2QCT1j56LWAVLt6gJ^&fujAGdzc+Z6f~AVoc#%|ARkngSW)ZrXc9%gw9KcEDao z^_Ext^#Iwp!;3iHkyG@)$poim;DyntYGn>-&) zi^VqiV*C3!Wly|wu8lGl_Q-M<^=ATE8VHHEq;I?FNMz<0qVjKvCiccL8$W51OcIDz ziJuAAsqBbIEx%SJ#T0>F&Ed>{+kZ5pRH;p{>YRQ|b`GFKdM;2tFYV>!zfwuHm&RBfs(Sk;R^4!eal{Hm< zWBhpD0+5BU4~SQgQ21eYom^DdnB;D>gp?&~dxaJzIia+jCB@8A;EIt3;=NlXMeot5 z{m}F$)aIO{`~F!N_#5Nf z#3Z_JQLA>#JzW$h27QMiO&-vZ!LHZqJtfR%V16*5SEhh zhE4$x4bZirG79J%fumR-q&Fjmr<0)Fe3BA_)>m|$_5enZ4##FrD7hK@`^`eN+S)J4L zNf|pTT)@r-4llG$&R)Ksxvj-86q?8(^eroM@K(3o81y*#N9FUDOXTDK(G**W0bF(l zQWE8&;of(K@!?a0Pp|vj5p80wwF3RAkxZ1+wL~Z4&gvou zzZSN$TeuyWLin+mq$S4|4?-M%02NyE$LVf#GE3CEl)yk$T)YE3v{W*`pk{D~V13eFIU}xGvF3cFjVc#8Z6^@|;q# z6G@TjlP+14>b|2Fd{=c^;zddJqg?W{x7_asH*h*=fE!dUiQO7rM7MGy!+S7pdItXS~84ZQ|0x2tt1VNWzD7j1+gm;ZWh=tbH3Y`m#g&>ZO9f z8iVbV9yPK1%gh#9CKIiJvUIOedjP>mK_uao0JQ=9+<*FLtOZ(~X!=oSiM7JuLR2Lx zo{x@>JUu){tmNPa`pIBiWK+#AEbIfdku`G|>XyvBgTl1bnm&0_i1jB$;5WX1KQ|=X zUhu@=a;Qg&#-r<3j+U6E2b4K%ZdAD`d%nfQ3Qzr-t$Cq{hp#DhX$z!bUW5lcoj&Qv zeDg@Hy-L8V-_kwLwO#tIXvQ!&S4ucorSV2~(glg5?x^bHkRBHY2AMI{Yc1(u_;UB_ zFfv8<*}hCO;qp>}>x+k{s+SmBd10wvmQdsfmxr`;N4Zi85ucr#|JVr7x6vhpzAf>n z=-|*$>P!|rCFRGQOYi(d&ziHoSIWUoZcx6B$;Dez`y(e9MUy*b_3wO3X zFD0>IuUnopf%z4Qr%xjn^$ybCnSH{E*tjPV7Dy1Ts z9PxVIkSg^(k(!@@9^2E~F9;B~zt0Mfx|cpgqvPgdvvF?{Gi>)U>-v1mF&9Yi+$8_3 zB?))HUtQE7y{g01fLn&jshOGL{?_I&6!~2=Jgh`8yz{f|x+{<#{GmsbzpN34s%8S8 zy@`63Q9tUNLms0o#k1(e5Y$%A+@qBe(RTG-lF^f5DSKD2OTOHy=Iq{z93+la^Ls1e zb9_h~$#x2V^K6PA)Q!g$yIUbkn@QO|;!hJ7kELQ!r0 z$Q~x0$sYcr``(51GI#OGAbtPb-ey!*KN2Z?T1Mx^h6Mh-@53>7)E2I>Heoey>RNmoSjp-(InC9@Qux zMZXa;1~5yEvg>VuDW)3HAvMt$mM>K&0=2{AMHm8{Pq9tKGZynAwM(T5hWf)OFZM6# z4&B*;qYiVTx|vzCElDPd<`{OB`Ef&B|4Zk! zvD`2PFgFK=>s;Exf-wOZKPr+n9t{>K-J%rodb6ZN-1y9b{o5Vo3y4F!Tz_VU%r&es zkLL|+*@k{uB|-UW)Io8ByvmQ~eTT}`)u^7x`8^)<6;iasJ;%YyE-3gUCSEGwGT(CT z2OKr@4WAeHIv!2mau!QX?ztKxlkV7MfA~o7!zbIKoMeC0^^Xt`%xb|QV5F$?>cngx zK?W*1PE0V7V*4@GQ`qU$nE*d8_=gnRr1klM^G0Un2GhbXG!a`O4#ju@lsmU@!>5Ju z^a+5XJs?ub!y>?Cghm%oj{l<fw$PFuY zFfyX-;$UZ2ae9bq@ubOX6~(J}$w#pGH1^gmA9!7!C;K+n_sh-k{uZ`Tkq_U=ajnyc zlBQ%C5qp?nRLxpz_h1iRfmn(0WlCuc3MX8%LZ4oG8vUirUhZsO13^oRFs9S@x-A8P z-`S)0@+Npk!rLcP$zoFOls~`tFw=xET4s;7uX!XO^mqw*s2Qk;s}u9;?vgYR?-0{M zU(o^G*q&4S-C8Z?RY|At#P(VQfFz#X_q1vDRSJYy9b-? ziBGtwD4ScshGeiZ&g6|f6-4V9I<#IHKr(-5f2*_lf7t+wEnt;0R$9i4Kca4LBVR}rX_ zq}1p%Zi&RS(3KmbQFa~>*A3#eN=3*jO&N+WM8&%0(%Fv^#5xh$eMB6{O-9ywr@uI_O2n<8E&7T?XI1Koi@cg*C92Z6akSBU*+$u9RcStc$5cFtWHU^S9jeL? zuZp(>i@sjqTd`Jx)yGROe+Tc$+9n2B6RN|7PDXP%Q@a(3V`xtpm@_MU&@l4dVf#4p zhaWVmG(QIpK6wF@bzVGwW`6;hmo7mwqO^^J&6gC6_XqqU-$gk?FiqQ}z({Lle*bZ2u491Fp%BsJjHspx{fUF)=08&YnP;4jY zOsjhMf?|N<<5awJ!Bh!16XHiSwZ9BGUOrE@GI=NRVvm^W#E|x-wgY0miMCck4tF`J zG40>9pv7${7ivZryV^w^deH#1DDkUrTq12XY_3i7CfwP(9w>A{Lqq!K`O~(c;2E7= zPhD&IcSwChSHeIduGs#5Q+y9&YGcujOMXnZ&=^GnJ2da4d7pC1XNsI08UTtF?A{Kw zcbW^;{GxIGJh-e`NMWG9Mtx?Yd;%S#VN0tX&&^doG_)^v!K5%Keuf$N&v}zN*!W#L zv+>j1fvt3rljv{I<^lB93Xv}`)Y{P{P0!np2OK^bu(J&I4kNYi0w|O6y0(;N&ScCD z3dznZq$-znmbsL4LX$-s-wQt#%fev`liYIuR;VV{=Di^VFlDpYi%C_C)9dsbecTRq zBa`fjQZ}O{1&=@_VR1}=uXAu4d3K&$Y&^aosve`FCT%x$3{n+AP1hfSLP`8Uz#T{& zsPW7T1LKnX;l&*H4{Pr2ENt7X*$%~)Vw#BmngN~9^SB-TFFj8yv=F;TI!?DNV%f1S zaBG>`)9-43)!k7@C|JjzfSZ)+=fW@{FqWN~xn>NrKhpFf;Tt=I3Sqn$~|Rp`Zyx zeF5Zx3Z1J+))9tC^hWOcL$4yv><@c)Wf<;xChJxTnO?goRy3|rCLK?W8_elSl)&YR z8B7`MNET7TFlEv(qkB$2_}cA=Pmc{tDCX(YQvuiUJcpDJbc{HkXa1ST&Hp~wJ~L(0 zJ|9S7wJq4-V7fea9wm2SIe+d+7<7w94R5*JHLb#YF0|blIH;=soq*`JG2vBagaCyA zhtf!?eE!9EH7$yir5@{edqlO;ACc8g!^$PsS_;*TxL&(2)h43byllfl|rl+!h&YwGm z`r_@%|Mh9!X`w9knE#}C&jMlb75-abn&h*g%=-Snf3QT&56|TP`&(fA_dkCtdL=J#(2OGcim1Y|VJPy#4GVAKJ>LFk)Ad4&7X?%gW=;>rWKY>BbgD zJrZ(Gc1MPrMw}N-EmXSoHjXhs6GIc<3@g52x@J?w^59-M-L*%Q+({3aXOmWo*k9ep z8M(@M59W)LUq6CE0JxmzZ1Hb2IKmVk)rx;)J@WbUZ-5Siykq`&d|7!p;PFm=)Nds5 z*c(E^%YYR^)=_vvTwPaJ*Xa#dz2}T$qS^rmzWv?ZkI2nirT**})CBb`N>Gb{8UR7N zWd)=tq?+A@PJS5?Am0SP#1cO_TsS`M>T7ED{5a;JIQm$1q3t>G=>qfV!gTez&)xZJ zt-6uJuF6(zFHHS4lt);SlLUTFjkFTEk(+3b4ykT%znYioeffG(O1Z9yUFPfkEk@yd zGPgzBTmt?OB^-#ivQ$u*8S4KS3Lv{STYwKVY$!WAa!86U!z@DQps;#IDOJ%5kk=K$ zfSy+@_R6(9iSpe4!K_pBNZc!JV38tbp{$Vf`OSQdoiv_hz_eBjfV@hyN8%l*1O2o& zM%DFH|MAp?7gwtb!2JuCOEZvg5ML!g{+5Uq<|+tm&?2C9 zIi}A1R<}{=u^wWdZudZ@>rS}Vq!m8zEKRM__nem(mH5>*cm+_VLq&=a0CVNb5lLrOq>yswd~AiFgB$ z@^lUWimZ~V_-fDZo|LQiE?>==>%IN3>#Ub6yq&JwK5t(YkPp5=5KyC^c|r zOxt!yLQ7kFbZs-IB$SP?k?vZ29MtGfrk3Bg?%4(Y)eJ$|^g;z9_0Rom+Ny;B2`CiD z^w;Gospt+kRw2l}i$6Z%ed?RFwf z(MxVv3AOC}eW~0jisv0NER{CbBq%Ok+D<*QBBzDeNPp(;E6e{V{jIDtVI31lP&+Ez)3J##Y_*y{E_gri#DA zO_`<)2}5u%Yan{2d^V;7PNpOT&Mm0rjG3PdGMy)cT}rXJz5|SB^Ps4}oL5@A!%i2ZHUW9?&ou$wtn{78~|vn652?b9^G($Cm%`u(CR-KtUk63XgU zCB6uPxx5|ub=A*oTWJ#`-71mY`P{E0DBQ>O%r7hPv6623h5hcGZQzgmIVWax&bbXK z1w&8pN3gHefw-BA-Q)7y1Ax_c7_FehBp8ez09lI7i*G&KgG@)y`+#~Bdzt&wY+wZ!&6oho_gZ-%VMBV4z{1(`D0osKGc7 zdRqW|Sd9HpK@m}Xs$k3DzFj=hC+EsrZmqAIN4_+Ye0T4;bfI7`!OMcc-x3=(Rvf$8 zPI{Pcxr_N@8rBB#;$KJ2Y$#tz2pFY*BTe3_{my`E73Zl!r> zgo7Q*E5&yPD~Xf4Vr z`iinj+PUn>MY{D8wBiIu9pC(g*eEH#0w_->QfwphdK#8f)-RoMb2Fg4|7xsjJ+3+H zj{9saNSEeX-%3x-*-rzIOi^-7%pS06dfw=w#O>n%8y?L+25#NxGNJ{*O`G{F?JYR(--xa8#Mq0&=h14|_ zysIR4i(uq9p|$Jc>aORls7?Ol?w5nK6qRdI2C}ItALwqTmN{3K3uKx!9#qx`xKtV{ zCw*ri_e{`!(xlGvwqQ7%_2ylfWidyq%MUh$pC({Q*ax_e7WeNzD$bheuD*E4dR(|4 zQ}MZMm275TNiX_Nq@qf1LZ*!^{`1ZLz#A3Cilj!? z?G<0^YNyn>YV0e#d-xFSTk{xrc{LmDiU{WVZrC2s?mBE2tMIw;-%(> zrt$}mI<%ud2vcAGtycUlV`rK(xxJX*bVTv{uW^G{*f%&G1v2-KQu#=7LudmS0`!Bm z5%i?Zi`7IK)(w0GruP|Jh4VU%XJ?feU9YQB%G3o2P?6a>k-q|z z5>$I=KU~qPcaa<5D$kLMIC=@NOj8TFc;zB$zo zBG_EXPR<*&)7;;NTk@)#X|5G0QNB7EEX3F&%_+_skIz}jk#ePXyS;1|oM^1bKaj|; zuDYAs)bu#|>i8QDvtQSzk#T@Mwh>!NV=mY1C~GD?H}#ysjy?(pbzhC5+%Inny^T{u z0LaOj0A1O}rYMik0(W{tWrU)x1ysjsr)^aA6#+h(w_pvG%l)Tc1elJ;1GVi(2^}5U z#VW*UC7aBtiyzbC9>nN?B$PQG$eZui}zS0)w*uBi^PNh)_!u2D{~k@u^rjV0KQ z7*lD-Y8QHhiyS{5uVdhNAZgZ>WBO$xjy0M?RwhL0h3}F<0n_G6y`7x?Z;=6Lpzz9~=|T`OR@ zNHiPlc8bs6BIDjX5sp!pKKA|QUUA%`PkA2df5l_#U>uy9SK^gk@heZVI!Jt~zh-Bj z9sBGBwxP`9!hOfJ(0oCQlSk`8+Pl(A~xxw}^`E0ALxZA|O>&B_>_J`r1Mq!eGAZuo7ngqg7FFdkFwtHhavLIY%_R;r309~o;PK=W)E@+spYqQis?T8#@f zR4MXrdFG}nk8VHx*#c)j2QVQ4ut#k6PIChW-;*a$U381&y-TKRqiH%^Wn|%VT*8i~ zp`~r!>Sc_$Vq;~M&ZqKbwxb20t=qEhGF~ggnNCbPhmb!4LR2vyB{Fg|buR-;Cz6Uw z`e=V6TOng$v6M3HYu9TtW8)efmYxRXSGoJI=fBD)2}pD0R>Gm(-qQ`&za`}@qx<5G zHvsRL#(Y!IBkG=#re;q%H{4a-;v+iH@d9|BieCH=P}6Tf48t|R(#F250ap%S_&^pl z)9gUfLcD}Uw@yV}y&7QEFj;otkvdFzL@J})yg%dV#N?y}v~jNKTd?B}6JAuvjx;!7 z0xW#n&y;F4Gw(4^J<7TIqmA8zp>K!s-%0Y`XFd`=%Rc}VVFBchk=??yll~7a&|6Sd zZAS4L(-|zZD$K+479ywCv+B{NAE2OFEZSAyL47wvyE!=Q?#o9!%8<0+T&5~EFq=dF zusi+-owB7;FK_;uyj+SJhq{AfNNRvIW|7tA`rtJ~aeN!PonbAFN!|No&t8m9O`9GU z<_RT+|0@*b@_7veLBjU(gTA9J=j%N@WQO98$nvcHt7xJ@4vdT=kL}Pdph3cfYOsl* z@&saW*I)8pyF=cMbCv%A-|y&1*At6RZs83cqrnwqu|97=$xiV&4@nfM z$<-L!us%N16Z?DW;mV1`Xn`=BN{G2YkA1OlYS#tjB8F-oQ+gS+&tgp?yrzh|kGKm0 zjc1WHP?7@IydX`;J}a6EZ%ZSx8>N~f1%kzr8b^EU^-CY|6a-R5=ekQMG{`}{gVhGd z2t{Ik514Fo+x_no>7p&;$T*-#LOz|lm8+bs(oGxN*Ri|%o;B#jm@~ec*OiEe^4*iQ zjdAg&VvpKt{pOP%2fRII02uI{+Ras&5KAEr$WqM*Z!$R7Pm|%5|K86X7NJ8rVP5Te_X+tY^VAXM{Lo8kMjST-V=GYrmoQG}Tsz zrZ!@wTZ*0KTX#4m$OnO}WS4XuXye8Tg;zb)74x>1q5vFTMJ&%h5s7ug}P`<>`N9cwD2FVQdXlPPZ3G zH>ayjRxa|uaAq*7!r{B|gD?8@YTRenQ9{|5^0%$Y)zA~wFfYL%{+WeHVug+~#)xBZ zkJ7Nt41$CG8*Twcz#TQeM9iI9R?R|oMuG&D>jSpz1FX{z7c$!Z#Om+sk!)VdrlqTQ zJB0;De0Xdc$4%U27HROt{zPX91x3qCf;qAt1N_Z*7^mlna@{L+I855ImAdp)iti2o zPDKV1lrG*5$YYDHS6xJ?2d5}}eyXQh#oN44=g-POnCq(_IeO=j1-^4sDRv$%Ic zs`V=*dI`lfJL7g~q{{5n;ef>3N1j%K7ikvhNrmQKZ(n=GCX07pW?bFUCnM;rc|-xY zS)qdkJc2DNef?*z0NBQBC`Tc?06EH%lnTBT<2*>^r`|}Xnb4`yx}k9FbbRQ%J4rhe z$R#(>m2+JOXH&k{PmyZxk~tLA%{ig2Yx^5(?k>X+lsqiur;mpm?1wE@=)4^;7 zD3=Tic$dMzPGaH}xCq&Od4_dBt-a?az_1Ye>$X7a3o4rs=jjdLzp;=s5|B$W&x`PS z)FnTOc&5E%qA1m=g*ey2_#kXS;AJH#l?Ea-;w*d z!!OkgN~Mw95yS4hm6os1-Jsq-&0y%$LX1gny{fOF+xg_X@Z|JGzB~7@R|lOO(b{ZG zqs+|lxIr7)OG;&`%(0szq`j|v8qPnF8wD}egOHn>qS^Y#{7tI2Ulvb^)G(+flAT(5 zVi`+ZOK41xn3T;Vsrg1r;e0U3u!iMin`pAcLHeKW-(qvoHMX3n-s`q$>;rCiKTbzbbv~Dv(@&S;3fH zTCIUkkx;et{W3v@X`0AvenOxn25*-L;RyZ!VQC9?%c5Y>=pWU5N-bcB8z>#acVi&M zqYFcGT0fU_gXJK?zQPDMIGmv6#q&T!@*UXzIEDt|f$2-PEIjx$5cj*5jyX~YM7%7z zoqt}|bzT)RdOvAQ{qKRZCro7D%8$Sy2qGY7yzQqyuBT$sOfc7<>L^CHRa}EJiTuKO z2t8QkgP374rO5>7%Z!jOj3;Dz`!eemMV4)9s|tT98$Gcnc<}vLq4;{nK>2LUwEAd^G_-m2;3}!Em_kSm_T@^qN{_8?DFlW zVd3GamVU($6hP7Wid|L&k^xVE^Mq8PP6nxf*FuLt)|Gt0?DM1x+1=m2=w@CTe&5jc z3&22sD;a-8299-wFPG=g)v2Lda5hR61VT3^FHCRt>Gstd{y49Hra1PphCINt*Yb%{ z^9x@#)2*=+VU3V=Kq+YqQOo*6>1Ab=&*W|xZ6N+>;wmAaSfx>Y>$hAC^Wl=WHYae7 z0oTH?04^9#{N`uc)>)o1fCf@hihzd2q_u?wz3l`T@aDWgHT>DA`;x0GBSpT_-Usbt z61)u_99ZRyu->Ed1$X$GG}SY$i5{<1{2m7k8}?37pJUnhq(+|ZUR6qM z_b+n`Xdl|&F9>{}ru0?Jjo4dn{w>q4Li%;LA)70U$1dwvODUG+dA>Vt3pnl7!g#U0 zW$9R16LG<&$w$eyXD_Pvtv+?)gQ5p>mz+5?)p=X{ss0%{qMQYRQ8BOGC}+e3$coQ( zxc<(!U9_B?lC%~76>CVdoE|dlr|9XlY~jV{_a&V|r43i&0b7$>@5}N$Z_qTOGnapI zGB{PzKrj5@+t8^5Yo{a*{!U`SBQ>#s-Bf1lI;$v};0T*dPmKCCKLsgNzq6wSd8bgL zbRJTH-&1SDo1h~(J5q% zqVb7hm#qSQp)5!h21O>ZwXafaWfW3~{WPGozr`0)dT>+Neja_)DTM%~sT8{Gaj+O$ zt5Qt?>3oj}VWQ9^qYDD|cxS*_S9=_pV!IStLQz&$_S9SC6xFXmk%SBKa&mxg5ueAY z16m|1lYkz}+uN_MsCbwxq)WhmmSiZqu{|uVzpF$dujY1Z^SK|xGr2)#6kzkU0sg%N(d`%Y5P#itOu$-^YqSoN8 z>%F=1Z<7hM_P1@TT>Q@B|VAqmf!JpGi9$sc;)!hSovutLtDh`sJMsgGf_^{!QyfSiDJmv69sS@(PJtRT?k%s;Op%|EX7SER>mcLg`c_+9Do{ zIhr9W(Kv>0=$rLy_n__-$WTR^6!?4qO8lZyDFq>mPB&uGx9e-_<9_>yn?ePFo8*5J zuwd<%S6%!FTKaf*{$^b-KYpaEyY5oIy}b>R5(7WZ2mRp6i^ziGJm0VxK*HyX%-8Ru zx(?sN&YjD=x74_~lY<_RxZvH2*@yh{7nE^MJc0TK>-B@)`C&j}8fqssnN|vn<`>^W zgyG~?%)3;Ee>E zlrhSC#j|0PJ4u?xnM)~oI#vBlW$bALb6xcn7shu6G#B&|Jltll+)yX59pjgaRE)xi za6Rd%7ydw;Ij4WN3n!2`joTmib;=71<@{R}VLcUL8Ewr1GND4#sI-j6I@oEseA`Zd zpI_VmX#}!U`;zyMm}5hnS& zEo=pyof0g=g@I5DD7MFsC39I3UatvykG!Kun=SROZx3>ZOo|9t@sld&QJXhq7I2JL zz7W9-Kg-?z@R=J3L|iTRu+M);6|4U8U!a+zDsX|Ts&?GEq;B=(3F>-REj>G}OCKb) zjNG=q-VN~nD|^;ANy~}+O~gmOZwV1TF-uF@6pQg$eC( zO8cm^!mjNkwUW@dDh*MtPp)K9hS=l)gVRq@vFr4eY1!ND$e%k4`D9~ZMJ&pZE88c< z+pITRrDDSxnSapT71Ck>emNZ17<|f|L3h}>)PwaI(_CVwmM{37jPR;+6kwd-KewfH zc&_q<<0zHs1~#Liul^|tz1uH8dL2}lbeucbMIxJGq(`5Tq@>Rdp8tE3f1NHq{3f@2gY)VYrNq3(+}+|S&t>l`8$E;b=-#a*6m+eTH0wu4C5u>rtygFK zeib!mIAP~WRTKn@`YeV!?0EZf${LirD#&=gyx3;>fTAEV_1>mxR*ZCiKB<~YW$a{c zebGy%=lZ1-FvoG{AFVo_n|3T}<7`N^JnYKq#+IG=kUsvtP-^Ds?2(A}sk?>%##0An zJ|XUT5sYD{x!t*xoWzv|0toS&OwQ}Q;aRCapA%Ro$|UmEr`9~fX&z#GyoHHqL!+o}HS?7Zm~u`^&G;--IL#(gxmJgUAvgb?=kk z?ktma&iPmeoN&GrHyt8Z^%^}?{nHG@#r`8a4MELKN9=}gsgV1F2N%}wNC`o1v+2Wg} z1on%)1hbcZkY>N+1d#BmEKsvNv_;tdbnmqgJN*KiXGZR%mtfSTm>Mp|ebHOi(lQV0 z;xJ4TwzsxwvYZL9F82b;!cfd3NoGSUR=*N7@3#si$_7gPOvLT-%-a{AbP;d;EJ%te zoLrI%b5ADT7rgWVUAt;hHGSA%Wb$T@)gvn&Z9L;k5T+5IV?{6x#Xk`@QL2e8?=lQe zTP8R;;YJak66b>)sy350nL;~~XtUJbSMVjG*vf@s*B%$$2dS@t(5NE$)a%*yU2 z8b+E(R4t%K!8YHF0v4XT!05{vS{S%+qMg?yd0(nj#B)|>zf08bhOjCwEZ zQUOq#_Omoht85e%!!w*v11lTqVYqGj`ugaH2M6!l#@-pH+O&Dyi45%R3O}!fXbELY zNt;1kf*B|+W?74`J0hU@$e!3cuIH2Z0(6wLE6fq&Pk(QA)qV{}X)A-?%EH0|46V1t z+u@{zj^Z_?1fcGt#IQjehMg9d-Vh`?)d|_%!HP-XmV&(ehj2>C1?-4+Bud4CSJZX_ zu1bK2Se*4SML;;#&&it4Zk72k*my)thx6{;6wyb)XP_l(aVl?>b})KrR}+zyeT6kK z2wqhOx=smdaN_eO;*O5(o#n|C`ZUycpaVy%92_8+80-Zi?Vs752hdZ;VxLpzUHa_% z-r{RwRHq(C95`0vQ*)iv7E(p)jqr(z-V#8&IJqGoQ7N@_?IJ~he78b#WvQ`??4s@xlV-TKNbvMFxwZq@Jfev^BxWfZ<# zx*A?Q&|~?Y4v+!*F|~Ho7?AW^iYj!_beMHIK(q46=bE8vt8>sP*+qeHJWyRXviI}Y zM*uB7e`^a?v9|ImW>;pr_fmQnJm~$RzWmG|_&|rRjIv86R z6VCS%y5OWIl!mAgS#R|@>Q$n=ce8j>sS4cq;%9v~fN{DpQV0qrdig>p5qzeDo-69= z7K*k+hljUB$1-WAiONT#ri{Lv)d7(-E?XNBulu%wL&y<+UW^pkpOXb|(>sz~swI&K zkB%F|R?>{Y#C(~wbKOAvXGHTz?5|8~mv(Ogis(*RR~+0RsC#?bUtT!pFgR37A;EX$ zZ{#;Yu0^(kFKX=-!nL=X70W5Ua~F(Y=a(U>DY)A5tlJC!V8`0=TfTl#7jM(o;p# z%R04Brb>Ptx~d#Ts}tQq6gBS)2QZVpRUg=1%HGkrjfJ~7^-I%D8`CQdfIQ=|5hY^< zfu~C$)~Cmh)PjA}}Rm~FF+nP?qR^9TQvC+7AVowA_nU@`yr|-co_3ib}FarB` zFqR23Rg8J&T13Tlvt734iN;8lOJ@;*V$5pZPH4!_*IJKuX76Pqx2%^aHVPzh;ijFi zQ;Rryyu9<|*sPCJS*Z7NlrvSs7I*P=W6xS!6LBYRgZ2w}1uLzqZ7p-@FTvjpRhz&4 z2rnIk_Ya1H_DM-dRJx0S%D@t_VoxO~voVih0sd{Y@^8Z$sDggXfP8TO`}Znbtv6`1 zigjw!9v?X!Y?)wzLY;DBs0th>kTvhG=MF=luHd*0z9{Ejgdr&yt?7H0yOsS-? zY)im$E(GoFY9>j6o1CD-0tW5Aw8TtRM#cj0Ms(WKVm_Cfy|%#) z>H1`4Uv=pbB#Nr!$r1;C#w_UZwc7Lt2$FSoKXFhuOi8*50T*AD>=-b#L1Fl3!&GRpf_ zYMczJa{xAizspAdLy{=%%FAhg6ocTA9nh*B7S9x-lu;*PsXm<#-|)v+3zq1ia#N+Z zsH1QRA33JHUZfRGWhnaXp_OZX1p>i0z=EkPsez` z@8mRc@@I@Dez1N&`{BK)(kqJ>Ocl*@CSFZ8OdQOIrUpfSk5vEmWHoIs+>E<7e?Kuw zXhZWJ5@17J%^u~ajlv|GDd<*pC5Lu6HHpgio*JGdkq!+>Aan})gK!CJIv!rbUtfU1 zw?zOr)L;@|rFGr*c?!}PC`seu<1}V4aD;K5#;fzldu48$^UoZwg2ox$6s?zr#CQDq z*H`QT2UP!9%ySoXCt>K!x4|xRCl0j0%(-D$CsELoMwYb~RhyJXZRrQYm0_V~013H} z_%(g6)nRG#K_YV^KlZ@*vk0(ex+E~>RAWu~^an(I#wrujLO5BJNN<{x;nDfbG1?Vvsz0IkrVnwy0`7CNJA15Lroy1N&q8*3K-r5Pl zl(olD<95hvY*$?(Vm^1@XpETe`c#;*e)98D^GTR-Pv%tk|C3EI{EY|KD!@g<*Z2J; z!n@Hinkozv$pyoyjxr>OG!bVS2r?+%4SrS5jOsA&$el7Bbgp9bH=Nb9ZOt#mV7&b;>{H|# zOHt4v^(97%xZs!PgG8^=e>xm6IAT%E63AS$k`JHK^LEEhjdB09zu$gacO5bMp;EG+ zLSN+Hz~PDr&=*6oFR1=+_5}!_{AOXmE%ue6SJKlv1zaMaA3V1fdcd4sug=NB%8F6_ zniVrr3LP#4wBM|?PM!w1s<*}`c5yq>EasiBkK)~fH5BbDBkYZvkPNiN0ThP1a5IyE! zAV}|#aY9}m05Ss2KUddkEX}CI#C{21)twoz_d+RkQp5o_(rh59Fpux7G3LBn&39aJ zEfGVXY6Ac8M*V~C&Ei9xuxA#OJ(OmWw#3-q%$AL>U(r5KwMIS5a1yD3I9Hlw!tqLW z_bYCfZ;2K{4LNmX0v9KkvP@}Bk2?XQ4-BM69ew?ps>|jt!iX*9w&Hyqt_Pkr&~U^0 z{W^!kgF9z-&Cn4vu0HrxQnWVuta|mxoOo=e~3S&D0v&YT@@EPv4QVRyI2 zw?B(KwCoot7cCf4Yusab_h`~ejffSSS)%duG{ecuB&zfIg1WaFf62zi((vay82^E; zm&!QPTHC|?ht`@6AkK8;)IqQjh1sM|2GetZ2u#2f-qIXoM?Il4rYdOGhl)vAn-CcT zjc;Amt!szF*BvN-JcL{>TKj?qqM<}&_gSHFrW}gA&=Z}ivm01vyIT~kWEq63EkE_-&90^4iFFaV{p|e-FD_jhanglcFMja&OY)p< z%7qc#%M()#FTbd@|1?pT5V*ppC{W9X+W14S>FzlBME3R~OT3(m^O=T>MNANN@SCvBUH=E!B~8lv(~}!jL3wm`zIEa6s!BSV8#1~8$vSO zo-<3bkvH>$OudER@4zhhgSy9+wh_17J&C%SoaOXbo_WGNrZfKcVN_A^^2f&Qi?w+C z(kkESr{X7_CZ|4ZRzDq!&IGKY#p(O{BzJ>yMRecPe~nKl!9ipjomKmZWVvZSYTC2R zJpiQ)%Cii{jCsEI=X*h5=QHTl@cW$n9*j<;K^?Owg>1~w!^WbK@LO+nXjjzxBENjS z;9kOsd_eI`L_#q)zms25Ez2jyu?xHx=cK*el<@DeNjtjB$*oqr>8N3T<`=O>_T+0G z^M~Aba`ad=uhN@^?iK{&&ZbgwMj(!tDO=$ls$qA5P<4QeFk3Z?YCP4n0Z08NP zgcyzZxv#d;@Enx zNrFj1RtZNLXc$tfv5_zS3mF6n+90Jcod`$asqY$u+Y7jKSBd$C>zYc4-pMC?VK1Ro zy!J#OQ-wl%7n(p-}|~j-Lq<-d^`~K{_Z5{}OB{ zU_N*5uP43#bD{G1lS6f5-*r3+4G05msXtVrs9CENLpTqkW&v%*W(?+|CbbWeR zQroOd^WKF_7KamZ9-|TL4mD+{r)oL@d3r%VvijE*5h}gDXwg@`{YlLw#-0Cu?!G}c zL?1N*%CKzajGN%OQK=}v5K|mU1JOHLN)OTiy{GVdQW8>hAa)--j6X{kEmZ0|?iJ`- zf~te=nzknND!xN#edTb@UA-1%ZSC{@&V-iKPw8lr3HaLarI3r+ba2{)yjE3XWld&k z{XoE7pYoZ5cb#+f=fg-h_sE@jke)O*YR;|Yc9=A?cncY)prX*wSeIAQ8_D8&x&hMx&A^tRbD~>Czy_Ja!=8<)9K6~4HA0#s z+}3FO#bvjV!;pB{FKRJUv1$_m>XYjGe8SY>t9T1V|2_q8PH^%3rU@ z8P;r6WUZHZvYwtJvS*42@%uIN(n5dfGd*~m<=C&eE?<ZZ<}|H`4KxcD?TG6KZYnc3O-@4d$}R^g`Y(XhAN@%-hQFtcDzQWp{6)#LHrYQ16qG~q$rsBQMj)*PF&*|VnEq`mr>LN z5HWu&O#~`DOtAcc3`l0K+nps+w)$3k;q)XXsd<}!j{h9I+#%JFxcua6Qz5nEPP6E-D~0Yc#rGj<|7Hkk?hIA z>Y9M>mm0Z@Ho?i3bt3#HqPxPm;{(HYhm8aj;388t19o(I&$L|kO6U&O2c71VgxD{v zTGE3&fpNtG>h*w5G^o_6D?&)~A`8(WpYMc@5%xF^g{Pb!sX_eGGH$X$E3yI6eqVhI zslIwCf%detWCj*25Gt_LV{Z)m$CPxk3LIG*6)Z~qDWca8`jQ3J|0n;I%q}}0Fn?r% z5B4SuRNWeMTp2M$N)!QKwm_?43L*)N#arY<$EkT2;ISoBDoG84S)?Le5T*0N?a8Ou zFpMX|^-8EeVa!gA)-@0dS+hS!{+JU8lZ^oFuTS5AuvVuTcB+)JgA4WDr^ga^3$Qvr z|5>CH;vAt8;=NRzA5-SCoWJbIJp~IY$QulcF_)$h6BWB%lZQUL$>^>C^%}d=*W2P) zOnOUMnvKaT5Y4Cjr<6Nuvz|xC3iBS&7BlU=MM-7T=ObD)|N>*US9NW^L4;Xw1x`AIDL%Y z_e+MmFL#qDiPUpgcFe>i33m%!y*nJw0~jc82&?%dA8$t-CYr-q$%io@Jr?HqmV{up zZ6gWJ87ycLeeoA4p*`$qrNlX3F)f0z+e(l82kPPEq5I&$=4)YAQLoKog+^J;RPT4w zr}TYe_4&sm2EZ?JH&c~Y5QL<4{r-JR1JJqLICfT4>3kBTMT{x)fk|&TOUB;lri-HW zj!5o*A%s_E1A@7$vbuW0cmMzk zHEh=h#4qE>KZVN~N-8yaNd>orb9cVCbM-@ajg#Z~qHt(^!sd~G1EctHd zqRVBe92h;gcw%1PomHsqe989t6x#q;)W8UT1|@luREz2XV~%SOddc(obVqY(a^h^W z1ac2N`98Hu*@hF-zl(~pc|zcc`w`MkM!Do~05!m>I>A-Om2?99aA7N3@g+e#m;Mgo zSlfnO*5hRlsvjHH&hD`4LPhCe76KNDLYB~3(AIW6JsvrfBkLH1muOJDZuA3jo=rDS zG*4+2kgbTcTWk*m9SaRVaU@7{y*L7r&75(eUjvDPZex-UD1f-wX*B-Tzm~O|uysFb zLhEG^9IaH;ncm9Rabr_7(E~k(qSV1!kIPC|Tp5A?#(mf!ARzhUK_xE05-WCPV-?)w ze(z^_?gwe_Q593a)s*h-b~>dLYSbS-nX_*4INYe<*5)maS;P#p0=bMx>!QXQkHHrW zLS>B&#|`)=3aH&CVF&c$FO+{}=1S})M2&CSw9Gd@LoJM*|HL9I?ONCkj;8oovVEC$ zjU6!ejs2tX$FAEO9epyg=`WUiUJpB-+_hTU zt{Au4;c*ML>*PJ1<=k=8pJyNA-<_GCD~Oj@_|aunn!#A=+c>|ks+IR$UiCXEf$GSW zkr?^qghpP=Qc;@Db;Z)@jt5Bfpn{+LoU4xv2*S7Cvt0ckp{W~I64-qV+hctMA~-nJ z2?(F(ktGCISxk;f@86ZE`Ze#jQbFZe9`#ysfxHNKKgUz!Xt{RR&UY3gv^{yD?sjOK z(^%Q`TbiGy$RPat-LI#*kIASwoyv_!qTwDp3%gBlbX!Q+CN~F}^>fB?2lu0O(--oC z9T)lB?ic6d-0+L@j(+v>=`=(ZuI6+o`L+FOW4d^Ed{*ILBahwjC6(2Djr7W3BEOs= z8>aGW`KBMMOM{IWn!mD;b$D9U_Qxkl+KqKXRW1_WzL##P6KEzl4O^X32(`ddP$$&e zC-1M1H7|ung0Ls=#n?YqZfZgwZr5oipId46c4QktZ8~*xH03uhmb#S*pBD_nk)RT& zs{IX5eA(&mi3@X*jd|P`S%nz__V5pS68icF==Qb?IBEtE!o= z6)fb@IY&eCTJwDWFOuI0zFp_K-A#Lk(p7fp-ED;I4=+jtEa>4z{6{h+5i*r1R=JOyA`&$u@ zZ#zOp_dMU5tLGe7I$Ez9Ic{HsUE;&rWs;_!ix{_K+MqgQLf^ z%9mTUmnWrv4%_${vnvs zdRa!%K1@Bs4x>5x1yr53EH=-&7;(`k#M8LVxfR9uu^+mxopQ^KLiwERhm(0LbW1l*rb@z~6e0bnZbrJg#-{f2kY z7n_JyOL?`KXoi*Z)CV?@BZR^{#|;5=WXo1!p@W+IDa9^c8TIHEO!ngyC&iZ{@9!}! zA`6>--L8jSH@I#mc4UPt8e3WL+WxneI1(HlFs<=YKriv_EV{oLD}8WDmHwov?XcjYCVb>b2-&?K`#<2zx6wqSU?;#IOa_SMy2KOQfptR)2G?#W71$V%nMT_3?-C zzp@RqKf-dlUcYQ|In0p%vex8C%~bROK^hm4nl#e{SJOgIHznJVB=km6@}e2w+YxC3 zismU}JKG%s55p*h8;|XDTump1yDa>p=SC>s5 z`kc$(eos9XBKY0r9~O*!r&Ce4b-C&Fe6+T)!RGrlkNp-AgH&9o4@`b3T2Bo1RV!3o z9k1fM06Zx=dfjA;W4*J*zbIXjrT%om7D7<~#P}9#51bMAIb}38bjH#6*7G&J@Sq%B z1yU=2`H>2js>Z=(c@?e8%_6Ua$lJ40!Rr1=(`>ezWAwz=aZO31KJ81LULEHPEnoU+ zP6vwyDBtY#*)QdpYq8KRZR32nV{I?5_9{p%U26^<63S{+5?BuNm9=MD+&J~(q?c58 zq~zdI?S7rJ)ns&{K{#uQ+a|Y@;u^ldskVbY$QN5iB=LE~;wv33cN1;Ud^)f(G5AEA zg!=1E%vJpf?$ekGH+9!(51DE336^E@_Pnzvj13Ztazvm1BQQeFdtM?RWJdlqbhH(B zXtgU-?0OEw)CQXU5K6S7D zo+sxvjejsX#;<-&M$t^I{r&@@^mFI@x(+#&>`|XNP)R28+5y#HFl`uxOd^l%Xr2-n zKgmc-D?BIT0~u2ud=$Wgth)8V|CnrRSL~)d2B>`^)2<{LCU3{cq$CQ%8OmK+*BkqB zTquWmEb@{*CYz?}F=#|{QGDoINnJu!V-vkFFfwXHUu;I0jScWljSQ(pJimy$t4TE# z<4Qriy$8SonfI?j=9ud2t9O9IMSbiIF7?uQG=E_2Kn6SSajLoW3<(@O@>W)_QE}QG z<4u12Dqhw-+JfYZ>+@B)K@X?1?39u0VN8fJ z?lOlT`Xa#s`oy+nJHP&<4dCC%MC&54N`BZ4MJ<3p4||5Qh3k_+iRFi6TZL->I3Nw zx-iGXu|eae8kPsWD5*=@dt@wMob-b;@$uU#n!ra1mAi4R_v^nA{W*U4 zRKa9WhLWs_}s?D<|QT?em#XyJT*(`mPR- z{!Q)hk3EouTesm9kqn_T-)x`%tm;v!Q30tYMo1T>5tE9toP__UAr?3ZxwH^xC`)(5A64Ez7 zoverkE_L}LpBuw`e}dWQW7N2pByh`b$x^SMuclm|Ok1yS*HaOq$o@8a-Ho*W%la4w zbXnlCui3!2C+#byt*h<6?+3i{Ad|g9xA>uYQX#D-Qw4L*bd|M2W={Wea6_YS1lSO# zT|9wuvE7x5=z1-dan4PkcLFHTD=p1^&zT!U?g71AGI2uBU*4zhote~{JO$&j;nJX1 zftj6zaL+B=A$sxQ45+t{o@OI1L535pX3&q98IlvQPLhz5 zbgeMbcbMV?d|yF4O<_@yobb2J@uDV>vznLqf{!InLh0q%oJ;~&_j|^#5LVm8c97Sn zg65P>J1941EP9V&c>N|vFdsLbkbe*BDFGn1DTzaeG<^hpl(k%-exiCzt$C%TZ05?@ zMP8saFa;PX?_IH(?qC6d87D^aebl~0jKS(kQjsS-5sf|^EUGCsP`pOX-yeey*vHM) z9FjJfPbYh2FgC>vDHvh!lb8F?h{pJ2&Hk3K`B;UiRy*yC?>Z%2J-c_=kk!dOHp{xG zd(I$wXW$DGOB}8-yOJ;9pvIifL|O~BtcuPe$`4s~SJT4zObQ?K2I7zba1=>Q9RB3< zRi4qG*&mbxs~&*;Y``-g?UyZQp1xX1D@lH_w_G{vAN*lvRr@}r=X1+x!8hH3AXIZO zXhWRSBrCPtOTpntGa-h1ulhA6&3f?3N2Gx#{QS6T>kendcxZzJkMrLd7lz3)LwwA2 zX2KB`%~B*5Md9Sj!zJmgv%hlmD+iS)<#ux?VJ+QyFG_%wMw!X9{VLLdyufrL57nE80{J>xS!x@qZ)?Nc{Ub5zrEMzh-jg zY+v7_S_$0FXVnc9#Wbo`ey9?ti)!7WxG(1@@r3)q3nT4Egl_3XTLlo^YjNXdr-47} z1S7bnOtS)@D`x6-N+pmX)Fo0ooF{m7o^5ZeX98>Q*xtxz?p1ib)Yl4o?V&yN0{9jm zxxJSwhR7?uG11A4sB;ScRd3;-a>ITkYX)m9R}?Ss@TaxKM=5`}S?$kt9iP>|Q$3Az zAJ=y|NjsbSvpA*a~N0}UrZiKwoL&yNoYe#FX5bZZ9BF<9Eu=aSSUMO^;Y&b006650pSvc%}4;kOUINm+aiW!L+gsD=yg6-{V+qWS}ROMdP8cz?3H{p4=<1fL#s4+)}lR|+#f~fXbEyTdC z@w#N}=O-j6g8bT;ZqXj@hx&}YU#K;OIUErN@nuKt<){ z(nFq2L8l#!sitN31}zqN+QWou+jk*h*=*$w=LakNj$7d(*aFJDkiSm0dq8M^^(pyN z3ZOA0;aH>2mcnMOxHXk7d}!1ALBbO4VWDu0 z@NyWx%K>dnMt%d}b=tB4|8K5JpWVZJ-zw@7YRPhc8i~*$S$83-usLAXy=9%&J32Rq z1~(D~ml}Jp5iBQ#uf3`M6S1ZN1lGWRTLMC~1bc-)FnN#8&uhbAl?L6Bfa`F>KZqFO zjF$GeI5OoU$r}Ur^^KD+RyR%YjCX0h(wfzP!W=u52FvUDY4@b4{@?+{eeFjVGde$C zr?=Kao(h8VpDq@u1<<}^_bKJR!P9_9P<`iD0kEX+4`KcWMV?|bTJ@@fj6AxIvHro{bFgIdfQ znwq%>p}lW0E2+U~#?G^Q&S&|U2NwlqMXI7NI@Oi5#yh(7i{H`orhh;O#q}GvxjarP zhKaq~?7$c1b2v%B@lY<(TyGkf1{2$}Yn^E< z=vw6NID1~}N76!meEuLcup2A@I>uFto#~q8$11?mq@&9- z+&CxB20)Plf^rx}NzR_{gL}tU-lx1m^PJ(o7F@pH8JxmTHr=R*@6~X=SmY%Cg$&3& zynA;BD%~@fbJokG__8!vdykTYtK&9L+Wufe7iJVX*;Vm1!a$&NIsr{%+1l(JVH=gz zeFW3*%*C!o!rF1JmsbKlWd4k=%UkNN#PkgoIhXEU)%bkEe@w3XOXRb=*XoxC(6NaU zQw`@v<7apm6zSng_s>;rCHrZncUYqG)De^C#>K0*#Eoj+LSK#pub{{oCO zHT@PNbfLv*;PRuL2;*`r)oJm*iINU=1hY;?Vi#lp7~}5cdfd3@i4|e6$8qEAO|*Dw z#s3z{U=={UK|!-iR~avK_w zmR#o&{~Rs3+tmf)-vpH7#6X+?M z_mBa=+`G;nCskwv4(3mS)QtopzF&L$^-{IgH)H@$EV9zzq9B)J z;AlOc;7y9>56XNg1}1N^uMWv2#}v%O^hXizx);Q4p5tDSl!KJcmSSq5%f;X;pJ~Q@ z_T_CVPXj))hC zxi<9#;D(poT(vmj(%k! zwZqSCjd~RU;&R11;{tcp>Z&$vUuXdjV>dx1wHc1vQ8l<4gV^S@8>_(X`O!RtNzb@E z3TfPo`1WR0qc<8;yz9;r&|mx9eO}}9TP_2vhyARZ<2wLA{Sx{mV8*Yy|H!c35Gk&* zI}$W_EL&6884`bk1%yM<2mafpLe`c?qQ$a6lT!Keou4RSg6>AI*%VPeg!M3GWLjVL zQ@iDE|CpD3WI))M+P$x!N0^XO7bQI4S{}N_@-yXNzl+X0@;R_wJ9u7$5^+C^(>(gN zsSNe_$cW7{P~9v^ibe}Cd9!py(aWV381o1)L>bZ5K0mEFlO@F|6e)h=+T&Ad(Y%a76Ke*ttSWffPKuI0Keylc_Aor+qk4A1mXKXNm^!o zc~$eB4Y49e^fmlNK&}yx7p?vS5-3xDTZYCJb(lNLqNYSW1mPFZ%U4x}I`t9?koKv^Kb0 z3btXy1=Xg+B*tKJ{sJI31SJx+3wDv4oNPB zP>T;6A{G|F97kHWgu33)=p<@s9R8#@V6l?gBI7p?u5rIM)#cgYLM(A9b?HHm3DXaj z>j6bBj)Saka*g;zj>&5&HR2iv2d?4=?eu1mk88UW!?cr7p$WHleQ6IF0wE>4d#Slz zSX#DxM!(0DYqSLLH#uY+3j(O%p9UiYJr8{2*H*QYmeN-`uAY@bN>)>AJ_JE90q|k- zkz>DcQngj@yJG4!Nm|KZdnW2avLunT0<6X#5y90EEe*jfV#_N6CphUhZwt^3Mz{Gi z1`(M<6LZcYfq`f)wXWpf)ldMuI%R_5z!3gXUV;;ttYY}lg<9r|qcm$xSD&Y}VTZDh zAs!q{kht5{t_`yNgs)-k?x&ui0WStMS`*S(NJwYU^M z`h)k?0Fm)s+M}Z)jc8S-ocpy!1$Bpy`cpB44Aok7OK#g814T5@lrcuX?Z>1E>EZSzt;2c79U&N}N@H#_SkwTBH3k7v445Gsl3?Ec8C z^gprvn%%nC3Pj>e#hbb+1Z@^jJ!pXOi%8O(9Pg3IujL@@Ypxu4^I!Lsam_ZtQvj(0 zERvc%uzGGt9q*$z0jYzu&0NKvx}LKDBC?AD;Y;;e*1&M5tW2W(SPHgX0e|uew7$a- z)$Zq|Z7?w-qZf7e>W9i@0=+~|T|NotO2f3DY7h<;mOI zyB!93!>%Fc9q5+)TnwhLHpB7Ke-yrr(P`IUwn)P7E`Lms&HH)Q=Wimm^c`e?HeBg0 ze=tvrvF&DT&jz0rwA!Ph#kyG-^u4<$+P~|~A|~wicu3G!y&~DMnyIm?pwJ(&esWZu z-&cj+KKJ4jhy=!`Jmgr+tww=#%2G)RChycS(R&3^w(=6GJh}qT$u>DVXQe>1VsD{n z=d%IBpeJ8XnfiL$2CYX$QmIBjFZZ3vdLI8ZjtIoK9oa?9(NE#?So=9p07S~8&QCO# zMtJBww6^`~qwnC&zpp7jIZ zpOI{;HU{HHxj3lwJBzf;UCWqt?g!j3N5uXlA+JMlg23yeL?$6dl-<;qkfu(MC=R#2 z7B*^>&k)W1!C)6#IJ560zLO+{-&$2_eU3 zSY7ARj6ZofnDjg@|4MtH`U+80Pt}+FsCc+vu=Uu-95~fmLEYW7nCW#g?78jpT$tO` z2;A@c{o86q zCDV?F*lwkjeiUdX_BVHZ$MaIi9!-_clM(b}Qw-CCRwG8LH9dH3zp4>fm#Ptf@B(M5wjOslb=bWE$x`;Mc~ z%gUv?K2t5Nrab=l30maC%ul5mF1@VdrCMg~%jY)JC49MCv2;C%fZrs(?Q?4wvYisP zIE%HvNGGbO&$5h@L_!I|`qy}121sZ9D^=B`3kGM{X7(13ng`BKa9}C5{UHrs)l<(* zmNjXIEGm64kidYo2a~e%U_;rAq#R-CEeK~`H>O>KmCz;ym%9j-UDPSuOfhT)Zyphz z`3?KR1md7p78}z&d?6MsPvEYLy(G#?p3>yVO@e0*4PRqxEH`4;RGDLx6zn0x_PBm{ zucj2dxu6c|q13WI6M-g;fo29#lYeoIEDv!}vNuHJKZ(L;W%eL^HjmJj(FKOVz|4#+ zDA)oPs4F=F0*^Hiv77S%s>vkE&2B=EPbHLb`dKgDpc4_^E1P!uH0>FxE))&gIuSWx zH1bkY(Kf);y$mD%i3orHhn=&1pNRfW{>x0jOaYs7=o;9-5(RQS6H6%tUBx7Rb~b|- z7+2K-dUSluYYOcHnmnYpq&ctHQ|Rc>P_s2htSB4sU3_^I2a(sxF5MQt<8c^D8LEA$ z`%%khFLrb<3vJHm1J51o<3pO8{*`gs%`=2NEIqg{sL)OPmlK@alfouSqs6pCh=mo7 z0QPwdqa?!DT0%Yhf|#Riv+v5NL&=rdWh1Et70s!>D`uxPYI@h5z`I0d5j=2t<};09 z4wHR#&sTB8V~96nbdAocbOT4xPN279J)r%-y>Eg1XsXrh+{tQUxk5;!zGUIV#+fj2 zremWGd*&)&EZIx#nKO*Mwf2Lnsbvt~5Y}*6yWfXV2UJIMyXyDCPo5g_;L`WX-|aBl zi+3&1f!Pe77VK9|xTOLspPVl#E6%o8wR8Eq&74R%w+iaL*t|L9H;4S^EH9lEs(xnb zRPOL~-4nX7f95Y6@RRKWljs-_8E!-MqadUa?@9}o1Togc+xyeg<`VDsYih(0^kj58 zsK@%z9Wm@yZclc#fR;DwrFZxQS<*A7`>GnV&%jN_3z&zjV2Y7e5}#!FMheeX=^#1g zT$Yj>msTmY&jU=KYXGL#-@*LcSVej7gB;UR9*G)YR z_EWfF}BXl8(rxT$p$4PUG)EQ*y^5JVo> znFB9)J{r<0wS{7n-Kh*MHdLs*MkIt(mo6kR|=fgfq}y(Rb6@$HPBPG1_e(? zFe&*DL1JR!H3n5)4;6x;@EAfOj$d())bHJR3xBlqbaw-PS#MX@4aNCvf2lKs>=c*? zN5{tx>r51Ai@ZU8AQsrZ+mrZH~DopdYUFpey!0sZTn}sogL_>Mi`LHS zGX`*#y4b>T=&5^$=g-QF54__k0+Y3ysWHs__&rPApr_M%(9ukPPwq#WP_g|9STdB1 zEw1sfc4SJ-u+70pGUy>UdU{U@kfc6V86FXf7)}1ogz8C5=PDvGA_PMgwyZy`nM`27 zJsOfEe1E*u2y_tk$_6v~`SA)IF*TZj3hqq1?G;!%wJw{hTi)*Z`S!?!+=SMv!9mT|_>e1l#e>bWA`wbFH zG&A`6On>Rbqg2aDh0qEr`8&m`cvf9;E^$Y=Q)o`A%EZGE>#}Mk>5|KK4@k&YvG?Qo z)y}_)Kb%JdOp^H0f(Edjy>fzVqJLNoOwdp!wJ|2ctWsrznR_UiTZkVL~Fbvd(YEQwTWGOHYsX=4~ ziz6Vc#)du*`~a-*iLlH4-Q|_UZSuf0UvR%sP1T!9`vCbYTk6?1qeQ_-tjZpDQN4GF zGY7Pi2vcal_~iW*|ARPWvRiWnTO58{Ji&qkZg4V6v_*p zqdt5A=EMuPxxs!eDIj4uVP&pasWvuWSxEU@feUvSQOxzmmb8%E#Qo$EHRP%gs>p(bRdCSE+*(1fZ_#=BXTsGk}E%#1};W!Q@_?G7135)C*OAZ#iWWJHw$?-bN=#v2EmNW#_(t7}OcEU$q`4aaK_|7t4=>0wz)z6A#`4f&P!$v77}D@o8z*eUIlS2TdUS`4jwDb>^C>M= zH>i$O`&E=xs5UL$1omC<0jb{e&9z7NO)KkRPi7ItaPLfa5nuC3=bku0GG#1;G?WZ~hMvtBvA?Xs~h2v zEgeA1aQ~^9+#MNo{%I&+C2TnG8|W2Zd`LoSm34$B?Z+FROmjL?)}~w>@VnEN@_2zZ zsK}yJ)ZFwnJ|8XQff<aQzTgA@`mA zrRkG#PTHRiZ-}zRK6PZh z%H`=KFcTox4Ur+cmJ8utSD3TFJya=F(x?fl?;P1&L)fe@nzu###C%60((pAh-9Vin zTP`IlX}-qJ7;w(Wb-SMqcs6PKEy_n01OSOv(8&ir=OJ?a_NFNi`;rg3J$7s1uCZwq zO3XroY1S`8S65cR!jT9i|KkiI9)O?%beR&*>5lQV2u)jkvAL~gQV#$N8}3 z@$`L=PugQtALXVP*W@;+$^+<{$hmi3jXs-s6RZvj4tfey9J=m`SPJ>b>f4QA*OB zImfO)zATB-HwAXqNG96J@6$ba_A;Ke4he^m_V)^}Z4~M;^h?nS+Q~8I(6p+d%vdNz z0jxb@DP^vy=&_KYd{k5ef&IQ*%K3>_*ZC0CU$Jg3FJ?me9#^?6cRi2Rq%SVfsM}1f+M0v+@H}{OBu=dqV7|6> zL|aGqs7bl`va0jWr*YyO=$lpMZ*-zVQJ1<(HLtJqpnfYM!gKYRR2>&5x6|W)h?_JB zehPbIr9G02TXp;^y_2lAFHO<4xfxf|MiGIaVCnk~{UI9?i(6O^sBilbtPS>l_`EJ>bWigKb%QQ0h7ZFC^F@B>hm;s7#Kt5$4@>5>b9h2BA5Q;tdE zcsMPr{YY6)ps-i%8{D_IY4o@XY-n<>y1$}%rB_#X78l$uuUV}kFR($gE=K@R?%89P zgA?}1l_m?grE~5xNM6U#Wzox~42tMAt}c{AzY~AokN01#q<-v-XVbmrYP<mMfHuavj*wKlZ~gHoBA?QN zE=wy8i;eFbz;MO_zVMJPIZtYqs39&G&U}@j*8((+K}qqr0B%51lJ`qBmbZZN0MC)k zuMnS$=cvCfhyC1u{mSoo#m;}84t$##cPQaXyOld0{#7t;E<=?UEl=3W^AQfXptUk* zXCrMVk>5-5?SSq9vXLV3;AJ09pW9*dzVi6)OqJ>7Tu9@4P68Rms3qhggFTk4?Cb?^ z-waF%mty*qd}p>&j%@(ej#w~#yAfaKw0j*smlNm0XW-JqZEraZ`fv`Jx9_UP#@a7N ziAduJaOSv-a~5T54L4-=Qsi6Ghh0UwqTjKF;UfR0V&tJt<|y3oD2qr1G8;p|CuHwv zt8@tZG=}?Rx`sG*i_c^FZabhOa+7EW%yuNnYP4F8cB% za68^mw7~ zofRAFMKJdj#M!aCoirCG1D)%J9B(*J8|8X5m5_T^)H6~r%E{O}KfF7q1%t)z6QqHe zkm>IXuiH}K+9TO^&GQL>IC^;1ZcgP{gru}IQGPe$66qRvHP_ZX2{frH)$N(QPx|aQ zNYeyW)J5wlzr2#tTRSp6ev~Xk5fwbbYJZsZG)ve3w63aos_)Wy{KB%r&R8484YA)Z z9mOkx+$O!TZKv90qB}sj=il4L;(}YyC5p4k((y!w5W5ZWgutCZZ8)ZJ;FvR3g1xlQ z`AF#zHE61*f4?cFK81sGAq06VnDYIB`q}xHwE8!jq6FeQb0Xr|kP@AiI}Z7Xy!GMi zd~TlS15cYuJar!6{H|BpPV}S@HXQ21k7!@HQMO+EZdrOEv*dCZri2Y6e3+3sr)M*8ug=QWH61^XSvexXp#T(33itn9bXc)+-t|GcOk; z+D$+2WuEOE#}a4QgL`xQR_LkO$Qk;ai#dx1V_9~{NVy+Xu>Tg4+%hS=#9~)q&0#S0Zdy+9XEwJonA4+=w zciN~ia+$cUSxv5U-cJLxD?Jcp_UB*Pl|t4BUiY&%|In_+miG7R#O&#uK3&w4+xQR z_uU?jB)0AdFfsL3i-FpZ7j@_}>qq7Jq`V$iliLjYB6+<5M4>GRt}z45mGAMb*BV$K zLf@|zYWa(;()l<`9?kV9a08TFf;PCLs>k4LEVTGs=zhfiTsK=f7x<8gv{kpfyu2%( zNbx5lpHUy!IvGUkes2=Eo-ALf5riw<&;q`A6lz}YFRtX{BFWAf)=O()l!PLTML6ue zH5B4$5ZhCdik#z!C9|Fad8l1yED)S+5Bbx(JZm*`n)Ij2l`lt)TdmP;-(?czp-?Nk zxWMNQk-2q?g2rk0Svn9f$fuR>M|EWRk+LOo=|1y%{WO6~cdI&Z!%y(n01z(d4nGYn z#8xoAImLnYD@*2EnyA!Jb)dpL{)@5UdGk*{R1o&6U*WjG64H&yZutk3(LfH&31kw5 z;2XV6F9xrqCoVz?ZHZE{r3FC)tK-f?SV#hgC9sQNjFtj>2pFtoE4Wo$q`6W^6BOAA zSn@=k@eK~n=4!p8(PpXNYXuU7n?u%IR`?ziv&Me?6W_wO7pFkp#SM^ro5ccCK%w6| z55M+EpgA$22P7yw{_&v#)v`57$&2FPWd;{2k`;1GM)0SGZd8nGse@6&Xk9R2KnB>3 ze(M5Z6t$7mV~RI1aW%<=bhTLEh5DiI338pbHNt^}$NB-{{`7V>>e+$w4LO36tu_j%iF!9-mxKk#u zME~khulFzPN71vcRw6)b=O6GvtjGWMqbO~_Y<}7DuaL%s7?IKlFFV$%Za+`^|;va~`#Ofi- zpdePrqQNYD&!%_4N4%u^?5vE%MY;40L(-OUW7>ND+_2dj3-55N$x)vtpL3*e_pheq zEN8)Aj9X6xZ%RwRoCpzRW)N-*TnBR5C7`N}GHyuY5@5dh@NCyjzZ)=Y8Ndd=7_k&B z64AzT&5vdyT+QNB%6zgvQ|HvCNcCdgFgB8L_tgjhtXlf!O@3Q%uo82b&#gF86*9nj z`)$|ZxDvOcxGDumaE|oRGlXn#heuP;-m;*Y76_OUDI^UHlNQ?zvcOB*Cl z1ZO}iLQ~RU;C6X7JP%4&eN(G{*dL$X1Lgo=h3P;u!h`2a{$Y9OwCnyeKLDmWPAVpTF_nkL(c!@9Pgk(TM-$e^Wwi0sjxsENO4vv0Go{LnCfu-1<@t{M$Fb2KWkJ zdM_s@?0WQ49GVdu{1C+d{*T|(iXoHxlIAYpo9IOA8{E2m>)Gr7=9?^6J9}p}HVWPR zod4~6UKHH?F>D|Z_?9@Y`29z>ZY_c+<9~h)@SB7JqQ}PWu0JF~^#A=mIO)`%e|(99fb4tTw@<05(NUT@t zNotY4#Aj4;vDd?)6A+t-3>{`$51k zll>sGl9vA7=K~ZS1nTcth)RLuIujmz*;7bwFuSZkjyr@_c^XAa$xMk#Xniamm@xRb zX1O)(t|S|t8YfPwlVUy&uXoz@qy?AUkOSKY&5tf8(?LyF7t>U5MnTuBGf*$0M#+LB zyM2W6KWj>ON(DR8X{e|H=|}40S1PGoDqx7My3&g;?9z_~gd{U=`Ys2k#34fU;GIIs?Q<=7{DpgO@rWD5cN{z&`SZCXPm` zYct^(AbGtJSAyGJblI6PMCQIlN#c%xd3(#yjdj9qUXz;Vo?I>b`nCj+SsJC+%Ygnk z$ZPsTG1q8!x>q8{Wp6bLKTF>fp2?78R0oq{xbyz!>p0^^&c$c1u9=+E-F{y;5^%G9 zxpnIiNip?*wgjxt8lYfeXQVFZ2&DkJ`ca^+|NT2nRHOuQlZQhiT@Y|XbQ_Y4itxJA zUK3V2fygQN3W<;$`>S*q9>9Ej86u8x z*R~V~cZb@|t;XZdjrac_V_zLr)wcGHf|4RB4N8ZkN+aD}o9^!J5~M-81Vp;K8>B-z zMMAnky5*aA?tS&1d%WZGFUMHh?b>V3^~@)J(GYt7AprXzDVYdQgz3?K^!(xwc3!)C zRCEH1(72c*(s!WXpt#RjzPK_qw~%biRh8$cRh-jDiB50-WNxCtzI=972q(Qd(@gxv zQ`c%Nz+BLM^aq)6;A#G@&_%8Fl_~el(&w`&%h|fCZRr}zGmR$4ZyVhyOY9lgV+{`b z@9oyDzyRf7;>$ie^WIAY6i}jZgXKBZv@^{BE!+%e!0RQ^Y-qj$tbI~QL%(gK;#Wta zbUlEOj|V8eB93Q`29Jcpyj&MYC%!uEjp_hJfzkT7cS1PXMMm8KxYS?+NNpeYlW$IS z?V($Z+E+$T@V4$TQn}?Qpr{kYD<7 z-`y$A3RH!Ye$4@;UkBec074_$^yZwF$@=)4q8x60ApHdu1r$5}t%8LQJXHpP-Z-SH zs>+;HBJriDpAXO}=|iQ_<+p1tGlA2u>zA%fS;A->EQ=dr(m*|GWGo77^l{a@G5WLx zJ04?yi0nWqw`#>A*43$`v4DMr)Bx$|JslHb{IK|3t;yudQ$gMWkXcXwwgB%lZ z@aQ!6h7OVH)x+P0FKXTVfaMagz8H&p@Adlf_@xzfiJ2RI;<$+ZG?Lq6!u8quv=r4h#$w@s7*`FLzMn+CDF z!8)y(ai`LYjGOInt!d}?B*M(eFA)$Ki{QTO)-+)mb93M!e>CRm+*e&L9u|jOanzC? zh+f4v;Dx)-o<3-~_S}9Y?RkC=#&KG`CfrfbeatS!341cwxM1doPCtdOGn!FD%Q9S9 z!9k$xJh|B+4QUa0tLXtr_xnlR5sT$~`Y=dI-?c@3@j5;~=^D*QIv6Ma89dk`fb4D z&F_OAPCLSqa615xTeSCNH;G>BB4v@p^Za|HK%nH;0r+Oh^P3YqK7GOX&}<`+3>(eweXHdAP(;$CrS1E&t9d z_N(f;bD^{4FGzaP|8StlqUPxe>KhqVgnaL#DFI|xb3tWA2!vUu4MvfYvWyrBXkn>1 zB_)ES=8dr_^*5xs+l#NkNbz;A=q8oS*H*52tLgQT1hNZ`?Wa`2t`L$kO98K+xL;$? z>bBZxczLmMJubNDSc|J?u=`A{B=$m;R9SYm&+WYOMjRgbeRckBV@)ZsZ3qr$PG3n|5s5HvrZS8WXHNK%ndz& ztGHl+=4*Cwof=pt&J;i;h)Y$E-mkR5tj8>~X<%a8fZ6veKb_nR4RoFYuC?%Hcd$EM zbCGvrof!0h=LbV@`ZnO6+nZC8BPUs+Mw_E2@tHLAe#_;=K(hc(&}X+oGu+91Rz;O# zI6mOBR!LJgOMUq1Dt1yR(o-m?4xl6YD_H%+5!#9=qY@Ah?BL{1CF0`Z);BcJ(9m!Z zN_%?#0HRIP+D~1YG{Krw6DKAmdA$DEze-I@o5f<=3w#OhCMC91&%sHb(5G>{Em4~G{lQH!| z2N}ymqI9j-96^HS=2g*D=sAjYM{tCTFET!kh)=-k@zjE~=(5Tocvx%a!XH!OzA*?1 z&ayCXy8l>ZqjTI@##Zdgb72pCb@5iH=B1PQBA2@f+e2b-u-w}ACWLZ&?V!F$?q=yy zMB!v#1V#jCs5DEb9~#g|SMFa@PXREvH>4wg=mUc1;L|DJTK84Au*UZau9YEG+%FD%n?lq(lM@2L)ww@Bh^H zo_2SFyt^$JNc!G!bi#!}qLjkLK}##y1ZN6nYg}Ah*KuriYq=W^0; z1=m}bzq2z^7%y>+dDTo3^@MQtj)KJEn)hS17gcvF?9&QrOe{aqd)u3e5Mc}&#;O$4V~)LX7`ov}a0Y`-fjbN!&kID#}nBQ#^dojHo9u!%gf7TfQrn| zpQdF9^`%q=S}rXHpvg{+!3&=6N*U_07N(dE4i07O?1g2l{`Qa6u7;LmttzvMeoA!o z-bUfYhWU`LhJ*x&uQSr;*nyjmm0p|lrp&<~kZ2K6{TvM12W$b25T$1Sx~)!i5=3Ee zTpq=}!tOk0yzQPrzr4SGbF%USH2FPL;Ak4jJMJ`6YQ4)+`IK?`A2T=tzJyC%@d8{e zd1jvjK^HkR4$60+Xb>v-(bLACWujQAg0nYo6UQsvsGl&b#?fkOS>k>XTnb~5>1^PX z)y5h4a0nA2620EKgIZFg$1o4haDOhK{WSCWByvto*xU)O5QsIrFNU zsQ<|0wO)aTmH8ToMKBkVu zhE*#p&ZOY5iMgU4*52&RN%T+)a{nFxZtfEUZYMK+d}b#H^WOL}M4$6hGyhs(gdS1B zmxviRMU9Z3TSzX{*%V;AtJCnHB_!pQzAXos3c5R$g_AtU%FeR`!Vu2U0ss;n_~?V0 zLG$wwVD(C~_4QrUL3!8mt=CQVnlXE&T~XP@KbM~zj-OpUP3982{C8HyVdC-W_I z*-+HBVdHwU!q>Fp+=g{AgF2~b_;PctZa2op%AuI@(i}3(Z#E|_f|c!tVX&G{+r!b| zldgbJlyxt_@WxPu2U3!}uwQwb&WfN@rY8tDLLXn4_dTyV!BH7htaU2@PK1-x%y~p> zb*N!|E{e7SOtvxH~06Qrh|>m%(frV(Qtud z9BeC4Rh2iCI_|1s1{VTAJ)LER!+zw&}M=VI^d>d5%P|{qD4A60BirsBNG=VN<$_tVTNl$qAdWgb?ZG zRmFmO#J9JwkEsqpeu?&MvdVlViocqe^f6uDg$O4+@;Jk!W0AY=KCjp zJ4VyDv%|W0N|z;gN&0aVy;qOBgNK{aHw4OvLAHx`oy^T*kBl2^e>kp$KUEY6@MSBh zIt<^35uyaD_hrpAcG#TNeUQRSf&Rb(nXXrjPVdna5LsvqAD)6HVlr#$bkA@bK5H)P z{qOBmhPn7%74>L+$S69suu#J9Ax)Ia)4ev(-B6_DTYP}{#JYEK67pBD;t9l*Rnagu z4~~~7(6T#h>cAquS2UEVf0x#}PJ!G8=YUebfhLc$N!;o6wcz#z6d-=&qOW4_M6*Kx zGT9?}lG>ld(3 z2yYK^KGv<&$9YF0@WoMFZ^QwxpbkA2;5K?^5N+G&TIe_k-n6E}nPUP+9-_N+S0vu& z<3h`=cI#*CM9hP)02#@AZ0>0fkWr6{`lQnDR3M%h&N2tZ84>6;X^w1)Q6CF^g7=jJptHJgDM0?@`D?Y|@610RBo z&CSKOpBy7`18^enxH~cFKm@#<2q+dnwqixO9qTNsvz)dTep#cAXeNu|h8uo}*RsJW zziBnpUqZsf_c#H|74M2!Yi`8a*dj&DtKrZztU9+YVWSCOUkX%stT&O%c}v=H4UJj4 z+jS{Nm0nbA`uJtUVJYW3QwyHl)+@^Z2pFdD%3j7-zP?=GUgRp(`uf=I`M-d5Alp_y z1j;#n#D6GO3bxs&J@xLu9_NqW!I^D!&Q*=OtzhAkX(u@J>Lm|D5E6^tnp0 zu6P-gx>4mhIt^^&XAsn!kw(m4mPs5UpS2EoIytMLM68WI>ZJ`sKmd2yS4 zN-T~)u+{q$!Mxl43BLRBhK-4Zwty_J$=hTsQ8Bc}r_7t5>y9`PGCld}>G}Dn^Kdqn zZFWyVTM9@HWz~O+uba<@25FtH)7}s2PJd`MRN&hJ1%-z2+nUE8nF&fHvqpOOgoPnv zmQzwt1iXVO*k}Uos`9Hoa(HdMgHdRCPw)CoM9qWRG;Q(<=H|HfnFP@eZYIqg49YrCJ&F(xk5AOxE_ z*vAuZkJ`(KK@>iDo5>&7&OpvOD*aB3)AiW-n>B2BT&>rwcd);_+EA-Q*tRVy$0^|m zx5BMj4KV;!Gv&V#;DC7DT&!EQER1obfY*-cRa`OXHEkO>OBGQ@>EHvQw9B9hXGOax zOF@(=&-2J-(v(*rq!hXFg_b)p`I)z4+)JQ0c@pJ&GuH>1SqCY|xfMkGjJatg;sT^k zQY`geR|gs-|Im(1{+Mb4Fi|_`D{E`{5rRM!Yj_+`$9&a4@7c)@JHNl2& zzdyS=BRZ#^I$GdV;9KvYa4dprlUL6%N>>4@DdWQ243dCI!wgMuo7L>;!A#+?X;N_P z>(CeEoe@G#I8fIsPSSg3BcqC02FFQ8`UC_#cF=Lq@~&Y;t)*km3M0d^X9N8Xd!0KJ&8e9-DH0T3gL-jAnJ144v^6?Q;!N8wEd7Xs@$#sVyeDohpIqc zXxuvR%of$Y5`aEV2|4GhTv#-?^a@JJThi;*2KQ3y@!52BOfMI*F6H)$GlI*47P+s~OJynih@DnugnxnwlRa zS2RD)IQIW(*Z_uSBmjcI6_tE9>4<^ny*|@g!1=+43iW1u9gKtl6Z<}4MnKj4((UeA zgY5zd>p#3sV7dc5p<07Qo{35!?98sbF4eOzQqz<*i7bPM`i?X_Tecdn<;8KlC|W~b zn$q`kZ2Uo&DE)TkQPWB;@zA>2mxvatr0t$P^)T%JE_Z<1K1dh9j87!$-F>JxMtJW- zf->n}ADs6_w;eKs6o#t)L%lCO>O}f*PX6JlO@2o=Kbc`eGflT`x=KzVV{* zF#LChmyk+@d6(HjeS1$aq@^@By-8L4V(AUze}9sbdI^k$@9s+IAuxq#rR@Ii-N~_G->Xmzs!pJ z!_{iylml5*uyTYfmdUP+X!^j?A>;kd(o*{5ed2Zt%lkT1=BJk&M-Dsc^+-xVPEGO3 z%QVc)-bQ%#WjS42?kzdhxz=yv>1zw}dnmu}L~b4&^}cpvd157>N~nSPngm%cuKZCJ z|G8}_@~_i)2@Pamp_q$jS1bacwk}W@VblYH*^1-ocm7{|Z%=^cHgIQjbZ|I%H~~^G zSy@JlnU_^;eg@#~q+y*LWGAE^mt|8r4(7Vs5yl=@VPYR7I8V7<$fwKKwMQ=^#GH*k znIN)7EjYTl^yDGUcWSr@hJWu;Mo$pC*yiHk*G0~dt|G52A<$c!7Q#iK9xLbo3+qa@ zxZlUp7s?93I?r2O9orMP&zHza7(T6|--RPJH2erKTxPXT)rTA1Dmwqolz44MSJyT7?6hM}qa0F?CCk{0? zV0uOqUTWKrQ=9PyyY1%1MD7f0E{v(z$BX@p?7uciusA2Lyq8xC zG^7JKyv!|*kBoe({&c7AG7^C~0yLr!OcJ@hnyE2H0RqwGG0=yni{Az`&>Sr>jGdhw z^+xA1>X6oC@WJR_0@E2p(YAs6@F(`E4l6W9y*p$v$;x zFgBsfiJ$xCj=mbxELrpEed4d-@QEqF?j#eA&GUrS(X;)9!O5rKyQ$$|HLMC?nA3M} z{A%D+(t(4?s4%b;m&5V7bl&*yqc$_}PJnwlFZm=E~g3i=8caeLVXPBuDeWpbxy#q)D@Kt8^GIyBx8o ztJh?EXKpMt`*jjJ3ch?m_7r@wQoX;Rm`m5lT8kNa*&!0QRm={q991~%3Oc6}{hRjO^Z&ARSBN7NTIeV5CD!kX7dKp2E_*+b2B^7*WbN74dmmWxynk5iRVM-7c@#yvK&G$m4x(u=$` zE6BnN-WH2yHU!+zJvl#i@U!R6B#;a5`F>v4wYifi@$HJnS+nbgLWbm%^E8cwM@}i( zu);=T?trpd$h=p^0(&hLn&X}bf2(0q&{S}s3ZlK{f4r2`#C|_zqM6aiB@;9GcmW+7 zzz&4TI5;>awoxeovrUBg_(hUu^b~-#AIt^Nj zqUaW>ENpw~Y8T?HfSpqI1+A(V45k7B$O*T@XU~UTQkGpSm-7kALvGFYdr5tan+1|{HVW8+{=&In!KDAfB( zFrRK#QE(Q^{;&$i!B*UZX}Lwa2oP=r2U5Pnn(rFGx2Th8FhcZuC!)R~J2J8(dAebU zn^^c!XK1aA&bPwL-HhV76!4re(vh4!p_vpKq&g{o=aQ`TWP|J#X-26>XcLYyuvj%q zT0K!)5NCNrCnVWJWH~~hb(Pxu^hW?sj!LsZs-L`GSPVkA&&vc63`^{D#|YI_Axq7# zHT}cx6A@oii)uaejN}2K$Mr4mlqZm*3-)vT1Ra7&abA1 z7yF!^{v)Ga7a(Zn>YJIF2?};L>^B#HQR9jcp)-Prl=={nV7j^9a3$*oF5i8c=TXE| zVFrRQug`e2$x*c2yffdv`yA-hB!&$b$Z0IB<8MfGUc6?`LmJc+947Lk^Z$DEl|~E~pJ-9IWx5Wwmw_*l*f( z19Zhyba?bu46!|_y@GetCno!_M!Wh1dm)7f$6C~_yzFLQ@SfTD6k~c&dcp7}>AF@% zruKJYCBsIejzie^zULwn^m-l^y^)HL3J&vK=S7qEo$v3Yl%l}QEs>#)!wuh&+*7Dz zVT1B3zVvCqwsLuoT~?Wr=c^;$x3oJiTR=1Q`} zYT_#O1cxKV&(@n!jJ4AO3v9I?1G7k*xyU8rV&*$ZFBQb&px=W;-YZ^tM@Prupbd}J zSS6r0Urk&HW;;m?Iz9mYL65;}qiM&dBriV}LnW_JhY@%E8Cv?Dl+pt^ib(Xy&xw4o z!y^?M?E-S7$7T!D9U|o!jxB2Cm>@5*Z^bAaPO;9>uqic-7nUZ)e3_s5Hd3J~h}2BX z?P0m$iBe)M5}a>HuDfIjO*FaRwy-P`XY za-N(}B>sYPvuP;0w1Fc^Tu?fFnUL>cTr;^oW`Oe6CM?SNl~ll~wuOnmRT@jmtQ^rN zuQ9y3(3H-&*|K>m()MB_Xy{t8`wqaKi8qQ43!Umg-m*ECUJKaHOS;g>Op}k_MkLdx zDG3`|GgF*6rL+t)Ax31Xyell$4?bDrZCFZu&17iYBgh=q&EtjgmBl#_de?h_#zCy= z>4hb`iWL90lWlX&)Smo2-s7>f7pw8^s{x#c{$(wI3`mhK0~x{ruWJr+2U8-wM*cea@2qTCcCRwjR3*1v&Vm02aj31GI|u zYc7psGnS6BaN`Y4ZYQ4!utz;ZS4t`aqpgw$zjE@PZ;DwD3uIZAzeT`K$ zg{)E=N_bsDI6)@|PqvpppsP!So=v{atDf(LP45BX4yzpO%O&Qrg-&8cd3%~R%I8#W zLACrxSe>6+x+glv2~57T1hOsw&TQ_2O~)3pD}S`QsLoXl@~1(9-q#1!I7txS8`WQs zOqs?zNT%(I2uPNXARSAcAzx^}J9AQJnt--2(3jg1lmQ%$EztI@0Vb6JZ==a2m*7M{ zu9|?1bV&$!|L_aSD;~B#CdKO=!FF+^iQ+Ad)~E{Ki3{tvd-vL%-D9I4xTbr5Od)sw zgd>hEWoFx4NO#O?t*-FUNUUs)I7F3ylQsmC7nR-I%GmOWPqe)2AZ1^pvU{aL($e4- z?w!a(veK^SE4)xoiwh0cc`-tQEZkmNf<3v3hu~ z6xEruGErp$TdcwpG8Y<;mq=QSmsZ+>levb9a`f@X^c)ah5{=IquP85Qa7;ai)r53$ zhAPCHx+Uo3vxbF-1+&K%`Bw=gH{w+duxW>EDsJ<&eA7^=x-A&2FC(`@_FC1u0{fNm z+2zB4OmMaAoanS0iufC8$!g?B#ZKVM_aJDx#C`2Mx@E&Ucts&wek?e7I!V*}x{>)* z!I(N>?xW3$WPIyAsP*dOrJaTqx-B7(W+N*Xv5>Bez}o3E6@Zj(8LA^To|g|qOP>!M zQ65VcFPMwquBxE^Z&aS@+zAm7E4-7!>x6u|GZCeXg8)}t?Wj>YYydOv zvkVGq#WaQ3>!&cHg5^WUb~DrZf`>(Bl@A{Khm(?T2sf7n;q*LuG`Oy6$Dd3R7{qD&p9gIvqF36Z6Kg56*qE&1mqI(VV^}^pwa{7lgzO6)SM<`rDVjhnza%de8VUY zi#q9#@N+y~eCq1N928Pu1cRdbq)kj}Lq*TbLo{7}$fXy(0|^*_8kn_7*2iY{cTS65 zvwiI(&FFhYDeoBz^Kmj>@5Pg8Z5rZiejdekLVo3A4_n6V52cj$sG-n-@gi)NK>Pmq ziy;!Lv>0t)Ai6!TarC*5J-c^&S{bkZ8BdM6t4UKu=K~ga4hW3KJuXX0pZ?qiO6;&0 z$sMOMkqJPT9oA6p`dWyvO%O~pinRd|s-ZH|D_!X9cu_hZxzX@;>5_|W)T31u(e^?5 zQ~t<@bV`M40Vtay{z8owT>u-=^5hp78KcDci|IOraU!P+(-jQRK&RH{2cm~dPMBC& z1v18fwpQXwFxu#HRQnxdK?;G2!X# zX8H)Z$0@ce)enSqi&erOl|_NdqSiKPp+Z?13+BshhFBE~Sa8h%IL9Rt_$bdU8fG^+ zsh)>+4Es4BYVg-hUHcWF!Z)?{b#S;4?h-Cc=4hB(se4Opx=uaxPwzx5wV5EW(I}TL z1yb&q<m&qDMK=*&cM9tM-u{E@FwV= zT5DbRE9qll$xGS{hUL!fhn?lQ_>X1#Hj~3VyI`FIBF!A;+2P;_AYYhLL9c6GSw2pV z=h>aq&>*F%D0M?YbEtzciH0vDjvDV|)zd5+;Exse8WwL>9~X9xMB5(VRY8>%Mz)Dd zrpva`gnn!I9O64+lgT{f7r-V$HY&)BT}n*+xJ{eJ4|zHe{aTYyhA;FvjqW$O$C{_y zWde6$M>I_G@u5_q)71uv2`J3-;_7r>T*6^rX-MGf&LoxPv2VD41@0MP-8Oj-f&}Vt z5Wvj%ACHSz_{5o+8DQb;=ITl=k&w#ATxq??=ZG~~tWm(H*QKDOWM{oIT}F)&Qz-bC z3RZsKc^PaJFYm^pFiDM>pXZ8QiY1)cXqNyQIv~!ma^Um~KcY7=ZdH+;DT)kzzc!r2`JWj5#uw{+V zF`seaX;SMc3>yJ_nQf660AV>dnyli|&&Myo)FCi!o#T!uCBzSp7s2|{3bbbIR&g5o z4ij^(#|z;YxeEovxYU4zqZ8MwkDP6ej4E{<*i@8|bV5MjGYtR2tiTfV$}It@cBBag zJZ9C}=a1TYrrrV75uJ9}Sg(g7v^@jE%0cYU+slcG7b17it&&h_h%e(a{_}iZl0`*U z`+ex$uUx7+ey5`}9`BV(B#7@0yc_}0?Bh`P0iXco$^3lWXj1;-S+YBvuJkRZ0nE}) z_IJ=Bo2~Z*AJVv{l8F)nMTbVlK3PYg(D0=Uvmo=FqD%(o;+fm_m=PtO7C)7+?zYiTFFusObE~c~$K3E;h(Uzd-Y(Ig^ zdr+^}W7)20&1HN$$@u2oUx%u$punwdr556EHHZ?R3AaN8OiZYfVE#X3e4_UhhZoA# zJG6crVj(x*oPJfWZEE6*DvM-~T5x+Rx-yZcHB;PYT&LuZj_ycKgMA;qk{D7q-htr& z`*!e$Gd-P0hNOaJb)Hiokr z_Xs0{rfVu9OxVZflZryy*OgWI)Zk$yT?Ta+m!*Who|lrxLhPz$KW4JQHg}D&8eG;( z4I%GNHBzlW2r)aYMck0#uZATk`b@TDK^Su_*0nk+OS{F>Du%?N7Ybgb2s-i$`F!%Q z;RA6-?_z9=V1W2CCqVUng2y?I-?F6@I*+viweh@Gcnp%K-sI>nlo?{K-5uNmM;4Oz zWaZ&rG2|*|IX+7IQ}DO&r@2ldW>b+3x=SDvp-;pjz zg?5>wFro@%t--@+5)uQNH9zE}mpc47jq*v}6G*8uMJ14!p4G8^;k{j55eJeikr-%< z*UwNxSMp)Fjy8}LElH1sjmbpChH)l#WR1EvATT*WI2qFs1w1L92BiI;Y2P!b`y$o2 zY9{5)?Z@?-S)2j^0i^gu{^XJE{+`QTWS}`$4+l+8D~?6FY`eJ<@NjiwzKjcyR_{AqY$MKM2li6`OoZ~}l>hSJ{m009)RdEuJYM&^JV4Vj9bN14qADP|3MwlZl!~fr6q2sEqKz7^FdRo+mZ4sX>xuY!9=(+6 zV|Q-z#L8$$o`v7c%+z_&B`K=<^chD?&2|;fhL*m9a`1sT74u6P;xz&)x+T*WU_059 zWnpKWJxHqJ!9w^&<+2I-$!?3%1N3@KnrYIWfdR#5A#rpXGhe>+cG@c{DM=?WOJd^Q zNxb7&ZEkENfX4q!@=TQ0+ow3S`s5yX(XWoeuW|eBr-O7IjI%QmAOdUOge@=1&e;3) zmMi&HI(budLB``+J|fU#dWliTy>cTbt!U?-c#qx_F+I9rD9`i*XESlL61Bvg%! z^}ON<4~b9UMR*YH@14NZr&x?c%j+;s7WB|T`r)>R;V)+pk7s(du$(Q&RYRBL4B-lk zzHhRT`)nyZ4=$zisp&1qA%LHG`|5%c9Y(N*I1tI{8$4+H@aI@bK=ZweD6TjdfvJ+X zeBMMFnc1I(ZVb)A^i0V}lXt(w6Qx;zmU#HUWH9dZ~wZ3Act&bJTs02iO+m z-%rxmGLUu$rXVQQ>AOyh?5a2#pN1zgk{;gxKDzI;8`9i7$;AD|Vk#zFY~C8wIr8u` z&^~DS*?R$Mpt>4)|19@_wtTy4_lgMPy zXI9d5x>ZmjWcyrB{!ku;6gq{l-tnVaHbJ28bI*wBm2>&0?U+3$4Fw@!S~7`&NkRG^ zyA_iG@7yZZVuTPC6S97_X{VtmC_5Tv@9b`ILA5sVz|%=lwz`GYFpCvg!#f#`NaO1) z)5p&q`hJ64H7{j8D@K-5!zq~Aq^jCo+w4RjM}>Lklayjuq$9Tzu_Cc27zd!5`;G_Q zhgDw+8O09NS1-;)tA*>`&ftMF_L+?$ zGg7pT>R7>Xi@bQhfvIkBb&cl*rOI;=v`KAf#xGVGXCzXoE<-j$@4Hpo$bsI?x9zus z1?7QfIK9D7H;84-(g^w#WJloDE1A@sN)?_OCNTnq(T>93gBlqqV0;SiW=Sx_(!8o4 zAJw#lt4;1bZgF3w4EUH`h`WV`>yLR4${J-Z7)o0J9dtBSfzEy){O{AvpOAP!%K{8j zFe5_oWQr+0lF<)qNe~nAN_2i1u^^*76HVkC_0qT(40o7F0vPYrdjObP1bb^R)DRL# zUw=n{-;IHfH)KQa=Flz2P}WaULV`weYO0G_O~D)*DigVsxb+1z$P0dr&w6Zr&c5%4 z&PFzh2_a#Vdv;jH1y0D`uLS#omDL!JSK04D!KXQTY5Qp^qkhAIf(VfQs^osBl`h8< zLQ%DCx!)$Xp_XPc0G8?qya&HQE%fcHC8%GU@s2|Z^iJ}~?mqwX5C6mey!vm3spsas zpVt`x@rmbO(Cd|225Mr=yXo%FOWHlZ{}h0vP_AYN{OEtY`is7Li*>wz7UKSRZ*2nH2nbG6<4MACbCNH?vrmu9{yTFe5?{oZ}>zx zaT1z3?s7-OyALqT{Av_MEbG$TzXKoq@%oZM0hr0h2|;YV^mm`!{d?`o-xswL0uxsx zMf%O7;A?f^0|} zty(t1gNfPMLS}*C>x(1B5rv5!vAyuZIe?Y`glOj9*Tz}F_XSW&w6n8Ps8gp?wEvs{ zfVh}dlrLV$W8%IrysK|;RlF|xwG=l0{w)E#Ft4GYO!!0vcolwI?djl+?QOf(VC6d7 zERJM$cJ}EP2``MosBz1Qfo+q*Gs!MWSTI0mMtZVe(a>;5cfgcX{NuCg?}blnGX=K+ zM6R2fnrLZhL2FzMAoWk!rJBx{LU<|CYf@8r{N$AXxLkLAKgS(q1Qk?Z1kdjF5E#;U zBRqHobaPWv-#Br&otlHx<&QT&!^L&e6G;LHXMm72J~>%##9%Udr^?29r#htS7;z^Y>6f6kKBz$AVKU(u@hf_(oJsB9>ujZgl0)xK;gyicX#;7IyU zceiq2teMM)O1l4n)g~Qqg8#ThV^z%r?d|Q4Pfr05Bkv!1JsN-UdXf!4Cw%JMXrhie z{NoQ)LXaG;1bn+wB!GhefCDZ!M^)8CKvn_f^RBM0=d^ZfpJio3W-VFbRm$~)5V9Ko zcw>K2Vsi8Ib%(S;_ktQj98jRwY6=0F+wY;-U;98IwW31aPsr!bUt%W6Y9%P~PXq?z zQcYm`NB0egF&dK^>yw=cPg?$rSweWf$|76!za$IrtBC>8`pb*Et&H#`0vkJW(mS`P zX!Sl2!0kBS2smTS5hjLCwHjg8cz zgRn}G2Y>#3!h-6}?q7gN9`I`iJSFgE0)`m1zO0m#)UZ7qiR(US1uC#fhG5aJ-3M4~ z>X)`J%cHJH%xdl;5LCvaUjq}iVlXfP?ndlv)OU(|J2-zpmp+21sNlq_lxlk;yu<(F zjnR;i8<+nx;PLxslmD^Y04}xwS4u1t{^w1F{*tW@0;B&wVyRE|j~|`@f07v)J4>YU zuT#q6*YO07ZUq5q(?8w@zjvQe`i#!sz611x?*5Z5E2+P(!?iyy{Vg5C$NDWDOG5waGi~3Y&F}x; z=-?;I4nULs$9?={hW#Z^k_<%})b?l|U>8zmh)Iya7rq(q_}llL>_`v4bU9q9tbBQ* z>)Ufa0M8ReY5cs9dnKP^qwn((UJ{Qz6W0%Vw zD(S@9c-%n}Iw!&GgrFh^S4U#Hu3mI3zyK(WPC>Lg}j{^XzDfui`XcIoGu9T)`(m} z?qljq0yenD=<#LQgTllqxQeeLQ}4^Mwmf5?Bt>|87*yK#HKUQsm3qY8O8)y{2gENbeuEDV z{u6v~91Kh^c7MVL&46;8RntivD-Jj^^3@Ug!5ffrKk7|sg*D$qF%Nsj9ddAqO1}0} zzmaSm$@j|IhWcD~=Um@N8}vzxe1#7yxqZZUV-otX!qHU5z=eO(3QY@T3A>l}GCAU($TZHH1i(lUGmT zE%2Qgh#(#EZ@#*$BF7TjE4_E1h4@CYf7W8re!Xc^jSuHBjKu#)l-x>(hHsy0e57NM z(i39HChjpET>8RCvM?|`4qJ2uDc)2GU}-;7RP_>Ax9Eq0esvCys8Z{*R9qdiXXfj= zV12ezK|3~B;T_(B@zR)@Q!GH-Tq3B|*`uQbkn|y0Nu&QQfX7Fh3HnX|H0Gc`Kw`S5 z{zS@cZEZO}9?OwdN=r30HD!IR*M)>BrijzR##* zoV&JS<~QWcFw`59w<57LFPyRhmyQ2+XxZBOWS8a_6&bW^k7kO3`H;t5bUz}z^PuJ9 zt*WfFb_bvW>X>{cPdgv|_V)W*$iDA4JGGy7*1Z<0-`bQP&yV_cC}IUMJ|rU_Wef>O zlQw7K1Gg2qC|41;Z8!Y$_Z%?OIMKcs8j3EE8G6+RRR231hI69mktNSC?C8#c&j4xa zuJe2CbJF(UZ{9Wn65Q~24VkPMc8SW--}jZ!AzjP?y#lchzKauKha7+3Lq&l5tMkicz7PK7eI)ZFqFLW zqTJ7HY*b&<1q2g9*xdx2u)7cu75upg{YXdIhe9upV?*qdqN$4zB45ho%02vY8KcZ@ zwu;6rSsT5{#7N+p1^~wIT|8-Afq&M9MgijW!zJ-vTU^JK08AR+)9{SB! zyH(`JH?$KLp%7FWA9e?Sng}8F5Bpkbd(m0)>WSOhEth`^DPFHZHgyu6H9dkrxEJl9;o`_U$AAYE^O4KVmB}|-;bkQUI zQap{={9bUqkAv|9h9}mZP9RPhTE3?*X^v=u;Uk*vK;@w0lb~6`+2AF)Urn4#eEfrK z15&1pYA+sBOxt6jmAyF@&!dHhi`*%)DpsAS8hJ2s=y#t+x5qh2Av_yl2~I;IZ1|mO zFsiwrOv%d3XR3obvtWH6@|&w--K4E^#`w2jM%J^V=J`c#bf41RmY1Da6N9s~_r3aSM(H&-GC_i;)(ysmI%)RFk2 z!DC-j>x#)rJ{;>VQ$gj52~e$_D?GG-_Gqg_iof(9H4FHb>L5kS=&OHzU%FkSluF@?ANRV_%aj%l74 z)6n?k-xBSE+`#^LdJgmd#-^|_fea@MthJ56@nJvx5jp4s{_BT5#38Io^!aezP{a1p zpyL~kryPP-gP0FG$XTPxBPHrz`_+eWDh-O?qj(taU)C$OBu3sI96^!YPG{1e)e_!i=wK%w`(~F9VSZXWV ze|3ZQ+CVpmjd)GK!Qqv#0HFM@OX|eeNm1Pe1}5wtoK9B>ruL#qRk)-eDS~6tuoSiU zyqXizu&_o(S?R<20!8M4NEjRC{I}xj3?oF;@fVDNA}T#V&m3kw6<%*n!Dkt;jic=A z@E2$;M#Y6nP&s1z=SmI3lM*Y#3MuGAT!5Ux%6Vrn3dys}Aat-5aNhHNG&2{IqYbqM zaaLp~>r~qu=vnKu*zO)bAYar76&`$d{3! ziw{BUe)YW#b(5Qwm#N1(4}NL4Ff5{F(6Vht<^D3KPu_c;d5&Mrp?|>x|GMgxU!5&-GA9Qw6G-3Ubk3rNQUA1+u zVLHG4- zQ}$sx4?^bm`G2(iWmHyc+Xf07poB<^NZ-;aARtJ0cc-K@NP~oQcS(0QN_VGpceh9* zy)SS*?^=&*t>^ppkIfIqZ~*h3b8^Lb9p@2GoUFUQvly=yl2NWnkmPG;Vdp^qeP0xIff6h(LuA|!o2Dvlz+UY%X`&cw6duiiKZ z#A$`dqN(W!Dc11dkqA7c;1)FY5~ntv&=fUBkrdHu5X*;gQDBcGQAMx6wDzQPOws$% z_(YFaUH>|&`k`wRPrPsDi;pSS6MhQD!qT_!1GfKUV9 zvF-KA70f<2SS!q`=lL)MC73Mi+|@h$@nmpRB0Xzh&}pV5DB_vujdRhwbitDMKxbJH z%8)>!R!edd638?QlPFOJA2vHeu^EzIq2V?4 z&}kC$N9wfONVF_9kGCw)+}S+W75gY)*z_AJxO$lla}mq#bnXTXzroZWXI9T_yE_A7 z(DD$FUw>F?jaGN?g`-igwY!xyvY@2jzD)0R*_=@fS)WE_A!emSXR!|eHY{6pg{4TP zxxttCL~JhDs*m5ZZL5I38g&jKDr@Q_YFW;TwN}7bjYxJDpaDmu#ORY-&g{frDK*vatz@ayFkQklTq_G~erY^1@iBzK& z3-j`u8^FEQv3nryE4DOY;x;z(=-p?+9Gd4z5AK;iQNU(n!rj@mY462&BGL$2(|`J> z{ueGCc9w=g7&Ln3Dv${KHf9^!g*H-E#sm3bNzN>ub~joI%h(DzOS`e4RJPy-w#>aJ zF@(p^)fkv~Q1{HCls4E)c$EW*DZPl^J^m|LtWL26G97RG!0o~6_oQ#T7 z5AF#vo^8M5BmEO`L5sF4fB`Pfz~uSpLCCqzV}Xzff~?j6UV;u3U#Le#pU?<|oCqFT zzP=ywqI0i%BI3-VhpGu?qJf~-#X3a|8!6;fVu0>b2$8JZsR}s4L_?jX2|ye zLhpYCpnvs)!H)hf7r2w~a@=tW{`DGZkpB&0|HYJ=iR2d$?(zGYC%^~n1_06E-|pis z$nuvS{oj7%PU;VitaqRA>2DkS9h&__p4YGoocMp;#qW^*|H&}^e>|`})SWsX+^isq zCswU4)*)*dA3yf(MRRmbc=qzYH*fXATxVpMndp^D8cIRwySc(lYu) zI{A7^)^jLj}~&E1S;{JZJpm*W;q=fYNU%a+-}F zyEQN`-9lvng1Q^~O4}hD{!revJKAa;!*p*eQa5DvSjI$Jvru*G#SxR7zLyI6p6zPS z)1HbIDb1nJx2QsbH$?|r4f{ZS58q8P+i2+8lqwu4z}6BKWt^9$Bme?T04%H za$ip;I{NBhbX=p{A6)Dc97q_RXdS4)!a&+k39gUGaSI50aI9Mmdn*vcz?1qiE_M+; z?Iugjb-Fc_*eK?n%dj)PF?HbDteNsadO|H@ivPB=z=*oK-TwP>xdJ8j?c29Hsa1=r zTZ;f-EGavZ+S@A%0=l=h49iT4=RkIV9HcDc<{7jELLb|pOJF6stu=DiBM|Qrz6@od zStCmwS+dq@?e`XL2kl{=>cjEwOe6IiV;NjCx+Q#diylWuBHx2=nnOp- z*IH!nGLpNDB1rU;tRMG=1?Vv5aZ`J`Hc-sR<{a6sVYNLu!c{1jDhn(ga1{~?k!3C0 znlt5#b8wV4`E~3rJqmF@Ep?>|~1+LQtl~i(bjT3GXt#GR>2U=2PzpY&Fm6 zSxba;Gi1-MtE*^^;(D-fNSX)^Y zTfPDz3UaS?_`pdphdXwyKdA@~x(wubI=}tCKB}OR0Mw>fX0=>qD+|END!n_S_>psv zTb3sw{tjh)W7TzRU5S`~Rsd^P9_p;NqD*#Jd6@rwO|tJ&F}k^@Ztcyt=z2`*Gn%ZH z^yjxAXJ~r36ug@vGP=qk*kpO7j9e3U$CKoV{|>Hi{tm7)vcxJP0}}v468WQ+C~f-g zS4SVDQ3w%pKNLdeE;T=+VF;U{(*WCWH7j&Zs5z}7vc&x@cSj=3v=%zY9|g1PYwYTk zP22x~tZz^+=8%zZK0T5F!I%|BTMky!;{{I3D$@Bd)W*7jW(z8uK>m~^6)?J0zh44ZyicE8n&!;%F4?hiFwc6dXo-(rlo)1xAN}8hZ4Aq;+1t$ zJ40Dh#B?k`OKo9y%K1{Rs!LU1PudYWB6?lTEi~Say(?MI9P$VuzD5`IU8xg!nOfa+ z@0<7bSGrh_aeKXQy9VXL(Ipn%!pPNmq8ET^`_fwQ%56D=%^f#Zug7&DNlOp(?C9*_ zRgfJdx_aS9*c+l9;#+|rVnD=%zz3I#w0KIQEur|qX zCi+tA2YjcNHAW!bJ*|;3A6@GHo>*JWZ6o9O9hfKyh3Xgun?FbxQje66B1wA*%oir} zVOKY282BzfTMAV$V*-*d1Rxic?1(DjzFXJT8EDTy-(*kb&?7O^1D&=MDK6KXCxDg| z*rTXVNvtG_2cH=Bdu2&aRlcv{BU^Pu)mW2(82Jt$5OIHB8WNMq&XVGb+~ z_jnG@t;;lhy@%ToW?a?G_lxl)t6F$mM92s192N6nwni`uIcu!bgYZZI9bgybj~hwojp;rBqt$dq#q$3JA2zbj2l<=T#&xht5aiI>^!tm4o99 z3lSLnKJ$=B1qTpLTU={&bhCqt-399;;9eQ?dE6eic`PqJFptQ5gvZzwH;!w(%9 z)}Dp{TnR3AB-;O55!UZGz#X^Y5BFujumRZTR#~Q(m)Gv@Zg;nEa7TDjQiJI%%L%%m zdXWOiSBNS|WUl+*_SXSF~^~rF^ODGsF=_ zakVGfvbe793jFcy7d~CZzpyih3@{kXB!lt z6aZXZbKQayrn=gLxCuSc6j4~wC=GFRn0+FNl;{EJIjBKVfH*BW;gg+IPqqGVnTWIG z48B_-HPHwIk355cmDG+V4PyTFE)1)<9<{>M)RFk6u`Viv-V zyRnc>VXKD7F!X8Jj^HY6*;~YNJ}i=;)o+jSV_+1g&c);74`;Y3UltyYAqThq!>sTm z)(3q#t-Qa{=G=0Niq^iynBYDv?yPc5D(KMkGfNhJVax73hf2u$?*Kie?W3Qx6IFo zTBuNY{m~OlKcvLn`I*N4a=JBiOh{d|Q^-k_su* z%&V1rYw1)(ofY&4trgETj?mXcS?sW6sJ?>oP_vwNh(k|c!0?B+Z=Lf&MOS%P_V9O{ zyoC658>$nmMf$5FHM4v(Ga}(tVUozA5rD}u{=H0L$F_0MKjkjHvp+Rgk?Ia zo`H5q_F61EVdb?3m0;!K^w56ZiX_}FH{qia8b%90O(WDwP8Q54z#VoCW^9Z#Nds5L z3*Cyzk|-S?9X>ll9z;5Cy$TZ0K|s(di@Be!@J@@C_U6pWH zA1I{%1G`JUDH2y}6x=ZC698&aWD87oqDO>sA!zU-5#6ikkubiX8(n;6t^Hfa9Pk{^ zFD`J(A$Cwa|HYNOL&t&Zv>o$yVPRp3c1P~5>Te%5tckOabWA%8a~Fk?syXwK^s@_j z4;>ejW5S{uWg`908#xnOv*Zmt8;FrAfIuTX{T zRIM8HgK@E}@fH%Fo?aOZJzmkZIR=eR>;^?-Eka(751?B>@REMRk_ZOWGZO~%0SWvR zY|&HhC1eD^VSrlirWR$c?K9!`F>xwEfmi31tO&{dna@GXbvYU~p|qA9O`_tqYl);9DoWS&kG+!jK#(MMl>3HARA`VN~WN_`)p(@jR~kl5L0s(Wqf63xtm z(Xra;{f>`t(}KBvx^>JgV3w>jU^cWjEx;T!>Gqn(TR%OVLxpYFg_6OT+$ys6W@qXEXCz%cP@{8PKL=M#20C`F48=O!y?0Mp@___WyJM= zn0FtH_$35%!YPuvQ48TTz`+2sUh>O$0hXD4%9+a6Qz*Spi=wYb@r#~Od8nT7Whf#$?>3;q$oG5MeQ8_`eYTag6cp~R;|^+V^{+Gh{RsgUpQD|~VUF?0z~ zV-KvQ=X9)*V7GBTHB{x=*jEM*+r|S&zOU~W?2d|R8ThsmIql+VSr;HC0`aj(6R#n#OiwdO9K=AyQ zg+;bA^}mwk;dAoxL`=qbi7;r?^M%vP!C6TV=*3tbZkyQ}>I zocT2e-`9Dg(?X$qhI$Wd<{Th#197ea4zB1a;f=~6YMyH01}6G`gw-7ut(CA?D@F81 z9ddH%4SYA#pfQ^g_oPO~?E}C3kzY`cpU*!mIAxGR^}4Okps7g$@+<$z&ei}hcz|_< zp{Z#iNM4wVKcI7taBGEp!Bbp^s%YN)6w5Y9N14N8MUm<#@*L=(&G5ON*>DFCEQ|M% zLw}VM=I^&3BoP*ZIFNt4Hl?2-x-N87FX43YPqe`utH z(`VcBq3d_f(L`D3oWdRbLX$~=xHd;&h(O7#p%<`8&r9j&_$r`tXmV7&p8D1^8F*`U zpuKpn(>Bg7IjF^_Xp&pZd-IQTS7Ja%22i&&ir?M;Yx1yN89{ueXiO<6=70}m-Q__~ zXjH7A(k6!hSMwsX9H=rCJVo%g@*^X{S2xGsKeT`F+LZ^w|4>Q2p(dBKVg!RM2Z5g& z6PIH&zowcr3+ni-Ls#$NA@DIl|p*q*eWJG-Fp>GmS~F@rv^P+rJWd|DZ#!1*?a=kzap|YfrqRQ)qeFCTk&v z%>Se{)24y>ix^=pmE{6&)8|A896D@*HrywI@br4lQ^>OWy?a6U@UtXQf_Z};ZN*SK ze|nz)0<*kFc#k}fJSIS(1#h)vjf6dZ#Y}Ci_wXlIirmpt{uD1ss{Yza?>s~C>h7hp zPc|VF+H{i9zLe@L;f1(1QQ-3lN^5jBVvF5Ne?(VH$EaIBVyD{qF1kd;ay^$NY^d4zPTX$Y^;dV7kZoJ6t<7JRFSk_R(F?=Kq4G@94k3 z++6<+od()3qyI@3S1*5YXSw>XtacE`_&;v-6_*To_rGG}|9Rbj?jFXw_{eOsofR}W zk#C)6ISsXbFPh3A{E6tHQBjP#-Dt;4G2x&A@yV{sJW^-vEHF6|z5#a&fnQ>uLv+cJ^?19z^zrU3n>PdBQhnd4F{GD`PPKCLd!^f*0r(EcWZXn zjo8fVV{!o4YN_7=-nTEzs>*|L#wKs5L?Trpz*bX>G#~fC9OhB`TmdIrpZ>PN+}+li ztMyVlYFwfq2oBLIDIxLFi`$@LMjz8KL-up|+Rv7G>RK^%GVEttPSTaxM9P}ylw`0T zpjmaEJF~kO_xvjQI&-=bt&?njA37Z?4GObr`aMQR{q#eDg+4*FGOruzEq;{$<<@QY-;HZcM@(b{qTX?y%p60e0mPMzQVjA_XFDp#K#%GRm9EH#j?3 z&E+)|xuJqfd@)+{kmKj(A53+bhYnLcA8Nm;vy)SxPqVhuM{<7Im{)$N2+1*{UGco!8@kbqq ze_H}|VHS`amXt`L!}&r~OKWQ{f%C1)&DAL=bKcOI&9MUhCBvR28Y>myea-ia9=U3+ zR{Y=QCNkTGJqmoPA5v?4Jl5gP( zcy@X-GBPVa;L>%iZ9(VoIURqPIG#xhaD^&i0RFEcXl2hpF8Y;$E~LV$aXLAnCf5&~ z`9~ZkW$E)_43oa{kjvNWzMDa`e%;cGO5t{{Ed|s$&Jz~K{FwX}+n>6qaf@R&=9UVd zj*gEt>Qc_!qtI&QaSEaExn-x%qa6`7JH>A$yl}S?(x&9g?4X(VT8(>1LAY-#BV?PL zq+H-rDrP@&42p)c?L^voqBg&UX8Ez7k7l4tAo@xCwEPXOz!gsPrWat>Or$KY$Xl{R zp?`fG`B!zuzrbD(?0IaThfa*J0Tl#FsmnG*PVS4#yYOvAoE37f8~68{xX}4jgkUKP&@~ zF5~6^O5(mfadk3nc}*kY+}N(IKd*=cDCBusu#{1W{*l&x2eC`1 zMb?(@>H=vS3SU8Py_R_9V+t(~2;$?)T)%@Y2+JzqX`Q3snd5MC*>=+Ve0@-kl=Dre za>R6#hX~krxUu{AkM6)8u9E&>Wi@<@Q(L+qUX4-{UkwsVKc=75eouVy|WW}OKXU8#*!Sr!7x_JaR~z?)gu zyO>lJvAq6XBVviuT`^I19{_KqR<75rUloy!;QRxh;lA5L;LY~|f)EM^A^bUVHGb`I z*YrqmLU^op$=V<~{*VF!ydTWrD&khpeKRnpzh zMyA;T0Z)QzRH?6d00sIBpcu(fld7jEKl39cBTI=kF)=BsKR4XNsr%7z!)_*gH$J4L z5asa#5+=g1xq3+`WV~w~BCmZC#~0|vVyKt66Xk>G3OpK>W=X*ikq2aVD%V=VVP5C@c5jiyE6!^$_WF!k=Qqffo7}jn4 z!yAxQqDW0kO9O-ea7wOwngfL8YEaS=62TqI_CM-Q0Y)K9`bODJBnXcq@g<<@9a$_k zdtO?A=>alomK)TlF)+mMUc*7i{riLT#{nFbA;g;bgfXQ$=+7)mGl8u~e~)6$B&y(* z?2i}nCk9#8I&i9TG(d+DoiGEktflzfIk?&JM29jUByvF5y5ZPJ1%_)$d zIt4)j3SjJ**9Is8-90^k9X~Zay=ms~)+Cnx{Zq5jU5-)01`eR?@g{mnwMm&zEt%=r zV5#`!IU55VtFzE)2X>|;y5r7>I3pw6IUzktgurJ^+d$!^y^>KJ^VOgJ2ydF8C>|*O z2evm4)cYhwv4n5Ex3i=LspySX&>&^IW4X`r`S6MYeG`|~t!et^x46OJsF3;=0izIF zZuw3Zmh8xTkH#Npu({4^2~o&cV~uOgirM3Ic{p-wR^{!dM ztX6?}nxV*zJOSaM3fRZm)Q{2I{6d84bRKb+KtS1*=88Od4Z0)wFf8!w?{M}7(-qZc z8}E1e@OUW~{noXl@cc!AmwTsnt@(YbtTqQQ?>xDeT+zT}**gAAt6B<@;F*}BuR)-8 z>?_R&ZMq)3dV0jsqDoyqB*1E86CJiYvFpbA*`QnDHLbxx{rRQ%2ZXcp}*L+XWSG!b-#Dlkjt% zuu9+m*t|AOik>~C9)Dge4GMV;e!+o-#;v$e4DtuTD5Y~1H>2)OEofUv}f z`%hYY2R8omjBkP@=os{vpi!!i;HZ6t<;C=;vAF&UIk1xe7CzC`Y8DfIoxQy}N$)@% zOP;O)0&A<64+GFlF6-(Fc=5 zDSmPLfcYO7?R8B}2&^$-DU)A7_HRgBTpl+80|SGUs>Wt@ZEZX}IB#;C&RCMO=!rTx zv2`53GyJ0+Ku&(!4lreSYd{$5l^A#sW;C+7Bb+%*YW(KJD41be<<<;&*{STTFL z=;S;TDlg+SmY=K`~cu}v8By?pSh;baqYxz%C zAXNj>UJp_L`4qn~2FYCf-YdRMM$GmZ8j@y21YR21+|P7%bj)K84h{g*R%WGYJ#m=; znNa)8yRT0?s7SE{LPcdV_0<3zrLmQOUEN%J1ER0<|21`>GhRg;4Qo&-$X2Fh~;ie}+3lvvO)Dv1_}l>{94nfUBg9VnbP zB@m$5mQ6I5`*|>q-o57;TW30J*8~4;UfLG_)kBc1uH@NPtDK)NoyWe)x$u00Wniou z$I#m&^jS20Dx=vEFMoqoF=WYY3Pq!k>v;88!B{RjbPAX69p6U!bzl$+nOP}|kH_)T z#(6Y=o6K~KM_m9mWT`kx%Jd^6zY#XqkRQY>G7j)g2wfz?aVf!R;<59Rf{{dKub=sc z(UTh@pp~Z@S;A)6boxbeJV{RuaR7YM~>tzfxC0{?g zG6R05o~Cp=R&ec@N`n+EcjWt`r%$gm1L!lxjDEw=K&(%fZk|HEViUWoH4Y39Fap=r z)m2rLm6Uu1s84d-!@x7;wjGkPK#s=8$7iV0-Sbll4#mIM`JE^P?V0%FksaSCO(A5R z_DeyJGKk^HBNQD?lGf*Rt{veOF+$V8lL0N7ZV+gTVp=Q&+r;~=6VqphoYM)B*;0gR z&TlGg*Cal~+g{&D7&F_%=UsmDOsJIpU>|NFD>O;ohDk_BJA=O~GsE=YgAbNRB@sa@ z5tPpb689%0CZCrF$7=6wmuHPlYRl%--ufO4JL|E3<2meob+o|6hTEWVoD0Q%wVCSs?*~X+2b7Vzu^WfB&0Tk0Yc&%IokL4C zAW~lO(rVYR`1$0~vXP<3Zf{3F$48JX-BQqzJN}`qpLoziLB7Yy*5XcCq#&7@q`7|X zSF_Uwfi%yOHZKui&APN1-%w{;FBE;AddafmYKC#;C7p166}^@JxnAfJ&EQjFK*34s zyf6#Vv5V1&15{$x&4kd$K@RvOZG3im$^>b<6hxeXt=N+xiqZ)7z*Hq(uF1qYl{psjEb)HAJlYf~SvJqTXFqumJGy{y<&RSa1j z8t7XyxOsPOH|(u?)gSubH~BNir$`!Y-Ig%>J^dNo(St3wFQ+6?YufwYeF{4 z`PWpUoqUh;Q8f1$3wHDP+$#)#7{#L{pYs!pXTdm*9l>-W*-V0Cm z>-#gy8Iy`hX!7*HCg6{>y*yV-cJWWggCZE=D;cQMo;725kth87r8&_SRRzIyH!dN5 zpF-GjNx7%d4w0JE#+Y!WJRqqctuS5X8?Mk}idE`)IhKLmT8C)MS4?8>lFF zczAA~{$Fo`l?ye|&z$;SFX1RhqR(QpGf`20Otp#?%>(ZC>G<2M*&=<(4V5?gdwwAf z_%rFCJ>MK1|JkIJUP(mq#2?ua(V(Z)psH6~X!U7t|ub_XH7f z8;K9<@#Czi72Af3grVw|9-0R1=g$S>4s4Q(B;wzs7|-><1NW`z`D?}|Q9(f;=__*l zz%Wj4EIVuFY)zhm8ngTnOZ`pBEH`NhXhK2j4Z5Hp2~%LfWo#^HUG_*@U&ry8{TPSv z6jVciQnWC}v*_~j@(mQEBbOcuii(ftElWcg;zO8)+~!u~37^aaYh`T_io~5pjtA%8 z&fVn6Du^f$yej#0v=gxGoto6vyEGiiCyr z5$KVb0HH3ycFs2_NL*A@Hn#V2;W3A#H`0?-7=5|^2nSx|0rj3-tViA*Z)+~ntCe|? zpH`%1`pyplVXJQ!Sv6dYJrTmVDO-G87FY|^L~9(@yIaG<>WOj+PmrWM{^^B*g*!A9 z`Mnaw5+HH(cXf63^oWRv$O!APva-IBee>}oUwX>bMyj6f@O-<-^1ZNdH;wbY|Iv}v z`3otiujHvPcD!KZS02KP966hUCPHhvaNN=`wXPa@q#t1_%=z7pE$$0{$ zJeo+R=r?mEoQquA9?my&X)A{}+4iTeKPrOJcA&>H*PXNKJ-3!3=x>kAxjtg;Z}2vR*mUGf=*wV5^0qP_(Pbsa ziwD%s4)?n+Sk+ZF`&stYsPfGZRrxxN4mBAViPa6aJttH0oUMCkB__~8QZ%A*x)(@V zn4MwkUKms@b|IJSv>9nwRawgdrG}qlnsbuZICUID`>1`7i(7kmCNRZn?T9%`qw8Zh zVy;n2`$IF-}Pya#&BLu{Q;gr7JDj_o0KpVrSo_l;Slu&S&=RyjWvu$cae& zxSPdsMTRkNzmAiUjtQoQmvX8Pedw91wb2Z5x}N}V;s!H%2tI@0xdINWvmwt-u}91# zGp?-Mm$I@|^p)auW^7$8{_Cl!Y70N|XU|SWD@w~vGrXVUCcOEMQ@Fd*r0VdPk&&s& zJH-rj=v3#?61APkR;+36ThB-aF-J$=UG=l4ra4_(%E+g?9FmMbc*I@lbR56b#Zh3u zQ?%~p)4uXz8Wf2FGUVlBMt0h!ofZMd@teA?$En{6^OEnmytWHd%@ECE1-rmbR2SjUQ>3557^~BCKI|$lWce&gQw=!5d+VYDZ@fsnKVq zjGJfA*wxu&3td8B_dYqTC*9VNvkjBeo=z3}eVVR2kT1QRKYJ?hR7y%pxT_Z&^Qx}9 zDT*$)6dK@QVY@mz1qB87PET*HPaBF}e}4!jYs189GWI*W zc>N}il1S$-*%^y%JS+U*3`C7kI=+q%voEqviR2e?;Nm7!&JJ@hu=QwHI;X%&-?$DT z>*=i|DGX5D=9)rNj;16eDgcr(&Xjl%4h=XQEhE03nT5Mb4~OV?jOsTyV?OvED2%52*;UOrZ- z&B+#Zj^GtI^v^rX-BITi`z;)4<(T_M@#5jY*muJ`jmtL2IxeuEa zOnpUjJh<+-)zs^EHXZjp6YC7j#n%3%hx=xQA#bU8hr2LHP>k!(cPt=2;7O1vI@|s2KZzs-=m5g%!* z+}qpmAT6KST3SLlblRZ&J~}&$_dJx4JpJ^nQp|Fvq`I1T^sMtM1H*c$gN&}2OrE{y zWbP5SK24sKhvbZrnRcYx<271amWSF4iD&guQDRD+?Q5B<9`r2Lm0x?`QxIbuJn>oE zx8=s+o3KXzsxebuh)azUjAwR)81zhGMA$4LJu2_r_+*&$MCKgrg>=kn7{6){=mS=#SNRSIxJ-%kbgWD7)fnXxJ zkdYV3tA(z7ZE0VIUm+OtEB>H(o}oW&51X>t-D>+tTX8v!<3K`)vVka;4{fmYWYeHQ zpE^@@b4g3-hFl?iP!2{-niu(xI(PPirKORfA!wFa_>n>=C@5%XXh=u|&YT}}aBx`e zzJo9^jZaTs0HoK|)m6Cb@~g*?;r-hkc3P@+azc8}@J!SlY_Nx!Y!zo;o(4ng(rvW0 zd1A{q22K#3%*Q#to8HB>FU6qB)IpDxu=!}{AU~Bp*t1&Z2z4A%_`E=V9d)-|Qn%Rd z`@)FMJNsXYm?}m_W71~*GIsgS< zZsPV)jMR96;W4>>LuFQNGp=aA#g|Vu^&AXe=BuA77dAU9v#Ee*JxVKM4Y%Tz;! zl;e+G<5)bO#9x&vSeoN2Ojn%@wCv2!mZ9=iL03P7ST>=T4eWcC9jd>`|qc zhVj$!%>pDoWIkSu`x*>X^^ z*?QY`6u-H6aJRHY7bBQR^~%n;>Q(<3lGa#I==xs^qsm&&kTkyhx#OFzhyb~e1J9itXi#2(ow+#IL9n*tk$pB?6E zbuhex-@R39K`}7VOxzPmcyc%?fE zx3X)|2=F0m!Bm#6?d6HF(qBCCIx}|SiBS1sB1j|Fdu;~lvV@J5!L17!`qbu=V+xKw zdd?UJPh*oG&zPoEQg>HM^bDZksaRh5A$>91ce;9{O^Op$Uxpn!zA=*q&7N$s69|bl zC54ywpN#RiG!>EZI04hW4L$MXX@4ix<|fukh5y9Fj4TahlVL5~RDTpWebB&vNESfm zvvR}_9t0D6?{kgaBR2(y;vGVJ6W>fv7j*Rg1zu-K&WY+XCFhF~vLwMl?a}vmd_Gxh zl+m%3(n^mXs3gD(a#n}v!WGt>ZP9s zKpwmds|-|s;}oZ&*fc+6tx#bQ?TlR)Q(iaBMEc!2nQ7Ye(6=o^HG)xzAK69?`a8yW zE^a+Cynpur;a2~XyjAiE>vC{}C;yt^4&Loojx*KVj%Tl>6MCym&+$WR!@lT}OzyiH z>~CQiCFT0hg>D|xyKG!aD&3FE=u3xF8IESVAWgNf@(0rYu{7y}>M}*E4HoaipBVRGUyE@ylOqVVe#u_Uj*mL82y>W>~gY)0k7n&ikP#NN_e1r{a%|YY=AmG`bWVrD}g*-W_=UOzi+mE;7sy?`lI}t&-r!OqHdufp>a3VXjJ{6%{AieUptCE6`E%_#>zWz`+H(^Ey(?;jTA zicgKZTKGU+-(zH;n44G>z^*+cFArSgpNPqi`&X}5;znfmCd;v1e=M}~{BdS?q0zbO zFxePeZEE0euam@@L@B{TGJ?j(`+oleI9-XvoeZ~YhUY~L5Y-hbOz~dHnkn5#NO7Uv zPeJ+}LS;+46$Q^?zh3e5^duvKed*OeJjc~4oHHEzOJ)s6`Y(y=+An=bHn zkTK|tu|UoAJ)1hi{RBynId|9yAgk;yg_59x`Pb41|_V1I>wN zsp`$CzAMH1tF%fwwnNFUq5B5WmEzgnk!=ar^4hq^lfs6+5HQyEn-Jp>eCO`(=VG#G z<_Oqs4jIQv9PGEZ8zjvlmit)pqG|q+8?gJ(m7DiXejFb;TtLeG>td>(}+7B{Q*L?P7)%~#t9ygZvad1ti!0n-O>)dk*OSLG*Q3DN`kCT-5PY}YHoO_)V z^7?fIs%O&G&U@jm2kuRcY+(DD|Jlxzeem7PB@WLQ-}!1=!xHNdoO)`jcx-GK8CF(S zNaq{Qh)v|q>c1&p7xyrsK?Z3duuUe?$aJG?IwpNgP)>?ORvPM0qRsG zHeIB7S8=omRpwP)I6rAi>b#@}pA?nMf(v01h*z)g8hr*lYIv)ZcF0PGHXMe z=P$&%Dc>x=e_@_wTUJ&V_ZBv9bI?_xX|6w@PO5dqX*gYlcQ}x7x~FOyozKeY=%`tD z_=^CjXh-`FU{`r+8nnQH^)lj~HL-%VIc;5G@Z0Gm$3k)1?Mx2S*c-ya>==Km-t5|` z1nZZHQ=MpHGguYn!@U2O6|&B}ZqO7>o6!jN$TCUba;@>&knY*706kuy+zs#aD}U-!reNkp`Z(@OpDuvj9%LeEycN! zdti2$rYzKkADQ?q$4`}Ufo|?$9K1_8 z_!_;D1VRp1&6ZDgXC;Z3CuBL^0aW_3r}`YmlF}(#Wvu7~P)f|D@A+x|_R0t7{p>(w zATvR+>SOMui4tv1P0bm~y~D$gKsOu_gtH;pt!ISq_bDtU<6~AgRoEt?VI(Cs+34qc76o!H#Z;Q(^PYSBa zII+ZU51|U*!~%D7HZ!l$47x78N&p_x6FOEg;Cwqdz`}Nf8u^V}UST}lKSRDpu6UdN zWmKl53$ICBgc2vfvmeN(!5}*$m8bcrsNB3n*sUzA2zpQ*g5Pp7sEA?{aw;e$^ACE^Bg7G-6 zr;LjBMa2repHsVvujVwad@0d=zue8n{RLr8YG~|znwj7wz*YTXGe>qH)0Wq7+(7{u z-BT1LJEkW1Z8gV?5S%SYGS?MU4Me|H8Do;e*gvrahroKqN9|})V=K?(C+yBf!ebP; ze@KfC?aES>XAJv`)dO0Vq@)EAtGILhV)ikd->Q_MLED3@QScY(6J<|XL!Ga$VtNl@ zP>23Vv&(#w4WDB_BCj+Y5vqcMlt{{e-N)moXC(zrg=PQGc9*;O)YTS+E)U-^RlsR& zeo0tSs(X^_?D8dh?)5~y?=Z1SsEXA$WnV6G`QuWy^v`#Gw(MB+3^)YJB+UJTxzYl? zZ*sA|NiCt%#Ea?S^_Z_2TfMc!Vt0hZsOA)qLW*2{qjD|fE#o*gDLYghK9 zr$@!tzp1-XeM!*uhU%h@#R2F8a^~jSfotl4Gp#Oyek~BEh0CrDThHXXzF>c<${hEn zF=x|Hf8?ATAER5EB@S#IDs@?Kp*!uN#-r6+!j4>L1WraBTEBDlv*`D~+1;1^3cuTW zRJAHL`u6SqXX3?NYxEo6h4|Udcz9ev!s_$S)}#76cQmbzyQ91*^WWrk{r~Rm`Z_bD zJ>Cstl;~!b&xI#oZ#%uPsbX_+k2%599E z#!A2mCg7ynhmI-eeWCeX;Mq`M=mMwpY?Ls3xm8KP)j}Mn;lP=Xix)5cXAWAkXv5*z RPIo|KD4wo&^Em(j literal 0 HcmV?d00001 diff --git a/docs/codeql/images/codeql-for-visual-studio-code/quick-query-tab-swift.png b/docs/codeql/images/codeql-for-visual-studio-code/quick-query-tab-swift.png new file mode 100644 index 0000000000000000000000000000000000000000..e380f0e6eb3912a531143c8b77be62bcc1b45cf0 GIT binary patch literal 41277 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 Date: Fri, 5 May 2023 17:55:05 +0100 Subject: [PATCH 18/54] Swift: Add necessary .yml files. --- swift/ql/examples/qlpack.lock.yml | 4 ++++ swift/ql/examples/qlpack.yml | 6 ++++++ 2 files changed, 10 insertions(+) create mode 100644 swift/ql/examples/qlpack.lock.yml create mode 100644 swift/ql/examples/qlpack.yml diff --git a/swift/ql/examples/qlpack.lock.yml b/swift/ql/examples/qlpack.lock.yml new file mode 100644 index 00000000000..06dd07fc7dc --- /dev/null +++ b/swift/ql/examples/qlpack.lock.yml @@ -0,0 +1,4 @@ +--- +dependencies: {} +compiled: false +lockVersion: 1.0.0 diff --git a/swift/ql/examples/qlpack.yml b/swift/ql/examples/qlpack.yml new file mode 100644 index 00000000000..ed3c6f12bac --- /dev/null +++ b/swift/ql/examples/qlpack.yml @@ -0,0 +1,6 @@ +name: codeql/swift-examples +groups: + - swift + - examples +dependencies: + codeql/swift-all: ${workspace} From aa8aa0ba00e6244bc1081ec571f1e7a36c9fe51b Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Fri, 5 May 2023 17:58:17 +0100 Subject: [PATCH 19/54] Swift: Fix Sphinx / Docs error. --- .../codeql-language-guides/basic-query-for-swift-code.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/codeql/codeql-language-guides/basic-query-for-swift-code.rst b/docs/codeql/codeql-language-guides/basic-query-for-swift-code.rst index 41208d7e6a5..9e146513a20 100644 --- a/docs/codeql/codeql-language-guides/basic-query-for-swift-code.rst +++ b/docs/codeql/codeql-language-guides/basic-query-for-swift-code.rst @@ -1,7 +1,7 @@ .. _basic-query-for-swift-code: Basic query for Swift code -========================= +========================== Learn to write and run a simple CodeQL query using Visual Studio Code with the CodeQL extension. From 0ab894765ef599565c5b540df78ca9c48338cdab Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Fri, 5 May 2023 18:12:55 +0100 Subject: [PATCH 20/54] Swift: Fix more underline length issues. --- .../codeql-language-guides/analyzing-data-flow-in-swift.rst | 2 +- docs/codeql/codeql-language-guides/codeql-for-swift.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst index 31786637bde..feefa669732 100644 --- a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst +++ b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst @@ -212,7 +212,7 @@ The global taint tracking library uses the same configuration module as the glob select source, "Taint flow to $@.", sink, sink.toString() Predefined sources -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~ The data flow library module ``codeql.swift.dataflow.FlowSources`` contains a number of predefined sources, providing a good starting point for defining data flow and taint flow based security queries. diff --git a/docs/codeql/codeql-language-guides/codeql-for-swift.rst b/docs/codeql/codeql-language-guides/codeql-for-swift.rst index d43688921cf..5d05739829f 100644 --- a/docs/codeql/codeql-language-guides/codeql-for-swift.rst +++ b/docs/codeql/codeql-language-guides/codeql-for-swift.rst @@ -1,7 +1,7 @@ .. _codeql-for-swift: CodeQL for Swift -=============== +================ Experiment and learn how to write effective and efficient queries for CodeQL databases generated from Swift codebases. From 8079af7ed688fcbddbce19aaaf443b14e0ba1167 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Mon, 8 May 2023 10:28:10 +0200 Subject: [PATCH 21/54] Swift: add autobuild failure diagnostics --- .../create_database_utils.py | 31 +- .../diagnostics_test_utils.py | 64 +++ .../osx-only/autobuilder/failure/.gitignore | 1 + .../autobuilder/failure/diagnostics.expected | 17 + .../hello-failure.xcodeproj/project.pbxproj | 364 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../osx-only/autobuilder/failure/test.py | 5 + swift/integration-tests/runner.py | 2 + swift/logging/SwiftLogging.h | 8 +- swift/xcode-autobuilder/BUILD.bazel | 4 + swift/xcode-autobuilder/XcodeBuildLogging.h | 17 + swift/xcode-autobuilder/XcodeBuildRunner.cpp | 17 +- 13 files changed, 528 insertions(+), 17 deletions(-) create mode 100644 swift/integration-tests/diagnostics_test_utils.py create mode 100644 swift/integration-tests/osx-only/autobuilder/failure/.gitignore create mode 100644 swift/integration-tests/osx-only/autobuilder/failure/diagnostics.expected create mode 100644 swift/integration-tests/osx-only/autobuilder/failure/hello-failure.xcodeproj/project.pbxproj create mode 100644 swift/integration-tests/osx-only/autobuilder/failure/hello-failure.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 swift/integration-tests/osx-only/autobuilder/failure/hello-failure.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 swift/integration-tests/osx-only/autobuilder/failure/test.py create mode 100644 swift/xcode-autobuilder/XcodeBuildLogging.h diff --git a/swift/integration-tests/create_database_utils.py b/swift/integration-tests/create_database_utils.py index 38822fd70b4..8627f97a686 100644 --- a/swift/integration-tests/create_database_utils.py +++ b/swift/integration-tests/create_database_utils.py @@ -1,15 +1,34 @@ """ -recreation of internal `create_database_utils.py` to run the tests locally, with minimal -and swift-specialized functionality +Simplified version of internal `create_database_utils.py` used to run the tests locally, with +minimal and swift-specialized functionality +TODO unify integration testing code across the public and private repositories """ import subprocess import pathlib import sys +import shutil -def run_codeql_database_create(cmds, lang, keep_trap=True): +def runSuccessfully(cmd): + res = subprocess.run(cmd) + if res.returncode: + print("FAILED", file=sys.stderr) + print(" ", *cmd, f"(exit code {res.returncode})", file=sys.stderr) + sys.exit(res.returncode) + +def runUnsuccessfully(cmd): + res = subprocess.run(cmd) + if res.returncode == 0: + print("FAILED", file=sys.stderr) + print(" ", *cmd, f"(exit code 0, expected to fail)", file=sys.stderr) + sys.exit(1) + + +def run_codeql_database_create(cmds, lang, keep_trap=True, db=None, runFunction=runSuccessfully): + """ db parameter is here solely for compatibility with the internal test runner """ assert lang == 'swift' codeql_root = pathlib.Path(__file__).parents[2] + shutil.rmtree("db", ignore_errors=True) cmd = [ "codeql", "database", "create", "-s", ".", "-l", "swift", "--internal-use-lua-tracing", f"--search-path={codeql_root}", "--no-cleanup", @@ -19,8 +38,4 @@ def run_codeql_database_create(cmds, lang, keep_trap=True): for c in cmds: cmd += ["-c", c] cmd.append("db") - res = subprocess.run(cmd) - if res.returncode: - print("FAILED", file=sys.stderr) - print(" ", *cmd, file=sys.stderr) - sys.exit(res.returncode) + runFunction(cmd) diff --git a/swift/integration-tests/diagnostics_test_utils.py b/swift/integration-tests/diagnostics_test_utils.py new file mode 100644 index 00000000000..aa6f8df7488 --- /dev/null +++ b/swift/integration-tests/diagnostics_test_utils.py @@ -0,0 +1,64 @@ +""" +Simplified POSIX only version of internal `diagnostics_test_utils.py` used to run the tests locally +TODO unify integration testing code across the public and private repositories +""" + +import json +import pathlib +import subprocess +import os +import difflib +import sys + + +def _normalize_actual(test_dir, database_dir): + proc = subprocess.run(['codeql', 'database', 'export-diagnostics', '--format', 'raw', '--', database_dir], + stdout=subprocess.PIPE, universal_newlines=True, check=True, text=True) + data = proc.stdout.replace(str(test_dir.absolute()), "") + data = json.loads(data) + data[:] = [e for e in data if not e["source"]["id"].startswith("cli/")] + for e in data: + e.pop("timestamp") + return _normalize_json(data) + + +def _normalize_expected(test_dir): + with open(test_dir / "diagnostics.expected") as expected: + text = expected.read() + return _normalize_json(_load_concatenated_json(text)) + + +def _load_concatenated_json(text): + text = text.lstrip() + entries = [] + decoder = json.JSONDecoder() + while text: + obj, index = decoder.raw_decode(text) + entries.append(obj) + text = text[index:].lstrip() + return entries + + +def _normalize_json(data): + entries = [json.dumps(e, sort_keys=True, indent=2) for e in data] + entries.sort() + entries.append("") + return "\n".join(entries) + + +def check_diagnostics(test_dir=".", test_db="db"): + test_dir = pathlib.Path(test_dir) + test_db = pathlib.Path(test_db) + actual = _normalize_actual(test_dir, test_db) + if os.environ.get("CODEQL_INTEGRATION_TEST_LEARN") == "true": + with open(test_dir / "diagnostics.expected", "w") as expected: + expected.write(actual) + return + expected = _normalize_expected(test_dir) + if actual != expected: + with open(test_dir / "diagnostics.actual", "w") as actual_out: + actual_out.write(actual) + actual = actual.splitlines(keepends=True) + expected = expected.splitlines(keepends=True) + print("".join(difflib.unified_diff(actual, expected, fromfile="diagnostics.actual", tofile="diagnostics.expected")), file=sys.stderr) + sys.exit(1) diff --git a/swift/integration-tests/osx-only/autobuilder/failure/.gitignore b/swift/integration-tests/osx-only/autobuilder/failure/.gitignore new file mode 100644 index 00000000000..796b96d1c40 --- /dev/null +++ b/swift/integration-tests/osx-only/autobuilder/failure/.gitignore @@ -0,0 +1 @@ +/build diff --git a/swift/integration-tests/osx-only/autobuilder/failure/diagnostics.expected b/swift/integration-tests/osx-only/autobuilder/failure/diagnostics.expected new file mode 100644 index 00000000000..737e28baae1 --- /dev/null +++ b/swift/integration-tests/osx-only/autobuilder/failure/diagnostics.expected @@ -0,0 +1,17 @@ +{ + "helpLinks": [ + "https://docs.github.com/en/enterprise-server/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/customizing-code-scanning" + ], + "plaintextMessage": "The detected build command failed (tried /usr/bin/xcodebuild build -project /hello-failure.xcodeproj -target hello-failure CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO).\n\nSet up a manual build command.", + "severity": "error", + "source": { + "extractorName": "swift", + "id": "swift/autobuilder/build-command-failed", + "name": "Detected build command failed" + }, + "visibility": { + "cliSummaryTable": true, + "statusPage": true, + "telemetry": true + } +} diff --git a/swift/integration-tests/osx-only/autobuilder/failure/hello-failure.xcodeproj/project.pbxproj b/swift/integration-tests/osx-only/autobuilder/failure/hello-failure.xcodeproj/project.pbxproj new file mode 100644 index 00000000000..a7b0ee2cf7c --- /dev/null +++ b/swift/integration-tests/osx-only/autobuilder/failure/hello-failure.xcodeproj/project.pbxproj @@ -0,0 +1,364 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 56; + objects = { + +/* Begin PBXBuildFile section */ + 5700ECA72A09043B006BF37C /* hello_failureApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5700ECA62A09043B006BF37C /* hello_failureApp.swift */; }; + 5700ECA92A09043B006BF37C /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5700ECA82A09043B006BF37C /* ContentView.swift */; }; + 5700ECAB2A09043C006BF37C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5700ECAA2A09043C006BF37C /* Assets.xcassets */; }; + 5700ECAE2A09043C006BF37C /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5700ECAD2A09043C006BF37C /* Preview Assets.xcassets */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 5700ECA32A09043B006BF37C /* hello-failure.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "hello-failure.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 5700ECA62A09043B006BF37C /* hello_failureApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = hello_failureApp.swift; sourceTree = ""; }; + 5700ECA82A09043B006BF37C /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; + 5700ECAA2A09043C006BF37C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 5700ECAD2A09043C006BF37C /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 5700ECA02A09043B006BF37C /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 5700EC9A2A09043B006BF37C = { + isa = PBXGroup; + children = ( + 5700ECA52A09043B006BF37C /* hello-failure */, + 5700ECA42A09043B006BF37C /* Products */, + ); + sourceTree = ""; + }; + 5700ECA42A09043B006BF37C /* Products */ = { + isa = PBXGroup; + children = ( + 5700ECA32A09043B006BF37C /* hello-failure.app */, + ); + name = Products; + sourceTree = ""; + }; + 5700ECA52A09043B006BF37C /* hello-failure */ = { + isa = PBXGroup; + children = ( + 5700ECA62A09043B006BF37C /* hello_failureApp.swift */, + 5700ECA82A09043B006BF37C /* ContentView.swift */, + 5700ECAA2A09043C006BF37C /* Assets.xcassets */, + 5700ECAC2A09043C006BF37C /* Preview Content */, + ); + path = "hello-failure"; + sourceTree = ""; + }; + 5700ECAC2A09043C006BF37C /* Preview Content */ = { + isa = PBXGroup; + children = ( + 5700ECAD2A09043C006BF37C /* Preview Assets.xcassets */, + ); + path = "Preview Content"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 5700ECA22A09043B006BF37C /* hello-failure */ = { + isa = PBXNativeTarget; + buildConfigurationList = 5700ECB12A09043C006BF37C /* Build configuration list for PBXNativeTarget "hello-failure" */; + buildPhases = ( + 5700ECB42A090460006BF37C /* ShellScript */, + 5700EC9F2A09043B006BF37C /* Sources */, + 5700ECA02A09043B006BF37C /* Frameworks */, + 5700ECA12A09043B006BF37C /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "hello-failure"; + productName = "hello-failure"; + productReference = 5700ECA32A09043B006BF37C /* hello-failure.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 5700EC9B2A09043B006BF37C /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1430; + LastUpgradeCheck = 1430; + TargetAttributes = { + 5700ECA22A09043B006BF37C = { + CreatedOnToolsVersion = 14.3; + }; + }; + }; + buildConfigurationList = 5700EC9E2A09043B006BF37C /* Build configuration list for PBXProject "hello-failure" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 5700EC9A2A09043B006BF37C; + productRefGroup = 5700ECA42A09043B006BF37C /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 5700ECA22A09043B006BF37C /* hello-failure */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 5700ECA12A09043B006BF37C /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 5700ECAE2A09043C006BF37C /* Preview Assets.xcassets in Resources */, + 5700ECAB2A09043C006BF37C /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 5700ECB42A090460006BF37C /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "false\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 5700EC9F2A09043B006BF37C /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 5700ECA92A09043B006BF37C /* ContentView.swift in Sources */, + 5700ECA72A09043B006BF37C /* hello_failureApp.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 5700ECAF2A09043C006BF37C /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 16.4; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 5700ECB02A09043C006BF37C /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 16.4; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 5700ECB22A09043C006BF37C /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"hello-failure/Preview Content\""; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchScreen_Generation = YES; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.example.hello-failure"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 5700ECB32A09043C006BF37C /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"hello-failure/Preview Content\""; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchScreen_Generation = YES; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.example.hello-failure"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 5700EC9E2A09043B006BF37C /* Build configuration list for PBXProject "hello-failure" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 5700ECAF2A09043C006BF37C /* Debug */, + 5700ECB02A09043C006BF37C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 5700ECB12A09043C006BF37C /* Build configuration list for PBXNativeTarget "hello-failure" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 5700ECB22A09043C006BF37C /* Debug */, + 5700ECB32A09043C006BF37C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 5700EC9B2A09043B006BF37C /* Project object */; +} diff --git a/swift/integration-tests/osx-only/autobuilder/failure/hello-failure.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/swift/integration-tests/osx-only/autobuilder/failure/hello-failure.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000000..919434a6254 --- /dev/null +++ b/swift/integration-tests/osx-only/autobuilder/failure/hello-failure.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/swift/integration-tests/osx-only/autobuilder/failure/hello-failure.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/swift/integration-tests/osx-only/autobuilder/failure/hello-failure.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000000..18d981003d6 --- /dev/null +++ b/swift/integration-tests/osx-only/autobuilder/failure/hello-failure.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/swift/integration-tests/osx-only/autobuilder/failure/test.py b/swift/integration-tests/osx-only/autobuilder/failure/test.py new file mode 100644 index 00000000000..37aaa3ce344 --- /dev/null +++ b/swift/integration-tests/osx-only/autobuilder/failure/test.py @@ -0,0 +1,5 @@ +from create_database_utils import * +from diagnostics_test_utils import * + +run_codeql_database_create([], lang='swift', keep_trap=True, db=None, runFunction=runUnsuccessfully) +check_diagnostics() diff --git a/swift/integration-tests/runner.py b/swift/integration-tests/runner.py index 6abeaa050a5..bf65781cdb2 100755 --- a/swift/integration-tests/runner.py +++ b/swift/integration-tests/runner.py @@ -43,6 +43,8 @@ def skipped(test): def main(opts): test_dirs = opts.test_dir or [this_dir] tests = [t for d in test_dirs for t in d.rglob("test.py") if not skipped(t)] + if opts.learn: + os.environ["CODEQL_INTEGRATION_TEST_LEARN"] = "true" if not tests: print("No tests found", file=sys.stderr) diff --git a/swift/logging/SwiftLogging.h b/swift/logging/SwiftLogging.h index cf756c9e5a0..4a24996ad6e 100644 --- a/swift/logging/SwiftLogging.h +++ b/swift/logging/SwiftLogging.h @@ -49,10 +49,10 @@ #define DIAGNOSE_CRITICAL(ID, ...) DIAGNOSE_WITH_LEVEL(critical, ID, __VA_ARGS__) #define DIAGNOSE_ERROR(ID, ...) DIAGNOSE_WITH_LEVEL(error, ID, __VA_ARGS__) -#define DIAGNOSE_WITH_LEVEL(LEVEL, ID, ...) \ - do { \ - codeql::SwiftDiagnosticsSource::inscribe<&codeql_diagnostics::ID>(); \ - LOG_WITH_LEVEL_AND_CATEGORY(LEVEL, ID, __VA_ARGS__); \ +#define DIAGNOSE_WITH_LEVEL(LEVEL, ID, ...) \ + do { \ + codeql::SwiftDiagnosticsSource::ensureRegistered<&codeql_diagnostics::ID>(); \ + LOG_WITH_LEVEL_AND_CATEGORY(LEVEL, ID, __VA_ARGS__); \ } while (false) // avoid calling into binlog's original macros diff --git a/swift/xcode-autobuilder/BUILD.bazel b/swift/xcode-autobuilder/BUILD.bazel index 116d11cbfab..d497666f3e2 100644 --- a/swift/xcode-autobuilder/BUILD.bazel +++ b/swift/xcode-autobuilder/BUILD.bazel @@ -13,6 +13,10 @@ swift_cc_binary( "-framework CoreFoundation", ], target_compatible_with = ["@platforms//os:macos"], + deps = [ + "@absl//absl/strings", + "//swift/logging", + ], ) generate_cmake( diff --git a/swift/xcode-autobuilder/XcodeBuildLogging.h b/swift/xcode-autobuilder/XcodeBuildLogging.h new file mode 100644 index 00000000000..8dfc3111c4d --- /dev/null +++ b/swift/xcode-autobuilder/XcodeBuildLogging.h @@ -0,0 +1,17 @@ +#pragma once + +#include "swift/logging/SwiftLogging.h" + +namespace codeql { +constexpr const std::string_view programName = "autobuilder"; +} + +namespace codeql_diagnostics { +constexpr codeql::SwiftDiagnosticsSource build_command_failed{ + "build_command_failed", + "Detected build command failed", + "Set up a manual build command", + "https://docs.github.com/en/enterprise-server/code-security/code-scanning/" + "automatically-scanning-your-code-for-vulnerabilities-and-errors/customizing-code-scanning", +}; +} // namespace codeql_diagnostics diff --git a/swift/xcode-autobuilder/XcodeBuildRunner.cpp b/swift/xcode-autobuilder/XcodeBuildRunner.cpp index cbc99592d24..4c20440c3b9 100644 --- a/swift/xcode-autobuilder/XcodeBuildRunner.cpp +++ b/swift/xcode-autobuilder/XcodeBuildRunner.cpp @@ -3,6 +3,14 @@ #include #include #include +#include "absl/strings/str_join.h" + +#include "swift/xcode-autobuilder/XcodeBuildLogging.h" + +static codeql::Logger& logger() { + static codeql::Logger ret{"build"}; + return ret; +} static int waitpid_status(pid_t child) { int status; @@ -52,13 +60,12 @@ void buildTarget(Target& target, bool dryRun) { argv.push_back("CODE_SIGNING_ALLOWED=NO"); if (dryRun) { - for (auto& arg : argv) { - std::cout << arg + " "; - } - std::cout << "\n"; + std::cout << absl::StrJoin(argv, " ") << "\n"; } else { if (!exec(argv)) { - std::cerr << "Build failed\n"; + DIAGNOSE_ERROR(build_command_failed, "The detected build command failed (tried {})", + absl::StrJoin(argv, " ")); + codeql::Log::flush(); exit(1); } } From 9618c616f42e5e84641e5d7d3322517b46da92be Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Mon, 8 May 2023 15:41:13 +0100 Subject: [PATCH 22/54] Swift: Optimize the graphics. --- .../basic-swift-query-results-1.png | Bin 124871 -> 107764 bytes .../basic-swift-query-results-2.png | Bin 158046 -> 135446 bytes .../quick-query-tab-swift.png | Bin 41277 -> 34071 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/codeql/images/codeql-for-visual-studio-code/basic-swift-query-results-1.png b/docs/codeql/images/codeql-for-visual-studio-code/basic-swift-query-results-1.png index d8b55b0fc83e784d29faa849512858e960f1b9bd..3ab9607442d93d0171da2ce029dfa26f65ff64cb 100644 GIT binary patch literal 107764 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

b!T<3E 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 literal 124871 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%0A|oT)mURaSCkm&b2b+= zPS3xh;#4j9~%%pG*v& z?c}WFF{nwkT0MOl{f#sW2w2)9&5*XW?@6=SNc@q)cC30Y7dM9zjTIXSHQ&GFt3NOA zC{5@k0yy$9MY=)UurvBbCF6pitVG9( zGm*tPcK35kS|6{QJPJv#30vQy@<6kW^hcS$jx+mAm?|v4leS%_43)^JSq0ta?8Mhe zZ&}8FkC3T8Hwi)zvf*}0(YlChYUB5nrp|`?B&mYuKwMuSnsq>P^xp2%*n%4xo$-*` zofJ-pT01jF&F&j0|9E0L(B|-19n(P!ER;7DpFz9@R2N%iz^a-7!CYJ0?7jx>V0{#y z3dAZQ%X4@$tY=;Ey`d*@1HB@LE~})nFNC2c;A|_jKe$Fn4wX>oGltWmE6+5M{5F80 zxHIxgH`zSTUgw`$IDnZGGz{-IXm9X7T;D_D)SGf=CqHY%VnK-e%SLk|bZTKca&i{U zVy;jyAhnKq)}B}R-gc1)3)-wbY!pdCqvB)RWsxWu(Im51``%CtjI!Ifd!`36@@7UL z8XCUY$-Z>Y%)4aqHfcRZG2k0ShGL?DbEX&yK7g%{2h$!ual-ue*8(WT{n6_HeGbk) zY7=~G{&cCTuSd`7&*pVn|C?}S9}`Pv|C;7p2HdX_T9K_u05T3r2ne{IO^`JxT63iZ z!Njx{?|>U7B4PDjtdW|-aKSTkx8c<_J++*i*{IyjV($rR^(o$l_Yq|5U=)Ziv#4ym z@(Y|x$c zWEGMl77Jej>g4p$jN5K&4SN34l9S(&6tNi*l0(B|UF=hGpbFSQ`3zy=K=S_L#f!*k zHP9c`?~Cz7&uLW-Q$fr~Vj(2s-3m5Ah)Ylj9Ci|LN&oQ83~L5#x zpMqQuU@y+R@wL>3q5l4=j`@cDqLPvpIe%0M1J0^xiIE)h0K7N6oM||lQhEzUkq#3_ zgG_4c7dNC{Y|D$_8%D(^x8o?~5wBWZ?If#FIH$Q7y@3*|ks>(T9+N3kt|WB<eP>dRr^U~n;0uNY<3unSPzg;c>_C1I4x znz>e)QL1oD3yr<+c8D<$8P0(bR9b^5$dGQoK2%<`8Z(zx01VPwk_ku@a-idUj!IF| zE<1ftQ(}uuzbGGQ@Sz3sju!LuoBcV=eqNnc}&Bj zq70|31TMD|BsrA(`uN;eQnFp1l!*vCGwXsfYcGBGv>YE(TN!>s-CbrIl4I7%1c1+R zUlQo;5#yQE+}mzP74ckRbN0x&1xxe5v6ZVzO(IEKK#$?3o62b(<&$Udp+V2ss5p&@ zDjEwaTuPva4b9CuLb$h}lE;yn%@qDh3XfpJQzYr%wLJQJl*)7OZ+yXgcPad`uK+#p zgy}rrSOP#9nztR}9cTke0rF zHrPgG>D7ONy$A^j;b%cAFvhWm?b(AcR{bU!@a;hSJK4|t`!yC1ABkpHvcpo5v1g&u^dXdp#_U7k|sloIGz4lYc<}vNQ zP>-STTf8&|hmZK@Z1r1aS`e$`HRt@>)X@d#Q8EtmdiijspCl1 z(R*TK;ozYAHmP3{G$;6@_NO~!-i(oW3ZnY{h!@~J#JZ{^3nCwlzUfp+J9?Dm4 zfm={BPg-UoV@K?Qf1ghRgA#i=BlfK7y)t2A5`80R>Z5w1Mbz7Aw1)#S}&GX1tsq)s>@n_7pz>Iyy zbn#wDy~tr`()eOgJ`JgLkW6r5P4Qej+uaLUGxc`femJ>agQah)V!I-=KG*PXt^xlW z?pasp8vXDXn?W}q(ngoc zMhrE9?}G5fBr6^ZTfj2!G(;*fG#~4?4f+pOe{qA2mB0CI%edrP%!H-~dexF42X1jq zPOsHH52!g+*WpTvA4*FveK>)%u_Apnk`Y!5!*{o-rNJy90x}Q0-E6LKv_JyRL@)cw z1|-PlQdhqoGcnK7>%;<2z}EY`d>!8z#ySKB#-FmRhIA{)L8!4IJz|V0z=N@0#@T#@ zJYsGX=|vY&SqeV8ZZTJ(y$ZD$NUzOm??bhw-=JEg10MPjBJjuMG&B;5&L0Qldm!sh z0A{m6ES-x<)UPR$Z=%FzQByvRa~n;+tX1<~v*)a&Nuqv}6>K3vNO#oK&IQ8%mx7v}2 zdZ%6sNobrM=)`g6K{j^h{dVcevGi+{NG_Id3Ctc)q&tMKMP5;My05U@S=usJeY?1B z1C35l)xEZwwa?dZeB*0A!08GEyCmKc0}V~N^07ml?Y!Fci(#KUUUWHfYV&aCl^1mu z#13gf#tHlb)VUjK9j;3gmv@9F!Ia|sROF4ldeQG?i`vC_#Kf4-7A&~4eBK2=q#jQ$ zV7px?r`pRtK;|J4ZY4`e<0!acb_&9;gbn$#M*fM)KMB_DE7^S>Nu3_8E{@5$oZ>q(k@BP+vzgVC?kk z%ZoEky=8*E?LpgCJ9~}c;nwluQM^53$Uu7~5PS-$MKw3_uZ%tm5V^QVsM1%kX!v1B65Kf$6bi-VV(P{DqLQDI*N^s(}emu)ZGIL zs}H$Vqt5*XM}_Xz%)#Qx9@OEug7T(a)z|Vj1<;plKQYiB(9|k>3ze*vvKrsm3XApa z6}`vOq2!Zb00dqVWlOWY^b(b-3uEv#>=e5b*0#hq92;m@tX}J2W*u&AN`w}9WeQmd zoacLHn1cvGOD+{k`cf^=IQ8xIEM{hTW5ji-9jKmGIoBXQ6u0ljz2ArG_S-$#2sYzd^4)1$YHd{pH8?*J?kh4Bq`u=ve ztA~sF@(>V9Xt92>9MTKsm1?m^fBWs-`+s6sZj+0NSGOfvYY9szYr~ZVQEq@)0XD#4 zhy~1QB#h6LccMc^7IRLRrEWW{*cw7)(?osjRe(x({}Fw;ZF4U48iQ^bw(P)|7^*ld zoNTt)yratVU22~{x;_%i1Z+lXMG_=5W5+1zEe9eV_$$AaK6{GMD*pLA890ZR64nv@ zt{6XF{*gaZt3OdaLLR{{}n$S zLG{B|NJ0gwsfqtb8PsnLE_m>#fcfm9ga3s2>?yY8vVtzqwxVeMj`D$DF2-Mj zB1nn|$ssatGw}5D^Lx<`Jt!0Rob=;=rr1RQ-}8qnoQlwT?mj7!1e`Q9DuHo%^X9h7 zg|rsKU&2o?RIoo6$?xsyJ-z%-r`lhago76H^1s|1;jBj8#kOHTPbTeOq#1gQv$LIx z9b(_GP2W=bb1=q(Q~&8nM4l5ulX*9=89`5D!?`OjK=swcS{+eFMr1ZpzUeG{L(3%R zN*h5158%9B3&SLku=z5@6|+Ba=ulFwNfi}d&P|B0$Ha?3xw zA%)N1VK83*_#E;7LEs#@-k-o7vA0MP$hVw2kQf&ysB%G%{-=Ux$On*(4E;GKu!~#T z+7J4j!9vT)#01C|?{)>P5Q!|kyaZi_v=x3zZ_kZ$}NeS=`2tc>@O>mWg zAE!G0_)98(aWWwv77YKVr0HKT3%q~le7KCrIZTF)8m4dUPXoj zdfq=CBVaIrn)zQS=P$6vzjh+J{}*Ez{#9tE&iv?1@G=YB27e6N9q05 z%<$k(h8+C0(#ReMcpoy>WzFRzxLLwqAA)-+;g`7%G%LUSnfrD_VC!Ju>*0SoOl{V0 z{Gxh=>@kx6_0s=hsL1!5{2z};aKC`^{>P>KzaHBETMvyL5bU4L(fGE-V0gkJ%yIcA zC+|Pr*gyI#;7fs+{TAR||Knl^7!K1teinTo`|Fr-SLu6-|1(B@Pt*ACbKa1P|79Q% z_qVN0_#fS03U;`YUt7MP3A+DyJSP4RqqXNe{Y~-w$1`E*Z<8HAIhwE-Xa*ew}l7i{{PhR{#rinvS diff --git a/docs/codeql/images/codeql-for-visual-studio-code/basic-swift-query-results-2.png b/docs/codeql/images/codeql-for-visual-studio-code/basic-swift-query-results-2.png index 83d0414905df935ff81e046704972e7557ab67f2..b3e42e7a9548384bb09bc4d6e5cec61a999aeb7e 100644 GIT binary patch literal 135446 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 RPIo|KD4wo&^Em(j diff --git a/docs/codeql/images/codeql-for-visual-studio-code/quick-query-tab-swift.png b/docs/codeql/images/codeql-for-visual-studio-code/quick-query-tab-swift.png index e380f0e6eb3912a531143c8b77be62bcc1b45cf0..e7caf3dd438ba04b68b4442602799798d0e4a473 100644 GIT binary patch literal 34071 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�ng6!RZf4KXHy%`}nB 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 Date: Tue, 9 May 2023 09:38:46 +0200 Subject: [PATCH 23/54] Swift: fix autobuilder extern definition --- swift/xcode-autobuilder/XcodeBuildLogging.h | 4 ---- swift/xcode-autobuilder/xcode-autobuilder.cpp | 3 +++ 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/swift/xcode-autobuilder/XcodeBuildLogging.h b/swift/xcode-autobuilder/XcodeBuildLogging.h index 8dfc3111c4d..9d72b20c2d3 100644 --- a/swift/xcode-autobuilder/XcodeBuildLogging.h +++ b/swift/xcode-autobuilder/XcodeBuildLogging.h @@ -2,10 +2,6 @@ #include "swift/logging/SwiftLogging.h" -namespace codeql { -constexpr const std::string_view programName = "autobuilder"; -} - namespace codeql_diagnostics { constexpr codeql::SwiftDiagnosticsSource build_command_failed{ "build_command_failed", diff --git a/swift/xcode-autobuilder/xcode-autobuilder.cpp b/swift/xcode-autobuilder/xcode-autobuilder.cpp index 8c6650094ba..4fcdca5a38a 100644 --- a/swift/xcode-autobuilder/xcode-autobuilder.cpp +++ b/swift/xcode-autobuilder/xcode-autobuilder.cpp @@ -4,10 +4,13 @@ #include "swift/xcode-autobuilder/XcodeTarget.h" #include "swift/xcode-autobuilder/XcodeBuildRunner.h" #include "swift/xcode-autobuilder/XcodeProjectParser.h" +#include "swift/xcode-autobuilder/XcodeBuildLogging.h" static const char* Application = "com.apple.product-type.application"; static const char* Framework = "com.apple.product-type.framework"; +const std::string_view codeql::programName = "autobuilder"; + struct CLIArgs { std::string workingDir; bool dryRun; From 0d9dcb161f2d6039b1dea903b9dc6edce0453f50 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Tue, 9 May 2023 10:01:38 +0200 Subject: [PATCH 24/54] Swift: auto-flush logs at exit --- swift/extractor/main.cpp | 2 -- swift/logging/SwiftLogging.h | 2 ++ swift/xcode-autobuilder/XcodeBuildRunner.cpp | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/swift/extractor/main.cpp b/swift/extractor/main.cpp index f195193e5d7..82bc9cf1d73 100644 --- a/swift/extractor/main.cpp +++ b/swift/extractor/main.cpp @@ -227,7 +227,5 @@ int main(int argc, char** argv, char** envp) { observer.markSuccessfullyExtractedFiles(); } - codeql::Log::flush(); - return frontend_rc; } diff --git a/swift/logging/SwiftLogging.h b/swift/logging/SwiftLogging.h index 4a24996ad6e..d904a66553d 100644 --- a/swift/logging/SwiftLogging.h +++ b/swift/logging/SwiftLogging.h @@ -110,6 +110,8 @@ class Log { Level level; }; + ~Log() { flushImpl(); } + // Flush logs to the designated outputs static void flush() { instance().flushImpl(); } diff --git a/swift/xcode-autobuilder/XcodeBuildRunner.cpp b/swift/xcode-autobuilder/XcodeBuildRunner.cpp index 4c20440c3b9..675f56ab671 100644 --- a/swift/xcode-autobuilder/XcodeBuildRunner.cpp +++ b/swift/xcode-autobuilder/XcodeBuildRunner.cpp @@ -65,7 +65,6 @@ void buildTarget(Target& target, bool dryRun) { if (!exec(argv)) { DIAGNOSE_ERROR(build_command_failed, "The detected build command failed (tried {})", absl::StrJoin(argv, " ")); - codeql::Log::flush(); exit(1); } } From 08c43bc9b02e18ae948a9d4d1671c34f671fe295 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Tue, 9 May 2023 10:11:13 +0200 Subject: [PATCH 25/54] Swift: move diagnostics definition to the source file --- swift/xcode-autobuilder/XcodeBuildLogging.h | 13 ------------- swift/xcode-autobuilder/XcodeBuildRunner.cpp | 12 +++++++++++- swift/xcode-autobuilder/xcode-autobuilder.cpp | 2 +- 3 files changed, 12 insertions(+), 15 deletions(-) delete mode 100644 swift/xcode-autobuilder/XcodeBuildLogging.h diff --git a/swift/xcode-autobuilder/XcodeBuildLogging.h b/swift/xcode-autobuilder/XcodeBuildLogging.h deleted file mode 100644 index 9d72b20c2d3..00000000000 --- a/swift/xcode-autobuilder/XcodeBuildLogging.h +++ /dev/null @@ -1,13 +0,0 @@ -#pragma once - -#include "swift/logging/SwiftLogging.h" - -namespace codeql_diagnostics { -constexpr codeql::SwiftDiagnosticsSource build_command_failed{ - "build_command_failed", - "Detected build command failed", - "Set up a manual build command", - "https://docs.github.com/en/enterprise-server/code-security/code-scanning/" - "automatically-scanning-your-code-for-vulnerabilities-and-errors/customizing-code-scanning", -}; -} // namespace codeql_diagnostics diff --git a/swift/xcode-autobuilder/XcodeBuildRunner.cpp b/swift/xcode-autobuilder/XcodeBuildRunner.cpp index 675f56ab671..4cdc6b500dc 100644 --- a/swift/xcode-autobuilder/XcodeBuildRunner.cpp +++ b/swift/xcode-autobuilder/XcodeBuildRunner.cpp @@ -5,7 +5,17 @@ #include #include "absl/strings/str_join.h" -#include "swift/xcode-autobuilder/XcodeBuildLogging.h" +#include "swift/logging/SwiftLogging.h" + +namespace codeql_diagnostics { +constexpr codeql::SwiftDiagnosticsSource build_command_failed{ + "build_command_failed", + "Detected build command failed", + "Set up a manual build command", + "https://docs.github.com/en/enterprise-server/code-security/code-scanning/" + "automatically-scanning-your-code-for-vulnerabilities-and-errors/customizing-code-scanning", +}; +} static codeql::Logger& logger() { static codeql::Logger ret{"build"}; diff --git a/swift/xcode-autobuilder/xcode-autobuilder.cpp b/swift/xcode-autobuilder/xcode-autobuilder.cpp index 4fcdca5a38a..ca6dbe5dcac 100644 --- a/swift/xcode-autobuilder/xcode-autobuilder.cpp +++ b/swift/xcode-autobuilder/xcode-autobuilder.cpp @@ -4,7 +4,7 @@ #include "swift/xcode-autobuilder/XcodeTarget.h" #include "swift/xcode-autobuilder/XcodeBuildRunner.h" #include "swift/xcode-autobuilder/XcodeProjectParser.h" -#include "swift/xcode-autobuilder/XcodeBuildLogging.h" +#include "swift/logging/SwiftLogging.h" static const char* Application = "com.apple.product-type.application"; static const char* Framework = "com.apple.product-type.framework"; From e17a8d03ab8e2b870249e21ff8cf1a585f111893 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Tue, 9 May 2023 10:13:42 +0200 Subject: [PATCH 26/54] Swift: add diagnostic for no project found --- .../no-build-system/diagnostics.expected | 17 ++++++++++++++ .../autobuilder/no-build-system/test.py | 5 ++++ .../autobuilder/no-build-system/x.swift | 0 .../xcode-autobuilder/XcodeProjectParser.cpp | 23 ++++++++++++++++--- 4 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 swift/integration-tests/osx-only/autobuilder/no-build-system/diagnostics.expected create mode 100644 swift/integration-tests/osx-only/autobuilder/no-build-system/test.py create mode 100644 swift/integration-tests/osx-only/autobuilder/no-build-system/x.swift diff --git a/swift/integration-tests/osx-only/autobuilder/no-build-system/diagnostics.expected b/swift/integration-tests/osx-only/autobuilder/no-build-system/diagnostics.expected new file mode 100644 index 00000000000..9b0d377ed27 --- /dev/null +++ b/swift/integration-tests/osx-only/autobuilder/no-build-system/diagnostics.expected @@ -0,0 +1,17 @@ +{ + "helpLinks": [ + "https://docs.github.com/en/enterprise-server/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/customizing-code-scanning" + ], + "plaintextMessage": "No Xcode project or workspace was found.\n\nSet up a manual build command.", + "severity": "error", + "source": { + "extractorName": "swift", + "id": "swift/autobuilder/no-project-found", + "name": "No Xcode project or workspace detected" + }, + "visibility": { + "cliSummaryTable": true, + "statusPage": true, + "telemetry": true + } +} diff --git a/swift/integration-tests/osx-only/autobuilder/no-build-system/test.py b/swift/integration-tests/osx-only/autobuilder/no-build-system/test.py new file mode 100644 index 00000000000..37aaa3ce344 --- /dev/null +++ b/swift/integration-tests/osx-only/autobuilder/no-build-system/test.py @@ -0,0 +1,5 @@ +from create_database_utils import * +from diagnostics_test_utils import * + +run_codeql_database_create([], lang='swift', keep_trap=True, db=None, runFunction=runUnsuccessfully) +check_diagnostics() diff --git a/swift/integration-tests/osx-only/autobuilder/no-build-system/x.swift b/swift/integration-tests/osx-only/autobuilder/no-build-system/x.swift new file mode 100644 index 00000000000..e69de29bb2d diff --git a/swift/xcode-autobuilder/XcodeProjectParser.cpp b/swift/xcode-autobuilder/XcodeProjectParser.cpp index 5fb20ad625a..36f1361bfca 100644 --- a/swift/xcode-autobuilder/XcodeProjectParser.cpp +++ b/swift/xcode-autobuilder/XcodeProjectParser.cpp @@ -1,6 +1,4 @@ #include "swift/xcode-autobuilder/XcodeProjectParser.h" -#include "swift/xcode-autobuilder/XcodeWorkspaceParser.h" -#include "swift/xcode-autobuilder/CFHelpers.h" #include #include @@ -9,8 +7,27 @@ #include #include +#include "swift/xcode-autobuilder/XcodeWorkspaceParser.h" +#include "swift/xcode-autobuilder/CFHelpers.h" +#include "swift/logging/SwiftLogging.h" + +namespace codeql_diagnostics { +constexpr codeql::SwiftDiagnosticsSource no_project_found{ + "no_project_found", + "No Xcode project or workspace detected", + "Set up a manual build command", + "https://docs.github.com/en/enterprise-server/code-security/code-scanning/" + "automatically-scanning-your-code-for-vulnerabilities-and-errors/customizing-code-scanning", +}; +} // namespace codeql_diagnostics + namespace fs = std::filesystem; +static codeql::Logger& logger() { + static codeql::Logger ret{"project"}; + return ret; +} + struct TargetData { std::string workspace; std::string project; @@ -253,7 +270,7 @@ std::vector collectTargets(const std::string& workingDir) { // Getting a list of workspaces and the project that belong to them auto workspaces = collectWorkspaces(workingDir); if (workspaces.empty()) { - std::cerr << "[xcode autobuilder] Xcode project or workspace not found\n"; + DIAGNOSE_ERROR(no_project_found, "No Xcode project or workspace was found"); exit(1); } From 8f26c7e2d22d5237a5390f045274263d65c6c7f4 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Tue, 9 May 2023 10:52:26 +0200 Subject: [PATCH 27/54] Swift: add one more help link to diagnostics --- .../autobuilder/failure/diagnostics.expected | 3 ++- .../autobuilder/no-build-system/diagnostics.expected | 3 ++- .../xcode-autobuilder/CustomizingBuildDiagnostics.h | 12 ++++++++++++ swift/xcode-autobuilder/XcodeBuildRunner.cpp | 9 +++------ swift/xcode-autobuilder/XcodeProjectParser.cpp | 9 +++------ 5 files changed, 22 insertions(+), 14 deletions(-) create mode 100644 swift/xcode-autobuilder/CustomizingBuildDiagnostics.h diff --git a/swift/integration-tests/osx-only/autobuilder/failure/diagnostics.expected b/swift/integration-tests/osx-only/autobuilder/failure/diagnostics.expected index 737e28baae1..fdb36dc401b 100644 --- a/swift/integration-tests/osx-only/autobuilder/failure/diagnostics.expected +++ b/swift/integration-tests/osx-only/autobuilder/failure/diagnostics.expected @@ -1,6 +1,7 @@ { "helpLinks": [ - "https://docs.github.com/en/enterprise-server/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/customizing-code-scanning" + "https://docs.github.com/en/enterprise-server/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/customizing-code-scanning", + "https://docs.github.com/en/enterprise-server/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages#adding-build-steps-for-a-compiled-language" ], "plaintextMessage": "The detected build command failed (tried /usr/bin/xcodebuild build -project /hello-failure.xcodeproj -target hello-failure CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO).\n\nSet up a manual build command.", "severity": "error", diff --git a/swift/integration-tests/osx-only/autobuilder/no-build-system/diagnostics.expected b/swift/integration-tests/osx-only/autobuilder/no-build-system/diagnostics.expected index 9b0d377ed27..1e988936c9a 100644 --- a/swift/integration-tests/osx-only/autobuilder/no-build-system/diagnostics.expected +++ b/swift/integration-tests/osx-only/autobuilder/no-build-system/diagnostics.expected @@ -1,6 +1,7 @@ { "helpLinks": [ - "https://docs.github.com/en/enterprise-server/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/customizing-code-scanning" + "https://docs.github.com/en/enterprise-server/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/customizing-code-scanning", + "https://docs.github.com/en/enterprise-server/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages#adding-build-steps-for-a-compiled-language" ], "plaintextMessage": "No Xcode project or workspace was found.\n\nSet up a manual build command.", "severity": "error", diff --git a/swift/xcode-autobuilder/CustomizingBuildDiagnostics.h b/swift/xcode-autobuilder/CustomizingBuildDiagnostics.h new file mode 100644 index 00000000000..7920e4a62ca --- /dev/null +++ b/swift/xcode-autobuilder/CustomizingBuildDiagnostics.h @@ -0,0 +1,12 @@ +#include + +namespace codeql_diagnostics { +constexpr std::string_view customizingBuildAction = "Set up a manual build command"; +constexpr std::string_view customizingBuildHelpLinks = + "https://docs.github.com/en/enterprise-server/code-security/code-scanning/" + "automatically-scanning-your-code-for-vulnerabilities-and-errors/customizing-code-scanning " + "https://docs.github.com/en/enterprise-server/code-security/code-scanning/" + "automatically-scanning-your-code-for-vulnerabilities-and-errors/" + "configuring-the-codeql-workflow-for-compiled-languages#adding-build-steps-for-a-compiled-" + "language"; +} // namespace codeql_diagnostics diff --git a/swift/xcode-autobuilder/XcodeBuildRunner.cpp b/swift/xcode-autobuilder/XcodeBuildRunner.cpp index 4cdc6b500dc..4bbb269f3ae 100644 --- a/swift/xcode-autobuilder/XcodeBuildRunner.cpp +++ b/swift/xcode-autobuilder/XcodeBuildRunner.cpp @@ -6,15 +6,12 @@ #include "absl/strings/str_join.h" #include "swift/logging/SwiftLogging.h" +#include "swift/xcode-autobuilder/CustomizingBuildDiagnostics.h" namespace codeql_diagnostics { constexpr codeql::SwiftDiagnosticsSource build_command_failed{ - "build_command_failed", - "Detected build command failed", - "Set up a manual build command", - "https://docs.github.com/en/enterprise-server/code-security/code-scanning/" - "automatically-scanning-your-code-for-vulnerabilities-and-errors/customizing-code-scanning", -}; + "build_command_failed", "Detected build command failed", customizingBuildAction, + customizingBuildHelpLinks}; } static codeql::Logger& logger() { diff --git a/swift/xcode-autobuilder/XcodeProjectParser.cpp b/swift/xcode-autobuilder/XcodeProjectParser.cpp index 36f1361bfca..9ace4b43696 100644 --- a/swift/xcode-autobuilder/XcodeProjectParser.cpp +++ b/swift/xcode-autobuilder/XcodeProjectParser.cpp @@ -10,15 +10,12 @@ #include "swift/xcode-autobuilder/XcodeWorkspaceParser.h" #include "swift/xcode-autobuilder/CFHelpers.h" #include "swift/logging/SwiftLogging.h" +#include "swift/xcode-autobuilder/CustomizingBuildDiagnostics.h" namespace codeql_diagnostics { constexpr codeql::SwiftDiagnosticsSource no_project_found{ - "no_project_found", - "No Xcode project or workspace detected", - "Set up a manual build command", - "https://docs.github.com/en/enterprise-server/code-security/code-scanning/" - "automatically-scanning-your-code-for-vulnerabilities-and-errors/customizing-code-scanning", -}; + "no_project_found", "No Xcode project or workspace detected", customizingBuildAction, + customizingBuildHelpLinks}; } // namespace codeql_diagnostics namespace fs = std::filesystem; From fc40673982cbd58b954898c8c4f30755e04ca168 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Fri, 5 May 2023 13:58:47 +0100 Subject: [PATCH 28/54] Swift: Add Swift to supported-frameworks.rst --- .../codeql/reusables/supported-frameworks.rst | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/docs/codeql/reusables/supported-frameworks.rst b/docs/codeql/reusables/supported-frameworks.rst index cd1112a6e0c..468e83eed6f 100644 --- a/docs/codeql/reusables/supported-frameworks.rst +++ b/docs/codeql/reusables/supported-frameworks.rst @@ -278,3 +278,32 @@ and the CodeQL library pack ``codeql/ruby-all`` (`changelog `__, `source `__) +and the CodeQL library pack ``codeql/swift-all`` (`changelog `__, `source `__). + +.. csv-table:: + :header-rows: 1 + :class: fullWidthTable + :widths: auto + + Name, Category + `AEXML <>`__, XML processing library + `Alamofire `__, Network communicator + `Core Data `__, Database + `CryptoKit `__, Cryptography library + `CryptoSwift `__, Cryptography library + `Foundation `__, Utility library + `GRDB `__, Database + `JavaScriptCore `__, Scripting library + `Libxml2 `__, XML processing library + `Network `__, Network communicator + `Realm Swift `__, Database + `RNCryptor `__, Cryptography library + `SQLite3 `__, Database + `SQLite.swift `__, Database + `WebKit `__, User interface library From 0d1df816674092bd414c80da5b2c1647017ee153 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Tue, 9 May 2023 09:35:08 +0100 Subject: [PATCH 29/54] Swift: Update supported-versions-compilers.rst --- docs/codeql/reusables/supported-versions-compilers.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/codeql/reusables/supported-versions-compilers.rst b/docs/codeql/reusables/supported-versions-compilers.rst index 04bc890c707..34d02f23fd7 100644 --- a/docs/codeql/reusables/supported-versions-compilers.rst +++ b/docs/codeql/reusables/supported-versions-compilers.rst @@ -24,6 +24,7 @@ JavaScript,ECMAScript 2022 or lower,Not applicable,"``.js``, ``.jsx``, ``.mjs``, ``.es``, ``.es6``, ``.htm``, ``.html``, ``.xhtm``, ``.xhtml``, ``.vue``, ``.hbs``, ``.ejs``, ``.njk``, ``.json``, ``.yaml``, ``.yml``, ``.raml``, ``.xml`` [7]_" Python [8]_,"2.7, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11",Not applicable,``.py`` Ruby [9]_,"up to 3.2",Not applicable,"``.rb``, ``.erb``, ``.gemspec``, ``Gemfile``" + Swift,"Swift 5.4-5.7","Swift compiler","``.swift``" TypeScript [10]_,"2.6-5.0",Standard TypeScript compiler,"``.ts``, ``.tsx``, ``.mts``, ``.cts``" .. container:: footnote-group From d278340f942aa37f7ac0b26c1616e8450af67bd8 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Tue, 9 May 2023 10:55:17 +0100 Subject: [PATCH 30/54] Swift: Add missing link. --- docs/codeql/reusables/supported-frameworks.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/codeql/reusables/supported-frameworks.rst b/docs/codeql/reusables/supported-frameworks.rst index 468e83eed6f..6981bb35ed5 100644 --- a/docs/codeql/reusables/supported-frameworks.rst +++ b/docs/codeql/reusables/supported-frameworks.rst @@ -292,7 +292,7 @@ and the CodeQL library pack ``codeql/swift-all`` (`changelog `__, XML processing library + `AEXML `__, XML processing library `Alamofire `__, Network communicator `Core Data `__, Database `CryptoKit `__, Cryptography library From 2904aa843987b48c4f274d065b7d9df4882cd7ec Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Tue, 9 May 2023 13:08:28 +0200 Subject: [PATCH 31/54] Revert "Swift: auto-flush logs at exit" This reverts commit 0d9dcb161f2d6039b1dea903b9dc6edce0453f50. This turns out to introduce a subtle bug related to destruction order between `Log::instance()` and the `Logger` instances. --- swift/extractor/main.cpp | 2 ++ swift/logging/SwiftLogging.h | 2 -- swift/xcode-autobuilder/XcodeBuildRunner.cpp | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/swift/extractor/main.cpp b/swift/extractor/main.cpp index 82bc9cf1d73..f195193e5d7 100644 --- a/swift/extractor/main.cpp +++ b/swift/extractor/main.cpp @@ -227,5 +227,7 @@ int main(int argc, char** argv, char** envp) { observer.markSuccessfullyExtractedFiles(); } + codeql::Log::flush(); + return frontend_rc; } diff --git a/swift/logging/SwiftLogging.h b/swift/logging/SwiftLogging.h index d904a66553d..4a24996ad6e 100644 --- a/swift/logging/SwiftLogging.h +++ b/swift/logging/SwiftLogging.h @@ -110,8 +110,6 @@ class Log { Level level; }; - ~Log() { flushImpl(); } - // Flush logs to the designated outputs static void flush() { instance().flushImpl(); } diff --git a/swift/xcode-autobuilder/XcodeBuildRunner.cpp b/swift/xcode-autobuilder/XcodeBuildRunner.cpp index 4bbb269f3ae..d6e14155052 100644 --- a/swift/xcode-autobuilder/XcodeBuildRunner.cpp +++ b/swift/xcode-autobuilder/XcodeBuildRunner.cpp @@ -72,6 +72,7 @@ void buildTarget(Target& target, bool dryRun) { if (!exec(argv)) { DIAGNOSE_ERROR(build_command_failed, "The detected build command failed (tried {})", absl::StrJoin(argv, " ")); + codeql::Log::flush(); exit(1); } } From ca94b20284d273e7ece804f6e120c0418c2ca15b Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Tue, 9 May 2023 13:58:32 +0200 Subject: [PATCH 32/54] Swift: auto-flush logs on errors --- swift/logging/SwiftLogging.cpp | 3 +++ swift/logging/SwiftLogging.h | 34 +++++++++++++++++++++------------- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/swift/logging/SwiftLogging.cpp b/swift/logging/SwiftLogging.cpp index 4f3e3607f2b..37effd7ff9a 100644 --- a/swift/logging/SwiftLogging.cpp +++ b/swift/logging/SwiftLogging.cpp @@ -10,6 +10,8 @@ BINLOG_ADAPT_ENUM(codeql::Log::Level, trace, debug, info, warning, error, critic namespace codeql { +bool Log::initialized{false}; + namespace { using LevelRule = std::pair; using LevelRules = std::vector; @@ -149,6 +151,7 @@ void Log::configure() { } LOG_INFO("Logging configured (binary: {}, text: {}, console: {})", binary.level, text.level, console.level); + initialized = true; flushImpl(); } diff --git a/swift/logging/SwiftLogging.h b/swift/logging/SwiftLogging.h index 4a24996ad6e..8b41c05ca18 100644 --- a/swift/logging/SwiftLogging.h +++ b/swift/logging/SwiftLogging.h @@ -32,14 +32,17 @@ // only do the actual logging if the picked up `Logger` instance is configured to handle the // provided log level. `LEVEL` must be a compile-time constant. `logger()` is evaluated once -#define LOG_WITH_LEVEL_AND_CATEGORY(LEVEL, CATEGORY, ...) \ - do { \ - constexpr codeql::Log::Level _level = codeql::Log::Level::LEVEL; \ - codeql::Logger& _logger = logger(); \ - if (_level >= _logger.level()) { \ - BINLOG_CREATE_SOURCE_AND_EVENT(_logger.writer(), _level, CATEGORY, binlog::clockNow(), \ - __VA_ARGS__); \ - } \ +#define LOG_WITH_LEVEL_AND_CATEGORY(LEVEL, CATEGORY, ...) \ + do { \ + constexpr codeql::Log::Level _level = ::codeql::Log::Level::LEVEL; \ + ::codeql::Logger& _logger = logger(); \ + if (_level >= _logger.level()) { \ + BINLOG_CREATE_SOURCE_AND_EVENT(_logger.writer(), _level, CATEGORY, ::binlog::clockNow(), \ + __VA_ARGS__); \ + } \ + if (_level >= ::codeql::Log::Level::error) { \ + ::codeql::Log::flush(); \ + } \ } while (false) #define LOG_WITH_LEVEL(LEVEL, ...) LOG_WITH_LEVEL_AND_CATEGORY(LEVEL, , __VA_ARGS__) @@ -49,10 +52,10 @@ #define DIAGNOSE_CRITICAL(ID, ...) DIAGNOSE_WITH_LEVEL(critical, ID, __VA_ARGS__) #define DIAGNOSE_ERROR(ID, ...) DIAGNOSE_WITH_LEVEL(error, ID, __VA_ARGS__) -#define DIAGNOSE_WITH_LEVEL(LEVEL, ID, ...) \ - do { \ - codeql::SwiftDiagnosticsSource::ensureRegistered<&codeql_diagnostics::ID>(); \ - LOG_WITH_LEVEL_AND_CATEGORY(LEVEL, ID, __VA_ARGS__); \ +#define DIAGNOSE_WITH_LEVEL(LEVEL, ID, ...) \ + do { \ + ::codeql::SwiftDiagnosticsSource::ensureRegistered<&::codeql_diagnostics::ID>(); \ + LOG_WITH_LEVEL_AND_CATEGORY(LEVEL, ID, __VA_ARGS__); \ } while (false) // avoid calling into binlog's original macros @@ -111,7 +114,11 @@ class Log { }; // Flush logs to the designated outputs - static void flush() { instance().flushImpl(); } + static void flush() { + if (initialized) { + instance().flushImpl(); + } + } // create `Logger` configuration, used internally by `Logger`'s constructor static LoggerConfiguration getLoggerConfiguration(std::string_view name) { @@ -120,6 +127,7 @@ class Log { private: static constexpr const char* format = "%u %S [%n] %m (%G:%L)\n"; + static bool initialized; Log() { configure(); } From 84c017083f674efb0ac705cdd93316b065843a9b Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Tue, 9 May 2023 13:59:39 +0200 Subject: [PATCH 33/54] Swift: add configuration of diagnostics logs --- swift/README.md | 2 +- swift/logging/SwiftDiagnostics.h | 2 ++ swift/logging/SwiftLogging.cpp | 24 ++++++++++++++++-------- swift/logging/SwiftLogging.h | 2 +- 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/swift/README.md b/swift/README.md index bbf0ef30dc6..b16d5efe360 100644 --- a/swift/README.md +++ b/swift/README.md @@ -52,7 +52,7 @@ A log file is produced for each run under `CODEQL_EXTRACTOR_SWIFT_LOG_DIR` (the You can use the environment variable `CODEQL_EXTRACTOR_SWIFT_LOG_LEVELS` to configure levels for loggers and outputs. This must have the form of a comma separated `spec:min_level` list, where `spec` is either a glob pattern (made up of alphanumeric, `/`, `*` and `.` characters) for -matching logger names or one of `out:bin`, `out:text` or `out:console`, and `min_level` is one +matching logger names or one of `out:binary`, `out:text`, `out:console` or `out:diagnostics`, and `min_level` is one of `trace`, `debug`, `info`, `warning`, `error`, `critical` or `no_logs` to turn logs completely off. Current output default levels are no binary logs, `info` logs or higher in the text file and `warning` logs or higher on diff --git a/swift/logging/SwiftDiagnostics.h b/swift/logging/SwiftDiagnostics.h index 95c6cb85e5a..81d7f170ff3 100644 --- a/swift/logging/SwiftDiagnostics.h +++ b/swift/logging/SwiftDiagnostics.h @@ -67,6 +67,8 @@ class SwiftDiagnosticsDumper { return output.good(); } + void flush() { output.flush(); } + // write out binlog entries as corresponding JSON diagnostics entries. Expects all entries to have // a category equal to an id of a previously created SwiftDiagnosticSource. void write(const char* buffer, std::size_t bufferSize); diff --git a/swift/logging/SwiftLogging.cpp b/swift/logging/SwiftLogging.cpp index 37effd7ff9a..f742a63e25f 100644 --- a/swift/logging/SwiftLogging.cpp +++ b/swift/logging/SwiftLogging.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #define LEVEL_REGEX_PATTERN "trace|debug|info|warning|error|critical|no_logs" @@ -57,8 +58,8 @@ std::vector Log::collectLevelRulesAndReturnProblems(const char* env if (auto levels = getEnvOr(envVar, nullptr)) { // expect comma-separated : std::regex comma{","}; - std::regex levelAssignment{R"((?:([*./\w]+)|(?:out:(bin|text|console))):()" LEVEL_REGEX_PATTERN - ")"}; + std::regex levelAssignment{ + R"((?:([*./\w]+)|(?:out:(binary|text|console|diagnostics))):()" LEVEL_REGEX_PATTERN ")"}; std::cregex_token_iterator begin{levels, levels + strlen(levels), comma, -1}; std::cregex_token_iterator end{}; for (auto it = begin; it != end; ++it) { @@ -76,12 +77,14 @@ std::vector Log::collectLevelRulesAndReturnProblems(const char* env sourceRules.emplace_back(pattern, level); } else { auto out = matchToView(match[2]); - if (out == "bin") { + if (out == "binary") { binary.level = level; } else if (out == "text") { text.level = level; } else if (out == "console") { console.level = level; + } else if (out == "diagnostics") { + diagnostics.level = level; } } } else { @@ -95,12 +98,14 @@ std::vector Log::collectLevelRulesAndReturnProblems(const char* env void Log::configure() { // as we are configuring logging right now, we collect problems and log them at the end auto problems = collectLevelRulesAndReturnProblems("CODEQL_EXTRACTOR_SWIFT_LOG_LEVELS"); - auto now = std::to_string(std::chrono::system_clock::now().time_since_epoch().count()); + auto logBaseName = std::to_string(std::chrono::system_clock::now().time_since_epoch().count()); + logBaseName += '-'; + logBaseName += std::to_string(getpid()); if (text || binary) { std::filesystem::path logFile = getEnvOr("CODEQL_EXTRACTOR_SWIFT_LOG_DIR", "extractor-out/log"); logFile /= "swift"; logFile /= programName; - logFile /= now; + logFile /= logBaseName; std::error_code ec; std::filesystem::create_directories(logFile.parent_path(), ec); if (!ec) { @@ -130,7 +135,7 @@ void Log::configure() { std::filesystem::path diagFile = getEnvOr("CODEQL_EXTRACTOR_SWIFT_DIAGNOSTIC_DIR", "extractor-out/diagnostics"); diagFile /= programName; - diagFile /= now; + diagFile /= logBaseName; diagFile.replace_extension(".jsonl"); std::error_code ec; std::filesystem::create_directories(diagFile.parent_path(), ec); @@ -149,8 +154,8 @@ void Log::configure() { for (const auto& problem : problems) { LOG_ERROR("{}", problem); } - LOG_INFO("Logging configured (binary: {}, text: {}, console: {})", binary.level, text.level, - console.level); + LOG_INFO("Logging configured (binary: {}, text: {}, console: {}, diagnostics: {})", binary.level, + text.level, console.level, diagnostics.level); initialized = true; flushImpl(); } @@ -163,6 +168,9 @@ void Log::flushImpl() { if (binary) { binary.output.flush(); } + if (diagnostics) { + diagnostics.output.flush(); + } } Log::LoggerConfiguration Log::getLoggerConfigurationImpl(std::string_view name) { diff --git a/swift/logging/SwiftLogging.h b/swift/logging/SwiftLogging.h index 8b41c05ca18..e07b46e245d 100644 --- a/swift/logging/SwiftLogging.h +++ b/swift/logging/SwiftLogging.h @@ -99,7 +99,7 @@ extern const std::string_view programName; // * using environment variable `CODEQL_EXTRACTOR_SWIFT_LOG_LEVELS` to configure levels for // loggers and outputs. This must have the form of a comma separated `spec:level` list, where // `spec` is either a glob pattern (made up of alphanumeric, `/`, `*` and `.` characters) for -// matching logger names or one of `out:bin`, `out:text` or `out:console`. +// matching logger names or one of `out:binary`, `out:text`, `out:console` or `out:diagnostics`. // Output default levels can be seen in the corresponding initializers below. By default, all // loggers are configured with the lowest output level class Log { From ec3c63a2b3e46f8ba96f0189706c890d91673af4 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Wed, 10 May 2023 07:03:06 +0200 Subject: [PATCH 34/54] Swift: replace all usages of `std::to_string` with `absl::StrCat` or `absl::StrAppend` --- swift/extractor/infra/SwiftDispatcher.h | 3 ++- swift/extractor/infra/SwiftMangledName.cpp | 7 +++---- swift/extractor/main.cpp | 3 ++- swift/extractor/trap/TrapDomain.h | 3 ++- swift/logging/SwiftLogging.cpp | 6 +++--- 5 files changed, 12 insertions(+), 10 deletions(-) diff --git a/swift/extractor/infra/SwiftDispatcher.h b/swift/extractor/infra/SwiftDispatcher.h index 33b0614e435..7a1548c4f53 100644 --- a/swift/extractor/infra/SwiftDispatcher.h +++ b/swift/extractor/infra/SwiftDispatcher.h @@ -5,6 +5,7 @@ #include #include #include +#include "absl/strings/str_cat.h" #include "swift/extractor/trap/TrapDomain.h" #include "swift/extractor/infra/SwiftTagTraits.h" @@ -83,7 +84,7 @@ class SwiftDispatcher { valid = false; } LOG_ERROR("{} has undefined field {}{}, {}", entry.NAME, field, - index >= 0 ? ('[' + std::to_string(index) + ']') : "", action); + index >= 0 ? absl::StrCat("[", index, "]") : "", action); } }); if (valid) { diff --git a/swift/extractor/infra/SwiftMangledName.cpp b/swift/extractor/infra/SwiftMangledName.cpp index 83bf2ff5708..d4c88c3d314 100644 --- a/swift/extractor/infra/SwiftMangledName.cpp +++ b/swift/extractor/infra/SwiftMangledName.cpp @@ -1,4 +1,5 @@ #include "swift/extractor/infra/SwiftMangledName.h" +#include "absl/strings/str_cat.h" namespace codeql { @@ -8,13 +9,11 @@ void appendPart(std::string& out, const std::string& prefix) { } void appendPart(std::string& out, UntypedTrapLabel label) { - out += '{'; - out += label.str(); - out += '}'; + absl::StrAppend(&out, "{", label.str(), "}"); } void appendPart(std::string& out, unsigned index) { - out += std::to_string(index); + absl::StrAppend(&out, index); } } // namespace diff --git a/swift/extractor/main.cpp b/swift/extractor/main.cpp index f195193e5d7..de8a0d3f5e5 100644 --- a/swift/extractor/main.cpp +++ b/swift/extractor/main.cpp @@ -10,6 +10,7 @@ #include #include "absl/strings/str_join.h" +#include "absl/strings/str_cat.h" #include "swift/extractor/SwiftExtractor.h" #include "swift/extractor/infra/TargetDomains.h" @@ -166,7 +167,7 @@ static void checkWhetherToRunUnderTool(int argc, char* const* argv) { // compilations, diagnostics, etc. codeql::TrapDomain invocationTrapDomain(codeql::SwiftExtractorState& state) { auto timestamp = std::chrono::system_clock::now().time_since_epoch().count(); - auto filename = std::to_string(timestamp) + '-' + std::to_string(getpid()); + auto filename = absl::StrCat(timestamp, "-", getpid()); auto target = std::filesystem::path("invocations") / std::filesystem::path(filename); auto maybeDomain = codeql::createTargetTrapDomain(state, target, codeql::TrapType::invocation); CODEQL_ASSERT(maybeDomain, "Cannot create invocation trap file for {}", target); diff --git a/swift/extractor/trap/TrapDomain.h b/swift/extractor/trap/TrapDomain.h index 2ca5efa113d..5741597d756 100644 --- a/swift/extractor/trap/TrapDomain.h +++ b/swift/extractor/trap/TrapDomain.h @@ -2,6 +2,7 @@ #include #include +#include "absl/strings/str_cat.h" #include "swift/extractor/trap/TrapLabel.h" #include "swift/extractor/infra/file/TargetFile.h" @@ -27,7 +28,7 @@ class TrapDomain { e.forEachLabel([&e, this](const char* field, int index, auto& label) { if (!label.valid()) { LOG_ERROR("{} has undefined field {}{}", e.NAME, field, - index >= 0 ? ('[' + std::to_string(index) + ']') : ""); + index >= 0 ? absl::StrCat("[", index, "]") : ""); } }); } diff --git a/swift/logging/SwiftLogging.cpp b/swift/logging/SwiftLogging.cpp index f742a63e25f..e13ab461a1d 100644 --- a/swift/logging/SwiftLogging.cpp +++ b/swift/logging/SwiftLogging.cpp @@ -4,6 +4,7 @@ #include #include #include +#include "absl/strings/str_cat.h" #define LEVEL_REGEX_PATTERN "trace|debug|info|warning|error|critical|no_logs" @@ -98,9 +99,8 @@ std::vector Log::collectLevelRulesAndReturnProblems(const char* env void Log::configure() { // as we are configuring logging right now, we collect problems and log them at the end auto problems = collectLevelRulesAndReturnProblems("CODEQL_EXTRACTOR_SWIFT_LOG_LEVELS"); - auto logBaseName = std::to_string(std::chrono::system_clock::now().time_since_epoch().count()); - logBaseName += '-'; - logBaseName += std::to_string(getpid()); + auto timestamp = std::chrono::system_clock::now().time_since_epoch().count(); + auto logBaseName = absl::StrCat(timestamp, "-", getpid()); if (text || binary) { std::filesystem::path logFile = getEnvOr("CODEQL_EXTRACTOR_SWIFT_LOG_DIR", "extractor-out/log"); logFile /= "swift"; From c677c04c0c868578a4f3f557bb0e72f2364debd4 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Wed, 10 May 2023 07:03:53 +0200 Subject: [PATCH 35/54] Swift: fix wrong `if (diagnostics)` block placement --- swift/logging/SwiftLogging.cpp | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/swift/logging/SwiftLogging.cpp b/swift/logging/SwiftLogging.cpp index e13ab461a1d..2cea555e0c8 100644 --- a/swift/logging/SwiftLogging.cpp +++ b/swift/logging/SwiftLogging.cpp @@ -131,24 +131,24 @@ void Log::configure() { binary.level = Level::no_logs; text.level = Level::no_logs; } - if (diagnostics) { - std::filesystem::path diagFile = - getEnvOr("CODEQL_EXTRACTOR_SWIFT_DIAGNOSTIC_DIR", "extractor-out/diagnostics"); - diagFile /= programName; - diagFile /= logBaseName; - diagFile.replace_extension(".jsonl"); - std::error_code ec; - std::filesystem::create_directories(diagFile.parent_path(), ec); - if (!ec) { - if (!diagnostics.output.open(diagFile)) { - problems.emplace_back("Unable to open diagnostics json file " + diagFile.string()); - diagnostics.level = Level::no_logs; - } - } else { - problems.emplace_back("Unable to create diagnostics directory " + - diagFile.parent_path().string() + ": " + ec.message()); + } + if (diagnostics) { + std::filesystem::path diagFile = + getEnvOr("CODEQL_EXTRACTOR_SWIFT_DIAGNOSTIC_DIR", "extractor-out/diagnostics"); + diagFile /= programName; + diagFile /= logBaseName; + diagFile.replace_extension(".jsonl"); + std::error_code ec; + std::filesystem::create_directories(diagFile.parent_path(), ec); + if (!ec) { + if (!diagnostics.output.open(diagFile)) { + problems.emplace_back("Unable to open diagnostics json file " + diagFile.string()); diagnostics.level = Level::no_logs; } + } else { + problems.emplace_back("Unable to create diagnostics directory " + + diagFile.parent_path().string() + ": " + ec.message()); + diagnostics.level = Level::no_logs; } } for (const auto& problem : problems) { From 4af97274dd2df6190dc7858c05fe58fad77fe70a Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 10 May 2023 08:55:43 +0100 Subject: [PATCH 36/54] Swift: Delete TODO (already fixed). --- swift/extractor/translators/PatternTranslator.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/swift/extractor/translators/PatternTranslator.cpp b/swift/extractor/translators/PatternTranslator.cpp index 85b5bc73ffe..ee119af1c30 100644 --- a/swift/extractor/translators/PatternTranslator.cpp +++ b/swift/extractor/translators/PatternTranslator.cpp @@ -4,12 +4,6 @@ namespace codeql { codeql::NamedPattern PatternTranslator::translateNamedPattern(const swift::NamedPattern& pattern) { auto entry = dispatcher.createEntry(pattern); - // TODO: in some (but not all) cases, this seems to introduce a duplicate entry - // for example the vars listed in a case stmt have a different pointer than then ones in - // patterns. - // assert(pattern.getDecl() && "expect NamedPattern to have Decl"); - // dispatcher.emit(NamedPatternsTrap{label, pattern.getNameStr().str(), - // dispatcher.fetchLabel(pattern.getDecl())}); entry.name = pattern.getNameStr().str(); return entry; } From 9839eb1fd22c25dc5ce14d724decbdcfcf61df6a Mon Sep 17 00:00:00 2001 From: Tony Torralba Date: Wed, 10 May 2023 10:15:55 +0200 Subject: [PATCH 37/54] Update java/ql/lib/change-notes/2023-05-02-apache-commons-net-models.md Co-authored-by: Jami <57204504+jcogs33@users.noreply.github.com> --- .../ql/lib/change-notes/2023-05-02-apache-commons-net-models.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/ql/lib/change-notes/2023-05-02-apache-commons-net-models.md b/java/ql/lib/change-notes/2023-05-02-apache-commons-net-models.md index fb918f48932..a669c74d3e8 100644 --- a/java/ql/lib/change-notes/2023-05-02-apache-commons-net-models.md +++ b/java/ql/lib/change-notes/2023-05-02-apache-commons-net-models.md @@ -1,4 +1,4 @@ --- category: minorAnalysis --- -* Added models for the Apache Commons Net library, +* Added models for the Apache Commons Net library. From 6aa40050bdcd72e2eeefe539598ab7ce001d35c6 Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Wed, 10 May 2023 09:24:38 +0100 Subject: [PATCH 38/54] C++: Use member predicates on parameterized module parameters now that it's available in the language. --- .../cpp/models/implementations/Allocation.qll | 192 +++++++----------- 1 file changed, 79 insertions(+), 113 deletions(-) diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/Allocation.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/Allocation.qll index a1fa08daa7d..00b241bc4fa 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/Allocation.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/Allocation.qll @@ -206,7 +206,34 @@ private predicate deconstructSizeExpr(Expr sizeExpr, Expr lengthExpr, int sizeof } /** A `Function` that is a call target of an allocation. */ -private signature class CallAllocationExprTarget extends Function; +private signature class CallAllocationExprTarget extends Function { + /** + * Gets the index of the input pointer argument to be reallocated, if + * this is a `realloc` function. + */ + int getReallocPtrArg(); + + /** + * Gets the index of the argument for the allocation size, if any. The actual + * allocation size is the value of this argument multiplied by the result of + * `getSizeMult()`, in bytes. + */ + int getSizeArg(); + + /** + * Gets the index of an argument that multiplies the allocation size given + * by `getSizeArg`, if any. + */ + int getSizeMult(); + + /** + * Holds if this allocation requires a + * corresponding deallocation of some sort (most do, but `alloca` for example + * does not). If it is unclear, we default to no (for example a placement `new` + * allocation may or may not require a corresponding `delete`). + */ + predicate requiresDealloc(); +} /** * This module abstracts over the type of allocation call-targets and provides a @@ -220,118 +247,68 @@ private signature class CallAllocationExprTarget extends Function; * function using various heuristics. */ private module CallAllocationExprBase { - /** A module that contains the collection of member-predicates required on `Target`. */ - signature module Param { - /** - * Gets the index of the input pointer argument to be reallocated, if - * this is a `realloc` function. - */ - int getReallocPtrArg(Target target); - - /** - * Gets the index of the argument for the allocation size, if any. The actual - * allocation size is the value of this argument multiplied by the result of - * `getSizeMult()`, in bytes. - */ - int getSizeArg(Target target); - - /** - * Gets the index of an argument that multiplies the allocation size given - * by `getSizeArg`, if any. - */ - int getSizeMult(Target target); - - /** - * Holds if this allocation requires a - * corresponding deallocation of some sort (most do, but `alloca` for example - * does not). If it is unclear, we default to no (for example a placement `new` - * allocation may or may not require a corresponding `delete`). - */ - predicate requiresDealloc(Target target); - } - /** - * A module that abstracts over a collection of predicates in - * the `Param` module). This should really be member-predicates - * on `CallAllocationExprTarget`, but we cannot yet write this in QL. + * An allocation expression that is a function call, such as call to `malloc`. */ - module With { - private import P + class CallAllocationExprImpl instanceof FunctionCall { + Target target; - /** - * An allocation expression that is a function call, such as call to `malloc`. - */ - class CallAllocationExprImpl instanceof FunctionCall { - Target target; - - CallAllocationExprImpl() { - target = this.getTarget() and - // realloc(ptr, 0) only frees the pointer - not ( - exists(getReallocPtrArg(target)) and - this.getArgument(getSizeArg(target)).getValue().toInt() = 0 - ) and - // these are modeled directly (and more accurately), avoid duplication - not exists(NewOrNewArrayExpr new | new.getAllocatorCall() = this) - } - - string toString() { result = super.toString() } - - Expr getSizeExprImpl() { - exists(Expr sizeExpr | sizeExpr = super.getArgument(getSizeArg(target)) | - if exists(getSizeMult(target)) - then result = sizeExpr - else - exists(Expr lengthExpr | - deconstructSizeExpr(sizeExpr, lengthExpr, _) and - result = lengthExpr - ) - ) - } - - int getSizeMultImpl() { - // malloc with multiplier argument that is a constant - result = super.getArgument(getSizeMult(target)).getValue().toInt() - or - // malloc with no multiplier argument - not exists(getSizeMult(target)) and - deconstructSizeExpr(super.getArgument(getSizeArg(target)), _, result) - } - - int getSizeBytesImpl() { - result = this.getSizeExprImpl().getValue().toInt() * this.getSizeMultImpl() - } - - Expr getReallocPtrImpl() { result = super.getArgument(getReallocPtrArg(target)) } - - Type getAllocatedElementTypeImpl() { - result = - super.getFullyConverted().getType().stripTopLevelSpecifiers().(PointerType).getBaseType() and - not result instanceof VoidType - } - - predicate requiresDeallocImpl() { requiresDealloc(target) } + CallAllocationExprImpl() { + target = this.getTarget() and + // realloc(ptr, 0) only frees the pointer + not ( + exists(target.getReallocPtrArg()) and + this.getArgument(target.getSizeArg()).getValue().toInt() = 0 + ) and + // these are modeled directly (and more accurately), avoid duplication + not exists(NewOrNewArrayExpr new | new.getAllocatorCall() = this) } + + string toString() { result = super.toString() } + + Expr getSizeExprImpl() { + exists(Expr sizeExpr | sizeExpr = super.getArgument(target.getSizeArg()) | + if exists(target.getSizeMult()) + then result = sizeExpr + else + exists(Expr lengthExpr | + deconstructSizeExpr(sizeExpr, lengthExpr, _) and + result = lengthExpr + ) + ) + } + + int getSizeMultImpl() { + // malloc with multiplier argument that is a constant + result = super.getArgument(target.getSizeMult()).getValue().toInt() + or + // malloc with no multiplier argument + not exists(target.getSizeMult()) and + deconstructSizeExpr(super.getArgument(target.getSizeArg()), _, result) + } + + int getSizeBytesImpl() { + result = this.getSizeExprImpl().getValue().toInt() * this.getSizeMultImpl() + } + + Expr getReallocPtrImpl() { result = super.getArgument(target.getReallocPtrArg()) } + + Type getAllocatedElementTypeImpl() { + result = + super.getFullyConverted().getType().stripTopLevelSpecifiers().(PointerType).getBaseType() and + not result instanceof VoidType + } + + predicate requiresDeallocImpl() { target.requiresDealloc() } } } private module CallAllocationExpr { - private module Param implements CallAllocationExprBase::Param { - int getReallocPtrArg(AllocationFunction f) { result = f.getReallocPtrArg() } - - int getSizeArg(AllocationFunction f) { result = f.getSizeArg() } - - int getSizeMult(AllocationFunction f) { result = f.getSizeMult() } - - predicate requiresDealloc(AllocationFunction f) { f.requiresDealloc() } - } - /** * A class that provides the implementation of `AllocationExpr` for an allocation * that calls an `AllocationFunction`. */ - private class Base = - CallAllocationExprBase::With::CallAllocationExprImpl; + private class Base = CallAllocationExprBase::CallAllocationExprImpl; class CallAllocationExpr extends AllocationExpr, Base { override Expr getSizeExpr() { result = super.getSizeExprImpl() } @@ -452,22 +429,11 @@ private module HeuristicAllocation { override predicate requiresDealloc() { none() } } - private module Param implements CallAllocationExprBase::Param { - int getReallocPtrArg(HeuristicAllocationFunction f) { result = f.getReallocPtrArg() } - - int getSizeArg(HeuristicAllocationFunction f) { result = f.getSizeArg() } - - int getSizeMult(HeuristicAllocationFunction f) { result = f.getSizeMult() } - - predicate requiresDealloc(HeuristicAllocationFunction f) { f.requiresDealloc() } - } - /** * A class that provides the implementation of `AllocationExpr` for an allocation * that calls an `HeuristicAllocationFunction`. */ - private class Base = - CallAllocationExprBase::With::CallAllocationExprImpl; + private class Base = CallAllocationExprBase::CallAllocationExprImpl; private class CallAllocationExpr extends HeuristicAllocationExpr, Base { override Expr getSizeExpr() { result = super.getSizeExprImpl() } From 3f8a56722fcb5f031c8541146b1fb8a5ab013734 Mon Sep 17 00:00:00 2001 From: Tony Torralba Date: Wed, 10 May 2023 10:35:34 +0200 Subject: [PATCH 39/54] Remove auto-generated models --- .../org.apache.commons.net.model.yml | 1375 ----------------- 1 file changed, 1375 deletions(-) delete mode 100644 java/ql/lib/ext/generated/org.apache.commons.net.model.yml diff --git a/java/ql/lib/ext/generated/org.apache.commons.net.model.yml b/java/ql/lib/ext/generated/org.apache.commons.net.model.yml deleted file mode 100644 index f4807f0967b..00000000000 --- a/java/ql/lib/ext/generated/org.apache.commons.net.model.yml +++ /dev/null @@ -1,1375 +0,0 @@ -# THIS FILE IS AN AUTO-GENERATED MODELS AS DATA FILE. DO NOT EDIT. -# Definitions of models for the org.apache.commons.net framework. -extensions: - - addsTo: - pack: codeql/java-all - extensible: summaryModel - data: - - ["org.apache.commons.net.bsd", "RCommandClient", true, "rcommand", "(String,String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.bsd", "RCommandClient", true, "rcommand", "(String,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.bsd", "RCommandClient", true, "rcommand", "(String,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.bsd", "RCommandClient", true, "rcommand", "(String,String,String,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.bsd", "RCommandClient", true, "rcommand", "(String,String,String,boolean)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.bsd", "RCommandClient", true, "rcommand", "(String,String,String,boolean)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.bsd", "RExecClient", true, "getErrorStream", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.bsd", "RExecClient", true, "getInputStream", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.bsd", "RExecClient", true, "getOutputStream", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.bsd", "RExecClient", true, "rexec", "(String,String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.bsd", "RExecClient", true, "rexec", "(String,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.bsd", "RExecClient", true, "rexec", "(String,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.bsd", "RExecClient", true, "rexec", "(String,String,String,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.bsd", "RExecClient", true, "rexec", "(String,String,String,boolean)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.bsd", "RExecClient", true, "rexec", "(String,String,String,boolean)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.bsd", "RLoginClient", true, "rlogin", "(String,String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.bsd", "RLoginClient", true, "rlogin", "(String,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.bsd", "RLoginClient", true, "rlogin", "(String,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.bsd", "RLoginClient", true, "rlogin", "(String,String,String,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.bsd", "RLoginClient", true, "rlogin", "(String,String,String,int)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.bsd", "RLoginClient", true, "rlogin", "(String,String,String,int)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.chargen", "CharGenTCPClient", false, "getInputStream", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.chargen", "CharGenUDPClient", false, "receive", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.daytime", "DaytimeTCPClient", false, "getTime", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.discard", "DiscardTCPClient", true, "getOutputStream", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.echo", "EchoTCPClient", false, "getInputStream", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.finger", "FingerClient", true, "getInputStream", "(boolean)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.finger", "FingerClient", true, "getInputStream", "(boolean,String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.finger", "FingerClient", true, "getInputStream", "(boolean,String,String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.finger", "FingerClient", true, "query", "(boolean)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.finger", "FingerClient", true, "query", "(boolean,String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "CompositeFileEntryParser", true, "CompositeFileEntryParser", "(FTPFileEntryParser[])", "", "Argument[0].ArrayElement", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "FTPTimestampParserImpl", true, "getDefaultDateFormat", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "FTPTimestampParserImpl", true, "getRecentDateFormat", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "FTPTimestampParserImpl", true, "getServerTimeZone", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "FTPTimestampParserImpl", true, "getShortMonths", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "FTPTimestampParserImpl", true, "parseTimestamp", "(String,Calendar)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "MLSxEntryParser", true, "parseEntry", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "ParserInitializationException", true, "ParserInitializationException", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "ParserInitializationException", true, "ParserInitializationException", "(String,Throwable)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "ParserInitializationException", true, "ParserInitializationException", "(String,Throwable)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "ParserInitializationException", true, "getRootCause", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "RegexFTPFileEntryParserImpl", true, "matches", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "VMSFTPEntryParser", true, "parseFileList", "(InputStream)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "VMSFTPEntryParser", true, "parseFileList", "(InputStream)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "Configurable", true, "configure", "(FTPClientConfig)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "acct", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "appe", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "cwd", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "dele", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "eprt", "(InetAddress,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "getControlEncoding", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "getReplyString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "getReplyStrings", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "help", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "list", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "mdtm", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "mfmt", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "mfmt", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "mkd", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "mlsd", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "mlst", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "nlst", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "pass", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "port", "(InetAddress,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "rest", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "retr", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "rmd", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "rnfr", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "rnto", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "sendCommand", "(FTPCmd,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "sendCommand", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "sendCommand", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "sendCommand", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "sendCommand", "(int,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "setControlEncoding", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "site", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "size", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "smnt", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "stat", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "stor", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "stou", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", true, "user", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient$HostnameResolver", true, "resolve", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient$HostnameResolver", true, "resolve", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient$NatServerResolverImpl", true, "NatServerResolverImpl", "(FTPClient)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "appendFile", "(String,InputStream)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "appendFileStream", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "changeWorkingDirectory", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "deleteFile", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "doCommand", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "doCommand", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "doCommandAsStrings", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "doCommandAsStrings", "(String,String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "doCommandAsStrings", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "doCommandAsStrings", "(String,String)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "doCommandAsStrings", "(String,String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "enterRemoteActiveMode", "(InetAddress,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "featureValue", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "featureValues", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "getControlKeepAliveReplyTimeoutDuration", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "getControlKeepAliveTimeoutDuration", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "getCopyStreamListener", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "getDataTimeout", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "getModificationTime", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "getModificationTime", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "getModificationTime", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "getPassiveHost", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "getPassiveLocalIPAddress", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "getSize", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "getSize", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "getSize", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "getStatus", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "getStatus", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "getStatus", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "getStatus", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "getSystemName", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "getSystemType", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "initiateListParsing", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "initiateListParsing", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "initiateListParsing", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "initiateListParsing", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "initiateListParsing", "(String,String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "initiateListParsing", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "initiateListParsing", "(String,String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "initiateMListParsing", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "listDirectories", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "listFiles", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "listFiles", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "listFiles", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "listFiles", "(String,FTPFileFilter)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "listHelp", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "listHelp", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "listHelp", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "listHelp", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "listNames", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "login", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "login", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "login", "(String,String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "login", "(String,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "login", "(String,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "makeDirectory", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "mdtmCalendar", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "mdtmFile", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "mdtmFile", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "mdtmFile", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "mdtmInstant", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "mlistDir", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "mlistDir", "(String,FTPFileFilter)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "mlistFile", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "mlistFile", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "mlistFile", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "printWorkingDirectory", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "remoteAppend", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "remoteRetrieve", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "remoteStore", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "remoteStoreUnique", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "removeDirectory", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "rename", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "rename", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "retrieveFile", "(String,OutputStream)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "retrieveFileStream", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "sendSiteCommand", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "setActiveExternalIPAddress", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "setControlKeepAliveReplyTimeout", "(Duration)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "setControlKeepAliveTimeout", "(Duration)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "setCopyStreamListener", "(CopyStreamListener)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "setDataTimeout", "(Duration)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "setModificationTime", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "setModificationTime", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "setParserFactory", "(FTPFileEntryParserFactory)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "setPassiveLocalIPAddress", "(InetAddress)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "setPassiveLocalIPAddress", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "setPassiveNatWorkaroundStrategy", "(HostnameResolver)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "setReportActiveExternalIPAddress", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "storeFile", "(String,InputStream)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "storeFileStream", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "storeUniqueFile", "(String,InputStream)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "storeUniqueFileStream", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", true, "structureMount", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(FTPClientConfig)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String,String,String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String,String,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String,String,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String,String,String,String)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String,String,String,String)", "", "Argument[4]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String,String,String,String)", "", "Argument[5]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String,String,String,String,boolean,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String,String,String,String,boolean,boolean)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String,String,String,String,boolean,boolean)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String,String,String,String,boolean,boolean)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String,String,String,String,boolean,boolean)", "", "Argument[4]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "FTPClientConfig", "(String,String,String,String,String,String,boolean,boolean)", "", "Argument[5]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "getDefaultDateFormatStr", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "getRecentDateFormatStr", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "getServerLanguageCode", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "getServerSystemKey", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "getServerTimeZoneId", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "getShortMonthNames", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "setDefaultDateFormatStr", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "setRecentDateFormatStr", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "setServerLanguageCode", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "setServerTimeZoneId", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", true, "setShortMonthNames", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPConnectionClosedException", true, "FTPConnectionClosedException", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", true, "getGroup", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", true, "getLink", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", true, "getName", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", true, "getRawListing", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", true, "getTimestamp", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", true, "getUser", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", true, "setGroup", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", true, "setLink", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", true, "setName", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", true, "setRawListing", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", true, "setTimestamp", "(Calendar)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", true, "setUser", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", true, "toFormattedString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", true, "toFormattedString", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", true, "toString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFileEntryParser", true, "parseFTPEntry", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFileEntryParser", true, "parseFTPEntry", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFileEntryParser", true, "preParse", "(List)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFileEntryParser", true, "readNextEntry", "(BufferedReader)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPHTTPClient", true, "FTPHTTPClient", "(String,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPHTTPClient", true, "FTPHTTPClient", "(String,int,Charset)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPHTTPClient", true, "FTPHTTPClient", "(String,int,String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPHTTPClient", true, "FTPHTTPClient", "(String,int,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPHTTPClient", true, "FTPHTTPClient", "(String,int,String,String)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPHTTPClient", true, "FTPHTTPClient", "(String,int,String,String,Charset)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPHTTPClient", true, "FTPHTTPClient", "(String,int,String,String,Charset)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPHTTPClient", true, "FTPHTTPClient", "(String,int,String,String,Charset)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPListParseEngine", true, "FTPListParseEngine", "(FTPFileEntryParser)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPListParseEngine", true, "getFileList", "(FTPFileFilter)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPListParseEngine", true, "getFiles", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPListParseEngine", true, "getFiles", "(FTPFileFilter)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPListParseEngine", true, "getNext", "(int)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPListParseEngine", true, "getPrevious", "(int)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPListParseEngine", true, "readServerList", "(InputStream)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPListParseEngine", true, "readServerList", "(InputStream,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", true, "FTPSClient", "(SSLContext)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", true, "FTPSClient", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", true, "FTPSClient", "(String,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", true, "FTPSClient", "(boolean,SSLContext)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", true, "execADAT", "(byte[])", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", true, "execAUTH", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", true, "execCONF", "(byte[])", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", true, "execENC", "(byte[])", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", true, "execMIC", "(byte[])", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", true, "execPROT", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", true, "getAuthValue", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", true, "getEnabledCipherSuites", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", true, "getEnabledProtocols", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", true, "getHostnameVerifier", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", true, "getTrustManager", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", true, "parseADATReply", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", true, "setAuthValue", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", true, "setEnabledCipherSuites", "(String[])", "", "Argument[0].ArrayElement", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", true, "setEnabledProtocols", "(String[])", "", "Argument[0].ArrayElement", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", true, "setHostnameVerifier", "(HostnameVerifier)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", true, "setKeyManager", "(KeyManager)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", true, "setTrustManager", "(TrustManager)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSServerSocketFactory", true, "FTPSServerSocketFactory", "(SSLContext)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSServerSocketFactory", true, "init", "(ServerSocket)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSSocketFactory", true, "FTPSSocketFactory", "(SSLContext)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSSocketFactory", true, "init", "(ServerSocket)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "AuthenticatingIMAPClient", true, "AuthenticatingIMAPClient", "(SSLContext)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "AuthenticatingIMAPClient", true, "AuthenticatingIMAPClient", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "AuthenticatingIMAPClient", true, "AuthenticatingIMAPClient", "(String,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "AuthenticatingIMAPClient", true, "AuthenticatingIMAPClient", "(String,boolean,SSLContext)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "AuthenticatingIMAPClient", true, "AuthenticatingIMAPClient", "(String,boolean,SSLContext)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "AuthenticatingIMAPClient", true, "AuthenticatingIMAPClient", "(boolean,SSLContext)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "AuthenticatingIMAPClient", true, "auth", "(AUTH_METHOD,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "AuthenticatingIMAPClient", true, "auth", "(AUTH_METHOD,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "AuthenticatingIMAPClient", true, "authenticate", "(AUTH_METHOD,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "AuthenticatingIMAPClient", true, "authenticate", "(AUTH_METHOD,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAP$IMAPChunkListener", true, "chunkReceived", "(IMAP)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAP", true, "doCommand", "(IMAPCommand,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAP", true, "getReplyString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAP", true, "getReplyStrings", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAP", true, "sendCommand", "(IMAPCommand,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAP", true, "sendCommand", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAP", true, "sendCommand", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAP", true, "sendCommand", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAP", true, "sendData", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAP", true, "setChunkListener", "(IMAPChunkListener)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "append", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "append", "(String,String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "append", "(String,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "append", "(String,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "append", "(String,String,String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "append", "(String,String,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "append", "(String,String,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "append", "(String,String,String,String)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "copy", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "copy", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "create", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "delete", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "examine", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "fetch", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "fetch", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "list", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "list", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "login", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "login", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "lsub", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "lsub", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "rename", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "rename", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "search", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "search", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "search", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "select", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "status", "(String,String[])", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "status", "(String,String[])", "", "Argument[1].ArrayElement", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "store", "(String,String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "store", "(String,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "store", "(String,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "subscribe", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "uid", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "uid", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", true, "unsubscribe", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPSClient", true, "IMAPSClient", "(SSLContext)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPSClient", true, "IMAPSClient", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPSClient", true, "IMAPSClient", "(String,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPSClient", true, "IMAPSClient", "(String,boolean,SSLContext)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPSClient", true, "IMAPSClient", "(String,boolean,SSLContext)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPSClient", true, "IMAPSClient", "(boolean,SSLContext)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPSClient", true, "getEnabledCipherSuites", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPSClient", true, "getEnabledProtocols", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPSClient", true, "getHostnameVerifier", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPSClient", true, "getTrustManager", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPSClient", true, "setEnabledCipherSuites", "(String[])", "", "Argument[0].ArrayElement", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPSClient", true, "setEnabledProtocols", "(String[])", "", "Argument[0].ArrayElement", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPSClient", true, "setHostnameVerifier", "(HostnameVerifier)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPSClient", true, "setKeyManager", "(KeyManager)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPSClient", true, "setTrustManager", "(TrustManager)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.io", "CRLFLineReader", false, "CRLFLineReader", "(Reader)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.io", "CopyStreamEvent", true, "CopyStreamEvent", "(Object,long,int,long)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.io", "CopyStreamEvent", true, "toString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.io", "CopyStreamException", true, "CopyStreamException", "(String,long,IOException)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.io", "CopyStreamException", true, "getIOException", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.io", "DotTerminatedMessageReader", false, "DotTerminatedMessageReader", "(Reader)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.io", "DotTerminatedMessageWriter", false, "DotTerminatedMessageWriter", "(Writer)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.io", "FromNetASCIIOutputStream", false, "FromNetASCIIOutputStream", "(OutputStream)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.io", "SocketInputStream", true, "SocketInputStream", "(Socket,InputStream)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.io", "SocketOutputStream", true, "SocketOutputStream", "(Socket,OutputStream)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.io", "SocketOutputStream", true, "SocketOutputStream", "(Socket,OutputStream)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.io", "ToNetASCIIOutputStream", false, "ToNetASCIIOutputStream", "(OutputStream)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.io", "Util", false, "copyReader", "(Reader,Writer)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.io", "Util", false, "copyReader", "(Reader,Writer,int)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.io", "Util", false, "copyReader", "(Reader,Writer,int,long,CopyStreamListener)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.io", "Util", false, "copyStream", "(InputStream,OutputStream)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.io", "Util", false, "copyStream", "(InputStream,OutputStream,int)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.io", "Util", false, "copyStream", "(InputStream,OutputStream,int,long,CopyStreamListener)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.io", "Util", false, "copyStream", "(InputStream,OutputStream,int,long,CopyStreamListener,boolean)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "Article", true, "addReference", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "Article", true, "getArticleId", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "Article", true, "getDate", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "Article", true, "getFrom", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "Article", true, "getReferences", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "Article", true, "getSubject", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "Article", true, "setArticleId", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "Article", true, "setDate", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "Article", true, "setFrom", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "Article", true, "setSubject", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "Article", true, "toString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", true, "article", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", true, "authinfoPass", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", true, "authinfoUser", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", true, "body", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", true, "getReplyString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", true, "group", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", true, "head", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", true, "ihave", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", true, "listActive", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", true, "newgroups", "(String,String,boolean,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", true, "newgroups", "(String,String,boolean,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", true, "newgroups", "(String,String,boolean,String)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", true, "newnews", "(String,String,String,boolean,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", true, "newnews", "(String,String,String,boolean,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", true, "newnews", "(String,String,String,boolean,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", true, "newnews", "(String,String,String,boolean,String)", "", "Argument[4]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", true, "sendCommand", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", true, "sendCommand", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", true, "sendCommand", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", true, "sendCommand", "(int,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", true, "stat", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", true, "xhdr", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", true, "xhdr", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", true, "xover", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "authenticate", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "authenticate", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "forwardArticle", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "forwardArticle", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "forwardArticle", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "iterateNewNews", "(NewGroupsOrNewsQuery)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "iterateNewNews", "(NewGroupsOrNewsQuery)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "iterateNewNews", "(NewGroupsOrNewsQuery)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "iterateNewNewsgroupListing", "(NewGroupsOrNewsQuery)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "iterateNewNewsgroupListing", "(NewGroupsOrNewsQuery)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "iterateNewNewsgroupListing", "(NewGroupsOrNewsQuery)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "iterateNewNewsgroups", "(NewGroupsOrNewsQuery)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "iterateNewsgroupListing", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "iterateNewsgroupListing", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "iterateNewsgroupListing", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "iterateNewsgroupListing", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "iterateNewsgroups", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "listHelp", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "listNewNews", "(NewGroupsOrNewsQuery)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "listNewNews", "(NewGroupsOrNewsQuery)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "listNewNews", "(NewGroupsOrNewsQuery)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "listNewNewsgroups", "(NewGroupsOrNewsQuery)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "listNewNewsgroups", "(NewGroupsOrNewsQuery)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "listNewsgroups", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "listNewsgroups", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "listNewsgroups", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "listOverviewFmt", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "postArticle", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(String,ArticleInfo)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(String,ArticleInfo)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(String,ArticleInfo)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(String,ArticleInfo)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(String,ArticleInfo)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(String,ArticlePointer)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(String,ArticlePointer)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(String,ArticlePointer)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(String,ArticlePointer)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(String,ArticlePointer)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(int)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(int,ArticlePointer)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(int,ArticlePointer)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(long)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(long,ArticleInfo)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticle", "(long,ArticleInfo)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(String,ArticleInfo)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(String,ArticleInfo)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(String,ArticleInfo)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(String,ArticleInfo)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(String,ArticleInfo)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(String,ArticlePointer)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(String,ArticlePointer)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(String,ArticlePointer)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(String,ArticlePointer)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(String,ArticlePointer)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(int)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(int,ArticlePointer)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(int,ArticlePointer)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(long)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(long,ArticleInfo)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleBody", "(long,ArticleInfo)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(String,ArticleInfo)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(String,ArticleInfo)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(String,ArticleInfo)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(String,ArticleInfo)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(String,ArticleInfo)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(String,ArticlePointer)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(String,ArticlePointer)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(String,ArticlePointer)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(String,ArticlePointer)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(String,ArticlePointer)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(int)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(int,ArticlePointer)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(int,ArticlePointer)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(long)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(long,ArticleInfo)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleHeader", "(long,ArticleInfo)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleInfo", "(int)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleInfo", "(int,int)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleInfo", "(long)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveArticleInfo", "(long,long)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveHeader", "(String,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveHeader", "(String,int)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveHeader", "(String,int)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveHeader", "(String,int,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveHeader", "(String,int,int)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveHeader", "(String,int,int)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveHeader", "(String,long)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveHeader", "(String,long)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveHeader", "(String,long)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveHeader", "(String,long,long)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveHeader", "(String,long,long)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "retrieveHeader", "(String,long,long)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectArticle", "(ArticleInfo)", "", "Argument[this]", "Argument[0]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectArticle", "(ArticlePointer)", "", "Argument[this]", "Argument[0]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectArticle", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectArticle", "(String,ArticleInfo)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectArticle", "(String,ArticleInfo)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectArticle", "(String,ArticleInfo)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectArticle", "(String,ArticlePointer)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectArticle", "(String,ArticlePointer)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectArticle", "(String,ArticlePointer)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectArticle", "(int,ArticlePointer)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectArticle", "(long,ArticleInfo)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectNewsgroup", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectNewsgroup", "(String,NewsgroupInfo)", "", "Argument[0]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectNewsgroup", "(String,NewsgroupInfo)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectNewsgroup", "(String,NewsgroupInfo)", "", "Argument[this]", "Argument[1]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectNextArticle", "(ArticleInfo)", "", "Argument[this]", "Argument[0]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectNextArticle", "(ArticlePointer)", "", "Argument[this]", "Argument[0]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectPreviousArticle", "(ArticleInfo)", "", "Argument[this]", "Argument[0]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", true, "selectPreviousArticle", "(ArticlePointer)", "", "Argument[this]", "Argument[0]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPConnectionClosedException", false, "NNTPConnectionClosedException", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NewGroupsOrNewsQuery", false, "addDistribution", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NewGroupsOrNewsQuery", false, "addNewsgroup", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NewGroupsOrNewsQuery", false, "getDate", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NewGroupsOrNewsQuery", false, "getDistributions", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NewGroupsOrNewsQuery", false, "getNewsgroups", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NewGroupsOrNewsQuery", false, "getTime", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NewGroupsOrNewsQuery", false, "omitNewsgroup", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "NewsgroupInfo", false, "getNewsgroup", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "SimpleNNTPHeader", true, "SimpleNNTPHeader", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "SimpleNNTPHeader", true, "SimpleNNTPHeader", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "SimpleNNTPHeader", true, "addHeaderField", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "SimpleNNTPHeader", true, "addHeaderField", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "SimpleNNTPHeader", true, "addNewsgroup", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "SimpleNNTPHeader", true, "getFromAddress", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "SimpleNNTPHeader", true, "getNewsgroups", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "SimpleNNTPHeader", true, "getSubject", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "SimpleNNTPHeader", true, "toString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "Threadable", true, "messageThreadId", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "Threadable", true, "messageThreadReferences", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "Threadable", true, "setChild", "(Threadable)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "Threadable", true, "setNext", "(Threadable)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "Threadable", true, "simplifiedSubject", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "Threader", true, "thread", "(Iterable)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "Threader", true, "thread", "(List)", "", "Argument[0].Element", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.nntp", "Threader", true, "thread", "(Threadable[])", "", "Argument[0].ArrayElement", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", true, "getDatagramPacket", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", true, "setDatagramPacket", "(DatagramPacket)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeInfo", true, "TimeInfo", "(NtpV3Packet,long)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeInfo", true, "TimeInfo", "(NtpV3Packet,long,List)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeInfo", true, "TimeInfo", "(NtpV3Packet,long,List)", "", "Argument[2].Element", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeInfo", true, "TimeInfo", "(NtpV3Packet,long,List,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeInfo", true, "TimeInfo", "(NtpV3Packet,long,List,boolean)", "", "Argument[2].Element", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeInfo", true, "TimeInfo", "(NtpV3Packet,long,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeInfo", true, "addComment", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeInfo", true, "getAddress", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeInfo", true, "getComments", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeInfo", true, "getMessage", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "ExtendedPOP3Client", true, "auth", "(AUTH_METHOD,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "ExtendedPOP3Client", true, "auth", "(AUTH_METHOD,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3", true, "getReplyString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3", true, "getReplyStrings", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3", true, "sendCommand", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3", true, "sendCommand", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3", true, "sendCommand", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3", true, "sendCommand", "(int,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3Client", true, "listUniqueIdentifier", "(int)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3Client", true, "login", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3Client", true, "login", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3Client", true, "login", "(String,String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3Client", true, "retrieveMessage", "(int)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3Client", true, "retrieveMessageTop", "(int,int)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3MessageInfo", false, "POP3MessageInfo", "(int,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3MessageInfo", false, "toString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3SClient", true, "POP3SClient", "(SSLContext)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3SClient", true, "POP3SClient", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3SClient", true, "POP3SClient", "(String,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3SClient", true, "POP3SClient", "(String,boolean,SSLContext)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3SClient", true, "POP3SClient", "(String,boolean,SSLContext)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3SClient", true, "POP3SClient", "(boolean,SSLContext)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3SClient", true, "getEnabledCipherSuites", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3SClient", true, "getEnabledProtocols", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3SClient", true, "getHostnameVerifier", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3SClient", true, "getTrustManager", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3SClient", true, "setEnabledCipherSuites", "(String[])", "", "Argument[0].ArrayElement", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3SClient", true, "setEnabledProtocols", "(String[])", "", "Argument[0].ArrayElement", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3SClient", true, "setHostnameVerifier", "(HostnameVerifier)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3SClient", true, "setKeyManager", "(KeyManager)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3SClient", true, "setTrustManager", "(TrustManager)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "AuthenticatingSMTPClient", true, "AuthenticatingSMTPClient", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "AuthenticatingSMTPClient", true, "AuthenticatingSMTPClient", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "AuthenticatingSMTPClient", true, "AuthenticatingSMTPClient", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "AuthenticatingSMTPClient", true, "AuthenticatingSMTPClient", "(String,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "AuthenticatingSMTPClient", true, "AuthenticatingSMTPClient", "(String,boolean,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "AuthenticatingSMTPClient", true, "AuthenticatingSMTPClient", "(String,boolean,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "AuthenticatingSMTPClient", true, "AuthenticatingSMTPClient", "(boolean,SSLContext)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "AuthenticatingSMTPClient", true, "auth", "(AUTH_METHOD,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "AuthenticatingSMTPClient", true, "auth", "(AUTH_METHOD,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "AuthenticatingSMTPClient", true, "ehlo", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "AuthenticatingSMTPClient", true, "elogin", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "RelayPath", false, "RelayPath", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "RelayPath", false, "addRelay", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "RelayPath", false, "toString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTP", true, "SMTP", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTP", true, "expn", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTP", true, "getReplyString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTP", true, "getReplyStrings", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTP", true, "helo", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTP", true, "help", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTP", true, "mail", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTP", true, "rcpt", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTP", true, "saml", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTP", true, "send", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTP", true, "sendCommand", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTP", true, "sendCommand", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTP", true, "sendCommand", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTP", true, "sendCommand", "(int,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTP", true, "soml", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTP", true, "vrfy", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPClient", true, "SMTPClient", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPClient", true, "addRecipient", "(RelayPath)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPClient", true, "addRecipient", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPClient", true, "listHelp", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPClient", true, "listHelp", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPClient", true, "listHelp", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPClient", true, "listHelp", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPClient", true, "login", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPClient", true, "sendMessageData", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPClient", true, "sendSimpleMessage", "(String,String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPClient", true, "sendSimpleMessage", "(String,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPClient", true, "sendSimpleMessage", "(String,String[],String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPClient", true, "sendSimpleMessage", "(String,String[],String)", "", "Argument[1].ArrayElement", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPClient", true, "setSender", "(RelayPath)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPClient", true, "setSender", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPClient", true, "verify", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPConnectionClosedException", false, "SMTPConnectionClosedException", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPSClient", true, "SMTPSClient", "(SSLContext)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPSClient", true, "SMTPSClient", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPSClient", true, "SMTPSClient", "(String,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPSClient", true, "SMTPSClient", "(String,boolean,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPSClient", true, "SMTPSClient", "(String,boolean,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPSClient", true, "SMTPSClient", "(boolean,SSLContext)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPSClient", true, "getEnabledCipherSuites", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPSClient", true, "getEnabledProtocols", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPSClient", true, "getHostnameVerifier", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPSClient", true, "getKeyManager", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPSClient", true, "getTrustManager", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPSClient", true, "setEnabledCipherSuites", "(String[])", "", "Argument[0].ArrayElement", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPSClient", true, "setEnabledProtocols", "(String[])", "", "Argument[0].ArrayElement", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPSClient", true, "setHostnameVerifier", "(HostnameVerifier)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPSClient", true, "setKeyManager", "(KeyManager)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPSClient", true, "setTrustManager", "(TrustManager)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SimpleSMTPHeader", true, "SimpleSMTPHeader", "(String,String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SimpleSMTPHeader", true, "SimpleSMTPHeader", "(String,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SimpleSMTPHeader", true, "SimpleSMTPHeader", "(String,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SimpleSMTPHeader", true, "addCC", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SimpleSMTPHeader", true, "addHeaderField", "(String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SimpleSMTPHeader", true, "addHeaderField", "(String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.smtp", "SimpleSMTPHeader", true, "toString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.telnet", "InvalidTelnetOptionException", true, "InvalidTelnetOptionException", "(String,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.telnet", "Telnet", true, "addOptionHandler", "(TelnetOptionHandler)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.telnet", "Telnet", true, "registerNotifHandler", "(TelnetNotificationHandler)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetClient", true, "TelnetClient", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetClient", true, "TelnetClient", "(String,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetClient", true, "getInputStream", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetClient", true, "getOutputStream", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetClient", true, "registerInputListener", "(TelnetInputListener)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetClient", true, "registerSpyStream", "(OutputStream)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.telnet", "TerminalTypeOptionHandler", true, "TerminalTypeOptionHandler", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.telnet", "TerminalTypeOptionHandler", true, "TerminalTypeOptionHandler", "(String,boolean,boolean,boolean,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTP", true, "bufferedReceive", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTP", true, "bufferedSend", "(TFTPPacket)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPAckPacket", false, "TFTPAckPacket", "(InetAddress,int,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPAckPacket", false, "toString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,InetAddress)", "", "Argument[0]", "Argument[2]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,InetAddress)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,InetAddress)", "", "Argument[3]", "Argument[2]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,InetAddress)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,InetAddress)", "", "Argument[this]", "Argument[2]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,InetAddress,int)", "", "Argument[0]", "Argument[2]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,InetAddress,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,InetAddress,int)", "", "Argument[3]", "Argument[2]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,InetAddress,int)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,InetAddress,int)", "", "Argument[this]", "Argument[2]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,String)", "", "Argument[0]", "Argument[2]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,String)", "", "Argument[3]", "Argument[2]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,String)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,String)", "", "Argument[this]", "Argument[2]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,String,int)", "", "Argument[0]", "Argument[2]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,String,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,String,int)", "", "Argument[3]", "Argument[2]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,String,int)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "receiveFile", "(String,int,OutputStream,String,int)", "", "Argument[this]", "Argument[2]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "sendFile", "(String,int,InputStream,InetAddress)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "sendFile", "(String,int,InputStream,InetAddress)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "sendFile", "(String,int,InputStream,InetAddress)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "sendFile", "(String,int,InputStream,InetAddress,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "sendFile", "(String,int,InputStream,InetAddress,int)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "sendFile", "(String,int,InputStream,InetAddress,int)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "sendFile", "(String,int,InputStream,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "sendFile", "(String,int,InputStream,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "sendFile", "(String,int,InputStream,String)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "sendFile", "(String,int,InputStream,String,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "sendFile", "(String,int,InputStream,String,int)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", true, "sendFile", "(String,int,InputStream,String,int)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPDataPacket", false, "TFTPDataPacket", "(InetAddress,int,int,byte[])", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPDataPacket", false, "TFTPDataPacket", "(InetAddress,int,int,byte[])", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPDataPacket", false, "TFTPDataPacket", "(InetAddress,int,int,byte[],int,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPDataPacket", false, "TFTPDataPacket", "(InetAddress,int,int,byte[],int,int)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPDataPacket", false, "getData", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPDataPacket", false, "setData", "(byte[],int,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPDataPacket", false, "toString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPErrorPacket", false, "TFTPErrorPacket", "(InetAddress,int,int,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPErrorPacket", false, "TFTPErrorPacket", "(InetAddress,int,int,String)", "", "Argument[3]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPErrorPacket", false, "getMessage", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPErrorPacket", false, "toString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPPacket", true, "getAddress", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPPacket", true, "newTFTPPacket", "(DatagramPacket)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPPacket", true, "setAddress", "(InetAddress)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPPacket", true, "toString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPPacketException", true, "TFTPPacketException", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPReadRequestPacket", false, "TFTPReadRequestPacket", "(InetAddress,int,String,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPReadRequestPacket", false, "TFTPReadRequestPacket", "(InetAddress,int,String,int)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPReadRequestPacket", false, "toString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPRequestPacket", true, "getFilename", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPWriteRequestPacket", false, "TFTPWriteRequestPacket", "(InetAddress,int,String,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPWriteRequestPacket", false, "TFTPWriteRequestPacket", "(InetAddress,int,String,int)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPWriteRequestPacket", false, "toString", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.util", "Base64", true, "Base64", "(int,byte[])", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.util", "Base64", true, "Base64", "(int,byte[],boolean)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.util", "Base64", true, "decode", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.util", "Base64", true, "decode", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.util", "Base64", true, "decode", "(byte[])", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.util", "Base64", true, "decode", "(byte[])", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.util", "Base64", true, "decodeBase64", "(String)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.util", "Base64", true, "decodeBase64", "(byte[])", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.util", "Base64", true, "encode", "(byte[])", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.util", "Base64", true, "encode", "(byte[])", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.util", "Base64", true, "encodeBase64", "(byte[])", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.util", "Base64", true, "encodeBase64", "(byte[],boolean)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.util", "Base64", true, "encodeBase64", "(byte[],boolean,boolean)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.util", "Base64", true, "encodeBase64", "(byte[],boolean,boolean,int)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.util", "Base64", true, "encodeBase64Chunked", "(byte[])", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.util", "Base64", true, "encodeBase64String", "(byte[])", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.util", "Base64", true, "encodeBase64String", "(byte[],boolean)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.util", "Base64", true, "encodeBase64StringUnChunked", "(byte[])", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.util", "Base64", true, "encodeBase64URLSafe", "(byte[])", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.util", "Base64", true, "encodeBase64URLSafeString", "(byte[])", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.util", "Base64", true, "encodeToString", "(byte[])", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.util", "Base64", true, "encodeToString", "(byte[])", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.util", "KeyManagerUtils", false, "createClientKeyManager", "(File,String,String)", "", "Argument[2]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.util", "KeyManagerUtils", false, "createClientKeyManager", "(KeyStore,String,String)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.util", "KeyManagerUtils", false, "createClientKeyManager", "(String,File,String,String,String)", "", "Argument[3]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.util", "ListenerList", true, "addListener", "(EventListener)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net.whois", "WhoisClient", false, "getInputStream", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net.whois", "WhoisClient", false, "query", "(String)", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net", "DatagramSocketClient", true, "getLocalAddress", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net", "DatagramSocketClient", true, "setDatagramSocketFactory", "(DatagramSocketFactory)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net", "DefaultSocketFactory", true, "DefaultSocketFactory", "(Proxy)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net", "MalformedServerReplyException", true, "MalformedServerReplyException", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net", "PrintCommandListener", true, "PrintCommandListener", "(PrintWriter)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net", "PrintCommandListener", true, "PrintCommandListener", "(PrintWriter,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net", "PrintCommandListener", true, "PrintCommandListener", "(PrintWriter,boolean,char)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net", "PrintCommandListener", true, "PrintCommandListener", "(PrintWriter,boolean,char,boolean)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net", "ProtocolCommandEvent", true, "ProtocolCommandEvent", "(Object,String,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net", "ProtocolCommandEvent", true, "ProtocolCommandEvent", "(Object,String,String)", "", "Argument[1]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net", "ProtocolCommandEvent", true, "ProtocolCommandEvent", "(Object,String,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net", "ProtocolCommandEvent", true, "ProtocolCommandEvent", "(Object,int,String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net", "ProtocolCommandEvent", true, "ProtocolCommandEvent", "(Object,int,String)", "", "Argument[2]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net", "ProtocolCommandEvent", true, "getCommand", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net", "ProtocolCommandEvent", true, "getMessage", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net", "ProtocolCommandSupport", true, "ProtocolCommandSupport", "(Object)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net", "SocketClient", true, "connect", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net", "SocketClient", true, "connect", "(String,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net", "SocketClient", true, "connect", "(String,int,InetAddress,int)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net", "SocketClient", true, "getLocalAddress", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net", "SocketClient", true, "getProxy", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net", "SocketClient", true, "getRemoteAddress", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net", "SocketClient", true, "getServerSocketFactory", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - - ["org.apache.commons.net", "SocketClient", true, "setProxy", "(Proxy)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net", "SocketClient", true, "setServerSocketFactory", "(ServerSocketFactory)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["org.apache.commons.net", "SocketClient", true, "setSocketFactory", "(SocketFactory)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - addsTo: - pack: codeql/java-all - extensible: neutralModel - data: - - ["org.apache.commons.net.bsd", "RCommandClient", "connect", "(InetAddress,int,InetAddress)", "df-generated"] - - ["org.apache.commons.net.bsd", "RCommandClient", "connect", "(String,int,InetAddress)", "df-generated"] - - ["org.apache.commons.net.bsd", "RExecClient", "isRemoteVerificationEnabled", "()", "df-generated"] - - ["org.apache.commons.net.bsd", "RExecClient", "setRemoteVerificationEnabled", "(boolean)", "df-generated"] - - ["org.apache.commons.net.chargen", "CharGenUDPClient", "send", "(InetAddress)", "df-generated"] - - ["org.apache.commons.net.chargen", "CharGenUDPClient", "send", "(InetAddress,int)", "df-generated"] - - ["org.apache.commons.net.daytime", "DaytimeUDPClient", "getTime", "(InetAddress)", "df-generated"] - - ["org.apache.commons.net.daytime", "DaytimeUDPClient", "getTime", "(InetAddress,int)", "df-generated"] - - ["org.apache.commons.net.discard", "DiscardUDPClient", "send", "(byte[],InetAddress)", "df-generated"] - - ["org.apache.commons.net.discard", "DiscardUDPClient", "send", "(byte[],int,InetAddress)", "df-generated"] - - ["org.apache.commons.net.discard", "DiscardUDPClient", "send", "(byte[],int,InetAddress,int)", "df-generated"] - - ["org.apache.commons.net.echo", "EchoUDPClient", "receive", "(byte[])", "df-generated"] - - ["org.apache.commons.net.echo", "EchoUDPClient", "receive", "(byte[],int)", "df-generated"] - - ["org.apache.commons.net.examples.mail", "POP3Mail", "printMessageInfo", "(BufferedReader,int)", "df-generated"] - - ["org.apache.commons.net.examples.nntp", "NNTPUtils", "getArticleInfo", "(NNTPClient,long,long)", "df-generated"] - - ["org.apache.commons.net.examples.ntp", "NTPClient", "processResponse", "(TimeInfo)", "df-generated"] - - ["org.apache.commons.net.examples.ntp", "SimpleNTPServer", "SimpleNTPServer", "(int)", "df-generated"] - - ["org.apache.commons.net.examples.ntp", "SimpleNTPServer", "connect", "()", "df-generated"] - - ["org.apache.commons.net.examples.ntp", "SimpleNTPServer", "getPort", "()", "df-generated"] - - ["org.apache.commons.net.examples.ntp", "SimpleNTPServer", "isRunning", "()", "df-generated"] - - ["org.apache.commons.net.examples.ntp", "SimpleNTPServer", "isStarted", "()", "df-generated"] - - ["org.apache.commons.net.examples.ntp", "SimpleNTPServer", "start", "()", "df-generated"] - - ["org.apache.commons.net.examples.ntp", "SimpleNTPServer", "stop", "()", "df-generated"] - - ["org.apache.commons.net.examples.ntp", "TimeClient", "timeTCP", "(String)", "df-generated"] - - ["org.apache.commons.net.examples.ntp", "TimeClient", "timeUDP", "(String)", "df-generated"] - - ["org.apache.commons.net.examples.unix", "chargen", "chargenTCP", "(String)", "df-generated"] - - ["org.apache.commons.net.examples.unix", "chargen", "chargenUDP", "(String)", "df-generated"] - - ["org.apache.commons.net.examples.unix", "daytime", "daytimeTCP", "(String)", "df-generated"] - - ["org.apache.commons.net.examples.unix", "daytime", "daytimeUDP", "(String)", "df-generated"] - - ["org.apache.commons.net.examples.unix", "echo", "echoTCP", "(String)", "df-generated"] - - ["org.apache.commons.net.examples.unix", "echo", "echoUDP", "(String)", "df-generated"] - - ["org.apache.commons.net.examples.unix", "rdate", "timeTCP", "(String)", "df-generated"] - - ["org.apache.commons.net.examples.unix", "rdate", "timeUDP", "(String)", "df-generated"] - - ["org.apache.commons.net.examples.util", "IOUtil", "readWrite", "(InputStream,OutputStream,InputStream,OutputStream)", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "ConfigurableFTPFileEntryParserImpl", "ConfigurableFTPFileEntryParserImpl", "(String)", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "ConfigurableFTPFileEntryParserImpl", "ConfigurableFTPFileEntryParserImpl", "(String,int)", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "ConfigurableFTPFileEntryParserImpl", "getDefaultConfiguration", "()", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "ConfigurableFTPFileEntryParserImpl", "parseTimestamp", "(String)", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "DefaultFTPFileEntryParserFactory", "createMVSEntryParser", "()", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "DefaultFTPFileEntryParserFactory", "createNTFTPEntryParser", "()", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "DefaultFTPFileEntryParserFactory", "createNetwareFTPEntryParser", "()", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "DefaultFTPFileEntryParserFactory", "createOS2FTPEntryParser", "()", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "DefaultFTPFileEntryParserFactory", "createOS400FTPEntryParser", "()", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "DefaultFTPFileEntryParserFactory", "createUnixFTPEntryParser", "()", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "DefaultFTPFileEntryParserFactory", "createVMSVersioningFTPEntryParser", "()", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "FTPFileEntryParserFactory", "createFileEntryParser", "(FTPClientConfig)", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "FTPFileEntryParserFactory", "createFileEntryParser", "(String)", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "FTPTimestampParser", "parseTimestamp", "(String)", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "FTPTimestampParserImpl", "getDefaultDateFormatString", "()", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "FTPTimestampParserImpl", "getRecentDateFormatString", "()", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "MLSxEntryParser", "getInstance", "()", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "MLSxEntryParser", "parseGMTdateTime", "(String)", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "MLSxEntryParser", "parseGmtInstant", "(String)", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "MacOsPeterFTPEntryParser", "MacOsPeterFTPEntryParser", "(FTPClientConfig)", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "NTFTPEntryParser", "NTFTPEntryParser", "(FTPClientConfig)", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "NetwareFTPEntryParser", "NetwareFTPEntryParser", "(FTPClientConfig)", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "OS2FTPEntryParser", "OS2FTPEntryParser", "(FTPClientConfig)", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "OS400FTPEntryParser", "OS400FTPEntryParser", "(FTPClientConfig)", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "RegexFTPFileEntryParserImpl", "RegexFTPFileEntryParserImpl", "(String)", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "RegexFTPFileEntryParserImpl", "RegexFTPFileEntryParserImpl", "(String,int)", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "RegexFTPFileEntryParserImpl", "getGroupCnt", "()", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "RegexFTPFileEntryParserImpl", "getGroupsAsString", "()", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "RegexFTPFileEntryParserImpl", "group", "(int)", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "RegexFTPFileEntryParserImpl", "setRegex", "(String)", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "RegexFTPFileEntryParserImpl", "setRegex", "(String,int)", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "UnixFTPEntryParser", "UnixFTPEntryParser", "(FTPClientConfig)", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "UnixFTPEntryParser", "UnixFTPEntryParser", "(FTPClientConfig,boolean)", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "VMSFTPEntryParser", "VMSFTPEntryParser", "(FTPClientConfig)", "df-generated"] - - ["org.apache.commons.net.ftp.parser", "VMSVersioningFTPEntryParser", "VMSVersioningFTPEntryParser", "(FTPClientConfig)", "df-generated"] - - ["org.apache.commons.net.ftp", "Configurable", "configure", "(FTPClientConfig)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "abor", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "allo", "(int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "allo", "(int,int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "allo", "(long)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "allo", "(long,int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "cdup", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "epsv", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "feat", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "getReply", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "getReplyCode", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "help", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "isStrictMultilineParsing", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "isStrictReplyParsing", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "list", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "mlsd", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "mlst", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "mode", "(int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "nlst", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "noop", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "pasv", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "pwd", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "quit", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "rein", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "sendCommand", "(FTPCmd)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "sendCommand", "(int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "setStrictMultilineParsing", "(boolean)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "setStrictReplyParsing", "(boolean)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "stat", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "stou", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "stru", "(int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "syst", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "type", "(int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTP", "type", "(int,int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "abort", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "allocate", "(int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "allocate", "(int,int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "allocate", "(long)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "allocate", "(long,int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "changeToParentDirectory", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "completePendingCommand", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "enterLocalActiveMode", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "enterLocalPassiveMode", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "enterRemotePassiveMode", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "features", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "getAutodetectUTF8", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "getBufferSize", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "getControlKeepAliveReplyTimeout", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "getControlKeepAliveTimeout", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "getCslDebug", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "getDataConnectionMode", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "getListHiddenFiles", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "getPassivePort", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "getReceiveDataSocketBufferSize", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "getRestartOffset", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "getSendDataSocketBufferSize", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "hasFeature", "(FTPCmd)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "hasFeature", "(String)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "hasFeature", "(String,String)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "initiateMListParsing", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "isIpAddressFromPasvResponse", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "isRemoteVerificationEnabled", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "isUseEPSVwithIPv4", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "listDirectories", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "listNames", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "logout", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "mlistDir", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "reinitialize", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "remoteStoreUnique", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "sendNoOp", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "setActivePortRange", "(int,int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "setAutodetectUTF8", "(boolean)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "setBufferSize", "(int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "setControlKeepAliveReplyTimeout", "(int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "setControlKeepAliveTimeout", "(long)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "setDataTimeout", "(int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "setFileStructure", "(int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "setFileTransferMode", "(int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "setFileType", "(int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "setFileType", "(int,int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "setIpAddressFromPasvResponse", "(boolean)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "setListHiddenFiles", "(boolean)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "setPassiveNatWorkaround", "(boolean)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "setReceieveDataSocketBufferSize", "(int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "setRemoteVerificationEnabled", "(boolean)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "setRestartOffset", "(long)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "setSendDataSocketBufferSize", "(int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "setUseEPSVwithIPv4", "(boolean)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "storeUniqueFile", "(InputStream)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClient", "storeUniqueFileStream", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", "getDateFormatSymbols", "(String)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", "getSupportedLanguageCodes", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", "getUnparseableEntries", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", "isLenientFutureDates", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", "lookupDateFormatSymbols", "(String)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", "setLenientFutureDates", "(boolean)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPClientConfig", "setUnparseableEntries", "(boolean)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPCmd", "getCommand", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPCommand", "getCommand", "(int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", "getHardLinkCount", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", "getSize", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", "getTimestampInstant", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", "getType", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", "hasPermission", "(int,int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", "isDirectory", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", "isFile", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", "isSymbolicLink", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", "isUnknown", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", "isValid", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", "setHardLinkCount", "(int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", "setPermission", "(int,int,boolean)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", "setSize", "(long)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPFile", "setType", "(int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPListParseEngine", "hasNext", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPListParseEngine", "hasPrevious", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPListParseEngine", "resetIterator", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPReply", "isNegativePermanent", "(int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPReply", "isNegativeTransient", "(int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPReply", "isPositiveCompletion", "(int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPReply", "isPositiveIntermediate", "(int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPReply", "isPositivePreliminary", "(int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPReply", "isProtectedReplyCode", "(int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", "FTPSClient", "(boolean)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", "execCCC", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", "execPBSZ", "(long)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", "getEnableSessionCreation", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", "getNeedClientAuth", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", "getUseClientMode", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", "getWantClientAuth", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", "isEndpointCheckingEnabled", "()", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", "parsePBSZ", "(long)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", "setEnabledSessionCreation", "(boolean)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", "setEndpointCheckingEnabled", "(boolean)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", "setNeedClientAuth", "(boolean)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", "setUseClientMode", "(boolean)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSClient", "setWantClientAuth", "(boolean)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSCommand", "getCommand", "(int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSSocketFactory", "createServerSocket", "(int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSSocketFactory", "createServerSocket", "(int,int)", "df-generated"] - - ["org.apache.commons.net.ftp", "FTPSSocketFactory", "createServerSocket", "(int,int,InetAddress)", "df-generated"] - - ["org.apache.commons.net.imap", "AuthenticatingIMAPClient$AUTH_METHOD", "getAuthName", "()", "df-generated"] - - ["org.apache.commons.net.imap", "AuthenticatingIMAPClient", "AuthenticatingIMAPClient", "(boolean)", "df-generated"] - - ["org.apache.commons.net.imap", "IMAP", "doCommand", "(IMAPCommand)", "df-generated"] - - ["org.apache.commons.net.imap", "IMAP", "getState", "()", "df-generated"] - - ["org.apache.commons.net.imap", "IMAP", "sendCommand", "(IMAPCommand)", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", "capability", "()", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", "check", "()", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", "close", "()", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", "expunge", "()", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", "logout", "()", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPClient", "noop", "()", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPCommand", "getCommand", "(IMAPCommand)", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPCommand", "getIMAPCommand", "()", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPReply", "getReplyCode", "(String)", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPReply", "getUntaggedReplyCode", "(String)", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPReply", "isContinuation", "(String)", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPReply", "isContinuation", "(int)", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPReply", "isSuccess", "(int)", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPReply", "isUntagged", "(String)", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPReply", "literalCount", "(String)", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPSClient", "IMAPSClient", "(boolean)", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPSClient", "execTLS", "()", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPSClient", "isEndpointCheckingEnabled", "()", "df-generated"] - - ["org.apache.commons.net.imap", "IMAPSClient", "setEndpointCheckingEnabled", "(boolean)", "df-generated"] - - ["org.apache.commons.net.io", "CopyStreamAdapter", "addCopyStreamListener", "(CopyStreamListener)", "df-generated"] - - ["org.apache.commons.net.io", "CopyStreamAdapter", "removeCopyStreamListener", "(CopyStreamListener)", "df-generated"] - - ["org.apache.commons.net.io", "CopyStreamEvent", "getBytesTransferred", "()", "df-generated"] - - ["org.apache.commons.net.io", "CopyStreamEvent", "getStreamSize", "()", "df-generated"] - - ["org.apache.commons.net.io", "CopyStreamEvent", "getTotalBytesTransferred", "()", "df-generated"] - - ["org.apache.commons.net.io", "CopyStreamException", "getTotalBytesTransferred", "()", "df-generated"] - - ["org.apache.commons.net.io", "CopyStreamListener", "bytesTransferred", "(CopyStreamEvent)", "df-generated"] - - ["org.apache.commons.net.io", "CopyStreamListener", "bytesTransferred", "(long,int,long)", "df-generated"] - - ["org.apache.commons.net.io", "FromNetASCIIInputStream", "FromNetASCIIInputStream", "(InputStream)", "df-generated"] - - ["org.apache.commons.net.io", "FromNetASCIIInputStream", "isConversionRequired", "()", "df-generated"] - - ["org.apache.commons.net.io", "ToNetASCIIInputStream", "ToNetASCIIInputStream", "(InputStream)", "df-generated"] - - ["org.apache.commons.net.io", "Util", "closeQuietly", "(Closeable)", "df-generated"] - - ["org.apache.commons.net.io", "Util", "closeQuietly", "(Socket)", "df-generated"] - - ["org.apache.commons.net.nntp", "Article", "addHeaderField", "(String,String)", "df-generated"] - - ["org.apache.commons.net.nntp", "Article", "getArticleNumber", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "Article", "getArticleNumberLong", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "Article", "printThread", "(Article)", "df-generated"] - - ["org.apache.commons.net.nntp", "Article", "printThread", "(Article,PrintStream)", "df-generated"] - - ["org.apache.commons.net.nntp", "Article", "printThread", "(Article,int)", "df-generated"] - - ["org.apache.commons.net.nntp", "Article", "printThread", "(Article,int,PrintStream)", "df-generated"] - - ["org.apache.commons.net.nntp", "Article", "setArticleNumber", "(int)", "df-generated"] - - ["org.apache.commons.net.nntp", "Article", "setArticleNumber", "(long)", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", "article", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", "article", "(int)", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", "article", "(long)", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", "body", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", "body", "(int)", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", "body", "(long)", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", "getReply", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", "getReplyCode", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", "head", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", "head", "(int)", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", "head", "(long)", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", "help", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", "isAllowedToPost", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", "last", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", "list", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", "next", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", "post", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", "quit", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", "sendCommand", "(int)", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", "stat", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", "stat", "(int)", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTP", "stat", "(long)", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", "completePendingCommand", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", "iterateArticleInfo", "(long,long)", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", "iterateNewsgroups", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", "logout", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", "selectArticle", "(int)", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", "selectArticle", "(long)", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", "selectNextArticle", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPClient", "selectPreviousArticle", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPCommand", "getCommand", "(int)", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPReply", "isInformational", "(int)", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPReply", "isNegativePermanent", "(int)", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPReply", "isNegativeTransient", "(int)", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPReply", "isPositiveCompletion", "(int)", "df-generated"] - - ["org.apache.commons.net.nntp", "NNTPReply", "isPositiveIntermediate", "(int)", "df-generated"] - - ["org.apache.commons.net.nntp", "NewGroupsOrNewsQuery", "NewGroupsOrNewsQuery", "(Calendar,boolean)", "df-generated"] - - ["org.apache.commons.net.nntp", "NewGroupsOrNewsQuery", "isGMT", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "NewsgroupInfo", "getArticleCount", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "NewsgroupInfo", "getArticleCountLong", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "NewsgroupInfo", "getFirstArticle", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "NewsgroupInfo", "getFirstArticleLong", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "NewsgroupInfo", "getLastArticle", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "NewsgroupInfo", "getLastArticleLong", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "NewsgroupInfo", "getPostingPermission", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "Threadable", "isDummy", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "Threadable", "makeDummy", "()", "df-generated"] - - ["org.apache.commons.net.nntp", "Threadable", "subjectIsReply", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "NTPUDPClient", "getTime", "(InetAddress)", "df-generated"] - - ["org.apache.commons.net.ntp", "NTPUDPClient", "getTime", "(InetAddress,int)", "df-generated"] - - ["org.apache.commons.net.ntp", "NTPUDPClient", "getVersion", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "NTPUDPClient", "setVersion", "(int)", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpUtils", "getHostAddress", "(int)", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpUtils", "getModeName", "(int)", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpUtils", "getRefAddress", "(NtpV3Packet)", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpUtils", "getReferenceClock", "(NtpV3Packet)", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Impl", "toString", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "getLeapIndicator", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "getMode", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "getModeName", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "getOriginateTimeStamp", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "getPoll", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "getPrecision", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "getReceiveTimeStamp", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "getReferenceId", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "getReferenceIdString", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "getReferenceTimeStamp", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "getRootDelay", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "getRootDelayInMillisDouble", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "getRootDispersion", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "getRootDispersionInMillis", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "getRootDispersionInMillisDouble", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "getStratum", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "getTransmitTimeStamp", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "getType", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "getVersion", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "setLeapIndicator", "(int)", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "setMode", "(int)", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "setOriginateTimeStamp", "(TimeStamp)", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "setPoll", "(int)", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "setPrecision", "(int)", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "setReceiveTimeStamp", "(TimeStamp)", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "setReferenceId", "(int)", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "setReferenceTime", "(TimeStamp)", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "setRootDelay", "(int)", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "setRootDispersion", "(int)", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "setStratum", "(int)", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "setTransmitTime", "(TimeStamp)", "df-generated"] - - ["org.apache.commons.net.ntp", "NtpV3Packet", "setVersion", "(int)", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeInfo", "computeDetails", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeInfo", "getDelay", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeInfo", "getOffset", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeInfo", "getReturnTime", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeStamp", "TimeStamp", "(Date)", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeStamp", "TimeStamp", "(String)", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeStamp", "TimeStamp", "(long)", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeStamp", "getCurrentTime", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeStamp", "getDate", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeStamp", "getFraction", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeStamp", "getNtpTime", "(long)", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeStamp", "getSeconds", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeStamp", "getTime", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeStamp", "getTime", "(long)", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeStamp", "ntpValue", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeStamp", "parseNtpString", "(String)", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeStamp", "toDateString", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeStamp", "toString", "()", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeStamp", "toString", "(long)", "df-generated"] - - ["org.apache.commons.net.ntp", "TimeStamp", "toUTCString", "()", "df-generated"] - - ["org.apache.commons.net.pop3", "ExtendedPOP3Client$AUTH_METHOD", "getAuthName", "()", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3", "getAdditionalReply", "()", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3", "getState", "()", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3", "removeProtocolCommandistener", "(ProtocolCommandListener)", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3", "sendCommand", "(int)", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3", "setState", "(int)", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3Client", "capa", "()", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3Client", "deleteMessage", "(int)", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3Client", "listMessage", "(int)", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3Client", "listMessages", "()", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3Client", "listUniqueIdentifiers", "()", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3Client", "logout", "()", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3Client", "noop", "()", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3Client", "reset", "()", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3Client", "status", "()", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3Command", "getCommand", "(int)", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3MessageInfo", "POP3MessageInfo", "(int,int)", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3SClient", "POP3SClient", "(boolean)", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3SClient", "execTLS", "()", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3SClient", "isEndpointCheckingEnabled", "()", "df-generated"] - - ["org.apache.commons.net.pop3", "POP3SClient", "setEndpointCheckingEnabled", "(boolean)", "df-generated"] - - ["org.apache.commons.net.smtp", "AuthenticatingSMTPClient$AUTH_METHOD", "getAuthName", "(AUTH_METHOD)", "df-generated"] - - ["org.apache.commons.net.smtp", "AuthenticatingSMTPClient", "elogin", "()", "df-generated"] - - ["org.apache.commons.net.smtp", "AuthenticatingSMTPClient", "getEnhancedReplyCode", "()", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTP", "data", "()", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTP", "getReply", "()", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTP", "getReplyCode", "()", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTP", "help", "()", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTP", "noop", "()", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTP", "quit", "()", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTP", "removeProtocolCommandistener", "(ProtocolCommandListener)", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTP", "rset", "()", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTP", "sendCommand", "(int)", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTP", "turn", "()", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPClient", "completePendingCommand", "()", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPClient", "login", "()", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPClient", "logout", "()", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPClient", "reset", "()", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPClient", "sendNoOp", "()", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPClient", "sendShortMessageData", "(String)", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPCommand", "getCommand", "(int)", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPReply", "isNegativePermanent", "(int)", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPReply", "isNegativeTransient", "(int)", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPReply", "isPositiveCompletion", "(int)", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPReply", "isPositiveIntermediate", "(int)", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPReply", "isPositivePreliminary", "(int)", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPSClient", "SMTPSClient", "(boolean)", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPSClient", "execTLS", "()", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPSClient", "isEndpointCheckingEnabled", "()", "df-generated"] - - ["org.apache.commons.net.smtp", "SMTPSClient", "setEndpointCheckingEnabled", "(boolean)", "df-generated"] - - ["org.apache.commons.net.telnet", "EchoOptionHandler", "EchoOptionHandler", "(boolean,boolean,boolean,boolean)", "df-generated"] - - ["org.apache.commons.net.telnet", "SimpleOptionHandler", "SimpleOptionHandler", "(int)", "df-generated"] - - ["org.apache.commons.net.telnet", "SimpleOptionHandler", "SimpleOptionHandler", "(int,boolean,boolean,boolean,boolean)", "df-generated"] - - ["org.apache.commons.net.telnet", "SuppressGAOptionHandler", "SuppressGAOptionHandler", "(boolean,boolean,boolean,boolean)", "df-generated"] - - ["org.apache.commons.net.telnet", "Telnet", "deleteOptionHandler", "(int)", "df-generated"] - - ["org.apache.commons.net.telnet", "Telnet", "unregisterNotifHandler", "()", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetClient", "TelnetClient", "(int)", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetClient", "getLocalOptionState", "(int)", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetClient", "getReaderThread", "()", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetClient", "getRemoteOptionState", "(int)", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetClient", "sendAYT", "(long)", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetClient", "sendCommand", "(byte)", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetClient", "sendSubnegotiation", "(int[])", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetClient", "setReaderThread", "(boolean)", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetClient", "stopSpyStream", "()", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetClient", "unregisterInputListener", "()", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetCommand", "getCommand", "(int)", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetCommand", "isValidCommand", "(int)", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetNotificationHandler", "receivedNegotiation", "(int,int)", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetOption", "getOption", "(int)", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetOption", "isValidOption", "(int)", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetOptionHandler", "TelnetOptionHandler", "(int,boolean,boolean,boolean,boolean)", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetOptionHandler", "answerSubnegotiation", "(int[],int)", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetOptionHandler", "getAcceptLocal", "()", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetOptionHandler", "getAcceptRemote", "()", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetOptionHandler", "getInitLocal", "()", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetOptionHandler", "getInitRemote", "()", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetOptionHandler", "getOptionCode", "()", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetOptionHandler", "setAcceptLocal", "(boolean)", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetOptionHandler", "setAcceptRemote", "(boolean)", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetOptionHandler", "setInitLocal", "(boolean)", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetOptionHandler", "setInitRemote", "(boolean)", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetOptionHandler", "startSubnegotiationLocal", "()", "df-generated"] - - ["org.apache.commons.net.telnet", "TelnetOptionHandler", "startSubnegotiationRemote", "()", "df-generated"] - - ["org.apache.commons.net.telnet", "WindowSizeOptionHandler", "WindowSizeOptionHandler", "(int,int)", "df-generated"] - - ["org.apache.commons.net.telnet", "WindowSizeOptionHandler", "WindowSizeOptionHandler", "(int,int,boolean,boolean,boolean,boolean)", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTP", "beginBufferedOps", "()", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTP", "discardPackets", "()", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTP", "endBufferedOps", "()", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTP", "getModeName", "(int)", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTP", "receive", "()", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTP", "send", "(TFTPPacket)", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPAckPacket", "getBlockNumber", "()", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPAckPacket", "setBlockNumber", "(int)", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", "getMaxTimeouts", "()", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", "getTotalBytesReceived", "()", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", "getTotalBytesSent", "()", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPClient", "setMaxTimeouts", "(int)", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPDataPacket", "getBlockNumber", "()", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPDataPacket", "getDataLength", "()", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPDataPacket", "getDataOffset", "()", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPDataPacket", "setBlockNumber", "(int)", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPErrorPacket", "getError", "()", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPPacket", "getPort", "()", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPPacket", "getType", "()", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPPacket", "newDatagram", "()", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPPacket", "setPort", "(int)", "df-generated"] - - ["org.apache.commons.net.tftp", "TFTPRequestPacket", "getMode", "()", "df-generated"] - - ["org.apache.commons.net.time", "TimeTCPClient", "getDate", "()", "df-generated"] - - ["org.apache.commons.net.time", "TimeTCPClient", "getTime", "()", "df-generated"] - - ["org.apache.commons.net.time", "TimeUDPClient", "getDate", "(InetAddress)", "df-generated"] - - ["org.apache.commons.net.time", "TimeUDPClient", "getDate", "(InetAddress,int)", "df-generated"] - - ["org.apache.commons.net.time", "TimeUDPClient", "getTime", "(InetAddress)", "df-generated"] - - ["org.apache.commons.net.time", "TimeUDPClient", "getTime", "(InetAddress,int)", "df-generated"] - - ["org.apache.commons.net.util", "Base64", "Base64", "(boolean)", "df-generated"] - - ["org.apache.commons.net.util", "Base64", "Base64", "(int)", "df-generated"] - - ["org.apache.commons.net.util", "Base64", "decodeInteger", "(byte[])", "df-generated"] - - ["org.apache.commons.net.util", "Base64", "encodeInteger", "(BigInteger)", "df-generated"] - - ["org.apache.commons.net.util", "Base64", "isArrayByteBase64", "(byte[])", "df-generated"] - - ["org.apache.commons.net.util", "Base64", "isBase64", "(byte)", "df-generated"] - - ["org.apache.commons.net.util", "Base64", "isUrlSafe", "()", "df-generated"] - - ["org.apache.commons.net.util", "Charsets", "toCharset", "(String)", "df-generated"] - - ["org.apache.commons.net.util", "Charsets", "toCharset", "(String,String)", "df-generated"] - - ["org.apache.commons.net.util", "KeyManagerUtils", "createClientKeyManager", "(File,String)", "df-generated"] - - ["org.apache.commons.net.util", "ListenerList", "getListenerCount", "()", "df-generated"] - - ["org.apache.commons.net.util", "ListenerList", "removeListener", "(EventListener)", "df-generated"] - - ["org.apache.commons.net.util", "SSLContextUtils", "createSSLContext", "(String,KeyManager,TrustManager)", "df-generated"] - - ["org.apache.commons.net.util", "SSLContextUtils", "createSSLContext", "(String,KeyManager[],TrustManager[])", "df-generated"] - - ["org.apache.commons.net.util", "SSLSocketUtils", "enableEndpointNameVerification", "(SSLSocket)", "df-generated"] - - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "asInteger", "(String)", "df-generated"] - - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "getAddress", "()", "df-generated"] - - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "getAddressCount", "()", "df-generated"] - - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "getAddressCountLong", "()", "df-generated"] - - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "getAllAddresses", "()", "df-generated"] - - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "getBroadcastAddress", "()", "df-generated"] - - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "getCidrSignature", "()", "df-generated"] - - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "getHighAddress", "()", "df-generated"] - - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "getLowAddress", "()", "df-generated"] - - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "getNetmask", "()", "df-generated"] - - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "getNetworkAddress", "()", "df-generated"] - - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "getNextAddress", "()", "df-generated"] - - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "getPreviousAddress", "()", "df-generated"] - - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "isInRange", "(String)", "df-generated"] - - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "isInRange", "(int)", "df-generated"] - - ["org.apache.commons.net.util", "SubnetUtils$SubnetInfo", "toString", "()", "df-generated"] - - ["org.apache.commons.net.util", "SubnetUtils", "SubnetUtils", "(String)", "df-generated"] - - ["org.apache.commons.net.util", "SubnetUtils", "SubnetUtils", "(String,String)", "df-generated"] - - ["org.apache.commons.net.util", "SubnetUtils", "getInfo", "()", "df-generated"] - - ["org.apache.commons.net.util", "SubnetUtils", "getNext", "()", "df-generated"] - - ["org.apache.commons.net.util", "SubnetUtils", "getPrevious", "()", "df-generated"] - - ["org.apache.commons.net.util", "SubnetUtils", "isInclusiveHostCount", "()", "df-generated"] - - ["org.apache.commons.net.util", "SubnetUtils", "setInclusiveHostCount", "(boolean)", "df-generated"] - - ["org.apache.commons.net.util", "TrustManagerUtils", "getAcceptAllTrustManager", "()", "df-generated"] - - ["org.apache.commons.net.util", "TrustManagerUtils", "getDefaultTrustManager", "(KeyStore)", "df-generated"] - - ["org.apache.commons.net.util", "TrustManagerUtils", "getValidateServerCertificateTrustManager", "()", "df-generated"] - - ["org.apache.commons.net", "DatagramSocketClient", "close", "()", "df-generated"] - - ["org.apache.commons.net", "DatagramSocketClient", "getCharset", "()", "df-generated"] - - ["org.apache.commons.net", "DatagramSocketClient", "getCharsetName", "()", "df-generated"] - - ["org.apache.commons.net", "DatagramSocketClient", "getDefaultTimeout", "()", "df-generated"] - - ["org.apache.commons.net", "DatagramSocketClient", "getLocalPort", "()", "df-generated"] - - ["org.apache.commons.net", "DatagramSocketClient", "getSoTimeout", "()", "df-generated"] - - ["org.apache.commons.net", "DatagramSocketClient", "isOpen", "()", "df-generated"] - - ["org.apache.commons.net", "DatagramSocketClient", "open", "()", "df-generated"] - - ["org.apache.commons.net", "DatagramSocketClient", "open", "(int)", "df-generated"] - - ["org.apache.commons.net", "DatagramSocketClient", "open", "(int,InetAddress)", "df-generated"] - - ["org.apache.commons.net", "DatagramSocketClient", "setCharset", "(Charset)", "df-generated"] - - ["org.apache.commons.net", "DatagramSocketClient", "setDefaultTimeout", "(int)", "df-generated"] - - ["org.apache.commons.net", "DatagramSocketClient", "setSoTimeout", "(int)", "df-generated"] - - ["org.apache.commons.net", "DatagramSocketFactory", "createDatagramSocket", "()", "df-generated"] - - ["org.apache.commons.net", "DatagramSocketFactory", "createDatagramSocket", "(int)", "df-generated"] - - ["org.apache.commons.net", "DatagramSocketFactory", "createDatagramSocket", "(int,InetAddress)", "df-generated"] - - ["org.apache.commons.net", "DefaultSocketFactory", "createServerSocket", "(int)", "df-generated"] - - ["org.apache.commons.net", "DefaultSocketFactory", "createServerSocket", "(int,int)", "df-generated"] - - ["org.apache.commons.net", "DefaultSocketFactory", "createServerSocket", "(int,int,InetAddress)", "df-generated"] - - ["org.apache.commons.net", "PrintCommandListener", "PrintCommandListener", "(PrintStream)", "df-generated"] - - ["org.apache.commons.net", "PrintCommandListener", "PrintCommandListener", "(PrintStream,boolean)", "df-generated"] - - ["org.apache.commons.net", "PrintCommandListener", "PrintCommandListener", "(PrintStream,boolean,char)", "df-generated"] - - ["org.apache.commons.net", "PrintCommandListener", "PrintCommandListener", "(PrintStream,boolean,char,boolean)", "df-generated"] - - ["org.apache.commons.net", "ProtocolCommandEvent", "getReplyCode", "()", "df-generated"] - - ["org.apache.commons.net", "ProtocolCommandEvent", "isCommand", "()", "df-generated"] - - ["org.apache.commons.net", "ProtocolCommandEvent", "isReply", "()", "df-generated"] - - ["org.apache.commons.net", "ProtocolCommandListener", "protocolCommandSent", "(ProtocolCommandEvent)", "df-generated"] - - ["org.apache.commons.net", "ProtocolCommandListener", "protocolReplyReceived", "(ProtocolCommandEvent)", "df-generated"] - - ["org.apache.commons.net", "ProtocolCommandSupport", "addProtocolCommandListener", "(ProtocolCommandListener)", "df-generated"] - - ["org.apache.commons.net", "ProtocolCommandSupport", "fireCommandSent", "(String,String)", "df-generated"] - - ["org.apache.commons.net", "ProtocolCommandSupport", "fireReplyReceived", "(int,String)", "df-generated"] - - ["org.apache.commons.net", "ProtocolCommandSupport", "getListenerCount", "()", "df-generated"] - - ["org.apache.commons.net", "ProtocolCommandSupport", "removeProtocolCommandListener", "(ProtocolCommandListener)", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "addProtocolCommandListener", "(ProtocolCommandListener)", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "connect", "(InetAddress)", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "connect", "(InetAddress,int)", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "connect", "(InetAddress,int,InetAddress,int)", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "connect", "(String,int)", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "disconnect", "()", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "getCharset", "()", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "getCharsetName", "()", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "getConnectTimeout", "()", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "getDefaultPort", "()", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "getDefaultTimeout", "()", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "getKeepAlive", "()", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "getLocalPort", "()", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "getRemotePort", "()", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "getSoLinger", "()", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "getSoTimeout", "()", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "getTcpNoDelay", "()", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "isAvailable", "()", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "isConnected", "()", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "removeProtocolCommandListener", "(ProtocolCommandListener)", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "setCharset", "(Charset)", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "setConnectTimeout", "(int)", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "setDefaultPort", "(int)", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "setDefaultTimeout", "(int)", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "setKeepAlive", "(boolean)", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "setReceiveBufferSize", "(int)", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "setSendBufferSize", "(int)", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "setSoLinger", "(boolean,int)", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "setSoTimeout", "(int)", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "setTcpNoDelay", "(boolean)", "df-generated"] - - ["org.apache.commons.net", "SocketClient", "verifyRemote", "(Socket)", "df-generated"] From 68c16c4b34336312bd329d84ced044798c5d0ef2 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 10 May 2023 11:02:49 +0100 Subject: [PATCH 40/54] Swift: Update extractors.rst --- docs/codeql/reusables/extractors.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/codeql/reusables/extractors.rst b/docs/codeql/reusables/extractors.rst index 606c57d0208..bfcd7571cb7 100644 --- a/docs/codeql/reusables/extractors.rst +++ b/docs/codeql/reusables/extractors.rst @@ -17,4 +17,6 @@ * - Python - ``python`` * - Ruby - - ``ruby`` \ No newline at end of file + - ``ruby`` + * - Swift + - ``swift`` \ No newline at end of file From 9d7ba3a87681d0a7432ce1aec06351b7cf23f788 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 10 May 2023 11:04:08 +0100 Subject: [PATCH 41/54] Swift: Add footnote in supported-versions-compilers.rst --- docs/codeql/reusables/supported-versions-compilers.rst | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/codeql/reusables/supported-versions-compilers.rst b/docs/codeql/reusables/supported-versions-compilers.rst index 34d02f23fd7..815fb6642b6 100644 --- a/docs/codeql/reusables/supported-versions-compilers.rst +++ b/docs/codeql/reusables/supported-versions-compilers.rst @@ -24,8 +24,8 @@ JavaScript,ECMAScript 2022 or lower,Not applicable,"``.js``, ``.jsx``, ``.mjs``, ``.es``, ``.es6``, ``.htm``, ``.html``, ``.xhtm``, ``.xhtml``, ``.vue``, ``.hbs``, ``.ejs``, ``.njk``, ``.json``, ``.yaml``, ``.yml``, ``.raml``, ``.xml`` [7]_" Python [8]_,"2.7, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11",Not applicable,``.py`` Ruby [9]_,"up to 3.2",Not applicable,"``.rb``, ``.erb``, ``.gemspec``, ``Gemfile``" - Swift,"Swift 5.4-5.7","Swift compiler","``.swift``" - TypeScript [10]_,"2.6-5.0",Standard TypeScript compiler,"``.ts``, ``.tsx``, ``.mts``, ``.cts``" + Swift [10]_,"Swift 5.4-5.7","Swift compiler","``.swift``" + TypeScript [11]_,"2.6-5.0",Standard TypeScript compiler,"``.ts``, ``.tsx``, ``.mts``, ``.cts``" .. container:: footnote-group @@ -38,4 +38,5 @@ .. [7] JSX and Flow code, YAML, JSON, HTML, and XML files may also be analyzed with JavaScript files. .. [8] The extractor requires Python 3 to run. To analyze Python 2.7 you should install both versions of Python. .. [9] Requires glibc 2.17. - .. [10] TypeScript analysis is performed by running the JavaScript extractor with TypeScript enabled. This is the default. + .. [10] Swift support is currently in beta. Windows is not supported. Linux support is partial (currently only works with Swift 5.7.3). + .. [11] TypeScript analysis is performed by running the JavaScript extractor with TypeScript enabled. This is the default. From e6baf66433dc4aace447785d15e35ed9e289377a Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 10 May 2023 10:28:51 +0100 Subject: [PATCH 42/54] Swift: Delete TODOs (moved to issues). --- .../swift/frameworks/StandardLibrary/CustomUrlSchemes.qll | 5 ----- 1 file changed, 5 deletions(-) diff --git a/swift/ql/lib/codeql/swift/frameworks/StandardLibrary/CustomUrlSchemes.qll b/swift/ql/lib/codeql/swift/frameworks/StandardLibrary/CustomUrlSchemes.qll index 10460686b4a..dafcba01c37 100644 --- a/swift/ql/lib/codeql/swift/frameworks/StandardLibrary/CustomUrlSchemes.qll +++ b/swift/ql/lib/codeql/swift/frameworks/StandardLibrary/CustomUrlSchemes.qll @@ -19,10 +19,6 @@ private class CustomUrlRemoteFlowSource extends SourceModelCsv { ";UIApplicationDelegate;true;application(_:open:options:);;;Parameter[1];remote", ";UIApplicationDelegate;true;application(_:handleOpen:);;;Parameter[1];remote", ";UIApplicationDelegate;true;application(_:open:sourceApplication:annotation:);;;Parameter[1];remote", - // TODO 1: The actual source is the value of `UIApplication.LaunchOptionsKey.url` in the launchOptions dictionary. - // Use dictionary value contents when available. - // ";UIApplicationDelegate;true;application(_:didFinishLaunchingWithOptions:);;;Parameter[1].MapValue;remote", - // ";UIApplicationDelegate;true;application(_:willFinishLaunchingWithOptions:);;;Parameter[1].MapValue;remote" ";UISceneDelegate;true;scene(_:continue:);;;Parameter[1];remote", ";UISceneDelegate;true;scene(_:didUpdate:);;;Parameter[1];remote", ";UISceneDelegate;true;scene(_:openURLContexts:);;;Parameter[1];remote", @@ -36,7 +32,6 @@ private class CustomUrlRemoteFlowSource extends SourceModelCsv { * `UIApplicationDelegate.application(_:didFinishLaunchingWithOptions:)` or * `UIApplicationDelegate.application(_:willFinishLaunchingWithOptions:)`. */ -// This is a temporary workaround until the TODO 1 above is addressed. private class UrlLaunchOptionsRemoteFlowSource extends RemoteFlowSource { UrlLaunchOptionsRemoteFlowSource() { exists(ApplicationWithLaunchOptionsFunc f, SubscriptExpr e | From beb3759de42e514138a7e81b0fc96688237906f5 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 10 May 2023 11:28:36 +0100 Subject: [PATCH 43/54] Swift: Add beta note to these docs. --- .../codeql-language-guides/analyzing-data-flow-in-swift.rst | 2 ++ .../codeql-language-guides/basic-query-for-swift-code.rst | 1 + docs/codeql/codeql-language-guides/codeql-for-swift.rst | 2 ++ docs/codeql/query-help/index.rst | 1 + docs/codeql/reusables/swift-beta-note.rst | 4 ++++ 5 files changed, 10 insertions(+) create mode 100644 docs/codeql/reusables/swift-beta-note.rst diff --git a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst index feefa669732..19c98edda52 100644 --- a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst +++ b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst @@ -5,6 +5,8 @@ Analyzing data flow in Swift You can use CodeQL to track the flow of data through a Swift program to places where the data is used. +.. include:: ../reusables/swift-beta-note.rst + About this article ------------------ diff --git a/docs/codeql/codeql-language-guides/basic-query-for-swift-code.rst b/docs/codeql/codeql-language-guides/basic-query-for-swift-code.rst index 9e146513a20..fdaa1ec6290 100644 --- a/docs/codeql/codeql-language-guides/basic-query-for-swift-code.rst +++ b/docs/codeql/codeql-language-guides/basic-query-for-swift-code.rst @@ -5,6 +5,7 @@ Basic query for Swift code Learn to write and run a simple CodeQL query using Visual Studio Code with the CodeQL extension. +.. include:: ../reusables/swift-beta-note.rst .. include:: ../reusables/vs-code-basic-instructions/setup-to-run-queries.rst About the query diff --git a/docs/codeql/codeql-language-guides/codeql-for-swift.rst b/docs/codeql/codeql-language-guides/codeql-for-swift.rst index 5d05739829f..132ab004d6f 100644 --- a/docs/codeql/codeql-language-guides/codeql-for-swift.rst +++ b/docs/codeql/codeql-language-guides/codeql-for-swift.rst @@ -5,6 +5,8 @@ CodeQL for Swift Experiment and learn how to write effective and efficient queries for CodeQL databases generated from Swift codebases. +.. include:: ../reusables/swift-beta-note.rst + .. toctree:: :hidden: diff --git a/docs/codeql/query-help/index.rst b/docs/codeql/query-help/index.rst index 6dad02ce2b1..99381e389d1 100644 --- a/docs/codeql/query-help/index.rst +++ b/docs/codeql/query-help/index.rst @@ -12,6 +12,7 @@ View the query help for the queries included in the ``code-scanning``, ``securit - :doc:`CodeQL query help for Ruby ` .. include:: ../reusables/kotlin-beta-note.rst +.. include:: ../reusables/swift-beta-note.rst .. pull-quote:: Information diff --git a/docs/codeql/reusables/swift-beta-note.rst b/docs/codeql/reusables/swift-beta-note.rst new file mode 100644 index 00000000000..27336683340 --- /dev/null +++ b/docs/codeql/reusables/swift-beta-note.rst @@ -0,0 +1,4 @@ + .. pull-quote:: Note + + CodeQL analysis for Swift is currently in beta. During the beta, analysis of Swift code, + and the accompanying documentation, will not be as comprehensive as for other languages. \ No newline at end of file From 5b45962dff4ce72c04276172cf35a3a9fa1b5935 Mon Sep 17 00:00:00 2001 From: Kasper Svendsen Date: Tue, 9 May 2023 13:16:32 +0200 Subject: [PATCH 44/54] C++: Make implicit this receiver explicit --- .../member_function_this_type.ql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/ql/lib/upgrades/282c13bfdbcbd57a887972b47a471342a4ad5507/member_function_this_type.ql b/cpp/ql/lib/upgrades/282c13bfdbcbd57a887972b47a471342a4ad5507/member_function_this_type.ql index 2e99f1ed5f0..4b10d3627c1 100644 --- a/cpp/ql/lib/upgrades/282c13bfdbcbd57a887972b47a471342a4ad5507/member_function_this_type.ql +++ b/cpp/ql/lib/upgrades/282c13bfdbcbd57a887972b47a471342a4ad5507/member_function_this_type.ql @@ -24,7 +24,7 @@ class ClassPointerType extends @derivedtype { Class getBaseType() { derivedtypes(this, _, _, result) } - string toString() { result = getBaseType().toString() + "*" } + string toString() { result = this.getBaseType().toString() + "*" } } class DefinedMemberFunction extends @function { From 29f542b015bd3cb8c56d98a2c825283f902fd6dd Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 10 May 2023 12:55:18 +0100 Subject: [PATCH 45/54] Swift: Add a link to the swift-beta-note.rst from supported-frameworks.rst. --- docs/codeql/reusables/supported-frameworks.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/codeql/reusables/supported-frameworks.rst b/docs/codeql/reusables/supported-frameworks.rst index 6981bb35ed5..520969d51c8 100644 --- a/docs/codeql/reusables/supported-frameworks.rst +++ b/docs/codeql/reusables/supported-frameworks.rst @@ -282,6 +282,8 @@ and the CodeQL library pack ``codeql/ruby-all`` (`changelog `__, `source `__) and the CodeQL library pack ``codeql/swift-all`` (`changelog `__, `source `__). From f8b3968b38c344d6940f5b5ff79cf0a77ad1e39c Mon Sep 17 00:00:00 2001 From: Kasper Svendsen Date: Wed, 10 May 2023 14:16:50 +0200 Subject: [PATCH 46/54] C++: Make implicit this receivers explicit --- .../code/cpp/controlflow/StackVariableReachability.qll | 6 +++--- .../new/internal/semantic/analysis/RangeAnalysisStage.qll | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cpp/ql/lib/semmle/code/cpp/controlflow/StackVariableReachability.qll b/cpp/ql/lib/semmle/code/cpp/controlflow/StackVariableReachability.qll index 3af5f2dbf0c..9fa5c57ef12 100644 --- a/cpp/ql/lib/semmle/code/cpp/controlflow/StackVariableReachability.qll +++ b/cpp/ql/lib/semmle/code/cpp/controlflow/StackVariableReachability.qll @@ -25,7 +25,7 @@ import cpp */ abstract class StackVariableReachability extends string { bindingset[this] - StackVariableReachability() { length() >= 0 } + StackVariableReachability() { this.length() >= 0 } /** Holds if `node` is a source for the reachability analysis using variable `v`. */ abstract predicate isSource(ControlFlowNode node, StackVariable v); @@ -227,7 +227,7 @@ predicate bbSuccessorEntryReachesLoopInvariant( */ abstract class StackVariableReachabilityWithReassignment extends StackVariableReachability { bindingset[this] - StackVariableReachabilityWithReassignment() { length() >= 0 } + StackVariableReachabilityWithReassignment() { this.length() >= 0 } /** Override this predicate rather than `isSource` (`isSource` is used internally). */ abstract predicate isSourceActual(ControlFlowNode node, StackVariable v); @@ -330,7 +330,7 @@ abstract class StackVariableReachabilityWithReassignment extends StackVariableRe */ abstract class StackVariableReachabilityExt extends string { bindingset[this] - StackVariableReachabilityExt() { length() >= 0 } + StackVariableReachabilityExt() { this.length() >= 0 } /** `node` is a source for the reachability analysis using variable `v`. */ abstract predicate isSource(ControlFlowNode node, StackVariable v); diff --git a/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/analysis/RangeAnalysisStage.qll b/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/analysis/RangeAnalysisStage.qll index cbccb4a6ca8..58c6e62fe2e 100644 --- a/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/analysis/RangeAnalysisStage.qll +++ b/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/analysis/RangeAnalysisStage.qll @@ -277,7 +277,7 @@ module RangeStage< */ private class SafeCastExpr extends ConvertOrBoxExpr { SafeCastExpr() { - conversionCannotOverflow(getTrackedType(pragma[only_bind_into](getOperand())), + conversionCannotOverflow(getTrackedType(pragma[only_bind_into](this.getOperand())), pragma[only_bind_out](getTrackedType(this))) } } From 8410eb3477a79a1dae54ae7fad13e1684a939cbd Mon Sep 17 00:00:00 2001 From: Kasper Svendsen Date: Wed, 10 May 2023 13:27:21 +0200 Subject: [PATCH 47/54] C++: Enable implicit this warnings --- cpp/ql/lib/qlpack.yml | 1 + cpp/ql/src/qlpack.yml | 1 + cpp/ql/test/qlpack.yml | 1 + 3 files changed, 3 insertions(+) diff --git a/cpp/ql/lib/qlpack.yml b/cpp/ql/lib/qlpack.yml index 2c84e013333..3f6482c1ebe 100644 --- a/cpp/ql/lib/qlpack.yml +++ b/cpp/ql/lib/qlpack.yml @@ -9,3 +9,4 @@ dependencies: codeql/ssa: ${workspace} codeql/tutorial: ${workspace} codeql/util: ${workspace} +warnOnImplicitThis: true diff --git a/cpp/ql/src/qlpack.yml b/cpp/ql/src/qlpack.yml index 3718b83cb14..4df58a2da69 100644 --- a/cpp/ql/src/qlpack.yml +++ b/cpp/ql/src/qlpack.yml @@ -10,3 +10,4 @@ dependencies: suites: codeql-suites extractor: cpp defaultSuiteFile: codeql-suites/cpp-code-scanning.qls +warnOnImplicitThis: true diff --git a/cpp/ql/test/qlpack.yml b/cpp/ql/test/qlpack.yml index 34c48f7029b..6ee37c09b64 100644 --- a/cpp/ql/test/qlpack.yml +++ b/cpp/ql/test/qlpack.yml @@ -5,3 +5,4 @@ dependencies: codeql/cpp-queries: ${workspace} extractor: cpp tests: . +warnOnImplicitThis: true From 4dcd3bec117bb81274f7e153e04c2120579cfd46 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 10 May 2023 14:47:44 +0100 Subject: [PATCH 48/54] Swift: Delete TODOs (move to issues). --- .../dataflow/internal/FlowSummaryImplSpecific.qll | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/swift/ql/lib/codeql/swift/dataflow/internal/FlowSummaryImplSpecific.qll b/swift/ql/lib/codeql/swift/dataflow/internal/FlowSummaryImplSpecific.qll index 1c584b24071..e13636a911e 100644 --- a/swift/ql/lib/codeql/swift/dataflow/internal/FlowSummaryImplSpecific.qll +++ b/swift/ql/lib/codeql/swift/dataflow/internal/FlowSummaryImplSpecific.qll @@ -31,25 +31,19 @@ DataFlowType getContentType(ContentSet c) { any() } /** Gets the return type of kind `rk` for callable `c`. */ bindingset[c] -DataFlowType getReturnType(SummarizedCallable c, ReturnKind rk) { - any() // TODO once we have type pruning -} +DataFlowType getReturnType(SummarizedCallable c, ReturnKind rk) { any() } /** * Gets the type of the parameter matching arguments at position `pos` in a * synthesized call that targets a callback of type `t`. */ -DataFlowType getCallbackParameterType(DataFlowType t, ArgumentPosition pos) { - any() // TODO once we have type pruning -} +DataFlowType getCallbackParameterType(DataFlowType t, ArgumentPosition pos) { any() } /** * Gets the return type of kind `rk` in a synthesized call that targets a * callback of type `t`. */ -DataFlowType getCallbackReturnType(DataFlowType t, ReturnKind rk) { - any() // TODO once we have type pruning -} +DataFlowType getCallbackReturnType(DataFlowType t, ReturnKind rk) { any() } /** Gets the type of synthetic global `sg`. */ DataFlowType getSyntheticGlobalType(SummaryComponent::SyntheticGlobal sg) { any() } From bbe5f5e0f069f99cc67c7db41a6787e362409109 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 10 May 2023 14:49:22 +0100 Subject: [PATCH 49/54] Swift: HACK -> TODO. --- .../ql/lib/codeql/swift/dataflow/internal/DataFlowPrivate.qll | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowPrivate.qll b/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowPrivate.qll index 3259bc3099e..37a260d21bb 100644 --- a/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowPrivate.qll +++ b/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowPrivate.qll @@ -683,14 +683,14 @@ predicate storeStep(Node node1, ContentSet c, Node node2) { // i.e. from `f(x)` where `x: T` into `f(.some(x))` where the context `f` expects a `T?`. exists(InjectIntoOptionalExpr e | e.convertsFrom(node1.asExpr()) and - node2 = node1 and // HACK: we should ideally have a separate Node case for the (hidden) InjectIntoOptionalExpr + node2 = node1 and // TODO: we should ideally have a separate Node case for the (hidden) InjectIntoOptionalExpr c instanceof OptionalSomeContentSet ) or // creation of an optional by returning from a failable initializer (`init?`) exists(Initializer init | node1.asExpr().(CallExpr).getStaticTarget() = init and - node2 = node1 and // HACK: again, we should ideally have a separate Node case here, and not reuse the CallExpr + node2 = node1 and // TODO: again, we should ideally have a separate Node case here, and not reuse the CallExpr c instanceof OptionalSomeContentSet and init.isFailable() ) From e120e849330184df0126f5dc22dd3aa399309890 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 10 May 2023 14:59:23 +0100 Subject: [PATCH 50/54] Swift: Delete TODOs (move to issues). --- .../ql/lib/codeql/swift/dataflow/internal/DataFlowDispatch.qll | 3 --- .../ql/lib/codeql/swift/dataflow/internal/DataFlowPrivate.qll | 3 --- 2 files changed, 6 deletions(-) diff --git a/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowDispatch.qll b/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowDispatch.qll index 5263ec99be2..4fc1b70b9a0 100644 --- a/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowDispatch.qll +++ b/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowDispatch.qll @@ -215,9 +215,6 @@ class PropertyObserverCall extends DataFlowCall, TPropertyObserverCall { i = -1 and result = observer.getBase() or - // TODO: This is correct for `willSet` (which takes a `newValue` parameter), - // but for `didSet` (which takes an `oldValue` parameter) we need an rvalue - // for `getBase()`. i = 0 and result = observer.getSource() } diff --git a/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowPrivate.qll b/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowPrivate.qll index 37a260d21bb..7b2bc359c9a 100644 --- a/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowPrivate.qll +++ b/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowPrivate.qll @@ -433,8 +433,6 @@ private module ArgumentNodes { ObserverArgumentNode() { observer.getBase() = this.getCfgNode() or - // TODO: This should be an rvalue representing the `getBase` when - // `observer` a `didSet` observer. observer.getSource() = this.getCfgNode() } @@ -444,7 +442,6 @@ private module ArgumentNodes { pos = TThisArgument() and observer.getBase() = this.getCfgNode() or - // TODO: See the comment above for `didSet` observers. pos.(PositionalArgumentPosition).getIndex() = 0 and observer.getSource() = this.getCfgNode() ) From 49da113b10e307b37f42f0df0dd6f0c99a432359 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 10 May 2023 15:06:39 +0100 Subject: [PATCH 51/54] Swift: Delete unwanted TODO comment. --- swift/ql/lib/codeql/swift/dataflow/Ssa.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swift/ql/lib/codeql/swift/dataflow/Ssa.qll b/swift/ql/lib/codeql/swift/dataflow/Ssa.qll index 055deaa7009..ab4d4c21336 100644 --- a/swift/ql/lib/codeql/swift/dataflow/Ssa.qll +++ b/swift/ql/lib/codeql/swift/dataflow/Ssa.qll @@ -185,7 +185,7 @@ module Ssa { cached predicate assigns(CfgNode value) { exists( - AssignExpr a, SsaInput::BasicBlock bb, int i // TODO: use CFG node for assignment expr + AssignExpr a, SsaInput::BasicBlock bb, int i | this.definesAt(_, bb, i) and a = bb.getNode(i).getNode().asAstNode() and From 1820d36a4e311858c81b167c7d8a6e8eb5d05483 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 10 May 2023 15:36:16 +0100 Subject: [PATCH 52/54] Swift: Autoformat. --- swift/ql/lib/codeql/swift/dataflow/Ssa.qll | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/swift/ql/lib/codeql/swift/dataflow/Ssa.qll b/swift/ql/lib/codeql/swift/dataflow/Ssa.qll index ab4d4c21336..ffe86b34cbe 100644 --- a/swift/ql/lib/codeql/swift/dataflow/Ssa.qll +++ b/swift/ql/lib/codeql/swift/dataflow/Ssa.qll @@ -184,9 +184,7 @@ module Ssa { */ cached predicate assigns(CfgNode value) { - exists( - AssignExpr a, SsaInput::BasicBlock bb, int i - | + exists(AssignExpr a, SsaInput::BasicBlock bb, int i | this.definesAt(_, bb, i) and a = bb.getNode(i).getNode().asAstNode() and value.getNode().asAstNode() = a.getSource() From f02c1edb148304ea9ab920be6153938c5c7368f1 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 10 May 2023 15:40:52 +0100 Subject: [PATCH 53/54] Update docs/codeql/reusables/supported-versions-compilers.rst Co-authored-by: Felicity Chapman --- docs/codeql/reusables/supported-versions-compilers.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/codeql/reusables/supported-versions-compilers.rst b/docs/codeql/reusables/supported-versions-compilers.rst index 815fb6642b6..4e43433ced7 100644 --- a/docs/codeql/reusables/supported-versions-compilers.rst +++ b/docs/codeql/reusables/supported-versions-compilers.rst @@ -38,5 +38,5 @@ .. [7] JSX and Flow code, YAML, JSON, HTML, and XML files may also be analyzed with JavaScript files. .. [8] The extractor requires Python 3 to run. To analyze Python 2.7 you should install both versions of Python. .. [9] Requires glibc 2.17. - .. [10] Swift support is currently in beta. Windows is not supported. Linux support is partial (currently only works with Swift 5.7.3). + .. [10] Swift support is currently in beta. Support for the analysis of Swift 5.4-5.7 requires macOS. Swift 5.7.3 can also be analyzed using Linux. .. [11] TypeScript analysis is performed by running the JavaScript extractor with TypeScript enabled. This is the default. From c92e8dc92fbb6bbdb7cab8d5fb5a589e27454627 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Wed, 10 May 2023 17:54:12 +0100 Subject: [PATCH 54/54] Apply suggestions from code review Co-authored-by: Felicity Chapman --- .../analyzing-data-flow-in-swift.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst index 19c98edda52..9de7d620abf 100644 --- a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst +++ b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-swift.rst @@ -29,12 +29,12 @@ The ``Node`` class has a number of useful subclasses, such as ``ExprNode`` for e class Node { /** - * Gets this node's underlying expression, if any. + * Gets the expression that corresponds to this node, if any. */ Expr asExpr() { ... } /** - * Gets this data flow node's corresponding control flow node. + * Gets the control flow node that corresponds to this data flow node. */ ControlFlowNode getCfgNode() { ... } @@ -203,7 +203,7 @@ Using global taint tracking Global taint tracking is to global data flow what local taint tracking is to local data flow. That is, global taint tracking extends global data flow with additional non-value-preserving steps. -The global taint tracking library uses the same configuration module as the global data flow library but taint flow analysis is performed with ``TaintTracking::Global``: +The global taint tracking library uses the same configuration module as the global data flow library. You can perform taint flow analysis using ``TaintTracking::Global``: .. code-block:: ql @@ -216,7 +216,7 @@ The global taint tracking library uses the same configuration module as the glob Predefined sources ~~~~~~~~~~~~~~~~~~ -The data flow library module ``codeql.swift.dataflow.FlowSources`` contains a number of predefined sources, providing a good starting point for defining data flow and taint flow based security queries. +The data flow library module ``codeql.swift.dataflow.FlowSources`` contains a number of predefined sources that you can use to write security queries to track data flow and taint flow. - The class ``RemoteFlowSource`` represents data flow from remote network inputs and from other applications. - The class ``LocalFlowSource`` represents data flow from local user input. @@ -229,7 +229,7 @@ The following global taint-tracking query finds places where a string literal is - Since this is a taint-tracking query, the ``TaintTracking::Global`` module is used. - The ``isSource`` predicate defines sources as any ``StringLiteralExpr``. - The ``isSink`` predicate defines sinks as arguments to a ``CallExpr`` called "password". - - The sources and sinks may need tuning to a particular use, for example if passwords are represented by a type other than ``String`` or passed in arguments of a different name than "password". + - The sources and sinks may need tuning to a particular use, for example, if passwords are represented by a type other than ``String`` or passed in arguments of a different name than "password". .. code-block:: ql